TVVELUZyb250ZW5kIGdlc3VjaHQgKEJsb29keWhhcnJ5LCAxNi4gTWFpIDE5OTUsIDEzOjE3OjQ1KToKSGFsbG8gYWxsLmFsbCEKCkdpYnQgZXMgZnVlciBBdGFyaSBTVCBvZGVyIFBDIChWR0EpIGVpbiBNVUQtRnJvbnRlbmQgKHNwKSwgZGVyIG1laHIKTW9lZ2xpY2hrZWl0ZW4gbGVpc3RldCBhbHMgZWluIHJlaW5lcyBUZXJtaW5hbHByb2csIHdpZSB6Qi4gVGVsaXggb2RlcgpDb25uZWN0PwpCZXNvbmRlcnMgd3VlbnNjaGUgaWNoIG1pciwgZGFzcyBtYW4gTWVocnplaWxlbi1NYWtyb3MgZGVmaW5pZXJlbiBrYW5uLgpPZGVyIGdpYnQgZXMgZ2FyIGVpbiBQcm9nIGluIChuKWN1cnNlcyBmdWVyIHZlcnNjaGllZGVuZSBTeXN0ZW1lPwoKY2lhbywgQmxvb2R5IEhhcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWluIE1vbml0b3IgaXN0IGhpbiAoQ2F0d2VhemxlLCAxNy4gTWFpIDE5OTUsIDEzOjMyOjI3KToKSGF0IHdlciBuZW4gMTUnJyBvZGVyIDE3JycgZnVlciBtaWNoIHVlYmVyPwpOYWNoIE1vZWdsaWNoa2VpdCB1bnRlciAzMDAgYnp3LiA2MDAgRE0KCllUCiAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9kZW0gZ2VzdWNodCAoU2lyLCAxNy4gTWFpIDE5OTUsIDIxOjUzOjM1KToKSGksCgprdXJ6IGdlc2FndCBpc3QgbWlyIG1laW4gYWx0ZXMgTW9kZW0genUgbGFobS4gRGFoZXIgc3VjaGUgaWNoCkVtcGZlaGx1bmdlbiBmdWVyIGVpbiBuZXVlcywgc28gYmlzIDE5MjAwIG9kZXIgMjgsIHdlbm4ncyBuaWNodCB6dQp0ZXVlciBpc3QgLi4uCgpBY2ggamEsIGF1ZiBaWkYga2FubiBpY2ggenVyIE5vdCB2ZXJ6aWNodGVuIDopCgpNZkcKU2lyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYXhwcm9ncmFtbSBmdWVyIE5UIChCaW5nLCAyMy4gTWFpIDE5OTUsIDE3OjI5OjQ5KToKSWNoIHN1Y2hlIGVpbiBGYXhwcm9ncmFtbSBmdWVyIE5ULiBLYW5uIHJ1aGlnIFBEIHNlaW4uIFdlciBlaW5lcyBrZW5udCAoYWJlcgpuaWNodCBmYXhzcnYgb2RlciB0Y2ZheCkgbWFpbHQgbWljaCBiaXR0ZSBhbiB1bmQgdGVpbHQgbWlyIGRlbiBzZXJ2ZXIgbWl0LCB3bwppY2ggZXMgbWlyIHJ1bnRlcnplaWhlbiBrYW5uLgpEYW5rZSBmdWVyIGV2ZW50dWVsbGUgSGlsZmUuCk1pdCBmcmV1bmRsaWNoZW4gR3J1ZXNzZW4gQmluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VuIGdlc3VjaHQhIChSYXR6LCAyOC4gTWFpIDE5OTUsIDAwOjM2OjA5KToKU3VjaGUgZnVlciBLb2xsZWdlbiBlaW5lIGtsZWluZSBTdW4uCk1vbml0b3IgdW5kIEZlc3RwbGF0dGUgbmljaHQgbm90d2VuZGlnLgpFaW4gR2VoYWV1c2Ugd2FlcmUgbmljaHQgc2NobGVjaHQuCkFuZ2Vib3RlIGJpdHRlIHBlciBtdWRtYWlsIGFuIG1pY2guCkljaCBkYW5rZSBmdWVyIElocmUgQXVmbWVya3NhbWtlaXQuClJhdHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbmRvb2YgJiBDby4gKEN1Y2h1bGxpbiwgIDcuIEp1biAxOTk1LCAxNDowODoxMCk6CgpIQUJFOgogICAgIExvZ2l0ZWNoIE1vdXNlICAodG9sbGVzIFRlaWwsIGVpbmZhY2gga2xhc3NlKQogICAgIFByb2JsZW0gbWl0IE1TLVdpbmRvd3MgMy4xLzMuMTEgOiBMb2dpdGVjaCAodW5kIE1pY3Jvc2Nocm9mdCkgRHJpdmVyCiAgICAgIHZlcnNhZ2VuIGlocmVuIERpZW5zdCAtPiBLZWluZSBNYXVzLgoKU1VDSEU6CiAgICBEYSBkaWUgTWF1cyB2b2VsbGlnIGluIE9yZG51bmcgaXN0IChnZXRlc3RldCEpIGJyYXVjaGUgaWNoIHZvbgogICAgaXJnZW5kd29oZXIgd29obCBlaW5lbiBPRU0tVHJlaWJlciBmdWVyIGRpZXNlIGJsb2VkZSBNYXVzLiBIYWVuZGxlcgogICAgbWVpbnQ6IFVtaG9lcmVuLiBNb2VjaHRlIGljaCBoaWVybWl0IGdldGFuIGhhYmVuLiBGdWVyIGhpbGZyZWljaGUKICAgIEhpbndlaXNlIHdpcmQgZWluZSBCZWxvaG51bmcgaW4gRm9ybSBlaW5lcyBoZXJ6bGljaGVuICJEYW5rZSIncwogICAgYXVzZ2VzZXR6dC4KCkVSV0FFSE5FIE5PQ0hNQUw6CiAgICBEaWUgU3RhbmRhcmQtVHJlaWJlciB2b24gV2luZG9vZiB0dW4gZXMgREVGSU5JVElWIE5JQ0hULiBTYWd0IHdpZWRlcgogICAgYWxsZXMsIG5lPwoKCkN1Y2h1bGxpbiAoZmFlbmd0IE1hZXVzZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5kb29mICYgQ28uIChMZWNodWNrLCAgNy4gSnVuIDE5OTUsIDE0OjE0OjI1KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgwMjUyNjg5MApIbSwgaWNoIGhhYiBhdWNoIHNvbmUgTUF1cywgbWVpbiBnZWh0IGF1Y2ggdW50ZXIgV0lORE9PRlMKYWxsZXJkaW5ncyB3YXIgaWNoIHNjaGxhdSBnZW51ZyBkZW4gTXNET1MgTWF1c3RyZWliZXIgdm9tIG1zZG9zIDUuMCB6dQpyZXR0ZW4sIGFscyBpY2ggZG9zIDYuMjIgaW5zdGFsbGllcnRlLgpNaXQgZGVtIGFsdGVuIG1vdXNlLnN5cyBUcmVpYmVyIGhhdHRlIGljaCBiaXNoZXIgbm9jaCBhYnNvbHV0IGtlaW5lIFByb2JsZW1lCnVuZCBpY2ggaGFiIHNjaG9uIHZpZWxlIE1BZXVzZSBnZWhhYnQgOykKCkxlY2h1Y2ssIFp3ZWl0aSBvaG5lIEhlcnIuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbmRvb2YgJiBDby4gKEpvZiwgIDcuIEp1biAxOTk1LCAxNTowMjo0Myk6CiMhIHJuPUxlY2h1Y2sgcnQ9ODAyNTI3MjY1CgogV2luRG9vZiBncmVpZnQgZG9jaCBkaXJla3QgYXVmIGRpZSBNb3VzZS1IYXJkd2FyZSB6dSwgb2huZSBtb3VzZS5zeXMsIG9kZXIKd2llIHdhciBkYXM/CgogTmFqYSwgYW5kZXJlIExvZXN1bmc6IExpbnV4LUJvb3RkaXNrIGVpbmxlZ2VuLCBib290ZW4sIG1pdHRlbHMgZmRpc2sgZGllCkRPUy1QYXJ0IHZlcm5pY2h0ZW4sIExpbnV4IGluc3RhbGxpZXJlbiwgWC1XaW5kb3dzIHN0YXJ0ZW4sIGtlaW5lIE1hdXMtClByb2JsZW1lIG1laHIgaGFiZW4gLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG9vZiAmIENvLiAoQ2F0d2VhemxlLCAgNy4gSnVuIDE5OTUsIDE1OjE1OjU1KToKIyEgcm49Q3VjaHVsbGluIHJ0PTgwMjUyNjg5MApBbHNvIGZ1ZXIgYWxsZSwgZGllIGRpZXNlIFByb2JsZW1lIGF1Y2ggaGFiZW4gc29sbHRlbjoKV2VubiBtaWNoIG5pY2h0IGFsbGVzIGR1ZW5rdCB0dXRzIGRpZSBsZ29pbW91c2UgaW1tZXIgbnVyIGZ1ZXIgbmVuIHBhYXIKc2VrdW5kZW4gdW0gZGFubiBhYnp1c2NobWllcmVuLiBkYXMgaXN0IHdlaWxzIG5lIGZpZm8tbW91c2UgaXN0ICh3YXMgaW1tZXIgZGFzCmhlaXNzZW4gbWFnKS4gQWJoaWxmZToKaW5zIHN5c3RlbS5pbmkgdW50ZXIgWzM4NmVuaF0gbXVzcyBmbGdlbmRlciBlaW50cmFnOgpDT00xRmlmbz0wCk5hdHVlcmxpY2ggbnVyLCB3ZW5uIGRpZSBtb3VzZSBhbiBjb20xIGhhZW5ndC4KU29sbHRlIGRhbm4gYWJlciBoZWxmZW4uCllvdXJzIHRydWx5LAogICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbmRvb2YgJiBDby4gKEVsYnl0ZSwgIDcuIEp1biAxOTk1LCAxOTo0NDo0NCk6CiMhIHJuPUpvZiBydD04MDI1MzAxNjMKU28gZWluZmFjaCBpc3QgZGFzIGF1Y2ggbmljaHQgbWl0IGRlciBNYXVzIHVudGVyIExpbnV4Li4KSWNoIG11c3N0ZSBtaXIgZGFtYWxzIGV4dHJhIGVpbmUgbmV1ZSBNYXVzIGthdWZlbiwgd2VpbCBtZWluZSBudXIKTWljcm9zb2Z0a29tcGF0aWJlbCB3YXIuIEpldHp0IG1pdCBlaW5lciBad2VpLVRhc3Rlbi1NYXVzIGxhZXVmdHMgKGhhdHRlIGFsbGUKVHJlaWJlciBpbiBkZXIgWGNvbmZpZyBkdXJjaHByYmllcnQpLi4uamV0enQgaGFiZSBpY2ggZGFzIG5hZWNoc3RlIFByb2JsZW0hIQprZWluIGN1dC9wYXN0ZSBhdWYgZGVuIFRhc3RlbiAhIQoKRWxCeXRlIChkZW5rdCBhbiBkaWUgTmFlY2h0ZSBhbHMgZXIgbm9jaCBETEQgMS4zIGhhdHRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luZG9vZiAmIENvLiAoSWNldCwgIDcuIEp1biAxOTk1LCAxOTo1Nzo0OSk6CiMhIHJuPUVsYnl0ZSBydD04MDI1NDcwODQKTm9ybWFsZSBzZXJpZWxsZSBNYWV1c2UgbGF1ZmVuIGF1ZiBqZWRlbiBGYWxsIG1pdCBYIChmdWVyIGxpbnV4KQpVbmQgbWl0IDItVGFzdGVuLU1hZXVzZW4gZ2lidCBlcyBhdWNoIGtlaW5lIFByb2JsZW1lLCBkYWZ1ZXIgZ2lidCBlcyBlaW5lCjNUYXN0ZW4tRW11bGF0aW9uIChFbXVsYXRlM0J1dHRvbnMgb2RlciBzby4uKS4KCi1JY2VUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW5kb29mICYgQ28uIChMb2NvLCAgNy4gSnVuIDE5OTUsIDIwOjAxOjIzKToKIyEgcm49RWxieXRlIHJ0PTgwMjU0NzA4NApOb3JtYWxlcndlaXNlIHNvbGx0ZSBkZXIgVHJlaWJlciBkaWUgbWl0dGxlcmUgTWF1c3Rhc3RlIGVtdWxpZXJlbiwgd2VubiBtYW4KYmVpZGUgZ2xlaWNoemVpdGlnIGRydWVja3QuIEV2dGwgbXVzcyBtYW4gZGFmdWVyIGluIGlyZ2VuZGVpbmVyIENvbmZpZ2RhdGVpCihsZWlkZXIgdmVyZ2Vzc2VuLCB3ZWxjaGUpIHNvd2FzIHdpZSBFbXVsYXRlM0J1dHRvbnMgZWluc2NoYWx0ZW4uCkljaCBoYXR0ZSBtaXQgZWluZXIgR2VuaXVzIChNb3VzZVN5c3RlbXMpIDMtVGFzdGVuLU1hdXMgdWVicmlnZW5zIGJpc2hlciBudXIKbWl0IGRlbSBLYWJlbCBQcm9ibGVtZS4gQWJlciBuaWNodCBtaXQgTGludXguCiAgTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luZG9vZiAmIENvLiAoQ3VjaHVsbGluLCAgNy4gSnVuIDE5OTUsIDIwOjE1OjIxKToKIyEgcm49RWxieXRlIHJ0PTgwMjU0NzA4NAoKSGksIGRhIGJpbiBpY2ggd2llZGVyLi4uCgpadSBkZW4gJ0xvZXN1bmdzdm9yc2NobGFlZ2VuJzoKCi0tIEVzIGxhZyBnYW56IHNpY2hlciBhbiBXaW5kb29mLgoKLS0gTmVpbiwgTGludXggbGFldWZ0IGJlaSBtaXIgbm9jaCBuaWNodCBzbyBnYW56LCBKb2YuLi4gOy0pCgotLSBWb2xsdHJlZmZlciwgQ2F0d2VhemxlIDopCgpFaW4gaGVyemxpY2hlcyBEYW5rZXNjaG9lbiBpbiBkaWUgUnVuZGUhCgpDdWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbmRvb2YgJiBDby4gKEF6enVybywgIDguIEp1biAxOTk1LCAwMToxNDozNyk6CiMhIHJuPUN1Y2h1bGxpbiBydD04MDI1MjY4OTAKSGFiZSBhdWNoIExvZ2l0ZWNoIE1vdXNlLgpMYWV1ZnQgbWl0IGRlbiBTdGFuZGFydCBUcmVpYmVybiBvaG5lIFByb2JsZW1lIDopCkF6enVybyB6dWNrdCBtaXQgZGVuIFNjaHVsdGVybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW5kb29mICYgQ28uIChBenp1cm8sICA4LiBKdW4gMTk5NSwgMDE6MTY6MjIpOgojISBybj1Benp1cm8gcnQ9ODAyNTY2ODc3Ck1pc3Qgd2llZGVyIG1hbCB6dSBzcGFldCA6KApBenp1cm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNCIDMyQVdFIHVuZCBQYW5uYXNvbmljIDU2Mi1CIENELVJPTSAoUGlsZ3JpbSwgMTAuIEp1biAxOTk1LCAxODo0MDoxMyk6CkhpLAp3aWUgZGVyIHRpdGVsIHNjaG9uIHZlcm11dGVuIGxhZXNzdCwgdmVyc3VjaGUgaWNoIGRhcyBvYmlnIGdlbmFubnRlIENELVJPTQooNTYyLUIpIGFuIGVpbmUgU291bmRCbGFzdGVyICgzMkFXRSkgYXVuenVzY2hsaWVzc2VuLgpOYXR1ZXJsaWNoIHR1dHMgZGFzIGF1ZiBhbmhpZWIgbmljaHQgOi0oCm1pdCBkZW0gb3JnaW5hbCBwYW5uYXNvbml4IHRyZWliZXIgKGNkbWtlLnN5cyB2NC4wMykgYmVrb21tIGljaCBudXIgbmUKbWVsZHVuZyB3aWU6CkludGVyZmFjZS1rYXJ0ZSBvZGVyIGNkLXJvbSBuaWNodCByZWFkeS4uLnBvd2VyIGNkLXJvbSBvbiAhCm1pdCBkZW0gY3JlYXRpdmUtdHJlaWJlciAoc2JjZC5zeXMgdjQuMjBnKSBrb21tdCBudXI6CmludGVyZmFjZS1rYXJ0ZSBvZGVyIGNkLXJvbSBuaXQgYmVyZWl0Li4uY2Qtcm9tIGVpbnNjaGFsdGVuLi4KCnRqYSwgd2F0IG51bi4uLgppY2ggaGFiIG1hbCBnZWhvZXJ0IG1pdCBuZXVlbiB0cmVpYmVybiBvZGVyIG5lbSBwYXRjaCB3dWVyZGUgYXVjaCBkYXMgNTYyLWIKYW0gU0IgbGF1ZmVuLi4uYWJlciB3b2hlciBvZGVyIHdpZSwgZGFzIHdlaXNzIGljaCBuaWNodC4uLgp2aWVsbGVpY2h0IGthbm4gbWlyIGVpbmVyIGhlbGZlbiA/Pz8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQiAzMkFXRSB1bmQgUGFubmFzb25pYyA1NjItQiBDRC1ST00gKEFuZ3VzLCAxMi4gSnVuIDE5OTUsIDE4OjEzOjI0KToKIyEgcm49UGlsZ3JpbSBydD04MDI4MDI0MTMKSGkhCkFsc28gaWNoIGhhYiBhdWNoIGVpbiA1NjItQiB1bmQgYmVpIG1pciBsaWVmIGVzIGF1ZiBBbmhpZWIuLi4KQWxsZXJkaW5ncyBoYWIgaWNoICdudXInIG5lIFNCLUFTUDE2Li4uIERhcyBzb2xsdGUgYWJlciBub3JtYWwKbml4IGF1c21hY2hlbiwgZGEgZGFzIENELUludGVyZmFjZSBhdWYgYmVpZGVuIEthcnRlbiAoenVtaW5kZXN0CmxhdXQgbWVpbmVtIERlYWxlcikgaWRlbnRpc2NoIGlzdC4uLiBCbGlua3QgZGVubiBkYXMgQ0QtTGFlbXBjaGVuCmJlaW0gRWluc2NoYWx0ZW4/IDstKSBBbnNvbnN0ZW4gcHJvYmllciBkb2NoIHdpcmtsaWNoIG1hbCBkaWUKSW50ZXJmYWNlLUthcnRlLi4uCiAgLSBBbmd1cyAtIHJhdGxvcy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHVtbSBnZXdlc2VuIChIYWRyYSwgMTUuIEp1biAxOTk1LCAyMzo0ODowNyk6CmhpIG11ZGRpZXMsCgppcmdlbmR3YXMgaGFiIGljaCBmbGFzY2ggZ2VtYWNodCwgZGVubiBiZWltIGVpbmxvZ2dlbiBpbiBtZWluZSBraXN0ZSBrb21tdDoKc2hlbGwtaW5pdDogY291bGQgbm90IGdldCBjdXJyZW50IGRpcmVjdG9yeTogZ2V0d2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50CmRpcmVjdG9yaWVzCmpvYi13b3JraW5nLWRpcmVjdG9yeTogY291bGQgbm90IGdldCBjdXJyZW50IGRpcmVjdG9yeTogZ2V0d2Q6IGNhbm5vdCBhY2Nlc3MKcGFyZW50IGRpcmVjdG9yaWVzCmpvYi13b3JraW5nLWRpcmVjdG9yeTogY291bGQgbm90IGdldCBjdXJyZW50IGRpcmVjdG9yeTogZ2V0d2Q6IGNhbm5vdCBhY2Nlc3MKcGFyZW50IGRpcmVjdG9yaWVzCnB3ZDogY291bGQgbm90IGdldCBjdXJyZW50IGRpcmVjdG9yeTogZ2V0d2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50CmRpcmVjdG9yaWVzCgp3ZW5uIGljaCBkYW5uIGtvbW1hbmRvcyBlaW5nZWJlIGtvbW10Ogo+IGxzCmpvYi13b3JraW5nLWRpcmVjdG9yeTogY291bGQgbm90IGdldCBjdXJyZW50IGRpcmVjdG9yeTogZ2V0d2Q6IGNhbm5vdCBhY2Nlc3MKcHdkOiBjb3VsZCBub3QgZ2V0IGN1cnJlbnQgZGlyZWN0b3J5OiBnZXR3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQKZGlyZWN0b3JpZXMKPiBjZCBiaW4KY2RfbGlua3M6IGNvdWxkIG5vdCBnZXQgY3VycmVudCBkaXJlY3Rvcnk6IGdldHdkOiBjYW5ub3QgYWNjZXNzIHBhcmVudApkaXJlY3RvcmllcwoKd2FzIGFsc28gaGFiIGljaCBtaXIgemVybGVndD8KCgpoYWRyYSAtIGhvZmZlbiBkYXMgc28gd2FzIGhpZXIgaGVyIGRhcmYuCgpwLnMuIGRhcyBnYWJ6ZSBpc3QgdW50ZXIgbGludXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkdW1tIGdld2VzZW4gKEpvZiwgMTYuIEp1biAxOTk1LCAwOTowNDo0MCk6CiMhIHJuPUhhZHJhIHJ0PTgwMzI1Mjg4NwogRHUgaGFzdCBkYXMgVmVyemVpY2huaXNzIHVlYmVyIGRlaW5lbSBIb21lIGdlc2NobG9zc2VuLiBBbHNvLCBmYWxscyBkZWluCkhvbWUgekIgaW4gL2hvbWUgbGllZ3Q6IGNobW9kIGErcnggL2hvbWUKIERhcyBnYW56ZSBhbHMgUm9vdCwgdmVyc3RlaHQgc2ljaC4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4IChUaG9yaW4sIDE2LiBKdW4gMTk5NSwgMTY6MzM6MDkpOgpXaWUgd2FlcnMgZGVubiwgd2VubiBtYWwgamVtYW5kIGFuZ2lidCwgd28gbWFuIGxpbnV4IHppZWhlbiBrYW5uLCB3aWUgbWFuIGVzCmluc3RhbGxpZXJ0IHVzdy4gV2FlcmUgYXVmIGplZGVuIEZhbGwgZnVlciBtaWNoIG5lIGdyb3NzZSBIaWxmZSwgd2VpbCBpY2ggZGFubgphKSBuaWNodCBqZWRlc21hbCBiZWkgdW5zIGluIGRlbiBQb29sIG11ZXNzdGUsIHNvbmRlcm4gYXVjaCB2b20genUgSGF1c2UKICAgZnVlcnMgTXVkIHdhcyB0dW4ga2FubgpiKSBpY2ggYmlzaGVyIG1pdCBkZW0ga29uZmlndXJpZXJlbiBuaWNodCBrbGFya29tbWUuLi4KS2FubiBqYSBhdWNoIHNlaW4sIGRhc3MgaWNoIGVpbmZhY2ggTGludXggbmljaHQgc2NobmFsbGUgOy0pClZpZWxsZWljaHQgZ2VodHMgamEgYXVjaCBudXIgbWlyIHNvLCBhYmVyIHNvIGVpbmUgQW5sZWl0dW5nIGZ1ZXJzIExpbnV4CmZ1ZXJzIE11ZCBpbnN0YWxsaWVyZW4gd2FlcmUgbmljaHQgZGFzIHZlcmtlaHJ0ZXN0ZS4uLgpUaG9yaW4sIGhvZmZ0IGF1ZiBBdWZrbGFlcnVuZy4uLgpQUzogSWNoIHd1ZXJkcyBhdWNoIGFscyBtYWlsIG5laG1lbiwgd2VubnMgenUgbGFuZy91bmludGVyZXNzYW50IGZ1ZXIgZGllIE1QQQppc3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAoSm9mLCAxNi4gSnVuIDE5OTUsIDE4OjAwOjA2KToKIyEgcm49VGhvcmluIHJ0PTgwMzMxMzE4OQoKSWNoIGVtcGZlaGxlIGRhenUgekIKZnRwLnVuaS1tdWVuc3Rlci5kZTovcHViL2xpbnV4L3NsYWNrd2FyZS1taXJyb3IvSU5TVEFMTC5UWFQuIERhcyBpc3QKZGFzIExpbnV4LUluc3RhbGxhdGlvbi1IT1dUTywgZG9ydCB3aXJkIHppZW1saWNoIGdlbmF1IGJlc2NocmllYmVuLCB3YXMKenUgdHVuIGlzdC4gV2VubiBEdSBtaXQgZGVtIERva3VtZW50IFNjaHdpZXJpZ2tlaXRlbiBiZWkgZGVyIEluc3RhbGxhdGlvbgpoYXN0LCBuaW1tIGVzIGFscyBJbmRpeiwgZGFzIER1IG1pdCBMaW51eCBkYWhlaW0gZWggbmljaHQgZ2x1ZWNrbGljaApnZXdvcmRlbiB3YWVyZXN0IC0gbm8gb2ZmZW5zZSBpbnRlbmRlZC4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAoQ2F0d2VhemxlLCAxNi4gSnVuIDE5OTUsIDE4OjA1OjA5KToKIyEgcm49VGhvcmluIHJ0PTgwMzMxMzE4OQpIbSwgaWNoIGhhYiBkYSBuZXVsaWNoIG5lIFdXVy1BZHJlc3NlIGdlZnVuZGVuLCBoYWIgYWJlciBub2NoIG5pZQpkdXJjaGdlc2VoZW4uIEthbm5zdCBkYSBqYSBtYWwgcmVpbnNjaG51cHBlcm4uLi4KaHR0cDovL3d3dy1pMi5pbmZvcm1hdGlrLnJ3dGgtYWFjaGVuLmRlL0xpbnV4Lmh0bWwKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpbnV4IChIYWRyYSwgMTYuIEp1biAxOTk1LCAyMjoyNzo1Myk6CiMhIHJuPVRob3JpbiBydD04MDMzMTMxODkKaGkgdGhvcmluLAoKd2VubnMgd2FzIGRpY2tlciBzZWluIGRhcmYgdW5kIGF1ZiBlbmdsaXNjaDoKZnRwLmRmdi5yd3RoLmFhY2hlbi5kZSB1bmQgZGEga2FubnN0IGR1IGRpciBpbSB2ZXJ6ZWljaG5pcwogL3B1YjQvbGludXgvc3Vuc2l0ZS9kb2NzL2xpbnV4LWRvYy1wcm9qZWN0L2luc3RhbGwtZ3VpZGUgZGVpbiBiZXZvcnp1Z3Rlcwpmb3JtYXQgYXVzc3VjaGVuLiBkYXMgc2luZCBhbGxlcmRpbmdzID4yMDAgU2VpdGVuIGdlZHJ1Y2t0CgpoYWRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpbnV4IChXYXJsb3JkLCAxNy4gSnVuIDE5OTUsIDAxOjA4OjUyKToKIyEgcm49VGhvcmluIHJ0PTgwMzMxMzE4OQoKSGFsbG8gVGhvcmluLAoKaWNoIHd1ZXJkZSBtaXIsIFdFTk4gRHUgZWluIGNkLXJvbSBoYXN0LCBsaW51eCBuaWNodCBtaXR0ZWxzIERpc2tldHRlbgp6aWVoZW4uCkVzIGdpYnQgZGEgVmVydHJpYmVyZmlybWVuLCBkaWUgTGludXgtQ0RzIHZlcmthdWZlbi4KClouQi4gUy51LlMuRS4KCkRpZSBiaWV0ZW4gZWlubWFsIGZ1ZXIgODkuLSAzIENEcyBtaXQgSGFuZGJ1Y2guIEd1dCBmdWVyIEFuZmFlbmdlciwgd2VpbAptYW4gbmUgU2xhY2t3YXJlLUluc3RhbGxhdGlvbiBtYWNoZW4ga2Fubi4gVmVyYmVzc2VydW5nc3d1ZXJkaWcsIGFiZXIgSWRpb3RlbgoodW5kIFdhcmxvcmQpIHNpY2hlci4gT2RlciBudXIgMyBDRHMgZnVlciA0OS4tCgogICAgICAgICAgICAgICAgICAgICAgICBXYXJsb3JkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGludXggKEppbWRpZ3JpeiwgMTcuIEp1biAxOTk1LCAyMDoyMTozOCk6CiMhIHJuPVRob3JpbiBydD04MDMzMTMxODkKSGlobyBUaG9yaW4gIQoKMS4gTGludXggQ0Qga2F1ZmVuICwgMi4gd2Vnc2NobWVpc3NlbiA7LSkKdWUgZnVtaWtvbWktZ2VyaQozLiBWaWVsIGRpc2tldHRlbiBiZXJlaXRsZWdlbiwgb2RlciBlaW5lbiBjZC1zY2hyZWliZXIgYXVzZmluZGkgbWFjaGVuLgo0LiBkYW5uIHpCIGZ0cCBmdHAubGVvLm9yZy9wdWIvY29tcC9vcy9ic2QvRnJlZUJTRC8KRGEgZmluZGVzdCBEdSBuaWNodCBudXIgZGllIG5ldWUgUmVsZWFzZSAyLjAuNSBzb25kZXJuIGF1Y2ggZ2VudWcgRG9rdQpzb3dpZSBjb250cmlidGlvbnMsIERpZSBuZXVlIFJlbGVhc2Ugc29sbCBzb2dhciBlaW5lbiBMb3NpeC1jb21wYXRpYmlsaXR5LQptb2RlIGhhYmVuIChmdWVyIGRvb20gPz8gOy0pKQoKQ2lhbyAsCiBKYW1lcyBCb2xpdmFyIGRpR3JpeiwgTGludXgtdmVyYWVjaHRlci4KIFRoZSBEZWFtb24gaXMgRlJFRSAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxpbnV4IChKb2YsIDE5LiBKdW4gMTk5NSwgMTE6MjM6MDYpOgojISBybj1KaW1kaWdyaXogcnQ9ODAzNDEzMjk4CgogRnJlZUJTRCBpc3QgZWluIHNlaHIgc2Nob2VuZXMgQmV0cmllYnNzeXN0ZW0uCgogRnVlciB6dSBIYXVzZSBlbXBmZWhsZSBpY2ggTGludXguIEZ1ZXIgZGVuIEJldHJpZWIgaW4gaGV0ZXJvZ2VuZW4gTmV0emVuCkZyZWVCU0QuCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadSBWRVJLQVVGRU4gKEVsYnl0ZSwgMjYuIEp1biAxOTk1LCAxMDo1MzozNSk6CkhpICEhCgpJY2ggaGFiZSBiZWkgbWlyIG1hbCB3aWVkZXIgYXVzZ2VtaXNzdGV0IHVuZCBkYWJlaSBmb2xnZW5kZSBTYWNoZW4gZ2VmdW5kZW46CgpFaW5lIEVUNDAwMCBWR0EtS2FydGUgMTYgYml0IG1pdCBUcmVpYmVyZGlza2V0dGVuLgpFaW5lbiBDYWNoZS1Db250cm9sbGVyIG1pdCAiIE1CICsgQklPUwoKV2VyIHNpY2ggZnVlciBkaWUgU2FjaGVuIGludGVyZXNzaWVydCB1bmQgYmVyZWl0IGlzdCBtaXIgZWluIHBhYXIgTWFyayBkYWZ1ZXIKenUgZ2ViZW4KbW9lZ2Ugc2ljaCBiaXR0ZSBiZWkgbWlyIG1lbGRlbi4KCkVsQnl0ZQoKKHNvcnJ5LCBhYmVyIGljaCBoYXR0ZSBwcm9icyBtaXQgZGVtIGxheWVyIDspKSAgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSElMRkUgTElOVVggKEVsYnl0ZSwgMTAuIEp1bCAxOTk1LCAxODozNjoxMik6CkhpICEhCgpJY2ggaGFiZSBzZWl0IGxhZW5nZXJlciBaZWl0IGVpbiBncm9lc3NlcmVzIFByb2IuCkljaCBoYWJlIGVpbiBTb255LUNELVJPTSBDRFUzMWEsIGRhc3MgYW4gZWluZXIgU291bmRCbGFzdGVyIDE2IE11bHRpQ0QKYW5nZXNjaGxvc3NlbiBpc3QuCk5hY2hkZW0gaWNoIG51biB2b24gZGVyIExpbnV4IERMRCAxLjMgYXVmIFMudS5TLkUgdW1nZXN0aWVnZW4gYmluLCBoYWJlIGljaApQcm9ibGVtZSBtaXQgZGVyIEluc3RhbGxhdGlvbi4gRGllIERMRCBoYXQgZGllIEhhcmR3YXJlIG9obmUgenUgbm9lcmdlbG4KYW5nZW5vbW1lbiwgU3VTRSB0dXQgZGllcyBuaWNodC4KQmVpIGRlciBJbnN0YWxsYXRpb24gaGFiZSBpY2ggUGFyYW1ldGVyIG1pdCBhbiBkZW4gS2VybmVsIHVlYmVyZ2ViZW46CjEuIFZlcnN1Y2ggIGNkdTMxYT0weDFmODgsMCxTb3VuZEJsYXN0ZXIgKG5peCkKMi4gVmVyc3VjaCAgY2R1MzFhPTB4MzQwLDAsU291bmRCbGFzdGVyIChuaXgpCjMuIFZlcnN1Y2ggIGNkdTMxYT0weDIzMCwwLFNvdW5kQmxhc3RlciAobml4KQo0Li4uLjE5IFZlcnN1Y2hlIChuaXgpCgpFbnR3ZWRlciBlciBlcmthbm50ZSBrZWluIHNicGNkLUxhdWZ3ZXJrLCBvZGVyIGRhcyBJbnRlcmZhY2UgU291bmRCbGFzdGVyIHdhcgppaG0gdW5iZWthbm50LCBvZGVyIGljaCBiZWthbSBrZXJuZWwgcGFuaWMuLi4uLi4uLi4uCgpMZWlkZXIgd2Vpc3MgaWNoIGF1Y2ggbmljaHQgb2IgZGllIEFuZ2FiZSBTb3VuZEJsYXN0ZXIgcmljaHRpZyBpc3QuCkFuZ2VnZWJlbiBpc3QgbnVyIFBBUyBmdWVyIFByb0F1ZGlvU3BlY3RydW0gdW5kIHNicGNkIGZ1ZXIgU291bmRibGFzdGVyLgpzYnBjZCB3aXJkIGFiZXIgbmljaHQgYWxzIFBhcmFtZXRlciB1ZWJlcm5vbW1lbiwgZGFzcyBDRFJPTSBsYWV1ZnQgendhciBtYWwKa3VyeiBhbiwgZGFuYWNoIHdpcmQgYWJlciBuYWNoIGVpbmVuIFNvbnkgNTM1IGdlc3VjaHQgd2VsY2hlcyBlciBuYXR1ZXJsaWNoCmF1Y2ggbmljaHQgZmluZGV0LgoKTGVpZGVyIGJlc2l0emUgaWNoIG5pY2h0IG1laHIgZGllIENvbnRyb2xsZXJrYXJ0ZSBkaWUgbWl0IGRlbSAzMWEKbWl0Z2VsaWVmZXJ0IHd1cmRlLgoKV2VyIHdlaXNzIGFsc28gUkFUID8/CgpQUy46IEljaCBoYWJlIGRlbiBTdVNFLUxldXRlbiAoc3VwcG9ydCkgc2Nob24gTGllYmVzYnJpZWZlIGdlc2NocmllYmVuLApsZWlkZXIgYmVrb21tZSBpY2ggdm9uIGRlbmVuIG51ciBhbGxnZW0uIEluZm9ybWF0aW9uZW4genVyIEluc3RhbGxhdGlvbiA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhJTEZFIExJTlVYIChBbnRoZWEsIDEyLiBKdWwgMTk5NSwgMDA6MTQ6NTMpOgojISBybj1FbGJ5dGUgcnQ9ODA1Mzk0MTcyCkhtLi4uIGJlaSBtaXIgZnVua3Rpb25pZXJ0IGVzLiBJY2ggaGFiZSBuZW4gU0IxNkFTUCB1bmQgbmVuIENEVTMzQSwgdW5kIGJlaQptaXIgc3RlaHQgaW4gZGVyIGxpbG8uY29uZiBlaW4gYXBwZW5kPSJjZHUzMWE9MHgyMzAsMCIKRGFzIHJlaWNodCB1bmQgZnVua3Rpb25pZXJ0LgpEYXMgZ2VodCBuYXR1ZXJsaWNoIG51ciwgd2VubiBEdSBkaWUgQXVkaW8tSS9PIGF1ZiAyMjBIIGVpbmdlc3RlbGx0IGhhc3QuCkFuc29uc3RlbiBnaWx0OiBJLzAoQ0RST00pPUkvTyhBVURJTykrMTBICiAgICBBbnRoZWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWUgQlNEIChTbnVnZ2xlLCAxOC4gSnVsIDE5OTUsIDIwOjI5OjIxKToKSGksCmljaCBoYWIgbGV0enRlbnMgdmVyc3VjaHQsIGplbWFuZGVtIGVpbiBiaXNzY2hlbiB3YXMgdWViZXJzIE11ZCB6dQplcnphaGxlbiB1bmQgd2lyIGhhYmVuIGhhbHQgYXVjaCBzbyB1ZWJlciBkZW4gUmVjaG5lciBnZXJlZGV0IHVuZCB3YXMKd2lyIGRlbm4gZnVlcm4gQmV0cmllYnNzeXN0ZW0gbGF1ZmVuIGxhc3Nlbi4gVW5kIGRhIHd1c3N0ZSBpY2ggaGFsdCBudXIKenUgc2FnZW4sIGRhc3MgZXMgRnJlZSBCU0QgaXN0LCBhYmVyIGtvbm50ZSBuaXggd2VpdGVyIGRhcnVlYmVyCmVyemFlaGxlbi4KS2FubiBtaXIgamVtYW5kIGVpbiBiaXNzY2hlbiB3YXMgZHJ1ZWJlciBlcnphZWhsZW4gYXVmIGRhc3MgaWNoIG5pY2h0CmR1bW0gc3RlcmJlbiBtdXNzPwoKWVQgU251Z2dsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZWUgQlNEIChKb2YsIDE5LiBKdWwgMTk5NSwgMDk6MTE6MDQpOgojISBybj1TbnVnZ2xlIHJ0PTgwNjA5MjE2MQoKIERhcyBkZXJ6ZWl0IGF1ZiBNRyBiZW51dHp0ZSBCZXRyaWVic3N5c3RlbSBpc3QgRnJlZUJTRC0yLjAtU05BUDk1MDMxOC4KQmVpIEZyZWVCU0QgaGFuZGVsdCBlcyBzaWNoIHVtIGVpbmUgTWlzY2h1bmcgYXVzIGVpbmVyIFdlaXRlcmVudHdpY2tsdW5nCmRlcyBhbHRlbiAzODZCU0QgdW5kIEJTRDQuNCBsaXRlLiAzODZCU0QgYmFzaWVydGUgYXVmIEJTRDQuMzsgZGllCkJTRDQuMy1Tb3VyLQpjZW4gZHVlcmZlbiBhdWZncnVuZCB2b24gQWJtYWNodW5nZW4gbWl0IE5vdmVsbC9VU0wgbmljaHQgbWVociBmcmVpIHZlci0KdHJpZWJlbiB3ZXJkZW4sIGRhIGF1ZiBUZWlsZW4gZWluIENvcHlyaWdodCBkZXIgVVNMIGxpZWd0LiBCU0Q0LjQgbGl0ZSBpc3QKY29weXJpZ2h0ZnJlaTsgYWxsZXJkaW5ncyBmZWhsZW4gd2VzZW50bGljaGUgVGVpbGUsIHNvIGRhc3MgZGFzIEZyZWVCU0QtVGVhbQpkaWUgVk0tU2FjaGVuIHpCIHByYWt0aXNjaCBrb21wbGV0dCBuZXUgc2NocmVpYmVuIG11c3N0ZW4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNR011ZExJYiAoQW5ha2luLCAgMS4gQXVnIDE5OTUsIDEyOjQ5OjExKToKSGlobywKCk5hamEgaWNoIGhhYiBtaXIgZGllIE1HTGliIDEuNSBnZWhvbHQgdW5kIGF1ZiBtZWluZW0KUmVjaG5lciBnZWhhdWVuLiBIYXR0ZSBlcyBqYSB2b3JoZXIgYXVmIDM4NiB1bnRlciBMaW51eAp6dSBsYXVmZW4sIGdhYiBqYSBrZWluZSBQcm9icy4gSmV0enQgaGFiIGljaCBTdXNlIGRyYXVmCmF1ZiBtZWluZW0gTmV1ZW4uIE5hamEgZW50dGFyZWQgdW5kIGVudHppcHQsIC4vY29uZmlndXJlLApMSUIgdW5kIEVYRURJUiBnZWFlbmRlcnQsIG1ha2UgdW5kIG51biBicmluZ3QgZXIgenVtIFNjaGx1c3MKZm9sZ2VuZGUgRmVobGVybWVsZHVuZzoKbGQ6IE91dHB1dCBmaWxlIHJlcXVpcmVzIHNoYXJlZCBsaWJyYXJ5ICdsaWJjLnNvLjQnCmdjYzogSW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IHByb2dyYW1tIGxkIGdvdCBmYXRhbCBzaWduYWwgNgoKSG1tIGthbm4gbWl0IGplbWFuZCBzYWdlbiB3YXMgbWFuIGRhIG1hY2hlbiBrb2VubnRlPwpMaWJjLnNvLjQgbGllZ3QgaW4gL2xpYiBhYmVyIGVyIGZpbmRldCBzaWUgaGFsdCBuaWNodC4KSmVtYW5kIG5lIElkZWU/IFdhZXIgc2VociBuZXR0LiBBY2hzbyBHQ0MgMi42LjMgIGdsYXViIGljaC4KCkFuYWtpbiAoa2VpbmUgQWhudW5nKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HTXVkTEliIChHdWxkdWthdCwgIDEuIEF1ZyAxOTk1LCAxNDoxMTo0NSk6CiMhIHJuPUFuYWtpbiBydD04MDcyNzQxNTEKCkltIE1ha2VmaWxlIHN0ZWh0IGRhIHVudGVyIExJQlMgLWxtCmljaCBnbGF1YmUsIGRhIG11ZXNzdGUgZGFubiBlaW4gLWxjIHJhdXNnZW1hY2h0IHdlcmRlbgoKSWNoIGhhdHRlIGRhcyBwcm9iIGF1Y2ggYmVpbSBjb21waWxpZXJlbiwgYWJlciBiaW4gamV0enQgaW4gdW5pLgpJY2ggc2NoYXUgenUgSGF1c2UgaW1NYWtlZmlsZSBub2NoIG1hbCBuYWNoLCB3aWUgZXMgZ2VuYXUgd2FzIChhYmVyaXJnZW5kd2llCnNvYWVubGljaCB3YXIgZXMhKQoKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4ICYgQ0RST00gKEltYXIsICAxLiBBdWcgMTk5NSwgMTY6MzE6NDUpOgpJY2ggaGFiIG1pciBkYXMgTWl0c3VtaSBDRC1ST00gRlg0MDAgZ2VrYXVmdCB1bmQgbGFzc2UgZXMgdWViZXIgZWluZW4Kc2Vjb25kYXJ5IElERS1Db250cm9sbGVyICggd2VpbCAyIEZlc3RwbGF0dGVuIHVuZCBrZWluZSBTb3VuZGthcnRlICkKbGF1ZmVuLiBJbiBkZXIgRG9zZW4gLSBVbWdlYnVuZyB3aXJkIGRhcyBMYXVmd2VyayB2b20gRGV2aWNlZHJpdmVyCm9obmUgUHJvYmxlbWUgYXVmIGRlciBJL08tQWRyZXNzZSAweDAxNzAgbWl0IGRlbSBJUlEgMTUgZXJrYW5udCwgdHJvdHpkZW0Ka2FubiBlcyBkZXIgTGludXgtS2VybmVsIG1pdCBNaXRzdW1pLVVudGVyc3R1ZXR6dW5nIG5pY2h0IGVya2VubmVuLAphdWNoIHdlbm4gaWNoIGJlaW0gSG9jaGZhaHJlbiBkZW4gUGFyYW1ldGVyIG1jZD0weDAxNzAsMTUgZWluZ2ViZS4KCiAgIFZpZWxsZWljaHQgaGF0IGphIGplbWFuZCBlaW5lIElkZWUgenUgZGVtIFByb2JsZW0uCgpJbWFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUdNdWRMSWIgKEpvZiwgIDEuIEF1ZyAxOTk1LCAxNzoyNTozMyk6CiMhIHJuPUFuYWtpbiBydD04MDcyNzQxNTEKCiAyIG1vZWdsaWNoa2VpdGVuOgoKIDEpIGR1IG5pbW1tc3QgZGFzICctZycgYXVzIGRlbSBPUFRJTUlaRS1GbGFncyByYXVzCgpvZGVyCgogMikgZHUgc2NocmVpYnN0IGVpbiAnLXN0YXRpYycgbWl0IHp1IGRlbiBMREZMQUdTCgogQmVpZGVzIGZ1ZWhydCB6dW0gZ2V3dWVuc2NodGVuIEVyZm9sZy4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTUdNdWRMSWIgKEd1bGR1a2F0LCAgMy4gQXVnIDE5OTUsIDAwOjAxOjQ5KToKIyEgcm49R3VsZHVrYXQgcnQ9ODA3Mjc5MTA1ClNvIGljaCBoYWIgbWFsIG5hY2hnZXNjaGF1dCwgYWxzbyBpY2ggaGF0dGUgZGFzc2VsYmUgUHJvYmxlbSAsIGRhc3MgZXIgZGllCkxpYnJhcnkgYmVpbSBsaW5rZW4gbmljaHQgZ2VmdW5kZW4gaGF0LiBBYmhpbGZlIGhhdCBmb2xnZW5kZXIgQmVmZWhsIGltCk1ha2VmaWxlIGdlYnJhY2h0OgpMSUJTPSAtbG0gLWxjCkxJQlM9IC1sbSAtbGMKTElCUz0gLWxtIC1sYwpvb3BzLCBkaWUgbWF1cyBnZWh0IGR1cmNoISAoZWlubWFsIHJlaWNodCEpIDspCgpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUdNdWRMSWIgKEFuYWtpbiwgIDMuIEF1ZyAxOTk1LCAwMDowNzoxNyk6CiMhIHJuPUd1bGR1a2F0IHJ0PTgwNzQwMDkwOQpZb3AuLi5taXQgJy1nJyBoYXQgZXMgYWJlciBhdWNoIGdla2xhcHB0LiBUaHguIDopCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp4LXdpbiB1bnRlciBMaW51eCAoTGksIDE3LiBBdWcgMTk5NSwgMTE6NDg6MjIpOgoKSGFsbG8sCkljaCBoYWJlIGVpbiBrbGVpbmVzIFByb2JsZW0genVyIEluc3RhbGxhdGlvbiB2b24geC13aW5kb3dzIHVudGVyIExpbnV4IGZ1ZXIKUEMuCkljaCB3ZWlzcyBuYWVtbGljaCBuaWNodCwgd2VsY2hlbiBHcmFmaWt0cmVpYmVyIGljaCBicmF1Y2hlLiBNaXQgZGVtIFNWR0EKVHJlaWJlcgpsYWV1ZnQgZXMgbmljaHQsIHVuZCBtaXQgZGVtIG1hY2gzMiB0cmVpYmVyIGF1Y2ggbmljaHQuCkthbm4gZXMgc2VpbiwgZGFzcyBkaWUgS2FydGUgZ2FyIG5pY2h0IHVudGVyc3R1ZXR6dCB3aXJkPyBJY2ggaGF0dGUgZXMgc2Nob24KZWlubWFsCm1pdCBkZW0gdmdhMTYgVHJlaWJlciBsYXVmZW4sIGFiZXIgZGFzIGtsYXBwdCBqZXR6dCBhdWNoIG5pY2h0IG1laHIuCkljaCBoYWJlIG1pdCBkZW0gUHJvZ3JhbW0gU3VwZXJQcm9iZSwgbWVpbmUgR3JhZmlraGFyZHdhcmUgZXJtaXR0ZWx0LCB3YXMKZm9sZ2VuZGVzIGVyZ2FiOgoKCkZpcnN0IHZpZGVvOiBTdXBlci1WR0EKICAgICAgICBDaGlwc2V0OiBBVEkgNjg4MDAtQVgKICAgICAgICBNZW1vcnk6ICAxMDI0IEtieXRlcwogICAgICAgIFJBTURBQzogIEFUSSBNaXNjIDNyZC1wYXJ0eSB7QVQmVCwgQlQsIFNpZXJyYX0gMTUvMTYvMjQtYml0IERBQwogICAgICAgICAgICAgICAgICh3aXRoIDYtYml0IHdpZGUgbG9va3VwIHRhYmxlcyAob3IgaW4gNi1iaXQgbW9kZSkpCiAgICAgICAgICAgICAgICAgKHByb2dyYW1tYWJsZSBmb3IgNi84LWJpdCB3aWRlIGxvb2t1cCB0YWJsZXMpCiAgICAgICAgQXR0YWNoZWQgZ3JhcGhpY3MgY29wcm9jZXNzb3I6CiAgICAgICAgICAgICAgICBDaGlwc2V0OiBBVEkgTWFjaC0zMgogICAgICAgICAgICAgICAgTWVtb3J5OiAgMTAyNCBLYnl0ZXMKCgpBbHNvLCBrYW5uIG1pciBtYWwgZWluZXIgdmVycmF0ZW4sIHdhcyBpY2ggbnVuIGZ1ZXIgZWluZW4gR3JhZmlrdHJlaWJlcgpicmF1Y2hlPwoKTGkgKHppZW1saWNoIHZlcndpcnJ0KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBzdWNoZSBlaW4gc3BlemllbGxlcyBHZWhhZXVzZSAuLi4gKENhcmx5bGUsIDE3LiBBdWcgMTk5NSwgMTU6MDk6MTApOgphZWhtIC4uLiBlaW4gV29ydCBhbiBhbGxlIEltbWVybm9jaC0gb2RlciBFeC1Vc2VyIGVpbmVzIEFtaWdhcy4KCkljaCBzdWNoIGZ1ZXIgbWVpbmVuIEFtaWdhIDMwMDAgZWluICJVbnRlcmdlaGFldXNlIiwgZGFzIHZvciBlaW4gcGFhcgpKYWhyZW4gdm9uIGRlciBGaXJtYSBDb21wLlogaW4gRnJlaWJ1cmcgdmVydHJpZWJlbiB3dXJkZS4KRGllc2VzICJVbnRlcmdlaGFldXNlIiB3dXJkZSB1bnRlcmhhbGIgZGVzIEEzMDAwIGdlc3RlbGx0IHVuZCBmZXN0IG1pdApkZW4gc2VpdGxpY2hlbiBTY2hyYXViZW4gbWl0IGRlbSBPcmlnaW5hbGdlaGFldXNlIHZlcnNjaHJhdWJ0LgpNYW4gaGF0dGUgZGFtaXQgbm9jaCAyIHdlaXRlcmUgNSwyNSIgU2xvdHMgbmFjaCB2b3JuZSB1bmQgaGludGVuIGVpbgp3ZW5pZyBQbGF0eiBmdWVyIGVpbiBOZXR6dGVpbCB1bmQgMSBvZGVyIDIgMyw1IiBGZXN0cGxhdHRlbi4KTGVpZGVyIGlzdCBkaWVzIERpbmcgbmljaHQgbWVociBsaWVmZXJiYXIgdm9uIENvbXAuWi4KCldlciBhbHNvIHNvd2FzIG1hbCBnZXNlaGVuIGhhdCBvZGVyIGplbWFuZCBrZW5udCBkZXIgbm9jaCBzb3dhcyBoYXQsCmRlciBzY2hyZWliZSBtaXIgYml0dGUgZHJpbmdlbnN0IQpTZWxic3QgZWluZSAiaWNoIGJlc2l0emUgc28gZWluIGRpbmcgdW5kIGdlYiBlcyBhYmVyIG5pY2h0IGhlciItTWFpbAppc3QgbWlyIGxpZWJlciBhbHMgZ2FyIGtlaW5lIE5hY2hyaWNodC4KCkFjaCBqYSwgTmFjaHJpY2h0ZW4gYml0dGUgcGVyIEludGVyTXVkTWFpbCBhbiBDb3J1bUBBdmFsb24sIHNvbnN0IG5pZW1hbmQhCgpDb3J1bSAgKG51ciB3ZWdlbiBkZW4gNSwyNSIgU2xvdHMga2F1ZiBpY2ggbWlyIGtlaW5lbiBUb3dlciAtIGJpbiBkb2NoCiAgICAgICAgbmljaHQgbWVzY2h1Z2dlISkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB4LXdpbiB1bnRlciBMaW51eCAoSm9mLCAxOC4gQXVnIDE5OTUsIDEyOjQzOjA0KToKIyEgcm49TGkgcnQ9ODA4NjUyOTAyCgogRGVuIE1BQ0gzMi1YLVNlcnZlciAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClgxMSAoTGksIDI0LiBBdWcgMTk5NSwgMTI6NTE6MDgpOgpLYW5uIG1pciBtYWwgamVtYW5kIGVya2xhZXJlbiwgd2FydW0gaWNoIFhGODZjb25maWcgbmljaHQgcGFzc2VuZCBoaW5iZWtvbW1lPwpCZWkgZGVyIEluc3RhbGxhdGlvbiBtZWluZXIgTGludXgtVmVyc2lvbiBrYW5uIG1hbiBYMTEgZ2xlaWNoIG1pdAprb25maWd1cmllcmVuLCBhYmVyIHdlZGVyIGRlciBUcmVpYmVyIGZ1ZXIgbWVpbmUgR3JhZmlra2FydGUgKG1hY2gzMikgbm9jaCBkZXIKZnVlciBzdmdhLCBub2NoIG5pY2h0IG1hbCBkZXIgZnVlciB2Z2ExNiBmdW5rdGlvbmllcnQuCndhcyB0dW4/CkljaCBicmF1Y2hlIGRhcyBhYmVyIHVuYmVkaW5ndCwgZGEgbWVpbmUgTGludXh2ZXJzaW9uIChMaW51aXggVW5pdmVyc2UpCnNhZW10bGljaGUgSW5zdGFsbGF0aW9uIGRlciB6dXNhdHpwYWtldGUgdW5kIGF1Y2ggZGllIGtvbmZpZ3VyYXRpb24gdWViZXIgeHdpbgpsYXVmZW4gbGFlc3N0LgoKTGkgKHZlcndpcnJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGVnYXN1cy1NYWlsIChCaW5nLCAyOS4gQXVnIDE5OTUsIDE1OjA0OjUwKToKSWNoIHN1Y2hlIGRhcyBQcm9ncmFtbSBQZWdhc3VzTWFpbCBmdWVyIFdpbmRvd3MuIEljaCB3ZWlzcyBuaWNodCBvYiBlcyBwdWJsaWMKaXN0LiBXZW5uIGVzIGplbWFuZCBoYXQsIG9kZXIgd2Vpc3Mgd28gZXMgaXN0IChpY2ggaGFiZSBsZWlkZXIga2VpbmVuIEFyY2hpZSkKZGVyIG1vZWdlIG1pciBkb2NoIGJpdHRlIGVpbiBNYWlsIHNjaGlja2VuLiBFaW5lbiBBcmNoaWUgZnVlciBXaW5kb3dzIGtvZW5udGUKaWNoIGF1Y2ggZ2VicmF1Y2hlbi4KSWNoIGhvZmZlIGVzIGthbm4gbWlyIGplbWFuZCBoZWxmZW4uCkdydXNzIEJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZWdhc3VzLU1haWwgKEpvZiwgMzEuIEF1ZyAxOTk1LCAxNTo1MDozNCk6CiMhIHJuPUJpbmcgcnQ9ODA5NzAxNDkwCgogU2NoYXUgZG9jaCBtYWwgYXVmIGZ0cC51bmkta29lbG4uZGUgaW4gL3BjL3dpbjMvdGNwaXAsIGRpZSBoYWJlbiBlaW5lbgpIYXVmZW4gUEQtU29mdCBmdWVyIFdpbmRvb2YgdW5kIFdpblNvY2tlbiAuLi4gYWx0ZXJuYXRpdiBlbXBmZWhsZSBpY2ggZWluZW4KZ3V0ZW4gTGludXgtRlRQLVNlcnZlciwgTGludXggbWFjaHQgdmllbCB3ZW5pZ2VyIEFyYmVpdCBhbHMgV2luZG9vZiB1bmQKbGFldWZ0IGltIEdlZ2Vuc2F0eiB6dSBNJC1Qcm9kdWt0ZW4gYXVjaCBnZXNjaGVpdCAuLiA6KQoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZWdhc3VzLU1haWwgKEJhcm9uLCAzMS4gQXVnIDE5OTUsIDE2OjE1OjIxKToKIyEgcm49Sm9mIHJ0PTgwOTg3NzAzNApBZWgsIGZ0cC51bmkta29lbG4uZGUgaGF0IHVlYnJpZ2VucyBhdWNoIHNlaXQgbmV1ZXN0ZW0gTXVkLUNsaWVudHMgZnVlcgpXaW5kb29mIChXaW5zb2NrKS4gTVVUVC1MdCB1bmQgZWluIHBhYXIgYW5kZXJlLiBWaWVsbGVpY2h0IG5pY2h0IHNvIGZsZXhpYmVsCndpZSB0ZiwgYWJlciBhbGxlbWFsIGJlc3NlciBhbHMgbm9ybWFsZSBUZWxuZXRzLgpCYXJvbiAtIGltbWVyIGJlc29yZ3QgdW0gc2VpbmUgTWl0LVdpbmRvb2YtTXVkZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGVnYXN1cy1NYWlsIChHb2x1bSwgIDEuIFNlcCAxOTk1LCAwMTo1NTozMCk6CiMhIHJuPUJhcm9uIHJ0PTgwOTg3ODUyMQpKYSAuLi4gZnJldXQgbWljaCBqYSBmdWVyIFdpbmRvb2YtVXNlciAuLi4gYWJlciB3YXMgaXN0IG1pdCBkZW4gTUFjcyAuLi4KV2Vpc3Mgd2VyIG9iIGVzIGZ1ZXIgZGllIGF1Y2ggc28gbmV0dGUgU2FjaGVuIGdpYnQgPwpHb2x1bSB3YXJ0ZXQgZ2VzcGFubnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBlZ2FzdXMtTWFpbCAoSGFyLCAgMS4gU2VwIDE5OTUsIDEzOjM4OjQ5KToKIyEgcm49R29sdW0gcnQ9ODA5OTEzMzMwClRqYSB1bmQgd2FzIGlzdCBtaXQgT1MvMiA/IEdpdHMgZGEgd2FzPwpoYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVtYWNzIChMaSwgMjIuIFNlcCAxOTk1LCAxMTo0Njo0MSk6CkhhbGxvIQpJY2ggaGFiZSBoZXV0ZSB1bnRlciBvcGVuL3NvZnR3YWVyZSBlaW4gbHBjLW1vZGUuZWwgZnVlciBlbWFjcyBnZXNlaGVuLiBudW4KbWVpbmUgRnJhZ2U6IFdhcyBicmluZ3QgbWlyIGRhcyBmdWVyIGVtYWNzIChrYW5uIGVzIG1pciBzY2hvbiB2b3JzdGVsbGVuLApmcmFnZSBpc3QgZWhlciByaGV0b3Jpc2NoKSB1bmQgd2llIGthbm4gaWNoIGRpZXNlKG4pPyBNb2RlIGluIG1laW4gZW1hY3MKZWluYmF1ZW4/CgpMaSAoaGF0IGtlaW5lIEx1c3QsIHVudGVyIGVtYWNzIGRpZSBIaWxmZSBpbiBBbnNwcnVjaCB6dSBuZWhtZW4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWRyZXNzZW4gKEdyaW1tYm9ybiwgMjQuIFNlcCAxOTk1LCAxNjo0NDowMyk6CgpHaWJ0cyBpcmdlbmQgZWluZSBzdXBwb3J0LUFkcmVzc2Ugdm9uIEhQIHVuZCBDYW5vbj8KSWNoIHN1Y2hlIGVpbmVuIERydWNrZXJ0cmVpYmVyIGZ1ZXIgZWluIGFsdGVzIFByb2dyYW1tLCB1LlUuIG11c3MgaWNoIGRhcyBlaApzaW11bGllcmVuICh3ZW5uIGRhcyBtYWwgZ3V0IGdlaHQuLi4pLiBEaWUgRWRpdG9yZnJpdHplbiBrb25udGVuIG1pcgpqZWRlbmZhbGxzIG5pY2h0IHdlaXRlcmhlbGZlbiwgaW1tZXJoaW4gaXN0IGRhcyBQcm9ncmFtbSBzZWl0IHJ1bmQgNCBKYWhyZW4Kdm9tIE1hcmt0LgpXZW5ucyBlbGVnYW50ZXJlIExvZXN1bmdlbiBnaWJ0LCB1bSBhbHRlIHNvZnR3YXJlIG1pdCBuZXVlbiBEcnVja2VybiB6dQpiZXRyZWliZW4sIGJpbiBpY2ggbmF0dWVybGljaCBmdWVyIFZvcnNjaGxhZWdlIGRhbmtiYXIuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIEhldXRlIG1hbCBhdXMgTGluei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBZHJlc3NlbiAoR29sdW0sIDI0LiBTZXAgMTk5NSwgMjA6NTQ6NDUpOgojISBybj1HcmltbWJvcm4gcnQ9ODExOTU3NDQzCkhtIGRpZSBFdXJvcGFlaXNjaGUgS29udGFrdEFkZHJlc3NlIHZvbiBIUCBpc3QgOgpIZXdsZXR0LVBhY2thcmQgR21iaC4KQWJ0ZWlsdW5nIFpRLyBTdGFuZGFyZHMgRXVyb3BlCkhlcnJlbmJlcmdlcnN0ci4gMTMwCkQtNzEwMzQgQm9lYmxpbmdlbgpGQVg6IDA3MDMxIDE0MyAxNDMKCkdydXNzIEdvbHVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWRyZXNzZW4gKFNoaW5vYmksIDI1LiBTZXAgMTk5NSwgMTI6NTI6MzEpOgpXZW5uIER1IFRyZWliZXIgZnVlciBIUC1Qcm9kdWt0ZSBzdWNoc3QsIGhpZXIgZWluIFVSTCBpbiBEZXV0c2NobGFuZC4KRG9ydCBzaW5kIGFsbGUgdmVyZnVlZ2JhcmVuIFRyZWliZXIgZ2VzcGllZ2VsdC4KaHR0cDovL3d3dy5sZW8ub3JnL2NnaS1iaW4vbGVvLWRscy9wdWIvY29tcC9kZXZpY2VzL2hwLzAwLWluZGV4Lmh0bWwKClZpZWwgR2x1ZWNrIGJlaSBkZXIgU3VjaGUgbmFjaCBkZW0gcmljaHRpZ2VuIChmYWxscyBlcyBkZW4gdWViZXJoYXVwdCBub2NoCmdpYnQpLgoKU2hpbm9iaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQkFTSUMgKFllbmRpLCAyNi4gT2t0IDE5OTUsIDE1OjM0OjU2KToKCkVzIHNjaGVpbnQgdGF0c2NobGljaCBlaW5pZ2UgTGV1dGUgenUgZ2ViZW4sIGRpZSBkZW4gbGV0enRqaHJpZ2VuIEdld2lubmVyCmRlcyAnb2JmdXNjYXRlJy1XZXR0YmV3ZXJicyBub2NoIG5pY2h0IGthbm50ZW46CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQmVzdCBMYW5ndWFnZSBUb29sOiA8ZGRzQGNjLmljLmFjLnVrPiBEaW9taWRpcyBTcGluZWxsaXMKCiAgICAgICAgRGlvbWlkaXMgU3BpbmVsbGlzCiAgICAgICAgSW1wZXJpYWwgQ29sbGVnZSwgVW5pdmVyc2l0eSBvZiBMb25kb24KICAgICAgICBNeXJzaW5pcyAxCiAgICAgICAgR1ItMTQ1IDYyIEtpZmlzc2lhCiAgICAgICAgR3JlZWNlCgoKSnVkZ2VzJyBjb21tZW50czoKCiAgICBDb21waWxlIGFuZCBydW4uICBHaXZlIHRoZSBmb2xsb3dpbmcgbGluZXMgYXMgaW5wdXQ6CgogICAgICAgIE9MRCBMQU5ERVIuQkFTCiAgICAgICAgUlVOCgogICAgQmUgc3VyZSBub3QgdG8gcnVuIG91dCBvZiBmdWVsIQoKClNlbGVjdGVkIG5vdGVzIGZyb20gdGhlIGF1dGhvcjoKCiAgICBUaGlzIGlzIHRoZSBERFMtQkFTSUMgSW50ZXJwcmV0ZXIgKFZlcnNpb24gMS4wMCkuCgogICAgSW1tZWRpYXRlIGNvbW1hbmRzOgoKICAgICAgICBSVU4gICAgIExJU1QgICAgTkVXICAgICBPTEQgZmlsZW5hbWUKICAgICAgICBCWUUgICAgIFNBVkUgZmlsZW5hbWUKCiAgICBQcm9ncmFtIGNvbW1hbmRzOgoKICAgICAgICB2YXJpYWJsZSBuYW1lcyBhIHRvIHogICAgICAgICAgIHZhcmlhYmxlcyBpbml0aWFsaXplZCB0byAwIG9uIFJVTgogICAgICAgIEZPUiB2YXIgPSBleHAgVE8gZXhwICAgICAgICAgICAgTkVYVCB2YXJpYWJsZQogICAgICAgIEdPU1VCIGV4cCAgICAgICAgICAgICAgICAgICAgICAgUkVUVVJOCiAgICAgICAgR09UTyBleHAgICAgICAgICAgICAgICAgICAgICAgICBJRiBleHAgVEhFTiBleHAKICAgICAgICBJTlBVVCB2YXJpYWJsZSAgICAgICAgICAgICAgICAgIFBSSU5UIHN0cmluZwogICAgICAgIFBSSU5UIGV4cCAgICAgICAgICAgICAgICAgICAgICAgdmFyID0gZXhwCiAgICAgICAgUkVNIGFueSB0ZXh0ICAgICAgICAgICAgICAgICAgICBFTkQKCiAgICBFeHByZXNzaW9ucyAocmFua2VkIGJ5IHByZWNlZGVuY2UpOgoKICAgICAgICBCcmFja2V0ZWQgZXhwcmVzc2lvbnMKICAgICAgICBudW1iZXIgKGxlYWRpbmcgMCBmb3Igb2N0YWwsIDB4IGZvciBoZXgsIGVsc2UgZGVjaW1hbCksIHZhcmlhYmxlCiAgICAgICAgVW5hcnkgLQogICAgICAgICogLwogICAgICAgICsgLQogICAgICAgID0gPD4KICAgICAgICA+IDwKICAgICAgICA8PSA+PQogICAgICAgICgqIGFuZCArIGFyZSBhbHNvIHVzZWQgZm9yIGJvb2xlYW4gQU5EIGFuZCBib29sZWFuIE9SKQogICAgICAgIEJvb2xlYW4gZXhwcmVzc2lvbnMgZXZhbHVhdGUgdG8gMCBmb3IgZmFsc2UgYW5kIDEgZm9yIHRydWUKCiAgICBFZGl0aW5nOgoKICAgICAgICAtIExpbmUgZWRpdG9yIHVzaW5nIGxpbmUgcmUtZW50cnkuCiAgICAgICAgLSBBIGxpbmUgbnVtYmVyIHdpdGggbm90aGluZyBmb2xsb3dpbmcgaXQsIGRlbGV0ZXMgdGhlIGxpbmUuCgogICAgSW5wdXQgZm9ybWF0OgoKICAgICAgICAtIEZyZWUgZm9ybWF0IHBvc2l0aW9uaW5nIG9mIHRva2VucyBvbiB0aGUgbGluZS4KICAgICAgICAtIE5vIHNwYWNlIGlzIGFsbG93ZWQgYmVmb3JlIHRoZSBsaW5lIG51bWJlci4KICAgICAgICAtIEV4YWN0bHkgb25lIHNwYWNlIGlzIG5lZWRlZCBiZXR3ZWVuIHRoZSBPTEQgb3IgU0FWRSBjb21tYW5kIGFuZAogICAgICAgICAgdGhlIGZpbGVuYW1lLgogICAgICAgIC0gQUxMIElOUFVUIE1VU1QgQkUgVVBQRVJDQVNFLgoKICAgIExpbWl0czoKCiAgICAgICAgTGluZSBudW1iZXJzICAgICAgICAgICAgMS0xMDAwMAogICAgICAgIExpbmUgbGVuZ3RoICAgICAgICAgICAgIDk5OSBjaGFyYWN0ZXJzCiAgICAgICAgRk9SIG5lc3RpbmcgICAgICAgICAgICAgMjYKICAgICAgICBHT1NVQiAgICAgICAgICAgICAgICAgICA5OTkgbGV2ZWxzCiAgICAgICAgUHJvZ3JhbSAgICAgICAgICAgICAgICAgRHluYW1pY2FsbHkgYWxsb2NhdGVkCiAgICAgICAgRXhwcmVzc2lvbnMgICAgICAgICAgICAgLTMyNzY4IC0gMzI3NjcgZm9yIDE2IGJpdCBtYWNoaW5lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMjE0NzQ4MzY0OCAtIDIxNDc0ODM2NDcgZm9yIDMyIGJpdCBtYWNoaW5lcwoKICAgIEVycm9yIGNoZWNraW5nIC8gZXJyb3IgcmVwb3J0czoKCiAgICAgICAgTm8gZXJyb3IgY2hlY2tpbmcgaXMgcGVyZm9ybWVkLgogICAgICAgIFRoZSBtZXNzYWdlIGBjb3JlIGR1bXBlZCcgc2lnbmlmaWVzIGEgc3ludGF4IG9yIHNlbWFudGljIGVycm9yLgoKICAgIEhvc3RpbmcgRW52aXJvbm1lbnQ6CgogICAgICAgIEFOU0kgQywgdHJhZGl0aW9uYWwgSyZSIEMgb3IgT1NGIEFOREYKICAgICAgICBBU0NJSSBvciBFQkNJRElDIGNoYXJhY3RlciBzZXQKICAgICAgICA0OEsgYnl0ZXMgbWVtb3J5CgogICAgVGhlIFNwZWVkIG9mIEREUy1CQVNJQyBJbnRlcnByZXRlciAoVmVyc2lvbiAxLjAwKS4gcmVsYXRpdmUgdG8KICAgIE1pY3Jvc29mdCBBZHZhbmNlZCBCQVNJQyAzLjMxIGlzIEFwcHJveGltYXRlbHkgNjAlLgogICAgVGhlIGNvZGUgc2l6ZSBjb3VsZCBiZSBmdXJ0aGVyIHJlZHVjZWQgYnkgZG9pbmcgdWdseSB0aGluZ3MgbGlrZQogICAgbm90IGRlY2xhcmluZyB0aGUgcmV0dXJuIHR5cGUgb2YgZnVuY3Rpb25zLCBub3QgZnJlZWluZyBtZW1vcnksCiAgICAjZGVmaW5pbmcgZGVmaW5lLCBhbmQgam9pbmluZyBsaW5lcy4gIEluIGl0cyBwcmVzZW50IDE1MzYgY2hhcmFjdGVyCiAgICBmb3JtIHRoZSBwcm9ncmFtIGlzIHJlYXNvbmFibHkgcG9ydGFibGUgKGl0IG1heSBmYWlsIHRvIHJ1biBpbiBhCiAgICB0YWdnZWQgb2JqZWN0IGFyY2hpdGVjdHVyZSkgYW5kIG5pY2VseSBmb3JtYXR0ZWQgKGl0IGZpdHMgaW4gYW4KICAgIDgwKjI1IHNjcmVlbikuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI2RlZmluZSBPKGIsZix1LHMsYyxhKWIoKXtpbnQgbz1mKCk7c3dpdGNoKCpwKyspe1ggdTpfIG8gcyBiKCk7WCBjOl8gbyBhCmIoKTtcCmRlZmF1bHQ6cC0tO18gbzt9fQojZGVmaW5lIHQoZSxkLF8sQylYIGU6Zj1mb3BlbihCK2QsXyk7QztmY2xvc2UoZikKI2RlZmluZSBVKHkseil3aGlsZShwPVEocyx5KSkqcCsrPXosKnA9JyAnCiNkZWZpbmUgTiBmb3IoaT0wO2k8MTEqUjtpKyspbVtpXSYmCiNkZWZpbmUgSSAiJWQgJXNcbiIsaSxtW2ldCiNkZWZpbmUgWCA7YnJlYWs7Y2FzZQojZGVmaW5lIF8gcmV0dXJuCiNkZWZpbmUgUiA5OTkKdHlwZWRlZiBjaGFyKkE7aW50KkMsRVtSXSxMW1JdLE1bUl0sUFtSXSxsLGksajtjaGFyIEJbUl0sRlsyXTtBCm1bMTIqUl0sbWFsbG9jCigpLHAscSx4LHkseixzLGQsZixmb3BlbigpO0EgUShzLG8pQQpzLG87e2Zvcih4PXM7Kng7eCsrKXtmb3IoeT14LHo9bzsqeiYmKnk9PQoqejt5KyspeisrO2lmKHo+byYmISp6KV8geDt9XyAgCjA7fW1haW4oKXttWzExKlJdPSJFIjt3aGlsZShwdXRzKCJPayIpLGdldHMoQikKKXN3aXRjaCgqQil7WCdSJzpDPUU7bD0xO2ZvcihpPTA7aTxSO1BbaSsrXT0wKTt3aGlsZShsKXt3aGlsZSghKHM9bVtsXSkpbCsrO2lmCighUShzLCJcIiIpKXtVKCI8PiIsJyMnKTtVKCI8PSIsJyQnKTtVKCI+PSIsJyEnKTt9ZD1CO3doaWxlKCpGPSpzKXsqcz09JyInJiZqCisrO2lmKGomMXx8IVEoIgpcdCIsRikpKmQrKz0qcztzKys7fSpkLS09aj0wO2lmKEJbMV0hPSc9Jylzd2l0Y2goKkIpe1gnRSc6bD0tMQpYJ1InOkJbMl0hPSdNJyYmKGw9Ki0tQylYJ0knOkJbMV09PSdOJz9nZXRzKHA9QiksUFsqZF09UygpOigqKHE9UShCLCJUSCIpKT0wLHAKPUIrMixTKCkmJihwPXErNCxsPVMoKS0xKSlYJ1AnOkJbNV09PSciJz8qZD0wLHB1dHMoQis2KToocD1CKzUscHJpbnRmKCIlZFxuIixTCigpKSlYJ0cnOnA9Qis0LEJbMl09PSdTJyYmKCpDKys9bCxwKyspLGw9UygpLTEKWCdGJzoqKHE9UShCLCJUTyIpKT0wO3A9Qis1O1BbaQo9QlszXV09UygpO3A9cSsyO01baV09UygpO0xbaV09bCBYJ04nOisrUFsqZF08PU1bKmRdJiYobD1MWypkXSk7fWVsc2UKcD1CKzIsUFsKKkJdPVMoKTtsKys7fVgnTCc6TiBwcmludGYoSSlYJ04nOk4gZnJlZShtW2ldKSxtW2ldPTAgICBYJ0InOl8gMAp0KCdTJyw1LCJ3IixOCmZwcmludGYoZixJKSl0KCdPJyw0LCJyIix3aGlsZShmZ2V0cyhCLFIsZikpKCpRKEIsIlxuIik9MCxHKCkpKVgKMDpkZWZhdWx0OkcoKQo7fV8gMDt9Rygpe2w9YXRvaShCKTttW2xdJiZmcmVlKG1bbF0pOyhwPVEoQiwiCiIpKT9zdHJjcHkobVtsXT1tYWxsb2Moc3RybGVuKHAKKSkscCsxKToobVtsXT0wLDApO31PKFMsSiwnPScsPT0sJyMnLCE9KU8oSixLLCc8Jyw8LCc+Jyw+KU8oSyxWLCckJyw8PSwnIScsPj0pCk8oVixXLCcrJywrLCctJywtKU8oVyxZLCcqJywqLCcvJywvKVkoKXtpbnQgbztfKnA9PSctJz9wKyssLVkoKToqcD49JzAnJiYqcDw9Cic5Jz9zdHJ0b2wocCwmcCwwKToqcD09JygnP3ArKyxvPVMoKSxwKyssbzpQWypwKytdO30KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoxMCBSRU0gTHVuYXIgTGFuZGVyCjIwIFJFTSBCeSBEaW9taWRpcyBTcGluZWxsaXMKMzAgUFJJTlQgIllvdSBhYm9hcmQgdGhlIEx1bmFyIExhbmRlciBhYm91dCB0byBsZWF2ZSB0aGUgc3BhY2VjcmFmdC4iCjYwIEdPU1VCIDQwMDAKNzAgR09TVUIgMTAwMAo4MCBHT1NVQiAyMDAwCjkwIEdPU1VCIDMwMDAKMTAwIEggPSBIIC0gVgoxMTAgViA9ICgoViArIEcpICogMTAgLSBVICogMikgLyAxMAoxMjAgRiA9IEYgLSBVCjEzMCBJRiBIID4gMCBUSEVOIDgwCjEzNSBIID0gMAoxNDAgR09TVUIgMjAwMAoxNTAgSUYgViA+IDUgVEhFTiAyMDAKMTYwIFBSSU5UICJDb25ncmF0dWxhdGlvbnMhICBUaGlzIHdhcyBhIHZlcnkgZ29vZCBsYW5kaW5nLiIKMTcwIEdPU1VCIDUwMDAKMTgwIEdPVE8gMTAKMjAwIFBSSU5UICJZb3UgaGF2ZSBjcmFzaGVkLiIKMjEwIEdPVE8gMTcwCjEwMDAgUkVNIEluaXRpYWxpc2UKMTAxMCBWID0gNzAKMTAyMCBGID0gNTAwCjEwMzAgSCA9IDEwMDAKMTA0MCBHID0gMgoxMDUwIFJFVFVSTgoyMDAwIFJFTSBQcmludCB2YWx1ZXMKMjAxMCBQUklOVCAiICAgICAgICBNZXRlciByZWFkaW5ncyIKMjAxNSBQUklOVCAiICAgICAgICAtLS0tLS0tLS0tLS0tLSIKMjAyMCBQUklOVCAiRnVlbCAoZ2FsKToiCjIwMzAgUFJJTlQgRgoyMDQwIEdPU1VCIDIxMDAgKyAxMDAgKiAoSCA8PiAwKQoyMDUwIFBSSU5UIFYKMjA2MCBQUklOVCAiSGVpZ2h0IChtKToiCjIwNzAgUFJJTlQgSAoyMDgwIFJFVFVSTgoyMTAwIFBSSU5UICJMYW5kaW5nIHZlbG9jaXR5IChtL3NlYyk6IgoyMTEwIFJFVFVSTgoyMjAwIFBSSU5UICJWZWxvY2l0eSAobS9zZWMpOiIKMjIxMCBSRVRVUk4KMzAwMCBSRU0gVXNlciBpbnB1dAozMDA1IElGIEYgPSAwIFRIRU4gMzA3MAozMDEwIFBSSU5UICJIb3cgbXVjaCBmdWVsIHdpbGwgeW91IHVzZT8iCjMwMjAgSU5QVVQgVQozMDI1IElGIFUgPCAwIFRIRU4gMzA5MAozMDMwIElGIFUgPD0gRiBUSEVOIDMwNjAKMzA0MCBQUklOVCAiU29ycnksIHlvdSBoYXZlIG5vdCBnb3QgdGhhdCBtdWNoIGZ1ZWwhIgozMDUwIEdPVE8gMzAxMAozMDYwIFJFVFVSTgozMDcwIFUgPSAwCjMwODAgUkVUVVJOCjMwOTAgUFJJTlQgIk5vIGNoZWF0aW5nIHBsZWFzZSEgIEZ1ZWwgbXVzdCBiZSA+PSAwLiIKMzEwMCBHT1RPIDMwMTAKNDAwMCBSRU0gRGV0YWNobWVudAo0MDA1IFBSSU5UICJSZWFkeSBmb3IgZGV0YWNobWVudCIKNDAwNyBQUklOVCAiLS0gQ09VTlRET1dOIC0tIgo0MDEwIEZPUiBJID0gMSBUTyAxMQo0MDIwICAgUFJJTlQgMTEgLSBJCjQwMjUgICBHT1NVQiA0NTAwCjQwMzAgTkVYVCBJCjQwMzUgUFJJTlQgIllvdSBoYXZlIGxlZnQgdGhlIHNwYWNlY3JhZnQuIgo0MDM3IFBSSU5UICJUcnkgdG8gbGFuZCB3aXRoIHZlbG9jaXR5IGxlc3MgdGhhbiA1IG0vc2VjLiIKNDA0MCBSRVRVUk4KNDUwMCBSRU0gRGVsYXkKNDUxMCBGT1IgSiA9IDEgVE8gNTAwCjQ1MjAgTkVYVCBKCjQ1MzAgUkVUVVJOCjUwMDAgUFJJTlQgIkRvIHlvdSB3YW50IHRvIHBsYXkgYWdhaW4/ICgwID0gbm8sIDEgPSB5ZXMpIgo1MDEwIElOUFVUIFkKNTAyMCBJRiBZID0gMCBUSEVOIDUwNDAKNTAzMCBSRVRVUk4KNTA0MCBQUklOVCAiSGF2ZSBhIG5pY2UgZGF5LiIKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCQVNJQyAoWWVuZGksIDI2LiBPa3QgMTk5NSwgMTU6MzY6NDQpOgojISBybj1ZZW5kaSBydD04MTQ3MTgwOTYKCklycmUsIHdhcz8gRWluIGtvbXBsZXR0ZXIgQkFTSUMtSW50ZXJwcmV0ZXIgYXVmIG5pY2h0IGVpbm1hbCA0MCBaZWlsZW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBYLVNlcnZlciBmdWVyIFN0aW5ncmF5IFBybyAoQmxvb2R5aGFycnksIDI3LiBOb3YgMTk5NSwgMTQ6NTY6NTMpOgpIaWhvIQoKSWNoIHN1Y2hlIGVpbmVuIFRyZWliZXIgZnVlciBlaW5lIEhlcmN1bGVzIFN0aW5ncmF5IFBybyBHcmFmaWtrYXJ0ZS4KSW5zdGFsbGllcnQgaGFiZSBpY2ggTGludXggMS4yLjMgdW5kICBYMTFSNi4KCkFob2kKT3BhcGlyYXQgQi5IYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9uaXRvci1BdXN3YWhsIChUYXJraW4sICA3LiBEZXogMTk5NSwgMTI6NTg6NTEpOgpXZXIga2FubiBtaXIgbWFsIHBsYXVzaWJlbCBrbGFybWFjaGVuIHdvIGRlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBNUFIyLSB1bmQKVENPOTItTm9ybSBsaWVndD8gSWNoIGJpbiBhbSB1ZWJlcmxlZ2VuLCBvYiBzaWNoIDEyME1BcmsgbWVociBmdWVyIGVpbmVuIFNvbnkKbWl0IFRDTzkyLU5vcm0gbG9obnQhIEVTIEVJTFQhCgpDaWFvICAgICAgIFRhcmtpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vbml0b3ItQXVzd2FobCAoR3JpbW1ib3JuLCAgNy4gRGV6IDE5OTUsIDE0OjMzOjA0KToKIyEgcm49VGFya2luIHJ0PTgxODMzNzUzMQoKV2VubiBlcyBEaXIgc28gZWlsdCwgZGFzcyBEdSBuaWNodCB3YXJ0ZW4ga2FubnN0LCBvYiBEdSAxMjAgRE0gc3BhcmVuIGthbm5zdCwKZGFubiBuaW1tIGRhcyB0ZXVyZXJlIFRlaWwuClNjaGVpbnQgamEgbmljaHQgc28gZHJhdWYgYW56dWtvbW1lbi4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkZHJpdmVyIChBbmFraW4sICA3LiBEZXogMTk5NSwgMTY6MDU6NDUpOgpIaSwKCkljaCBoYWIgbmVuIFByb2JsZW0gbWl0IGRlbSBNdWREcml2ZXIuCktvbXBpbGllcnQgaGFiIGljaCBpY2ggYXVmIG5lciBhbmRlcmVuIEtpc3RlLCBhbHMgZXIKamV0enQgbGF1ZmVuIHNvbGwuCkJlaW0gSG9jaGZhaHJlbiBlcnNjaGVpbnQgYWJlciBmb2xnZW5kZXM6CkZJTEVfTElNSVQgc2V0IHRvIDI1MDAKZ2V0aG9zdGJ5bmFtZTogdW5rbm93biBob3N0LgpIbW0gd2FydW0gYnJpY2h0IGVyLCBuYWphIG5pY2h0IHdhcnVtLCBzb25kZXJuIHdpZQprYW5uIGljaCBkYXMgYmVoZWJlbj8KSXJnZW5kamVtYW5kIG5lIElkZWU/CgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkZHJpdmVyIChIYW5kaSwgIDcuIERleiAxOTk1LCAxNjoyMTowNCk6CiMhIHJuPUFuYWtpbiBydD04MTgzNDg3NDUKZ2FueiBlaW5mYWNoIGNvbXBpbGllcmUgaWhuIGJlaSBkaWUgdW5kIHNldHplIGluIGRlciBjb2ZpZy5oIGRpZSB3ZXJ0ZQpoZXJ1bnRlciB6YiBmaWxlX2xpbWl0CnVuZCBlciBrYW5uIGRlbiBob3N0IG5pY2h0IGtlbm5lbix3ZWlsIGRlciBob3N0IGF1ZiBkZW0gYW5kZXJlbiByZWNobmVyLHdvIGR1CmRhcyBwcm9ncmFtbSBjb21waWxpZXJ0ZSBoYXN0LCB3YXJzY2hlaW5saWNoIGVpbmVuIGFuZGVyZW4gaG9zdG5hbWVuIGhhdHRlIGFscwpkZWluZXIsIHZlcnN1Y2hlIGVpbm1hbCBkZWluZW4gaG9zdG5hbWVuIHp1IGFlbmRlcm4sd2VubiBkdSBkYXMgcHJvZ3JhbW0gbmljaHQKbm9jaCBtYWwgY29tcGlsaWVyZW4gbW9lY2h0ZXN0CmFiZXIgaWNoIGhhYmUgYXVjaCBlaW4gcHJvYmxlbSBtaXQgZGVtIGRyaXZlciwgYmVpIG1pciBsYWVzc3QgZXIgc2ljaCBuaWNodAppbnN0YWxsaWVyZW4sIHdlaWwgZXIgZWluCmZlaWxlIG5hbWVucyBwYXJzZS5pbnN0YWxsIHN1Y2h0KGluIC9zci9iaW4vaW5zdGFsbDoKL3UvbXVkL2Jpbi4vcGFyc2UuaW5zdGFsbCA6bm8gc3VjaCBmaWxlKSBhYmVyIG5pY2h0IGZpbmRldAp1bmQgd2VubiBpY2ggZWluZW4gdm9yY29tcGlsaWVydGVzIHByb2dyYW1tIGJlbnV0emUga29tbXQgRklMRV9MSU1JVCBzZXQgdG8KMjU2IEJhZCBtdWRsaWIgZGlyZWt0b3J5OiAvdS9tdWQvbXVkbGliLCBvYndvaGwgZGllIG11ZGxpYiBnZW5hdSBkb3J0IHN0ZWh0CgpoYW5kaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWRkcml2ZXIgKEd1bmR1ciwgIDguIERleiAxOTk1LCAwOTo0NzozNik6CiMhIHJuPUhhbmRpIHJ0PTgxODM0OTY2NApBbHNvIGljaCBoYXR0ZSBkYXMgUHJvYmxlbSBtaXQgZ2V0aG9zdGJ5bmFtZSBhdWNoIHVuZCBkYXMgaGF0IHdvaGwgYXVjaCBiZWkKQW5ha2luIG5peCBkYW1pdCB6dSB0dW4gZGFzcyBlciBlcyBhdWYgbmVtIGFuZGVyZW4gUmVjaG5lciBjb21waWxpZXJ0IGhhdC4uaWNoCmRlbmtlIHp1bWluZGVzdCBiZWkgbWlyIGlzdCBkZXIgUmVjaG5lciBlaW5mYWNoIHNjaCoqIGtvbmZpZ3VyaWVydCB3ZWlsIGF1ZgpkZW0gUmVjaG5lciBuZWJlbmFuIGdpbmdzIGRhbm4gKnp1Y2sqIGxlaWRlciBrZW5uIGljaCBtaWNoIG1pdApOZXR6a29uZmlndXJhdGlvbmVuIHNvZ3V0IHdpZSBnYXIgbmljaHQgYXVzIHRzY2hhCkdydXNzIEd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVkZHJpdmVyIChIYXRlLCAgOC4gRGV6IDE5OTUsIDEwOjE1OjE5KToKIyEgcm49R3VuZHVyIHJ0PTgxODQxMjQ1NgpEYXMgUHJvYmxlbSBsaWVndCBlaW5mYWNoIGRhcmFuLCBkYXNzIGF1ZiBkZW0gUmVjaG5lciBzY2hlaW5iYXIgZGFzIE5TIGxvb2t1cApuaWNodCBmdW5rdGlvbmllcnQgdW5kIGRhbWl0IGRpZSBGdW5rdGlvbiBnZXRob3N0YnluYW1lKCkgbmljaHQga2xhcHB0LgpIYXRlLgpubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vbml0b3ItQXVzd2FobCAoQ3JlYXRpdmUsIDExLiBEZXogMTk5NSwgMDg6NTQ6MjUpOgojISBybj1UYXJraW4gcnQ9ODE4MzM3NTMxCgpUQ08gJzkyIGlzdCBkaWUgbmV1ZXJlIE5vcm0uIE1QUjIgd2llIGF1Y2ggVENPIHN0YW1tZW4gYXVzIFNrYW5kaW5hdmllbiwgYmVpCmRlciB3YXN3ZWlzc2ljaHdpZWRpZWhlaXNzdC1Lb25mZXJlbnouIFRDTyBpc3QgcmVzdGlrdGl2ZXIgYmVpIFN0cmFobHVuZywKdW5kIGRpZSB3ZXNlbnRsaWNoIGJlc3NlcmUgTm9ybSwgd2VpbCBhdXNnZWZlaWx0ZXIgdW5kIHp1a3VuZnRzdHJhZWNodGlnZXIuCk1QUjIgdHV0cyB3b2hsIGF1Y2ggbm9jaCwgYWJlciB3ZW5uIGVzIERpciBhdWYgZGllIDEyMCBETSBuZXQgYW5rb21tdCwgbmltbQpEaXIgZGVuIFRDTywgbWFuIGthbm4gZXR3YXMgbGFlbmdlciBkYXZvciBzaXR6ZW4sIGFscyB2b3IgZWluZW0gTVBSMi4gRGVyClByZWlzdW50ZXJzY2hpZWQgZ2ViYXJ0IHNpY2ggYXVzc2NobGllc3NsaWNoIGR1cmNoIGRlbiBVbnRlcnNjaGllZCBkZXIgTm9ybSwKd2VpbCBUQ08gZWluZSBhbmRyZSBUZWNobmlrIHZvcnJhdXNzZXR6dCBhbHMgTVBSMiAtIGRlciBWb3J0ZWlsIGlzdCBkYW5uLApkYXNzIGRpZSBTdHJhaGx1bmcgZWluZW4gdmllbCB3ZW5pZ2VyIGFuZ3JlaWZ0ICh1bnRlciAiIikuCgotQ3JlYS0sIChkYXMgd2FyIGtlaW4gVmVya2F1ZnNnZXNwcmFlY2ggOikpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb25pdG9yLUF1c3dhaGwgKEdyaW1tYm9ybiwgMTEuIERleiAxOTk1LCAxNTo0MzozMyk6CiMhIHJuPUNyZWF0aXZlIHJ0PTgxODY2ODQ2NQoKTnVyIHVtIGRhcyBrbGFyenVzdGVsbGVuOiBTb3dvaGwgTVBSMiBhbHMgYXVjaCBUQ08ga29tbWVuIG5pY2h0IG51ciBhdXMKU2thbmRpbmF2aWVuLCBzb25kZXJuIHNvZ2FyIGF1cyBTY2h3ZWRlbi4gQWxzbyB6LkIuIG5pY2h0IGF1cyBOb3J3ZWdlbiwgd2FzIGphCmJla2FubnRsaWNoIG5hY2ggZGVyIGRvcnRpZ2VuIEFic3RpbW11bmcgenVyIEVVIG5pY2h0bWFsIHp1IEV1cm9wYSBzb25kZXJuIHp1CkhpbnRlcmluZGllbiBvZGVyIFplbnRyYWxhc2llbiBvZGVyIHdhc3dlaXNzaWNod29oaW4gZ2Vob2VydC4uLiA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCB1bmQgU2Nod2VkZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWRkcml2ZXIgKEljZXQsIDE3LiBEZXogMTk5NSwgMDU6NDA6MzgpOgojISBybj1IYW5kaSBydD04MTgzNDk2NjQKTm9lLCBkYXMgaGF0IG5peCBkYW1pdCB6dSB0dW4sIGF1ZiB3ZWxjaGVtIFJlY2huZXIobmFtZW4pIGRlciBnYW1lZHJpdmVyCmtvbXBpbGllcnQgd3VyZGUuCkRlaW4gUmVjaG5lciBoYXQga2VpbmVuIGdlc2NoZWl0ZW4gTmFtZW4gdW5kIGdldGhvc3RieW5hbWUoKSBmaW5kZXQgbml4LiBFaW4KRWludHJhZyBpbiAvZXRjL2hvc3RzIHVuZCB2aWVsbGVpY2h0IG5vY2ggbiBwYWFyIGFuZGVyZW4gRGF0ZWllbiBzb2xsdGUgV3VuZGVyCndpcmtlbi4KCi1JY2VUIChoYXR0ZSBkYXMgUHJvYmxlbSBhdWNoIHNjaG9uIG4gcGFhciBtYWwsIGFiZXIgbmllIGJlaSBTbGFja3dhcmUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW5rLVByb2JsZW0gKFdhcmxvcmQsIDE5LiBEZXogMTk5NSwgMjM6Mjg6MTcpOgpIYWxsb2xlLAppY2ggaGFiZSBlaW4gUHJvYmxlbSBiZWltIExpbmtlbiBkZXIgRExMICdsaWJYcG0uc28uNCcuCgpGZWhsZXJtZWxkdW5nOgoKbGQ6IE91dHB1dCBmaWxlIHJlcXVpcmVzIHNoYXJlZCBsaWJyYXJ5ICdsaWJYcG0uc28uNCcKY2M6IEludGVybmFsIGNvbXBpbGVyIGVycm9yOiBwcm9ncmFtIGxkIGdvdCBmYXRhbCBzaWduYWwgNgoKRXMgc2llaHQgc28gYXVzLCB3aWUgd2VubiAnbGQnIHNpZSBuaWNodCBmaW5kZXQsIGRlciBQZmFkCmlzdCBhYmVyIGluICcvZXRjL2xkLnNvLmNvbmYnIGVpbmdldHJhZ2VuLgoKV2VyIGhhdCBuZSBJZGVlIGFuIHdhcyBkYXMgbGllZ2VuIGtvZW5udGU/IE1laW4gRGFuayB3dWVyZGUKaWhuL3NpZSBhdWYgZXdpZyB2ZXJmb2xnZW4sIGRvY2ggbmllIGVycmVpY2hlbiA7KQoKCiAgICAgICAgICAgICAgICAgICAgICAgIFdhcmxvcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW5rLVByb2JsZW0gKEJsb29keWhhcnJ5LCAyMC4gRGV6IDE5OTUsIDA4OjI1OjEzKToKIyEgcm49V2FybG9yZCBydD04MTk0MTIwOTcKQWVuZGVyZSBpbSBtYWtlZmlsZSBkaWUgZW50c3ByZWNoZW5kZW4gWmVpbGVuIGF1ZjoKT1BUSU1JWkU9IC1nCkxJQlM9IC1sYwoKQi5IYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW5rLVByb2JsZW0gKEJsb29keWhhcnJ5LCAyMC4gRGV6IDE5OTUsIDIxOjM2OjEzKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTgxOTQ0NDMxMwp+IyEgdGlkPTgxOTQ0NDMxMwpJY2ggaGFiZSBub2NoIGVpbm1hbCBuYWNoZ2VzY2hhdXQgdW5kIG11c3MgbWljaCBqZXR6dCBzZWxic3Qga29ycmlnaWVyZW4uCkRpZSB6d2VpdGUgWmVpbGUgbXVzcyBzbyBhdXNzZWhlbjoKTElCUz0gLWxjIC1sbQoKQi5IYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGluay1Qcm9ibGVtIChXYXJsb3JkLCAyMC4gRGV6IDE5OTUsIDIzOjM1OjQ3KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9ODE5NDkxNzczCmhtbSwgLWxjIGtlbm50IGVyIG5pY2h0IDooIEtvZW5udGVzdCBEdSBtaXIgZXJrbGFlcmVuLCB3YXMgZGllc2VzIEtvbW1hbmRvCmJld2lya2VuIHNvbGwgPyAoYW0gYmVzdGVuIHVlYmVyIG1haWwpCgoJRGFua2UsCgkJV2FybG9yZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGluay1Qcm9ibGVtIChCbG9vZHloYXJyeSwgMjEuIERleiAxOTk1LCAwNzoxODo0OCk6Cn4jISBybj1XYXJsb3JkIHJ0PTgxOTQ5ODk0Nwp+IyEgdGlkPTgxOTQ5ODk0NwpTdGFuZGFydGFudHdvcnQgd2FlcmUgZWlnZW5kbGljaDogUlRGTSAgOykKQWxzbyBtaXQgbWFuIFtnXWNjIGJla29tbXQgbWFuOgouLi4uCiAgICAgLWxsaWJyYXJ5CiAgICAgICAgICBTZWFyY2ggYSBzdGFuZGFyZCBsaXN0IG9mIGRpcmVjdG9yaWVzIGZvciBhIGxpYnJhcnkKICAgICAgICAgIG5hbWVkIGxpYnJhcnksIHdoaWNoIGlzIGFjdHVhbGx5IGEgZmlsZSBuYW1lZAogICAgICAgICAgbGlibGlicmFyeS5hLiAgVGhlIGxpbmtlciB1c2VzIHRoaXMgZmlsZSBhcyBpZiBpdCBoYWQKICAgICAgICAgIGJlZW4gc3BlY2lmaWVkIHByZWNpc2VseSBieSBuYW1lLgouLi4uCgpFcyB3aXJkIGFsc28gbmFjaCBkZW4gTGlicyBsaWJjLmEgdW5kIGxpYm0uYSBnZXN1Y2h0LiBJY2gga2FubiBtaXIgYWxzbyBuaWNodAp2b3JzdGVsbGVuLCBkYXNzIERlaW4gQ29tcGlsZXIgZGVuIEJlZmVobCBuaWNodCBrZW5udC4gQWJlciB2aWVsZWljaHQgaGF0IGVyCmRpZSBsaWJjLmEgbmljaHQgZ2VmdW5kZW4/IFVlYmVycHJ1ZWYgZXJzdCBlaW5tYWwgb2IgZGllc2UgTGliIHVlYmVyaGF1cHQKdm9yaGFuZGVuIGlzdC4KCmNpYW8sIEJsb29keSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJ1bXBldCBXaW5zb2NrZXQgMi4wQiAoQmluZywgMjguIERleiAxOTk1LCAxMDo0Njo0Myk6CkljaCBoYWJlIGVpbiBQcm9ibGVtIG1pdCBUcnVtcGV0IFdpbnNvY2sgMi4wQi4KV2luc29jayBzb2xsIGF1dG9tYXRpc2NoIGJlaW0gU3RhcnQgdm9uIFdpbmRvd3Mgc3RhcnRlbiwgZGF6dSBoYWJlIGljaCBlcyBpbgpkaWUKQXV0b3N0YXJ0Z3J1cHBlIGdlc3RlY2t0LgpEYW5uIGhhYmUgaWNoIHVudGVyIEVpZ2Vuc2NoYWZ0ZW4gYW5nZWtyZXV6dDogUHJvZ3JhbW1zdGFydCBhbHMgU3ltYm9sLgpUcm90emRlbSBnZWh0IFRydW1wZXQgaW1tZXIgYWxzIEZlbnN0ZXIgYW4uCldpZSBrYW5uIGljaCBkYXMgYWVuZGVybj8gSGFiZSBXaW5kb3dzIDMuMTEuCkJpdHRlIEhlbGZ0IG1pci4KZ3J1ZXNzZSBCaW5nLgoKUC5TLiBHdXRlbiBSdXRzY2ggZnVlciBhbGxlIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRydW1wZXQgV2luc29ja2V0IDIuMEIgKENhdHdlYXpsZSwgMjguIERleiAxOTk1LCAxMDo1ODowMSk6Cn4jISBybj1CaW5nIHJ0PTgyMDE0NDAwMwp+IyEgdGlkPTgyMDE0NDAwMwpIaSEKSG0sIG11c3N0ZXMgaW4gZGVyIHdpbi5pbmkgdW50ZXIgJ3J1bj0nIG9kZXIgJ2xvYWQ9JyBlaW50cmFnZW4uCkljaCB3ZWlzcyBqZXR6dCBuaWNodCB3ZWxjaGVzIHdhcyBpc3QuLi5oYWx0IGF1c3Byb2JpZXJlbi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFWi1TQ1NJIDQuMCAoQmluZywgMjguIERleiAxOTk1LCAxMToxMjoxMCk6CkhhbGxvIEljaCBzdWNoZSBFWi1TQ1NJIDQuMCB2b24gQWRhcHRlYy4KSGF0IGRhcyBqZW1hbmQ/IFdlbm4gamEsIHd1ZXJkZSBpY2ggZXMgZ2VybmUgaGFiZW4uCmdydXNzIEJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRydW1wZXQgKEJpbmcsIDI4LiBEZXogMTk5NSwgMTE6NTI6NDYpOgpXZW5uIGljaCBpbiBkZXIgd2luLmluaSB1bnRlciBsb2FkICBvZGVyIHJ1biBkZW4gcGZhZCBmdWVyIHRydW1wZXQKd2luc29jayAyMGIgZWludHJhZ2Ugc3RhcnRldCB0cnVtcGV0IG5pY2h0IGFscyBzeW1ib2wsIHNvbmRlcm4gYWxzCmZlbnN0ZXIuIGthbm4gbWFuIGhpbnRlciBkZW0gbG9hZCBvZGVyIHJ1biBuaWNodCBpcmdlbmR3YXMgd2llCm1pbmltaXplIG9kZXIgc3ltYm9saXplIHdpZSB1bnRlciB4MTEgZWluZ2ViZW4/Pz8KZ3J1c3MgYmluZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hY2ludG9zaC1Ub29scyBmdWVyIE11ZGRlciAoQ2hlYXN5LCAyOC4gRGV6IDE5OTUsIDExOjU3OjQ3KToKRGVyVGl0ZWwgc2FndCdzIHNjaG9uLiBNYWMtVG9vbHMgZnVlciBNdWRkZXIuIEljaCBiZW51dHplOgotIENvbWV0IDMuMTEgKGZ0cC5jaXQuY29ybmVsbC5lZHUsIGZyZWUpCi0gQkJFZGl0IHVtIGRpZSBMb2dzIGF1Znp1ZHJvZXNlbG4uCi0gUG93ZXJUYWxrIGFscyBtYWlsLi4uIEVpbmZhY2ggaW5zdGFsbGllcmVuLCBpc3QgYmVpIFN5cyA3LjUgZGFiZWkKR2lidCdzIGRhIHdhcyBmb3J0c2Nocml0dGxpY2hlcmVzPwpEYW5rYmFyIGZ1ZXIgamVkZW4gSGlud2VpcwotQ2hlYXN5Ci0tLS0KY3NAY2luZXRpYy5kZSwgd2VubidzIGJyZW5udC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0cnVtcGV0IChNb3Jnb3RoLCAyOC4gRGV6IDE5OTUsIDEzOjA0OjQzKToKfiMhIHJuPUJpbmcgcnQ9ODIwMTQ3OTY2Cn4jISB0aWQ9ODIwMTQ3OTY2CmhtbSwgd2VubiBkdSBkaXIgYWxzIHdlaXRlcmVzIGFkZC1vbiBQTFVHSU4gYmVzb3Jnc3QgZ2VodCBkYXMuIHdlbm4gZHUgd2lsbHN0Cmthbm5zdCBkdSBlcyBkaXIgdm9uIG1laW5lbSByZWNobmVyIHBlciBhbm9ueW1vdXMgaG9sZW4KKHRob3IuY2hlbWllLnVuaS1kb3J0bXVuZC5kZSkuIGRhcyBmaWxlIGhlaXNzdCBwbHVnaW4yMi56aXAgKG5ldWUgdmVyc2lvbiAyLjYKaXN0IG1pdCB6ZWl0bGltaXQpLiBhbnNvbnN0ZW4gaG9sIGRpciBkZW4gVENQSVAtdHJlaWJlciB2b24gbWlja2Vyc29mdCwgb2Rlcgp2b24gbWlyKG9yaWdpbmFsIHZvbiBtaWNrZXJzb2Z0LCBuaXggZ2VhZW5kZXJ0ISEhKS4gZmlsZW5hbWU6IHdvbHY0Ni5leGUuCmRhZnVlciBicmF1Y2hzdCBkdSBkZW4gMzItYml0LXRyZWliZXIgOiB3MzJzb2xlLmV4ZS4gc29sbHRlc3QgZHUgcHJvYmxlbWUKaGFiZW4sIHNjaGljayBtaXIgbmUgbWFpbCwgYmVpIG1pciBsYWV1ZnQgZGFzIHpldWdzIHByaW1hLiBhdWYgbWVpbmVyIERPU2UKbGFldWZ0IHVudGVyIFdpbkRvemUgMy4xMSBtaXQgb2JlbiBnZW5hbm50ZW4gdHJlaWJlcm4gZWluIEZUUC1zZXJ2ZXIsIGVpbgpIVFRQLURhZW1vbiB1bmQgZWluIFNNVFAtU2VydmVyLiB1bmQgZGFzIGFsbGVzIGJ1Zy0gdW5kIGNyYXNoZnJlaSAhISEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbmhlaXRlbj8gKFBhcmFjZWxzdXMsIDMwLiBEZXogMTk5NSwgMjA6MDM6MzUpOgpIYWxsbyBNb2RlbS1OdXR6ZXIhCgpXZWlzcyBlaW5lciB2b24gZXVjaCwgd2llIGRhcyBtaXQgZGVzIEVpbmhlaXRlbiBiZWkgZGVyIFRlbGVrb20gaW0KbmV1ZW4gSmFociBhdXNzaWVodD8gV2VubiBkYSBlaW5lciBBaG51bmcgaGF0LCBrb2VubnRlIGVyIGphIG1hbCBuZQpUYWJlbGxlICggVWhyemVpdCAvIFdvY2hlbnRhZyAtPiBMYWVuZ2UgZGVyIEVpbmhlaXQgKSBwb3N0ZW4uCgpTaWNoIHVtIHNlaW5lIFRlbGVmb25yZWNobnVuZyBzb3JnZW5kLAogICAgICAgIFBhcmFjZWxzdXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbmhlaXRlbj8gKE1hcml0YSwgMzEuIERleiAxOTk1LCAwMzowOTo0NSk6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTgyMDM1MDIxNQp+IyEgdGlkPTgyMDM1MDIxNQpIYWxsbyBhbGxlLCBkaWUgdm9uIERldXRzY2hsYW5kIGF1cyBzcGllbGVuLAoKSWNoIGhhYmUgaW4gZGVyIE1QQSBlYmVuZmFsbHMgbm9jaCBrZWluZW4gQXJ0aWtlbCB1ZWJlciBkaWUgbmV1ZW4KVGVsZWZvbmdlYnVlaHJlbiBnZXNlaGVuLCBhYmVyIGplZGVyIGJla2xhZ3Qgc2ljaCB1ZWJlciBzaWUuIEhpZXIgYWxzbwpkaWUgRmFrdGVuIGltIG1vZGVtLWludGVyZXNzYW50ZW4gTmFoYmVyZWljaC9DaXR5YmVyZWljaCBhbHMgU2VydmljZSBmdWVyCmFsbGUgTW9kZW1zcGllbGVyOgoKRGllIGt1ZW5mdGlnZW4gR2VzcHJhZWNoc2RhdWVybiBmdWVyIGRpZSAxMi1QZi1FaW5oZWl0OgoKICAgICAgNSAtICA5IFVociAgICAyIDEvMiBNaW51dGVuCiAgICAgIDkgLSAxOCBVaHIgICAgMSAxLzIgTWludXRlbiAoU2ErU286IDIgMS8yIE1pbnV0ZW4pCiAgICAgMTggLSAyMSBVaHIgICAgMiAxLzIgTWludXRlbgogICAgIDIxIC0gIDUgVWhyICAgIDQgTWludXRlbgoKRGFtaXQgZGFzIGdhbnplIGV0d2FzIGFuc2NoYXVsaWNoZXIgd2lyZCwgaGllciBudW4gZGVyIFZlcmdsZWljaCwgd2FzCjEgU3R1bmRlIENpdHliZXJlaWNoIGluIERNIGtvc3RldCBiencuIGtvc3RlbiB3aXJkOgoKICAgICAgICAgICAgICAgICAgICBiaXNoZXI6ICAgICBuZXU6ICAgICAgRXJob2VodW5nIHVtIEZha3RvciBjYS46CiAgICAgIDUgLSAgNiBVaHIgICAgIDEsMTUgICAgICAgMiw4OCAgICAgICAgMiw1CiAgICAgIDYgLSAgOSBVaHIgICAgIDIsMzAgICAgICAgMiw4OCAgICAgICAgMSwyNQogICAgICA5IC0gMTggVWhyICAgICAyLDMwICAgICAgIDQsODAgICAgICAgIDIsMQogICAgIDE4IC0gMjEgVWhyICAgICAxLDE1ICAgICAgIDIsODggICAgICAgIDIsNQogICAgIDIxIC0gIDUgVWhyICAgICAxLDE1ICAgICAgIDEsODAgICAgICAgIDEsNQoKU2ErU28gNSAtIDIxIFVociAgICAgMSwxNSAgICAgICAyLDg4ICAgICAgICAyLDUKCkZha3RlbiBFbmRlLiBLb21tZW50YXI6CgoxKSBXZWdlbiBkZXIgdmVyYWVuZGVydGVuIEVpbnN0aWVnc3plaXQgZnVlciBNb2RlbS1TcGllbGVyICgyMSBzdGF0dCAxOCBoKQpkdWVyZnRlIGVzIGltIE11ZCB6d2lzY2hlbiAyMCB1bmQgMjEgaCB6dSBlaW5lbSAiTW9kZW0tTG9jaCIga29tbWVuLCBkZW5uCmRpZSBGaXJtYS9VbmktU3BpZWxlciBibGVpYmVuIG1laXN0ZW5zIG5pY2h0IHNvIGxhbmdlLiAoRGllIHZlcnN0YWVya3RlCkF1ZnRlaWx1bmcgZGVyIFNwaWVsZXIgaW4gVGFnLSB1bmQgTmFjaHRzY2hpY2h0IHdpcmQgdS4gYS4gZGF6dSBmdWVocmVuLApkYXNzIGljaCBtZWluZW0gJ0Vyc3RpZScgQWxpbmUgOykgaW0gTXVkIG5pY2h0IG1laHIgYmVnZWduZSkKCjIpIERpZWplbmlnZW4sIGRpZSBzdGV0cyBkaWUgYmlsbGlnc3RlIFplaXQgbnV0emVuLCB3ZXJkZW4gbWl0IDUwICUKQXVmc2NobGFnIHp1ciBLYXNzZSBnZWJldGVuLiBQZWNoIGZ1ZXIgYWxsZSwgZGllIChzbyB3aWUgaWNoKSBudXIgdWViZXIKTW9kZW0gc3BpZWxlbiBrb2VubmVuLgoKMykgVm9lbGxpZyBnZWFYWFhYdCBzaW5kIGRpZSByZWluZW4gV29jaGVuZW5kc3BpZWxlci4gMTUwICUgQXVmc2NobGFnCmZ1ZXIgYWxsZSBQZW5kbGVyLCBkaWUgaWhyIE1vZGVtIG51ciAyIFRhZ2UgcHJvIFdvY2hlIHp1IEdlc2ljaHQga3JpZWdlbi4KCjQpIFdlciBhdWYgS29zdGVuIHNlaW5lciBFbHRlcm4gc3BpZWx0LCBzb2xsdGUgc2ljaCBpbiBqZWRlbSBGYWxsIHNjaG9uCm1hbCBXQUFBQVJNIGFuemllaGVuIHVuZCBzaWNoIGRpZSBzY2hvZW5zdGVuIFBsYWV0emUgdW50ZXIgRGV1dHNjaGxhbmRzCkJydWVja2VuIHJlc2VydmllcmVuLgoKCldlciBzaWNoIGpldHp0IHNjaG9uIGZyZXV0LCBkYXNzIGRhcyBNdWQgaW0ga29tbWVuZGVuIEphaHIgZGVzd2VnZW4KbWFyaXRhZnJlaSB3aXJkLCBkZW4gbXVzcyBpY2ggYml0dGVyIGVudHRhZXVzY2hlbi4gOikgU2NobGllc3NsaWNoIGlzdCBqYQphbGxlcyBlaW5lIEZyYWdlIGRlciBEb3Npcy4gKHNjaHdhZmVsLi4uc3VlbHouLi5pY2ggYmluIHdpY2h0aWcuLi4pCgoKRWluIHdlaXRlcmVyIHZvZWxsaWcgdWViZXJmbHVlc3NpZ2VyIEJlaXRyYWNoIHZvbgpNYXJpdGEKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW5oZWl0ZW4/IChCbG9vZHloYXJyeSwgMzEuIERleiAxOTk1LCAyMToyOTo1Nyk6Cn4jISBybj1NYXJpdGEgcnQ9ODIwMzc1Nzg1Cn4jISB0aWQ9ODIwMzUwMjE1CktsYXNzZSBNYXJpdGEhIFNvd2FzIHN1Y2h0ZSBpY2ggbm9jaC4KRGEgRHUgamV0enQgRGVpbiBmcm9tZG9zIDstKSBnZWZ1bmRlbiBoYXN0Li4uIGthbm5zdCBEdSBhdWNoIG5vY2ggZGllIGdlc2FtdGUKcUxpc3RlIGRlciBUKmwqayptIGluIGRpZSBNUEEgc2V0emVuPwpEYW5rIGZ1ZXIgZGllICBsb2thbGUgTGlzdGUgdW5kIHNjaG9tYSBlaW5lbiBoZXJ6bGljaGVuIERhbmsgZnVlciBkaWUKa29tcGxldHRlIExpc3RlLgoKQmxvb2R5IEhhcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaW5oZWl0ZW4/IChNYXJpdGEsICAxLiBKYW4gMTk5NiwgMDk6MDE6MzIpOgp+IyEgcm49Qmxvb2R5aGFycnkgcnQ9ODIwNDQxNzk3Cn4jISB0aWQ9ODIwMzUwMjE1CgpOYSwgZnVlciB1bnNlcmVuIE9wYXBpcmF0ZW4gdHUgaWNoIGRvY2ggKGZhc3QpIGFsbGVzLiA6KQpBbHNvIG5vY2htYWwgYXVzZnVlaHJsaWNoOiBUZWxlZm9uZ2VidWVocmVuIGluIERldXRzY2hsYW5kIHNlaXQgaGV1dGUuCgogICAgICAgVWhyemVpdCAgICBEYXVlciBmdWVyICAgPT4gMSBTdHVuZGUgaW4gRE0gICAgIFZlcmFlbmRlcnVuZwogICAgICAgICAgICAgICAgICAgIDEyIFBmICAgICAgICBuZXUgKGJpc2hlcikgICAgICAgIGJpc2hlciAtPiBuZXUKCkNpdHliZXJlaWNoICg9TmFoYmVyZWljaCkKCiAgICAgICA1IC0gIDkgaCAgICAgMiAxLzIgbWluICAgICAyLDg4ICAgKDEsMTUpICAgICAgICsxNTAgJSAgKDUtOCkgKCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDIsMzApICAgICAgICsgMjUgJSAgKDgtOSkgKCopCiAgICAgICA5IC0gMTggaCAgICAgMSAxLzIgbWluICAgICA0LDgwICAgKDIsMzApICAgICAgICsxMDkgJSAgKCopCiAgICAgIDE4IC0gMjEgaCAgICAgMiAxLzIgbWluICAgICAyLDg4ICAgKDEsMTUpICAgICAgICsxNTAgJSAgKCopCiAgICAgIDIxIC0gIDUgaCAgICAgNCAgICAgbWluICAgICAxLDgwICAgKDEsMTUpICAgICAgICsgNTcgJSAgKCoqKQoKU2ErU28gIDUgLSAyMSBoICAgICAyIDEvMiBtaW4gICAgIDIsODggICAoMSwxNSkgICAgICAgKzE1MCAlICAoKikKICAgICAgMjEgLSAgNSBoICAgICA0ICAgICBtaW4gICAgIDEsODAgICAoMSwxNSkgICAgICAgKyA1NyAlICAoKiopCgoKUmVnaW9uIDUwICg9UmVnaW9uYWx6b25lKQoKICAgICAgIDUgLSAgOSBoICAgICAgNDUgcyAgICAgICAgIDksNjAgICAoNiw5MCkgICAgICAgKyAzOSAlICAoNS04KSAoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMyw4MCkgICAgICAgLSAzMCAlICAoOC05KQogICAgICAgOSAtIDEyIGggICAgICAyNiBzICAgICAgICAxNiw2MiAgKDEzLDgwKSAgICAgICArIDIwICUKICAgICAgMTIgLSAxOCBoICAgICAgMzAgcyAgICAgICAgMTQsNDAgICgxMyw4MCkgICAgICAgKyAgNCAlCiAgICAgIDE4IC0gMjEgaCAgICAgIDQ1IHMgICAgICAgICA5LDYwICAgKDYsOTApICAgICAgICsgMzkgJSAgKCopCiAgICAgIDIxIC0gIDIgaCAgICAgMSBtaW4gICAgICAgICA3LDIwICAgKDYsOTApICAgICAgICsgIDQgJSAgKCoqKQogICAgICAgMiAtICA1IGggICAgIDIgbWluICAgICAgICAgMyw2MCAgICg2LDkwKSAgICAgICAtIDQ4ICUKClNhK1NvICA1IC0gMjEgaCAgICAgIDQ1IHMgICAgICAgICA5LDYwICAgKDYsOTApICAgICAgICsgMzkgJSAgKCopCiAgICAgIDIxIC0gIDUgaCAgICAgMSBtaW4gICAgICAgICA3LDIwICAgKDYsOTApICAgICAgICsgIDQgJSAgKCoqKQoKClJlZ2lvbiAyMDAgKGJpc2hlciBUZWlsIGRlciBXZWl0em9uZSkKCiAgICAgICA1IC0gIDkgaCAgICAgIDIxLDUgcyAgICAgIDIwLDA5ICAoMTksNzEpICAgICAgICsgIDIgJSAgKDUtOCkgKCoqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDM5LDQzKSAgICAgICAtIDQ5ICUgICg4LTkpCiAgICAgICA5IC0gMTIgaCAgICAgIDEyICAgcyAgICAgIDM2LC0tICAoMzksNDMpICAgICAgIC0gIDkgJQogICAgICAxMiAtIDE4IGggICAgICAxMyw1IHMgICAgICAzMiwtLSAgKDM5LDQzKSAgICAgICAtIDE5ICUKICAgICAgMTggLSAyMSBoICAgICAgMjEsNSBzICAgICAgMjAsMDkgICgxOSw3MSkgICAgICAgKyAgMiAlICAoKiopCiAgICAgIDIxIC0gIDIgaCAgICAgIDMwICAgcyAgICAgIDE0LDQwICAoMTksNzEpICAgICAgIC0gMjcgJSAgKCopCiAgICAgICAyIC0gIDUgaCAgICAgMiBtaW4gICAgICAgICAzLDYwICAoMTksNzEpICAgICAgIC0gODIgJQoKU2ErU28gIDUgLSAyMSBoICAgICAgMjEsNSBzICAgICAgMjAsMDkgICgxOSw3MSkgICAgICAgKyAgMiAlICAoKiopCiAgICAgIDIxIC0gIDUgaCAgICAgIDMwICAgcyAgICAgIDE0LDQwICAoMTksNzEpICAgICAgIC0gMjcgJSAgKCopCgoKRmVybiAoPVdlaXR6b25lKQoKICAgICAgIDUgLSAgOSBoICAgICAgMjAgICBzICAgICAgMjEsNjAgICgxOSw3MSkgICAgICAgKyAxMCAlICAoNS04KSAoKiopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzksNDMpICAgICAgIC0gNDUgJSAgKDgtOSkKICAgICAgIDkgLSAxMiBoICAgICAgMTEsNSBzICAgICAgMzcsNTcgICgzOSw0MykgICAgICAgLSAgNSAlCiAgICAgIDEyIC0gMTggaCAgICAgIDEyLDUgcyAgICAgIDM0LDU2ICAoMzksNDMpICAgICAgIC0gMTIgJQogICAgICAxOCAtIDIxIGggICAgICAyMCAgIHMgICAgICAyMSw2MCAgKDE5LDcxKSAgICAgICArIDEwICUgICgqKikKICAgICAgMjEgLSAgMiBoICAgICAgMjUgICBzICAgICAgMTcsMjggICgxOSw3MSkgICAgICAgLSAxMiAlCiAgICAgICAyIC0gIDUgaCAgICAgMiBtaW4gICAgICAgICAzLDYwICAoMTksNzEpICAgICAgIC0gODIgJQoKU2ErU28gIDUgLSAyMSBoICAgICAgMjAgICBzICAgICAgMjEsNjAgICgxOSw3MSkgICAgICAgKyAxMCAlICAoKiopCiAgICAgIDIxIC0gIDUgaCAgICAgIDI1ICAgcyAgICAgIDE3LDI4ICAoMTksNzEpICAgICAgIC0gMTIgJQoKCkV1cm8gMSAoID0gRVUsIFNjaHdlaXosIFBvbGVuLCBUc2NoZWNoaWVuLCBTbG93YWtlaSwgSXNsYW5kIHVuZApkYXp3aXNjaGVubGllZ2VuZGUgS2xlaW5zdGFhdGVuKQoKICAgICAgIDggLSAxOCBoICAgICAgIDcsMiBzICAgICAgNjAsLS0gICg2OSwtLSkgICAgICAgLSAxMyAlCiAgICAgIDE4IC0gIDggaCAgICAgICA5ICAgcyAgICAgIDQ4LC0tICAoNTEsNzUpICAgICAgIC0gIDcgJQoKICAgICAoUG9ydHVnYWwsIFNwYW5pZW4sIEl0YWxpZW4sIFNhbiBNYXJpbm8sIEdyaWVjaGVubGFuZDoKICAgICAgR3JlbnplIGVyc3QgYmVpIDIwIGgpCgpTYStTbyBkdXJjaGdlaGVuZCAgICAgOSAgIHMgICAgICA0OCwtLSAgKDUxLDc1KSAgICAgICAtICA3ICUKCgpFdXJvIDIgKCA9IHVlYnJpZ2VzIEV1cm9wYSwgYWxsZSBNaXR0ZWxtZWVyc3RhYXRlbiBBZnJpa2FzIHVuZCBBc2llbnMsCkpvcmRhbmllbjsgUnVzc2xhbmQgbnVyIGJpcyA0MCBHcmFkIG9lLkwuKQoKICAgICAgZHVyY2hnZWhlbmQgICAgIDUsNjMgcyAgICAgNzYsNzMgICg3Nyw2MikgICAgICAgLSAgMSAlCgoKV2VsdCAxICggPSBVU0EgdW5kIEthbmFkYSkKCiAgICAgICAzIC0gMTQgaCAgICAgICA1LDQ2IHMgICAgIDc5LDEyICgxMTgsMjkpICAgICAgIC0gMzEgJQogICAgICAxNCAtICAzIGggICAgICAgNSAgICBzICAgICA4Niw0MCAoMTE4LDE5KSAgICAgICAtIDI3ICUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsdGVyIFByZWlzIGJpcyBKdWxpIDE5OTUpCgpXZWx0IDIgKCA9IEphcGFuLCBTdWVka29yZWEsIEhvbmdrb25nLCBTaW5nYXB1ciwgQXVzdHJhbGllbitOZXVzZWVsYW5kKQoKICAgICAgZHVyY2hnZWhlbmQgICAgIDMgcyAgICAgICAxNDQsLS0gKDE4NywzMykgICAgICAgLSAyNyAlCgoKV2VsdCAzICggPSBBcmdlbnRpbmllbiwgQnJhc2lsaWVuLCBDaGlsZSwgS29sdW1iaWVuOyBEb21pbmlrYW4uIFIuLApOaWVkZXJsLiBBbnQuICgwMDU5OS4uLik7IFN1ZWRhZnJpa2E7IFNhdWRpLUFyYWJpZW4sIFYuQS5FbWlyYXRlLCBJcmFuLApLYXNhY2hzdGFuOyBQaGlsaXBwaW5lbiwgVGFpd2FuKQoKICAgICAgZHVyY2hnZWhlbmQgICAgIDIsNiBzICAgICAxNjYsMTUgKDE4NywzMykgICAgICAgLSAxMSAlCgoKV2VsdCA0ICggPSBhbGxlIGFuZGVyZW4gU3RhYXRlbikKCiAgICAgIGR1cmNoZ2VoZW5kICAgICAyLDMxIHMgICAgMTg3LDAxICgxODcsMzMpICAgICAgIC0gIDAgJQoKCkRpZSBoaWVyIGFuZ2VnZWJlbmVuIEtvc3RlbiBmdWVyIDEgU3R1bmRlIHNpbmQgcmVpbiByZWNobmVyaXNjaGUgV2VydGUsCmQuIGguIGZ1ZXIgZGllIHRhdHNhZWNobGljaGVuIEtvc3RlbiBtdXNzIGRlciBhbmdlZ2ViZW5lIFdlcnQgYXVmIGRhcwpuYWVjaHN0aG9laGVyZSBWaWVsZmFjaGUgdm9uIDEyIFBmIEFVRmdlcnVuZGV0IHdlcmRlbjsgYmVpIGxhbmdlbgpHZXNwcmFlY2hlbiB2ZXJsaWVydCBkaWVzZXIgRWZmZWt0IGplZG9jaCBhbiBCZWRldXR1bmcuCgpJbiBhbGxlbiBtaXQgKCopIGdla2VubnplaWNobmV0ZW4gRmFlbGxlbiB3aXJidCBkaWUgVGVsZWtvbSBpbiBpaHJlbQpJbmZvcm1hdGlvbnNibGF0dCAnUHJlaXNpbmZvcm1hdGlvbiBUZWlsIDInIGluIEJlaXNwaWVscmVjaG51bmdlbiBmdWVyCjMtTWludXRlbi1WZXJiaW5kdW5nZW4gbWl0IGRldXRsaWNoIGd1ZW5zdGlnZXJlbiBaYWhsZW4gYWxzIGRlbiBoaWVyCmFuZ2VnZWJlbmVuIGVpbnN0dWVuZGlnZW4gVmVyYmluZHVuZ2VuOyBpbiBkZW4gRmFlbGxlbiAoKiopIHNvZ2FyIG1pdApQcmVpc1NFTktVTkdFTiwgb2J3b2hsIGxhZW5nZXJlIEdlc3ByYWVjaGUgaW4gV2lya2xpY2hrZWl0IFRFVVJFUiB3ZXJkZW4uCgpBdWZmYWxsZW5kIGZ1ZXIgR2VzcHJhZWNoZSB6d2lzY2hlbiAyIHVuZCA1IFVociBuYWNodHMgYXVzc2VyaGFsYiBkZXMKQ2l0eWJlcmVpY2hzOiBTaWUgc2luZCBhbSBXb2NoZW5lbmRlIGRldXRsaWNoIFRFVVJFUiBzaW5kIGFscyB3YWVocmVuZApkZXIgV29jaGUgKExvZ2lrIGxhc3MgbmFjaCkhCgpGdWVyIGRpZSBSaWNodGlna2VpdCBkZXIgQW5nYWJlbiB3aXJkIGtlaW4gR2V3ZWhyIHVlYmVybm9tbWVuIChkaWUgRGluZ2VyCnNpbmQgaW0gTUcgc293aWVzbyB2ZXJib3RlbikuIChJbiBtZWluZW0gdm9yaGVyZ2VoZW5kZW4gQXJ0aWtlbCB3YXIKdWVicmlnZW5zIGRpZSBHcmVuemUgendpc2NoZW4gZGVtIGFsdGVuIE5hY2h0LSB1bmQgVGFndGFyaWYgZmFlbHNjaGxpY2hlci0Kd2Vpc2UgYmVpIDYgc3RhdHQgOCBVaHIgYW5nZWdlYmVuLCBhYmVyIGRhcyBpc3QgamEgc2VpdCBoZXV0ZSBlZ2FsLikKCkljaCB3ZWlzcyBoYWFyZ2VuYXUsIGRhc3MgZGllIFNjaHdlaXplciB1bmQgT2VzdGVycmVpY2hlciB1bmQgYWxsZSBhbmRlcmVuCnVlYmVyYWxsIGF1ZiBkZXIgV2VsdCBzaWNoIGluIGRpZXNlbSBNb21lbnQgdWViZXIgdW5zZXJlIEdlYnVlaHJlbi0KZWludGVpbHVuZyB0b3RsYWNoZW4uIEFiZXIgdm9tIExhbmRlIGRlciBCdWVyb2tyYXRlbiBoYXR0ZXQgSWhyIGRvY2ggbmljaHQKaW0gRXJuc3Qgd2FzIGFuZGVyZXMgZXJ3YXJ0ZXQsIG9kZXI/CgpFaW4gdmVyZGFtbXQgbGFuZ2VyIEJlaXRyYWNoIHZvbgpNYXJpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmhlaXRlbj8gKE5peGlob3UsICAxLiBKYW4gMTk5NiwgMTc6MTE6MzYpOgp+IyEgcm49TWFyaXRhIHJ0PTgyMDQ4MzI5Mgp+IyEgdGlkPTgyMDM1MDIxNQpzb2xsdGUgZGllc2VyIGJlaXRyYWcgbmljaHQgaW4gZGllIHJ1YnJpZyB3aXR6ZT8gc296dXNhZ2VuIGFscyBlcnN0ZSB1bmQKc2NobGVjaHRlc3RlciB3aXR6IGRlcyBqYWhyZXMgOTYgLCBnZXdpbm5lciBkaWVzZXMgcHJlaXNlcyBkYW1pdCBhbHNvIGRpZQp0ZWxla29tPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmhlaXRlbj8gKER1cmlhbiwgIDIuIEphbiAxOTk2LCAxMTo0OTowOSk6Cn4jISBybj1NYXJpdGEgcnQ9ODIwNDgzMjkyCn4jISB0aWQ9ODIwMzUwMjE1CkhpIQoKRXMgc3RpbW10IHNjaG9uLCBkcmVpIE1pbnV0ZW5nZXNwcmFlY2hlIHdlcmRlbiBiaWxsaWdlci4gRWluZmFjaCB3ZWlsCmVpbmUgRWluaGVpdCBiaWxsaWdlciBpc3QuIER1cmNoIGRlbiB2ZXJrdWVyenRlbiBaZWl0dGFrdCBoaW5nZWdlbgoodW5kIHdhcnVtIHNvbGx0ZSBkaWUgVGVsZWtvbSBEQVJBVUYgYXVjaCBhdWZtZXJrc2FtIG1hY2hlbiAuLi4pCndlcmRlIGxhZW5nZXJlIEdlc3ByYWVjaGUgZW50c2NoaWVkZW4gdGV1cmVyLgoKRXMgd2lyZCwgZ2xhdWJlIGljaCwgZHJpbmdlbmQgWmVpdCwgZGFzcyBwcml2YXRlIEZpcm1lbiAod2llIGV0d2EKQVQmVCkgYXVmIGRlbiBkZXV0c2NoZW4gTWFya3QgZHJhZW5nZW4sIGRhbWl0IGVuZGxpY2ggbWFsIHZlcm51ZW5mdGlnZQpQcmVpc2UgYmV6YWhsdCB3ZXJkZW4uIFN0ZWxsdCBFdWNoIHZvciwgd2lyIGxlYmVuIGluIEFtZXJpa2EgdW5kIGRhcwpPcnRzZ2VzcHJhZWNoIGtvc3RldCBuaXggLi4uCgpOYWphLCB2b3JzdGVsbGVuIGlzdCBlcmxhdWJ0IQoKLSBEdXJpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmhlaXRlbj8gKFRhc2hhLCAgMi4gSmFuIDE5OTYsIDE5OjIzOjUzKToKfiMhIHJuPUR1cmlhbiBydD04MjA1Nzk3NDkKfiMhIHRpZD04MjAzNTAyMTUKSGkhCgpGdWVyIG1pY2ggZ2lidHMgbW9tZW50YW4gZWluZSBndXRlIHVuZCBlaW5lIHNjaGxlY2h0ZSBOYWNocmljaHQ6CgpEaWUgR3V0d2U6IERhIGljaCBtb20gaW4gT2VzdGVycmVpY2ggYmluIGJldHJpZmZ0IG1pY2ggZGllIEdlYnVlaHJlbmVyaG9laHVuZwpkZXIgVGVsZWtvdHogbm9jaCBuaWNodC4KRGllIFNjaGxlY2h0ZTogSGllciBzaW5kIGRpZSBHZWJ1ZWhyZW4gYXVjaCBzbyBzY2hvbiBob2VoZXIgYWxzIGpldHp0IGluCkRldXRzY2hsYW5kLiA6KCgKCkdyZWV0aW5ncywgVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaWxzIHNvIHNjaG9lbiB3YXIgOikgKENhdHdlYXpsZSwgIDMuIEphbiAxOTk2LCAxMzozNTo1Nik6CgpJY2ggaGFiIGF1Y2ggbm9jaCBuZSBUZWxlZm9uZ2VidWVocmVubGlzdGUgZ2VmdW5kZW4gOikgIDoKCkhhbGxvIExldXRlLGljaCBoYWJlIG1pY2ggbWFsIPxiZXJ3dW5kZW4gdW5kIGRpZSBuZXVlbiBUZWxlZm9uZ2Vi/GhyZW4KZvxyIHZlcnNjaGllZGVuIGxhbmdlIEdlc3By5GNoZSBhdXNnZXJlY2huZXQuIEljaCBzZXR6ZSBzaWUgb2huZSBLb21tZW50YXIKaGllciByZWluLGRhIGthbm4gc2ljaCBqZWRlciBzZWluIGVpZ2VuZXMgQmlsZCBtYWNoZW4uIERpZSBUZWxla29tIHNwcmljaHQKdm9uIG1laHIgR2VyZWNodGlna2VpdCBiZWkgZGVuIEFicmVjaG51bmdlbiwgZvxyIGRpZSBVbnRlcm5laG1lbiBtYWcgZGFzCmphIHNvIHN0aW1tZW4sYWJlciBkaWUgWmVjaGUgYmV6YWhsZW4gd2llIGltbWVyIGRpZSBtaWxsaW9uZW4ga2xlaW5lbiBMZXV0ZS4KCk5ldWUgVGVsZWZvbmdlYvxocmVuIGFiIDAxLjAxLjk2CgoxKSBDaXR5LVRhcmlmZQotLS0tLS0tLS0tLS0tLS0KCk1vbnRhZ3MtRnJlaXRhZ3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYW1zdGFncyxTb25uLSxGZWllcnRhZ2U6Ci0tLS0tLS0tLS0tLS0tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVocnplaXRlbjogIDUtOVVocjsgIDktMThVaHI7ICAxOC0yMVVocjsgIDIxLTVVaHIgICAgNS0yMVVocjsgIDIxLTVVaHIKCiAzIG1pbi4gICBETSAwLDI0ICAgIERNIDAsMjQgICBETSAwLDI0ICAgIERNIDAsMTIgICAgRE0gMC4yNCAgIERNIDAsMTIKIDYgbWluLiAgICAgIDAsMzYgICAgICAgMCw0OCAgICAgIDAsMzYgICAgICAgMCwxOCAgICAgICAwLDM2ICAgICAgMCwyNAoxMiBtaW4uICAgICAgMCw1OCAgICAgICAwLDk2ICAgICAgMCw1OCAgICAgICAwLDM2ICAgICAgIDAsNTggICAgICAwLjM2CjE4IG1pbi4gICAgICAwLDg2ICAgICAgIDEsNDQgICAgICAwLDg2ICAgICAgIDAsNTQgICAgICAgMCw4NiAgICAgIDAsNjAKMjQgbWluLiAgICAgIDEsMTUgICAgICAgMSw5MiAgICAgIDEsMTUgICAgICAgMCw3MiAgICAgICAxLDE1ICAgICAgMCw3MgozMCBtaW4uICAgICAgMSw0NCAgICAgICAyLDQwICAgICAgMSw0NCAgICAgICAwLDE4ICAgICAgIDEsNDQgICAgICAwLDk2CgpBbHRlIFRhcmlmZQotLS0tLS0tLS0tLQoKTW9udGFncy1GcmVpdGFnczogICAgICAgICAgICAgICAgU2Ftc3RhZ3MsU29ubi0gdW5kIEZlaWVydGFnZToKLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVWhyemVpdGVuOiAgOC0xOFVocjsgMTgtOFVocjsgICAgIDAtMjRVaHI7CgogNiBtaW4uICAgRE0gMCwyMyAgICBETSAwLDIzICAgICAgRE0gMCwyMwoxMiBtaW4uICAgICAgMCw0NiAgICAgICAwLDIzICAgICAgICAgMCwyMwoxOCBtaW4uICAgICAgMCw2OSAgICAgICAwLDQ2CjI0IG1pbi4gICAgICAwLDkyICAgICAgIDAsNDYgICAgICAgICAwLDQ2CjMwIG1pbi4gICAgICAxLDE1ICAgICAgIDAsNjkgICAgICAgICAwLDY5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KMikgUmVnaW9uIDUwCi0tLS0tLS0tLS0tLQoKTW9udGFncy1GcmVpdGFnczoKLS0tLS0tLS0tLS0tLS0tLS0KVWhyemVpdGVuOiAgNS05VWhyOyAgOS0xMlVocjsgIDEyLTE4VWhyOyAgMTgtMjFVaHI7ICAyMS0yVWhyOyAgMi01VWhyOwoKIDMgTWluLiAgIERNIDAsNDggICAgRE0gMCw4MyAgIERNIDAsNzIgICAgRE0gMCw0OCAgIERNIDAsMzYgICBETSAwLDI0CiA2IG1pbi4gICAgICAwLDk2ICAgICAgIDEsNjYgICAgICAxLDQ0ICAgICAgIDAsOTYgICAgICAwLDcyICAgICAgMCwzNgoxMiBtaW4uICAgICAgMSw5MiAgICAgICAzLDMyICAgICAgMiw4OCAgICAgICAxLDkyICAgICAgMSw0NCAgICAgIDAsNzIKMTggbWluLiAgICAgIDIsODggICAgICAgNCw5OCAgICAgIDQsMzIgICAgICAgMiw4OCAgICAgIDIsMTYgICAgICAxLDA4CjI0IG1pbi4gICAgICAzLDg0ICAgICAgIDYsNjQgICAgICA1LDc2ICAgICAgIDMsODQgICAgICAyLDg4ICAgICAgMSw0NAozMCBtaW4uICAgICAgNCw4MCAgICAgICA4LDMwICAgICAgNywyMCAgICAgICA0LDgwICAgICAgMyw2MCAgICAgIDEsODAKCgpTYW1zdGFncyxTb25uLSB1bmQgRmVpZXJ0YWdlOiAgICBBbHRlICBSZWdpb25hbHpvbmUgKEdlc3By5GNoIG5hY2ggRXNzZW4pCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVWhyemVpdGVuOiAgNS0yMVVocjsgIDIxLTVVaHI7ICAgOC0xOFVocjsgMTgtOFVocjsgIFdvY2hlbmVuZGU6IDAtMjRVaHI7CgogMyBtaW4uICAgRE0gMCw0OCAgICBETSAwLDM2ICAgRE0gMCw2OSAgICBETSAwLDQ2ICAgICBETSAwLDQ2CiA2IG1pbi4gICAgICAwLDk2ICAgICAgIDAsNzIgICAgICAxLDM4ICAgICAgIDAsNjkgICAgICAgIDAsNjkKMTIgbWluLiAgICAgIDEsOTIgICAgICAgMSw0NCAgICAgIDIsNzYgICAgICAgMSwzOCAgICAgICAgMSwzOAoxOCBtaW4uICAgICAgMiw4OCAgICAgICAyLDE2ICAgICAgNCwxNCAgICAgICAyLDA3ICAgICAgICAyLDA3CjI0IG1pbi4gICAgICAzLDg0ICAgICAgIDIsODggICAgICA1LDUyICAgICAgIDIsNzYgICAgICAgIDIsNzYKMzAgbWluLiAgICAgIDQsODAgICAgICAgMyw2MCAgICAgIDYsOTAgICAgICAgMyw0NSAgICAgICAgMyw0NQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQozKSBSZWdpb24gMjAwCi0tLS0tLS0tLS0tLS0KCk1vbnRhZ3MtRnJlaXRhZ3M6Ci0tLS0tLS0tLS0tLS0tLS0tClVocnplaXRlbjogIDUtOVVocjsgIDktMTJVaHI7ICAxMi0xOFVocjsgIDE4LTIxVWhyOyAgIDIxLTJVaHI7ICAyLTVVaHI7CgogMyBtaW4uICAgRE0gMSwwMCAgICBETSAxLDgwICAgRE0gMSw2MCAgICBETSAxLDAwICAgICBETSAwLDcyICAgRE0gMCwyNAogNiBtaW4uICAgICAgMiwwMCAgICAgICAzLDYwICAgICAgMywyMCAgICAgICAyLDAwICAgICAgICAxLDQ0ICAgICAgMCwzNgoxMiBtaW4uICAgICAgNCwwMiAgICAgICA3LDIwICAgICAgNiw0MCAgICAgICA0LDAyICAgICAgICAyLDg4ICAgICAgMCw3MgoxOCBtaW4uICAgICAgNiwwNCAgICAgIDEwLDgwICAgICAgOSw2MCAgICAgICA2LDA0ICAgICAgICA0LDMyICAgICAgMSwwOAoyNCBtaW4uICAgICAgOCwwNiAgICAgIDE0LDQwICAgICAxMiw4MCAgICAgICA4LDA2ICAgICAgICA1LDc2ICAgICAgMSw0NAozMCBtaW4uICAgICAxMCwwOCAgICAgIDE4LDAwICAgICAxNiwwMCAgICAgIDEwLDA4ICAgICAgICA3LDIwICAgICAgMSw4MAoKU2Ftc3RhZ3MsU29ubi0gdW5kIEZlaWVydGFnZToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVWhyemVpdGVuOiAgNS0yMVVocjogIFRhcmlmZSB3aWUgTW9udGFncy1GcmVpdGFncyB2b24gIDUtOSBiencuMTgtMjFVaHI7CiAgICAgICAgICAgMjEtNSBVaHI6ICBUYXJpZmUgd2llIE1vbnRhZ3MtRnJlaXRhZ3Mgdm9uIDIxLTJVaHI7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjQpIFJlZ2lvbiBGZXJuCi0tLS0tLS0tLS0tLS0tCgpNb250YWdzLUZyZWl0YWdzOgotLS0tLS0tLS0tLS0tLS0tLQpVaHJ6ZWl0ZW46ICA1LTlVaHI7ICA5LTEyVWhyOyAgMTItMThVaHI7IDE4LTIxVWhyOyAgMjEtMlVocjsgIDItNVVocjsKCiAzIG1pbi4gICBETSAxLDA4ICAgIERNIDEsODcgICBETSAxLDczICAgRE0gMSwwOCAgICBETSAwLDg2ICAgRE0gMCwyNAogNiBtaW4uICAgICAgMiwxNiAgICAgICAzLDc1ICAgICAgMyw0NiAgICAgIDIsMTYgICAgICAgMSw3MyAgICAgIDAsMzYKMTIgbWluLiAgICAgIDQsMzIgICAgICAgNyw1MSAgICAgIDYsOTEgICAgICA0LDMyICAgICAgIDMsNDYgICAgICAwLDcyCjE4IG1pbi4gICAgICA2LDQ4ICAgICAgMTEsMjYgICAgIDEwLDM3ICAgICAgNiw0OCAgICAgICA1LDE5ICAgICAgMSwwOAoyNCBtaW4uICAgICAgOCw2NCAgICAgIDE1LDAyICAgICAxMyw4MiAgICAgIDgsNjQgICAgICAgNiw5MSAgICAgIDEsNDQKMzAgbWluLiAgICAgMTAsODAgICAgICAxOCw3NyAgICAgMTcsMjggICAgIDEwLDgwICAgICAgIDgsNjQgICAgICAxLDgwCgpTYW1zdGFncyxTb25uLSB1bmQgRmVpZXJ0YWdlOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpVaHJ6ZWl0ZW46ICA1LTIxVWhyOiAgVGFyaWZlIHdpZSBNb250YWdzLUZyZWl0YWdzIHZvbiAgNS05IGJ6dy4xOC0yMVVocjsKICAgICAgICAgICAyMS01IFVocjogIFRhcmlmZSB3aWUgTW9udGFncy1GcmVpdGFncyB2b24gMjEtMlVocjsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6ZWl0IChIYW5kaSwgIDkuIEphbiAxOTk2LCAxMjo0OTo0OCk6Ckthbm4gbWlyIG1hbCBlaW5lciBoZWxmZW4sIGljaCBoYWJlIGZvbGdlbmRlcyBwcm9ibGVtIHVudGVyIGhwdW5peDoKSWNoIG11c3MgZWluIHByb2dyYW1tIGluIGMgc2NocmVpYmVuICwgZGFzIGVpbmUgemVpdGZ1bmt0aW9uIGJyYXVjaHQsZGllIGluCm1pbGxpc2VrdW5kZW5iZXJlaWNoCmFyYmVpdGV0LCBkdW1tZXJ3ZWlzZSBnaWJ0IGVzIGVpbmUgc29sY2hlIGZ1bmt0aW9uIHVudGVyIGMgbmljaHQsIGljaCB3b2xsdGUKbWljaCBtaXQgc2lnbmFsZW4gYmVoZWxmZW4Kd2FzIGFiZXIgbGVpZGVyIG5pY2h0IGtsYXBwdGUsIHdlaWwgZGllc2UgemVpdGZ1bmt0aW9uIGltbWVyIGVpbmUKZXh0cmF2ZXJsYWVuZ2VydW5nIHZvbiAyIHMgaGF0dCh3YXJ1bSBhdWNoIGltbWVyKQprZW5udCBlaW5lciBlaW5lIHNvbGNoZSBmdW5rdGlvbiBvZGVyIGthbm4gbWlyIGRlbiBmZWhsZXIgaW4gbWVpbmVyIGZ1bmt0aW9uCnplaWdlbj8KZGllIGZ1bmt0aW9uOgouLi4Kdm9pZCB3YWl0KGludCB3ZXJ0KQp7CnN0cnVjdCBpdGltZXJ2YWwgbmV3d2FpdCxvbGR3YWl0OwpzaWduYWwoU0lHQUxSTSx3YWl0aGFuZGxlcik7CndhaXRiZWRpbmd1bmc9MDsKbmV3d2FpdC5pdF92YWx1ZS50dl9zZWM9MDsKbmV3d2FpdC5pdF92YWx1ZS50dl91c2VjPSgxMDAwKndhaXR3ZXJ0KTsKbmV3d2FpdC5pdF9pbnRlcnZhbC50dl9zZWM9KTsKbmV3d2FpdC5pdF9pbnRlcnZhbC50dl91c2VjPTA7CnNldGl0aW1lcihJVElNRVJfUkVBTCwmbmV3d2FpdCwmb2xkd2FpdCk7CndoaWxlKCF3YWl0YmVkaW5ndW5nKTsKfQp2b2lkIHdhaXRoYW5kbGVyKGludCBzaWcsaW50IGNvZGUsc3RydWN0IHNpZ2tvbnRleHQgKnNjcCkKewp3YWl0YmVkaW5ndW5nPTE7CmlmKHNjcC0+c2Nfc3lzY2FsbCA9PSBTWVNfUkVBRClzY3AtPnNjX3N5c2NhbGxfYWN0aW9uID0gU0lHX1JFU1RBUlQ7Cn0KLi4uCgoKaGFuZGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmhlaXRlbj8gKFJvZXN0aSwgMTUuIEphbiAxOTk2LCAyMDozMDoxOCk6Cn4jISBybj1EdXJpYW4gcnQ9ODIwNTc5NzQ5Cn4jISB0aWQ9ODIwMzUwMjE1Ck11ZGRlbiBvaG5lIEdlYnVlcmVuISBEYXMgd2FlcmUgd2FzIQpPZGVyIG1pdCBlaW5lbSBTdGFuZGFydC1CZXRyYWcgdm9uIDEyMCBETSBwcm8gSmFociAuCgpSb2VzdGkgdHJhZXVtdCBnZXJuZSAuLi4gYmVzb25kZXJzIHZvbiBlaW5lciBiZXNzZXJlbiBXZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRWluaGVpdGVuPyAoQ2FyYWRocmFzLCAxNi4gSmFuIDE5OTYsIDAwOjI5OjQ1KToKfiMhIHJuPVJvZXN0aSBydD04MjE3MzQyMTgKfiMhIHRpZD04MjAzNTAyMTUKR2VidWVocmVuPyBXb3p1PyBJY2ggc2l0emUgaW4gZGVyIFVuaS4gOikgSGFiIGZ1ZXIgZWluIHBhYXIgdGF1c2VuZCBTdHVuZGVuCm11ZCBub2NoIG5pZSB3YXMgZ2V6YWhsdCwgaG9lY2hzdGVucyBtaXQgc2NobGVjaHRlcmVuIE5vdGVuLgoKICAgICAgQ2FyYWRocmFzIC0gZnV0dGVydCBOdXRlbGxhYnJvdGUgdW5kIGtudWRkZWx0IGRlbiBTZW5zaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRWluaGVpdGVuPyAoQ3VjaHVsbGluLCAxNi4gSmFuIDE5OTYsIDAwOjM1OjIyKToKfiMhIHJuPUNhcmFkaHJhcyBydD04MjE3NDg1ODUKfiMhIHRpZD04MjAzNTAyMTUKClNjaG9ubWFsIG5hY2hnZXJlY2huZXQsIHdhcyBEaWNoIGVpbiBKYWhyIG1laHIgU3R1ZGl1bSBmaW5hbnppZWxsIGtvc3RldD8KS2FubnN0ZSBzZWhyIGxhbmdlIGRhZnVlciB0ZWxlZm9uaWVyZW4uCgpDdWNoLi0gLSByZWNobmV0IG5pY2h0IG1pdCBHZWxkLCBzb25kZXJuIG1pdCBMZWJlbnNmcmV1ZGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRWluaGVpdGVuPyAoQ2FyYWRocmFzLCAxNi4gSmFuIDE5OTYsIDA0OjM3OjA4KToKfiMhIHJuPUN1Y2h1bGxpbiBydD04MjE3NDg5MjIKfiMhIHRpZD04MjAzNTAyMTUKKmdydWViZWwqIEhhYiBpY2ggZ2VzYWd0IGRhc3MgaWNoIGRlc3dlZ2VuIGxhZW5nZXIgc3R1ZGllcmUgYWxzIGljaCBlcyBlaCB0dW4Kd3VlcmRlPyBHbGF1YiBuaWNodC4KICAgICAgICAgICAgICAgICAgICAgICAqd2lua2Ugd2VkZWwqICAgQ2FyYWRocmFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogemVpdCAoQWNyaW1vbiwgMTkuIEphbiAxOTk2LCAwMDozODowNCk6Cn4jISBybj1IYW5kaSBydD04MjExODgxODgKfiMhIHRpZD04MjExODgxODgKWy4uLl0Kd2hpbGUoIXdhaXRiZWRpbmd1bmcpOwpbLi4uXQoKRGllc2UgS29uc3RydWt0aW9uIGlzdCBlaW4gVmVyYnJlY2hlbiBhdWYgamVkZW0gU3lzdGVtIQpEYXMgcmF1YnQgUHJvemVzc29yemVpdCB1bmQgaXN0IGF1Y2ggaW0gTWlsbGlzZWt1bmRlbmJlcmVpY2ggbmljaHQgenUKdmVyYW50d29ydGVuLgpEaWUgZWluemlnZSB2ZXJudWVuZnRpZ2UgTW9lZ2xpY2hrZWl0OiBFaW5lIEJldHJpZWJzc3lzdGVtZnVua3Rpb24gc3VjaGVuLgoKKFR1dCBtaXIgbGVpZCwgaWNoIGhhYiBqZXR6dCBsZWlkZXIgYXVjaCBrZWluZSBtYW5wYWdlcyBkYSkKCkdydXN6LApBY3JpbW9uIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB6ZWl0IChIYW5kaSwgMjIuIEphbiAxOTk2LCAxMzo0NDo1OSk6Cn4jISBybj1BY3JpbW9uIHJ0PTgyMjAwODI4NAp+IyEgdGlkPTgyMTE4ODE4OApFcyBnaWJ0IGVpbmUgYW5kZXJlIEZ1bmt0aW9uOgpsb25nIHNhdmVtYXNrPXNpZ2Jsb2NrKHNpZ21hc2soU0lHQUxSTSkpOwppZighd2FpdGJlZGluZ3VuZykgc2lncGF1c2Uoc2F2ZW1hc2spOwpzaWdzZXRtYXNrKHNhdmVtYXNrKTsKZGllIGlzdCBhYmVyIGdlbmF1IHNvIGxhbmdzYW0KCkVpbiBsYW5nc2FtIHZlcnp3ZWlmZWxuZGVyIEhhbmRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB6ZWl0IChBY3JpbW9uLCAyMi4gSmFuIDE5OTYsIDE2OjUwOjQxKToKfiMhIHJuPUhhbmRpIHJ0PTgyMjMxNDY5OQp+IyEgdGlkPTgyMTE4ODE4OApNb2VnbGljaGVyd2Vpc2UgZ2lidCBlcyBkaWUgRnVua3Rpb24gdXNsZWVwKHVuc2lnbmVkIGludCksIGRpZSBlaW5lIGJlc3RpbW10ZQpBbnphaGwgTWlrcm9zZWt1bmRlbiB3YXJ0ZXQuCkVzIGdpYnQgc2llIGFiZXIgYW5zY2hlaW5lbmQgbmljaHQgYXVmIGFsbGVuIFN5c3RlbWVuLgoKR3J1c3osCkFjcmltb24gZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXJ0ZW5wcm9ncmFtbSAoTGksIDMxLiBKYW4gMTk5NiwgMTM6MTI6NDMpOgpIaSEKSWNoIGhhYmUgZ2VzdGVybiBpbiBlaW5lbSBhbWVyaWthbmlzY2hlbiBGYW50YXN5bWFnYXppbiBlaW5lIEFuemVpZ2UgZnVlciBlaW4KS2FydGVuemVpY2hlbnByb2dyYW1tIGdlc2VoZW4uCkRhbWl0IGthbm4gbWFuICJyaWNodGlnZSIgS2FydGVuIHplaWNobmVuLCBzbyBtaXQgR2ViaWVyZ2UsIGt1ZXN0ZW5saWVuaWVuLApXYWVsZGVyLi4uCldlaXNzIGVpbmVyLCBvYiBlcyBzb2V0d2FzIGF1Y2ggaGllciBpbiBEZXV0c2NobGFuZCBnaWJ0PwoKTGkgKG1vZWNodGUgbmljaHQgdW5iZWRpbmd0IGF1ZiBibGF1ZW4gRHVuc3QgaW4gRW5nbGFuZCBiZXN0ZWxsZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FydGVucHJvZ3JhbW0gKEhpZ2hsYW5kZXIsIDMxLiBKYW4gMTk5NiwgMTQ6NDQ6MDgpOgp+IyEgcm49TGkgcnQ9ODIzMDkwMzYzCn4jISB0aWQ9ODIzMDkwMzYzCkR1IGthbm5zdCBqYSBtYWwgZWZjaGVuQHRhcHBtdWQgbWFpbGVuLCBkZXIgSEFUIGRhcyBQcm9ncmFtbS4KVW5kIGphLCB3ZW5uIG1hbiBkYW1pdCB1bWdlaGVuIGthbm4gdW5kIHZpZWwgWmVpdCBoYXQsIGthbm4gbWFuIGRhbWl0CndhaG5zaW5uaWdlIEthcnRlbiBtYWNoZW4uIERhcyBUZWlsCm11ZXNzdGUgYXVjaCBpbiBEZXV0c2NobGFuZCB6dSBiZWtvbW1lbiBzZWluLCBpY2ggZ2xhdWJlIG5pY2h0LCBkYXNzIEVmCmVzIHNpY2ggYXVzIGRlbiBTdGFhdGVuIGhhdCBrb21tZW4gbGFzc2VuLgpBY2ggamEsIGVzIGhlaXNzdCAiQ2FtcGFpZ24gQ2FydG9ncmFwaGVyIiwgd2VubiBpY2ggbWljaCBuaWNodCBpcnJlLgoKICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEthcnRlbnByb2dyYW1tIChIaWdobGFuZGVyLCAzMS4gSmFuIDE5OTYsIDE0OjQ1OjA3KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODIzMDk1ODQ4Cn4jISB0aWQ9ODIzMDkwMzYzCk1pdCBkZW0gbWFpbGVuIGFuIEVmIG1laW50ZSBpY2ggTklDSFQsIGRhc3MgZXIgZXMgRGlyIGtvcGllcnQsIHNvbmRlcm4KRXJmYWhydW5nc2JlcmljaHRlLCB3ZW5uIER1IHNvd2FzIHdpbGxzdC4gU2NobGllc3NsaWNoIGlzdCBkYXMgUHJvZ3JhbW0KbmljaHQgZ2VyYWRlIGJpbGxpZyB1bmQga29waWVyZW4gc293aWVzbyB2ZXJib3RlbiA6PgoKICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FydGVucHJvZ3JhbW0gKE11cGZlbCwgMzEuIEphbiAxOTk2LCAyMjo1MDoyNSk6Cn4jISBybj1MaSBydD04MjMwOTAzNjMKfiMhIHRpZD04MjMwOTAzNjMKSW4gMy1ELCB3aWUgbWl0IEtQVCBCcnljZSAob2RlciB3aWUgZGFzIGhlaXNzdCkgPwoKLm11cHBlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEthcnRlbnByb2dyYW1tIChMaSwgIDEuIEZlYiAxOTk2LCAwOToyMDozNyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTgyMzA5NTkwNwp+IyEgdGlkPTgyMzA5MDM2MwpKYWphLCB3YXMgZGFjaHRlc3QgZHUgZGVubj8KTGkgKHNjaHVldHRlbHQgdW5nbGFldWJpZyBkZW4gS29wZikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEthcnRlbnByb2dyYW1tIChIaWdobGFuZGVyLCAgMS4gRmViIDE5OTYsIDEwOjAzOjMxKToKfiMhIHJuPUxpIHJ0PTgyMzE2MjgzNwp+IyEgdGlkPTgyMzA5MDM2MwpEYXNzIGJlc3RpbW10IGplbWFuZCBkYXMgU2NocmVpZW4gYW5mYWVuZ3QgOj4KSG9uaSBzb2l0IHF1aSBtYWwgaSBwZW5zZSAob2RlciBzbykKCiAgICBIaWdobGFuZGVyIChuaWUgZnJhbnpvZXNpc2NoIGdlbGVybnQgaGFiZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGltZXVwZGF0ZSBmdWVyIG5vdmVsbHNlcnZlciB2aWEgaW50ZXJuZXQgKEJpbmcsICA2LiBGZWIgMTk5NiwgMTc6MjY6MDgpOgpJY2ggc3VjaGUgZWluIFByb2dyYW1tIHVlYmVyIGRhcyBpY2ggbWVpbmVuIE5vdmVsbHNlcnZlciBhbiBlaW5lIFVocgphbnNjaGxpZXNzZW4ga2FubiwgZGllIGltbWVyIHJpY2h0aWcgZ2VodC4gTWVocmVyZSBBZHJlc3NlbiBmdWVyIGVpbmUKVWhyIGhhbmUgaWNoIHNjaG9uLCBhbGxlcmRpbmdzIGJyYXVjaGUgaWNoIG5vY2ggZWluIFByb2dyYW1tIGRhcyBkb3J0CnNlbGJzdHN0YWVuZGlnIHVlYmVycyBJbnRlcm5ldCBzaWNoIGFuc3RvZXBzZWx0IHVuZCBkZW4gU2VydmVyIGRhbm4KYWt0dWFsaXNpZXJ0LgpXZW5uIEplbWFuZCB3ZWlzcywgd28gaWNoIGRhcyBlbnRzcHJlY2hlbmRlIEZpbGUgYmVrb21tZW4ga2FubiB3YWVyZQppY2ggZGFua2Jhciwgd2VubiBlciBtaXIgZWluZSBlLW1haWwgc2NoaWNrZW4ga29lbm50ZS4KCmdydXNzIEJpbmcKCnAucy4gbmF0dWVybGljaCBmdWVyIGVpbmUgU3RhbmRsZWl0dW5nIHVuZCBuaWNodCBmdWVyJ3MgTW9kZW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGltZXVwZGF0ZSBmdWVyIG5vdmVsbHNlcnZlciB2aWEgaW50ZXJuZXQgKEFjcmltb24sICA2LiBGZWIgMTk5NiwgMjI6MjA6MDUpOgp+IyEgcm49QmluZyBydD04MjM2MjM5NjgKfiMhIHRpZD04MjM2MjM5NjgKInBlcmwiIGhlaXN6dCBkYXMgcmljaHRpZ2UgUHJvZ3JhbW0uCkVzIGlzdCBuaWNodCBnYW56IGVpbmZhY2ggenUgYmVkaWVuZW4sIGFiZXIgZGFtaXQga2FubiBtYW4gZ2VuYXUgZGVpbiBQcm9ibGVtCmxvZXNlbiB1bmQgbm9jaCBlaW5pZ2VzIG1laHIuCkVzIGR1ZXJmdGUgaW4gMTAgWmVpbGVuIGdldGFuIHNlaW4uCgpBY3JpbW9uIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0aW1ldXBkYXRlIGZ1ZXIgbm92ZWxsc2VydmVyIHZpYSBpbnRlcm5ldCAoTWFyY3VzLCAxMC4gRmViIDE5OTYsIDAwOjAzOjM3KToKfiMhIHJuPUFjcmltb24gcnQ9ODIzNjQxNjA1Cn4jISB0aWQ9ODIzNjIzOTY4Ck5laW4sIGRhcyBnZWh0IGFuZGVycy4uLgoKIlBlcmwiIGlzdCBkaWUgQW50d29ydCwgd2FzIHdhciBkb2NoIGdsZWljaCBkaWUgRnJhZ2U/CgpPZGVyIC4uLiAiV2llIG1hY2ggaWNoIGRhcyB1bmQgZGFzPyIgIlN0ZXAgMTogSW5zdGFsbCBQZXJsLi4uIiAoZGVyIGlzdApvcmlnaW5hbCB2b24KTGFycnkgV2FsbCA7KQoKLU1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGltZXVwZGF0ZSBmdWVyIG5vdmVsbHNlcnZlciB2aWEgaW50ZXJuZXQgKEFjcmltb24sIDEwLiBGZWIgMTk5NiwgMDA6MTM6MzQpOgp+IyEgcm49TWFyY3VzIHJ0PTgyMzkwNzAxNwp+IyEgdGlkPTgyMzYyMzk2OApOZWluLCBlcyBsYWVzenQgc2ljaCBOSUNIVCBhbGxlcyBtaXQgcGVybCBtYWNoZW4uCk1vbWVudGFuIGZhZWxsdCBtaXIgbnVyIGVpbiBCZWlzcGllbCBlaW46ClVuZWluZ2VzY2hyYWVua3RlIEludGVycHJvemVzemtvbW11bmlrYXRpb24uCkRhenUgc2luZCBhYmVyIGF1Y2ggZGllIGhldXRpZ2VuIFVuaXgtUmVjaG5lciBuaWNodCBpbiBkZXIgTGFnZS4KTW9tZW50YW4ga2FubiBkYXMgbnVyIEFtaWdhT1MuCgpQUzogTWl0ICJ1bmVpbmdlc2NocmFlbmt0IiBtZWluZSBpY2g6IGF1ZiBKRURFTiBQcm96ZXN6IGFud2VuZGJhciwgZWdhbCBvYiBlcgp2b3Igb2RlciBuYWNoIHBlcmwgZ2VzdGFydGV0IHd1cmRlLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB0aW1ldXBkYXRlIGZ1ZXIgbm92ZWxsc2VydmVyIHZpYSBpbnRlcm5ldCAoR3JpbW1ib3JuLCAxMi4gRmViIDE5OTYsIDEzOjQ5OjQyKToKfiMhIHJuPUFjcmltb24gcnQ9ODIzOTA3NjE0Cn4jISB0aWQ9ODIzNjIzOTY4CgpXZW5uIER1IHBlcmwgYWJsZWhuc3QsIGVtcGZlaGxlIGljaCBtZWdhcGVybHMgdm9uIFBlcnNpbC4uLgoKSW4gZGllc2VtIFNpbm5lLAogICAgICAgICAgICAgICAgIEdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gSGFyZHdhcmViYXN0bGVyIG1pdCBXYXNjaG1hc2NoaW5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdGltZXVwZGF0ZSBmdWVyIG5vdmVsbHNlcnZlciB2aWEgaW50ZXJuZXQgKEppbWRpZ3JpeiwgMTIuIEZlYiAxOTk2LCAxMzo1Mjo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODI0MTI5MzgyCn4jISB0aWQ9ODIzNjIzOTY4CgpJY2ggbmljaHQgIQoKTmVobXQ6IFBlcmx3ZWlzcywgZGFzIFNjaG9lbmhlaXRzemFobndlaXNzLgogT2RlciBhdWNoIFBlcmx3ZWlzcyBmdWVyIFJhdWNoZXIgOy0pCgpHcmFtZXogSm9saXZhcyBnaUJyaXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBEb2t1cyB6dW0gem1vZGVtIFByb3Rva29sbCAoQmxvb2R5aGFycnksIDI2LiBGZWIgMTk5NiwgMDk6NDE6MzUpOgpIYWxsbyEKCkljaCBzdWNoZSBlaW5lIG1vZWdsaWNoc3QgbmV1ZSB1bmQgbW9lZ2xpY2hzdCBpbiBkZXV0c2NoIHZlcmZhc3N0ZQpCZXNjaHJlaWJ1bmcgZGVzIFptb2RlbS1Qcm90b2tvbGxzLgpTb3VyY2UgY29kZSBpc3QgYXVjaCBzZWhyIHdpbGxrb21tZW4uCgp0aGFueCBpbiBhZHZhbmNlCkJsb29keSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJpbyBEYXRhY29tbSwgVHJpbyBUYWxrIChNYXJpdGEsIDI3LiBGZWIgMTk5NiwgMDI6NDQ6NTApOgoKSGksCldlciBUcmlvIERhdGFjb21tIG5pY2h0IGtlbm50IC0+IG5uCgpJY2ggaGFiZSBsZWlkZXIga2VpbiBNYW51YWwgenUgZGllc2VyIG9taW5vZXNlbiBTcHJhY2hlIFRyaW8gVGFsay4gRGllClBhcmFsbGVsZW4genUgQyBzaW5kIHVudmVya2VubmJhciwgYWJlciBsZWlkZXIgaGFlbmdlIGljaCBhbiBlaW4gcGFhcgpTdGVsbGVuLgoKMSkgV2llIGRlZmluaWVyZSBpY2ggVmVrdG9yZW4gKG9kZXIgQXJyYXlzIG9kZXIgd2llIGF1Y2ggaW1tZXIgc2llIGRvcnQKaGVpc3NlbikuIEljaCB3aWxsIHNvd2FzIG1hY2hlbiB3aWU6IHN0cmluZyBuYW1lIFs5XQoKMikgV2llIGJyaW5nZSBpY2ggVHJpbyBUYWxrIGRhenUsIGF1ZiBiZXN0aW1tdGUgVGFzdGVuZHJ1Y2tlIHp1IHJlYWdpZXJlbj8KRGFzIHdpbGwgaWNoIGZ1ZXIgVmVyendlaWd1bmdlbiBpbiBBYmhhZW5naWdrZWl0IHZvbiB2ZXJzY2hpZWRlbmVuCkZ1bmt0aW9uc3Rhc3RlbiAob2RlciBhdWNoIHNvbnN0aWdlbiBUYXN0ZW5kcnVja2VuLCB3ZW5uIGVzIG1pdCBGLVRhc3RlbgpuaWNodCBnZWh0KSB2ZXJ3ZW5kZW4uCgozKSBXaWUgc2Nhbm5lIGljaCBlaW5lIGVtcGZhbmdlbmUgWmVpbGUgaW4gZWluZSBTdHJpbmd2YXJpYWJsZSBlaW4/CgpNdWRtYWlsIHBsZWFzZQpNYXJpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5BU0lSQyB3YXJudCB2b3IgTmV0c2NhcGUgMi4wIChIaWdobGFuZGVyLCAxMi4gTWFyIDE5OTYsIDEyOjMyOjM0KToKUG9zdGluZyBpbiByZXZ1ZS5pbmZvcm1hdGlrLmNpcC5hbm5vdW5jZSB2b24gRXJpY2ggTWVpZXI6Ci0tLS0tQkVHSU4gUEdQIFNJR05FRCBNRVNTQUdFLS0tLS0KCkhhbGxvIQoKRGEgc2ljaCBtaXR0bGVyd2VpbGUgenUgZGVuIGJla2FubnRlbiBTaWNoZXJoZWl0bHVlY2tlbiBpbSBKYXZhIHVuZCBkYW1pdAphdWNoCmluIE5ldHNjYXBlIDIuMCBlaW5lIHdlaXRlcmUgTmV0c2NhcGUtTHVlY2tlIGF1ZmdldGFuIGhhdCwgZW1wZmVobGUgaWNoIGFsbGVuCkJlbnV0emVybiB2b24gTmV0c2NhcGUgX2RyaW5nZW5kXyB3aWVkZXIgYXVmIGRpZSBhbHRlIFZlcnNpb24gMS4xMk4gKG9kZXIKMS4xTikKenVydWVja3p1Z2VoZW4uCgpEdXJjaCBkaWUgTmljaHQtQWJzY2hhbHRiYXJrZWl0IHZvbiBKYXZhU2NyaXB0IGVyb2VmZm5ldCBzaWNoIGRlbSBEZXNpZ25lcgp2b24KV2ViLVNlaXRlbiBvaG5lIHdlaXRlcmVzIGRpZSBNb2VnbGljaGtlaXQsIGlyZ2VuZHdlbGNoZSBBa3Rpb25lbiAoTWFpbAp2ZXJzZW5kZW4KaXN0IGRhdm9uIGRpZSBoYXJtbG9zZXN0ZSkgdW50ZXIgQmVudXR6dW5nIGRlcyBsb2thbGVuIEFjY291bnRzIGF1c3p1ZnVlaHJlbi4KCkRhaGVyIG1laW4gQXBwZWxsOiBrZWluIE5ldHNjYXBlIDIuMCBtZWhyLCBiaXMgZGllIG5hZWNoc3RlIFZlcnNpb24ga29tbXQgdW5kCmRhbm4gYXVjaCBfbnVyXyBtaXQgYXVzZ2VzY2hhbHRldGVtIEphdmEgdW5kIEphdmFTY3JpcHQuCgpHcnVzcywKRXJpY2gKCkhpZXIgaXN0IGRpZSBvcmlnaW5hbGUgTWFpbCB2b20gREZOLUNFUlQ6CgotIC0tLS0tIEZvcndhcmRlZCBtZXNzYWdlIGZyb20gd2luLXNlYy1zc2NAY2VydC5kZm4uZGUgLS0tLS0KCj5Gcm9tIHNlY3VyaXR5LWFkbWluQGZhdWk0NS5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZSBNb24gTWFyIDExIDEwOjUxIE1FVAoxOTk2CkZyb206IHdpbi1zZWMtc3NjQGNlcnQuZGZuLmRlCk1lc3NhZ2UtSWQ6IDwxOTk2MDMxMTA4NTAuSkFBMjAzNzRAdGlnZXIuY2VydC5kZm4uZGU+ClN1YmplY3Q6IHdlaXRlcmVzIE5ldHNjYXBlIDIuMCBTaWNoZXJoZWl0c3Byb2JsZW0KVG86IHdpbi1zZWMtc3NjQGNlcnQuZGZuLmRlCkRhdGU6IE1vbiwgMTEgTWFyIDE5OTYgMDk6NTA6MTYgKzAxMDAgKE1FVCkKT3JnYW5pemF0aW9uOiBERk4tQ0VSVCAoQ29tcHV0ZXIgRW1lcmdlbmN5IFJlc3BvbnNlIFRlYW0sIEdlcm1hbnkpClByZWNlZGVuY2U6IGJ1bGsKQ29udGVudC1UeXBlOiB0ZXh0CkNvbnRlbnQtTGVuZ3RoOiAxMjU5MAoKCkd1dGVuIFRhZyEKClNvZWJlbiBlcnJlaWNodGUgdW5zIGRhcyBuYWNoZm9sZ2VuZGUgQWR2aXNvcnkgdm9uIE5BU0lSQyAoZGFzIE5vdGZhbGwtClRlYW0gZGVyIE5BU0EpLiBXaXIgZ2ViZW4gZGllc2UgSW5mb3JtYXRpb25lbiB1bnZlcmFlbmRlcnQgYW4gU2llIHdlaXRlci4KQml0dGUgYmVhaGN0ZW4gU2llLCBkYXNzIGVzIHNpY2ggZGFiZWkgKm5pY2h0KiB1bSBkYXMgYmVyZWl0cyBiZWhhbmRlbHRlClByb2JsZW0gbWl0IEphdmEgaGFuZGVsdCwgc29uZGVybiB1bSBlaW5lIHZvbiBOZXRzY2FwZSBnZW51dHp0ZSBQcm9ncmFtbWllci0Kc3ByYWNoZSAiSmF2YVNjcmlwdCIgKGRpZSBuaWNodHMgbWl0IEphdmEgenUgdHVuIGhhdCkuCgpNaXQgZnJldW5kbGljaGVuIEdydWVzc2VuCiAgV29sZmdhbmcgTGV5IChERk4tQ0VSVCkKLSAtIC0tCldvbGZnYW5nIExleSwgREZOLUNFUlQsIFZvZ3QtS29lbGxuLVN0ci4gMzAsIDIyNTI3IEhhbWJ1cmcsICAgIEdlcm1hbnkKRW1haWw6IGxleUBjZXJ0LmRmbi5kZSAgIFBob25lOiArNDkgNDAgNTQ3MTUtMjYyIEZheDogKzQ5IDQwIDU0NzE1LTI0MQpQR1AtS2V5IGF2YWlsYWJsZSB2aWEgZmluZ2VyIGxleUBmdHAuY2VydC5kZm4uZGUgYW55IGtleS1zZXJ2ZXIgb3IgdmlhCldXVyBmcm9tIGh0dHA6Ly93d3cuY2VydC5kZm4uZGUvfmxleS8gICAgICAgICAgICAgICAuLi5oYXZlIGEgbmljZSBkYXkKCgogICAgICAgIE5BU0lSQyBCVUxMRVRJTiBCLTk2LTExICAgICAgICAgTWFyY2ggMTEsIDE5OTYKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldHNjYXBlIDIuMCBTZWN1cml0eSBSaXNrcwogICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICBOQVNBIEF1dG9tYXRlZCBTeXN0ZW1zIEluY2lkZW50IFJlc3BvbnNlIENhcGFiaWxpdHkKICAgICAgICAgICAgICAgX18gICAgX18gICAgICBfXyAgICAgIF9fXyAgIF9fXyAgX19fXyAgICAgX19fXwogICAgICAgICAgICAgIC9fL1wgIC9fL3wgICAgL18vXCAgICAvIF8vXCAvXy98IC8gX18vIFwgIC8gX18vXAogICAgICAgICAgICAgIHwgfFwgXHwgfHwgICAvICBcIFwgICB8IC9cLyB8IHx8IHwgL1wgXC8gIHwgfCBcLwogICAgICAgICAgICAgIHwgfHxcIFwgfHwgIC8gL1wgXCBcICAgXCBcICB8IHx8IHxfXC8gL1wgIHwgfAogICAgICAgICAgICAgIHwgfHwgXCBcfHwgLyAvLS1cIFwgXCAvXF9cXCB8IHx8IHwgfFwgXCBcIHwgXF8vXAogICAgICAgICAgICAgIHxffC8gIFxffC8vXy8gICAgXF9cLyBcL19fLyB8X3wvIHxffCBcX1wvIFxfX19cLwogICAgICAgICAgU2VydmluZyBOQVNBIGFuZCB0aGUgSW50ZXJuYXRpb25hbCBBZXJvc3BhY2UgQ29tbXVuaXRpZXMKICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgIFRoaXMgYnVsbGV0aW4gcmVwb3J0cyBhIHJlY2VudGx5IGFubm91bmNlZCBzZWN1cml0eSB2dWxuZXItCiAgICAgICAgIGFiaWxpdHkuICAgIEl0ICAgbWF5ICAgY29udGFpbiAgIGEgICB3b3JrYXJvdW5kIG9yIHNvZnR3YXJlCiAgICAgICAgIHBhdGNoLiAgQnVsbGV0aW5zIHNob3VsZCBiZSBjb25zaWRlcmVkIHVyZ2VudCAgYXMgIHZ1bG5lcmEtCiAgICAgICAgIGJpbGl0eSBpbmZvcm1hdGlvbiBpcyBsaWtlbHkgdG8gYmUgd2lkZWx5IGtub3duIGJ5IHRoZSB0aW1lCiAgICAgICAgIGEgcGF0Y2ggaXMgaXNzdWVkIG9yIG90aGVyIHNvbHV0aW9ucyBhcmUgZGV2ZWxvcGVkLgoKICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgSXQgaGFzIGJlZW4gcmVwb3J0ZWQgdG8gTkFTSVJDIHRoYXQgc2V2ZXJhbCBzZWN1cml0eQogICAgICAgIHZ1bG5lcmFiaWxpdGllcyBleGlzdCBpbiB0aGUgcmVsZWFzZWQgdmVyc2lvbiBvZiB0aGUgTmV0c2NhcGUKICAgICAgICBOYXZpZ2F0b3IgV1dXIGJyb3dzZXIuCgoKUFJPQkxFTSBPVkVSVklFVwoKICAgICAgICBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTmV0c2NhcGUgTmF2aWdhdG9yIChWZXJzaW9uCiAgICAgICAgMi4wKSBpbmNsdWRlcyBzdXBwb3J0IGZvciB0d28gcHJvZ3JhbW1pbmcgZW52aXJvbm1lbnRzOiBKYXZhIGFuZAogICAgICAgIEphdmFTY3JpcHQuIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBKYXZhIGNvbnRhaW5zIGEgc2VjdXJpdHkKICAgICAgICB2dWxuZXJhYmlsaXR5IHRoYXQgY2FuIGJlIGRpc2FibGVkIG9yIHBhdGNoZWQuICBKYXZhU2NyaXB0IGNhbgogICAgICAgIG5vdCBiZSBkaXNhYmxlZCBhbmQgcG9zZXMgYSBzZWN1cml0eSByaXNrIHRvIHN5c3RlbXMgd2hpY2ggYWNjZXNzCiAgICAgICAgcGFnZXMgY29udGFpbmluZyBKYXZhU2NyaXB0LiAgQSB3b3JrYXJvdW5kIHBhdGNoIGlzIHByb3ZpZGVkIHRvCiAgICAgICAgZGlzYWJsZSBKYXZhU2NyaXB0LgoKClNZU1RFTVMgQUZGRUNURUQKCiAgICAgICAgQW55IHN5c3RlbSBydW5uaW5nIE5ldHNjYXBlIDIuMCBvciBhIEJldGEgdmVyc2lvbiBvZiBOZXRzY2FwZQogICAgICAgIDIuMCwgaW5jbHVkaW5nIFVOSVgsIFdpbmRvd3MgJzk1LCBXaW5kb3dzIE5ULCBhbmQgTWFjaW50b3NoLCBhcmUKICAgICAgICBhZmZlY3RlZC4KCgpKQVZBIFBST0JMRU0gREVTQ1JJUFRJT04KCiAgICAgICAgSmF2YSBpcyBhIG5ldyBwcm9ncmFtbWluZyBsYW5ndWFnZSBmcm9tIFN1biBNaWNyb3N5c3RlbXMuIFRoZQogICAgICAgIGxhbmd1YWdlIGlzIGludGVuZGVkIHRvIGJlIHBvcnRhYmxlIGFjcm9zcyBvcGVyYXRpbmcgc3lzdGVtcwogICAgICAgIChVTklYLCBET1MsIE1pY3Jvc29mdCBXaW5kb3dzLCBPUy8yLCBldGMpLiAgSmF2YSBhbGxvd3MgV1dXCiAgICAgICAgYXV0aG9ycyB0byBjcmVhdGUgYXBwbGV0cyAoZG93bmxvYWRhYmxlIGFwcGxpY2F0aW9ucykgdGhhdCB3aWxsCiAgICAgICAgcnVuIG9uIHRoZSByZW1vdGUgV1dXIGJyb3dzZXJzLiAgVGhlIEphdmEgQXBwbGV0IFNlY3VyaXR5IE1hbmFnZXIKICAgICAgICB3YXMgZGVzaWduZWQgdG8gcHJldmVudCBhcHBsZXRzJyBtaXN1c2Ugb2YgdGhlIGNsaWVudCBjb21wdXRlciB0bwogICAgICAgIGNyZWF0ZSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMuICBIb3dldmVyLCBhIHZ1bG5lcmFiaWxpdHkgd2FzCiAgICAgICAgZGlzY292ZXJlZCBpbiB0aGUgTmV0c2NhcGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNlY3VyaXR5CiAgICAgICAgbWFuYWdlci4gIEEgY29ycmVjdGx5IHdyaXR0ZW4gYXBwbGV0LCBpbiBjb21iaW5hdGlvbiB3aXRoCiAgICAgICAgaW5mb3JtYXRpb24gZnJvbSBhIHN1YnZlcnRlZCBETlMgc2VydmVyLCBpcyBhYmxlIHRvIG1ha2UKICAgICAgICBjb25uZWN0aW9ucyB0byBhbiBhcmJpdHJhcnkgaG9zdCwgYW5kIGV4cGxvaXQgYW55IHBvc3NpYmxlCiAgICAgICAgdnVsbmVyYWJpbGl0aWVzIG9uIHRoYXQgYXJiaXRyYXJ5IGhvc3QuIFRoaXMgaXMgcGFydGljdWxhcmx5CiAgICAgICAgc2VyaW91cyBpZiB0aGF0IGFyYml0cmFyeSBob3N0IGlzIGJlaGluZCBhIGZpcmV3YWxsLCBhbmQgbm90IGFzCiAgICAgICAgc2VjdXJlIGFzIGl0IGNvdWxkIGJlLCByZWx5aW5nIG9uIHRoZSBmaXJld2FsbCB0byBwcm90ZWN0IGl0LgogICAgICAgIEFjY2Vzc2luZyBhIFdXVyBwYWdlIGNvbnRhaW5pbmcgc3VjaCBhbiBhcHBsZXRzIHdpbGwgYnktcGFzcyB0aGUKICAgICAgICBlZmZlY3RpdmVuZXNzIG9mIHRoZSBmaXJld2FsbC4KCiAgICAgICAgSmF2YSBjYW4gYmUgZGlzYWJsZWQgaW4gTmV0c2NhcGUgTmF2aWdhdG9yIDIuMCBjbGllbnRzIHVuZGVyIHRoZQogICAgICAgICJPcHRpb25zIiBtZW51LiAgTmV0c2NhcGUgaGFzIG1hZGUgYSBwYXRjaCBhdmFpbGFibGUgdG8gZml4IHRoZQogICAgICAgIEphdmEgQXBwbGV0IFNlY3VyaXR5IE1hbmFnZXIgdnVsbmVyYWJpbGl0eSBpbiBOZXRzY2FwZSAyLjAuICBNb3JlCiAgICAgICAgZGV0YWlscyBhYm91dCB0aGUgSmF2YSB2dWxuZXJhYmlsaXR5IGFuZCBwYXRjaCBpbmZvcm1hdGlvbiBhcmUKICAgICAgICBhdmFpbGFibGUgZnJvbQoKICAgICAgICAgICAgaHR0cDovL3d3dy5uZXRzY2FwZS5jb20vbmV3c3JlZi9zdGQvamF2YV9zZWN1cml0eS5odG1sCgoKCkpBVkFTQ1JJUFQgUFJPQkxFTSBERVNDUklQVElPTgoKICAgICAgICBKYXZhU2NyaXB0IGlzIGFuIGludGVycHJldGVkIGxhbmd1YWdlIGZyb20gTmV0c2NhcGUgdGhhdCBjYW4gYmUKICAgICAgICBlbWJlZGRlZCBpbiBIVE1MIGRvY3VtZW50cy4gIFRoaXMgaXMgYW5vdGhlciBsYW5ndWFnZSB0aGF0IGNhdXNlcwogICAgICAgIHRoZSBXV1cgYnJvd3NlciB0byBleGVjdXRlIGRvd25sb2FkZWQgcHJvZ3JhbXMuICBKYXZhU2NyaXB0CiAgICAgICAgcmVzZW1ibGVzIEphdmEsIGJ1dCBsYWNrcyBKYXZhJ3Mgc3Ryb25nIHR5cGUgY2hlY2tpbmcuCiAgICAgICAgSmF2YVNjcmlwdCBkZW1vbnN0cmF0aW9uICdleHBsb2l0JyBzY3JpcHRzIGhhdmUgYmVlbiBjcmVhdGVkCiAgICAgICAgd2hpY2ggY2FuOgoKICAgICAgICAgICAgbyBncmFiIHRoZSBFLW1haWwgYWRkcmVzcyBvZiB0aGUgV1dXIGJyb3dzZXIgdXNlcgogICAgICAgICAgICBvIG1vbml0b3IgdGhlIGNvbnRlbnRzIG9mIHRoZSBjbGllbnQgY2FjaGUgb2YgcGFnZXMgdmlzaXRlZAogICAgICAgICAgICBvIGRpc3BsYXkgYSBkaXJlY3RvcnkgbGlzdGluZyBvZiBhbnkgdXNlci1hY2Nlc3NpYmxlIGRpc2tzIG9uCnRoZQogICAgICAgICAgICAgICAgYnJvd3NlcidzIGhvc3QuCgogICAgICAgIEFub3RoZXIgImV4cGxvaXQiIHNjcmlwdCBkZW1vbnN0cmF0ZXMgYSBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2sKICAgICAgICBieSBjb250aW51b3VzbHkgY3JlYXRpbmcgZW1wdHkgd2luZG93cyB1bnRpbCB0aGUgcmVzb3VyY2VzIG9mIHRoZQogICAgICAgIHVzZXIncyBzeXN0ZW0gYXJlIGRlcGxldGVkLiBOZXRzY2FwZSBOYXZpZ2F0b3IgMi4wIGlzIG5vdAogICAgICAgIGN1cnJlbnRseSBlcXVpcHBlZCB3aXRoIGFueSBtZWNoYW5pc20gdG8gZGlzYWJsZSBKYXZhU2NyaXB0LiAgQQogICAgICAgIHdvcmthcm91bmQgcGF0Y2ggaXMgaW5jbHVkZWQgdGhhdCB3aWxsIGRpc2FibGUgbW9zdCBKYXZhU2NyaXB0CiAgICAgICAgZnVuY3Rpb25hbGl0eSBpbiBOZXRzY2FwZSBOYXZpZ2F0b3IgMi4wLgoKClJFQ09NTUVOREVEIFNPTFVUSU9OCgogICAgICAgIFVzZXJzIHNob3VsZCBub3QgdXNlIGFueSB2ZXJzaW9uIG9mIE5ldHNjYXBlIDIuMCBvciBhbnkgQmV0YQogICAgICAgIHZlcnNpb24gb2YgTmV0c2NhcGUgMi4wIGFzIGEgV1dXIGJyb3dzZXIgdG8gdmlzaXQgYW55IHVudHJ1c3RlZAogICAgICAgIFdXVyBzaXRlcy4gVXNlcnMgYW5kIHN5c3RlbXMgYWRtaW5pc3RyYXRvcnMgc2hvdWxkIHJldmVydCB0aGVpcgogICAgICAgIHNpdGVzIHRvIE5ldHNjYXBlIFZlcnNpb24gMS4xLCBvciB1c2UgYW5vdGhlciBXV1cgYnJvd3Nlci4KICAgICAgICBOZXRzY2FwZSBoYXMgYW5ub3VuY2VkIHRvIHRoZSBwcmVzcyB0aGF0IE5ldHNjYXBlIE5hdmlnYXRvciAyLjAxCiAgICAgICAgd2lsbCBhZGRyZXNzIGFsbCBrbm93biBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgaW4gdGhlIEphdmEKICAgICAgICBBcHBsZXQgU2VjdXJpdHkgTWFuYWdlciBhbmQgaW5jbHVkZSBhbiBvcHRpb24gdG8gZGlzYWJsZQogICAgICAgIEphdmFTY3JpcHQgZXhlY3V0aW9uIG9uIHRoZSBjbGllbnQuCgoKV09SS0FST1VORCBTT0xVVElPTiBUTyBUSEUgSkFWQSBWVUxORVJBQklMSVRZCgogICAgICAgIEZvciB0aG9zZSBzaXRlcyB0aGF0IG11c3QgdXNlIE5ldHNjYXBlIDIuMCwgYSBwYXRjaCBleGlzdHMgdGhhdAogICAgICAgIGFkZHJlc3NlcyB0aGUgSmF2YSB2dWxuZXJhYmlsaXR5LiAgVXNlcnMgc2hvdWxkIGJlIGF3YXJlIHRoYXQKICAgICAgICBzZXZlcmFsIG90aGVyIHZ1bG5lcmFiaWxpdGllcyBleGlzdGVkIGluIHRoZSBCZXRhIHZlcnNpb25zIG9mCiAgICAgICAgTmV0c2NhcGUgMi4wLiBUaGVzZSBCZXRhIHZlcnNpb25zIHNob3VsZCBiZSBkaXNjYXJkZWQuICBBcHBseWluZwogICAgICAgIHRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkcmVzcyB0aGUgSmF2YVNjcmlwdCB2dWxuZXJhYmlsaXR5LgoKICAgICAgICBUaGUgcGF0Y2ggaXMgYXZhaWxhYmxlIGZyb20gTkFTSVJDIGF0CgogICAgICAgICAgICBmdHA6Ly9uYXNpcmMubmFzYS5nb3YvcGF0Y2hlcy9OZXRzY2FwZS9tb3oyXzAuemlwCgogICAgICAgIFVzZXJzIHNob3VsZCBiZSBzdXJlIHRvIGRvd25sb2FkIHRoZSBmaWxlIGluIGJpbmFyeSBtb2RlLiAgQSBQR1AKICAgICAgICBzaWduYXR1cmUgb2YgdGhlIHBhdGNoIGZpbGUgY2FuIGJlIG9idGFpbmVkIGZyb20KCiAgICAgICAgICAgIGZ0cDovL25hc2lyYy5uYXNhLmdvdi9wYXRjaGVzL05ldHNjYXBlL21vejJfMC56aXAuYXNjCgoKICstLS0tLS0tLS0tLS0tLS0gQkVHSU4gSU5DTFVERUQgTmV0c2NhcGUgUGF0Y2ggSW5zdGFsbGF0aW9uIEluc3RydWN0aW9ucwotLS0tLS0KLS0tLS0tLS0tLQogfAogfCBJTlNUQUxMQVRJT04gSU5TVFJVQ1RJT05TIEZPUiBKQVZBIEFQUExFVCBTRUNVUklUWSBNQU5BR0VSIFBBVENICiB8CiB8IEFmdGVyIGRvd25sb2FkaW5nIHRoZSBwYXRjaCwgZm9sbG93IHRoZXNlIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnM6CiB8CiB8IEZvciBQQyB1c2VyczoKIHwKIHwgICAgMS4gQ2xvc2UgeW91ciBOZXRzY2FwZSBOYXZpZ2F0b3IgaWYgaXQgaXMgcnVubmluZyBjdXJyZW50bHkuCiB8ICAgIDIuIFJlcGxhY2UgdGhlIGV4aXN0aW5nIG1vejJfMC56aXAgZmlsZSBpbiB5b3VyIEphdmEgY2xhc3NlcwogfCAgICAgICBkaXJlY3Rvcnkgd2hpY2ggcmVzaWRlcyBpbiB5b3VyIE5ldHNjYXBlJ3MgcHJvZ3JhbSBkaXJlY3RvcnkuCiB8CiB8ICAgICAgIEZvciBleGFtcGxlLCBpZiB5b3UgaW5zdGFsbGVkIHlvdXIgTmV0c2NhcGUgTmF2aWdhdG9yIGluCiB8ICAgICAgIEM6XE5ldHNjYXBlLCB0aGVuIG1vejJfMC56aXAgIHNob3VsZCBiZSBpbgogfAogfCAgICAgICAgICBDOlxOZXRzY2FwZVxQcm9ncmFtXEphdmFcQ2xhc3Nlc1xNb3oyXzAuemlwCiB8CiB8IEZvciBVbml4IHVzZXJzOgogfAogfCAgICAxLiBDbG9zZSB5b3VyIE5ldHNjYXBlIE5hdmlnYXRvciBpZiBpdCBpcyBydW5uaW5nIGN1cnJlbnRseS4KIHwgICAgMi4gUmVwbGFjZSB0aGUgZXhpc2l0aW5nIG1vejJfMC56aXAgZmlsZSwgd2hpY2ggbWF5IHJlc2lkZSBpbiBhbnkKIHwgICAgICAgb2YgdGhlc2UgZGlyZWN0b3JpZXM6CiB8CiB8ICAgICAgICAgICBUaGUgY3VycmVudCBkaXJlY3RvcnkKIHwgICAgICAgICAgIC91c3IvbG9jYWwvbmV0c2NhcGUvamF2YS9jbGFzc2VzCiB8ICAgICAgICAgICAvdXNyL2xvY2FsL2xpYi9uZXRzY2FwZQogfCAgICAgICAgICAgJEhPTUUvLm5ldHNjYXBlCiB8CiArLS0tLS0tLS0tLS0tLS0tIEVORCBJTkNMVURFRCBOZXRzY2FwZSBQYXRjaCBJbnN0YWxsYXRpb24gSW5zdHJ1Y3Rpb25zCi0tLS0tLS0tCi0tLS0tLS0tCgoKICAgICAgICBNb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB2dWxuZXJhYmlsaXR5IGFuZCB0aGUgcGF0Y2ggY2FuIGJlCiAgICAgICAgb2J0YWluZWQgZnJvbSBOZXRzY2FwZSBhdAoKICAgICAgICAgICAgaHR0cDovL3d3dy5uZXRzY2FwZS5jb20vbmV3c3JlZi9zdGQvamF2YV9zZWN1cml0eS5odG1sLgoKCldPUktBUk9VTkQgU09MVVRJT04gVE8gVEhFIEpBVkFTQ1JJUFQgUFJPQkxFTQoKICAgICAgICBMYXJyeSBTY2h3aW1tZXIgb2YgU3RhbmZvcmQgVW5pdmVyc2l0eSBoYXMgd3JpdHRlbiB0aGUgZm9sbG93aW5nCiAgICAgICAgImRlbW9jaGEiIHNjcmlwdCB0byBkaXNhYmxlIEphdmFTY3JpcHQgaW4gTmV0c2NhcGUgMi4wLiAgVGhpcwogICAgICAgIHNjcmlwdCBpcyB3cml0dGVuIGluIHRoZSBQZXJsIHNjcmlwdGluZyBsYW5ndWFnZSAoYXZhaWxhYmxlIGZyb20KICAgICAgICBmdHA6Ly9uYXNpcmMubmFzYS5nb3YvdG9vbGtpdHMvVU5JWC9QZXJsICkuCgoKICstLS0tLS0tLS0tLS0tLS0gQkVHSU4gSU5DTFVERUQgRGVtb2NoYSBTaGVsbCBTY3JpcHQgLS0tLS0tLS0tLS0tLS0tLQogfCAjISAvYmluL3NoCiB8ICMgQCgjKSBkZW1vY2hhIHZlcnNpb24gMS40IDcgTWFyY2ggMTk5NiBsYXMKIHwgIyBkZW1vY2hhOiBkaXNhYmxlIEphdmFTY3JpcHQgaW4gbmV0c2NhcGUyLjAKIHwgIyBVc2FnZTogZGVtb2NoYSBbbmV0c2NhcGVfYmluYXJ5XQogfAogfCBwZXJsIC1pLm9yaWcgLXBlICcKIHwgICAgICBzL1wwc2NyaXB0XDAvXDBcMFwwXDBcMFwwXDBcMC9nOwogfCAgICAgIHMvXGNhXCZzY3JpcHRcY2FcJi9cY2FcJlwwXDBcMFwwXDBcMFxjYVwmL2c7CiB8ICAgICAgcy8oamF2YXNjcmlwdHxsaXZlc2NyaXB0fG1vY2hhKTovIiAiIHggbGVuZ3RoKCQxKSAuICI6Ii9lOwogfCAgICAgIHMvKHgtamF2YXNjcmlwdFwwLiphcHBsZXRzXDApLyJcMCIgeCBsZW5ndGgoJDEpL2U7CiB8ICAgICAgcy8oXDBvbnN1Ym1pdFwwLipcMG9udW5sb2FkXDApLyJcMCIgeCBsZW5ndGgoJDEpL2U7CiB8ICAgICAgcy8oXDBvbnVubG9hZFwwLipcMGFwcGxldHNcMCkvIlwwIiB4IGxlbmd0aCgkMSkvZTsKIHwgICAgICBpZiAoKCRhLCRiLCRjKSA9IC8oLip4LWphdmFzY3JpcHRcY2IpKC4qKShcIy4qKS8pIHsKIHwgICAgICAgICAgJGIgPX4gdHIvYS16QS1aLyAvOwogfCAgICAgICAgICAkXyA9ICIkYSRiJGNcbiI7CiB8ICAgICAgfQogfCAgICAgICcgIiR7MS1uZXRzY2FwZX0iCiB8CiArLS0tLS0tLS0tLS0tLS0tIEVORCBJTkNMVURFRCBEZW1vY2hhIFNoZWxsIFNjcmlwdCAtLS0tLS0tLS0tLS0tLS0tCgoKICAgICAgICBUaGUgbW9zdCBjdXJyZW50IHZlcnNpb24gb2YgImRlbW9jaGEiIHdpbGwgYmUgYXZhaWxhYmxlIGZyb20KCiAgICAgICAgICAgIGZ0cDovL25hc2lyYy5uYXNhLmdvdi9wYXRjaGVzL05ldHNjYXBlL2RlbW9jaGEuc2gKCiAgICAgICAgd2l0aCBhIFBHUCBzaWduYXR1cmUgb2YgdGhlIGZpbGUgYXQKCiAgICAgICAgICAgIGZ0cDovL25hc2lyYy5uYXNhLmdvdi9wYXRjaGVzL05ldHNjYXBlL2RlbW9jaGEuc2guYXNjCgoKICAgICAgICBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBzY3JpcHQgaGFzIGJlZW4gdGVzdGVkIHdpdGggTmV0c2NhcGUKICAgICAgICAyLjAgZm9yIHNldmVyYWwgdmFyaWFudHMgb2YgVU5JWCwgTWFjaW50b3NoLCBhbmQgV2luZG93cyAoMzJiaXQpLgogICAgICAgIEZvciBQQyBhbmQgTWFjaW50b3NoIHBsYXRmb3JtcyB1c2VycyBjYW4gY29weSB0aGUgTmV0c2NhcGUgYmluYXJ5CiAgICAgICAgZmlsZSB0byBhIFVOSVggbWFjaGluZSB3aXRoIFBlcmwsIHJ1biB0aGUgc2NyaXB0IGFnYWluc3QgdGhlCiAgICAgICAgYmluYXJ5LCBhbmQgcmV0dXJuIHRoZSBiaW5hcnkgdG8gdGhlIFBDLiBUaGlzIHNjcmlwdCBpcyBub3QKICAgICAgICBndWFyYW50ZWVkIHRvIGRpc2FibGUgYWxsIEphdmFTY3JpcHQgZnVuY3Rpb25hbGl0eS4gIEl0IGhhcwogICAgICAgIHdvcmtlZCB3aXRoIHNldmVyYWwgSmF2YVNjcmlwdCBleHBsb2l0IHBhZ2VzIHRoYXQgd2VyZSBhdmFpbGFibGUKICAgICAgICBhdCB0aGUgdGltZS4gIEl0IG1heSBoYXZlIHRoZSBzaWRlLWVmZmVjdCBvZiBjcmFzaGluZyB0aGUgYnJvd3NlcgogICAgICAgIHdoZW4gc29tZSBKYXZhU2NyaXB0IHBhZ2VzIGFyZSBhY2Nlc3NlZC4KCiAgICAgICAgTm90ZSB0aGF0IHRoZSAiZGVtb2NoYSIgcGF0Y2ggZG9lcyBub3QgYWRkcmVzcyB0aGUgSkFWQSBBcHBsZXQKICAgICAgICBTZWN1cml0eSBNYW5hZ2VyIHZ1bG5lcmFiaWxpdHkuICBUaGUgTmV0c2NhcGUgSmF2YSBBcHBsZXQKICAgICAgICBTZWN1cml0eSBNYW5hZ2VyIHBhdGNoIHNob3VsZCBiZSBhcHBsaWVkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhpcwogICAgICAgIHBhdGNoLgoKCiAgICAgICAgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAgICAgICAgICAgICAgTkFTSVJDIEFDS05PV0xFREdFUzogRW1tYSBLb2xzdGFkIEFudHVuZXMgb2YgR1NGQywKICAgICAgICAgICAgICAgICAgICAgICAgS2FyZW4gS2luc2xleSBvZiBMQVJDLCBTdGV2ZW4gTWNMYXVnaGxpbiBvZiBHU0ZDLAogICAgICAgICAgICAgICAgICAgICAgICBCcnVjZSBPJ05lZWwgb2YgR1NGQywgYW5kIGEgbXlyaWFkIGNvbnRyaWJ1dG9ycwogICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgV1dXIFNlY3VyaXR5IE1haWxpbmcgTGlzdAogICAgICAgICAgICAgICAgICAgICAgICAod3d3LXNlY3VyaXR5LXJlcXVlc3RAbnNteC5ydXRnZXJzLmVkdSkgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGluZyBpbmZvcm1hdGlvbiwgTGFycnkgU2Nod2ltbWVyIGFuZAogICAgICAgICAgICAgICAgICAgICAgICBTdGVwaGVuIEhhbnNlbiBvZiBTdGFuZm9yZCBVbml2ZXJzaXR5IGZvcgogICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRpbmcgdGhlICJkZW1vY2hhIiBzY3JpcHQsIGFuZCBBVVNDRVJUIGZvcgogICAgICAgICAgICAgICAgICAgICAgICBoZWxwZnVsIGNvbW1lbnRhcnkgb24gZHJhZnRzIG9mIHRoaXMgYnVsbGV0aW4uCiAgICAgICAgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKCiAgICAgICAgUGxlYXNlIGNvbnRhY3QgTkFTSVJDIGlmIHRoZXJlIGFyZSBhbnkgcXVlc3Rpb25zIGFib3V0IHRoaXMKYWR2aXNvcnkuCgogICAgICAgICAgICBUZWxlcGhvbmU6IDEtODAwLTctTkFTSVJDICgxLTgwMC03NjItNzQ3MikgRkFYOiAxLTMwMS00NDEtMTg1MwogICAgICAgICAgICBJbnRlcm5hdGlvbmFsOiArMS0zMDEtNDQxLTQzOTggICAgICAgICBTVFUgSUlJOiAxLTMwMS05ODItNTQ4MAogICAgICAgICAgICBJbnRlcm5ldCBFLU1haWw6IG5hc2lyY0BuYXNhLmdvdgogICAgICAgICAgICAyNC1Ib3VyL0VtZXJnZW5jeSBQYWdlcjogMS04MDAtNzU5LTcyNDMvUGluOjIwMjMwNTYKICAgICAgICAgICAgV1dXOiAgaHR0cDovL25hc2lyYy5uYXNhLmdvdi9OQVNJUkNfaG9tZS5odG1sCiAgICAgICAgICAgIEZUUDogbmFzaXJjLm5hc2EuZ292LCBsb2dpbiAiYW5vbnltb3VzIgoKICAgICAgICBUaGlzIGFkdmlzb3J5IG1heSBiZSBmb3J3YXJkZWQgd2l0aG91dCByZXN0cmljdGlvbiB0byBzaXRlcyBhbmQKICAgICAgICBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMgd2l0aGluIHRoZSBOQVNBIGNvbW11bml0eS4KCiAgICAgICAgQW55b25lIHJlcXVpcmluZyBhc3Npc3RhbmNlIG9yIHdpc2hpbmcgdG8gcmVwb3J0IGEgc2VjdXJpdHkKICAgICAgICBpbmNpZGVudCBidXQgbm90IG9wZXJhdGluZyBpbiBzdXBwb3J0IG9mIE5BU0EgbWF5IGNvbnRhY3QKICAgICAgICB0aGUgRm9ydW0gb2YgSW5jaWRlbnQgUmVzcG9uc2UgYW5kIFNlY3VyaXR5IFRlYW1zIChGSVJTVCksCiAgICAgICAgYW4gaW50ZXJuYXRpb25hbCBvcmdhbml6YXRpb24gb2YgaW5jaWRlbnQgcmVzcG9uc2UgdGVhbXMsCiAgICAgICAgdG8gZGV0ZXJtaW5lIHRoZWlyIGFwcHJvcHJpYXRlIHRlYW0uICBBIGxpc3Qgb2YgRklSU1QgbWVtYmVyCiAgICAgICAgb3JnYW5pemF0aW9ucyBhbmQgdGhlaXIgY29uc3RpdHVlbmNpZXMgbWF5IGJlIG9idGFpbmVkIGJ5CiAgICAgICAgc2VuZGluZyBFLU1haWwgdG8gImRvY3NlcnZlckBmaXJzdC5vcmciIHdpdGggYW4gZW1wdHkgInN1YmplY3QiCiAgICAgICAgbGluZSBhbmQgYSBtZXNzYWdlIGJvZHkgY29udGFpbmluZyB0aGUgbGluZSAic2VuZCBmaXJzdC1jb250YWN0cyIKICAgICAgICBvciB2aWEgV1dXIGF0ICBodHRwOi8vd3d3LmZpcnN0Lm9yZy9maXJzdCAgLgoKLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogMi42LjNpCkNoYXJzZXQ6IG5vY29udgoKaVFDVkF3VUJNVVA3ZlVIOUIycXRaUHc1QVFIaFd3UCtJQVZqZklyYjJCcjZubFpkbnZLeWpDc0lBenQ2bjBaSgppK2hCS3prTHdVazF5RW5PWWlhL2ZRSkNuNktIVXlOaWl3ZUNMdmpPekFnaHpmbDlGVGkraW9rdXVSejRpeU9sCjdNVG9WZjI0bXF2emY0djZBeVNMNzRHRm9SaVhiTG5JWEFtLzhLTGgzOEhHcVZvZzc2ME1lcFI3RWkzSnhTSmEKVzVkMjZaY2VycHM9Cj12TG14Ci0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQotLQpFcmljaCBNZWllciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkVyaWNoLk1laWVyQGluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApodHRwOi8vd3d3NC5pbmZvcm1hdGlrLnVuaS1lcmxhbmdlbi5kZS9+bWVpZXIKICAgICAgICAgIE5vdGhpbmcgaXMgYXMgaW5ldml0YWJsZSBhcyBhIG1pc3Rha2Ugd2hvc2UgdGltZSBoYXMgY29tZS4KCgotSGlnaGxhbmRlciByeW4gVGFoYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOQVNJUkMgd2FybnQgdm9yIE5ldHNjYXBlIDIuMCAoSm9mLCAxNC4gTWFyIDE5OTYsIDEzOjU1OjA0KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODI2NjMwMzU0Cn4jISB0aWQ9ODI2NjMwMzU0CgogRG9uJ3QgcGFuaWMgLi4uCgogTWFsIGVocmxpY2g6IFdlciB2b24gdW5zIGhhdCBzY2hvbiBJbmZvcm1hdGlvbmVuIGF1ZiBlaW5lbSBhbnMgTmV0egphbmdlc2NobG9zc2VuZW4gUmVjaG5lciBsaWVnZW4sIGRpZSBlcyB3ZXJ0IHdhZXJlbiwgZGFmdWVyIGVpbmVuIEhhY2stCnZlcnN1Y2ggenUgdW50ZXJuZWhtZW4gLi4uPyBJY2ggbmljaHQgLi4uIHNjaGxpZXNzbGljaCBzaW5kIFN5c3RlbWUKbmllbWFscyBoYWNrc2ljaGVyIC4uLgoKIFNpY2hlcmhlaXRzcmVsZXZhbnRlIERhdGVuLCBkaWUgZXMgV0lSS0xJQ0ggbG9obmVuZCBmdWVyIGVpbmVuIEhhY2tlcgptYWNoZW4sIGluIGVpbiBTeXN0ZW0gZWluenVkcmluZ2VuLCBnZWhvZXJlbiBrZWluZXNmYWxscyBhdWYgZWluZW4KYW5zIEludGVybmV0IGFuZ3NjaGxvc3NlbmVuIFJlY2huZXIsIGRhZnVlciBpc3QgZGFzIEludGVybmV0IHNjaGxpY2h0CnVuZ2VlaWduZXQ7IHNvbGNoZSBJbmZvcyBnZWhvZXJlbiBhdWYgZWluZW4gbmljaHQtdmVybmV0enRlbiBSZWNobmVyIGluCmVpbmVtIHZlcnNjaGxpZXNzYmFyZW4gUmF1bSBtaXQgU3RhaGx0dWVyZW4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5BU0lSQyB3YXJudCB2b3IgTmV0c2NhcGUgMi4wIChIaWdobGFuZGVyLCAxNC4gTWFyIDE5OTYsIDE0OjAwOjQ0KToKfiMhIHJuPUpvZiBydD04MjY4MDgxMDQKfiMhIHRpZD04MjY2MzAzNTQKSWNoIHNjaGllYiBhdWNoIGtlaW5lIFBhbmlrLCBhYmVyIGljaCBmaW5kZSwgc293YXMKc29sbHRlIG1hbiBzY2hvbiBtYWwgYXVjaCBoaWVyIGt1bmR0dW4gOj4KRGVuIEFydGlrZWwgZ2lidCdzIG5hdHVlcmxpY2ggdWVicmlnZW5zIGF1Y2ggaW4KZWluc2NobGFlZ2lnZW4gR3J1cHBlbiwgZGllIHNpY2ggbWl0IFNpY2hlcmhlaXQgYmVzY2hhZWZ0aWdlbi4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5BU0lSQyB3YXJudCB2b3IgTmV0c2NhcGUgMi4wIChDcmVhdGl2ZSwgMTQuIE1hciAxOTk2LCAxNDowMzoyNyk6Cn4jISBybj1Kb2YgcnQ9ODI2ODA4MTA0Cn4jISB0aWQ9ODI2NjMwMzU0CgpPZGVyIGRhcyBnYW56ZSBpcyBzb3dpZXNvIHZpYSBQcm94eSA6KQpBbHNvIGRvbid0IHBhbmljIGlzIHNjaG9uIHJpY2h0aWcuIEFiZXIgZGllIDA4LzE1IFdhbGQgdW5kIFdpZXNlbnVzZXIgdm9uCmRhaGVpbSBhdXMgbWl0IE1vZGVtIC0gZGEga2FubiBzY2hvbiBtYWwgZWluCkJhY2tncm91bmQtRmVzdHBsYXR0ZW5mb3JtYXRpZXJwcm9ncmFlbW1jaGVuIG9kZXIgd2FzIGF1Y2ggaW1tZXIKbWl0Z2Vjc2htdWdnZWx0IGtvbW1lbiAtIGRpZSBzaW5kIHNpY2hlciBuZXQgc28gYmVnZWlzdGVydC4uLiBVbmQgc29sY2hlIExldXRzCm1hY2hlbiBlaCBudXIgV1dXIDopCgotQ3JlYS0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5BU0lSQyB3YXJudCB2b3IgTmV0c2NhcGUgMi4wIChTcGF0eiwgMTQuIE1hciAxOTk2LCAyMjo0NDowOSk6Cn4jISBybj1Kb2YgcnQ9ODI2ODA4MTA0Cn4jISB0aWQ9ODI2NjMwMzU0CkRhcyB3b2xsdGVzdCBEdSBkb2NoIHNpY2hlciBpbiBkaWUgUnVicmlrICJ3aXR6ZSIgcG9zdGVuLCBKb2Y/CgpEYXMgSW50ZXJuZXQgc29sbCBzaWNoZXIgc2VpbiAtIHVuZCB3ZW5uIGVzIGRhcyBuaWNodCBpc3QsIGRhbm4gbXVlc3NlbiB3aXIKbm9jaCB3YXMgdHVuLgoKU3BhdHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5BU0lSQyB3YXJudCB2b3IgTmV0c2NhcGUgMi4wIChKb2YsIDE1LiBNYXIgMTk5NiwgMTE6MTY6MjgpOgp+IyEgcm49U3BhdHogcnQ9ODI2ODM5ODQ5Cn4jISB0aWQ9ODI2NjMwMzU0CgogRGFzIEludGVybmV0IHdpcmQgbmllbWFscyBzaWNoZXIgc2VpbiwgYXVzc2VyIER1IHZlcnNjaGx1ZXNzZWxzdCBzYWVtdGxpY2hlCkluZm9ybWF0aW9uZW4gbWl0IEVpbm1hbHNjaGx1ZXNzZWxuLCBkaWUgRHUgdWViZXIgc2ljaGVyZSBXZWdlICh6QiBhdWYgQ0RzLApkaWUgdm9uIHp1dmVybGFlc3NpZ2VuIEt1cmllcmVuIHRyYW5zcG9ydGllcnQgd2VyZGVuKSBhbiBiZWlkZQpLb21tdW5pa2F0aW9ucy0KcGFydG5lciBnaWJzdC4KCiBBYmVyIGdhbnogaW0gRXJuc3QsIGVzIGdpYnQga2F1bSBldHdhcywgd2FzIHdlbmlnZXIgc2ljaGVyIGlzdCBhbHMgZGFzCkludGVybmV0OyBkaWVzIGlzdCB1LmEuIGluIGRlbiB2ZXJ3ZW5kZXRlbiBQcm90b2tvbGxlbiBiZWdydWVuZGV0LiBBdXNzZXJkZW0KYmVkaW5ndCBkaWUgT2ZmZW5oZWl0IGVpbmVzIFN5c3RlbXMgZWluZSBsZWljaHRlcmUgQW5ncmVpZmJhcmtlaXQgZHVyY2gKSGFja2VyOyBkaWVzZW4gUHJlaXMgbXVzcyBtYW4gd29obCB6YWhsZW4uIE1hbiBrYW5uIHZlcnN1Y2hlbiwgdm9yaGFuZGVuZQpMb2VjaGVyIHp1IHN0b3BmZW4sIGFiZXIgbWFuY2hlIHNpbmQgZWluZmFjaCBuaWNodCB6dSBiZXNlaXRpZ2VuLCBvaG5lIGRhYmVpCndpcmtsaWNoIFZlcmx1c3RlIGluIGRlciBPZmZlbmhlaXQgdW5kIGZsZXhpYmlsaXRhZXQgaGlubmVobWVuIHp1IG11ZXNzZW4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOQVNJUkMgd2FybnQgdm9yIE5ldHNjYXBlIDIuMCAoQmxvb2R5aGFycnksIDE1LiBNYXIgMTk5NiwgMTM6NTc6MzMpOgp+IyEgcm49Sm9mIHJ0PTgyNjg4NDk4OAp+IyEgdGlkPTgyNjYzMDM1NAoKPiBhdXNzZXIgRHUgdmVyc2NobHVlc3NlbHN0IHNhZW10bGljaGUgSW5mb3JtYXRpb25lbiBtaXQgRWlubWFsc2NobHVlc3NlbG4sCmRpZSBEdSB1ZWJlciBzaWNoZXJlIFdlZ2UgKHpCIGF1ZiBDRHMsZGllIHZvbiB6dXZlcmxhZXNzaWdlbiBLdXJpZXJlbgp0cmFuc3BvcnRpZXJ0IHdlcmRlbikgYW4gYmVpZGUgS29tbXVuaWthdGlvbnMtcGFydG5lciBnaWJzdC4KCk9kZXIgZWluZmFjaGVyIG1pdCBQR1AgekIuCgpXZXIgcHJvZ2d0IGRlbm4gZGVuIGVyc3RlbiBKYXZhLVZpcnVzPwoKCkIuSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4L0VMRiAoTGksIDE4LiBNYXIgMTk5NiwgMDc6NDM6MjMpOgpIaSEKSWNoIGhhYmUgZWluIGtsZWluZXMgUHJvYmxlbTogTWVpIEtlcm5lbCBpc3Qgc2Nob24gZXR3YXMgYWVsdGVyICgxLjEyIGdsYXViZQppY2gpLCBhYjRlciBiZWltIGNvbXBpbGllcmVuIGhhYiBpY2ggbmF0dWVybGljaCBhdWNoIGRpZSBFTEYgdW50ZXJzdHVldHp1bmcKbWl0IHJlaW5nZW5vbW1lbi4KbnVuIGhhYmUgaWNoIGFtIEZyZWl0YWcgbmV0c2NhcGUgMi4wIG1pdCBuYWNoIEhhdXNlIGdlbm9tbWVuLCBhYmVyIGxlaWRlcgpsaWVmcyBuaWNodCAoY291bGRuJ3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSkuCm51biBtZWluZSBGcmFnZTogd2llc28gbGFldWZ0J3MgdHJvdHogRUxGIHVudGVyc3R1ZXR1bmcgbmljaHQ/IFJlaWNodCBlaW4KbmV1cmVyZXIgS2VybmVsLCBvZGVyIG11c3MgaWNoIG1laW4gZ2FuemVzIExJTlVYIGF1ZiBFTGYgdW1zdGVsbGVuPyAobWVpbnMKbGFldWZ0IGdyYWQgc28gZ3V0ISkuCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXgvRUxGIChDcmVhdGl2ZSwgMTguIE1hciAxOTk2LCAxMTozNTozMyk6Cn4jISBybj1MaSBydD04MjcxMzE0MDMKfiMhIHRpZD04MjcxMzE0MDMKCkFsc28sIGdhbnogZWluZmFjaC4uLgpFTEYtVW50ZXJzdHVldHp1bmcgbnV0enQgbmV0IHdpcmtsaWNoIHJlY2h0IHZpZWwsIHdlbm4gZGVyIEtlcm5lbCBuaWNodAptaXQgRUxGLWdjYyBrb21waWxpZXJ0IHd1cmRlLCB3ZWlsIGRhIHZpZWwgSW5rb21wYXRpYmlsaXRhZXQgbWl0IGRlbiBhLm91dApkcmluIGlzdC4KTWVpbiBSYXRzY2hsYWc6IE5ldSBpbnN0YWxsaWVyZW4gLSBhbSBiZXN0ZW4gZ2xlaWNoIE1JVCBFTEYtQmluYXJpZXMsCnVuZCBhdWNoIGRlbiBLZXJuZWwgZ2xlaWNoIHBlciBFTEYga29tcGlsaWVyZW4sIGRhbm4gaGFzdCBrZWluZSBQcm9ibGVtZQptZWhyLiBNaXIgZ2VodHMgaW0gTW9tZW50IGFlaG5saWNoIHVuZCBpY2ggd2FydGUgc2VobnN1ZWNodGlnIGF1ZiBkaWUKSW5zdGFsbC1DRCAqZ3JpbnNuYWNobnVlcm5iZXJnKgoKLUNyZWEtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTkFTSVJDIHdhcm50IHZvciBOZXRzY2FwZSAyLjAgKE5peGlob3UsIDE5LiBNYXIgMTk5NiwgMTc6NDA6NDMpOgp+IyEgcm49Qmxvb2R5aGFycnkgcnQ9ODI2ODk0NjUzCn4jISB0aWQ9ODI2NjMwMzU0Cm51ciBtYWwgc28gZGFoaW5nZXNhZ3QsIHBncCBpc3QgemllaGxpY2ggc2ljaGVyIQphYmVyIG5pY2h0IHVua25hY2tiYXIuIHZvciAxMCBqYWhyZW4gb2RlciBzbyAod2Vpc3MgbmljaHQgbWVociBnZW5hdSkgd3VyZGUKZWluIHNvIHZlcnNjaGx1ZXNzZWx0ZXIgdGV4dCBoZXJyYXVzZ2VnZWJlbiAuIGFuZ2VibGljaCBzb2xsdGUgZXIgZGllCm5hZWNoc3RlbgoxMDAwIGphaHJlIG5pY2h0IGdla25hY2t0IHdlcmRlbiBrb2VubmVuLgplYmVuIGRpZXMgaXN0IGFiZXIgbGV0enRlcyBvZGVyIHZvcmxldHp0ZXMgamFociBnZXNjaGVoZW4uCihlcyBsYWcgd29obCBhbiBkZXIgZ2VyaW5nZW4gYml0LXphaGwgZGVyIGdlaGVpbSB1bmQgcHVibGljIGtleXMpCmFsc28gYXVjaCBtaXQgcGdwIGthbm4gbWFuIGtlaW5lIGFic29sdXRlIHNpY2hlcmhlaXQgZXJyZWljaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTkFTSVJDIHdhcm50IHZvciBOZXRzY2FwZSAyLjAgKEFzbW9kaXMsIDE5LiBNYXIgMTk5NiwgMTc6NDI6NTApOgp+IyEgcm49Tml4aWhvdSBydD04MjcyNTM2NDMKfiMhIHRpZD04MjY2MzAzNTQKU2ljaGVyIGlzdCBuaWNodHMgYWJzb2x1dCBzaWNoZXIsIGlyZ2VuZGVpbmUgU2ljaGVyaGVpdHNsdWVja2UgZ2lidAplcyBpbW1lciwgZGVyIE1lbnNjaCBtYWNodCBlYmVuIHZvbiBOYXR1ciBhdXMgRmVobGVyIDopCldlciBldHdhcyBhbmRlcmVzIGJlaGF1cHRldCwgZGVyIGlzdCBlaW4gVHJhZXVtZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOQVNJUkMgd2FybnQgdm9yIE5ldHNjYXBlIDIuMCAoWWVuZGksIDIxLiBNYXIgMTk5NiwgMTQ6NDU6NTApOgp+IyEgcm49Tml4aWhvdSBydD04MjcyNTM2NDMKfiMhIHRpZD04MjY2MzAzNTQKCkFlaCAtLSBnYWJzIHZvciAxMCBKYWhyZW4gc2Nob24gIFBHUD8KCllUICJEYSBzdGVsbGUgbWVyIHVucyBtYWwgZ2FueiBkdW1tIiBZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTkFTSVJDIHdhcm50IHZvciBOZXRzY2FwZSAyLjAgKE5peGlob3UsIDI4LiBNYXIgMTk5NiwgMTI6Mjc6NTEpOgp+IyEgcm49WWVuZGkgcnQ9ODI3NDE1OTUwCn4jISB0aWQ9ODI2NjMwMzU0ClBHUCBuaWNodCwgYWJlciBkYXMgY29kZS1zeXN0ZW0sIGRhcyBQR1AgaW0gd2VzZW50bGljaGVuIHZlcndlbmRldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjZXMgb2YgdGhlIERlZXAgKFRhc2hhLCAgOC4gQXByIDE5OTYsIDAxOjQxOjIwKToKSHV1dXVodSEKCkljaCBoYWIgbmVuIGtsZWluZXMgUHJvYmxlbWNoZW46IE1pciBpc3QgZGllIHp3ZWl0ZSBEaXNrZXR0ZSB2b24gIkFjZXMgb2YgdGhlCkRlZXAiIGFiZ2VmcmFnZ2xldC4gRGEgaWNoIGRhcyBEaW5nIGFiZXIgZ2VybmUgbWFsIHdpZWRlciBzcHVlbGVuIHd1ZXJkZSB3b2xsdAppY2ggbWFsIG5hY2hmcmFnZW4sIG9iIGVpbmVyIHZvbiBldWNoIG1pciBkaWVzZSBEaXNrZXR0ZSB2aWVsbGVpY2h0IG1hbApmdHBtYWVzc2lnIHp1Z2FlbmdsaWNoIG1hY2hlbiBrb2VubnRlLgoKRGFua2VuZCwgVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2VzIG9mIHRoZSBEZWVwIChadWVyaWxldSwgIDguIEFwciAxOTk2LCAwMjoyMjo0Nyk6Cn4jISBybj1UYXNoYSBydD04Mjg5MjA0ODAKfiMhIHRpZD04Mjg5MjA0ODAKSGFsbG8sClRqYSwgSWNoIGJlc2l0emUgKGxlaWRlcikgbnVyIGRpZSBDRCB2ZXJzaW9uIHVuZCBkaWUgZ2VwYWNrdCBnaWVidAp3YXJzY2hlaW5saWNoIGVpbiB6dSBncm9zc2VzIGZpbGUgdW0gZXMgZGlyIHVlYmVyIGZ0cCBzZW5kZW4genUga29lbm5lbi4KR2VzY2h3ZWlnZSBkYXZvbiBkYXMgaWNoIGtlaW4gZnRwIGhhYmUgbWVpbiBpY2guIEFiZXIgZHUga2FubnN0IG1pdCB6aWVtbGljaGVyCndhcnNjaGVpbmxpY2hrZWl0IHZvbiBkZXIgVmVydHJldHVuZyBpbiBEZXV0c2NobGFuZCBkaWVzZXIgU29md2FyZXNjaG1pZWRlCihTSUVSUkEpIGVpbmVuIGF1c3RhdXNjaCBiZWtvbW1lbiB3ZW5uIGR1IGRpZSBPcmdpbmFsZGlza2V0dGVuIGVpbnNjaGlja3N0LgpTb2Zlcm4gZHUgbmF0dWVybGljaCBkYXMgU3BpZWwgb3JnaW5hbCBlcndvcmJlbiBoYXN0LiBCZWkgUmF1YmtvcGllbiB3dWVyZGUKaWNoIG1pY2ggbWFsIGF1ZiBlaW5lciBMYW1lci1CQlMgZXR3YXMgdW1zY2hhdWVuIGRpZSBhdWNoIGFlbHRlcmUgU29mdHdhcmUKaGF0LCBkYSBBY2NlcyBvZiB0aGUgRGVlcCBkb2NoIHNjaG9uIGZ1ZXIgU3plbmVudmVyaGFlbHRuaXNzZSBlaW4gb2xkaWUgaXN0LgoKSG9mZmVudGxpY2gga29ubnRlIGljaCBoZWxmZW4sIHRzY2h1ZXNzbGkgenVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcHMgZnVlciBEdW5nZW9uIE1hc3RlciAoTW9yZ290aCwgIDguIEFwciAxOTk2LCAwNDo1MjoxNSk6CmphdSwgaXMgendhciBzY2hvbiB1cmFsdCwgYWJlciBlaW5zIGRlciBiZXN0ZW4gc3BpZWxlIHVlYmVyaGF1cHQuCm1pciBzaW5kIG1laW5lIGthcnRlbiBhYmhhbmRlbiBnZWtvbW1lbiB1bmQgZGEgaWNoIGtlaW5lIGx1c3QgaGFiLCBuZXVlIHp1CnplaWNoZW4sIGZyYWcgaWNoIGRvY2ggbWFsIGdhbnogZnJlY2gsIG9iIG1pciBkaWUgbmNpaHQgamVtYW5kIG1hbCBzY2hja2VuCmthbm4uCmZhbGxzIG5jaWh0IHd1ZXJkZSBlcyBtcmkgcmVpY2hlbiwgd28gaWNoIGRpZSB6d2VpdGUgdm9ycGFsIGJsYWRlIGZpbmRlIChpY2gKbWVpbmUgZXMgd2FyIGxldmVsIDYgaGludGVyIG5lciBnZWhlaW10dWVyKSB1bmQgZGllIGdhbnplbiAnbGl0ZScgc2FjaGVuCmZlaGxlbiBtaXIgYXVjaCBiaXMgYXVmIGRlbiBoZWxtLiBkYXMgd2FlcnMgZXJzdG1hbC4KbW9yZ290aAouLgphcmdoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFwcyBmdWVyIER1bmdlb24gTWFzdGVyIChTaWx2YW5hLCAgOS4gQXByIDE5OTYsIDA4OjA2OjM2KToKfiMhIHJuPU1vcmdvdGggcnQ9ODI4OTMxOTM1Cn4jISB0aWQ9ODI4OTMxOTM1CldhcyBkYXJmJ3MgZGVubiBzZWluPyBEdW5nZW9uIE1hc3RlciBJLCBDaGFvcyBTdHJpa2VzIEJhY2sgb2RlcgpEdW5nZW9uIE1hc3RlciBJSSA/CgpTaWx2YW5hIC0gaGF0IGFsbGUgZHJlaS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFyYWxsZWx0YXBlIChBbmFraW4sIDEwLiBBcHIgMTk5NiwgMTc6MDc6NDgpOgpIaSwKCndlaXNzIGVpbmVyIG9iIG1hbiB1bnRlciBMaW51eCBwZXIgZnRhcGUgYXVjaCBkaWUKZXh0ZXJuZW4gdmVyc2lvbmVuIHZvbiBTdHJlYW1lcm4gZGllIGFuIGRlbiBQYXJhbGxlbHBvcnQKYW5nZXNjaGxvc3NlbiB3ZXJkZW4gYW5zcHJlY2hlbiBrYW5uPyBJY2ggaGFiIHNvIHJpY2h0aWcgZGF6dQprZWluZSBBdXNzYWdlIGdlZnVuZGVuLgpXZW5uIG5laW4gd2llIGRhbm4gPyA6KQoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9kZW0gKEZlbHMsIDE3LiBBcHIgMTk5NiwgMTk6MTc6NTMpOgpIaS4gSWNoIG1vZWNodGUgbWlyIGluIGFic2VoYmFyZXIgWmVpdCBlaW4gTW9kZW0genVsZWdlbi4gTnVuIGlzdCBlcyBhYmVyIHNvLAooKnNjaGFlbSopLCBkYXNzIGljaCB2b24gZGZlbiBVbnRlci0gdW5kIG5pY2h0IFVudGVyc2NoaWVkZW4gZGVyCnZlcnNjaGllZGVuZW4gTW9kZWxsZSBzbyB6aWVtbGljaCBrZWluZSBBaG51bmcgaGFiLi4uCk9rLCBCYXVkLVJhdGUgc2FndCBtaXIgZ3JhZCBub2NoIHdhcyAoc28gZXR3YSAyODAwMCBzb2xsdGVucyBzY2hvbiBzZWluLi4uKQpBYmVyIHdhcyBnaWJ0cyBkYSBzb25zdCBub2NoLCB3b3JhdWYgbWFuIGFjaHRlbiBtdXNzPyBXZWxjaGUgVm9yLS9OYWNodGVpbGUKa2FubiBzbyBlaW4gVGVpbCBoZQprYW5uIHNvIGVpbiBUZWlsIGhhYmVuPwpGdWVyIGplZGUgTWFpbCBhbiBtaWNoIChqYSwgYXVjaCBtaXQgZ2FueiBrbGFyZW4gRW1wZmVobHVuZ2VuLCBkZXNoYWxiIGF1Y2gKcGVyIE1haWwsIGRhbWl0cyBrZWluZSBXZXJidW5nIGlzdDotKSBiaW4gaWNoIGRhbmtiYXIhIChPb2ggTWFubiwga2xpbmd0IGRhcwpuaWNodCB3dW5kZXJzY2hvb2Vlbi4uLj8pCgpBbHNvLCBoZWxmdCBlaW5lbSBNb2RlbS1CYW5hdXNlbi4uLiA6LSkKR3J1c3MsIEZlbHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvcnJ5IChGZWxzLCAxNy4gQXByIDE5OTYsIDE5OjE4OjI1KToKLi4uZGllIFR5cG9zCkZlbHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRvd25zcGlubiB2b24gc2NzaS1wbGF0dGVuIChCaW5nLCAyMi4gQXByIDE5OTYsIDE1OjMzOjA5KToKaGkgYWxsZSwKaWNoIG1vZWNodGUgdW50ZXIgZG9zIGVpbmlnZSBzY3NpIHBsYXR0ZW4gcnVudGVyZmFocmVuLCBkLmguIGRlbiBzcGluZGVsbW90b3IKYWJzY2hhbHRlbi4gd2llIG1hY2hlaWNoIGRhcz8gbWl0IGV6LXNjc2kgMy4xMiB1bmQgNC4wIGdlaHQgZGFzIG51ciB1bnRlcgp3aW5kb3dzLgpIYXQgamVtYW5kIGVpbmUgaWRlZT8/Pwp3YXJ0ZSBhdWYgZnJldW5kbGljaGUgdW50ZXJzdHVldHp1bmcuCmJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkb3duc3Bpbm4gdm9uIHNjc2ktcGxhdHRlbiAoUmFmZmksIDIyLiBBcHIgMTk5NiwgMTU6MzY6MzApOgp+IyEgcm49QmluZyBydD04MzAxNzk5ODkKfiMhIHRpZD04MzAxNzk5ODkKCkVyc3RtYWwgZGFzIEhhbmRidWNoIGZ1ZXIgZGllIEpld2VpbGlnZW4gUGxhdHRlbiB2b20gSGVyc3RlbGxlciBiZXNvcmVnZW4sIGRhCmVpbiBEZXJhcnRpZ2VyIEJlZmVobCBuaWNodCB6dW0gR3J1bmR1bWZhbmcgU0NTSSBnZWhvZXJ0LiB1bmQgZGFubiBkYXJhdWYKaG9mZmVuLCBkYXMgZGVyIEhlcnN0ZWxsZXIgc293YXMgd2llIE1vdG9yYWJzY2hhbHR1bmcgdWViZXJoYXVwdCB2b3JnZXNlaGVuCmhhdC4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXNjZW50IEVuZCBvZiBMZXZlbCA3ID8gKEtldG9zLCAxOC4gTWFpIDE5OTYsIDEyOjE4OjE3KToKSGkgTGV1dGUuIERhIGdpYnQgZXMgc28gZWluIG5ldHRlcyAzZCBCYWxsZXJzcGllbCBuYW1lcyBEZXNjZW50CkFtIEVuZGUgZGVzIExldmVsIDcga29tbWUgaWNoIG5pY2h0IHdlaXRlci4gSXN0IGRvcnQgZWluIFRyaWNrPyBXTyBpc3QgZGVyClJlYWt0b3I/CkdpYnQgZXMgaXJnZW5kd28gbmUgdGlwIGxpc3RlIGZ1ZXIgZGFzIHNwaWVsPwpkYW5rZSBmdWVyIGplZHdlZGUgaGlud2Vpc2UgYW4gbWljaC4KLSBLZXRvcyAtIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlc2NlbnQgRW5kIG9mIExldmVsIDcgPyAoSmltZGlncml6LCAxOC4gTWFpIDE5OTYsIDE5OjUxOjQxKToKfiMhIHJuPUtldG9zIHJ0PTgzMjQxNDY5Nwp+IyEgdGlkPTgzMjQxNDY5NwpIaSBLZXRvcywKCk9LLCBhbHNvIERlc2NlbnQgaXN0IHNpY2hlciBlaW5lcyBkZXIgc2Nod2Vyc3RlbiBTcGllbGUsCmdhbnogYmVzb25kZXJzIExldmVsIDcsIHdvIHNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSBkYXMgZXJzdGUKZmllc2UgT2JlcmRpbmdlbnMgYXVmdGF1Y2h0LgoKR3J1bmRzYWV0emxpY2gga2FubnN0IGR1IGRpZSBzY2hvbiBmdWVyIHNwYWV0ZXIgbWVya2VuOgoKRWluIGdlZ25lciB0b3QgdW5kIGR1IGhhc3Qgbml4IGFiZ2VrcmllZ3Q6IFNwZWljaGVybgpEdSBoYXN0IHdhcyBhYmdla3JpZWd0ICh3b2JlaSBhdWNoIGltbWVyKTogTmV1bGFkZW4uCgpIb2VydCBzaWNoIGZydXN0cmllcmVuZCBhbiwgaXMgYXVjaCBzbywgYW5kZXJzIGtvbW10IG1hbiBqZWRvY2ggc3BhZXRlciBrYXVtXApuY29oIHdlaXRlci4KCm51biB6dW0gTGV2ZWwgNzogc2ljaGVyIGhhc3QgZHUgc2Nob24gZGFzIGdlbGJlIHVuZ2V0dWVtIGVudGRlY2t0LCBoaW50ZXIKZGVyIHJvdGVuIFR1ZXIuIEVzIGlzdCBkZXIgcmVha3Rvciwga2lsbHN0IGR1IGVzIHVuZCBlbnRrb21tc3QgZHUgLCAKaGFzdCBkdSBkZW4gbGV2ZWwgZ2VzY2hhZmZ0LiBMZWlkZXIgaGF0IGRhcyBkaW5nIG4gcGFhciBmaWVzZSBlaWdlbmhlaXRlbiwKZGF6dSBnZWhvZXJ0IHdlZ3RlbGVwb3J0aWVyZW4gdW5kIHNtYXJ0IG1pc3NpbGVzLgpFaW5lIFNtYXJ0bWlzc2lsZSBkaWUgZGljaCB2b2xsdHJpZmZ0IG5pbW10IGRpciBkaWUgaGFlbGZ0ZSBhbiBzY2hpbGQsIAp0cmlmZnQgc2llIGRpY2ggbmljaHQsIGtvbW1lbiBncnVlbmUga3VnZWxuIHJhdXMgZGllCmRpciBoaW50ZXJoZXJmbGllZ2VuICghISEhKS4KCkFsc28gaWNoIGhhYnMgc28gZ2VtYWNodCwgZGFzcyBpY2ggZXJzdCB2b20gZWluZ2FuZyBhdXMgKGRlciBzaWNoIG5hZW1saWNoIApzY2hsaWVzc3Qgd2VubiBtYW4gZ2FueiBkcmluIGlzKSwgZGllIGFuZGVyZW4gbW9uc3RlciAobmljaHQKZGFzIGdlbGJlKSBlcmxlZGdvZ3QgaGFiLCBkYXp1IGJyYXVjaHRzIGdlZHVsZCBiaXMgc2llIHNpY2ggYmxpY2tlbiBsYXNzZW4uCkRhbm4gaW1tIHZvbiBkZXIgbWl0dGVsc2FldWxlLCBpbiBkZXIgZWluaWdlIGdhZW5nZSBkcmluIHNpbmQgb3BlcmllcnQ6ClJhdXMgc2NoaWVzc2VuLCByZWluLiBCZWkgdHJlZmZlciBzcGVpY2hlcm4sIGJlaSBnZXRyb2ZmZW4gd29yZGVuCm5ldWxhZGVuLgoKSG9wZSB0aGlzIGhlbHBzLCB1bmQgdmllbCBTcGFzcyBub2NoICwgZXMgZ2lidCAyNyBMZXZlbCA6KSkKKGluIGRlciByZWdpc3RyaWVydGVuIHZlcnNpb24pCgpDaWFvLAogSmFtZXMgQm9saXZhciBkaUdyaXouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERlc2NlbnQgRW5kIG9mIExldmVsIDcgPyAoTWVwaGlzdG8sIDE4LiBNYWkgMTk5NiwgMjI6MTI6NTkpOgp+IyEgcm49SmltZGlncml6IHJ0PTgzMjQ0MTkwMQp+IyEgdGlkPTgzMjQxNDY5NwpEZXNjZW50IHNpbmQgcGVhbnV0cy4KTWVwaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlc2NlbnQgRW5kIG9mIExldmVsIDcgPyAoWnVlcmlsZXUsIDIwLiBNYWkgMTk5NiwgMDY6MjA6MjEpOgp+IyEgcm49TWVwaGlzdG8gcnQ9ODMyNDUwMzc5Cn4jISB0aWQ9ODMyNDE0Njk3CkhhbGxvIEtldG9zLApBbHNvIEppbWRpZ3JpeiBoYXQgcmVjaHQgdW5kIGRhcyBpc3Qgd29obCBkZXIgZWluemlnIHJpY2h0aWdlIFdlZyB1bSBMZXZlbCA3CnNjaGphZmZlbiB6dSBrb2VubmVuIHVuZCBpY2ggaGFiZSBlcyBhdWNoIHNvIGdlc2NoYWZ0LiBBdWNoIHdlbm4gaWNoIGRhbWFscwpsYW5nZSBicmF1Y2h0ZSBkYWZ1ZXIgdW5kIHZpZWwgZ2VkdWx0IHVuZCB2b3JhbGxlbSBuZXJ2ZW4uIFdlbm4gZHUgYWJlciBrdXJ6CnZvciBkZXIgdmVyendlaWZsdW5nIGJpc3QgdW5kIGR1IGt1cnogZGFyYW4gYmlzdCBkZW4gQ29tcHV0ZXIgbWl0IGRlciBheHQgenUKZXJzY2hsYWdlbiwgZGFubiBzY2hyZWliIG1pciB1bmQgaWNoIGdlYmUgZGlyIGRpZSBDaGVhdHMgenUgRGVzY2VudC4gSWNoIGhhZXQKc2llIGhpZXIgcmVpbmdlc2NocmllYmVuIGFiZXIgYSkgbXVzcyBpY2ggc2llIHp1ZXJzdCBub2NoIHJhdXNzdWNoZW4gdW5kIGIpCndhZXIgZGllIGJ2ZXJzdWNodW5nIHp1IGdyb3NzIGZ1ZXIgRGljaCB3ZW5uIGljaCBzIHR1biB3dWVyZGUgKHp1ZXJpbGV1IGtlbm50CmRhcyBzZWxiZXIpID06KQoKVHNjaHVlc3MgenVlcmlsZXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoR3VsZHVrYXQsIDIwLiBNYWkgMTk5NiwgMTM6MDU6MzEpOgpIaSwgaWNoIGJhdSBtaXIgZ2VyYWRlIG1laW5lbiBuZXVlbiByZWNobmVyIHp1c2FtbWVuLHVuZCB3b2xsdGUKZGFubiBkb3J0IHdpbmRvb2YgOTUsIG50IGxpbnV4IHVuZCBkb3MgNi4yIGluc3RhbGxpZXJlbiAobWl0IGRlbSBvc2hhbGJlCmJvb3RtYW5hZ2VyKQpkb3MgNi4yLCBsaW51eCB1bmQgb3MyIGxhdWZlbiBhdWYgbWVpbmVtIGFsdGVuIHJlY2huZXIgc2Nob24gcGFyYWxsZWwsIGlzdAphdWNoIGtlaW4gcHJvYiwgZGFzIHp1IGluc3RhbGxpZXJlbi4Kd2llIHNpZWh0IGRhcyBtaXQgd2luZG9vZiA5NSB1bmQgbnQgYXVzLgppY2ggZ2xhdWJlIGdlaG9lcnQgenUgaGFiZW4sIGRhc3MgOTUgZGFzIGVyc3RlIGdlYm90IGRpZXNlciB2ZXJlaW5pZ3VuZwpnbGFldWJpZ2VyIGJlZm9sZ3Q6IGR1IHNvbGxzdCBrZWluIGFuZGVyZXMgYmV0cmllYnNzeXN0ZW0gbmViZW4gbWlyIGhhYmVuIQooZnVlciBkZW4gZmFsbCBkZXIgZmFlbGxlOiAqaXJvbmllIG9mZiosIGJpdHRlIGtlaW5lIGRpc2t1c3Npb24gaW4gZXRpa2V0dGUhKQpndXQsIHp1cnVlY2sgenVtIGVybnN0IQp3YXMgZnVlciBhbnNwcnVlY2hlIHN0ZWxsZW4gd2luZG9vZiA5NSB1bmQgbnQ/IGthbm4gOTUgbnVyIHZvbiBlaW5lciBwcmltYWVyZW4KcGFydGl0aW9uIGdlYm9vdGV0IHdlcmRlbj8gZGFzIHd1ZXJkZSBiZWRldXRlbiwgendlaSBwcmltYWVyZSBmdWVyIGRvcyA2LjIgdW5kCjk1LCB3b2JlaSBpbW1lciBudXIgYXVmIGVpbmUgenVnZWdyaWZmZW4gd2VyZGVuIGthbm4/CndhcyBpc3QgbWl0IG50LCBrYW5uIGRhcyBpbiBlaW5lIGJlbGllZ2liZSBwYXJ0aXRpb24/CityCityCmFhYWFoaGhoLCBzY2hlaXNzIHdpbmRvb2YgOTUgdGFzdGF0dXIsIGRhIGxpZWd0IGF1ZiBkZXIgcG9zaXRpb24gZGVyIGFsdCB0YXN0ZQpzb25lIGJsb2VkZSB3aW5kb29mIHRhc3RlCm9raSwgY2lhbwpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoQ2F1bm8sIDIwLiBNYWkgMTk5NiwgMTM6Mzc6NDUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODMyNTkwMzMxCn4jISB0aWQ9ODMyNTkwMzMxCgp1bmQgZHUgYmlzdCBkaXIgZGEgc2ljaGVyLCBkYXNzIGR1IGRhcyB3aWxsc3Q/CnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2luZG9vZiA5NSwgbnQsIGxpbnV4IHVuZCBkb3MgNi4yIChHdWxkdWthdCwgMjAuIE1haSAxOTk2LCAxNDoyMDowOSk6Cn4jISBybj1DYXVubyBydD04MzI1OTIyNjUKfiMhIHRpZD04MzI1OTAzMzEKam8sIGxpbnV4IHVuZCA2LjIgYXVmIGplZGVuIGZhbGwuIHdpbiBudCB1bmQgOTUgYXVjaCBlcnN0bWFsIHp1bSB0ZXN0ZW4sIHVuZApkYW5uIGRhcyBiZXNzZXJlIGJlaGFsdGVuIChoYWIgbm9jaCBrZWluZSBlcmZhaHVydW5nIG1pdCBiZWlkZW4pCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3aW5kb29mIDk1LCBudCwgbGludXggdW5kIGRvcyA2LjIgKENhdW5vLCAyMC4gTWFpIDE5OTYsIDE0OjU3OjIwKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTgzMjU5NDgwOQp+IyEgdGlkPTgzMjU5MDMzMQoKSWNoIGdsYXViZSwgZGllIEVudHNjaGVpZHVuZywgd2FzIGRhcyBiZXNzZXJlIGlzdCwgZmFlbGx0IHNjaG5lbGwuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGVzY2VudCBFbmQgb2YgTGV2ZWwgNyA/IChKaW1kaWdyaXosIDIwLiBNYWkgMTk5NiwgMTU6MjA6NDkpOgp+IyEgcm49WnVlcmlsZXUgcnQ9ODMyNTY2MDIxCn4jISB0aWQ9ODMyNDE0Njk3CkhpIFp1ZXJpLCBLZXRvcwoKQWxzbyBpY2gga2FubiB2b24gZGVuIENoZWF0cyBudXIgYWJyYXRlbiB3ZW5uIG1hbiB3aXJrbGljaAp3ZWl0ZXJzcGllbGVuIHdpbGwuIE1hbiB2ZXJsaWVydCBuYWVtbGljaCBhbGxlIFB1bmt0ZSB1bmQga2FubiBhdWNoIAprZWluZSBtZWhyIHNhbW1lbG4gd2VubiBtYW5zIGVpbm1hbCBhbmdld2VuZGV0IGhhdC4KQXVzc2VyZGVtIGVyc2NoZWluZW4gYmVpIGplZGVtIEtJbGwgc28gZWtsaWdlICJjaGVhdGVyIiBtZWxkdW5nZW4KTmFqYSB0ZXN0ZW4ga2FubiBtYW5zIGphIG1hbCB3ZW5ibiBtYW4gdm9yaGVyIGFiZ2VzcGVpY2hlcnQgaGF0LgoKV2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyZSB3YXJlbiBkaWUgY2hlYXRzOgoKSW5pdGlhbGlzaWVyZW46IGdhYmJhZ2FiYmFoZXkKQWxsZSBXYWZmZW46IHNjb3VyZ2UKQWxsZSBzY2hsdWVzc2VsOiBtaXR6aQpobW0gZGVuIHJlc3QgaGFiIGljaCB2ZXJnZXNzZW4gOikKCkNpYW8sCiBKYW1lcyBCb2xpdmFyIGRpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoV3VyemVsLCAyMC4gTWFpIDE5OTYsIDIxOjE0OjQ5KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTgzMjU5MDMzMQp+IyEgdGlkPTgzMjU5MDMzMQpoaSwKc3RpbW10LCBzaW5ubG9zIDk1IGlzdCBkYSBldHdhcyBlaWdlbiwgd2FzIGFuZGVyZSBiZXRyaWVic3N5c3RlbWUgYW5nZWh0LgpnZWh0IGFiZXIgdHJvdHpkZW06IGJlaSBkZXIgaW5zdGFsbGF0aW9uIHdpcmQgZGllIGJvb3RtYW5hZ2VyLXBhcnRpdGlvbgpkZWFrdGl2aWVydC4gd2VubiBkaWUgaW5zdGFsbGF0aW9uIGFiZ2VzY2hsb3NzZW4gaXN0LCBhbHNvIGZkaXNrIGFud2VyZmVuCnVuZCBib290bWFuYWdlciB3aWVkZXIgYXVmIGFrdGl2IHNldHplbiwgZmVydGlnLgpudCBrZW5uIGljaCAobm9jaCkgbmljaHQsIGhhYmUgYWJlciBnZWhvZXJ0LCBkYSBnYWViIGVzIGF1Y2ggc293YXMgd2llIGRlbgpib290bWFuYWdlci4gd2llIGRhcyBsYWV1ZnQsIGtlaW5lIGFobnVuZy4gYmVpIG1pciBsYWV1ZnQgbGludXgsIG9zMiB1bmQKc2lubmxvcyA5NSBndXQgenVzYW1tZW4uCmJ0dywgaWNoIGhhYiBtYWwgZ2Vob2VydCwgZXMgZ2FlYmUgZnVlciBvczIgZWluIGlmcywgbWl0IGRlbSBtYW4gYXVmIGV4dDIKcGFydGl0aW9uZW4genVncmVpZmVuIGthbm4uIGhhdCBkYSBqZW1hbmQgZXJmYWhydW5nZW4gZGFtaXQ/CgpncnVzcywgd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoSGFyLCAyMS4gTWFpIDE5OTYsIDA3OjExOjEwKToKfiMhIHJuPVd1cnplbCBydD04MzI2MTk2ODkKfiMhIHRpZD04MzI1OTAzMzEKSG1tLCBpY2ggaGF0dGUgbWFsIE9TLzIgdW5kIE5UIHBhcmFsbGVsIGluc3RhbGxpZXJ0LCBnYWIgdWViZXJoYXVwdCBrZWluZQpQcm9ibGVtZSwgc28gd2VpdCBjaWggbWljaCBlcmlubmVyZSwgd2FzIG1pdCBkZW4gYW5kZXJlbiBwYXNzaWVydCwga2FubiBjaWgKbmljaHQgZ2VuYXUgc2FnZW4gOikKCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogd2luZG9vZiA5NSwgbnQsIGxpbnV4IHVuZCBkb3MgNi4yIChCYXJvbiwgMjEuIE1haSAxOTk2LCAwNzozOToyNyk6Cn4jISBybj1HdWxkdWthdCBydD04MzI1OTQ4MDkKfiMhIHRpZD04MzI1OTAzMzEKQmVpIG1pciBsYXVmZW4gV2luOTUgdW5kIExpbnV4IGVpbmlnZXJtYXNzZW4gcHJvYmxlbWxvcy4gV2luZG9vZiBhdWYgZGVyCnByaW1hZXJlbiBQYXJ0aXRpb24gdW5kIExpbnV4IGF1ZiBlaW5lciBlaWdlbmVuIFBsYXR0ZSA6KS4gUGVyCihEb3MpLUJvb3RtYW5nZXIgdW5kIExvYWRsaW4ga2FubiBpY2ggYmVpbSBCb290ZW4gd2FlaGxlbiB3YXMgaWNoICBzdGFydGVuCndpbGwuIEtlaW5lIFByb2JsZW1lLgpCYXJvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd2luZG9vZiA5NSwgbnQsIGxpbnV4IHVuZCBkb3MgNi4yIChHdWxkdWthdCwgMjEuIE1haSAxOTk2LCAwODo0NzoyNyk6Cn4jISBybj1CYXJvbiBydD04MzI2NTcxNjcKfiMhIHRpZD04MzI1OTAzMzEKbgpudW4sIGljaCBnbGF1YmUsIGRhcyBwcm9iIGlzdCBkb3MgNi4yIHVuZCB3aW4gOTUsIGRpZSB3b2hsIGJlaWRlIG5lIGVpZ2VuZQpwcmltYWVyZSBwYXJ0aXRpb24gYmVub2V0aWdlbiwgb2Rlcj8KYWxzbyBrYW5uIGljaCBpbSBwcmluemlwIGltbWVyIG51ciBhdWYgZWlucyB2b24gZGVuIGJlaWRlbiBnbGVpY2h6ZWl0aWcKenVncmVpZmVuLCB3ZW5uIGljaCBiZWlkZSBpbiBlaW5lIHByaW1hZXJlIGluc3RhbGxpZXJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoUmFmZmksIDIxLiBNYWkgMTk5NiwgMTc6NTc6MTUpOgp+IyEgcm49V3VyemVsIHJ0PTgzMjYxOTY4OQp+IyEgdGlkPTgzMjU5MDMzMQoKCk9TLzIgdW5kIE5UIChiaXMgMy41KSBtYWNoZW4ga2VpbmUgc2Nod2llcmlna2VpdGVuLCBkYSBkZXIgQm9vdG1hbmFnZXIgZGVyCmdsZWljaGUgaXN0ICEgRE9TIHVuZCBMaW51eCBmdWVobGVuIHNpY2ggZGEgYXVjaCB3b2hsLCB3b2JlaSBpY2ggYWJlciBkZW4gdm9uCk9TLzIzLjAgZW1wZmVobGUgKEJ1Z2ZpeCkKClVuZCBmdWVyIFdpbmRvb2Y5NSBzdGltbXQgZGFzIHdhcyBXdXJ6ZWwgYmVyZWl0cyBnZXNhZ3QgaGF0IC0gYWNoIGphLCBlcyBnaWJ0CmVpbmlnZSBOVCBWZXJzaW9uZW4gZGllIHdvIGF1Y2ggZGVuIGJvb3RtYW5hZ2VyIGRlYWt0aXZpZXJlbiAtIGFsc28gbmljaHQKYW5nc3QgbWFjaGVuIGxhc3Nlbi4KCkFscyBpbnRlcmVzc2FudGUgTW9lZ2xpY2hrZWl0IGdpYnRzIGpldHp0IGF1Y2ggZGVuIFBUUy1Cb290bWFuYWdlci4gRGVyIGlzdCBzbwphdXNnZWxlZ3QsIGRhcyBlciBpbSB6d2VpZmVsc2ZhbGwgYXVjaCB3aWVkZXIgdm9uIERpc2tldHRlIGhvY2hrb21tdCB1bmQgZGllCnZlcmFlbmRlcnVuZ2VuIGFuYWx5c2llcmVuIGthbm4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogd2luZG9vZiA5NSwgbnQsIGxpbnV4IHVuZCBkb3MgNi4yIChIYXIsIDIyLiBNYWkgMTk5NiwgMDc6MzA6NDYpOgp+IyEgcm49UmFmZmkgcnQ9ODMyNjk0MjM1Cn4jISB0aWQ9ODMyNTkwMzMxCkthbm4gbWFuIG1pdCBkZW0gT1MvMiBCb290bWFuYWdlciBuaWNodCBhdWNoIHZvbiBEaXNrZXR0ZSBzdGFydGVuID8/PwoKSGFyIChkZW5rdCBkYSB3YXIgZG9jaCBzbyB3YXMuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aW5kb29mIDk1LCBudCwgbGludXggdW5kIGRvcyA2LjIgKEd1bGR1a2F0LCAyMi4gTWFpIDE5OTYsIDA4OjU0OjI1KToKfiMhIHJuPUhhciBydD04MzI3NDMwNDYKfiMhIHRpZD04MzI1OTAzMzEKCkljaCBoYWJlIGpldHp0IGJlcmVpdHMgT1NoYWxiZSwgZG9zIDYuMiB1bmQgbGludXggdWViZXIgZGVuIGJvb3RtYW5hZ2VyIHZvbgpvczIgYm9vdGJhciwgZGllIGZyYWdlIGlzdCBhbnNpY2gsIHdpZSBmdWVndCBzaWNoIHdpbmRvb2YgOTUgZGEgcmVpbiB1bmQgTlQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB3aW5kb29mIDk1LCBudCwgbGludXggdW5kIGRvcyA2LjIgKFd1cnplbCwgMjIuIE1haSAxOTk2LCAyMTowNTozMyk6Cn4jISBybj1HdWxkdWthdCBydD04MzI3NDgwNjUKfiMhIHRpZD04MzI1OTAzMzEKd2llIG9iZW4gc2Nob24gbWFsIGdlc2FndCwgZGFzIGdlaHQuIGF1Y2ggd2VubiBtYW4gZ3VsZHVrYXQgaGVpc3N0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ2VzdWNodDogTmV0aGFjayBmdWVyIFZNVW5peCA0LjEuMiAoSGFyZGlsLCAzMC4gTWFpIDE5OTYsIDEzOjA1OjQzKToKCldhcyBpc3Qgc2Nob24gRGVzY2VudCwgb2RlciBlaW5zIGRpZXNlciBzb25zaWdlbiBob2NoYXVmbG9lc2VuZGVuIFNwaWVsZSBtaXQKMTcgQ0RzIGFuIEdyYXBoaWtlbi4gRXMgZ2lidCBudXIgZWluIHdhaHJlcyBTcGllbCwgdW5kIGRhcyBpc3QgTmV0aGFjay4gOikKTGVpZGVyIGhhdCBtZWluIFZvcmdhZW5nZXIgYWxzIFN5c2FkbWluIGRhcyBoaWVyIGF1ZiB1bnNlcmVuIFNVTnMgZ2Vsb2VzY2h0LAppY2ggbXVzcyBkYXMgYWxsZXJkaW5ncyBhc2FwIHdpZWRlciBkcmF1ZnNwaWVsZW4uIFdvenUgc29uc3QgaGF0IG1hbgpTY2hyZWlicmVjaHRlLgpEZW5uIG51ciBkYWhlaW0gYXVmIGRlbSBQQyBzcGllbGVuIGlzdCBsYW5nd2VpbGlnLiAKSGF0IGlyZ2VuZHdlciB2b24gRXVjaCBub2NoIGVpbmUgd3VuZGVyYmFyZSBWZXJzaW9uIHZvbiBOZXRoYWNrICgzLjEgb2RlcgpuZXVlcikKZnVlciBVTklYPyBGYWVuZCBpY2ggZ3V0Li4uCgotSGFyZGlsLgoKKEFudHdvcnQgYml0dGUgcGVyIG11ZG1haWwsIHNvbnN0IHdpcmQgZGVyIFRocmVhZCB6dSBncm9zcyB1bmQgQ2F0d3Vyc3QKbG9lc2NodCBhbGxlcyB3aWVkZXIuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbmRvb2YgOTUsIG50LCBsaW51eCB1bmQgZG9zIDYuMiAoV29vZHksICAzLiBKdW4gMTk5NiwgMDM6MDM6NDMpOgp+IyEgcm49V3VyemVsIHJ0PTgzMjYxOTY4OQp+IyEgdGlkPTgzMjU5MDMzMQpqbywgZGFzIGlmcyBnaWJ0cywgdW5kIGRhcyBkaW5nIGxhZXVmdCBzb3dlaXQgYXVjaCBlaW5pZ2VybWFzc2VuLgpuZW5udCBzaWNoICJleHQyXzA3Yi56aXAiICh2aWVsbGVpY2h0IGdpYnRzIGF1Y2ggbmUgbmV1ZXJlIHZlcnNpb24sCndlaXNzIG5pY2h0KSB1bmQgZ2lidHMgYW0gaG9iYmVzIGlpaWlpaXJnZW5kd28gKGljaCBoYWJzIHZvbiBuZXIKbWlycm9yIHNpdGUpLgppc3QgendhciBuYXR1ZXJsaWNoIGtlaW4gZXJzYXR6IGZ1ZXIgbGludXg6KSBhYmVyIHdlbm4gbWFuIG1hbCBhYiB1bmQKYW4gb3MyIGJvb3RldCBpc3Qgc28gbiB6dWdyaWZmIGF1ZiBleHQyIHNlaHIgcHJha3Rpc2NoLgoKbGcKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbWxvZXN1bmcgZ2VzdWNodCEgKEVuZ3l3dWNrLCAgMy4gSnVuIDE5OTYsIDE4OjUzOjE4KToKQWxzbywgZnVlciBkaWUgVW5peGd1cnVzIHVudGVyIEV1Y2ggaGFiIGljaCBtYWwgbmUgYXVmZ2FiZToKSWNoIHN1Y2hlIGVpbmVuIGtsZWluZW4gQmVmZWhsLCBkZXIgbmljaHQgd2VpdGVyIHR1dCBhbHMgbW9lZ2xpY2hlcndlaXNlCnZvcmhhbmRlbmUgTGVlcnplaWxlbiBhbSBTY2hsdXNzIGVpbmVyIERhdGVpIGFienVzY2huZWlkZW4uIEtvbW10IG1pciBuaWNodAptaXQgbmVtIFRleHRlZGl0b3IsIGRlbm4gZGFzIGdhbnplIHNvbGwgaW0gYmF0Y2hiZXRyaWViIGxhdWZlbi4gVW5kIGVyemFlaGx0Cm1pciBuaXggdm9uIGF3ayBvZGVyIHNvLCBkZW5uIGJpcyBpY2ggZGFzIGthcGllcnQgaGFiLCBoYWIgaWNoIGRpZSBaZWlsZW4gcGVyCkhhbmQgbWl0IG5lbSBNYWduZXRlbiB2b24gZGVyIEZlc3RwbGF0dGUgZ2Vsb2VzY2h0Li4uCgpJbiBlcndhcnR1bmcgZGVyIHphaGxyZWljaGVuIExvZXN1bmdlbgoKICAgICAgICAgICBFbmd5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbWxvZXN1bmcgZ2VzdWNodCEgKFJhZmZpLCAgNC4gSnVuIDE5OTYsIDEyOjMzOjI5KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTgzMzgyMDc5OAp+IyEgdGlkPTgzMzgyMDc5OAoKICAqR1JJTlMqICBFbmd5IGxvZXNjaHQgZGllIFplaWxlbiBhbSBFbmRlIHNlaW5lciBEYXRlaWVuIG1pdCBuZW0gTWFnbmV0ZW4KKlJPVEZMKgoKRWluIEJpbGQgZnVlciBHb2V0dGVyIC0gYWVoIG5hIGphLCBhdWNoIGR1ZSBkdWVyZnRlbiBzaWNoIGFtdWVzaWVyZW4gOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcmVpYmVyIGdlc3VjaHQgKERlbG9zLCAgNy4gSnVuIDE5OTYsIDE0OjEwOjI0KToKCkhhbGxpLCBoYWxsbyEhIQoKSWNoIGJpbiBpbSBCZXNpdHogZWluZXMgUENJIFNDU0kgV0Q3MTkzLUNvbnRyb2xsZXJzIHZvbiBXZXN0ZXJuIERpZ2l0YWwuCkRpZXNlciBDb250cm9sbGVyIHdpcmQgamVkb2NoIHZvbiBrZWluZW0gbWlyIGJla2FubnRlbiBMaW51eC1LZXJuZWwKdW50ZXJzdHVldHp0LiAKCkthbm4gbWlyIGplbWFuZCB3ZWl0ZXJoZWxmZW4/IFdvIGJla29tbWUgaWNoIGVpbmVuIFRyZWliZXIgaGVyLCBiencuIHdhcwprYW5uIGljaCBqZXR6dCBhbSBiZXN0ZW4gdHVuPwoKRGFua2UsIERlbG9zCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRyZWliZXIgZ2VzdWNodCAoTW9yZ290aCwgIDcuIEp1biAxOTk2LCAxNDoxMTowNCk6Cn4jISBybj1EZWxvcyBydD04MzQxNDk0MjQKfiMhIHRpZD04MzQxNDk0MjQKc2NocmVpYiBlaW4gcGF0Y2ggZnVlciBkYXMgbGludXggOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPU0AgKEd1bmR1ciwgMTcuIEp1biAxOTk2LCAxMzozMzo0Nyk6CkFlaCBqYSBkZXIgVGl0ZWwgc29sbCBuYXR1ZXJsaWNoIE9TMiBoZWlzc2VuIDotPgpXZXIgZXJmYWhydW5nZW4gbWl0IGRlbSBJbnN0YWxsaWVyZW4gZGVzIE11ZHMgdW50ZXIgT1MyIGhhdCB1bmQgZGllCmRlbWVudHNwcmVjaGVuZGVuIEZpbGVzLCBkaWUgbWFuIGF1c3NlciBEcml2ZXIgdW5kIE11ZGxpYiBub2NoIGJyYXVjaHQsIGhhdCwKZGVyIHNvbGwgc2ljaCBkb2NoIG1hbCBtZWxkZW4gLiBGYWxscyBlaW4gTUcgTWFnaWVyIGRhcyBaZXVnIGhhdCwga29lbm50ZSBlcgpkaWUgRmlsZXMgYXVjaCBlaW5mYWNoIGt1cnp6ZWl0aWcgaW4gc2VpbiBWZXJ6ZWljaG5pcyBsZWdlbi4KTWl0IERhbmsgaW0gVm9ycmF1cyB1bmQgc29ycnkgZnVlciBkYXMgS2Fja2RldXRzY2ggaGV1dCB3aWVkZXIuLgpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2dyYW1tIGdlc3VjaHQgKEFoYSwgMjYuIEp1biAxOTk2LCAwMDozMDo1Mik6CkhhbGxvZWNoZW4hCgpJY2ggc3VjaCBlaW4gZWluIFByb2dyYW1tIGRhcyBzaWNoIGZvbGdlbmRlcm1hc3NlbiBuZW5udDoKUHRzIEJvb3RtYW5hZ2VyCkRhcyBrb21tdCB3b2hsIGlyZ2VuZHdpZSBhdXMgUnVzc2xhbmQsIGFiZXIgZ2VuYXVlcmVzIHdlaXNzIGljaCBhdWNoIG5pY2h0LgpXZW5uIG1pciAgYWxzbyB3ZXIgc2NocmVpYmVuIGthbm4sIHdvY2ggaWNoIGRhcyBoZXJiZWtvbW1lIHVuZC9vZGVyIHVudGVyCndlbGNoZW4gS29uZGl0aW9uZW4sIHNvIHdhZXJlIGRhcyBlaW5lIGZlaW5lIFNhY2hlIQoKQWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvZ3JhbW0gZ2VzdWNodCAoSGFkcmEsIDI2LiBKdW4gMTk5NiwgMTA6MjI6MzUpOgp+IyEgcm49QWhhIHJ0PTgzNTc0MTg1Mgp+IyEgdGlkPTgzNTc0MTg1MgpkZXIgcHRzIGJvb3RtYW5hZ2VyIGdlaG9lcnQgenUgcHRzIGRvcy4gYWxzIGRvcyB3aXJrbGljaCBuZXR0LCB3ZWlsIGFsbGVzIHdhcwptcyBzb25zdCBhdWYgbmVtIGRpc2tldHRlbnN0YXBlbCB1bnRlcmJyaW5ndCBkYSBhdWYgZWluZXIgZGlza2V0dGUgaXN0LiBwdHMKZG9zIHNvbGx0ZSBlcyBpbSBmYWNoLSBvZGVyIHZlcnNhbmRoYW5kZWwgZnVlciBjYS4gNTAgZG0gZ2ViZW4uCgpoYWRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ncmFtbSBnZXN1Y2h0IChDYXVubywgMjYuIEp1biAxOTk2LCAxMToyMTozMik6Cn4jISBybj1IYWRyYSBydD04MzU3NzczNTUKfiMhIHRpZD04MzU3NDE4NTIKVm9uIGRlbSBydXNzaXNjaGVuIERPUyBoYWIgaWNoIHNjaG9uIG1hbCBnZWhvZXJ0LiBzb2xsIHdpcmtsaWNoIGd1dCBzZWluLgpBYmVyIGlzdCBkYXMgbmljaHQgZGFzLCBiZWkgZGVtIE1TIFdpbmRvd3Mgc2FndDogIktlaW5lIEdhcmFudGllIGZ1ZXIKRGF0ZW52ZXJsdXN0ZT8gCkljaCB3ZWlzcywgZGFzIGtsaW5ndCBlaW4gYmlzc2NoZW4gd2llIGRpZSBQaXN0b2xlIGF1ZiBkZXIgQnJ1c3QsIGF1Zmdlc2V0enQKdm9uIEJpbGwgR2F0ZXMgcGVyc29lbmxpY2ggLi4uCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDLiBObwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJvZ3JhbW0gZ2VzdWNodCAoSGFkcmEsIDI2LiBKdW4gMTk5NiwgMTE6NDE6MjApOgp+IyEgcm49Q2F1bm8gcnQ9ODM1NzgwODkyCn4jISB0aWQ9ODM1NzQxODUyCm5hIGphLAp3ZW5uIGR1IHNjaG51cGZlbiBiZWtvbW1zdCwgd2VubiBiaWxsIGdhdGVzIGh1c3RldCwgaXNzZXMgdmllbGxlaWNodCBuaWNodApnYW56IGRhcyByaWNodGlnZSA7KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb2dyYW1tIGdlc3VjaHQgKFd1cnplbCwgMjYuIEp1biAxOTk2LCAxOTo0MzowMik6Cn4jISBybj1IYWRyYSBydD04MzU3ODIwODAKfiMhIHRpZD04MzU3NDE4NTIKdGphLCBzY2hvbiBtYWwgdHJvdHogb3JpZ2luYWwtbXNkb3MgdW5kIHdpbmRvb2YgZGF0ZW52ZXJsdXN0ZSBnZWhhYnQ/IG5laW4/CmRhbm4ga2FubiBlcyBkYWZ1ZXIgbnVyIGVpbmUgZXJrbGFlcnVuZyBnZWJlbjogZHUgYmVudXR6dCBlcyBuaWNodC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHJvZ3JhbW0gZ2VzdWNodCAoQWNyaW1vbiwgMjcuIEp1biAxOTk2LCAxMzo1MzoyMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODM1ODEwOTgyCn4jISB0aWQ9ODM1NzQxODUyCkRhIGhhc3QgRHUgZGljaCB3b2hsIHZlcnRpcHB0LCBzb2xsdGUgaGVpc3NlbjoKCiJ0amEsIHNjaG9uIG1hbCB0cm90eiBvcmlnaW5hbC1tc2RvcyB1bmQgd2luZG9vZiBfa2VpbmVfIERhdGVudmVybHVzdGUgZ2VoYWJ0PwouLi4uIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgZS1tYWlsIHNlcnZlciBmdWVyIHdpbmRvd3MgMy4xMSAoQmluZywgMTEuIEp1bCAxOTk2LCAxOTo1Njo0Nyk6CkljaCBzIGVpbmVuIG1haWwtc2VydmVyIGRlbiBpY2ggdW50ZXIgd2luZG93cyAzLjExIGJlbnV0emVuIGthbm4uIGVyIHNvbGx0ZQouZm9yd2FyZCBrb2VubiB1bmQgY2EuIDMwIHVzZXIgdmVyd2FsdGVuIGtvZW5uZW4gdW5kIHVtc29uc3Qgc2Vpbi4Kd2VubiBqZW1hbmQgZWluZW4ga2VubnQgb2RlciBlaW5lIGFkcmVzc2UgaGF0LCBiaXR0ZSBlaW4gbWFpbCBoaWVyIGltIG11ZCBhbgptaWNoIHNjaGlja2VuLgpncnVzcyBiaW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN1Y2hlIGUtbWFpbCBzZXJ2ZXIgZnVlciB3aW5kb3dzIDMuMTEgKEFjcmltb24sIDExLiBKdWwgMTk5NiwgMjA6MDQ6MTcpOgp+IyEgcm49QmluZyBydD04MzcxMDc4MDcKfiMhIHRpZD04MzcxMDc4MDcKV2FzIHdhciBkZW5uIGRhcz8KQml0dGUgYW5rcmV1emVuIQoKbyBFaW4gQXJ0aWtlbCwgdW0gQm9pbmcgenUgbmVydmVuCm8gRWluIFdpdHoKbyBFaW4gTWl0Z2xpZWQgaW0gTk5OLUNsdWIKbyBEZXIgSm9mLUlkbGUtVGVzdApvIEtvbXBsZXR0ZSBVbndpc3NlbmhlaXQgdW5kIElkaW90aWUgaW0gS2FwaXRlbCBCZXRyaWVic3N5c3RlbWUKbyBFaW4gTWFzb2NoaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHN1Y2hlIGUtbWFpbCBzZXJ2ZXIgZnVlciB3aW5kb3dzIDMuMTEgKEFzbW9kaXMsIDEyLiBKdWwgMTk5NiwgMTE6MTQ6MzkpOgp+IyEgcm49QWNyaW1vbiBydD04MzcxMDgyNTcKfiMhIHRpZD04MzcxMDc4MDcKRGFyZiBpY2ggbWVocmVyZSBTYWNoZW4gYW5rcmV1emVuID8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc3VjaGUgZS1tYWlsIHNlcnZlciBmdWVyIHdpbmRvd3MgMy4xMSAoQm9pbmcsIDEyLiBKdWwgMTk5NiwgMTQ6NTg6MDcpOgp+IyEgcm49QWNyaW1vbiBydD04MzcxMDgyNTcKfiMhIHRpZD04MzcxMDc4MDcKUHVua3QgMSB3YXIgZXMgbmljaHQgLi4uIHp1bWluZGVzdCBoYWV0dGVzIGVzIHNlaW4gWmllbCB2ZXJmZWhsdCwgd2VubiAKZXMgc28gd2FlcmUgOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzdWNoZSBlLW1haWwgc2VydmVyIGZ1ZXIgd2luZG93cyAzLjExIChCYXJvbiwgMTIuIEp1bCAxOTk2LCAxODo0Njo0NCk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzNzEwODI1Nwp+IyEgdGlkPTgzNzEwNzgwNwpFcyB3dW5kZXJ0IG1pY2ggaW1tZXIgd2llZGVyLCB3aWUgYXJyb2dhbnQgRFUgQWNyaW1vbiwgcm90ZXIgUml0dGVyIHVuZApUcmFlZ2VyIGRlcyBPcmRlbnMgdm9tICdzeicsIGRlciBkdSBzdGVodHMgTW9yYWwgdW5kIExpZWJlIHByZWRpZ3QgYXVmIGRhcwpXb3J0ICdXaW5kb3dzJyByZWFnaWVyc3QgOikuCgpTY2hhZW0gRGljaCB1bmQgZ2VoIGJlaWNodGVuIQpCYXJvbiAtIGtpY2hlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3ZyYXkgRWRpdG9yIGdlc3VjaHQuLi4gKEhhciwgMTcuIEp1bCAxOTk2LCAxMzoyMjoxMCk6CkhpLApXaWUgZGVyIFRpdGVsIGVzIHNjaG9uIHZlcmhlaXNzdCwgc2N1aGUgaWNoIGVpbmVuIHByYWt0aWthYmxlbiBQb3ZyYXktZWRpdG9yLAphbSBsaWVic3RlbiB3YXMgbWl0IG1vdXNlIHVuZCBrbGljayB1bmQgc28uLi4KV2VyIHdlaXNzIFJhdD8KaGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXSU5ET1dTIChDaGljb2xhLCAxNy4gSnVsIDE5OTYsIDE2OjQwOjIyKToKT2sgT2sgaWNoIGJpbiBqYSBhdWNoIGtlaW4gV2luZG93cyBGYW4sIGFiZXIgaWNoIGhhYmUgZWluIFByb2JsZW0hCgpXaWUgYmVrb21tZSBpY2ggdW50ZXIgV2luZG93cygzLjExLzk1L05UKSBkaWUgYWt0dWVsbGUgRmVuc3Rlcmdyb2Vzc2UgdW50Ci1wb3NpdGlvbiBoZXJhdXMgdW5kIGthbm4gc2llIG1pciBtZXJrZW4gPz8KCkRhbmtlICAgICAgICAgICAgICAgICAgICAgICBDaGljb2xhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0lORE9XUyAoUmFmZmksIDE3LiBKdWwgMTk5NiwgMTk6Mjg6MzUpOgp+IyEgcm49Q2hpY29sYSBydD04Mzc2MTQ0MjIKfiMhIHRpZD04Mzc2MTQ0MjIKCkhtbSBzYWdtYWwgdW50ZXIgd2VsY2hlciBzcHJhY2hlIGR1IGVzIGJyYXVjaHN0LiBOb3JtYWxlcndlaXNlIGdpYnRzIGRhIGJlaQpkZXIgYmVzaXNrbGFzc2UgbmVyZWN0LXN0cnVrdHVyIHdvIGRhcyBkcmlubmVuc3RlaHQuLi4uIGhtcGYgd28gaXN0IG51ciBkc2FzCkhuYWRidWNoLi4uLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXSU5ET1dTIChIYWRyYSwgMTguIEp1bCAxOTk2LCAwMDoyMTozOSk6Cn4jISBybj1DaGljb2xhIHJ0PTgzNzYxNDQyMgp+IyEgdGlkPTgzNzYxNDQyMgpiZXZvciBpY2ggamV0enQgaGllciBhbmZhbmdlIGhhbGJlIGhpbGZlZGF0ZWllbiBhYnp1c2NocmVpYmVuIC4uLgoKYnJhdWNoc3QgZHUgZGlyIGZ1bmt0aW9uc2JlemVpY2hudW5nZW4genVtIHByb2dnZW4sIG9kZXIgc3VjaHN0IGR1IGVpbgpmZXJ0aWdlcyB0b29sLgoKZWluIGZlcnRpZ2VzIHRvb2wgaGFiIGljaCBuaWNodCwgYWJlciB6dW0gcHJvZ2dlbiBzb2xsdGVzdCBkdSBtYWwgaW4gZGVyCmpld2VpbGlnZW4gZG9rdSBuYWNoIHNhY2hlbiB3aWUKR2V0V2luZG93UGxhY2VtZW50CkdldFdpbmRvd1JlY3QKU2V0V2luZG93UGxhY2VtZW50ClNldFdpbmRvd1BvcwpzY2hhdWVuLiB1bmQgc3BlaWNoZXJuIHR1c3QgZHUgZGFzIGdlbmF6IGRhbm4gamV3ZWlsIGltIGluaS1maWxlIGRlciBhbndlbmR1bmcKKHJlc3AuIGRlciByZWdpc3RyeSkKCmdydXNzCiAgaGFkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlbm50IHNpY2ggamVtYW5kIG1pdCBabXVkIGF1cyA/IChQaWxncmltLCAxOC4gSnVsIDE5OTYsIDE3OjMyOjAzKToKSGksCkhpLAoKa2VubnQgc2ljaCBqZW1hbmQgbWl0IGRlciBTeW50YXggdm9uIFptdWQgenVtIGVyc3RlbGxlbiB2b24gVHJpZ2VybiBhdXMgPz8/Ck5FSU4gLSBEYXMgaXN0IGpldHp0IEtFSU5FIEZBTkdGUkFHRSA7LSkKTkVJTiAtIERhcyBpc3QgamV0enQgS0VJTkUgRkFOR0ZSQUdFIDstKQoKaWNoIHNjaHJlaWIgbWFsIHdhcyBpY2ggZWlnZW50bGljaCB3aWxsOgpaQiBkZW4gYW5rb21tZW5kZW4gVGV4dCAiWy9kL3BvbGFyL3BpbGdyaW1dIiBpbiBlaW5lciBhbmRlcmVuIEZhcmJlIGF1c2dlYmVuCih6YikKWkIgZGVuIGFua29tbWVuZGVuIFRleHQgIlsvZC9wb2xhci9waWxncmltXSIgaW4gZWluZXIgYW5kZXJlbiBGYXJiZSBhdXNnZWJlbgooemIpCgpQaWxncmltCgpncnVtbWVsIC0gZ3J1bW1lbCA6IG1pdCBkZXIgS29tbWFuZG96ZWlsZSB2b24gWm11ZCBtdXNzIGljaCBub2NoIGtsYXJrb21tZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLZW5udCBzaWNoIGplbWFuZCBtaXQgWm11ZCBhdXMgPyAoQmFyb24sIDE5LiBKdWwgMTk5NiwgMTY6MDE6MDgpOgp+IyEgcm49UGlsZ3JpbSBydD04Mzc3MDM5MjMKfiMhIHRpZD04Mzc3MDM5MjMKSG0gLi4uLCBpbiBkZXIgVmVyc2lvbiAzLjYxIGlzdCBkYXMgZWlnZW50bGljaCBnYW56IGVpbmZhY2guIE1hbiBvZWZmbmV0IGRlbgpEaWFsb2cgJ1ZpZXctPnRyaWdnZXInLCB0cmFlZ3QgZG9ydCBiZWkgUGF0dGVybjogZGFzIHp1IGhpZ2hsaWdodGVuZGUgV29ydCBlaW4KdW5kIHNhZ3QgYmVpIENvbW1hbmQ6IENvbG9yIFJlZCAoYnp3LiBlaW5lIGFuZGVyZSBGYXJiZSBvZGVyIGRlbiBlbnRzcHJlY2hlbmRlClphaGxlbmNvZGUuKS4gU29sbHRlIGtsYXBwZW4uIE1hbiBrYW5uIHVlYnJpZ2VucyBhdWNoIGVpbnplbG5lIFdvZXJ0ZXIKaGlnaGxpZ2h0ZW4uIERhenUgc3RhdHQgQ29sb3IgQ1cgKENvbG9yd29yZCkgdmVyd2VuZGVuLgoKKFJlZCkgQmFyb24gLSBMSUVCVCBabXVkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmV1ZGVua251ZXBwZWwgc2NoaWVzc3QgenUgc2NobmVsbCEgKFllbmRpLCAyMi4gSnVsIDE5OTYsIDE1OjA5OjAyKToKCipyYWV1c3BlcioKCkFsc28sIGljaCBoYWIgZGEgZWluIFByb2JsZWVlZW0uLi4KCi4uLiB1bmQgendhciBoYWJlIGljaCBtYWwgd2llZGVyIFByaXZhdGVlciBpbnN0YWxsaWVydCB1bmQgbWljaCB1ZWJlciBkaWUKZ3JvYmUgVGFzdGF0dXJzdGV1ZXJ1bmcgZ2VhZXJnZXJ0LgpLZWluIFByb2JsZW0sIGRhY2h0ZSBpY2g6IEdyYXZpcyBQQyBQcm8gSm95c3RpY2sgaW4gbWVpbmVuIFVyYWx0LVNvdW5kYmxhc3RlcgpnZXN0b2Vwc2VsdCwgdW5kIHZvaWxhISBHbGF0dGUsIHByYWV6aXNlIEZlaW5zdGV1ZXJ1bmcuCkxlaWRlciBwbG9ldHpsaWNoIGRyZWltYWwgc28gc2NobmVsbDsgaWNoIGtyaWVnZSBiZWkgZGVuIFNjaGllc3NlcmVpZW4gbm9jaAplaW4gcGFhciAiRlJSQVRaWiIgbWl0IHVuZCBkYXMgd2Fycy4uLgoKRGEgaWNoIG1pciBrZWluZW4gInNwZWVkIGNvbXBlbnNhdGVkIGdhbWUgcG9ydCIga2F1ZmVuIG1vZWNodGUsIGhpZXIgbWVpbmUKRnJhZ2U6ICBHaWJ0cyBmdWVyIHNvd2FzIF9rbGVpbmVfIFBELVByb2dyYWVtbWNoZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGludXggdW5kIG5ldHp3ZXJrZSAoQmluZywgMjQuIEp1bCAxOTk2LCAwOTowODozNyk6CmhhbGxvLCBpY2ggbW9lY2h0ZSBlaW5lbiBsaW51eC1yZWNobmVyIGFuIGVpbiBuZXR6d2VyayBhbnNjaGxpZXNzZW4uIGRpZQpuZXR6d2Vya2thcnRlIGlzdCBrb3JyZWt0IGluc3RhbGxpZXJ0IHVuZCBlaW5nZXRyYWdlbi4gaWNoIG11c3MgbnVuIHdvaGwgbnVyCm5vY2ggZGllIHJpY2h0aWdlbiBlaW50cmFlZ2UgaW4gZGllIGRhdGVpZW4gdW50ZXIgL2V0Yy9yYy5kIG1hY2hlbiBkZW5rZSBpY2guCndlciBrYW5uIG1pciBkYSBoZWxmZW4gdW5kIG1pciBtYWwgZWluIHBhYXIgZGF0ZWllbiBtYWlsZW4sIGRhbWl0IGljaCBtaXIgZGFzCm1hbCBhbnNjaGF1ZW4ga2Fubj8gaWNoIGhhYmUgbm9jaCBwcm9ibGVtZSBtaXQgZGVtIHJlY2huZXJuYW1lbiwgaXAtbnVtbWVyLApuYW1lc2VydmVyLCBldGMuCmJpdHRlIHNjaGlja3QgZWluIGUtbWFpbCBhbiBiaW5nQG1nIG9kZXIgc2U1YTAwNUBzZXJ2ZXIxLnJyei51bmktaGFtYnVyZy5kZQpncnVzcyBiaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6dXNhdHogenUgYXJ0aWtlbCBsaW51eCB1bmQgbmV0endlcmtlIChCaW5nLCAyNC4gSnVsIDE5OTYsIDA5OjMwOjI3KToKaWNoIGhvbGUgbWlyIGRpZSBmaWxlcyBhdWNoIGdlcm5lIG1pdCBmdHAgaXJnZW5kd28gYWIuCmdydXNzIGJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsb2QgQm93bCAoR3VuZHVyLCAgMy4gQXVnIDE5OTYsIDA5OjU0OjUyKToKSGkKSGF0IGplbWFuZCBkYXMgU3BpZWwgQmxvZCBCb3dsIGZ1ZXJuIFBDClNvbGxzIGFuZ2VibGljaCBnZWJlbi4uLi4uCk1haWwgYW4gLT4KR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmxvZCBCb3dsIChRdWFzaW1vZG8sICA1LiBBdWcgMTk5NiwgMTI6MDA6MTIpOgp+IyEgcm49R3VuZHVyIHJ0PTgzOTA1ODg5Mgp+IyEgdGlkPTgzOTA1ODg5MgouLi4gdW5kIHdlZ2VuIEJsb29kQm93bCBnbGVpY2ggZWluIGNjOiBhbiBRdWFzaW1vZG8KClNwaWVsdCBhdWNoIGltbWVyIEJCLApRdWFzaW1vZG8KClBTOiBBdWYgZGVtIEFtaWdhIGhhdHRlIGljaCBtYWwgc293YXMgYWVobmxpY2hlcy4gRXMgaGllc3N0IE0uVS5ELlMuIHVuZCBzdGFuZApmdWVyIE1lYW4gdW5nbHkgZGlydHkgc3BvcnRzIG9kZXIgc28uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmxvZCBCb3dsIChQdW1hLCAgNS4gQXVnIDE5OTYsIDEzOjI1OjU4KToKfiMhIHJuPVF1YXNpbW9kbyBydD04MzkyMzkyMTIKfiMhIHRpZD04MzkwNTg4OTIKQkIgZnVlciBkZW4gUEM/IFNPIGVpbiBVbnNpbm4hIERhcyBzcGllbHQgbWFuIGRvY2ggdmllbCBsaWViZXIgYXVmIGRlbQpTcGllbGJyZXR0LiAgRGVyIENvbXB1dGVyIHNvbGwgbGF1dCBUZXN0IGVoIGtlaW4gZ3V0ZXIgR2VnbmVyIHNlaW4uLi4KCkdydWVzc2luZ3MsCgpQdW1hIQoKU2F0YW5pYyBSYXRzIDQtMC0wIFRSIDE0MAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJsb2QgQm93bCAoR3VuZHVyLCAgNS4gQXVnIDE5OTYsIDE5OjI5OjA0KToKfiMhIHJuPVB1bWEgcnQ9ODM5MjQ0MzU4Cn4jISB0aWQ9ODM5MDU4ODkyCkpvIGtsYXIgaXN0IGVzIGJlc3NlciBhdWZmZW0gU3BpZWxicmV0dCAuLmhhYiBudXIgZ3JhZCBrZWluZSBHZWduZXIgdW5kIHp1bQp1ZWJlbiB3YWVyIG4gUEMgc3BpZWwgbmljaHQgc2NobGVjaHQuLi4KR3J1c3MKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJsb2QgQm93bCAoU251Z2dsZSwgIDUuIEF1ZyAxOTk2LCAyMzoxNDoxNSk6Cn4jISBybj1HdW5kdXIgcnQ9ODM5MjY2MTQ0Cn4jISB0aWQ9ODM5MDU4ODkyCkVzIGdpYnQgTS5VLkQuUyBhdWNoIGF1Zm0gUEMsCmlzdCBhbGxlcmRpbmdzIGtlaW4gc3RyYXRlZ2llc3BpZWwsIHdpZSBkYXMgYnJldHQgYmxvb2QtYm93bCwgc29uZGVybiBlaGVyCmFjdGlvbiBpc3QgYW5nZXNhZ3QuIHdhciBhbHNvIHdvaGwgbmljaHQgZGFzcywgd2FzIGd1bmR1ciBtZWludGUuCgpmYWxscyBkb2NoLCBzYWcgYmVzY2hlaWQuIGljaCBoYWJzIHp1aGF1cwoKZ3J1c3MKU25nZ2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXJ1cyBBbGVydCAoQmxvb2R5aGFycnksIDIxLiBBdWcgMTk5NiwgMDg6NDc6MjcpOgpGcm9tOiBzYWZldHlAZ3RpLm5ldCAoU2FmZXR5bmV0KQpOZXdzZ3JvdXBzOiBjb21wLm9zLm1zLXdpbmRvd3MuYXBwcy5taXNjClN1YmplY3Q6IEhhcmUgVmlydXMgQWxlcnQgLSBWaXJ1c05ldCBQQyBzb2x1dGlvbgpEYXRlOiAxOSBBdWcgMTk5NiAxMzo1MDo0MSBHTVQKT3JnYW5pemF0aW9uOiBTQUZFLk5FVCAtIDgwMC02NzItU0FGRQpMaW5lczogMjgKTWVzc2FnZS1JRDogPDR2OXJmaCRtdWFAZ3RpLmd0aS5uZXQ+Ck5OVFAtUG9zdGluZy1Ib3N0OiBhcG9sbG8uZ3RpLm5ldApYLU5ld3NyZWFkZXI6IFRJTiBbdmVyc2lvbiAxLjIgUEwyXQoKVmlydXMgQWxlcnQKLS0tLS0tLS0tLS0KVmlydXM6IEhhcmUuNzYxMCwgSGFyZS43NzUwLCBIYXJlLjc3ODYKVHlwZTogUmVzaWRlbnQgU3RlYWx0aCBPU0JSIE1CUiBFWEUgQ09NCkZyZXF1ZW5jeTogQ29tbW9uClRyaWdnZXIgRGF0ZTogQXVndXN0IDIyIGFuZCBTZXB0ZW1iZXIgMjIKUGF5bG9hZDogRGVzdHJ1Y3RpdmUKClNhZmV0eW5ldCBoYXMgaW5jbHVkZWQgZGV0ZWN0aW9uIGFuZCByZW1vdmFsIGZvciB0aGUgSGFyZSB2aXJ1cyBpbiBpdHMKVmlydXNOZXQgdjIuMjQgc2Nhbm5lciB1cGRhdGUuICBBbGwgcmVnaXN0ZXJlZCB1c2VycyBzaG91bGQgZG93bmxvYWQgdGhpcwp1cGRhdGUgYW5kIHNjYW4gdGhlaXIgY29tcHV0ZXJzIGRhaWx5IHRocm91Z2ggdGhlIGVuZCBvZiBTZXB0ZW1iZXIuICBBCnRvdGFsIG9mIDgsMzAwIHZpcnVzIGFyZSBkZXRlY3RlZCBieSB2Mi4yNC4gCgpFdmFsdWF0aW9uIHZlcnNpb25zIG9mIFZpcnVzTmV0IHdpdGggZnVsbCB2aXJ1cyBkZXRlY3Rpb24gYW5kIHJlbW92YWwgYXJlCmFsc28gYXZhaWxhYmxlIGZvciBkb3dubG9hZC4gVmlzaXQgdGhlIFNhZmV0eW5ldCBXV1cgc2l0ZSBhdApodHRwOi8vd3d3LnNhZmUubmV0L3NhZmV0eS8gYW5kIHNlbGVjdCB0aGUgRnJlZSBTdHVmZiBsaW5rLiAgRm9yIFdpbmRvd3MKOTUsIFdpbmRvd3MgTlQsIFdpbmRvd3MgMy54IGFuZCBET1MgdXNlcnMsIGRvd25sb2FkIFZpcnVzTmV0IDk1LiAgRm9yCm5ldHdvcmsgYWRtaW5pc3RyYXRvcnMgd2hvIHdpc2ggdG8gc2NhbiBhbiBlbnRpcmUgbmV0d29yaywgZG93bmxvYWQKVmlydXNOZXQgTEFOLiAKClF1ZXN0aW9ucyBhYm91dCB0aGlzIGFuZCBvdGhlciB2aXJ1cyByZWxhdGVkIGlzc3VlcyBzaG91bGQgYmUgc2VudCB0byAKc3VwcG9ydEBzYWZlLm5ldC4KCi0tLS0tLS0tLS0tLS0tLS0tLQpWaXJ1cyBTdXBwb3J0IFRlYW0KU2FmZXR5bmV0LCBJbmMuCi0tLS0tLS0tLS0tLS0tLS0tLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4LVByb2JsZW0gKEphbWVzLCAxOC4gU2VwIDE5OTYsIDEwOjIyOjIwKToKSGkgYWxsZSwKCmljaCBoYWIgZWluIFByb2JsZW0gbWl0IExpbnV4LgpJY2ggd2lsbCBtZWluZW4gS2VybmVsIG5ldSBjb21waWxpZXJlbiwgdW0gZGVuIGdhbnplbiBTQ1NJIFNjaHJvdHQgCmxvc3p1d2VyZGVuIHVuZCBkYWZ1ZXIgbWVpbmUgTWF1cyB6dSB1bnRlcnN0dWV0emVuLgpEYWJlaSBrcmllZ2UgaWNoIGltbWVyIGRlbiBGZWhsZXI6IHZpcnR1YWwgbWVtb3J5IGV4aGF1c3RlZCAoYmVpIG1ha2UKekltYWdlLiBNYWtlIGNvbmZpZywgZGVmIHVuZiBjbGVhciBrbGFwcGVuIGFuc3RhbmRsb3MpCgpIYXQgamVtYW5kIG5lbiBUaXA/CgpJY2ggdmVyd2VuZGUgZGllIFNsYWNrd2FyZSBEaXN0cmlidXRpb24gbWl0IEtlcm5lbCAxLjMuMTgKU3dhcCBQYXJ0aXRpb24gaXN0IDEwTUIgbWl0IDhNQiBIYXVwdHNwZWljaGVyCgpHcnVzcwpTbnVnZ2xlClBTIGRlZiB1bmYgY2xlYXIgLT4gZGVmIHVuZCBjbGVhciBtZWluIGljaCBuYXR1ZXJsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4LVByb2JsZW0gKEFuYWtpbiwgMTguIFNlcCAxOTk2LCAxMTowOToxNik6Cn4jISBybj1KYW1lcyBydD04NDMwMzQ5NDAKfiMhIHRpZD04NDMwMzQ5NDAKV2FzIGhlaXNzdCBoaWVyIFNDU0kgU2Nocm90dD8KQWJlciB3aWUgZGllIEZlaGxlcm1lbGR1bmcgc2Nob24gc2FndGU6IHZpcnR1YWwgbWVtb3J5IGV4aGF1c3RlZCwKYWxzbyBuZW4gYmlzc2NoZW4gbWVociBTd2FwLVBhcnRpdGlvbiBzb2xsdGUgZXMgZGFubiBzY2hvbiB0dW4sCnNjaGF1IGRvY2ggbWFsIHdhcyB3YWVocmVuZCBkZXMgY29tcGlsaWVyZW5zIGdlYnJhdWNodCB3aXJkLAoxME1iIHNjaGVpbnQgbWlyIGVpbiB3ZW5pZyBrbmFwcC4gU28gMTYtMjBNYiBTd2FwIHNvbGx0ZSBnZWhlbi4KSWNoIG11c3N0ZSBhdWYgbWVpbmVtIGFsdGVuIDM4NiAgYXVjaCAyNE1iIFN3YXAgYW5nZWJlbiBhbHMgaWNoIApLZXJuZWwgdW5kL29kZXIgR2FtZWRyaXZlciBjb21waWxpZXJ0IGhhYmUuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4LVByb2JsZW0gKEphbWVzLCAxOC4gU2VwIDE5OTYsIDE4OjI5OjEyKToKfiMhIHJuPUFuYWtpbiBydD04NDMwMzc3NTYKfiMhIHRpZD04NDMwMzQ5NDAKU0NTSSBTY2hyb3R0IGhlaXNzdCwgZGFzcyBpY2gga2VpbmUgU0NTSSBUZWlsZSBpbSBSZWNobmVyIGhhYiB1bmQgCmZvbGdsaWNoIGRpZSBlbnRzcHJlY2hlbmRlbiBUcmVpYmVyIGltIEtlcm5lbCBsZWRpZ2xpY2ggU3BlaWNoZXIgZnJlc3NlbgotPiBTY2hyb3R0IDotKQoKQW5zb25zdGVuIGJsZWlidCBtaXIgd29obCBuaXggYW5kZXJlcyB1ZWJyaWcsIGFscyBkaWUgU3dhcC1QYXJ0aXRpb24genUKdmVyZ3JvZXNzZXJuLCBhdWNoIHdlbm4gZGFzIGhlaXNzdCwgZGllIFBsYXR0ZSBrb21wbGV0dCBuZXUgenUgYmVzcGllbGVuLCBpY2gKbXVzcyBkZW4gUGxhdHogbmFlbWxpY2ggdm9tIEZpbGVzeXN0ZW0gYWJ6d2Fja2VuLiBEYWhlciBoYXR0ZSBpY2ggZGllCkhvZmZudW5nLCBlcwpnYWViZSBuZSBhbmRlcmUgTW9lZ2xpY2hrZWl0LgoKRGFua2UgZnVlciBkaWUgSGlsZmUKCip3aW5rKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXgtUHJvYmxlbSAoSmFyaWVsLCAxOS4gU2VwIDE5OTYsIDAwOjAxOjI2KToKfiMhIHJuPUphbWVzIHJ0PTg0MzA2NDE1Mgp+IyEgdGlkPTg0MzAzNDk0MApLbGFyIGdpYnMgZGllIQoKMS4gU3BlaWNoZXIga2F1ZmVuLiAoaXN0IGphIHpaIGVjaHQgYmlsbGlnKQoyLiBOZXVlIFBsYXR0ZSBrYXVmZW4gb2RlcgozLiBuZSBhbHRlIHBsYXR0ZSBiZXNvcmdlbiAob2tpLCBkYW5uIGlzdCBkaWUgU1dBUC1QYXJ0LiB6d2FyIGV0d2FzIGxhbmdzYW0sCmFiZXIgYmVpIDhNQiBIYXVwdHNwZWljaGVyIGZhZWxsdCBkYXMgZWggbmljaHQgbWVociBhdWYsIGRhIGRlciBSZWNobmVyIGVoIG51cgphbSBzd2FwcGVuIGlzdCA7LSkgKQo0LiBobSBrZWluZSB3ZWl0ZXIgSWRlZS4uLi4KCkphcmllbCAoaGF0IG51ciBEcnVja2VycHJvYmxlbWUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoIG1laHIgUHJvYmxlbWUgKEphbWVzLCAxOS4gU2VwIDE5OTYsIDE3OjU3OjQxKToKRGFua2UgYmlzaGVyLiBJY2ggd2FyIGVpbmZhY2ggenUgYmxvZWRlIChtYW4gc29sbHRlIGRlbiBTd2FwLVNwYWNlIGF1Y2gKYW5zY2hhbHRlbiwgd2VubiBtYW4gaWhuIHNjaG9uIGhhdCksIGFiZXIgZGFmdWVyIGhhYiBpY2ggamV0enQgZWluIG5ldWVzIApQcm9iOgoKSWNoIGhhYmUgZGllIFNsYWNrd2FyZS1EaXN0cmlidXRpb24gbWl0IEtlcm5lbCBWZXJzaW9uZW4gMS4yLjEzIHVuZCAxLjMuMTgKWnVzYWV0emxpY2ggc2luZCBkaWUgU291cmNlbiB6dSAxLjIuMTMgdW5kIDEuMy4yMCBkcmF1ZgoKV2VubiBpY2ggdmVyc3VjaGUsIGRlbiAxLjIuMTNlciBLZXJuZWwgenUgaW5zdGFsbGllcmVuLCBrcmllZyBpY2ggYmVpbSBCb290ZW4KZGllIE1lbGR1bmdlbjoKCk1pbml4IGZzOiB1bmFibGUgdG8gcmVhZCBzdXBlcmJsb2NrCmV4dDIgZnM6IHVuYWJsZSB0byByZWFkIHN1cGVyYmxvY2sKCmt1cnogZGFyYXVmIGdlZm9sZ3Qgdm9uCktlcm5lbCBQYW5pYzogdW5hYmxlIHRvIG1vdW50IC9yb290IG9uIDM6MDIKCk1pdCBkZW0gMS4zLjE4IEtlcm5lbCBrYW5uIGljaCBib290ZW4sIGFiZXIgd2VubiBkZW4gMS4zLjIwIEtlcm5lbCBrb21waWxpZXJlbgp3aWxsIChkYSBkZXIgZmVydGlnZSBLZXJuZWwgU0NTSS1VbnRlcnN0dWV0enVuZyBlbnRoYWVsdCwgZGllIGljaCBuaWNodApicmF1Y2hlCmRhZnVlciBtZWluZSBNYXVzIG5pY2h0IGVya2VubnQpLCBiZWtvbW1lIGljaCBpcmdlbmR3YW5uIGRpZSBNZWxkdW5nZW46Cgpzb2NrZXQubyh0ZXh0KzxoZXhjb2RlPik6dW5kZWZpbmVkIHJlZmVyZW5jZSB0byAndmVyaWZ5X2lvdmVjJwp1bml4Lm8odGV4dCs8aGV4Y29kZT4pOnVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ2tmcmVlLnNrYicKRGllIHVuaXgubyBNZWxkdW5nIGJla29tbWUgaWNoIGF1Y2ggZnVlciBzb2NrX3NldHNvY2tvcHQsIHNvY2tfYWxsb2Nfc2VuZF9za2IsCm1lbWNweV9mcmFtaW92ZWMgdW5kIGRhdGFncmFtX3NlbGVjdAoKRGFiZWkgaXN0IDxoZXhjb2RlPiBqZXdlaWxzIGVpbiA0c3RlbGxpZ2VyIGhleGFkZXppbWFsZXIgY29kZQoKU2NobGllc3NsaWNoIG5vY2ggbWFrZVsyXToqKiogKHZtbGludXgpIEVycm9yMQp1bmQgZGFzIHdhcnMgZGFubi4KCkhhc3QgaXJnZW5kamVtYW5kIGVpbmVuIFRpcCwgd2FzIGljaCBmYWxzY2ggbWFjaGUsIGJ6dyBmYWxscyBtaXIgCmxpYnJhcmllcyBmZWhsZW4sIHdvIGljaCBkaWUgaGVyYmVrb21tZW4ga2Fubj8KClZpZWxlIEdydWVzc2UKClNudWdnbGUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUy1FeGNlbCAoUmF0eiwgMjAuIFNlcCAxOTk2LCAxODozNzozNCk6CkZhbGxzIGVzIGhpZXIgZWluIGVuIEV4cGVydGVuIGZ1ZXIgZGFzIFByb2cuIE1TLSBFeGNlbCBnaWJ0LCBoYWJlIGljaCBhbgpkZW5qZW5pZ2VuIGZvbGdlbmRlIEZyYWdlLgpXaWUga2FubiBtYW4gZWluZSBFeGNlbCBHcmFmaWsgYWxzIEVQUy1GaWxlIGF1c2dlYmVuIGxhc3Nlbj8gCgpEYW5rZSBmdWVyIGRpZU11ZWhlIGltIFZvcmF1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUy1FeGNlbCAoQmFyb24sIDIxLiBTZXAgMTk5NiwgMjE6MzA6NTApOgp+IyEgcm49UmF0eiBydD04NDMyMzc0NTQKfiMhIHRpZD04NDMyMzc0NTQKS2VpbmUgQWhudW5nIG9icyBFeGNlbCBFUFMgc2NocmVpYmVuIGthbm4gLi4uIChpY2ggZ2xhdWJzIGFsbGVyZGluZ3MgbmljaHQpLgpFaW5mYWNoZXI6IFBlciBad2lzY2hlbmFibGVnZSBpbiBlaW4gUHJvZ3JhbW0ga29waWVyZW4sIERBU1MgRVBTIHNjaHJlaWJlbgprYW5uICh6LkIuIENvcmVsIERyYXcgb2RlciBQYWludCBTaG9wIFBybykuCgooUmVkKSBCYXJvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHJ1Y2tlciB1bnRlciBMaW51eD8gKEJhcm9uLCAyMS4gU2VwIDE5OTYsIDIxOjMyOjQxKToKV2Vpc3MgamVtYW5kIHdpZSBtYW4gZWluZW4gSFAgRGVza2pldCA2NjBDIGFscyBMaW51eC1EcnVja2VyIGtvbmZpZ3VyaWVyZW4KbXVzcz8gSWNoIGhhYiBiaXNsYW5nIG51ciA1MDBlciBUcmVpYmVyIGdlc2VoZW4gdW5kIGRpZSBmdW56ZW4gbmljaHQuCgpUSFgsIEJhcm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2tlciB1bnRlciBMaW51eD8gKFJ1bWF0YSwgMjIuIFNlcCAxOTk2LCAxMDo0Nzo0Myk6Cn4jISBybj1CYXJvbiBydD04NDMzMzQzNjEKfiMhIHRpZD04NDMzMzQzNjEKSWNoIGhhYmUgZWluZW4gNjAwIChpbSBXZXNlbnRsaWNoZW4gYmF1Z2xlaWNoIHp1bSA2NjApClVuZCBkZXIgZnVuenQgYmVzdGVucyAoaWNoIG11c3N0ZSBhbGxlcmRpbmdzIGRlbSBnaG9zdHNjcmlwdCBzYWdlbiwgZGFzcwplcyBudXIgbWl0IDMwMGRwaSBhdXNnZWJlbiBzb2xsIChvYndvaGwgZGVyIDYwMCA2MDBkcGkga2FubikuIERhbm4ga2FubgptYW4gd2VuaWdzdGVucyBzY2hvbiBtYWwgZHJ1Y2tlbi4gV2VubiBqZW1hbmQgbm9jaCBlaW5lIGJlc3NlcmUgTG9lc3VuZwpoYXQsIGJpdHRlIGVpbiBjYyBhbiBtaWNoIDotKQoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMRUQgU2VpdGVuZHJ1Y2tlciAoQW5hdG9sLCAyNC4gU2VwIDE5OTYsIDE4OjU5OjI5KToKCkljaCBoYWJlIGVpbmVuIFVyYWx0LUxhc2VyZHJ1Y2tlciAoTml4ZG9yZikgYWJ6dWdlYmVuLgotIFVyYWx0Ci0gbmljaHQgZ2FueiBsZWlzZQotIHNlaHIgZ3Jvc3MgdW5kIHNjaHdlcgotIHJpZWNodCBsZWljaHQgb3pvbmlnCkFiZXIKLSBoYWxid2VncyBicmF1Y2hiYXJlcyBTY2hyaWZ0YmlsZAotICsgd2VpdGVyZSAoYW5nZWJyYXVjaHRlKSBGb3RvbGVpdGVydHJvbW1lbAotICsgZWluZSBFeHRyYWRvc2UgVG9uZXIKTGVpZGVyIGF1Y2gKLSBTZWxic3RhYmhvbHVuZyBpbiBPc25hYnJ1ZWNrCi0gLi4udW5kIGRhcyBtb2VnbGljaHN0IGJhbGQuCgpJY2ggdmVyZnVlZ2UgbGVpZGVyIG51ciB1ZWJlciAxMyAxLzIgUXVhZHJhdG1ldGVyLCBzb25zdCB3dWVyZGUgaWNoIGlobgpsb2dpc2NoZXJ3ZWlzZSBub2NoIHdlaXRlciBiZW51dHplbiwgYXVjaCB3ZW5uIGVyIHdpcmtsaWNoIHVyYWx0IGlzdC4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMRUQgU2VpdGVuZHJ1Y2tlciAoTXVwZmVsLCAyNC4gU2VwIDE5OTYsIDE5OjA5OjIzKToKfiMhIHJuPUFuYXRvbCBydD04NDM1ODQzNjkKfiMhIHRpZD04NDM1ODQzNjkKCldhcyBmdWVyIG5lIFNjaG5pdHRzdGVsbGU/IElyZ2VuZHdhcyBleG90aXNjaGVzIG9kZXIgbm9ybWFsIENlbnRyb25pY3M/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMRUQgU2VpdGVuZHJ1Y2tlciAoQW5hdG9sLCAyNC4gU2VwIDE5OTYsIDE5OjEwOjI4KToKfiMhIHJuPU11cGZlbCBydD04NDM1ODQ5NjMKfiMhIHRpZD04NDM1ODQzNjkKCkhtLCBkZXIgRHJ1Y2tlciBoYWVuZ3QgYmVpIG1pciBnYW56IG5vcm1hbCBhbSBSZWNobmVyLCBvaG5lIGRhc3MgaWNoCmJlc29uZGVyZSBLYWJlbCBoYWV0dGUgc3VjaGVuIG11ZXNzZW4uCgpWb2VsbGlnIHVuZXhvdGlzY2gsIApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMRUQgU2VpdGVuZHJ1Y2tlciAoUmFmZmksIDI1LiBTZXAgMTk5NiwgMTI6MDQ6MzYpOgp+IyEgcm49QW5hdG9sIHJ0PTg0MzU4NTAyOAp+IyEgdGlkPTg0MzU4NDM2OQoKSG1tIHVuZCB3aWUgZXhvdGlzY2ggaXN0IGRlciBSZWNobmVyIHdvIGRhcyBEaW5nIGRyYW5oYWVuZ3QgPwoKTWVya2UgYXVjaCBleG90aXNjaGUgcmVjaG5lciB2ZXJ3ZW5kZW4gZ2FueiBub3JtYWxlIEthYmVsIGZ1ZXIgbm9jaCB2aWVsCmV4b3Rpc2NoZXJlIFNjaG5pdHRzdGVsbGVuLgoKR3JpbnMKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExFRCBTZWl0ZW5kcnVja2VyIChBbmF0b2wsIDI1LiBTZXAgMTk5NiwgMTc6MDk6MzYpOgp+IyEgcm49UmFmZmkgcnQ9ODQzNjQ1ODc2Cn4jISB0aWQ9ODQzNTg0MzY5CgpLaW5kZXIsIHZlcmFyc2NoZW4ga2FubiBpY2ggbWljaCBzZWxic3QsIG9rPwpFcyBpc3QgZWluIGdhbnogbm9ybWFsZXIgTEVEIFNlaXRlbmRydWNrZXIgTUQwNyB2b24gTml4ZG9yZi4KRGFzIERpbmcga2FubiB1LmEuIEhQIExKKywgRGlhYm9sbyA2MlVFQ1MsIElCTSBHcmFmaWtkcnVja2VyIElJIGVtdWxpZXJlbgp1bmQgYXJiZWl0ZXRlIGJlaSBtaXIgdW50ZXIgV2luZG93cyAobmljaHQgc2NobGFnZW4sIEpvZiwgYml0dGUhKSBtaXQKZWluZW0gIkhQIExhc2VyamV0IDUwMCsiLVRyZWliZXIgZWlud2FuZGZyZWkuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMRUQgU2VpdGVuZHJ1Y2tlciAoUmFmZmksIDI1LiBTZXAgMTk5NiwgMTk6MTc6NDMpOgp+IyEgcm49QW5hdG9sIHJ0PTg0MzY2NDE3Ngp+IyEgdGlkPTg0MzU4NDM2OQoKSG1tIGljaCBnbGF1YmUgZGFzIGRpbmcgS2VubmUgaWNoIC0gZGFzIGlzdCBlaW4gdW1nZWtsZWJ0ZXIgS3lvY2VyYSAgRi0xMDEwIC0KTmltbSBpY2ggLi4uIHdpZSBrcmllZyBpY2ggZGVuIGJsb3MgbmFjaCBtdWVuY2hlbiA/CgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTEVEIFNlaXRlbmRydWNrZXIgKE11cGZlbCwgMjUuIFNlcCAxOTk2LCAxOToyMDo0Myk6Cn4jISBybj1SYWZmaSBydD04NDM2NzE4NjMKfiMhIHRpZD04NDM1ODQzNjkKCldpZXZpZWwgU3RlbGxmbGFlY2hlIG5pbW10IGRlciAodW5nZWZhZWhyKT8gRGFzIGJpc3NjaGVuIE96b24gc3RvZXJ0IG1pY2gKbmljaHQsIGljaCBtdXNzIGRhIGphIG5pY2h0IHBlbm5lbiA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMRUQgU2VpdGVuZHJ1Y2tlciAoQW5hdG9sLCAyNS4gU2VwIDE5OTYsIDE5OjI0OjAxKToKfiMhIHJuPU11cGZlbCBydD04NDM2NzIwNDMKfiMhIHRpZD04NDM1ODQzNjkKCgpFciBpc3Qgc2VociBncm9zcywgd2VubiBhdWNoIG51ciBmdWVyIGVpbmVuIExhc2VyZHJ1Y2tlci4KSWNoIHNjaGFldHplIHNvIGV0d2EgNzB4NTAgY20ga29lbm50ZSBoaW5oYXVlbiwgYWJlciBtZWluIEF1Z2VubWFzcyBpc3QKaXJnZW5kd2llIGJlbGllYmlnIHZlcnN0ZWxsYmFyIDstLy4KCkFuYXRvbCwgbWl0dGVsZ3Jvc3MgZnVlciBlaW5lbiBFbGYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMRUQgU2VpdGVuZHJ1Y2tlciAoTXVwZmVsLCAyNS4gU2VwIDE5OTYsIDE5OjMyOjIyKToKfiMhIHJuPUFuYXRvbCBydD04NDM2NzIyNDEKfiMhIHRpZD04NDM1ODQzNjkKClN1cHBhIDUweDcwIHBhc3N0IGdlbmF1IG5vY2ggc28uLi4gOi0pCgotbXVwZmVsLQpQLlMuOiBqZXR6dCB1bnRlcmhhbHRlbiB3aXIgdW5zIHNjaG9uIHVlYmVyIGRpZSBNUEEgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMRUQgU2VpdGVuZHJ1Y2tlciAoUm9uZGEsIDI2LiBTZXAgMTk5NiwgMjA6MTc6NTkpOgp+IyEgcm49UmFmZmkgcnQ9ODQzNjQ1ODc2Cn4jISB0aWQ9ODQzNTg0MzY5CkdyaW5zLCBkZXIgRHJ1Y2tlciBzdGVodCBpbiBPc25hYnJ1ZWNrIChzY2h3YXJ6ISEhKSB1bmQgc3RhbW10IGF1cyBQYWRlcmJvcm4KKG5vY2ggVklFTCBzY2h3YWVyemVyISkgLSBkYSBoaWxmdCBzaWNoZXIgbnVyIGJldGVuLi4uIChTY2huaXR0c3RlbGxlIHdhZXJlCmRhbm4gcGFwc3RAcm9tLml0IC4uLikKCiAgICAgICAgICAgUm9uZGEgICh3b2hudCB6d2FyIGluIFBhZGVyYm9ybiwga29tbXQgYWJlciB2b24gd28gYW5kZXJzIHdlY2ggPTspCikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExFRCBTZWl0ZW5kcnVja2VyIChTaXF1ZSwgMjguIFNlcCAxOTk2LCAwOTo0Njo0Nik6Cn4jISBybj1Sb25kYSBydD04NDM3NjE4NzkKfiMhIHRpZD04NDM1ODQzNjkKRGVyIFBhcHN0IHNpdHp0IGFiZXIgaW4gQHZhdGljYW5vLnZhIDspCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpcXVlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTeXNhZG1pbiBwcm9ibGVtZSAoV2FybG9yZCwgMzAuIFNlcCAxOTk2LCAyMTo0MTo0Mik6CmhhbGxvbGUsCmljaCB2ZXJzdWNoZSBnZXJhZGUgZWluIGxpbnV4LXN5c3RlbSBlaW5pZ2VybWFzc2VuIGJlbnV0emVyZnJldW5kbGljaCB6dQpnZXN0YWx0ZW4gdW5kIGQgdmVyc3VjaGUgZGllIGVudHNwcmVjaGVuZGVuIHNjcmlwdGUgenUgbWFuaXB1bGllcmVuLgppY2ggaGFiZSBhYmVyIGRhcyBwcm9ibGVtLCBkYXNzIGljaCAxLiBuaWNodCB3ZWlzcyB3ZWxjaGUgdW5kIGF1Y2ggbmljaHQgZ2VuYXUKd2llLgpkZXNoYWxiIHN1Y2hlIGljaCBidWVjaGVyLCBob3d0b3MsIC4uLgoKa2FubiBtaXIgZGEgamVtYW5kIHdlaXRlcmhlbGZlbiA/CgoJZGFua2UgaW0gdm9yYXVzCgkJCXdhcmxvcmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTeXNhZG1pbiBwcm9ibGVtZSAoSGFkcmEsIDMwLiBTZXAgMTk5NiwgMjM6NTE6MzQpOgp+IyEgcm49V2FybG9yZCBydD04NDQxMTI1MDIKfiMhIHRpZD04NDQxMTI1MDIKYWxzbyB3ZW5uIGR1IHVucyBzYWdlbiB3dWVyZGVzdCB3ZWxjaGUgc2NyaXB0ZSBkdSB3b2hpbmdlaGVuZCBhZW5kZXJuIHdpbGxzdCwKa29lbm50ZW4gd2lyIHZpZWxsZWljaHQgZGFydWViZXIgbmFjaGRlbmtlbiwgb2Igd2lyIGdld2lsbHQgc2luZCBkaXIgenUKaGVsZmVuLgoKaGFkcmEgLSBoYXQga2VpbmUgYWhudW5nIHdvcnVtIGVzIGdlaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkN5cml4IFA2LTE2NiAoTW9yZ290aCwgIDEuIE9rdCAxOTk2LCAwNzoyMTozNSk6CkhhdCBpcmdlbmRqZW1hbmQgc2NobGVjaHRlIEVyZmFocnVuZ2VuLCBCVUdzLCBJbmtvbXBhdGliaWxpdGFldCBvLmFlLgphdWZ6dXdlaXNlbiwgZGVyIHNwcmVjaGUgYml0dGUgamV0enQsIG9kZXIgc2Nod2VpZ2UgZnVlciBpbW1lci4KTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEN5cml4IFA2LTE2NiAoTmlyZGF2bywgIDEuIE9rdCAxOTk2LCAwOTo0MTo0NCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg0NDE0NzI5NQp+IyEgdGlkPTg0NDE0NzI5NQpJY2ggaGFiIGdlaG9lcnQsIGRhc3MgZWluaWdlIERPUy1BbndlbmR1bmdlbiBnZXJhZGUgYXVmIGVpbmVtIEN4LTE2NiBuaWNodApzdGFiaWwgbGF1ZmVuLiBEZXIgR3J1bmQgZGFmdWVyIHNpbmQgd29obCBwcm9ibGVtZSBtaXQgZGVtIFRpbWluZyBhdWYgZGVyCkhhdXB0cGxhdGluZSwgZGFzIHNwZXppZWxsIERPUy1BbndlbmR1bmdlbiBvZWZ0ZXIgdWViZWwgbmVobWVuLiAoSmFqYSwKZ29vb2RieWUgRE9PTSwgSGV4ZW4sIFdhcmNyYWZ0IElJLi4uLikKCiAgICAgICAgTmlyZGF2by4gU2Nod2Fyem1hbGVyIHZvbSBEaWVuc3QuCgpQLlMuIEF1Y2ggU2lubkxvcyA5NSBzb2xsIGRhIG5pY2h0IHNvIGZ1ZXJjaHRlcmxpY2ggc3RhYmlsIGxhdWZlbiAoMQpBYnN0dXJ6L1N0dW5kZSkuIEFiZXIgZGFzIGlzdCBqYSBvaG5laGluIG5vcm1hbCwgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDeXJpeCBQNi0xNjYgKFF1aWxsaWFuLCAgMS4gT2t0IDE5OTYsIDE0OjAzOjI0KToKfiMhIHJuPU1vcmdvdGggcnQ9ODQ0MTQ3Mjk1Cn4jISB0aWQ9ODQ0MTQ3Mjk1CkhtbSwgaWNoIGhhYiBudXIgZ2VsZXNlbiwgZGFzcyBkaWUgc2ljaCB6aWVtbGljaCBzY2huZWxsIHVlYmVyaGl0emVuIHNvbGxlbgouLi4KClF1aWxsaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEN5cml4IFA2LTE2NiAoUXVhc2ltb2RvLCAgMS4gT2t0IDE5OTYsIDE1OjAxOjU2KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODQ0MTU1NzA0Cn4jISB0aWQ9ODQ0MTQ3Mjk1CkFsc28gYmVpIG1pciBsYWV1ZnQgZGVyIFA2LTE1MCsgdm9lbGxpZyBvaG5lIFByb2JsZW1lLgpXOTUgc3R1ZXJ6dCBudXQgc28gbm9ybWFsIG9mdCBhYiAoPTEweCBvZnQgd2llIGRhcyBNRykuCgpRdWFzaW1vZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ3lyaXggUDYtMTY2IChDYXR3ZWF6bGUsICAxLiBPa3QgMTk5NiwgMTY6NTI6NTApOgp+IyEgcm49UXVpbGxpYW4gcnQ9ODQ0MTcxNDA0Cn4jISB0aWQ9ODQ0MTQ3Mjk1CktvcnJla3QhCgpEZXIgQ3lyaXgtUHJvemVzc29yIGhhdCBlaW5lIGdhbnogZW5vcm1lIFNwYW5udW5nc2F1Zm5haG1lIHVuZCB3aXJkIGRhZHVyY2gKdGllcmlzY2ggaGVpc3MhISBJY2ggaGFiIG1hbCBuZW4gMTMzKyB2ZXJiYXV0LCBkZXIgd3VyZGUgc28gd2FybSwgZGFzIG1hbgpzaWNoIGF1ZiBkZXIgTWFpbmJvYXJkLVJVRUNLc2VpdGUgZGllIEZJbmdlciB2ZXJicmFubnQgaGF0LgoKRGVyIEN5cml4IGxhZXVmdCBhdWNoIG5pY2h0IG9obmUgd2VpdGVyZXMgaW4gZWluZW0gYmVsaWViaWdlbiBCb2FyZCwgZGllCm1laXN0ZW4gdHVucyBuaWNodC4gCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEN5cml4IFA2LTE2NiAoV3VyemVsLCAgMS4gT2t0IDE5OTYsIDE5OjAzOjQ1KToKfiMhIHJuPVF1YXNpbW9kbyBydD04NDQxNzQ5MTYKfiMhIHRpZD04NDQxNDcyOTUKYWxzbyBiZWkgbWlyIHN0dWVyenQgc2lubmxvczk1IGVpZ2VudGxpY2ggbmllIGFiLi4uIHdhcyBoYWJ0IGlociBkYSBmdWVyCnByb2JsZW1lPwoKd3VyemVsCgpwLnMuIG9iIGVzIGRhcmFuIGxpZWd0LCBkYXNzIGljaCBsaW51eCBuZWhtZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEN5cml4IFA2LTE2NiAoR3JpbW1ib3JuLCAgMS4gT2t0IDE5OTYsIDE5OjA3OjUwKToKfiMhIHJuPVd1cnplbCBydD04NDQxODk0MjUKfiMhIHRpZD04NDQxNDcyOTUKCk1laW4gV2luOTUgaXN0IGVpZ2VudGxpY2ggYXVjaCBuaWNodCBhYmdlc3R1ZXJ6dC4gQWJlciBhbHMgZXMgbmFjaCB6d2VpIFdvY2hlbgphdWYgZWlubWFsIG1laW5lbiAodW52ZXJhZW5kZXJ0ZW4pIE1vbml0b3IgbmljaHQgbWVociB3b2xsdGUgaGFiIGljaHMKZ2Vsb2VzY2h0LiBNYW5nZWxzIGdlZWlnbmV0ZXIgTWV0aG9kZW4gbWl0IGRlbiBET1MtRGVpbnN0YWxsYXRpb25zcHJvZ3JhbW1lbgpmdWVyIFdpbjk1LCAiZmRpc2siIHVuZCAiZm9ybWF0Ii4gWnVtIEdsdWVjayBoYXR0ZSBpY2ggUGxhdHogZ2VudWcsIHVtIG1laW5lCkRhdGVuIGF1c3p1bGFnZXJuICh3b3p1IHNvIGVpbmUgTGludXhwYXJ0aXRpb24gZG9jaCBndXQgc2VpbiBrYW5uKS4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGhhdCBzaWNoIGpldHp0IGF1Y2ggbm9jaCBXaW4zLjExIHplcnNjaG9zc2VuLgpEdW1tIGdlbGF1ZmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEN5cml4IFA2LTE2NiAoRHdpZ2h0LCAgMS4gT2t0IDE5OTYsIDIwOjU0OjMzKToKfiMhIHJuPVd1cnplbCBydD04NDQxODk0MjUKfiMhIHRpZD04NDQxNDcyOTUKSG9sbGEKSWNoIHZlcnN0ZWggZXVyZSBQcm9ibGVtZSBtaXQgVzk1IG5pY2h0LgpJY2ggaGFiIGRhcyBEaW5nIGRlbiBnYW56ZW4gVGFnIGxhdWZlbiwgdW5kIGVzIHN0dWVyenQgc28gZ3V0IHdpZSBuaWUgYWIuCgoKClNvYmFsZCBpY2ggbmF0dWVybGljaCB2ZXJzdWNoZSBub2NoIGVpbiBBbndlbmRlcnByb2dyYW1tIHp1IGJlbnV0emVuLCBzaWVodApkaWUgU2FjaGUgbmF0dWVybGljaCBnYWFhYW56IGFuZGVycyBhdXMgOy0pCgpEd2lnaHQgKGVtcGZpZWhsdCBXOTUgbnVyIGluIFZlcmJpbmR1bmcgbWl0IGVpbmVtIFp3ZWl0cmVjaG5lciB1bmQKWndlaXRiZXRyaWVic3N5c3RlbSwKICAgICAgICBhdWYgZGVtIG1hbiBkaWUgd2ljaHRpZ2VuIFNhY2hlbiBtYWNodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDeXJpeCBQNi0xNjYgKEFjcmltb24sICAyLiBPa3QgMTk5NiwgMDM6MTI6NDMpOgp+IyEgcm49TW9yZ290aCBydD04NDQxNDcyOTUKfiMhIHRpZD04NDQxNDcyOTUKTnVyIGRhbWl0IGljaCBuaWNodCBzY2h3ZWlnZW4gbXVzejoKRGFzIGdld2FsdGlnZSBQcm9ibGVtIGRpZXNlcyBQcm96ZXNzb3JzIGlzdCwgZGFzeiBlciBrb21wYXRpYmVsIHp1CkludGVsLVByb3plc3NvcmVuIGlzdC4KV2FlcmUgZXIga29tcGF0aWJlbCB6dSBERUMsIElCTS1Nb3Rvcm9sYSwgSFAgb2RlciBzb25zdGlnZW4gYW5kZXJlbgpQcm96ZXNzb3JlbiwgZGFubiB3YWVyZSBlciBsZWlzdHVuZ3NmYWVoaWdlci4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlciBkZW5rdCBhdWNoIGFuIFN0YWJpbGl0YWV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ3lyaXggUDYtMTY2IChNb3Jnb3RoLCAgMi4gT2t0IDE5OTYsIDA3OjMxOjM2KToKfiMhIHJuPUR3aWdodCBydD04NDQxOTYwNzMKfiMhIHRpZD04NDQxNDcyOTUKQmVpIG1pciBsYWV1ZnQgZGFzIGd1dGUgYWx0ZSBXRlczLjExLiBFcyBsaWVmIHNvZ2FyIGxldHp0ZW5zIHVlYmVyIHZpZXIgV29jaGVuCmxhbmcgc3RhYmlsLCBhbHMgaWNoIGltIFVybGF1YiB3YXIuIERhYmVpIG51ZGVsdGUgZGVyIFdlYi1TZXJ2ZXIgdW5kClNNVFAtU2VydmVyIGdhbnogZ3V0LgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDeXJpeCBQNi0xNjYgKFNudWdnbGUsICA0LiBPa3QgMTk5NiwgMTU6MTU6MjApOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg0NDE3NDkxNgp+IyEgdGlkPTg0NDE0NzI5NQpzdGFiaWxpdGFldCBpc3QgZXJ0cmFlZ2xpY2gsIGFiZXIgZGFzIHRlaWwgaGF0IGFyZ2UgdGVtcGVyYXR1cnByb2JsZW1lLCB0cm90egprdWVobGVyID0+IGZpbmdlciB3ZWcKCmdydXNzCnNuZ2dsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDeXJpeCBQNi0xNjYgKEZyZXVuZCwgIDUuIE9rdCAxOTk2LCAxODo1NzozNCk6Cn4jISBybj1TbnVnZ2xlIHJ0PTg0NDQzNDkyMAp+IyEgdGlkPTg0NDE0NzI5NQpIaSwKCmljaCBoYWJlIGRlbiBDeXJpeCBQMTY2KyBtaXQgZWluZW0gR2lnYWJ5dGUgVlggTW90aGVyYmFvcmQgbGF1ZmVuLgpVbnRlciBET1MsIFdpbjMuMTEgdW5kIFdpbjk1LiBVbmQgZGFzIFRlaWwgaXN0IGJlZ25hZGV0IHNjaG5lbGwuCkRhc3MgZGllIFRlbXBlcmF0dXIgaG9jaCBnZWh0LCBzdGltbXQsIGFiZXIgZGFzIGxpZWd0IGRhcmFuLCBkYXNzIGVzIGVpZ2VudC0KbGljaCBzaW5udm9sbCB3YWVyZSAvIGlzdCwgZGFzIFRlaWwgbWl0IDIuOCBvZGVyIGJlc3NlciBub2NoIDIuNVYgenUgYmUtCnRyZWliZW4uIEdpZ2FieXRlLUJvYXJkcyBsYXVmZW4gYXVmIDIuOCAoanVtcGVyYmFyIHZvbiAzLjUpIHVuZCBkYXMgRGluZwpoYXQga2VpbmUgUHJvYmxlbWUgbWVoci4KVW50ZXIgV2luIDk1IE51bGwgUHJvYmxlbWUsIHNvIHN0YWJpbCB1bmQgc2NobmVsbCBsaWVmIG1laW4gUmVjaG5lciBMQU5HRQpuaWNodCBtZWhyLiBEZXIgSW50ZWwgMTY2IGlzdCBkYWdlZ2VuIGVpbmZhY2ggbGFobS4KSWNoIGhhYmUgV2FyY3JhZnQgSUkgdW50ZXIgRE9TIGF1c2dpZWJpZyBhZWhtLCBnZXRlc3RldCwgZXMgbGFldWZ0CnN0YWJpbCAtIGtlaW4gUHJvYmxlbS4gRGFzIERpbmcgc2NoZWludCBtaXIgd2VpdGdlaGVuZCBrb21wYXRpYmVsIHp1bSBJbnRlbCB6dQpzZWluLApudXIgd2VzZW50bGljaCBzY2huZWxsZXIgdW5kIHdlc2VudGxpY2hzdCBndWVuc3RpZ2VyLgoKRWluIHZvbSBDeXJpeC9JQk0gMTY2KyBiZWdlaXN0ZXJ0ZXIgRlJFVU5ELgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ3lyaXggUDYtMTY2IChGcmV1bmQsICA1LiBPa3QgMTk5NiwgMTk6MDA6MTEpOgp+IyEgcm49RnJldW5kIHJ0PTg0NDUzNDY1NAp+IyEgdGlkPTg0NDE0NzI5NQpOQUNIVFJBRzoKCkJldm9yIGpldHp0IGVpbmlnZSBtZWNrZXJuLCBkYXNzIGF1ZiBkZW0gUHJvemVzc29yIDMuNSBWb2x0IGF1ZmdlZHJ1Y2t0IGlzdCwKZGFzIHN0aW1tdCB6d2FyLCBhYmVyIG5hY2ggU3VwcG9ydC1BdXNzYWdlIHZvbiBHaWdhYnl0ZSAodW5zZXJlIFdlcmtzdGF0dApoYXR0ZSBlaW5pZ2UgbGFuZ2UgVGVsZWZvbmF0ZSkgbGllZmUgZGFzIERpbmcgZWlnZW50bGljaCBiZXNzZXIgbWl0IDIuNToKR2xlaWNoZSBMZWlzdHVuZywgd2VuaWdlciBIaXR6ZS4KCkZyZXVuZCwgYXJiZWl0ZXQgYWxzIENvbXB1dGVyLVZlcmthZXVmZXIuLi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEN5cml4IFA2LTE2NiAoVG9lLCAgOS4gT2t0IDE5OTYsIDA3OjMzOjIxKToKfiMhIHJuPU5pcmRhdm8gcnQ9ODQ0MTU1NzA0Cn4jISB0aWQ9ODQ0MTQ3Mjk1CmhtbW0sIGljaCBtZWluZSBkYXMgZGllc2VzIHRlaWwgSEVJU1Mgd2lyZCAtIGljaCB3dWVyZGUgZGFzIHRlaWwgbmljaHQKa2F1ZmVuLi4uCnRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVC1PbmxpbmUgdW5kIFBQUC9TTElQIChRdWlsbGlhbiwgIDkuIE9rdCAxOTk2LCAyMzoxNDoyMik6CkVpbiBGcmV1bmQgdm9uIG1pciBtb2VjaHRlIHVlYmVyIFQtT25saW5lIHVudGVyIExpbnV4IGVpbmUKUFBQIG9kZXIgU0xJUC1WZXJiaW5kdW5nIGhlcnN0ZWxsZW4uCkhhdCBqZW1hbmQgbmUgQWhudW5nIG9iLCB1bmQgbm9jaCBiZXNzZXIgd2llIGRhcyBnZWh0PwoKUXVpbGxpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBULU9ubGluZSB1bmQgUFBQL1NMSVAgKEhhZHJhLCAgOS4gT2t0IDE5OTYsIDIzOjI1OjU3KToKfiMhIHJuPVF1aWxsaWFuIHJ0PTg0NDg5NTY2Mgp+IyEgdGlkPTg0NDg5NTY2MgphdWYgaXJnZW5kIGVpbmVyIGRlciBsZXR6ZW4gc3VzZSBjZHMgaGFiIGljaCBtYWwgc28gd2FzIGdlc2VoZW4uCnNjaGF1IG1hbCBvYiBkdSB1ZWJlciBlaW5lIHN0b2xwZXJzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULU9ubGluZSB1bmQgUFBQL1NMSVAgKEJsb29keWhhcnJ5LCAxMC4gT2t0IDE5OTYsIDA4OjQ3OjI0KToKfiMhIHJuPUhhZHJhIHJ0PTg0NDg5NjM1Nwp+IyEgdGlkPTg0NDg5NTY2MgpBdWYgZGVyIFN1U0UgQ0Qgdm9tIEp1bmkgOTYgaXN0IGVzIGltIEhhbmRidWNoIHNjaG9uIGF1c2Z1ZWhybGljaCBiZXNjaHJpZWJlbgp3b3JkZW4uIEFiZXIgZWluZSBuZXVlcmUgQXVzZ2FiZSBpc3QgamEgYXVjaCBzY2hvbiB3aWVkZXIgenUgaGFiZW4uCgpiaAo6d3EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEN5cml4IFA2LTE2NiAoUXVhc2ltb2RvLCAxNS4gT2t0IDE5OTYsIDE0OjMwOjQxKToKfiMhIHJuPUR3aWdodCBydD04NDQxOTYwNzMKfiMhIHRpZD04NDQxNDcyOTUKSG9sYSEKCldlbm4gZGFzIERpbmcgZGVuIGdhbnplbiBUYWcgc3RhYmlsIGdlbGF1ZmVuIGlzdCwgZGFubiBoYXR0ZXN0IER1IGFiZXIgZGVuCkJpbGRzY2hpcm1zY2hvbmVyIGFiZ2VzdGVsbHQuLi4uCgpRdWFzaW1vZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlWDogd2llIG1laHJlcmUgKDIpIEJpbGRlciAoZXBzKSBuZWJlbmVpbmFuZGVyPyAoUGlsZ3JpbSwgMjAuIE9rdCAxOTk2LCAxODo0NTo0Nyk6CmhpLAoKaWNoIGZyYWcgbWFsIGhpZXIga3VyeiBuYWNoIC4uLiB2aWVsbGVpY2h0IHdlaXNzIGphIGVpbmUvciwgd2llIGVzIGdlaHQuLi4KQWxzbywgaWNoIHdpbGwgaW4gVGVYIDIgZXBzLWJpbGRlciBuZWJlbmVpbmFuZGVyIChub2NoIHNjaG9lbmVyIHdhZXJlIG5lCjJ4MiBNYXRyaXgpIGFub3JkbmVuIC4uLiB3aWUgaWNoIGVpbiBiaWxkIChlcHMpIGVpbmJpbmRlICh6ZW50cmllcnQpLAp3ZWlzcyBpY2ggLi4uCgpJY2ggYmVudXR6ZSBsYXRleDJlIG1pdCBlcHNmLnN0eSAoZGFzIGlzdCBkZXIgc3R5bGUsIGRlciBkYXMgZWluYmluZGVuIHZvbgooZSlwcy1iaWxkZXJuIGluIFRleCBlcmxhdWJ0IC4uLgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlWDogd2llIG1laHJlcmUgKDIpIEJpbGRlciAoZXBzKSBuZWJlbmVpbmFuZGVyPyAoUm9hZHJ1bm5lciwgMjAuIE9rdCAxOTk2LCAxOTozMzozNSk6Cn4jISBybj1QaWxncmltIHJ0PTg0NTgyOTk0Nwp+IyEgdGlkPTg0NTgyOTk0NwpIaQoKRGllIEJpbGRlciBkaWUgaW0gRXBzZi1wYWtldCBlaW5nYnVuZGVuIHdlcmRlbiB3ZXJkZW4gbmljaHQgdmllbCBhbmRlcnMgCmdlc2V0enQgYWxzIG5vcm1hbGUgQm94ZW4gYXVjaC4KTWVocmVyZSBiaWxkZXIgdWViZXIgdW5kIG5lYmVuZWluYW5kZXIga2FubiBtYW4gc2V0emVuIHdpZSBidWNoc3RhYmVuIGluIGVpbmUgClplaWxlCgphbHNvIHNvIGFlaG5saWNoIHdpZToKXGJlZ2lue2ZpZ3VyZX0KXGJlZ2lue2NlbnRlcn0KXGVwc2Z4c2l6ZS4zXHRleHR3aWR0aApcZXBzZmJveHtiaWxkMS5lcHN9ClxlcHNmYm94e2JpbGQyLmVwc30KXFwgJTw9PT0gZXJzdGUgemVpbGUgYmVlbmRldApcZXBzZmJveHtiaWxkMy5lcHN9ClxlcHNmYm94e2JpbGQ0LmVwc30KXGVuZHtjZW50ZXJ9ClxjYXB0aW9ue3NjaHdhbGxibGF9XGxhYmVse3BpYzp2aWVyYmlsZGVyfQpcZW5ke2ZpZ3VyZX0KCmthbm4gc2VpbiBkYXNzIG5vY2ggZWluIFxsZWF2ZXZtb2RlIHZvciBkYXMgZXJzdGUgYmlsZCBwbGF6aWVydCB3ZXJkZW4gbXVzcyAtCmlubmVyaGFsYiBkZXIgY2VudGVyIC0gdW1nZWJ1bmcgLSBhYmVyIHNvIGFlaG5saWNoIHNpZWh0IGRhcyBhdXMKCiAgICAgICAgICAgICAgICAgICAgICBSb2FkcnVubmVyCkhvZmZlIGdlaG9sZmVuIHp1IGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUZVg6IHdpZSBtZWhyZXJlICgyKSBCaWxkZXIgKGVwcykgbmViZW5laW5hbmRlcj8gKFhlZXJhbiwgMjQuIE9rdCAxOTk2LCAwMDoxNTo1Mik6Cn4jISBybj1Sb2FkcnVubmVyIHJ0PTg0NTgzMjgxNQp+IyEgdGlkPTg0NTgyOTk0NwpNYW4ga29lbm50ZSBkaWUgZ2FuemUgc2FjaGUgYXVjaCBldHdhcyBrb21wbGl6aWVyZW4gdW5kIG1pdCAKXGJlZ2lue21pbmlwYWdlfVtidF17YnJlaXRlfSBibGEgYmxhIGJsYSBcZW5ke21pbmlwYWdlfQphcmJlaXRlbi4gRmFsbHMgbm9jaCBtZWhyIEZyYWdlbiBhdWZ0YXVjaGVuIHNvbGx0ZW4uIEljaCBrYW5uIGRhIGVpbiBzZWhyCmd1dGVzIEJ1Y2ggZW1wZmVobGVuLiBMYVRlWCAtIEVpbmZ1ZWhydW5nIEJhbmQgMS4gdm9uIEhlbG11dCBLb3BrYQpBZGRpc29uLVdlc2xleSBWZXJsYWcuLi4uIE5hamEgbnVyIFNvdmllbCBkYXp1Li4uLgoKWGVlcmFuLiAoTGFUZVggTGFUZVggTGFUZVgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcHBsaXh3YXJlIHVudGVyIExpbnV4IChUb2V0ZXIsIDMxLiBPa3QgMTk5NiwgMTI6NDA6MzkpOgpIaSwKaGF0IHNjaG9uIGplbWFuZCBFcmZhaHJ1bmdlbiBtaXQgZGVtIE9mZmljZS1QYWtldCB2b24gQXBwbGl4d2FyZSB1bnRlcgpMaW51eCBnZW1hY2h0PyBXZW5uIGphLCB3dWVyZGUgaWNoIG1pY2ggdWViZXIgZWluZSBNYWlsIGRhenUgZnJldWVuLgogIFRvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2FtZURyaXZlciAoWWFudHJvLCAgNC4gTm92IDE5OTYsIDA4OjQxOjM0KToKCkRhIGRlciBTZXJ2aWNlIGRlciBWZXJhbnR3b3J0bGljaGVuIGhpZXIgaW0gTXVkIHdvaGwgZXR3YXMgenUgd3VlbnNjaGVuIHVlYnJpZwpsYWVzc3QgOikgdmVyc3VjaGUgaWNoIG1hbCB1ZWJlciBkaWUgTVBBIG1laW4gR2x1ZWNrLiBJY2ggc3VjaGUgZWluZW4KR2FtZURyaXZlciBmdWVyIGRhcyBNRywgdW5kIHp3YXIgZWluZW4sIG1pdCBkZW0gZGllIG5ldXN0ZSBWZXJzaW9uIGRlciBNdWRMaWIsCmFsc28gTW9yZ2VuR3JhdWVuLTMuMS4yIGF1Y2ggbGFldWZ0LiBEaWVzZXIgRHJpdmVyIHNvbGx0ZSB1bnRlciBMaW51eCBsYXVmZW4sCmFsc28gdWViZXJzZXR6dCBzZWluICh1bmQgREFWT04gaGFiIGljaCBrZWluZSBBaG51bmcsIHNvbnN0IHd1ZXJkIGljaCBlcwpzZWxiZXIgbWFjaGVuLikgRGVyIEFrdHVlbGxlIERyaXZlciBmdWVyIExpbnV4IGltIC9vcGVuIGhhdCBkZW4gRmVobGVyLCBkYXNzCmVyIGRhcyBmaWxzeXMuYyBuaWNodCBsYWRlbiBrYW5uIHVuZCBkYW1pdCBrZWluZSBNYWdpZXJzaGVsbCBsYWV1ZnQuCgpIaW53ZWlzZSB1bmQgd2VpdGVyZSBUaXBzIGJpdHRlIHBlciBtYWlsIGFuIG1pY2guLi4uIAoKWWFudHJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW4gTlQgdW5kIE1hdHJveCBNaWxsZW5pdW0gKEd1bGR1a2F0LCAyNS4gTm92IDE5OTYsIDExOjUxOjE0KToKQW5zY2hlaW5lbmQgdmVydHJhZ2VuIHNpY2ggTWF0cm94IE1pbGxlbml1bSwgTlQgNC4wIHVuZCAKQXN1cyBCb2FyZCBUUDROMiAob2RlciB3aWUgZGFzIGhlaXNzdCkgbmljaHQgbWl0ZWluYW5kZXIKYmVpIG1pciBjcmFzaCBkYXMgc3lzdGVtIGluIHVucmVnZWxtYWVzc2lnZW4gQWJzdGFlbmRlbiAoYmxlaWJ0IGVpbmZhY2gKc3RlaGVuKSwgZWluIGZyZXVuZCBrYW5ucyBnYXIgbmljaHQgaW5zdGFsbGllcmVuLCB1bmQgaW4gZGVuIG5ld3Nncm91cHMKaGFlZmVuIHNpY2ggYXVjaCBmZWhsZXJtZWxkdW5nZW4uCgpoYXQgamVtYW5kIG5lIGlkZWU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luIE5UIHVuZCBNYXRyb3ggTWlsbGVuaXVtIChHdW5kdXIsIDI1LiBOb3YgMTk5NiwgMTM6MTk6MTQpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ4OTE5MDc0Cn4jISB0aWQ9ODQ4OTE5MDc0CkRhcyB3dWVyZCBtaWNoIGF1Y2ggaW50ZXJlc3NpZXJlbi4uLmF1Y2ggSW5mb3MgenVyIE1hdHJveCBNeXN0aWsgb2RlciB6dQpIZXJjdWxlcyBEeW5hbWl0ZSAoYmVpZGVzIEthcnRlbiBkaWUgaWNoIGV2ZW50dWVsbCBrYXVmZW4gdW5kIHVudGVyIFdpbjk1IG9kZXIKTlQgZmFocmVuIHdpbGwpCmF1Y2ggYXVmZmVtIEFzdXNib2FyZApHcnVzcwpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVsZWZvbmFuaWVyZW4/IChRdWFzaW1vZG8sIDI1LiBOb3YgMTk5NiwgMTQ6MzQ6NTEpOgpIYXQgamVtYW5kIGVpbmUgQWhudW5nLCB3aWUgbWFuIHVlYmVyIGRhcyBJbnRlcm5ldCB0ZWxlZm9uaWVyZW4ga2Fubi4gV2VsY2hlClNvZnR3YXJlIG1hbiBkYWZ1ZXIgYnJhdWNoIChXOTUpLgoKVGhhbnggaW4gYWR2YW5jZSwKUXVhc2ltb2RvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVsZWZvbmFuaWVyZW4/IChHdW5kdXIsIDI1LiBOb3YgMTk5NiwgMTQ6Mzk6MjIpOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg0ODkyODg5MQp+IyEgdGlkPTg0ODkyODg5MQpXaWxsc3QgZHUgVmlkZW90ZWxlZm9uaWVyZW4/Cldlbm4gamEgei5iLjpFbmhhbmNlZCBDVS1TZWVNZWUgMzIgYml0CkdydXNzCkcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlbGVmb25hbmllcmVuPyAoQWNyaW1vbiwgMjUuIE5vdiAxOTk2LCAxNToyMTo1OCk6Cn4jISBybj1RdWFzaW1vZG8gcnQ9ODQ4OTI4ODkxCn4jISB0aWQ9ODQ4OTI4ODkxClZlcnN1Y2hzIG1hbCBtaXQ6IGlyYwpJbnRlcm5ldCBSZWxheSBDaGF0CkRhbWl0IGthbm4gbWFuIHNvZ2FyIHp1IG1laHJ0IG1pdGVpbmFuZGVyIHRlbGVmb25pZXJlbiwgdW5kIHZvciBhbGxlbQp2ZXJicmF1Y2h0IGRhcyBuaWNodCBzbyB1bmVuZGxpY2ggdmllbCBSZXNzb3VyY2VuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVsZWZvbmFuaWVyZW4/IChKZWhvdmEsIDI1LiBOb3YgMTk5NiwgMTU6MzI6MzgpOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg0ODkyODg5MQp+IyEgdGlkPTg0ODkyODg5MQpJcmdlbmRlaW4gTUJvbmUtUHJvZyB3aXJkJ3Mgc2ljaGVybGljaCBhdWNoIGZ1ZXIgVzk1IGdlYmVuLgpVbnRlciBVTklYIGhlaXNzZW4gZGllIERpbmdlciB6LkIuIHNkLCBzZHIsIC4uLgpWb3J0ZWlsOiBEdSBrYW5uc3QgSU5ldC1SYWRpby1TZW5kdW5nZW4gZW1wZmFuZ2VuLgpPYiBkYXMgbWl0IENVLVNlZU1lIGF1Y2ggZ2VodCB3ZWlzcyBpY2ggbGVpZGVyIG5pY2h0LgpBYmVyIGF1Y2ggZGllc2UgUHJvZ3JhbW1lIHNpbmQgZWlnZW50bGljaCBmdWVyIFZpZGVva29uZmVyZW56ZW4gZ2VkYWNodC4KTnVyIHRlbGVmb25pZXJlbiBnZWh0IGFiZXIgYXVjaCA6KQpBbiBtZWluZXIgVW5pIGdpYnQncyBuZSBIb21lLVBhZ2UgZGF6dS4gU2NoYXUgZWluZmFjaCBtYWwgZGEgbmFjaDoKaHR0cDovL3d3dy5jcy51bmktbWFnZGVidXJnLmRlL01ib25lLwoKSmVob3ZhLCBoYXQgZ2x1ZWNrbGljaGVyd2Vpc2UgbmVuIEFtaWdhIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRlbGVmb25hbmllcmVuPyAoR3JpbW1ib3JuLCAyNS4gTm92IDE5OTYsIDE5OjQwOjM3KToKfiMhIHJuPUplaG92YSBydD04NDg5MzIzNTgKfiMhIHRpZD04NDg5Mjg4OTEKV2FzIFF1YXNpbW9kbyB2ZXJtdXRsaWNoIHdpbGwgaXN0IGRhcyBpbiBkZW4gTWVkaWVuIHByb3BhZ2llcnRlICJ0ZWxlZm9uaWVyZW4KdWViZXJzIEludGVybmV0IHp1bSBPcnRzdGFyaWYiLiBBbHMgU29mdHdhcmUgZ2lidHMgYmVpc3BpZWxzd2Vpc2UgQ29vbCBUYWxrLApkYXMgYmVpIE5ldHNjYXBlIDMuMCBmdWVyIFNwaWVsc3lzdGVtZSAoYWxzbyBXaW4zLnggdW5kIFdpbjk1L05ULVZlcnNpb25lbikKc2Nob24gZGFiZWkgaXN0LgpEdSBzb2xsdGVzdCBEaXIgZm9sZ2VuZGVzIHVlYmVybGVnZW46IEVpbmUgVGVsZWZvbmxlaXR1bmcgdWViZXIgZGllIG1hbgp0ZWxlZm9uaWVydCBoYXQgcnVuZCAyOC44IGtiaXQuIFZvbiB3ZWxjaGVuIFB1bmt0ZW4genUgd2VsY2hlbiBBbmRlcmVuIGtvbW1zdApEdSBhdWYgc29sY2hlIFVlYmVydHJhZ3VuZ3NyYXRlbj8gV2llIHdlaXQgZGVua3N0IER1IGlzdCBkZXIgcXVhbGl0YXRpdmUKQWJzdHJpY2ggYmVpIGR1cmNoYXVzIHVlYmxpY2hlbiBVZWJlcnRyYWd1bmdzcmF0ZW4gdm9uIDEwIGtiaXQgKHdlbm5zIHNjaG5lbGwKbGFldWZ0Li4uKT8KCk5hamEsIGplZGVtIGRhcyBzZWluZSB1bmQgbWlyIGJpdHRlIGRlbiBMb2V3ZW5hbnRlaWwgZGVyIEJhbmRicmVpdGUgaW0gTmV0ei4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUZWxlZm9uYW5pZXJlbj8gKFF1YXNpbW9kbywgMjYuIE5vdiAxOTk2LCAxMDo0MTo1OSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQ4OTQ3MjM3Cn4jISB0aWQ9ODQ4OTI4ODkxCkJhbmRicmVpdGVucHJvYmxlbWUgc29sbHRlIGVzIGVpZ2VudGxpY2ggbmljaHQgZ2ViZW4uIERpZSBVZWJlcnRhZ3VuZ3NyYXRlbgpzaW5kIG5vcm1hbGVyd2Vpc2Ugd2VpdCBob2VoZXIsIGFscyBkaWUgZWluZXMgQ0QtUGxheWVycyAtIHp1bWluZGVzdGVucyBpbgpTY2h3ZWRlbiwgd28gaWNoIGRhcyBEaW5nIGluc3RhbGxpZXJlbiB3b2xsdGUuCgpUcm90emRlbSBkYW5rZS4gSWNoIHdlcmRlIHdvaGwgaW4gZGVuIHNhdXJlbiBBcGZlbCBiZWlzc2VuIG11ZXNzZW4gdW5kIGRhcwpEaW5nIHJ1bnRlcmxhZGVuLgoKQ1UgUXVhc2ltb2RvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXRzY2FwZSAoSHlwbm8sIDI2LiBOb3YgMTk5NiwgMTk6MTM6MzcpOgpIaSEKSWNoIGhhYmUgZm9sZ2VuZGVzIFByb2JsZW0uIERlbiBnYW56ZW4gVGFnIG11c3MgaWNoIGFuIGVpbmVyIElCTS0KV29ya3N0YXRpb24gc2l0emVuLiBBdWYgZGVyIGxhZXVmdCBBSVggNC4xIG1pdCBkZW0gQ0RFLiBNaXQgZGllc2VyCk9iZXJmbGFlY2hlIGtvbW1lIGljaCBuaWNodCB6dXJlY2h0LiBEYSBpY2ggYWJlciBTb2Z0d2luZG93cyB6dW0KTGF1ZmVuIGJla29tbWVuIGhhYmUsIHN0YXJ0ZSBpY2ggZGFydW50ZXIgZVhjZWVkIHVuZCBob2xlIG1pciBkZW4KRlZXTTIgdm9uIHVuc2VyZW0gTGludXgtU2VydmVyLiBMYWV1ZnQgYWxsZXMgcHJpbWEsIG51ciBOZXRzY2FwZQpzdHVlcnp0IHN0YWVuZGlnIGJlaSBXV1ctU2VpdGVuIG1pdCBGcmFtZXMgc293aWUgYmVpbSBhYnNwaWVsZW4Kdm9tIE1QRUdzIGFiLgpIYXQgZGFtaXQgamVtYW5kIEVyZmFocnVuZz8KVmllbGVuIERhbmtlIGltIHZvcmF1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHNjYXBlIChXdXJ6ZWwsIDI2LiBOb3YgMTk5NiwgMTk6MzI6MjEpOgp+IyEgcm49SHlwbm8gcnQ9ODQ5MDMyMDE3Cn4jISB0aWQ9ODQ5MDMyMDE3CmhvZXJ0IHNpY2ggemllbWxpY2ggbmFjaCAidm9uIGhpbnRlbiBkdXJjaCBkaWUgYnJ1c3QgaW5zIGF1Z2UiIGFuLi4uIHdhcnVtCnNvIHVtc3RhZW5kbGljaD8gd2lyIGhhYmVuIChtaXQgZWluIHBhYXIgdHJpY2tzKSBmdndtIHVuZCBhbGxlcyB3YXMgZGF6dQpnZWhvZXJ0IChhdWNoIG5ldHNjYXBlKSBhdWYgbmVyIGdyb3NzZW4gaHAgenVtIGxhdWZlbiBiZWtvbW1lbiwgd2FydW0gc29sbHRlCmRhcyB1bnRlciBhaXggbmljaHQgZ2VoZW4/IG1pdCBzb2Z0d2luZG93cyB1bmQgZXhjZWVkIGhhc3QgZHUgc28gdmllbGUKZmVobGVycXVlbGxlbiBlaW5nZWJhdXQsIGtlaW4gd3VuZGVyIGRhc3MgZGEgd2FzIGFic2NobWllcnQuLi4KCnd1cnplbCAobWFnIG5peCwgd28gYmlsbHkgbm9jaCByZWljaGVyIGRyYW4gd2lyZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV0c2NhcGUgKE1vcmdvdGgsIDI3LiBOb3YgMTk5NiwgMDc6NDk6MjMpOgp+IyEgcm49V3VyemVsIHJ0PTg0OTAzMzE0MQp+IyEgdGlkPTg0OTAzMjAxNwplaW5pZ2UgQUlYLWdyYXBoaWMtbGlicmFyaWVzIHNpbmQgaW5rb21wYXRpYmVsIG1pdCBOZXRzY2FwZSAobGVpZGVyIGF1Y2ggYmVpCnVucykuIEVzIGthbm4gc2VpbiwgZGFzcyBkYWR1cmNoIGFiIHVuZCB6dSBtYWwgd2FzIGFia2Fja3QuIDstKApNLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbW9kZW0gKEd1bmR1ciwgMjcuIE5vdiAxOTk2LCAwODoyMTo1OCk6CkhpCldvIGtyaWVndCBtYW4gc28gbmUgTGlzdGUgZXIgdm9uIGRlbiBCZWZlaGxlbiB1bSBiZWkgbmVtIG1vZGVtIGRpZSBXYWhsc3BlcnJlCmFienVzY2hhbHRlbiAoamFqYSBpY2ggd2Vpc3MgaWNoIGtvZW5udHMgamEgYXVzIHVuZCBlaW4gc2NobGF0ZW4sIHdpbGwgaWNoCmFiZXIgbmV0KQpvZGVyIGJlc3NlciB3ZWlzIGVpbmVyIGRlbiBCZWZlaGwgZnVlciBlaW4gZWxzYSBNTCAyOC44VFFWPwoKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldHNjYXBlIChHdWxkdWthdCwgMjcuIE5vdiAxOTk2LCAwOTo0MTozOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg0OTA3NzM2Mwp+IyEgdGlkPTg0OTAzMjAxNwpKbywgYmVpIHVucyBsaWVmIG5ldHNjYXBlIGF1Y2ggbmljaHQgdmVybnVlbmZ0aWcuIAptaXQgCiAgIG5ldHNjYXBlIC12aXN1YWwgdHJ1ZWNvbG9yCmdpbmdzIGRhbm4uCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbW9kZW0gKE15c3RlcmlvdXMsIDI3LiBOb3YgMTk5NiwgMTI6MDk6MjgpOgp+IyEgcm49R3VuZHVyIHJ0PTg0OTA3OTMxOAp+IyEgdGlkPTg0OTA3OTMxOApoYWxsb2VsZS4uLgppY2ggZ2xhdWIgZnVlciBkYXMgZWxzYSBtbCB0cXYgd2FyZW4gZGllIGJlZmVobGUgYXQgcz02NCB1bmQgYXQgcz0xMTI4CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtb2RlbSAoTXlzdGVyaW91cywgMjcuIE5vdiAxOTk2LCAxMjoxMDozOSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg0OTA5Mjk2OAp+IyEgdGlkPTg0OTA3OTMxOAphZWggYXQgcz0xMjguLi4uKmdyaW5zKgoKZ2lidCBlcyBpbiBkZWluZXIgc3RhZHQgbmUgYmJzPy4uLmRhIGdpYnQgZXMgYmVzdGltbXQgaW4gbmVtIGZpbGVicmV0dCBzbyBuZQpsaXN0ZS4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1vZGVtIChSaW5nb3IsIDI3LiBOb3YgMTk5NiwgMTI6NDc6MTEpOgp+IyEgcm49TXlzdGVyaW91cyBydD04NDkwOTMwMzkKfiMhIHRpZD04NDkwNzkzMTgKSWNoIGtlbm5lIHp3YXIgZGFzIE1vZGVtIG5pY2h0LCBhYmVyIHp3aXNjaGVuIGRhcyAncycgdW5kIGRhcyAnPScgc29sbHRlCmxpZWJlciBub2NoIG5lIFphaGwgaGluLCBzb25zdCBoYXQgZGVyIEJlZmVobCB3ZW5pZyBTaW5uLiA7LSkKCkF1c3NlcmRlbSBnaWJ0cyB6dSBkZW0gVGhlbWEgbmUgZWlnZW5lIEZBUSwgZGEgc29sbHRlIHNpY2ggd2FzIGZpbmRlbiBsYXNzZW4uCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRmIHVuZCB0ZXJtaW5hbCA7KCAoTWVzaXJpaSwgMjcuIE5vdiAxOTk2LCAxNTozNzo0Mik6CkhhbGxvIExldXRlLAppY2ggaGFiIGVpbiBQcm9ibGVtIG1pdCBkZW0gdGYuClZpZWxsZWljaHQga2FubiBtaXIgZWluZXIgdm9uIEV1Y2ggZGFiZWkgaGVsZmVuLgpVbmQgendhcjogZnJ1ZWhlciBrb25udGUgbWVpbiB0ZiBFc2NhcGUtU2VxdWVuemVuIChmZXR0IHVzdy4pCmRpZSB2b24gdW5peC1wcm9ncmFtbWVuIGthbWVuIChwZXIgc2gpIGRhcnN0ZWxsZW4uCkRhbm4gaGFiIGljaCBlcyBtYWwgbmV1IGNvbXBpbGllcnQgdW5kIHNlaXRkZW0ga2FubiBlcyBudXIgbm9jaDoKW1sxbVRleHRbWzBtCnNvd2FzIHNjaHJlaWJlbiA7KApCZWltIGNvbXBpbGllcmVuIG11c3MgZXMgaXJnZW5kd2llIGVpbmUgZmFsc2NoZSBUZXJtaW5hbC1FaW5zdGVsbHVuZwptaXRiZWtvbW1lbiBoYWJlbi4KSWNoIGhhYiBzY2hvbiBlaW4gYmlzc2NoZW4gcnVtcHJvYmllcnQsIGFiZXIgYmlzIGpldHp0IGlzdCBlcyBiZWkKamVkZW0gY29tcGlsZSBzbyBnZWJsaWViZW4uCkFscyBpY2ggZXMgenVsZXR6dCBjb21waWxpZXJ0IGhhYmUgKGFscyBlcyBkYW5hY2ggbm9jaCBmdW5rdGlvbmllcnRlKQpoYWJlIGljaCBuaWNodHMgYW4gZGVtICJDb25maWciIEZpbGUgZ2VhZW5kZXJ0LgpJY2ggd2FlcmUgZnVlciBqZWRlIEhpbGZlIGRhbmtiYXIuCgpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHNjYXBlIChMaSwgIDIuIERleiAxOTk2LCAwOTo0NDo0Myk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODQ5MDMzMTQxCn4jISB0aWQ9ODQ5MDMyMDE3CkFiZ2VzZWhlbiBkYXZvbiBpc3QgTmV0c2NhcGUgZWgnIHppZW1saWNoIGJ1Z2d5IHVuZCBhYnN0dXJ6Z2VmYWVocmRldC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlQgdW5kIDYuMiAoR3VsZHVrYXQsICAyLiBEZXogMTk5NiwgMTQ6MzY6NDkpOgoKSWNoIGhhYiBqZXR6dCBlaW5lIHByaW1hZXJlIFBhcnRpdGlvbiBtaXQgRG9zIDYuMiB1bmQgZWluZSBsb2dpc2NoZSBtaXQgTlQKNC4wLGRhcyB1ZWJlciBkaWUgZG9zIHBhcnRpdG9uIGdlYm9vdGV0IHdpcmQuCkRvY2ggbGVpZGVyIGhhdCBkZXIgbG9hZGVyIHZvbiBOVCBudXIgZWluIGRlZmF1bHQuIEljaCB3dWVyZGUgZXMgZ2VybmUgc28KaGFiZW4sIGRhc3MgaW1tZXIgZGFzIGxldHp0ZSBiZXRyaWVic3lzdGVtLCB3YXMgYWt0aXYgd2FyLCBhdXRvbWF0aXNjaCAobmFjaCAyCnNla3VuZGVuLCBkYXNzIG1hbiBub2NoIGRhcyBhbmRlcmUgd2FlaGxlbiBrYW5uKSBnZWJvb3RldCB3aXJkLgpHaWJ0cyBkYWZ1ZXIgbmUgbG9lc3VuZz8KCkRhcyBlaW56aWdlLCB3YXMgbWlyIGRhenUgZWluZmFlbGx0LCBpc3QgZWluZSBiYXRjaGRhdGVpLCBkaWUgYmVpbSBib290ZW4gCnZvbiBkb3MgZWluZSBib290LmluaSBrb3BpZXJ0LCBpbiBkZXIgZGVmYXVsdCBkYXMgZG9zIGlzdCwgdW5kIGVpbmUgYW5kZXJlLApkaWUKYmVpbSBib290ZW4gdm9uIG50IGRpZSBib290LmluaSBzbyBrb3BpZXJ0LCBkYXNzIE5UIGRhcyBkZWZhdWx0IGlzdC4KCmdpYnRzIG5lIGFuZGVyZSBsb2VzdW5nPwoKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJvb3Rsb2FkZXIgKE15c3RlcmlvdXMsICAzLiBEZXogMTk5NiwgMTA6MTU6MTIpOgptb2luLi4uZXMgZ2lidCBkYSBuZSBtb2VnbGljaGtlaXQgbWl0IGhpbGZlIHZvbiBvcy8yLi4uCgp3ZW5uIGR1IGRlbiBvcy8yIGJvb3RtYW5hZ2VyIGVyc3QgaW5zdGFsbGllcnN0IHVuZCBkYW5hY2ggZG9zIHVuZCB3aW4ga2FubnN0CmdlbmF1IGRhcyBtYWNoZW4sIHdhcyBkdSB3b2xsdGVzdC4uLgoKZHVpaWlpaWlpaWlpaWlpLi4uLmRBIG1ZU3RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYm9vdGxvYWRlciAoR3VsZHVrYXQsICAzLiBEZXogMTk5NiwgMTA6NDE6NTIpOgp+IyEgcm49TXlzdGVyaW91cyBydD04NDk2MDQ1MTIKfiMhIHRpZD04NDk2MDQ1MTIKRGFzIGhhYiBpY2ggYmVyZWl0cyEKCkRhcyBQcm9ibGVtIGlzdDogRG9zIDYuMiBicmF1Y2ggdW5iZWRpbmd0IG5lIHByaW1hZXJlIHBhcnRpdGlvbiBhdWYgZGVyCl9lcnN0ZW4gXyBwbGF0dGUsIHdpbiA5NSBicmF1Y2h0IGVpbmUgcHJpbWFlcmUsIHVuZCBkYSBlcyB1ZWJlciBkb3MKaW5zdGFsbGllcnQgd2lyZCwgbXVzcyBlcyB6d2FuZ3N3ZWlzZSBhdWYgZGllIGVyc3RlIHBsYXR0ZSAoZXJzdGUgcGxhdHRlCmFia2xlbW1lbiB1bmQgYXVmIHp3ZWl0ZSBpbnN0YWxsaWVyZW4gd2FlcmUgbm9jaCBtb2VnbGljaCwgZG9jaCBpc3Qgd2luIDk1IGluCmVyc3RlciBsaW5pZSBmdWVyIHNwaWVsZSwgZGllIGxlaWRlciBudXIgYXVmIDk1IGxhdWZlbiwgdW5kIGRhIGdlaCBpY2ggZGF2b24KYXVzLCBkYXNzIGljaCB3aW4gOTUgbm9jaCBvZWZ0ZXIgenUgaW5zdGFsbGllcmVuIGhhYmU6IEMmQyAyIGhhdCBtaXIgZGFzIDk1CmVpbm1hbCBrb21wbGV0dCBhYmdlc2Nob3NzZW4sIGNyZWF0dXJlcyBoYXQgZGllIGdyYWZpa3RyZWliZXIga29tcGxldHQKemVyc3RvZXJ0IC4uLiA6KCAtIG51biwgaWNoIGtvZW5udGUgZWluZW4gc2NoYWx0ZXIgaW4gZGllIHN0cm9tenVmdWhyIGZ1ZXIgZGllCmVyc3RlIHBsYXR0ZSBuYWNoIGF1c3NlbiBsZWdlbi4uLi4gKQoKYWNoIGphLCBOVCBiZW5vZXRpZ3QgZWluZSBwcmltYWVyZSBwYXJ0aXRpb24sIHZvbiBkZXIgZXMgZ2VzdGFydGV0IHdpcmQsIGRhcwptdXNzIGRhbm4gYWxzbyBkaWUgZG9zIHBhcnRpdGlvbiBzZWluLiAoaWNoIGhhdHRlIGVzIGVyc3Qgdm9uIHdpbiA5NQpnZXN0YXJ0ZXQsIGFiZXIgZGFzIGdpYnQgZGFubiBwcm9ibGVtZSwgd2VubiBpY2ggOTUgYXVzIG9iZW5nZW5hbm50ZW4gZ3J1ZW5kZW4KbmV1IGluc3RhbGxpZXJlLikKCnhkbyB6YXAga2F0emU7IHphcCBrYXRlcjsgaXNzIGxlaWNoZTsgc2FnIGJlaWxlaWQKRGVyIE9zSGFsYmUgQm9vdG1hbmFnZXIgaXN0IHNjaG9uIGRyYXVmIChpc3QgZGFzIGJlc3RlIGFuIE9TLzIgOykgZG9jaCBnaWJ0CnNhZyBoYWxsbwpzYWcgaGkKZXMgamV0enQgZWluIG5ldWVzIHByb2I6IGR1IGhhc3QgNCBwcmltYWVyZSBwYXJ0aXRpb25lbiBhdWYgZGVyIHBsYXR0ZSwgZWluZQpnZWh0IGZ1ZXIgZGVuIG9zLzIgYm9vdG1hbmFnZXIsIGVpbmUgZnVlciBkaWUgZXJ3ZWl0ZXJ0ZSBwYXJ0aXRpb24gZnVlcgpsb2dpZ3NjaGUgbGF1ZndlcmtlIGRyYXVmLCBibGVpYmVuIDIgcGFydGl0aW9uZW4gZnVlciAzIHN5c3RlbWUhIGFsc28gbXVzc2VuCnNpY2ggendlaSBlaW5lIHByaW1hZXJlIHRlaWxlbiwgdW5kIGRhcyBzaW5kIGRhbm4gbnVuIE5UIHVuZCBkb3MgNi4yLgpzYWcgaGkKc2FnIGhpCnVuZCBoaWVyIHNldHp0IGRhbm4gZGFzIGFsdGUgcHJvYiBlaW4sIGRhc3MgbnVyIGVpbnMgZGFzIGRlZmF1bHQgc3lzdGVtIGlzdCAKdW5kIGltbWVyIHN0YW5kYXJkbWFlc3NpZyBnZWJvb3RldCB3aXJkIC4uLiB1bmQgamV0enQgenVydWVjayB6dSBtZWluZW0KbGV0enRlbiBhcnRpa2VsISAuLi4uLi4KCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJvb3Rsb2FkZXIgKEdyaW1tYm9ybiwgIDMuIERleiAxOTk2LCAxMToyMzozNik6Cn4jISBybj1HdWxkdWthdCBydD04NDk2MDYxMTIKfiMhIHRpZD04NDk2MDQ1MTIKYSkgTmltbSBMSUxPLCBkZXIgYnJhdWNodCBrZWluZSBlaWdlbmUgUGFydGl0aW9uLgpiKSBOVCBrYW5uIG1hbiBhdWYgZGllIHp3ZWl0ZSBQbGF0dGUgaW5zdGFsbGllcmVuLCB6dW1pbmRlc3QgaGF0IGRhcyBiZWkgbWlyCiAgIGdla2xhcHB0CmMpIER1IGhhc3QgZGFubiAxLiBPUy8yLCAyLiBET1MvV2luLCAzLldpbjk1IHVuZCBzb2dhciBub2NoIGVpbmUgZnJlaSBmdWVyCiAgIGJlaXNwaWVsc3dlaXNlIExpbnV4IG9kZXIgZWluIGFuZGVyZXMgT1MgZnVlciBFcndhY2hzZW5lCmQpIFN0ZWxsIGRvY2ggRGVpbmUgdHJpZ2dlciBiZWltIFNjaHJlaWJlbiBhYiBvZGVyIGdlaCBpcmdlbmR3b2hpbiB3byBzaWUKICAgbmljaHQgYW5zcHJpbmdlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYm9vdGxvYWRlciAoUmFmZmksICAzLiBEZXogMTk5NiwgMTI6MTE6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg0OTYwODYxNgp+IyEgdGlkPTg0OTYwNDUxMgoKc2llaGUgY3QgNi85NgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGJvb3Rsb2FkZXIgKEd1bGR1a2F0LCAgMy4gRGV6IDE5OTYsIDEyOjE2OjA3KToKfiMhIHJuPVJhZmZpIHJ0PTg0OTYxMTQ4Ngp+IyEgdGlkPTg0OTYwNDUxMgpqYSwgaGFiIGljaCBhbGxlcyBzY2hvbiBiZXJ1ZWNrc2ljaHRpZ3QsIGFiZXIgd2lyIHJlZGVuIGFuZWluYW5kZXIgdm9yYmVpCmljaCBoYWJlIGRlbiBvcy8yIGJvb3RtYW5hZ2VyIHVuZCBrYW5uIGFsbGUgYmV0cmllYnN6c3RlbSBib290ZW4sCm51ciB3ZXJkZW4gbnQgdW5kIDYuMiB2b20gbnQgbG9hZGVyIGFscyB6d2VpdGVuIGJvb3RtYW5hZ2VyIGdlYm9vdGV0LCB1bmQgZGFzCnRlaWwgaXN0IG51biB6aWVtbGljaCBkYWVtbGljaCwgd2VpbCBlcyBudXIgZWluZW4gc3RhdGlzY2hlbiBkZWZhdWx0IGVpbnRyYWcKa2VubnQuIGVzIGdlaHQgamV0enQgbnVyIHVtIGRpZXNlbiBudCBsb2FkZXIsIGthbm4gaWNoIGRlbSBpcmdlbmR3aWUKYmVpYnJpbmdlbiwgZGFzcyBlciBkYXMgenVsZXR6dCBnZWJvb3RldGUgc3N5dGVtIGFscyBkZWZhdWx0IGJldHJhY2h0ZXQ/IGVpbmUKbG9lc3VuZyB3YWVyZSwgMiB2ZXJzY2hpZWRlbmUgYm9vdC5pbmkgZGF0ZWllbiwgdW5kIGluIGRlciBqZXdlaWxpZ2VuCiJhdXRvZXhlYyIgZWluIGVpbnRyYWcsIGRhc3MgZXIgZGllamVuaWdlIGhpbmtvcGllcmVuIHNvbGwsIGRpZSBkYXMgc3lzdGVtIGFscwpkZWZhdWx0IGJldHJhY2h0ZXQuCm1laW5lIGZyYWdlIGlzdDogZ2lidHMgbm9jaCBlaW5lbiBlaW5mYWNoZXJlcmVuIHdlZz8KR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGJvb3Rsb2FkZXIgKEd1bGR1a2F0LCAgMy4gRGV6IDE5OTYsIDEzOjQ3OjMxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDk2MDg2MTYKfiMhIHRpZD04NDk2MDQ1MTIKenUgZCkKeGRvIHphcCBrYXR6ZTsgemFwIGthdGVyOyBpc3MgbGVpY2hlOyBzYWcgYmVpbGVpZAp4ZG8gemFwIGthdHplOyB6YXAga2F0ZXI7IGlzcyBsZWljaGU7IHNhZyBiZWlsZWlkCmRhIGhhc3QgZHUgdmllbGxlaWNodCByZWNodCEgCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBib290bG9hZGVyIChHdWxkdWthdCwgIDMuIERleiAxOTk2LCAxMzo0Nzo0OSk6Cn4jISBybj1HdWxkdWthdCBydD04NDk2MTcyNTEKfiMhIHRpZD04NDk2MDQ1MTIKCkFBQUhISEhISEhISEhISEhISEhISEhISEhISEhISAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBib290bG9hZGVyIChBc21vZGlzLCAgMy4gRGV6IDE5OTYsIDE0OjQxOjAzKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg0OTYwNjExMgp+IyEgdGlkPTg0OTYwNDUxMgpIbW0sIGR1IGhhc3QgamEga29taXNjaGUgVHJpZ2dlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBib290bG9hZGVyIChSb2NodXMsICAzLiBEZXogMTk5NiwgMTQ6NTY6NDUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ5NjA2MTEyCn4jISB0aWQ9ODQ5NjA0NTEyCkxpZXMgbWFsIGRpZSBMaW51eC1IT1dUT3MsIGRhIGlzdCBlaW5lcyBkYWJlaSwgZGFzIGVya2xhZXJ0LAp3aWUgbWFuIExpbnV4ICsgT1MyICsgV2luOTUgKyBET1MvV2luMyBhdWYgZWluZSBQbGF0dGUgYmVrb21tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGJvb3Rsb2FkZXIgKEd1bGR1a2F0LCAgMy4gRGV6IDE5OTYsIDE1OjE1OjE0KToKfiMhIHJuPVJvY2h1cyBydD04NDk2MjE0MDUKfiMhIHRpZD04NDk2MDQ1MTIKSWNoIGhhYiBMaW51eCwgTlQsIDk1IHVuZCBNU0RvcyA2LjIgYXVmIGVpbmVyIHBsYXR0ZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGJvb3Rsb2FkZXIgKFJvY2h1cywgIDMuIERleiAxOTk2LCAxNToyNDowMik6Cn4jISBybj1HdWxkdWthdCBydD04NDk2MjI1MTQKfiMhIHRpZD04NDk2MDQ1MTIKRHUgc29sbHRlc3QgZGllIEhPV1RPcyB0cm90emVtIGxlc2VuLCBkYSBzdGVoZW4gbmFlbWxpY2ggZWluaWdlCnNlaHIgaW50ZXJlc3NhbnRlIFRyaWNrcyBkcmluLCB3aWUgei5CLiBDOiB1bmQgRDogbWl0IGVpbmVtCmdlZWlnbmV0ZW4gQm9vdGxvYWRlciB2b24gTElMTyBhdXMgamUgbmFjaCBBdXN3YWhsIHp1IHN3YXBwZW4gdXN3LgpEYSBzb2xsdGUgZWlnZW50bGljaCBEZWluIGVpbnppZ2VzIFByb2JsZW0gbGllZ2VuLCBkZW5uIExpbnV4CmJyYXVjaHQga2VpbmUgcHJpbWFlcmUgUGFydGl0aW9uIHVuZCA0IHNpbmQgbW9lZ2xpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXJvIDE2UEQgKEZldWVyd2VociwgIDMuIERleiAxOTk2LCAxODoyMjozMSk6CkhhbGxvLCBoaWVyIHNjaGVpbmVuIGphIExpbnV4LUV4cGVydGVuIHp1IHNpdHplbi4KSWNoIGhhYmUgZWluZW4gbmV1ZW4gQ29tcHV0ZXIgbWl0IG5ldWVyIEdyYXBoaWtrYXJ0ZSwgYWJlciBkaWUgS2FydGUgd2FyIHdvaGwKZWluIEZlaGxncmlmZiwgZGVubiBMaW51eCB3aWxsIHNpZSBiZWkgWC1XaW5kb3dzIG5pY2h0IHVudGVyc3R1ZXR6ZW4sIHdlaWwgc2llCnNvbGNoIGVpbmVuIEFsbGlhbmNlIFByb01vdGlvbiBHcmFwaGlrcHJvemVzc29yIGhhdCwgZGVubiBub2NoIGtlaW4gTWVuc2NoCnZvcmhlciBnZXNlaGVuIGhhdC4gTnVuIHNjaGF1IGljaCBtaWNoIHVtLCB1bmQgZGEgZ2lidCBlcyB2b24gWEluc2lkZSBzbyBlaW5lbgpTZXJ2ZXIgZnVlciA0MTggR3JhcGhpa2thcnRlbiwgdW50ZXIgYW5kZXJlbSBhdWNoIGZ1ZXIgbWVpbmUsIGxlaWRlciBrb3N0ZXQKZGVyIHdhcy4KCkljaCBiaW4gbmF0dWVybGljaCBhcm0gdW5kIHdpbGwgbml4IHphaGxlbiwgd2Vpc3MgamVtYW5kLCBvYiBlcyBzb3dhcyBhdWNoIGFscwpGcmVld2FyZSBnaWJ0PwoKIFdhZXJlIGV3aWcgZGFua2JhcgogICAgIEZldWVyd2Voci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNaXJvIDE2UEQgKEdyaW1tYm9ybiwgIDMuIERleiAxOTk2LCAxODoyODo0Mik6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODQ5NjMzNzUxCn4jISB0aWQ9ODQ5NjMzNzUxCgpUamEuIFp1bSBIYWVuZGxlciBnZWhlbiwgR3JhcGhpa2thcnRlIHVtdGF1c2NoZW4uIEdpYnQgZ2VudWcgR3JhcGhpa2thcnRlbiBkaWUKZXJrYW5udCB3ZXJkZW4uIE9kZXIgc28gZWluIGhhbGJlcyBKYWhyIHdhcnRlbiwgZGFubiBrYW5uIFggYXVjaCBEZWluZSBLYXJ0ZQplcmtlbm5lbi4gT2RlciBSdWFia29waWVlbiBvcmdhbmlzaWVyZW4gKGFiZXIgd2VyIHR1dCBkYXMgc2Nob24/KQpBbHRlcm5hdGl2ZSBGcmVld2FyZSAoYnp3LiBHUEwtKSBYU2VydmVyIGdpYnRzIG1laW5lcyBXaXNzZW5zIG5pY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pcm8gMTZQRCAoTG9jbywgIDMuIERleiAxOTk2LCAyMjoyMjoyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQ5NjM0MTIyCn4jISB0aWQ9ODQ5NjMzNzUxClVuZCBmdWVyIGRpZSBad2lzY2hlbnplaXQgKGFsc28gZGFzIGhhbGJlIEphaHIsIGRhcyBlcyB3b2hsIG1heGltYWwgZGF1ZXJ0LApiaXMgRHUgZWluZW4gb3JkZW50bGljaGVuIFNlcnZlciBiZWtvbW1zdCksIGthbm5zdCBEdSBtaXQgemllbWxpY2hlcgpTaWNoZXJoZWl0IGRlbiBTdGFuZGFyZC1YVkdBLVNlcnZlciBiZW51dHplbi4gRGFzIGhhdCB6d2FyIE5hY2h0ZWlsZSAtCm5laWRyaWdlcmUgQXVmbG9lc3VuZywgc2NobGVjaHRlcmUgV2llZGVyaG9scmF0ZW4sIHdlbmlnZXIgRmFyYmVuLApsYW5nc2FtZXIuLi4gYWJlciBlcyBmdW5rdGlvbmllcnQgZWlnZW50bGljaCBtaXQgamVkZXIgS2FydGUuCldlbm4gbmljaHQsIGRhbm4gZ2Vob2VydCBkaWUgS2FydGUgZWggaW4gZGllIFRvbm5lLCBkZW5uIGRhbm4gZnVua3Rpb25pZXJ0CndhaHJzY2hlaW5saWNoIGF1Y2ggc29uc3QgbmljaHQgZ2VyYWRlIHZpZWwuLi4KCi0gTG9jbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBib290bG9hZGVyIChLcmV0ZWssICA0LiBEZXogMTk5NiwgMTE6NDQ6NDIpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ5NjA2MTEyCn4jISB0aWQ9ODQ5NjA0NTEyCkphdWwsIHdhcyBzaW5kIGRhcyBkZW5uIGZ1ZXIgVHJpZ2dlcnM/IDotKQoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClggdW5kIE15c3RpcXVlPyAoSGlnaGxhbmRlciwgIDQuIERleiAxOTk2LCAxNDoxNDo0MCk6Ckt1cnplIEZyYWdlOgpHaWJ0IGVzIG51biBmdWVyIGRpZSBNeXN0aXF1ZSBlaW5lbiBYLXNlcnZlciB1bmQgd2VubiBuZWluLCBpc3QgbWl0IGVpbmVtCnp1IHJlY2huZW4/IERpZSBGcmFnZSBiZXppZWh0IHNpY2ggc2VsYnN0dmVyZnJlaWxpY2ggYXVmIGVpbmVuIGtvc3Rlbmxvc2VuCnNvbGNoZW4gOj4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWCB1bmQgTXlzdGlxdWU/IChQaWxncmltLCAgNC4gRGV6IDE5OTYsIDE2OjM1OjIzKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODQ5NzA1MjgwCn4jISB0aWQ9ODQ5NzA1MjgwCkJpcyBqZXR6dCBnaWJ0cyBtZWluZXMgV2lzc2VucyBLRUlORSBCRVNDSEVVTklHVEVOIFgtU2VydmVyIGZ1ZXIgTWF0cm94LQpLYXRyZW4gKE1pbGxlbml1bSwgTXlzdGlxdWUpIC4uLiB6dW1pbmRlc3QgbGF1dCBTVVNFIGxpbnV4IDQuMyAoMTEvOTYpIC4uLgoKTmFjaCBkZW0sIHdhcyBpY2ggZ2Vob2VydCBoYWIsIHJ1ZWNrdCBNYXRyb3ggbmljaHQgYmVub2V0aWd0ZSBIYXJkd2FyZS0KSW5mb3MgcmF1cyAuLi4gYWJlciBkYXMgaXN0IGhhbHQgbnVyIGhvZXJlbnNhZ2VuIC4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaW5nZW5zIChHdW5kdXIsICA0LiBEZXogMTk5NiwgMTg6MzU6NDUpOgpHaWJ0cyBuZW4gRHJpdmVyIGZ1ZXIgd2luOTUgd2VubiBqYSB3bz8KRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWCB1bmQgTXlzdGlxdWU/IChBcmFtb3MsICA0LiBEZXogMTk5NiwgMTk6MTA6NTUpOgp+IyEgcm49UGlsZ3JpbSBydD04NDk3MTM3MjMKfiMhIHRpZD04NDk3MDUyODAKQWxzbyBkZXIgbmV1ZSBYRnJlZSAzLjIgc29sbCBCZXRhdHJlaWJlciBmdWVyIE1hdHJveGthcnRlbgppbXBsZW1lbnRpZXJ0IGhhYmVuIC0gc2NoZWluYmFyIGhhYmVuIHNpZSdzIGVuZGxpY2ggZWluZ2VzZWhlbgp1bmQgZGllIFRyZWliZXIgcmF1c2dlcnVlY2t0Li4uIDopCiAKQXJhbW9zIChkZXIgc2ljaCBkZW5rdCwgZGFzcyBkaWUgd29obCBzY2hvbiB2aWVsZSwgdmllbGUgYm9lc2UKICAgICAgICBCcmllZmUgZGVzd2VnZW4gYmVrb21tZW4gaGFiZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGluZ2VucyAoSGFkcmEsICA0LiBEZXogMTk5NiwgMjE6NTk6NDYpOgp+IyEgcm49R3VuZHVyIHJ0PTg0OTcyMDk0NQp+IyEgdGlkPTg0OTcyMDk0NQpnYW1lZHJpdmVyPyBlcyBnaWJ0IGVpbmVuIGRyaXZlciwgZGVyIGFsbGVyZGluZ3MgZHVtbWVyd2Vpc2UgZnVlciBjb21wYXQtbW9kZQprb21waWxpZXJ0IHd1ZXJkZSB1bmQgc29taXQgbmljaHQgbWl0ICdtZy1rb21wYXRpYmxlbicgbGlicyBsYWV1ZnQuCmJlenVnc2FkcmVzc2Ugc29sbHRlIHNpY2ggYmVpIGVpbmVtIG5hY2hzY2hsYWdlbiBpbiByZWMuZ2FtZXMubXVkLmFubm91bmNlCm9kZXIgbHAgb2RlciBkZS5hbHQubXVkIG9kZXIgLi4uLiBmaW5kZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbWFpbC1GZWhsZXJtZWxkdW5nIChGbGlueCwgIDUuIERleiAxOTk2LCAxMzowNzo1Nik6CkljaCBoYWIgZGEgZWluIFByb2JsZW0uLi4uCldlbm4gaWNoIG1pdCBOZXRzY2FwZSBvZGVyIEV1ZG9yYSBtZWluZSBQb3N0IHZvbSBGSC1TZXJ2ZXIgaG9sZW4gd2lsbCwKZXJzY2hlaW50IG5hY2ggZGVyIEVpbmdhYmUgZGVzIChrb3JyZWt0ZW4gKSBQYXNzd29ydHMgZGllIEZlaGxlcm1lbGR1bmcgOgpDYW4ndCBsb2NrIE1haWxkcm9wLCBQbGVhc2UgRW50ZXIgTmV3IFBhc3N3b3JkLiBEb3J0IGthbm4gaWNoIGRhbm4gZWluZ2ViZW4Kd2FzIGljaCB3aWxsLCBkaWUgRmVobGVybWVsZHVuZyBlcnNjaGVpbnQgaW1tZXIgd2llZGVyLiBWaWEgVGVsbmV0L2VsbSBrYW5uCmljaCBtZWluZSBQb3N0IGhpbmdlZ2VuIG9obmUgUHJvYmxlbWUgbGVzZW4uIEFsbGVyZGluZ3Mga29tbSBpY2ggbmljaHQgbWl0CmRpZXNlbSBzY2gqKiogRWRpdG9yIGRvcnQga2xhci4uLgpkYXMgZ2FuemUgYmV6aWVodCBzaWNoIHVlYnJpZ2VucyBhdWYgV2luMy4xMSAoZmFsbHMgZGFzIG5lIFJvbGxlIHNwaWVsdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYIHVuZCBNeXN0aXF1ZT8gKEppbWRpZ3JpeiwgIDUuIERleiAxOTk2LCAxMzo0ODoxOSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg0OTcwNTI4MAp+IyEgdGlkPTg0OTcwNTI4MApIYWxsbyBIaWdobGFuZGVyLAoKYWxzbyBYYWNjZWwgdW50ZXJzdHVldHp0IHdvaGwgTWF0cm94LCBhYmVyIGR1IHdvbGx0ZXN0IGphIGVpbmVuCmtvc3Rlbmxvc2VuLiBYZnJlZTg2IDMuMiBkZW5rZSBpY2ggdW50ZXJzdHVldHp0IGRpZSBNeXN0aXF1ZSBhCmFsbGVyZGluZ3MgbmNpaHQgYmVzY2hsZXVuaWd0LiBJY2ggYmluIG1pciBhYmVyIG5pY2h0IDEwMCUgc2ljaGVyLgpzaWVoZSB3d3cueGZyZWU4Ni5vcmcKCkNpYW8sCiBKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW1haWwtRmVobGVybWVsZHVuZyAoR3JpbW1ib3JuLCAgNS4gRGV6IDE5OTYsIDE0OjI1OjA3KToKfiMhIHJuPUZsaW54IHJ0PTg0OTc4NzY3Ngp+IyEgdGlkPTg0OTc4NzY3NgpJY2ggdGlwcGUgYXVmIGVpbmVuIGZhbHNjaCBlaW5nZXN0ZWxsdGVuIFBPUC1zZXJ2ZXIsIGRlbiB1ZWJlcnBydWVmZW4sCmFuc29uc3RlbiBhbiBkZW4gcHJvdmlkZXItc3VwcG9ydCB3ZW5kZW4uCldlbm4gRHUgUHJvYmxlbWUgbWl0IGRlbSBlZGl0b3IgdW50ZXIgZWxtIGhhc3Q6IE5pbW0gcGluZSAoaXN0IGZ1ZXIgQW5mYWVuZ2VyCmVoIGVpbmZhY2hlcikgb2RlciBzdGVsbCBEaXIgZWluZmFjaCBlaW5lbiBuZXVlbiBlZGl0b3IgZWluLiBEYXMgaXN0IHVudGVyIGVsbQpuYWVtbGljaCB6aWVtbGljaCBwcm9ibGVtbG9zIG1vZWdsaWNoIChzY2hhdSBtYWwgaW5zIGZpbGUgLmVsbXJjKS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBnaWJ0IEdyYXRpc2JlcmF0dW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBib290bG9hZGVyIChBY3JpbW9uLCAgNS4gRGV6IDE5OTYsIDE4OjUxOjMyKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg0OTYyMjUxNAp+IyEgdGlkPTg0OTYwNDUxMgpEYXMgaXN0IGFsc28gbnVyIGVpbiBCZXRyaWVic3N5c3RlbSB1bmQgZHJlaSBHZWxkc2F1Z2VyOyB3b3p1IGJyYXVjaHN0IER1IGRhbm4KZWluZSBVbXNjaGFsdG1nbGljaGtlaXQ/CgpBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFggdW5kIE15c3RpcXVlPyAoQ2F0d2VhemxlLCAgNi4gRGV6IDE5OTYsIDIwOjE4OjEyKToKfiMhIHJuPUppbWRpZ3JpeiBydD04NDk3OTAwOTkKfiMhIHRpZD04NDk3MDUyODAKV2FpdCEKCkFsc28gZGllIE1pbGxlbml1bSB3aXJkIHRhdHNhZWNobGljaCB1bnRlcnN0dWV0enQsIGRhcyBmdW56dCwgYWJlciwgd2llCmVyd2FlaG50LCBuaWNodCBiZXNjaGxldW5pZ3QuIERhcyBnaWx0IGFsbGVyZGluZ3MgbnVyIGZ1ZXIgZGllIE1pbGxlbml1bSwKTklDSFQgZnVlciBkaWUgTXlzdGlxdWUuIERpZSBoYXQgendhciBkZW4gZ2xlaWNoZW4gQ2hpcHNhdHogYWJlciBkdW1tZXJ3ZWlzZQpTRFJBTSB1bmQgX2RhbWl0XyBrb21tdCBMaW51eCBudSBsZWlkZXIgbmljaHQgenVyZWNodC4gQWxzbzogdmVyZ2lzcyBkaWUKTXlzdGlxdWUgdW50ZXIgTGludXgsIGltIE1vbWVudCB0dXRzIG5pY2h0LCBuaWNodCBtYWwgbWl0IGtvbW1lcnppZWxsZW4gClgtU2VydmVybi4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBib290bG9hZGVyIChUb2UsICA3LiBEZXogMTk5NiwgMDk6Mjk6MzUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODQ5NjA2MTEyCn4jISB0aWQ9ODQ5NjA0NTEyCkhtbSwgaWNoIGtvZW5udGUgamV0enQgZWluZmFjaDogUXVhdHNjaCBzYWdlbi4uLgoKaApxCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJvb3Rsb2FkZXIgKFRvZSwgIDcuIERleiAxOTk2LCAwOTozNzozNCk6Cn4jISBybj1HdWxkdWthdCBydD04NDk2MDYxMTIKfiMhIHRpZD04NDk2MDQ1MTIKQXJnbCwgbWlzdHRlcm1pbmFsLi4uCgpBbHNvIG1laW5lIHp3ZWkgV2VnZToKCkxhcHRvcDoKcHJpbWFlciBDOiBlcndlaXRlcnQgRDogRTogdW5kIG5lIE1lbmdlIGxpbnV4IHBhcnQuCmxpbG8tYm9vdG1hbmFnZXIgaW0gbWFzdGVyYmxvY2sgYXVmIEM6LCBkb3MgNi4yMiBhdWYgQzosIHdpbk5UIGF1ZiBEOiAgdW5kCndpbjk1IGF1ZiBFOiAtIGxpbnV4IGtvbW10IGRhbm4gaXJnZW5kd28gYXVmIC9kZXYvaGRhOCBiaXMgL2Rldi9oZGExNS4uLgoKZGVza3RvcCAoYWRhcHRlYyAyOTQwIG1pdCA1IFNDU0ktZGlza3MpOgpwbGF0dGUxOiBjOiBmdWVyIERPUyAtIGV4dGVuZGVkICgvZGV2L3NkYSBmdWVyIGZyZWVic2QpIC0gbGlsbyBpbSBtYXN0ZXIKcGxhdHRlMjogZDogZnVlciBXaW45NSAKcGxhdHRlMzogbGludXgtMS4zLjk3CnBsYXR0ZTQ6IC91c3IyIGZ1ZXIgbGludXhlCnBsYXR0ZTU6IGU6IGRvcyA2LjIyIC0gZjogdW5kIGc6IGZ1ZXIgaW1hZ2VzIC0gcmVzdCBmdWVyIHJlZGhhdC00LjAKUC5TLjogSWNoIGthbm4gZGVtIEFkYXB0ZWMgc2FnZW4sIHZvbiB3ZWxjaGVyIElEIGVyIGJvb3RlbiBzb2xsIDAgb2RlciA4Li4uCgpGYXppdCBXaW45NSB1bmQgV2luTlQgYnJhdWNoZW4ga2VpbmUgcHJpbWFlcmUgSW5zdGFsbGF0aW9uc3BhcnRpdGlvbiwgbGVkaWctCmxpY2ggZWluZSBrbGVpbmUgRE9TLVByaW1hZXItUGFydGl0aW9uIGZ1ZXIgZGVuL2RpZSBMb2FkZXIuLi4KCnRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYm9vdGxvYWRlciAoVG9lLCAgNy4gRGV6IDE5OTYsIDA5OjM5OjEzKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg0OTYyMjUxNAp+IyEgdGlkPTg0OTYwNDUxMgpqYXUgZGFzIGdlaHQgLSB3aWV2aWVsZSBwYXJ0LiBzaW5kcyBiZWkgZGlyPwp0b2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRPUyB1bmQgSEREPjNHQj8gKFN1c2hpLCAgNy4gRGV6IDE5OTYsIDEyOjAxOjMzKToKQXVmIG1laW5lciBuZXVlbiBRdWFudHVtIFRlbXBlc3QgaGFiZW4gYmlzaGVyIE5UNC4wIHVuZCBMaW51eCBhdWYgMgpQYXJ0aXRpb25lbiBmcmVpZGxpY2gga29leGlzdGllcnQuIEpldHp0IGhhYmUgaWNoIE5UIGdlc2NobWlzc2VuIHVuZAooendhbmdzd2Vpc2UsIHdlaWwgZ2VyYWRlIGtlaW4gMy4xMSB6dXIgSGFuZCkgZHVyY2ggOTUgZXJzZXR6dC4gS2xlaW5lcgpOYWNodGVpbDogIEJlaSBqZWRlbSBCb290ZW4gemVyc2NoaWVzc3QgZXMgZGllIEZhdCwgd2FlaHJlbmQgTGludXggc3RhYmlsCmxhZXVmdC4gSGF0IGplbWFuZCBJbmZvcm1hdGlvbmVuIHVlYmVyIGRpZXNlcyBGZWF0dXJlPyBJY2ggaGFiZSBhdXMgSnV4IHNvZ2FyCmRlbiAibmV1ZW4iIGZkaXNrIHZvbiBXaXhkb3M5NiBhdXNwcm9iaWVydCwgYWJlciBkZXIgaGFsZiBhdWNoIG5pY2h0IChBY2ghKS4KCkRhbmsgaW0gdm9yYXVzLgoKU3VzaGkKdW5wcHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1pcm8gMTZQRCAoRmV1ZXJ3ZWhyLCAxMS4gRGV6IDE5OTYsIDIwOjM1OjE2KToKfiMhIHJuPUxvY28gcnQ9ODQ5NjQ4MTQzCn4jISB0aWQ9ODQ5NjMzNzUxCkFBQUFBQUFIIQoKRGEgc2FoIGljaCBlaW5lbiBrb21tZXJ6aWVsbGVuIFgtU2VydmVyLCBkZXIgZGllc2UgS2FydGUgdmVyc3RhbmQgdW5kIG1vY2h0ZSwKdW5kIGRpZSAxMG1pbnVldGlnZSBEZW1vIHdhciB3dW5kZXJiYXIsIHVuZCBpY2ggZGFjaHRlIG1pciwga2xhc3NlLCBob2xzdCBkdQppaG4gZGlyLCB1bmQgd2FzIHdhciBkZXIgUHJlaXM/Pz8/Pz8/CgoxMzAgRG9sbGFyISEhIEFBQUFBQUFBQUFISEhISEghCgpXYXMgaXN0IGRlbm4gZGFzPyBTb3dhcyBrb2VubmVuIGRpZSBkb2NoIG5pY2h0IG1hY2hlbiEgTGludXggaXN0IGZ1ZXIKU3R1ZGVudGVuISBIYXNzcyEhISEKCldpbGwgbmljaHQgamVtYW5kIG5lIGd1dGUgV2luZG93cy1QQ0ktR3JhcGhpa2thcnRlIG1pdCAyTUIgUmFtPyBEaWUgaXN0CmtsYXNzZSwgbWl0IGRlbmVuIHJ1Y2tlbG4gZGllc2UgLi4uIGFlaG0gVmlkZW9zIGRhIGluIGlocmVuIEZlbnN0ZXJjaGVuCmdhcm5pY2h0LCBzZWxic3Qgd2VubiBtYW4gc2llIGdhbnogYXVmemllaHQsIHVuZCBlcyBnaWJ0IHRvbGxlIE1lbnVlcywgdW5kCkJlc2NobGV1bmlnZXItVHJlaWJlciBmdWVyIFdpbmRvd3MgdW5kIGFsbGVzISBXYWhuc2lubnNkaW5nIQoKICAgRmV1ZXJ3ZWhyIChhYnNvbHV0IGdlc2Nob2NrdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1pcm8gMTZQRCAoR3JpbW1ib3JuLCAxMi4gRGV6IDE5OTYsIDEzOjU1OjE3KToKfiMhIHJuPUZldWVyd2VociBydD04NTAzMzI5MTYKfiMhIHRpZD04NDk2MzM3NTEKCkJsZWliIGJlaW0gaW4gZGVyIENvbXB1dGVyYnJhbmNoZSB1ZWJsaWNoZW4gUHJlaXMtTGVpc3R1bmdzIFZlcmhhZWx0bmlzOiBEZXIKWC1TZXJ2ZXIga29zdGV0IDIwMERNIHVuZCBpc3Qgc3BpdHplIChzYWdzdCBEdSkuIERhcyBPUyBpc3QgZGFmdWVyIGtvc3RlbmxvcwotPiBlaW4gZ3JhcGhpa2ZhZWhpZ2VyIFJlY2huZXIgZnVlciAyMDBETS4gTmltbSB3YXMgaGFsYndlZ3MoISkKdmVyZ2xlaWNoYmFyZXMsIHVuZCBEdSBzdGVsbHN0IGZlc3QsIFdpbk5UIGtvc3RldCBkYXMgZG9wcGVsdGUgKHVuZCBNZXJsaW4Kd29obCBhdWNoIGluIGRlciBHZWdlbmQpLgoKRHUga2FubnN0IG5hdHVlcmxpY2ggYXVjaCBkZW4gYmlsbGlnZXJlbiBXZWcgZ2VoZW4gdW5kIGVpbmUgbmV1ZSBHcmFwaGlra2FydGUKbWl0IDJNQiBmdWVyIGV0d2EgMTUwRE0ga2F1ZmVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNaXJvIDE2UEQgKFd1cnplbCwgMTIuIERleiAxOTk2LCAxOToyMDo1OSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODUwMzk1MzE3Cn4jISB0aWQ9ODQ5NjMzNzUxCnRqYSwgZGllIGd1dGVuIGFsdGVuIHplaXRlbiBzaW5kIHdvaGwgZW5kZ3VlbHRpZyB2b3JiZWkgKnNjaG5pZWYqCmZydWVoZXIgaGFldHRlbiB3aXIgZWluZSBzYW1tZWxiZXN0ZWxsdW5nIGdlbWFjaHQ6IGVpbmVyIGthdWZ0IGRhcyBkaW5nLCBhbGxlCmhhYmVuIGVzIDopCmFiZXIgZGllIHplaXRlbiBhZW5kZXJuIHNpY2ggZWJlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVtYWlsLUZlaGxlcm1lbGR1bmcgKFNpcXVlLCAxMy4gRGV6IDE5OTYsIDA0OjM4OjE0KToKfiMhIHJuPUZsaW54IHJ0PTg0OTc4NzY3Ngp+IyEgdGlkPTg0OTc4NzY3NgpXaWUgd2FlciBlcywgdW50ZXIgRUxNIGVpbmZhY2ggZGVuIEVkaXRvciB6dSBhZW5kZXJuLCBhdWYgZWluZW4sIG1pdApkZW0gZHUgenVyZWNodGtvbW1zdD8gKEpvZSwgVmksIEVtYWNzLi4uIGRlciBWYXJpYW50ZW4gc2luZCBnZW51ZykuCgpEYXMgZ2VodCBtaXQgJ28nIChGdWVyIChvKXB0aW9uZW4pIHVuZCAnZScgZnVlciBFKWRpdG9yLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXF1ZSAoZGVyIHdpZWRlciBtYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXN0c3RlbGx0LCBkYXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVU5JWCBkb2NoIGRhcyBrb21mb3J0YWJsZXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3l0ZW0gaXN0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aW45NSAoR3VuZHVyLCAxMS4gSmFuIDE5OTcsIDIwOjA2OjQyKToKSGkKS2VubnQgZWluZXIgZGFzIFByb2JsZW06IFdlbm4gaWNoIG1pdCBXaW45NSB1ZWJlciBtb2RlbSBtaWNoIGluIGRlciB1bmkKZWlud2FlaGwgbWl0IG5lbSBUZXJtaW5hbHByb2dyYW1tIHdpZSB6LmIuIHpvYyBvZGVyIHRlbGl4IHdlcmRlbiBtaXIgZWluCmhhdWZlbiB6ZWljaGVuIHZlcnNjaGx1Y2t0IGQuaC4gaWNoIGljaCBzZWggaW0gTXVkIHouYi4gbnVyIGRpZSBoYWVsZnRlIGRpZQpnZXNhZ3Qgd2lyZC4ud2VubiBpY2ggZGFzIGRvb2ZlIGh5CldlciB3YXMgd2Vpc3MuLi5tYWlsIG9kZXIgc28uLgpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW45NSAoUGlsZ3JpbSwgMTEuIEphbiAxOTk3LCAyMTozNDo0MCk6Cn4jISBybj1HdW5kdXIgcnQ9ODUzMDA5NjAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1MzAwOTYwMgpIbW1tLAoKd2llIHdhZXJzIG1pdCBuZW4gcGFhciBtZWhyIEluZm9ybWF0aW9uZW4gLi4uCnpvYyBrZW5uIGljaCBuaWNodCAuLi4gdGVsaXggc2Nob24gKGRvcyB1bmQgd2luKSAuLi4KVmVybXV0dW5nZW4gbWFsIHNvIGlucyBEdW5rZWxlIC4uLgoxLiBDb20tUG9ydCBnZXNjaHdpbmRpZ2tlaXQgenUgaG9jaCAoa2VpbiBmaWZvKQoyLiBmYWxzY2hlcyBwcm90b2tvbCAoa2VpbiBhbnNpLCB2dDEwMCkKCmdlbmVyZWxsIG1hbCBuZSBmcmFnZSAuLi4gaGFzc3UgbnVyIHByb2JsZW1lIG1pdCBkZW0gTUcgKE1VRCkgb2RlcgphdWNoIHNjaG9uIGF1ZiBkZWluZW0gdW5peC1hY2NvdW50ID8/PwoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3aW45NSAoQmxvb2R5aGFycnksIDExLiBKYW4gMTk5NywgMjM6MDU6NTIpOgp+IyEgcm49UGlsZ3JpbSBydD04NTMwMTQ4ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDA5NjAyCjMuIEtlaW4gSGFuZHNoYWtlIGVpbmdlc3RlbGx0PwoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpbjk1IChUYXNoYSwgMTEuIEphbiAxOTk3LCAyMzoxNDowMCk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NTMwMjAzNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDA5NjAyCktvZW5uZW4gZHVyY2ggSGFlbmRlc2NodWV0dGVsbiBrZWluZSBWaXJlbiB1ZWJlcnRyYWdlbiB3ZXJkZW4/CgotLT4gU2NobWFycm4KClRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aW45NSAoQmxvb2R5aGFycnksIDExLiBKYW4gMTk5NywgMjM6MTc6MTYpOgp+IyEgcm49VGFzaGEgcnQ9ODUzMDIwODQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1MzAwOTYwMgpUaGVvcmV0aXNjaCBzY2hvbi4gQmVzb25kZXJzIGRlciBLaW5kZXJ3YWhuIGlzdCBkYW5uIHVlYmVydHJhZ2Jhci4KCnVuZCB3ZWNoIG5hY2ggU2NobWFycm4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdWxsbW9kZW0uLi4gKEFuYXRvbCwgMTIuIEphbiAxOTk3LCAxODo0NDo1Mik6CgpMaW5rcyB0cmFnYmFyZXIgVG9zaGliYSAoMzg2c3gpIG1pdCBLZXJtaXQuClJlY2h0cyBQNzUgdW50ZXIgTGludXguCkluIGRlciBNaXR0ZSwgZGEgaW4gZGVuIFRvc2hpYmEga2VpbmUgS2FydGUgcmVpbnBhc3N0LCBlaW4gTnVsbG1vZGVta2FiZWwuCgpUamEsIGVzIGdlaHQgbmljaHQgKGVudHdlZGVyIEtlcm1pdCBvZGVyIGFnZXR0eS1FaW50cmFnIGluIC9ldGMvaW5pdHRhYikuLi4gV28KZmluZGUgaWNoIGRpZSByaWNodGlnZW4gJ0hvd3RvJyBvZGVyIEZhcSdzPwoKQW5hdG9sIChoYXQgendlaSBSZWNobmVyLCBkaWUgc2ljaCBuaWNodCB2ZXJrdXBwZWxuIGxhc3NlbiB3b2xsZW4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE51bGxtb2RlbS4uLiAoQW5ha2luLCAxMi4gSmFuIDE5OTcsIDIwOjMwOjA3KToKfiMhIHJuPUFuYXRvbCBydD04NTMwOTEwOTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDkxMDkyCkFsc28gYmVpIGhhZW5ndCBIYXRlJ3MgYWx0ZXIgMjg2IHVlYmVyIE51bGxtb2RlbSBkcmFuLgpEZXIgRWludHJhZ3MgaW4gL2V0Yy9pbml0dGFiIHNpZWh0IHNvIGF1czoKCnMyOjIzOnJlc3Bhd246L3NiaW4vYWdldHR5IDk2MDAgY3VhMSB2dDEwMAoKRXMgZ2VodCB3dW5kZXJiYXIuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE51bGxtb2RlbS4uLiAoV3VyemVsLCAxMi4gSmFuIDE5OTcsIDIwOjQxOjM1KToKfiMhIHJuPUFuYWtpbiBydD04NTMwOTc0MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDkxMDkyCnNpZWh0IGJlaSBtaXIgc2VociBhZWhubGljaCBhdXMsIHNvbGx0ZSBhbHNvIHdpcmtsaWNoIGdlaGVuLiBhbnN0ZWxsZSB2b24KY3VhMSBoYWJlIGljaCBhbGxlcmRpbmdzIGRhcyBzb2Z0d2FyZSBkZXZpY2UgdHR5UyogZWluZ2V0cmFnZW4sIHR1dHMgYXVjaC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTnVsbG1vZGVtLi4uIChUYXNoYSwgMTIuIEphbiAxOTk3LCAyMjozMjoyMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODUzMDk4MDk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1MzA5MTA5MgpNZWluZXMgV2lzc2VucyBuYWNoIGZlaGx0IGRhIG5vY2ggZWluIC1MCgpUYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3aW45NSAoR3VuZHVyLCAxMy4gSmFuIDE5OTcsIDEzOjExOjQ5KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODUzMDE0ODgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1MzAwOTYwMgpBbHNvIHp1IDEgSWNoIGhhYiBuZW4gRmlmbwp6dSAyLiBpY2ggaGFiIGRhcyByaWNodGlnZSBQcm90b2tvbGwKRGFzIHByb2JsZW0gdHJpdHQgc2Nob24gYXVmIGRlbSB1bml4dGVybWluYWwgYXVmIG5pY2h0IGVyc3QgaW0gTXVkLi4KRGFzIHNlbHRzYW1lIHdhciBkYXMgdm9yIGVpbmVyIFdvY2hlIGRpZSBHZXNjaGljaHRlIGluIG5lbSBEb3NmZW5zdGVyIG1pdApUZXJtOTAgbGllZi4uLm51ciB1bnRlciBXaW45NSAoVGVsaXggby5hZS4gbmljaHQpCk51biBnZWh0cyBuaWNodG1hbCBtZWhyIGltIERvc2ZlbnN0ZXIgZ2VzY2hlaXQuLi5IYW5kc2hha2UgaXN0IGF1Y2ggYXVmClJUUy9DVFMuLgpkLmguIGljaCBiaW4gd2VpdGVyaGluIHJhdGxvcy4uLgpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE51bGxtb2RlbS4uLiAoQW5hdG9sLCAxMy4gSmFuIDE5OTcsIDEzOjM0OjAxKToKfiMhIHJuPVRhc2hhIHJ0PTg1MzEwNDc0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTMwOTEwOTIKCkhhIQpEYW5rZSBhbiBBbmFraW4sIHNlaW4gVm9yc2NobGFnIGJyYWNodGUgd2VuaWdzdGVucyBMZWJlbiBpbiBkYXMgVGVybWluYWwsCkRhbmtlIGFuIFRhc2hhLCBkYXMgLUwgbXVzcyBkYSAqd2lya2xpY2gqIHJlaW4sIHNvbnN0IHdpcmQncyBuaXggdW5kCkRhbmtlIGFuIFRvZSwgZGVubiBUZWxpeCBnZWZhZWxsdCBtaXIgYmVzc2VyIDopCgpXaWxsIHNhZ2VuLCBkYXNzIHNpY2ggbWVpbiBrbGVpbmVyIFRvc2hpYmEgZW5kbGljaCBtaXQgZGVtIFAgenVzYW1tZW5nZXJhdWZ0CmhhdCA6LSkgKmh1ZXBmKiAqZnJldSoKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpbjk1IChBY3JpbW9uLCAxMy4gSmFuIDE5OTcsIDE1OjAxOjQ3KToKfiMhIHJuPUd1bmR1ciBydD04NTMxNTc1MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDA5NjAyCk5hY2ggZGllc2VyIFN5bXB0b21iZXNjaHJlaWJ1bmcgd3VlcmRlIGljaCBkYXJhdWYgdGlwcGVuLCBkZW4gRmVobGVyIGJlaQpXaW5kb3dzIHp1IHN1Y2hlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd2luOTUgKEd1bmR1ciwgMTMuIEphbiAxOTk3LCAxNTowNzo0Myk6Cn4jISBybj1BY3JpbW9uIHJ0PTg1MzE2NDEwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTMwMDk2MDIKSm8gYmluIGljaCBqYSBkYWJlaSBpY2ggZmluZCBkZW4gRmVobGVyIG51ciBuaWNodCA6KApHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd2luOTUgKEJsb29keWhhcnJ5LCAxNC4gSmFuIDE5OTcsIDA4OjI3OjU4KToKfiMhIHJuPUd1bmR1ciBydD04NTMxNjQ0NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzMDA5NjAyCkhtbS4gRGVyIEZlaGxlciBrb21tdCBtaXIgYmVrYW5udCB2b3IuIEljaCBoYXR0ZSBtYWwgZWluIGFlaG5saWNoZXMgUHJvYmxlbQp1bmQgZmFuZCBkZW4gRmVobGVyIGRhbm4gZW5kbGljaCBhdWYgZGVyIFVuaXhzZWl0ZS4gTmFjaCBlaW5lcgpOZXVpbnN0YWxsYXRpb24gd2FyIGVpbiBmYWxzY2hlciBkZWZhdWx0IEVpbnRyYWcgaW4gL2V0Yy9nZXR0eXRhYiBnZXJhdGVuLgoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdpbjk1IChHcmltbWJvcm4sIDE0LiBKYW4gMTk5NywgMTA6NDU6MDUpOgp+IyEgcm49R3VuZHVyIHJ0PTg1MzE2NDQ2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTMwMDk2MDIKSG1tLCBoaWVyIGluIEtvZWxuIGVtcGZlaGxlbiB3aXIgZGVuIExldXRlbiBkaWUgRWlud2FobCB1ZWJlciBkaWUgKGJlaSBXaW45NQpzY2hvbiB2b3JoYW5kZW5lKSBERlVlLVNvZnR3YXJlLiBEYXMgbGFldWZ0IChiZWkgdW5zKSBmYXN0IHZvZWxsaWcgcHJvYmxlbWxvcywKdm9ycmF1c2dlc2V0enQgZGllIExldXRlIGZpbmRlbiBpaHJlIEY3LVRhc3RlIHVuZCBzaW5kIGZhZWhpZyBkaWUgQW5sZWl0dW5nIHp1Cmxlc2VuLi4uCkJlaSBJbnRlcmVzc2Uga2FubiBpY2ggYXVjaCBlaW4gLnBzIGRlciBBbmxlaXR1bmcgbWFpbGVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aW45NStsaW51eCAoR3VuZHVyLCAyMS4gSmFuIDE5OTcsIDE4OjIwOjAxKToKSGkKV2llIGtyaWVnIGljaCBhbSBnZXNjaGlja3Rlc3RlbiBuZW4gd2luOTUgcmVjaG5lciBtaXQgbmVtIGxpbnV4cmVjaG5lcgp2ZXJidW5kZW4gLi51bmQgendhciBtaXQgbnVsbC1tb2RlbSBvZGVyIHBhcmFsbGVsZXMgS2FiZWwKR3J1c3MKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2luOTUrbGludXggKEdyaW1tYm9ybiwgMjEuIEphbiAxOTk3LCAxOToxMjo1Nyk6Cn4jISBybj1HdW5kdXIgcnQ9ODUzODY3MjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1Mzg2NzIwMQpXZWlsIGRlciBLb21tZW50YXIgc293aWVzbyBrb21tdCBrYW5uIGVyIGphIGF1Y2ggdm9uIG1pciBrb21tZW46Ck5pbW0gZGVuIFdpbjk1LVJlY2huZXIsIGxlZyBuZSBMaW51eC1DRCBlaW4sIGRpZSBMaW51eC1Cb290ZGlza2V0dGUgaW5zCkxhdWZ3ZXJrLCBSZWNobmVyIGFuc2NoYWx0ZW4sIExpbnV4IGluc3RhbGxpZXJlbiB1bmQgZGllIFZlcmJpbmR1bmcgaXN0CnBsb2V0emxpY2ggZ2FueiBzY2hyZWNrbGljaCBlaW5mYWNoLi4uCgpOZWluLCBpY2ggaGFiIG5hdHVlcmxpY2gga2VpbmUgQWhudW5nLCB3aWUgbWFucyB3aXJrbGljaCBtYWNodC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbjk1K2xpbnV4IChUYXNoYSwgMjEuIEphbiAxOTk3LCAxOToxODoyOSk6Cn4jISBybj1HdW5kdXIgcnQ9ODUzODY3MjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1Mzg2NzIwMQpJbiBkZXIgL2V0Yy9pbml0dHRhYiBkaWUgWmVpbGUgZnVlciBkZW4gdHR5IGVpbmtvbW1lbnRpZXJlbiwgYW4gZGVtIGRhcwpOdWxsbW9kZW1rYWJlbCBoYWVuZ3QuIEdlc2Nod2luZGlna2VpdCB1ZWJlcnBydWVmZW4sIGJlaSBhZ2V0dHkgZWluIC1MCmVpbmZ1ZWdlbiB1bmQgYXVmIGRlbSBXaW45NS1EaW5nZW5zIGVpbiBUZXJtaW5hbHByb2dyYW1tIHN0YXJ0ZW4uIERhIGVyc2NoZWludApkYW5uIGRlciBsb2dpbi4KClZpZWwgU3Bhc3MsIFRhc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbjk1K2xpbnV4IChXb29keSwgMjIuIEphbiAxOTk3LCAwMTo0OToyMCk6Cn4jISBybj1UYXNoYSBydD04NTM4NzA3MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODUzODY3MjAxCgpFcmdhZW56dW5nOiB6dW0gRGF0ZWluIHVlYmVydHJhZ2VuIGFtIGJlc3RlbiBkaWUgdW5peCBwcm9ncmFtbWUKc3ogdW5kIHJ6IChzZW5kL3JlY2VpdmUgem1vZGVtKSB2ZXJ3ZW5kZW4sIGlzdCBlaW5mYWNoIHVuZCBpZFIuCnVucHJvYmxlbWF0aXNjaC4KQWx0ZXJuYXRpdmU6IHRjcC9pcCBzdGFjayBhdWYgdzk1IChoYWIgZ2Vob2VydCBkYXNzIGRpZXNlcwoiVW5zeXN0ZW0iIGRhcyBhdWNoIHNjaG9uIGJlaGVycnNjaGVuIHNvbGwpIHVuZCBlaW4gbWluaW5ldHoKaW5zdGFsbGVuLiAoMTAuKi4qLiogaXN0IGVpbiBmdWVyIGludGVybmFsIHZvcmhlc2VoZW5lcyBjbGFzcy1hCm5ldHogekIuKQoKbGcKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luOTUvV2luMy4xMS9MaW51eCAoTXVya2VzLCAgNi4gRmViIDE5OTcsIDA5OjEwOjI1KToKSGkgTGV1dGUsCgpkYW1pdCBoaWVyIG5paHQgZ2xlaWNoIHdpZWRlciBlaW5lIERpc2t1c3Npb24gYXVzYnJpY2h0OiBJY2ggYmVudXR6ZQpub3JtYWxlcndlaXNlIExpbnV4LiBBbGxlcmRpbmdzIG11c3MgaWNoIHp1ciBaZWl0IGF1Y2ggV2luOTUgdW5kIFdpbjMuMTEgYXVmCm1laW5lbSBSZWNobmVyIGR1bGRlbi4gTGVpZGVyIGJla29tbWUgaWNoIGRhcyBXaW45NSBuaWNodCBpbnN0YWxsaWVydC4gCk1laW5lIEtvbmZpZ3VyYXRpb24gc2llaHQgc28gYXVzOiAyIEZlc3RwbGF0dGVuLCBqZXdlaWxzIGluIG1laHJlcmUgVGVpbGUKcGFydGl0aW9uaWVydC4gV2luIDMuMTEgaXN0IGF1ZiBjOiBMaW51eCBpbSBFeHRlbmRlZCBCZXJlaWNoIHZvbiBGZXN0cGxhdHRlIDEKKyAyCklzdCBlcyBtb2VnbGljaCBXaW4gOTUgYXVmIGRlciBwcmltYWVyZW4gUGFydGl0aW9uIGRlciB6d2VpdGVuIEZlc3RwbGF0dGUgenUKaW5zdGFsbGllcmVuPyBEYXMgU0VUVVAtTWVudWUgZ2lidCBkYXp1IG5pY2h0cyBoZXIuIEVzIHZlcnN1Y2h0IFdpbjk1IGF1ZiBjOgp6dSBpbnN0YWxsaWVyZW4gdW5kIGJlaGF1cHRldCB3ZWdlbiBlaW5lbSB2b3JoYW5kZW5lbiBCZXRyaWVic3N5c3RlbSBrb2VubnRlCmVzIGRhcyBuaWNodCAoRmVobGVyY29kZSBTVTAxNjgpLiBMZWlkZXIgc3RlaHQgaW0gJ0hhbmRidWNoJyBuaWNodHMgdWViZXIKZGllc2VuIEZlaGxlci4gSGF0IGlyZ2VuZHdlciBlaW5lIElkZWU/CgpNdXJrZXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luOTUvV2luMy4xMS9MaW51eCAoQ2F1bm8sICA2LiBGZWIgMTk5NywgMTE6MDA6MzcpOgp+IyEgcm49TXVya2VzIHJ0PTg1NTIxNjYyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMTY2MjUKTWVpbiBQcm9ibGVtIHNpZWh0IGRhIGdhbnogYW5kZXJzIGF1czogSWNoIGhhZXR0ZSBnZXJuIExpbnV4IGF1ZiBtZWluZW0KUmVjaG5lciBsYXVmZW4sIGtyaWVncyBhYmVyIG5pY2h0IGhpbiwgd2VpbCBpY2ggd29obCBkaWUgZmFsc2NoZW4gYmF1dGVpbGUgaGFiCi0gTWF0cm94LUthcnRlLCBFWi1Ecml2ZS4KRGFzIFByb2JsZW0gbWl0IExpbnV4IGlzdCB3b2hsLCBkYXNzIG1hbiBzZWluZW4gQ29tcHV0ZXIgYmVzc2VyIGtlbm5lbiBtdXNzLAp1bXMgenUgaW5zdGFsbGllcmVuLiBCZWkgd2luZG93cyBicmF1Y2h0IG1hbiBpaG4gbnVyIGJlc3NlciB6dSBrZW5uZW4sIHdlbm4KbWFuIHdpc3NlbiB3aWxsLCB3aWVzbyBlcyBhYnN0dWVyenQuCgpDLiBObywgd2lsbCBhdWNoIGdlcm5lIGF1ZiBMaW51eCwga2FubiBhYmVyIG5pY2h0LiBlaHJsaWNoIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbjk1L1dpbjMuMTEvTGludXggKFJvY2h1cywgIDYuIEZlYiAxOTk3LCAxMjoxNDo0MCk6Cn4jISBybj1NdXJrZXMgcnQ9ODU1MjE2NjI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIxNjYyNQpXZW5uIER1IDIgRmVzdHBsYXR0ZW4gaGFzdCBrYW5uc3QgRHUgZGVuIFRyaWNrCmF1cyBkZW0gSE9XVE8gTGludXgrV2luMytXaW45NStPczIgdmVyd2VuZGVuLgooRGEgd2lyZCBiZWltIEJvb3RlbiB2b24gZWluZW0gZGVyIGJlaWRlbiBXaW5zIGVpbiBCb290bG9hZGVyCnZlcndlbmRldCwgZGVyIEM6IG1pdCBEOiB2ZXJ0YXVzY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9ybWVsZWRpdG9yZW4gKEhhciwgIDYuIEZlYiAxOTk3LCAxNDozMDozNSk6Ck1haGx6ZWl0IQpJY2ggaGFiZSBkYXMgcHJvYmxlbSwgZGFzcyBpY2ggbmFjaCBkZXIgSW5zdGFsbGF0aW9uIHZvbiBOVCBudXIgbm9jaApGb3JtZWxuZGFyZ2VzdGVsbHQgYmVrb21tZSwgZGllIG1pdCBkZXIgRm9ybWVsZWRpdG9ydmVyc2lvbiB2b24gV2lud29yZCAyLjEKZXJzdGVsbHQgd3VyZGVuLCB1bmQgendhciBpbiB3aW5vcmQgNi4wLiBVZWJlcmluc3RhbGxpZXJlbiBkZXMgRm9ybWVsZWRpdG9ycwphbGxlaW5lIGhhbGYgbmljaHRzIC0gd2VyIHdlaXNzIFJhdD8KCgoKQWNoamE6IE5laW4gaWNoIGthbm4gdW5kIHdlcmRlIGtlaW4gTGF0ZXggYmVudXR6ZW4sIGF1c3NlciB2aWVsbGVpY2h0IGJlaW0KR2VzY2hsZWNodHN2ZXJrZWhyIG1pdCBBbWFuZGEhCgpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHN1Y2hlIHByb2dyYW1tIChHdWxkdWthdCwgIDYuIEZlYiAxOTk3LCAxNDo0NToxNCk6Cn4jISBybj1IYWRyYSBydD04NTUxOTIwNDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MDgyMDE1CgogICMjIyMgICAgIyMjIyMgICAjIyMjICAgIyMjIyMKICMgICAgICAgICAgIyAgICAjICAgICMgICMgICAgIwogICMjIyMgICAgICAjICAgICMgICAgIyAgIyAgICAjCiAgICAgICMgICAgICMgICAgIyAgICAjICAjIyMjIwogIyAgICAjICAgICAjICAgICMgICAgIyAgIwogICMjIyMgICAgICAjICAgICAjIyMjICAgIwoKCmljaCB3b2xsdGUgZG9jaCBudXIgZWluIHByb2dyYW1tIGZ1ZXIgZmF4IHVuZCB2b2ljZSBlbXBmYW5nIQphbHNvLCBub2NobWFsOiB1bmQga2VpbmUgZGlza3Vzc2lvbmVuIHVlYmVyIHdpbmRvb2YgdW5kIGxpbnV4LCB3YXMgZ2lidHMgZGEKZnVlciBwcm9ncmFtbWU/CmdkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9ybWVsZWRpdG9yZW4gKFN1c2hpLCAgNi4gRmViIDE5OTcsIDE1OjAyOjAyKToKfiMhIHJuPUhhciBydD04NTUyMzU4MzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1ClN0YXJPZmZpY2UgaG9sZW4uLi4gVm9yenVnc3dlaXNlIGZ1ZXIgTGludVgsIGFiZXIgZGFzIG51ciBhbSBSYW5kZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW45NS9XaW4zLjExL0xpbnV4IChHcmltbWJvcm4sICA3LiBGZWIgMTk5NywgMDk6NDE6MjgpOgp+IyEgcm49TXVya2VzIHJ0PTg1NTIxNjYyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMTY2MjUKSG1tLCBpY2ggaGFiIHZvciBndXQgbmVtIEphaHIgbWFsIFdpbjk1IGJlaSBtaXIgaW5zdGFsbGllcnQgKHVuZCBhbmNoIDMgV29jaGVuCndpZWRlciBlbnRmZXJudCwgYWJlciBkYXMgaXN0IGVpbmUgYW5kZXJlIEdlc2NoaWNodGUpLiBEYXMgbGllZiBiZWkgbWlyCnByb2JsZW1sb3MgYXVmIGRlciB6d2VpdGVuIHByaW1hZXJlbiBQYXJ0aXRpb24uIEljaCBoYXR0ZSBkaWUgZXJzdGVuIHByaW1hZXJlbgpQYXJ0aXRpb25lbiBkZXIgYmVpZGVuIFBsYXR0ZW4gamV3ZWlscyB1bnRlciBET1MgbGF1ZmVuLCB1bmQgaGFiIGlobSBkYW5uCmVpbmZhY2ggYmVpIGRlciBpbnN0YWxsYXRpb24gZ2VzYWd0LCBlciBzb2xsZSBkYXMgWmV1ZyBuYWNoIEQ6XHdpbjk1Cmluc3RhbGxpZXJlbiAoYW4gZGVyIFN0ZWxsZSwgd28gbWFuIGRhcyBWZXJ6ZWljaG5pcyB3YWVobGVuIHNvbGwpLiBBbGxlcmRpbmdzCmlzdCBlaW5lIGRlciBlcnN0ZW4gTWVsZHVuZ2VuIGF1ZiBkZW0gU2NoaXJtICJXaW45NSBha3R1YWxpc2llcnQgSWhyZQpTeXN0ZW1kYXRlaWVuIiwgbWFuIHNvbGx0ZSBhbHNvIG5pY2h0IGVyd2FydGVuLCBkYXNzIGVyIGRpZSBhdXRvZXhlYy5iYXQgdW5kCmNvbmZpZy5zeXMgbmljaHQgYW5ydWVocnQgKG9kZXIgZWluZW4gYXVjaCBudXIgdm9yaGVyIGZyYWd0KSwgYXVzc2VyZGVtIHdpcmQKc28gZWluIHZvZWxsaWcga3JhbmtlciBib290bG9hZGVyIGluc3RhbGxpZXJ0LCBhYmVyIGRhcyBzaW5kIHNpY2hlciBTYWNoZW4sCmRpZSBtYW4gaW4gZGVuIEdyaWZmIGJla29tbXQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luOTUvV2luMy4xMS9MaW51eCAoR3JpbW1ib3JuLCAgNy4gRmViIDE5OTcsIDA5OjQ4OjA5KToKfiMhIHJuPUNhdW5vIHJ0PTg1NTIyMzIzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMTY2MjUKSG1tPyBNYXRyb3gtS2FydGUgaXN0IGRvY2gga2VpbiBIaW5kZXJ1bmdzZ3J1bmQgZnVlciBMaW51eD8gV2VubnMgZGllCk1pbGxlbm5pdW0gaXN0LCBub2NoIG5pY2h0bWFsIGZ1ZXIgZGVuIFhzZXJ2ZXIgbWl0dGxlcndlaWxlLiBVbmQgZmFsbHMgbWFuIGdhcgpuaWNodCBvaG5lIEdyYXBoaWsgbGViZW4ga2FubjogRGVyIFZHQS1zZXJ2ZXIgdHV0cyBtaXQgamVkZXIgR3JhcGhpa2thcnRlLi4uCgpFaW4gRVotRHJpdmUgaXN0IGVpbiBIaW5kZXJ1bmdzZ3J1bmQ/IEhtbSwgZGFzIGlzdCBtaXIgbmV1LCBhYmVyIGRhIGdpYnRzIGphCnNvIHZpZWwgWmV1Y2ggenVtIEFuc2NobGllc3Nlbiwgd2VyIGtlbm50IHNpY2ggZGEgc2Nob24gYXVzLiBBYmVyIHNjaGF1IGRvY2gKdmllbGxlaWNodCBpbiBlaW4gZXR3YXMgbmV1ZXJlcyBMaW51eCByZWluLCBnZXJhZGUgc29sY2hlIFNhY2hlbiBhZW5kZXJuIHNpY2gKbGF1ZmVuZC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGb3JtZWxlZGl0b3JlbiAoRmV1ZXJ3ZWhyLCAgNy4gRmViIDE5OTcsIDE4OjE1OjA5KToKfiMhIHJuPVN1c2hpIHJ0PTg1NTIzNzcyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMzU4MzUKV2Vpc3N0IGR1LCB3aWV2aWVsIGRhcyBEaW5nZW4ga29zdGV0Pz8KCjUwMCBETSEhISEKCldpbmRvd3MgdW5kIGFsbGVzIHNjaG1laXNzZW4gc2llIGRpciB3ZW5pZ3N0ZW5zIG1pdCBkZW0gUmVjaG5lciBoaW50ZXJoZXIhCgogRmV1ZXJ3ZWhyICh0b3RhbCBhcm0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGb3JtZWxlZGl0b3JlbiAoR3JpbW1ib3JuLCAgNy4gRmViIDE5OTcsIDE4OjIzOjQ5KToKfiMhIHJuPUZldWVyd2VociBydD04NTUzMzU3MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1CkZhbHNjaC4gU3Rhck9mZmljZSBmdWVyIExpbnV4IGtvc3RldCBuaXggKG1hbiBicmF1Y2h0IGVpbmUgTW90aWYtTGl6ZW56OiA4MERNCmZ1ZXIgU3R1ZGVudGVuKSwgTGludXggc2VsYmVyIGlzdCBhdWNoIGZyZWkgKG1hbiBzb2xsdGUgc2ljaAp2ZXJudWVuZnRpZ2Vyd2Vpc2UgZWluZSBEaXN0cmlidXRpb24ga2F1ZmVuLCB6dW1pbmRlc3QgYmVpbSBlcnN0ZW4gTWFsOiB1bnRlcgoxMDBETSkuCgpJY2gga29tbSBkYSBhdWYgbWF4LiAxODBETSwgbmljaHQgYXVmIDUwMC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRm9ybWVsZWRpdG9yZW4gKENhdHdlYXpsZSwgIDcuIEZlYiAxOTk3LCAxODozODozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU1MzM2MjI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIzNTgzNQoKSG0sIGRpZSBWb2xsdmVyc2lvbiBrb3N0ZXQgdGF0c2FlY2hsaWNoIDQ5OSBTY2hsZWlmZW4sIGljaCB3ZWlzcyBhYmVyIG5pY2h0LAppbiB3aWUgd2VpdCBkaWUgc2ljaCB2b24gZGVyIFN0dWRlbnRlbnZlcnNpb24gdW50ZXJzY2hlaWRldCAoOTlETWNoZW4pLgoKQ2hlY2sgb3V0IGh0dHA6Ly93d3cuc3RhcmRpdmlzaW9uLmRlL3N0YXJvZmZpY2UvcHJpY2luZy9pbmRleC5odG1sCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZvcm1lbGVkaXRvcmVuIChHcmltbWJvcm4sICA3LiBGZWIgMTk5NywgMTg6NDI6MTYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg1NTMzNzExNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMzU4MzUKQXMgeW91IHNhaWQ6IENoZWNrIGl0IG91dC4gQmV0cmllYnNzeXN0ZW0gTGludXg6IEtvc3Rlbmxvcy4KVVJMIHZvbiBDYXQqIGFuZ2VnZWJlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGb3JtZWxlZGl0b3JlbiAoQ2F0d2VhemxlLCAgNy4gRmViIDE5OTcsIDE4OjQ5OjM2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTUzMzczMzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1CgpEaXNjbGFpbWVyOgoKQWVobSwgZGllIFZvbGx2ZXJzaW9uIGtvc3RldCBuaWNodCA0OTksIHNvbmRlcm4gNDk4IERNIDopCgpVbmQ6ClVtIGRlciBXYWhyaGVpdCBnZW51ZWdlIHp1IHR1bjogSWNoIHJlZGUgbmF0dWVybGljaCAodHJvdHogZGFzIGljaCBtaWNoCmF1ZiBHcmltbWJvcm5zIEFydGlrZWwgYmV6b2dlbiBoYWJlLCBpbiBkZW0gZXMgdW0gZGllIExpbnV4dmVyc2lvbiBnaW5nKQphdXNzY2hsaWVzc2xpY2ggdm9uIGRlbiBzb25zdGlnZW4gQmV0cmllYnNzeXN0ZW1lbiwgV2luLCBPcy8yLCBtYWMgZXRjLgoKTmljaHQgZGFzIEdyaW1tYm9ybiBoaW50ZXJoZXIgYWxzIEx1ZWduZXIgZGEgc3RlaHQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRm9ybWVsZWRpdG9yZW4gKEhhciwgIDcuIEZlYiAxOTk3LCAxOTo1MDozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODU1MzM3Nzc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIzNTgzNQpBcmdsCmVmZml6aWVudGUgQW50d29ydCAtIE5laW4gaWNoIGthbm4gYXVmIG1laW5lbSBSZWNobmVyIGFuIGRlciBVbmkga2VpbiBMaW51eApldGMuIGluc3RhbGxpZXJlbiwgd2VpbCB3aXIgdW5zIGF1ZiBlaW5lIFNhY2hlIGdlZWluaWd0IGhhYmVuLCBkZXNobGFiIGlzdCBkZXIKUmVzdCBkZXMgVGhlcmFkcyB3b2hsICh3aWVkZXIgbWFsKSBzaW5ubG9zIQoKSGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGb3JtZWxlZGl0b3JlbiAoRnJlaXhlbmV0LCAgNy4gRmViIDE5OTcsIDIwOjI1OjM2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04NTUzMzc3NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1Ck5hamEgNDk4IERNIGF1Y2ggbnVyIHdlbm4gbWFuIGRhcyBuaWNodCBiZWkgVm9iaXMga2F1ZnQgOikKCkJpcyB2b3Iga3VyemVtIGxhZyBqZWRlbmZhbGxzIGplZGVtIERydWNrZXIgYmVpIFZvYmlzIGVpbiBTdGFyT2ZmaWNlIDMuMSBiZWkKLi4uICh1bXNvbnN0IG5hdHVlcmxpY2gpIGRhIGRpZSByZWNodCB2aWVsZSBEcnVja2VyIHZlcmthdWZ0IGhhYmVuLCBtdWVzc3RlbgpiZWkgRnJldW5kZW4gdW5kIEJla2FubnRlbiBub2NoIENEcyBydW1zY2h3aXJyZW4gLi4uCgpGcmVpeGVuZXQKClBTOiBVbnRlciBMaW51eCBzb2xsdGUgbWFuIG5vY2ggbmVuIEJsaWNrIGF1ZiBBcHBsaXh3YXJlIHdlcmZlbiEgRE0gMTQ5IGZ1ZXIKU3R1ZGVudGVuIHVuZCBrZWluZSBGZWhsZXIgZHJpbm5lLCB3aWUgaW0gU3Rhck9mZmljZSBmdWVyIExpbnV4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGb3JtZWxlZGl0b3JlbiAoQ2F0d2VhemxlLCAgNy4gRmViIDE5OTcsIDIwOjM4OjAyKToKfiMhIHJuPUZyZWl4ZW5ldCBydD04NTUzNDM1MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1CkhpIQoKQXBwbGl4d2FyZSBpc3QgZnVlciBMaW51eCBkaWUgZWNodGUgQWx0ZXJuYXRpdmUuIFp1bWluZGVzdCB3ZXJkZW4gYWxsZSAKT2ZmaWNlLVByb2dyYW1tZSAodGV4dCx0YWJlbGxlLGRyYXcpIG1pdGdlbGllZmVydCwgYWJlciB0cm90emRlbQpzb2xsdGUgbWFuIHNpY2ggZGFzIHZvcmhlciBtYWwgYW5zZWhlbiwgYmV2b3IgbWFuIGVzIGthdWZ0LiBBdWNoIHdlbm4gClN0YXIgZWluZGV1dGlnIG1laHIgQnVncyBoYXQsIGhlaXNzdCBkYXMgbmljaHQsIGRhcyBBcHBsaXgga2VpbmUgaGF0LiAKQXVjaCBkYSB0cmV0ZW4gcmVsYXRpdiB2aWVsZSBhdWYuIEljaCBwZXJzb2VubGljaCBmaW5kZSBkaWUgT2JlcmZsYWVjaGUgCnZvbiBBcHBsaXggbmljaHQgYmVzb25kZXJzIGd1dCBnZWx1bmdlbiB1bmQgd2VyIHZvbiBXaW53b3JkIG9kZXIgU3RhcldyaXRlcgprb21tdCwgbXVzcyBzaWNoIGdhbnogc2Nob2VuIHVtZ2V3b2VobmVuLiBFaW4gZ3Jvc3NlcyBNYW5rbyBpc3QgZGllIAplbmdsaXNjaGUgU3ByYWNoZSwgbmljaHQgbnVyIHdlaWwgbWFuIG1hbmNobWFsIGxhbmdlIHN1Y2hlbiBtdXNzLCBiaXMgbWFuCmRpZSBGdW5rdGlvbmFsdGFldCwgZGllIG1hbiBoYWJlbiB3aWxsLCBnZWZ1bmRlbiBoYXQsIHNvbmRlcm4gYXVjaCwgd2VpbCAKbWFuIG1pdCBkZXV0c2NoZW4gVGV4dGVuIGJ6Z2wuIFNpbGJlbnRyZW5udW5nLCByZWNodHNjaHJlaWJ1bmcsIFdhZWhydW5nLApEQVRVTQpldGMuIGR1cmNoYXVzIHp1IGthZW1wZmVuIGhhdC4gTWFuIF9rYW5uXyBhYmVyIGJlaSBBcHBsaXggc28gemllbWxpY2ggamVkZW4gClBpcGlmYXggZWluc3RlbGxlbi4gCgpFaW4gVGF0c2FjZWhuYmVyaWNodCB2b24KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQpQUzogQ29vbCwgOSBLb21tYXRhIGluIGVpbmVtIFNhdHouLi53ZXIgZGVuL2RpZSBmYWxzY2hlbiBmaW5kZXQgYmVrb21tdCB2b24KICAgIG1pciAxMDAgTXVlbnplbi4uLlVuZCBzb2dhciAzIFB1bmt0ZSAqa2ljaGVyKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRm9ybWVsZWRpdG9yZW4gKEZyZWl4ZW5ldCwgIDcuIEZlYiAxOTk3LCAyMDo0MDoyNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODU1MzQ0MjgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIzNTgzNQpBcHBsaXh3YXJlPgoKRWluZmFjaCBub2NoIGVpbiBiaXNzY2hlbiB3YXJ0ZW4sIGluIGJhZWxkZSBrb21tdCBBcHBsaXh3YXJlIGZvciBTLnUuUy5FLgpMaW51eCBtaXQgZGV1dHNjaGVuIEhhbmRidWVjaGVybiB1bmQgZGV1dHNjaGVuIE1lbnVldGV4dGVuIHVuZCBrb21wbGV0dApkZXV0c2NoZXIgT25saW5laGlsZmUgcmF1cyEhCgpGcmVpeGVuZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRm9ybWVsZWRpdG9yZW4gKFN1c2hpLCAgNy4gRmViIDE5OTcsIDIxOjA1OjQyKToKfiMhIHJuPVN1c2hpIHJ0PTg1NTIzNzcyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTUyMzU4MzUKSWNoIGthbm4gZXMgRGlyIG9mZml6aWVsbCBmdWVyIERtIDU1IGJlc2NoYWZmZW4sIGZ1ZXIgTGludVggaXN0IGVzIGtvc3Rlbmxvcy4KRHVtbWkhCgpTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRm9ybWVsZWRpdG9yZW4gKFN1c2hpLCAgNy4gRmViIDE5OTcsIDIxOjA2OjU1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTUzMzYyMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjM1ODM1CkF1ZiBkZXIgTWV0cm9saW5rIE1vdGlmLUNEIHZvbiBTdVNFIChETTc5Li0pIGlzdCBlaW5lIGtvbXBsZXR0ZSBMaW51WC1EaXN0cmliCmRyYXVmLCBzb3dpZSBTdGFyT2ZmaWNlLiBNYWNodCBEbSA3OS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZvcm1lbGVkaXRvcmVuIChHcmltbWJvcm4sICA3LiBGZWIgMTk5NywgMjE6MjQ6MTApOgp+IyEgcm49U3VzaGkgcnQ9ODU1MzQ2MDE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIzNTgzNQpKYSwgYWJlciBkcmVoIGRvY2gga2VpbmVtIEFuZmFlbmdlciBlaW4gTGludXggbnVyIGF1ZiBDRCBhbiwgb2huZSBFcmZhaHJ1bmcKdW5kIG9obmUgSGFuZGJ1Y2ggaXN0IGRhcyBncmF1c2FtLiBBbHNvIE1vdGlmIGZ1ZXIgODAgdW5kIGRpZSBEaXN0cmlidXRpb24KKG1pdCBkYXp1IHBhc3NlbmRlbSBIYW5kYnVjaCkgZnVlciBrbmFwcCAxMDAuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgYmxlaWJ0IGJlaSAxODBETS4gV2FzIHdhciBlaWdlbnRsaWNoIG5vY2ggZGllIEZyYWdlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbjk1L1dpbjMuMTEvTGludXggKEhhZHJhLCAgOC4gRmViIDE5OTcsIDExOjE5OjQ4KToKfiMhIHJuPU11cmtlcyBydD04NTUyMTY2MjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1MjE2NjI1CmR1IGthbm5zdCB3aW45NSByZWluIHRoZW9yZXRpc2NoIGhpbmJhc3RlbG4gd28gZHUgd2lsbHN0LiBoYXVwdHNhY2hlIGVzIGlzdApuaWNodCBkZWluIGFsdGVzIHdpbmRvd3MgdmVyemVpY2huaXMsIGRlbm4gc29uc3QgaXN0IGRhcyBhbHRlIHdlZyA7KQp6d2VpIGRpbmdlIHNpbmQgenUgYmVhY2h0ZW46CmEpIHdpbjk1IHVlYmVyc2NocmVpYnQgZGVuIG1ici4gd2VubiBkdSBhbHNvIGJpc2hlciBtaXQgbGlsbyBib290ZXN0IGlzdCBkZXIKd2VnIHVuZCBtdXNzIG5ldSBpbnNydGFsbGllcnQgd2VyZGVuIChrZWlucHJvYmxlbSwgYWJlciBib290ZGlza2V0dGUgb2Rlcgpsb2FkbGluIGJlcmVpdCBoYWJlbikKYikgencuIGRlciBhbHRlbiB1bmQgbmV1ZW4gdmVyc2lvbiBrYW5uc3QgZHUgZGFubiB3YWVocmVuZCBkZXMgYm9vdGVucyB3YWVobGVuCih3ZW5uIGVyIG1lbGRldCAnV2luZGl3czk1IHdpcmQgZ2VzdGFydGV0JyBGOCBkcnVlY2tlbiB1bmQgZGllIHZvcmhpZ2UgRE9TCnZlcnNpb24gYXVzd2FlaGxlbikuIGlyZ2Vud28ga2FubiBtYW4gYXVjaCB3YXMgYXVmIDEgc2V0emVuLCBkYW1pdCBlcgphdXRvbWF0aXNjaCBmcmFndC4KaGludGVyaGVyIGRhbm4gbWFsIG5vY2gga3JhZWZ0aWcgaW4gYXV0b2V4ZWMuYmF0IHVuZCBjb25maWcuc3lzIGF1ZnJhZXVtZW4gdW5kCmRlciByZXN0IHNvbHRlIHZvbiBzZWxiZXIgZnVua3Rpb25pZXJlbi4KCmJyZ2RzCiAgaGFkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcm51bmcgdm9yIE5UIChHdWxkdWthdCwgIDguIEZlYiAxOTk3LCAxNDoyMzozMSk6ClNvLCB1bSBub2NoIG1hbCBPZWwgaW5zIEZldWVyIFdpbmRvb2YgdnMgTGludXggenUgZ2llc3NlbiAoZXJpbm5lcnQgbWljaAppcmdlbmR3aWUgYW4gZGllIGtpbmRlcmVpZW4gdm9yIDE1IGphaHJlbjogYW1pZ2EgZ2VnZW4gYXRhcmkpIDspCn5lCgpXYXJudW5nIHZvciBOVCEKCkZ1bW1lbHQgbmljaHQgYW0gU0NTSSBCdXMgcnVtLCBkYXMgbmltbXQgV2luZG9vZiBOVCA8Qj48SDE+PEk+U0VIUjwvQj48L2g/Pgp1ZWJlbCEKCmljaCB3b2xsdGUgbmVuIHNjYW5uZXIgaW5zdGFsbGllcmVuLCBwcm9ibGVtIHdhciBkaWUgcXVhbnR1bSBhdGxhcywgZGllIGhhdHRlCmtlaW5lIHRlcm1pbmF0b3JlbiB1bmQgZGllIGRva3UgZW50c3ByYWNoIGF1Y2ggbmljaHQgZGVuIGFub3JkbnVuZ2VuIGF1ZiBkZXIKcGxhdHRlIGJlenVlbGdpY2gganVtcGVyIGV0Yy4gbnVuLCBhbHNvIG5haG0gaWNoIGF1dG90ZXJtaW5pZXJ1bmcgYW4sIGhhdHRlCnNpZSBpbiBkZXIgbWl0dGUgendpc2NoZW4gYWRhcHRlciB1bmQgc2VhZ2F0ZSBwbGF0dGUgKGRpZSB0ZXJtaW5pZXJ0IHdhcikgdW5kCmFsbGVzIGxpZWYgZWlud2FuZGZyZWkuCmpldHp0IHNjYW5uZXIgYW5nZXNjaGxvc3NlbiAoZXJtaW5hdG9yZW4gYW0gYWRhcHRlciB3ZWcsIGFtIHNjYW5uZXIgZHJhbikKbWl0IGRlciB6ZWl0IHN0ZWxsdGVuIHNpY2ggdW50ZXIgbnQgcHJvYmxlbWUgZWluLCBrb25udGUgZGF0ZWluZSBuaWNodApiZWFyYml0ZW4gZXRjLCBwbG9ldHpsaWNoIGJsdWUgc2NyZWVuLCBoZXhkdW1wLCBiZWltIGJvb3RlbiBkYXMgZnNjayBwcm9ncmFtbQpvZGVyIHdpZSBlcyBoZWlzc3QgbG9lc2NoZSBkZWZla3RlIGRhdGVpIC0gbG9lc2NoZSBkZWZla3RlIGRhdGVpCihzZWl0ZW53ZWlzZSksIGRhbm46IHN0ZWxsZSBkYXRlaSB3aWVkZXIgaGVyIC4uLgpudCBib290ZXQgd2llZGVyLCBpY2ggaGFiIG5lbiBuZXVlbiBvcmRuZXI6IGZvdW5kLjAwMCwgZGEgZHJpbiB6aWcgZGF0ZWllbiwKemlnIGRsbHMsIHdvaGVyIGRpZSBrb21tZW4sIGtlaW5lIGFobnVuZywgbml4IGdpbmcgbWVocgptZWluZSBrb21wbGV0dGUgcHJvbW90aW9uc2FyYmVpdCB2ZXJzY2h3dW5kZW4sIGRpZSB0YXVjaHRlIHp3YXIgaW0gZm91bmQKd2llZGVyIGF1ZiwgYWJlciBoYXR0ZSBhbGxlIGVpbmdlYmV0dGV0ZW4gb2JqZWN0ZSB2ZXJsb3JlbiAobmFqYSBpc3Qgbm9jaCBhdWYKZWluZW0gYW5kZXJlbiByZWNoZW5yIGluIHNpY2hlcmhlaXQgZ2V3ZXNlbiEgKmdsdWVjayBnZWhhYnQqKQpudW4sIHZlcnN1Y2h0IG5ldSB6dSBpbnN0YWxsaWVyZW4sIGVyc3RlcyBtYWwgZ2VodCBlcywgYWJlciBlaW5pZ2UgZmVobGVyCmRhYmVpLCBuZXUgaW5zdGFsbGllcnQsIGJyaWNodCBlciBpbiBkZXIgaW5zYWxsdGlvbiBhYiwgaWNoIGhhYiBudCBuaWNodCBtZWhyCmluc3RhbGxpZXJ0IGJla29tbWVuLiAKbnVuIGljaCBoYWIgamV0enQgZGllIHNlYWdhdGUgdW5kIGRpZSBxdWFudHVtIHZlcnRhdXNjaHQgaW0gYnVzLCBqZXR6dCBsYWVmdHMKd2llZGVyLCAKCmFiZXIgZGFzIHNjaGVpbnQgZWluIGFsbGdlbWVpbmVzIHByb2JsZW0genUgc2VpbiwgZWluIGZyZXVuZCBlaW5lcyBmcmV1bmRlcwpoYXR0ZSB2ZXJzdWNodCBuZW4gY2Qgd3JpdGVyIGFuIGRlbiBzY3NpIGJ1cyB6dSBoYWVuZ2VuLCBkYSBpc3QgYXVjaCBkYXMKa29tcGxldHRlIG50IHRvdGFsIGFiZ2VzY2hvc3NlbiB3b3JkZW4uCgoKemllbWxpY2ggdWVibCBkYXMgZ2FuemUsIHdlbm4gaWNoIGFsc28gamVtYW5kZW4gYWVnZXJuIHdpbGwgLGFlaG4gaWNoIGlobSBlaW4Ka2FiZWwgYW4gZGVuIHNjc2kgYWRhcHRlciAuLi4uLi4gOykKCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FybnVuZyB2b3IgTlQgKFN1c2hpLCAgOC4gRmViIDE5OTcsIDE2OjIwOjAzKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1NTQwODIxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU0MDgyMTEKU28gdmllbGUgWmVpbGVuLCBudXIsIHVtIGRhcyB6dSBzYWdlbiwgd2FzIGFsbGUgd2lzc2VuPyBHdWxkdWthdCwgRHUgaGFzdAplaW5lbiBzY2h3ZXJlbiBTY2hhZGVuLi4uIEplZGVyLCBkZXIgbWl0IFdpbmRvd3MgQ0RzIGJyZW5udCwgaXN0IG9obmVoaW4Ka3JhbmssIGFiZXIgZGFzIGlzdCBhdWNoIGVpbiBvZmZlbmVzIEdlaGVpbW5pcy4uLgoKU3VzaGkgLSBsYWNoZW5kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FybnVuZyB2b3IgTlQgKE5pcmRhdm8sICA4LiBGZWIgMTk5NywgMTc6MjA6MzQpOgp+IyEgcm49U3VzaGkgcnQ9ODU1NDE1MjAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTQwODIxMQogIERhIGthbm4gaWNoIGFiZXIgbmljaHQgc28gZ2FueiB6dXN0aW1tZW4sIFN1c2hpLiBXaXIgaGFiZW4gdW50ZXIgVzk1IHNjaG9uCnZpZWxlIHZpZWxlIENEcyBnZWJyYW5udCwgdW5kIGVzIGhhdCBuaWUgZGFiZWkgU2Nod2llcmlna2VpdGVuIGdlZ2ViZW4uIFVuZApkYXMgbGVpZGlnZSBQcm9ibGVtIG1pdCBkZW4gVGVybWluYXRvcmVuIHdhZXJlIGdlbmF1IHNvIGF1Y2ggYmUgTGludVgsIE9TLzIKb2RlciBhbmRlcmVuIEJldHJpZWJzc3lzdGVtZW4gYXVmZ2V0cmV0ZW4uIAogIE5lZW5lZSwgTlVSIGFtIEJldHJpZWJzc3lzdGVtIGxpZWd0IGVzIHdpcmtsaWNoIG5pY2h0LCBtYW5jaG1hbCBzY2hpZXNzdAphdWNoIGRpZSBIYXJkd2FyZSBxdWVyLiAKCiAgICAgICAgIE5pcmRhdm8sIGRlciBXOTUgYXVjaCBuaWNodCBtYWcsIGVzIGFiZXIgYmVudXR6ZW4gTVVTUwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FybnVuZyB2b3IgTlQgKEd1bGR1a2F0LCAgOC4gRmViIDE5OTcsIDIzOjU2OjA1KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODU1NDE4ODM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTQwODIxMQpLbGFyLCBhYmVyIHdlbm4gZXMgcHJvYmxlbWUgbWl0IGRlbiBwbGF0dGVuIGdpYnQsIHNvbGx0ZSBkYXMgQlMgZGFzIG1lbGRlbiB1bmQKbmljaHQgc2VpbmUgcmVnaXN0cnkgenVydWVja3NwZWljaGVybiB1bmQgZGFzIHN5c3p0ZW0ga29tcGxldHQgYWJzY2hpZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhcm51bmcgdm9yIE5UIChTdXNoaSwgIDkuIEZlYiAxOTk3LCAxMTowMTo0Mik6Cn4jISBybj1HdWxkdWthdCBydD04NTU0NDI1NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NDA4MjExCkd1bGR1a2F0LCB3ZW5uIER1IERpY2ggZW5kbGljaCB2b24gZGVtIEdlZGFua2VuIGZyZWltYWNoZW4gd3VlcmRlc3QsIGRhc3MKV2luZG93cyBldHdhcyBhbmRlcmVzIGlzdCBhbHMgZGllIG1pc3NyYXRlbmUsIGtpbmRpc2NoZSB1bmQgdW5wcmFrdGlzY2hlCk9iZXJmbGFlY2hlIGVpbmVzIHN0ZWluemVpdGxpY2hlbiBTcGllbHpldWdiZXRyaWVic3N5c3RlbXMgZnVlciBIb21lY29tcHV0ZXIKbWl0IDw2NDAsIGhhZXR0ZXN0IER1IHZpZWwgd2VuaWdlciBQcm9ibGVtZS4uLgoKTGludVggLSBiZWNhdXNlIGEgUEMgaXMgYSB0ZXJyaWJsZSB0aGluZyB0byB3YXN0ZS4KClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprYW5uIG1pciBlaW5lciBzYWdlbiwgd2FydW0gbGludXggbnVyIDEgQ0RST00gdmVydHJhZWd0Py4gV2VubiBpY2ggYmVpIG1pciAyIENEUm9tJ3MgYW5zY2xpZXNzZSwgKFRyZWthbiwgIDkuIEZlYiAxOTk3LCAxOToxOTozMCk6CmRhbm4gYmxlaWJ0IGVyIGJlaW0gYm9vdGVuIGlyZ2VuZHdhbm4gaGFlbmdlbi4KVHJla2FuICgqd3VuZGVybmQsIGFiZXIgbm9ybWFsZXJ3ZWlzZSBhdWNoIG51ciBtaXQgMW5lbSBDRFJPTSBhcmJlaXRlbmQqKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrYW5uIG1pciBlaW5lciBzYWdlbiwgd2FydW0gbGludXggbnVyIDEgQ0RST00gdmVydHJhZWd0Py4gV2VubiBpY2ggYmVpIG1pciAyIENEUm9tJ3MgYW5zY2xpZXNzZSwgKFNpbHZhbmEsICA5LiBGZWIgMTk5NywgMTk6NDQ6NTgpOgp+IyEgcm49U3VzaGkgcnQ9ODU1NTEzMzM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTUxMjM3MApIbSwgaWNoIGhhYiBkZW4gRWluZHJ1Y2ssIFN1c2hpcyB6d2VpdGVyIFZvcm5hbWUgaXN0ICdaeW5pa2VyJy4gOikKQWJlciBpbiBkZXIgU2FjaGUgaGF0IGVyIFJlY2h0OiBFcyBnZWh0IHVuZCBhdWNoIG9obmUsIGRhc3MgbWFuCnZpZWwgQWhudW5nIHZvbiBkZXIgU2FjaGUgaGFiZW4gbXVzcyAtIHNlbGJzdCBpY2ggaGFicyBnZXNjaGFmZnQuIDopClVlYnJpZ2VucyBpc3QgZXMgdm9uIFZvcnRlaWwsIHdlbm4gbWFuIGEpIHVlYmVyIFNDU0kgdmVyZnVlZ3QgdW5kCmIpIGVzIHNpY2ggbmljaHQgdW0gYmF1Z2xlaWNoZSBDRC1ST01TIGhhbmRlbHQsIGFiZXIgaWNoIGdsYXViLCBpY2gKdHJhZ2UgRXVsZW4gbmFjaCBBdGhlbi4uLgoKICBTaWx2YW5hIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2FubiBtaXIgZWluZXIgc2FnZW4sIHdhcnVtIGxpbnV4IG51ciAxIENEUk9NIHZlcnRyYWVndD8uIFdlbm4gaWNoIGJlaSBtaXIgMiBDRFJvbSdzIGFuc2NsaWVzc2UsIChXdXJ6ZWwsICA5LiBGZWIgMTk5NywgMjA6MTM6MTcpOgp+IyEgcm49U2lsdmFuYSBydD04NTU1MTM4OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NTEyMzcwCndhcyBoYXQgZGFzIG1pdCB1bnRlcnNjaGllZGxpY2hlbiBtb2RlbGxlbiB6dSB0dW4/IHVudGVyc2NoaWVkZW4gd2VyZGVuIGRpZQpkb2NoIHVlYmVyIGRpZSBzY3NpLWFkcmVzc2UuIG1pdCBjZHJvbXMgaGFiZSBpY2ggZGFzIG5pY2h0IGF1c3Byb2JpZXJ0LCBhYmVyCm1pdCBiYXVnbGVpY2hlbiBwbGF0dGVuIGZ1bmt0aW9uaWVydCBkYXMgZWlud2FuZGZyZWkuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FybnVuZyB2b3IgTlQgKFBhdHJ5biwgIDkuIEZlYiAxOTk3LCAyMDozOTo0MCk6Cn4jISBybj1TdXNoaSBydD04NTU0MTUyMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NDA4MjExCm9oIGd1dCwgZGFzcyBkdSBqZXR6dCA5MCUgZGVyIGxldXRlIGRpZSBDRHMgYnJlbm5lbiBmdWVyIGJsb2VkIGhpbnN0ZWxsc3QuLi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcm51bmcgdm9yIE5UIChTdXNoaSwgIDkuIEZlYiAxOTk3LCAyMDo1NTo1Nyk6Cn4jISBybj1QYXRyeW4gcnQ9ODU1NTE3MTgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTQwODIxMQpFaW5lIG1vZWdsaWNoZSBMb2VzdW5nIGxhdXRldDoKCjEuIEVpbmVuIHp3ZWl0ZW4gTW91bnRwb2ludCBlcnN0ZWxsZW4sIHouQi46CiAgICAgICAgbWtkaXIgL2Nkcm9tMgoyLiBIZXJhdXNmaW5kZW4sIGFuIHdlbGNoZW0gQ29udHJvbGxlciBkYXMgQ0QtUm9tIGhhZW5ndC4KMy4gRGFzIENELVJvbSBhbHMgcm9vdCBpbiAvZXRjL2ZzdGFiIGVpbnRyYWdlbiAoei5CLiBkZW4gZXJzdGVuICBFaW50cmFnCiAgIGtvcGllcmVuKS4KNC4gIk5ldSBib290ZW4iLi4uCgoKQWNoLCB1bmQgUGF0cnluLi4uIFN0ZWNrIGRvY2ggQklUVEUgRGVpbmVuIEtvcGYgaW4gZWluZSBLaXN0ZSBtaXQgRG9zOTUtQ0QKUm9tcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhcm51bmcgdm9yIE5UIChIb29kLCAgOS4gRmViIDE5OTcsIDIwOjU3OjUwKToKfiMhIHJuPVN1c2hpIHJ0PTg1NTUxODE1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU0MDgyMTEKYXUgamEsIGxpbnV4LXVzZXIgc3VwZXJwcm9maSAuLi5pY2ggYmluIGphIHNvIHVud3VlcmRpZywgd2llIGtvbm50ZSBpY2ggZXMKbnVyIHdhZ2VuLCBkZWluZSBpbnRvbGxlcmFueiB6dSBiZW1hZW5nZWxuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYXJudW5nIHZvciBOVCAoV3VyemVsLCAgOS4gRmViIDE5OTcsIDIxOjAwOjQ4KToKfiMhIHJuPVN1c2hpIHJ0PTg1NTUxODMxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU0MDgyMTEKd2VubiBpaHIgaGllciBzbyBlaW5lbiBzY2hlaXNzIHZlcnphcGZ0LCBoYWx0ZXQgZXVjaCB3ZW5pZ3N0ZW5zIGFuIGRpZSAKcmVjaHRzY2hyZWlidW5nOiBpbnRvbGVyYW56IGhhdCBudXIgZWluIGwuCgptZWhyIGdpYnRzIGRhenUgZ2xhdWJlIGljaCBuaWNodCBhbnp1bWVya2VuLi4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhcm51bmcgdm9yIE5UIChIb29kLCAgOS4gRmViIDE5OTcsIDIxOjAzOjU0KToKfiMhIHJuPVd1cnplbCBydD04NTU1MTg0NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NDA4MjExCmphLCB3aWUgd2FyIGRhcyBnbGVpY2g/IGNvbXB1dGVyIGVyemV1Z2VuIGFuYWxwaGFiZXRlbiA6KQoKLS0tLS0tCnBhdHJ5bgoKUFM6IG5laW4sIGljaCBsYXNzZSBqZXR6dCBsaWViZXIgZG9jaCBrZWluIHJlY2h0c2NocmVpYnByb2dyYW1tIHVlYmVyIGRpZQogICAgIE1QQSBsYXVmZW4sIG9id29obDogcmFjaGUgaXN0IHN1ZXNzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcHJvYmxlbWUgdW50ZXIgbGludXggbWl0IDIgdmVyc2NoaWVkZW4gZ3Jvc3NlbiBwbGF0dGVuPyAoU3VzaGksIDEwLiBGZWIgMTk5NywgMDA6Mjc6NDMpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODU1NTI4NjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTUyODY4MQpEYXMgYWx0ZSBDb25uZXIgUHJvYmxlbS4uLiBEaWUgRGluZ2VyIHNpbmQgbGVpZGVyIEJBRCwgRHUga2FubnN0IHouQi4KdmVyc3VjaGVuLCBzaWUgbWl0IGVpbmVtIGFsdGVuIEFNSS1CaW9zIGxvdy1sZXZlbCB6dSBmb3JtYXRpZXJlbi4gRGFzIGhpbGZ0Cm1hbmNobWFsLgoKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcHJvYmxlbWUgdW50ZXIgbGludXggbWl0IDIgdmVyc2NoaWVkZW4gZ3Jvc3NlbiBwbGF0dGVuPyAoRmVsYWd1bmQsIDEwLiBGZWIgMTk5NywgMTA6MDQ6MDEpOgp+IyEgcm49U3VzaGkgcnQ9ODU1NTMwODYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTUyODY4MQpEdSBtZWluc3QgZGFzIGthbSB2b24gZGVyIENvbm5lciBhbHMgcHJpbWFyeT8/IG5hamEgamV0enQgbGFldWZ0cyBqYSwgYmxvc3MKbWVpbiBkaWFibG8gbXVsdHlwbGF5ZXJjaGFyIGlzIHdlZyA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcHJvYmxlbWUgdW50ZXIgbGludXggbWl0IDIgdmVyc2NoaWVkZW4gZ3Jvc3NlbiBwbGF0dGVuPyAoUGlsZ3JpbSwgMTAuIEZlYiAxOTk3LCAxMjo0NjoyMSk6Cn4jISBybj1GZWxhZ3VuZCBydD04NTU1NjU0NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NTI4NjgxCkFwcnBwb3MgQ29ubmVyLVBsYXR0ZW4gdW5kIExpbnV4IC4uLgoKa2FubiBlcyBzZWluLCBkYXMgZGllIGJlaW5lbiBuaWNodCBiZXNvbmRlcnMgZ3V0IG1pdGVpbmFuZGVyIGtvZW5uZW4gLi4uCkljaCBoYWIgaGllciB2b3IgMiBXby4gbmUgQVQ1NDAgQ29ubmVyIGFscyBwcmltYXJ5IGluIHVuc2VyZW4gTGludXgtUmVjaG5lcgpnZXNjaHJhdWJ0IChsaW51eCAyLjAuMTgpLCBzZWl0ZGVtIGhhZ2VsdChlKSBlcyBQbGF0dGVuZmVobGVyIC4uLgphbGxlcmRpbnMgbnVyIGJlaSAoZ3J1ZWJlbCkgMiBiZXN0aW1tdGVtIGZpbGVzICgvdmFyL2xvZy8gbWVzc2FnZXMgdW5kCndhcm4uKmlyZ2VuZHdhcykgLi4uIGFsc28gYmluL3dhciBpY2ggbWlyIG5pY2h0IHNpY2hlciwgb2IgZGFzIG51biBhbiBkZXIKUGxhdHRlLCBvZGVyIGFuIExpbnV4IGxhZyAuLi4gbmFjaGRlbSBpY2ggZGllIEdyb2Vzc2UgZnVlciBkaWVzZSBiZWlkZW4KbG9nLWZpbGVzIGF1ZiA0MGsgKGJ6dyA0aykgYmVzY2hyYWVuZ3QgaGF0dGUsIGJsaWViZW4gZGllc2UgUGxhdHRlbmZlaGxlciBhdXMKLi4uIGRhZnVlciBibGVpYnQgbWlyIGltbWVybm9jaCBoaW4gdW5kIHdpZWRlciBkaWUga29uc29sZSBoYWVuZ2VuIChrZWluCmVpbmxvZ2dlbiBvaG5lIHRlbG5ldCBtZWhyIG1vZWdsaWNoKSAuLi4ga2VpbmUgYWhudW5nIHdvcmFuIGRhcyBudW4gd2llZGVyCmxpZWd0IC4uLgoKKnIKUHM6IGlzdCBuZW4gNDg2LzMzRFggbWl0IDggTUIgKG5peCBFLWlkZSkgLC0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwcm9ibGVtZSB1bnRlciBsaW51eCBtaXQgMiB2ZXJzY2hpZWRlbiBncm9zc2VuIHBsYXR0ZW4/IChTdXNoaSwgMTAuIEZlYiAxOTk3LCAxNDo1MjoyMyk6Cn4jISBybj1QaWxncmltIHJ0PTg1NTU3NTE4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU1Mjg2ODEKQ29ubm9yIGlzdCBNdWVsbCwgTGludXggZGVja3QgZGllIEZlaGxlciBudXIgc2NobmVsbGVyIHVuZCBzY2hvbnVuZ3Nsb3NlciBhdWYKYWxzIFdpbmRvcy4gQmVzc2VyIGdlc2FndCwgZXMgdmVyYWxiZXJ0IERpY2ggbmljaHQgbWl0IGVpbmVtIGJ1bnRlbiBGZW5zdGVyLApkYXMgYmVoYXVwdGV0LCBlaW5lIEF1c25haG1lZXJzY2hlaW51bmcgYXVmIDkgVWhyIGVudGRlY2t0IHp1IGhhYmVuLCBkaWUgbnVyCnZlcnNjaHdpbmRldCwgd2VubiBEdSBiZWkgTWl0dGVybmFjaHQgQmlsbCBHYXRlcyBtaXQgZWluZW0gRmxlZGVybWF1c2VpbmxhdWYKYXVmIGRlbSBGcmllZGhvZiBiZWdsdWVja3N0LgoKc3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhcm51bmcgdm9yIE5UIChGeXQsIDEwLiBGZWIgMTk5NywgMTY6NDk6NTkpOgp+IyEgcm49V3VyemVsIHJ0PTg1NTUxODQ0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU0MDgyMTEKCkhtcGYsIHNlaSBkb2NoIHRvbGVyYW50LCBXdXJ6ZWwuCgpBY2ggamEsIGVyIGlnbm9yaWVydCBtaWNoIGphIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcHJvYmxlbWUgdW50ZXIgbGludXggbWl0IDIgdmVyc2NoaWVkZW4gZ3Jvc3NlbiBwbGF0dGVuPyAoQWNyaW1vbiwgMTAuIEZlYiAxOTk3LCAxOTo0NjowOCk6Cn4jISBybj1TdXNoaSBydD04NTU1ODI3NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NTI4NjgxClRvc2hpYmEgaXN0IGViZW5mYWxscyBNdWVsbC4KSWNoIGhhdHRlIG1pciBlaW5lIDEgR0IgVG9zaGliYSB2b3IgendlaSBKYWhyZW4gZ2VrYXVmdCwgYXVmIGRlciBzaWNoIGltbWVyCm1laHIgU2NocmVpYi9MZXNlZmVobGVyIGdlaGFldWZ0IGhhYmVuLCBiaXMgbmljaHQgZWlubWFsIG1laHIgZGllCkhlcnN0ZWxsZXJkYXRlbiBkZXIgRmVzdHBsYXR0ZSB6dSBsZXNlbiB3YXJlbiB1bmQgaWNoIGRpZSBQbGF0dGUgbmljaHRtYWwgbWVocgpMb3dsZXZlbC1mb3JtYXRpZXJlbiBrb2VubmVuIGhhYmUuCkRhcmF1ZmhpbiBoYWJlIGljaCBkaWUgUGxhdHRlIGVpbmdlc2FuZHQgKEdhcmFudGllKSwgdW5kIG5hY2ggZWluZW0gaGFsYmVuCkphaHIga2FtIGVpbmUgbmV1ZSBUb3NoaWJhLVBsYXR0ZSBtaXQgZGVtIFZlcm1lcmsgenVydWVjaywgZGllIGFsdGUga29ubnRlCm5pY2h0IHJlcGFyaWVydCB3ZXJkZW4uCkRpZSBuZXVlIFBsYXR0ZSBoYXQgc2ljaCBkYW5uIGdlbmF1IHNvIHZlcmhhbHRlbiB3aWUgZGllIGFsdGUuClNpZSBpc3QgdW5iZW51dHpiYXIgZ2V3b3JkZW4gaW5uZXJoYWxiIGVpbiBwYWFyIE1vbmF0ZS4KCkRhcyB3YXIgbnVyIHNvIGFscyBXYXJudW5nLCBpY2ggaGFiZSB6d2VpIGFuZGVyZSBQbGF0dGVuIChRdWFudHVtIHVuZCBOZWMpLApkaWUgc2VpdCA0IGJ6dy4gMiBKYWhyZW4gbGF1ZmVuIHVuZCBiaXNoZXIgbm9jaCBrZWluZW4gZWluemlnZW4KU2NocmVpYi9MZXNlZmVobGVyIGhhdHRlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FybnVuZyB2b3IgTlQgKEdyaW1tYm9ybiwgMTAuIEZlYiAxOTk3LCAyMDoyNDo1NCk6Cn4jISBybj1QYXRyeW4gcnQ9ODU1NTE3MTgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTQwODIxMQpOaWNodCwgZGFzcyBpY2ggQWhudW5nIGhhZXR0ZSwgYWJlciBpbSBLb2VsbmVyIFJlY2hlbnplbnRydW0gbGFldWZ0IGRlcgpDRC1Xcml0ZXIgdW50ZXIgTWFjLCB1bmQgZGFzLCB3byBNYWMgaGllciB1bnBvcHVsYWVyIGlzdCB1bmQgYWJnZXNjaGFmZnQKd2VyZGVuIHNvbGwuIExpbnV4IGlzdCBoaWVyIGluZGlza3V0YWJlbCAoZGFzIGFsdGUgUHJvYmxlbSBiZWkgb2ZmaXppZWxsZW4KU3RlbGxlbjogV2FzIG5peCBrb3N0LCBkYXMgaXMgYXVjaCBuaXgpLCBkaWUgQWx0ZXJuYXRpdmUgd2FlcmUgYWxzbwpXaW4zLjExL1dpbk5UIGdld2VzZW4uIEF1Y2ggd2VubiBpY2gga2VpbmUgQWhudW5nIGhhYmU6IEhpZXIgbGF1ZmVuIGVpbiBIYXVmZW4KTGV1dGUgcnVtLCBkaWUgZ2VuYXUgd2lzc2VuLCB3YXMgc2llIG1hY2hlbiB1bmQgd2FzIHNpZSB3byByYW5oYWVuZ2VuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhcm51bmcgdm9yIE5UIChTdXNoaSwgMTAuIEZlYiAxOTk3LCAyMDozMTozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU1NjAyNjk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTQwODIxMQpIbW1tLCB3aWxsc3QgRHUgdW5zIGpldHp0IGFsbGUgbmVpZGlzY2ggbWFjaGVuLCBvZGVyIHdpZT8gKnNldWZ6KiBFcyBnaW5nIGhpZXIKamEgbGVkaWdsaWNoIGRhcnVtLCBhdWYgZWluZW0gQ29tcHV0ZXIgbWl0IGVpZ2VudGxpY2ggYWt6ZXB0YWJsZXIgVGVjaG5payBlaW4KcmljaHRpZ2VzIE9TICgicmljaHRpZ2VzIj8gbmVpbiAtIHVlYmVyaGF1cHQgZWluIE9TKSB6dSBpbnN0YWxsaWVyZW4uCgpTdXNoaQoKVGhlIG9ubHkgbG9naWNhbCBxdWVzdGlvbiB3aXRoIExpbnV4IGlzICJ3aHkgbm90Ii4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdhcm51bmcgdm9yIE5UIChIb29kLCAxMC4gRmViIDE5OTcsIDIxOjIyOjAyKToKfiMhIHJuPVN1c2hpIHJ0PTg1NTYwMzA5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU0MDgyMTEKYWt6ZXB0YWJsZSB0ZWNobmlrPyBuYSBqYSwgaGF1cHRzYWVjaGxpY2ggdmVyc2NodWxkZWQgZ3JhZCBkZXIgZ3J1bmRhdWZiYXUKZGVzIElCTS1rb21wYXRpYmxlbiBQQ3MgZGllIHRlaWx3ZWlzZSByZWNodCB2ZXJtdXJrc3RlbiBCUy1hcmNoaXRla3R1cmVuCmRlciBhdWYgZGllc2VtIHJlY2huZXIgc2Nob24gbGFlbmdlciB6dSBmaW5kZW5kZW4gQlMuCmljaCBnbGF1YmUgZ3JhZCBkZXIgcGMgaXN0IGVpbiBwYXJhZGViZWlzcGllbCBkYWZ1ZXIsIGRhc3MgbWVpc3QgbmljaHQgZGFzCmJlc3NlcmUgYXVmIGRlbSBtYXJrdCB1ZWJlcmxlYnQuIGRlciBwYyBzY2huaXR0IGltIHN5c3RlbXZlcmdsZWljaCBzb2dhcgpiZXNvbmRlcnMgc2NobGVjaHQgYWIgdW5kIGlzdCBkZW1lbnRzcHJlY2hlbmQgZXJmb2xncmVpY2ggOykKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdhcm51bmcgdm9yIE5UIChXdXJ6ZWwsIDEwLiBGZWIgMTk5NywgMjE6MjY6NTIpOgp+IyEgcm49SG9vZCBydD04NTU2MDYxMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NDA4MjExCmRhcyBzY2hsZWNodGUgaXN0IGRhcyBlaW56aWdlLCB3b21pdCBtYW4gcmljaHRpZyB2aWVsIGdlbGQgbWFjaGVuIGthbm4uLi4KamVkZW5mYWxscyBpbiBkZXIgYnJhbmNoZS4gYmlsbCBnYXRlcyBpc3QgbnVyIGVpbiBiZWlzcGllbCwgZGFzIHNpY2ggYmVsaWViaWcKZm9ydHNldHplbiBsYWVzc3QsIHVlYmVyIHNhcCB1bmQgYWVobmxpY2hlcy4uLgptYW4gYnJhdWNodCBrZWluZSBndXRlbiBlbnR3aWNrbGVyLCBzb25kZXJuIGd1dGVzIG1hcmtldGluZy4gamVkZW5mYWxscyB3ZW5uCmRpZSBrb2hsZSBkYXMgZWluemlnZSBpc3Qgd2FzIHphZWhsdAoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwcm9ibGVtZSB1bnRlciBsaW51eCBtaXQgMiB2ZXJzY2hpZWRlbiBncm9zc2VuIHBsYXR0ZW4/IChGZWxhZ3VuZCwgMTAuIEZlYiAxOTk3LCAyMzoxNjoxOCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg1NTYwMDM2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU1Mjg2ODEKSG1tLi5tZWluIFByb2JsZW0gc2NoZWludCBlaGVyIGFtIENvbnRyb2xsZXIgenUgbGllZ2VuLCBoYWIgamV0enQgYXVjaCBiZWkgZGVyCmtsZWluZW4gcGxhdHRlIGxhdXQgbGludXgtZmRpc2sgbWVociBhbHMgMTAyMyBjeWwuIChpcyBkYXMgenVmYWxsLCBkYXNzIHNpY2gKZGVyIHdlcnQgKDI0NzcpIGdlbmF1IG1pdCB2b20gYmlvcy1zZXR1cCBlbnRkZWNrdGVtIGxhbmR6LiB3ZXJ0ICsxIGRlY2t0LApnZW5hdSB3aWUgdm9yaGVyIGJlaSBkZXIgYW5kZXJlbiBwbGF0dGUgYXVjaD8pCkZlbGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtvbnZlbnQuIFNwZWljaGVyIChBcnR5LCAxMS4gRmViIDE5OTcsIDA5OjAyOjQ1KToKSGFsbG8hCgpJY2ggdmVyc3VjaCBtb21lbnRhbiBkaWUgU3RhcnRkYXRlaWVuIG1laW5lcyBDb21waXMgc28gdW16dWJhc3RlbG4sCmRhc3MgaWNoIG1heC4ga29udmVudC4gU3BlaWNoZXIgcmF1c2hvbGUgKGtlbm50IHdvaGwgZmFzdCBqZWRlciBkYXMgUHJvYmxlbSkuCk51biBtZWluZSBGcmFnZSwgd2VsY2hlIERhdGVpZW4gd2VyZGVuIGJlaW0gU3RhcnQgbm9jaCBkdXJjaGxhdWZlbj8KQXVmIG1zZG9zLnN5cywgY29uZmlnLnN5cyB1bmQgYXV0b2V4ZWMuYmF0IGJpbiBpY2ggc2Nob24gZ2Vrb21tZW4sIGFiZXIKYW5zY2hlaW5lbmQgbWVsZGV0IGRlciBkYWVtbGljaGUgQ29tcHV0ZXIgbm9jaCBpcmdlbmR3byBUcmVpYmVyIGFuLCB6LkIuCmRlbiBkbGJzcGFjZS1UcmVpYmVyLCBkZW4gaWNoIGdhciBuaWNodCBiZW51dHplIHVuZCBlaWdlbnRpbGNoIGF1Y2ggbmljaHQgCmxhZGVuIHdpbGwgOi0oICBIYXQgamVtYW5kIGVpbmUgSWRlZSB6dXIgQWJoaWxmZT8KCiBBcnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga29udmVudC4gU3BlaWNoZXIgKEhhdGUsIDExLiBGZWIgMTk5NywgMTA6MTE6MTcpOgp+IyEgcm49QXJ0eSBydD04NTU2NDgxNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NjQ4MTY1Cldlbm4gZGEgc3RlaHQgV2luZG93cyA5NSB3aXJkIGdlc3RhcnRldCAuLi4gRjggZHJ1ZWNrZW4gdW5kIGRhbm4gZGVuClB1bmt0IEFiZ2VzaWNoZXJ0LCBudXIgRWluZ2FiZWF1ZmZvcmRlcnVuZy4uLgoKRGFubiBsYWVkdCBlciBuaXgsIGVyZ28gbWF4aW1hbGVyIFNwZWljaGVyLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrb252ZW50LiBTcGVpY2hlciAoU3VzaGksIDExLiBGZWIgMTk5NywgMTI6MjM6MTApOgp+IyEgcm49QXJ0eSBydD04NTU2NDgxNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NjQ4MTY1CkphLCB3ZW5uIER1IG1hbCBnZXNhZ3QgaGFldHRlc3QsIHdlbGNoZSBWZXJzaW9uIHZvbiBEb3MgRHUgYmVudXR6dC4uLgoKUWVtbSBpc3QgbmllIHZlcmtlaHJ0Li4uClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGtvbnZlbnQuIFNwZWljaGVyIChBcnR5LCAxMS4gRmViIDE5OTcsIDE3OjUxOjUwKToKfiMhIHJuPUhhdGUgcnQ9ODU1NjUyMjc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTY0ODE2NQpIbSwgYWxzbyBkaWUgRnVua3Rpb24gZGVyIEY4IFRhc3RlIGlzdCBtaXIgc2Nob24gYmVrYW5udCA7LSksIHdlbm4gaWNoIAphbGxlcmRpbmdzIGRhbm4gZG9ydCBkZW4gTW9kdXMgbWl0IEVpbnplbGJlc3RhZXRpZ3VuZyBhdXN3YWVobGUsIGZyYWd0CmVyIGVyc3QsIG9iIGVyIGRlbiBEbGJzcGFjZS1UcmVpYmVyIGxhZGVuIHNvbGwsIGRhbm4gU3lzdGVtcmVnaXN0cmllcnVuZ3MtCmRhdGVpZW4gdmVyYXJiZWl0ZW4sIERBTk4gZXJzdCBjb25maWcuc3lzIHVuZCBhdXRvZXhlYyB1bmQgbGV0enRlbmRsaWNoICdXSU4nLgooRGFzIGRvcyBpc3QgZ2xhdWIgaWNoIDYuMjIsIGViZW4gZGllICd2b3JoZXJpZ2UgTVNET1MgVmVyc2lvbicgdW50ZXIgV2luOTUpLgoKIEFydHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtvbnZlbnQuIFNwZWljaGVyIChTdXNoaSwgMTEuIEZlYiAxOTk3LCAyMDowOToyMik6Cn4jISBybj1BcnR5IHJ0PTg1NTY3OTkxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU2NDgxNjUKQXJ0eSwKCkR1IHR1c3QgbWlyIGphIGlyZ2VuZHdpZSBsZWlkLi4uIFRpcHAgbWFsICJ2ZXIiLCBkYW5uIGxhZXNzdCBEdSBEaWNoIHZvbQpmcmV1bmRsaWNoZW4gSGFlbmRsZXIgdW0gZGllIEVja2UgZGF2b24gdWViZXJ6ZXVnZW4sIGRhc3MgV2luOTUgZWluCiJCZXRyaWVic3N5c3RlbSIgaXN0IHVuZCBkYW5uLi4uIG5pbW0gZGFzIE1hdXNrYWJlbCB1bmQgaGFlbmcgRGljaCBhdWYuIFBhdHJ5bgpoYXQgc2ljaGVyIGVpbmUgZ2VpbGUgU29mdHdhcmVsb2VzdW5nIGRhZnVlci4KClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga29udmVudC4gU3BlaWNoZXIgKEZ5dCwgMTIuIEZlYiAxOTk3LCAwMDoyMToxMCk6Cn4jISBybj1BcnR5IHJ0PTg1NTY0ODE2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU2NDgxNjUKCkhtLCBpY2ggaGFiIGRhIG5lIElkZWUsIGFiZXIgZGllIHdpbGwgaGllciBrZWluZXIgbWVociBob2VyZW4gOy0pCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga29udmVudC4gU3BlaWNoZXIgKEFjcmltb24sIDEyLiBGZWIgMTk5NywgMDI6MzY6MjApOgp+IyEgcm49QXJ0eSBydD04NTU2NDgxNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NjQ4MTY1CkRhcyBQcm9ibGVtIGR1ZXJmdGUgd29obCBlaGVyIGluIGRlciBBbnphaGwgZGVyIFN0ZWNra2FydGVucGxhZXR6ZSB1bmQgZGVtCkxpbWl0IGRlciBkZXJ6ZWl0CmVyaGFlbHRsaWNoZW4gU3BlaWNoZXJrYXJ0ZW4gbGllZ2VuLgpNaXIgaXN0IGplZGVuZmFsbHMgbm9jaCBrZWluIEFud2VuZGVyIGJla2FubnQsIGRlciBkaWUgdm9sbGVuIDQgR2lnYWJ5dGUKa29udmVudGlvbmVsbGVuIFNwZWljaGVyCmF1c2dlbnV0enQgaGF0LgpBYmVyIGRhIER1IGphIGpldHp0IHdvaGwgYW4gZGllc2UgR3JlbnplIGdlc3Rvc3plbiBiaXN0LCBlbXBmZWhsZSBpY2ggRGlyCnNjaG9uIG1hbCBlaW5lIENyYXkgenUgYmVzb3JnZW4uCklzdCBzaWUgZGlyIHp1IHRldWVyIHVuZCB3aWxsc3QgRHUgRGljaCBhdWNoIHNvbnN0IG5hY2gga2VpbmVtIFJlY2huZXIgbWl0Cm1laHIgYWxzIDMyIEFkcmVzemxlaXR1bmdlbiB1bXNlaGVuLCBzbyBibGVpYnQgRGlyIHdvaGwgbnVyIGRpZSBBbnNjaGFmZnVuZwpncm9zemVyIFNDU0ktUGxhdHRlbiAoaW4gZGVyIEdyb2VzemVub3JkbnVuZyAxMCBHQiBzaW5kIHNpZSBiZXJlaXRzIHp1CmhhbGJ3ZWdzIGFremVwdGFibGVuIFByZWlzZW4gZXJoYWVsdGxpY2gpLCBkaWUgRHUgYWxzIFN3YXBzcGVpY2hlciB2ZXJ3ZW5kZW4Ka2FubnN0LgpEZXIgU3BlaWNoZXIgaXN0IHp3YXIgbGFuZ3NhbSwgYWJlciB3ZW5pZ3N0ZW5zIGdlaHQgZXIgRGlyIG5pY2h0IG1laHIgYXVzLgpEdSBzb2xsdGVzdCBkYWJlaSBhYmVyIGRhcmFuIGRlbmtlbiwgZGFzeiBEZWluIEJldHJpZWJzc3lzdGVtIGVpbmVuIGxvZ2lzY2hlbgpBZHJlc3piZXJlaWNoIHZvbiB3ZXNlbnRsaWNoIG1laHIgYWxzIDQgR2lnYWJ5dGUgYmVoZXJyc2NoZW4gbXVzei4gTWluZGVzdGVucwo0MCBCaXQgc29sbGVuIGRpZSBuZXVlbiBBZHJlc3p2YXJpYWJsZW4gaGFiZW4sIDY0IEJJdCBzaW5kIHp1IGVtcGZlaGxlbi4KSW0gWndlaWZlbHNmYWxsIGVpbmZhY2ggYWVuZGVybiB1bmQgZGVuIEtlcm5lbCBuZXUga29tcGlsaWVyZW4uCgpXYXMgc2Nob24gdW50ZXIgOCBNQiBGcmFnZW4gYXVmd2lyZnQsIGRhcmYgc2ljaCBuaWNodCBSZWNobmVyIG5lbm5lbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlciAoc2VpbmVuIEFtaWdhIGdsdWVja2xpY2ggc3RyZWljaGVsbmQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrb252ZW50LiBTcGVpY2hlciAoUGF0cnluLCAxMi4gRmViIDE5OTcsIDAyOjU3OjUwKToKfiMhIHJuPUFjcmltb24gcnQ9ODU1NzExMzgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTY0ODE2NQplaW5lIGNyYXkgbXVzcyBlcyBudW4gbmljaHQgZ2xlaWNoIHNlaW4gOikKZXMgbWFjaHQgc2Nob24gamVkZXIgcmVjaG5lciBtaXQgTUlQUywgQUxQSEEgb2RlciBhZWhubGljaGVuIHByb3plc3NvcmVuIG1laHIKYWxzIDMyIGFkcmVzc2xlaXR1bmdlbiBtaXQuIGVpbiBzeXN0ZW0gd2VsY2hlcyB2b2xsc3RhZW5kaWcgNjRiaXR0aWcKYXVzZ2VsZWd0IGlzdCwgZHVlcmZ0ZSBhbGxlcyB2b24gU2lsaWNvbkdyYXBoaWNzIHNlaW4sIGRlcmVuIHVuaXgtZGVyaXZhdAppc3QgZWJlbmZhbGxzIGJlcmVpdHMgc2VpdCBsYWVuZ2VyZXIgemVpdCB2b2xsc3RhZW5kaWcgYXVmIDY0Yml0IHVtZ2VzdGVsbHQKc28gZWluZSBtYXNjaGluZSBrb3N0ZXQgYWxsZXJkaW5ncyBhdWNoIDUwMDAwLC0sIHdlbm4gbWFuIHNvIGhhbGJ3ZWdzIHdhcwp2ZXJudWVuZnRpZ2VzIG1pdCBtYWNoZW4gd2lsbAoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW45NS9XaW4zLjExL0xpbnV4IChUb2UsIDEyLiBGZWIgMTk5NywgMTI6MDY6MDQpOgp+IyEgcm49SGFkcmEgcnQ9ODU1Mzk3MTg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTIxNjYyNQpEaWUgRGF0ZWkgaXN0IGM6XE1zZG9zLnN5cwoKRG9ydCB1bnRlciBbT3B0aW9uc10KQm9vdE11bHRpPTEKQm9vdEdVST0xCk5ldHdvcms9MQpCb290TWVudT0xCkJvb3RNZW51RGVmYXVsdD0xCkJvb3RNZW51RGVsYXk9NQo7CjtUaGUgZm9sbG93aW5nLi4uCgpkYXMgd2FycywgdG9lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTQiBBV0U2NCArIFdpbmRvd3MgOTUgKEhhdGUsIDEyLiBGZWIgMTk5NywgMTM6MjY6NDQpOgpIaSBMZXV0ZSwKCihrZWluZSBkdW1tZW4gQmVtZXJrdW5nZW4genUgV2luYmxvZWQgOTUhKQpJY2ggaGFiZSBtaXIgbmUgU0IgQVdFNjQgZ2VrYXVmdCwgZGllIGVpbmdlYmF1dCB1bmQgV2luZG93cyBnZXN0YXJ0ZXQuCkhhdCBhdWNoIGFsbGVzIGdla2xhcHB0IHVuZCBXaW5ibG9lZCBoYXQgZGllIFRyZWliZXIgaW5zdGFsbGllcnQsIGFiZXIKbmFjaGhlciBrb21tdCBrZWluIFRvbiByYXVzIChuYXR1ZXJsaWNoIGhhYiBpY2ggQm94ZW4gYW0gQXVzZ2FuZyBkcmFuKS4KS29taXNjaGVyd2Vpc2UgZ2VodCBkaWUgS2FydGUgbWl0IExpbnV4IChpc2FwbnAgKyBhd2UzMiBUcmVpYmVyKSBnYW56Cnd1bmRlcmJhci4gTnVyIGhhZXR0ZSBpY2ggc2Nob24gZ2VybiwgZGFzcyBzaWUgdW50ZXIgV2luZG93cyA5NSBsYWV1ZnQsCmRhIGljaCBlaWdlbnRsaWNoIGRhbWl0IHNwaWVsZW4gd29sbHRlLiBIYXQgdmllbGxlaWNodCBqZW1hbmQgbmUgSWRlZT8KV2luZG93cycgU3lzdGVtc3RldWVydW5nL1N5c3RlbSBzYWd0LCAKICAiRGFzIEdlcmFldCBpc3QgbmljaHQgdm9yaGFuZGVuLCBmdW5rdGlvbmllcnQgbmljaHQgcmljaHRpZyBvZGVyIGVzIHd1cmRlbgogICBuaWNodCBhbGxlIFRyZWliZXIgaW5zdGFsbGllcnQgKENvZGUgMjQpIgoKRWluZSB3aXJrbGljaCBuZXR0ZSBNZWxkdW5nLCB1bmQgdm9yIGFsbGVtIENvZGUgMjQgaXN0IG5pcmdlbmRzIHp1IGZpbmRlbi4uLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNCIEFXRTY0ICsgV2luZG93cyA5NSAoQW5hdG9sLCAxMi4gRmViIDE5OTcsIDEzOjQ1OjUwKToKfiMhIHJuPUhhdGUgcnQ9ODU1NzUwNDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTc1MDQwNAoKKkdSSU5TKiBJY2ggaGFiZSBnZW5hdSBkaWVzZXMgUHJvYmxlbSBtaXQgZWluZXIgU0IxNlBuUCB1bmQgV2luTlQuIFVudGVyIERvcwp3aXJkIGRhcyBHZXJhZXQgZXJrYW5udCB1bmQgbGFlc3N0IHNpY2ggbWl0IGFsbGVuIGdhZW5naWdlbiBUZXN0cHJvZ3JhbW1lbgooYWxzbyBkaXZlcnNlIFNwaWVsZSkgZXJmb2xncmVpY2ggYW5zcHJlY2hlbi4KTmFjaGRlbSBIYXJkd2FyZS1VbXN0ZWNrZW4gbmljaHRzIGhhbGYgdW5kIGtlaW5lIEp1bXBlciBhdWYgZGVyIEthcnRlIHNpbmQsCnNjaGF1dGUgaWNoIGF1ZiBkZXIgQ3JlYXRpdmVMYWJzLVBhZ2UgbmFjaCB1bmQgZmFuZCBkZW4gSGlud2VpcywgZGFzcyBpbSBCaW9zCmRhcyBQbHVnJ24nUGxheSBhdXNnZXNjaGFsdGV0IHdlcmRlbiBtdWVzc2UuClp1Z2VnZWJlbiwgZnVlciBXaW5hcmdsIDk1IGtsaW5ndCBkYXMgZWluIHdlbmlnLi4uIHZlcnJ1ZWNrdC4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtvbnZlbnQuIFNwZWljaGVyIChLcmV0ZWssIDEyLiBGZWIgMTk5NywgMTM6NTE6MzgpOgp+IyEgcm49UGF0cnluIHJ0PTg1NTcxMjY3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU2NDgxNjUKQmVkZXV0ZXQgZGFzLCBkYXNzIG1hbiA2NCBNVURzIGdsZWljaHplaXRpZyBvZmZlbiBoYWJlbiBrYW5uPyBEYW5uIHdhZXIncwpkaWUgS2lzdGUgamEgc2Nob24gd2VydCEgOi0pCgoKICAgICAgIHwgLyAgfFwgIHwtLSAgLS0tICB8LS0gIHwgLwogICAgICAgfDwgICB8LyAgfC0gICAgfCAgIHwtICAgfDwKICAgICAgIHwgXCAgfFwgIHwtLSAgIHwgICB8LS0gIHwgXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNCIEFXRTY0ICsgV2luZG93cyA5NSAoU3VzaGksIDEyLiBGZWIgMTk5NywgMTU6Mjk6MTMpOgp+IyEgcm49SGF0ZSBydD04NTU3NTA0MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU1NzUwNDA0CkFuIGRlbSBEaW5nIGthbm4gbWFuIGRvY2ggUCZQIHBlciBKdW1wZXIgYXVzc2NoYWx0ZW4sIG9kZXI/ICpncmlucyogQW5zb25zdGVuCmVpbmZhY2ggbWFsIGFsbGUgS2FydGVuIHJhdXNyZWlzc2VuIHVuZCBXaW4gbmV1IGluc3RhbGxpZXJlbi4gSWNoIGhhYmUgZGFmdWVyCmVpbmUgZWlnZW5lIFBhcnRpdGlvbi4KClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNCIEFXRTY0ICsgV2luZG93cyA5NSAoU3VzaGksIDEyLiBGZWIgMTk5NywgMTU6MzA6MzkpOgp+IyEgcm49QW5hdG9sIHJ0PTg1NTc1MTU1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU3NTA0MDQKQXUgZmVpbiwgc2NocmVpYiBkb2NoIG1hbCBrdXJ6LCB3aWUgbWFuIGRhcyBtYWNodC4uLiB1bmQgd2FzIHBhc3NpZXJ0LCB3ZW5uCm1hbiBkYW5uIGVpbmUgbmV1ZSBLYXJ0ZSBlaW5iYXV0Li4uCgpTdXNoaSAtIGxhdXQgbGFjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU0IgQVdFNjQgKyBXaW5kb3dzIDk1IChJcml4LCAxMi4gRmViIDE5OTcsIDE2OjEzOjQ4KToKfiMhIHJuPVN1c2hpIHJ0PTg1NTc1NzgzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU3NTA0MDQKQWVoPyBXb2Z1ZXIgaGFzdCBEdSBlaW5lIGVpZ2VuZSBQYXJ0aXRpb24/IEZ1ZXIgV2luPyBEdT8KSWNoIGRlbmsgZGFzIGlzdCBhYnNvbHV0ZXIgU2Nocm90dCB1bmQgRHUgaGFzc3QgZXMgYXVzIHRpZWZzdGVyIFNlZWxlCnVuZCBhbGxlIGRpZSBlcyBiZW51dHp0ZW4gc2luZCBEdW1tIHVuZCBoYWJlbiBlcyBuaWNodCBiZXNzZXIKdmVyZGllbnQ/CgovJEkrIEwuRi4gLyRJLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNCIEFXRTY0ICsgV2luZG93cyA5NSAoTXVya2VzLCAxMy4gRmViIDE5OTcsIDA5OjA5OjIwKToKfiMhIHJuPUhhdGUgcnQ9ODU1NzUwNDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTc1MDQwNApFaW4gYWVobmxpY2hlcyBQcm9ibGVtIGhhdHRlIGljaCBtaXQgbWVpbmVyIFNjaHViZXJ0LUthcnRlIGF1Y2guIFdJTjk1CmVya2FubnRlIHp3YXIgZGllIEthcnRlIHVuZCBpbnN0YWxsaWVydGUgYXVjaHNjaGVpbmJhciBkaWUgVHJlaWJlciwgbnVya3JpZWd0ZQppY2ggYXVjaCBkaWUgTWVsZHVuZywgZGFzcyBkaWUgS2FydGUgbmljaHQga29ycmVrdCBpbnN0YWxsaWVydCBzZWkKKEdlcmFldGV0cmVpYmVyIG9kZXIgc293YXMpLiBJY2ggaGFiZSBkaWUgS2FydGUgZGFubiBub2NobWFsIGltIFN5c3RlbW1lbnVlCnVudGVyIE11bHRpbWVkaWEgbm9jaG1hbCBwZXIgSGFuZCBrb25maWd1cmllcnQgdW5kIGRlbiBUcmVpYmVyIGdld2VjaHNlbHQuCkRhbmFoIGxpZWYgZXMgZGFubi4gCkFwcm9wb3Mgd2llIGtyaWVnZSBpY2ggZGllc2UgS2FydGUgZWlnZW50bGljaCB1bnRlciBMaW51eCB6dW0gbGF1ZmVuPyBELVBsYXllcgpsYWV1ZnQsIGFiZXIgdWViZXIgZGllIEFubGFnZSBrb21tdCBiZWkgTGludXgga2VpbiBTb3VuZCByYXVzIDooCiAKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNCIEFXRTY0ICsgV2luZG93cyA5NSAoSGF0ZSwgMTMuIEZlYiAxOTk3LCAxNDo0Nzo0Nik6Cn4jISBybj1NdXJrZXMgcnQ9ODU1ODIxMzYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTc1MDQwNApUamEsCgphbHNvIG5hY2hkZW0gaWNoIGdlc3Rlcm4genUgc3BhZXRlciBTdHVuZGUgbm9jaCBBbGxlcy1PZGVyLU5pY2h0cwpnZXNwaWVsdCBoYWJlIHVuZCBtZWluIEJJT1MgYXVmIGRlbiBuZXVlc3RlbiBTdGFuZCBnZWJyYWNodCBoYXR0ZQooVm9yaGVyIDAxMTEgdW5kIGpldHp0IDAyMDIpIHdpbGwgendhciBkYXMgRE9TIDYuMjIsIHdlbGNoZXMgaWNoIGluLQp6d2lzY2hlbiBhdWYgZGllIFBsYXR0ZSBnZWJyYWNodCBoYXR0ZSBuaWNodCBtZWhyIHJpY2h0aWcgYm9vdGVuLAphYmVyIGRhZnVlciBsYWV1ZnQgZGllIEthcnRlIChuYWNoZGVtIGljaCBtaXQgZWluZXIgRE9TIDUgRGlza2V0dGUgZ2Vib290ZXQKaGFiZSkuIEVzIGxhZyBhbHNvIGFtIEJJT1MuIE51ciBkYXMgbmV1ZSBCSU9TIGhhdCBub2NoIHNvIHNlaW5lIFByb2JsZW1lCm1pdCBkZXIgU0NTSSBQbGF0dGUgb2RlciB3YXMgd2VpcyBpY2guIEhldXRlIHdlcmRlIGljaCBkYW5uIFdpbmRvd3MgOTUKbm9jaG1hbCBwcm9iaWVyZW4gdW5kIGRhbm4gd2VyZGUgaWNoIHNlaGVuLi4uCgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQiBBV0U2NCArIFdpbmRvd3MgOTUgKE5hc2ltLCAxMy4gRmViIDE5OTcsIDE5OjQxOjU3KToKfiMhIHJuPUhhdGUgcnQ9ODU1NzUwNDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NTc1MDQwNApLb2VubnRlIGVzIGVpbiBQbHVnJ24nRnVjay1Qcm9ibGVtIHNlaW4/IEljaCBtdXNzdGUgYXVjaCBlcnN0IG1pdCBDVENVIHVuZApDVENNIChiZWkgbWVpbmVyIFNCMzIgYXVmIERpc2sgZGFiZWkpIGFyYmVpdGVuLCBiZXZvciBkaWUgS2FydGUgdW50ZXIKU2lubmxvczk1IHRhdC4KCkdydXNzLCBOYXNpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3lKZXQgLi4uIChZZXRpLCAxNC4gRmViIDE5OTcsIDEwOjU0OjA0KToKSGkgIQoKSWNoIGhhbHRlIGdyYWRlIGRpZSBuZXVlIGN0IGluIGRlbiBIYWVuZGVuIHVuZCBsZXNlLCBkYXMgZGFzIFN5SmV0IHZvbiBTeXF1ZXN0CmVuZGxpY2ggbGllZmVyYmFyIHNlaW4gc29sbC4gQWxzbyBmbHVncyBuYWNoIHd3dy5zeXF1ZXN0LmNvbSBnZXNjaGF1dCB1bmQKc2llaGUgZGEsIHRhdHNhY2hlLCBuYWNoIGZhc3QgbmVtIEphaHIgVmVycGFldHVuZyAodm9yZ2VzdGVsbHQgYXVmIGRlciBsZXR6dGVuCkNlQml0KSBoYXRzIFN5cXVlc3Qgd29obCBnZXNjaGFmdCwgZGFzIERpbmcgaW4gU2VyaWUgenUgcHJvZHV6aWVyZW4uIE51biBkaWUKRnJhZ2VuCjoKaGF0IHNjaG9uIGplbWFuZCBzb24gRGluZyB1bmQgaGF0IGRhbWl0IGd1dGUgb2RlciBzY2hsZWNodGUgRXJmYWhydW5nZW4KZ2VtYWNodCA/Ci1LYW5uIGRhcyBEaW5nIGRpZSBhbHRlbiAyNzAgTWVkaWVuIGxlc2VuIF91bmRfIHNjaHJlaWJlbiA/Pwotd2llIHNpZWh0cyBtaXQgZGVuIE5vbWFpIDU0MGVybiBhdXMgPz8KLWthbm4gbWFuIHZvbiBkZW0gRGluZyBib290ZW4gKGVpbiBlbnRzcHJlY2hlbmRlcyBCSU9TIG1hbCB2b3JhdXNnZXNldHp0PykKCm9raSwgZGFzIHdhcnMgZXJzdG1hbCwgdmllbGVpY2h0IGtyaWVnZSBpY2ggamEgbmUgYW50d29ydApSZW50bmVyIFlldGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTeUpldCAuLi4gKERhbmNlciwgMTUuIEZlYiAxOTk3LCAxMDoxMDozNCk6Cn4jISBybj1ZZXRpIHJ0PTg1NTkxNDA0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTU5MTQwNDQKSGFsbG8sCgpkZXIgU3lKZXQga2FubiBhdXNzY2hsaWVzc2xpY2ggU3lKZXQgMSw1IEdCIE1lZGllbiBmb3JtYXRpZXJlbiwgbGVzZW4gdW5kCnNjaHJlaWJlbi4gRWluZSBBYndhZXJ0c2tvbXBhYmlsaXRhZXQgenUgdm9yaGFuZGVuZW4gU3lxdWVzdC1Qcm9kdWt0ZW4gb2RlcgpDYXJ0cmlkZ2VzIGFuZGVyZXIgQW5iaWV0ZXIgYmVzdGVodCBuaWNodCAoc2VsYnN0dmVyc3RhZW5kbGljaCB3aXJkIFN5cXVlc3QKbmljaHQgbXVlZGUgenUgYmV0b25lbiwgZGFzcyBkYXMgTGF1ZndlcmsgYXVjaCB6dWt1ZW5mdGlnIG5ldSBlbnR3aWNrZWx0ZQpNZWRpZW4gbGVzZW4ga2Fubiwgd29taXQgZGllIEludmVzdGl0aW9uIGRlcyBCZW51dHplciBuYXR1dXV1dWVlZWVlcmxpY2gKbmllbWFscyBpbiBkZW4gU2FuZCBnZXNldHp0IHNlaW4ga2Fubi4uLmJsYWJsYSkuCkR1IGthbm5zdCB3aWUgYmVpIHpCc3AgZWluZW0gTU8gYXVjaCBEZWluIExhdWZ3ZXJrIGFscyBub24tcmVtb3ZlYWJsZQpkZWtsYXJpZXJlbiB1bmQgZGFubiBhdWNoIGRhdm9uIGJvb3RlbiwgbWl0IGRlbSB3aWlpbnppZ2tsZWluZW4gKHVuZCBfZmFzdF8KdW53aWNodGlnZW0pIERldGFpbCwgZGFzcyBEdSBkYXMgQm9vdC1DYXJ0cmlkZ2UgZGFubiBuaWNodCBtZWhyIGVudG5laG1lbgprYW5uc3QuIERhbm4gaXN0IG5hdHVlcmxpY2ggenUgZnJhZ2VuLCBvYiBEaXIgZGllIFRyYW5zZmVycmF0ZSB2b24gMy43TUIvcwpyZWljaHQsIHdhcyBlaW5lciBsYWhtZW4sIGhvZWxsaXNjaGVuIEtyYWNoIG1hY2hlbmRlbiBGZXN0cGxhdHRlIGluIGV0d2EKZ2xlaWNoIGtvbW1lbiB3dWVyZGUuCgpEYW5jZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3b3JkIDcgZnJhZ2UgKEd1bGR1a2F0LCAxNS4gRmViIDE5OTcsIDE2OjQ0OjMxKToKSGksIGljaCBtb2VjaHRlIGVpbiBtcyBkb3MgdGV4dCBpbiBlaW5lIHRhYmVsbGUgdW13YW5kZWxuOiBkYXMgcHJvYmxlbSBpc3QsCmRlciB0ZXh0IHNpZWh0CmZvbGdlbmRlcm1hc3NlbiBhdXMsIGRpZSBmb3JtYXRpZXJ1bmdlbiBzaW5kIG1pdCBsZWVyemVpY2hlbiBnZW1hY2h0OgoKeC55LnouLmxhYmVyLnRleHQubGFiZXIuLi4uLi4uLi4ubm9jaC5uZS5zcGFsdGUKeC55LnQuLm5vY2gud2FzLmdlbGFiZXJ0ZXMuLi4uLi4udW5kLmhpZXIuZ2VodHMud2VpdGVyCiguPWxlZXJ6ZWljaGVuKQpva2ksIG51biBkYXMgcHJvYjogdGV4dCBpbiB0YWJlbGxlIHdhbmRlbG4sIGRhIHdpbGwgZXIgZGFubiB0cmVubnplaWNoZW4sIGRhcwpsZWVyemVpY2hlbiBhbHMgdHJlbm56ZWljaGVuIG1hY2h0IGJlaSBkZW4gdmVyc2NoaWVkZW5lbiBncm9zc2VuIGVpbnRyYWVnZW4KcHJvYmxlbWUsIHdlaWwgZXIgamVkZXMgbGVlcnplaWNoZW4genUgZWluZXIgc3BhbHRlIG1hY2hlbiBtb2VjaHRlLCBhdXNzZXJkZW0KdHJlbm50IGVyIGRhbm4gYXVjaCB0ZXh0LCBkZXIgYW5zaWNoIHp1c2FtbWVuaGFlbmd0LCB1bmQgZGllIGdhbnplIHRhYmVsbGUgaXN0CmR1cmNoZWluYW5kZXJuLgplciBuaW1tdCBhdWNoIGFscyB0cmVubnplaWNoZW4gdGFidWxhdG9ycmVuIGFuLCBhYmVyIGRhZnVlciBtdWVzc3RlIG1hbiBkaWUKbGVlcnplaWNoZW4gZHVyY2ggdGFicyBlcnNldHplbiwgYWJlciBkYXMgZ2VodCBhdWNoIG5pY2h0IGF1dG9tYXRpc2NoIAoKaGF0IGplbWFuZCBuZSBpZGVlLCB3aWUgbWFuIGRhcyB1bWZvcm1hdGllcmVuIGthbm4KYml0dGUgbmljaHQ6IGhhZXR0ZXN0IGhhbHQgbGludXggZ2Vub21tZW4hIAp1bmQgYXVjaCBuaWNodDogcGVyIGhhbmQgZGllIGxlZXJ6ZWljaGVuIHJhdXNtYWNoZW4gdW5kIGR1cmNoIHRhYnMgZXJzZXR6ZW4Kc29uZGVybiBudXIgZXJuc3RnZW1laW50ZSB2b3JzY2hsYWVnZSEKZGFua2UKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3b3JkIDcgZnJhZ2UgKFN1c2hpLCAxNS4gRmViIDE5OTcsIDE2OjU4OjA4KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1NjAyMTQ3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYwMjE0NzEKSGFldHRlc3QgRHUgZG9jaCBMaW51WCBnZW5vbW1lbi4uLgpFaW5lIGVpbmZhY2hlIExvZXN1bmcgZ2lidCBlcyBuaWNodC4uLiBEdSBrYW5uc3QgbmF0dWVybGljaCBoaW5nZWhlbiB1bmQgZGllIFQKTGVlcnplaWNoZW4sIGRpZSB6d2lzY2hlbiBXb2VydGVybiBzaW5kLCBkdXJjaCBnZXNjaHVldHplIExlZXJ6ZWljaGVuIGVyc2V0emVuCihzdHJnK3NwYWNlIC9zdHJnK3NoaWZ0K3NwYWNlLCBpcmdlbmRzb3dhcy4uLikuIEFiZXIgZGFzIGFlbmRlcnQgbmljaHRzIGRhcmFuLApkYXNzIER1IGRlbiBUZXh0IHF1YXNpIG5ldSBmb3JtYXRpZXJlbiBtdXNzdC4gVmllbGxlaWNodCBoaWxmdCBlcyBEaXIgYWJlciwKZGFzcyBEdSByZWNodGVja2lnZSBNYXJraWVydW5nZW4gbWFjaGVuIGthbm5zdCAoYWx0K3JlY2h0ZSBNYXVzdGFzdGU/CmlyZ2VuZHNvd2FzLi4uKS4gRGFubiBrYW5uc3QgRHUgZWluIE1ha3JvIHNjaHJlaWJlbiwgZGFzIG51ciBpbiBkZW0gQmVyZWljaApzcGFjZXMgZHVyY2ggZXR3YXMgYW5kZXJlcyBlcnNldHp0IHVuZCBkYW5uIGRhcyBhbmRlcmUgYWxzIFRyZW5uZXIgZnVlciBkaWUKVW13YW5kbHVuZyBpbiBlaW5lIFRhYmVsbGUgdmVyd2VuZGV0LiBWb3JoZXIgYW0gYmVzdGVuIGF1ZiBlaW5lIG1vbm9zcGFjZSBmb250CnVtc2NoYWx0ZW4sIGRhbm4ga2xhcHB0IGRhcyBtaXQgZGVtIHJlY2h0ZWNraWdlbiBNYXJraWVyZW4gYmVzc2VyLi4uCgpXZW5uIER1IGFsbGVyZGluZ3MgTGludVggZ2Vub21tZW4gaGFldHRlc3QuLi4gCgoqZ3JpbnMqCgpTdXNoaQoKUC5TLgpJY2gga2VubmUgZGllc2UgS29tbWFuZG9zIG5pY2h0IHdpcmtsaWNoLi4uIEljaCBiaW4gYmVzZXNzZW4uLi4gQmlsbCBHYXRlcwpzcHJpY2h0IGF1cyBtaXIgXGFhYWFhYWFhYWFhYWFoaGghIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdvcmQgNyBmcmFnZSAoQWNyaW1vbiwgMTUuIEZlYiAxOTk3LCAxNzoyNjozMSk6Cn4jISBybj1HdWxkdWthdCBydD04NTYwMjE0NzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU2MDIxNDcxClVudGVyIE1TLURvb2YgbnVyIG1pdCBhZGFwdGllcnRlbiBVbml4LVRvb2xzIG1vZWdsaWNoLgpTcGV6aWVsbCBhd2sgaXN0IGhpZXIgdm9uIE51dHplbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdvcmQgNyBmcmFnZSAoSGFkcmEsIDE1LiBGZWIgMTk5NywgMjI6MTk6NTkpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODU2MDIxNDcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjAyMTQ3MQpkdW1tZSBpZGVlIHVuZCB3ZWlsIGljaCBnZXJhZGUga2VpbiB3b3JkIHp1ciBoYW5kIGhhYmUgYXVjaCBldHdhcyBpbiB1bnJlaW5lCmdlc2NocmllYmVuOgoxKSBtaXQgaGlsZmUgZGVzbXVzdGVydmVyZ2xlaWNocyBqZXdlaWxzIGFuIGRlbiBzdGVsbGVuIGFuIGRlbmVuIGF1ZiB6d2VpCmxlZXJ6ZWljaGVuIGVpbiBidWNoc3RhYmUgZm9sZ3QgZWluIHRhYiBlaW5zZXR6ZW4gbGFzc2VuCjIpICBhbGxlIHVlYnJmbHVlc3NpZ2VuIGxlZXJ6ZWljaGVuIGxvZXNjaGVuIChzdWNoZW4gbmFjaCAyIGxlZXJ6ZWljaGVuLAplcnNldHplbiBkdWNoIG5peCkKMykgdGV4dCBpbiB0YWJlbGxlIHVtd2FuZGVsbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3b3JkIDcgZnJhZ2UgKFN1c2hpLCAxNi4gRmViIDE5OTcsIDAwOjE0OjAyKToKfiMhIHJuPUhhZHJhIHJ0PTg1NjA0MTU5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYwMjE0NzEKV2VubiBEdSB2b3JoZXIgZGllIGJldHJlZmZlbmRlIFRleHRzdGVsbGUgbWFya2llcnN0IHVuZCBhdWNoIG5vY2ggZWluIE1ha3JvCnNjaHJlaWJzdCwgZGFzIGF1ZiBkaWUgRnJhZ2UgImRlbiBSZXN0IGRlcyBUZXh0ZXMgZHVyY2hzdWNoZW4iIG1pdCBuZWluCmFudHdvcnRldCwgaXN0IGRhcyBzY2hvbiBvay4KCnN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdvcmQgNyBmcmFnZSAoR3VsZHVrYXQsIDE2LiBGZWIgMTk5NywgMTI6MDI6MTIpOgp+IyEgcm49U3VzaGkgcnQ9ODU2MDIyMjg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjAyMTQ3MQpUaGFueCBTdXNoaSwgCmRhcyB3YXIgX2dlbmF1XyBkYXMsIHdhcyBpY2ggc3VjaHRlIChyZWNodGVja2lnZSBtYXJraWVydW5nZW4gKHdhciBhbHQgbGlua2UKbWF1c3Rhc3RlKSksIGFsbGVyZGluZ3Mgc2NoZXJ0ZSBzaWNoIGVyc2V0emVuIHdlbmlnIHVtIGRpZSByZWNoZWNraWdlCm1hcmtpZXJ1bmcsIGVzIGVyc2V0enRlIHRyb3R6ZGVtIF9hbGxlXyBsZWVyemVpY2hlbiBkdXJjaCB0YWJzLCBuaWNodCBudXIgZGllLApkaWUgaWNoIHNwYWx0ZW53ZWlzZSBtYXJraWVydCBoYXR0ZS4gTnVuIGphLCBuaWNodHNkZXN0b3Ryb3R6IGtvbm50ZSBpY2ggZGFubgplaW56ZWxuZSBzcGFsdGVuIGF1c3NjaG5laWRlbiB1bmQgd2llZGVyIHp1c2FtbWVuc2V0emVuIQpva2kKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdvcmQgNyBmcmFnZSAoU3VzaGksIDE2LiBGZWIgMTk5NywgMTM6MTE6MjMpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODU2MDkwOTMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjAyMTQ3MQoqZ3JpbnMqIE5hLCB3ZW5uIER1IGRhcyBEaW5nIGFscyBtb25vc3BhY2UgZm9ybWF0aWVyc3QgdW5kIGRhbm4gZGllCkxlZXJ6ZWljaGVuIGVja2lnIG1hcmtpZXJzdCwga2FubnN0IER1IHNpZSBlaW5mYWNoIGF1c2NobmVpZGVuLiBEYW5uIG5vY2ggbWl0CmZsaW5rZW4gRmluZ2VybiBUYWJzIGVpbnNldHplbi0tZmVydGlnOi0pCgpTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdvcmQgNyBmcmFnZSAoRnl0LCAxNi4gRmViIDE5OTcsIDIzOjM5OjA0KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1NjAyMTQ3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYwMjE0NzEKU2FjaGVuIHdpZSB3ayBzb2xsdGUgZXMgZG9jaCBhdWNoIGZ1ZXIgRG9zIGdlYmVuLiBadW1pbmRlc3QgZ2lidCdzIG5lbiB2aQooZWx2aXM/KSwgZGFtaXQgc29sbHRlIG1hbiBkb2NoIGFuIGRhcyBQcm9ibGVtIHJhbmtvbW1lbiwgb2Rlcj8KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpbjk1IHVuZCBkb3M/IChGZWxhZ3VuZCwgMTYuIEZlYiAxOTk3LCAyMzo1NDoxMSk6Ckh1aHUKRXMgaGFiZW4gendhciBiaXNoZXIgYWxsZSBnZXNhZ3QsIGVzIGdlaHQgbmVkZCwgYWJlciBpY2ggcG9zdGUgZGFzIHRyb3R6ZGVtCm1hbCBoaWVyOgprZW5udCBqZW1hbmQgbmUgTW9lZ2xpY2hrZWl0LCBXaW4gOTUgbmViZW4gRG9zIChhbSBiZXN0ZW4gdWViZXIKb3NoYWxiZS1ib290bWFuYWdlcikgenUgdmVyd2VuZGVuLCBvaG5lIGJlaW0gYm9vdGVuIHZvbiBXaW45NSBkaWVzZSBuZXJ2aWdlCmY4LWRydWVja2VyZWkgZHVyY2h6dW1hY2hlbiwgdW0gaW5zIERvcyB6dSBrb21tZW4/CmdydXNzLi4uRmVsYSAoc3R1ciA7KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW45NSB1bmQgZG9zPyAoR3VsZHVrYXQsIDE3LiBGZWIgMTk5NywgMDA6MzU6MjEpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODU2MTMzNjUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjEzMzY1MQprbGFyIGdlaHQhCm9zLzIgZmRpc2sgcHJpbWFlcmUgcGFydGl0aW9uIG1hY2hlbiwgbXNkb3MgaW5zdGFsbGllcmVuCm9zLzIgbm9jaCBuZSBwcmltYWVyZSBtYWNoZW4sIG5vY2htYWwgZG9zIGluc3RhbGxpZXJlbiwgZGFubiBkYWRydWViZXIgd2luOTUKaW5zdGFsbGllcmVuCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbjk1IHVuZCBkb3M/IChTdXNoaSwgMTcuIEZlYiAxOTk3LCAwMTo0NDoxMSk6Cn4jISBybj1HdWxkdWthdCBydD04NTYxMzYxMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU2MTMzNjUxCkVpbmZhY2hlcjogTlQtQm9vdGxvYWRlciBrb3BpZXJlbiwgZWlucmljaHRlbiAtIGZlcnRpZy4gUFRTLWRvcyBCb290bWFuYWdlcgptdWVzc3RlIGF1Y2ggZ2VoZW4uClN1c2hpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbWlnYS1Ub29sIGdlc3VjaHQuIChCYWJvb24sIDE3LiBGZWIgMTk5NywgMTQ6NTk6MTIpOgpJY2ggd3VlcmQgZ2VybiBiZWkgbWlyIGF1Zm0gQ29tcHV0ZXIgd2FzIGZ1ZXJzIE11ZAp6dXNhbW1lbmJhc3RlbG4gdW5kIGFuc2NobGllc3NlbmQgaW0gUlogcGVyIFBDIHVwbG9hZGVuLgpXZWlsIGljaCBhYmVyIG51ciBzbyBlaW5lbiBvbGxlbiBBbWlnYSA1MDAKbWl0IE9TIDEuMyBoYWIgaXN0IGRhcyBuaWNodCBzbyBlaW5mYWNoLCB1bSBuaWNodCB6dSBzYWdlbgp1bm1vZWdsaWNoLiBJY2ggaGFiIGF1Y2gga2VpbmUgMTYwIE1hcmsgdW0gbWlyCk9TIDMuMCBtaXQgQ3Jvc3MtRG9zIHp1enVsZWdlbi4gRGVzaGFsYiBtZWluZSBGcmFnZSBhbgpBbWlnYWt1bmRpZ2U6IEdpYnQgZXMgaXJnZW5kd28gZWluIFRvb2wsIG1pdCBkZW0gaWNoIGFtIEFtaWdhClBDLURpc2tzIGxlc2VuIHVuZCBzY2hyZWliZW4ga2Fubj8KCkJhYm9vbiBzdGVodCB6dSBzZWluZW0gU3BpZWxlY29tcHV0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3aW45NSB1bmQgZG9zPyAoR3JpbW1ib3JuLCAxNy4gRmViIDE5OTcsIDE2OjEyOjM2KToKfiMhIHJuPVN1c2hpIHJ0PTg1NjE0MDI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYxMzM2NTEKRGEgaGllciBzY2hlaW5iYXIgZnVlciBqZWRlIE1vZWdsaWNoa2VpdCBlaW4gYW5kZXJlciBBcnRpa2VsIG5vZXRpZyBpc3Q6Ck1pdCBMSUxPIGdlaHQgc293YXMgYXVjaC4KCk1hbiBrYW5uIGF1Y2ggenVzYW1tZW5mYXNzZWVuIHVuZCBhYnN0cmFoaWVyZW46IE1pdCBlaW4gYmlzY2hlbiBCYXN0ZWx0YWxlbnQKYnJhdWNodCBtYW4gZWluZW4gKGhhbGJ3ZWdzIGZ1bmt0aW9uc2ZhZWhpZ2VuKSBCb290bWFuYWdlciwgZGFubiBzb2xsdGUgZGllc2UKSW5zdGFsbGF0aW9uIG1vZWdsaWNoIHNlaW4uCgpOb2NoIGVpbiBhbGxnZW1laW5lciBadXNhdHp0aXA6IFdlbm4gamVtYW5kIFByb2JsZW1lIGhhdCAod2llIGRhcyBVbXdhbmRlbG4KZWluZXIgVGFiZWxsZSkgdW5kIHNpY2ggZGFydWViZXIgYWVyZ2VydCwgZGFzcyBqZW1hbmQgc2FndCwgbWl0IHNlaW5lbQpzdXBlcnRvbGxlbiBCZXRyaWVic3N5c3RlbSBzZWkgZGFzIGtlaW4gUHJvYmxlbTogRGF0ZWllbiBsYXNzZW4gc2ljaCBwZXIgbWFpbAp2ZXJzY2hpY2tlbiwgenVzYW1tZW4gbWl0IGVpbmVtIGZyZXVuZGxpY2hlbiAiZGFubiB0dSBtYWwiLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aW45NSB1bmQgZG9zPyAoTmlyZGF2bywgMTcuIEZlYiAxOTk3LCAxNjoyMDoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODU2MTkyMzU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjEzMzY1MQogIFdFbm5zIG51ciBkYXJ1bSBnZWh0LCBkYXNzIG5pY2h0IGltbWVyIGJlaW0gQm9vdGVuIGRhcyBXOTUgaG9jaGdlZmFocmVuCndpcmQsIGRhbm4gcmVpY2h0IGVzIG5vcm1hbGVyd2Vpc2UsIGluIGRlciBNU0RPUy5TWVMgZGVuIEVpbnRyYWcgQm9vdEdVST0xIGF1ZgpCb290R1VJPTAgenUgc2V0emVuLiBVbmQgVm9pbGEsIG1hbiBzdGVodCBpbW1lciBpbSBET1MuIFdpbmRvd3Mga2FubiBtYW4gZGFubgppbW1lciwgd2llIHNjaG9uIGJlaSBXaW4gMy4xIGdld29obnQgbWl0IHdpbiBnZXN0YXJ0ZXQgd2VyZGVuLgoKICAgIE5pcmRhdm8sIGRlciBkYXMgYXVjaCBzbyBtYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdpbjk1IHVuZCBkb3M/IChGZWxhZ3VuZCwgMTcuIEZlYiAxOTk3LCAyMjozNzo1NCk6Cn4jISBybj1OaXJkYXZvIHJ0PTg1NjE5MjgyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYxMzM2NTEKZWlnZW50bGljaCBnaW5ncyBtaXIgbWVociBkcnVtLCBkYXNzIGljaCBkYXMgbWl0IGhpbGZlIGRlcyBib290bWFuYWdlcnMKYXVzd2FlaGxlbiB3b2xsdGUsIHdhcyBpbSBtb20gaW1tZXIgbm9jaCBuZWRkIGdlaHQgKGRvcyB2b24gcHJpbSBwYXJ0aXRpb24gZGVyCjJ0ZW4gcGxhdHRlIGdlaHQgendhciBhbHMgc3lzdGVtZGlzayBmb3JtYXRpZXJlbiBhYmVyIG5lZGQgc3RhcnRlbiwgYWxzbyBhdWNoCmtlaW4gd2luIGRhcnVlYmVyIGluc3RhbGxpZXJlbikKZ3J1c3MuLkZFbGEKUC5TLiBkYXMgbWl0IGRlciBNU0RPcy5TWVMga2xpbmd0IGFiZXIgbmVkZCBzY2hsZWNodCwgd2VyZCBpY2ggd29obCBzbyBtYWNoZW4KOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHdpbjk1IHVuZCBkb3M/IChNdXJrZXMsIDE5LiBGZWIgMTk5NywgMTA6MzI6MjUpOgp+IyEgcm49RmVsYWd1bmQgcnQ9ODU2MjE1NDc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjEzMzY1MQpEb2NoLCBET1MgbGFlc3N0IHNpY2ggc2VociBndXQgdm9uIGVpbmVyIHp3ZWl0ZW4gUGFydGl0aW9uIHN0YXJ0ZW4uIE51ciBtdXNzCm1hbiB2b3JoZXIgbWl0IGRlbSBmZGlzayB2b24gTGludXggZGllIFBhcnRpdGlvbiBib290ZmFlaGlnIG1hY2hlbi4gTWl0IGRlbQpEb3MtZmRpc2sgZ2VodCBkYXMgbGVpZGVyIG5pY2h0LiBEYW5hY2gga2FubiBtYW4gZGFubiB1ZWJlciBsaWxvIGJlaWRlClBhcnRpdGlvbmVuIGJvb3RlbiB1bmQgYXVjaCBXaW45NSBkcnVlYmVyIGluc3RhbGxpZXJlbiAoc3RlaHQgYWxsZXMgaW0KTWluaS1IT1dfVE9fRkFRIFdJTjk1LURPUy1MSU5VWCkuIFByb2JsZW1lIGhhdHRlIGljaCBkYW5uIGJlaSBkZXIgSW5zdGFsbGF0aW9uCnZvbiBXaW45NSwgd2VpbCBlcyBhdWYgZWluZXIgYW5kZXJlbiBQYXJ0aXRpb24gZWluIFdpbjMuMTEgZW50ZGVja3RlIHVuZApkYW5uYWNoIGRlciBNZWludW5nIHdhciwgaWNoIHNvbGx0ZSBtaXIgZG9jaCBlaW4gVXBkYXRlIGthdWZlbiAoRnJlY2hoZWl0ISkuClVtZ2VoZW4ga2FubiBtYW4gZGFzLCBpbmRlbSBtYW4gZGllc2UgUGFydGl0aW9uZW4gZnVlciBkYXMgV2luOTUtU2V0dXAKdW56dWdhZW5nbGljaCBtYWNodC4gSWNoIGhhYmUgZWluZmFjaCB1bnRlciBET1MgZGllIGVudHNwcmVjaGVuZGVuCkxhdWZ3ZXJrc25hbWVuIG1pdCBTVUJTVCBlcm5ldXQgdmVyZ2ViZW4sIGRhbmFjaCBzY2hhdXQgZXIgbnVyIG5vY2ggaW4gZGVtClZlcnplZGljaG5pcyBuYWNoIHVuZCBuaWh0IG1laHIgYXVmIGRlbSBlaWdlbnRsaWNoZW4gTGF1ZndlcmsuIERhbmFjaCBsYWVzc3QKZXMgc2loIGluc3RhbGxpZXJlbi4gQWxsZXJkaW5ncyB6ZXJzY2hpZXNzdCBXSU45NSBpcmdlbmR3aWUgbm9jaCBkYXMgTVNET1Muc3lzCmF1ZiBkZW4gdXJzcHJ1ZW5nbGljaGVuIERPUy1QYXJ0aXRpb25lbiwgc28gZGFzcyBkaWUgU3lzdGVtZGF0ZWllbiBtaXQgU1lTCndpZWRlciBhdWYgZGllIGVpZ2VudGxpY2hlIERPUy1QYXJ0aW9uIHVlYmVydHJhZ25lIHdlcmRlbiBtdXNzdGUuICBKZXR6dCBnZWh0CmVzIGFiZXIuCgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcnNjaGllZGVuZSBQcm92aWRlciAoSGFyLCAxOS4gRmViIDE5OTcsIDExOjExOjUwKToKS2FubiBtaXIgZWluZXIgc2FnZW4sIHdpZSBpY2ggdW50ZXIgTlQgdmVyc2NoaWVkZW5lIFByb3ZpZGVyIGFud2FlaGxlbiBrYW5uLApkLmguIG5lYmVuIHZlcnNjaGllZGVuZW4gRUlud2FobG51bW1lcm4gYWN1aCB2ZXJzY2hpZWRlbmUgcHJveHlzIG51dHplbiBrYW5uPwpVbnRlciBPUy8yIGhhdHRlIGljaCBiaXNoZXIgbWl0IHZlcnNjaGllZGVuZW4gVGVtcGxhdGVuICBnZWFyYmVpdGV0LCBnaWJ0IGVzCnVudGVyIE5UIGV2dC4gbmUgZWluZmFjaGVyZSBMb2VzdW5nPwoKaGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB3aW45NSB1bmQgZG9zPyAoSGlnaGxhbmRlciwgMTkuIEZlYiAxOTk3LCAxMjo0MTowOSk6Cn4jISBybj1NdXJrZXMgcnQ9ODU2MzQ0NzQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NjEzMzY1MQpEYXMgUHJvYmxlbSBtaXQgZGVtIHplcnNjaG9zc2VuZW4gTVNET1MuU1lTIGxhZXNzdCBzaWNoIGF1Y2ggdW1nZWhlbiwgd2VubgptYW4gZWggc2Nob24gTGludXgtZmRpc2sgbmltbXQgLSBpY2ggaGFiIGVpbmZhY2ggZGllIG1vbWVudGFuIHVuZ2V3dWVuc2NodGUKUGFydGl0aW9uIHZvbSBmcy1UeXAgaGVyIGFscyBMaW51eCBkZWtsYXJpZXJ0IC0gZGFzIHNjaGFkZXQgZGVyIFBhcnRpdGlvbgpuaWNodCA6PgpEYW5uIHVuZ2VzdG9lcnQgV2luOTUgaW5zdGFsbGllcmVuIHVuZCBkYW5uIG1pdCBmZGlzayBkZW4gVHlwIHdpZWRlciBhdWYKKHdhaHJzY2hlaW5saWNoKSBQcmltIERvcyA+MzIgc3RlbGxlbgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbWlnYS1Ub29sIGdlc3VjaHQuIChBY3JpbW9uLCAxOS4gRmViIDE5OTcsIDE5OjAxOjQ0KToKfiMhIHJuPUJhYm9vbiBydD04NTYxODc5NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU2MTg3OTUyCkNyb3NzRG9zIHdhciBtZWluZXMgV2lzc2VucyBuYWNoIGZydWVoZXIgbWFsIFBELCB1bmQgZWluZSBhZWx0ZXJlIFZlcnNpb24Kc29sbHRlIGRhaGVyIGF1Y2ggaXJnZW5kd28gYXVmIGRlbiBGaXNoLURpc2tldHRlbiBlcmhhbHRlbiBzZWluLgpVbSBhbmRlcmUgZGVyYXJ0aWdlIFByb2dyYW1tZSB6dSBmaW5kZW4sIHNjaGF1c3QgRHUgYW0gYmVzdGVuIGlucyBBbWluZXQKKGZ0cCBmdHAudW5pLXBhZGVyYm9ybi5kZSwgY2QgYW1pbmV0L2Rpc2MvbWlzYy8pLgpBdWYgZGVuIGVyc3RlbiBCbGljayBpc3QgbWlyIGRvcnQgbnVyIE1Ub29scyBhdWZnZWZhbGxlbiwgYWJlciB2aWVsbGVpY2h0CnNpZWhzdCBEdSBqYSBtZWhyLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyLCBiZWdlaXN0ZXJ0ZXIgQW1pZ2E0MDAwLUJlbnV0emVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFtaWdhLVRvb2wgZ2VzdWNodC4gKEJhYm9vbiwgMjAuIEZlYiAxOTk3LCAxMDoyNDowOCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg1NjM3NTMwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTYxODc5NTIKSXN0IGphIG5ldHQsIGRhcyBpaHIgYWxsZSBzbyBoaWxmc2JlcmVpdCBzZWlkLCBhYmVyIHdlbm4gaWNoIGFuIG1laW5lbQpBbWlnYSBlaW4gTW9kZW0gaGFldHRlLCBkYW5uIHdhZXJlIGRhcyBnYW56ZSBQcm9ibGVtIGphIGdhcm5pY2h0CmF1Zmdla29tbWVuLiBJc3QgYWxzbyBuaXggbWl0IEFtaW5ldC4gRXMgc2VpIGRlbm4sIGplbWFuIGF1cyBLb2VsbgptaXQgWnVnYW5nIHp1bSBBbWluZXQgd2FlcmUgc28gbmV0dCwgbWlyIENyb3NzRG9zcyB6dSBiZXNvcmdlbi4KCldlbmlnc3RlbnMgd2Vpc3MgaWNoIGpldHp0LCBkYXNzIGljaCBuaWNodCBkZXIgZWluemlnZSB1ZWJlcmxlYmVuZGUKQW1pZ2FmYW4gYmluLiA6LSkKCkJhYm9vbiBoYXQgbmUgMTRNSFotVHVyYm9rYXJ0ZSBpbiBzZWluZW0gQW1pZ2EgNTAwLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luIE1pbmVzIChRdWFzaW1vZG8sICA0LiBNYXIgMTk5NywgMTU6NDU6MDUpOgpXb2xsdGUgbnVyIG1hbCBrdXJ6IGZyYWdlbiwgd2FzIGRlbm4gc28gZGllIE1HLUJlc3R6ZWl0ZW4gYmVpIE1pbmVzd2VlcGVyIGZ1ZXIKV2luZG93cyBzaW5kLiBCZWkgdW5zIGluIGRlciBmaXJtYSBsaWVndCBkaWUgQmVzdHplaXQgZ2VyYWRlIGJlaSAxNzlzZWMuCgpRdWFzaW1vZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW4gTWluZXMgKERhdWVyZ2FzdCwgIDQuIE1hciAxOTk3LCAxNTo1NjowMCk6Cn4jISBybj1RdWFzaW1vZG8gcnQ9ODU3NDg2NzA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzQ4NjcwNQogIDkgLSA1MC0gMTgyCgpBYmVyIGFubmVyIFVuaSAtIGRhIGhhbW1lciBuZWQgc28gdmllbCB6ZWl0IHp1bSBVZWJlbiA6LSkpCkRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luIE1pbmVzIChCb2luZywgIDQuIE1hciAxOTk3LCAxNzowOTozMCk6Cn4jISBybj1RdWFzaW1vZG8gcnQ9ODU3NDg2NzA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzQ4NjcwNQoxMzYgU2VrdW5kZW4gYmVpbSBHcm9zc2VuIEZlbGQgLi4uIExlaWRlciB3YXIgSG9ibyBub2NoIHNjaG5lbGxlciAqc25pZmYqClVudGVyIDIgTWludXRlbiwgdW5mYXNzYmFyIQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbiBNaW5lcyAoTXVwZmVsLCAgNC4gTWFyIDE5OTcsIDE3OjQwOjU5KToKfiMhIHJuPUJvaW5nIHJ0PTg1NzQ5MTc3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKSW4gVU5JdG9waWEgZ2lidHMgTWluZXN3ZWVwZXIgYWxzIFF1ZXN0Li4uLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbiBNaW5lcyAoQm9pbmcsICA0LiBNYXIgMTk5NywgMTc6NDU6MzgpOgp+IyEgcm49TXVwZmVsIHJ0PTg1NzQ5MzY1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKSWNoIHdlaXNzIC4uLiBhbGxlcmRpbmdzIG11c3MgbWFuIHN0dW5kZW5sYW5nIGR1cmNoIGNhLiAxMDAwMCBpZGVudGlzY2hlClJhZXVtZSBsYXVmZW4gdW0gaGluenVrb21tZW4gLi4uIGthbm4gaWNoIG1pciBzcGFyZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgQW1pZ2EgKEJhYm9vbiwgIDYuIE1hciAxOTk3LCAwOTowNjozNSk6CkxlaWRlciBiaW4gaWNoIGltbWVyIG5vY2ggYXVmIGRlciBTdWNoZSBuYWNoIGVpbmVyIE1vZWdsaWNoa2VpdCB6dW0KVGV4dHRyYW5zZmFpciAob2RlciBzbyA6LSkpIHp3aXNjaGVuIEFtaWdhIHVuZCBQQy4KRGEgc2ljaCBiaXNoZXIgYWxsZSBWb3JzY2hsYWVnZSBhbHMgTmlldGUgZXJ3aWVzZW4gaGFiZW4sCk9TIDIuMCBpc3QgYW5zY2hlaW5lbmQgZ2VuZXJlbGwgYXVzdmVya2F1ZnQKT1MgMy4xIGlzdCB6dSB0ZXVlcgpBbWluZXQgZ2VodCBuaWNodCwgd2VpbCBrZWluIE5ldHphbnNjaGx1c3MgYW0gQW1pZ2EKZ3JlaWZlIGljaCBqZXR6dCBuYWNoIGRlbiBsZXR6dGVuIFN0cm9oaGFsbWVuLgpBbHNvLCBrZW5udCBqZW1hbmQgZWluZW4gKHp1dmVybGFlc3NpZ2VuKSBQRC1IYWVuZGxlci8tVmVyc2VuZGVyCihldnRsLiBzb2dhciBSYXVtIEtvZWxuKSB3byBpY2ggQ3Jvc3MtRG9zIG9kZXIgYWVobmxpY2hlcwprcmllZ2VuIGthbm4/CldlaXNzIGplbWFuZCwgb2IgZXMgcmVpY2h0LCBlaW4gMi4wZXItUk9NIGVpbnp1YmF1ZW4sIHVtCiJPUyAyLjAtb25seSItUHJvZ3JhbW1lIGJlbnV0emVuIHp1IGtvZW5uZW4/IERpZSBST01zCnNpbmQgbmFlbWxpY2ggbm9jaCB6dSBoYWJlbi4gQmxvc3MgZGllIFdvcmtiZW5jaCBuaWNodC4gOi1QClNvbGx0ZSBsZXR6dGVyZXMgZ2VoZW4sIGRhbm4gd2FlcmUgaWNoIHdlbmlnc3RlbnMgbmljaHQgbWVociBkYXJhdWYKYW5nZXdpZXNlbiwKZWluIE9TIDEuMy1rb21wYXRpYmxlcyBQcm9ncmFtbSBhdWZ6dXRyZWliZW4uCgpVZWJyaWdlbnMsIHdhcyBoYWx0ZXQgaWhyIGRlbm4gc28gdm9tIGRlbSBQSU9TIE9ORT8KCkJhYm9vbiBzcGFydCBzY2hvbiBtYWwgYXVmIG5lbiBuZXVlbiBBbWlnYSAodm9uIHdlbGNoZXIgRmlybWEKZXIgYXVjaCBpbW1lciBrb21tZW4gbWFnKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgQW1pZ2EgKEdyaW1tYm9ybiwgIDYuIE1hciAxOTk3LCAxMTo0OTozNCk6Cn4jISBybj1CYWJvb24gcnQ9ODU3NjM1NTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzYzNTU5NQpIbW0sIGRhIGdpYnRzIGVpbmVuIHNjaGVpbmJhciBnYXIgbmljaHQgdW5mYWVoaWdlbiBBbWlnYS1FbXVsYXRvciB1bnRlciBMaW51eCwKenVtaW5kZXN0IHNjaGllbiBkZXIgQmVyaWNodCBpbSBsZXR6dGVuIExpbnV4LU1hZ2F6aW4gcmVjaHQgYW5nZXRhbi4KSWNoIHdpbGwgaGllciBqYSBuaWNodCBzaW5ubG9zIGVpbiBPUyBwcm9wYWdpZXJlbiwgYWJlciBkYXMgaXN0IGRhcyBlaW56aWdlLAp3YXMgaWNoIGluIGRpZXNlbSBadXNhbW1lbmhhbmcga2VubmUuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm9iZXJmbGFlY2hlIGZ1ZXIgZnRhcGUgKFJpa3VzLCAgNi4gTWFyIDE5OTcsIDEyOjM2OjEwKToKSGksCndlbGNoZSB0b29scy9vYmVyZmxhZWNoZW4gZ2lidCBlcyBmdWVyIHVuaXgvbGludXggbm9jaCBhdXNzZXIgdGFwZXIgdW5kCmtiYWNrdXAsIG1pdCBkZW5lbiBtYW4gL2Rldi9mdGFwZSByZWxhdGl2IGVsZWdhbnQgbnV0emVuIGthbm4/CmdlaHQgendhciBhdWNoIG1pdCByZWluZW0gdGFyLCBhYmVyIGlzdCBuaWNodCBzbyBuZXR0Li4uCgpyaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbiBNaW5lcyAoWWVuZGksICA2LiBNYXIgMTk5NywgMTI6NTI6MDApOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg1NzQ4NjcwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKCkljaCB3ZWlzcyBuaWNodCBnZW5hdSAobXVlc3N0ZSBtYWwgaW0gU3BpZWxUcmF1bSBuYWNoc2VoZW4pLCBhYmVyIG1laW5lCkJlc3R6ZWl0IGZ1ZXIgZGFzIGtsZWluZSBGZWxkIHdhciA3IFNla3VuZGVuLi4uIAoKNy02MC0xNzgsIG9kZXIgc28gYWVobmxpY2guCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbiBNaW5lcyAoR3JpbW1ib3JuLCAgNi4gTWFyIDE5OTcsIDEyOjUzOjMzKToKfiMhIHJuPVllbmRpIHJ0PTg1NzY0OTEyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKQWxzbywgZ3V0ZSBaZWl0ZW4gc2luZCBkb2NoIG51biB3aXJrbGljaCBrZWluIFByb2JsZW0uIE1hbiBtdXNzIHNpY2ggbnVyIGRpZQpEYXRlaSByYXVzc3VjaGVuLCBpbiBkZXIgZGFzIGFiZ2VzcGVpY2hlcnQgd2lyZCB1bmQgZGllIGRhbm4gZWRpdGllcmVuLiBObwpjb250ZXN0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHppZWh0IGRlbiBkaXJla3RlbiBXZWcgdm9yLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgQW1pZ2EgKFJvY2h1cywgIDYuIE1hciAxOTk3LCAxNDowMDoxMCk6Cn4jISBybj1CYWJvb24gcnQ9ODU3NjM1NTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzYzNTU5NQpFcyBnaWJ0IGVpbiB1cmFsdGVzIFByb2dyYW1tIG5hbWVucyBEb3MyRG9zLCBkYXMgYXVmCmRlbSBBbWlnYSBhdWNoIHVudGVyIDEuMiBsYWV1ZnQgdW5kIDcyMCBLQiBEb3MtRGlza2V0dGVuCmxlc2VuIHVuZCBzY2hyZWliZW4ga2Fubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBvYmVyZmxhZWNoZSBmdWVyIGZ0YXBlIChZYXJlbiwgIDYuIE1hciAxOTk3LCAxNDoyOTo1Nik6Cn4jISBybj1SaWt1cyBydD04NTc2NDgxNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU3NjQ4MTcwCk5pbW0geHRhci4KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luIE1pbmVzIChNZXRoZWRyYXMsICA2LiBNYXIgMTk5NywgMTY6MTc6MjApOgp+IyEgcm49Qm9pbmcgcnQ9ODU3NDkzOTM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzQ4NjcwNQpBY2ggUXVhdHNjaCBCb2luZywgaXJnZW5kd2llIG1hY2hzdCBEdSBkYSB3YXMgZmFsc2NoLiA6KQpJY2ggaGFiIG51ciAnbmUgVmllcnRlbHN0dW5kZSBnZWJyYXVjaHQuIFVuZCAyMCBSYWV1bWUgaW4gZGllCmVpbmUgUmljaHR1bmcgd2lyc3RlIGphIHdvaGwgbm9jaCBhYmxhdWZlbiBrb2VubmVuIGluIGVpbmVtCkhhdXMuICpzbWlsZSoKCiAgICAgICAgICAgIHRzY2hvZSAgICAgICAgICBCZXJnY2hlbiBNZXRoZWRyYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbiBNaW5lcyAoQm9pbmcsICA2LiBNYXIgMTk5NywgMTY6MjI6NDMpOgp+IyEgcm49TWV0aGVkcmFzIHJ0PTg1NzY2MTQ0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKSWNoIHJlZCBqYSBuaWNodCB2b20gSGF1cyAuLi4gaWNoIHJlZGUgdm9uIGRlciBXdWVzdGUgKHdhciBlcyBkYXM/KSwgZGllIApkcnVtIHJ1bSBsaWVndC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2htYWwgQW1pZ2EgKEFjcmltb24sICA2LiBNYXIgMTk5NywgMTc6NDM6NDIpOgp+IyEgcm49QmFib29uIHJ0PTg1NzYzNTU5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc2MzU1OTUKCkhhbGxvIEJhYm9vbiEKTGVpZGVyIGlzdCBtaXIgbW9tZW50YW4gbmljaHQgYmVrYW5udCwgd2VsY2hlciBIYWVuZGxlciBub2NoIFBELURpc2tldHRlbgphbmJpZXRldC4KUnVmIG1hbCBiZWkgbWVocmVyZW4gSGFlbmRsZXJuIGFuIHVuZCBmcmFnZSBzaWUsIG9iIHNpZSBQRC1EaXNrZXR0ZW4gKEZpc2g/KQpvZGVyIGVpbiBNc0Rvcy1GaWxlc3lzdGVtIGFuYmlldGVuIHVuZCB3ZW5uIG5pY2h0LCBvYiBzaWUgZWluZW4gSGFlbmRsZXIKa2VubmVuLCBkZXIgc29sY2hlIGFuYmlldGV0LgpWZXJzdWNoZSBlcyBtYWwgYmVpIGZvbGdlbmRlbiBIYWVuZGxlcm4sIGRvcnQgaXN0IGRpZSBXYWhyc2NoZWlubGljaGtlaXQgbm9jaApyZWxhdGl2IGdyb3N6OgpPYmVybGFuZDogVGVsLiAwNjE3My02MDgtMApTY2hhdHp0cnVoZTogVGVsLiAwMjAxLzc4ODc3OApOb3JkbGljaHQgRURWOiBUZWwuIDA0OTMxLzE2NzIyMgoKClp1IGRlbiBSb21zOgpKYSwgZGllIG1laXN0ZW4gUHJvZ3JhbW1lIHNvbGx0ZXN0IER1IHZlcndlbmRlbiBrb2VubmVuLCBkZW5uIGRpZSB3aWNodGlnc3RlbgpMaWJyYXJpZXMgc2luZCBpbiBkZW4gUk9NcyBlbnRoYWx0ZW4uCkplZG9jaCBrYW5uc3QgRHUgbmF0dWVybGljaCBrZWluZSBkZXIgIm5ldWVuIiBHcmFmaWtmYWVoaWdrZWl0ZW4gdmVyd2VuZGVuLApzb2xhbmdlIER1IGtlaW5lbiBuZXVlbiBHcmFmaWtjaGlwIG9kZXIgR3JhZmlra2FydGUgaGFzdCwgdW5kIGRpZSB3ZW5pZ2VuIGF1ZgpEaXNrZXR0ZSBhdXNnZWxlZ2VydGVuIDIuMC1MaWJyYXJpZXMgZmVobGVuIERpciBkYW5uIGF1Y2guCkxlaWRlciB3ZWlzeiBpY2ggbmljaHQsIG9iIENyb3NzRE9TIGVpbmUgZGVyIGF1c2dlbGFnZXJ0ZW4gTGlicmFyaWVzL0RldmljZXMKYmVub2V0aWd0LgpEaWUgYWx0ZW4gUHJvZ3JhbW1lIHVuZCB2aWVsZSAyLjAtb25seS1Qcm9ncmFtbWUgc29sbHRlbiB0cm90emRlbQpmdW5rdGlvbmllcmVuLgoob2huZSBHZXdhZWhyKQoKClBpb3MgMSBpc3Qgc2VociB2aWVsdmVyc3ByZWNoZW5kLCBqZWRvY2ggaGFsdGUgaWNoIHBlcnNvZW5saWNoIHZvbiBkZXIgQVxCT1gKbWVoci4gRGEgYWJlciBQaW9zIDEgYmlsbGlnZXIgc2VpbiB3aXJkIGFscyBkaWUgQVxCT1gsIHJlY2huZSBpY2ggZGFtaXQsIGRhc3oKYmVpZGUgU3lzdGVtZSBuZWJlbmVpbmFuZGVyIGV4aXN0aWVyZW4gd2VyZGVuLgpQaW9zIHdpbGwgYW5zY2hlaW5lbmQgYXVmIFRlaWxlIGRlciBiaWxsaWdlbiBQQy1IYXJkd2FyZSB6dXJ1ZWNrZ3JlaWZlbjsgd2FydW0Kc29uc3Qgd2VyZGVuIHNvd29obCBkZXIgUENJLUJ1cyBhbHMgYXVjaCBkZXIgSVNBLUJ1cyBpbSBTeXN0ZW0gZXhpc3RpZXJlbiB1bmQKUENJLXRvLUlTQS1CcmlkZ2UtQ2hpcHMgbm9ldGlnIG1hY2hlbj8KWm9ycm8gSUlJIHdhciBtaXQgU2ljaGVyaGVpdCBtYWVjaHRpZ2VyLgpOb2NoIGRhenUgc2NoZWludCBFSURFIGVpbmdlYmF1dCB6dSBzZWluLgpNYW4gd2lyZCB6d2FyIFNDU0kgbmFjaHJ1ZXN0ZW4ga29lbm5lbiwgYWJlciB2aWVsZSBMZXV0ZSB3ZXJkZW4gc2ljaCB2b3IgZGVuCnp1c2FldHpsaWNoZW4gS29zdGVuIHNjaGV1ZW4gdW5kIHNpY2ggZGFubiBtaXQgZGVuIFByb2JsZW1lbiBkZXMgRUlERQpoZXJ1bXNjaGxhZ2VuIG11ZXNzZW4uCkFuc29uc3RlbiBpc3QgUGlvcyBzZWhyIHZpZWx2ZXJzcHJlY2hlbmQsIGRpZSBSZWNoZW5sZWlzdHVuZyBlaW5lcyBQUEMgNjAzIG1pdApwT1Mgb2RlciBCZU9TIGR1ZXJmdGUgZWluZW0gUGVudGl1bSAyMDAtUmVjaG5lciAoT0hORSBXaW5kb3dzKSBnbGVpY2hrb21tZW4uCkdlbmF1ZXJlcyB6dSBwT1MvQmVPUy9QaW9zIHNpZWhlIGluIGRlbiBaZWl0c2NocmlmdGVuLgpEaWUgQVxCT1ggemllbHQgbWVociBhdWYgZGllIHByb2Zlc3Npb25lbGxlcmVuIFVzZXIgYWIsIGRpZSBIYXJkd2FyZSB3aXJkCnF1YWxpdGF0aXZlciBzZWluLCB1bmQgZGFzIE9TIHdpcmQgYXVmIGVpbmVtIFVuaXgtS2VybmVsIGJhc2llcmVuLiBOZWJlbgp3ZW5pZ2VuIFNjaHdpZXJpZ2tlaXRlbiB3aXJkIGRhcyB2aWVsZSBWb3J0ZWlsZSBtaXQgc2ljaCBicmluZ2VuLCB1bmQgdHJvdHoKZGVzIFVuaXgtS2VybmVsIHdpcmQgZXMgZWluIEFtaWdhT1MgYmxlaWJlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2luIE1pbmVzIChNZXRoZWRyYXMsICA3LiBNYXIgMTk5NywgMTE6MTM6NDMpOgp+IyEgcm49Qm9pbmcgcnQ9ODU3NjYxNzYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzQ4NjcwNQpBaCBzbywgZGllIFd1ZXN0ZSBpc3Qgd3Vlc3QsIHN0aW1tdC4gRHJ1bSBoZWlzc3Qgc2llIHNvLgpJc3NlcyBuaWNoIGhpZXIgYXVjaCBzbz8gKmdyaW5zIER1cmlhbioKCiAgICAgdHNjaG9lICBDYXJhZGhyYXMgICAgIDggLSA0NSAtIDEzNCAob2RlciBzbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbiBNaW5lcyAoUXVhc2ltb2RvLCAgNy4gTWFyIDE5OTcsIDExOjMxOjQwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTc2NDkyMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU3NDg2NzA1CnNjaG9uLCBhYmVyIGRhcyBpc3QgbGFuZ3dlaWxpZ2VyIGFscyBzcGllbGVuLgoKUXVhc2ltb2RvIGtlbm50IGF1Y2ggZGVuIENoZWF0LCBzaWNoIGFsbGUgQm9tYmVuIHZvbiBBbmZhbmcgYW4gYW56ZWlnZW4genUKbGFzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luIE1pbmVzIChVbG8sIDEwLiBNYXIgMTk5NywgMTU6MjM6MjkpOgp+IyEgcm49TXVwZmVsIHJ0PTg1NzQ5MzY1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKClVuZCBpbSBNRyBrYW5uIG1hbiBlcyBpbiBPaG9ydCBzcGllbGVuLi4uCgpVbG8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaW4gTWluZXMgKEF0b3osIDEwLiBNYXIgMTk5NywgMjE6MDY6MzIpOgp+IyEgcm49TWV0aGVkcmFzIHJ0PTg1NzcyOTYyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKU2luZCBkYXMgZGVpbmUgTWFzc2Ugb2RlciB3YXMgQ2FyYT8KCkZ1ZXIgZWluZW4gQmVyZyBnYXIgbmljaHQgc2NobGVjaHQgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXaW4gTWluZXMgKEF1Z3JhLCAxMC4gTWFyIDE5OTcsIDIxOjEyOjIyKToKfiMhIHJuPUF1Z3JhIHJ0PTg1ODAyNDY4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTc0ODY3MDUKQmxlaWJ0IGRpZSBGcmFnZSwgd28gYmVpIGVpbmVtIEJlcmcgbWFzcyBnZW5vbW1lbiB3aXJkLi46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpbiBNaW5lcyAoR3VsZHVrYXQsIDEwLiBNYXIgMTk5NywgMjE6MTk6MzgpOgp+IyEgcm49QXVncmEgcnQ9ODU4MDI0NzQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1NzQ4NjcwNQpqYXUsIG1lc3N0IG5vY2ggbWFsIG5hY2gsIHZpZWxsZWljaHQgaXN0IGVyIGphIHdpcmtsaWNoIG51ciBlaW4gaHVlZ2VsISA7KQpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpbiBNaW5lcyAoU2lkb2xpbiwgMTEuIE1hciAxOTk3LCAwOTo0MzoyMyk6Cn4jISBybj1BdWdyYSBydD04NTgwMjQ3NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU3NDg2NzA1CkRpZSB3aXJrbGljaCBpbnRlcmVzc2FudGUgRnJhZ2UgbGF1dGV0OgoKSGFuZGVsdCBlcyBzaWNoIGJlaSBkZW4gZ2VuYW5udGVuIE1hc3NlbiB1bSBIYXJkLSBvZGVyIHVtIFNvZnR3YXJlPwoKU2lkb2xpbi4gVmVybXV0ZXQgYmVpIGRpZXNlbiBNYXNzZW4gamEgZWhlciBTb2Z0d2FyZS4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hvZW5lbiBHcnVzcyB2b24gSW50ZWwuLi4gKEhpZ2hsYW5kZXIsIDExLiBNYXIgMTk5NywgMTM6Mzc6MDgpOgpodHRwOi8vd3d3LnBlcnNvbmFsLnUtbmV0LmNvbS9+c3lzZG9jLwpBbnNjaGF1ZW4hCiAgSHJULiBEYW5rZSBmdWVyIGRlbiBUaXAsIEhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdWNoZS4uLi4gKFR1bml4Z3V0LCAxNy4gTWFyIDE5OTcsIDEwOjE5OjU5KToKSGkKCktlbm50IGplbWFuZCAnbiBBVkktUGxheWVyIGZ1ZXIgTGludXg/Pz8gQWx0YW5hdGl2IGdpbmdlIGF1Y2ggJ24gS29udmVydGVyLApkZXIgbWlyIGRpZSBUZWlsZSB2ZXJudWVuZnRpY2ggdW13YW5kZWx0ISBIYWJlIHdlZGVyIGRhcyBlaW5lIG5vY2ggZGFzIGFuZGVyZQppcmdlbmR3byBmaW5kZW4ga29lbm5lbiEhIQoKTGludXggdmVyZGFtbWVuZCAtIFR1Tml4R3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGUuLi4uIChNYXJjdXMsIDE3LiBNYXIgMTk5NywgMTI6NDc6MjkpOgp+IyEgcm49VHVuaXhndXQgcnQ9ODU4NTkwMzk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODU5MDM5OQpFcyBnaWJ0IHhhbmltLiBLYW5uIEFWSXMsIE1QRUdzIHVzdy4gCkF1Y2ggUXVpY2t0aW1lIC5tb3YgZmlsZXMsIGRhbm4gbXVzc3QgZHUgYWJlciBnbGF1YiBpY2ggc2VsYmVyIGNvbXBpbGllcmVuLAooYnp3LiBmcmFnIGplbWFuZGVuLCBkZXIgZXMgZnVlciBkaWNoIHR1dCA7KSwgd2VpbCBtYW4gc3BlemllbGxlIC5vIGZpbGVzCmVpbmJpbmRlbiBtdXNzLgoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoIG1hbCB3aW5kb29mIG50IChHdWxkdWthdCwgMTcuIE1hciAxOTk3LCAyMTo1NDoyMCk6CnNvLCBub2NoIHdhcyBuZXR0ZXMgZnVlciB3aW5kb29mOiBtZWluZSBwcm9tb3Rpb24gaXN0IGpldHogbWl0bGVyd2VpbGUgNCw1Cm1lZ2FieXRlIGdyb3NzIChlaW5laWUgYmlsZGVyLCBjaGVtaXNjaGUgZm9ybWVsbiwgdW5kIG5vY2ggMSBtZWdhYnl0ZSBlaW5mYWNoCnNvIGFscyBncmFmaWsgZWluZ2VsaW5rdCkgdW5kIG1pdGxlcndlaWxlIHdpcmQgbWVpbiBudCA0LjAgaW5zdGFiaWwuIHp1ciB6ZWl0CnN0dWVyenQgZXMgc29mb3J0IG5hY2ggbGFkZW4gZGVzIGZpbGVzIGFiLCBudCBibGVpYnQgZWluZmFjaCBzdGVoZW4sIGhhYiBqZXR6dAp6d2VpIGZpbGVzIHJhdXNnZW1hY2h0LCBqZXR6dCBnZWh0cyB3aWVkZXIgLi4uIGRhcyBlcmlubmVydCBpcmdlbmR3aWUgYW4gZGllCjMuMTFlciB6ZWl0ZW4gOigKR0QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBub2NoIG1hbCB3aW5kb29mIG50IChDYXVubywgMTguIE1hciAxOTk3LCAxMzozNToxMSk6Cn4jISBybj1HdWxkdWthdCBydD04NTg2MzIwNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU4NjMyMDYwCm9kZXIgbWVpbmUgZGlwbGVtbWFyYmVpdCBtaXQgd29yZCA2LjAgZnVlciB3aW4gMy4xLgppbiB3ZWxjaGVtIGZvcm1hdCBoYXN0IGR1IGRpZSBncmFmaWsgZWluZ2VidW5kZW4/Ck51ciBzbyBlaW5lIEZyYWdlLCBlaW4gTUIga2xpbmd0IG5hY2ggd2VuaWcgZ2VwYWNrdCBvZGVyIGVpbmVtIHdpcmtsaWNoCkdST1NTRU4gYmlsZC4KCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbm9jaCBtYWwgd2luZG9vZiBudCAoU3VzaGksIDE4LiBNYXIgMTk5NywgMTc6MDE6NTYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODU4NjMyMDYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODYzMjA2MApEYXMgaXN0IGVpbiBiZWthbm50ZXIgQnVnLiBEdSBtdXNzdCBkYXMgU2VydmljZSBQYWNrIDQsIFBhdGNocmVsZWFzZSA+IDcKZWluc3BpZWxlbi4gRGFubiBzb2xsdGUgZGFzIGdlaGVuLiBEYXMgbGllZ3QgYXVmIGRlbSBNUy1TZXJ2ZXIKaHR0cDovL3d3dy5taWNyb3NvZnQuY29tCgpMaWViZSBHcnVlc3NlLApTdXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBub2NoIG1hbCB3aW5kb29mIG50IChHdWxkdWthdCwgMTguIE1hciAxOTk3LCAxOTo1NTowNCk6Cn4jISBybj1DYXVubyBydD04NTg2ODg1MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU4NjMyMDYwCm51biBqYSwgd2VubiBpY2ggYXJqIGRydWViZXJsYXVmZW5sYXNzZSBzaW5kcyBub2NoIDYwMCBrIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaCBtYWwgd2luZG9vZiBudCAoRnl0LCAxOC4gTWFyIDE5OTcsIDE5OjU3OjM1KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg1ODcxMTMwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg2MzIwNjAKTWl0IGZkaXNrIHdpcmQncyBub2NoIGtsZWluZXIuLi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCBtYWwgd2luZG9vZiBudCAoR3VsZHVrYXQsIDE4LiBNYXIgMTk5NywgMjA6MDI6NTMpOgp+IyEgcm49U3VzaGkgcnQ9ODU4NzAwOTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODYzMjA2MApNaWNyb3NvZnQgaGF0IG51ciBzZXJ2aXBhayAyIGltIGFuZ2Vib3QsICgxNy4xLjk3KQo/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9jaCBtYWwgd2luZG9vZiBudCAoU3VzaGksIDE4LiBNYXIgMTk5NywgMjI6MDA6NTQpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODU4NzExNzczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODYzMjA2MApBY2gsIHRhdHNhZWNobGljaD8gU28gZXR3YXMuLi4gRGFubiB2ZXJzdWNodCBlcyBkb2NoIG1hbCBtaXQgZGVtIFN0YW5kYXJkLU5UClBhdGNoLi4uIERhcyBpc3QgZWluIHVwZ3JhZGUsIGRhcyB2b2xsZSBMZWlzdHVuZ3NmYWVoaWdrZWl0IGdhcmFudGllcnQgdW5kIGRpZQpQZXJmb3JtYW5jZSB1bmQgU2ljaGVyaGVpdCB1bSBtaW5kZXN0ZW5zIDUwMCUgc3RlaWdlcnQuCgpBY2hzbywgZGFzIERpbmcgaGVpc3N0IExpbnV4IHVuZCBsaWVndCBncmF0aXMgaW0gTmV0ei4KCkRhcyBTZXJ2aWNlcGFjayB3YXIgZWluIGtsZWluZXIgVGVzdCwgdW0genUgc2VoZW4sIHdpZSByZWxpZ2lvZXMgTVMtdXNlcgpzaW5kLi4uIFNvcnJ5IGZvciB0aGF0ID46LT4KClN1c2hpLS1oYXNzdCBOVCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vY2ggbWFsIHdpbmRvb2YgbnQgKEVuZ3l3dWNrLCAxOC4gTWFyIDE5OTcsIDIyOjIxOjQ3KToKfiMhIHJuPVN1c2hpIHJ0PTg1ODcxODg1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg2MzIwNjAKQWxzbywgd2VubiBpY2ggbWlyIERlaW5lIG9kZXIgQWNyaW1vbnMgUG9zdGluZ3Mgc28gZHVyY2hsZXNlLCBkYW5uIGJpbiBpY2ggbWlyCm5pY2h0IHNpY2hlciwgb2IgZGllIFdpbmRvd3MtVXNlciBvZGVyIFdpbmRvd3MtSGFzc2VyIGRpZSByZWxpZ2lvZXNlcmVuIHNpbmQgLQpkaWUgZmFuYXRpc2NoZXJlbiBzaW5kIGxldHp0ZXJlIGFsbGVtYWwgOykgCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbm9jaCBtYWwgd2luZG9vZiBudCAoQmxvb2R5aGFycnksIDE4LiBNYXIgMTk5NywgMjI6MzA6NDcpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODU4NzIwMTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODYzMjA2MApJcmdlbmRldHdhcyBtdXNzIG1hbiBkb2NoIGxlaWRlbnNjaGFmdGxpY2ggaGFzc2VuLiBVbmQgYmVpIFdpbmRvd3MgaXN0IG1hbiBkYQppbW1lciBhdWYgZGVyIHJpY2h0aWdlbiBTZWl0ZS4KCmJoCjp3cQo6eAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFyZHNvZnR3YXJlIChBbmFraW4sIDE4LiBNYXIgMTk5NywgMjM6MzI6MTEpOgpIaWhvLAoKd2Vpc3MgZWluZXIgd28gbWFuIGtvc3RlbmxvcyBuZSBNYWlsaW5nbGlzdGUgYmV0cmVpYmVuIGthbm4/CkljaCBoYXR0ZSBtYWwgbmUgVVJMIGRhdm9uLCBhYmVyIGxlaWRlciB2ZXJidW1tZWx0LgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhhcmRzb2Z0d2FyZSAoQmxvb2R5aGFycnksIDE4LiBNYXIgMTk5NywgMjM6NDU6MzMpOgp+IyEgcm49QW5ha2luIHJ0PTg1ODcyNDMzMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg3MjQzMzEKSG1tLCBpY2gga2VubmUgZGFzIGltbWVyIHNvLCBkYXNzIG1hbiBzaWNoIGluIGVpbmUgTWFpbGluZ2xpc3RlIGVpbnRyYWdlbgpsYWVzc3QuIER1IHdpbGxzdCBzaWUgYWJlciBzZWxic3QgaW5zIExlYmVuIHJ1ZmVuPwoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaGFyZHNvZnR3YXJlIChTdXNoaSwgMTkuIE1hciAxOTk3LCAwMDowMTo0NSk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NTg3MjUxMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODU4NzI0MzMxCkphLCBrbGFyLi4uIAoKTWFuIGJyYXVjaHQ6CgoxIFJlY2huZXIKMSBzZW5kbWFpbAoKMSBtYWpvcmRvbW8KCjEgS2FzdGVuIEJpZXIgdW5kIENoaXBzIHBybyBQZXJzb24KCkplZGUgTWVuZ2UgTGFuZ2V3ZWlsZQoKLi4uIHVuZCBzY2hvbiBrYW5uIGVzIGxvc2dlaGVuLgoKU3VzaGkgIAoKYmVnaW4gNjQ0IGFzZGYudXVlCkUyMiFDODZYRz0iIUI5NlFJOTc5RSgnRW89Mj1SOTIhUjk2JUQ6NllHKCcxSDo3LEEiT19dCgplbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGhhcmRzb2Z0d2FyZSAoQW5ha2luLCAxOS4gTWFyIDE5OTcsIDA0OjQwOjUzKToKfiMhIHJuPVN1c2hpIHJ0PTg1ODcyNjEwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg3MjQzMzEKSmEgc2ljaGVyLCBpY2gga2FubiBiZWkgbWlyIGF1ZiBBcmJlaXQgbG9ja2VyIG5lIE1haWxpbmdsaXN0ZQphdWZtYWNoZW4sIGFiZXIgZGEgaWNoIG51ciBub2NoIDUgTW9uYXRlIGRhIGJpbiwgYnJhdWNoIGljaCAKc293YXMgd29hbmRlcnMsIGRhIGRpZXNlIGV0d2FzIGxhZW5nZXIgYmVzdGVoZW4gc29sbC4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VjaGUuLi4uIChUdW5peGd1dCwgMjAuIE1hciAxOTk3LCAwNzo0OTo0Mik6Cn4jISBybj1NYXJjdXMgcnQ9ODU4NTk5MjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg1ODU5MDM5OQp4YW5pbSBlcnphZWhsdCBtaXIgaXJnZW5kd2FzIHZvbiB1bmJla2FubnRlcyBBdmktRm9ybWF0LCB3ZW5uIGljaCBkYXMgT3JpZ2luYWwKYW5ndWdnZSB3aWxsLCBpcmdlbmR3YXMgdm9uIEludGVsIEluZGlvIFIzLjIgZ2xhdWJlIGljaCB3YXIgZGFzISEhIEljaCB3ZXJkJwptYWwgZ3VnZ2UsIG9iIGVzIGRhICduZSBuZXVlIFZlcnNpb24gdm9uIHhhbmltIGdpYnQsIGFuc29uc3RlbjogTm9jaCBhbmRlcmUKVm9yc2NobGFlZ2U/Pz8/Pz8KClR1Tml4R3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBoYXJkc29mdHdhcmUgKEhhZHJhLCAyMC4gTWFyIDE5OTcsIDA5OjMyOjM1KToKfiMhIHJuPVN1c2hpIHJ0PTg1ODcyNjEwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg3MjQzMzEKd2VyIHdlZGVyIGNoaXBzIG5vY2ggYmllciBtYWcgdW5kIGF1Y2ggbmljaHQgc28gdmllbCB6ZWl0IGhhdCBzaWNoIG1pdApzZW5kbWFpbCB6dSBiZXNjaGFlZnRpZ2VuLCBrYW5uIG1hbCBxbWFpbCB2ZXJzdWNoZW4uIGRhcyBnZWh0IHNjaG5lbGxlci4KCmhhZHJhIC0gbWFnIHF1aWNraWVsaXN0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN1Y2hlLi4uLiAoTWFyY3VzLCAyMC4gTWFyIDE5OTcsIDEyOjMzOjM4KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTg1ODg0MDU4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg1OTAzOTkKRGVyIEluZGVvIFIzLjIsIGRlciBDaW5lcGFrIHVuZCBpY2ggZ2xhdWIgYXVjaCBkZXIgcXVpY2t0aW1lIGNvZGVjIHdlcmRlbgpleHRyYSBkaXN0cmlidXRlZCBhbHMgLm8gZmlsZXMuIEVzIGtvZW5udGUgc2VpbiwgZGFzIGVzIHNjaG9uIHByZWNvbXBpbGVkCmJpbmFyaWVzIG1pdCBkZW5lbiBkcmluIGdpYnQsIGJlaW0gc2VsYmVyIGNvbXBpbGllcmVuIG11c3N0IGR1IGFiZXIgbm9jaApkaWUgLm8gZmlsZXMgaG9sZW4gdW5kIGRhcyBNYWtlZmlsZSBhbnBhc3Nlbi4KCgpNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN1Y2hlLi4uLiAoVHVuaXhndXQsIDIxLiBNYXIgMTk5NywgMDg6MDk6MDcpOgp+IyEgcm49TWFyY3VzIHJ0PTg1ODg1NzYxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTg1OTAzOTkKKCpTVE9FSE4qKQoKSWNoIGhhc3NlIFVuaXguLi4uLgoKCkVpbmUgbGFuZ2UgTmFjaHQgYmVmdWVyY2h0ZW5kLi4uLiBUdU5peEd1dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lciBUaXAgKEdyaW1tYm9ybiwgMjkuIE1hciAxOTk3LCAwMToxMjoxNyk6CkZ1ZXIgZGllLCBkaWUgbm9jaCBuaWNodCBkcmF1Zmdla29tbWVuIHNpbmQ6IFdlbm4gZWluZW4gZWluZXJzZWl0cyBuZXJ2dCwgZGFzcwptYW4gZGFzIHJlamVjdGVuIHZvbiBjb29raWVzIHVudGVyIE5ldHNjYXBlIG5pY2h0IGF1dG9tYXRpc2NoIGVpbnN0ZWxsZW4ga2Fubgp1bmQgd2VyIGRlbm5vY2ggbWVpbnQsIHNvd2FzIHdpZSBjb29raWVzIG5pY2h0IGhhYmVuIHp1IHdvbGxlbiwga2FubiBkZW0KbGVpY2h0IGFiaGVsZmVuIG1pdCBkZW0gQmVmZWhsICJsbiAtcyAvZGV2L251bGwgfi8ubmV0c2NhcGUvY29va2llcyIuCkZ1ZXIgTmljaHQtVW5peC1CZXRyaWVic3N5c3RlbWUgZ2lsdCBhbGxlcmRpbmdzOiBOaWNodCBkaWUgS29lcGZlIGhhZW5nZW4KbGFzc2VuLCB3ZW5uIGlociBtaXQgZGVtIFJlY2huZXIgb25saW5lIGdlaHQgaGFidCBpaHIgZ2FueiBhbmRlcmUKU2ljaGVyaGVpdHNsdWVja2VuIGFscyBjb29raWVzLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmVyIFRpcCAoU3VzaGksIDI5LiBNYXIgMTk5NywgMDE6MTg6NDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1OTU5NDMzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTk1OTQzMzcKKmdhZWhuKiBBdXMgd2VsY2hlciBNb3R0ZW5raXN0ZSBoYXN0IER1IGRlbm4gZGVuPwoKVW5kICJOaWNodC1Vbml4LUJldHJpZWJzc3lzdGVtZSIgaXN0IHdvaGwgZWluZSBTdGlsZmlndXIsIG9kZXI/IENvbnRyYWRpY3RpbwppbiBBZGllY3RvIG5lbm50IG1hbiBzb3dhcy4uLgoKU3VzaGktLSBoYWVsdCBkZW4gQnVjaHRpdGVsICJXaXhkb3dzIGZ1ZXIgRHVtbWllcyIgZnVlciBlaW5lIFJlZHVuZGFuegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsZWluZXIgVGlwIChLcmV0ZWssICA4LiBBcHIgMTk5NywgMDE6MjE6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1OTU5NDMzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTk1OTQzMzcKQXVmIGRpZSBHZWZhaHIgaGluLCBkYXNzIGRhcyBqZXR6dCAnbmUgc2F1YmxvZWRlIEZyYWdlIGlzdDogV2FzIGlzdApkZW5uIHNvIGVpbiBDb29raWUgZWlnZW50bGljaD8KCksKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xlaW5lciBUaXAgKEhhdGUsICA4LiBBcHIgMTk5NywgMTk6MTM6NDYpOgp+IyEgcm49S3JldGVrIHJ0PTg2MDQ1NTMxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NTk1OTQzMzcKRWluIENvb2tpZSBpc3QgZWluIFN0dWVjayBEYXRlbiwgd2VsY2hlcyBJbmZvcm1hdGlvbmVuIGRhcnVlYmVyIGVudGhhZWx0LAp3byBEdSBkaWNoIGdlcmFkZSBhdWYgZGVtIFdXVyBTZXJ2ZXIgYmVmaW5kZXN0LiBEYW1pdCBrYW5uIG1hbiBkaWNoIGRhbm4Kd2llZGVyIGlkZW50aWZpemllcmVuLCB3ZW5uIER1IG5vY2htYWwgZG9ydGhpbiBrb21tc3QuIEVudGhhZWx0IGFsc28gbm9jaAphbGxlbiBtb2VnbGljaGVuIGFuZGVyZW4gTWlzdCwgd2llIGVpbmUgaWQgZnVlciBkaWNoIGV0Yy4gRGVpbiBCcm93c2VyCnNlbmRldCBkZW4gY29va2llIGFuIGRlbiBzZXJ2ZXIsIHdlbm4gZXIgZGllc2VuIHdpZWRlciBiZXN1Y2h0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4LCBzcWwgdW5kIG9kYmMgKEhhZHJhLCAxNi4gQXByIDE5OTcsIDAxOjI0OjUzKToKaGlobywKCmljaCBzdWNoZSBlaW5lIGRhdGVuYmFuayBmdWVyIGxpbnV4IChtb2VnbGljaHN0IHNxbCkgZnVlciBkaWUgZXMgYXVjaCBlaW5lbgpwYXNzZW5kZW4gb2RiYy10cmVpYmVyIGZ1ZXIgZGllIGFuc3ByYWNoZSB1bnRlciB3aW5kb3dzICg5NS8zLngpIGdpYnQuCgpnaWJ0IGVzIHNvIHdhcyBmcmVpICh3ZW5uIGphIHdvPykgb2RlciBudXIgYWxzIGxvZWhud2FyZT8KCmhhZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGludXgsIHNxbCB1bmQgb2RiYyAoUnVtYXRhLCAxNi4gQXByIDE5OTcsIDE0OjEwOjQ0KToKfiMhIHJuPUhhZHJhIHJ0PTg2MTE0NjY5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjExNDY2OTMKaHR0cDovL3d3dy5wb3N0Z3Jlc3FsLm9yZy8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCwgc3FsIHVuZCBvZGJjIChFc2N1YmFyLCAxNi4gQXByIDE5OTcsIDE4OjQ2OjM2KToKfiMhIHJuPUhhZHJhIHJ0PTg2MTE0NjY5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjExNDY2OTMKSGFsbG8gSGFkcmEsCgpGcmVld2FyZSBnaWJ0cyBsZWlkZXIgbmljaHQgc292aWVsLCBzY2hhdSBEaXIgbWFsIG1TUUwgdW5kIFBvc3RncmVzIGFuLCB3b2JlaQpQb3N0Z3JlcyBsZWlkZXIgbmljaHQgU1FMIGlzdCwgc29uZGVybiB3YXMgZWlnZW5lcywgYWJlciBhZWhubGljaGVzIG51dHp0LiBPYnMKZGF6dSBhYmVyIG5lbiBPREJDIGdpYnQgd2Vpc3MgaWNoIG5pY2h0LgoKQmVpIGplZGVyIGdyb3NzZW4gUy51LlMuRS4gTGludXggaXN0IGFuc29uc3RlbiBuZSBMTlggU1FMIERhdGVuYmFuayBiZWksCmRhZnVlciBnaWJ0cyBuZW4gT0RCQyBmdWVyIFdJTiBmdWVyIDk4LC0gRE0uCgpCZWkgQURBQkFTIEQgZ2lidCBpbSBNb21lbnQgZGllIFBlcnNvbmFsIEVkaXRpb24gZnVlciB1bXNvbnN0ISBXZWlzcyBhYmVyCm5pY2h0IG9iIGRhIE9EQkMgYmVpIGlzdCwgZWluZmFjaG1hbCBhbmZvcmRlcm4gKERvcHBlbHNlaXRpZ2UgQW56ZWlnZSBpbiBkZXIKYWt0dWVsbGVuIENUKS4KCkVpc2JhZXIgRXNjdWJhcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbGludXgsIHNxbCB1bmQgb2RiYyAoU3VzaGksIDE2LiBBcHIgMTk5NywgMjA6MTQ6NDUpOgp+IyEgcm49RXNjdWJhciBydD04NjEyMDkxOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMTQ2NjkzClNjaGxlaWNod2VyYmVyIDotKQoKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFULUJ1cyAoQ2F1bm8sIDE3LiBBcHIgMTk5NywgMTA6MDI6NTQpOgpJY2ggc3VjaGUgZWluZW4gQVQtQnVzIENvbnRyb2xsZXIgZnVlciBWTEIgbWl0IEJJT1MgZGFtaXQgbWVpbiBDb21wdXRlciBvaG5lCkxCQS1Nb2RlIGF1ZiBkZW4ga29tcGxldHRlbiBTcGVpY2hlcnBsYXR6IGRlciBGZXN0cGxhdHRlIHp1Z3JlaWZlbiBrYW5uLgpXbyBnaWJ0IGVzIHNvd2FzPwoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBVC1CdXMgKER3aWdodCwgMTcuIEFwciAxOTk3LCAxMDoyNDozMCk6Cn4jISBybj1DYXVubyBydD04NjEyNjQxNzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMjY0MTc0CkhvbGxhCgpHaWJ0IGVzIGRhcz8gSWNoIHdhciBkZXIgTWVpbnVuZywgZGFzcyBkYXMgQm9hcmQtQmlvcyBkYXMgdW50ZXJzdHVldHplbiBtdXNzLgpPaG5lIExCQS1Cb2FyZCBnZWh0cyBtZWluZXIgTWVpbnVuZyBuYWNoIG51ciBtaXQgVHJlaWJlcm4uCkZhbGxzIGVzIGRvY2ggQ29udHJvbGxlciBnaWJ0LCBkaWUgaWhyIGVpZ2VuZXMgQklPUyAnZHJ1ZWJlcnN0dWVscGVuJywgd2FlcgppY2ggYXVjaCBkcmFuIGludGVyZXNzaWVydC4KCkR3aWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBVC1CdXMgKENhdW5vLCAxNy4gQXByIDE5OTcsIDEwOjMxOjMxKToKfiMhIHJuPUR3aWdodCBydD04NjEyNjU0NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMjY0MTc0Ck5pY2h0IGRydWViZXJzdHVlbHBlbiwgc29uZGVybiBlcmdhZW56ZW4uIE1hbiBoYXQgZGFubiBwcmFrdGlzY2ggendlaSBCSU9TZSwKZGllIG1hbiBnZXRyZW5udCBlaW5zdGVsbGVuIGthbm4uClNvIGhhdCBtYW4gZXMgbWlyIGplZGVuZmFsbHMgaW0gUlogZXJ6YWVobHQuIEljaCB0dSBhbGxlcywgbnVyIHVtIG5pY2h0IHdpZWRlcgpFWi1Ecml2ZSBhdWYgZGVyIFBsYXR0ZSBpbnN0YWxsaWVyZW4genUgbXVlc3Nlbi4KCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFULUJ1cyAoTmFzaW0sIDE3LiBBcHIgMTk5NywgMTM6MzY6MDApOgp+IyEgcm49RHdpZ2h0IHJ0PTg2MTI2NTQ3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjEyNjQxNzQKSmEsIHNvd2FzIGdpYnQgZXMgLSBoYWIgaGllciBzZWxic3Qgc28gZWluIERpbmcgbGF1ZmVuLiBBYmVyIGRhc3MgZXMgZGllIGZ1ZXIKVkxCIG5vY2ggaXJnZW5kd28gbmV1IGdpYnQsIGhhbHRlIGljaCBmdWVyIGVoZXIgdW53YWhyc2NoZWlubGljaCAuCkFsc28gYXVmIHp1bSBuYWVjaHN0ZW4gQ29tcHV0ZXJmbG9obWFya3QuCgogIE5hc2ltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIdWh1IChGbGlueCwgMTcuIEFwciAxOTk3LCAxNDo0MzoxNCk6CgpJY2ggc3VjaCBlaW4gUHJvZ3JhbW0sIGRhcyB3aWUgVW5pdmJlIGRpZSBXaWVkZXJob2xyYXRlIGRlciBHcmFmaWtrYXJ0ZQpiencuIGRlcyBNb25pdG9ycyBlcmhvZXQuIFVuaXZiZSA1LjMgbGFldWZ0IG1vcmdlbiBhdXMsIHVuZCBpY2ggaGFiZSBrZWluZQpMdXN0IG1pdAo1NiBIeiB3ZWl0ZXIgenUgYXJiZWl0ZW4uCldlaXMgd2VyIHJSYXQgPwoKRmxpbnguIE9obmUgUGxhbiB1bmQgTGF5b3V0LiBVbmQgb2huZSBnZXNjaGVpdGUgR3JhcGhpa2thcnRlIDooCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbWUgbWl0IENELUJyZW5uZXIgKE5pcmRhdm8sIDE3LiBBcHIgMTk5NywgMTQ6NDc6MTkpOgogIEhhbGxvZWxlLCBMZXV0ZSEKICBIYXQgaGllciB2aWVsbGVpY2h0IHNjaG9uIG1hbCBqZW1hbmQgbWl0IGVpbmVtIFBoaWxpcHMgQ0RELTI2MDAgQ0QtQnJlbm5lcgpnZWFyYmVpdGV0PyBJY2ggaGFiIG5hZW1saWNoIGRhcyBQcm9ibGVtLCBkYXNzIGljaCB1bnRlciBXOTUga2VpbmUKQXVkaW8tVHJhY2tzIGdlbGVzZW4gYmVrb21tZSwgdW5kIGRhcyBiZWhpbmRlcnQgZG9jaCBzY2hvbiB6aWVtbGljaC4gVW50ZXIgRE9TCmZ1bmt0aW9uaWVydCBlcyBnYW56IGhlcnZvcnJhZ2VuZCwgYWJlciBkYXMgbnVldHp0IG1laW5lbSBCcmVubnByb2dyYW1tIG5pY2h0CmFsbHp1dmllbCwgd2VubiBpY2ggZWluZSAxOjEtS29waWUgdm9uIGVpbmVyIEF1ZGlvLUNEIG1hY2hlbiB3aWxsLgoKICBOaXJkYXZvLCBhdWYgZ3V0IFZvcnNjaGxhZWdlIGhvZmZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklyYy9zaWNoZXJoZWl0IChGbGlueCwgMTguIEFwciAxOTk3LCAxODoxODoxNik6Ckh1aHUgIQoKRWluaWdlIG1laW5lIFN0dWRpLVdvaG5oZWltbWl0YmV3b2huZXIgaG9lcmVuIGFuc2NoZWluZW5kCnByaXZhdGUgL21zZ3MgaW0gSVJDIGFiLiBHaWJ0cyBlcyBlaW5lIE1vZWdsaWNoa2VpdCBzaWNoIGRhZ2VnZW4KenUgc2NodWV0emVuIChhdXNzZXIgZGNjLWNoYXQpID8gV2VubiBqYSwgd2llID8KSWNoIGJlbnV0emUgTWlyYyA0LjcyIHVuZCBXaW4gMy4xCihqYWphLCBpY2ggd2VpcywgZGFzIGdhbnplIFN5c3RlbSBpc3QgZWluIFNpY2hlcmhlaXRzbGVjaykKSWRlYWwgd2FyZSBlaW4gUHJvZ3JhbW0sIGRhcyB3YXJudCwgd2VubiBlaW4gQWJob2VydmVyc3VjaCBnZXN0YXJ0ZXQKd2lyZC4KCgpGbGlueC4gSXN0IGFuc2NoZWluZW5kIHZlcndhbnp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmFyYmlnZXMgeHRlcm0gZnVlciB1bml4IChNeXN0ZXJpb3VzLCAyMC4gQXByIDE5OTcsIDAwOjU5OjQ2KToKbW9pbi4uLi4uCnNvb28uLi5pY2ggc3VjaCBtaWNoIHNjaG9uIG4gd2VpbGNoZW4gZHVtbSB1bmQgZHVzc2VsaWcuLi4uCmthbm4gbWlyIGplbWFuZC9mcmF1ZCB2b24gZXVjaCBzYWdlbiwgd28gaWNoIG4gZmFyYmlnZXMgeHRlcm0gZnVlcgp1bml4LXJlY2huZXIgaGVya3JpZWdlPz8KYWJlciBuaWNoIGZ1ZXIgbGludXguLmljaCBoYWIgc29uIGFuc2ktY29sb3IteHRlcm0gYXVmIG5lciBzdW4ga29tcGlsaWVydCwgd2FzCm1pciBhYmVyIGxlaWRlciBrZWluZSBmYXJiZW4gYnJhY2h0ZSAobnVyIGlibS12Z2EtZm9udHMgOC0pLi4uLgoKd2FlciBuZXR0LCB3ZW5uIG1pciBkYSBqZW1hbmQgd2VpdGVyaGVsZmVuIGtvZW5udGUuLi4KCmR1aWlpaWlpaWlpaWkKZGEgbVlzVEEuLi4uc3VjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUXVpeiAoRW5neXd1Y2ssIDIwLiBBcHIgMTk5NywgMTQ6MjQ6MzkpOgpIdWh1IQpIaWVyIGVpbiBRdWl6IGZ1ZXIgdW5zZXJlIExpbnV4LUZyZWFrczogV2VubiBpY2ggZGVuIFJlY2huZXIgc3RhcnRlIG9kZXIgbmFjaApkZW0gQXVzbG9nZ2VuIGJla29tbWUgaWNoIGVpbmVuIGxvZ2luLXByb210LCBkZXIgTklDSFQgdm9uIGxvZ2luLmMgenUga29tbWVuCnNjaGVpbnQuIERpZSBGcmFnZSBpc3Q6IFdvIGtvbW10IGRlciBoZXIgdW5kIHdhcyBtdXNzIGljaCBlZGl0aWVyZW4sIHVtIGRlbiB6dQphZW5kZXJuPwoKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWl6IChIaWdobGFuZGVyLCAyMC4gQXByIDE5OTcsIDE2OjA0OjE2KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2MTUzOTA3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjE1MzkwNzkKL2V0Yy9pc3N1ZSA/ICBJbSBad2VpZmVsc2ZhbGwgaW4gL2V0YyBtYWwgbmFjaCBkZW0gVGV4dCBncmVwcGVuCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFF1aXogKFBpbGdyaW0sIDIwLiBBcHIgMTk5NywgMTY6NTk6MzApOgp+IyEgcm49SGlnaGxhbmRlciBydD04NjE1NDUwNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxNTM5MDc5CkhtbSwKCmFsc28gaW4gL2V0Yy9pc3N1ZSAgc3RlaHQgZGVyIHRleHQsIGRlciB2b3IgZGVtIGxvZ2luIGFuIGRlciBjb25zb2xlCmVyc2NoZWludCwgaW4gL2V0Yy9pc3N1ZS5uZXQgc3RoZXQgZGVyIHRleHQsIGRlciB2b3IgZGVtIGxvZ2luIHVlYmVycwpuZXR6IGVyc2NoZWludCAuLi4KCmljaCB3dWVyZGUgbWFsIC9ldGMvbG9naW5zLmRlZnMgdW5kIC92YXIvbG9nL2ZhaWxsb2cgdmVyc3VjaGVuIC4uLgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUXVpeiAoSGlnaGxhbmRlciwgMjAuIEFwciAxOTk3LCAxNzowMDo1OCk6Cn4jISBybj1QaWxncmltIHJ0PTg2MTU0ODM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjE1MzkwNzkKQWNoIERFUiBUZXh0LiBTb3JyeS4gSWNoIHNpdHplIGF1ZiBtZWluZXIgTGVpdHVuZy4gV2Vpc3MgaWNoIG5pY2h0IG9obmUKc3VjaGVuLiAgSG9mZmVudGxpY2ggc3RpbW10IFBpbGdyaW1zIEhpbndlaXMgOj4KICAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvemVzc29yIGF1ZnJ1ZXN0ZW4gKFNudWdnbGUsIDIwLiBBcHIgMTk5NywgMjE6Mzg6NDEpOgpIaWhvLAoKaWNoIGhhYiBsZXR6dGVucyBlaW5lbiA0ODZEWDIvNjYgUHJvemVzc29yIGdlc2NoZW5rdCBiZWtvbW1lbiB1bmQgd3VlcmRlIGpldHp0Cm1laW4gTWFpbmJvYXJkIChNQiAxNDI1LzMzIEFFQS1QKSBnZXJuZSBhdWZydWVzdGVuLiBFcyBpc3QgbGF1dCBEb2t1IGluIGRlciAKTGFnZSwgZGVuIFByb3plc3NvciB6dSB2ZXJrcmFmdGVuLCBzaW5kIHNvZ2FyIEJlbmNobWFyay1XZXJ0ZSBhbmdlZ2ViZW4uCgpJbSBNb21lbnQgaGFiZSBpY2ggZWluZW4gNDg2RFgyLzUwIGRyYXVmLiBNZWluIFByb2JsZW0gaXN0IGpldHp0LCBkYXNzIGljaCwKd2VubiBpY2ggZGVuIFByb3plc3NvciBhdXN0YXVzY2hlLCBkZXIgUmVjaG5lciBvZmZlbmJhciBpbW1lciBub2NoIGRlcgpNZWludW5nIGlzdCwgZWluZW4gc29sY2hlbiB6dSBoYWJlbiAoenVtaW5kZXN0IGdlYmVuIERpYWdub3NlLVByb2dyYW1tZSBkYXMKYW4gdW5kIGRlciBCZW5jaG1hcmstV2VydCBiZXN0YWV0aWd0IGRhcyBpbiBldHdhcykuCgpFcyBnaWJ0IGF1ZiBkZW0gQm9hcmQgNSBKdW1wZXIsIGRpZSBldHdhcyBtaXQgQ1BVIENsb2NrIGJ6dyBUeXBlIHp1IHR1biBoYWJlbjoKCjIgSnVtcGVyLCBtaXQgZGVuZW4gaWNoIGRlbiBDUFUtVHlwZSBlaW5zdGVsbGUsIGRhYmVpIGdpYnRzIGZvbGdlbmRlIE9wdGlvbmVuOgo0ODZTWAo0ODYgT3ZlcmRyaXZlCjQ4NkRYL0RYMgoobGV0enRlcmVzIGhhYiBpY2ggZ2VqdW1wZXJ0KQoKMSBKdW1wZXIsIG1pdCBkZW0gaWNoIGRpZSBDUFUtQ2xvY2sgZWluc3RlbGxlbiBrYW5uOgo0ODZEWDUwIG9ubHkKb3RoZXIKbGV0enRlcmVzIGhhYiBpY2ggZ2VqdW1wZXJ0Cgpub2NoIDEgSnVtcGVyIG1pdCBnZW5hdSBkZW4gc2VsYmVuIE1vZWdsaWNoa2VpdGVuIHdpZSBvYmVuOgo0ODZEWDUwIG9ubHkKb3RoZXIKd2llZGVyIGxldHplcmUgT3B0aW9uIGdlanVtcGVydAoKc2NobGllc3NsaWNoIG5vY2ggZWluIEp1bXBlciwgZGVyIGF1Y2ggbWl0IENQVS1DbG9jayBiZXNjaHJpZnRldCBpc3QgdW5kIHp1CmRlbSBpbSBIYW5kYnVjaCBzdGVodDoKQWx3YXlzIGluIFBvc2l0aW9uIDItMyAoRW5naW5lZXIgVGVzdCBQaW4pCgpLYW5uIG1pciBqZW1hbmQgc2FnZW4sIG9iIGljaCBpbSBTZXR1cCBub2NoIGV0d2FzIGVpbnN0ZWxsZW4gbXVzcz8gSWNoIGhhYgpuaXggZGF6dSBnZWZ1bmRlbi4gKEFNSS1CaW9zIHZvbiAxOTkyKSAKCkZ1ZXIgamVkZW4gVGlwIGRhbmtiYXIsClNudWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSXJjL3NpY2hlcmhlaXQgKFVsbywgMjAuIEFwciAxOTk3LCAyMjo0NzoyOSk6Cn4jISBybj1GbGlueCBydD04NjEzODAyOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMzgwMjk2CgpIaSwgRHUgc2NocmVpYnN0IFN0dWRpLVdvaG5oZWltc21pdGJld29obmVyLCBoZWlzc3QgZGFzLCBkYXNzIGVzIHNpY2ggdW0gZWluZW4KV29obmhlaW1zaW50ZXJuZXRhbnNjaGx1c3MgaGFuZGVsdD8gV2VubiBqYSwgZGFubiBpc3NlcyB2bXRsIG1pdCBFdGhlcm5ldApyZWFsaXNpZXJ0LCB1bmQgZGFubiBnaWx0OgotIGplZGVzIEJ5dGUsIGRhcyBEdSBhdWYgZGllIFJlaXNlIHNjaGlja3N0LCBrYW5uIGplZGVyIG1pdCBkZW0gcmljaHRpZ2VuClByb2dyYW1tIG1pdGhvZXJlbiAtIG9obmUgZGFzcyBEdSBldHdhcyBkYXZvbiBtaXRrcmllZ3N0IG9kZXIgZXMgdmVyaGluZGVybgprYW5uc3QuCihNaXQgamVkZXIgbWVpbmUgaWNoIGplZGVyLCBkZXIgYW0gc2VsYmVuIEV0aGVybmV0IGhhZW5ndCwgYWxzbyBkaWUgS2VybGUgZWluCnBhYXIgWmltbWVyIHdlaXRlciwgZXRjLikgRGFzIHNlbGJlIFByb2JsZW0gZXJnaWJ0IHNpY2ggYXVjaCBhbiBVbmluZXR6ZW4uCldlbm4gZGEgZGVyIGhhbGJlIEZhY2hiZXJlaWNoIGFuIGVpbmVtIEV0aGVybmV0IGhhZW5ndCwga29lbm50ZSBqZWRlciBkaWUKZW1haWwgZGVyIGxpZWJlbiBLb2xsZWdlbiBtaXRsZXNlbiAtIGt1cnogZ2VzYWd0OiBkYSB0dW4gc2ljaCBBYmdydWVuZGUgYXVmIQoKRWluemlnIHByYWt0aWthYmxlIExvZXN1bmcgd2FlcmUgZXMsIG51ciBub2NoIHZlcnNjaGx1ZXNzZWx0IHp1IGFyYmVpdGVuLgpJbndpZWZlcm4gZGFzIGRpZSB2ZXJ3ZW5kZXRlIFNvZnR3YXJlIHVudGVyc3R1ZXR6dCwgbXVzc3QgRHUgc2VsYmVyIGFiY2hlY2tlbi4KClVsby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSXJjL3NpY2hlcmhlaXQgKFlhcmVuLCAyMC4gQXByIDE5OTcsIDIyOjU5OjMxKToKfiMhIHJuPVVsbyBydD04NjE1NjkyNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMzgwMjk2CkhpbGZ0IHdvaGwgbmljaHQsIHdlbm4gRHUgZXR3YXMgdW52ZXJzY2hsdWVzc2VsdCBpbiBEZWluZW0gSG9tZSBhYmxlZ3N0LCB3ZW5uCmRhcyBhdWYgZWluZW0gRlMgbGllZ3QgOy0pCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBRdWl6IChUcmVrYW4sIDIxLiBBcHIgMTk5NywgMDA6MDk6NTMpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODYxNTM5MDc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MTUzOTA3OQpWaWVsbGVpY2h0IGVpbiBlY2hvLCBkYXNzIGlyZ2VuZHdvIG4gZGVyIGNvbmZpZyBoZXJ1bWZsaWVndC4KQWJlciBhbnNvbnN0ZW4gZWluZmFjaCBtYWwgZHVyY2ggL2V0YyB1bmQgL2V0Yy9yYy5kIG5hY2ggZGllc2VuIHNhY2hlbgpncmVwcGVuLiBXYXJzY2hlaW5saWNoIHN0ZWggZXMgZGEuClRyZWthbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJcmMvc2ljaGVyaGVpdCAoV29vZHksIDIxLiBBcHIgMTk5NywgMDQ6MTc6MDgpOgp+IyEgcm49VWxvIHJ0PTg2MTU2OTI0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjEzODAyOTYKSGkuCgphdXNyZWljaGVuZCBzaWNoZXIgd2FlcmUgSU1ITyBmb2xnZW5kZSBMb2VzdW5nOgogLSBMaW51eCBhbSBlaWdlbmVuIFJlY2huZXIKIC0gc3NoIGRyYXVmIGluc3RhbGxpZXJlbgogLSBwZXIgc2xvZ2luIGF1ZiBlaW5lbSByZW1vdGUgYWNjb3VudCBlaW5sb2dnZW4gKHdvIGF1Y2ggc3NoCiAgIGluc3RhbGxpZXJ0IHNlaW4gbXVzcywga2xhciAoYnp3LiBzc2hkKSkKIC0gdm9uIGRvcnQgYXVzIGlucyBJUkMgKG9kZXIgTUcgOikpIGVpbnN0ZWlnZW4KCkRhcyBQcm9ibGVtIHdpcmQgd29obCBkZXIgcmVtb3RlIGFjY291bnQgc2VpbiwgZGVubiB3ZW5uIGVzIGRlbgpnaWJ0ICh3aWUgYmVpIHVucyBkaWUgc3R1ZCBhY2NvdW50cywgb2RlciBkaWUgZnVlciB1ZWJ1bmdlbiwKcHJha3Rpa2EsIGV0Yy4pLCB3aXJkIChsZWlkZXIpIGluIGRlbiBzZWx0ZW5zdGVuIEZhZWxsZW4gc3NoZAppbnN0YWxsaWVydCBzZWluLgoKbGcsIHdvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldmVyIGNoYW5nZSBhIHJ1bm5pbmcgc3lzdGVtIDotKCAoQmFib29uLCAyMS4gQXByIDE5OTcsIDE1OjEzOjQ5KToKTmFjaGRlbSBpY2ggbmFjaCAxNC10YWVnaWdlciBMYXVmZXJlaSB1bmQgQmFzdGVsZWkgZW5kbGljaCBtZWluZW4KaGVpc3NnZWxpZWJ0ZW4gQW1pZ2E1MDAgd2llZGVyIHp1IGxhdWZlbiBnZWtyaWVndCBoYWIgbXVzcyBpY2ggamV0enQgTlVSIG5vY2gKR29sZEVkIDQuNi4yIGluc3RhbGxpZXJlbi4KZGFzIFByb2JsZW0gaXN0LCBtZWluIEluc3RhbGxlcihWMi40KSBzY2hhZmZ0IGVzIG5pY2h0LCBkYXMgYmVpbGllZ2UKaW5zdGFsbC1za3JpcHQgenUgY29tcGlsaWVyZW4uIChGZWhsZXJtZWxkdW5nICJwYXJhbWV0ZXIgb3V0c2lkZSBvZiBzdGF0ZW1lbnQKaW4gemVpbGUgOTg2IikuCkhhdCBpcmdlbmplbWFuZCBlaW5lIExvZXN1bmcvSWRlZS9hbmRlcmVuIEVkaXRvcj8KCkJhYm9vbiB3aWxsIG1hbCBlbmRsaWNoIHdhcyBwcm9ncmFtbWllcmVuIHVuZCB3aXJkIHZvbiBzZWluZW0gUmVjaG5lcgpnZWhpbmRlcnQuIDotKAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJcmMvc2ljaGVyaGVpdCAoSmltZGlncml6LCAyMS4gQXByIDE5OTcsIDE1OjE3OjI0KToKfiMhIHJuPVVsbyBydD04NjE1NjkyNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxMzgwMjk2CkhvaSwKCmFsc28gVWxvIGhhdCBuYXR1ZXJsaWNoIHJlY2h0LCB3ZXIgZGFzIGV0aGVybmV0IGFiaG9lcnQKKGludGVyZmFjZSBpbSBwcm9taXNjaW91cyBtb2RlKSBrcmllZ3QgYWxsZXMgbWl0LCB3YXMKbmljaHQgdmVyc2NobHVlc3NlbCBpc3QsIGFsc28gYXVjaCBwYXNzd29ydGVyIHVuZCBhdWNoCiAvZGNjIGNoYXQgbWVzc2FnZXMKQW5kZXJlcnNlaXQsIHdlbm4gZXMgbmljaHQgYXVmIEV0aGVybmV0YmFzaXMgKG9kZXIgc29uc3R3aWUpCiBhdWYgTmV0emViZW5lKSBhYmdlaG9lcnQgd3VyZGUsIHNpZWh0IGRpZSBTYWNoZSBzY2hvbgphbmRlcnMgYXVzLiBBdWYgSVJDIGViZW5lIGtvZW5uZW4gbmFlbWxpY2ggbnVyIGRpZSAKSVJDLVNlcnZlciBCZXRyZWliZXIgZGVyYXJ0aWdlIERpbmdlIGFiaG9lcmVuL21pdGxvZ2dlbi4KQWxzbyBlaW4gSVJDIEFkbWluIChJUkMgT3AgcmVpY2h0IElNSE8gbmljaHQpLgpXZW5uIGVzIHNpY2ggYWxzbyBiZWkgZGVpbmVuIE1pdGJld29obmVybiB1bSBJUkMgQWRtaW5zCmltIElSQ25ldCAodm9yaGVyIEVGTmV0KSBoYW5kZWx0IGRpZSBkYXMgdW5iZXJlY2h0aWd0ZXIKd2Vpc2UgdHVuLCBrYW5uc3QgRHUgRGljaCBiZWkgaXJjLW9wZXJAbGVvLm9yZyBiZXNjaHdlcmVuLApEdSBzb2xsdGVzdCBhYmVyIGRlbiBiZXRyb2ZmZW5lbiBTZXJ2ZXIgdW5kIGRlc3NlbiBBZG1pbnMgYW5nZWJlbi4KVmVyZ2V3aXNzZXJlIERpY2ggYWJlciwgZGFzcyBkZXIgU2VydmVyIHdpcmtsaWNoIGltIElSQ25ldCBpc3QuCkZhbGxzIGVzIHNpY2ggZWhlciB1bSBlaW4ga2xlaW5lcyBsb2thbGVzIElSQy1OZXR6IApoYW5kZWx0LCBrYW5uIGljaCBEaXIgbnVyIGVtcGZlaGxlbSBuaW1tIGVpbiBhbmRlcmVzLgoKQ2lhbywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXZlciBjaGFuZ2UgYSBydW5uaW5nIHN5c3RlbSA6LSggKEhvbGdlciwgMjIuIEFwciAxOTk3LCAxNTo0MzozMSk6Cn4jISBybj1CYWJvb24gcnQ9ODYxNjI4NDI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MTYyODQyOQpOZXVlcmUgVmVyc2lvbmVuIHZvbSBJbnN0YWxsZXIgc29sbHRlbiBlaWdlbnRsaWNoIGltIEFtaW5ldCB6dSBlcmhhbHRlbi4KSmVkZW5mYWxscyBoYWIgaWNoIGRvcnQgbWFsIGVpbmUgaGVyIGJla29tbWVuLgoKSG9sZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6d2VpIGRvbWFpbm5hbWVuIGF1ZiBlaW5lbSByZWNobmVyPyAoQmluZywgMjMuIEFwciAxOTk3LCAxMDozMTowNCk6CmhhbGxvLAoKa2FubiBtYW4gYXVmIGVpbmVtIGxpbnV4IHJlY2huZXIgendlaSBkb21haW5uYW1lbiBmZXN0bGVnZW4/Pwp6LmIuIGlwLW51bW1lciAxMDAuMTIzLjIyLjExCm1pdCBkZW0gZG9tYWluIG9mZmljZS5hd3cudW5pLWhhbWJ1cmcuZGUgICB1bmQKYXd3LnVuaS1oYW1idXJnLmRlCndlbm4gZGVyIHJlY2huZXIgZGVuIG5hbWVuIG9mZmljZSBoYXQ/IG9kZXIgbXVzcyBtYW4gZGF6dQpiZWkgZGVuIGxldXRlbiB2b20gbmFtZXNlcnZlciBkaWUgZ2FudHplIGdlc2NoaWNodGUgbWFjaGVuIGxhc3NlbgptaXQgendlaSBlaW50cmFlZ2VuIGF1ZiBkZW4gZ2xlaWNoZW4gcmVjaG5lcj8Kb2RlciBrYW5uIG1hbiBkYXMgbmljaHQgbWl0IGVpbmVtIGxpbnV4IHJlY2huZXI/PwoKd2FydGUgYXVmIGhpbGZlIGJpbmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogendlaSBkb21haW5uYW1lbiBhdWYgZWluZW0gcmVjaG5lcj8gKEtsZWluZHVtbWksIDIzLiBBcHIgMTk5NywgMTA6Mzk6MTUpOgp+IyEgcm49QmluZyBydD04NjE3ODQyNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxNzg0MjY0CgpTbyB3ZWl0IGljaCB3ZWlzcy4sIG11ZXNzdGVzdCBEdSBpbSBOYW1lc2VydmVyIGRhbm4gZW50c3ByZWNoZW5kZQpBbGlhc3NlIGVpbnRyYWdlbiBsYXNzZW4sIGJpbiBtaXIgYWJlciBuaWNodCAxMDAlaWcgc2ljaGVyCgoKS2xlaW5EdW1taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1aXogKEVuZ3l3dWNrLCAyMy4gQXByIDE5OTcsIDEzOjQ3OjAzKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg2MTUzOTA3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjE1MzkwNzkKU28sIHVuZCBoaWVyIGRpZSBBdWZsb2VzdW5nIGRlcyBRdWl6IQpBbGxlLCBkaWUgZWluZW4gZ3JlcCBpbiAvZXRjIHZvcmdlc2NobGFnZW4gaGFiZW4sIGhhYmVuIGxlaWRlciB2ZXJsb3Jlbi4gKEFuCmRpZSBNb2VnbGljaGtlaXQgaGFiIGljaCBhdWNoIHp1ZXJzdCBnZWRhY2h0KSBEaWUgTG9lc3VuZyBsYXV0ZXQ6IERhcyB2b24KL2V0Yy9pbml0dGFiIGF1ZmdlcnVmZW5lIGFnZXR0eSB2ZXJ1cnNhY2h0IGRpZXNlIE1lbGR1bmdlbiEgQWxzbyBhZ2V0dHkuYwphZW5kZXJuLCBrb21waWxpZXJlbiwgdW5kIHNjaG9uIGhhdCBtYW4gc2VpbmUgUGVyb2VubGljaGUgRWlubG9nZ21lbGR1bmcuCldlbm4gbWlyIGpldHp0IG5vY2ggamVtYW5kIHNhZ3QsIHdpZXNvIHNpY2ggbWVpbiBUZXh0IGluIC9ldGMvaXNzdWUgbmFjaCBlaW5lbQpSZWJvb3QgaW1tZXIgd2llZGVyIGF1ZiBkZW4gRGVmYXVsdCBlaW5zdGVsbHQgdW5kIHdpZSBtYW4gZGFzIGFlbmRlcm4ga2FubiwKd2FlciBpY2ggZWNodCBnbHVlY2tsaWNoIDopCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBRdWl6IChSdW1hdGEsIDIzLiBBcHIgMTk5NywgMTU6MTY6MTcpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODYxNzk2MDIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MTUzOTA3OQpzY2hhdSBtYWwgaW4gL3NiaW4vYm9vdC5kCnJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUXVpeiAoRW5neXd1Y2ssIDIzLiBBcHIgMTk5NywgMTg6MjM6MzQpOgp+IyEgcm49UnVtYXRhIHJ0PTg2MTgwMTM3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjE1MzkwNzkKbHM6IC9zYmluL2Jvb3QuZDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb3plc3NvciBhdWZydWVzdGVuIChUZWRkeSwgMjQuIEFwciAxOTk3LCAxNTo1NDo0OCk6Cn4jISBybj1TbnVnZ2xlIHJ0PTg2MTU2NTEyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjE1NjUxMjEKRGFzIGhhdCBtaXQgZGVtIEJJT1MtU2V0dXAgbml4IHp1IHR1bjogRHUgbXVzc3QgaXJnZW5kd28gbm9jaCBlaW5lbiBKdW1wZXIgbWl0CkJ1cy1UYWt0IGhhYmVuLCBkZXIgYXVmIDI1IHN0YXR0IDMzIE1IeiBzdGVodC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBRdWl6IChXb29keSwgMjUuIEFwciAxOTk3LCAwMjo1MTowNSk6Cn4jISBybj1Fbmd5d3VjayBydD04NjE4MTI2MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxNTM5MDc5ClZlcm11dGxpY2ggaGFzdCBEdSBlaW5lIFN1U0UgRGlzdHJpYnV0aW9uIChyZWluIHN0YXRpc3Rpc2NoZQpBbm5haG1lKSwgZXZlbnR1ZWxsIGF1Y2ggZWluZSBldHdhcyBhZWx0ZXJlLiBBbHNvIHNjaGF1IG1hbAppbiAvZXRjL3JjLmQvcmMuUywgZG9ydCB3aXJkIGJlaSBqZWRlbSBSZWJvb3QgaXNzdWUgdW5kIG1vdGQKdWViZXJzY2hyaWViZW4uIE5ldWVyZSBEaXN0cmkncyB2ZXJ3ZW5kZW4gZGFzIEtvbnplcHQgZGVyCidiaW5hcnkgc2NyaXB0cycgKGltaG8gZWluZSBtaXNzbHVuZ2VuZSBCZXplaWNobnVuZywgYWJlcgpiaXR0ZSksIGluIC9zYmluL2luaXQuZC8qCgp3b29keS4tCgpwcy4gZGVuIGF1ZndhbmQsICpnZXR0eSB6dSBhZW5kZXJuIHVuZCB6dSByZWtvbXBpbGllcmVuIHNvbGx0ZXN0CiAgZHUgbGllYmVyIHNpbm52b2xsZXIgaW4gbGVzZW4gdm9uIG1hbiBwYWdlcyBpbnZlc3RpZXJlbiA+Oy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBRdWl6IChFbmd5d3VjaywgMjUuIEFwciAxOTk3LCAyMToyNTo1NCk6Cn4jISBybj1Xb29keSBydD04NjE5Mjk0NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYxNTM5MDc5Cldvb2R5LCBEdSBiaXN0IGVpbiBHZW5pZSA6KQoKT2J3b2hsIGRhcyBrb21waWxpZXJlbiB2b24gKmdldHR5IHVtIGVpbmlnZSBQb3RlbnplbiBlaW5mYWNoZXIgd2FyLCBhbHMgZGFzCnZlcnN0ZWhlbiB2b24gbWFuLXBhZ2VzIDspCgpFbmd5KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZXIgQXJiZWl0c3NwZWljaGVyIGdlc3VjaHQgKENyb2xsYSwgMjkuIEFwciAxOTk3LCAwMzozMDo0NSk6CkFsc28sCmVpbmUgRnJldW5kaW4gaGllciBoYXQgZWluZW4gYWx0ZW4gMzg2ZXIgU1ggbWl0IHNhZ2UgdW5kIHNjaHJlaWJlIDIgTUIgUkFNLAp1bmQgc2llIGZpbmRldCwgZGFzcyBpaHIgRXhjZWwgZWluIGtsZWluIGJpc3NjaGVuIGxhbmdzYW0gbGFldWZ0IChrb21pc2NoCmVpZ2VudGxpY2gpLgpBbHNvLCBnaWJ0IGVzIHNpZSBub2NoLCBkaWUgYWx0ZW4gU3BlaWNoZXJiYWVua2UsIGRpZSBhbmdlYmxpY2ggdWViZXJhbGwKaGF1ZmVud2Vpc2UgcnVtbGllZ2VuIHVuZCB2ZXJnYW1tZWxuLCB1bmQga2FubiBzaWNoIHZpZWxsZWljaHQgc29nYXIgaXJnZW5kd2VyCnZvbiBzZWluZW4genUgZWluZW0gZ3VlbnN0aWdlbiBQcmVpcyB0cmVubmVuPyBBbGxlcyBhYiA0TUIgd2FlcmUgZ2VuZWhtLAphbGxlcmRpbmdzIG11c3MgZXMgbGVpZGVyIGJpbGxpZyBzZWluLCBkZW5uIHdlbm4gbWVpbmUgRnJldW5kaW4gR2VsZCBoYWV0dGUsCmhhZXR0ZSBzaWUgc2Nob24gbGFuZ2UgZGVuIFBlbnRpdW0gTU1YIGJlaSBzaWNoIHJ1bXN0ZWhlbiAoaWNoIGhhYmUga2VpbmUKQWhudW5nLCB3aWV2aWVsIHNvd2FzIGtvc3RldCwgYWxzbyBtYWNodCBtaXIgYml0dGUgZWluIGZhaXJlcyBBbmdlYm90KS4KQWNoIGphLCBmYWxscyBJaHIgYXVjaCBub2NoIGVpbmUgYWx0ZSBGZXN0cGxhdHRlICg+NDBNQiAqZ3JpbnMqKSBoYWJ0LCBuZWhtZQppY2ggZGllIGdlcm5lIGF1Y2ggbm9jaCBkYXp1Li4uCgpOb2NoIGVpbiBQcm9ibGVtOiBJY2ggaGFiZSBkZW0gQklPUyBhdXMgVmVyc2VoZW4gZ2VzYWd0LCBkZXIgQ29tcHV0ZXIgaGFldHRlCjRNQiBTcGVpY2hlciAoV3Vuc2NoZGVua2VuIGhhbHQpLCBqZXR6dCBrcmllZ2UgaWNoIGltbWVyIGVpbmUgRXJyb3JtZXNzYWdlLAp3ZW5uIGljaCBkZW4gQ29tcHV0ZXIgc3RhcnRlLCBhYmVyIGljaCBrb21tZSB3dW5kZXJiYXJlcndlaXNlIG5pY2h0IG1laHIgaW5zCkJJT1MgU2V0dXAtUHJvZ3JhbW0uIFNhZW10bGljaGUgVGFzdGVuIHdpZSBFc2MsIERlbCwgYWxsZSBGLVRhc3RlbgpmdW5rdGlvbmllcmVuIG5pY2h0LCBpY2ggaGFiZSBudXIgZGllIE9wdGlvbiwgbWl0IEVzYyBkZW4gQ29tcHV0ZXIgbm9ybWFsIHp1CnN0YXJ0ZW4uIElyZ2VuZHdlbGNoZSBJZGVlbj8gRGFzIEJJT1MgaXN0IGVpbiBIZXJzdGVsbGVyLWVpZ2VuZXMsIFplbml0aApEYXRhc3lzdGVtcyBvZGVyIHNvd2FzLiAKCkFuZ2Vib3RlIGJpdHRlIHBlciBNYWlsIGFuIG1pY2gsIG1laW5lIFJMLU1haWxhZHJlc3NlIChhbHMgb2Igc293YXMgbmljaHQgYXVjaAp2aXJ0dWVsbCB3YWVyZS4uLikgaXN0Ogpjcm9sbGFAZGlyY29uLmNvLnVrCgpEYW5rZSwKQ3JvbGxhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx0ZXIgQXJiZWl0c3NwZWljaGVyIGdlc3VjaHQgKERhdWVyZ2FzdCwgMjkuIEFwciAxOTk3LCAxNDowNjoxOSk6Cn4jISBybj1Dcm9sbGEgcnQ9ODYyMjc3NDQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MjI3NzQ0NQpobSwgenVtIEJJT1M6CmV4aXN0aWVydCBkZXIgU2NoYWx0cGxhbiBtaXQgZGVyIExhZ2UgZGVzIENNT1MtUkVTRVQtSlVNUEVSUyBub2NoIC4uLj8KCk51ciBzbyBuZSBJZGVlIC4uLgpEYXVlcmdhc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHRlciBBcmJlaXRzc3BlaWNoZXIgZ2VzdWNodCAoTXlzdGVyaW91cywgMjkuIEFwciAxOTk3LCAxNToxOTozMSk6Cn4jISBybj1Dcm9sbGEgcnQ9ODYyMjc3NDQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MjI3NzQ0NQptb2luLi4uCgpobW0uLnZpZWxsZWljaHQgZnVuenQgc293YXMgd2llIGN0cmwtcyBvZGVyIGN0cmwtYWx0LXMgPz8uLi5jdHJsLWYxPy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHRlciBBcmJlaXRzc3BlaWNoZXIgZ2VzdWNodCAoUmFmZmksIDI5LiBBcHIgMTk5NywgMTk6MTc6MzkpOgp+IyEgcm49TXlzdGVyaW91cyBydD04NjIzMTk5NzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYyMjc3NDQ1CkhhZSA/IEJlaSBlaW5lbSAzODZzeCA/IEdyaW5zIC0gdmlpaWlpZWwgenUgbW9kZXJuIC0gRGVyIGJyYXVjaHQgZG9jaCBub2NoIG5lCnNldHVwIERpc2sgOikKCkdyaW5zCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbHRlciBBcmJlaXRzc3BlaWNoZXIgZ2VzdWNodCAoQ3JvbGxhLCAyOS4gQXByIDE5OTcsIDE5OjM2OjEyKToKfiMhIHJuPVJhZmZpIHJ0PTg2MjMzNDI1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjIyNzc0NDUKSG1tbSwgaWNoIGhvZmZlLCBpY2ggYnJhdWNoZSBrZWluZSBTZXR1cCBEaXNrLCBkZW5uIGljaCBoYWJlIGdhciBrZWluZSwgdW5kCnNhZW10bGljaGUgRGF0ZWllbiwgZGllIHZpZWxsZWljaHQgbWFsIGF1ZiBkZXIgRmVzdHBsYXR0ZSB3YXJlbiwgc2luZAp1ZWJlcmZvcm1hdGllcnQuLi4gTWFudWFsIGlzdCBuYXR1ZXJsaWNoIGF1Y2ggbmljaHQgbWVociBkYSwgYWJlciBpY2ggcHJvYmllcmUKbWFsIGRpZSBnZW5hbm50ZW4gVGFzdGVua29tYmluYXRpb25lbi4KSWNoIGJpbiBhbGxlcmRpbmdzIG9obmUgRGlzayBpbnMgU2V0dXAgZ2Vrb21tZW4sIGFscyBpY2ggZGVuIGZhbHNjaGVuIFNwZWljaGVyCmVpbmdldHJhZ2VuIGhhYmUuClNjaG9uIG1hbCBkYW5rZSBmdWVyIEV1cmUgSGlsZmUhCkNyb2xsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9kdWxhIDMgKFNpbHZhbmEsIDI5LiBBcHIgMTk5NywgMjI6MTE6MTYpOgpIaS4KSGF0IGplbWFuZCB6dWZhZWxsaWcgQWhudW5nIHZvbiBNb2R1bGEgMyAtIGluc2Jlc29uZGVyZSB2b24gR3JhcGhpay0KcHJvZ3JhbW1pZXJ1bmcgdW50ZXIgZm9ybXNWQlQ/IEZhbGxzIGphLCBrb2VubnRlIGljaCBuZW4gcGFhciAKQmVpc3BpZWxwcm9ncmFtbWUgZ2VicmF1Y2hlbi4gTml4IGtvbXBsaXppZXJ0ZXMsIGdlaHQgbnVyIHVtcyAKUHJpbnppcC4KCiAgVGhhbnggLSBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrIGFnYWluIChGZXVlcndlaHIsICA1LiBNYWkgMTk5NywgMjA6MzM6NTgpOgpIaSEKClZvciBuZW0gSmFociBoYWIgaWNoIGVpbmVuIGFlaG5saWNoZW4gQXJ0aWtlbCBnZXNjaHJpZWJlbiwgdW5kIG51biBiaW4gaWNoCnp1cnVlY2shIDotKSkKCkljaCBiZXNpdHplIGpldHp0IGVpbmUgTWF0cm94IE15c3RpcXVlLUdyYWZpa2thcnRlIHVuZCBmcmFnZSBtaWNoLCBvYiBkaWUgaW4KZGVyIG5ldWVuIFJlZEhlYWQtRGlzdHJpYnV0aW9uIG9kZXIgaXJnZW5kd28gYW5kZXJzIHNjaG9uIHVudGVyc3R1ZXR6dCB3aXJkLgoKU3RkLVNWR0EtU2VydmVyIHNpbmQgendhciBzZWhyIHNjaG9lbiwgYWJlciBkb2NoIG5pY2h0IGVyZnVlbGxlbmQuLi4KCiAgICBGZXVlcndlaHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFjayBhZ2FpbiAoRXNjdWJhciwgIDUuIE1haSAxOTk3LCAyMDozNzo0Nyk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODYyODU3MjM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2Mjg1NzIzOApOZWluLCBmdWVyIGRpZSBNeXN0aXF1ZSBnaWJ0cyBpbSBNb21lbnQgbm9jaCBrZWluZW4gZnJlaWVuIFRyZWliZXIuIEVpbnppZ2UKTW9lZ2xpY2hrZWl0IEFjY2VsZXJhdGVkIFggMy4xLCBhYmVyIGRhIGthbm5zdGUgRGlyIGF1Y2ggbmUgYW5kZXJlIEdyYWZpa2thcnRlCmthdWZlbiA7KSAoMjI5LC0gRE0sIHp1bSBUZWlsIGF1Y2ggZ3VlbnN0aWdlciBhbHMgQnVuZGxlKS4KCkVpc2JhZXIgRXNjdWJhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmFjayBhZ2FpbiAoRXNjdWJhciwgIDYuIE1haSAxOTk3LCAwMDoyOToyMSk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NjI4NzEyMTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYyODU3MjM4Ck5hIGZ1ZXIgZGllIE1pbGxlbml1bSB3aWVkZXJ1bSBnaWJ0cyBzY2hvbiBzZWl0IGxhZW5nZXJlbSBuZW4gVHJlaWJlciBpbQpYRnJlZTg2ISBXaXJkIGFsc28gdm9uIGplZGVyIGFrdHVlbGxlbiBEaXN0cmlidXRpb24gdW50ZXJzdHVldHp0IChTLnUuUy5FLiwKUmVkSGF0LCBMU1QsIGV0Yy4pLgoKRWlzYmFlciBFc2N1YmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYWNrIGFnYWluIChKaW1kaWdyaXosICA2LiBNYWkgMTk5NywgMDA6NTQ6NTMpOgp+IyEgcm49Qmxvb2R5aGFycnkgcnQ9ODYyODcxNjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2Mjg1NzIzOApBcmdsLAoKYWxzbyBub2NobWFsIGZ1ZXIgYWxsZSB6dW0gTWl0c2NocmVpYmVuOgpEZXIgS2FydGVuaGVyc3RlbGxlciBoZWlzc3QgIk1hdHJveCIKVm9uIGRpZXNlbSBIZXJzdGVsbGVyIGdpYnQgZXMgelogMiBha3R1ZWxsZQpwb3B1bGFlcmUgR3JhcGhpa2thcnRlbjoKLSBNYXRyb3ggTXlzdGlxdWUgLSBkaWUgYmlsbGlnZXJlIGRlciB6d2VpLCBzcGV6aWVsbCBmdWVyIERPUyBTcGllbGUgCiBvcHRpbWllcnQuIERpZXNlIEthcnRlIHdpcmQgdm9tIFhGcmVlODYgKG5vY2gpIG5pY2h0IHVudGVyc3R1ZXR6dC4KLSBNYXRyb3ggTWlsbGVuaXVtIC0gZGllIGJlc3NlcmUgKHNjaG5lbGxlcmVyIFJBTURBQywgaG9laGVyZSBGcmVxdWVueiwKIHNjaG5lbGxlcmVyIFNwZWljaGVyLCBldGMpIGRpZXNlIHdpcmQgdm9tIFhGcmVlODYgdW50ZXJzdHVldHp0LgpkZXIgQWNjZWxlcmF0ZWRYICh2b24gVGhvbWFzIFJvZWxsLCBYaW5zaWRlLCBrb21tZXJ6aWVsbCkgdW50ZXJzdHVldHp0CndvaGwgYmVpZGUsIGtvc3RldCBhYmVyIGViZW4gZGllIDk5VVMkLgoKR2VudWcgZXJrbGFlcnQgaG9mZmUgaWNoLgoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpqYXZhIGZ1ZXIgbGludXggKEJpbmcsICA2LiBNYWkgMTk5NywgMTA6NTE6MjcpOgp3ZXIga2FubiBtaXIgZGVubiBtYWwgc2FnZW4gd28gaWNoIGphdmEgZnVlciBsaW51eCBmdHAnZW4ga2Fubj8KLmJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBqYXZhIGZ1ZXIgbGludXggKFJ1bWF0YSwgIDYuIE1haSAxOTk3LCAxMDo1NjowOSk6Cn4jISBybj1CaW5nIHJ0PTg2MjkwODY4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjI5MDg2ODcKaHR0cDovL3d3d21hdGgudW5pLW11ZW5zdGVyLmRlL35ob2xnZXIvamF2YS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmFsbGVsaXNpZXJlbiAoR3JpbW1ib3JuLCAgNi4gTWFpIDE5OTcsIDExOjI0OjQ1KToKR2lidCBlcyBoaWVyIGplbWFuZCwgZGVyIG1pdCBkZXIgUGFyYWxsZWxpc2llcnVuZyB2b24gUHJvemVzc2VuIG1laHIgdmVyYmluZGV0CmFscyBsZWRpZ2xpY2ggZWluZSBDb21waWxlcm9wdGlvbiB1bmQgZWluZSBTaGVsbHZhcmlhYmxlPyBEZXIgbW9lZ2xpY2hlcndlaXNlCmVpbmVuIFRpcCBmdWVyIERva3VtZW50YXRpb24genUgZGVtIFRoZW1hIGhhdCB1bmQgc2ljaCBlaW4gcGFhciBGcmFnZW4KZ2VmYWxsZW4gbGllc3NlPwpJbiBkaWVzZW0gRmFsbDogRWluZmFjaCBtYWwgbWljaCBhbnNwcmVjaGVuLCBpY2gga29lbm50ZSBlaW4gcGFhciBUaXBzCmJyYXVjaGVuLi4uCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKXm0gdm9uIGRvcyAoQmluZywgMTIuIE1haSAxOTk3LCAxMTo1NjozMyk6CndpZSBiZWtvbW1lIGljaCBkaWUgXm0gemVpbGVudW1icnVlY2hlIHZvbiBkb3MgdW50ZXIgbGludXggd2VnPyBkb3MydW5peCBoYWJlCmljaCBsZWlkZXIgbmljaHQKCmdydXNzIGJpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBebSB2b24gZG9zIChBbmF0b2wsIDEyLiBNYWkgMTk5NywgMTE6NTk6MzEpOgp+IyEgcm49QmluZyBydD04NjM0MzA5OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkVpbmUgTm90bG9lc3VuZyAoYmVpIFRleHRmaWxlcykgc3RlbGx0IHdvaGwgZGVyICdzZWQnIGRhci4uLgpjYXQgb2xkZmlsZS50eHR8c2VkICdeTS8vZycgPiBuZXdmaWxlLnR4dApEYXMgXk0gZXJ6ZXVndCBtYW4gbWl0ICc8Y29udHJvbD4tViBSZXR1cm4nLCBtdWVzc3RlIGRhbm4gaW1obyBrbGFwcGVuLi4uCgpBbmF0b2wKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBebSB2b24gZG9zIChCb2luZywgMTIuIE1haSAxOTk3LCAxMjo1ODo0Mik6Cn4jISBybj1BbmF0b2wgcnQ9ODYzNDMxMTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpXZW5uIER1IGRpZSBtdG9vbHMgenVtIGtvcGllcmVuIG5pbW1zdCwga2FubnN0IER1IGJlaSBtY29weSBuZSBPcHRpb24gCmFuZ2ViZW4sIGZyYWcgbWljaCBhYmVyIG5pY2h0LCB3aWUgZGllIGhlaXNzdC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogXm0gdm9uIGRvcyAoSGlnaGxhbmRlciwgMTIuIE1haSAxOTk3LCAxMjo1ODo1OSk6Cn4jISBybj1Cb2luZyBydD04NjM0MzQ3MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCi10IGhlaXNzdCBkaWUgT3B0aW9uCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBebSB2b24gZG9zIChIaWdobGFuZGVyLCAxMi4gTWFpIDE5OTcsIDEzOjAwOjA2KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODYzNDM0NzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpFaW5lIHdlaXRlcmUgUHJvZ3JhbW1hbHRlcm5hdGl2ZTogdmkgZmlsZSAgOiVzL15NJC8vICAoRGFzIF5NIGdlaHQgbWl0IENUUkwtVgpSRVRVUk4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBebSB2b24gZG9zIChHcmltbWJvcm4sIDEyLiBNYWkgMTk5NywgMTM6MDE6NDMpOgp+IyEgcm49SGlnaGxhbmRlciBydD04NjM0MzQ4MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCldlbm4gd2lyIHNjaG9uIHNpbm5sb3NlIEFsdGVybmF0aXZlbiBzdW1taWVyZW46ClVudGVyIERPUyBlaW5lbiB2ZXJudWVuZnRpZ2VuIEVkaXRvciB3aWUgYmluZ28gYW53ZXJmZW4sIGFic3BlaWNoZXJuIG1pdCAiTEZzCm9ubHkiLgpOYWphLCBpY2ggYmV6d2VpZmVsIGFiZXIsIGRhc3MgV29yZCBzb3dhcyBrYW5uLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IF5tIHZvbiBkb3MgKEJsb29keWhhcnJ5LCAxMi4gTWFpIDE5OTcsIDEzOjA1OjQxKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODYzNDM0ODA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpIYXR0ZW4gd2lyIHNjaG9uIHJlY29kZT8KQWxzbzogcmVjb2RlIGlibXBjOmFzY2lpCk9kZXIgc28gaW4gZGVyIEFydC4gS2VpbmUgR2V3YWVociwgaGFicyBuaWUgcHJvYmllcnQuIEljaCBiZXZvcnp1Z2UgdHIgOk8pCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogXm0gdm9uIGRvcyAoUGFtcGVycywgMTIuIE1haSAxOTk3LCAxMzowNzoxNyk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NjM0MzUxNDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCldpZSB3YWVyZSBlcyBtaXQgcm0gLXIgKiA/CgpQYW1wZXJzLiBLZW5udCBnbHVlY2tsaWNoZXJ3ZWlzZSBkZW4gZ2FuemVuIE11ZWxsLCBkZW4gaWhyIGRhIHZvcnNjaGxhZ3QKbmljaHQuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogXm0gdm9uIGRvcyAoS3JldGVrLCAxMi4gTWFpIDE5OTcsIDE0OjA5OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjM0MzQ5MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkthbm4gV29yZC4gQWJlciBtYW4gbmltbXQgbmF0dWVybGljaCBzb3dpZXNvIGRlbiBFRElUIHZvbiBET1MgaGVyLi4uCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogXm0gdm9uIGRvcyAoS3JldGVrLCAxMi4gTWFpIDE5OTcsIDE0OjEwOjQyKToKfiMhIHJuPVBhbXBlcnMgcnQ9ODYzNDM1MjM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpXZW5uIHNjaG9uLCBkYW5uIHJtIC1yZiAqIChTY2hhbHRldCBkaWUgYmxvZWRlIFNpY2hlcmhlaXRzYWJmcmFnZSBhdXMpCgpLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBebSB2b24gZG9zIChHcmltbWJvcm4sIDEyLiBNYWkgMTk5NywgMTQ6MjY6NTEpOgp+IyEgcm49S3JldGVrIHJ0PTg2MzQzODk5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjM0MzA5OTMKTWFzb2NoaXN0LiBEYXMgaXN0IGRvY2ggbnVuIHdpcmtsaWNoIG5jaWh0IG51ciBkZXIgcHJpbWl0aXZzdGUgZXhpc3RpZXJlbmRlLApzb25kZXJuIGF1Y2ggZGVyIHByaW1pdGl2c3RlIGRlbmtiYXJlIEVkaXRvci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBzYWd0OiBCaW5nbyBvZGVyIGVtYWNzLCBzb25zdCBuaWNodHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBebSB2b24gZG9zIChGZXVlcndlaHIsIDEyLiBNYWkgMTk5NywgMTQ6MzE6MDcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MzQ0MDAxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjM0MzA5OTMKSHVpLCB3aWUgd2FlcmUgZXMgbWl0IGRlbSBTdGFydGVuIHZvbiBlZCwgamVkZSBaZWlsZSBlaW56ZWxuIGF1c3dhZWhsZW4gdW5kIF5NCmxvZXNjaGVuPwoKREFTIHdhZXJlIHByaW1pdGl2LiBIYWV0dGUgYWJlciBlaW5lbiBnZXdpc3NlbiBTdGlsLgoKICAgRmV1ZXJ3ZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IF5tIHZvbiBkb3MgKFdvb2R5LCAxMi4gTWFpIDE5OTcsIDE1OjE4OjIyKToKfiMhIHJuPUJpbmcgcnQ9ODYzNDMwOTkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwppY2ggaGFiIG1pciB2b3IgdXJ6ZWl0ZW4gZGF6dSBmb2xnZW5kZXMgc2NyaXB0IGdlc2NocmllYmVuOgoKIyEvYmluL3NoCiMKIyBzdHJpcGNyOiB1c2VmdWwgdG8gcmVtb3ZlIGNhcnJpYWdlIHJldHVybiBjaGFyYWN0ZXJzIGZyb20gZmlsZXMKIwppZiB0ZXN0IC1uICIkKiIgOyB0aGVuCiAgZm9yIE5BTUUgaW4gJCoKICBkbwogICAgaWYgdGVzdCAhIC1lICROQU1FIDsgdGhlbgogICAgICBlY2hvICIkTkFNRTogTm8gc3VjaCBmaWxlIiA+IC9kZXYvc3RkZXJyCiAgICBlbGlmIHRlc3QgLWQgJE5BTUUgOyB0aGVuCiAgICAgIGVjaG8gIiROQU1FOiBza2lwcGluZyBkaXJlY3RvcnkiID4gL2Rldi9zdGRlcnIKICAgIGVsaWYgdGVzdCAhIC1mICROQU1FIDsgdGhlbgogICAgICBlY2hvICIkTkFNRTogTm90IGEgcmVndWxhciBmaWxlIiA+IC9kZXYvc3RkZXJyCiAgICBlbHNlCiAgICAgIGVjaG8gLW4gIiROQU1FOiBzdHJpcHBpbmcgQ1IuLi4iCiAgICAgICgodHIgLWQgIlxyIiA8ICROQU1FID4gL3RtcC90bXAuJCQuc3RyaXBjcikgJiYKICAgICAgIChtdiAtZiAvdG1wL3RtcC4kJC5zdHJpcGNyICROQU1FKSAmJgogICAgICAgKGVjaG8gImRvbmUuIikpIHx8CiAgICAgIChlY2hvICJlcnJvciBlbmNvdW50ZXJlZCEiICYmCiAgICAgICBlY2hvICIkTkFNRTogRXJyb3IgZW5jb3VudGVyZWQgd2hpbGUgcHJvY2Vzc2luZyIgPiAvZGV2L3N0ZGVycikKICAgIGZpCiAgZG9uZQplbHNlCiAgZWNobyAic3ludGF4OiAkMCBmaWxlMSBbZmlsZTIuLi5dIgpmaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBebSB2b24gZG9zIChHcmltbWJvcm4sIDEyLiBNYWkgMTk5NywgMTU6Mjg6MTYpOgp+IyEgcm49V29vZHkgcnQ9ODYzNDQzMTAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpXYXMgZXIgZGFtaXQgc2FnZW4gd2lsbDogInRyIC1kICJcciIgZGF0ZWluYW1lIiBzb2xsdGUgYXVjaCBnZWhlbi4KT2RlciBoYWJlIGljaCBkYXMgamV0enQgbWlzc3ZlcnN0YW5kZW4/IDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogXm0gdm9uIGRvcyAoUm9jaHVzLCAxMi4gTWFpIDE5OTcsIDE1OjM3OjU5KToKfiMhIHJuPUJpbmcgcnQ9ODYzNDMwOTkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5Mwp0ciAtZCAnXDAxNScgPG9sZGZpbGUgPm5ld2ZpbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IF5tIHZvbiBkb3MgKFBob2JvcywgMTIuIE1haSAxOTk3LCAxNTozOToyOSk6Cn4jISBybj1LcmV0ZWsgcnQ9ODYzNDM5MDQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpXaWUgd2FlcnMgbWl0IHJtIC1yZiAvKiA/IFNvbnN0IHVlYmVyc2llaHN0IER1IGV2dGwgLiBuZSBEYXRlaS4KCk0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IF5tIHZvbiBkb3MgKFdvb2R5LCAxMi4gTWFpIDE5OTcsIDE1OjQ3OjE5KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjM0NDM2OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkphLCBhYmVyIGRhcyBzY3JpcHQga2FubiBhdXNzZXJkZW0KLSBtZWhyZXJlIERhdGVpZW4gYXVmIGVpbm1hbCBiZWFyYmVpdGVuLCB1bmQKLSBkYXMgVW1iZW5lbm5lbiB2b24gYWx0ZXMgZmlsZSBhdWYgbmV1ZXMgZmlsZSBlbnRmYWVsbHQKCndvb2R5Li0gKGZhdWwgdW5kIGRydW0gdW50ZXIgdW5peCBzY3JpcHRzIHZlcndlbmRlbmQgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjZ2ktc2NyaXB0IChCaW5nLCAxMi4gTWFpIDE5OTcsIDE2OjU5OjE2KToKbm9jaCBlaW5lIGZyYWdlLi4uCmljaCB2ZXJzdWNoZSBlaW4gY2dpLXNjcmlwdCBhdXN6dWZ1ZWhyZW4uIGdlaHQgYWJlciBuaWNodC4gd2VubiBpY2ggZGFzIHNjcmlwdAphbHMgcmVmZXJlbnogKGhyZWYpIGF1c2Z1ZWhyZSBnZWh0IGVzLiB3aWVzbyBrYW5uIGRlciBicm93c2VyIGRhcyBzY3JpcHQgbmljaHQKYXV0b21hdGlzY2ggYXVzZnVlaHJlbiB3ZW5uIGRhcyBodG1sIGRva3VtZW50IGdlbGFkZW4gd2lyZD8gbWVpbiBhdWZydWY6CjwhLS0jZXhlYyBjZ2k9Ii9jZ2ktYmluL3RleHRjbG9jay5jZ2kiLS0+ICAgICAgZ2VodCBuaWNodAo8YSBocmVmPSIvY2dpLWJpbi90ZXh0Y2xvY2suY2dpIj5kYXR1bTwvYT4gZ2VodCAgIC4Kd2FydW0gZ2VodCBudXIgZGVyIGxpbmsgdW5kIG5pY2h0IGRlciBhdXRvbWF0aXNjaGUgYXVmcnVmPz8/CgpiczogbGludXggbWl0IHBlcmw1CmhpbGZlIGJpbmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IF5tIHZvbiBkb3MgKE11cGZlbCwgMTIuIE1haSAxOTk3LCAxNzo0NjozMyk6Cn4jISBybj1Sb2NodXMgcnQ9ODYzNDQ0Mjc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpXZW5uIER1IGtlaW4gbmV1ZXMgRmlsZSBhbmxlZ2VuIHdpbGxzdDoKcGVybCAtcGkgLWUgJ3MvXHJcbi9cbi9nJyBkYXRlaW5hbWUKKGFyYmVpdGV0IGRpcmVrdCBhdWYgZGVyIGRhdGVpKQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjZ2ktc2NyaXB0IChIYXRlLCAxMi4gTWFpIDE5OTcsIDE5OjMxOjQzKToKfiMhIHJuPUJpbmcgcnQ9ODYzNDQ5MTU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQ0OTE1NgpEaWUgZXJzdGUgVmFyaWFudGUgaXN0IE5PTi1zdGFuZGFyZCB1bmQgZnVua3Rpb25pZXJ0IG51ciwgd2VubiBEdSBlaW5lbgpXV1cgQWRtaW4gaGFzdCwgZGVyIGRhcyBlcmxhdWJ0LiBBdXNzZXJkZW0gbXVzcyBkYW5uIG1laXN0ZW5zIGRpZSBEYXRlaQptaXQgLnNodG1sIGVuZGVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IF5tIHZvbiBkb3MgKEFjcmltb24sIDEyLiBNYWkgMTk5NywgMjA6NDE6NDEpOgp+IyEgcm49V29vZHkgcnQ9ODYzNDQ0ODM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzQzMDk5MwpEYXp1IGdlaG9lcnQgYXVzemVyZGVtIGRpZSBVZWJlcnRyYWd1bmcgZGVyIFVtbGF1dGUgYXVzIGRlciBNc0Rvcy1LcmFua2hlaXQgaW4KZGVuIElzby1TdGFuZGFyZC4KSWNoIGhhYmUgYXVjaCBlaW4gU2NyaXB0LCBkYXMgYXVzemVyIGRlbSBFbnRmZXJuZW4gZGVyIF5NIGRpZSBVbWxhdXRlCnVlYmVydHJhZWd0LCBhYmVyIGRpZXNlciAhIiQlJi8oKT0/XHwqK14jIEpvZiBoYXQgdm9yIHp3ZWkgSmFocmVuIGRpZQphY2h0Yml0dGlnZSBFaW5nYWJlIGdlc3BlcnJ0LCB1bmQgc28ga2FubiBpY2ggRXVjaCBkaWVzZXMgU2NyaXB0IGxlaWRlciBuaWNodApwb3N0ZW4uClR1dCBtaXIgbGVpZC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogXm0gdm9uIGRvcyAoV29vZHksIDEyLiBNYWkgMTk5NywgMjA6NDM6MDYpOgp+IyEgcm49QWNyaW1vbiBydD04NjM0NjI1MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkRhcyBnZWh0IGphIG51biBnYW56IHByb2JsZW1sb3MgbWl0IHJlY29kZSwgZGEgYnJhdWNodHMgZG9jaCBrZWluIHNjcmlwdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IF5tIHZvbiBkb3MgKExhcmlzc2EsIDE0LiBNYWkgMTk5NywgMTk6NDM6MzYpOgp+IyEgcm49QWNyaW1vbiBydD04NjM0NjI1MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkFjcmltb24sCgp3dWVyZGVzdCBEdSBiaXR0ZSAhIiQlJi8oKT0/fCoqXiMgZXR3YXMgZ2VuYXVlciBlcmxhZXV0ZXJuPyEKCkxhcmksIGtyYW10IHNjaG9ubWFsIG5hY2ggZWluZW0gZ2V3aXNzZW4gUGFzc3dvcmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IF5tIHZvbiBkb3MgKFBhbXBlcnMsIDE1LiBNYWkgMTk5NywgMTA6Mzk6NTUpOgp+IyEgcm49TGFyaXNzYSBydD04NjM2MzE4MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNDMwOTkzCkxhcmlzc2EsIExhcmlzc2EuLi4KRHUgaGFzdCBBY3JpbW9uIFZPRUxMSUcgZmFsc2NoIHppdGllcnQuLgpFciBzY2hyaWViIG5pY2h0OiAhIiQlJi8oKT0/fCoqXiMgSm9mLCBzb25kZXJuICEiJCUmLygpPT9cfCorXiMgSm9mLgoKUGFtcGVycy4gS0xhZXJ0IE1pc3N2ZXJzdGFlbmRuaXNzZSBhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eHJlY2huZXIgdmVybmV0emVuIChRdWlsbGlhbiwgMTUuIE1haSAxOTk3LCAxMDo1Njo0MSk6CkhpCgpLYW5uIG1pciBqZW1hbmQgZXJrbGFlcmVuIHdpZSBpY2ggYW0gYmVzdGVuIHp3ZWkgTGludXhSZWNobmVyIHVlYmVyCmVpbiBOdWxsbW9kZW1rYWJlbCB2ZXJiaW5kZT8gSW0gc2NobGVjaHRlc3RlbiBGYWxsIHNvbGx0ZSB6dW1pbmRlc3QKdGVsbmV0IHVuZCBmdHAgZnVua3Rpb25pZXJlbiwgaW0gYmVzdGVuIHZvbGxlcyBUQ1AvSVAuClNwYWV0ZXIgc29sbCBtYW4gc2ljaCBhdWNoIHZvbiBhbmRlcmVuIEJldHJpZWJzc3lzdGVtZW4gaW4gZGVuIExpbnV4LQpoYXVwdHNlcnZlciBlaW5sb2dnZW4ga29lbm5lbiAoZGVyIGFtIEludGVybmV0IGhhZW5nZW4gc29sbCkuCgpEaWUgUFBQLUhPV1RPIHVuZCBkaWUgTkVULTMtSE9XVE8gaGFiIGljaCBtaXIgc2Nob24gZ2V6b2dlbi4gRGllIHNpbmQKbWlyIGFiZXIgKHVtcyBhdWYgZGllIFNjaG5lbGxlIGVpbnp1cmljaHRlbikgenUgbGFuZy9hdXNmdWVocmxpY2guCgpJZGVlbiBvZGVyIEhpbndlaXNlIGJpdHRlIGhpZXIgYW5zIEJyZXR0IG9kZXIgZGlyZWt0IHBlciBNYWlsIGFuIG1pY2guCgpRdWlsbGlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4cmVjaG5lciB2ZXJuZXR6ZW4gKERob2pha3QsIDE2LiBNYWkgMTk5NywgMDI6MzA6MDEpOgp+IyEgcm49UXVpbGxpYW4gcnQ9ODYzNjg2NjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2MzY4NjYwMQpBbHNvIGljaCBoYWIgbWVpbmVuIEFtaWdhIG1pdHRlbHMgVENQL0lQIG1pdCBuZW0gbGludXhyZWNobmVyIHZlcm5ldHp0LAplcmZvcmRlcmxpY2ggaXN0IG51ciBlaW4ga2xlaW5lcyBzdGFydHVwOgpEYXMgTnVsbG1vZGVta2FiZWwgKDd3aXJlKSBoYWVuZ3QgYW4gZGVyIDIuIHNjaG5pdHRzdGVsbGUuCmVjaG8gU3RhcnRlIFNMQVRUQUNICi91c3Ivc2Jpbi9zbGF0dGFjaCAtcCBzbGlwIC1zIDU3NjAwIC9kZXYvdHR5UzEgJgpzbGVlcCAyCmVjaG8gU3RhcnRlIElGQ09ORklHIHVuZCBST1VURQovc2Jpbi9pZmNvbmZpZyBzbDAgPGxpbnV4cmVjaG5lcj4gcG9pbnRvcG9pbnQgPGFtaWdhLXJlbW90ZT4gdXAKL3NiaW4vcm91dGUgYWRkIDxhbWlnYS1pcD4gc2wwCmFjaGphLCBiaXR0ZSBrZWluZSByZWNobmVybmFtZW4sIHNvbmRlcm4gbnVyIGlwcyBhbmdlYmVuLgpldnRsIG11c3MgZGVyIGtlcm5lbCBtaXQgaXAtZm9yd2FyZGluZyBuZXUga29tcGlsaWVydCB3ZXJkZW4sIHdlbm4gaW4gZGVtCnJlY2huZXIgenVzYWV0emxpY2ggbm9jaCBuZSBldGhlcm5ldGthcnRlIGJlbnV0enQgd2lyZC4KQXVmZ2VydWZlbiB3ZXJkZW4gbXVzcyBkYXMgZ2FuemUgbWl0IHJvb3QtcmVjaHRlbi4KSWNoIGhvZmZlLCBkYXNzIGRhcyBkYXMgcHJvYmxlbSBsb2VzdC4KS2hpZGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eHJlY2huZXIgdmVybmV0emVuIChRdWlsbGlhbiwgMTguIE1haSAxOTk3LCAxMzoyODoxNSk6Cn4jISBybj1EaG9qYWt0IHJ0PTg2Mzc0MjYwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjM2ODY2MDEKVGhhbngsIGRhcyBmdW5rdGlvbmllcnQgamV0enQgcmVpYnVuZ3Nsb3MgOikKCkFsbGVyZGluZ3MgdHJpdHQgbnVuIGVpbiBhbmRlcmVzIFByb2JsZW0gYXVmLgpVbmQgendhciBoYWIgaWNoICh3ZWdlbiBkZXIgU2xpcC1VbnRlcnN0dWV0enVuZykgZWluZW4gbmV1ZW4gS2VybmVsCigyLjAuMzApIGdlYmFja2VuLiBOdW4ga2FubiBpY2ggendhciB1ZWJlciBkaWUgc2VyaWVsbGUgTGVpdHVuZyBhbGxlcwptYWNoZW4gd2FzIGljaCB3aWxsLCBoYWIgYWJlciBtYXNzaXZlIFByb2JsZW1lIG1pdCBkZW0gVmVyYmluZHVuZ3NhdWZiYXUKdWViZXIgSVNETi4gSWNoIGthbm4gendhciBkZW4gaXBwcGQgcmljaHRpZyBzdGFydGVuLCBzb2JhbGQgaWNoIGFiZXIKdmVyc3VjaGUgZGllIFZlcmJpbmR1bmcgYXVmenViYXVlbiAocGVyIHBpbmcsIGZ0cCwgdGVsbmV0LCAuLi4pIHN0dWVyenQKbWVpbiBTeXN0ZW0gdW53ZWlnZXJsaWNoIGFiIDooLiBEaWVzZXMgVmVyaGFsdGVuIGhhYiBpY2ggc293b2hsIHdlbm4KaWNoIGFsbGUgVHJlaWJlciBpbiBkZW4gS2VybmVsIGVpbmJpbmRlIGFscyBhdWNoIHdlbm4gaWNoIGFsbGVzIGFscwpNb2R1bGUgbGFkZS4gRGllIC91c3Ivc3JjL2xpbnV4Ly5jb25maWcgaGFiIGljaCBhdXMgZGVtIGFsdGVuIEtlcm5lbAooMi4wLjI3KSB1ZWJlcm5vbW1lbiB1bmQgbnVyIFNMSVAvQ1NMSVAgenVzYWV0emxpY2ggYW5nZXdhZWhsdC4KTWl0IGRlbSBhbHRlbiBLZXJuZWwgZnVua3Rpb25pZXJ0IGRlciBWZXJiaW5kdW5nc2F1ZmJhdSAobWl0IGRlbgpnbGVpY2hlbiBTY3JpcHRlbikgbmFjaCB3aWUgdm9yIHJlaWJ1bmdzbG9zLiBEYSBpY2ggYWJlciBzb3dvaGwgSW50ZXJuZXQKYWxzIGF1Y2ggc2VyaWVsbGUgVmVyYmluZHVuZyB6d2lzY2hlbiB6d2VpIFJlY2huZXJuIGJyYXVjaGUgaXN0IGRpZXMKaW0gTW9tZW50IG5pY2h0IHNvIGdsdWVja2xpY2guCgpBbHNvIHdlbm4gZGEgZWluZXIgSWRlZW4gb2RlciBBbnJlZ3VuZ2VuIGhhdCB3YWVyIGljaCBkYW5rYmFyLgoKUXVpbGxpYW4KClBTOiBEYXMgU3lzdGVtICgyLjAuMzApIHN0dWVyenQgdWVicmlnZW5zIHVuYWJoYWVuZ2lnIGRhdm9uIGFiLCBvYiBpY2gKICAgIFNMSVAgc3RhcnRlIG9kZXIgbmljaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTkUyMTAwIEp1bXBlciAoSGlnaGxhbmRlciwgMTguIE1haSAxOTk3LCAxNTozMjowNik6CkdycnIuIERhIGhhYiBpY2ggbnUgbmUgMjEwMCBLYXJ0ZSBydW1saWVnZW4gKCduZSBlY2h0ZSksIHVuZCBkYW5uIGlzdCBrZWluZQpEb2t1IGRhenUgYXVmenV0cmVpYmVuIDooCkhhdCBlaW5lciBpcmdlbmR3byBkaWUgSnVtcGVyYmVsZWd1bmcgZGVyIE5FMjEwMCBydW1saWVnZW4/IEljaCB3dWVyZGUKbmFlbWxpY2ggZ2FueiBnZXJuZSBhdWNoIGFuZGVyZSBTZXR0aW5ncyBhbHMgYXVzZ2VyZWNobmV0IGRpZSBkZWZhdWx0cwpuZWhtZW4gdW5kIHdpc3Nlbiwgd2FzIGljaCBkYSBlaW5zdGVsbGUuCiBIclQgKG5laW4sIGJlaSBub3ZlbGwuZGUgaGFiIGljaCBhdWNoIG5peCBnZWZ1bmRlbiwgZGllIGhhYmVuIG51cgpTVy1zdXBwb3J0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5FMjEwMCBKdW1wZXIgKE11cGZlbCwgMTguIE1haSAxOTk3LCAxNzo0MTo1OCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg2Mzk2MjMyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjM5NjIzMjYKSG1qYS4uLiBtb2VnbGljaGVyd2Vpc2UgaGFiIGljaCBkYSB3YXMuIEljaCBtYWlscyBkaXIgd2VubiBpY2hzIGdlZnVuZGVuIGhhYi4KLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpbnV4cmVjaG5lciB2ZXJuZXR6ZW4gKFF1aWxsaWFuLCAxOC4gTWFpIDE5OTcsIDE3OjQ4OjI4KToKfiMhIHJuPVF1aWxsaWFuIHJ0PTg2Mzk1NDg5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjM2ODY2MDEKT2ssIGhhYiBkZW4gRmVobGVyIHNlbGJlciBnZWZ1bmRlbiAuLi4gRXMgd2FyIGVpbiBCdWcgaW0gS2VybmVsCnNlbGJlci4gQWxzbyBmYWxscyBqZW1hbmQgZXR3YXMgYWVobmxpY2hlcyB2b3JoYXQgYmVzc2VyIGVpbmUgS2VybmVsLQp2ZXJzaW9uIHVuZ2xlaWNoIDIuMC4zMCBuZWhtZW4sIGRhbWl0IGRhcyBJU0ROIGF1Y2ggZnVua3Rpb25pZXJ0LgoKUXVpbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaW51eHJlY2huZXIgdmVybmV0emVuIChOYXNpbSwgMTkuIE1haSAxOTk3LCAxMzowMjozNyk6Cn4jISBybj1RdWlsbGlhbiBydD04NjM5NzA1MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNjg2NjAxCkF1ZiBmdHAuZnJhbmtlbi5kZSBsaWVnZW4gNCBvZGVyIDUgUGF0Y2hlcyBmdWVyIGRlbiBIaVNheC1UZWlsIGltIDIuMC4yOWVyCktlcm5lbCwgZGllIGdlbmF1c28gYXVjaCBhdWYgZGVuIDIuMC4zMCBhbnp1d2VuZGVuIHNpbmQsIGFtIElTRE4tVGVpbCBoYXQgc2ljaApuYWVtbGljaCBuaXggZ2VhZW5kZXJ0LgoKR3J1c3MsIE5hc2ltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMaW51eHJlY2huZXIgdmVybmV0emVuIChRdWlsbGlhbiwgMTkuIE1haSAxOTk3LCAxOTowNjowMik6Cn4jISBybj1OYXNpbSBydD04NjQwMzk3NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODYzNjg2NjAxCkhtbT8KCkRhcyBQcm9ibGVtIHNvbGx0ZSBuaWNodCBhbiBIaVNheCBUcmVpYmVybiBsaWVnZW4sIHdlaWwgaWNoIGRhdm9uCmdhciBrZWluZSBiZW51dHplLiBOYWNoIGVpbmVtIFVtc3RpZWcgYXVmIDIuMC4yOSBsaWVmIG1laW4gSVNETgoodGVsZXMtdHJlaWJlcikgd2llZGVyIGVpbndhbmRmcmVpLgoKUXVpbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0aW1lb3V0IGltIGJyb3dzZXIgKEdyaW1tYm9ybiwgMjEuIE1haSAxOTk3LCAwOTozNToxMSk6CkZvbGdlbmRlcyBQcm9ibGVtOgpBdWYgZWluZXIgd2Vic2VpdGUgd2lyZCB1ZWJlciBlaW4gY2dpLXNjcmlwdCBlaW5lIEJlcmVjaG51bmcgZ2VzdGFydGV0LCBkZXJlbgpFcmdlYm5pcyBhdWYgZGVyIFNlaXRlIGRhcmdlc3RlbGx0IHdlcmRlbiBzb2xsLiBMZWlkZXIgYnJhdWNodCBkaWUgQmVyZWNobnVuZwplaW5lIFdlaWxlICg+MTBtaW4pLCBtaXQgZGVtIEVyZ2VibmlzLCBkYXNzIGRlciByb3dzZXIgYWJicmljaHQgKCJkb2N1bWVudApjb250YWlucyBubyBkYXRhIikuIFdlaXNzIGplbWFuZCBlaW5lIE1vZWdsaWNoa2VpdCwgZGFzIHp1IHVtZ2VoZW4sIGFsc28gZGVuCkJyb3dzZXIgZGF6dSB6dSBicmluZ2VuLCBuaWNodCBlaW5mYWNoIGFienVicmVjaGVuPyBCZWlzcGllbHN3ZWlzZQoicGhhbnRvbXBhY2tldHMiIHp1IHNjaGlja2VuLCBkYW1pdCBkZXIgQnJvd3NlciBkZW5rdCwgZXMgdGFldGUgc2ljaCBub2NoIHdhcywKb2J3b2hsIGljaCBpbSBIaW50ZXJrb3BmIGhhYmUsIGRhc3MgZGEgZ3J1bmRzYWV0emxpY2ggZWluIFplaXRsaW1pdCBleGlzdGllcnQsCm5hY2ggZG1lIGF1Y2ggZGFzIExhZGVuIGVpbmVyICJzZW5kZW5kZW4iIERhdGVpIGFiZ2Vicm9jaGVuIHdpcmQuCkFueSBpZGVhcz8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGdwIChRdWFzaW1vZG8sIDIxLiBNYWkgMTk5NywgMTI6MTY6NTkpOgpIaSEKCldlaXNzIGplbWFuZCwgd2llIGljaCBhbiBwZ3AgcmFua29tbWU/CgpRdWFzaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwZ3AgKEhpZ2hsYW5kZXIsIDIxLiBNYWkgMTk5NywgMTI6MjY6MTUpOgp+IyEgcm49UXVhc2ltb2RvIHJ0PTg2NDIwOTgxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjQyMDk4MTkKS2xhci4gZnRwLiAgekIKZnRwOi8vZnRwLnVuaS9lcmxhbmdlbi5kZS9wdWIvcGMtZnJlZXdhcmUvc29mdHdhcmUvZG9zL2tyeXB0by9wZ3AyNjNpLnppcApFcnNldHplIGkgZHVyY2ggaXggZnVlciA+Mzg2ZXIKICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBncCAoSGlnaGxhbmRlciwgMjEuIE1haSAxOTk3LCAxMjozNzoxNSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg2NDIxMDM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjQyMDk4MTkKTmFjaCBub2NobWFsaWdlbSBWZXJ0aXBwZW46IEVzIGhlaXNzdCBmdHAudW5pLWVybGFuZ2VuLmRlICAgOj4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGltZW91dCBpbSBicm93c2VyIChXb29keSwgMjEuIE1haSAxOTk3LCAxODoxMToyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY0MjAwMTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDIwMDExMQpOb3JtYWxlcndlaXNlIHBhY2t0IG1hbiBsYWVuZ2VyZSBCZXJlY2hudW5nZW4gaW4gZWluIFNjcmlwdCwgZGFzCnBlcmlvZGlzY2ggYXVzZ2VmdWVocnQgd2lyZCAoc3RhdGlzdGljcywgZXRjLiksIG9kZXIgbWFuIGxhZXNzdApkaWUgQmVyZWNobnVuZyBpbnRlcmFrdGl2IGFuc3Rvc3NlbiB1bmQgbWFjaHQgYWxzIFJlcGx5IGRlcyBTY3JpcHRzCmVpbmUgU2VpdGUsIGRpZSBudXIgYXVmIGRpZSBFcmdlYm5pc3NlaXRlIHZlcndlaXN0LCBkaWUgaGFsdCBkYW5uCmVyc3QgaW4gMTAgTWludXRlbiBmZXJ0aWcgaXN0Li4uIHNvd2FzIGluIGRlciBBcnQgbmljaHQgZGVua2Jhcj8KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBncCAoU251Z2dsZSwgMjIuIE1haSAxOTk3LCAxMDo0OTo0NSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg2NDIxMTAzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjQyMDk4MTkKRmFsbHMgRHUgcGdwIGZ1ZXIgbmljaHQtZG9zIGhhYmVuIHdpbGxzdCwgbXVzc3QgRHUgbmF0dWVybGljaCBhYiAvZG9zIGlyZ2VuZHdvCmFuZGVycyB3ZWl0ZXJtYWNoZW4gOi0pCgpTbnVnCiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVocnplaXQgdWViZXJzIG5ldHo/IChCaW5nLCAyMi4gTWFpIDE5OTcsIDE2OjAyOjMzKToKaGksCmljaCBzdWNoZSBlaW4gcHJvZ3JhbW0sIGJ6dy4gZGFlbW9uLCBkZXIgYmVpIG1laW5lbSBsaW51eC1yZWNobmVyIGFiLSB1bmQgenUKbWFsIGRpZSB1aHJ6ZWl0IG5hY2hzdGVsbHQgdW5kIGRhcyBhbSBiZXN0ZW4gdm9uIGlyZ2VuZGVpbmVtIHJlY2huZXIgdWViZXIgZGFzCmludGVybmV0LiBnaWJ0cyBkYSBpcmdlbmR3YXM/IHdlbm4gamEsIHdvIGJla29tbWUgaWNoIGRhcyBoZXI/CmdydXNzIGFuIGFsbGUgYmluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVocnplaXQgdWViZXJzIG5ldHo/IChQaWxncmltLCAyMi4gTWFpIDE5OTcsIDE3OjEzOjI4KToKfiMhIHJuPUJpbmcgcnQ9ODY0MzA5NzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDMwOTc1MwpIbW0sCgooUHJnLikgc29sbHRlIGVpZ2VudGxpY2ggYmVzdGFuZHRlaWwgZGVpbmVyIGxpbnV4LWRpc3RyaWJ1dGlvbiBzZWluIC4uLgoKCmFsc28sIHdlbm4gZHUgc2Nob24gaXJnZW50d2FzIGFscyBjcm9uLWpvYiBsYXVmZW4gaGFzdCwgc29sbHRlIGVpbiAKCm50cGRhdGUgdGltZSA+L2Rldi9udWxsCmNsb2NrIC13ID4gL2Rldi9udWxsCgppbiAvcm9vdC9iaW4vY3Jvbi5kYWlseS5sb2NhbAoKcmVpY2VuIC4uLgoqYXJnbCogcmVpY2hlbiAuLi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB1aHJ6ZWl0IHVlYmVycyBuZXR6PyAoSmltZGlncml6LCAyMy4gTWFpIDE5OTcsIDAwOjEyOjA2KToKfiMhIHJuPUJpbmcgcnQ9ODY0MzA5NzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDMwOTc1MwpIb2kgQmluZywKCmRhenUgZ2lidHMgTlRQIChOZXR3b3JrIFRpbWUgUHJvdG9jb2wpCgpoaWVyenUgZW1wZmVobGUgaWNoOgogbWFuIHhudHAsIG1hbiB4bnRwZCwgbWFuIG50cGRhdGUsIG1hbiBudHBxIG1hbiBudHAuY29uZgogZXRjLgoKVmllbCBTcGFzcywKIEppbSBEaUdyaXoKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB1aHJ6ZWl0IHVlYmVycyBuZXR6PyAoV29vZHksIDIzLiBNYWkgMTk5NywgMDA6Mjg6NTApOgp+IyEgcm49SmltZGlncml6IHJ0PTg2NDMzOTEyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjQzMDk3NTMKV2lyIGxhc3NlbiBkaWUgWmVpdCB1ZWJlciBkZW4gVFUgbmV0dGltZSBzZXJ2ZXIgaW1tZXIgYXV0b21hdGlzY2gKdGFlZ2xpY2ggZWluc3RlbGxlbiwgc2llaHQgaW0gY3JvbnRhYiBjYS4gc28gYXVzOgoKMCA1ICogKiAqICAgICAgIC91c3Ivc2Jpbi9uZXRkYXRlIHR1dGltZWEgdHV0aW1lYiB0dXRpbWVjID4gL2Rldi9udWxsIDI+JjEKNSA1ICogKiAqICAgICAgIC9zYmluL2Nsb2NrIC13CgooTGV0enRlcmVzIHNpY2hlcnQgZGllIFplaXQgaW5zIENNT1MpLi4uCgp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdWhyemVpdCB1ZWJlcnMgbmV0ej8gKEhhZHJhLCAyMy4gTWFpIDE5OTcsIDAwOjUxOjA4KToKfiMhIHJuPUJpbmcgcnQ9ODY0MzA5NzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDMwOTc1Mwp2aWVsbGVpY2h0IGhpbGZ0IGRpcgpodHRwOi8vd3d3LmVlY2lzLnVkZWwuZWR1L35taWxscy9udHAvc2VydmVycy5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIga2VubnQgZGllc2VzIEJvYXJkPyAoU251Z2dsZSwgMjMuIE1haSAxOTk3LCAxNjo0MzowMyk6CkhpIGFsbCwKCmljaCBtdXNzIGVpbiBhbHRlcyAzODYgQm9hcmQgYW4gZWluZW4gTW9ub2Nocm9tLU1vbml0b3IgYW5zY2hsaWVzc2VuLiBEYXMgCkFNSS1CaW9zIGhhdCBkYXMgYXVjaCBlcmthbm50LCBtZWxkZXQgc2ljaCBhYmVyIGltbWVyIG1pdCBkZXIgTWVsZHVuZwpEaXNwbGF5IHN3aXRjaCBub3QgcHJvcGVyLiAKT2ZmZW5iYXIgbXVzcyBpY2ggYWxzbyBhdWYgZGVtIEJvYXJkIGVpbmVuIEp1bXBlciB1bXNldHplbiwgbWl0IGRlbSBzaWNoCmRlciBNb25pdG9ydHlwIGVpbnN0ZWxsZW4gbGFlc3N0LiAKTWVpbiBQcm9ibGVtIGRhYmVpIGlzdCwgZGFzcyBpY2ggenUgZGVtIEJvYXJkIHdlZGVyIGVpbmUgRG9rdW1lbnRhdGlvbgpiZXNpdHplLCBub2NoIHdlaXNzLCB1bSB3YXMgZnVlciBlaW4gQm9hcmQgZXMgc2ljaCB1ZWJlcmhhdXB0IGhhbmRlbHQuCgpEYWhlciBtZWllbmUgRnJhZ2UsIG9iIGplbWFuZCB6dWZhZWxsaWcgd2VpdGVyaGVsZmVuIGthbm4sIGRhcyBCb2FyZCB6dQppZGVudGlmaXppZXJlbiwgYnp3IHNvZ2FyIHdlaXNzLCB3ZWxjaGVyIEp1bXBlciBkYSBnZXNldHp0IHdlcmRlbiBtdXNzOgoKQXVmIGRlciBVbnRlcnNlaXRlIGZpbmRldCBzaWNoIGRlciBTY2hyaWZ0enVnIE1BREUgSU4gVEFJV0FOIEtKMDAwMTAyCnNvd2llIGRhcnVudGVyIGRpZSBaYWhsZW4gOTEgMzkKCkRhcyBCb2FyZCBpc3QgbWl0IDggSVNBIFNsb3RzIGF1c2dlc3RhdHRldCwgZGF2b24gMiBtYWwgOCBiaXQgdW5kIAo2IG1hbCAxNiBiaXQsIGF1ZiBlaW5lbSBkZXIgIFNsb3RzIGlzdCBlaW4gQXVma2xlYmVyIG1pdCBkZXIgQmVzY2hyaWZ0dW5nCjQwMzAwMDI1CjkxLTQ3Ni0wMDA4MwoKQmVtZXJrZW5zd2VydCBzaW5kIHZpZWxsZWljaHQgYXVjaCBkaWUgNCBTcGVpY2hlcmJhZW5rZSBmdWVyIGluc2dlc2FtdCAxNgpTSU1NUwoKSWNoIHZlcnN1Y2hlIG5vY2gga3VyeiBkaWUgSnVtcGVyIHp1IGJlc2NocmVpYmVuOgpKMSAgNCBQaW5zICBpc3QgbWl0IEJhdHRlcnkgYmVzY2hyaWZ0ZXQKSjIgIDMgUGlucyAgdW5iZXNjaHJpZnRldApKMyAgMiBQaW5zICB1bmJlc2NocmlmdGV0Cko0ICA4IFBpbnMgIHVuYmVzY2hyaWZ0ZXQsIGhhdCBhYmVyIHZlcm11dGxpY2ggd2FzIG1pdCBkZW4gU0lNTS1CYWVua2VuIHp1IHR1bgpKNSw2LDcsOCBhbGxlIDIgUGlucyAgdW5iZXNjaHJpZnRldApKOSAgMyBQaW5zICB1bmJlc2NocmlmdGV0CkoxMCBLZXlsb2NrCkoxMSBUQiBMRUQKSjEyIFRCIFNXCkoxMyBTUEtSCkoxNCBSZXNldApKMTUgYmlzIEoxOCBzaW5kIGltIFByaW56aXAgbnVyIEJlc2NocmlmdHVuZ2VuIGF1ZiBkZW0gQm9hcmQsIGRpZQplbnRzcHJlY2hlbmRlbgpQaW5zIHN0ZWhlbiBuaWNodCB1ZWJlciBkaWUgT2JlcmZsYWVjaGUgZGVzIEJvYXJkcyBob2NoLgpKMTkgMyBQaW5zIHVuYmVzY2hyaWZ0ZXQKYXVzc2VyZGVtIGdpYnQgZXMgbm9jaCBlaW5lbiBKdW1wZXIKSlggMyBQaW5zIHVlYmVyIEVjayBhbmdlb3JkbmV0CgpJY2ggaG9mZmUsIGplbWFuZCBrYW5uIG1pciBoZWxmZW4KYW5zb25zdGVuIG11c3MgaWNoIG1pY2ggd29obCBhbiBFZHVhcmQgWmltbWVybWFubiB3ZW5kZW4gOi0pCgpHcnVzcwpTbnVnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWRyZXNzdmVyd2FsdHVuZyAoUGF0cnluLCAyNi4gTWFpIDE5OTcsIDE5OjIxOjQwKToKa2VubnQgd2VyIGVpbmUgZ3V0ZSBzb2Z0d2FyZSwgbWl0IGRlciBtYW4gYWRyZXNzZW4gdmVyd2FsdGVuIGthbm4/CmVpZ2VudGxpY2ggc29sbCBkYXMgcHJvZ3JhbW0gc29nYXIgbWVociBrb2VubmVuLCBzbyBuZW4gdGFuemxva2FsIG1vZWNodGUKZWluZSBhcnQga3VuZGVua2FydGVpIGF1ZmJhdWVuLCB3ZWxjaGUgYXV0b21hdGlzY2ggYXVmIGdlYnVydHN0YWdlCnZlcndlaXNzdCwgYXV0b21hdGlzY2ggZ2x1ZWNrd3Vuc2Noa2FydGVuIGVyc3RlbGx0LCBlaW5sYWR1bmdlbiB6dQp2ZXJhbnN0YWx0dW5nZW4gZXJzdGVsbHQgdS5zLncuCndhZXIgdG9sbCwgd2VubiBkYSBqZW1hbmQgcmF0IHd1ZXNzdGUuLi4KCi0tLS0tLQpwYXRyeW4KClBTOiBuZWluLCBpY2ggbW9lY2h0ZSBqZXR6dCBuaWNodCB3aXNzZW4sIGRhc3MgbWFuIGRhcyBtaXQgd29yZCBtYWNoZW4ga2FubiwKICAgIGljaCBtb2VjaHRlIGF1Y2ggbmljaHQgd2lzc2VuIHdpZSBzY2hsZWNodCB3aW5kb3dzIGlzdCwgZGVubiBkYWZ1ZXIgCmJyYWV1Y2h0ZSBpY2ggZGFzIHByb2dyYW1tIG5hY2ggbW9lZ2xpY2hrZWl0LCBkYXMgRE9TIHNvIHNjaG9lbgpzcGFyc2FtIG1pdCByZXNzb3VyY2VuIHVtZ2VodCB1bmQgQ1AvTSBzbyBhbnRpayB3aXJrdCwgaXN0IG1pciBhdWNoIHNjaG51cHBlCnVuZDogYXVmIHN1c2hpcyBsaW51eC1pcy10aGUtYmVzdCByZXBsYXkgdmVyemljaHRlIGljaCBhdWNoIGdlcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhZHJlc3N2ZXJ3YWx0dW5nIChTdXNoaSwgMjYuIE1haSAxOTk3LCAyMjozODo0OCk6Cn4jISBybj1QYXRyeW4gcnQ9ODY0NjY3MzAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDY2NzMwMApIYWxsbywgUGF0cnluLAoKaWNoIGVtcGZlaGxlIGRyaW5nZW5kIFhFbWFjcyBtaXQgYmJkYi4gR2VuYXUgZGFzLCB3YXMgRHUgaGFiZW4gd2lsbHN0Li4uCgpbMX4KInN1c2hpcyBsaW51eC1pcy10aGUtYmVzdCByZXBsYSIKCkljaCB3dWVyZGUgc2FnZW46IE1pY3Jvc29mdCBpc24ndCB0aGUgYW5zd2VyLiBNaWNyb3NvZnQgaXMgdGhlIHF1ZXN0aW9uLCBhbmQKdGhlIGFuc3dlciBpcyBOTy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYWRyZXNzdmVyd2FsdHVuZyAoUmFmZmksIDI2LiBNYWkgMTk5NywgMjI6NDI6MjIpOgp+IyEgcm49U3VzaGkgcnQ9ODY0Njc5MTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDY2NzMwMApYRW1hY3MgYWxzIGFkcmVzc3ZlcndhbHR1bmcgPyAKCkpvLCBkYXMgbWFjaHQgc2lubiwgQmlsbCBlbXBmaWVobHQgamEgYXVjaCBXb3JkIDk3IGFscyBQb2NrZXRhbndlbmR1bmcgenVtCkthZmZla29jaGVuIDopCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhZHJlc3N2ZXJ3YWx0dW5nIChQYXRyeW4sIDI2LiBNYWkgMTk5NywgMjM6MjI6NDUpOgp+IyEgcm49U3VzaGkgcnQ9ODY0Njc5MTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDY2NzMwMApkYW5rZSwgZGFzIGlzdCBnZW5hdSBkYXMgd2FzIGljaCBuaWNodCBicmF1Y2hlLCB3ZW5uIGljaCBkZW5lbiBzb3dhcwphbnNjaGxlcHBlLCBseW5jaGVuIGRpZSBtaWNoLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYWRyZXNzdmVyd2FsdHVuZyAoQWNyaW1vbiwgMjcuIE1haSAxOTk3LCAxNzoyNTowMSk6Cn4jISBybj1QYXRyeW4gcnQ9ODY0NjgxNzY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDY2NzMwMApPayB3YXMgRHUgYmVub2V0aWdzdCwgaXN0IGVpbmUgQWRyZXNzZGF0ZW5iYW5rIGluIFZlcmJpbmR1bmcgbWl0IGVpbmVyClRleHR2ZXJhcmJlaXR1bmcsIGRpZSBzaWNoIGF1dG9tYXRpc2NoIGFuc3ByZWNoZW4gbGFlc3p0IHVuZCB2b3JnZWZlcnRpZ3RlCkRva3VtZW50ZSB2ZXJhcmJlaXRlbiBrYW5uLgoKS29ua3JldGVyOiBEdSBiZW5vZXRpZ3N0IGVpbmUgRGF0ZW5iYW5rIG1pdCB2b3JnZWZlcnRpZ3RlciBNYXNrZSBmdWVyCkFkcmVzc2VuLCBkYXMgYmVpIGJlc3RpbW10ZW4gRXJlaWduaXNzZW4gKHouQi4gRGF0dW0gc3RpbW10IHVlYmVyZWluKSBlaW4KZXh0ZXJuZXMgUHJvZ3JhbW0gYXVmcnVmdCwgQVJleHgtU2Nobml0dHN0ZWxsZSB6dSBlbXBmZWhsZW4uClp3ZWl0ZW5zIGJlbm9ldGlnc3QgRHUgZWluZSBrb21wbGV0dCBpbSBIaW50ZXJncnVuZCBhcmJlaXRlbmRlClRleHR2ZXJhcmJlaXR1bmcsIGRpZSB2b3JnZWZlcnRpZ3RlIEJsYWV0dGVyIGF1c2RydWNrZW4ga2Fubi4KClp1ciBEYXRlbmJhbms6IEljaCBlbXBmZWhsZSBBbWlnYUJhc2Ugb2RlciBEQmFzZS4gRWluZSBNYXNrZSBzb2xsdGUgbWFuIGxlaWNodAplcnN0ZWxsZW4ga29lbm5lbiwgd2FzIHVudGVyIEFtaWdhQmFzZSBzaWNoZXJsaWNoIGdyYWZpc2NoIGFuc3ByZWNoZW5kZXIgaXN0LgpBdWNoIGthbm5zdCBEdSB1bnRlciBBbWlnYUJhc2UgS25vZXBmZSBnZW5lcmllcmVuLCBkaWUgZGllIFVlYmVycHJ1ZWZ1bmcKYmVzdGltbXRlciBTYWNodmVyaGFsdGUgYW5zdG9zemVuIGtvZW5uZW4uCkRlbSBGZWxkIGZ1ZXIgZGFzIEdlYnVydHN0YWdzZGF0dW0gdmVycGFzenQgRHUgYWxzbyBkaWUgQWJmcmFnZSwgb2IgZXMgZGFzCmhldXRpZ2UgRGF0dW0gaXN0LCB1bmQga2FubnN0IGRhbm4gZGllIEdlbmVyaWVydW5nIGRlcgpHZWJ1cnRzdGFncy1HbHVlY2t3dW5zY2hrYXJ0ZSBhbnN0b3N6ZW4uCkplIG5hY2hkZW0sIHdhcyBEaXIgbGllYmVyIGlzdCwga2FubnN0IER1IGRhenUgIm1ha2UiIG9kZXIgIkFSZXh4IiB2ZXJ3ZW5kZW4uCkR1IHJ1ZnN0IGFsc28gdm9uIEFtaWdhQmFzZSBtYWtlIG9kZXIgQVJleHggYXVmIHVuZCB1ZWJlcmdpYnN0IGRpZSBub2V0aWdlbgpEYXRlbiBhbHMgUGFyYW1ldGVyIChOYW1lLCBWb3JuYW1lLCBHZWJ1cnRzZGF0dW0sIEFkcmVzc2UsIC4uLikuCkRpZSBCZWZlaGxlIHp1ciBHZW5lcmllcnVuZyBkZXIgR2x1ZWNrd3Vuc2Noa2FydGUgc3RlaGVuIGFsc28gaW4gZGVtIE1ha2VmaWxlCm9kZXIgQVJleHgtU2tyaXB0LgoKWnVyIFRleHR2ZXJhcmJlaXR1bmc6IEljaCBlbXBmZWhsZSBMYVRlWC4gRGFzIGlzdCBkaWUgZWluemlnZSBkZXJ6ZWl0CnZlcmZ1ZWdiYXJlIFRleHR2ZXJhcmJlaXR1bmcsIGRpZSBEZWluZSBCZWRpbmd1bmdlbiBlcmZ1ZWxsdC4KRHUgZXJzdGVsbHN0IGFsc28gRGVpbmUgR2x1ZWNrd3Vuc2Noa2FydGUgbWl0IExhVGVYLCB3b2JlaSBEdSBkaWUgRmVsZGVyIGZ1ZXIKTmFtZSwgVm9ybmFtZSwgR2VidXJ0c2RhdHVtIHVzdy4gZnJlaWxhZXN6dCBvZGVyIGR1cmNoIFBsYXR6aGFsdGVyIGVyc2V0enQuCk1pdCBUb29scyB3aWUgc2VkIG9kZXIgYXdrIGVyc2V0enQgRHUgaW4gZGVtIEZvcm11bGFyIGZ1ZXIgZGllCkdsdWVja3d1bnNjaGthcnRlIGRpZSBQbGF0emhhbHRlciBkdXJjaCBkaWUgTmFtZW4vVm9ybmFtZW4vR2VidXJ0c2RhdGVuLy4uLiwKZGllIERlaW5lbSBtYWtlLSBvZGVyIEFSZXh4LVNrcmlwdCB1ZWJlcmdlYmVuIHd1cmRlbi4KRGFubiB1ZWJlcnNldHp0IER1IChuYXR1ZXJsaWNoIHZvbSBTa3JpcHQgYXVzKSBkaWUgR2x1ZWNrd3Vuc2Noa2FydGUgbmFjaApQb3N0c2NyaXB0IHVuZCBrYW5uc3Qgc2llIGF1c2RydWNrZW4uCgpEYXMgR2FuemUgZnVua3Rpb25pZXJ0IGF1dG9tYXRpc2NoLCB1bmQgd2VubiBEdSBjcm9uIHZlcndlbmRlc3QsIGRhbm4gYnJhdWNoc3QKRHUgbmljaHQgZWlubWFsIG1laHIgdGFlZ2xpY2ggYXVmIGRlbiBLbm9wZiBkcnVlY2tlbiwgZGFtaXQgYWxsZSBoZXV0aWdlbgpHZWJ1cnRzdGFnc2thcnRlbiBhdXNnZWRydWNrdCB3ZXJkZW4uCkFsbGVzIGZ1bmt0aW9uaWVydCBhdXRvbWF0aXNjaCwgRHUgYnJhdWNoc3QgbmljaHRzIG1laHIgZGF6dXR1biwgaGFzdCB6dWRlbQplaW5lIGd1dGUgT2JlcmZsYWVjaGUsIHVtIG5ldWUgRGF0ZW4gZWluenV0cmFnZW4sIHVuZCB2b3IgYWxsZW0gaXN0IGRpZXNlIEFydApkZXIgUmVhbGlzaWVydW5nIGRlcmFydCBmbGV4aWJlbCwgZGFzeiBEdSB3aXJrbGljaCBhbGxlcyBtYWNoZW4ga2FubnN0OgpEdSBrYW5uc3QgYmVpc3BpZWxzd2Vpc2UgZGVuIFBlcnNvbmVuLCBkaWUgRU1haWwgYmVzaXR6ZW4sIGVpbmUKR2x1ZWNrd3Vuc2NoLUVNYWlsIHNjaGlja2VuLCBvZGVyIChzb2Zlcm4gaW0gRGF0ZW5zYXR6IHZlcm1lcmt0KSBhbSBBYmVuZCBpbQpUYW56bG9rYWwgZGFzIExpZWJsaW5nc2xpZWQgZGVyIFBlcnNvbiBzcGllbGVuIHNvd2llIGVpbmVuIEdlYnVydHN0YWdzc3BydWNoCmRhenUgYXVzc3ByZWNoZW4uCkZ1ZXIga29tcGxleGVyZSBTYWNoZW4gaXN0IEFSZXh4IHp1IGVtcGZlaGxlbi4KCkRhc3ogRGlyIGRpZSBTYWNoZSB3aWNodGlnZXIgaXN0IGFscyBlaW4gYmVzdGltbXRlcyBTeXN0ZW0genUgYmV2b3J6dWdlbiwgaXN0CnNlaHIgbG9iZW5zd2VydC4KTWVpbiBWb3JzY2hsYWcgZnVua3Rpb25pZXJ0IGF1ZiBkZW4gbWVpc3RlbiBTeXN0ZW1lbiAoYWxsZSBVbml4LURlcml2YXRlIHVuZApBbWlnYU9TIHNvd2llIE5lWFQpLiBPYnMgYXVmIE1hY2ludG9zaCBvZGVyIEF0YXJpIGZ1bmt0aW9uaWVydCwgaXN0IG1pciBuaWNodApiZWthbm50LCBhYmVyIFdpbmRvd3Mgd2lyZCBzaWNoZXJsaWNoIFNjaHdpZXJpZ2tlaXRlbiBtYWNoZW4uCkRhaGVyIGVtcGZlaGxlIGljaCBmdWVyIEludGVsLUtvbXBhdGlibGUgZGllIEluc3RhbGxhdGlvbiB2b24gTGludXggb2RlciBOZVhULgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIGtlbm50IGRpZXNlcyBCb2FyZD8gKE5hc2ltLCAyNy4gTWFpIDE5OTcsIDIzOjAxOjUyKToKfiMhIHJuPVNudWdnbGUgcnQ9ODY0Mzk4NTgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NDM5ODU4MwpWZXJzdWNoJ3MgbWl0IGRlbiB1bmJlc2NocmlmdGV0ZW4gMnBvbGlnZW4gLSBlaW5mYWNoIGRlciBSZWloZSBuYWNoLgoKR3J1c3MsIE5hc2ltIChIYXJkd2FyZWhhY2tlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhZHJlc3N2ZXJ3YWx0dW5nIChXdXJ6ZWwsIDMxLiBNYWkgMTk5NywgMTg6NTc6NTgpOgp+IyEgcm49UGF0cnluIHJ0PTg2NDY2NzMwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjQ2NjczMDAKd2VubiBzY2hvbiB3aW5kb29mIHNlaW4gbXVzcywgZW1wZmVobGUgaWNoIGFjY2VzcyAoaW4gdmVyYmluZHVuZyBtaXQgd29yZCkuCmRhcyBoYXQgendhciBtaWNyb3NjaGVpc3MtdHlwaXNjaCB2aWVsZSBtYWNrZW4sIGFiZXIgaXN0IHZlcmhhZWx0bmlzbWFlc3NpZwpsZWljaHQgenUgYmVkaWVuZW4uIHVuZCB3ZW5uIGRpZSBrdW5kZW5rYXJ0ZWkgenUgZ3Jvc3Mgd2lyZCwga2FubiBtYW4gc2llCmVpbmZhY2ggYXVmIGVpbmVuIHNlcnZlciBhdXNsYWdlcm4sIHouYi4gaW4gZWluZSBvcmFjbGUtZGIsIHVuZCB1ZWJlciBvZGJjCmRyYW5nZWhlbi4gaXN0IGF1Y2ggdmVyaGFlbHRuaXNtYWVzc2lnIGVpbmZhY2ggenUgcHJvZ3JhbW1pZXJlbi4gd2VubiBkaWUKbG9lc3VuZyBldHdhcyBwcm9mZXNzaW9uZWxsZXIgc2VpbiBzb2xsLCB3dWVyZGUgaWNoIGFsbGVyZGluZ3Mgdm9uIHdpbmRvb2YKYWJyYXRlbi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVuY2htYXJrIChHcmltbWJvcm4sICAyLiBKdW4gMTk5NywgMTY6MjQ6NTYpOgpJY2ggaGFiIGRhIGVpbiBwYWFyIEJlbmNobWFya3Byb2dyYW1tZSAiYXVzIGRlbSB3aXJrbGljaGVuIExlYmVuIiBydW1saWVnZW4sCmRpZSBldHdhIGRhcyBwcnVlZmVuLCB3YXMgYmVpIHVucyBpbiBkZXIgQXJiZWl0c2dydXBwZSB3aXJrbGljaCBnZWJyYXVjaHQgd2lyZAphbiBMZWlzdHVuZy4gRXMgd2FlcmUgaW50ZXJlc3NhbnQsIGRpZXNlIEJlbmNobWFya3MgYXVmIHNvIHZpZWxlbiBQcm96ZXNzb3Jlbgp3aWUgbW9lZ2xpY2ggbGF1ZmVuIHp1IGxhc3NlbiwgU3BlaWNoZXIgd2lyZCBrYXVtIGJlbm9ldGlndC4KVm9ycmF1c3NldHp1bmdlbiBzaW5kIGxlZGlnbGljaCBDLWNvbXBpbGVyLCBGb3J0cmFuLWNvbXBpbGVyIChkaWVzZSBiZW5jaG1hcmtzCnNjaGVpbmVuIGVoZXIuLi4gcHJvYmxlbWF0aXNjaCB6dSBzZWluKSB1bmQgZWluIGZ1bmt0aW9uaWVyZW5kZXIgUmVjaG5lci4gQW4KSW5mb3JtYXRpb24gYnJhZXVjaHRlIGljaCBkYW5uOgpOYW1lIGRlcyBUZXN0ZXM6CkNQVToKUkFNOgpjYWNoZToKa2VybmVsL09TOgpDb21waWxlcnZlcnNpb246CkNvbXBpbGVyYXVmcnVmOgpiZW5vZXRpZ3RlIFplaXQ6CgpEYXMgbXVlc3NlbiBrZWluZSBQQy1Qcm96ZXNzb3JlbiBzZWluIChoaWVyIGludGVyZXNzaWVydCB2LmEuIGRpZSBvYmVyZQpMZWlzdHVuZ3NrbGFzc2U7IGhhdCB2aWVsbGVpY2h0IGplbWFuZCBadWdhbmcgenUgZWluZW0gSzY/KSwgaW50ZXJlc3NhbnQgaXN0CmplZGVzIEVyZ2VibmlzLiBEb3VibGV0dGVuIGxhc3NlbiBzaWNoIGphIGxlaWNodCBmaWx0ZXJuLgpEaWUgVGVzdHMga2FubiBtYW4gcGVyIGFub24tZnRwIGFiaG9sZW4gdW50ZXIKc3R0aGQwLnBjLnVuaS1rb2Vsbi5kZS9wdWIvTGludXh0ZXN0LnRhciwgYWxzICJkZWFkbGluZSIgc2V0emUgaWNoIG1hbCBkZW4KQW5mYW5nIG5hZWNoc3RlciBXb2NoZSwgZGllIEVyZ2Vibmlzc2Uga29lbm50IGlociBzY2hpY2tlbiBhbgpncmltbWJvcm5AY29yZWR1bXAucnJ6LnVuaS1rb2Vsbi5kZS4KCldhZXJlIHNjaG9lbiwgd2VubiBlaW4gcGFhciBFcmdlYm5pc3NlIHp1c2FtbWVua2FlbWVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVuY2htYXJrIChNdXBmZWwsICAyLiBKdW4gMTk5NywgMTg6MTA6NTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NTI2MTQ5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjUyNjE0OTYKcmVpY2h0IGFscyAiZm9ydHJhbmNvbXBpbGVyIiBlaW4gZjJjPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZW5jaG1hcmsgKEdyaW1tYm9ybiwgIDIuIEp1biAxOTk3LCAxODoxMTo1NSk6Cn4jISBybj1NdXBmZWwgcnQ9ODY1MjY3ODUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTI2MTQ5NgpOZWluLCBsZWlkZXIgbmljaHQuIEFiZXIgaWNoIHNhZ3RlIHNjaG9uLCBkaWUgRm9ydHJhbi1TYWNoZW4gc2luZCB6aWVtbGljaApzY2guLi4gYWVoLCBzdWJvcHRpbWFsLiBTaW5kIGF1Y2ggbmljaHQgdm9uIG1pci4gOy0pCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHNjYXBlLjMwMSAoQW5hdG9sLCAgMy4gSnVuIDE5OTcsIDE1OjQ2OjI0KToKCkhvaSBob2ksCmhpZXIgaW4gZGVyICdWaWxsYScgbGFldWZ0IE5ldHNjYXBlIDMuMDEgYWxzIFdlYmJyb3dzZXIsIGljaCBlbXBmaW5kZSBkaWVzZQpWZXJzaW9uIC0gdm9yc2ljaHRpZyBhdXNnZWRydWVja3QgLSBhbHMgaGVpa2VsIChBYnN0dWVyemUsIFNwZWljaGVybGVja3MpLgpXYXMgaXN0IGRpZSBkZXJ6ZWl0IG5ldWVzdGUgdW5kL29kZXIgc3RhYmlsc3RlIFZlcnNpb24/CgpBbmF0b2wsIGVpbmVuIDM4TUIgZ3Jvc3NlbiBYLVByb3plc3MgYW5zZXVmemVuZAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXRzY2FwZS4zMDEgKFlhcmVuLCAgMy4gSnVuIDE5OTcsIDE2OjA3OjM4KToKfiMhIHJuPUFuYXRvbCBydD04NjUzNDU1ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY1MzQ1NTg0Ck5ldHNjYXBlIE5hdmlnYXRvciAzLjAxIElTVCBkaWUgYWt0dWVsbHN0ZSBOYXZpZ2F0b3ItVmVyc2lvbi4gRGVyIE5hY2hmb2xnZXIKKE5ldHNjYXBlIENvbW11bmljYXRvcikgaXN0IGltbWVyIG5vY2ggaW4gZGVyIFByZXZpZXctUGhhc2UuIFZvbiB3ZWxjaGVtIEJTCnJlZGVzdCBEdSBkZW5uPyBTb3dvaGwgdW50ZXIgTGludXgsIFNvbGFyaXMgYWxzIGF1Y2ggSVJJWCBoYWJlIGljaCBzZWx0ZW4gbWVocgphbHMgMTUvMjAgTUIgUmVzb3VyY2VuIHZlcmJyYXVjaHQgLi4uCgpZYXJlbi4gTmltbXQgTmpldHNjYXBlIHN0YXR0IEV4cGxvZGVyLiBPaG5lIEphdmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHNjYXBlLjMwMSAoR3JpbW1ib3JuLCAgMy4gSnVuIDE5OTcsIDE5OjMyOjQ4KToKfiMhIHJuPVlhcmVuIHJ0PTg2NTM0Njg1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjUzNDU1ODQKRGEgZ2lidHMgY2FjaGVzLCBkaWUgc2ljaCBrbGVpbm1hY2hlbiBvZGVyIGdhciBhYnNjaGFsdGVuIGxhc3Nlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXRzY2FwZS4zMDEgKFlhcmVuLCAgNC4gSnVuIDE5OTcsIDExOjMxOjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjUzNTkxNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY1MzQ1NTg0CktsYXIsIHdlbm4gamVtYW5kIDIwIE1CIGFuIE1lbW9yeS1DYWNoZSBlaW50cmFlZ3QgLi4uIDstKQoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYXN0YXR1ciBnZXN1Y2h0IChTaXNxaSwgIDQuIEp1biAxOTk3LCAxMTo0MjoyNik6CkhhbGxpIEhhbGxvLAoKc3VjaGUgZWluZSBUYXN0YXR1ciBmdWVyIGVpbmVuIEF0YXJpIE1lZ2EgU1QgMSBvZGVyIGRpZSBQaW5iZWxlZ3VuZyBkZXMKU3RlY2tlcnMgdW5kIEluZm9zIGRhcnVlYmVyIG9iIHNpY2ggZWluZSBnYW56IG5vcm1hbGUgUEMtVGFzdGF0dXIgYW5zY2hsaWVzc2VuCmxhZXNzdC4KClAuUy46IGhvZmZlbnRsaWNoIHdlaXNzIGhpZXIgdWViZXJoYXVwdCBub2NoIGplbWFuZCB3YXMgZWluIEF0YXJpIE1lZ2EgU1QgMQppc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYXN0YXR1ciBnZXN1Y2h0IChCYWJvb24sICA1LiBKdW4gMTk5NywgMDg6Mzk6NDYpOgp+IyEgcm49U2lzcWkgcnQ9ODY1NDE3MzQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTQxNzM0NgpJZ2l0dCwgZWluIEF0YXJpLXVzZXIuIEhhdSBibG9zcyBhYiBtaXQgZGVtIG1pc3QuIERlciBCZXN0ZSBDb21wdXRlciBpc3QgdW5kCmJsZWlidCBkZXIgQW1pZ2EuCgpCYWJvb24gKEFtaWdhIHJ1bGV6KSA6LSkKClAucy46IEljaCBmcmV1IG1pY2ggc2Nob24gYXVmIGRpZSBlcmJpdHRlcnRlbiByZXBseXMgYWxsZXIgQXRhcmlmYW5zLgpTbyBlaW4gR2xhdWJlbnNrcmllZyBpc3QgZG9jaCB3YXMgc2Nob2VuZXMuIEljaCBlcmlubmVyZSBtaWNoIG5vY2ggYW4gZGllClplaXRlbiwgYWxzIHNvd29obCBBbWlnYSBhbHMgYXVjaCBBdGFyaSBub2NoIGJlZGV1dGVuZGUgU3lzdGVtZSB3YXJlbiAqc2V1ZnoqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYXN0YXR1ciBnZXN1Y2h0IChCbG9vZHloYXJyeSwgIDUuIEp1biAxOTk3LCAwOTowNjowMyk6Cn4jISBybj1CYWJvb24gcnQ9ODY1NDkyNzg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTQxNzM0NgpJY2gga29lbm50ZSBqYSBqZXR6dCB3YXMgdWViZXIgZGllIEFtaWdvcyBsb3NsYXNzZW4uLiBhYmVyIG1hbiByZWRldCBlYmVuCm5pY2h0IHNjaGxlY2h0ZXMgdWViZXIgVG90ZS4gOykKQWJlciBhbHMgQ29waWVyc3RhdGlvbiBmdWVyIGdlc2NodWV0enRlIEF0YXJpZGlza2V0dGVuIHdhcmVuIGRpZSBhbHRlbgpGbGltbWVya2lzdGVuIGRvY2ggcmVjaHQgYnJhdWNoYmFyLgoKY2lhbwpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYXN0YXR1ciBnZXN1Y2h0IChBY3JpbW9uLCAgNS4gSnVuIDE5OTcsIDIwOjQyOjI2KToKfiMhIHJuPUJhYm9vbiBydD04NjU0OTI3ODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY1NDE3MzQ2CipobXBmKiBzYWcgbmljaHRzIGdlZ2VuIEF0YXJpLCBBdGFyaSBpc3QgbWl0IEFic3RhbmQgd2VzZW50bGljaCBiZXNzZXIgYWxzCmFsbGVzLCBXYXMgTWljcm9zb2Z0IGJpc2hlciBlcnpldWd0IGhhdC4KRGVyIEF0YXJpLUFtaWdhLUtsZWlua3JpZWcgZHVlcmZ0ZSB2b3JiZWkgc2Vpbi4KKEF0YXJpcyB3ZXJkZW4gbmljaHQgbWVociBoZXJnZXN0ZWxsdCkKCkFjcmltb24sIHNlbGJzdCBiZWdlaXN0ZXJ0ZXIgQW1pZ2EtQW53ZW5kZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRhc3RhdHVyIGdlc3VjaHQgKFNpc3FpLCAgNi4gSnVuIDE5OTcsIDA5OjQ1OjE4KToKfiMhIHJuPUFjcmltb24gcnQ9ODY1NTM2MTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTQxNzM0NgoKYWxsZXJkaW5ncyBpc3QgQXRhcmkgYmVzc2VyIGFscyBhbGxlcyB3YXMgTWlyY29zY2hyb3R0IGplbWFscwpwcm9kdXppZXJ0IGhhdCwgZGVzd2VnZW4gc3VjaGUgaWNoIGphIGF1Y2ggZHJpbmdlbmQgZGllIFRhc3RhdHVyLgpCZWkgZGVtIEF0YXJpLUdlbSB3YXJlbiBzY2hvbiAxOTg1IGVpbmlnZSBGYWV0dXJlcyBTdGFuZGFyZCwgZGllIGVyc3QgbWl0CldpbiA5NSBhdWYgZGllIFBDcyBwb3J0aWVydCB3b3JkZW4gc2luZC4uLiB1bmQgd2VubiBpY2ggbWl0IG1laW5lciBndXRlbiBhbHRlbgpUZXh0dmVyYXJiZWl0dW5nIChIYW5kYnVjaCBiZXN0ZWh0IGF1cyAyNTAgaW5rbC4gMTAwIFNlaXRlbiBBbmhhbmcpIGVpbgpEb2t1bWVudCBlcnN0ZWxsZSBnZWh0IGRhcyBnZW5hdXNvIHNjaG5lbGwgd2llIG1pdCBuZW0gaGV1dHppZ2VuIFJlY2huZXIgdW5kCmRhcyBFcmdlYm5pc3Mgc2llaHQgZ2VuYXVzbyBhdXMuIEF1c3NlciBpY2ggbXVzcyBtaWNoIHZvcmhlciBuaWNodCBkdXJjaAptaW5kZXN0ZW5zIDMwMDAgU2VpdGVuIEhhbmRidWNoLCBlaWVuIG5lcnZpZ2UgT25saW5lIEhpbGZlIGFuaW1pZXJ0ZSwKc3ByZWNoZW5kZSBJY29ucyB1bmQgd2FzIHdlaXNzIGljaCBuaWNodCBub2NoIGZ1ZXIgZWluZW4gdm9lbGxpZwp1ZWJlcmZsdWVzc2lnZW4gVW5mdWcgcXVhZWxlbi4KClAuUy46IGhhZXR0ZSBtaXIgZGFtYWxzIGJlaW5haGUgZWluZSBBbWlnYSBnZWthdWZ0LCBrYW5uIG1pdCBBbWlnYS1BdGFyaQpHcmFiZW5rcmllZyBuaXggYW5mYW5nZW4gc3VjaGUgbnVyIG5lIFRhc3RhdHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYXN0YXR1ciBnZXN1Y2h0IChHcmltbWJvcm4sICA5LiBKdW4gMTk5NywgMTA6NDE6NTcpOgp+IyEgcm49U2lzcWkgcnQ9ODY1NTgzMTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTQxNzM0NgpBZWgsIHNlaXQgd2FubiBzdGVsbHQgTWljcm9zb2Z0IEhhcmR3YXJlIGhlcj8gT2RlciB3ZXJkZW4gaGllciB0YXRzYWVjaGxpY2gKQWVwZmVsIG1pdCBCaXJuZW4gdmVyZ2xpY2hlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBoYXQgd2FzIF92aWVsXyBGZWluZXJlcyBhdWYgc2VpbmVtIChQQykgUmVjaG5lciBhbHMgTVMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRhc3RhdHVyIGdlc3VjaHQgKFJvY2h1cywgIDkuIEp1biAxOTk3LCAxNTozMzoyMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY1ODQ1NzE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NTQxNzM0NgpJY2ggYmluIGF1Y2ggZXJzdCB2b20gQW1pZ2EgYXVmIGRlbiBQQyB1bWdlc3RpZWdlbiwgYWxzIGVzCmEpIGVpbiBicmF1Y2hiYXJlcyBCZXRyaWVic3N5c3RlbSBkYWZ1ZXIgZ2FiIChyYXRldCBtYWwuLi4gOikgdW5kCmIpIGRpZSBlcnN0ZW4gU3BpZWxlIGJlc3NlciB3dXJkZW4gYWxzIGRpZSBhdWYgZGVtIEFtaWdhIChEVVVNIGdlbGF1ZmVuLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGFzdGF0dXIgZ2VzdWNodCAoS2V5LCAgOS4gSnVuIDE5OTcsIDE2OjM2OjQ5KToKfiMhIHJuPVJvY2h1cyBydD04NjU4NjMyMDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY1NDE3MzQ2CmEpIFdlbGNoZXM/PyA6KSkKYikgQmVzc2VyIHNjaG9uLCBhYmVyIGRpZSB3ZXJkZW4gbmV0IGRlbiBLdWx0c3RhdHVzIGVycmVpY2hlbiA7KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYXN0YXR1ciBnZXN1Y2h0IChOYXNpbSwgMTAuIEp1biAxOTk3LCAxNDo0MTowNyk6Cn4jISBybj1TaXNxaSBydD04NjU1ODMxMTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY1NDE3MzQ2CldhcyBiaWV0ZXN0IER1IGRlbm4gZnVlciBlaW4gTWVnYVNULVRhc3RhdHVyPwpVbmQgYnJhdWNoc3QgRHUgdmllbGxlaWNodCBzb25zdCBub2NoIHdhcywgJ25lIFBBSyB6LkIuCgpjZCBuYXNpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFjaWFsaGFhcnd1Y2hzYmVzZWl0aWd1bmdzcHJvYmxlbWUgKEtyZXRlaywgMTIuIEp1biAxOTk3LCAxNjoyODo1Nyk6ClZpZWxsZWljaHQga2FubiBtaXIgaGllciBqZW1hbmQgaGVsZmVuLiAKSWNoIHZlcnN1Y2hlIHZlcnp3ZWlmZWx0LCBtZWluZW4gRS1SYXNpZXJlciBwZXIgQ29tcHV0ZXIgYW56dXN0ZXVlcm4uIApHZW5hdWVyIGdlc2FndCB3dWVyZGUgbWljaCBpbnRlcmVzc2llcmVuLCB3aWUgbWFuIExpbnV4IChTdVNFIDQuNC4xKSBkYXp1CmJyaW5ndCwgc28gZWluIFBlcmlwaGVyaWVnZXJhZXQgdW50ZXIgL2Rldi9jdXQgYW5zcHJlY2hlbiB1bmQgc3RldWVybiB6dQprb2VubmVuLiBIYXQgamVtYW5kIHNjaG9uIG1hbCBzb3dhcyBnZW1hY2h0LCBvZGVyIGtlbm50IGplbWFuZCBlaW5lbiwgZGVyIApzY2hvbiBtYWwgZWluZW4gSHVuZCBnZXN0cmVpY2hlbHQgaGF0LCBkZXNzZW4gQmVzaXR6ZXIgdm9uIGVpbmVtIGdlaG9lcnQgaGF0LApkZXIgZ2xhdWJ0LCBnZWxlc2VuIHp1IGhhYmVuLi4uCgpDaWFvLAogICBLcmV0ZUsKCihQLlMuOiBEaWVzZXIgQXJ0aWtlbCBzb2xsdGUgbmFjaCBzY2htYXJybi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmFjaWFsaGFhcnd1Y2hzYmVzZWl0aWd1bmdzcHJvYmxlbWUgKEdyaW1tYm9ybiwgMTIuIEp1biAxOTk3LCAxNjozOTo1Nik6Cn4jISBybj1LcmV0ZWsgcnQ9ODY2MTI1NzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NjEyNTczNwpNaXIgZG9jaCBlZ2FsLCB3aWUgRHUgRGVpbiBCYWNrZW5tb3BwZWQgYW5zdGV1ZXJzdC4gCkljaCBiaW4gaW1tZXIgbm9jaCBkZXIgTWVpbnVuZywgbmljaHRzIGdlaHQgdWViZXIgSGFuZGFyYmVpdCBpbiBkZW0gQmVyZWljaC4KTWVpbiBCdXRsZXIgbWFjaHQgZGFzIGdhbnogaGVydm9ycmFnZW5kLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmFjaWFsaGFhcnd1Y2hzYmVzZWl0aWd1bmdzcHJvYmxlbWUgKEFuYWt5biwgMTIuIEp1biAxOTk3LCAxNzoxNDozMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODY2MTI2Mzk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NjEyNTczNwpBaGphLCBiZWkgSGFuZGJldHJpZWIgZmFlbGx0IG1pciBkb2NoIHNvbiBrb21pc2NoZW4gTGllZCBlaW46CidVbmQgaXN0IGRhcyBNYWVkZWwgbm9jaCBzbyBsaWViLCBIYW5kYmV0cmllYiBibGVpYnQgSGFuZGJldHJpZWIuJwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmFjaWFsaGFhcnd1Y2hzYmVzZWl0aWd1bmdzcHJvYmxlbWUgKE1haGF0bXUsIDEyLiBKdW4gMTk5NywgMTc6MTY6NTIpOgp+IyEgcm49QW5ha3luIHJ0PTg2NjEyODQ3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYxMjU3MzcKV2VubiBtYW4gZXMgc2ljaCByZWNodCB1ZWJlcmxlZ3QsIGlzdCBkYXMgZGFubiBzb2dhciB3aWVkZXIgaW4gZGVyCmtvcnJla3RlbiBSdWJyaWsuCgpHbG9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhY2lhbGhhYXJ3dWNoc2Jlc2VpdGlndW5nc3Byb2JsZW1lIChIYWRyYSwgMTMuIEp1biAxOTk3LCAwNTowODoyOCk6Cn4jISBybj1LcmV0ZWsgcnQ9ODY2MTI1NzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NjEyNTczNwpzb3dlaXQgaWNoIHdlaXNzIGdpYnRzIGZ1ZXIgZW1hY3MgZWluZW4gcmF6b3ItbW9kZS4gd2FyIGRhbWFscyBlaW4gYWJmYWxsCnByb2R1a3QgYmVpIGRlbSB2ZXJzdWNoIGthZmZlbWFzY2hpbmVuIGFuenVzdGV1ZXJuICh3YXMgamEgYmVrYW5udGVybWFzc2VuCmltbWVyIG5vY2ggbmljaHQga2xhcHB0KS4KCmhhZHJhIC0gcmFzaWVydCBuYXNzLCB1bmQgd2Fzc2VyIGluIHBjcyBoYXQgc28gc2VpbmUgdHVlY2tlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYWNpYWxoYWFyd3VjaHNiZXNlaXRpZ3VuZ3Nwcm9ibGVtZSAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDA5OjU3OjQ5KToKfiMhIHJuPUhhZHJhIHJ0PTg2NjE3MTMwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYxMjU3MzcKRHUgaXJyc3QsIGVzIGlzdCBuaWNodCBkYXMgV2Fzc2VyLCBkYXMgZGEgZnVlciBkaWUgVHVlY2tlbiB6dXN0YWVuZGlnIGlzdC4gRGFzCldhc3NlciAoYWxzIEgyTykgaXN0IGdhbnogaGFybWxvcyB1bmQgZnJpZWRsaWNoLiBEZXIgU3Ryb20sIGRlciBkb3J0IGRhZ2VnZW4KZmxpZXNzdCwgZGVyIHZlcnN1Y2h0LCBzaWNoIG1pdCBkZW0gZnJpZWRsaWNoZW4gV2Fzc2VyIGFuenVsZWdlbiB1bmQgYmVnZWh0CmRhbWl0IFNlbGJzdG1vcmQuIApTY2h1bGQgaXN0IGFsc28gd2llZGVyIG1hbCBkaWUgUGh5c2lrLgoKR3JpbW1ib3JuIGRlciBDaGVtaWtlciByYXNpZXJ0IGF1Y2ggbmFzcy4gT2huZSBSZWNobmVyLCB3ZWlsIGRhcyBtaXQgZWluZW0KNDg2ZXIgaW1tZXIgc28gbGFuZ2UgZGF1ZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYWNpYWxoYWFyd3VjaHNiZXNlaXRpZ3VuZ3Nwcm9ibGVtZSAoTWFyY3VzLCAxMy4gSnVuIDE5OTcsIDExOjQwOjA0KToKfiMhIHJuPUhhZHJhIHJ0PTg2NjE3MTMwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYxMjU3MzcKQW5zdGV1ZXJiYXJlIEthZmZlZW1hc2NoaW5lbiAuLi4gSGF0IHVuc2VyIExlaHJzdHVobCA7KSBTbyBlaW4gMjAwMERNIFRlaWwsCm1pdCBSUzIzMiBTY2huaXR0c3RlbGxlIHZlcnNlaGVuIHVlYmVyIGRpZSBtYW4gYWxsZSBtb2VnbGljaGVuIFNhY2hlbiBhYmZyYWdlbgp1bmQgZWluc3RlbGxlbiBrYW5uIChwdWx2ZXJtYXNzZSwgYnJ1ZWh0ZW1wZXJhdHVyZW4sIHdhc3Nlcm1lbmdlIHBybyBUYXNzZQpldGMuKQoKSW5jbC4gSmF2YSBBcHBsZXRzLCB1bSBzaWUgaW4gd2VicGFnZXMgenUgZW1iZWRkZW4uIExlaWRlciBsYWV1ZnQgZGFzIG51ciAKYXVmIExlaHJzdHVobCBEZW1vcyA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGYWNpYWxoYWFyd3VjaHNiZXNlaXRpZ3VuZ3Nwcm9ibGVtZSAoR3JpbW1ib3JuLCAxMy4gSnVuIDE5OTcsIDEyOjE0OjUzKToKfiMhIHJuPU1hcmN1cyBydD04NjYxOTQ4MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY2MTI1NzM3Ck1pc3QsIGRhcyB3YWVyZSBkb2NoIF93aXJrbGljaF8gc2NoaWNrLCB3ZW5uIGljaCBkYXMgdm9uIGF1c3NlbiBtYWNoZW4ga29lbm50ZQp1bmQgZGVyIEthZmZlZSB3dWVyZGUgbWlyIGRhbm4gcGVyIGZ0cCBnZXNjaGlja3QuIEFyYmVpdGV0IG1hbCBkcmFuIQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFyT2ZmaWNlIChHcmltbWJvcm4sIDEzLiBKdW4gMTk5NywgMTY6NTg6NTApOgpCbG9zcyB6dXIgSW5mb3JtYXRpb24gZnVlciBkaWUsIGRpZXMgaW50ZXJlc3NpZXJ0OgpEYXMgZmluYWwgcmVsZWFzZSBmdWVyIFN0YXJPZmZpY2UgMy4xIGZ1ZXIgTGludXggaXN0IHJhdXNnZWtvbW1lbi4KSmV0enQgd2FydGUgaWNoIGF1ZiBkYXMgYmV0YSB6dSA0LjAgKHVuZCBhdWYgZGVuIFBsYXR0ZW5wbGF0eiB1bXMgenUKaW5zdGFsbGllcmVuLi4uKS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXJPZmZpY2UgKERlbnRpLCAxMy4gSnVuIDE5OTcsIDIyOjU2OjE2KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NjYyMTM5MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY2MjEzOTMwCgpNYW5uIGthbm4gYWxsZXJkaW5ncyBhdWNoIGluendpc2NoZW4gcmVsYXRpdiBndWVuc3RpZyBkYXMgQXBwbGl4d2FyZQpPZmZpY2Ugb2RlciB3aWUgZGFzIGhlaXNzdCBpbnN0YWxsaWVyZW4gOykKCkRlbnRpIHNlbmZ0IGF1Y2ggbWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGYWNpYWxoYWFyd3VjaHNiZXNlaXRpZ3VuZ3Nwcm9ibGVtZSAoSGFkcmEsIDEzLiBKdW4gMTk5NywgMjM6MzQ6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjE4ODY2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYxMjU3MzcKaXJyZSBpY2ggbWljaCwgb2RlciBoYXR0ZSBpbnRlbCBuaWNodCBkYW1hbHMgZ2VuYXUgYXVzIGRpZXNlbSBncnVuZCBkZW4gNDg2c3gKbWl0IHNoYXZpbmcgZXh0ZW5zaW9ucyByYXVzZ2VicmFjaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3Rhck9mZmljZSAoWWFyZW4sIDE0LiBKdW4gMTk5NywgMDE6NDU6MDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2NjIxMzkzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYyMTM5MzAKQnJhdWNoYmFyIHNvd2FzIG1pdCBVUkwgZGFiZWkgLi4uCgogICAgaHR0cDovL3d3dy5zdGFyZGl2LmRlL3N0YXJvZmZpY2UvbGludXgvaW5kZXguaHRtbAoKRGEgaXNzZXQuCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGYWNpYWxoYWFyd3VjaHNiZXNlaXRpZ3VuZ3Nwcm9ibGVtZSAoSmltZGlncml6LCAxNy4gSnVuIDE5OTcsIDIyOjEzOjQ1KToKfiMhIHJuPUtyZXRlayBydD04NjYxMjU3Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY2MTI1NzM3CkhpIEtyZXRlaywKCkFsc28gb2IgTG9zaXggU3VzaSA0LmpwZyBvZGVyIGFuZGVyZSBEaXN0cmlidXRpb24gZGFzIGthbm4gd2Vpc3MgCmljaCBuY2lodCwgYWJlciBtaXQgRnJlaUJTRSBpc3QgZGFzIHppZW1saWNoIHByb2JsZW1sb3MsCnZvcmF1c2dlc2V0enQgRGVpbiBSYXpvciBoYXQgZWluZW4gU0NTSS1JSSBBbnNjaGx1c3MuCkRlciByYXooOCktVHJlaWJlciBtdXNzIGFsbGVyZGluZ3MgaW4gZWluZW4gY3VzdG9tLUtlcm5lbCAKZWluZ2ViYXV0IHdlcmRlbiwgZGF6dSBlaW5mYWNoIGltIC91c3Ivc3lzL3NyYy8uLi4vY29uZi9ZT1VSSE9TVApjb25maWcgZmlsZSBkaWUgT3B0aW9uCnJhejAgKGdnZiByYXoxIHdlbm4gRHUgbWVociBhbHMgZWluZW4gUmFzaWVyZXIgYW5zY2hsaWVzc2VuIHdpbGxzdCkKYWt0aXZpZXJlbi4KTmV1ZW4gS2VybmVsIHVlYmVyc2V0emVuLCBldnRsIHBlciBNQUtFREVWIGVpbiAvZGV2L3JhejAKZXJ6ZXVnZW4sIHVuZCBnZ2YgZWluIGxpbmsgdm9uIC9kZXYvY3V0IGRyYXVmbGVnZW4uIEZlcnRpZy4KRGFzIERldmljZSBuaW1tdCBkYW5uIGVpbmVuIEJ5dGUtU3Ryb20gbWl0IGVpbmVyIFNlcXVlbnoKdm9uIEJlZmVobGVuIG5hY2ggZGVtIFJDUCAoUmF6b3IgQ29udHJvbCBQcm90b2tvbGwpIHdlbGNoZXMKa29tcGF0aWJlbCB6dW0gYWx0ZW4gU0hJVCAoU0hhdmVyIEluc3RydWN0aW9uIFRhYmxlKSBpc3QuCgpIVEgsCiBKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhY2lhbGhhYXJ3dWNoc2Jlc2VpdGlndW5nc3Byb2JsZW1lIChLcmV0ZWssIDIzLiBKdW4gMTk5NywgMTM6MjU6MTYpOgp+IyEgcm49SmltZGlncml6IHJ0PTg2NjU3ODQyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NjYxMjU3MzcKT2gsIGdlbmlhbCEKVW5kIGljaCBkYWNodGUgc2Nob24sIGljaCBtdXNzIGRhbm4gZ3Jvc3NhcnRpZyBkZW4gZ2FuemVuIEtlcm5lbCBuZXUKcGF0Y2hlbi4uLiBXZWlzc3QgRHUgenVmYWVsbGlnLCBvYiBkYXMgbmV1ZSBSQ1AtMyBtaXQgZGVuIG5ldWVuIENvbW1hbmRzIHdpZQoidHJpbV9iZWFyZCIsICJjdXRfYmVhcmQiIHVuZCAiY3V0X2V2ZXJ5dGhpbmciIHNjaG9uIHVudGVyc3R1ZXR6dCB3aXJkLCBvZGVyCm11c3MgbWFuIG5vY2ggYWxsZXMgbWl0IEZsYWdzIGVpbnN0ZWxsZW4/IE5hIGF1ZiBqZWRlbiBGYWxsIG5ldHQhIDotKQoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhY2lhbGhhYXJ3dWNoc2Jlc2VpdGlndW5nc3Byb2JsZW1lIChSYWZmaSwgMjMuIEp1biAxOTk3LCAxOToyMzoyNSk6Cn4jISBybj1LcmV0ZWsgcnQ9ODY3MDY1MTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2NjEyNTczNwpOaW1tIGxpZWJlciBkaWUgYWx0ZSBtZWh0b2RlIG1pdCBkZW4gRmxhZ3MgdW5kIGRlbiBBbmdhYmVuIGltIFJCREIgKFJhem9yCkJsYWRlIERpc3RhbmNlIEJsb2NrKSwgZGVubiB6dW1pbmRlc3QgYmVpIHRyaW1fYmVhcmQgKDB4MDgxNSkgdmVyZmFlbHNjaHQgZGVyCnJhei1UcmVpYmVyIGRpZSBNYXNzdGFiZWxsZW4gLSBhbnN0ZWxsZSAxMDAgbW0gQmFydGxhZW5nZSBoYXR0ZSBpY2ggcGxvZXR6bGljaApudXJub2NoIDEyLDcgbW0gOigKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbHRpbWEgSVYgKENlcmVidXMsICA0LiBKdWwgMTk5NywgMTM6NDU6NTUpOgpNb2luIQoKSWNoIHN1Y2hlIHNlaXQgZWluaWdlciBaZWl0IG5hY2ggZGVtIGd1dGVuIGFsdGVuIFVsdGltYSBJViBmdWVyIGRlbiBQQy4gS2FubgptaXIgamVtYW5kIHNhZ2VuLCBvYiBkYXMgYXVmIGlyZ2VuZGVpbmVyIENELUNvbXBpbGF0aW9uIG1pdCBkcmF1ZiBpc3Q/IE9iIGVzCmRhcyBzb25zdCBpcmdlbmR3byBnaWJ0PyBPYiBlcyBqZW1hbmRlbiBnaWJ0LCBkZXIgc2VpbiBhbHRlcyBPcmlnaW5hbAp2ZXJrYXVmZW4gd2lsbD8gVW5kIG9iIGRlciBIU1Ygc2ljaCBmdWVyIGRlbiBVRUZBLVBva2FsIHF1YWxpZml6aWVydD8KCjEwMDEgRGFuaywKCkNlcmVidXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbHRpbWEgSVYgKExpbnV4LCAgNC4gSnVsIDE5OTcsIDEzOjU0OjMwKToKfiMhIHJuPUNlcmVidXMgcnQ9ODY4MDE2NzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODAxNjc1NQpIaQoKQWxzbyBzb3dlaXQgaWNoIHdlaXNzLCBnaWJ0cyBkaWUgZXJzdGVuIGJlaWRlbiBVbHRpbWEgU2VyaWVuIChhbHNvIEktSUlJIHVuZApJVi1WSSkgYXVzIENEIGZ1ZXIgUEMuIEhhYiBpY2ggamVkZW5mYWxscyBoaWVyIGluIEJvbm4gc2Nob25tYWwgaW4gR2VzY2hhZWZ0CnN0ZWhlbiBzZWhlbi4gSWNoIGthbm4gamEgbm9jaG1hbCBndWNrZW4gOikKCmN1CmkuYS4gTGludXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbHRpbWEgSVYgKEhvbW0sICA0LiBKdWwgMTk5NywgMTQ6NDI6MDIpOgp+IyEgcm49Q2VyZWJ1cyBydD04NjgwMTY3NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4MDE2NzU1CkRhcyBtaXQgZGVtIEhTViBrbGFwcHQhCgpXdXJkZXZvbGwgdmVybmVpZ2VuZApQYXBzdCBIb21tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWx0aW1hIElWIChNYXJjdXMsICA0LiBKdWwgMTk5NywgMTU6MDQ6NTUpOgp+IyEgcm49Q2VyZWJ1cyBydD04NjgwMTY3NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4MDE2NzU1CkFjaGphLCBhdXNzZXJkZW0uLi4gT3JpZ2luIGZ1ZWhydCBnZXJhZGUgZWluZSBVbWZyYWdlIGR1cmNoLCBvYiBkaWUgTHVldGUKZ2VybmUgZGllIGFsdGVuIE9yaWdpbiBHYW1lcyBhdWYgQ0QgYWxzIGtvbGxla3Rpb29uIGhhZXR0ZW4uLi4gCgpTaWVoZSAKaHR0cDovL3d3dy5vcmlnaW4uZWEuY29tL3RlY2gvZ2FtZXN1cnYvZ2FtZXN1cnYuaHRtbAoKTW9lZ2xpY2hzdCBzb2ZvcnQgYW5zY2hhdWVuLCB3ZWlsIGRpZSBVbWZyYWdlIG51ciBlaW5lIFdvY2hlIGxhZXVmdC4uLgoKTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWx0aW1hIElWIChDYXR3ZWF6bGUsICA0LiBKdWwgMTk5NywgMTY6Mjk6MTMpOgp+IyEgcm49Q2VyZWJ1cyBydD04NjgwMTY3NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4MDE2NzU1CgpIbSwgaWNoIG11ZXNzdGUgbWFsIHNjaGF1ZW4sIHRoZW9yZXRpc2NoIGhhYiBpY2ggbm9jaCBpcmdlbmR3byBkaWUgVmVyc2lvbgpmdWVyIGRlbiA2NCdlciBkYWhlaW0uIFp1bWluZGVzdCBoYWVuZ3QgZGllIEthcnRlIG5vY2ggYW4gbWVpbmVyIFdhbmQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggRmlyZXdhbGwgKFF1aWxsaWFuLCAgOC4gSnVsIDE5OTcsIDExOjI4OjAzKToKSWNoIGhhYiBqYSBzY2hvbiB3ZWl0ZXIgb2JlbiBiZXNjaHJpZWJlbiwgZGFzIGljaCB1ZWJlciBlaW5lbiBSZWNobmVyIHBlcgpJU0ROIGVpbiBrbGVpbmVzIE5ldHp3ZXJrIGFucyBJbnRlcm5ldCBhbnNjaGxpZXNzZW4gbW9lY2h0ZS4gRGllcwpmdW5rdGlvbmllcnQgYXVjaCBzb3dlaXQgZWlud2FuZGZyZWksIGJpcyBhdWYgZGllIFRhdHNhY2hlLCBkYXMgZGVyClJlY2huZXIgaGludGVyIGRlciBGaXJld2FsbCAoSVAtTWFzcXVlcmFkaW5nKSB2b24gYXVzc2VuIG5pY2h0IG1laHIKYXVmZ2Vsb2VzdCB3ZXJkZW4ga2FubiAod2FzIGphIGltIFByaW56aXAgZXJ3dWVuc2NodCBpc3QpLiBEaWVzZXMgZmVobGVuZGUKcmV2ZXJzZS1sb29rdXAgaGF0IGFsbGVyZGlucyB6dXIgRm9sZ2UsIGRhc3MgcGluZyBnYXIgbmljaHQgdW5kIEZUUCBrYXVtCm1laHIgZnVua3Rpb25pZXJlbiwgZGEgc2llIGphIHZvbiBlaW5lbSBhdWVzc2VyZW0gUmVjaG5lciBEYXRlbgpiZW5vZXRpZ2VuLgoKTWVpbmUgRnJhZ2UgaXN0IG51biBkaWU6IEthbm4gaWNoIGVzIHNvIGVpbnJpY2h0ZW4sIGRhcyBETlMtRGF0ZW4gc28gd2VpdAp6dSBWZXJmdWVndW5nIGdlc3RlbGx0IHdlcmRlbiwgZGFzIGVpbmdlaGVuZGUgRGF0ZW4gYXVjaCBkZW4gcmljaHRpZ2VuCm1laW5lciBSZWNobmVyIGVycmVpY2hlbj8KClF1aWxsaWFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggRmlyZXdhbGwgKEhhdGUsICA4LiBKdWwgMTk5NywgMTE6MzY6NDMpOgp+IyEgcm49UXVpbGxpYW4gcnQ9ODY4MzU0MDgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODM1NDA4MwphKSBQSU5HIGdlaHQgbmljaHQsIHdlaWwgSUNNUCBuaWNodCB1ZWJlciBJUF9tYXNxIGZ1bmt0aW9uaWVydCEKYikgaW5zbW9kIGlwX21hc3FfZnRwCgpEdXJjaCBiKSB3aXJkIGRhcyBGVFAgZnVua3Rpb25zZmFlaGloIGdlbWFjaHQuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1hbCB3aWVkZXIgTlQgKE11cGZlbCwgIDkuIEp1bCAxOTk3LCAxMzowMTo1Nyk6Cn4jISBybj1HdWxkdWthdCBydD04Njg0NDAzMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4NDQwMzIzCkR1IGhhc3QgZXMgZ2VzY2hhZmZ0IFdvcmQ3IGF1ZiBOVCB6dSBpbnN0YWxsaWVyZW4/IEdyYXR1bGF0aW9uLCBiZWkgbWlyIGdhYnMKYmVpbSBJbnN0YWxsaWVyZW4gaW1tZXIgZGVuIEJsdWVTY3JlZW5FcnJvci4uLiBkYXJhdWZoaW4gaGF0IE5UIHdpZWRlciBMaW51eApQbGF0eiBnZW1hY2h0IHVuZCBESUVTRVMgRXhwZXJpbWVudCB3YXIgYmVlbmRldCA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDIChHdW5kdXIsICA5LiBKdWwgMTk5NywgMTQ6MDk6NTgpOgpIaQpXbyBmaW5kIGljaCBpbSBOZXR6IEMgQysrIEJpYmxpb3RoZWtlbi4uCkljaCBzdWNoIHNwZXppZWxsIGZlcnRpZ2UgQWxnb3JpdGhtZW4genVyIEF1ZmxvZXN1bmcgdm9uCk5vcm1hbGdsZWljaHVuZ3NtYXRyaXR6ZW4gby5hZS4KenVyIGVpbmJpbmR1bmcgaW4gZWluIEMgUHJvZ3JhbW0uLi4KV2VubiBlaW5lciB3ZWlzcyB3byBpY2ggc293YXMga3JpZWcuLm1haWwgYW4gbWljaCBvZGVyIHNvLi4KR3J1c3MKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFsIHdpZWRlciBOVCAoQW5ndXMsICA5LiBKdWwgMTk5NywgMTY6MDM6MjYpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODY4NDQwMzIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODQ0MDMyMwoqZ3JpbnMqIGRhIGZhZWxsdCBtaXIgZG9jaCBhdWNoIGVpbmVyIGVpbi4uLi4KV2VyIE5UIG5pY2ggbWFnLCBkZXIgc29sbHRlIG1hbCBmb2xnZW5kZXMgUHJvZ3JhbW0gYXVzdGVzdGVuLi4uCi4uLiBGdW56dCBmdWVyIGFsbGUgTlQtS2lzdGVuLCB3byBTZXJ2aWNlLVBhY2sgMyBub2NoIG5pY2h0Cmluc3RhbGxpZXJ0IGlzdCA6KQoKLS0tLSBzbmlwIC0tLS0KLyogd2lubnVrZS5jIC0gKDA1LzA3Lzk3KSAgQnkgX2VjaSAgKi8KLyogVGVzdGVkIG9uIExpbnV4IDIuMC4zMCwgU3VuT1MgNS41LjEsIGFuZCBCU0RJIDIuMSAqLwoKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxuZXRkYi5oPgojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiNpbmNsdWRlIDx1bmlzdGQuaD4KCiNkZWZpbmUgZHBvcnQgMTM5ICAvKiBBdHRhY2sgcG9ydDogMTM5IGlzIHdoYXQgd2Ugd2FudCAqLwoKaW50IHgsIHM7CmNoYXIgKnN0ciA9ICJCeWUgbm93LCBoYXZlIHN3ZWV0IGRyZWFtcyEiOyAgLyogTWFrZXMgbm8gZGlmZiAqLwpzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkciwgc3Bvb2ZlZGFkZHI7CnN0cnVjdCBob3N0ZW50ICpob3N0OwoKCmludCBvcGVuX3NvY2soaW50IHNvY2ssIGNoYXIgKnNlcnZlciwgaW50IHBvcnQpIHsKICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYmxhaDsKICAgICBzdHJ1Y3QgaG9zdGVudCAqaGU7CiAgICAgYnplcm8oKGNoYXIgKikmYmxhaCxzaXplb2YoYmxhaCkpOwogICAgIGJsYWguc2luX2ZhbWlseT1BRl9JTkVUOwogICAgIGJsYWguc2luX2FkZHIuc19hZGRyPWluZXRfYWRkcihzZXJ2ZXIpOwogICAgIGJsYWguc2luX3BvcnQ9aHRvbnMocG9ydCk7CgoKICAgIGlmICgoaGUgPSBnZXRob3N0YnluYW1lKHNlcnZlcikpICE9IE5VTEwpIHsKICAgICAgICBiY29weShoZS0+aF9hZGRyLCAoY2hhciAqKSZibGFoLnNpbl9hZGRyLCBoZS0+aF9sZW5ndGgpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgIGlmICgoYmxhaC5zaW5fYWRkci5zX2FkZHIgPSBpbmV0X2FkZHIoc2VydmVyKSkgPCAwKSB7CiAgICAgICAgICAgcGVycm9yKCJnZXRob3N0YnluYW1lKCkiKTsKICAgICAgICAgICByZXR1cm4oLTMpOwogICAgICAgICB9CiAgICB9CgogICAgICAgIGlmIChjb25uZWN0KHNvY2ssKHN0cnVjdCBzb2NrYWRkciAqKSZibGFoLDE2KT09LTEpIHsKICAgICAgICAgICAgIHBlcnJvcigiY29ubmVjdCgpIik7CiAgICAgICAgICAgICBjbG9zZShzb2NrKTsKICAgICAgICAgICAgIHJldHVybigtNCk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiQ29ubmVjdGVkIHRvIFslczolZF0uXG4iLHNlcnZlcixwb3J0KTsKICAgICAgICByZXR1cm4oMSk7Cn0KCgp2b2lkIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewoKICAgICBpZiAoYXJnYyAhPSAyKSB7CiAgICAgICBwcmludGYoIlVzYWdlOiAlcyA8dGFyZ2V0PlxuIixhcmd2WzBdKTsKICAgICAgIGV4aXQoMCk7CiAgICAgfQoKICAgICBpZiAoKHMgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsKICAgICAgICBwZXJyb3IoInNvY2tldCgpIik7CiAgICAgICAgZXhpdCgtMSk7CiAgICAgfQoKICAgICBpZiAoIG9wZW5fc29jayhzLGFyZ3ZbMV0sZHBvcnQpID09IDEgKQogICAgIHsKCiAgICAgcHJpbnRmKCJTZW5kaW5nIGNyYXNoLi4uICIpOwogICAgICAgc2VuZChzLHN0cixzdHJsZW4oc3RyKSxNU0dfT09CKTsKICAgICAgIHVzbGVlcCgxMDAwMDApOwogICAgIHByaW50ZigiRG9uZSFcbiIpOwogICAgIGNsb3NlKHMpOwogICAgIH0KfQoKLS0tLSBzbmlwIC0tLS0KCkRhcyBmZWluZSBkYXJhbjogTlQgdmVyYWJzY2hpZWRldCBzaWNoIG1pdCAnYmx1ZS1zY3JlZW4nLApXaW5kb29mIDk1IHZlcmxpZXJ0IGFsbGUgTmV0endlcmt2ZXJiaW5kdW5nZW4gdW5kIFdpbiAzLnggCnplaWd0IG51cm5vY2ggQzpcIGFuIChzYXViZXJlciBBdXNzdGllZykgOykKCk1pdCBkZW0gRGluZyBoYWJlbiB3aXIgdW5zZXJlIFBDLUFzc2lzIGRhdm9uIHVlYmVyemV1Z3QsIGRhcyBlcwp3b2hsIGJlc3NlciBpc3QsIGRlbiBTUCAzIGVpbnp1c3BlaWxlbiA7KSkpCgogICAtQW5ndXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1hbCB3aWVkZXIgTlQgKFdvb2R5LCAgOS4gSnVsIDE5OTcsIDIwOjE1OjIyKToKfiMhIHJuPUFuZ3VzIHJ0PTg2ODQ1NzAwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njg0NDAzMjMKRGFzc2VsYmUgZ2VodCBhdWNoIG1pdCBlaW5lbSBlaW56ZWlsZXIgdW50ZXIgcGVybCwgd296dSBhbHNvIE1vcmU6OTMgPwoKZGVuIG5pY2h0IHZlcm9lZmZlbnRsaWNoZW5kLCB3b29keS4tIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1hbCB3aWVkZXIgTlQgKERlbnRpLCAgOS4gSnVsIDE5OTcsIDIxOjMxOjA0KToKfiMhIHJuPUFuZ3VzIHJ0PTg2ODQ1NzAwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njg0NDAzMjMKCk5hamEsIHdpciBoYWJlbiBkYXMgbWl0IE5UIGdldGVzdGV0LCB1bmQgZGFzIGJlcmFic2NoaWVkZXRlIHNpY2gKaGVmdCBfb2huZV8gYmx1ZXNjcmVlbiwgbnVyIG5vY2ggc2Nod2FyeiwgYWxsZXJkaW5ncyByZWJvb3RldGUgZXMgYXVjaApsZWlkZXIgbmljaHQsIHNvIGRhcyBzZXJ2ZXIgdW5kIGFuZGVyZSBtYXNjaGluZW4sIGRpZSBvbmxpbmUgc2VpbiAKbXVlc3NlbiBiZXNzZXIgbWl0IHNlcnYtcGFjayAzIGJlZGllbnQgc2luZC4gQWxsZXJkaW5ncyByZWljaHQgZGVyIApzZXJ2LXBhY2sgbmljaHQgYXVzLCBkYXp1OCBicmF1Y2h0IG1hbiBkYW5uIG5vY2ggZWlubmUgb29iZml4LmV4ZSBvZGVyIApzbywgZGVyIGVyc3QgZGFzIGVpZ2VudGxpY2hlIHByb2IgYmVoZWJ0LiBVZWJyaWdlbnMgaGFiZW4gd2lyIGFuCnVuc2VyZXIgaW5keSBhZWhubGljaGUgcHJvYmxlbWUgZmVzdGdlc3RlbGx0LCBhbHNvIG5pY2h0IG51ciBOVCBoYXQgCnNlaW5lIG1hY2tlbi4gKERpZSBJbmR5IGxhZXVmdCB1bnRlciBJcml4IDYuMykKCkRlbnRpIHNlbmZ0IGF1Y2ggbWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtYWwgd2llZGVyIE5UIChBbmFreW4sICA5LiBKdWwgMTk5NywgMjE6MzQ6MjUpOgp+IyEgcm49RGVudGkgcnQ9ODY4NDc2NjY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODQ0MDMyMwpBZWgsIHdpZSBzYWhlbiBkaWUgUHJvYmxlbWUgYW4gZGVyIEluZHkgYXVzPyBJY2ggaGFiIGhpZXIKYXVjaCBuZW4gcGFhciB1bmQgZGllIHNpbmQgYWxsZSBnYW56IGZyaWVkbGljaC4gVW5kCmFlaCBJcml4IDYuMyBmdWVyIG5lIEluZHkuLi42LjMgaXN0IGRvY2ggbnVyIGZ1ZXIgbzIgbWl0IFVNQSA7KS4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmR1bmdlb24ga2VlcGVyIChHdWxkdWthdCwgMTAuIEp1bCAxOTk3LCAyMTozNTowMik6CndlaXNzIGplbWFuZCB2b24gZGVuIHJ1aHJwb3R0aWVzLCB3byBlcyBkdW5nZW9uIGtlZXBlciB1bmQgc3RhciB0cmVrCmdlbmVyYXRpb25zIGluIGRlciBlY2tlIGJvY2h1bSBkb3J0bXVuZCBlc3NlbiBhdWYgZW5nbGlzaCBnaWJ0PwpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGR1bmdlb24ga2VlcGVyIChDYXVubywgMTEuIEp1bCAxOTk3LCAxMzoxOToyMyk6Cn4jISBybj1HdWxkdWthdCBydD04Njg1NjMzMDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4NTYzMzAyCk1laW5zdCBkdSBkYW1pdDogU3RhciBUcmVrIFRORyAtIEEgRmluYWwgVW5pdHk/CkRhcyBnYWJzIGZydWVoZXIgbWFsIGluIGRlciBPLUZhc3N1bmcgaW4gc2FlbXRsaWNoZW4gTGFlZGVuLiBIYWJlbiBkaWUgZGFzCmV0d2EgYXVjaCBzeW5jaHJvbmlzaWVydD8gKnNjaGF1ZGVyKgoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZHVuZ2VvbiBrZWVwZXIgKEd1bGR1a2F0LCAxMS4gSnVsIDE5OTcsIDE3OjIxOjI2KToKfiMhIHJuPUNhdW5vIHJ0PTg2ODYxOTk2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njg1NjMzMDIKbmEsIGVzIGdpYnQgamV0enQgcGFzc2VuZCB6dW0gYWt0dWVsbGVuIHN0YXIgdHJlayBmaWxtIDstKSkgZGFzIHNwaWVsIGRhenUKKHN0YXIgdHJlayAtIGdlbmVyYXRpb25zKSwgdW5kIGRhcyBnaWJiZXQgaGllciBsZWlkZXIgbnVyIGluIGRlciBkZXV0c2NoZW4Kc3luY2hybyBmYXNzdW5nIChkYSBzYWcgaWNoIG51cjogZG9ydG11bmQgZmVzdG5laG1lbiBweXJhbWlkZW4sIGNpdmlsaXphdGlvbgpJSSBkZXV0c2NoZSBmYXNzdW5nKSwgdGphLCB1bmQgc293YXMgbW9lY2h0ZSBpY2ggbWlyIGhhbHQgbmljaHQgYW50dW4gLi4uCmRlc2hhbGIgbnVyIG9yaWdpbmFsdmVyc2lvbmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpYZG0gdW50ZXIgTGludXggKEphbml0emUsIDExLiBKdWwgMTk5NywgMjM6MzU6NTIpOgpIaSAhIQpJY2ggd3VlcmRlIGdlcm5lIG1laW5lbiBYZG0gdW50ZXIgbGludXggYmVpYnJpbmdlbiwgZGFzIGVyIG1pdCAxNmJpdApGYXJidGllZmUgaG9jaGZhZWhydCwgd2Vpc3MgamVtYW5kLCB3aWUgaWNoIGRhcyBhbnN0ZWxsZSA/CgpKYW5pY2UsIGxpZWJ0IEZhcmJlbiwgamUgbWVociBkZXN0byBiZXNzZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYZG0gdW50ZXIgTGludXggKFJpa3VzLCAxMi4gSnVsIDE5OTcsIDIwOjQ1OjU1KToKfiMhIHJuPUphbml0emUgcnQ9ODY4NjU2OTUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODY1Njk1MgpIaSwKc3VjaCBEaXIgZGFzIEZpbGUgWHNlcnZlcnMgKGJlaSBtaXIgdW5kIGRlbmtlIGF1Y2ggYWxzIGRlZmF1bHQgdW50ZXIKL3Vzci9YMTFSNi9saWIvWDExL3hkbSB1bmQgZGFyaW4gaXN0IGVpbiBFaW50cmFnLCBkZXIgZGVuIFgtU2VydmVyCmF1ZiBkZW0gbG9rYWxlbiBEaXNwbGF5IHN0YXJ0ZXQgKGJlaSBtaXI6IDowIGxvY2FsIC91c3IvWDExUjYvYmluL1gpLgpVbmQgZGEgaGFlbmdlIG1pdCBlaW5lbSBMZWVyemVpY2hlbiBhbjogLWJwcCAxNgpEaWVzIHNvbGx0ZSBnZW51ZWdlbi4gKGluIFhGODZDb25maWcgc29sbHRlIG5hdHVlcmxpY2ggZWluIEVpbnRyYWcgZnVlcgoxNiBiaXQgZHJpbiBzZWluKS4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkdW5nZW9uIGtlZXBlciAoQ2F1bm8sIDE0LiBKdWwgMTk5NywgMTE6MzE6NTgpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODY4NjM0NDg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODU2MzMwMgpIbS4KKmFrdHVlbGxlciogU3RhciBUcmVrIEZpbG0gLSBHZW5lcmF0aW9ucz8gaXJnZW5kd28gaGFzdCBkdSBkYSB3b2hsIGRlbgphbnNjaGx1c3MgdmVycGFzc3QsIGxldHp0ZXMgSmFociBsaWVmIGRvY2ggc2Nob24gZGVyIE5hY2hmb2xnZXIgIkZpcnN0CkNvbnRhY3QiLgoKT2RlciBiaW4gaWNoIG1laW5lciBaZWl0IHNjaG9uIHp1IHdlaXQgdm9yYXVzPwoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGR1bmdlb24ga2VlcGVyIChHdWxkdWthdCwgMTQuIEp1bCAxOTk3LCAyMDoyMzoxNCk6Cn4jISBybj1DYXVubyBydD04Njg4NzI3MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4NTYzMzAyCgpkZXNoYWxiIHNjaHJpZWIgaWNoIGphIGF1Y2g6Cj4gcGFzc2VuZCB6dW0gYWt0dWVsbGVuIHN0YXIgdHJlayBmaWxtIDstKSkgCm51biwgZGFzIHNwaWVsIGlzdCBoYWx0IGV0d2FzIHNwYWV0ISAKZ2QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWGRtIHVudGVyIExpbnV4IChKaW1kaWdyaXosIDE0LiBKdWwgMTk5NywgMjI6NDY6MDIpOgp+IyEgcm49UmlrdXMgcnQ9ODY4NzMzMTU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2ODY1Njk1MgpIaSBKYW5pY2UsCgpBbHNvIGRhcyBpc3QgZWlnZW50bGljaCBlaW4gRmFsbCBmdWVyIFJURk0KSW4gJ21hbiBYRjg2Q29uZmlnJyBzdGVodCwgZGFzcyBtYW4gaW4gZGVyIERpc3BsYXktU2VjdGlvbgooZ2xhdWIgaWNoLCBpY2ggaGFicyBuZWQgZ2VuYXUgaW0gS29wZikKc293YXMgd2llIERlZmF1bHREZXB0aCBhbmdlYmVuIGthbm4KYWxzbyBlaW5mYWNoIERlZmF1bHREZXB0aCAxNiBhbmdlYmVuLgoKQmVkZW5rZSBkYWJlaSwgZGFzcyBuYXR1ZXJsaWNoIGVpbiBTY3JlZW4gKD8pIEVpbnRyYWcgZnVlciAxNmJwcAp2b3JoYW5kZW4gc2VpbiBtdXNzLCB1bmQgZGFzcyBuaWNodCBqZWRlciBHcmFwaGlra2FydGVudHJlaWJlcgoxNmJwcHMgdW50ZXJzdHVldHp0LgoKQ2lhbywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFhkbSB1bnRlciBMaW51eCAoSmltZGlncml6LCAxNC4gSnVsIDE5OTcsIDIyOjQ4OjE4KToKfiMhIHJuPUppbWRpZ3JpeiBydD04Njg5MTMxNjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY4NjU2OTUyCgpOb2Nod2FzLAogYmV6b2cgc2ljaCBuYXR1ZXJsaWNoIGF1ZiBkZW4gU3RhbmRhcmQtUEMtWC1TZXJ2ZXIKIFhGcmVlODYgMy4yLAoKRmFsbHMgRHUgZGVuIGdlbmlhbGVyZW4sIGFiZXIgbGVpZGVyIGtvbW1lcnppZWxsZW4KQWNjZWxlcmF0ZWRYIGhhc3QsIGthbm5zdCBEdSBkaWUgRmFyYnRpZWZlIGVpbmZhY2ggaW0gClhzZXR1cCBlaW5zdGVsbGVuLgoKQ2lhbywKIEpkRy4KClAuUy4gTWFnIHNlaW4sIGRhc3MgZXMgbm9jaCBhbmRlcmUgUEMtVW5peC1YLVNlcnZlciBnaWJ0LCBnbGF1YiBpY2ggYWJlciBuZWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClMudS5TLkUgTGludXggNS4wIHVuZCBQUzEuLi4gKFB1Y2ssIDE3LiBKdWwgMTk5NywgMTE6NDA6MzgpOgoKSGkhCkFsbGUgZGllLCBkaWUgbWVpbiBrbGVpbmVzIFByb2JsZW0gbWl0IGRlbSBCYXNoLVByb21wdCBkZXIgR05VLUJhc2ggMi54Cm1pdGJla29tbWVuIGhhYmVuLCBkdWVyZmVuIGVudHRhZXVzY2h0IGF1ZmF0bWVuIC0gZXMgZ2lidCBlaW5lIEVya2xhZXJ1bmcgOikKCkVzIGdpYnQgbmljaHQgbnVyIFBTMSwgc29uZGVybiBhdWNoIFBST01QVF9DT01NQU5EIC0gdW5kIHdlbm4gbGV0enRlcmVzIGVpbmVuCldlcnQgZW50aGFlbHQsIHdpcmQgZ2VuYXUgZGFzIHZvciBqZWRlbSBQcm9tcHQgYXVzZ2VmdWVocnQuIEluIC9ldGMvcHJvZmlsZQp3aXJkIGRhcyBhdWNoIGZsZWlzc2lnIGdlbnV0enQgKFBST01QVF9DT01NQU5EPSdQUzE9YGlmIHRlc3QgIiRVSUQiID0gMCA7IC4uLikKdW5kIFBTMSBpbW1lciB3aWVkZXIgbmV1IGdlc2V0enQuIERhIGhpbGZ0IGF1Y2ggYWxsZXIgRXhwb3J0IG5pY2h0IDopCgpQdWNrCgpQUzogTmVpbiwgYml0dGUga2VpbiBEaXN0cmlidXRpb25lbi0vQlMtS3JpZWcsIGphPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIENELVJvbS1MYXVmd2VyayAgdW5kIFNvdW5ka2FydGUuIChWYW5pciwgMTcuIEp1bCAxOTk3LCAxMjoyNDoxNCk6CgpJY2ggbW9lY2h0ZSBlaW5lbiBhbHRlbiA0ODYgenVtIE11bHRpbWVkaWEtUGMgYXVmcnVlc3Rlbi4gRGVzaGFsYiBzdWNoZSBpY2gKZWluIGFsdGVzIENELVJvbS1MYXVmd2VyayAoMiBvZGVyIDQgZmFjaCksIGRhcyBub2NoIG1pdCBlaWdlbmVyIEthcnRlCmZ1bmt0aW9uaWVydCAoei5CLiBNaXRzdW1pIDAwMUQpLiBFaW4gQXRhcGkga29tbXQgbmljaHQgaW4gRnJhZ2UsIGRhIGljaApzY2hvbiAyIFBsYXR0ZW4gYW0gQ29udHJvbGxlciBoYWVuZ2VuIGhhYiB1bmQgc29taXQgbml4IGZyZWkgaXN0LiBXZXIgYWxzbwpub2NoIHNvbiBhbHRlcyBEaW5nIHJ1bWxpZWdlbiBoYXQgdW5kIGVzIG1pciB2ZXJtYWNoZW4gd2lsbCAoenUgZWluZW0gYW4tCmdlbWVzc2VuZW4gUHJlaXMgbmF0dWVybGljaCksIHNvbGx0ZSBlcyB6dXIgTXVkLVBhcnR5IG1pdGJyaW5nZW4uIE1haWwKYnJpbmd0IG5peCwgZGEgaWNoIGRpZSBuYWVjaHN0ZW4gNiBXb2NoZW4gbmljaHQgZGEgc2VpbiB3ZXJkZS4KCkJpcyB6dXIgUGFydHksCiAgICAgICAgICAgICAgICBWYW5pci4KClAuUy46IFN1Y2hlIGF1Y2ggbm9jaCBuZSBTb3VuZGthcnRlICg4IG9kZXIgMTZiaXQsIElTQSkgenUgYWVobmxpY2hlbgogICAgICAgIEtvbmRpdGlvbmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1Y2hlIENELVJvbS1MYXVmd2VyayAgdW5kIFNvdW5ka2FydGUuIChHcmltbWJvcm4sIDE3LiBKdWwgMTk5NywgMTM6NDk6NDgpOgp+IyEgcm49VmFuaXIgcnQ9ODY5MTM1MDU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2OTEzNTA1NApFaW4gc2Vjb25kYXJ5IGNvbnRyb2xsZXIga29zdGV0IGV0d2EgMjBETS4KVm9ycmF1c3NldHp1bmc6IGVpbiBmcmVpZXIgKElTQS0pIFN0ZWNrcGxhdHogYXVmIGRlbSBib2FyZC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBoYXQgZ2VuYXUgZGFzIGdlbWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmltbWVyIG5vY2ggVGFzdGF0dXIgZ2VzdWNodCAoVGFuZ2FsdXIsIDIzLiBKdWwgMTk5NywgMTY6MzE6MDcpOgpIYWxsb2VsZSAoYmVzb25kZXJzIE5hc2ltIDstKSApCgpzdWNoZSBpbW1lciBub2NoIGVpbmUgVGFzdGF0dXIgZnVlciBlaW5lIEF0YXJpIE1lZ2EgU1QuIEZhbGxzIGlyZ2VuZHdlcgpzb25lbiBSZWNobmVyIGhhdCB1bmQgZGllIFRhc3RlbiBuaWNodCBtZWhyIGJyYXVjaHQsIGJpdHRlIGVpZW4gTWFpbCBhbgptaWNoLiBWaWVsbGVpY2h0IHdlaXNzIGphIGF1Y2ggaXJnZW5kd2VyIG9icyBkaWUgVGFzdGF0dXIgYWxzIEVpbnplbHRlaWwKenUga2F1ZmVuIGdpYnQuIEphIHVuZCB3ZXIgbmljaHQgd2Vpc3Mgd2FzIGVpbiBBdHJhaSBNZWdhIFNUIGlzdCBkZXIgd2VuZGUKc2ljaGF1Y2ggYW4gbWljaCwgZGVuIGtsYWVyZSBpY2ggZGFubiBhdWYuLi4KClRhbmdhbHVyIEZldWVydGF0emUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbW1lciBub2NoIFRhc3RhdHVyIGdlc3VjaHQgKFRhbmdhbHVyLCAyMy4gSnVsIDE5OTcsIDE3OjAxOjMxKToKfiMhIHJuPVRhbmdhbHVyIHJ0PTg2OTY2ODI2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk2NjgyNjcKaHVwcHMgYSBlaW4gQXRyYWkgTWVnYSBTdCBpc3QgZWluIFRpcHBmZWhsZXIuIEhlaXNzdCBuYXR1ZXJsaWNoCkF0YXJpIE1lZ2EgU1QuCgpUYW5nYWx1ciBGZXVlcnRhdHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGltbWVyIG5vY2ggVGFzdGF0dXIgZ2VzdWNodCAoQXNtb2RpcywgMjMuIEp1bCAxOTk3LCAxOToxNTowNik6Cn4jISBybj1UYW5nYWx1ciBydD04Njk2NzAwOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5NjY4MjY3CldpcmQgYXVjaCBuaWNodCBiZXNzZXIsIHdlbm4gbWFuIGVzIGdyb3Nzc2NocmVpYnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGltbWVyIG5vY2ggVGFzdGF0dXIgZ2VzdWNodCAoVGFuZ2FsdXIsIDI0LiBKdWwgMTk5NywgMTA6MDI6MjIpOgp+IyEgcm49QXNtb2RpcyBydD04Njk2NzgxMDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5NjY4MjY3ClRqYSBBc21vLCBkYXMgbWl0IGRlciBncm9zcy0va2xlaW4tIFNjaHJlaWJ1bmcgdW5kIGRlbiBUaXBwZmVobGVybiBsaWVndCBhbgpkZXIgZmVobGVuZGVuIFRhc3RhdXIgOy0pCgpUYW5nYWx1ciBGZXVlcnRhdHplCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcnNldHplbiB1bnRlciBVTklYIChIaWdobGFuZGVyLCAyNC4gSnVsIDE5OTcsIDE0OjM5OjEwKToKfiMhIG9uPUtyZXRlayBvdD04Njk3NDc4NzQgb2c9c3VjaGUtYmlldGUKSGFsbG8sIFVOSVgtR3VydXMhCgpFcyBnaWJ0IGRvY2ggZ2FyYW50aWVydCBkaWUgTW9lZ2xpY2hrZWl0LCBlaW5lbiBGaWxlIHBlciBncmVwIG5hY2ggJ25lcgpaZWljaGVuZm9sZ2UgZHVyY2hzdWNoZW4genUgbGFzc2VuLCBkaWVzZSBaZWljaGVuZm9sZ2UgZGFubiBkdXJjaCBlaW5lCmFuZGVyZSB6dSBlcnNldHplbiwgdW5kIGRhcyBnYW56ZSBkYW5uIGF1Y2ggZ2xlaWNoIHNvIHp1IHNwZWljaGVybiwgX29obmVfCmdsZWljaCAnbmVuIEVkaXRvciBhdWZydWZlbiB6dSBtdWVzc2VuIHVuZCBkYXMgZ2FuemUgcGVyIEhhbmQgenUgbWFjaGVuLApvZGVyPyBXYWVyZSBuZXR0LCB3ZW5uIGplbWFuZCBkYSB2aWVsbGVpY2h0ICduZW4gVGlwIGZ1ZXIgbWljaCBoYWV0dGUuLi4KCktyZXRlSwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyc2V0emVuIHVudGVyIFVOSVggKFJvY2h1cywgMjQuIEp1bCAxOTk3LCAxNDo0MjoxOCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg2OTc0Nzk1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk3NDc5NTAKc2VkICdzL3plaWNoZW5fdm9yaGVyL3plaWNoZW5fbmFjaGhlci8nIDxmaWxlX3ZvcmhlciA+ZmlsZV9uYWNoaGVyClNpZWhlIGF1Y2g6IHNlZCgxKSAoa3VyejogUlRGTSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcnNldHplbiB1bnRlciBVTklYIChNdXBmZWwsIDI0LiBKdWwgMTk5NywgMTc6NTA6MTMpOgp+IyEgcm49SGlnaGxhbmRlciBydD04Njk3NDc5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5NzQ3OTUwCnBlcmwgLXBpIC1lICdzL2FsdGV6ZWljaGVuL25ldWV6ZWlnZW4vZycgZGF0ZWluYW1lCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoQWxib2luLCAyNS4gSnVsIDE5OTcsIDE5OjE3OjMzKToKQWxzbyB3aWUgZGVyIFRpdGVsIHNjaG9uIHNhZ3QgaWNoIGhhYmUgZWluIFByb2JsZW0gZWluIHJhbmdlaGFuZ2VuZXMgZ2lmLWZpbGUKenUgZGVjb2RpZXJlbiBiencgbWlyIGFuenVzY2hhdWVuLiAKZGVyIEhlYWRlciBzaWVodCBpbiBldHdhIHNvIGF1czoKQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IG5hbWU9IjAwMS5HSUYiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NAogdW5kIGhpbnp1a29tbXQgZGFzcyBpY2ggZWxtIGJlbnV0emUuCkljaCB3YWVyZSAgZnVlciBqZWRlbiBIaW53ZWlzIGRhbmtiYXIuCkFsYm9pbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKEhhdGUsIDI1LiBKdWwgMTk5NywgMjM6MDM6MzEpOgp+IyEgcm49QWxib2luIHJ0PTg2OTg1MTA1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKYmVpIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSBzb2xsdGUgZGlyIGRlaW4gbWFpbGVyIGFuYmlldGVuIGVzIGFienVzcGVpY2hlcm4uCkFuc29uc3RlbiBjYXQgImRpZSBtYWlsIiB8IG1ldGFtYWlsCk1ldGFtYWlsIHNhZ3RzIGRpciBkYW5uIHNjaG9uIDotKQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoR3VsZHVrYXQsIDI3LiBKdWwgMTk5NywgMDk6MTk6MjUpOgp+IyEgcm49SGF0ZSBydD04Njk4NjQ2MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCk5ldHNjYXBlIG1haWwgc2NobHVlc3NlbHQgZGlyIGRhcyBhdWNoIGF1ZgpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoSGF0ZSwgMjcuIEp1bCAxOTk3LCAxMjozNDoyMSk6Cn4jISBybj1HdWxkdWthdCBydD04Njk5ODc5NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCldlciBOZXRzY2FwZSBiZW51dHp0IHVtIE1haWxzIHp1IGxlc2VuLCBkZXIgZnJpc3N0IGF1Y2gga2xlaW5lIENvbXB1dGVyLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoR3VsZHVrYXQsIDI4LiBKdWwgMTk5NywgMTk6MjU6MzMpOgp+IyEgcm49SGF0ZSBydD04Njk5OTk2NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCnRqYSwgYXVjaCBudXIgYXVzIGVpbmVyIHp3YW5nc2l0dWF0aW9uISBtZWluIGxpbnV4IGlzIGdlY3Jhc2h0IHVuZCBpY2ggaGFiCmtlaW5lIHplaXQsIGVzIHdpZWRlciBhdWYgdm9yZGVybWFubiB6dSBicmluZ2VuLCBzbyBkYXNzIHouei4gd2luZG9vZiBhbmdlc2FndAppc3QuIHVuZCBkYSBoYWIgaWNoa2VpbiBiZXNzZXJlcyBtYWlsIHByb2dyYW1tIGdlZnVuZGVuIGFscyBuZXRzY2FwZS4gcGVnYXN1cwppc3QgendhciBnYW56IG5ldHQsIGFiZXIgc3BlaWNoZXJ0IGRpZSBtYWlscyBpbiBlaW5lbSBlaWdlbmVuIGJpbmFlciBmb3JtYXQsCnNvIGRhc3MgaWNoIGRpZSBtYWlscyBoaW50ZXJoZXIgbmljaHQgbWVociBpbiBsaW51eCBiZWFyYmVpdGVuIGthbm4uIG51cgpuZXRzY2FwZSBzcGVpY2hlcnQgZGllIG1haWxzIGltIHVuaXggbWFpbCBmb3JtYXQhCmdkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiByYW5nZWhhbmdlbmUgRmlsZXMgYmVpIGRlciBtYWlsIChXdXJ6ZWwsIDI4LiBKdWwgMTk5NywgMjA6MDI6MzcpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODcwMTEwNzMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2OTg1MTA1MwpwZWdhc3VzIGhhdCBkYSBuZSBmdW5rdGlvbiB6dW0gc3BlaWNoZXJuIGFscyBkYXRlaS4uLiBoaWxmdCBtYW5jaG1hbCBzZWhyLgoKd3VyemVsIGlzdCBidWVyb21hZXNzaWcgcGVnYXN1cy1nZXNjaGFlZGlndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKEd1bGR1a2F0LCAyOC4gSnVsIDE5OTcsIDIxOjQ3OjAwKToKfiMhIHJuPVd1cnplbCBydD04NzAxMTI5NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCmphIGFiZXIgbnVyIGVpbnplbG5lIG1haWxzLCB1bmQgbmljaHQgYWxsZXMgenVzYW1tZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDUFUgUHJlaXNlIChSb2NodXMsIDI5LiBKdWwgMTk5NywgMTI6MjQ6MTYpOgpEaWUgb2ZmaXppZWxsZW4gUHJlaXNlIChsYXV0IGMndCkgc2luZDoKUFBybyAyMDA6IDQ4NyQKUDIgMzAwOiA4NTEkClAyIDI2NjogNjY5JApQMiAyMzM6IDUyMCQKUDIzMyBNTVg6IDM4NiQKUDIwMCBNTVg6IDI1MiQKUDIwMDogMTI1JApQMTMzOiA5NSQKNng4NiBNWCBQUjIzMzogMzAwJApLNiAyMzM6IDI5MCQKSzYgMjAwOiAxOTAkCks2IDE2NjogMTEwJAoKVmllbCBTcGFzcyBiZWltIEF1ZnJ1ZXN0ZW4gOi0pCkFsbGUgQW5nYWJlbiBvaG5lIEdld2FlaHIgdW5kIGhvZmZlbnRsaWNoIG9obmUgVGlwcGZlaGxlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENQVSBQcmVpc2UgKFBpbGdyaW0sIDI5LiBKdWwgMTk5NywgMTU6MjM6NTkpOgp+IyEgcm49Um9jaHVzIHJ0PTg3MDE3MTg1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzAxNzE4NTYKSG1tLAoKYmVrb21tdCBNRyBkYW5uIGVpbmVuIFAyMDAgKG9obmUgTU1YKT8KClBpbGdyaW0KClBTOjogWi5aIGhhdCBNRyBlaW5lbiBLNSAxNjYsIG9kZXIgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDUFUgUHJlaXNlIChSYWZmaSwgMjkuIEp1bCAxOTk3LCAxNzo0MDoyNSk6Cn4jISBybj1QaWxncmltIHJ0PTg3MDE4MjYzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzAxNzE4NTYKCk1pdCB3YWVyZSBpbiB1bnNlcmVtIGZhbGwgYmVzc2VyIC0gb2RlciBtaWViZXIgbmVuIE0yICh3ZW5uIGVyIHJlaW5wYXNzdCkuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoQWNyaW1vbiwgMzAuIEp1bCAxOTk3LCAxNDowNDo1OCk6Cn4jISBybj1HdWxkdWthdCBydD04NzAxMTA3MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCldlciBXaW5kb29mIGJlbnV0enQgdW0gZGFtaXQgenUgYXJiZWl0ZW4sIGRlciB0ZXN0ZXQgYXVjaCBtaXQgV29ubmUKU3RyZWNrYmFlbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgMTQwMDAgTW9kZW0gKEJhcmFrLCAzMC4gSnVsIDE5OTcsIDE0OjM0OjA5KToKTWVpbiBhbHRlcyBNb2RlbSBpc3QgdmVycmVja3QuIERhaGVyIHN1Y2hlIGljaCBlaW4gbmV1ZXMgTW9kZW0gZnVlciB3ZW5pZwpHZWxkLi4uCkZhbGxzIGVpbmVyIHZvbiBldWNoIGVpbiBub2NoIGZ1bmt0aW9uaWVyZW5kZXMgTW9kZW0gdWViZXIgaGF0IGthbm4gZXIgbWlyIGphCm1hbCBlaW5lIE1haWwgc2NoaWNrZW4uCkJhcmFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiByYW5nZWhhbmdlbmUgRmlsZXMgYmVpIGRlciBtYWlsIChXdXJ6ZWwsIDMwLiBKdWwgMTk5NywgMTk6MzI6MzcpOgp+IyEgcm49QWNyaW1vbiBydD04NzAyNjQyOTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCnN0aW1tdC4gbnVyIHNpbmQgbGVpZGVyIHN0cmVja2JhZW5rZSB3ZXNlbnRsaWNoIHNlbHRlbmVyIHp1IGJla29tbWVuLiBoYXN0IGR1Cm5pY2h0IHp1ZmFlbGxpZyBlaW5lbiBiZXp1Z3NxdWVsbGVubmFjaHdlaXM/IGJldm9yIGljaCBtaXQgendlaSBsaW5rZW4KaGFlbmRlbiBzb3dhcyBzZWxiZXIgZ2ViYXV0IGhhYmUsIGtvZW5udGUgaWNoIHdvaGwgZWhlciB3aW5kb29mOTkgZmVydGlnCm1hY2hlbi4uLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXNzd29yZCBhYmdlbGF1ZmVuIHVudGVyIG50IChCaW5nLCAzMS4gSnVsIDE5OTcsIDEwOjE0OjEwKToKaGlsZmUsCm1laW4gYWRtaW5pc3RyYXRvcnBhc3N3b3JkIGlzdCBhYmdlbGF1ZmVuIHVuZCBpY2gga29tbWUgbmljaHQgbWVociBpbiBtZWluCm50LXN5c3RlbS4gaGF0IGlyZ2VuZGplbWFuZCBlaW5lIGlkZWUgd2llIGljaCBkYXMgcGFzc3dvcmQgdm9uIGF1c3NlbiBhZW5kZXJuCmthbm4gb2RlciBzb25zdCBpcmdlbmR3aWUgbWVpbiBzeXN0ZW0gd2llZGVyIHp1bSBsYXVmZW4gYmVrb21tZT8KCndhcnRlIGRyaW5nZW5kIGF1ZiBhbnR3b3J0Li4uCgpob2ZmZW5kZSBiaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3dvcmQgYWJnZWxhdWZlbiB1bnRlciBudCAoUGFtcGVycywgMzEuIEp1bCAxOTk3LCAxMDoxNToyOSk6Cn4jISBybj1CaW5nIHJ0PTg3MDMzNjg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzAzMzY4NTAKRE9TLUJvb3RkaXNrZXR0ZSBuZWhtZW4uIDotKQoKUGFtcGVycy4gSGFlbHQgTXVsdGl0YXNraW5nIGVoIGZ1ZXIgbmV1bW9kaXNjaGVuIFNjaG5pY2tzY2huYWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBhc3N3b3JkIGFiZ2VsYXVmZW4gdW50ZXIgbnQgKFF1YXNpbW9kbywgMzEuIEp1bCAxOTk3LCAxNjoyMToxMCk6Cn4jISBybj1CaW5nIHJ0PTg3MDMzNjg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzAzMzY4NTAKSGFzdCBEdSBub2NoIGVpbmVuIGFuZGVyZW4gKG5pY2h0IEFkbWluKSBBY2NvdW50IGF1ZiBkZW0gUmVjaG5lcj8gSWNoIGtvZW5udGUKZGlyIGVpbiBrbGVpbmVzIFByb2dyYW1tIHp1bWFpbGVuLCBkYXNzIERpciBBZG1pbi1SZWNodGUgdmVyc2NoYWZmdC4gRGFubgprYW5uc3QgZHUgYXVjaCBEZWluZW4gYW5kZXJlbiBBY2NvdW50IHdpZWRlciBoaW5iaWVnZW4uCgpRdWFzaS4KCk1haWwgZWluZmFjaCBhbiA6IHZpcEBlYXJ0aGxpbmcubmV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGFzc3dvcmQgYWJnZWxhdWZlbiB1bnRlciBudCAoR3VsZHVrYXQsICAxLiBBdWcgMTk5NywgMTI6NDk6MDkpOgp+IyEgcm49QmluZyBydD04NzAzMzY4NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwMzM2ODUwClNhY2ggZG9jaCBnbGVpY2gsIGRhc3MgZHUgZWluZW4gYW5kZXJlbiByZWNobmVyIGhhY2tlbiB3aWxsc3QhCkRpZXNlIGF1c3JlZGUgZ2xhdWJ0IGVoIG5pZW1hbmQhIDstKSkpKQoqZ3JpbnMqCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBhc3N3b3JkIGFiZ2VsYXVmZW4gdW50ZXIgbnQgKEJpbmcsICAxLiBBdWcgMTk5NywgMTM6NDU6MDUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODcwNDMyNTQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MDMzNjg1MApndWxkdWthdCwKCndlbm4gaWNoIGVpbmVuIGFlbmRlcmVuIHJlY2huZXIgaGFja2VuIHd1ZXJkZSB3b2xsZW4sIGJyYWV1Y2h0ZSBpY2ggZG9jaAplaW5mYWNoIG51ciBzZWluZSBwbGF0dGUgYW4gZWluZW4gYW5kZXJlbiBudC1yZWNobmVyIGhhZW5nZW4gdW5kIGtvZW5udGUgZHJhdWYKenVncmVpZmVuLgpiaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwYXNzd29yZCBhYmdlbGF1ZmVuIHVudGVyIG50IChHdWxkdWthdCwgIDEuIEF1ZyAxOTk3LCAxODoyOTozNCk6Cn4jISBybj1CaW5nIHJ0PTg3MDQzNTkwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzAzMzY4NTAKCmhlaGUhIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoTXVwZmVsLCAgMS4gQXVnIDE5OTcsIDE4OjQzOjUzKToKfiMhIHJuPUFjcmltb24gcnQ9ODcwMjY0Mjk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2OTg1MTA1MwpGYWxzY2g6IFdlciBXaW5kb29mIGJlbnV0enQsIHVtIGRhbWl0IHp1IGFyYmVpdGVuLCBoYXQgbWVpc3QgbGVpZGVyIGtlaW5lCmFuZGVyZSBXYWhsCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoUmFmZmksICAxLiBBdWcgMTk5NywgMjE6MzI6NDIpOgp+IyEgcm49TXVwZmVsIHJ0PTg3MDQ1MzgzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKV29obCB3YWhyLCB3b2hsIHdhaHIgLi4uIDooCgpHcnVzcwpILgoKKEphLCBkYXMgaXN0IGVpbiBKYSBpY2ggYXVjaCBBcnRpa2VsLCBhYmVyIGljaAoga2FubiBuaWNodCBhbmRlcnMgYWxzIE11cGZlbCBoaWVyIG1hbCBhdXMgdm9sbGVtIChnZXF1YWx0ZW0pIAogaGVyemVuIHp1c3RpbW1lbi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByYW5nZWhhbmdlbmUgRmlsZXMgYmVpIGRlciBtYWlsIChBbmF0b2wsICAxLiBBdWcgMTk5NywgMjE6MzY6MTkpOgp+IyEgcm49UmFmZmkgcnQ9ODcwNDYzOTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2OTg1MTA1MwpBY2ggaWhyIEphbW1lcmxhcHBlbiBrb2VubnQgYXVjaCBuaXggYW5kZXJlcywgYml0dGU/IDopCkljaCBtYWNoJyBtYWwgZGllIFZvcmhlcnNhZ2UsIGRhc3MgaW4gd2VuaWdlbiBKYWhyZW4gV2luZG93cyBOVCBvZGVyCmVpbmVyIGRlciBOYWNoZm9sZ2VyIGRlc3NlbiBkYXMgZnVlaHJlbmRlIEJldHJpZWJzc3lzdGVtIGRlciBXZWx0IGlzdC4gCgpVbmQgd2VubiBtYW4gZHJ1ZWJlciBuYWNoZGVua3Q6IEtlaW4gV3VuZGVyLCBiZWkgZGVyIEtvaGxlLCBkaWUgaW5zCk1hcmtldGluZyBmbGllc3N0LCBrZWluIFd1bmRlciBiZWkgZGVyIGdyb3NzZW4gQW56YWhsIFt1bmZyZWl3aWxsaWdlcl0KQmV0YS1UZXN0ZXIuLi4KCkFjaCBqYTogSWNoIGhhYiBtaWNoIGZ1ZXIgZHJlaSBKb2JzIGFuIGRlciBVbmkgYmV3b3JiZW4sIGljaCBzY2hlaXRlcnRlIAphbiB6d2VpZW4gYXVzIGdlbmF1IGRlbSBHcnVuZDogSWNoIGthbm50ZSBtaWNoIG1pdCBXaW5kb3dzIE5UIG5pY2h0IGd1dApnZW51ZyBhdXMuIFdlciB3aWxsIGhldXRlIG5vY2ggd2FzIHZvbiBVbml4PyAqc2V1ZnoqLgoKTXIgImFycm9nYW5jZSIgQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoUmFmZmksICAyLiBBdWcgMTk5NywgMDA6MjY6MjQpOgp+IyEgcm49QW5hdG9sIHJ0PTg3MDQ2NDE3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKV2llc28gVm9yYXVzc2FnZSwgd2VubiBtYW4gbmUgVGF0c2FjaGUgYXVmemFlaGx0ID8KCldpbkRPT0YgTlQgSVNUIGJlcmVpdHMgZGFzIGJldHJpZWJzc3lzdGVtLgooQXVjaCB3ZW5ucyBtaXIgcGVyc29lbmxpY2ggbmljaHQgZ2VmYWVsbHQgLSBpY2ggZW50d2lja2VsZSBkYWZ1ZXIpCgpVbml4IGhhdCBub2NoIG5pZSBlaW5lIFJvbGxlIGdlc3BpZWx0LgooVW5kIGljaCBoYWIgYWN1aCBzY2hvbiAvIHR1ZSBlcyBpbW1lciBub2NoIC8gZnVlciBVbml4IGVudHdpY2tlbHQuKQoKR3J1c3MgKDwtIGRpZXNtYW4gbmljaHQgdmVyZ2Vzc2VuKQpILgoKUC5TLjogRE9TIGlzdCBkZXIgZWluemlnIHdhaHJlIFVybGFkZXIgLSBET1MgbWFjaHQgd2VuaWdzdGVucyBrZWluZSBQcm9ibGVtZQp3ZW5uIG1hbiBlcyBhdXMgZGVtIFNwZWljaGVyIGVudGZlcm50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKFF1YXNpbW9kbywgIDIuIEF1ZyAxOTk3LCAwMDo0MDo0MCk6Cn4jISBybj1SYWZmaSBydD04NzA0NzQzODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCkJlaSBtaXIgaGF0IE5UIGF1Y2ggbm9jaCBuaWUgUHJvYmxlbWUgZ2VtYWNodC4gV29obCBhYmVyIGJlaSB1bnNlcmVtIGxpZWJlbgpOZXR6d2Vyay1BZG1pbi4gRXMgaGF0IG5hZW1saWNoIGplbWFuZCAodmVyZ2VibGljaCkgdmVyc3VjaHQgc2ljaCB1bnRlciBzZWluZW0KQWNjb3VudCBhdWYgZGVtIFNlcnZlciBlaW56dWxvZ2dlbiB1bmQgTlQgaGF0IChyaWNodGlnZXJ3ZWlzZSkgZWluZW4gSW50cnVkZXIKZmVzdGdlc3RlbGx0IHVuZCBkZW4gYmV0cmVmZmVuZGVuIEFjY291bnQgZGlzYWJsZWQuIEkgYmlzc2VybCBkb29mIGJlaW0KZWluemlnZW4gQWNvdW50IGF1ZiBkZW0gU2VydmVyIG1pdCBBZG1pbi1SZWNodGVuLi4uCgpBbHNvLCB3ZW5uIG1hbCBqZW1hbmQgc2VpbmVuIEFkbWluIGFlZ2VybiB3aWxsLi4uIDotRAoKUXVhc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKEx1ZywgIDIuIEF1ZyAxOTk3LCAwMjo0NzowMCk6Cn4jISBybj1NdXBmZWwgcnQ9ODcwNDUzODMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg2OTg1MTA1MwpISUxGRSEKCk1vaW4sCgppY2gga2FlbXBmZSBnZXJhZGUgZ2VnZW4gZGllIFVuYmlsbCBkZXMgVXNlcmxlYmVucy4gTWVpbiBOb3RlYm9vayAoT2xpdmV0dGkKRWNob3MgUDEyMEUpIGxhZXVmdCBtaXQgV2luOTUgKG11c3Mgc2VpbikuIEljaCBoYWIgYnJhdiBtZWluIGFsdGVzIE1vZGVtCkNyZWF0aXggTEMgMTQ0IFZGKSBkcmFuZ2VoYWVuZ3QgdW5kIG5hY2ggZGVyIEFubGVpdHVuZyBkZXIgTWFyYnVyZ2VyIEhSWgpXZWJwYWdlIGtvbmZpZ3VyaWVydC4gRXJnZWJuaXM6IEVzIHNjaG5lY2t0IHdpZSBibG9lZGUuIFJ1ZWhydCBzaWNoIGthdW0gd2FzLgpXb3JhbiBrb2VubnRlIGRhcyBkZW5uIG51biBzY2hvbiB3aWVkZXIgbGllZ2VuPyBGYWxscyBqZW1hbmQgRXJmYWhydW5nIGRhbWl0CmhhdCwgYml0dGUgc2NobmVsbCBlaW5lIE1haWwgYW4gbWljaC4KClNldWZ6LCBTdG9laG4sIEhldWwKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiByYW5nZWhhbmdlbmUgRmlsZXMgYmVpIGRlciBtYWlsIChXdXJ6ZWwsICAyLiBBdWcgMTk5NywgMTY6NTE6MzApOgp+IyEgcm49QW5hdG9sIHJ0PTg3MDQ2NDE3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKaW0ga2xlaW5lbiBiZXJlaWNoIGhhc3QgZHUgc2ljaGVyIHJlY2h0LCBudCBzY2hsYWVndCB1bml4LiBlcyBpc3QgendhcgpzY2hsZWNodGVyIGdlbWFjaHQsIHdlbmlnZXIgc3RhYmlsIHVuZCBhdWNoIHNvbnN0IG11ZWxsLCBhYmVyIGRhcyBiZXNzZXJlCm1hcmtldGluZyBpc3QgZW50c2NoZWlkZW5kLiBudXIgbWl0IHNjaGxlY2h0ZXIgc29mdHdhcmUga2FubiBtYW4gcmljaHRpZwp2aWVsIGdlbGQgdmVyZGllbmVuLCB3aW5kb29mIGlzdCBudXIgZWluIGJlaXNwaWVsLCBzYXAgZWluIGFuZGVyZXMuCmdhbnogYW5kZXJzIHNpZWh0IGVzIGFiZXIgaW0gYmVyZWljaCBncm9lc3NlcmVyIGFwcGxpa2F0aW9uZW4gYXVzLiB2ZXJzdWNoCmRvY2ggbWFsLCB1bnRlciBudCBlaW5lIGFud2VuZHVuZyB6dSBtYWNoZW4sIGRpZSB0YWVnbGljaCA1MCBtaWxsaW9uZW4KZGF0ZW5zYWV0emUgdmVyYXJiZWl0ZXQsIGltIHN0YWJpbGVuIDI0LXN0dW5kZW4tYmV0cmllYi4gZGEgc3RvZXNzdCBkZXIKbWljcm9zY2hyb3R0IHNjaG5lbGwgYW4gc2VpbmUgZ3JlbnplbiwgdW5kICJyaWNodGlnZSIgYmV0cmllYnNzeXN0ZW1lIGF1ZgoicmljaHRpZ2VuIiByZWNobmVybiB3ZXJkZW4gZGEgYXVmIGxhZW5nZXJlIHNpY2h0IHVuZXJzZXR6bGljaCBibGVpYmVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoRGVudGksICAyLiBBdWcgMTk5NywgMTc6NDA6MDgpOgp+IyEgcm49V3VyemVsIHJ0PTg3MDUzMzQ5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKCkljaCBtdXNzIERpciBpbiB2aWVsZW0gUmVjaHQgZ2ViZW4sIE5UIGlzdCBmdWVyIGRlbiB1bnRlcmVuIHVuZCBtaXR0bGVyZW4KU2VydmVyYmVyZWljaCBhdXNyZWljaGVuZCwgdW5kIGRvcnQgYXVjaCAobGVpZGVyKSBhdWYgZGVtIHZvcm1hcnNjaC4KRXMgaXN0IG1pdCBzaWNoZXJoZWl0IHNjaGxlY2h0ZXIgYWxzIGRpZSBtZWlzdGVuIFVuaXhlIHVuZCBoYXQgdmllbGUgClByb2JsZW1lLCBhbGxlcmRpbmdzIHdlcmRlbiBpbnp3aXNjaGVuIGF1Y2ggbWFuY2hlIEZpcm1lbiBkaWUgVW5peCAKYW5iaWV0ZW4genUgcmVjaHQgbmVydm9lcywgZGEgTVMgdmVyc3VjaHQsIGluIGRlcmVuIGFuZ2VzdGFtbXRlbiAKQmVyZWljaCBlaW56dWRyaW5nZW4uIFNvIHd1cmRlIGxldHp0ZW5zIGVpbmUgZXhpc3RpZXJlbmRlIExvZXN1bmcKZnVlciBlaW5lIEJhbmsgdm9yZ2VzdGVsbHQsIGRpZSBwcm8gVGFnIDEgbWlsbGlhcmRlIFRyYW5zYWt0aW9uZW4gc2NoYWZmdCwgCmRpZXNlIExvZXN1bmcgd2FyIGRpcmVrdCB2b24gTVMsIHVuZCBlaW5lIGFuZGVyZSBMb2VzdW5nLCBkaWUgZWluIAo2NC1Qcm96ZXNzb3ItQ2x1c3RlciBkYXMgYXVmIGVpbmVyIDItdGVyYWJ5dGUta3VuZGVuZGF0ZW5iYW5rIG1pdCBlaW5lcgozMC1taWxsaW9uZW4gemVpbGVuIHVtZmFzc2VuZGVuIFRhYmVsbGUgYXJiZWl0ZXRlLiBEaWVzZXMgQ2x1c3RlciBpc3QKZGFydWViZXJoaW5hdXMgbWl0IGVpbmVyIHNvZ2VuYW5udGVuIG5vbi1zdG9wLXNvZnR3YXJlIGluIGRlciBsYWdlLCAKcnVuZCB1bSBkaWUgdWhyIHp1IGFyYmVpdGVuIG9obmUgZHVyY2ggdXBkYXRlcywgcmVjaG5lci1hdXNmYWVsbGUgb2RlcgphZWhubGljaGVzIGdlc3RvZXJ0IHp1IHdlcmRlbi4gRGllc2UgTG9lc3VuZyB3dXJkZSB2b24gVGFuZGVtIHZvcmdlc3RlbGx0LgooVGFuZGVtIHd1cmRlIGdlcmFkZSB2b24gQ29tcGFxIGdsYXViZSBpY2ggZ2VzY2hsdWNrdCkuCgpJY2ggZGVua2UgZGFoZXIsIGRhc3Mgd2lyIHVucyBkYXJhdWYgZ2VmYXNzdCBtYWNoZW4gbXVlc3NlbiwgaW4gClp1a3VuZnQgaW1tZXIgbWVociBtaXQgTlQgdW5kIHNlaW5lbiBOYWNoZm9sZ2VybiB6dSBhcmJlaXRlbiwgYXVjaCB3ZW5uCmVzIGtlaW5lbiBzcGFzcyBtYWNodC4KTWl0IFNpY2hlcmhlaXQgd2lyZCBlcyBpbW1lciBiZXJlaWNoZSBnZWJlbiwgd28gTlQgbmljaHQgaW4gZGVyIGxhZ2UgaXN0CmRpZSBBbmZvcmRlcnVuZ2VuIHp1IGVyZnVlbGxlbiAoUlQtU3lzdGVtZSB6LkIuKSwgYXVjaCB1bmQgdm9yIGFsbGVtIAppbSBCZXJlaWNoIFN1cGVyY29tcHV0aW5nLiAKCkRlbnRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbSBhbnp1YmlldGVuIChFbmd5d3VjaywgIDMuIEF1ZyAxOTk3LCAxOToxMjoxNCk6CkhhbGxvIExldXRlIQpNZWluIGVyc3RlcyBncm9lc3NlcmVzIEMtUHJvZ3JhbW0gaXN0IGZlcnRpZyB1bmQgZXMga29lbm50ZSBhdWNoIGRlbQplaW5lbiBvZGVyIGFuZGVyZW4gdm9uIE51dHplbiBzZWluOiBFcyBlcm1vZWdsaWNodCBuYWVtbGljaCBkaWUgQmVyZWNobnVuZwpkZXIgVGVsZWZvbmtvc3Rlbiwgd2VubiBtYW4gcGVyIE1vZGVtIGVpbmdlbG9nZ3QgaXN0LiBEYXMgUHJvZ3JhbW0ga2Fubgpwcm9ibGVtbG9zIGlucyBFaW53YWVobHNjcmlwdCBlaW5nZWJhdXQgd2VyZGVuLgoKV2VyIEludGVyZXNzZSBoYXQ6IE1haWwgYW4gbWljaCwgZGFubiBzY2hpY2tlIGljaCBlcyB6dS4KCkNpYW8sIEVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvZ3JhbW0gYW56dWJpZXRlbiAoSGF0ZSwgIDMuIEF1ZyAxOTk3LCAyMjo1MzowMCk6Cn4jISBybj1Fbmd5d3VjayBydD04NzA2MjgzMzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwNjI4MzM0ClNvd2FzIGdpYnRzIHNjaG9uIHNlaXQgZWluaWdlbiBKYWhyZW4uIEZ1ZXIgbmFoZXp1IGplZGVzIFBQUC9TTElQIG9kZXIKc29uc3R3aWUgZWlud2FlaGxwcm9ncmFtbS4gRnVlciBET1MvV2luZG93cywgTGludXgsIEJTRCBldGMgdW5kIG5hdHVlcmxpY2gKZnVlciBub3JtYWwgTU9ERU0gdW5kIElTRE4uCgpIYXRlLgpQLlMuIFZvcmhlciBtYWwgc3VjaGVuLCBiZXZvciBtYW4gc2ljaCBzb2xjaGUgQXJiZWl0IG1hY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgY29sb3IgeHRlcm0gKE1lc2lyaWksICAzLiBBdWcgMTk5NywgMjM6MDg6NTUpOgpJY2ggc3VjaGUgZWluIGNvbG9yLXh0ZXJtIHp1bSBNdWRkZW4uIFp1aGF1c2UgdW50ZXIgTGludXggaGFiIGljaCB6d2FyIGVpbnMsCmFiZXIgZGFzIGxpZXNzIHNpY2ggdW50ZXIgVWx0cml4L0lSSVggbmljaHQgY29tcGlsaWVyZW4uIFdlbm4gamVhbW5kIApjb21waWxpZXJiYXJlIFNvdXJjZW4gaGF0IG9kZXIgZWluZW4gRlRQIFNlcnZlciBrZW5udCwgd28gaWNoIHNvd2FzIGZpbmRlLApiaXR0ZSBNYWlsIGFuIG1pY2guCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdWNoZSBjb2xvciB4dGVybSAoTWFyY3VzLCAgMy4gQXVnIDE5OTcsIDIzOjEyOjM2KToKfiMhIHJuPU1lc2lyaWkgcnQ9ODcwNjQyNTM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MDY0MjUzNQpEYXMgbWl0Z2VsaWVmZXJ0ZSB4dGVybSB2b24gREVDIFVsdHJpeCBrYW5uIHNjaG9uIEZhcmJlLAp3ZW5uIGljaCBtaWNoIHJldmNodCBlbnRzaW5uZS4KLSBhdWYgSVJJWCBnaWJ0IGVzIHdzaCBiencuIHh3c2guIElzdCBuaWNodCBnYW56IHh0ZXJtIGtvbXBhdGliZWwgYWxsZXJkaW5ncwoKCk1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwYXNzd29yZCBhYmdlbGF1ZmVuIHVudGVyIG50IChGeXQsICA0LiBBdWcgMTk5NywgMTE6MzI6NDUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODcwNDMyNTQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MDMzNjg1MAoKT2NoLCBJY2ggaGFiIGVpbmUsIGRpZSBpc3Qgbm9jaCBkdWVtbWVyOiBJY2ggaGFiIGRhcyBQYXNzd29ydCB2ZXJnZXNzZW4sCmRhIGljaCBkYXMgTlQgbmFjaCBzZXR6ZW4gZWluZXMgbmV1ZW4gQWRtaW4tUGFzc3dvcnRzIG5pZSBtZWhyIGFscyBBZG1pbgpiZW51dHp0IGhhYmUuLi4gVGphLi4uCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiByYW5nZWhhbmdlbmUgRmlsZXMgYmVpIGRlciBtYWlsIChLcmV0ZWssICA0LiBBdWcgMTk5NywgMTI6MzY6MTEpOgp+IyEgcm49SGF0ZSBydD04Njk5OTk2NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCkhtbW0uLi4gRGVyIE1haWxlciBpbSBDb21tdW5pY2F0b3IgKG1pdHRsZXJ3ZWlsZSA0LjAyLCBnbGF1YiBpY2gpIGlzdApkb2NoIGVpZ2VudGxpY2ggZ2FyIG5pY2h0IHVlYmVsLi4uCgpLLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoUXVhc2ltb2RvLCAgNC4gQXVnIDE5OTcsIDE2OjQ2OjM3KToKfiMhIHJuPUtyZXRlayBydD04NzA2OTA5NzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzClNvIHZvbiBkZXIgT2JlcmZsYWVjaGUgaXN0IGRlciBndXQsIGFiZXIgZGVyIEd1dGUgdW50ZXJzdHVldHp0IGtlaW4gUEdQLCB3ZWlsCk5ldHNjYXBlIHZvbGwgYXVmIFMvTWltZSBzZXR6dC4gRGFzIGlzdCBzZWhyIG5lcnZpZy4KClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcmFuZ2VoYW5nZW5lIEZpbGVzIGJlaSBkZXIgbWFpbCAoUmFmZmksICA0LiBBdWcgMTk5NywgMjA6MDc6MzIpOgp+IyEgcm49V3VyemVsIHJ0PTg3MDUzMzQ5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Njk4NTEwNTMKCk5pY2h0IG51ciBLbGVpbnN0d2VpY2hzb2Z0d2FyZSBtYWNodCBiZWkgX3JpY2h0aWdlbl8gRGF0ZW5tZW5nZW4gbmljaHQgbWVocgptaXQsIGF1Y2ggZGllIGdhbnplIGhhcmR3YXJlc3RydWt0dXIgZWluZXMgU3BpZWx6ZXVncmVjaG5lcnMgZ2xlaWNoIHNjaGxhcHAuCk5pY2h0IHVtc29ubnN0IGdpYnRzIGltbWVyIG5vY2ggbmV1aW5zdGFsYXRpb25lbiB2b24gUi8yIChuZWluIGljaCBtYWcgZGFzCmF1Y2ggbmljaHQpIGF1ZiBTSUVNRU5TIG9kZXIgSUJNIGJhc2lzLgoKQXVjaCB3ZW5uIGRpZSBCaWxkemVpdHVuZyAoQ29tcHV0ZXJ3b2NoZSAmIENvKSBzbyB0dXQgYWxzIHdhZXJlbiBkaWUgR3Jvc3NlbgpBbndlbmR1bmdlbiBuaWNodCBtZWhyIHJlbGV2YW50IC0gZGFzIEdlc2NoYWVmdCBzdGlyYnQgbmljaHQgaW0gZ2VnZW50ZWlsIC0gZXMKa29tbWVuIHRhZWdsaWNoIG5ldWUgSGluenUuCgpHcnVzcwpILgooSWNoIGhhYiB3ZW5pZyB6dWt1bmZ0c2FuZ3N0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmlyZXdhbGwgKEJpbmcsICA1LiBBdWcgMTk5NywgMDg6MzY6MDkpOgpJY2ggdmVyc3VjaGUgZ2VyYWRlIGVpbmUgRmlyZXdhbGwgdW50ZXIgTGludXggMiB6dSBpbnN0YWxsaWVyZW4gdW5kIGhhYmUgZGEKZWluaWdlIFByb2JsZW1lIG1pdCBkZW4ga29uZmlndXJhdGlvbmVuLiBTaWUgbWFjaGVuIGVpbmZhY2ggbmljaHQgZGFzIHdhcyBpY2gKZGVua2UgZGFzIHNpZSBlcyBtYWNoZW4gc29sbGVuLgpLYW5uIG1pciBqZW1hbmQgbWFsIGVpbiBzY3JpcHQgbWFpbGVuIGRhbWl0IGljaCBtaXIgbWFsIGVpbmUgZnVua3Rpb25pZXJlbmRlCmFuc2VoZW4ga2Fubj8KCmdydXNzCkJpbmcKKHR1bmljaGd1dEB1c2EubmV0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKFd1cnplbCwgIDUuIEF1ZyAxOTk3LCAxODo0OTowMyk6Cn4jISBybj1SYWZmaSBydD04NzA3MTgwNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCndpciBoYXR0ZW4gbGV0enRlbnMgZWluZSBhbmZyYWdlLCBlaW4gbmV1ZXMgc3lzdGVtIG1pdCBjb2JvbCB1bnRlciBtdnMgbWl0CmFuYmluZHVuZyBhbiByLzIgenUgbWFjaGVuLi4uIGRpbm9zYXVyaWVyIGxlYmVuIG5pY2h0IG51ciBiZWkgc3BpZWxiZXJnIDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyYWdlIHp1IG50IChHdWxkdWthdCwgIDUuIEF1ZyAxOTk3LCAyMjowNjowMSk6CnNhZyBoaQpzbywgYml0dGUgamV0enQga2VpbmVuIHRocmVhZCB1ZWJlciBudCBvZGVyIGxpbnV4LCBzb25kZXJuIG51ciBlcm5zdGdlbWVpbnRlCnp1c2NocmlmdGVuIGJpdHRlIQppY2ggdmVyc2N1aGUgZGllIGFsdGVuIGluZm9jb21zIHVudGVyIG50IGxhdWZlbnp1bGFzc2VuLCBuZSBwaWYtZGF0ZWkgbWl0IG5lcgplaWdlbmVuIGNvbmZpZy5zeXMsIHdvIGRlciBhbnNpIHRyZWliZXIgZHJpbiBpc3QgaXN0IGRhZnVlciBub2V0aWcuIGFiZXIgZGllCmVpbmdhYmVnZXNjaHdpbmRpZ2tlaXQgaXN0IGRhIHZpZWwgenUgbGFobS4ga2FubiBtYW4gZGEgbWl0IG5lbSBhbHRlbiBkb3MKYmVmZWhsIGRpZSBnZXNjaHdpbmdpZGtlaXQgaG9laGVyIHN0ZWxsZW4/CjIuIGZyYWdlOiBkaWUgbmFjaGZvbGdlIGFkdmVudHVyZSB2b24gbGVnZW5kIGhhdHRlbiBzb3VuZCwgZGVyIGdlaHQgdW50ZXIgbnQKc28gbmljaHQuCndpZSBrYW5uIGljaCBkZW4gc291bmQgdXRuZXIgbnQgbWFjaGVuPwp0aGFua3MgaW0gdm9ycmF1cwpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggLSBOdWxsbW9kZW0gLSBQQyAoTHVwdXMsICA1LiBBdWcgMTk5NywgMjM6MDI6MTQpOgpIaWhvIQoKSWNoIGhhYiBlaW4ga2xlaW5lcyBQcm9ibGVtLiBJY2ggd2lsbCB1ZWJlciBlaW4gTnVsbG1vZGVtIGVpbmVuIERPU19SZWNobmVyCnBlciBUZXJtaW5hbHByb2dyYW1tIGFuIG1laW4gTGludXggYW5zY2hsaWVzc2VuLgpEYXMgTG9naW5wcm9tcHQgd2lyZCBhdWNoIGJyYXYgYW5nZXplaWd0LCBpY2gga2FubiBkZW4gbG9naW4gZWluZ2ViZW4uIERhbm4KZnJhZ2UgZXIgbmFjaCBkZW0gUGFzc3dvcnQgdW5kIGFiIGRhIGdlaHQgd2FzIHNjaGllZjogRGFzIFBhc3N3b3J0IHdpcmQgaW0KS2xhcnRleHQgYW5nZXplaWd0LCBpY2ggZHJ1ZWNrZSBlbnRlciB1bmQgbml4IHBhc3NpZXJ0LgpIYXQgd2VyIG5lIEFobnVnbiB3b3JhbiBkYXMgbGllZ2VuIGtvZW5udGU/CgoKS251ZGRlbHMsIEx1cHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1dXIHNlcnZlciBhdWYgcG9ydCA4MCAoR3VsZHVrYXQsICA1LiBBdWcgMTk5NywgMjM6NTc6MTkpOgpub2NoIG5lIGZyYWdlOiBub3JtYWxlcndlaXNlIGthbm4gbWFuIHd3dyBzZXJ2ZXIgYXVmIGRlbSBwb3J0IDgwIHRlbG5ldHRlbiB1bmQKbWl0IEdldCA8cGZhZD4gZGllIFVSTCBiZWtvbW1lbi4gZWluaWdlIHNlcnZlciAoaWNoIGdsYXViZSBTcXVpZCkgbGllZmVybiBhdWYKR0VUIC8gYWJlciBlaW5lIGZlaGxlcm1lbGR1bmc6IGludmFsaWQgcmVxdWVzdC4gd2FzIG11c3MgbWFuIGRvcnQgYW5nZWJlbiwKZGFtaXQgbWFuIGRpZSBzZWl0ZW4gYmVrb21tdD8KdGhhbmtzCmdkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV1dXVyBzZXJ2ZXIgYXVmIHBvcnQgODAgKEFuYWtpbiwgIDYuIEF1ZyAxOTk3LCAwODozMTo1MCk6Cn4jISBybj1HdWxkdWthdCBydD04NzA4MTgyMzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwODE4MjM5CkFlaCwgU3F1aWQgaXN0IGRvY2ggbmVuIFByb3h5IHVuZCBrZWluIFdXVy1TZXJ2ZXIgb2Rlcj8KV2FlcmUgbWlyIG5ldSB3ZW5uIGRlciBkYSBwZXIgR0VUIFNlaXRlbiByYXVzZ2lidC4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV1dXVyBzZXJ2ZXIgYXVmIHBvcnQgODAgKEd1bGR1a2F0LCAgNi4gQXVnIDE5OTcsIDA5OjMzOjM4KToKfiMhIHJuPUFuYWtpbiBydD04NzA4NDkxMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwODE4MjM5CmRhcyBrYW5uIGVzIHNlaW4hIDstKSBkYW5uIG11c3MgbWFuIG5hdHVlcmxpY2ggZG9ydCBkaWUgZ2VzYW10ZSB1cmwgYW5nZWJlbiAuLgpuYWphLCBtYWwgdGVzdGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJUC1NYXNxdWVyYWRpbmcgKEx1cHVzLCAgNi4gQXVnIDE5OTcsIDExOjIyOjMzKToKSGlobyEKCk5hY2hkZW0gaWNoIGluendpc2NoZW4gbWVpbiBQcm9iIG1pdCBkZW0gZ2V0dHkgZ2Vsb2VzdCBoYWJlIGJpbiBpY2gKQW5zcHJ1Y2hzdm9sbGVyIGdld29yZGVuOgpJY2ggaGFiZSBpbnp3aXNjaGVuIGVpbmUgZnVua3Rpb25pZXJlbmRlIFBQUC1WZXJiaW5kdW5nIHp3aXNjaGVuIGRlbQpMaW51eC1Ib3N0IHVuZCBkZW0gV2luMy1DbGllbnQuIEpldHp0IG1vZWNodGUgaWNoIG5vY2ggSVAtTWFzcXVlcmFkaW5nCmFrdGl2aWVyZW4sIGFiZXIgd2VkZXIgZGFzIEhhbmRidWNoIGRlciBTdXNlIDUuMCBub2NoIGRpZSBIT1dUTyBoZWxmZW4Kd2lya2xpY2ggd2VpdGVyLgpLZW5udCBzaWNoIGlyZ2VuZGplbWFuZCBkYW1pdCBhdXMgdW5kIGthbm4gbWlyIGVpbmVuIFRpcCBnZWJlbiwgd2FzIGljaCBpbgovZXRjL3JjLmNvbmZpZyBvZGVyIC9zYmluL2luaXQuZC9tYXNxdWVyYWRlIGFlbmRlcm4gbXVzcywgZGFtaXQgZGFzCk1hc3F1ZXJhZGluZyBmdWVyIGRlbiByZWNobmVyIDE5Mi4xNjguMjU1LjEgYWt0aXZpZXJ0IHdpcmQ/CgpLbnVkZGVscywgTHVwdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndhdjJhdSAoQ2F0d2VhemxlLCAgNi4gQXVnIDE5OTcsIDEyOjIyOjEzKToKV2Vpc3MgamVtYW5kIGVpbiBzY2hpY2tlcyB0b29sIHVtIC53YXYtc291bmRzIGluIC5hdSB1bXp1d2FuZGVsbj8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdhdjJhdSAoTXVwZmVsLCAgNi4gQXVnIDE5OTcsIDEyOjI3OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD04NzA4NjI5MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwODYyOTMzCnNveCA/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElQLU1hc3F1ZXJhZGluZyAoSGF0ZSwgIDYuIEF1ZyAxOTk3LCAxMzoxMzo0Nik6Cn4jISBybj1MdXB1cyBydD04NzA4NTkzNTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcwODU5MzUzCgppcF9tYXNxIGluIGRlbiBrZXJuZWwgZWluY29tcGlsaWVyZW4gdW5kIGRhbm4gZGllIElQIE1BU1EgSE9XVE8gbGVzZW4uIERhCnN0ZWh0IGFsbGVzIGltIERldGFsIGRyaW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHJhbmdlaGFuZ2VuZSBGaWxlcyBiZWkgZGVyIG1haWwgKFJhZmZpLCAgNi4gQXVnIDE5OTcsIDEzOjE4OjI1KToKfiMhIHJuPVd1cnplbCBydD04NzA3OTk3NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODY5ODUxMDUzCkNPQk9MID8gV2lzbyBDb2JvbCB3b3MgZG9jaCBBc3NlbWJsZXIgZ2lidCA6KQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSVAtTWFzcXVlcmFkaW5nIChMdXB1cywgIDYuIEF1ZyAxOTk3LCAxNDoxOTo1Nyk6Cn4jISBybj1IYXRlIHJ0PTg3MDg2NjAyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzA4NTkzNTMKSGFiIGljaCBhbGxlcyBiZWlkZXMgZ2V0YW4sIGRhcyBEaW5nIG9obmUgRW5kZSBzdHVkaWVydCB1bmQgYXVzcHJvYmllcnQgdW5kIGVzCmdpbmcgdW5kIGdlaHQgbmljaHQuIERhcyBpc3QgamEgZGFzIER1bW1lLiA6KAoKTHVwdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YXYyYXUgKFBpbGdyaW0sICA2LiBBdWcgMTk5NywgMTQ6NTU6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3MDg2MjkzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzA4NjI5MzMKRnVlciB3ZWxjaGVzIEJTIC4uLiBVbml4IG9kZXIgV2luRE9PRiAuLi4gYWxzbywgZnVlciBXaW4gZ2lidHMgYmVzdGltbXQKd2FzIC4uLiBpY2ggbXVlc3N0ZSBtYWwgbmFjaHNjaGF1ZW4gLi4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhdjJhdSAoSGF0ZSwgIDYuIEF1ZyAxOTk3LCAxNToxMTozOSk6Cn4jISBybj1QaWxncmltIHJ0PTg3MDg3MjEwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzA4NjI5MzMKQWxzbyBiZWkgbWlyIHp1aGF1c2UgbGFldWZ0IEF1Z3JhcyBSZWNobmVyIHBlciBQUFAgdWViZXIgc2VyaWVsbGUgTGVpdHVuZwphbmdlc2NobG9zc2VuIGFuIG1laW5lbi4gSW50ZXJuZSBJUHMgMTkyLjE2OC4xLjEgKG1laW5lcikgdW5kIDE5Mi4xNjguMS4yCkF1Z3Jhcy4gRXMgZ2VodCB2b24gaWhyZW0gV2luZG93cyAzLjExIFJlY2huZXIgYWxsZXMgYXVzc2VyIGVpbiBwYWFyIGxvZ2lzY2hlCkVpbnNjaHJhZW5rdW5nZW4gZGllIHNpY2ggYXVzIGRlbSBJUCBNYXNxdWVyYWRlIGVyZ2ViZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmdHB0b29sIChSaWt1cywgMTAuIEF1ZyAxOTk3LCAyMzo1NTowMSk6CkhpLAprZW5udCBqZW1hbmQgZWluIGZ0cHRvb2wsIHdlbGNoZXMgcmVrdXJzaXYgVmVyemVpY2huaXNzZSB1ZWJlcnRyYWdlbiBrYW5uCnVuZCBhdXNzZXJkZW0gZGllIE9wdGlvbiBoYXQsIG51ciBORVVFUkUgRmlsZXMgenUgZnRwJ2VuPyBJc3QgZnVlciBlaW5lbgpCZWthbm50ZW4sIGRlciBkaWVzIGdlcm4gZnVlciBXaW45NSBoYWV0dGUsIHp1ciBOT1QgZ2VodCBlcyBiZWkgaWhtIGF1Y2gKdW50ZXIgbGludXguLi4KCkRhbmtlLCBSaWt1cwoKUFM6IHNvbGx0ZSBuYXR1ZXJsaWNoIGtvc3RlbmxvcyBiaXMgYmlsbGlnIHNlaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdHB0b29sIChIYXRlLCAxMS4gQXVnIDE5OTcsIDEwOjU3OjMzKToKfiMhIHJuPVJpa3VzIHJ0PTg3MTI1MDEwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzEyNTAxMDEKTmNGVFAga2FubiBhbGwgZGFzLgpQcm9iaWVyIG1hbCBXU19GVFAgKEFiZXIgZGEgZ2ViIGljaCBrZWluZSBHYXJhbnRpZSkKCjEuIGlzdCBmdWVyIExpbnV4CjIuIEZ1ZXIgQmxpbmQtOTUKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3JkMkhUTUwgKEtyZXRlaywgMTEuIEF1ZyAxOTk3LCAxNDoyMDo1MCk6CkhhbGxvIQoKTWVpbiBTY2hlZmYgd2lsbCBlaW4gcGFhciBzZWluZXIgUHVibGlrYXRpb25lbiBpbnMgTmV0eiBoYWVuZ2VuLiBEYSBpY2ggCmtlaW5lIGdyb3NzZSBMdXN0IGhhYmUsIGFsbGVzIG1pdHRlbHMgVGV4dGVkaXRvciBncm9zc2FydGlnIHVtenViYXVlbiwKc3VjaGUgaWNoIGhpZXIgZWluZW4gbW9lZ2xpY2hzdCBicmF1Y2hiYXJlbiBXb3JkLT5IVE1MIENvbnZlcnRlci4uLgoKS3JldGVLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29yZDJIVE1MIChQaWxncmltLCAxMS4gQXVnIDE5OTcsIDE1OjUzOjA0KToKfiMhIHJuPUtyZXRlayBydD04NzEzMDIwNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcxMzAyMDUwCm1tLAoKV29yZCBJbnRlck5ldEFzc2lzdGFudCAoZ2lidHMgZnVlciBXb3JkNiB1bmQgd29yZCA5NSAtIGRlbmtlIGljaCkgLi4uLgoKUGlsZ3JpbQpQUzogd2llIGd1dCBkZXIgaXN0IHdlaXNzIGljaCBuaWNodCwgaXN0IGFiZXIgZGVyIGVpbnppZ3RlLCBkZW4gaWNoIGtlbm5lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXb3JkMkhUTUwgKEdyaW1tYm9ybiwgMTEuIEF1ZyAxOTk3LCAyMDozNDoyNCk6Cn4jISBybj1QaWxncmltIHJ0PTg3MTMwNzU4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzEzMDIwNTAKSWNoIGtlbm5lIGRlbi4KRGVyIGlzdCBTY2hlaXNzZS4gTWl0IGdyb3NzZW0gIlMiLgpPSywgenVtaW5kZXN0IGRpZSBWZXJzaW9uIHZvbiB2b3IgbmVtIGd1dGVuIEphaHIuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgZW1wZmllaGx0IGRhIGVoZXIgbGF0ZXgyaHRtbC4uLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdHB0b29sIChKaW1kaWdyaXosIDEyLiBBdWcgMTk5NywgMjA6MjI6MzcpOgp+IyEgcm49UmlrdXMgcnQ9ODcxMjUwMTAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MTI1MDEwMQpIb2ksCgp2ZXJzdWNocyBkb2NoIG1hbCBtaXQgIm1pcnJvciIsIGlzdCBnZW5hdQpkYWZ1ZXIgZ2VtYWNodC4KWmIgYXVmIExFTzoge2h0dHA6Ly93d3cubGVvLm9yZ3xmdHA6Ly9mdHAubGVvLm9yZ30KIGluIC9wdWIvY29tcC9uZXR3b3JraW5nL2ZpbGUtdHJhbnNmZXIvdG9vbHMvbWlycm9yCgpDaWFvLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmdHB0b29sIChSaWt1cywgMTIuIEF1ZyAxOTk3LCAyMzo1MzowMyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODcxNDEwMTU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MTI1MDEwMQpkYW5rZSBmdWVyIGRpZSBIaW53ZWlzZSEgSWNoIGhhYmUgbnVuIG5jZnRwIGZ1ZXIgV2luOTUgZ2VmdW5kZW4sIG11c3MgZXMgbnVyCm1vcmdlbiBlcnN0bWFsIHRlc3Rlbiwgb2IgZXMgZnVlciBnZWh0Li4uIExhdXQgQmVzY2hyZWlidW5nIHNvbGwgZXMgamEKcmVrdXJzaXYgdW5kIFRlc3QgZGVyIFRpbWVzdGFtcHMga29lbm5lbi4uLgoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBsdC1EYXRlaW5lbiBhdXNsZXNlbiAoSGFyLCAxMy4gQXVnIDE5OTcsIDA5OjU2OjM0KToKS2FubiBtaXIgamVtYW5kIHNhZ2VuLCBvYiBlcyBlaW5lIE1vZWdsaWNoa2VpdCBnaWJ0LCBhdXMgcGx0LURhdGVpbmVuIChkYXMgaXN0CnNvIGVpbiBQbG90dGVyZm9ybWF0KSBkaWUgZGFyaW4gZW50aGFsdGVuZW4geC0gdW5kIHktV2VydGUgZGVyIGRhcmdlc3RlbGx0ZW4KU3Bla3RyZW4gYXVzenVsZXNlbj8KCgpIYXIgKGJyYXVjaHQgZHJuZ2VuZCBzZWluZSBNZXNzZXdlcnRlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBsdC1EYXRlaW5lbiBhdXNsZXNlbiAoTGFyaXNzYSwgMTMuIEF1ZyAxOTk3LCAxMjowMjoxMCk6Cn4jISBybj1IYXIgcnQ9ODcxNDU4OTk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MTQ1ODk5NApIb2ksCmFsc28gUE9MT1REQVRBIGthbm4gZGFzIG9obmUgcHJvYmxlbWUsIGljaCBoYXR0ZSBkYXMgZ2xlaWNoZSBGb3JtYXQgaW4gbWVpbmVyCkRpcGxvbWFyYmVpdC4gQmVzdGltbXQga29lbm5lbiBkYXMgYWJlciBhdWNoIGFuZGVyZSBQbG90LXByb2dyYW1tZSBkaWUgZXMKenVsYXNzZW4gZGllIC5wbHQtZmlsZXMgZWluenVsZXNlbiB1bmQgenUgYmVhcmJlaXRlbi4KTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldHp3ZXJrZHJ1Y2tlciB3aW5kb29mIG50IChHdWxkdWthdCwgMTUuIEF1ZyAxOTk3LCAxODoyNTo0Mik6CkhpLCBpY2ggbW9lY2h0ZSB1bnRlciBOVCB2b24gZWluZW0gRG9zIHByb2dyYW1tIGF1ZiBlaW5lbSBhbmRlcmVuIGNvbXB1dGVyCnVudGVyIG50IGF1ZiBlaW5lbSBuZXR6ZHJ1Y2tlciBkcnVja2VuLCBiZWtvbW1lIGFiZXIgaW1tZGVyIG51cjoKLS0+IHR5cGUgYXV0b2V4ZWMuYmF0ID5scHQyCkthbm4gYXVmIGRlbSBHZXJhZXQgbmljaHQgenVncmVpZmVuCgpscHQyIGlzdCBkZXIgZHJ1Y2tlciwgZGVyIHViZXIgbnQgdmVyYnVuZGVuIGlzdCwgbnQgcHJvZ3JhbW1lIGtvZW5uZW4gYXVmIGxwdDIKZHJ1Y2tlbgo/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmV0endlcmtkcnVja2VyIHdpbmRvb2YgbnQgKERlbnRpLCAxNS4gQXVnIDE5OTcsIDIxOjE0OjQ3KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg3MTY2MjM0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzE2NjIzNDIKCldlbm4gRHUgdm9uIG5lbSBEb3MtUHJvZyBkcnVja2VuIHdpbGxzdCwgc29sbHRlc3QgRHUgdm9yaGVyIG1hY2hlbjoKCm5ldCB1c2UgbHB0MiBcXHJlY2huZXJccXVldWUKClNvIHdlaXQgaWNoIHdlaXNzLCB3aXJkIGVpbiBOZXR6ZHJ1Y2tlciBuaWNodCBhdXRvbWF0aXNjaCBtaXQgbmVtIGxwdAp2ZXJrbnVlcGZ0LCBlcyBnaW5nZSBuYXR1ZXJsaWNoIGF1Y2ggYW5kZXJzLCB3ZW5uIGR1IG51ciBuZSBkYXRlaQpkcnVja2VuIHdpbGxzdCwgZGFubiBnaW5nIGFscyBzaW1wZWxzdGVzIGNvcHkgYXV0b2V4ZWMuYmF0IHBybiwgCgpjb3B5IGF1dG9leGVjLmJhdCBscHR4CmNvcHkgYXV0b2V4ZWMuYmF0IFxccmVjaG5lclxxdWV1ZQoKV2VubiBEdSBuYWNoIGxwdHgga29waWVyc3QsIG11c3N0IER1IHZvcmhlciB3aWVkZXIgCm5ldCB1c2UgbHB0eCBcXHJlY2huZXJccXVldWUgbWFjaGVuCgpEZW50aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIHByYWt0aXNjaGUgVGlwIGRlcyBUYWdlczogKEdyaW1tYm9ybiwgMjAuIEF1ZyAxOTk3LCAyMDoxNzo1OSk6Ck1hbiBzb2xsdGUgbmllbWFscyBiZWkgTGludXggdW50ZXIgL2JpbiBhbGxlIGZpbGVzIGxvZXNjaGVuLiAKQXVjaCBlaW4gY2htb2QsIHNvIGRhc3MgZGllIGV4ZWN1dGlvbi1SZWNodGUgd2VnIHNpbmQgaXN0IG5pY2h0IHNvIGd1ZW5zdGlnLAp6dW1hbCBjaG1vZCBpLmEuIC9iaW4vY2htb2QgaXN0LiBJc3QgZWluZSB6aWVtbGljaGUgRnVtbWVsZWksIG9obmUgVHJpY2tzLApkYWZ1ZXIgbWl0IEdlZmx1Y2hlLCBib290ZGlza3MgdW5kIERpc2tldHRlbnNjaGxlcHBlbi4gTmljaHQga29taXNjaC4uLgoKR3JpbW1ib3JuIGRlciBEZXBwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVyIHByYWt0aXNjaGUgVGlwIGRlcyBUYWdlczogKFlhcmVuLCAyMC4gQXVnIDE5OTcsIDIxOjQzOjU5KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NzIxMDEwNzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcyMTAxMDc5CipncmlucyoKClVuZCBtYW4gc29sbHRlIGF1Y2ggbmllIHZlcnN1Y2hlbiwgZWluZSBsaWJjIHVudGVyIC9saWIgdW16dWxpbmtlbjsgZXJzdCBMaW5rCmxvZXNjaGVuIHVuZCBkYW5uIGRlbiBuZXVlIG1pdCAnbG4gLXMnIGVpbnJpY2h0ZW4gLi4uIE9vb3BzIHdhcyBpc3QgZGVubiBkYXM/CidsaWJjLnNvIG5vdCBmb3VuZCc/IEFSR0whIAoKWWFyZW4uIEhhdHRlIHp1bSBHbHVlY2sgJ25lIEJvb3RkaXNrZXR0ZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgcHJha3Rpc2NoZSBUaXAgZGVzIFRhZ2VzOiAoS3JldGVrLCAyMS4gQXVnIDE5OTcsIDE1OjAzOjU4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NzIxMDEwNzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcyMTAxMDc5CioqbGFjaCoqIERhbmtlISA6LSkgVWVicmlnZW5zLCBlaW4gdW1vdW50IHZvbiAvYmluLCBkYXMgYXVmIGVpbmVyIGV4dHJhClBhcnRpdGlvbiBsaWVndCwgaW0gU3RhcnRza3JpcHQgaXN0IGF1Y2ggbmljaHQgc28gc2lubnZvbGwsIGRhIHNpY2ggYXVjaAptb3VudCBpLmQuUi4gdW50ZXIgL2JpbiBiZWZpbmRldC4uLgoKS3JldGVLIChoYXQncyBhdWNoIHNjaG9uIGdldGVzdGV0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXIgcHJha3Rpc2NoZSBUaXAgZGVzIFRhZ2VzOiAoQXNtb2RpcywgMjEuIEF1ZyAxOTk3LCAxNToyMzo1Myk6Cn4jISBybj1LcmV0ZWsgcnQ9ODcyMTY4NjM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MjEwMTA3OQpXYXMgc3RlaHQgZWlnZW50bGljaCB1bnRlciAvYmluL3dlZyA/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciBwcmFrdGlzY2hlIFRpcCBkZXMgVGFnZXM6IChLcmV0ZWssIDIxLiBBdWcgMTk5NywgMTU6MzM6MDYpOgp+IyEgcm49QXNtb2RpcyBydD04NzIxNjk4MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcyMTAxMDc5CktlaW5lIEFobnVuZywgZGFzIHdhciBpcmdlbmRzbyduIFRvb2wgdm9uIFRlZWZyb3NjaC4uLgoKS3JldGVLCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERlciBwcmFrdGlzY2hlIFRpcCBkZXMgVGFnZXM6IChKaW1kaWdyaXosIDIyLiBBdWcgMTk5NywgMDI6MTE6NTEpOgp+IyEgcm49S3JldGVrIHJ0PTg3MjE2ODYzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzIxMDEwNzkKSGFpLAoKSG1tIGRhcyBrb21tdCBtaXIgZWhybGljaCBnZXNhZ3Qga29taXNjaCB2b3IsCndlbm4gZGVyIG1vdW50IGJlZmVobCBuaWNodCBhdWYgZGVyIC8tUGFydGl0aW9uIGlzdC4KV2llIHNvbGwgZGVubiBkYW5uIGRpZXNlIFBhcnRpdGlvbiBuYWNoIGRlbSBib290ZW4gCmdlbW91bnRlZCB3ZXJkZW4gPyAqa3JhdHogYW0gS29wcCoKS29lbm50ZSBhYmVyIHNlaW4gZGFzcyBlcyBnZWh0Li4uIGljaCBlcmlubmVyIG1pY2gKZHVua2VsIGRhc3MgekIgYmVpIEhwU1VYIC9zdGFuZCBhbHNvIGVpZ2VuZSAKUGFydGl0aW9uIGFiZXIgZGllIGJvb3QtUGFydGl0aW9uIGlzdCB1bmQgYXVjaCBkZW4KS2VybmVsIGVudGhhZWx0LCBrYW5uIGFiZXIgc2VpbiwgZGFzcyBtb3VudCBkYW5uIGF1Y2ggCmRhIGRyaW5uZSB2b3JoYW5kZW4gaXMuLi4KYWxzbyB3aXJkcyBzY2hvbiBpcmdlbmR3aWUgZ2VoZW4uLi4KSW4gamVkZW0gRmFsbCB3YWVyZSBzbyBlaW4gTWlzc2dlc2NoaWNrIG5pY2h0IHNvCmZhdGFsLCB3ZWlsIGVzIGR1cmNoIGVpbmVuIHJlYm9vdCBiZWhvYmVuIHdlcmRlbiBrYW5uCmltIEdlZ2Vuc2F0eiB6dSBkZW4gYW5kZXJlbiBnZXNjaGlsZGVydGVuIApEdW1taGVpdGVuIDstKQoKKnN1ZWx6Ki4uLgoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuYW1lc2VydmVyIHVudGVyIGxpbnV4IGVpbnJpY2h0ZW4gKEJpbmcsIDIyLiBBdWcgMTk5NywgMTY6MjI6MDQpOgpoaSwKa2FubiBtaXIgbWFsIGplbWFuZCBhdWYgZGllIHNjaG5lbGxlIG1pdHRlaWxlbiB3aWUgbWFuIGVpbmVuIG5hbWVzZXJ2ZXIKaW5zdGFsbGllcnQgdW5kIHdlbGNoZSBkYXRlaWVuIG1hbiBkYWZ1ZXIgYWVuZGVybiBtdXNzPyEKZ3J1c3MgYmluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5hbWVzZXJ2ZXIgdW50ZXIgbGludXggZWlucmljaHRlbiAoSmltZGlncml6LCAyNC4gQXVnIDE5OTcsIDIzOjM0OjA3KToKfiMhIHJuPUJpbmcgcnQ9ODcyMjU5NzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MjI1OTcyNApNb2luLAoKQWxzbyBnYW56IGt1cno6IFNvZ2FyIExvc2l4IHNvbGx0ZSBlaW5lbiBOYW1lc2VydmVyCm1pdGxpZWZlcm4sIGVyIGlzdCBudXIgc3RhbmRhcmRtYWVzc2lnIG5pY2h0IGFrdGl2LgpVbSBkZW4gTmFtZXNlcnZlciAoQklORCkgenUgYWt0aXZpZXJuIG11c3MgaWRSCmRpZSBEYXRlaSAvZXRjL25hbWVkLmJvb3QgZXhpc2l0aWVyZW4uCgpEaWUgS29uZmlndXJhdGlvbiB1bmQgUGZsZWdlIGVpbmVzIG5hbWVkIGlzdCBJTUhPCm5pY2h0dHJpdmlhbCwgYWxzbyBzbyBtaXQgJ2F1ZiBkaWUgc2NobmVsbGUnIHVuZCBzbwp3aXJkIGRhIG5pY2h0IHNvdmllbCBlcmZvbGdyZWljaCB6dSBtYWNoZW4gc2Vpbi4KRXMgZ2lidCBhYmVyIGR1cmNoYXVzIGF1c2Z1ZXJobGljaGUgTGl0ZXJhdHVyCnVlYmVyIEJJTkQuIFVlYnJpZ2Vucywgdm9yIGVpbmlnZW4gVGFnZW4gZXJzdAp3dXJkZSBlaW5lIG5ldWUgVmVyc2lvbiBSZWxlYXNlZCAoYmlzaGVyIDQuOS41IG9kZXIgc28pCgpDaWFvLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2luZG9vZi1yZWdpc3RyeSAoR3VsZHVrYXQsIDI3LiBBdWcgMTk5NywgMTY6Mzc6MDEpOgpIaSwgdW50ZXIgd2luZG9vZiBnaWJ0cyBpbiBkZXIgcmVnaXN0cnkgZWluCmVpbnRyYWcsIGRhbWl0IGVyIGJlaW0gZXJzdGVsbGVuIHZvbiB2ZXJrbnVlcGZ1bmdlbgpuaWNodCBpbW1lciAidmVya251ZXBmdW5nIG1pdCIgZGF2b3Igc2NocmVpYnQuCndlaXNzIGplbWFuZCwgd2llIGRlciBoZWlzc3Q/CnRobngKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hYy4gKFJhZmZpLCAyOC4gQXVnIDE5OTcsIDIxOjU5OjM1KToKCkljaCBzdWNoZSBub2NoIGVpbmVuIF9HVUVOU1RJR0VOXyA2ODA0MCBNYWMuIHouQi4gZWluZW4gNjMwZXIsIG9kZXIgc28uCgpFciBzb2xsIGZ1ZXIgTWVpbmUgTXV0dGVyIHNlaW4sIGFsc28gYml0dGUga2VpbmUgTGludXggb2RlciBnYXIgV2luZG9vZgpFbXBmZWhsdW5nZW4gOikKCkdydXNzCkguClAuUy46IEFjaCBqYSwgd2VubiBtaXIgbmF0dWVybGljaCBqZW1hbmQgbmVuIFBvd2VybWFjIDMwMC82NC8xMiBzY2hlbmsgbmltbQppY2ggZGVuIGF1Y2ggZ2VybmUgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2luZG9vZi1yZWdpc3RyeSAoUGFrZSwgMzAuIEF1ZyAxOTk3LCAwMDoxNTo1MSk6Cn4jISBybj1HdWxkdWthdCBydD04NzI2OTI2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcyNjkyNjIxCkhvbCBkaXIgbWFsIGFtIGJlc3RlbiAiVHdlYWtVSSIuCkRhcyBrYW5uIERpciBlaW4gcGFhciBuZXR0ZSBFaW5zdGVsbHVuZ2VuIGFibmVobWVuLCB3aWUgekIgZGFzIG1pdCBkZW4KVmVya251ZXBmdW5nZW4sIG9kZXIgZGFzIFdlZ2xhc3NlbiBkZXMgV2luU3RhcnRMb2dvcywgb2RlciBhdWNoIGRhcyBBdWZaT09NRU4KZGVyIEZlbnN0ZXIuLi4KSWNoIHdlaXNzIGFsbGVyZGluZ3MgbmljaHQsIHdvaGVyIG1hbiBkYXMgYmVrb21tZW4ga2FubiAoaWNoIGhhYmUgZXMgdm9uIG5lbQpGcmV1bmQpLCBlcyBpc3QgYWJlciB6aWVtbGljaCBrbGVpbi4uLgpBY2ggamEsIGVzIGlzdCBCZXN0YW5kdGVpbCBkZXIgUG93ZXJ0b29scyAoZGFyaW4gZ2lidCBlcyBhdWNoIG5lIG5ldHRlCngtd2luZG93cy1TaW11bGF0aW9uIDopLi4uCkZhbGxzIER1IGVzIGltIEludGVybmV0IG5pY2h0IGZpbmRlc3QsIGthbm5zdCBEdSBtaXIgamEgbWFsIHNjaHJlaWJlbiwgdW5kIGljaApzY2hpY2tlIGVzIERpciAoMjAxIEtCKS4KClBha2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldHNjYXBlIG1pbWUtdHlwZXMgKEd1bGR1a2F0LCAzMC4gQXVnIDE5OTcsIDE4OjU4OjMyKToKSGksIGVpbiBwcm9ibGVtIG1pdCBuZXRzY2FwZQoKaWNoIG1vZWNodGUsIGRhc3MgYmVpbSBhbmtsaWNrZW4gdm9uIC5tcDMgZmlsZXMgZGVyIGVudHNwcmVjaGVuZGUKbXBlZyBwbGF5ZXIgZ2VzdGFydGV0IHdpcmQuIG5ldHNjYXBlIGFudHdvcnRldCBhbGxlcmRpbmdzIG51cgptaXQgZGVtIGVudHNwcmVjaGVuZGVuIHNhdmUtYXMgZmVuc3Rlci4gYXVjaCBlaW4gZWlucmljaHRlbgplaW5lcyBuZXVlbiBtaW1lL3R5cGVzIGZ1ZXIgZGllIGV4dGVuc2lvbiBtcDMgZXJnaWJ0IG51ciBkYXMKc2F2ZS1hcyBmZW5zdGVyLgoKYXVjaCBkYXMgaGluenVmdWVnZW4gZGVyIGV4dGVuc3Rpb24genUgZWluZW0gYmVrYW5udGVuIG1pbWUKdHlwZSBicmluZ3Qga2VpbiBlcmZvbGcuCgp3YXMgbWFjaGUgaWNoIGZhbHNjaD8KCkdECgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYWdlIChMdWcsIDMwLiBBdWcgMTk5NywgMjA6NDA6NTEpOgpNb2luLAoKa2VubnQgZWluZXIgZGFzIFByb2JsZW0/IEljaCBzY2hhZmZlIGVzIG1pdCBtZWluZW0gTW9kZW0gKENyZWF0aXggMTQ0IFZGKSB1bmQKV2luOTUgKG11c3Mgc2VpbikgYXVmIG1laW5lbiBTZXJ2ZXIgenUga29tbWVuLCBhYmVyIG1pdCBUZWxuZXQgZXJzY2hlaW50IGltbWVyCm51ciBkaWUgZXJzdGUgVW5peCBaZWlsZSBkZXMgU2VydmVycyB1bmQgTmV0c2NhcGUgcGFja3QgYXVjaCBuaWNodCBtZWhyIGFscwpkaWUgSG9tZXBhZ2UuIEFscyBvYiBpcmdlbmR3YXMgdm9sbCB3YWVyZT8gS2VpbmUgQWhudW5nLiBIaWxmZT8KCkdlZnJ1c3RldApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2luZG9vZi1yZWdpc3RyeSAoQ2F1bm8sICAxLiBTZXAgMTk5NywgMTM6MzQ6MDYpOgp+IyEgcm49UGFrZSBydD04NzI4OTI5NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODcyNjkyNjIxCldlZ2xhc3NlbiBkZXMgV2luU3RhcnRMb2dvcz8KCndpbiA6IChqZWRlbmZhbGxzIGJlaSBXaW4gMy4xeCkKCkRhIGdpYnRzIGVpbiBCdWNoIG1pdCBnYW56ZW4gNjY2IHNvbGNoZW4gKHVuZCBhdWZ3ZW5kaWdlcmVuKSBUcmlja3MuCldlaXNzIGFsbGVyZGluZyBuaWNodCwgb2IgZGFzIG5jaCBnZWRydWNrdCB3aXJkIC4uLgoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpbmRvb2YtcmVnaXN0cnkgKEhpZ2hsYW5kZXIsICAxLiBTZXAgMTk5NywgMTM6Mzg6MzApOgp+IyEgcm49Q2F1bm8gcnQ9ODczMTEzNjQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MjY5MjYyMQpCZWkgVzk1IGluIG1zZG9zLnN5cyB1bnRlciBvcHRpb25zIGxvZ289MCBlaW50cmFnZW4KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm15c3RpcXVlIHByb2JsZW0gKEd1bGR1a2F0LCAgMS4gU2VwIDE5OTcsIDIyOjI3OjUxKToKSWNoIGhhYiBtZWluZW4gYWx0ZW4gUmVjaG5lciAoNDg2KSBldHdhcyBhdWZnZXJ1ZXN0ZXQ6IG5ldWVzIG11dHRlcmJyZXR0LCBLNgp1bmQgbmUgTXlzdGlxdWUuIERlciBNb25pdG9yIGlzdCBub2NoIGRlciBhbHRlLCBlaW4gZ29sZHN0YXIgX25pY2h0XwptdWx0aXN5bmMuIHVudGVyIHdpbmRvb2Ygc3RlbGx0IGRlciBncmFmaWt0cmVpYmVyIGF1dG9tYXRpc2NoIGRpZSBvcHRpbWFsZQpiaWxkd2lkZXJob2xmcmVxdWVueiBlaW4sIGxlaWRlciB6dXZpZWwgZnVlciBkZW4gbW9uaXRvciwgc28gZGFzcyBpY2ggamV0enQKbnVyIGRpZSB2Z2EgYXVmbG9lc3VuZyBmYWhyZW4ga2Fubi4gd2Vpc3MgamVtYW5kLCB3aWUgbWFuIGRpZSBmcmVxdWVuegpoZXJhYnNldHplbiBrYW5uPwpnZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG15c3RpcXVlIHByb2JsZW0gKEJsb29keWhhcnJ5LCAgMS4gU2VwIDE5OTcsIDIyOjMzOjAyKToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg3MzE0NTY3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzMxNDU2NzEKRGEgU3VzaGkgZ2VyYWRlIG5pY2ggZGEgaXMsIHVlYmVybmVobWUgaWNoIG1hbCBkaWUgQW50d29ydDoKCiBJbnN0YWxsaWVyZSBlbmRsaWNoIExpbnV4ISEKCgplaW4gZ3JpbnNlbmRlcgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBteXN0aXF1ZSBwcm9ibGVtIChHdWxkdWthdCwgIDEuIFNlcCAxOTk3LCAyMjozNDozNyk6Cn4jISBybj1CbG9vZHloYXJyeSBydD04NzMxNDU5ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczMTQ1NjcxCmhlaGUsIGRhbmtlIGZ1ZXIgZGVuIHRpcCwgZ2VuYXUgZGFzIHBhc3NpZXJ0IHp1ciB6ZWl0LgphbGxlcmRpbmdzIGJlbm9ldGlndCBtYW4gZnVlciBjb21tYW5kIHVuZCBjb25xdWVyIDIgd2luZG9vZiwgdW0gZGFzIGltIHN2Z2EgenUKc3BpZWxlbiwgdW5kIGRhcyBnZWh0IGF1ZmdydW5kIGRlcyB2b3JsZXR6dGVuIGFydGlrZWxzIG5pY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbXlzdGlxdWUgcHJvYmxlbSAoQmxvb2R5aGFycnksICAxLiBTZXAgMTk5NywgMjI6MzY6MTkpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODczMTQ2MDc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzE0NTY3MQoKRWluIEdydW5kIGZ1ZXIgbWljaCBDQzIgbmljaHQgenUgc3BpZWxlbi4gRWNodCEKCmJoCnNwaWVsdCBpbW1lciB3ZW5pZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBteXN0aXF1ZSBwcm9ibGVtIChHdWxkdWthdCwgIDEuIFNlcCAxOTk3LCAyMjozNjozOSk6Cn4jISBybj1HdWxkdWthdCBydD04NzMxNDYwNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczMTQ1NjcxCkRpZSBncmFmaWthcnRlIGthbm4gZGFzLCBkZW5uIHdhcmNyYWZ0IDIgKHVudGVyIGRvcykgbWFjaHQgc2llIGhlcnZvcnJhZ2VuZAppbmQgU1ZHQSBtaXQgbmljaHQgYWx6dSBob2hlciBmcmVxdWVuei4KZ3V0LCBkaWUgYWx0ZXJuYXRpdmUgd2FlcmUgZWluIG5ldWVyIG1vbml0b3IsIGFiZXIgZGFzIGlzdCBtZWluIHp3ZWl0cmVjaG5lciwKZGVtIHNvbGx0ZSBlaW4gMTQgem9sbGVyIGF1c3JlaWNoZW4gKHp1bSB6b2NrZW4sIGFscyBzZXJ2ZXIgZXRjKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG15c3RpcXVlIHByb2JsZW0gKFBha2UsICAxLiBTZXAgMTk5NywgMjM6NTM6NTkpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODczMTQ1NjcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzE0NTY3MQpIYWxsbywgd2llIHdhZXJlIGVzIGRhbWl0OgpJbiBTeXN0ZW1zdGV1ZXJ1bmcgLT4gQW56ZWlnZSAtPiBFaW5zdGVsbHVuZ2VuIC0+IEVyd2VpdGVydCBrYW5uIG1hbiBkaWUKb3B0aW1hbGUgQmlsZHNjaHJpbWZyZXF1ZW56IGF1c3NjaGFsdGVuLi4uCkFuc29uc3RlbiBtdWVzc3RlIGJlaSBkZWluZXIgR3JhZmlra2FydGUgZWluIFByb2dyYW1tIG1pdGdlbGllZmVydCB3b3JkZW4Kc2VpbiwgbWl0IGRlbSBEdSBkaWUgUmVmcmVzaHJhdGVuIHNlbGJzdCBlaW5zdGVsbGVuIGthbm5zdC4uLgpEdSBzb2xsdGVzdCBhdWVyZGVtIHVuYmVkaW5ndCBkZW4gTW9uaXRvciBpbiBXaW5kb29mIGVpbnJpY2h0ZW4sIGRhbWl0IFdpbmRvb2YKZXJrZW5udCwgZGEgZGVyIG5pY2h0IHNvIGhvaGUgUmF0ZW4gdmVydHJhZWd0LgpWaWVsIEdsdWVjayEKClBha2UsIGJlaSBkZW0gV2luZG9vZiBuYWNoIGRlciAyMC4gTmV1aW5zdGFsbGF0aW9uIHNjaG9uIDIgV29jaGVuIGFic3R1cnpmcmVpCmxhdWZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBteXN0aXF1ZSBwcm9ibGVtIChHcmltbWJvcm4sICAyLiBTZXAgMTk5NywgMDE6MDQ6NDUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODczMTQ2MTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzE0NTY3MQpIbW0sIHdhciBkYSBuaWNodCB3YXMsIGRhc3MgZGllIGRvc2VtdSAodW50ZXIgTGludXgpIHNvd2FzIGthbm4/IEhhYiBkYXMgbmljaHQKZ2VuYXUgaW0gS29wZiwgaXN0IHNjaG9uIGxhZW5nZXIgaGVyLCBkYXNzIGljaCBkYSBtYWwgcmVpbmdlc2NoYXV0IGhhdHRlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbXlzdGlxdWUgcHJvYmxlbSAoR3VsZHVrYXQsICAyLiBTZXAgMTk5NywgMDk6NTY6NDApOgp+IyEgcm49UGFrZSBydD04NzMxNTA4Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczMTQ1NjcxCmdlbmF1IGRhcyBoYWIgaWNoIGRvY2ggZ2VtYWNodCwgYWJlciBkaWUgZXIgYmVudXR6dCBhbmRhdWVybnQgZWluZSB6dSBob2hlCmZyZXF1ZW56LCBvYndvaGwgZGVyIG1vbml0b3IgaWhtIGJla2FubnQgaXN0IHVuZCBlciB3aXNzZW4gc29sbHRlLCBkYXNzIGVyCmV0d2FzIHJ1bnRlcmdlaGVuIG11c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBteXN0aXF1ZSBwcm9ibGVtIChSYWZmaSwgIDIuIFNlcCAxOTk3LCAxMjo1NTowMCk6Cn4jISBybj1HdWxkdWthdCBydD04NzMxNDYxOTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczMTQ1NjcxCkhhZSA/CgpadW0gWm9ja2VuIG11c3MgZXMgbWluZGVzdGVucyBlaW4gMTdlciBzZWluIC4uLi4genVtIEFyYmVpdGVuIHJlaWNodCBlaW4gMTRlci4KCkdydXNzCkguCihEZXN3ZWdlbiBoYWIgaWNoIG1pciBqYSBqZXR6dCBuZW4gMTdlciBhdWYgQXJiZWl0IGdlc3RlbGx0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG15c3RpcXVlIHByb2JsZW0gKFF1YXNpbW9kbywgIDMuIFNlcCAxOTk3LCAwMzowODowMik6Cn4jISBybj1QYWtlIHJ0PTg3MzE1MDgzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzMxNDU2NzEKV2llPyBJY2ggbXVzcyBub2NoIDUgbWFsIHJhbj8/CgpxdWFzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVEYgRXhwZXJ0ZW4gdm9ydHJldGVuOiAoSGF0ZSwgIDQuIFNlcCAxOTk3LCAxNjo1MDo0Nyk6CgpIaSwKCmljaCBoYWJlIGZvbGdlbmRlIGtsZWluZW4gUHJvYmxlbWU6CgphKSBXaWUga2FubiBpY2ggZWluZSBXZWx0IGRla2xhcmllcmVuLCBkaWUgX2tlaW5lXyBWZXJiaW5kdW5nIGlyZ2VuZHdvaGluCmF1Zm1hY2h0IHNvbmRlcm4gZWluZmFjaCBlaW4gcHJvZ3JhbW0gc3RhcnRldCB1bmQgZGllIGVpbi9hdXNnYWJlIHVlYmVyCnRmIGxhZXVmdAoKYikgaWNoIHdvbGx0ZSBlaW5lbiBuYW1lbiBkZWtsYXJpZXJlbiAvc2V0IG5hbWU9W0hoXWF0ZSB1bmQgZGllc2VuIGRhbm4KaW4gZWluZW0gdHJpZ2dlciBmdWVyIEZhcmJ1bnRlcmxlZ3VuZyBiZW51dHplbiwgYWJlciBkYXMgZnVua3Rpb25pZXJ0IG5pY2h0LgoKSGlud2Vpc2U/CgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRGIEV4cGVydGVuIHZvcnRyZXRlbjogKFJpbmdvciwgIDQuIFNlcCAxOTk3LCAyMTo0MzoyMyk6Cn4jISBybj1IYXRlIHJ0PTg3MzM4NDY0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzMzODQ2NDcKSGlobyEKClp1IGEpIHdlbm4gRHUgd2Vpc3N0LCB3aWUgZXMgZ2VodCwgc2FnIGJlc2NoZWlkLiBTb3dhcyBzdWNoZSBpY2ggc2Nob24gbmUKV2VpbGUgOy0pCgpadSBiKSBzb2Zlcm4gRHUgZGVuIE5hbWVuIHNjaG9uIHZvciBEZWZpbml0aW9uIGRlcyBUcmlnZ2VycyBnZXNldHp0IGhhc3QsIGlzdAplcyBrZWluIFByb2JsZW0uIEVpbmZhY2ggL2V2YWwgL2RlZiAtYUM8ZmFyYmU+IC1tcmVnZXhwIC10JyVuYW1lJy4gV2VubiBEdSBkZW4KTmFtZW4sIGF1ZiBkZW4gRHUgdHJpZ2dlcm4gd2lsbHN0LCBhbGxlcmRpbmdzIHN0YWVuZGlnIHdlY2hzZWxuIHdpbGxzdCwgd2lyZHMKa29tcGxpemllcnRlci4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRGIEV4cGVydGVuIHZvcnRyZXRlbjogKFlhcmVuLCAgNC4gU2VwIDE5OTcsIDIxOjUwOjM1KToKfiMhIHJuPUhhdGUgcnQ9ODczMzg0NjQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzM4NDY0Nwp6dSBhKTogU2NocmVpYicgZG9jaCBpbiBEZWluZW0gUHJvZ3JhbW0gZWluIE1vZHVsLCB3YXMgZGllIEVpbi0vQXVzZ2FiZSB1ZWJlcgplaW5lIFNvY2tldCBtYWNodCwgZGFubiBrYW5uIFRGIGRhenUgZWluZSBWZXJiaW5kdW5nIGF1Zm1hY2hlbi4gQmVpc3BpZWxjb2RlCmZ1ZXIgU29ja2V0cHJvZ3JhbW1pZXJ1bmcga2FubiBpY2ggRGlyIGdlcm5lIHNjaGlja2VuLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZlczLjExIChMYXJpc3NhLCAgNS4gU2VwIDE5OTcsIDA4OjU4OjM2KToKSG9pLAoKaWNoIGJyYWV1Y2h0ZSBiaXR0ZSBhdWNoIG1hbCBuZW4gVGlwIDopCgoKSWNoIGhhYiBoaWVyIG5lbiBXaW5kb29mIDMuMTEgUmVjaG5lciwgd28gaXJnZW5kd2FubiBtYWwgaXJnZW5kd2VyIGVpbgpQYXNzd29ydCBhdWYgZGVuIEJpbGRzY2hpcm1zY2hvbmVyIGdlbGVndCBoYXQsIGVzIGlzdCB6d2FyIG5pY2h0IGFrdGl2aWVydCwKYWJlciBhZW5kZXJuIGthbm4gbWFuIGVzIG5pY2h0IG9obmUgZGFzIGFsdGUgenUga2VubmVuLCBlcyBoaWxmdCBhdWNoIG5pY2h0CmRpZSBCaWxkc2NoaXJtc2Nob25lciBuZXUgenUgaW5zdGFsbGllcmVuLiAKCkFueSBpZGVhPwoKRGFua2UsIExhcmk6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBURiBFeHBlcnRlbiB2b3J0cmV0ZW46IChIYXRlLCAgNS4gU2VwIDE5OTcsIDA5OjM4OjAwKToKfiMhIHJuPVlhcmVuIHJ0PTg3MzQwMjYzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzMzODQ2NDcKRGFzIG51ZXR6dCBtaXIgaGVyemxpY2ggd2VuaWcuIERhcyBQcm9ncmFtbSwgd2FzIGRhIHN0YXJ0ZW4gc29sbCBpc3QgbmFlbWxpY2gKbmljaHQgZWluIHNlbGJzdGdlc2NocmllYmVuZXMuIEVzIHNvbGx0ZSBURiBkb2NoIG1vZWdsaWNoIHNlaW4sIGFuc3RhdHQKdWViZXIgZGllIFNvY2tldHMgdWViZXIgZGllIEkvTyBTdHJlYW1zIHZvbiBQcm9ncmFtbWVuIHp1IGFyYmVpdGVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZlczLjExIChNb3Jnb3RoLCAgNS4gU2VwIDE5OTcsIDA5OjM5OjI5KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODczNDQyNzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzQ0MjcxNgpLbGFyLCBzY2hhdSBkaXIgZGllIHN5c3RlbS5pbmkgYnp3LiB3aW4uaW5pIGFuLiBEYSBzdGVodCBpcmdlbmR3byBlaW4KYWJzY2huaXR0IHp1bSBiaWxkc2NoaXJtc2Nob25lciBkcmluLiBEb3J0IGZpbmRlc3QgZHUgYXVjaCBkYXMgdmVyc2NobHVlc3NlbHRlCnBhc3N3b3J0LiBsb2VzY2ggZWluZmFjaCBkaWUgemVpbGUsIGRhbm4gc29sbHRlIGVzIHdpZWRlciBvayBzZWluLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZlczLjExIChCb2ViYmVsLCAgNS4gU2VwIDE5OTcsIDIxOjIxOjMzKToKfiMhIHJuPU1vcmdvdGggcnQ9ODczNDQ1MTY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzQ0MjcxNgoKTm9lLi4uIERhcyBQYXNzd29ydCBzdGVodCBpbiBkZXIgY29udHJvbC5pbmkhISEKCkVpbiBCb2ViYmVsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVEYgRXhwZXJ0ZW4gdm9ydHJldGVuOiAoVHlsYWssICA4LiBTZXAgMTk5NywgMTg6MTA6MzYpOgp+IyEgcm49SGF0ZSBydD04NzMzODQ2NDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczMzg0NjQ3CgpIaSwKCnp1IGEpIGRla2xhcmllcmUgYWxzIFdlbHQgZGVpbmVuIFJlY2huZXIgbWl0IGRlciBOdW1tZXIgZGVzIFRlbG5ldCBQb3J0cy4KRGFubiBrYW5uc3QgZHUgRGljaCBlaW5sb2dnZW4gdW5kIFByb2dyYW1tZSBzdGFydGVuLgpEaWUgVW1zY2hhbHR1bmcgZGVyIFdlbHRlbiBmdW5rdGlvbmllcnQgZGFubiwgUHJvYmxlbWUgZ2lidHMKYWxsZXJkaW5ncyB3ZWlsIFRGIG51ciBpbSBMaW5lLU1vZHVzIGZ1bmt0aW9uaWVydC4KCnBzLiBEdSBtdXNzdCBuYXR1ZXJsaWNoIGVpbmVuIHRlbG5ldCBkYWVtb24gbGF1ZmVuIGhhYmVuLgoKVHlsYWsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRGIEV4cGVydGVuIHZvcnRyZXRlbjogKEhhdGUsICA5LiBTZXAgMTk5NywgMTI6MDI6MzUpOgp+IyEgcm49VHlsYWsgcnQ9ODczNzM1MDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzM4NDY0NwpUamEsIGxlaWRlciBpc3QgZXMgbmljaHQgZGFzLCB3YXMgaWNoIGJyYXVjaGUuCkljaCBtb2VjaHRlIFRGIHNvenVzYWdlbiBhbHMgRnJvbnRlbmQgYmVudXR6ZW4gdW5kIGViZW4gbmljaHQgZXh0cmEgbm9jaAppbiBtZWluZW4gZWlnZW5lbiBSZWNobmVyIGVpbmxvZ2dlbiBtdWVzc2VuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRGIEV4cGVydGVuIHZvcnRyZXRlbjogKFJhZmZpLCAgOS4gU2VwIDE5OTcsIDEyOjA2OjIxKToKfiMhIHJuPUhhdGUgcnQ9ODczNzk5MzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzM4NDY0NwpIYXRlLCBEaWUgemVpdCB3byAyIHByb2dyYW1tZSB1ZWJlciBlaW4gcGFhciBzcGVpY2hlcnN0ZWxsZW4gZ2FueiBzY2huZWxsCmtvbW11bml6aWVydCBoYWJlbiBpc3Qgdm9yYmVpLiBVbnRlciBtaW5kZXN0ZW5zIGVpbmVyIFNvY2tldHZlcmJpbmR1bmcsIHVuZAp3ZW5ucyBudXIgZWluIGxvb3BiYWNrIGlzdCwgZ2VodCBnYXJuaXhtYWhyLi4uLi4uCgpHcnVzcwpILgpQLlMuOiBEdWFsIFAzMDAgc2Nob24gYmVzdGVsbHQgPwo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVEYgRXhwZXJ0ZW4gdm9ydHJldGVuOiAoWWFyZW4sICA5LiBTZXAgMTk5NywgMTM6MDU6MDQpOgp+IyEgcm49UmFmZmkgcnQ9ODczNzk5NTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzM4NDY0NwpKYT8gU2Nob25tYWwgd2FzIHZvbiBzaGFyZWQgbWVtb3J5IGdlaG9lcnQ/IDstKQoKWWFyZW4uIE11c3N0ZSBtYWwgc2VuZmVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVEYgRXhwZXJ0ZW4gdm9ydHJldGVuOiAoUmFmZmksIDEwLiBTZXAgMTk5NywgMTg6NDI6MDIpOgp+IyEgcm49WWFyZW4gcnQ9ODczODAzMTA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3MzM4NDY0NwpIYXN0ZSBEaXIgc2Nob25tYWwgZGllIFNoYXJlZE1lbSBpbXBsZW1lbnRhdGlvbiB2ZXJzY2hpZWRlbmVyIEJTZSBhbmdlc2NoYXV0ID8KSGFhcnN0cmV1YmVuZC4gVW5kIGRhcyB3YXMgZGFzIEJldHJ1Z3NzeXN0ZW0gbmljaHQga2FwdXR0IG1hY2h0IHNjaGFmZmVuIGRhbm4KZGllIFByb2dyYW1taWVyZXIgLi4uIChTbyBtdXN0ZSBpY2ggbWlyIG1hbCBkaWUgTWFuZ2VsZGUgUGVyZm9ybWFuY2UgaW4gZWluZW0KU3lzdGVtIGFuc2NoYXVlbiB2byB6d2FyIGFsbGUgZGF0ZW4gaW4gZWluZW0gMSBHQiBncm9zc2VuIFNoYXJlZCBNZW1vcnkKZ2VoYWx0ZW4gd3VyZGVuLCBkZXIgWnVncmlmZiBkYXJhdWYgamVkb2NoIG1pdHRlbHMgZWluZXMgU2VtYXBob3JzIGRhcyBhbHMKRGF0ZWlsb2NrIHJlYWxpc2llcnQgd2FyIGdlc3RldWVydCB3dXJkZSAuLi4gRXJnZWJuaXNzLCBPYndvaGwgYWxsZSBkYXRlbiBpbQpIYXVwdHNwZWljaGVyIGVpbmVyIGRvY2ggcmVjaHQgc2NobmVsbGVuIFVuaXgtTXVsdGlwcm96ZXNzb3JraXN0ZSB3YXJlbiAoMzYKQ1BVcykgd2FyIGRhcyBnYW56ZSBsYW5nc2FtbWVyIGFscyBhdWYgZWluZW0gMjg2ZXIgOiggKQoKV2FyIGFsc28gd2llZGVyIG5peCA6KQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRGIEV4cGVydGVuIHZvcnRyZXRlbjogKFlhcmVuLCAxMC4gU2VwIDE5OTcsIDE4OjQzOjQ3KToKfiMhIHJuPVJhZmZpIHJ0PTg3MzkwOTcyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzMzODQ2NDcKU2Nob25tYWwgd2FzIHZvbiBQVk0gZ2Vob2VydD8KCllhcmVuLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4OiBlMmZzY2sgYWxzIGNyb24tam9iID8gKFBpbGdyaW0sIDExLiBTZXAgMTk5NywgMTY6Mzc6MjYpOgpIaSwKCndpZSBrYW5uIGljaCBlMmZzY2sgaW4gbWVpbmVuIC5jcm9tLmRheWx5LmlyZ2VuZHdhcyAuLi4gYWxzbyBpbiBkaWUKTGlzdGUgdGFlZ2xpY2ggenUgZXJsZWRpZ2VuZGVyIGNyb20tam9icyBlaW5mdWVnZW4gLi4uIGhtbSwgYmVzc2VyCndhcyBtdXNzIGljaCBkYSBlaW5mdWVnZW4gLi4uCgplaW4gZTJmc2NrIC1mIC1wIC12IC9kZXYvaGRhMSAgICBlcndhcnRldCBuZSB1c2VyLWVpbmdhYmUKKHVuZCBpY2ggd2Vpc3MgYXVjaCBuaWNodCwgb2IgZGFzIHNvIGd1dCBpc3QsIGVpbiBnZW1vdW50ZXRlcwpGUyB6dSBjaGVja2VuKSB1bmQgZWluICpzLm8uKiA8eWVzLnR4dCAvZGV2L2hkYTEgIHR1dHMgYXVjaCBuaWNodCAuLi4KCkFiZXIgaXJnZW5kd2llIG11c3MgbWFuIGRhcyBkb2NoIHNpY2hlciB6dSBsYXVmZW4ga3JpZWdlbj8KClBpbGdyaW0KKkFBQVJSUkhIIC4uLiBuYXR1dWVybGljaCBDUk9OIC4uLiBuaWNodCBjcm9NIC4uLiBpY2ggZ2xhdWIsCmljaCB3ZXJkIHp1IE1hdWx3dXJmIC4uLiBzZWggbml4IG1laHIgOy0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpbnV4OiBlMmZzY2sgYWxzIGNyb24tam9iID8gKEdyaW1tYm9ybiwgMTEuIFNlcCAxOTk3LCAxOTowMjoyNyk6Cn4jISBybj1QaWxncmltIHJ0PTg3Mzk4ODY0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzM5ODg2NDYKQmVyaWNodGlndCBtaWNoIHdlbm4gaWNoIGRhIE1pc3Qgc2NocmVpYmUsIGFiZXIgZnNjaydlbiBzb2xsdGUgbWFuIGRvY2ggbnVyCmVpbiByby1nZW1vdW50ZXRlcyBmcy4gQW5zb25zdGVuIHNvbGx0ZXN0IER1IGRhbm4gbWl0IGRlciBPcHRpb24gLW4Kd2VpdGVya29tbWVuIChtYW4gZTJmc2NrLCBSVEZNLi4uKS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsaW51eDogZTJmc2NrIGFscyBjcm9uLWpvYiA/IChQaWxncmltLCAxMi4gU2VwIDE5OTcsIDIxOjAwOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04NzM5OTczNDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczOTg4NjQ2CkhtbSwKCmFsc28gTkFUVUVSTElDSCBoYWIgaWNoIGRpZSBtYW4gZ2VsZXNlbiAuLi4gLW4gc2V0enQgYXVmIFJlYWRPbmx5IC4uLmphLi4uCmFiZXIgbWFjaHQgZGFubiBhdWNoIGtlaW5lIEFlbmRlcnVuZ2VuIDstKSAuLi4gCgpSVEZNID0/PSBSZWFkIFRoZSBGdWNraW5nIE1hbnVhbCA/Pz8gLi4uIG5hamEgOy0pIHdlciBtYXVuYWxzIGxpZXN0LCBpc3QKZmVpZ2UgOy0pCgp0b2xsLCB3ZW5uIGljaCBlcnN0IC9kZXYvaGRhMSAocm9vdCkgdW5tb3VudGUsIHdpZSBzb2xsIGljaCBkYW5uIG5vY2gKZTJmc2NrIGF1ZnJ1ZmVuID8/CgpQaWxncmltIC0gc3VjaHQgaW1tZXIgbm9jaCBuYWNoIGVpbmVyIGxvZXN1bmc/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBsaW51eDogZTJmc2NrIGFscyBjcm9uLWpvYiA/IChHcmltbWJvcm4sIDE0LiBTZXAgMTk5NywgMjA6NDU6MTgpOgp+IyEgcm49UGlsZ3JpbSBydD04NzQwOTA4MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczOTg4NjQ2CkljaCBoYWIgZGllIEZvcm1hdGllcnVuZyBlaW4gYmlzY2hlbiBtYW5pcHVsaWVydDoKCm1hbiBlMmZzY2s6Ci1uOiBPcGVuIHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSwgYW5kIGFzc3VtZSBhbiBhbnN3ZXIgb2YgYGBubycnIHRvIGFsbApxdWVzdGlvbnMuIEFsbG93cyBlMmZzY2sgdG8gYmUgdXNlZCBub24taW50ZXJhY3RpdmVseS4gKE5vdGU6IGlmIHRoZSAtYywgLWwsCm9yIC1MIG9wdGlvbnMgYXJlIHNwZWNpZmllZCBpbiBhZGRpdGlvbiB0byB0aGUgLW4gb3B0aW9uLCB0aGVuIHRoZSBmaWxlc3lzdGVtCndpbGwgYmUgb3BlbmVkIHJlYWQtd3JpdGUsIHRvIHBlcm1pdCB0aGUgYmFkLWJsb2NrcyBsaXN0IHRvIGJlIHVwZGF0ZWQuCkhvd2V2ZXIsIG5vIG90aGVyIGNoYW5nZXMgd2lsbCBiZSBtYWRlIHRvIHRoZSBmaWxlc3lzdGVtLikKCi15IEFzc3VtZSBhbiBhbnN3ZXIgb2YgYGB5ZXMnJyB0byBhbGwgcXVlc3Rpb25zO2FsbG93cyBlMmZzY2sgdG8gYmUgdXNlZApub24taW50ZXJhY3RpdmVseS4KCkosIGljaCBnZWJlIHp1LCBpY2ggaGFiIGRpZSBtYW4tcGFnZSBuaWNodCBiaXMgenUgRW5kZSBnZWxlc2VuIGdlaGFidCAod296dQphdWNoLCBpc3QgamEgbmljaHQgbWVpbiBQcm9ibGVtKSwgYWJlciBpcmdlbmR3byBhdXMgZGllc2VuIGJlaWRlbiBPcHRpb25lbiwKenVzYW1tZW4gbWl0IC1wLCBzb2xsdGUgc2ljaCB3YXMgYmFzdGVsbiBsYXNzZW4uCgpBdXNwcm9iaWVyZW4gbXVzc3QgRHVzIHNjaG9uIHNlbGJlciwgaWNoIGhhbHRlIHNvd2FzIGZ1ZXIgbWljaCBmdWVyIHVubm9ldGlnLAp3ZWlsIGRlciBlaCBhbGxlIDQwIChvZGVyIHNvKSBTdGFydHMgZGFzIGZzIGNoZWNrZWQgdW5kIGljaCBtaWNoIGJlaGVycnNjaGVuCmthbm4sIGRhIGplZGUgTmFjaHQgV2F0dCBmdWVyIFdhdHQgZGVuIFN0YWR0d2Vya2VuIHp1IHNjaGVua2VuIHVuZCBhdXNzZXJkZW0KZGFzIEdldG9lc2UgYmVpbSBTY2hsYWZlbiB6dSBoYWJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpbnV4OiBlMmZzY2sgYWxzIGNyb24tam9iID8gKEFjcmltb24sIDE2LiBTZXAgMTk5NywgMjA6MTU6NDUpOgp+IyEgcm49UGlsZ3JpbSBydD04NzM5ODg2NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODczOTg4NjQ2Clp1IGRlaW5lciBGcmFnZSBiZXp1ZWdsaWNoIGNyb246CkRhcyBGaWxlLCBpbiBkZW0gZGllIExpc3RlIHRhZWdsaWNoIGF1c3p1ZnVlaHJlbmRlciBCZWZlaGxlIHN0ZWh0LCBuZW5udCBzaWNoCiJjcm9udGFiIi4KRXMgZ2lidCBlaW4gUHJvZ3JhbW0sIG1pdCBkZW0gbWFuIEVpbnRyYWVnZSBpbiBkaWVzZXIgTGlzdGUgYWVuZGVybiBrYW5uLgpEaWVzZXMgUHJvZ3JhbW0gbmVubnQgc2ljaCBlYmVuZmFsbHMgImNyb250YWIiLgpTaWVoZSBtYW4gLWUgMSBjcm9udGFiCldpZSBnZW5hdSBkYXMgY3JvbnRhYi1GaWxlIHVuZCBzZWluZSBFaW50cmFlZ2UgYXVmZ2ViYXV0IHNpbmQsIHNpZWhzdCBEdSBtaXQ6Cm1hbiAtZSA1IGNyb250YWIKClZpZWwgU3Bhc3ogYmVpbSBMZXNlbiwgaWNoIHNlbGJzdCBrYW5ucyBuaWNodCBiZXNzZXIgZXJrbGFlcmVuIQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaW51eCBmdm13MiAoR3VsZHVrYXQsIDE3LiBTZXAgMTk5NywgMjE6MTA6MTcpOgpXbyBzdGVsbCBpY2ggYmVpbSBmdndtMiBlaW4sIGRhc3MgZWluIGZlbnN0ZXIgbmFjaCBvYmVuIGtvbW10LCB3ZW5uIGljaAppcmdlbmR3byBpbSBmZW5zdGVyIGtsaWtrZSB1bmQgbmljaHQgZGFzIHN0YW5kYXJkbWFlc3NpZ2Uga2xpY2tlbiBhbSByYW5kCm5vZXRpZyBpc3Q/CmdkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGludXggZnZtdzIgKEphbml0emUsIDE3LiBTZXAgMTk5NywgMjE6NDc6MDcpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODc0NTIzNDE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NDUyMzQxNwpkYXMgZ2FuemUgc2NocmVpYnN0IGR1IGluIGRlaW5lIC5mdndtcmMgaW4gZGVpbmVtIGhvbWV2ZXJ6ZWljaG5pc3MsIGFtIGJlc3RlbgpuYWNoIGRlbSBQZmFkIGZ1ZXIgZGllIE1vZHVsZSA6KQoKTW9kdWxlIEZ2d21BdXRvIDUwMAoKbWl0ICdtYW4gZnZ3bTInIGVyZmFlaHJzdCBkdSBtZWhyIC4uLgpKYW5pY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldmVzMuMTEgKExhcmlzc2EsIDE4LiBTZXAgMTk5NywgMDk6MDE6NDUpOgpIb2ksCkV4cGVydGVuIHZvcjoKSWNoIGhhYiBoaWVyIGVpbmlnZSBQQydzIGRlciBGaXJtYSBUZXJyYSwgZGllIHVudGVyIFdmVzMuMTEgZnVlcmNodGVybGljaApydWNrZWxuIChhbGxlIHBhYXIgU2VrdW5kZW4gcGFzc2llcnQga3VyeiBuaXgpLiBMYXV0IEF1c3NhZ2Ugdm9uCkVMU0Egc29sbCBtYW4gZGllIEZhcmJ0aWVmZXIgZXJob2VoZW4sIGFiZXIgZGFzIG51dHp0IG5peC4gRXMgc2luZAp1ZWJyaWdlbmRzIFAxMzMgdW5kIHppZW1saWNoIG5ldS4uLmFueSBJZGVhcz8KTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZlczLjExIChCaGFtaXIsIDE4LiBTZXAgMTk5NywgMTU6NDc6MDYpOgp+IyEgcm49TGFyaXNzYSBydD04NzQ1NjYxMDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc0NTY2MTA1CkhtbSwgd2VubiB3YWVyZW5kIGRlcyBTdGlsbHN0ZWhlbnMgUGxhdHRlbmFrdGl2aXRhZXQgenUgdmVyemVpY2huZW4gaXN0LCBjaGVjawptYWwgd2lldmllbCBTcGVpY2hlciBkdXJjaCBzb3dhcyB3aWUgU21hcnRkcnYgb2RlciBSYW1kcnYgdmVyYnJhdGVuIHdpcmQuCldhaHJzY2hlaW5saWNoIGlzdCBlciBkYW5uIG5hZWhtbGljaCBkYXVlcm5kIGFtIEF1c2xhZ2Vybi4uCldlbm4gZGllIFJlY2huZXIgaW4gbmVtIE5ldHp3ZXJrIGFyYmVpdGVuIGthbm4gZXMgYXVjaCBzZWluIGRhcyBzaWUgCmF1ZnMgTmV0endlcmsgd2FydGVuIChOZXR6d2Vya3RyZWliZXIgY2hlY2tlbiwgd2VubiBkZXIgTVMgVENQL0lQIFN0YWNrCmluc3RhbGxpZXJ0IGlzdCBzb2xsdGUgVENQL0lQIFZlcnNpb24gMzJiIGxhdWZlbiwgZXMgZ2lidCBhYmVyIG5hdHVlcmxpY2ggYXVjaAp3ZWxjaGUgdm9uIGFuZGVyZW4gRmlybWVuLCBvZGVyIHNpZSBiZW51dHplbiBJUFggb2RlciBOZXRCZXVpKQpXZW5uIGR1IGVpbmUgZ2VuYXVlIEJlc2NocmVpYnVuZyBkZXIgS29uZmlndXJhdGlvbiBwb3N0ZW4ga29lbm50ZXN0IHdhZXJlIGRhcwpoaWxmcmVpY2guCgpCaGFtaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ZXMy4xMSAoUmFmZmksIDE4LiBTZXAgMTk5NywgMTY6MDY6MDYpOgp+IyEgcm49QmhhbWlyIHJ0PTg3NDU5MDQyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzQ1NjYxMDUKCkljaCBoYWIgc29sY2hlIGVmZWt0ZSBtYWwgZXJsZWJ0IGluIGVpbmVtIE5ldHogd28gdmllbCBtaXQgUGxhdHRlbnNoYXJpbmcgcGVyCldmVyBnZWFyYmVpdGV0IHd1cmRlLiBOYWNoZGVtIGRpZSBkYXRlbiBhbGxlIGF1ZiBlaW5lbiByZWluZW4gU2VydmVyIHVudGVyCk5vdmVsbCBnZWxlZ3Qgd3VyZGVuIHdhciBmZGFzIHJ1Y2tlbG4gd2VnLiBEYXMgZ2FuemUgRmlsZS9QcmludGVyc2hhcmluZyB1bnRlcgpXZlcgaXN0IG1pdCBoZWlzc2VyIE5hZGVsIGdlc3RyaWNrdC4gRGFzIHRhdWNodCBiZXN0ZW5mYWxsc21pdCB6d2VpIGJpcyB2aWVyClBDcy4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZlczLjExIChMYXJpc3NhLCAxOS4gU2VwIDE5OTcsIDA5OjEwOjAxKToKfiMhIHJuPVJhZmZpIHJ0PTg3NDU5MTU2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzQ1NjYxMDUKSG9pLApMZWlkZXIgaXN0IGRlciBSZWNobmVyIHdlZGVyIGFtIE5ldHogbm9jaCBnaWJ0IGVzIGlyZ2VuZHdlbGNoZSBTcGVpY2hlci0KcHJvYmxlbWUgZ2xlaWNoIHdlbGNoZXIgQXJ0LgpOb2NoIElkZWVuPwpEYW5rZSwKTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdmVzMuMTEgKERlbnRpLCAxOS4gU2VwIDE5OTcsIDA5OjExOjU2KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODc0NjUzMDAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NDU2NjEwNQoKSWNoIGhhYmUgbWFuY2htYWwgdW50ZXIgT2ZmaWNlIChhbGxlcmRpbmdzIDk3IDstKSkgZGFzIFByb2JsZW0sIGRhc3MgZWluCkluZGV4aWVydW5nc3Byb2dyYW1tIGRpZSBQbGF0dGVuIGR1cmNoc3VjaHQgdW5kIEluZGl6ZXMgZXJzdGVsbHQsIGRhc3MgCm1hY2h0IGVzIHZvbiBhbGxlaW5lIGFsbGUgMiBzdHVuZGVuIG9kZXIgc28sIGRhbm4gc3RlaHQgbWVpbiBSZWNobmVyIApmYXN0LCBkYSBpY2ggbnVuIHVudGVyIE5UIGFyYmVpdGUgZ2VodCBkYXMgYWJlciBpbnp3aXNjaGVuLCBudXIgZGllIApQbGF0dGUgcmF0dGVydCBub2NoLgoKRGVudGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdmVzMuMTEgKENhdHdlYXpsZSwgMTkuIFNlcCAxOTk3LCAxMDoyNDozMCk6Cn4jISBybj1MYXJpc3NhIHJ0PTg3NDY1MzAwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzQ1NjYxMDUKV2FzIGdlbmF1IHZlcnN0ZWhzdCBEdSBkZW5uIHVudGVyIHJ1Y2tlbG4/CllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2ZXMy4xMSAoTGFyaXNzYSwgMTkuIFNlcCAxOTk3LCAxMTo0MTo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc0NjU3NDcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NDU2NjEwNQoKTWFuIHRpcHB0IHdhcyBlaW4sIHouQi4gaW4gV29yZCAsIGRpZSBTY2hyaWZ0IGVyc2NoZWludCBhYmVyIGltbWVyCm51ciBTdHVlY2tjaGVud2Vpc2UuIEltbWVyIHNvIDEwIEJ1Y2hzdGFiZW4gYXVmIGVpbm1hbCwgb2RlciBkZXIKQmlsZHNjaGlybXNjaG9uZXIgKHNjaHdpbW1lbmRlIEZpc2NoZSkgYmxlaWJ0IGFsbGUgcGFhciBTZWt1bmRlbiBzdGVoZW4uCgpMYXJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2ZXMy4xMSAoQ2F0d2VhemxlLCAxOS4gU2VwIDE5OTcsIDEyOjI4OjQ3KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODc0NjYyMTAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NDU2NjEwNQoKSG0sIGljaCB3ZWlzcyAyIE1vZWdsaWNoa2VpdGVuIHdvIHdmdzMuMTEgc2NobmFyY2hsYWhtIHdpcmQsIGVpbm1hbCwKZmFsbHMgZXMga2VpbmUgcGVybWFuZW50ZSBBdXNsYWdlcnVuZ3NkYXRlaSBnaWJ0KGdsZWljaGVyIGVmZmVrdCB3aWUgCnp1IHdlbmlnIHNwZWljaGVyKSwgdW5kIGRhbm4sIHdlbm4ga2VpbiBzbWFydGRydiBsYWV1ZnQuIFNjaGF1IGRvY2ggbWFsLApvYiBkZXIgaW5uZXIgY29uZmlnLnNzIG9kZXIgYXV0b2V4ZWMuYmF0IGdlc3RhcnRldCB3aXJkLi4uCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2ZXMy4xMSAoTGFyaXNzYSwgMTkuIFNlcCAxOTk3LCAxMzoxNzowMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc0NjY0OTI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NDU2NjEwNQpIbSwKZXMgZ2lidCBlaW5lIHd1bmRlcnNjaG9lbmUgcGVybWFuZW50ZSBBdXNsYWdlcnVuZ3NkYXRlaSB1bmQKc21hcnRkcnYgbGFldWZ0IGF1Y2guLi4KTGFyaSwKSWhyIGR1ZXJmdCBhdWNoIHdnZXJuZSBtYWlsZW4sIGljaCBuZWhtIG1hbCBhbiwgZGFzcyBzaWNoIGhpZXIgc29uc3QgbmllbWFuZApkYWZ1ZXIgaW50ZXJlc3NpZXJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXZlczLjExIChHdWxkdWthdCwgMTkuIFNlcCAxOTk3LCAxODoyMTo1MSk6Cn4jISBybj1MYXJpc3NhIHJ0PTg3NDY2NzgyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzQ1NjYxMDUKZGVpbnN0YWxsaWVyZSBkYXMgaW5kZXhpZXJ1bmdzcHJvZ3JhbW0hCmljaCBoYWIgZGVuIHNpbm4gZGllc2VzIHByb2dyYW1tcyBlaCBub2NoIG5pY2h0IGR1cmNoc2NoYXV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmcmFnZSB6dSB3aW45NSAoQ2VyZWJ1cywgMjMuIFNlcCAxOTk3LCAxMjozNzozOSk6Ckh1aHUhCkljaCBtY2h0ZSBiZWltIFN0YXJ0ZW4gZWluZXMgZ2V3aXNzZW4gUHJvZ3JhbW1lcyB1bnRlciBXaW45NSBqZWRlc21hbCBtZWluCkRhdHVtIGF1ZiBlaW5lbiBiZXN0aW1tdGVuIFdlcnQgc2V0emVuLiBLYW5uIGljaCBkYXMgdWViZXIgZWluZSBwaWYtRGF0ZWkKbWFjaGVuPyBPZGVyIGdpYnQgZXMgYW5kZXJlIFdlZ2UsIGRpZSBzY2hsYXVlciwgZWxlZ2FudGVyLCBiZXNzZXIgc2luZD8KCkNlcmVidXMgKGRlciBpbSBTaXJ1cCBzdGVja3QpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnJhZ2UgenUgd2luOTUgKEJhYnMsIDI0LiBTZXAgMTk5NywgMDc6MzU6MzkpOgp+IyEgcm49Q2VyZWJ1cyBydD04NzUwMTEwNTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc1MDExMDU5ClN0YXJ0ZSBEZWluIGFiZ2VsYXVmZW5lcyBTaGFyZXdhcmVwcm9ncmFtbSA7KSBoYWx0IGVpbmZhY2ggZHVyY2ggZWluZQpnZXdvZWhubGljaGUgQmF0Y2hzZXF1ZW56LiBEYXMgZ2VodCBzb2dhciBtaXQgRE9TZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZyYWdlIHp1IHdpbjk1IChQaWxncmltLCAyNC4gU2VwIDE5OTcsIDE1OjU5OjIwKToKfiMhIHJuPUJhYnMgcnQ9ODc1MDc5MzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NTAxMTA1OQpIbW0sCgp2aWVsbGVpY2h0IGhpbGZ0IERpciAod2luKSBiYXRzaCB3ZWl0ZXIsIGVpbmVyIEFydCBCYXRjaC1JbnRlcnByZXRlcgp1bnRlciB3aW5kb3dzIC4uLiBmaWxlOiBiYXRzaDIyOC56aXAKaHR0cDovL3d3dy5kYXRhY29tbS5jaC9+bnlmZmVuZWdnZXIvYmF0c2guaHRtCgpJc3QgamVkb2NoIChub2NoIGltbWVyKSAxNiBCaXQsIHR1dHMgYWJlciBhdWNoIG1pdCBXOTUvTlQgLi4uCgpQaWxncmltCi0gZnJhZ3Qgc2ljaCwgd2FydW0gbWFuIGRhcyBEYXR1bSB1bXNldHplbiBtdXNzIC4uLiBkYXMgZ2VodCBiZXN0aW1tdCBhdWNoCiAgYW5kZXJzIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjI1IChBbmFraW4sIDI1LiBTZXAgMTk5NywgMTM6NTU6MTMpOgpIaSwKCndlaXNzIGplbWFuZCB3aWUgaWNoIG1laW4gTmV0c2NhcGUgZGF6dSBicmluZ2UsIHdlbm4gaWNoIFNhdGFuCnN0YXJ0ZSBtaXIgZGllIEZpbGVzIG5pY2h0IHJ1bnRlcnp1bGFkZW4gd29sbGVuLCBzb25kZXJuCmF1Y2ggYXVzenVmdWVocmVuPwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDI1IChBY3JpbW9uLCAyNS4gU2VwIDE5OTcsIDE2OjExOjA1KToKfiMhIHJuPUFuYWtpbiBydD04NzUxODg1MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc1MTg4NTEzCldhciBkYXMgZWluZSBBdWZmb3JkZXJ1bmcsIFZpcmVuIGF1ZnMgTmV0eiB6dSBsZWdlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZnJhZ2UgenUgd2luOTUgKEJsb29keWhhcnJ5LCAyNi4gU2VwIDE5OTcsIDAwOjQwOjU2KToKfiMhIHJuPUJhYnMgcnQ9ODc1MDc5MzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NTAxMTA1OQpNdXNzIG1hbiBkYXMgbnVuIGF1Y2ggdmVydGVoZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaG9tZXBhZ2UtY291bnRlciAoSGFkcmEsIDI2LiBTZXAgMTk5NywgMDI6MDc6MDMpOgp+IyEgb249SGFkcmEgb3Q9ODc1MjMyMzg5IG9nPWFuemVpZ2VuCn4jISBybj1Mb2xsaSBydD04NzUxOTkxMzkgcmc9YW56ZWlnZW4KfiMhIHRpZD04NzUxOTkxMzkKbnVuIGphLCBlcyBnYWViZSB6dW0gYmVpc3BpZWwgZGllIG1vZWdsaWNoa2VpdCBtYWwgaW4gZWluZXIgZGVyIHZpZWxlbgpzdWNobWFzY2hpbmVuIGRpZSBzdGljaHdvcnRlIGhvbWVwYWdlIHVuZCBjb3VudGVyIGVpbnp1Z2ViZW4gdW5kIG1hbApuYWNoenVzZWhlbiB3YXMgZGEgYWxsZXMgYXVzZ2VwdWNrdCB3aXJkLgp6dW0gYW5kZXJlbiBnaWJ0IGVzIGRpZSBtb2VnbGljaGtlaXQgZGFuYWNoIHp1IGVya2VubmVuLCBkYXNzIGVpbmUgd2lya2xpY2gKMTAwJWlnZSB6YWVobHVuZyBzY2hsaWNodCB1bm1vZWdsaWNoIGlzdCB1bmQgYXVmIGNvdW50ZXIgenUgdmVyemljaHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaG9tZXBhZ2UtY291bnRlciAoUGlsZ3JpbSwgMjYuIFNlcCAxOTk3LCAxMTo1ODozMSk6Cn4jISBybj1IYWRyYSBydD04NzUyMzI0MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc1MTk5MTM5Ck9rLAoKYWxzbyBaYWVobGVyIGZpbmQgaWNoIGRvb2YgLi4uIG1hY2hlbiBudXIgTmV0emxhc3QgdW5kIGRpZW5lbiBpLmQuUi4KbnVyIGRlbSBFZ28gZGVzIEF1dGhvcnMgLi4uIGFiZXIgZnVlciBkZW4gRmFsbCwgZGFzIG1hbnMgd2lya2xpY2ggCmJydWFjaHQgLi4uIGhpZXIgd2llIHNjaG5lbGwgdW5kIGRpcnR5IGdlaHQgLi4uCgo8SDM+U2llIHNpbmQgQmVzdWNoZXIgTnIuOgo8SU1HClNSQz0iaHR0cDovL2J1bGwuZ290Lmt0aC5zZS9jZ2kvbnBoLWNvdW50P3dpZHRoPTQmbGluaz0vZGVpbi5yZWNobmVyLmRlL2ZpbGVuYQptZV9kZWluZXJfd2FobCI+Cgogc2VpdCBkZW0gMDcuMDcuMTk5NzwvSDM+CgoKQmVhY2h0ZSBkZWluLnJlY2huZXIuZGUgdW5kIGZpbGVuYW1lbl8uLi4gcmljaHRpZyBzZXR6dGVuIC4uCgpQaWxncmltCgphY3NvIC4uIGRhcyBpc3QgZWluIGdhbnogImR1bW1lciBaYWVobGVyIiAuLi4gZGEga2FubiBtYW4gbml4IGVpbnN0ZWxsZW4KKHd6YiBlaWdlbmUgZG9tYWluIG5pY2h0IHphZWhsZW4sIG5pY2h0IGRvcHBlbHQgemFobGVuIHVzdykKCiMKKmFyZ2wgLi4gVHlwb3MgZmluZGUgaWNoIGF1Y2ggZG9vZiwgYWJlciBkYXMgYmxlaWJ0IGpldHp0IHNvIC4uLiBkaWUKZW50c2NoZWlkZW5lbiBaZWlsZW4gKGh0bWwpIHNpbmQgcmljaHRpZyA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIGthbm4gbWlyIGhlbGZlbj8gKEdyaW1tYm9ybiwgMjkuIFNlcCAxOTk3LCAxMDo1NDoyOCk6Cn4jISBybj1BbGV0ZSBydD04NzU0MzM4NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc1NDMzODQzCkR1IHdpcnN0IGVpbmVuIFRyZWliZXIgYnJhdWNoZW4sIHZlcnN1Y2hzIG1hbCBhdWYgZGVyIFdlYnNlaXRlIGRlcwpTdHJlYW1lcmhlcnN0ZWxsZXJzLCBkaWUgaGFsdGVuIGkuYS4gZG9ydCBUcmVpYmVyIHp1bSBkb3dubG9hZCBiZXJlaXQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGhvbWVwYWdlLWNvdW50ZXIgKEd1bGR1a2F0LCAyOS4gU2VwIDE5OTcsIDIyOjI1OjI0KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODc1MjY3OTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NTE5OTEzOQpzY2hhdSBkaXIgbWFsIGRpZXNlbiBjb3VudGVyIGFuOgpodHRwOi8vZ3VsZHVrYXQub3JjaC5ydWhyLXVuaS1ib2NodW0uZGUvfmFuZHJlYXMvYW5kcmVhcy5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxMjBlciBRdWFudHVtIChIZWx2YSwgIDQuIE9rdCAxOTk3LCAwMDo1MTo0OCk6CkFsc28sIHdlciBJbnRlcmVzc2UgaGF0IGFuIGVpbmVyIDEyMCBRdWFudHVtIEZlc3RwbGF0dGUsIGZyaXNjaCBhdXMgbWVpbmVtCjM4NmVyIGF1c2dlYmF1dCwga2FubiBzaWNoIG1lbGRlbiB1bmQgbWlyIGVpbiBHZWJvdCBhYmdlYmVuLiBBbSBiZXN0ZW4gcGVyCm1haWwsIHdlaWwgaWNoIGdsYXViZSBkYXMgaW50ZXJlc3NpZXJ0IG5pZW1hbmQgYW5kZXJlbi4gTGF1ZnQgaGVydm9ycmFnZW5kCnNvenVzYWdlbiBhbHMgWndlaXRpZmVzdHBsYXR0ZSA7KQpIZWx2YSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxMjBlciBRdWFudHVtIChZZW5kaSwgIDcuIE9rdCAxOTk3LCAxNDo0Nzo1NCk6Cn4jISBybj1IZWx2YSBydD04NzU5MTkxMDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc1OTE5MTA4CkljaCBiaWV0ZSBlaW5lIDIwMGVyIEZlc3RwbGF0dGUgYW4hIDgwIE1CIG1laHIgU3BlaWNoZXIgZnVlciBkYXMgZ2xlaWNoZSBHZWxkIQpWZXJnZXNzdCBkaWUgMTIwZXIsIExldXRlLCBhYiAyMDAgZmFlbmd0IGRlciBTcGFzcyBhbiEKClllbmRpLAogICAgICAgZW50ZXJ0IGRlbiBGZXN0cGxhdHRlbm1hcmt0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0NTSS1UZXN0LVNvZnR3YXJlPyAoVHJhbmNlZmVhciwgIDkuIE9rdCAxOTk3LCAxNDowMjozNCk6CkhhbGxvCgpJY2ggc3VjaCBuZSBTb2Z0d2FyZSAoYW0gYmVzdGVuIGZ1ZXIgRE9TKSwgZGllIGRlbiBTQ1NJLUJ1cyBtb2VnbGljaHN0CmludGVuc2l2IHRlc3RldCAoYWxzbyBBZGFwdGVyIHVuZCBHZXJhZXRlKSwgdW0gRmVobGVyIGltIFRlcm1pbmF0b3IgdW5kL29kZXIKaW4gZGVuIEthYmVsbiBhdWZ6dWRlY2tlbi4gR0lidHMgZGFzIHVlYmVyaGF1cHQ/IE9kZXIgbXVzcyBpY2ggYXVmIG5lIEhhcmR3YXJlCkxvZXN1bmcgYXVzd2VpY2hlbj8KClQuRi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZlcmthdWZzYW5nZWJvdGUgKEhhZHJhLCAxMC4gT2t0IDE5OTcsIDAwOjQ5OjMzKToKaWNoIHdlaXNzIGphIG5pY2h0IG9iIGRhcyBlaW5lIGFydCBtZy5tYXJrdCB3aXJkLiBhYmVyIGVpbiB2ZXJrYXVmc25hZ2Vib3QgaXN0Cm51ciBiZWRpbmd0IHNpbm52b2xsIHdlbm4gYmVpbSBmaW5nZXJuIG51ciBEZXV0c2NobGFuZCBhdWZ0YXVjaHQuCnp1bWluZGVzdCBrZW5uZSBpY2ggbmllbWFkZW4gZGVyIGZ1ZXIgbmUgMTIwZXIgcGxhdHRlIG1hbCBlYmVuIGdhbnoKZGV1dHNjaGxhbmQgYWJrbGFwcGVybiB3dWVyZGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVya2F1ZnNhbmdlYm90ZSAoSGF0ZSwgMTAuIE9rdCAxOTk3LCAxMDozNzozNCk6Cn4jISBybj1IYWRyYSBydD04NzY0MzczNzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc2NDM3MzczCkRhbm4gc29sbHRlbiBkaWUgTGV1dGUgYW5nZWJlbiB3b2hlciBzaWUga29tbWVuIGV0Yy4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVya2F1ZnNhbmdlYm90ZSAoSGVsdmEsIDEwLiBPa3QgMTk5NywgMjE6NDg6NDIpOgp+IyEgcm49SGFkcmEgcnQ9ODc2NDM3MzczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NjQzNzM3Mwo+IGZpbmdlciBoZWx2YQpIZWx2YSBpc3QgYW53ZXNlbmQsCnVuZCB6d2FyIHZvbjogQm9jaHVtLgpFaW5nZWxvZ2d0IHNlaXQ6IEZyZSwgMTAuIE9rdCAxOTk3LCAyMTozNTowOQpWb2xsZXIgTmFtZTogSGVsdmEgZGllIEt1bmRzY2hhZnRlcmluClJhc3NlOiBFbGYsICBHaWxkZTogQWJlbnRldXJlciwgIEdlc2NobGVjaHQ6IHdlaWJsaWNoClNwaWVsZXJsZXZlbDogOQpEYXR1bSBkZXMgZXJzdGVuIExvZ2luOiBEaWUsIDI1LiBKdW4gMTk5NiwgMTU6MzM6MjMKQmlzaGVyIGJlcmVpdHMgMTEgbWFsIGdlc3RvcmJlbgpBbHNvIGljaCBtdXNzIHNhZ2VuLCBpY2ggYmluIGV0d2FzIGVyc3RhdW50Li4uZGEgc3RlaHQgZG9jaCBuZSBTdGFkdCwgb2Rlcj8KQXVzc2VyZGVtIGhhYmUgaWNoIGRvY2ggdW0gbWFpbHMgYW4gbWljaCBnZWJldGVuLCBkYSBrYW5uIG1hbiBvd2FzIGF1Y2gKZnJhZ2VuLi4KSGVsdmEgenVja3QgcmF0bG9zIG1pdCBkZW4gU2NodWx0ZXJuClAuUy4gSWNoIGJpZXRlIGhhbHQgbGllYmVyIGV0d2FzIGFuLCBiZXZvciBpY2ggZXMgaW4gZGVuIE11ZWxsIHNjaG1laXNzZSwKc29sYW5nZSBlcyBub2NoIGZ1bmt0aW9uaWVydCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB2ZXJrYXVmc2FuZ2Vib3RlIChIZWx2YSwgMTAuIE9rdCAxOTk3LCAyMjoxNzowOCk6Cn4jISBybj1IZWx2YSBydD04NzY1MTI5MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc2NDM3MzczClNvIGpldHp0IHdlcmRlIGljaCBhdWNoIHNjaG9uIGRlYmlsIHVuZCBtYWNoZSBhdWYgbWVpbmVuIGVpZ2VuZW4gQXJ0aWtlbCBlaW4KcmVwbHkuIEFsc28gZXJzdGVucyBpc3QgZGllIHBsYXR0ZSBqZXR6dCB2ZXJrYXVmdC4gVW5kIHp3ZWl0ZW5zIGVudHNjaHVsZGlnZQppY2ggbWljaCBmdWVyIG1laW4gZ2Vub2VsZSwgZGEgd2VubiBpY2ggYXVzZ2Vsb2dndCBiaW4sIHRhdHNhZWNobGljaCBrZWluZQpTdGFkdCB1bnRlciAnZmluZ2VyJyBlcnNjaGVpbnQuCkhlbHZhIGltbWVyIG5vY2ggcmF0bG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcmVubnVuZyB2b24gZWluZXIgU291bmRibGFzdGVyIEFXRTY0IChXaWxsb3csIDEwLiBPa3QgMTk5NywgMjM6MDE6MTIpOgpIYWxsb2VjaGVuLApTbyB3aWUgZXMgYXVzc2llaHQsIHNvbGx0ZSBpY2ggbWljaCB2b24gb2JlbmdlbmFubnRlciBLYXJ0ZSB0cmVubmVuLCBkYSBpY2gKZGFtaXQgdW50ZXIgT1MvMiBXYXJwIDQgYWJzb2x1dCBuaWNodHMgbWl0IGFuZmFuZ2VuIGthbm4uLi4gZXZ0bC4gd3VlcmRlIGljaApnZWdlbiBlaW5lIFNCIEFXRTMyIFBOUCB0YXVzY2hlbi4KQWxsZXJkaW5ncyBiaW4gaWNoIGF1Y2ggaW50ZXJlc3NpZXJ0IGFuIE9TLzItVHJlaWJlcm4gZnVlciBkaWVzZSAkJSYkLUthcnRlCihiZWkgQ3JlYXRpdmUgaGFiIGljaCBzY2hvbiBnZXNjaGF1dC4uLikuCkFuZ2Vib3RlIGJpdHRlIHBlciBtYWlsIGFuIG1pY2ggZGlyZWt0CmVtYWlsIDogd2lsbGVuYm9AcnpzZXJ2Mi5maC1sdWVuZWJ1cmcuZGUKV2VpZGNoZW4gV2lsbG93IG1vZWNodGUgc2ljaCBhdWNoIHVudGVyIFdhcnAgbWl0IE11c2lrIGJlcmllc2VsbiBsYXNzZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQ1NJLVRlc3QtU29mdHdhcmU/IChOYXNpbSwgMTEuIE9rdCAxOTk3LCAxMDo0MTowNSk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg3NjM5ODU1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzYzOTg1NTQKSXN0IHBlciBTb2Z0d2FyZSBzY2h3aWVyaWcgdW5kIEhhcmR3YXJlLVNDU0ktVGVzdGVyIHNpbmQgcmVjaHQgdGV1ZXIgLi4uIEljaAp3dWVyZGUgbWFsIG1pdCBuZW0gYW5kZXJlbiBLYWJlbCBhbmZhbmdlbiAoa29zdCBqYSBuaWNodCBkaWUgV2VsdCksIHdlbm4gZGFzCm5pY2h0cyBicmluZ3QsIHp3ZWkgYWt0aXZlIFRlcm1pbmF0b3JlbiBiZXNvcmdlbiwgdW5kIGFuIGFsbGVuIEdlcmFldGVuIGRpZQpUZXJtaW5hdGlvbiBhYnNjaGFsdGVuLiBXZW5uJ3MgZGFubiBpbW1lciBub2NoIFByb2JsZW1lIGdpYnQsIGhhdCBlaW5zIGRlcgpHZXJhZXRlIG5lbiBLbmFsbCwgZGFzIGthbm4gbWFuIGR1cmNoIHdlZ2xhc3NlbiAoYXVzc2VyIGJlaW0gSG9zdGFkYXB0ZXIKbGF0dWVybmljaCkgcmF1c2ZpbmRlbi4KCkdydXNzLCBOYXNpbQpQUzogRWluIGFrdGl2ZXIgVGVybWluYXRvciB0dXQncyBhdWNoIGVyc3RtYWwsIHdlbm4gZGVyIEhvc3RhZGFwdGVyIGFrdGl2ZQpUZXJtaW5pZXJ1bmcgYmVoZXJyc2NodCAtIHNpY2hlcmVyIGlzdCBlcyBhYmVyIG1pdCB6d2VpZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNDU0ktVGVzdC1Tb2Z0d2FyZT8gKERlbnRpLCAxMS4gT2t0IDE5OTcsIDEwOjQ1OjQ3KToKfiMhIHJuPU5hc2ltIHJ0PTg3NjU1OTI2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzYzOTg1NTQKCkJlaSBndXRlbiBTQ1NJLUFkYXB0ZXJuIGlzdCBlaW5lIHJlY2h0IGd1dGUgVGVzdC1Tb2Z0d2FyZSBkYWJlaSwgYWxsZXJkaW5ncwplcmtlbm50IGRpZSBsYWVuZ3N0IG5pY2h0IGFsbGVzLCBpbnNvZmVybiBpc3QgZGFzIEF1c3RhdXNjaGVuIGVpbnplbG5lcgpLb21wb25lbnRlbiBpbW1lciBkZXIgYmVzdGUgVGVzdC4gTGVpZGVyIHdpcmQgZGFzIHNjaG5lbGwgcmVjaHQgdGV1ZXIsCmVpbiBndXRlcyBTQ1NJLVVXLUthYmVsIGtvc3RldCBzY2huZWxsIDE1MC4tLCBHZXJhZXRlIHNvbGx0ZSBtYW4gZWluZmFjaAp2b20gQnVzIG5laG1lbi4gV2VubiBhbGxlcmRpbmdzIG51ciBlaW4gR2VyYWV0IGFtIEJ1cyBoYWVuZ3QgKGF1c3NlciBkZW0KSG9zdC1BZGFwdGVyKSBzb2xsdGUgbWFuIHNpY2ggaXJnZW5kd28gbWFsIGVpbiBhbmRlcmVzIFNDU0ktRGV2aWNlIAphdXNsZWloZW4uIEVzIGthbm4gbGVpZGVyIGF1Y2ggcGFzc2llcmVuLCBkYXMgYmVzdGltbXRlIFRlaWxlIGRlcwpBZGFwdGVycyBuaWNodCB0dW4gKExldHp0ZW5zIHdhciBiZWkgZWluZW0gbWVpbmVyIGFkYXB0ZXIgZGVyIFVXLVBvcnQKa2FwdXR0LCBkZXIgbm9ybWFsZSBnaW5nIGFiZXIpLgoKQWxzbyB2aWVsIHNwYXNzIGJlaSBkZXIgRmVobGVyc3VjaGUKCkRlbnRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBVEkgbWFjaDY0IFBSTyBUdXJibyAyTUIgVlJBTSAoSGF0ZSwgMTEuIE9rdCAxOTk3LCAxODoxNzo1OCk6CkhpLAoKYWxzbyB3aWUgaWNoIHNjaG9ubWFsIGlyZ2VuZHdhbm4gZXJ3YWVobnRlLCBoYWJlIGljaCBlaW5lIEFUSSBtYWNoNjQKS2FydGUgenUgdmVya2F1ZmVuLgoKRGllIEthcnRlIGlzdCBpZGVhbCBmdWVyIEJpbGRzY2hpcm1lIGJpcyAxNyIsIHNpZSBoYXQgMk1CIFZSQU0gZHJhdWYsIHdhcwphdWNoIGd1dGUgQmlsZHdpZWRlcmhvbHJhdGVuIHp1bGFlc3N0LiBEYSBpY2ggbWlyIGluendpc2NoZW4gZWluZSA4TUIgQVRJCkthcnRlIHp1Z2VsZWd0IGhhYmUsIGRpZSBhdWNoIG1laW5lbiBNb25pdG9yIGF1c3JlaXp0IGlzdCBtZWluZSBhbHRlIEthcnRlCm51biBmdWVyIGNhIDE1MCwtIERNIHp1IHZlcmthdWZlbi4gQW5nZWJvdGUgYW4gbWljaC4KSWNoIGhvZmZlIGplZGVyIHdlaXNzLCBkYXNzIGljaCBpbiBCZXJsaW4gd29obmUsIGFiZXIgc2VuZGVuIGlzdCBhdWNoCmtlaW4gUHJvYmxlbS4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNDU0ktVGVzdC1Tb2Z0d2FyZT8gKFRyYW5jZWZlYXIsIDEyLiBPa3QgMTk5NywgMTc6MTI6NDYpOgp+IyEgcm49TmFzaW0gcnQ9ODc2NTU5MjY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NjM5ODU1NApEZXIgQWRhcHRlciBpc3QgZWluZSBuZXVlciAzOTQwLCB1bmQgZWluZXIgZGVyIGJlaWRlbiBad2VpZ2UgdHV0cyAid2llIFNhdSIuCkFuIGRlbSBhbmRlcmVuIGhhZW5ndCBlaW4gSFAxNTM5IFN0cmVhbWVyLCBkZXIgaW4gYW5kZXJlbiBSZWNobmVybgpmdW5rdGlvbmllcnQuIERlciAzOTQwIHRlcm1pbmllcnQgYWt0aXYsIHVuZCBoaW50ZXIgZGVtIFN0cmVhbWVyIGhhZW50IGF1Y2gKZWluIGFrdGl2ZXIgVGVybWluYXRvci4gSWNoIGhhYiB6aWcgS2FiZWwgZHVyY2hwcm9iaWVydCwgYmVrb21tZW4gYWJlciBpbW1lcgpuYWNoIGVpbmVyIFplaXQgU0NTSS1GZWhsZXIuCgpULkYuClBTOiBBdWYgZGVtIFJlY2huZXIgbGFldWZ0IEludHJhTmV0V2FyZSwgd2VubiBkaWUgQW5nYWJlIHdhcyBoaWxmdC4gRGVuClN0cmVhbWVyIGJyYXVjaCBpY2ggZnVlcnMgQmFja3VwIG1pdCBBcmNTZXJ2ZSA2LjEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptYXRsYWIgKEd1bmR1ciwgMjEuIE9rdCAxOTk3LCAxMzozNjo1Mik6CkhpCktlbm50IHNpY2ggZWluZXIgbWl0IE1hdGxhYiBhdXMgdW5kIGthbm4gbWlyIHNhZ2VuIG9iIG1hbiBhdXMgTWF0bGFiIGMgYnp3LwpjKysgY29kZSBnZW5lcmllcmVuIGthbm4gdW5kIHdlbm4gamEgbWl0IHdlbGNoZXIgdmVyc2lvbiAuLgpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYXRsYWIgKFRyYW5jZWZlYXIsIDIxLiBPa3QgMTk5NywgMTg6NTU6MTkpOgp+IyEgcm49R3VuZHVyIHJ0PTg3NzQzMzgxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc0MzM4MTIKU293ZWl0IGljaCB3ZWlzcyBnaWJ0cyBkYWZ1ZXIgc29uIEFkZE9uLCBpY2ggZ2xhdWJlIGFiIFZlcnNpb24gNCAoa2FubiBhYmVyCm5vY2ggbWFsIGZyYWdlbiwgbiBiZWthbm50ZXIgbnV0enQgZGFzIGludGVuc2l2c3QuLi4pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc291bmQgaW0gd3d3IChXdXJ6ZWwsIDIxLiBPa3QgMTk5NywgMjA6MjM6MTQpOgphbiBtYW5jaGVuIHN0ZWxsZW4gd2FlcmUgZXMgbmV0dCwgd2VicGFnZXMgbWl0IGVpbmVtIHNvdW5kIHp1IHVudGVybWFsZW4gKHouYi4Kd2VubiBkZXIgd2luZCBkdXJjaCBkaWUgaG9laGxlbiBkZXIgdW50ZXJ3ZWx0IHBmZWlmdC4uLikuIGJpc2hlciBoYWIgaWNoIGFiZXIKbnVyIGRlbiA8Ymdzb3VuZD4tdGFnIHZvbSBpbnRlcm5ldCBleHBsb2RlciBnZWZ1bmRlbiwgdW5kIGljaCB3b2xsdGUgbmljaHQKdW5iZWRpbmd0IHdhcyBzcGV6aWVsbCBmdWVyIHdpbmRvb2Yta2lzdGVuIG1hY2hlbi4ga2VubnQgamVtYW5kIGVpbmUgZ3V0ZQptYXNjaGluZW51bmFiaGFlbmdpZ2UgYWx0ZXJuYXRpdmU/IHdhZXJlIGZ1ZXIgamVkZW4gdGlwIGRhbmtiYXIuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzb3VuZCBpbSB3d3cgKE1vcmdvdGgsIDIyLiBPa3QgMTk5NywgMDc6MjI6MDQpOgp+IyEgcm49V3VyemVsIHJ0PTg3NzQ1ODE5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc0NTgxOTQKQWVobS4gRWluIFRpcCBhbGxnZW1laW4gV3VyemVsLiBEZW5rIGFuIGRpZSBhcm1lbiBTY2hlaW5lLCBkaWUgbmljaHQgaXJnZW5kd28KYW4gZGVyIFVuaSBzaXR6ZW4gdW5kIHBlciAxMCBvZGVyIDEwMCBNYml0IEV0aGVybmV0IGR1cmNoIGRpZSBXZWx0IHJhdXNjaGVuLgpTb2xsIGhlaXNzZW4sIGhhbHRlIGRpZSBTZWl0ZW4gc28ga2xlaW4gd2llIG1vZWdsaWNoLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzb3VuZCBpbSB3d3cgKFRyYW5jZWZlYXIsIDIyLiBPa3QgMTk5NywgMTU6NTY6MTkpOgp+IyEgcm49TW9yZ290aCBydD04Nzc0OTc3MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc3NDU4MTk0CldhcyBkZW5uPyBFdHdhIGtlaW5lICJCcnljZSItQW5pbWF0aW9uZW4gbWl0IEthbWVyYWZhaHJ0ZW4gZHVyY2ggZGllClVudGVyd2VsdD8gOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNvdW5kIGltIHd3dyAoTG9jbywgMjIuIE9rdCAxOTk3LCAxNzoyMDo0NCk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODc3NDU4MTk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NzQ1ODE5NApEYXp1IGdpYnRzIG51ciBlaW5zIHp1IHNhZ2VuOiBCbGVpYmVuIGxhc3NlbiEhIQpVbmQgendhciBJTUhPIGluIGVyc3RlciBMaW5pZSBnZXJhZGUgd2VnZW4gZGVuIExldXRlbiwgZGllIGluIGVpbmVyIFVuaQpzaXR6ZW4uIERpZSBzaXR6ZW4gbmFlbWxpY2ggdWVibGljaGVyd2Vpc2UgaW4gb2VmZmVudGxpY2hlbiBUZXJtaW5hbHJhZXVtZW4sCndvIGplZGVyIFNvdW5kIGF1cyBkZW0gUmVjaG5lciB6dW1pbmRlc3QgenUgYmVzb25kZXJlciBBdWZtZXJrc2Fta2VpdCBkZXIKQW53ZXNlbmRlbiwgZHVyY2hhdXMgYWJlciBhdWNoIHp1IGdyb2Vzc2VyZW0gQWVyZ2VyIGZ1ZWhyZW4ga2Fubi4KV2VubiBtYW4gZGVuIFNvdW5kIGFic2ljaHRsaWNoIHVuZCBrbGFyIHdpc3NlbnRsaWNoIGJlc3RlbGx0LCBpc3QgbWFuIHNlbGJlcgpzY2h1bGQuIFVuZ2V3b2xsdCBhbmRlcmVuIFNvdW5kIGF1Znp1ZHJ1ZWNrZW4gaXN0IGRhZ2VnZW4gemllbWxpY2gKcnVlY2tzaWNodHNsb3MuCgotIExvY28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc291bmQgaW0gd3d3IChXdXJ6ZWwsIDIyLiBPa3QgMTk5NywgMTg6MzI6NDEpOgp+IyEgcm49TW9yZ290aCBydD04Nzc0OTc3MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc3NDU4MTk0CmljaCBzaXR6IHNlbGJzdCBhbiBuZW0ga2xlaW5lbiBtb2RlbSBtaXQgZWluZW0gc2NoZWlzc3Byb3ZpZGVyLCBkZXIgYWxsZXMKc2Nob2VuIGxhbmdzYW0gdWViZXIgdXNhIHJvdXRldC4uLiBrZWluZSBhbmdzdCwgaWNoIG1hY2ggc2Nob24ga2VpbmUKZWxlZmFudGVuc2VpdGVuLCBpY2gga2VubiBkYXMgcHJvYmxlbSA6LwoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNvdW5kIGltIHd3dyAoV3VyemVsLCAyMi4gT2t0IDE5OTcsIDE4OjM2OjMxKToKfiMhIHJuPUxvY28gcnQ9ODc3NTMzNjQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3NzQ1ODE5NApva2F5LCBhcmd1bWVudC4gYWxsZXJkaW5ncyBoYWIgaWNoIGRhIGRvY2ggbmUgZnJhZ2U6IGlzdCBkYXMgaGV1dGUgd2lya2xpY2gKdWVibGljaCwgZGFzcyBpbiB1bmktdGVybWluYWxyYWV1bWVuIGRpZSByZWNobmVyIGFsbGUgbWl0IHNvdW5kIGF1c2dlc3RhdHRldApzaW5kPyBiaW4gd29obCBzY2hvbiB6dSBsYW5nZSB3ZWcuLi4gZGFtYWxzIGdhYiBlcyBpbiBkZW4gb2VmZmVudGxpY2hlbgp0ZXJtaW5hbHJhZXVtZW4gdGF0c2FlY2hsaWNoIHRlcm1pbmFscywgYWxzbyBkaWVzZSBkb29mZW4gZGluZ2VyLCBkaWUgbm9jaApuaWNodCBtYWwgZ3JhZmlrIGtvbm50ZW4uLi4KCnd1cnplbCBmcmFndCBzaWNoLCB3byBkaWUgZ2FuemVuIHN0ZXVlcm4gYmxlaWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc291bmQgaW0gd3d3IChDYXR3ZWF6bGUsIDIyLiBPa3QgMTk5NywgMTk6MDA6NTgpOgp+IyEgcm49V3VyemVsIHJ0PTg3NzUzODE5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc0NTgxOTQKSXN0IGVzIDovCkJlaSB1bnMgaW0gb2VmZmVudGxpY2hlbiBQb29sIHN0ZWhlbiBlaW4gSGF1ZmVuIFN1bnMgbWl0IGludGVybmVtIFNwZWFrZXIKdW5kIGthdW0gZWluZXIsIGRlciBkYSBkcmFuc2l0enQgd2Vpc3MsIHdpZSBtYW4gZGllIExhdXRzdGFlcmtlIHJlZ3VsaWVydCwKZ2VzY2h3ZWlnZSBkZW5uIGRlbiBTcGVha3JlIGF1c21hY2h0LiAKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgooc3VzZSkgbGludXggKDQuMykgY29uZmlndXJhdGlvbiAoUGlsZ3JpbSwgMjcuIE9rdCAxOTk3LCAxNDoyNzo0OSk6CkhpLAoKYWxzbyBpY2ggc3VjaCBrcmFtcGZoYWZ0IGRlbiBPcnQsIHdvIGljaCBiZWkgbGludXggKGluIGRpZXNlbSBGYWxsIFNVU0UgNC4zKQpzbyBQcm9ncmFtbWUgd2llIGRlbiBYRE0sIEFwYWNoZWUgb2RlciBzc2hkIG5hY2ggZGVtIGJvb3RlbiBhdXRvbWF0aXNjaApzdGFydGVuIGxhc3NlbiBrYW5uID8/PwoKTmVpbiwgZGVpIG1hbi1wYWdlIG51ZXR6dCBtaXIgbml4IC4uLiBlaW4gL2V0Yy9yYy5sb2NhbCBnaWJiZXRzIHVudGVyIGRpZXNlClN1c2UtVmVyc2lvbiBuaWNodCAuLi4gdW5kIGRlciBWZXJ3ZWlzIHZvbiBTVVNFIGF1ZiBkaWUgL3NiaW4vaW5pdC5kLyoKdW5kc293ZWl0ZXIgKGltIFJFQURNRSkgYnJpbmd0IG1pY2ggYXVjaCBuaWNodCB3ZWl0ZXIgOy0oCgpWb3IgbGF1dGVyIC9ldGMveHl6LmNvbmZpZy5maWxlcyB1c3cuIHZlcmxpZXIgaWNoIGV0d2FzIGRlbiBVZWJlcmJsaWNrIC4uLiBpY2gKYmluIGphIHNjaG9uIGZyb2gsIGRhcyBpY2ggbWlyIGRpZSBzb3VyY2VuIGJlc29yZ3QsIGRhcyBnYW56ZSBjb21waWxpZXJ0IHVuZAoiaW5zdGFsbGllcnQiIGhhYmUgKG1ha2UgaW5zdGFsbCA7LSkpIC4uLgpWb24gaGFuZCBhdXMgYXVmcnVmZW4ga2FubiBpY2ggamEgYWxsZXMgLi4uIG51ciBhdXRvbWF0aXNjaCBtdWVzc3RlIGhhbHQgZ2VoZW4KOy0pCgoKUGlsZ3JpbSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAoc3VzZSkgbGludXggKDQuMykgY29uZmlndXJhdGlvbiAoQmxvb2R5aGFycnksIDI3LiBPa3QgMTk5NywgMTU6NDA6NDUpOgp+IyEgcm49UGlsZ3JpbSBydD04Nzc5NTg4Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc3OTU4ODY5CkRlbiB4ZG0ga2FubnN0IER1IGluIGRlciAvZXRjL2luaXR0YWIgc3RhcnRlbiwgd2VubiBEdSBkZW4gU3RhbmRhcnQtUnVubGV2ZWwKdm9uIDIgYXVmIDMgYWVuZGVyc3QuCi9ldGMvcmMubG9jYWwga29lbm50ZSB2b24gL3NiaW4vaW5pdC5kL2Jvb3QubG9jYWwgZXJzZXR6dCB3ZXJkZW4uIERhcyB3ZWlzcwppY2ggYWJlciBuaWNoIHNvIGdlbmF1LiBQcm9iaWVycyBlaW5mYWNoIGF1cy4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzb3VuZCBpbSB3d3cgKFRyYW5jZWZlYXIsIDI3LiBPa3QgMTk5NywgMTY6Mzk6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3NzUzOTY1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc0NTgxOTQKQWxzIGljaCBub2NoIHN0dWRpZXJ0IGhhYiwgZ2FicyBiZWkgdW5zIGFubmVyIFVuaSBzb24gU3Bhc3N2b2dlbCwgZGVyIGFsbGUKUmVjaG5lciBpbSBDSVAtUmF1bSB6dSBlaW5lbSBrYWtvcGhvbmlzY2hlbiBLT256ZXJ0IHp1c2FtbWVuZ2VzdGVsbHQgaGF0IChiZWltCkhQLVNvdW5kc3lzdGVtIGthbm4gbWFuIGF1Y2ggbWl0IGFuZGVyZSBMZXV0ZSBSZWNobmVyIExhZXJtIG1hY2hlbi4uLik7IGRhcwpnaW5nIHNvbGFuZ2UsIGJpcyBlaW4gZ2VuZXJ2dGVyIFN5c29wIGF1ZiBhbGxlbiBSZWNobmVyIGRlbiBTb3VuZCBkaXNhYmxlZCBoYXQKOi0pCgpURgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAoc3VzZSkgbGludXggKDQuMykgY29uZmlndXJhdGlvbiAoV3VyemVsLCAyNy4gT2t0IDE5OTcsIDE4OjMxOjQxKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg3Nzk2MzI0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5NTg4NjkKYWxzbyBiZWkgbWVpbmVyIGluc3RhbGxhdGlvbiAoc3VzZSwgc2Nob24gZXR3YXMgYWVsdGVyKSBnaWJ0cyBlaW4gcmMubG9jYWwsCnVuZApkYXMgc3RlaHQgaW4gL2V0Yy9yYy5kLyB1bmQgYXJiZWl0ZXQgZ2FueiBzYXViZXIgKGluaXRpYWxpc2llcnQgZGllIHp1c2FldHotCmxpY2hlIHNlcmlhbCBsaW5lKS4ga2FubiBtaXIgbmljaHQgdm9yc3RlbGxlbiwgZGFzcyBpbiBzcGFldGVyZW4gdmVyc2lvbmVuCmRlciBtZWNoYW5pc211cyBuaWNodCBtZWhyIGRyaW4gc2VpbiBzb2xsdGUuLi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc291bmQgaW0gd3d3IChBbmF0b2wsIDI3LiBPa3QgMTk5NywgMjE6MTc6MjcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg3NzUzOTY1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc0NTgxOTQKLi4uIHVuZCBpbSBQb29sIGRlciBNYXRoZW1hdGlrZXIgc2l0emVuIGFiIHVuZCB6dSBlaW4gcGFhciBrcmFua2UgTXVkZGVyLApkaWUgYWxsZSBSZWNobmVyLCBhbiBkZW5lbiBzaWUgTklDSFQgc2l0emVuLCB6dSBlaW5lbSBoYWVzc2xpY2hlbiBMYWNoZW4Kendpbmdlbi4KCk51ciB3ZW5pZ2UgTWFsZSAoYWJlciBfZXJzY2hyZWNrZW5kXyBvZnQgOy0pKSBpbiA2MTEgZ2V3ZXNlbiBzZWllbmQsIApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaW51eCAoR3VsZHVrYXQsIDI3LiBPa3QgMTk5NywgMjM6Mjk6MjUpOgptZWluIGludXggc3R1ZXJ0eiBpbW1lciBhYi4gClggYmxlaWJ0IGVpbmZhY2ggc3RlaGVuLCB3ZW5uIG1hbiBlaW4gYnV0dG9uIG9kZXIgZWluIG1lbnVlcHVua3QgYW5jbGlja3QuIHNvCmVpbm1hbCBwcm8gd29jaGUuCmFzdXMgdDJwNCwgbWF0cm94IG1pbGxlbml1bSwgc3ZnYS14LXNlcnZyIChkZXIgc3RhbmRhcmQgbGludXgtc2VydmVyKSwgMTYgYml0CmZhcmJ0aWVmZSwgMTAyNCo3OTgKd2Vpc3MgamVtYW5kLCB3b3JhbiBkYXMgbGllZ2VuIGtvZW5udGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKHN1c2UpIGxpbnV4ICg0LjMpIGNvbmZpZ3VyYXRpb24gKEppbWRpZ3JpeiwgMjguIE9rdCAxOTk3LCAwNToxODowMyk6Cn4jISBybj1QaWxncmltIHJ0PTg3Nzk1ODg2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5NTg4NjkKSG9pLAoKZGF6dSBrYW5uIGljaCBudXIgZ2VuZXJlbGxlIEhpbndlaXNlIGdlYmVuLCB3aWVzCmJlaSBMb3NpeCBzcGV6aWVsbCBhdXNzY2hhdXQgd2Vpc3MgaWNoIG5lZC4KCndlbm4gZXMgYWJlciBlaW4gL3NiaW4vaW5pdC5kLyBWZXJ6ZWljaG5pcyBnaWJ0LApnaWJ0IGVzIHZlcm11dGxpdmNoIGF1Y2ggL2V0Yy9yYy5jb25maWcuZC8Kb2RlciAvZXRjL3JjLjAvIC4uLyAvZXRjL3JjLjMvIG9kZXIgc28gYWVobmxpY2gKCkltIEZhbGxlIHZvbiAvZXRjL3JjLmNvbmZpZy5kLyBzdWNoc3QgRHUgaW4gZGllc2VtIApWZXJ6ZWljaG5pcyBlaW4gZmlsZSwgZGFzcyB6dSBkZWluZW0gZGFlbW9uIHBhc3N0Cndlbm4ga2VpbnMgdm9yaGFuZGVuIGlzdCBtdXNzdCBEdSBkYXMgc2tyaXB0CmxlaWRlciBzZWxiZXIgc2NocmVpYmVuLgptZWlzdCBtdXNzIG1hbiBhbiBkaWVzZXIgPlN0ZWxsZSBudXIgZWluZSBlbnZpcm9ubWVudCBWYXJpYWJsZQpzZXR6ZW4sIHNvIHdpZSBTRU5ETUFJTFNFUlZFUj0xCkluIC9ldGMvaW5pdC5kLyBiZWZpbmRldCBzaWNoIGRhcyBlbnRzcHJlY2hlbmRlIHN0YXJ0L3N0b3AtClNrcmlwdCwgZGFzcyBkaWVzZSBhdXN3ZXJ0ZXQgdW5kIGRlbiBkYWVtb24gc3RhcnRldAoKYmVpIC9ldGMvcmMuMC8gZXRjIGlzdCBlcyBhZWhubGljaCwgd29iZWkgZGllIE51bW1lcm4KZGVtIHJ1bmxldmVsIGVudHNwcmVjaGVuIGluIGRlbSBkZXIgZGFlbW9uIGdlc3RhcmV0ZXQgCndlcmRlbiBzb2xsCgpEZW4geGRtIGthbm4gbWFuIHUuYS4gYXVjaCBub2NoIGluIGRlciBpbml0dGFiIHN0YXJ0ZW4KCkhUSCwKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAoQmxvb2R5aGFycnksIDI4LiBPa3QgMTk5NywgMTA6MjQ6MTMpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODc3OTkxMzY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3Nzk5MTM2NQpJY2ggaGFiZSBzb3dlaXQgZGllIGdsZWljaGUgS29uZmlndXJhdGlvbiBvaG5lIFByb2JzIGFtIGxhdWZlbi4gR2lidCBlcwpiZWkgRGlyIG5vY2ggUHJvYmxlbWUgbWl0IGFuZGVyZW4gUHJvZ3JhbW1lbiBvZGVyIG51ciB1bnRlciBYPwpXYXMgZ2VuYXUgc3R1ZXJ6dCBhYj8gRGVyIFdpbmRvd21hbmFnZXIgb2RlciBhdWNoIGFuZGVyZSBBbndlbmR1bmdlbj8KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbGludXggKEhhdGUsIDI4LiBPa3QgMTk5NywgMTE6MzI6MjcpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODc3OTkxMzY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3Nzk5MTM2NQpTb3dlaXQgaWNoIHdlaXNzIGdpYnQgZXMgYmVpIG1hbmNoZW4gZGllc2VyIEdyYWZpa2thcnRlbiBlaW5lbiBCSU9TIGJ1Zy4KQWJlciBlcyBnaWJ0IHdvaGwgYWJoaWxmZS4gU3VjaCBlaW5mYWNoIG1hbCBpbSBXZWIgdW5kIERlamFOZXdzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAoUGlsZ3JpbSwgMjguIE9rdCAxOTk3LCAxMzowODoyNSk6Cn4jISBybj1HdWxkdWthdCBydD04Nzc5OTEzNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc3OTkxMzY1CkhtbSwKCmRhIGZhbGxlbiBtaXIgc3BvbnRhbiAyIFNhY2hlbiBlaW4gLi4uIEJJT1MgZGVyIEthcnRlIGF1ZiBkZW4KbGV0enRlbiBTdGFuZCBicmluZ2VuIHVuZCBYLVNlcnZlciBhdWYgZGVuIGxldHp0ZW4gU3RhbmQgYnJpbmdlbiAuLi4gZGFzIGhhdAp6dW1pbmRlc3QgZGFtYWxzIGJlaSBtaXIgZ2Vob2xmZW4gKHdlbm5zIGF1Y2gga2VpbmUgTGlsZW5pdW0gc29uZGVybiBuZQpNeXN0aXF1ZSB3YXIgLi4uKS4KdXBzIE1pbGxlbml1bSBuYXQuIDstKQoKUGlsZ3JpbQoKaW5oYWx0CgoqYXJyZ2hoKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IChzdXNlKSBsaW51eCAoNC4zKSBjb25maWd1cmF0aW9uIChQaWxncmltLCAyOC4gT2t0IDE5OTcsIDEzOjI5OjQzKToKfiMhIHJuPVBpbGdyaW0gcnQ9ODc3OTU4ODY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3Nzk1ODg2OQpPLksuLAoKdGhhbmtzIGEgbG90IC4uLiBoaWVyIG1hbCBkZXIgU3RhbmQgZGVyIERpbmdlOgoKClhETSBsYXNlc3Qgc2ljaCBpbSAvZXRjL2luaXR0YWIgInN0YXJ0ZW4iIC4uLiBaZWlsZSBiZWkgZGVuIGdldHR5LXByb2dyYW1tcwpkZS1rb21tZW50aWVyZW4gLi4uIApGcmFnZTogZGEgc3RlaHQgbm9jaCBuZW4gLi4uCiMgZGVmYXVsdCBydW5sZXZlbAppZDoyOmluaXRkZWZhdWx0OgoKCiAuLi4gbXVzcyBpY2ggZGEgbm9jaCBkaWUgMiBuYWNoIDMgYWVuZGVybiA/Pz8KCmRlbiBzc2hkICBoYWIgaWNoIGF1Y2ggYW5zIGxhdWZlIGdla3JpZWd0IC4uLiBzbyBhZWhubGljaCwgd2llIEppbWRpKgpiZXNjaHJpZWJlbiBoYXQgLi4uIGhhbHQgZGVuIGF1ZnRydWYgZnVlciBuZW4gYW5kZXJlbiBkYWVtb24gZ2VoYWNrdCAuLi4KCgphbGxlcmR1bmdzIGdpYmJldCBrZWluIC9ldGMvcmMqLiogbWVociAuLi4gaGVpc3QgamV0enQgL3NiaW4vaW5pdC5kCnVuZCAvc2Jpbi9pbml0LmQvcmM/LmQgKD89MSwyLC4uKSAuLi4KYWxsZXJkaW5ncyBzaW5kIG1pciBkaWUgQmV6ZWljaG51bmdlbiBpbiAuLi4vcmM/LmQgbm9jaCBlaW4gUmFldHNlbCAuLi4KCndvZnVlciBzdGVoZW4gZGVubiBkaWVzZSBLMTB4ZG1AICwgb2RlciBLMjBjcm9uIHVzdyAuLi4gc2luZCBkaWUgS25uCmlyZ2VuZHdlbGNoZSBQcmlvcml0YWV0ZW4gPz8KdW5kIHdvZnVlciBzdGVoZW4gZGllIFMxMHhkbUAgb2RlciBTMjBjcm9uQCA/Pz8KCmhtbSwgb2sgLi4uIGFsc28geGRtIHVuZCBzc2hkIGxhdWZlbiBob2NoIChvYndvaGwgaWNoIG5vY2ggbmljaHQgZGllc2UgMiBhdWYgMwpnZWFlbmRlcnQgaGFiKSAuLi4KYXVjaCBkZXIgYXBhY2hlZSBsYWV1ZnQgc28gaG9jaCAuLi4gYWJlciBkZXIgcHJvZHV6aWVydCBpcmdlbmR3aWUgUHJvemVzc2UgLi4uCnNwcmljaCwgYmVpIGplZGVtIFp1Z3JpZmYgYmxlaWJ0IHp1bSBzY2hsdXNzIGVpbiBQcm96ZXNzIHVlYnJpZyAocHMgLWF1eCkgLi4uCndhcyBpcmdlbmR3aWUgbmljaHQgc28gcmljaHRpZyBhdXNzaWVodCAuLi4gaXJnZW5kd2FubiBnaWJidCBkYXMgZG9jaCBwcm9ibGVtZQouLi4KVVNFUiAgICAgICBQSUQgJUNQVSAlTUVNICBTSVpFICAgUlNTIFRUWSBTVEFUIFNUQVJUICAgVElNRSBDT01NQU5ECgp+Cm5vYm9keSAgICA0MDIyICAwLjAgIDMuNCAgMTE2MCAgIDY0OCAgPyAgUyAgIDEyOjUyICAgMDowMAovdXNyL2xvY2FsL2h0dHBkL2h0dHAKCgoKUGlsZ3JpbSAtIGhvZmZ0LCBkYXMgaWhtIGF1Y2ggZGFiZWkgZWluZXIgaGVsZmVuIGthbm4KKGRhcmYgYXVjaCBlaW5lIHNlaW4gOy0pCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKHN1c2UpIGxpbnV4ICg0LjMpIGNvbmZpZ3VyYXRpb24gKE1hcmN1cywgMjguIE9rdCAxOTk3LCAxNDoxNzo0OCk6Cn4jISBybj1QaWxncmltIHJ0PTg3ODA0MTc4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5NTg4NjkKSzxucj5uYW1lIHNpbmQgc2NyaXB0ZSwgZGllIGRpZSBlbnRzcHJlY2hlbmRlbiBwcm9ncmFtbWUgS2lsbGVuClM8bnI+bmFtZSBzaW5kIHNjcmlwdGUsIGRpZSBkaWUgZW50c3ByZWNoZW5kZW4gcHJvZ3JhbW1lIFN0YXJ0ZW4KZGllIDxucj4gc3RlaHQgZnVlciBkaWUgUmVpaGVuZm9sZ2UgaW4gZGVyIGRhcyBnZXNjaGllaHQKL2V0Yy8KL2V0Yy9yYyouZC8gZ2lidCBlcyB3aWVkZXIgaW4gbmV1ZXJlbiBzdXNlcyAKaW5pdGxldmVsIGFlbmRlcm4sIGphLgpkZXIgYXBhY2hlICdwcmVmb3JrZWQnIGVpbmUgZ2V3aXNzZSBhbnphaGwgdm9uIGh0dHBkLCB1bSBwYXJhbGxlbGUgcmVxdWVzdHMKYmVzc2VyIGJlaGFuZGVsbiB6dSBrb2VubmVuLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzb3VuZCBpbSB3d3cgKEhlbHZhLCAyOC4gT2t0IDE5OTcsIDIxOjU0OjIzKToKfiMhIHJuPVd1cnplbCBydD04Nzc1MzgxOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc3NDU4MTk0CkFsc28gZnJ1ZWhlciBpbiBkZXIgZ3V0ZW4gYWx0ZW4gemVpdC4uLmRhIGJla2FtIGljaCBpbiBkZW4gcGFhciB3aXJrbGljaApvZWZmZW50bGljaCB6dWdhZW5nbGljaGVuIFJlY2huZXJyYWV1bWVuIChhbHNvIG5pY2h0IHNtaXQgQ29kZWthcnRlIHVuZCBzb24KbXVlbGwpIGltbWVyIGVpbmVuIFJlY2huZXIgenVtIE11ZGRlbi4gTGVpZGVyIGhhYmVuIHNpZSB2b3IgY2EuIGRyZWkgTW9uYXRlbiA4ClBlbnRpdW0tUmVjaG5lciBhdWZnZXN0ZWxsdC4uLiAyMDAgTWh6LiBTZWl0ZGVtIGlzdCBuaWNodCBzbWVociBtaXQgbXVkZGVuLCBkYQpzcHJlY2hlbiBzaWNoIGFiICggVWhyIHNvcnJ5LCBhYiA4IFVociBtb3JnZW5zIFFsdWlja2VuIGFiLCB3ZXIgd2FubiBhbiBkZW4KUmVjaG5lciBrYW5uLi4uIFVubm9ldGlnIHp1IHNhZ2VuLCBkYXNzIGVzIGZydWVoZXIgYXVjaCBtZWhyIEFyYmVpdHNwbGFldHplCmdhYi4gRGFmdWVyIGJyaW5nZW4gZGllIExldXRlIHNpY2ggdm9uIHp1IEhhdXNlIGFiZXIgYXVjaCBLb3BmaG9lcmVyIG1pdCwKZGFtaXQgd2lyZCBkYW5uIGRhcyBTb3VuZHByb2JsZW0gZ2Vsb2VzdC4KSGVsdmEKUC5TOiBoYWJlIGhldXRlIG1laW5lIC1ob2ZmZW50bGljaCAtIGxldHp0ZSBFeGFtZW5za2xhdXN1ciBnZXNjaHJpZWJlbiwgYWxzbwplbnRzY2h1bGRpZ3QgdHlwb3MgdW5kIGFlaG5saWNoZXMuLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbGludXggKEd1bGR1a2F0LCAyOS4gT2t0IDE5OTcsIDIyOjQ2OjQ2KToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTg3ODAzMDY1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5OTEzNjUKZGVyIGtvbXBsZXR0ZSByZWNobmVyIHN0dWVyenQgYWIsIGVzIGdlaHQgbml4IG1laHIsIG5vY2ggbmljaHQgbWFsIHViZXJzCm5ldHp3ZXJrIGVpbmxvZ2dlbiBnZWh0LiBwYXNzaWVydCBiZWkgdmVyc2NoaWVkZW5lbiBidXR0b25zLCBtZW51ZXB1bmt0ZW4sCmZlbnN0ZXJidXR0b24sIGltIG5ldHNjYXBlLCBkZXNrKm1hbiogKHNvbmUgYXJ0IG5vcnRvbmNvbW1hbmRlcikgLi4uIHNvbnN0CmxhZXVmdCBub2NoIGtlaW4gcHJvZ3JhbSB1bnRlciBYCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyYzUgKEFuYWtpbiwgMzAuIE9rdCAxOTk3LCAxMToyNToyOCk6CkhpLAoKbWFjaHQgbm9jaCBqZW1hbmQgYmVpIFJDNSAoaHR0cDovL3d3dy5kaXN0cmlidXRlZC5uZXQvKQpDb250ZXN0IG1pdD8gRXZ0LiBzb2xsdGVuIHdpciBtYWwgbmVuIGRldXRzY2hlcyBNdWQgVGVhbQpiaWxkZW4uIEFsc28gd2VyIEx1c3QgaGF0IG1haWwgbWlyIG1hbC4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByYzUgKFJhZmZpLCAzMC4gT2t0IDE5OTcsIDEzOjE1OjAyKToKfiMhIHJuPUFuYWtpbiBydD04NzgyMDcxMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4MjA3MTI4CkhtbSBpY2gga29lbm50ZSBuZW4gUDIwMCB1bnRlciBOVCAzLjUxIGFscyBrbGllbnQgYmVpc3RldWVybiAuLi4gc29sYW5nZSBpY2gKbmljaHQgYXJiZWl0ZWF1Y2ggenUgMTAwJQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByYzUgKE1hcmN1cywgMzAuIE9rdCAxOTk3LCAxNTowMTo0MCk6Cn4jISBybj1BbmFraW4gcnQ9ODc4MjA3MTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODIwNzEyOApFcnIsIHdhciBkZXIga2V5LCBkZW4gZGllIGFtaXMgZ2VrbmFja3QgaGFiZW4sIG5pY2h0IGRlcj8gCgpNYXJjdXMKKGFjaGphLCB6ZWlsZSAxMzAgZmVobHQgZWluIDsgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByYzUgKEFuYWtpbiwgMzAuIE9rdCAxOTk3LCAxNjowNzowNCk6Cn4jISBybj1NYXJjdXMgcnQ9ODc4MjIwMTAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODIwNzEyOApTb3ZpZWwgaWNoIHdlaXNzIHd1cmRlIGRlciBSQzUtNTZCaXQgU2NobHVlc3NlbCB2b24gbmVtClR5cGVuIGF1cyBCcnVlc3NlbCBnZWZ1bmRlbi4gTnVuIGtvbW10IGRlciA2NEJpdCAKU2NobHVlc3NlbCBkcmFuLCBlcyBzaW5kIDEwMDAgVVNEIHp1IHZlcmRpZW5lbgpkaWUgbWFuIGRhbm4gZXZ0LiBkZW0gVmVyZWluIHp1a29tbWVuIGxhc3NlIGtvZW5udGUuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgooc3VzZSA0LjMpIGVpbmxvZ2dlbiB1ZWJlciBlaW4gbW9kZW0gKFBpbGdyaW0sICA0LiBOb3YgMTk5NywgMTQ6MDQ6NTMpOgpIaSwKCmljaCBoYWIgKG1hbCB3aWVkZXIpIGVpbmUgRnJhZ2UgenUgTGludVg6CldpZSBrb25maWd1cmllcmUgaWNoIGxpbnV4LCBkYXMgZXMgbW9lZ2xpY2ggaXN0LCBzaWNoIHVlYmVyIGVpbgooZXh0cmVuZXMpIE1vZGVtIGF1ZiBkaWVzZW0gcmVjaG5lciBlaW56dWxvZ2dlbiAoYWxzbyB3aWUgZWluCiJ0ZWxuZXQgPHJlY2huZXI+IiAtIG51ciB1ZWJlciBUZWxlZm9uPwoKUGlsZ3JpbSAtIGRlciBCYXN0bGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKHN1c2UgNC4zKSBlaW5sb2dnZW4gdWViZXIgZWluIG1vZGVtIChIYXRlLCAgNC4gTm92IDE5OTcsIDE1OjU4OjQxKToKfiMhIHJuPVBpbGdyaW0gcnQ9ODc4NjQ4NjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODY0ODY5MwptYW4gZ2V0dHkgYnp3IG1nZXR0eQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRmLXByb2JsZW0gKEF1cmlhbiwgIDYuIE5vdiAxOTk3LCAxMzoyMjoyOSk6CmhpLAprYW5uIG1pciBqZW1hbmQgc2FnZW4sIG9iIGVzIGluIHRmIG5lIG1vZWdsaWNoa2VpdCBnaWJ0LCBkaWUgdGFzdGVuIApmdWVyIGRpZSBzb25kZXJ6ZWljaGVuICJvZSIgImFlIiB1bmQgInVlIiBzbyB6dSBiZWxlZ2VuLCBkYXMgc2llIGltIApnZXNjaHJpZWJlbmVuIHRleHQgZGVyIGtvbW1hbmRvemVpbGUgYXV0b21hdGlzY2ggaW4gb2UgdWUgYWUgCmV4cGFuZGllcnQgd2VyZGVuPwoKYXVyaWFuLCBpc3Qgc2NocmVpYmZhdWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKemlwLWxhdWZ3ZXJrIHVudGVyIGxpbnV4ID8gKEphbml0emUsICA2LiBOb3YgMTk5NywgMTQ6MDI6MjApOgpIaSAhCkljaCBzcGllbCBtaXQgZGVtIEdlZGFua2VuLCBtaXIgZWluIHppcC1sYXVmd2VyayBtaXQgcGFyYWxsZWxwb3J0YW5zY2hsdXNzCnp1IGthdWZlbi4gTWVpbmUgRnJhZ2UgaXN0LCBvYiBpY2ggZGFzIFRlaWwgYXVjaCB1bnRlciBMaW51eCBhbnNwcmVjaGVuCmthbm4gPwoKSmFuaWNlLCBmYWVuZGUgZXMgZG9vZiwgZXJzdCBkb3Mgb2RlciBudCBob2NoZmFocmVuIHp1IG11ZXNzZW4sIHVtIGRhdGVuCmZ1ZXIgbGludXggenUga29waWVyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0Zi1wcm9ibGVtIChBY3JpbW9uLCAgNi4gTm92IDE5OTcsIDE0OjA3OjExKToKfiMhIHJuPUF1cmlhbiBydD04Nzg4MTg5NDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4ODE4OTQ5CkRpZSBaZWljaGVuIDxhZT4sIDxvZT4gdW5kIDx1ZT4gc2luZCBrZWluZSBTb25kZXJ6ZWljaGVuLCBzb25kZXJuIGdhbnogbm9ybWFsZQpVbWxhdXRlLgoKL2JpbmQgPGFlPiA9IC9pbnB1dCBhZQovYmluZCA8c3o+ID0gL2lucHV0IHN6Ci4uLgoKTmF0dWVybGljaCBtdXN6dCBkdSBzdGF0dCA8YWU+IGJ6dy4gPHN6PiBkaWUgZW50c3ByZWNoZW5kZW4gVGFzdGVuIGRydWVja2VuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRmLXByb2JsZW0gKE1vcmdvdGgsICA2LiBOb3YgMTk5NywgMTU6NTg6MjUpOgp+IyEgcm49QWNyaW1vbiBydD04Nzg4MjE2MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4ODE4OTQ5CkhpLAphbHNvIG1laW4gPHVlPiBpc3QgZGVyIEtsYW1tZXJhZmZlLCBtZWluIDxvZT4gZGVyIHN3aXRjaCBmdWVyCm92ZXJzdHJpa2UvaW5zZXJ0IHVuZCBkYXMgPGFlPiBtYWNoIGdhciBuaXguCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogemlwLWxhdWZ3ZXJrIHVudGVyIGxpbnV4ID8gKEF2YWxvbiwgIDYuIE5vdiAxOTk3LCAxODoyOTo1Nyk6Cn4jISBybj1KYW5pdHplIHJ0PTg3ODgyMTM0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg4MjEzNDAKSmEsIGthbm5zdCBEdS4KQWJlciBiZXNzZXIgd2FlcnMgYXVmIGRhcyBrb21iaW5pZXJ0ZSBaaXBQbHVzIERyaXZlIHp1IHdhcnRlbiwgZGFzCnNvd29obCBwYXJhbGxlbCBhbHMgYXVjaCBTQ1NJIGJpZXRldC4gT2RlciBiaWV0ZW4gc29sbC4gV2VyIHdlaXNzLAp3YW5uIGRhcyBqZXR6dCB3aXJrbGljaCBrb21tdC4uLiBEYXMgQW5ub3VuY2UgaXN0IHNjaG9uIGVpbiBwYWFyCk1vbmF0ZSBhbHQuIDooCgppLlYuLCB3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHppcC1sYXVmd2VyayB1bnRlciBsaW51eCA/IChKYW5pdHplLCAgNi4gTm92IDE5OTcsIDE5OjExOjQxKToKfiMhIHJuPUF2YWxvbiBydD04Nzg4MzczOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4ODIxMzQwCmljaCBoYWIgYWJhIGtlaW4gU0NTSSwgYWJlciB0cm90emRlbSBkYW5rZSAhCgpKYW5pY2UsIGJhbGQgWmlwLWRyaXZlLWJlc2l0emVyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHppcC1sYXVmd2VyayB1bnRlciBsaW51eCA/IChDYXR3ZWF6bGUsICA2LiBOb3YgMTk5NywgMTk6NTU6MjgpOgp+IyEgcm49SmFuaXR6ZSBydD04Nzg4Mzk5MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4ODIxMzQwClNvd2VpdCBpY2ggd2Vpc3MgbGllZ3QgYmVpIChtYW5jaGVuKSBTQ1NJLVpJUC1Ecml2ZSBlaW4ga2xlaW5lciAKU0NTSS1Db250cm9sbGVyIChBZGFwdGVjIDE1MDIsIG51ciBpbnRlcm4sIElTQSkgZGFiZWkuCkljaCBoYXR0ZSB6dW1pbmRlc3Qgc2Nob24gbWFsIHNvIGVpbiBQYWtldCBpbiBkZXIgSGFuZC4gCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogemlwLWxhdWZ3ZXJrIHVudGVyIGxpbnV4ID8gKEZyZXVuZCwgIDcuIE5vdiAxOTk3LCAwMDo1NDoxNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODc4ODQyNTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODgyMTM0MApTdGltbXQsIENhdCwgZGllc2UgdHJhZ2VuIGVpbmVuIHJpZXNlbiBydW5kZW4gQXVma2xlYmVyICJGUkVFIFNDU0kgQ09OVFJPTExFUgpJTlNJREUiLgoKTnVyLCAiZnVlciBhbGxlIEZhZWxsZSIsIGVpbiBGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogemlwLWxhdWZ3ZXJrIHVudGVyIGxpbnV4ID8gKFJpa3VzLCAgNy4gTm92IDE5OTcsIDEwOjE5OjQxKToKfiMhIHJuPUphbml0emUgcnQ9ODc4ODIxMzQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODgyMTM0MApIaSwKc2NoYXUgbWFsIHVudGVyIGh0dHA6Ly93d3cudG9ycXVlLm5ldC96aXAuaHRtbCwgZG9ydCBzaW5kCnRvb2xzLCBob3d0bydzIHVuZCBkcml2ZXJzIGJlc2NocmllYmVuIHVuZCB6dSBmaW5kZW4uCgpyaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0Zi1wcm9ibGVtIChBdXJpYW4sICA3LiBOb3YgMTk5NywgMTI6Mzk6NDMpOgp+IyEgcm49QWNyaW1vbiBydD04Nzg4MjE2MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4ODE4OTQ5CmRhbmtlLi4gbmFjaCBlaW5pZ2VtIHJ1bXByb2dpZXJlbiBoYXRzIGJlaSBtaXIgZ2VrbGFwcHQuLi4KCmF1cmlhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluZSBGcmFnZSB6dSBMYXVmd2Vya3NidWNoc3RhYmVuIChOaXJkYXZvLCAgNy4gTm92IDE5OTcsIDE2OjE1OjUwKToKICBWaWVsbGVpY2h0IGthbm4gbWlyIGplbWFuZCBiZWkgZWluZW0gUHJvYmxlbSBoZWxmZW4uIEljaCBtdXNzIGluIG1laW5lbQpSZWNobmVyIGVpbmVuIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gZnJlaWJla29tbWVuLCBkZXIgdm9uIGVpbmVyIEZlc3RwbGF0dGUKYmVsZWd0IHdpcmQuIE1laW4gQ0QtUk9NIGhhdCBzaWNoIG5hZW1saWNoIGR1cmNoIGRlbiBFaW5iYXUgd2VpdGVyIG5hY2ggaGludGVuCnZlcnNjaG9iZW47IGFiZXIgaWNoIGJyYXVjaGUgZXMgKnVuYmVkaW5ndCogYXVmIGRlciB1cnNwcnVlbmdsaWNoZW4gS2VubnVuZy4KKEZyYWd0IGpldHp0IG5pY2h0IHdhcnVtLCBkYXMgaXN0IG5lIGxhbmdlIEdlc2NoaWNodGUpCiAgV2FzIGljaCBhbHNvIGJyYXVjaGUgaXN0IGVpbmUgTWV0aG9kZSBhdXMgTGF1ZndlcmsgRDogZWluIExhdWZ3ZXJrIEY6IHp1Cm1hY2hlbiwgd29iZWkgaWNoIGRhbmFjaCBEOiBlaW5lbSBDRC1ST00genVvcmRuZW4ga2Fubi4KICBJY2ggbW9lY2h0ZSBqZXR6dCBuaWNodCBob2VyZW4gJ0luc3RhbGxpZXIgZGlyIExpbnV4LCBkYSBoYXN0IER1IGRhcwpQcm9ibGVtIG5pY2h0JzsgZXJzdGVucyB3ZWlzcyBpY2ggZGFzIGF1Y2gsIHVuZCB6d2VpdGVucyAqaXN0KiBMaW51eCBlaW4gVGVpbApkZXNzZW4sIHdhcnVtIGljaCBkYXMgUHJvYmxlbSBoYWJlIQoKICAgICAgICAgICAgTmlyZGF2bywgYXVmIHNpbm52b2xsZSBBbnR3b3J0ZW4gaG9mZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbmUgRnJhZ2UgenUgTGF1ZndlcmtzYnVjaHN0YWJlbiAoSGF0ZSwgIDcuIE5vdiAxOTk3LCAxNjoxODo0Myk6Cn4jISBybj1OaXJkYXZvIHJ0PTg3ODkxNTc1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg5MTU3NTAKV2VubiBlcyBlaW4gU0NTSSBTeXN0ZW0gaXN0LCBkZW0gTGF1ZndlcmsgRDosIHdlbm5zIGVpbmUgZWlnZW5lIFBMYXR0ZSBpc3QsCmVpbmUgSUQgZ2ViZW4gZGllIGhpbnRlciBkZW0gQ0QgUk9NIHN0ZWh0LgoKQW5zb25zdGVuOiBXZW5pZyBDaGFuY2VuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluZSBGcmFnZSB6dSBMYXVmd2Vya3NidWNoc3RhYmVuIChGcmV1bmQsICA3LiBOb3YgMTk5NywgMTY6MjI6NDQpOgp+IyEgcm49SGF0ZSBydD04Nzg5MTU5MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4OTE1NzUwCkhpLAp1bnRlciBXaW45NToKTGF1ZndlcmsgaW0gQXJiZWl0c3BsYXR6IG1pdCByZWNodGVyIE1hdXN0YXN0ZSBhbmtsaWNrZW4uCkFuZHJlcmVuIEJ1Y2hzdGFiZW4genV3ZWlzZW4uCgpVbnRlciBET1M6CmFzc2lnbiBCZWZlaGwgdW5kIHZlcnN1Y2hlbiwgZGFzIGdhbnplIGltIERyZWllY2tzdGF1c2NoIGhpbnp1a3JpZWdlbi4KCkZyZXVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKHN1c2UpIGxpbnV4ICg0LjMpIGNvbmZpZ3VyYXRpb24gKEppbWRpZ3JpeiwgIDkuIE5vdiAxOTk3LCAxODoyOToxMCk6Cn4jISBybj1QaWxncmltIHJ0PTg3ODA0MTc4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5NTg4NjkKTU9pbiwKCmFsc28gZGllIHphaGxlbiBoaW50ZXIgU25uIG9kZXIgS25uIGxlZ2VuIGVpbmZhY2ggZGllClJlaWhlbmZvbGdlIGZlc3QgaW4gZGVyIGRpZSBEaWVuc3RlIGdlc3RhcnRldCB3ZXJkZW4uCldhcyBLIG9kZXIgUyBub2NobWFsIGdlbmF1IGJlZGV1dGV0IHdlaXNzIGljaCBuaWNodCBtZWhyCmdlbmF1LCBkYXp1IG11ZXNzdCBpY2ggbWlyIHNvIGVpbiBTeXN0ZW0gbm9jaG1hbCBhbmt1Y2tlbgooaGFiIGphIGhpZXIgQlNFKS4KV2VubiBEdSBpbiBkZXIgaW5pdHRhYiBkaWUgcnVubGV2ZWwgbmljaHQgZ2VhZW5kZXJ0IGhhc3QKbGF1ZmVuIHNpZSBuYXR1ZXJsaWNoIHRyb3R6ZGVtIGhvY2gsIG51ciBldnRsIGZydWVoZXIKYWxzIHVlYmxpY2guCkRpZSBydW5sZXZlbCBzaW5kIHdlbm4gaWNocyByaWNodGlnIGltIEtvcGYgaGFiCjAgOiBzaW5nbGUgdXNlciBtb2RlCjEgOiBsb2thbGUgZmlsZXN5c3RlbWUgZ2Vtb3VudGVkIHVuZCBNdWx0aS11c2VyCjIgOiBOZXR6ZGllbnN0ZSBzb3dpZSBORlMgZmlsZXN5c3RlbWUgZ2Vtb3VudGVkCjMgOiBHVUkgKHhkbSwgQ0RFLCBldGMpCgpvaG5lIGdld2FlaHIKCnp1bSBodHRwZDogbmFjaGRlbSBEdSBpaG4gZXh0cmEgc3RhcnRlc3QgbmVobSBpY2ggYW4gZGFzcyBlciBuaWNodAp1ZWJlciBkZW4gaW5ldGQgZ2VzdGFydGV0IHdpcmQgKHdhcyB3b2hsIGF1Y2ggdWVibGljaCBpc3QpCmRhbm4gbXVzcyBuYXR1ZXJsaWNoIGltbWVyIGVpbiBQcm96ZXNzIHZvcmhhbmRlbiBzZWluIHVtCmF1ZiBkZW0gaHR0cCBwb3J0ICg4MCkgenUgaG9yY2hlbiBvYiBlaW4gcmVxdWVzdCBrb21tdCwKaW4gZGllc2VtIGZhbGwgZm9ya2VkIGVyIGRhbm4gZWluZW4gcHJvemVzcyBhYgoob2RlciB3YXIgZGVyIGFwYWNoZSBuaWNodCBub24tZm9ya2luZyA/KQpkZXIgZGVuIHJlcXVlc3QgYmVhcmJlaXRldC4KCkhUSCwKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IChzdXNlKSBsaW51eCAoNC4zKSBjb25maWd1cmF0aW9uIChKaW1kaWdyaXosICA5LiBOb3YgMTk5NywgMTg6MzM6MjgpOgp+IyEgcm49SmltZGlncml6IHJ0PTg3OTA5NjU1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzc5NTg4NjkKb29wcywKbWFyY3VzIGhhdHMgamEgc2Nob24gKHVuZCBiZXNzZXIpIGJlYW50d29ydGV0LAplcnN0IGxlc2VuIGRhbm4gcG9zdGVuLCBqYWphCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5lIEZyYWdlIHp1IExhdWZ3ZXJrc2J1Y2hzdGFiZW4gKFRyYW5jZWZlYXIsIDExLiBOb3YgMTk5NywgMTA6MDE6MzEpOgp+IyEgcm49TmlyZGF2byBydD04Nzg5MTU3NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4OTE1NzUwClNldHogZGFzIENEUk9NIGF1ZiBaOiAoZ2dmIExBU1REUklWRT1aIGluIGRlciBjb25maWcuc3lzKSwgZGFubiBoYXN0IER1IG5pZQp3aWVkZXIgZWluIFByb2JsZW0gZGFtaXQuIFdhcyBpY2ggbmljaHQgdmVyc3RlaGUgaXN0LCB3YXJ1bSBkYXMgQ0RST00KKnVuYmVkaW5ndCogYXVmIEQgc2VpbiBtdXNzLiBEYXMga2FubiBtYW4gZG9jaCAoZmFzdCkgdWViZXJhbGwga29uZmlndXJpZXJlbgooQXVzbmFobWU6IERPUy1TcGllbGUsIGFiZXIgZGFzIGhhdCBtaXQgTGludXggbml4IHp1IHR1bikKClRGCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaWxmZSBnZXN1Y2h0IChLaG9yYWssIDExLiBOb3YgMTk5NywgMjA6MDA6NDgpOgpJY2ggaGFiZSBmb2xnZW5kZXMgUHJvYmxlbSA6IApJbiBlaW5lbSBVbml4LVZlcnplaWNobmlzIHN0ZWhlbiBtZWhyZXJlIERhdGVpZW4gCmRlciBGb3JtIFlZWVlZWVlZWVl4eHh4eHguCkRhcyBZLi4uWSBpc3QgYmVpIGFsbGVuIGdsZWljaCxudXIgZGllIHh4eHh4eCAoZ2VuYXUgNikgc2luZAp2ZXJzY2hpZWRlbi4KSWNoIGJlbm9ldGlnZSBlaW4gc2NyaXB0ZmlsZSwgZGFzcyBtaXIgZGllc2UgRGF0ZWllbiBpbiBmb2xnZW5kZSBGb3JtCnVtd2FuZGVsdDoKeHh4eHh4LmJpbiAsIGRhbWl0IHNpZSBpbSBET1MtRm9ybWF0IDooIGxlc2JhciBzaW5kLgpHaWJ0IGVzIGVpbmUgc29sY2hlIE1vZWdsaWNoa2VpdCwgdW5kIHdlbm4gamEsIHdpZSBtdWVzc3RlIG1laW4gU2tyaXB0IAphdXNzZWhlbiA/Cktob3JhayAsIGtlaW5lIEFobnVuZyB2b24gU2tyaXB0cyA6KSBoYWJlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSBnZXN1Y2h0IChSaW5nb3IsIDExLiBOb3YgMTk5NywgMjA6NTU6MDUpOgp+IyEgcm49S2hvcmFrIHJ0PTg3OTI3NDg0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzkyNzQ4NDgKSXJnZW5kd28gaW4gZGVuIFRpZWZlbiBtZWluZXMgU3VzZS1QYWtldGVzIGhhYmUgaWNoIGJlaW0gSW5zdGFsbGllcmVuIGRlbgpCZWZlaGwgJ21tdicgYW5nZWtsaWNrdC4gTGF1dCBCZXNjaHJlaWJ1bmcga2FubiBtYW4gZGFtaXQgZ2VuYXUgc293YXMgbWFjaGVuOgptbXYgKi5hICouYiBldGMuCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGlsZmUgZ2VzdWNodCAoQXZhbG9uLCAxMi4gTm92IDE5OTcsIDAxOjA2OjI2KToKfiMhIHJuPVJpbmdvciBydD04NzkyNzgxMDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc5Mjc0ODQ4Cm1tdiBoYXQgZWluZSBldHdhcyBrb21wbGl6aWVydGVyZSBTeW50YXggYWxzIGRhcyBET1MtUGVuZGFudCwKaXN0IGRhZnVlciBhbGxlcmRpbmdzIHVuZ2xlaWNoIG1hZWNodGlnZXIuIERlc3dlaXRlcmVuIGlzdAp6dSBiZXJ1ZWNrc2ljaHRpZ2VuLCBkYXNzIFNvdXJjZS1BbmdhYmVuIG1pdCBXaWxkY2FyZHMgCnVuYmVkaW5ndCBxdW90ZWQgYW5nZWdlYmVuIHdlcmRlbiBtdWVzc2VuLCBkYSBzb25zdCBkaWUKU2hlbGwgZGllc2UgQW5nYWJlbiBleHBhbmRlZC4KCkVpbmUga29ycmVrdGUgU3ludGF4IHZvbiBtbXYgZnVlciBkYXMgUHJvYmxlbSB3YWVyZSB6LkIuCm1tdiAiWVlZWVlZWVlZWSoiICMxCgppLlYuCldvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSBnZXN1Y2h0IChDYXR3ZWF6bGUsIDEyLiBOb3YgMTk5NywgMTY6Mjk6NDgpOgp+IyEgcm49S2hvcmFrIHJ0PTg3OTI3NDg0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzkyNzQ4NDgKCkFsc28gd2VubiBEZWluZSBGaWxlcyBpbW1lciBkaWUgTGFlbmdlIHZvbiBZWVlZWVkgaGFiZW4gKHouQi4gMTApLCBkYW5uIAp0dXRzIGZvbGdlbmRlczoKIyEvYmluL2Jhc2gKZm9yIGkgaW4gKgpkbwpuZXc9YGVjaG8gJGl8Y3V0IC1iMTEtYApjcCAkaSAkbmV3CmRvbmUKClNvIG9kZXIgc28gYWVobmxpY2gsIGxhZXNzdCBzaWNoIGJlc3RpbW10IG9wdGltaWVyZW4uIApZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSBnZXN1Y2h0IChSb2NodXMsIDEyLiBOb3YgMTk5NywgMTY6MzA6NDkpOgp+IyEgcm49S2hvcmFrIHJ0PTg3OTI3NDg0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04NzkyNzQ4NDgKZm9yIGkgaW4gWVlZWVlZWVlZWSoKZG8KICBtdiAkaSBgZWNobyAkaXxzZWQgJ3MvXllZWVlZWVlZWVkvLydgLmJpbgpkb25lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhpbGZlIGdlc3VjaHQgKENhdHdlYXpsZSwgMTIuIE5vdiAxOTk3LCAxNjozMzowNyk6Cn4jISBybj1Sb2NodXMgcnQ9ODc5MzQ4NjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3OTI3NDg0OApBZWgsIGphLgpJY2ggaGFiIHVlYmVyc2VoZW4sIGRhc3MgZGllIFlZWVkgYWxsZSBnbGVpY2ggc2luZC4KTWVpbnMgdGFldGUgYXVjaCBtaXQgPz8/PyA6LSkKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTVUNIRSBVU0VSTkFNRSBVTlRFUiBXSU45NSAoQmluZywgMTQuIE5vdiAxOTk3LCAxNjo0MzoyOCk6CkljaCBoYWJlIGVpbiBrbGVpbmVzIFByb2JsZW0sCgppY2ggc3VjaGUgZGVuIEJlbnV0emVybmFtZW4gdW50ZXIgV2luOTUuIExlaWRlciB3aXJkIGVyIG5pY2h0IHdpZSB1bnRlciBOVAphbHMgVmFyaWFibGUgaW4gZGllIFNFVC1VbWdlYnVuZyBnZWJ1bmRlbi4gSWNoIGhhYmUgZGVuIEJlbnV0emVybmFtZW4KbGVkaWdsaWNoIHVudGVyIG5ldCBjb25maWcgZ2VmdW5kZW4uIEFiZXIgd2llIGJla29tbWUgaWNoIGlobiBkb3J0IGhlcmF1cz8KSWNoIGJyYXVjaGUgbmFlbWxpY2ggZGVuIEJlbnV0emVybmFtZW4gdW0gZWluIFZlcnplaWNobmlzIHp1IG1vdW50ZW4uCkthbm4gbWlyIGRhIGplbWFuZCBoZWxmZW4/PyEhCgpHcnVzcyBCaW5nCih3YXJ0ZXQgYXVmIGRlbiBCZW51dHplcm5hbWVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgQ29tcGl0ZWlsZSAoU251Z2dsZSwgMTguIE5vdiAxOTk3LCAxMzo1ODoxNCk6CkhpIElociBDb21wdXRlcnZlcnRyZXRlciBkYSBkcmF1c3NlbiwKCm5hY2hkZW0gbWVpbiBhbHRlcyBNYWluYm9hcmQgZW5kZ3VlbHRpZyBkZW4gR2Vpc3QgYXVmZ2VnZWJlbiBoYXQsIHdpbGwgaWNoIAptaXQgZGVtIG5ldWVuIGF1Y2ggZ2xlaWNoIGRlbiBTY2hyaXR0IHZvbSBNdXNldW1zc3R1ZWNrIHp1bSBudXIgbmljaHQgbWVocgpicmFuZGFrdHVlbGxlbiBSZWNobmVyIG1hY2hlbi4gRGFzIGJlZGV1dGV0IGljaCBzdWNoZToKCmVpbiBndXRlcyBNYWluYm9hcmQKUkFNIChpY2ggZGFjaHRlIGRhIHNvIGFuIDMyIE1CY2hlbikKUHJvemVzc29yIChkYSB0dXRzIGF1Y2ggZGllIHZvcmxldHp0ZSBHZW5lcmF0aW9uKQpUb3dlcmdlaGFldXNlIGlua2x1c2l2ZSBOZXR6dGVpbApDRC1MYXVmd2VyawoKRmFsbHMgamVtYW5kIG1pciBlaW5lbiBBYmhvbHByZWlzIG1hY2hlbiBrYW5uL3dpbGwsIGRlciBhdWNoIG5vY2gKaW4gbWVpbiBTdHVkZW50ZW5idWRnZXQgcGFzc3QsIHRhZXQgaWNoIG1pY2ggZnJldWVuLgpIYXQgYW5zb25zdGVuIHZpZWxsZWljaHQgamVtYW5kIGd1dGUgRXJmYWhydW5nZW4gbWl0IGVpbmVtIFRlaWxldmVyc2FuZApnZW1hY2h0IHVuZCB3ZWlzcyBub2NoIGRpZSBBZHJlc3NlPwoKR3J1c3MKU251Z2csIGZpbmRldCBkaWUgQm9ubmVyIExhZWRlbiBhbGxlIHp1IHRldWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGluZ2VucyAoR3VuZHVyLCAxOS4gTm92IDE5OTcsIDExOjQzOjE3KToKSGkKSWNoIHN1Y2ggYyBvZGVyIGJlc3NlciBjKysgc291cmNlY29kZSBmdWVyIG5lbiAnaW5jb21wbGV0ZSBjaG9sZXNreQpwcmVjb25kaXRpb25lcicgLi4uZnVlciBkYXMgY2cgVmVyZmFocmVuIHZlcnN0ZWh0IHNpY2guLgpJbSBuZXR6IGZpbmQgaWNoIGltbWVyIG51ciBmb3J0cmFuIGNvZGUuLi4KQWxzbyB3ZXIgZGFzIG1hbCBnZXNlaGVuIGhhdCBvZGVyIHNlbGJzdCBnZW1hY2h0IGhhdCBvZGVyIHdlaXMgd28gaWNoIGRhcwprcmllZywga29lbm50IHNpY2ggbmV0dGVyd2Vpc2UgYmVpIG1pciBtZWxkZW4uLgpHcnVzcwpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IE5ldHp3ZXJra2FydGUgdW5kIEluZm8gKE9ya3RvZXRlciwgMTkuIE5vdiAxOTk3LCAxMTo0Nzo0NSk6CkhpICEKSWNoIHN1Y2hlIGVpbmUgb2RlciBtZWhyZXJlIE5ldHp3ZXJra2FydGVuLiBXaXIgd29sbGVuIGluIHVuc2VyZW0KU3R1ZGVudGVud29obmhlaW0gZGllIG1vZWdsaWNoa2VpdCBoYWJlbiwgdW5zIGFiIHVuZCB6dSB6dSB0cmVmZmVuIHVuZCBkYW5uCmVpbiBuZXR6IGF1Znp1YmF1ZW4gdW0genVzYW1tZW4genUgc3BpZWxlbi4KCldlciBoYXQgbm9jaCBlaW5lIG9kZXIgbWVocmVyZSBhbHRlIE5lZXR6d2Vya2thcnRlbiwgd2VyIHdlaXNzLCBhdWYgd2FzIG1hbiBkYQphY2h0ZW4gbXVzcyBldGMuCgpBbnR3b3J0ZW4gYml0dGUgcGVyIG1haWwgYW4gbWljaCwgZGFzIGVzIHdvaGwgbmljaHQgdW5iZWRpbmd0IGFsbGUKSW50ZXJlc3NpZXJ0LgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZSBDb21waXRlaWxlIChSYWZmaSwgMTkuIE5vdiAxOTk3LCAxMjozNTo1Nik6Cn4jISBybj1TbnVnZ2xlIHJ0PTg3OTg1Nzg5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzk4NTc4OTQKRGFubiBzY2hhdSBkaXIgbWFsIGRpZSBNdWVuY2huZXIgYW4uCgpNZWluIEFrdHVlbGxlIEVtcGZlaGx1bmcgZnVlciBlaW5lbiBHdWVuc3RpZ2VuIEthdWYgd2FlcmUgZWluCkJpb3N0YXIgVFZYIEJvYXJkIChjYS4gMTcwLC0gaW4gTXVlbmNoZW4pCkRhcyBrYW5uIGFsbGVzIHZvbiBLNS0xMDAgdWViZXIgUGVudGl1bSB1bmQgQ3lyaXggYmlzIEs2LTIzMy4KQXVzc2VyZGVtIDJ4c2VyLFBhciwyeElERSxGbG9wcHkgZXRjLgpWb20gZ2xlaWNoZW4gSGVyc3RlbGxlciBnaWJ0cyBhdWNoIGVpbmUgU2VociBrb3N0ZW5ndWVuc3RpZ2UgVkdBIC0gUzMtVmlyZ2UKbWl0IDQgTUIgZnVlciAxMDksLSAtIGlzdCBkaWUgQmlsbGlnc3RlIDRNQiBLYXJ0ZSBkaWUgaWNoIGRlcnplaXQga2VubmUuIEd1dGUKUGVyZm9ybWFuY2UgenUgc3VwZXIgUHJlaXMuIEFMcyBFbXBmZWhsdW5nIGZ1ZXIgZGVuIFByb3ogd3VlcmRlIGljaCBzYWdlbiBkYXMKZWluIEs1LTE2NiBmdWVyIHJ1bmQgMjAwIE1hcmsgZXJzdG1hbCByZWljaHQuIE5hY2hzdGVzIEZydWVoamFociwgd2VubiBkZXIKSzYtMjMzIGVuZGxpY2ggdW50ZXIgNTAwLC0gWnUgaGFiZW4gc2VpbiBzb2xsdGUgaXN0IGRhbm4gZWluZSBBdWZydWVzdHVuZwptYWNoYmFyIC4uLiBkYW5uIGhhc3RlIGF1Y2ggbm9jaCBUb3BwZXJmb3JtYW5jZS4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGluZ2VucyAoRW5neXd1Y2ssIDE5LiBOb3YgMTk5NywgMTg6MDk6MTkpOgp+IyEgcm49R3VuZHVyIHJ0PTg3OTkzNjE5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzk5MzYxOTcKTmltbSBkb2NoIGRlbiBGb3J0cmFuLUNvZGUgdW5kIHVlYmVyc2V0eiBkZW4gbWl0IGRlbSBmMmMuLi4gOykKCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGUgQ29tcGl0ZWlsZSAoQ2F1bm8sIDIwLiBOb3YgMTk5NywgMTI6MTU6MTgpOgp+IyEgcm49U251Z2dsZSBydD04Nzk4NTc4OTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc5ODU3ODk0CkFsc28gaGllciBpbiBLb2VsbiBnaWJ0IGVzIGVpbmVuIExhZGVuIGRpcmVrdCBhbSBVbmktQ2VudGVyLCBkZW0gaWNoIHdpcmtsaWNoCnZlcnRyYXVlLiBEYSBoYWIgaWNoIHp1IEJsZWlzdGlmdCBtZWluZW4gUGVudGl1bSB6dXNhbW1lbmdlc3RlbGx0LiBJc3QgZnVlcgpTdHVkZW50ZW4gZ2VuYXUgYWRzIHJpY2h0aWdlLgoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZUUC1DbGllbnQgZnVlciBXRlczMTEgZ2VzdWNodCAoTW9yZ290aCwgMjQuIE5vdiAxOTk3LCAxNDowMjozNCk6ClRqYSwgd2llcyBpbSBUaXRlbCBzY2hvbiBzdGVodCwgc3VjaCBpY2ggbiBndXRlcyBGVFAgZnVlciBXaW4zMTEuIEFsc28gZWlucywKZGFzcyBuZSB2ZXJudWVuZnRpZ2UgT2JlcmZsYWVjaGUgaGF0IChuY2lodCB3aWUgZGFzIHZvbiBNaWNrZXJzb2Z0KSB1bmQgZWlucywKZGFzcyBtZWhyIGFscyAyNTUgZmlsZXMgYXVmIGVpbmVtIHNhdWdlbiBrYW5uICh3aWUgV2luRlRQKS4gV2VyIHNvd2FzIGtlbm50Cm9kZXIgaGF0Li4uLT4gbWFpbCBhbiBtaWNoLgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1ctU2VpdGVuIChRdWFzaW1vZG8sIDI1LiBOb3YgMTk5NywgMjA6NDY6MTUpOgpIYWxsbyEKCldpZSBrYW5uIG1hbiBXV1ctU2VpdGVuIHBhc3N3b3J0Z2VzY2h1ZXR6dCBtYWNoZW4/CgpEYW5rZSwKUXVhc2kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV1dXLVNlaXRlbiAoSmltZGlncml6LCAyNS4gTm92IDE5OTcsIDIwOjQ4OjE3KToKfiMhIHJuPVF1YXNpbW9kbyBydD04ODA0ODcxNzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwNDg3MTc1CkhvaSwKCmJlaW0gYXBhY2hlIG11c3MgbWFuIGdsYXViIGljaCBlaW4gLmh0YWNjZXNzIC0gZmlsZSBpbQokSE9NRSBhbmxlZ2VuLiBMZWlkZXIgd2Vpc3MgaWNoIG5jaWh0IHdhcyBnZW5hdSBkcmluc3RlaGVuIG11c3MuIDooCkhhdHRlIGRhcyBQcm9ibGVtIG5vY2ggbmllLi4uCgpDaWFvLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXV1ctU2VpdGVuIChBdmFsb24sIDI2LiBOb3YgMTk5NywgMDI6MDQ6MjQpOgp+IyEgcm49SmltZGlncml6IHJ0PTg4MDQ4NzI5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODA0ODcxNzUKTmljaHQgaW0gfiBzb25kZXJuIGRvcnQsIHdvIGF1Y2ggZGllIHp1IHJlcXVlc3RlbmRlIFNlaXRlIGxpZWd0LApiencuIGRydW50ZXIsIHNvd2VpdCBpY2ggd2Vpc3MuIEhpZXIgZWluIEJlaXNwaWVsIGZ1ZXIgQmFzaWMKQXV0aGVudGljYXRpb246CgotLS0tLVsuaHRhY2Nlc3NdLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkF1dGhVc2VyRmlsZSAvaG9tZS9ocHYxNy93ZWJieS9odHRwZC9jb25mLy5odHBhc3N3ZApBdXRoR3JvdXBGaWxlIC9ob21lL2hwdjE3L3dlYmJ5L2h0dHBkL2NvbmYvLmh0Z3JvdXAKQXV0aE5hbWUgQnlQYXNzd29yZApBdXRoVHlwZSBCYXNpYwoKPExpbWl0IEdFVD4Kb3JkZXIgZGVueSxhbGxvdwpyZXF1aXJlIGdyb3VwIGZlc3R3b2NoZW5ncm91cAphbGxvdyBmcm9tIGFsbAo8L0xpbWl0PgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJc3QgZW50c3ByZWNoZW5kIGFuenVwYXNzZW4sIERva3UgaXN0IHp1IGxlc2VuLCBhYmVyIHNvIGdlaHRzIGltClByaW56aXAgYmVpIEFwYWNoZS4gQWxsZXMgbmUgU2FjaGUgZGVyIFNlcnZlci1Db25maWd1cmF0aW9uLgpFY2h0ZSBTZWN1cml0eSBnaWJ0cyBuYXR1ZXJsaWNoIG51ciBtaXQgaHR0cHMsIHVzdy4KCkFsbGVzIG9obmUgR2V3YWVociA6KSwgc292aWVsIG1hY2ggaWNoIGF1Y2ggbmljaHQgZGFtaXQuLi4KCgppVi4Kd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERydWNrZW4gdW50ZXIgd2luMzExIChQcmEsICAzLiBEZXogMTk5NywgMTI6NDA6MTYpOgp+IyEgcm49TGFyaXNzYSBydD04ODExNDgyNTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMTQ4MjU0CndpZSBpY2ggd2luZG9vZiBrZW5uZSwgbXVzcyBtYW4gd29obCBlcnN0IGRlbiBhbHRlbiBEcnVja2VyIGFibWVsZGVuIG9kZXIKc28uIChudXIgbWFsIHNvIGdlcmF0ZW4pLgoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEcnVja2VuIHVudGVyIHdpbjMxMSAoSGF0ZSwgIDMuIERleiAxOTk3LCAxMzoxOTo1MCk6Cn4jISBybj1QcmEgcnQ9ODgxMTQ5MjE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTE0ODI1NApLYW5uIGVzIHNlaW4sIGRhc3MgRHUgRE9TIFRyZWliZXIgaW5zdGFsbGllcnQgaGFzdD8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2tlbiB1bnRlciB3aW4zMTEgKExhcmlzc2EsICAzLiBEZXogMTk5NywgMTg6MzM6MTApOgp+IyEgcm49TGFyaXNzYSBydD04ODExNDgyNTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMTQ4MjU0CkhvaSwKaWNoIGFudHdvcnRlIG1hbCBhdWYgbWVpbmVuIGVpZ2VuZW4gQXJ0aWtlbCwgd2VpbCBpY2ggaW56d2lzY2hlbgp3ZWlzcyB3YXMgZGllIExvZXN1bmcgaXN0LiBXZXJzIG5pY2h0IGdsYXVidCwgaWNoIGhhYnMgYXVjaG5pY2h0Li4uCgpEaWUgTG9lc3VuZzogRGllIG1pdGdlbGllZmVydGUgVHJlaWJlci1DRCB1bnRlcnN0dWV0enQKX2F1c3NjaGxpZXNzbGljaF8gV2luZG9vZi1jbGllbnRzIHVudGVyIE5ldFdhcmUuCgpMYXJpLCB3YXJ1bSBtYWNodCBIUCBzb3dhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJ1Y2tlbiB1bnRlciB3aW4zMTEgKEFjcmltb24sICAzLiBEZXogMTk5NywgMTk6MDU6MzIpOgp+IyEgcm49TGFyaXNzYSBydD04ODExNzAzOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMTQ4MjU0Ckthbm4gbmljaHQgc2Vpbi4KClNjaGxpZXN6bGljaCBzdGVsbHQgSFAgc2VsYnN0IFJlY2huZXIgaGVyLCBkaWUgYXVjaCBlaW4gdmVybnVlbmZ0aWdlcwpCZXRyaWVic3N5c3RlbSBoYWJlbiAoSFAtVVgpLgpXaW5kb3dzIChOVCkgZGFnZWdlbiB2ZXJkaWVudCBkaWUgQmV6ZWljaG51bmcgIkJldHJpZWJzc3lzdGVtIiB1ZWJlcmhhdXB0Cm5pY2h0LgoKV2FydW0gc29sbHRlIEhQIGZyZW1kZSwgc2NobGVjaHRlIFByb2R1a3RlIGVoZXIgdW50ZXJzdHVldHplbiBhbHMgZGllIGVpZ2VuZW4sCmd1dGVuIFByb2R1a3RlPwoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEcnVja2VuIHVudGVyIHdpbjMxMSAoR3JpbW1ib3JuLCAgMy4gRGV6IDE5OTcsIDE5OjQ1OjA3KToKfiMhIHJuPUFjcmltb24gcnQ9ODgxMTcyMzMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTE0ODI1NApJY2ggaGFiZSBsYWVuZ2VyZSBaZWl0IG1pdCBIUC1SZWNobmVybiByZWNobmVuIG11ZXNzZW4sIHVuZCBnbGF1YiBtaXIsIEhQLVVYCmFscyAidmVybnVlbmZ0aWdlcyBCZXRyaWVic3N5c3RlbSIgenUgYmV6ZWljaG5lbiwgaXN0IHp1bWluZGVzdCBnZXdhZ3QuIFp1bQpUZWlsIHNpbmRzIHNpY2hlciBudXIgYWV1c3NlcmUsIGtvc21ldGlzY2hlIEZlaGxlciAobmljZSBsZXZlbCBiaXMgNDkpLCBhYmVyCmdlbGVnZW50bGljaCBzaW5kIHNpZSBkdXJjaGF1cyBrYXRhc3Ryb3BoYWwgKEhQLVVYIDEwLjIwIGhhdCBzaWNoIHZlaGVtZW50Cmdld2VpZ2VydCwgZGllIGZpbGVzIHZvbiBlaW5lciBnZW1vdW50ZXRlbiBDRCBhbmRlcnMgYWxzIGluIEdST1NTQlVDSFNUQUJFTgpkYXJ6dXN0ZWxsZW4sIGZ1ZXIgSGlud2Vpc2UgYmVkYW5rZW4gc2ljaCBDaGVtaWUgdW5kIFJlY2hlbnplbnRydW0sIGRpZSBkcmFuCmdlc2NoZWl0ZXJ0IHNpbmQpLgoKRGVpbmUgTWVpbnVuZyBiZXp1ZWdsaWNoIE5UIGJlendlaWZlbCBpY2gsIE5UIGlzdCB0YXRzYWVjaGxpY2ggZWluCkJldHJpZWJzc3lzdGVtLiBFcyBoYWVsdCBuYWVtbGljaGVuIGF1ZiB1bmQgbGFlc3N0IGRlbiAoc3VwcG9ydC0pIEJldHJpZWIKYnJ1bW1lbi4KCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERydWNrZW4gdW50ZXIgd2luMzExIChKaW1kaWdyaXosICAzLiBEZXogMTk5NywgMTk6NDg6MjMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MTE3NDcwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODExNDgyNTQKSG9pLAoKQXVjaCBpY2ggaGFsdGUgSHBTVVggbmljaHQgZ3JhZGUgZnVlciBlaW4gInZlcm51ZW5mdGlnZXMgQlMiLAppbiByZWxhdGlvbiB6dSBNJC1Qcm9kdWt0ZW4gaXN0IGRlciBBdXNkcnVjayB2ZXJtdXRsaWNoCnRyb3R6ZGVtIGdlcmVjaHRmZXJ0aWd0LgpEYXMgQ0QgUHJvYmxlbSBoYXR0ZW4gd2lyIGhpZXIgZGVua2UgaWNoIG5pY2h0LAptZWluZSBJZGVlIGlzdCwgZGFzcyBkaWUgRmlsZW5hbWVzIHZpZWxsZWljaHQgYXVmIGRlcgpDRCBpbiBHcm9zc2J1Y2hzdGFiZW4gYW5nZWxlZ3Qgd3VyZGVuLi4uCgpCZWkgR2VsZWduaGVpdCB0ZXN0ZSBpY2hzIGFiZXIgZXZ0bCBtYWwuCgoKU2VuZiBvZmYsCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERydWNrZW4gdW50ZXIgd2luMzExIChBdmFsb24sICA0LiBEZXogMTk5NywgMDA6MDI6MjgpOgp+IyEgcm49QWNyaW1vbiBydD04ODExNzIzMzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMTQ4MjU0CkhQLVVYIHZlcm51ZW5mdGlnPyBEdSB0cmFldW1zdC4KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJ1Y2tlbiB1bnRlciB3aW4zMTEgKE5hc2ltLCAgNC4gRGV6IDE5OTcsIDEwOjU3OjE1KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODgxMTcwMzkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTE0ODI1NApCZWltIDVTaSBmdW5rdGlvbmllcnQgZG9jaCBlaWdlbnRsaWNoIG51ciBkaWUgYmlkZXJla3Rpb25hbGUgVW50ZXJzdHVldHp1bmcKdWViZXIgZGFzIE5ldHogbnVyIGJlaSBOZXR3YXJlLVNlcnZlcm4uIFdlbm4gRHUgZGFzIERpbmcgbG9rYWwgYW4gZGVyIEtpc3RlCmhhc3QgdW5kIERlaW4gRHJ1Y2tlcmthYmVsIGVudHNwcmVjaGVuZCB2b2xsc3RhZW5kaWcgYmVsZWd0IGlzdCwgc29sbHRlIGVzCmRhbWl0IGtlaW5lIFByb2JsZW1lIGdlYmVuLiAKV2VsY2hlciBUcmVpYmVyIHdhciBkZW5uIGRhYmVpPyBVbmQgd2VsY2hlbiBEcnVja2VyIGhhc3QgRHUgYmVpIGRlcgpJbnN0YWxsYXRpb24gYXVzZ2V3YWVobHQgKDVTaSwgNVNJIE1vcGllciBvZGVyIDVTaS81U2lNWCk/CgpHUnVzcywgTmFzaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERydWNrZW4gdW50ZXIgd2luMzExIChMYXJpc3NhLCAgNC4gRGV6IDE5OTcsIDExOjAzOjUzKToKfiMhIHJuPU5hc2ltIHJ0PTg4MTIyOTQzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODExNDgyNTQKV2lyIGhhYmVuIGVpbmVuIDVTSSB1bmQgZGFmdWVyIGhhYiBpY2ggYXVjaCBkZW4gVHJlaWJlcgphdXNnZXdhZWhsdC4gbGVpZGVyIG51ZXR6dCBhdWNoIGRhcyBBYnNjaGFsdGVuIGRlcgpCaWRpcmVrdGlvbmFsZW4gS29tbXVuaWthdGlvbiBuaXgsIGRlciBEcnVja2VyIGVyd2FydGV0IGVpbmZhY2gKZWluZW4gTm92ZWxsLVNlcnZlciBhbSBhbmRlcmVuIEVuZGUuCgppY2ggaGFiIGFiZXIgaW56d2lzY2hlbiBlaW5lbiBuZXVlbiBUcmVpYmVyIGF1ZiBkZW4gSFAtU2VpdGVuIGdlZnVuZGVuLApleHRyYSBmdWVyIFN0YW5kIGFsb25lICpqdWJlbCoKCkxhcmksIEhQLUdlc2NoYWVkaWd0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbSBtaXQgTGF1Zndlcmtza2VubnVuZ2VuIChIaWdobGFuZGVyLCAgNS4gRGV6IDE5OTcsIDEzOjAyOjA5KToKRGllIFNpdHVhdGlvbiB2b3JoZXI6CkVpbmUgU0NTSSBIRCwgSUQgMC4gTmVubmVuIHdpciBzaWUgZWluZmFjaCBzZGEuIERhcmF1ZiB2aWVyIHByaW1hZXJlClBhcnRpdGlvbmVuLCBuZW5uZW4gd2lyIHNpZSBzZGExIGJpcyBzZGE0LiBBdWYgc2RhMSB1bmQgc2RhMiB0dW1tZWxuIHNpY2gKVzk1IHJlc3Bla3RpdmUgRG9zIDYuMiwgZGllIGJlaWRlbiBQYXJ0aXRpb25lbiBzdHJlaXRlbiBzaWNoIGFiIHVuZCBhbgpkYXJ1bSwgd2VyIHZvbiBpaG5lbiBiZWlkZW4gamV0enQgQzogdW5kIHdlciBEOiBpc3QuIFNwcmljaCwgaWNoIGJvb3RlCm1hbCB2b24gZGVyIGVpbmVuLCBtYWwgdm9uIGRlciBhbmRlcmVuLgpBdWYgc2RhMyBsZWJ0IGVpbiBMaW51eCBpbiBGcmllZGVuLCBzZGE0IGlzdCBMaW51eCBzd2FwLgpEaWUgU2l0dWF0aW9uIGpldHp0OgpFaW5lIHp3ZWl0ZSBTQ1NJIEhELCBJRCAxLiBIaW50ZXIgZGVuIGJlaWRlbiBQbGF0dGVuIHJvdGllcnQgdWVicmlnZW5zCm5vY2ggZWluIENELVJPTSBtaXQgSUQgMiwgYWJlciBkaWUgbmV1ZSBQbGF0dGUgd3VyZGUgb2huZSBUZXJtaW5pZXJ1bmcKZGF6d2lzY2hlbmdlaGFlbmd0LgpBdWYgZGllc2VyIFBsYXR0ZSAoc2RiKSB3dXJkZSBtaXQgZGVtIFc5NSBmZGlzayBlaW5lIHNla3VuZGFlcmUgUGFydGl0aW9uCmFuZ2VsZWd0LCBpbiBkZXIgc2ljaCBzZGE1IGJpcyBzZGExMSBvZGVyIHNvIHR1bW1lbG4sIGFsc28gZWluIFN0YXBlbApsb2dpc2NoZSBMYXVmd2Vya2UuIEF1c3NlcmRlbSBnaWJ0IGVzIGluendpc2NoZW4gbm9jaCBlaW5lIGtsZWluZQpwcmltYWVyZSBMaW51eC1QYXJ0aXRpb24gc2RiMiBvZGVyIHNvLiBBY2ggamEsIG9iZW4gbXVzcyBlcyBuYXR1ZXJsaWNoCnNkYjUgYmlzIHNkYjExIGhlaXNzZW4uCkRhcyBQcm9ibGVtOgpEaWUgTGF1ZndlcmtlIGRlciB6d2VpdGVuIFBsYXR0ZSBtZWxkZW4gc2ljaCB1bnRlciBXOTUgWldJU0NIRU4gbWVpbmVuCmFsdGVuIFBhcnRpdGlvbmVuIGFuLCBhbHNvIHN0YXR0IG5hY2ggRDogbmFjaCBDOiwgd29kdXJjaCBzaWNoIGRpZQphbHRlIEQ6IFBhcnRpdGlvbiBhdWYgZWlubWFsIGFscyBMOiBvZGVyIHNvIGF1c2dpYnQuIERhcyBmaW5kZSBpY2ggbmljaHQKc29vb28gdG9sbC4gV2llIGdlc2FndCAtIHNhZW10bGljaGUgVzk1IFBhcnRpdGlvbmVuIGxpZWdlbiBpbiBlaW5lcgpzZWt1bmRhZXJlbiAob2RlciBoZWlzc2VuIGRpZSBlcndlaXRlcnQ/KSBQYXJ0aXRpb24uIFVuZCBkaWUgTGludXgtClBhcnRpdGlvbiBleGlzdGllcnRlIG5vY2ggbmljaHQgbWFsLCBkYSB3YXIgZGFzIHNjaG9uIGRlciBGYWxsLgoKSGF0IGplbWFuZCBkYXp1IElkZWVuPwoKICAgICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtIG1pdCBMYXVmd2Vya3NrZW5udW5nZW4gKE5hc2ltLCAgNS4gRGV6IDE5OTcsIDEzOjA3OjMyKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODgxMzIzMzI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTMyMzMyOQpIbSwgYmVudXR6dCBEdSBQYXJ0aXRpb25NYWdpYyBvZGVyIHNvd2FzIGluIGRlciBBcnQgdW0gZGllIGJlaWRlbiBwcmltYWVyZW4KUGFydGl0aW9uZW4gc2RhMSB1bmQgc2RhMiB1bnRlciBET1MgYnp3LiBXNSB6dSBzZWhlbiB6dSBiZWtvbW1lbj8KTm9ybWFsZXJ3ZWlzZSBzaWVodCBkb2NoIGRhcyBNJC1aZXVnIGltbWVyIG51ciBlaW4gcHJpbWFlcmUgUGFydGl0aW9uICh3ZW5uCmljaCBtaWNoIHJpY2h0aWcgZXJpbm5lcmUpIT8KCkdydXNzLCBOYXNpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtIG1pdCBMYXVmd2Vya3NrZW5udW5nZW4gKEhpZ2hsYW5kZXIsICA1LiBEZXogMTk5NywgMTM6MTQ6MTkpOgp+IyEgcm49TmFzaW0gcnQ9ODgxMzIzNjUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTMyMzMyOQpEYW1pdCBkYXMgYXVjaCBhbmRlcmUgYWxzIE5hc2ltIHdpc3NlbjogTmVpbiwga2VpbiBQYXJ0aXRpb24gTWFnaWMgb2Rlcgpzby4gSWNoIGtvbm50ZSBzY2hvbiBpbW1lciBzb3dvaGwgc2RhMSBhbHMgYXVjaCBzZGEyIHNlaGVuLgpBY2ggamEgLSBXYWhsIGRlcyBCUyBlcmZvbGd0IHByaW56aXBpZWxsIHVlYmVyIGxpbG8sIGFsbGVyZGluZ3MgbXVzcyBpY2gKdW5zY2hvZW5lcndlaXNlIGRhcyBhY3RpdmUgZmxhZyBmdWVyIGRpZSBQYXJ0aXRpb24gc2V0emVuIChET1Mgb2RlciBXOTUpLApkaWUgaWNoIGJvb3RlbiB3aWxsLCBzb25zdCBoYWVuZ3QncyBpbSBib290dm9yZ2FuZy4gRGVyIExpbnV4LVBhcnRpdGlvbgppc3QgZGFzIGVnYWwuCiAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbSBtaXQgTGF1Zndlcmtza2VubnVuZ2VuIChDYXR3ZWF6bGUsICA1LiBEZXogMTk5NywgMTM6NDE6MjUpOgp+IyEgcm49SGlnaGxhbmRlciBydD04ODEzMjMzMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMzIzMzI5CgpBbHNvIFdpbjk1IGxlZ3QgJ3ByaW1hZXJlJyBwYXJ0aXRpb25lbiBncnVuZHNhZXR6bGljaCBhbiBkZW4gCkFuZmFuZywgYWxzbyBhdWYgQzogdW5kIGRpZSB6d2VpdGUgZGFubiBhdWYgRDogLgpTZWt1bmRhZXJlIFBsYXR0ZW4gbXVlc3N0ZXN0IER1IGVpZ2VudGxpY2ggYmVsaWViaWcgJ21vdW50ZW4nCmtvZW5uZW4uIERhIGdpYmJldCBpcmdlbmR3byBPcHRpb25lbiwgX3dvXyBnZW5hdSB3ZWlzcwppY2ggYWJlciBhdWNoIG5pbW1lci4gRnVlciBtZWluIENEX0xhdWZ3ZXJrIGhhdCBkYXMgenVtbmRlc3QKbWFsIGdla2xhcHB0LCBmdWVyIHNla3VuZGFlcmUgUGxhdHRlbgptdWVzc3RlIGRhcyBhbHNvIGF1Y2ggZ2VoZW4uLi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbSBtaXQgTGF1Zndlcmtza2VubnVuZ2VuIChBY3JpbW9uLCAgNS4gRGV6IDE5OTcsIDE0OjMzOjU4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODgxMzIzMzI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTMyMzMyOQpFaW5mYWNoIGtlaW4gV2luZG9vZiBtZWhyIHN0YXJ0ZW4uCkRhIER1IGphIGpldHp0IExpbnV4IGhhc3QsIGVydWVicmlndCBzaWNoIFdpbmRvb2Ygc293aWVzby4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtIG1pdCBMYXVmd2Vya3NrZW5udW5nZW4gKERlbnRpLCAgNS4gRGV6IDE5OTcsIDIxOjI3OjA1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODEzMjU2ODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxMzIzMzI5CgpMZWlkZXIga2FubiBtYW4gZGllIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW50ZXIgV2luOTUgbnVyIGZ1ZXIgQ0QtUk9NcyB1bmQgCk5ldHpsYXVmd2Vya2UgaW4gbWFzc2VuIGZyZWkgenVvcmRuZW4sIGZ1ZXIgUGFydGl0aW9uZW4gYXVmIGRlciBIRCBnZWh0IGRhcwpuaWNodCwgZGEgZ2lsdCBpbW1lciBkaWUgcmVpaGVuZm9sZ2U6CgoxLiBQcmltYWVyZSBQYXJ0aXRpb24gYXVmIGRlciBlcnN0ZW4gUGxhdHRlIChub3JtYWxlcndlaXNlIHNpZWh0IGVyIHBybyBwbGF0dGUKICBudXIgZWluZQoyLiBQcmltYWVyZSBQYXJ0aXRpb24gYXVmIGRlciAyLiBQbGF0dGUKMy4gRGllIGxvZ2lzY2hlbiBMYXVmd2Vya2UgaW4gZGVyIGVyd2VpdGVydGVuIFBhcnRpdGlvbiBkZXIgZXJzdGVuIFBsYXR0ZQo0LiBkaWUgbG9naXNjaGVuIExhdWZ3ZXJrZSBpbiBkZXIgZXJ3ZWl0ZXJ0ZW4gUGFydGl0aW9uIGRlciB6d2VpdGVuIFBsYXR0ZS4KNC4gZGVyIHJlc3QgKENELCBOZXR6LCBEVkQsIE1PIGV0YykKCkZyZWllIFp1b3JkbnVuZyBkZXIgTGF1ZndlcmtzYnVjaHN0YWJlbiB1bmQgQmVudXR6dW5nIHZvbiBMYXVmd2Vya2VuIG9obmUKTGF1ZndlcmtzYnVjaHN0YWJlbiAoYWxzbyBkYXMga2xhdWVuIGRlcyBCdWNoc3RhYmVucykgZ2VodCBlcnN0IHVudGVyIE5UIDooCgoKRGVudGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERydWNrZW4gdW50ZXIgd2luMzExIChSYWZmaSwgIDguIERleiAxOTk3LCAxODowMzo1NSk6Cn4jISBybj1BdmFsb24gcnQ9ODgxMTkwMTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTE0ODI1NApCaW4gaWNoIGZyb2ggZGFzIGljaCB3ZW5pZ3N0ZW5zIG5vY2ggYWIgdW5kIGFuIEJTMjAwMCBtYWNoZW4gZGFyZi4KClRyYWV1bWVuZApILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW0gbWl0IExhdWZ3ZXJrc2tlbm51bmdlbiAoSmltZGlncml6LCAgOS4gRGV6IDE5OTcsIDA0OjQ5OjU4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODgxMzIzMzI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTMyMzMyOQpIb2ksCgpEYXMgUHJvYmxlbSBsaWVndCBhbSBET09GLiAKRE9TRSBldCBhbCBrZW5udCBuYWVtbGljaCAgbnVyIF9laW5lXyBwcmltYWVyZQpQYXJ0aXRpb24gcHJvIEZlc3RwbGF0dGUuIERhcnVtIG11c3N0IER1IGF1Y2ggZGFzIAphY3RpdmUtZmxhZyBpbW1lciB1bXNldHp0ZW4gdW0gc28gbWFsIGRpZSBlaW5lLAp1bmQgbWFsIGRpZSBhbmRlcmUgUGFydGl0aW9uIHp1ciAncHJpbWFlcmVuJyAKenUgbWFjaGVuLiBBdWYgZGVyIHp3ZWl0ZW4gUGxhdHRlIGdpYnQgZXMgbmF0dWVybGljaCAKYXVjaCB3ZW5pZ3N0ZW5zIGVpbmUgcHJpbWFlcmUgUGFydGl0aW9uLiAKQmVpIGRlbiBMYXVmd2Vya3NidWNoc3RhYmVuLCB3ZXJkZW4gZGllIHByaW1hZXJlbiAKUGFydGl0aW9uZW4gaW1tZXIgdm9yIGRlbiBzZWt1bmRhZXJlbiBnZWxpc3RldC4KRGFzIGlzdCBEZWluIFByb2JsZW0uCgpXYXMgbGVybmVuIHdpciBkYXJhdXMgPyBXaXJmIGVzIHdlZywgYmVudXR6dCBMb3NpeApvZGVyIGVpbiBCZXRyaWVic3N5c3RlbS4gV2VubiBkYXMgbmljaHQgZ2VodCwgbXVzc3QgRHUgCm1pdCBEZWluZW0gTGF1ZndlcmsgTCB3b2hsIGxlYmVuLiAoRmFsbHMgbmljaHQgaXJnZW5kd2VyCmRpZSBzdXBlci1pZGVlKHRtKSBoYXQuKQoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtIG1pdCBMYXVmd2Vya3NrZW5udW5nZW4gKEhpZ2hsYW5kZXIsICA5LiBEZXogMTk5NywgMDk6NDg6NDEpOgp+IyEgcm49SmltZGlncml6IHJ0PTg4MTYzOTM5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODEzMjMzMjkKTW9tZW50IC0gd2llc28gZ2lidCdzIGF1ZiBkZXIgendlaXRlbiBQbGF0dGUgYXVjaCB3ZW5pZ3N0ZW5zIGVpbmUKcHJpbWFlcmUgUGFydGl0aW9uPyBEaWUgUGFydGl0aW9uLCBkaWUgc2ljaCBncmFkZSBhbHMgRDogYXVzZ2lidCwgaXN0CmVpbiBsb2dpc2NoZXMgTGF1ZndlcmsgaW4gZGVyIGVyd2VpdGVydGVuIFBhcnRpdGlvbi4gRGllIGVpbnppZ2UgUGFydGl0aW9uLApkaWUgZGEgcHJpbWFlciBpc3QsIGlzdCBub24tZG9zLCB1bmQgYWxzIGVzIGRpZSBub2NoIG5pY2h0IGdhYiwgd2FyIGRhcwpQcm9ibGVtIGF1Y2ggc2Nob24uCiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtIG1pdCBMYXVmd2Vya3NrZW5udW5nZW4gKFRvZSwgMTAuIERleiAxOTk3LCAyMDozMzoxNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODgxNjM5Mzk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTMyMzMyOQp3aXJmIGVpbmZhY2ggZGllIHp3ZWl0ZSBwcmltYWVyZSB3ZWcgLSB3aW45NSBrb21tdCBhdWNoIHZvbSBsb2dpc2NoZW4gbGF1ZndlcmsKYXVzIGhvY2ggLSB3aWxsIHNhZ2VuIHByaW1hZXJlIGZ1ZXIgZG9zIC0gbG9naXNjaGVzIExXIGluIGRlciBlcndlaXRlcnRlbiBmdWVyCndpbjk1IChkaWUgd2luOTUtbG9hZGVyLWZpbGVzIGxpZWdlbiBkYW5uIGhhbHQgbWl0IGluIGRlciBwcmltYWVyZW4pCnRvZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbWUgbWl0IFVuaXggKEtob3JhaywgMTAuIERleiAxOTk3LCAyMjoxMDoxNCk6CkhpLCBpY2ggaGFiIG1hbCB3aWVkZXIgbmVuIFByb2JsZW0gbWl0IFVuaXgKU3lzdGVtIFYvMzg2IFJlbC4zLjJ2Mi4wIEtlcm5lbCBpZCA5MC8wNi8xMAppbiBkZW0gUEMgc2luZCAyIFN0ZWNra2FydGVuIGRyaW4samV3ZWlscyB1ZWJlcgoyIEludGVycnVwdHMgKDEwLDExIHVuZCAxMiwxNSkgYWRyZXNzaWVydAptaXQgZWluZXIgZnVua3Rpb25pZXJ0IGRlciBQQyBwcm9ibGVtbG9zLApzb2JhbGQgZGllIDIuIGRyaW4gaXN0LCBzdHVlcnp0IGRlciBQQyBhYiBtaXQgZGVyCk1lbGR1bmcKClBBTklDICB2ZmF1bHQgLSBiYWQgZGJkX3R5cGUgCipncnVtbWVsKiBibG9lZGVyIGVkaXRvcgpLYW5uIG1pciBqZW1hbmQgc2FnZW4sIHdhcyBkYSBmYWxzY2ggbGFldWZ0LCB1bmQgd2llIG1hbiBkYXMgZXZ0bC4gYmVoZWJlbgprYW5uID8gCgpLaG9yYWsgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbWUgbWl0IFVuaXggKEVuZ3l3dWNrLCAxMy4gRGV6IDE5OTcsIDE5OjQxOjQzKToKfiMhIHJuPUtob3JhayBydD04ODE3ODgyMTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxNzg4MjE0Ckluc3RhbGxpZXIgaGFsdCBXaW45NS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtZSBtaXQgVW5peCAoQ2F0d2VhemxlLCAxNC4gRGV6IDE5OTcsIDAwOjIyOjQyKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4MjAzODUwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODE3ODgyMTQKCkFsc28sIGljaCBoYWIgc2Nob24gbGFuZ2UgbmljaHQgbWVociBzbyBoZXJ6bGljaCBnZWt1Z2VsdCA6LSkpCkljaCBmdWVyY2h0ZSBkaWUgZ2FuemUgV0cgaXN0IHdhY2ggZ2V3b3JkZW4gOikKRnJldW5kcyBLb21tZW50YXIgenUgbWVpbmVyIHJvdGZsJ2VpOiBXZW5pZ3N0ZW5zIGhhYmVuIGVpbgpwYWFyIExldXRlIHZlcnN0YW5kZW4sIHVtIHdhcyBlcyBtaXIgZWlnZW50bGljaCBnaW5nLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIGFsdGUgR3JhZmlra2FydGUgKElTQSkgKFF1aWxsaWFuLCAxNS4gRGV6IDE5OTcsIDEzOjU5OjQyKToKSGlobwoKV2llIGRlciBUaXRlbCBzY2hvbiBzYWd0LCBiaW4gaWNoIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lciBhbHRlbiBJU0EtCkdyYWZpa2thcnRlIG1pdCAxTUIgb2RlciBiZXNzZXIgbWVociBTcGVpY2hlci4gV2VyIGFsc28gc28gZWluIERpbmcKc2VpbiBlaWdlbiBuZW5udCB1bmQgZXMgZ2VybmUgbG9zd2VyZGVuIG1vZWNodGUsIGthbm4gbWlyIGphIG1hbCBtYWlsZW4gLi4uCgpRdWlsbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZSBhbHRlIEdyYWZpa2thcnRlIChJU0EpIChab3JybywgMTUuIERleiAxOTk3LCAxNjoxNjo1Nik6Cn4jISBybj1RdWlsbGlhbiBydD04ODIxOTA3ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyMTkwNzgyCmhtbSBiZWkgbWlyIGZsaWVndCBzZWlkIHdvY2hlbiBlaW5lIGltIGF1dG8gcnVtIC4uLiBmZWxodCBudXIgbm9jaCBuZSBhZHJlc3NlLApwb3J0byB1bmQgemVpdCAuLi4KCkdydXNzIFpvcnJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1Y2hlIGFsdGUgR3JhZmlra2FydGUgKElTQSkgKFpvcnJvLCAxNS4gRGV6IDE5OTcsIDE2OjIwOjI3KToKfiMhIHJuPVpvcnJvIHJ0PTg4MjE5OTAxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIxOTA3ODIKU29ycnkgaWNoIGhhYiBtaWNoIGdldGFldXNjaHQgLi4uCgpJY2ggaGFiZSAyIGRhdm9uIGltIEF1dG8gbGllZ2VuCgpHcnVzcyBab3JybwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VjaGUgYWx0ZSBHcmFmaWtrYXJ0ZSAoSVNBKSAoRnJldW5kLCAxNS4gRGV6IDE5OTcsIDE2OjI1OjE2KToKfiMhIHJuPVpvcnJvIHJ0PTg4MjE5OTIyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIxOTA3ODIKRGFzIGdlaHQgamEgbm9jaC4KCkljaCBoYWJlIHp3ZWkgQXV0b3MsIHVuZCBpbiBlaW5lbSBkYXZvbiBsaWVndCBlaW5lLi4uIDspCgpGcmV1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdWNoZSBhbHRlIEdyYWZpa2thcnRlIChJU0EpIChab3JybywgMTUuIERleiAxOTk3LCAxNjozMTozMCk6Cn4jISBybj1GcmV1bmQgcnQ9ODgyMTk5NTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjE5MDc4MgpOYWphIG1pciBnZWhvZXJ0IGFiZXIgbnVyIGVpbmUgZGF2b24gLi4uIGRpZSBhbmRlcmUgZ2Vob2VydCBRdWlsbGlhbiA6KQoKR3J1c3MgWm9ycm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtZSBtaXQgVW5peCAoQWNyaW1vbiwgMTUuIERleiAxOTk3LCAyMDozNjoxMyk6Cn4jISBybj1LaG9yYWsgcnQ9ODgxNzg4MjE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTc4ODIxNApJZ2l0dCwgUEMtSGFyZHdhcmUgaXN0IGdyYXVzaWcuCkludGVycnVwdHMgYWRyZXNzaWVyZW4gYmVpbSBTdGVja2thcnRlbi1JbnN0YWxsaWVyZW4/CipicnJyKgoKKFNvcnJ5LCBpY2gga2VubiBtaWNoIG1pdCBQQy1IYXJkd2FyZSBuaWNodCBhdXMsIGFiZXIgd2VubiBpY2ggaG9lcmUsIGRhc3oKZG9ydCBTdGVja2thcnRlbiBldHdhcyBtaXQgSW50ZXJydXB0cyB6dSB0dW4gaGFiZW4sIGRhbm4gc2NodWV0dGVsdHMgbWljaC4KTm9jaCBkYXp1IHdlbm4gZGFubiBJbnRlcnJ1cHQtWmFobGVuIGF1ZnRhdWNoZW4uKQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpET1MvV2luTlQtRnJhZ2VuIChIZWZlLCAxNi4gRGV6IDE5OTcsIDEyOjU5OjI5KToKSGFsbG8hCgpJY2ggaGFldHRlIGRhIG1hbCBlaW4gcGFhciBGcmFnZW4gYmV6dWVnbGljaCBCZXJ0cmllYnNzeXN0ZW1lbgp1bmQgUGxhdHRlbnBhcnRpdGlvbmVuOgoKKiBLYW5uIG1hbiB3aW5OVCA0LjAgdWViZXIgZWluZSBhbHRlIERPUy1WZXJzaW9uIGRydWViZXJpbnN0YWxsaWVyZW4sCnNvIGRhc3MgbWFuIGRhbm4gYmVpbSBCb290ZW4gd2FlaGxlbiBrYW5uIHp3aXNjaGVuIERPUyB1bmQgd2luTlQgPwoKKiBXZW5uIG1hbiBtZWhyZXJlIHByaW1hZXJlIFBhcnRpdGlvbmVuIGhhdCwgZGllIGFsbGUgQzpcIGhlaXNzZW4gKHVuZAp2b24gZGVuZW4gc3RldHMgbnVyIGVpbmUgYWt0aXYgaXN0KSwgd2VsY2hlIHdpcmQgZGFubiBhbmdlc3Byb2NoZW4sIHdlbm4KbWFuIHZvbiBEaXNrZXR0ZSBib290ZXQ/IFVuZCBrYW5uIG1hbiBkYXMgYWVuZGVybj8KCiogQmVpIERPUy1QYXJ0aXRpb25lbjogQWIgd2VsY2hlciBHcm9lc3NlIGVpbmVyIFBhcnRpdGlvbiBhZW5kZXJ0IHNpY2gKZGllIENsdXN0ZXJncm9lc3NlPyBELmguLCB3aWUgZ3Jvc3MgZGFyZiBlaW5lIFBhcnRpdGlvbiBob2VjaHN0ZW5zIHNlaW4sCndlbm4gaWNoIGVpbmUgYmVzdGltbXRlIENsdXN0ZXJncm9lc3NlIGhhYmVuIHdpbGw/CgpNaXQgZnJldW5kbGljaCB3ZWlobmFjaHRsaWNoZW0gV2VpemVuZ3J1c3MsCgpTYW50YSBIZWZlIG1pdCBkZW0gZ3Jvc3NlbiBTYWNrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TL1dpbk5ULUZyYWdlbiAoSGlnaGxhbmRlciwgMTYuIERleiAxOTk3LCAxMzoyOToyNik6Cn4jISBybj1IZWZlIHJ0PTg4MjI3MzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKQWxzbyB6dW1pbmRlc3QgenUgZGVyIEZyYWdlIG1pdCBkZXIgQ2x1c3Rlcmdyb2Vzc2Uga2FubiBpY2gKbWVpbmVuIFNlbmYgZGF6dWdlYmVuOgpNZWluZSA8NTEyTSBwYXJ0aXRpb25zIGhhYmVuIGVpbmUgQ2x1c3RlcnNpemUgdm9uIDhrLiBEYXMgaGVpc3N0LApQYXJ0aXRpb25lbiA8MjU2TSA+MTI4TSBoYWJlbiA0aywgPjUxMiA8MTAyNCBoYWJlbiAxNmsgdW5kIHNvIHdlaXRlci4KRGllIFN0YW5kYXJkaW5zdGFsbGF0aW9uIDEgUGFydGl0aW9uIGZ1ZXIgVzk1IGF1ZiBlaW5lciAyRyBQbGF0dGUgaXN0CmF1ZiBqZWRlbiBGYWxsIHZvciBkZXIgbWl0IGFsbGVtIGlua29tcGF0aWJsZW4gRkFUMzIgZWluZSB6aWVtbGljaAp1bm9la29ub21pc2NoZSBMb2VzdW5nLCBkYSBkaWUgQ2x1c3Rlcmdyb2Vzc2UgZGEgMzJrIGJldHJhZWd0CnVuZCBEdSBwcm8gZmlsZSBlaW5lbiBkdXJjaHNjaG5pdHRsaWNoZW4gVmVyc2Nobml0dCB2b24gMTZrIGhhc3QuCiAgICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRE9TL1dpbk5ULUZyYWdlbiAoTWFuZ28sIDE2LiBEZXogMTk5NywgMTM6MzE6MjYpOgp+IyEgcm49SGlnaGxhbmRlciBydD04ODIyNzUzNjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyMjczNTY5CmZ1ZXIgc29sY2hlIHByb2JzIGdpYmJldCBhYmVyIHByb2dyYW1tZSBkaWUgZGllIGNsdXN0ZXJncm9lc2VuIGVpbnN0ZWxsZW4Ka29lbm5lbiBvaG5lIGRhcyBkaWUgcGxhdHRlbiBmb3JtYXRpZXJ0IHdlcmRlbi4gaWNoIGtlbm4gZGEgbnVyIHBhcnRpdGlvbiBpdAphdXNzbSBmZXJuc2VoZW4gdW5kIGRhcyB3dXJkZSBhbHMgc2VociBudWV0emxpY2ggZWluZ2VzdHVmdC4KCk1hbmdvLCBhdWYgZGVyIHN1Y2hlIG5hY2ggZGVtIFByb2dyYW1tLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERPUy9XaW5OVC1GcmFnZW4gKEhpZ2hsYW5kZXIsIDE2LiBEZXogMTk5NywgMTM6MzU6MzQpOgp+IyEgcm49TWFuZ28gcnQ9ODgyMjc1NDg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjI3MzU2OQpFbnRzY2h1bGRpZ2UsIG51ciBkYXMga29tbXQgbWlyIHNwYW5pc2NoIHZvci4gRGFzIGdlaHQgd2lya2xpY2g/CmEpIGthbm4gaWNoIG5pY2h0IGJlaSBiZXJlaXRzIGJlbGVndGVuIGNsdXN0ZXJuIGVpbmZhY2ggZGllIEdyb2Vzc2UgYWVuZGVybiwKd2VpbCBtaXIgc29uc3QgZGllIFZlcmtldHR1bmdzaW5mb3JtYXRpb25lbiBmZWhsZW4gdW5kIGIpIG5pbW10IGRpZSBGQVQKZG9jaCBlaCBzY2hvbiBkaWUga2xlaW5zdGUgaWhyIG1vZWdsaWNoZSBjbHVzdGVyZ3JvZXNzZSwgd2llIHdpbGxzdCBEdSAKZGEgbm9jaCBtZWhyIGNsdXN0ZXIgdW50ZXJicmluZ2VuIGluIGRlciBWZXJ3YWx0dW5nc3RhYmVsbGU/ClZlcnN0ZWggbWljaCByaWNodGlnLCBkYXMgaGVpc3N0IG51ciwgZGFzIGljaCBtaXIgZGFzIGVpbmZhY2ggbmljaHQKdm9yc3RlbGxlbiBrYW5uIHVuZCBuaWNodCwgZGFzcyBpY2ggRGlyIG5pY2h0IGdsYXViZW4gd2lsbCA6PgpLYW5uIG1pY2ggZGEgZXZ0bC4gamVtYW5kIGF1ZmtsYWVyZW4sIHdpZSBkYXMgZ2VoZW4gc29sbCBvZGVyIGRhc3MgZGVtCndpcmtsaWNoIHNvIGlzdD8KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TL1dpbk5ULUZyYWdlbiAoQ2F0d2VhemxlLCAxNi4gRGV6IDE5OTcsIDEzOjQ3OjA5KToKfiMhIHJuPUhlZmUgcnQ9ODgyMjczNTY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjI3MzU2OQpUaGVvcmV0aXNjaCBrYW5uIG1uYW4gc293YXMgbWl0IG5lbSBib290bWFuYWdlciBtYWNoZW4uIE9iIHVuZCB3aWUKZGVyIHZvbiBOVCBkYXMga2Fubiwga2FubiBpY2ggbmljaHQgc2FnZW4uIEljaCBoYWIgenVoYXVzZSBlaW5lbgpPUzItYm9vdG1hbmFnZXIgaW5zdGFsbGllcnQsIHdlaWwgZGVyIGluIGRlciBMYWdlIGlzdCwgcHJpbWFlcmUgUGFydGl0aW9uZW4KenUgdmVyc3RlY2tlbi4gSWNoIGhhYiBhbHNvIHdhaGx3ZWlzZSBudXIgRE9TIG9kZXIgbnVyIFc5NS4KCldlbm4gRHUgbWl0IERJc2tldHRlIGJvb3Rlc3QsIGJla29tbXQgRHUgaW1tZXIgZGllIFBhcnRpdGlvbiwgdm9uIGRlcgpEdSB6dWxldHp0IGdlYm9vdGV0IGhhc3QuIFdlbm4gRHUgZGllIHZlcnN0ZWNrdGUgUGFydGl0aW9uIHNlaGVuIAp3aWxsc3QsIG11c3N0IER1IGRpZSBlcnN0IGVpbm1hbCBtaXQgZGVtIGJvb3RtYW5hZ2VyIHN0YXJ0ZXIsIGRhbmFjaCBzaWVoc3QgRHUKZGllIGF1Y2ggdm9uIEZsb3BweWJvb3QgYXVzLgoKRGllIERvcy1CbG9ja2dyb2Vzc2Uga2FubnN0ZSBEaXIgbGVpY2h0IHNlbGJlciBhdXNyZWNoZW5lbi4gRG9zIGthbm4KbnVyIDI1NioyNTYgQmxvZWNrZShEYXRlaWVuL2RpcmVjdG9yaWVzKSBhbmxlZ2VuLCBkZW1lbnRzcHJlY2hlbmQgZ3Jvc3MKd2lyZCBkZXIgQmxvY2suIEJzcDogMjU2KjI1NioxNms9MTA0ODU3NkssIGFsc28gemllbWxpY2ggZ2VuYXUgMUdCLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW1lIG1pdCBVbml4IChUcmFuY2VmZWFyLCAxNi4gRGV6IDE5OTcsIDE4OjExOjI5KToKfiMhIHJuPUFjcmltb24gcnQ9ODgyMjE0NTczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTc4ODIxNApXZW5uIERpY2ggZGllIFphaGxlbiBzdG9lcmVuLCBrYW5uc3RlIGphIGRlbiBJbnRlcnJ1cHRzIG5hbWVuIGdlYmVuLi4uIHouQi4KIkRydWNrZXIxIiBmdWVyIGRlbiBJUlEgNy4uLiA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TL1dpbk5ULUZyYWdlbiAoRGllZGVyLCAxNi4gRGV6IDE5OTcsIDE4OjEzOjA1KToKfiMhIHJuPUhlZmUgcnQ9ODgyMjczNTY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjI3MzU2OQp6dSAxOiBET1MgdW5kIFdpbk5UIGdlaHQgZGVmaW5pdGl2LCBlaW4gS3VtcGVsIHZvbiBtaXIgaGF0dGUgc29nYXIgRE9TLCBXaW45NQpVTkQgV2luTlQgZHJhdWYsIHdlaWxzIGVpbiBwYWFyIFNwaWVsZSBnYWIsIGRpZSB1bnRlciBOVCBuaWNoIGxpZWZlbi4uLiB3ZWlzcwphYmVyIG5pY2h0LCBpbiB3ZWxjaGVyIFJlaWhlbmZvbGdlIGRhbm4gZGllIEJTIGluc3RhbGxpZXJ0IHdlcmRlbiBtdWVzc2VuLAprYW5uIGlobiBhYmVyIG5vY2htYWwgZnJhZ2VuCgpadSBkZW4gUGFydGl0aW9uZW4gd2Vpc3MgaWNoIGxlaWRlciBhdWNoIG5pY2h0IG1laHIgYWxzIGRhcyBiaXNoZXIgZ2VzYWd0ZS4KRWluZXMgZXJzY2hlaW50IG1pciBqZWRvY2ggd2ljaHRpZzogU29sbCBET1MgdW5kL29kZXIgVzk1IG1pdCBOVCBnbGVpY2h6ZWl0aWcKaW5zdGFsbGllcnQgc2VpbiwgaXN0IGVzIHdvaGwgcmF0c2FtLCBiZWltIFNldHVwIHZvbiBOVCBGQVQgYWxzIERhdGVpc3lzdGVtIHp1CndhZWhsZW4gdW5kIG5pY2h0IE5URlMuCkZBVCB2ZXJicmF1Y2h0IHp3YXIgZXR3YXMgbWVociBQbGF0dGVucGxhdHogdW5kIGJpZXRldCBrZWluZSBEYXRlaS1TZWN1cml0eSwKZGFmdWVyIGtvbW10IG1hbiBhYmVyIG1pdCBuZXIgcG9wbGlnZW4gRE9TLUJvb3RkaXNrZXR0ZSBhbiBhbGxlIERhdGVuIHJhbiwKd2VubiBOVCBtYWwgcmljaHRpZyBhYnNlbW1lbHQuCkljaCBzZWxiZXIgaGF0dGUgZGFzIHp3YXIgbm9jaCBuaWUsIGltIEJldHJpZWIgbGFldWZ0IGVzIGVpbndhbmRmcmVpLCBhYmVyIGVzCmthbSBzY2hvbiB2b3IsIGRhc3MgZGFubiBudXIgbm9jaCBzZWhyIG11ZWhzYW0gbWl0IHRldXJlbSBBdWZ3YW5kIGRpZSBEYXRlbgp2b20gemVyc3RvZXJ0ZW4gTlRGUy1TeXN0ZW0gd2llZGVyIGdlbGVzZW4gd2VyZGVuIGtvbm50ZW4uCgpHcnVzcywKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TL1dpbk5ULUZyYWdlbiAoVHJhbmNlZmVhciwgMTYuIERleiAxOTk3LCAxODoxNDowMCk6Cn4jISBybj1IZWZlIHJ0PTg4MjI3MzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKWnVtIDEuICogOgpEYXMgZ2VodCBhdXRvbWF0aXNjaCBzbywgd2VubiBEdSBOVCBpbnN0YWxsaWVyc3Q6IGRlciBOVC1Cb290bWFuYWdlciBsYWVzc3QKRGljaCBkYW5uIHp3aXNjaGVuIERPUywgTlQgbWl0IFN0YW5kYXJkIFZHQSB1bmQgTlQgbWl0IGRlbSBlaW5nZXN0ZWxsdGVuCkdSYWZpa21vZHVzIHdhZWhsZW4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TL1dpbk5ULUZyYWdlbiAoQWNyaW1vbiwgMTYuIERleiAxOTk3LCAyMTo1MjowNSk6Cn4jISBybj1IZWZlIHJ0PTg4MjI3MzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKPiAqIEthbm4gbWFuIHdpbk5UIDQuMCB1ZWJlciBlaW5lIGFsdGUgRE9TLVZlcnNpb24gZHJ1ZWJlcmluc3RhbGxpZXJlbiwKPiBzbyBkYXNzIG1hbiBkYW5uIGJlaW0gQm9vdGVuIHdhZWhsZW4ga2FubiB6d2lzY2hlbiBET1MgdW5kIHdpbk5UID8KCkphLiBNaXQgTElMTyBnZWh0IGRhcy4gKGlzdCBiZWkgTGludXggZGFiZWkpCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBET1MvV2luTlQtRnJhZ2VuIChEZW50aSwgMTYuIERleiAxOTk3LCAyMTo1NDowOCk6Cn4jISBybj1IZWZlIHJ0PTg4MjI3MzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKCk5UIGVya2VubnQgZWluIHZvcmhhbmRlbmVzIFdpbmRvd3MvRE9TIHVuZCBiaWxkZXQgYXV0b21hdGlzY2ggZWluIGVpbmZhY2gKZXJ3ZWl0ZXJiYXJlcyBCb290bWVudSAoZGllIEVpbnRyYWVnZSBzdGVoZW4gaW4gQm9vdC5pbmkgaW0gcm9vdCBkZXIgcHJpbWFlcmVuClBhcnRpdGlvbikuCgpEZW50aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBET1MvV2luTlQtRnJhZ2VuIChSYWZmaSwgMTYuIERleiAxOTk3LCAyMzo0ODowOCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg4MjI3NTM2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKQWxzbyBkaWUgSWRlYWxlIFBhcnRpdGlvbmdyb2Vzc2UgYmVpIERPUyBQbGF0dGVuICg1MTIgQnl0ZSBzZWt0b3JlbikgaXN0IDMwCk1CLgoKVW5kIHNlaWQgbWFsIGVocmxpY2ggLSBtZWhyIGJyYXVjaHQgbWFuIGF1Y2ggbmljaHQuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRE9TL1dpbk5ULUZyYWdlbiAoQm9pbmcsIDE3LiBEZXogMTk5NywgMDg6MTg6MTgpOgp+IyEgcm49UmFmZmkgcnQ9ODgyMzEyNDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjI3MzU2OQoqbGFjaCoKSW5zdGFsbGllciBtYWwgZGFzIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIGluIGVpbmVyIDMwIE1CIFBhcnRpdGlvbiAuLi4Kb2RlciBhdWNoIG51ciBlaW4gYWt0dWVsbGVzIFNwaWVsLCB3aWUgei5CLiBIZXhlbiAyLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERPUy9XaW5OVC1GcmFnZW4gKEdyaW1tYm9ybiwgMTcuIERleiAxOTk3LCAwOTowNTo1MCk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4MjMwNTUyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKR2FueiBzbyBlaW5mYWNoIG11c3MgZGFzIG5pY2h0IHNlaW4uIEVzIGdpYnQgd2luOTUtVmVyc2lvbmVuLCBkaWUgZWluCnZvcmhhbmRlbmVzIHdpbjMuMXggZXJrZW5uZW4gdW5kIHBsYXR0bWFjaGVuLCBzaWNoIHNlbGJlciBkcnVlYmVyaW5zdGFsbGllcmVuCihuZXR0ZXJ3ZWlzZSBvaG5lIGdyb3NzZSwgdW5ub2V0aWdlIFdhcm51bmdlbikuIERhIGhpbGZ0IGRhbm4gYXVjaCBMSUxPIG5pY2h0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBET1MvV2luTlQtRnJhZ2VuIChUcmFuY2VmZWFyLCAxNy4gRGV6IDE5OTcsIDE5OjM3OjEyKToKfiMhIHJuPUJvaW5nIHJ0PTg4MjM0MzA5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKTmFqYSBkaWUgRGV2ZWxvcGVyIFRvb2xzIGtvbW1lbiBuYXR1ZXJsaWNoIGluIGVpbmUgTmV0endlcmstUGFydGl0aW9uIDotKSBkYQprYW5uIG1hbiBkYXMgZWlnZW50bGljaGUgU3lzdGVtIGtsZWluIGhhbHRlbi4uLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERPUy9XaW5OVC1GcmFnZW4gKFRyYW5jZWZlYXIsIDE3LiBEZXogMTk5NywgMTk6Mzg6MDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MjM0NTk1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODIyNzM1NjkKSG1qYSBpY2ggbWVpbmUgbWljaCB6dSBlcmlubmVybiwgZGFzcyBlcyB1bSBXaW5OVCBnaW5nLiBVbmQgZGFzIGxhZXNzdCBkYXMgRE9TCmltIERvcmYuLi4gYWVoIGRhIHdvIGVzIGlzdC4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZXJrd3VlcmRpZ2VzIFZlcmhhbHRlbiBiZWkgVmlkZW9zZXF1ZW56ZW4gKEZlbGFndW5kLCAxOC4gRGV6IDE5OTcsIDA4OjUwOjQ1KToKQmVpbSBBYnNwaWVsZW4gdm9uIFZpc2Vvc2VxdWVuemVuIChJbnRyb3Mgdm9uIFNwaWVsZW4sIFp3aXNjaGVuc2VxdWVuemVuIGV0Yy4pCnplaWd0IG1laW4gU3lzdGVtIGVpbiB6aWVtbGljaCBtZXJrd3VlcmRpZ2VzIHVuZCBuZXJ2aWdlcyB1bmQgZnVlciBtaWNoIGxlaWRlcgpuaWNodCBlcmtsYWVyYmFyZXMgVmVyaGFsdGVuLCBuYWVtbGljaCBUb24gdW5kIEJpbGRlciBfYWJ3ZWNoc2VsbmRfCmhhZXBwY2hlbndlaXNlIGFienVzcGllbGVuLgpXYXMgZGF6dSBmdWVocnQsIGRhc3MgaWNoIHZpZWxlIHNjaG9lbmUgRmlsbWNoZW4gdmVycGFzc2UsIHdlaWxzIGVpbmZhY2gKdW50cmFnYmFyIGlzdCA7KQpGYWxscyBkYWZ1ZXIgamVtYW5kIG5lIExvZXN1bmcsIG9kZXIgd2VuaWdzdGVucyBkYXMgUHJvYmxlbSBrZW5udCwgYml0dGUgbWFpbAphbiBtaWNoIG9kZXIgc28uIChHbGVpY2hlciBpbnRlcnJ1cHQgZnVlciBzb3VuZC0gdW5kIGdyYWZpa2thcnRlIGlzc2VzIG5pY2h0KQoKZ3J1c3MuLkZlbGEKClAuUy4gUDkwLCAzMk1CLCBEaWFtb25kU3RlYWx0aDY0IERyYW0sIFNvdW5kYmxhc3RlciAzMiBQblAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZC1Ecml2ZXIgKExpLCAxOC4gRGV6IDE5OTcsIDExOjE2OjA5KToKaHVodSBMZXV0ZSEKSWNoIGhhYiBlaW4ga2xlaW5lcyBQcm9ibGVtOiBiaXMgdm9yIEt1cnplbSBoYXR0ZSBpY2ggYXVmIG1laW5lbSByZWNobmVyIGVpbmUKYWx0ZSBMaW51eCBWZXJzaW9uIHZvbiBBZGRpc29uLVdlc2xleS4gbnVuIGhhYmUgaWNoIFN1c2UgTGludXggdW5kIG1laW4gZHJpdmVyCmtvbW10IGJlaW0gaG9jaGZhaHJlbiBtaXQgZGVyIE1lbGR1bmc6CmdldGhvc3RieW5hbWU6IGhvc3QgdW5rbm93bgpLcmllZyBpY2ggZGFzIGlyZ2VuZHdpZSBoaW4sIG9obmUgZGVuIGRyaXZlciBuZXUgenUga29tcGlsaWVyZW4/CkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkLURyaXZlciAoQmFib29uLCAxOC4gRGV6IDE5OTcsIDExOjIwOjU4KToKfiMhIHJuPUxpIHJ0PTg4MjQ0MDE2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI0NDAxNjkKSW5zdGFsbGllciBkaXIgZG9jaCBBbWlnYU9TLgoKU2NobWFycm4oKS4uLiBhZWgsIG5laW4gQmFib29uKCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZC1Ecml2ZXIgKEdyaW1tYm9ybiwgMTguIERleiAxOTk3LCAxMToyNTo0Nik6Cn4jISBybj1CYWJvb24gcnQ9ODgyNDQwNDU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MjQ0MDE2OQpIdWNoLCBlcyBnaWJ0IEFtaWdhT1MgZnVlciBQQz8gRGFzIGlzdCBtaXIgdGF0c2FlY2hsaWNoIG5ldS4uLgpBbnNvbnN0ZW4gd3VlcmRlIGljaCB6dSB3aW45NSByYXRlbiwgZGFzIGthbm4gZG9jaCBhbGxlcyBzbyBlaW5mYWNoIHVuZApiZXF1ZW0uIDstKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWQtRHJpdmVyIChXYXJnb24sIDE4LiBEZXogMTk5NywgMTE6Mjg6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MjQ0MDc0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI0NDAxNjkKV2VubiBMaW51eCBsYWV1ZnQsIGthbm4gbWFuIFVBRSAoVW5peC1BbWlnYS1FbXVsYXRvcikgaW5zdGFsbGllcmVuLiBNYW4KYnJhdWNodCBkYW5uIGFsbGVyZGluZ3Mgbm9jaCBlaW4gSW1hZ2UtRmlsZSBkZXMgQW1pZ2EtUk9Ncy4gOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZC1Ecml2ZXIgKEFzdGFyLCAxOC4gRGV6IDE5OTcsIDEzOjIyOjUyKToKfiMhIHJuPVdhcmdvbiBydD04ODI0NDA5MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyNDQwMTY5CkRhcyBnaWJ0cyBtaXQgaW1hZ2UgYXVmIGNkIDspCgpBc3RhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZC1Ecml2ZXIgKEF2YWxvbiwgMTguIERleiAxOTk3LCAxNDowNzoxNCk6Cn4jISBybj1MaSBydD04ODI0NDAxNjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyNDQwMTY5CkhtLAoKZGEgdmVyc3VjaHQgZGVyIGRyaXZlciwgZWluZSBIb3N0LUFkcmVzc2UgYXVmenVsb2VzZW4gKHdhaCwKZGllc2VzIEVpbmRldXRzY2hlbiBpcyBmdXJjaHRiYXIpIHVuZCBzY2hlaXRlcnQuIERpZSBGcmFnZQppc3QsIFdBTk4gZGllc2VyIEZlaGxlciBnZW5hdSBrb21tdC4gSW4gQmV0cmFjaHQga29tbWVuZGUKTG9lc3VuZ2VuOgoxKSBMb29rYmFjay1EZXZpY2UgaW5zdGFsbGllcmVuIChnZWh0IGVoIGJlcXVlbSB2aWEgWWFzdCA6KSkKMikgL2V0Yy9yZXNvbHYuY29uZiwgL2V0Yy9ob3N0cywgL2V0Yy9ob3N0LmNvbmYgcHJ1ZWZlbgpBYmVyIG1laHIgSW5mb3Mgd3VlcmRlbiB1bnMgd29obCBkaWUgSGlsZmUgZXJsZWljaHRlcm4uLi4KCndvb2R5Li0KClBTLiBlaWdlbmVyIG5hbWVzZXJ2ZXIgaXN0IGF1Y2gga2VpbmUgc2NobGVjaHRlIGlkZWUgOikKICAgIGJyYXVjaHQgbWFuIGFiZXIgbmljaHQgdW5iZWRpbmd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luOTUtZG9tYWVuZW5hbm1lbGR1bmcgKExhcmlzc2EsIDE4LiBEZXogMTk5NywgMTQ6MTc6NDYpOgpIb2ksCmljaCBoYWIgbWFsIG5lIEZyYWdlIGZ1ZXIgRnJlYWtzLgpVbnRlciBXaW45NSBtdXNzIGljaCwgd2VubiBpY2ggZGVuIENsaWVudCBiZWltIFNlcnZlciBhbm1lbGRlbiB3aWxsCmRpZXNlIE9wdGlvbiBpbiBkZW0gTmV0endlcmttZW51ZSBlaW5zdGVsbGVuLiBEZXIgUHVua3QgaGVpc3N0OiBBbm1lbGRlbgphbSBOVC1TZXJ2ZXIuCk51biBoYWJlbiB3aXIgYWJlciBnYXJrZWluZW4gTlQtU2VydmVyIGhpZXIsIHNvbmRlcm4gZWluIE9saXZldHRpLVVuaXguCkVzIHNpZWh0IGVpbmZhY2ggZHVtbSBhdXMsIHdlbm4gYmFpbSBib290ZW4gZGFzdGVodDoKTlQtU2NyaXB0IHdpcmQgYXVzZ2VmdWVydCwgYml0dGUgd2FydGVuLgoKS2FubiBpY2ggaXJnZW5kd28gZGllc2UgTWVsZHVuZyB2ZXJhZW5kZXJuPwoKTGFyaSwgc29vIHdpY2h0aWcgaXN0cyBuaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERPUy9XaW5OVC1GcmFnZW4gKEhlZmUsIDE4LiBEZXogMTk5NywgMTU6NDI6MDgpOgp+IyEgcm49SGVmZSBydD04ODIyNzM1Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyMjczNTY5ClZpZWxlbiBEYW5rIGZ1ZXIgRXVyZSBCZW11ZWh1bmdlbiEKTWl0IHNvIHZpZWxlbiBUaXBzIGthbm4gaWNoIG1pY2ggamEgZ2V0cm9zdCBhbnMgV2VyayBtYWNoZW4uCkljaCB3ZXJkZSBFdWNoIHZvbSBFcmdlYm5pcyBtZWluZXMgSW5zdGFsbGF0aW9uc2FiZW50ZXVlcnMKdW50ZXJyaWNodGVuISEKClRzY2h1ZXNzLCB1bmQgZnJvaGUgV2VpaG5hY2h0ZW4gYWxsZXJzZWl0cyEhIQoKSGVmZSBtaXQgZGVyIGxhbmdlbiBSdXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luOTUtZG9tYWVuZW5hbm1lbGR1bmcgKFd1cnplbCwgMTguIERleiAxOTk3LCAxODoyOTo0OSk6Cn4jISBybj1MYXJpc3NhIHJ0PTg4MjQ1MTA2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI0NTEwNjYKZGFzIGlzdCBkb2NoIGV4dHJlbSBoYXJtbG9zIDopIHNpbm5sb3M5NSBoYXQgdmllbCB3aXR6aWdlcmUgbWVsZHVuZ2VuLiBzbwp6LmIuLCB3ZW5uIG5hY2ggbWVocmVyZW4gc3R1bmRlbiB3aW53b3JkICh1bmQgbml4IGFuZGVyZW0pIGRpZSBtZWxkdW5nIGtvbW10LApkYXNzIHp1IHZpZWxlIGRhdGVpZW4gb2ZmZW4gc2luZCB1bmQgZXIgbWVpbmUgZGF0ZWkgZGVzaGFsYiBuaWNodCBtZWhyCmFic3BlaWNoZXJuIG1vZWNodGUuIGRhICh1bmQgYW4gdmllbGVuIGFuZGVyZW4gc3RlbGxlbikgaGFldHRlIGljaCBnZXJuZQplaW5lIG1lbGR1bmcsIGRpZSBtaXIgc2FndCB3YXMgZGVubiB0YXRzYWVjaGxpY2ggbG9zIGlzdC4uLiBhYmVyIG5laW4sIGljaApnbGF1YmUgZmFzdCwgZGllIGZlaGxlcm1lbGR1bmdlbiBiZWkgd2luZG9vZiBzaW5kIGFic2ljaHRsaWNoIHNvIGF1c2dlbGVndCwKZGFzcyBzZXJ2aWNldGVjaG5pa2VyIGF1Y2ggbWFsIGdlbGQgdmVyZGllbmVuIGtvZW5uZW4uCm5hdHVlcmxpY2gga2FubiBqZXR6dCBncmltbWJvcm4gd2llZGVyIGFua29tbWVuIHVuZCBzYWdlbiwgaWNoIG11ZXNzdGUgbWljaAptZWhyIGRhbWl0IGJlc2NoYWVmdGlnZW4gdW5kIGt1bmRpZyBtYWNoZW4uLi4gYWJlciBlcnN0ZW5zIGhhYmUgaWNoIGF1ZiBkZXIKYXJiZWl0IGdlbnVnIHp1IHR1biB1bmQgZGFmdWVyIGtlaW5lIHplaXQsIHp3ZWl0ZW5zIHdlcmRlIGljaCBkYWZ1ZXIgbmljaHQKYmV6YWhsdC4gdW5kIHp1IGhhdXNlIGtvbW10IG1pciBkZXIgc2Nocm90dCBuaWNodCBhdWYgZGllIHBsYXR0ZS4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW45NS1kb21hZW5lbmFubWVsZHVuZyAoRW5neXd1Y2ssIDE4LiBEZXogMTk5NywgMTk6NDU6NTgpOgp+IyEgcm49V3VyemVsIHJ0PTg4MjQ2NjE4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI0NTEwNjYKT2NoLCBkaWUgUHJvZ3JhbW1pZXJzcHJhY2hlIEJPWEVTIGxpZWZlcnQgei5CLiBkaWUgRmVobGVybWVsZHVuZzoKIkFyZ3VtZW50IGlzdCBuaWNodCBhbHMgU3RyaW5nIGRhcnN0ZWxsYmFyIChzb25kZXJuIDE1KS4iCklzIGRvY2ggYXVjaCBodWVic2NoIC4uLiA7KQoKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbjk1LWRvbWFlbmVuYW5tZWxkdW5nIChMYXJpc3NhLCAxOC4gRGV6IDE5OTcsIDE5OjU3OjIyKToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4MjQ3MDc1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI0NTEwNjYKd2llIGdlbmF1IG11c3MgaWNoIGVpZ2VudGxpY2ggZWluIFByb2JsZW0gZm9ybXVsaWVyZW4sIGRhbWl0IGljaAptYWwgZWluIEFudHdvcnQgYmVrb21tZSwgZGllIG5pY2h0IHdpZSAnZ2lidCBzY2hsaW1tZXJzJyAnbmltbSB3YXMgCmFuZGVyZXMnIHVzdy4gbGF1dGV0PwoKCkxhcmksIGdpbnNlbmQsCgpuZXVlciBUaHJlYWQsIG5ldWVyIFRocmVhZCwgbmV1ZXIgVGhyZWFkLCBuZXVlciBUaHJlYWQsIG5ldWVyIFRocmVhZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaW45NS1kb21hZW5lbmFubWVsZHVuZyAoR3JpbW1ib3JuLCAxOC4gRGV6IDE5OTcsIDIzOjMxOjI2KToKfiMhIHJuPVd1cnplbCBydD04ODI0NjYxODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgyNDUxMDY2CkF1ZiBzbyBlaW5lIElkZWUsIGRhcyB6dSBiZWhhdXB0ZW4sIGthZW1lIGljaCBuaWNodCBtYWwgaW0gU2NobGFmLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGFlcmdlcnQgc2ljaCBpbiBkZXIgQmVyYXR1bmcgZGVzIHJ6IHN0YWVuZGlnIHVlYmVyIGRpZQpmZWhsZW5kZSBBdXNzYWdla3JhZnQgZGVyIHdpbjk1LUZlaGxlcm1lbGR1bmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE1OjAyKToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODE4MzYxOTcgb2c9ZXRpa2V0dGUKfiMhIHJuPUxpIHJ0PTg4MTgyNzU5MCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApTb3JyeSwgYWJlciBkYXMgaXN0IHNhY2hsaWNoIGZhbHNjaC4KTGludXggaXN0ICh6dW1pbmRlc3QgZGllIFN1U0UtRGlzdHJpYnV0aW9uKSBuYWNoIHVlYmVyZWluc3RpbW1lbmRlciBBdXNzYWdlCnZvbiBMZXV0ZW4sIGRpZSBkYXMgdmVyZ2xlaWNoZW4ga29lbm5lbiwgbmljaHQgYXVmd2VuZGlnZXIgYWxzIGVpbmUKd2luOTUtSW5zdGFsbGF0aW9uLgoKSWNoIGhhYmUgaW4gZGVyIFRhdCBwcmFrdGlzY2gga2VpbiBWZXJzdGFlbmRuaXMgZnVlciBqZW1hbmRlbiwgZGVyIHNhZ3QgImljaApoYWJlIGtlaW5lIEFobnVuZyB2b24gQ29tcHV0ZXJuLCBtdXNzIGFiZXIgZGFtaXQgYXJiZWl0ZW4gdW5kIGJpbiBkYWhlciB1ZWJlcgpXaW5kb3dzIGZyb2giIC0gd2VyIG1pdCBldHdhcyBzdGFlbmRpZyBtaXQgZXR3YXMgYXJiZWl0ZXQgdm9uIGRlbSBlciBzZWxiZXIKd2Vpc3MsIGRhc3MgZXIga2VpbmUgQWhudW5nIGRhdm9uIGhhdCBpc3QgZHVtbSwgdW5kIGthbm4gbmljaHQgYXVmIG1laW4KTWl0bGVpZCBob2ZmZW4uIEdlcmFkZSB3ZW5uIGljaCByZWdlbG1hZXNzaWcgdW5kIGluIGdyb2Vzc2VyZW0gVW1mYW5nIGRhbWl0CmFyYmVpdGUsIHNvbGx0ZSBpY2ggbWljaCBrdW5kaWcgbWFjaGVuIHVuZCBhdWNoIFplaXQgdW5kIEFyYmVpdCBpbnZlc3RpZXJlbiwKZGFtaXQgaWNoIGFuc2NobGllc3NlbmQgaW0gUm91dGluZWJldHJpZWIgZmx1ZXNzaWcgYXJiZWl0ZW4ga2Fubi4gTmF0dWVybGljaApnaWJ0IGVzIEFud2VuZHVuZ2VuLCB3byBiZWkgc28gZWluZXIgUHJ1ZWZ1bmcgd2luIGFscyBkYXMgZ3VlbnN0aWdzdGUgU3lzdGVtCmFic2NobmVpZGV0LCB1bmQgbmljaHQgdW1zb25zdCBsYXVmZW4gd2VpdGUgVGVpbGUgZGVzIERUUCAoWmVpdHVuZ2VuLApBZ2VudHVyZW4pIG1pdCBNYWNpbnRvc2guIEVzIGdpYnQgbmljaHQgX2Rhc18gU3lzdGVtIGZ1ZXIgYWxsZSB1bmQgYWxsZXMsIGFiZXIKbWFuIHNvbGx0ZSBkYXMgamV3ZWlsaWdlIFN5c3RlbSBiZXd1c3N0IHdhZWhsZW4uIFVuZCBuaWNodCBoaW50ZXJoZXIgd2VpbmVuLAp3ZW5uIG1hbiBkZW1vbnN0cmllcnQgYmVrb21tdCwgZGFzcyBtYW4gZHVtbSBnZXdhZWhsdCBoYXQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gV2llIHdhZXJzIG1pdCBSdWJyaWtlbiBoYXJkc29mdHdhcmUubGludXgsIGhhcmRzb2Z0d2FyZS53aW45NS4uLj8gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxNToxMik6Cn4jISBvbj1DYXVubyBvdD04ODE4Mzg0NjUgb2c9ZXRpa2V0dGUKfiMhIHJuPUdyaW1tYm9ybiBydD04ODE4MzYxOTcgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKPiBtYW4gc29sbHRlIGRhcyBqZXdlaWxpZ2UgU3lzdGVtIGJld3Vzc3Qgd2FlaGxlbi4gVW5kIG5pY2h0IGhpbnRlcmhlciB3ZWluZW4sCj4gd2VubiBtYW4gZGVtb25zdHJpZXJ0IGJla29tbXQsIGRhc3MgbWFuIGR1bW0gZ2V3YWVobHQgaGF0LgoKU29mZXJuIG1hbiBkaWUgV2FobCBoYXQuIE1laW4gUHJvYmxlbSBtaXQgQmV0cmllYnNzeXN0ZW1lbiBzaWVodCBub2NoIGFuZGVycwphdXM6IEljaCBoYWIgV2luZG93cyAzLjExLCBoYWV0dGUgYWJlciBnZXJuZSBMaW51eCwgbnVyIHNjaGVpdGVydGUgZGFzIGJpc2hlcgpzdGFlbmRpZyBhdXMgbmV1ZW4gR3J1ZW5kZW4uIFp1bSBlaW5lbiBrYW5uIGljaCBhdWYgV2luZG93cyBsZWlkZXIgbmljaHQKdmVyemljaHRlbiB3ZWlsIGRlciBIYXVwdHRlaWwgbWVpbmVyIHByaXZhdGVuIFNvZndhcmUgdW5kIERhdGVuIG51ciBkYXJ1bnRlcgp2ZXJmdWVnYmFyIGlzdCAob2RlciB3ZW5pZ3N0ZW5zIERPUyAtIGplZGVuZmFsbHMgTWljcm9zY2hyb3R0KS4KVW0gTGludXggenUgaW5zdGFsbGllcmVuIGJyYWV1Y2h0ZSBpY2ggZXJzdCBtYWwgZWluZSB6d2VpdGUgRmVzdHBsYXR0ZS4gVW5kIGRhCmljaCBuaXJnZW5kd28gZWluZSBwcmVpc3dlcnRlIDUwMCBNQi1QbGF0dGUgZmluZGVuIGthbm4sIGthbm4gaWNocyBtaXIgbmljaHQKbGVpc3Rlbi4KWnVkZW0gd2lsbCBpY2ggaW1tZXIgbm9jaCBlcnN0IG1hbCBpbiBMaW51eCByZWluc2NobnVwcGVybiBkYSBpY2ggbWljaCBlaW5mYWNoCm5pY2h0IGRhbWl0IGF1c2tlbm5lLiBCaXNoZXIgaGF0dGUgaWNoIHZlcnNjaGllZGVuZSBWZXJzdWNoZSwgYmVpIGRlbmVuIGljaAphbmRlcndlaXRpZyBpbiBLb250YWt0IG1pdCBMaW51eCBnZWtvbW1lbiBiaW4uIE51ciBsZWlkZXIgd2FyZW4gZGllIHdlbmlnc3RlbgptaXQgRXJmb2xnIGdla3JvZW50IHVuZCBzbyBsYW5nc2FtIGVudHdpY2tlbGUgaWNoIHNvZ2FyIGVpbmUgbGVpY2h0ZSBBYm5laWd1bmcKZGFnZWdlbi4gQmVpIFdpbmRvb2YsIHNvIHNjaGxlY2h0IGVzIGlzdCwga2VubmUgaWNoIHdlbmlnc3RlbnMgZGllIEZlaGxlci4KCkRhcyBzb2xsIGpldHp0IGtlaW5lbiBuZXVlbiB0aHJlYWQtZmxhbWUtd2FyIHN0YXJ0ZW4sIHNvbmRlcm4gbnVyIG1hbCB6ZWlnZW4sCmRhc3MgZGllIEVudHNjaGVpZHVuZyBmdWVyIGRhcyBCZXRyaWVic3N5c3RlbSBsZWlkZXIgbmljaHQgYmVpIGplZGVtIHNvCmVpbmZhY2ggenUgdHJlZmZlbiBpc3QuIEphLCBpY2gga2FubiBHYXRlcyBlYmVuZmFsbHMgbmljaHQgbGVpZGVuLCBqYSBpY2ggYmluCnVlYmVyemV1Z3QgZGF2b24sIGRhcyBXaW5kb3dzIGluIGplZGVyIFZlcnNpb24gU2Nocm90dCBpc3QgKHVuZCBFeGNlbCBpc3QgbWlyCmRpZSBsZXR6dGVuIFRhZ2UgaW5zZ2VzYW10IHplaG5tYWwgYWJnc2NobWllcnQpLCB1bmQgamEsIGljaCB3aWxsIGF1Y2ggYmVpIG1pcgptYWwgTGludXggbGF1ZmVuIGxhc3Nlbi4gRG9jaCBlcyBoYXV0IGVpbmZhY2ggbmljaHQgaGluIQoKQy4gTm8sIGt1cnogdm9ybSBIZXVsZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxNjo1NSk6Cn4jISBvbj1MaSBvdD04ODIwMDgxMTkgb2c9ZXRpa2V0dGUKfiMhIHJuPUdyaW1tYm9ybiBydD04ODE4MzYxOTcgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKYWhhLCBkdSB3aWxsdCBhbHNvIHZvbiBMZXV0ZW4sIGRpZSBudXIgbWFsIGdyYWRlIGVpbmUgQXJiZWl0IGF1ZiBlaW5lbQpDb21wdXRlciBzY2hyZWliZW4gbXVlc3NlbiwgdmVybGFuZ2VuLCBkYXNzIHNpZSBzaWNoIGVyc3QgZWlubWFsIGluIGRlbgpDb21wdXRlciBlaW5hcmJlaXRlbj8KSWNoIHJlZGUgaGllciBuaWNodCB2b24gU3R1ZGVudGVuLCBzb25kZXJuIHZvbiBMZXV0ZW4sIGRpZSB0YWVnbGljaCA4IG9kZXIKbWVociBTdHVuZGVuIGFyYmVpdGVuLCB1bmQgZGllIGtlaW5lIFplaXQgaGFiZW4sIHNpY2ggbm9jaCBpbnRlbnNpdiBpbiBkZW4KQ29tcHV0ZXIgZWluenVhcmJlaXRlbgpTb2xjaGUgTGV1dGUgZ2lidCBlc2F1Y2gsIHVuZCBmdWVyIGRpZSBpc3QgV2luIGVpbmUgRXJsZWljaHRlcnVuZywgenVtYWwgZHUKc2Nob24genVnZWJlbiBtdXNzdCwgZGFzIGVzIHNjaG9uIGVpbmlnZXMgYW4gQXJiZWl0IGtvc3RldCwgYmlzIG1hbiB1bnRlcgpMaW51eCB6LkIuIGdlbmF1c28gZ3V0IGRydWNrZW4ga2FubiB3aWUgdW50ZXIgd2luLiBnbGVpY2hlcyBnaWx0IGZ1ZXIKYWxsZ2VtZWluZSBUZXh0dmVyYXJiZWl0dW5nLgpJY2ggaGFsdGUgZXMgZnVlciB6aWVtbGljaCBpZ25vcmFudCB6dSBzYWdlbjp3ZXIgc2ljaCBuaWNodCBtaXQgQ29tcHV0ZXJuCmJlc2NoYWVmdGlndCAodW0gc2ljaCBlaW56dWFyYmVpdGVuKSBmdWVyIGRlbiBoYWJlIGljaCBrZWluIFZlcnN0YWVuZG5pcy4KS2xpbmd0IG1pciBlaW4gd2VuaWcgbmFjaCBVZWJlcmhlYmxpY2hrZWl0Li4uIGFiZXIgbmF0dWVybGljaCBrYW5uIGljaCBtaWNoCmF1Y2ggdGFldXNjaGVuLi4uCkxpIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MTc6MDkpOgp+IyEgb249SmltZGlncml6IG90PTg4MjAxNDYyOSBvZz1ldGlrZXR0ZQp+IyEgcm49TGkgcnQ9ODgyMDA4MTE5IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkhvaSwKCmljaCBoYWIgamEgbWl0IG1laW5lciBQcm92b2thdGlvbiBkZW4gVGhyZWFkIGdlc3RhcnRldCwKYWxzbyBlcnNtYSBzb3JyeS4uCgpMaSwKV2VubiBlaW5lciAnbnVyIG1hbCBncmFkZSBlaW5lIEFyYmVpdCcgYW0gQ29tcHV0ZXIKc2NocmVpYmVuIHdpbGwsIGRhbm4gaG9lcnQgc2ljaCBkYXMgbmFjaCBlaGVyCnNwb3JhZGlzY2hlciBOdXR6dW5nIGdhbnogZWluZ2VzY2hyYWVua3RlciBGdW5rdGluaW9uYWxpdGFldCAKYW4gKFRleHR2ZXJhcmJlaXR1bmcpLgpKZW1hbmQgZGVyIGRlbiBDb21wdXRlciBhYmVyIG51ciBzbyBudXR6dCwgaGF0ICh6dW1pbmRlc3QgYXVmCmVpbmVtIGhhbGJ3ZWdzIGtvcnJla3QgaW5zdGFsbGllcnRlbiBTeXN0ZW0pIGthdW0gc29sY2hlClByb2JsZW1lIG9kZXIgRnJhZ2VuLCB3aWUgc2llIGhpZXIgb2Z0IGdlc3RlbGx0IHdlcmRlbi4KU29sY2hlIEZyYWdlbiB0YXVjaGVuIGltbWVyIGRhbm4gYXVmLCB3ZW5uIG1hbiBldHdhcyBfbWVocl8KbW9lY2h0ZS4gTWFuIHZlcnN1Y2h0IGRhbm4gZGFzIFN5c3RlbSBzbyBlaW56dXJpY2h0ZW4sIGRhc3MKbWFuIHBlcnNvZW5saWNoIGFtIGJlc3RlbiBkYW1pdCBhcmJlaXRlbiBrYW5uLiBHZXdpc3NlClNhY2hlbiBrYW5uIG1hbiBkYW5uIGhhbHQgbWl0IFdpbmRvd3MgcmVjaHQgZWluZmFjaCAKZWluc3RlbGxlbiwgd29iZWkgZXMgYXVjaCBoaWVyIHp1IFByb2JsZW1lbiBrb21tZW4ga2FubiwKZ2VyYWRlIHdlbm4gbWFuIHNpY2ggZWJlbiBuaWNodCBkYW1pdCBhdXNrZW5udC4gQW5kZXJlCk1vZWdsaWNoa2VpdGVuIHp1ciBLb25maWd1cmF0aW9uIHN0ZWhlbiB1ZWJlcmhhdXB0IG5pY2h0Cnp1ciBWZXJmdWVndW5nLCBpbiBhbmRlcmVuIFN5c3RlbWVuIGFiZXIgc2Nob24uIFVuZCBkYW5uIApnaWJ0IGVzIHdpZWRlciBEaW5nZSwgZGllIHNpbmQgdW50ZXIgV2luZG93cyBudXIgc2VocgpzY2h3aWVyaWcgbWFjaGJhciwgdW5kIGFuZGVyZW4gU3lzdGVtZW4gdHJpdmlhbC4KCkxldXRlLCBkaWUgOCBTdHVuZGVuIGFtIFRhZyBtaXQgZGVtIENvbXB1dGVyCmFyYmVpdGVuIG11ZXNzZW4sIHVuZCBrZWluZW4gYmxhc3NlbiBTY2hpbW1lciBoYWJlbiwKd2FzIHNpZSBkYSBtYWNoZW4sIGRhZnVlciBoYWJlIGljaCBhdWNoIGtlaW4KVmVyc3RhZW5kbmlzLiBXZW5uIG1hbiBrZWluZSBBaG51bmcgaGF0IGthbm4gbWFuIGF1Y2gKdmllbCBTY2hhZGVuIGFucmljaHRlbiwgdW5kIGdlcmFkZSB3ZW5uIGRlciBDb21wdXRlcgp6dW0gdGFlZ2xpY2hlbiBXZXJremV1ZyBnZWhvZXJ0LCBzb2xsdGUgbWFuIGRhcnVlYmVyCkJlc2NoZWlkIHdpc3NlbiwgYXVjaCB3ZW5uIHNpY2hzIHVtIFdpbmRvd3MgaGFuZGVsdCwKd2VuaWdzdGVuIGRhbWl0IHNvbGx0ZSBtYW4gc2ljaCBkYW5uIGVpbiBiaXNjaGVuIGF1c2tlbm5lbi4KVW5kIGljaCBnbGF1YmUgbmljaHQsIGRhc3MgZGllIExldXRlIGRhbm4ga2VpbmUgWmVpdApkYXp1IGhhZXR0ZW4sIGlzdCBqYSBzY2hsaWVzc2xpY2gga2VpbmUgTGViZW5zYXVmZ2FiZQooYXVzc2VyIG1hbiB3aWxscyBnZXNjaGVpdCBtYWNoZW4gOy0pKSwgZWluIHBhYXIKQWJlbmRlIGhpbmdlc3RldHp0IHVuZCBtYW4gaGF0IHp1bWluZGVzdCBlaW5lbiBnZXdpc3NlbgpQbGFuIHdhcyBhYmxhZXVmdC4KSWNoIGJpbiBzaWNoZXIsIGRhc3MgVU5JWC1TeXN0ZW0ga29tcGxleGVyIHVuZCBhbmZhbmdzCnNjaHdpZXJpZ2VyIHp1IHZlcnN0ZWhlbiBzaW5kLiBEYWZ1ZXIgaGF0IG1hbnMgc3BhZXRlciAKdW1zbyBsZWljaHRlci4gTGVpZGVyIGthbm4gZGFzIGluIGRlciBBcmJlaXRzd2VsdCBuaWNodApzbyBvZnQgYW53ZW5kZW4sIGFiZXIgd2VubiBkZXIgQ29tcHV0ZXIgYXVjaCBub2NoCkhvYmJ5IGlzdCwgc29sbHRlIG1hbiBkYXMgenVtaW5kZXN0IGlucyBBdWdlIGZhc3Nlbi4KVW5kIHNvbyBzY2h3aWVyaWcgaXN0IHNvIGVpbmUgTG9zaXggb2RlciBGcmVpQlNFIApJbnN0YWxsYXRpb24gYXVjaCBuaWNodC4gCgpEaWUgb2Z0IGhhZW1pc2NoZW4gSGlud2Vpc2UgYXVmIEFsdGVybmF0aXZzeXN0ZW1lCnNpbmQgbmljaHQgbnVyIFNwb3R0LCBzb25kZXJuIHdpcmtsaWNoIGVpbiBSYXQsCmVzIGF1Y2ggbWFsIGRhbWl0IHp1IHZlcnN1Y2hlbi4gVW5kIG5pY2h0IG1pdApTY2hldWtsYXBwZW4gcnVtenVyZW5uZW4gYSBsYQoiaWNoaGFibnVubWFsbnVyd2luZG93c3VuZGtlaW5lemVpdGtlaW5lbHVzdAptaXJ3YXNhbmRlcnNhbnp1c2NoYXVlbiIKCkNhdSBObydzIFByb2JsZW0gaXN0IGhpZXIgd29obCBlaGVyIHNwZXppZWxsZXIKQXJ0LCBkYXNzIGVpbmVyIGtlaW5lIEtvaGxlIGZ1ZXIgUGxhdHRlbmthcGF6aXRhZXQgaGF0Cm1hZyBpbW1lciB3aWVkZXIgbWFsIHZvcmtvbW1lbiwgaXN0IGhldXR6dXRhZ2UgYWJlcgpuaWNodCB1bmJlZGluZ3QgZGllIFJlZ2VsLiAKWnVtIERydWNrZW4gdW50ZXIgTG9zaXgsIG9kZXIgc29uc3R3YXMKYXBzZmlsdGVyIGluc3RhbGxpZXJ0LCBpbnN0YWxsYXRpb24gaXN0CnNlbGJzdGVya2xhZXJlbmQsIHVuZCBzY2hvbiBkcnVja3RzLgphYmVyIGRhcyBudXIgYW0gcmFuZGUuLi4KCm15ICQwLjAyCiBKaW0gRGlHcml6IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MTc6MTUpOgp+IyEgb249V3VyIG90PTg4MjA2NzExMyBvZz1ldGlrZXR0ZQp+IyEgcm49SmltZGlncml6IHJ0PTg4MjAxNDYyOSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApJY2ggdmVyc3RlaCBkaWUgQXVmcmVndW5nIGRhcnVlYmVyIGdhciBuaWNodC4gU29sbCBkb2NoIGplZGVyIG1pdCBkZW0gU3lzdGVtCmFyYmVpdGVuIHdpZSBlciBlcyBtdXNzL2JyYXVjaHQvbW9lY2h0ZS4gRHVtbWUgRnJhZ2VuIHN0ZWxsdCBqZWRlciBkYWJlaS4gU28KaXN0IGRhcyBudW4gZWlubWFsLiBXZXIgZGVyIE1laW51bmcgaXN0IGR1bW1lIEZyYWdlbiBuaWNodCBhYnp1a29lbm5lbiwgZGVyCnNvbGx0ZSBtb2VnbGljaHN0IHZlcnN1Y2hlbiBrZWluZSBzb2xjaGUgRnJhZ2VuIHp1IHN0ZWxsZW47IG1laHIgbmljaHQuCgpXdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE3OjIzKToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIxNzc1Nzggb2c9ZXRpa2V0dGUKfiMhIHJuPUxpIHJ0PTg4MjAwODExOSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApOdXIsIHdlaWwgaWNoIHBlcnNvZW5saWNoIGFuZ2VzcHJvY2hlbiB3ZXJkZSwgYW5zb25zdGVuIGhhdCBKaW1kaWdyaXogamEKdW1mYXNzZW5kIGdlYW50d29ydGV0Li4uCkphLCBpY2ggYmluIGRlciBNZWludW5nLCBkYXNzIGljaCBrZWluIFZlcnN0YWVuZG5pcyB6dSBoYWJlbiBicmF1Y2hlICh1bmQgYXVjaApuaWNodCBoYWJlKSwgd2VubiBqZW1hbmQgZXh0ZW5zaXYgbWl0IGV0d2FzIGFyYmVpdGV0LCBvaG5lIHNpY2ggZGFtaXQKYXVzenVrZW5uZW4sIG1pdCBkZXIgRnVua3Rpb25zd2Vpc2UgenUgYmVzY2hhZWZ0aWdlbi4gU293YXMgaGFsdGUgaWNoIGZ1ZXIKZGV1dGxpY2ggaWdub3JhbnRlciB1bmQgdWViZXJoZWJsaWNoZXIgYWxzIGRpZXNlcyBWZXJoYWx0ZW4genUgdmVydXJ0ZWlsZW4uCldlbm4gamVtYW5kIEF1dG9zIHJlcGFyaWVydCBlcndhcnRlIGljaCwgZGFzcyBlciBzaWNoIG1pdCBBdXRvcyBhdXNrZW5udC4gV2VubgpqZW1hbmQgbWVpbmUgU3RldWVyZXJrbGFlcnVuZyBhdXNmdWVsbHQgZXJ3YXJ0ZSBpY2gsIGRhc3MgZXIgc2ljaCBtaXQgU3RldWVybgphdXNrZW5udC4gVW5kIHdlbm4gamVtYW5kIG1pdCBlaW5lbSBDb21wdXRlciBhcmJlaXRldCBlcndhcnRlIGljaCwgZGFzcyBlcgpzaWNoIGF1Y2ggZGFtaXQgYXVzZWluYW5kZXJzZXR6dC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MTc6MjcpOgp+IyEgb249QmFtYnVsa28gb3Q9ODgyMTg0MzQ5IG9nPWV0aWtldHRlCn4jISBybj1HcmltbWJvcm4gcnQ9ODgyMTc3NTc4IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4Ck5hamEgYWxzbyBnYW56IHNvIGlzdCBlcyBqYSBudW4gbmljaHQuIER1IGthbm5zdCBuaWNodCB2b24gamVkZW0sIGRlciBlaW5lbgpDb21wdXRlciBiZW51dHp0IGVyd2FydGVuLCBkYXMgZXIgc2ljaCBtaXQgQ29tcHV0ZXJuIGF1c2tlbm50LiBHZW5hdXNvZ3V0CmtvZW5udGUgaWNoIGVyd2FydGVuLCBkYXNzIGplZGVyIGRlciBBdXRvIF9mYWVocnRfIHNpY2ggbWl0IEF1dG9zIGF1c2tlbm50Cm9kZXIgZGFzcyBqZWRlciBkZXIgbmUgR2x1ZWhiaXJuZSBhbnNjaGFsdGV0IHdlaXNzLCB3aWUgZWluIEtlcm5rcmFmdHdlcmsKZnVua3Rpb25pZXJ0LiBXZW5uIGljaCBtaXQgV2lud29yZCBlaW5lbiB0ZXh0IHNjaHJlaWJlLCBpc3QgZXMgbWlyIGVpZ2VudGxpY2gKc2NoZWlzc2VnYWwsIHdpZSBXb3JkIG9kZXIgV2luZG93cyBmdW5rdGlvbmllcnQuIEljaCB3aWxsIGVzIGVpbmZhY2ggbnVyCmFud2VuZGVuLiAKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE3OjM1KToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIxODQ5Mjggb2c9ZXRpa2V0dGUKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4MjE4NDM0OSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApBYmVyIGhhbGxvIGVyd2FydGUgaWNoLCBkYXNzIGplbWFuZCwgZGVyIEF1dG8gZmFlaHJ0LCBzaWNoIG1pdCBkZW0gQXV0bwphdXNrZW5udC4gQW5zb25zdGVuIHd1ZXJkZSBpY2ggbWljaCBkb2NoIGdhciBuaWNodCBtZWhyIGF1ZiBkaWUgU3RyYXNzZQp0cmF1ZW4uIFVuZCB3ZW5uIGplbWFuZCBtaXQgV29yZCBuaWNodCBudXIgZWluZW4gVGV4dCAoZXMgZ2luZyBuaWUgdW0KR2VsZWdlbmhlaXRzYmVudXR6ZXIhKSBzY2hyZWlidCwgZGFubiBlcndhcnRlIGljaCwgZGFzcyBlciBzaWNoIHNvIGd1dCBkYW1pdAphdXNrZW5udCwgZGFzcyBlciBkYW1pdCBrbGFya29tbXQuIFVuZCB3ZW5uIGVyIGRhcyBuaWNodCB0dXQgKHdlaWwgZGFzClByb2dyYW1tIHNlaW5lIEJlZHVlcmZuaXNzZSBuaWNodCwgbnVyIGVpbmdlc2NocmFlbmt0IG9kZXIgdW5ub2V0aWcKa29tcGxpemllcnQgYmVmcmllZGlndCksIGRhbm4gbXVzcyBlciBzaWNoIGVudHdlZGVyIG5hY2ggZWluZXIgQWx0ZXJuYXRpdmUKdW1zZWhlbiBvZGVyIHNlaW5lIEFuc3BydWVjaGUgdW1zdGVsbGVuLiBVbmQgd2VubiBlciBjbGV2ZXIgd2FyLCBoYXQgZXIgc2ljaAp2b3IvenUgQmVnaW5uIHNlaW5lciBBcmJlaXQgdWViZXJsZWd0LCB3YXMgZXIgZnVlciBBbnNwcnVlY2hlIGhhdCB1bmQgbWl0CndlbGNoZW0gUHJvZ3JhbW0gZGllIGFtIGJlc3RlbiB6dSBiZWZyaWVkaWdlbiBzaW5kLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxNzo0MSk6Cn4jISBvbj1CYW1idWxrbyBvdD04ODIxODU3MDEgb2c9ZXRpa2V0dGUKfiMhIHJuPUdyaW1tYm9ybiBydD04ODIxODQ5Mjggcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKQWxzbyBpY2ggZXJ3YXJ0ZSB2b24gamVtYW5kLCBkZXIgQXV0byBmYWhlcnQgZWlnZW50bGljaCBudXIsIGRhc3MgZXIgZXMgYXVjaApmYWhyZW4ga2Fubi4gRXIgbXVzcyBuaWNodCB1bmJlZGluZ3Qgd2lzc2VuLCB3aWUgZGVyIE1vdG9yLCBkaWUgRWxla3RyaWsgdXN3CmZ1bmt0aW9uaWVydC4gTmF0dWVybGljaCBzb2xsdGUgamVtYW5kLCBkZXIgbWl0IFdpbndvcmQgc2NocmVpYnQgbWl0IFdpbndvcmQKdW1nZWhlbiBrb2VubmVuLiBBYmVyIGVyIG11c3MgbmljaHQgd2lzc2VuLCB3aWUgZXMgcHJvZ3JhbW1pZXJ0IHd1cmRlLiBVbmQgZXMKZ2lidCBqYSBhdWNoIGxldXRlLCBkaWUgc2ljaCBkYXMgQmV0cmllYnNzeXN0ZW0gbmljaHQgYXVzc3VjaGVuIGtvZW5uZW4uIEhpZXIKYW4gZGVyIFVuaSBnaWJ0IGVzIChsZWlkZXIpIG51ciBXaW4tUmVjaG5lciwgdW5kIHNvIGJpbiBpY2ggZ2V6d3VuZ2VuIFdvcmQgenUKYmVudXR6ZW4gYXVjaCB3ZW5uIGljaCB2aWVsIGxpZWJlciBUZXggYmVudXR6ZS4gVW5kIGRpZSBnYW56ZW4gTGV1dGUsIGRpZSBpbgpCYW5rZW4sIFZlcnNpY2hlcnVuZ2VuIHVzdyBhcmJlaXRlbiBrb2VubmVuIHNpY2ggYXVjaCBuaWNodCBhdXNzdWNoZW4sIHdvbWl0CnNpZSBhcmJlaXRlbi4KVW5kIHdlbm4gbWFuIGRhbm4gZWluIFByb2JsZW0gaGF0IHVuZCBiZWtvbW10IGFscyBBbnR3b3J0IGltbWVyIG51cjoKJ0luc3RhbGxpZXIgVW5peC9MaW51eCcsIG5lcnZ0IGRhcyB3aXJrbGljaCBnZXdhbHRpZy4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxNzo1MSk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgyMTg2NDQwIG9nPWV0aWtldHRlCn4jISBybj1CYW1idWxrbyBydD04ODIxODU3MDEgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKTmVpbiwgZXMgZ2lidCBpbiBLb2VsbiBkZWZpbml0aXYgbmljaHQgbnVyIFdpbi1SZWNobmVyLiBEYSB3dWVzc3RlIGljaCB2b24uLi4KQmVpIGRlciBnYW56ZW4gRGlza3Vzc2lvbiBnZWh0IGVzIGRhcnVtLCBkYXNzIGplbWFuZCBQcm9ibGVtZSBoYXQsIGVpbmUKYmVzdGltbXRlIFNhY2hlIG1pdCBlaW5lbSBiZXN0aW1tdGVuIFByb2dyYW1tIHp1IG1hY2hlbi4gQW0gQmVpc3BpZWwgQXV0bzoKIkJld2VnZSBkaWVzZSBkcmVpIFRvbm5lbiBTYW5kIHZvbiBBIG5hY2ggQi4iIERpZSAoa3JpdGlzaWVydGUpIEFudHdvcnQgd2FyCmRhbm4gIk1hY2gga2VpbmUgU2FjaGVuLCBuaW1tIGRhIGxpZWJlciBlaW5lbiBMS1cgZnVlci4iIERhcyBBcmd1bWVudCB2b24KKG5pY2h0IG51cikgQmFtYnVsa28gd2FlcmUgZGFubjogIldvenUgbXVzcyBkZXIgRmFocmVyIHdpc3Nlbiwgb2IgbWFuIG1pdAplaW5lbSBQS1cgb2RlciBlaW5lbSBMS1cgYmVzc2VyIFNhbmQgdHJhbnNwb3J0aWVyZW4ga2Fubj8gUmVpY2h0IGRvY2gsIHdlbm4gZXIKd2Vpc3MsIGRhc3MgbWFuIG1pdCBiZWlkZW0gRmFocmVuIGthbm4uIiBFcyBnaW5nIG5pZSB1bSBGdW5rdGlvbnN3ZWlzZSBpbgpwcm9ncmFtbWllcnRlY2huaXNjaGVyIEhpbnNpY2h0LCBsZWRpZ2xpY2ggdW0gQW53ZW5kdW5nLgpOYXR1ZXJsaWNoIHNpbmQgTGV1dGUsIGRpZSBzaWNoIGRhcyBTeXN0ZW0gbmljaHQgYXVzc3VjaGVuIGtvZW5uZW4gYXJtIGRyYW4KKHVuZCBkYXMgaXN0IGR1cmNoYXVzIGVpbiBHcnVuZCwgUHJvYmxlbWUgenUgaGFiZW4pLiBTb2xjaGUgRW50c2NoZWlkdW5nZW4Kd2VyZGVuIGphIG1laXN0IGltIE1hbmFnZW1lbnQgZ2V0cm9mZmVuIHZvbiBMZXV0ZW4sIGRpZSBzZWxiZXIgbml4IGRhbWl0IHp1CnR1biBoYWJlbiwgbGVpZGVuIG11c3MgZGFubiBkaWUgU2VrcmV0YWVyaW4uCkFsbGVzLCB3YXMgaWNoIGxldHp0bGljaCBiZWhhdXB0ZSwgaXN0LCBkYXNzIGVzIFNpbm4gbWFjaHQsIHZvcmhlciB6dSBkZW5rZW4sCndlbm4gbWFuIHNpY2ggZGFubiBoaW50ZXJoZXIgQXJiZWl0IHNwYXJlbiBrYW5uLiBVbmQgZGFzcyBpY2ggbmljaHQgdmllbCB2b24KTGV1dGVuIGhhbHRlLCBkaWUgZGllIE1vZWdsaWNoa2VpdCBoYWJlbiwgdm9yaGVyIG5hY2h6dWRlbmtlbiwgZXMgbmljaHQgdHVuCnVuZCBoaW50ZXJoZXIgZGFubiB3ZWluZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gRXMgZ2lidCBzb3dhcyB3aWUgbWtUZVgsIEFsc28gTGFUZVgtSW1wbGVtZW50YXRpb25lbiBmdWVyIFdpbi4gRWlnZW5lCkVyZmFocnVuZ2VuIGhhYmUgaWNoIGFsbGVyZGluZ3MgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MTc6NTkpOgp+IyEgb249QmFtYnVsa28gb3Q9ODgyMTg2NTc3IG9nPWV0aWtldHRlCn4jISBybj1HcmltbWJvcm4gcnQ9ODgyMTg2NDQwIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkljaCBiaW4genVyIFplaXQgZnVlciBlaW4gSmFociBpbiBNYW5jaGVzdGVyLiBVbmQgaGllciBnaWJ0IGVzIG51ciBXaW4tUmVjaG5lcgo6LSgKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MTg6MTkpOgp+IyEgb249WWVuZGkgb3Q9ODgyMTg4MzE3IG9nPWV0aWtldHRlCn4jISBybj1HcmltbWJvcm4gcnQ9ODgyMTg2NDQwIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CgoKQWVoIC0tIG5laW4sIEdyaW1tYm9ybiBkZXIgVmVyZ2xlaWNoIGhpbmt0LgpEYXMgUHJvYmxlbSBpc3QgZWhlcjoKVGF4aWZhaHJlciBmcmFndCBLdW1wZWxzIGFtIFRheGVuc3RhbmQ6ICJTYWNodCBtYWwsIExldXRlLCBqZWRlc21hbCwgd2VubiBpY2gKYW5uZXIgQW1wZWwgYW5mYWhyZSwgcm9laHJ0IGRpZSBLYXJyZSBzbyBrb21pc2NoLCB1bmQgc28gcmljaHRpZyBhdWYgVG91cmVuCmtvbW1lbiB0dXQgc2llIGF1Y2ggbmljaCBtZWhyLCB1bmQgd2VubmljaCB6dSBsYW5nZSB2b20gR2FzIGdlaGUsIGRhbm4gZ2VodApkZXIgTW90b3IgYXVzIC0gaGF0IGVpbmVyIG5lIEFobnVuZywgd2FzIGRhcyBzZWluIGthbm4/IgpEYSBoaWxmdCBlcyBkYW5uIHdlbmlnLCB3ZW5uIGFsbCBkaWUgQXV0b21lY2hhbmlrZXIsIGRpZSBkcnVtaGVydW0gc3RlaGVuLApzYWdlbiwgZGFzcyBkYXMgZWluIGFsdGVzIFByb2JsZW0gc2VpIGJlaSBkZW4gODllciBYWXMsIHVuZCB3YXJ1bSBmYWhyZSBtYW4KYXVjaCBuaWNodCBlaW4gdmVybnVlbmZ0aWdlcyBBdXRvLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxOTowOSk6Cn4jISBvbj1NYW5nbyBvdD04ODIxOTQ5Nzggb2c9ZXRpa2V0dGUKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4MjE4NjU3NyByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApEYXMgZGllIEJyaXR0ZW4gc2Nob24gaW1tZXIgc3Bpbm5lbiB3aXNzZW4gbWVyIGRvY2ggc2Nob24gOikKCk1hbmdvIHNhZ3Q6IERpZSBzcGlubmVuIGRpZSBSb2VtZXIuIChCcml0ZW4gYXVjaCEpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE5OjE1KToKfiMhIG9uPUxhcmlzc2Egb3Q9ODgyMTk3NjA1IG9nPWV0aWtldHRlCn4jISBybj1HcmltbWJvcm4gcnQ9ODgyMTg2NDQwIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CmljaCBhbnR3b3J0ZSBhdWYgZGllc2VuIEFydGlrZWwgb2huZSBkZW4gVGhyZWFkIHp1ZW5kZSBnZWxlc2VuIHp1IGhhYmVuLgpNZWluZSBNZWludW5nOgpJY2ggaGF0dGUgdm9yIGNhLiAxMCBUYWdlbiAoV0FSVU0gSEFCIElDSCBEQVMgTlVSIEdFVEFOKSBkYXMgUHJvYmxlbQplaW5lbiBIUCBMYXNlcmpldCA1U0kgbmljaHQgYW4gdW5zZXIgVW5peC1uZXR6IG1pdCBXaW5kb3dzMzExLUNsaWVudHMgenUKYmVrb21tZW4uIAppY2ggaGFiZSBkZWZpbml0aXYgX25pY2h0XyBkaWUgV2FobCB3YXMgYW5kZXJlcyB6dSBiZW51dHplbi4gQXVmIGRlbSBiZXNhZ3RlbgpSZWNobmVyIHd1cmRlIGdlcmFnZSBlaW4gbmlnZWxuYWdlbG5ldWUgU29md2FyZSBmdWVyIDMwMC4wMDAgTXVlY2tlbgppbnN0YWxsaWVydCB1bmQgaWNoIHdvbGx0ZSBuaXggYW5kZXJlcyBhbHMgZWluIGJpc3NjaGVuIEhpbGZlIHZvbgpqZW1hbmRlbSwgZGVyIGRhcyBwcm9ibGVtIHZpZWxsZWljaHQga2FubnRlIG9kZXIgZWluZmFjaCBtZWhyCkVyZmFocnVuZyBoYXQgYWxzIGljaCwgaWNoIG1hY2ggZGVuIEpvYiBuYWVtbGljaCBlcnN0IGVpbiBoYWxiZXMgSmFoci4KClZpZWxsZWljaHQga29lbm50ZW4gd2lyIGFsbGUgdW5zIGRhcmF1ZiBlaW5pZ2VuLCBkYXNzOiBOaW1tLWRvY2gtCmVpbi1hbmRlcmVzLUJTLUFudHdvcnRlbiBlcnN0bWFsIHBlciBtYWlsIGF1c2Rpc2t1dGllcnQgd2VyZGVuPwpXZW5zIGludGVyZXNzaWVydCwgZGVyIHdpcmQgc2Nob24gYW50d29ydGVuLgoKTGFyaSwgKnNldWZ6KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE5OjE5KToKfiMhIG9uPUVuZGVyIG90PTg4MjE5OTA2NyBvZz1ldGlrZXR0ZQp+IyEgcm49TGFyaXNzYSBydD04ODIxOTc2MDUgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKRWJlbiBzbyB3YXMgaW4gZGVyIEFydCBtZWluZSBJY2gsIGVzIGlzdCBlYmVuIGFic2VpdHMgdm9tIFRoZW1hLCB3ZW5uIGF1ZiBkCmVpbmUgRnJhZ2UgenUgZWluZW0gQmV0cmllYnNzeXN0ZW0gbnVyIGFudHdvcnRlbiBrb21tZW4sIHdpZSA6IGJlc29yZ2UgZGlyIHdhcwpiZXNzZXJlcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxOToyNyk6Cn4jISBvbj1SYW50YW5wbGFuIG90PTg4MjE5OTE3OCBvZz1ldGlrZXR0ZQp+IyEgcm49RW5kZXIgcnQ9ODgyMTk5MDY3IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkhleSAhCgo4MCUgZGVyIExldXRlIGhpZXIgc2VoZW4gZXMgYWxzIGlociBlYmVuc3ppZWwgYW4sIGplZGVzIEJTIGluIHVuZCBBdXN3ZW5kaWcgenUKa2VubmVuLgoKSUNoIHNhY2ggaW1tZXIsIHdlciBuaXggYmVzc2VycyB6dSB0dW4gaGF0LCBzb2xsIHNvIGdsZXVja2xpY2ggd2VyZGVuLCBlcwpoaWxmdAppbiBkZXIgU2FjaGUgbnVyIG1laXNzdGVucyBuaWNodCB3ZWl0ZXIsIGFiZXIgd2VuIHN0b2VydHMuLi4KCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE5OjMxKToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIyMTE2NTAgb2c9ZXRpa2V0dGUKfiMhIHJuPVllbmRpIHJ0PTg4MjE4ODMxNyByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApEZWluIFZlcmdsZWljaCBoaW5rdCwgZXMgZ2VodCB1bSBGcmFnZW4gZGVyIEFud2VuZHVuZ3Nzb2Z0d2FyZSAoYWxzbzogV2FzIHVuZAp3aWUga2FubiBpY2ggbWl0IG1laW5lciBoYXJkd2FyZSArIEJldHJpZWJzc3lzdGVtIG1hY2hlbj8pLiBEZWluClRheGktVmVyZ2xlaWNoIGlzdCBlaW5kZXV0aWcgaW4gZGllIFJpY2h0dW5nICJKZWRlc21hbCwgd2VubiBpY2ggZGVuIFJlY2huZXIKYW5zY2hhbHRlLCBrb21tdCBzbyBlaW4gS25hbGwgdW5kIGVzIHJpZWNodCBzbyBrb21pc2NoIi4gRGFzIG1pdCBkZW0gU2FuZAprYXJyZW4gZmluZGUgaWNoIGR1cmNoYXVzIGdlbHVuZ2VuZXIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjE5OjU1KToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIyMTIzOTcgb2c9ZXRpa2V0dGUKfiMhIHJuPUxhcmlzc2EgcnQ9ODgyMTk3NjA1IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4ClNlaSBtaXIgbmljaHQgYm9lc2UsIExhcmlzc2EsIGFiZXIgdW0gRGVpbiBrb25rcmV0ZXMgUHJvYmxlbSBnZWh0cyBkb2NoIHNjaG9uCmxhZW5nc3QgbmljaHQgbWVoci4uLiA7LSkKCkljaCBmaW5kZSBkaWVzZSAiTmltbS1kb2NoLWVpbi1hbmRlcmVzLUJTLUFudHdvcnRlbiIgZ2FyIG5pY2h0IG1hbCBzbyBzaW5ubG9zLAp3ZWlsIG1hbiBkYSBhdWNoIGFscyB1bmJldGVpbGlndGVyIE1pdGxlc2VyIHZvbiBkZW4gTW9lZ2xpY2hrZWl0ZW4sIFN0YWVya2VuCnVuZCBTY2h3YWVjaGVuIHVudGVyc2NoaWVkbGljaHN0ZXIgU3lzdGVtZSBlcmZhZWhydC4gSWNoIGdsYXViZSBrYXVtLCBkYXNzIGljaAppbiBMYVRlWCByZWluZ2Vyb2NoZW4gaGFldHRlLCB3ZW5uIGljaCAoYXVjaCBoaWVyKSBuaWNodCBpbW1lciB3aWVkZXIgdm9uIGRlbgpWb3J0ZWlsZW4gZ2Vob2VydCBoYWV0dGUuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoxOTo1OSk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgyMjEyNTMwIG9nPWV0aWtldHRlCn4jISBybj1SYW50YW5wbGFuIHJ0PTg4MjE5OTE3OCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApOaWNodCBnYW56LiBWaWVsZSBMZXV0ZSBrZW5uZW4gZWluIE9TIGluLSB1bmQgYXVzd2VuZGlnLCB2b24gYW5kZXJlbiBoYWJlbiBzaWUKbWVociBvZGVyIHdlbmlnZXIga29ua3JldGUgVm9yc3RlbGx1bmdlbi4gV2VubiBlaW4gKE9TLXNwZXppZmlzY2hlcykgUHJvYmxlbQphbmdlc3Byb2NoZW4gd2lyZCBmaW5kZSBpY2ggZXMgc2Nob24gaW50ZXJlc3NhbnQgenUgZXJmYWhyZW4sIGRhc3Mgc293YXMgYXVmCm1laW5ldHdlZ2VuIEF0YXJpIG9kZXIgQ2FzaW8gbmljaHQgc28vdmllbCBzY2hsaW1tZXIgaXN0LiBIaWxmdCBuaWNodCBpbiBkZXIKU2FjaGUgd2VpdGVyLCBiaWxkZXQgYWJlciB1bmdlbWVpbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMDo0Nyk6Cn4jISBvbj1UZWRkeSBvdD04ODIyMTMzMDQgb2c9ZXRpa2V0dGUKfiMhIHJuPUdyaW1tYm9ybiBydD04ODE4MzYxOTcgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKT0ssIGljaCBzY2hhZmZzIG5pY2h0LCBtaWNoIHp1cnVlY2t6dWhhbHRlbjoKRGllIFNVU0UgNS4wIERpc3RyaWJ1dGlvbiBoYWJlIGljaCBiaXMgenVtIGhldXRpZ2VuIHRhZ2UgdHJvdHogZXh0ZW5zaXZlcgpORVdTLVVudGVyc3R1ZXR6dW5nIHNvd2llIGVpbmlnZXIgZXJmYWhyZW5lciBMaW51eC1OdXR6ZXIgdW50ZXIgZGVuIGhpZXNpZ2VuCk11ZGRlcm4gTklDSFQgc2F1YmVyIHp1bSBsYXVmZW4gZ2VrcmllZ3QuCkljaCBiaW4gYmVzdGltbXQga2VpbiBGcmV1bmQgdm9uIFdpbmRvd3MsIGFiZXIgTGludXgsIG9iIG1pdCBvZGVyIG9obmUgU3VTRQphbHMgZWluZmFjaCB6dSBpbnN0YWxsaWVyZW5kZXMgQlMgZGFyenVzdGVsbGVuLCBkYXMgYXVjaCBqZW1hbmQgb2huZSBBaG51bmcKdm9uIENvbXB1dGVybiB6dSBoYWJlbiBwcm9ibGVtbG9zIGluc3RhbGxpZXJlbiBrYW5uIGdlaHQgbWlyIG51biBkZWZpbml0aXYgenUKd2VpdC4KClRlZGR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMDo1Myk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgyMjEzOTI5IG9nPWV0aWtldHRlCn4jISBybj1UZWRkeSBydD04ODIyMTMzMDQgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKS2FubiBpY2ggcGVyc29lbmxpY2ggdW5kIGF1cyBkZW0gQmVrYW5udGVua3JlaXMgbmljaHQgbmFjaHZvbGx6aWVoZW4uIERlcgpUZW5vciBkZXIgUnVlY2ttZWxkdW5nZW4gKHdpciBoYWJlbiBkaWUgU3VTRSA1LjAgenVtIEF1c2xlaWhlbiBpbiBkZXIKQmVyYXR1bmcpIHdhciBlaWdlbnRsaWNoOiBBdWNoIG5pY2h0IHNjaHdlcmVyIHp1IGluc3RhbGxpZXJlbiBhbHMgV2luOTUuIEVzCmdpYnQgTGV1dGUsIGJlaSBkZW5lbiBoYXV0IGRpZSB3aW45NS1JbnN0YWxsYXRpb24gYWJzb2x1dCBuaWNodCBoaW4sIGljaApzZWxiZXIgaGFiZSBCbHV0IHVuZCBXYXNzZXIgYmVpIGRlciBOVC1JbnN0YWxsYXRpb24gZ2VzY2h3aXR6dCwgRHUgaGFzdApQcm9ibGVtZSBtaXQgU3VTRS4KVGF0c2FjaGUgaXN0IHdvaGwsIGRhc3Mgc2ljaCBkaWVzZSBTeXN0ZW1lIGluIGRlciBFaW5mYWNoaGVpdCBkZXIgSW5zdGFsbGF0aW9uCndlbmlnIHZvbmVpbmFuZGVyIHVudGVyc2NoZWlkZW4uIFRhdHNhY2hlIGlzdCBhdWNoLCBkYXNzIGFsbGUgKGltIE5vcm1hbGZhbGwpCmVpbiBzYXViZXIgZnVua3Rpb25pZXJlbmRlcyBTeXN0ZW0gbGllZmVybi4gVGF0c2FjaGUgaXN0IGFiZXIgYXVjaCwgZGFzcwpkaWVzZXMgRXJzdHN5c3RlbSBiZWluIE1TIGthdW0gdmVyYWVuZGVyYmFyIGlzdCwgYmVpIExpbnV4IGhpbmdlZ2VuIHByYWt0aXNjaApiZWxpZWJpZyBhbnBhc3NiYXIgaXN0LiBOYXR1ZXJsaWNoIG5pY2h0IHZvbiBhbGxlaW5lLiBFcmhvZWh0ZSBGbGV4aWJpbGl0YWV0Cih1bmQgTGVpc3R1bmcpIGVya2F1ZnQgbWFuIHNpY2ggbWl0IEFkbWluaXN0cmF0aW9uc2F1ZndhbmQuIERhaGVyIGlzdCBhdWNoIE5UCiJrb21wbGl6aWVydGVyIiBhbHMgOTUsIHVtIG1hbCBpbSBzZWxiZW4gSGF1cyB6dSBibGVpYmVuLgpXYXMgbGVybmVuIHdpciBkYXJhdXM/IEVpbnplbGZhZWxsZSBzaW5kIHN0YXRpc3Rpc2NoIGxldHp0bGljaCBuaWNodAppbnRlcmVzc2FudCB1bmQgd2VuaWcgYXVzc2FnZWtyYWVmdGlnLiBEaWUgU3VTRSBfaXN0XyB2b24gZWluZW0gQW53ZW5kZXIgb2huZQpncm9zc2UgQWhudW5nIHByb2JsZW1sb3MgenUgaW5zdGFsbGllcmVuICh3ZW5uIGRpZSBoYXJkd2FyZSBuaWNodCB6dSBleG90aXNjaAppc3QpLiBVbSBlcyBzaW5udm9sbCBhbnp1d2VuZGVuIGJyYXVjaHQgbWFuIGFiZXIgbGV0enRsaWNoIGluIGplZGVtIFN5c3RlbQpBaG51bmcsIGVpbiBCZXRyaWVic3N5c3RlbSBpc3QgaW4gc2VpbmVuIEdyZW56ZW4gaW1tZXIgbnVyIHNvIGd1dCB3aWUgZGVyCkFud2VuZGVyLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFVuc2Nob2VuZXIgU3RyZWl0IChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjE6MDkpOgp+IyEgb249RW5neXd1Y2sgb3Q9ODgyMjE0MTY4IG9nPWV0aWtldHRlCn4jISBybj1XdXJ6ZWwgcnQ9ODgyMjEzOTQzIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgyMTg3NjcxCk9rIG9rLiAKKmdpZXNzIE9lbCBuYWNoKgpWb24gZWluZW0gX3Zlcm51ZW5mdGlnZW5fIEJTIGVyd2FydGUgaWNoLCBkYXNzIGljaCBlaW5lbiBNSURJLVBsYXllcgppbnN0YWxsaWVyZW4ga2FubiAodW5kIHp3YXIgZWluZW4gUklDSFRJR0VOKSBkZXIgbWVpbmUgU291bmRrYXJ0ZQp1bnRlcnN0dWV0enQuCgpMaW51eCBzdWNrcy4gKHJlc3AuIHNhdWd0LCBPZXR0aS4uLikKCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMToxNSk6Cn4jISBvbj1UZWRkeSBvdD04ODIyMTQzMzMgb2c9ZXRpa2V0dGUKfiMhIHJuPUdyaW1tYm9ybiBydD04ODIyMTM5Mjkgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKV2VubiBkdSBuaWNodCBiZWhhdXB0ZXN0LCBkYXMgV2luOTUgcHJvYmxlbWxvcyB6dSBpbnN0YWxsaWVyZW4gaXN0LCBPSy4KQWJlciBpY2ggZmluZGUgZWlnZW50bGljaCB3ZWRlciBkYXMgZWluZSBub2NoIGRhcyBhbmRlcmUgd2lya2xpY2ggcHJvYmxlbWxvcywKamVkZW5mYWxscyBoYWJlIGljaCBtaXQgYmVpZGVuIHNjaG9uIGVub3JtIGludGVyZXNzYW50ZSBFZmZla3RlIGVyemllbHQsIGRpZQp2ZXJtdXRsaWNoIG5pY2h0IHVuYmVkaW5ndCBzbyBnZXBsYW50IHdhcmVuLCBhYmVyIHp1IG5ldHRlbiBSZWFrdGlvbmVuCmdlZnVlaHJ0IGhhYmVuLgpBdXNzZXJkZW0ga29tbXQgbWFuIHNpY2ggaXJnZW5kd2llIG5hZWhlcihkaWUgTGV1dGUgZGVyIGhvdGxpbmVzIHdlbHR3ZWl0IHVuZAppY2gpIDspCgpUZWRkeQpBUC5TLjogRGllc2VyIEFydGlrZWwgaXN0IGF1Y2ggZnVlciBSb2NodXMsIGRhbWl0IHdpZWRlciB3YXMgZHJpbnN0ZWh0LCBpbiBkZXIKTVBBIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBVbnNjaG9lbmVyIFN0cmVpdCAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIxOjI0KToKfiMhIG9uPVd1cnplbCBvdD04ODIyMTQzNDUgb2c9ZXRpa2V0dGUKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4MjIxNDE2OCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MjE4NzY3MQpqZXR6dCBmaW5kZXQgc2ljaCBiZXN0aW1tdCB3aWVkZXIgZWluIGd1cnUsIGRlciBkaXIgc2FndCB3aWUgZGFzIGdlaHQuCmplZGVuZmFsbHMgaGFiIGljaCBkYXMgYXVjaCBzY2hvbiBtYWwgdW50ZXIgbGludXggZ2VzZWhlbiwgZGFzcyBkYXMgbGFldWZ0LApoYWIgYWJlciBrZWluZSBhaG51bmcgd2llLgoKd3VyemVsIChicmF1Y2h0IGtlaW5lIHNvdW5ka2FydGUsIGRpZSBhbmxhZ2UgZHJvZWhudCBnbGVpY2ggbmViZW4gZGVtIHJlY2huZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBVbnNjaG9lbmVyIFN0cmVpdCAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIxOjI4KToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIyMTQ0MDcgb2c9ZXRpa2V0dGUKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4MjIxNDE2OCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MjE4NzY3MQpIbW0sIHdvIGlzdCBkYSBkYXMgQXJndW1lbnQ/IEljaCBlcndhcnRlIHZvbiBlaW5lbSBfcmljaHRpZ2VuXyBPUyBlaW5lbiBndXRlbgpjb21waWxlciB1bmQgZWluZW4gZmFlaGlnZW4gZGVidWdnZXIuIFVuZCBkYXMsIHdlaWwgaWNoIFN0dWRlbnQgYmluLCBmdWVyCnVudGVyIDEwMDBETS4gV2VpdGVyaGluIGJyYXVjaGUgaWNoIGdyb2Vzc3Rtb2VnbGljaGUgS29tcGF0aWJpbGl0YWV0IHp1bQpVbmktTmV0ei4gV2luOTUgc3V4IChyZXNwLiBzY2hsdWVyZnQsIE9ldHRpLi4uKQoKRXMgZ2lidCBuaWNodCBfZGFzXyBPUy4gRXMgZ2lidCBhbmZvcmRlcnVuZ2VuLCBkZW5lbiBtYWwgZGFzIGVpbmUsIG1hbCBkYXMKYW5kZXJlIFN5c3RlbSBvcHRpbWFsIGVudGdlZ2VuIGtvbW10LiBXaW45NSBpc3QgZGVmaW5pdGl2IGRhcyBiZXN0ZSBTeXN0ZW0KZnVlciBlaW5lbiBTcGllbGVmcmVhaywgdmllbGVzIGF1cyBkZXIgc29nLiAiTXVsdGltZWRpYWVja2UiIGxhZXVmdCBhbSBiZXN0ZW4KZG9ydC4gQXVmIGFuZGVyZW4gR2ViaWV0ZW4gaXN0IGVzIGRhZ2VnZW4gdW5icmF1Y2hiYXIuCk1laW5lIFJlZGU6IEVyc3QgdWViZXJsZWdlbiB3YXMgbWFuIGJyYXVjaHQsIGRhcyBCZXN0ZSBuZWhtZW4gdW5kIGhpbnRlcmhlcgpUcmFlbmVuIHZlcm1laWRlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMTozNCk6Cn4jISBvbj1XdXJ6ZWwgb3Q9ODgyMjE0NjY1IG9nPWV0aWtldHRlCn4jISBybj1UZWRkeSBydD04ODIyMTQzMzMgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKc2lubmxvcyA5NSBoYXQgZG9jaCB3YXMgd2l0emlnZXMuIG5hdHVlcmxpY2ggaGFiIGljaCBtaXIgZGFzIGF1Y2ggbWFsIGF1ZgptZWluZXIgaGVpbWF0bGljaGVuIGd1cmtlIGluc3RhbGxpZXJ0Li4uIHZvbiBjZC4gbGVpZGVyIHdhciBkYW5uIGhpbnRlcmhlcgpkZXIgY2QtcGxheWVyIG5pY2h0IG1laHIgYW5zcHJlY2hiYXIsIHNvIGRhc3MgbmljaHRzIG1laHIgbmFjaHp1bGFkZW4gZ2luZy4KYWxzbzogbGludXggaG9jaGZhaHJlbiwgcGxhdHRlbiBwdXR6ZW4sIGZlcnRpZyA6KQoKYWxzbzogbGludXggaG9jaGZhaHJlbiwgcGxhdHRlbiBwdXR6ZW4sIGZlcnRpZyA6KQppbSB1ZWJyaWdlbiBnaWJ0IGVzIG5lIG1lbmdlIGxldXRlLCBkaWUgZGlyIG1pdCB6YWhsbG9zZW4gdGlwcyBmdWVyIGRpZQpzaW5ubG9zOTUtaW5zdGFsbGF0aW9uIGhlbGZlbiBrb2VubmVuLiBkaWUgbWVpc3RlbiwgZGllIGljaCBrZW5uZSB1bmQgZGllCmRhcyBiZW51dHplbiwgaGFiZW4gZXMgc2Nob2VuIHVlYmVyIHplaG5tYWwgaW5zdGFsbGllcnQgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FobnNpbm4gKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMjowNCk6Cn4jISBvbj1QZXJ0aW5heGUgb3Q9ODgyMjE0OTY1IG9nPWV0aWtldHRlCkljaCBzdGF1bmUgZG9jaCBzZWhyLiBXZW5uIGplbWFuZCBBdXRvcyByZXBhcmllcnQsIGVyd2FydGUgaWNoIGF1Y2gsIGRhc3MgZXIKc2ljaCBkYW1pdCBhdXNrZW5udCwgbWlyIHJlaWNodHMgaW0gUHJpbnppcCwgd2VubiBpY2ggZGFtaXQgZmFocmVuIGthbm4uIEljaAprYW5uICBtaXIgbmljaHQgdm9yc3RlbGxlbiwgd2llIGljaCBpbiAgbWVpbmVtIExhZGVuIFNla3JldGFlcmlubmVuLApXaXNzZW5zY2hhZnRsZXJuLCBIYXVzbWVpc3Rlcm4sIERpcmVrdG9pbm5lbiB1bmQgaG5saWNoZW0gTWVuc2NoZW4gbmFoZQpicmluZ2VuIHNvbGx0ZSwgc2ljaCBpbiBhZWhubGljaGVyIFdlaXNlIG1pdCBpaHJlbSBSZWNobmVyCmF1c2VpbmFuZGVyenVzZXR6ZW4uIERhcyB3YWVyZSBtaXIgIGVocmxpY2ggZ2VhZ3QgYXVjaCBuaWNodCByZWNodCwgZGFiZWkKa29tbXQgbmFlbWxpY2ggZGVyc2VsYmUgVW5mdWcgcmF1cyB3aWUgd2VubiBpY2ggdmVyc3VjaGUsIGFuIG1laW5lbSBBdXRvIGRpZQpFaW5zcHJpdHpwdW1wZSBlaW56dXN0ZWxsZW4uIFdlbm4gbWFuIGRlbiBCZW51dHplcm4gZGllIFJlY2huZXIgcmljaHRpZwprb25maWd1cmllcnQsIGVzIGlobmVuIHZlcm51ZW5mdGlnIGVya2xhZXJ0IHdhcyBzaWUgdHVuIHVuZCBsYXNzZW4gc29sbGVuCnBhc3NpZXJ0IGdlbmF1IGRhcywgd2FzIGRhcyBzb2xsLiBTaWUgYXJiZWl0ZW4gbmFlbWxpY2ggZGFtaXQsIHVuZCBkYXNzIGRhcwptb2VnbGljaCBlZmZla3RpdiBnZXNjaGVoZW4ga2FubiBpc3QgdS5hLiBtZWluIEpvYi4gSWNoIGthbm4gei5CLiBlaW5lbQpLdW5zdGhpc3RvcmlrZXIgZGVyIGt1cnogdm9yIGRlciBSZW50ZSBzdGVodCB1bmQgdm9uIENvbXB1dGVybiBuaXggbWVociB3aXNzZW4Kd2lsbCwgbmljaHQgc2NhbmRpc2sgdW5kIHVuZXJhc2UgZXJrbGFlcmVuLCB0dSBpb2NoIGF1Y2ggbGllYmVyIG5pY2h0LiBBYmVyCmljaCBrYW5uIHNlaW5lIEtpc3RlIHVuZCBpaG4gc293ZWl0IGJyaW5nZW4sIGRhc3MgIGVyIHNlaW4gYWVjaHN0ZXMgQnVjaApkYXJhdWYgc2NocmVpYnQgdW5kIGdhbnogZ2x1ZWNrbGljaCBpc3QsIHdpZSBndXQgZGFzIGdlaHQuCkRpZSBDb21wdXRlcmZyZWFrcyB1bnRlciBkZW4gTWl0YXJiZWl0ZXJuIG1hY2hlbiBkZW4gbWVpc3RlbiBBZXJnZXIsIHdlaWwgc2llCmdsYXViZW4sIHNpZSB2ZXJzdHVlbmRlbiB3YXMgZGF2b24gdW5kIHByb2R1emllcmVuIGltIEVuZGVmZmVrdCBudXIKU3RvZXJ1bmdlbi4KUGVydGluYXhlIC1TY2h3ZWluaGF4ZSwgbWl0IHJ1bmQgMjAgUmVjaG5lcm4gYW0gSGFscyB1bmQgdmllciBCZXRyaWVic3N5c3RlbWVuCnVuZCBrYXVtIFN0b2VydW5nZW4sIGVzIHNlaSBkZW5uIG1pdCB6LW11ZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIyOjEyKToKfiMhIG9uPU1hcmN1cyBvdD04ODIyMjA5MjQgb2c9ZXRpa2V0dGUKfiMhIHJuPVRlZGR5IHJ0PTg4MjIxMzMwNCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApIYXN0IGR1IFdpbmRvd3M5NSBzZWxiZXIgX3NhdWJlcl8gaW5zdGFsbGllcnQgYmVrb21tZW4gYXVmIGRpZXNlbQpSZWNobmVyLCB0ZWRkeT8KSGFzdCBkdSBkaWUgX3JpY2h0aWdlbl8gTGV1dGUgZ2VmcmFndD8gTmFlbWxpY2ggZGllIFN1U2Ugc3VwcG9ydCBob3RsaW5lID8gOykKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjI6MjIpOgp+IyEgb249VGVkZHkgb3Q9ODgyMjIxODIyIG9nPWV0aWtldHRlCn4jISBybj1NYXJjdXMgcnQ9ODgyMjIwOTI0IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CmEuKSBJY2ggd2VocmUgbWljaCBkYWdlZ2VuLCBhdWYgbWVpbmVtIHByaXZhdGVuIFJlY2huZXIgV2luOTUgenUgaW5zdGFsbGllcmVuLApiaW4gYWJlciBzaWNoZXIsIGRpZXNlIFByb2JzIG5pY2h0IGRhbWl0IHp1IGhhYmVuCmIuKSBJY2ggd2VyZGUgd29obCBrYXVtIGVpbmUgSG90bGluZSBhbnJ1ZmVuLCB3ZW5uIGljaCBkaWUgRGlzdHJpYnV0aW9uCmdlbGllaGVuIGhhYmUsIGFiZXIgZWluZSB2aXJ0dWVsbGUgQXVmbG9lc3VuZyB2b24gMzIwKjIwMCBpc3Qgc2Nob24gcmVjaHQKaW50ZXJlc3NhbnQuCgoKVGVkZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIyOjQwKToKfiMhIG9uPUxpIG90PTg4MjI2NTYwNCBvZz1ldGlrZXR0ZQp+IyEgcm49SmltZGlncml6IHJ0PTg4MjAxNDYyOSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApPaywgbGV0enRlIEFudHdvcnQsIGRhbWl0IGtlaW5lIG1pc3N2ZXJzdGFlbmRuaXNzZSBlbnRzdGVoZW46IE1pdCA4IHN0dW5kZW4KYXJiZWl0biBtZWludGUgaWNoIG5pY2h0IDggc3R1bmRlbiBhbSBjb21wdXRlciBhcmJlaXRlbiwgc29uZGVybiBldHdhcwphbmRlcmVzLgpBYmVyIGxhc3N0IHVucyBkYXMgamV0enQgdmVyZ2Vzc2VuLCBpaHIgaGFidCByZWNodCB1bmQgaWNoIG1laW5lIHJ1aGUgLi0pCkxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMjo0Myk6Cn4jISBvbj1Bc21vZGlzIG90PTg4MjI5NzE0MSBvZz1ldGlrZXR0ZQp+IyEgcm49VGVkZHkgcnQ9ODgyMjIxODIyIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkhtbSwgd28ga3JpZWd0IG1hbiBkZW5uIExpbnV4IG9kZXIgc28gYmVpIGVpbmVtIG5ldWVuIFJlY2huZXIKbWl0Z2VsaWVmZXJ0ID8/IEFsc28gaWNoIHNwYXJlIG1pciBhdWNoIGxpZWJlciBkYXMgR2VsZCBmdWVyCnNvd2FzLCBzb2xhbmdlIGljaCBtaXQgV2luZG9vZiBlaW5pZ2VybWFzc2VuIHp1cmVjaHRrb21tZSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIyOjQ3KToKfiMhIG9uPUJoYW1pciBvdD04ODIyOTgzODggb2c9ZXRpa2V0dGUKfiMhIHJuPUFzbW9kaXMgcnQ9ODgyMjk3MTQxIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkVzIGdpYiB2b24gU05JIChTaWVtZW5zLU5peGRvcmYpIGVpbmVuIFJlY2huZXIgbWl0IExpbnV4LCBiYXNpZXJlbmQgYXVmIGRlcgpTdXNlLURpc3RyaWJ1dGlvbi4gKENlbHNpdXMtV29ya3N0YXRpb24uIEFsdGVybmF0aXZlcyBPUzogV2luTlQpLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIyOjUxKToKfiMhIG9uPU1hcmN1cyBvdD04ODIyOTkxNjAgb2c9ZXRpa2V0dGUKfiMhIHJuPUFzbW9kaXMgcnQ9ODgyMjk3MTQxIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkVzY29tIGFtIEt1ZGFtbSBpbiBCZXJsaW4gaGF0dGUgZXMgYWxzIE9wdGlvbi4gV2FzIGZ1ZXIgZWluIExpbnV4IHdlaXNzIGljaApuaWNodC4KCk1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjI6NTkpOgp+IyEgb249QW5ha2luIG90PTg4MjI5OTY5NyBvZz1ldGlrZXR0ZQp+IyEgcm49TWFyY3VzIHJ0PTg4MjI5OTE2MCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApTdXNlIHZlcmthdWZ0IGF1Y2ggUmVjaG5lciBtaXQgTGludXggZHJhdWYuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBVbnNjaG9lbmVyIFN0cmVpdCAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIzOjAzKToKfiMhIG9uPUVuZ3l3dWNrIG90PTg4MjMwMzMwNyBvZz1ldGlrZXR0ZQp+IyEgcm49TWFyY3VzIHJ0PTg4MjIyMDk5MyByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MjE4NzY3MQpKbywgcGxheW1pZGkga29tcGlsaWVydCBiZWkgbWlyIG1pdCAxLTIgU2VpdGVuIEVycm9ycy4gVW5kIGljaCBiaW4gaGFsdCBfa2Vpbl8KV2l6YXJkLCBkZXIgZGllIHByb2JsZW1sb3MgYXVzYmF1ZW4ga2Fubi4gIApNaXQgV2luIGFsbGVzIGtlaW4gUHJvYmxlbS4uLiAKQWJlciBkYXNzIG1hbiBkaWUgZ2VzYW1tdGUgTWlkaXNvZnR3YXJlIGZ1ZXIgTGludXggaW4gZWluIHBhYXIgWmVpbGVuCnp1c2FtbWVuZmFzc2VuIGthbm4sIGhhdCBtaWNoIGRvY2ggZXR3YXMgZXJzY2h1ZXR0ZXJ0LCBtdXNzIGljaCBzYWdlbi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBVbnNjaG9lbmVyIFN0cmVpdCAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIzOjA3KToKfiMhIG9uPU1hcmN1cyBvdD04ODIzMDM1Nzggb2c9ZXRpa2V0dGUKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4MjMwMzMwNyByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MjE4NzY3MQpkYXMgd2FyZW4gZGllIHBsYXllci4gaWNoIGtlbm4gbm9jaCBlaW5lbiBlZGl0b3IsIHRrbWlkaSBvZGVyIHNvIGFlaG5saWNoLCAKaGFiIGFiZXIga2VpbmUgQWhudW5nIHdpZSBndXQgZGVyIGlzdC4gCnBsYXltaWRpIGdpYnRzIHVlYnJpZ2VucyBzaWNoZXJsaWNoIGF1Y2ggYWxzIGJpbmFyeSA7KQoKQ2lhbywgTWFyY3V5cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjM6MTEpOgp+IyEgb249QWNyaW1vbiBvdD04ODIzMDQ5MTMgb2c9ZXRpa2V0dGUKfiMhIHJuPUFzbW9kaXMgcnQ9ODgyMjk3MTQxIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4Ckxhc3ogZGlyIGVpbmZhY2ggTGludXggc3RhdHQgV2luZG9vZiBtaXRnZWJlbi4KSWNoIHd1ZXJkZSBqZWRlbmZhbGxzIGJlaW0gUmVjaG5lcmthdWYga2VpbmVzZmFsbHMgZGF6dSBnZXp3dW5nZW4gd2VyZGVuCndvbGxlbiwgV2luZG9vZiB6dSBuZWhtZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjIzOjE1KToKfiMhIG9uPUdyaW1tYm9ybiBvdD04ODIzNDU2ODMgb2c9ZXRpa2V0dGUKfiMhIHJuPUFjcmltb24gcnQ9ODgyMzA0OTEzIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkludGVyZXNzYW50IGlzdCBhdWNoIGltbWVyIHdpZWRlciBkZXIgRWZmZWt0LCB3ZW5uIG1hbiBmcmFndCAiV2FzIGtvc3RldAplaWdlbnRsaWNoIHdpbjk1IGJlaSBJaG5lbj8iIHVuZCBhbnNjaGxpZXNzZW5kIGRlciBNZWludW5nIGlzdCwgZGVuIFJlY2huZXIKb2huZSB1bSBlYmVuIGRpZXNlbiBQcmVpcyBlcm1hZXNzaWd0IGthdWZlbiB6dSB3b2xsZW4uCkFiZXIgYWJnZXNlaGVuIGRhdm9uOiBXZW5uIGljaCBlaW5lbiBSZWNobmVyIGZ1ZXIgendlaWVpbmhhbGIgVGF1c2VuZCBNYXJrCmthdWZlLCBkYW5uIGJyaW5nZW4gbWljaCBkaWUgNTAtMTAwRE0gZnVlciBlaW4gTGludXggKHdlbm4gaWNocyBtaXIgbmljaHQKaXJnZW5kd28gbGVpaGVuIGthbm4pIGF1Y2ggbmljaHQgdW0uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyMzozMSk6Cn4jISBvbj1GcmV1bmQgb3Q9ODgyMzU1MjcyIG9nPWV0aWtldHRlCn4jISBybj1HcmltbWJvcm4gcnQ9ODgyMzQ1NjgzIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4Ck1TIFdpbmRvd3MgOTUga29zdGV0IGJlaSB1bnMgaW0gTGFkZW4gMTkwLi0gRE0gKE9FTSkuIEVpbiBSZWNobmVyIG9obmUKQmV0cmllYnNzeXN0ZW0ga29zdGV0IGVyZ28gMTkwLi0gRE0gd2VuaWdlci4gCgpGcmV1bmQsIHZlcmthdWZ0IFJlY2huZXIgdW5kIGthbm4gcmVjaG5lbi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNDoyNyk6Cn4jISBvbj1GcmV1bmQgb3Q9ODgyNDU5OTc5IG9nPWV0aWtldHRlCn4jISBybj1TbWFydGUgcnQ9ODgyNDU5Mzc2IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4ClNvbGNoZSBXb3J0ZSB3aWUgImxhZWNoZXJsaWNoIiwgImFsYmVybiIsICJraW5kaXNjaCIsIGV0Yy4gaGFiZSBpY2ggc2Nob24KbGFuZ2UgYXVzIG1laW5lbSBha3RpdmVuIFdvcnRzY2hhdHogZ2VzdHJpY2hlbiwgZGEgZGllc2UgZWluZSBhdXRvbWF0aXNjaGUKKHVuZCB1bmJlZ3J1ZW5kZXRlKSBBYnN0dWZ1bmcgbWVpbmVzIEdlc3ByYWVjaHNwYXJ0bmVycyBiZWRldXRlbi4gCgpEYSBpY2ggamEgZWlnZW50bGljaCBtYWwgZWluZW4gQXJ0aWtlbCB1ZWJlciBkaWUgIkluc3RhbGxpZXIgRGlyIGhhbHQgZWluCmFuZGVyZXMgQlMiLUFudHdvcnRlbiBnZXNjaHJpZWJlbiBoYXR0ZSwgZ2Vob2VydCBkYXMgYXVjaCBlaGVyIG5hY2ggRXRpa2V0dGUsCmRpZSBCUyBEaXNrdXNzaW9uLCBkaWUgZGFuYWNoIHdpZWRlciAiZW50ZmxhbW10ZSIgZWhlciBuYWNoIERpc2t1c3Npb24uIEljaApiaW4gZ2VyYWRlIGRhYmVpLCBTVVNFLUxpbnV4IGF1Znp1c3BpZWxlbiwgdW0gbWljaCBtYWwgdm9uIGRlbiBNZWludW5nZW4sIGRpZQpoaWVyIHZlcnRyZXRlbiB3dXJkZW4sIG1laHIgb2RlciB3ZW5pZ2VyIHVlYmVyemV1Z2VuIHp1IGxhc3Nlbi4gOi0pCgpEYXMgSW5zdGFsbGllcmVuIGlzdCBiaXNsYW5nIHp1bWluZGVzdCAidW5nZXdvaG50ZXIiIGFscyBkYXMgV2luOTUuLi4gOykKCkZyZXVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNDozMyk6Cn4jISBvbj1Sb2NodXMgb3Q9ODgyNDYwMDg2IG9nPWV0aWtldHRlCn4jISBybj1GcmV1bmQgcnQ9ODgyNDU5OTc5IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4Cj4gRGFzIEluc3RhbGxpZXJlbiBpc3QgYmlzbGFuZyB6dW1pbmRlc3QgInVuZ2V3b2hudGVyIiBhbHMgZGFzIFdpbjk1Li4uIDspCkRhcyBnbGF1YmUgaWNoIERpciBnZXJuZSwgaWNoIGhhYmUgamVkZW5mYWxscyBXaW45NSBvZWZ0ZXIgbmV1Cmluc3RhbGxpZXJlbiBtdWVzc2VuIGFscyBMaW51eCAtIHdlbm4gZXMgRGlyIGdlbmF1c28gZ2VodCwgd3VuZGVydAplcyBtaWNoIG5pY2h0IGRhc3MgRHUgRGljaCBkYXJhbiBnZXdvZWhudCBoYXN0IDotKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjI0OjQwKToKfiMhIG9uPUhlbHZhIG90PTg4MjQ2NzYzMSBvZz1ldGlrZXR0ZQp+IyEgcm49TWFyY3VzIHJ0PTg4MjIyMDkyNCByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApBbHNvIGljaCBoZWJlIE1pdHRlIFNlcHRlbWJlciBTdVNlIExpbnV4IDUuMCBnZXNjaGVua3QgYmVrb21tZW4uLi4gZGFzIGlzdCB2b24KSnVuaSAxOTk3LiBadSBkaWVzZW0gWmVpdHB1bmt0IGhhdHRlIGljaCBhYmVyIGtlaW5lIFplaXQgenVtIEluc3RhbGxpZXJlbgooRXgtS2xhdXN1cmVuKS4gSmV0enQgbWFjaGUgaWNoIG1pY2ggc28gbGFuZ3NhbSBkYXJhbiB1bmQgZW50ZGVja2UsIGRhc3MgYWIKUmVnaXN0cmllcnVuZyBkZXIgU3VwcG9ydCA2MCBUYWdlIHp1ciBWZXJmdWVndW5nIHN0ZWh0LiBEYSBpY2ggbWljaCBuYXR1ZXJsaWNoCm5vY2ggbmljaHQgaGF0dGUgcmVnaXN0cmllcmVuIGxhc3NlbiwgZGVua2UgaWNoIG1pb2lyIGF1LCBwcmltYSEgQmlzIGljaCBpbQpuYWVjaHN0ZW4gU2F0eiBsZXNlIDogU3VwcG9ydCBhYmVyIG51ciBsYWVuZ3N0ZW5zIG5hY2ggSGVyYXVzZ2FiZSBkZXMKTmFjaGZvbGdlcnM6IEViZW5mYWxscyA2MCBUYWdlLiBkZXIgaXN0IGFiZXIgamV0enQgYXVjaCBzY2hvbiBldHdhcyBkcmF1c3Nlbi4KQWxzbyBrYW5uIGljaCBtaXIgamV0enQgc2Nob24gYXVzcmVjaG5lbiwgZGFzcyBpY2ggYXVmIGRlbiBTdXBwb3J0IHdvaGwgd2VyZGUKdmVyemljaHRlbiBtdWVzc2VuLiBJY2ggZmluZGUgYWxzbywgZGFzIGF1ZiBkZW4gU3VTZSBTdXBwb3J0IHp1IHZlcndlaXNlbgp6aWVtbGljaCB3aXR6bG9zIGlzdC4gd2VubiB6dW0gQmVpc3BpZWwgZGllIDYwIFRhZ2UgdW0gc2luZCwgdW5kIGFtbiBrYXVmdApzaWNoIG5ldWUgSGFyZHdhcmUsIGRpZSBtYW4gYXVzIGlyZ2VuZHdlbGNoZW4gR3J1ZW5kZW4gbmljaHQgaW5zdGFsbGllcnQKYmVrb21tdCwgaXN0IG1pdCBkZW0gU3VwcG9ydCBqYSB3b2hsIGF1Y2ggRXNzaWcuCkhlbHZhIHd1ZW5zY2h0IHNpY2ggbWFsIGVpbiBQcm9kdWt0IG1pdCBuZW0gZ3V0ZW4gU3VwcG9ydCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1hbCB3YXMgR2VuZXJlbGxlcyAoQ2F0d2VhemxlLCAxOS4gRGV6IDE5OTcsIDEwOjI0OjQ4KToKfiMhIG9uPVd1cnplbCBvdD04ODI0Njc4Njcgb2c9ZXRpa2V0dGUKfiMhIHJuPUhlbHZhIHJ0PTg4MjQ2NzYzMSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OApkYW1pdCBpc3Qgd29obCBkZXIga29zdGVubG9zZSBzdXBwb3J0IGdlbWVpbnQsIG5laG1lIGljaCBtYWwgYW4uIGZ1ZXIgZ2VsZAp0dW4gZGllIGJlc3RpbW10IGFsbGVzIDopCmltIGZhbGwgbmV1ZXIgaGFyZHdhcmUgaXN0IHouYi4gZGVyIHN1c2Utd2Vic2VydmVyIHp1IGVtcGZlaGxlbi4gZGllCmtvbXBvbmVudGVuIGZ1ZXIgbWVpbmUgbmV1ZSBndXJrZSBoYWIgaWNoIHUuYS4gZGFuYWNoIGF1c2dld2FlaGx0LCBvYiBzaWUKdm9uIGxpbnV4IHVudGVyc3R1ZXR6dCB3ZXJkZW4sIHVuZCBkYXMga2FubiBtYW4gZGEgYXVmIGRlbSBzZXJ2ZXIgYWJmcmFnZW4uCmZpbmRlIGljaCB6dW1pbmRlc3RlbnMgZWluZW4gZ3V0ZW4gc3VwcG9ydCAodW5kIGF1Y2ggbm9jaCBrb3N0ZW5sb3MpLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNDo1Mik6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgyNDg0MTIyIG9nPWV0aWtldHRlCn4jISBybj1XdXJ6ZWwgcnQ9ODgyNDY3ODY3IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4ClVuZCwgc2VoZW4gd2lyIGRhcyByZWFsaXN0aXNjaCwgd2VubiBEdSBtaXQgZWluZXIgYmVyZWNodGlndGVuIEZyYWdlIGFua29tbXN0LAppc3QgU3VTRSBlaW5lIGRlciBsZXR6dGVuIEZpcm1lbiwgZGllIHNpY2ggYXVmIGRlbiBTdGFuZHB1bmt0IHN0ZWxsZW4gIkRlaW4Kc3VwcG9ydCBpc3QgYWJlciBhYmdlbGF1ZmVuIi4gU2lubiBkZXIgUmVnZWx1bmcgaXN0LCBkYXNzIHNpZSBuaWNodCBnZXp3dW5nZW4Kc2VpbiB3b2xsZW4sIHNpY2ggbWl0IGRlbiBidWdzIGRlciBWZXJzaW9uIDAuMDEgbm9jaCAxMCBKYWhyZSBzcGFldGVyCnJ1bWFlcmdlcm4genUgbXVlc3Nlbi4gV2VubiBEdSBGcmFnZW4gaGFzdCAod2FzIHRhdHNhZWNobGljaCBzZWx0ZW4gZ2VudWcgaXN0LAp3ZW5uIG1hbiBpbiBkZXIgTGFnZSBpc3QsIGRpZSB1ZWJsaWNoc3RlbiBtYW4gcGFnZXMgenUgbGVzZW4pIHdpcnN0IER1IEFudHdvcnQKYmVrb21tZW4sIHUuVS4gaGFsdCBpbiBkZXIgQXJ0ICJEZXIgYnVnIGlzdCBpbiBkZXIgbmV1ZW4gVmVyc2lvbiBuaWNodCBtZWhyCmRhIiwgYWxsZXJkaW5ncyBoYWx0ZSBpY2ggZGFzIGZ1ZXIgdW53YWhyc2NoZWlubGljaC4gVW5kIHdlbm4gbmljaHQgdm9uIFN1U0UsCnNvIGdpYnQgZXMgaGllciBpbW1lciBMZXV0ZSwgZGllIHNpY2ggZnJldWVuIGJld2Vpc2VuIHp1IGtvZW5uZW4sIGRhc3MgbWl0CmlocmVtIExpZWJsaW5nc3N5c3RlbSB3aXJrbGljaCBhbGxlcyB1bmQgbGVpY2h0IG1vZWdsaWNoIGlzdC4uLgpBY2ggamEsIG1laW5lIGVpZ2VuZSBFcmZhaHJ1bmc6IEFscyBuaWNodCByZWdpc3RyaWVydGVyIHVzZXIgKHdlbm5zIGRpZSBTdVNFCmltIHJ6IGdpYnQgZ2ViIGljaCBqYSBrZWluIEdlbGQgYXVzKSBoYWJlIGljaCBlaW5lbiBidWcgYmVpbSB1cGRhdGUKZW50ZGVja3QvZXJ3YWVobnQsIHVtIGRlbiBzaWNoIGluIGt1ZXJ6ZXN0ZXIgWmVpdCB6d2VpIExldXRlIHZvbiBTdVNFCmdla3VlbW1lcnQgaGFiZW4uIEljaCBnZWJlIHp1LCBpY2ggd2FyIGJlZWluZHJ1Y2t0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNDo1OCk6Cn4jISBvbj1KaW1kaWdyaXogb3Q9ODgyNDg0MjI1IG9nPWV0aWtldHRlCn4jISBybj1IZWx2YSBydD04ODI0Njc2MzEgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKCkd1dGVuIFN1cHBvcnQsIGJpZXRldCB6QgpCU0RJIChha3R1ZWxsZXMgU3lzdGVtIEJTRC9PUyAzLlgpCmxlaWRlciBsZWlkZXIgbGVpZGVyLCBsYXNzZW4gZGllIHNpY2ggZGFzIGF1Y2gga29zdGVuIDotfQoKQWxsZWluIGRpZSBCaW5hcnktU3R1ZGVudGVuKCEhKS1MaXplbnogZnVlciBkYXMgU3lzdGVtCih2ZXJtdXRsaWNoIGF1Y2ggb2huZSBEYXVlci1TdXBwb3J0KSBrb3N0ZXQgc2Nob24KIGNhIFVTICQxMDAwICEhCihEaWUgU3Bpbm5lbiBkaWUgQlNESSdsZXIpCgpNYWwgaW0gRXJuc3Qga29zdGVubG9zZXIgU3VwcG9ydCBpcyBrYXVtIHp1CmJla29tbWVuLiBUaXBzIGVyaGFlbHQgbWFuIGFiZXIgYmVpIEd1cnVzIGhpZXIKb2RlciBpbiBkZW4gZWluc2NobGFlZ2lnZW4gTmV3c2dyb3Vwcwood2VubiBtYW4gbWFsIGR1cmNoIGRlbiBTUEFNIHVuZCBkZW4gUXVhdHNjaCBkdXJjaCBpc3QsCm1vZGVyaWVydGUgR3J1cHBlbiBhbHNvIHZvcnppZWhlbikKCkNpYW8sCiBKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNTowNCk6Cn4jISBvbj1ZYXJlbiBvdD04ODI0ODUxMjkgb2c9ZXRpa2V0dGUKfiMhIHJuPUhlbHZhIHJ0PTg4MjQ2NzYzMSByZz1ldGlrZXR0ZQp+IyEgdGlkPTg4MTY3NDI1OAoqbWVnYS1sYWNoKgoKcnVmIG1hbCBiZWltIE1TLXN1cHBvcnQgYW4gLSAzIEZyYWdlbiB1bmQgYXNjaGUgbXVzc3RlIGF1Y2ggbm9jaCBsYW5nIGRhZnVlcgphYmRydWVja2VuLCB3ZW5uIGR1IGVuZGxpY2ggenUgZWluZW0gc29nZW5hbm50ZW4gJ2ZhY2htYW5uJyBkdXJjaGdlc3RlbGx0Cnd1cmRlc3QgLi4uIHZpZWwgc3Bhc3MgYXVjaCBkYW1pdCAuLi4KCllhcmVuIGlzdCBtaXQgZGVtIFN1U0Utc3VwcG9ydCBkZXV0bGljaCBtZWhyIHp1ZnJpZWRlbiBhbHMgbWl0IGRlbSB2b24KTWluaXdlaWNoIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjU6MTApOgp+IyEgb249SGVsdmEgb3Q9ODgyNDkyMTY2IG9nPWV0aWtldHRlCn4jISBybj1ZYXJlbiBydD04ODI0ODUxMjkgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKRGFua2UsIGRhc3MgbWFuIGhpZXIgVGlwcyBiZWtvbW10LCB3ZWlzcyBpY2ggOikgLgpVbmQgbmF0dWVybGljaCBoYWx0ZSBpY2ggZGVuIE1TLVN1cHBvcnQgd2VkZXIgZnVlciBndXQgbm9jaCBmdWVyCm5hY2hhaG1lbnN3ZXJ0LiBEYXMgZWluemlnZSB3YXMgZGllIHR1biwgaXN0IGRpZSBBZHJlc3NlbiBkZXIgcmVnaXN0cmllcnRlbgpiZW51dHplciB3ZWl0ZXJ6dXZlcmthdWZlbi4gSWNoIHdvbGx0ZSBudXIgbWFsIGRhcmF1ZmhpbndlaXNlbiwgZGFzcyAtCnp1bWluZGVzdC0gZGVuIGJlZGluZ3VuZ2VuIG5hY2ggYXVjaCBiZWkgU3VTZSBuaWNodCBhbGxlcyBzbyB0b2xsIGlzdC4gVW5kIHdpZQpnZXNhZ3QgaWNoIHJlZGUgaGllciBuaWNodCB2b24gSmFocmVuLCBhYmVyIGljaCBkZW5rZSBzbyBlaW4gaGFsYmVzIGJpcyBlaW4KSmFociBTdXBwb3J0IHNvbGx0ZSBzY2hvbiBkcmluIHNlaW4sIHdlbm4gZWluIE5hY2hmb2xnZXByb2R1a3QgcmF1c2dla29tbWVuCmlzdCwgdm9yIGFsbGVtIHdlbm4gZGFzIHNvIHNjaG5lbGwgZ2luZyB3aWUgaGllci4gSmV0enQga29lbm50IGlociBtZWluZQpBbnNpY2h0IHJ1aGlnIGFscyB1ZWJlcnpvZ2VuL3V0b3Bpc2NoL3dhc3dlaXNzaWNoIGJlemVpY2huZW4uCkhlbHZhIC0gZnJldXQgRXVjaCBzY2hvbiBtYWwgYXVmIG1laW5lIEluc3RhbGxhdGlvbnN2ZXJzdWNoZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjU6MzIpOgp+IyEgb249UmluZ29yIG90PTg4MjQ5MjY0NSBvZz1ldGlrZXR0ZQp+IyEgcm49SGVsdmEgcnQ9ODgyNDkyMTY2IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkVpbiBoYWxiZXMgSmFociBTdXBwb3J0IHp1IGVyd2FydGVuIGZ1ZXIgNzksLSBETSBfaXN0XyB1ZWJlcnpvZ2VuLiAKClJpbmdvciBtYWwgbWl0IG5lbSBad2VpemVpbGVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjU6MzgpOgp+IyEgb249SGVsdmEgb3Q9ODgyNDkyODk1IG9nPWV0aWtldHRlCn4jISBybj1SaW5nb3IgcnQ9ODgyNDkyNjQ1IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkRhenUgbW9lY2h0ZSBpY2ggbm9jaCBhbm1lcmtlbiwgZGFzcyBTdVNlIHVudGVyIFN1cHBvcnQgbnVyIGVjaHRlCktvbmZpZ3VyYXRpb25zcHJvYmxlbWUgdmVyc3RlaHQsIG5pY2h0IGFiZXIgVmVyc3RhZW5kbmlzcHJvYmxlbWUgKGphLCBzdGVodCBpbgpkZXIgQW5sZWl0dW5nKS4gRGFtaXQgd2FlcmVuIHdhaHJzY2hlaW5saWNoIGRpZSBtZWlzdGVuIG1laW5lciBGcmFnZW4gbmljaHQKenVsYWVzc2lnLCB1bmQgdWJlcmhhdXB0IHdpcmQgZGVyIHN1cHBvcnRmYWVoaWdlIEZyYWdlbmtyZWlzIHN0YXJrCmVpbmdlc2NocmFlbmt0LgpIZWx2YQpbQVtCKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNTo0Nik6Cn4jISBvbj1SaW5nb3Igb3Q9ODgyNDkzMDMyIG9nPWV0aWtldHRlCn4jISBybj1IZWx2YSBydD04ODI0OTI4OTUgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKRnVlciBiencgZ2VnZW4gOykgZGllIFZlcnN0YWVuZG5pc3Byb2JsZW1lIGhpbGZ0IGVyc3RtYWwgZGFzIHNlaHIgZ3V0ZQpiZWlsaWVnZW5kZSBIYW5kYnVjaCB1bmQgamVkZSBNZW5nZSB3ZWl0ZXJlIExpdGVyYXR1ciB1ZWJlciBVbml4IGltCmFsbGdlbWVpbmVuIGJ6dy4gTGludXggaW0gc3BlemllbGxlbi4KClVuaXgtS3Vyc2Uga29zdGVuIGF1c3NlcmhhbGIgZGVyIFVuaSByaWNodGlnIEdlbGQgLSBzb3dhcyB2b24gbmVyClN1cHBvcnQtSG90bGluZSBrb3N0ZW5sb3MgenUgZXJ3YXJ0ZW4gaGFsdGUgaWNoIGViZW5mYWxscyBmdWVyIHVlYmVyem9nZW4gOykKCkltIEVybnN0OiBpY2ggd2Vpc3MgbmljaHQsIHdhcyBtYW5jaGUgTGV1dGUgbWVpbmVuLCB3aWUgc2ljaCBzb3dhcyBmaW5hbnppZXJlbgpsYXNzZW4gc29sbD8gCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNTo1NCk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgyNTE5NDI3IG9nPWV0aWtldHRlCn4jISBybj1SaW5nb3IgcnQ9ODgyNDkzMDMyIHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4CkFiZ2VzZWhlbiB2b24gZGVuIEJlZGluZ3VuZ2VuIGlzdCBTdVNFIGFsbGVyZGluZ3MgZWhlciBrdWxhbnQgbWl0IGRlcgpJbnRlcnByZXRhdGlvbiwgd2FzIG51biAiVmVyc3RhZW5kbmlzLSIgdW5kIHdhcyAiS29uZmlndXJhdGlvbnNwcm9ibGVtIiBpc3QuCkFuc29uc3RlbiBoYXRzIGRhIGF1Y2ggbWFpbGluZ2xpc3RlbiwgaW4gZGVuZW4gbWFuIEhpbGZlIChuaWNodCBub3R3ZW5pZGcgdm9uClN1U0U7IHdvenUgZ2lidHMgYW5kZXJlIHVzZXI/KSBiZWtvbW10LgoKVW5kIGxldHp0bGljaCBpc3QgZXMgemllbWxpY2ggdW5ob2VmbGljaCAodW5kIGJlcXVlbSkgYW5kZXJlIExldXRlLCBkaWUgc2ljaGVyCkJlc3NlcmVzIHp1IHR1biBoYWJlbiwgbWl0IFByb2JsZW1lbiB6dSBiZWxhZXN0aWdlbiBvaG5lIHNpY2ggdm9yaGVyCndlbmlnc3RlbnMgZWluIGJpc2NoZW4gTXVlaGUgenUgZ2ViZW4sIGVzIHNlbGJlciB6dSBsb2VzZW4uIFdlbm4gbWFuIGRhbm4gbmFjaApiZXN0ZW0gV2lzc2VuIHVuZCBHZXdpc3NlbiBtaXQgc2VpbmVtIExhdGVpbiBhbSBFbmRlIGlzdCB3aXJkIHNpY2gga2VpbmVyIGF1Y2gKdWViZXIgZWluZSBkdW1tZSBGcmFnZSBiZXNjaHdlcmVuLCB3ZW5uIGFsbGVyZGluZ3MgZXJrZW5uYmFyIGlzdCwgZGFzcyBtYW5zCm5pY2h0bWFsIHZlcnN1Y2h0IGhhdCwgbXVzcyBtYW4gbWl0IGVpbmVtIFJURk0gcmVjaG5lbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCB1bmQgbGVpZGdlcHJ1ZWZ0ZXIgc3VwcG9ydGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNYWwgd2FzIEdlbmVyZWxsZXMgKENhdHdlYXpsZSwgMTkuIERleiAxOTk3LCAxMDoyNjowNCk6Cn4jISBvbj1IYXRlIG90PTg4MjUyMTkzNCBvZz1ldGlrZXR0ZQp+IyEgcm49SGVsdmEgcnQ9ODgyNDkyMTY2IHJnPWV0aWtldHRlCn4jISB0aWQ9ODgxNjc0MjU4Ck5pbW0gZGllIGVpbiBmcmVpZXMgU3lzdGVtOiBEZWJpYW4gTGludXggei5CLgpJbnN0YWxsaWVyIGVzLiBGYWxscyBmcmFnZW4gYXVmdHJldGVuIGdyZWlmIHp1bSBJUkMgdW5kIHdhZWhsZQpjaGFubmVsICNsaW51eGdlcgpTdGVsbCBkZWluZSBGcmFnZSB1bmQgZGlyIHdpcmQgZ2Vob2xmZW4gd2VyZGVuLiBLb3N0ZW46IEV2dGwgVGVsLiBHZWIuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDE5LiBEZXogMTk5NywgMTA6MjY6NTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MjUyMzU2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODE2NzQyNTgKU29ycnkgZnVlcnMgVmVybGVnZW4sIG11c3N0ZSBzZWluIC4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNYWwgd2FzIEdlbmVyZWxsZXMgKE1hcmN1cywgMTkuIERleiAxOTk3LCAxMDozMzoxOSk6Cn4jISBvbj1NYXJjdXMgb3Q9ODgyNTIyNDI4IG9nPWV0aWtldHRlCn4jISBybj1IZWx2YSBydD04ODI0OTI4OTUgcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODE2NzQyNTgKQWNoamEsIFN1U2UgaGF0IGF1Y2ggTWFpbGluZ2xpc3Rlbiwgd28gbWFuIEZyYWdlbiBzdGVsbGVuIGthbm4gdW5kIGV2dC4KU3VTZSBNaXRhcmJlaXRlciBvZGVyIGFuZGVyZSBTdVNlIEJlbnV0emVyIGRyYXVmIGFudHdvcnRlbi4gV2llIG1hbiBkaWUgCnN1YnNjcmliZWQgZmluZGV0IG1hbiBhdWYgaHR0cDovL3d3dy5zdXNlLmRlLyBpcmdlbmR3byA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUdXJibyBQYXNjYWwgdW5kIHZpZWxlIEZhcmJlbiAoS3JlbGxqYSwgMTkuIERleiAxOTk3LCAxMTowODo0Nyk6Ck1vaW4hCgpCaW4gaGllciBnZXJhZGUgZ2VmcmFndCB3b3JkZW4sIHdpZSBtYW4gdW50ZXIgVHVyYm8gUGFzY2FsCihkLmguIGluIGVpbmVtIFRQIFByb2dyYW1tKSBtZWhyIGFscyAxNiBGYXJiZW4gYmVudXR6ZW4Ka2Fubi4gUmVpY2h0IGVzIGF1cywgc2ljaCBlaW5mYWNoIG51ciBlaW4gYW5kZXJlcyBCR0ktRmlsZQp6dSBiZXNvcmdlbj8gVW5kIGZhbGxzIGphLCB3byBiZWtvbW10IG1hbiBzb3dhcyBoZXI/CgpUc2NodWVzcwogICAgICAgICAgIEtyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVuc2Nob2VuZXIgU3RyZWl0IChIaWdobGFuZGVyLCAxOS4gRGV6IDE5OTcsIDEyOjQ4OjE5KToKfiMhIG9uPUNhdHdlYXpsZSBvdD04ODI1MjMzMzggb2c9aGFyZHNvZnR3YXJlCn4jISBvbj1NYXJjdXMgb3Q9ODgyMjIwOTkzIG9nPWV0aWtldHRlCn4jISBybj1Fbmd5d3VjayBydD04ODIyMTQxNjggcmc9ZXRpa2V0dGUKfiMhIHRpZD04ODIxODc2NzEKcGxheW1pZGkgdW50ZXJzdHVldHp0IC9kZXYvc2VxdWVuY2VyIGZhZWhpZ2Ugc291bmRrYXJ0ZW4gdW5kIHNvZ2FyIC9kZXYvbWlkaQpmYWVoaWdlICwgd2VubiBpY2ggbWljaCByZWNodCBlcmlubnJlZS4KQWxsZXMgbmljaHQtd2F2ZXRhYmxlLG5pY2h0LW1pZGkgYm9hcmRzIGthbm4gbWFuIG1pdCB0aW1pZGl0eSBhYmRlY2tlbi4KCk9kZXIgd2FzIG1laW5zdCBkdT8gCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRvcy93aW5udCAoUGVydGluYXhlLCAxOS4gRGV6IDE5OTcsIDEzOjAzOjEwKToKRHJlIEJvdHRtYW5hZ2VyIHZvbiBPUyAyIGFiIDMuMCBrYW5uIGFsbGUgbWdsaWNoZW4gUGFydGl0aW9uZW4gdmVyd2FsdGVuLiBBbQpiZXN0ZW4gdm9yICEgZGVuIEluc3RhbGxhdGlvbmVuIG1pdCBlaW5lbSBXYXJ0dW5nc2Rpc2tldHRlbnNhdHogdm9uIE9TMiBmZGlzawptYWNoZW4gdW5kIGRpZSBkaXZlcnNlbiBQYXJ0aXRpb25lbiBlaW5yaWNodGVuLiBTaWUgbXVlc3NlbiBuaWNodCBmb3JtYXRpZXJ0CndlcmRlbi5CZWkgZGVyIEluc3RhbGxhdGlvbiB2b24gV2luOTUgdW5kIE5UIHdpcmQgZGVyIEJvb3RtYW5hZ2VyIHp3YXIKZGVha3RpdmllcnQsIGthbm4gYWJlciBhbnNjaGxpZXNzZW5kIG1pdCBmZGlzayAoYXVjaCBtaXQgV2luL05UIGZkaXNrKSB3aWVkZXIKYWt0aXZpZXJ0IHdlcmRlbi4gRXMga29lbm5lbiBzb3dvaGwgRmF0LCBIUEZTIHVuZCBkYXMgRmF0MzItU3lzdGVtIGRhbWl0CnZlcndhbHRldCB3ZXJkZW4uIFVtIGRhcyBET1MtQm9vdGVuIHZvbiBEaXNrZXR0ZSB6dSB2ZXJtZWlkZW4sIGthbm4gbWFuIGF1Y2gKbWl0IDEwIG9kZXIgTUIgZWluZSBwdXJlIERPUy1QYXJ0aXRpb24genVzdHpsaWNoIGVpbnJpY2h0ZW4uCkRlciBCb290bWFuYWdlciB2b24gT1MgMiBhYiAzLjAga2FubiBhbGxlIG1nbGljaGVuIFBhcnRpdGlvbmVuIHZlcndhbHRlbi4gQW0KYmVzdGVuIHZvciAhIGRlbiBJbnN0YWxsYXRpb25lbiBtaXQgZWluZW0gV2FydHVuZ3NkaXNrZXR0ZW5zYXR6IHZvbiBPUzIgZmRpc2sKbWFjaGVuIHVuZCBkaWUgZGl2ZXJzZW4gUGFydGl0aW9uZW4gZWlucmljaHRlbi4gU2llIG11ZXNzZW4gbmljaHQgZm9ybWF0aWVydAp3ZXJkZW4uQmVpIGRlciBJbnN0YWxsYXRpb24gdm9uIFdpbjk1IHVuZCBOVCB3aXJkIGRlciBCb290bWFuYWdlciB6d2FyCmRlYWt0aXZpZXJ0LCBrYW5uIGFiZXIgYW5zY2hsaWVzc2VuZCBtaXQgZmRpc2sgKGF1Y2ggbWl0IFdpbi9OVCBmZGlzaykgd2llZGVyCmFrdGl2aWVydCB3ZXJkZW4uIEVzIGtvZW5uZW4gc293b2hsIEZhdCwgSFBGUyB1bmQgZGFzIEZhdDMyLVN5c3RlbSBkYW1pdAp2ZXJ3YWx0ZXQgd2VyZGVuLiBVbSBkYXMgRE9TLUJvb3RlbiB2b24gRGlza2V0dGUgenUgdmVybWVpZGVuLCBrYW5uIG1hbiBhdWNoCm1pdCAxMCBvZGVyIE1CIGVpbmUgcHVyZSBET1MtUGFydGl0aW9uIHp1c3R6bGljaCBlaW5yaWNodGVuLgpQZXJ0aSwgT1MyLUJlbnV0emVyIHNlaXQgMS4yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZG9zL3dpbm50IChIYXIsIDE5LiBEZXogMTk5NywgMTQ6MzQ6MDcpOgp+IyEgcm49UGVydGluYXhlIHJ0PTg4MjUzMjk5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODI1MzI5OTAKWnVtIE9TLzIgQm9vdG1hbmFnZXIuLi4KSWNoIGhhdHRlIGVpbiBiaXNzY2hlbiBQcm9ibGVtZSwgZGVuIGF1ZiBlaW5lIDQsMyBHQnl0ZSBEQ0FTIHZvbiBJQk0genUKYnJpbmdlbi4gRXIgaGF0IG1pciB2b2xsa29tbWVuIHVuc2lubmlnZSBQYXJ0aXRpb25zZ3JvZXNlbiB2b3JnZXNjaGxhZ2VuICgtOTgKTWJ5dGUgZnVlciBkYXMgU3lzdGVtIGV0Yy4pLiBEdXJjaCBydW1kb2t0ZXJuIG1pdCBQYXJ0aXRpb24gbWFnaWMga29ubnRlIGljaApkYXNzIGFsbGVzIGRhbm4gendhciBzbyBlaW5yaWNodGVuLCB3aWUgaWNoIHdvbGx0LCBhYmVyIGljaCB3dWVyZGUgdHJvdHpkZW0KbWFsIGdlcm5lIHdpc3Nlbiwgd29yYW4gZXMgbGFnLi4uCgpIYXIgKHVud2lzc2VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpc2VDb20tTW9kZW0gbWl0IFdpbjMuMTEgKE11cmtlcywgMTkuIERleiAxOTk3LCAxODo0OToyOSk6CkhpIExldXRlLAoKaWNoIGhhdHRlIGhldXRlIGRhcyBQcm9ibGVtIG1pdCBlaW5lbSAzMy42MDAgRmF4LU1vZGVtIHZvbiBXaXNlQ29tIChvZGVyIHNvCmFlaG5saWNoLiBFcyB3YXIgbnVyIGVpbmUgVHJlaWJlcmRpc2tldHRlIGZ1ZXIgV2luOTUgZGFiZWkgdW5kIGRlciBIYWVuZGxlcgpoYXR0ZSBhdWNoIGtlaW5lbiBhbmRlcmVuIFRyZWliZXIgZGEuIEpldHp0IGxhZXVmdCBkYXMgRGluZyBuaWNodC4gSGF0CmlyZ2VuZGplbWFuZCBlaW5lIElkZWUgb2RlciBlaW5lbiBMaW5rIGF1ZiBlaW5lIGVudHNwcmVjaGVuZGUgV2ViLXNlaXRlLCBkYW1pdApkYXMgTW9kZW0gdW50ZXIgV2luMy4xMSBiZXRyaWViZW4gd2VyZGVuIGthbm4/IApEYW5rIGV1Y2gsCgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNYWwgd2FzIEdlbmVyZWxsZXMgKFd1cnplbCwgMTkuIERleiAxOTk3LCAxOToxODo0OCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgyNTIzNjE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTY3NDI1OAo+U29ycnkgZnVlcnMgVmVybGVnZW4sIG11c3N0ZSBzZWluIC4uLgoKd2lyZCB6ZWl0LCBkYXNzIGRhIG1hbCB3YXMgZHJhbiBnZWFlbmRlcnQgd2lyZC4gd2VubiBpY2ggZ2VsZXNlbmUgYXJ0aWtlbCB0YWdlCnNwYWV0ZXIgd2llZGVyIHZvcmdlc2V0enQgYmVrb21tZSwgbnVyIHdlaWwgc2llIHZpZWxsZWljaHQgamV0enQgaW4gZWluZXIKc2Nob2VuZXJlbiBydWJyaWsgc3RlaGVuLCBpc3QgZGFzIGRvY2ggYXJnIG5lcnZpZy4uLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTWFsIHdhcyBHZW5lcmVsbGVzIChDYXR3ZWF6bGUsIDIwLiBEZXogMTk5NywgMDA6NDk6MzkpOgp+IyEgcm49V3VyemVsIHJ0PTg4MjU1NTUyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODE2NzQyNTgKVGphLCBhbHMgZWluemlnZSBFbnRzY2h1bGRpZ3VuZyBrYW5uIGljaCB3b2hsIGRhenUgYW5mdWVocmVuLApkYXNzIGljaCB6dSBmYXVsIHdhciwgZGVuIFRocmVhZCByZWNodHplaXRpZyB6dSB0cmVubmVuLgpXZW5uIGRhbm4gNjAgQXJ0aWtlbCBpbiAzIFRhZ2VuIGF1ZmxhdWZlbiAuLi4gbnVuamEuCkFiZXIgd2VubiBEdSBtb2VjaHRlc3QsIGthbm4gaWNoIGVzIGF1Y2ggZ2FueiBzZWluIGxhc3NlbiwKYWxsZXJkaW5ncyBlcndhcnRlIGljaCBkYW4sIGRhcyBEdSBEaWNoIF9uaWVtYWxzXyB1ZWJlciAKZGVwbGF0emllcnRlIFRocmVhZHMsIGZhbHNjaGUgVGl0ZWwgb2RlciB2b20gVGhlbWEgYWJ3ZWljaGVuZGUKQXJ0aWtlbCBiZXNjaHdlcnN0IDotKQpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNYWwgd2FzIEdlbmVyZWxsZXMgKFd1cnplbCwgMjAuIERleiAxOTk3LCAwMDo1MTo0MSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgyNTc1Mzc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MTY3NDI1OApva2F5LCB2ZXJzcHJvY2hlbi4gaWNoIGJpbiBkb2NoIG5pY2h0IGdyaW1tYm9ybiA6KQppbiB3ZWxjaGVyIHJ1YnJpayBhcnRpa2VsIHN0ZWhlbiwgaXN0IG1pciBlZ2FsLiBpY2ggbGVzZSBlaCB2b24gdm9ybiBuYWNoCmhpbnRlbiBkdXJjaCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWwgd2FzIEdlbmVyZWxsZXMgKFN1c2hpLCAyMS4gRGV6IDE5OTcsIDIwOjI4OjMwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODI1MjMzNjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxNjc0MjU4CkJlaSBFc2NvbS4gTGVpZGVyIHZlcmRpZW5lbiBkYSBkaWUgUmVjaG5lciBuaWNodCBkZW4gTmFtZW4uIFN1U0UgdW5kIGVpbmlnZQphbWVyaWthbmlzY2hlIEhhZW5kbGVyIHZlcnRyZWliZW4gUmVjaG5lciBtaXQgaW5zdGFsbGllcnRlbSBMaW51eCB1bmQgRHUKa2FubnN0IGltIExpbnV4IEpvdXJuYWwgYXVjaCBBZHJlc3NlbiBmdWVyIExpbnV4IG9uIGEgRGlzayBiZXppZWhlbi4KU3VzaGkKLi4KKgoqRkxVQ0gqClxxdWl0CkljaCBoYXNzZSBkaWVzZSBaZWl0dW5nLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNYWwgd2FzIEdlbmVyZWxsZXMgKEdyaW1tYm9ybiwgMjEuIERleiAxOTk3LCAyMzowODozMSk6Cn4jISBybj1TdXNoaSBydD04ODI3MzI1MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgxNjc0MjU4ClZlcnN1Y2hzIG1hbCBtaXQgfmQgKG9kZXIgbm9jaCBiZXNzZXI6IGVyc3QgfmgpLi4uCkFiZXIgc2NoYXUgbWFsIGluIGRpZSBpWCwgZGFzIExpbnV4LU1hZ2F6aW4sIG1pdCBiaXNjaGVuIFN1Y2hlbiBhdWNoIGluIGRpZQpjdCwgZGEgZ2lidHMgdWViZXJhbGwgQW5iaWV0ZXIsIGRpZSBSZWNobmVyIG1pdCBMaW51eCBhbmJpZXRlbi4gWnVtIFRlaWwgbWl0CnJpY2h0aWcga3JlYXRpdmVuIEhhcmR3YXJlcHJlaXNlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgpQLlMuIENhdCosIGRhcyB3YXIgZWluZSBLbGFzc2VpZGVlLCBzbyBsYW5nZSBoaWVyIEFydGlrZWwgcmVpbnp1bGVnZW4sIGJpcwogICAgIGRpZSBSdWJyaWsgc28gdm9sbCBpc3QsIGRhc3Mga2VpbmVyIG1laHIgd2FzIHNjaHJlaWJlbiBrYW5uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmdHAgKEd1bmR1ciwgMjUuIERleiAxOTk3LCAxNTozMTozNyk6CkhpCkljaCB3YWVyIGZ1ZXIgbmVuIFRpcCBkYW5rYmFyIHdlbGNoZXMgZnRwcHJvZyB1bnRlciBXaW45NSBhbSBiZXN0ZW4gbWl0IGRlbQpuYXNlZnRwIGRlcyBtdWRzIHp1cmVjaHQga29tbXQuLgpHcnVlc3NlIHVuZCBrZWluIEJvY2sgYXVmICdOaW1tIExpbnV4JyB3ZWlsIGRhcyBoYWIgaWNoIHNjaG9uIHZvbgpHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdHAgKERlbnRpLCAyNS4gRGV6IDE5OTcsIDE4OjA0OjUwKToKfiMhIHJuPUd1bmR1ciBydD04ODMwNjAyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3CgpQcm9iaWVyIG1hbCBXUy1GVFAsIG1laW5lciBtZWludW5nIG5hY2ggZGFzIGJlc3RlIEZUUC1Qcm9nIGZ1ZXIgZGllIFdpbmRvd3MtCk9iZXJmbGFlY2hlLgoKU29sbHRlIGVzIGF1ZiBlaW5lbSBiZWxpZWJpZ2VuIFR1Y293cy1TZXJ2ZXIgZ2ViZW4uCgpEZW50aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZ0cCAoQ2hlYXN5LCAyNS4gRGV6IDE5OTcsIDE5OjI4OjQ3KToKfiMhIHJuPUd1bmR1ciBydD04ODMwNjAyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3Ckd1bm5pLAoKYW0gYmVzdGVuIGtvbW1lbiBkaWUga29tbWFuZG96ZWlsZW4tZnRwcyB2b24gdW5peCB1bmQgV2luZG93czk1L05UIG1pdCBtdWQtZnRwCnp1cmVjaHQgLS0gd2VubiBkdSBkaWUgenVncmlmZmUgaW5zIG11ZC1maWxlc3lzdGVtIG1laW5zdC4KQXVmIGRlbSBtYWMgdHV0J3MgbnVyIE5ldEZpbmRlciAyLjEuMiAtLSBhZWx0ZXIgZ2VodCBuaXgsIEFuYXJjaGllIHVuZCBGZXRjaAprcmllZ2VuIGtlaW5lIExpc3RpbmdzIGhpbi4KClVudGVyIFdpbjk1L1VuaXggaGF0IHNlbGJzdCBuY2Z0cCBTY2h3aWVyaWdrZWl0ZW4gYmVpIG1nZXQvbXB1dCAtLSBoYWVuZ3Qgd29obAptaXQgZGVuIHNlbHRzYW1lbiBmaWxlcmVjaHRlbiB6dXNhbW1lbi4KCkFtIHNjaG5lbGxzdGVuIGthbm4gZGFzIHByb2JsZW0gamVtYW5kIG1pdCBzaGVsbGFjY291bnQgbG9lc2VuOiBlaW5mYWNoIGRpZQptdWRyZWNodGUgZHJlaW1hbCBhdXNnZWJlbiwgc2Nob24gZ2VoZW4gYWxsZSBjbGllbnRzIDotKQoKKEFsc28gYXVzIGRyd3ggLT4gZHJ3eHJ3eHJ3eCkuCgotQ2hlYXN5Ci4uLnZlcnp3ZWlmZWx0IG1hbmNobWFsIGFtIG11ZGZ0cC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdHAgKEF2YWxvbiwgMjUuIERleiAxOTk3LCAyMDowNDoyNik6Cn4jISBybj1HdW5kdXIgcnQ9ODgzMDYwMjk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MzA2MDI5NwpZbywKCmljaCB3dWVyZGUgRGlyIGphIGVoZXIgcmF0ZW4sIGRhcyBmdHAgYXVmIGRlciBtdWRsaWIgU2VpdGUgZXR3YXMKYXVmenVtb2ViZWxuIChiZWkgQmVkYXJmIGZyYWcgbWljaCBtYWwsIGhhYiBkYXMgZnVlcnMgKiogZ2VtYWNodCksCmRhbm4ga29tbXQgc29ndXQgd2llIEpFREVSIGNsaWVudCBkYW1pdCBrbGFyIChhdWNoIHVuZCB2b3IgYWxsZW0KbWlkbmlnaHQgY29tbWFuZGVyLCBzZWhyIHByYWt0aXNjaCkuCgpsZwp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZ0cCAoSmltZGlncml6LCAyNi4gRGV6IDE5OTcsIDEzOjA2OjE5KToKfiMhIHJuPUF2YWxvbiBydD04ODMwNzY2NjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3CgpIYWksIGphIGRhIHdhZXIgaWNoIGF1Y2ggZGFmdWVyLi4KRXMga2FubiBqYSBuaWNodCBzbyBzY2h3ZXIgc2VpbiwgYmVpIE5MU1QgT3B0aW9uZW4gZGllIG1pdCAiLSIgYmVnaW5uZW4KZHVyY2h6dXJlaWNoZW4sIGRlciBscyBkZXIgZGFubiB2ZXJ3ZW5kZXQgd2lyZCwgc29sbHRlIHdvaGwgZGFtaXQga2xhcmtvbW1lbiwKd2VubiBlaW4gaW50ZXJuZXIgdmVyd2VuZGV0IHdpcmQsIG11ZXNzdGUgbWFuIGlobiBlaW4gYmlzY2hlbiBhdWZib2hyZW4sCmFiZXIgc28gc2Nod2VyIGthbm4gZGFzIHdvaGwgbmljaHQgc2Vpbi4KCkNpYW8sCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZ0cCAoQ2hlYXN5LCAyNi4gRGV6IDE5OTcsIDE1OjE1OjQ3KToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODMxMzc5Nzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3CkppbWRpRyosIGVzIGlzdCBub2NoIHZpZWwgZWluZmFjaGVyOiBudXIgZGllIGRyZWkgYWNjZXNzLXJpZ2h0LWJ1Y2hzdGFiZW4KdmVyZHJlaWZhY2hlbiwgd2VubidzIG5pY2h0IGVpbiB6dWdyaWZmIGF1ZidzIC9vcGVuIGlzdC4gRGllIG1laXN0ZW4KZnRwLWNsaWVudHMgZXJ3YXJ0ZW4gbnVubWFsIGRpZSBadWdyaWZmc3JlY2h0ZSBpbiBkZXIgRm9ybSA8ZHJ3eHJ3eHJ3eD4sIG5pY2h0Cjxkcnd4Pi4KLUNoZWFzeQouLi5oYXQgZGFzIGltIGhvbWVtdWQgbGF1ZmVuIHVuZCBzZWl0ZGVtIGtlaW5lcmxlaSBQcm9ibGVtZSBtaXQgZGVuCmdyYXBoaXNjaGVuIGNsaWVudHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWVobGJlZmVobCB1bnRlciBXaW45NSEgKEJhbWJ1bGtvLCAyNy4gRGV6IDE5OTcsIDAxOjUzOjE4KToKV2llIGthbm4gaWNoIHVudGVyIFdpbjk1IGRlbiBXYWVobGJlZmVobCBhZW5kZXJuPwpJY2ggbXVzcyBoaWVyIG1pdCBBVFgzRFQgd2FlaGxlbiwgYWJlciBXaW45NSB3YWVobHQgaW1tZXIgbnVyIG1pdCBBVERULgpJY2ggaGFiZSBuaXJnZW5kcyBldHdhcyB6dW0gdW1zdGVsbGVuIGdlZnVuZGVuLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWVobGJlZmVobCB1bnRlciBXaW45NSEgKEdyaW1tYm9ybiwgMjcuIERleiAxOTk3LCAwMjoyOTo0MCk6Cn4jISBybj1CYW1idWxrbyBydD04ODMxODM5OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMTgzOTk4CkhtbSwga2FubiBoaWVyIHVuZCBqZXR6dCBuaWNodCBuYWNoc2VoZW4sIGFiZXIgd2FzIER1IG1laW5zdCBpc3QgbmljaHQgZGVyCldhZWhsYmVmZWhsLiBYMyBpc3QgZGllIEluaXRpYWxpc2llcnVuZyAodWVibGljaCBpc3QgWiksIHdlbm4gZWluZQpOZWJlbnN0ZWxsZW5hbmxhZ2UgYmVudXR6dCB3aXJkLiBEVCBiZWRldXRldCBUb253YWhsIChkaWFsIHRvbmUgb2Rlcgp3YXN3ZWlzc2ljaCksIEFUIGlzdCBkaWUgRWlubGVpdHVuZyBmdWVyIGVpbmVuIEJlZmVobCAoYXR0ZW50aW9uKSwgZGVtIG1laHJlcmUKZm9sZ2VuIGtvZW5uZW4uIFZlcm11dGxpY2ggemVpZ3QgRGlyIHdpbjk1IG5pY2h0IGRpcmVrdCwgd2FzIGFuIEhheWVzLUJlZmVobGVuCnRhdHNhZWNobGljaCB2ZXJ3ZW5kZXQgd2lyZCwgc28gc3BvbnRhbiB3dWVyZGUgaWNoIGVyc3RtYWwgbmFjaCBzb3dhcyB3aWUKIk5lYmVuc3RlbGxlIiBBdXNzY2hhdSBoYWx0ZW4gKG9ubGluZWhpbGZlPykuIEljaCB3ZWlzcywgZWluICJOaW1tIExpbnV4IgpoaWxmdCBEaXIgbmljaHQsIGFiZXIgZGFzIGhhYiBpY2ggaGllciwgdmllbGxlaWNodCBoaWxmdCBEaXIgZGllc2VyIFRpcCBhYmVyCmphIHNjaG9uIHdlaXRlci4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHdvbGx0ZSBzaWNoIHNjaG9uIGxhbmdlIGRpZSB3aW45NS1BbmxlaXR1bmcgbWl0IG5hY2gKSGF1c2UgZ2Vub21tZW4gaGFiZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZ0cCAoSmltZGlncml6LCAyNy4gRGV6IDE5OTcsIDEwOjAzOjIzKToKfiMhIHJuPUNoZWFzeSBydD04ODMxNDU3NDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3CkhhaSwKCklNSE8gcmVpY2h0IGRhcyBuaWNodCwgZGEgZGllIGZ0cC1jbGllbnRzLCBkaWUKaWNoIGJlbnV0emUgKG5jZnRwIHVuZCBlbWFjcy1hbmdlLWZ0cCkgZXhwbGl6aXQKUHJvYmxlbWUgbWl0IGRlbSAnbHMnIChOTFNUKSBoYWJlbi4KYmVpbSBuY2Z0cCBpc3QgZXMgbm9jaCBlZ2FsLCBnZWh0IGF1Y2ggb2huZSBkYXMsIGFuZ2UtZnRwCmdlaHQgbGVpZGVyIG5pY2h0LiA6KApGZWhsZXJtZWxkdW5nIGlzdCB1ZWJlcmxpY2h3ZWlzZSBzb3dhcyB3aWUgIi1DRiIgbm8gc3VjaCBmaWxlIG9yIGRpcmVjcm90eQpiZWltIGxzLgoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhZWhsYmVmZWhsIHVudGVyIFdpbjk1ISAoR3VuZHVyLCAyNy4gRGV6IDE5OTcsIDEyOjI4OjU5KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4MzE4Mzk5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODMxODM5OTgKSGkKQWxzbyB3ZW5uIGR1IG5lbiBYMyBhbiBkYXMgbW9kZW0gc2VuZGVuIHdpbGxzdDoKSW0gZGZ1ZSBuZXR6d2Vyay4ucmVjaHRza2xpY2tlbiBhdWYgbmUgdmVyYmluZHVuZy0+IGVpZ2Vuc2NoYWZ0ZW4uLgprb25maWd1cmllcmVuLT5laW5zdGVsbHVuZ2VuLT5lcndlaXRlcnQuLnVuZCBkYSBpbiBkYXMgRmVsZDogV2VpdGVyZQpFaW5zdGVsbHVuZ2VuIGthbm5zdCBEdSBzbyBTYWNoZW4gd2llIFgzIHJlaW5zY2hyZWliZW4KR3J1ZXNzZW4gdm9uIEd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWVobGJlZmVobCB1bnRlciBXaW45NSEgKEJhbWJ1bGtvLCAyNy4gRGV6IDE5OTcsIDE0OjEyOjQzKToKfiMhIHJuPUd1bmR1ciBydD04ODMyMjIxMzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMTgzOTk4Ckh1cnJhLCBlcyBrbGFwcHQhCkRzYW5rZQoKYmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGZ0cCAoQ2hlYXN5LCAyNy4gRGV6IDE5OTcsIDE2OjQ0OjI5KToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODMyMTM0MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3CkhtbSwgaW56d2lzY2hlbiB3ZWlzcyBpY2gsIGRhc3MgYW5nZS1mdHAgZGEgZWluIGJpc3NsIHBlcnZlcnNlciBpc3QuCkdsdWVja2xpY2hlcndlaXNlIG1laW50ZSBXb29keUBTaWxiZXJsYW5kLCBkaWVzIHByb2JsZW0gYXVjaCBnZWxvZXN0IHp1IGhhYmVuLgpGcmFndCBpaG4sIGhhdCB3YXMgbWl0IGFlbmRlcnVuZ2VuIGluIGRlciBNdWRsaWIgenUgdHVuLgotQ2hlYXN5Ci4uLnZlcnd1cnN0ZXQgZ3JhZGUgV29vZHkncyBhZW5kZXJ1bmdlbiBpbiBkZXIgQW5kZXJsYW5kLU11ZGxpYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZ0cCAoQXZhbG9uLCAyNy4gRGV6IDE5OTcsIDIzOjM1OjE3KToKfiMhIHJuPUNoZWFzeSBydD04ODMyMzc0Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzMDYwMjk3Ck5laWlpaWlpbiwgSGlsZmUsIGZyYWd0IG5pY2h0IG1pY2ghIExlc3QgbGllYmVyIHNlbGJlciBuYWNoIDopCmh0dHA6Ly9zbC5tdWQuZGUvfm11ZC9tdWRsaWIvYXJjaGl2ZS8gZGEgaXJnZW5kd28uLi4KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGZ0cCAoUmlrdXMsIDI4LiBEZXogMTk5NywgMjE6MjA6MzUpOgp+IyEgcm49SmltZGlncml6IHJ0PTg4MzIxMzQwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODMwNjAyOTcKSGksCmljaCBoYWJlIGVmcyAoYW5nZS1mdHAgZGVzIGVtYWNzKSB2ZXJzaW9uIDEuMTUvMS41NiBlbnRzcHJlY2hlbmQgZGVuCkF1c2dhYmVuIGRlcyBuYXNlZnRwIGFuZ2VwYXNzdC4gV2VyZGUgZXMgd29obCBtb3JnZW4gaGllciBhYmxlZ2VuLgoKY2lhbywgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZ0cCAoUmlrdXMsIDI5LiBEZXogMTk5NywgMTQ6Mjk6MjApOgp+IyEgcm49UmlrdXMgcnQ9ODgzMzQwNDM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MzA2MDI5NwpIaWhvLAppY2ggaGFiZSBudW4gZGllIEZpbGVzIHp1bSBlZnMgKGFuZ2VmdHApIHVudGVyIGVtYWNzIGltIGluY29taW5nLQpWZXJ6ZWljaG5pcyBhYmdlbGVndC4gZWZzLTEuMTUudGd6IGlzdCBkYXMgbm9ybWFsZSBlZnMtcGFja2FnZSBkZXIKVmVyc2lvbiAxLjE1IHVuZCBlZnMtbmFzZS0xLjE1LnRneiBzaW5kIGRpZSB2b24gbWlyIGdlYWVuZGVydGVuIHVuZAp6dXNhZXR6bGljaGVuIEZpbGVzIGRhenUgenVyIFVudGVyc3R1ZXR6dW5nIGRlcyBuYXNlLWZ0cCBkZXMgbXVkcy4KRWluIGtsZWluZXMgVGV4dGZpbGUgaXN0IGF1Y2ggaW0gdGd6IGRyaW4uCgpjaWFvLCBSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW1iZW5lbm5lbiAoR3JpbW1ib3JuLCAzMS4gRGV6IDE5OTcsIDAwOjAxOjM4KToKU2l0dWF0aW9uOiBJY2ggaGFiZSBlaW5lIEhhbmR2b2xsIGZpbGVzIGRlciBGb3JtICouYmFrLgpaaWVsOiBJY2ggaGFldHRlIGdlcm5lIHZvbiBhbGxlbiBkYXMgIi5iYWsiIGVudGZlcm50LgpQcm9ibGVtOiBXaWUgbWFjaGUgaWNoIGRhcz8gClZvcnJhdXNzZXR6dW5nZW46IExpbnV4LCBuaWNodCBtZWhyIGFscyBlaW5lIEtvbW1hbmRvemVpbGUuCgpEYXMgbXVzcyBkb2NoIGdlaGVuLCB3b2Z1ZXIgaGF0cyBoaWVyIGRpZSBnYW56ZW4gRXhwZXJ0ZW4uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbWJlbmVubmVuIChKaW1kaWdyaXosIDMxLiBEZXogMTk5NywgMDA6Mjk6MzApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MzUyMjg5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODM1MjI4OTgKSGkgR3JpbW1ib3JuCkFsc28gaW4gY3NoLXN5dGF4IChvaG5lIGdld2FlaHIpCgpmb3JlYWNoIGkgKCAqLmJhayApCnNldCBiYXNlbmFtZSA9IGBlY2hvICRpIHwgc2VkIC1lICJzL1wuYmFrLy8iYAptdiAkaSAkYmFzZW5hbWUKZW5kCgpDaWFvLC4KIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbWJlbmVubmVuIChFbWJlLCAzMS4gRGV6IDE5OTcsIDE0OjIzOjQzKToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODM1MjQ1NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzNTIyODk4CgpoaSwKCmVpbiBlaW56ZWlsZXI/CgpzaDoKZm9yIGkgaW4gKi5iYWs7IGRvIG12ICRpIGBiYXNlbmFtZSAkaSAuYmFrYDs7IGRvbmUKCmdydXNzLCBlTUJlZSAoYWRtaW4gYXVmIFNJTEtFKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVW1iZW5lbm5lbiAoRW1iZSwgMzEuIERleiAxOTk3LCAxNDoyNTowMSk6Cn4jISBybj1FbWJlIHJ0PTg4MzU3NDYyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODM1MjI4OTgKb29wcywgZGFzIDs7IHNvbGx0ZSBudXIgRUlOIDsgc2Vpbi4KZU1CZWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW1iZW5lbm5lbiAoQXZhbG9uLCAgMS4gSmFuIDE5OTgsIDE1OjQwOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODM1MjI4OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzNTIyODk4CmVzIGdlaHQgendhciBhdWNoIG1pdCBmb3IgdW5kIG12LCBhYmVyIGVzIGlzdCByZWxhdGl2IHByYWt0aXNjaCwKaW4gZGllc2VtIGZhbGwgbW12IGluc3RhbGxpZXJ0IHp1IGhhYmVuLiBEYW5uIGdlaHRzIGVpbmZhY2g6CgogICBtbXYgXCouYmFrIFwjMQoKYXZhbG9uLi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZWljaGVyZXJ3ZWl0ZXJ1bmcgZnVlciBIaXNjcmVlbiBNb2R1bC1Ob3RlIElJIChZZXRpLCAgMi4gSmFuIDE5OTgsIDAxOjMwOjI0KToKSGFsbG8gRXhwZXJ0ZW4gdW5kIEhhZW5kbGVyICEKCmljaCBsaWVnZSBoaWVyIHNlaXQgdWViZXIgendlaSBXb2NoZW4gaW0gS3JhbmtlbmhhdXMgdW5kIGhhYiB2b3IgbmVyIFdvY2hlCmVuZGxpY2ggbmVuIE5vdGVib29rIGdlYm9yZ3QgZ2Vrb21tZW4uIERhcyBUZWlsIGlzdCBlaW4gNDg2IG1pdCA2NDB4NDAwIHdmdzMxMQp1bmQgNG1iLiB1bmQgZ2VuYXUgZGEgbGllZ3QgZGFzIFByb2JsZW06IHp1bSBNdWRkZW4gcmVpY2h0IGRpZSBLaXN0ZSBncmFkZSwKYWJlciBzY2hvbiwgd2VubiBpY2ggbWl0IE5ldHRlcm0gbmVuIHp3ZWl0ZXMgRmVuc3RlciBhdWZtYWNoZSBvZGVyIGRpZSBGZW5zdGVyCndlY2hzZWxuIHdpbGwsIHJvZWRlbHQgc29mb3J0IGRpZSBQbGF0dGUgbG9zLiB1bmQgd3d3IGlzdCBzZWxic3QgbWl0IG9wZXJhCihhbnNpY2ggbmljaHQgdWViZWwpIG1hc29jaGlzbXVzLiAKCkRlc2hhbGIgaGllciBtZWluIEZyYWdlOiB3byBiZWtvbW1lIGljaCBuZW4gUkFNLVJpZWdlbCBmdWVyIGRhcyBvbGxlIFRlaWwgb2Rlcgp3byBrYW5uIGljaCBub2NoIHN1Y2hlbiA/IDE2IG1iIG1laHIgd2FlcmVuIG5pY2ggc2NobGVjaHQsIHNlbGJzdCA4IG9kZXIgZ2FyIDQKbWIgbWVociBzb2xsdGVuIHdhcyBicmluZ2VuLgoKWWV0aSwgaG9mZmVudGxpY2ggYmFsZCB3aWVkZXIgYXVzbSBLcmFua2VuaGF1cyByYXVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pbmlMaW51eCBhdWYgRGlza2V0dGVuID8gKFlldGksICAyLiBKYW4gMTk5OCwgMDE6NDM6MDQpOgpIYWxsbyBGcmVheCEKCm5vY2ggbmVuIFByb2JsZW06CmljaCBzdWNoZSBuZSBBcnQgTWluaS1MaW51eCBhdWYgMSBiaXMgY2EuIDMgRGlza2V0dGVuLCBtaXQgbmVtIGdlbmFyaXNjaGVuCktlcm5lbCBmdWVyIDQ4NiAsIG1pdCBkZW0gZ2FuemVuIElQLUtyYW0gdW5kIFBQUCBlaW5rb21waWxpZXJ0LCAob2RlciBNb2R1bCkKc293aWUgZGlhbGluLUtyYW0gKGNoYXQuLi4pIHVuZCBkZW4gd2ljaHRpZ3N0ZW4gQ2xpZW50cyAodGVsbmV0LCBmdHAsCnRyYWNlcm91dGUsIHBpbmcsIGx5bnggdW5kIG9kZXIgbW9zYWljIHVuZCBvZGVyIGFyZW5hIHVuZCBvZGVyIG5ldHNjYXBlKS4gaWNoCmhhYiBoaWVyIGltIEtyYW5rZW5oYXVzIGFuIGRlbSBMYXB0b3AgbGVpZGVyIG51ciBuZW4gRGlza2V0dGVsYXVmd2Vyaywgc29uc3QKaGFldHRlIGljaCBtaXIgZWluZmFjaCBkaWUgc3VzZSA1LjAgaW5zdGFsbGllcnQuICAKCmFsc28gRnJhZ2U6IHdvIGdpYnRzIGltIEludGVybmV0IHNvd2FzIGFlbmxpY2hlcywgdm9uIGRlbSBtYW4gYXVzZ2VoZW4ga29lbm50ZQpQLlMuIGljaCBoYWIgbGVpZGVyIG51ciBub2NoIGNhIDIwbWIgYXVmIGRlciBQbGF0dGUgZnJlaQpQLlAuUyBpY2ggaGF0dGUgbWFsIGlyZ2VudHdvIHdhcyB2b24gbmVtIG1pbmktIFhGcmVlIGdlaG9lcnQuLi5zb25zdGUgaGFsdApseW54IHVuZCBwaW5lLi4KCnZpZWxlaWNodCBoYXQgamEgc2Nob24gbWFsIGplbWFuZCBhbiBzb3dhcyBnZWJhc3RlbHQgdW5kIGljaCBtdXNzIGRhcyByYWQKbmljaHQgZ2FueiBuZXUgZXJmaW5kZW4uCgpZZXRpLCB6dXIgWmVpdCB3ZWdlbiBkZXIgVGVsZWtvbSBuYWNodGFrdGl2LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZWljaGVyZXJ3ZWl0ZXJ1bmcgZnVlciBIaXNjcmVlbiBNb2R1bC1Ob3RlIElJIChDYXR3ZWF6bGUsICAyLiBKYW4gMTk5OCwgMTA6MTA6MjIpOgp+IyEgcm49WWV0aSBydD04ODM3MDEwMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzNzAxMDI0CidSQU0tUmllZ2VsJyBmdWVyIG5vdGVib29rcyBzaW5kIGluIGRlciBSZWdlbCBIZXJzdGVsbGVyLWRlcGVuZGVuZC4KSGVpc3N0LCBpbSBzY2hsaW1tc3RlbiBGYWxsIG11c3N0IER1IGVpbiB2b2VsbGlnIHVlYmVydGV1ZXJ0ZXMgU3BlemlhbC0KU0lNTSBrYXVmZW4sIG1pdCB2aWVsIEZvcnNjaHVuZyB1bmQgR2x1ZWNrLCBrcmllZ3N0ZSBlaW4gYmlsbGlnZXJlcyAKdm9uIG5lbSBGcmVtZGhlcnN0ZWxsZXIuCkZyb2hlcyBOZXVlcywKICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGVpY2hlcmVyd2VpdGVydW5nIGZ1ZXIgSGlzY3JlZW4gTW9kdWwtTm90ZSBJSSAoRnJldW5kLCAgMi4gSmFuIDE5OTgsIDE1OjE4OjI2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODM3MzIyMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzNzAxMDI0CkNhdCBoYXQgbGVpZGVyIFJlY2h0LgpPZGVyIGltIEZhY2hqYXJnb246CgpadXIgQkVhbnR3b3J0dW5nIElocmVyIEFuZnJhZ2UgYmVub2V0aWdlbiB3aXIgbGVpZGVyIG5vY2ggZm9sZ2VuZGUgQW5nYWJlbjoKRGVuIEhlcnN0ZWxsZXIgdW5kIGRpZSBUeXBlbi1CZXplaWNobnVuZyBJaHJlcyBOb3RlYm9va3MuCkRpZSBiaXNoZXJpZ2UgU3BlaWNoZXJrb25maWd1cmF0aW9uLgoKQmlzIHp1ciBCZWFudHdvcnR1bmcgZGVyIEZyYWdlbiB2ZXJibGVpYmVuIHdpciAKbWl0IEZSRVVORGxpY2hlbiBHcnVlc3NlbgpJaHIgSGFyZHdhcmUtQmVyYXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwZWljaGVyZXJ3ZWl0ZXJ1bmcgZnVlciBIaXNjcmVlbiBNb2R1bC1Ob3RlIElJIChZZXRpLCAgMi4gSmFuIDE5OTgsIDE3OjI4OjA5KToKfiMhIHJuPUZyZXVuZCBydD04ODM3NTA3MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgzNzAxMDI0CmRlciBuYW1lIHN0ZWh0IHNjaG9uIGltIGJldHJlZmYsIGRldCBUZWlsIHd1cmRlIGFsc28gbWFsIHZvbiBWb2JpcyB2ZXJ0cmllYmVuLAp1ZWJlciBkZW4gZWlnZW50bGljaGVuIEhlcnN0ZWxsZXIgd2VpcyBpY2ggYXVjaCBlcnN0IG1hbCBuaWNoIG1laHIKCllldGksIGltbWVyIG5vY2ggZ3J1ZWJlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbSBnZXN1Y2h0ISAoRW5neXd1Y2ssICAzLiBKYW4gMTk5OCwgMTU6MTc6NDgpOgpTY2hvZW5lbiBndXRlbiBUYWchCkhhdCB6dWZhZWxsaWcgamVtYW5kIGVpbiBQcm9ncmFtbSB6dXIgSGFuZCwgbWl0IGRlbSBpY2ggbWVpbiBXb2huemltbWVyIApuZXUgZGVzaWduZW4ga29lbm50ZT8gQWxzbywgZGllIE1vZWJlbGF1ZnRlaWx1bmcgbWVpbiBpY2ggamV0enQuLi4gRGEgCmdpYnRzIGphIG1pdHRsZXJ3ZWlsZSBlaW5pZ2UgUHJvZ3JhZW1tY2hlbi4gU29uc3RpZ2UgVGlwcyB6dSAKbGVpc3R1bmdzZmFlaGlnZW4gcHJvZ3JhbW1lbiBpbiBkaWVzZXIgUmljaHR1bmcgc2luZCBlYmVuZmFsbHMgd2lsbGtvbW1lbi4KCkNpYW8sIEVuZ3kqCgpQLlMuOiBBY2ggamEsIGFscyBCUyBrb21tdCBXaW45NSBvZGVyIExpbnV4IGluIEZyYWdlLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ncmFtbSBnZXN1Y2h0ISAoU3VzaGksICAzLiBKYW4gMTk5OCwgMTc6MTc6MTUpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODgzODM3MDY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MzgzNzA2OApWaXNpbyBmdWVyIFdpbmRvcywgeGZpZyBmdWVyIExpbnV4LiBLZWluIFdpdHogLSBzY2hhdSBiZWkgeGZpZyBtYWwgdW50ZXIgZGVuCkJlaXNwaWVsZW4gbmFjaC4gQW5zb25zdGVuIGdpYnQgZXMgZWluaWdlcyBhbiBTaGFyZXdhcmUsIHNjaGF1IG1hbCBhdWYgdHdvY293cwpuYWNoLgoKU3VzaGkgKHdoaWxlIHQgKGFsbC1oYWlsLXhlbWFjcykpIC0gaWNoIGhhYmUgZGFzIFdvcnQgV2luZG93cyBuaWNodCBiZW51dHp0LAp2ZXJzdGFuZGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwZWljaGVyZXJ3ZWl0ZXJ1bmcgZnVlciBIaXNjcmVlbiBNb2R1bC1Ob3RlIElJIChUdW5peGd1dCwgIDUuIEphbiAxOTk4LCAxNDoyNjoxOSk6Cn4jISBybj1ZZXRpIHJ0PTg4MzcwMTAyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODM3MDEwMjQKR3V0ZSBCZXNzZXJ1bmcKCidzIEthcmF0ZS1ad2VyY2hsZSAtIGVpbnNpbGJpZy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm92ZWxsbWVsZHVuZ2VuIGJlaSBhbmtvbW1lbmRlciBNYWlsIChHcmltbWJvcm4sICA3LiBKYW4gMTk5OCwgMDA6MDA6NTYpOgp+IyEgb249Um9uZGEgb3Q9ODg0MDc3NTg5IG9nPXN1Y2hlLWJpZXRlCk9rLCBvaywgdmllbGxlaWNodCBnZWhvZXJ0cyBuaWNodCBpbiBkaWUgUnVicmlrLCBkYW5uIHZlcmxlZ3MgaGFsdCwgR3JpbW1ib3JuCjopCkljaCBzdWNoZSBIaWxmZSwgYWxzbyB2aWVsbGVpY2h0IGRvY2ggaGllciByaWNodGlnLi4uCldpciBiZW51dHplbiBoaWVyIE5vdmVsbCB1bmQgV2luZG9vZiA5NSAtIG51biBnaWJ0cyBoaWVyIGRhcyBwcm9ibGVtLCBkYXNzCm1hbmNoZSBSZWNobmVyIGJlaSBuZXIgbmV1ZW4gTWFpbCBlaW5lIFdpbmRvd3NzLU1lbGR1bmcgcmF1c2dlYmVuLCBhbmRlcmUgYXVmCkRvcyB1bXNjaGFsdGVuIC0gdW5kIGRhYmVpIHplcmhhdXRzIGhpZXIgaW1tZXIgd2llZGVyIGRpZSBSZWNobmVyLiBEYXMgZ2Fuegppc3QgUmVjaG5lcmFiaGFlbmdpZywgbWl0IG1laW5lbSBMb2dpbiBrb21tdCBiZWkgZWluZW0gUmVjaG5lciBEb3MsIGJlaSBkZW4KYW5kZXJlbiBXaW5kb3dzLgpIYXQgenVmYWVsbGlnIGplbWFuZCBBaG51bmcsIHdpZSBtYW4gZGFzIGVpbnN0ZWxsZW4ga2Fubj8KRGFua2UsCiAgICAgICBSb25kYSAqd2lsbCBNZWxkdW5nZW4gb2huZSBSZWNobmVyYWJzdHVyeiEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdWNoZSAoR3VuZHVyLCAgNy4gSmFuIDE5OTgsIDEyOjE5OjEwKToKSGkKSWNoIHN1Y2hlIG5lIENvbXBvbmVudGUgZnVlciBkZW4gQm9ybGFuZCBCdWlsZGVyLi4uClVuZCB6d2FyIHNvbGwgZGllIFBvbHlnb25lIHplaWNobmVuIGtvZW5uZW4gZC5oLiBwdW5rdGUgdW5kIGRpZXMgbWl0IExpbmllbgp2ZXJiaW5kZW4uLi4KRGllIFB1bmt0ZSBzb2xsZW4gbmFjaHRyYWVnbGljaCB2ZXJzY2hpZWJiYXIvYWVuZGVyYmFyIHNlaW4uLi4KRGFzIGdhbnplIHNvbGwgbmF0dWVybGljaCBhdWYgZWluZW0gQmlsZCBwYXNzaWVyZW4gOi0pCkRhcyBkYXMgRGluZyBiZXN0YW5kdGVpbCB2b24gdmllbGVuIEdyYWZpa3Byb2dyYW1tZW4gaXN0LCBpc3QgbWlyIGtsYXIuLm51cgplaW56ZWxuIHdpcmQgZGFzIGthdW0gdmVya2F1ZnQuLi4KV2VyIHdlaXNzIHdvIGljaCBkYXMgaGVyYmVrb21tIG9kZXIga2F1ZmVuIGthbm4/CkdydWVzc2Ugdm9uCkd1bmR1cgouLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2NhbmRpc2sgdW5kIHdpbmRvd3M5NSAoTWFnbnVzLCAgOC4gSmFuIDE5OTgsIDEwOjUyOjQ0KToKSWNoIGhhYmUgZWluIHByb2JsZW0gbWl0IHNjYW5kaXNrLiBXZW5uIG1laW4gUGMgYWJnZXN0dWVyenQgaXN0LCBydWZ0CndpbmRvd3M5NSBiZWltIHN0YXJ0IGF1dG9tYXRpc2NoIHNjYW5kaXNrICh1bnRlciBkb3MpIGF1Zi4gTWVpbiBSZWNobmVyIGhhZW5ndApzaWNoIGRhbm4gYXVmLCB3ZW5uIGQ6IGdlc2NhbnQgd2lyZC4gU29iYWxkIGljaCB3aW5kb3dzOTUgZ2VzdGFydGV0IGhhYmUsCmxhZXVmdCBkYXMgd2luZG93cy1zY2FuZGlzayBhYmVyIGVpbndhbmRmcmVpIGF1Y2ggdWViZXIgZDouIChpY2gga2FubiBudXIKc3RhcnRlbiwgaW5kZW0gaWNoIGQ6IG5ldSBmb3JtYXRpZXJlKS4gS2FubiBtYW4gZGVuIGF1dG9tYXRpc2NoZW4gc2NhbgppcmdlbmR3aWUgYXVzc3RlbGxlbj8gT2RlciBoYXQgZGFzIHdhcyBkYW1pdCB6dSB0dW4sIGRhc3MgbWVpbmUgUGxhdHRlIGQ6CmV0d2FzIGdyb2Vzc2VyIGFscyAyIE1CIChzbyAyLDIpIGlzdD9XZW5uIGphLCB3aWUga2FubiBtYW4gMiBrbGVpbmVyZSBQbGF0dGVuCmVpbnJpY2h0ZW4/CgpJY2ggZGFua2UgZnVlciBhbGxlIEhpbndlaXNlLCBhbSBiZXN0ZW4gYXVjaCBwZXIgUG9zdC4KClVuZCBiaXR0ZTogbmljaHQgd2llZGVyIGRpZXNlIHdpbmRvd3MgZmxhbWVzLiBJY2ggbXVzcyB3aW5kb3dzOTUgdmVyd2VuZGVuLApoYWIga2VpbmUgYW5kZXJlIFdhaGwuIEljaCB3ZWlzcywgZGFzcyBkYXMgcHJvZ3JhbW0gZG9vZiBpc3QuCgpNYWdudXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFtaWdhIGF1ZiBQQz8gKEJhbWJ1bGtvLCAgOC4gSmFuIDE5OTgsIDE1OjI2OjU4KToKSGFsbG8sCgpnaWJ0IGVzIGVpbmVuIEFtaWdhLWVtdWxhdG9yIGZ1ZXIgV2luZG9vZiBvZGVyIExpbnV4PwpXZW5uIGphLCB3bz8KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW1pZ2EgYXVmIFBDPyAoR3JpbW1ib3JuLCAgOC4gSmFuIDE5OTgsIDE1OjI3OjI4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4NDI2OTYxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQyNjk2MTgKRnVlciBMaW51eCBqYSwgaW4gamVkZXIgRGlzdHJpYnV0aW9uIHdvaGwsIGF1ZiBqZWRlbiBGYWxsIGJlaSBTdVNFLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpobW1tbW0gKFNtZWFnb2wsICA4LiBKYW4gMTk5OCwgMTc6MjY6MjIpOgoKU3VjaGUgbW9lZ2xpY2hzdCBiaWxsaWcgb2RlciBnZXNjaGVua3QgbmUgc2Nob2VuZSBrbGVpbmUgc2NobnVja2VsaWdlIElERQpGZXN0cGxhdHRlIDotKSBtZWluZSAzNTAgTUIgcGxhdHRlIHN1Y2h0IG5lIHNjaHdlc3RlciB1bmQgd3VlcmQgc2ljaCBmcmV1ZW4KZXR3YXMgYWVobmxpY2hlcyB6dSBoYWJlbiAuLi4gOi0pCgpOYWphIHdlciBzb3dhcyBoYXQsIGxvc3dlcmRlbiB3aWxsIG9kZXIgd2llIGF1Y2ggaW1tZXIgZGVyIG1vZWdlIGRvY2ggYml0dGUKU2hhcmlhIG1hbCBuZSBtYWlsIHNjaHJlaWJlbiA6LSkpKSBhY2hqYTogZ2VzY2hlbmt0IG5laG0gaWNoIHNpZSBhdWNoICpraWNoZXIqCjotKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFtaWdhIGF1ZiBQQz8gKEJhbWJ1bGtvLCAgOC4gSmFuIDE5OTgsIDIwOjI5OjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODQyNjk2NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0MjY5NjE4Cldhcywgd28gZGVubiBkYS4gaWNoIGthbm4gaWhuIGlyZ2VuZHdpZSBuaWNodCBmaW5kZW4uIGljaCBoYWJlIFN1U0UgTGludXggNC4yCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW1pZ2EgYXVmIFBDPyAoR3JpbW1ib3JuLCAgOS4gSmFuIDE5OTgsIDAwOjI1OjIxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4NDI4Nzc3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQyNjk2MTgKSGFzdCBEdSBkYSBtYWwgYXVmIGRhcyBEYXR1bSBnZWd1Y2t0PyBXYXMgaXN0IGRlbm4gZGFzIGZ1ZXIgZWluIGtlcm5lbCwgc2Nob24KMS4yLjEzPyBEYXMgU3lzdGVtIG11c3MgZG9jaCBzZWN1cml0eSBob2xlcyBoYWJlbiwgZGFzcyBtYW4gZGEgbWl0IGVpbmVyIEYxNgpkdXJjaGtvbW1lbiBrYW5uLiBEaWUgYXVmIGVpbmVtIEZsdWd6ZXVndHJhZWdlciBzdGVodC4gTmVpbiwgYmlzY2hlbiBuZXVlcgpzb2xsdGUgZGFzIHNjaG9uIHNlaW4sIGFrdHVlbGwgaXN0IGJlaSBTdVNFIGRpZSA1LjEuIERlciBFbXVsYXRvciBoZWlzc3Qgc293YXMKd2llIHVhZSAocGFzc2VuZCwgcGFzc2VuZC4uLikuIFNvbGx0ZSBpcmdlbmR3byBhdWYgZGVtIGZ0cC1zZXJ2ZXIgenUgZmluZGVuCnNlaW4gKGZ0cC5zdXNlLmNvbSkuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBobW1tbW0gKEhhZHJhLCAgOS4gSmFuIDE5OTgsIDAxOjI1OjI1KToKfiMhIHJuPVNtZWFnb2wgcnQ9ODg0Mjc2NzgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDI3Njc4MgprbGVpbiBzb2xsIHNpZSBzZWluPyBpY2ggaGFldHRlIGRhIG5vY2ggbmUgMjBlci4ga2xlaW4gZ2VudWc/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhtbW1tbSAoU2hhcmlhLCAgOS4gSmFuIDE5OTgsIDAxOjI2OjQ3KToKfiMhIHJuPUhhZHJhIHJ0PTg4NDMwNTUyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQyNzY3ODIKbmFqYSBzbyAyMDAtNDAwIHZpZWxsZWljaHQgOi0pIG5lIDQwZXIgaGFiIGljaCBhdWNoIG5vY2ggaXJnZW5kd28gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgZXMgc2Nob24gaW1tZXIgd2lzc2VuIHdvbGx0ZS4uLiAoR3JpbW1ib3JuLCAgOS4gSmFuIDE5OTgsIDE1OjUwOjA0KToKQmlsbCBHYXRlcyBpc3QgZGVyIFRldWZlbCEKRGVyIGJld2VpczogaHR0cDovL3d3dy5pcy1rb2Vsbi5kZS9laW53b2huZXIvbWxhdWJlci9kZXZpbC5odG0KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW1pZ2EgYXVmIFBDPyAoU3VzaGksIDEwLiBKYW4gMTk5OCwgMDg6NTE6MzEpOgp+IyEgcm49QmFtYnVsa28gcnQ9ODg0Mjg3NzcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDI2OTYxOApIZWlzc3QgQVVCLiBNZWhyIHdlaXNzIGljaCBhdWNoIG5pY2h0LgoKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXIgZXMgc2Nob24gaW1tZXIgd2lzc2VuIHdvbGx0ZS4uLiAoSGF0ZSwgMTAuIEphbiAxOTk4LCAxNzo0MDo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg0MzU3NDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDM1NzQwNApBcm1lciBHcmltbWJvcm4sIGRhc3MgYXVjaCBEdSBhdWYgc29sY2hlbiBTY2h3YWNoZnVnIHJlaW5mYWVsbHN0LiBOaWNodHMKZGFnZWdlbiwgZGFzcyBqZW1hbmQgdmVyc3VjaHQgc293YXMgenUgbWFjaGVuLiBBdWNoIGljaCBoYWJlIG1laW5lIEFibmVpZ3VuZwpnZWdlbiBCaWxsIEdhdGVzLgoKQWJlciBzY2hhdSBlaW5lciBtYWwgZGFzIGdhbnplIGdlbmF1ZXIgYW4uIEFsbGUgWmVpY2hlbiBzaW5kIGFscyBpaHJlIEFTQ0lJCldlcnRlIGdlbm9tbWVuLCBhYmVyIHdhcnVtIGRpZSBJSUkgbmljaHQ/IEFlaG5saWNoIGthbm4gbWFuIGRlbiBhbmRlcmVuIE11ZWxsCmF1c2VpbmFuZGVybmVobWVuLiBFaW5zY2hsYWVnaWdlIFRleHRlIGRhenUgZmluZGV0IG1hbiBpbSBOZXR6LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VyIGVzIHNjaG9uIGltbWVyIHdpc3NlbiB3b2xsdGUuLi4gKEhhdGUsIDEwLiBKYW4gMTk5OCwgMTc6NDI6MDEpOgp+IyEgcm49SGF0ZSBydD04ODQ0NTA0NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0MzU3NDA0CkFjaGphLCBub2NoIGVpbmUgUmFuZGJlbWVya3VuZzogQXVmIGFlaG5saWNoZSBNaXR0ZWwgZ3JlaWZlbiBvZnQgYXVjaCBTZWt0ZW4KenVydWVjay4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXIgZXMgc2Nob24gaW1tZXIgd2lzc2VuIHdvbGx0ZS4uLiAoWWFyZW4sIDEwLiBKYW4gMTk5OCwgMjE6MTU6MjMpOgp+IyEgcm49SGF0ZSBydD04ODQ0NTA1MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0MzU3NDA0CmVjaHQ/IHZlcmRhbW10ISB1bmQgaWNoIGhhdHRlIHNjaG9uIG1pdCBkZW0gcGFwc3QgdGVsZWZvbmllcnQgdW5kIHVtIGVpbmVuCmV4b3J6aXN0ZW4gZnVlciBtZWluZW4gY29tcHV0ZXIgZ2ViZXRlbiAuLi4gZGEgYmluIGljaCBqYSB6aWVtbGljaCBmcm9oLCBkYXNzCmRhcyBkb2NoIG5pY2h0IHN0aW1tdCBtaXQgZGVtIDY2Ni1iaWxseSA7LSkKCllhcmVuLiBpc3QgZG9jaCB6dSBsZWljaHRnbGFldWJpZyAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb3ZlbGxtZWxkdW5nZW4gYmVpIGFua29tbWVuZGVyIE1haWwgKFRyYW5jZWZlYXIsIDExLiBKYW4gMTk5OCwgMTY6MjY6MzApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDEyNzY1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQxMjc2NTYKSG1qYS4uLiBkYXMgUHJvYmxlbSBrYW0gc2Nob25tYWwgYXVmIGRlLmNvbXAuc3lzLm5vdmVsbCAuLi4gaWNoIG1laW5lLCBkdQptdXNzdCBkYXMgYmVpbSBjbGllbnQgZWluc3RlbGxlbi4KCnRmIChhZWggdmllbGxlaWNodCBuaWNodCBkaWUgZ3Jvc3NlIGhpbGZlKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ3JvZW5lbWV5ZXIgbWlkaSBnZXN1Y2h0IChHdWxkdWthdCwgMTEuIEphbiAxOTk4LCAyMDoyOToxMCk6CmhhdCBqZW1hbmQgZ3JvZW5lbWV5ZXJzICJib2NodW0iIGFscyBtaWRpIGZpbGUgKG9kZXIgdXJsKT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmtlIChNYWdudXMsIDEyLiBKYW4gMTk5OCwgMDg6NDg6MjQpOgpBbGxlbiwgZGllIG1pciBiZWkgbWVpbmVtIFByb2JsZW0gZ2Vob2xmZW4gaGFiZW4sIHNlaSBoZXJ6bGljaCBnZWRhbmt0LiBFcyBpc3QKYmVob2JlbiAqZnJldSouCk1hZ251cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKL2Rldi9udWxsIChSaWt1cywgMTIuIEphbiAxOTk4LCAxMDozMTowNCk6CmhpLAp3aWUga2FubiBpY2ggL2Rldi9udWxsIGVyemV1Z2VuPyBta25vZCAvZGV2L251bGwgbWl0IHdlbGNoZW4KcGFyYW1ldGVybj8KCmRhbmtlLCBSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC9kZXYvbnVsbCAoQmxvb2R5aGFycnksIDEyLiBKYW4gMTk5OCwgMTA6MzY6MjYpOgp+IyEgcm49UmlrdXMgcnQ9ODg0NTk3NDY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDU5NzQ2NApta25vZCBudWxsIGMgMyAyCmNobW9kIDY2NiBudWxsCgoKb2huZSBnZXdhZWhyIQpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC9kZXYvbnVsbCAoSGFkcmEsIDEyLiBKYW4gMTk5OCwgMTU6NDU6MDQpOgp+IyEgcm49UmlrdXMgcnQ9ODg0NTk3NDY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDU5NzQ2NAp1bnRlciBsaW51eCAoYXVzIC91c3Ivc3JjL2xpbnV4L0Rva3VtZW50YXRpb24vZGV2aWNlcy50eHQpCmNoYXIKbWFqb3IgPSAxCm1pbm9yID0gMwoKZnVlciBpQkNTLTIgbm9jaCBkZXYvWDBSIG5hY2ggL2Rldi9udWxsIGxpbmtlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbnQrbGludXggKFd1cnplbCwgMTIuIEphbiAxOTk4LCAxODoyNjowMyk6Cm1laW4gbmV1ZXIgcmVjaG5lciBpc3QgZW5kbGljaCBkYSA6KQpudW4gbXVzcyBkYSBub2NoIHdhcyBhbiBzb2Z0d2FyZSBkcmF1Zi4uLiB3aW4tbnQgKGphLCBpY2ggd2Vpc3MsIGFiZXIgaXN0IGphCmFuZ2VibGljaCBzdGFiaWxlciBhbHMgOTUgKmhvZmYqKSB1bmQgbGludXguIGJldm9yIGljaCBhbGxlcyBzZWxic3QgcHJvYmllcmUKdW5kIG1pY2ggbi1tYWwgc2Nod2FyeiBhZXJnZXJlLCBnaWJ0cyB3YXMgd2FzIG1hbiBmdWVyIGRpZSBrb2V4aXN0ZW56CnVuYmVkaW5ndCBiZWFjaHRlbiBtdXNzPwoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbnQrbGludXggKFJvY2h1cywgMTIuIEphbiAxOTk4LCAxOTo0MTo1NSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODg0NjI1OTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpadSBiZWFjaHRlbiBpc3QgbnVyLCBkYXNzIFdpbmRvd3MgTlQgd2FocnNjaGVpbmxpY2ggZWJlbnNvIHdpZSBXaW45NQpkZW4gTUJSIChNYXN0ZXIgQm9vdCBSZWNvcmQpIHdhZWhyZW5kIGRlciBJbnN0YWxsYXRpb24gdWViZXJzY2hyZWlidC4KRC5oLiwgZmFsbHMgRHUgenVlcnN0IExpbnV4IHVuZCBkYW5uIFdpbiBOVCBpbnN0YWxsaWVyZW4gd2lsbHN0LApzb2xsdGVzdCBEdSBEaXIgZWluZSBCb290ZGlza2V0dGUgZnVlciBMaW51eCBtYWNoZW4KKEljaCBnbGF1YmUgbWl0ICJsaWxvIC1iIC9kZXYvZmQwIiwgYmluIG1pciBhYmVyIG5pY2h0IHNpY2hlciB3aWUKZGllIG9wdGlvbiBoZWlzc3QpLgpNaXQgZGVyIEJvb3RkaXNrZXR0ZSBrYW5uc3QgRHUgZGFubiBhbnNjaGxpZXNzZW5kIChuYWNoIGRlciBXaW4gTlQKSW5zdGFsbGF0aW9uKSBMaW51eCB3aWVkZXIgYm9vdGVuIHVuZCBtaXQgTGlsbyBkZW4gTUJSIG5ldSBzY2hyZWliZW4uCkRpZSBXaW4gTlQgUGFydGl0aW9uKGVuKSB3dWVyZGUgaWNoIHVlYnJpZ2VucyBiZXNzZXIgbWl0IGRlbQpET1MtZmRpc2sgYW5sZWdlbiwgaXJnZW5kd2llIGhhdCBXaW45NSBkaWUgZGllIGljaCBtaXQgZGVtIExpbnV4LWZkaXNrCmdlbWFjaHQgaGFiZSBqZWRlbmZhbGxzIG5pY2h0IGdlbW9jaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbnQrbGludXggKEdyaW1tYm9ybiwgMTIuIEphbiAxOTk4LCAyMzowMzowMik6Cn4jISBybj1Sb2NodXMgcnQ9ODg0NjMwNTE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpOaWNodHMgenVyIFZlcnRlaWRpZ3VuZyB2b24gTWljcm9zb2Z0LCBhYmVyIGRhIHR1c3QgRHUgaWhuZW4gVW5yZWNodC4KV2luTlQgdW50ZXJzY2hlaWRldCBzaWNoIGluIHp3ZWkgUHVua3RlbiB2b24gV2luOTU6IGEpIHVlYmVyc2NocmVpYnQgZXMga2VpbmUKTUJSICh6dW1pbmRlc3QgbmljaHQsIGRhc3MgaWNoIG1pY2ggZXJpbm5lcm4ga29lbm50ZSksIHVuZCBiKSBuaW1tdCBlcyBuaWNodAphdXRvbWF0aXNjaCBhbiwgYWxsZWluZSBhdWYgZGVtIFJlY2huZXIgenUgc2VpbiAtPiBlcyBsYWVzc3Qgc2ljaCBhdWNoIGluCmV4dGVuZGVkIHBhcnRpdGlvbnMgaW5zdGFsbGllcmVuLiBFaW5lIG1vZWdsaWNoZSBPcHRpb24gZnVlciBkYXMgRXJzdGVsbGVuCmVpbmVyIEJvb3RkaXNrIGlzdCB6ZGlzayAoaW0gbGludXggc291cmNlLVZlcnplaWNobmlzKS4gSXJnZW5kd2FzIG1pdCAiZGQKaWY9L3ZtbGludXogb2Y9L2Rldi9mZDAiIGhhYiBpY2ggYXVjaCBub2NoIGltIEtvcGYsIGFiZXIgaWNoIG5peCB3ZWlzcy4KRGEgaWNoIGJlaSBhKSBuaWNodCBzbyBzaWNoZXIgYmluLCBrYW5uIGljaCBpbW1lcmhpbiBiZXJ1aGlnZW46IFdlbm4gbWFuIE5UCmRlbiBCb290bG9hZGVyIHdlZ25pbW10IChkZXIgYXVjaCBhdWYgZWluZXIgYm9vdGVuZGVuIHByaW1hZXJlbiBQYXJ0aXRpb24Kc2l0emVuIGthbm4pIGxhZXNzdCBlcyBzaWNoIGltbWVyIG5vY2gga2xhZ2xvcyB1ZWJlciBMSUxPIHN0YXJ0ZW4sIGRhcyBoYWJlCmljaCBlcnN0IHZvciB3ZW5pZ2VuIFRhZ2VuIGF1c3Byb2JpZXJ0LiBBbnNvbnN0ZW4gZW1wZmVobGUgaWNoIHdhZXJtc3RlbnMsCndlbm4gaXJnZW5kIG1vZWdsaWNoIG51ciBkYXMgTGludXgtZmRpc2sgenUgYmVudXR6ZW4sIGRhcyB2b24gRE9TIGlzdCBlaW5lCkthdGFzdHJvcGhlLCBkYXMgdm9uIFdpbjk1IChhbmdlYmxpY2gpIG5pY2h0IHZpZWwgYmVzc2VyIHVuZCBOVCBoYWIgaWNoIGVyc3QKZ2FyIG5pY2h0IGF1c3Byb2JpZXJ0LiBBdWYgZGVyIG1hbiBwYWdlIHp1IGZkaXNrIGdpYnQgZXMgZWluZW4gSGlud2Vpcywgd2FzCmJlaW0gRXJzdGVsbGVuIHZvbiBET1MgNi54LVBhcnRpdGlvbmVuIHp1IGJlYWNodGVuIGlzdC4gRGFzIGlzdCBrZWluIGJ1ZyBkZXMKTGludXgtZmRpc2ssIHdpZSBpY2ggdmVybXV0bGljaCBnYXIgbmljaHQgZXJzdCBlcndhZWhuZW4gbXVzcy4uLgoKTlQgaXN0IHNpY2hlciBzdGFiaWxlciBhbHMgOTUsIG1hbiBzb2xsdGUgc2ljaCBhYmVyIG5pY2h0IHZlcnR1biwgd2FzIGRpZQpBZG1pbmlzdHJhdGlvbiBhbmdlaHQuIFVudGVyIE5UIGlzdCBtYW4gc2VpbiBlaWdlbmVyIEFkbWluIChzb3dlaXQgbmljaHRzCm5ldWVzLCBpc3QgbWFuIGJlaSBMaW51eCBqYSBhdWNoKS4gQUJFUjogcG9pbnQtYW5kLWNsaWNrIEFkbWluaXN0cmF0aW9uIGtyaWVndAptYW4gaXJnZW5kd2FubiBhdWYgZGllIFJlaWhlLCBhYmVyIG1hbiBrYW5uIHNpY2ggaW1tZXIgbnVyIGVpbm1hbCBhbm1lbGRlbi4KRC5oLiwgYWxzIHZlcmFudHdvcnR1bmdzdm9sbGVyIHVzZXIgYXJiZWl0ZSBpY2ggbWl0IGVpbmVtIHVzZXIgYWNjb3VudC4gU3RlbGxlCmZlc3QsIGRhIG11c3Mgd2FzIGFkbWluaXN0cmllcnQgd2VyZGVuICh3ZWlsIHNvbnN0IGRlciAkJSEqIC0gRHJ1Y2tlciBuaWNodAp0dXQpLiBBbHNvIGtvbXBsZXR0IHJhdXMsIGFibWVsZGVuLCBhbHMgYWRtaW4gYW5tZWxkZW4sIHJ1bWJhc3RlbG4sIGFibWVsZGVuLAphbHMgdXNlciBhbm1lbGRlbi4gS2VpbmUgQ2hhbmNlLCBtYWwgZWJlbiBuZSByb290IHNoZWxsIHp1IGtyaWVnZW4uIEVmZmVrdDoKTmFjaCBkZW0gZHJpdHRlbiBtYWwgaXN0IG1pciBkYXMgZG9jaCB6dSBkb29mIHVuZCBpY2ggYXJiZWl0ZSBoaW5mb3J0IG51ciBub2NoCmFscyBhZG1pbiwgZGEga2FubiBpY2ggYWxsZXMgd2FzIGljaCBicmF1Y2hlLiBVbmQgZGFubiBtYWNoIGljaCBkYXMgTW9kZW0gYW4KdW5kIGhhYiBkZW0gQW5ncmVpZmVyIG5vY2ggZGVuIHJvdGVuIFRlcHBpY2ggYXVzZ2Vyb2xsdC4uLiBlaW5lIElNSE8KZ3JhdmllcmVuZGUgcHN5Y2hvbG9naXNjaGUgU2ljaGVyaGVpdHNsdWVja2UuIEFiZXIgaW4gc29sY2hlbiBGYWVsbGVuIGthbm5zdApEdSBuYXR1ZXJsaWNoIExpbnV4IGJvb3RlbiwgZGEgaXN0IGRhcyBOZXR6IGVoIG5hZWhlciAodW5kIGVzIGdpYnQgYXVjaApmdW5rdGlvbmllcmVuZGUgdGVsbmV0LWNsaWVudHMgbWl0IEZhcmJlbiB1bmQgYWxsZW0uLi4pLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBudCtsaW51eCAoR3JpbW1ib3JuLCAxMi4gSmFuIDE5OTgsIDIzOjA0OjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODQ2NDI1ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzCkhhYiBrZWluZSBMdXN0LCBhbGxlcyBuZXUgenUgcGFzdGVuLiBLb3JyZWt0dXI6IERlciBCZWZlaGwgenVyCkJvb3RkaXNrZXR0ZW5lcnN0ZWxsdW5nIGhlaXNzdCAibWFrZSB6ZGlzayIgaW0gc3JjLVZlcnplaWNobmlzLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbnQrbGludXggKEhhZHJhLCAxMy4gSmFuIDE5OTgsIDAxOjAyOjAxKToKfiMhIHJuPVd1cnplbCBydD04ODQ2MjU5NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzCkVzIGdpYnQgZWluZSAnTlQgT1MgTG9hZGVyICsgTGludXggbWluaS1IT1dUTycgdm9uIGJlcm5kIHJlaWNoZXJ0CihyZWljaGVydEBkaWFsLmV1bmV0LmNoKSBpbiBkZXIgc2VociBzY2hvZW4gYmVzY2hyaWViZW4gd2lyZCB3aWUgbWFuIGxpbnV4Cm5hY2hoZXIgdWViZXIgZGVuIG50LWxvYWRlciBib290ZXQuIHdlbm4gZHUgbnQgdWViZXIgZGVuIGxpbG8gYm9vdGVuIHdpbGxzdApnaWx0IGRhcyBnbGVpY2hlIHdpZSBmdWVyIGVpbmUgbGludXgrZG9zIGluc3RhbGxhdGlvbi4KZXMgZ2lidCBlaW5lbiBhbHBoYSBkcml2ZXIgZnVlciBkZW4genVncmlmZiBhdWYgbnRmcyB1bnRlciBsaW51eC4gb2IgZGVyIHdpbjk1CnRyZWliZXIgZnVlciBkZW4genVncmlmZiBhdWYgZXh0MiBhbGxlcmRpbmdzIGZ1bmt0aW9uaWVydCB3YWdlIGljaCBkb2NoIHp1CmJlendlaWZlbG4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG50K2xpbnV4IChKaW1kaWdyaXosIDEzLiBKYW4gMTk5OCwgMDE6NTA6MzgpOgp+IyEgcm49SGFkcmEgcnQ9ODg0NjQ5NzIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpIYWksCgppY2ggd3VlcmRlIGdlcm5lIGFsbGUgVW5rZW5ydWZlbiB6dW0gIHRyb3R6CmF1Y2ggbWFsIEZyZWlCU0Ugc3RhdHQgTG9zaXggZW1wZmVobGVuLCBlcyBsYWVzc3Qgc2ljaApJTUhPIGdlbmF1c28gc2ltcGVsIGluc3RhbGxpZXJlbiwgKGphIGF1Y2ggbWl0IE1lbnVlcyBmdWVyCmxldXRlIGRpZSBtaXQgdmkgbml4IGFuZmFuZ2VuIGtvZW5uZW4pLCBiZWhlcnJzY2p0IExvc2l4CkVMRi1CaW5hcnktS29tcGF0aWJpbGl0YWV0IChhbHNvIFN0YXJvZmZpY2UsIERvb20sIFF1YWtlLCBldGMKZnVlciBMb3NpeCBsYWV1ZmR0IHByb2JsZW1sb3MpIHVuZCBpc3Qgc2Nob2VuIHBlcmZvcm1hbnRcCnVuZCBibGVpYnQgYXVjaCBzdGFiaWwgdW50ZXIgaG9oZXIgTmV0emJlbGFzdHVuZy4KSWNoIGdlYiB6dSwgZGFzcyBMb3NpeCB3b2hsIGluIGFrdHVlbGxlbiBWZXJzaW9uZW4ga2VpbmVyCm9mZmVuc2ljaHRsaWNoZW4gU2Nod2FlY2hlbiBtZWhyIGluIGRpZXNlbSBadXNhbW1lbmhhbmcgCnplaWd0LCB3aWUgZXMgZnJ1ZWhlciBub2NoIG9lZnRlcnMgZGVyIEZhbGwgd2FyLAp0cm90emRlbSBtYWcgZGVyIGVpbmUgb2RlciBhbmRlciB2aWVsbGVpY2h0IGRvY2gKRnJlaUJTRSBpbiBFcndhZWd1bmcgemllaGVuLiAKTml4IGZ1ZXIgdW5ndXQsIExvc2l4IFNVWCA7KQoKQ2lhbywKIEppbSBkaUdyaXosCgp2b24gTmljaHQtQlMgd2FyIGhpZXIgZWggbmllIGRpZSBSZWRlIG9kZXIgPyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBudCtsaW51eCAoTGFyaXNzYSwgMTMuIEphbiAxOTk4LCAwODo0ODo0Nik6Cn4jISBybj1XdXJ6ZWwgcnQ9ODg0NjI1OTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpIbSwKCmFsc28gaWNoIGthbm4gbm9jaCBlbXBmZWhsZW4gZWluZSBEb3MtUGFydGl0aW9uIG1pdCBkcmF1Znp1c2NobWVpc3NlbiwKZmFsbHMgRHUgbWFsIHdpZWRlciBlaW4gcGFhciAnVXJhbHQtU3BpZWxlJyBzcGllbGVuIHdpbGxzdCwKbmFqYSwgZmFsbHMgRHUgc3BpZWxzdC4KCkxhcmksIGFlcmdlcnQgc2ljaCwgZGFzcyBJaHIgTWVuem9iZXJyYW56YW4gbmljaHQgdHV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbnQrbGludXggKEpvZiwgMTMuIEphbiAxOTk4LCAwODo1NzoxMCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg0NjUyNjM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwoKIE5peCBnZWdlbiBGcmVlQlNFLCBsaWVmIGphIGJpcyB2b3IgbmVtIEphaHIgYXVjaCBhdWYgZGVtIE1HLVJlY2huZXIsCndlaWwgbm9jaCBiZWkgZGVuIDEuMi1LZXJuZWxuIGRlciBJUC1TdGFjayB2b24gTGludXggZGVtIE11ZCBuaWNodApnZXdhY2hzZW4gd2FyIDopIEZyZWVCU0UgaGF0IGVpbiBwYWFyIFNjaHdpZXJpZ2tlaXRlbiBnZW1hY2h0LCBkaWUgaWNoCmF1cyBhbHRlbiAzODZic2QtWmVpdGVuIG9kZXIgdm9uIGRlbiBTVU5zIG5vY2gga2FubnRlOiBXZW5uIGRpZSBLaXN0ZQphYnNvZmYgKHdhcyBsZWlkZXIgc2VpbmVyemVpdCBvZWZ0ZXIgdm9ya2FtIGFscyBoZXV0ZSB1bnRlciBMaW51eCksCmhhdHMgaW4gZXR3YSBqZWRlbSAzIG9kZXIgNCBGYWxsIHdhcyBhbSBGUyB6ZXJsZWd0LCBzbyBkYXNzIGRpZSBLaXN0ZQpudXIgaW0gU2luZ2xldXNlci1Nb2RlIGhvY2hrYW0gdW5kIG1hbiBzaWNoIGhpbmJlbXVlaGVuIG11c3N0ZSwgdW0Kc2llIHdpZWRlciB6dSBzdGFydGVuOyBhdXNzZXJkZW0gaGF0cyBkYWJlaSBtZWlzc3QgZGFzIGVpbmUgb2RlcgphbmRlcmUgRmlsZSB6ZXJzY2hvc3Nlbi4gTWVpbiBUaXA6IFdFTk4gc2Nob24gRnJlZUJTRSwgZGFubiB0dW4tCmxpY2hzdCB3ZW5pZ3N0ZW5zIG1pdCBkZW0gZXh0MmZzIHN0YXR0IGRlbSBkYXp1Z2Vob2VyaWdlbiBGRlMgLi4uCgogSm9mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBudCtsaW51eCAoSmltZGlncml6LCAxMy4gSmFuIDE5OTgsIDEzOjU5OjAxKToKfiMhIHJuPUpvZiBydD04ODQ2NzgyMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzCkhhaSwKCkphLCBpY2ggaGFiIGRhdm9uIGdlaG9lcnQsIHZpZWxsZWljaHQgd2FyIGRpZQpkYW1hbHMgQmVudXR6ZSBWZXJzaW9uIG5pY2h0IHN1cGVyc3RhYmlsID8gCkhpZXIgbGF1ZmVuIGNhIDEwIEtpc3RlbiB1bnRlciBGcmVpQlNFIHVudGVyClZvbGxsYXN0ICh3d3djYWNoZSwgZGl2ZXJzZSB3ZWJzZXJ2ZXIsIGV0YyksCkFic3R1ZXJ6ZSBrYW1lbiBlaGVyIHNlbHRlbiB2b3IsIHVuZCBrYXB1dHRlCmZpbGVzeXN0ZW1lIG5pZS4gQWJlciBqZWRlciBtYWNodCBzZWluZSBlaWdlbmVuCkVyZmFocnVuZ2VuIDstKQpGdWVyIHByaXZhdGUgWndlY2tlIHNvbGx0ZSBlcyB3b2hsIGVnYWwgc2VpbiwKTmFqYSBXdXJ6ZWwgbXVzcyBlcyB3aXNzZW4gLi4uCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBudCtsaW51eCAoR3JpbW1ib3JuLCAxMy4gSmFuIDE5OTgsIDE0OjAxOjU3KToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODQ2OTYzNDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzClNvd2VpdCBpY2ggZ2Vob2VydCBoYWJlIChoYWIgQlNFIGJpc2hlciBuaWNodCBpbiBkZW4gRmluZ2VybiBnZWhhYnQpIHR1biBkaWUKc2ljaCBsZWlzdHVuZ3NtYWVzc2lnIGhldXR6dXRhZ2Ugd29obCBuaWNodCBtZWhyIHZpZWwuIEF1Y2ggd2VubiBkYXMgTUcgc2ljaGVyCmVpbmUgZXR3YXMuLi5mb3JkZXJuZGVyZSBBbndlbmR1bmcgYWxzIGVpbiBrbGVpbmVyIHdlYnNlcnZlciBpc3QuCldhcyBtaXQgYmVpIEJTRSBuaWNodCBzbyBnZWZhbGxlbiBoYXQsIGlzdCBkaWUgSWRlZSBkZXMga2xlaW5lbgpFbnR3aWNrbGVyY2x1ZWJjaGVucywgZXMgZmVobHQgLSBrb3JyaWdpZXJ0IG1pY2gsIHdlbm4gaWNoIGRhcyBmYWxzY2gKbWl0YmVrb21tZW4gaGFiZSAtIGRpZSBhYnNvbHV0ZSBPZmZlbmhlaXQgdW5kIEZyZWloZWl0IHdpZSBiZWkgTGludXguCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgbGVpZGV0IGFrdHVlbGwgdW50ZXIgZWluZW0ga2FwdXR0ZW4gbWFpbHNlcnZlciB1bnRlciBBSVgKNC4xLjUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG50K2xpbnV4IChSb2NodXMsIDEzLiBKYW4gMTk5OCwgMTQ6MDQ6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDY0MjU4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ2MjU5NjMKSWNoIEhBQkUgZGVuIEhpbndlaXMgenVtIGVyc3RlbGxlbiB2b24gRE9TIFBhcnRpdGlvbmVuIGJlYWNodGV0IC0gdHJvdHpkZW0KaGF0dGUgZXR3YXMgbmljaHQgZnVua3Rpb25pZXJ0LCBpY2gga29ubnRlIGFuc2NobGllc3NlbmQgamVkZW5mYWxscwphdWYgZWluIHVuZCBkZXJzZWxiZW4gUGFydGl0aW9uIEZpbGVzIHVudGVyIERvcyBhbmxlZ2VuLCBkaWUgTGludXgKbmljaHQgZ2VzZWhlbiBoYXQgdW5kIHVtZ2VrZWhydC4gU2VociBtZXJrd3VlcmRpZy4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbnQrbGludXggKEppbWRpZ3JpeiwgMTMuIEphbiAxOTk4LCAxNDoxNDowMyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg0Njk2MzQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpSZXJlLAoKaGllciBub2NobWFsIHdhcyB1bnRlciAiU2VsdGVuZSBBYnN0dWVyemUiCnp1IHZlcnN0ZWhlbiBpc3QsIGhhYiBtaWNoIGdyYWRlIGt1bmRpZyBnZW1hY2h0OgpFcyBzaW5kIGNhIDIwIE1hc2NoaW5lbiwgZGllIE1haWwvd2Vic2VydmVyL3d3d2NhY2hlL05hbWVzZXJ2ZXIsClJhZGl1c3NlcnZlciB1c3cgc3BpZWxlbi4KRGEgZXMgc2ljaCB1bSBlaW5lbiBncm9lc3NlcmVuIElTUCBoYW5kZWx0LCBpc3Qga2VpbiAKImtsZWluZXIgd2Vic2VydmVyIiB3aWUgR3JpbW1ib3JuIHZpZWxsZWljaHQgZGVua3QuCkR1cmNoc2Nobml0dGxpY2hlIHVwdGltZSA+IDIwMCBUYWdlISEKQXVzc2VyIGRlbSB3ZWJzZXJ2ZXIsIGRlciBzY2htaWVydCBjYSAxeCBpbSBNb25hdCBhYi4KClp1bSBFbnR3aWNrbGVyZ3J1ZXBwY2hlbiwgZ2VuYXUgZGFzIHNlaGUgaWNoIGFscwpWb3J0ZWlsLiBEaWUgRW50d2lja2x1bmcgaXN0IGtvb3JkaW5pZXJ0ZXIgdW5kIHBhc3N0CmVpbmZhY2ggYmVzc2VyIHp1c2FtbWVuLCBhbHMgd2VubiBiZWkgbGludXggaHVuZGVydGUKdm9uIExldXRlbiBydW1wZnVzY2hlbiAqbm8gb2ZmZW5jZSA7KSogdW5kIGRhcyBnYW56ZQpkYW5uIGlyZ2VuZHdpZSB6dXNhbW1lbmJyaW5nZW4gbXVlc3Nlbi4gRGFzIHNpZWh0IG1hbgpqYSBzY2hvbiBkYXJhbiwgZGFzcyBlcyBhbGxlIG5hc2VsYW5nIGVpbmVuIG5ldWVuIApLZXJuZWwgZ2lidCwgZGVyIGRhbm4gYXVjaCBuaWNodCB1bmJlZGluZ3Qgc3RhYmlsIGlzdC4KVW5kIHdlbm4gbWFuIHNpY2ggZGllIEtlcm5lbCBTb3VyY2VuIGFuc2NoYXV0LCBkYW5uCm1lcmt0IG1hbiBhdWNoIHdhcnVtLgpEZXIgVm9ydGVpbCBkZXMgZ3Jvc3NlbiwgZnJlaWVuIEVudHdpY2tsZXJwb29scyBpc3QKZnJlaWxpY2gsIGRhc3MgZGllIEVudHdpY2tsdW5nIGFrdHVlbGxlciBpc3QsIG5ldWUKZmVhdHVyZXMgZmluZGV0IG1hbiBiZWkgTGludXggc2ljaGVybGljaCBzY2huZWxsZXIKYWxzIGFuZGVyc3dvLi4uLgpBYmVyIGVpZ2VudGxpY2ggd29sbHRlbiB3aXIgamEga2VpbmVuCk1laW5PUyBpcyBiZXNzZXIgYWxzIERlaW5zLVRocmVhZCBhbmZhbmdlbiwgaWNoIGhhYgptaWNoIG51ciB2b24gZGVyIHZvcmhlcnJzY2hlbmRlbiBMb3NpeC1Qcm9wYWdhbmRhCmhpbnJlaXNzZW4gbGFzc2VuIHVuZCB3b2xsdGUgbWFsIGRyYXVmIGhpbndlaXNlbiwKZGFzcyBlcyBhdWNoIG5vY2ggQWx0ZXJuYXRpdmVuIGdpYnQuCgpOaXggZnVlciB1bmd1dCwKIEpkRwosLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbnQrbGludXggKEdyaW1tYm9ybiwgMTMuIEphbiAxOTk4LCAxNDoyMDoyMCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg0Njk3MjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpPaG5lIERpciBpbiBhbmRlcmVuIFB1bmt0ZW4gd2lkZXJzcHJlY2hlbiB6dSB3b2xsZW46CkRpZSBuZXVlbiBrZXJuZWwgc2luZCBzdGFiaWwuIFNlaXQgcnVuZCB6d2VpIEphaHJlbiBvZGVyIHNvLiBEaWUKRW50d2lja2xlcmtlcm5lbCBtdWVzc2VuIG5pY2h0IHN0YWJpbCBzZWluLCBkYWZ1ZXIgc2luZCBzaWUgYXVjaCBuaWNodCBkYS4KTmV1ZSBrZXJuZWwgZ2lidCBlcyBzZWx0ZW4gKGRlciAyZXIgaXN0IG5hY2ggZGVyIDAgdW5kIGRlciAxIGRlciBkcml0dGUpLApLZXJuZWx2ZXJzaW9uZW4gZXR3YXMgb2VmdGVyIChha3R1ZWxsIGltbWVyIG5vY2ggMi4wLCBkZXIgdm9yIGVpbmVpbmhhbGIKSmFocmVuIHJhdXNnZWtvbW1lbiBpc3QpIHVuZCBwYXRjaGVzIHJlbGF0aXYgb2Z0LCB3YXMgaWNoIGFscyAic2NobmVsbGUKUmVha3Rpb25zZmFlaGlna2VpdCIgYmVncmVpZmUuIEVpbiBTeXN0ZW0gaGF0IGltbWVyIGJ1Z3MgdW5kIEx1ZWNrZW4sIGVzCndlcmRlbiBuaWNodCBkYWR1cmNoIHdlbmlnZXIsIGRhc3MgbWFuIHNpZSB0b3RzY2h3ZWlndCB1bmQgYWxsZSBoYWxiZW4gSmFocmUKZWluICJzZXJ2aWNlIHBhY2siIHZvbiAzME0gdmVyb2VmZmVudGxpY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgpQLlMuIFVuZCBkYW1pdCBkYXMgbmljaHQgZmFsc2NoIHZlcnN0YW5kZW4gd2lyZDogV2lyIHZlcmdsZWljaGVuIGhpZXIgendlaQpoZXJ2b3JyYWdlbmRlIE9TLCBiZWkgZGVuZW4gbWFuIGF1Y2ggbWFsIGRpZSBNYXVzIG9obmUgTmV1c3RhcnQgd2VjaHNlbG4ga2Fubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbnQrbGludXggKFd1cnplbCwgMTMuIEphbiAxOTk4LCAxODozODoxMCk6Cn4jISBybj1MYXJpc3NhIHJ0PTg4NDY3NzcyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ2MjU5NjMKenVtIHNwaWVsZW4gYnJhdWNoIGljaCBrZWluZSBkb3MtcGFydGl0aW9uLCBkYWZ1ZXIgcmVpY2h0IGRvY2ggdGVsbmV0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBudCtsaW51eCAoV3VyemVsLCAxMy4gSmFuIDE5OTgsIDE4OjQ5OjU2KToKfiMhIHJuPVd1cnplbCBydD04ODQ3MTMwOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzCmVyc3RtYWwgZGFua2UgZnVlciBkaWUgdmllbGVuIHRpcHMuIHdhcnVtIG5laG1lIGljaCBsaW51eD8gdmllbGxlaWNodCB3ZWlsCmljaCBlaW4gZ2V3b2huaGVpdHN0aWVyIGJpbiB1bmQgc2VpdCBqYWhyZW4gbGludXggYmVudXR6ZS4genVtIGFuZGVyZW4gd2Vpc3MKaWNoIG5pY2h0LCBvYiBmcmVlYnNkIHdlZ2VuIGRlciBrbGVpbmVyZW4gZW50d2lja2xlcmdlbWVpbmRlIGpld2VpbHMgZGllCmFrdHVlbGxlIGhhcmR3YXJlIHVudGVyc3R1ZXR6dCAoZnVlciBtZWluZSBuZXVlIGd1cmtlIGJyYXVjaCBpY2ggc2Nob24gc3VzZQo1LjEsIGRpZSA1LjAgcmVpY2h0IGRhIG5pY2h0KS4gZGFubiBrb21tdCBuYXR1ZXJsaWNoIGF1Y2ggZWluIHNjaHVzcwpwc3ljaG9sb2dpZSBkYXp1OiBtZyBsaWVmIGphIGJpcyB2b3Iga3VyemVtIGF1ZiBmcmVlYnNkIHVuZCBudW4gYXVmIGxpbnV4LgpuaWNodCBnZXJhZGUgZGllIGJlc3RlIHdlcmJ1bmcgZnVlciBic2QgOikKbmF0dWVybGljaCBrYW5uIG1hbiBhbiB0YXVzZW5kIGVja2VuIGZlaWxlbiwgYWJlciBtZWluZSBoYWNrZXJ6ZWl0ZW4gbGllZ2VuCmRvY2ggc2Nob24gYXJnIGxhbmdlIHp1cnVlY2suIGhldXRlIGJpbiBpY2ggZWluZmFjaCBudXIgdXNlciAoendhciBrZWluIGRhdSwKYWJlciBhdWNoIG5pY2h0IHNvb28gd2VpdCBlbnRmZXJudCA6KSwgZGFoZXIgbmVobWUgaWNoIHdhcyB3b3ZvbiBpY2ggd2Vpc3MKZGFzcyBlcyBmdW5rdGlvbmllcnQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFtaWdhIGF1ZiBQQz8gKEFjcmltb24sIDEzLiBKYW4gMTk5OCwgMjI6MDM6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDMwMTkyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQyNjk2MTgKRXMgZ2lidCBlaW5lIENEIG5hbWVucyAiQW1pZ2EgRm9yZXZlciIsIGRpZSBtZWhyZXJlIEFtaWdhLUVtdWxhdG9yZW4gZW50aGFlbHQuCkRhcnVudGVyIGlzdCBhdWNoIGVpbmUgVmVyc2lvbiBmdWVyIFBDLCBzZWhyIGd1dCB1bmQgc2VociBzdGFiaWwuCkVyaGFlbHRsaWNoIGJlaSBTY2hhdHp0cnVoZSAoQWRyZXNzZW4gc2luZCBpbiBmYXN0IGplZGVyIGRldXRzY2hlbgpBbWlnYS1aZWl0c2NocmlmdCB6dSBmaW5kZW4pLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbWlnYSBhdWYgUEM/IChHcmltbWJvcm4sIDEzLiBKYW4gMTk5OCwgMjI6MjE6NDIpOgp+IyEgcm49QWNyaW1vbiBydD04ODQ3MjU0MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0MjY5NjE4CkRhcyBpc3QgbmljaHQgIkFtaWdhIGZvcmV2ZXIiLCBkYXMgaXN0IExlaWNoZW5mbGVkZGVyZWkuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2JsZW1lIG1pdCBTdVNlIGZkaXNrIChNdXJrZXMsIDE0LiBKYW4gMTk5OCwgMDk6MTk6MzcpOgpIYWxsbywKbmFjaCBkZW0gRWlucmljaHRlbiB2b24gUGFydGl0aW9uZW4gYmVpIGRlciBTdVNlLUluc3RhbGxhdGlvbiBoYWJlIGljaCBkYXMKUHJvYmxlbSBiZWtvbW1lbiwgZGFzIGljaCBkaWUgbG9naXNjaGVuIExhdWZ3ZXJrZSBpbiBkZXIgZXJ3ZWl0ZXJ0ZW4gUGFydGl0aW9uCm5pY2h0IG1laHIgdm9uIFdpbjk1IGF1cyBhbnNwcmVjaGVuIGthbm4uIExpbnV4IGxhZXVmdCBhYmVyIHByb2JsZW1sb3MgaW4gZGVyCmVyd2VpdGVydGVuIFBhcnRpdGlvbiwgd28gZWlnZW50bGljaCBhdWNoIG5vY2ggZWluZSBQYXJ0aXRpb24gZnVlciBXaW45NSBkcmluCmlzdCwgZGllIGljaCBhYmVyIHNvIG5pY2h0IG51dHplbiBrYW5uLiBBdWNoIGthbm4gaWNoIG1pdCBkZW0gZmRpc2sgdm9uCkRPUy9XaW45NSBuaWNodCBlaW5tYWwgbWVociBkaWUgZXJ3ZWl0ZXJ0ZSBQYXJ0aXRpb24gbG9lc2NoZW4sIGRhIGVyIGRpZQpsb2dpc2NoZW4gTGF1ZndlcmtlIG5pY2h0IGZpbmRldC4KCkhhdCBpcmdlbmR3ZXIgZWluZSBJZGVlPwoKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbWlnYSBhdWYgUEM/IChHbm9tZSwgMTQuIEphbiAxOTk4LCAwOToxOTo0Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg0NzI2NTAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDI2OTYxOApncmltbWJvcm4sCgpBbWlnYSA4NSA9IFdpbmRvd3MgOTUKCmp1IG5vIHdvdCBhaSBtaWVuPyA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFtaWdhIGF1ZiBQQz8gKEFjcmltb24sIDE0LiBKYW4gMTk5OCwgMTI6MTc6NDUpOgp+IyEgcm49R25vbWUgcnQ9ODg0NzY1OTg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDI2OTYxOApOZWluLCBuaWNodCBtYWwgZGFzLgpEYXMgKHZvbGxrb21tZW4gdmVyYWx0ZXRlKSBBbWlnYU9TIDEuMCAoZGFzIHdhciA4NSkgdmVyd2VuZGV0IG1hc3NpdiBzaGFyZWQKbGlicmFyaWVzLiBXaW5kb3dzIDk1IHVuZCBXaW5kb3dzIE5UIHR1biBkYXMgbm9jaCBoZXV0ZSBuaWNodC4KVW5kIFdpbmRvd3MgOTUgaGF0IG5vY2ggbmljaHRtYWwgZWluZW4gU2NoZWR1bGVyLgpHZXNjaHdlaWdlIGRlbm4gZWluIHZlcm51ZW5mdGlnZXMgRmlsZXN5c3RlbS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmlsZW1hbmFnZXIgZ2VzdWNodCAoR3VsZHVrYXQsIDE0LiBKYW4gMTk5OCwgMTM6MzI6MzMpOgpIaSwgaWNoIHN1Y2hlIGZ1ZXIgbGludXggZWluZW4gZmlsZW1hbmFnZXIsIGRlciBzaWNoIGFuIGRlbiBleHBsb3JlciB2b24gd2luOTUKYW5sZWhuZW4gc29sbC4gZGllIGZpbGVtYW5nZXIsIGRpZSBpbiBkZXIgc3VzZSBkaXN0cmlidXRpb24gZGFiZWkgc2luZCwgc2luZAphbGxlIHNvIGF1ZiBkZW0gbml2ZWF1IHZvbiB3aW5kb29mIDIuCkstZGVza3RvcCBpc3Qgd29oIGxhdWNoIG5pY2h0IHNvIGRhcyB3YWhyZSwgd2VpbCBlciB3b2hsIG5peCB2b20gbGludXgKdWViZXJsYXNzZW4gc29sbCwgc29uZGVybiBlaW5lIGtvbXBsZXR0ZSBuZXVlIG9iZXJmbGFlY2hlIG1hY2h0LiBpY2ggc3VjaCBoYWx0Cm51ciBlaW5lbiB2ZXJudWVuZnRpZ2VuIGZpbGVtYW5hZ2VyISA7KQpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZpbGVtYW5hZ2VyIGdlc3VjaHQgKENhdHdlYXpsZSwgMTQuIEphbiAxOTk4LCAxMzozNjo1Mik6Cn4jISBybj1HdWxkdWthdCBydD04ODQ3ODExNTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NzgxMTUzCgpIZSwgRHUgd2lyc3QgcGFyYWRveC4gRHUgd2lsbHN0IGVpbmVuICd2ZXJudWVuZnRpZ2VuIEZpbGVtYW5hZ2VyJywgZGVyCnNpY2ggYW4gZGVuIEV4cGxvcmVyIHZvbiB3aW45NSBhbmxlaG5lbiBzb2xsLiBEdSBtZWluc3QgZGFzIG5pY2h0CndpcmtsaWNoLCBkYXMgRHUgZGllc2UgbW9kZXJuZSwgYXVmZ2VwZXBwdGUgVmVyc2lvbiB2b24gJ3RyZWUnIGd1dCAKZmluZGVzdCwgb2Rlcj8KQWxzIGVpbmdlZmxlaXNjaHRlciBOb3J0b25Db21tYW5kZXItRmFuIGVtcGZlaGxlIGljaCBEaXIgZGVuIApNaWRuaWdodCBDb21tYW5kZXIgKG1jKSBmdWVyIFVuaXguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZpbGVtYW5hZ2VyIGdlc3VjaHQgKEd1bGR1a2F0LCAxNC4gSmFuIDE5OTgsIDEzOjQwOjAyKToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODQ3ODE0MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NzgxMTUzCnRqYSwgaWNoIGZpbmQgZGVuIGV4cGxvcmVyIHZvbiB3aW45NSBnYXIgbmljaHQgc28gc2NobGVjaHQsIGR1IGhhc3QgbGlua3MKZGVpbmUgcGZhZCB1ZWJlcnNpY2h0IHVuZCByZWNodHMgZGllIGVpbnplbG5lbiB2ZXJ6ZWljaG5pc3NlIHVuZCBrYW5uc3QgYmVxdWVtCnNhY2hlbiBoaW51bmRoZXJzY2hpZWJlbiAuLi4KaWNoIGtlbm4gbnVyIGRlbiBub3J0ZW4gY29tbWFuZGVyIGZ1ZXIgZG9zLCB3byBkdSBtZWhyZXJlICJmZW5zdGVyIgpuZWJlbmVpbmFuZGVyIGhhdHRlc3QsIGFiZXIgZGFzIGtvcGllcmVuIHZvbiBkYXRlaWVuIGRvY2ggcmVjaHQgdW1zdGFlbmRsaWNoCndhciAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtleW1hcCBsaW51eCAoR3VsZHVrYXQsIDE0LiBKYW4gMTk5OCwgMTM6NDA6MTYpOgpOb2NoIGVpbiBMaW51cyBwcm9iOiBzZWl0ZGVtIGljaCB4a2V5Y2FwcyBpbnN0YWxsaWVydCBoYWJlLApnZWhlbiBkaWUgZGV1dHNjaGVuIHNvbmRlcnplaWNoZW4gbmljaHQgbWVociAoYWx0KyApCmF1Y2ggZGllIGF1c3dhaGwgZWluZXMgZGV1dHNjaGVuIGxheW91dHMsIHNjaHJlaWJlbiBkZXIKa2V5dGFiZWxsZSBtaXQgeGtleWNhcHMgdW5kIHhtb2RtYXAgbWl0IGRpZXNlciB0YWJlbGxlCmxpZWZlcnQga2VpbmUgc29uZGVyemVpY2hlbj8KPz8/Pz8KZ2QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZpbGVtYW5hZ2VyIGdlc3VjaHQgKENhdHdlYXpsZSwgMTQuIEphbiAxOTk4LCAxMzo1NTozOSk6Cn4jISBybj1HdWxkdWthdCBydD04ODQ3ODE2MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NzgxMTUzClVtc3RhZW5kbGljaD8KRHUgbWFya2llcnN0IGltIGxpbmtlbiBGZW5zdGVyIGRpZSBmaWxlcywgZHJ1ZWNrc3QgYXVmIEY1IHVuZCBzY2hvbgprb3BpZXJ0IGVyIGRpZSBkYXRlaWVuIGlucyByZWNodGUgRmVuc3Rlci4gSXN0IGdsYXViIGljaCBhbGxlcwphbmRlcmUgYWxzIHVtc3RhZW5kbGljaC4gCkVzIHNlaSBkZW5uIER1IGJldm9yenVnc3QgZHJhZyZkcm9wLW1hdXNnZWtsaWNrZS4KOkdlbmF1IGRpZSBBdWZ0ZWlsdW5nIExpbmtzIFZlcnplaWNobmlzc2UvUmVjaHRzIERhdGVpZW4gZmluZCBpY2ggamEKc28gZW5vcm0gdW5hbmdlbmVobS4gU29iYWxkIER1IHNvdmllbGUgVmVyemVpY2huaXNzZS9MYXVmd2Vya2UgaGFzdCwKZGFzIHNpZSBuaWNodCBtZWhyIGlucyBsaW5rZSBGZW5zdGVyIHBhc3NlbiwgbXVzc3QgRHUgd2lsZCBydW1zY3JvbGxlbiBvZGVyCmF1ZiBkZW4gKy8tSWNvbnMgcnVta2xpY2tlbi4gRGFzIGZpbmRlIGljaCBtYXhpbWFsIG5lcnZpZyB1bmQgYWV1c3NlcnN0CnVua29tZm9ydGFiZWwuIApZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmaWxlbWFuYWdlciBnZXN1Y2h0IChHcmltbWJvcm4sIDE0LiBKYW4gMTk5OCwgMTQ6MDg6NTUpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODg0NzgxMTUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDc4MTE1MwpOdXIgenUgRGVpbmVyIEluZm9ybWF0aW9uOiBMaW51eCBpc3Qga2VpbmUgT2JlcmZsYWVjaGUsIHNvIGRhc3Mga2VpbmUgUmVkZQpkYXZvbiBzZWluIGthbm4sIGRhc3MgIktERSBuaXggdm9uIExpbnV4IHVlYmVybGFzc2VuIHNvbGwiLiBEaWUgT2JlcmZsYWVjaGUKaXN0IGRlciB3aW5kb3cgbWFuYWdlciAoYW0gd2VpdGVzdGVuIHZlcmJyZWl0ZXQ6IGZ2d20yIHVuZCBmdndtOTUpIHp1c2FtbWVuCm1pdCBkZW0gWC1zZXJ2ZXIgKGFrdHVlbGwgaXN0IGdsYXViIGljaCBYRnJlZSAzLjMuMSwgd2VubiBtYW4ga2VpbmVuCmtvbW1lcnppZWxsZW4gaGF0KS4gSW53aWV3ZWl0IEtERSBkYSB3byBlaW5ncmVpZnQgd2Vpc3MgaWNoIGFsbGVyZGluZ3MgbmljaHQuCkljaCBrb21tIG1pdCBmdndtMiBwcmltYSBrbGFyIHVuZCBtYWcgZGVuIGdhbnplbiBBdWZiYXUgYSBsYSBDREUgbmljaHQKc29uZGVybGljaC4gCkFscyBmaWxlIG1hbmFnZXIga2FubiBpY2ggZGVuIFVuaXggQ29tbWFuZGVyICh1YykgZW1wZmVobGVuLiAiTGVpZGVyIgpzaGFyZXdhcmUsIG1hY2h0IGFiZXIgZWluZW4gdW5nbGF1YmxpY2ggZmFlaGlnZW4gdW5kIGZsZXhpYmxlbiBFaW5kcnVjay4KQmlzY2hlbiBFaW5hcmJlaXR1bmcgd2lyZCBub2V0aWcgc2Vpbiwgd2llIGRhcyBqYSBhbGxnZW1laW4gYmVpIHdpcmtsaWNoCmVmZmVrdGl2ZW4gdG9vbHMgZGVyIEZhbGwgaXN0LiBEZXIgdWMgd2FlcmUgc2ljaGVyIG1laW5lIFdhaGwsIHdlbm4gbWlyIGRpZQpiYXNoIChiZXN0ZXIgZmlsZS0gdW5kIHNvbnN0aWdlciBtYW5hZ2VyIHdvIGdpYnQpIG5pY2h0IHJlaWNoZW4gd3VlcmRlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZW51ZyBnZXN1Y2h0ISAoR3JpbW1ib3JuLCAxNC4gSmFuIDE5OTgsIDIyOjMxOjA4KToKSWNoIGhhYnMgbmljaHQgZ2VmdW5kZW4uIEdpYnQgZXMgYmVpbSBOZXRzY2FwZSBDb21tYW5kZXIgKHZvcnp1Z3N3ZWlzZSBMaW51eCwKd2lyZCBhYmVyIHVlYmVydHJhZ2JhciBzZWluKSBpcmdlbmR3byBkaWVzZXMgYWx0ZSAiYXV0byBsb2FkIGltYWdlcyBvZmYiPyBFcwpnaWJ0IGltIE1lbnVlICJWaWV3IiBkZW4gaW1tZXIgaW5ha3RpdmllcnRlbiBQdW5rdCAiU2hvdyBJbWFnZXMiLCBkYXMgZGV1dGV0CmphIGRhcmF1ZiBoaW4sIGRhc3MgZXMgc293YXMgZ2ViZW4gc29sbHRlLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZW51ZyBnZXN1Y2h0ISAoRW1iZSwgMTQuIEphbiAxOTk4LCAyMjozNzoxMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg0ODEzNDY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDgxMzQ2OAoKaWNoICJ1YmVyc2VocyBhdWNoIGplZGVzbWFsOgp1bnRlciBhZHZhbmNlZCwgZ2xlaWNoIGRpZSBhbGxlcmVyc3RlIGNoZWNrYm94CidBdXRvbWF0aWNhbGx5IGxvYWQgaW1hZ2VzIGFuZCBvdGhlciBkYXRhdHlwZXMnLi4uCgp2aWVsIHNwYXNzLAoKZ3J1c3MsIGVNQmVlLiAoYWRtaW4gaW4gU0lMS0UpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDRC1CcmVubmVyIGFtIFBhcmFsbGVscG9ydCAoUmlrdXMsIDE0LiBKYW4gMTk5OCwgMjM6MzI6MTYpOgpIaSwKYXVmIEFyYmVpdCB3b2xsZW4gd2lyIGVpbiBzb2xjaGVzIFRlaWwga2F1ZmVuLiBFcyBnaWJ0IGRhIHouYi4KSFAtU3VwZXJzdG9yZSB1bmQgZWluZW4gdm9uIFRyYXhEYXRhIHp1bSBnbGVpY2hlbiBQcmVpcy4gS2FubiBtaXIKZWluZXIgZWluZW4gZW1wZmVobGVuIGF1cyBTaWNodCBIYXJkd2FyZSBiZXNzZXIvIFNvZnR3YXJlIGJlc3NlcgpvZGVyIHdpZSBhdWNoIGltbWVyPyBFcyBtdXNzIFBhcmFsbGVscG9ydCBzZWluLCBhbHNvIG5pY2h0IGRlc3dlZ2VuCmRpc2t1dGllcmVuIDopCgpkYW5rZSwgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhQIERlc2tqZXQgNjcwQyB1bnRlciBMaW51eD8gKE11cmtlcywgMTUuIEphbiAxOTk4LCAwOToyNDowNik6CkhpLApBbmZyYWdlIHZvbiBlaW5lbSBGcmV1bmQ6CkljaCBoYWJlIGRpZSBTdVNlIERpc3RyaWJ1dGlvbiBpbnN0YWxsaWVydCB1bmQgdWViZXJsZWdlIGRlbiBIUCA2NzBDIHp1CmthdWZlbi4gS2FubiBMaW51eCBtaXQgZGllc2VtIERydWNrZXIgd2FzIGFuZmFuZ2VuPyBJbiBkZXIgRG9rdSB3YXIgZGVyCkRydWNrZXIgbmljaHQgYXVmZ2VmdWVocnQuCldlaXNzIGlyZ2VuZHdlciBldHdhcz8KCkRhbmtlLApNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIUCBEZXNramV0IDY3MEMgdW50ZXIgTGludXg/IChNYXJjdXMsIDE1LiBKYW4gMTk5OCwgMTI6MTI6MjQpOgp+IyEgcm49TXVya2VzIHJ0PTg4NDg1MjY0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ4NTI2NDYKU29sYW5nZSBlcyBrZWluIEdESSBEcnVja2VyIGlzdCwgZGVua2UgaWNoIHNjaG9uLgoKRHUga2FubnN0IGVpbmVuIERydWNrZXJmaWx0ZXIgaW4gZGVyIC9ldGMvcHJpbnRjYXAgZWlucmljaHRlbiAoZ2lidHMKc2ljaGVybGljaAp2b3JnZWZlcnRpZ3QpLCBkZXIgYXV0b21hZ2lzY2ggcG9zdHNjcmlwdCAtPiBkZWluZHJ1Y2tlciBmb3JtYXQga29udmVydGllcnQuCkxpZWd0IHNpY2hlcmxpY2ggaXJnZW5kd28gZWluIEhPV1RPIHJ1bSBkYWZ1ZXIuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSFAgRGVza2pldCA2NzBDIHVudGVyIExpbnV4PyAoRnJldW5kLCAxNS4gSmFuIDE5OTgsIDEyOjE3OjU4KToKfiMhIHJuPU1hcmN1cyBydD04ODQ4NjI3NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0ODUyNjQ2CkRhcyBEaW5nIGlzdCBrZWluIEdESS1EcnVja2VyLiBVbmQgbm90ZmFsbHMgc29sbHRlIGF1Y2ggZGVyIDY5MC1UcmVpYmVyCmZ1bmt0aW9uaWVyZW4uIERpZSB1bnRlcnNjaGVpZGVuIHNpY2ggbnVyIGRhZHVyY2gsIGRhc3MgZGVyIDY5MCBlaW4gUGhvdG8tS2l0CmF1Zm5laG1lbiBrYW5uLCB1bmQgZGVyIDY3MCBkYWZ1ZXIgbmljaHQgdm9yZ2VzZWhlbiBpc3QuCkZyZXVuZC4KClAuUy46IEthdW0gZWluZSBGaXJtYSBzY2hhZmZ0IHNvIHZpZWwgVmVyd2lycnVuZyBkdXJjaCBQcm9kdWt0YmV6ZWljaG51bmcgZmFzdAppZGVudGlzY2hlciBHZXJhZXRlIHdpZSBIUC4gRXMgZ2lidCBnYW56IG5ldTogRWluZW4gSFAgREogNzIwISA4IFMvTWluLCA2MDAKZHBpLCBob2hlIE1lZGllbnZpZWxmYWx0LCBhYnNvbHV0IExFSVNFLiAoNjIwLi0gRE0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VudWcgZ2VzdWNodCEgKFF1YXNpbW9kbywgMTUuIEphbiAxOTk4LCAxMzo1Nzo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg0ODEzNDY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDgxMzQ2OApPcHRpb25zLT5BcHBlYXJhbmNlClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaW51eCAvIHlhc3QgKE1hcnMsIDE1LiBKYW4gMTk5OCwgMTk6MDY6MzIpOgpub2NoJ24gTGludXgtUHJvYmxlbToKSWNoIGhhYiBtZWluIGFsdGVzIExpbnV4IGdldXBncmFkZXQsIGFiZXIgZGEgd2FyZW4gd29obCBlaW4gcGFhcgpQYWNrYWdlcyBkcmF1ZiwgZGllIGJlaSBkZXIgbmV1ZW4gVmVyc2lvbiBuaWNodCBkYWJlaSBzaW5kLCB1bmQKamV0enQgd2lyZCBqZWRlc21hbCBiZWltIEJvb3RlbiBZYVNUIGF1ZmdlcnVmZW4sIHdhcyBzaWNoIGFiZXIKYW5zY2hsaWVzc2VuZCBzb2ZvcnQgd2llZGVyIGJlZW5kZXQuIEdpYnQgZXMgbmUgTW9lZ2xpY2hrZWl0LAphKSBkaWUgSW5mb3JtYXRpb25lbiBmdWVyIGRpZSB1bmJla2FubnRlbiBQYWNrYWdlcyB6dSBsb2VzY2hlbiwgZGFtaXQKWWFTVCBzaWNoIG5pY2h0IGplZGVzbWFsIGRhcnVlYmVyIGJlc2Nod2VydCAoZ2VuYXVlcjogaW4gd2VsY2hlcgpEYXRlaS93ZWxjaGVtIFZlcnplaWNobmlzIHNpbmQgZGllc2UgSW5mb3MgZ2VzcGVpY2hlcnQpICBvZGVyCmIpIGRlbiBBdWZydWYgdm9uIFlhU1QgYmVpIGplZGVtIE5ldXN0YXJ0IHp1IHVudGVyYmluZGVuIChhbHNvIHdlbGNoZQpEYXRlaWVuIHdlcmRlbiBiZWltIFN0YXJ0IGFsbGVzIGFiZ2VhcmJlaXRldCk/CgogIE1hcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAvIHlhc3QgKE15c3RlcmlvdXMsIDE1LiBKYW4gMTk5OCwgMTk6MjI6MTgpOgp+IyEgcm49TWFycyBydD04ODQ4ODc1OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0ODg3NTkyCm5pIGhhbyEKCnNjaGF1IG1hbCBpbnMgdmVyemVpY2huaXMKCiAgICAgICAgL2V0Yy9pbml0LmQgKG9kZXIgL3NiaW4vaW5pdC5kKQoKZGEgZmluZGVzdCBkdSB2ZXJ6ZWljaG5pc3NlLCBlbnRzcHJlY2hlbmQgZGVuIHJ1bmxldmVscyBmdWVyIHN0YXJ0IHVuZCBmdWVyCmtpbGwgKGVuZGUpLi4gYmVpIGRlbiBzdGFydC1zYWNoZW4ga2FubnN0ZSBqYSBtYWwgbmFjaCB5YXN0IHN1Y2hlbi4uLgoKCmFjaGphIHVuZCBpbiBkZW0gby5nLiBkaXIgYmVmaW5kZXQgc2ljaCBub2NoIG5lIGJvb3QubG9jYWwgKG9kZXIgcmMubG9jYWwpCmRhdGVpLCBpbiBkaWUgZHUgc2VsYnN0IHByb3plc3NlIGVpbnRyYWdlbiBkYXJmc3QsIGRpZSBiZWltIGJvb3RlbiBnZXN0YXJ0ZXQKd2VyZGVuICdkdWVyZmVuJy4uLi4KCmR1aWlpaWkKICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmlzdWRvIGYuIGxpbnV4IChNeXN0ZXJpb3VzLCAxNS4gSmFuIDE5OTgsIDE5OjMyOjIyKToKaGFsbG9lbGUuLi4KCnRqYSwgaWNoIGhhYiBkYSBmb2xnZW5kZXMgcHJvYiBtaXQgZGVyIC9ldGMvc3Vkb2Vycy4uLgoKZXMgZ2VodCBkYXJ1bSwgZWluZW0gbnV0emVyIGRpZSByZWNodGUgenUgZ2ViZW4sIGRlbiBwcHBkIHp1IHN0YXJ0ZW4uLi4KCnNvd2FzIG1hY2h0IG1hbiBqYSBub3JtYWxlcndlaXNlIG1pdHRlbHMgJ3Zpc3VkbycgKGRlbmsgaWNoIG1hbCwgc28gZXJmYWhyZW4KYmluIGljaCBkYSBuaWNoIDotKQoKZHVtbWVyd2Vpc2Ugd3VyZGUgZGllIC9ldGMvc3Vkb2VycyBzY2hvbiAndm9uIGhhbmQnIGVkaXRpZXJ0IHVuZCBkaWUgZGFtaXQKZ2VtYWNodGVuIGVpbnRyYWVnZSBmdW5rdGlvbmllcnRlbiBuYXR1ZXJsaWNoIG5pY2h0Li4uCgpudW5qYSwgYmxvZWRlcndlaXNlIG51ZXR6dCBlcyBuaWNodHMsIGRpZXNlIGVpbnRyYWVnZSBwZXIgJ3Zpc3VkbycgcmF1cy0gdW5kCndpZWRlciByZWluenVuZWhtZW4uLi4KCmdlbmF1c28gd2VuaWcgbnVldHp0IGVzLCBkaWUgZGF0ZWkgenUgbG9lc2NoZW4sIHVtIHNpZSBrb21wbGV0dCBtaXQgJ3Zpc3VkbycKd2llZGVyIGF1Znp1YmF1ZW4sIGRhIHNpY2ggJ3Zpc3VkbycgZGFubiBiZXNjaHdlcnQuLi4KCmFuIGRlciBzeW50YXgsIGRpZSBlaW5nZXRyYWdlbiB3dXJkZSwga2FubiBlcyBlaWdlbnRsaWNoIGF1Y2ggbmljaCBsaWVnZW4sIGRhCmRpZSAoaG9mZmVudGxpY2gpIGV4YWt0IGdsZWljaGUgc3ludGF4IHZlcndlbmRldCB3dXJkZSB3aWUgYXVmIGVpbmVtIGFuZGVyZW4Kc3lzdGVtIChkYSBsYWV1ZnQgc3RhdHQgc3VzZSA1LjEgJ251cicgNS4wKS4uLgoKaGF0IGplbWFuZCBuZSBpZGVlLCB3YXMgbWFuIG5vY2ggcHJvYmllcmVuIGtvZW5udGU/PyAKc29kZWxlLi4uCgoqaG9lZmxpY2ggdmVybmVpZyoKICAgICAgICAgICAgICAgICAgICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZpc3VkbyBmLiBsaW51eCAoSmltZGlncml6LCAxNS4gSmFuIDE5OTgsIDIwOjA2OjU2KToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9ODg0ODg5MTQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDg4OTE0MgoKSGFpLAoKSmEsIGF1Y2ggd2VubnMgbmljaHQgZ2FueiBkYXMgUHJvYmxlbSB0cmlmZnQuCk5pbW0gaWpwcHAgZGFzIGlzdCBlaW5lIFVzZXItTGV2ZWwtcHBwIEltcGxlbWVudGllcnVuZywKZGllcyBzaWNoZXIgYXVmIGZ1ZXIgTGludXggZ2lidC4gRXMgd2lyZCBkYWJlaSBlaW4KVHVubmVsZGV2aWNlIGJlbnV0enQsIGFiZXIgcHJpbnppcGllbGwga29lbm5lbiBkYW1pdAphdWNoIG5vcm1hbGUgdXNlciBwcHAgYmVudXR6ZW4uIERhcyBnYW56ZSBrYW5uIGF1Y2gKZ2VuYXUga29uZmlndXJpZXJ0IHdlcmRlbiwgd2VsY2hlciB1c2VyIHdvaGluIAplaW5lbiBkaWFsdXAgbGluayAod2VubiB1ZWJlcmhhdXB0KSBhdWZiYXVlbiBkYXJmLgoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZpc3VkbyBmLiBsaW51eCAoQXZhbG9uLCAxNS4gSmFuIDE5OTgsIDIwOjMyOjQ0KToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9ODg0ODg5MTQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDg4OTE0MgpCZWkgU3VzZSA1LiogaXN0IGRlciB1ZWJsaWNoZSBXZWcsIGplbWFuZGVtIGRpYWwgb3V0IHp1IGVybGF1YmVuLAppaG4gZGVyIEdydXBwZSAiZGlhbG91dCIgaGluenV6dWZ1ZWdlbiAodmkgL2V0Yy9ncm91cHMgdXN3LikKCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmlsZW1hbmFnZXIgZ2VzdWNodCAoUmFmZmksIDE1LiBKYW4gMTk5OCwgMjI6MDA6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDc4MzMzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ3ODExNTMKTUMgdHV0cyBhdWNoIC4uLiB1bmQgbGFlZnQgc293b2hsIHVudGVyIFggYWxzIGF1Y2ggYXVmIGRlciBUZXh0a29uc29sZS4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBBbWlnYSBhdWYgUEM/IChSYWZmaSwgMTUuIEphbiAxOTk4LCAyMjowNTowNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg4NDc3NjY2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQyNjk2MTgKSG1tIGthbm5zIHNlaW4gZGFzIGR1IFdpbkRvb2YgbmljaHQgZ2VuYXUgYW5nZXNjaGF1dCBoYXN0ID8KV2luWFhYIGJlc3RlaHQgcHJha3Rpc2NoIE5VUiBhdXMgc2hhcmVkIGxpYnJhcmllcyAtIGhpZXIgaGVpc3N0IG1hbiBkYXMgbnVyCmRhbm4gRExMcyAod28ga2FlbWVuIHdpciBoaW4gd2VubiBNUyBhdWNoIGRlbiBOYW1lbiBtaXQgdWViZXJuZWhtZW4gd3VlcmRlIDopCgp1bmQgZWluZW4gJ3NjaGVkdWxlcicgKHdhcyBpbW1lciBkYXMgaXN0KSBoYXQgV2luIGF1Y2ggc2Nob24gIC0gc29nYXIgc2VpdCAxLjAKIQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZpbGVtYW5hZ2VyIGdlc3VjaHQgKEppbWRpZ3JpeiwgMTYuIEphbiAxOTk4LCAxNDozMzo1OCk6Cn4jISBybj1SYWZmaSBydD04ODQ4OTgwMjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NzgxMTUzCgpkZWphLXZ1ZSAhCgpJY2gga2FubiBtaWNoIG5jaWh0IGVyaW5uZXJuLCBkYXNzIGljaCBqZW1hbGQKaW4gZGVyIFplaXQgaW4gZGVyIGljaCBtaXQgVW5peCB6dSB0dW4gaGFiZSwgamVtYWxzCmplbWFuZGVuIG5hY2ggRmlsZW1hbmFnZXJuIGhhYmUgZnJhZ2VuIGhvZXJlbgooYXVjaCB3ZW5uIGJla2FubnQgd2FyLCBkYXNzIGVzIHNvd2FzIGdpYnQgdW5kIGxldXRlCiBnZWxlZ2VudGxpY2ggYmVudXR6ZW4pLiAKVW5kIGthdW0gc3RlaHQgZGllIGRpZSBBbmZyYWdlIGhpZXIgaW4gZGVyIG1wYSwgCmZyYWd0IHByb21wdCBhdWNoIGplbWFuZCBiZWkgdW5zIGFtIEluc3RpdHV0IGRhbmFjaCwKIHZlcm11dGxpY2ggYWJlciB3ZXIgYW5kZXJzIDstKQoKIERlamEtVnVlID8/CgpKaW0gRGlHcml6LCBNZWRpdW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuZGVsZXRlPyAoUmluZ29yLCAxNi4gSmFuIDE5OTgsIDE1OjAzOjEyKToKSGlobyEKClNpdHVhdGlvbjogZWluIEZpbGUgYXVmIGVpbmVyIERvcy1QYXJ0aXRpb24gKEZhdDE2KS4gRGllIFBhcnRpdGlvbiBpc3QgdW50ZXIKTGludXggZ2Vtb3VudGV0LiBEYXMgRmlsZSB3aXJkIHVudGVyIExpbnV4IGdlbG9lc2NodC4KCkdpYnQgZXMgZWluZSBNb2VnbGljaGtlaXQsIGRhcyBGaWxlIHdpZWRlcmhlcnp1c3RlbGxlbj8gRGFzIFVuZGVsZXRlIHZvbiBEb3MKZmluZGV0IG5peCwgd2VpbCBkYXMgRmlsZSBqYSBuaWNodCBtaXQgZGVtIERvcy1EZWxldGUgZ2Vsb2VzY2h0IHd1cmRlLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVW5kZWxldGU/IChKaW1kaWdyaXosIDE2LiBKYW4gMTk5OCwgMTU6MTA6NTEpOgp+IyEgcm49UmluZ29yIHJ0PTg4NDk1OTM5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ5NTkzOTIKSGFpLAoKQWxzbyBpY2ggdmVybXV0ZSBtYWwsIGRhc3MgZGVyIERPUy1kZWxldGUgbnVyIGRlbiBGQVQKRWludHJhZyBhdWYgZGFzIGZpbGUgbG9lc2NodCwgZGllIERhdGVpIGFiZXIgcGh5c2lrYWxpc2NoCm5vY2ggdm9yaGFuZGVuIGlzdCAoRGVyIFBsYXR6IG5hdHVlcmxpY2ggenVtIHVlYmVyc2NocmVpYmVuCndpZWRlciBmcmVpZ2VnZWJlbiB3aXJkKS4KRXMga2FubiBudW4gc2VpbiwgZGFzcyBlbnR3ZWRlciBkaWUgSW1wbGVtZW50aWVydW5nIGRlcwpNUy1ET1MtRlMgYmVpIExpbnV4IGRhcyBhbmRlcnMgbG9lc3QgKHVuZCBlY2h0IGxvZXNjaHQpLApvZGVyIGRhc3MgZGllIHN5c3RlbWNhbGxzIGRpZSB2ZXJ3ZW5kZXQgd2VyZGVuICh1bmQgZnVlciAKYWxsZSBGUy1UeXBlbiBnZWx0ZW4pIHNvIGVpbmVuIEZhbGwgbmljaHQgdm9yc2VoZW4gdW5kIAppbW1lciBkaWUgRGF0ZW4gYXVjaCBsb2VzY2hlbi4gR2VuYXUgd2Vpc3MgaWNoIGRhcyBsZWlkZXIKbmljaHQuIEluIGRpZXNlbSBGYWxsIGhhZXR0ZXN0IGR1IHdvaGwga2VpbmUgQ2hhbmNlLApkaWUgZWluemlnZSBkaWUgaWNoIHNlaGUsIGlzdCwgZGFzcyBkdSBtaXQgZWluZW0gCkRpc2stTW9uaXRvciBtaXQgZGVtIG1hbiBlaW56ZWxuZSBCbG9lY2tlIGxlc2VuIGthbm4gCnVzdyBhdWYgZGVyIFBsYXR0ZSBuYWNoIGRlciBEYXRlaSBzdWNoc3QsIGhvZXJ0IApzaWNoIGFiZXIgSU1ITyBmdWVyIG5vcm1hbHN0ZXJibGljaGUgZWhlciB1bm1vZWdsaWNoIGFuCgpFdmVudHVlbGwgZ2lidHMgamEgc28gc2NobGF1ZSBEaXNrZG9rdG9yIHRvb2xzIGRpZSBhbGxlCm1vZWdsaWNoZW4gVHJpY2tzIHZlcndlbmRlbiwgYWJlciBpY2gga2VubiBkYSBoYWx0IG5peC4KClZpZWwgRXJmb2xnLCBqZWRlbmZhbGxzLgoKQ2lhbywgCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVbmRlbGV0ZT8gKFJpbmdvciwgMTYuIEphbiAxOTk4LCAxNToyMzoyNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg0OTU5ODUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgpXaWUgbWlyIGJpc2hlciBtZWhyZXJlIExldXRlIGVyemFlaGx0IGhhYmVuLCBsb2VzY2h0IGRhcyBEb3MtRGVsZXRlIG51ciBkYXMKZXJzdGUgWmVpY2hlbiBkZXMgRWludHJhZ3MgaW4gZGVyIEZBVC4gVW5kIGJlaW0gV2llZGVyaGVyc3RlbGxlbiB3aXJkIGRpZXNlcgplcnN0ZSBCdWNoc3RhYmUgZGFubiBnZXJhdGVuIGJ6dy4gYWJnZWZyYWd0LgoKSWNoIHZlcm11dGUgamV0enQgZWluZmFjaCBtYWwsIGRhc3MgTGludXggZGVuIGtvbXBsZXR0ZW4gRWludHJhZyBpbiBkZXIgRkFUCmxvZXNjaHQsIGFiZXIgZGllIGVpZ2VudGxpY2hlbiBEYXRlbiBub2NoIGF1ZiBkZXIgUGxhdHRlIHN0ZWhlbi4gQnp3LiBpY2gKaG9mZmUgZXMgOy0pCgpJY2ggYmluIGRhaGVyIHF1YXNpIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lbSBQcm9ncmFtbSwgZGFzcyBkaWUga29tcGxldHRlClBsYXR0ZSBzY2FubnQgdW5kIGRpZSBGQVQgZWluemVsbiB3aWVkZXIgenVzYW1tZW5iYXN0ZWx0LiBGYWxscyBlcyBzb3dhcyBnaWJ0LgpVbmQgZmFsbHMgZGFzIHVlYmVyaGF1cHQgZ2VodCBuYXR1ZXJsaWNoLiA6LSkKClJpbmdvciwgQmVydWZzb3B0aW1pc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVbmRlbGV0ZT8gKE1pbmdvLCAxNi4gSmFuIDE5OTgsIDE1OjQwOjEzKToKfiMhIHJuPVJpbmdvciBydD04ODQ5NjA2MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCkpvLCBkYXMgcmljaHRpZywgRE9TIGtuYWxsdCBudXIgMjI5IHVlYmVyIGRlbiBlcnN0ZW4gQnVjaHN0YWJlbi4gVW50ZXIKRE9TRSBrYW5uc3QgRHUgamEgbWFsIHZlcnN1Y2hlbiwgbWl0IGRpc2tlZGl0IERlaW5lIERhdGVpIHp1c2FtbWVuLQp6dXN0dWVja2Vsbiwgd2VubiBkYXMgYW5kZXJzIGdlbG9lc2NodCB3YXJkLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVuZGVsZXRlPyAoTmlyZGF2bywgMTYuIEphbiAxOTk4LCAxNTo0MTo0OSk6Cn4jISBybj1SaW5nb3IgcnQ9ODg0OTYwNjA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgogIE5hamEsIHdhcyBkYXMgRE9TLWRlbGV0ZSB0YXRzYWVjaGxpY2ggbWFjaHQsIGlzdCwgZGVuIGVyc3RlbiBCdWNoc3RhYmVuIGRlcgpEYXRlaSBpbSBEaXJlY3RvcnkgZHVyY2ggJEU1IHp1IGVyc2V0emVuICgnZnJlaWVyIERJUi1FaW50cmFnJyksIHNvd2llIGRlbgplcnN0ZW4gQ2x1c3RlciBpbiBkZXIgRkFUIGFscyBmcmVpIHp1IG1hcmtpZXJlbi4gRE9TIHVuZGVsZXRlIHNjaGxpZXNzbGljaApnZWh0IGhpbiwgbGllc3QgYXVzIGRlbSAoYmlzIGF1ZiBkYXMgJEU1KSBrb21wbGV0dGViIGRpci1FaW50cmFnIGRlbiBWZXJ3ZWlzCmF1ZiBkZW4gZXJzdGVuIENsdXN0ZXIgZGVyIERhdGVpIGF1cywgdW5kIHNldHp0IGRhbm4gZGVuIGVyc3RlbiBDbHVzdGVyIGluIGRlcgpGQVQgd2llZGVyIGF1ZiBiZWxlZ3QuIFp1c2FldHpsaWNoIGZyYWd0IGVzIGRhbm4gbm9jaCBuYWNoIGRlbSBrb3JyZWt0ZW4KZXJzdGVuIEJ1Y2hzdGFiZW4gZGVzIE5hbWVucy4gRGFtaXQgaXN0IGRpZSBEYXRlaSBkYW5uIHdpZWRlcmhlcmdlc3RlbGx0LgogIFdlbm4gTGludXggbnVuIGhpbmdlaHQsIGRpZSBnZXNhbXRlIENsdXN0ZXJrZXR0ZSBhdXMgZGVyIEZBVCB6dSBsb2VzY2hlbiwKdW5kIGRlbiBEaXItZWludHJhZyBrb21wbGV0dCBhdWYgJEU1IHNldHp0IChkYXMgd2FlcmUgZGllIGp1bmdmcmFldWxpY2ggClZlcnNpb24pLCBkYW5uIGdpYnQgZXMga2F1bSBlaW5lIENoYW5jZSwgZGFzIEZpbGUgd2llZGVyenViZXNjaGFmZmVuLiBBdWNoCkRpc2stRG9rdG9yZW4gaGFiZW4gZGEgd2VuaWcgYmlzIGdhciBrZWluZSBNb2VnbGljaGtlaXRlbi4KICBXZW5uIGRpZSBQbGF0dGUgdm9yaGVyIGRlZnJhZ21lbnRpZXJ0IHdhciwgZGFubiBrYW5uIG1hbiwgd2VubiBtYW4gZGVuCmVyc3RlbiBDbHVzdGVyIGZpbmRldCwgZWluZSBndWVsdGlnZSBDbHVzdGVya2V0dGUgJ3ZvbiBIYW5kIGJhdWVuJyAoaGFiIGljaAplaW5tYWwgZ2VtYWNodCwgYWJlciBudXIgd2VpbCBlcyBhYnNvbHV0IGVzc2VudGllbGwgd2ljaHRpZyB3YXIuIGhhdCBqYSBhdWNoCm51ciBlaW5lbiBnYW56ZW4gdGFnIGdlZGF1ZXJ0Li4uLiBhdWYgZWluZXIgRGlza2V0dGUhIEJlaSBlaW5lciBQbGF0dGUuLi4gbmEKZGFubiBndXRlIE5hY2h0KQogIEFsbGVzIGluIGFsbGVtIHd1ZXJkZSBpY2ggc2FnZW4sIGRhc3MgRHUgZWhlciBoaW5nZWhlbiBzb2xsdGVzdCwgZGllIERhdGVpCnZvbmlyZ2VuZHdvaGVyIG5ldSB6dSBlcnN0ZWxsZW4gYWxzIGVpbiBzb2xjaGVzIFVuZGVsZXRlIHp1IHZlcnN1Y2hlbi4KCiAgICAgICAgICBOaXJkYXZvLCBoZXV0ZSBtYWwgdGVjaG5pc2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVW5kZWxldGU/IChNaW5nbywgMTYuIEphbiAxOTk4LCAxNjozMTo1Nyk6Cn4jISBybj1OaXJkYXZvIHJ0PTg4NDk2MTcwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ5NTkzOTIKSWNoIG1laW50ZSBlcyBhdWNoIGVoZXIgc286IFdlbm4gZWluIFRleHQsIGRhbm4ga2FubnN0IER1IG1pdCAnbmVtCkRpc2tlZGl0b3IgbWFsIGRpZSBQbGF0dGUgbmFjaCBEaXIgYmVrYW5udGVuIFNlcXVlbnplbiBkdXJjaHN1Y2hlbi4KV2VubiBuaWNodCAtIGRhbm4gbmljaHQgOikKCkdsb2luIC4uLiB3b2xsdGUgamEgbnVyIEhvZmZudW5nIG1hY2hlbiA6LV0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCAvIHlhc3QgKEphbml0emUsIDE2LiBKYW4gMTk5OCwgMTg6MzM6NDIpOgp+IyEgcm49TWFycyBydD04ODQ4ODc1OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0ODg3NTkyCkRhcyBQcm9ibGVtLCB3YXMgRHUgZGEgYmVzY2hyZWlic3QsIGhhdHRlIGljaCBhdWNoIG1hbCBiZWkgZWluZW0KdXBncmFkZSAoNC40IC0+IDUuMCkgaWNoIGhhYiBlaW5mYWNoIGRlbiBLZXJuZWwgbmV1IGNvbXBpbGllcnQsIHVuZApzY2hvbiBsaWVmIGFsbGVzIHdpZWRlciBzYXViZXIgKHNvbGx0ZSBtYW4gZWggbmFjaCBuZW0gVXBncmFkZSBtYWNoZW4pCgpWaWVsIFNwYXNzIHd1ZW5zY2h0IEphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVW5kZWxldGU/IChSaW5nb3IsIDE2LiBKYW4gMTk5OCwgMTk6NTY6MTQpOgp+IyEgcm49TWluZ28gcnQ9ODg0OTY0NzE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgpEYXMgUHJvYmxlbSBoYXQgc2ljaCBlcnN0bWFsIGVybGVkaWd0LiBEZXIgVW5FcmFzZS1Bc3Npc3RlbnQgdm9uCk5vcnRvbi1VdGlsaXRpZXMgZnVlciBXaW45NSBoYXQgendhciBuaWNodCBkaWUganVlbmdzdGVuIEFyY2hpdmUgZ2VmdW5kZW4sCmFiZXIgaW1tZXJoaW4gZWluIGRyZWkgTW9uYXRlIGFsdGVzIEJhY2t1cC1GaWxlLiBVbmQgZGEgZGFzIF92aWVsXyBtZWhyIGlzdAphbHMgZGFzLCB3YXMgaWNoIG5vY2ggdm9yIDI0aCBoYXR0ZSAobmFlbWxpY2ggbml4KSwgYmluIGljaCBwcmluemlwaWVsbAplcnN0bWFsIGdsdWVja2xpY2ggOy0pCgpKYWphLCB3ZW5uIGRpZSBEYXRlbiBlcnN0bWFsIHdlZyBzaW5kLCBkYW5uIG1lcmt0IG1hbiBlcnN0LCB3aWV2aWVsIEFyYmVpdCBpbgplaW5lbSByaWNodGlnIHNjaG9lbiBsYXVmZW5kZW4gTGludXgtU3lzdGVtIHN0ZWNrdC4gQWJlciBqZXR6dCB3ZWlzcyBpY2ggamEsCndpZSBlcyBnZWh0LiBTb2xsdGUgYWxzbyBrZWluIFByb2JsZW0gc2VpbiwgZGllIEFyYmVpdCBkZXIgbGV0enRlbiBkcmVpIE1vbmF0ZQp3aWVkZXJoZXJ6dXN0ZWxsZW4gKmh1c3QqIDopCgpVbmQgZGFtaXQgYW5kZXJlIGF1cyBtZWluZW0gRmVobGVyIGxlcm5lbiBrb2VubmVuOgoKSW5zdGFsbGllcmUgbmllLCBOSUUsICpOIEkgRSogV2luZG93czk1IGF1ZiBlaW5lIFBsYXR0ZSwgYXVmIGRlciBMaW51eCBzY2hvbgpleGlzdGllcnQuIEF1Y2ggbmljaHQsIHdlbm4gTGludXggYXVmIGRlciBlcndlaXRlcnRlbiBQYXJ0aXRpb24gbGllZ3QsIHVuZCBkaWUKcHJpbWFlcmUgUGFydGl0aW9uIHNjaG9uIERvcy1Gb3JtYXQgaGF0LiBXZW5uIHVlYmVyaGF1cHQsIGRhbm4gbnVyIG1pdCBlaW5lbQpha3R1ZWxsZW4gQmFja3VwIGRlciBMaW51eC1QYXJ0aXRpb24gKnNldWZ6Ki4KClJpbmdvci4gSGF0IExlaHJnZWxkIGJlemFobHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBVbmRlbGV0ZT8gKEdyaW1tYm9ybiwgMTcuIEphbiAxOTk4LCAyMzowNTowNSk6Cn4jISBybj1SaW5nb3IgcnQ9ODg0OTc2OTc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgpBZWgsIHdvIGlzdCBkZXIgWnVzYW1tZW5oYW5nIG1pdCBkZW0gUHJvYmxlbSAoRkFUMTYtRGF0ZWkgdW50ZXIgTGludXgKZ2Vsb2VzY2h0KT8gT2RlciBtZWluc3QgRHUsIER1IHdhcm5zdCBkYXZvciwgRE9TMTYtUGFydGl0aW9uZW4gdW50ZXIgTGludXggenUKbW91bnRlbj8gRGVtIGtvZW5udGUgbWFuIGR1cmNoIFJlY2h0ZXZlcmdhYmUgdmllbGxlaWNodCBldHdhcyBiZWlrb21tZW4sIHdlbm4KbWFuIHVudGVyIHJvb3QgYXVzIFZlcnNlaGVuIE1pc3QgYmF1dCwgaXN0IG1hbiBzZWxiZXIgc2NodWxkLCBmdWVycyBBcmJlaXRlbgpnaWJ0cyBzY2hsaWVzc2xpY2ggdXNlci1hY2NvdW50cy4KCk5lYmVuYmVpLCB3ZWlzcyBqZW1hbmQsIHdhcnVtIGVzIGtlaW4gbWtmcyAtdCBtc2RvcyBnaWJ0PyBIYXQgTVMgYXVmIGRpZXNlcwpEb3JtYXQgc293YXMgd2llIGVpbiBQYXRlbnQ/IEplZGVuZmFsbHMgaGFiIGljaHMgbmljaHQgZ2VzY2hhZmZ0LCB1bnRlciBMaW51eApiZWlzcGllbHN3ZWlzZSBlaW5lIERpc2tldHRlIG1pdCBkZW0gRE9TMTYgenUgZm9ybWF0aWVyZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVuZGVsZXRlPyAoQXZhbG9uLCAxOC4gSmFuIDE5OTgsIDAwOjQ1OjAzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODUwNzQ3MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCmJlaSBkZW4gbXRvb2xzIGlzdCBlaW4gbWZvcm1hdCBkYWJlaS4KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVuZGVsZXRlPyAoUmluZ29yLCAxOC4gSmFuIDE5OTgsIDAyOjA3OjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODUwNzQ3MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCkRlciBadXNhbW1lbmhhbmcgaXN0IGdhbnogZWluZmFjaDogd2VubiBXaW45NSBuaWNodCBhdWYgZGllIElkZWUgZ2Vrb21tZW4Kd2FlcmUsIG1pciBlaW5mYWNoIG1laW4ga29tcGxldHRlcyBMaW51eCB6dSB1ZWJlcnNjaHJlaWJlbiwgaGFldHRlIGljaCBkaWUKbGFuZ2UgZ2Vsb2VzY2h0ZW4gYWx0ZW4gQmFja3VwcyBhdWYgZGVyIERPUy1GQVQxNi1QbGF0dGUgbmllIGdlYnJhdWNodCA7LSkKCkRhaGVyIGRpZSBFcmtlbm50bmlzOiBXaW45NSBiZXNzZXIgZ2FyIG5pY2h0IGluc3RhbGxpZXJlbiwgd2VubiBtYW4gTGludXggaGF0LApvZGVyIC0gd2VubiBlcyB1bmJlZGluZ3Qgc2VpbiBtdXNzIC0gbnVyIG1pdCBha3R1ZWxsZW0gQmFja3VwLiBEYW5uIGhhdCBtYW4KZGllIEFyYmVpdCBtaXQgZGVtIFdpZWRlcmhlcnN0ZWxsZW4gYWx0ZXIgQmFja3VwcyBuaWNodC4gCgpadSBta2ZzIC1tc2RvczogZXMgZ2lidCBlaW4gbWtkb3Nmcy4gTGFnIG1laW5lIGljaCBpcmdlbmR3YW5uIHNvZ2FyIG1hbCBiZWkKU3VzZSBkYWJlaSwgYmVpIGRlciA1LjEgZmluZGUgaWNoIGVzIGFiZXIgbmljaHQgbWVoci4gSXN0IGltIE5ldHogYWJlciBub2NoIHp1CmhhYmVuLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBVbmRlbGV0ZT8gKFN1c2hpLCAxOC4gSmFuIDE5OTgsIDE2OjAzOjQ4KToKfiMhIHJuPVJpbmdvciBydD04ODUwODU2NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyClJpbmdvciBzY2hyaWViOgo+RGVyIFp1c2FtbWVuaGFuZyBpc3QgZ2FueiBlaW5mYWNoOiB3ZW5uIFdpbjk1IG5pY2h0IGF1ZiBkaWUgSWRlZSBnZWtvbW1lbgo+d2FlcmUsIG1pciBlaW5mYWNoIG1laW4ga29tcGxldHRlcyBMaW51eCB6dSB1ZWJlcnNjaHJlaWJlbiwgaGFldHRlIGljaCBkaWUKPmxhbmdlIGdlbG9lc2NodGVuIGFsdGVuIEJhY2t1cHMgYXVmIGRlciBET1MtRkFUMTYtUGxhdHRlIG5pZSBnZWJyYXVjaHQgOy0pCgpTZWl0IHdhbm4gdWViZXJzY2hyZWlidCBEb3MgZXh0MmZzIFBhcnRpdGlvbmVuPyBPZGVyIG1laW5zdCBEdSBkZW4gTUJSPyBEZW4Ka2FubiBtYW4gYmVxdWVtIG1pdCBmZGlzayBleG9yemllcmVuLiBmZGlzayBpc3QgYXVjaCBndXQgZ2VnZW4gV2luOTUgdW5kCldpbk5ULgoKU3VzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwZWljaGVybWFuYWdtZW50IChNaW5nbywgMTguIEphbiAxOTk4LCAxNjoxODoxOCk6Ckh1ZWxmZSwgaHVlbGZlLCBtZWluIFdpbmRvb2YgOTUgc2NobHVja3QgcnVtLiBOaWNodCBkYXMgaWNoIGVzIG5pY2h0Cmdld29laG50IHNlaSwgYWJlciBkYXMgQmVsZWdlbiB2b24gMTEgTWJ5dGUgYWxsZWluIGJlaW0gU3RhcnQga29tbXQKbWlyIHNwYW5pc2NoIHZvci4gRmFsbGVuIGplbWFuZGVtIGVpbiBwYWFyIERpbmdlIGVpbiwgZGllIGF1cyBSZWdpc3RyeQpyYXVzIGtvZW5udGVuLCB1bSBkYXMgenUgYmVoZWJlbj8KClBTOiBKYSwgQ2FjaGUsIFN0ZC1UcmVpYmVyLCBET1MtVHJlaWJlciBzaW5kIHNjaG9uIG1pbmltaWVydC4KCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaWxvIGF1ZiBkZXIgZmFsc2NoZW4gUGFydGl0aW9uLi4uIChGeXQsIDE4LiBKYW4gMTk5OCwgMTg6MTM6MzUpOgoKSWNoIGhhYidzIGdlc2NoYWZmdCwgbWVpbmVuIExJTE8gYXVmIC9kZXYvaGRhMSBzdGF0dCBhdWYgL2Rldi9oZGEzIHp1IAonaW5zdGFsbGllcmVuJy4gTGV0enRlcmVzIGlzdCBkaWUgTGludXgtUm9vdHBhcnRpdGlvbiwgZXJzdGVyZXMgCmR1bW1lcndlaXNlIGVpbmUgRE9TLVBhcnRpdGlvbiwgYXVmIGRlciAqZWlnZW50bGljaCogVzk1IHdhci4KCkdpYnQgZXMgaXJnZW5kZWluZSBNb2VnbGljaGtlaXQsIGRpZSBQYXJ0aXRpb24gd2llZGVyIHNvIGhlcnp1c3RlbGxlbiwKZGFzcyBkaWUgRGF0ZW4gZXJoYWx0ZW4gYmxlaWJlbj8KCkZ5dC4KClBTOiBEYSB3aXIgZ2VyZGFlIGJlaSBkZW0gRWxlbmQgc2luZDogSWNoIGhhYiB6d2lzY2hlbnplaXRsaWNoIGRpZSAKKGxlZXJlKSBET1MtUGFydGl0aW9uIGF1ZiAvZGV2L2hkYTIgbWl0IGRlbSBMaW51eCBmZGlzayBnZWxvZXNjaHQsIApkYW5hY2ggYWJlciB3aWVkZXIgYW5nZWxlZ3QuIE51ciBpc3QgZGFzIERPUyBqZXR6dCBkZXIgTWVpbnVuZywgZGFzcwpkb3J0IGdhciBuaXggd2FlcmUsIGluc2Jlc29uZGVyZSBhdWNoIG5peCwgd2FzIG1hbiBtaXQgJ2Zvcm1hdCcgYmVhcmJlaXRlbgprb2VubnRlLiBJY2ggd2VyZCAod2VubiBpY2ggd2llZGVyIG1hbCBhbiBkZW0gUmVjaG5lciwgdW0gZGVuIGVzIGdlaHQsCnNlaW4gc29sbHRlKSBkYXMgbWZvcm1hdCBhdXMgZGVuIG10b29scyBhdXNwcm9iaWVyZW4gKGRhbmtlIFdvb2R5IDstKSksCmFiZXIgZmFsbHMgamVtYW5kIGVpbmVuIGFuZGVyZW4vYmVzc2VyZW4gVm9yc2NobGFnIGhhdCwgYmluIGljaCBnYW56IE9oci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG50K2xpbnV4IChDaGVhc3ksIDE4LiBKYW4gMTk5OCwgMTg6Mjc6NDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NDY5NjUxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ2MjU5NjMKR3JpbW1ib3JuLAoKRnJlZUJTRSBoYXQgZWluIENvbW1pdHRlci1UZWFtLiBEYXMgaXN0IGVpbiBrbGVpbmVzIGdydWVwcGNoZW4sIGRhcwpFbnR3aWNrbHVuZ2VuIGFic2VnbmV0LiBEdSBrYW5uc3QgZ2VuYXUgc28gd2VpdCB2b3JuZSBhbiBkZXIgRW50d2lja2xlcmZyb250CnJlaXRlbiB3aWUgdW50ZXIgTGludXggLS0gbnVyIGRhbm4gaGFsdCBuaWNodCAnY29tbWl0dGV0IiB1bmQgbWl0CnZlcmdsZWljaGJhcmVyIHN0YWJpbGl0YWV0IHdpZSBMaW51eC4gTWl0IENvbW1pdHRldGVyIFNvZnR3YXJlIGhhc3QgZHUgZGFnZW4KZWluZmFjaCBrZWluZSBDcmFzaGVzIG1laHIgYXVmIGRlbSBIb21lbXVkIC0tIGtlaW5lLCByaWVuLCBuYWRhLgotQ2hlYXN5Ci4uLmhhdCBzaWNoIHVlYmVyIGRpZSB0YXVzZW5kIHZlcnNpb25lbiB2b24gTGludXggc2Nob24gb2VmdGVyIHNjaHdhcnoKZ2VhZXJnZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogbnQrbGludXggKE1hcmN1cywgMTguIEphbiAxOTk4LCAxODozMjoyMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg0Njk2NTE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpGdWVyIGV4dGVuc2l2ZSBGcmVlQlNEIHZzIExpbnV4IGNvbXBhcmlzb25zLCBzaWVoZSBjb21wLm9zLmZyZWVic2QubWlzYwosY29tcC5vcy5saW51eC5taXNjLCBnbnUubWlzYy5kaXNjdXNzLgoKVW5kIHNpZWhlIGF1Y2ggIlRoZSBjYXRoZWRyYWwgYW5kIHRoZSBCYXphYXIiCjxVUkw6aHR0cDovL3d3dy5jY2lsLm9yZy9+ZXNyL3dyaXRpbmdzL2NhdGhlZHJhbC5odG1sPgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGlsbyBhdWYgZGVyIGZhbHNjaGVuIFBhcnRpdGlvbi4uLiAoR3JpbW1ib3JuLCAxOC4gSmFuIDE5OTgsIDE4OjU2OjIzKToKfiMhIHJuPUZ5dCBydD04ODUxNDM2MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1MTQzNjE1CkhtbSwgaWNoIGJpbiBhbGxlcyBhbmRlcmUgYWxzIGVpbiBmcy1FeHBlcnRlLCBhYmVyIHdlbm4gc2ljaCBMSUxPIGdsZWljaCBhdWYKZGllIGVyc3RlbiBieXRlcyBkZXIgUGFydGl0aW9uIGdlc2NocmllYmVuIGhhdCwgYWxzbyBhdWYgZGllLCBhdWYgZGVuZW4gZGllCkZBVCBzaXR6dCAoZGllIHNhc3MgZG9jaCBkYT8pLCBkYW5uIHdhcnMgZGFzLiBWb2xsc3RhZW5kaWcuIEFsbGVzIHdhcyBEaXIKYmxpZWJlIHdhZXJlIGVpbiBpbWFnZSBkZXIgUGxhdHRlLCBkLmguIER1IGthbm5zdCBkaWUgUGxhdHRlIGJ5dGUgZnVlciBieXRlCmF1c2xlc2VuLCB3ZW5uIER1IFNwYXNzIGRyYW4gaGFzdC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogbnQrbGludXggKEdyaW1tYm9ybiwgMTguIEphbiAxOTk4LCAxOTowMzoyOSk6Cn4jISBybj1DaGVhc3kgcnQ9ODg1MTQ0NDY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDYyNTk2MwpJY2ggaG9lcmUgaW1tZXIgIlRhdXNlbmQgVmVyc2lvbmVuIiwgbWlyIGlzdCBuaWNodCBnYW56IGtsYXIsIHdhcyBkYW1pdApnZW1laW50IGlzdC4gTGludXggS2VybmVsLVZlcnNpb25lbiBoYXQgZXMgYmlzaGVyIG51ciBkcmVpIGdlZ2ViZW46IERpZSAwLCBkaWUKMSB1bmQgamV0enQgZGllIDIuIERhbmViZW4gaGF0IGVzIHJlbGVhc2VzIGdlZ2ViZW4sIHZpZWxsZWljaHQgaW0gU2Nobml0dCBzbwp2aWVsbGVpY2h0IGplZGVzIEphaHIgKGFrdHVlbGwgaXN0IDIuMCwgc2VpdCBlaW5lbSBKYWhyKS4gRGFubiBnaWJ0IGVzCnBhdGNoLWxldmVsLCBkZXIgYWt0dWVsbGUgZnVlciBkaWUgYWt0dWVsbGUgcmVsZWFzZSBpc3QgMzIgKGFsc28ga2VybmVsCjIuMC4zMikuIE1hbiBrYW5uIHNhZ2VuOiBEaWUgVmVyc2lvbiBnaWJ0IEF1c2t1bmZ0IHVlYmVyIGRlbiBncm9iZW4gU3RhbmQgZGVyCkVudHdpY2tsdW5nLiBEaWUgcmVsZWFzZXMgc2luZCBkYW5uIGdyb2Vzc2VyZSB0ZWNobmlzY2hlIE5ldWlna2VpdGVuLCB1bmQgZGllCnBhdGNoLWxldmVsIHNpbmQgVmVyYmVzc2VydW5nZW4sIGtsZWluZXJlIFJlcGFyYXR1cmVuLCBTdG9wZmVuIHZvbgpTaWNoZXJoZWl0c2x1ZWNrZW4uLi4KQW4gd2VsY2hlbSBkaWVzZXIgUHVua3RlIGhhZXR0ZXN0IER1IGdlcm5lIGVpbmUgVmVybGFuZ3NhbXVuZyBkZXMgVGVtcG9zPyBBdWYKc28gZWluZW0gc2ljaCBzY2huZWxsIGVudHdpY2tlbG5kZW4gR2ViaWV0IHdpZSBkaWVzZW0gaGFiZSBpY2ggbmljaHRzIGRhZ2VnZW4sCndlbm4gZGllIEVudHdpY2tsZXIgVmVyYmVzc2VydW5nZW4gYW4gbWljaCB3ZWl0ZXJyZWljaGVuLCBhbnN0YXR0IHNpZSBlcnN0bWFsCmVpbiBKYWhyIGF1Znp1aGViZW4gKHVuZCBtaXIgZGllIGRhbWl0IGV2ZW50dWVsbCB2b3JoYW5kZW5lbiBWb3J0ZWlsZQp2b3J6dWVudGhhbHRlbikgdW5kIGRhbm5uIGltIFN0aWwgZWlubmVzICdzZXJ2aWNlIHBhY2tzJyBhbiBtaWNoCndlaXRlcnp1Z2ViZW4uLi4KClp1ciBNYXJjdXM6IEVpbiBBcnRpa2VsIGdsZWljaGVuIFRpdGVscyAodW5kIHZlcm11dGxpY2ggYXVjaCBhZWhubGljaGVuCkluaGFsdHMpIHN0ZWh0IGF1Y2ggaW0gZGV1dHNzY2hlbiBMaW51eC1NYWdhemluLCBzbyBFbmRlIGxldHp0ZW4gSmFocmVzCmlyZ2VuZHdhbm4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgaXN0IGZ1ZXIgZGllIEJhc2FyaGFlbmRsZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBudCtsaW51eCAoR3JpbW1ib3JuLCAxOC4gSmFuIDE5OTgsIDE5OjA0OjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODUxNDY2MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzCkJsb2VkZSBVbmtvbnplbnRyaWVydGhlaXQuIERlciBrZXJuZWwgMi4wIGlzdCBzZWl0IGVpbmVpbmhhbGIgSmFocmVuIGFrdHVlbGwsCm5pY2h0IHNlaXQgZWluZW0uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IG50K2xpbnV4IChHcmltbWJvcm4sIDE4LiBKYW4gMTk5OCwgMTk6MTA6MDgpOgp+IyEgcm49Q2hlYXN5IHJ0PTg4NTE0NDQ2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ2MjU5NjMKQWNoIHNvLCB1bmQgd2VubiBEdSBhbiBlaW4gd2lya2xpY2ggc3RhYmlsZXMsIG5pY2h0IHp1bSBBYnN0dXJ6IHp1IGJyaW5nZW5kZXMKTkJldHJpZWJzc3lzdGVtIGdsYXVic3QsIGRhcyBtb2VnbGljaGVyd2Vpc2UgYXVjaCBub2NoIHNpY2hlciBpc3QgZ2VnZW4KQW5ncmlmZmUgdm9uIGF1c3Nlbiwgc29sbHRlc3QgRHUgRGljaCBuaWNodCBtaXQgenUgdmllbGVuIExldXRlbiB1bnRlcmhhbHRlbi4KRGllIGtvZW5udGVuIHNvbnN0IG5vY2ggc28gZ3JhdXNhbSBzZWluIHp1IGJlaGF1cHRlbiwgZGVuIFdlaWhuYWNodHNtYW5uIGdhZWJlCmVzIGF1Y2ggbmljaHQuLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IG50K2xpbnV4IChNYXJjdXMsIDE4LiBKYW4gMTk5OCwgMTk6MTI6MTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NTE0NzAwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ2MjU5NjMKVGphLCBkdSBoYXN0IHZlcmdlc3NlbiwgZGFzIGVzIGRlbiBPc3Rlcmhhc2VuIGF1Y2ggbmljaHQgZ2lidC4KClVuZCBqZWRlcyBTeXN0ZW0gaXN0IHNpY2hlci4gTmFjaCBkZXIgdm9sbHN0YWVuZGlnZW4gWmVybGVndW5nIGluIGVpbnplbG5lCkF0b21lIHVuZCBkZW0gVmVyc3RyZXVlbiBkaWVzZXIgdWViZXIgYXVzcmVpY2hlbmQgZ3Jvc3NlIEdlYmlldGUgKEdhbGF4aWUKQ2x1c3RlcikKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbG8gYXVmIGRlciBmYWxzY2hlbiBQYXJ0aXRpb24uLi4gKEhhZHJhLCAxOS4gSmFuIDE5OTgsIDAxOjM5OjUzKToKfiMhIHJuPUZ5dCBydD04ODUxNDM2MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1MTQzNjE1CmR1IGtvZW5udGVzdCB2ZXJzdWNoZW4gZGlyIChldnRsLiBhdWYgZWluZW0gYW5kZXJlbiByZWNobmVyKSBlaW5lIHdpbjk1Cm5vdGRpc2tldHRlIHp1IG1hY2hlbiB1bmQgZXMgZGFubiBtYWwgbWl0IHN5cyBjOiB2ZXJzdWNoZW4uCnp1bSB0aGVtYSBkb3MtcGFydGl0aW9uZW4gbWl0IGxpbnV4IGZkc2lrIGFubGVnZW4sIGhhZWx0IGRpZSBmZGlzayBtYW5wYWdlCmVpbmVuIGFic2Nobml0dCBtaXQgZGVyIGJlemVpY2hudW5nIERPUyA2LnggV0FSTklORyBiZXJlaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVuZGVsZXRlPyAoQ2F0d2VhemxlLCAxOS4gSmFuIDE5OTgsIDA5OjI1OjAxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODUwNzQ3MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCk1vaW4hCidtZm9ybWF0JyBlcmxlZGlndCBlaW4gTVMtRE9TLURpc2tldHRlbi1Gb3JtYXQgZ2FueiBoZXJ2b3JyYWdlbmQuIFVuZCB1bSAKa29ycmVrdCB6dSBibGVpYmVuOiBTT3dlaXQgaWNoIHdlaXNzLCBpc3QgZGFzIERpc2tldHRlbmZvcm1hdCBGQVQxMi4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGlsbyBhdWYgZGVyIGZhbHNjaGVuIFBhcnRpdGlvbi4uLiAoQ2F0d2VhemxlLCAxOS4gSmFuIDE5OTgsIDA5OjQ2OjM0KToKfiMhIHJuPUZ5dCBydD04ODUxNDM2MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1MTQzNjE1CkhtLCB0aGVvcmV0aXNjaCBiZXN0ZWh0IGRpZSBNb2VnbGljaGtlaXQgbWl0IExpbG8gZWluZW4gbmV1ZW4gQm9vdHNla3RvcgppbiBkZWluZSBET1MtUGxhdHRlIHp1IHNjaHJlaWJlbiwgbWl0ICdsaWxvIC1pIDxCUy1maWxlPicuIERpZSBzdGVoZW4gCmZ1ZXIgZ2V3b2VobmxpY2ggaW4gL2Jvb3QuIFNjaGF1IGRhIGRvY2ggbWFsIG5hY2gsIG9iIGxpbG8gbmljaHQgdmllbGxlaWNodApzb2dhciBkYXMgT3JpZ2luYWwgd2VnZ2VzcGVpY2hlcnQgaGF0LCBkYW5uIGthbm5zdGVzIHdpZWRlciBlaW5zcGllbGVuLgpBRkFJSyBnaWJ0IGVzIGF1Y2ggZWluZW4gZGVmYXVsdC1ET1MtQm9vdHNla3RvciwgZGVyIGtvZW5udGUgZGlyIGV2dGwuCmhlbGZlbiwgc2NoYXUgZG9jaCBtYWwgaW4gZWluIExJTE8tSE9XVE8sIGljaCBoYWIgenVtaW5kZXN0IGpldHp0IGF1ZiBkaWUKU2NobmVsbGUgbml4IGdlZnVuZGVuLiAKQWJlciBhbGxlcyBvaG5lIEdld2FlaHIgOikKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBVbmRlbGV0ZT8gKFJpbmdvciwgMTkuIEphbiAxOTk4LCAxNTozMzoyNyk6Cn4jISBybj1TdXNoaSBydD04ODUxMzU4Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCkRlbiBVbnRlcnNjaGllZCB6d2lzY2hlbiBNQlIgd2VnIHVuZCBMaW51eCBrb21wbGV0dCB1ZWJlcnNjaHJpZWJlbiBrZW5uZSBpY2gKc2Nob24sIGRhbmtlIDotKQoKTmFjaCBkZXIgSW5zdGFsbGF0aW9uIHZvbiBXaW45NSBhdWYgZGVyIHByaW1hZXJlbiBzY2hvbiBET1MtRm9ydG1hdGllcnRlbgpQYXJ0aXRpb24gKHNvIHdhcnMgenVtaW5kZXN0IGdlZGFjaHQpIGdhYiBlcyBhdWNoIG51ciBub2NoIGVpbmUgcHJpbWFlcmUKUGFydGl0aW9uIG1pdCBXaW45NS4gRGllIGVyd2VpdGVydGUgUGFydGl0aW9uIG1pdCBkZW4gTGludXgtRGF0ZW4gd2FyIHdlZy4KCk5hY2hkZW0gbWlyIGRhcyBwYXNzaWVydCB3YXIsIGhhYiBpY2ggdm9uIHZpZWxlbiBuZXR0ZW4gTGV1dGVuIGdlaG9lcnQsIGRhc3MKZGFzIGphIHNvb28gYmVrYW5udCBzZWksIGRhc3MgV2luOTUgZGFzIG1hY2h0LiBOdXIgdm9yaGVyIGVyemFlaGx0IGVpbmVtIHNvd2FzCm5hdHVlcmxpY2gga2VpbmVyIC4uLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbG8gYXVmIGRlciBmYWxzY2hlbiBQYXJ0aXRpb24uLi4gKEZ5dCwgMTkuIEphbiAxOTk4LCAxOTo1NjoyNSk6Cn4jISBybj1IYWRyYSBydD04ODUxNzAzOTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1MTQzNjE1CgpEaWUgV2FybnVuZyBoYWIgaWNoIGdlbHNlbiB1bmQgYXVjaCBkZCBhbmdld29yZmVuLiBFcyB0dXQncyB0cm90emRlbQpuaWNodC4gSWNoIGhhYiBtaXIgaGV1dGUgYWxsZSBtaXQgZGVtIERpc2tlZGl0IGF1cyBkZW4gbm9ydG9uIFV0aWxpdGllcyAKYW5nZWd1Y2t0LCBlcyBzaWVodCBhdXMgYWxzIHdhZXJlIGVzIGVpbmUgdm9lbGxpZyBub3JtYWxlIFBhcnRpdGlvbiBtaXQKZGVyIGFsbGVzIGluIE9yZG51bmcgaXN0ICp6dWNrKi4KCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBVbmRlbGV0ZT8gKEZ5dCwgMTkuIEphbiAxOTk4LCAxOTo1Njo1OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg1MTk4MzAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgoKbWZvcm1hdCBmb3JtYXRpZXJ0IG51ciBEaXNrZXR0ZW4uIFp1bWluZGVzdCBuYmVoYXVwdGV0IGRhcyBtZWlucy4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBVbmRlbGV0ZT8gKEhhdGUsIDE5LiBKYW4gMTk5OCwgMjE6MzM6MTIpOgp+IyEgcm49UmluZ29yIHJ0PTg4NTIyMDQwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODQ5NTkzOTIKSWNoIG11c3MgbWFsIGZ1ZXIgUmluZ29yIGVpbnNwcmluZ2VuLgpXYWhyc2NoZWlubGljaCBoYXQgZXIgZWluZSBkZXIgVmVyc2lvbmVuIHZvbiBXaW5kb3dzLCBkaWUgbWl0dGVscyBmZGlzawphdWNoIGRpZSBQYXJ0aXRpb24gZWlucmljaHRlbiAoa2VpbmUgVXBkYXRlIHZlcnNpb24sIGRpZSBhdWYgbmUgYWx0ZSBET1MKZHJhdWZrb21tdCkuIFVuZCBkYXMgZmRpc2sga3JhbGx0IHNpY2ggZGFubiBkaWUgZ2VzYW10ZSBQbGF0dGUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogbnQrbGludXggKFJhZmZpLCAxOS4gSmFuIDE5OTgsIDIyOjA3OjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODUxNDcwMDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzClVuZCB3ZW5uIGljaCBqZXR6dCBCUyAyMDAwIHNhZ2UgPwoKRGFzIHdhcyBtYW5uIFZlcmlvbiBiZWkgZWluZXIgU29mdHdhcmUgTmVubnQgaXN0IEdlc2NobWFja3NzYWNoZSAtIGRhbm4KaGVpc3N0cyBoYWx0IFBhdGNobGV2ZWwgLSBmdWVyIG1pY2ggaXN0cyBqZWRlc21hbCBlaW5lIFZlcnNpb24gd2VubiBpY2ggbmUKbmV1ZSBWZXJpb24gKHNpYykgYXVmIGRlbiBUaXNjaCBiZWtvbW1lIC4uLiBvYiBtYW5zIFBhdGNobGV2ZWwsClN1cGVyZHVwZXJ2ZXJiZXNzZXJ1bmcgb2RlciBzb25zdHdpZSBuZW5udC4KCkdydXNzCkguCgpQLlMuOiBDUC9NIGlzdCBiZWkgbWlyIGF1Y2ggcHJha3Rpc2NoIG5pZSBhYmdlc3R1ZXJ0enQgLi4gdW5kIGVpbmdlaGFja3QgaGF0CnNpY2ggYXVjaCBrZWluZXIgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVW5kZWxldGU/IChUcmFuY2VmZWFyLCAyMC4gSmFuIDE5OTgsIDAwOjE0OjA0KToKfiMhIHJuPVJpbmdvciBydD04ODUyMjA0MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCk5hY2ggbWVpbmVyIEVyZmFocnVuZyBmcmFndCBXaW45NSBhYmVyIGV4dHJhIG5vY2htYWwgbmFjaCAiRXJ3ZWl0ZXJ0ZQpQYXJ0aXRpb24gbWl0IE11ZWxsIGRyYXVmIGdlZnVuZGVuLiBTb2xsIGZ1ZXIgV2luIGJlbnV0enQgd2VyZGVuPyIgKG9kZXIgc28pLgpXZW5uIGR1IGRhIG5pY2h0IGltIFRyYW4gd2llIGltbWVyIG51ciBhdWYgPGphPiBrbGlja3N0LCBibGVpYnQgZGllIFBhcnRpdGlvbgplcmhhbHRlbi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVW5kZWxldGU/IChHcmltbWJvcm4sIDIwLiBKYW4gMTk5OCwgMDA6MjA6MzgpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODUyNTE2NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyClNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSBiZXJ1aHQgZWluZSBzb2xjaGUgSW5zdGFsbGF0aW9uIGltIHdlc2VudGxpY2hlbgpkYXJhdWYsIGltIFRyYW4gaW1tZXIgd2llZGVyIGF1ZiA8amE+IHp1IGtsaWNrZW4sIHVudGVyYnJvY2hlbiB2b24gZWluZW0KdW50ZXJoYWx0c2FtZW4gcmVib290IHp3aXNjaGVuZHVyY2ggKGRhbWl0IGF1Y2ggamVkZXIgbWFsIGZ1ZXIga2xlaW5lCkluc3RhbGxpZXJlciBrYW5uKS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogbnQrbGludXggKEdyaW1tYm9ybiwgMjAuIEphbiAxOTk4LCAwMDoyNTo1NSk6Cn4jISBybj1SYWZmaSBydD04ODUyNDQwNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0NjI1OTYzClZlcnNpb24gaXN0IGRhcywgd28gaWNoIGRpZSBrb21wbGV0dGVuIHNvdXJjZW4gZnVlciBicmF1Y2hlLCBhbnNvbnN0ZW4gdHV0cwphdWNoIGVpbiBwYXRjaC4gOy0pCkFiZXIgbm9jaG1hbDogQWt6ZXB0aWVyZW4gd2lyLCBkYXMgYWxsZSBTeXN0ZW1lIHZlcmJlc3NlcnVuZ3NmYWVoaWcgc2luZC4gVW5kCmRhbm4gaXN0IG1pciBkb2NoIGRpZSBNb2VnbGljaGtlaXQgZGVyIHZpZWxlbiwga2xlaW5lbiBWZXJiZXNzZXJ1bmdlbiBsaWViZXIsCmFscyB3ZW5uIHNpZSBnZXNhbW1lbHQgdW5kIG1pciBkYW5uIGplZGVzIEphaHIgYXVmIGVpbm1hbCB6dWdhZW5nbGljaCBnZW1hY2h0CndlcmRlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBoYXQgaXJnZW5kd28gd29obCBub2NoIGVpbmVuIFpYIFNwZWt0cnVtLCBkYSBoYXQgc2ljaAphdWNoIG5pZSBqZW1hbmQgZWluZ2VoYWNrdC4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogVW5kZWxldGU/IChBdmFsb24sIDIwLiBKYW4gMTk5OCwgMDE6NTg6MzQpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODUyNTE2NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg0OTU5MzkyCkhpaGksIHByYWt0aXNjaCwgZGFzIGtsaW5ndCBzbyBhbHMgb2IgV2luOTUgZmFzdCBzY2hvbiBleHBsaXppdApuYWNoIE11ZWxsIHN1Y2h0LiBWZXJtdXRsaWNoIHZlcnN1Y2h0IGRpZSBpbnRlbGxpZ2VudGUgSW5zdGFsbC0Kcm91dGluZSwgc2ljaCBzbyByZWR1bmRhbnRlIFRlaWxlIGRlciBJbnN0YWxsYXRpb24genUgc3BhcmVuLgoKYXZhLi0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi5mb3J3YXJkIChSaWt1cywgMjAuIEphbiAxOTk4LCAwOTo1ODowNSk6CkhpLAppY2ggaGFiZSAyIEVtYWlsYWRyZXNzZW4sIHJlaXR6QGEuYi5jIHVuZCByZWl0ekBjLmQuZS4gVm9uIGEuYi5jCmZvcndhcmRlIGljaCBtZWluZSBNYWlsIG5hY2ggYy5kLmUgcGVyIC5mb3J3YXJkLWZpbGUgZHVyY2ggZGVuCkVpbnRyYWcgXHJlaXR6LCByZWl0ekBjLmQuZQpOdW4gbW9lY2h0ZSBpY2ggYXVjaCBkaWUgYW5kZXJlIFJpY2h0dW5nIG5vY2ggaGFiZW4sIGFiZXIgYmVpbQpNYWlsc3lzdGVtIGMuZC5lIGdlaHQgZGFzIHByaW56aXAgbWl0IGRlbSBcIG5pY2h0LiBHZWh0IGVzCmlyZ2VuZHdpZSBhbmRlcnMgenUgbG9lc2VuPwoKZGFua2UsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXF1ZXJhZGluZyB1bnRlciBXaW5OVCAoUmlrdXMsIDIwLiBKYW4gMTk5OCwgMTA6MDI6MjEpOgpVbnRlciBsaW51eCBoYWJlIGljaCBtZWluIGxva2FsZXMgTmV0eiAoRXRoZXJuZXQpIHBlciBJU0ROIChUZWxlczE2LjNwbnApCmFtIFVuaW5ldHogaGFlbmdlbi4gRGFzIGdlaHQgZ3V0IHBlciBJUC1NYXF1ZXJhZGluZyBldGMuCkdlaHQgZXMgYXVjaCB1bnRlciBXaW5OVD8gSWNoIG1laW5lLCBkYXNzIGRlciBSZWNobmVyIG1pdCBkZXIgSURTTi0KS2FydGUgdW50ZXIgV2luTlQgbGFldWZ0IHVuZCBkaWUgYW5kZXJlbiBsb2thbGVuIFJlY2huZXIgYW4gaWhtLAp3ZWxjaGUgcGVyIEV0aGVybmV0IGRyYW5oYWVuZ2VuLCBhdWNoIGRpcmVrdCBkaWVzZSBJU0ROLVZlcmJpbmR1bmcKbWl0bnV0emVuIGtvZW5uZW4gdW5kIG1pdCBkZXIgSVAgZGVzIElTRE4tUmVjaG5lcnMgc2ljaHRiYXIgc2luZCwKaWhyZSBsb2thbGUgSVAgYWxzbyB2ZXJiZXJnZW4/CgpEYW5rZSwgUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYXF1ZXJhZGluZyB1bnRlciBXaW5OVCAoSGFkcmEsIDIwLiBKYW4gMTk5OCwgMTA6MDU6MDgpOgp+IyEgcm49UmlrdXMgcnQ9ODg1Mjg2OTQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTI4Njk0MQpkdSBrb2VubnRlc3QgbWFsIG5hY2hzZWhlbiBvYiB3aW5nYXRlIGF1Y2ggdW50ZXIgbnQgbGFldWZ0LiBpY2gga2VubmUgZXMgbnVyCmZ1ZXIgOTUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLmZvcndhcmQgKEdyaW1tYm9ybiwgMjAuIEphbiAxOTk4LCAxMDozMDo0OCk6Cn4jISBybj1SaWt1cyBydD04ODUyODY2ODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1Mjg2Njg1CkhtbSwgd2FzIG1hY2h0IGRlbm4gZGVyIFw/IER1IHdpbGxzdCBlaW4gd2VpdGVya29waWVyZW4gaGFiZW4sIG5pY2h0IGVpbgp2b2xsc3RhZW5kaWdlcyB3ZWl0ZXJzZW5kZW4/IERhbm4gc29sbHRlIHJlaXR6QGEuYi5jLCByZWl6QGMuZC5lIGdlaGVuLiBNaXQKZGVtIGx1c3RpZ2VuIEVmZmVrdCwgZGFzcyBEdSBkYW5uIHZlcm11dGxpY2ggaW4gZWluZSBFbmRsb3NzY2hsZWlmZQpnZXJhZXRzdC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC5mb3J3YXJkIChSaWt1cywgMjAuIEphbiAxOTk4LCAxMDozMTo1MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg1Mjg4NjQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTI4NjY4NQpnZW5hdSwgaWNoIG1vZWNodGUgd2VpdGVya29waWVyZW4sIGRlciBcIHZlcmhpbmRlcnQsIGRhc3MgZnVlciBkZW4gbmFtZW4KZGFoaW50ZXIgbm9jaG1hbCB3ZWl0ZXJrb3BpZXJ0IHdpcmQsIGFsc28gZWluZSBFbmRsb3NzY2hsZWlmZSB3aXJkCnZlcmhpbmRlcnQuCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFVuZGVsZXRlPyAoUmluZ29yLCAyMC4gSmFuIDE5OTgsIDExOjEwOjI0KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg1MjUxNjQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NDk1OTM5MgpJbSBOYWNoaGluZWluIGJpbiBpY2ggbWlyIG5pY2h0bWFsIHNpY2hlciwgb2IgV2luOTUgdWViZXJoYXVwdCBfaXJnZW5kd2VsY2hlXwpQYXJ0aXRpb25zZGF0ZW4gZXJrYW5udCBoYXQuCgpFcnN0ZWxsdCBoYWIgaWNoIGRpZSBQYXJ0aXRpb25lbiBkYW1hbHMgbmFlbWxpY2ggdm9uIExpbnV4IGF1cy4gVW5kIGFuIHNvIGVpbmUKQWJmcmFnZSBrYW5uIGljaCBtaWNoIG5pY2h0IGVyaW5uZXJuLiBXYXMgYWJlciBhdWNoIG5pY2h0cyBoZWlzc2VuIG11c3MgLSBtZWhyCm9kZXIgd2VuaWdlciB1bnNpbm5pZ2UgQWJmcmFnZW4ga29tbWVuIGJlaSBkZXIgSW5zdGFsbGF0aW9uIHZvbiBXaW45NSBqYQp3aXJrbGljaCBldHdhcyBnZWhhZXVmdCB2b3IgOy0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBQcm9ibGVtIG1pdCBTcGVpY2hlci4uLi4gKEdyaW1tYm9ybiwgMjAuIEphbiAxOTk4LCAxNDoxMzoxMyk6Cn4jISBvbj1OaXJkYXZvIG90PTg4NTMwMTczNyBvZz1lbnR3aWNrbHVuZwogIEhhbGxvIElocnMsCiAgRXMgc29sbHRlbiBzaWNoIGphIGdlbnVlZ2VuZCBTcGV6aWFsaXN0ZW4gaGllciBiZWZpbmRlbiwgdW0gbWlyIG1pdCBlaW5lbQpwcm9ibGVtIHp1IGhlbGZlbiwgZGFzcyBpY2ggc2VpdCBnZXN0ZXJuIGhhYmUuCiAgRWlnZW50bGljaCB3b2xsdGUgaWNoIG1laW5lbSBSZWNobmVyIGphIG51ciBldHdhcyBndXRlcyB0dW4sIGluZGVtIGljaCBtaXIKbWFsIGViZW4gc2NobGFwcGUgNjQgTUIgU3BlaWNoZXIgYmVzY2hhZmZlLiBOYWphLCBlaW4gbmV1ZXMgQ0QtUk9NIG11c3N0ZSBhdWNoCm5vY2ggc2Vpbiwgd2VpbCBtZWluIGFsdGVzIGFtIFNvbm50YWcgbWVpbnRlLCBzZWluZW0gTGFzZXIgaGltbWVsbiB6dSBtdWVzc2VuCipncnVtbWVsKi4gTmFqYSwgd2llIGF1Y2ggaW1tZXIsIG1pdCBkZW0gRWluYmF1IGRlcyBTcGVpY2hlcnMgZXJnYWIgc2ljaCBlaW4KUHJvYmxlbS4gCiAgWnVuYWVjaHN0IGJsaWViIGRlciBSZWNobmVyIChQMTIwLCBXOTViKSBiZWltIEJvb3RlbiBlaW5mYWNoIGhhZW5nZW4uIEljaAptdXNzIGRhYmVpIGVyd2FlaG5lbiwgZGFzcyBpY2ggbm9ybWFsZXJ3ZWlzZSBuaWNodCBkaXJla3QgaW4gVzk1IGhpbmVpbnN0YXJ0ZSwKc29uZGVybiBlcnN0IG1hbCBpbSBET1MgaGluZW5zdGFydGUuIEVpbmlnZXMgU3VjaGVuIGJlc3RhZXRpZ3RlIG1pciBkYW5uLCBkYXNzCmRlciBSRWNobmVyIG9mZmVuc2ljaHRsaWNoIGRpZSBFaW5zdGVsbHVuZyAnRU1NMzg2LmV4ZSBSQU0nIG5pY2h0IG1vY2h0ZSwgdW5kCnNvIGVpbmlnZSBhbmRlcmUgVHJlaWJlciB6dW0gQWJzY2htaWVyZW4gYnJhY2h0ZSAoQmVzb25kZXJzIGRlbiBBU1BJLVRyZWliZXIKZnVlciBkaWUgU0NTSS1DRC1DRFJPTVMpLiBOYWphLCBtaXQgZGVyIEVpbnN0ZWxsdW5nICdFTU0zODYuZXhlIDE2Mzg0JyBrbGFwcHRlCmVzIGRhbm4gZG9jaCAoYmV2b3IgZGllIEZyYWdlIGtvbW10LCBqYSwgaWNoIGJyYXVjaGUgZnVlciBlaW5pZ2UgUHJvZ3JhbW1lCnVuYmVkaW5ndCBkZW4gRU1TLVNwZWljaGVyKS4gRGFiZWkgdHJhdCBkYW5uIGRhcyB6d2VpdGUgUHJvYmxlbSBhdWYuIElyZ2VuZHdpZQprb25udGUgaWNoIG1pciBkYW5uIG5pY2h0IGVya2xhZXJlbiwgd2FydW0gaWNoIHBsb2V0emxpY2ggbnVyIG5vY2ggNDI4LjAwMApCeXRlcyBmcmVpZW4gSGF1cHRzcGVpY2hlciBoYXR0ZSwgd2VubiB2b3JoZXIgYW4gZGllIDYwMEsgZnJlaSB3YXJlbi4KICBFdHdhcyBTdWNoZSB6ZWlndGUgbWlyIGRhbm4gZW5kbGljaCwgZGFzcyBpY2gga2VpbiBIaWdoLU1lbW9yeSBtZWhyIHp1cgp2ZXJmdWVndW5nIGhhYmUsIHRyb3R6IGluc3RhbGxpZXJ0ZW0gSElNRU0uU1lTLiBEaWVzZXIgVHJlaWJlciBtZWxkZXQKdWVicmlnZW5zIGJlaW0gSG9jaGZhaHJlbiAqa2VpbmUqIEZlaGxlciEgCiAgUnVlY2tiYXUgZGVzIFJlY2huZXJzIGF1ZiBzY2hub2VkZSAyNCBNQiBicmFjaHRlIGRlbiBVcnp1c3RhbmQgd2llZGVyIHp1bQpWb3JzY2hlaW4sIGFsc28gYWxsZXMgbGFldWZ0IG5vcm1hbC4gTWVpbmUgRnJhZ2UgKG5hY2ggZWluZXIgenVnZWdlYmVuZXJtYXNzZW4KbGFuZ2F0bWlnZW4gRmVobGVyYmVzY2hyZWlidW5nKSBhbHNvOiBIYXQgamVtYW5kIGFuZGVycyBzY2hvbiBtYWwgZGllc2VzClByb2JsZW0gZ2VoYWJ0LCB1bmQgd2VubiBqYSwgd2llIGlzdCBlcyBnZWxvZXN0IHdvcmRlbj8KCiAgICAgICBOaXJkYXZvLCByYXRsb3MKCiAgUC5TLiBJY2ggbW9lY2h0ZSBqZXR6dCBuaWNodCBkYXMgb2JsaWdhdG9yaXNjaGUgJ05pbW0gZG9jaCBMaW51eCcgaG9lcmVuLApkZW5uIGRhcyBoYWJlIGljaCBzY2hvbiwgdW5kIGVzIGxhZXVmdCBzb2dhciBrb3JyZWt0IQpQUC5TLjogUHJpdmF0ZSBNYWlsIGlzdCBiZXZvcnp1Z3QsIG1hbiBtdXNzIGphIG5pY2h0IHVuYmVkaW5ndCBkaWUgWmVpdHVuZwp2b2xsbXVlbGxlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW4gUHJvYmxlbSBtaXQgU3BlaWNoZXIuLi4uIChHcmltbWJvcm4sIDIwLiBKYW4gMTk5OCwgMTQ6MTU6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NTMwMTk5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODUzMDE5OTMKT2NoLCBBbnR3b3J0IHJ1aGlnIGluIGRpZSBaZWl0dW5nLCBtaWNoIGludGVyZXNzaWVyZW4gTG9lc3VuZ2VuIG5hZW1saWNoIGF1Y2gKZGFubix3IGVubnMgbmljaHQgdW0gbWVpbmUgZWlnZW5lbiBQcm9ibGVtZSBnZWh0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuZm9yd2FyZCAoSmltZGlncml6LCAyMC4gSmFuIDE5OTgsIDIyOjI1OjUzKToKfiMhIHJuPVJpa3VzIHJ0PTg4NTI4NjY4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODUyODY2ODUKSGFpLAoKRHUgd2lsbHN0IGFsbGUgbWFpbCBhbiB6d2VpIE9ydGVuIGVtcGZhbmdlbiB1bmQgbGVzZW4uCkRhcyBpc3Qgc2NobGVjaHQgOikKVWViZXJsZWcgbWFsOiBhbGxlIG1haWwgZGllIGFuIHJlaXR6QGEuYi5jIGdlaHQgc29sbCBhdWNoIGJlaSAKIHJlaXR6QGMuZC5lIGxhbmRlbiB1bmQgdW1nZWtlaHJ0LgoKU3plbmFyaW8gZWluczogRWluZSBtYWlsIGtvbW10IGJlaSByZWl0ekBhLmIuYyBhbjoKICBhLmIuYyBrb3BpZXJ0IGRpZSBtYWlsIHVuZCBzY2hpY2t0IHNpZSB3ZWl0ZXIgYW4gcmVpdHpAYy5kLmUKV2FzIHBhc3NpZXJ0ID8gYy5kLmUgZW1wZmFlbmd0IGVpbmUgbWFpbCBmdWVyIHJlaXR6LiBFcyBzaWVodCBhdXMgd2llIGVpbmUKbWFpbC4KV2FzIG1hY2h0IGFsc28gYy5kLmUgPyBjLmQuZSBrb3BpZXJ0IGRpZSBtYWlsIHVuZCBzY2hpY2t0IHNpZSBhbiByZWl0ekBhLmIuYyAKd2llIGRhcyBtaXQgamVkZXIgbWFpbCBnZXNjaGVoZW4gc29sbAotPiBtYWlsbG9vcCB1bmQgZGVyIHBvc3RtYXN0ZXIgd2lyZCBEaWNoIGhhc3NlbgplYmVuc28gZnVlciBkZW4gYW5kZXJlbiBGYWxsIGRhc3MgZGllIG1haWwgenVlcnN0IAphbiBjLmQuZSBlZ2VodAoKT2VoYSwgc29ycnkgZnVlciBkaWUgenUgbGFuZ2VuIHplaWxlbi4uLi4KCmVnYWwgd2VpdGVyIHp1ciBMb2VzdW5nLgoKV2VubiBEdSBhdWYgYmVpZGVuIFN5c3RlbWVuIG1haWxhZG1pbiBiaXN0LCBkYW5uCmdpYnRzIGVpbmUgTG9lc3VuZzogaW5zdGFsbGllcmUgZWluZW4gTVRBIGRlciAKRGVsaXZlcmVkLVRvOiBoZWFkZXIgc2V0enQgdW5kIGVpbmVuIE1EQQpkZXIgZGllc2UgQXVzd2VydGV0IHVuZCBtYWlscyBuaWNodApkb3BwZWx0IHp1c3RlbGx0LgoKT2RlciBiZWtuaWVlIGV1cmVuIHBvc3RoYW1zdGVyLCBkYXNzIAplcnMgbWFjaHQuIEFuc29uc3RlbiBpc3QgZWluZmFjaCBlaW4gbG9naXNjaGVzCnVuZCBrZWluIHRlY2huaXNjaGVzIFByb2JsZW0KCkNpYW8sCiBKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC5mb3J3YXJkIChHcmltbWJvcm4sIDIwLiBKYW4gMTk5OCwgMjM6MDM6MjkpOgp+IyEgcm49SmltZGlncml6IHJ0PTg4NTMzMTU1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODUyODY2ODUKRGFzIGVyaW5uZXJ0IG1pY2ggZGFyYW4sIGRhc3MgaW4gS29lbG4gbWFsIGplbWFuZCBlaW5lICJVcmxhdWJzbmFjaHJpY2h0IiBwZXIKcGVybCBnZW5lcmllcmVuIHdvbGx0ZS4gQW5zY2hlaW5lbmQgZWluc2NobGllc3NsaWNoIGVpbmVyIG1haWwgYW4gc2ljaCBzZWxiZXIuCkxlaWRlciBzbywgZGFzcyBkZXIgUmVjaG5lciBkYXMgbmljaHQgYWJnZWZhbmdlbiBoYXQuIERhcmF1ZmhpbiBpc3QgZGllCm1haWwtUGFydGl0aW9uIGRlcyBtYWlsc2VydmVycyB1ZWJlcmdlbGF1ZmVuLiBXYXMgZGVyIG1haWxzZXJ2ZXIgenVtIEFubGFzcwpuYWhtLCBzaWNoIGJlbGVpZGlndCB6dSB2ZXJhYnNjaGllZGVuLiBEdW1tZXJ3ZWlzZSBpc3QgZGVyIG1haWxzZXJ2ZXIgYXVjaApnbGVpY2ggZGVyICJIYXVwdHJlY2huZXIiIHByYWt0aXNjaCBkZXMgZ2VzYW10ZW4gTmV0emVzLiBBbHNvIGtvbm50ZSBzaWNoCmtlaW5lciBtZWhyIGVpbmxvZ2dlbiwgYXVmIGtlaW5lbSBkZXIgc2VydmVyLiBEYSB3YXJlbiBlaW4gcGFhciBMZXV0ZSBhYmVyIGdhcgpuaWNodCBnbHVlY2tsaWNoLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgaGF0IGRhbWFscyBlaW5lbiBBZG1pbiBhbSBUZWxlZm9uIGdlaG9lcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogLmZvcndhcmQgKEZyZXVuZCwgMjEuIEphbiAxOTk4LCAxMDowOTo0OCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg1MzMxNTUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTI4NjY4NQpIaSwKCmRhcyBlaW5mYWNoc3RlIGR1ZXJmdGUgZWluIEVpbnRyYWcgaW4gZGFzIGFsaWFzZXMtRmlsZSBkZXMgTWFpbGVycyBzZWluLiBNYWNoCkRpciBlaW5mYWNoIGVpbmUgKGV2dGwuIG5ldWUpIEUtTWFpbCBBZHJlc3NlLCBkaWUgbnVyIGFscyBBbGlhcyBleGlzdGllcnQsIHVuZApzb2Rhbm4gTWFpbCBhbiBEZWluZSBiZWlkZW4gcmljaHRpZ2VuIEFkcmVzc2VuIHZlcnNlbmRldC4gRGEgc2ljaCBqZXR6dCBzb2dhcgpkaWUgKFBzZXVkby0pIEVtcGZhbmdzYWRyZXNzZSB2b24gZGVuIGxvZ2lucyB1bnRlcnNjaGVpZGV0LCBzb2xsdGUgYWxsZXMgZ3V0CnNlaW4uCgpKZWRlbmZhbGxzIHNldHplbiB3aXIgZGFzIGluIHVuc2VyZXIgRmlybWEgbWFzc2VuaGFmdCBzbyB1bSwgIHVuZCBkYXMgZnVlcgpkaXZlcnNlIERvbWFpbnMuCgpFSW4gRnJldW5kIGRlcyBwYXBpZXJsb3NlbiBCdWVyb3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQUyBhdWYgRE9TIDYuMjIgKEhvbW0sIDIxLiBKYW4gMTk5OCwgMTE6NDc6NTkpOgpIaWhvLAoKSWNoIG1vZWNoZSBnZXJuZSBlaW4gUG9zdHNjcmlwdC1GaWxlIHVudGVyIERPUyBkcnVja2VuLCBtaXQgZGVtIFBSSU5UIGhhdXQgZXMKYWJlciBuaWNodCBiZWZyaWVkaWdlbmQgaGluLiBHZWh0IGVzIGF1Y2ggb2huZSBHaG9zdHNjcmlwdD8/IEhhdCBqZW1hbmQgZGEgbmUKSWRlZSBvZGVyIExvZXN1bmc/PwoKV3VlcmRldm9sbCB2ZXJuZWlnZW5kClBhcHN0IEhvbW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQUyBhdWYgRE9TIDYuMjIgKENhdHdlYXpsZSwgMjEuIEphbiAxOTk4LCAxMzoxMzo1OSk6Cn4jISBybj1Ib21tIHJ0PTg4NTM3OTY3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODUzNzk2NzkKSG0sIGFtIGJlc3RlbiBEdSBuaW1tc3QgZWluZW4gUG9zdFNjcmlwdC1mYWVoaWdlbiBEcnVja2VyIDotKQpBbnNvbnN0ZW4gd2lyc3QgRHUgdGF0c2FlY2hsaWNoIGVpbmVuIFBTLUludGVycHJldGVyLCBhbHNvIEdob3N0c2NyaXB0CmJlbm9ldGlnZW4uIApZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuZm9yd2FyZCAoWWFyZW4sIDIxLiBKYW4gMTk5OCwgMTc6MTA6NDgpOgp+IyEgcm49UmlrdXMgcnQ9ODg1Mjg2Njg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTI4NjY4NQpmdWVyIHNvbGNoZSBmYWVsbGUgZ2liYmV0IHByb2NtYWlsLCB3ZW5uIGljaCBtaWNoIG5pY2h0IGlycmUgOy0pCmZyYWd0IG1pY2ggamV0enQgbmljaHQgbmFjaCBkZW4gZ2VuYXVlbiBlaW56ZWxoZWl0ZW4sIGFiZXIgZGFzIGRpbmcgaXN0IGRhcwp0b29sIGRlciB3YWhsLCBtaXQgZGVtIG1hbiBhdWNoIHdlaXRlcmdlbGVpdGV0ZSBtYWlsIGtlbm56ZWljaG5lbiB1bmQgdm9yIGRlbQplcm5ldXRlbiB3ZWl0ZXJsZWl0ZW4gc2NodWV0emVuIGthbm4uIAoKWWFyZW4uIGtvcGllcnQgc2ljaCBkb3QtZmlsZXMgbWVpc3Qgdm9uIGZyZXVuZGVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGV0enRlbnMgbWl0IHc5NWIgKEphbml0emUsIDIxLiBKYW4gMTk5OCwgMTc6MTc6MzIpOgpoaSAhIQphbHNvIGRhIGJhc3RlbG4gd2lyIGdlc3Rlcm4gYmVpIGplbWFuZGVuIGFtIHJlY2huZXIgcnVtLCBzcHJpY2gsIGRhIHdhcgp3aW45NWIgdWViZXIgZG9zNi4yIGluc3RhbGxpZXJ0LiBNZWluIEt1bXBlbCB3b2xsdCB3YXMgbWl0IGRvcyBtYWNoZW4sCnNwcmljaCBlciBib290ZXQgZGFzIHVlYmVyICd2b3JoZXJpZ2UgZG9zLXZlcnNpb24nIGJlaSBGOCB3ZW5uIG1hbgpib290ZXQuIE5hamEsIHNjaG9lbiBkZW5rIGljaCBtaXIsIHVuZCBrbGFlciBpaG4gdWViZXIgc2VpbmVuIGZlaGxlcgphdWYgKGljaCBzdGFydGUgZGVuIHJlY2huZXIgbmV1LCB1bmQgemVpZyBpaG0sIGRhcyBkYSBuaXggbWVociBwYXNzaWVydCkKQWJlciBiZXJ1aGlnZSBpY2ggaWhuLCBtaXQgZGVyIGJvb3RkaXNrZXR0ZSB2b24gV2luOTUgaXN0IGRhcyBnYXIga2VpbgpQcm9ibGVtLCBlaW4gZmRpc2sgL21iciB1bmQgYW5zY2hsaWVzc2VuZCBlaW4gc3lzIGM6IHNvbGx0ZSByZWljaGVuLgpEZW5rc3RlICEgTmFjaCBlaW4gYmlzc2NoZW4ga25vYmVsbiBrb3BpZXJ0ZW4gd2lyIGRpZSBpby5zeXMgdm9uIGhhbmQKdm9uIGRlciBkaXNrZXR0ZSBhdWYgZGllIHBsYXR0ZSB1bmQgdGFkYWFhICEhISBFcyBsaWVmIHdpZWRlciBhbGxlcy4KYWxzbyBuaWNodCB2ZXJ6YWdlbiwgd2VubiBpaHIgZWluIGRhcyBzZWxiZSBwcm9ibGVtIGhhYnQsIHdpc3N0IGlocgpqZXR6dCwgd2llIG1hbidzIHdpZWRlciBoaW5iaWVndC4KCkphbmljZSBiZXJpY2h0ZXRlIGxpdmUgdm9uIGRlciBXaW45NS1Gcm9udCBmdWVyIGRpZSBNUEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHNjYXBlIENvbW11bmljYXRvciAoSGVsdmEsIDIyLiBKYW4gMTk5OCwgMjM6MzI6MTQpOgpJY2ggaGFiZSB6d2VpIEZyYWdlbjoKSWNoIGhhYmUgdm9yIGVpbiBwYWFyIFRhZ2VuIGRlbiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgNC4wMyBpbnN0YWxsaWVydC4gClVudGVyIGRlbSBOZXRzY2FwZSBOYXZpZ2F0b3QgMy4wMSBoYXR0ZSBpY2ggbWlyIGVpbiB0ZWxuZXQgcHJvZ3JhbW0KZWluZ2VzdGVsbHQsIHp1IGRlbSBpY2ggZGlyZWt0IGthbSwgd2VubiBpY2ggZGllIHRlbG5ldGFkcmVzc2UgaW0gYnJvd3NlcgplaW5nZWdlYmVuIGhhYmUuIEJlaSBOQyBpc3QgbGVpZGVyIHZvcmVpbmdlc3RlbGx0LCBkYXNzIGRhcyB0ZWxuZXRwcm9ncmFtbSB2b24KTWljcm9zb2Z0IGVpbmdlc3RlbGx0IHdpcmQuIERhcyBpc3QgYWJlciB0b3RhbCBzY2hsZWNodCwga2VpbiBDb3B5YW5kUGFzdGUKdXN3LiBEZXN3ZWdlbiBtb2VjaHRlIGljaCBkaWVzZSBFaW5zdGVsbHVuZyB3aWVkZXIgYWVuZGVybiwgZmluZGUgYWJlciBrZWluZW4KV2VnLiBGdWVyIG1pY2ggaXN0IGRpZSBGcmFnZSBhdWNoIHdpY2h0aWcsIHdlaWwgc2llIHRlbGVmb25rb3N0ZW5lcmhlYmxpY2ggaXN0Cihzb3JyeSwgZXMgaXN0IHNjaG9uIHNwYWV0IDopICkuCkRhcyBhbmRlcmUgUHJvYmxlbSBpc3QsIGRhc3MgaWNoIGdlcm5lIG5vY2ggZWluIGFuZGVyZXMgQmVudXR6ZXJwcm9maWwKZWluc3RlbGxlbiBtb2VjaHRlLCBkYXMgd3VyZGUgbWlyIGJlaSBkZXIgRXJzdGluc3RhbGxhdGlvbiBhdWNoIGFuZ2Vib3Rlbi4gSWNoCmhhYmUgYWJlciBqZXR6dCBlcnN0IGRlbiBCZWRhcmYgZGFmdWVyLCB1bmQga2FubiBqZXR6dCBrZWluZSBNb2VnbGljaGtlaXQKZmluZGVuLgpIZWx2YSAtIHNhZ3Qgc2Nob24gbWFsIGRhbmtlIChpbiBkZXIgSG9mZm51bmcgZGFzIGplbWFuZCBkYXMgd2Vpc3MgdW5kIEx1c3QKaGF0LCB6dSBiZWFudHdvcnRlbiA7KSApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0c2NhcGUgQ29tbXVuaWNhdG9yIChHcmltbWJvcm4sIDIzLiBKYW4gMTk5OCwgMDA6Mjc6MjUpOgp+IyEgcm49SGVsdmEgcnQ9ODg1NTA4MzM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTUwODMzNApHaWIgZG9jaCBtYWwgd2VuaWdzdGVucyBlaW5lbiBIaW53ZWlzIGF1ZiBEZWluIEJldHJpZWJzc3lzdGVtLiBNZWluCkNvbW11bmljYXRvciA0LjAzIChnbGF1YiBpY2gpIHVudGVyIExpbnV4IGdpYnQgbWlyIGJlaQp0ZWxuZXQ6Ly9hZHJlc3NlLndvLmF1Y2guaW1tZXIgZWluZSBzY2hvZW5lIHNoZWxsIG1pdCBlaW5lbSB0ZWxuZXQuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKEhlbHZhLCAyMy4gSmFuIDE5OTgsIDAwOjMzOjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODU1MTE2NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1NTA4MzM0CnNvcnJ5LCBpc3QgbmF0dWVybGljaCB3aW5kb29mOTUgOykgLCB3dXNzdGUgYWJlciBuaWNodCwgZGFzcyBkaWUgVmVyc2lvbmVuCmVpbmVuIHVudGVyd3NjaGllZGxpY2hlbiBCZWZlaGxzdW1mYW5nIGhhYmVuLi4uCkhlbHZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKEdyaW1tYm9ybiwgMjMuIEphbiAxOTk4LCAwMDozNjo0OSk6Cn4jISBybj1IZWx2YSBydD04ODU1MTIwMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1NTA4MzM0CkhtbSwga2FubiBpY2ggamV0enQgKGF1cyBuYWNodm9sbHppZWhiYXJlbiBHcnVlbmRlbi4uLikgbmljaHQgYXVzcHJvYmllcmVuLAphYmVyIHZlcnN1Y2ggbWFsOiBlZGl0LCBwcmVmZXJlbmNlcywgbmF2aWdhdG9yLCBhcHBsaWNhdGlvbnMuIERvcnQga2FubnN0IER1CmRlbSB0ZWxuZXQgZWluZSBiZXN0aW1tdGUgQW53ZW5kdW5nIHp1b3JkbmVuIChnaW5nIHp1bWluZGVzdCBub2NoIGJlaSBOUyAzLngKc28pLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKEhlbHZhLCAyMy4gSmFuIDE5OTgsIDAwOjM5OjQ3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODU1MTIyMDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1NTA4MzM0ClZpZWxsZWljaHQgbm9jaCBlaW4gSGlud2VpczogaWNoIGhhYmUgbGVpZGVyIGRpZSBkZXV0c2NoZSBWZXJzaW9uIHVuZCBlcyBnZWh0CmRlZmluaXRpdiBuaWNodCB3aWUgdW50ZXIgTlMgMy54LCBzb25zdCBoYWV0dGUgaWNoIGVzIGphIGdlc2NoYWZmdCEgKHNpZWhlCmVyc3RlciBBcnRpa2VsKQpVZWJyaWdlbnMgYmluIGljaCBhdWNoIG1haWxzIHp1IGRpZXNlbSBUaGVtYSBnZWdlbnVlYmVyIGF1Zmdlc2NobG9zc2VuIDopCkhlbHZhCi1ob2ZmdCBhdWYgTG9lc3VuZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKEdyaW1tYm9ybiwgMjMuIEphbiAxOTk4LCAwMDo0NDo1MCk6Cn4jISBybj1IZWx2YSBydD04ODU1MTIzODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1NTA4MzM0Ck5peCwga2VpbmUgbWFpbHMsIEFydGlrZWwgaGllci4gQXVzICdiZXJ1ZmxpY2hlbicgR3J1ZW5kZW4gYmluIGljaCBpbW1lciBhbgpQcm9ibGVtbG9lc3VuZ2VuIGludGVyZXNzaWVydC4gOi0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgYmV1dGV0IGRhcyBNRyBnZXdpc3NlbmxvcyBhdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldHNjYXBlIENvbW11bmljYXRvciAoRGVudGksIDIzLiBKYW4gMTk5OCwgMDc6NTk6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NTUxMjY5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODU1MDgzMzQKCkltIEdydW5lIGdhbnogZWluZmFjaCwgZWluc3RlbGxlbiBrYW5uIG1hbiBkYXMgdW50ZXIgCkJlYXJiZWl0ZW4sIEVpbnN0ZWxsdW5nZW4sIE5hdmlnYXRvciwgQW53ZW5kdW5nZW4sIFVSTDpUZWxuZXQsIGRhbm4gYXVmCkJlYXJiZWl0ZW4ga2xpY2tlbiB1bmQgaGFsdCB3YXMgYW5kZXJlcyBlaW50cmFnZW4uIAoKRGVudGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldHNjYXBlIENvbW11bmljYXRvciAoR3JpbW1ib3JuLCAyMy4gSmFuIDE5OTgsIDA5OjI2OjM1KToKfiMhIHJuPURlbnRpIHJ0PTg4NTUzODc2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODU1MDgzMzQKV2FzIGhhYiBpY2ggZGVubiBhbmRlcmVzIGdlc2NocmllYmVuPyBBdXNzZXIsIGRhc3MgaWNoIGRpZSBlbmdsaXNjaGUgVmVyc2lvbgp6aXRpZXJ0IGhhYmUuLi4gQWJlciBIZWx2YSBzYWd0IGphLCBkYXNzIGdlbmF1IGRhcyBiZWltIE5DIHVudGVyIFdpbjk1IG5pY2h0CmtsYXBwdC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmV0c2NhcGUgQ29tbXVuaWNhdG9yIChEZW50aSwgMjMuIEphbiAxOTk4LCAwOToyODo1MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg1NTQzOTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTUwODMzNAoKU0ljaGVyIGhhc3QgRHUgbmljaHRzIGFuZGVyZXMgZ2VzY2hyaWViZW4sIGFiZXIgaWNoIGhhYmUgZXMgZ2VyYWRlIGRvY2ggCmF1c3Byb2JpZXJ0IHVuZCBlcyBrbGFwcHQsIG5hamEsIG1hbmNoZSBrb2VubmVuIGVzIHNpY2ggaGFsdCBuaWNodCAKdWViZXJzZXR6ZW4uCgpEZW50aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHNjYXBlIENvbW11bmljYXRvciAoUm9uZGEsIDIzLiBKYW4gMTk5OCwgMTU6NDA6NTApOgp+IyEgcm49SGVsdmEgcnQ9ODg1NTA4MzM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTUwODMzNApadSBEZWluZW0gYW5kZXJlbiBwcm9ibGVtOiBuZXVlIE51dHplciBlaW5yaWNodGVuOiBlciBzb2xsdGUgRGlyIGphIExpbmtzIGluCmRlciBUYXNrbGVpc3RlIGVpbmdldHJhZ2VuIGhhYmVuLiBEYSB3YWVobHN0IER1IGRhbm4gZWluZmFjaCBVdGlsaXRpZXMgLSBVc2VyCnByb2ZpbGUgTWFuYWdlciBhdXMgKG9rLCBvaywgaWNoIGJlbnV0emUgYXVjaCBkZWkgZW5nbGlzY2hlIFZlcnNpb24gOykgKS4gZ2VodAphdWNoIHVlYmVyLi4uIHN0b2ViZXIuLi4gTWlzdCwgamV0enQgaXN0IG1pciBncmFkIG5lbiBQcm9ncmFtbSBpbSBoaW50ZXJncnVuZAphYmdla2FjaGVsdC4uLiAod2llIER1IHNpZWhzdCwgaWNoIGJlbnV0emUgYXVjaCBXaW45NSA7KSApLi4uIGxhc3MgZWluZmFjaAoibmV0c2NhcGUuZXhlIC1wcm9maWxlX21hbmFnZXIiIGF1c2Z1ZWhyZW4uCk9rLCBzY2h3ZXJlIEdlYnVydCwgaWNoIGdlYnMgamEgenUgKmdyaW5zKgoKUm9uZGEgKmhldXRlIHppZW1saWNoIHN0cnV3d2VsaWcgOykgKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKEJvaW5nLCAyMy4gSmFuIDE5OTgsIDE2OjQxOjQyKToKfiMhIHJuPVJvbmRhIHJ0PTg4NTU2NjQ1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODU1MDgzMzQKU3RhcnQvUHJvZ3JhbW1lL05ldHNjYXBlIENvbW11bmNhdG9yL1V0aWxpdGllcy9Vc2VyIFByb2ZpbGUgTWFuYWdlcgpEYSBrYW5uc3QgRHUgZGFubiBuZXVlIFVzZXIgYW5sZWdlbi4gSXN0IGRhbm4gemllbWxpY2ggc2VsYnN0ZXJrbGFlcmVuZC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0dJLVZlcnplaWNobmlzIGdlc3VjaHQgOykgKFJvbmRhLCAyMy4gSmFuIDE5OTgsIDE3OjEwOjMwKToKSGksCmljaCBzdWNoZSBzY2hvbiBzZWl0IGVpbmlnZXIgemVpdCBuYWNoIGVpbmVyIE1vZWdsaWNoa2VpdCwgQ0dJJ3MgaW5zIFdlYiB6dQpzdGVsbGVuIC0gaXN0IG5lbiBiaXNzY2hlbiBsYW5nd2VpbGlnLCBkaWUgbnVyIHp1aGF1cyBwZXIgT2h0dHAgenUgdGVzdGVuIDspCldlaXNzIGplbWFuZCB2b24gRXVjaCB6dWFmZWxsaWcgbmVuIFByb3ZpZGVyLCBiZWkgZGVtIG1hbiBrb3N0ZW5sb3MgQ0dJCmFibGVnZW4gZGFyZj8gT2RlciBoYXQgZGFzIGplbWFuZCB2b24gRXVjaCBzY2hvbiBiZWkgIlNjaGx1bmQiIG9kZXIgIlJhbXBhZ2UiCmdlc2NoYWZmdD8gQmVpIGRlbmVuIGhha3QgZGFzIG5hZW1saWNoIGxlaWRlciA6KAoob2ssIGNobW9kIGV0Yy4gaGFiIGljaCBzY2hvbiBhbGxlcyBnZXRlc3RldCwgc2NoZWludCBfd2lya2xpY2hfIGFuIGRlbgpwcm92aWRlcm4genUgbGllZ2VuIDspICkKVmllbGVuIERhbmsgZnVlciBhbGxlIFRpcHMsCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENHSS1WZXJ6ZWljaG5pcyBnZXN1Y2h0IDspIChHcmltbWJvcm4sIDI0LiBKYW4gMTk5OCwgMTM6MDc6NTIpOgp+IyEgcm49Um9uZGEgcnQ9ODg1NTcxODMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTU3MTgzMApKZWRlciBQcm92aWRlciwgZGVyIGJlaSBWZXJzdGFuZCBpc3QsIHdpcmQgZGFzIHVua29udHJvbGxpZXJ0ZSBBYmxlZ2VuIHZvbiBDR0kKbWFzc2l2IHVudGVyYmluZGVuLgpWZXJzdWNocyBhbHNvIG1hbCBiZWkgdC1vbmxpbmUgb2RlciBtc24uLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldHNjYXBlIENvbW11bmljYXRvciAoSGVsdmEsIDI0LiBKYW4gMTk5OCwgMTg6MTU6NDkpOgp+IyEgcm49SGVsdmEgcnQ9ODg1NjYxOTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTUwODMzNApWaWVsZW4gRGFuayBhbiBhbGxlLCAKYmVzb25kZXJzIGF1ZiBCb2luZ3MgSGlud2VpcyB3YWVyZSBpY2ggbmllIGdla29tbWVuIDspLgpCaXMgIkFud2VuZHVuZ2VuIiBoYXR0ZSBpY2ggbWljaCBqYSBhdWNoIHNjaG9uIG1hbCBkdXJjaGdla2FlbXBmdCwgaWNoIGhvZmZlCmVzIGtsYXBwdCBqZXR6dC4KSWNoIGhhYmUgdWVicmlnZW5zIG5pY2h0IHNvIHNlaHIgbWl0IEVuZ2xpc2NoIFByb2JsZW1lLCBpbW1lcmhpbiBoYXR0ZSBpY2gKdW50ZXIgbmV0c2NhcGUgMy54IGtlaW5lIFByb2JsZW1lIG1pdCBkZW4gRWluc3RlbGx1bmdlbiwgdW5kIGRlbiBoYXR0ZSBpY2ggbnVyCmF1ZiBFbmdsaXNjaCwgc29uZGVybiBtaXQgZGVyIEFydCB3aWUgTmV0c2NhcGUgYWxsZXMgaW5zIERldXRzY2hlIHVlYmVyc2V0enQKKnNldWZ6KgpIZWx2YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1dXLUZyYWdlIChTa2xhdmUsIDI2LiBKYW4gMTk5OCwgMTc6MDk6NTgpOgpIYWxsbyEKCkljaCBoYWIgJ25lIEZyYWdlOiAKSWNoIG1vZWNodGUgYXVmICduZXIgV1dXLVNlaXRlIHZvbiBtaXIgZWluIFNjcmlwdCBlaW5iYXVlbgooSmF2YVNjcmlwdCBvZGVyIFBlcmwpLCBkYXMgaW4gZXR3YSBmb2xnZW5kZXMgbWFjaHQ6CiAgIERpZSB6dWxldHp0IGJlc3VjaHRlIFNlaXRlIGlzdCAiYS5odG1sIiA9PiBBdXNnYWJlIDEKICAgRGllIHp1bGV0enQgYmVzdWNodGUgU2VpdGUgaXN0IHVuZ2xlaWNoICJhLmh0bWwiID0+IEF1c2dhYmUgMgpJY2ggc29sbHRlIHZpZWxsZWljaHQgZGF6dSBzYWdlbiwgZGFzcyBkaWUgU2VpdGUsIGF1ZiBkZXIgaWNoIGRhcwpTY3JpcHQgd2lsbCwgcGVyIDxNRVRBIEhUVFAtRVFVSVY9IlJlZnJlc2giIENPTlRFTlQ9ImJsYWJsdWJiIj4KYXVmZ2VydWZlbiB3aXJkLCB1bmQgendhciBlYmVuIHZvbiAiYS5odG1sIi4KU3ByaWNoOiBXaXJkICJtZWluIiBXZWcgZ2VnYW5nZW4sIHNvbGwgZGllIFNlaXRlIGFuZ2V6ZWlndCB3ZXJkZW4sIHdlbm4KbmljaHQgKHouQi4gZHVyY2ggZGlyZWt0ZW4gQXVmcnVmIGRlciBTZWl0ZSksIGRhbm4gc29sbCBlaW5lIGVudHNwcmVjaGVuZGUKTWVsZHVuZyAob2RlciBub2NoIGxpZWJlcjogZWluIHJlZGlyZWN0IGF1ZiBkaWUgU2VpdGUgImIuaHRtbCIpIGZvbGdlbi4KV2Vpc3Mgd2VyLCB3aWUgZGFzIGdlaHQ/CgpEYSBpY2ggenVyIFplaXQgbmljaHQgc28gcmVnZWxtYWVzc2lnIGhpZXIgYmluLCB3YWVyZSBpY2ggdW0gZWluZQpBbnR3b3J0IG5hY2gga3JldGVrQGFudGlzb2NpYWwuY29tIHNlaHIgZGFua2JhciEKCgpDaWFvLAogICBTa2xhdmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXV1ctRnJhZ2UgKEd1bGR1a2F0LCAyNi4gSmFuIDE5OTgsIDE4OjI3OjQ2KToKfiMhIHJuPVNrbGF2ZSBydD04ODU4MzA5OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1ODMwOTk4CnVudGVyIHVuaXggaXN0IGRpZSB6dWxldHpyZSBzZWl0ZSBpbiAkSFRUUF9SRUZFUkVSIGdlc3BlaWNoZXJ0LiBkYXMgZWluZmFjaHN0ZQppc3QsIGR1IG1hY2hzdCBkYXMgdWViZXIgZWluIGNnaS1zY3JpcHQsIHdhcyBkaWVzZSB2YXJpYWJsZSBhYmZyYWd0IHVuZCBkaWUKYXVzZ2FiZSBkYW5uIGplIG5hY2ggZXJnZWJuaXMgYXVzZ2lidCAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDZC1ST00gdW50ZXIgTlQgKEhlZmUsIDI3LiBKYW4gMTk5OCwgMTI6NTU6MzApOgpIYWxsbyEKRGVyIEluc3RhbGxhdGlvbnNtYXJhdGhvbiBsaWVndCB3ZWl0Z2VoZW5kIGhpbnRlciBtaXIsIGFiZXIKaWNoIGhhYmUgZGEgbm9jaCBlaW4gUHJvYmxlbToKV2VubiBpY2ggbWVpbiBDUi1ST00tTGF1ZndlcmsgdW50ZXIgV2luTlQ0LjAgYW5zcHJlY2hlbiB3aWxsLCBrb21tdApkaWUgRmVobGVybWVsZHVuZyAiVW56dWxhZXNzaWdlIEZ1bmt0aW9uIi4gKEFsbGVyZGluZ3MgbnVyLCB3ZW5uIGVpbmUKQ0QgZWluZ2VsZWd0IGlzdC4gQW5kZXJuZmFsbHMga29tbXQgLWtvcnJla3RlcndlaXNlLSBkaWUgTWVsZHVuZyAiTGF1ZndlcmsKbmljaHQgYmVyZWl0Ii4pCkthbm4gbWlyIGplbWFuZCBzYWdlbiwgd29yYW4gZGFzIGxpZWd0PwpEZW4gcGFzc2VuZGVuIFRyZWliZXIgaGFiZSBpY2ggaW5zdGFsbGllcnQsIHVuZCB1bnRlciBXaW45NSBsYWV1ZnQgZGFzCkxhdWZ3ZXJrIHByb2JsZW1sb3MuIEF1Y2ggdHJpdHQgZGVyIEZlaGxlciBuaWNodCBiZWkgYWxsZW4gQ0RzIGF1ZgooenVtaW5kZXN0IGJpcyB2b3Iga3VyemVtIG5pY2h0LiBTZWl0IGljaCBOVCBub2NobWFscyBuZXUgaW4gZWluZXIKYW5kZXJlbiBQYXJ0aXRpb24gaW5zdGFsbGllcnQgaGFiZSwgZ2VodCBrZWluZSBDRCBtZWhyKS4KCkRhbmtlLAoKSGVmZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWklQcGx1cyB1bmQgTlQuLi4gKEFuYXRvbCwgMjcuIEphbiAxOTk4LCAxMzozODo1NCk6ClNpZWhlIFRpdGVsIC0gaGF0IGRhIGplbWFuZCBFcmZhaHJ1bmdlbj8gQmVpIG1pciBqYW1tZXJ0IGRhcyBTeXN0ZW0gbmFjaCAKZWluZW0gcHBhMm50LmluZiAob2RlciBzbyksIHdhcyBhYmVyIGxlaWRlcmxlaWRlciBuaXJnZW5kcyB6dSBmaW5kZW4gaXN0LgpEYXMgWmlwbGF1ZndlcmsgbW9lY2h0ZSBzaWNoIGFuIGRlbiBQYXJhbGxlbHBvcnQgendpc2NoZW4gUmVjaG5lciB1bmQKRHJ1Y2tlciBwbGF6aWVydCB3aXNzZW4gLSBmdW5rdGlvbmllcnQgaGF0IGRhcyBiaXNoZXIgYmVpIG1pciBuaWNodC4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNRy1HZXNjaGljaHRlIChIYWRyYSwgMjkuIEphbiAxOTk4LCAwMToxMDoyMSk6Cn4jISBvbj1IYWRyYSBvdD04ODYwMzI1ODEgb2c9ZW50d2lja2x1bmcKfiMhIHJuPUZyZXVuZCBydD04ODYwMjIzOTMgcmc9ZW50d2lja2x1bmcKfiMhIHRpZD04ODU4NjMxMzkKd2llIHdhZXJlIGVzIG1pdCBlaW5lciBsYXNlcmxpY2h0c3RyZWNrZT8gYWxsZXJkaW5ncyBzZXR6dCBkaWUgYXVjaCBzaWNodAp2b3JhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGb250IEVkaXRvciBmdWVyIFgxMSBnZXN1Y2h0LiAoUnVtYXRhLCAyOS4gSmFuIDE5OTgsIDExOjQ0OjM2KToKVGhlIHN1YmplY3Qgc2F5cyBpdCBhbGwuClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE1HLUdlc2NoaWNodGUgKFJvY2h1cywgMjkuIEphbiAxOTk4LCAxMzo1NTowMyk6Cn4jISBybj1IYWRyYSBydD04ODYwMzI2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg1ODYzMTM5ClVuZCBkaWUgTGFzZXJsaWNodHN0cmVja2Ugc2V0enQgYXVjaCBLRUlORU4gTkVCRUwgdm9yYXVzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IE1HLUdlc2NoaWNodGUgKEdyaW1tYm9ybiwgMjkuIEphbiAxOTk4LCAxMzo1Njo1OSk6Cn4jISBybj1Sb2NodXMgcnQ9ODg2MDc4NTAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NTg2MzEzOQpPY2gsIGxlaWNodGVyIE5lYmVsIGdlaHQgbm9jaCwgcmljaHRpZyB1bmFuZ2VuZWhtIGlzdCBlaW4gU2NobmVlc3R1cm0uIFVuc2VyCmVpbmVzIHJ6IGhhZW5ndCBhbiBlaW5lciBMYXNlcnZlcmJpbmR1bmcuLi4KV2llIHdhZXJzIGRlbm4gbWl0IFJpY2h0ZnVuaz8gRGFzIGR1ZXJmdGUgc2ljaCB3ZWRlciBkdXJjaCBIYWV1c2VyIG5vY2ggZHVyY2gKTmViZWwgc29uZGVybGljaCBzdG9lcmVuIGxhc3Nlbi4gOi0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwtUHJvYmxlbSBnZWxvZXN0PyAoTXVya2VzLCAzMC4gSmFuIDE5OTgsIDE2OjA4OjAwKToKSGlobywKaGllciB3YXIgbGV0enRlbnMgZWluIFRocmVhZCB3byBlcyBkYXJ1bSBnaW5nLCBNYWlsIGF1ZiB6d2VpIHJlY2huZXJuCmdsZWljaHplaXRpZyB2b3JyYWV0aWcgenUgaGFsdGVuLiBJY2ggaGFiZSBqZXR6dCBkYXMgUHJvYmxlbSwgZGFzcyBpY2ggMwpBY2NvdW50cyBoYWJlIHVuZCBhdWYgendlaSBSZWNobmVybiBqZXdlaWwgbWVpbmUgZ2FuemUgbWFpbCBoYWJlbiBtb2VjaHRlLgpXZW5uIGljaCBlcyByaWNodGlnIGluIEVyaW5uZXJ1bmcgaGFiZSwgZGFubiBnYWIgZXMgZGFmdWVyIGVpbmUgTG9lc3VuZy4gV2VyCmhpbGZ0IG1laW5lbSBHZWRhZWNobmlzIGF1ZiBkaWUgU3BydWVuZ2U/Ck11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IE1HLUdlc2NoaWNodGUgKEhhdGUsIDMwLiBKYW4gMTk5OCwgMTg6MDI6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NjA3ODYxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODU4NjMxMzkKQW0gYmVzdGVuIE1pcmNvd2VsbGVucmljaHRmdW5rLiBXZW5uIG1hbiBkYSB6d2lzY2hlbiB3b2hudCB3aXJkcyBtb2xsaWcgd2FybS4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsLVByb2JsZW0gZ2Vsb2VzdD8gKEFjcmltb24sIDMwLiBKYW4gMTk5OCwgMTg6NDk6MjIpOgp+IyEgcm49TXVya2VzIHJ0PTg4NjE3Mjg4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYxNzI4ODAKaW5oYWx0IGhhcmRzb2Z0d2FyZQphcnRpa2VsIHh4eAoKYW5kZXJzIGdlc2FndDogU2NoYXUgc2VsYmVyIG5hY2ghCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChIZWx2YSwgMzAuIEphbiAxOTk4LCAyMToyNjowNCk6ClNvLCBpY2ggaGFiZSBoaWVyIGVpbmUgU3VjaG1lbGR1bmc6IEljaCBicmF1Y2hlIGZ1ZXIgamVtYW5kZW4sIGRlciBhdWYgc2VpbmVtClJlY2huZXIgV2luMy4xMSB1bmQgV2luV29yZCA2LjAgaGF0LCBlaW4gS29udmVydGllcnVuZ3Nwcm9ncmFtbSBmdWVyCldvcmRQZXJmZWN0LiBEaWVzZXMgbXVzcyBhYmVyIFNoYXJld2FyZSBzZWluLiBVbSBOYWNoZnJhZ2VuIHZvcnp1YmV1Z2VuOiBOZWluLApkZXIgQXJiZWl0c3BsYXR6IGthbm4gbmljaHQgYXVmIFdpbjk1IHVtZ2VzdGVsbHQgd2VyZGVuLiBNaXIgd3VlcmRlIGVzIHNjaG9uCnNlaHIgd2VpdGVyaGVsZmVuLCB3ZW5uIG1pciBqZW1hbmQgZWluZSB3d3ctU2VpdGUgb2RlciBwYXNzZW5kZSBuZXdzZ3JvdXAKbmVubmVuIGtvZW5udGUsIHZvbiBkZW5lbiBpY2ggYXVzIHdlaXRlcnN1Y2hlbiBrYW5uLiBJY2ggaGFiZSBtaWNoIHp3YXIgc2Nob24KZWluIHdlbmlnIHVtZ2VzY2hhdXQsIGtvbm50ZSBhYmVyIG5pY2h0cyBlbnRkZWNrZW4uCkhlbHZhIC0gc3RlbGx0IG51ciBub2NoIEZyYWdlbiBpbiBkaWVzZXIgUnVicmlrIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29yZFBlcmZla3RXaW4zMS4rV2luVzYuMCAoR3JpbW1ib3JuLCAzMS4gSmFuIDE5OTgsIDAwOjE0OjA2KToKfiMhIHJuPUhlbHZhIHJ0PTg4NjE5MTk2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYxOTE5NjQKV2VubiBpY2ggbmljaHQgZ2FueiBtYXNzaXYgZGFuZWJlbiBsaWVnZSBrYW5uIHdpbndvcmQ2IHdwLURhdGVpZW4gbGVzZW4gdW5kCnVtZ2VrZWhydC4gVW5kIHdlbm5zIGdhbnogdW5ndWVuc3RpZyBpc3QsIGthbm4gbWFuIHNpY2ggYXVmIGVpbiBoYWxid2Vncwpha3plcHRhYmxlcyBnZW1laW5zYW1lcyBGb3JtYXQgZWluaWdlbiwgYmVpc3BpZWxzd2Vpc2Ugd2lud29yZDIgKGFsc28gZGVyIGVpbmUKc3BlaWNoZXJ0IGluIHdpbndvcmQyIHVuZCBkZXIgYW5kZXJlIGV4cG9ydGllcnQgZGFyYXVzKS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmRQZXJmZWt0V2luMzEuK1dpblc2LjAgKEhhZHJhLCAzMS4gSmFuIDE5OTgsIDA3OjIyOjMwKToKfiMhIHJuPUhlbHZhIHJ0PTg4NjE5MTk2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYxOTE5NjQKenVtaW5kZXN0IGZ1ZXIgd3AgNS54IHNpbmQgZmlsdGVyIGRhYmVpLiBibG9zcyBpbnN0YWxsaWVyZW4gbXVzcyBtYW4gc2llIGhhbHQKOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsLVByb2JsZW0gZ2Vsb2VzdD8gKENhdHdlYXpsZSwgMzEuIEphbiAxOTk4LCAxMzozNzowOCk6Cn4jISBybj1NdXJrZXMgcnQ9ODg2MTcyODgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjE3Mjg4MApBbGxlaW5lIG1pdCBmb3J3YXJkIGlzdCBlcyBuaWNodCBtb2VnbGljaCwgX3p3ZWlfIFppZWxyZWNobmVyIHp1CmRlZmluaWVyZW4sIGRhcyBEZWluZSBtYWlsIHNvbnN0IGFuZmFlbmd0IHp1IGxvb3BlbiwgYXVzc2VyIER1IGJhdXN0CmVpbmVuIGdlZWlnbmV0ZW4gTWFpbGZpbHRlci4KTWVpbmUgTG9lc3VuZzogTGFzcyBhbGxlIE1haWwgYXVmIFppZWxyZWNobmVyIEEgYXVmbGF1ZmVuIHVuZCBob2wKZGFubiB2b24gQWNjb3VudCBCIGF1cyBkaWUgTWFpbCB2b24gQSB2aWEgUE9QIG1pdCBkZXIKT3B0aW9uICdsZWF2ZSBtYWlsIG9uIHNlcnZlcicgYWIuCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2FsbGJhY2sgbnQgKEFuYWtpbiwgIDEuIEZlYiAxOTk4LCAxNToxNDowMSk6CkhpLAoKaGF0IHNjaG9uIGVpbmVyIHZvbiBldWNoIG5lIGNhbGxiYWNrIHZlcmJpbmR1bmcgenUgbmVtIAp3aW5udCByZWNobmVyIGhpbmJla29tbWVuPyBJY2ggaGFiIGRhcyBtaXQgcHBwLTIuMy4wLnRhci5negpwcm9iaWVydCBnZXBhdGNoZWQgdW5kIGF1Y2ggc2F1YmVyIGNvbXBpbGllcnQsIG51ciBsYXV0CkFubGVpdHVuZyB2b24gc3VzZSBzb2xsIG1hbiBuZW4gcGFyYW1ldGVyICJjYiIgZGFubiBhbiBkZW4gcHBkCmFuaGFlbmdlbiwgbnVyIGRlciB3aXJkIG5pY2h0IGVya2FubnQ/CgpIYXQgamVtYW5kIHNvd2FzIHp1IGxhdWZlbiB1bmQga2FuIG1pciBkYSB3ZWl0ZXJoZWxmZW4/CgpBTmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0Y3BpcC1mdW5rc3RyZWNrZSAoQ3ltcmlrLCAgMS4gRmViIDE5OTgsIDIwOjU3OjI5KToKSG0gaWNoIHNjaGF1IGdyYWQgenVoYXVzZSBhdXMgbWVpbmVtIEZlbnN0ZXIgdW5kIHNlaCBtZWluIEJ1ZXJvemltbWVyLi4uCnVuZCBrb21tZSBuYXR1ZXJsaWNoIGF1ZiBnYWFhYW56IGR1bW1lIGdlZGFua2VuLgpIYXQgamVtYW5kIFZvcnNjaGxhZWdlIG9kZXIgUXVlbGxlbiBmdWVyIHNvIGVpbiBmdW5rLSJtb2RlbSI/CgpDeW1yaWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0Y3BpcC1mdW5rc3RyZWNrZSAoSGF0ZSwgIDEuIEZlYiAxOTk4LCAyMTo0Mzo0NSk6Cn4jISBybj1DeW1yaWsgcnQ9ODg2MzYzMDQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjM2MzA0OQpLYXVmIGRpciBzbyBlaW4gRnVua3RlbGVmb24sIHdpZSBtYW4gZXMgenVoYXVzZSBiZW51dHp0LiBHdXRlIERpbmdlciwgd2llCnouQi4gZGFzIFNpZW1lbnMgR2lnYXNldCBoYWJlbiBhdWNoIGVpbmUgTU9kZW1zdGF0aW9uLiBELmguIG1hbiBrYW5uIGRhCmVpbiBNb2RlbSBhbiBlaW5lIFN0YXRpb24gaGFlbmdlbiB1bmQgcGVyIEZ1bmsgenVyIEJhc2lzc3RhdGlvbiBvZGVyIGVpbmVzCmRlciBhbmRlcmVuIEZ1bmt0ZWxlZm9uZSBlaW5lIFZlcmJpbmR1bmcgcGVyIFBQUCBtYWNoZW4uIAoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGNwaXAtZnVua3N0cmVja2UgKEZyZXVuZCwgIDEuIEZlYiAxOTk4LCAyMzo0OTo1Nyk6Cn4jISBybj1IYXRlIHJ0PTg4NjM2NTgyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYzNjMwNDkKSGV5YSwgZGFzIGlzdCBkb2NoIG1hbCBlaW4gZ3V0ZXIgR2VkYW5rZSEgODAwbSBMdWZ0bGluaWUgbXVlc3N0ZW4gZG9jaCB6dQpzY2hhZmZlbiBzZWluLiAKSGF0IGplbWFuZCBlaW5lbiBWb3JzY2hsYWcsIHdhcyBHZXJhZXQgb2RlciBNYXJrZSBhbmdlaHQ/CgpGcmV1bmQsIFRlbGVrb20tQWt0aWVuLUtsZXR0ZXJuLUxhc3NlbmRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGNwaXAtZnVua3N0cmVja2UgKEZlbGFndW5kLCAgMi4gRmViIDE5OTgsIDAwOjAyOjQxKToKfiMhIHJuPUZyZXVuZCBydD04ODYzNzMzOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MzYzMDQ5CkFsc28gODAwIE1ldGVyIGR1ZXJmdGVuIHNlbGJzdCBiZWkgZ3V0ZW0gV2V0dGVyIHByb2JsZW1hdGlzY2ggd2VyZGVuIDspLiBOYWphLAppY2ggZHJ1ZWNrIG1hbCBkaWUgRGF1bWVuLgoKRmVsYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGNwaXAtZnVua3N0cmVja2UgKEd1bGR1a2F0LCAgMi4gRmViIDE5OTgsIDIzOjQ0OjE0KToKfiMhIHJuPUZyZXVuZCBydD04ODYzNzMzOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MzYzMDQ5Cmxhc2VyLXJpY2hmdW5rdCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRjcGlwLWZ1bmtzdHJlY2tlIChLZXksICAzLiBGZWIgMTk5OCwgMDc6NTU6MjMpOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODg2NDU5NDU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjM2MzA0OQpLYW5uIG1hbiBuaWNodCBhdWNoIG5lbiBUcmFuc3BvcnRlcnN0cmFobCBiZW51dHplbj8gLikKT2RlciBlaW5lbiBUcmFrdG9yc3RyYWhsPyAuKSkKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKenNoIChIb2JvLCAgMy4gRmViIDE5OTgsIDExOjQ0OjIwKToKSmV0enQgaGF0J3MgYXVjaCBtaWNoIGdldHJvZmZlbiwgaWNoIGhhYicgZWluIFByb2JsZW06ClNvYmFsZCBpY2ggZWluIG5ldWVzIEZlbnN0ZXIgYXVmbWFjaGUga29tbXQgYXVzIGRlciAuenNocmMgZGllIE1lbGR1bmcsIGRhc3MKZXIgZWlnZW50bGljaCBhbGxlIEtvbW1hbmRvcywgZGllIGluIGRpZSB6c2ggZWluZ2ViYXV0IHNpbmQsIG5pY2h0IGtlbm50LCBhbHNvCnouQi4gY29tcGN0bCwgc2V0b3B0IHVzdy4gbm90IGZvdW5kClJ1ZmUgaWNoIGltIEZlbnN0ZXIgbm9jaG1hbCBkaWUgenNoIGF1ZiwgZGFubiBicmluZ3QgZXIgbWlyIHp1ZXJzdCBub2NoCkZlaGxlcm1lbGR1bmdlbiBiZWkgZWluaWdlbiBPcHRpb25lbiB2b20gY29tcGN0bCwgZGllIGFiZXIgZWlnZW50bGljaCBub3JtYWwKYXVzc2VoZW4uCldvcmFuIGthbm4gc293YXMgbGllZ2VuPwoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogenNoIChXb29keSwgIDMuIEZlYiAxOTk4LCAxOToxMTo1Nik6Cn4jISBybj1Ib2JvIHJ0PTg4NjUwMjY2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODY1MDI2NjAKSWNoIGtlbm4gZGllIHpzaCBuaWNodCwgYWJlciBldnRsLiBsaWVndHMgZGFyYW4sIGRhc3MgZHUgZGllCnpzaCBuaWNodCBhbHMgbG9naW4gc2hlbGwgKG1pdCBjaHNoIGthbm4gbWFuIGRpZSBhZW5kZXJuKQpnZXNldHp0IGhhc3QuLi4/CgpyYXRlbmQsIHdvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB6c2ggKENhdHdlYXpsZSwgIDQuIEZlYiAxOTk4LCAxMToxMjo1MCk6Cn4jISBybj1Ib2JvIHJ0PTg4NjUwMjY2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODY1MDI2NjAKTmltbSBkb2NoIG5lIGJhc2guIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlICh2ZXJnbnVlZ3QgZ3JpbnNlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW5kb29mIGltIExleGlrb24gKEhhcmRpbCwgIDQuIEZlYiAxOTk4LCAxNDoxMTozMik6CgpQZmxpY2h0d2l0eiBlaW46CgpXaW5kb3dzOTUgKG5vdW4pOiAzMiBiaXQgZXh0ZW5zaW9ucyBhbmQgYSBncmFwaGljYWwgc2hlbGwgZm9yIGEgMTYgYml0CnBhdGNoIHRvIGFuIDggYml0IG9wZXJhdGluZyBzeXN0ZW0gb3JpZ2luYWxseSBjb2RlZCBmb3IgYSA0IGJpdCBtaWNybwpwcm9jZXNzb3IsIHdyaXR0ZW4gYnkgYSAyIGJpdCBjb21wYW55IHRoYXQgY2FuJ3Qgc3RhbmQgMSBiaXQgb2YgY29tcGV0aXRpb24uCihMZXhpa29uZWludHJhZykKClBmbGljaHR3aXR6IGF1cy4KCi1IYXJkaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZvbnRzIHVudGVyIFggKE15c3RlcmlvdXMsICA0LiBGZWIgMTk5OCwgMTQ6Mjc6MzApOgprb25uaSBjaGkgd2EhCgotd2lzcyBmb2xnZW5kZXM6IGljaCBtb2VjaHRlIGRpZSBzY2hyaWZ0IHZvbiBtZWluZW4geHRlcm1zIGF1ZiBlaW5lIGJlc3RpbW10Cmdyb2Vzc2UgYnJpbmdlbi4uIHVuZCB6d2FyIGltbWVyLCB3ZW5uIGljaCBuIG5ldWVzIGZlbnN0ZXIgYXVmbWFjaGUuLi4gZGFzCmthbm4gaWNoIGRvY2ggYnNwdy4gcGVyIGVpbnRyYWcgaW4gZGVyICcuWGRlZmF1bHRzJyBtYWNoZW4uLiBzb3dhcyB3aWUKJ1h0ZXJtKmZuOiA8c2NocmlmdGFydD4nIGRhcyBwcm9ibGVtIGlzLCBkYXMgZGllc2UgPHNjaHJpZnRhcnQ+LWRlZmluaXRpb24KZ2FueiB2aWVsZSBibG9lZGUgcGFyYW1ldGVyIHVtZmFzc3QuLiBpcmdlbmR3aWUgaW4gZGVyIGZvcm06CidiaXRzdHJlYW0tKi0qLTE1Ki0qJy4uLiBrYW5uIG1hbiBkYXMgaXJnZW5kd2llIGFia3Vlcnplbj8gaWNoIHdpbGwgamEgbnVyIGRpZQpncm9lc3NlIGRlcyBzdGFuZGFyZC1mb250IGFlbmRlcm4uLiAqcm9tYW4gc2NocmVpYioKCmljaCBob2ZmZSwgZGFzcyBrYW5uIG5vY2ggamVtYW5kIGxlc2VuLi4uCgpkdWlpaWkKICAgICAgICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZvbnRzIHVudGVyIFggKFJvY2h1cywgIDQuIEZlYiAxOTk4LCAxNToxMToyMik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg4NjU5ODg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODY1OTg4NTAKRXMgZ2lidCBuZWJlbiBkZW4gdm9sbGVuIEZvbnRuYW1lbiBhdWNoIGVpbmlnZSBBYmt1ZXJ6dW5nZW4gd2llCmJlaXNwaWVsc3dlaXNlICI3eDE0IiAtIER1IGthbm5zdCBqZWRlbiBOYW1lbiBuZWhtZW4gZGVuICJ4bHNmb250cyIKYXVzZ2lidCAoSXJnZW5kd28ga2FubiBtYW4gYWxzIHJvb3QgYXVjaCBzb2xjaGUgQWJrdWVyenVuZ2VuIGVpbnRyYWdlbiwKaWNoIGJpbiBhYmVyIGdlcmFkZSB6dSBmYXVsIG5hY2h6dXNjaGxhZ2VuIHdvIDotKQpXZW5uIGVzIGZ1ZXIgZGVuIGdld3VlbnNjaHRlbiBGb250IGtlaW5lIEFia3Vlcnp1bmcgZ2lidCBtdXNzdCBEdQpoYWx0IGRlbiBrb21wbGV0dGVuIEVpbnRyYWcgbmVobWVuIC0gZGFiZWkga2FubnN0IER1IHVlYmVyYWxsIHdvCkRpciBkZXIgV2VydCBlZ2FsIGlzdCBlaW5lbiAiKiIgZWludHJhZ2VuLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogenNoIChIb2JvLCAgNC4gRmViIDE5OTgsIDE1OjQyOjA2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODY1ODcxNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2NTAyNjYwCipsYWNoIGNhdHR5IGFuKgpHYWIncyBoaWVyIG5pY2h0IGViZW4gZXJzdCBuZSBEaXNrdXNzaW9uIHVlYmVyIGxpbnV4IHVuZCB3aW4/IApTb2xsZW4gd2lyIGRhcyBnYW56ZSBub2NobWFsIGZ1ZXIgYmFzaCB1bmQgeiBkdXJjaG1hY2hlbj8gOykKClVlYnJpZ2Vucy0gaGF0IHNpY2ggc2Nob24gZXJsZWRpZ3QuIEVzIGhpbmcgYW0gcHJvZmlsZSB1bmQgZGFyYW4sIGRhc3MgZGllIHpzaApuaWNodCBMb2dpbi1TaGVsbCB3YXIuCgpUc2NodWVzcwogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3JkQXJ0IChMYXJpc3NhLCAgNC4gRmViIDE5OTgsIDE2OjQ5OjEzKToKSGFsbG8sCgppY2ggaGFiZSBlaW5lbiBQQyBiZWkgZGVtIGRpZSBGdW5rdGlvbiAnT2JqZWt0IGVpbmZ1ZWdlbiAtPldvcmRBcnQyJwp1bnRlciBXaW5Xb3JkIDYgdW50ZXIgV2luMzExIHVtcyBWZXJyZWNrZW4gbmljaHQgdHV0LgoKRGllIFJlZ2lzdHJpZXJkYXRlbmJhbmsgaXN0IG5pY2h0IHNjaHVsZCwgaWNoIGhhYiBzY2hvbiBlaW5tYWwKc2FlbXRsaWNoZSBkbGxgcyBpbiB3aW5kb3dzIHVuZCB3aW5kb3dzL3N5c3RlbSBhdXNnZXRhdWNoYXVjaHQgdW5kCldvcmRBdHIgbmV1IGluc3RhbGxpZXJ0LCBsZWlkZXIgYWxsZXMgb2huZSBlcmZvbGcuLi4KCklkZWVuPwoKCkxhcmksIGdlbmVydnQsIGFiZXIgSm9iIGlzdCBKb2IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZvbnRzIHVudGVyIFggKFdvb2R5LCAgNC4gRmViIDE5OTgsIDE5OjI0OjM5KToKfiMhIHJuPVJvY2h1cyBydD04ODY2MDE0ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2NTk4ODUwCkluZGVtIG1hbiBzaWUgaW4gZm9udHMuYWxpYXMgZWludHJhZWd0IChkaWUgdGVybWluYWxmb250cyBzaW5kCmlkUi4gaW4gL3Vzci9YMTFSNi9saWIvWDExL2ZvbnRzL21pc2MvICkgdW5kIG1rZm9udGRpciBkcnVlYmVyCmxhdWZlbmxhZXNzdC4gSW4gZ2VuYW5udGVtIG1pc2MgdmVyemVpY2huaXMgZmluZGV0IG1hbiBkaWUgbWVpc3RlbgpmaXhlZC13aWR0aCBmb250cywgYWxzbyBkaWUgZnVlciB4dGVybXMgZ2VlaWduZXRlbi4uLgoKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS3lvY2VyYS1TcGVpY2hlcnVlYmVybGF1ZiAoU3RpbmcsICA0LiBGZWIgMTk5OCwgMjE6Mjg6NTYpOgpIdWh1IQoKSWNoIGhhYiBlaW4gbWFzc2l2ZXMgUHJvYmxlbTogSW0gR2VzY2hhZWZ0IGJlbnV0emVuIHdpciBlaW5lbiBLeW9jZXJhIEZTLTE3MDAKTGFzZXJkcnVja2VyLCBkZXIgaGF0IGJpc2hlciBzdXBlciBmdW5rdGlvbmllcnQsIGFiZXIgbnVuIG1hY2h0IGVyIGJlaSBtYW5jaGVuCkRva3VtZW50ZW4gbWl0IEJpbGRlcm4gZHJpbiwgcGxvZXR6bGljaCBQcm9ibGVtZTogRXIgemVpZ3QgYW4KIlNwZWljaGVydWViZXJsYXVmIiwgc2VsdHNhbSBpc3QgbnVyLCBkYXMgZXMgdm9yaGVyIGdpbmcuLi4KSWNoIGhhYiBuZW4gVHJlaWJlciBiZWkgZGVtIG1hbiBtaXQgc3RhbmRhcmQtbW9kZSB0ZXh0IGF1c2RydWNrdCB1bmQgaW0KZ3JhcGhpay1tb2RlIHNhY2hlbiBkaWUgZ3JhdXN0dWZlbiBoYWJlbi4uLgpLYW5uIG1pciBlaW5lciB3ZWl0ZXJoZWxmZW4gPyBJY2ggd2lsbCBlaWdlbnRsaWNoIG5pY2h0IGdsZWljaCBTcGVpY2hlcgpkYXp1a2F1ZmVuIChhdWNoIHdlbm5zIGZhc3RzIG5peCBrb3N0ZXQpIDopCgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChBc21vZGlzLCAgNy4gRmViIDE5OTgsIDAwOjI0OjAyKToKfiMhIHJuPUhlbHZhIHJ0PTg4NjE5MTk2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYxOTE5NjQKR3VjayBtYWwgYXVmIHd3dy5zaGFyZXdhcmUuY29tIHVuZCB3d3cuZnJlZXdhcmUuY29tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvcmRQZXJmZWt0V2luMzEuK1dpblc2LjAgKEhlbHZhLCAgOS4gRmViIDE5OTgsIDE5OjAyOjEwKToKfiMhIHJuPUFzbW9kaXMgcnQ9ODg2ODA3NDQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjE5MTk2NAplcnN0IG1hbCBkYW5rZSBhbiBhbGxlIDogV2llIGljaCBtaXR0bGVyd2VpbGUgcmF1c2dlZnVuZGVuIGhhYmUsIGJlbnV0enQgZGllCmVpbmUgU2VpdGUgdGFzYWVjaGxpY2ggV2luIDMuMTEgbWl0IFdvcmQgNiwgZGllIGFuZGVyZW4gYWJlciBXb3JkIFBlcmZlY3QgNi54LgpEaWVzIGlzdCBuaWNodCBpbiBXb3JkIDYga29udmVydGllcmJhciwgaWNoIGhhYmUgZGFoZXIgamV0enQgdm9yZ2VzY2hsYWdlbiwKc2ljaCBiZWltIG5hZWNoc3RlbiBtYWwgYXVmIGVpbiBuaWVkcmlnZXJlcyBGb3JtYXQgenUgZWluaWdlbi4gRGFzIGhhdCB6dXIKRm9sZ2UsIGRhcyBhdXMgaW50ZXJuZW4gR3J1ZW5kZW4sIGVpbmUgUGFydGVpIHp3ZWltYWwgc3BlaWNoZXJuIG11c3MuLi53ZW5uCnNpZSBlcyBuaWNodCBtYWNoZW4sIGthbm4gbWFuIGRlbmVuIGF1Y2ggbmljaHQgbWVociBoZWxmZW4gOykuCmZ1ZXIgZGllIGRpZSBzaWNoIG5vY2ggZnVlciBtZWluZSBOZXRzY2FwZS1wcm9ibGVtZSBpbnRlcmVzc2llcmVuOiBOYWNoZGVtIGljaApqZXR6dCBtZWluZW4gUGZhZCB6dSBtZWluZW0gdGVsbmV0IC0gcHJvZ3JhbW0gZ2VzZXR6dCBoYWJlLCBwYXNzaWVydCBsZWlkZXIsCmRhc3MgaWNoIGVyc3QgYXVmIGRpZSAiQXVzd2FobHNlaXRlIiBtZWluZXIgdGVsbmV0dmVyYmluZHVuZ2VuIGdlbGVpdGV0IHdlcmRlCihkaWUgaWNoIHp1ZGVtIG5vY2ggbmV1IGFubGVnZW4gbXVzcyksIHdhZWhyZW5kIGljaCBiZWkgTmV0c2NhcGVOYXYgMy54IGRpcmVrdApkYXMgZ2V3dWVuc2NodGUgKD1hbHMgaW0gYnJvd3NlciBlaW5nZXRyYWdlbmUgdGVrbmV0YWRyZXNzZSkgRmVuc3RlciBiZWthbSwKb2huZSB1bXdlZ2UuIEFsb3MgbWFjaHQgTkMgNC54IHRyb3R6IGdsZWljaGVtIFBmYWQgZXR3YXMgYW5kZXJlcyBhbHMgTk4gMy54LgpBdXNzZXJkZW0gaXN0IHp1bWluZGVzdCBOZXRzY2FwZUNvbW11bmljYXRvciA0LjAzIHN0YXJrIGFic3R1cnpnZWZhZWhyZGV0ICh1bmQKZGFzIG5pY2h0IG51ciBiZWkgbWlyIHVudGVyIFdpbjk1LCB6dW1pbmRlc3QgZWluIGxpbnV4YmVudXR6ZXIgaGF0IG1pcgpkYXNzZWxiZSBlcnphZWhsdCA7KS4gSGF0IGplbWFuZCBhZWhubGljaGUgUHJvYmxlbWUgZ2VoYWJ0LCB1bmQgdHJldGVuIGRpZXNlCmJlaSBOQyA0LjA0IG5pY2h0IG1laHIgYXVmID8KSGVsdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdvcmRQZXJmZWt0V2luMzEuK1dpblc2LjAgKFd1cnplbCwgIDkuIEZlYiAxOTk4LCAyMDoyNjoyMyk6Cn4jISBybj1IZWx2YSBydD04ODcwNDczMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MTkxOTY0Cm5jIDQuMDMgaGFiIGljaCB3aWVkZXIgZ2Vsb2VzY2h0LiBuYWNoZGVtIHZvbiBtZWluZW4gaGFldWZpZyBiZXN1Y2h0ZW4gc2VpdGVuCmV0d2EgZGllIGhhZWxmdGUgYmVpbSByZWluZW4gdmVyc3VjaCBzaWUgYW56dXN0ZXVlcm4gbmM0LjAzIGdlbWVpbnQgaGF0IHNpY2gKdmVyYWJzY2hpZWRlbiB6dSBtdWVzc2VuIGhhdHRlIGRhcyBkaW5nIHdlbmlnIHNpbm4gKGxpbnV4LXZlcnNpb24pLiBtYWwKYWJ3YXJ0ZW4gd2FzIG5vY2gga29tbXQuLi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV29yZFBlcmZla3RXaW4zMS4rV2luVzYuMCAoR3JpbW1ib3JuLCAgOS4gRmViIDE5OTgsIDIwOjI4OjUzKToKfiMhIHJuPVd1cnplbCBydD04ODcwNTIzODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MTkxOTY0ClNlaXQgaWNoIE5DNC4wNCBoYWJlIChMaW51eCwga2FubiBuaWNodCBsYW5nZSBuYWNoIGRlbSBSYXVza29tbWVuIGRlc3NlbGJlbgpnZXdlc2VuIHNlaW4pIGhhYmUgaWNoIG5vY2gga2VpbmVuIEFic3R1cnogZ2VoYWJ0LiBBbGxlcmRpbmdzIHN1cmZlIGljaCBhdWNoCm5pY2h0IGhhdXB0YmVydWZsaWNoIGR1cmNoIGRpdmVyc2UgU2VpdGVuIG1pdCBkZW0gbGV0enRlbiB0ZWNobmlzY2hlbgpTY2huaWNrc2NobmFjay4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKUC5TLiBOQzQuMDMgaXN0IGJlaSBtaXIgdWVicmlnZW5zIGF1Y2ggbmllIGFiZ2VzdHVlcnp0IHNvbmRlcm4gbnVyIGJlaSBkZW4KS29sbGVnZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdvcmRQZXJmZWt0V2luMzEuK1dpblc2LjAgKEhlbHZhLCAxMC4gRmViIDE5OTgsIDA4OjU5OjIwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODcwNTI1MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MTkxOTY0CmljaCBzdXJmZSBlaWdlbnRsaWNoIHdlbmlnIGltIHd3dywgdW5kIGhhdHRlIGRhIGF1Y2gga2VpbmUgcHJvYmxlbWUuLmRhZnVlcgpzdHVlcnp0IE5DIDQuMDMgcmVnZWxtYWVzc2lnIGJlaW0gZWlubGVzZW4gZGVyIEFuemFobCBkZXIgTmFjaHJpY2h0ZW4gYWIsIHVuZApoYWV1ZmlnLCB3ZW5uIGljaCBpcmdlbmR3ZWxjaGUgRWluc3RlbGx1bmdlbiBhZW5kZXJuIG1vZWNodGUuCkhlbHZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChIYXRlLCAxMC4gRmViIDE5OTgsIDExOjI3OjE5KToKfiMhIHJuPUhlbHZhIHJ0PTg4NzA5NzU2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODYxOTE5NjQKRGFyZiBpY2ggTHlueCBlbXBmZWhsZW4/IERlciBzdHVlcnp0IG5pY2h0IGFiLCBoYXQga2VpbmUgR3JhZmlrLCBhYmVyIHNvbnN0CnNlaHIgbmV0dCA7LSkKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChKaW1kaWdyaXosIDEwLiBGZWIgMTk5OCwgMTQ6MjA6MDMpOgp+IyEgcm49SGF0ZSBydD04ODcxMDY0Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MTkxOTY0CgpocHJiZzQ6fj5seW54CgpNYWtpbmcgSFRUUCBjb25uZWN0aW9uIHRvIHd3dy5pbmZvcm1hdGlrLnR1LW11ZW5jaGVuLmRlLgpBIEZhdGFsIGVycm9yIGhhcyBvY2N1cnJlZCBpbiBMeW54IFZlci4gMi42CgpQbGVhc2Ugbm90aWZ5IHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgdG8gY29uZmlybSBhIGJ1ZywgYW5kCmlmIGNvbmZpcm1lZCwgdG8gbm90aWZ5IHRoZSBseW54LWRldiBsaXN0LiAgQnVnIHJlcG9ydHMgc2hvdWxkCmhhdmUgY29uY2lzZSBkZXNjcmlwdGlvbnMgb2YgdGhlIGNvbW1hbmQgYW5kL29yIFVSTCB3aGljaCBjYXVzZXMKdGhlIHByb2JsZW0sIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG5hbWUgd2l0aCB2ZXJzaW9uIG51bWJlciwgdGhlClRDUElQIGltcGxlbWVudGF0aW9uLCBhbmQgYW55IG90aGVyIHJlbGV2YW50IGluZm9ybWF0aW9uLgoKRG8gTk9UIG1haWwgdGhlIGNvcmUgZmlsZSBpZiBvbmUgd2FzIGdlbmVyYXRlZC4KCkx5bnggbm93IGV4aXRpbmcgd2l0aCBzaWduYWw6ICAxMAoKCkV4aXRpbmcgdmlhIGludGVycnVwdDogMApocHJiZzQ6fj4KCk9rb2ssIGVzIGxpZWd0IHZlcm11dGxpY2ggbmljaHQgYW4gTHluWCwgZGllIFZlcnNpb24gaXN0IG5pY2h0CmFrdHVlbGwgdW5kIGRhcyBPUyBpc3QgbWl0dGxlcndlaWxlIEhwU1VYIDEwLjIwIAoobHlueCB3dXJkZSBub2NoIGF1ZiA5LjBYIHVlYmVyc2V0enQpLgpBbHNvIGtlaW4gV3VuZGVyLCBkYXNzIGVzIG5pY2h0IGdlaHQsIGFiZXIgaWNoIGtvbm50ZQp0cm90emRlbSBuaWNodCB3aWRlcnN0ZWhlbi4KCkppbSBEaUdyaXosIGJlbnV0enQgZ2VybmUgTHluWAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nhbm5lciAoTXVya2VzLCAxMC4gRmViIDE5OTgsIDE0OjI3OjQwKToKSGFsbG8sCmljaCBzdWNoZSBlaW5lbiBndXRlbiBTY2FubmVyLCBkZXIgbW9lZ2xpY2hzdCB2aWVsIGthbm4gdW5kIG5pY2h0IHp1dmllbAprb3N0ZXQuIEFtIGJlc3RlbiB3YWVyZSBlcywgd2VubiBlciBhdWNoIERpYXMgdW5kIE5lZ2F0aXZlIGVpbnNjYW5uZW4ga2FubiwKbmF0dWVybGljaCBhYmVyIGF1Y2ggbm9ybWFsZSBkaW5hNC1TZWl0ZW4uIEdpYnQgZXMgaXJnZW5kd28gVGVzdC1CZXJpY2h0ZQp1ZWJlciBTY2FubmVyIGltIFdlYiwgd28gaWNoIG1pY2ggbWFsIGt1bmRpZyBtYWNoZW4ga2Fubj8gQmlzaGVyIGhhYmUgaWNoCm5pY2h0cyB2ZXJudWVuZnRpZ2VzIGdlZnVuZGVuLgoKRGFua2UsCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjYW5uZXIgKEVtYmUsIDEwLiBGZWIgMTk5OCwgMTc6NDg6MTApOgp+IyEgcm49TXVya2VzIHJ0PTg4NzExNzI2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODcxMTcyNjAKZWluIHNjYW5uZXIgZGVyIGE0IHVuZCBkaWFzIHNjYW5udD8KCnZlcmdpc3MgZXMhCnVtIGVpbiBkaWEgc2Nhbm5lbiB6dSBrIm9ubmVuIGJyYXVjaHN0IGR1IGVpbmUgMTB4IHNvIGdyb3NzZSBhdWZsIm9zdW5nCndpZSBmInVyIGE0IHdlbm4gZGFiZWkgd2FzIHJhdXNrb21tZW4gc29sbC4uLi4KCmdydXNzLCBlTUJlZS4KLS0KbXVkIGFkbWluaXN0cmF0aW9uICBTSUxLRQptYmFlaHIrZW1iZWVAaWFlc3RlLm9yLmF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjYW5uZXIgKEZyZXVuZCwgMTAuIEZlYiAxOTk4LCAxNzo1MjozOCk6Cn4jISBybj1FbWJlIHJ0PTg4NzEyOTI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODcxMTcyNjAKIyBUZWNobmlzY2ggZ2VodCBkYXMgc2Nob24uIERhcyBkaWUgRXJnZWJuaXNzZSBtaXQgZWluZW0gZWNodGVuIERpYS1TY2FubmVyCmJlc3NlciBzaW5kLCBpc3QgbG9naXNjaC4gQWJlciBtaXQgZWluZW0gRHVyY2hsaWNodGF1ZnNhdHoga2FubiBtYW4gYXVjaCBtaXQKbm9ybWFsZW4gU2Nhbm5lcm4gZWluIERpYSBlaW5zY2FubmVuLgpEaWUgQXVmc2FldHplIGthbm4gbWFuIGdldHJlbm50IGVyd2VyYmVuLiBEZXIgU2Nhbm5lciBzb2xsdGUgbW9lZ2xpY2hzdCBpbgpzZWluZW0gVHJlaWJlciBlaW5lIE9wdGlvbiBkYWZ1ZXIgYmlldGVuLgoKRnJldW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2FubmVyIChSYXR6LCAxMC4gRmViIDE5OTgsIDE4OjA4OjA0KToKfiMhIHJuPUZyZXVuZCBydD04ODcxMjk1NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3MTE3MjYwCmluIGVpbmVyIGRlciBsZXR6dGVuIGN0IHplaXRzY2hyaWZ0ZW4gd2FyIGVpbiBhdXNmdWVocmxpY2hlciB0ZXN0IHZvbgpTY2FubmVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjYW5uZXIgKEd1bmR1ciwgMTAuIEZlYiAxOTk4LCAxOToxNDo0OCk6Cn4jISBybj1SYXR6IHJ0PTg4NzEzMDQ4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODcxMTcyNjAKQWxzbyBoaWVyIGluIGRlciBVbmkgaGFtIHdpciBuZW4gRGluQTQgU2Nhbm5lciBkZXIgRGlhcyBzY2FubnQgdW5kIHp3YXIKemllbWxpY2ggZ3V0IQpNdXNzIGF1Y2ggc28gc2VpbiB3ZWlsIGRpZSBCaWxkZXIgZGlnaXRhbCBhdXNnZXdlcnRldCB3ZXJkZW4uClZpZWxsZWljaHQgbXVlc3N0ZSBtYW4gbWFuY2htYWwgbWl0IEF1c3NhZ2VuIHdpZSAnRGFzIGdlaHQgbmV0JyBvZGVyCidWZXJnaXNzZXMnIGV0d2FzIHZvcnNpY2h0aWcgc2Vpbj8hIDotKQptZkcKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChBY3JpbW9uLCAxMS4gRmViIDE5OTgsIDEzOjMzOjExKToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODcxMTY4MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg2MTkxOTY0Ckx5bnggZnVua3Rpb25pZXJ0IGJlaSBtaXIgd3VuZGVyYmFyLiBBdXNwcm9iaWVydCBpbiBkZXIgaHBoYWxsZS4KSGFzdCBEdSBpcmdlbmR3ZWxjaGUgc2VsdHNhbWVuIEVpbnN0ZWxsdW5nZW4/CgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtsZWluZXMgUHJvYiAoRGFya3dpbmcsIDExLiBGZWIgMTk5OCwgMTc6NDA6NDEpOgpIdWh1LApXaWUgaGFiZW4gYmVpIHVucyBpbSBOZXR6IGRhcyBQcm9ibGVtLCBkYXNzIGVpbiBSZWNobmVyIHNpY2ggd2VpZ2VydCwKZ3JvZXNzZXJlIFBha2V0ZSB6dSBlbXBmYW5nZW4uIEJpcyBjYS4gMTAwMDAgQnl0ZXMgZ2VodCBhbGxlcywgZGFydWViZXIgaXN0CmtvbW10IG5pY2h0cyBtZWhyIGFuLiBEZXIgUmVjaG5lciBsYWV1ZnQgdW50ZXIgV2luOTUsIGhhdCBqZW1hbmQgZWluZSBBaG51bmcKd28gbWFuIGRhIGVidGwuIGV0d2FzIGVpbnN0ZWxsZW4ga2Fubi9tdXNzID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGVpbmVzIFByb2IgKExhcmlzc2EsIDExLiBGZWIgMTk5OCwgMjA6NDM6NTUpOgp+IyEgcm49RGFya3dpbmcgcnQ9ODg3MjE1MjQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzIxNTI0MQoKRXRoZXJuZXQ/ClByb3Rva29sbD8KCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXb3JkUGVyZmVrdFdpbjMxLitXaW5XNi4wIChRdWFzaW1vZG8sIDEyLiBGZWIgMTk5OCwgMTI6MTk6NTUpOgp+IyEgcm49SGVsdmEgcnQ9ODg3MDQ3MzMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjE5MTk2NApOQyA0LjA0IGlzdCBfZGV1dGxpY2hfIHN0YWJpbGVyLiBXYXMgYXVjaCBuaWNodCBzZWhyIHNjaHdlciB3YXIuLi4KUXVhc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2xlaW5lcyBQcm9iIChEYXJrd2luZywgMTIuIEZlYiAxOTk4LCAxNTo0NDowNyk6Cn4jISBybj1MYXJpc3NhIHJ0PTg4NzIyNjIzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODcyMTUyNDEKYWxzbyBUQ1AvSVAgUHJvdG9rb2xsLi4uIGJlaSBQUFAgdW5kIEV0aGVybmV0IGRhcyBnbGVpY2hlIFByb2IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdvcmRQZXJmZWt0V2luMzEuK1dpblc2LjAgKEZ5dCwgMTIuIEZlYiAxOTk4LCAyMTowMDoyMik6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODg3MTE2ODAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NjE5MTk2NAoKSWNoIGthbm4gZGllIFNlaXRlIFByb2JsZW1sb3MgYW5zY2hhdWVuLi4uCgpGeXQuIE51ciBzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrbGVpbmVzIFByb2IgKEJvZWJiZWwsIDEyLiBGZWIgMTk5OCwgMjE6MTE6NDgpOgp+IyEgcm49RGFya3dpbmcgcnQ9ODg3Mjk0NjQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzIxNTI0MQoKSGkhCgpIbW0sIGVzIGtvZW5udGUgc2VpbiwgZGFzcyBNYXhGcmFtZVNpemUgenUgaG9jaCBlaW5nZXN0ZWxsdCBpc3QuCgpFaW4gQm9lYmJlbC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGludXg6IEZpbGVzeXN0ZW4gdm9uIGVpbmVyIEhEIHp1ciBhbmRlcmVuICJ1ZWJlcnRyYWdlbiI/IChQaWxncmltLCAxMi4gRmViIDE5OTgsIDIzOjE1OjEzKToKSGksCgp2aWVsbGVpY2h0IHdlaXNzIGVpbmVyIHdpZSBlcyBnZWh0IC4uLiBpY2ggd2Vpc3Mgc2Nob25tYWwsIHdpZSBlcwpuaWNodCBnZWh0IDstKAoKUHJvYmxlbTogTGludXgsIHJvb3QtRlMgdm9uIFBsYXR0ZSBhIChhbHQsIDUwMCBNQikgbmFjaCBwbHR0UGxhdHRlIGIgKG5ldSwKMi41IEdCIC0+IHNvbGwgc3BhZXRlciBQbGF0dGUgYSB3ZXJkZW4pIAp1ZWJlcnRyYWdlIC4uLiB1bmQgendhciBtaXQgYWxsZW4gIlJlY2h0ZW4iIHUucy53LgoKVmVyc3VjaDogbWMgLT4gdW5kIGFsbGVzIG1pdCBvcHRpb24gInByZXNlcnZlIFVJRFMvR0lEUyIgKG9kZXIgc28pCnZvbiBhIC0+IGIga29waWVydCAuLi4gdHV0cyBhdWNoIGZhc3QgOi0oIC4uLiBVU0VyIHVuZCBHUlVQUEVOIHNpbmQKcmljaHRpZyAuLi4uIGFiZXIgc2FlbXRsaWNoZSBmaWxlcyBtaXQgZGVtICItcy0iLUZsYWcgaGFiZW4gZGllc2VzIGF1ZgpkZXIgUGxhdHRlIGIgInZlcmxvcmVuIiAtPiBzY2hhZGUvdmVybG9yZW4gOy0oCgp3aWUgZ2VodHMgcmljaHRpZyA/Pz8KCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaXNvbiAvIFlhY2MgKEFuYXRvbCwgMTIuIEZlYiAxOTk4LCAyMzoyMzo0Nyk6CgpIZXlhIQpJY2ggaGFiZSBlaW4ga2xlaW5lcyBQcm9ibGVtLCB3ZWxjaGVzIG1pdCBCaXNvbi9ZYWNjIHp1IGxvZXNlbiBzZWluIHNvbGx0ZS4KTGVpZGVyIGJpbiBpY2ggbWlyIHVlYmVyIGRpZSBNYWVjaHRpZ2tlaXQgZGVzc2VuIG5pY2h0IHJpY2h0aWcgYmV3dXNzdCwgZGFoZXIKd2FlciBtaXIgZGVyIFJhdCBlaW5lcyBGYWNobWFucyBzY2hvbiBsaWViLi4uIGVzIGdlaHQgdW0gZWluZW4gU3ludGF4cGFyc2VyCmZ1ZXIgUHJvbG9nLUNvZGUsIGRlciB1LmEuIGRlbiBJbnB1dCBtaXQgZ2VuYXVlbiBLbGF1c2VsLVBvc2l0aW9uc2FuZ2FiZW4KYW5yZWljaGVybiBtdXNzIHVuZCBtb2VnbGljaHN0IHZpZWxlIEZlaGxlciBrbGFzc2lmaXppZXJlbiB1bmQgZXJrZW5uZW4Kc29sbC4gSXN0IGRpZSBiZXN0ZSBMb2VzdW5nIHRhdHNhZWNobGljaCBCaXNvbi9ZYWNjIG9kZXIgZW1wZmllaGx0IHNpY2gKZXR3YXMgYW5kZXJlcz8KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbk5UICsgTGludXggKE1vcmdvdGgsIDEzLiBGZWIgMTk5OCwgMDc6Mzg6MTMpOgpIaSwKZGEgbWVpbiBhbHRlciBSZWNobmVyIGFiZ2VzZW1tZWx0IGlzdCwgYmVrb21tZSBpY2ggaGllciBlaW5lbiBuZXVlbiBpbnMgQnVlcm8KZ2VzdGVsbHQuIERpZXNlciBzb2xsIGRhbm4gZGllIGJlaWRlbiBvYmVuIGdlbmFubnRlbiBCZXRyaWVic3N5c3RlbWUKYmVoZXJiZXJnZW4uIEluIHdlbGNoZXIgUmVpaGVuZm9sZ2Ugc29sbHRlIGljaCBkaWVzZSBpbnN0YWxsaWVyZW4gdW5kIGdpYnQgZXMKZGEgaXJnZW5kd2VsY2hlIFByb2JsZW1lL1JhdHNjaGxhZWdlPwpLb25maWd1cmF0aW9uOgpQLUlJIDIzMywgMTI4TUIsIDguNUdCLCBzb25zdGlnZXMKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbk5UICsgTGludXggKE1vcmdvdGgsIDEzLiBGZWIgMTk5OCwgMDc6Mzk6MTgpOgp+IyEgcm49TW9yZ290aCBydD04ODczNTE4OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3MzUxODkzCkFyZ2wuLi4uc2NoaWNrdCBkYXMgZ2FuemUgYml0dGUgcGVyIG1haWwgYW4KYmlya2VAcGVhbnV0LmNoZW1pZS51bmktZG9ydG11bmQuZGUKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eDogRmlsZXN5c3RlbiB2b24gZWluZXIgSEQgenVyIGFuZGVyZW4gInVlYmVydHJhZ2VuIj8gKEJsb29keWhhcnJ5LCAxMy4gRmViIDE5OTgsIDA3OjUwOjM1KToKfiMhIHJuPVBpbGdyaW0gcnQ9ODg3MzIxNzEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzMyMTcxMwoKSWNoIGhhYmUgZGllcyBzbyB3aWUgZXMgaW4gZGVuIERva3VzIGZ1ZXIgTGlsby1MaW51eCBzdGVodCBnZW1hY2h0LgpXZW5uIGRpZSBuZXVlIFBsYXR0ZSB1bnRlciAvbW50IGdlbW91dGV0IGlzdDoKCnRhciBjTVBmIC0gLyB8IChjZCAvbW50OyB0YXIgeE1DZiAtICkKCi9wcm9jIGRhcmYgZGFiZWkga2VpbmVzZmFsbHMgbWl0a29waWVydCB3ZXJkZW4hCgoKYmgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eDogRmlsZXN5c3RlbiB2b24gZWluZXIgSEQgenVyIGFuZGVyZW4gInVlYmVydHJhZ2VuIj8gKEhhdGUsIDEzLiBGZWIgMTk5OCwgMTE6NDg6NTcpOgp+IyEgcm49UGlsZ3JpbSBydD04ODczMjE3MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3MzIxNzEzCkljaCBtYWNoIHNvd2FzIGltbWVyIG1pdCBkdW1wL3Jlc3RvcmUKCmR1bXAgMGYgLSAvZGV2L2FsdGVwbGFkZGUgfCAoY2QgL25ldWVwbGFkZGU7IHJlc3RvcmUgeGYgLSkKSXJnZW5kd2llIHNvIHdhcnMgamVkZW5mYWxscy4gRGFubiBibGVpYmVuIGF1Y2ggZGllIGRldmljZSBmaWxlcwplcmhhbHRlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luTlQgKyBMaW51eCAoV3VyemVsLCAxMy4gRmViIDE5OTgsIDE1OjM4OjAyKToKfiMhIHJuPU1vcmdvdGggcnQ9ODg3MzUxODkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzM1MTg5MwpoYWIgaWNoIGdyYWQgaGludGVyIG1pciwgZGVuIGFrdC4KbnQgenVlcnN0LCBkYW5uIGxpbnV4LiBuZXR0ZXJ3ZWlzZSBrYW5uIG1hbiBkZW4gbnQtYm9vdGxvYWRlciB1ZWJlcnJlZGVuIHBlcgpkZWZhdWx0IGxpbnV4IHp1IHN0YXJ0ZW4sIGJyYXVjaHQgYWxzbyBrZWluIGxpbG8gaW0gbWJyLgp3YXMgbWlyIGF1ZmdlZmFsbGVuIGlzdCBiZWkgZGVyIGxpbnV4LWluc3RhbGxhdGlvbiB3YXIgZGllIGJlc2NocmFlbmt1bmcgZGVyCnN3YXAtcGFydGl0aW9uIGF1ZiAxMjggbWIuIGdlcmFkZSB3ZW5uIG1hbiB2aWVsIHNwZWljaGVyIGhhdCAodW5kIGJyYXVjaHQpLApqdWNrdCBlcyBzY2hvbiBlaW5lIGdyb2Vzc2VyZSBzd2FwYXJlYSB6dSBtYWNoZW4uIHdlaXNzIGplbWFuZCB3YXJ1bSBkYXMgc28KaXN0PwphbnNvbnN0ZW4gaGFiZSBpY2gga2VpbmUgZXh0cmVtZW4gcHJvYmxlbWUgZ2VoYWJ0LCBhbGxlcmRpbmdzIGlzdCBlcyB3b2hsCnNpbm52b2xsIHNpY2ggZnVlciBudCBkZW4gc2VydmljZXBhY2sgMyBlaW56dXNwaWVsZW4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luTlQgKyBMaW51eCAoTWFyY3VzLCAxMy4gRmViIDE5OTgsIDE1OjQzOjIxKToKfiMhIHJuPVd1cnplbCBydD04ODczODA2ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3MzUxODkzCk1hY2ggendlaSBzd2FwLXBhcnRpdGlvbnMuCk9kZXIgMy4KCk9kZXIgdmllbCB2aWVsIG1laHIgOykgCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eDogRmlsZXN5c3RlbiB2b24gZWluZXIgSEQgenVyIGFuZGVyZW4gInVlYmVydHJhZ2VuIj8gKEFjcmltb24sIDEzLiBGZWIgMTk5OCwgMTY6Mzc6NTEpOgp+IyEgcm49UGlsZ3JpbSBydD04ODczMjE3MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3MzIxNzEzClNvcnJ5LCBoYXQgZWlnZW50bGljaCBuaXggbWl0IGRlciBGcmFnZSB6dSB0dW4uCkljaCB3b2xsdGUgbnVyIGFubWVya2VuLCBkYXN6IGljaCBkaWUgRXJmYWhydW5nIGdlbWFjaHQgaGFiZSwgZGFzeiBxdWFsaXRhdGl2ZQphZWx0ZXJlIFBsYXR0ZW4gb2Z0IHNvZ2FyIGJlc3NlcmUgU2ljaGVyaGVpdCBiaWV0ZW4gYWxzIG5ldWUuCkljaCBoYWJlIG5vY2ggZWluZSAyMDAgTUIgUXVhbnR1bSwgZGllIGljaCB2b3IgNCBKYWhyZW4gZ2VicmF1Y2h0IGdla2F1ZnQgaGFiZQp1bmQgaW56d2lzY2hlbiB2ZXJtdXRsaWNoIDcgb2RlciA4IEphaHJlIGFsdCBzZWluIGR1ZXJmdGUuClNpZSBoYXQgaW4gZGVyIGdhbnplbiBaZWl0IG5vY2ggbmllIGVpbmVuIFNjaHJlaWIvTGVzZSBvZGVyIHNvbnN0aWdlbiBGZWhsZXIKZ2VoYWJ0LCBvYndvaGwgaWNoIHNpZSBzZWl0ZGVtIGFscyBTeXN0ZW1wbGF0dGUgdmVyd2VuZGUuCgpad2VpIEdpZ2FieXRlLVBsYXR0ZW4gaGFiZSBpY2ggc2VpdGRlbSBnZWthdWZ0LCBkaWUgZWluZSAoVG9zaGliYSkgaXN0IG5hY2gKZWluZW0gaGFsYmVuIEphaHIga29tcGxldHQgYWJnZXJhdWNodCwgaWhyZSBFcnNhdHpwbGF0dGUgYXVjaCwgdW5kIGRpZSBhbmRlcmUKKElCTSkgaGF0IG1hbmNobWFsIG5ldWUgU2NocmVpYi9MZXNlZmVobGVyLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcnRpa2VsIChHdW5kdXIsIDE3LiBGZWIgMTk5OCwgMTE6MzY6MzYpOgpIaQpOZWhtZW4gd2lyIGFuIGljaCBoYWV0dGUgbmUgU3VuIChtaXQgVU5peCBkcmF1Zi4uaWhyIHdpc3N0IHNjaG9uKQpOZWhtZW4gd2lyIHdlaXRlcmhpbiBhbiBkZXIgU3VwZXJ1c2VyIGRpZXNlciBTdW4gbWVpbnQgZXIgbXVlc3NlIGZ1ZXIgcm90dCBuZQphbmRlcmUgU2hlbGwgZWluc3RlbGxlbi4uCk51biBlZGl0aWVydCBlciBkYXMgcGFzc3dkZmlsZSBzY2hyZWlidCBuZSBhbmRlcmUgc2hlbGwgcmVpbiAsIG1hY2h0IG5lbgp0eXBvLi4uCndlbm4gZXIgbnUgc3UgbWFjaGVuIHdpbGwgZGFubiBrb21tdCBudXIgbm9jaCAnbm8gc2hlbGwnCkFueSBpZGVhcyA/IGQuaC4gZWlubG9nZ2VuIGFscyByb290IG5pbW1lciBtb2VnbGljaCBncmFkLi4KbWZHCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFydGlrZWwgKFd1cnplbCwgMTcuIEZlYiAxOTk4LCAxMTo0MDoyNCk6Cn4jISBybj1HdW5kdXIgcnQ9ODg3NzExNzk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzcxMTc5NgplaW5lbiBhbmRlcmVuIHVzZXIsIHVudGVyIGRlbSBtYW4gc2ljaCBlaW5sb2dnZW4ga2FubiwgYXVmIHVzZXJpZCAwIHNldHplbi4Ka29lbm50ZSBhbGxlcmRpbmdzIHNjaHdpZXJpZyB3ZXJkZW4sIHdlaWwgbWFuIGRhenUgdHJpY2tzIGJyYXVjaHQsIHdlbm4gbWFuCm5pY2h0IGF1ZiBwYXNzd2Qgc2NocmVpYmVuIGthbm4uLi4KYW5zb25zdGVuIG51ciBkZXIgdGlwLCBjaHNoIHp1IHZlcndlbmRlbiBhbnN0ZWxsZSBkZXMgZWRpdG9ycwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFydGlrZWwgKFlhcmVuLCAxNy4gRmViIDE5OTgsIDExOjQ5OjExKToKfiMhIHJuPUd1bmR1ciBydD04ODc3MTE3OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3NzExNzk2Cmthbm5zdCBkdSB2ZXJnZXNzZW4sIHdlbm4gZHUgbmljaHQgdm9uIGVpbmVyIGFuZGVyZW4gcGFydGl0aW9uLCBkaXNrZXR0ZSBvZGVyCmNkIGJvb3RlbiBrYW5uc3QgLSBkYSBrb21tc3QgZHUgbmltbWVyIHJhbi4gaG9lcnQgc2ljaCBtaXIgYWVobmxpY2ggYW4gd2llIGVpbgp0cmljaywgbWl0IGRlbSBpY2ggbWlyIG1hbCBpbiBkZW4gZnVzcyBnZXNjaG9zc2VuIGhhYmU6IG1hbCBlYmVuIGRlbiBsaW5rIGRlcgpsaWJjIGFlbmRlcm4gLi4uIG9vb3BzIC4uLgoKWWFyZW4uIGlzdCBhdWNoIGVpbiBnZWJyYW5udGVzIGtpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCAoRW1iZSwgMTcuIEZlYiAxOTk4LCAxMjowMzo0MCk6Cn4jISBybj1HdW5kdXIgcnQ9ODg3NzExNzk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzcxMTc5NgpoYWgsIGRlbiBmZWhsZXIgaGFiIGljaCBhdWNoIHNjaG9uIGdlbWFjaHQgOi0pCih1bmQgbmljaHQgbnVyIGVpbm1hbCA6LSkKCmRhcyBsZXR6dGUgbWFsLCBoYW0gd2lycyBkYW1pdCBnZWwib3N0LCBkYXMgd2lyIHZvbiBlaW5lciBpbnN0YWxsYXRpb25zLWNkCmdlYm9vdGV0IGhhbS4uLgppcmdlbmQgd2FzIG1pdCBzaW5nbGV1c2VyIHNwdWt0IG1pciBhdWNoIG5vY2ggaW0ga29wZiBydW0uLi4uCgpncnVzcywgbWFydGluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWRkcmVzc2Jvb2sgcGluZS0+bmV0c2NhcGUgKFByYSwgMTcuIEZlYiAxOTk4LCAxNzoyMTowMik6Ck1vaW4hCgpJY2ggd2VyZGUgamV0enQgd29obCBkb2NoIHZvbiBwaW5lIGF1ZiBuZXRzY2FwZSBtYWlsIHVtc3RlaWdlbiBtdWVzc2VuLgpHaWJ0IGVzIGVpbmUgTW9lZ2xpY2hrZWl0LCBtZWluIC5hZGRyZXNzYm9vayAodm9uIHBpbmUpIGF1ZiBuZXRzY2FwZQptaXR6dW5laG1lbj8gTmV0c2NhcGUgQ29tbXVuaWNhdG9yIDQuMCBvZGVyIHNvLgpBZGRyZXNzIEJvb2sgLT4gRmlsZSAtPiBJbXBvcnQga2xhcHB0IGxlaWRlciBuaWNodC4KClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcnRpa2VsIChFbmd5d3VjaywgMTcuIEZlYiAxOTk4LCAxODo1NDoxNik6Cn4jISBybj1HdW5kdXIgcnQ9ODg3NzExNzk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4NzcxMTc5NgpIbS4gS2xhcHB0cyB2aWVsbGVpY2h0LCB3ZW5uIG1hbiBkYXMgcGFzc3dkIHVlYmVyIGZ0cCBob2x0LCBlZGl0aWVydCwgdW5kIGRhbm4Kd2llZGVyIHp1cnVlY2tzcGllbHQ/IE9kZXIgYnJhdWNodCBtYW4gZGllIHNoZWxsIGF1Y2gsIHdlbm4gbWFuIHNpY2ggdWViZXIgZnRwCmFscyByb290IGVpbmxvZ2d0PwoKTnVyIHNvIGFscyBUaXAuLi4KCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFydGlrZWwgKEd1bGR1a2F0LCAxNy4gRmViIDE5OTgsIDE4OjU2OjA1KToKfiMhIHJuPUVuZ3l3dWNrIHJ0PTg4NzczODA1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODc3MTE3OTYKYWxzIG5vcm1hbGVyIHVzZXIgZWlubG9nZ2VuIHVuZCBkYW5uIGVpbiBzdSBtYWNoZW4gKG9obmUgLSkgPyE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcnRpa2VsIChHdWxkdWthdCwgMTcuIEZlYiAxOTk4LCAxODo1ODozMik6Cn4jISBybj1HdWxkdWthdCBydD04ODc3MzgxNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3NzExNzk2Cm9rLCBnZWh0IHdvaGwgbmljaHQgLi4uIDspCgptbWgsIG1pdCBlaW5lbSBib290YmFuZC9ib290ZGlza2V0dGUgZWluIG1pbmltYWwgdW5peCBsYWRlbiB1bmQgZGFzCi9ldGMgbW91bnRlbiwgcGFzc3dkIGVkaXRpZXJlbiAuLi4KYnR3OiBmcmFnIG1hbCBhbmR5LCB3aWUgbWFuIGVpbiBib290ZmFlaGlnZXMgYmFuZCBtYWNodCEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YWJyZXBvcnQgaW4gc3RhdHVzemVpbGUgKERob2pha3QsIDE4LiBGZWIgMTk5OCwgMDg6Mjg6MjYpOgpPaywgaGllciBnaWJ0cyBmdWVyIGFsbGUgdGY0LngtZmFucyBkaWUgZGFyc3RlbGx1bmcgZGVzIHN0YWJyZXBvcnRzIGluIGRlcgpzdGF0dXN6ZWlsZS4gRGllIFVtZm9ybWF0aWVydW5nIHNldHp0IHZvcmF1cywgZGFzcyBtYW4gc2VpbmVuIFN0YWJyZXBvcnQgbmljaHQKdW1mb3JtYXRpZXJ0IGhhdC4KCjtTdGFicmVwb3J0LW1ha3JvCjtwcm9ncmFtbWllcnQgdm9uIEtoaWRhciwgVmVyc2lvbiAxOC4yLjE5OTgKL2RlZiAtYWcgLW1yZWdleHAgLXA5OTAwMCAtdCdeKD4gfD4gICkqTGViZW5zcHVua3RlOiAoWzAtOV0qKSBcKChbMC05XSopXCkgIFwKICBNYWdpZXB1bmt0ZTogKFswLTldKikgXCgoWzAtOV0qKVwpIFN0YWJtYWdpZTogKFswLTldKikgXCgoWzAtOV0qKVwpJyBcCiAgbHB0cmlnMj0vbHBzdGF0MiAlUDIgJVA0ICVQNgo7aWdub3Jlc3RhdHVzIHdlZ2VuIG9tYmF0aXMKL3NldCBpZ25vcmVzdGF0dXM9MAovZGVmIC1hZyAtbXJlZ2V4cCAtcDk5MDAwIC10J14oPiB8PiAgKSpGbGFtbWVuZGUgSGFuZCBcKChbYWVpbnVzXSopXCkgIFwKICBXaWxsZSBcKChbYWVpbnVzXSopXCkgIFhIYW5kIFwoKFthZWludXNdKilcKSAgU2NodXR6emF1YmVyIFwKICBcKChbQS1aYS16XSopXCknIGxwdHJpZzM9L2lmIC90ZXN0ICRbKDArIWlnbm9yZXN0YXR1cyldJTsvdGhlbiBcCiAgL2xwc3RhdDMgJVAyICVQMyAlUDQgJVA1JTsvZWxzZSAvc2V0IGlnbm9yZXN0YXR1cz0wJTsvZW5kaWYKL3NldCBtYXhscD0yMTAKL3NldCBtYXhtcD0yMjYKL3NldCBteXN0YXR1cz1VbnNldAovc2V0IHN0YXR1c19maWVsZHM9bXlzdGF0dXMgQG1vcmU6ODpCciA6MSBAd29ybGQ6NSA6MSBpbnNlcnQ6NiA6MSBAY2xvY2s6NQovZGVmIGxwc3RhdDI9L3NldCBvbGRscD0lYWN0bHAlOy9zZXQgb2xkbXA9JWFjdG1wJTsvc2V0IGFjdGxwPSUxJTtcCiAgICAgIC9zZXQgYWN0bXA9JTIlOy9zZXQgb2xkc3RhYj0lYWN0c3RhYiU7L3NldCBhY3RzdGFiPSUzJTtcCiAgICAgIC9zZXQgYWN0bHA9JWFjdGxwJTsvc2V0IGFjdG1wPSVhY3RtcCU7L3NldCBhY3RzdGFiPSVhY3RzdGFiCgovZGVmIGxwc3RhdDM9XAogICAgICAvaWYgL3Rlc3QgJFsoJTE9fiJlaW4iKV0lOy90aGVuIFwKICAgICAgICAvc2V0IG9sZGZsYW1taGFuZD0kWyhmbGFtbWhhbmQpXSU7L3NldCBmbGFtbWhhbmQ9XCslO1wKICAgICAgL2Vsc2UgXAogICAgICAgIC9zZXQgb2xkZmxhbW1oYW5kPSRbKGZsYW1taGFuZCldJTsvc2V0IGZsYW1taGFuZD1cLSU7XAogICAgICAvZW5kaWYlO1wKICAgICAgL2lmIC90ZXN0ICRbKCUyPX4iZWluIildJTsvdGhlbiBcCiAgICAgICAgL3NldCBvbGR3aWxsZT0kWyh3aWxsZSldJTsvc2V0IHdpbGxlPVwrJTtcCiAgICAgIC9lbHNlIFwKICAgICAgICAvc2V0IG9sZHdpbGxlPSRbKHdpbGxlKV0lOy9zZXQgd2lsbGU9XC0lO1wKICAgICAgL2VuZGlmJTtcCiAgICAgIC9pZiAvdGVzdCAkWyglMz1+ImVpbiIpXSU7L3RoZW4gXAogICAgICAgIC9zZXQgb2xkeHRyYWhhbmQ9JFsoeHRyYWhhbmQpXSU7L3NldCB4dHJhaGFuZD1cKyU7XAogICAgICAvZWxzZSBcCiAgICAgICAgL3NldCBvbGR4dHJhaGFuZD0kWyh4dHJhaGFuZCldJTsvc2V0IHh0cmFoYW5kPVwtJTtcCiAgICAgIC9lbmRpZiU7XAogICAgICAvc2V0IG9sZHNjaHV0enphdWJlcj0kWyhzY2h1dHp6YXViZXIpXSU7L3NldCBzY2h1dHp6YXViZXI9JTQlO1wKICAgICAgL2lmIC90ZXN0ICRbKHNjaHV0enphdWJlcj1+IlNjaHV0emh1ZWxsZSIpXSU7L3RoZW4gXAogICAgICAgIC9zZXQgc2NodXR6emF1YmVyPUh1ZWxsZSU7XAogICAgICAvZW5kaWYlO1wKICAgICAgL3NldCBzY2h1dHp6YXViZXI9JFtzdWJzdHIoc2NodXR6emF1YmVyLDAsMSldJTtcCiAgICAgIC9pZiAvdGVzdCAkWygob2xkZmxhbW1oYW5kIX5mbGFtbWhhbmQpfChvbGR3aWxsZSF+d2lsbGUpfFwKICAgICAgICAgIChvbGR4dHJhaGFuZCF+eHRyYWhhbmQpfChvbGRzY2h1dHp6YXViZXIhfnNjaHV0enphdWJlcikpXSU7L3RoZW4gXAogICAgICAgIC9zZXQgc3dtcD0iKzk5OSIlO1wKICAgICAgL2VuZGlmJTtcCiAgICAgIC9zZXQgbXlzdGF0dXM9JFtwYWQoIl8gTFA6ICIsIDAsIGFjdGxwLCAzLCAiICBNUDogIiwgMCwgYWN0bXAsIDMsIFwKICAgICAgICAgICIgIFNQOiAiLCAwLCBhY3RzdGFiLCAzLCAiICBGSCIsIDAsIGZsYW1taGFuZCwgMCwgIiAgVyIsIDAsIFwKICAgICAgICAgIHdpbGxlLCAwLCAiICBYSCIsIDAsIHh0cmFoYW5kLCAwLCAiICBTWjogIiwgMCwgc2NodXR6emF1YmVyLCAwLCBcCiAgICAgICAgICAiIF8iLCAwKV0lO1wKICAgICAgL2lmIC90ZXN0ICRbKG9sZGxwPmFjdGxwKV0lOy90aGVuIFwKICAgICAgICAvZWNobyAtYWhDbWFnZW50YSBMUDogJWFjdGxwICBNUDogJWFjdG1wICBTUDogJWFjdHN0YWIgIFwKICAgICAgICAgICAgRkglZmxhbW1oYW5kICBXJXdpbGxlICBYSCV4dHJhaGFuZCAgU1o6ICVzY2h1dHp6YXViZXIlO1wKICAgICAgICAvc2V0IHN3bHA9JWFjdGxwJTsvc2V0IHN3bXA9JWFjdG1wJTtcCiAgICAgIC9lbHNlaWYgL3Rlc3QgJFsoc3dscDwoYWN0bHAtOSkpXSU7L3RoZW4gXAogICAgICAgIC9lY2hvIC1haENtYWdlbnRhIExQOiAlYWN0bHAgIE1QOiAlYWN0bXAgIFNQOiAlYWN0c3RhYiAgXAogICAgICAgICAgICBGSCVmbGFtbWhhbmQgIFcld2lsbGUgIFhIJXh0cmFoYW5kICBTWjogJXNjaHV0enphdWJlciU7XAogICAgICAgIC9zZXQgc3dscD0lYWN0bHAlOy9zZXQgc3dtcD0lYWN0bXAlO1wKICAgICAgL2Vsc2VpZiAvdGVzdCAkWyhvbGRtcD5hY3RtcCldJTsvdGhlbiBcCiAgICAgICAgL2VjaG8gLWFoQ21hZ2VudGEgTFA6ICVhY3RscCAgTVA6ICVhY3RtcCAgU1A6ICVhY3RzdGFiICBcCiAgICAgICAgICAgIEZIJWZsYW1taGFuZCAgVyV3aWxsZSAgWEgleHRyYWhhbmQgIFNaOiAlc2NodXR6emF1YmVyJTtcCiAgICAgICAgL3NldCBzd2xwPSVhY3RscCU7L3NldCBzd21wPSVhY3RtcCU7XAogICAgICAvZWxzZWlmIC90ZXN0ICRbKHN3bXA8KGFjdG1wLTkpKV0lOy90aGVuIFwKICAgICAgICAvZWNobyAtYWhDbWFnZW50YSBMUDogJWFjdGxwICBNUDogJWFjdG1wICBTUDogJWFjdHN0YWIgIFwKICAgICAgICAgICAgRkglZmxhbW1oYW5kICBXJXdpbGxlICBYSCV4dHJhaGFuZCAgU1o6ICVzY2h1dHp6YXViZXIlO1wKICAgICAgICAvc2V0IHN3bHA9JWFjdGxwJTsvc2V0IHN3bXA9JWFjdG1wJTtcCiAgICAgIC9lbHNlaWYgL3Rlc3QgJFsoKG1heGxwPD1hY3RscCkmKG1heG1wPD1hY3RtcCkpXSU7L3RoZW4gXAogICAgICAgIC9lY2hvIC1haENtYWdlbnRhIExQOiAlYWN0bHAgIE1QOiAlYWN0bXAgIFNQOiAlYWN0c3RhYiAgXAogICAgICAgICAgICBGSCVmbGFtbWhhbmQgIFcld2lsbGUgIFhIJXh0cmFoYW5kICBTWjogJXNjaHV0enphdWJlciU7XAogICAgICAgIC9zZXQgc3dscD0lYWN0bHAlOy9zZXQgc3dtcD0lYWN0bXAlO1wKICAgICAgL2VuZGlmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJ0aWtlbCAoSmltZGlncml6LCAxOC4gRmViIDE5OTgsIDE4OjAyOjE3KToKfiMhIHJuPUd1bmR1ciBydD04ODc3MTE3OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3NzExNzk2CgpNb2luLAoKaW0gc2luZ2xlLXVzZXIgbW9kdXMgYm9vdGVuLiBTb3dlaXQgaWNoIHdlaXNzIG5pbW10CmRhcyBzeXN0ZW0gaW0gc2luZ2xlLXVzZXIgbW9kZSBfaW1tZXJfIC9iaW4vc2ggYWxzIHNoZWxsLAplZ2FsIHdhcyBlaW5nZXRyYWdlbiBpc3QuClBsYXR0ZSB3b2FuZGVycyBtb3VudGVuIHNldHp0IGhhbHQgZWluYmF1IGRlciBQbGF0dGUKd29hbmRlcnMgdm9yYXVzLCBnZWh0IGFiZXIsIHVuZCBpc3QgbmljaHQgc29vbyBhdWZ3ZW5kaWcKKFBlciBORlMgZXhwb3JpZXJlbiB1bmQgdXNlciByb290IGF1ZiByb290IG1hcHBlbiBnZWh0CnZlcm11dGxpY2ggbWFuZ2VscyByb290LWFjY291bnQgbmljaHQpCkVpbmVtIGFuZGVyZW4gVXNlciBVSUQgMCBlaW56dXRyYWdlbiBzb2xsdGUgYWxzCm5pY2h0LVN1cGVydXNlciBhdWNoIG5pY2h0IGdlaGVuLCBBVVNTRVIKZGFzIFN5c3RlbSBpc3QgbmljaHQgYXVmIG5lbSBha3R1ZWxsZW4gcGF0Y2hsZXZlbAp1bmQgaGF0IG5vY2ggc2VjdXJpdHkgYnVncywgZGllIG1hbiBhdXNudXR6ZW4gCmtvZW5udGUgOikKCk9iIGZ0cCBnZWh0IHdlaXNzIGljaCBuaWNodCwgZGVyIGZ0cGQgd2lsbCBldnRsIApuaWNodCBkYXNzIHJvb3Qgc2ljaCBlaW5sb2dndCA/IAoKY2hzaCBpc3QgdGF0c2FlY2hsaWNoIHNjaGxhdWVyLCBzY2hsaWVzc2xpY2gKd2lyZCBkYSBhdWNoIC9ldGMvc2hlbGxzIGdlcHJ1ZWZ0LgpEYSBmYWVsbHQgbWlyIGVpbiwgaWNoIGtvbm50ZSBtYWwgbmljaHQgcGVyIGZ0cAp6dWdyZWlmZW4sIHdlaWwgZWluZSBzaGVsbCBuaWNodCBpbiAvZXRjL3NoZWxscwpzdGFuZCwga2FubiBhbHNvIHdpcmtsaWNoIHNlaW4sIGRhc3MgZGVyIGZ0cGQKZWluZSBicmF1Y2h0Li4uCgpWaWVsIEVyZm9sZywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCAoV3VyemVsLCAxOC4gRmViIDE5OTgsIDE4OjEwOjMyKToKfiMhIHJuPUppbWRpZ3JpeiBydD04ODc4MjEzMzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg3NzExNzk2CmhtLCBzdW4ga2VubmUgaWNoIGFuIGRlciBzdGVsbGUgbmljaHQuIGhwLXV4IGhhdCBhdWNoIGluIGRlciBuZXVlc3RlbiAKZmFzc3VuZyBkaWUgbW9lZ2xpY2hrZWl0LCBzaWNoIHJvb3RyZWNodGUgenUgZXJnYXR0ZXJuLiBmcmFnIG1pY2ggYWJlcgpuaWNodCBuYWNoIGRldGFpbHMgOikgaWNoIG1vZWNodGUgYWJlciB3ZXR0ZW4sIGRhc3Mgc3VuIGRpZSBnbGVpY2hlbgpvZGVyIGFlaG5saWNoZSBtb2VnbGljaGtlaXRlbiBiaWV0ZXQuCndlbm4gZGFzIGltIHNpbmdsZSB1c2VyIG1vZGUga2xhcHB0LCBzb2xsdGUgZGFzIHByb2JsZW0gamEgZ2Vsb2VzdCBzZWluLgplcyBrYW5uIGFiZXIgdHJvdHpkZW0gbWFuY2htYWwgc2VociBoaWxmcmVpY2ggc2Vpbiwgd2VubiBub2NoIGVpbiB3ZWl0ZXJlcgp1c2VyIG1pdCB1aWQgMCBleGlzdGllcnQsIGRhbWl0IG1hbiBpbiBzb2xjaGVuIGZhZWxsZW4gbmljaHQgZ2xlaWNoIGluCnNjaHdlaXNzIGdlcmFldCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2lBTiAoTW9yZ290aCwgMjAuIEZlYiAxOTk4LCAxNjoxOTozMCk6CkhpIExldXRlLAppY2ggd2lsbCBTY2lBbiBhdWYgZWluZXIgU0dJLU8yIHVudGVyIElSSVggNi4zIGtvbXBpbGllcmVuLiBMZWlkZXIgaGF0IGVyIGluClNjaWFuSnBlZy5jIHVucmVmZXJlbmNlZCBzeW1ib2xzLiBJY2ggaGFiIGRpZXNlIGluIGRlciAvdXNyL2luY2x1ZGUvdGVybWlvcy5oCmdlZnVuZGVuLiBsZWlkZXIgc2NoZWludCBpcmdlbmRlaW5lIGxpYiB6dSBmZWhsZW4gb2RlciBvdXQgb2YgZGF0ZSB6dSBzZWluLgpIYXQgaXJnZW5kd2VyIG5lIGFobnVuZyB3byBpY2ggZW50d2VkZXIgZWluIHByZWNvbXBpbGVkIFNjaUFuIGZ1ZXIgSVJJWCA2LjMKYmVrb21tZSBiencuIHdlbGNoZSBsaWIgZGEgJ2RlZmVrdCcgaXN0IHVuZCB3aWUgaWNoIGRhcyBiZWhlYmVuIGthbm4uCgpUaGFueC4uLgoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaUFOIChZYXJlbiwgMjAuIEZlYiAxOTk4LCAyMToyODowMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg4Nzk4Nzk3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODc5ODc5NzAKYmVpIFNHSSBJcml4IG11c3MgbWFuIGphIGFscyBlcnN0ZXMgZGllIHN0YW5kYXJkLWZyYWdlbiBzdGVsbGVuOiB3ZWxjaGUKY29tcGlsZXItdmVyc2lvbj8gd2VsY2hlIGxpYmM/IHdlbGNoZSBwYXRjaGVzIGluc3RhbGxpZXJ0PyB3ZW5uIGVyIG5pY2h0IGRhcwpmZWhsZW4gaXJnZW5kd2VsY2hlciBsaWJyYXJpZXMgYmVtYWVuZ2VsdCwgZGFubiBrYW5uIGVzIG51ciBhbiB2ZXJhbHRldGVuCnNvbGNoZW4gbGllZ2VuLiBhYmVyIG9obmUgenUgd2lzc2VuLCBXRUxDSEUgc3ltYm9sZSBuaWNodCByZXNvbHZlZCB3ZXJkZW4sCmthbm4gZGlyIGxlaWRlciBrZWluZXIgc2FnZW4sIHdlbGNoZSBsaWJyYXkgZGFzIGlzdCA7LSkKCllhcmVuLiB3aXJkIGF1Y2ggamVkZW4gdGFnIHZvbiBJcml4IDYuMiBoZWltZ2VzdWNodCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnd3dy1mcmFnZSAoVWxvLCAyMi4gRmViIDE5OTgsIDE3OjU5OjM4KToKSEkhCgpJbW1lciBiZWltIGVpbmxvZ2dlbiBpbnMgTUcga29tbXQgamEgZGVyIHNjaG9lbmUgU3BydWNoOgpIVFRQLzEuMCAzMDIgRm91bmQKTG9jYXRpb246IGh0dHA6Ly9tZy5tdWQuZGUvCklzdCBkYXMgZWluZSBlaW5mYWNoZSBNb2VnbGljaGtlaXQsIHd3dy1hbmZyYWdlbiwgZGllIGFuIGVpbmVtIHJlY2huZXIKYW5rb21tZW4sIGRlciBrZWluZW4gaHR0cGQgby5hZS4gbGF1ZmVuIGhhdCwgd2VpdGVyenVsZWl0ZW4gYW4gZWluZSBhbmRlcmUKYWRyZXNzZT8gT2RlciBnaWJ0cyBkYSBub2NoIGVpbmZhY2hlcmUgbWV0aG9kZW4/CgpVbG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3d3ctZnJhZ2UgKEhhdGUsIDIyLiBGZWIgMTk5OCwgMjA6Mzk6MzgpOgp+IyEgcm49VWxvIHJ0PTg4ODE2Njc3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODgxNjY3NzgKSmEsIGVpbmUgc29sY2hlIG1vZWdsaWNoa2VpdCBpc3QgZGFzLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3d3ctZnJhZ2UgKFdvb2R5LCAyMy4gRmViIDE5OTgsIDE1OjA5OjM4KToKfiMhIHJuPUhhdGUgcnQ9ODg4MTc2Mzc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4ODE2Njc3OApJc3QgZGllIG5pY2h0IGV0d2FzIGFuYWNocm9uaXN0aXNjaCBiencuIG5lIEFsdGxhc3Q/IERlbm4gd2VyCmdpYnQgc2Nob24gaHR0cDovL21nLm11ZC5kZToyMy8gZWluPyBPYndvaGwsIHdlbm4gaWNoIGVzIG1pcgpnZW5hdSB1ZWJlcmxlZywgZGEgZ2lidHMgYmVzdGltbXQgZ2VudWcgTGV1dGUuLi4gOikKCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJ0aWtlbCAoTXVhZGRpYiwgMjMuIEZlYiAxOTk4LCAxODozNjowMik6Cn4jISBybj1FbWJlIHJ0PTg4NzcxMzQyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODc3MTE3OTYKZ3J1c3MsIG1hcnRpbj8/Cgo8aW5zaWRlcj4KaG1tLCBFbWJlLCB3aXIgc2luZCBuaWNodCBhdWYgZGVyIExMTAo8L2luc2lkZXI+CgpNdWEsIGdyaW5zZW5kIHVuZCBzaWNoIGZ1ZXIgJ29mZnRvcGljJyBlbnRzY2h1bGRpZ2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2FsZGVyYSBvcGVuIGxpbnV4Li4uIChNeXN0ZXJpb3VzLCAyNy4gRmViIDE5OTgsIDE1OjIyOjQzKToKbmkgaGFvIQoKYWxzby4uIGljaCBoYWIgaGllciBmb2xnZW5kZXMgcHJvYi4uLi4KCmxpbnV4IGtpc3RlLCBtaXQgaXAgdW5kIHNvbiBrcmFtcyBoYWVuZ3QgaW0gbmV0ei4uIGZ1bnp0IGFsbGVzIHd1bmRlcmJhci4uLi4KCm51biBpcyBkYXMgbGFuLWthYmVsIG4gYmlzc2VsIGtuaWNraWcsIGJydWVjaGlnIGV0Yy4uLgplcyB3aXJkIG51biBhdXNnZXRhdXNjaHQuLi4uCgpudW5qYSwgdW5kIHNlaXRkZW0gZnVuenQgd29obCBkaWUgdmVyYmluZHVuZyBuYWNoIGRyYXVzc2VuIG5pY2ggbWVoci4uLgoKa2VpbiBuc2xvb2t1cCwga2VpbiBwaW5nLCBrZWluIHRlbG5ldC4uLi4uCm1pdHRlbHMgbmV0c3RhdCBrYW5uIG1hbiBhYmVyIHNlaGVuLCBkYXNzIHN0YWVuZGlnIHBha2V0ZSBhbnRhbnplbi4uLgpodXBwcy4uIHRhdXNjaHQgbWFsIGJpZGRlIG5ldHN0YXQgbWl0IHN0YXRuZXQgKHNvIG4gY2FsZGVyYS1wcm9nKS4uCgptaXQgaWZjb25maWcga2FubiBtYW4gYXVjaCBlcmtlbm5lbiwgZGFzcyBzdGFlbmRpZyBwYWtldGUgcmVpbmtvbW1lbi4uLgoKd2VubiBtYW4gc2VsYnN0IG4gcGluZyB6LmIuIG1hY2h0LCBkYW5uIGVya2VubnQgaWZjb25maWcgYXVjaCwgZGFzcyB3YXMKbG9zZ2VzY2hpY2t0IHd1cmRlLi4uCgpudXIgaXJnZW5kd2llIGtvbW10IG5pY2h0cyB6dXJ1ZWNrLi4uLgoKCndhcyBhYmVyIG5vY2ggdmllbCB2ZXJ3dW5kZXJsaWNoZXIgaXN0LCBkYXNzIGFsbGUgcmVjaG5lciwgZGllIGltIGdsZWljaGVuCnN1Ym5ldHogbGllZ2VuIChibGEuZmFzZWwuc3VlbHoueHh4LCBhbHNvIGRpZSBtaXQgeHh4KSBlcnJlaWNodCB3ZXJkZW4Ka29lbm5lbi4uICh6dW1pbmRlc3Qgdm9uIHBpbmcsIHRlbG5ldGQgdW5kIGZpbmdlcmQgd3VyZGVuIGF1ZiBkaWVzZW4gcmVjaG5lcm4Kd29obCBhYmdlc2NoYWx0ZXQpLi4uCgp2aWVsbGVpY2h0IGlzIGphIGRlciB6dXN0YWVuZGlnZSByb3V0ZXIgZnV0c2NoLi4uCgp1bSBkaWVzZSB1aHJ6ZWl0IGthbm4gbWFuIGxlaWRlciBhdWNoIGtlaW5lbiBtZWhyIGZyYWdlbiAod29jaGVuZW5kZSB1bmQgc28pLi4KCnZpZWxsZWljaHQgaGF0IGplbWFuZCBuZSBpZGVlIHVuZC9vZGVyIG1vZWNodGUgbm9jaCBtZWhyIGluZm9zIDopCgoqaG9lZmxpY2ggdmVybmVpZyoKZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjYWxkZXJhIG9wZW4gbGludXguLi4gKEppbWRpZ3JpeiwgMjcuIEZlYiAxOTk4LCAxNzozOTowNik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg4ODU4OTM2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODg1ODkzNjMKTW9pbiwKClRqYSBmdWVyIGFsbGVzIGF1c3NlcmhhbGIgdm9tIFN1Ym5ldHogbXVzc3QgRHUgamEgZWluZW4Kcm91dGVyIGVpbmdldHJhZ2VuIGhhYmVuLiAKU2NoYXUgRGlyIG1hbCBtaXQgbmV0c3RhdCAtcm4gZGllIHJvdXRpbmctdGFibGUgYW4KdW5kIGt1Y2ssIHdhcyBhbHMgZGVmYXVsdC1yb3V0ZSBlaW5nZXRyYWdlbiBpc3QsIHVuZCBvYgpkZXIgRWludHJhZyBkYXMgRyhhdGV3YXkpIGZsYWcgaGF0LiAKV2VubiBkaWUgcm91dGUgZmVobHQgZWluZmFjaCBuYWNodHJhZ2VuLgoobWFuIHJvdXRlKQoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlQgKEd1bmR1ciwgIDMuIE1hciAxOTk4LCAxMToyODoxNik6CkhpCldpbiBOVApMYXVmd2VyayBGIC0+IFppcGxhdWZ3ZXJrCkxhdWZ3ZXJrIEcgLT4gQ0Qgcm9tCkd1bmR1ci0+IFdpbGxzIHVtZ2VrZWhydC4uLndpZSBnaW5nIGRhcyBub2NobWFsPwptZkcKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOVCAoVHJhbmNlZmVhciwgIDMuIE1hciAxOTk4LCAxODo1NjoyNik6Cn4jISBybj1HdW5kdXIgcnQ9ODg4OTIwODk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4ODkyMDg5NgpEaXNrbWFuYWdlciAtPiBhdWYgbGF1Zndlcmsga2xpY2tlbiAtPiBidWNoc3RhYmVuIGVpbnN0ZWxsZW4gKHJlYmJvdCBuaWNodApub2V0aWcpCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKamF2YXNjcmlwdCAoTXlzdGVyaW91cywgIDMuIE1hciAxOTk4LCAxOToxMjoyMyk6Cmtvbi1iYW4td2EhCgpva2ksIGRpZXNtYWwgbiBwcm9iIG1pdCBqYXZhc2NyaXB0Li4uCgp3ZXIgaW50ZXJlc3NlIGhhdCwgc2NoYXUgc2ljaCBiaXR0ZSBtYWwgZGllIHNlaXRlCgogICAgICBodHRwOi8vd3d3LnRmaC1iZXJsaW4tZGUvfnM2NjAxMjMvbGVpc3RlMi5odG1sIAoKYW4gKG5laW4sIGRhcyBpc3Qga2VpbmUgaG9tZXBhZ2Ugdm9uIG1pcikuLi4KCmJlaSBkaWVzZXIgcGVyc29uIHp1IGhhdXNlIGZ1bnp0IGRhcyBiaWxkd2VjaHNlbG4sIHdlbm4gbWFuIG1pdCBkZXIgbWF1cwpydWViZXIgZ2VodCAod2luOTUsIGV4cGxvcmVyMyBvZGVyIG5hdmlnYXRvcjMvNCkuLi4KCmFiZXIgaW0gbmV0eiBpcyBkYSBtaXQgZXhwbG9yZXIzIChudCksIG5hdmlnYXRvciAzLzQgKGlyaXgsIHNvbGFyaXMpIG5peCB6dQptZXJrZW4uLi4KYnp3LiwgZGFzIGVyc3RlIGJpbGQga2xhcHB0IGphLi4gYWJlciBkaWUgcmVzdGxpY2hlbiBuaWNoIG1laHIuLiAqZ3J1ZWJlbCoKCgpzbywgdmllbGxlaWNodCBoYXQgamEgamVtYW5kIG5lbiB0aXAuLi4gCgpkdWlpaWlpaQogICAgICAgICAgICAgICAgICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOVCAoR3VuZHVyLCAgNC4gTWFyIDE5OTgsIDA5OjIyOjA3KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg4OTQ3Nzg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4ODkyMDg5NgpUam8gc2Nob2VuIHVuZCBndXQgZGllIFNhY2hlIG1pdCBkZW0gRmVzdHBsYXR0ZW5tYW5hZ2VyIC4ubnVyIGRhcyBlcyBtaXQgbmVtClppcGxhdWZ3ZXJrIG5pY2h0IGdlaHQgOi0oCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogamF2YXNjcmlwdCAoUm9uZGEsICA0LiBNYXIgMTk5OCwgMTM6NTQ6MzQpOgp+IyEgcm49TXlzdGVyaW91cyBydD04ODg5NDg3NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg4OTQ4NzQzCktvZW5udGUgZGFzIHNjaGxpY2h0IHVuZCBlaW5mYWNoIGRyYW4gbGllZ2VuLCBkYXNzIGRpZSBCaWxkdmVyemVpY2huaXNzZSBuaWNodApzdGltbWVuPyBCZWkgUXVpeCBzdGVodCBkYSBlaW4gImtub2VwZmUiLCBiZWkgZGVuIGFuZGVyZW4gIi9rbm9lcGZlIj8KKmdyaW5zKiBhdXNzZXJkZW0gd2FlcmUgZGVyIGxpbmsKaHR0cDovL3d3dy50ZmgtYmVybGluLmRlL35zNjYwMTIzL2xlaXN0ZTIuaHRtbApiZXNzZXIgZ2V3ZXNlbiA7KSAKVHNjaHVlc3MsCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmV0c2NhcGU0IChZZW5kaSwgIDQuIE1hciAxOTk4LCAyMDo1Nzo0Nik6CldpZXNvIHNjaG1pZXJ0IE5ldHNjYXBlNCBkYXVlcm5kIGFiPyBJY2ggYmluIGVzIGxlaWQsIGplZGVzbWFsIGRpZXNlcyBibG9lZGUKLm5ldHNjYXBlL2xvY2sgenUgbG9lc2NoZW4sIGJsb3NzIHdlaWwgZGFzIERpbmcgdmVycHVmZnQgaXN0LCBhbHMgaWNoIGRlbgpOYXZpZ2F0b3Igdm9yIGRlbSBOZXdzcmVhZGVyIGdlc2NobG9zc2VuIGhhYmUuLi4gKmFyZ2wqCgpZZW5kaQogICAgICBpc3QgcmF0bG9zCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXRzY2FwZTQgKEJsb29keWhhcnJ5LCAgNC4gTWFyIDE5OTgsIDIzOjE4OjQ1KToKfiMhIHJuPVllbmRpIHJ0PTg4OTA0MTQ2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODkwNDE0NjYKSmEgamEuIEd1dCBkYXNzIGljaCBOIDMuMDQgbm9jaCBuaWNodCBnZWxvZXNjaHQgaGFiZS4KCmJoIC0gYXVjaCBtYWwgZWluemVpbGlnIHNlaWVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5ldHNjYXBlNCAoSmltZGlncml6LCAgNi4gTWFyIDE5OTgsIDIwOjI3OjA2KToKfiMhIHJuPVllbmRpIHJ0PTg4OTA0MTQ2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODkwNDE0NjYKSG1tbQoKd2VubiBEdSBpaG4gdW5iZWRpbmd0IHZlcndlbmRlbiB3aWxsc3QsIDIgVGlwczoKIE5pbW0gbnVyIGRlbiBzdGFuZGFsb25lIE5hdmlnYXRvciBkZXIgYnJhdWNodCBzY2hvbiBtYWwKIGRldXRsaWNoIHdlbmlnZXIgU3BlaWNoZXIsIHVuZCB6dW0gTmV3cyB1bmQgTWFpbCBiZW51dHp0ZW4sCiBzb2xsdGUgbWFuIGF1Y2ggZWluZW4gTmV3cyB1bmQgZWluZW4gTWFpbGNsaWVudCB2ZXJ3ZW5kZW4uCiAoYWxzbyBGaW5nZXIgd2VnIHZvbSBDb21tdW5pY2F0b3IpCgogMi4gTmltbSBuaXggdW50ZXIgVmVyc2lvbiA0LjA0IGFsbGVzIHZvcmhlciBoYXR0ZSB3b2hsCiBhcmdlIFByb2JsZW1zLgoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdW5peHByb2IgKEd1bmR1ciwgMTAuIE1hciAxOTk4LCAxMTo1MToyOCk6CkhpCkZvbGdlbmRlcyBQcm9ibGVtOgpTb2xhcmlzIDIuNS4xLCBTVU4gc3BhcmMuCkVpbmUgRGF0ZWkgbmFtZXMgZXJyb3JzMTk5ODAyMjMubC9nIGlzdCBuaWNodCBsb2VzY2hiYXIuCkF1Y2ggbWl0IHJtIC1pICogd2lyZCBkaWUgZXJzdCBnYXIgbmljaHQgZ2VmdW5kZW4gdW5kIGJlaSBscyAtbCBhdWNoIG5ldC4uCkplbWFuZCBpZGVlbj8KbWZHCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVuaXhwcm9iIChNdXJrZXMsIDEwLiBNYXIgMTk5OCwgMTI6MDA6MDApOgp+IyEgcm49R3VuZHVyIHJ0PTg4OTUyNzA4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKU2NoYXUgZGlyIGRpZSBEYXRlaSBtYWwgbWl0IGxzIC1iIGFuLiBWaWVsbGVpY2h0IGhhdCBzaWNoIGRhIGlyZ2VuZHdvIGVpbgpTb25kZXJ6ZWljaGVuIGltIERhdGVpbmFtZW4gdmVyc3RlY2t0LiBMb2VzY2hlbiBrYW5uc3QgRHUgZGllIERhdGVpIGRhbm4sIHdlbm4KRHUgYW5zdGVsbGUgZGVzIFNvbmRlcnplaWNoZW5zIGJlaW0gbG9lc2NoZW4gZWluIEZyYWdlemVpY2hlbiBlaW5naWJzdC4gRGFzCnNvbGx0ZSBoZWxmZW4uCgpHcnVzcwoKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVuaXhwcm9iIChQcmEsIDEwLiBNYXIgMTk5OCwgMTI6MTM6MjEpOgp+IyEgcm49TXVya2VzIHJ0PTg4OTUyNzYwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKTWlyIHNjaGVpbnQsIGVzIGxpZWd0IGVoZXIgYW4gZGVtICcvJyBpbiBkZW0gRGF0ZWluYW1lbi4gR2VzdWNodCB3aXJkIGRhbm4KaW1tZXIgbmFjaCBlaW5lciBEYXRlaSAKJ2cnIGltIFZlcnplaWNobmlzICdlcnJvcnMxOTk4MDIyMy5sJy4gRGEga2FubnN0ZSBhdWNoIG1pdCAnbHMgLWInIHdvaGwKbml4IG1hY2hlbi4gCgpQcmEsIGtlaW5lIEFobnVuZyBoYWJlbmQsIHdpZSBkYXMgenUgbG9lc2VuIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVuaXhwcm9iIChHdW5kdXIsIDEwLiBNYXIgMTk5OCwgMTI6MTQ6MTgpOgp+IyEgcm49UHJhIHJ0PTg4OTUyODQwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKSm8gYWxzbyBtaXQgbHMgLWIgaXN0IG5peCB6dSBtYWNoZW4gdW5kIGphIGxpZWd0IGFuIGRlbSAvIGltIERhdGVpbmFtZW4gdW5kCnNjaGFkZSBkYXNzIER1IGtlaW5lIExvZXN1bmcgd2Vpc3N0IDotKQpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdW5peHByb2IgKFJpa3VzLCAxMC4gTWFyIDE5OTgsIDEyOjE1OjA5KToKfiMhIHJuPUd1bmR1ciBydD04ODk1Mjg0NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CmJlaSBtaXIgZ2VodCBzb3dhcyBkYW5uIG1hbmNobWFsIG1pdCBlaW5lbSBmaWxlbWFuYWdlciB6dSBsb2VzY2hlbi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB1bml4cHJvYiAoSGlnaGxhbmRlciwgMTAuIE1hciAxOTk4LCAxMjo0MjowMik6Cn4jISBybj1SaWt1cyBydD04ODk1Mjg1MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4ClNjaG9uIG1hbCBwcm9iaWVydCwgb2IgZWluIFwgdm9yIGRlbSAvIGhpbGZ0PwogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlQtTGFubWFuLVByb2JsZW0gKExhcmlzc2EsIDEwLiBNYXIgMTk5OCwgMTI6NDc6NTkpOgoKQWxzbywgdmllbGxlaWNodCB3ZWlzcyBlaW5lciBBYmhpbGZlOgoKV2lyIGhhYmVuIGhpZXIgZWluZW4gT2xpdmV0dGktVW5peC1TZXJ2ZXIsIGRlciB1ZWJlciBkZW4gSUJNIExhbm1hbmFnZXIgL1gKbWl0IHNlaW5lbiBXaW4zMTEtQ2xpZW50cyByZWRldC4gCm5ldWVyZGluZ3Mgc29sbCBuZWJlbiBlaW5pZ2VuIFdpbjk1LVJlY2huZXJuLCBkaWUgc2ljaCB3dW5kZXJiYXIgaW5zIE5ldHoKaGFlbmdlbiBsaWVzc2VuIGF1Y2ggZWluIE5ULVJlY2huZXIgZGF6dXN0b3NzZW4uIExlaWRlciBtYWNodCBkZXIgbnVyIGFlcmdlci4KCldlaXNzIGplbWFuZCwgd2llIGljaCBkZXIgTlQtS2lzdGUgYmVpYnJpbmdlbiBrYW5uIG1pdCBkZW0gTGFubWFuYWdlciB6dQprb21tdW5pemllcmVuPwoKTGFyaSwgc2NoZWlzcyBOVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdW5peHByb2IgKFJvYWRydW5uZXIsIDEwLiBNYXIgMTk5OCwgMTI6NTM6NDIpOgp+IyEgcm49UHJhIHJ0PTg4OTUyODQwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKaGFzdCBkdSBzY2hvbm1hbCB2ZXJzdWNodCBkYXMgdGVpbCBtaXQgbWlkbmlnaHQgY29tbWFuZGVyIG9kZXIgaW0gZW1hY3MKKGRpcmVkLW1vZGUgPT4gY3RybC14IGQpIHp1IGxvZXNjaGVuPwoKcm9hZHJ1bm5lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVuaXhwcm9iIChZYXJlbiwgMTAuIE1hciAxOTk4LCAxMzo0MDozNSk6Cn4jISBybj1HdW5kdXIgcnQ9ODg5NTI3MDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApGdWVyIGFsbGUsIGRpZSBzb2xjaGUgb2RlciBhZWhubGljaGUgUHJvYmxlbWUgaGFiZW46IHNjaG9ubWFsIHdhcyB2b24gcXVvdGVuCmdlaG9lcnQ/IDstKSBFcyBnaWJ0IGRlcmVyIDQgQXJ0ZW46IG1pdCBiYWNrc2xhc2ggKFwpLCBzaW5nbGUgcXVvdGVzICgnLi4nKSwKZG91YmxlIHF1b3RlcyAoIi4uIikgdW5kIGJhY2sgcXVvdGVzIChgLi5gKS4gQWNodHVuZzogc2luZ2xlIHVuZCBiYWNrIHF1b3RlcwpzaW5kIGxlaWNodCB6dSB2ZXJ3ZWNoc2VsbiBhdWYgZGVuIGVyc3RlbiBCbGljay4gRGVyIGJhY2tzbGFzaCBuaW1tdCBkZW0KZm9sZ2VuZGVuIFplaWNoZW4gZGVuIE1ldGEtQ2hhcmFrdGVyIChNZXRhLVplaWNoZW4gc2luZDogXCAnIGAgIiAkICYgPiA8ICMgKiA/CkAgISArIFsgXSAoICkgeyB9IC4gIG9obmUgQW5zcHJ1Y2ggYXVmIFZvbGxzdGFlbmRpZ2tlaXQgOy0pLCBzaW5nbGUgcXVvdGVzCm5laG1lbiBkZW4gWmVpY2hlbiB6d2lzY2hlbiBkZW4gcXVvdGVzIGRlbiBNZXRhLUNoYXJha3RlciAobWl0IEF1c25haG1lIHZvbiAnCnNlbGJzdCksIGRvdWJsZSBxdW90ZXMgZWJlbnNvLCBtaXQgQXVzbmFobWUgZGVyIE1ldGEtWmVpY2hlbiBcICIgJyAkIHVuZCBiYWNrCnF1b3RlcyBmdWVocmVuIGRlbiBCZWZlaGxlIGlubmVyaGFsYiBpbiBlaW5lciBTdWJzaGVsbCBhdXMgdW5kIGxpZWZlcm4gZGllCkF1c2dhYmUgZGF2b24gYWxzIFN1YnN0aXR1dGlvbiB6dXJ1ZWNrLiBEYWJlaSB2ZXJsaWVyZW4gZWJlbmZhbGxzIGFsbGUKTWV0YS1aZWljaGVuIGlocmVuIE1ldGEtQ2hhcmFrdGVyLiBOdW4genUgZGVtIGFuZ2VzcHJvY2hlbmVuIFByb2JsZW06IGVpbmZhY2gKbWFsICBybSAtZiAnZXJyb3JzMTk5ODAyMjMubC9nJyB1bmQgZmVydGlnLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHVuaXhwcm9iIChFbWJlLCAxMC4gTWFyIDE5OTgsIDEzOjQ2OjM4KToKfiMhIHJuPVlhcmVuIHJ0PTg4OTUzMzYzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKaXJydHVtIQoKZWluIC8ga2FubnN0IGR1IG5pY2h0IHF1b3RlbiEhCi8gYmxlaWJ0IC8KCmdydXNzLCBlTUJlZS4KLS0tCm11ZCBhZG1pbmlzdHJhdGlvbiAgU0lMS0UKbWJhZWhyK2VtYmVlQGlhZXN0ZS5vci5hdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdW5peHByb2IgKFlhcmVuLCAxMC4gTWFyIDE5OTgsIDEzOjU2OjExKToKfiMhIHJuPUVtYmUgcnQ9ODg5NTMzOTk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApKZWluLiBXZW5uIER1IGRhbWl0IG1laW5zdCwgZGFzcyBkYXMgcXVvdGVuIGRhcyBnYW56ZSBuaWNodCBsb2VzdCwgaGFzdCBEdQpyZWNodCAtIGhhYnMgZ2VyYWRlIHByb2JpZXJ0LCBlaW4gRmlsZSBtaXQgZWluZW0gLyBkcmlubmVuIHp1IGVyemV1Z2VuLCBhYmVyCnF1b3RlbiBrYW5uc3QgRHUgZXMgbmF0dWVybGljaCwgd2VpbCBlcyBrZWluIE1ldGEtWmVpY2hlbiBmdWVyIGRpZSBTaGVsbCBpc3QuCkxlaWRlciBpc3QgZXMgYWJlciBlaW4gTWV0YS1aZWljaGVuIGZ1ZXIgZGFzIEZpbGVzeXN0ZW0sIHVuZCBnZW5hdSBkYSBsaWVndApkYXMgUHJvYmxlbTogd2llIGhhdCBHdW5kdXIgZGFzIGJsb3NzIGdlc2NoYWZmdCwgZGllc2UgRmlsZSB6dSBlcnpldWdlbj8gT2huZQpleHRyZW1lIE1hbmlwdWxhdGlvbmVuIGFtIEZpbGVzeXN0ZW0gaXN0IGRhcyBuYWVtbGljaCBuaWNodCB6dSBtYWNoZW4uIAoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB1bml4cHJvYiAoV29vZHksIDEwLiBNYXIgMTk5OCwgMTU6MDk6NTkpOgp+IyEgcm49WWFyZW4gcnQ9ODg5NTM0NTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApXZW5uIGUyZnNjayAob2RlciBkZXIgenVzdGFlbmRpZ2UgZmlsZXN5c3RlbSBjaGVja2VyKSBzaWNoIG5pY2h0CmJlc2Nod2VydCwgYmxpZWJlIGltbWVyIG5vY2ggZGllIE1vZWdsaWNoa2VpdCwgYWxsZSBGaWxlcyB1bmQKRGlycyBiaXMgYXVmIGRhcyBib2VzZSBhdXMgZGVtIERpciByYXVzenVtb3ZlbiwgZGFubiBlaW4KInJtIC1yZiBtYWxpY2VfZGlyIiB6dSBtYWNoZW4gdW5kIHNvIGRhcyBib2VzZSBGaWxlIG1pdC0KenVsb2VzY2hlbi4gKHVuZCBnYW56IGVnYWwsIHdpZSBtYW4gcXVvdGVkLCAvIGlzdCB1bmQgYmxlaWJ0CmRlciBwYXRoIGJ6dy4gZGlyZWN0b3J5IGRlbGltaXRlciBmdWVyIEZpbGVuYW1lbi4uLikKCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHVuaXhwcm9iIChFbWJlLCAxMC4gTWFyIDE5OTgsIDE1OjU1OjA3KToKfiMhIHJuPVdvb2R5IHJ0PTg4OTUzODk5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKYXVjaCBkYXMgZ2VodCBuaWNodAp6dW1pbmRlc3QgdW50ZXIgbGludXggaCJhbmd0IHNpY2ggZGVyIHByb3plc3MgYXVmLgoKaWNoIGhhYnMgYXVzcHJvYmllcnQuCih3ZXIgd2lzc2VuIHdpbGwgd2llIG1hbiBnZWZhaHJsb3MgZWluIGZpbGUgbWl0IC8gZHJpbiBlcnpldWd0LCAKZGVtIHNjaGljayBpY2ggZ2VybiBlaW5lIGFubGVpdHVuZyA6LSkKCmdydXNzLCBlTUJlZS4KLS0tCm11ZCBhZG1pbmlzdHJhdGlvbiAgU0lMS0UKbWJhZWhyK2VtYmVlQGlhZXN0ZS5vci5hdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogdW5peHByb2IgKFBpbGdyaW0sIDEwLiBNYXIgMTk5OCwgMTY6NTU6MDUpOgp+IyEgcm49RW1iZSBydD04ODk1NDE3MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CkhtbW0sCgptYWwgZWluICAgcm0gLWkgKiAgIHZlcnN1Y2h0LCB1bmQgZGFubiBOVVIgYmVpIGRlbSBiZXNhZ3RlbgpGaWxlIHllcyBzYWdlbj8gICAgIAoKUGlsZ3JpbQpQUzogSWNoIGdsYXViZSBmYXN0IG5pY2h0LCBkYXNzIGRhcyBmdW5rdGlvbmllcnQgLi4uIHNvbGx0ZSBpbnRlcm4gd2llCnZvbiBZYXJlbiBnZXBvc3RldGVzIFF1b3RpbmcgYWJsYXVmZW4gLi4uIGljaCBoYXR0ZSBub2NoIG5pY2h0IGRlbgpvYmVuIGJlc2NocmllYmViZW4gRmFsbCAuLi4KCgpQUFM6IEhtbSwga2FubiBtYW4gaW4gZWluZXIgc2hlbGwgZGFzIFN5bWJvbCAiLyIgYWxzIERpcmVjdG9yeS1UcmVubmVyCihvZGVyIHdpZSBkYXMgaGVpc3QpIHVlYmVyIG5lbiBVbWdlYnVuZ3N2YXJpYWJsZSB1bWRlZmluaWVyZW4gPz8/Cm9kZXIgdm9ybSBjb21waWxpZXJlbiBlaW5lciBzaGVsbCAoemIgYmFzaCkgZWluZmFjaCB6ZW50cmFsIHVtZGVmLiA/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHVuaXhwcm9iIChZYXJlbiwgMTAuIE1hciAxOTk4LCAxNzoxMDoyOCk6Cn4jISBybj1QaWxncmltIHJ0PTg4OTU0NTMwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKSWNoIHd1ZXJkZSB3ZXR0ZW4sIGRhc3MgZXMgbmljaHQgZ2VodDogZGllIEludGVycHJldGF0aW9uIGRlcyBaZWljaGVucyAiLyIKZXJmb2xndCBtaXQgU2ljaGVyaGVpdCBlcnN0IGlubmVyaGFsYiBkZXMgZXh0MmZzLVRyZWliZXJzLiBVbmQgZGEgcGF0Y2ggbWFsCmJlc3NlciBuZWQgcnVtIDstKQoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB1bml4cHJvYiAoTW9yZ290aCwgMTAuIE1hciAxOTk4LCAxNzoxNTo1OCk6Cn4jISBybj1QcmEgcnQ9ODg5NTI4NDAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApFSW4gZm9ydHJhbiBwcm9ncmFtbSwgZGFzcyBkYXMgZmlsZSBvZWZmbmV0IHVuZCBlcyBtaXQKY2xvc2UodW5pdCxzdGF0dXM9J2RlbGV0ZScpIGxvZXNjaHQgOy0pCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB1bml4cHJvYiAoUm9jaHVzLCAxMC4gTWFyIDE5OTgsIDE3OjIxOjMxKToKfiMhIHJuPVBpbGdyaW0gcnQ9ODg5NTQ1MzA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApEZXIgJy8nIHdpcmQgaW50ZXJuIHZvbiBVbml4IGFscyBEaXJlY3Rvcnl0cmVubmVyIHZlcndlbmRldCwgZGllIFNoZWxsCmhhdCBkYW1pdCBuaWNodHMgenUgdHVuLiBJY2ggaGFiZSBudXIgZWluZSBNZXRob2RlIGdlZnVuZGVuLAplaW4gRmlsZSBtaXQgZWluZW0gJy8nIGltIE5hbWVuIHp1IGVudGZlcm5lbjoKMS4gTWl0IGxzIC1pIGRpZSBJLU5vZGUtTnVtYmVyIGZlc3RzdGVsbGVuLgoyLiBEaWVzZSBhbHMgcm9vdCBtaXQgImNscmkgZGV2aWNlIGlub2RlbnVtYmVyIiBsb2VzY2hlbgozLiBmc2NrCgpJY2gga2VubmUgYmlzaGVyIG51ciBlaW5lIE1vZWdsaWNoa2VpdCBlaW4gc29sY2hlcyBGaWxlIHp1IGVyemV1Z2VuOgpEdXJjaCBlaW5lbiBmZWhsZXJoYWZ0ZW4gTkZTLVNjaHJlaWJ2b3JnYW5nLgpGYWxscyBlcyB3ZWl0ZXJlIE1vZWdsaWNoa2VpdGVuIGdlYmVuIHNvbGx0ZSwgd3Vlc3N0ZSBpY2ggZ2VybmUgd2llIDotKQoKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB1bml4cHJvYiAoVHJhbmNlZmVhciwgMTAuIE1hciAxOTk4LCAxNzoyMzoxNik6Cn4jISBybj1Sb2NodXMgcnQ9ODg5NTQ2ODkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApVTnRlciBIUFVYIG1pdCBkZW0gVlVFIEZpbGVtYW5hZ2VyIGdlaHRzIGF1Y2ggOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdW5peHByb2IgKFlhcmVuLCAxMC4gTWFyIDE5OTgsIDE3OjIzOjQ4KToKfiMhIHJuPU1vcmdvdGggcnQ9ODg5NTQ2NTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApQcm9iaWVyIHNvd2FzIGJlc3NlciBhdXMsIGJldm9yIER1IGVzIHNjaHJlaWJzdCA7LSkKCllhcmVuIChtYWNodCBzbyBldHdhcyBqYSBhdWNoIGdlcm5lIC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHVuaXhwcm9iIChUcmFuY2VmZWFyLCAxMC4gTWFyIDE5OTgsIDE3OjIzOjU4KToKfiMhIHJuPU1vcmdvdGggcnQ9ODg5NTQ2NTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OAp3YXJ1bSBuaWNodCBnbGVpY2ggY29ib2w/IG9kZXIgYXNzZW1ibGVyPyA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB1bml4cHJvYiAoV3VyemVsLCAxMC4gTWFyIDE5OTgsIDIxOjU3OjA2KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg5NTQ3MDM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OAp3ZWlsIGVzIGluIGZvcnRyYW4gZWluIHp3ZWl6ZWlsZXIgaXN0IDopCgp3dXJ6ZWwgaGF0IHNvd2FzIGF1Y2ggc2Nob24gbWFsIGdlbWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHVuaXhwcm9iIChGeXQsIDExLiBNYXIgMTk5OCwgMTE6NDU6MTIpOgp+IyEgcm49SGlnaGxhbmRlciBydD04ODk1MzAxMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CklzIGVpZ2VudGxpY2gga29taXNjaC4gJy8nIGlzdCBzbyB6aWVtbGljaCBkYXMgZWluemlnZSBaZWljaGVuLCB3YXMgaW4KVW5peC1GaWxlbmFtZW4gdmVyYm90ZW4gaXN0LiBGaW5kZXQgJ2ZpbmQnIGRpZSBEYXRlaT8gRGFubiBrb2VubnRlCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB1bml4cHJvYiAoQmFib29uLCAxMS4gTWFyIDE5OTgsIDEyOjAwOjM2KToKfiMhIHJuPUZ5dCBydD04ODk2MTMxMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CldpZXNvIGtvbWlzY2g/IHdpZSBzb2xsIGRlciBDb21wdWRlciBzb25zdCB6d2lzY2hlbiBwZmFkIHVuZCBmaWxlbmFtZW4KdW50ZXJzY2hlaWRlbj8gCklzdCAicm9vdC9iZWVyIiBqZXR6dCBlaW4gZmlsZSBtaXQgTmFtZW4gInJvb3QvYmVlciIgb2RlciBlaW4gZmlsZSAiYmVlciIgaW0KVmVyemVpY2huaXMgcm9vdD8KCkJhYm9vbiAoZGVyIG1pdCBkZW0gQWZmZW4gdGFuenQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiB1bml4cHJvYiAoRnl0LCAxMS4gTWFyIDE5OTgsIDEyOjEyOjEyKToKfiMhIHJuPUJhYm9vbiBydD04ODk2MTQwMzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CkVzIGlzdCBlaW4gRmlsZSBiZWVyIGltIFZlcnplaWNobmlzIHJvb3QuCgpGeXQuCgpQUzogRGFzIFpldWcgaXN0IHNjaHJlY2tsaWNoIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdW5peHByb2IgKEJhYm9vbiwgMTEuIE1hciAxOTk4LCAxMjoxNjoxNyk6Cn4jISBybj1GeXQgcnQ9ODg5NjE0NzMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApGeXQsIGRhcyBpc3QgbWlyIGF1Y2ggc2Nob24ga2xhci4gYWJlciBzYWcgZGFzIG1hbCBkZWluZW0gQ29tcGksIHdlbm4gZHUgZGVuCiIvIiBhdWNoIGFscyBGaWxlbmFtZW5iZXN0YW5kdGVpbCB6dWxhZXNzdC4KCkJhYm9vbiAodHJpbmt0IGVoIGtlaW4gYmllciwgdmllbCB6dSB3ZW5pZyB1bWRyZWh1bmdlbiAuLSkgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU291bmRrYXJ0ZW50cmVpYmVyLiAoRnl0LCAxMS4gTWFyIDE5OTgsIDEyOjIyOjE2KToKClc5NSwgdm9yc2luc3RhbGxpZXJ0LCBrYXB1dHQsIG5ldWluc3RhbGxpZXJ0IC0+IERhdGVpZW4gZmVobGVuLCB1bmQKendhciBTYWNoZW4gZGVyIEFydAoKYTNzbmRzeXMuZHJ2IGEzc25kc3lzLnZ4ZCB1bmQgbm9jaCBjYS4gJ24gaGFsYmVzIER1dHplbmQgd2VpdGVyZXIKYTMqLgoKRmFsbHMgamVtYW5kIHp1ZmFlbGxpZ2Vyd2Vpc2UgZGVyZ2xlaWNoZW4gYXVmIHNlaW5lciBLaXN0ZSBoYXQsIHd1ZXJkZSBpY2gKZ2VybiBuZSBkZXplbnRyYWxlIFNpY2hlcnJ1bmdza29waWUgZGF2b24gYW5sZWdlbiB3b2xsZW4uCgpGeXQuCgpQUzogQWNoIGphLCBsYWcgaW4gbmVtIFZlcnplaWNobmlzIEEzU09VTkQgb2RlciBzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiB1bml4cHJvYiAoRW5neXd1Y2ssIDExLiBNYXIgMTk5OCwgMTg6NDI6MzIpOgp+IyEgcm49Rnl0IHJ0PTg4OTYxNDczMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKWnVtIGVpZ2VudGxpY2hlbiBUaHJlYWQgaGFiIGljaCBuaXggenUgc2FnZW4gOykKQWJlciB6dW0gUFM6IEVzIGdpYnQgZGFmdWVyIG5lbiBnZWlsZW4gUmFndGltZSB2b24gQmlsbHkgSm9lbCBkZXIgYWxzIFRpdGVsCmViZW4gamVuZXMgR2V0cmFlbmsgdHJhZWd0Li4uCgpFbmd5Ki4gSWNoIG5peCBDb21wdXRlciwgaWNoIG51ciBNdXNpay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiB1bml4cHJvYiAoU2lsdmFuYSwgMTEuIE1hciAxOTk4LCAxOTo0MToyMik6Cn4jISBybj1Fbmd5d3VjayBydD04ODk2MzgxNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CkpvLCBkZXIgaXN0IGVjaHQgZ2VuaWFsLCBkZXIgUm9vdCBCZWVyIFJhZyAtIHVuZCBlciBoYXQgaW4gZXR3YSBkYXMgVGVtcG8sCmRhc3MgaWNoIGRyYXVmIGhhdHRlLCBhdWYgZGVtIFdlZyB6dW0gTG9rdXMsIGFscyBpY2ggenVtIGVyc3RlbiBtYWwgYW4gCmVjaHRlbSBSb290IEJlZXIgZ2Vyb2NoZW4gKCEpIGhhYmUuLi4KCiAgU2lsdmFuYSAobWFnIFJvb3QgQmVlciBudXIgdm9uIEJpbGx5IEpvZWwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogdW5peHByb2IgKEFuYXRvbCwgMTEuIE1hciAxOTk4LCAxOTo0MjoxOCk6Cn4jISBybj1Fbmd5d3VjayBydD04ODk2MzgxNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NTI3MDg4CkljaCB3ZXJkZSBkZW4gbmllIHNwaWVsZW4ga29lbm5lbiAtIHNjaGVpdGVydCBzY2hvbiBkYXJhbiwgZGFzcyBpY2ggYmlzaGVyCm5pcmdlbmRzIGRpZSBOb3RlbiBkYXp1IGdlZnVuZGVuIGhhYmUuLi4uCgpBbmF0b2wgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogdW5peHByb2IgKFJvY2h1cywgMTEuIE1hciAxOTk4LCAxOTo0ODoyMyk6Cn4jISBybj1BbmF0b2wgcnQ9ODg5NjQxNzM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApEdSBicmF1Y2hzdCBkaWUgTm90ZW4/CkljaCBoYWJlIGRhcyBhbHMgTUlESS1GaWxlLgooVW5kIGljaCB3ZXJkZSBkZW4gd29obCBhdWNoIG5pZSBzcGllbGVuIGtvZW5uZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0cmFja2VyIGZ1ZXIgbGludXg/IChUcmFuY2VmZWFyLCAxMS4gTWFyIDE5OTgsIDE5OjUzOjQ3KToKV2Vpc3MgamVtYW5kIG9icyBmdWVyIExpbnV4IG5lbiBUcmFja2VyIGdpYnQgKGFsc28gbiBUb29sIHVtIE1PRC1GaWxlcyB6dQplcnN0ZWxsZW4pID8KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdHJhY2tlciBmdWVyIGxpbnV4PyAoUm9jaHVzLCAxMS4gTWFyIDE5OTgsIDIwOjAzOjMxKToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9ODg5NjQyNDI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTY0MjQyNwpKYSwgRnVua3RyYWNrZXIgR29sZC4KVW5kIG5ldWVyZGluZ3MgIm1hdWJlIiwgaGFiZSBpY2ggYWJlciBub2NoIG5pY2h0IGdldGVzdGV0CihlYmVuIGVyc3QgZ2VmdW5kZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdHJhY2tlciBmdWVyIGxpbnV4PyAoWWFyZW4sIDEyLiBNYXIgMTk5OCwgMDE6Mjk6NTgpOgp+IyEgcm49VHJhbmNlZmVhciBydD04ODk2NDI0Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODg5NjQyNDI3Cmh0dHA6Ly93d3cuaGl0c3F1YWQuY29tL3NtbS9wcm9ncmFtcy90cmFja2VyLwoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFwaGlra2FydGUgKyBMaW51eCAoTW9yZ290aCwgMTIuIE1hciAxOTk4LCAxNjo0NTowOCk6CkhpLAp3aXIgaGFiZW4gaGllciBlaW4gQW5nZWJvdCwgaW4gZGVtIGVpbmUgQVRJLVhwZXJ0d29yayBHcmFwaGlra2FydGUgYW5nZWJvdGVuCndpcmQuIFdpcmQgZGllc2Ugdm9uIExpbnV4IHVudGVyc3R1ZXR6dD8/CgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JhcGhpa2thcnRlICsgTGludXggKEdyaW1tYm9ybiwgMTIuIE1hciAxOTk4LCAxNzowOToxOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg4OTcxNzUwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk3MTc1MDgKV2FzIHNhZ3QgZGVubiBkZXIgSGFyZHdhcmVoZXJzdGVsbGVyIGRhenU/IFdhcyBkZXIgSGFlbmRsZXI/ClJ1aGlnIGRlbiBMZXV0ZW4gYXVjaCBtYWwgZGV1dGxpY2ggbWFjaGVuLCBkYXNzIGVzIGF1Y2ggTGludXggZ2lidC4KCkFuc29uc3RlbiBnaWJ0cyBhdWYgZGVyIHN1c2UtU2VpdGUgZWluZSBEYXRlbmJhbmsgbWl0CkhhcmR3YXJldW50ZXJzdHVldHp1bmdlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYXBoaWtrYXJ0ZSArIExpbnV4IChMYXJpc3NhLCAxMi4gTWFyIDE5OTgsIDE4OjUxOjE4KToKfiMhIHJuPU1vcmdvdGggcnQ9ODg5NzE3NTA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTcxNzUwOApXaXJkIHNpZS4KTGFyaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiB1bml4cHJvYiAoRW5neXd1Y2ssIDEyLiBNYXIgMTk5OCwgMjA6MjI6NTMpOgp+IyEgcm49QW5hdG9sIHJ0PTg4OTY0MTczOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk1MjcwODgKSWNoIGhhYiBkaWUgTm90ZW4sIGlyZ2VuZHdvLi4uTGVpZGVyIGxldHp0ZW5zLCBhbHMgaWNoIHNpZSBzdWNodGUsIG5pY2h0IG1laHIKZ2VmdW5kZW4uIERpZSB3YXJlbiBpbiBlaW5lciBLZXlib2FyZHMtQXVzZ2FiZSB2b24gdm9yIGVpbmlnZW4gSmFocmVuLiBXZW5uCmRpZSBqZW1hbmQgbm9jaCB6dXIgVmVyZnVlZ3VuZyBoYXQgLSBpbW1lciBiZWkgbWlyIG1lbGRlbiEKCkVuZ3kqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogdW5peHByb2IgKFNpbHZhbmEsIDEyLiBNYXIgMTk5OCwgMjM6MjA6MzkpOgp+IyEgcm49RW5neXd1Y2sgcnQ9ODg5NzMwNTczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTUyNzA4OApJY2ggaGFiIHNpZS4gQnJhdWNodCBzb25zdCBub2NoIGplbWFuZCBLb3BpZW4/IDopCgogIFNpbHZhbmEgLiBvIE8gKENvcHlyaWdodD8gV2FzbmRhcz8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmaW5nZXIgaW0gSG9tZW11ZCAoU2lsdmFuYSwgMTUuIE1hciAxOTk4LCAyMDoyODo0Nyk6CkhpLgoKS2FubiBtaXIgenVmYWVsbGlnIGplbWFuZCB2ZXJyYXRlbiwgd2llc28gbWVpbiBIb21lbXVkIGplZGVzbWFsIGFicmVja3QsCndlbm4gaWNoIHZlcnN1Y2hlIGplbWFuZGVuIHp1IGZpbmdlcm4/IEVpbnppZ2UgQmVtZXJrdW5nIGRlcyBEcml2ZXJzCnp1IGRlbSBUaGVtYTogU2VnbWVudGF0aW9uIGZhdWx0LgoKICBTaWx2YW5hIC0gcmF0bG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmluZ2VyIGltIEhvbWVtdWQgKEFuYWNyaW9uLCAxNi4gTWFyIDE5OTgsIDE3OjQzOjEzKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODg5OTkwMTI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4OTk5MDEyNwpLZWluZSBBaG51bmcuLi4uYWJlciB3ZW5uIGR1IGRhcyB3ZWlzc3Q6IG1haWx0bzpBbmFjcmlvbiAuLi4uc2NoZWludCBlaW4KYWxsZ2VtZWluZXMgSG9tZU11ZC1Qcm9ibGVtIHp1IHNlaW4uLi4KCkFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZpbmdlciBpbSBIb21lbXVkIChTaWx2YW5hLCAxNi4gTWFyIDE5OTgsIDE4OjEzOjE5KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTg5MDA2NjU5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODk5OTAxMjcKTmFqYSwgaGF0IHNpY2ggYmVpIG1pciBlcmxlZGlndC4gTmV1c3RlIERyaXZlci1WZXJzaW9uIGJlc29yZ2VuIHVuZApmZXJ0aWcuIFdvcmFucyBsaWVndC4uLiBLZWluZSBBaG51bmcuIERhbmsgYW4gTWFyY3VzLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXN1YWwgQmFzaWMgNS4wIChHcmltbWJvcm4sIDE3LiBNYXIgMTk5OCwgMDA6MTk6NTApOgpIYXQgamVtYW5kIGhpZXIgRXJmYWhydW5nIGRhbWl0PyBJY2ggd3Vlc3N0ZSBnZXJuZSwgd2llIGljaCBhbSBndWVuc3RpZ3N0ZW4KYXVzIGVpbmVtIGZpbGUgaGVyYXVzIGVpbmUgRGF0ZWkgZWlubGVzZW4sIHVuZCB6d2FyIG5hY2ggWmVpbGVuIHVuZCBGZWxkZXJuCmh1ZWJzY2ggc2F1YmVyIGdldHJlbm50IGluIGVpbiB6d2VpZGltZW5zaW9uYWxlcyBhcnJheS4gQXVjaCBzb25zdCBrYW5uIGljaApadXNwcnVjaCB1bmQgVHJvc3QgYnJhdWNoZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKUC5TLiBBY2ggamEsIG1haWwgbGFuZ3QsIGljaCBkZW5rZSBuaWNodCwgZGFzcyBoaWVyIGFsbGdlbWVpbmVzIEludGVyZXNzZSBhbgogICAgIFZCNSBiZXN0ZWh0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSRkMgKEdyaW1tYm9ybiwgMjAuIE1hciAxOTk4LCAxMzowOTo0NSk6CldlciBtYWwgd2FzIHp1IGxhY2hlbiBoYWJlbiB3aWxsOiBSRkMgMTIxNywgenUgZmluZGVuIHVudGVyOgpodHRwOi8vc3JjLmRvYy5pYy5hYy51ay9jb21wdXRpbmcvaW50ZXJuZXQvcmZjL3JmYzEyMTcudHh0CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gSmEsIGljaCBoYWV0dHMgYXVjaCBpbiB3aXR6ZSBwb3N0ZW4ga29lbm5lbiwgYWJlciB1bSBkYSByaWNodGlnIGRydWViZXIKbGFjaGVuIHp1IGtvZW5uZW4gaXN0IHdvaGwgZWluIHRlY2huaXNjaGVzIE1pbmRlc3R2ZXJzdGFlbmRuaXMgbm9ldGlnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkZDIChFbWJlLCAyMC4gTWFyIDE5OTgsIDE3OjUwOjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTAzOTU3ODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkwMzk1Nzg1CmF1c2dlc3Byb2NoZW4gayJvc3RsaWNoIQoKc2VsdGVuIHNvIGd1dCBnZWxhY2h0ISEKCmRhbmtlIGYidXIgZGVuIGhpbndlaXMuLgoKZ3J1c3MsIGVNQmVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmFKYVdhcmVuZGFzWmVpdGVuLi4uIChPdmVybG9yZCwgMjIuIE1hciAxOTk4LCAyMToxMDozNSk6CgpOdXIgc28sIGRhIHNpY2ggc2Nob24gamVtYW5kIGRhZnVlciBpbnRlcmVzc2llcnQgaGF0OgoKRXMgZ2lidCBVbHRpbWEgMS00IGFscyBWb2xsdmVyc2lvbiB6dW0gRG93bmxvYWQgYXVmOgoKaHR0cDovL291cndvcmxkLmNvbXB1c2VydmUuY29tL2hvbWVwYWdlcy9zY2hvZWRsCgpGdWVyIGhhcnRsZWliaWdlIE5vc3RhbGdpa2VyIHdpZSBtaWNoLCBkaWUgc2ljaCBhdWNoIG5pY2h0IHZvbSBDR0EtTG9vayAoVTIKdW5kIDMpIGFic2NocmVja2VuIGxhc3Nlbi4gVTEgdW5kIFU0IHNpbmQgc2Nob24gVkdBICh3YXMgbWFuIHNvIGRhbWFscyBWR0EKZ2VuYW5udCBoYXQgOykpCgpPdmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYUphV2FyZW5kYXNaZWl0ZW4uLi4gKEhhdGUsIDIzLiBNYXIgMTk5OCwgMTM6NDc6MTEpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkwNTk3NDM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MDU5NzQzNQpEZXIgbGluaywgYmVpIGRlbSBkYXMgenVtIGRvd25sb2FkIGxpZWd0IGtvbW10IG1pciBzZWhyIHZlcmRhZWNodGlnIHZvci4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtsZWluZXMgUHJvYmxlbSAoSmFuaXR6ZSwgMjMuIE1hciAxOTk4LCAxNjo1NDowNyk6CkhpICEhCkFscyBpY2ggbGV0enRlbnMgbWVpbiBYMTEgKHVudGVyIGxpbnV4KSBuZXUgaW5zdGFsbGllcnQgaGFiLCBtZWxkZXQgCmRlciB4ZW1hY3MgYmVpbSBzdGFydCAneGVtYWNzOiBjYW4ndCByZXNvbHZlIHN5bWJvbCAnWHBtRnJlZScgJwp3ZWlzcyBlaW5lciwgd2llIGljaCBkYXMgYmVoZWJlbiBrYW5uLCB1bmQgd2llIGljaCBkZW4gd2llZGVyIHp1bSBsYXVmZW4Ka3JpZWcgPwoKSmFuaWNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2xlaW5lcyBQcm9ibGVtIChZYXJlbiwgMjMuIE1hciAxOTk4LCAxODozMTowMSk6Cn4jISBybj1KYW5pdHplIHJ0PTg5MDY2ODQ0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTA2Njg0NDcKRGFzIGlzdCBzaWNoZXIgZWluIFN5bWJvbCBhdXMgZWluZXIgc2hhcmVkbGliIHVuZCBkaWUgaGFzdCBEdSBzaWNoZXIgYmVpbQpJbnN0YWxsaWVyZW4gdWViZXJzY2hyaWViZW4gKGplZGVuZmFsbHMgZGllIFZlcnNpb24sIGF1ZiBkaWUgZGVyIEVtYWNzIGdlbGlua3QKd2FyKS4gQWJoaWxmZTogcGFzc2VuZGVuIFhFbWFjcyBiZXNvcmdlbiBvZGVyIG5ldSBjb21waWxpZXJlbi4KQWxsZXJkaW5ncyBzb2xsdGUgZXMgZWlnZW50bGljaCBzbyBzZWluLCBkYXNzIGJlaW0gaW5zdGFsbGllcmVuIHZvbiBuZXVlbgpMaWJyYXJpZXMgYXVjaCBkaWUgYWx0ZW4gJ3VlYmVybGViZW4nIC0gd2llIGhhc3QgRHUgZGFzIGRlbm4gaW5zdGFsbGllcnQ/CgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2xlaW5lcyBQcm9ibGVtIChBY3JpbW9uLCAyMy4gTWFyIDE5OTgsIDIxOjI5OjQ2KToKfiMhIHJuPVlhcmVuIHJ0PTg5MDY3NDI2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTA2Njg0NDcKTm9ybWFsZXJ3ZWlzZSBoYWJlbiBMaWJyYXJpZXMgVmVyc2lvbmVuLCB1bmQgUHJvZ3JhbW1lIGJlbm9ldGlnZW4gYmVzdGltbXRlCkxpYnJhcmllcyBhYiBiZXN0aW1tdGVuIFZlcnNpb25lbi4gTmV1ZXJlIExpYnJhcmllcyBiaWV0ZW4gaW1tZXIgYWxsZQpGdW5rdGlvbmVuIGFlbHRlcmVyIFZlcnNpb25lbiBhbiwgZGVzaGFsYiBtdWVzc2VuIGtlaW5lIGFsdGVuIExpYnJhcmllcwphdWZnZWhvYmVuIHdlcmRlbi4KSW5zdGFsbGllcmVuIHNvbGx0ZSBtYW4gbnVyIExpYnJhcmllcyBtaXQgaG9laGVyZXIgVmVyc2lvbnNudW1tZXIgYWxzCmRpZWplbmlnZW4sIGRpZSBtYW4gYmVyZWl0cyBoYXQuIFdlbm4gWEVtYWNzIGVpbmUgRnVua3Rpb24gbmljaHQgZmluZGV0LCBkaWUKZXIgZnJ1ZWhlciBnZWZ1bmRlbiBoYXQsIGRhbm4gaGFzdCBEdSB3YWhyc2NoZWlubGljaCBhdXMgVmVyc2VoZW4gZWluZSBhZWx0ZXJlClZlcnNpb24gdWViZXIgZGllIGJpc2hlcmlnZSBuZXVlcmUgVmVyc2lvbiBpbnN0YWxsaWVydC4gTm9ybWFsZXJ3ZWlzZSBmcmFnZW4KSW5zdGFsbGF0aW9uc3NrcmlwdGUgZGllIFZlcnNpb25lbiBkZXIgTGlicmFyaWVzIGFiLCBqZWRvY2ggc29sYW5nZSBlcyBhdWYKVW5peCBrZWluZW4gSW5zdGFsbGVyIGFsYSBBbWlnYSBnaWJ0LCBpc3QgZXMgbGVpY2h0IGZ1ZXIgUHJvZ3JhbW1pZXJlciwgc293YXMKenUgdWViZXJzZWhlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga2xlaW5lcyBQcm9ibGVtIChDYXR3ZWF6bGUsIDIzLiBNYXIgMTk5OCwgMjI6MTU6MzkpOgp+IyEgcm49QWNyaW1vbiBydD04OTA2ODQ5ODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkwNjY4NDQ3ClNjaGF1IGRvY2ggbWFsIGluIC91c3IvWDExL2xpYiwgd2FzIGRhIGRpZSBha3R1ZWxsc3RlIFZlcnNpb24gdm9uIGxpYlhwbSBpc3QgCih6QiBsaWJYcG0uc28uNC45LCB1bmQgc2NoYXUgbmFjaCwgd29yYXVmIGxpYlhwbS5zbyB6ZWlndCAoaXN0IGlkUiBlaW4gbGluaykuIApGYWxscyBkZXIgYXVmIGVpbmUgYWVsdGVyZSB6ZWlndCwga29ycmlnaWVyIGRhcyBlaW5mYWNoIG1hbC4gRGFubiBtdXNzdCBEdQphbGxlcmRpbmdzIG5vY2ggZGllIFZlcnNpb25zbnVtbWVyIGltIGhlYWRlcmZpbGUgeHBtLmggaXJnZW5kd28gaW4KL3Vzci9YMTFSNi9pbmNsdWRlIChvc2FlLikgYW5wYXNzZW4uCkZhbGxzIGRhcyBhbGxlcyBuaXggaGlsZnQsIHd1ZXJkIGljaCBlcnN0IG1hbCB2ZXJzdWNoZW4sIGVpbmUgbmV1ZSBsaWJYcG0genUgCmluc3RhbGxpZXJlbiAod2VpbHMgc2NobmVsZWxyIGdlaHQgOi0pIG9kZXIgZGFubiBlaW4gbmV1ZXMgeGVtYWNzLgpOYXR1ZXJsaWNoIGFsbGVzIG9obmUgR2V3YWVoci4KWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkZDIChKaW1kaWdyaXosIDIzLiBNYXIgMTk5OCwgMjI6NTI6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5MDM5NTc4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTAzOTU3ODUKSG9pLAoKSWNoIHZlcm11dGUgbWFsIGRhcyBpcyBkZXIgUkZDIHVlYmVyIGRpZQpVbHRyYS1Mb3ctU3BlZWQgS29tbXVuaWthdGlvbiBtaXQgUGFuemVybiwgCgpFcyBnaWJ0IG5vY2ggbWVociB2b24gZGVyIFNvcnRlLCB3b2JlaSB2aWVsZW4KZGF2b24gZGFzIEVpbnJlaWNoZGF0dW0gZ2VtZWluc2FtIGlzdCwgcmF0ZXQgbWFsIHdlbGNoZXMgOy0pCgpBdWNoIGxlc2Vuc3dlcnQgUkZDMTE0OSAoSVAgdWViZXIgQnJpZWZ0YXViZW4pLCBSRkMxMDk3CiAodW50ZXJiZXd1c3N0ZSBCb3RzY2hhZnRlbiB1ZWJlcnMgdGVsbmV0IFByb3Rva29sbCksIAptYWcgc2VpbiBkYXNzIGVzIG5vY2ggbWVociBnaWJ0LCBkaWUgbmljaHQgZ2Fuegplcm5zdCBnZW1laW50IHNpbmQuCgpCdHcsIGRpZSBSRkNzIGdpYnRzIGF1Y2ggaW0gV2lOCnpCIHd3dy5sZW8ub3JnL3B1Yi9jb21wL2RvYy9zdGFuZGFyZHMvcmZjLwoKR3J1ZXNzZSwKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtsZWluZXMgUHJvYmxlbSAoSmFuaXR6ZSwgMjQuIE1hciAxOTk4LCAxNDoyMjowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkwNjg3NzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MDY2ODQ0NwpkYW5rZSBmdWVyIGV1cmUgSGlsZmUsIGljaCBoYWIgdGF0c2FlY2hsaWNoIGFlbHRlcmUgTGliYXJpZXMgaW5zdGFsbGllcnQsCmR1bW1lcndlaXNlIGhhYiBpY2ggZGllIG5ldWVyZW4gbmV0IG1laHIsIGFsc28gaGFiIGljaCBuZW4gYWVsdGVyZW4KWC1FbWFjcyBkcmF1ZiBnZW1hY2h0LCBqZXR6dCBrbGFwcHQgd2llZGVyIGFsbGVzIDopCgpEYW5rZW5kIEphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGF0ZW5iYW5rZW4gKEd1bmR1ciwgMjQuIE1hciAxOTk4LCAxNDoyODo0Nyk6CkhpCldvIGZpbmQgaWNoIEMrKyBzcmMnZW4gdW0gYXVmIERhdGVuYmFua2VuIHp1enVncmVpZmVuPwptZkcKR3VuZHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkZDIChNYXJjdXMsIDI0LiBNYXIgMTk5OCwgMjE6NTU6MzIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5MDM5NTc4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTAzOTU3ODUKRGEgZ2lidHMgbm9jaG1laHIgdm9uLCBHcmltbWJvcm4gOykKTWVpbmUga29tcGxldHRlIExpc3RlICh1bnRlciAKaHR0cDovL3d3dy5sZW8ub3JnL2NnaS1iaW4vbGVvLWRscy9wdWIvY29tcC9kb2Mvc3RhbmRhcmRzL3JmYy8wMC1pbgpkZXguaHRtbCB6dSBmaW5kZW4pOgpSRkMgNTI3OiAgICAgIEFSUEFXT0NLWQpSRkMgNzQ4OiAgICAgIFRFTE5FVCBSQU5ET01MWS1MT1NFIE9wdGlvbgpSRkMgOTY4OiAgICAgICInVHdhcyB0aGUgbmlnaHQgYmVmb3JlIHN0YXJ0LXVwIgpSRkMgMTA5NzogICAgIFRFTE5FVCBTVUJMSU1JTkFMLU1FU1NBR0UgT3B0aW9uClJGQyAxMTE4ClJGQyAxMTIxICAgICAgICBBY3QgT25lIC0gVGhlIFBvZW1zClJGQyAxMTQ5ICAgICAgICBBIFN0YW5kYXJkIGZvciB0aGUgVHJhbnNtaXNzaW9uIG9mIElQIERhdGFncmFtcyBvbiBBdmlhbgpDYXJyaWVyCnMKUkZDIDEyMTYgICAgICAgIEdpZ2FiaXQgTmV0d29yayBFY29ub21pY3MgYW5kIFBhcmFkaWdtIFNoaWZ0cwpSRkMgMTIxNyAgICAgICAgTWVtbyBmcm9tIHRoZSBDb25zb3J0aXVtIGZvciBTbG93IENvbW1vdGlvbiBSZXNlYXJjaCAoQ1NDUikKUkZDIDEzMDAgICAgICAgIFJlbWVtYnJhbmNlcyBvZiBUaGluZ3MgUGFzdApSRkMgMTMxMyAgICAgICAgVG9kYXkncyBQcm9ncmFtbWluZyBmb3IgS1JGQyBBTSAxMzEzIEludGVybmV0IFRhbGsgUmFkaW8KUkZDIDE0MzcgICAgICAgIFRoZSBFeHRlbnNpb24gb2YgTUlNRSBDb250ZW50LVR5cGVzIHRvIGEgTmV3IE1lZGl1bQpSRkMgMTQzOCAgICAgICAgSW50ZXJuZXQgRW5naW5lZXJpbmcgVGFzayBGb3JjZSBTdGF0ZW1lbnRzIE9mIEJvcmVkb20gKFNPQnMpClJGQyAxNjA1ICAgICAgICBTT05FVCB0byBTb25uZXQgVHJhbnNsYXRpb24KUkZDIDE2MDYgICAgICAgIEEgSGlzdG9yaWNhbCBQZXJzcGVjdGl2ZSBPbiBUaGUgVXNhZ2UgT2YgSVAgVmVyc2lvbiA5ClJGQyAxNjA3ICAgICAgICBBIFZJRVcgRlJPTSBUSEUgMjFTVCBDRU5UVVJZClJGQyAxNzc2ICAgICAgICBUaGUgQWRkcmVzcyBpcyB0aGUgTWVzc2FnZSAgICAgClJGQyAxODc2ICAgICAgICBMb2NhdGlvbiBJbmZvcm1hdGlvbiBpbiB0aGUgRE5TLCBTZWN1cml0eSBzZWN0aW9uClJGQyAxODgyICAgICAgICBUaGUgMTItRGF5cyBvZiBUZWNobm9sb2d5IEJlZm9yZSBDaHJpc3RtYXMKUkZDIDE5MjQgICAgICAgIEEgQ29tcGFjdCBSZXByZXNlbnRhdGlvbiBvZiBJUHY2IEFkZHJlc3NlcwpSRkMgMTkyNSAgICAgICAgVGhlIFR3ZWx2ZSBOZXR3b3JraW5nIFRydXRocwpSRkMgMTkyNiAgICAgICAgQW4gRXhwZXJpbWVudGFsIEVuY2Fwc3VsYXRpb24gb2YgSVAgRGF0YWdyYW1zIG9uIFRvcCBvZiBBVE0KUkZDIDE5MjcgICAgICAgIFN1Z2dlc3RlZCBBZGRpdGlvbmFsIE1JTUUgVHlwZXMgZm9yIEFzc29jaWF0aW5nIERvY3VtZW50cwpSRkMgMjEwMCAgICAgICAgbmFtaW5nIG9mIGhvc3RzCgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbm9ueW1vdXMtZnRwIChNeXN0ZXJpb3VzLCAyNi4gTWFyIDE5OTgsIDA5OjE4OjM2KToKa29ubmktY2hpLXdhIQoKZnRwLXNlcnZlcjogd3UtMi40LjItYWNhZGVtW0JFVEEtOV0oMSkKCndlciBzaWNoIGFub255bSBlaW5sb2dndCwgZXJoYWVsdCB1ZWJlciAnbHMnIGtlaW5lIGluZm9zIHVlYmVyIGRpZQp2ZXJ6ZWljaG5pc3NlLi4uCndlbm4gbWFuIGFiZXIgd2Vpc3MsIHdvIGRpZSBkYXRlaWVuIGxpZWdlbiwga2FubiBtYW4gc2llIHNpY2ggc2F1Z2VuLi4gdXBwZW4KZ2VodCBhdWNoLi4KCndlbm4gbWFuIHNpY2ggYWxzIHJpY2h0aWdlciB1c2VyIGVpbmxvZ2d0IGtsYXBwdCBhbGxlcy4uLgoKZGllIHp1Z3JpZmZzcmVjaHRlIHNpbmQgcmljaHRpZyBnZXNldHp0IGltIGZ0cC1kaXIuLi4uCgpkYXMgZ2FuemUgbGFldWZ0IHVudGVyIG5lbSBjYWxkZXJhIG9wZW4gbGludXggKHd1cmRlIGRhIG1pdGdlbGllZmVydCkuLgoKaGF0IGplbWFuZCBuZSBpZGVlLCB3b3JhbiBlcyBsaWVnZW4ga29lbm50ZT8/CgpkdWlpaQogICAgICAgICAgZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhbm9ueW1vdXMtZnRwIChHdWxkdWthdCwgMjYuIE1hciAxOTk4LCAyMzowODoxNik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg5MDkwMDMxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTA5MDAzMTYKaW0gcm9vdCBkZXMgYW5vbnltb2VuIGZ0cHMgbXVzc3QgZHUgZWluIHZlcnplaWNobmlzIGJpbiBhbmxlZ2VuIHVuZCBscwpkb3J0aGluZWluIGtvcGllcmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFub255bW91cy1mdHAgKE15c3RlcmlvdXMsIDI3LiBNYXIgMTk5OCwgMTE6NTE6NDApOgp+IyEgcm49R3VsZHVrYXQgcnQ9ODkwOTUwMDk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MDkwMDMxNgpuaSBoYW8hCgpobSwgZGFua2UsIGFiZXIgbGVpZGVyIGhhdCBkYXMgbmljaCBnZWtsYXBwdC4uCmljaCBiZWtvbW0gZm9sZ2VuZGUgYXVzc2NocmlmdDoKCmZ0cD4gcHdkCjI1NyAiLyIgaXMgY3VycmVudCBkaXJlY3RvcnkuCmZ0cD4gbHMKMjAwIFBPUlQgY29tbWFuZCBzdWNjZXNzZnVsLgoxNTAgT3BlbmluZyBBU0NJSSBtb2RlIGRhdGEgY29ubmVjdGlvbiBmb3IgL2Jpbi9scy4KMjI2IFRyYW5zZmVyIGNvbXBsZXRlLgpmdHA+ICAgICAgICAgCgooaG9mZmVudGxpY2ggc2llaHQgZGFzIGpldHp0IGFuc3RhZW5kaWcgYXVzKS4uLgoKCmRhcyBnbGVpY2ggaGF0IGVyIGF1Y2ggc2Nob24gdm9yIGRlbSBrb3BpZXJlbiBnZXRhbi4uIApuZXUgZ2VzdGFydGV0IGhhYiBpY2ggZGVuIGZ0cGQgYXVjaCBzY2hvbi4uLgoKKnNjaHVsdGVyenVjayoKCmdpYnQgZXMgZGEgaXJnZW5kZWluZW4gZWludHJhZyBpbiAvZXRjL2Z0cGFjY2VzcywgZGVyIGRhbWl0IGluIHp1c2FtbWVuaGFuZwpzdGVoZW4ga29lbm50ZT8KCmR1aWlpaQogICAgICBkQSBtWXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOVC1QYXRoIChMYXJpc3NhLCAyNy4gTWFyIDE5OTgsIDEyOjI0OjM3KToKSGFsbG8sCmljaCBoYWJlIGVpbmUgRnJhZ2UgenUgTlQ6Cldlbm4gaWNoIHVudGVyIE5UIGVpbiBEb3MtRmVuc3RlciBhdWZtYWNoZSB1bmQgUEFUSCBlaW50aXBwZSwgYmVrb21tZQppY2ggc28gY2EuIDggRWludHJhZWdlLiBTY2hhdWUgaWNoIGFiZXIgaW4gZGllIGF1dG9leGVjLmJhdCBzdGVoZW4gZGEgbnVyCjIgZHJpbi4gV28gbmltbXQgTlQgZGllIHJlc3RsaWNoZW4gUEFUSC1JbmZvcyBoZXIgdW5kIHdpZSBrYW5uIGljaCBkaWUKYWVuZGVybj8/PwoKTGFyaSwgZGFua2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTlQtUGF0aCAoRnJldW5kLCAyNy4gTWFyIDE5OTgsIDEyOjM5OjQyKToKfiMhIHJuPUxhcmlzc2EgcnQ9ODkwOTk3ODc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MDk5Nzg3NwpIaSwKCmRpZSByZXN0bGljaGVuIEVpbnRyYWVnZSBzdGVoZW4gaW0gYXV0b2V4ZWMubnQuCgpTdGVodCBpbiB3aW5udCBvZGVyIHN5c3RlbSBvZGVyIHNvLi4uCgpCaXMgZGVubgpGcmV1bmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOVC1QYXRoIChOaW1yYSwgMjcuIE1hciAxOTk4LCAxNTo1MTozOSk6Cn4jISBybj1MYXJpc3NhIHJ0PTg5MDk5Nzg3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTA5OTc4NzcKClN0YXJ0LT5FaW5zdGVsbHVuZ2VuLT5TeXN0ZW1zdGV1ZXJ1bmcKU3lzdGVtIGFua2xpY2tlbgpUYWIgVW1nZWJ1bmcgYW5rbGlja2VuCgpOaW1yYSwgYml0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdVNFIDUuMiAoR3JpbW1ib3JuLCAyOS4gTWFyIDE5OTgsIDE1OjI2OjI5KToKU2VoIGljaCBkYXMgcmljaHRpZywgZGFzcyBTdVNFIGF1Y2ggaW4gZGVyIDUuMiBub2NoIG5pY2h0IGF1ZiBkaWUgZ2xpYmMKdW1nZXN0aWVnZW4gaXN0PyBXZWlzcyBqZW1hbmQsIGZ1ZXIgd2FubiBkaWUgZGVuIFNjaHJpdHQgcGxhbmVuPwoKQWNoIGphLCB1bmQgd2VubiBkYW5uIG5vY2ggamVtYW5kIGVyemFlaGxlbiBrb2VubnRlLCB3YXMgZGFzIG51biBlaWdlbnRsaWNoCmdlbmF1IGlzdCwgd2FlcmUgZGFzIGF1Y2ggbmljaHQgc2NobGVjaHQuLi4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdVNFIDUuMiAoTWFyY3VzLCAyOS4gTWFyIDE5OTgsIDIxOjAxOjE1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTExNzc5ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkxMTc3OTg5ClRqYSwgd29obCBuaWNodC4gTWVpbmUgUXVlbGxlIChlaW4gRWlzYmFlcikgd3Vzc3QgZW5vY2ggbmljaHQgd2FubiwgaWNoCm5laG0gYWJlciBtYWwgYW4sIGRhcyBkYXMgZGFubiBTdVNFIDYuMCBoZWlzc2VuIHdpcmQuCmdsaWJjMiBoYXQgZWluaWdlIFZvcnRlaWxlOiAKLSBidWlsdGluIGxpbnV4dGhyZWFkcwotIHRocmVhZHNhZmUgZnVuY3Rpb25zICh0ZWlsd2Vpc2UgbWl0IF9yIGFwcGVuZGl4KQotIGtvbXBhdGliZWwgenUgaXJnZW5kZWluZXIga29taXNjaGUgbGliYy94ODYgaW5kdXN0cmllbm9ybS4KCk1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdVNFIDUuMiAoU2lsdmFuYSwgMjkuIE1hciAxOTk4LCAyMzoyNjo0OSk6Cn4jISBybj1NYXJjdXMgcnQ9ODkxMTk4MDc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MTE3Nzk4OQpVbmQgamV0enQgYml0dGUgbm9jaCBtYWwgYXVmIERldXRzY2ggZnVlciBkaWUgTGludXgtREFVcy4uLgoKICBTaWx2YW5hIC0gTGludXgtREFVCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdVNFIDUuMiAoSmltZGlncml6LCAzMC4gTWFyIDE5OTgsIDEyOjExOjIzKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODkxMjA2ODA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MTE3Nzk4OQoKZ2xpYmMgaXN0IGRpZSBHTlUgbGliYywgc2llIGhhdCBlaW4gcGFhciBFeHRyYS1GdW5rdGlvbmVuCk9mZmVuc2ljaHRsaWNoIGdpYnRzIGRhIGF1Y2ggbm9jaCB3YXMgc3BlemllbGxlcwpmdWVyIExvc2l4LiAqc2hydWcqCgpKaW0gRGlHcml6IChhdWNoIExpbnV4IERBVSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXVy1TZWl0ZW4gYXV0b21hdGlzY2ggbGFkZW4gKE11cmtlcywgMzEuIE1hciAxOTk4LCAxMToyODozMyk6CkhpLAppY2ggc3VjaGUgZWluIFByb2dyYW1tIG1pdCBkZW0gaWNoIGplZGVuIFRhZyBhdXRvbWF0aXNjaCBiZXN0aW1tdGUgV1dXLVNlaXRlbgpkb3dubG9hZGVuIGthbm4uIFRlaWx3ZWlzZSBtdWVzc2VuIGRhYmVpIGF1Y2ggWnVnYW5nc2luZm9ybWF0aW9uZW4gdWViZXJnZWJlbgp3ZXJkZW4sIGJ6dy4gRm9ybXVsYXJlIGF1c2dlZnVlbGx0IHdlcmRlbi4gR2lidCdzIGRhIHdhcz8gQmV0cmllYnNzeXN0ZW0gaXN0CnJlbGF0aXYgZWdhbCwgZGEgaWNoIFp1Z2FuZyB6dSBMaW51eCwgU29sYXJpeCB1bmQgV2luLVJlY2huZXJuIGhhYmUuCkRhbmtlLAoKTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV1dXLVNlaXRlbiBhdXRvbWF0aXNjaCBsYWRlbiAoUHJhLCAzMS4gTWFyIDE5OTgsIDE2OjQyOjAyKToKfiMhIHJuPU11cmtlcyBydD04OTEzMzY1MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkxMzM2NTEzCkljaCBtYWNoIHNvd2FzIG1pdCBlaW5lciBLb21iaW5hdGlvbiBhdXMgY3JvbnRhYiB1bmQgbHlueCB1bnRlciBVbml4LgptaXQgY3JvbnRhYiBrYW5uc3QgZHUgSm9icyBhbiBiZXN0aW1tdGVuIFRhZ2VuIHp1IGJlc3RpbW10ZW4gWmVpdGVuIGxhdWZlbgpsYXNzZW4uIE1pdCBseW54IC1zb3VyY2UgPHVybD4gPiA8ZGF0ZWk+IGtyaWVnc3QgZHUgZGllIERhdGVuIGRpcmVrdCBhdWYKUGxhdHRlLiBEaWUgWnVnYW5nc2luZm9ybWF0aW9uZW4gd2VyZGVuIGluIGRpZSBVUkwgZWluZ2V0cmFnZW4uIFN0ZWh0CmluIGVpZ2VudGxpY2ggamVkZXIgRG9rdSB1ZWJlciBVUmxzLiBHbGF1YmUgaWNoIGplZGVuZmFsbHMuIFNvbnN0IG5vY2htYWwKbmFjaGZyYWdlbi4KClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV1dXLVNlaXRlbiBhdXRvbWF0aXNjaCBsYWRlbiAoRGllZGVyLCAzMS4gTWFyIDE5OTgsIDIwOjU3OjQ3KToKfiMhIHJuPVByYSBydD04OTEzNTUzMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkxMzM2NTEzCkljaCBzZXR6ZSBkYXMgUHJvZ3JhbW0gV2ViU25ha2Ugdm9uIEFuYXdhdmUgU29mdHdhcmUgZWluIChhbHMgU2hhcmV3YXJlCmVyaGFlbHRsaWNoLCBhbSBiZXN0ZW4gZGlyZWt0IGJlaSB3d3cuYW5hd2F2ZS5jb20pLgpEYXMgRGluZyBoYXQgbmVuIEhhdWZlbiBPcHRpb25lbiB1bmQgbGFlc3N0IHNpY2ggcGVyZmVrdCAic2NoZWR1bGVuIi4KCkhvZmZlLCBkYXMgaGlsZnQgRGlyIHdlaXRlci4KCkdydXNzLApEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvcmVsNyAtIEltcG9ydGllcmVuIHZvbiBPYmpla3RlbiAoSGFyLCAgMy4gQXByIDE5OTgsIDE5OjU3OjU2KToKTWFobHplaXQuLi4KSUNoIGhhYmUgZWluIGtsZWluZXMgUHJvYmxlbSBtaXQgQ29yZWwgRHJhdyA3Cldlbm5uIGljaCBlaW4gT2JqZWt0IGF1cyBlaW5lciBhbmRlcmVuIEFud2VuZHVuZyAoaGllciBPcmlnaW4pIHVlYmVyIGRpZQpad2lzY2hlbmFibGFnZSBlaW5mdWVnZSwKYWVuZGVybiBzaWNoIGFsbGUgTGluaWVuYnJlaXRlbiBhdWYgZGllIEJyZWl0ZSBlaW5lciBIYWFybGluaWUuIEthbm4gbWFuIGRhcwppcmdlbmR3aWUgYW5lZGVybi91bWdlaGVuPwoKSGFyIChnZW5lcnZ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcXVha2UgSUkgZi4gbGludXggKE15c3RlcmlvdXMsICA3LiBBcHIgMTk5OCwgMjA6MjM6NDgpOgprb25uaSBjaGkgd2EhCgpoYXQgamVtYW5kIHZvbiBldWNoIHNjaG9uIG1hbCBxdWFrZSBJSSAoZGVtbykgdW50ZXIgbGludXggenVtIGxhdWZlbiBnZWJyYWNodD8KaWNoIGJla29tbSBkaWUgZmVobGVybWVsZHVuZzoKQWRkZWQgcGFja2ZpbGUgLi9iYXNlcTIvcGFrMS5wYWsgKDI3OSBmaWxlcykKZXhlY2luZyBkZWZhdWx0LmNmZwpjb3VsZG4ndCBleGVjIGNvbmZpZy5jZmcKQ29uc29sZSBpbml0aWFsaXplZC4KCi0tLS0tLS0gc291bmQgaW5pdGlhbGl6YXRpb24gLS0tLS0tLQpzb3VuZCBzYW1wbGluZyByYXRlOiAxMTAyNQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0tLS0tLSBMb2FkaW5nIHJlZl9zb2Z0LnNvIC0tLS0tLS0KRXJyb3I6IENvdWxkbid0IGxvYWQgcGljcy9jb2xvcm1hcC5wY3gKcmVjdXJzaXZlIHNodXRkb3duCgp0amEuLi4gcGVybWlzc2lvbnMgc2luZCBrb3JyZWt0IGdlc2V0enQgKHBlciBmaXhwZXJtcy5zaCB1bmQgdmlzdWVsbGVyCnVlYmVycHJ1ZWZ1bmcpCgppY2ggaGF0dGUgdWViZXJsZWd0LCBvYiBlcyBhbiBtZWluZW0geC1zZXJ2ZXIgbGllZ3QsIGRhc3MgZGVyIG5pY2ggZ2VudWcKZmFyYmVuIGJlcmVpdHN0ZWxsdC4uLgphYmVyIHVtc3RlbGxlbiB2b24gOCBhdWYgMTZiaXQgZmFyYnRpZWZlIGhhdCBhdWNoIG5peCBnZWJyYWNodAoKc28gbG9uZy4uCiAgICAgICAgICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV3cz8gKEVuZ3l3dWNrLCAxNS4gQXByIDE5OTgsIDA5OjU0OjA5KToKSGFsbG8hCkVpbmUga2xlaW5lIEZyYWdlOiBJY2ggc3VjaCBuZW4ga251ZmZpZ2VuIGtsZWluZW4gcHJha3Rpc2NoZW4gKGt1cno6Cm9wdGltYWxlbikgTmV3c2NsaWVudCBmdWVyIE5UIChubyBkaXNjdXNzaW9uIGFib3V0IE5ULCBwbGVhc2UgOykuIEthbm4gbWlyIGRhCmplbWFuZCB3YXMgZW1wZmVobGVuPyBUaXBzIGJpdHRlIGhpZXIgaGluIG9kZXIgcGVyIE1haWwgYW4gdGtvY2hAaWNkLWdtYmguZGUKCkRhbmtlIQoKRW5neSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXV1ctU2VpdGVuIGF1dG9tYXRpc2NoIGxhZGVuIChIYWRyYSwgMTUuIEFwciAxOTk4LCAyMzozNTo0OCk6Cn4jISBybj1NdXJrZXMgcnQ9ODkxMzM2NTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MTMzNjUxMwp1bnRlciBsaW51eCBrb2VubnRlc3QgZHUgd2dldCBiZW51dHplbi4gdW5kIGRhcyBnYW56ZSB1ZWJlciBjcm9uIG9kZXIgYXQKYXVzZnVlaHJlbiBsYXNzZW4uIG9iIGRhcyBhbGxlcmRpbmdzIG1pdCBzZWx0c2FtZW4gcGFzc3dvcnRhYmZyYWdlbiBrbGFya29tbXQKLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV1dXLVNlaXRlbiBhdXRvbWF0aXNjaCBsYWRlbiAoQmxvb2R5aGFycnksIDE2LiBBcHIgMTk5OCwgMDk6NTY6NDQpOgp+IyEgcm49TXVya2VzIHJ0PTg5MTMzNjUxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTEzMzY1MTMKRGFubiBmYXNzZSBpY2ggbWFsIHp1c2FtbWVuOiBEaWUgS29tYmluYXRpb24gYXVzIGNyb24sIGV4cGVjdCB1bmQgd2dldCBzb2xsdGUKZXMgc28gdHVuLiBBbGxlcyBmdWVyICpuaXguIFZpZWwgU3Bhc3Mgbm9jaC4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwcm9ibGVtIG1pdCAyLiBIRCAoR25vbWUsIDE2LiBBcHIgMTk5OCwgMjE6NDU6MjMpOgpoaSwKCmZvbGdlbmRlcyBzYWNoZToKCnNpdHVhdGlvbjogUDc1LCAxNk1CLCAyIEhELCAxIENELVJPTSwgV3Vlcmc5NQogICAgICAgICAgCiAgICAgICAgICAgMS4gSEQ6IFByaW1hcnkgTWFzdGVyCiAgICAgICAgICAgMi4gSEQ6IFNlY29uZGFyeSBNYXN0ZXIKICAgICAgICAgICBDRC1Sb206IFNlY29uZGFyeSBTbGF2ZQoKcHJvYmxlbTogMi4gSEQgd2lyZCBiZWltIGJvb3RlbiBuaWNodCBpbW1lciBlcmthbm50IHVuZCB3ZW5uLAogICAgICAgICBkYW5uIGVyc3QgbmFjaCAzIG1pbiB3YXJ0ZXplaXQuLi4KCmhhdCBqbWQgdm9yc2NobGFlZ2UgenVyIGxzZyBkZXMgcHJvYnM/IDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHByb2JsZW0gbWl0IDIuIEhEIChOaW1yYSwgMTYuIEFwciAxOTk4LCAyMjo1Njo1Myk6Cn4jISBybj1Hbm9tZSBydD04OTI3NTU5MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkyNzU1OTIzCgpWb3JzY2hsYWc6IDEuSEQ6IFByaW1hcnkgTWFzdGVyCiAgICAgICAgICAgMi5IRDogUHJpbWFyeSBTbGF2ZQogICAgICAgICAgIENELVI6IFNlY29uZGFyeSBNYXN0ZXIKCk5pbXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXbyBpc3QgbWVpbiBzbW9vdGhzY3JvbGw/IChIaWdobGFuZGVyLCAxNy4gQXByIDE5OTgsIDEyOjUxOjUzKToKLi4uIG9kZXIgd2FydW0gaXN0IG1laW5lIDk1IHRhc2tiYXIgYXVmIGVpbm1hbCBtaXQgZWluZW0gKnphY2sqIGF1ZiBkZW0Kc2NyZWVuIHN0YXR0IHNhbmZ0IHJlaW56dXJvbGxlbj8KRGFzIGdhbnplIHBhc3NpZXJ0IHNlaXQgZGVtIEVpbmJhdSBkZXIgTW9uc3Rlciwgd29taXQgZWluIFVtc3RlY2tlbiBkZXIKTXlzdGlxdWUgdmVyYnVuZGVuIHdhciAoaWNoIGxpZWJlIFBDSSB1bmQgUG5QIC0gYW5kZXJzIHdhciBkYXMgZGlzcGxheQp6aWVtbGljaCBrYXB1dHQpLiBCZXZvciB3ZXIgZnJhZ3QgLSBkZXIga2V5IFNtb290aFNjcm9sbCB1bnRlcgppcmdlbmR3YXMvZGVza3RvcCBzdGVodCBhdWYgMHgwMS4KICAgIEhyVAoKUFM6IEdub21lOiBEYXMgQ0QtUiBzb2xsdGUgd2lya2xpY2ggYWxsZWluIGF1ZiBlaW5lbSBjb250cm9sbGVyIHNpdHplbi4KVW5hYmhhZW5naWcgb2IgZGFzIGRhcyBQcm9ibGVtIGxvZXN0IG9kZXIgbmljaHQgLSB6dXNhbW1lbiBtaXQgZWluZXIgSEQKYnJlbXN0IGVzIGRpZXNlbGJlIGdld2FsdGlnIGF1cywgd2VpbCBkYXMgbGFuZ3NhbXN0ZSBMYXVmd2VyayBhbSBDb250cm9sbGVyCmRpZSBHZXNjaHdpbmRpZ2tlaXQgYmVzdGltbXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV28gaXN0IG1laW4gc21vb3Roc2Nyb2xsPyAoUGlsZ3JpbSwgMTcuIEFwciAxOTk4LCAxNTowNDoyMyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTg5MjgxMDMxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTI4MTAzMTMKSG1tLAoKbmViZW4gZGVtIG5pY2h0IG1laHIgc21vb3RoIHNjcm9sbGVuZGVuIFRhc2tiYXIgc29sbHRlIGF1Y2ggZm9sZ2VuZGVzCmFuZGVycyBzZWluOiBiZWluIHZlcnNjaGllYmVuIG9mZmVuZW4gRmVuc3RlciB3aXJkIGRlciBGZWJzdGVySW5oYWx0Cm5pY2h0IG1laHIgYW5nZXplaWd0LCBzb25kZXJuIG51ciBub2NoIGVpbiBSYWhtZW4gLi4uCih1bmQgLSBkYSBiaW4gaWNoIG1pciBzbyBhdXN3ZW5kaWcgbmljaHQgc2ljaGVyIC0gd2VubiBtYW4gZWluIGZlbnN0ZXIKb2VmZm5ldCwgd2lyZHMgbmljaHQgbWVociBhbmltaWVyIChzb25uZSBBcnQgaGVyYW56b29tZW4gYXVzIGRlbSBVbmVuZGxpY2hlbikKdCBkYXJnZXN0ZWxsdCwgc29uZGVybiBpc3QgZWluZmFjaCBkYS4uLiA/Pz8/ICAgICAgIAoKSWNoIHdlaXNzIG5pY2h0LCBvYiBkYXMgamV0enQgZWluIGZlYXR1cmUgZGVzIFBMVVNwYWtldHMgb2RlciBkZXMgTXlzdGlxdWUtClRyZWliZXJzIHdhciwgYWJlciB1bnRlciBBbnplaWdlIC0+IGVpbnN0ZWxsdW5nZW4gKD8pIHNvbGx0ZSBlcyBpcmdlbmR3byBuZW4KQnV0dG9uICJGZW5zdGVyIGFubmltaWVyZW4iIG9kZXIgc28gZ2ViZW4gLi4uIGRlciBzb3JndCBhdWNoIGZ1ZXIgZGllClRhc2tsZWlzdGUKClBpbGdyaW0gLSBzY2hhdXQgbWFsIG5hY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkMtUHJvZ3JhbW0tRm9ybWF0aWVyZXIgKFByYSwgMTkuIEFwciAxOTk4LCAxMzoyNTozOSk6CkhpLAoKdm9yIGVpbiBwYWFyIEphaHJlbiBpc3QgbWlyIG1hbCBlaW4gUHJvZ3JhZW1tY2hlbiBpbiBkaWUgSGFlbmRlIGdlZmFsbGVuLAptaXQgZGVtIG1hbiBDLVByb2dyYW1tZSBzbyBmb3JtYXRpZXJlbiBrb25udGUsIGRhc3Mgc2llIHVubGVzYmFyIHd1cmRlbi4KQWxzbyBhbGxlIG5pY2h0IHJlbGV2YW50ZW4gd2hpdGVzcGFjZXMgd3VyZGVuIGdlbG9lc2NodCwgdW5kIGRhcyBnYW56ZQpQcm9ncmFtbQp3dXJkZSBkYW5uIGluIEJsb2Nrc2F0eiBnZXNldHp0LgoKRGFzIFByb2dyYW1tIGRpZW50ZSB6LkIuIGRhenUsIFR1dG9yZW4genUgYWVyZ2VybiwgZGVuZW4gbWFuIGVpbiBQcm9ncmFtbS0KTGlzdGluZyB2b3JsZWdlbiBtdXNzdGUuCkhhdCBqZW1hbmQgc28gZWluIFByb2dyYW1tIG9kZXIgd2Vpc3MsIHdvIG1hbiBzbyBlaW5lcyBiZWtvbW1lbiBrb2VubnRlPwoKUHJhLiBGcmV1dCBzaWNoIHVlYmVyIGplZGVuIEhpbndlaXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDRC1CZXNjaHJpZnR1bmdzcHJvZ3JhbW0gKExlZnR5LCAxOS4gQXByIDE5OTgsIDE5OjIxOjEyKToKSGksCgppY2ggc3VjaGUgZWluIGVpbmZhY2hlcyBQcm9ncmFtbSwgbWl0IGRlbSBpY2ggQ0QtRWlubGFnZW4gYXVzZHJ1Y2tlbiB1bmQKYmVzY2hyaWZ0ZW4ga2FubiwgZXMgZ2VodCBuaWNodCBudXIgdW0gc28gZWluZSBFaW5sYWdlIGFsYSBTb25nYm9vayBzb25kZXIKYXVjaCBmdWVyIGRpZSB2ZXJkZWNrdGUgUnVlY2tzZWl0ZSB1bmQgUmFuZHN0cmVpZmVuLgpLZW5udCBqZW1hbmQgc293YXMgPyBXbyBrYW5uIG1hbiBkYXMgYmVrb21tZW4gPwoKTGVmdHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmEgdW5kIEJyb3dzZXI/IChTaWx2YW5hLCAyMC4gQXByIDE5OTgsIDEyOjQ2OjI2KToKSGFpCgpLZW5udCBzaWNoIGplbWFuZCBtaXQgZGVuIGFrdHVlbGxlbiBCcm93c2VybiB2b24gTmV0c2NhcGUgb2RlciBNJCB1bmQKd2Vpc3MsICB3ZWxjaGVuIEphdmEtc3RhbmRhcmQgZGllIHVudGVyc3R1ZXR6ZW4/IEljaCBicmFldWNodGUgZXR3YXMsCmRhc3MgbWl0IEphdmEgMS4xIGtsYXJrb21tdC4KCiAgU2lsdmFuYQoKUFM6IEFjaCBqYSwgZ2lidHMgc2Nob24gbmVuIEpESyAxLjEgZnVlciBMaW51eD8gRHVtbWUgRnJhZ2UgLSBXTyBnaWJ0cy4uLj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYXZhIHVuZCBCcm93c2VyPyAoUnVtYXRhLCAyMC4gQXByIDE5OTgsIDEzOjQ2OjAzKToKfiMhIHJuPVNpbHZhbmEgcnQ9ODkzMDY5MTg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MzA2OTE4NgpodHRwOi8vd3d3LmphdmEtbGludXgub3JnLwp1bmQgZGFubiBnaWJ0IGVzIGRhIG5vY2ggZGVuIGFjdGl2YXRvciB2b24gc3VuLCBlaW4gcGx1Z2luLCBkYXNzIEpESyAxLjEueAplcmxhdWJ0LiBodHRwOi8vamF2YS5zdW4uY29tLyBFdmVudHVlbGwgbXVzcyBtYW4gZGVyIEpEQyAoSmF2YSBEZXZlbG9wZXJzCkNvbm5lY3Rpb24pIGJlaXRyZXRlbiwgd2FzIGFiZXIga29zdGVubG9zIG1vZWdsaWNoIGlzdC4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbnQgdW50ZXJzY2hsYWVndCBuZSBwbGF0dGUgKEphbml0emUsIDIwLiBBcHIgMTk5OCwgMjI6NDk6MjApOgpIaSAhCkFsc28gbWVpbiBXaW4gTlQgdW50ZXJzY2hsYWVndCBtaXIgbmUgUGxhdHRlLCAyIGhhZW5nZW4gYW0gUHJpbWFyeSwgZWluZSBhbQpzZWNvbmRhcnkgKyBjZC1yb20sIE5UIHdlaWdlcnQgc2ljaCwgZGllIHp3ZWl0ZSBhbSBwcmltYXJ5IHp1IGVya2VubmVuLCAKZG9zIHVuZCBsaW51eCBoYWJlbiBnYXIga2VpbmUgUHJvYmxlbWUgbWl0IGRlciBQbGF0dGUsIGFjaGphLCBkYXMgZ2FuemUgaXN0CmVyc3QsIGFscyBpY2ggamV0enQgYW0gV0UgYWxsZXMgbm9jaG1hbCBuZXUgZ2VtYWNodCBoYWIsIGFsc28gcGFydGlvbmllcmVuLApmb3JtYXRpZXJlbiwgYmxhYmxhCkhhdCBkYSBqZW1hbmQgbmUgQWhudW5nID8gYXVjaCBpbSBsYXVmZW5kZW4gQmV0cmllYiBrZW5udCBOVCBkaWUgUGxhdHRlIG5pY2gKOigKCkphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG50IHVudGVyc2NobGFlZ3QgbmUgcGxhdHRlIChLZXksIDIxLiBBcHIgMTk5OCwgMDk6MjI6MDYpOgp+IyEgcm49SmFuaXR6ZSBydD04OTMxMDUzNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzMTA1MzYwClNlaSBkb2NoIGZyb2ggLCkKRGFubiBpc3QgYXVmIGplZGVuIEZhbGwgZGllIGVpbmUgUGxhdHRlIHZvciBXaW5kb29mIGluIFNpY2hlcmhlaXQgLCkKCktleSBzY2htYXJybnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbnQgdW50ZXJzY2hsYWVndCBuZSBwbGF0dGUgKEphbml0emUsIDIxLiBBcHIgMTk5OCwgMjI6MDg6MzQpOgp+IyEgcm49S2V5IHJ0PTg5MzE0MzMyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTMxMDUzNjAKbmFqYSBzY2hhdSBtYWwgS2V5OiBtaWNoIHd1cm10IGVzIGVpbmZhY2gsIGRhcyBkaWVzZXMga29taXNjaGUgQlMgbWlyIG5lClBsYXR0ZSB1bnRlcnNjaGxhZWd0LCBzb3dhcyBrYW5uIGVpbmZhY2ggbmljaCBhbmdlaGVuICEKCm5pY2ggPwoKSmFuaWNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYW1wbGUgdW5kIEhvbGQgZ2VzdWNodCAoQXJlbGlvbiwgMjIuIEFwciAxOTk4LCAxMDoyODowNCk6CkhpLAoKaWNoIHN1Y2hlIGVpbmVuIEFuYWxvZ3NwZWljaGVyIChTYW1wbGUgJiBIb2xkKSBtaXQgSGFsdGV6ZWl0ZW4gdm9uIG1pbmRlc3RlbnMKZWluZXIgU3R1bmRlLiBBbHNvIEFiZmFsbHJhdGUgPDwgMC4wMSUgcHJvIFN0dW5kZS4gU2FtcGxlemVpdCBlZ2FsLiBLZW5udCBkYQpqZW1hbmQgZWluZSBtb2VnbGljaHN0IG1vbm9saXRoaXNjaGUgTG9lc3VuZz8gKERpc2tyZXQgaXN0IGVzIGtlaW4gUHJvYmxlbS4gOikKKQoKQWxvaGEsCiAgICAgQXJlbGlvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYW1wbGUgdW5kIEhvbGQgZ2VzdWNodCAoQmxvb2R5aGFycnksIDIyLiBBcHIgMTk5OCwgMTE6MjQ6MDgpOgp+IyEgcm49QXJlbGlvbiBydD04OTMyMzM2ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzMjMzNjg0ClNjaGF1IGRvY2ggbWFsIGluIHd3dy5hbmFsb2cuY29tIG5hY2guCgpiaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKE5UIHx8IExpbnV4KSAmJiBBR1AtR3JhZmlra2FydGVuIChNb3Jnb3RoLCAyMi4gQXByIDE5OTgsIDExOjMyOjA2KToKVGphLCBtZWluIHByb2JsZW0gc3RlaHQgaW0gdGl0ZWwuIGRpZSBiZWlkZW4gd29sbGVuIGVpbmZhY2ggbmljaHQuIGVzIGtvZW5udGUKYW0gYWdwLXBvcnQgbGVpZ2VuLCBoYXQgZGEgaXJnZW5kd2VyIGVyZmFocnVuZyBtaXQ/CkFudHdvcnRlbiBiaXR0ZSBwZXIgbWFpbCBhbjoKYmlya2VAcGVhbnV0LmNoZW1pZS51bmktZG9ydG11bmQuZGUKCkRhbmtlLi4uLk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV28gaXN0IG1laW4gc21vb3Roc2Nyb2xsPyAoTmlyZGF2bywgMjIuIEFwciAxOTk4LCAxMjo0NTowNyk6Cn4jISBybj1QaWxncmltIHJ0PTg5MjgxODI2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTI4MTAzMTMKICBIbW1tLi4uIGRhcyBhdXNnZWZ1ZWxsdGUgdmVyc2NoaWViZW4gZGVyIEZlbnN0ZXIgaXN0IGVpbmUgRnVua3Rpb24gZGVzClBMVVMtUGFja3MuIERpZSBBbmltYXRpb24gZGVyIEZlbnN0ZXIgaXN0LCBBRkFJSywgZWluZSBmdW5rdGlvbiwgZGllIHZpZWxlCmdyYWZpa3RyZWliZXIgYW5iaWV0ZW4sIGRhcyBzbW9vdGhzY3JvbGwgZGVyIHRhc2tsZWlzdGUgYWxsZXJkaW5ncyBzb2xsdGUgdm9uClc5NSBzZWxic3QgZ2VsaWVmZXJ0IHdlcmRlbi4gCiAgQmlzIGF1ZiBkZW4gZXJzdGVuIFB1bmt0IG9obmUgR2V3YWVociwgCgogICAgICAgICAgICAgICAgICAgICBOaXJkYXZvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXbyBpc3QgbWVpbiBzbW9vdGhzY3JvbGw/IChTaGFubmFyYSwgMjIuIEFwciAxOTk4LCAxMzo0NTo1Myk6Cn4jISBybj1OaXJkYXZvIHJ0PTg5MzI0MTkwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTI4MTAzMTMKSG1tLi4gZGFzIGlzdCBBRkFJSyBpbiBXaW45NSBlaW5nZWJhdXQsIHVuZCBlcyBmZWhsdCBoYWx0IG51ciBkaWUgQ09PTC5ETEwgdW5kCmVpbiBwYWFyIEVpbnRyYWVnZSBpbiBkZXIgUmVnaXN0cnkuCgpFcyBnYWIgbWFsIGVpbmVuIEFydGlrZWwgaW4gZGVyIGMndCBkYXJ1ZWJlciwgd2llIG1hbiBlaW5lIGVudHNwcmVjaGVuZGUgCk1pbmltYWwgQ09PTC5ETEwgbmFjaHN0cmlja3QgdW5kIGRpZSBSZWdpc3RyeSBlbnRzcHJlY2hlbmQgbW9kaWZpemllcnQuIApEaWUgQ09PTC5ETEwgbGFuZGV0IGVpbmZhY2ggaW0gIFNZU1RFTSBWZXJ6ZWljaG5pcy4gV2VyIEludGVyZXNzZSBhbiBkZXIgRExMCnVuZCBlaW5lcyBlbnRzcHJlY2hlbmRlbiBSZWdpc3RyeXBhdGNoZXMgaGFiZW4gd2lsbCwgYnJhdWNodCBtaWNoIG51ciB1bnRlcgpwdWxhc2tpQG1hZ25ldC5hdCBhbnp1bWFpbGVuLgoKU2hhbm5hcmEuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV28gaXN0IG1laW4gc21vb3Roc2Nyb2xsPyAoUGlsZ3JpbSwgMjIuIEFwciAxOTk4LCAxNToyMzo1MCk6Cn4jISBybj1TaGFubmFyYSBydD04OTMyNDU1NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkyODEwMzEzCkljaCBoYWIgbm9jaG1hbCBuYWNoZ2VzY2hhdXQgLi4uCkVzIGlzdCBkaWUgb3B0aW9uICJGZW5zdGVyaW5oYWx0IGJlaW0gdmVyc2NoaWViZW4gYW56ZWlnZW4iLCBkaWUgZGFmdWVyCnNvcmd0LCBkYXNzIGRlciBUYXNrYmFyIHNjcm9sbHQgOy0pCgpUeXBpc2NoIFdpbjk1IQoKcQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV28gaXN0IG1laW4gc21vb3Roc2Nyb2xsPyAoSGlnaGxhbmRlciwgMjIuIEFwciAxOTk4LCAxODo0MTo0Mik6Cn4jISBybj1QaWxncmltIHJ0PTg5MzI1MTQzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTI4MTAzMTMKQWggamEuIFVuZCB3byB6dW0gR2F0ZXMgdmVyc3RlY2t0IHNpY2ggZGllPwogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNNT1MuLi4uIChTaGFyaWEsIDIyLiBBcHIgMTk5OCwgMjE6MDg6MzQpOgoKSG1tIG5hY2hkZW0gaWNoIGJlaSBtZWluZW0gUmVjaG5lciBkYXMgTW90aGVyYm9hcmQgaW5jbCBDUFUgYXVzZ2V0YXVzY2h0CmhhYmUoYWJlciBhdWNoIG5lbiBnZWJyYXVjaHRlcyBkYWhlciBhdWNoIGtlaW5lIGFubGVpdHVuZykgYmVrb21tIGljaCBiZWltCkhvY2hmYWhyZW4gZGllIE1lbGR1bmc6CgpDTU9TIG1lbW9yeSBzaXplIG1pc21hdGNoCgp1bmQgZGFuYWNoIHdpcmRzIEJJT1MgZ2VzdGFydGV0Li4uClRqYSBhYmVyIGRhcyBwYXNzaWVydCBoYWx0IG51ciwgd2VubiBkZXIgUmVjaG5lciBhYmdlc2NoYWx0ZXQgd2FyIC4uLgoKSGF0IGplbWFuZCBuZSBJZGVlIHdvcmFucyBsaWVnZW4ga29lbm50ZSA/IAoKQmlzaGVyIGhhdHRlIGljaCB6dW1pbmRlc3QgZGVuIFZvcnNjaGxhZyBtYWwgZGllIEJhdHRlcmllIHp1IGNoZWNrZW4sIHdhcyBhYmVyCmxlaWRlciBuaWNodCBzb28gbGVpY2h0IGlzdCAuLiAKa2FubiBlcyBhdWNoIGFuIGV0d2FzIGFuZGVyZW0gbGllZ2VuID8KClNoYXJpYSx3YXIgZWlnZW50bGljaCBzdG9seiBkYXNzIHNpZSBqZXR6dCBuZW4gUDkwIGhhdCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDTU9TLi4uLiAoRnJldW5kLCAyMi4gQXByIDE5OTgsIDIyOjM4OjE3KToKfiMhIHJuPVNoYXJpYSBydD04OTMyNzIxMTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzMjcyMTE0ClNjaG9uIG1hbCBpbnMgQmlvcyBnZWdhbmdlbiB1bmQgbWl0IEV4aXQgdW5kIFNBVkUgdmVybGFzc2VuPyBEQW5uIHNvbGx0ZSBlcgpzaWNoIGJlaW0gbmFlY2hzdGVuIE1hbCBuaWNodCB3aWVkZXIgYmVzY2h3ZXJlbi4uLgoKRmFsbHMgZG9jaDogU3BlaWNoZXIgbWFsIHRhdXNjaGVuLiAKRmFsbHMgaW1tZXIgbm9jaDogQmF0dGVyaWVzYXR6IGRyYW5oYWVuZ2VuLiBBYmVyOiAxLiBzb2xsdGVuIFBlbnRpdW0tQm9hcmRzCm5vY2gga2VpbmUgVmVyc29yZ3VuZ3Nwcm9ibGVtZSBoYWJlbiB1bmQgMi4gbXVlc3N0ZW4gZGFubiBhbGxlIGFuZGVyZW4KQmlvc2VpbnN0ZWxsdW5nZW4gYXVjaCB3ZWcgc2Vpbi4gU3RlaHQgZGllIFBsYXR0ZSBhdWYgQVVUTy1ERVRFQ1Q/IEZhbGxzCm5pY2h0LCB1bmQgc2llIGZlc3QgZWluZ2V0cmFnZW4gaXN0LCBkYW5uIGlzdCBkaWUgQmF0dGVyaWUgYXVjaCBPSy4uLgoKRnJldW5kIG1pdCBlcnN0ZXIgSGlsZmUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdvIGlzdCBtZWluIHNtb290aHNjcm9sbD8gKFNoYW5uYXJhLCAyMy4gQXByIDE5OTgsIDAwOjQwOjU5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9ODkzMjYzMzAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MjgxMDMxMwonRGllIENPT0wuRExMIGlzdCBpbSBOb3JtYWwtV2luOTUgbmljaHQsIGRhIGFiZXIgaWNoIGhhYiBuZSBlcnNhdHogZGxsLi4uIGRpZQppY2ggYmFsZCBpbnMgd2ViIHN0ZWxsZSwgb2s/IAoKU2hhbm5hcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVkaXRvciBnZXN1Y2h0IChEaWVkZXIsIDIzLiBBcHIgMTk5OCwgMDk6MDI6MzcpOgpIaSEKCkljaCBzdWNoZSBuZW4gZ3V0ZW4gRWRpdG9yIGZ1ZXIgTGludXggKGJlaSBTdVNFIDUuMiBzaW5kIHp3YXIgemlnIGRhYmVpLCBhYmVyCmtlaW5lLCBkaWUgbWlyIGdlZmFsbGVuICpncmlucyopLgpFciBzb2xsdGUgdWViZXIgUHVsbGRvd25tZW51ZXMgZWluZmFjaCB6dSBiZWRpZW5lbiBzZWluLCBEYXRlaWVuIG5pY2h0IG51cgpuYWNoIGRlbSB1ZWJsaWNoZW4gRW1hY3MtUHJpbnppcCAobWFudWVsbGUgRWluZ2FiZSkgenUgbGFkZW4gc2VpbiBzb25kZXJuCnNjaG9lbiB1ZWJlciBlaW5lIEF1c3dhaGxsaXN0ZSwgc293aWUgZGllIHVlYmxpY2hlbiBGZWF0dXJlcyBlaW5lcyBFZGl0b3JzCmhhYmVuLgpXZXIga2VubnQgc293YXMsIHdvIGdpYnRzIGRhcz8KCkRhbmsgdW5kIEdydXNzLApEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFZGl0b3IgZ2VzdWNodCAoRGllZGVyLCAyMy4gQXByIDE5OTgsIDA5OjA1OjI1KToKfiMhIHJuPURpZWRlciBydD04OTMzMTQ5NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzMzE0OTU3CmFlaCBub2Nod2FzLi4uIGVyIHNvbGx0ZSBfbmljaHRfIHVudGVyIFggbGF1ZmVuLi4uCgpHcnVzcywKRGllZGVyCgpQUzogU29ycnkgZnVlciBzY2hsZWNodGVzIERldXRzY2gsIGRhcyBsaWVndCBhbiBkZXIgVWhyemVpdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDTU9TLi4uLiAoU2hhcmlhLCAyMy4gQXByIDE5OTgsIDEwOjAwOjI1KToKfiMhIHJuPUZyZXVuZCBydD04OTMyNzc0OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzMjcyMTE0CjEuIFNwZWljaGVyIHNjaG9uIGdldGF1c2NodCB1bmQgaW4gYW5kZXJlbSByZWNobmVyIGdldGVzdGV0IGRlciBpcyBvawoyLiBkYXMgUGVudGl1bSBCb2FyZCBpcyBzb3ZpZWwgaWNoIHdlaXNzIGVpbmVzIGRlciBlcnN0ZW4gKGhhdCB6LmIuIG5vY2gKa2VpbmVuIEhELUFuc2NobHVzcyBhdWZtIEJvYXJkKSBkYWhlciBrYW5ucyBkYSBiZXN0aW1tdCB6dQp2ZXJzb3JndW5nc3Byb2JsZW1lbiBrb21tZW4uLiA6LSgKMy4gZXhpdCB1bmQgc2F2ZSBtYWNoIGljaCBpbSBCaW9zIC4uIGtlaW5lIHNvcmdlIERBUyB3YXIgbmljaHQgZGVyIEZlaGxlcgo6LSkpKSkKNC4gQmF0dGVyaWUgZHJhbmhhZW5nZW4gaXMgaGFsdCBkYXMgd2FzIHdhcyBpY2ggYWxzIGxldHp0ZXMgd29sbHRlIHdlaWwgenUKa29tcGxpemllcnQgOi0pCjUuIGF1dG8tZGV0ZWN0IGhhdCBtZWluIGJpb3MgbmljaHQgLi4gbnVyIGJpb3MgaW50ZXJuIGZpbmRldCBlciBkaWUgSEQKaW1tZXJoaW4gdm9uIGFsbGVpbmUgYWJlciBoYXQga2VpbmVuIGF1dG9tYXRpc2NoZW4gYXV0b2RldGVjdCBkcmluIDotKAoKU2hhcmlhIGJlZGFua3Qgc2ljaCByZWNodCBoZXJ6bGljaCBmdWVyIGRpZSBIaWxmZSB1bmQgd2lyZCBkYW5uIG1hbCBuZQpCYXR0ZXJpZSB0ZXN0ZW4gLi4uLi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFZGl0b3IgZ2VzdWNodCAoTW9yZ290aCwgMjMuIEFwciAxOTk4LCAxMTozMDo1MSk6Cn4jISBybj1EaWVkZXIgcnQ9ODkzMzE0OTU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MzMxNDk1NwpYLUVtYWNzCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFZGl0b3IgZ2VzdWNodCAoR3JpbW1ib3JuLCAyMy4gQXByIDE5OTgsIDExOjUwOjQ2KToKfiMhIHJuPU1vcmdvdGggcnQ9ODkzMzIzODUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MzMxNDk1NwpFciB3b2xsdGUgd2FzIG9obmUgWC4KcGljbyBlcmZ1ZWxsdCBsZXR6dGxpY2ggc2VpbmUgQW5mb3JkZXJ1bmdlbiwgbnVyIGRhc3MgZGFzIHB1bGwgZG93biBoYWx0IGFtCnVudGVyZW4gUmFuZCBlaGVyIGVpbiBwdWxsIHNpZGV3YXlzIGlzdC4KVW5kIHZpIHB1bGxlZCBhdWNoIGRvd24uIEFjaCBuZWluLCBkYSBoaWVzcyBkYXMgInN1Y2siLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvcnRoIDMyIChPdmVybG9yZCwgMjQuIEFwciAxOTk4LCAxOToxMzo0MCk6CkhpaG8gTGV1dGUsCgpJY2ggYXJiZWl0ZSBmdWVyIGtsZWluZXJlIFNhY2hlbiBnZXJuZSBtaXQgRm9ydGguIExlaWRlciBoYWJlbiBkaWUgbWVpc3RlbgpTaGFyZXdhcmV2ZXJzaW9uZW4gUHJvYmxlbWUgbWl0IGRlbSBBdXNudXR6ZW4gZGVzIFNwZWljaGVycyAoa29lbm5lbiBudXIKaW5uZXJoYWxiIGVpbmVzIDY0ay1zZWdtZW50ZXMgYXJiZWl0ZW4gdXN3KS4gS2FubiBtaXIgamVtYW5kIG5lbiB0aXAgZ2ViZW4KZnVlciBlaW4gcmVsYXRpdiBndXRlcyAxNi1CaXQtRm9ydGgsIGRhcyBkaWVzZSBQcm9ibGVtZSBuaWNodCBoYXQ/CgpBdXNzZXJkZW0gbm9jaG5lIEZyYWdlOiBLYW5uIG1hbiBtaXQgV2luMzJzIGF1Y2ggV2luMzJGb3J0aCBpbnN0YWxsaWVyZW4sIGRhCmljaCBrZWluZXJsZWkgQWJzaWNodCBoYWJlLCBXaW5kb29mIDk1L05UIHp1IGluc3RhbGxpZXJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGb3J0aCAzMiAoT3ZlcmxvcmQsIDI0LiBBcHIgMTk5OCwgMTk6MTc6MDUpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkzNDM4MDIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MzQzODAyMApQUzogbmF0dWVybGljaCBzaW5kIGF1Y2ggVGlwcyBmdWVyIExpbnV4LUZvcnRoIHdpbGxrb21tZW4sIGljaCBoYWIgZGEgbmFlbWxpY2gKUHJvYmxlbWUgbWl0IHRpbGUtZm9ydGguLi4KCk92aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZvcnRoIDMyIChQYXRyeW4sIDI3LiBBcHIgMTk5OCwgMDc6NTU6MTIpOgp+IyEgcm49T3ZlcmxvcmQgcnQ9ODkzNDM4MDIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5MzQzODAyMApkYXMgbXVlc3NlbiBkYW5uIGFiZXIgc2Nob24gdmVyZGFtbXQga2xlaW5lIHNhY2hlbiBzZWluLCBhbiBkZW5lbiBkdSBkYQphcmJlaXRlc3QgOikgZWhybGljaCBnZXNhZ3Qga2FubiBpY2ggbWlyIG5pY2ggdm9yc3RlbGxlbiwgZGFzIGlyZ2VuamVtYW5kCmRlbiBlaHJnZWl6IGVudHdpY2tlbHQsIGRpZXNlIDY0ayBtaXQgZWluZW0gZm9ydGgtcHJvZ3JhbW0gYXVzenVzY2hvZXBmZW4gOikKZm9ydGggYmlldGV0IHp3YXIgbWFsIG5lbiBpbnRlcmVzc2FudGVuIG5ldWFydGlnZW4gYW5zYXR6IGRlcwpwcm9ncmFtbWllcmVucywgYWJlciBlcyB3YXIgZGFubiBkb2NoIG5pZSBmdWVyIG1laHIsIGFscyBmdWVyCnN0ZXVlcmNvbXB1dGVyIGluIHJha2V0ZW4vc2F0ZWxsaXRlbi9taWxpdGFlcmtyYW0gZ2VkYWNodC4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRm9ydGggMzIgKE92ZXJsb3JkLCAyNy4gQXByIDE5OTgsIDE5OjE2OjQ0KToKfiMhIHJuPVBhdHJ5biBydD04OTM2NTY1MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzNDM4MDIwCkRlc3dlZ2VuIGdpYnRzIGphIGF1Y2ggbmUgaGFydG5hZWNraWdlIGludGVybmF0aW9uYWxlIEZhbmdlbWVpbmRlLCB3ZWlsIG1hbgpkYW1pdCBuaXggYW5mYW5nZW4ga2FubiAtPiBTY2htYXJybgoKTmVlIGFiZXIgbWFsIGVybnN0aGFmdDogaWNoIGdlZGVua2UgbWljaCBhdWNoIGJlaSBncm9lc3NlcmVuIFNhY2hlbiBhbiBGb3J0aAp6dSB2ZXJzdWNoZW4sIGRhaGVyIGZyYWcgaWNoLiBBdXNzZXJkZW0gaXN0IEZvcnRoIGVpbiBvZmZlbmVzIFN5c3RlbSwgYWxzbyBpc3QKZXMgZnVlciBhbGxlcyBnZWVpZ25ldCwgd2FzIG1hbiBkYW1pdCBtYWNoZW4gd2lsbCwgbmljaHQgbWVociB1bmQgbmljaHQKd2VuaWdlciBhbHMgYW5kZXJlIFNwcmFjaGVuIGF1Y2guCgppc3QgYWxsZXMgZWluZSBGcmFnZSBkZXIgUHJvZ3JhbW1pZXJrdW5zdCwgZ2VsbD8KCk92aSBoYXQgbWl0IEZvcnRoIGd1dGUgRXJmYWhydW5nZW4gbmljaHQgbnVyaW4gU2FjaGVuIEdlc2Nod2luZGlna2VpdCBnZW1hY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGb3J0aCAzMiAoTXVhZGRpYiwgMjguIEFwciAxOTk4LCAwNzozMDoxMSk6Cn4jISBybj1PdmVybG9yZCBydD04OTM2OTc0MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzNDM4MDIwCkFlaCwgRnJhZ2U6IEdpYnRzIGRhIGlyZ2VuZHdvIGVpbmVuIGd1dGVuIChmcmVpIHZlcmZ1ZWdiYXJlbikgQ29tcGlsZXIgdW5kCmVpbmUgRG9rdSwgbWl0IGRlciBtYW4gd2FzIGFuZmFuZ2VuIGthbm4/IEljaCBoYWIgc2Nob24gZWluaWdlcyB2b24gRm9ydGgKZ2Vob2VydCwgbnVyIHp1bSBzZWxiZXIgcHJvZ2dlbiBiaW4gaWNoIG5vY2ggbmljaHQgZ2Vrb21tZW4uCgpsZywKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNTyBMYXVmd2VyayAoSmltZGlncml6LCAyOC4gQXByIDE5OTgsIDEzOjU0OjA4KToKSG9pLAoKd2VyIGthbm4gbWlyIGVtcGZlaGxlbiBlaW4gTU8KenUga2F1ZmVuID8gV296dSBrYW5uIG1hbiBzb3dhcyBicmF1Y2hlbiA/IApJY2ggd3VlcmRlIGVzIHNlaHIgZ3VlbnN0aWcga3JpZWdlbiAoMjUtLD0gc3RhdHQgNzAwLC0pCldhcyBoYXQgZXMgZnVlciBWb3J0ZWlsZSBnZWdlbnVlYmVyIGFuZGVyZW4KU3BlaWNoZXJtZWRpZW4sIGluc2Jlc28sIERBVC4gKHppcCxKQVoga29tbXQgZWhlcgpuaWNodCBpbiBGcmFnZSkKCm9rLCB1ZWJlcnpldWd0IG1pY2gsIGRhc3MgaWNoIGVzIGJyYXVjaGUKb2RlciBuaWNodCwgZGFua2UuCgpKaW0gRGlHcml6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTU8gTGF1ZndlcmsgKEppbWRpZ3JpeiwgMjguIEFwciAxOTk4LCAxMzo1NToxNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODkzNzY0NDQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5Mzc2NDQ0OAoKYXJnbCAyNTAsLSBuYXR1ZXJsaWNoIGJlaSAyNSwtIGhhZXR0ZSBpY2ggCm5pY2h0IGdlZnJhZ3QuCnNvaXJyeQpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZvcnRoIDMyIChQYXRyeW4sIDI4LiBBcHIgMTk5OCwgMTg6MjA6MzQpOgp+IyEgcm49TXVhZGRpYiBydD04OTM3NDE0MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzNDM4MDIwCmRpZSBkaW5nZXIgbmVubmVuIHNpY2ggZWhlciBjb21waWxlci1hc3NlbWJsZXIgdW5kIHNpbmQgYXVjaCBkb3J0CmVpbnp1b3JkbmVuLiBuZW4gZWluZmFjaGVzIHN1Y2hlbiB1ZWJlciBuZW4gc3VjaHNlcnZlciBzb2xsdGUgZGEgc2Nob24gMi0zCnNhY2hlbiB6dSB0YWdlIGZvZXJkZXJuLiBndXRlIGluZm8tYmlibGlvdGhla2VuIGhhYmVuIHNvZ2FyIGhpbiB1bmQgd2llZGVyCmVpbiBidWNoIHVlYmVyIGZvcnRoIDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGb3J0aCAzMiAoT3ZlcmxvcmQsIDI4LiBBcHIgMTk5OCwgMTk6MDE6MzUpOgp+IyEgcm49TXVhZGRpYiBydD04OTM3NDE0MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzNDM4MDIwCkplZGUgTWVuZ2UuIExlaWRlciBpc3QgZGFzbiBwcm9ibGVtIG1pdCBmcmVlL3NoYXJld2FyZSwgZGFzcyBkaWUgYmxvc3MgMTYgYml0CmFkZHJlc3NpZXJ1bmcgbWFjaGVuLiBwcm9iaWVycyBtYWwgYXVmIHd3dy50YXlnZXRhLmNvbQpBbnNvbnN0ZW4gZ2lidHMgV2luMzJGb3J0aCBmdWVyIFdpbmRvb2YgTlQvOTUgZGFzIHNlaHIga29tZm9ydGFiZWwgc2VpbiBzb2xsLgoKYW5kcmUgbGlua3MgemI6d3d3LmluZm9ybWF0aWsudW5pLWtpZWwuZGUvfnVoby9WRC8gIAp3d3cuY29tcGxhbmcudHV3aWVuLmFjLmF0L2ZvcnRoLyBldGMgZXRjCkZ1ZXIgbGludXggZ2liYmV0IGF1Y2ggZWluaWdlcyBoYWIgYWJlciBrZWluZSBCb29rbWFya3Mgc29uZGVybiBsYXNzZSB1ZWJlcgpBcmNoaWUgc3VjaGVuIDopCgpPdmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldJTlRWIChTaGFyaWEsIDI4LiBBcHIgMTk5OCwgMjA6NDc6NDkpOgpIaQoKQmV0cmVpYnQgaXJnZW5kd2VyIHVudGVyIExpbnV4IGRpZSBIYXVwcGF1Z2UgV2luLVRWIEthcnRlIHVuZCBrYW5uIG1pciBkYQpzYWdlbiB3byBpY2ggbmVuIHZlcm51ZW5mdGlnZW4gVHJlaWJlciBoZXJiZWtvbW1lID8gSWNoIGhhYiBsZWlkZXIgbnVyIG5lbgpUcmVpYmVyIGZ1ZXIgZGllIFBDSSBLYXJ0ZSBnZWZ1bmRlbiBhYmVyIGRpZSBoYWIgaWNoIG5pY2ggOi0pCgpTaGFyaWEsd2lsbCB1bnRlciBMaW51eCBmZXJuc2VoZW4gOi0pKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXSU5UViAoR3JpbW1ib3JuLCAyOS4gQXByIDE5OTgsIDAxOjU0OjM1KToKfiMhIHJuPVNoYXJpYSBydD04OTM3ODkyNjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzNzg5MjY5Ck1pciBpc3QgbnVyIGJ0dHYgYmVrYW5udCwgZGFzIGF1ZiBkZW4gQnQ4NDgtQ2hpcCBhbmdld2llc2VuIGlzdC4gVW5kIGRlciBpc3QKbnVyIG1pdCBQQ0kgenUgaGFiZW4gKExpbnV4IE1hZ2F6aW4gMi85OCkuIFNjaGVpbnN0IGFsc28gZGllIGZhbHNjaGUgS2FydGUgenUKaGFiZW4uIFRpcDogRXJzdCB1bXNjaGF1ZW4gd2FzIHVudGVyIExpbnV4IHVudGVyc3R1ZXR6dCB3aXJkIHVuZApnZWdlYmVuZW5mYWxscyB2b20gSGFlbmRsZXIgKHNjaHJpZnRsaWNoISkgYmVzdGFldGlnZW4gbGFzc2VuIGRhc3MgbWFuIHNpZSBiZWkKTmljaHR1bnRlcnN0dWV0enVuZyB3aWVkZXIgenVydWVja2dlYmVuIGthbm4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBFeWUgKFphcm5peWEsIDI5LiBBcHIgMTk5OCwgMTA6NTI6MTQpOgoKSGksIAoKZXMgZ2lidCB3b2hsIGluendpc2NoZW4gZWluIFNwaWVsLCBkYXNzIG5lbm50IHNpY2ggIlF1ZWVuIC0gVGhlIEV5ZSIgdW5kIGlzdAplaW4gYWR2ZW50dXJlLCB3ZWxjaGVzIHUuYS4gbWl0IGRlbiBGaWd1cmVuIHVuZCBpbiBkZXIgV2VsdCBkZXIgUXVlZW5DRAoiSW5udWVuZG8iIHNwaWVsdC4uLiBrZW5udCBkYXMgZWluZXIsIGthbm4gbWlyIHNhZ2VuLCBvYiBzaWNoIGRhcyBMb2hudD8gT2IKaWNoIG1pdCBtZWluZW0gcGlzc2lnZW4gUDc1IGRhIGVpbmUgQ2hhbmNlIGhhYj8KCk1haWxzIGJpdHRlIGFuIG1pY2guLi4KClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hdXMgdW50ZXIgTGludXggJiBYIHNwaW5udCAoUnVtYXRhLCAyOS4gQXByIDE5OTgsIDE0OjIyOjEwKToKSGFsbG8sCmZvbGdlbmRlcyBQcm9ibGVtOiBVbnRlciBYIHNjaGVpbmVuIGVpbnplbG5lIE1hdXNldmVudHMgenUgdmVyc2Nod2luZGVuLgpEYXMgYmV3ZWdlbiBlaW5lcyBGZW5zdGVycyBpc3QgZmFzdCB1bm1vZWdsaWNoIC0tIGVudHdlZGVyIHBhc3NpZXJ0IGdhcm5peApvZGVyIGVzIHdpcmQgZGFzIEZlbnN0ZXIgYXVmIHZvbGxlIEhvZWhlIGdlYnJhY2h0LiBIYWJlIHZlcnNjaGllZGVuZQpYRnJlZS1TZXJ2ZXIgYXVzcHJvYmllcnQgKG1pdCB2ZXJzY2hpZWRlbmVuIE1hdXN0cmVpYmVybiksIHZlcnNjaGllZGVuZQpXTUdyLCBhbGxlcyBlcmZvbGdsb3MuIERlciBLb25zb2xldHJlaWJlciBmdWVyIGRpZSBNYXVzIGdlaHQgKGRpZXNlbgplbnRmZXJuZW4gaGF0dGUgYXVjaCBuaXggZ2Vob2xmZW4pIHVudGVyIFdpbjk1IHNjaGVpbnQgZGllIE1hdXMgYXVjaAp6dSBsYXVmZW4uCgpXYXMgenVtIEhhbmtlciBpc3QgZGEgbG9zPwotLVJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hdXMgdW50ZXIgTGludXggJiBYIHNwaW5udCAoSmltZGlncml6LCAyOS4gQXByIDE5OTgsIDE0OjUwOjQ4KToKfiMhIHJuPVJ1bWF0YSBydD04OTM4NTI1MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzODUyNTMwCkhvaSwKCndlbm4gZGVyIG1vdXNlZCBnZWh0IHVuZCBhdWNoIGVpbmdlc2NoYWx0ZXQgaXN0LAptdXNzdCBEdSBqYSAuLiBhZWguLi4gIHNvcnJ5IER1IHJlZGVzdCBqYQp2b24gTGludXgsIGRhIGthbm4gaWNoIERpciBqYSBuaWNodCBoZWxmZW4uCkljaCBiZXJpY2h0ZSB0cm90emRlbSBtYWwgd28gZGFzIFByb2JsZW0gYmVpCm1pciAoRnJlaUJTRSkgbGFnOgpCZWkgZWluZ2VzY2hsYXRldGVtIG1vdXNlZCBtdXNzIGFscyBtb3VzZS1kZXZpY2UgL2Rldi9zeXNtb3VzZQphbmdlZ2ViZW4gd2VyZGVuLCB2aWVsbGVpY2h0IGhlaXNzdCBkYXMgamEgdW50ZXIKTGludXggZ2VuYXVzbywgb2RlciBhZWhubGljaCwgZGFzIFByb2JsZW0Kd2FyIGFsbGVyZGluZ3MsIGRhc3MgZG9ydCBrZWluCih1ZWJsaWNoZXMpIE1pY3Jvc29mdC1Qcm90b2tvbGwgcmF1c2thbSwgc29uZGVybgppY2ggZGVuIFhzZXJ2ZXIgYXVmIE1vdXNlTWFuIHNldHplbiBtdXNzdGUKKGRlbmtlIGljaCBtYWwpCkpFZGVuZmFsbHMgaG9lcnQgc2ljaCBkYXMgcHJvYmxlbSBzdGFyawpuYWNoIGZhbHNjaGVtIFByb3Rva29sbCBhbiwgZWluZmFjaCBtYWwKZGllIGFuZGVyZW4gYXVzcHJvYmllcmVuLgpQUy8yIGZ1ZXIgUFMvMiBNYXVzLApNaWNyb3NvZnQgZnVlciBmYXN0IGFsbGUgYW5kZXJlbgphdWNoIHdlbm5zIGVpbmUgTG9naXRlY2ggbWl0IDMgVGFzZW4gaXN0LApkYXMgUHJvdG9rb2xsIGlzdCB0cm90emRlbSBNaWNyb3NvZnQuCkRhcyBMb2dpdGVjaCBwcm90a29sbCBzZWxiZXIgaXN0IHdhcyBhbHRlcwp3YXMgZXMga2F1bSBub2NoIGdpYnQuIEJ1c01vdXNlIGV0Ywppc3Qgbm9jaG1hbCBleHRyYSwgYWJlciB3ZXIgaGF0IHNjaG9uCnNvd2FzLi4uLgoKSFRILAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2luOTggYmV0YSAoTXlzdGVyaW91cywgMjkuIEFwciAxOTk4LCAxNzowOToyMik6Cmtvbm5pLWNoaS13YSEKCnRqYSwgbiBmcmV1bmQgdm9uIG5lbSBmcmV1bmQgdm9uIG1pciBoYXQgZGFzIGRyaW5nZW5kZSBiZWR1ZXJmbmlzLCBiZWkgc2ljaAp3aW45OCBiZXRhIHp1IGluc3RhbGxpZXJlbi4uLgpkYWJlaSBnaWJ0IGVzIGZvbGdlbmRlIHByb2JsZW1lIChsZWlkZXIgaGFiIGljaCBuaWNoIG1laHIgaW5mb3MgZGF6dSk6CgpFaW5lIEdlcnRlZGF0ZWkgenVtIEF1c2Z8aHJlbiB2b24gV2luZG93cyB3dXJkZSBuaWNodCBnZWZ1bmRlbi4KMSkgdm5ldHN1cC52eGQKMikgZGZzLnZ4ZApJY2ggYnJhdWNoZSBhYmVyIGRpZXNlIGRhenVnZWhyaWdlIEFud2VuZHVuZyBnYXIgbmljaHQuCgpudW5qYS4uIHZpZWxsZWljaHQgaGF0IHNpY2ggc2Nob25tYWwgamVtYW5kIHZvbiBldWNoIGRhbWl0IHJ1bWdlcGxhZ3QgdW5kIGhhdApuZSBsb2VzdW5nIHBhcmF0IDopCgpkdWlpaWlpaWlpaWlpCiAgICAgICAgICAgICBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hdXMgdW50ZXIgTGludXggJiBYIHNwaW5udCAoQXNtb2RpcywgMjkuIEFwciAxOTk4LCAxODoyMDoyOCk6Cn4jISBybj1SdW1hdGEgcnQ9ODkzODUyNTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5Mzg1MjUzMApCbGVpYiBkb2NoIGJlaSBXaW45NQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbjk4IGJldGEgKFp1ZXJpbGV1LCAzMC4gQXByIDE5OTgsIDA0OjUzOjI3KToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9ODkzODYyNTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5Mzg2MjU2MgpIaSwKTnVuIGRhZnVlciBtdXNzIG1hbiBuaWNodCB6dSB3aW45OCB3ZWNoc2VsbiBkZXIgZmVobGVyIHplaWd0ZSBhdWNoIHdpbjk1LgpFaW5mYWNoIGluIGRlciAiUmVnZWRpdCBqZWRlbiBlaW50cmFnIHp1IFZuZXRzdXAudnhkIHVuZCBkZnMudnhkIGxvZXNjaGVuLgpWb3JoZXIgZGllIFJlZ2VkaXIgc2ljaGVybiBrYW5uIGhpbGZyZWljaCBzZWluLCB3ZW5uIHNwYWV0ZXIgZ2Fybml4IG1laHIKbGF1ZnQuIApBY2ggamEgYW4gZGllIFJlZ2VkaXQga29tbXN0IGR1IHJhbiB3ZW5uIGR1IGJlaW0gU3RhcnQvYXVzZnVlaHJlbiAicmVnZWRpdCIKYXVmc3RhcnRlc3QuCgpUc2NoYXUgQWxhaW4KLiwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2luOTggYmV0YSAoTXlzdGVyaW91cywgMzAuIEFwciAxOTk4LCAxNzoxMjo1Myk6Cn4jISBybj1adWVyaWxldSBydD04OTM5MDQ4MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODkzODYyNTYyCm5pIGhhbyEKCmRhbmtlIGZ1ZXIgZGVuIHRpcC4uIAp2aWVsbGVpY2h0IG51ZXR6dCBlcyBqYSB3YXMuLgoKYWJlciBpY2ggd2Vpc3MgZ2FyIG5pY2gsIG9iIG1hbiB1ZWJlcmhhdXB0IGRpZSBndWkgaG9jaGdlZmFocmVuIGJla29tbXQuLgoKd2FzLCB3ZW5uIG5pY2g/CgpkdWlpaQogZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdpbjk4IGJldGEgKEdyaW1tYm9ybiwgMzAuIEFwciAxOTk4LCAxODoyOToxNCk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg5Mzk0OTE3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTM4NjI1NjIKTmV1IGluc3RhbGxpZXJlbi4gKGphamEsIGFtIGJlc3RlbiBlaW4gYW5kZXJzIE9TLCBhYmVyIGRhcyBpc3QgbXVlc3NpZy4uLikKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdJTlRWIChNYXJjdXMsIDMwLiBBcHIgMTk5OCwgMTk6NTQ6NTcpOgp+IyEgcm49U2hhcmlhIHJ0PTg5Mzc4OTI2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTM3ODkyNjkKVHJlaWJlciBzaW5kIGltIG5ldXN0ZW4gMi4xLiBrZXJuZWwgZHJpbi4KCkZ1ZXIgc29mdHdhcmUgdG9vbHMsIG5hY2ggdmlkZW80bGludXggc3VjaGUsIGhhYiBkaWUgVVJMIGxlaWRlciBnZXJhZGUgbmljaHQuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV0lOVFYgKE1hcmN1cywgIDEuIE1haSAxOTk4LCAyMjozMzo0Nyk6Cn4jISBybj1NYXJjdXMgcnQ9ODkzOTU4ODk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5Mzc4OTI2OQpEaWUgVVJMIGZ1ZXIgVmlkZW80TGludXggaXN0OiAKaHR0cDovL3JvYWRydW5uZXIuc3dhbnNlYS51ay5saW51eC5vcmcvdjRsLnNodG1sCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW45OCBiZXRhIChPdmVybG9yZCwgIDIuIE1haSAxOTk4LCAwMTozMDoyOCk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg5Mzg2MjU2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTM4NjI1NjIKamEuIExPRVNDSEVOLi4uLi4KCk92aSBhdWNoIG1hbCBlaW56ZWlsaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlbG5ldCwgZnRwIChSaWt1cywgIDIuIE1haSAxOTk4LCAxNzoxNDozNCk6CkhpLAprYW5uIG1pciBlaW5lciB0ZWxuZXQtIHVuZCBmdHAtcHJvZ3JhbW1lIGZ1ZXIgbGludXggbmVubmVuLCBiZWkgZGVuZW4KbWFuIGVpbmUgIHByb3h5c2VydmVyIGFuZ2ViZW4ga2Fubj8gU2llIHNvbGx0ZW4gbW9lZ2xpY2hzdCBpbSB0ZXh0bW9kZQpsYXVmZW4sIGFsc28gbmljaHQgc293YXMgd2llIG5ldHNjYXBlIG51dHplbiB1bmQgZGFubiBkYXJpbiBwcm94eXMKYW5nZWJlbi4uLiBJY2gga2FubiBtaXQgamVkZW0gdGVsbmV0cHJvZ3JhbW0gZXJzdCBhdWYgZGVuIHByb3h5c2VydmVyCnRlbG5ldGVuIHVuZCBkYW5uIHZvbiBkb3J0IHdlaXRlciwgYWJlciBkaWVzZW4gdW1zdGFuZCBtb2VjaHRlIGljaAp1bWdlaGVuLi4uCgpkYW5rZSwgcmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZWxuZXQsIGZ0cCAoR3JpbW1ib3JuLCAgMi4gTWFpIDE5OTgsIDE5OjIzOjA0KToKfiMhIHJuPVJpa3VzIHJ0PTg5NDEyMjA3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQxMjIwNzQKRW50d2VkZXIgRHUgb2RlciBpY2ggd2lzc2VuIG5pY2h0IHdhcyBlaW4gcHJveHkgaXN0LCBhYmVyIHNvIHdpZXMgZGEgc3RlaHQKbWFjaHQgZGllIEZyYWdlIGtlaW5lbiBTaW5uLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ0cC1iYXRjaCAoR3VsZHVrYXQsICAzLiBNYWkgMTk5OCwgMDA6MjI6MDApOgpXRWlzcyBqZW1hbmQsIHdpZSBpY2ggZWluIGZ0cCBwZXIgYmF0Y2ggcmVhbGlzaWVyZT8KbWl0IGZ0cCBob3N0IDxjdHJsIAp1bmQgZWluZXIgY3RybCBkYXRlaSBtaXQ6CmFjY291bnQKcGFzc3dkCmdldCAvZmlsZS50by5nZXQKcXVpdAotLS0KdmVybGFuZ3QgZXIgaW1tZXIgdm9uIGRlciB0YXN0YXR1ciBub2NoIGRhcyBwYXNzd2QgdW5kIGZ1ZWhydCBkYW5uIGRpZSBzY2hvbgp1ZWJlcnRyYWdlbmVuIGJlZmVobGUgYXVzLgphdWNoIGVpbiBwaXBlbiBkZXIgZWluZ2FiZSBicmluZ3RzIG5pY2h0Cj8/PwpHRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZ0cC1iYXRjaCAoUHJhLCAgMy4gTWFpIDE5OTgsIDE0OjM3OjQ1KToKfiMhIHJuPUd1bGR1a2F0IHJ0PTg5NDE0NzcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQxNDc3MjAKMiBtb2VnbGljaGtlaXRlbjoKYSkgZHUgc2NocmVpYnN0IGluICRIT01FLy5uZXRyYzogbWFjaGluZSA8aG9zdD4gbG9naW4gPGFjY291bnQ+IHBhc3N3b3JkIDxwdz4KICAgZGFubiB3aXJzdCBkdSBhdWYgPGhvc3Q+IGVpbmVuIGF1dG9sb2dpbiBhdXNmdWVocmVuLgpiKSBpbiBkaWUgYmF0Y2gga29tbXQgYWxzIGVyc3RlciBCZWZlaGwgJ3VzZXIgPGFjY291bnQ+IDxwYXNzd29yZD4nLgogICBkYXMgc29sbHRlIGVzIGF1Y2ggdHVuLi4uCgpWaWVsIEdydXNzLAoKUHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGVsbmV0LCBmdHAgKEhhZHJhLCAgNC4gTWFpIDE5OTgsIDAwOjE3OjAxKToKfiMhIHJuPVJpa3VzIHJ0PTg5NDEyMjA3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQxMjIwNzQKd2lyIGZ1ZXR0ZXJuIGx5Y29zIG1pdCBkZW4gc3RpY2h3b3J0ZW4gJ2xpbnV4IGZ0cCBwcm94eSBjbGllbnQnIHVuZCBlcmhhbHRlbjoKaHR0cDovL2ZseS5jYy5mZXIuaHIvfnZuZXNlay9wZnRwL2VuZy9pbmRleC5odG1sCgp6dSB0ZWxuZXQgc2luZCBtaXIgbnVyIGxvZXN1bmdlbiBiZWthbm50LCBkaWUgZWluZW4gc29ja3Mgc2VydmVyIHZyb2F1c3NldHplbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggdW5kIGNkciAoSG91bmQsICA0LiBNYWkgMTk5OCwgMTA6Mjg6NDkpOgpIaWhvIQoKSGF0IHNjaG9uIG1hbCBqZW1hbmQgdmVyc3VjaHQgQXVkaW8gQ0QncyB1bnRlciBMaW51eCBlaW56dWxlc2VuPwpDZGRhMndhdiBtZWludCBiZWkgbWlyIGltbWVyLCBlcyBzZWkga2VpbmUgQXVkaW8gQ0QgZWluZ2VsZWd0LgpNaXQgV2luZG9vZiBoaW5nZWdlbiBrbGFwcHQgZXMuCgpIYXJkd2FyZToKQWRhcHRlYyBBSEEtMjk0MCBTQ1NJIGhvc3QgQWRhcHRlcgpQaGlsbGlwcyBDREQgNTIyIENELVJlY29yZGVyCgpEaWUgZGV2aWNlcyAnMjEgc2cnIHVuZCAnMTEgc3InIHNpbmQgaW4gJy9wcm9jL2RldmljZXMvJyB2b3JoYW5kZW4uIERlciBLZXJuZWwKaGF0IFNDU0ktY2Qtcm9tIHVuZCBpcGMgc3VwcG9ydCB1bmQgZGllIGRldmljZS1EZXNrcmlwdG9yZW4gc2luZCBhdWNoIGRhLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4OiB1c2VyYWRkIC1EID8gKEJoYW1pciwgIDQuIE1haSAxOTk4LCAxMzo1NTozMCk6CkhpLApJY2ggd29sbHRlIG1pciB1bnRlciBMaW51eCBtaXQgInVzZXJhZGQgLUQiIGRpZSBHcnVuZGVpbnN0ZWxsdW5nZW4gZnVlcgpuZXVlIEJlbnV0emVyIGFuemVpZ2VuIGxhc3NlbiwgYmVrb21tZSBhYmVyIG51ciBkaWUgTWVsZHVuZyAic2VnbWVudGF0aW9uIApmYXVsdCIgKGtlaW4gQWJzdHVyeiksIG9id29obCBkZXIgQmVmZWhsIGxhdXQgbWFuLXBhZ2UgZ3VlbHRpZyBpc3QuIApEZXIgRmVobGVyIHRyaXR0IHNvd29obCB1bnRlciAyLjAuMzAgJiAyLjAuMzMgYXVmLiBJbnN0YWxsaWVydCBpc3QgZGllClN1c2UgTGludXggNS4wIERpc3RyaWJ1dGlvbi4gV2Vpc3MgamVtYW5kIHdvIG1laW4gRmVobGVyIGlzdD8gCgpCaGFtaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eDogdXNlcmFkZCAtRCA/IChHcmltbWJvcm4sICA0LiBNYWkgMTk5OCwgMjM6NTY6MjgpOgp+IyEgcm49QmhhbWlyIHJ0PTg5NDI4MjkzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQyODI5MzAKS2xhci4gTmltbSB5YXN0LiBXb3p1IHNpY2ggZGFzIExlYmVuIHNjaHdlcmVyIG1hY2hlbiBhbHMgbm9ldGlnLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QuIEhhdCBlaW5tYWwgdXNlcmFkZCBiZW51dHp0LiBEYW5hY2ggbnVyIG5vY2ggJ2VtYWNzCi9ldGMvcGFzc3dkJy4gT2RlciBlYmVuIHlhc3QsIHdvIG1vZWdsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VzZSA1LjAgdm9uIGZlc3RwbGFkZGUgaW5zdGFsbGllcmVuIChNeXN0ZXJpb3VzLCAgNi4gTWFpIDE5OTgsIDE4OjQ0OjMzKToKa29ubmkgY2hpIHdhIQoKam8sIHdvbGx0ZSBoZXV0ZSBtYWwgbmUgc3VzZS1saW51eCA1LjAgYXVmIG5lbSBhbHRlbiA0ODYgaW5zdGFsbGllcmVuLi4uLgpudW5qYS4uIHdhciBuaWNoIHNvIHZvbiBlcmZvbGcgZ2Vrcm9lbnQgdW5kIG1vZWNodGUgZGFzIG1hbCBzY2hpbGRlcm47CnZpZWxsZWljaHQgd2Vpc3MgamEgamVtYW5kLCB3byBkZXIgZmVobGVyIGxpZWd0IChiencuIGthbm4gbWlyIHdlaXRlcmhlbGZlbikKCmR1bW1lcndlaXNlIGxhZXNzdCBzaWNoIGxpbnV4IG5pY2ggdm9uIGNkIGluc3RhbGxpZXJlbiAoc2NzaS1sYXVmd2VyayBhbQpwYXJhbGxlbHBvcnQgKHBlciBhZGFwdGVyKSkuLgprbGFwcHQgbmljaCBtaXQgZGVuIGtlcm5lbC1tb2R1bGVuLCBkaWUgbWFuIGJlaSBsaW51eHJjIGF1c3dhZWhsZW4ga2Fubi4uLgoKYWxzbyBhdXN3ZWljaGVuIGF1ZiBwbGF0dGUuLgpkdW1tZXJ3ZWlzZSBmYXNzdCBkaWUgbnVyIDUwME1CLCB3byBkb3MgdW5kIGxpbnV4IHJlc2lkaWVyZW4gc29sbGVuICgzMDAgLwoyMDApCm51bmphLCBpbnMgaGFuZGJ1Y2ggdm9uIHN1c2UgZ2VzY2hhdXQgdW5kIGRpZSBlbnRzcHJlY2hlbmRlbiAod2lya2xpY2gKd2ljaHRpZ2VuKSBkYXRlaW4gdW50ZXIgZG9zIGlucyB2ZXJ6ZWljaG5pcyBjOlxsaW51eCBrb3BpZXJ0Li4KCmJvb3RkaXNrIHJlaW4gdW5kIGluc3RhbGxhdGlvbiB2b24gcGxhdHRlIHdhZWhsZW4gYmVpIGxpbnV4cmMuLi4KdXJsaW51eCBib290ZW4uLi4gc293ZWl0IHNvIGd1dC4uIGljaCBzdGFydGUgeWFzdC4uLgoKbGludXgtcGFydGl0aW9uIGVpbmdlcmljaHRldCwgcmVib290LCBmb3JtYXRpZXJlbi4uLgpxdWVsbGUgdW5kIHppZWwgc2luZCBhYmdlY2hlY2t0IHVuZCAiaW5zdGFsbGF0aW9uIGZlc3RsZWdlbi9zdGFydGVuIgpnZXdhZWhsdC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmVpbmxlc2VuIGRlciBiZXNjaHJlaWJ1bmdzZGF0ZW46CmFuYWx5c2llcmUgYWJoYWVuZ2lna2VpdGVuLCBzdWNoZSBuYWNoIGJlcmVpdHMgdm9yaGFuZGVuZW4ga29tcG9uZW50ZW4gLT4KQkFNTU1NTU1NTU1NISA6KAogICAgICAgICAgICAgICAgICAgInJwbTogbm90IGZvdW5kIgoKaG1tLi4uIG5vY2htYWwgbmFjaGdlc2NoYXV0Li4gcnBtIGJlZmluZGV0IHNpY2ggaW0gdmVyemVpY2huaXMKYzpcbGludXhcc3VzZVxzZXR1cFx0b29scy4uLgoKZGFubiBoYWIgaWNoIGVpbmZhY2ggZGVuIHBmYWQgdW50ZXIgbGludXggZW50c3ByZWNoZW5kIGVyd2VpdGVydCAoYWxzbyBzb3dhcwp3aWUgIi92YXIvYWRtL21vdW50L2xpbnV4L3N1c2Uvc2V0dXAvdG9vbHMiIGhpbnp1Z2VmdWVndCAobmFjaAoiL3Zhci9hZG0vbW91bnQiIHdpcmQgZGllIGluc3RhbGxhdGlvbnMtZmVzdHBsYXR0ZSBwZXIgZGVmYXVsdCBnZW1vdW50ZXQpCgoKdW5kIHNpZWhlIGRhLi4uIGRhcyBpbnN0YWxsYXRpb25zbWVudWUgdm9uIHlhc3QgZXJzY2hlaW50Li4uCmZlaW4sIGRlbmsgaWNoIG1pciA6KQoKcGFrZXRlIGF1c2dld2FlaGx0KS4uLgoKIkluc3RhbGxhdGlvbiBzdGFydGVuIiB0amEuLiB1bmQgZGFubiBrb21tdCBkYXM6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgICAgCgpudW5qYS4uIGRlciBkb3BwZWx0ZSBzbGFzaCBpcyB1ZWJyaWdlbnMga2VpbiB0eXBvLi4KZGEgaGFiIGljaCBhdWNoIHNjaG9uIGdlcHJvYmJ0IHVuZCBtaXQgZGVuIHZlcnplaWNobmlzc2VuIG4gYmlzc2VsCnJ1bWdlc3BpZWx0IChtaXQgYWJzY2hsaWVzc2VuZGVtIC8gb2RlciBvaG5lIGJlaSBhbmdhYmUgZGVzIHF1ZWxsbWVkaXVtcykuLgoKaWNoIGdsYXViZSBzdGFyaywgZGFzcyBkYXMgd2FzIG1pdCBkZW0gInJwbSIgenUgdHVuIGhhdC4uLgpiZWkgYXVmcnVmIHBlciBoYW5kIHZvbiAicnBtIDxmaWxlPi5ycG0iIGVyaGFsdGUgaWNoIG5hZW1saWNoIGRhc3NlbGJlLi4KbnVyIGxlaWRlciBzdGVodCBpbSBoYW5kYnVjaCBuaXggenUgInJwbSIgdW5kIGluIGRlbiBkb2NzIGF1ZiBkZXIgY2Qga29ubnRlCmljaCBkYXp1IGF1Y2ggbml4IGZpbmRlbgoKdW5kIGRpZSBtYW4tcGFnZSB3aXJkIHdvaGwgaW0gcGFrZXQgInJwbS5ycG0iIGVudGhhbHRlbiBzZWluID46KQoKb2tpLCBiaW4gamEgamV0emUgenUgaGF1c2UgdW5kIHdlcmQgbWlyIG1hbCBoaWVyIGRpZSBtYW4tcGFnZSB6dSBycG0KcmVpbmZhaHJlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCmFiZXIgdmllbGxlaWNodCBoYXQgamVtYW5kIHZvbiBldWNoIG5lIGlkZWUgOikKCgpib2luZywgaXMgZGVyIHRleHQgbGFuZyA6KQoKaWNoIGhvZmZlLCBkYXMgd2FyZW4gc28gZGllIHdpY2h0aWdlbiBzYWNoZW4KKHdlbm4gbmljaCB3ZXJkIGljaCBtaXIgZWJlbiBpcmdlbmR3byBtYWwgbiBpZGUtY2Ryb20gYXVzYm9yZ2VuICpncnVtbWVsKikgIAoKZHVpaWkKCiAgICAgICAgICBkQSBtWXN0QQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdXNlIDUuMCB2b24gZmVzdHBsYWRkZSBpbnN0YWxsaWVyZW4gKEppbWRpZ3JpeiwgIDcuIE1haSAxOTk4LCAxNDoxNDoxNSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg5NDQ3MzA3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQ0NzMwNzMKSG9pLAoKbWFsIHNvbiBndWVzcyBpbnMgQmxhdWUsIHJwbSBpc3QgZG9jaCBkZXIKUmVkSGFkLVBhY2thZ2UtTWFuYWdlciwgZGllIEZlaGxlcm1lbGR1bmcKZGV1dGV0IGRhcmF1ZiBoaW4sIGRhc3MgZXMgc2ljaCBkYWJlaSB1bSBlaW4gU2tyaXB0IApoYW5kZWx0ICgqc2gvdGNsL3BlcmwvLi4pIHVuZCBkYXNzIGRlciBTa3JpcHRpbnRlcnByZXRlcgpuaWNodCBnZWZ1bmRlbiB3aXJkLiAKClZpZWxsZWljaHQga2FubnN0IER1IGphIG1pdCBkZW0gSGlud2VpcyB3YXMgYW5mYW5nZW4uCihGYWxscyBycG0gZWluIGJpbmFyeSBpc3QsICpzaHJ1ZyopLgoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzdXNlIDUuMCB2b24gZmVzdHBsYWRkZSBpbnN0YWxsaWVyZW4gKE15c3RlcmlvdXMsICA3LiBNYWkgMTk5OCwgMjI6MjE6MjIpOgp+IyEgcm49SmltZGlncml6IHJ0PTg5NDU0MzI1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQ0NzMwNzMKbmkgaGFvIQoKamF1LCBkYXMgaGFiIGljaCBtaXIgYXVjaCBnZWRhY2h0LCBkYXNzIGRhcyBhbSBycG0gbGllZ3QgKHdlbm4gaWNoIGRlbiB2b24KaGFuZCBzdGFydGUgKHZlcnN1Y2hlIHp1IHN0YXJ0ZW4pIGtvbW10IGphIGRpZSBnbGVpY2hlIGZlaGxlcm1lbGR1bmcgKGRhcyBtaXQKZ3ppcGJpbiB1bmQgcmMgZmlsZXMpLi4uCgpoYWIgbWlyIGluendpc2NoZW4gYWxzbyBkaWUgbWFuLXBhZ2UgYW5nZXNjaGF1dC4uIG5hamEuLgoKaW4gL2V0YyBqaWJiZXQgYmVpIGRlciBpbnN0YWxsYXRpb24gbmUgcnBtcmMuLi4KCmluIGRpZXNlciBkYXRlaSBzdGVodCB3YXMgdm9ubmEgZGF0YWJhc2UsIGRpZSBuaWNodCBhbiBkZXIgdm9yZ2VnZWJlbmVuIHN0ZWxsZQpleGlzdGllcnQgKGplZGVuZmFsbHMgbmljaCwgd2VubiBpY2ggYXVmIGRlciBrb21tYW5kby16ZWlsZSBuYWNoZ3VnZ2U7CnZpZWxsZWljaHQgd2lyZCBkaWUgamEgbm9ybWFsZXJ3ZWlzZSB2b24geWFzdCBiZWltIHN0YXJ0IGVyemV1Z3QpLi4KCmF1ZiBqZWRlbiBmYWxsIGJyaW5nZW4gYWJlciBhbGxlIG9wdGlvbmVuIHZvbiAicnBtIiBuaXguLgplZ2FsLCBvYiAicnBtIC12diIgKHZlcnkgdmVyYm9zZSA+Oikgb2RlciAicnBtIC0tcmVidWlsZGRiIi4uLgplcyBrb21tdCBpbW1hIGRpZSBzZWxiZSBkb29mZSBtZWxkdW5nICpzZXVmeioKCmRhbm4ga2FtIG1pciBkaWUgaWRlZSwgZGFzcyBuaWNoIGdlbnVnIHNwZWljaGVyIGRhIHdhZXJlIHp1bSBpbnN0YWxsaWVyZW4gKDgKbWIpLi4KbmFjaGRlbSBpY2ggaW4gL3Byb2MvbWVtaW5mbyBzYWgsIGRhc3Mga2VpbiBzd2FwIGFrdGl2aWVydCB3YXIsIHRhdCBpY2ggZGllcwplaW5mYWNoIG1hbCB1bmQgc3RhcnRldGUgd2llZGVyIHlhc3QuLi4KCnRqYSwgbGVpZGVyIHdhcnMgYXVjaCBkYXNzIG5pY2ggOigoCgoKbnVuamEuLiBoYXQgamVtYW5kIHZvbiBldWNoIG4gYXRhcGktY2Qtcm9tIGJpbGxpZyB6dW16dWxpZWdlbj8gOikKCmR1aWlpaWlpaWlpCiAgICAgICAgICAgICAgIGRBIG1Zc3RBCgpwLnMuOiBkYW5rZSBmdWVyIGRpZSBiaXNoZXJpZ2UgYW50d29ydDsgd2VyZCBtZWluZSBzdWNoZSBkYWhpbmdlaGVuZCB3ZWl0ZXIKaW50ZW5zaXZpZXJlbi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzdXNlIDUuMCB2b24gZmVzdHBsYWRkZSBpbnN0YWxsaWVyZW4gKEppbWRpZ3JpeiwgIDguIE1haSAxOTk4LCAxMjoxMTozMCk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg5NDU3MjQ4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTQ0NzMwNzMKTW9pbiwKCmFiZXIgaXMgcnBtIG51biBlaW4gU2tyaXB0IG9kZXIgZWluIGJpbmFyeSA/IApXZW5uIGVyIGtlaW5lIG9wdGlvbiBmcmlzc3Qga2xpbmd0IGRhcyBub2NoIHZpZWwgbWVocgpuYWNoIGZlaGxlbmRlbSBTa3JpcHRpbnRlcnByZXRlci4KCkljaCBrdWNrIG1hbCBhdWYgTEVPIG5hY2ggLi4uCk9rLCB6dW1pbmRlc3QgYmVpIFJlZEhhdCB1bmQgRGViaWFuIHNjaGVpbnQKZXMgZWluIGJpbmFyeSB6dSBzZWluLCBkYW5uIGthbm4gZXMgbnVyIG5vY2ggCnNlaW4sIGRhc3MgZXMgaXJnZW5kZWluIGFuZGVyZXMgYmluYXJ5IGJyYXVjaHQsCndhcyBuaWNodCBkYSBpc3QsIGFiZXIgd2VsY2hlcyA/IAoKCkxlaWggRGlyIGhhbHQgbmVuIFNDU0kgSG9zdGFkYXB0ZXIgb2RlciBsYXNzIERpciAKbmVuIGFsdGVuIHNjaGVua2VuLCB3ZW5uIER1IHNjaG9uIGVpbiBTQ1NJIENEUk9NCmhhc3QuIERhcyB1ZWJlciBrb21pc2NoZW4gQWRhcHRlciBhbiBQYXJhbGxlbHBvcnQKYW56dXNjaGxpZXNzZW4gaG9lcnQgc2ljaCB6aWVtbGljaCBwZXJ2ZXJzIGFuLiAKCkNpYW8sCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZnRwLWJhdGNoIChHdWxkdWthdCwgIDguIE1haSAxOTk4LCAyMzoxNTozMSk6Cn4jISBybj1QcmEgcnQ9ODk0MTk5MDY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NDE0NzcyMAo+IGIpIGluIGRpZSBiYXRjaCBrb21tdCBhbHMgZXJzdGVyIEJlZmVobCAndXNlciA8YWNjb3VudD4gPHBhc3N3b3JkPicuCj4gICAgZGFzIHNvbGx0ZSBlcyBhdWNoIHR1bi4uLiAgICAgICAgIAoKZ3V0ZXIgYW5zYXR6LiBhYmVyIG1hbm4gbXVzcyBub2NoIGZ0cCAtbiA8aG9zdD4gbWFjaGVuLCB3ZWlsIGVyIHNpY2ggc29uc3QKdHJvdHpkZW0gZWlubG9nZ3QgdW5kIGluIGRlciBpbnB1dF90byByb3V0aW5lIGRyaW5zdGVja3N0Lgp0aG54IGZ1ZXIgZGVuIGhpbndlaXMuCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgcGFydGl0aW9uaWVyZW4gPyA7LSkgKEhhciwgMTMuIE1haSAxOTk4LCAwOToxMTozNCk6Ck1haGx6ZWl0LAppY2ggd2lsbCBtaXIgZWluZSBncm9lc3NlcmUgcGxhdHRlIGthdWZlbi4gRGFyYXVmIHNvbGwgTlQgKGFyYmVpdGVuKSA5NQooc3BpZWxlbikgdW5kIExpbnV4IChhdWNoIHp1bSBhcmJlaXRlbikuIFdlbm4gaWNoIGpldHp0IDYgR0IgaGFiZSAtIHdpZQpwYXJ0aXRpb25pZXJlIGljaCBhbSBzaW5udm9sbHN0ZW4/IFZvcnNjaGFsZWdlIGdlcm5lIGFuIG1pY2ggOy0pCgoKRGFua2UKCkhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSBwYXJ0aXRpb25pZXJlbiA/IDstKSAoR3JpbW1ib3JuLCAxMy4gTWFpIDE5OTgsIDExOjI4OjM5KToKfiMhIHJuPUhhciBydD04OTUwNDM0OTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1MDQzNDk0Ck1hY2hzIHBhcml0YWV0aXNjaDogMkdCIChFSU5FIFBhcnRpdGlvbiwgc29uc3QgZ2lidHMgQWVyZ2VyISkgV2luOTUsIDJHQiBOVAp1bmQgMkdCIExpbnV4LiBTb2xsdGUgZnVlciBhbGxlIFN5c3RlbWUgZ2VudWcgUGxhdHogc2Vpbi4KT2RlciBhbmRlcnMgcGFyaXRhZXRpc2NoOiAzR0IgKDFHIHdpbjk1LCAyRyBOVCkgZnVlciBNUy1TeXN0ZW1lIHVuZCAzR0IgZnVlcgpMaW51eC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpZSBwYXJ0aXRpb25pZXJlbiA/IDstKSAoUmFudGFucGxhbiwgMTMuIE1haSAxOTk4LCAxMjoyMzozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk1MDUxNzE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTA0MzQ5NApJcyBkb2NoIGdhbnoga2xhcjoKNSw5OSBHQiBmdWVyIExpbnV4IHVuZCBkZXIgUmVzdCBmdWVyIFdpbmRvb2YKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSBwYXJ0aXRpb25pZXJlbiA/IDstKSAoWWFyZW4sIDEzLiBNYWkgMTk5OCwgMTM6NDg6MDcpOgp+IyEgcm49SGFyIHJ0PTg5NTA0MzQ5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTUwNDM0OTQKRGFzIGlzdCBkaWUgMi4gYWVsdGVzdGUgRnJhZ2UgZGVyIE1lbnNjaGhlaXQgKGZ1ZXIgZGllIEludGVyZXNzaWVydGVuOiBkaWUgMS4KaXN0ICdXbyB3YXIgaWNoIGVpZ2VudGxpY2ggZ2VzdGVybj8nKSB1bmQgbGFlc3N0IHNpY2ggbmljaHQgYmVhbnR3b3J0ZW4uIERhcwpQcm9ibGVtIGlzdCBtaXQgU2NpaGVyaGVpdCBucC12b2xsc3RhZW5kaWcgdW5kIGJvZXNhcnRpZyBvYmVuZHJlaW4uIEVpbgpWb3JzY2hsYWc6IDIgR0IgV2luOTUgKGluY2wuIHNwaWVsZSksIDEgR0IgTlQsIDNHQiBMaW51eCAobmVuIGJpc3NjaGVuIGZ1ZXIKU3dhcC1QYXJ0aXRpb24gbGFzc2VuLCBjYS4gMipTcGVpY2hlcikuIAoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWUgcGFydGl0aW9uaWVyZW4gPyA7LSkgKEdyaW1tYm9ybiwgMTMuIE1haSAxOTk4LCAyMzowNToxNyk6Cn4jISBybj1SYW50YW5wbGFuIHJ0PTg5NTA1NTAxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTUwNDM0OTQKSG1tLCBkYXMgd2FlcmUgaW50ZXJlc3NhbnQuIERlciBSZXN0IHJlaWNodCBqYSBlYmVuIHp1bSBTdGFydGVuIGRlcgpXaW5kb2VvZWZlciwgZGllIG11ZXNzdGVuIGRhbm4gdm9uIERpc2tldHRlIGxhdWZlbi4gOi0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmN2cyAoQW5ha2luLCAxOC4gTWFpIDE5OTgsIDExOjEyOjMyKToKSGksCgpJY2ggaGFiIG5lbiBDVlMgU2VydmVyIG1pdCBuZXIgZWlnZW5lbiBjdnNwYXNzd2QuIERlciBOdXR6ZXIKZXhpc3RpZXJ0IG51ciBpbiBkaWVzZXIgY3ZzcGFzc3dkLiBLZWluIC9ldGMvcGFzc3dkIG9kZXIgc29uc3R3YXMuCndlbm4gaWNoIGVpbiBjdnMgLWQgLi4uYmxhLi4uIGxvZ2luIG1hY2hlIG1lY2tlcnQgZXIgbmljaHQsCndpbGwgaWNoIGFiZXIgZWluIC4uLi4gY2hlY2tvdXQgPHByb2c+IG1hY2hlbiBzYWd0IGVyIG1pcgp1bmtub3duIHVzZXIgLi4uCgpBbnkgSWRlYT8gCgpCdHcuIHdpZSBtYWNoZSBpY2ggZWluZW4gYW5vbnltZW4gZnRwenVnYW5nPyBub3JtYWxlbiBtaXQgdHJpdmlhbGVuIHBhc3N3b3JkCm9kZXIgZ2lidCBlcyBkYSB1bnRlciBjdnMgd2FzIHNwZXppZWxsZXM/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbG9hZGxpbiBwbGF0dGVucGFyYW1ldGVyIHVlYmVyZ2ViZW4/IChQaWxncmltLCAxOC4gTWFpIDE5OTgsIDE2OjU0OjMwKToKSGksCgprYW5uIGljaCBsb2FkbGluIGlyZ2VuZHdpZSBkaWUgUGxhdHRlbnBhcmFtZXRlciBmdWVyIGVpbmUgMi50ZSBIYXJkLURpc2sKYW5nZWJlbiAoZGllIGlzdCBuaWNodCBkaWUgL3Jvb3QtUGxhdHRlIC0gZGFzIGZ1bmt0aW9uaWVydCBhbGxlcyB3aWVzIHNvbGwpLgovZGV2L2hkYyB3aXJkIHZvbiBkZW4gYy9oL3MgbmljaHQgc28gZXJrYW5udCwgd2llIGljaHMgaW0gQklPUyBlaW5nZXRyYWdlbgpoYWJlIC4uLiBhbnN0YXR0IHgvMjU1LzYzIGRldGVrdGllcnQKbGludXggeS96LzYzIC4uLiBJY2ggd2Vpc3MgbmljaHQsIG9iIGRhcyAic2NobGltbSIgaXN0LCBhYmVyIGF1ZiBkZXIgUGxhdHRlIApzaW5kIG5vY2ggRkFUMzIgKFdpbjk1YikgZHJhdWYgLi4uIG4KRmlzayAtbGludXggc2FndCA6IHR5cGUgdW5rbm93biAtIG9kZXIgc28gPyEKClBpbGdyaW0KKG5laW4sIFdpbjk1IGthbm4gaWNoIG5pY2h0IGxvZXNjaGVuIDstKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsb2FkbGluIHBsYXR0ZW5wYXJhbWV0ZXIgdWViZXJnZWJlbj8gKEdyaW1tYm9ybiwgMTkuIE1haSAxOTk4LCAyMzo1NjoyMSk6Cn4jISBybj1QaWxncmltIHJ0PTg5NTUwMzI3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU1MDMyNzAKS29lbm50ZXN0IER1IERlaW4gUHJvYmxlbSBub2NobWFsIHZlcnN0YWVuZGxpY2ggd2llZGVyaG9sZW4/IEljaCB3ZWlzcyBuaWNodAp3YXMgYy9oL3Mgc2VpbiBzb2xsLiBXYXMgRHUgaW0gQklPUyBlaW50cmFlZ3N0IGlzdCBnbGF1YmUgaWNoIHdlbmlnZXIgcmVsZXZhbnQKYWxzIGRhcywgd2FzIGRpZSBQbGF0dGUgdGF0c2FlY2hsaWNoIGhhdC4gVW5kIGxldHp0ZXJlcyB3aXJkIHZvbiBMaW51eCBiZWltCmJvb3RlbiBhYmdlZnJhZ3QuIEVpbmUgRkFUMzItUGFydGl0aW9uIGlzdCBzaWNoZXIgc29sYW5nZSBEdSBkaWUgRmluZ2VyIHZvbgpkZXIgcGFydGl0aW9uIHRhYmxlIGxhZXNzdCB1bmQgbmljaHQgdmVyc3VjaHN0LCBkaWUgUGFydGl0aW9uIHp1IG1vdW50ZW4gdW5kCnp1IG1hbmlwdWxpZXJlbiAoamEsIHVuZCBuYXR1ZXJsaWNoIGRhcyByYXcgZGV2aWNlIGluIFJ1aGUgbGFlc3N0KS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsb2FkbGluIHBsYXR0ZW5wYXJhbWV0ZXIgdWViZXJnZWJlbj8gKE1vcmdvdGgsIDIwLiBNYWkgMTk5OCwgMDA6Mzg6NDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NTYxNDk4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU1MDMyNzAKYz1jbHVzdGVyIGg9aGVhZGVyIHM9c2VjdG9ycwpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggJiBOVCwgZGllIHp3ZWl0ZSAoTW9yZ290aCwgMjAuIE1haSAxOTk4LCAwODozNjo0OCk6ClNvLCBiZWlkZSBCZXRyaWVic3N5c3RlbWUgbGF1ZmVuLiBXaWUga2FubiBpY2ggbnVuIGRlbSBOVC1Cb290bG9hZGVyIHNhZ2VuLCBlcgpzb2xsIGRvY2ggbWFsIGRpZSBMaW51eC1QYXJ0aXRpb24gbWl0IGluIHNlaW4gTWVudSBhdWZuZWhtZW4/Pz8KVGhhbnguLi4KTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsb2FkbGluIHBsYXR0ZW5wYXJhbWV0ZXIgdWViZXJnZWJlbj8gKEpvZiwgMjAuIE1haSAxOTk4LCAwOTowMTo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk1NjE0OTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTUwMzI3MAoKIE9kZXIgZWluZW4gYWt0dWVsbGVuIDIuMS1rZXJuZWwgYmVudXR6dCBvZGVyIGRpZSBlbnRzcHJlY2hlbmRlbiBQYXRjaGVzIGZ1ZXIKZGVuIDIuMC4zeCAtIGRhbWl0IGthbm5zdCBEdSBkYW5uIFZGQVQzMi1QYXJ0aXRpb25lbiBtb3VudGVuLCBsZXNlbgp1bmQgc2NocmVpYmVuIChmdW5rdGlvbmllcnQgc2VociBndXQpLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5tZWxkZXNlcnZpY2UgKFRhbWVsaSwgMjAuIE1haSAxOTk4LCAxMDoxMjoyMCk6CkhhbGxvLAoKaWNoIGJpbiBpbSBXV1cgYXVmIGRlciBTdWNoZSBuYWNoIF9Tb2Z0d2FyZV8sIHdlbGNoZSBhdXRvbWF0aXNjaCBTaXRlcyBpbgpTdWNobWFzY2hpbmVuLCBLYXRhbG9nZW4gYW5tZWxkZXQgdW5kIHZlcndhbHRldC4KClRhbWVsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbG9hZGxpbiBwbGF0dGVucGFyYW1ldGVyIHVlYmVyZ2ViZW4/IChQaWxncmltLCAyMC4gTWFpIDE5OTgsIDEzOjE1OjI4KToKfiMhIHJuPUpvZiBydD04OTU2NDc3MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1NTAzMjcwCkFoYSwKCndvIG11c3MgaWNoIG5hY2ggZGllc2VuIHBhdGNoZXMgZnVlciB2ZmF0MzIgdW5kIDIuMC4zeCBzdWNoZW4gLi4uYnp3LCB3aWUKaGVpc3NlbiBkaWUgLi4uPwoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4ICYgTlQsIGRpZSB6d2VpdGUgKEJsb29keWhhcnJ5LCAyMC4gTWFpIDE5OTgsIDEzOjI0OjIxKToKfiMhIHJuPU1vcmdvdGggcnQ9ODk1NjQ2MjA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTY0NjIwOApBbHNvIGljaCBlbXBmZWhsZSBEaXIgZGF6dSBsaWViZXIgZ3J1YiB6dSBuZWhtZW4uCmh0dHA6Ly93d3cudXJ1ay5vcmcvZ3J1Yi8KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0ZiBmdWVyIHdpbmRvd3MgKEZldWVyd2VociwgMjAuIE1haSAxOTk4LCAyMDozMjoxMyk6CkhpCgpFcyBnaWJ0IHRmIGZ1ZXIgd2luZG93cywgYWxsZXJkaW5ncyBtdXNzIG1hbiBkYXMgZG9ydCBub2NoIGtvbXBpbGllcmVuLgpIYXQgamVtYW5kIGVpbiBsYXVmZW5kZXMgVEYgZnVlciBXaW5kb3dzIHVuZCBrYW5uIGRhcyBpcmdlbmR3aWUgaW5zIFdlYgpoYWVuZ2VuPwoKem11ZCB3dWVyZ2VuZCAuLi4KCiAgICAgICAgIEZldWVyd2Voci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZiBmdWVyIHdpbmRvd3MgKFJpbmdvciwgMjEuIE1haSAxOTk4LCAxMzo1NTozMCk6Cn4jISBybj1GZXVlcndlaHIgcnQ9ODk1Njg5MTMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTY4OTEzMwpFaW4gZmVydGlnIGtvbXBpbGllcnRlcyBURiBmdWVyIFdpbkRvb2ZzIGhhZW5ndCBzY2hvbiBsYWVuZ2VyIGltIE5ldHouCgogICAgICAgIGh0dHA6Ly93d3cuY2hlbWllLnVuaS1kb3J0bXVuZC5kZS9wZXJzb25zL2xpY2h0aS90Zi5odG1sCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGYgZnVlciB3aW5kb3dzIChQcmEsIDIyLiBNYWkgMTk5OCwgMTE6MTQ6MDcpOgp+IyEgcm49UmluZ29yIHJ0PTg5NTc1MTczMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU2ODkxMzMKLi4uIHVuZCBkYXMgc2VsdHNhbWUgaXN0LCBkYXNzIGVzIHNvZ2FyIGZ1bmt0aW9uaWVydCAuLi4KClByYS4gSGF0dGUgZWlnZW50bGljaCBTY2hsaW1tZXMgYmVmdWVyY2h0ZXQgYmVpbSBBdXNwcm9iaWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW5kb3dzIE5UIDQuMCBtYWwgd2llZGVyIChNb3Jnb3RoLCAyMi4gTWFpIDE5OTgsIDE0OjU0OjEzKToKSGksIApzbyBsYW5nc2FtIGlzdHMgbWlyIGphIHBlaW5saWNoLCBhYmVyIGljaCBoYWIgc2Nob24gd2llZGVyIGVpbiBQcm9ibGVtIG1pdCBOVC4KRGllc21hbCBpc3NlcyBkaWUgTmV0endlcmtrYXJ0ZSAoZWluZSAzQ29tIDNjOTAwLUNvbWJvKS4gU2llIGxpZXNzIHNpY2ggbWl0CmRlbiBUcmVpYmVybiB2b24gM0NvbSByZWNodCBndXQgaW5zdGFsbGllcmVuIHVuZCBmdW5rdGlvbmllcnRlIGF1Y2ggZWluZQpXZWlsZS4gTnVuIGdlaHQgbml4IG1laHIsIGtlaW4gV2luZG93cy1OZXR6IHVuZCBhdWNoIGtlaW4gVENQL0lQIG1laHIuIFVudGVyCkxpbnV4IGxhZXVmdCBzaWUgd2VpdGVyaGluIG9obmUgenUgbXVycmVuLiAqKlNDSE5JRUYqKiBXYXMgdHVuPyAKTW9yZ290aApQLlMuOiBNYWlscyBiaXR0ZSBhbiBiaXJrZUBwZWFudXQuY2hlbWllLnVuaS1kb3J0bXVuZC5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbG9hZGxpbiBwbGF0dGVucGFyYW1ldGVyIHVlYmVyZ2ViZW4/IChKb2YsIDIzLiBNYWkgMTk5OCwgMjA6MDI6MzUpOgp+IyEgcm49UGlsZ3JpbSBydD04OTU2NjI5Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1NTAzMjcwCgogWml0YXQ6CkluZm9ybWF0aW9uZW4gdW5kIGRpZSBQYXRjaGVzIGZpbmRlbiBTaWUgdW50ZXIKaHR0cDovL3d3dy1wbGF0ZWF1LmNzLmJlcmtlbGV5LmVkdS9wZW9wbGUvY2hhZmZlZS9mYXQzMi5odG1sCgogVmllbCBTcGFzcwoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ29tcGlsZXIgZ2VzdWNodCAoRGllZGVyLCAyNC4gTWFpIDE5OTgsIDAwOjIxOjAyKToKSGkhCgoKCkljaCBiaW4gYXVmIGRlciBTdWNoZSBuYWNoIGVpbmVtIENvbXBpbGVyLiBGb2xnZW5kZSBBbmZvcmRlcnVuZ2VuIG11ZXNzdGVuCmdlZ2ViZW4gc2VpbjoKCgoxLiBFcnpldWdlbiB2b24gV2luZG9vZi1Db2RlIChtdXNzIG5pY2h0IDMyQml0IHNlaW4pCgoyLiBFaW5mYWNoZXMgRXJ6ZXVnZW4gdm9uIEJ1dHRvbnMsIEZlbnN0ZXJuIGV0Yy4KCjMuIEtlaW5lIFN0dWRlbnRlbnZlcnNpb24sIGQuaC4gaWNoIG11c3MgZWluIGRhbWl0IGVyc3RlbGx0ZXMgUHJvZyB2ZXJrYXVmZW4Ka29lbm5lbgo0LiBTb2xsdGUgbW9lZ2xpY2hzdCBiaWxsaWcgc2Vpbi4KCldlciBrYW5uIG1pciBkYSBuZSBFbXBmZWhsdW5nIG1hY2hlbj8gTWl0ICJiaWxsaWciIG1laW5lIGljaCBtb2VnbGljaHN0IG5pY2h0Cm1laHIgYWxzIDIwMCBFaWVyIDopCgpHcnVzcywKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29tcGlsZXIgZ2VzdWNodCAoSGFkcmEsIDI0LiBNYWkgMTk5OCwgMDE6MTg6MTMpOgp+IyEgcm49RGllZGVyIHJ0PTg5NTk2MjA2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU5NjIwNjIKYmVpIGVpbmlnZW4gdmVyc2VuZGVybiBnaWJzdCBkYSB6LmIuIGRlbHBoaSAxIGZ1ZXIgZWluZW4ga25hcHBlbiAxMDBlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ29tcGlsZXIgZ2VzdWNodCAoUGlsZ3JpbSwgMjQuIE1haSAxOTk4LCAxNTowODo1NCk6Cn4jISBybj1IYWRyYSBydD04OTU5NjU0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCk9kZXIgZ2FyIERlbHBoaSAyLjAgU3RkIGZ1ZXIgV2luOTUvTlQgKGljaCBkZW5rZSBkaWUga2FubiBhdWNoIDE2IEJpdAplcnN0ZWxsZW4pIFZvbGwuIGRldXRzY2ggZnVlciBjYSAyMDAsLQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGlueSBGdWd1ZSBmb3JldmVyIChPdmVybG9yZCwgMjQuIE1haSAxOTk4LCAyMDozMDowNCk6CgpIaWVyIG5vY2ggbmUgUGFnZSwgZGllIG5pY2h0IG51ciB2b24gZGVyIG9yaWdpbmFsYW5sZWl0dW5nIGdlcGFzdGV0IGlzdDogCgpodHRwOi8vd3d3LndpenZheC5uZXQvd2l6dmF4L3RmLmh0bWwKCk92aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdGYgZnVlciB3aW5kb3dzIChNYXJpdGEsIDI1LiBNYWkgMTk5OCwgMDE6MTk6MzcpOgp+IyEgcm49UHJhIHJ0PTg5NTgyODQ0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU2ODkxMzMKSXN0IGRhcyB0ZjQuMGE0IGF1Y2ggaXJnZW5kd28gdmlhIGZ0cCBhYnJ1ZmJhcj8gQmVpbSBEb3dubG9hZCB1ZWJlcnMgV1dXCmtvbW10cyBiZWkgbWlyIGZlaGxlcmhhZnQgYW4sIGplZGVuZmFsbHMgYmVlbmRldCBlcyBzaWNoIG9obmUgenUgZW50cGFja2VuLApub2NoIGJldm9yIGljaCBlaW5lIEZlaGxlcm1lbGR1bmcgc2VoZW4ga2Fubi4gT2RlciBqZW1hbmQgaXN0IHNvIG5ldHQgdW5kCnNjaGllYnRzIGhpZXIgaW5zIC9vcGVuLgpFaW4gQmVpdHJhY2ggdm9uCk1hcml0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdGYgZnVlciB3aW5kb3dzIChBcmVsaW9uLCAyNS4gTWFpIDE5OTgsIDA5OjIxOjA0KToKfiMhIHJuPU1hcml0YSBydD04OTYwNTE5Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1Njg5MTMzCkhtbSwga2FubiBpY2ggbmljaHQgbmFjaHZvbGx6aWVoZW4uIEFsbGVyZGluZ3Mgc29sbHRlc3QgRHUgZGFzIEFyY2hpdiB1bnRlcgpXaW5kb3dzIHN0YXJ0ZW4uCkhhYmUgYWJlciBlaW4gYW5kZXJlcyBQcm9ibGVtIG1pdCBkZXIgVmVyc2lvbiAuLi4gaXJnZW5kd2llIHZlcmhhc3BlbHQgZXIgc2ljaAptaXQgIi8iIHVuZCAiXCIgZnVlciBkaWUgRGF0ZWluYW1lbi4gU28ga2FubiBURiBzY2hvbiBkaWUgc3RkbGliLnRmIG5pY2h0CmxhZGVuLCB3ZWlsIGVzIGU6XC4uLlx0Zi1saWIvc3RkbGliLnRmIG5pY2h0IGdpYnQuIDopCk5ldSBjb21waWxpZXJlbiBvZGVyIGdpYnQgZXMgZWluZW4gZWluZmFjaGVyZW4gV29ya2Fyb3VuZD8KCi0gQXJlbGlvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHRmIGZ1ZXIgd2luZG93cyAoUHJhLCAyNS4gTWFpIDE5OTgsIDEyOjU4OjE5KToKfiMhIHJuPUFyZWxpb24gcnQ9ODk2MDgwODY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTY4OTEzMwpobW0gLSB2aWVsbGVpY2h0IG1hbCBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgVEZMSUJESVIgcmljaHRpZyBzZXR6ZW4/CgpCZWkgbWlyICh1bnRlciBOVCkga2xhcHB0cyBqZWRlbmZhbGxzIG1pdCBkZXIgVmVyc2lvbiA0LjBhNC4KClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhdXNjaGUgRnJpdHpjYXJkLi4uIChUdW5peGd1dCwgMjcuIE1haSAxOTk4LCAwNzozMDowMCk6CkhpIQoKSm8sIHdpZSBkZXIgVGl0ZWwgc2Nob24gdmVybXV0ZW4gbGFlc3N0LCBoYWInIGljaCBlaW5lIG5pZ2VsbmFnZWxuZXVlCkZyaXR6Y2FyZCB1ZWJlciwgZGllIGljaCBhbSBsaWVic3RlbiBnZWdlbiBldHdhcyBlaW5mYWNoZW4gU2ltbS1TcGVpY2hlcgp0YXVzY2hlbiB3dWVyZGUsIDQgTUIgaXMgbmV0IG1laHIgU08gZGVyIEhpdC4uLgoKJ3MgS2FyYXRlLVp3ZXJjaGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub25pbnRlcmFjdGl2ZXVuaXhtYWlsYXR0YWNobWVudHNlbmRlciAoUHJhLCAyOC4gTWFpIDE5OTgsIDE2OjE0OjQ2KToKTW9pbiEKCldpZSBkZXIgVGl0ZWwgc2Nob24gc2FndCA8Zz46CgpHaWJ0IGVzIHVudGVyIFVuaXggZWluIE1haWwtUHJvZ3JhbW0sIG1pdCBkZW0gbWFuIG5pY2h0LWludGVyYWt0aXYKbWFpbHMgaW5jbHVzaXZlIGNvZGllcnRlciBhdHRhY2htZW50cyAobWltZSBvZGVyIGlyZ2VuZHdhcyBnYWVuZ2lnZXMpCnZlcnNlbmRlbiBrYW5uPwoKbWFpbCB0dXQncyBqZWRlbmZhbGxzIG5pY2h0LiBCZWkgZWxtIGJpbiBpY2ggbWlyIG5pY2h0IHNpY2hlci4gVW5kIHBpbmU/CktlaW5lIEFobnVuZy4gSXJnZW5kZXR3YXMgYW5kZXJlcyB2aWVsbGVpY2h0PwoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vbmludGVyYWN0aXZldW5peG1haWxhdHRhY2htZW50c2VuZGVyIChHcmltbWJvcm4sIDI4LiBNYWkgMTk5OCwgMTY6NDU6NTcpOgp+IyEgcm49UHJhIHJ0PTg5NjM2NDg4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTYzNjQ4ODYKQmVpc3BpZWxzd2Vpc2U6IGVsbSAtcyBzdWJqZWN0IC1BIGF0dGFjaG1lbnQgZW1wZmFlbmdlciA8IG5hY2hyaWNodAoKbWFuIGVsbSBpc3QgRGVpbiBGcmV1bmQgKG9kZXIgYW5kZXJzOiBSVEZNKSA7LSkKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdC4gRGVyIG1pdCBkZW4gbWFuIHBhZ2VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBub25pbnRlcmFjdGl2ZXVuaXhtYWlsYXR0YWNobWVudHNlbmRlciAoUHJhLCAyOC4gTWFpIDE5OTgsIDIwOjUwOjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTYzNjY3NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk2MzY0ODg2CnZpZWxlbiBEYW5rIGZ1ZXIgZGllIGFycm9nYW50ZSBBbnR3b3J0IC4uLiAodm9uIEdyaW1tYm9ybiBlcndhcnRlIGljaCBqYQpuaXggYW5kZXJlcy4uLiA7LSkKCm5hdHVlcmxpY2ggaGFiZSBpY2ggc2Nob24gJ21hbiBlbG0nIGdlbWFjaHQuIEJlaSBtaXIgZ2lidHMga2VpbmUKT3B0aW9uIC1BLiBXYXMgbnVuPyBXZWxjaGUgVmVyc2lvbiB2b24gZWxtIGhhc3QgRHU/IEljaCBoYWJlIDIuNCBQTDI1LgoKcHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbm9uaW50ZXJhY3RpdmV1bml4bWFpbGF0dGFjaG1lbnRzZW5kZXIgKEdyaW1tYm9ybiwgMjkuIE1haSAxOTk4LCAwOTo1OTo0OCk6Cn4jISBybj1QcmEgcnQ9ODk2MzgxNDI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NjM2NDg4NgpFbG0gMi40TUUrIFBMMzEgKDI1KSwgb2YgSmFuLCAxOTk3CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5vbmludGVyYWN0aXZldW5peG1haWxhdHRhY2htZW50c2VuZGVyIChKaW1kaWdyaXosIDI5LiBNYWkgMTk5OCwgMTQ6NTE6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NjQyODc4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTYzNjQ4ODYKSG9pLAoKbmFjaGRlbSBlbG0gamEgbmljaHQgbWVociBlbnR3aWNrZWx0IHdpcmQsCmRlciBOYWNoZm9sZ2VyICdtdXR0JyBrYW5ucyBuYXR1ZXJsaWNoIGF1Y2gKbXV0dCAtYSA8YXR0YWNoZW1lbnQgZmlsZT4gLXMgPHN1YmplY3Q+IDxhZGRyZXNzPiA8IDxib2R5ZmlsZT4KCmN1LAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29tcGlsZXIgZ2VzdWNodCAoSmVob3ZhLCAyOS4gTWFpIDE5OTgsIDIwOjI5OjU5KToKfiMhIHJuPURpZWRlciBydD04OTU5NjIwNjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCgpBbHMgQy1Db21waWxlciBlbXBmZWhsZSBpY2ggRGlyIFZpc3VhbC1DKysgNS4gSWNoIGFyYmVpdGUgZGFtaXQgc2Nob24gZXR3YXMKbGFlbmdlciB1bmQgaGFiZSBlaWdlbnRsaWNoIGtlaW5lcmxlaSBQcm9ibGVtZS4gKE1hbCBhYmdlc2VoZW4gZGF2b24sIGRhc3MgZXIKdmVyc2Nod2VuZGVyaXNjaCBtaXQgbWVpbmVuIFJlc3NvdXJjZW4gdW1nZWh0IDopLiBXZW5uIER1IERpY2ggZGEgZXJzdG1hbAplaW5nZWFyYmVpdGV0IGhhc3QsIGthbm5zdCBEdSBlaW5lIHBlcmZla3RlIFdpbi1PYmVyZmxhZWNoZSBpbiBrdWVyemVzdGVyIFplaXQKZXJzdGVsbGVuLiBFaW4gYW5kZXJlciBndXRlciBDb21waWxlciBpc3QgQm9ybGFuZCBDIDUsIGFiZXIgZGVyIGlzdCB6aWVtbGljaApzcGFydGFuaXNjaCBhdXNnZXN0YXR0ZXQuIE1hbiBrYW5uIHp3YXIgYWxsZXMgbWFjaGVuLCB0ZWlsd2Vpc2UgYWJlciBudXIgbWl0CnppZW1saWNoZW4gQXVmd2FuZC4gRnVlciBTdHVkZW50ZW4gc2luZCBiZWlkZSByZWNodCBiaWxsaWcuIERpZSBMYWRlbnByZWlzZQprZW5uZSBpY2ggbmljaHQsIGFiZXIgZGllIHNvbGx0ZW4gbWl0IERlbHBoaSAoMykgdmVyZ2xlaWNoYmFyIHNlaW4uCkVpbmUgZ3V0ZSBLbGFzc2VuYmlibGlvdGhlayBnaWJ0J3MgYmVpIGJlaWRlbiBkYXp1LiBWQzUgbmltbXQgTUZDICh6dQplbXBmZWhsZW4sIGRhIGVzIGRpcmVrdCB2b24gTVMga29tbXQpLCBCb3JsYW5kNSBoYXQgT1dMLgoKU29sbGVuIERlaW5lIFF1ZWxsY29kZXMgYXVjaCB1bnRlciBVbml4IHVlYmVyc2V0enQgd2VyZGVuIGtvZW5uZW4sIGRhbm4gc2NoYXUKRGlyIG1hbCB3eFdpbmRvd3Mgb2RlciBRdCBhbi4gRGFzIHNpbmQgYWJlciBudXIgS2xhc3NlbmJpYmxpb3RoZWtlbi4gQWxzCkNvbXBpbGVyIGdlaHQgZGEgR05VLUMuCgpCeWUsIEoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENvbXBpbGVyIGdlc3VjaHQgKFd1cnplbCwgIDEuIEp1biAxOTk4LCAxNTozMjowOCk6Cn4jISBybj1KZWhvdmEgcnQ9ODk2NDY2NTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTk2MjA2MgouLi4gKHp1IGVtcGZlaGxlbiwgZGEgZXMgZGlyZWt0IHZvbiBNUyBrb21tdCkgLi4uCmJpbGx5IHNvbGx0ZSB3aXJrbGljaCBlaW5lbiBtYXJrZXRpbmdwcmVpcyBiZWtvbW1lbi4gd2VyIG1pdCBzY2hyb3R0IHNvbGNoZQpiZWdlaXN0ZXJ1bmcgaGVydm9ycnVmZW4ga2FubiwgaXN0IHNjaG9uIGdlbmlhbC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VsYnN0YWVuZGlnZXMgV2FlaGxlbiB1bnRlciBXaW45NSAoTXVya2VzLCAgMy4gSnVuIDE5OTgsIDEzOjU3OjMzKToKSGksCmljaCBnZWhlIHp1ciBaZWl0IG1pdCBXaW45NSBwZXIgTW9kZW0gYW5zIE5ldHogdW5kIGhhYmUgZGFiZWkgZWluIFByb2JsZW0gKHdpZQp1bnRlciBXaW45NSBhdWNoIG5pY2h0IGFuZGVycyB6dSBlcndhcnRlbiB3YXIuLi4pOiBXZW5uIGljaCBkaWUgZXJzdGVsbHRlCnZlcmJpbmR1bmcgYW5rbGlja2UsIGRhbm4gZmFlbmd0IGRhcyBNb2RlbSBhdWNoIHNjaG9uIHNvZm9ydCBhbiB6dSB3YWVobGVuLgpJY2ggbXVlc3N0ZSBhYmVyIGVpZ2VudGxpY2ggbm9jaCBkZW4gVXNlcm5hbWVuIHVuZCBkYXMgUGFzc3dvcnQgdm9yaGVyCmFuZ2ViZW4uIFdvIGthbm4gbWFuIGRhcyBlaW5zdGVsbGVuLCBkYXMgbmljaHQgc29mb3J0IGxvc2dld2FlaGx0IHdpcmQ/CgpHcnVzcywgTXVya2VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VsYnN0YWVuZGlnZXMgV2FlaGxlbiB1bnRlciBXaW45NSAoWnVlcmlsZXUsICAzLiBKdW4gMTk5OCwgMTY6MzE6MTApOgp+IyEgcm49TXVya2VzIHJ0PTg5Njg3NTA1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTY4NzUwNTMKSGksCmFsc28gYWxsZSBlaW5zdGVsbHVuZ2VuIGltIHdpbjk1IG1hY2hzdCBkdSBpbSBERlUoRSktTmV0endlcmsuCgpUc2NoYXUgQWxhaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ29tcGlsZXIgZ2VzdWNodCAoQWNyaW1vbiwgIDQuIEp1biAxOTk4LCAyMDozNDo0Myk6Cn4jISBybj1KZWhvdmEgcnQ9ODk2NDY2NTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTk2MjA2MgouLi4gKHp1IGVtcGZlaGxlbiwgZGEgZXMgZGlyZWt0IHZvbiBNUyBrb21tdCkgLi4uCkRhcyBtZWluc3QgRHUgZG9jaCB3b2hsIG5pY2h0IGVybnN0PwpNJCBpc3QgZWluIHVudHJ1ZWdsaWNoZXMgWmVpY2hlbiBmdWVyIG1hbmdlbG5kZSBRdWFsaXRhZXQgenUgaG9oZW4gUHJlaXNlbi4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ29tcGlsZXIgZ2VzdWNodCAoSmVob3ZhLCAgNS4gSnVuIDE5OTgsIDIxOjUxOjIyKToKfiMhIHJuPUFjcmltb24gcnQ9ODk2OTg1MjgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTk2MjA2MgpEb2NoLCBpc3QgbWVpbiB2b2xsZXIgRXJuc3QuIFZpc3VhbC1DIGlzdCBhdXNuYWhtc3dlaXNlIGtlaW4gU2Nocm90dC4gVW5kIHdlbm4KRHUgZWluZSBzb2xjaGUgT2JlcmZsYWVjaGUgYXVmIERlaW5lbSBBbWlnYSBoYWV0dGVzdCwgd2FlcnN0IER1IGF1Y2gKZ2x1ZWNrbGljaC4gSWNoIGRlbmtlIG51ciBhbiBNYXhvbi1DKysgLS0gYWVobmxpY2ggd2llIEJvcmxhbmQgaGF0IG1hbiBudXIKZWluZSBEYXRlaS1BbnNpY2h0IHVuZCBtdXNzIGRhbWl0IHp1cmVjaHRrb21tZW4uIEJlaSBWQyBnaWJ0cyBub2NoIGVpbmUKS2xhc3NlbmFuc2ljaHQgdW5kIGVpbmUga29tcGxldHRlIFZlcndhbHR1bmcgYWxsZXIgS2xhc3NlbiB1bmQKS2xhc3NlbmVsZW1lbnRlLiBTcHJpY2ggbWFuIHNlbGVrdGllcnQgZGFzIFRlaWwgbnVyIHVuZCBnZWh0IGF1ZgoiTWVtYmVyZnVua3Rpb24gZWluZnVlZ2VuIiB1bmQgc2Nod3VwcCBzdGVodCBpbiAuaCB1bmQgLmMgZGFzIFRlaWwgZHJpbi4gTnVuCmphLCBiZWRpbmd0IGJla29tbXQgbWFuIGRhcyBhdWNoIHZpYSBBUmV4eCBoaW4sIGFiZXIgbmljaHQgc28gc2Nob2VuLgpGdW5rdGlvbmVuLCBkaWUgaGludGVyIE1lbnVlcHVua3RlbiBldGMuIHN0ZWhlbiwga2FubnN0IER1IHByb2JsZW1sb3MgbWl0Ck1lbWJlcmZ1bmt0aW9uZW4gRGVpbmVyIEtsYXNzZW4gdmVya251ZXBmZW4uIERhcyBhbGxlaW5lIHNwYXJ0IHNjaG9uIFVubWVuZ2VuCmFuIFplaXQsIHdlaWwgbWFuIG51ciBub2NoIHNlaW5lIE9iZXJmbGFlY2hlIGltIFJlc3NvdXJjZW4tRWRpdG9yIGJhdXQsIGRpZQpHVUktRWxlbWVudGUgbWl0IEluc3RhbmNlbi1WYXJpYWJsZW4gdmVya251ZXBmdCB1bmQgYW5zb25zdGVuIG51ciBkaWUgTWV0aG9kZW4KKGEgbGEgIk1lbnVlcHVua3QxMjNjbGlja2VkIikgYXVzZnVlbGxlbiBtdXNzLgoKQXVzc2VyZGVtIGdpbmcgZXMgZGFydW0sIHdlbGNoZW4gS29tcGlsZXIgbWFuIGZ1ZXIgV2luLVVtZ2VidW5nZW4gdm9yc2NobGFnZW4Ka2Fubi4gVW5kIFZDIGlzdCBudW5tYWwgZnVlciBQQ3MgZGVyIEJlc3RlLiBEdSBrYW5uc3QgbWljaCBhYmVyIGdlcm5lIHZvbQpHZWdlbnRlaWwgdWViZXJ6ZXVnZW4uCgpNaXQgInp1IGVtcGZlaGxlbiwgZGEgZXMgZGlyZWt0IHZvbiBNUyBrb21tdCIgd29sbHRlIGljaCBtZWhyIGRhcmF1ZgpoaW53ZWlzZW4sIGRhc3MgZGllIERldmVsb3Blci1VbnRlcnN0dWV0enVuZyBldHdhcyBiZXNzZXIgYXVzZmFlbGx0LCBhbHMgYmVpCkJvcmxhbmQuIChJY2ggZ2VoZSBlaW5mYWNoIG1hbCBkYXZvbiBhdXMsIGRhcyBNUyB3ZWlzcywgd2FzIGFuIGFrdHVlbGxlbgpOZXVlcnVuZ2VuIGZ1ZXIgUHJvZ3JhbW1pZXJlciBpbnRlcmVzc2FudCBpc3QgdW5kIGRhcyBXaXNzZW4gZWhlciBhbHMgZGllCktvbmt1cnJlbnogdW50ZXIgZGllIExldXRlIGJyaW5ndC4pCkVzIHNvbGx0ZSBuaWNodCBoZWlzc2VuLCBkYXNzIGFsbGVzIHdhcyBNUyBoZXJzdGVsbHQgYXVjaCBndXQgaXN0LiBEYXMgaXN0CmdhbnogdW5kIGdhciBuaWNodCBtZWluZSBNZWludW5nLCBhYmVyIGFscyBQcm9ncmFtbWllcmVyIG11c3MgbWFuIGViZW4gaGluIHVuZAp3aWVkZXIgbWFsIHdhcyBmdWVyIFdpbmRvd3Mgc2NocmVpYmVuICh1bmQgc28gc2NobGltbSBpc3QgZGFzIGdhciBuaWNodCkuCkZ1ZXJzIEludGVybmV0IHVuZCB6dW0gVGV4dGUgc2NocmVpYmVuIGJlbnV0emUgaWNoIHp1ZmFlbGxpZ2Vyd2Vpc2UgYXVjaCBlaW5lbgpBbWlnYSwgYWJlciBtZWluZSBWb3JnZXNldHp0ZW4gd3VlcmRlbiBkYXMgd29obCBnYXIgbmljaHQgc28gdG9sbCBmaW5kZW4sIHdlbm4KaWNoIG51ciBub2NoIFVuaXgvQW1pZ2EtU2FjaGVuIGFibGllZmVybiB3dWVyZGUgOikKCkJ5ZSwgSioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvbXBpbGVyIGdlc3VjaHQgKEFnb255LCAgOC4gSnVuIDE5OTgsIDA5OjQzOjM3KToKfiMhIHJuPUplaG92YSBydD04OTcwNzYyODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCmFsc28gZGFzIHZpc3VhbCBjIHZvbiBJQk0genVtIGJlaXNwaWVsIGlzdCB1biBncm9lc3Nlbm9yZG51bmdlbiBiZXNzZXIgYWxzCmRhcyB2b24gbWljcm9zb2Z0LiBpY2ggbXVzcyBkdXJjaGF1cyB6dWdlYmVuLCBkYXNzIGJpbGxpZXMgYy11bWdlYnVuZwpyZWNodCBuZXR0IGlzdCwgYWJlciBhdWNoIHp1bSBncm9zc2VuIHRlaWwgbnVyIGFiZ2VrdXBmZXJ0Lgp3ZXIgZGVzd2VpdGVyZW4gZGVuIHVlYmxlbiBoYWNrIG5hbWVucyBNRkMgZ3V0IGZpbmRldCwgZGVyIGhhdCBub2NoIG5pZQp3aXJrbGljaCBvYmpla3RvcmllbnRpZXJ0IHByb2dyYW1taWVydCB1bmQgaW1tZXIgbnVyIHBlciBjbGljayBhbmQgZHJvcCwKaWNoIHNjaGFldHplIG1hbCwgc3BhZXRlc3RlbnMgZGFubiwgd2VubiBkdSBldHdhcyBpbiBkZXIgb2JlcmZsYWVjaGUgaGFiZW4Kd2lsbHN0LCB3YXMgbmljaHQgdm9uIGRlbSBtYy12aXN1YWwtYyBhbmdlYm90ZW4gd2lyZCwgc3RlaHN0IGR1IGdhbnoKc2Nob2VuIGltIHJlZ2VuLgp6dSBkZWluZW4gYW1pZ2EtYmVtZXJrdW5nZW4gc2FnIGljaCBiZXNzZXIgbml4LCB3YXIgbWFsIG5lbiBzdXBlci10ZWlsIG1pdApzdXBlci1iZXRyaWVic3N5c3RlbSwgYWJlciBpbnp3aXNjaGVuIGlzdHMgbnVyIG5vY2ggbXVzZXVtcy1zY2hyb3R0LCBvYiBtaXQKb2RlciBvaG5lIHN1cGVyZHVwZXItR1VJcyB2b24gZnJlbWRlbnR3aWNrbGVybi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENvbXBpbGVyIGdlc3VjaHQgKEdsb2luc29uLCAgOC4gSnVuIDE5OTgsIDEyOjU0OjAyKToKfiMhIHJuPUFnb255IHJ0PTg5NzI5MTgxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU5NjIwNjIKSWNoIGxhYmVyIG1hbCBudXIgc28gcmVpbiwgb2huZSBhbGxlcyBnZWxlc2VuIHp1IGhhYmVuLCBhYmVyIGVyc3RlbGx0IG1hbgpkYXMgR3J1bmRnZXJ1ZXN0IGZ1ZXIgc2VpbiBPT1AgbmljaHQgZWggbWl0IGVpbmVtIGRlciB1bnphZWhsaWdlbiBDQVNFLQpUb29scz8gRGEgaW50ZXJlc3NpZXJ0IG1pY2ggZGFubiBkaWUgc2VsYmUgRnVua3Rpb25hbGl0YWV0IGltIFZDIG5pY2h0IHNlaHIuCgpHbG9pbiAuLi4gaXN0IHNvd2llc28gbmljaHQgZ2FueiB1cCB0byBkYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ29tcGlsZXIgZ2VzdWNodCAoSmVob3ZhLCAgOC4gSnVuIDE5OTgsIDE4OjU2OjM5KToKfiMhIHJuPUFnb255IHJ0PTg5NzI5MTgxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU5NjIwNjIKPiBhbHNvIGRhcyB2aXN1YWwgYyB2b24gSUJNIHp1bSBiZWlzcGllbCBpc3QgdW4gZ3JvZXNzZW5vcmRudW5nZW4KPiBiZXNzZXIgYWxzIGRhcyB2b24gbWljcm9zb2Z0LgoKSG0uIERhbm4gc2FnJyBkb2NoIG1hbCwgd2FzIER1IGtvbmtyZXQgYmVzc2VyIGZpbmRlc3QuIEljaCBrZW5uZSBJQk1zIFZDCm5pY2h0LiBTY2hsaWVzc2xpY2ggbXVzcyBtYW4gZGFzIGJlbnV0emVuLCB3YXMgbWFuIHZvcmdlc2V0enQgYmVrb21tdC4KCj4genVtIGdyb3NzZW4gdGVpbCBudXIgYWJnZWt1cGZlcnQKCldlbiBzdG9lcnQgc293YXMgZGVubiA/IDopCgo+IHdlciBkZXN3ZWl0ZXJlbiBkZW4gdWVibGVuIGhhY2sgbmFtZW5zIE1GQyBndXQgZmluZGV0LCBkZXIKPiBoYXQgbm9jaCBuaWUgd2lya2xpY2ggb2JqZWt0b3JpZW50aWVydCBwcm9ncmFtbWllcnQgLi4uCgpJY2ggbmVobWUgbWFsIGFuLCBEdSBtZWluc3QgZGllIEVyd2VpdGVydW5nZW4gZGVyIEMrKy1TcHJhY2hlLCBkaWUgbWl0IE1GQwplaW5nZWZ1ZWhydCB3dXJkZW4uIFdhcyB6LkIuIGtvZW5udGUgbWFuIGRhIGFuZGVycyBtYWNoZW4gPyBGdWVyIGplZGVuCk1lc3NhZ2V0eXAgZWluZSBlaWdlbmUgdmlydHVlbGxlIEZ1bmt0aW9uID8gRGEgd2lyZCBkYW5uIGFiZXIgZGVpbiBQcm9ncmFtbQp6aWVtbGljaCBsYW5nc2FtLiBVbmQgZGFzIFNsb3QtUHJpbnppcCB2b24gUXQgZmluZGUgaWNoIGF1Y2ggbmljaHQgYmVzb25kZXJzCnNjaG9lbi4gV2FzIG1hY2h0IGRlbm4gSUJNIGJlc3NlciA/Cgo+IHNwYWV0ZXN0ZW5zIGRhbm4sIHdlbm4gZHUgZXR3YXMgaW4gZGVyIG9iZXJmbGFlY2hlIGhhYmVuIHdpbGxzdCwKPiB3YXMgbmljaHQgdm9uIGRlbSBtYy12aXN1YWwtYyBhbmdlYm90ZW4gd2lyZCwgc3RlaHN0IGR1IGdhbnoKPiBzY2hvZW4gaW0gcmVnZW4uCgpEYXMgaXN0IGVpZ2VudGxpY2ggaW1tZXIgc28sIHdlbm4gbWFuIGVpbiBXaWRnZXQgc2VsYnN0IHByb2dyYW1taWVyZW4gbXVzcy4KQWJlciBtaXQgZGVyIHJpY2h0aWdlbiBEb2t1bWVudGF0aW9uIHNvbGx0ZSBkYXMgYXVjaCBnZWhlbi4gSWNoIHBlcnNvZW5saWNoCmhhYmUgaW1tZXIgQU5TSS1DIGtvbmZvcm1lIEtsYXNzZW4sIHdlbGNoZSB6d2lzY2hlbiBkZW4gU3lzdGVtZW4gcG9ydGFiZWwgc2luZAp1bmQgcGFzc2UgYW4gZGllc2UgZGFubiBlaW5lIE9iZXJmbGFlY2hlIGFuLiBVbmQgZ2VuYXUgZGFzIG1hY2h0IHNpY2ggbWl0IFZDCnNlaHIgZ3V0LiBFaWdlbmUgV2lkZ2V0cyBoYWJlIGljaCBiaXNoZXIgbm9jaCBuaWUgYmVub2V0aWd0LiBBdXNzZXJkZW0gbXVzcwptYW4gc29sY2hlIGltbWVyIGF1ZiBLb25zaXN0ZW56IHp1bSBDb3Jwb3JhdGUgU3R5bGUgR3VpZGUgaGluIHRlc3RlbiB1bmQgc2ljaAptaXQgZGVuIE1pdGFyYmVpdGVybiBpbiBkZXIgRmlybWEgYWJzcHJlY2hlbi4gU293YXMgaXN0IG1pciB2aWVsIHp1IHZpZWwKQXVmd2FuZCA6KQoKRGVpbiBLb21tZW50YXIgenVtIEFtaWdhIGlzdCB6d2FyIHJpY2h0aWcsIGFiZXIgYmVvYmFjaHRlIG1hbCBlaW5lbiBBbWlnYS0gdW5kCmVpbmVuIFdpbmRvd3MtQmVudXR6ZXIgYmVpIGRlciBnbGVpY2hlbiBBdWZnYWJlICh6LkIuIEFyYmVpdCBtaXQgTGFUZVggb2RlcgplaW5mYWNoIG51ciBtaXQgZWluZW0gRGF0ZWltYW5hZ2VyKS4gV2VyIGRpZSB3ZW5pZ3N0ZW4gUHJvYmxlbWUgaGF0LCBzb2xsdGUKd29obCBrbGFyIHNlaW4gOikKCkJ5ZSwgSioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IENvbXBpbGVyIGdlc3VjaHQgKEplaG92YSwgIDguIEp1biAxOTk4LCAxOTozMDowMik6Cn4jISBybj1HbG9pbnNvbiBydD04OTczMDMyNDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCj4gZXJzdGVsbHQgbWFuIGRhcyBHcnVuZGdlcnVlc3QgZnVlciBzZWluIE9PUCBuaWNodCBlaCBtaXQgZWluZW0KPiBkZXIgdW56YWVobGlnZW4gQ0FTRS1Ub29scz8KCkphLCBzbyBzb2xsdGUgZXMgZWlnZW50bGljaCBzZWluLiBBYmVyIGRpZSBGaXJtZW4sIGRpZSBpY2gga2VubmUsIGJlbnV0emVuCnNvd2FzIHVlYmVyaGF1cHQgbmljaHQuIEljaCBkZW5rZSBtYWwsIGRhc3MgaGF1cHRzYWVjaGxpY2ggZ3JvZXNzZXJlClNvZnR3YXJlaGFldXNlciBUb29scyB6dXIgT09BLCBPT0QsIEhJQy9CTk8sIERNIHZlcndlbmRlbi4gWnVtYWwgZ3JhZGUgZGllClB1bmt0ZSBIdW1hbi1JbnRlcmZhY2UtQ29tcG9uZW50IHVuZCBEYXRhLU1hbmFnZW1lbnQgdm9uIG1vZGVybmVuIEMtQ29tcGlsZXJuCnNjaG9uIGFiZ2VkZWNrdCB3ZXJkZW4uIEFsbGVyZGluZ3MgbmljaHQgaW0gSGluYmxpY2sgYXVmIE9iamVrdG9yaWVudGllcnVuZy4KU3RhdHRkZXNzZW4gd2lyZCBlaW5mYWNoIGVpbiBSZXNzb3VyY2VuZWRpdG9yIG8uYWUuIHp1ciBWZXJmdWVndW5nIGdlc3RlbGx0LgpadW1pbmRlc3QgZGFzIE9iamVjVG9vbCwgd2VsY2hlcyBpY2ggc2Nob25tYWwgYmVudXR6ZW4gZHVyZnRlLCBoYXQgdmllbCB6dQp2aWVsZSBFaW5zY2hyYWVua3VuZ2VuLCB1bSBzaW5udm9sbCB2ZXJ3ZW5kYmFyIHp1IHNlaW4uIEFuZGVyZSAoc2ljaGVybGljaAphdWNoIHRldXJlcmUpIFBha2V0ZSBrb2VubmVuIGRhIG5hdHVlcmxpY2ggZ2FueiBhbmRlcnMgc2Vpbi4KCkdlZ2VuIGVpbmUgVmVyd2VuZHVuZyB2b24gV2Vya3pldWdlbiB6dW0gb2JqZWt0b3JpZW50aWVydGVuIFNvZnR3YXJlZW50d3VyZgpzcHJpY2h0IGF1Y2gsIGRhc3MgZGllIG1laXN0ZW4gUHJvamVrdGUgdWViZXJzY2hhdWJhciBzaW5kLiAoWnVtaW5kZXN0IGRlbmtlbgpkYXMgZGllIFByb2dyYW1taWVyZXIgOikuIAoKQnllLCBKKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVya2F1ZnNhbnplaWdlIChIZWx2YSwgIDguIEp1biAxOTk4LCAyMToxNzoyMSk6ClNvLCBkaWVzZXMgQW5nZWJvdCBpc3QgbmljaHQgdm9uIG1pciwgc29uZGVybiB2b24gRnJldW5kZW4sIGRpZSBpbiBFc3Nlbgp3b2huZW4uIEJlZGluZ3VuZyBpc3QsIGRhc3MgZGVyIENvbXB1dGVyIGRvcnQgYXVjaCBhYmdlaG9sdCB3aXJkLiBNYWlsZW4gYW4KbWljaCBpc3Qgdm9lbGxpZyBzaW5ubG9zLCBzb25kZXJuIHN0YXR0ZGVzc2VuIGJpdHRlIGRpZSB1bnRlbiBhbmdlZ2ViZW5lClRlbGVmb25udW1tZXIgYmVudXR6ZW4uIERlciBSZWNobmVyIGlzdCBtaXQgemllbWxpY2hlciBTaWNoZXJoZWl0IGluIE9yZG51bmcsCmRhIGthdW0gYmVudXR6dC4gRXIgc29sbCBudW4gZWluZXIgUGxheXN0YXRpb24gd2VpY2hlbi4gQWNoIGphLCB1bmQgd2VubiBpaHIKYW5ydWZ0LCBzYWd0IHdhcyB2b24gQW56ZWlnZSBpbSBJbnRlcm5ldCwgZGVubiBtaXQgTW9yZ2VuZ3JhdWVuIG9kZXIgZ2FyCm1laW5lbSBtdWRuYW1lbiBIZWx2YSBrb2VubmVuIHNpZSByZWluIGdhciBuaWNodHMgYW5mYW5nZW4gKCBqYSBzbyBMZXV0ZSBnaWJ0cwo7KSkuCkFsc28gaGllciBkaWUgdGVjaG5pc2NoZW4gRGV0YWlsczoKUGVudGl1bSAxNjYgTU1YIAoyNCBNQiBBcmJlaXRzc3BlaWNoZXIKMSw3IEdCIEZlc3RwbGF0dGUKOGZhY2ggQ0QtUm9tCjRNQiBFbHNhIFZpY3RvcnkgM2R4ClNvdW5kYmxhc3RlciAxNiBiaXQKTmV0endlcmtrYXJ0ZSwgUHJvZ3JhbW1lLCBadWJlaG9lcgoxNSIgTW9uaXRvcgpWQiAxMjAwLDAwIERNICAgIFRlbC46MDE3Ny8zMDU3NTM3CgpIZWx2YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmthdWZzYW56ZWlnZSAoR3JpbW1ib3JuLCAgOC4gSnVuIDE5OTgsIDIxOjI4OjU3KToKfiMhIHJuPUhlbHZhIHJ0PTg5NzMzMzQ0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTczMzM0NDEKTmFqYSwgZGllIEJlc2NocmVpYnVuZyBnaWJ0IGphIG5pY2h0IHNvdmllbCBoZXIsIGFiZXIgd2VydCBpc3QgZGVyIEtyYW0gamEKZG9jaCB3b2hsIGVoZXIgaW4gZGVyIEdlZ2VuZCB2b24gZ3V0IDgwMERNLgoKRGFzIGlzdCBkYXMgU2NobGltbWUgYW0gR2VicmF1Y2h0bWFya3Qgdm9uIENvbXB1dGVybiAtIGRpZSB2b3JoZXJyc2NoZW5kZQpNZWludW5nIGlzdCAiRnVlciBkZW4gUmVjaG5lciBoYWJlIGljaCB2b3IgendlaSBKYWhyZW4gMjUwMERNIGdlemFobHQsIGRhIHdpbGwKaWNoIGFiZXIgbm9jaCAxNTAwIGZ1ZXIgaGFiZW4iLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENvbXBpbGVyIGdlc3VjaHQgKEdyaW1tYm9ybiwgIDguIEp1biAxOTk4LCAyMTozMjoyNSk6Cn4jISBybj1KZWhvdmEgcnQ9ODk3MDc2MjgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTk2MjA2Mgo+IFVuZCBWQyBpc3QgbnVubWFsIGZ1ZXIgUENzIGRlciBCZXN0ZS4gRHUga2FubnN0IG1pY2ggYWJlciBnZXJuZSB2b20KPiBHZWdlbnRlaWwgdWViZXJ6ZXVnZW4uCgpLZWluIFByb2JsZW06IFZDIGxhZXVmdCBhdWYgbWVpbmVtIFBDIGdhciBuaWNodCBlcnN0LiBXZW5uIGljaCBkYXMgc3RhcnRlCnN0dWVyenQgd2luZSBhYi4KQXVzc2VyZGVtLCBmdWVyIERlaW5lbiBQQyBtYWcgamEgVkMgZGFzIEJlc3RlIHNlaW4sIGFiZXIgbWVpbmVyIGlzdCBtaXQKbm9ybWFsZW0gV2VjaHNlbHN0cm9tIGF1Y2ggZ2FueiB6dWZyaWVkZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3Qga3JhdWx0IHNlaW5lbiBSZWNobmVyIGhpbnRlciBkZXIgRmVzdHBsYXR0ZSB1bmQgZnVldHRlcnQKaWhtIG5vY2ggZWluIHBhYXIgQW1wZXJlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJrYXVmc2FuemVpZ2UgKFNoYXJpYSwgIDguIEp1biAxOTk4LCAyMTozNDoxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk3MzM0MTM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NzMzMzQ0MQpTb28gaWNoIGhhYiBhdWNoIG5vY2ggbmVuIFJlY2huZXIgYW56dWJpZXRlbiB1ZWJlciBkZW4gd2Vpc3MgaWNoIG5pY2h0IG1laHIKYWxzIGZvbGdlbmRlczoKCjM4NmVyIG1pdCBjYSAyMCBNSFoKNCBNQiBSQU0KNDAgTUIgSEQKenVlY2tlIGhhbW1lcgo1IDEvNCBab2xsIERpc2tldHRlbmxhdWZ3ZXJrLi4uCgoKTW9uaXRvciAxNCBab2xsIHdlbm4gZXJ3dWVuc2NodCBhdWNoIGRhenUgLi4KCkFjaGphIGRlciBSZWNobmVyIGlzIG5lbiBlY2h0IHNjaG9lbmVyIERlc2t0b3AgUmVjaG5lciAuLiB1bmQgZGEgZXIgZGFtYWxzCjMzMDBETSBnZWtvc3RldCBoYXQgbWVpbmUgRnJhZ2U6IFdFUiBnaWJ0IGRhIG5vY2ggSVJHRU5EV0FTIGFuIEdlbGQgZGFmdWVyIGF1cwo/IDotKSkpCgoKbWFpbCBhbiBTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZlcmthdWZzYW56ZWlnZSAoQmFtYnVsa28sICA4LiBKdW4gMTk5OCwgMjI6MTg6MTcpOgp+IyEgcm49U2hhcmlhIHJ0PTg5NzMzNDQ1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTczMzM0NDEKQWxzbyBkYXMgenVlY2tlIGhhbW1lciBpc3Qgc2ljaGVyIGVpbmlnZXMgd2VydC4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcmthdWZzYW56ZWlnZSAoS2V5LCAgOS4gSnVuIDE5OTgsIDA5OjA2OjQzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTczMzQxMzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3MzMzNDQxCipncmlucyogODAwPyBOZXRtYWwgZGFzIHd1ZXJkIGljaCBiZWhhdXB0ZW4gLi4uCnNjaGxpdWVzc2xpY2ggYmVrb21tdCBtYW4gc2Nob24gbmVuIDIwMCBtbXggenUgMTIwMCAuKQoKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVya2F1ZnNhbnplaWdlIChLZXksICA5LiBKdW4gMTk5OCwgMDk6MDc6NDkpOgp+IyEgcm49U2hhcmlhIHJ0PTg5NzMzNDQ1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTczMzM0NDEKSG1tIGJpZXRlIDUwIERNICwpCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRGIEtleWJpbmRpbmcgKEFyZWxpb24sICA5LiBKdW4gMTk5OCwgMDk6MzM6MDMpOgpIYWxsbyBURiBXaXphcmRzIC4uLgoKaWNoIHdpbGwgbWlyIGVpbiBLZXliaW5kaW5nIGZ1ZXIgZGllIFBmZWlsLW9iZW4sIC11bnRlbiBUYXN0ZW4gbWFjaGVuLCBkYXMKZm9sZ2VuZGVzIHR1dDoKMSkgZGllIEVpbmdhYmV6ZWlsZSBsZXNlbiB1bmQgc3BlaWNoZXJuCjIpIGVpbiAvcXVvdGUgL3NldCAlemVpbGVfYWx0IGAvcmVjYWxsIC1pIC1tZ2xvYiAvJXdpZV93ZWl0ICV6ZWlsZV9qZXR6dCoKMykgTmEgamEgdW5kIGRlbiAld2llX3dlaXQgZW50c3ByZWNoZW5kIHJhdWYgdW5kIHJ1bnRlciB6YWVobHQsIGJlaW0gc2VuZCBob29rCmxvZXNjaHQgdXN3LgpLdXJ6LCBkaWUgWmVpbGUgc29sbCBhbHMgUGF0dGVybiB2ZXJ3ZW5kZXQgd2VyZGVuIHVtIG51ciBnbGVpY2hlIFplaWxlbiBhdXMKZGVyIEhpc3RvcnkgenUgaG9sZW4gKD0+IHpNVUQpCgpOYSBqYSwgaWNoIGhhYmUgZGFzIHByb2JpZXJ0IHVuZCBlcyBrbGFwcHQgc29nYXIgbWl0IGRlbSBTY2hvZW5oZWl0c2ZlaGxlciwKZGFzcyBkYXMgZXJzdGUgL3JlY2FsbCBvZmZlbmJhciBrZWluZSBaZWlsZSBsaWVmZXJ0LCBkYXMgendlaXRlIG1pdCAvMiBkaWUKZXJzdGUgaW4gemVpbGVfYWx0IHNjaHJlaWJ0LCB1c3cuIEFucGFzc2VuIGRlcyB3aWVfV2VpdCBaYWVobGVycyBicmluZ3Qgbml4LgpJY2gga2FubiBhdWNoIGRlbiBDb2RlIG1hbCBwb3N0ZW4sIHdlbm4gZ2V3dWVuc2NodCwgYWJlciBlaWdlbnRsaWNoCmludGVyZXNzaWVydCBtaWNoLCBvYiBqZW1hbmQgZGF6dSBzY2hvbiBlaW5lIGZlcnRpZ2UgTG9lc3VuZyBoYXQuCgotIEFyZWxpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWlscHJvZ3JhbW0gZ2VzdWNodCAoUnVtYXRhLCAgOS4gSnVuIDE5OTgsIDEzOjQ0OjI4KToKQWxsZSBNYWlscHJvZ3JhbW1lIHNpbmQgI1JeJV4lJF4jJSUkLCBpY2ggd2lsbCBlaW5zLCBkYXMKcGdwLCBnZXNjaGFjaHRlbHRlIGZvbGRlciwgaXNwZWxsIGVpbmJpbmRlbiB1bmQgYXR0YWNobWVudHMgZ2VzY2hlaXQKYmVoYW5kZWxuIGthbm4sIGlzbzg4NTkgaW0tIHVuZCBleHBvcnRpZXJlbiBrYW5uIHVuZCB1bmRlciBzb2xhcmlzIHVuZApsaW51eCBsYWV1ZnQuIEFjaGphIGRhcyBVc2VyaW50ZWZhY2Ugc29sbHRlIG5pY2h0IHNvIGtyYW5rIHdpZSBkYXMKdm9uIHhmbWFpbCBzZWluLgoKR2lidCBlcyBub2NoIEhvZmZudW5nPwogIFJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1haWxwcm9ncmFtbSBnZXN1Y2h0IChIYXRlLCAgOS4gSnVuIDE5OTgsIDE0OjMyOjI1KToKfiMhIHJuPVJ1bWF0YSBydD04OTczOTI2Njggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3MzkyNjY4Ck5pbW0gTUggdW5kIGV4bWgKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlscHJvZ3JhbW0gZ2VzdWNodCAoSmltZGlncml6LCAgOS4gSnVuIDE5OTgsIDE4OjA1OjUyKToKfiMhIHJuPVJ1bWF0YSBydD04OTczOTI2Njggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3MzkyNjY4CgpKYSwgZGllIExvZXN1bmcgaGVpc3N0ICJtdXR0IgoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXJrYXVmc2FuemVpZ2UgKE92ZXJsb3JkLCAgOS4gSnVuIDE5OTgsIDIwOjI1OjI1KToKfiMhIHJuPVNoYXJpYSBydD04OTczMzQ0NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3MzMzNDQxCkljaCBoYWIgc293YXMgbm9jaCB6dSBoYXVzZSB1bmQgYXJiZWl0ZSBzb2dhciBkYW1pdC4gSmFhYWEgd2lya2xpY2ghIFVuZCBlcwpyZWljaHQgbWlyIHZvbGxrb21tZW4hCgpPdmkgJ0ZyZWQgRmV1ZXJzdGVpbicgaGV1dGUgbWFsIGxhY2hlbmQgOikpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXJrYXVmc2FuemVpZ2UgKEdyaW1tYm9ybiwgIDkuIEp1biAxOTk4LCAyMjo0NjozNSk6Cn4jISBybj1LZXkgcnQ9ODk3Mzc2MDAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NzMzMzQ0MQpPSzoKMTY2ZXIgUGVudGl1bTogIDUwRE0KMSw3RyBIRDogMTAwRE0KOHggQ0QtUk9NOiA1MERNCjRNQiBFbHNhIFZpY3RvcnkgM2R4OiAxMDBETQpTb3VuZGJsYXN0ZXIgMTZiaXQ6IDIwRE0KR2VoYWV1c2U6IDEwMERNCjE1IiBNb25pdG9yOiAzMDBETQpOZXR6d2Vya2thcnRlLCBQcm9ncmFtbWUsIFp1YmVob2VyOiA1MERNCgpNYWNodCB6dXNhbW1lbiA3NzBETS4gRGFzIGlzdCBuYXR1ZXJsaWNoIGFuIGRlciBvYmVyZW4gR3JlbnplLCB3ZW5uIGljaAppbnRlcmVzc2llcnQgd2FlcmUgd3VlcmRlIGljaCBlcnN0bWFsIDUwMCBiaWV0ZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcmthdWZzYW56ZWlnZSAoS2V5LCAxMC4gSnVuIDE5OTgsIDA4OjMyOjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTc0MjUxOTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3MzMzNDQxCkFsc28gZGllIEZlc3RwbGF0dGUgd3VlcmRlIGljaCBmdWVyIDEwMCBETSBuZWhtZW4gOikKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVmVya2F1ZnNhbnplaWdlIChHcmltbWJvcm4sIDEyLiBKdW4gMTk5OCwgMDQ6Mjk6MjUpOgp+IyEgcm49S2V5IHJ0PTg5NzQ2MDM3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTczMzM0NDEKQWxzbywgNkcgYmVrb21tdCBtYW4gc2Nob24gZnVlciBydW5kIDM1MERNLiBEYW1pdCBzaW5kIDEwMERNIGZ1ZXIgMSw3RyBlaGVyCnRldWVyLCB6dW1hbCBkYXMgZGFubiBlaW5lIGFsdGUgKGxhbmdzYW1lcmUpIFBsYXR0ZSBzZWluIGR1ZXJmdGUuClByb2JsZW0gd2llIGltbWVyOiBOdXIgd2VpbCBlcyBzb3ZpZWwgd2VydCBpc3QgaGVpc3N0IGRhcyBuaWNodCBkYXNzIGVzIGF1Y2gKenUgZGVtIFByZWlzIGF1ZiBkZW0gTWFya3QgaXN0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFoYSAoQmx1ZW1lbCwgMTIuIEp1biAxOTk4LCAxMDozNzozOCk6ClByZWlzIHVuZCBXZXJ0IHNpbmQgYWxzbyB2b2VsbGlnIHVuYWJoYWVuZ2lnIHZvbmVpbmFuZGVyICEKCkJsdWVtZWwgKCBzY2htdW56ZWxuZCApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWhhIChXdXJ6ZWwsIDEyLiBKdW4gMTk5OCwgMTA6NDI6MjgpOgp+IyEgcm49Qmx1ZW1lbCBydD04OTc2NDA2NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3NjQwNjU4CnN0aW1tdC4gamVkZW5mYWxscyB3YXMgbWljcm9zY2hyb3R0IHVuZCBzZWluZSBwcm9kdWt0ZSBiZXRyaWZmdC4KCnd1cnplbCBoYXQgc2ljaCBnZXJhZGUgd2llZGVyIG1hbCBnZWFlcmdlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjb21wdXRlciBnZXN1Y2h0IChOaXhpaG91LCAxMi4gSnVuIDE5OTgsIDEzOjAwOjA1KToKaGksCmljaCBzdWNoZSBmdWVyIGVpbmUgZnJldW5kaW4gaW4gYWFjaGVuIGVpbmVuIG1vZWdsaWNoc3QgcHJlaXN3ZXJ0ZW4KaW50ZXJuZXR0YXVnbGljaGVuIGNvbXB1dGVyICh0ZXh0dmVyYXJiZWl0dW5nIHNvbGx0ZSBhdWNoIGdlaGVuKQp1bmQgZGF6dSBwYXNzZW5kIG5hdHVlcmxpY2ggdGlwcyBmdWVyIGViZW5zbyBwcmVpc3dlcnRlIGludGVybmV0LXByb3ZpZGVyCgpkYSBkZXIgY29tcHV0ZXIgZnVlciBlaW5lbiBhYnNvbHV0ZW4gY29tcHV0ZXJsYWllbiBpc3Qgc29sbHRlIG5pY2h0IG1laHIKYWxsenV2aWVsIGRhcmFuIHJ1bXp1aW5zdGFsbGllcmVuL3J1bXp1c2NocmF1YmVuIHNlaW4uLi4KCm5peGlob3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjb21wdXRlciBnZXN1Y2h0IChHbG9pbnNvbiwgMTIuIEp1biAxOTk4LCAxNDoxNDo1Myk6Cn4jISBybj1OaXhpaG91IHJ0PTg5NzY0OTIwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTc2NDkyMDUKSWNoIHNpdHplIGhpZXIgZ2VyYWRlIGFuIGVpbmVtIDM4NlNYLzI1LCBhdWYgZGVtIFdpbmRvb2YgMy4xIG1pdCBXaW53b3JkCjIuMCBpbnN0YWxsaWVydCBpc3QgdW5kIGljaCBzY2hhZXR6ZSBtYWwsIHNvZ2FyIE5ldHNjYXBlIGxhZXVmdCwgZGEgZGFzCkRpbmcgaXJnZW5kd2FzIHVtIDIwIE1CIFJBTSBoYXQuIERhcyBUZWlsIGtvc3RldCBoZXV0ZSB6dW0gS3JpZWdlbi1QcmVpcyB3b2hsCnVtIDUwIGJpcyAxMDAgTWFlcmtlci4gUmVpY2h0IGxvY2tlci4KCmdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNvbXB1dGVyIGdlc3VjaHQgKEdyaW1tYm9ybiwgMTIuIEp1biAxOTk4LCAxNDoxNjowOSk6Cn4jISBybj1HbG9pbnNvbiBydD04OTc2NTM2OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk3NjQ5MjA1CkR1IGJpZXRlc3QgZGllIERpbmdlciBmdWVyIGRlbiBQcmVpcyBhbj8gSWNoIG1lbGRlIG1pY2ggaGllcm1pdCBsYXV0c3RhcmsgZnVlcgplaW5lbiEgQmlldGUuLi4gc2FnZW4gd2lyIDgwRE0uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGNvbXB1dGVyIGdlc3VjaHQgKFRyYW5jZWZlYXIsIDEyLiBKdW4gMTk5OCwgMTk6NDk6MTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NzY1Mzc2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTc2NDkyMDUKVW5kIGRhbm4/IE1hY2hzdGUgbmVuIG5ldHRlbiBUdWVyc3RvcHBlciBkcmF1cywgR3JpbW1pPyA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZlcmthdWZzYW56ZWlnZSAoSGVsdmEsIDE1LiBKdW4gMTk5OCwgMjI6MTA6NDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5NzMzNDEzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTczMzM0NDEKb2ssIHp1ciBLbGFyc3RlbGx1bmcgRGlzZSBGcmV1bmRlIHZvbiBtaXIgaGFiZW4gbmljaHQgc292aWVsIEFobnVuZywgdW5kIGRlcgpQcmVpcyBpc3QgYXVzZHJ1ZWNrbGljaCBWQiwgZC5oLiwgd2VubiBqZW1hbmQgbnVyIDgwMCBETSBiaWV0ZW4gd2lsbCwKc29sbC9rYW5uIGVyIGphIHRyb3R6ZGVtIGFucnVmZW4gdW5kIHZlcmhhbmRlbG4uIApIZWx2YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUzogMzJNQiBQUzIgUkFNIDYwbnMgKE9ya3RvZXRlciwgMTYuIEp1biAxOTk4LCAxNToyMjoyOCk6CnN1Y2hlIGViZW4gc29sY2hlcywgMiBtYWwgYWxzbyBmdWVyIGVpbmUgQmFuay4gU2VsYnN0cmVkZW5kIG1vZWdsaWNoc3QKZ3VlbnN0aWcuIEFuZ2Vib3RlIGJpdHRlIHBlciBtYWlsIGFuIG1pY2guCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGVsbmV0IGZ1ZXIgYW1pZ2EgKEdub21lLCAxNi4gSnVuIDE5OTgsIDIwOjQ1OjA0KToKbW9pbiwKCmljaCBiaW4gc2Nob24gc2VpdCBnZXJhdW1lciB6ZWl0IGF1ZiBkZXIgc3VjaGUgbmFjaCBlaW5lbSBfdmVybnVlZnRpZ2VuXwp0ZWxuZXQgZnVlciBhbWlnYS4gd2VkZXIgQW1UZWxuZXQsIEFtaVRlbCwgRENUZWxuZXQgbm9jaCBkYXMgaGF1c2VpZ2VuZQp0ZWxuZXQgdm9uIEFtaVRDUC9JUCBrb25udGVuIG1pY2ggdWViZXJ6ZXVnZW4gKG9id29obCBpY2ggbWl0IGxldHp0ZXJlbQpzcGllLi4uIGFlaC4uIGFyYmVpdGUgOy0pKS4Ka2VubnQgamVtYW5kIGVpbmVuIHJpY2h0aWcgZ3V0ZW4gdGVsbmV0LWNsaWVudCwgc28gd2FlciBpY2ggaWhtIGZ1ZXIKamVkZW4gaGlud2VpcyBkYW5rYmFyLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llc28gZGFzIE1HIHVudGVuIHdhciAoV29vZHksIDI0LiBKdW4gMTk5OCwgMTI6NTM6MjgpOgp+IyEgcm49Sm9mIHJ0PTg5ODY4NDI5MSByZz1iZWthbm50bWFjaHVuZ2VuCn4jISB0aWQ9ODk4Njc0OTE3CkFkIFNDU0kgdW5kICJtaXQgVURNQSBwYXNzaWVydCBzb3dhcyBuaWNodCI6IERhcyBTTCB1bmQgZXRsaWNoZQphbmRlcmUgUmVjaG5lciBoYXR0ZW4gc293YXMgbm9jaCBuaWUsIGVnYWwgb2IgQWRhcHRlYyBvZGVyIE5DUi4KU0NTSSB3YXIgaGllciBiaXNoZXIgaW1tZXIgYnJhdiwga29tcGF0aWJlbCwgc3RhYmlsIHVuZCBzY2huZWxsLgpEaWVzZXMgVmVydHJhdWVuIGluIGVpbmUgbmV1ZW4gVGVjaG5vbG9naWUgd2llIFVETUEgaXN0IGZpbmRlCmljaCBzY2hvbiB6aWVtbGljaCBibGF1YWV1Z2lnIDopCgotPiBqYW1tZXJsYXBwZW4Kd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VpdGVyIChNeXN0ZXJpb3VzLCAyNC4gSnVuIDE5OTgsIDE3OjA3OjE1KToKbmkgaGFvIQoKamFqYSwgbnUgbWVja2VydCBuaWNoIGdsZWljaCwgaWNoIG11c3MgaGllciAoZXJzdG1hbCkgbWl0IGZyb250cGFnZSBhbHMKd2ViLXNlcnZlci9jb21wb3NlciBhcmJlaXRlbi4uLgoKYWxzby4uLgoKaGF0IGplbWFuZCBzY2hvbm1hbCBtaXQgd2ViYm90cyBnZWFyYmVpdGV0Pz8KYmVpIG1pciBmdW56dCBkYXMgbmV0IHVuZCBpY2ggdmVybXV0ZSwgZGFzcyBkYXMgaXJnZW5kd2llIGFuIGRlciBzZXJ2ZXItY29uZmlnCmxpZWd0Li4uCgp3ZXIgYWxzbyBzY2hvbm1hbCB3YXMgZ2VtYWNodCBoYXQsIGRlbS9kZXIgZ2ViIGljaCBhdWNoIGdlcm4gd2VpdGVyZSBpbmZvcy4uCgpkdWlpaQoKZEEgbVlzVGEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDb21waWxlciBnZXN1Y2h0IChHd3lud2FpdGVyLCAyNC4gSnVuIDE5OTgsIDE3OjM4OjM5KToKfiMhIHJuPUFnb255IHJ0PTg5NzI5MTgxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU5NjIwNjIKSGkgUGF0cnluLApBbHMgU29mdHdhcmUtIHVuZCBob2ZmZW50bGljaCBhdWNoIE9TLVVlYmVyc2V0emVyIG1pdCB1bmQgZnVlciBBbWlnYSAoZGVubiBlcwpnaWJ0IGphIGR1cmNoYXVzIGltbWVyIHdpZWRlciBuZXVlIFNhY2hlbiwgZXR3YSBHZW5ldGljIFNwZWNpZXMgYWxzIFNwaWVsCihzb3dpZSBQb3J0aWVydW5nZW4gdm9uIE15c3QsIFF1YWtlIGV0YykpIG11c3MgaWNoIHp1bSBBbWlnYSBkb2NoIG5vY2ggbWFsIHdhcwpzYWdlbjoKTmFjaGRlbSB6d2VpIEVpZ2VudHVlbWVyIChDb21tb2RvcmUgdW5kIEVzY29tKSBhbSBQQy1NYXJrdCBrYXB1dHQgZ2VnYWFuZ2VuCnNpbmQsIGlzdCBkZXIgQW1pZ2EgamV0enQgaW4ga29tcGV0ZW50ZW4gSGFlbmRlbiwgc293b2hsIHdhcyBFaWdlbnR1ZW1lcgooR2F0ZXdheTIwMDAsIGJlaSBkZXIgRXhwbG9ycmVyLVNhbW1lbGtsYWdlIGdlZ2VuIE0kIGRhYmVpKSBhbHMgYXVjaCB3YXMKRW50d2lja2xlciAoekIgZGllIFNwaXR6ZSBkZXMgTjY0LUVudHdpY2tsZXJ0ZWFtcywgcGx1cyBDYXJsIFNhc3NlbnJhdGggZXRjKQphbmdlaHQuIERpZSBQcmVpc2UgZGVzIE9TNC1BbWlnYXMgc2luZCBkdXJjaCBLb21wYXRpYmlsaXRhZXQgenUKeDg2LUFyY2hpdGVrdHVyIHVuZCBlbnRzcHJlY2hlbmRlbiBLYXJ0ZW4gbWFzc3ZvbGwgLSB1bmQgbWl0IE9TNSBrb21tdCA5OCBkYW5uCmF1Y2ggZnVlcnMgUHVibGlrdW0gd2llZGVyIGVpbiBTdXBlcmNvbXB1dGVyIG1pdCBTdXBlcmJldHJpZWJzc3lzdGVtIHp1IGVpbmVtCnNlaHIgZ3V0ZW4gUHJlaXMuCgpHcnVzcywgR3d5biogKEFtaWdhLVVzZXIgdW5kIC1VZWJlcnNldHplcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpZXNvIGRhcyBNRyB1bnRlbiB3YXIgKFRyYW5jZWZlYXIsIDI0LiBKdW4gMTk5OCwgMTc6NDM6NDApOgp+IyEgcm49V29vZHkgcnQ9ODk4Njg1NjA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODY3NDkxNwpEaWUgTWVsZHVuZ2VuIGtvbW1lbiBtaXIgYWxsZSB1dXV1bmhlaW1saWNoIGJla2FubnQgdm9yIDotKSBVZWJlcnBydWVmdCBtYWwKZXVyZSBUZXJtaW5hdG9yZW4uLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGVsbmV0IGZ1ZXIgYW1pZ2EgKEd3eW53YWl0ZXIsIDI0LiBKdW4gMTk5OCwgMTc6NTM6NTMpOgp+IyEgcm49R25vbWUgcnQ9ODk4MDIyNzA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODAyMjcwNApNb2luIEdub21lLAoKSGFzdCBEdSBEaXIgc2Nob24gZGllIG5ldWUgTWlhbWktVm9sbHZlcnNpb24gYW5nZXNjaGF1dD8KQW5zb25zdGVuIGJpbiBpY2ggKHdlbm4gaWNoIG5pY2h0IGdlcmFkZSBub3RmYWxsc3dlaXNlIEV3YW4gZnVlciBXaW4gYmVudXR6ZSkKYXVjaCBtaXQgZGVtIFRlbG5ldCB2b24gQW1pVENQIHVudGVyd2VncyB1bmQgd2FydGUgYW5zb25zdGVuIGF1ZiBkaWUgbmV1ZQpBbWlnYS1Tb2Z0d2FyZSB2b24gZGVyICJDb21wdXRlcic5OCIgaW0gTm92ZW1iZXIgaW4gS29lbG4uIERhIHNvbGx0ZSBhdWNoCmRpZXNlIEZyYWdlIGJlYW50d29ydGV0IHdlcmRlbi4uLgoKR3J1c3MsIEd3eW4qLCBBbWlnYS1Vc2VyIHVuZCAtVWViZXJzZXR6ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaWVzbyBkYXMgTUcgdW50ZW4gd2FyIChKaW1kaWdyaXosIDI0LiBKdW4gMTk5OCwgMTg6MTI6MzEpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTg3MDMwMjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Njc0OTE3CgpJY2ggaG9lciBzY2hvbiBlaW4KICJXYXMgZnVlciBUZXJtaW5hdG9yZW4gPyAiICpkdWNrKiA7LSkpCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpZXNvIGRhcyBNRyB1bnRlbiB3YXIgKFJvY2h1cywgMjQuIEp1biAxOTk4LCAxODoyNjo1OCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODk4NzA0NzUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODY3NDkxNwpBYmVyIG5pY2h0IHZvbiBKb2YuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQ29tcGlsZXIgZ2VzdWNodCAoUGF0cnluLCAyNC4gSnVuIDE5OTgsIDE5OjEwOjI5KToKfiMhIHJuPUd3eW53YWl0ZXIgcnQ9ODk4NzAyNzE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5NTk2MjA2MgphbHNvIGdhbnogZWhybGljaCwgaWNoIHdhciBhdWNoIG1hbCBhbWlnYS1mYW4gdW5kIHdlaXNzIHNvbWl0IGR1cmNoYXVzCmF1Y2ggbWl0IHZlcm51ZW5mdGlnZW4gYXJndW1lbnRlbiBhbnRpLWFtaWdhIHZvcnp1Z2VoZW4gOikKZGFzcyBkZXIgbWFya3QgYmlzIHp1bSB1bnRlcmdhbmcgdm9tIGNvbW1vZG9yZSBiZWltIGFtaWdhIG5pY2h0IHZvZWxsaWcKenVzYW1tZW5nZWJyb2NoZW4gaXN0LCBsaWVndCBhbiBlYmVuIHNvbGNoZW4gbGV1dGVuIHdpZSBkaXIsIGRpZSBkZW0KY29tcHV0ZXIgZGllIHRyZXVlIGhhbHRlbi4gZGFnZWdlbiBpc3QgcHJpbnppcGllbGwgbmljaHRzIGVpbnp1d2VuZGVuLAphYmVyIGF1ZiBkYXVlciBrYW5uIHNvZ2FyIGRpZXNlcyBzeXN0ZW0gZGFtaXQgbmljaHQgdWViZXJsZWJlbi4KY29tbW9kb3JlIGhhdCBkZW4gYW1pZ2EgbWVociBvZGVyIHdlbmlnZXIga29tcGxldHQgdm9uIGVpbmVyIGFuZGVyZW4KZmlybWEgYWJnZWthdWZ0IHVuZCBrbmFwcCAxMCBqYWhyZSBsYW5nIG5peCBkcmFuIGdlbWFjaHQ6IGJlaSBkZW0Kc2NobmVsbGxpZWJpZ2VuIGNvbXB1dGVybWFya3QgbmF0dWVybGljaCBhdWNoIGZ1ZXIgZGllIGRhbWFsaWdlCnN1cGVybWFzY2hpbmVuIHRvZXRsaWNoLiBkYXMgbGV0enRlIGF1ZmJldW1lbjogYW1pZ2EgNjAwLzEyMDAvNDAwMCwKbmEgamEsIGljaCBsYWNoIG1pY2ggaGV1dCBub2NoIHNjaGxhcHAgKG5hdHVlcmxpY2ggbWl0IG5lciB0cmFlbmUgaW0Ka25vcGZsb2NoKS4gZGllIGRhcmF1ZiBmb2xnZW5kZW4gamFocmUgd3VyZGVuIGhvY2hoYWx0ZXBhcm9sZW4gb2huZQplbmRlIGdlc2NobWllZGVkLCBhJ2xhIHdvbGx0IGlociBkZW4gdG90YWxlbiBzeXN0ZW1rcmllZz8gd2lyIGtvbW1lbiB3aWVkZXIuCm5hIGphLCBkYXJhbiBnbGF1YmVuIGluendpc2NoZW4gd29obCBub2NoIDEyIG1hbm4gdW5kIGluIGRpciBoYWJlbiB3aXIgc29nYXIKZWluZW4gaW0gbXVkLiBlcyBoYXQgc2ljaCBlaWdlbnRsaWNoIG5pY2h0IHZpZWwgZ2VhZW5kZXJ0Ogogdm9sbG11bmRpZ2UgdmVyc3ByZWNodW5nZW4gYW5ncm8sIG1laHIgcmVjaHRzdHJlaXRlcmVpbiB1bSBwYXRlbnRlLCBkaWUKa2VpbmVuIHBmZW5uaWcgbWVociB3ZXJ0IHNpbmQsIGFscyB0ZWNobmlzY2hlIGlubm92YXRpb25lbiB1LnMudy4KZ2xhdWJzdCBkdSBlaHJsaWNoLCBkYXNzIGRpZSBwYWFyIGxldXRlLCBkaWUgZGVyemVpdCBub2NoIGZ1ZXIgYW1pZ2EKZW50d2lja2VsbiBnZWdlbiBkaWUgbWFzc2UgYW4gdW51bnRlcmJyb2NoZW4gYXJiZWl0ZW5kZW4gcGMtZW50d2lja2xlcm4KYW5rb21tdD8gZGFzcyBkaWUgcGFhciBhbWlnYS1sZXV0ZSBiZXNzZXJlIGthcnRlbiBoYWJlbiBhbHMgZGllCmFwcGxlLWVudHdpY2tsZXIsIGRpZSBzY2hvbiBzZWl0IGphaHJlbiBuaWNodCB2ZXJzdGVoZW4sIHdhcnVtIGlocmUKdGVjaG5pc2NoIGJlc3NlcmVuIGtpc3RlbiBpbW1lciBtZWhyIGlucyBoaW50ZXJ0cmVmZmVuIGdlcmF0ZW4/Cm5hIGphLCBpY2ggd3VlbnNjaCBkZW0gYW1pZ2EgdmllbCBlcmZvbGcsIGV2dGwuIGdpYnQgZXMgamEgbm9jaApnZW51ZyBmYW5zIHVtIHdlbmlnc3RlbnMgZGllIGVudHdpY2tsdW5nc2tvc3RlbiB3aWVkZXIgZWluenVzcGllbGVuLAphdWYgZGllIGRhdWVyIGhhdCBlciBrZWluZSBjaGFuY2UgbWVoci4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IENvbXBpbGVyIGdlc3VjaHQgKERob2pha3QsIDI0LiBKdW4gMTk5OCwgMTk6NTM6MDIpOgp+IyEgcm49UGF0cnluIHJ0PTg5ODcwODIyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTU5NjIwNjIKRWluZXMgdm9ybmV3ZWc6IEZ1ZXIgd2VuIGVyb2VydGVydW5nZW4gdWViZXIgZGllIHF1YWxpdGFldCB2b24KQmV0cmllYnNzeXN0ZW1lbiBuaWNodCBtYWwgVW50ZXJoYWx0dW5nc3dlcnQgaGFiZW4sIGRlciBzb2xsdGUgZGFzCmhpZXIgbmljaHQgbGVzZW4uCkFsc28gZ2FueiBrYW5uIGljaCBQYXRyeW4gZGEgbmljaHQgenVzdGltbWVuLgpEaWUgRnJhZ2UgaXN0IGRvY2g6IHdhcnVtIGdpYnQgZXMgbm9jaCByZWxhdGl2IHZpZWxlIFVzZXIsIGRpZSBkZW4KQW1pZ2EgYXVjaCBoZXV0ZSBub2NoIHZlcndlbmRlbiAoaW0gR2VnZW5zYXR6IHp1bSBTVCkuCkRhcyBsaWVndCBtRSBhbiAzIERpbmdlbjogQW4gZGVyIGdyb3NzZW4gYXVzYmF1ZmFlaGlna2VpdCBkZXMgT1MsCmRpZSBlaW5mYWNoIGVyd2VpdGVydW5nZW4gd2llIGRhcyBtYWdpYyB1c2VyIGludGVyZmFjZSBlcm1vZWdsaWNodAooaW0gZ2VnZW5zYXR6IHp1IE0kIGhhdCBjb21tbyBuYWVtbGljaCBudXIgZGllIGlubmVyc3RlbiBvcy1mdW5rdGlvbmVuCm5pY2h0IGRva3VtZW50aWVydCksIGFuIGRlciByZWxhdGl2ZW4gYmVudXR6ZXItIHVuZCBwcm9ncmFtbWllcmZyZXVuZC0KbGljaGtlaXQgKHdlbm4gaWNoIG51ciBtYWwgd2FzIGZpeCBmdWVyIG1pY2ggaGFiZW4gd2lsbCwgZGFubiBrYW5uIGljaApoYWx0IGF1Y2ggbWFsIHNjaG5lbGwgYW4gZGVuIGludGVycnVwdHZla3RvcmVuIHNwaWVsZW4gLSB3aWxsIGhlaXNzZW46CmRhcyBpc3QgZWluIGJhc3RlbC1PUywgc3RhZXJrZXIgYWxzIGxpbnV4LCB3ZWlsIGRlciBrcmFtIG5pY2h0IGdlZ2VuLQplaW5hbmRlciBhYmdlc2Nob3R0ZXQgaXN0LCBhbmRlcmVyc2VpdHMgaXN0IGdyYWQgZGVzd2VnZW4gZGFzIG5pY2h0IGZ1ZXIKc28gcmljaHRpZyB6dXZlcmxhZXNzaWdlIHNhY2hlbiB3aWUgZmlyZXdhbGxzIG9kZXIgc28genUgYmVudXR6ZW4pCnVuZCBhbiBkZXIgbGF1ZmZhZWhpZ2tlaXQgZGVyIGJlc3RlaGVuZGVuIHNvZnR3YXJlYmFzaXMuClVuZCBkYXNzIHNvIGxhbmdlIG5hY2ggYXVzc2VuIHZvbiBzZWl0ZW4gZGVyIGluaGFiZXJmaXJtYSBuaXggcGFzc2llcnQKaXN0IGxpZWd0IGViZW4gZGFyYW4sIGRhc3MgamV3ZWlscyBldHdhIDEgamFociBiaXMgenVtIGZpcm1lbnZlcmthdWYKbm9ldGlnIHdhciB1bmQgamVkZXIgbmFjaGVpZ25lciBlcnN0IG1hbCAxIGphaHIgZGVuIHN0YW5kIHVuZCBkaWUKbW9lZ2xpY2hrZWl0ZW4gZWluZXMgbmV1ZW4gYW1pZ2EgYW5hbHlzaWVydGUuIE1hY2h0IDQgamFocmUuIEljaAp3ZXJkZSBqYSBzZWhlbiwgd2FzIG5hZWNoc3RlcyBqYWhyIGF1cyBkZW4gYW5rdWVuZGlndW5nZW4gZ2V3b3JkZW4gaXN0LAp1bmQgd2VubiBpY2ggd2lya2xpY2ggZnVlciBkZW4gam9iIGF1ZiBhcmJlaXQgbmVuIHg4Ni1wYyBicmF1Y2hlIHdpcmQKaGFsdCBlaW5lciB6dXNhZXR6bGljaCBhbmdlc2NoYWZmdC4gTWl0IGRlbiBhbmt1ZW5kaWd1bmdlbiBzaW5kIHNpZQpqZWRlbmZhbGxzIGluIGd1dGVyIGdlc2VsbHNjaGFmdCwgTSQga2FubiBkYXMgYXVjaCBnYW56IGd1dC4KQWxsZXJkaW5ncyBoYWJlbiBzaWNoIGFuZGVyZSBmaXJtZW4gaW4gZGllIGJlc3RlaGVuZGUgbHVlY2tlIGdlc2V0enQKdW5kIGJpZXRlbiBoYWx0IHNvbGNoZSBzYWNoZW4gd2llIGRlbiBEcmFjbyAoYW1pZ2EtY2xvbmUpIG9kZXIKUFBDLWJvYXJkcyBhbi4KWnVtaW5kZXN0IGluIERldXRzY2hsYW5kIHVuZCBFbmdsYW5kIGhhdCBkZXIgQW1pZ2EgZWluZSB6aWVtbGljaCBicmVpdGUKbnV0emVyYmFzaXMsIHVuZCBhdWYgZGllIGZyYWdlIGltIEJla2FubnRlbmtyZWlzLCBvYiBkaWUgc2ljaCBuZW4gbmV1ZW4KaG9sZW4gd3VlcmRlbiBoYXQgZXR3YSBkaWUgaGFlbGZ0ZSBqYSBnZXNhZ3QsIGRpZSBhbmRlcmUgaGFlbGZ0ZSBuZWluCnVuZCBlaW5lciAnd2VubiBlcyBtZWluZW4gcmF5dHJhY2VyIGZ1ZXIgZGllIGtpc3RlIGRhbm4gZ2lidCB1bmQgZGVyCmRhIGRyYXVmIHNjaG5lbGxlciBpc3QgYWxzIGF1ZiBtZWluZW0gamV0emlnZW4gcGVudGl1bSwgamEnLgpVbmQgaGllciBpbSBtdWQgZ2lidHMgbWVociBhbHMgZWluZW4gQW1pZ2FudXR6ZXIgKGljaCB2ZXJ3ZW5kZSBhYnNpY2h0bGljaApuaWNodCBkYXMgd29ydCAnbm9jaCcpLgpLaGkgImEgdGhvdXNhbmQgbGVtbWluZ3MgY2FudCBiZSB3cm9uZz8iIGRhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQ29tcGlsZXIgZ2VzdWNodCAoR25vbWUsIDI0LiBKdW4gMTk5OCwgMjM6MjU6MjQpOgp+IyEgcm49RGhvamFrdCBydD04OTg3MTA3ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCmRlbSBrYW5uIGljaCBudXIgYmVpcGZsaWNodGVuLgp3YXJ1bSBnaWJ0IGVzIHdvaGwgbm9jaCByZWxhdGl2IHZpZWxlIGFtaWdhLXVzZXI/IGJlc3RpbW10IG5pY2h0LCB3ZWlsCmRhcyBzeXN0ZW0gc28gc2NobGVjaHQgdW5kIGRpZSBzb2Z0d2FyZSBtaWVzIGlzdC4Ka29tcGV0ZW50ZSBkcml0dGFuYmlldGVyIHVuZCBlbnR3aWNrbGVyIChwaGFzZTUsIGhhYWdlICYgcGFydG5lciBldGMuKQpnaWJ0IGVzIG5vY2ggenVoYXVmLCBlcyBnaWJ0IG1pdHRsZXJ3ZWlsZSBtZWhyIFBEIGFscyBrb21tZXJ6aWVsbGUgc29mdHdhcmUKdW5kIHZpZWxlcyBkYXZvbiBpc3QgZ2FyIG5pY2h0IG1hbCBzY2hsZWNodC4gendhciBuaWNodCBwaGFudGFzdGlzY2gsCmFiZXIgbGViZW5zZXJoYWx0ZW5kLgoKc28gd2hhdD8KCmduT21lIHNjaHdpbW10IGdlZ2VuIGRlbiBzdHJvbS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpZXNvIGRhcyBNRyB1bnRlbiB3YXIgKEpvZiwgMjUuIEp1biAxOTk4LCAwOTozNzozMCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg5ODcwMzAyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTg2NzQ5MTcKCiBBbiBqZWRlbSBkZXIgYmVpZGVuIENvbnRyb2xsZXIgaGFlbmd0IGdlbmF1IDEgUGxhdHRlLCBqZWRlIGRpZXNlciBQbGF0dGVuCmlzdCB0ZXJtaW5pZXJ0LCBkaWUgQ29udHJvbGxlciBzaW5kIGVzIGViZW5mYWxscyAoZXMgaGFlbmd0IGphIGV4dGVybgpuaXggZHJhbikuIEFsbGUgNCBLb21iaW5hdGlvbmVuICJQbGF0dGUgbGllZmVydCBUZXJtUHdyIiBvZGVyICJQbGF0dGUKbGllZmVydCBrZWluIFRlcm1Qd3IiLCBkaWUgbWFuIG1pdCAyIFBsYXR0ZW4gaGVyc3RlbGxlbiBrYW5uLCB3dXJkZW4KZWJlbmZhbGxzIGdldGVzdGV0LiBJbSBkZXJ6ZWl0aWdlbiBadXN0YW5kIGxhZXVmdCBlcyB6d2FyIG5pY2h0IHdpcmtsaWNoCmd1dCB1bmQgc3RhYmlsLCBhYmVyIGJlc3NlciB1bmQgc3RhYmlsZXIgYWxzIGluIGRlbiAzIGFuZGVyZW4gVmFyaWFudGVuLgpVbmQgamEsIHdpciBoYWJlbiBhdWNoIGFsbGUgbW9lZ2xpY2hlbiBLb21iaW5hdGlvbmVuLCB3aWUgbWFuIGRpZSBiZWlkZW4KRGlza3MgYW4gMiBOQ1JzIHVuZCAxIEFkYXB0ZWMgMjk0MCBhbnNjaGxpZXNzZW4ga2FubiwgYXVzcHJvYmllcnQgLQpkYXMgd2FyIGxlaWNodCwgaW4gZGVuIG1laXNzdGVuIEtvbmZpZ3VyYXRpb25lbiBmdWhyIGRlciBSZWNobmVyIG5pY2h0Cm1hbCBob2NoIC4uLgogV2VubiBtYW4gbnVuIG1hbCBrdXJ6IG5hY2hyZWNobmV0LCB3aWUgdmllbGUgS29tYmluYXRpb25lbiB3aXIgaW5zZ2VzYW10CmF1c3Byb2JpZXJ0IGhhdCwgdmVyc3RlaHQgbWFuIHZpZWxsZWljaHQgZGllIEludGVuc2l0YWV0IG1laW5lcyBXdW5zY2hlcywKZGllc2UgUGxhdHRlbiB1bmQgQ29udHJvbGxlciBhdXMgZGVtIFJlY2huZXIgenUgZW50ZmVybmVuIHVuZCBkdXJjaAplcndhcyB3ZW5pZ2VyIHByb2JsZW1hdGlzY2hlcyB6dSBlcnNldHplbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpZXNvIGRhcyBNRyB1bnRlbiB3YXIgKFRyYW5jZWZlYXIsIDI1LiBKdW4gMTk5OCwgMTQ6NDM6MjYpOgp+IyEgcm49Sm9mIHJ0PTg5ODc2MDI1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTg2NzQ5MTcKSG1qYS4uLiBkZW4gQWRhcHRlYyBhbiBlaW4gRW5kZSwgZGllIGJlaWRlbiBQbGF0dGVuIGFuIGRhcyBhbmRlcmUsClRlcm1pbmllcnVuZyBhbiBkZXIgRW5kcGxhdHRlIGF1cyB1bmQgZGFubiBuZW4gKmFrdGl2ZW4qIFRlcm1pbmF0b3IgZHJhdWYuLi4/CkFjaGphLCBoYWJ0IGlociBtYWwgZGllIEthYmVsIGF1c2dld2VjaHNlbHQ/Cgp0ZiAoaGF0IGRhcyBTcGllbGNoZW4gdWViZXIgVGFnZSBhbiBlaW5lbSBOZXR3YXJlLVNlcnZlciBkdXJjaGdlbWFjaHQgLSBhbQpFbmRlIGxhZ3MgYW0gS2FiZWwuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaWVzbyBkYXMgTUcgdW50ZW4gd2FyIChHcmltbWJvcm4sIDI1LiBKdW4gMTk5OCwgMTY6NDE6MzIpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTg3Nzg2MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Njc0OTE3CktlaW5lIENoYW5jZS4gU28gZ2VodCBkYXMgbmljaHQuCklociBoYWJ0IGRpZSBaaWVnZSB1bmQgZGllIHNjaHdhcnplbiBLZXJ6ZW4gdmVyZ2Vzc2VuLiBLZWluZSBBaG51bmcgdm9uClNDU0kuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0c2NhcGU0IG5ld3NyZWFkZXIgKFllbmRpLCAyNS4gSnVuIDE5OTgsIDE5OjIwOjA1KToKS2FubiBtaXIgamVtYW5kIHNhZ2VuLCB3aWUgaWNoIGltIE5ldHNjYXBlNC4wNSBuZXdzcmVhZGVyIGVpbiBraWxsIGZpbGUgbWl0CkF1dG9yZW5uYW1lbiBhbmxlZ2VuIGthbm4/IEFsbG1hZWhsaWNoIGJpbiBpY2gncyBsZWlkLi4uCkljaCBoYWJlIG1pdHRsZXJ3ZWlsZSBzY2hvbiBzYWVtdGxpY2hlIHB1bGwgZG93biBtZW51cyBmdWVuZmZhY2ggZHVyY2hnZXNlaGVuLAp1bmQgbGFuZ3NhbSBnbGF1YmUgaWNoLCBkYXNzIGVzIGtlaW5lIGtpbGwgZmlsZSBGdW5rdGlvbiBpbSBOZXdzcmVhZGVyIGdpYnQuCipzZXVmeioKVW5kIGVyemFlaGx0IG1pciBiaXR0ZSBuaWNodCwgaWNoIHNvbGxlIHBpbmUsIGVsbSwgZW1hY3Mgby4gYWUuIG5laG1lbiEKClllbmRpLAogICAgICAgU1BBTS1nZW5lcnZ0CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHNjYXBlNCBuZXdzcmVhZGVyIChHcmltbWJvcm4sIDI1LiBKdW4gMTk5OCwgMjA6MDY6MzEpOgp+IyEgcm49WWVuZGkgcnQ9ODk4Nzk1MjA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODc5NTIwNQpOZXZlci4gcGluZSBpc3QgZWluIGxhdXNpZ2VyIG5ld3NyZWFkZXIsIGVsbSBpc3Qgc2ljaGVyIG5pY2h0IHdlc2VudGxpY2gKYmVzc2VyLCB1bmQgZW1hY3MgYWJzb2x1dCB1ZWJlcmRpbWVuc2lvbmllcnQuCk5pbW0gdGluLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXRzY2FwZTQgbmV3c3JlYWRlciAoUm9uZGEsIDI1LiBKdW4gMTk5OCwgMjE6MDQ6MzcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg5ODc5Nzk5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTg3OTUyMDUKSG1tLCBpY2ggaGFiZSBsZWlkZXIgYXVjaCBub2NoIGtlaW4gS2lsbGZpbGUgZ2VmdW5kZW4gOiggLSBkdWVyZnRlIGRhYmVpIHNjaG9uCm1laHIgYWxzIGZ1ZW5mbWFsIGR1cmNoIGRpZSBNZW51ZXMgc2Vpbi4uLiBnYWJzIHNvIHdhcyBzY2hvbiBqZW1hbHMgYmVpCk5ldHNjYXBlPwoKUm9uZGEgKkluZm9zIGRhaGVyIGJpdHRlIGF1Y2ggYW4gbWljaC4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldHNjYXBlNCBuZXdzcmVhZGVyIChEZW50aSwgMjUuIEp1biAxOTk4LCAyMToyMzo1Nyk6Cn4jISBybj1Sb25kYSBydD04OTg4MDE0Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Nzk1MjA1CgpIbW0sIGFscyBkYW1hbHMgTmV0c2NhcGUgNCByYXVza2FtLCBoYXR0ZSBpY2ggc28gd2FzIGdlZnVuZGVuLCBuYW5udGUgc2ljaCAKTWFpbGZpbHRlciBvZGVyIHNvLCBkYW1pdCBrYW5uIG1hbiBlaW5lcnNlaXRzIG1haWxzIHNvcnRpZXJlbiwgb2RlciBzaWUgCmdsZWljaCBsb2VzY2hlbiBsYXNzZW4sIHdvIGRhcyBnZW5hdSBpc3QsIHdlaXNzIGljaCBuaWNodCBtZWhyLCBtdWVzc3RlIGlobgptaXIgaGFsdCBub2NoIG1hbCBwcml2YXQgcnVudGVyemllaGVuLgpBY2ggamEsIGRhcyB3YXIgaW4gZGVyIFdpbmRvd3N2ZXJzaW9uICgzMiBCaXQpLgoKRGVudGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldHNjYXBlNCBuZXdzcmVhZGVyIChSb25kYSwgMjUuIEp1biAxOTk4LCAyMToyOTo1OSk6Cn4jISBybj1EZW50aSBydD04OTg4MDI2Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Nzk1MjA1Ck9rLCBkaWUgTWFpbGZpbHRlciBnZWhlbiwgYWJlciBzbyBlaW4gc3Rpbmtub3JtYWxlcyBLaWxsZmlsZSBnZWh0IGxlaWRlcgphbnNjaGVpbmVuZCBuaWNodC4gQWxzbyBmdWVyIGdhbnogYmVncmVuenRlIEdydXBwZW4ga2FubiBtYW4gZGFtaXQgTWFpbApmaWx0ZXJuLgpLYW5uIGVpbiBVbml4IGRhcyBuaWNodCB0ZWlsd2Vpc2UgYXVjaCBzbywgZGFzcyBlbnRzcHJlY2hlbmRlIE1haWxzIGdhciBuaWNodAptZWhyIHBlciBQb3AgZ2Vob2x0IHdlcmRlbj8KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXRzY2FwZTQgbmV3c3JlYWRlciAoWmFybml5YSwgMjYuIEp1biAxOTk4LCAwODo0ODozNSk6Cn4jISBybj1Sb25kYSBydD04OTg4MDI5OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Nzk1MjA1CkhtbW0gYWxzbyBpY2ggd3Vlc3N0IGZ1ZXIgbWFpbHMgZGEgZWluZW4gdW13ZWcuIFdlbm4gbWFuIGRpZSBNYWlsIGF1ZiBlaW5lbQp1bml4c2VydmVyIGtyaWVndCwgZGFubiBrYW5uIG1hbiBtaXR0ZWxzIHByb2NtYWlsIGRpZSBtYWlsIGRpcmVrdCBiZWkgYW5rdW5mdApzb3J0aWVyZW4uIERhIER1IGJlaW0gcG9wcGVuICh3aWUgaWNoIGRhcyB2ZXJzdGVoZSksIGFiZXIgbnVyIGRhcyAiaW5ib3giCnppZWhzdCB1bmQgZGllIGFuZGVyZW4gdmVyemVpY2huaXNzZSBuaWNodCwga2FubnN0IGR1IGRhbWl0IGVpbmlnZXMgYW4gbXVlbGwKYXVmIGRlciBwbGF0dGUgbGllZ2VuIGxhc3Nlbiwgd2VpbCBkZXIgamEgbmljaHQgbWVociBpbiBkZXIgaW5ib3ggaXN0LiBMZWlkZXIKd2Vpc3MgaWNoIG5jaWh0LCBvYiBlcyBzb3dhcyB3aWUgcHJvY21haWwgYXVjaCBmdWVyIG5ld3MgZ2lidC4gV2VubiBtYW4gc2VpbmUKbmV3cyB1ZWJlciBwaW5lIGxlc2VuIHd1ZXJkZSwgZGFubiBnaW5nZSBlcyB3aWVkZXIgOikKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldHNjYXBlNCBuZXdzcmVhZGVyIChHcmltbWJvcm4sIDI2LiBKdW4gMTk5OCwgMDk6NDk6NDYpOgp+IyEgcm49WmFybml5YSBydD04OTg4NDM3MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Nzk1MjA1CkJlbGllYnQgaXN0IGJlaSBwcm9jbWFpbCwgdW5lcnd1ZW5zY2h0ZSBtYWlsIGluIGRhcyBWZXJ6ZWljaG5pcyAvZGV2L251bGwgenUKc2NocmVpYmVuLiBXb21pdCBtYW4gc2VpbmUgbmV3cyBsaWVzdCBoYXQgbmljaHRzIGRhbWl0IHp1IHR1biBvYiBwcm9jbWFpbAphdWZnZXJ1ZmVuIHdpcmQgb2RlciBuaWNodCwgcHJvY21haWwgd2lyZCBuaWNodCB2b20gTVVBIChtYWlsIHVzZXIgYWdlbnQpCnNvbmRlcm4gdm9tIE1UQSAobWFpbCB0cmFuc2ZlciBhZ2VudCkgYXVmZ2VydWZlbi4gTGF1dCBtYW4gcGFnZSBoYXQgcHJvY21haWwKbmljaHRzIG1pdCBuZXdzZmlsdGVydW5nIHp1IHR1biAoUlRGTSkuIEF1c3NlcmRlbSBpc3QgZGFzIGVoIGlycmVsZXZhbnQsIHVudGVyClVuaXggZ2lidHMgZ2VudWcgZ3V0ZSBuZXdzcmVhZGVyLCBkaWUgYWxsZSBraWxsZmlsZXMgdW50ZXJzdHVldHplbi4gTWljaAp3dW5kZXJ0IGVzIGVpZ2VudGxpY2gga2F1bSwgd2VubiBOZXRzY2FwZSBkYXMgRmlsdGVybiBrb21tZXJ6aWVsbGVyIHBvc3RpbmdzCm5pY2h0IHVudGVyc3R1ZXR6dC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYW1pZ2EgKFNvbmdva3UsIDI2LiBKdW4gMTk5OCwgMTU6NTI6MjYpOgpOb2NoIGVpbiBrbGVpbmVyIEtvbW1lbnRhciB6dW0gdGhlbWEgQW1uaWdhLgpJTUhPIGlzdCBkZXIgQW1pZ2EgZWluZSBkZXIgd2VuaWdlbiBDaGFuY2VuLCBkYXNzIE1TIGlyZ2VuZHdhbm4gbWFsIGVpbmUKcmVpbmdlZmFocmVuIGJla29tbXQuCihkaWUgYW5kZXJlIENhbmNlIGlzdCBBcHBsZSB1bmQgTGludXggaGF0IGVoIGthdW0gZWluIE5vcm1hbGFud2VuZGVyIGRhaGVpbSkKVmVyZGFtbXQgaWNoIHdpbGwgZW5kbGljaCBlaW5lbiByaWNodGlnZW4gQ29tcHV0ZXIgdW5kIG5pY2h0IGRpZXNlbiBNU2Nocm90dC4KLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhbWlnYSAoR3JpbW1ib3JuLCAyNi4gSnVuIDE5OTgsIDE2OjAwOjIyKToKfiMhIHJuPVNvbmdva3UgcnQ9ODk4ODY5MTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpOb2NoIGVpbmUga2xlaW5lIE5hY2hmcmFnZTogV2FzIHZlcnN0ZWhzdCBEdSB1bnRlciAiTm9ybWFsYW53ZW5kZXIiPyBJY2gga2VubmUKZWluaWdlIG5vcm1hbGUgQW53ZW5kZXIsIGRpZSBMaW51eCBkYWhlaW0gaGFiZW4uIEhhbHQgTGV1dGUsIGRpZSBhcmJlaXRlbiB1bmQKbmljaHQgc3BpZWxlbiB3b2xsZW4uCkFscyBTcGllbGVwbGF0dGZvcm0gYXVmIGRlbSBQQyBpc3QgV2luOTUgdW51ZWJlcnRyb2ZmZW4uIEFiZXIgd2VyIHNvd2FzIHdpbGwKZmFlaHJ0IG1pdCBlaW5lciBQbGF5c3RhdGlvbiBlaCBiZXNzZXIuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gSWNoIGJpbiBuYXR1ZXJsaWNoIG5pY2h0IG5vcm1hbCwgYWJlciBpY2ggaGFiZSBhdWNoIExpbnV4IGRhaGVpbS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhbWlnYSAoU29uZ29rdSwgMjYuIEp1biAxOTk4LCAxNjoyMjo0Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk4ODY5NjIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpBbHMgTm9ybWFsYW53ZW5kZXIgdmVyc3RlaGUgaWNoIGRlbiBUeXAsIGRlciBpbiBkZW4gTGFkZW4gZ2VodCB1bmQgZWluZW4KQ29tcHV0ZXIgdmVybGFuZ3QgdW5kIGRhbWl0IG5lIGRvc2UgbWVpbnQgdW5kIGFscyBoY2hzdGVzIGRlciBHZWZ1ZWhsZQpNU29mZmljZSBzaWVodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFtaWdhIChUcmFuY2VmZWFyLCAyNi4gSnVuIDE5OTgsIDE5OjE2OjA0KToKfiMhIHJuPVNvbmdva3UgcnQ9ODk4ODcwOTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgouLi51bmQgZGVyIGRhbWl0IGdsZWljaCBkYXMgYmVsaWVidGUgU3BpZWwgIlNjaHdlcmVyIEF1c25haG1lZmVobGVyIDBFIgptaXRrYXVmdCA6LSkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhbWlnYSAoR3JpbW1ib3JuLCAyNi4gSnVuIDE5OTgsIDIwOjMyOjM4KToKfiMhIHJuPVNvbmdva3UgcnQ9ODk4ODcwOTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpVbmQgd2llIHJlY2h0ZmVydGlnc3QgRHUgRGVpbmUgQW5zaWNodCwgZGFzcyBkaWVzZXIgTm9ybWFsdXNlciBhdWYgZGllIElkZWUKa29tbWVuIGtvZW5udGUsIGFuIEFtaWdhIGF1Y2ggbnVyIHp1IGRlbmtlbj8gRGFubiBlaGVyIE1hYywgdW5kIGV2ZW50dWVsbCBhdWNoCkxpbnV4LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHdpbGwgZWluZSBHcnVwcGUgb3Mua3JpZWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBDb21waWxlciBnZXN1Y2h0IChIaWdobGFuZGVyLCAyOS4gSnVuIDE5OTgsIDExOjUwOjI2KToKfiMhIHJuPVBhdHJ5biBydD04OTg3MDgyMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk1OTYyMDYyCkFlaCAtIGFuZ3JvID09IGVuIGdyb3MsIGRlbmtlIGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGFtaWdhIChTb25nb2t1LCAyOS4gSnVuIDE5OTgsIDEyOjMwOjU3KToKfiMhIHJuPUdyaW1tYm9ybiBydD04OTg4ODU5NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4ODY5MTQ2CldpZSBpY2ggZGFyYXVmIGtvbW1lLCBkYXNzIGVpbiBub3JtIEJlbnV0emVyIGVyaGVyIGFuIGRlbiBBbWlnYSBhbHMgYW4gTWFjIHVuZApMaW51eCBkZW5rdD8KRGllIHNhY2hlIGlzdCBkaWUgZGVuIE1BQyBrZW5uZW4gZGllIG1laXN0ZW4gbGV1dGUgbnVyIGFscyB0ZXVyZQpTY2hyZWlibWFzY2hpbmUgZnVlciBWZXJsYWdlIHVuZCB6ZWl0dW5nZW4gKGd1dCBhYmVyIHp1IHRldWVyIC9zdGltbXQgendhcgpuaWNodCBhYmVyLi4uKQpVbmQgd2VyIHZvbiBkZW4gTm9ybWFsdXNlcm4ga2VubnQgTElOVVg/PyAgTGludXggaXN0IGd1dCBMaW51cyBpc3Qgc3RhYmlsIHVuZApMaW51eCBpc3Qgbm9jaCBlaW4gT1MgZnVlciBGcmVha3MuIApBbGxlIDMgU3lzdGVtZSBzb2xsdGVuIEF1Zmdld2VydGV0IHdlcmRlbiAoYXVmcnVmIGFuIGRpZSBSTCBNYWdpZXIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGFtaWdhIChQYXRyeW4sIDI5LiBKdW4gMTk5OCwgMTM6MDk6MjEpOgp+IyEgcm49U29uZ29rdSBydD04OTkxMTYyNTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4ODY5MTQ2CmljaCB3dXNzdGUgZG9jaCwgZGFzcyBhbGxlIGF1ZiBtZWluZW4gYXJ0aWtlbCBhbnNwcmluZ2VuOiBrbGFwcHQgZG9jaCBpbW1lcgp3aWVkZXIgOikKd2FzIGljaCBhbGxlcmRpbmdzIG5pY2h0IHd1c3N0ZSBpc3QsIGRhc3MgYWxsZSAxMiBhbWlnYS11c2VyIGJlaSB1bnMgaW0gbXVkCnp1IHNlaW4gc2NoZWluZW4gOykKCi0tLS0tLQpwYXRyeW4sIG1hZyBkZW4gYW1pZ2EgZWlnZW50bGljaCwgZmFuZCBkaWUgdXNlciBhYmVyIHNjaG9uIGltbWVyIGV0d2FzIGtvbWlzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGFtaWdhIChBc3RhciwgMjkuIEp1biAxOTk4LCAxMzoyMTo0Nyk6Cn4jISBybj1QYXRyeW4gcnQ9ODk5MTE4NTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpIbW0sIG51ciAxMj8KCkFzdGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBhbWlnYSAoVHJhbmNlZmVhciwgMjkuIEp1biAxOTk4LCAxNDowMzo0OCk6Cn4jISBybj1QYXRyeW4gcnQ9ODk5MTE4NTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpOYSwgZnJ1ZWhlciBlcmthbm50ZSBtYW4gZGllIEFtaWdhIFVzZXIgZGFyYW4sIGRhc3Mgc2llIGRpZSBBZXJtZWwgaG9jaHJvbGx0ZW4KdW5kIGluIEFuZ3JpZmZzcG9zaXRpb24gZ2luZ2VuLCB3ZW5uIGRhcyBXb3J0ICJBdGFyaSIgZXJ3YWVobnQgd3VyZGUgOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYW1pZ2EgKFJhbnRhbnBsYW4sIDMwLiBKdW4gMTk5OCwgMTI6MTE6NDcpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTkxMjE4Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4ODY5MTQ2CkljaCBoYWIgTGludXggZnVlciBlcm5zdGhhZnRlIEFud2VuZHVuZ2VuIHVuZCBXaW4gZnVlciBkYXMgT0UtU3BpZWwuICAgICAKTGludXh4IGlzdCBoYWx0IGVoZXIgd2FzIGZ1ZXIgTWVuc2NoZW4sIGRpZSBnZXJuZSBpbSBXZWIgc3VyZmVuIHVuZCBkZW4KVHJlaWJlciBmdWVyIGlocmUgbmV1ZSBHcmFmaWsvU291bmQgb2RlciB3ZWxjaGUgS0FydGUgYXVjaCBpbW1lciBzdWNoZW4uCgpPZSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4IChHdW5kdXIsIDMwLiBKdW4gMTk5OCwgMjI6MjA6MzYpOgpIaQpKZW1hbmQgZWluIFJlYWRtZSBwYXJhdCB3aWUgaWNoIG5lIGF2bSBmcml0eiBjYXJkIChQQ0kpIHVudGVyIGxpbnV4IHp1bSBsYXVmZW4Ka3JpZWc/Ck9kZXIgbXVzcyBpY2ggZXR3YSB6dWdlYmVuIGRhc3MgaWNoIHp1IGhla3Rpc2NoIHdhcj8KR3J1ZXNzZSB2b24KR3VkbnVyCmFlaCBHdW5kdXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGFtaWdhIChTb25nb2t1LCAgMS4gSnVsIDE5OTgsIDEyOjE5OjAwKToKfiMhIHJuPVBhdHJ5biBydD04OTkxMTg1NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4ODY5MTQ2ClBhdHJ5biBiZXNzZXIgZGllIFVzZXIgc2luZCBrb21pc2NoIGFscyB1ZWJlcmhhdXB0bml4IHp1IGxhY2hlbiAoQW1pZ2EKbGl2ZXMhISkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhbWlnYSAoU29uZ29rdSwgIDEuIEp1bCAxOTk4LCAxMjoxOTo0NCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTg5OTEyMTgyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTg4NjkxNDYKV2VyIGhhdCBnZXJhZGUgQXRhcmkgZ2VzYWd0Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGFtaWdhIChUcmFuY2VmZWFyLCAgMS4gSnVsIDE5OTgsIDE5OjAwOjQzKToKfiMhIHJuPVNvbmdva3UgcnQ9ODk5Mjg4Mzg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODg2OTE0NgpBZWgsIGljaC4gV2llc28/Cgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE1haWxlciBQcm9ibGVtID8gKEVtYmUsICAyLiBKdWwgMTk5OCwgMTY6MjY6MzIpOgp+IyEgcm49WWFyZW4gcnQ9ODk5Mzg4OTU1IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODk4NTU3MTE1Cm5hdCJ1cmxpY2gsCmRhcyBiZXRyaWVic3N5c3RlbSBiZXN0ZWh0IG51ciBhdXMgZGVtIGtlcm5lbCwKZGVubiBhbGxlcyBhbmRlcmUga2FubiBpY2ggYXVzdGF1c2NoZW4sIGFiZXIgc29sYW5nIGljaCBkZW4gc29sYXJpcy1rZXJuZWwKdmVyd2VuZGUsIGlzIGRhcyBiZXRyaWVic3N5c3RlbSBzb2xhcmlzLgp3ZW5uIGljaCBkZW4gbGludXgta2VybmVsIHZlcndlbmRlLCBhYmVyIHNvbGFyaXMtYmluYXJpZXMsCmRhbm4gaXMgbGludXggbWVpbiBiZXRyaWVic3N5c3RlbSwgc2VsYnN0IHdlbm4gNjAlIGRlciBiaW5hcmllcwp2b24gc29sYXJpcyBzaW5kLiAoYWJnZXNlaG4gZGF2b24gZGFzIHNvd2FzIGltIGZhbGwgdm9uIGxpbnV4IHVuc2lubiB3ImFyZSkKCihkZXN3ZWdlbiBnaWJ0IGVzIHpiLiBsaW51eCBudXIgZWlubWFsLCAKZWluIGZyZWllcyBic2QgYWJlciBkcmVpIG1hbCAoZnJlZS0sIG5ldC0gdW5kIG9wZW5ic2QpKQoKZ3J1c3MsIGVNQmVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY2RydyAoQW5ha2luLCAgMi4gSnVsIDE5OTgsIDE2OjU2OjEwKToKSGksCgpJY2ggc3VjaGUgU29mdHdhcmUgenVtIEJyZW5uZW4gdm9uIENEUiB1bmQgQ0RSVy4gRGFzIERpbmcgc29sbAphdWNoIGFuZGVyZSBGb3JtYXRlIChvZGVyIFRyYWNrcywgei5iLiBERUMgQ0RzKSBlaW5sZXNlbiB1bmQKc2NocmVpYmVuIGtvZW5uZW4gKHVlYmVyIG5lbiBleHRlcm5hbCBJbWFnZSkuCkljaCBoYWIgR2VhciA0LjMgZGEsIGFiZXIgZGFzIG1hY2h0IG1pciBiZWkgQ0RSVyBzZWhyIGhhZXVmaWcgUHJvYmxlbWUuCldlbGNoZSBhbmRlcmUgU29mdHdhcmUgZ2lidCBlcyBzbyBub2NoPyBTb2xsdGUgbGVpZGVyIHVudGVyIApOVDQgbGF1ZmVuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGNkcncgKFdpbGxvdywgIDIuIEp1bCAxOTk4LCAxODoxMToxNSk6Cn4jISBybj1BbmFraW4gcnQ9ODk5MzkxMzcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5OTM5MTM3MApUamEsCkFsc28gaWNoIGJlbnV0emUgdW50ZXIgT1MvMiBpbW1lciBSU0otQ0QtV3JpdGVyIC0gZGFzIGdpYnRzIG1pdHRsZXJ3ZWlsZSBhdWNoCmZ1ZXIgc2lubmxvcyA5NSAtIHZpZWxsZWljaHQgZnVua3QgZGFzIGphIGF1Y2ggdW50ZXIgTlQ/IApBbmFraW4sIHZpZWxsZWljaHQgcHJvYmllcnN0ZSBkYXMgbWFsIGF1cywgZXZ0bC4ga2xwYXR0cy4uLgpXZWlkY2hlbiBXaWxsb3cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjZHJ3IChHcmltbWJvcm4sICAyLiBKdWwgMTk5OCwgMTg6MTg6MDQpOgp+IyEgcm49QW5ha2luIHJ0PTg5OTM5MTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTkzOTEzNzAKV2luT25DRCAob2RlciB3aWUgYXVjaCBpbW1lciBkaWUgZGllIEdyb3NzYnVjaHN0YWJlbiBzZXR6ZW4pIGlzdCB3b2hsIHNlaHIKZW1wZmVobGVuc3dlcnQuIE5pY2h0IGRpZSBPRU0tVmVyc2lvbiwgZGllIGhhdCBlaW4gcGFhciBuZXJ2aWdlCkVpbnNjaHJhZW5rdW5nZW4uIElzdCBndXQsIHp1dmVybGFlc3NpZyB1bmQga29zdGV0IGxlaWRlciBhdWNoIG5lIEtsZWluaWdrZWl0Cih+MzAwRE0gQUZBSUspLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNkcncgKEtleSwgIDIuIEp1bCAxOTk4LCAxOToyMDowMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk5Mzk2Mjg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5OTM5MTM3MApZZXAgYmVudXR6IGljaCBhdWNoIC4uLiBIYXR0ZSBkYW1pdCBiaXNoZXIgbm9jaCBrZWluZSBQcm9icyAuLi4gYXVzc2VyIGRhcyBkYQpkcmluIG5lbiBrb3BpZXJzY2h1dHprbmFja2VyIGZlaGx0ICwpCgoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNkcncgKEFuYWtpbiwgIDMuIEp1bCAxOTk4LCAwODo0OTowMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODk5Mzk2Mjg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5OTM5MTM3MAoKT2NoIEdlbGQgc3BpZWx0IGJlaSBNYXggUGxhbmNrIGtlaW5lIFJvbGxlIDopCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY2RydyAoWWFyZW4sICAzLiBKdWwgMTk5OCwgMTU6NDk6MTMpOgp+IyEgcm49QW5ha2luIHJ0PTg5OTM5MTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTkzOTEzNzAKRnVlciBEYXRlbi1DRHM6IFdpbk9uQ0QgNC4wIChuaWNodCBkaWUgdG8tZ28gLi4uKSBvZGVyIEVhc3ktQ0QtQ3JlYXRvciBEZWx1eGUuCkZ1ZXIgQXVkaW8tQ0RzOiBGZXVyaW8hICh3d3cuZmV1cmlvLmNvbSksIHp3YXIgbm9jaCBCZXRhLCBhYmVyIGdlbmF1IGRhcywgd2FzCm1hbiBicmF1Y2h0LCB3ZW5uIG1hbiBoYWV1ZmlnZXIgQXVkaW8tQ0RzIGJyZW5udC4gSWNoIHBlcnNvZW5saWNoIGJyZW5uZSBtZWluZQpEYXRlbi1DRHMgYWxsZXJkaW5ncyBtaXQgWC1DRC1Sb2FzdCB1bnRlciBMaW51eCA7LSkKCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjZHJ3IChXb29keSwgIDMuIEp1bCAxOTk4LCAyMjo1NToyNCk6Cn4jISBybj1ZYXJlbiBydD04OTk0NzM3NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk5MzkxMzcwCnd3dy5mZXVyaW8uY29tOiBIb3N0IG5vdCBmb3VuZC4KLT4gd3d3LmZldXJpby5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmF2YSAoRGllZGVyLCAgNS4gSnVsIDE5OTgsIDIzOjU1OjAxKToKSGFsbG8sCgphdXMgYWt0dWVsbGVtIEFubGFzcyAobXVzcyBuZSBQcnVlZnVuZyBzY2hyZWliZW4pIHN1Y2hlIGljaCBlaW5lbiBndXRlbiBLdXJzCihBbmZhZW5nZXIgYmlzIEZvcnRnZXNjaHJpdHRlbmUgZnVlciBKYXZhLiBHaWJ0cyBzb3dhcyBpbSBOZXR6PyBJY2ggaGFiZQplaWdlbnRsaWNoIGtlaW5lIEx1c3QsIG1pciB0ZXVyZSBCdWVjaGVyIHp1IGthdWZlbi4uLgoKRGFuayB1bmQgR3J1c3MsCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhZ2UgenUgLmZ2d20ycmMgKE1vcmdvdGgsICA2LiBKdWwgMTk5OCwgMDk6MzU6NTMpOgpXaWUga2FubiBpY2ggaW4gZWluZW0gTWVudSBlaW4geHRlbG5ldCBlaW5iYXVlbiwgZGFzcyBtaWNoIHZvcmhlciBuYWNoIGVpbmVtClBhcmFtZXRlciAoaG9zdG5hbWUpIGZyYWd0PwpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmF2YSAoUnVtYXRhLCAgNi4gSnVsIDE5OTgsIDEwOjI0OjI3KToKfiMhIHJuPURpZWRlciBydD04OTk2NzU3MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk5Njc1NzAxCmh0dHA6Ly9zdW5zaXRlLnVuYy5lZHUvamF2YWZhcS9qYXZhdHV0b3JpYWwuaHRtbAoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCBmb3JldmVyIDopIChVcnRob25hLCAgNi4gSnVsIDE5OTgsIDE2OjU2OjI3KToKaHR0cDovL3d3dy5sb3QtZ2VybWFueS5jb20vbWFnYXppbi91bml4LW50Lmh0bQoKT3ZpXkheSF5IIGFlaCBVcnRob25hIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmF2YSAoR2FzdDIsICA2LiBKdWwgMTk5OCwgMjM6MTU6MTMpOgp+IyEgcm49RGllZGVyIHJ0PTg5OTY3NTcwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTk2NzU3MDEKSGksCgppY2ggaGFiZSBlYmVuIG1hbCBiZWkgd3d3Lm1lZGlhc2VsbC5kZSBuYWNoZ2VzY2hhdXQsIGRpZSBoYWJlbiB1bnRlciBhbmRlcmVtCmZvbGdlbmRlIEJ1ZWNoZXIgdmVyYmlsbGd0IGltIEFuZ2Vib3Q6CgpKQVZBIDEuMSBpbiAyMSBUYWdlbiwgbWl0IENEUk9NLCBjYS4gODQwClNlaXRlbiwgc3RhdHQgRE0gNzksOTUgYWIgRE0gMjksLQoKSmF2YSAxLjEgZnVlciBJbnNpZGVyLCB2b24gTWljaGFlbCBNb3JyaXNvbiwgY2EuIDEuMTEyClNlaXRlbiBtaXQgQ0RST00sIHN0YXR0IERNIDk5LDk1IGFiIERNIDI5LC0KCkpBVkEgLSBBUEkgUmVmZXJlbmNlLCBjYS4gMzg1IFNlaXRlbiwKa29tcGwuIGluIEVuZ2xpc2NoLCBzdGF0dCBETSAxMjksLSBhYiBETSA5LC0KCk1pdCBkZW0gRXJzdGVuIGhhYmUgaWNoIHJlY2h0IGd1dGUgRXJmYWhydW5nZW4gZ2VtYWNodC4gRWluZSBzb2xpZGUgRWluZnVlcnVuZwppbiBKYXZhLiBCZWFjaHRlIGFiZXIsIGRhc3MgZGFzIGVpbmUgT25saW5lLUF1a3Rpb24gaXN0LCBhbHNvIGJpZXRlIGVyc3Qga3Vyegp2b3IgTWl0dGVybmFjaHQgKEF1a3Rpb25zLUVuZGUpLiBBYmVyIGZ1ZXIgSmF2YS1CdWVjaGVyIGludGVyZXNzaWVydCBzaWNoIGVoJwprZWluZXIgLi4uCgpBbnNvbnN0ZW4ga2FubiBtYW4gYmVpIHd3dy5oYWlmaXNjaC5jb20gbWFsIGRpZSBSZXN0cG9zdGVuIGFuc2NoYXVuLiBEYSBnaWJ0J3MKYXVjaCBzcG90dGJpbGxpZ2UgRmFjaGxpdGVyYXR1ci4gQWJlciBkYXMgV2ViLUFuZ2Vib3QgaXN0IHZpZWwgenUga2xlaW4uIExhc3MKRGlyIGRlbiBnZWRydWNrdGVuIEthdGFsb2cga29tbWVuLgoKV2llIG1hbiBzaWVodCBzaW5kIEJ1ZWNoZXIgYXVjaCBpbiBEZXV0c2NobGFuZCBuaWNodCB0ZXVlciAuLi4KCkJ5ZSwgSmVob3ZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBjZHJ3IChZYXJlbiwgIDcuIEp1bCAxOTk4LCAwMTozNzo0OSk6Cn4jISBybj1Xb29keSBydD04OTk0OTkzMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk5MzkxMzcwCm9vb29vcHMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmF2YSAoQmxvb2R5aGFycnksICA3LiBKdWwgMTk5OCwgMDc6NTA6MjMpOgp+IyEgcm49RGllZGVyIHJ0PTg5OTY3NTcwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTk2NzU3MDEKU2NoYXUgbWFsIGluIGh0dHA6Ly93d3cudGVhbW9uZS5kZS9zZWxmaHRtbC8uIEljaCB3ZWlzcyBuaWNodCBvYiBkYXMKYXVzcmVpY2hlbmQgZnVlciBEaWNoIGlzdCAtIHdhcyBtaXIgd2ljaHRpZyB3YXIsIGRhc3MgZGFzIFRlaWwgaW4gImxlc2JhcmVyIgpTcHJhY2hlIGdlc2NocmllYmVuIGlzdC4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaWVzbyBkYXMgTUcgdW50ZW4gd2FyIChKb2YsICA4LiBKdWwgMTk5OCwgMDk6Mjg6NDUpOgp+IyEgcm49VHJhbmNlZmVhciBydD04OTg3Nzg2MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk4Njc0OTE3CiBLYWJlbCBpc3QgYmVyZWl0cyBhdXNnZXRhdXNjaHQgd29yZGVuOyBha3RpdmUgVGVybWluYXRvcmVuIHp1bSBhdWZzCkZsYWNoYmFuZGthYmVsIGF1ZnN0ZWNrZW4gc2luZCBzY2h3ZWluZXRldWVyLCB1bmQgZGllIFRlcm1pbmllcnVuZwpkZXIgUGxhdHRlIG11c3MgZXMgamEgd29obCBhdWNoIHR1biAuLi4gd2VubiBuaWNodCwgc29sbHRlIG1hbiBzaWUKd2Vnc2NobWVpc3NlbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY2RydyAoSm9mLCAgOC4gSnVsIDE5OTgsIDA5OjMwOjQ2KToKfiMhIHJuPVdpbGxvdyBydD04OTkzOTU4NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODk5MzkxMzcwCgogU2Nob24gbWFsIE5FUk8gcHJvYmllcnQ/IElyZ2VuZHdvIGltIE5ldHogZ2lidCdzIG5lIFRlc3R2ZXJzaW9uIGRhdm9uLApnbGF1YmUgaWNoLCBhYmVyIGljaCBoYWIgZGVuIEZpcm1lbm5hbWVuIHZlcmdlc3NlbiAuLi4KCkpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2llc28gZGFzIE1HIHVudGVuIHdhciAoTmlyZGF2bywgIDguIEp1bCAxOTk4LCAxNzo0MzoyMCk6Cn4jISBybj1Kb2YgcnQ9ODk5ODgyOTI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg5ODY3NDkxNwogIEljaCB3dWVyZGUgdHJvdHpkZW0gbWFsIHZlcnN1Y2hlbiwgbWlyIGVpbmVuIGFrdGl2ZW4gVGVybWluYXRvciB6dSBiZXNvcmdlbgooc2VpIGVzIGF1Y2ggbnVyIGxlaWh3ZWlzZSkuIEljaCBqZWRlbmZhbGxzIGhhYiBkaWUgZXJmYWhydW5nIGdlbWFjaHQsIGRhc3MKYmVpbSBlaW5nZWJhdXRlbiBUZXJtaW5hdG9yIGVpbmVyIFBsYXR0ZSBtYW5jaG1hbCBlaW5lIGVpbnplbG5lIExlaXR1bmcgbmljaHQKa29ycmVrdCB0ZXJtaW5pZXJ0IHdhciwgd2FzIGRhbm4gbmF0dWVybGljaCBoaW4gdW5kIHdpZWRlciB6dW0gQWJzdHVyeiBmdWVocnQuCkFiZ2VzZWhlbiBkYXZvbiBzaW5kIGRpZSBEaW5nZXIgYXVjaCBvZnQgZXh0cmVtIHNjaHdhY2hicnVlc3RpZy4uLi4gYWxzIGljaAplaW5lIHdlaXRlciBQbGF0dGUgaW4gZGVuIFNDU0ktQnVzIGJlaSBtaXIgZ2VoYWVuZ3QgaGFiZSwgd29sbHRlIGVzIHBhcnRvdXQKbmljaHQgZnVua3Rpb25pZXJlbiwgYmlzIGljaCBkaWUgUmVpaGVuZm9sZ2UgZGVyIERldmljZXMgZ2VhZW5kZXJ0IGhhdHRlIChhbHNvCmVpbiBhbmRlcmVzIERldmljZSBhbHMgdXJzcHJ1ZW5nbGljaCBhLCBFbmRlIGRlciBLZXR0ZSkuIE1pdCBlaW5lbSBha3RpdmVuClRlcm1pbmF0b3Igd2FyIGRhcyBQcm9ibGVtIGRhbm4gZ2FueiB2ZXJzY2h3dW5kZW4uCgogICAgTmlyZGF2bywgbWFnIFNDU0ksIGhhdCBhYmVyIGF1Y2ggc2Nob24gb2VmdGVyIGdlZmx1Y2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2llc28gZGFzIE1HIHVudGVuIHdhciAoVHJhbmNlZmVhciwgIDkuIEp1bCAxOTk4LCAxOToyMTowMCk6Cn4jISBybj1OaXJkYXZvIHJ0PTg5OTkxMjYwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04OTg2NzQ5MTcKRGFzIGthbm4gaWNoIG51ciBiZXN0YWV0aWdlbi4gTWl0IGVpbmVtIGFrdGl2ZW4gVGVybWluYXRvciBhbSBFbmRlIGRlciBLZXR0ZQpiaXN0ZSBhdWYgamVkZW4gRmFsbCBhdWYgZGVyIHNpY2hlcmVuIFNlaXRlLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoWmFybml5YSwgMTAuIEp1bCAxOTk4LCAxNTowOTo1NSk6CmljaCBoYWIgZGEgbmUgaW50ZXJlc3NhbnRlIE5ldWlna2VpdCBnZWZ1bmRlbjoKCiJWaWVsZSBzZWxic3RnZWJyYW5udGUgQ2RzIHNpbmQgbmljaHQgZ2VyYWRlIGZ1ZXIgZGllIEV3aWdrZWl0IGdlZGFjaHQgLSBuYWNoCm1hbmNobWFsIGVyc3RhdW5saWNoIGt1cnplciBaZWl0IGlzdCBkZXIgSW5oYWx0IHVlYmVyaG9sdC4gRXMgd2FlcmUgZG9jaApzY2hvZW4sIHdlbm4gbWFuIFJvaGxpbmdlIHdpZWRlcnZlcndlbmRlbiBrb2VubnRlLCB3YXMgamEgYW5nZWJsaWNoIG51ciBtaXQKZGVyIHRldXJlbiBDRC1SVy1UZWNobm9sb2dpZSBnZWh0LiAKCkFiZXIgbWl0IGVpbiB3ZW5pZyBNdWVoZSBrYW5uIG1hbiBnYW56IG5vcm1hbGUgQ0QtUm9obGluZ2UgdGF0c2FlY2hsaWNoCmxvZXNjaGVuIHVuZCB3aWVkZXJ2ZXJ3ZW5kZW4uIERhenUgbXVzcyBkaWUgZGF0ZW50cmFnZW5kZSBNZXRhbGxzY2hpY2h0LCBpbgpkaWUgZGVyIExhc2Vyc3RyYWhsIGJlaW0gQmVzY2hyZWliZW4gTG9lY2hlciBicmVubnQsIHdpZWRlcmhlcmdlc3RlbGx0CndlcmRlbi4sIHdhcyBIaXR6ZSB1bmQgRHJ1Y2sgZXJmb3JkZXJ0LgoKVW0gZWluZW4gUm9obGluZyB6dSBsb2VzY2hlbiwgc3RlY2tlbiBTaWUgaWhuIGJlaSBtaW5kLiAyNzYgR3JhZCBpbiBlaW5lbgpPZmVuLCB3b2R1cmNoIGRpZSBNZXRhbGxzY2hpY2h0IHZlcmZvcm1iYXIgd2lyZC4gRGllIFRlbXBlcmF0dXIgc29sbHRlCmFsbGVyZGluZ3MgbmljaHQgdWViZXIgMzA4IEdyYWQgbGllZ2VuLCB3ZWlsIGVzIGFuc29uc3RlbiB6dSB1bmVyd3VlbnNjaHRlbgpSZWFrdGlvbmVuIGRlciBNZXRhbGxzY2hpY2h0IG1pdCBkZW0gVHJhZWdlcm1hdGVyaWFsIGtvbW1lbiBrYW5uLiBEaWUgbWVpc3RlbgpCYWNrb2VmZW4gaW0gSGF1c2hhbHQgZXJyZWljaGVuIGRpZSBub2V0aWdlbiB0ZW1wZXJhdHVyZW4gbmljaHQsIGFiZXIgaW4KSGFuZHdlcmsgdW5kIEluZHVzdHJpZSBmaW5kZW4gc2ljaCBnZWVpZ25ldGUgR2VyYWV0ZSwgenVtIEJlaXNwaWVsIEJyZW5ub2VmZW4KYmVpbSBUb2VwZmVybi4KCkRhbWl0IGRpZSBkYXRlbnRyYWdlbmRlIFNjaGljaHQgaW0gQ0QtUm9obGluZyBhdWNoIHRhdHNhZWNobGljaCBkaWUgTG9lY2hlcgphdXNnbGVpY2h0LCBtdXNzIHNpZSB1bnRlciBEcnVjayBnZXNldHp0IHdlcmRlbi4gRGEgZGVyIERydWNrIG5pY2h0IHNlaHIgZ3Jvc3MKc2VpbiBtdXNzLCBrYW5uIGRpZSBDRCBpbiBlaW5lIGdhbnogbm9ybWFsZSBTY2hyYXViendpbmdlIGdlc3Bhbm50IHdlcmRlbiwgd2llClRpc2NobGVyIHNpZSB2ZXJ3ZW5kZW4uIERhbWl0IGRlciBEcnVjayBnZW51ZWdlbmQgZ2xlaWNobWFlc3NpZyB2ZXJ0ZWlsdCBpc3QsCm11ZXNzZW4gU2llIHp3aXNjaGVuIGRpZSBDRCB1bmQgZGVuIEJhY2tlbiBkZXIgWndpbmdlIGpld2VpbHMgZWluIEJyZXR0IGxlZ2VuLgpCaXMgenUgOCBDRHMga2FubiBtYW4gYWxzIFN0YXBlbCBhdWYgZWlubWFsIGVpbnNwYW5uZW47IGJlaSBncm9lc3NlcmVyIFphaGwKaXN0IGRlciBEcnVjayBhbnNjaGVpbmVuZCBuaWNodCBtZWhyIGF1c3JlaWNoZW5kLgoKRGllIGVpbmdlc3Bhbm50ZW4gQ0RzIG11ZXNzZW4gY2EuIDEzIE1pbnV0ZW4gaW0gT2ZlbiBibGVpYmVuOyBkaWUgWmVpdApzY2h3YW5rdCBqZSBuYWNoIFRlbXBlcmF0dXIgZXR3YXMuCgpCZWkgVGVzdHMga29ubnRlbiB3aXIgdWViZXIgNzAlIGRlciBzbyBiZWhhbmRlbHRlbiBDRHMgbmFjaGhlciBpbiBlaW5lbSBnYW56Cm5vcm1hbGVuIENELVJlY29yZGVyIG5ldSBiZXNjaHJlaWJlbi4gSW50ZXJlc3NhbnRlcndlaXNlIHdhciBkaWUgRXJmb2xnc3F1b3RlCmJlaSBiaWxsaWdlbiBSb2hsaW5nZW4gYmVzc2VyIGFscyBiZWkgdGV1cmVuOyBkaWUgU2NodXR6YmVzY2hpY2h0dW5nZW4sIGRpZQpiZWkgTWFya2VucHJvZHVrdGVuIGhhZXVmaWcgdmVyd2VuZGV0IHdlcmRlbiwgc2NoZWluZW4gZGFzIExvZXNjaGVuIHp1CmVyc2Nod2VyZW4uIEF1c3NlcmRlbSBzY2hlaW5lbiBncnVlbmUgQ0RzIHNjaHdlcmVyIGxvZXNjaGJhciB6dSBzZWluIGFscwpHb2xkZW5lLiIKClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRC1Sb2hsaW5nZSB3aWVkZXJ2ZXJ3ZXJ0ZW4gKEtleSwgMTAuIEp1bCAxOTk4LCAxNTo0NzowOCk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMDA3NjE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDAwNzYxOTUKV2F1bSBzdGVodCBkYXMgbmljaHQgaW4gc2NobWFycm4/CkdyaW1taT8gLikKCkhtbSBhYmVyIG1hbCBlcm5zdGhhZnQgLi4uIGdsYXViZW4gdHUgaWNoIG5pY2h0IGRhIGRyYW4gZGEgbmUgQ0QgYXVzIG1laHIgYWxzCk1ldGFsbCBiZXN0ZWh0IC4uLiB1bmQgZGVyIEt1bnN0c3RvZmYgZGEgd2lyZCB3aWhsIGthdW0gbWVpbmVuIGRhcyBlciBiZWkKc29sY2hlbiBUZW1wZXJhdHVyZW4gc28gYmxlaWJlbiBtdXNzIDopClVuZCB3ZW5uIGR1IGRhbm4gYXVjaCBub2NoIERydWNrIGF1c3VlYnN0IGF1ZiBkaWUgQ0QgaGFzdGUgYmVzdGltbXQgbmVuCnNjaG9lbmVuIFBmYW5ua3VjaGVuIC4uLiB6d2FyIGV0d2FzIGR1ZW5uIGFiZXIgbmFqYSA7KQoKS2V5IHNlcnZpZXJ0IG1pdCBLZXRjaHVwICwpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ0QtUm9obGluZ2Ugd2llZGVydmVyd2VydGVuIChadWVyaWxldSwgMTAuIEp1bCAxOTk4LCAxNjowNjoyNyk6Cn4jISBybj1aYXJuaXlhIHJ0PTkwMDA3NjE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDAwNzYxOTUKSGksCldhcnVtIGRlciBncm9zc2UgQXVmd2FuZCA/IEVpbmUgQ2Qtcm9sbGluZyBpc3QgZG9jaCBzbyBiaWxsaWcuIFdlbm4gZHUgZGllCkhpdHplIGRlcyBCYWNrb2ZlbnMgdW5kIGRlciBTdHJvbXZlcmJyYXVjaCByZWNobmVzdCBrb21tdCBlcyBkaXIgZGFubiBpbmdlc2FtdApzb2dhciB0ZXVyZXIgYWxzIHdlbm4gZHUgbmV1ZSBSb2xsaW5ncyBrYXVmc3QuIERhenUga2FubiBuaWNodCBqZWRlciBtYWwKc2NobmVsIHp1bSBuYWVjaHN0ZW4gVG9lcGZlciBnZWhlbiB1bSBzZWluZSBDZCdzIHp1IGJhY2tlbi4KClpzY2hhdSBBbGFpbgoKcHM6IFlhbnRybyBkdSBrYW5uc3QgZGlyIGRlaW5lIHBlcnNvZWhubGljaCBiZWxlaWRpZ2VuZGUgS29tbWVudGFyZSBzcGFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoWmFybml5YSwgMTAuIEp1bCAxOTk4LCAxNjowOTowMyk6Cn4jISBybj1adWVyaWxldSBydD05MDAwNzk1ODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwMDc2MTk1CkhtbSBhbHNvIHdlbm4gbWFuIHNpY2ggbmljaHQgZGF1ZXJuZCBuZXVlIENEcyBrYXVmZW4gbXVzcywgZGFubiBoYXQgZGFzLCBhdWNoCndlbm5zIHdhcyB0ZXVyZXIgaXN0LCBlaW5lbiBkdXJjaGF1cyBvZWtvbG9naXNjaGVuIFNpbm4uIFp1ZXJpLCBEdSBrYW5uc3QgRGljaApqYSBtYWwgenUgbWVpbmVuIGFsdGVuIENEcyBsZWdlbiB1bmQgd2lyIHNjaGF1biwgd2VyIHp1ZXJzdCB2ZXJyb3R0ZXQuIDopCgpaYXJuaXlhCgpQLlMuOiBXZXIgenVtIFRldWZlbCBpc3QgaW1tZXIgZGllc2VyIFlhbnRybywgZGVyIERlaW5lIFBhcmFub2lhIHNjaHVlcnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoSmFtZXNvbiwgMTAuIEp1bCAxOTk4LCAxNjowOTo1NSk6Cn4jISBybj1adWVyaWxldSBydD05MDAwNzk1ODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwMDc2MTk1CkRhcyBpc3QgamEgd29obCBiZXN0aW1tdCBuaWNodCB6dW0gU2VsYmVybWFjaGVuIGdlZGFjaHQuLi4gYXVjaCB3ZW5uIGRlcgpBcnRpa2VsIHNvIGF1c3NpZWh0LiBLbGluZ3QgZWhlciBuYWNoIFZlcnN1Y2hlbiBmdWVyIG5ldWUgUmVjeWNsaW5nbWV0aG9kZW4uCkRpZSBrb21tZXJ6aWVsbGVuIENELVJlY3ljbGVyIGtyYXR6ZW4gZGllIEJlc2NoaWNodHVuZyBiaXNoZXIgZ2xhdWIgaWNoCmlyZ2VuZHdpZSBhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoS2V5LCAxMC4gSnVsIDE5OTgsIDE2OjM3OjQ3KToKfiMhIHJuPUphbWVzb24gcnQ9OTAwMDc5Nzk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDA3NjE5NQpIbW0gbmFqYSB3YWVyZSBuZSBNb2VnbGljaGtlaXQgZGFzIGVzIHNvIGdlbWFjaHQgd2VyZGVuIHNvbGwgdW5kIGlyZ2VuZHdlciBtaXQKbmVtIGJpc3NlcmwgUGhhbnRhc2llIG1laW50ZSBtYW4ga29lbm5lIGVzIGF1Y2ggenVoYXVzZSBtYWNoZW4gLi4uCkFiZXIgZ2xhdWJlbiB0dWUgaWNoIGRhIG5pY2h0IGRyYW4gLi4uCgpLZXkKClAuUy46IFdlciB2b24gZXVjaCBoYXQgbmljaHQgYXVjaCB2b24gZGVyIEF1ZmxhZHVuZyB2b24gVGVsZWZvbmthcnRlbiBpbiBkZXIKTWlrcm93ZWxsZSBnZWhvZXJ0PyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZXhwbG9kZSgpIGZ1ZXIgQyAoUm9jaHVzLCAxMC4gSnVsIDE5OTgsIDE4OjU4OjE2KToKRGEgbWVocmVyZSBMZXV0ZSBnZXJuZSBlaW4gZXhwbG9kZSgpIGZ1ZXIgQyBoYWV0dGVuLCBoYWJlIGljaCBtYWwKc2NobmVsbCBlaW5zIGdlc2NocmllYmVuLiBEaWUgQXVzZ2FiZSBpc3QgZWluZSBOVUxMLXRlcm1pbmllcnRlIExpc3RlCnZvbiBTdHJpbmdzLiBBQ0hUVU5HOiBEYXMgVmVyaGFsdGVuIHdlaWNodCB2b20gTFBDLVZlcmhhbHRlbiBhYiwKd2VubiA8ZGVsPiBhbSBBbmZhbmcgb2RlciBFbmRlIHZvbiA8c3RyPiBnZWZ1bmRlbiB3aXJkIC0gaW4gZGllc2VtIEZhbGwKaXN0IGRlciBlcnN0ZSBiencuIGxldHp0ZSBTdHJpbmcgaW0gRXJnZWJuaXMgZWluIGxlZXJlciBTdHJpbmcuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojaW5jbHVkZSA8c3RyaW5ncy5oPgoKY2hhciAqKmV4cGxvZGUoY2hhciAqc3RyLCBjb25zdCBjaGFyICpkZWwpIHsKICBjaGFyICoqcmVzPU5VTEwsKmZvdW5kLG9sZGM7CiAgaW50IG51bT0wLGRsZW47CgogIGlmIChkbGVuPXN0cmxlbihkZWwpKSB7CiAgICB3aGlsZSAoKGZvdW5kPXN0cnN0cihzdHIsZGVsKSkhPU5VTEwpIHsKICAgICAgb2xkYz0qZm91bmQ7KmZvdW5kPTA7bnVtKys7CiAgICAgIGlmICgoKHJlcz0oY2hhciAqKilyZWFsbG9jKHJlcyxudW0qc2l6ZW9mKGNoYXIgKikpKT09TlVMTCkKICAgICAgICAgIHx8ICgocmVzW251bS0xXT1zdHJkdXAoc3RyKSk9PU5VTEwpKQogICAgICAgIGV4aXQoMSk7CiAgICAgICpmb3VuZD1vbGRjO3N0cj1mb3VuZCtkbGVuOwogICAgfQogIH0KICBudW0rPTI7CiAgaWYgKCgocmVzPShjaGFyICoqKXJlYWxsb2MocmVzLG51bSpzaXplb2YoY2hhciAqKSkpPT1OVUxMKQogICAgICB8fCAoKHJlc1tudW0tMl09c3RyZHVwKHN0cikpPT1OVUxMKSkKICAgIGV4aXQoMSk7CiAgcmVzW251bS0xXT1OVUxMOwogIHJldHVybiByZXM7Cn0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQmVpc3BpZWxhbndlbmR1bmc6Cm1haW4oKSB7CiAgaW50IGk7CiAgY2hhciAqKnJlczsKICAKICByZXM9ZXhwbG9kZSgiYWJjWGRlZlhoaWpYa2xtIiwiWCIpOwogIGZvciAoaT0wO3Jlc1tpXSE9TlVMTDtpKyspCiAgICBwcmludGYoIiVkLiAlc1xuIixpLHJlc1tpXSk7Cn0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoQW5hdG9sLCAxMS4gSnVsIDE5OTgsIDA1OjUwOjU2KToKfiMhIHJuPUtleSBydD05MDAwODE0Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwMDc2MTk1CldhcyBtaWNoIGludGVyZXNzaWVyZW4gd3VlcmRlIC0gV29oZXIgaGF0IFphcm5peWEgeml0aWVydD8gKi5qb2tlcy4qID8KT2RlciBhdXMgQnJpZ2l0dGUgYnp3LiBlaW5lciBhZWhubGljaGVuIEZhY2h6ZWl0c2NocmlmdD8gOm8pCgpHZWxlZ2VudGxpY2ggV0lMTCBaYXJuaXlhIHZpZWxsZWljaHQgZ2FyIG5pY2h0IGVybnN0IGdlbm9tbWVuIHdlcmRlbi4uLj8KQW5hdG9sIDtvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IENELVJvaGxpbmdlIHdpZWRlcnZlcndlcnRlbiAoR3JpbW1ib3JuLCAxMS4gSnVsIDE5OTgsIDA4OjU0OjA0KToKfiMhIHJuPUFuYXRvbCBydD05MDAxMjkwNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwMDc2MTk1CkRhcyBhbXVlc2FudGUgaXN0IGRvY2gsIGRhc3Mgb2ZmZW5zaWNodGxpY2hlciBCbG9lZHNpbm4gaGllciBlcm5zdGhhZnQKZGlza3V0aWVydCB3aXJkLiBBYmVyIHdlbiB3dWVyZGUgZGFzIGVpZ2VudGxpY2ggbm9jaCB1ZWJlcnJhc2NoZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbSBtaXQgV2lud29yZCAoT3JrdG9ldGVyLCAxNC4gSnVsIDE5OTgsIDE2OjA3OjQzKToKSGkgIQpNZWluIFdpbndvcmQgYmlldGV0IG51ciAzIFNjaHJpZnRlbiB6dXIgQXVzd2FobCwgb2J3b2hsIG1hc3NpZyBGb250cyBhdWYgZGVtClJlY2huZXIgc2luZC4KS2VubnQgamVtYW5kIGVpbmUgTG9lc3VuZyBmdWVyIGRhcyBQcm9ibGVtID8KKGRpZSBtaXQgVGVjaC9MYXRlY2ggemFlaGxlbiBuaWNodCAhKQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtIG1pdCBXaW53b3JkIChNb3Jnb3RoLCAxNC4gSnVsIDE5OTgsIDIxOjE5OjE3KToKfiMhIHJuPU9ya3RvZXRlciBydD05MDA0MjUyNjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDI1MjYzCkhhdXB0Z3J1cHBlIC0gU3lzdGVtc3RldWVydW5nIC0gU2NocmlmdGFydGVuCkRhIHNvbGx0ZXN0IER1IG1hbCBlaW4gYmlzY2hlbiBydW1zcGllbGVuLiBBbGxlaW5pZ2VzIGtvcGllcmVuIGRlciBGb250cwpyZWljaHQgbmljaHQuCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW0gbWl0IFdpbndvcmQgKFRhcnMsIDE0LiBKdWwgMTk5OCwgMjE6Mjg6NDcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTkwMDQyNTI2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0MjUyNjMKCkhpLgpIYXN0IGR1IGVpbmVuIERydWNrZXIgaW5zdGFsbGllcnQsIGRlciB2aWVsbGVpY2h0IG51ciBiZXN0aW1tdGUgU2NocmlmdGFydGVuCmRydWNrZW4ga2Fubj8gRGFubiBzY2htZWlzcyBkYXMgVGVpbCBtYWwgcmF1cy4KCkphamEgaG9lcnQgc2ljaCBiZWtsb3BwdCBhbiwgaXN0IGVzIGF1Y2gsIGFiZXIgZ2VuYXUgZGFzIFByb2JsZW0gaGF0IG1pY2ggbWFsCm1laHJlcmUgU3R1bmRlbiBmbHVjaGVuIGdla29zdGV0LgoKVGFycy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvYmxlbSBtaXQgV2lud29yZCAoUmlrdXMsIDE1LiBKdWwgMTk5OCwgMDA6MDk6NDQpOgp+IyEgcm49VGFycyBydD05MDA0NDQ1Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDI1MjYzCmdpbiBtaXIgc2Nob25tYWwgZWJlbnNvLCBoYXR0ZSBudXIgMyBTY2hyaWZ0ZW4sIG9id2hsIG1hc3NpZyBpbnN0YWxsaWVydAp3YXJlbi4gRXMgbGFnIGRhbm4gbnVyIGRhcmFuLCBkYXNzIGljaCBtZWluZW4gcmljaHRpZ2VuIERydWNrZXIgbm9jaApuaWNodCBpbnN0YWxsaWVydCBoYXR0ZSwgc29uZGVybiBudXIgZGVuIHVuaXZlcnNhbCB0ZXh0LCB1bmQgZGVyIGthbm4KbnVuIG1hbCBudXIgZGllIHdlbmlnZW4uLi4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbSBtaXQgV2lud29yZCAoVHJhbmNlZmVhciwgMTUuIEp1bCAxOTk4LCAwNToyNTozNik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9OTAwNDI1MjYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDQyNTI2MwpJbnN0YWxsaWVyIG5lbiBEcnVja2VyCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhZmlrLVNvZnR3YXJlIHp1bSBLYXJ0ZW56ZWljaG5lbiAoTW9yZ290aCwgMTUuIEp1bCAxOTk4LCAxMDo0MTo0NSk6CkljaCBzdWNoZSwgd2llIGltIFRpdGVsIGVyd2FlaG50LCBTb2Z0d2FyZSB1bnRlciBXaW4vTGludXgsIGRpZSBmYWVoaWcgaXN0LApwYXNzYWJsZSBLYXJ0ZW4genUgWmVpY2hlbi4gQW0gYmVzdGVuIG1pdCB2b3JnZWZlcnRpZ3RlbiBFbGVtZW50ZW4sIGRpZSBtYW4gaW4KZWluIFJhc3RlciBzZXR6ZW4ga2Fubi4KCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChQaWxncmltLCAxNS4gSnVsIDE5OTgsIDEyOjA4OjEwKToKfiMhIHJuPU1vcmdvdGggcnQ9OTAwNDkyMTA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDQ5MjEwNQooU2VtaS0pUHJvZmVzc2lvbmVsbGUgTGFuZEthcnRlbj8gT2RlciB3YXMgLi4uIEVpbnRyaXR0c0thcnRlbiA7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhZmlrLVNvZnR3YXJlIHp1bSBLYXJ0ZW56ZWljaG5lbiAoTW9yZ290aCwgMTUuIEp1bCAxOTk4LCAxMjo0OToxMSk6Cn4jISBybj1QaWxncmltIHJ0PTkwMDQ5NzI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0OTIxMDUKTGFuZGthcnRlbiwgei5iLiB2b20gTUcsIEJhcmRzVGFsZSB1c3cuCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEcnVja2VuIHVudGVyIExpbnV4IChHdWlsZG8sIDE1LiBKdWwgMTk5OCwgMTM6MjE6MzcpOgpLZW5udCBzaWNoIGplbWFuZCBtaXQgRHJ1Y2tlcmJldHJpZWIgdW50ZXIgTGludXggYXVzPwpJY2ggaGFiZSBmdWVyIG1laW5lbiBndXRlbiBhbHRlbiAyNC1OYWRlbGRydWNrZXIgZXJmb2xncmVpY2ggZWluZW4KRHJ1Y2tlcnRyZWliZXIgdW50ZXIgUy51LlMuRS4gTGludXggNS4wIGluc3RhbGxpZXJ0LiBEZXIgaXN0IG5hdHVlcmxpY2ggbmljaHQKUG9zdHNjcmlwdC1mYWVoaWcsIGRlc2hhbGIgbXVzcyBpY2gsIHdlbm4gaWNoIGVpbmUgLnBzLURhdGVpIGF1c2RydWNrZW4gd2lsbCwKZGllIGVyc3QgaW4gR2hvc3RzY3JpcHQgcmVpbnN0ZWNrZW4sIGRhbm4gcm9vdCB3ZXJkZW4gdW5kIGRhbm4gbWl0IGNwIGFuIGxwMQpzY2hpY2tlbi4gQXVmIERhdWVyIGlzdCBkYXMgbmF0dWVybGljaCB1bXN0YWVuZGxpY2guIERlc2hhbGIgbWVpbmUgRnJhZ2U6IEdlaHQKZGFzIG5pY2h0IGVpbmZhY2hlcj8gTWl0IGxwciBvZGVyIHNvd2FzPyBVbmQgd2VubiBqYSwgd2llPwoKR3J1c3MsIEcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChBcmssIDE1LiBKdWwgMTk5OCwgMTM6Mjg6MDApOgp+IyEgcm49TW9yZ290aCBydD05MDA0OTk3NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1Cnd3dy5tYXRoLmF1dGguZ3IvfmJjaHIvCgpEYSBpc3QgZ2xhdWIgaWNoIGF1Y2ggc28gZWluIEhleC1Qcm9ncmFtbSBkYWJlaS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2tlbiB1bnRlciBMaW51eCAoSGlnaGxhbmRlciwgMTUuIEp1bCAxOTk4LCAxMzoyOToxMCk6Cn4jISBybj1HdWlsZG8gcnQ9OTAwNTAxNjk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDUwMTY5NwpFcmxlZGlndCBzb3dhcyBuaWNodCBkZXIgRHJ1Y2tlcmZpbHRlciBhdXRvbWF0aXNjaD8gTWVpbiBEcnVja2VyIGlzdAphdWNoIG5pY2h0IHVuYmVkaW5ndCBwcyBmYWVoaWcsIHRyb3R6ZGVtIHdpcmQgYWxsZXMgcHNtYWVzc2lnZQp3dW5kZXJiYXIgYXVzZ2VkcnVja3QgOj4KICAgSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERydWNrZW4gdW50ZXIgTGludXggKFlhcmVuLCAxNS4gSnVsIDE5OTgsIDE2OjE1OjUxKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTAwNTAyMTUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDUwMTY5NwpHZW5hdTogZGVyIERydWNrZXJmaWx0ZXIgOi0pCkRhcyBUZWlsIG5lbm50IHNpY2ggYXBzLWZpbHRlciB1bmQgd2lyZCBtaXQgZGVtIFlhU1Qgdm9uIFNVU0Uga29uZmlndXJpZXJ0CihpcmdlbmR3byB1bnRlciBTeXN0ZW1hZG1pbmlzdHJhdGlvbiBvZGVyIHNvKS4gTWFuIGthbm4gZGFtaXQgc29nYXIgbWVocmVyZQpGaWx0ZXIgZnVlciBlaW5lbiBEcnVja2VyIGVpbnJpY2h0ZW4gKFNjaHdhcnp3ZWlzcywgR3JhdXN0dWZlbiwgRmFyYmUsCnZlcnNjaGllZGVuZSBGb3JtYXRlIGV0Yy4pCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERydWNrZW4gdW50ZXIgTGludXggKFN0b3BkZW5idXMsIDE1LiBKdWwgMTk5OCwgMjE6NTA6NDgpOgp+IyEgcm49WWFyZW4gcnQ9OTAwNTEyMTUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDUwMTY5NwpqZW5hdSwgdW5kIGRhbm4gZnVuenQgZGFzIGF1Y2ggc3VwZXIgbWl0IGxwcgoKU3RvcGRlbmJ1cyBoYXQgYXVjaCBuZW4gMjQtTmFkZWxkcnVja2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChNb3Jnb3RoLCAxNi4gSnVsIDE5OTgsIDEwOjAxOjAyKToKfiMhIHJuPUFyayBydD05MDA1MDIwODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1Ckp1cCwgaGFicyBnZWZ1bmRlbiwgaXN0IGF1Y2ggZ2FueiBuZXR0LCBhYmVyIGljaCBicmF1Y2ggZWluZSBxdWFkcmF0aXNjaGUgTWFwLgpTY2hhdSBlaW5mYWNoIG1hbCBhbHMgQmVpc3BpZWw6Cmh0dHA6Ly90aG9yLmNoZW1pZS51bmktZG9ydG11bmQuZGUvc3Zlbi9taXNjL21nL2thdGFrb21iZW4uaHRtbCBhbi4gU29sY2hlCkthcnRlbiB3aWxsIGljaCBtYWxlbi4gRGllc2UgaXN0IG1pdCBQYWludFNob3BQcm8gdW5kIHZpZWwgQ3V0JlBhc3RlIHVuZApWSUlFRUVMIGdlZmx1Y2hlIGVudHN0YW5kZW4uIDstKSkKVGhhbnggIQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyYWZpay1Tb2Z0d2FyZSB6dW0gS2FydGVuemVpY2huZW4gKEFuYXRvbCwgMTYuIEp1bCAxOTk4LCAxMDozMzoxOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkwMDU3NjA2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0OTIxMDUKRnVlciBzb2xjaGUgWndlY2tlIHR1dCBlcyBkYXMgUHJvZ3JhbW0gInhmaWciIGZ1ZXIgTGludXggaGVydm9ycmFnZW5kIC0gCnp1bWluZGVzdCBoYWV0dGUgZGllc2UgS2FydGUgdm9uIG1pciBzZWluIGtvZW5uZW4uCgpBbmF0b2wgOm8pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR3JhZmlrLVNvZnR3YXJlIHp1bSBLYXJ0ZW56ZWljaG5lbiAoQXJrLCAxNi4gSnVsIDE5OTgsIDExOjExOjQzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTAwNTc2MDYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDQ5MjEwNQpIbSwgaWNoIGRhY2h0ZSwgZXMgc29sbHRlIHNjaG9uIGV0d2FzICdwcm9mZXNzaW9uZWxsZXInIGF1c3NlaGVuIDopClNvbGwgamV0enQga2VpbmUgQmVsZWlkaWd1bmcgc2VpbiwgYWJlciBzbyBlaW5mYWNoZSBLYXJ0ZW4gbWFjaHQgbWFuCmF1Y2ggbWl0IENvcmVsRHJhdywgZ2VodCBzb2dhciBtaXQgWmVpY2hlbnByb2dyYWVtbWNoZW4gdm9uIFdvcmQKb2RlciBXb3JkUGVyZmVjdC4gUGFpbnRTaG9wUHJvIGlzdCBkYSBzaWNoZXIgdWViZXJkaW1lbnNpb25pZXJ0IDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhZmlrLVNvZnR3YXJlIHp1bSBLYXJ0ZW56ZWljaG5lbiAoQm9pbmcsIDE2LiBKdWwgMTk5OCwgMTE6MTQ6NTApOgp+IyEgcm49QXJrIHJ0PTkwMDU4MDMwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0OTIxMDUKUGFpbnRTaG9wUHJvIGlzdCBmdWVyIGRpZXNlIFp3ZWNrZSBzb2dhciBzY2hsaWNodHdlZyB1bmdlZWlnbmV0LCBkYSBlcwpwaXhlbG9yaWVudGllcnQgYXJiZWl0ZXQuIE1pdCBDb3JlbERyYXcgd2FlcmUgZGllIEJlaXNwaWVsa2FydGUgaW4KZnVlbmYgYmlzIHplaG4gTWludXRlbiBmZXJ0aWcuIFVudGVyIFVuaXggd3VlcmRlIGljaCBhdWNoIHhmaWcgdmVyd2VuZGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChDYXR3ZWF6bGUsIDE2LiBKdWwgMTk5OCwgMTE6MTk6MjMpOgp+IyEgcm49TW9yZ290aCBydD05MDA1NzYwNjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1CkhtLCBzY2hvbiBtYWwgbWl0IG5lbSBQcmFlc2VudGF0aW9uc3Byb2dyYW0gdmVyc3VjaHQ/IEljaCBrZW5uIG1pY2ggZGFtaXQKbmljaHQgYXVzLCBhYmVyIGljaCB3ZWlzcywgZGFzIGVzIGRhIEZ1bmt0aW9uZW4gZ2lidCBtaXQgZGVuZW4gbWFuIHpCCkZsdXNzZGlhZ3JhbW1lIG1hY2hlbiBrYW5uLCB3aWxsIHNhZ2VuLCBLYWVzdGNoZW4gbWFlY2h1bmQgdW5kIG1pdCBMaW5pZW4KdmVyYmluZGVuLiAKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChNb3Jnb3RoLCAxNi4gSnVsIDE5OTgsIDExOjM2OjU0KToKfiMhIHJuPUFuYXRvbCBydD05MDA1Nzc5OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1CllFUCAhIQoKSWNoIGhhYnMgamV0enQgYXVjaCBpbiBkZW4gVGllZmVuIGRlciBTdVNlLURpc3QuIGdlZnVuZGVuLiBTaWVodCBnZW5pYWwgYXVzLi4KVGhyZWFkIGJlZW5kZXQuICEKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChHcmltbWJvcm4sIDE2LiBKdWwgMTk5OCwgMTM6NDA6NTkpOgp+IyEgcm49TW9yZ290aCBydD05MDA1ODE4MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1Ck5pY2h0IGdhbnogYmVlbmRldC4gSWNoIHdvbGx0ZSBhbHMgQW5la2RvdGUgaGluenVmdWVnZW4sIGRhc3MgaWNoIHNvbGNoZQpLYXJ0ZW4gbWFsIHVudGVyIFdvcmQsIG1pdCBUYWJlbGxlbiwgZ2V6ZWljaG5ldCBoYWJlLiBGdWVyIGRpZSBTU1AgKHNvd2VpdCBlcwpzaWUgZGFtYWxzIGhhbHQgZ2FiKS4gVW5nbGF1YmxpY2gsIHdhcyBtYW4gYmVpIHNpY2ggZnVlciBKdWdlbmRzdWVuZGVuCmZpbmRldC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPREJDIChDYWxpbWVyYSwgMTYuIEp1bCAxOTk4LCAxNToyNDo0OCk6CmljaCBoYWIgZm9sZ2VuZGVzIFByb2JsZW0sIGJ6dy4gYmluIGF1ZiBkZXIgU3VjaGUuCmljaCBtb2VjaHRlIEMtRGF0ZW4gaW4gQUNDRVNTIGF1dG9tYXRpc2llcnQgaW1wb3J0aWVyZW4uIFNvd2VpdCBpY2ggd2Vpc3MuLgptdWVzc3RlIGRhcyB1ZWJlciBuZSBPREJDIFNjaG5pdHRzdGVsbGUvVHJlaWJlciBnZWhuLiBXZWlzcyBqZW1hbmQgd28gaWNoClRvb2xzL0JpYmxpb3RoZWtlbiBvZGVyIGdhciBlaWdlbnN0YWVuZGlnZSBQcm9ncmFtbWUgaW0gTmV0eiBmaW5kZW4ga2FubgoobW9lZ2xpY2hzdCBmcmVpIG51dHpiYXIpLCBkaWUgZGFzIHJlYWxpc2llcmVuPwoKQ2FsaW1lcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdyYWZpay1Tb2Z0d2FyZSB6dW0gS2FydGVuemVpY2huZW4gKFJvY2h1cywgMTYuIEp1bCAxOTk4LCAxNzowMjo0MCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkwMDU4MTgxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0OTIxMDUKSWNoIGhhYmUgYXVjaCB2b3IgZWluaWdlciBaZWl0IG1hbCBuZSBBcnQgYXV0b21hdGlzY2hlbiBNYXBnZW5lcmF0b3IKZ2VzY2hyaWViZW4uIElzdCB6d2FyIG5vY2ggbmljaHQgZ2FueiBmZXJ0aWcgKGRlciBzb2xsIGF1Y2ggbWFsCm1laHJlcmUgRWJlbmVuIGF1c2dlYmVuIGtvZW5uZW4pIGFiZXIgc2Nob24gYmVudXR6YmFyOgogIGNsb25lIC9wbGF5ZXJzL3JvY2h1cy9tb24vbWFwcGVyCiAgbWFwZGlyIGRpcmVjdG9yeTpzdGFydHJhdW0KRGllIEF1c2dhYmUgaXN0IGVpbiBGaWxlIG1pdCBkZW0gTmFtZW4gbWFwLmZpZyAoaW0gWEZpZy1Gb3JtYXQpCmltIFZlcnplaWNobmlzIGRlcyBNYWdpZXJzIGRlciBkYXMgZ2VzdGFydGV0IGhhdC4KCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChZYXJlbiwgMTYuIEp1bCAxOTk4LCAxNzowODo0Nik6Cn4jISBybj1Sb2NodXMgcnQ9OTAwNjAxMzYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDQ5MjEwNQoqc2NobmllZiogdW5kIHdhcyBpc3QgbWl0IHVucyBhcm1lbiBzcGllbGVybj8gbXVzcyBpY2ggamV0enQgZXh0cmEgZGVzd2VnZW4KbWFnIHdlcmRlbj8gOy0pCgpZYXJlbiAtPiBzY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR3JhZmlrLVNvZnR3YXJlIHp1bSBLYXJ0ZW56ZWljaG5lbiAoS2V5LCAxNi4gSnVsIDE5OTgsIDE3OjM0OjQzKToKfiMhIHJuPVJvY2h1cyBydD05MDA2MDEzNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNDkyMTA1CkNvb2wgOikKCkFiZXIgLi4uIGthbm5zdGUgZGFzIG5ldCBhdWNoIGZ1ZXIgdW5zIGFybWUgU3BpZWxlciBtYWNoZW4/IC4pCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEdyYWZpay1Tb2Z0d2FyZSB6dW0gS2FydGVuemVpY2huZW4gKFphcm5peWEsIDE2LiBKdWwgMTk5OCwgMTc6MzU6NDIpOgp+IyEgcm49S2V5IHJ0PTkwMDYwMzI4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA0OTIxMDUKbWFpbHQgRGFuY2VyLi4uIGRlciBoYXQgbWFsIGhpZXIgZ2VzY2hyaWViZW4sIGRhc3MgZXIgZnVlciBXaW5kb3dzIG5lbgphdXRvbWF0aXNjaGVuIGthcnRlbnplaWNobmVyIGdlcHJvZ2d0IGhhdC4KClphcm5peWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcnVja2VuIHVudGVyIExpbnV4IChKaW1kaWdyaXosIDE2LiBKdWwgMTk5OCwgMTk6Mjg6MDYpOgp+IyEgcm49R3VpbGRvIHJ0PTkwMDUwMTY5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA1MDE2OTcKSG9pLAoKdW50ZXIgRnJlaUJTRTogY2QgL3Vzci9wb3J0cy9wcmludGluZy9hcHNmaWx0ZXI7bWFrZSBpbnN0YWxsCgp1bnRlciBMaW51eCBnaWJ0cyBhcHNmaWx0ZXIgc2ljaGVyIGF1Y2gsIHdpZSBtYW5zIGluc3RhbGxpZXJ0Cm11c3N0IER1IGhhbHQgcmF1c2tyaWVnZW4uIEF1ZiBqZWRlbiBGYWxsIGJyYXVjaHN0IER1IGdob3N0U2NyaXB0CmRhenUuCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcmFmaWstU29mdHdhcmUgenVtIEthcnRlbnplaWNobmVuIChXdXJ6ZWwsIDE2LiBKdWwgMTk5OCwgMTk6NDM6NDApOgp+IyEgcm49Qm9pbmcgcnQ9OTAwNTgwNDkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDQ5MjEwNQp3ZW5uIG1hbiAicHJvZmVzc2lvbmVsbGUiIGthcnRlbiBtYWNoZW4gd2lsbCwga2FubiBtYW4gZGVuIGNhbXBhaWduIApjYXJ0b2dyYXBoZXIgYmVudXR6ZW4uIHNlaHIgYmVsaWVidCBiZWkgZXJzY2hhZmZlcm4gdm9uIHJvbGxlbnNwaWVsd2VsdGVuLgpqZXR6dCBvaG5lIGdlbmF1IHp1IHdpc3Nlbiwgd2FzIGR1IGJyYXVjaHN0Li4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuaXg6IG5vbGFzdG4gKE1hcnMsIDE2LiBKdWwgMTk5OCwgMjA6MDA6MzYpOgoKSGFsbG8gVW5peC1GYW5zIQoKSWNoIG1vZWNodGUgZ2VybmUgZGllIGZvbGdlbmRlbiBCZWZlaGxlIGhhYmVuOgoKICAtIGZpcnN0biAgICA8bj4gPGRhdGVpPgogIC0gbm9maXJzdG4gIDxuPiA8ZGF0ZWk+CiAgLSBsYXN0biAgICAgPG4+IDxkYXRlaT4KICAtIG5vbGFzdG4gICA8bj4gPGRhdGVpPgoKRGFtaXQgc29sbGVuIGRpZSBlcnN0ZW4vbGV0emVuIG4gWmVpbGVuIGVpbmVyIERhdGVpIGF1c2dlZ2ViZW4gd2VyZGVuIGJ6dy4KYWxsZSBaZWlsZW4gYXVzc2VyIGRlbiBlcnN0ZW4vbGV0enRlbiBuIFplaWxlbi4KCkFsbGVyZGluZ3MgYmVrb21tZSBpY2ggZnVlciBub2xhc3RuIG51ciBkYXMgZm9sZ2VuZGUgTW9uc3RlciB6dXNhbW1lbjoKCmVjaG8gImBjYXQgJDJ8d2MgLWxgIC0gJDEgKyAxIiB8IGJjIC1sIHxjYXQgPl9fdGVtcDEKZWNobyAsXCRkID5fX3RlbXAyCnBhc3RlIF9fdGVtcDEgX190ZW1wMiA+X190ZW1wMwp0ciAtZCAnXDAxMScgPF9fdGVtcDMgPl9fdGVtcDQKc2VkIC1mIF9fdGVtcDQgJDIKcm0gX190ZW1wKgoKRGFzIG11c3MgZG9jaCBub2NoIGVpbmZhY2hlciBnZWhlbiwgb2Rlcj8gQW0gbGllYnN0ZW4gb2huZSB0ZW1wb3JhZXJlIEZpbGVzLgpEaWUgdWVicmlnZW4gQmVmZWhsZSBzaW5kIGphIHRvdGFsIGVpbmZhY2g6CgpmaXJzdG46Ci0tLS0tLS0KaGVhZCAtJDEgJDIKCgpsYXN0bjoKLS0tLS0tCnRhaWwgLSQxICQyCgoKbm9maXJzdG46Ci0tLS0tLS0tLQp0YWlsICtgZWNobyAkMSAxICsgcCBxfGRjfGNhdGAgJDIKCgoKICAgTWFycyAtIG5vY2ggbGFuZ2Uga2VpbiBVbml4LUd1cnUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW5peDogbm9sYXN0biAoWndpbGxpbmcsIDE3LiBKdWwgMTk5OCwgMDE6NDc6NDMpOgp+IyEgcm49TWFycyBydD05MDA2MTIwMzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwNjEyMDM2ClZlcnN1Y2ggZG9jaCBtYWw6Cgpub2xhc3RuOgotLS0tLS0tLQpwZXJsIC1lICckaT1gY2F0ICRBUkdWWzFdfHdjIC1sYC0kQVJHVlswXTtwcmludCBgaGVhZCAtJGkgJEFSR1ZbMV1gJyAkMSAkMgoKKmdyaW5zKgpOYWphLCBpc3QgaGFsdCB3aWUgdmVybGFuZ3QgZWluZmFjaGVyIHVuZCBvaG5lIHRlbXBvcmFlcmUgZmlsZXMgOykKClp3aWxsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERydWNrZW4gdW50ZXIgTGludXggKE1hcmN1cywgMTguIEp1bCAxOTk4LCAwMjo1ODozNCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTAwNjEwMDg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDUwMTY5NwpCZWkgZGVyIEluc3RhbGxhdGlvbiBlaW5mYWNoIGRhcyBrYWVzdGNoZW4gbmViZW4gYXBzZmlsdGVyIGFuY2xpY2tlbiBnbGF1YgppY2ggOykgKG5pY2h0IGdhbnogc2ljaGVyLCBhYmVyIFN1U2UgaGF0IGRhcyBzaWNoZXJsaWNoIGluIGRlbiBTdGFuZGFyZApwYWtldGVuKQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbnRlcnJ1cHRzIHVudGVyIGxpbnV4IChHbm9tZSwgMjAuIEp1bCAxOTk4LCAyMDo0NjoxMyk6Cm1vaW4sCgplaW4gZnJldW5kIHZvbiBtaXIgaGF0IGVpbiBrbGVpbmVzIHByb2I6ClBDIG1pdCBpbnN0YWxsaWVydGVtIGxpbnV4LCBpbSB0ZXh0bW9kdXMgbGFldWZ0IGVyIHd1bmRlcmJhci4Kc29iYWxkIGVyIFggc3RhcnRldCwga29tbXQgZGllIG1lbGR1bmcsIGRhc3Mgc2ljaCBncmFmaWtrYXJ0ZSB1bmQgaXNkbi0Ka2FydGUgYXVmIGRlbXNlbGJlbiBpbnRlcnJ1cHQgYmVmaW5kZW4gdW5kIHN0dWVyenQgZ2FuZGVubG9zIGFiLgpzZWluZSBmcmFnZToga2FubiBtYW4gdW5kIHdlbm4gd2llLCBkaWUgaW50ZXJydXB0cyBkZXIgZWluemVsbmVuIGthcnRlbgp2b24gaGFuZCB6dXdlaXNlbj8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbWlnYSAoR25vbWUsIDIwLiBKdWwgMTk5OCwgMjA6NDk6MDYpOgp1bmQgZ2xlaWNoIG5vY2ggZWluZW4gaGludGVyaGVyIDopCgpzZWl0IG5ldWVzdGVtIGJla29tbWUgaWNoIG5hY2ggZGVtIGhvY2hmYWhyZW4gZWluZW4gV0ItcmVxdWVzdGVyLCBpbiB3ZWxjaGVtCnN0ZWh0OiAiTWFrZUxpYnJhcnkgZmFpbGVkIi4KbWFnIG1pciBqbWQgc2FnZW4sIHdhcyBkYXMgZnVlciBlaW4gZmVobGVyIGlzdCB1bmQgd2llIGljaCBpaG4gYmVoZWJlbiBrYW5uPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbnRlcnJ1cHRzIHVudGVyIGxpbnV4IChNYW53ZSwgMjAuIEp1bCAxOTk4LCAyMToxMTo0NCk6Cn4jISBybj1Hbm9tZSBydD05MDA5NjAzNzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAwOTYwMzczCldlbm4gZXMgc2ljaCB1bSBQbHVnJ24nUHJheS1LYXJ0ZW4gaGFuZGVsdDogbWFuIGlzYXBucCwgbWFuIHBucGR1bXAuCgpNYW53ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFtaWdhIChKZWhvdmEsIDIwLiBKdWwgMTk5OCwgMjE6Mzc6MjQpOgp+IyEgcm49R25vbWUgcnQ9OTAwOTYwNTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDk2MDU0NgppY2ggbmVobWUgbWFsIGFuLCBkYXNzIGlzdCBpcmdlbmRlaW4gcHJvZ3JhbW0sIHdhcyBkdSBpbnN0YWxsaWVydCBoYXN0LCB3YXMKZGllc2UgbWVsZHVuZyBlcnpldWd0LiBrb21lbnRpZXJlIGVpbmZhY2ggbWFsIGFsbGUgcHJvZ3JhbW1lLCBkaWUgbmljaHQgaW5zCnN5c3RlbSBnZWhvZXJlbiBhdXMgczpzdGFydHVwLXNlcXVlbmNlIHVuZCBzOnVzZXItc3RhcnR1cCBhdXMuIHNjaGF1IGF1Y2ggbWFsCmltIHdic3RhcnR1cC1vcmRuZXIgbmFjaCwgb2IgZGEgd2FzICJuZXVlcyIgZHJpbiBpc3QuCgp3ZW5uIGRhcyBuaWNodCBoaWxmdCwgbGFzcyBlaW5mYWNoIHNub29wZG9zIG9kZXIgc25vb3B5IGltIGhpbnRlcmdydW5kIGxhdWZlbgp1bmQgbGFzcyBhbGxlIGZlaGxlciBtaXRwcm90b2tvbGxpZXJlbi4gZGEgc3RlaHQgZGFubiBhdWNoIGRlciB0YXNrbmFtZSwgZGVyCmRlbiBmZWhsZXIgdmVydXJzYWNodCBoYXQuCgpob2ZmZSwgZGFzIGhpbGZ0LgoKaioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbnRlcnJ1cHRzIHVudGVyIGxpbnV4IChUcmFuY2VmZWFyLCAyMy4gSnVsIDE5OTgsIDIzOjEwOjAzKToKfiMhIHJuPUdub21lIHJ0PTkwMDk2MDM3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDA5NjAzNzMKSmEsIGltIEJJT1MuIHN0ZWh0IHVlYnJpZ2VucyBpbiBkZXIgbmV1ZW4gY3QsIHNvZ2FyIGZhc3QgZ2VuYXUgZGFzIHByb2JsZW0gOi0pCigxNS85OCwgUy45OCkKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eC1LZXJuZWwgMi4wLjM1IChWZXJzdWNoKSAoTW9yZ290aCwgMjcuIEp1bCAxOTk4LCAxNDo1OTozNik6CkljaCBoYWJlIHZlcnN1Y2h0IGVpbmVuIG5ldWVuIEtlcm5lbCB6dSBiYXN0ZWxuLCBhYmVyIGVyIGhhZW5ndCBpbW1lciBiZWltCmVyc3RlbGxlbiBkZXMgekltYWdlLgptYWtlIHpJbWFnZSBnaWJ0IGZvbGdlbmRlIGZlaGxlciBhdXM6CmxkIC1tIGVsZl9pMzg2IC1UdGV4dCAweDEwMDAwMCAtZSBzdGV4dCBhcmNoL2kzODYva2VybmVsL2hlYWQubyBpbml0L21haW4ubwppbml0L3ZlcnNpb24ubyBcCiAgICAgICAgYXJjaC9pMzg2L2tlcm5lbC9rZXJuZWwubyBhcmNoL2kzODYvbW0vbW0ubyBrZXJuZWwva2VybmVsLm8gbW0vbW0ubwpmcy9mcy5vIGlwYy9pcGMubyBuZXQvbmV0d29yay5hIFwKICAgICAgICBmcy9maWxlc3lzdGVtcy5hIFwKICAgICAgICBkcml2ZXJzL2Jsb2NrL2Jsb2NrLmEgZHJpdmVycy9jaGFyL2NoYXIuYSBkcml2ZXJzL25ldC9uZXQuYQpkcml2ZXJzL3BjaS9wY2kuYSBcCiAgICAgICAgL3Vzci9zcmMvbGludXgvYXJjaC9pMzg2L2xpYi9saWIuYSAvdXNyL3NyYy9saW51eC9saWIvbGliLmEKL3Vzci9zcmMvbGludXgvYXJjaC9pMzg2L2xpYi9saWIuYSAtbyB2bWxpbnV4Cm5tIHZtbGludXggfCBncmVwIC12ICdcKGNvbXBpbGVkXClcfFwoXC5vJFwpXHxcKCBhIFwpJyB8IHNvcnQgPiBTeXN0ZW0ubWFwCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMvbGludXgtMi4wLjM1L2FyY2gvaTM4Ni9ib290JwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC91c3Ivc3JjL2xpbnV4LTIuMC4zNS9hcmNoL2kzODYvYm9vdC9jb21wcmVzc2VkJwp0bXBwaWdneT0vdG1wLyQkcGlnZ3k7IFwKcm0gLWYgJHRtcHBpZ2d5ICR0bXBwaWdneS5neiAkdG1wcGlnZ3kubG5rOyBcCmlmIGhhc2ggZW5jYXBzIDI+IC9kZXYvbnVsbDsgdGhlbiBcCiAgb2JqZHVtcCAtayAtcSAgLW8gMHgxMDAwMDAgL3Vzci9zcmMvbGludXgvdm1saW51eCA+ICR0bXBwaWdneTsgXAplbHNlIFwKICBvYmpjb3B5IC1PIGJpbmFyeSAtUiAubm90ZSAtUiAuY29tbWVudCAtUiAuc3RhYiAtUiAuc3RhYnN0cgovdXNyL3NyYy9saW51eC92bWxpbnV4ICR0bXBwaWdneTsgXApmaTsgXApnemlwIC1mIC05IDwgJHRtcHBpZ2d5ID4gJHRtcHBpZ2d5Lmd6OyBcCmlmIGhhc2ggZW5jYXBzIDI+IC9kZXYvbnVsbDsgdGhlbiBcCiAgZW5jYXBzIC0tdGFyZ2V0IGVsZjMyLWkzODYgcGlnZ3kubyAkdG1wcGlnZ3kuZ3ogaW5wdXRfZGF0YSBpbnB1dF9sZW47IFwKZWxzZSBcCiAgZWNobyAiU0VDVElPTlMgeyAuZGF0YSA6IHsgaW5wdXRfbGVuID0gLjsgTE9ORyhpbnB1dF9kYXRhX2VuZCAtIGlucHV0X2RhdGEpCmlucHV0X2RhdGEgPSAuOyAqKC5kYXRhKSBpbnB1dF9kYXRhX2VuZCA9IC47IH19IiA+ICR0bXBwaWdneS5sbms7IFwKICBsZCAtbSBlbGZfaTM4NiAtbSBlbGZfaTM4NiAtciAtbyBwaWdneS5vIC1iIGJpbmFyeSAkdG1wcGlnZ3kuZ3ogLWIKZWxmMzItaTM4NiAtVCAkdG1wcGlnZ3kubG5rOyBcCmZpOyBcCnJtIC1mICR0bXBwaWdneSAkdG1wcGlnZ3kuZ3ogJHRtcHBpZ2d5LmxuawpvYmpkdW1wOiBpbGxlZ2FsIG9wdGlvbiAtLSBrClVzYWdlOiBvYmpkdW1wIFstYWhpZkNkRHByUnRUeHNTbHddIFstYiBiZmRuYW1lXSBbLW0gbWFjaGluZV0gWy1qCnNlY3Rpb24tbmFtZV0KICAgICAgIFstLWFyY2hpdmUtaGVhZGVyc10gWy0tdGFyZ2V0PWJmZG5hbWVdIFstLWRlYnVnZ2luZ10gWy0tZGlzYXNzZW1ibGVdCiAgICAgICBbLS1kaXNhc3NlbWJsZS1hbGxdIFstLWRpc2Fzc2VtYmxlLXplcm9lc10gWy0tZmlsZS1oZWFkZXJzXQogICAgICAgWy0tc2VjdGlvbi1oZWFkZXJzXSBbLS1oZWFkZXJzXQogICAgICAgWy0taW5mb10gWy0tc2VjdGlvbj1zZWN0aW9uLW5hbWVdIFstLWxpbmUtbnVtYmVyc10gWy0tc291cmNlXQogICAgICAgWy0tYXJjaGl0ZWN0dXJlPW1hY2hpbmVdIFstLXJlbG9jXSBbLS1mdWxsLWNvbnRlbnRzXSBbLS1zdGFic10KICAgICAgIFstLXN5bXNdIFstLWFsbC1oZWFkZXJzXSBbLS1keW5hbWljLXN5bXNdIFstLWR5bmFtaWMtcmVsb2NdCiAgICAgICBbLS13aWRlXSBbLS12ZXJzaW9uXSBbLS1oZWxwXSBbLS1wcml2YXRlLWhlYWRlcnNdCiAgICAgICBbLS1zdGFydC1hZGRyZXNzPWFkZHJdIFstLXN0b3AtYWRkcmVzcz1hZGRyXQogICAgICAgWy0tcHJlZml4LWFkZHJlc3Nlc10gWy0tW25vLV1zaG93LXJhdy1pbnNuXSBbLS1kZW1hbmdsZV0KICAgICAgIFstLWFkanVzdC12bWE9b2Zmc2V0XSBbLUVCfC1FTF0gWy0tZW5kaWFuPXtiaWd8bGl0dGxlfV0gb2JqZmlsZS4uLgphdCBsZWFzdCBvbmUgb3B0aW9uIGJlc2lkZXMgLWwgKC0tbGluZS1udW1iZXJzKSBtdXN0IGJlIGdpdmVuCm9iamR1bXA6IHN1cHBvcnRlZCB0YXJnZXRzOiBlbGYzMi1pMzg2IGEub3V0LWkzODYtbGludXggc3JlYyBzeW1ib2xzcmVjIHRla2hleApiaW5hcnkgaWhleCB0cmFkLWNvcmUKbGQgLW0gZWxmX2kzODYgLVR0ZXh0IDB4MTAwMCAtZSBzdGFydHVwXzMyICAtbyB2bWxpbnV4IGhlYWQubyBtaXNjLm8gcGlnZ3kubwptYWtlWzJdOiBMZWF2aW5nIGRpcmVjdG9yeSBgL3Vzci9zcmMvbGludXgtMi4wLjM1L2FyY2gvaTM4Ni9ib290L2NvbXByZXNzZWQnCmlmIGhhc2ggZW5jYXBzIDI+IC9kZXYvbnVsbDsgdGhlbiBcCiAgb2JqZHVtcCAtayAtcSAgLW8gMHgxMDAwIGNvbXByZXNzZWQvdm1saW51eCA+IGNvbXByZXNzZWQvdm1saW51eC5vdXQ7IFwKZWxzZSBcCiAgb2JqY29weSAtTyBiaW5hcnkgLVIgLm5vdGUgLVIgLmNvbW1lbnQgLVIgLnN0YWIgLVIgLnN0YWJzdHIKY29tcHJlc3NlZC92bWxpbnV4IGNvbXByZXNzZWQvdm1saW51eC5vdXQ7IFwKZmludGUKb2JqZHVtcDogaWxsZWdhbCBvcHRpb24gLS0gawpVc2FnZTogb2JqZHVtcCBbLWFoaWZDZERwclJ0VHhzU2x3XSBbLWIgYmZkbmFtZV0gWy1tIG1hY2hpbmVdIFstagpzZWN0aW9uLW5hbWVdCiAgICAgICBbLS1hcmNoaXZlLWhlYWRlcnNdIFstLXRhcmdldD1iZmRuYW1lXSBbLS1kZWJ1Z2dpbmddIFstLWRpc2Fzc2VtYmxlXQogICAgICAgWy0tZGlzYXNzZW1ibGUtYWxsXSBbLS1kaXNhc3NlbWJsZS16ZXJvZXNdIFstLWZpbGUtaGVhZGVyc10KICAgICAgIFstLXNlY3Rpb24taGVhZGVyc10gWy0taGVhZGVyc10KICAgICAgIFstLWluZm9dIFstLXNlY3Rpb249c2VjdGlvbi1uYW1lXSBbLS1saW5lLW51bWJlcnNdIFstLXNvdXJjZV0KICAgICAgIFstLWFyY2hpdGVjdHVyZT1tYWNoaW5lXSBbLS1yZWxvY10gWy0tZnVsbC1jb250ZW50c10gWy0tc3RhYnNdCiAgICAgICBbLS1zeW1zXSBbLS1hbGwtaGVhZGVyc10gWy0tZHluYW1pYy1zeW1zXSBbLS1keW5hbWljLXJlbG9jXQogICAgICAgWy0td2lkZV0gWy0tdmVyc2lvbl0gWy0taGVscF0gWy0tcHJpdmF0ZS1oZWFkZXJzXQogICAgICAgWy0tc3RhcnQtYWRkcmVzcz1hZGRyXSBbLS1zdG9wLWFkZHJlc3M9YWRkcl0KICAgICAgIFstLXByZWZpeC1hZGRyZXNzZXNdIFstLVtuby1dc2hvdy1yYXctaW5zbl0gWy0tZGVtYW5nbGVdCiAgICAgICBbLS1hZGp1c3Qtdm1hPW9mZnNldF0gWy1FQnwtRUxdIFstLWVuZGlhbj17YmlnfGxpdHRsZX1dIG9iamZpbGUuLi4KYXQgbGVhc3Qgb25lIG9wdGlvbiBiZXNpZGVzIC1sICgtLWxpbmUtbnVtYmVycykgbXVzdCBiZSBnaXZlbgpvYmpkdW1wOiBzdXBwb3J0ZWQgdGFyZ2V0czogZWxmMzItaTM4NiBhLm91dC1pMzg2LWxpbnV4IHNyZWMgc3ltYm9sc3JlYyB0ZWtoZXgKYmluYXJ5IGloZXggdHJhZC1jb3JlCm1ha2VbMV06ICoqKiBbekltYWdlXSBFcnJvciAxCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvdXNyL3NyYy9saW51eC0yLjAuMzUvYXJjaC9pMzg2L2Jvb3QnCm1ha2U6ICoqKiBbekltYWdlXSBFcnJvciAyCnRob3IgW2xpbnV4XSAKCioqc2V1ZnoqKgpIYXQgZWluZXIgbmUgaWRlZT8KCk1vcmdvdGgsIHJhdGxvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4LUtlcm5lbCAyLjAuMzUgKFZlcnN1Y2gpIChKb2YsIDI3LiBKdWwgMTk5OCwgMTg6MDc6MDEpOgp+IyEgcm49TW9yZ290aCBydD05MDE1NDQzNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAxNTQ0Mzc2CgogTmV1ZSBiaW51dGlscyBpbnN0YWxsaWVyZW4sIGZ0cDovL3N1bnNpdGUudW5jLmVkdS9wdWIvbGludXgvR0NDL2JpbnV0aWwqLgpBbSBCZXN0ZW4gZGVuIEdDQyBnbGVpY2ggbWl0IGFrdHVhbGllc2llcmVuLCBsaWVndCBhdWNoIGRhLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhbWlnYSAoQWNyaW1vbiwgMjcuIEp1bCAxOTk4LCAxOTozNzoyMCk6Cn4jISBybj1KZWhvdmEgcnQ9OTAwOTYzNDQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDk2MDU0NgpFaW5mYWNoZXJlIE1vZWdsaWNoa2VpdDoKVHJhZ2UgaW4gczpzdGFydHVwLXNlcXVlbmNlCnNldCBlY2hvIG9uCmVpbiB1bmQgc29yZ2UgZGFmdWVyLCBkYXN6IGtlaW5lIEJvb3R1cC1TY3JlZW5zIGVyc2NoZWluZW4uCkRhbm4gc2llaHN0IER1LCB3ZWxjaGUgQmVmZWhsZSBtb21lbnRhbiBhdXNnZWZ1ZWhydCB3ZXJkZW4uCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlbnRpdW0gZ2VzdWNodCAoQW5hY3Jpb24sIDI5LiBKdWwgMTk5OCwgMjA6MDU6NTQpOgpJY2ggc3VjaGUgZnVlciBtZWluZW4gUEMgZWluZW4gUDIzM01NWCAuLi4uIFA5MCBpc3QgbmljaHQgc28gcHJhbGwgdW5kIFAyIG11c3MKbmljaHQgc2VpbiAuLi4uIGR1bW1lcndlaXNlIHdpcmQgZGVyIG5pY2h0IG1laHIgaGVyZ2VzdGVsbHQuIFdlaXNzIGplbWFuZCBub2NoCm5lIFF1ZWxsZSA/CgpBbmFjKiAtIGZ1ZXIgamVkZW4gVGlwIF91bmVuZGxpY2hfIGRhbmtiYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT0RCQyAoTm9yZ2VzY2gsIDI5LiBKdWwgMTk5OCwgMjA6NTE6MTIpOgp+IyEgcm49Q2FsaW1lcmEgcnQ9OTAwNTk1NDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMDU5NTQ4OApOaW1tIEJvcmxhbmQgQnVpbGRlciAzLjAgZGEgaXN0IGFsbGVzIGRyaW4gd2FzIGR1IGJyYXVjaHN0CkdydXNzCk4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbHVzc2RpYWdyYW1tZSAoSG9ibywgMzAuIEp1bCAxOTk4LCAwOTo1NDo0NCk6CkhpIElociwKCldpciBzdWNoZW4gU29mdHdhcmUsIGRpZSBhdXMgU291cmNlLUNvZGUgRmx1c3NkaWFncmFtbWUsCk5hc3NpLVNobmVpZGVybWFuLURpYWdyYW1tZSBvLmFlLiBlcnN0ZWxsdC4KRGFzIFByb2dyYW1tIE1VU1MgYXVjaCB1bnRlciBVbml4IGxhdWZlbi4KQW55IElkZWE/CgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGVudGl1bSBnZXN1Y2h0IChUcmFuY2VmZWFyLCAzMC4gSnVsIDE5OTgsIDExOjMyOjUyKToKfiMhIHJuPUFuYWNyaW9uIHJ0PTkwMTczNTU1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDE3MzU1NTQKSzYKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXgtS2VybmVsIDIuMC4zNSAoVmVyc3VjaCkgKE1hcmN1cywgMzAuIEp1bCAxOTk4LCAxNzo1Nzo1Mik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkwMTU0NDM3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDE1NDQzNzYKcm0gL3Vzci9iaW4vZW5jYXBzCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZW50aXVtIGdlc3VjaHQgKEFuYWNyaW9uLCAzMC4gSnVsIDE5OTgsIDE4OjQzOjQxKToKfiMhIHJuPUFuYWNyaW9uIHJ0PTkwMTczNTU1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDE3MzU1NTQKSGFiIGVpbmVuICpodWVwZiwgZnJldSwganViZWwqIDopKSkKCkRhbmtlIGFuIGFsbGUgOikKCkFuYWMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmx1c3NkaWFncmFtbWUgKFd1cnplbCwgMzAuIEp1bCAxOTk4LCAxOTozODo1MSk6Cn4jISBybj1Ib2JvIHJ0PTkwMTc4NTI4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDE3ODUyODQKaG0sIHdhcyBkYXJmIGVzIGRlbm4ga29zdGVuPyBpY2gga2VubmUgZGEgZWluIGVpZ2VudGxpY2ggc2VociBndXRlcyB1bmQKbGVpc3R1bmdzZmFlaGlnZXMgcHJvZHVrdCwgbnVyIGViZW4gbmljaHQgZ2FueiBiaWxsaWcuLi4gbGFldWZ0IHVudGVyIHVuaXgsCm12cywgb3MyLCB3aW5kb29mIGV0YwoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4LUtlcm5lbCAyLjAuMzUgKFZlcnN1Y2gpIChNb3Jnb3RoLCAzMS4gSnVsIDE5OTgsIDEyOjQyOjUxKToKfiMhIHJuPU1hcmN1cyBydD05MDE4MTQyNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAxNTQ0Mzc2CkRBTktFRUVFRUVFICEhISEhCkVzIGZ1bmt0aW9uaWVydC4uLmFiZXIuLi4gaWNoIGhhYiBzY2hvbiB3aWVkZXIgZWluIHByb2JsZW0uCk1pdCBkZW0gbmV1ZW4gS2VybmVsIHdpbGwgbWVpbiB4LXdpbmRvd3MgbmljaHQgbWVoci4KRm9sZ2VuZGUgTWVsZHVuZyBnaWJ0czoKWEY4NkNvbmZpZzogL2V0Yy9YRjg2Q29uZmlnCigqKikgc3RhbmRzIGZvciBzdXBwbGllZCwgKC0tKSBzdGFuZHMgZm9yIHByb2JlZC9kZWZhdWx0IHZhbHVlcwooKiopIFhLQjoga2V5bWFwOiAieGZyZWU4NihkZSkiIChvdmVycmlkZXMgb3RoZXIgWEtCIHNldHRpbmdzKQooKiopIE1vdXNlOiB0eXBlOiBNb3VzZVN5c3RlbXMsIGRldmljZTogL2Rldi9tb3VzZSwgYmF1ZHJhdGU6IDEyMDAKKCoqKSBNb3VzZTogYnV0dG9uczogMwooKiopIE1hY2g2NDogR3JhcGhpY3MgZGV2aWNlIElEOiAiQVRJIFhwZXJ0QFdvcmssIDNEIFJhZ2UgUHJvLiIKKCoqKSBNYWNoNjQ6IE1vbml0b3IgSUQ6ICJFaXpvIgooLS0pIE1hY2g2NDogTW9kZSAiMTYwMHgxMjAwIiBuZWVkcyBoc3luYyBmcmVxIG9mIDg3LjUwIGtIei4gRGVsZXRlZC4KKC0tKSBNYWNoNjQ6IE1vZGUgIjExNTJ4ODY0IiBuZWVkcyBoc3luYyBmcmVxIG9mIDg5LjYyIGtIei4gRGVsZXRlZC4KKC0tKSBNYWNoNjQ6IE1vZGUgIjEyODB4MTAyNCIgbmVlZHMgaHN5bmMgZnJlcSBvZiA5MS4xNSBrSHouIERlbGV0ZWQuCigtLSkgTWFjaDY0OiBNb2RlICIxNjAweDEyMDAiIG5lZWRzIGhzeW5jIGZyZXEgb2YgOTMuNzUga0h6LiBEZWxldGVkLgooLS0pIE1hY2g2NDogTW9kZSAiMTYwMHgxMjAwIiBuZWVkcyBoc3luYyBmcmVxIG9mIDEwNS43NyBrSHouIERlbGV0ZWQuCigtLSkgTWFjaDY0OiBNb2RlICIxMjgweDEwMjQiIG5lZWRzIGhzeW5jIGZyZXEgb2YgMTA3LjE2IGtIei4gRGVsZXRlZC4KKC0tKSBNYWNoNjQ6IE1vZGUgIjE4MDBYMTQ0MCIgbmVlZHMgaHN5bmMgZnJlcSBvZiA5Ni4xNSBrSHouIERlbGV0ZWQuCigtLSkgTWFjaDY0OiBNb2RlICIxODAwWDE0NDAiIG5lZWRzIGhzeW5jIGZyZXEgb2YgMTA0LjUyIGtIei4gRGVsZXRlZC4KKCoqKSBGb250UGF0aCBzZXQgdG8KIi91c3IvWDExUjYvbGliL1gxMS9mb250cy9taXNjLywvdXNyL1gxMVI2L2xpYi9YMTEvZm9udHMvNzVkcGkvOnVuc2NhbGVkLC91c3IvClgxMVI2L2xpYi9YMTEvZm9udHMvNzVkcGkvIgpfWDExVHJhbnNTb2NrZXRVTklYQ29ubmVjdDogQ2FuJ3QgY29ubmVjdDogZXJybm8gPSAxMTEKZ2l2aW5nIHVwLgp4aW5pdDogIENvbm5lY3Rpb24gcmVmdXNlZCAoZXJybm8gMTExKTogIHVuYWJsZSB0byBjb25uZWN0IHRvIFggc2VydmVyCnhpbml0OiAgTm8gc3VjaCBwcm9jZXNzIChlcnJubyAzKTogIFNlcnZlciBlcnJvci4KCioqc2V1ZnoqKgoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXgtS2VybmVsIDIuMC4zNSAoVmVyc3VjaCkgKE1hcmN1cywgMzEuIEp1bCAxOTk4LCAxMzozNDo0OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkwMTg4MTc3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDE1NDQzNzYKY29tcGlsaWVyIGRlbiBsaW51eCBrZXJuZWwgbWl0IGdjYy0yLjcueCB1bmQgTklDSFQgbWl0IGdjYy0yLjggb2RlciBlZ2NzCihvZGVyIGVyc2V0emUgYXJjaC9pMzg2L2tlcm5lbC9pb3BvcnRzLmMgaW4gMi4wIGR1cmNoIGRpZSAyLjEgZXIgVmFyaWFudGUuCikKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGloaSA6LSkgKFVydGhvbmEsICAzLiBBdWcgMTk5OCwgMTI6MDY6MzkpOgpodHRwOi8vd3d3LndlbGwuY29tL3VzZXIvY3luc2EvbmV3YnV0dC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChTdG9wZGVuYnVzLCAgOC4gQXVnIDE5OTgsIDEzOjM4OjA2KToKSGkgISEKSWNoIHdlaXNzLCBlcyB3dXJkZSB2b3IgZWluaWdlciBaZWl0IHNjaG9uIG1hbCBnZWZyYWd0LCBsZWlkZXIgaXN0IGRlcgpBcnRpa2VsIG5pY2h0IG1laHIgdmVyZnVlZ2Jhci4gV2llIGthbm4gaWNoIHp3ZWkgTGludXgtUmVjaG5lciAoU3VzZSA1LjIpCm1pdCBlaW5lbSBOdWxsbW9kZW1rYWJlbCB2ZXJiaW5kZW4gPz8KCkphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludHlwZSA0MDAwIChSaWt1cywgMTAuIEF1ZyAxOTk4LCAxMTo1MToyMSk6CkhpLAppY2ggaGFiZSBvYmlnZW4gR0RJLURydWNrZXIsIGRlciBiaXNoZXIgdW50ZXIgV2luOTUgc2VociBndXQgZ2luZy4KTnVuIE1VU1MgaWNoIFdpbk50IG51dHplbiB1bmQgc3VjaGUgVHJlaWJlciBmdWVyIGRpZXNlbiBEcnVja2VyLiBJY2gKaGF0dGUga2F1bSBaZWl0LCBhdWYgZGVtIE5ldHogZGFuYWNoIHp1IHNjaGF1ZW4uIEhhdCBlaW5lciBUcmVpYmVyCmRhZnVlciwgd2Vpc3MsIHdvIGVzIHdlbGNoZSBnaWJ0IGV0YyBwcD8gQW5zb25zdGVuIGJsZWlidCBtaXIgZGFubgpudXIgZGVyIFdlZyB6dW0gSGFlbmRsZXIuIEFuZGVyZXIgRHJ1Y2tlciBrb21tdCBhdWNoIG5pY2h0IGluIEZyYWdlIQoKRGFua2UsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaG5lcnZlcmJpbmRlbiB1bnRlciBMaW51eCAoVGF6LCAxMC4gQXVnIDE5OTgsIDEyOjQyOjMzKToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTAyNTc2Mjg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMjU3NjI4NgpNaXQgSVAgUm91dGluZyBvZGVyIGVpbnMgYWxzIFRlcm1pbmFsPwoKVGF6LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChTdG9wZGVuYnVzLCAxMC4gQXVnIDE5OTgsIDE1OjUzOjMwKToKfiMhIHJuPVRheiBydD05MDI3NDU3NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAyNTc2Mjg2CmRlciBlaW5lIFJlY2huZXIgc29sbCBhbHMgVGVybWluYWwgYXJiZWl0ZW4KCkphbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJlY2huZXJ2ZXJiaW5kZW4gdW50ZXIgTGludXggKFRheiwgMTEuIEF1ZyAxOTk4LCAwODo1ODowMik6Cn4jISBybj1TdG9wZGVuYnVzIHJ0PTkwMjc1NzIxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDI1NzYyODYKCkRhbm4gYnJhdWNoc3QgRHUgc293YXMgd2llOgoKczE6MjM6cmVzcGF3bjovc2Jpbi9nZXR0eSAtTCB0dHlTMCAxOTIwMCB2dDEwMAoKaW4gZGVyIGluaXR0YWIsIGRhbm4gImluaXQgcSIgenVtIG5ldWVpbmxlc2VuIHNlbGJpZ2VyLgoKQXVmIGRlbiBhbmRlcmVuIFBDIGVpbmZhY2ggaXJnZW5kZWluIFRlcm1pbmFscHJvZ3JhbW0gYXVmIApkaWUgc2VyaWVsbGUgTGVpdHVuZyBsb3NsYXNzZW4uIERhbm4gc29sbHRlIGVpZ2VudGxpY2ggc2Nob24KZWluIFByb21wdCBlcnNjaGVpbmVuLiBFdnQuIG11c3MgbWFuIG5hdC4gdHR5UzAgYXVmIHR0eVMxIHVuZAphbmRlcmUgR2VnZWJlbmhlaXRlIGFucGFzc2VuLgoKSWNoIGJldHJlaWJlIHNvIHp1IG1pbmRlc3QgbWVpbiBvcmlnLiB2dDIyMCBhbiBtZWluZW0gUEMuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChUYXosIDExLiBBdWcgMTk5OCwgMDg6NTk6MzApOgp+IyEgcm49VGF6IHJ0PTkwMjgxODY4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDI1NzYyODYKCk5vY2h3YXM6IGJlaSBEZWJpYW4gMi4wIGlzdCBpbiBkZXIgaW5pdHRhYiBnbGVpY2ggZWluCkJlaXNwaWVsIGZ1ZXIgbmVuIHNlcmllbGxlcyBUZXJtaW5hbCBtaXQgZGFiZWksIGljaCB3ZWlzcwpuaWNodCB3YXMgZGEgZGllIGFuZGVyZW4gRGlzdHJpYnV0aW9uZW4gbWFjaGVuLCBhYmVyIHNjaGF1CmRvY2ggbWFsIGluIGRpZSAvZXRjL2luaXR0YWIuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChZYXJlbiwgMTEuIEF1ZyAxOTk4LCAxNTozNjo1Myk6Cn4jISBybj1UYXogcnQ9OTAyODE4NjgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMjU3NjI4NgpNYW4ga2FubiBkYXMgYXVjaCBlcnN0IGVpbm1hbCB2b24gZGVyIENvbnNvbGUgYXVzIGFscyByb290IGF1c3Byb2JpZXJlbiAtIGljaApiZW51dHplIGdsYXViZSBpY2ggYWdldHR5IG9kZXIgbWdldHR5LCB3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lOyBtdWVzc3RlCm1hbCBuYWNoc2Vobi4gRnVua3Rpb25pZXJ0IGplZGVuZmFsbHMgZ2FueiBrbGFzc2UgdW5kIGRlciBhbHRlIDI4NmVyLCBkZW4gbWFuCm5vY2ggaGF0IHZlcnN0YXVidCB3ZW5pZ3N0ZW5zIGltIEFyYmVpdHN6aW1tZXIgc3RhdHQgYXVmIGRlbSBEYWNoYm9kZW4gOy0pCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJlY2huZXJ2ZXJiaW5kZW4gdW50ZXIgTGludXggKFN0b3BkZW5idXMsIDExLiBBdWcgMTk5OCwgMTY6NDU6MTQpOgp+IyEgcm49WWFyZW4gcnQ9OTAyODQyNjEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMjU3NjI4NgphaCBrbGFzc2UgISEhIERhcyBwcm9iaWVyIGljaCBnbGVpY2ggbWFsIGF1cyAhIFVuZCB3YXMgbXVzcyBpY2ggbWFjaGVuLCB3ZW5uCmljaCBUQ1AvSVAgdWViZXIgZGFzIE51bGxNb2RlbWthYmVsIGZhaHJlbiBtb2VjaHQgPyBTcHJpY2ggbmVuIHRlbG5ldC9mdHAKdm9tIEhvc3RSZWNobmVyIGF1ZiBkZW0gU2VydmVyUmVjaG5lciBtYWNoZW4gbW9lY2h0ID8KCkphbmljZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVjaG5lcnZlcmJpbmRlbiB1bnRlciBMaW51eCAoV29vZHksIDExLiBBdWcgMTk5OCwgMTY6NDU6NTIpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05MDI4NDY3MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAyNTc2Mjg2CnpCLiBTTElQIHZlcndlbmRlbi4uLiBpc3QgbmljaHQgZ2FueiBzbyB0cml2aWFsLCBzdGVodCBhYmVyIGluCmRpdmVyc2VuIG1hbiBwYWdlcyB1bmQgZ3V0ZW4gSGFuZGJ1ZWNoZXJuIGVya2xhZXJ0IDopCgpXb29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChCbG9vZHloYXJyeSwgMTEuIEF1ZyAxOTk4LCAyMzoyMjozMik6Cn4jISBybj1Xb29keSBydD05MDI4NDY3NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAyNTc2Mjg2CkRhbm4gbmltbSBkb2NoIGJlc3NlciBnbGVpY2ggZGVuIHBwcGQuIERlciBFdHdhc21laHJhdWZ3YW5kIGxvaG50IHNpY2guCi0+IEhvd1RvJ3MgdW5kIE1pbmlIb3dUbydzIHNjaGF1bi4KCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSZWNobmVydmVyYmluZGVuIHVudGVyIExpbnV4IChXb29keSwgMTEuIEF1ZyAxOTk4LCAyMzozMTowOSk6Cn4jISBybj1CbG9vZHloYXJyeSBydD05MDI4NzA1NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTAyNTc2Mjg2CkFsc28gZGllIFN0YWVya2VuIHZvbiBQUFAga29tbWVuIElNSE8gYmVpIE51bGxtb2RlbXZlcmJpbmR1bmcKbmljaHQgd2lya2xpY2ggc28genVtIHRyYWdlbiwgYWJlciBpcyBuYXR1ZXJsaWNoIGF1Y2ggbmUKTW9lZ2xpY2hrZWl0LCBrZWluZSBGcmFnZS4KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlY2huZXJ2ZXJiaW5kZW4gdW50ZXIgTGludXggKEhhdGUsIDEyLiBBdWcgMTk5OCwgMTA6NDg6MDApOgp+IyEgcm49V29vZHkgcnQ9OTAyODQ2NzUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMjU3NjI4NgpwcHBkIGdlaHQgdmllbCBlaW5mYWNoZXIKRWluZmFjaCBkZW4gcHBwZCBpbiBpbml0dGFiIGltbWVyIGF1ZiBkZW0gcG9ydCBoYWVuZ2VuIGxhc3NlbgpEYXMgZ2xlaWNoZSBhdWYgZGVtIGFuZGVyZW4gUmVjaG5lci4KRGFzIGhhdCBiZWkgbWlyIHd1bmRlcmJhciBnZXRhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVjaG5lcnZlcmJpbmRlbiB1bnRlciBMaW51eCAoSmltZGlncml6LCAxMi4gQXVnIDE5OTgsIDE3OjI3OjAzKToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTAyODQ2NzE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwMjU3NjI4NgpIb2ksCgptYW4gLWsgc2xpcAptYW4gLWsgcHBwCgpzaWNoZXIgaGFiZW4gYW5kZXJlIFNwaWVsZXIgYXVjaCB0b2xsZSBGQVFzIHp1Ckxvc2l4IHNsaXAvcHBwCgpjdSwKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbWUgQ0QvRHJ1Y2tlciAoSGlnaGxhbmRlciwgIDIuIFNlcCAxOTk4LCAxNDowNDoxMCk6CkVpbiBGcmV1bmQgdm9uIG1pciBoYXQgZWluIHNlbHRzYW1lcyBQcm9ibGVtLiBJY2ggc2NocmVpYiBtYWwsIHdhcyBpY2gKZGF2b24gd2Vpc3M6Cldlbm4gZGVyIERydWNrZXIgKFN0eWx1cyBDb2xvciA2MDApIGFuZ2VzY2hhbHRldCBpc3QsIHN0cmVpa3QgZGFzIChBVEFQSSkKQ0QtUm9tLiBTcGludXAsIHNwaW5kb3duLCBuaXggbWVociByaWNodGlnIGxlc2VuIHVuZCBzby4gSXN0IGRlciBEcnVja2VyCmF1c2dlc2NoYWx0ZXQsIGdlaHQncy4KU2FnZW4gaXJnZW5kIGplbWFuZCBkaWVzZSBtZXJrd3VlcmRpZ2VuIFN5bXB0b21lIHdhcz8KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtZSBDRC9EcnVja2VyIChIaWdobGFuZGVyLCAgMi4gU2VwIDE5OTgsIDE0OjA1OjU4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTA0NzM3ODUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNDczNzg1MApQUzogV2luIG1lbGRldCBfa2VpbmVfIEtvbmZsaWt0ZSAobmljaHQgZGFzcyBkYXMgd2FzIGhlaXNzZW4gbXVzcywgYWJlcgppbW1lcmhpbikuICAtSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW1lIENEL0RydWNrZXIgKENhdHdlYXpsZSwgIDIuIFNlcCAxOTk4LCAxNTo1MzowNSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkwNDczNzk1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDQ3Mzc4NTAKSWNoIGhhYiBhdWNoIG5lbiBTdHlsdXMgNjAwIHVuZCBoYWIgYXVjaCBuZW4gQVRBUEktQ0RST00uIEJlaSBtaXIgCmtsYXBwdCBkYXMuIFRpcHM6IENkcm9tLXRyZWliZXIgaW4gZGllIGF1dG9leGVjIGVpbnRyYWdlbi4gTmV1ZSBFU0MtVHJlaWJlcgpiZXNvcmdlbiAoQmVpIEVwc29uIGFucnVmZW4sIHNpY2ggYmVzY2h3ZXJlbiB1bmQgYmVoYXVwdGVuLCBpcmdlbmRlaW5lIGRsbAp3dWVyZGUgaW1tZXIgZnVlciBBYnN0dWVyemUgaW4gaXJnZW5kZWluZW0gTW9kdWwgYmVpbSBEcnVja2VuIHNvcmdlbiwgZGllCnNjaGlja2VuIGRhbm4gZnJlaXdpbGxpZyBuZSBVcGRhdGUtQ0QpLiBGaW5hbGVyIFRpcDogV2luZG93cyBuZXVpbnN0YWxsaWVyZW4uCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWhhYWFhIDotKSAoQXJrLCAgMy4gU2VwIDE5OTgsIDE3OjQ0OjIyKToKSGloaSwgaGFiIGljaCBoZXV0ZSBhdXMgbmVyIG5ld3Nncm91cCBlcmhhbHRlbjoKCgo+IFJlYXNvbmFibGUgRG91YnQ/IAo+ICAKPiBCeSBGcmVkIExhbmdhLCBUZWNoV2ViIGNvbnRyaWJ1dG9yCj4gCj4gQXMgZXZpZGVuY2UgbGVha3Mgb3V0LCBpdCdzIGdldHRpbmcgaGFyZGVyIGFuZCBoYXJkZXIgdG8ga2VlcCBhbiBvcGVuCj4gbWluZCBhYm91dCBNaWNyb3NvZnQncyBhY3Rpdml0aWVzLiAKPiAKPiBUaGUgVS5TLiBqdXN0aWNlIHN5c3RlbSBpcyBzdXBwb3NlZCB0byBiZSBiYXNlZCBvbiB0aGUgcHJlc3VtcHRpb24gb2YKPiBpbm5vY2VuY2UuIFN0aWxsLCBwbGFpbnRpZmZzIGFuZCBkZWZlbmRhbnRzIG9mdGVuIHRyeSB0byBzcGluIHB1YmxpYwo+IG9waW5pb24gdG8gaW5mbHVlbmNlIG9yIHByZWp1ZGljZSBhIGxlZ2FsIHByb2NlZWRpbmcuIFRoZSBtb3JlIGhpZ2gKPiBwcm9maWxlIHRoZSBjYXNlLCB0aGUgZmFzdGVyIHRoZSBzcGlubWVpc3RlcnMgc3Bpbi4gCj4gCj4gVGhlIGNvbnRyb2xsZWQgbGVha2luZyBvZiBrZXkgcGllY2VzIG9mIGV2aWRlbmNlIGlzIG9uZSBvZiB0aGUgdG9vbHMgb2YKPiB0aGUgc3Bpbm1laXN0ZXI6IEEgZmFjdCwgYWN0LCBvciB1dHRlcmFuY2UsIHRha2VuIG91dCBvZiBjb250ZXh0LCBjYW4KPiBjYXN0IGEgbGl0aWdhbnQgaW4gZWl0aGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbGlnaHQuIEl0IGNhbiBiZQo+IG5lYXJseSBpbXBvc3NpYmxlIG5vdCB0byBsZXQgdGhlc2UgbGVha2VkIGZhY3RvaWRzIHN3YXkgeW91LCBlc3BlY2lhbGx5Cj4gd2hlbiB0aGV5J3JlIGp1aWN5IGFuZCBzZWVtIGJsYXRhbnRseSBpbmNyaW1pbmF0aW5nLiAKPiAKPiBMYXN0IHdlZWssIGFzIEJpbGwgR2F0ZXMgd2FzIGFib3V0IHRvIGJlZ2luIGhpcyBkZXBvc2l0aW9ucyBpbiB0aGUKPiBvbmdvaW5nIGludmVzdGlnYXRpb24gb2YgTWljcm9zb2Z0J3MgYnVzaW5lc3MgcHJhY3RpY2VzLCBUaGUgV2FsbAo+IFN0cmVldCBKb3VybmFsIHJhbiBhbiBhbmFseXNpcyBiYXNlZCBvbiBzbmlwcGV0cyBvZiBvbGQgZS1tYWlsIGFtb25nCj4gTWljcm9zb2Z0IG1hbmFnZXJzLiBPbmUgc3VjaCBtZXNzYWdlIGZyb20gRGF2aWQgQ29sZSwgaGVhZCBvZiBXaW5kb3dzCj4gZGV2ZWxvcG1lbnQsIHRvIEJyYWQgU2lsdmVyYmVyZywgaGVhZCBvZiBzeXN0ZW1zIGRldmVsb3BtZW50LCBmcm9tIDE5OTEKPiBhcHBlYXJzIGVzcGVjaWFsbHkgZGFtbmluZy4gSXQgc2FpZCBXaW5kb3dzIDMuMSB3b3VsZCBkaXNwbGF5IGEgd2FybmluZwo+IHRleHQgaWYgc29tZW9uZSB0cmllcyB0byBzZXQgdXAgV2luZG93cyBvbiBhIG5vbi1NaWNyb3NvZnQgb3BlcmF0aW5nCj4gc3lzdGVtLiBPSywgdGhhdCdzIG5vdCB0b28gYmFkLiBCdXQgdGhlbiB0aGUgZS1tYWlsIHNhaWQ6IAo+IAo+ICJXZSBhcmUgc3VwcG9zZWQgdG8gZ2l2ZSB0aGUgdXNlciB0aGUgb3B0aW9uIG9mIGNvbnRpbnVpbmcgYWZ0ZXIgdGhlCj4gd2FybmluZzsgaG93ZXZlciwgd2Ugc2hvdWxkIHN1cmVseSBjcmFzaCBhdCBzb21lIHBvaW50IHNob3J0bHkgbGF0ZXIghSIKPiAKPiAKPiBOb3csIHRoYXQncyBvdmVyIHRoZSB0b3A6IERlbGliZXJhdGVseSBjYXVzaW5nIHNvZnR3YXJlIHRvIGNyYXNoIG1lcmVseQo+IGJlY2F1c2UgYSBjb21wZXRpdG9yJ3MgcHJvZHVjdCBpcyBwcmVzZW50IGlzIHdheSwgd2F5IG91dCB0aGVyZS4gV2UncmUKPiBub3QgdGFsa2luZyBncmF5IGFyZWEuIFRoaXMsIGlmIHRydWUsIGlzIGp1c3QgcGxhaW4gd3JvbmcuIAo+IAo+IEFjY29yZGluZyB0byB0aGUgSm91cm5hbCwgTWljcm9zb2Z0IGhhcyBhZG1pdHRlZCB0aGUgZS1tYWlsIGlzIHJlYWwsCj4gYnV0IHNheXMgaXQncyB0aGUgZXF1aXZhbGVudCBvZiB3YXRlci1jb29sZXIgdGFsazogbm90aGluZyBtb3JlIHRoYW4gYQo+IHRyaWFsIGJhbGxvb24sIGZpcnN0LWRyYWZ0IHRoaW5raW5nLCBvciB3aWxkLCBibHVlLXNreSBzcGVjdWxhdGlvbi4gVGhlCj4gZS1tYWlsIHdhcyB0YWtlbiBvdXQgb2YgY29udGV4dCwgTWljcm9zb2Z0IHNheXMuIFRoZSBpZGVhcyB3aXRoaW4gd2VyZQo+IGxhdGVyIHNob3QgZG93biBhbmQgbmV2ZXIgYWN0ZWQgdXBvbiwgYW5kIGRvIG5vdCByZWZsZWN0IG9mZmljaWFsCj4gY29tcGFueSBwb2xpY3kuIAo+IAo+IExvbmd0aW1lIHJlYWRlcnMga25vdyBJIGhhdmUgbXkgZG91YnRzIGFib3V0IHNvbWUgb2YgTWljcm9zb2Z0J3MKPiBwcmFjdGljZXMgKGFuZCBJbnRlbCdzIGFuZCBJQk0ncyBhbmQgTG90dXMnIGFuZCBBcHBsZSdzLCBhbmQgb3RoZXJzKS4KPiBCdXQgd2hlbiBhIG1hdHRlciBiZWNvbWVzIHRoZSBzdWJqZWN0IG9mIGEgbGVnYWwgcHJvY2VlZGluZywgSSB0cnkgdG8KPiBhcHByb2FjaCBpdCB3aXRob3V0IHByZWp1ZGljZS4gCj4gCj4gSSBhbHNvIGRvbid0IGxpa2UgdG8gYmUgbWFuaXB1bGF0ZWQgYnkgc3Bpbm1laXN0ZXJzJyBkcmliYmxpbmcgb3V0IGJpdHMKPiBhbmQgcGllY2VzIG9mIGluZm9ybWF0aW9uLiBJIHRoaW5rIHRoZSBKb3VybmFsIGFydGljbGUgd2FzIGRlZmluaXRlbHkKPiBhbiBhbnRpLU1pY3Jvc29mdCBzcGluIHBpZWNlLiBXaGlsZSBJIGVuam95IHRoZSBwYXBlcidzIHRlY2hub2xvZ3kKPiBjb3ZlcmFnZSwgaXQgaGFzIGEgY2xlYXIgcG9saXRpY2FsIGFnZW5kYSB0aGF0IGNvbG9ycyBhbmQgc2xhbnRzIG11Y2gKPiBvZiBpdHMgcmVwb3J0aW5nLCBhbmQgSSBhbHdheXMga2VlcCBtYW55IGdyYWlucyBvZiBzYWx0IGhhbmR5IHdoZW4gdGhlCj4gSm91cm5hbCBwcmVzZW50cyBwb2xpdGljYWwgb3IgbGVnYWwgYW5hbHlzZXMuIAo+IAo+IEJ1dCBldmVuIHdpdGggYWxsIHRoZXNlIGNhdmVhdHMgYW5kIGZpbHRlcnMsIGl0J3MgaGFyZCBub3QgdG8gYmUKPiBzd2F5ZWQuIAo+IAo+IFllYXJzIGFnbywgSSBhc2tlZCB0b3AgTWljcm9zb2Z0IGV4ZWN1dGl2ZSBTdGV2ZSBCYWxsbWVyIGFib3V0IHRoZQo+IHN0b3JpZXMgdGhhdCBjbGFpbWVkIGhlJ2Qgc2hvdXQgIkRPUyBhaW4ndCBkb25lIHVudGlsIExvdHVzIHdvbid0IHJ1biIKPiBhdCBET1MgcHJvZHVjdCBtYW5hZ2VyJ3MgbWVldGluZ3MuIEhlIHNhaWQgdGhlIHN0YXRlbWVudCB3YXMgb3V0IG9mCj4gY29udGV4dCwgYW5kIHRoYXQgaXQgcmVmZXJyZWQgdG8gYWRkaW5nIGxlZ2l0aW1hdGUgbmV3IGZlYXR1cmVzIHRvIERPUwo+IChhIHBlcmZlY3RseSBsZWdhbCBhbmQgZ29vZCB3YXkgdG8gY29tcGV0ZSk7IGl0IGRpZG4ndCByZWZlciB0bwo+IHBsYW50aW5nIHNvZnR3YXJlIGJvb2J5IHRyYXBzIHRvIGNyZWF0ZSBhcnRpZmljaWFsIGJhcnJpZXJzIHRvCj4gY29tcGV0aW5nIHByb2R1Y3RzIChhIHNsZWF6eSBhbmQgcG9zc2libHkgaWxsZWdhbCB3YXkgdG8gY29tcGV0ZSkuIAo+IAo+IEknbSB0cnlpbmcgdG8ga2VlcCBhbiBvcGVuIG1pbmQsIGJ1dCB5b3Uga25vdywgaXQncyBnZXR0aW5nIGF3ZnVsbHkKPiBoYXJkIG5vdCB0byBzZWUgTWljcm9zb2Z0IGluIGEgbmVnYXRpdmUgbGlnaHQuIEkgaG9wZSBhbGwgdGhlIGZhY3RzIC0tCj4gbm90IGp1c3Qgc3Bpbi1kb2N0b3IgZHJpYmJsZXMgLS0gZW1lcmdlIHNvb24gc28gd2UgY2FuIGZ1bGx5IHVuZGVyc3RhbmQKPiB3aGF0IHJlYWxseSB0cmFuc3BpcmVkLCBhbmQgdGhlbiBtb3ZlIGZvcndhcmQuCj4gCj4gRnJlZCBMYW5nYSBpcyBhIHNlbmlvciBjb25zdWx0aW5nIGVkaXRvciBhbmQgY29sdW1uaXN0IGZvciBXaW5kb3dzCj4gTWFnYXppbmUuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBaGFhYWEgOi0pIChHcmltbWJvcm4sICAzLiBTZXAgMTk5OCwgMTg6MDA6MDkpOgp+IyEgcm49QXJrIHJ0PTkwNDgzNzQ2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDQ4Mzc0NjIKSWNoIHNlaGUgZGVuIFB1bmt0IG5pY2h0LiBTaWNoZXIgZ2lidCBlcyBRdWVsbGVuIHVlYmVyIFF1ZWxsZW4sIHVuZCBlcyBpc3QKImFsbGdlbWVpbiBiZWthbm50Iiwgd2FzIHNvIGJlaSBNUyBhYmdlaHQuIE5hIHVuZD8gSGF0IGRlciBEcnVjayB1bmQgZGllCmFsbGdlbWVpbmUgVmVyYnJlaXR1bmcgdm9uICJNZWluIEthbXBmIiAod28gbWFuIGF1Y2ggYWxsZXMgbmFjaGxlc2VuIGtvbm50ZSkKZXR3YSBkaWUgTmF6aXMgZGFyYW4gZ2VoaW5kZXJ0LCBhbiBkaWUgTWFjaHQgenUga29tbWVuPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFoYWFhYSA6LSkgKEFyaywgIDMuIFNlcCAxOTk4LCAxODoxMToxNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTA0ODM4NDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNDgzNzQ2MgpJY2ggZmFuZCBhdWNoIG1laHIgZGllIFJlYWt0aW9uIHZvbiBNUyB3aXR6aWcgOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXRleCAoQWxib2luLCAgMy4gU2VwIDE5OTgsIDE4OjIwOjQ1KToKaWNoIHdvbGx0ZSBtYWwgd2lzc2VuIG9iIGVzIGJlaSBMYXRleCBlaW5lbiBlaW5mYWNoZW4gQmVmZWhsIGdpYnQKd28gbWFuIGFuIGVpbmVuIFZla3RvciBuZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIGFuZnVlZ3QgdW0gZGllIEFuemFobCBkZXIKRWxlbWVudGUKZGVzIFZla3RvcnMgYW56dWdlYmVuLgpOYXR1ZXJsaWNoIGthbm4gaWNoIGRlbiBWZWt0b3IgdHJhbnNwb25pZXJlbiB1bmQgZGFubiBcdW5kZXJicmFjZSB2ZXJ3ZW5kZW4sCmFiZXIgaWNoCnd1ZXJkZSBkb2NoIHdpc3NlbiBvYiBtYW4gZGFzIGFlcXVpdmFsZW50IG1pdCB2ZXJ0aWthbGVuIFZla3RvcmVuIG1hY2hlbiBrYW5uLgoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJvYmxlbWUgQ0QvRHJ1Y2tlciAoVHJhbmNlZmVhciwgIDQuIFNlcCAxOTk4LCAxMDo1NDowNSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkwNDczNzg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDQ3Mzc4NTAKSGF0IGVyIGF1Y2ggbmUgU291bmRrYXJ0ZT8gRGFubiBzb2xsdGUgZXIgbWFsIHZlcnN1Y2hlbiwgaW0gQklPUyBmdWVyIExQVDEgZGVuCkVDUC1Nb2R1cyBhdXN6dXNjaGFsdGVuIChhbHNvIFNQUCBlaW4pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhdGV4IChXYXJnb24sICA0LiBTZXAgMTk5OCwgMTE6Mjk6MzYpOgp+IyEgcm49QWxib2luIHJ0PTkwNDgzOTY0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDQ4Mzk2NDUKUHJpbnppcGllbGwgc29sbHRlIGRhcyBtaXQgZGVyIGFycmF5LVVtZ2VidW5nIGdlaGVuOgpcdmVje2F9ID0gXGxlZnQoIFxiZWdpbnthcnJheX17Y30gYV8xXFxhXzJcXGFfM1xcIFxlbmR7YXJyYXl9IHJpZ2h0KQpBbGxlcmRpbmdzIGlzdCBkYXMgZGFubiBuaWNodCBpbiBkZXIgSG9laGUgemVudHJpZXJ0OyBhdXNzZXJkZW0gdWViZXJuZWhtZSBpY2gKa2VpbmUgR2FyYW50aWUgZnVlciBkaWUgU3ludGF4IDopCldlbm5zIG51ciBlaW4gVmVrdG9yIG1pdCB6d2VpIEVsZW1lbnRlbiBpc3QsIGdlaHRzIGF1Y2ggZWluZmFjaGVyIG1pdCBcYXRvcC4KICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYXRleCAoSG9ibywgIDQuIFNlcCAxOTk4LCAxMTozNjoxMSk6Cn4jISBybj1BbGJvaW4gcnQ9OTA0ODM5NjQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNDgzOTY0NQpIaSBBbGJvaW4sIAp3ZW5uIERVIG1pciBnZW5hdSBzY2hyZWlic3QsIHdhcyBEdSB3aWxsc3QsIHNhZyBpY2ggRGlyIGRhcyBnZXJuZS4KQWJlciBpY2ggd2Vpc3MgamV0enQgbmljaHQsIG9iOgoKICBlaW5lIGdlc2Nod2VpZnRlIEtsYW1tZXIgdWViZXIgbWVocmVyZSBaZWlsZW4gZ2VoZW4gc29sbAogICBlaW5lIGdlc2Nod2VpZnRlIEtsYW1tZXIgdWViZXIgZGVtIFRleHQgc3RlaGVuIHNvbGwKICB6d2VpIGdlc2Nod2VpZnRlIEtsYW1tZXJuIHVlYmVyIG1laHJlcmUgWmVpbGVuIGdlaGVuIHNvbGxlbgoKIG9kZXIgd2FzIGF1Y2ggaW1tZXIgOykKCk1lbGQgRGljaCBtYWwKCiAgIGhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvdW5kYmxhc3RlciAoQ2F1bm8sICA0LiBTZXAgMTk5OCwgMTI6NDY6MTcpOgpIaWVyIG1hbCB3YXMgbmV1ZXMsIGhhYiBqYSBzb25zdCBuaWNodHMgaGllciBkcmluIHp1IHNjaHJlaWJlbi4KTmFjaCBkZW0gQXVmcnVlc3RlbiBtZWluZXMgUENzIHZvbiBlaW5lciBDcmVhdGl2ZSBTQjE2IGF1ZiBlaW5lIENyZWF0aXZlIEFXRTY0CmtyaWVnIGljaCBiZWltIFN0YXJ0ZW4gdm9uIFdJbmRvd3MgcGxvZXR6bGljaCBrZWluZW4gVG9uIG1laHIgcmF1cyAoU29sbApoZWlzc2VuOiBkZXIgRXJvZWZmbnVuZ3Nzb3VuZCBpc3Qga2F1bSBob2VyYmFyLCB3ZWlsIGRpZSBMYXV0c3RhZXJrZSBpbiBkZW4KS2VsbGVyIGdlaHQpLiBJY2ggbXVzcyBqZWRlc21hbCBtaXQgZGVtIE1peGVyIGRlbiBUb24gd2llZGVyIGFuc3RlbGxlbiwgdW0gd2FzCnp1IGhvZXJlbi4KSGF0IGVpbmVyIGF1Y2ggc28gZWluIFByb2JsZW0gdW5kIHdlaXNzIHdvcmFuIGRhcyBsaWVndD8gRGFzIGlzdCB2aWVsbGVpY2ggbWFsCmV0d2FzIGVpbmZhY2hlciBhbHMgZGllIHNvbnN0IHNvIGdlc3RlbGx0ZW4gRnJhZ2VuIC4uLgpVbmQgYml0dGUga2VpbmUgVmVyd2Vpc2UgYXVmIExpbnV4LCBkYXMgaGFiZSBpY2ggbmFlbWxpY2ggc2Nob24gbGFlbmdzdC4KCkMuIE5vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU291bmRibGFzdGVyIChHcmltbWJvcm4sICA0LiBTZXAgMTk5OCwgMTM6MjQ6MTgpOgp+IyEgcm49Q2F1bm8gcnQ9OTA0OTA1OTc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNDkwNTk3NwpBZWgsIHdpZXNvIHNvbGx0ZSBqZW1hbmQgZWluZW4gVmVyd2VpcyBhdWYgTGludXggbWFjaGVuLCB3ZW5uIER1IGRlbgpFcm9lZmZudW5nc3NvdW5kIHZvbiBXaW5kb3dzIGhvZXJlbiB3aWxsc3Q/CgpHcmltbWJvcm4gIm1laW4gUmVjaG5lciBtYWNodCBrZWluZW4gS3JhY2ghIiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb3VuZGJsYXN0ZXIgKENhdW5vLCAgNy4gU2VwIDE5OTgsIDEyOjUxOjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MDQ5MDgyNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA0OTA1OTc3CkFsc28gZ3V0LCBmdWVyIGRpZSBnYW56IFBoYW50YXNpZWxvc2VuOgpCaXNoZXIga2FtIGhhZWZpZyBhdWYgV2luZG93cy1GcmFnZW4gZGllIEFodHdvcnQ6IE5pbW0gZG9jaCBMaW51eC4KVmllbGxlaWNodCBoYXQgc2ljaCBkYXMgZW5kbGljaCB2ZXJsYXVmZW4sIGljaCB3YXIgamEgbGFuZ2UgbmljaHQgbWVociBkcmluLgpBbHNvIGxhc3NlbiB3aXIgamV0enQgbWFsIGRpZSBMZXV0ZSBzcHJlY2hlbiwgZGllIGVpbmUgQW50d29ydCBoYWJlbiwgdW5kCmtlaW5lIEdlZ2VuZnJhZ2UsIGljaCBzb2xsdGUgdmllbGxlaWNodCBub2NoIHNhZ2VuOiBJY2ggYmVudXR6ZSBXaW4gMy4xLApTaW5ubG9zIDk1IGhhYmUgaWNoIGJpc2hlciBub2NoIG5pY2h0IGdlYnJhdWNodC4KCkRhcyBoYXQgYWxsZXJkaW5ncyBtZWluIFZhdGVyIGF1ZiBkZW0gUmVjaG5lci4gVW5kIGRhIGlzdCBqZXR6dCBkZXIgR2FnCmF1ZmdldGF1Y2h0LCBkYXNzIG5hY2ggZGVtIFdlY2hzZWxuIGRlciBTb3VuZGthcnRlIGRpZSBET1MtUHJvZ3JhbW1lLCBkaWUKYmlzaGVyIGtlaW5lbiBUb24gZ2FiZW4gbGF1ZmVuLCBkaWUgYmlzaGVyIGxpZWZlbiBhYmVyIGpldHp0IGF1ZiBlaW5tYWwgbmljaHQKbWVoci4gVW5kIGRhYmVpIGlzdCdzIGRlciBDcmVhdGl2ZSBTQiAxNiwgZGVuIGljaCBiZWkgbWlyIGF1c2dlYmF1dCBoYWJlIC4uLgpHcnVtbWVsLgoKQy4gTm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGF0ZXggKEFsYm9pbiwgIDguIFNlcCAxOTk4LCAxMzoxNDozMyk6Cn4jISBybj1Ib2JvIHJ0PTkwNDkwMTc3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDQ4Mzk2NDUKSWNoIHdvbGx0IG51ciBtZWxkZW4sIGRhc3MgZGFzIFByb2JsZW0gbWl0dGxlcndlaWxlIGJlaG9iZW4gaXN0LiBFaW5lIExvc3VuZwppc3QKXGxlZnQuIGRlciB2ZWt0b3IgXHJpZ2h0XHJicmFjZSwgc28gZGFzcyBzaWNoIGRpZSBnZXNjaHdlaWZ0ZSBLbGFtbWVyIGRlcgpHcm9lc3NlIGFucGFzc3QgdW5kIGRpZSBsaW5rZSBLbGFtbWVyIHVuc2ljaHRiYXIgaXN0LiBaYWhscmVpY2hlIExldXRlIHdpZXNlbgphdWYgS29wa2EgaGluLCBhYmVyIGJlaSB1bnMgaXN0IGRlciBpbW1lciBlbnRsaWVoZW4gdW5kIGltIFdXVyBzaW5kIGRpZQpMYXRleC1Eb2t1bWVudGF0aW9uZW4gbmljaHQgc2VociBhdXNmdWVocmxpY2guIERhbmtlIG5vY2ggbWFsIGFuIEthcmlzIHVuZApIb2JvLgoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZWxwaGkgKERpZWRlciwgMTQuIFNlcCAxOTk4LCAxMzowODo1Mik6CkhhbGxvIQoKSWNoIHN1Y2hlIF9kcmluZ2VuZF8gUm91dGluZW4genVtIEFuc3RldWVybiBkZXMgQ09NLVBvcnRzIHVudGVyIFdpbmRvd3MgTlQsClByb2dyYW1taWVyc3ByYWNoZSBEZWxwaGkuIFVudGVyIFdpbmRvb2Y5NSBpc3RzIGphIGtlaW4gUHJvYmxlbSwgYWJlciBOVApibG9ja3Qgc2FlbXRsaWNoZW4gZGlyZWt0ZW4gUG9ydHp1Z3JpZmZlIGFiLgpXZXIga2FubiBoZWxmZW4/CgpHcnVzcyB1bmQgRGFuaywKRGllZGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwZXJsLXNhY2hlbiAoTXlzdGVyaW91cywgMTQuIFNlcCAxOTk4LCAyMjowNjowOSk6Cm5pIGhhbyEhCgppY2ggaGFiIGRhIDIgZnJhZ2VuOgoKLSBnaWJ0IGVzIGVpbmUgbW9lZ2xpY2hrZWl0LCBtaXQgcGVybCBhdWYgZWluZSBkYXRlaSBwZXIgdXJsIGltIGludGVybmV0Cnp1enVncmVpZmVuIHVuZCBkYW5uIGlocmUgZ3JvZXNzZSB6dSBiZXN0aW1tZW4/CgotIGlociBrZW5udCBqYSBzaWNoZXJsaWNoIGRpZSBhYmt1ZXJ6dW5nIGZ1ZXIgZGllIGJlemVpY2hudW5nIGRlcyBwZmFkZXMgenVtCmhvbWUtdmVyemVpY2huaXMgZWluZXMgdXNlcnMgKCd+JykuLi4KdGphLCBhYmVyIGxlaWRlciBrYW5uIGljaCBkYXMgbmljaCB2ZXJ3ZW5kZW4sIHdlbm4gaWNoIG1pdCBkZXIgcGVybCBvcGVuLWZrdC4KYXVmIGVpbmUgc29sY2hlIGRhdGVpIHp1Z3JlaWZlbiBtb2VjaHRlIChhbHNvIHouQi4gYXVmIGRpZSBkYXRlaQp+bXlzdGkvYmxhZmFzZWwuaHRtbCkKZ2lidCBlcyBkYSBuZSBtb2VnbGljaGtlaXQsIGRpZSB0aWxkZSBpcmdlbmR3aWUgenUgZXhwYW5kaWVyZW4/IChqYWphLCBvZnQKc3RlaHRzIGZ1ZXIgJy9ob21lLycsIGFiZXIgZWJlbiBudXIgb2Z0Li4KCnNvZGVsZS4uLgoKZHVpaWlpaWlpaWlpaWlpaWkKZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwZXJsLXNhY2hlbiAoRW1iZSwgMTQuIFNlcCAxOTk4LCAyMjozOToyMik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkwNTgwMzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDU4MDM1NjkKMTogZGEgZ2lidCBlcyBtb2R1bGUgZGF6dSwgc2NoYXUgbWFsIGF1ZiAKQ1BBTiAoQ29tcHJlaGVuc2l2ZSBQZXJsIEFyY2hpdmUgTmV0d29yaykgaHR0cDovL3d3dy5wZXJsLm9yZy9DUEFOLyBuYWNoLgoKMjogbWFjaHN0IGR1IGFtIGJlc3RlbiBtaXQgZ2V0cHdlbnQoKS4gZXh0cmFoaWVyZSBkZW4gbmFtZW4KdW5kIGxhc3MgZGlyIG1pdCBnZXRwd2VudCgpIHVuZCBjb25zb3J0ZW4gZGFzIGhvbWVkaXJlY3Rvcnkgdm9uIGRlbQp1c2VyIGF1c2dlYmVuLgoKZ3J1c3MsIGVNQmVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlbHBoaSAoVHJhbmNlZmVhciwgMTUuIFNlcCAxOTk4LCAwMTo1MzowOSk6Cn4jISBybj1EaWVkZXIgcnQ9OTA1NzcxMzMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNTc3MTMzMgpEYSBnaWJ0cyB3YXMuLi4gc2NoYXUgbWFsIGluIGRlciBEU1AgbmFjaC4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGVybC1zYWNoZW4gKEhhZHJhLCAxNS4gU2VwIDE5OTgsIDA0OjE3OjI5KToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9OTA1ODAzNTY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNTgwMzU2OQotIHNjaGF1IGRpciBtYWwgZGllIExXUCBsaWJzIGF1ZiBkZWluZW0gbGllYmxpbmdzIENQQU4gbWlycm9yIGFuCi0gc29mZXJuIGRlciB1c2VyIG5pY2h0IGFsbHp1c2VociBhbiBzZWluZW0gZW52aXJvbm1lbnQgcnVtZ2ViYXN0ZWx0CiAgaGF0IGJla29tbXN0IGR1IGRpZSBpbmZvIG1pdCAkRU5WeydIT01FJ30KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVscGhpIChEaWVkZXIsIDE1LiBTZXAgMTk5OCwgMTc6Mzc6MTIpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MDU4MTcxODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA1NzcxMzMyCnZpZWxlbiBEYW5rLCBhYmVyIHdhcyBpc3QgRFNQIHVuZCB3byBmaW5kZSBpY2ggZGFzPyAqZ3JpbnMqCgpEaWVkZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwZXJsLXNhY2hlbiAoTXVhZGRpYiwgMTUuIFNlcCAxOTk4LCAyMDoxODozOSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkwNTgwMzU2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDU4MDM1NjkKWnVtIHp3ZWl0ZW4gVGVpbDogTWFuIG5laG1lIGRpZSBGdW5rdGlvbnNmYW1pbGllIGdldHB3ZW50IGV0Yy4gdW5kIGhvbGUgc2ljaApkZW4gamV3ZWlsaWdlbiBFbnRyeSBhdXMgZGVyIC9ldGMvcGFzc3dkLCB3byBhdWNoIGJla2FubnRsaWNoIGRhcwpob21ldmVyemVpY2huaXMgc3RlaHQuIERlciBSZXN0IGlzdCB0cml2aWFsLgoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEZWxwaGkgKEhhZHJhLCAxNS4gU2VwIDE5OTgsIDIzOjU2OjE0KToKfiMhIHJuPURpZWRlciBydD05MDU4NzM4MzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA1NzcxMzMyCmRzcCBpc3QgZGllICdkZWxwaGkgc3VwZXJwYWdlJyBodHRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL2RlbHBoaS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERlbHBoaSAoVHJhbmNlZmVhciwgMTYuIFNlcCAxOTk4LCAwMTozNDo1OSk6Cn4jISBybj1IYWRyYSBydD05MDU4OTY1NzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA1NzcxMzMyCk9kZXIgaHR0cDovL1N1blNpdGUuSW5mb3JtYXRpay5SV1RILUFhY2hlbi5ERS9kZWxwaGkvLCBpc3QgdS51LiBzY2huZWxsZXIgYWxzCmRpZSBWZXJiaW5kdW5nIG5hY2ggUG9sZW4uLi4gOi0pCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwZXJsLXNhY2hlbiAoTXlzdGVyaW91cywgMTYuIFNlcCAxOTk4LCAxMDoxMjo1NCk6Cn4jISBybj1NdWFkZGliIHJ0PTkwNTg4MzUxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDU4MDM1NjkKbmkgaGFvIQoKZGFua2UgZGFua2UgZnVlciBkaWUgemFobHJlaWNoZW4gdGlwcy4uCndlcmQgbWFsIHNjaGF1ZW4sIG9iIGljaCB3YXMgZmluZGUuLgoKZHVpaWkKZEEgbVlzdEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGVybC1zYWNoZW4gKEpvZiwgMTYuIFNlcCAxOTk4LCAxODowNjowNSk6Cn4jISBybj1NdWFkZGliIHJ0PTkwNTg4MzUxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDU4MDM1NjkKCiAuLi4gYWJlciBkaWUgTG9lc3VuZyBtaXQgJEVOVnsiSE9NRSJ9IHRyaWZmdCdzIGJlc3Nlciwgd2VubiBtYW4gZGFzClZlcmhhbHRlbiB6LkIuIGRlciBiYXNoIG5hY2hiaWxkZW4gd2lsbCwgd2VpbCBkaWUgbmFlbWxpY2gga2VpbmVzd2VncwpkaWUgVGlsZGUgenVtIEhvbWVkaXIsIHNvbmRlcm4gdmllbG1laHIgenVtIEluaGFsdCBkZXIgVmFyaWFibGVuICRIT01FCmV4cGFuZGllcnQgOikKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBlcmwtc2FjaGVuIChFbWJlLCAxNy4gU2VwIDE5OTgsIDAxOjMyOjQ5KToKfiMhIHJuPUpvZiBydD05MDU5NjE5NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA1ODAzNTY5Cm15c3RlcmlvdXMgaGF0IGFiZXIgbmljaHQgdm9uIHNlaW5lbSBob21lZGlyZWN0b3J5IGdlc3Byb2NoZW4sIApzb25kZXJuIHZvbiBpcmdlbmRlaW5lbSBob21lZGlyZWN0b3J5LCAKZGEgaGlsZnQgJEhPTUUgbml4IG1laHIuLi4KCmdydXNzLCBlTUJlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHp3ZXJrLUxhc2VyamV0IEhQNE0gdW50ZXIgTGludXggKE1vcmdvdGgsIDE3LiBTZXAgMTk5OCwgMTM6MTc6MDIpOgpIaSBMZXV0ZSwKZGllIENUIGhhdCBqYSBlaW5lbiBuZXR0ZW4gQXJ0aWtlbCwgYWJlciBsZWlkZXIgZmluZGUgaWNoIGRhIG51ciBEcnVja2VyLCBkaWUKYW4gZWluZW0gUHJpbnRzZXJ2ZXIgaGFlbmdlbi4gVW5zZXIgTGFzZXIgaGF0IGVpbmUgZWlnZW5lIElQLUFkcmVzc2UuIEhhdCBkYQp3ZXIgbmUgSWRlZSwgd2llIGljaCBkaWUgRWludHJhZWdlIGluIC9ldGMvcHJpbnRjYXAgdW1iYXN0ZWxuIG11c3MsIGRhbWl0IGRhcwpmdW5rdGlvbmllcnQgKEFsc28gbWl0IGxwciAtUGxhc2VyIGRpcmVrdCBhdWYgZGVuIEhQNCBkcnVja2VuLCBldnRsIG1pdCBGaWx0ZXIKZGF2b3IpPz8/PwoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGVybC1zYWNoZW4gKENhdHdlYXpsZSwgMTcuIFNlcCAxOTk4LCAxNjozMzowOCk6Cn4jISBybj1FbWJlIHJ0PTkwNTk4ODc2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDU4MDM1NjkKZGFubiBuaW1tc3RlIGhhbHQgJ2Rpcm5hbWUgJEhPTUUnIC4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBlcmwtc2FjaGVuIChXb29keSwgMTguIFNlcCAxOTk4LCAxNjo0OTowMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTA2MDQyNzg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNTgwMzU2OQpEYXMgbWFjaHRzIGF1Y2ggbmljaHQgdXNlci11bmFiaGFlbmdpZy4gTWFuY2htYWwgc2luZCB1c2VyIDEuLjQKaW4gRGlyZWN0b3J5IC9ob21lLyB1bmQgdXNlciA1Li42IGluIC9vdGhlci9ob21lLyB1c3cuIHVzZi4KCndvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNtb3MtYmF0dGVyaWUgKFN0b3BkZW5idXMsIDIxLiBTZXAgMTk5OCwgMTM6NDU6MzYpOgpIaSAhCkRlciBDb21wdXRlciBtZWluZXMgTmFjaGJhcm4gaGF0IGVpbiBrbGVpbmVzIFByb2JsZW0sIHdlbGNoZXMgamV0enQgbWVpbgpQcm9ibGVtIGlzdCA6KSBBbHNvLCBkZXIgUHV0ZXIgc3RhbmQgMiBKYWhyZSBzdGlsbCAobmljaCBtYWwgYW0gTmV0eikgdW5kCnZvciBlaW5pZ2VyIFplaXQgaGFiIGljaCBkZW4gd2llZGVyIGlucyBMZWJlbiB6dXJ1ZWNrZ2VydWZlbi4gTmFjaCBlaW4gcGFhcgpXb2NoZW4gbWVsZGV0ZSBzaWNoIGRhcyBCaW9zIG1pdCBkZXIgQmVtZXJrdW5nICdDTU9TIGJhdHRlcnkgc3RhdGUgbG93JyB1bmQKbHVkIG1pY2ggZGFyYXVmIHp1IGVpbmVtIEJlc3VjaCBzZWxiaWdlcyBlaW4uIEdlc3Rlcm4gaGFiZW4gd2lyIGRhbm4gbmUgbmV1ZQpCYXR0ZXJpZSBlaW5nZWxvZXRldCB1bmQgc28gbmFjaCBkZW0gZHJpdHRlbiBTdGFydCAoUG93ZXIgb2ZmLCBQb3dlciBvbikKa2FtIGRpZXNlIE1lbGR1bmcgd2llZGVyLCB6d2lzY2hlbmR1cmNoIGthbSBtYWwgbmVuICdjaGVja3N1bS1lcnJvcicuIFdlaXMKcyBkYSBlaW5lciBSYXQgPyBJY2gga2FubiBuaWNoIGdsYXViZW4sIGRhcyBkaWUgbmV1ZSBCYXR0ZXJpZSBzY2hvbiBhbGxlIApzZWluIHNvbGwsIGF1c3NlcmRlbSBzaW5kIGRpZSBEaW5nZXIgc2F1IHRldWVyIDooCgpKYW5pY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjbW9zLWJhdHRlcmllIChMeXJhLCAyMS4gU2VwIDE5OTgsIDEzOjQ5OjI3KToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTA2Mzc4MzM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjM3ODMzNgpiZWkgZWluZ2UgQm9hcmRzIHdpcmQgZWluIEFra3Ugc3RhdHQgZWluZXIgQmF0dGVyaWUgYmVudXR6dC4gTGFzcyBkZW4gUmVjaG5lcgptYWwgMi0zIFN0dW5kZW4gbGF1ZmVuIHVuZCBzY2hhbHRlIGlobiBkYW5uIGFiLiBXZW5uIGVyIGFtIG5hZWNoc3RlbiBUYWcgYXVjaApub2NoIHNjaGltcGZ0LCBoYWJ0IElociBzY2hsZWNodCBnZWxvZXRldCBvZGVyIGRpZSBCYXR0ZXJpZSBpc3Qgd2lya2xpY2gKaGludWViZXIuCgpMeXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNtb3MtYmF0dGVyaWUgKFN0b3BkZW5idXMsIDIxLiBTZXAgMTk5OCwgMTM6NTA6NDApOgp+IyEgcm49THlyYSBydD05MDYzNzg1Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA2Mzc4MzM2Cm9oYSAhIERhbmtlLCB3ZXJkIGljaCBtYWwgcHJvYmllcmVuICEKCkphbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpbm50IGluc3RhbGxpZXJlbiAoUGF0cnluLCAyNS4gU2VwIDE5OTgsIDA5OjE0OjI2KToKaGkgaWhycwoKaWNoIGJyYWV1Y2h0ZSBtYWwgamVtYW5kZW4sIGRlciBzaWNoIG1pdCBkZXIgaW5zdGFsbGF0aW9uIHZvbiB3aW5OVDQuMApoYWxid2VncyBhdXNrZW5udCBiencuIG1pciBzYWdlbiBrYW5uLCBvYiBlciBlYmVuZmFsbHMgZm9sZ2VuZGUKcHJvYmxlbWUgaGF0dGU6Cgp6dW0gZWluZW4gbXVzcyBpY2ggZXJzdCBtYWwgc2FnZW4sIGRpZSBpbnN0YWxsYXRpb24gaXN0IG9iZXJzY2hyb3R0aWcuCm11c3MgaWNoIGVjaHQgYmVpIGplZGVtIGluc3RhbGxhdGlvbnN2ZXJzdWNoIGZlaW4gYnJhdiAzIChzY2hvbiB4IG1hbAp2b3JoYW5kZW5lKSBpbnN0YWxsYXRpb25zZGlza2V0dGVuIGVyc3RlbGxlbiBsYXNzZW4/IGRhcyBpc3QgbmVydi1ob2NoLTEwLgphdXNzZXJkZW0gd3VlcmRlIG1pY2ggaW50ZXJlc3NpZXJlbiwgd296dSBkaWUgZGVuIGtyYW0gdWVicmhhdXB0IGF1ZiBjZC1yb20KYXVzbGllZmVybiwgd2VubiBlciBkaWUgY2QgZXJzdCBpbiBlaW4gdGVtcG9yYWVyZXMgdmVyemVpY2huaXMKdmVyc2NoaWVidCB1bmQgZXMgZGFubiBzYWV1YmVybGljaCBub2NoIG1hbCBhdWYgZGllIGdld3VlbnNjaHRlIHBhcnRpdGlvbgprb3BpZXJ0LiBpc3QgZGFzIGJlaSBhbGxlbiBzbz8gaXN0IGRvY2ggbXVlbGwgc293YXMuCmRlc3dlaXRlcmVuIHdpbGwgZXIgYmVpIG1pciB1bmJlZGluZ3QgYWxsZXMgaW4gZGFzIHVudGVydmVyemVpY2huaXMKXHdpbm50IHJlaW5rb3BpZXJlbi4ga2FubiBlcyBkYXJhbiBsaWVnZW4sIGRhc3MgZXIgaW1tZXIgcnVtbWVja2VydDoKIGNvdWxkbnQgZmluZCA8d2lubnQgcm9vdD5cc3lzdGVtMzJcbnRvc2tybnMuZXhlLCBwbGVhc2UgY29weSBhZ2FpbgpvZGVyIGhhdHRlbiBkYXMgc2Nob24gYW5kZXJlPyBkYXMgZmlsZSBpc3QgbmFlbWxpY2ggZXhpc3RlbnQgaW4KXHdpbm50XHN5c3RlbTMyXG50b3Nrcm4uZXhlLi4ud2Vpc3MgZ2FyIG5pY2gsIHdhcyBkZXIgd2lsbC4KCmFsc28gd2VubiB3ZXIgcmF0IHdlaXNzLCBpbnN0YWxsaWVyZW4gdHUgaWNoIHZvbiBjOndpbjMuMTEgYXVmIGQ6CgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2lubnQgaW5zdGFsbGllcmVuIChHdW5kdXIsIDI1LiBTZXAgMTk5OCwgMTA6MTc6MTQpOgp+IyEgcm49UGF0cnluIHJ0PTkwNjcwNzY2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKQWxzbyB3ZW5uIGRpZXNlIE1lbGR1bmcgbWl0IG50b3Nrcm5zLmV4ZSBibGFmYXNlbCBkYW5uIHNjaHJlaXQgZGFzICdmYXN0JwpkYW5hY2ggZGFzcyBkdSBlaW5lIG5pY2h0IGdhbnogbGVnYWxlIGtvcGllIGRlcyBnYW56ZW4gaGFzdCwgd29iaWUgaWNoIGRhcwpuYXR1ZXJsaWNoIG5pY2h0IGJlc2Nod29lcmVuIG1vZWNodGUgOi0pCkFiaGlsZmUgd2FlcmUgenVtIGVpbmVuICdnZXNjaGVpdCcga29waWVyZW4gb2RlciB6dW0gYW5kZXJlbiBvcmlnaW5hbGUKdmVyd2VuZGVuIDotKQpHcnVzcwpHLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbm50IGluc3RhbGxpZXJlbiAoTGFyaXNzYSwgMjUuIFNlcCAxOTk4LCAxOToxNzowOSk6Cn4jISBybj1QYXRyeW4gcnQ9OTA2NzA3NjY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgpBaG9pIQoKV2VubiBpY2ggbWljaCByZWNodCBlbnRzaW5uZSwga29tbXRzIGVpbiBiaXNzbCBkYXJhdWYgYW4sIHdhcyBhdWYgZGVtIFJlY2huZXIKZHJhdWYgd2FyLiBXZW5uIHNjaG9uIGVpbiBNUy1XaW4gYXVmIGRlbSBSZWNobmVyIHdhciBicmF1Y2hzdGUgdWViZXJoYXVwdAprZWluZSBTdGFydGRpc2tldHRlbi4KV2luIDMuMTE6IEluIGRlciBWZXJ6ZWljaG5pcyBpMzg2IHdlY2hlc2VsbiB1bmQgV0lOTlQgL0IgdGlwcGVuCldpbk5UMy41MTogTlQtU2V0dXAgYXVmcnVmZW4gb2RlciBpbiBlaW5lbSBEb3NmZW5zdGVyIG9iaWdlcyB0aXBwZW4KV2luOTU6V2llIG9iZW4sIGFiZXIgbWl0IFdJTk5UIC9CIC9XCgpIYXN0ZSBuZW4gbmFja3RlbiBSZWNobmVyIHNvbGx0ZSBzaWNoIG5hY2ggZGVtIEZ1ZXR0ZXJuIG1pdCBkZW4gMyBEaXNrZXR0ZW4KZGVyIEtlcm5lbCBtaXQgZGVtIFNldHVwYmlsZCBtZWxkZW4uLi4KCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbm50IGluc3RhbGxpZXJlbiAoVHJhbmNlZmVhciwgMjUuIFNlcCAxOTk4LCAxOTo1NDozOCk6Cn4jISBybj1MYXJpc3NhIHJ0PTkwNjc0MzgyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKRGFzIGdhbnplIGdlZnVkZWwgbWl0IGRlbiBEaXNrZXR0ZW4gdW5kIGRlciBVbWtvcGllcmVyZWkgZGVyIGhhbGJlbiBDRCBhdWYgZGllCkhEIGtvbW10IHdvaGwgZGFoZXIsIGRhc3MgS2xlaW53ZWljaCBkZW4gZWlnZW5lbiBDRFJPTS1UcmVpYmVybiBtaXNzdHJhdXQuLi4Kc28gaGFzdCBEdSBlcnN0bWFsIGFsbGVzIGF1ZiBkZXIgUGxhdHRlIHdlbm4gZGVyIGVpZ2VudGxpY2hlCkluc3RhbGxhdGlvbnN2b3JnYW5nIGJlZ2lubnQuIFVuZCBkaWUgRGlza2V0dGVuIGJyYXVjaHN0ZSBudXIgZWlubWFsIGVyc3RlbGxlbgpiZWkgamVkZW0gbmV1ZW4gSW5zdGFsbGF0aW9uc3ZlcnN1Y2gga2FubnN0ZSBkYXMgdW1nZWhlbiAoZGFzIGdlaHQgYXVmIGplZGVuCkZhbGwpLgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW5udCBpbnN0YWxsaWVyZW4gKEphbWVzb24sIDI2LiBTZXAgMTk5OCwgMDE6NDg6MTEpOgp+IyEgcm49UGF0cnluIHJ0PTkwNjcwNzY2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKRGFzIEdhbnplIGdlaHQgYXVjaCBub2NoIHZpZWwgdmllbCBlaW5mYWNoZXIuCkhvZmZlIGljaCBrcmllZ3Mgbm9jaCBhdXMgZGVtIEdlZGFlY2h0bmlzIHp1c2FtbWVuLi4uIGRhcyBHYW56ZQpzdGFtbXQgdXJzcHJ1ZW5nbGljaCBhdXMgZGVyIGMndCwgZGllIGhhdHRlbiBkYSBtYWwgZWluIHBhYXIgZ3V0ZSBBcnRpa2VsCnp1LgoxLiBET1MgYm9vdGVuLCBob2ZmZW50bGljaCBtaXQgZWluZW0gZ3V0ZW4gQ2FjaGUsIGRlciBhbSBiZXN0ZW4gYXVjaApub2NoIGRhcyBDRC1MYXVmd2VyayBjYWNodCA6KSBzcGFydCBlaW5lIE1lbmdlIFNjaHJhYmJlbG4uCjIuIGFrdC4gTGF1ZndlcmsgYXVmIGRpZSBDRCB3ZWNoc2VsbiwgekIuIGk6XGkzODYKdm9uIGRvcnQgYWxsZXMgc2FtdCBVbnRlcnZlcnplaWNobmlzc2VuIGF1ZiBkaWUgUGxhdHRlIGtvcGllcmVuLAppbiBlaW4gVmVyemVpY2huaXMsIGRhcyBhdWYgZWluZXIgYmVsaWViaWdlbiBET1MtUGFydGl0aW9uIGxpZWdlbiBrYW5uLApkYXMgQUJFUiB1bmJlZGluZ3QgXGkzODYgaGVpc3NlbiBtdXNzLiBBbHNvIE5JQ0hUIGluIGVpbiB0aWVmZXIgZ2VsZWdlbmVzClZlcnplaWNobmlzLgozLiB2b24gZGVyIENEIGF1cyBlaW5nZWJlbjogd2lubnQgL2IgL294Ck5UIGJlcmVpdGV0IGpldHp0IGRpZSBQbGF0dGUgdm9yIG1pdCBlaW4gcGFhciBFcnN0aW5zdGFsbGF0aW9uc2RhdGVpZW4uCkRhbmFjaCBmaW5kZXQgbWFuIHNpY2ggYXVmIERPUy1FYmVuZSB3aWVkZXIuCjQuIERpZSBEYXRlaSBjOlx0eHRzZXR1cC5zaWYgZWRpdGllcmVuOgpuYWNoIHNldHVwc291cmNlZGV2aWNlIHN1Y2hlbiwgZGVuIEF1c2tvbWVudGllci1TdHJpY2hwdW5rdCBhbSBaZWlsZW4tCmFuZmFuZyBlbnRmZXJuZW4gdW5kIGhpbnRlbiBkaWUgUGFydGl0aW9uc251bW1lciBlaW50cmFnZW4sIGF1ZiBkaWUgbWFuCmRpZSBOVC1EYXRlaWVuIGtvcGllcnQgaGF0Lgo1LiBJbiBkZXIgZ2xlaWNoZW4gRGF0ZWkgaW0gQWJzY2huaXR0IFNDU0ktTE9BRCAoYmVpIGVudHNwcmVjaGVuZGVyClNhY2hrZW5udG5pcykgYWxsZSBUcmVpYmVyIGF1c2tvbW1lbnRpZXJlbiwgZGllIGJlaW0gSW5zdGFsbGllcmVuIG5pY2h0CnVuYmVkaW5ndCBnZWJyYXVjaHQgd2VyZGVuLiBNZWlzdGVucyByZWljaHQgZXMsIGRlbiBJREUtL0FUQVBJLVRyZWliZXIKZHJpbnp1bGFzc2VuLCBiencuIGdnZi4gZGVuIGZ1ZXIgZGVuIHBhc3NlbmRlbiBTQ1NJLUNvbnRyb2xsZXIuClp3ZWNrIGlzdCwgYWxsZSBtb2VnbGljaGVuIEtvbmZsaWt0ZSBtaXQgSGFyZHdhcmUgYmVpbSBJbnN0YWxsaWVyZW4genUKdW1nZWhlbiwgaW5zYmVzb25kZXJlIG1pdCBOZXR6d2Vya2thcnRlbiwgc29mZXJuIHZvcmhhbmRlbi4KV2FzIHNwYWV0ZXIgbm9jaCBkYXp1a29tbWVuIHNvbGwsIGthbm4gbWFuIGphIG5hY2ggZGVyIEluc3RhbGxhdGlvbiBub2NoCmluc3RhbGxpZXJlbgo2LiBJbSBWZXJ6ZWljaG5pcyBjOlwkd2lubnQuYnQkIG9kZXIgc28gYWVobmxpY2ggZGllIERhdGVpIHdpbm50LnNpZgplZGl0aWVyZW46CkRlbiBFaW50cmFnIGJlaSAibXNkb3MtaW5pdGlhdGVkIiB2b24gMSBhdWYgMCBhZW5kZXJuLgo3LiBSZWNobmVyIG5ldSBzdGFydGVuLCBOVC00LjAtSW5zdGFsbGF0aW9uIHdhZWhsZW4uCldlbm4gaWNoIG1pY2ggYW4gYWxsZXMgcmljaHRpZyBlcmlubmVydCBoYWIsIHNvbGx0ZSBkYW5uIGFsbGVzIGdsYXR0Z2VoZW4KKmdyaW5zKgpTcGFydCBhbGxlcyBpbiBhbGxlbSBiaXMgenUgNDAgbWluIFplaXQuCgpWaWVsIEdsdWVjawpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIUCAxNjAwQ00gLSBOZXR6d2Vya2tvbmZpZ3VyYXRpb24gKE1vcmdvdGgsIDI4LiBTZXAgMTk5OCwgMDk6MTc6NDcpOgpXaXIgaGFiZW4gZGllc2VuIG5ldHp3ZXJrZmFlaGlnZW4gRHJ1Y2tlciB1bmQgd29sbGVuIGlobiBudW4gYXVjaCBlbmRsaWNoIGluCnVuc2VyIE5ldHogaGFlbmdlbi4gRGllIEZyYWdlIGlzdCBudXIsIHdpZSBrb25maWd1cmllcmVuIHdpciBkaWVzZXMKU2NoZWlzc3RlaWw/IEltIEhhbmRidWNoIHN0ZWh0IGRhenUgbml4IGRyaW4gdW5kIGF1Y2ggZGllIFdlYnNlaXRlbiBiZWkgSFAKbGllZmVybiBuaXggS29ua3JldGVzLiBJY2ggYnJhZXVjaHRlIGFsc28gZWluZSBtb2VnbGljaGtlaXQgZGllc2VtIERydWNrZXIKZWlubWFsIHVlYmVyIGRpZSBwYXJhbGxlbGUgU2Nobml0dHN0ZWxsZSB6dSBzYWdlbiwgd2VsY2hlIElQLUFkcmVzc2UgZXIgZGVubgpudW4gaGFiZW4gc29sbC4uLgpXZXIgd2Vpc3MgZGEgd2VpdGVyPz8/CgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3aW5udCBpbnN0YWxsaWVyZW4gKFBhdHJ5biwgMjguIFNlcCAxOTk4LCAwOTo0ODo0OCk6Cn4jISBybj1UcmFuY2VmZWFyIHJ0PTkwNjc0NjA3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKaW50ZXJlc3NpZXJlbiB3dWVyZGUgbWljaCBqYSBhdWNoLCB3aWUgaWNoIGVzIHNjaGFmZmUsIHdpbmRvd3NOVAphdWYgYyB6dSBpbnN0YWxsaWVyZW4sIHdlbm4gaWNoIGRhcyBudGZzLWZvcm1hdGllcnQgaGFiZW4gd2lsbC4KYmVpIGRlbSB1bWZvcm1hdGllcmVuIHNpbmQgamEgYWxsZSB0bXAtZmlsZXMgd2llZGVyIGdlbG9lc2NodCwgdW5kCmVyIHNjaGVpbnQgc2ljaCBuaWNoIHVlYmVycmVkZW4genUgbGFzc2VuLCBzZWluZW4gendpc2NoZW5zcGVpY2hlcmtyYW0KYXVmIGVpbmVyIGFuZGVyZW4gcGFydGl0aW9uIHp1IHBhcmtlbi4KbmEgamEuLi53aW5kb3dzLi4udGhlIG5ldmVyZW5kaW5nIHN0b3J5Li4ubWFuIHNvbGx0ZSBlaW5lIGdyb3NzZSBib21iZQppbiBpaHJlbiBsYWRlbiBzY2htZWlzc2VuLiB6d2FyIGhhYiBpY2hzIG51IGVuZGxpY2ggaW5zdGFsbGllcmVuIGtvZW5uZW4sCmFiZXIgaGFsdCBuaWNoIGF1ZiBkIHNvbmRlcm4gYyB1bmQgYXVjaCBuaWNoIG50ZnMsIHNvbmRlcm4gZmF0LgphbHNvIGluIHByaW56aXAgd3VlcmRlIGVpbiBtaWNyb3NvZnQtanVlbmdlciBqZXR6dCBzYWdlbjogaXN0IGRvY2ggZmFzdAp3aWUgZHVzIHdvbGx0ZXN0LCBzZWkgZnJvaCwgZGFzcyBlcyB1ZWJlcmhhdXB0IGxhZXVmdC4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdpbm50IGluc3RhbGxpZXJlbiAoVHJhbmNlZmVhciwgMjguIFNlcCAxOTk4LCAxMDo1MDo1NSk6Cn4jISBybj1QYXRyeW4gcnQ9OTA2OTY4OTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgpXbyBpc3QgZGVpbiBQcm9ibGVtPyBCZWltIGluc3RhbGxpZXJlbiBrb21tdCBpcmdlbmR3YW5uIGRpZSBGcmFnZSBvYiBEdSBOVEZTCmhhYmVuIHdpbGxzdCB1bmQgZGEgc2FjaHRlIGphLiBhbGxlcyB3ZWl0ZXJlIGxhZXVmdCBleGFrdCB3aWUgZ2VoYWJ0LiAKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aW5udCBpbnN0YWxsaWVyZW4gKEphbWVzb24sIDI4LiBTZXAgMTk5OCwgMTQ6NTM6NDIpOgp+IyEgcm49UGF0cnluIHJ0PTkwNjk2ODkyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKLi4ub2RlciBkdSBpbnN0YWxsaWVyc3QgZXMgZ2FueiBnZXdvZWhubGljaCBhdWYgQyBhbHMgRkFULVBhcnRpdGlvbiB1bmQKc2NoYXVzdCBkaXIgbWFsIHdlbm4gYWxsZXMgbGFldWZ0IGRpZSBIaWxmZSB6dSAiY29udmVydCIgYW4uIChLb21tYW5kb3plaWxlbi0KcHJvZ3JhbW0pCgpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB3aW5udCBpbnN0YWxsaWVyZW4gKEpvZiwgMjguIFNlcCAxOTk4LCAxNzoxMzowOCk6Cn4jISBybj1QYXRyeW4gcnQ9OTA2OTY4OTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgoKIEVzIGdpYnQgZWluZSBPcHRpb24gYmVpbSBTZXR1cCwgbWl0IGRlciBEdSBib290LWRpc2tldHRlbiBlcnN0ZWxsZW4Ka2FubnN0LCBkaWUgZGlyZWt0IHZvbSBDRC1Sb20gaW5zdGFsbGllcmVuIChzb2Zlcm4gZXMgc2ljaCB1bSBlaW4KSURFLUNEUm9tIGhhbmRlbHQgenVtaW5kZXN0KS4gc2V0dXAgLz8gaGlsZnQgOikKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdpbm50IGluc3RhbGxpZXJlbiAoR3JpbW1ib3JuLCAyOC4gU2VwIDE5OTgsIDIyOjIwOjE4KToKfiMhIHJuPUpvZiBydD05MDY5OTU1ODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA2NzA3NjY2CkhpZXNzIGRhcyBzZXR1cC1Qcm9ncmFtbSB2b24gd2lubnQgbmljaHQgaW4gQWJ3ZWljaHVuZyBhbGxlciBhbmRlcmVyCk1TLVByb2dyYW1tZSB3aW5udD8gSGFjaCwgd2llZGVyIHNvIGxhbmdlIGhlci4gVW5kIGVpZ2VudGxpY2ggbXVlc3N0ZSBpY2ggZGEKbWFsIHdpZWRlciByYW4sIG5hY2hkZW0gV2luOTUgbWVpbmVuIE5ULUxvYWRlciB6ZXJzY2hvc3NlbiBoYXQuLi4gKnNldWZ6KgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXVzc3BlcnJlbiAoR3JpbW1ib3JuLCAyOC4gU2VwIDE5OTgsIDIyOjIwOjU4KToKfiMhIG9uPVdvb2R5IG90PTkwNzAwNDc1MiBvZz13aXR6ZQp+IyEgcm49WmFybml5YSBydD05MDY2NDQzNTQgcmc9d2l0emUKfiMhIHRpZD05MDY2NDQzNTQKV28gaXN0IGRhcyBQcm9ibGVtPyAnY2htb2QnIGdlaHQgaWRSLiBhdWNoIHZpYSBmdHAuCgp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhQIDE2MDBDTSAtIE5ldHp3ZXJra29uZmlndXJhdGlvbiAoVHJhbmNlZmVhciwgMjguIFNlcCAxOTk4LCAyMjoyMjowNCk6Cn4jISBybj1MYXJpc3NhIHJ0PTkwNzAxNDAzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY5NjcwNjcKU3RlaHQgaW0gVGl0ZWwuIEVpbiBIUCAoaW4gd29ydGVuOiBoZXdsZXR0LXBhY2thcmQpIDE2MDAgQ00uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdpbm50IGluc3RhbGxpZXJlbiAoVXJ0aG9uYSwgMjkuIFNlcCAxOTk4LCAwMjo0MDoxOSk6Cn4jISBybj1QYXRyeW4gcnQ9OTA2NzA3NjY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgppY2ggaGFiIGF1Y2ggc2Nob24gZ2Vob2VydCwgZGFzcyBkaWUgSW5zdGFsbGF0aW9uIGRpZSBlaWdlbmVuIChsZWdhbGVuISkKU2FjaGVuIHZvbiBNJCBtb25pZXJ0IHVuZCBzaWNoIHF1ZXJnZXN0ZWxsdCBoYXQKCk5pY2h0IG51ciBlaW5tYWwKClVydGhvbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2lubnQgaW5zdGFsbGllcmVuIChVcnRob25hLCAyOS4gU2VwIDE5OTgsIDAyOjQyOjE4KToKfiMhIHJuPVVydGhvbmEgcnQ9OTA3MDI5NjE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgpwcyBtZWludGUgbmF0dWVybGljaCwgYWxzICdub3QgYXV0aG9yaXplZCB2ZXJzaW9uJyBvZGVyIHNvIGJlemVpY2huZXQgaGF0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB3aW5udCBpbnN0YWxsaWVyZW4gKFBhdHJ5biwgMjkuIFNlcCAxOTk4LCAwNjoxNjoxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTA3MDE0MDE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjcwNzY2NgpkYXMgc3RpbW10IHNjaG9uLCBhYmVyIHNvIHZpZWwgaGFiIGljaCBpbW1lcmhpbiBhdXRvbWF0aXNjaCBrYXBpZXJ0IDopCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdpbm50IGluc3RhbGxpZXJlbiAoVHJhbmNlZmVhciwgMjkuIFNlcCAxOTk4LCAxNzoxOTozOCk6Cn4jISBybj1VcnRob25hIHJ0PTkwNzAyOTYxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDY3MDc2NjYKSmFqYSBkYXMgaXN0IGJla2FubnQuIEljaCBzYWdlIG51ciBJbnN0YWxsYXRpb24gZGVyIE1TRE4tTGlicmFyeTogYmVrYW5udGxpY2gKemVpZ3QgZGFzIE0kLUluc3RhbGxhdGlvbnNwcm9ncmFtbSB2b20gZ2VzYW10ZW4gZnJlaWVuIFBsYXR0ZW5wbGF0eiBpbW1lciBudXIKOTk5Ljk5OSBrQnl0ZXMgYW4uLi4gbnVuamEgZGEga2FtIGJlaSBtaXIgYmVpIGVpbmVyIDRHQiBQbGF0dGUgYWxzbyBkaWUKc2Nob2VuZSBNZWxkdW5nOiBNU0ROIExpYnJhcnkgYnJhdWNodCAxLjAzOC4wMDAga0J5dGVzIGFuIFBsYXR6IGVzIHNpbmQgYWJlcgpudXIgOTk5Ljk5OSBrQnl0ZXMgZnJlaS4gVHJvdHpkZW0gbWl0IGRlciBJbnN0YWxsYXRpb24gZm9ydGZhaHJlbj8gLSB1bmQgZGFzCmlzdCBkaWUgZ2VzYW1tZWx0ZSBFbnR3aWNrbGVyZG9rdSB2b24gTSQsIGFsc28gbmljaHQgaXJnZW5kZWluIFBvcGVscHJvZ3JhbW0KZnVlciBkaWUgTWFzc2VuLi4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnRwdG9vbCBnZXN1Y2h0IChDYXR3ZWF6bGUsIDMwLiBTZXAgMTk5OCwgMTI6MjU6NTEpOgpNb2luIQoKSWNoIHd1ZW5zY2hlIG1pciBlaW4gZnRwLXRvb2wsIGRhcyBhdXRvbWF0aXNjaCByZWNvbm5lY3RlZCB1bmQgendhciBzb2xhbmdlLApiaXMgaWNoIGRhcyBrb21wbGV0dGUgZmlsZSBoYWJlLgpHaWJ0cyBzb3dhcyBmdWVyIFVuaXg/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdHB0b29sIGdlc3VjaHQgKEVtYmUsIDMwLiBTZXAgMTk5OCwgMTQ6MzU6MzYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwNzE1MTE1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDcxNTExNTEKa2xhcjogd2dldApyZW5udCBwcmltYS4uLgoKZ3J1c3MsIGVNQmVlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZ0cHRvb2wgZ2VzdWNodCAoQmxvb2R5aGFycnksIDMwLiBTZXAgMTk5OCwgMjI6NDU6NTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkwNzE1MTE1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDcxNTExNTEKVmVyc3VjaCBtYWwgbmNmdHAKCmJoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZ0cHRvb2wgZ2VzdWNodCAoQ2F0d2VhemxlLCAgMS4gT2t0IDE5OTgsIDA5OjA5OjAxKToKfiMhIHJuPUJsb29keWhhcnJ5IHJ0PTkwNzE4ODM1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDcxNTExNTEKaWNoIF9iZW51dHplXyBuY2Z0cCwgd2VpbCBlcyBkYXMgZWluemlnZSB0b29sIGlzdCwgZGFzIGljaCBrZW5uZSwgYmVpIGRlbQplaW4gZ2V0IC1DIChjb250aW51ZSkgZnVua3Rpb25pZXJ0LiBOdXIgbGVpZGVyIHJlY29ubmVjdGVkIG5jZnRwIG5pY2h0LCBhdXNzZXIKaWNoIGhhZXR0ZSBkaWVzZXMgZmVhdHVyZSB1ZWJlcnNlaGVuLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRzY2hpcm1zY2hvbmVyIE5UIDQuMCAoVGh1ZmhpciwgIDIuIE9rdCAxOTk4LCAxNjowNzoyMSk6CgpIYWxsbywKCmthbm4gbWlyIGplbWFuZCBzYWdlbiwgd2llIGljaCBkZW4gQmlsZHNjaGlybXNjaG9uZXIgYXVmIGVpbmVtIFdpbmRvd3MgTlQgClNlcnZlciA0LjAgZnVlciBkZW4gTG9naW4tQmlsZHNjaGlybSBlaW5zY2hhbHRlbiBrYW5uPwoKVGh1Zmhpci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm50ZnMgKFNpcm9uYSwgIDIuIE9rdCAxOTk4LCAxODo1MjoyMSk6CkhpIG11ZGRpZXMsCmRpZSBmcmFnZSBpc3QgZ2FueiBzaW1wZWw6IHdpZSBnZW5hdSBncmVpZmUgaWNoIHZvbiBtZWluZW0gbGludXggcmVjaG5lcgooc3VzZTUuMikgYXVmIGVpbmUgZmVzdHBsYXR0ZSBtaXQgbnRmcyB6dS4gTkVJTiBpY2ggbW9lY2h0ZSBkaWVzZSBoYXJkZGlzawpuaWNodCBsb2VzY2hlbiwgc29uZGVybiBudXIgZGllIGRhdGVuIGF1ZnMgbGludXggemllaGVuIGRhbWl0IGljaCBzaWUgTkFDSEhFUgpsb2VzY2hlbiBrYW5uLiBnaWJ0cyBkYSBuIGRlYW1vbiA/IG9kZXIgd2llIG1hY2h0IG1hbiBkYXMgPyBob2ZmZSBhdWYgdmllbGUKaGlsZnJlaWNoZSBhbnR3b3J0ZW4KbWFueSBncmVldGluZ3Mgc2lyb25hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG50ZnMgKEdyaW1tYm9ybiwgIDIuIE9rdCAxOTk4LCAxODo1NjoxMik6Cn4jISBybj1TaXJvbmEgcnQ9OTA3MzQ3MTQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzM0NzE0MQptYW4gbmZzCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbnRmcyAoU2lyb25hLCAgMi4gT2t0IDE5OTgsIDE4OjU5OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MDczNDczNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA3MzQ3MTQxCkZ1ZXIgZGVuIEtsdWdzY2hlaXNzZXIgR3JpbW1ib3JuOgpObyBtYW51YWwgZW50cnkgZm9yIG5mcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBudGZzIChHcmltbWJvcm4sICAyLiBPa3QgMTk5OCwgMTk6MDA6MTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwNzM0NzM3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDczNDcxNDEKSG1tLCB1bSBkYXMgYmlzY2hlbiBhdXNmdWVocmxpY2hlciB6dSBtYWNoZW46CkR1IG11c3N0IGRpZSBwZXIgTkZTLWV4cG9ydGllcnRlIEZlc3RwbGF0dGUgKGljaCBnZWhlIGRhdm9uIGF1cyBkYXNzIHNpZQpleHBvcnRpZXJ0IHdpcmQpIG1vdW50ZW4sIHVuZCB6d2FyIG1pdCBkZW0gZmlsZSBzeXN0ZW0gbmZzLiBWb24gaGFuZCB3YWVyZSBkYXMKYWxzbyBlaW4gIm1vdW50IHNlcnZlcjovcGZhZC96dXIvcGxhdHRlIC10IG5mcyBtb3VudHBvaW50Ii4gCkFsbGVzIGtsYXI/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG50ZnMgKEdyaW1tYm9ybiwgIDIuIE9rdCAxOTk4LCAxOTowMjoxOCk6Cn4jISBybj1TaXJvbmEgcnQ9OTA3MzQ3NTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzM0NzE0MQpWb20gS2x1Z3NjaGVpc3NlciBHcmltbWJvcm46CkVzIGlzdCBpbW1lciBlaW5lIHNjaGxlY2h0ZSBJZGVlIGJlaSBkZXIgSW5zdGFsbGF0aW9uIGRpZSBtYW4gcGFnZXMgbmljaHQgbWl0Cnp1IGluc3RhbGxpZXJlbi4KVW5kIGVpbmUgbm9jaCBzY2hsZWNodGVyZSBJZGVlLCBuYWNoIFNhY2hlbiB6dSBmcmFnZW4sIGRpZSBleHBsaXppdCBpbQpTdVNFLUhhbmRidWNoIGJlc2NocmllYmVuIHNpbmQgKHp1bWluZGVzdCB3YXJlbiBzaWVzIGltIEhhbmRidWNoIHp1ciA1LjApLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG50ZnMgKFNpcm9uYSwgIDIuIE9rdCAxOTk4LCAxOTowMjoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTA3MzQ3NjE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzM0NzE0MQpFbnRzY2h1bGRpZ3QgdmllbCBtYWxzIGZ1ZXIgZGllIHVudmVyc3RhZW5kbGljaGtlaXQgbWVpbmVzIGVyc3RlbiBhcnRpa2tlbHMKRGllIGhhcmRkaXNrIGF1ZiBkaWUgaWNoIHp1Z3JlaWZlbiBtb2VjaHRlLCBpc3QgaW4gZGVtIENvbXB1dGVyIHdvIGF1ZiBlaW5lcgp6d2VpdGVuIGJlei4gZHJpdHRlbiBmZXN0cGxhdHRlIGRhcyBsaW51eCBsYWV1ZnQuIGQuaC4gZGllIHBsYXR0ZSBpc3QKc2ljaGVybGljaApuaWNodCBleHBvcnRpZXJ0IHdvcmRlbiBzb25kZXIgbXVzcyBnZW1vdW50ZW4gd2VyZGVuIGFscyAvZGV2L2hkYjEgZXRjLi4KZ3JlZXRpbmdzIHNpcm9uYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbnRmcyAoR3JpbW1ib3JuLCAgMi4gT2t0IDE5OTgsIDE5OjA0OjIyKToKfiMhIHJuPVNpcm9uYSBydD05MDczNDc3NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA3MzQ3MTQxCldvenUgYnJhdWNoc3QgRHUgZGFubiBuZnMsIHdlbm4gZGllIFBsYXR0ZSBpbSBzZWxiZW4gcmVjaG5lciBpc3Q/IE1vdW50ZSBkaWUKUGxhdHRlIHVuZCBtYWNoIGVpbiAiY3AgLWFSIiBvZGVyIHNvd2FzLiBOb3RmYWxscyBkaWUgbWFuIHBhZ2UgenUgY3Agd2VnZW4gZGVyCk9wdGlvbmVuIGJlZnJhZ2VuLCBmYWxscyBzaWUgaW5zdGFsbGllcnQgaXN0IChpY2ggaGFiIGhpZXIgWnVnYW5nIHp1IGVpbmVyClN0YW5kYXJkLVN1U0UgNS4zLCBkYSBnaWJ0cyBidHcgZWluZSBtYW4gcGFnZSB6dSBuZnMuLi4pLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBudGZzIChTaXJvbmEsICAyLiBPa3QgMTk5OCwgMTk6MDU6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwNzM0Nzg2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDczNDcxNDEKaGFiIGljaCBlY2h0IG5mcyBnZXNjaHJpZWJlbiA/IGRhbm4gc29sbHRlIGljaCBub2NoIG4gdCBuYWNoc2NoaWViZW4gLT4gTlRGUwppaHIgd2lzc3Qgc2Nob24gZGFzIHdhcyBiaWxseSB1bnRlcmFuZGVybSBtYWwgdmVyYnJvY2hlbiBoYWJ0Li4uCmdyZWV0aW5ncyBzaXJvbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG50ZnMgKEdyaW1tYm9ybiwgIDIuIE9rdCAxOTk4LCAxOTowOTo1OSk6Cn4jISBybj1TaXJvbmEgcnQ9OTA3MzQ3OTI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzM0NzE0MQoqZ3JpbnMqIE5laW4sIGljaCBrYW5uIG51ciBuYWNoIGRlbSBTdGVmZmVucy1CaWVyIGdlc3Rlcm4gKFdhcm51bmcgYW4gYWxsZSEKRmluZ2VyIHdlZyB2b24gYWxsZW0sIHdhcyBhdXMgZGVyIFN0ZWZmZW5zIEJyYXVlcmVpIHN1ZWRsaWNoIHZvbiBCb25uIGtvbW10ISkKbmljaHQgcmljaHRpZyBsZXNlbi4uLgpBbHNvLCBpbiBkZW0gRmFsbCBpc3QgYW0gc3RyZXNzZnJlaWVzdGVuLCBlaW5lbiBoYWxid2VncyBuZXVlbiBoYWNrZXIga2VybmVsCnp1IGluc3RhbGxpZXJlbiAoMi4xLngsIG1pdCB4IGFiIHZpZWxsZWljaHQgMTAwKSB1bmQgZGllIF9yZWFkX3VudGVyc3R1ZXR6dW5nCmZ1ZXIgTlRGUyBtaXQgZWluenViYXVlbi4gRXMgZ2lidCB3b2hsIGF1Y2ggZWluZW4gcGF0Y2ggZnVlciBkZW4gMi4wLngsIGFiZXIKZGVyIGhhdCB2b3IgbGFlbmdlcmVyIFplaXQgYmVpIG1pciBuaWNodCBmdW5rdGlvbmllcnQuCkljaCBsYXNzIGRpZSBEaXNrdXNzaW9uIG1hbCBzdGVoZW4sIGRhbWl0IHNpY2ggYXVjaCBhbmRlcmUgdWViZXIgbWVpbmVuIEthdGVyCmFtdWVzaWVyZW4ga29lbm5lbi4gOy0pCgpHcmltbWJvcm4gZGVyIEtsdWdzY2hlaXNzZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vZGVtIGxlZ3QgaGFldWZpZyBhdWY/IChSaW5nb3IsICAzLiBPa3QgMTk5OCwgMDM6NTM6MjkpOgpBbGxlIE11ZGRlciwgZGVyZW4gTW9kZW0gaW4gbGV0enRlciBaZWl0IGhhZXVmaWdlciBtYWwgdW5tb3RpdmllcnQgYXVmbGVndCwKc29sbHRlbiBzaWNoIHZpZWxsZWljaHQgbWFsIGZvbGdlbmRlIFNlaXRlIGFuc2NoYXVlbjoKCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2p1LTAyLjEwLjk4LTAwMS8KCk1vZGVtcyB2b24gVVNSIHNpbmQgdWVicmlnZW5zIG5pY2h0IGJldHJvZmZlbi4gQWJlciBkYXMgd2FyIGVpZ2VudGxpY2ggYXVjaCB6dQplcndhcnRlbi4gOy0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ULUluc3RhbGxhdGlvbiAoTW9yZ290aCwgIDUuIE9rdCAxOTk4LCAxMDoyMzo0Mik6CjEuIElDSCBIQVNTRSBCSUxMIEdBVEVTICEhCjIuIEljaCBtdXNzIHRyb3R6ZGVtIE5UIGluc3RhbGxpZXJlbgoKTmFjaGRlbSBtaXQgZGFzIE5UIG1laW4ga29tcGxldHRlcyBTeXN0ZW0gYWJnZXNjaG9zc2VuIGhhdCAoamEsIHVhY2ggTGludXgpCmJpbiBpY2ggbnVuIGRhYmVpLCBkZW4gZ2FuemVuIGtyZW1wZWwgbmV1IHp1IGluc3RhbGxpZXJlbi4gTnVuIG1lY2tlcnQgTlQKYWJlciwgd2VubiBlcyBzaWNoIGluc3RhbGxpZXJlbiBzb2xsLiBOYWNoIGRlciBBdXN3YWhsIGRlciBQYXJ0aXRpb24gKGVnYWwgd2llCmVyc3RlbGx0LCBvYiBET1MsIE5ULCBMaW51eC1mZGlzaykga29tbXQgZGllIE1lbGR1bmc6ICdzY2h3ZXJlciBGZWhsZXI6IENvZGUKKDB4NSwgMCwgMCwgMHgyKS4gS2FubiBkYSBpcmdlbmRqZW1hbmQgZXR3YXMgbWl0IGFuZmFuZ2VuPz8/CgpNb3Jnb3RoLCBzdGlua3NhdWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSFAgMTYwMENNIC0gTmV0endlcmtrb25maWd1cmF0aW9uIChBbGlyaW9uLCAgNS4gT2t0IDE5OTgsIDEzOjMwOjA2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTA2OTY3MDY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNjk2NzA2NwpIYWxsbywKCndlbm4gaWNoIG1pY2ggcmVjaHQgZXJpbm5lcmUgbXVzcyBpbiBkaWVzZW0gRHVyY2tlciBlaW5lIE5ldHp3ZXJrLQprYXJ0ZSAoSmV0RGlyZWN0IEthcnRlKSBlaW5nZWJhdXQgc2Vpbi4KRGllc2VyIEthcnRlIGthbm4gbWFubiBkYW5uIG1pdHRlbHMgZGVyIFNvZnR3YXJlIEpldEFkbWluCm9kZXIgSmV0RGlyZWN0IGVpbmUgSVAgQWRyZXNzZSB6dXdlaXNlbi4KRGVyIER1cmNrZXIgc2VsYnN0IGhhdCBkaWVzZSBNb2VnbGljaGtlaXQgbmljaHQsIHNjaG9uIGdhciBuaWNodCB1ZWJlcgpkaWUgUGFyYWxsZWxzY2huaXR0c3RlbGxlIwoKSWNoIGhvZmZlIGRhcyBIaWxmdAoKQWxpcmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIUCAxNjAwQ00gLSBOZXR6d2Vya2tvbmZpZ3VyYXRpb24gKE1vcmdvdGgsICA1LiBPa3QgMTk5OCwgMTM6MzE6MzUpOgp+IyEgcm49QWxpcmlvbiBydD05MDc1ODcwMDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA2OTY3MDY3CkhhdCBzaWNoIGVybGVkaWd0LCB3YXIgZ2FueiBlaW5mYWNoLgpKZXREaXJlY3QgYXVzIGRlbSBIUDE2MDAgYXVzYmF1ZW4sIGluIGVpbmVuIEhQNE0gc3RlY2tlbiwgcGVyIE1lbnVlCmtvbmZpZ3VyaWVyZW4gdW5kIHdpZWRlciBpbiBkZW4gSFAxNjAwIHN0ZWNrZW4uCk0qCgpQLlMuOiAqd3VzY2hlbCB3aW0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpYLUNsaWVudCBmdWVyIFdpbmRvb2YgKFR1bml4Z3V0LCAgNi4gT2t0IDE5OTgsIDEyOjA3OjQzKToKSGkhCkljaCBzdWNoZSBlaW5lbiBrb3N0ZW5ndWVuc3RpZ2VuIChtb2VnbGljaHN0IGtvc3Rlbmxvc2VuKSBXaW5kb29mLVgtQ2xpZW50Li4uCktlbm50IGptZC4gc293YXM/Pz8KRGFua2UuLi4KJ3MgS2FyYXRlLVp3ZXJjaGxlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWC1DbGllbnQgZnVlciBXaW5kb29mIChXdXJ6ZWwsICA2LiBPa3QgMTk5OCwgMTk6MDk6MTMpOgp+IyEgcm49VHVuaXhndXQgcnQ9OTA3NjY4NDYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzY2ODQ2MwpyZWZsZWN0aW9uIHggcmF1YmtvcGllLgprb3N0ZW5ndWVuc3RpZyB1bmQgemllbWxpY2ggZ3V0LgoKd3VyemVsICgtPnNjaG1hcnJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBYLUNsaWVudCBmdWVyIFdpbmRvb2YgKEd1bmR1ciwgIDYuIE9rdCAxOTk4LCAyMDo0Nzo1NSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTA3NjkzNzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzY2ODQ2MwpQcm9iaWVyIG1hbCBYd2luIGZhbGxzIGVzIGRlbiBub2NoIGdpYnQuLgpodHRwOi8vd3d3LnN0YXJuZXQuY29tCkdydXNzCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWC1DbGllbnQgZnVlciBXaW5kb29mIChUcmFuY2VmZWFyLCAgNy4gT2t0IDE5OTgsIDAzOjA2OjA3KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTkwNzY2ODQ2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDc2Njg0NjMKYXVmIGRlciAyLiBjJ3QgY2Ryb20gd2FyIHNvd2FzIGRyYXVmLi4uIGhlaXNzdCAibWl4IiBvZGVyIHNvIGFlaG5saWNoLiBudXIgdHdtCmFiZXIgd2FzIHNvbGxzLi4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmVlZCBoZWxwIC4uLiBzcHJhY2ggZGVyIERBVSAoQmlibywgIDcuIE9rdCAxOTk4LCAxNzowODozMCk6CiAgaGkgOi0pIHZpZWxsZWljaHQga2FubiBtaXIgamVtYW5kIHdlaXRlcmhlbGZlbiAuLiBpY2ggaGFiCiAgc2VpdCBrdXJ6ZW0gbmVuIElTRE4tQW5zY2hsdXNzIChkc3MxKSwgUy5VLlMuRS1MaW51eCA1LjMKICAoS2VybmVsIDIuMC54LngpIHVuZCBiaW4gVC1PbmxpbmUgS3VuZGUuIE51biBoYWIgaWNoIHZlcnN1Y2h0IAogIGRhcyBOZXR6d2VyayAvIElTRE4genUga29uZmlndXJpZXJlbiB1bmQgZGFiZWkgUHJvYmxlbWUuCiAgSVNETi1LYXJ0ZSBpc3QgZWluZSBGcml0ekNhcmQgQTEKICBXaWNodGlnc3RlIEZyYWdlOiBhbnNjaGVpbmVuZCBtdXNzIGljaCB1bnRlciBsaW51eCBiZWkKICBuZXR6d2Vyay1ncnVuZGtvbmZpZ3VyYXRpb24gKG1pdCB5YXN0KSBzeW5jLXBwcCBlaW5nZWJlbjsgIAogIGRhIHNpbmQgZGFubiBJUF9BZHJlc3NlbiBnZWZvcmRlcnQuIGRhc3MgaWNoIGtlaW5lIGZlc3RlIAogIEFkcmVzc2UgaGFiIGlzdCBiZWkgc3luYy1wcHAga2xhciwgZG9jaCB3ZWxjaGUgbXVzcyBpY2ggCiAgZnVlciAoUFBQLVBhcnRuZXIpLCBkaWUgVGVsZWtvbSBlaW5nZWJlbiA/IGVpbnppZ2UgSVAtQWRyZXNzZSAKICBkZXIgVGVsZWtvbSBkaWUgaWNoIGhhYiBpc3QgZGVyZW4gTmFtZXNlcnZlciAuLi4gZG9jaCBkYW1pdCAKICBrbGFwcHRzIG5pY2h0CiAgSWNoIGhhYiBtaXQgWWFzdCBhbGxlcyBlaW5nZXN0ZWxsdC4gZGVyCiAgVGVzdHp1Z2FuZyBsYWV1ZnQgenVtIFMuVS5TLkUtUmVjaG5lci4gWnVyIFRlbGVrb20KICAoTmFtZXNlcnZlcikgc2NoZWluYmFyIGF1Y2gsIGRvY2ggd2VubiBpY2ggdGVsbmV0IG9kZXIKICBmdHAgbWFjaGUga29tbXQ6IG5ldHdvcmsgdW5yZWFjaGFibGUuIHVuZCB3ZW5uIGljaAogIE5ldHNjYXBlIHN0YXJ0ZSB2ZXJzdWNodHMgS29udGFrdCB6dSBTLlUuUy5FIGF1Znp1bmVobWVuCiAgdW5kIGhhZW5ndCBzaWNoIGRhYmVpIHNhbmctIHVuZCBrbGFuZ2xvcyBhdWYuCiAgWnUgVC1PbmxpbmUgaGFiIGljaCBudXIgbmUgQW5sZWl0dW5nIHp1IFp1Z2FuZyBtaXQgTW9kZW0KICBnZWZ1bmRlbi4gRGlyZWt0IGJlaSBTLlUuUy5FLWhvd3RvcyBoYWIgaWNoIGxlaWRlciBudXIgZGFzCiAgaTRsLWhvd3RvIGdlZnVuZGVuLCB3YXMgbWlyIGFiZXIgbmljaHQgc2FndCB3YXMgaWNoIHdpZQogIGZ1ZXIgVC1vbmxpbmUga29uZmlndXJpZXJlbiBtdXNzIChpY2ggaG9mZmUgZXMgbGllZ3QgbnVyIGFuIAogIGVpbmVyIGZhbHNjaGVuIElQLUFkcmVzc2UsIGFiZXIgYWxzIGR1ZW1tc3RlciBhbnp1bmVobWVuZGVyIFVzZXIKICBrYW5uIGVzIHNlaW4gZGFzcyBpY2ggbm9jaCBhbmRlcmUgRGluZ2UgZmFsc2NoIGVpbmdlc3RlbGx0IGhhYi4KICBJY2ggYmluIHppZW1saWNoIHJhdGxvcy4KICBEYWhlciAyIEZyYWdlbjoKICAgYSkgd2VsY2hlIEFkcmVzc2UgbXVzcyBpY2ggYmVpIGRlciBOZXR6d2Vya2tvbmZpZ3VyYXRpb24gZWluZ2ViZW4KICAgYikgZGEgaWNoIHZvZWxsaWcgdW5zaWNoZXIgYmluIHdlaWwgaWNoIHVudGVyIFdJTiB6d2FyIGlucyBOZXR6IGtvbWUsCiAgICAgIGFiZXIgbmljaHQgdW50ZXIgTGludXg6CiAgICAgIEdpYnQgZXMgZWluZSBiZWlzcGllbGtvbmZpZ3VyYXRpb24gd28gaWNoIGRpZSB3aWNodGlnc3RlbiBFaW5zdGVsbHVuZ2VuCiAgICAgIGZ1ZXIgZGVuIElTRE4tWnVnYW5nIHVlYmVybmVobWVuIHVuZCBlbnRzcHJlY2hlbmQgZnVlciBtaWNoIGFiYWVuZGVybgogICAgICBrYW5uID8gZ2lidHMgZGEgbmUgd3d3LUFkcmVzc2Ugb2RlciBrYW5uIG1pciBqZW1hbmQgZWluIEJlaXNwaWVsCiAgICAgIHNjaGlja2VuID8KICBPaywgbGV0emVyZXMgbWFjaHQgYVJiZWl0IHVuZCBpc3Qgd29obCB6dSB2aWVsIHZlcmxhbmd0LCBhYmVyIEZyYWdlbiBrYW5uCiAgICAgIG1hbiBqYSBtYWwuCgogIERhbmtlIGltIFZvcmF1cywKCiAgICAgICAgICAgICAgICAgIEJpYm8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmVlZCBoZWxwIC4uLiBzcHJhY2ggZGVyIERBVSAoUGF0cnluLCAgNy4gT2t0IDE5OTgsIDE3OjEwOjE3KToKfiMhIHJuPUJpYm8gcnQ9OTA3NzcyOTEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzc3MjkxMAppY2ggZGFjaHRlLCBmcml0emNhcmQgMSBnZWh0IG5pY2ggbWl0IGxpbnV4ICp6dWNrKgprb2VubnRlc3QgcGVjaCBoYWJlbi4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCA0OSAoQmlibywgIDcuIE9rdCAxOTk4LCAxNzoyMzowOCk6Cn4jISBybj1QYXRyeW4gcnQ9OTA3NzczMDE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzc3MjkxMApEb2NoLCBGcml0emNhcmQgQTEgd2lyZCBzdGVodCB1bnRlciBZYXN0IC0gSVNETi1Lb25maWd1cmF0aW9uIAp6dXIgQXVzd2FobC4gTmljaHQgZXJrYW5udCB3aXJkIEZyaXR6Y2FyZCBCMSB1bmQgRnJpdHpjYXJkIFBuUCEgIApEaWUgS2FydGUgd2lyZCBiZWltIGJvb3RlbiBrb3JyZWt0IGVya2FubnQsIEJhc2lzYWRyZXNzZSB1bmQgSW50ZXJydXB0CndlcmRlbiB6dWdlb3JkbmV0IC4uLiBpY2ggYmluIHNpY2hlciBkYXNzIGVzIG5pY2h0IGFuIGRlciBLYXJ0ZSBsaWVndCwKc29uZGVybiBhbiBkZXIgZmVobGVyaGFmdGVuIEtvbmZpZ3VyYXRpb24gZWluZW4gdW53aXNzZW5kZW4gClVzZXJzIC0gbWljaCAKCkJpYm8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCA0OSAoR3JpbW1ib3JuLCAgNy4gT2t0IDE5OTgsIDIzOjE1OjU0KToKfiMhIHJuPUJpYm8gcnQ9OTA3NzczNzg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwNzc3MjkxMApOdXIgd2VpbCBpY2ggZGEgbWFsIGx1c3RpZyBsYW5nZSBkcmFuIHZlcnp3ZWlmZWx0IGJpbjogRGFzIFByb3Rva29sbCAoc3luUFBQLApyYXdJUCkgbXVzcyBuYXR1ZXJsaWNoIGluIGRlbiBrZXJuZWwgZWlua29tcGlsaWVydCB3ZXJkZW4sIHNvbnN0IGxhZXVmdCBnYXIKbmljaHRzLgpBbnNvbnN0ZW4gc2NocmVpYiBkb2NoIG1hbCBoaWVyIGhlciwgd2FzIExpbnV4IERpciB3YWVocmVuZCBkZXMgdmVyc3VjaHRlbgpWZXJiaW5kdW5nc2F1ZmJhdXMgbmFjaCAvdmFyL2xvZy9tZXNzYWdlcyBzY2hyZWlidC4gT2huZSBGZWhsZXJiZXNjaHJlaWJ1bmcKaXN0IGd1dGVyIFJhdHNjaGxhZyB0ZXVlci4gOy0pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXJ0aWtlbCA0OSAoSmltZGlncml6LCAgOC4gT2t0IDE5OTgsIDE3OjIyOjAwKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MDc3OTQ5NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA3NzcyOTEwCkhvaSwKCnVtIGFiZ2VzZWhlbiB2b24gYW5kZXJlbiBzaWNoZXIgbnVldHpsaWNoZW4gVGlwcwphdWYgZGllIHVyc3BydWVuZ2xpY2hlIEZyYWdlIHp1cnVlY2t6dWtvbW1lbiwKZGEgZGllIElQLUFkcmVzc2VuIHZvbSBTZXJ2ZXIgenVnZXdpZXNlbiB3ZXJkZW4sCnd1ZXJkZSBpY2ggaW4gYmVpZGVuIGZhZWxsZW4gKGVpZ2VuZSB1bmQgcmVtb3RlKQowLjAuMC4wIGVpbnRyYWdlbiwgZGFzIGZ1bmt0aW9uaWVydCB1ZWJlcmxpY2h3ZWlzZS4KV2VubiBlcyBmdWVyIGRpZSByZW1vdGUgbmljaHQga2xhcHB0LCBrYW5uc3QgZHUgYXVjaAp2ZXJzdWNoZW4gZGllIGRlZmF1bHQgcm91dGUgZWluZmFjaCB1ZWJlciBkZWluIApzcHBwLUludGVyZmFjZSB6dSBsZWdlbi4gCkRhcyBzaW5kIGFsbGVyZGluZ3MgYWxsZ2VtZWluIFRpcHMsIG9iIExvc15IXkhpbnV4IApzb3dhcyB6dWxhZXNzdCBvZGVyIGJlc29uZGVyZSBWb3JnZWhuc3dlaXNlbiBicmF1Y2h0LAp3ZWlzcyBpY2ggbmljaHQuCgpWaWVsIEVyZm9sZywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggdW5kIFdpbjk4IChIZWx2YSwgMTMuIE9rdCAxOTk4LCAyMjo1MDo1Myk6CkhhdCBqZW1hbmQgc2Nob24gcHJha3Rpc2NoZSBFcmZhaHJ1bmdlbiBtaXQgZGVyIEluc3RhbGxhdGlvbiB2b24gTGludXgKdW50ZXIvbmViZW4gV2luOTggZ2VzYW1tZWx0PyBHaWJ0IGVzIGRhIFByb2JsZW1lLCB3ZWlsIGRlciBET1MtQmVyZWljaCBudW5tZWhyCnNlaHIgYWJnZXNwZWNrdCBpc3Q/ClZpZWxlIEdydWVzc2UsIEhlbHZhLWF1Y2ggZWluIERBVSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4IHVuZCBXaW45OCAoSGF0ZSwgMTQuIE9rdCAxOTk4LCAxMzoyMToyNyk6Cn4jISBybj1IZWx2YSBydD05MDgzMTE4NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA4MzExODUzCkhlbHZhOgoKSWNoIGhhYmUgYmVpZGVzIHVuZCBOZXh0U3RlcCBuZWJlbmVpbmFuZGVyIGxhdWZlbi4gTWFjaHQga2VpbmVuIFVudGVyc2NoaWVkLgpXaW5kb3dzIDk4IGlzdCBpbW1lciBub2NoIERPUyArIFdpbmRvd3MgQXVmc2F0eiwgZGEgYmVpc3N0IGRpZSBNYXVzIGtlaW5lbgpGYWRlbiBhYi4gSW1tZXIgbm9jaCBkZXIgZ2xlaWNoZSBNaXN0LCB3aWUgbWl0IFdpbmRvd3MgOTUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4IHVuZCBXaW45OCAoR3JpbW1ib3JuLCAxNS4gT2t0IDE5OTgsIDA5OjQ4OjI0KToKfiMhIHJuPUhlbHZhIHJ0PTkwODMxMTg1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDgzMTE4NTMKRGEgTGludXggTGludXggdW5kIG5pY2h0IERPUyBpc3QsIGlzdCBlcyBkZW0gTGludXggYXVjaCBoZXJ6bGljaCBlZ2FsLCB3YXMKZnVlciBTcGllbGNoZW4gR2lsbCBHYXRlcyBzZWluZW0gYWt0dWVsbGVuIERPUyBudW4gYWt0dWVsbCB2b3JzY2hyZWlidC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXN1c1AyQi1Cb2FyZCAoSGVsdmEsIDE1LiBPa3QgMTk5OCwgMjM6MTM6NDEpOgpOYWNoZGVtIGljaCBtaXIgYWxzbyBkaWVzZW4gc2Nob2VuZW4gbmV1ZW4gUmVjaG5lciBtaXQgZGVtICBhbmdlYmxpY2ggYWJzb2x1dApndXRlbiBCb2FyZCB6dWdlbGVndCBoYWJlLCBnaWJ0IGVzIG51biBkb2NoIGVpbiBwYWFyIFByb2JsZW1lOgoxLiBJY2ggaGFiZSBqZXR6dCBpbm5lcmhhbGIgdm9uIGVpbmVtIE1vbmF0IGRhcyBEcml0dGUhIERpZSBhbmRlcmVuIGJlaWRlbgpnaW5nZW4gZWluZmFjaCBrYXB1dHQuIE1laW4gSGFlbmRsZXIgaGF0IHVlYmVyaGF1cHQga2VpbmUgRXJrbGFlcnVuZy4gU2luZAppcmdlbmR3ZWxjaGUgSGFyZHdhcmVLb21iaW5hdGlvbmVuIGJla2FubnQsIGRpZSBtYW4gZGllc2VtIEJvYXJkIG5pY2h0IGFudHVuCmRhcmY/IEVpZ2VudGxpY2ggaGFiZSBpY2ggbmljaHRzIGV4b3Rpc2NoZXMgZHJpbiwgaW5zYmVzb25kZXJlIGF1Y2ggZGVuCnJpY2h0aWdlbiBBcmJlaXRzc3BlaWNoZXIgKDEwME1oei1DaGlwcykuCjIuIE1laW4gTGludXgtUHJvYmxlbSBzY2hpZW4gd29obCBhdWNoIGRhbWl0IHp1IHR1biB6dWhhYmVuLiBJY2gga29ubnRlCmVpbmZhY2ggbmljaHQgdm9uIENEIGF1cyBMSUxPIG9kZXIgYWVobmxpY2hlcyBzdGFydGVuIGxhc3NlbiwgYmlzIGljaCBpbSBCSU9TCkJvb3QgdXAgZmxvcHB5IGRpc2sgYXVmIGVuYWJsZWQgc3RlbGx0ZSwgd2FzIHVlYmVyaGF1cHQga2VpbmVuIFNpbm4gbWFjaHQgKD8pLgpBdWNoIGthbm4gbWFuIGRpZSBCb290LVJlaWhlbmZvbGdlIG5pY2h0IHZlcm51ZW50aWcgZWluc3RlbGxlbiwgc2VsYnN0IGJlaQpFaW5zdGVsbHVuZywgZGEgenVlcnN0IHZvbiBDRC1Sb20gZ2Vib290ZXQgd2VyZGVuIHNvbGwsIHBhc3NpZXJ0IGRhcyBuaWNodApldGMuCkFsc28gZmFsbHMgaXJnZW5kamVtYW5kIHNvbGNoIGtvbWlzY2hlIFNhY2hlbiBnZWhvZXJ0IGhhdCwgYmluIGljaCBhbgpJbmZvcm1hdGlvbmVuIHNlaHIgaW50ZXJlc3NpZXJ0LgoKRWluZSBsZWljaHQgY29tcGktZnJ1c3RyaWVydGUgSGVsdmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBc3VzUDJCLUJvYXJkIChTaGFyaWEsIDE2LiBPa3QgMTk5OCwgMDg6MjY6MjEpOgp+IyEgcm49SGVsdmEgcnQ9OTA4NDg2MDIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwODQ4NjAyMQpzYWNoIG1hbCB3YXMgZHUgZGVubiBmdWVyIGtvbXBvbmVudGVuIGRyaW5uZW4gaGF0dGVzdCAuLi4gZGFzIHdhZXJlIG1hbAppbnRlcmVzc2FudC4uLiAKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFzdXNQMkItQm9hcmQgKENhdHdlYXpsZSwgMTYuIE9rdCAxOTk4LCAxMDoxOTo1OCk6Cn4jISBybj1IZWx2YSBydD05MDg0ODYwMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA4NDg2MDIxClNjaG9uIG1hbCBuZW4gQklPUy1VcGRhdGUgZ2Vob2x0PwpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXN1c1AyQi1Cb2FyZCAoU2hhcmlhLCAxNi4gT2t0IDE5OTgsIDEwOjQ0OjEzKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MDg1MjU5OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA4NDg2MDIxCmljaCB2ZXJtdXRlIG1hbCBlaW5mYWNoIGRhc3MgZHUgbmVuIENlbGVyb24gMzAwIEEgb2RlciBDZWxlcm4gMzMzIGhhc3QgLi4uIGRhCmJyYXVjaHN0ZSBkYXMgbmV1ZXN0ZSBCSU9TIC4uIGRhIGhhdCBDYXQqIHJlY2h0IC4uLi4gYW5zb25zdGVuIGthbm5zIGRhIGVjaHQKdWVibGUgUHJvYnMgZ2ViZW4gLi4uOi0pCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFzdXNQMkItQm9hcmQgKEhlbHZhLCAxNi4gT2t0IDE5OTgsIDIxOjM5OjQ3KToKfiMhIHJuPVNoYXJpYSBydD05MDg1Mjc0NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA4NDg2MDIxCkFsc28gaWNoIGhhYmUga2VpbmVuIENlbGVyb24sIGRhcyBCSU9TIGlzdCBhdWNoIG5ldS4gQWxzIENoaXAgaGFiZSBpY2ggd29obAplaW5lbiBQIElJIDQwMCBNSHosIGVpZ2VudGxpY2ggc29sbHRlIGVzIGphIG51ciBlaW4gMjY2IHNlaW4sIGFiZXIgZGllIHdhcmVuCmF1cywgZGVzd2VnZW4gaGF0IEludGVsIHdvaGwgNDAwZXIgYXVzZ2VsaWVmZXJ0LCBkZXIgYWJlciBtb20gcnVudGVyZ2V0YWt0ZXQKaXN0LiBBbnNvbnN0ZW4gaGFiZSBpY2ggMTI4IE1CIFJBTSwgbmUgRGlhbW9uZCBWaXBlciB1bmQgU291bmRibGFzdGVyIEtBcnRlLgpGZXN0cGxhdHRlIDgsNCBHQiB2b24gSUJNLiBCaXR0ZSBqZXR6dCBrZWluIE5laWQuLi47KSwgaWNoIGJlaGFsdGUgZGFmdWVyCm1laW5lIFJlY2huZXIgZXR3YXMgbGFlbmdlciBpbSBCZXRyaWVidW5kIGhvbGUgbWlyIG5pY2h0IGFsbGVyIHp3ZWkgSmFociBlCmVpbmVuIG5ldWVuLiBBbHNvIGVpZ2VudGxpY2ggc2luZCBkYXMgd29obCBrZWluZSB1bmdld29laG5saWNoZW4gS29tcG9uZW50ZW4sCmRlc3dlZ2VuIHZlcnN0ZWhlIGljaCBkYXMgbWl0IGRlbSBCb2FyZCBuaWNodC4gVmllbGxlaWNodCBsaWVndCBlcyBqYSBhdWNoIGFtCkJvYXJkLCB2aWVsbGllY2h0IGdhYiBlcyBkYSBtYWwgZWluZSBmZWhsZXJoYWZ0ZSBMaWVmZXJ1bmcgb2RlciBzbywgZGVzd2VnZW4KaGFiZSBpY2ggaGllciBtYWwgbmFjaGdlZnJhZ3QuV2VubiBuaWNodCBpbSB6d2VpLVdvY2hlbiBUYWt0IGpldHp0IGhhbHQgc2Nob24KendlaSBCb2FyZHMgaWhyZW4gR2Vpc3QgYXVmZ2VnZWJlbiBoYWV0dGVuLCB3YWVyZSBpY2ggU0VIUiBnbHVlY2tsaWNoIG1pdAptZWluZW0gbmV1ZW4gQ29tcGkuCkltbWVyaGluIGthbm4gaWNoIGpldHp0IGVuZGxpY2ggQmxhZGUgUnVubmVyIHNwaWVsZW4sIG5hY2hkZW0gZGFzIFNwaWVsIGVpbgpEcmVpdmllcnRlbEphaHIgdHJhdXJpZyB1bmQgYWxsZWluZSBpbiBkZXIgRWNrZSBsaWVnZW4gbXVzc3RlIDspLgpBY2ggamEgbGllZ3QgZXMgZWlnZW50bGljaCBhbiBMaW51eCwgd2VubiBpY2ggaW0gQklPUyB6dW0gQm9vdGVuIEEsQwplaW5nZXN0ZWxsdCBoYWJlIHVuZCBkaWUgU3VTZSBMaW51eCBDRCAoMSkgZWlubGVnZSwgZGFzcyBkYW5uIGVyc3QgYXVmIEEKenVnZWdyaWZmZW4gd2lyZCwgdW5kIGRhbm4gbmljaHQgYXVmIEMsIHNvbmRlcm4gTGludXggc2ljaCB2b20gQ0QtUm9tCmF1c21lbGRldCwgZGFzcyBkYXMgQ0QtUm9tIGpldHp0IEEgaXN0PyBVbmQgQyB3aXJkIHZvcmhlciBnYXIgbmljaHQKYXVmZ2VydWZlbj8gCkhlbHZhIHdpcnIrY29uZnVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBc3VzUDJCLUJvYXJkIChTaGFyaWEsIDE3LiBPa3QgMTk5OCwgMTI6NDQ6NDUpOgp+IyEgcm49SGVsdmEgcnQ9OTA4NTY2Nzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwODQ4NjAyMQpzZWx0c2FtIC4uLiBhbHNvIG1pdCBkZW4gQ29tcG9uZW50ZW4gc29sbHRlIGVzIHNjaG9ubWFsIGtlaW5lIFByb2JsZW1lIGdlYmVuCi4uLiB1bmQgbWl0IEFzdXMgQm9hcmRzIG9obmVoaW4gbmljaHQgLi4gdm9uIGVpbmVyIGZlaGxlcmhhZnRlbiBMaWVmZXJ1bmcgaXN0Cm1pciBuaWNodHMgYmVrYW5udC4uLiBpY2ggd2Vpc3MgbnVyLCBkYXNzIGJlaSB1bnMgQXN1cyBkaWUgQm9hcmRzIHNpbmQgZGllIGFtCndlbmlnc3RlbiByZWtsYW1pZXJ0IHdlcmRlbiAuLi4uICpncnVlYmVsKiBpY2ggdGlwcGUgbWFsIGVpbmZhY2ggZGFyYXVmLCBkYXNzCmR1IHRpZXJpc2NoIHBlY2ggaGFzdCBvZGVyIERlaW4gSGFlbmRsZXIgbmVuIGFyc2NoIGlzdCA6LSkKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUDIwMCBvaG5lIE1NWCAoT3JrdG9ldGVyLCAxOS4gT2t0IDE5OTgsIDEyOjQ1OjMyKToKV2FzIGthbm4gbWFuIGZhaXJlciB3ZWlzZSBub2NoIGZ1ZXIgc28gZWluZW4gUHJvemVzc29yIHZlcmxhbmdlbi9iaWV0ZW4gPwoKKGFudHdvcnRlbiBiaXR0ZSBwZXIgTWFpbCBhbiBtaWNoKSBPcmtUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBc3VzUDJCLUJvYXJkIChHcmltbWJvcm4sIDIwLiBPa3QgMTk5OCwgMDA6Mzk6MzUpOgp+IyEgcm49SGVsdmEgcnQ9OTA4NTY2Nzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwODQ4NjAyMQpadSBkZW0gdm9uIERpciBiZXNjaHJpZWJlbmVuIFplaXRwdW5rdCBoYXQgZGVyIFJlY2huZXIgZ2VyYWRlIG1hbCBkYXMgQklPUwpnZWxlc2VuIHVuZCB3ZWlzcyBub2NoIG5pY2h0cyB2b24gTGludXgsIERPUywgU0NPLCBzb2xhcmlzIG9kZXIgc29uc3RpZ2VuClN5c3RlbWVuLiBVbmQgdW50ZXIgTGludXggZ2lidCBlcyBrZWluZSBMYXVmd2Vya3NidWNoc3RhYmVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBc3VzUDJCLUJvYXJkIChHcmltbWJvcm4sIDIwLiBPa3QgMTk5OCwgMDA6NDA6MTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwODgzNjc3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDg0ODYwMjEKQWNoIHNvLCBkYXMgaGllc3N0OiBOZWluLCBkYXMgbGllZ3QgbmljaHQgYW4gTGludXguIFVuZCBhdWNoIG5pY2h0IGFuIFN1U0UuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFzdXNQMkItQm9hcmQgKEhlbHZhLCAyMC4gT2t0IDE5OTgsIDIxOjIwOjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MDg4MzY3NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTA4NDg2MDIxCkphLCBnZW5hdSBkYXMgZGFjaHRlIGljaCBhdWNoLCBkZXN3ZWdlbiB3YXIgZGllIE1lbGR1bmcgamEgc2VociBzZWx0c2FtLiBTaWUKZXJzY2hpZW4gdWVicmlnZW5zIHNvIGltIEhvY2hmYWhyZW4sIGJldm9yIHBsb2V0emxpY2ggZGllIExpbnV4LUNEIGRhcwpLb21tYW5kbyB1ZWJlcm5haG0gdW5kIFlhc3Qgc3RhcnRlbiB3b2xsdGUuIFdvYmVpIGljaCBkZW5rZSwgZGFzcyBkaWVzIGJlaSBkZXIKQklPUy1FaW5zdGVsbHVuZyBBLEMgdWViZXJoYXVwdCBuaWNodCBoYWV0dGUgcGFzc2llcmVuIGR1ZXJmZW4uIEFiZXIgZGFua2UKZnVlciBkZW4gSGlud2Vpcy9CZXN0YWV0aWd1bmcuCkhlbHZhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBc3VzUDJCLUJvYXJkIChNYXJjdXMsIDIwLiBPa3QgMTk5OCwgMjE6MzM6MTkpOgp+IyEgcm49SGVsdmEgcnQ9OTA4NTY2Nzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkwODQ4NjAyMQpEZWluIFNDU0kgQ29udHJvbGxlciBoYXQgZWluZSBib290ZmFlaGlnZSBDRCBpbSBMYXVmd2VyayBlbnRkZWNrdCB1bmQKaGF0IHNpZSB6dSBMYXVmd2VyayBBOiBnZW1hY2h0ICwgc28gZGFzcyBkZWluIEJJT1MgZGF2b24gYm9vdGV0LgpEZXNoYWxiIGtvbW10IGRhcyBMb2FkaW5nIExpbnV4IC4uLi4uLiBiZWkgQm9vdHJlaWhlbmZvbGdlIEEsQy4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR1MgVHJlaWJlciBmdWVyIERKIDg1MCAoQXJlbGlvbiwgMjIuIE9rdCAxOTk4LCAxMDo1MToyOCk6CmljaCBzdWNoZSBlaW5lbiBEcnVja2VydHJlaWJlciBmdWVyIGVpbmVuIGZhcmJpZ2VuIERlc2tKZXQgKGFsc28gZGVyIGluIEZhcmJlCmRydWNrdCB1bmQgbmljaHQgdW5iZWRpbmd0IHNlbGJzdCBidW50IGlzdCA6KSksIGRlciBmdWVyIFNjaHdhcnpkcnVjayBhdWNoIGRpZQpTY2h3YXJ6cGF0cm9uZSB2ZXJ3ZW5kZXQuIERpZXNlciA2eHggQyBUcmVpYmVyIGRydWNrdCBuYWVtbGljaCBTY2h3YXJ6IGFscwpNaXNjaGZhcmJlLCB3YXMgdW5ub2V0aWcgdGV1ZXIgaXN0IHVuZCBmdXJjaHRiYXIgYXVzc2llaHQuCgpLZW5udCBlaW5lciBzb3dhcz8KCkFyZWxpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR1MgVHJlaWJlciBmdWVyIERKIDg1MCAoQWxpcmlvbiwgMjIuIE9rdCAxOTk4LCAxMjozMzo1OSk6Cn4jISBybj1BcmVsaW9uIHJ0PTkwOTA0NjI4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MDkwNDYyODgKVmVyc3VjaGUgbWFsIGRlbiBEcnVja2VydHJlaWJlciBmdWVyIGRpZSA4ZXIgU2VyaWUuIEVzIGxpZXN0IHNpY2gKYWxzIGhhZXR0ZXN0IGR1IGVpbmVuIGFsdGVuIGRydWNrZXJ0cmVpYmVyIGVyd2lzY2h0LgpEaWUgbmV1c3RlIFZlcnNpb24gKDkuMjNnZSkgaXN0IGF1ZiBkZXIgaG9tZXBhZ2Ugdm9uIGhwCgpJY2ggaG9mZmUsIGRhc3MgIGhpbGZ0IHdlaXRlcgoKQWxpcmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGlsZmUgenUgTVMtQWNjZXNzIDIuMCAoTW9yZ290aCwgIDMuIE5vdiAxOTk4LCAxMzozNzoxNCk6ClByb2JsZW06CkljaCBoYWV0dGUgZ2VybmUgaW4gZGVyIFRhYmVsbGVuYW5zaWNodC8tZWluZ2FiZSB2b3JnZWdlYmVuZQpBdXN3YWhsbW9lZ2xpY2hrZWl0ZW4sIGFsc28gei5iLiBmdWVyIGRhcyBGZWxkIEhlcnN0ZWxsZXI6IEFsZnJlZCwgQmVydGEsIE1yWAp1c3cuCkVzIHNvbGwgZGFubiBzbyBmdW5rdGlvbmllcmVuLCBkYXNzIGljaCBudXIgZGllIG5vdHdlbmRpZ2VuIEJ1Y2hzdGFiZW4KZWluZ2ViZW4gbXVzcyB1bmQgZXIgZGVuIFJlc3QgYWxsZWluZSBkcmFuaGFlbmd0LgpGcmFnZTogCkdlaHQgZGFzPyAKV2llPwoKTW9yZ290aCwgdmVyendlaWZlbHQgdW5kIGdlcmVpenQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIaWxmZSB6dSBNUy1BY2Nlc3MgMi4wIChUcmFuY2VmZWFyLCAgMy4gTm92IDE5OTgsIDIwOjIxOjUzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTEwMTAwMjM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMDEwMDIzNApXYXMgRHUgc3VjaHN0IGhlaXNzdCBMb29rdXBDb21ibyBvZGVyIFBpY2tMaXN0ZS4gTXVzc3RlIG1hbCBkaWUgT25saW5laGlsZmUKbmFjaCBkdXJjaHNjYW5uZW4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIaWxmZSB6dSBNUy1BY2Nlc3MgMi4wIChNb3Jnb3RoLCAgNC4gTm92IDE5OTgsIDA4OjA3OjA0KToKfiMhIHJuPVRyYW5jZWZlYXIgcnQ9OTEwMTI0NTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMDEwMDIzNApiZWlkZSBiZWZlaGxlIHNpbmQgbmljaHQgaW4gZGVyIG9ubGluZS1oaWxmZS4uLi5pY2ggc2NoYXUgbWFsIGltIG1hbnVhbCA7LSgoCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpYLVdpbi1Qcm9iISAoVHVuaXhndXQsICA1LiBOb3YgMTk5OCwgMTE6MzY6MjcpOgpNb2lucyEKRnJhZ2U6IFdhcyBsYWV1ZnQgdmVybXV0bGljaCB2ZXJrZWhydCwgd2VubiBpY2ggYmVpIGVpbmVtIEZyZXVuZCB4LXdpbgppbnN0YWxsaWVyZSwgZGllIHBvcGVsaWdzdGUgQXVmbG9lc3VuZyBlaW5zdGVsbGUsIHVuZCBiZWltIHN0YXJ0ZW4gZWluZW4Ka2xpdHpla2xlaW5lbiBzZW5rcmVjaHRlbiBTdHJlaWZlbiBnbGVpY2ggZHJlaSduaGFsYiBtYWwgc2VoZSwgc2VsdHNhbWVyd2Vpc2UKa2FubiBpY2ggYWJlciBtaXQgZGVyIE1hdXMgdWViZXIgZGVuIGdlc2FtdGVuIEJpbGRzY2hpcm0sIG5pY2h0IG51ciB1ZWJlciBkZW4KU3RyZWlmZW4uLi4KCkthcnRlIGlzIGVpbmUgQVRJIDNELUNoYXJnZXIsIDQgTUIsIE1vbml0b3I6IFNvbnkgTXVsdGlzY2FuIDIwMEVTCkxpbnV4IGlzICduZSBTdXNlIDUuMAoKVHVOaXhHdXQgLSBkZXIgc293YXMgdWViZXJoYXVwdCBub2NoIG5pY2h0IGdlc2VoZW4gaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFgtV2luLVByb2IhIChBcmVsaW9uLCAgNS4gTm92IDE5OTgsIDExOjQ4OjI4KToKfiMhIHJuPVR1bml4Z3V0IHJ0PTkxMDI2NTc4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNjU3ODcKSWNoIGhhdHRlIGRlbiBNaXN0IGF1Y2ggbWFsLCBhbGxlcmRpbmdzIG1pdCBuZXIgYWVsdGVyZW4gU3VTZS4gSWNoIGhhYiBkYW1hbHMKZGVuIGFsdGVuIFdlZyBYIHp1IGluc3RhbGxpZXJlbiBnZW5vbW1lbiwgYWxzbyBvaG5lIEdVSSB3byBtYW4gbm9jaCBhbGxlcyB2b24KSGFuZCBlaW5nZWJlbiBtdXNzLCB1bmQgZGFubiBnaW5ncy4KCkFyZWxpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFgtV2luLVByb2IhIChUdW5peGd1dCwgIDUuIE5vdiAxOTk4LCAxMTo0OTo0NCk6Cn4jISBybj1BcmVsaW9uIHJ0PTkxMDI2NjUwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNjU3ODcKU2Nob24gdmVyc3VjaHQhIDpvKCBhdWNoIGFsbGUgbnVyIGVyZGVua2xpY2ggQXVmbG9lc3VuZ2VuLi4uIHVlYmVyYWxsIG5peCEsCnRlaWx3ZWlzZSBCaWxkc2NoaXJtIHNjaHdhcnosIHRlaWx3ZWlzZSBnZXN0cmVpZnQuLi4KCidzIEthcmF0ZS1ad2VyY2hsZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWC1XaW4tUHJvYiEgKFJ1bWF0YSwgIDUuIE5vdiAxOTk4LCAxMjoxMDozMCk6Cn4jISBybj1UdW5peGd1dCBydD05MTAyNjY1ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEwMjY1Nzg3CkZhbHNjaGVuIFgtU2VydmVyIGdlbm9tbWVuID8KUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBYLVdpbi1Qcm9iISAoVHVuaXhndXQsICA1LiBOb3YgMTk5OCwgMTI6MTI6NDUpOgp+IyEgcm49UnVtYXRhIHJ0PTkxMDI2NzgzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNjU3ODcKSWNoIGdsYXViZSwgZGFzIHdhciB6aWVtbGljaCBrbGFyLCB3ZWxjaGVuIGljaCBuZWhtZW4gbXVzcywgYWJhIGljaCBrYW5uJ3MgamEKbm9jaG1hbCBtaXQgZGVtIHVuYmVzY2hsZXVuaWd0ZW4gZWluZmFjaGVuIHZlcnN1Y2hlbiwgVEhYIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmFzZTY0IChZZW5kaSwgIDUuIE5vdiAxOTk4LCAxNDowOTozNSk6ClByb2JsZW06IEJpcyBqZXR6dCBrb25udGUgaWNoIGF1cyBkZW4gbWFpbHMsIGRpZSBtZWluZSBzdGFycyEtQXVzd2VydHVuZ2VuCmVudGhpZWx0ZW4gcmVjaHQgcHJvYmxlbWxvcyBkZW4gdXVlbmNvZGllcnRlbiBCbG9jayByYXVzc2NobmVpZGVuLCBhbHMgZmlsZQpzcGVpY2hlcm4gdW5kIHV1ZGVjb2RpZXJlbi4KTnVuIGhhdCBkZXIgU3BpZWxsZWl0ZXIgc2VpbiBNYWlscHJvZ3JhbW0gdW1nZXN0ZWxsdCwgdW5kIGljaCBrcmllZ2UgaW1tZXIKYmFzZTY0LWtvZGllcnRlIEF0dGFjaGVtZW50cyBuYW1lbnMgb2N0ZXQtc3RyZWFtLCBtaXQgZGVuZW4gaWNoIGhlcnpsaWNoIHdlbmlnCmFuZmFuZ2VuIGthbm4uCldlZGVyIHVudGVyIHVuc2VyZW0gTWF0aGUtbWFpbHRvb2wgbm9jaCB1bnRlciBOZXRzY2FwZSBub2NoIHVudGVyIHhlbWFjcyBrYW5uCmljaCBkYXMgRGluZyBhbHMgdW5rb2RpZXJ0ZXMgRmlsZSBhbnNwcmVjaGVuLCB1bmQgd2VubiBpY2ggZXMgZWluZmFjaAphYnNwZWljaGVyZSwgd2Vpc3MgaWNoIG5pY2h0LCB3aWUgaWNoIGVzIGRla29kaWVydCBrcmllZ2UuCgpJY2ggYnJhZXVjaHRlIGFsc28gZW50d2VkZXIgZWluIERla29kaWVydmVyZmFocmVuIGZ1ZXIgYmFzZTY0IChmYWxscyBkYXMgZGVyCk5hbWUgZGVzIENvZGVzIGlzdCkgb2RlciBlaW4gTWFpbHByb2dyYW1tLCB3YXMgZGFzIEF0dGFjaGVtZW50IHNjaG9uCmF1dG9tYWdpc2NoIGF1c3BhY2t0IHVuZCBhbHMgRmlsZSBwcmFlc2VudGllcnQuCgpSYXRsb3MsCiAgICAgICAgWWVuZGkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmFzZTY0IChSb2NodXMsICA1LiBOb3YgMTk5OCwgMTQ6NDI6MTIpOgp+IyEgcm49WWVuZGkgcnQ9OTEwMjc0OTc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMDI3NDk3NQpIaWVyIGlzdCBtZXRhbWFpbCBpbnN0YWxsaWVydC4gRGFtaXQgZ2VodCBkYXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJhc2U2NCAoWmFybml5YSwgIDUuIE5vdiAxOTk4LCAxNzoxNjozMCk6Cn4jISBybj1Sb2NodXMgcnQ9OTEwMjc2OTMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMDI3NDk3NQp3aWUgaWNoIERpciBzY2hvbiBpbiBuZXIgTWFpbCBnZXNjaHJpZWJlbiBoYWJlOiBiYXNlNjQgaXN0IGVpbmVyIGRlcgpNSU1FdHlwZXMuCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJhc2U2NCAoWWVuZGksICA1LiBOb3YgMTk5OCwgMTc6MzU6MTcpOgp+IyEgcm49Um9jaHVzIHJ0PTkxMDI3NjkzMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNzQ5NzUKQWNoIGphPyBTYWcgZGFzIG1hbCBtZWluZW0gbWFpbHRvb2wuLi4KCk9kZXIgaGFiZSBpY2ggRGljaCBmbGFzY2ggdmVyc3RhbmRlbj8gbWV0YW1haWwgaXN0IGRvY2ggZXR3YXMsIHdhcyBtYW4gaW4KbWFpbHRvb2xzIG9kZXIgbmV3c3JlYWRlciBlaW5iYXV0IG9kZXIgZGFoaW50ZXJoYWVuZ3QsIHVtIG1pdCBkZXJhcnRpZ2VuClByb2JsZW1lbiB1bXp1Z2VoZW4sIG9kZXI/CkljaCBhbHMgRW5kbnV0emVyIGthbm4gZGFtaXQgYWxzbyBnYXIgbmljaHRzIGFuZmFuZ2VuLiBTdGVodCBhdWNoIHNvIGltCkhhbmRidWNoLgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmFzZTY0IChSb2NodXMsICA1LiBOb3YgMTk5OCwgMTc6NDI6MTApOgp+IyEgcm49WWVuZGkgcnQ9OTEwMjg3MzE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMDI3NDk3NQptZXRhbWFpbCBpc3QgZWluIFBST0dSQU1NLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYmFzZTY0IChHcmltbWJvcm4sICA2LiBOb3YgMTk5OCwgMDk6MzU6NTgpOgp+IyEgcm49Um9jaHVzIHJ0PTkxMDI4NzczMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNzQ5NzUKVW5kIHp1IGJhc2U2NCBrYW5uIG1hbiBlaWdlbnRsaWNoIG51ciBzYWdlbjoKT3V0bG9vayBFeHByZXNzIHNhdWd0LiBJbiBkZXIgR3JvZXNzZW5vcmRudW5nIG1laHJlcmVyIHNjaHdhcnplciBMb2VjaGVyLgpJbW1lcmhpbiwgc2VpIGZyb2gsIGRhc3MgZGllIG1haWwgbmljaHQgbWl0IGV4b3JiaXRhbnRlbiBaZWlsZW5sYWVuZ2VuIGluIGh0bWwKYW5rb21tdC4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBiYXNlNjQgKENhdHdlYXpsZSwgIDYuIE5vdiAxOTk4LCAxMDo0NTo1Myk6Cn4jISBybj1ZZW5kaSBydD05MTAyODczMTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEwMjc0OTc1CkFsc28uCkR1IHNwZWljaGVyc3QgZGllIG1haWwsIGRpZSBkdSBiYXNlNjQtZW5jb2RlZCBoYXN0IGluIGVpbmUgRGF0ZWkuIERhbm4gbWFjaHN0ZQppbiBuZW0geHRlcm0gJ21ldGFtYWlsIGRhdGVpbm5hbWUnIHVuZCBhbGxlcyBhbmRlcmUgbGFldWZ0IGludGVyYWt0aXYsCm1ldGFtYWlsIGlzdCB6aWVtbGljaCBzY2hsYXUsIGRhcyB2ZXJyYWV0IERpciBzY2hvbiB3YXMgZXMgZ2VmdW5kZW4gaGF0IHVuZAp3YXMgRHUgZGFtaXQgYWxsZXMgbWFjaGVuIGthbm5zdCA6KQoKQWx0ZXJuYXRpdiBnaWJ0IGR0bWFpbC4gSXN0IHp3YXIgYmxhdSB1bmQgaGFlc3NsaWNoICwgYWJlciBkZXIgdW50ZXJzdHVldHp0ZQpuYWNoZm9sZ2VyIHp1bSBtYWlsdG9vbC4KCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJhc2U2NCAoSmltZGlncml6LCAgNi4gTm92IDE5OTgsIDEyOjM1OjIxKToKfiMhIHJuPVllbmRpIHJ0PTkxMDI3NDk3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNzQ5NzUKSG9pIFllbmRpLAoKQWxzbyBlaW4gInZlcm51ZW5mdGlnZXIiICh0bSkgTVVBIHNvbGx0ZSBuYXR1ZXJsaWNoIG1pdApNSU1FLUF0dGFjaGVtZW50cyB1bWdlaGVuIHVuZCBkaWVzZSBhdWNoIGVudHNwcmVjaGVuZCBkZW0Kc3BlemlmaXppZXJ0ZW4gTUlNRS1UeXBlIChDb250ZW50LVR5cGU6IC0gSGVhZGVyKSBkYXJzdGVsbGVubQpiencuIGFscyBGaWxlIHp1bSBhYnNwZWljaGVybiBhbmJpZXRlbi4gClNvZ2FyIE5ldHNjcmFwLU11ZWxsIHNvbGx0ZSBkYXMga29lbm5lbi4gQWVsdGVyZSBNVUFzLCBkaWUKbmljaHQgYXVmIGRlbSBha3R1ZWxsZW4gc3RhbmQgc2luZCwga29lbm5lbiBkYXMgdVUgbmljaHQsCndlbm4gZHUga2VpbmVuIGFrdHVlbGxlbiBoYXN0IG9kZXIgYmVudXR6ZW4ga2FubnN0LAptdXNzdCBEdSBkaWUgbWFpbCBpbiBlaW4gRmlsZSBzcGVpY2hlcm4gdW5kIGR1cmNoICdtZXRhbWFpbCcKcGlwZW4uIE1ldGFtYWlsIGlzdCB0YXRzYWVjaGxpY2ggbmljaHQgdW5iZWRpbmd0IHp1bSBhbG9uZS1CZXRyaWViCmdlZGFjaHQsIHNvbmRlcm4gekIgdW0gaW4gYWx0ZSBNYWlsZXIgKGVsbSkgZWluZ2VidW5kZW4genUgd2VyZGVuLAplcyBnZWh0IGFiZXIgdHJvdHpkZW0uCkJhc2U2NCBpc3QgZGFiZWkgZGFzIFN0YW5kYXJkLUVuY29kaW5nIGZ1ZXIgYmluYWVyLWRhdGVuLAprYW5uIGFiZXIgZnVlciBhbGxlcyB2ZXJ3ZW5kZXQgd2VyZGVuLCBkZXIgTUlNRS1UeXBlCmlzdCB2ZXJtdXRsaWNoIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbS4KClNpZWhlIGF1Y2ggbWV0YW1haWwoMSkgdW5kIG1haWxjYXAoNSkuCgpNZWluIFRpcCwgYmVudXR6IGVpbmZhY2ggZWluZW4gYWt0dWVsbGVuIE1VQQogKHBpbmUtbGljaCwgbXV0dCwgZXRjKQoKSFRILAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG1tLi4uIChHcmltbWJvcm4sICA2LiBOb3YgMTk5OCwgMTc6NTY6MzkpOgpOYWNoIGVpbmVtIHNpbnBsZW4gZGQgaWY9L2ZpbGUvaXJnZW5kd28gb2Y9L2Rldi9mZDAgaGFlbmd0IGRhcyBGbG9wcHkKTGF1Zndlcms6IGRldmljZSBvciByZXNvdXJjZSBidXN5Lgpsc29mIHwgZ3JlcCBmZDAgbGllZmVydCBnYXIgbmljaHRzLCBlaW4gbHNtb2QgbGllZmVydDoKTW9kdWxlICAgICAgICAgUGFnZXMgICAgVXNlZCBieQpmbG9wcHkgICAgICAgICAgICAxMSAgICAgICAgICAgIDEgKGF1dG9jbGVhbikKClBlciBybW1vZCBsYWVzc3Qgc2ljaCBmbG9wcHkgYXVjaCBuaWNodCBlbnRmZXJuZW4gKGJ1c3kpLgoKQW55IHN1Z2dlc3Rpb25zPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBiYXNlNjQgKFlhcmVuLCAxMC4gTm92IDE5OTgsIDIzOjUxOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MTAzNDQ5NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEwMjc0OTc1CmluIGRlciBuZXVlc3RlbiB2ZXJzaW9uIGthbm4gbWFuIGRhcyBiZWkgb3V0bG9vayBhdXNzdGVsbGVuIC4uLiBhYmVyIHNlaSBmcm9oLApkYXNzIGVzIHdlbmlnc3RlbnMgYmFzZTY0IGlzdCB1bmQgbmljaHQgaXJnZW5kZWluIHNlbGJzdGdlbWFjaHRlcyBmb3JtYXQgOy0pCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGJhc2U2NCAoR3JpbW1ib3JuLCAxMy4gTm92IDE5OTgsIDEwOjExOjAzKToKfiMhIHJuPVlhcmVuIHJ0PTkxMDc0MTg4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTAyNzQ5NzUKKmdydW1tZWwqIERlciBuYWVjaHN0ZSwgZGVyIG1pciBzbyBlaW5lbiBCbG9lZHNpbm4gc2NoaWNrdCwgYmVrb21tdCBkaWUKQW50d29ydCBhbHMgZ2VnemlwdGVzLCBkdXJjaCBST1QxMyBnZW51ZGVsdGVzIC5kdmksIGRhcyBkYW5uIG5vY2ggdXVlbmNvZGV0CmlzdC4gQWxzIGF0dGFjaG1lbnQuIE1pdCBkZW0gS29tbWVudGFyICJWaWVsIFNwYXNzLCBzaW5kIGFsbGVzClN0YW5kYXJkbWV0aG9kZW4iLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcmdoLiAoQW5hdG9sLCAyMC4gTm92IDE5OTgsIDA4OjExOjEyKToKTmFjaCBlaW5lciB6ZWl0d2Vpc2VuIFZlcmxlZ3VuZyB2b24gYzpcV2lubnQgbmFjaCBkOlwgKG51ciB1bSBmZXN0enVzdGVsbGVuLApkYXNzIFdpbjk1IHNpY2ggdHJvdHpkZW0gbmljaHQgaW5zdGFsbGllcmVuIGxhZXNzdCkgaGF0IFdpbmRvd3MgTlQgYWxsZXMKdmVyZ2Vzc2VuLCB3YXMgZXMgdWViZXIgbGFuZ2UgRGF0ZWluYW1lbiB3dXNzdGUuIEFuZGVyZSBBbHRlcm5hdGl2ZW4gYXVzc2VyCiJOZXVpbnN0YWxsYXRpb24iPwoKQW5hdG9sIC0gYXJnbHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFyZ2guIChUcmFuY2VmZWFyLCAyMC4gTm92IDE5OTgsIDIyOjQ3OjUxKToKfiMhIHJuPUFuYXRvbCBydD05MTE1NDk0NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExNTQ5NDcyClRqYSwgaWNoIGRlbmtlLCBEZWluIEluc3RhbGxhdGlvbnN2ZXJzdWNoIGhhdCBhbGxlIEluZm9ybWF0aW9uZW4gZGFydWViZXIKcGxhdHRnZWJ1ZWdlbHQuIERhIGRpZSBTeXN0ZW1kYXRlaWVuIHNlbGJzdCBpbW1lciBrdXJ6ZSBOYW1lbiBoYWJlbiwgc29sbHRlIGVzCmF1Y2ggZWluZSBVbWJlbmVubi1PcmdpZSB0dW4uLi4KCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFyZ2guIChBbmF0b2wsIDIwLiBOb3YgMTk5OCwgMjM6MDg6MjIpOgp+IyEgcm49VHJhbmNlZmVhciBydD05MTE2MDIwNzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExNTQ5NDcyCkZhc3QgOi1cIEVzIGdpYnQgZWluIFByb2dyYW1+MSwgZWluIFByb2dyYW1+MiB1bmQgZWluIFByb2dyYW1+MywgaWNoIG11c3MgbWlyCmRhIG1hbCBlcmdydWViZWxuLCB3YXMgd2FzIGdld2VzZW4gc2VpbiBrb2VubnRlLiBEYW5uIG11c3MgaWNoIGlyZ2VuZHdpZSBkYXMKdm9tIFN5c3RlbSBhbmdlbGVndGUgIkFsbCBVc2VycyIgbG9lc2NoZW4gKGhhaGEsIGFscyBvYiBpY2ggZGEgd2FlaHJlbmQgCmVpbmVzIGhvY2hnZWZhaHJlbmVuIE5UcyBadWdyaWZmIGhhZXR0ZSA7KSkgdW5kIGFsbHVzZX4xIC4uLiB3YW5uIGtvbW10CmRlciAyLjItZXIgS2VybmVsIHJhdXM/IDopCgpBbmF0b2wgLSB3aXJkIG5vY2ggenVtIEphbW1lcmxhcHBlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXJnaC4gKE11YWRkaWIsIDIxLiBOb3YgMTk5OCwgMjM6MzU6MjIpOgp+IyEgcm49QW5hdG9sIHJ0PTkxMTYwMzMwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE1NDk0NzIKQmlzIDIuMiByYXVza29tbXQgd2lyZHMgd29obCBub2NoIGVpbiBXZWlsY2hlbiBkYXVlcm4uIEluIGRlciBad2lzY2hlbnplaXQKa29lbm50ZXN0IER1IERpY2ggamEgbWFsIG1pdCAyLjEuMTI5IGFuZnJldW5kZW4sIGRlciBrYW5uIGF1Y2ggc2Nob24gZWluaWdlcwo6LSkKCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9yc2ljaHQgRmFsbGUgKExpbnV4L0ZpbGVSdW5uZXIpIChNb3Jnb3RoLCAyMy4gTm92IDE5OTgsIDEzOjQ2OjUzKToKV2llIHNjaGllc3NlIGljaCBtZWluIFggdm9sbHN0YWVuZGlnIGFiPz8KLSBtYXJraWVyZSBlaW4gYmVsaWViaWdlcyBmaWxlCi0gdXRpbGl0aWVzCi0gcnVuIGNvbW1hbmQgb24gc2VsZWN0ZWQKLSBzdSAtYyAiYmxhaCBibGFoIgoKVW5kIHNjaG9uIGdlaHQgTklYIG1laHIgdW50ZXIgWAoKTW9yZ290aCwgZmx1Y2hlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFyZ2guIChBbmFraW4sIDIzLiBOb3YgMTk5OCwgMTY6NTI6MTMpOgp+IyEgcm49TXVhZGRpYiBydD05MTE2OTEzMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExNTQ5NDcyCgpOYWphIHZvciBXZWlobmFjaHRlbiBoYXMgTGludXMgZ2VzYWd0IGtvbW10IGVyIG5vY2guCgpBbmFraW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JzaWNodCBGYWxsZSAoTGludXgvRmlsZVJ1bm5lcikgKEdyaW1tYm9ybiwgMjQuIE5vdiAxOTk4LCAxMDoyNTowOSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxMTgyODgxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE4Mjg4MTMKV292b24gcmVkZXN0IER1PwpCencuIHdhcyBmdWVyIGVpbmVuIGtyYW5rZW4gd20gYmVudXR6dCBEdT8gVW5kOiBXaWVzbyBzY2hpZWJzdCBEdSBkaWUgU2NodWxkCmRlbSBYIHp1LCB3ZW5uIER1IERpciBkZW4gd20gemVyc2NoaWVzc3Q/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKFJpbmdvciwgMjQuIE5vdiAxOTk4LCAxMTowOTo1OSk6CldpZSBkZXIgVGl0ZWwgc2Nob24gdmVybXV0ZW4gbGFlc3N0LCBzdWNoZSBpY2ggZWluZW4gTVAzLUVuY29kZXIgZnVlciBMaW51eC4KCldpZSBzY2huZWxsIG9kZXIgbGFuZ3NhbSBkZXIgRW5jb2RlciBpc3QsIGlzdCBtaXIgZmFzdCBlZ2FsIC0gbWlyIGtvbW10IGVzCmRhYmVpIGF1ZiBkaWUgUXVhbGl0YWV0IGJlaSAxMjgga2JwcyBhbi4gVW5kIGdlbmF1IGRhYmVpIGxpZWZlcnQgbWlyIGRlcgpCbGFkZUVuYyBiZWkgbWVpbmVyIFRlc3RkYXRlaSBsZWlkZXIgbm9jaCBob2VyYmFyZSBWZXJ6ZXJydW5nZW4sIGRpZSBiZWltCkVuY29kaWVyZW4gbWl0IGRlbSBNUDMtQ29tcHJlc3NvciAobGVpZGVyIG5pY2h0IExpbnV4KSBuaWNodCBhdWZ0cmV0ZW4uCgpXYXMgZ2lidCBlcyBkZW5uIG5vY2ggYW4gKmd1dGVuKiBNUDMtRW5jb2Rlcm4gZnVlciBMaW51eD8gRnJlZXdhcmUgd2FlcmUgbWlyCm5hdHVlcmxpY2ggYW0gbGllYnN0ZW4gLSBtZWhyZXJlIGh1bmRlcnQgTWFyayBmdWVyIGRpZSBMaXplbnogYmVpbSBGcmF1bmhvZmVyCkluc3RpdHV0IHNpbmQgbWlyIGRhbm4gZG9jaCB6dXZpZWwuIDstKQoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVAzLUVuY29kZXIgZnVlciBMaW51eCAoV29vZHksIDI0LiBOb3YgMTk5OCwgMTE6MzE6MzApOgp+IyEgcm49UmluZ29yIHJ0PTkxMTkwNTc5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE5MDU3OTkKT2huZSBlaW5lIEJld2VydHVuZyBkZXJzZWxiZW4gYWJ6dWdlYmVuIChtYW5nZWxzIGVmZmVrdGl2ZXIgRXJmYWhydW5nCm5pY2h0IG1vZWdsaWNoKSBrYW5uIGljaCBEaXIgaW1tZXJoaW4gendlaSBFbmNvZGVyIG5lbm5lbiwgZWluZXJzZWl0cwpkZW4gRW5jb2RlciBkZXMgRnJhdW5ob2ZlciBJbnN0aXR1dHMgKGZydWVoZXJlIFZlcnNpb25lbiBoYXR0ZW4ga2VpbmUKWmVpdGJlc2NocmFlbmt1bmcgdW5kIHdhcnRldGVuIG51ciBhdWYgPEVOVEVSPiBhbSBQcm9ncmFtbWFuZmFuZyAtCmlzdCBtaXQgZWNobyB8IC4uLiBnZXRhbikgdW5kIEJsYWRlRW5jLiBFbnRzcHJlY2hlbmRlIFVSTHMgbXVlc3N0ZW4KZWlndGwuIGxlaWNodCB6dSBmaW5kZW4gc2VpbiwgaWNoIGhhYiBzaWUgZ3JhZCBuaWNodCB6dXIgSGFuZC4uLgoKd29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChSaW5nb3IsIDI0LiBOb3YgMTk5OCwgMTI6MzY6NDgpOgp+IyEgcm49V29vZHkgcnQ9OTExOTA3MDkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpEZW4gQmxhZGVFbmMgaGFiZSBpY2ggc2Nob24gZ2V0ZXN0ZXQgLSBkYXMgaXN0IG5hZW1saWNoIGdlbmF1IGRhcyBQcm9ncmFtbSBtaXQKZGVuIGhvZXJiYXJlbiBWZXJ6ZXJydW5nZW4gYmVpIG1pci4gOy0pIER1bW1lcndlaXNlIHdpcmQgZ2VyYWRlIGRpZXNlciBFbmNvZGVyIGFsbGdlbWVpbiBmdWVyIExpbnV4IGVtcGZvaGxlbiAtIHp1bWluZGVzdCBsYW5kZSBpY2ggaW0gRW5kZWZmZWt0IGltbWVyIHdpZWRlciBiZWkgZGVtLCB3ZW5uIGljaCBpbSBOZXR6IG5hY2ggRW5jb2Rlcm4gZnVlciBMaW51eCBzdWNoZS4gRGVzaGFsYiBob2ZmZSBpY2ggamEsIGhpZXIgYW5kZXJ3ZWl0aWdlIFRpcHMgenUgYmVrb21tZW4uCgpVbmQgYWx0ZSBWZXJzaW9uZW4gZGVzIEZyYXVuaG9mZXIgRW5jb2RlcnMgd29sbGVuIGJlaSBtaXIgbmljaHQgbGF1ZmVuIC0gZXIKc2NoZWludCBkYXMgRGF0dW0gYWJ6dWZyYWdlbi4gTWVpbmUgVWhyIHdvbGx0ZSBpY2ggYWJlciBnYW56IGdlcm5lIGF1ZiBkZW0KYWt0dWVsbGVuIERhdHVtIGxhc3NlbiAuLi4gRGllIG5ldWVuIFZlcnNpb25lbiBkYXZvbiBicmVjaGVuIGxlaWRlciBuYWNoIGVpbmVyCmZlc3RlbiBMYWVuZ2UgYWIgdW5kIHNpbmQgZGVzaGFsYiBhdWNoIG5pY2h0IGVybnN0aGFmdCB6dSBnZWJyYXVjaGVuLgpEZW1vLVZlcnNpb25lbiBoYWx0LgoKUmluZ29yLiBIYXQgbm9jaCBIb2ZmbnVuZy4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChGbGlueCwgMjQuIE5vdiAxOTk4LCAxMjo0MjozOCk6Cn4jISBybj1SaW5nb3IgcnQ9OTExOTExMDA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpqby4uLnVuZCB3ZW5uIHdpciBzY2hvbiBtYWwgZGFiZWkgc2luZCA6IGtlbm50IHdlciBhdXNzZXJkZW0gZWluZW4gZ3V0ZW4gdW5kCmZpeGVuIGNkLXJpcHBlciA/CnVuZCBlaW5lbiBtcDNjbGllbnQgZnVlciB4ID8geDExYW1wIGZ1ZWhydCBiZWkgbWlyIDEwMCAlIHByb3plc3NvcmF1c2xhc3R1bmcKOi0oCgpGbGlueC4gQXVjaCBIb2ZmbnVuZyBoYWJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChSaW5nb3IsIDI0LiBOb3YgMTk5OCwgMTI6NDY6NTUpOgp+IyEgcm49RmxpbnggcnQ9OTExOTExMzU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpEaWUgRnJhZ2UgbmFjaCBlaW5lbSBDRC1SaXBwZXIgaXN0IHNjaG5lbGwgYmVhbnR3b3J0ZXQ6IGNkcGFyYW5vaWEuCgpFcyBnaWJ0IHNlbGJzdCB1bnRlciBXaW5kb3dzIG51ciBzY2hsZWNodGVyZSAtIHVuZCBjZHBhcmFub2lhIGlzdCBub2NoIGltCkFscGhhLVN0YWRpdW0gdW5kIGhhdCBub2NoIG5pY2h0bWFsIGFsbGUgZGVyIGdlcGxhbnRlbiBGdW5rdGlvbmVuLgoKVHJvdHpkZW0gaXN0IGVzIGRlciBiZXN0ZSBDRC1SaXBwZXIgd2VpdCB1bmQgYnJlaXQ6IHNjaG5lbGxlIHVuZAoqenV2ZXJsYWVzc2lnZSogYml0Z2VuYXVlIEtvcGllbiBhdWNoIGJlaSB2ZXJrcmF0enRlbiBDRHMuCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKEhhdGUsIDI0LiBOb3YgMTk5OCwgMTM6MDc6MzgpOgp+IyEgcm49RmxpbnggcnQ9OTExOTExMzU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpBbHNvIHgxMWFtcCBmdWVocnQgbnVyIGltIHVzZXItbW9kZSB6dSBob2hlciBwcm96ZXNzb3JsYXN0LCB3ZW5uIGVzIHN1aWQgaXN0CmlzdCBkaWUgTGFzdCBtaW5pbWFsICgxJSkKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKFdvb2R5LCAyNC4gTm92IDE5OTgsIDE0OjM5OjU2KToKfiMhIHJuPVJpbmdvciBydD05MTE5MTEwMDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5Cj4gVW5kIGFsdGUgVmVyc2lvbmVuIGRlcyBGcmF1bmhvZmVyIEVuY29kZXJzIHdvbGxlbiBiZWkgbWlyIG5pY2h0IGxhdWZlbiAtIGVyCj4gc2NoZWludCBkYXMgRGF0dW0gYWJ6dWZyYWdlbi4gTWVpbmUgVWhyIHdvbGx0ZSBpY2ggYWJlciBnYW56IGdlcm5lIGF1ZiBkZW0KCkljaCBtZWluZSAqTk9DSCogYWVsdGVyZSBWZXJzaW9uZW4uIDopCgoKV29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTVAzLUVuY29kZXIgZnVlciBMaW51eCAoUm9jaHVzLCAyNC4gTm92IDE5OTgsIDE1OjU3OjQ5KToKfiMhIHJuPVJpbmdvciBydD05MTE5MTEwMDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5CkR1IGJyYXVjaHN0IGRpZSBVaHIgbmljaHQgdW16dXN0ZWxsZW4uCkVpbmUgZHluYW1pc2NoIGxpbmtiYXJlIExpYnJhcnkgbWl0IGdlcGF0Y2h0ZW0gdGltZSgpIHVuZApMRF9MSUJSQVJZX1BBVEgga29lbm5lbiBXdW5kZXIgd2lya2VuLi4uIEpvZiBoYXQgc293YXMgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKE15c3RlcmlvdXMsIDI0LiBOb3YgMTk5OCwgMTg6NDM6MDkpOgp+IyEgcm49Um9jaHVzIHJ0PTkxMTkyMzA2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE5MDU3OTkKbmkgaGFvLi4KCmFsc28gYWxzIGVuY29kZXIga2VubiBpY2ggZGEgbm9jaCAnOEh6JywgYWJlciBkYXMgcHJvZ2dpZSBtYWNodCBzZWluZW0gbmFtZW4KYWxsZSBlaHJlLCB3YXMgZGllIGdlc2Nod2luZGlna2VpdCBiZXRyaWZmdC4uCmxhdXQgZnRwLXNlYXJjaCBnaWJ0IGRhcyBkaW5nIGYuIGJzZCBhdWYgIGZ0cC5pbmYudHUtZHJlc2Rlbi5kZQppbSBkaXIgIC8uMi4xL3ZvbDIvb3MvRnJlZUJTRC9GcmVlQlNELWN1cnJlbnQvcG9ydHMvYXVkaW8vOGh6LW1wMwoKdmllbGxlaWNodCBnaWJzIGRhIGF1Y2ggd2FzIGYuIGxpbnV4Li4gc29uc3Qga2FubnN0ZSBqYSBtYWwKZnRwLnZpY29tLnJ1IHByb2JiZW4gaW0gZGlyIC9wdWIvTGludXgvOEh6CgphbHMgcGxheWVyIHZlcndlbmRlIGljaCB4MTFhbXAgKG5laW4sIGljaCBzZXR6IG1pciBkYXMgZGluZyBuaWNoIGF1ZiBzdWlkCnJvb3QpLCBiZWltIG11ZGRlbiBzdG9lcnQgZGllIGhvaGUgbGFzdCBuaWNoIHdlaXRlciA6KQoKdW5kIGFscyByaXBwZXIgbmVobSBpY2ggY2RwYXJhbm9pYSBvZGVyIGNkZGEyd2F2CgpkdWlpaSBkQSBtWXN0QQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTVAzLUVuY29kZXIgZnVlciBMaW51eCAoS2V5LCAyNC4gTm92IDE5OTgsIDE5OjEwOjEzKToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9OTExOTMyOTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpPa2kgaWNoIGZyYWcgamV0enQgRG9jaCAuLi4KCldhcyBpc3NuIGVpbiBDZC1SaXBwZXI/Pz8KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKFlhcmVuLCAyNC4gTm92IDE5OTgsIDE5OjQxOjQ0KToKfiMhIHJuPVJpbmdvciBydD05MTE5MDU3OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5CkR1IHdpcnN0IGthdW0gbWVociBFbmNvZGVyIGZpbmRlbiwgd2VpbCBkaWUgYWxsZSB2b20gRnJhdWVuaG9mZXIgSW5zdGl0dXQKYWJnZW1haG50IHd1cmRlbiAuLi4gYW5vbnN0ZW4gd3VlcmRlIGljaCBEaXIgZGVuIDhoei1FbmNvZGVyIGVtcGZlaGxlbjsgZGVyCmlzdCBmYXN0IHNvIGd1dCB3aWUgZGVyIEZyYXVlbmhvZmVyIHVuZCBzZWhyIHNjaG5lbGwuIExlaWRlciBkdWVyZnRlIGVzIHNjaHdlcgpzZWluLCBkZW4gRW5jb2RlciBub2NoIHp1IGJla29tbWVuLCBhYmVyIGljaCBrb2VubnRlIGlobiBEaXIgc2NoaWNrZW4gOi0pCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKFlhcmVuLCAyNC4gTm92IDE5OTgsIDE5OjQzOjAzKToKfiMhIHJuPUZsaW54IHJ0PTkxMTkxMTM1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE5MDU3OTkKQW50d29ydDogc2FpYmVyIGp1a2Vib3ggLi4uIGJ0dzogd2FzIGZ1ZXJuIFJlY2huZXI/IG5lbiA0ODZlciBvZGVyIGV2dGwuIGF1Y2gKbmVuIFA2MCBsYXN0ZXQgbmVuIE1QMy1EZWNvZGVyIG5hdHVlcmxpY2ggYXVzLgoKWWFyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChTaGFyaWEsIDI0LiBOb3YgMTk5OCwgMjE6MDU6MTcpOgp+IyEgcm49WWFyZW4gcnQ9OTExOTM2NTgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQp3aWxsIGF1Y2ggd2lzc2VuIHdhc24gQ2QgUmlwcGVyIGlzIDopCgpTaGFyaWEKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTVAzLUVuY29kZXIgZnVlciBMaW51eCAoQW5hdG9sLCAyNC4gTm92IDE5OTgsIDIxOjMwOjI5KToKfiMhIHJuPVNoYXJpYSBydD05MTE5NDE1MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5ClNvZnR3YXJlLCBtaXQgZGVtIG1hbiBkZW4gZ2VuYXVlbiBJbmhhbHQgZWluZXIgQ0QgYXVmIEZlc3RwbGF0dGUga29waWVyZW4Ka2Fubi4gQml0IGZ1ZXIgQml0LiBPZGVyIGdsZWljaCBhdWYgZGVuIENELUJyZW5uZXIuLi4KCk1hbm4sIGRhcyBrYW5uIG1hbiBkb2NoIGF1cyBkZW0gS29udGV4dCBlcnNjaGxpZXNzZW4gOikKSG0uIE1hbiB2aWVsbGVpY2h0LiBIb2JiaXQgbmljaHQ/IDopCgpBbmF0b2wgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChGbGlueCwgMjUuIE5vdiAxOTk4LCAxMjoyODo1Nik6Cn4jISBybj1ZYXJlbiBydD05MTE5MzY1ODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5CkhvaS4KCjEpIGljaCBoYWIgbmUgY3lyaXg2ODZteDIwMCBjcHUuIGphamEuIGljaCB3ZWlzcy4KMikgaWNoIGhhYiBkZW4gOGh6LWVuY29kZXIgbWFsIGF1c3Byb2JpZXJ0LiBkZXIgaGF0IGJlaSBtaXIgYWxsZXJkaW5ncyBudXIKcXVhbGl0YXRpdiBtaW5kZXJ3ZXJ0aWdlIGZpbGVzIGVyemV1Z3QuIHZvbiBkZXIgZ2VzY2h3aW5kaWdrZWl0IGhlciBnaW5ncwplaWdlbnRsaWNoLiBjYS4gbmUgc3R1bmRlIGZ1ZXIgZWluZW4gNW1pbi1zb25nLgozKSBkYW5rZSBmdWVyIGFsbGUgdGlwcyB1bmQgcmF0c2NobGFlZ2UgOi0pCgpmbGlueC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKEhhdGUsIDI1LiBOb3YgMTk5OCwgMTI6MzE6MTYpOgp+IyEgcm49RmxpbnggcnQ9OTExOTk2OTM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpJY2ggaGFiZSBkZW4gOEh6IGluIGVpbmVyIFBlbnRpdW0gb3B0aW1pZXJ0ZW4gdmVyc2lvbi4gRXIgaXN0IGRvcHBlbHQgc28Kc2NobmVsbCB3aWUgYW5kZXJlIHZlcmZ1ZWdiYXJlIGVuY29kZXIsIGFiZXIgZGllIFF1YWxpdGFldCBpc3QgZWhlcgpha3plcHRhYmVsLiBBYmVyIGJyYXVjaGJhciB1bmQgcmVjaHQgc2NobmVsbCBlYmVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvZ2l0ZWNobWF1cyBoYWVuZ3QgKFllbmRpLCAyNS4gTm92IDE5OTgsIDE3OjM4OjE2KToKUHJvYmxlbTogTWVpbmUgZ3V0ZSBhbHRlIExvZ2l0ZWNobWF1cyBoYWt0IGluIGRlciBWZXJ0aWthbGJld2VndW5nCmdlbGVnZW50bGljaC4gTmFjaGRlbSBpY2ggZGFzIFRlaWwgYXVzZWluYW5kZXJnZWJhdXQgaGF0dGUsIHN0ZWxsdGUgaWNoIGZlc3QsIApkYXNzIHdvaGwgZGllIEFjaHNlIG9kZXIgZGllIEFibmVobXJvbGxlIGZ1ZXIgZGllc2UgQmV3ZWd1bmdzcmljaHR1bmcgaW4KYmVzdGltbXRlbiBTdGVsbHVuZ2VuIGtsZW1tdCwgenVtaW5kZXN0IGthbSBlcyBiZWltIFRlc3RlbiBlaW4gcGFhciBNYWxlIHZvciwKZGFzcyBpY2ggZGllIFJvbGxlIG5pY2h0IG1hbCBtaXQgZGVtIEZpbmdlciB3ZWl0ZXJkcmVoZW4ga29ubnRlLgpXZW5uIGljaCBhbSBTaWduYWxyYWQgZHJlaGUgKGlociB3aXNzIHNjaG9uLCBkaWVzZSBkdXJjaGJyb2NoZW5lIFNjaGVpYmUKendpc2NoZW4gTEVEcyB1bmQgTERScyksIGRhbm4gZ2VodHMsIHZlcm11dGxpY2ggZWluZmFjaCBhdWZncnVuZCBkZXMKZ3JvZXNzZXJlbiBEdXJjaG1lc3NlcnMuCgpXaWUga2FubiBpY2ggZGFzIGFsdGUgU2NoYWV0emNoZW4gcmV0dGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb2dpdGVjaG1hdXMgaGFlbmd0IChHbm9tZSwgMjUuIE5vdiAxOTk4LCAyMDo0OTozMyk6Cn4jISBybj1ZZW5kaSBydD05MTIwMTU0OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEyMDE1NDk2CjEgb2RlciAyIHRyb3BmZW4gb2VsIGFuIGRlciByaWNodGlnZW4gc3RlbGxlIHNvbGx0ZW4gd3VuZGVyIHdpcmtlbiA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUDMtRW5jb2RlciBmdWVyIExpbnV4IChNdWFkaWIsIDI2LiBOb3YgMTk5OCwgMTM6MjE6MTYpOgp+IyEgcm49UmluZ29yIHJ0PTkxMTkwNTc5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTE5MDU3OTkKaGksCgppbiBkZXIgZ2VmYWhyIGRhc3MgZGVyIGxpbmsgc2Nob24gYmVrYW5udCBpc3Qgb2RlciBlcyBkb3J0IG5peCBnZXNjaGVpdGVzCmdpYnQ6IGh0dHA6Ly93d3cubXAzLmNvbQoKYnkKCm11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgU29mdHdhcmUgZnVlciBGYXhlbiBtYWNoZW4gdW50ZXIgV2luTlQgKFJvbmRhLCAyNi4gTm92IDE5OTgsIDE0OjE3OjU3KToKSGksCm5hY2hkZW0gZGllIGR1c3NlbGlnZSBhbHRlIFNvZnR3YXJlIG51ciB1bnRlciBXaW45NSBsYWV1ZnQgLSBtZWluIFJlY2huZXIgYWJlcgpudW4gTlQgc2VpbiBlaWdlbiBuZW5udDogd2Vpc3MgenVmYWVsbGlnIGplbWFuZCBlaW5lIExvZXN1bmcsIHdpZSBpY2ggbWVpbgphbHRlcyBDeWJlcm1vZCB2b24gRHJOZXVoYXVzIHp1bSBmYXhlbiBrcmllZ2U/IChQZXIgRlRQLVN1Y2hlIGthbSBsZWlkZXIKbmljaHRzIDooICkKVmllbGVuIERhbmsgZnVlciBqZWRlbiBUaXAgKGF1c3NlciBMaW51eCBvZGVyIHdhcyBhbmRlcmVzIGluc3RhbGxpZXJlbiA7KSApLAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKEppbWRpZ3JpeiwgMjYuIE5vdiAxOTk4LCAyMDo0NzoyMyk6Cn4jISBybj1BbmF0b2wgcnQ9OTExOTQzMDI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpIb2ksCgpIbW0gYnJhdWNodCBmdWVyIHNvd2FzIHNwZXppZWxsZSBzb2Z0d2FyZSA/IApXdWVyZGUgbmljaHQgZWluIHRvb2wgcmVpY2hlbiwgd2FzIGVpbmZhY2ggZGllIHRyYWNrcyBhdXNsaWVzc3QgPyAKQmVpIGVpbmVyIERhdGVuLUNEIGlzdCBkYXMgSVNPLTk2NjAtZmlsZXN5c3RlbSBqYSBhdWNoIGluIAplaW5lbSB0cmFjayBkcmluICh6dW1pbmRlc3QgYmVpIHNpbmdsZS1zZXNzaW9uKS4KCkljaCBiZW51dHogJ3Rvc2hhJyB6dW0gQ0QgYXVzbGVzZW4sIGtsYXBwdCBiZWkKbXVzaWstdHJhY2tzIHd1bmRlcmJhciwgYmVpIGRhdGVuIGhhYiBpY2ggbWljaCBuaWNodApnZXRyYXV0LCB3ZWlsIGNkcmVjb3JkIGRhbm4gYmVpIGRlciBncm9lc3NlIGVpbmVuCmV0d2FzIHNlbHRzYW1lbiB3ZXJ0IGRlcyB0cmFja3MgYW5nZW5vbW1lbiBoYXQgPjgwbWluIHVuZCAKZGFzIGVyc2NoaWVuIG1pciBzdXNwZWt0LCBhbHNvIGRvY2ggbWtpc29mcyBnZW5vbW1lbgoKSGF0IGplbWFuZCBlcmZhaHJ1bmcgbWl0IHNvd2FzIGdlbWFjaHQgPyAKCkNpYW8sCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKFJpbmdvciwgMjcuIE5vdiAxOTk4LCAxMTowNDo1NCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTEyMTEzMjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpEaWUgc3BlemllbGxlbiBDRC1SaXBwZXIgaGFiZW4gZHVyY2hhdXMgaWhyZSBEYXNlaW5zYmVyZWNodGlndW5nLgoKR3J1bmQ6IGRhcyAiZWluZmFjaGUgQXVzbGVzZW4iIGRlciBNdXNpa3RyYWNrcyBrbGFwcHQgbnVyIGRhbm4gZWlud2FuZGZyZWksCndlbm4gRHUgZWluZSBuYWdlbG5ldWUgbmljaHQgdmVya3JhdHp0ZSBDRCB1bmQgZWluIHNlaHIgZ3V0ZXMgTGF1ZndlcmsgaGFzdC4KSW0gR2VnZW5zYXR6IHp1IERhdGVudHJhY2tzIHNpbmQgTXVzaWt0cmFja3MgbmFlbWxpY2ggbmljaHQgc28gcmVpY2ggbWl0CkNoZWNrc3VtbWVuJmNvIGdlc2VnbmV0IC0gYmVpbSBlaW5mYWNoZW4gQXVzbGVzZW4gKHNvd2llIGJlaSBzY2hsZWNodGVuCkNELVJpcHBlcm4pIHdpcmQgRGlyIG5pY2h0bWFsIGFuZ2V6ZWlndCwgZGFzcyBkaWUgYXVzZ2VsZXNlbmVuIERhdGVuIG5pY2h0CjEwMCVpZyBkZW0gT3JpZ2luYWwgZW50c3ByZWNoZW4gLi4uCgpEYXMgdm9uIG1pciBzbyBnZXNjaGFldHp0ZSAiY2RwYXJhbm9pYSIgZ2VmYWVsbHQgbWlyIGdlcmFkZSBkZXNoYWxiIHNvIGd1dCwKd2VpbCBlcyBqZWRlbiBGcmFtZSBlcnN0IGRhbm4gYWxzIGtvcnJla3QgYXVzZ2VsZXNlbiBha3plcHRpZXJ0LCB3ZW5uIGVzCmRyZWltYWwgaGludGVyZWluYW5kZXIgZGVuc2VsYmVuIFdlcnQgYXVzZ2VsZXNlbiBoYXQuIFVuZCB6d2FyIHZvbiBkZXIgQ0QgdW5kCm5pY2h0IGF1cyBkZW0gQ2FjaGUuIDstKQoKQXVzc2VyZGVtIGJlc2l0enQgZXMgZGl2ZXJzZSBGZWhsZXJrb3JyZWt0dXItQWxnb3JpdGhtZW4sIGR1cmNoIGRpZSBzZWxic3QKdmVya3JhdHp0ZSBDRHMgbmFjaCBkZW0gQXVzbGVzZW4gdW5kIG5ldSBCcmVubmVuIGFuc2NobGllc3NlbmQgc28ga2xpbmdlbiwgd2llCmRhcyBPcmlnaW5hbCB2b3IgZGVtIFplcmtyYXR6ZW4uCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1QMy1FbmNvZGVyIGZ1ZXIgTGludXggKEppbWRpZ3JpeiwgMjcuIE5vdiAxOTk4LCAxNDoyODoxNCk6Cn4jISBybj1SaW5nb3IgcnQ9OTEyMTY0Njk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMTkwNTc5OQpIaWhvLAoKYWggb2ssIGhvZXJ0IHNpY2ggc2Nob25tYWwgaW50ZXJlc3NhbnQgYW4uIE5hamEgb2IgbWVpbiB1bmdlc2NodWx0ZXMKT2hyIGZlaGxlciBiZWkgdm9uIHZlcmtyYXR6ZW4gQ0RzIGhvZXJlbiB3dWVyZGUgPyBXb2JlaSBpY2ggCmF1Y2gga2VpbiBTY2hpbW1lciBoYWIgaW53aWV3ZWl0IHNpY2ggZGl2ZXJzZSB1bmdlbmF1aWdrZWl0ZW4KYXVzd2lya2VuLiBJY2ggaG9lciBtaXIgZGllIGF1c2dlbGVzZW4gdHJhY2tzIGhhbHQgZWlubWFsCm1pdCAncGNtcGxheScgYW4sIGRhcyBob2VydCBzaWNoIGlkUiBzbyBhbiB3aWUgYXVmIGRlciBDRAooamV0enQgb2huZSBkYWJlaSBhdWYga2xlaW5zdGUgZmVpbmhlaXRlbiB6dSBhY2h0ZW4uLi4pCmRhbm4gYnJlbm4gaWNocy4gQWJlciBpY2ggd2VyZCBtYWwgbmFjaCBjZHJpcHBlciBhdXNzY2hhdQpoYWx0ZW4sIGRhbmtlIGZ1ZXIgZGllIEluZm8uCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZXJ2aWNlIFBhY2sgNCBmdWVyIE5UIGdlc3VjaHQgKE1vcmdvdGgsICA0LiBEZXogMTk5OCwgMTA6MTA6MjYpOgpXZXIgaGF0IG5lIFVSTCBwYXJhdCwgdm9uIGRlciBtYW4gc2ljaCBkZW4gU1A0IHNhdWdlbiBrYW5uLiBKZXR6dCBzYWd0IG5pY2h0LApzY2hhdSBiZWkgTSoqKipzb2Z0LiBEYXMgaGFiIGljaCBzY2hvbiwga2FubnN0ZSBrbmlja2VuIDstKAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZXJ2aWNlIFBhY2sgNCBmdWVyIE5UIGdlc3VjaHQgKEphbWVzb24sICA0LiBEZXogMTk5OCwgMTQ6NTg6MzIpOgp+IyEgcm49TW9yZ290aCBydD05MTI3NjYyMjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEyNzY2MjI2Cmh0dHA6Ly9kb3dubG9hZC5ldS5taWNyb3NvZnQuY29tL2dlcm1hbnkvYnVzc3lzL3dpbm50L3dpbm50LXB1YmxpYy9maXhlcy9nZXIvNAowLnNwNC8KV2FyIG1pdCA2LCA3IE1hdXNrbGlja3MgYXVmIHd3dy5taWNyb3NvZnQuZGUgenUgZXJyZWljaGVuLgpJY2ggaGFiIGFiZXIgZ2Vob2VydCwgZGFzcyBkYSBzY2hvbiB3aWVkZXIgc28gdmllbGUgQnVncyBkcmluIHNpbmQsIGRhc3MKZXMgc2ljaCBuaWNodCBsb2hudCwgZGFzIFNQNCB6dSBpbnN0YWxsaWVyZW4uCnMKRGllIFVTLVZlcnNpb24gZ2lidCdzIG5hdHVlcmxpY2ggYXVmIHd3dy5taWNyb3NvZnQuY29tLiBTZWxiZXIgZXJmb3JzY2hlbiA6KQoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmlsZXMgY2FjaGVuIHVudGVyIExpbnV4IChSaW5nb3IsICA0LiBEZXogMTk5OCwgMjI6MjU6NTEpOgpEYSBpY2ggYmVpbSBDRC1CcmVubmVuIG1laW5lbiBSZWNobmVyIGdhbnogZ2VybmUgbm9jaCBub3JtYWwgd2VpdGVyIGJlbnV0emVuCmtvZW5uZW4gbW9lY2h0ZSAoc29uc3Qga29lbm50ZSBpY2ggYXVjaCB1bnRlciBXaW5kb3dzIGJyZW5uZW4gOy0pLCBzdWNoZSBpY2gKZWluZSBNb2VnbGljaGtlaXQsIGRpZSB6dSBicmVubmVuZGVuIEZpbGVzIHp1IGNhY2hlbi4KCkplZGVzIE1hbCBlaW5lbiAiYnVmZmVyIHVuZGVycnVuIiB6dSBrYXNzaWVyZW4sIG51ciB3ZWlsIE5ldHNjYXBlIG8uYWUuIGJlaW0KU3RhcnQgZnVlciBlaW4gcGFhciBTZWt1bmRlbiBkaWUgUGxhdHRlIGJlYXJiZWl0ZXQsIGdlZmFlbGx0IG1pciBuYWVtbGljaAp3ZW5pZ2VyIGd1dC4KCkFsc286IHdpZSBkcmVoIGljaCBkZW4gTGVzZS1DYWNoZSBmdWVyIGRpZSBCcmVubi1QYXJ0aXRpb24gbWVpbmVyIEZlc3RwbGF0dGUKaG9jaD8gCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZXJ2aWNlIFBhY2sgNCBmdWVyIE5UIGdlc3VjaHQgKEJlbGdhcmlhZCwgIDUuIERleiAxOTk4LCAxOTo0ODozNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxMjc2NjIyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTI3NjYyMjYKRGlyIGlzdCBiZXd1c3N0IGRhcyBkZXIgbnVyIGZ1ZXIgZGllIGVuZ2xpc2NoZSBWZXJzaW9uIGlzdCBvZGVyPwoKQmVsZ2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaWxlcyBjYWNoZW4gdW50ZXIgTGludXggKEppbWRpZ3JpeiwgIDcuIERleiAxOTk4LCAxMzozODo1Mik6Cn4jISBybj1SaW5nb3IgcnQ9OTEyODEwMzUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMjgxMDM1MQpIb2kgUmluZ2VyLAoKYWxzbyBpY2ggbmVobSBhbiBkdSBiZW51dHp0IGNkcmVjb3JkIHp1bSBicmVubmVuLApkYSBnaWJ0IGVzIGRpZSBPcHRpb24gZnM9PGJ1ZmZlcnNpemU+IGRpZSBkZW4KRklGTyBQdWZmZXIgdm9uIGNkcmVjb3JkIHNldHp0LCBzY2hyYXViIGRhcyBlaW5mYWNoIApvcmRlbnRsaWNoIGhvY2gsIGRhcyBpc3QgbmF0dWVybGljaCBuaWNodCBkZXIKZmlsZXN5c3RlbS1jYWNoZS4gRGVuIHR1bmVkIG1hbiB1ZWJlcmxpY2h3ZWlzZSB1ZWJlcgpLZXJuZWwtUGFyYW1ldGVyIChtYnVmKSwgd2Vpc3MgYWJlciBuZWQgd2llIGRhcwpiZWkgTGludXggZ2VuYXUgZ2VodC4KCkhUSCwKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaWxlcyBjYWNoZW4gdW50ZXIgTGludXggKFJpbmdvciwgIDcuIERleiAxOTk4LCAxNDowNToyNyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTEzMDM3OTMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMjgxMDM1MQpEYW5rZSBmdWVyIGRlbiBUaXAgLSBhYmVyIGJlaSBjZHJlY29yZCBoYWJlIGljaCBlYmVuIGR1cmNoIGRpZXNlbiBGSUZPIG5pZSBkaWUKUHJvYmxlbWUgZ2VoYWJ0LiA7LSkKCkVzIGdpbmcgbWlyIG1laHIgdW0gY2RyZGFvLiBXaWUgZWluZSBSdWVja2ZyYWdlIGJlaW0gQXV0b3IgZXJnYWIsIGJlc2l0enQgZGFzClByb2dyYW1tIGFsbGVyZGluZ3MgYXVjaCBlaW5lbiAobm9jaCBuaWNodCBkb2t1bWVudGllcnRlbikgRklGTywgZGVuIGljaApkZW1uYWVjaHN0IGF1c3Byb2JpZXJlbiB3ZXJkZS4gSWNoIGhvZmZlLCBkYXNzIHNpY2ggZGFzIFByb2JsZW0gZGFtaXQgZXJsZWRpZ3QKaGF0LgoKQW5zb25zdGVuIGJsZWlidCB3b2hsIHdpcmtsaWNoIG51ciBkZXIgV2VnIHVlYmVyIGRhcyBGaWxlc3lzdGVtIC4uLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFRCBmdWVyIEFtaWdhIChHbm9tZSwgMTEuIERleiAxOTk4LCAyMDo0OToyNyk6CmhpLAoKd2VyIHNjaG9uIGltbWVyIGVpbmVuIHZlcm51ZW5mdGlnZW4gZWRpdG9yIGZ1ZXIgZGllIGZyZXVuZGluIGdlc3VjaHQKaGF0LCBlcyBnaWJ0IGlobiBqZXR6dDogRWRXb3JkIFBybyBWNi4wCnp1IGZpbmRlbiBhdWYgZGVyIGRpc2tldHRlIGRlciAiQW1pZ2EgUGx1cyIgdm9uIDEyLzk4IG9kZXIgYWx0ZXJuYXRpdgpiZWkgbWlyIDstKQpkYXMgVjYuMCBsYWVzc3QgbWljaCBhYmVyIHZlcm11dGVuLCBkYXNzIGRlciBFRCBnYXIgbmljaHQgc28gbmV1IGlzdCwKd2llIGljaCBkZW5rZSwgdHJvdHpkZW0gaGFiIGljaCBlcnN0IGpldHp0IGRhdm9uIGdlaG9lcnQgb2RlciBnZXNlaGVuLgoKZXMgaGF0IGxlaWRlciBlaW5lbiBrbGVpbmVuIG5hY2h0ZWlsOiBkYXMgZGluZyBpc3Qgc2hhcmV3YXJlICgkIDE1KSB1bmQKbWl0IGVpbmVtIGZha2Uua2V5IG5pY2h0IHp1IHVtZ2VoZW4uIHdhZXJlIHdlaXRlciBuaWNodCBzY2hsaW1tLCB3ZW5uCmVzIG5pY2h0IHJlY2h0IHdpY2h0aWdlIGZ1bmt0aW9uZW4gbnVyIGluIGRlciB2b2xsdmVyc2lvbiBnYWViZS4KZGVzaGFsYjogaGF0IGptZCB2aWVsbGVpY2h0IGRpZSB2b2xsc3RhZW5kaWdlIHZlcnNpb24sIGRhbWl0IGljaCBzaWUKbWFsIHRlc3RlbiBrYW5uPyA6KQoKZ25PbWUKCnBzOiBuZWluLCBjeWdudXNFRCBpc3Qga2VpbiB2ZXJudWVuZnRpZ2VyIEVELCBlciB3YXIgendhciBkZXIgYmVzdGUsCiAgICBhYmVyIGRhcyBoZWlzc3Qgbm9jaCBuaXguLi4gOy0pCgpwcHM6IGJpbiBpbW1lciBub2NoIGF1ZiBkZXIgc3VjaGUgbmFjaCBlaW5lbSBhbnNpLXRlbG5ldCBmdWVyIG1laW5lbgogICAgIEE0MDAwLi4uIHdlaXNzIGptZCByYXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRUQgZnVlciBBbWlnYSAoQWNyaW1vbiwgMTEuIERleiAxOTk4LCAyMDo1ODowOCk6Cn4jISBybj1Hbm9tZSBydD05MTM0MDkzNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEzNDA5MzY3ClRlc3RlbiBrYW5uc3QgRHUgYXVjaCBkaWUgU2hhcmV3YXJlLVZlcnNpb24uClNlbGJzdCB3ZW5uIGljaCBkZW4gS2V5IGhhZXR0ZSwgd3VlcmRlIGljaCBpaG4gRGlyIG5pY2h0IGdlYmVuLCBkZW5uIHdlcgpzdGVsbHQgZGFubiBzaWNoZXIsIGRhc3ogRHUgZGllIDE1JCBhbiBkZW4gQXV0b3IgemFobHN0PwpXZW5uIER1IEZ1bmt0aW9uZW4gdGVzdGVuIHdpbGxzdCwgZGllIGVzIG51ciBpbiBkZXIgVm9sbHZlcnNpb24gZ2lidCwgZGFubgptdXN6dCBEdSBkaWVzZSBlYmVuIGthdWZlbi4KQWx0ZXJuYXRpdiBrb2VubnRlc3QgRHUgZGVuIEF1dG9yIHZvbiBFZFdvcmQgUHJvIGF1Y2ggcGVyIEVNYWlsIGZyYWdlbiwgb2IKZGllc2UgRnVua3Rpb25lbiBhdWNoIERlaW5lbiAoZ2VzY2hpbGRlcnRlbikgQW5zcHJ1ZWNoZW4gZ2VudWVnZW4uCgpJbSBVZWJyaWdlbiBoYWx0ZSBpY2ggbmljaHQgQ3lnbnVzRWQsIHNvbmRlcm4gR29sZEVkIGZ1ZXIgZGVuIGJlc3RlbiBFZGl0b3IuCkFiZXIgZGFzIGlzdCAtIHdpZSBpbW1lciBiZWkgRWRpdG9yZW4gLSB3b2hsIGVpbmUgR2xhdWJlbnNmcmFnZS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFRCBmdWVyIEFtaWdhIChHcmltbWJvcm4sIDEyLiBEZXogMTk5OCwgMTk6MTk6MzYpOgp+IyEgcm49QWNyaW1vbiBydD05MTM0MDk4ODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEzNDA5MzY3CkRhc3MgZGllIEFtaWdhdXNlciBzbyBzY2hhcmYgYXVmIGVkIHNpbmQgc2FndCBlaWdlbnRsaWNoIGRvY2ggc2Nob24gYWxsZXMuCkxldXRlLCBhdWZ3YWNoZW4hIFdpciBsZWJlbiBpbSBaZWl0YWx0ZXIgdm9uIGVtYWNzLCB3YXMgd2lsbCBtYW4gZGEgbWl0IHNvIG5lbQpaZWlsZW5lZGl0b3Igd2llIGVkPyBEYXMgaXN0IGhpZXIgaW0gbXVkIHNjaG9uIFF1YWwgZ2VudWcuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTVAzLUVuY29kZXIgZnVlciBMaW51eCAoUXVhc2ltb2RvLCAxMy4gRGV6IDE5OTgsIDEwOjI3OjQwKToKfiMhIHJuPVJpbmdvciBydD05MTE5MTE2MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTExOTA1Nzk5CkhtbW0sIGZ1ZXIgV2luZG93cyBpc3QgQ0RleCBkYXMgYmVzdGUuIERlciBtYWNodCBhdWNoIGdsZWljaCBNUDNzIHJhdXMgc2V0enQKZGllIFRhZ3MgdW5kIG1hY2h0IFBsYXlsaXN0cy4KClF1YXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFRCBmdWVyIEFtaWdhIChQYXRyeW4sIDEzLiBEZXogMTk5OCwgMjA6NDY6NDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxMzQ5MDM3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTM0MDkzNjcKaWNoIGhhYiB6d2FyIG5pY2ggbWVociB2aWVsIGZ1ZXIgZGllIGxldHp0ZW4ga2FlbXBmZXIgYXVmIGRlciB2ZXJsb3JlbmVuCmFtaWdhLWJhc3Rpb24gdWVicmlnLCBhYmVyIGRhcyBlZCBpbiBkZW4gMiBlZGl0b3JiZXplaWNobnVuZ2VuIHdlaXNzdApuaWNodCBhdWYgYWVobmxpY2hrZWl0ZW4genUgZGVuIGRvcy0gb2RlciB1bml4LWtydWVja2VuIGhpbi4KZGllIGVyd2FlaG50ZW4gdGVpbGUgd2FyZW4gc2Nob24gdm9yIDUgamFocmVuIG5hZWhlciBhbiBlbWFjcyBhbHMgYW4Kc2VociBndXRlbiBlZC12ZXJzaW9uZW4gYXVmIHVuaXggZHJhbi4KZGFzcyBuaWNoIGplZGVyIGRhcyBlbWFjcy1tb25zdGVyIGluY2wuIGlyZ2VuZHdlbGNoZXIgbGlzcC1kZXJpdmF0ZQpicmF1Y2h0IGtvZW5udGUgenVtIGVpbmVuIGFtIGdlc2NobWFjayBsaWVnZW4gdW5kIHp1bSBhbmRlcmVuIGFtCndlaXRhdXMgYmVzc2VyIHp1IHZlcnN0ZWhlbmRlbiBzdGFuZGFyZCBhcmV4LXN5c3RlbSBhdWYgZGVtIGFtaWdhLCBzbyBlaW5lCmFydCBhbGxnZW1laW4tcHJvZ3JhbW1pZXJzcHJhY2hlIGRvcnQuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxOWVyIE1vbiAoR25vbWUsIDEzLiBEZXogMTk5OCwgMjI6MDE6NTkpOgpoaSwKCndlciB6Lnp0LiBtaXQgZGVtIGdlZGFua2VuIHNwaWVsdCwgc2ljaCBlaW5lbiAxOSItTW9uaXRvciB6dXp1bGVnZW4sCmRlbSBzZWkgaGllciBkZXIgIkNUWCAxOTk1VUUiIChpY2ggZ2xhdWJlLCBkYXMgaXN0IGRpZSByaWNodGlnZQpiZXplaWNobnVuZywgaGFicyBuaWNodCBtZWhyIGdhbnogZ2VuYXUgaW0ga29wZiwgYWJlciBpY2ggZ3VjayBub2NoCm1hbCwgd2VubiBqbWQgbmFjaGZyYWd0KSBhbnMgaGVyeiBnZWxlZ3QuIGtvc3RldCA5NjAsLSBtaXQgQk5DLWVpbmdhbmcKNDAsLSBtZWhyLiBlciBoYXQgbmUgYXN0cmVpbmUgYmlsZHF1YWxpdGFldCwga29udmVyZ2VueiwgaGVsbGlna2VpdHMtCnZlcnRlaWx1bmcgdW5kIHNjaGFlcmZlIHNpbmQgdm9yYmlsZGxpY2guIGRhcyBwcmVpcy1sZWlzdHVuZ3MtdmVyaGFlbHRuaXMKaXN0IHVtd2VyZmVuZC4KZWlnZW50bGljaCB2ZXJrYXVmZW4gZGllIGRhIG5lIDIwMDAtbWFya3Mtcm9laHJlIGZ1ZXIgZGllIGhhZWxmdGUgOikKCk5PQ0ggZ2VuYXVlcmUgaW5mb3MgYXVmIGFuZnJhZ2UuCgpnbk9tZQoKcHM6IGdpbW1ib3JuOiAiQ3lnbnVzRUQiIHwgIkdvbGRFRCIgfCAiRWRXb3JkIiAhPSAiZWQiIAoKcHBzOiBwYXRyeW46IGVzIGhlaXNzdCBhcmV4eCwgYWJlciB0cm90emRlbSBkYW5rZSBmdWVyIGRlaW5lbiBrbGFlcmVuZGVuCiAgICAga29tbWVudGFyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFRCBmdWVyIEFtaWdhIChTb25nb2t1LCAxNC4gRGV6IDE5OTgsIDEwOjE2OjQ3KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MTM0OTAzNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTEzNDA5MzY3CkljaCBlcmlubmVyZSBtaWNoIGRhIGFuIGRpZSBNZW1hY3MgdmVyc2lvbiBiZWkgbWVpbmVyIFdCMS4zICAKRGEgaXN0IGplZGVyIEVEIGJlc3NlciAod2FzIGF1Y2gga2VpbiBQcm9iIHNlaW4gc29sbHRlIDopClNvbkdva3UgKGRlciBzZWluZW4gQTIwMDAgaW1tZXJub2NoIGxpZWJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRUQgZnVlciBBbWlnYSAoQWNyaW1vbiwgMTQuIERleiAxOTk4LCAxODoxNzoyOSk6Cn4jISBybj1QYXRyeW4gcnQ9OTEzNTgyMDA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxMzQwOTM2NwpBdXN6ZXJkZW0ga29lbm5lbiBDeWdudXNFZCB1bmQgR29sZEVkIGVpbmlnZSBTYWNoZW4sIGRpZSBlcyB1bnRlciBFbWFjcyBuaWNodApnaWJ0LgpEYXp1IGdlaG9lcnQgdm9yIGFsbGVtIGRhcyAiRm9sZGluZyIsIGRhcyBpY2ggc2VociBpbnRlbnNpdiB2ZXJ3ZW5kZS4KKE5laW4sIGljaCB3aWxsIGtlaW5lIDEwMCBaZWlsZW4gTGlzcC1Db2RlIHNjaHJlaWJlbiAuLi4pCgpGdWVyIG1pY2ggaXN0IEdvbGRFZCBub2NoIHVtIEVpbmlnZXMgYmVzc2VyIGFscyBFbWFjcy4KKEphLCBpY2gga2VubmUgdW5kIHZlcndlbmRlIGluIGRlciBUVSBYRW1hY3MgVjIwLjMpCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhc3Qga29zdGVubG9zIHN1cmZlbi4uLiAoQW5ha2luLCAyMS4gRGV6IDE5OTgsIDE2OjU3OjI3KToKfiMhIG9uPUFuYWtpbiBvdD05MTQyNTk0MjUgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPUppbWRpZ3JpeiBydD05MTQyNTM5NjQgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD05MTQxOTE5MjMKCj4gNzcsLSBmdWVyIERhdWVyYmVzZXR6dHplaWNoZW4gc2luZCB2ZXJtdXRsaWNoIHp1dmllbC4KCmhhdCBkYXMgd2FzIG1pdCBmNzcgenUgdHVuPyBPZGVyIG1pdCBmOTA/IGljaCBicmF1Y2ggbmVuCmFscGhhL2xpbnV4IGY5MCBjb21waWxlciwgYWxzbyB3ZW5uIGVpbmVyIGVpbmVuIGhhdCA6KQoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmFzdCBrb3N0ZW5sb3Mgc3VyZmVuLi4uIChSYW50YW5wbGFuLCAyMy4gRGV6IDE5OTgsIDE2OjM4OjQyKToKfiMhIHJuPUFuYWtpbiBydD05MTQyNTk0NDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE0MTkxOTIzCipyb3RmbCoKCkljaCBkYWNodGUgaWNoIHdhZXIgZGVyIGVpbnppZ2UgaGllciwgZGVyIGY3NyB1bmQgZjkwIGJlbnV0enQsIEFzY2hlIGF1ZiBtZWluCkhhdXB0CkEqIGFiZXIgZnVlciBMaW51eCBoYWJpY2ggYXVjaCBub2NoIGtlaW5lbiBnZWZ1bmRlbiBudXIgZnVlciBBSVgKCk9lKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZW1haWwgYWxzIHNtcyAoUmlrdXMsICA0LiBKYW4gMTk5OSwgMDA6MTE6MDgpOgpIaSwKa2VubnQgZWluZXIgbmUgQWRyZXNzZSwgYW4gZGllIG1hbiBlaW5lIGVtYWlsIHNjaGlja3QgdW5kIGRlcmVuClN1YmplY3QgZGFubiBhbHMgU01TIGF1ZiBlaW4gaGFuZHkgKGQyKSBnZWh0PyBJY2ggbWVpbmUgbmljaHQKdG9wbWFpbCwgd28gbWFuIGVyc3QgbmUgbmV1ZSBlbWFpbGFkcmVzc2UgZWlucmljaHRldC4KClJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZW1haWwgYWxzIHNtcyAoQm90dG9tLCAgNi4gSmFuIDE5OTksIDE5OjA5OjE3KToKfiMhIHJuPVJpa3VzIHJ0PTkxNTQwODY2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTU0MDg2NjgKClNjaHdlcnRtZWlzdGVyc2Nod2VydCBhdWYgSGFuZHk/IEdlaHQgZGFzIGRhbm4gbmljaHQga2FwdXR0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZW1haWwgYWxzIHNtcyAoS2V5LCAgNi4gSmFuIDE5OTksIDE5OjM1OjUyKToKfiMhIHJuPUJvdHRvbSBydD05MTU2NDk3NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE1NDA4NjY4CkRhcyBTY2h3ZXJ0bWVpc3RlcnNjaHdlcnQ/IEdsYXViIG5pY2h0IDspCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVtYWlsIGFscyBzbXMgKEJvdHRvbSwgIDYuIEphbiAxOTk5LCAyMDoyNDowNCk6Cn4jISBybj1LZXkgcnQ9OTE1NjUxMzUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNTQwODY2OAoKSWNoIG1hY2h0ZSBtaXIgU29yZ2VuIHVtIGRhcyBIYW5keSEgRGFzIGRhcyBTTVMgdW5rYXB1dHRiYXIgaXN0LCB6d2VpZmVsIGljaApuaWNodCBhbiEgOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTlQvTGludXgtUHJvYmxlbSAoTW9yZ290aCwgMTEuIEphbiAxOTk5LCAwOToyNDoyNik6CkFrdHVlbGxlIENvbmZpZzoKSEQxOiBMaW51eCAoNC4zR0IpCgpOZXVlIENvbmZpZzoKSEQxOiBOVDQuMCAoNC4xR0IsIG5ldSkKSEQyOiBMaW51eCAoNC4zR0IsIGFsdGUgSEQxKQoKU28sIG51biBkaWUgRnJhZ2U6CldpZSBiZWtvbW1lIGljaCBMaW51eCBkYXp1LCBvaG5lIG11cnJlbiB2b24gZGVyIG5ldWVuIFBsYXR0ZSAoL2Rldi9oZGIpIHp1CmJvb3Rlbiwgd2VubiBOVCBzaWNoIGF1ZiAvZGV2L2hkYSBicmVpdCBnZW1hY2h0IGhhdC4gTGVpZGVyIGxhZXNzdCBzaWNoIGRhcwpkdW1tZSBOVCBuaWNodCBhdWYgJ0Q6JyBpbnN0YWxsaWVyZW4gOy0oKAoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5UL0xpbnV4LVByb2JsZW0gKEFuYWtpbiwgMTEuIEphbiAxOTk5LCAxMDo1NDoyNik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxNjA0NjY2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYwNDY2NjYKU2NoYXUgbWFsIHVudGVyOgoKaHR0cDovL3d3dy5saW51eGdhemV0dGUuY29tL2lzc3VlMzYvbGFycmllcmEuaHRtbAoKRGEga2FubnN0IGR1IGRhbm4gTGludXggbWl0IGRlbSBOVCBMb2FkZXIgYm9vdGVuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOVC9MaW51eC1Qcm9ibGVtIChBbmF0b2wsIDExLiBKYW4gMTk5OSwgMTE6MjQ6MjkpOgp+IyEgcm49QW5ha2luIHJ0PTkxNjA1MjA2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYwNDY2NjYKQWx0ZXJuYXRpdiBsaWVndCBkZXIgU3VTRS1EaXN0cmlidXRpb24gZWluIEhvd1RvIGJlaSwgbmFjaCBkZW0gZXMKc2ljaCBraW5kZXJsZWljaHQgbmFjaHZvbGx6aWVoZW4gdW5kIGluc3RhbGxpZXJlbiBsYWVzc3QgLSBzb2dhciBpY2gKaGFiZSBlcyBnZXNjaGFmZnQsIGRhcyBoZWlzc3Qgd2FzLgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOVC9MaW51eC1Qcm9ibGVtIChKaW1kaWdyaXosIDExLiBKYW4gMTk5OSwgMTE6MjU6MDEpOgp+IyEgcm49QW5ha2luIHJ0PTkxNjA1MjA2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYwNDY2NjYKSG9pLAoKaWNoIHNjaGFldHplIGRhcyBQcm9ibGVtIGdlaHQgbm9jaCB3ZWl0ZXIsIHdlaWwgc2ljaCAKYXVjaCBkaWUgZGV2aWNlLU5hbWVuIGFsbGUgZ2FlbmRlcnQgaGFiZW4sIHdlbm4gZGllClBMYXR0ZSB6dWVyc3QgL2Rldi9oZGEgdW5kIG51biAvZGV2L2hkYiBoZWlzc3QuCldlbmlnc3RlbnMgZGllIC9ldGMvZnN0YWIgbXVzcyB3b2hsIGFuZ2VwYXNzdCB3ZXJkZW4sIHdlbm4gbmljaHQKbm9jaCBtZWhyLCBzY2hhZXR6IGljaC4gdVUgbXVzcyBtYW4gZGllIERldmljZS1maWxlcyBhdWNoIApuZXUgYW5sZWdlbiB1bmQgZGVuIGJvb3QtbG9hZGVyIChuaWNodCBib290LW1hbmFnZXIsIGRlbiBzb3dpZXNvKQpuZXUgaW5zdGFsbGllcmVuLgoKTGVpZGVyIGtlaW4gU2NoaW1tZXIsIGFiZXIgdmllbGxlaWNodCBzdGVodCB1bnRlcgpkaWVzZXIgV2Vic2VpdGUgd2lya2xpY2ggd2FzIGJyYXVjaGJhcmVzLCBhbnNvbnN0ZW4gc29sbHRlCmVzIGRvY2ggaGllciBnZW51ZWdlbmQgTG9zaXgtRmV0aXNjaGlzdGVuIChubyBvZmZlbmNlOy0pKSwKZ2ViZW4gLi4uIDotKQoKQ2lhbywKIEpkRyAoKnNlbmZlbmQqKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTlQvTGludXgtUHJvYmxlbSAoUmluZ29yLCAxMS4gSmFuIDE5OTksIDExOjI2OjEyKToKfiMhIHJuPUppbWRpZ3JpeiBydD05MTYwNTM5MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2MDQ2NjY2CkphLCAvZXRjL2ZzdGFiIG11c3N0ZSBnZWFlbmRlcnQgd2VyZGVuLiBVbmQgL2V0Yy9saWxvLmNvbmYuIAoKRGFuYWNoIGxpZWYgd2llZGVyIGFsbGVzLiBIYWV0dGUgZXIgbWFsIGdsZWljaCBpbSBIYXVzIGdlZnJhZ3QsIGJldm9yIGVyIGhpZXIKYWxsZSBzY2hldSBtYWNodCAuLi4gO14pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5UL0xpbnV4LVByb2JsZW0gKEdyaW1tYm9ybiwgMTEuIEphbiAxOTk5LCAxOTowNjo1OSk6Cn4jISBybj1SaW5nb3IgcnQ9OTE2MDUzOTcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNjA0NjY2NgpKZWRlciBibGFtaWVydCBzaWNoIGhhbHQgc28gZ3V0IGVyIGthbm4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNEX0JyZW5uZXIgKEthcmlzLCAxMi4gSmFuIDE5OTksIDEzOjE2OjEyKToKSWNoIHdpbGwgbWlyIG5lbiBDRC1CcmVubmVyIGFuc2NoYWZmZW4gdW5kIHN0ZWhlIHZvciBkZXIgRnJhZ2U6IFNDU0kgb2RlcgpBVEFQST8gVGV1ZXIgb2RlciBiaWxsaWc/IApBbHNvOiBLZW5udCBqZW1hbmQgbmVuIGFuc3RhZW5kaWdlbiBBVEFQSS1CcmVubmVyLCBkZXIgYXVjaCBmdW5rdGlvbmllcnQ/CkV2ZW50dWVsbCBhdWNoIG5lIHBhc3NlbmRlIFNvZnR3YXJlIGRhenUgLi4uIChBbndlbmR1bmcgd2VyZGVuIHdvaGwgaW4gZXJzdGVyCkxpbmllIEF1ZGlvLUNEcyBzZWluIC4uLiAqdW5zY2h1bGRpZyBwZmVpZiopCgpGdWVyIFRpcHMgdW5kIEhpbndlaXNlIHNlaHIgZGFua2JhciwKCkthcmlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENEX0JyZW5uZXIgKFJ1bWF0YSwgMTIuIEphbiAxOTk5LCAxMzoxOTozMyk6Cn4jISBybj1LYXJpcyBydD05MTYxNDY5NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2MTQ2OTcyCmMndCAyNi85OCBoYXQgbmVuIHZlcmdsZWljaHN0ZXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ0RfQnJlbm5lciAoR3JpbW1ib3JuLCAxMi4gSmFuIDE5OTksIDEzOjIwOjM4KToKfiMhIHJuPUthcmlzIHJ0PTkxNjE0Njk3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYxNDY5NzIKSURFIGlzdCB3b2hsIGhpbnJlaWNoZW5kLCB3ZW5uIER1IGRlbiBSZWNobmVyIHdhZWhyZW5kIGRlcyBCcmVubmVucyBuaWNodAphbmZhc3N0LgpBdWYgZGVyIGFuZGVyZW4gU2VpdGUgcmF1Y2h0IGF1Y2ggZWluIFJvaGxpbmcgaW4gZWluZW0gU0NTSS1CcmVubmVyIGFiLCB3ZW5uCmRlciBSZWNobmVyIHVudGVyIFdpbmRvd3MgbGFldWZ0IHVuZCBub2NoIGFuZGVyZSBBcHBsaWthdGlvbmVuIGJlbnV0enQgd2VyZGVuLgpLbGFyLCB1bnRlciBMaW51eCBrYW5uIG1hbiBkYSBnZWdlbnN0ZXVlcm4uLi4KCkFuIFNvZnR3YXJlIGVtcGZpZWhsdCBzaWNoIHhjZHJvYXN0IHVudGVyIExpbnV4LCB1bmQgdW50ZXIgV2luZG93cyAiV2luT25DRCIKKHdlaWxzIGd1dCBpc3QpIG9kZXIgIk5lcm8gdGhlIGJ1cm5pbmcgUk9NIiAod2VpbCBkZXIgTmFtZSBjb29sIGlzdCkuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ0RfQnJlbm5lciAoU29uZ29rdSwgMTIuIEphbiAxOTk5LCAxNDowOTo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTE2MTQ3MjM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNjE0Njk3MgpFaW4gS3VtcGVsIHZvbiBtaXIgYmVudXR6dCB3YWVyZW4gZGVzIGJyZW5uZW5zIFBob3Rvc2hvcCB1bmQgZGllIERpbmdlcgpicmVubmVuIG5pY2h0IGFiIChhdWYgamVkZW4gZmFsbCBuaWNodCBoYWV1ZmlnZXIgYWxzIHNvbnN0IDspCkphIHVuZCBlciBiZW51dHp0IFcqKioqKiouCih1bmQgU0NTSSkKU2F5b25hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW5kbWFpbC1Db25maWcgKFNoYW5uYXJhLCAxMi4gSmFuIDE5OTksIDE0OjIxOjA5KToKV2llIGthbm4gaWNoIG1laW5lbiBTZW5kbWFpbC1NVEEgZGF6dSBicmluZ2VuLCBtaXIgbmljaHQgaW1tZXIgd2llZGVyCmdlc2NocmllYmVuZSBtYWlsIHp1cnVlY2t6dXNjaG1laXNzZW4sIGRhIG1laW4gbGludXggZWluZW4gYW5kZXJlbgpyZWNobmVybmFtZW4vZG9tYWlubmFtZW4gYmVzaXR6dCBhbHMgZGVuIG1laW5lcyBwcm92aWRlcnMuIFdvaGxnZXNhZ3QsIGRpZXNlbgpSZWNobmVybmFtZW4gaGFiIGljaCBtaXIgc28gZWluZmFjaCBnZXNhZXR6dCwgZGEgaWNoIGFiIHVuZCB6dSBlaW5lbiBhbmRlcmVuCnp1Z2FuZyAodWViZXIgZGllIFVuaSkgYmVudXR6ZS4KCmluIGRlciAvZXRjL3NlbmRtYWlsLmNmIGdpYnRzIGRhIGVpbmVuIE1hc3F1ZXJhZGluZy1FaW50cmFnLCBkZXIgYWJlciBuaWNodApiZXNvbmRlcnMgd2VpdGVyaGlsZnQuCgpEaWUgR2VnZW5zdGVsbGUgaXN0IGVpbmUgTlQtTWFzY2hpbmUsIHVuZCBsZWlkZXIgd2lsbCBkZXIgU3VwcG9ydCBrZWluZSBGcmFnZW4KYmV6dWVnbGljaCB6dSBMaW51eCBiZWFudHdvcnRlbiwgd2VpbCBzaWUgJ1ZlcnRyYWdzcGFydG5lciB2b24gTWljcm9zb2Z0JyBzaW5kCjooKCgKClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VuZG1haWwtQ29uZmlnIChNdWFkaWIsIDEyLiBKYW4gMTk5OSwgMTU6Mzc6MDQpOgp+IyEgcm49U2hhbm5hcmEgcnQ9OTE2MTUwODY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNjE1MDg2OQpoaWhvLAoKYmV2b3IgZHUgZGlyIHZpZWwgYWVyZ2VyIG1hY2hzdCBzY2hhdSBtYWwgbmFjaCBvYiBkdSBuaWNodCB6dWZhZWxsaWcgbmUgbTQKdW50ZXJzdHVldHp1bmcgZnVlciBkaWUgc2VuZG1haWwgY29uZmlndXJhdGlvbiBpbnN0YWxsaWVydCBoYXN0LCB6YiB1bnRlcgovZXRjL21haWwKZGFzIGhpbGZ0IGZ1ZXIgZGllIG1laXN0ZW4gZmFlbGxlIHNlaHIKYW5zb25zdGVuIGVtcGZlaGxlIGljaCBkYXMgYnVjaCBzZW5kbWFpbCBpbSBvJ3JlaWxseSB2ZXJsYWcgKGJhdGJvb2spCgpncnVzcwoKbXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbmRtYWlsLUNvbmZpZyAoR3JpbW1ib3JuLCAxMi4gSmFuIDE5OTksIDE2OjQzOjI3KToKfiMhIHJuPU11YWRpYiBydD05MTYxNTU0MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2MTUwODY5Ck1hbiBrYW5ucyBhdWNoIGVpbmZhY2hlciBtYWNoZW4uCkVzIGdpYnQgYmVpIGRlbiBzZW5kbWFpbC1RdWVsbGVuIGVpbiBSRUFETUUsIHdhcyBEdSBtYWNoZW4gd2lsbHN0IGlzdCBlaW5lCmdlbmVyaWNzIHRhYmxlLiBLbGFwcHQgYWxsZXJkaW5ncyB3b2hsIG5pY2h0IG1pdCBqZWRlbSBNVUEuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ0RfQnJlbm5lciAoWWFyZW4sIDEyLiBKYW4gMTk5OSwgMTc6MDQ6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkxNjE0NzIzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYxNDY5NzIKZnVlciBhdWRpbyBjZHM6IGZldXJpbyAod3d3LmZldXJpby5jb20pCgpMaW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4IGFscyBQcmludHNlcnZlciBmdWVyIFdpbjk1IChBcmVsaW9uLCAxMy4gSmFuIDE5OTksIDAxOjM1OjI3KToKSWNoIGhhYiBlaW5lbiBESjg1MCB1bmQgZGVuIHVudGVyIExpbnV4IChTdVNlIDUuMCkgbWl0IEFQUyBpbnN0YWxsaWVydC4gVm9uCkxpbnV4IGF1cyBrYW5uIGljaCBwcmltYSBkcnVja2VuLiBGZXJuZXIgaGFiZSBpY2ggYXVmIGRlbSBTeXN0ZW0gc2FtYmEKaW5zdGFsbGllcnQsIHNvIGRhIGljaCBvaG5lIFByb2JsZW1lIGF1ZiBtZWluIEhlaW12ZXJ6ZWljaG5pcyB6dWdyZWlmZW4ga2Fubgp1bmQgZGllIFdpbjk1IEtpc3RlIGF1Y2ggYnJhdiBkaWUgYmVpZGVuIGZyZWlnZWdlYmVuZW4gRHJ1Y2tlciBpbiBzZWluZXIKTmV0enVtZ2VidW5nIGZpbmRldC4KSWNoIGhhYmUgbnVuIHZlcnN1Y2h0IGF1ZiBkZW4gbHByIC1QIHJhdyBkZW4gSFAgVHJlaWJlciB1bmQgYXVmIGRlbSBscHIgLXAKYXV0byBlaW5lbiBBcHBsZSBMYXNlcndyaXRlciAoUFMpIFRyZWliZXIgYXVmenVzZXR6ZW4uIFByaW56aXBpZWxsIGdlaHQgZGFzCmF1Y2gsIGJpcyBtYW4gZWluZSBUZXN0c2VpdGUgZHJ1Y2tlbiB3aWxsLiBEYW5uIGxhYmVydCBXaW45NSBuYWVtbGljaCB2b24KbWVya3d1ZXJkaWdlbiBGZWhsZXJuIHVuZCBkYXNzIG1hbiBXaW5kb3dzIG5ldSBzdGFydGVuIHNvbGxlLCBldGMuIERhcyBzbWIubG9nCmVya2xydCBudWVjaHRlcm4sIGRhc3MgVXNlciAibm9ib2R5IiBkZW4gRHJ1Y2tlciBhbmdlZm9yZGVydCBoYWV0dGUgdW5kIHNvZm9ydApkaWUgVmVyYmluZHVuZyB3aWVkZXIgZ2VrYXBwdCBoYWV0dGUuCkljaCBkZW5rZSBkYXNzIGRhcyBQcm9ibGVtIGluIGRlciBzbWIuY29uZiBsaWVndCAtIHdpbGwgaWNoIG51ciB6dW5hZWNoc3QKbmljaHQgcG9zdGVuLiBLYW5uIG1pciBqZW1hbmQgZWluZW4gVGlwIGdlYmVuLCB3YXMgaWNoIGRhIG1hbCBjaGVja2VuIHNvbGx0ZT8KCkFsb2hhLAogICAgIEFyZWxpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggYWxzIFByaW50c2VydmVyIGZ1ZXIgV2luOTUgKE1vcmdvdGgsIDEzLiBKYW4gMTk5OSwgMDc6NDg6MTcpOgp+IyEgcm49QXJlbGlvbiBydD05MTYxOTEzMjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2MTkxMzI3CkFsc28gaWNoIHRpcHBlIG1hbCBpbnMgYmxhdWUgdW5kIHd1ZXJkZSBzYWdlbiwgRGVpbiBlaW50cmFnLCBkZXIgaW4gZGVyCnN1YnNlY3Rpb24gW3ByaW50ZXJzXSBpbiAvZXRjL3NtYi5jb25mIHN0ZWh0IGlzdCBuaWNodCBkYSBvZGVyIHZlcm11cmtzdC4gWnUKZGllc2VtIFRoZW1hIGdhYiBlcyBtYWwgZWluZW4gZ2VpbGVuIGFydGlrZWwgaW4gZGVyIGN0LiBOYWdlbCBtaWNoIGpldHp0IG5pY2h0CmF1ZiBkaWUgbnVtbWVyIGZlc3QsIGFiZXIgZXMgd2FyIGlyZ2VuZHdhcyB6d2lzY2hlbiAxOCB1bmQgMjQuCkFuc29uc3RlbjogbWFuIHNtYi5jb25mLCBtYW4gc2FtYmEsIG1hbiB1c3cgOy0pKQoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5UL0xpbnV4LVByb2JsZW0gKE5pbWJ1cywgMTMuIEphbiAxOTk5LCAxMjo0Mjo1MSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxNjA0NjY2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYwNDY2NjYKVmllbGxlaWNodCBrYW5uc3QgZHUgTlQgZG9jaCBkb3J0IGluc3RhbGxpZXJlbiwgd2VubiBkdSBlcyBlcnN0bWFsCiJub3JtYWwiIGluc3RhbGxpZXJzdCB1bmQgZGFubiBlaW4gSW1hZ2UgbWFjaHN0ICh6LkIuIG1pdCBEcml2ZSBJbWFnZSkuCk1pdCBkaWVzZW0gUHJvZ3JhbW0gaGFiZSBpY2ggYmVzdGUgRXJmYWhydW5nZW4uIEF1c3NlcmRlbSBrYW5uc3QgZHUgCmRpciBkYWJlaSBzcGFyZW4gYmVpIGplZGVyIChUZXN0LSlJbnN0YWxsYXRpb24gYWxsZSBUcmVpYmVyIGV0Yy4gbmV1IAplaW5yaWNodGVuIHp1IG11ZXNzZW4uCk5pbWJ1cyAoaGF0IGF1ZiBkaWVzZSBXZWlzZSBOVCwgOTUgdW5kIExpbnV4IGluIGpld2VpbHMgc2VwYXJhdGVuIFBhcnRpdGlvbmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eCBhbHMgUHJpbnRzZXJ2ZXIgZnVlciBXaW45NSAoVHJhbmNlZmVhciwgMTMuIEphbiAxOTk5LCAyMDowNzozNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkxNjIxMzY5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTYxOTEzMjcKYyd0IDIwLzk4LCBTZWl0ZSAyMDRmZgoKdGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklTRE4tS2FydGUgZnVlciBQQy9NYWM/IChUc3VuYW1pLCAxOC4gSmFuIDE5OTksIDE0OjU1OjUyKToKSHVodSBMZXV0ZSwKCkljaCBicmF1Y2ggZWluZSB2ZXJudWVuZnRpZ2UgSVNETi1LYXJ0ZSBmdWVyIGVpbmVuIFBDLiBXYXMga29lbm50IGlocgptaXIgZW1wZmVobGVuPyBWZXJudWVuZnRpZyBoZWlzc3Q6IGRlciBQQyBzdGVodCBpbiBlaW5lbSBHZXNjaGFlZnQgdW5kCmRhbWl0IGRhcmYgZGllIEthcnRlIHJ1aGlnIHRldXJlciBzZWluIDopCkdpYnRzIGF1Y2ggUENJLUlTRE4tS2FydGVuLCBkaWUgbWFuIGluIFBDcyAqdW5kKiBNYWNzIGVpbmJhdWVuIGthbm4sIHdvIGRpZSAKVHJlaWJlciBnbGVpY2ggZnVlciBiZWlkZSBNYXNjaGluZW4gZGFiZWkgc2luZCwgb2RlciBtYW4gc2llIHdlbmlnc3RlbnMKaXJnZW5kd28gcnVudGVyc2F1Z2VuIGthbm4/CgpCZXN0ZW4gRGFuaywKCiAgID4+IFRzdW5hbWkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSVNETi1LYXJ0ZSBmdWVyIFBDL01hYz8gKE5pbWJ1cywgMTguIEphbiAxOTk5LCAxNTo0NjoyMyk6Cn4jISBybj1Uc3VuYW1pIHJ0PTkxNjY3MTM1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTY2NzEzNTIKU293ZWl0IGljaCBnZWxlc2VuIGhhYmUgKHVuZCBpbiBlaW5lciBFRFYtRmlybWEgZGllIEVyZmFocnVuZyBnZW1hY2h0IGhhYmUKaXN0IGRpZSBGcml0emNhcmQgZGVyemVpdCBuYWNoIHdpZSB2b3IgZGllIGJlc3RlLiBHaWJ0cyBhbHMgSVNBIHVuZCBhbHMKUENJIEthcnRlLiBEaWUgVGVsZXMtSVNETiBzb2xsIGthY2tlIHNlaW4sIGhhYiBpY2ggYWxsZXJkaW5ncyBudXIgZ2Vob2VydC4KU2NoZWluYmFyIG1hY2h0IGRpZSBQcm9ibGVtZSBiZWkgRmF4IHVzdy4KCk5pbWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJU0ROLUthcnRlIGZ1ZXIgUEMvTWFjPyAoUGlsZ3JpbSwgMTguIEphbiAxOTk5LCAyMToyODozNCk6Cn4jISBybj1OaW1idXMgcnQ9OTE2Njc0MzgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNjY3MTM1MgpBbHNvIG9iIGRpZSBUZWxlc19rYXJ0ZSBQcm9ibGVtZSBiZWkgRkFYIG1hY2h0LCB3ZWlzcyBpY2ggbmljaHQsIGFiZXIgLi4uCkRpZSBLYXJ0ZSBpc3QgZWlnZW50bGljaCBzZWhyIGd1dCAodHV0IHNpY2ggYWJlciBuaXggbWl0IGRlciBGcml0eikgLi4uCldhcyBtaXIgdW5kIGFuZGVybiBuaWNodCBnZWZhZWxsdCwgaXN0IGRpZSBUZWxlcy1QaGlsb3NvcGhpZSwgbmV1ZSBUcmVpYmVyCih1LmEuIFN1cG9ydCkgbnVyIHVlYmVyIGVpbmUgc3Rhcmsga29zdGVucGZsaWNodGlnZSAwMTkwZXIgKD8/KSBOdW1tZXIKenUgZ2V3YWVocmVuIHVuZCBhdWNoIGFsbGUgaW0gSW50ZXJuZXQgYWJ6dW1haG5lbiwgZGllIChha3R1ZWxsZSkgVHJlaWJlcgpkb3J0IGFsdGVybmF0aXYgdW5kIGtvc3RlbmxvcyB6dXIgVmVyZnVlZ3VuZyB6dSBzdGVsbGVuIDotKAoKRGFtaXQgaXN0IGRpZXNlIEthcnRlIGZ1ZXIgbWljaCBkYW1hbHMgYXVzZ2VzY2hpZWRlbiEKClp1ciBGcml0ejogZWlnZW50bGljaCBtYWNodCBlcyBrYXVtIFNpbm4sIGRpZSBLYXJ0ZSBhbHMgUENJIHp1IG5laG1lbiwKZGllIElTQS1WZXJzaW9uIGlzdCBnZW5hdXNvIHNjaG5lbGwvZ3V0LiBNYW4gbXVzcyBzaWNoIGF1Y2ggbnVyIGVpbm1hbAprdXJ6IGdlZGFua2VuIHVlYmVyIGZyZWllIElSUXMgbWFjaGVuIHVuZCBkaWUgS2FydGUgZW50c3ByZWNoZW5kIGp1bXBlciwKZGFuYWNoIGlzdCBhbGxlcyBnbGVpY2ggKHdlbm4gaWNoIGRpZSB0ZXN0IHNvIHJpY2h0aWcgaW4gRXJpbm5lcnVuZyBoYWJlKS4KQWJlciBoZXV0ZSBpc3QgZGllIFBDSS1WZXJzaW9uIG51ciB1bndlc2VudGxpY2ggdGV1cmVyIC0gZGFtYWxzIHdhcmVuCmRhcyBub2NoIGxvY2tlciAzMCUtNTAlIC4uLi4gaW0gVmdsIHp1ciBJU0EgS2FydGUgLi4uIChhbHNvIDIwMCB6dSAxNDAgLi4uIApvZGVyIHNvKS4KKndlaXNzIG5pY2h0IG1laHIgZ2VuYXUqCgpQaWxncmltCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSVNETi1LYXJ0ZSBmdWVyIFBDL01hYz8gKEN5bW9uaywgMTkuIEphbiAxOTk5LCAwMzozNjowOSk6Cn4jISBybj1Uc3VuYW1pIHJ0PTkxNjY3MTM1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTY2NzEzNTIKaGksCmljaCBzY2hsaWVzc2UgbWljaCBwaWxncmltcyBiZWl0cmFnIHVuZCBlcmdhZW56ZSBpaG4gbm9jaCB1bSBmb2xnZW5kZXM6CmZpbmdlciB3ZWcgdm9uIGRlciB0ZWxlcwppY2ggaGF0dGUgJ21hbCBlaW5lIGluIGRlbiBmaW5nZXJuIHVuZCBoYWInIG1hc3NpZyBwcm9icyBnZWhhYnQKZGllIGVpbmJpbmR1bmcgZ2luZyBhbGxlcyBhbmRlcmUgYWxzIGVpbmZhY2ggdm9uIGRlciBoYW5kLgphbHMgbG9lc3VuZyBoYXQgc2ljaCBoZXJhdXNnZXN0ZWxsdDoKZGVyIGVyd2VyYiAnbmVyIGZyaXR6IGthcnRlIDopCgpjeQoKcC5zLjogYWNoc28sIGljaCBmYWhyZSBpc2RuIHVudGVyIHdpbm50LCB3aW45NSB1bmQgbGludXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSVNETi1LYXJ0ZSBmdWVyIFBDL01hYz8gKEdub21lLCAxOS4gSmFuIDE5OTksIDE5OjE0OjQ2KToKfiMhIHJuPUN5bW9uayBydD05MTY3MTY5Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2NjcxMzUyCmphLCBkaWUgUENJLWZyaXR6IGNhcmQgaXN0IHdpcmtsaWNoIHp1IGVtcGZlaGxlbi4KYWx0ZXJuYXRpdiBnYWViZSBlcyBkYSBub2NoIGRpZSAiRUxTQSBRdWlja1N0ZXAgMTAwMCBwcm8gUENJIi4KaWNoIGdsYXViZSwgZGllIGlzdCBzb2dhciBldHdhcyBiaWxsaWdlciBhbHMgZGllIGZyaXR6LgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxQQy1Nb2RlIGZ1ZXIgRW1hY3MgKFJpbmdvciwgMjUuIEphbiAxOTk5LCAyMDoxMjozMyk6CkhpaG8hCgpJY2ggc3VjaGUgZWluZW4gTFBDLU1vZGUsIGRlciBkYWZ1ZXIgc29yZ3QsIGRhc3MgbWVpbiBFbWFjcyBuaWNodCBqZWRlIENsb3N1cmUKYWxzIFN0cmluZyAiZXJrZW5udCIsIHVuZCBkZXIgYXVjaCBtaXQgbWVpbmVtIFhFbWFjcyAyMC54IGZ1bmt0aW9uaWVydC4KCkljaCBoYWJlIGltIE5ldHogYmlzaGVyIGVpbiBGaWxlIHZvbiAxOTkxIGdlZnVuZGVuLCB3YXMgendhciBsYWV1ZnQsIGFiZXIKa2VpbmUgbmVubmVuc3dlcnRlbiBVbnRlcnNjaGllZGUgenUgbWVpbmVtIEMtTW9kZSB6ZWlndC4gVW5kIGRhcyBMUEMtTW9kZS1GaWxlCnZvbiAxOTk2LCB3YXMgaWNoIGdlZnVuZGVuIGhhYmUsIGJlaGFuZGVsdCBDbG9zdXJlcyBsYXV0IEtvbW1lbnRhciB6d2FyCmtvcnJla3QsIHdlaWdlcnQgc2ljaCBhYmVyLCBmZWhsZXJsb3Mgdm9uIG1laW5lbSBFbWFjcyBnZWxhZGVuIHp1IHdlcmRlbi4gOy0pCgpBbHNvOiBFbWFjcy1udXR6ZW5kZSBNYWdpZXIgdm9ydHJldGVuIQoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1Mb2FkIChDYXR3ZWF6bGUsIDI2LiBKYW4gMTk5OSwgMTM6MTU6MzYpOgpNb2luIQoKSWNoIHd1ZXJkZSBnZXJuZSBoZXJyYXVzZmluZGVuLCB3aWV2aWVsIE5ldHpsYXN0IGRhcyBNb3JnZW5HcmF1ZW4gc28gaW5zZ2VzYW10CnZlcmJyaWNodC4gQWxzbyBkYXMgTUcgc2VsYmVyIHVuZCBkZXIgV2ViU2VydmVyLiBIYXQgamVtYW5kIG5lIHNjaGxhdWUgSWRlZSwKd2llIG1hbiBkYXMgbWVzc2VuIGtvZW5udGU/ClpCIGRhcyB3YXMgdWViZXIgZGllIE5ldHprYXJ0ZSBnZWh0PyBBbnNvbnN0ZW4gZGVuIFdlYnNlcnZlciB1bmQgZGFzIE1HIHNlbGJlcgpiZW9iYWNodGVuPwoKQml0dGUgdW0gVGlwcy9IaW50cywKICBZb3VycyB0cnVseSwKICAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLUxvYWQgKEthcmFtLCAyNi4gSmFuIDE5OTksIDE1OjEzOjExKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MTczNTY1MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE3MzU2NTM2CkVpbmZhY2hlIFZhcmlhbnRlOgoKUGVyIGlmY29uZmlnIGRlbiBCeXRlLVphZWhsZXIgZGVzIE5ldHp3ZXJraW50ZXJmYWNlcyBhdXNsZXNlbi4KCkV0d2FzIGF1ZndlbmRpZ2VyLCBhYmVyIGF1Y2ggYmVzc2VyIGVpbnN0ZWxsYmFyOgoKQWNjb3VudGluZ3JlZ2VsbiBoaW56dWZ1ZWdlbiB1bmQgZGVyZW4gQnl0ZXphZWhsZXIgYW5zY2hhdWVuLiBFdnQuIGVpbgpTY3JpcHQgc2NocmVpYmVuLCBkYXMgZGllc2UgcmVnZWxtYWVzc2lnIGF1c2xpZXN0IHVuZCBpbiBlaW5lIExvZ2RhdGVpCnNjaHJlaWJ0LCB3ZW5uIG1hbiBncm9lc3NlcmUgTWVzc3JlaWhlbiBzYW1tZWxuIG1vZWNodGUuCgotLQpLYXJhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNRy1Mb2FkIChNYXJjdXMsIDI2LiBKYW4gMTk5OSwgMTU6Mjk6NDUpOgp+IyEgcm49S2FyYW0gcnQ9OTE3MzYzNTkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNzM1NjUzNgpNaXQgMi4wIEtlcm5lbDogCgppcGZ3YWRtIC1BIG91dCAtYSAtUCB0Y3AgLVMgbWcubXVkLmRlIDIzIC1EIDAvMAppcGZ3YWRtIC1BIGluICAtYSAtUCB0Y3AgLUQgbWcubXVkLmRlIDIzIC1TIDAvMAoKRGFubiBrcmllZ3N0IGR1IHNvIFplaWxlbiB3aWU6CkxPQ0FMSVBIRVgvRkZGRkZGRi0+MDAwMDAwMDAwLzAwMDAwMCAgLi4uLi4gcGFja2V0cyBieXRlcyAuLi4gCjAwMDAwMDAvMDAwMDAtPkxPQ0FMSVBIRVgvRkZGRkZGRiAuLi4uIHBhY2tldHMgYnl0ZXMgLi4uLgoKQ2lhbywgTWFyY3VzCmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLUxvYWQgKFJpbmdvciwgMjYuIEphbiAxOTk5LCAxNTozMDo0Nik6Cn4jISBybj1NYXJjdXMgcnQ9OTE3MzY0NTg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNzM1NjUzNgpEYXMgZ2VodCBuYXR1ZXJsaWNoIGFsbGVzIGVyc3QsIHdlbm4gRHUgZGllIElQLUFjY291bnRpbmctT3B0aW9uIGJlaW0gS2VybmVsCm1pdCBlaW5jb21waWxpZXJ0IGhhc3QuCgpXYW5uIGlzdCBkZXIgUmVib290IGFuZ2VzZXR6dD8gOi0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1HLUxvYWQgKE1hcmN1cywgMjYuIEphbiAxOTk5LCAxNzowOTowNCk6Cn4jISBybj1SaW5nb3IgcnQ9OTE3MzY0NjQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNzM1NjUzNgpFcyBsYWV1ZnQgYmVyZWl0cywgZGFuayBhbiBDYXQqLiBVbmQgZmlyZXdhbGxpbmcvYWNjb3VudGluZyB3YXIgYmVyZWl0cyAKZWluY29tcGlsaWVydCA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNRy1Mb2FkIChKaW1kaWdyaXosIDI4LiBKYW4gMTk5OSwgMTQ6MDM6NTcpOgp+IyEgcm49TWFyY3VzIHJ0PTkxNzM3MDU0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTczNTY1MzYKSG9pICwKCmVzIGdpYnQgc28gZWluIG5ldHRlcyB0b29sIG5hbWVucyBtcnRnOgoKVGhlIE11bHRpIFJvdXRlciBUcmFmZmljIEdyYXBoZXIgKE1SVEcpIGlzIGEgdG9vbCB0byBtb25pdG9yIHRoZSB0cmFmZmljCmxvYWQgb24gbmV0d29yay1saW5rcy4gTVJURyBnZW5lcmF0ZXMgSFRNTCBwYWdlcyBjb250YWluaW5nIEdJRiBpbWFnZXMgd2hpY2gKcHJvdmlkZSBhIExJVkUgdmlzdWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdHJhZmZpYy4gQ2hlY2sKCgpodHRwOi8vd3d3LmVlLmV0aHouY2gvc3RhdHMvbXJ0Zy8KCmZvciBhbiBleGFtcGxlLiBNUlRHIGlzIGJhc2VkIG9uIFBlcmwgYW5kIEMgYW5kIHdvcmtzIHVuZGVyIFVOSVggYW5kIFdpbmRvd3MKTlQuCgpTY2hhdXRzIEV1Y2ggbWFsIGFuLCBtYWNodCBlY2h0IG5ldHRlIFN0YXRpc3Rpa2VuLiA6KQoKQ2lhbywKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSVNETi1LYXJ0ZSBmdWVyIFBDL01hYz8gKE1lc2lyaWksIDI5LiBKYW4gMTk5OSwgMDM6NTE6NTQpOgp+IyEgcm49R25vbWUgcnQ9OTE2NzczMjg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNjY3MTM1MgpIYWxsbyBJaHJzLApkYSB3aXIgZ3JhZGUgYmVpbSBUaGVtYSBzaW5kLAp3aWUgaXN0IGVzIGJlaSBkZXIgRnJpdHogQ2FyZCBtaXQgS2FuYWxidWVuZGVsdW5nPwpVbmQgd2FzIGZ1ZXIgZWluZW4gSVNETi1UZXJtaW5hbGFkYXB0ZXIgd3VlcmRldCBpaHIgZW1wZmVobGVuICh3ZWdlbiBOdXR6dW5nCm1pdCBQQyB1bmQgTm90ZWJvb2spLgpEYW5rZQpNZXNpcmlpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbHBoYS1ib2FyZCAoTWVzaXJpaSwgMjkuIEphbiAxOTk5LCAxMTo0NjoyNCk6CkhhbGxvIElocnMsCmRhIGljaCBtZWluZW4gQ29tcGkgUDEwMCAxMjhNQiBSQU0gZWluZ2ViYXV0ZSBBVEkxTUIgbmljaHQgbWVociBzaW5udm9sbAphdWZydWVzdGVuIGthbm4sIGhhdHRlIGljaCBtaXIgdWViZXJsZWd0LCB3aWUgZXMgbWl0IGVpbmVtIEFscGhhIHdhZXJlLgpIYXQgamVtYW5kIHZvbiBFdWNoIGRhIEVyZmFocnVuZ2VuIGJ6dy4gZWluZSBndWVuc3RpZ2UgUXVlbGxlPwpJY2ggd2FlcmUgZnVlciBJbmZvcyBzZWhyIGRhbmtiYXIgKGFjaHNvIGFscyBCUyB3dWVyZGUgaWNoIGRhbm4gTGludXggdW5kIE5UCm5laG1lbikKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSVNETi1LYXJ0ZSBmdWVyIFBDL01hYz8gKFRyYW5jZWZlYXIsIDI5LiBKYW4gMTk5OSwgMTI6NDc6NTgpOgp+IyEgcm49TWVzaXJpaSBydD05MTc1ODE5MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE2NjcxMzUyCkVMU0EgVGFuR28gaXNuIGlzZG4tbW9kZW0gKHRlcm1pbmFsYWRhcHRlcikgZGFzIGlzdCByZWNodCBndXQgbmFjaCBtZWluZXIKZXJmYWhydW5nLi4uCgp0Zi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJpdmEgVE5UIHVuZCBTQ1NJIChTb3lvLCAgMS4gRmViIDE5OTksIDA4OjUzOjEwKToKSGkgYWxsZXN6dXNhbW1lbiwKCmljaCBoYWIgdm9yIGt1cnplbSBtZWluIFBDIG1hbCB3aWVkZXIgYXVmIGRlbiBuZXVzdGVuIFN0YW5kIGdlYnJhY2h0LgpKZWRvY2ggaGF0IHNpY2ggZWluIFByb2JsZW0gZWluZ2VzY2hsaWNoZW4KdW5kIHp3YXIgYmVsZWd0IGRlciBSaXZhLUNoaXAgZGVyIERpYW1vbmQgVmlwZXIgNTUwIGRlbiBnbGVpY2hlbiBJUlEsCndpZSBkZXIgU0NTSS1Db250cm9sbGVyIChBSEEtNzg4MCBvbmJvYXJkIGF1ZiBHaWdhYnl0ZSA2QlhTKQpIYWIgdmVyc3VjaHQgc2kgdW50ZXIgQmlvcyB1bmQgdW50ZXIgV2luIDk4IHp1IHRyZW5uZW4sIGdlaHQgYWJlciBuaWNoIDooCkhhdCBlaW5lciB2aWxsZWljaHQgYWVobmxpY2hlIEVyZmFocnVuZyBnZW1hY2h0IHVuZCBrb25udGUgZGllc2VzIFByb2JsZW0KYmVoZWJlbiwgb2huZSAxMHggenUgZm9ybWF0aWVyZW0gPyAgCgpHcnVzcyBTb3lvCgpIYWIgaWNoIGVyd2FlaG50IGRhcyBXaW45OCBTQ0hFSVNTRSBpc3QgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJpdmEgVE5UIHVuZCBTQ1NJIChUcmFuY2VmZWFyLCAgMS4gRmViIDE5OTksIDExOjM3OjIwKToKfiMhIHJuPVNveW8gcnQ9OTE3ODU5MTkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxNzg1OTE5MApTaGFyZWQgSVJRIGdhYnMgc2Nob24gdW50ZXIgOTUuIEluIGRlaW5lciBTeXN0ZW1zdGV1ZXJ1bmcgd2lyc3QgZHUgbmVuIEVpbnRyYWcKIlNoYXJlZCBJUlEgaG9sZGVyIiAob2RlciBzbyBhZWhubGljaCkgZmluZGVuLi4uCgp0ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVyc3RlbGxlciB2b24gbmV0endlcmtrYXJ0ZW4gZ2VzdWNodCAoTW9yZ290aCwgIDQuIEZlYiAxOTk5LCAxMzoxMDowNik6CkhpIExldXRlLAp3ZXIgd2Vpc3MsIHdlbGNoZW4gSGVyc3RlbGxlciBkaWUgZm9sZ2VuZGVuIE1BQy1OdW1tZXJuIGhhYmVuCjAzOjAwOjAwOnh4Onh4Onh4CjAxOjAwOjVlOnh4Onh4Onh4CjA4OjAwOjAwOnh4Onh4Onh4CjA5OjAwOjJiOnh4Onh4Onh4CjAxOjAwOjBjOnh4Onh4Onh4CjAwOjEwOjRiOnh4Onh4Onh4CgpEZXIgTGluazogaHR0cDovL3d3dy5kYnMudWNkYXZpcy5lZHUvY2dpLWJpbi9tYWNfZmluZCBrZW5udCBkaWUgbGVpZGVyIG5pY2h0LgoKRGFua2UgCgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVyc3RlbGxlciB2b24gbmV0endlcmtrYXJ0ZW4gZ2VzdWNodCAoQmhhbWlyLCAgNS4gRmViIDE5OTksIDE0OjUyOjU5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTE4MTMzODA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxODEzMzgwNgpBbHNvIG51ciBlaW5lIFNjaGVpbnQgenUgbmVyIE5ldHp3ZXJra2FydGUgenUgZ2Vob2VyZW46CgowMC0xMC00YiAzQ09NICAzQzkwNS1UWCBQQ0kKCkRlciBSZXN0IG11ZXNzdGVuIGFsbGVzIE11bHRpY2FzdCBBZHJlc3NlbiBzZWluCgpFdGhlcm5ldCAgICAgICAgICAgICAgICBUeXBlICAgIApBZGRyZXNzICAgICAgICAgICAgICAgICBGaWVsZCAgIFVzYWdlCgpNdWx0aWNhc3QgQWRyZXNzZXM6CjAxLTAwLTBDLURELURELUREICAgICAgID8/Pz8gICAgQ0dNUCAoQ2lzY28gR3JvdXAgTWFuYWdlbWVudCBQcm90b2NvbCkKMDEtMDAtNUUtMDAtMDAtMDAgICAgICAgMDgwMCAgICBEb0QgSW50ZXJuZXQgTXVsdGljYXN0IChSRkMtMTExMikKdGhyb3VnaAowMS0wMC01RS03Ri1GRi1GRgowMS0wMC01RS04MC0wMC0wMCAgICAgICA/Pz8/ICAgIERvRCBJbnRlcm5ldCByZXNlcnZlZCBieSBJQU5BCihEb0QgRGVwYXJ0bWVudCBvZiBEZWZlbnNlID8/PyApCihJQU5BIEludGVybmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5KQogICAgICAgIFsgVGhlIGZvbGxvd2luZyBibG9jayBvZiBhZGRyZXNzZXMgYXJlIHVzZWQgb24gVG9rZW4gUmluZyBmb3IgICBdCiAgICAgICAgWyBncm91cCBhZGRyZXNzZXMgb2YgVG9rZW4gUmluZyBzcGVjaWZpYyBmdW5jdGlvbnMsIHJlZmVyZW5jZSAgIF0KICAgICAgICBbIElTTyA4ODAyLTU6MTk5NSBha2EuIElFRUUgODAyLjU6MTk5NSBmb3Igc29tZSBpbmZvLiAgVGhlc2UgICAgXQogICAgICAgIFsgaW4gdGhlIEV0aGVybmV0IG9yZGVyIGZvciB0aGlzIGxpc3QuICBPbiBUb2tlbiBSaW5nIHRoZXkgICAgICBdCiAgICAgICAgWyBhcHBlYXIgcmV2ZXJzZWQuICBUaGV5IHNob3VsZCBuZXZlciBhcHBlYXIgb24gRXRoZXJuZXQuICAgICAgIF0KMDMtMDAtMDAtMDAtMDAtMDEgICAgICAgLTgwMi0gICBORVRCSU9TCjAzLTAwLTAwLTAwLTAwLTAyICAgICAgIC04MDItICAgTG9jYXRlIC0gRGlyZWN0b3J5IFNlcnZlcgowMy0wMC0wMC0wMC0wMC0wNCAgICAgICAtODAyLSAgIFN5bmNocm9ub3VzIEJhbmR3aWR0aCBNYW5hZ2VyCjAzLTAwLTAwLTAwLTAwLTA4ICAgICAgIC04MDItICAgQ29uZmlndXJhdGlvbiBSZXBvcnQgU2VydmVyCjAzLTAwLTAwLTAwLTAwLTEwICAgICAgIC04MDItICAgUmluZyBFcnJvciBNb25pdG9yCjAzLTAwLTAwLTAwLTAwLTIwICAgICAgIC04MDItICAgTmV0d29yayBTZXJ2ZXIgSGVhcnRiZWF0CjAzLTAwLTAwLTAwLTAwLTQwICAgICAgIC04MDItICAgUmluZyBQYXJhbWV0ZXIgTW9uaXRvcgowMy0wMC0wMC0wMC0wMC04MCAgICAgICAtODAyLSAgIEFjdGl2ZSBNb25pdG9yCjAzLTAwLTAwLTAwLTA0LTAwICAgICAgIC04MDItICAgTEFOIE1hbmFnZXIKMDMtMDAtMDAtMDAtMDgtMDAgICAgICAgLTgwMi0gICBSaW5nIFdpcmluZyBDb25jZW50cmF0b3IKMDMtMDAtMDAtMDAtMTAtMDAgICAgICAgLTgwMi0gICBMQU4gR2F0ZXdheQowMy0wMC0wMC0wMC0yMC0wMCAgICAgICAtODAyLSAgIFJpbmcgQXV0aG9yaXphdGlvbiBTZXJ2ZXIKMDMtMDAtMDAtMDAtNDAtMDAgICAgICAgLTgwMi0gICBJTVBMIFNlcnZlcgowMy0wMC0wMC0wMC04MC0wMCAgICAgICAtODAyLSAgIEJyaWRnZQowMy0wMC0wMC0wMS0wMC0wMCAgICAgICAtODAyLQogICB0aHJvdWdoICAgICAgICAgICAgICAgICAgICAgIHVzZXItZGVmaW5lZAowMy0wMC00MC0wMC0wMC0wMCAgICAgICAtODAyLQoKMDktMDAtMkItMDAtMDAtMDAgICAgICAgNjAwOT8gICBERUMgTVVNUFM/Cm11bXBzCjA5LTAwLTJCLTAwLTAwLTAxICAgICAgIDgwMzkgICAgREVDIERTTS9ERFAKMDktMDAtMkItMDAtMDAtMDIgICAgICAgODAzQj8gICBERUMgVkFYRUxOPwowOS0wMC0yQi0wMC0wMC0wMyAgICAgICA4MDM4ICAgIERFQyBMYW5icmlkZ2UgVHJhZmZpYyBNb25pdG9yIChMVE0pCjA5LTAwLTJCLTAwLTAwLTA0ICAgICAgID8/Pz8gICAgREVDIE1BUCAob3IgT1NJPykgRW5kIFN5c3RlbSBIZWxsbz8KMDktMDAtMkItMDAtMDAtMDUgICAgICAgPz8/PyAgICBERUMgTUFQIChvciBPU0k/KSBJbnRlcm1lZGlhdGUgU3lzdGVtIEhlbGxvPwowOS0wMC0yQi0wMC0wMC0wNiAgICAgICA4MDNEPyAgIERFQyBDU01BL0NEIEVuY3J5cHRpb24/CjA5LTAwLTJCLTAwLTAwLTA3ICAgICAgIDgwNDA/ICAgREVDIE5ldEJpb3MgRW11bGF0b3I/CjA5LTAwLTJCLTAwLTAwLTBGICAgICAgIDYwMDQgICAgREVDIExvY2FsIEFyZWEgVHJhbnNwb3J0IChMQVQpCjA5LTAwLTJCLTAwLTAwLTF4ICAgICAgID8/Pz8gICAgREVDIEV4cGVyaW1lbnRhbAowOS0wMC0yQi0wMS0wMC0wMCAgICAgICA4MDM4ICAgIERFQyBMYW5CcmlkZ2UgQ29weSBwYWNrZXRzIChBbGwgYnJpZGdlcykKMDktMDAtMkItMDEtMDAtMDEgICAgICAgODAzOCAgICBERUMgTGFuQnJpZGdlIEhlbGxvIHBhY2tldHMgKEFsbCBsb2NhbApicmlkZ2VzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgcGFja2V0IHBlciBzZWNvbmQsIHNlbnQgYnkgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduYXRlZCBMYW5CcmlkZ2UKMDktMDAtMkItMDItMDAtMDAgICAgICAgPz8/PyAgICBERUMgRE5BIExldmVsIDIgUm91dGluZyBMYXllciByb3V0ZXJzPwowOS0wMC0yQi0wMi0wMS0wMCAgICAgICA4MDNDPyAgIERFQyBETkEgTmFtaW5nIFNlcnZpY2UgQWR2ZXJ0aXNlbWVudD8KMDktMDAtMkItMDItMDEtMDEgICAgICAgODAzQz8gICBERUMgRE5BIE5hbWluZyBTZXJ2aWNlIFNvbGljaXRhdGlvbj8KMDktMDAtMkItMDItMDEtMDkgICAgICAgODA0OCAgICBERUMgQXZhaWxhYmlsaXR5IE1hbmFnZXIgZm9yIERpc3RyaWJ1dGVkClN5c3RlbXMgREVDYW1kcwowOS0wMC0yQi0wMi0wMS0wMiAgICAgICA4MDNFPyAgIERFQyBEaXN0cmlidXRlZCBUaW1lIFNlcnZpY2UKMDktMDAtMkItMDMteHgteHggICAgICAgPz8/PyAgICBERUMgZGVmYXVsdCBmaWx0ZXJpbmcgYnkgYnJpZGdlcz8KMDktMDAtMkItMDQtMDAtMDAgICAgICAgODA0MT8gICBERUMgTG9jYWwgQXJlYSBTeXN0ZW0gVHJhbnNwb3J0IChMQVNUKT8KMDktMDAtMkItMjMtMDAtMDAgICAgICAgODAzQT8gICBERUMgQXJnb25hdXQgQ29uc29sZT8KCkRpZSAwOC0wMC0wMCBoYWIgaWNoIG5pY2h0IGdlZnVuZGVuLCBzY2hhdSBtYWwgb2IgZHUgZGljaCBkYSBuaWNodCB2ZXJ0YW4KaGFzdCwKZGVubiBkaWUgMDgtMDAtWFggc2luZCBrZWluZSBNdWx0aWNhc3QgQWRyZXNzZW4gdW5kIGdlaG9lcmVuIHdhaHJzY2hlaW5saWNoIHp1Ck5ldHp3ZXJra2FydGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcHBwIG1pdCBsaW51eCAoWGVub24sIDEwLiBGZWIgMTk5OSwgMTQ6MTM6MzMpOgpISSAKSWNoIHZlcnN1Y2hlIGdyYWRlIHZvbiBtZWluZW0gTGludXggKFN1U0UgNi4wKSB6dSBIYXVzZSBlaW5lIFBQUC1WZXJiaW5kdW5nCihNb2RlbSkgenVyIFVuaSBoaW56dWJla29tbWVuLgpMZWlkZXIga2xhcHB0IGRhcyBub2NoIG5pY2h0IGdhbnosIHZpZWxsZWljaHQga2FubiBtaXIgamEgamVtYW5kIGhpZXIgaGVsZmVuPwpJY2ggc2V0enQgamV0enQgaGllciBtYWwgZGVuIEF1c3NjaG5pdHQgYXVzIC92YXIvbG9nL21lc3NhZ2VzIHJlaW4uCiAKQWIgZGEgZ2VodHMgbG9zIC4uLi4KLi4uLgpGZWIgMTAgMjE6MTY6NTMgZmVtbWUgcHBwZFszNTNdOiBTZXJpYWwgY29ubmVjdGlvbiBlc3RhYmxpc2hlZC4KRmViIDEwIDIxOjE2OjU0IGZlbW1lIHBwcGRbMzUzXTogVXNpbmcgaW50ZXJmYWNlIHBwcDAKRmViIDEwIDIxOjE2OjU0IGZlbW1lIHBwcGRbMzUzXTogQ29ubmVjdDogcHBwMCA8LS0+IC9kZXYvbW9kZW0KRmViIDEwIDIxOjE2OjU0IGZlbW1lIHBwcGRbMzUzXTogc2VudCBbTENQIENvbmZSZXEgaWQ9MHgxIDxhc3luY21hcCAweDIwYTAwMDA+CjxtYWdpYyAweDdkYWEzM2YyPiA8cGNvbXA+IDxhY2NvbXA+XQpGZWIgMTAgMjE6MTY6NTQgZmVtbWUgcHBwZFszNTNdOiByY3ZkIFtMQ1AgQ29uZlJlcSBpZD0weDEgPGFzeW5jbWFwIDB4MD4gPGF1dGgKcGFwPiA8bWFnaWMgMHhiMWQ2YjM3ZT4gPHBjb21wPiA8YWNjb21wPl0KRmViIDEwIDIxOjE2OjU0IGZlbW1lIHBwcGRbMzUzXTogc2VudCBbTENQIENvbmZBY2sgaWQ9MHgxIDxhc3luY21hcCAweDA+IDxhdXRoCnBhcD4gPG1hZ2ljIDB4YjFkNmIzN2U+IDxwY29tcD4gPGFjY29tcD5dCkZlYiAxMCAyMToxNjo1NyBmZW1tZSBwcHBkWzM1M106IHNlbnQgW0xDUCBDb25mUmVxIGlkPTB4MSA8YXN5bmNtYXAgMHgyMGEwMDAwPgo8bWFnaWMgMHg3ZGFhMzNmMj4gPHBjb21wPiA8YWNjb21wPl0KRmViIDEwIDIxOjE2OjU3IGZlbW1lIHBwcGRbMzUzXTogcmN2ZCBbTENQIENvbmZBY2sgaWQ9MHgxIDxhc3luY21hcCAweDIwYTAwMDA+CjxtYWdpYyAweDdkYWEzM2YyPiA8cGNvbXA+IDxhY2NvbXA+XQpGZWIgMTAgMjE6MTY6NTcgZmVtbWUgcHBwZFszNTNdOiBzZW50IFtQQVAgQXV0aFJlcSBpZD0weDEgdXNlcj0iZ2VhZW5kZXJ0IDotKSIKcGFzc3dvcmQ9Im5vY2htYWwgOy0pIl0KRmViIDEwIDIxOjE2OjU3IGZlbW1lIHBwcGRbMzUzXTogcmN2ZCBbUEFQIEF1dGhBY2sgaWQ9MHgxICIiXQpGZWIgMTAgMjE6MTY6NTcgZmVtbWUgcHBwZFszNTNdOiBSZW1vdGUgbWVzc2FnZTogCkZlYiAxMCAyMToxNjo1NyBmZW1tZSBwcHBkWzM1M106IHNlbnQgW0lQQ1AgQ29uZlJlcSBpZD0weDEgPGFkZHIgMC4wLjAuMD5dCkZlYiAxMCAyMToxNjo1NyBmZW1tZSBwcHBkWzM1M106IHJjdmQgW0lQQ1AgQ29uZlJlcSBpZD0weDIgPGNvbXByZXNzIFZKIDBmIDAxPgo8YWRkciAxMzAuMTQ5LjguMzc+XQpGZWIgMTAgMjE6MTY6NTcgZmVtbWUgcHBwZFszNTNdOiBzZW50IFtJUENQIENvbmZSZWogaWQ9MHgyIDxjb21wcmVzcyBWSiAwZgowMT5dCkZlYiAxMCAyMToxNjo1NyBmZW1tZSBwcHBkWzM1M106IHJjdmQgW0lQQ1AgQ29uZk5hayBpZD0weDEgPGFkZHIKMTMwLjE0OS4xNjQuNzM+XQpGZWIgMTAgMjE6MTY6NTcgZmVtbWUgcHBwZFszNTNdOiBzZW50IFtJUENQIENvbmZSZXEgaWQ9MHgyIDxhZGRyCjEzMC4xNDkuMTY0LjczPl0KRmViIDEwIDIxOjE2OjU4IGZlbW1lIHBwcGRbMzUzXTogcmN2ZCBbSVBDUCBDb25mUmVxIGlkPTB4MyA8YWRkcgoxMzAuMTQ5LjguMzc+XQpGZWIgMTAgMjE6MTY6NTggZmVtbWUgcHBwZFszNTNdOiBzZW50IFtJUENQIENvbmZBY2sgaWQ9MHgzIDxhZGRyCjEzMC4xNDkuOC4zNz5dCkZlYiAxMCAyMToxNjo1OCBmZW1tZSBwcHBkWzM1M106IHJjdmQgW0lQQ1AgQ29uZkFjayBpZD0weDIgPGFkZHIKMTMwLjE0OS4xNjQuNzM+XQpGZWIgMTAgMjE6MTY6NTggZmVtbWUgcHBwZFszNTNdOiBub3QgcmVwbGFjaW5nIGV4aXN0aW5nIGRlZmF1bHQgcm91dGUgdG8KZHVtbXkwIFswLjAuMC4wXQpGZWIgMTAgMjE6MTY6NTggZmVtbWUgcHBwZFszNTNdOiBsb2NhbCAgSVAgYWRkcmVzcyAxMzAuMTQ5LjE2NC43MwpGZWIgMTAgMjE6MTY6NTggZmVtbWUgcHBwZFszNTNdOiByZW1vdGUgSVAgYWRkcmVzcyAxMzAuMTQ5LjguMzcKClVuZCBkYW5uIGJsZWlidCB0dXQgc2ljaCBuaXggbWVoci4gRC5oLiBhdWYgZGVyIEtvbnNvbGUgcGFzc2llcnQgbml4IHVuZCBpY2gKbXVzc3RlIGRhbm4gZGVuIFByb3plc3MgYWJzY2hpZXNzZW4uCgpUc2NodWVzcyBYZW5vbiBhdWYgc2VpbiBURiBob2ZmZW5kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwcHAgbWl0IGxpbnV4IChSaWt1cywgMTAuIEZlYiAxOTk5LCAxNTowMTo1Nik6Cn4jISBybj1YZW5vbiBydD05MTg2NTYwMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE4NjU2MDEzCmlyZ2VuZHdpZSBoYXR0ZSBpY2ggZGFzIGF1Y2ggbWFsIHZvciBqYWhyZW4uLi4gc3RhcnRlIG1hbCBpZmNvbmZpZwp1bmQgcm91dGUgbWl0IGRlbiBlcmhhbHRlbmVuIGlwcyBuZXUuIHNvIGdpbmcgZXMgYmVpIG1pciBkYW1hbHMuCgpyaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBwcCBtaXQgbGludXggKE1vcmdvdGgsIDEwLiBGZWIgMTk5OSwgMTU6NTg6NDQpOgp+IyEgcm49WGVub24gcnQ9OTE4NjU2MDEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxODY1NjAxMwpyb3V0ZSBhZGQgZGVmYXVsdCBndyAxMzAuMTQ5LjguMzcgc29sbHRlIGRlaW5lbSBwcm9ibGVtIGFiaGlsZmUgc2NoYWZmZW4uIGVzCmdpYnQgZGEgYXVjaCBuZW4gcGFyYW1ldGVyLCBkZW4gZHUgYmVpbSBwcHBkIGFuZ2ViZW4ga2FubnN0ICoqZ3J1ZWJlbCoqIGxpZXMKbWFsIG1hbnBhZ2VzCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwcHAgbWl0IGxpbnV4IChIYXRlLCAxMC4gRmViIDE5OTksIDE2OjAxOjUyKToKfiMhIHJuPU1vcmdvdGggcnQ9OTE4NjYyMzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxODY1NjAxMwpkZWZhdWx0cm91dGUKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwcHAgbWl0IGxpbnV4IChZYXJlbiwgMTEuIEZlYiAxOTk5LCAyMjoyNzo0MCk6Cn4jISBybj1YZW5vbiBydD05MTg2NTYwMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE4NjU2MDEzCmR1IG11c3N0IGRpZSBkZWZhdWx0cm91dGUgc2V0emVuIC0gaWNoIHdlaXNzLCBpY2ggd2FyIG5pY2h0IGRlciBlcnN0ZSA7LSkgZGVyCmdydW5kLCB3YXJ1bSBkZXIgc3RlaGVuIGJsZWlidCBrYW5uIGRhcmFuIGxpZWdlbiwgZGFzcyBkdSBpbiBkZWluZXIKL2V0Yy9wcHAvaXAtdXAgKGJ6dy4gL2V0Yy9wcHAvaXAtdXAuZC88YmVmZWhsPikgZGllIHplaXQgcGVyIG50cCBob2xzdCAtIGRhIGVyCmtlaW5lIGRlZmF1bHQtcm91dGUgaGF0LCB3YXJ0ZXQgZGVyIHByb3plc3MgYXVmIGRhcyB0aW1lb3V0LCB1bmQgZGFzIGRhdWVydApiZWkgbnRwIGNhLiAyIG1pbnV0ZW4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyZWliZXIgZ2VzdWNodCAoTW9yZ290aCwgMTkuIEZlYiAxOTk5LCAwNzo1NDo0Nyk6Ck1vaW4sCgppY2ggc3VjaGUgV2luOTUtVHJlaWJlciBmdWVyOgpKVkMgWFItVzIwMTAgKENELUJyZW5uZXIsIFNDU0kpCjNDT00gM0M5MDAtQ29tYm8gTmV0endlcmtrYXJ0ZQoKTGVpZGVyIGlzdCBhdWYgZGVuIFdlYnNlaXRlbiBrZWluIGFrdHVlbGxlciBUcmVpYmVyIHp1IGVyaGFsdGVuLiBXZXIgbmUgU2VpdGUKaGF0IG9kZXIgZGVuIFRyZWliZXIsIGJpdHRlIG1lbGRlbiA7LSkpCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRyZWliZXIgZ2VzdWNodCAoUmlrdXMsIDE5LiBGZWIgMTk5OSwgMTE6Mzg6NTcpOgp+IyEgcm49TW9yZ290aCBydD05MTk0MTA4ODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE5NDEwODg3Cmh0dHA6Ly9pbmZvZGVsaS4zY29tLmNvbS9pbmZvZGVsaS9zd2xpYi8gZmFlbGx0IG1pciBkYSBhbHMgUXVlbGxlIGVpbiwKYWJlciBrZWluZSBBaG51bmcsIG9iIGRvcnQgd2FzIGFrdHVlbGxlcyBmdWVyIERpY2ggaXN0Li4uCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhZmlra2FydGUgZ2VzdWNodCAuLiAoS2FyaXMsIDIzLiBGZWIgMTk5OSwgMDk6NTA6MDgpOgpJY2ggc3VjaGUgbmUgR3JhZmlra2FydGUsIGRpZSBtYWwgZWJlbiBUcmVpYmVyIGZ1ZXIgT1MvMiB1bmQgTEludXggYmlldGV0LgooV2luZG9vZiBrYW5uIGphIGVoIGplZGUgLi4uKQpIQXQgZGEgamVtYW5kIG5lbiBndXRlbiBUaXA/IERpZSBLYXJ0ZSBzb2xsdGUgKG5vY2gpIGVyaGFlbHRsaWNoIHNlaW4sCjRNQiBoYWJlbiB1bmQgLi4uIGphLCAzRCBicmF1Y2h0cyBuaWNoIHVuYmVkaW5ndC4gKERhcyBNRyBpcyBqYSBub2NoCnp3ZWlkaW1lbnNpb25hbDspClRpcHMgdW5kIEhpbnRzIGJpdHRlIGFuIG1pY2ggOikpCgpEYW5rZSwKS0FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFscyBpY2ggdmVyc3VjaHRlIFRGIGF1ZiBtZWluZW0gSG9tZSB6dSBpbnN0YWxpZXJlbi4gKFhlbm9uLCAyNC4gRmViIDE5OTksIDE5OjAwOjU5KToKVVJSUkdHR1NTU1MKCkFoIGhhLCBnY2MgaXMgR05VIEMgMi44LjEKUmlnaHQgb24sIHlvdXIgc3lzdGVtIGlzIFBPU0lYLgpGb3VuZCA8c3RkbGliLmg+LgpGb3VuZCA8c3RyaW5nLmg+LgpGb3VuZCA8bWVtb3J5Lmg+LgpGb3VuZCA8c3lzL3NlbGVjdC5oPi4KRm91bmQgPGxvY2FsZS5oPi4KRm91bmQgPG5ldGluZXQvaW4uaD4uCkZvdW5kIDxhcnBhL2luZXQuaD4uCkZvdW5kIDxuZXRkYi5oPi4KRm91bmQgPHB3ZC5oPi4KRm91bmQgPHN0ZGFyZy5oPi4KVGVzdGluZyBmb3IgbGlicmFyeSBzeW1ib2xzLi4uCgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3ltdGVzdC5jOjE2OgovdXNyL2xvY2FsL2xpYi9nY2MtbGliL21pcHMtc2dpLWlyaXg2LjIvMi44LjEvaW5jbHVkZS9tYXRoLmg6NjE0OiBjb25mbGljdGluZwp0eXBlcyBmb3IgYHNyYW5kb20nCi91c3IvaW5jbHVkZS9zdGRsaWIuaDoyMzQ6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIGBzcmFuZG9tJwovdXNyL2xvY2FsL2xpYi9nY2MtbGliL21pcHMtc2dpLWlyaXg2LjIvMi44LjEvaW5jbHVkZS9tYXRoLmg6NjE1OiBjb25mbGljdGluZwp0eXBlcyBmb3IgYGluaXRzdGF0ZScKL3Vzci9pbmNsdWRlL3N0ZGxpYi5oOjIyNjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYGluaXRzdGF0ZScKL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9taXBzLXNnaS1pcml4Ni4yLzIuOC4xL2luY2x1ZGUvbWF0aC5oOjYxNjogY29uZmxpY3RpbmcKdHlwZXMgZm9yIGBzZXRzdGF0ZScKL3Vzci9pbmNsdWRlL3N0ZGxpYi5oOjIzMzogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYHNldHN0YXRlJwoKIyMgVGhlIG1lc3NhZ2VzIGFib3ZlIGluZGljYXRlIG9uZSBvZiB0aGVzZSBjb25maWd1cmF0aW9uIHByb2JsZW1zOgojIyAgIDEuIHRoZXJlIGlzIG5vIGNvbXBpbGVyOwojIyAgIDIuIHRoZSBjb21waWxlciBpcyBub3QgaW5zdGFsbGVkIGNvcnJlY3RseTsKIyMgICAzLiB5b3UgZG8gbm90IGhhdmUgcGVybWlzc2lvbiB0byBleGVjdXRlIHRoZSBjb21waWxlcjsgb3IKIyMgICA0LiBDQ0ZMQUdTPSctTycgaW4gdW5peC9Db25maWcgaXMgaW52YWxpZC4KIyMgSW4gYW55IGNhc2UsIHRoaXMgaXMgYSBsb2NhbCBwcm9ibGVtIHRoYXQgY2FuIG9ubHkgYmUKIyMgc29sdmVkIGJ5IHlvdSBvciBhIHN5c3RlbSBhZG1pbmlzdHJhdG9yLCBzbyBkb24ndCBhc2sgbWUuCgoqKiogRXJyb3IgY29kZSAxIChidTIxKQoKCldhcyBmYWxzY2ggZGEgPwoKWGVub24sIHNpZWh0IG51ciBCYWhuaG9mLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFscyBpY2ggdmVyc3VjaHRlIFRGIGF1ZiBtZWluZW0gSG9tZSB6dSBpbnN0YWxpZXJlbi4gKFp3b2NrbGh1YmVyLCAyNC4gRmViIDE5OTksIDIwOjU4OjE1KToKfiMhIHJuPVhlbm9uIHJ0PTkxOTg4Mjg1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTk4ODI4NTkKVmllbGxlaWNodCBoYXN0ZSBudXIgZGVuIGZhbHNjaGVuIENvbXBpbGVyPyBkYSBpcyBuZSBEYXRlaSBjb25maWd1cmUgb2Rlcgpzby4uLiBDb21waWxlciBiZXplaWNobnVuZyBhZW5kZXJuLgpBbnNvbnN0ZW4gYXVmIGRlbiB6ZW50cmFsZW4gU2VydmVyIGRlcyBOZXR6d2Vya2VzIGdlaGVuIHVuZCBkYSBpbnMgaG9tZWFjY291bnQKaW5zdGFsbGllcmVuLCB3ZW5uIGdhcm5peCBnZWh0LiB3aXJrdGUgYmVpIG1pciBXdW5kZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouZGViIC0+IC5ycG0/IChIaWdobGFuZGVyLCAyNS4gRmViIDE5OTksIDIzOjEzOjI5KToKQ29udmVydGVyIGdlc3VjaHQuIE5hbWUgcmVpY2h0IC0gaWNoIHN0ZWggZXR3YXMgbmViZW4gbWlyLgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuZGViIC0+IC5ycG0/IChBbmFraW4sIDI2LiBGZWIgMTk5OSwgMTA6MTI6MjIpOgp+IyEgcm49SGlnaGxhbmRlciBydD05MTk5ODQ0MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTE5OTg0NDA5CgptYW4gYWxpZW4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWxzIGljaCB2ZXJzdWNodGUgVEYgYXVmIG1laW5lbSBIb21lIHp1IGluc3RhbGllcmVuLiAoSmVob3ZhLCAyNi4gRmViIDE5OTksIDEzOjQzOjI2KToKfiMhIHJuPVp3b2NrbGh1YmVyIHJ0PTkxOTg4OTg5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTk4ODI4NTkKYWxzIGljaCBkYXMgdGVpbCBhdWYgbmVyIHNnaSBpbnN0YWxsaWVyZW4gbXVzc3RlLCBoYWxmIGVzLCBhbHMgY29tcGlsZXIgZGVuCidDQycgc3RhdHQgJ2djYycgenUgbmVobWVuLiBhbGxlcmRpbmdzIGJhc2llcmVuIGRpZSBraXN0ZW4gaGllciBhdWNoIGF1ZiBkZW0KdGVpbCB1bmQgZ2NjIHdpcmQgZWlnZW50bGljaCBzbyBndXQgd2llIG5pY2h0IGdlbnV0enQgLi4uIChkYSBtdWVzc3RlIG1hbiB3b2hsCmRpZSBnYW56ZW4gbGlicyBuZXUgdWViZXJzZXR6ZW4gLSBmYXVsZSBhZG1pbnMgOikKCm51ciBhbHMgaGlud2VpcywgdmllbGxlaWNodCBoaWxmdCdzIGphLgoKaioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhQR0wtUHJvZ3JhbW0gKE1vcmdvdGgsIDI2LiBGZWIgMTk5OSwgMTM6NTk6NTYpOgpIdWh1LAoKaGF0IGplbWFuZCBlaW4gUHJvZ3JhbW0gZnVlciBXaW5YWCwgbWl0IGRlbSBtYW4gSFBHTC1EYXRlaWVuIGFuemVpZ2VuIGthbm4uCkljaCByZWQgamV0enQgbmljaHQgdm9uIHNvbGNoZW4gU2FjaGVuIHdpZSBQYWludFNob3AgdXN3Liwgc29uZGVybiBzb3dhcyB3aWUKZWluIFBsb3R0ZXJlbXVsYXRvciwgbWl0IGRlbSBtYW4gc2ljaCB6LmIuIGRpZSBlaW56ZWxuZW4gaW5zdHJ1Y3Rpb25zIGFuc2VoZW4Ka2Fubi4gTGVpZGVyIGlzdCBtaXIgbWVpbiBhbHRlcyBpcmdlbmR3byAqKnNldWZ6KiogYWJoYW5kZW4gZ2Vrb21tZW4uCgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWxzIGljaCB2ZXJzdWNodGUgVEYgYXVmIG1laW5lbSBIb21lIHp1IGluc3RhbGllcmVuLiAoQ2F0d2VhemxlLCAyNi4gRmViIDE5OTksIDE0OjM2OjAwKToKfiMhIHJuPVhlbm9uIHJ0PTkxOTg4Mjg1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MTk4ODI4NTkKTW9pbiEKCmdjYyB2ZXJoYWVsdCBzaWNoIG5pY2h0IGdlcmFkZSBrb29wZXJhdGl2IGF1ZiBTR0lzLgpJbiAgL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9taXBzLXNnaS1pcml4Ni4yLzIuOC4xL2luY2x1ZGUvbWF0aC5oCndlcmRlbiBvZmZlbmJhciBzcmFuZG9tLCBpbml0c3RhdGUgdW5kIHNldHN0YXRlIGFuZGVycyBkZWtsYXJpZXJ0LCBhbHMgCmluIC91c3IvaW5jbHVkZS9zdGRsaWIuaC4gRHUgbXVzc3QgZGllIERla2xhcmF0aW9uc3plaWxlbiB2ZXJnbGVpY2hlbgp1bmQgZGllIF9yaWNodGlnZW5fIEVpbnRyYWVnZSB3aWUgc2llIGF1Y2ggaW4gL3Vzci9pbmNsdWRlL21hdGguaCBzdGVoZW4KaW4gZGllIGdjYy1tYXRoLmggdWViZXJuZWhtZW4uCldlbm4gRHUgZGFzIG5pY2h0IGthbm5zdCwgc29sbCBkYXMgRGVpbiBhZG1pbiBtYWNoZW4uCgpZb3VycyB0cnVseSwKICAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSFBHTC1Qcm9ncmFtbSAoVHJhbmNlZmVhciwgMjYuIEZlYiAxOTk5LCAxODoyMjowMCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkyMDAzNzU5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjAwMzc1OTYKaHAyeHgKCnRmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDNjQtMTU0MSBGbG9wcHkgZ2VzdWNodCAoTW9yZ290aCwgIDEuIE1hciAxOTk5LCAyMzozODoxMyk6Ckh1aHUsCgp3ZXIgaGF0IG5vY2ggc29uIERpbmcsIGRhcyBtYW4ga3VyemZyaXN0aWcgKHp1bSBFaW5sZXNlbiBhbHRlciBGbG9wcHlzKSBtYWwgYW4KZWluZW4gUEMgaGFlbmdlbiBrb2VubnRlPz8/CkRhIG51biBlbmRsaWNoIGRlciBFbXVsYXRvciB1bnRlciBMaW51eCBwZXJmZWt0PyBsYWV1ZnQsIGhhZXR0ZSBpY2ggbmF0dWVybGljaApnZXJuZSBtZWluZSBhbHRlbiBTcGllbGUgd2llZGVyLCB6LmIuOgpEcmFnb24gV2FycywgTWlnaHQgJiBNYWdpYyBJLCBBRCZEIEZvcmdvdHRlbiBSZWFsbXMsIFVsdGltYSBJLVYgdXN3Li4uLgoKQWxzbyBsb3MsIGFiIGF1ZiBkZW4gRGFjaGJvZGVuIHVuZCBzdWNoZW4gOy0pKQoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEM2NC0xNTQxIEZsb3BweSBnZXN1Y2h0IChLZWxseWJ1bmR5LCAgMi4gTWFyIDE5OTksIDAwOjE3OjMyKToKfiMhIHJuPU1vcmdvdGggcnQ9OTIwMzMxNDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDMzMTQ5Mwprb21tc3QgMiB0YWdlIHp1IHNwYWV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMSU5VWC1GZXN0cGxhdHRlbnByb2JsZW0gKFByYSwgIDIuIE1hciAxOTk5LCAxMToxMzo1MCk6CkhhbGxvZWNoZW4hCgpWaWVsbGVpY2h0IGthbm4gbWlyIGVpbmVyIHZvbiBldWNoIHdlaXRlcmhlbGZlbjoKCkljaCBoYWJlIG1laW5lIG5ldWUgMkdCLVBsYXR0ZSB2ZXJzdWNodCB1bnRlciBMaW51eCB6dSBmb3JtYXRpZXJlbjoKQmVpIGVpbmVyIFBhcnRpdGlvbiAobG9naXNjaGUgTGludXgpIGdpYnQgbWlyICdta2UyZnMgLWN2IC9kZXYvaGRhNicKbmFjaCBlaW5pZ2VuIFN0dW5kZW4gZm9sZ2VuZGUgRmVobGVybWVsZHVuZzoKCidDb3VsZCBub3QgYWxsb2NhdGUgYmxvY2sgaW4gZXh0MiBmaWxlc3lzdGVtIHdoaWxlIHRyeWluZyB0byBhbGxvY2F0ZQpmaWxlc3lzdGVtIHRhYmxlcycKCklzdCBkaWUgUGxhdHRlIGhpbnVlYmVyPyBPZGVyIG1hY2ggaWNoIHdhcyBnYW56IGZhbHNjaD8gT2RlciBsaWVndCBlcwpkYXJhbiwgZGFzcyBtZWluIFJlY2huZXIgenUgYWx0IGlzdCAob2J3b2hsIGRhcyBBTUlCSU9TIHZvbiBEZXouIDkzIGRpZQpQbGF0dGUgcHJpbWEgZXJrZW5udCk/CgpGdWVyIGplZGUgSGlsZmUgZGFua2JhcgoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEM2NC0xNTQxIEZsb3BweSBnZXN1Y2h0IChQaG9ib3MsICAyLiBNYXIgMTk5OSwgMTI6MTc6MTQpOgp+IyEgcm49TW9yZ290aCBydD05MjAzMzE0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzMxNDkzCnNjaGF1IG1hbCB1bnRlciBhYmFuZG9ud2FyZSBpbSBpbnRlcm5ldCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDNjQtMTU0MSBGbG9wcHkgZ2VzdWNodCAoS29vbWksICAyLiBNYXIgMTk5OSwgMTM6MDU6NDgpOgp+IyEgcm49UGhvYm9zIHJ0PTkyMDM3NzAzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjAzMzE0OTMKV3VyZGVuIGRlbm4gZGllc2UgbmljaHQgdm9uIGRlbiBnZWxkZ2llcmlnZW4gRmlybWVuIHp3YW5nc3dlaXNlIHBlciBEcm9odW5nLAptaXQgZGVuIEJldHJlaWJlcm4gZGVyIFNlaXRlbiBlaW4gR2VyaWNodHN2ZXJmYWhyZW4genUgZXJvZWZmbmVuLCBnZXNjaGxvc3Nlbj8KCkhhbGJlbGYgS29vbWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQzY0LTE1NDEgRmxvcHB5IGdlc3VjaHQgKENhdHdlYXpsZSwgIDIuIE1hciAxOTk5LCAxNTo0NToxNik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkyMDMzMTQ5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjAzMzE0OTMKTW9pbiEKClZlcmdpc3MgRGVpbmUgb2xsZSBGbG9wcHkuIER1IGZpbmRlc3QgbWl0IGVpbiB3ZW5pZyBTdWNoZSBnZXJhZGV6dSBhbGxlcyBpbQpXZWIuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDNjQtMTU0MSBGbG9wcHkgZ2VzdWNodCAoQ3lhbm4sICAyLiBNYXIgMTk5OSwgMjM6NTg6MjYpOgp+IyEgcm49TW9yZ290aCBydD05MjAzMzE0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzMxNDkzCkRhY2hib2RlbiBoYWIgaWNoIG5pY2gsIGFiZXIgaW0gS2VsbGVyIGhhYiBpY2ggbm9jaCBzbyBuZSBGbG9wcHkuCgogIEN5YW5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQzY0LTE1NDEgRmxvcHB5IGdlc3VjaHQgKEFzbW9kaXMsICAyLiBNYXIgMTk5OSwgMjM6NTk6MjUpOgp+IyEgcm49TW9yZ290aCBydD05MjAzMzE0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzMxNDkzCkljaCBoYWIgc293YXMgYXVjaCBuaWNodCBhdWYgZGVtIERhY2hib2RlbiBzb25kZXJuIGluIG5lciBBYnN0ZWxsa2FtbWVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY3JvbnRhYiBmdWVyIG50IChDYWxpbWVyYSwgIDMuIE1hciAxOTk5LCAwNTowNjozMyk6CmljaCBzdWNoZSBuZSBtb2VnbGljaGtlaXQgdW50ZXIgTlQgZWluZW4gUHJvemVzcyB0YWVnbGljaCAyIG1hbCBhdXRvbWF0aXNjaCB6dQpzdGFydGVuLiBwcmluemlwaWVsbCBzb3dhcyB3aWUgY3JvbnRhYiB1bnRlciB1bml4LiBnaWJzIHNvd2FzID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjcm9udGFiIGZ1ZXIgbnQgKE11YWRpYiwgIDMuIE1hciAxOTk5LCAxMDoxMToyOCk6Cn4jISBybj1DYWxpbWVyYSBydD05MjA0Mzc1OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwNDM3NTkzCmhpLAoKZXMgZ2lidCBlaW5lbiBzY2htYWxicnVlc3RpZ2VuIGVyc2F0eiBuYW1lbnMgYXQKZWluZmFjaCBkb3NzaGVsbCBvZWZmbmVuIGF0IC1oIGVpbmdlYmVuLCBkZW4gcmVzdCBzaWVoc3RlIGRhbm4KZXMgZ2lidCBhdWNoIG5lIGdyYXBoaXNjaGUgb2JlcmZsYWVjaGUsIHdpbmF0IGlyZ2VuZHdvLCBibG9zcyB3bwppcyBtaXIgZ3JhZCBlbnRmYWxsZW4KCmJ5CgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY3JvbnRhYiBmdWVyIG50IChHcmltbWJvcm4sICAzLiBNYXIgMTk5OSwgMTE6NDE6MDkpOgp+IyEgcm49TXVhZGliIHJ0PTkyMDQ1NTg4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA0Mzc1OTMKTWlyIGdlaXN0ZXJ0IGluIGRlbSBadXNhbW1lbmhhbmcgZGFzIFdvcnQgInNjcmlwdGluZyBob3N0IiBkdXJjaCBkZW4gS29wZi4KQWJlciB2aWVsbGVpY2h0IGlzdCBkYXMgamEgd2FzIHZvZWxsaWcgYW5kZXJlcz8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExJTlVYLUZlc3RwbGF0dGVucHJvYmxlbSAoR3JpbW1ib3JuLCAgMy4gTWFyIDE5OTksIDExOjQ4OjIwKToKfiMhIHJuPVByYSBydD05MjAzNzMyMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzczMjMwCkh1aCwgZXh0MmZzIGlzdCBzaWNoZXIgbmljaHQgbWVpbiBTcGV6aWFsZ2ViaWV0Li4uCkRhcyAtYyBpc3QgdWViZXJmbHVlc3NpZywgZGEgUGxhdHRlbiBrYXB1dHRlIEJsb2Vja2UgaW50ZXJuIGVya2VubmVuIHVuZAoidmVyc3RlY2tlbiIuIERlaW5lIFBsYXR0ZSBpc3QgYW5zY2hlaW5lbmQgbmljaHQgdm9lbGxpZyBhbSBIaW50ZXJuLCB3ZW5uIGRhcwpQcm9ibGVtIG51ciBiZWkgaGRhNiBhdWZ0cml0dC4gQW0gQklPUyBzb2xsdGUgZXMgbmljaHQgbGllZ2VuLCB3ZWlsIGRpZSBQbGF0dGUKbmljaHQgdm9tIEJJT1Mgc29uZGVybiB2b24gTGludXggYW5nZXN0ZXVlcnQgd2lyZCAoc2luZCBsdXN0aWdlIEVmZmVrdGUsIHdlbm4KZGFzIEJJT1MgZWluZSA1MDBNQi1QbGF0dGUgZXJrZW5udCB1bmQgZGllIE1lbGR1bmcgYmVpbSBib290ZW4gZGFubiBrb3JyZWt0ZQoxLjJHQiBhbnplaWd0KS4gClZpZWxsZWljaHQgYnJpbmd0IHJ1bXNwaWVsZW4gd2FzOiBVbXBhcnRpdGlvbmllcmVuIChncm9lc3NlciBtYWNoZW4sIGtsZWluZXIKbWFjaGVuKSwgZGllIFBhcnRpdGlvbiBhbHMgc3dhcCB2ZXJ3ZW5kZW4sIERPUy1mb3JtYXRpZXJlbi4uLikuIAoKU29ycnksIGRhcyBpc3QgYWxsZXMgd2FzIG1pciBkYXp1IGVpbmZhZWxsdC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogY3JvbnRhYiBmdWVyIG50IChNdWFkaWIsICAzLiBNYXIgMTk5OSwgMTQ6MDk6MDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkyMDQ2MTI2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA0Mzc1OTMKaGksCgpkZXIgc2NyaXB0aW5nIGhvc3QgZXJtb2VnbGljaHQgZXMgZGlyIGJhdGNoIGRhdGVpZW4gaW4gamVkZXIgc3ByYWNoZSB6dQpkZWZpbmllcmVuLCBmdWVyIGRpZSBlaW5lIHNjcmlwdGluZ2VuZ2luZSB2b3JoYW5kZW4gaXN0IChkZWZhdWx0IHZic2NyaXB0IHVuZApqYXZhc2NyaXB0IG9kZXIgd2FycyBqc2NyaXB0ID8pCmVpbiB0aW1pbmcgbWVjaGFuaXNtdXMgaXMgZGEgbWVpbmVzIHdpc3NlbnMgYWJlciBuaWNodCBlbnRoYWx0ZW4KCmdydXNzIAoKbXVhZGliCiphdWNoIG1hbCBzZW5mZW5kKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU291bmRrYXJ0ZSB1bmQgV2luZG9vZiAoSWxsaWFuLCAgMy4gTWFyIDE5OTksIDE0OjEyOjQ4KToKV2llIGVya2xhZXJlIGljaCBlaW5lciBuaWNodC1qdW1wZXJiYXJlbiBTb3VuZGthcnRlLCBkYXNzIHNpZSBuaWNodCBkZW4gSVJRIDMKbnV0emVuIGthbm4sIHdhcyBpaHIgcGVyIFBOUCB6dWdld2llc2VuIHdpcmQuIFdlbm4gaWNoIGVzIGJlaSBzeXN0ZW0gYWVuZGVyZSwKZ2VodCB3ZWRlciBkZXIgQ09NLVBvcnQsIG5vY2ggZGllIFNvdW5ka2FydGUuIFdlbm4gaWNoIGRyZWkgbGFzc2UsIGdlaHQKenVtaW5kZXN0IGRpZSBTb3VuZGthcnRlLgpJbGxpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDNjQtMTU0MSBGbG9wcHkgZ2VzdWNodCAoQW50aGVhLCAgMy4gTWFyIDE5OTksIDE0OjEzOjE2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTIwMzMxNDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDMzMTQ5MwpWZXJzdWNoZSBlcyBkb2NoIG1hbCB1bnRlciBodHRwOi8vYXJub2xkLmM2NC5vcmcvICxkZXIgaGF0IG1laW5lcyBFcmFjaHRlbnMKZWluZSBkZXIgZ3JvZXNzdGVuIFNhbW1sdW5nZW4gZnVlciBDNjQtUHJvZ3JhbW1lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEM2NC0xNTQxIEZsb3BweSBnZXN1Y2h0IChNb3Jnb3RoLCAgMy4gTWFyIDE5OTksIDE0OjIwOjQzKToKfiMhIHJuPUFudGhlYSBydD05MjA0NzAzOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzMxNDkzCkpvbywgZGFua2UuIEhhdCBtaXIgUm9jaHVzIHNjaG9uIGdlc2FndC4gCk1pdCBVbmktTGVpdHVuZyB1bmQgd2dldCBoYWIgaWNoIG1pciBkYXMgR0FOWkUgQXJjaGl2IGF1Y2ggbWFsIGdlc2F1Z3QuIFNpbmQKY2EuIDQwME1CLCBkaWUgbWVpbiBuZXVlciBCcmVubmVyIGdyYWRlIGJydXR6ZWx0IDstKSkpCgpNb3Jnb3RoIGh1ZXBmdCB1bmQgc3ByaW5ndCBmcmV1ZGlnIHVtaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU291bmRrYXJ0ZSB1bmQgV2luZG9vZiAoR3JpbW1ib3JuLCAgMy4gTWFyIDE5OTksIDE3OjA3OjEwKToKfiMhIHJuPUlsbGlhbiBydD05MjA0NzAzNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwNDcwMzY4CkhtbSwgbmltbSBlaW5mYWNoIGVpbmUgZGVyIEFsdGVybmF0aXZlbiwgZGllIGluIGRlciBEYXRlaSAvZXRjL2lzYXBucC5jb25mCnN0ZWhlbiwgTm90ZmFsbHMgc29sYW5nZSBhbGxlIGR1cmNocHJvYmllcmVuIGJpcyBlcyBnZWh0LiBCZWxlZ3RlIElSUXMgZmluZGV0Cm1hbiBpbiAvcHJvYy9pbnRlcnJ1cHRzIChhYmVyIGxlaWRlciB3b2hsIG5pY2h0IGFsbGUpLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExJTlVYLUZlc3RwbGF0dGVucHJvYmxlbSAoR25vbWUsICA1LiBNYXIgMTk5OSwgMTk6MzQ6NDUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkyMDQ2MTcwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjAzNzMyMzAKaGksCgphbHRlcm5hdGl2ZToKMS4gSURFLWthYmVsIGtvbnRyb2xsaWVyZW4sIG9iIHJpY2h0aWcgdmVyYnVuZGVuLgoyLiB3ZW5uIG5hY2ggMS4ga2VpbiBlcmZvbGcsIGRhbm4gSURFLWthYmVsIGF1c3RhdXNjaGVuLgoKZ25PbWUgc3ByaWNodCBkYSBhdXMgZXJmYWhydW5nLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMSU5VWC1GZXN0cGxhdHRlbnByb2JsZW0gKFByYSwgIDcuIE1hciAxOTk5LCAxODoyODoxNSk6Cn4jISBybj1Hbm9tZSBydD05MjA2NjI0ODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwMzczMjMwCkRhbmtlIGV1Y2ggZnVlciBkaWUgVGlwcyEgQW0gSURFLUthYmVsIHdpcmRzIG5pY2h0IGdlbGVnZW4gaGFiZW4sIGRhCmVpbmUgYW5kZXJlIEZlc3RwbGF0dGUgZXMgdGF0LiBBdXNzZXJkZW0gdHJhdCBkZXIgRmVobGVyIG51ciBpbiAKZWluZXIgUGFydGl0aW9uIGF1Zi4gRGEgR2FyYW50aWUgYXVmIGRlciBQbGF0dGUgd2FyLCBoYWIgaWNoIHNpZSBlcnN0bWFsCnp1cnVlY2tnZWdlYmVuLiBEYXVlcnQgendhciBsYWVuZ2VyLCBhYmVyIGRhZnVlciBrcmllZyBpY2ggKGhvZmZlbnRsaWNoKQonbmUgZWlud2FuZGZyZWllIFBsYXR0ZS4uLgoKUHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3Jrc3RhdGlvbiBOVCAoSG9ibywgIDguIE1hciAxOTk5LCAxODoyODoxMSk6CkhpIElociwKCkljaCBzdWNoZSBlaW4gVG9vbCwgZGFzIGZvbGdlbmRlcyBrYW5uOgpFaW5lIExpc3RlIHZvbiBKb2JzIHZlcndhbHRlbiwgc2llIHN0YXJ0ZW4sIG5hY2ggVW50ZXJicmVjaHVuZyBuZXUgc3RhcnRlbiB1bmQKYmVpIGtvcnJla3RlciBCZWVuZGlndW5nIGF1cyBkZXIgSm9ibGlzdGUgbG9lc2NoZW4uCkRhcyBQcm9ibGVtIGlzdDogRGFzIFRvb2wgc29sbCB2b24gbWVpbmVyIFdvcmtzdGF0aW9uIHZvbiBtaXIgU3RhbmRhcmR1c2VyCm9obmUgQWRtaW5yZWNodGUgZ2VzdGFydGV0IHdlcmRlbi4gRGllIEpvYnMgc29sbGVuIG51ciBlaW56ZWxuIGF1ZiBhbmRlcmVuCldvcmtzdGF0aW9uIGxhdWZlbiwgYXVmIGRlbmVuIGdlcmFkZSBrZWluZXIgZWluZ2Vsb2dndCBpc3QuIFVuZCB3aWUgZ2VzYWd0OgpEYXMgZ2FuemUgdW50ZXIgTlQuCgpIYXQgaXJnZW5kamVtYW5kIG5lIElkZWUgZGF6dT8KCiAgRGFua2UKCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb3Jrc3RhdGlvbiBOVCAoTXVhZGliLCAgOC4gTWFyIDE5OTksIDE4OjMyOjMwKToKfiMhIHJuPUhvYm8gcnQ9OTIwOTE3NjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpoaSwKCmhtbSBzY2huZWxsIGVpbmVuIHRpbWVyIHNjaHJlaWJlbiBlaW5lbiBycGMtc2VydmVyIGRyYW5oYWVuZ2VuIHVuZCBkYW5uIGxhdXRlcgpycGMtY2xpZW50cyB2ZXJ0ZWlsZW4ga29tbXQgd29obCBuaWNodCBpbiBmcmFnZSA/CgpncnVzcwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29ya3N0YXRpb24gTlQgKE11YWRpYiwgIDguIE1hciAxOTk5LCAxODozMzo1Mik6Cn4jISBybj1Ib2JvIHJ0PTkyMDkxNzY5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5MTc2OTEKaGksCgplaW5lIGxvZXN1bmcgd2FlcmUgZGVyIGF0IGluIHZlcmJ1bmQgbWl0IGRlbSB3aW5kb3dzc2NyaXB0aW5nIGhvc3QsIGlud2llZmVybgpkYXMgb2huZSBhZG1pbnJlY2h0ZSBnZWh0IGJpbiBpY2ggdWViZXJmcmFndAoKZ3J1c3MKCm11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmtzdGF0aW9uIE5UIChCb2ViYmVsLCAgOC4gTWFyIDE5OTksIDIwOjMwOjI5KToKfiMhIHJuPUhvYm8gcnQ9OTIwOTE3NjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpIaSEKClZlcnN1Y2hzIGRvY2ggbWFsIG1pdCAnU21hcnRMYXVuY2gnLgoKQm9lYmJlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xlaW5lIGxpbnV4IG5ldHRpZ2tlaXRlbiAoTml4aWhvdSwgIDkuIE1hciAxOTk5LCAwODoyNTo1Myk6CmhpLAp2b3IgZWluaWdlciB6ZWl0IHd1cmRlIG1hbCBlaW5lIG5ldHRlIExpbnV4L1VuaXggYXVmZ2FiZSBoaWVyIGdlc3RlbGx0LgppbiBldHdhIDogd2llIGVudGZlcm5lIGljaCBlaW5lIGRhdGVpIG1pdCBkZW0gbmFtZW4gIi1yZioiIG9kZXIgc28KdW5kIHdpZSBsYXV0ZXQgZGVyIGt1ZXJ6ZXN0ZSBiZWZlaGwgZGF6dS4KZ2lidCBlcyBzb2xjaGUgImtuaWZmbGlnZW4iIGZyYWdlbi9hdWZnYWJlbiBpcmdlbmR3byBnZXNhbW1lbHQgaW0gaW50ZXJuZXQ/PwoKbml4aWhvdSwgbmV0dGlna2VpdGVuIHN1Y2hlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChNb3Jnb3RoLCAgOS4gTWFyIDE5OTksIDA4OjI4OjQ2KToKfiMhIHJuPU5peGlob3UgcnQ9OTIwOTY3OTUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDk2Nzk1MwpmciAmCmFud2FlaGxlbiwgZGVsZXRlIGRydWVja2VuIDstKQoKQWxzbyBkZXIgRmlsZVJ1bm5lciBrYW5uIGRhcyA7LSkKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChQaG9ib3MsICA5LiBNYXIgMTk5OSwgMTI6MDA6NDYpOgp+IyEgcm49Tml4aWhvdSBydD05MjA5Njc5NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwOTY3OTUzCnZlcnN1Y2ggbWFsICBybSAiLi8tcmYqIgoKICAgUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGtsZWluZSBsaW51eCBuZXR0aWdrZWl0ZW4gKFJ1bWF0YSwgIDkuIE1hciAxOTk5LCAxMjozMzowMik6Cn4jISBybj1QaG9ib3MgcnQ9OTIwOTgwODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDk2Nzk1MwpvZGVyIGF1Y2ggInJtIC0tIC1yZiIKcnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChQaG9ib3MsICA5LiBNYXIgMTk5OSwgMTI6MzQ6MDkpOgp+IyEgcm49UnVtYXRhIHJ0PTkyMDk4Mjc4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5Njc5NTMKYnR3LCB3aWUgZXJ6ZXVnIGljaCBuZSBkYXRlaSBtaXQgc28gbmVtIHNjaG9lbmVuIG5hbWVuIGFtIGVpbmZhY2hzdGVuPyA6KQoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChDYXR3ZWF6bGUsICA5LiBNYXIgMTk5OSwgMTM6MjA6MzMpOgp+IyEgcm49UGhvYm9zIHJ0PTkyMDk4Mjg0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5Njc5NTMKdG91Y2ggLi8tcmYqCm9kZXIKZWNobyBibGEgPiAtcmYqCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga2xlaW5lIGxpbnV4IG5ldHRpZ2tlaXRlbiAoUGhvYm9zLCAgOS4gTWFyIDE5OTksIDEzOjI1OjMxKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjA5ODU2MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwOTY3OTUzCkVzIGhhZW5ndCBhbnNjaGVpbmVuZCB2b20gQmV0cmllYnNzc3lzdGVtIGFiLCBvYiBlaW4gKiBpbiBIYWVrY2hlbiBnZXNldHp0CndlcmRlbgptdXNzLCBvZGVyIG5pY2h0LgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChQcmEsICA5LiBNYXIgMTk5OSwgMTM6NDM6MDEpOgp+IyEgcm49UGhvYm9zIHJ0PTkyMDk4NTkzMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5Njc5NTMKSXN0IG1hbCB3aWVkZXIgdHlwaXNjaCBtdWRkZXI6IAoKVm9uIGVpbmVtIEFydGlrZWwgZGFzIFN1YmplY3QgdW5kIGRpZSBlcnN0ZW4gMyBaZWlsZW4gbGVzZW4gdW5kCnNvZm9ydCBlaW5lIEFudHdvcnQgc2NocmVpYmVuIG9obmUgZGVuIEFydGlrZWwgenUgZW5kZSB6dSBsZXNlbiB1bmQKb2huZSBuYWNoenVkZW5rZW4uCgpOaXhpKiBoYXR0ZSBOSUNIVCBnZWZyYWd0LCB3aWUgbWFuIHNvIGVpbmUgRGF0ZWkgbG9lc2NodCwgc29uZGVybiBvYiB1bmQKd28gZXMgaW0gSW50ZXJuZXQgZWluZSBTYW1tbHVuZyBzb2xjaGVyIGtuaWZmbGlnZW4gQXVmZ2FiZW4gZ2lidC4uLgoKSW50ZXJlc3NpZXJ0IG1pY2ggdWVicmlnZW5zIGF1Y2guIEFsc286IEtlbm50IGplbWFuZCBzbyBlaW5lIEFkcmVzc2U/CgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChNYWhhdG11LCAgOS4gTWFyIDE5OTksIDEzOjQzOjM2KToKfiMhIHJuPVByYSBydD05MjA5ODY5ODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwOTY3OTUzCmR1IHN1Y2hzdCB0eXBpc2NoZSBNdWRkZXI/IEFsc28gaWNoIGhhZXR0ZSBkYSB3ZWxjaGUgLi4uCmJsYWZhc2VsCgo7LSkgR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV29ya3N0YXRpb24gTlQgKEhvYm8sICA5LiBNYXIgMTk5OSwgMTg6MjU6MjgpOgp+IyEgcm49Qm9lYmJlbCBydD05MjA5MjUwMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIwOTE3NjkxCklzdCBzbWFydGxhdW5jaCBuaWNodCBUZWlsIHZvbiBOb3ZlbGwncyBOZXR3YXJlPwoKIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdvcmtzdGF0aW9uIE5UIChCb2ViYmVsLCAgOS4gTWFyIDE5OTksIDIzOjE5OjE2KToKfiMhIHJuPUhvYm8gcnQ9OTIxMDAzOTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpIaSEKCkphLCBEdSBoYXN0IG5hdHVlcmxpY2ggUmVjaHQhCkljaCBtZWludGUgYXVjaCBMYXVuY2hQYWQuLi4gOi0pCmh0dHA6Ly93d3cuc29mdHNlZWsuY29tL1V0aWxpdGllcy9BcHBsaWNhdGlvbl9TY2hlZHVsZXJzL1Jldmlld180NDQzX2luZGV4Lmh0bQpsCkJvZWJiZWwKClAuUy46IEtvbWlzY2gsIHdhcyBlaW4gcGFhciBCaWVyIHNvIGF1c21hY2hlbi4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV29ya3N0YXRpb24gTlQgKFdpbGxvdywgMTAuIE1hciAxOTk5LCAyMTo1NzoyOCk6Cn4jISBybj1Cb2ViYmVsIHJ0PTkyMTAyMTU1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5MTc2OTEKR3J1ZWJlbC4uLiBpc3QgbGF1bmNocGFkIG5pY2h0IGRpZSBrbGlja3N0YXJ0bGVpc3RlIHZvbiBvcy8yPz8/CgplaW56ZWxlcm5kIHN0YXVuZW5kIFdlaWRjaGVuIFdpbGxvdwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV29ya3N0YXRpb24gTlQgKEJvZWJiZWwsIDEwLiBNYXIgMTk5OSwgMjI6MDg6NDYpOgp+IyEgcm49V2lsbG93IHJ0PTkyMTEwMzA0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5MTc2OTEKSG1tbS4uLiBrYW5uIHNlaW4sIGFiZXIgTGF1bmNoUGFkIGhlaXNzdCBhdWNoIGVpbiBFdmVudC1TY2hlZHVsZXIgZnVlciBOVC4KSWNoIGlycmUgbWljaCBtZWlzdGVucyBudXIgZWlubWFsLi4uIDstKQoKQm9lYmJlbCAoZGVua3Qub08gV2FzIHp1bSBUZXVmZWwgc29sbCBkZW5uIG9zLzIgc2Vpbj8pIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV29ya3N0YXRpb24gTlQgKFdpbGxvdywgMTAuIE1hciAxOTk5LCAyMjoyMjozNik6Cn4jISBybj1Cb2ViYmVsIHJ0PTkyMTEwMzcyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5MTc2OTEKb2gsIGRhcyBpc3QgZWluIHd1bmRlcmJhcmVzIHppZW1saWNoIGFic3R1cnpzaWNoZXJlcyBiZXRyaWVic3N5c3RlbSAtIG5lbm50CnNpY2ggaW4gZGVyIG5ldXN0ZW4gdmFyaWFudCB3YXJwNCA7LSkKV2VpZGNoZW4gV2lsbG93IGhhdCBhdWYgc2VpbmVtIFJlY2huZXIgYXVjaCBXYXJwNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV29ya3N0YXRpb24gTlQgKEJvZWJiZWwsIDEwLiBNYXIgMTk5OSwgMjI6NDk6MzIpOgp+IyEgcm49V2lsbG93IHJ0PTkyMTEwNDU1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjA5MTc2OTEKSWNoIHNhZ2UgbnVyOiBlaW5tYWwgTGludXgsIGltbWVyIExpbnV4Li4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYWZpa2thcnRlIGdlc3VjaHQgLi4gKFJhbnRhbnBsYW4sIDExLiBNYXIgMTk5OSwgMjA6NTA6NDIpOgp+IyEgcm49S2FyaXMgcnQ9OTE5NzYzNDA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkxOTc2MzQwOApEaWFtb25kIFZpcGVyIFYzMzAsIGlzICJ2ZXJhbHRldCIgYmlsbGlnIHVuZCBrYW5uIGRhcwoKT2UqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXb3Jrc3RhdGlvbiBOVCAoR3JpbW1ib3JuLCAxNi4gTWFyIDE5OTksIDAwOjQ4OjQ0KToKfiMhIHJuPUJvZWJiZWwgcnQ9OTIxMTA2MTcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpMaW51eCBpc3QgbmljaHQgemllbWxpY2ggYWJzdHVyenNpY2hlci4gRGllc2UgUmVsYXRpdmllcnVuZyBpc3QgemllbWxpY2gKdW56dWxhZXNzaWcuCkVzIHNlaSBuYXR1ZXJsaWNoLCBtYW4gaGF0IGVpbmUgVFYtS2FydGUuLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGMtc3BlYWtlciAoQ2F0d2VhemxlLCAxNi4gTWFyIDE5OTksIDExOjM5OjA3KToKTW9pbiEKCkthbm4gbWlyIGplbWFuZCB2ZXJhdGVuLCB3aWUgaWNoIHVudGVyIHdpbjk1Lzk4IGRlbiBpbnRlcm5lbiBTcGVha2VyIApha3RpdmllcmU/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwYy1zcGVha2VyIChHcmltbWJvcm4sIDE2LiBNYXIgMTk5OSwgMTE6NDA6MzYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTkyMTU4NDM0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjE1ODQzNDcKR2VsZWdlbnRsaWNoIGhpbGZ0IGVzLCBkYXMgS2FiZWwgZGVzIHNwZWFrZXJzIGFuIGRlbiBkYWZ1ZXIgdm9yZ2VzZWhlbmVuClN0ZWNrZXIgZGVzIGJvYXJkcyB6dSBzdGVja2VuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0LiBIYXQgc2VsYmlnZXMgS2FiZWwgYW0gV0UgZW5kZ3VlbHRpZyByYXVzZ2VyaXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBjLXNwZWFrZXIgKENhdHdlYXpsZSwgMTYuIE1hciAxOTk5LCAxMTo0MjoyMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTIxNTg0NDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMTU4NDM0NwpOZWluLCBkYXMgaXN0IGVzIG5pY2h0LgpJY2ggaGFiZSBuaWNodCBtYWwgZWluZSBTdGVsbGUgZ2VmdW5kZW4sIHdvIG1hbiBkYXMgZWluc3RlbGxlbiBrb2VubnRlLCBlcgpiaWV0ZXQgbWlyIGltbWVyIG51ciBkaWUgU291bmRrYXJ0ZSBhbi4gRGFzIGdlcmFldCBpc3QgYWJlciBkYSB1bmQgc29sbHRlCmZ1bnplbi4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBjLXNwZWFrZXIgKEtvb21pLCAxNi4gTWFyIDE5OTksIDEzOjEzOjU0KToKfiMhIHJuPUNhdHdlYXpsZSBydD05MjE1ODQ1NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIxNTg0MzQ3ClN1Y2ggbWFsIGRlbiBzcGVha2VyLmRydiB2b24gTWljcm9zb2Z0LCBkYXMgaXN0IHNvIGVpbiBUcmVpYmVyIGZ1ZXIgZGVuClBDLVF1aWVrZXIgZnVlciBXaW5kb3dzIDMueCwgdW5kIHZpZWxsZWljaHQgZnVua3Rpb2llcnQgZGVyIGF1Y2ggbm9jaCB1bnRlcgpkZW4gd2luOTguCgpLb29taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV29ya3N0YXRpb24gTlQgKE1hcmN1cywgMTYuIE1hciAxOTk5LCAxODowNjo0OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTIxNTQ1MzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpXZW5uIG1hbiBhbHMgcm9vdCBTb2Z0d2FyZSBsYXVmZW4gbGFlc3N0IChvZGVyIGFscyB1c2VyIG1pdCByb290K3NiaXRzIApTb2Z0d2FyZSkgdW5kIGRpZXNlIFNvZnR3YXJlIHNhZ3QgIk5JQ0hUIEFVRiBWSVJUVUVMTEUgQ09OU09MRSBTQ0hBTFRFTiwgU09OU1QKQ1JBU0hUUyIgKG5hamEsIG5pY2h0IGdhbnogc28gOykgZGFubiBzb2xsdGUgbWFuIHNpY2ggbmljaHQgd3VuZGVybiwgd2VubgplcyBjcmFzaGVkLCB3ZW5uIG1hbiB2b24gWCBhdWYgZWluZSB2aXJ0dWVsbGUgS29uc29sZSBzY2hhbHRldCA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV29ya3N0YXRpb24gTlQgKEdyaW1tYm9ybiwgMTYuIE1hciAxOTk5LCAyMDowOToyOSk6Cn4jISBybj1NYXJjdXMgcnQ9OTIxNjA3NjA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDkxNzY5MQpIZWUsIGRhcyBzYWd0IGRpZSBTb2Z0d2FyZSAoZGVyIFRWLVRyZWliZXIpIGphIGdhciBuaWNodC4gRGFzIHNhZ3QgZGllCnp1Z2Vob2VyaWdlIERva3VtZW50YXRpb24uClVuZCBkYXMgaXN0IGVpbiBiZWVpbmRydWNrZW5kIGdydWVuZGxpY2hlciBjcmFzaC4gRGVyIFRvbiBsYWV1ZnQgd2VpdGVyLCBkYXMKQmlsZCBibGVpYnQgc3RlaGVuIHVuZCBkZXIgUmVjaG5lciByZWFnaWVydCBhdWNoIGF1ZiBrZWluIHBpbmcgbWVoci4gVFYtS2FydGVuCnNpbmQgY29vb2whIDotKQoKR3JpbW1ib3JuIGRlciBGZXJuc2VoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBCYXJkJ3MgVGFsZSBJIChKaW1kaWdyaXosIDI1LiBNYXIgMTk5OSwgMDE6MTE6MzEpOgpIaWhvLAoKamEgbmFjaCBkZW0gbWlyIGhpZXIgbWl0IGFybm9sZC5jNjQub3JnCmRlciBNdW5kIHdhZXNzcmlnIGdlbWFjaHQgd3VyZGUsIGRhcyBBcmNoaXYKc2ljaCBtaXR0bGVyd2VpbGUgYXVmIENEIGJlZmluZGV0IHVuZCBkZXIgVklDRQp3dW5kZXJiYXIgbGFldWZ0LCB3b2xsdGUgaWNoIG1hbCB3aWVkZXIKZWluZXMgZGVyIFVyLVNwaWVsZSBhdXNncmFiZW46CiBUaGUgQmFyZCdzIFRhbGUgSSAtIFRhbGVzIG9mIHRoZSBVbmtub3duCgpMZWlkZXIgbGVpZGVyIGxlaWRlciBzaW5kIG1laW5lbSBsb2VjaHJpZ2VuCkdlZGFlY2h0bmlzIGRpZSBTcGVsbHMgZGVyIHZlcnNjaGllZGVuZW4KWmF1YmVyZXIgZW50ZmFsbGVuIDooLAptaXIgZmFlbGx0IG5vY2ggVk9QTCwgRFJCUiB1bmQgR1JTVQplaW4sIGFiZXIgc29uc3Qgbml4IG1laHIuIEZhbGxzIHdlciBpbiBzZWluZW4KQXVmemVpY2hudW5nZW4gdm9uIGRhbWFscyBub2NoIGVpbmUgTGlzdGUKZGVyIFNwZWxscyB2b24gQ29uanVyZXIsIE1hZ2ljaWFuLCBTb3JjZXJlcgp1bmQgV2l6YXJkIGhhdCwgb2RlciBnYXIgZWluZSBPcmlnaW5hbC1BbmxlaXR1bmcsCmRlbSB3YWVyIGljaCBzZWhyIGRhbmtiYXIsIHdlbm4gbWFuIG1pciBkYXMgenVrb21tZW4KbGFlc3N0IChvZGVyIGF1Y2ggaGllciBwb3N0ZXQsIHdlbm5zIG5vY2ggbWVociBpbnRlcmVzc2llcnQpCgpNZXJjaSB2aWVsbWFscywKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4c3BlemlhbGlzdGVuIChDeW1vbmssIDI1LiBNYXIgMTk5OSwgMDE6MTY6MzEpOgpoaWhvLAoKdmllbGxlaWNodCBoYXQgamVtYW5kIGVpbmVuIHRpcCEKCnN1Y2hlIGVpbmUgZmlybWEgaW4gZGV1dHNjaGxhbmQsIGRpZSBpbiBkZXIgbGFnZSBpc3QsCm1pciA1MCByZWNobmVyIHp1IGxpZWZlcm4sIG5hY2ggbWVpbmVuIHd1ZW5zY2hlbiBhdXNnZXN0YXR0ZXQKdW5kIG1pdCBsaW51eCB2b3Jrb25maWd1cmllcnQgKGxldHp0ZXJlcyBuaWNodCBnYW56IHRyaXZpYWwhKS4KCmN5CgpwLnMuIGFscyBhbnR3b3J0IGJpdHRlIG5pY2h0IHMudS5zLmUgOikpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBCYXJkJ3MgVGFsZSBJIChNb3Jnb3RoLCAyNS4gTWFyIDE5OTksIDA4OjU0OjQzKToKfiMhIHJuPUppbWRpZ3JpeiBydD05MjIzMjQyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0MjkxCktlaW4gUHJvYmxlbSwgaWNoIGhhYiBkYXMgU3BpZWwgZnVlciBDNjQgdW5kIFBDIGdla2F1ZnQsIGFsc28gMiBBbmxlaXR1bmdlbi4KV2VubiBpY2ggZHJhbiBkZW5rZSwgYnJpbmcgaWNocyBtb3JnZW4gbWFsIG1pdCB1bmQgcG9zdGUvbWFpbGUgZXMuIDstKQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgQmFyZCdzIFRhbGUgSSAoUGhvYm9zLCAyNS4gTWFyIDE5OTksIDE0OjE2OjEwKToKfiMhIHJuPUppbWRpZ3JpeiBydD05MjIzMjQyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0MjkxCgpBaCwgZGllIGd1dGUgYWx0ZSBaZWl0IDopCkJhcmQncyBUYWxlIHdhciBtZWluIGVyc3RlcyBDb21wdXRlci1Sb2xsZW5zcGllbC4gRGFzIHdhcgpkYW1hbHMgbm9jaCBlY2h0IGdlbmlhbCAoYXVjaCB3ZW5ucyB2b24gV2l6YXJkcnkgYWJnZWt1cGZlcnQKd2FyKSwgYWJlciBlcmtsYWVyIGRhcyBtYWwgamVtYW5kIGRlciBKdWdlbmQgdm9uIGhldXRlLiBEaWUgCmZyYWdlbiBkYW5uIGVyc3RtYWwsIHdpZSBtYW4gZGFzIEF1dG9tYXBwaW5nIGVpbnNjaGFsdGV0LiBIbXBmIQpJY2ggZXJpbm5lcmUgbWljaCBhdWNoIG5vY2ggZ2VybmUgYW4gQmFyZCdzIFRhbGUgMywgd28gaWNoIG1pdApudXIgZWluZW0gRGlza2V0dGVubGF1ZndlcmsgYmVpIEpFREVNIEthbXBmIGRpZSBEaXNrZXR0ZSAKd2VjaHNlbG4gbXVzc3RlLCBkYW1pdCBkYXMgQmlsZCBtZWluZXIgR2VnbmVyIGdlbGFkZW4gd2VyZGVuCmtvbm50ZS4KClNjaGF1IG1hbCBiZWkgaHR0cDovL3d3dy53aW5nbmV0Lm5ldC9+Y2F0ZmlzaC9iYXJkL1NQRUxMUy5IVE0uCgoKICBQaG9ib3MgLSBhcmJlaXRldCBzaWNoIGdyYWQgZHVyY2ggV2l6YXJkcnkgZHVyY2gKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoZSBCYXJkJ3MgVGFsZSBJIChTaGFyaWEsIDI1LiBNYXIgMTk5OSwgMTQ6MTg6NDIpOgp+IyEgcm49UGhvYm9zIHJ0PTkyMjM3MTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjIzMjQyOTEKZGFzIGVyaW5uZXJ0IG1pY2ggYW4gZWluZW4gZXR3YXMgZ3Jvc3Nrb3R6aWdlbiBQcm9mIHZvbiBtaXI6CgogICJJY2gga2FubiBub2NoIGFsbGUgRHVuZ2VvbnMgdm9uIEJhcmRzIFRhbGUgMS0zIGF1c3dlbmRpZyAhIiA6LSkKClNoYXJpYSwgZGFtYWxzIHNjaG9uIHN1ZWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUaGUgQmFyZCdzIFRhbGUgSSAoQm9pbmcsIDI1LiBNYXIgMTk5OSwgMTU6MTM6MDQpOgp+IyEgcm49U2hhcmlhIHJ0PTkyMjM3MTUyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjIzMjQyOTEKV2llc28gZ3Jvc3Nrb3R6aWc/IEthbm5zdCBEdSBkaWUgbmljaHQgYXVzd2VuZGlnPwpVbmQgenUgUGhvYm9zOiBCVDMgaGF0IGF1dG9tYXBwaW5nLCBhYmVyIGVpbiBzbyBzY2hyb3R0aWdlcywgZGFzcyBzZWxiZXIKemVpY2huZW4gYmVzc2VyIHdhciAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaGUgQmFyZCdzIFRhbGUgSSAoS2FyYW0sIDI1LiBNYXIgMTk5OSwgMTc6MTM6NTMpOgp+IyEgcm49TW9yZ290aCBydD05MjIzNTIwODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0MjkxClZvciB3ZW5pZ2VuIFdvY2hlbiBoYXR0ZSBpY2ggaGllciBpbiBSb3N0b2NrIGJlaSBLYXVmaG9mIG5vY2ggZWluZQpSb2xsZW5zcGllbHNhbW1sdW5nIGZ1ZXIgUEMgZ2VzZWhlbiBtaXQgMTIgU3BpZWxlbi4gNCBkYXZvbiB3YXJlbiBCYXJkJ3MgVGFsZQpJIC0gSUlJIHVuZCBCYXJkJ3MgVGFsZSBDb25zdHJ1Y3Rpb24gU2V0LiBOYXR1ZXJsaWNoIG1pdCAobmFjaGdlZHJ1Y2t0ZXIpCkFubGVpdHVuZy4KLS0KS2FyYW0gKGhhdCBkYXp1IG5vY2ggQmFyZCdzIFRhbGUgSSArIElJIGZ1ZXInbiBDNjQgdW5kIG5lbiBvcmlnaW5hbCBDNjQKcGFzc2VuZCBkYXp1IHVuZCBhdXNzZXJkZW0gZ3JhZGUgZGFzIDQuIFNlZ21lbnQgYmVpIEJUIElJIGVya2FlbXBmdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRoZSBCYXJkJ3MgVGFsZSBJIChZZW5kaSwgMjUuIE1hciAxOTk5LCAyMDo0NDowMCk6Cn4jISBybj1Cb2luZyBydD05MjIzNzQ3ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0MjkxCgpBY2ggamEsIGRhcyB3YXJlbiBub2NoIFplaXRlbi4uLgoKSWNoIGhhdHRlIG1hbCBlaW5lIHRvbGxlIFRydXBwZSBtaXQgMyBIb2JiaXQtTW9ua3MgdW5kIDMgRWxmZW4tV2l6YXJkcy4uLgouLi4gdW5kIGRhbm4gd3VuZGVydGUgaWNoIG1pY2gsIHdhcnVtIGljaCBuaWNodCB3ZWl0ZXJrYW0uCkFiZXIgZGFubiB3b2xsdGUgaWNoIG5pY2h0IG5vY2ggZWluZW4gQmFyZGVuIGhvY2hwYWVwcGVsbi4KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGhlIEJhcmQncyBUYWxlIEkgKFNvbmdva3UsIDI1LiBNYXIgMTk5OSwgMjE6MzM6MTYpOgp+IyEgcm49UGhvYm9zIHJ0PTkyMjM3MTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjIzMjQyOTEKa2VubnN0ZSBub2NoIGRlbiB0cmlrIG1pdCBkZW0gc2NocmVpYnNjaHV0eiB2b24gZGVyIERpc2tldHRlPwpXYXIgZ2FueiBudWV0emxpY2gsIHdlbm4gbWFuIGltIGxhZ2VyIGluIHNrYXJhIG1hbCB3aWVkZXIgZWluIHBhYXIKSGFybW9uaWNHZW1zIGdlYnJhdWNodCBoYXQuCgooaWNoIGhhYmUgZGFtYWxzIGRlbiBlZGl0b3IgYXVzIGRlbiBDNjQgU3BpZWxlc29uZGVyaGVmdCBhYmdldGlwcHQgdW5kIHNwYWV0ZXIKZG9jaCBhbGxlIG1pdCBuZW0gc2VsYnN0Z2ViYXN0ZWx0ZW4gaGV4ZWRpdG9yIGdlbWFjaHQpCgpNYW1hISAoaWNoIGxpZWJ0ZSBkaWVzZW4gU3BydWNoISkKU2F5b25hcmEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPbGRpZXMgKFNvbmdva3UsIDI1LiBNYXIgMTk5OSwgMjE6Mzg6NTApOgprZW5udCBub2NoIGplbWFuZCBZZSBBaXIgS3VuRnU/CgpPZGVyIGRlbiArTmFjaGZvbGdlcisgSW50ZXJuYXRpb25hbCBLYXJhdGU/CgoKKG9kZXIgc2luZCBudXIgbm9jaCBzb2xjaGUgc2FjaGVuIHdpZSBTdHJlZXRmaWdodGVyIHVuZCBjbyBiZWthbm50PykKCk9kZXIgQnJ1Y2VMZWU/IChoYWJlIGRhbWFscyAxOSBEdXJjaGdhZW5nZSBnZXNwaWVsdCB1bmQgZGFubiBtaXQgMjAgTGViZW4KYXVmZ2Vob2VydCkKVW5kIG5hdHVlcmxpY2g6IEhBQ0shCihEQVMgUm9sbGVuc3BpbGUgZnVlciBDb21wdXRlciBpbSBnZWdlbnNhdHogenUgc29sY2ggR3JhcGhpa29yZ2llbiB3aWUKVWx0aW1hMSkKClNheW91bmFyYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgQmFyZCdzIFRhbGUgSSAoQmhhbWlyLCAyNi4gTWFyIDE5OTksIDE4OjM0OjM4KToKfiMhIHJuPUppbWRpZ3JpeiBydD05MjIzMjQyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0MjkxCnNjaGF1dCBtYWwgdW50ZXIgCmh0dHA6Ly93d3cubWptaWNyby5iYy5jYS9qZ2F1ZGV0L2JhcmQvCkJoYW1pcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVyY2kgdW5kIHNvIChKaW1kaWdyaXosIDI2LiBNYXIgMTk5OSwgMjA6MDA6MTgpOgoKSGlobywKCmhhYiBtaXIgZG9jaCBnZWRhY2h0LCBkYXNzIGhpZXIgZWluIHBhYXIKTm9zdGFsZ2lrZXIgc2luZC4gVmllbGVuIERhbmsgZnVlciBkaWUgdmllbGVuCkhpbndlaXNlLCBpbnp3aXNjaGVuIGhhYiBpY2ggc29nYXIgbWVpbmUgZWlnZW5lbgpBdWZ6ZWljaG51bmdlbiB3aWVkZXIgZ2VmdW5kZW4sIHdvIHNpY2ggYXVjaCBzcGVsbApsaXN0ZW4gYmVmYW5kZW4gKnJhZXVzcGVyKiwgdHJvdHpkZW0gd2FyZW4gZGllIApMaW5rcyByZWNodCB3ZXJ0dm9sbC4gTW9yZ290aCwgRHUgYnJhdWNoc3QgYWxzbwpuaWNodCBhYnp1dGlwcGVuLiAKCkRpZSBPYmpla3QtVmVydmllbGZhZWx0aWd1bmdzdGVjaG5payBrYW5udGUgaWNoCmFsbGVyZGluZ3Mgbm9jaCA7LSkgKGFuZmFuZ3MgYnJhdWNodCBtYW4gZWggbnVyIEdvbGQgOykpCgpTb25nb2t1OgogWWllIEFyIEt1bmdGdSB3YXIgSU1ITyBuaWNodCBkZXIgVm9yZ2Flbmdlcgp2b24gSW50ZXJuYXRpb25hbCBLYXJhdGUsIHZvbSBTdGlsIGhlciB3YWVyIGRhcwplaGVyICJXYXkgb2YgdGhlIGV4cGxvZGluZyBmaXN0IiBnZXdlc2VuLCBkZW5rIGljaC4KWWllIEFyIGhhdHRlIHdvaGwgZWluZSBkZXIgYmVzdGVuIFRpdGVsbXVzaWtzdHVlY2tlCmRpZSBNYXJ0aW4gR2Fsd2F5IGF1cyBkZW0gU0lEIHphdWJlcm4ga29ubnRlLCBhbHMKU3BpZWwgZmFuZCBpY2hzIGVoZXIgbWFlc3NpZyA7LSkKQnJ1Y2UgTGVlIHdhciBhdWNoIHNlaHIgbmV0dC4gCgpOYSBtYWwgc2VoZW4sIHdhcyBhcm5vbGQgbm9jaCBzbyB6dSBiaWV0ZW4gaGF0Li4uCgpjdSwKIEppbSBEaUdyaXoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eHNwZXppYWxpc3RlbiAoR3JpbW1ib3JuLCAyNy4gTWFyIDE5OTksIDE5OjQyOjU0KToKfiMhIHJuPUN5bW9uayBydD05MjIzMjQ1OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyMzI0NTkxCmEpIFdpZXNvIG5pY2h0IFN1U0U/IERpZSBrb2VubmVuIGRhcyBuYWVtbGljaC4KYikgU2llbWVucy4KYykgV2VubiAiUmVjaG5lciIgYXVjaCAiYWxwaGEiIHNlaW4ga2FubiBnaWJ0cyBoaWVyIGluIGRlciBHZWdlbmQgZWluZW4KICAgc2VociBmYWVoaWdlbiBMYWRlbi4gRk1TLUNvbXB1dGVyLCBodHRwOi8vd3d3LmZtcy1jb21wdXRlci5jb20vCmQpIElud2lld2VpdCBkaWUgZ2FuemVuIEFua3VlbmRpZ3VuZ2VuIHZvbiBTR0ksIERlbGwsIElCTS4uLiBtb21lbnRhbiAKICAgc2VyaW9lcyBnZW51ZyBzaW5kIGthbm4gaWNoIG5pY2h0IHNhZ2VuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBrbGVpbmUgbGludXggbmV0dGlna2VpdGVuIChXaWRld2l0dCwgMjguIE1hciAxOTk5LCAwNTozMTozNik6Cn4jISBybj1QaG9ib3MgcnQ9OTIwOTgyODQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMDk2Nzk1MwpHYXIgbmljaHQgLi4uIHNvbGNoZSBOYW1lIGdlaG9lcmVuIHZlcmJvdGVuIDopCkdhciBuaWNodCAuLi4gc29sY2hlIE5hbWUgZ2Vob2VyZW4gdmVyYm90ZW4gOikKCldpZGV3aXR0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ibGVtOiBFUFMoV2luZG9vZiktPlBTKExpbnV4KSAoWGVub24sIDI4LiBNYXIgMTk5OSwgMTU6NTk6MDEpOgpJY2ggaGFiZSBQcm9ibGVtZSBFUFMtRGF0ZWllbiBkaWUgaWNoIGF1cyBDb3JlbDggZXhwb3J0aWVydCBoYWJlIHVudGVyIApMYVRlWCAobGFldWZ0IGF1ZiBMaW51eCkgZWluenViaW5kZW4uIFNjaG9uIGRlciBub3JtYWxlIEdWIHNjaGVpdGVydApkYXJhbiBtaXIgZGllIEZpbGVzIGFuenV6ZWlnZW4uCktlbm50IGplbWFuZCB2b24gZXVjaCBlaW5lbiBGaWx0ZXIsIGR1cmNoIGRlbiBpY2ggZGllIEJpbGRlciBqYWdlbgprYW5uPyBPZGVyIGVpbmVuIGFuZGVyZW4gZ2FuZ2JhcmVuIFdlZyAoUERGLUZvcm1hdD8pLgoKRGFua2Ugc2Nob24gbWFsIFhlbm9uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtOiBFUFMoV2luZG9vZiktPlBTKExpbnV4KSAoSmltZGlncml6LCAyOC4gTWFyIDE5OTksIDE3OjI1OjE4KToKfiMhIHJuPVhlbm9uIHJ0PTkyMjYzNjc0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI2MzY3NDEKSGFsbG8sCgp2ZXJzdWNocyBtYWwgbWl0IGdob3N0c2NyaXB0IChncyksIHdlbm4gZGFzIENvcmVsLUVQUwpoYWxid2VncyBkZW0gU3RhbmRhcmQgZW50c3ByaWNodCB1bmQgRHUgR2x1ZWNrIGhhc3QsCnNvbGx0ZXN0IER1IGVzIG1pdCAnZ3MnIGluIGVpbiBkZXV0bGljaCBiZXNzZXJlcyBQUy9FUFMKa29udmVydGllcmVuIGtvZW5uZW4uCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW06IEVQUyhXaW5kb29mKS0+UFMoTGludXgpIChQaWxncmltLCAyOC4gTWFyIDE5OTksIDE4OjE2OjI2KToKfiMhIHJuPUppbWRpZ3JpeiBydD05MjI2NDE5MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTIyNjM2NzQxCkFsc28sIAppY2ggZHJ1Y2sgKHVtIEVQUy1GaWxlcyBmdWVyIFRlWCB6dSBlcnpldWdlbikgdW50ZXIgV2luZG9vZiBpbiBlaW4KRmlsZSBtaXQgZGVtIEhQIExBc2VyamV0IElJSVAgRHJ1Y2tlcnRyZWliZXIpIC4uLgpEYW1pdCBoYXR0ZSBiaXMgamV0enQgd2VkZXIgVGVYIChhbGxlcmRpbmdzIHVudGVyIERPUykgbm9jaCBncy9ndgp1bnRlciB3aW5kb3cgUHJvYmxlbWUgLi4uClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZXJjaSB1bmQgc28gKFBpbGdyaW0sIDI4LiBNYXIgMTk5OSwgMTg6MjA6NTEpOgp+IyEgcm49SmltZGlncml6IHJ0PTkyMjQ3ODQxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI0Nzg0MTgKV28gd2lyIGRhbm4gYmVpIGRlciBNdXNpayB2b24gQz02NCBTcGllbGVuIGFuZ2Vrb21tZW4gd2FlcmVuIDstKQpXZWlzcyBub2NoIGVpbmVyLCB3byBtYW4gZGllc2UgTXVzaWsgKG9kZXIgenVtaW5kZXN0IG5lIGdhbnplIE1lbmdlCmRhdm9uKSBhbHMgbW9kLWZpbGVzIChhdWNoKSBmdWVyIGRlbiBQQyBmaW5kZXQgKHNjaGllbCB6dSBSb2NodXMhKSwKaWNoIHdlaXNzIGRhcyBlcyBuZSBNZW5nZSBkYXZvbiBnaWJ0ICh1bmQgYXVjaCBuZW4gcmVjaHQgYW5zdGFlbmRpZ2VuCk1vZC1QbGF5ZXIgZnVlciBXaW5kb3dzKSAuLi4gaGFicyB2b3IgamFocmVuIG1hbCBnZWhhYnQsIGFiZXIgbWVpbgo0ODYvNjYgd2FyIGVpbmZhY2ggbmVuIGJpc3NlbCB6dSBzY2h3YWNoIGF1Y2ggZGVyIEJydXN0LCB1bSBkYXMKZ2FuemUgaW4gaG9oZXIgUXVhbGl0YWV0IHVuZCBTdGVyZW8gYWJ6dXNwaWVsZW4gLi4uClNvbGx0ZSBqZXR6dCBiZXNzZXIgZ2VoZW4gLi4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2JsZW06IEVQUyhXaW5kb29mKS0+UFMoTGludXgpIChGb29iYXIsIDI5LiBNYXIgMTk5OSwgMDA6NDk6MzgpOgp+IyEgcm49SmltZGlncml6IHJ0PTkyMjY0MTkxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI2MzY3NDEKSGFsbG8uCgpPZGVyIG1pdCB4diBhbnplaWdlbiAod2VubiBlcyBkYXMga2FubikgdW5kIGFscyBQUyBhYnNwZWljaGVybi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJvYmxlbTogRVBTKFdpbmRvb2YpLT5QUyhMaW51eCkgKEhhdGUsIDI5LiBNYXIgMTk5OSwgMTE6MjA6MzApOgp+IyEgcm49Rm9vYmFyIHJ0PTkyMjY2ODU3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI2MzY3NDEKTWVpc3QgaXN0IGRhcyBQcm9ibGVtIG51ciBkZXIgZGFlbWxpY2ggYmluYWVyLWhlYWRlciB2b20gUFMgZmlsZS4gQWxzbyBtaXQgbmVtCmVkaXRvciBhdWZtYWNoZW4gdW5kIHZvcm5lIGRlbiBCaW5hZXJrcmFtIGxvZXNjaGVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByb2JsZW06IEVQUyhXaW5kb29mKS0+UFMoTGludXgpIChBcmVsaW9uLCAyOS4gTWFyIDE5OTksIDExOjI0OjE1KToKfiMhIHJuPUhhdGUgcnQ9OTIyNzA2NDMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMjYzNjc0MQpXZW5uIGR1IGRhcyBQcm9ibGVtIGhhZXVmaWdlciBoYXN0IC4uLiBpY2ggaGFiZSBlaW4ga2xlaW5lcyBQcm9ncmFtbQpnZXNjaHJpZWJlbiwgd2FzIGRlbiBCaW5hZXJrcmFtIHVuZCBLb21tZW50YXJlIGF1cyBQUyBEYXRlaWVuIHJhdXN3aXJmdC4gCgpBcmVsaW9uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZXJjaSB1bmQgc28gKFJvY2h1cywgMjkuIE1hciAxOTk5LCAxOTozOToxMSk6Cn4jISBybj1QaWxncmltIHJ0PTkyMjY0NTI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI0Nzg0MTgKQWxzbywgTU9EcywgUzNNcywgWE1zIHVzdzoKICBodHRwOi8vaW5ldC51bmktYy5kay9+Ymx1ZW5pbmUvYzY0bW9kLmh0bWwKTVAzcyBvaG5lIEJVTU0sIEJVTU06CiAgaHR0cDovL2hhd2tuZXN0LnN0YWNrZW4ua3RoLnNlL2M2NC8KTVAzcyBtaXQgQlVNTSwgQlVNTToKICBodHRwOi8vd3d3Lm1pbi1zYWp0LmNvbS9saW51c193YWxsZWlqL3RyaWFkLzNtcDMuYXNwCk1JRElzOgogIGh0dHA6Ly93d3cudmdtdXNpYy5jb20vYzY0LwoKTm9jaCBGcmFnZW4/IDstKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtOiBFUFMoV2luZG9vZiktPlBTKExpbnV4KSAoQm9pbmcsIDMwLiBNYXIgMTk5OSwgMTA6Mzg6MzQpOgp+IyEgcm49WGVub24gcnQ9OTIyNjM2NzQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyMjYzNjc0MQpFeHBlcmltZW50aWVyZSBtYWwgYmVpbSBleHBvcnRpZXJlbiBtaXQgZGVuIHZlcnNjaGllZGVuZW4gT3B0aW9uZW4gcnVtLApkYSBrYW5uIG1hbiBkZW4gSGVhZGVyIGlyZ2VuZHdvIGFic2NoYWx0ZW4sIGVpbiB3aWUgdm9uIEhhdGUgdm9yZ2VzY2hsYWdlbmVyClRleHRlZGl0b3IgaXN0IGFsc28gbmljaHQgbm90d2VuZGlnLiA6KQpJY2ggd2Vpc3MgZGllIE9wdGlvbiBsZWlkZXIgbmljaHQgbWVociBhdXN3ZW5kaWcuCiAgQm9pbmcKLi8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRva2VuLVJpbmcgVHJlaWJlciBmdWVyIFBDSS1LYXJ0ZW4gdW50ZXIgTGludXggKFdpbGxvdywgMzEuIE1hciAxOTk5LCAyMTowNDozNik6CkhhbGxvZWxlLApoYXQgdmllbGxlaWNodCBqZW1hbmQgdm9uIEV1Y2ggZWluZSBJZGVlLCB3byBpY2ggVHJlaWJlciBmdWVyIFBDSS1Ub2tlbi1SaW5nCkthcnRlbiBiZWtvbW1lbiBrYW5uPyBFcyBoYW5kZWx0IHNpY2ggdW0gZW50d2VkZXIgZWluZSBPbGljb20gVFIgMTYvNCBvZGVyCmVpbmUgSUJNIFRSIFBDSS1LYXJ0ZS4gSWNoIGJpbiBmdWVyIGplZGVuIFRpcCBkYW5rYmFyLi4uCldlaWRjaGVuIFdpbGxvdyBzdWNodCBzY2hvbiBsYWVuZ2VyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmb250cyBpbiBwc2ZpbGVzIChSaWt1cywgMTIuIEFwciAxOTk5LCAxNjo1MzozMyk6CkhpLAppY2ggZHJ1Y2tlIG1pdCBTdGFyb2ZmaWNlIHVudGVyIExpbnV4IGluIGVpbiBQc0ZpbGUgdW5kIE1VU1MgZXMgdW50ZXIKV2luOTUgZHJ1Y2tlbi4gSWNoIGJpbiBnZXp3dW5nZW4sIGRpZSB2ZXJ3ZW5kZXRlbiBGb250cyBtaXQgaW4gZGFzIFBzLQpGaWxlIHp1IHBhY2tlbiwgZmluZGUgamVkb2NoIGJlaSBTdGFyb2ZmaWNlIGtlaW5lcmxlaSBFaW5zdGVsbHVuZyBkYXp1LgpHaWJ0IGVzIGFuZGVyZSBUb29scywgd2VsY2hlIG1pciBkaWVzIGVybGF1YmVuPwoKRGFua2UsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVG9rZW4tUmluZyBUcmVpYmVyIGZ1ZXIgUENJLUthcnRlbiB1bnRlciBMaW51eCAoSGFkcmEsIDE2LiBBcHIgMTk5OSwgMDE6Mzc6NTApOgp+IyEgcm49V2lsbG93IHJ0PTkyMjkxNDI3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjI5MTQyNzYKd2VubiBkaWUgdHJlaWJlciBuaWNodCBpbSBrZXJuZWwgc2luZCB1bmQgdm9tIHZlbmRvciBuaWNodHMgbWl0Z2VsaWVmZXJ0IHd1cmRlCihoYWhhKSBzaWVodCBlcyBtYXUgYXVzLiBkaWUgZWluemlnZSBoYWxid2VncyBha3R1ZWxsZSB0ciB1bnRlcnN0dWV0enVuZyBnaWJzdApudXIgZnVlciBwY21jaWEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbmZvcyB6dSBIb3RNZXRhbCAoSFRNTC1FZGl0b3IpIChNb3Jnb3RoLCAyNi4gQXByIDE5OTksIDE3OjI2OjQzKToKSGlobywKbWVpbiBDaGVmIHdpbGwgdW5iZWRpbmd0LCBkYXNzIGljaCBkaWVzZW4gYmxvZWRlbiBFZGl0b3IgYmVudXR6ZSwgd2VpbCBlcgpnbGF1YnQsIGRlciBrb2VubmUgZGlyZWt0IFdvcmQgb2RlciBDb3JlbERyYXctU2FjaGVuIGVpbmJpbmRlbiAobmljaHQgbnVyIGFscwpsaW5rKS4gRGFzIGlzIG5hdHVlcmxpY2ggQmxvZWRzaW5uLCBhYmVyIGRhcyBrYW5uIGljaCBpaG0gamEgc28gbmljaHQgc2FnZW4uCkhhdCBpcmdlbmR3ZXIgRXJmYWhydW5nIG1pdCBkZW0gUHJvZ3JhbW0gdW5kIGthbm4gbWlyIGRhIGV2dGwuIGVpbiBwYWFyCkFyZ3VtZW50ZSB2b3JsZWdlbiA/IDstKSkKCk1vcmdvdGggLi4uIGxpZWVlYnQgWGVtYWNzICYgTmV0c2NhcGUgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW5mb3MgenUgSG90TWV0YWwgKEhUTUwtRWRpdG9yKSAoU2hhcmlhLCAyNi4gQXByIDE5OTksIDE4OjEzOjE5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTI1MTQwNDAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTE0MDQwMwpmcm9udHBhZ2Uga2FubiB6dW1pbmRlc3QgZGlyZWt0IHdvcmQgdW5kIGNvcmVsIHNhY2hlbiBlaW5iaW5kZW4gc293ZWl0IGljaAp3ZWlzcyAuLiBhYmVyIGRhcyBicmluZ3QgZGlyIHdvaGwgYXVjaCBrZWluIGFyZ3VpbWVudAoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEluZm9zIHp1IEhvdE1ldGFsIChIVE1MLUVkaXRvcikgKFN0b2VydGksIDI2LiBBcHIgMTk5OSwgMjE6MDU6NDEpOgp+IyEgcm49U2hhcmlhIHJ0PTkyNTE0MzE5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjUxNDA0MDMKc2ljaGVyIGRhcy4uLmF1ZiBuZW0gV2luZG93c3JlY2huZXIgYWxzIGNsaWVudC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbmZvcyB6dSBIb3RNZXRhbCAoSFRNTC1FZGl0b3IpIChBY3JpbW9uLCAyNi4gQXByIDE5OTksIDIxOjQ0OjE1KToKfiMhIHJuPU1vcmdvdGggcnQ9OTI1MTQwNDAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTE0MDQwMwpEdSBrb2VubnRlc3QgZXZ0bC4gYWxzIG5vcm1hbGVuIEVkaXRvciBFbWFjcyB2ZXJ3ZW5kZW4gdW5kIEhvdE1ldGFsIG51ciB6dSBkZW0Kc3BlemllbGxlbiBad2VjaywgKGlnaXR0KSBXb3JkL0NvcmVsRHJhdyBlaW56dWJpbmRlbi4KQWJnZXNlaGVuIGRhdm9uLCBkYXN6IGplZGVyIG5vcm1hbGUgTWVuc2NoIGxpZWJlciBMYVRlWCwgeGZpZyB1bmQgZ2ltcAp2ZXJ3ZW5kZXQuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW5mb3MgenUgSG90TWV0YWwgKEhUTUwtRWRpdG9yKSAoQW5hdG9sLCAyNi4gQXByIDE5OTksIDIyOjQ3OjI4KToKfiMhIHJuPUFjcmltb24gcnQ9OTI1MTU1ODU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTE0MDQwMwo+IEFiZ2VzZWhlbiBkYXZvbiwgZGFzeiBqZWRlciBub3JtYWxlIE1lbnNjaCBsaWViZXIgTGFUZVgsIHhmaWcgdW5kIGdpbXAKPiB2ZXJ3ZW5kZXQuCgpTbyBzY2h3ZXIgZXMgbWlyIGZhZWxsdCwgZGFzIGVpbnp1Z2VzdGVoZW4sIEFjcmltb24sIC4uLiBpY2ggZ2xhdWJlLCAKRHUgaXJyc3QgRGljaCBpbiBkaWVzZW0gUHVua3QuIEVzIGdpYnQgZHVyY2hhdXMgbm9ybWFsZSBNZW5zY2hlbiwgZGllCm1pdCBkZXIgR2VzdGFsdHVuZyB1bmQgR2VuZXJpZXJ1bmcgdm9uIFdlYi1TZWl0ZW4gaWhyZW4gTGViZW5zdW50ZXItCmhhbHQgYmVzdHJlaXRlbiBiencuIGJlc3RyZWl0ZW4gbXVlc3Nlbi4gVW5kIHNjaGF1IERpciBtYWwgZGllIGVpbmUKb2RlciBhbmRlcmUgZ2VsdW5nZW5lIGtvbW1lcnppZWxsZSBTZWl0ZSBhbiwgZGEgc3RlY2t0IG1laHIgZGFoaW50ZXIKYWxzIGVpbiBUZXh0ZWRpdG9yLi4uIAoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW5mb3MgenUgSG90TWV0YWwgKEhUTUwtRWRpdG9yKSAoU3RyZWF3a2NldXIsIDI3LiBBcHIgMTk5OSwgMDE6NTY6MDgpOgp+IyEgcm49QW5hdG9sIHJ0PTkyNTE1OTY0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjUxNDA0MDMKSW4gZGllIEtlcmJlIG11c3MgaWNoIGF1Y2ggbWFsIHNjaGxhZ2VuLiBBY3JpbW9uLCBzdHJlaWNoZSAiTWVuc2NoIiBlcnNldHplCiJTdHVkZW50IGRlciBOYXR1cndpc3NlbnNjaGFmdGVuIiBkYW5uIGhhc3QgRHVzIHNjaG9uIGVoZXIuLi4gRGVyICJub3JtYWxlIgpDb21wdXRlcmFyYmVpdGVyIGRlbmt0IGJlaSAiTGFUZVgiIGVoZXIgYW4gR3VtbWkuLi4KCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZSB6dSBNJC1GaWxlcyAoTW9yZ290aCwgMjguIEFwciAxOTk5LCAxMTowMToxNyk6CkhpaG8sCmljaCBoYWIgYmVpIG1pciBhdWYgamVkZXIgSEQgaW0gUm9vdC1EaXIgZGllIGZpbGVzOiBfX29maWR4LmZmYSwgX19vZmlkeC5mZmwKdW5kIF9fb2ZpZHgwLmZmeC4gV2Vpc3MgamVtYW5kIHdvaGVyIGRpZSBzdGFtbWVuIHVuZCB3ZWxjaGVuIHp3ZWNrIGRpZSBoYWJlbj8gCkltIEhlYWRlciBzdGVodCBpcmdlbmR3YXMgdm9uIE0kLVZvbGx0ZXh0LUluZGV4LgoKTW9yZ290aCwgbWFsIHdpZWRlciBlcnN0YXVudCwgd2FzIE0kIHNvIHRyZWlidAoKUC5TLjogT1MgaXMgV2luOTUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZSB6dSBNJC1GaWxlcyAoQm9pbmcsIDI4LiBBcHIgMTk5OSwgMTE6NTQ6NDIpOgp+IyEgcm49TW9yZ290aCBydD05MjUyOTAwNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1MjkwMDc3CkRhcyBzY2hlaW50IG5vcm1hbCB6dSBzZWluLCBkaWUgRGF0ZWllbiBoYWIgaWNoIGF1Y2ggdWViZXJhbGwgc3RlaGVuCihXSU45NSkuIEFsbGVyZGluZ3Mgd2Vpc3MgaWNoIGF1Y2ggbmljaHQgd2FzIHNpZSBiZWRldXRlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZSB6dSBNJC1GaWxlcyAoVHJ1ZywgMjguIEFwciAxOTk5LCAxMjowODoxNyk6Cn4jISBybj1Cb2luZyBydD05MjUyOTMyODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1MjkwMDc3Ck1vcmdvdGggd2FyIHNjaG9uIHJpY2h0aWcgbWl0IGRlciBWZXJtdXR1bmcsIGRhc3MgZXMgVm9sbHRleHRpbmRpY2VzIHNpbmQuCgpEaWVzZSBEYXRlaWVuIHdlcmRlbiB2b24gTVMtT2ZmaWNlIGJ6dy4gZGVuIFN1Y2hwcm9ncmFtbSAoV2VpbiBtb2RpZml6aWVydGVzCldpbmRvd3MtRikgZXJzdGVsbHQuCgpTdWNodCBtYWwgaW0gU3RhcnRtZW51ZSBkZW4gTWVudXB1bmt0ICJJbmRleGVyc3RlbGx1bmciLCBkb3J0IGthbm4gbWFuIGRhcwprb250cm9sbGllcmVuLiBJc3QgZ2xhdWIgaWNoIHNvZ2FyIGF1Y2ggaW4gZGVyIFN5c3RlbXN0ZXVlcnVuZyBkYXJpbi4KClRydWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyYWdlIHp1IE0kLUZpbGVzIChNdWFkaWIsIDI4LiBBcHIgMTk5OSwgMTM6MDI6NDkpOgp+IyEgcm49Qm9pbmcgcnQ9OTI1MjkzMjgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTI5MDA3NwpoaSwKCmRhcyBrb21tdCB2b24gZGVyIGluZGV4ZXJzdGVsbHVuZyB2b24gbXMtb2ZmaWNlCnp1IGtvbnRyb2xsaWVyZW4gdW50ZXIgc3RhcnQtPmVpbnN0ZWxsdW5nZW4tPnN5c3RlbXN0ZXVlcnVuZy0+aW5kZXhlcnN0ZWxsdW5nCgp2aWVsIHNwYXNzCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZSB6dSBNJC1GaWxlcyAoR29yLCAyOC4gQXByIDE5OTksIDEzOjI1OjQ5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTI1MjkwMDc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTI5MDA3NwpTb3ZpZWwgaWNoIHdlaXNzIGlzdCBkYXMgemV1ZyB2b20gQWRvYmUgUGhvdG9zaG9wLiBEdSBrYW5uc3QgZGllIERpbmdlcgpsb2VzY2hlbiBhYmVyIHNpZSB3ZXJkZW4gYmVpIGVpbmVtIGVybmV1dGVuIFN0YXJ0IHdpZWRlciBhbmdlbGVndC4KCkdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmFnZSB6dSBNJC1GaWxlcyAoTGFyaXNzYSwgMjkuIEFwciAxOTk5LCAyMDozNjoyOSk6Cn4jISBybj1Hb3IgcnQ9OTI1Mjk4NzQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTI5MDA3NwpIaSwKCmRpZSBEYXRlaWVuIHN0aW5kIGRpZSBWb2xsdGV4dC1JbmRpY2VzIHZvbSBmYXN0ZmluZCB2b20gTVNPRkZJQ0U5Ny4KCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXRvbWFwcGVyIChNdXJrZXMsIDMwLiBBcHIgMTk5OSwgMDg6NDA6MjYpOgpIaSwKCmVzIGdpYnQgZG9jaCBzbyBwcmFrdGlzY2hlIE11ZGNsaWVudHMgbWl0IEF1dG9tYXBwZXIuIFNvd2FzIGhhZXR0ZSBpY2ggYXVjaApnZXJuIDopIEFsc28sIHdhcyBmdW5rdGlvbmllcnQgZ3V0IHVuZCB3byBrcmllZyBpY2ggZXMgaGVyPyBBY2ggamEsClJlY2huZXJtYWVzc2lnIHdhZXJlIGVzIGdhbnogbmV0dCwgd2VubiBlcyBlbnR3ZWRlciBhdWYgJ25lciBTdW4sIGF1ZiAnbmVyCkFJWC1raXN0ZSBvZGVyIHVudGVyIFdpbk5UIGxhZXVmdC4KCk11cmtlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1dG9tYXBwZXIgKE1vcmdvdGgsIDMwLiBBcHIgMTk5OSwgMDg6NDQ6MTApOgp+IyEgcm49TXVya2VzIHJ0PTkyNTQ1NDQyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjU0NTQ0MjYKVW50ZXIgVEYoYWxsZSBnYWVuZ2lnZW4gVW5peC1LaXN0ZW4pIGdpYnRzIHNvd2FzIHVuZCB1bnRlciB6TXVkIChhbGxlCmFic3R1ZXJ6ZW5kZW4gV2luZG9vZi1TeXN0ZW1lKSBhdWNoLiA7LSkpCgpGdWVyIFRGIC0+IGZpbmdlciByaW5nb3IKRnVlciB6TXVkID8/PyAKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEF1dG9tYXBwZXIgKEFwc3UsIDMwLiBBcHIgMTk5OSwgMDk6MzA6MjEpOgp+IyEgcm49TW9yZ290aCBydD05MjU0NTQ2NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1NDU0NDI2CkZ1ZXIgVEYgZ2lidHMgYXV0b21hcHBlcj8gd293b3dvd28/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGcmFnZSB6dSBNJC1GaWxlcyAoR3JpbW1ib3JuLCAzMC4gQXByIDE5OTksIDA5OjQxOjAzKToKfiMhIHJuPUxhcmlzc2EgcnQ9OTI1NDEwOTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTI5MDA3NwpEYXMgaXN0IG5pY2h0IGF1ZiBNU09mZmljZTk3IGJlc2NocmFlbmt0LCBhdWNoIGRhcyBPZmZpY2U5NSBtYWNodCBkYXMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXRvbWFwcGVyIChTdG9lcnRpLCAzMC4gQXByIDE5OTksIDE3OjEwOjE5KToKfiMhIHJuPU11cmtlcyBydD05MjU0NTQ0MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1NDU0NDI2CmZ1ZXIgd2luZG93cyBnaWJ0cyB6TXVkLgpGdWVyIFN1biB1bmQgUlMvNjAwMCAoZGllIEFJWCBraXN0ZSkgZ2lidHMgc293YXMgZ2xhdWJlIGljaCBuaWNodC4gClNlbGJlcnNjaHJlaWJlbiBpc3QgZGVyIG1hbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoudGlmLT4uZ2lmIChTdG9wZGVuYnVzLCAzMC4gQXByIDE5OTksIDE3OjIzOjEyKToKSGkgISEhCkljaCBzdWNoIG5lIE1vZWdsaWNoa2VpdCB1bnRlciBMaW51eCBqZWRlIE1lbmdlIG0qLnRpZiBuYWNoIG0qLmpwZyB6dQprb252ZXJnaWVyZW4uIGRhcyBnYW56ZSBhbSBiZXN0ZW4gYWxzIHNoZWxsc2NyaXB0LCBkZW5uIGljaCBoYWIgbmV0CmRpZSBMdXN0LCBhbGxlIGJpbGRlciBtaXQgeHYgb2RlciBnaW1wIHp1IG9lZmZuZW4sIHVuZCBqZWRlcyBlaW56ZWxuZQp6dSBrb252ZXJ0aWVyZW4sIGplbWFuZCBuZSBJZGVlIGRhenUgPwoKc3RvcGRlbmJ1cwoKUC5TLiBkYXMga29udmVyZ2llcmVuIGhlaXNzdCBuYXR1ZXJsaWNoIGtvbnZlcnRpZXJlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC50aWYtPi5naWYgKFN0cmVhd2tjZXVyLCAzMC4gQXByIDE5OTksIDE4OjQ5OjAwKToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTI1NDg1NzkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTQ4NTc5MgpIb2wgZGlyIG1hbCB2b24gaXJnZW5kd28gKGthbm4gc29nYXIgYXVmIGRlciBMaW51eCBDRCBzZWluKSBkaWUgTmV0UEJNIFRvb2xzLgpEYXMgc2luZCBuIGhhdWZlbiBLb21tYW5kb3plaWxlbnByb2dyYW1tZSB6dXIgS29udmVydGllcnVuZyB1bmQgQmVhcmJlaXR1bmcKZGlyZXJzZXIgR3JhZmlrZm9ybWF0ZS4KCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC50aWYtPi5naWYgKEhhdGUsIDMwLiBBcHIgMTk5OSwgMjE6NDc6MjYpOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTI1NDkwOTQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTQ4NTc5Mgpmb3IgaSBpbiAqOnRpZgoKbm9jaG1hbDoKCgpmb3IgaSBpbiAqLnRpZjsgZG8KICBjb252ZXJ0ICRpIEpQRzokaS5qcGcKZG9uZQoKbmFqYSwgbWl0IGVpbiBiaXNzY2hlbiBnZWJhc3RlbCBrcmllZ3QgbWFuIGF1Y2ggZGFzIC50aWYgbm9jaCB3ZWcuCkltYWdlTWFnaWNrIGlzdCBjb252ZXJ0CgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogLnRpZi0+LmdpZiAoU3RvcGRlbmJ1cywgMzAuIEFwciAxOTk5LCAyMTo1NTo1OCk6Cn4jISBybj1IYXRlIHJ0PTkyNTUwMTY0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjU0ODU3OTIKc3VwZXIsZGFzcHJvYmllciBpY2ggZ2xlaWNoIG1hbCBhdXMsIHRoeCAhISEKClNkQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogLnRpZi0+LmdpZiAoU3RvcGRlbmJ1cywgMzAuIEFwciAxOTk5LCAyMjoxODozOCk6Cn4jISBybj1TdG9wZGVuYnVzIHJ0PTkyNTUwMjE1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjU0ODU3OTIKc28sIGdsZWljaCBtYWwgbmVuIHJlcGx5IGF1ZiBtaWNoIHNlbGJzdCwgd2VubiBpY2ggZGllc2VzIGNvbnZlcnQgYmVudXR6CmhhdXRzIGZvbGdlbmRlbiBmZWhsZXJtZWxkdW5nIHJhdXM6CmNvbnZlcnQ6IG5vIGRlbGVnYXRlcyBjb25maWd1cmF0aW9uIGZpbGUgZm91bmQgKGRlbGVnYXRlcy5tZ2spLiAKCmFueSBpZGVhcyA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAudGlmLT4uZ2lmIChIYXRlLCAgMS4gTWFpIDE5OTksIDExOjE5OjA3KToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTI1NTAzNTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTQ4NTc5MgpCaXN0IER1IHNpY2hlciwgZGFzcyBEdSBkaWUgSW1hZ2VNYWdpY2sgRGlzdHJpYnV0aW9uIHJpY2h0aWcga29uZmlndXJpZXJ0Cmhhc3Q/IEJlaSBuZXIgTGludXggRGlzdCwgc29sbHRlIGRhcyBlaWdlbnRsaWNoIGFsbGVzIGZ1bmt0aW9uaWVyZW4uClNjaGF1IG1hbCBuYWNoIG9iIGRhcyBjb252ZXJ0IGF1Y2ggd2lya2xpY2ggdm9uIEltYWdlTWFnaWNrIGlzdCEgClByb2JpZXIgbWFsICJkaXNwbGF5IiBhdWZ6dXJ1ZmVuLCBkYSBtdWVzc3RlIGRhbm4gZWluIFZpZXdlciBmdWVyIEJpbGRlcgpnZXN0YXJ0ZXQgd2VyZGVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IC50aWYtPi5naWYgKFN0b3BkZW5idXMsICAxLiBNYWkgMTk5OSwgMTI6NDU6MjkpOgp+IyEgcm49SGF0ZSBydD05MjU1NTAzNDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1NDg1NzkyCmljaCBoYWIgc3VzZSBsaW51eCA2LjAgdW5kIGljaCBoYWIgSW1hZ2VNYWdpY2sgb3JnaW5hbCB2b24gZGVyIGNkIAppbnN0YWxsaWVydC4gImRpc3BsYXkiIGZ1bnp0IGF1Y2gsIGFiZXIgYmVpbSBzdGFydGVuIGthbSBkYW5uIGF1Y2ggd2llZGVyCmRpZSBtZWxkdW5nICJkaXNwbGF5OiBubyBkZWxlZ2F0ZXMgY29uZmlndXJhdGlvbiBmaWxlIGZvdW5kIChkZWxlZ2F0ZXMubWdrKS4iCmFiZXIgQmlsZGVyIGthbm4gbWFuIHNpY2ggdHJvdHpkZW0gZGFtaXQgYW5ndWNrZW4KKmV0d2FzIHJhdGxvcyBzZWkqClNkQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogLnRpZi0+LmdpZiAoU3RyZWF3a2NldXIsICAxLiBNYWkgMTk5OSwgMTI6NDg6NTgpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05MjU1NTU1Mjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1NDg1NzkyCk5pbW0gaGFsdCBOZXRQQk0gOi0pLiBJc3QgYXVjaCBhdWYgZGVyIFN1U0UgQ0QgZHJhdWYuLi4KCnJyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAudGlmLT4uZ2lmIChTdG9wZGVuYnVzLCAgMS4gTWFpIDE5OTksIDEyOjUzOjE5KToKfiMhIHJuPVN0cmVhd2tjZXVyIHJ0PTkyNTU1NTczOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjU0ODU3OTIKaG1tLGljaCBoYWIgamV0enQgcmF1c2dlZnVuZGVuLCBkZXIgZXIgZG9jaCBjb252ZXJ0aWVydCwgbnVyIGhhbHQgbWl0CmRpZXNlciBmZWhsZXJtZWxkdW5nIGltbWVyICp6dWNrKiBuYWphLCB3YXMgc29sbHMsIGhhdXB0c2FjaCBmdW56dCA6KQoKU2RCCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiAudGlmLT4uZ2lmIChBcHN1LCAgMS4gTWFpIDE5OTksIDE0OjI0OjU0KToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTI1NTU1OTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNTQ4NTc5MgpBZXVzc2Vyc3QgdW5lbGVnYW50LCBhYmVyOiBTdGRlcnIgbmFjaCAvZGV2L251bGwgcGlwZW4sIGRhbm4gaGF0IG1hbiBlaW4KInBlcmZla3RlcyIgc2tyaXB0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUVEYgRk9udCBnZXN1Y2h0IChEZW1vbmF6LCAgMi4gTWFpIDE5OTksIDAyOjQ4OjExKToKTW9pbiwKCmljaCBzdWNoZSBlaW5lbiBUVEYgRm9udCwgZGVyIGVpbiBnZWxhZW5ndGVzIGksIGQuaC4gbWl0IHdhYWdlcmVjaHRlbSBTdHJpY2gKYW5zdGVsZSBkZXMgUHVua3RlcyBiZXNpdHp0LiBLZW5udCBlaW5lciBlaW5lIEFkcmVzc2U/CgpEYW5rZQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAudGlmLT4uZ2lmIChSb2NodXMsICA0LiBNYWkgMTk5OSwgMTQ6MjU6MDYpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05MjU0ODU3OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1NDg1NzkyCk1pdCBkZW4gUEJNLVRvb2xzOgoKZm9yIGkgaW4gKi50aWY7IGRvCiAgdGlmZnRvcG5tICRpIHwgcHBtcXVhbnQgMjU2IHwgcHBtdG9naWYgPmBiYXNlbmFtZSAkaSAudGlmYC5naWYKZG9uZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2VybmVscHJvYiAoU3RvcGRlbmJ1cywgIDQuIE1haSAxOTk5LCAyMjozODozMyk6CnNvLCBpY2ggbWEgd2llZGVyLCBkaWVzbWFsIG1pdCBuZW0gbmV1ZW0gUHJvYmxlbSwgaWNoIGhhYiBtaXIgZGVuIDIuMi43ZXIKS2VybmVsIGdlem9nZW4gdW5kIHVlYmVyc2V0enQsIGFiZXIgZWluZSBNZWxkdW5nIGJlaW0gYm9vdGVuIHZlcndpcnJ0IG1pY2gKZXR3YXM6Cm1vZHByb2JlOiBjYW4ndCBsb2NhdGUgbW9kdWxlIGNoYXItbWFqb3ItNApuYWphLCBkYXMgbW9kdWwgZ2licyB0YXRzYWVjaGxpY2ggbmV0LCBpY2ggaGFiIGV3aWcgYmVpIGRlciBLb25maWd1cmF0aW9uCmRlcyBLZXJuZWxzIGdlc3VjaHQsIGFiZXIga2VpbmVuIGVudHNwcmVjaGVuZGVuIGVpbnRyYWcgZ2VmdW5kZW4sIHdlaXNzCndlciwgd28gaWNoIGRhcyBlaW5zdGVsbGVuIGthbm4gPwoKU2RCCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2VybmVscHJvYiAoSGFkcmEsICA1LiBNYWkgMTk5OSwgMDA6NTA6MDEpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05MjU4NTAzMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI1ODUwMzEzCmR1IGhhc3QgdmVyZ2Vzc2VuIGluIC91c3Ivc3JjL2xpbnV4L0RvY3VtZW50YXRpb24gbWFsIGluIGRhcyBmaWxlIG1pdCBkZW0KbmFtZW4gQ2hhbmdlcyB6dSBzY2hhdWVuLgpzb2ZvcnRoaWxmZToKZWNobyAiY2hhci1tYWpvci00IG9mZiIgPj4gL2V0Yy9jb25mLm1vZHVsZXMKZGFuYWNoOgpsZXNlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1dG9tYXBwZXIgKE1lc2lyaWksICA3LiBNYWkgMTk5OSwgMDY6MDk6MDApOgp+IyEgcm49TXVya2VzIHJ0PTkyNTQ1NDQyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjU0NTQ0MjYKQWxzbyBuaWNodCBnYW56IGVpbiBBVVRPIE1hcHBlciBhYmVyIHNvd2FzIGluIGRlciBBcnQgZmluZGV0IGlociB1bnRlcgpodHRwOi8vd3d3LmluZi50dS1kcmVzZGVuLmRlL35taDE0L3RmL21hcApkYSBlcyBpbiBqYXZhIGdlc2NocmllYmVuIGlzdCwgc29sbHRlIGVzIGF1ZiBqZWRlbSBTeXN0ZW0gbWl0IGRlciBKVk0gbGF1ZmVuCmVzIGlzdCBhdWNoIHVlYmVyIG5lbiBwb3J0IGZlcm5zdGV1ZXJiYXIgKHouYi4gdm9uIHRmIGF1cykKVmllbCBTcGFzcyBkYW1pdCB1bmQgQnVncyB1bmQgSWRlZW4gYW4gbWljaC4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKeGZpZy1Qcm9ibGVtZSAoWGVub24sIDE2LiBNYWkgMTk5OSwgMjM6MDM6MjIpOgpJY2ggaGFiIGVpbiBQcm9ibGVtIG1pdCB4ZmlnLCB3YXMgZXMgbWlyIGJpcyBqZXR6dCB2ZXJsZWlkZXQgaGF0IG1pY2ggbWl0IGRlbQpQcm9ncmFtbSBtYWwgcmljaHRpZyBhdXNlaW5hbmRlcnp1c2V0emVuLgpJbW1lciB3ZW5uIGljaCBlcyBzdGFydGUgbWFjaHQgZXMgZGFzIEZlbnN0ZXIgKFgxMSwgTGludXgsIEtERSwgNjAwWDgwMCkgenUKZ3JvLiBHdXQgbWFjaHQgbml4IDopIGthbm4gbWFuIGphIHJlc2l6ZW4uIApBYmVyIGFiZXIgLi4uIGRhIHNjaG5laWRldHMgbWlyIGRvY2ggZ2xhdHQgZGllIEJ1dHRvbmxlaXN0ZSAoZGllIGFtIGxpbmtlbgpSYW5kKSB1bnRlbiBhYi4gVW5kIHp1IHdlaXRlcmVuIFVuZ2xjayBpc3QgbWVpbiBTY2FsZWJ1dHRvbiBhdWNoIG5vY2ggZHJ1bnRlcgp2ZXJzdGVja3QuIFdlaSBkYSB3ZXIgbmUgTHN1bmc/CkJpdHRlIG5pY2h0IEF1ZmxzdW5nIGVyaGhlbiwgaGFiIG5hZW1saWNoIGtlaW5lIEx1c3QgZWluIGVpbmUgRmxpbW1lcmtpc3RlCnp1IEd1Y2tlbi4KCkRhbmtlIFhlbm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogeGZpZy1Qcm9ibGVtZSAoQWNyaW1vbiwgMTcuIE1haSAxOTk5LCAxNzo0Mzo1MCk6Cn4jISBybj1YZW5vbiBydD05MjY4ODg2MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI2ODg4NjAyCkxvZXN1bmc6Ck1hbiB2ZXJ3ZW5kZSBlaW5lbiB2ZXJudWVuZnRpZ2VuIFdpbmRvd21hbmFnZXIuCkFtIGJlc3RlbiB0dnR3bSBvZGVyIGZ2d20yLgo6V2VzZW50bGljaCBpc3QsIGRhc3ogZGllc2UgV00gKnZpcnR1ZWxsZSogQmlsZHNjaGlybWUgdmVyd2FsdGVuIGtvZW5uZW4sIGRpZQp1bSBlaW4gVmllbGZhY2hlcyBncm9lc3plciBhbHMgZGVyIHRhdHNhZWNobGljaCBzaWNodGJhcmUgQXVzc2Nobml0dCBzaW5kLgpJY2ggc2VsYnN0IHZlcndlbmRlIGVpbmVuIEJpbGRzY2hpcm0gZGVyIEdyb2VzemUgMjQ4MCAqIDMwNzIgUGl4ZWwsIGRhcyBpc3QKZGllIGJlc3RlIEFyYmVpdHNvYmVyZmxhZWNoZS4KQXVmIFd1bnNjaCBrYW5uIGljaCBLb25maWd1cmF0aW9uc2ZpbGVzIHZlcnNjaGlja2VuLgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHhmaWctUHJvYmxlbWUgKEhvb2QsIDE3LiBNYWkgMTk5OSwgMTg6MjI6MTUpOgp+IyEgcm49QWNyaW1vbiBydD05MjY5NTU4MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI2ODg4NjAyCmVzIGlzdCBsdXN0aWcsIHdhcyBkdSBhbGxlcyBhbHMgJ2Jlc3RlJyB1bmQgJ3RvbGxzdGUnIGRla2xhcmllcnN0LgpnaWJ0IGVzIG51biBhdWNoIGJhbGQgZGFzIGFjcmltb24tcG9uZGV1IGVpbmVzCndpbmRvd3MyMDAwLWRlc2lnbmVkLXN0aWNrZXJzPyA7KQplaW4gaGlud2VpcyBhdWYgZGllIHN1Ympla3Rpdml0YWV0IGRlaW5lciBkZXNpZ25iZXpvZ2VuZW4gZW1wZmluZHVuZ2VuIGlzdAphbmRlcmVyc2VpdHMgaW4gYW5iZXRyYWNodCBnZXdpc3NlciBzei12b3JsaWViZW4gbmF0dWVybGljaCB2b2VsbGlnCnJlZHVuZGFudC4gc28gZ2VzZWhlbi4uLgoKLS0tLS0tCnBhdHJ5biwgZXJ3YWVnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB4ZmlnLVByb2JsZW1lIChBY3JpbW9uLCAxNy4gTWFpIDE5OTksIDIxOjM3OjI5KToKfiMhIHJuPUhvb2QgcnQ9OTI2OTU4MTM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNjg4ODYwMgpIYXN0IGR1IHdhcyBnZWdlbiBtZWluZSBWb3JsaWViZW4/IDotKQooSW0gVWVicmlnZW4gaGFzc2UgaWNoIFdpbmRvb2YsIGVnYWwgd2llIGRvb2YgZXMgaXN0ICg5NSwgOTgsIDIwMDAsIC4uLikpLgpXZW5uIER1IGVpbmVuIG5vY2ggYmVzc2VyZW4gTG9lc3VuZ3N2b3JzY2hsYWcgYWxzIGVpbmVuIHZpcnR1ZWxsZW4KV2luZG93bWFuYWdlciBoYXN0LCBkYW5uIGdpYiBpaG4gZG9jaCBiZWthbm50LiBFZ2FsIG9iIGRhcyBkZWluZSBWb3JsaWViZSBpc3QKb2RlciBuaWNodC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogeGZpZy1Qcm9ibGVtZSAoR3JpbW1ib3JuLCAxNy4gTWFpIDE5OTksIDIzOjI0OjM1KToKfiMhIHJuPUFjcmltb24gcnQ9OTI2OTY5ODQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNjg4ODYwMgpJY2ggemllaGUgZWluZSBIYW5kdm9sbCB2aXJ0dWVsbGVyIERlc2t0b3BzIGplZGVyemVpdCBlaW5lbSBncm9zc2VuIHZpcnR1ZWxsZW4KQmlsZHNjaGlybSB2b3IuIE5pY2h0cyBpc3QgbmVydmlnZXIgYWxzIHdlbm4gc2ljaCBhbGxlcyB2ZXJzY2hpZWJ0LCBudXIgd2VpbAptYW4gZXMgZ2V3YWd0IGhhdCBtaXQgZGVyIE1hdXMgYW4gZGVuIEJpbGRzY2hpcm1yYW5kIHp1IGtvbW1lbi4gQWJlciBzb3dhcyBpc3QKc2ljaGVyIEdlc2NobWFja3NzYWNoZS4uLgoKV2FzIGRhcyB4ZmlnLVByb2JsZW0gYW5nZWh0IGxvaG50IHZpZWxsZWljaHQgZWluIEJsaWNrIGluIGRpZSBYcmVzb3VyY2VuIGluCmRlciBtYW4gcGFnZS4gSWNoIGhhYiBkYSBudXIga3VyeiBkcnVlYmVyZ2VzY2hhdXQsIGRhcyBrbGFzc2lzY2hlICItZ2VvbWV0cnkiCmdpYnRzIGF1Y2guIERhcyBQcm9ibGVtIGlzdCBhbGxlcmRpbmdzLCBkYXNzIGVyIHNpY2ggaW4gZGVyIHZlcnRpa2FsZW4Kd2VpZ2VydCwgZGllIEJ1dHRvbnMgenUgem9vbWVuIChpbmkgZGVyIGhvcml6b250YWxlbiBrbGFwcHQgZGFzIHd1bmRlcmJhcikuCk1vZWdsaWNoZXJ3ZWlzZSBmaW5kZXQgc2ljaCBkb3J0IHdhcyB3b21pdCBtYW4gZGFzIGJlZWluZmx1c3NlbiBrYW5uLgoKVW5kIHdlbm4gZ2FyIG5pY2h0cyBtZWhyIGhpbGZ0OiBGdWVyIHVtIDQwMERNIGdpYnRzIHNlaHIgYnJhdWNoYmFyZSAxNyJlciwgZGllCm1hbiB3dW5kZXJiYXIgbWl0IDEyODB4MTAyNCBhbnN0ZXVlcm4ga2Fubi4gRGEgdHJhZXVtZSBpY2ggYXVjaCBzY2hvbiBuZSBXZWlsZQp2b24sIGF1Y2ggd2VubiBpY2ggbWljaCBhbiBkaWUgMTAyNHg3NjggYXVmIG1laW5lbSBhbHRlbiAxNWVyIG1pdCAzeDMgdmlydHVhbApkZXNrdG9wcyAoamEsIEFjcmltb24sIGZ2d20yLiBLREUgbWFjaHQgbWl0IDY0TUIgbmljaHQgd2lya2xpY2ggU3Bhc3MsCmFiZ2VzZWhlbiBkYXZvbiBkYXNzIG1hbiBkYW1pdCBhbGxnZW1laW4gbnVyIGVpbmdlc2NocmFlbmt0IGFyYmVpdGVuIGthbm4pCmdld29laG50IGhhYmUuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHhmaWctUHJvYmxlbWUgKEFjcmltb24sIDE4LiBNYWkgMTk5OSwgMTQ6NDg6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkyNjk3NjI3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjY4ODg2MDIKUmljaHRpZywgZWluZW4gdmlydHVlbGxlbiBXTSBzb2xsdGUgbWFuIHNvIGVpbnN0ZWxsZW4sIGRhc3ogc2ljaCBkZXIKQmlsZHNjaGlybSAqbmljaHQqIHZlcnNjaGllYnQsIHdlbm4gbWFuIGFuIGRlbiBGZW5zdGVycmFuZCBrb21tdCwgd2VpbCBzb3dhcwpzZWhyIGxlaWNodCBuZXJ2dC4gU3RhdHRkZXNzZW4gc29sbHRlIG1hbiBkZW4gUGFnZXIgc2ljaHRiYXIgbWFjaGVuLgpJbSBVZWJyaWdlbiBoZWxmZW4gRGVza3RvcHMsIGRpZSBudXIgc28ga2xlaW4gd2llIGRlciBCaWxkc2NoaXJtIHNpbmQsIG5pY2h0CmJlaSB1bnNlcmVtIFByb2JsZW0gd2VpdGVyLCB3ZWlsIGRlciB4ZmlnIGphIGdyb2VzemVyIGlzdC4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogeGZpZy1Qcm9ibGVtZSAoR3JpbW1ib3JuLCAxOC4gTWFpIDE5OTksIDE1OjMyOjU2KToKfiMhIHJuPUFjcmltb24gcnQ9OTI3MDMxNzIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyNjg4ODYwMgpJY2ggd2VyZGUgZGVuIEVpbmRydWNrIG5pY2h0IGxvcyBkYXNzIER1IHZpcnR1ZWxsZSBkZXNrdG9wcyB1bmQgdmlydHVlbGxlCkJpbGRzY2hpcm1lIHZlcndlY2hzZWxzdC4gRXJzdGVyZSBzdGVsbHQgbWFuIGltIHdtIGVpbiB1bmQgaGF0IGVudHdlZGVyIGRlbgplaW5lbiBvZGVyIGRlbiBhbmRlcmVuIGF1ZiBkZW0gQmlsZHNjaGlybS4gQmVpIHZpZWxlbSB3bSBpc3QgZXMgc28sIGRhc3MgZGFzLAp3YXMgYW0gZWluZW4gdmQgcmF1c2d1Y2t0IGluIGRlbiBhbmdyZW56ZW5kZW4gcmVpbnJhZ3QuIERpZXNlcyBTeXN0ZW0KYmV2b3J6dWdlIGljaC4gTm90ZmFsbHMga2FubiBkYW5uIHouQi4geGZpZyB0ZWlsd2Vpc2UgaW4gYW5kZXJlIHZkcyByZWlucmFnZW4KdW5kIHdlbm4gaWNoIGFuIGRpZSBkb3J0aWdlbiBGdW5rdGlvbmVuIHdpbGwga2FubiBpY2ggKHouQi4pIG1pdCBjdHJsLWN1cnNlcgpkYWhpbiB1bXNjaGFsdGVuIHdvIGRpZSBTY2hhbHRmbGFlY2hlbiBzaW5kLgoKVmlydHVlbGxlIEJpbGRzY2hpcm1lIGhpbmdlZ2VuIHdlcmRlbiBpbiBkZXIgWEY4NkNvbmZpZyBlaW5nZXRyYWdlbiB1bmQgc293ZWl0CmljaCBzaWUgZXJsZWJ0IGhhYmUgKG51ciBrdXJ6Li4uKSByb2xsZW4gZGllIGF1dG9tYXRpc2NoLCB3ZW5uIG1hbiBhbiBkaWUKR3JlbnplbiBkZXMgQmlsZHNjaGlybXMgbWl0IGRlciBNYXVzIGtvbW10LiBEaWVzZSB2aXJ0YWwgc2NyZWVucyBzaW5kIHZvbSB3bQp1bmFiaGFlbmdpZyB1bmQgbXVlc3NlbiAiaW4gZGllIEdyYXBoaWtrYXJ0ZSIgcGFzc2VuLiBELmguIHdlbm4gRHUgZGllIHZvbiBEaXIKYmVzY2hyaWViZW5lIHZpcnR1YWwgc2NyZWVuIHNpemUgbWl0IG1laHIgYWxzIDhicHAgZmFlaHJzdCBkdWVyZnRlIERlaW5lCkdyYXBoaWtrYXJ0ZSBtZWhyIFNwZWljaGVyIGhhYmVuIGFscyBtZWluIFJlY2huZXIuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHhmaWctUHJvYmxlbWUgKEFjcmltb24sIDE5LiBNYWkgMTk5OSwgMTc6Mzc6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkyNzAzNDM3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjY4ODg2MDIKRXMgZ2lidCBhYmVyIG5vY2ggZXR3YXMgRHJpdHRlcywgR3JpbW1ib3JuOgpFaW4gZWluemlnZXIgVkQgKG5pY2h0IG1laHJlcmUpLCBhYmVyIGRpZXNlciBWRCBpc3Qgd2VzZW50bGljaCBncm9lc3plciBhbHMKZGVyIGRhcnN0ZWxsYmFyZSBBdXNzY2huaXR0LiBEYXMgaXN0IChmYXN0KSBkYXNzZWxiZSB3aWUgZWluIHZpcnR1ZWxsZXIgU2NyZWVuCm1pdCBkZW0gZWluemlnZW4gVW50ZXJzY2hpZWQsIGRhc3ogZGllc2VyIHZpcnR1ZWxsZSBTY3JlZW4gdW50ZXIgZGVyIEtvbnRyb2xsZQpkZXMgV00gaXN0IHVuZCBtYW4gc29taXQgZGl2ZXJzZSBTYWNoZW4gZWluc3RlbGxlbiBrYW5uLiAoRWRnZVJlc2lzdGFuY2UsCkVkZ2VTY3JvbGxpbmcsIFZpcnR1YWxQYWdlciwgU2NyZWVuU2l6ZSwgLi4uKQpBbnNjaGVpbmVuZCB2ZXJ3ZW5kZXN0IER1IGRhcyBhdWNoLCBhYmVyIGZhaHJlIGVpbm1hbCBtaXQgZGVyIGdlZHJ1ZWNrdGVuCipyZWNodGVuKiBNYXVzdGFzdGUgaW0gUGFnZXIgZGVzIGZ2d20gaGVydW0sIGRhbm4gd2lyc3QgRHUgZGFuYWNoIGRpZXNlCk9iZXJmbGFlY2hlIHNpY2hlcmxpY2ggbmljaHQgbWVociBhbHMgIm1laHJlcmUgYW5ncmVuemVuZGUgVkRzIiBiZXplaWNobmVuLApzb25kZXJuIGFscyAiZWluIGVpbnppZ2VyIHVlYmVyZ3Jvc3plciBWRCIuClVlYnJpZ2VucyBoYXQgdHZ0d20gZGllc2VuIFZEIHdlc2VudGxpY2ggYmVzc2VyIHVuZCBzYXViZXJlciBhbHMgZnZ3bTIKaW1wbGVtZW50aWVydCwgZGVubiBpbSBmdndtMiB3ZXJkZW4gZWlnZW50bGljaCBudXIgZGllIEZlbnN0ZXIgdmVyc2Nob2JlbiwKd2FlaHJlbmQgaW0gdHZ0d20gdGF0c2FlY2hsaWNoIGRlciBnYW56ZSBWRCB2ZXJzY2hvYmVuIHdpcmQuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoQmFtYnVsa28sICAyLiBKdW4gMTk5OSwgMTU6NTA6NDgpOgpJY2ggaGFiZSBlaW5lIFNvdW5kYmxhc3RlciAzMiB1bnRlciBMaW51eCAoU3VzZSA2LjApIGluc3RhbGxpZXJ0IHVuZCBlcyBrbGFwcHQKZWlnZW50bGljaCBhdWNoLCBudXIgd2VubiBpY2ggZ3Jvc3NlIHdhdi1maWxlcyBhYnNwaWVsZW4gd2lsbCwga29tbXQgbnVyIG11ZWxsCmF1cyBkZW4gTGF1dHNwcmVjaGVybi4uLi4KV29yYW4ga2FubiBkYXMgbGllZ2VuPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKEdyaW1tYm9ybiwgIDIuIEp1biAxOTk5LCAyMjo0ODozMSk6Cn4jISBybj1CYW1idWxrbyBydD05MjgzMzE0NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4ClBDSSBvZGVyIElTQT8gV2VubiBpY2ggZGFzIHJpY2h0aWcgaW0gS29wZiBoYWJlIGlzdCBkaWUgVW50ZXJzdHVldHp1bmcgZGVyClBDSS1LYXJ0ZW4gbm9jaCBlaGVyIHJ1ZGltZW50YWVyLgpBbnNvbnN0ZW4gc29sbHRlc3QgRHUgRGljaCBhbiAvdXNyL3NyYy9saW51eC9Eb2N1bWVudGF0aW9uL3NvdW5kL0FXRTMyIGhhbHRlbiwKZGFubiBrYW5uIGVpZ2VudGxpY2ggbmljaHRzIHNjaGllZmdlaGVuLiBEYXNzIGRlciBSZWNobmVyIFVudGVyc2NoaWVkZQp6d2lzY2hlbiBncm9zc2VuIHVuZCBrbGVpbmVuIC53YXYncyBtYWNodCBob2VydCBzaWNoIGZ1ZXIgbWljaCBuYWNoIE1hZ2llIGFuLgpHaWIgZG9jaCBtYWwgbmVuIEhpbndlaXMgYmlzIHp1IHdlbGNoZXIgR3JvZXNzZSBkaWUgZnVua3Rpb25pZXJlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKFNoYXJpYSwgIDMuIEp1biAxOTk5LCAxMTo1ODo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTI4MzU2NTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OAppY2ggaGFiIGRlbiBTb3VuZGJsYXN0ZXIgTGl2ZSEgVmFsdWUgRWRpdGlvbiBpbiBtZWluZW0gUmVjaG5lciBhYmVyIGJla29tbSBpaG4KdW50ZXIgU3VzZSA2LjAgZ2FybmljaHQgenVtIGxhdWZlbi4uLi4uIChhdWNoIG5lIFBDSSB2ZXJzaW9uIDopICkga2FubiBtaXIgZGEKamVtYW5kIGlyZ2VuZHdlbGNoZSBUaXBzIGdlYmVuID86KSkpCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoU3RpbmcsICAzLiBKdW4gMTk5OSwgMTE6NTk6MzIpOgp+IyEgcm49U2hhcmlhIHJ0PTkyODQwMzkyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjgzMzE0NDgKTmltbSBlaW4gcmljaHRpZ2UgQlMgd28gX2FsbGVzXyBsYWV1ZnQgOikKClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKFNoYXJpYSwgIDMuIEp1biAxOTk5LCAxMjowMDoxNCk6Cn4jISBybj1TdGluZyBydD05Mjg0MDM5NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4CnBmZmZmZmZ0ICEKdW50ZXIgd2luZG9vZiBsYWV1ZnRzIGphIGF1Y2ggLi4uIGFiZXIgZXMgZ2lidCBsZXV0ZSBkaWUgc2Nod29lcmVuCnRhdHNhZWNobGljaCBhdWYgMiAhISEgQmV0cmllYnNzeXN0ZW1lIDopIGplIG5hY2ggZGVtIHdhcyBtYW4gbWFjaGVuIG1vZWNodGUKOikKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU291bmJsYXN0ZXIgdW50ZXIgTGludXghIChTdGluZywgIDMuIEp1biAxOTk5LCAxMjowMDo1OCk6Cn4jISBybj1TaGFyaWEgcnQ9OTI4NDA0MDE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OAoqa2ljaGVyKiBzdGltbXQgamEgYXVjaCwgYWJlciBnZXJhZGUgYmVpIHNvbGNoZW4gc2FjaGVuIHdpZSBuZXVlcgpzb3VuZGhhcmR3YXJlIGhhYiBpY2ggdW50ZXIgbGludXgga2VpbmUgZ3V0ZW4gZXJmYWhydW5nZW4gZ2VtYWNodCA6KQoKU3RpbmcKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoSGVsLCAgMy4gSnVuIDE5OTksIDEyOjAwOjU5KToKfiMhIHJuPVNoYXJpYSBydD05Mjg0MDM5MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4CldlbGNoZXIgS2VybmVsPyAyLjAuWCBvZGVyIDIuMi5YPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU291bmJsYXN0ZXIgdW50ZXIgTGludXghIChTaGFyaWEsICAzLiBKdW4gMTk5OSwgMTI6MDI6MDApOgp+IyEgcm49SGVsIHJ0PTkyODQwNDA1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjgzMzE0NDgKbGVpZGVyIG5lbiAyLjAueGVyIGtlcm5lbCAuLi4gYWJlciBzb2xsdGUga2VpbiBwcm9iIHNlaW4gbmVuIDIuMi54ZXIgenUgbmVobWVuCndlbm4gbWFuIG1pciBkYW1pdCB3ZWl0ZXJoZWxmZW4ga2FubiA6KSkpCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoSGVsLCAgMy4gSnVuIDE5OTksIDEyOjA0OjAyKToKfiMhIHJuPVNoYXJpYSBydD05Mjg0MDQxMjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4ClBDSSBTb3VuZGthcnRlbiBsYXVmZW4gdW50ZXIgMi4wLlggbmljaHQgenVmcmllZGVuc3RlbGxlbmQgLi4uIG5pbW0gMi4yLlggdW5kCnZlcnN1Y2hlIG1hbCBkZW4gRVMxMzcwIG9kZXIgRVMxMzcxIFRyZWliZXIgLi4uCgotaGVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKE11cGZlbCwgIDMuIEp1biAxOTk5LCAxMjowNDoxNCk6Cn4jISBybj1TdGluZyBydD05Mjg0MDM5NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4ClN0aW1tdCwgd2FzIHdpbHN0IGR1IG1pdCBzb3VuZCB1bnRlciBsaW51eD8gZGVyIHJlY2huZXIgYW4gc2ljaCBtdXNzIHN0aWxsCnNlaW4gdW5kIG5pY2h0IGF1Y2ggbm9jaCBydW1icmFiYmVsbiA6LSkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKFNoYXJpYSwgIDMuIEp1biAxOTk5LCAxMjowNzo0NCk6Cn4jISBybj1NdXBmZWwgcnQ9OTI4NDA0MjU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OAptZWluIHRyYXVtIGlzIGFiZXIgbmF0dWVybGljaCBhdWYgZGllIE1lbGR1bmcgImZhZWxsdCB0b3QgenUgQm9kZW4iIHp1CnRyaWdnZXJuIGRhc3MgbWVpbiBSZWNobmVyIGFuZmFlbmd0IHp1IHNjaHJlaWVuIDopKSkpICpsYWNoKgoKU2hhcmlhCgpkYW5rZSBoZWwgOi0pIGljaCB3ZXJkcyBtYWwgdGVzdGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKFJpbmdvciwgIDMuIEp1biAxOTk5LCAxNjoxMTowMyk6Cn4jISBybj1IZWwgcnQ9OTI4NDA0MjQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OApEaWUgU291bmRibGFzdGVyIExpdmUhIHdpcmQgbm9jaCBuaWNodCB2b20gS2VybmVsIHVudGVyc3R1ZXR6dC4gRWdhbCB3ZWxjaGUKVmVyc2lvbi4KCkFsbGVyZGluZ3MgaGF0IENyZWF0aXZlIG1pdHRsZXJ3ZWlsZSBlaW5lIEJldGEtVmVyc2lvbiBkZXMgVHJlaWJlcnMKdmVyb2VmZmVudGxpY2h0LiBBbHMgQmluYWVyZmlsZS4gQmVkZXV0ZXQ6IGZ1bmt0aW9uaWVydCBudXIgbWl0IGdhbnoKYmVzdGltbXRlbiBLZXJuZWx2ZXJzaW9uZW4uCgpNaXQgZGVyIFZlcm9lZmZlbnRsaWNodW5nIHZvbiBnZW5hdWVyZW4gSGFyZHdhcmVkYXRlbiB1bmQvb2RlciBkZXMKU291cmNlLUNvZGVzIGZ1ZXIgZGVuIFRyZWliZXIgaXN0IGVyc3QgZ2VnZW4gRW5kZSBkZXMgSmFocmVzIHp1IHJlY2huZW4uCgpEYXMgaXN0IGF1Y2ggZGVyIEdydW5kLCB3YXJ1bSBtYW5jaGUgKG5pY2h0IGFsbGUsIFN0aW5nIDspIG5ldWUgSGFyZHdhcmUgdW50ZXIKTGludXggbmljaHQgdW50ZXJzdHVldHp0IHdpcmQ6IHdlbm4gZWluZSBGaXJtYSB3ZWRlciBUcmVpYmVyIG5vY2ggRGF0ZW4genVyCkhhcmR3YXJlIGhlcmF1c3J1ZWNrdCwgaXN0IGVzICpldHdhcyogc2Nod2llcmlnLCBkaWVzZSBIYXJkd2FyZSB6dQp1bnRlcnN0dWV0emVuLgoKV2FzIGluIG1laW5lbiBBdWdlbiBuaWNodCBnZWdlbiBkYXMgQlMgc3ByaWNodCwgc29uZGVybiBlaGVyIGdlZ2VuIGRpZQpqZXdlaWxpZ2UgRmlybWEuCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoTHVyY2hpLCAgMy4gSnVuIDE5OTksIDE2OjIwOjQzKToKfiMhIHJuPVJpbmdvciBydD05Mjg0MTkwNjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4CgphbHNvIGJlaSBtaXIgKGFzdXMgcDJiIGJvYXJkLCBzdXNlIDYuMSBtaXQgMi4yLjUga2VybmVsKSBsYWV1ZnQgZGllIGxpdmUgdmFsdWUKd3VuZGVyYmFyCmVpbmZhY2ggc3VzZSBpbnN0YWxsaWVydCB1bmQgZmVydGlnLi4uCgpsdXJjaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoU2hhcmlhLCAgMy4gSnVuIDE5OTksIDIwOjM1OjM2KToKfiMhIHJuPUx1cmNoaSBydD05Mjg0MTk2NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4CmZlaW4gLi4uIGRhbm4gc29sbHRlIGljaCBtYWwgenVyIDYuMSB1bXN0ZWlnZW4gOi4uLiB1bnRlciBkZXIgNi4wIGJla29tbSBpY2hzCm5pY2ggaGluIC4uLiB3ZW5uIGljaHMgZGFubiBub2NoIG5pY2ggc2NoYWZmIGZyYWcgaWNoIGRpY2ggbWFsIGdhbnoKdmVydHJhdWVuc3ZvbGwgOikpKQoKU2hhcmlhLCBmcmV1dCBzaWNoIHVlYmVyIGRpZSByZXBseXMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKEdyaW1tYm9ybiwgIDMuIEp1biAxOTk5LCAyMTo0MzowNyk6Cn4jISBybj1TaGFyaWEgcnQ9OTI4NDA0MTIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OApEaXIga2FubiB3ZWl0ZXJoZWxmZW46Ci0gRnVlciBkaWUgU291bmRrYXJ0ZTogaHR0cDovL2NkYi5zdXNlLmRlL2NkYi9ELwotIEZ1ZXIgZGVuIGtlcm5lbDogL3Vzci9zcmMvbGludXgvUkVBRE1FCgpJbW1lciBmcm9oIGhlbGZlbiB6dSBrb2VubmVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKEdyaW1tYm9ybiwgIDMuIEp1biAxOTk5LCAyMTo0Mzo1Myk6Cn4jISBybj1NdXBmZWwgcnQ9OTI4NDA0MjU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OApBbHNvLCBpY2ggZmluZGUgZXMgc2Nob24gYW5nZW5laG1lciwgd2VubiBkaWUgVFYtS2FydGUgbmljaHQgbnVyIEJpbGRlcgpzb25kZXJuIGF1Y2ggVG9uIG1hY2hlbiBrYW5uLiBBYmVyIGRhcyBpc3QgdmllbGxlaWNodCBHZXNjaG1hY2tzc2FjaGUuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNvdW5ibGFzdGVyIHVudGVyIExpbnV4ISAoV2lsbG93LCAgMy4gSnVuIDE5OTksIDIyOjEwOjMyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05Mjg0Mzg5ODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4MzMxNDQ4CkhtbW0uLi4gR3JpbW1pLCBtZWluc3QgZHUgZXR3YXMgUlRGTT8/PwoKV2VpZGNoZW4gV2lsbG93IGhldXRlIG1hbCBlaW56ZWlsZXJuZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa3NvdW5kICYga3BwcCAoR25vbWUsICA0LiBKdW4gMTk5OSwgMDA6NTM6NDQpOgpoaSwKCmRhIHdpciBncmFkZSBiZWkgc291bmQgdW5kIGxpbnV4IHNpbmQuLi4gOikKCmhhYiBtZWluZSBzb3VuZGJsYXN0ZXIta29tcGF0aWJsZSBmYWNobWFlbm5pc2NoICpodWVzdGVsKiBlaW5nZWJ1bmRlbiwKZnVuenQgYXVjaCBzb3dlaXQgKGFsc28geDExYW1wIGxhZXVmdCksIGFiZXIgZGVyIGNkLXBsYXllciB1bnRlciBLREUKc2FjaHQga2VpbiB3b3J0Li4uIDotKAp3b3JhbiBsaWVndHM/Cgp6dW0gMi4gdmVyc3VjaCBpY2ggdWViZXIga3BwcCBzY2hvbiBzZWl0IHdvY2hlbiBvbmxpbmUgenUgZ2VoZW4sCmFiZXIgYWxsZSBiZW11ZWh1bmdlbiB6dW0gdHJvdHogbWFnIGVyIG5pY2h0LgplciBlcndhcnRldCBpbW1lciBzZWl0ZW5zIGRlcyBlaW53YWhsLXNlcnZlcnMgZGFzIENPTk5FQ1QsIGRhcwpiZXN0aW1tdCBhdWNoIGtvbW10ICh1bnRlciB3OTUgbGFldWZ0IG1laW4gaXNkbi1tb2RlbSBwcm9ibGVtbG9zKSwKZGFubiBtYWNodCBlciBuaWNodCB3ZWl0ZXIuCmtlbm50IHNpY2ggam1kIGRhbWl0IGF1cz8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTb3VuYmxhc3RlciB1bnRlciBMaW51eCEgKEdyaW1tYm9ybiwgIDQuIEp1biAxOTk5LCAwOTo0MzoyOSk6Cn4jISBybj1XaWxsb3cgcnQ9OTI4NDQwNjMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODMzMTQ0OApLbGFyLiBBYmVyIGljaCBmYW5kLCBpY2ggaGF0dGUgZXMgZHVyY2hhdXMgaG9lZmxpY2ggYXVzZ2VkcnVlY2t0LiBXYXMgZG9jaCBzbwplaW4gZ3V0ZXIgV2VpbiBmdWVyIEF1c3dpcmt1bmdlbiBhdWYgTGF1bmUgdW5kIFZlcmhhbHRlbiBoYWJlbiBrYW5uLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrc291bmQgJiBrcHBwIChIb29kLCAgNC4gSnVuIDE5OTksIDEwOjU1OjUxKToKfiMhIHJuPUdub21lIHJ0PTkyODQ1MDQyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg0NTA0MjQKZGVyIGNkLXBsYXllciB2b24ga2RlIHVuZCBkYXMgdmVyd2FuZHRlIHByb2dyYW1tIG14Y2Qgc2NoZWluZW4gZWluaWdlCnByb2JsZW1lIG1pdCB2ZXJzY2hpZWRlciBoYXJkd2FyZSBhdWZ6dXdlaXNlbi4KYmVpIHZpZWxlbiBjZC1yb20tbGF1ZndlcmtlbiBvZGVyIGJlc3RpbW10ZW4gc3lzdGVta29tcG9uZW50ZW4KZmluZGV0IGVzIGVudHdlZGVyIGdhciBrZWluZSBjZCBvZGVyIGVzIGthbm4gZGllIHN5bmMtc3B1ciB6dXIKdGl0ZWxhdWZmaW5kdW5nIGltIG5ldHogbmljaHQgYXVzbGVzZW4uIGRhcyBwcm9ibGVtIGhhYiBpY2ggbGVpZGVyIGF1Y2guCm1hbmNobWFsIGdlaHQgZXMsIG1hbmNobWFsIG5pY2h0LiB3ZW5uIGVzIGdlaHQsIGZhZW5ndCBlcyB1bnRlcgp1bXN0YWVuZGVuIG5hY2ggZWluZSB6ZWl0IGFuLCBkYXNzIHNpY2ggdmVybWVocnQgYXVzc2V0emVyIGVpbnNjaGxlaWNoZW4sIGJpcwplcyB2b2VsbGlnIHVuYW5ob2VyYmFyIHdpcmQuCgotLS0tLS0KcGF0cnluLCBoYXNzdCBsaW51eCdzICJtdWx0aW1lZGlhZmFlaGlna2VpdGVuIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBrc291bmQgJiBrcHBwIChHcmltbWJvcm4sICA0LiBKdW4gMTk5OSwgMTE6MDI6MzEpOgp+IyEgcm49SG9vZCBydD05Mjg0ODY1NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4NDUwNDI0CkFsc28sIGljaCBoYWJlIG1pdCBlaW5lbSBTdGFuZGFyZCBBVEFQSS1DRCBMYXVmd2VyayBrZWluZSBQcm9ibGVtZSBtaXQgZGVtCmtzY2QuIEtlaW5lIEF1c3NldHplciwga2VpbmUgUHJvYmxlbWUuIFVuZCBhdWYgZWluZW0gU0NTSS1MYXVmd2VyayBhbiBlaW5lbQphbmRlcmVuIFJlY2huZXIgYXVjaCBrZWluZSBQcm9ibGVtZS4KTmVydmlnIGlzdCBhbGxlcmRpbmdzIGRhcyBCZXN0cmViZW4gdm9uIGtzY2Qgc2FlbXRsaWNoZSBDRHMgKGF1Y2ggRGF0ZW4tQ0RzKQpmZXN0enVoYWx0ZW4gc28gZGFzcyBtYW4gZGllIENEcyBuaWNodCBlaW5mYWNoIHJhdXNrcmllZ3Qgc29uZGVybiBkaWUgbnVyIG5vY2gKdWViZXIga3NjZCBhdXN3ZXJmZW4ga2Fubi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBrYW5uIGF1ZiBzZWluZW0gUmVjaG5lciBNdWx0aW1lZGlhLiBXb3p1IGF1Y2ggaW1tZXIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrc291bmQgJiBrcHBwIChBbm9yaXMsICA0LiBKdW4gMTk5OSwgMTE6MTI6MTUpOgp+IyEgcm49R25vbWUgcnQ9OTI4NDUwNDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODQ1MDQyNAphZW0gaGkgOikKYWxzbyBoYWJlIG1pciBuaWUgZGllIHVtc3RhZW5kZSBnZW1hY2h0IGlyZ2VuZHdlbGNoZW4gc291bmQgaW0gbGludXggenUgaG9lcmVuCmRlciBrZGUgY2QgcGxheWVyIHNvbGx0ZSBqYSBhdWNoIG9obmUgc291bmRrYXJ0ZSBmdW5rdGlvbmllcmVuCmFiZXIgZGVyIGxpZWYgYmVpIG1pciBhdWNoIG5vY2ggbmllLiBiencuIGhhYiBub2NoIG5pZSBlaW5lbiBrZGUgY2QgcGxheWVyCmdlc2VoZW4gZGVyIGxpZWYuLi4KYW5vcmlzIC4gLiAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrc291bmQgJiBrcHBwIChIb29kLCAgNC4gSnVuIDE5OTksIDEyOjUxOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05Mjg0ODY5NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4NDUwNDI0CndpZSBnZXNhZ3Q6IGJlaSBnYW56IHNwZXppZWxsZW4gaGFyZHdhcmUtenVzYW1tZW5zdGVsbHVuZ2VuIGtsYXBwdCBlcyBuaWNodC4KZGFzIGVyZ2VodCBuaWNodCBudXIgbWVpbmVtIHJlY2huZXIgc28sIGRlciBpbSB1ZWJyaWdlbiBtaXQKc3RhbmRhcmQgYXRhcGktbGF1ZndlcmsgYXJiZWl0ZXQuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGtzb3VuZCAmIGtwcHAgKFN0b3BkZW5idXMsICA2LiBKdW4gMTk5OSwgMTY6MjQ6MzgpOgp+IyEgcm49QW5vcmlzIHJ0PTkyODQ4NzUzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg0NTA0MjQKbWVpbiBrZGUgY2Qtc3BpZWxlciBmdW56dCwgaGFiIG5lbiBhdGFwaSBTb255IENkcm9tLCBtdXNzdGUgendhciB2b3JoZXIKbWlyIG5vY2ggbGVzZXJlY2h0ZSBhdWYgL2Rldi9oZGQgZ2VnZWJlbiwgZGFmdWVyIGZ1bnp0IGVzIGFiZXIuIERhbWl0IApuaWVtYW5kIHNhZ2VuIGthbm4sIGRlciBjZHNwaWVsZXIgdW50ZXIgS0RFIGZ1bnp0IG5ldCwgYWNoamEsIGljaCBoYWIgCktERSAxLjAgKHNlbGJlciBjb21waWxpZXJ0KQoKU3RvcHBpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga3NvdW5kICYga3BwcCAoSG9vZCwgIDcuIEp1biAxOTk5LCAwOTowOTozNCk6Cn4jISBybj1TdG9wZGVuYnVzIHJ0PTkyODY3OTA3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg0NTA0MjQKZGVyIGNkLXNwaWVsZXIgdW50ZXIga2RlIGZ1bmt0aW9uaWVydCBuaWNodCBpbW1lciB1bmQgbmljaHQgdW50ZXIgamVkZW0Kc3lzdGVtIGthbm4gbmljaHQgbWl0IGRlaW5lbSBiZWlzcGllbCB3aWVkZXJsZWd0IHdlcmRlbiA6KQppbiBkZXIgdGF0IGhhdCBlciBub2NoIGVpbiBwYWFyIG1hY2tlbi4uLgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga3NvdW5kICYga3BwcCAoU3RvcGRlbmJ1cywgIDcuIEp1biAxOTk5LCAyMTo0OTo1NSk6Cn4jISBybj1Ib29kIHJ0PTkyODczOTM3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg0NTA0MjQKZ2VuYXVzbyBrYW5uIGljaCBzYWdlbiwgZGVyIGNkLXNwaWVsZXIgZnVuenQgbWVpc3RlbnMgb2RlciBhZWggYWJ1bmR6dSwgCmRhZnVlciBhYmVyIGF1ZiBmYXN0IGplZGVtIFN5c3RlbSwgbWVpbiBiZWlzcGllbCBiZXpldWd0IGVzIDopCnR1ZXJsaWNoIGhhdCBlciBtYWNrZW4gLi4uCl9fX19fX18KU3RvcHBpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmlsZXN5c3RlbSBtaXQgbGFhYWFhbmdlbiBGaWxlbmFtZW4/IChSaW5nb3IsICA4LiBKdW4gMTk5OSwgMTc6MTg6MjMpOgpIaWhvIQoKSWNoIGJyYWV1Y2h0ZSBlaW4gRmlsZXN5c3RlbSBmdWVyIENEcywgZGFzIG1laHIgYWxzIDY0IFplaWNoZW4gaW0gRmlsZW5hbWVuCnZlcmtyYWZ0ZXQuIElzbzk2NjAgdW5kIEVyd2VpdGVydW5nZW4gZmFsbGVuIGRhbWl0IHdvaGwgbGVpZGVyICdyYXVzLgoKRXh0MiBpc3Qgc2VociBuZXR0IGZ1ZXIgbWVpbmUgUHJpdmF0c2FtbWx1bmcsIGFiZXIgZGllIENEcyBzb2xsZW4gbmFjaApNb2VnbGljaGtlaXQgYXVjaCBub2NoIHZvbiBXaW5kb3dzLVVzZXJuIGVpbmdlbGVzZW4gd2VyZGVuIGtvZW5uZW4uCgpVbm1vZWdsaWNoZXMgVm9yaGFiZW4/CgpBY2hqYSwgYXVmIGRpZSBGaWxlcyBzb2xsdGUgbWFuIGRpcmVrdCB6dWdyZWlmZW4ga29lbm5lbi4gU293YXMgd2llIFRhciBvLmFlLgppcyBhbHNvIGF1Y2ggbmljaHQuCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVsZWt0cm9uaWtzY2hyb3R0IChUdW5peGd1dCwgIDguIEp1biAxOTk5LCAxNzoyNTo1Myk6Ck1pciBmYWVsbHQgZ2VyYWRlIGVpbiwgZGFzcyBpY2ggbWVpbiBTY2h3aWVnZXJtYW1hIG5vY2ggendlaSBhbHRlLAp1bnZvbGxzdGFlbmRpZ2UgUmVjaG5lciBzdGVoZW4gaGFiZSwgZGllIGljaCBuaWNodCBlaW5mYWNoIGluIGRlbiBNdWVsbCB3ZXJmZW4KbW9lY2h0ZS4gRGVyIENvbXB1dGVyaGFlbmRsZXIgdW5zZXJlcyBWZXJ0cmF1ZW5zIHdpbGwgYWJlciBuaWNodCBlYmVuIHdlbmlnCktvaGxlIGZ1ZXIgZGVyZW4gRW50c29yZ3VuZyB6YWhsZW4uCkRlc2hhbGIgRnJhZ2U6IE1vZWNodGUgamVtYW5kIGRhcyBaZXVncyBoYWJlbi4uLgpGdWVyIGVpbmVuIGF1Y2ggbnVyIEhBTEJXRUdTIHplaXRnZW1hZXNzZW4gUmVjaG5lciBpcyBkYSBuaXggbWVociByYXVzenVob2xlbiwKaXMgYWxzbyBob2VjaHN0ZW5zIHdhcyBmdWVyIEJhc3RsZXIuIEljaCBtb2VjaHRlIGJhbGQgZGVua2VuLCBiZWlkZSBsYXNzZW4Kc2ljaCB6dSBlaW5lbSBmdW5rdGlvbnN0dWVjaHRpZ2VuIFJlY2huZXIgdmVyZWluZW4sIGFiZXIgdmVyc3ByZWNoZW4gbW9lY2h0ZQppY2ggbml4LgpOYWphLCB3YXMgaGFtbWEgZGE6IEVpbmVuIDI4NiBvZGVyIDM4Ni1Qcm96ZXNzb3IsIGVpbmUgVVJBTFQtUGxhdHRlLCBlaW5lbgoxNC1ab2xsLU1vbml0b3IsIHVyYWx0ZSBncmFmaWtrYXJ0ZW4gKGR1ZXJmdGVuIDIgc2VpbiksIFBsYXRpbmVuIHVuZCBHZWhhZXVzZQpzb3dpZXNvLCBUYXN0YXR1ciB1bmQgTWF1cyBzaWVodHMgYWxsZXJkaW5ncyBtYWdlciBhdXMgLSBsZXR6dGVyZXMgaXMgZ2FybmljaHQKbWVociBkYWJlaSwgZXJzdGVyZXMgaXMgemllbWxpY2gga2VpbWljaCEgO28pCgpOYWphLCBmdWVyIEZyYWdlbiBzdGVoZSBpY2ggbm9jaCB6dXIgVmVyZnVlZ3VuZy4uLiA6bykKCidzIEthcmF0ZS1ad2VyY2hsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZWt0cm9uaWtzY2hyb3R0IChIb3VzZWhvbGRlciwgIDguIEp1biAxOTk5LCAxODowMTo0NCk6Cn4jISBybj1UdW5peGd1dCBydD05Mjg4NTU1NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4ODU1NTUzCndvIHdpciBncmFkIGRhYmVpIHNpbmQgLi4uLgppY2ggc3VjaGUgZmFzdC1wYWdlLW1vZGUgcmFtLWJhdXN0ZWluZSBmdWVyIGVpbiBQQ0kvSUkgcHJlbWllcmUgYm9hcmQgLi4uIGlzdAp6aWVtbGljaCBzY2h3ZXIgenVyIHplaXQgaW4gbGFlZGVuIGRhcmFuIHp1IGtvbW1lbiBzaWUgc29sbHRlbiBtaW5kZXN0IDhNQgpncm9zcyBzZWluIGhhYiBuYWVtbGljaCBub2NoIDQgNGVyIGFtIGxpZWJzdGVuIGFiZXIgbmF0dWVybGljaCBncm9lc3NlcmUgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmlsZXN5c3RlbSBtaXQgbGFhYWFhbmdlbiBGaWxlbmFtZW4/IChIYXRlLCAgOC4gSnVuIDE5OTksIDE5OjQ0OjU2KToKfiMhIHJuPVJpbmdvciBydD05Mjg4NTUxMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4ODU1MTAzCklTTyBmaWxlc3lzdGVtIHVuZCBNUy1Kb2xpZXQgZXh0ZW5zaW9uLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmlsZXN5c3RlbSBtaXQgbGFhYWFhbmdlbiBGaWxlbmFtZW4/IChXb29keSwgIDguIEp1biAxOTk5LCAyMDowMDo1NSk6Cn4jISBybj1IYXRlIHJ0PTkyODg2Mzg5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg4NTUxMDMKVW50ZXIgVW5peCBSb2NrcmlkZ2UuIE51ciBkYW1pdCBkYXMgbmljaHQgdW5lcndhZWhudCBibGVpYnQuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVsZWt0cm9uaWtzY2hyb3R0IChIb29kLCAgOS4gSnVuIDE5OTksIDEwOjIxOjQxKToKfiMhIHJuPVR1bml4Z3V0IHJ0PTkyODg1NTU1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg4NTU1NTMKdHNqYSwgbmVobWVuIHd1ZXJkZSBpY2h6QiBkZW4gbW9uaXRvciB1bmQgZ2VoYWV1c2UsIGFiZXIgYmVpIGRlbiBwb3N0cHJlaXNlbgp2b24gZGlyIGJpcyB6dSBtaXIgIGR1ZXJmdGUgZWluICBuZXVrYXVmIGVmZmVrdGl2ZXIgc2VpbiA6KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVuIHVuZCBhY3Rpb24gbWl0IFdpbjk1IChTbWlsZXksICA5LiBKdW4gMTk5OSwgMTM6Mjk6MDYpOgpGdW4gdW5kIEFjdGlvbiBtaXQgV2luOTUKClJlZ3QgZGljaCBkaWUgVWViZXJzY2hyaWZ0IHNjaG9uIGF1ZiA/IGRhbm4gYmlzdCBkdSBoaWVyIHJpY2h0aWcuLi4KVm9yIG51biBndXQgZWluZW4gaGFsYmVuIEphaHIgaGFiZSBpY2ggbWVpbmVuIFBDIGF1ZnJ1ZXN0ZW4gbGFzc2VuLgpWb24gMTY2TWh6IGF1ZiAyNTAgTWh6IChBTUQtSzYtMiksIGVpbiBERjEtQm9yZCB1bmQgIDIgKiA2NCBNQiBTRFJBTSAoUEMgMTAwKS4KQWxzIGljaCBpaG4genUgSGF1c2Ugd2llZGVyIGluIEJldHJpYiBuYWhtIG1lbGRldGUgbWlyCldpbmRvd3M5NSBiZWltIFN0YXJ0ZW46IEFsbGdlbWVpbmUgU2NodXR6dmVybGV0enVuZy4gU3lzdGVtIGFuZ2VoYWx0ZW4uCk5hIGtsYXNzZSwgZGVuayBpY2gsIHVuZCBzdGFydGUgZXJuZXV0LiBEaWVzZXNtYWwgZ2luZyBlcyBndXQgLi4uIGRvY2ggaW4gZGVuCmZvbGdlbmRlbiBUYWdlbiBoYXR0ZSBpY2ggZXMgbWl0IGltbWVyIHdpZWRlcmtlaHJlbmRlbiBibGF1ZW4gQmlsZHNjaGlybWVuCihzY2h3ZXJlciBBdXNuZWhtZUZlaGxlcikgdW5kIHZvciBhbGxlbSBBYmJydWNoIGRlcyBTdGFydGVucyB2b24gV2luZG93cwooYWxnZW1laW5lIFNjaHV0enZlcmxldHp1bmcpIHp1IHR1bi4gQWxzbyBkYWNodGUgaWNoIGRhc3MgbWl0IHdpbmRvd3MgZXR3YXMKbmljaHQgc3RpbW10IHVuZCB3b2xsdGUgZXMgbmV1IGluc3RhbGxpZXJlbi4gIFVtIGdhbnogc2ljaGVyenVnZWhlbiBsb2VzY2h0ZQppY2gKRGFzIHZvcmhhbmRlbm5lIFdpbmRvd3Mga29tcGxldHQgdW5kIGJlZ2FubiBtaXQgZGVyIE5ldWluc3RhbGxhdGlvbi4KV2FlaHJlbmQgZGVyIEluc3RhbGxhdGlvbiBiZWthbSBpY2ggZmFzdCBuZW4gU2NocmVpa3JhbXBmLCBkZW5uIG5vY2ggYmV2b3IKV2luZG93cyBrb21wbGV0dCBpbnN0YWxsaWVydCB3ZXIgYnJhY2ggZGVyIEluc3RhbGxhdGlvbnN2b3JnYW5nIGFiIChhbGxnZW1laW5lClNjaHV0enZlcmxldHp1bmcpLiBTbyBhcmcgaGF0dGUgbWl0IE0kIG5vY2ggbmllIHp1Z2VzZXR6dC4gTGludXggaXN0IHp3YXIgZWluZQpBbHRlcm5hdGl2ZSwgZG9jaCB3ZW5uIG1hbiBQcm9ncmFtbWUgZnVlciBMZXV0ZSBzY2hyZWlidCBkaWUgV0lOOTUgYmVudXR6ZW4KbXVzcyBtYW4gZXMgc2VsYmVyIGhhbHQgYXVjaCBoYWJlbi4gTmFqYSwgYWxzbyBkYWNocmUgaWNoOiAgd2VpY2hlIGF1ZiBXaW4gTlQKYXVzLiBOZXVnaWVyaWcgc2NoYXVlIGljaCBpbiBkaWUgbmFlY2hzdGUgQ29tcHV0ZXJ6ZWl0c2NocmlmdC4gVW50ZXIgV0lOIE5UCmZpbmRlIGljaCBuaWNodHMuIERpZSBOYWNrZW5oYWFyZSBzdGVsbGVuIHNpY2ggYXVmIGFscyBpaWNoIHNlaGU6IE1TLVdpbiBOVApoZWlzc3QgZXMgbnVuLiBNUyAuLi4gTWljcm9zb2Z0IC4uLi4uIGRlaW4gRmVpbmQgdW5kIEJ1Zy1MaWVmZXJudC4gQXJnbCAuLi4KQWxzbyBydWZlIGljaCBhbHMgbmFlY2hzdGVzIGluIGRlciBGaXJtYSBhbiB3byBpY2ggZGVuIFBDIGhhYiBhdWZydWVzdGVuCmxhc3Nlbi4KRGVyIFN5c3RlbXRleGNobmlrZXIgbWVpbnQgaWNoIHNvbGxlIHVudGVyIFN5c3RlbXN0ZXVlcnVuZyAvIEdlcmFldGUgYWxsZXMKbG9lc2NoZW4gdW5kIG5lIEhhcmR3YWVyZWVrZW5udW5nIHN0YXJ0ZW4uIFRqYSwgYWxzbyBpbnN0YWxsaWVyZSBpY2ggV2luOTUKZXJuZXV0IChkaWVzZXMgbWFsIGthbSBkaWUgYWxsZy4gU2NodXR6dmVybGV0enVuZyBuaWNodCkgLi4gdW5kIG1hY2h0ZSB3YXMgZGVyClRlY2huaWtlciBzYWd0LiBEaWUgRm9sZ2Ugd2FyIGRhc3MgV2luOTUgbnVuIGRpdmVyc2UgR2VyYWV0ZSBuaWNodCBlcmtlbm50IHVuZAphdWNoIG5pY2h0IG1laHIgbmV1IHN0YXJ0ZW4gbWFnLiBOYWVjaHN0ZSBOZXVpbnN0YWxsYXRpb24gLi4uLgpBdWYgZGVyIFJlY2hudW5nIHNlaGUgaWNoIGRhc3MgZGllIEZpcm1hIDEwMCBETSBwcm8gU3R1bmRlICh2b3IgTXdTdCkgbmltbXQKZnVlciBkaWUgQmFzdGVsZWkgYW0gUEMuIEZydXN0cmllcnQgYmVzY2hsaWVzc2UgaWNoIGRlbiBQQyBuaWNodCBoaW56dWJyaWdlbgouLi4gZGVubiBsYXNzIGRlbiBTeXN0ZW10ZWNobmlrZXIgbWFsIDIgb2RlciAzIFRhZ2UgIDggU3R1bmRlbiBkZW4gRmVobGVyCnN1Y2hlbiAuLi4uIC4tKCBJY2ggc2VobmUgbWljaCBuYWNoIGRlbSBhbHRlbiBFRE8tUmFtIHVuZCBkZW0gMTY2ZXIgQm9hcmQgLi4Kd2VuaWdzdGVucyBsaWVmIFdpbmRvd3MgZGFtaXQuIEZydXN0cmllcnQgbGViZSBpY2ggbnVuIG1pdCBhbGxnZW1laW5lbgpTY2h1dHp2ZXJsZXR6dW5nZW4gdW5kIGJsYXVlbiBCaWxkc2NoaXJtZW4uIEd1dCAxIE1vbmF0IGxhbmcuIEJpcyBpY2ggZHVyY2gKWnVmYWxsIGRlbiBGZWhsZXIgZW50ZGVja3RlIC4uLi4uIGRvY2ggZGF2b24gbWVociBpbSBuYWVjaHRlbiBBcnRpa2VsOy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2ggbWVociBGdW4gdW5kIEFjdGlvbiAuLi4gKFNtaWxleSwgIDkuIEp1biAxOTk5LCAxMzo1Njo0MSk6CgpUZWlsIDIKCkFsc28sIGNhLiAxIE1vbmF0IHNwYWV0ZXIgbGFuZGUgaWNoIGJlaW0gU3VyZmVuIHp1ZmFlbGxpZyBhdWYgZWluZXIgTVMtUGFnZQooKmdydXNlbCopLiBVbmQgaWNoIGVudGRlY2tlIGVpbmVuIFBhdGNoIGZ1ZXIgV2luOTUgbWl0IEFNRC1LNiAzNTAgTWh6LgpBbiBkaWVzZXIgU3RlbGxlIHppdGllcmUgaWNoIG1hbCBNaWNyb3NvZnQgb3JpZ2luYWw6CgpJZiB5b3UgYXJlIHN0YXJ0aW5nIFdpbmRvd3MgOTUgT1NSMiwgT1NSMi4xLCBvciBPU1IyLjUgb24gYSBjb21wdXRlciB3aXRoIGFuCkFNRC1LNi0yIHByb2Nlc3NvciBydW5uaW5nIGF0IHNwZWVkcyBvZiAzNTAgTUh6IGFuZCBhYm92ZSwgeW91IG1heSByZWNlaXZlIG9uZQpvZiB0aGUgZm9sbG93aW5nIGVycm9yIG1lc3NhZ2VzOgotICBEZXZpY2UgSU9TIGZhaWxlZCB0byBpbml0aWFsaXplLiAKLSBXaW5kb3dzIFByb3RlY3Rpb24gRXJyb3IuIAotIFlvdSBtdXN0IHJlYm9vdCB5b3VyIGNvbXB1dGVyLiAKClRoZSBmaXJzdCBlcnJvciBpcyBhIHJlc3VsdCBvZiBhIGRpdmlkZSBleGNlcHRpb24gaW4gSU9TLlZYRCwgdGhlIHNlY29uZCBpcwpkdWUgdG8gYSBzaW1pbGFyIGVycm9yIHdpdGhpbiBFU0RJXzUwNi5QRFIgb3IgU0NTSVBPUlQuUERSLiBUaGlzIHByb2JsZW0gaXMKdmVyeSBpbnRlcm1pdHRlbnQgYXQgMzUwTUh6LiBOb3RlIHRoYXQgaXQgaXMgbmVjZXNzYXJ5IHRvIHJlYm9vdCB0aGUgY29tcHV0ZXIKYWZ0ZXIgdGhlIGVycm9yIG9jY3Vycy4gSWYgdGhlIGVycm9yIGRvZXMgbm90IG9jY3VyLCAgdGhlIHN5c3RlbSB3aWxsIHJ1bgpub3JtYWxseS4KClppdGF0IGVuZGUuIAoKTmEga2xhc3NlIC4uIHdhcnVtIGhhYiBpY2ggbWl0IGF1Y2gga2VpbmVuIFBlbnRpdW0gZ2VrYXVmdC4gRGFubiB3YWVyIGRhcwpuaWNodCBwYXNzaWVydC4gS29zdGV0IGphIG51ciBydW5kIDIwMCBETSBtZWhyLiBBdXNnZXJlY2huZXQgYmVpIGRlbSBQcm96ZXNzb3IKZGVuIGljaCBrYXVmZSBhcmJlaXRldCBXaW5kb3dzIG5pY2h0LiBEaXZpc2lvbnNmZWhsZXIuIEhhZXR0ZSBpY2ggbWFsIHNvd2FzCmlnZW5kd28gZWluZ2ViYXV0IHdhZXIgYWJlciB3YXMgbG9zLiBXaXJrbGljaCB0b2xsLiAgQW5kZXJlcnNlaXRzIC4uIGhhdHRlIGljaAplaW5lbiBub2NoIHNjaG5lbGxlcmVuIEFNRCBQcm96ZXNzb3IgZ2Vub21tZW4gd2FlciBpY2ggYXVmIFdpbjk4IGFuZ2V3aWVzZW4gLi4KZGVubiBXaW45NSBzdHJlaWt0IGRhIGRhbm4gdm9lbGxpZywgd2llIGljaCBtaXR0bGVyd2VpbGUgZ2Vob2VydCBoYWIuCkFuIGRpZXNlciBTdGVsbGUgd29sbHRlIGljaCBub2NoIEZsYW1lcyBsb3NsYXNzZW4sIGFiZXIgbmFjaGRlbSBtaWNoIHNjaG9uIDQKTGV1dGUgZ2xlaWNoIG5hY2ggVmVyb2VmZmVudGxpY2h1bmcgZGVzIHZvcmlnZW4gQXJ0aWtlbHMgYW5zcHJhY2hlbiB3aWxsIGljaApzaWUgbWFsIG5pY2h0IHdhcnRlbiBsYXNzZW4gLi4uLgoKQWxzbyBob2xlIGljaCBtaXIgZGVuIFBhdGNoIC4uIHVuZCBhbnNjaGxpZXNzZW5kIGlzdCB3ZW5pZ3N0ZW5zIGRpZXNlcyBQcm9ibGVtCmJlaG9iZW4uIERvY2ggZGFtaXQgaXN0IGRpZSBXaW5kb3dzLU9keXNzZWUgbm9jaCBsYW5nIG5pY2h0IHZvcmJlaSAuLi4gZG9jaAp3ZW5pZ3N0ZW5zIHN0YXJ0ZW4ga2FubiBpY2ggV2luZG93cyB3aWVkZXIgcHJvYmxlbWxvcywgdW5kIGF1Y2ggZGllIGJsYXVlbgpCaWxkc2NoaXJtZSBibGVpYmVuIG51biBlcnN0bWFsIHdlZy4gCk1laHIgdm9uIG1laW5lbiBXaW5kb3dzLUVyZmFocnVuZ2VuIGZvbGdlbiB2aWVsbGVpY2h0IC4uLiAKCkhhdmUgRnVuClNtaWxleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5vY2ggbWVociBGdW4gdW5kIEFjdGlvbiAuLi4gKEdyaW1tYW4sICA5LiBKdW4gMTk5OSwgMTQ6MDI6MzUpOgp+IyEgcm49U21pbGV5IHJ0PTkyODkyOTQwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg5Mjk0MDEKSWNoIGhhYmUgbmVuIEFNRC1LNiAzMzMgdW5kIFdpbmRvd3MgOTUsIHVuZCBuaWUgUHJvYmxlbWUgZ2VoYWJ0IC4uLiAKS2VpbiBQYXRjaCB1bmQgYXVjaCBub2NoIG5pZSBpcmdlbmR3ZWxjaGUgQmx1ZXNjcmVlbnMsIGVzIHNjaGVpbnQgYWxzbyBrZWluCkFsbGdlbWVpbnByb2JsZW0genUgc2Vpbiwgb2Rlcj8KCkdyaW1NYW4gLCBoYXQgaGllciB3b2hsIGV0d2FzIEdsdWVjayBnZWhhYnQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbm9jaCBtZWhyIEZ1biB1bmQgQWN0aW9uIC4uLiAoU21pbGV5LCAgOS4gSnVuIDE5OTksIDE0OjIxOjUwKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTI4OTI5NzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODkyOTQwMQpEZXIgU3Bhc3MgZmFlbmd0IGphIGVyc3QgYWIgMzUwIE1oeiBhbiA6KSBBdXNzZXJkZW0gLi4gbmljaHQgQU1EIGhhdCBkYXMgUHJvYgpJTUhPIHZlcnVyc2FjaHQgc29uZGVybiBXaW4gYnp3LiBNUy4gc292aWVsIGRhenUuIGtsYXIsIEVzIGlzdCBtaXR0bGVyd2VpbGUKZWluIGFsdGVyIEh1dCwgSWNoIHdvbGx0cyBzY2hvbiBsYWVuZ2VyIG1hbCBzY2hyZWliZW4gOikgRG9jaCBhbHMgaGV1dGUgMgpMZXV0ZSBzaWNoIHVlYmVyIG5uYWR3IChuaXggbmV1ZXMgYXVmIGRlciB3ZWx0KSBiZWtsYWd0ZW4gZ2FiIGRhcyBkZW4gQW5zdG9zcwplbmRsaWNoIG1hbCB3YXMgenUgc2NocmVpYmVuIDotKQpIYXZlIGZ1bgpIYXZlIGZ1bgogICAgICAgICAgU21pbGV5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBub2NoIG1laHIgRnVuIHVuZCBBY3Rpb24gLi4uIChTaGFyaWEsICA5LiBKdW4gMTk5OSwgMTQ6NDA6NTMpOgp+IyEgcm49U21pbGV5IHJ0PTkyODkzMDkxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg5Mjk0MDEKaG1tIGJvZXNlIHp1bmdlbiBiZWhhdXB0ZW4gTWljcm9zb2Z0IHd1ZXJkZSBkYXMgYWJzaWNodGxpY2ggbWFjaGVuIGRhbWl0IGRpZQpMZXV0ZSBJbnRlbCBrYXVmZW4gLi4uLjotKQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBub2NoIG1laHIgRnVuIHVuZCBBY3Rpb24gLi4uIChTdGluZywgIDkuIEp1biAxOTk5LCAxODoyNDowMik6Cn4jISBybj1TaGFyaWEgcnQ9OTI4OTMyMDUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkyODkyOTQwMQpJY2ggaGFiIGJlaSBkZXIgQXJiZWl0IG5lbiBQMi00MDAgdW5kIGhhdHRlIG5pZSBQcm9ibGVtZS4gU2NoZWludCBhbHNvIGtlaW4KQWxsZ2VtZWlucHJvYmxlbSB6dSBzZWluIG9kZXIgPyA6KQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IG5vY2ggbWVociBGdW4gdW5kIEFjdGlvbiAuLi4gKEFuZ3VzLCAxMC4gSnVuIDE5OTksIDA3OjUyOjE5KToKfiMhIHJuPVN0aW5nIHJ0PTkyODk0NTQ0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjg5Mjk0MDEKKmdyaW5zKgpEYXMgQWxsZ2VtZWlucHJvYmxlbSBpc3QgZGllICdRdWFsaXRhZXQnIHZvbiBNJC1Tb2Z0d2FyZS4uLgpNZWluZXMgV2lzc2VucyBuYWNoIHNpbmQgZGllIFBhdGNoZXMgZnVlciBXOTUgZnVlciBhbGxlClJlY2huZXIgbWl0IFRha3RmcmVxdWVuemVuID49IDMwME1oeiBub2V0aWcsIGF1cyBmb2xnZW5kZW0KR3J1bmQ6Cldpbjk1IHN5bmNocm9uaXNpZXJ0ZSBkaWUgSGFyZHdhcmUtVHJlaWJlciAoaW5zYmVzLiBIRCdzKQptaXR0ZWxzIFphZWhsc2NobGVpZmVuISBCZWkgc2NobmVsbGVyZW4gUmVjaG5lcm4gcmVpY2h0ZQpkaWUgVmVyem9lZ2VydW5nIG5pY2h0IG1laHIgYXVzIHVuZC4uLiBCVU1NIDotKQpXZW5uIGljaCBqZXR6dCBub2NoIHd1ZXNzdGUsIHdvIGltIFdlYiBpY2ggZGFzIGdlbGVzZW4gaGFiLi4uCmRpZSBTZWl0ZSB3YXIgYW5zaWNoIHNlaHIgYXVmc2NobHVzc3JlaWNoIDstKQoKYnllLAogIC1Bbmd1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IG5vY2ggbWVociBGdW4gdW5kIEFjdGlvbiAuLi4gKFJpbmdvciwgMTAuIEp1biAxOTk5LCAwOTo1NDozNCk6Cn4jISBybj1Bbmd1cyBydD05Mjg5OTM5Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTI4OTI5NDAxCkRhcyBtaXQgZGVuIFphZWhsc2NobGVpZmVuIHN0aW1tdCBzY2hvbiBpcmdlbmR3aWUgLSBhYmVyIGRlciBUZWlsIG1pdCAiYWxsZQpSZWNobmVyIG1pdCBUYWt0ZnJlcXVlbnplbiA+PSAzMDAgTUh6IiBuaWNodC4gOy0pCgpEZXIgQmVmZWhsLCBkZW4gTSQgenVyIFplaXRtZXNzdW5nIGJlbnV0enQsIGJyYXVjaHQgYXVmIGVpbmVtIEFNRCBudXIgZWluZW4KVGFrdHp5a2x1cywgYXVmIGVpbmVtIEludGVsIGFiZXIgc2VjaHMgWnlrbGVuIChzbyBhdXMnbSBHZWRhZWNodG5pcywKdGF0c2FlY2hsaWNoZSBXZXJ0ZSBrb2VubmVuIGxlaWNodCBhYndlaWNoZW4gOy0pLgoKTWFnIGFsc28gc2VpbiwgZGFzcyBlcyBtaXQgSW50ZWxzIGlyZ2VuZHdvIGplbnNlaXRzIGRlciBHSHotR3JlbnplIGF1Y2gKVGltaW5nLVByb2JsZW1lIGdlYmVuIHdpcmQuIEFiZXIgYmVpIGFrdHVlbGwgdmVyZnVlZ2JhcmVuIFByb3plc3NvcmVuIGJla29tbXQKV2luZG93cyBudXIgbWl0IEFNRHMgUHJvYmxlbWUuCgpEYXMgaXN0IHNvd2VpdCBhdWNoIGFsbGVzIG5vY2gga2VpbiBCZWluYnJ1Y2ggLSBkZW4gUGF0Y2ggZ2lidCBlcyBqYQpzY2hsaWVzc2xpY2gga29zdGVubG9zIGltIE5ldHouIE51ciBsZWlkZXIgbmljaHQgZnVlciBhbGxlIFdpbmRvd3MtVmVyc2lvbmVuLApkaWUgZGF2b24gYmV0cm9mZmVuIHNpbmQuIEFybWUgZWhybGljaGUgS3VuZGVuLCBkaWUgZXh0cmEgZGFmdWVyIGpldHp0IEdlbGQKYXVzZ2ViZW4gbXVlc3NlbiwgdW0gZWluIFVwZGF0ZSB6dSBiZWtvbW1lbiAuLi4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVuICYgQWN0aW9uIG1pdG0gYWx0ZW4gQm9hcmQgKE1haGF0bXUsIDEwLiBKdW4gMTk5OSwgMTU6MDA6NDcpOgpIYXQgZWluZXIgZWluZW4gVGlwLCB3byBpY2ggTDItQ2FoY2UgZnVlciBlaW4gSW50ZWwtVHJpdG9uIGhlcmJla29tbWUuClVuZCB6d2FyIGRlbiBMMi1DYWhjZSBpbiBkZW4gQ2hpcHMsIGRpZSBuaWNodCB3aWUgQ2FjaGUtLCBzb25kZXJuCndpZSBHcmFmaWtzcGVpY2hlci1DaGlwcyBhdXNzZWhlbiA7LSkgRmFsbHMgZXMgamV0enQgYmVpIGVpbmVtIEtsaWNrCm1hY2h0IC4uLgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1biAmIEFjdGlvbiBtaXRtIGFsdGVuIEJvYXJkIChZYXJlbiwgMTAuIEp1biAxOTk5LCAxNjowODowMCk6Cn4jISBybj1NYWhhdG11IHJ0PTkyOTAxOTY0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MjkwMTk2NDcKbWl0IHNjaGVpbnQsIGR1IG1laW5zdCBlaW4gY29hc3QtbW9kdWwgLi4uIG5lbiBsYWRlbiB3aXJzdCBmdWVyIHNvIGV0d2FzCnZlcmdlc3NlbiBrb2VubmVuIHVuZCBpY2ggc2NoYWV0emUsIGRhcyBkdWVyZnRlIGF1Y2ggc2Nod2llcmlnIHNlaW4sIGRhcwplaW56ZWxuIHp1IGJla29tbWVuLiBhYmVyIGR1IGthbm5zdCBlcyBqYSBiZWkgZGVuIGVpbnNjaGxhZWdpZ2VuCmF1a3Rpb25zc2VpdGVuIGltIGludGVybmV0IHZlcnN1Y2hlbiwgYWxzbyB6LmIuIHd3dy5oYXJkd2FyZS5kZSBvZGVyCnd3dy5pZXotYXVrdGlvbi5kZSAuLi4KCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmF2YSBIZWxwIChUTSkgKEFsYm9pbiwgMTguIEp1biAxOTk5LCAxNDo0MjoyOSk6CldpZSBzY2hvbiBkZXIgVGl0ZWwgc2FndCwgc3VjaGUgaWNoIExldXRlIGRpZSBzaWNoIG1pdCBkZW0gSmF2YS1IaWxmZS1TeXN0ZW0KSmF2YS1IZWxwLVRNIGF1c2tlbm5lbiwgYmVzb25kZXJzIGludGVyZXNzaWVyZW4gd3VlcmRlIG1pY2ggLCB3ZXIgZGFzIHp1c2FtbWVuCm1pdCBkZW0gSmJ1aWxkZXIgMiBiZW51dHplbiB0dXQuIEljaCBiaW4gZnVlciBqZWRlIEhpbGZlIGRhbmtiYXIuCgpBbGJvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpbjk4L05UIChTdG9wZGVuYnVzLCAxOC4gSnVuIDE5OTksIDE4OjQ0OjI4KToKaGkgIQp3ZWlzcyB3ZXIgd28ncyBuZW4gcGF0Y2ggaGF0LCBkYW1pdCB3aW45OCBudCdzIG50ZnMgbGVzZW4gVU5EIHNjaHJlaWJlbiBrYW5uCm9kZXIgdW1nZWtlaHJ0LCBkYXMgTlQgd2luOTgncyBuZXVlcyBkYXRlaXN5c3RlbSBsZXNlbiB1bmQgc2NocmVpYmVuCmthbm4gPyBuZSB1cmwgd2FlciBuZXR0CgpTdG9wcGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW45OC9OVCAoVHJ1ZywgMTguIEp1biAxOTk5LCAyMDo0NTo1OSk6Cn4jISBybj1TdG9wZGVuYnVzIHJ0PTkyOTcyNDI2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mjk3MjQyNjgKU3RvcHBlbCwgZGFzIHNpbmQgMiBTYWNoZW4uLi4KCjEuIE5URlMgbGVzZW4gKHVuZCBldnRsIGF1Y2ggc2NocmVpYmVuKTogZGEgZ2lidHMgZGllIE5URlMtVG9vbHMgdm9uCnd3dy5zeXNpbnRlcm5hbHMuY29tLiBEYSBrYW5uc3QgZHUgYmVpZGVzIGdsYXViIGljaCBtYWNoZW4sIGFiZXIgZGllCidQcm8nLVZlcnNpb24gaXN0IGdsYXViIGljaCBrb3N0ZW5wZmxpY2h0aWcuCgoKTWggdW5kIGRlbiBGQVQzMiBUcmVpYmVyIGZ1ZXIgTlQuLi4gdm9uIHdvIGljaCBkZW4gaGFiZSwgd2Vpc3MgaWNoIG5pY2h0IG1laHIsCmljaCBnbGF1YmUsIGVzIHdhciBhdWYgZWluZXIgU3VwcG9ydHNlaXRlIHZvbiBNaWNyb3NvZnQgYWxzICdmcmVlIGRvd25sb2FkJy4KClRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cmVhbWVyIHVudGVyIExpbnV4IChSaWt1cywgMjAuIEp1biAxOTk5LCAxMTowMToxMSk6CkhpLAppY2ggbnV0enRlIHNjaG9uIGRpdmVyc2UgVGFwZWRyaXZlcyB1bnRlciBMaW51eC4gQWxsZXJkaW5ncyB3YXIgZGEgZGllCnNvZnR3YXJlc2VpdGlnZSBVbnRlcnN0dWV0enVuZyBpbW1lciBzbywgZGFzcyBpbW1lciBwZXIgdGFyIGF1ZiBkaWUgVGFwZXMKZ2VzY2hyaWViZW4gd2lyZC4gTWVpbmUgRnJhZ2U6IEdpYnQgZXMgZWluZSBTb2Z0d2FyZSAob2RlciBpc3QgZXMgdWViZXItCmhhdXB0IG5pY2h0IG1vZWdsaWNoKSwgbWl0IGRlciBpY2ggRE9TLUJhY2t1cHMgKENlbnRyYWwgUG9pbnQsIE5vcnRvbi4uLikKbGVzZW4gVU5EIHNjaHJlaWJlbiBrYW5uPwoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNPdW5kYmxhc3RlciBsaXZlICEgKFNoYXJpYSwgIDEuIEp1bCAxOTk5LCAxNDo0Mjo1MSk6CkhpaG8gLi4uIGlyZ2VuZHdhbm4gbGV0enRlbnMgaGF0IG1pciBkb2NoIG1hbCBqZW1hbmQgZ2VzY2hyaWViZW4gd2llIGVyIGRlbgpTb3VuZGJsYXN0ZXIgbGl2ZSEgdW50ZXIgTGludXggenVtIGxhdWZlbiBnZWJyYWNodCBoYXQgLi4uIHdlciB3YXIgZGFzID8gYnp3CndpZWdpbmcgZGFzID8gOikKClNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGludXgtbmV0endlcmsgKEdyaW1tYm9ybiwgIDEuIEp1bCAxOTk5LCAxNDo0NjoxNyk6Cn4jISBvbj1Mb2xsaSBvdD05MzA4MzIxMzggb2c9YWxsZ2VtZWluZXMKSGFsbG8hCm1hbmNoZSBoYWJlbiBqYSBzY2hvbiBtZWluIHdlaGtsYWdlbiBpbSBtdWQgZXJ0cmFnZW4gbXVlc3NlbiBkb2NoIG51biB3ZW5kZQppY2ggbWljaCBhbiBkaWUgZ3Jvc3NlIG1hc3NlLgplcyBnZWh0IHdpZWRlciBtYWwgdW0gZGllIG5ldHp3ZXJrLWtvbmZpZ3VyYXRpb24gdW50ZXIgU3VTZS1MaW51eCA2LjEuCnByb2JsZW0gd2llIGZvbGd0OiBpY2ggaGFiZSB2b24gbWVpbmUgc3lzYWRtaW4gYWxsZSBhbmdhYmVuIGVyaGFsdGVuIGRpZSBpY2gKZWluc3RlbGxlbiBtdXNzIChJUCxkb21haW4sZGVmYXVsdC1nYXRld2F5LG5hbWVzZXJ2ZXIsbmV0bWFzayxwcm94eS1zZXJ2ZXIKZnVlciBuZXRzY2FwZSkuIG51biBoYWIgaWNoIGFsbGUgZGF0ZW4gZWluZ2VnZWJlbiB1bmQgd29sbHRlaW4gbmV0c2NhcGUgbgpiaXNzY2hlbiBzdXJmZW4gdW5kIGVzIGtvbW10IGRpZSBtZWxkdW5nLCBkYXNzIGVyIGRlbiBwcm94eSBuaWNodCAgY29ubmVjdGVuCmthbm4sIHdlaWwgd2FocnNjaGVpbmxpY2ggbmljaHQgcmljaHRpZyBrb25maWd1cmllcnQuCmF1c3NlcmRlbSBrYW5uIGljaCBuaWNodCBwaW5nZW4gb2RlciB0cmFjZXJvdXRlbiwgZGEga29tbWVuIGltbWVyCmZlaGxlcm1lbGR1bmdlbi4gaWNoIGhhYmUgbWVpbmVuIHJlY2huZXIgc2Nob24gYWxzIERIQ1AtY2xpZW50IGVpbmdlcmljaHRldC4KaGF0IGVpbmVyIG5lIGFobnVuZyB3YXMgaWNoIGRhIHR1biBrYW5uPyBpcmdlbmR3ZWxjaGUgcGFrZXRlIGVpbnNwaWVsZW4sIHpldWdzCmFrdGl2aWVyZW4/CmljaCBzaXR6IGRhIGpldHp0IHNjaG9uIHNlaXQgMyB0YWdlbiBkcmFuIHVuZCBoYWIgbGFuZ3NhbSBrZWluZW4gbmVydiBtZWhyCjotKS4KCkxPTExJICh3aWxsIG5pY2h0IG51ciBNUy1IYXNzZXIgc2Vpbiwgc29uZGVybiBlcyBhdWNoIHZvbGx6aWVoZW4ga29lbm5lbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eC1uZXR6d2VyayAoR3JpbW1ib3JuLCAgMS4gSnVsIDE5OTksIDE0OjQ4OjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MzA4MzMxNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMwODMzMTc3Cldlbm4gRHUKLSBGZWhsZXJtZWxkdW5nZW4geml0aWVyZW4gd3VlcmRlc3QKLSBaaXRpZXJlbiB3dWVyZGVzdCB3YXMgRGlyIC92YXIvbG9nL21lc3NhZ2VzIGF1c2dpYnQKLSBHbGF1YmhhZnQgdmVyc2ljaGVybiB3dWVyZGVzdCBkYXNzIERlaW5lIE5ldHp3ZXJra2FydGUgYXVjaCBmdW5rdGlvbmllcnQgCiAgdW5kIGRlciBUcmVpYmVyIGltIGtlcm5lbCBlaW5nZWJ1bmRlbiBpc3QKCmRhbm4ga29lbm50ZSBEaXIgc2ljaGVyIGdlaG9sZmVuIHdlcmRlbi4gRWluICJkYXMgdHV0cyBuaWNodCIgaXN0IG5pY2h0IGViZW4KaGlsZnJlaWNoLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmVobGVybWVsZHVuZ2VuIChMb2xsaSwgIDEuIEp1bCAxOTk5LCAxNTowMzo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTMwODMzMzI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzMDgzMzE3NwpPay4gaGllciBhbHNvIGRpZSBtZWxkdW5nZW4gZGllIGljaCBiZWtvbW1lLgp1bnRlciBpcGNvbmZpZyBlcmtlbm50IGVyIGRpZSBuZXR6d2Vya2thcnRlLiBtaXQgaWZjb25maWcga3JpZWcgaWNoIGF1Y2ggZGllCmtvcnJla3RlbiBkYXRlbiByYXVzLiBiZWltIGJvb3RlbiBlcnNjaGVpbnQgYmVpbSBldGgwIGVpbiAnZG9uZScgKGFsc28ga2Vpbgpwcm9ibGVtKS4gZGVuIGtlcm5lbCBoYWIgaWNoIGtvbXBpbGllcnQuIGJlaW0gcGluZyBrb21tdCBlbnR3ZWRlcgondW5yZWFjaGFibGUnIG9kZXIgJ3Vua25vd24nLiBiZWkgbmV0c2NhcGUgZXJzY2hlaW50IGRpZSBtZWxkdW5nIGRhc3MgZGVyCnByb3h5LXNlcnZlciBuaWNodCBjb25uZWN0ZWQgd2VyZGVuIGthbm4uIGljaCBzb2xsIGRvY2ggZGllIGtvbmZpZ3VyYXRpb24KdWViZXJwcnVlZmVuLiBkaWUgaXAtbnIgZGVzIHByb3h5cyBpcyBhYmVyIGRlZmluaXRpdiBrb3JyZWt0LgppY2ggc3RlaGUgdm9yIGVpbmVtIHJhZXRzZWwuCgpJY2ggd2lsbCBlbmRsaWNoIExpbnV4ISBXaW5kb29mIGtvdHp0IG1pY2ggYW4uLi4gIExPTExJIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZlaGxlcm1lbGR1bmdlbiAoR3JpbW1ib3JuLCAgMS4gSnVsIDE5OTksIDE1OjEyOjAzKToKfiMhIHJuPUxvbGxpIHJ0PTkzMDgzNDIyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzA4MzMxNzcKQXVzZ2FiZSB2b24gcm91dGUgLXZuZWU/CgpEYXMgbWl0IE5ldHNjYXBlIGlzdCBlaW4gRm9sZ2VmZWhsZXIsIGRlciBrZW5udCBEZWluIE5ldHogbmljaHQuIFdhcyBzYWdlbiBkaWUKZW50c3ByZWNoZW5kZW4gWmVpbGVuIGZ1ZXIgZGllIE5ldHp3ZXJra2FydGUgaW4gZGVyIC9ldGMvcmMuY29uZmlnPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptZWxkdW5nZW4gKExvbGxpLCAgMS4gSnVsIDE5OTksIDE1OjUyOjAxKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MzA4MzQ3MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMwODMzMTc3CmRhcyBwcm9ibGVtIGlzdCwgaWNoIHNpdHogZ3JhZGUgbmljaHQgYW4gbWVpbmVtIHJlY2huZXIgdW5kIGthbm4gbmljaHQKbmFjaHNjaGF1ZW4gd2FzIGRpZSBlaW56ZWxuZW4gYmVmZWhsZSBmdWVyIG1lbGR1bmdlbiBhdXNzcHVja2VuLiBzY2hyZWliIG1pcgpkb2NoIG1hbCBhbGxlcyB3YXMgaWNoIGFiZnJhZ2VuIHNvbGwgdW5kIGljaCBwb3N0ZSBkYW5uIG1vcmdlbiBuZW4gYXJ0aWtlbCBtaXQKZGVuIGdhbnplbiBtZWxkdW5nZW4uLi4uIHNvYmFsZCBpY2ggaGV1dGUgbmFjaCBoYXVzZSBrb21tZSB3ZXJkIGljaCBkYW5uCm5hY2hzY2hhdWVuCgpMb2xsaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtZWxkdW5nZW4gKEdyaW1tYm9ybiwgIDEuIEp1bCAxOTk5LCAxOTo1NTowNSk6Cn4jISBybj1Mb2xsaSBydD05MzA4MzcxMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMwODMzMTc3CnJvdXRlIC12bmVlCnBpbmcgbG9jYWxob3N0CnBpbmcgaG9zdG5hbWUKcGluZyA8aXAgZGVyIEthcnRlPgogSW5oYWx0IHZvbiAvZXRjL3JvdXRlLmNvbmYKClNvLCBkYXMgaXN0IGRhcyB3YXMgbWlyIGF1ZiBBbmhpZWIgZWluZmFlbGx0IChwbHVzIGRlbSB3YXMgL3Zhci9sb2cvbWVzc2FnZQpzYWd0LCBmYWxscyBkYSB3YXMgenUgZmluZGVuIGlzdCwgYWx0ZXJuYXRpdiBkaWUgQXVzZ2FiZSB2b24gZG1lc2cpLgpWZXJtdXRsaWNoIG1hY2h0IGVzIFNpbm4gZGFzIG5pY2h0IGhpZXJoaW4genUgcG9zdGVuIChkYXMgd2lyZCBlaGVyIHdhcwpsYWVuZ2VyKSwgc2NoaWNrcyBtaXIgYWxzIG1haWwgKGdyaW1tYm9ybkB1bmkta29lbG4uZGUpLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1lbGR1bmdlbiAoTml4aWhvdSwgIDIuIEp1bCAxOTk5LCAxMzoxMjo0NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTMwODUxNzA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzMDgzMzE3Nwp3ZW5uIHNhZW10bGljaGUgZmVobGVybWVsZHVuZ2VuIHVuZCBsb2dzIHNlaHIgbGFuZyBzaW5kIG1hY2h0IGRhcyBwb3N0ZW4Kc2ljaGVyIGtlaW5lbiBzaW5uLgphYmVyIGVpbmUgbmV0dGUga2xlaW5lIHp1c2FtbWVuZmFzc3VuZyBkZXIgZmVobGVyc3VjaGUKd28gbWFuIGRhYmVpIGRhbm4gZGVuIGZlaGxlciBnZWZ1bmRlbiBoYXQgZXRjLiB3YWVyZSBzaWNoZXJsaWNoIHJlY2h0CmxlaHJyZWljaCB1bmQgYXVjaCBmdWVyIGFuZGVyZSB2b24gaW50ZXJlc3NlLiAoZmFsbHMgc2ljaCBqZW1hbmQgZGllIGFyYmVpdAptYWNoZW4gbW9lY2h0ZSAqZ3JpbnMqKQoKbml4aWhvdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFsZHVyc0dhdGUtU2NyaXB0ZSBnZXN1Y2h0IChNb3Jnb3RoLCAgNi4gSnVsIDE5OTksIDA5OjA4OjE0KToKTW9pbiwKCmhhdCBpcmdlbmR3ZXIgbm9jaCBzZWxic3RnZXNjaHJpZWJlbmUgU2NyaXB0ZSBiencuIGlyZ2VuZHdlbGNoZSAuYmFmIGZpbGVzPwpJY2ggYmFzdGVsIHp3YXIgZ3JhZCBzZWxic3QsIGFiZXIgd2FlciBoYWx0IGV0d2FzIGVpbmZhY2hlci4gCkdlc3VjaHQgc2luZDoKMS4gRmVybmthbXBmc2NyaXB0ZSBmdWVyIGFsbGUgS2xhc3NlbgoyLiBJbnRlbGxpZ2VudGUgQ2xlcmljIHVuZCBNYWdlIFNjcmlwdGUKMy4gYWxsZXMgYW5kZXJlCgp0aG54IGluIGFkdmFuY2UgCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlhbW9uZCBWaXBlciBWNTUwIHVudGVyIExpbnV4IChHcmltbWJvcm4sICA2LiBKdWwgMTk5OSwgMTE6MTI6NDcpOgp+IyEgb249RmVsZXJpYW4gb3Q9OTMxMjM5NDA3IG9nPWFsbGdlbWVpbmVzCkd1Z3V4IDopCgpTZWl0IGVpbmlnZW4gVGFnZW4gdmVyc3VjaGUgaWNoIHZlcnp3ZWlmZWx0LCBtZWluZSBEaWFtb25kIFZpcGVyIFY1NTAgQUdQCmtsYXJ6dW1hY2hlbiwgZGFzcyBzaWUgZWlnZW50bGljaCBmdWVyIEF1ZmxvZXN1bmdlbiBob2VoZXIgYWxzIDgwMHg2MDAgdW50ZXIgWApmYWVoaWcgaXMuLi4gbnVyIGxlaWRlciB3ZWlnZXJ0IHNpY2ggZGllIGthcnRlIChvZGVyIGxpZWd0cyBhbiBYPyksIDEwMjR4NzY4Cm9kZXIgbm9jaCBob2VoZXIgenUgYWt6ZXB0aWVyZW4uLi4gZWluemlnZSByZWFrdGlvbiBiZWltIFN0YXJ0IGRlcyBYLVNlcnZlcnMKaXMgZWluIHNpY2ggYWJzY2hhbHRlbmRlciBNb25pdG9yIHVuZCBlaW4gbmljaHQgbWVociByZWFnaWVyZW5kZXIgUmVjaG5lci4uLgpmYWxscyBqZW1hbmQgbWl0IGRlciBLb25maWd1cmF0aW9uIGRlciBrYXJ0ZSBiZXJlaXRzIEVyZm9sZyBoYXR0ZS4uIGljaCBiaW4KZnVlciBqZWRlbiBUaXAgZGFua2JhciA6KQoKCkZlbGVyaWFuLCBMaW51eC1XdXJzdGkgdW5kIEFuaGFlbmdlciBlcmdvbm9taXNjaGVyIEF1ZmxvZXN1bmdlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpYW1vbmQgVmlwZXIgVjU1MCB1bnRlciBMaW51eCAoR3JpbW1ib3JuLCAgNi4gSnVsIDE5OTksIDExOjE2OjQ0KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MzEyNTIzNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMxMjUyMzY3CkRlaW5lIFByb2JsZW1iZXNjaHJlaWJ1bmcga2FubiBtYW4gbGVpZGVyIHp1IGRlbSB1ZWJsaWNoZW4gImRhcyB0dXRzIG5pY2h0Igp6dXNhbW1lbmZhc3Nlbi4gRWluIHBhYXIgSW5mb3JtYXRpb25lbiBkYXJ1ZWJlciB3aWUgRHUgWCBrb25maWd1cmllcnQgaGFzdCwKd2VsY2hlbiBYLXNlcnZlciBEdSBuaW1tc3QsIGF1ZnRyZXRlbmRlIEZlaGxlci9Mb2dtZWxkdW5nZW4uLi4gd2FlcmVuIG5pY2h0CmZlaGwgYW0gUGxhdHogZ2V3ZXNlbi4gRWluIHNpY2ggYWJzY2hhbHRlbmRlciBNb25pdG9yIGRldXRldCBkYXJhdWYgaGluIGRhc3MKc2VsYmlnZXIgdWViZXJzdGV1ZXJ0IHdpcmQsIGFscyBlcnN0ZXMgd3VlcmRlIGljaCBhbHNvIG5hY2hzY2hhdWVuIG9iIGRpZQpXZXJ0ZSBkZXMgTW9uaXRvcnMga29ycmVrdCBhbmdlZ2ViZW4gd3VyZGVuLgpGdWVyIHdlaXRlcmVzIGdpbHQ6IEhpbGZlIGdlZ2VuIEluZm9zLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0byAxNSAoRmVsZXJpYW4sICA2LiBKdWwgMTk5OSwgMTI6NTc6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzMTI1MjYwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzEyNTIzNjcKSG1tbS4uIGljaCBnbGF1YmUgZGFzIFByb2JsZW0gaGF0IHNpY2ggZ3JhZGUgZXJsZWRpZ3QuLi4gaGFiIG5lbiBuZXVlbgpYLVNlcnZlciBiZWkgblZpZGlhIGdlZnVuZGVuLi4uIGdsZWljaCBtYWwgdGVzdGVuLi4uIGZhbGxzIGRlciBhdWNoIG5ldAprbGFwcGVuIHNvbGx0ZSwgd2VyZCBpY2ggbWFsIGVpbiBwYWFyIExvZ2ZpbGVzIHZlcnNjaGlja2VuIDopCgoKRmVsZXJpYW4sIHNjaGlubWFsIGltIHZvcnJhdXMgZGFua2VuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1VDSEUhIERyaW5nZW5kIChDcml0dGVyLCAgNy4gSnVsIDE5OTksIDE0OjE0OjQ2KToKYnJhdWNoZSBkcmluZ2VuZCBhbHRlIGlzYSBtdWx0aS1pby1rYXJ0ZSB3ZXIgc293YXMgZnVlciB3ZW5pZyBhYnp1Z2ViZW4gaGF0Li4uCm11ZG1haWwgYW4gbWljaC4KY3JpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNVQ0hFISBEcmluZ2VuZCAoU3RyZWF3a2NldXIsICA3LiBKdWwgMTk5OSwgMjA6MjE6NTIpOgp+IyEgcm49Q3JpdHRlciBydD05MzEzNDk2ODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMxMzQ5Njg2CkR1IG1laW5zdCBkaWVzZSBEaW5nZXIgIkxQVC9DT00vRmxvcHB5L0hEIiA/CgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0IgTGl2ZSEgdW50ZXIgTGludXggKFJpbmdvciwgMTQuIEp1bCAxOTk5LCAyMjowMDoyMSk6CkRhIGRhbWFscyBkb2NoIG1laHJlcmUgZGFuYWNoIGdlZnJhZ3QgaGF0dGVuLCBoaWVyIGRlciBUaXAgZnVlciBhbGxlOgoKQXVmIGh0dHA6Ly9kZXZlbG9wZXIuc291bmRibGFzdGVyLmNvbS9saW51eC8gZ2lidCBlcyBtaXR0bGVyd2VpbGUgZGllIFZlcnNpb24KMC4zYiBkZXIgVHJlaWJlciBmdWVyIGRpZSBTQiBMaXZlISB1bnRlciBMaW51eC4KCklzdCB6d2FyIG5vY2ggQmV0YSwgYWJlciBkaWUgZXJzdGUgVmVyc2lvbiwgZGllIGJlaSBtaXIgZnVua3Rpb25pZXJ0LiBVbmQgZGFzCnZlcmRhbW10IGd1dC4gOi0pCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpYW1vbmQgVmlwZXIgNTUwICsgU3VTRSA2LjEgKE1vcmdvdGgsIDE1LiBKdWwgMTk5OSwgMDc6MzI6MjEpOgpJcmdlbmR3aWUgc2NobWllcnQgbWlyIGRlciBSZWNobmVyIChQSUktNDAwKSBpbW1lciBhYiwgd2VubiBpY2ggcGVyIHNheCBkYXMgWApjb25maWd1cmllcmVuIHdpbGwuIHNlbGJzdCBtaXQgWEY4NlNldHVwIGJla29tbWUgaWNoIGZlaGxlcmZyZWkgbnVyCjY0MHg0ODAsOGJwcCBoaW4uIEhhdCBkYSB3ZXIgbmUgaWRlZSwgd2FzIGljaCBkYSBtYWNoZW4ga2Fubi4gaWNoIHZlcm11dGUsIGVzCmxpZWd0IGFuIGRlbSBibG9lZGVuIEFHUC1zbG90LCBpbiBkZW0gZGllIGthcnRlIGhhZW5ndC4KCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWFtb25kIFZpcGVyIDU1MCArIFN1U0UgNi4xIChTaGFyaWEsIDE1LiBKdWwgMTk5OSwgMDk6MjM6MzYpOgp+IyEgcm49TW9yZ290aCBydD05MzIwMTY3NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMyMDE2NzQxCmFsc28gbWl0bSBDZWxlcm9uIDQwMCB1bmQgZGVyIERpYW1vbmQgVmlwZXIgNTUwIHVuZCBTdXNlIDYuMSBnZWh0cyBlaW53YW5kZnJlaQouLi4gdmllbGxlaWNodCB3aXJrbGljaCBkZXIgQUdQIFNsb3QgYXVmbSBib2FyZCBoaW51ZWJlciA/IHdpZSBsYWV1ZnQgZGllCnVudGVyIHdpbmRvb2YgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpYW1vbmQgVmlwZXIgNTUwICsgU3VTRSA2LjEgKFdpbGxvdywgMTUuIEp1bCAxOTk5LCAxMTowMjo1Nyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTkzMjAxNjc0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzIwMTY3NDEKVmllbGxlaWNodCBpc3QgZXMgYXVjaCBudXIgbmVuIFByb2JsZW0gZGVyIE1vbml0b3JlaW5zdGVsbHVuZyAtIGhhdHRlIGljaCBiZWkKbWVpbmVyIE1hdHJveCBHMjAwIG1pdCBuZW0gTm9raWEgNDQ2WFMgYXVjaC4uLgpoYWIgbmVuIGJpc2NoZW4gYW4gZGVuIHRpbWluZ3MgZnVlciBkZW4gbW9uaXRvciBnZWRyZWh0IHVuZCBoYXR0ZSBkYW5uIGVpbgpzdGFiaWxlcyBiaWxkLi4uCldlaWRjaGVuIFdpbGxvdwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWFtb25kIFZpcGVyIDU1MCArIFN1U0UgNi4xIChNb3Jnb3RoLCAxNS4gSnVsIDE5OTksIDEyOjU3OjQ4KToKfiMhIHJuPVdpbGxvdyBydD05MzIwMjkzNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMyMDE2NzQxCkdsYXViIGljaCBuaWNodC4gV2VubiBkYXMgYW0gTW9uaXRvciBsaWVnZW4gc29sbHRlLCB3aWVzbyBoYWVuZ3Qgc2ljaCBkYW5uIGRlcgpSZWNobmVyIGtvbXBsZXR0IGF1Zj8gSWNoIG1lY2tlciBiZXNzZXIgbWFsIGJlaW0gTGllZmVyYW50ZW4uIDstKCgKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWFtb25kIFZpcGVyIDU1MCArIFN1U0UgNi4xIChSdW1hdGEsIDE1LiBKdWwgMTk5OSwgMTI6NTk6NDQpOgp+IyEgcm49TW9yZ290aCBydD05MzIwMzYyNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMyMDE2NzQxCkJlaSBDZWxlcm9uIDQwMCB1bmQgUml2YSBUTlQgaXN0IG1pciBkYXMgYmVpIDExNTIgYXVjaCBwYXNzaWVydCAoMTIwMCBnaW5nCmFiZXIpLiBTY2hlaW50IGRvY2ggZWluIHN5c3RlbWF0aXNjaGVzIFByb2JsZW0genUgc2Vpbi4uLgoKUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWFtb25kIFZpcGVyIDU1MCArIFN1U0UgNi4xIChNb3Jnb3RoLCAxNS4gSnVsIDE5OTksIDE1OjA1OjE3KToKfiMhIHJuPVJ1bWF0YSBydD05MzIwMzYzODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMyMDE2NzQxCkhhYnMgamV0enQuIEljaCBoYWIgZGllIEthcnRlIGF1cyBkZW0gYW5kZXJlbiBSZWNobmVyIChpZGVudGlzY2gsIG51ciBOVCkKZWluZ2ViYXV0LCBqZXR6dCBmdW56dCBlcy4gS29tc2ljaGVyd2Vpc2UgYXVmIGJlaWRlbiBSZWNobmVybi4gLi4uLiBzdHJhbmdlCi4uLi4KVHJvdHpkZW0gRGFua2UgZnVlciBhbGxlIHJlcGx5cwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhdC1MYXVmd2Vya2UgKEJhbWJ1bGtvLCAxNi4gSnVsIDE5OTksIDE1OjQxOjIxKToKV2FzIGtvc3RlbiBlaWdlbnRsaWNoIERhdC1MYXVmd2Vya2U/IFdhcyBpc3QgZGEgenUgZW1wZmVobGVuICh1bnRlciBMaW51eCBvZGVyCldpbjk1LgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmFsbGVscG9ydHNjYW5uZXIgdW5lciBMaW51eCAoUmlrdXMsICAyLiBBdWcgMTk5OSwgMjI6NDA6NTEpOgpHcnVzcywKaWNoIGJla29tbWUgdmllbGxlaWNodCBlaW5lbiBTY2FubmVyIChtdXN0ZWsgNjAwMCkgZnVlciBQYXJhbGxlbHBvcnQuCk51biBtZWluZSBGcmFnZSAoZGEga2VpbmUgWml0IHp1bSBSdW1zdWNoZW4pOiBXaXJkIGRlciB2b24gbGludXgKdW50ZXJzdHVldHp0PyBXZW5uIGphLCB3YXMgbXVzcyBhbSBrZXJuZWwgZ2VhZW5kZXJ0IHdlcmRlbj8gR2VodCBlcwpuaWNodCwgbXVzcyBpY2ggaGFsdCBkYWZ1ZXIgV2luIGJvb3RlbiA6KAoKUmlrdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJhbGxlbHBvcnRzY2FubmVyIHVuZXIgTGludXggKE1hcmN1cywgIDIuIEF1ZyAxOTk5LCAyMjo1NjozMyk6Cn4jISBybj1SaWt1cyBydD05MzM2MjY0NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMzNjI2NDUxCk1laW5lcyB3aXNzZW4gbmljaHQuCgpDaWFvLCBNCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhcmFsbGVscG9ydHNjYW5uZXIgdW5lciBMaW51eCAoUnVtYXRhLCAgMy4gQXVnIDE5OTksIDEzOjMyOjEyKToKfiMhIHJuPU1hcmN1cyBydD05MzM2MjczOTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTMzNjI2NDUxClNvd2VpdCBpY2ggd2Vpc3MsIHdlcmRlbiB1bnRlciBMaW51eCBudXIgVU1BWCBTQ1NJIHNjYW5uZXIgbnVyCnVudGVyc3R1ZXR6dC4KQWxsZXMgYW5kZXJlIGlzdCBleHRyZW0gYWxwaGEsIHdpbGwgaGVpc3NlbiwgbmFjaCBkZW0gU2Nhbm5lbiBtdXNzCm5ldSBnZWJvb3RldCB3ZXJkZW4uCihEYSBrYW5uIG1hbiBqYSBnbGVpY2ggd2luZG93cyBzdGFydGVuIDotKQpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjRNQiBWZXNhIExvY2FsIChBbmF0b2wsIDEwLiBBdWcgMTk5OSwgMTE6NTI6MzEpOgoKRmFsbHMgbWljaCBpcmdlbmR3ZXIgaW4gRXJzdGF1bmVuIHZlcnNldHplbiBtb2VjaHRlLCBzbyBrb2VubnRlIGVyIApkaWVzIG1pdCBlaW5lciBHcmFmaWtrYXJ0ZSA+MU1CLCBWTC1CdXMsIHR1bi4gRGllIGVyIG5hdHVlcmxpY2ggdWVicmlnCmhhYmVuIHNvbGx0ZS4KCkljaCBmcmFnZSBtaWNoLCBvYiBlcyBzb3dhcyB1ZWJlcmhhdXB0IChub2NoKSBnaWJ0Li4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWFnYXRlIG9kZXIgc2llIGdlaHQgbmljaHQuLi4gKEFuYXRvbCwgMTAuIEF1ZyAxOTk5LCAxMTo1NDo1Nyk6CgpLYW5uIGRhcyBzZWluLCBkYXNzIGRpZSBTZWFnYXRlIFNUMzI1MzFBIGVpbmVuIGdld2lzc2VuICJSdWYiIGdlbmllc3N0PwpKZWRlbmZhbGxzIHNjaG1pZXJlbiBtaXIgc2NoZWluYmFyIGFsbGUgamVuZSBQbGF0dGVuIHVudGVyIExpbnV4IGJlaW0KendlaXRlbiBCb290IG1pdCBMZXNlZmVobGVybiBhYi4uLgoKQW5hdG9sIC0gbm8gc2VhZ2F0ZSBubyBjcnkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlYWdhdGUgb2RlciBzaWUgZ2VodCBuaWNodC4uLiAoQW5ha2luLCAxMC4gQXVnIDE5OTksIDEzOjA1OjU2KToKfiMhIHJuPUFuYXRvbCBydD05MzQyNzg4OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM0Mjc4ODk3Cgo+IEFuYXRvbCAtIG5vIHNlYWdhdGUgbm8gY3J5LgoKSWNoIGtlbm4gZGFzIGFscyBubyB3b21hbiAtIG5vIGNyYXkKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VhZ2F0ZSBvZGVyIHNpZSBnZWh0IG5pY2h0Li4uIChHcmltbWJvcm4sIDEwLiBBdWcgMTk5OSwgMTQ6MjE6MTApOgp+IyEgcm49QW5ha2luIHJ0PTkzNDI4MzE1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzQyNzg4OTcKRHUgdW50ZXJzY2hhZXR6dCBkaWUgS29zdGVuIGVpbmVyIENyYXksIHd1ZXJkZSBpY2ggc2FnZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlYWdhdGUgb2RlciBzaWUgZ2VodCBuaWNodC4uLiAoQW5ha2luLCAxMC4gQXVnIDE5OTksIDE0OjM1OjQ3KToKfiMhIHJuPUdyaW1tYm9ybiBydD05MzQyODc2NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM0Mjc4ODk3CgpOb2UsIGltIE5lYmVuemltbWVyIHN0ZWh0IGVpbmUgOikKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNlYWdhdGUgb2RlciBzaWUgZ2VodCBuaWNodC4uLiAoSG91c2Vob2xkZXIsIDEwLiBBdWcgMTk5OSwgMTU6MDY6NTkpOgp+IyEgcm49QW5ha2luIHJ0PTkzNDI4ODU0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzQyNzg4OTcKbmVoIGlociB1bnRhc2NoYWV0enQgZGllIGtvc3RlbiBlaW5lciAid29tYW4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogNE1CIFZlc2EgTG9jYWwgKFN0cmVhd2tjZXVyLCAxMC4gQXVnIDE5OTksIDE4OjQ3OjM1KToKfiMhIHJuPUFuYXRvbCBydD05MzQyNzg3NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM0Mjc4NzUxCmljaCBoYWIgc28gZWluZS4ga2FubiBhbGxlcmRpbmdzIG5pY2h0IHNhZ2VuIG9iIHNpZSA+MSBNQiBpc3QgKGRpZSBsaWVndCBoaWVyCm51ciBzbyBydW0pCgpycgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9zaXggdW5kIE5UIGxvYWRlciAoSmltZGlncml6LCAxNS4gQXVnIDE5OTksIDEyOjI1OjQ5KToKSGFsbG8gKiwKCmphIEZyZXZlbCBpY2ggd2Vpc3MsIHRyb3R6ZGVtIHdlaXNzIHZpZWxsZWljaHQKd2VyLCB3aWUgaWNoIGRlbSBOVCBPU2xvYWRlciBiZWlicmluZ2VuIGthbm4KTG9zaXggenUgYm9vdGVuLgooS2VpbmUgTElMTywgZXRjIGFsdGVybmF0aXZlbiwgZGFzIHdlaXNzIGljaAogc2VsYmVyIGFsbGVzKQoKTWVyY2ksCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb3NpeCB1bmQgTlQgbG9hZGVyIChHcmltbWJvcm4sIDE1LiBBdWcgMTk5OSwgMTg6MTA6NTgpOgp+IyEgcm49SmltZGlncml6IHJ0PTkzNDcxOTk0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzQ3MTk5NDkKUlRGTTogbWluaS1IT1dUTyBMaW51eCtOVC1Mb2FkZXIKICAxLiAgQWJzdHJhY3QKCiAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIHVzZSBvZiB0aGUgV2luZG93cyBOVCBib290IGxvYWRlciB0byBzdGFydAogIExpbnV4LiAgVGhpcyBwcm9jZWR1cmVzIGhhdmUgYmVlbiB0ZXN0ZWQgd2l0aCBXaW5kb3dzIE5UIDQuMCBXUyBhbmQKICBMaW51eCAyLjAuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKUC5TLiBBY2ggamEsIHdlbm4gRHUgZGFzIEhPV1RPIGF1ZiBEZWluZW4gdWVibGljaGVuIEJTRV5IRC1TeXN0ZW1lbiBuaWNodApmaW5kZW4ga2FubnN0IG1haWxlIGljaCBlcyBEaXIgYXVjaCBnZXJuZSB6dS4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VhZ2F0ZSBvZGVyIHNpZSBnZWh0IG5pY2h0Li4uIChCaGFtaXIsIDE4LiBBdWcgMTk5OSwgMTU6NDA6NDgpOgp+IyEgcm49QW5hdG9sIHJ0PTkzNDI3ODg5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzQyNzg4OTcKTGF1dCBTZWFnYXRlIGhhdCBkaWUgUGxhdHRlIG1pdCBkZW0gSURFIENvbnRyb2xsZXIgYXVmIEludGVsIENoaXBzYWV0emVuCihkYXMgaXN0IGRlciBQSUlYIDQgZGVua2UgaWNoKS4gV2llIG1hbiBBYmhpbGZlIHNjaGFmZmVuIGthbm4gc3RlaHQgbmljaHQKYXVmIGlocmVyIFdlYnNlaXRlLCBpY2ggd3VlcmRlIGVtcGZlaGVsbiB2aWVsbGVpY2h0IGRlbiBQSU8gTW9kdXMgZmVzdCBhdWYKMyBlaW56dXN0ZWxsZW4uCgpCaGFtaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRPUy1CYXRjaC1RdWl6IChTbnVnZ2xlLCAxOS4gQXVnIDE5OTksIDIxOjM0OjU1KToKSGkgSWhycywKCmVpbiBncm9zc2VzIEVpcyBzZXR6ZSBpY2ggZGVtamVuaWdlbiBhdXMsIGRlciBtaXIgc2FnZW4ga2Fubiwgd2llIGljaCBhbGxlCkRhdGVpZW4gZWluZXMgVmVyemVpY2huaXNzZXMgKG9kZXIgYmVzc2VyIG5vY2g6IGFsbGUgRGF0ZWllbiB1bmQgVmVyemVpY2huaXNzZQp1bnRlcmhhbGIgZWluZXMgU3RhcnR2ZXJ6ZWljaG5pc3Nlcykgdm9uIGdyb3NzLSBvZGVyIGdlbWlzY2h0c2NocmVpYnVuZyBuYWNoCmtsZWluc2NocmVpYnVuZyB2ZXJ3YW5kZWx0IGJla29tbWUuIERhcyBnYW56ZSBzb2xsdGUgZW50d2VkZXIgdW50ZXIgZG9zNi4yMgpvZGVyIGRlciB3aW45OCBkb3NzaGVsbCBsYXVmZW4gKGFsdGVybmF0aXYgbmVobWUgaWNoIGF1Y2ggZ2VybmUgCnNlbGJzdGdlc3RyaWNrdGUgY29tcGlsaWVydGUgUHJvZ3JhbW1lLCBmYWxscyBqZW1hbmQgc293YXMgc2Nob24gbWFsCmdlc2NocmllYmVuIGhhdCB6dW0gSGF1c2dlYnJhdWNoKS4KCkljaCB3ZWlzcywgZGFzIGVzIHVudGVyIGxpbnV4L3VuaXggZ2VodCwgYWJlciBhbHMgZG9zLWJhdGNoPz8gRmFsbHMgZXMgZ2VodApiaWV0ZSBpY2ggYWxzIG9ydCBkZXIgZWlzdWViZXJnYWJlIGJvbm4gb2RlciBtdWVuc3RlciBhbi4KCkF1ZiBBbnR3b3J0ZW4gaG9mZmVuZCwKClNudWdnbGUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TLUJhdGNoLVF1aXogKEhvdXNlaG9sZGVyLCAxOS4gQXVnIDE5OTksIDIyOjAyOjExKToKfiMhIHJuPVNudWdnbGUgcnQ9OTM1MDk4NDk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTA5ODQ5NQpzY2hpY2sgYWxsZSB2aWEgZnRwIGF1ZiBlaW5lbiB1bml4cmVjaG5lciBtYWNoIGVzIHVudGVyIHVuaXggbWl0IGVpbmVtIHBlcmwKb2RlciBzaGVsbC1za3JpcHQgbG9lc2NoIGVzIGJlaSBkaXIgbG9rYWwgKGFtIGJlc3RlbiBkYXMgd2luOTggZ2xlaWNoIG1pdCA6LSkKKSB1bmQgemllaCBlcyBkaXIgd2llZGVyIHJ1ZWJlciA6LSkgCkhIIHNpY2ggYXVmIGVpbiBkaWNrZXMgZWlzIGZyZXVlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBET1MtQmF0Y2gtUXVpeiAoU3RyZWF3a2NldXIsIDE5LiBBdWcgMTk5OSwgMjI6NDE6MjgpOgp+IyEgcm49U251Z2dsZSBydD05MzUwOTg0OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1MDk4NDk1CkFsc28gdW50ZXIgRE9TIGdpYnRzIGdhciBrZWluZSBHcm9zcy0vS2xlaW5zY2hyZWlidW5nLiBVbmQgdW50ZXIgV2luZG93cyA5eAppc3QgZGFzIGF1Y2ggZWhlciBlaW4gRmFrZSAobWFuIGthbm5zIHNldHplbiBhYmVyIGRhcyBTeXN0ZW0gdW50ZXJzY2hlaWRldHMKbmljaHQpLiBBbHNvIHdvenUgZGFzIGdhbnplPwoKcnIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRE9TLUJhdGNoLVF1aXogKFNudWdnbGUsIDIwLiBBdWcgMTk5OSwgMDc6MDk6MTApOgp+IyEgcm49U3RyZWF3a2NldXIgcnQ9OTM1MTAyNDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTA5ODQ5NQpXb3p1IGRhcyBnYW56ZS4uIAoKSWNoIGJldHJldWUgZWluZSBIb21lcGFnZSB1bmQgbWVpbiBGVFAtUHJvZ3JhbW0gdWViZXJuaW1tdCBkaWUgU2NocmVpYndlaXNlLApkaWUgV2luZG9vZiBpaG0gdm9yZ2lidC4gU3ByaWNoIGVzIHdpbGwgYWxsZXMgZ3Jvc3MgYXVmIGRpZSBIb21lcGFnZSBwYWNrZW4KdW5kIGRhcyBzb2xsIG5pY2h0LgpBbHNvIG11c3MgaWNoIGVzIHp1aGF1cyBlcnN0IG1hbCBrbGVpbiBtYWNoZW4sIGRhbm4ga2xhcHB0cyBhdWNoIG1pdCBkZW0KTmFjaGJhcm4gXkheSF5IRlRQLVByb2dyYW1tLi4uCgpTbnVnZ2xlCgpQUyBISCwgd2VubiBpY2ggZGllIEtvc3RlbiwgdW0gZGllIGdhbnplIEhvbWVwYWdlIHVlYmVyIG1laW4gb2xsZXMgTW9kZW0gYXVmCmRlbiBTZXJ2ZXIgenUgc2NoaWNrZW4gdW5kIHdpZWRlciB6dXJ1ZWNrIHZvbSBFaXMgYWJ6aWVoZSwgYmxlaWJ0IGFiZXIgbnVyCm5vY2ggZWluZSBLdWdlbCB1ZWJyaWcgOi0pCgpQUFMgLi4uamEgaWNoIHdlaXNzLCBMaW51eCBpbnN0YWxsaWVyZW4uIGljaCBhcmJlaXRlIGRyYW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBET1MtQmF0Y2gtUXVpeiAoR3JpbW1ib3JuLCAyMC4gQXVnIDE5OTksIDA3OjQ3OjE5KToKfiMhIHJuPVNudWdnbGUgcnQ9OTM1MTMyOTUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTA5ODQ5NQpyZXBseQpJY2ggc2VoZSBkYXMgUHJvYmxlbSBuaWNodCBzbzogRWluZmFjaCBEYXRlaXN5c3RlbSBuYWNoIEZBVDE2IGtvbnZlcnRpZXJlbiB1bmQKd2llZGVyIHp1cnVlY2sgc29sbHRlIGhlbGZlbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBET1MtQmF0Y2gtUXVpeiAoWWFyZW4sIDIwLiBBdWcgMTk5OSwgMTE6MjA6MDApOgp+IyEgcm49U251Z2dsZSBydD05MzUwOTg0OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1MDk4NDk1CmdpYnQgZXMgbmljaHQgZ2F3ayBhdWNoIGZ1ZXIgZG9vZj8gbWVpbmUgamEgLi4uIGF1ZiBqZWRlbiBmYWxsIGdpYnQgZXMgcGVybApmdWVyIGRvb2YgLi4uCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERPUy1CYXRjaC1RdWl6IChQaWxncmltLCAyMC4gQXVnIDE5OTksIDE3OjI5OjUxKToKfiMhIHJuPVNudWdnbGUgcnQ9OTM1MTMyOTUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTA5ODQ5NQpIbW1tLAoKRHUgYnJhdWNoc3QgZWhybGljaCBnZXNhZ3Qga2VpbiBUb29sIHp1bSBLb252ZXJ0aWVyZW4gZGVyIEZpbGVuYW1lbiwKc29uZGVybiBuZW4gYW5kZXJlbiBGVFAtQ2xpZW5ldCEgW1dhcyBiZW51dHp0IER1IGVpZ2VudGxpY2g/XQpBbGxlIFByZywgZGllIGljaCBzbyBrZW5uZSAoQnVsbGV0IFByb29mIEZUUCwgV1MtRlRQLCBpbnRlcm5lciBGVFAKZGVzIFdpbmRvd3MgQ29tbWFuZGVyJ3MpIGhhYmVuIGFsbGUgbmUgT3B0aW9uICJmb3JjZSBsb3dlciBjYXNlIGF0IC4uLiIKLSBvZGVyIHNvIGFlaG5saWNoIC0gc2Nob24gd2lyZCBhbGxlcywgd2FzIG1hbiBob2NobGFlZCBuYWNoCktsZWluYnVjaHN0YWJlbiBrb252ZXJ0aWVydCA7LSkKClBpbGdyaW0KKG1hZyBTY2hva29sYWRlbi1FaXMpCgpQUzogV1MtRlRQIExFIGtvc3RldCBEaWNoIGF1Y2gga2VpbiBHZWxkIC0gYmlzIGF1ZiBkaWUgRG93bmxvYWQtWmVpdCBuYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBET1MtQmF0Y2gtUXVpeiAoUGlsZ3JpbSwgMjAuIEF1ZyAxOTk5LCAxNzozMDo1MSk6Cn4jISBybj1QaWxncmltIHJ0PTkzNTE3MDE5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzUwOTg0OTUKUFBTOiB3ZXIgUmVjaHRzcmVpYmZlaGxlciBmaW5kZXQsIGRhcmYgc2llIGJlaGFsdGVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRE9TLUJhdGNoLVF1aXogKEdyaW1tYm9ybiwgMjAuIEF1ZyAxOTk5LCAyMDo1MjowNik6Cn4jISBybj1QaWxncmltIHJ0PTkzNTE3MDI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzUwOTg0OTUKTm9lLCBzaWVodCBkb2NoIGFsbGVzIGtvcnJla3QgYXVzLgoKR3JpbW0iaGFiIHNlbGJlciB3ZWxjaGUiYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRS1TaG9wIChEYW1pZW4sIDI1LiBBdWcgMTk5OSwgMDg6NDg6MzUpOgpIaSBMZXV0ZS4KSWNoIGJyYWV1Y2h0ZSBtYWwgZWluZSBFbXBmZWhsdW5nIGZ1ZXIgZWluZSBMb2VzdW5nIGZ1ZXIgZGFzIEVpbnJpY2h0ZW4KZWluZXMgV2Vic2hvcHMuIEthbm4gZWluZSBwcm9wcmlhZXRlcmUgTG9lc3VuZyBzZWluIG9kZXIgYXVjaCB3YXMKZnJlaWVzLiBEYSB3aXIgdW5zIGRlbiBQcm92aWRlciBlcnN0IG5vY2ggcmF1c3N1Y2hlbiB3ZXJkZW4sIGJyYWV1Y2h0ZSBpY2gKZWluZSBFbXBmZWhsdW5nIGFtIGJlc3RlbiBzb3dvaGwgZnVlciBOVC1iYXNpZXJ0ZSBhbHMgYXVjaCBVTklYL0xpbnV4LQpiYXNpZXJ0ZSBTZXJ2ZXIuIEZhbGxzIGplbWFuZCBlaW5lbiBndXRlbiBJU1AgbWl0IGVpbmVtIGVpZ2VuZW4gUGFrZXQga2VubnQsCmlzdCBkaWUgSW5mb3JtYXRpb24gYXVjaCB3aWxsa29tbWVuLgoKRGFtaWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEUtU2hvcCAoTXlzdGVyaW91cywgMjUuIEF1ZyAxOTk5LCAwODo1NDo0Nyk6Cn4jISBybj1EYW1pZW4gcnQ9OTM1NTcwOTE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTU3MDkxNQpuaSBoYW8hCgphbHNvIGRpZSBzdHJhdG8gYWcgKGh0dHA6Ly93d3cuc3RyYXRvLmRlKSBiaWV0ZW4gbmViZW4gaXMgYXVjaCBuZW4gZS1zaG9wIGFuLgpmdWVyIGtsZWluZSBzaG9wcyAoYWxzbyAgenVtIHRlc3Rlbikgc29nYXIga29zdGVubG9zLCBzb2Zlcm4gZHUgbmUgaHAgYmVpCmRlbmVuIHp1IGxhdWZlbiBoYXN0LgpvYiBkZXIgc2hvcCBhbnN0YWVuZGlnIGlzLCBoYWIgaWNoIG5vY2ggbmljaCBwcm9iaWVydC4gYWxzIGlzcCBpcyBzdHJhdG8gcmVjaHQKYnJhdWNoYmFyLgoKKnZlcm5laWcqCiAgICAgICAgICBtWXN0RXJJb3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptb2RlbXNlIGluIGVuZ2VsYW5kIChNeXN0ZXJpb3VzLCAyNS4gQXVnIDE5OTksIDA4OjU4OjEzKToKa29ubmktY2hpLXdhIQoKYWxzbyBkZW1uYWVjaHN0IHdlcmRlIGljaCBuYWNoIGVuZ2xhbmQgKHVrKSBmYWhyZW4uIGRvcnQgd29sbHRlIGljaCBkYW5uIGVpbgptb2RlbSBhdXMgZGV1dHNjaGxhbmQgKGVsc2EgMjguOCB0cXYpIGFuc2NobGllc3Nlbi4gCm11c3MgaWNoIGRhYmVpIGlyZ2VuZHdhcyBiZWFjaHRlbj8gYnJhdWNoIGljaCBuZXVlIHN0ZWNrZXIva2FiZWwgb2RlciBzb25zdGlnZQphZGFwdGVyPwoKd2FlciBrdWhsLCB3ZW5uIGplbWFuZCBoZWxmZW4ga29lbm50ZS4uCgoqaG9lZmxpY2ggdmVybmVpZyoKICAgICAgbVlzdEVyaU91cwoKcC5zLjogTkFIIGdvdGNoYSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtb2RlbXNlIGluIGVuZ2VsYW5kIChIYXRlLCAyNS4gQXVnIDE5OTksIDA5OjEzOjAyKToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9OTM1NTcxNDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTU3MTQ5MwpEaWUgU3RlY2tlciBzaW5kIGF1ZiBqZWRlbiBGYWxsIGFuZGVycyA6LSkKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRE9TLUJhdGNoLVF1aXogKFBpbGdyaW0sIDI1LiBBdWcgMTk5OSwgMDk6Mjg6NTIpOgp+IyEgcm49U251Z2dsZSBydD05MzUwOTg0OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1MDk4NDk1ClNvLAoKZWJlbiBiZWltIFN1cmZlbiBnZWZ1bmRlbiAuLi4KCkdST1NTLWtsZWluIC0gVG9vbCB2b24gUEMgcHJvICAuLi4KCmh0dHA6Ly93d3cuemRuZXQuZGUvZG93bmxvYWQvbGlicmFyeS9kZUFSUS13Yy5odG0KClNjaGVpbnQgZ2VuYXVzIGRhcyB6dSBzZWluLCB3YXMgRHUgc3VjaHN0IC4uLgoKUGlsZ3JpbQpQUzogV2llIGdlc2FndDogU2Nob2tvbGFkZW4gZWlzIC4uLiBhYmVyIGd1dCB2ZXJwYWNrZW4sIGRhcyBlcyBWb24gQm9ubiBiaXMgTVMKbmljaHQgc2NobWlsdHp0IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFLVNob3AgKERhbWllbiwgMjUuIEF1ZyAxOTk5LCAxNzowNDoxMik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkzNTU3MTI4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU1NzA5MTUKSG1tLCBhbHMgSVNQIG51dHplbiB3aXIgZGVuIGVoJyBzY2hvbi4gV2FlcmUgZWluIEFuZmFuZy4gV2VpdGVyZSBWb3JzY2hsYWVnZT8KCkRhbWllbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFLVNob3AgKEdyaW1tYm9ybiwgMjUuIEF1ZyAxOTk5LCAxNzowNjoxMik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkzNTU3MTI4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU1NzA5MTUKV2Vpc3N0IER1IHdhcyBlaW5lIEhQIGtvc3RldCwgd29tb2VnbGljaCBub2NoIGVpbmUgImVjaHRlIiB1bmQga2VpbmUgYXVmCkludGVsLUJhc2lzPwpEYSBnaWJ0IGVzIGxvY2tlciBiaWxsaWdlcmUgZS1zaG9wcy4gSG9lbGxlLCBkYWZ1ZXIga2FubnN0IER1IERpciBlaW5lbgprbGVpbmVuIFRhbnRlIEVtbWEgTGFkZW4gYXVmIGRlbSBMYW5kIGthdWZlbiAoYWxsZXJkaW5ncyBvaG5lIE5ldHphbmJpbmR1bmcpLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFLVNob3AgKFd1cnplbCwgMjUuIEF1ZyAxOTk5LCAxNzo1ODowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTM1NjAwNzcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTU3MDkxNQpuYWphLiBlaW5lIGhwIGs1NzAga29zdGV0IHNvIGNhLiAzNTAuMDAwLC0gd2VubiBtYW4gb3JkZW50bGljaCBzcGVpY2hlcmF1c2JhdQp1bmQgcHJvemVzc29yZW4gaGFiZW4gd2lsbC4gZGFzIGlzdCBkYW5uIGVpbiBzZWhyIGtsZWluZXIgdGFudGUgZW1tYSBsYWRlbiA6KQoKd3VyemVsCgpwLnMuIGVzIGdpYnQgbmF0dWVybGljaCBhdWNoIGV0d2FzIHRldXJlcmUgbW9kZWxsZSwgd2VyIHZpZWwgZ2VsZCBhdXNnZWJlbgptb2VjaHRlIGRhcmYgbWljaCBnZXJuIGtvbnRha3RpZXJlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRS1TaG9wIChIb3VzZWhvbGRlciwgMjUuIEF1ZyAxOTk5LCAxODowNzoxMyk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTM1NjAzODgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNTU3MDkxNQpIbSBkdSB2ZXJrYXVmc3QgdGFudGUgZW1tYSBsYWVkZW4gd3VyemVsID8KQ29vb2wga2FubnN0IGR1IG1pciBlaW4gcGFhciBhdXNmdWVocmxpY2hlIGFuZ2Vib3RlIHVudGVyYnJlaXRlbiA/IEljaCBzdWNoZQpkcmluZ2VuZCB3ZWxjaGUgLi4uLi4gbWVociBhbHMgNTAwLjAwMC4tIHNvbGx0ZSBlciBhYmVyIG5pY2h0IGtvc3RlbiAuLi4KdmllbGVuIGRhbmsgaW0gdm9yYXVzIApISAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR0lGIG51ciBub2NoIGZ1ZXIgR2VsZD8gKFNpbHZhbmEsIDI5LiBBdWcgMTk5OSwgMDk6MjQ6MjkpOgpHcmFkIGdlZnVuZGVuOgoKVW5pc3lzIGhhdCBiZWthbm50Z2VnZWJlbiwgZGFzcyBzaWUgYWxsZSBXZWJzZWl0ZW4sIGRpZSBHSUYtQmlsZGVyIHZlcndlbmRlbiwKbWl0IGVpbmVyIFRheGUgdm9uIGxjaGVybGljaGVuICQ1JzAwMCBiZWxhc3RlbiB3ZXJkZW4uIChGciAyIFNlcnZlcikgTGVpZGVyCmhhdCBVbmlzeXMgZGFzIFBhdGVudCBhdWYgZGVuIGluIEdJRiB2ZXJ3ZW5kZXRlbiBMWlctQWxnb3J5dGhtdXMuLi4gV2VyIG1laHIKbGVzZW4gd2lsbCwgc2NoYXUgbWFsIGJlaQoKaHR0cDovL2NvcnAyLnVuaXN5cy5jb20vTGVhZFN0b3J5L2x6dy1saWNlbnNlLmh0bWwKCnJlaW4uIFZpZWxsZWljaHQga2FubiBtaXIgZGFubiBhdWNoIGplbWFuZCBzYWdlbiwgd2llIGVybnN0IGRhcyB6dSBuZWhtZW4gaXN0LAp1bmQgaW4gd2llIHdlaXQgc2ljaCBkYXMgZnVlciBTZXJ2ZXIgYXVzc2VyaGFsYiBkZXIgVVNBIGF1c3dpcmtlbiBrYW5uLgoKICBTaWx2YW5hIChldHdhcyByYXRsb3MpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR0lGIG51ciBub2NoIGZ1ZXIgR2VsZD8gKFd1cnplbCwgMjkuIEF1ZyAxOTk5LCAxMToyMzo0Mik6Cn4jISBybj1TaWx2YW5hIHJ0PTkzNTkxODY2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU5MTg2NjkKbmljaHRzIHdpcmQgc28gaGVpc3MgZ2VnZXNzZW4sIHdpZSBlcyBnZWtvY2h0IHdpcmQuIGFsc28gZXJzdG1hbCBhYndhcnRlbi4uLgplaW5lIGxvZXN1bmcsIGRpZSBpY2ggbWlyIHZvcnN0ZWxsZW4ga2FubiwgaXN0IGRpZSwgZGFzcyBkaWUgaGVyc3RlbGxlciB2b24KcHJvZ3JhbW1lbiwgbWl0IGRlbmVuIG1hbiBnaWYtYmlsZGVyIGVyemV1Z3QsIGVpbmUgbGl6ZW56Z2VidWVociB6YWhsZW4sIGFiZXIKbmljaHQgZGllIGxldXRlLCBkaWUgZWluZmFjaCBlaW4gYmlsZCBhdWYgaWhyZXIgd2Vic2l0ZSBoYWJlbi4KdW5pc3lzIGhhdCBzZWl0IGVpbmlnZXIgemVpdCB3aXJ0c2NoYWZ0bGljaGUgcHJvYmxlbWUsIGVzIGthbm4gc2VpbiBkYXNzIGRhcwplaW4gKGtsYWVnbGljaGVyKSB2ZXJzdWNoIHNlaW4gc29sbCwgZGllIGthc3NlIGF1Znp1YmVzc2Vybi4gd2VubiBtYW4gZGFzIGFscwppbmRpa2F0b3IgbmVobWVuIHdvbGx0ZSwgbXVlc3N0ZW4gc2llIGVpZ2VudGxpY2gga3VyeiB2b3IgZGVyIHBsZWl0ZSBzdGVoZW4uCmVpbmUgc29sY2hlIGxpemVuemllcnVuZyBhbGxlciB3ZWJzaXRlcyBpc3QgcXVhc2kgYXVzZ2VzY2hsb3NzZW4gKHVuZCB3b2hsCmF1Y2ggbmljaHQgZHVyY2hzZXR6YmFyKSwgZGEgc2llIGRhbWl0IG5pY2h0IHZvciBkZW4gZ2VyaWNodGVuIGR1cmNoa2FlbWVuLgppbSB1ZWJyaWdlbiBpc3QgZGFzIGRva3VtZW50IGF1ZiBkZXIgdW5pc3lzLXNlaXRlIHdvaGwgc2Nob24gZXR3YXMgYWVsdGVyLApkaWUgamFocmVzemFobGVuIGltIHVtZmVsZCBiZXdlZ2VuIHNpY2ggaW4gZGVyIHJlZ2lvbiAxOTk2LTE5OTYuLi4gdW5kIGljaAprYW5uIG1pY2ggZHVua2VsIGVyaW5uZXJuLCBkYXNzIGVzIGRhIG1hbCBlaW5lIChrdXJ6ZSkgZGlza3Vzc2lvbiB1ZWJlciBkaWUKcmVjaHRlIGFuIGdpZiBnZWdlYmVuIGhhdC4gYWxzbzogY29vbCBkb3duLCB3byBrZWluIGtsYWVnZXIgZGEga2VpbiByaWNodGVyIDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVtYWlsIFByb2JsZW0uLi4gKFN1YmxpbWUsIDI5LiBBdWcgMTk5OSwgMTE6Mjg6MjIpOgpIYWxsbyAhCgpIbW0sIGljaCBoYWJlIGhpZXIgZWluIGdyb3NzZXMgUHJvYmxlbSBtaXQgbWVpbmVtIEVtYWlsLiBJY2gga2FubiB6d2FyIFRleHRlCnZlcnNjaGlja2VuLCBzb2JhbGQgZXMgYWJlciB1bSBhbmdlaGFlbmd0ZSBEYXRlaWVuIG9kZXIgZ3JvZXNzZXJlIFRleHRlIGdlaHQsCnVudGVyYnJpY2h0IGVyIGRpZSBWZXJiaW5kdW5nLiBBdWNoIHdlbm4gaWNoIHZlcnN1Y2hlIGRpZSBXZWJzaXRlIHZvbiAnbmVtCkt1bmRlbiBwZXIgZnRwIHp1IGFrdHVhbGlzaWVyZW4sIGRhbm4gdW50ZXJicmljaHQgZXIgZGllIFZlcmJpbmR1bmcuIFp1ZXJzdApkYWNodGUgaWNoLCBlcyB3YWVyZSBkZXIgUHJvdmlkZXIsIGFiZXIgaWNoIGhhYmUgbWFsIHNwYXNzZXNoYWxiZXIgc28nbgpDb21wdXNlcnZlLUFuZ2Vib3QgaW5zdGFsbGllcnQgdW5kIHNpZWhlIGRhLCBkZXIgZ2xlaWNoZSBGZWhsZXIuIEhhYmUgaGllciBlaW4KRWxzYSBUTCBQcm8gKElTRE4pIE1vZGVuIHJ1bXN0ZWhlbiwgaG9mZmUgZWluZXIgdm9uIGV1Y2ggaGF0IGRhIHZpZWxsZWljaHQKbmUgSWRlZSwgd2llIG1hbiBkYXMgYmVoZWJlbiBrb2VubnRlLiBEYW5rZS4KClN1YmxpbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR0lGIG51ciBub2NoIGZ1ZXIgR2VsZD8gKEhhdGUsIDMwLiBBdWcgMTk5OSwgMDc6NDM6MzYpOgp+IyEgcm49V3VyemVsIHJ0PTkzNTkyNTgyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU5MTg2NjkKU3dvZWl0IGljaCBkYXMgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUsIGlzdCBkYXMgUGF0ZW50IGluIGRlbiBVU0EgZHVyY2gKZWluZW4gRmVobGVyIGluIGRlciBHZXNldHpnZWJ1bmcgZW50c3RhbmRlbi4gRGFzIGJlZGV1dGV0IG5vY2ggbmljaHQsCmRhc3MgZGFzIFBhdGVudCBpbiBFdXJvcGEvRGV1dHNjaGxhbmQgYXVjaCBkdXJjaGdlc2V0enQgd2VyZGVuIGthbm4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR0lGIG51ciBub2NoIGZ1ZXIgR2VsZD8gKFNhbGFuZHJpb24sIDMwLiBBdWcgMTk5OSwgMTM6MTY6MzEpOgp+IyEgcm49SGF0ZSBydD05MzU5OTkwMTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1OTE4NjY5Ck51bmphLAoKd2VubiBtYW4gZGVtIEhlaXNldGlja2VyIEdsYXViZW4gc2NoZW5rZW4gZGFyZiwgZ2lidCBlcyBLbGFlZ2VyIHVuZCBlcyBzaW5kCmF1Y2ggbmljaHQgbWVociBudXIgZGllIFByb2dyYW1taWVyZXIgYmV0cm9mZmVuLCBub2NoIGlzdCBkYXMgUHJvYmxlbSBhdWYgVVNBCmJlc2NocmFlbmt0LiBFcyBzY2hlaW50IGRhIGF1Y2ggZWluIGRldXRzY2hlcyBQQXRlbnQgenUgZ2ViZW4uCgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9qbC0zMC4wOC45OS0wMDAvCgpHcnVlc3NlIFNhbGFuZHJpb24gRnVua2VucmVpdGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRS1TaG9wIChNYWhhdG11LCAzMC4gQXVnIDE5OTksIDE0OjA4OjAyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MzU2MDA3NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1NTcwOTE1Ci4uLiBobW1tLCB3aXIgaGF0dGVuIGRhIG1hbCAzIG1pdCBlaW5lbSA2ODA0MCBpbSBGU1IgaW4gRHJlc2RlbiB6dSBzdGVoZW4sCm1laW5zdCBEdSwgZXMgd2FyIGVpbiBGZWhsZXIsIGRpZSB3ZWd6dWZldWVybiA7LSkgPwoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR0lGIG51ciBub2NoIGZ1ZXIgR2VsZD8gKFd1cnplbCwgMzAuIEF1ZyAxOTk5LCAyMToyMToyMik6Cn4jISBybj1TYWxhbmRyaW9uIHJ0PTkzNjAxODk5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU5MTg2NjkKZGEgc2llaHQgbWFuIG1hbCwgZGFzIGF1Y2ggZGVyIGhlaXNlLW5ld3N0aWNrZXIgc2NoZWlzc2UgZXJ6YWVobGVuIGthbm4gOikKaW4gZGV1dHNjaGxhbmQgc2luZCBhbGdvcml0aG1lbiB1bmQgc29mdHdhcmUgbmljaHQgcGF0ZW50ZmFlaGlnLiB3ZW5uIGRhcyBzbwp3YWVyZSwga2VubmUgaWNoIGplbWFuZCBkZXIgZGFubiBnYW56IGFuZGVycyBhcmJlaXRlbiB3dWVyZGUgYWxzIHBhdGVudGZ1enp5Lgp3YXMgbGl6ZW56cmVjaHQgYmV0cmlmZnQsIGlzdCBkaWUgcmVjaHRsaWNoZSBzaXR1YXRpb24gZXR3YXMgdmVyd2FzY2hlbiwgZGEKYmxpY2tlbiBzZWxic3QgdmllbGUgYW53YWVsdGUgbmljaHQgZHVyY2guIGFiZXIgZWluIHBhdGVudCBpc3QgZXMgbWl0CnNpY2hlcmhlaXQgbmljaHQuIC0+Y29vbCBibGVpYmVuLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHSUYgbnVyIG5vY2ggZnVlciBHZWxkPyAoQmhhbWlyLCAgMS4gU2VwIDE5OTksIDEyOjMyOjQ2KToKfiMhIHJuPVd1cnplbCBydD05MzYwNDgwODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1OTE4NjY5Cj5pbiAgZGV1dHNjaGxhbmQgc2luZCBhbGdvcml0aG1lbiB1bmQgc29mdHdhcmUgbmljaHQgcGF0ZW50ZmFlaGlnLgpEYXMgc3RpbW10IHp3YXIgbmFjaCBkZW4gcmVpbmVuIEJ1Y2hzdGFiZW4gZGVzIEdlc2V0emVzLCB3ZW5uIG1hbiBkZW0gQXJ0aWtlbAppbiBlaW5lciBkZXIgbGV0enRlbiBDJ3RzIEdsYXViZW4gc2NoZW5rZW4ga2FubiwgZGFubiBrYW5uIGRhcyBhYmVyCnVudGVybGF1ZmVuIHdlcmRlbiAoamVkZW5mYWxscyBpbiBtYW5jaGVuIEZhZWxsZW4pLgpCaGFtaXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdJRiBudXIgbm9jaCBmdWVyIEdlbGQ/IChXdXJ6ZWwsICAxLiBTZXAgMTk5OSwgMjE6MTU6MDIpOgp+IyEgcm49QmhhbWlyIHJ0PTkzNjE4OTE2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzU5MTg2NjkKb2huZSBqZXR6dCBkaWVzZW4gYXJ0aWtlbCBnZWxlc2VuIHp1IGhhYmVuLCB3ZWlzcyBpY2ggc2VociB3b2hsLCBkYXNzIGVzIGVpbmUKbW9lZ2xpY2hrZWl0IGdpYnQuIHVuZCB6d2FyIGJlc3RlaHQgc2llIGRhcmluLCBlaW4gdm9sbHN0YWVuZGlnZXMgc3lzdGVtCmlua2x1c2l2ZSBoYXJkd2FyZSB6dW0gcGF0ZW50IGFuenVtZWxkZW4gKHdvYmVpIGRpZSBoYXJkd2FyZSBub3JtYWxlcndlaXNlCmtlaW4gZWluZmFjaGVyIHBjIHNlaW4ga2FubikuIGRhcyB0cmlmZnQgamVkZW5mYWxscyBhdWYgZGVuIGdpZi1hbGdvcml0aG11cwppbiBkaWVzZXIgZm9ybSBuaWNodCB6dSwgZXJnbyBnaWJ0IGVzIGtlaW4gcGF0ZW50LgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHSUYgbnVyIG5vY2ggZnVlciBHZWxkPyAoRGFtaWVuLCAgMi4gU2VwIDE5OTksIDEzOjMyOjUxKToKfiMhIHJuPVd1cnplbCBydD05MzYwNDgwODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1OTE4NjY5CkFsZ29yaXRoZW1lbiB1bmQgU29mdHdhcmUgc2luZCBOT0NIIG5pY2h0IHBhdGVudGZhZWhpZywgYWJlciBzb3dlaXQgaWNoIHdlaXNzLAprb2NodCB1bnNlcmUgTGVnaXNsYXRpdmUgZGEgc2Nob24gd2FzIHp1c2FtbWVuLi4uCgpEYW1pZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBVk0gRnJpdHogdW5kIExpbnV4IChSdW1hdGEsICA4LiBTZXAgMTk5OSwgMTQ6NDc6MTUpOgpIYWxsbywKaWNoIGhhYmUgZWluZSBBVk0gRnJpdHprYXJ0ZSB1bmQgTGludXggKFN1U0UgNi4xLCAyLjIuMTEpLgpNaXQgaXNkbmN0cmwgbWFudWFsL2hhbmd1cCBiYXVlIGljaCB2ZXJiaW5kdW5nZW4gYXVmIHVuZCBhYiAtIGRhIGRhcwphdXRvYW10aXNjaGUgV2FlaGxlbiBkYXp1IGZ1ZWhyZW4gd3VlcmRlLCBkYXNzIG5ldHNjYXBlIGplZGVzbWFsIGJlaW0KWCBob2NoZmFocmVuIGRlbiBuZXdzc2VydmVyIGFucnVmdC4KQmVpbSBlcnN0ZW4gTWFsIGJvb3RlbiBrbGFwcHQgYWxsZXMgc293ZWl0IC0gd2VubiBtYW4gZGF2b24gYWJzaWVodCwgZGFzcwpuZXRzY2FwZSBjYSA1bWluIGJyYXVjaHQgYmlzIGVyIGVuZGxpY2ggbGVybnQsIGRhc3MgZGllIG5ld3NzZXJ2ZXIgbmljaHQgZGEKc2luZC4KQWJlciBqZXR6dCBrb21tdHM6IFdlbm4gaWNoIGRpZSBWZXJiaW5kdW5nIHVudGVyYnJlY2hlIHVuZCB3aWVkZXIgbmV1CmF1ZmJhdWUsIHdpcmQgZGllIFZlcmJpbmR1bmcgc2NobmFyY2hsYWhtLiBJY2gga2FubiBkaWUgVmVyYmluZHVuZyBkYW5uCm5vY2ggZXR3YXMgYmVzY2hsZXVuaWdlbiwgaW5kZW0gaWNoIGVpbmVuIHBpbmcgYXVmIGlyZ2VuZGVpbmVuIFJlY2huZXIKYXVzc2VyaGFsYiBtYWNoZSAobG9rYWxlciBtYWlsc2VydmVyIHpCKS4KCkRhcmF1cyBlcmdlYmVuIHNpY2ggendlaSBQcm9ibGVtZSwgenUgZGVuZW4gaWNoIGdlcm5lIGV0d2FzIFJhdCBicmFldWNodGU6CjEuKSBXaWUga2FubiBpY2ggTmV0c2NhcGUgZGllIE5ld3NzZXJ2ZXIgYW56dXBpbmdlbiBhYmd3b2VobmVuICg0LjUxKQoyLikgSXN0IG1laW5lIElTRE4gS2FydGUga2FwdXR0IG9kZXIgZmFsc2NoIGtvbmZpZ3VyaWVydCB1bmQgc3Bpbm50IG1laW4KICAgIHByb3ZpZGVyPwoKR3J1ZXNzZQpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBVk0gRnJpdHogdW5kIExpbnV4IChXdXJ6ZWwsICA4LiBTZXAgMTk5OSwgMTk6MDI6NTcpOgp+IyEgcm49UnVtYXRhIHJ0PTkzNjgwMjAzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4MDIwMzUKenUgMTogbmV0c2NhcGUgYWJzY2hhbHRlbiBiencuIGdhciBuaWNodCBlcnN0IGhvY2hmYWhyZW4uIGRhcyBoaWxmdCwgdW5kIHp1bQptdWRkZW4gYnJhdWNodCBtYW4gZGVuIGVoIG5pY2h0Lgp6dSAyOiB6dXdlbmlnIGluZm9ybWF0aW9uZW4sIGRpZSBmcmFnZSBsYWVzc3Qgc2ljaCBzbyBuaWNodCBiZWFudHdvcnRlbi4gd29oZXIKc29sbCBpY2ggd2lzc2VuLCBvYiBkZWluIHByb3ZpZGVyIHNwaW5udCwgd2VubiBpY2ggaWhuIG5pY2h0IGtlbm5lPwoKaG9wZSB0aGF0IGhlbHBzCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQVZNIEZyaXR6IHVuZCBMaW51eCAoSG91c2Vob2xkZXIsICA5LiBTZXAgMTk5OSwgMDg6NDE6MzkpOgp+IyEgcm49V3VyemVsIHJ0PTkzNjgxNzM3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4MDIwMzUKaWNoIGdsYXViZSBseXggbWFjaHQgbmljaHQgc28gZWluZW4gbWlzdCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcnZlcnNsaW5nZSAhISEgKFphcm5peWEsICA5LiBTZXAgMTk5OSwgMTM6NTU6NDUpOgpIaSwgCgppY2ggd2Vpc3MsIGRhc3MgZGFzIG1laHIgYWxzIGVpbiBGcmV2ZWwgaXN0LCBhYmVyIGhpZXIgaW0gUlogaGF0IGVpbmVyIGRhcwpQcm9ibGVtLCBkYXNzIGVyIG1pdCBXb3JkIChqYWphLi4uIE1TKSBhcmJlaXRldCB1bmQgdGVpbHdlaXNlIGFiZXIgcXVlbGx0ZXh0ZQppbiBMYXRleCBoYXQuIERpZSB3dWVyZGUgZXIgZ2VybiBrb252ZXJ0aWVyZW4gb2RlciBzby4uLiBtZWluZSBJZGVlbjoKCjEuIExhdGV4Mmh0bWwgdW5kIGRhbm4gaHRtbC1maWxlcyBhbGxlIGhpbnRlcmVpbmFuZGVyIGVpbmxlc2VuIHVuZCBhbHMgLmRvYwpzcGVpY2hlcm4uIAoKMi4gYXVzZHJ1Y2tlbiB1bmQgc2Nhbm5lbiBtaXQgVGV4dGVya2VubnVuZy4KCmJlaWRlcyBzaW5kIGtlaW5lIHdpcmtsaWNoIHNjaG5lbGxlbiB1bmQgaW50ZWxsaWdlbnRlbiBXZWdlLiBLZW5udCBhbHNvIGVpbmVyCm5lbiBGaWx0ZXIsIGRlbiBtYW4gaW5zIFdvcmQgZWluYmF1ZW4ga2FubiwgZGFtaXQgbWFuIC50ZXggb2RlciAuZHZpIGVpbmxlc2VuCmthbm4/IE9kZXIga2VubnQgZWluZXIgZWluZW4gTGF0ZXhlZGl0b3IsIGRlciBhdWNoIFdvcmQgYWJzcGVpY2hlcm4ga2Fubj8KKGFyZ3MuLi4gYWxsZWluZSBkZXIgR2VkYW5rZSBsYWVzc3QgbWljaCBhdWZzdG9laG5lbiwgYWJlciBkZXIgS3VuZGUgaXN0IGhpZXIKS29lbmlnIHVuZCBpY2ggZGFyZiBpaG4gbmljaHQgZWluZmFjaCBlcnNjaGllc3NlbiB3ZWdlbiBzZWluZW4gSWRlZW4uIDooCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGVydmVyc2xpbmdlICEhISAoVGh1ZmhpciwgIDkuIFNlcCAxOTk5LCAxNDowMDoyNyk6Cn4jISBybj1aYXJuaXlhIHJ0PTkzNjg4NTM0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4ODUzNDUKCm1pdCBkZXRleCBhbGxlIGxhdGV4a29tbWFuZG9zIGVudGZlcm5lbiB1bmQgYWxzIGFzY2lpIGluIHdvcmQgaW1wb3J0aWVyZW4uCgpqdXN0IG15IDIgcGVuY2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBET1MtQmF0Y2gtUXVpeiAoQmFtYmksICA5LiBTZXAgMTk5OSwgMTQ6MDc6MzApOgp+IyEgcm49U251Z2dsZSBydD05MzUxMzI5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM1MDk4NDk1Ck5pbW0gZG9jaCBncm9zc2dlc2NocmllYmVuZSBEYXRlaWVuLi4uCk11ZXNzdGVzdCBEdSBoYWx0IGRlbiBRdWVsbHRleHQgYWVuZGVybiwgYWJlci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRE9TLUJhdGNoLVF1aXogKEhvdXNlaG9sZGVyLCAgOS4gU2VwIDE5OTksIDE0OjU1OjE3KToKfiMhIHJuPUJhbWJpIHJ0PTkzNjg4NjA1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzUwOTg0OTUKa2FubiBtYW4gbWl0IHdvcmQga2VpbmUgcHMtZmlsZXMgYW56ZWlnZW4gPyAKbmFqYSB3YWhyc2NoZWlubGljaCBuaWNodCBhbHNvIGJsZWlidCBhbHMgZWluemlnZSBhbHRlcm5hdGl2ZSBkYXMgZXJzY2hpZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGVydmVyc2xpbmdlICEhISAoWmFybml5YSwgIDkuIFNlcCAxOTk5LCAxNDo1NzowNyk6Cn4jISBybj1UaHVmaGlyIHJ0PTkzNjg4NTYyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4ODUzNDUKc28gZ2VoZW4gYWJlciBhbGxlIEZvcm1hdGllcnVuZ2VuIHZlcmxvcmVuLi4uIHNvbnN0IGtvZW5udGUgbWFuIGF1Y2gga29waWUgdW5kCnBhc3RlIG1hY2hlbiB6d2lzY2hlbiBlaW5lbSBMYXRleCB1bmQgZWluZW0gV29yZC1mZW5zdGVyLgoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGVydmVyc2xpbmdlICEhISAoQm9pbmcsICA5LiBTZXAgMTk5OSwgMTU6MjU6MDIpOgp+IyEgcm49WmFybml5YSBydD05MzY4ODkwMjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM2ODg1MzQ1CkVyc2NoaWVzc2VuIGlzdCB0YXRzYWVjaGxpY2ggZGllIGVpbnppZ2UgTW9lZ2xpY2hrZWl0LCBpY2ggaGFicyBhdWNoIApzY2hvbiB2ZXJzdWNodCBtaXQgdGV4Mmh0bWwgdW5kIGRhbm4gaHRtbCBpbiBXb3JkIGVpbmxlc2VuLCBrYW5uIG1hbgpob2NoZ3JhZGlnIHZlcmdlc3Nlbi4gTGV0enRlbmRsaWNoIGhhYiBpY2ggZGVuIFRleHQgbWl0IEN1dCZQYXN0ZQpydWViZXJnZXpvZ2VuIHVuZCBkaWUgRm9ybWF0aWVydW5nZW4gdm9uIEhhbmQgZ2VtYWNodCAoaW5rbHVzaXZlIApBYmJpbGR1bmdlbiwgVGFiZWxsZW4gdW5kIGRlbSBnYW56ZW4gS3JhbSBkZW4gbWFuIHNvIGJyYXVjaHQpLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZXJ2ZXJzbGluZ2UgISEhIChIb3VzZWhvbGRlciwgIDkuIFNlcCAxOTk5LCAxNTozNzoyNCk6Cn4jISBybj1Cb2luZyBydD05MzY4OTA3MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM2ODg1MzQ1CndhcyBpc3QgZGVubiBtaXQgcHMgZWluYmluZGVuID8genVyIG5vdCBrYW5uIG1hbiBwcyBkb2NoIHNpY2hlciBhdWNoIG5vY2ggaW4KcGRmIG9kZXIgaXJnZW5kZWluIGdyYWZpa2Zvcm1hdCB1bXdhbmRlbG4sIGRhc3MgZGllc2VzIGxlZ2FzdGVuaWthLXdvcmQKZWluYmluZGVuIGthbm4gOi0pCkhIIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGVydmVyc2xpbmdlICEhISAoQm9pbmcsICA5LiBTZXAgMTk5OSwgMTU6NDE6NDgpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTM2ODkxNDQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjg4NTM0NQpBbHNvIHBzIGdlaHQgbWFsIG1pdCBTaWNoZXJoZWl0IG5pY2h0LCB0eXBpc2NoZSBTdHJhdGVnaWUsIG51ciBuaXgKaW1wb3J0aWVyZW4gd2FzIG5pY2h0IG5hY2ggTWljcm9zb2Z0IHJpZWNodC4gQmVpIHBkZiBiaW4gaWNoIG1pciBuaWNodApnYW56IHNpY2hlciwgYWJlciBpY2ggZ2xhdWJlIGF1Y2ggZGFzIGdlaHQgbmljaHQuIER1IGthbm5zdCBuYXR1ZXJsaWNoCnZvbSBwcy1maWxlIHNjcmVlbnNob3RzIG1hY2hlbiB1bmQgZGllIGFscyBiaXRtYXBzIGVpbmxhZGVuIC4uLiA7KQpEYXNzIG1hbiBuaXggbWVociBhZW5kZXJuIGthbm4gZGFuYWNoIHN0b2VydCBhYmVyIG1pdCBTaWNoZXJoZWl0Cm5pZW1hbmQgOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGVydmVyc2xpbmdlICEhISAoR3JlaWZheCwgIDkuIFNlcCAxOTk5LCAyMToyNjowNyk6Cn4jISBybj1Cb2luZyBydD05MzY4OTE3MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM2ODg1MzQ1CnByb2JpZXJ0IG1hbCB1ZWJlciBydGYgenUgZ2VoZW4gaWNoIGdsYXViIGVzIGdpYnQgZWluZW4gZmlsdGVyIHVtIHRleCBvZGVyCnBzIG5hY2ggcnRmIHp1IGtvbnZlcnRpZXJlbi4gZGFzIHNvbGx0ZSBkYW5uIHdvcmQgdmVyc3RlaGVuLgoKYWxsZXMgbnVyIHRoZW9yaWUgZGEgaWNoIG1zIG1laWRlIHdpZSBkZXIgdGV1ZmVsIGRhcyB3ZWlod2Fzc2VyLgoKZ3JlaWZheAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGVydmVyc2xpbmdlICEhISAoWm9vaywgMTAuIFNlcCAxOTk5LCAwNzozMjo0Myk6Cn4jISBybj1HcmVpZmF4IHJ0PTkzNjkxMjM2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4ODUzNDUKCkphdSwgenVtaW5kZXN0IGJlaSBkZXIgVGVYTGl2ZS1JbnN0YWxsYXRpb24sIGRpZSBpY2ggaGllciBnZXJhZGUKaGFiZSwgZ2lidHMgc293YXMuIEhlaXNzdCAnbHR4MnJ0ZicsIGFiZXIgb2IgdW5kIHdpZSBtYW4gZGEKbWl0IFdpbldvcmQgd2FzIG1hY2hlbiBrYW5uLCB3ZWlzcyBpY2ggbGVpZGVyIG5pY2h0Li4uIGFiZXIKc28gZGllIGdyb2JlbiBTYWNoZW4gc29sbHRlbiBnZWhlbi4KCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGVydmVyc2xpbmdlICEhISAoR3JpbW1ib3JuLCAxMC4gU2VwIDE5OTksIDA4OjQ0OjQ4KToKfiMhIHJuPVpvb2sgcnQ9OTM2OTQ4NzYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjg4NTM0NQpEYSBnaWJ0cyBlaW4gbGF0ZXgycnRmIGluIGVpbmVyIHJlbGF0aXYgYWt0dWVsbGVuIHRldGV4LVZlcnNpb24gZGllIGljaCBoaWVyCmxpZWdlbiBoYWJlLiBBbGxlcmRpbmdzIGhhYmUgaWNoIGRhdm9uIGdlaG9lcnQgZGFzcyBkYXMgbnVyIHNlaHIKZWluZ2VzY2hyYWVua3RlcyBMYVRlWCBrYW5uLCBrZWluZSBTb25kZXJwYWtldGUsIGtlaW5lIGVpZ2VuZW4gU3BpZWxlcmVpZW4uCkFiZXIgdmllbGxlaWNodCBiZXNzZXIgYWxzIGdhciBuaWNodHMuClVlYnJpZ2VucyBpc3QgZGFzIGtlaW4gQW5sYXNzIFdvcmQgenUgdmVydGV1ZmVsbiAoZGEgZ2lidHMgZ2VudWcgYW5kZXJlLApiZXNzZXJlIEFubGFlc3NlIGZ1ZXIpLiBEZXIgVW1nZWtlaHJ0ZSBXZWcgaXN0IG5hZW1saWNoIGFmYWlrIGF1Y2ggbmljaHQKd2lya2xpY2ggZ2FuZ2Jhci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGVydmVyc2xpbmdlICEhISAoQXBzdSwgMTAuIFNlcCAxOTk5LCAxNTo0OTozMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTM2OTUzMDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjg4NTM0NQpBbHNvIG1laW4gVm9yc2NobGFnOiBsYXRleCBmaWxlLnRleCAtLS0+IGR2aXBzIGZpbGUuZHZpIC0tPiBwczJwZGYgZmlsZSBwcwpmaWxlLnBkZiAtLT4gdm9pbGEKCkViZW4gd2VpbHMgc28gdW1zdGFlbmRsaWNoIHNlaW4gbXVzczpNJCBpbiBkZW4gU2NocmVkZGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQVZNIEZyaXR6IHVuZCBMaW51eCAoWWFyZW4sIDEzLiBTZXAgMTk5OSwgMTM6MDU6MDUpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTM2ODY2NDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjgwMjAzNQpkdSBtZWluc3Qgc2ljaGVyIGx5bnggLi4uIGRhZnVlciBicmF1Y2h0IG1hbiBqYSBhdWNoIGtlaW4gWCA6LSkKCllhcmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQVZNIEZyaXR6IHVuZCBMaW51eCAoWWFyZW4sIDEzLiBTZXAgMTk5OSwgMTM6MDc6NDEpOgp+IyEgcm49UnVtYXRhIHJ0PTkzNjgwMjAzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzY4MDIwMzUKenUgMToga2FubnN0IGR1IG5pY2h0LiBuZXRzY2FwZSBtYWNodCBsZWlkZXIgZWluIHBhYXIgc2FjaGVuIHp5a2xpc2NoLCBkaWUgbWFuCmlobSBuaWNodCBhYmdld29laG5lbiBrYW5uIC0gZGFoZXIgaGVsZmVuIGF1Y2ggZGllc2Ugc2Nob2VuZW4Kc2h1dGRvd24tb24taWRsZS10ZWNobmlrZW4gbmljaHQsIHdlbm4gbWFuIGRlbiBsYXVmZW4gaGF0IC4uLgp6dSAyOiBrYW5uIGVzIHNlaW4sIGRhc3MgZHUgZWluZSBkeW5hbWlzY2hlIElQIGJla29tbXN0PyB1bmQgZGllIHJvdXRlIGluCmRlaW5lbSBzY3JpcHQgYmVpbSB6d2VpdGVuIG1hbCBuaWNodCB1ZWJlcnNjaHJpZWJlbiBzb25kZXJuIG5ldSBnZXNldHp0IHdpcmQ/CgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBlcnZlcnNsaW5nZSAhISEgKFlhcmVuLCAxMy4gU2VwIDE5OTksIDEzOjIzOjM2KToKfiMhIHJuPUdyZWlmYXggcnQ9OTM2OTEyMzY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjg4NTM0NQpjaGVjayBtYWwgZm9sZ2VuZGUgcGFnZToKCiAgICAgICAgICBodHRwOi8vd3d3Lmt0YWxrLmNvbS90ZXhwb3J0Lmh0bWwKCllhcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBVk0gRnJpdHogdW5kIExpbnV4IChSdW1hdGEsIDEzLiBTZXAgMTk5OSwgMTg6MTA6MjcpOgp+IyEgcm49WWFyZW4gcnQ9OTM3MjI4MDYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNjgwMjAzNQpLYW5uIG1hbiBzZWhyIHdvaGwgYWJnZXdvZWhuZW4sIGRhcyBwcm9ibGVtIGhhYmUgaWNoIG51ciBiZWltIGhvY2hmYWhyZW4Kdm9uIG5ldHNjYXBlLiBEaWUgUm91dGUgaXN0IHNjaG51cHBlLCBkYSBhdWYgbWVpbmVyIFNlaXRlIGRpZSBudW1tZXIKaW1tZXIgZ2xlaWNoIGlzdC4gRGllIFByb2JsZW1lLCBkaWUgZGFtaXQgenUgdHVuIGhhYmVuIHNpbmQgYW5kZXJlIDopClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVybWluYWxzIGdlc3VjaHQgKE1vcmdvdGgsIDE1LiBTZXAgMTk5OSwgMTM6Mzc6MTYpOgpIaSBMZXV0ZSwKCmljaCBzdWNoZSBhbHRlLCBmdW5rdGlvbmllcmVuZGUgVGVybWluYWxzIGZ1ZXIgdW5zZXJlIE1pY3JvVkFYOgoxLiBWVDIyMAoyLiBWVDEwMAozLiBWUjI2MCBHcmFmaWt0ZXJtaW5hbAoKV2VyIHNvbGNoZSBTY2hhZXR6Y2hlbiBub2NoIGlyZ2VuZHdvIGhhdCB1bmQgbmljaHQgbWVociBicmF1Y2h0Li4uaWNoIG5laG0gc2llCmdlcm5lLgoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luZG93cy1MaXplbnogKERpZWRlciwgMTUuIFNlcCAxOTk5LCAyMTozMTo0OSk6CkljaCBoYWIgZ2VyYWRlIGVpbmVuIGludGVyZXNzYW50ZW4gVGV4dCBnZWxlc2VuLiBFcmhhZWx0bGljaCB1bnRlciAKaHR0cDovL3d3dy5uZXRjcmFmdC5jb20uYXUvZ2VvZmZyZXkvdG9zaGliYS5odG1sIApodHRwOi8vd3d3LmFpLWxhYi5maC1mdXJ0d2FuZ2VuLmRlL35icmF1bi90b3NoaWJhLmh0bWwKCkt1cnplIFp1c2FtbWVuZmFzc3VuZyAob3JpZ2luYWwgaW4gRW5nbGlzY2gpOgoKRGVyIEF1dG9yIChHZW9mZnJleSkgaGF0dGUgaW0gQXVndXN0IDE5OTggZWluIExhcHRvcCB2b24gVG9zaGliYSBnZWthdWZ0LApuYXR1ZXJsaWNoIHdpZSBlcyBzaWNoIGdlaG9lcnQgbWl0IGVpbmVyIHZvcmluc3RhbGxpZXJ0ZW4gT0VNIFdpbmRvd3MKVmVyc2lvbi4gTnVuIGlzdCBkZXIgbGllYmUgR2VvZmZyZXkgZG9jaCBlaW4gbGVpZGVuc2NoYWZ0bGljaGVyIExpbnV4ZXIgdW5kClJlZEhhdCBSZXNlbGxlciwgZGFoZXIgYnJhdWNodGUgZGFzIFdpbmRvd3MgZ2FyIG5pY2h0LiAKRGFubiBoYXR0ZSBlciBpbSAnRW5kIFVzZXIgTGljZW5jZSBBZ3JlbWVudChFVUxBKScgdm9uIFdpbmRvd3MgYXVjaCBub2NoCmZvbGdlbmRlcyBnZWxlc2VuOgoKLS0tWwogICAgIElmIHlvdSBkbyBub3QgYWdyZWUgdG8gdGhlIHRlcm1zIG9mIHRoaXMgRVVMQSwgUEMgTWFudWZhY3R1cmVyIGFuZAogICAgIE1pY3Jvc29mdCBhcmUgdW53aWxsaW5nIHRvIGxpY2Vuc2UgdGhlIFNPRlRXQVJFIFBST0RVQ1QgdG8geW91LiBJbgogICAgIHN1Y2ggZXZlbnQsIHlvdSBtYXkgbm90IHVzZSBvciBjb3B5IHRoZSBTT0ZUV0FSRSBQUk9EVUNULCBhbmQgeW91CiAgICAgc2hvdWxkIHByb21wdGx5IGNvbnRhY3QgUEMgTWFudWZhY3R1cmVyIGZvciBpbnN0cnVjdGlvbnMgb24gcmV0dXJuCiAgICAgb2YgdGhlIHVudXNlZCBwcm9kdWN0cyhzKSBmb3IgYSByZWZ1bmQuCl0tLS0KCk5hY2ggbGFlbmdlcmVyIEtvcnJlc3BvbmRlbnogbWl0IFRvc2hpYmEvQXVzdHJhbGllbiwgaW4gZGVyIFRvc2hpYmEKaWhyZW4gVW53aWxsZW4genVyIEVyc3RhdHR1bmcgZGVyIGdlbmFubnRlbiBFbnRzY2hhZWRpZ3VuZyBhdXNkcnVlY2t0ZQood2VpbCBzaWUgdm9uIE0kIGF1Y2gga2VpbmUgRW50c2NoYWVkaWd1bmcgYmVrb21tZW4gd3VlcmRlbiksIGRhcyBnYW56ZQpMYXB0b3Agd2llZGVyIHp1cnVlY2toYWJlbiB3b2xsdGUgdW5kIEdlb2ZmcmV5IGFuIGRpZSBSZWNodHNhYnRlaWx1bmcKdm9uIFRvc2hpYmEgdmVyd2llcyAoYW5zY2hlaW5lbmQgd29sbHRlbiBzaWUgZXMgZHJhdWYgYW5rb21tZW4gbGFzc2VuKQprYW0gZXMgc2NobGllc3NsaWNoIGRvY2ggenUgZWluZXIgRWluaWd1bmcgWzFdLCB1bmQgR2VvZmZyZXkgYmVrYW0KMTEwQVVEIChjYS4gMTE4LjIxIERFTSkgRW50c2NoYWVkaWd1bmcgZnVlciBkaWUgbmljaHQgdmVyd2VuZGV0ZSAodW5kCnp1cnVlY2t6dWdlYmVuZGUpIFdpbmRvd3MtTGl6ZW56IDotKQoKCkRhaGVyIG1laW5lIEZyYWdlOiBIYXQgamVtYW5kIGRhbWl0IEVyZmFocnVuZ2VuIGluIERldXRzY2hsYW5lPyBHaWJ0cyBkaWVzZQpFbnRzY2hhZWRpZ3VuZyBldnRsLiBhdWNoIGJlaSB1bnMgaGllcj8gOikKCkRpZWRlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5kb3dzLUxpemVueiAoTW9yZ29uYXRlLCAxNi4gU2VwIDE5OTksIDEyOjUwOjU0KToKfiMhIHJuPURpZWRlciBydD05Mzc0MzExMDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM3NDMxMTA5CmFsc28gc293ZWl0IGljaCB3ZWlzcywgaXN0IGRpZSByZWNodHNsYWdlIGluIGRldXRzY2hsYW5kIGRpZSBnbGVpY2hlLgpkaWUgdmVya2FldWZlciBzaW5kIHZlcnBmbGljaHRldCwgZGlyIHVtIHVuZCBiZWkgMjAwLC0tIERNIHp1cnVlY2t6dWdlYmVuLAp3ZW5uIGR1IGRpZSBvcmdpbmFsIHZlcnBhY2t0ZW4gd2luZG93cy1jZHMgenVydWVja2dpYnN0LgoKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbmRvd3MtTGl6ZW56IChQcmEsIDE2LiBTZXAgMTk5OSwgMTQ6MDE6MjQpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTkzNzQ4NjI1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzc0MzExMDkKSW4gZWluZXIgYyd0IHZvbiB2b3IgZWluaWdlbiBXb2NoZW4gd2FyIG5hZWhlcmVzIGRhcnVlYmVyIHp1IGxlc2VuLgpMZWlkZXIgd2Vpc3MgaWNoIG5pY2h0IG1laHIsIGluIHdlbGNoZXIuIFdhciBhYmVyIHZvbiBkaWVzZW0gSmFociA6LSkKClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbmRvd3MtTGl6ZW56IChHcmltbWJvcm4sIDE2LiBTZXAgMTk5OSwgMjI6NDQ6MzEpOgp+IyEgcm49UHJhIHJ0PTkzNzQ5MDQ4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzc0MzExMDkKRGVyIFB1bmt0IGlzdCwgZGFzcyBkaWUgIkdlZ2Vuc2VpdGUiIGRlciBNZWludW5nIGlzdCwgZGFzIFByb2R1a3Qgc2VpIGRpZQpHZXNhbXRoZWl0IHZvbiBMYXB0b3AgdW5kIFdpbmRvd3MuIFdlbm4gRHUgYWxzbyBXaW5kb3dzIG5pY2h0IGhhYmVuIHdpbGxzdApkYXJmc3QgRHUgZ2VybmUgYWxsZXMgenVydWVja2dlYmVuIHVuZCBoYXN0IGtlaW5lbiBMYXB0b3AgbWVoci4KSWNoIGhhYiBtaXIgc2Nob24gd2llZGVyaG9sdCB1ZWJlcmxlZ3QsIGRhcyBtdWVzc3RlIGVpbmUgemllbWxpY2ggZWluZmFjaGUgQXJ0CnNlaW4sIGZ1ZXIgZWluZSBXb2NoZSBvZGVyIHNvIGVpbiByaWNodGlnZXMgQW5nZWJlcmxhcHRvcCBzcGF6aWVyZW4genUKZnVlaHJlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW5kb3dzLUxpemVueiAoWWVuZGksIDE3LiBTZXAgMTk5OSwgMTI6MzM6MjgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzNzUyMTg3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzc0MzExMDkKRGVuIEFuZ2ViZXJsYXB0b3AgZGFyZnN0IER1IGRhbm4gYWJlciBuaWNodCBhbnNjaGFsdGVuLCBzb25zdCBoYXN0IER1IGphCldpbmRvb2YgYmVudXR6dCB1bmQgYWt6ZXB0aWVydCB1bmQgZGllIFJ1ZWNrZ2FiZSB3aXJkIHNjaHdpZXJpZy4uLgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2luZG93cy1MaXplbnogKEdyaW1tYm9ybiwgMTcuIFNlcCAxOTk5LCAxMjozNTowNSk6Cn4jISBybj1ZZW5kaSBydD05Mzc1NzE2MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM3NDMxMTA5Ck5vZSwgaWNoIGluc3RhbGxpZXJlIExpbnV4IHVuZCBtZXJrZSBlcnN0IGVpbmUgV29jaGUgc3BhZXRlciB3YXMgZGEgaW4gZGVyCldpbmRvd3MtTGl6ZW56IHN0ZWh0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW5kb3dzLUxpemVueiAoWWVuZGksIDE3LiBTZXAgMTk5OSwgMTI6Mzg6NTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzNzU3MTcwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzc0MzExMDkKV2llLCB3ZW5uIER1IFdpbmRvd3MgZ2Vsb2VzY2h0IGhhc3Q/Cldlbm4gRHUgZXMgbmljaHQgZ2Vsb2VzY2h0IHVuZCBiZW51dHp0IGhhc3QsIGthbm5zdCBEdSBlcyB2ZXJtdXRsaWNoIG5pY2h0Cm1laHIgenVydWVja2dlYmVuLgoKWVRZCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2luZG93cy1MaXplbnogKEdyaW1tYm9ybiwgMTcuIFNlcCAxOTk5LCAxMjo0MzoyNyk6Cn4jISBybj1ZZW5kaSBydD05Mzc1NzE5MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM3NDMxMTA5CkFsc28sCmRpZSBMaXplbnogbXVzcyBpY2ggc2Nob24gYXVmIFBhcGllciBoYWJlbiwga2VpbmUgRnJhZ2UuCkljaCBuZWhtZSBkZW4gTGFwdG9wLCBpbnN0YWxsaWVyZSBMaW51eCAob2huZSBXaW5kb3dzIGFuZ2VmYXNzdCB6dSBoYWJlbiksCnNjaGF1ZSBlaW5lIFdvY2hlIHNwYWV0ZXIgaW4gZGllIFBhcGllcmUgdW5kIHN0ZWxsZSBmZXN0LCBkYXNzIGljaCBkZW0gbmljaHQKenVzdGltbWVuIGthbm4gdW5kIGJyaW5nZSBwZmxpY2h0Z2VtYWVzcyBkYXMgVGVpbCB6dXJ1ZWNrIHVuZCBiZWtvbW1lIG1laW4KR2VsZCB3aWVkZXIuIEljaCBzZWhlIGRhIG5pY2h0IHNvIGRhcyBQcm9ibGVtLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFGUywga2VyYmVyb3MsIHBhbS4uLiAoR3JpbW1ib3JuLCAxNy4gU2VwIDE5OTksIDE2OjA5OjUwKToKRmFsbHMgamVtYW5kIHp1ZmFlbGxpZyBtYWwgdmVyc3VjaHQgaGF0LCBlaW5lbiBMaW51eHJlY2huZXIgZGF6dSB6dSBicmluZ2VuLApCZW51dHplciB1ZWJlciBrZXJiZXJvcyBhdWYgZWluZW0gKHNsYXZlLSlOSVMgc2VydmVyIHp1IGF1dGhlbnRpZml6aWVyZW4KKHVlYmVyIHBhbSkgdW5kIGlobmVuIGVpbiBBRlMtaG9tZSB6dXp1d2Vpc2VuLCB3dWVyZGUgaWNoIG1pY2ggdWViZXIgZWluZW4KRXJmYWhydW5nc2F1c3RhdXNjaCBmcmV1ZW4uIFZvciBhbGxlbSB3ZW5uIGVzIGdlZ2x1ZWNrdCBpc3QuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbmRvd3MtTGl6ZW56IChSaW5nb3IsIDE4LiBTZXAgMTk5OSwgMTQ6Mzk6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzNzUyMTg3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzc0MzExMDkKSW0gYW5nZXNwcm9jaGVuZW4gRmFsbCB3YXIgZGllIEdlZ2Vuc2VpdGUgdGF0c2FlY2hsaWNoIGRpZXNlciBNZWludW5nLiBEZXIKS3VuZGUgd29sbHRlIHNpY2ggaGludGVyaGVyIHNvZ2FyIGRyYXVmIGVpbmxhc3NlbiAtIGluIGRlciBad2lzY2hlbnplaXQgd2FyCm5hZW1saWNoIGZ1ZXIgZGVuIEthdWZwcmVpcyBkYXMgZGV1dGxpY2ggYmVzc2VyZSBOYWNoZm9sZ2Vtb2RlbGwgenUgaGFiZW4uCgpEYXMgd2FyIGRlciBGaXJtYSBkYW5uIGFiZXIgZG9jaCB6dSBibG9lZCwgdW5kIHNpZSBoYWJlbiBsZWRpZ2xpY2ggZGVuIFByZWlzCmZ1ZXIgV2luZG93cyBlcnN0YXR0ZXQgLi4uCgpSaW5nb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlZEhhdCA1LjEgISEgKE1vcmdvdGgsIDIwLiBTZXAgMTk5OSwgMDY6NTY6MDQpOgpFYmVuIGhhYmUgaWNoIGRpZXNlIE1haWwgYmVrb21tZW46CldBUk5JTkchISEhIQoKQW55b25lIHN0aWxsIHVzaW5nIFJlZEhhdDUuMSBvbiBhIGNvbXB1dGVyIHdoaWNoIGlzIGNvbm5lY3RlZCB0byB0aGUKaW50ZXJuZXQgc2hvdWxkIHVwZ3JhZGUgdG8gNS4yIG9yIDYuMCBhcyBhIG1hdHRlciBvZiB1dG1vc3QgdXJnZW5jeS4KUmVkSGF0NS4xIGlzIE5PVCBTRUNVUkUgLSBteSBjb21wdXRlciBhbG9uZyB3aXRoIGEgY291cGxlIG9mIG90aGVycyBpbgpvdXIgZGVwYXJ0bWVudCBoYXZlIGp1c3QgYmVlbiBoYWNrZWQgKGx1Y2tpbHkgSSB3YXMgdXNpbmcgdGhlIG1hY2hpbmUgYXQKdGhlIHRpbWUgYW5kIHN0b3BwZWQgdGhlIG1vcm9uIGluIGhpcyB0cmFja3MpLiBSZWRIYXQ1LjIgdXNlcnMgc2hvdWxkCm1ha2Ugc3VyZSB0aGF0IEFMTCBzZWN1cml0eSAncGF0Y2hlcycgZm9yIHRoaXMgdmVyc2lvbiBoYXZlIGJlZW4KaW5zdGFsbGVkLgoKT25lIGNoZWNrIGlzIHRvIGxvb2sgYXQgeW91ciBldGMvcGFzc3dvcmQgZmlsZSAtIGlmIHRoZXJlIGlzIGEgdXNlciB1c2VyCidtb29mJyBpbiB0aGUgbGlzdCB5b3UgaGF2ZSBiZWVuIGhhY2tlZCAobW9vZiBpcyBzZXQgdXAgYnkgb25lIG9mIHRoZQpyZWFkaWx5IGF2YWlsYWJsZSBhdXRvbWF0aWMgaGFja2luZyBwcm9ncmFtcyApLgoKCkRpZSBRdWVsbGUgaXN0IHZlcmxhZXNzbGljaCwgYWxzbyBjaGVja3QgZGFzIG1hbC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVkSGF0IDUuMSAhISAoR3JpbW1ib3JuLCAyMC4gU2VwIDE5OTksIDE5OjA5OjMzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTM3ODEwNTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNzgxMDU2NApCaXR0ZSwgaGllciBrZWluIGJ1Z3RyYXFJSSBlcm9lZmZuZW4uIFNlY3VyaXR5IG1haWxpbmdsaXN0ZW4gdS5hZS4gZ2lidCBlcwphbmRlcm5vcnRzIGdlbnVnLgoKQWNoIGphLCB3YXMgaXN0IGRlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBlaW5lbSBMaW51eC0gdW5kIGVpbmVtCldpbmRvd3NyZWNobmVyPyBEZW4gTGludXhyZWNobmVyIGhhY2t0IG1hbiwgZGVyIFdpbmRvd3NyZWNobmVyIHdpcmQKYWJnZXNjaG9zc2VuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlZEhhdCA1LjEgISEgKEthcmFtLCAyMS4gU2VwIDE5OTksIDE0OjU0OjExKToKfiMhIHJuPUdyaW1tYm9ybiBydD05Mzc4NTQ1NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM3ODEwNTY0ClVuZCBSZWRoYXQgaGF0IHVlYnJpZ2VucyBzb2dhciBlaW5lIGVpZ2VuZSBBbm5vdW5jZS1MaXN0ZSBmdWVyCnNpY2hlcmhlaXRzcmVsZXZhbnRlIFNhY2hlbi4KCi0tCkthcmFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzY3JlZW4tYmxhbmsgdW50ZXIgbGludXggKE15c3RlcmlvdXMsIDIyLiBTZXAgMTk5OSwgMDk6Mzk6MjIpOgpuaSBoYW8hCgppY2ggaGFiIGRhIGZvbGdlbmRlcyBwcm9ibGVtOgp3ZW5uIGljaCBkZW4gcmVjaG5lciBlaW5pZ2UgemVpdCBuaWNoIGJlbnV0emUsIGRhbm4gd2lyZCBkZXIgc2NyZWVuIHZvbiBsaW51eAphdWYgYmxhbmsgZ2VzY2hhbHRldCwgdW5hYmhhZW5naWcgZGF2b24sIG9iIGljaCB1bnRlciB4IG9kZXIgYXVmIGRlciBrb25zb2xlCmJpbi4Kd2Vpc3MgamVtYW5kLCB3byBpY2ggZGllc2VzIHZlcmhhbHRlbiBhYnNjaGFsdGVuIGthbm4/Cgp0aWEKICAgIG1Zc3RFUklvdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2NyZWVuLWJsYW5rIHVudGVyIGxpbnV4IChNeXN0ZXJpb3VzLCAyMi4gU2VwIDE5OTksIDEyOjM2OjMyKToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9OTM4MDAzNzM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzNzk5MzE2Mgprb25uaS1jaGktd2EKCm9raSwgaGFicyBpbnp3aXNjaGVuIHJhdXNnZWZ1bmRlbjoKCnhzZXQgcyBvZmYsIGJ6dy4gc2V0dGVybSAtYmxhbmsgMAoKZHVpaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGVscGhpIGNvbnRyb2wvdW5pdCBnZXN1Y2h0IChEZWJ1Z2dlciwgMjMuIFNlcCAxOTk5LCAxMToxODo1NCk6CmhhbGxvCgppY2ggc3VjaGUgbmVuIGNvbnRyb2wgKGtvbXBvbmVudGUpLCBkaWUgZWluZSBzb3VuZGF1c2dhYmUgd2llIGRlciAicGxheSIKYmVmZWhsIHZvbiBxdWljayBiYXNpYyBlcmxhdWJ0LCBhbHNvIG1hbiB1ZWJlcmdpYnQgbmVuIHN0cmluZywgZGVzc2VuIGJ5dGVzCmpld2VpbHMgc3RldWVyc2VxdWVuemVuIHNpbmQgZnVlciBkZW4gbGF1dHNwcmVjaGVyIChzbyBrYW5uIG1hbiBrbGVpbmUKbWVsb2RpZW4gYXVzZ2ViZW4pLiBrbGFyLCBlcyBnZWhlbiBhdWNoIHdhdiBkYXRlaWVuLCBhYmVyIHVtIHNvdW5kcyB2b24KZG9zLWJhc2ljIHByb2dyYW1tZW4genUgdWViZXJuZWhtZW4gaXN0IGRhcyB6dSBhdWZ3ZW5kaWcuCgpkZWJ1Z2dlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaW5mb3JtaXggZi4gbGludXggKE15c3RlcmlvdXMsIDIzLiBTZXAgMTk5OSwgMTU6NDE6MzApOgprb24tYmFuLXdhIQoKdGphLCBoYXQgamVtYW5kIHZvbiBldWNoIHNjaG9ubWFsIGVzcWwvYyB2b24gaW5mb3JtaXggZi4gbGludXggZ2VzZWhlbj8KaWNoIGJyYXVjaCBkYXMgbmFlbWxpY2gsIGRhbWl0IGljaCBtZWluIHBocDMgbWl0IGluZm9ybWl4LXVudGVyc3R1ZXR6dW5nCmtvbXBpbGllcmVuIGthbm4uCm9kZXIgaGF0IGplbWFuZCBuZW4gZmVydGlnZXMgcGhwLWJpbmFyeT8KCnNvIGxvbmcuLgogICAgICBkYSBtWXN0RVJpT3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYWJsZSBpbiBOUyB1bmQgSUUgKEhpZ2hsYW5kZXIsIDIzLiBTZXAgMTk5OSwgMjA6MjM6NDQpOgpJY2ggaGFiZSBlaW4gUHJvYmxlbTogRWluZSB0YWJsZSBtaXQgd2lkdGg9IjEwMCUiIChkYXJpbiB3ZWl0ZXJlIHRhYmxlcykgc2llaHQKaW0gSUUKZWlud2FuZGZyZWkgYXVzLCBpbSBOZXRzY2FwZSBpc3Qgc2llIGV3aWcgYnJlaXQgOigKSGF0IGplbWFuZCBhbmhhbmQgZGllc2VyIEJFc2NocmVpYnVuZyBlaW5lIElkZWUsIHdvIGRhcyBQcm9ibGVtIGlzdCwgb2RlcgphdWNoIEZyYWdlbiwgZGllIGljaCBiZWFudHdvcnRlbiBrb2VubnRlLCB1bSBkYXMgenUga2xhZXJlbj8KCiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhYmxlIGluIE5TIHVuZCBJRSAoSGlnaGxhbmRlciwgMjMuIFNlcCAxOTk5LCAyMDo1MDoyMSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTkzODExODIyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05MzgxMTgyMjQKTmFjaGZyYWdlOiBXZWlzcyBlaW5lciwgd2FzIGVzIGdlbmF1IGlzdCwgd2FzIGljaCBuaWNodAptYWNoZW4gZGFyZiwgdW0gTlMgbmljaHQgZHVyY2hlaW5hbmRlcnp1YnJpbmdlbj8KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFibGUgaW4gTlMgdW5kIElFIChNb3Jnb3RoLCAyNC4gU2VwIDE5OTksIDA1OjI0OjU5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTM4MTE5ODIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzODExODIyNApTY2hyZWliIGRvY2ggbWFsIGRlbiBMaW5rIGRlciBTZWl0ZSwgZGFtaXQgbWFuIHNpY2ggZGFzIEdhbnplIG1hbCBrb21wbGV0dAphbnNlaGVuIGthbm4uCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhYmxlIGluIE5TIHVuZCBJRSAoTW9yZ29uYXRlLCAyNC4gU2VwIDE5OTksIDExOjM4OjQ5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTM4MTE4MjI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzODExODIyNApIYWxsbyBIaWdobGFuZGVyLApiZWkgd3d3Lm9uZWxpc3QuY29tIGdpYnQgZXMgbmUgTWFpbGluZy1MaXN0ZSBOZXR6LVNjaHVsZSwgZGllIHdhZXJlIGZ1ZXIgZGllc2UKRnJhZ2UgaWRlYWwuCgpNb3Jnb25hdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFibGUgaW4gTlMgdW5kIElFIChIaWdobGFuZGVyLCAyNC4gU2VwIDE5OTksIDIzOjE3OjI3KToKfiMhIHJuPU1vcmdvbmF0ZSBydD05MzgxNzMxMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM4MTE4MjI0CkVpbiBUaXAgdm9uIENhbGltZXJhIGhhdCBnZWhvbGZlbjogTmV0c2NhcGUgbWFnIEFMSUdOIG5pY2h0IGltIHRhYmxlCnRhZy4gV2VubiBtYW4gZGVuIGRhIHJhdXNuaW1tdCAodW5kIGdnZiBiZWkgZ2VzY2hhY2h0ZWx0ZW4gdGFibGVzIGluIGRhcwpkYXZvcnN0ZWhlbmRlIFREIHJlaW50dXQpLCBnZWh0IGVzLiBBbnRoZWEgaXN0IGF1Y2ggZHJhdWYgZ2Vrb21tZW4uCiAgIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luLUV4cGxvcmVyIChQcmEsIDMwLiBTZXAgMTk5OSwgMTQ6MTY6MzEpOgpWb3IgZWluaWdlciBaZWl0IGhhdHRlIG1hbCBqZW1hbmQgZ2VmcmFndCwgd2llIG1hbiBkZW4gV2luZG93cy1FeHBsb3JlcgpkYXp1IGtyaWVndCwgYmVzdGltbXRlIG9kZXIga2VpbmUgVmVyemVpY2huaXNzZSBiZWltIFN0YXJ0ZW4gYW56dXplaWdlbi4KSW4gZGVyIGMndCAxOS85OSBzdGVodCBkYXp1IGVpbmlnZXM6CgpBdWZydWYgbWl0dGVscyBmbGFnIC9uIG9kZXIgL2UsCmtvbXBsZXR0ZSBIaWxmZSB1bnRlcjoKaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9saWJyYXJ5L3dpbnJlc291cmNlL2Rud2luOTUvUzczMkUuaHRtCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpxdWVsbHRleHQgdm9uIGVpbmVzIGh0bWwtZG9rcyByYXVza3JpZWdlbiAoTXlzdGVyaW91cywgMTEuIE9rdCAxOTk5LCAxNDo0NTo0MSk6Cmtvbm5pLWNoaS13YSEKCgpmb2xnZW5kZXM6CnN0ZWxsZSBkaXIgZWluZW4gdG91Y2hzY3JlZW4gdm9yLiBhdWYgZGllc2VtIHRvdWNoc2NyZWVuLXRlcm1pbmFsIGxhZXVmdCBpbQpwcmluemlwIG51ciBlaW4gd2ViYnJvd3NlciAobmV0c2NhcGUpLgp3YXMgaWNoIG1vZWNodGUgaXN0LCBkYXNzIGVzIGVpbmVtIHBvdGVudGllbGwgdW5nZWJ1ZXJsaWNoIG5ldWdpZXJpZ2VtCm1lbnNjaGVuIG5pY2h0IG1vZWdsaWNoIHNlaW4gc29sbCwgc2ljaCBkZW4gcXVlbGx0ZXh0IGRlciBpbSBicm93c2VyCmRhcmdlc3RlbGx0ZW4gc2VpdGVuIGFuenVzZWhlbiAqZyouCgphdWZncnVuZCBkZXMgdG91Y2hzY3JlZW5zIGdlaHQgc2Nob25tYWwga2VpbiByZWNodHNrbGljay4uLgpkYXMgYnJvd3NlcmZlbnN0ZXIgYmVzaXR6dCBrZWluZSBtZW51ZXMsIHN0YXR1c2xlaXN0ZW4gby5hZS4uLi4KZGllIHRhc3RhdHVya3VlcnplbCBzaW5kIGViZW5mYWxscyBkZWFrdGl2aWVydC4uLgoKa2VubnQgamVtYW5kIG5vY2ggbmUgbW9lZ2xpY2hrZWl0LCB1bSBkZW4gcXVlbGx0ZXh0IF9pbm5lcmhhbGJfIGRlcyBicm93c2VycwpzaWNodGJhciB6dSBtYWNoZW4/CgpiaXMgbmV1bGljaC4uCiAgICAgICAgICAgIGRBIG1Zc3RlUklPdXMKCnAucy46IHRpYSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHF1ZWxsdGV4dCB2b24gZWluZXMgaHRtbC1kb2tzIHJhdXNrcmllZ2VuIChGbGFzaGdvZCwgMTEuIE9rdCAxOTk5LCAxNjoyMzozNSk6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTkzOTY1MzE0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk2NTMxNDEKRGVuIFJlY2h0c2NsaWNrIGthbm5zdGUgZWggbGVpY2h0IG1pdCBKU2NyaXB0IHVudGVyYmluZGVuLgpXZW5uIERlaW4gRmVuc3RlciBfa2VpbmVybGVpXyBNZW51ZXMgdXN3LiBlbnRoYWVsdCwgdW5kIGRpZSBLdWVyemVsCmRlYWt0aXZpZXJ0IHNpbmQsIGRhbm4gc29sbHRlIGVzIHJlbGF0aXYgdW5tb2VnbGljaCBzZWluIGRlbiBRdWVsbHRleHQKYW56ZWlnZW4genUgbGFzc2VuLiBQcmluemlwaWVsbCBtYWcgaWNoIHNvd2FzIHp3YXIgbmljaHQsIGFiZXIgZnVlciBuZQpWb3JmdWVocnVuZyBpc3QgZXMgd29obCBnYXIgbmljaHQgdWViZWwuIEZyYWdlOiBXaWUgZGVha3RpdmllcnN0IER1IGRpZQpUYXN0YXR1cmt1ZXJ6ZWwgPwoKRmxhc2hnb2QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcXVlbGx0ZXh0IHZvbiBlaW5lcyBodG1sLWRva3MgcmF1c2tyaWVnZW4gKEFjcmltb24sIDExLiBPa3QgMTk5OSwgMjA6NDg6MDApOgp+IyEgcm49Rmxhc2hnb2QgcnQ9OTM5NjU5MDE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTY1MzE0MQpIbW0uIEF1Y2ggZnVlciBlaW5lIFZvcmZ1ZWhydW5nIGlzdCBkYXMgbmljaHQgZ3V0LCBkZW5uIGF1ZiBlaW5lciBWb3JmdWVocnVuZwpzdGVodCBlbnR3ZWRlciBkZXIgVm9yZnVlaHJlciBkYW5lYmVuIG9kZXIgZXMgaW50ZXJlc3NpZXJ0IHNpY2ggZG9jaCBlaW5lcgpmdWVyIGRlbiBTb3VyY2Vjb2RlLgpXYXMga2FubiBlcyBkZW5uIHVlYmVyaGF1cHQgZnVlciBlaW5lbiAocG9zaXRpdmVuISkgU2lubiBoYWJlbiwgZGVuIFNvdXJjZWNvZGUKenUgdmVyc3RlY2tlbj8KCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHF1ZWxsdGV4dCB2b24gZWluZXMgaHRtbC1kb2tzIHJhdXNrcmllZ2VuIChXdXJ6ZWwsIDExLiBPa3QgMTk5OSwgMjA6NTk6NTYpOgp+IyEgcm49QWNyaW1vbiBydD05Mzk2NzQ4ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5NjUzMTQxCnNvd2FzIGhhdCBpbSBhbGxnZW1laW5lbiAoemllbWxpY2ggcG9zaXRpdmUpIGZpbmFuemllbGxlIGdydWVuZGUsIHdlbm4gbWFuIGRlbgpzb3VyY2Vjb2RlIG5pY2h0IHplaWd0LiBhbGxlcmRpbmdzIHBhc3N0IGRhcyB1ZWJlcmhhdXB0IG5pY2h0IHp1ciBzcGV6aWVsbGVuCndlYi1waGlsb3NvcGhpZS4gdW5kIGZ1bmt0aW9uaWVydCBuYXR1ZXJsaWNoIGF1Y2ggbmljaHQgaW0gd2ViLCBzb25kZXJuIGViZW4KbnVyIGF1ZiBlaW5lciB0b3VjaHNjcmVlbi4uLiBlaW56aWdlIG51dHphbndlbmR1bmcsIGRpZSBtaXIgc3BvbnRhbiBlaW5mYWVsbHQsCndhZXJlIHNvd2FzIHdpZSBlaW4gc3BpZWwsIGFiZXIgZGFmdWVyIGdpYnQgZXMgdW0gZ3JvZXNzZW5vcmRudW5nZW4gYmVzc2VyZQptZXRob2RlbiBhbHMgYXVzZ2VyZWNobmV0IGh0bWwuIHdhaHJzY2hlaW5saWNoIGlzdCBlcyB3YXMgZ2FueiBhbmRlcmVzLCB0b3RhbAphYmdlZmFocmVuZXMuLi4gKmdydWViZWwqIG5laW4sIHVtIGRpZXNlIHVocnplaXQgbmljaHQgbWVoci4ga2xhZXIgdW5zIGRvY2gKbWFsIGF1ZiA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHF1ZWxsdGV4dCB2b24gZWluZXMgaHRtbC1kb2tzIHJhdXNrcmllZ2VuIChNeXN0ZXJpb3VzLCAxMi4gT2t0IDE5OTksIDEzOjU5OjE5KToKfiMhIHJuPUZsYXNoZ29kIHJ0PTkzOTY1OTAxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk2NTMxNDEKbmkgaGFvIQoKaGV5LCBkYSBoYW0gc2ljaCBqYSByaWNodGlnIGxldXRlIGdlZGFua2VuIGdlbWFjaHQgOikKCm4gbmV0c2NhcGUgKHZpZWxsZWljaHQgYXVjaCBJRSkgb2huZSB0YXN0YXR1cmt1ZXJ6ZWwgZ2VodCB6LmIuIHNvOgoKPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CiAgIG5ld3dpbiA9IHdpbmRvdy5vcGVuICgiaW5kZXgyLmh0bWwiLCAibmV3d2luIiwKImxvY2F0aW9uYmFyPW5vLG1lbnViYXI9bm8scmVzaXphYmxlPTAsc3RhdHVzPTAsaG90a2V5cz0wLHdpZHRoPTEwMTAsaGVpZ2h0PTc2CjgiKTsKICAgc2VsZi5jbG9zZSAoKTsKPC9zY3JpcHQ+CgpkdSBtdXNzdCBhbHNvIGJlaW0gb2VmZm5lbiBlaW5lcyBmZW5zdGVybiBlaW5mYWNoIGhvdGtleXM9MCBzZXR6ZW4uCgpkZW4gcXVlbGxjb2RlIHNvbGwgdWVicmlnZW5zIGtlaW5lciBzZWhlbiwgZGEgaWNoIHNvd2FzIHdpZSBuZQoiYXV0aGVudGlmaXppZXJ1bmciIG1pdCBqYXZhc2NyaXB0IGR1cmNoZnVlaHJlbiBtb2VjaHRlIChkZXIgcmVjaG5lciBoYXQKdWVicmlnZW5zIF9rZWluZW5fIG5ldHp6dWdhbmcgamVnbGljaGVyIGFydCwgdW5kIHNpY2hlcmhlaXRzcHJvYmxlbWUKYXVzc2VyaGFsYiBkZXMgYnJvd3NlcnMgc2luZCBmdWVyIG1laW4gYW5saWVnZW4gbmljaHQgcmVsZXZhbnQgOikKCnNjaG9lbmVuIGRhbmssCiAgICAgICBtWXN0ZVJpT3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBxdWVsbHRleHQgdm9uIGVpbmVzIGh0bWwtZG9rcyByYXVza3JpZWdlbiAoR3JpbW10ZXN0LCAxMi4gT2t0IDE5OTksIDE0OjA3OjUzKToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9OTM5NzM2NzU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTY1MzE0MQoqa2ljaGVyKiBEdSBtYWNoc3QgRGlyIFNvcmdlbiB1bSBkaWUgU2ljaGVyaGVpdCwgYWJlciBhcmJlaXRlc3QgbWl0CkphdmFTY3JpcHQ/IENvb2wuCgpHZFQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHF1ZWxsdGV4dCB2b24gZWluZXMgaHRtbC1kb2tzIHJhdXNrcmllZ2VuIChGbGFzaGdvZCwgMTIuIE9rdCAxOTk5LCAxNzo1OTo1Mik6Cn4jISBybj1HcmltbXRlc3QgcnQ9OTM5NzM3MjczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTY1MzE0MQpTb2xhbmdlIGVyIGF1ZiBuZXIgVm9yZnVlaHJ1bmcgbWl0IFRvdWNoc2NyZWVuIGFyYmVpdGV0LCB1bmQgZGVyIFJlY2huZXIKbmljaHRtYWwgYW0gTmV0eiBoYWVuZ3QuLi4gZGEgcmVpY2h0IEpTY3JpcHQsIGdsYXViIG1pci4KCkZsYXNoZ29kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBxdWVsbHRleHQgdm9uIGVpbmVzIGh0bWwtZG9rcyByYXVza3JpZWdlbiAoR3JpbW10ZXN0LCAxMi4gT2t0IDE5OTksIDIwOjAzOjUxKToKfiMhIHJuPUZsYXNoZ29kIHJ0PTkzOTc1MTE5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk2NTMxNDEKTmljaHQgc29sYW5nZSBXaW5kb3dzIGltIFNwaWVsIGlzdC4gRGEgd2VyZGVuIGRpZSBHZWRhbmtlbiB2b20gQm9lc2VuIEJpbGwKR2F0ZXMgZW1wZmFuZ2VuIHVuZCB1bWdlc2V0enQsIHVuZCBkYXMgdWViZXIgQWN0aXZlWCB1bmQgSmF2YVNjcmlwdCwgamF3b2hsIQoKR2RUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFWiBNYWNyb3Mvc2hsd2FwaS5kbGwgKEphbWVzb24sIDE0LiBPa3QgMTk5OSwgMTU6MDQ6NDQpOgpIaSEKCkJlbnV0enQgamVtYW5kIHZvbiBFdWNoIGRhcyBNYXVzLSB1bmQgVGFzdGF0dXItIE1ha3JvcHJvZ3JhbW0gRVogTWFjcm9zPwpEYWZ1ZXIgZmVobHQgbWlyIGluIGRlciBuZXVlc3RlbiBWZXJzaW9uIGVpbmUgRExMIG5hbWVucyBzaGx3YXBpLmRsbCwgZGllIGljaApuaXJnZW5kd28gZWluemVsbiBmaW5kZW4ga2Fubi4gSWNoIGhhYmUgYXVjaCBuaWNodCB2b3IsIGRhZnVlciBleHRyYSBkZW4gSUUKcnVudGVyenVsYWRlbiwgZ2VzY2h3ZWlnZSBkZW5uIGkhaG4genUgaW5zdGFsbGllcmVuIDstKQpXZXIgd2Vpc21zLCB3byBlIHMgZGllc2UgRGF0ZWkgZ2lidCwgcm9kZXIgd2VyIHNvaWUgYXVmYyBzZWluZWhtCldpbmRvb2YtdVJlY2huZXIgc2ZpbmRldCwgYml0dGUgaW0gIE1HIGFubWVobGVuIDopCgpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2FubmVyICYgRHJ1Y2tlciBhbHMgS29waWVyZXIgKEphbWVzb24sIDE0LiBPa3QgMTk5OSwgMTU6MDQ6NDgpOgpIaSwKCmltIExpZGwgZ2lidCdzIGRpZXNlIFdvY2hlIGVpbiBQcm9ncmFtbSwgbWl0IGRlbSBtYW4gc2VpbgpTY2FubmVyLVJlY2huZXItRHJ1Y2tlci1HZXNwYW5uIGFscyBLb3BpZXJlciB2ZXJ3ZW5kZW4ga2Fubi4gRXMgaGF0IGVpbmlnZQpzZWhyIG5ldHRlIEZlYXR1cmVzIHVuZCBpc3QgbWl0IDIyIERNIG5pY2h0IGFsbHp1IHRldWVyLiBBbGxlcmRpbmdzIHd1ZXJkZQppY2gsIGJldm9yIGljaCBtaXIgZGFzIGthdWZlLCBnZXJuIGVpbiBwYWFyIFZlcmdsZWljaGUgemllaGVuLiBXYXMgZ2lidCdzIGRhCnNvbnN0IG5vY2ggYW4gU29mdHdhcmUsIHVuZCB3YXMga2FubiBzaWU/CkRhcyBUaGVtYSBzY2hlaW50IG5vY2ggcmVsYXRpdiBuZXUgenUgc2Vpbiwgc28gZGFzcyBpY2ggaW4gZGVuIGdhZW5naWdlbgpBcmNoaXZlbiBuaXggZ2VmdW5kZW4gaGFiLgoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoTXVwZmVsLCAxNC4gT2t0IDE5OTksIDE3OjUwOjE4KToKfiMhIHJuPUphbWVzb24gcnQ9OTM5OTA2Mjg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTkwNjI4OApJbiBkZXIgbGV0enRlbiBjJ3QgKG9kcmUgd2FycyBkaWUgaXg/KSBzdGFuZCB3YXMgZGF6dS4uLiBuZSBSZWloZSB2b24ga2xlaW5lbgoodmItKVNjcmlwdGVuLCBtaXQgZGVuZW4gc2ljaCBkYXNzZWxiZSBlcnJlaWNoZW4gbGFlc3N0Li4uIHdlbm5zIERpY2gKaW50ZXJlc3NpZXJ0IHNjaGF1IGljaCBtYWwgbmFjaC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nhbm5lciAmIERydWNrZXIgYWxzIEtvcGllcmVyIChIYWRyYSwgMTQuIE9rdCAxOTk5LCAxODoxMzoyMik6Cn4jISBybj1KYW1lc29uIHJ0PTkzOTkwNjI4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKZXMgd3VyZGUgdmVybXV0bGljaCBkZXNoYWxiIG5pY2h0IGV4dHJhIGVyd2FlaG50LCB3ZWlsICh6dW1pbmRlc3QgYmVpIGRlbgpsZXR6dGVuIHNjYW5uZXJuIGRpZSBpY2ggc28gZ2VzZWhlbiBoYWJlKSBlaW5lIGVudHNwcmVjaGVuZGUgc29mdHdhcmUgbWVpc3QgaW0KYnVuZGxlIGlzdC4KZXMgZ2VodCwgYWJlciBtYW4gc29sbHRlIGhhbHQga2VpbmVuIGhvY2hsZWlzdHVuZ3Nrb3BpZXJlciBlcndhcnRlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoQWNyaW1vbiwgMTQuIE9rdCAxOTk5LCAyMTo0NDo0Myk6Cn4jISBybj1KYW1lc29uIHJ0PTkzOTkwNjI4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKTmltbSBnaW1wLgoKZ2ltcCBpc3Qga29zdGVubG9zLCBrYW5uIGVpbnNjYW5uZW4sIGF1c2RydWNrZW4sIHVuZCB3ZXIgd2lsbCBrYW5uIGRpZSBTZWl0ZW4KYXVjaCBub2NoIGFtIEJpbGRzY2hpcm0gdmVyYWVuZGVybi4KR2FueiBuZWJlbmJlaSBpc3QgZXMgYXVjaCBub2NoIGRhcyBiZXN0ZSBCaWxkdmVyYXJiZWl0dW5nc3Byb2dyYW1tLCBkYXMgaWNoCmtlbm5lLgoKRGllIEhvbWVwYWdlIGlzdCBodHRwOi8vd3d3LmdpbXAub3JnLwoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2FubmVyICYgRHJ1Y2tlciBhbHMgS29waWVyZXIgKEZsYXNoZ29kLCAxNC4gT2t0IDE5OTksIDIyOjAyOjU1KToKfiMhIHJuPUFjcmltb24gcnQ9OTM5OTMwMjgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTkwNjI4OApEYW5uIGtlbm5zdCBEdSBvZmZlbnNpY2h0bGljaCBQaG90b3Nob3Agbm9jaCBuaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2Nhbm5lciAmIERydWNrZXIgYWxzIEtvcGllcmVyIChBY3JpbW9uLCAxNC4gT2t0IDE5OTksIDIyOjM1OjE0KToKfiMhIHJuPUZsYXNoZ29kIHJ0PTkzOTkzMTM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKUGhvdG9zaG9wIGJyaW5ndCBtaXIgbml4LCB3ZWlscyBkYWZ1ZXIga2VpbiBCZXRyaWVic3N5c3RlbSBnaWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2Nhbm5lciAmIERydWNrZXIgYWxzIEtvcGllcmVyIChOZXZvaywgMTQuIE9rdCAxOTk5LCAyMzoxNzo0NCk6Cn4jISBybj1BY3JpbW9uIHJ0PTkzOTkzMzMxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKYXUgamEsIG1hbCB3aWVkZXIgbmUgZGlza3Vzc2lvbiAnbWVpbiBiZXN0cmllYnNzeXN0ZW0gaXN0IGJlc3NlciBhbHMgZGVpbmVzJwptYWwga3VyeiBkaWUgc3ludGF4IGZ1ZXIgdGhyZWFkIHVlYmVyZ2VoZW4gcmF1c3N1Y2hlbgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoTXVwZmVsLCAxNS4gT2t0IDE5OTksIDAwOjA5OjEwKToKfiMhIHJuPUFjcmltb24gcnQ9OTM5OTMzMzE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTkwNjI4OApHSU1QID8KYWNobmVlIGRhcyBsYWV1ZnQgamEgYXVjaCBuaWNodCBhdWYgYW1pZ2EsIG9kZXI/ICpzdGljaGVsKgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoUGF0cnluLCAxNS4gT2t0IDE5OTksIDAxOjA4OjQxKToKfiMhIHJuPU11cGZlbCBydD05Mzk5Mzg5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5OTA2Mjg4CmVzIHNvbGx0ZSBsYXVmZW4sIGxpbnV4IGdpYnRzIGF1Y2ggZnVlciBhbWlnYS4uLm51ciBkZXIgc2lubiBpc3QgZnJhZ3VlcmRpZzoKYXVzIGRlbSBhbWlnYSBnaWJ0cyBzZWhyIHZpZWwgYmVzc2VyZXMgYWxzIGdpbXAsIGRhIGVyIGxhbmdlIHplaXQgYWxzCnZpZGVvLSB1bmQgZ3JhZmlrLWNvbXB1dGVyIGVpbmdlc2V0enQgd3VyZGUuCgpvYiBudW4gd2luZG93cyBuZW4gdmVybnVlZnRpZ2VzIGJldHJpZWJzc3lzdGVtIGlzdCBvZGVyIG5pY2h0LCBpc3QKZWlnZW50bGljaCBzZWt1bmRhZXIsIHdlbm4gbWFuIHBob3Rvc2hvcCBtaXQgZ2ltcCB2ZXJnbGVpY2h0LgplaW4gcHJvZmkgd2lyZCB1bnRlciBwaG90b3Nob3AgbWl0IHdpbmRvb2Ygc2VociB2aWVsIG1laHIgZXJyZWljaGVuIGFscwplaW4gcHJvZmkgbWl0IGdpbXAgb2huZSB3aW5kb29mLi4uCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nhbm5lciAmIERydWNrZXIgYWxzIEtvcGllcmVyIChFcmRiZWVyZSwgMTUuIE9rdCAxOTk5LCAxMjowNjowMSk6Cn4jISBybj1KYW1lc29uIHJ0PTkzOTkwNjI4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKa2FubiBkYXMgZGllIG1pdGdlbGllZnRlcnRlIHNjYW5zb2Z0d2FyZSBkZXMgU2Nhbm5lcnMgbmV0PwoKRXJkYmVlcmUsIHNpY2ggd3VuZGVybmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTY2FubmVyICYgRHJ1Y2tlciBhbHMgS29waWVyZXIgKEVyZGJlZXJlLCAxNS4gT2t0IDE5OTksIDEyOjA3OjExKToKfiMhIHJuPU11cGZlbCBydD05Mzk5Mzg5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5OTA2Mjg4CkdJTVAgbGFldWZ0IHVudGVyIE9wZW5CU0QgYnp3IE5ldEJTRCBhbSBBbWlnYS4gWnVtaW5kZXN0IGF1ZiBtZWluZW4gQW1pZ2EgMzAwMApoYWIgaWNoIGVzIGxhdWZlbiB1bmQgZnVua3Rpb25pZXJ0IGdhbnogZ3V0IDopCgpFcmRiZWVyZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoQXBzdSwgMTUuIE9rdCAxOTk5LCAxNjo0MDo0OSk6Cn4jISBybj1BY3JpbW9uIHJ0PTkzOTkzMzMxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05Mzk5MDYyODgKcmdyaW5zIGFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2FubmVyICYgRHJ1Y2tlciBhbHMgS29waWVyZXIgKEphbWVzb24sIDE1LiBPa3QgMTk5OSwgMjI6Mzc6MTMpOgp+IyEgcm49SmFtZXNvbiBydD05Mzk5MDYyODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5OTA2Mjg4Ck5ldHRlciBUaHJlYWQgOi0pCgpVbSBpaG4gbWFsIGFienVrdWVyemVuOiBJY2ggaGFiIG1pciBkYXMgUHJvZ3JhbW0gamV0enQgZ2VrYXVmdCA6KSBFcyBrYW5uCmVpbmlnZSBEaW5nZSwgZGllIGljaCBtaXIgZXJzdCBhdXMgZWluaWdlbiBhbmRlcmVuIFByb2dyYW1tZW4genVzYW1tZW5zdWNoZW4KbXVlc3N0ZSAoYnp3LiBpY2ggbXVlc3N0ZSBtaXIgZGllc2UgUHJvZ3JhbW1lIGVyc3QgbWFsLCBhZWgsIGJlc2NoYWZmZW4gLSB2b24KZGVyIHNvbnN0aWdlbiBGdW5rdGlvbmFsaXRhZXQgaGVyIG1pdCBLYW5vbmVuIGF1ZiBTcGF0emVuIGdlc2Nob3NzZW4pLiBNYW4Kc3RlbGxlIHNpY2ggZWluZmFjaCBlaW5lbiBtb2Rlcm5lbiBGYXJia29waWVyZXIgYXVzIGRlbSBDb3B5c2hvcCB2b3IuCgpadWZyaWVkZW4sCmpBbWVzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoU3RvcGRlbmJ1cywgMTYuIE9rdCAxOTk5LCAwMDo1ODoxNik6Cn4jISBybj1NdXBmZWwgcnQ9OTM5OTM4OTUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTkzOTkwNjI4OApOT0NIIG5ldCwgYWJlciBsaW51eCBmdWVybiBhbWlnYSBzb2xscyBkb2NoIGJhbGQgZ2ViZW4sIHdlbm4gaWNoIG5ldCBnYW56CmRhbmViZW4gbGllZyA6KQoKU3RvcHBpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2FubmVyICYgRHJ1Y2tlciBhbHMgS29waWVyZXIgKERob2pha3QsIDE2LiBPa3QgMTk5OSwgMTY6NTI6MDQpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05NDAwMjgyOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5OTA2Mjg4CkdpYnRzIHNjaG9uIHNlaXQgdWViZXIgbmVtIGphaHIsIHpiIGRpZSBpbm9mZmljaWFsIHJlZGhhdCA1LjEuCkljaCBoYWJzIGFiZXIgbmljaHQgd2VpdGVyIHZlcmZvbGd0LgoKVHNjaGF1IGRhbm4sCktoaWRhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNjYW5uZXIgJiBEcnVja2VyIGFscyBLb3BpZXJlciAoR25vbWUsIDE4LiBPa3QgMTk5OSwgMTM6MjU6NDcpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05NDAwMjgyOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTM5OTA2Mjg4CmR1IGxpZWdzdCB2b2xsIGRhbmViZW4uCmxpbnV4IGZ1ZXJuIGFtaWdhIGdpYmJldCBzY2hvbiBzZWl0IHVlYmVyIDIgamFocmVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBwYWFyIGZyYWdlbiAoRm9uZG9yLCAxOC4gT2t0IDE5OTksIDIxOjM0OjA4KToKVmllbGxlaWNodCBvZGVyIGljaCBzb2xsdGUgZWhlciBzYWdlbiB3YWhyc2NoZWlubGljaCBrYW5uIG1pciBoaWVyIGVpbmVyIGVpbmUKV2lzc2Vuc2x1ZWNrZSBmdWVsbGVuIC0gV2VyIGthbm4gbWlyLCB6dW1pbmRlc3QgdGVpbHdlaXNlLCBmb2xnZW5kZSBGcmFnZW4KYmVhbnR3b3J0ZW4/CgpXaWUgZ2VuYXUgaXN0IGRlciBXZWcgdm9tIEJJT1MgdWViZXIgZGVuIE1CUiB1bmQgZGFzIE9TIHp1bSBhdXNnZWZ1ZWhydGVuClByb2dyYW1tLCB1bmQgd2FzIHVlYmVybmltbXQgd2VsY2hlIEluc3Rhbno/CldhcyBoZWlzc3QgZXMgZ2VuYXUsIGVpbiBQcm9ncmFtbSBhdXN6dWZ1ZWhyZW4gLyB3YXMgaXN0IGRhZnVlciB6dXN0YWVuZGlnLApkYXNzIGRhcywgd2FzIGluIGRlbSBwcm9nIHN0ZWh0ICJhdXNnZWZ1ZWhydCB3aXJkIj8gT2RlciB3aXJkIGVzIGluIGRpZXNlbQpTaW5uZSBnYXJuaWNodCBpbnRlcnByZXRpZXJ0IHNvbmRlcm4gLi4gPyBVbmQgd2FzIGFuIGRpZXNlbSBQcm96ZXNzIG1hY2h0IGRhcwpPUz8KV2FzIGlzdCBkZXIgdW50ZXJzY2hpZWQgendpc2NoZW4gZWluZW0gT1MgdW5kIGVpbmVtIFByb2dyYW1tLCBhYmdlc2VobiB2b24gZGVtCm9mZmVuc2ljaHRsaWNoZW4gYnp3LiBpc3QgZXMgbmljaHQgZWluIGdhbnogIm5vcm1hbGVzIiBrb21waWxpZXJ0ZXMgcHJvZ3JhbW0sCm51ciBkYXNzIGVzIGFscyBhbGxlciBlcnN0ZXMsIGJlaW0gYm9vdCwgZ2VsYWRlbiB3aXJkPwpadSBndXRlciBsZXR6dDogV2FzIGJlZmluZGV0IHNpY2ggaW0gTUJSPwoKRm9uZG9yLCBhdWYgenVtaW5kZXN0IHRlaWx3ZWlzZS1iZWFudHdvcnR1bmcgaG9mZmVuZC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIHBhYXIgZnJhZ2VuIChQcmEsIDIwLiBPa3QgMTk5OSwgMTI6MzI6MTkpOgp+IyEgcm49Rm9uZG9yIHJ0PTk0MDI3NTI0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDAyNzUyNDgKRGEgamV0enQgendlaSBUYWdlIGtlaW5lIEFudHdvcnQgYXVmIEZvbmRvcnMgQW5mcmFnZSBrYW0sIHNjaHJlaWJlIGljaAptYWwgZGFzLCB3YXMgbWlyIGJlaW0gTGVzZW4gZHVyY2ggZGVuIEtvcGYgZ2luZzoKCkRpZSBGcmFnZW4gc2luZCBzZWhyIGFsbGdlbWVpbiBnZWhhbHRlbiB1bmQgYmVzdGltbXQgbmljaHQgZ2VlaWduZXQsIGluCmRlciBNUEEgYmVhbnR3b3J0ZXQgenUgd2VyZGVuLiBBdXNzZXJkZW0gZGVja2VuIHNpZSBlaW4gc2VociB3ZWl0ZXMKU3Bla3RydW0gYWIuIElNSE8gc29sbHRlbiBhbHMgQW50d29ydCBlaW5pZ2UgTGl0ZXJhdHVyaGlud2Vpc2UgZ2VnZWJlbgp3ZXJkZW4uIERhIGljaCBkYSBhYmVyIG5pY2h0cyBiZWl6dXRyYWdlbiBoYWJlLCBtaWNoIHNvbGNoZSBMaXRlcmF0dXItCmhpbndlaXNlIGFiZXIgaW50ZXJlc3NpZXJlbiwgZnJhZ2UgaWNoIG1hbCAoaW4gRm9uZG9ycyBTaW5uKToKCldvIGthbm4gbWFuIG5hY2hsZXNlbiwgd2llIGJlaSBlaW5lbSBQQyBkaWUgQWJsYWV1ZmUgdm9tIEJJT1MgdWViZXIKTUJSIHVlYmVyIE9TIGJpcyB6dSBBbndlbmR1bmdlbiBmdW5rdGlvbmllcmVuPwoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW4gcGFhciBmcmFnZW4gKFdpbGxvdywgMjAuIE9rdCAxOTk5LCAxNTowODoyMik6Cn4jISBybj1QcmEgcnQ9OTQwNDE1NTM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MDI3NTI0OAp0amEsIGljaCBtZWluZSBtYWwgd2FzIGluIGRlciBjdCB6dSBkZW0gdGhlbWEgZ2VsZXNlbiB6dSBoYWJlbiAtIGFiZXIgaXN0CnNjaG9uIG5lIGdhbnplIHdlaWxlIGhlci4uLiAKdmllbGxlaWNodCBrb2VubnRlIG1hbiBkYSBpbSBhcmNoaXYgKENELVJvbSBvZGVyIHNvKSB3YXMgenUgZGVtIHRoZW1hIGZpbmRlbj8KV2VpZGNoZW4gV2lsbG93IGxpZXN0IGdlcm5lICh1bmQgdmllbCkgZGllIENUIAoodm9yIGFsbGVtIFNlaXRlIDMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXSVNFLUluc3RhbGxlcjogQ29ycnVwdCBpbnN0YWxsYXRpb24gZGV0ZWN0ZWQgKEphbWVzb24sIDIwLiBPa3QgMTk5OSwgMTc6MzU6MzMpOgpIaSEKCkljaCBoYWJlIGltbWVyIG1hbCB3aWVkZXIgUHJvYmxlbWUgdW50ZXIgV2luZG9vZiBtaXQgbmV1IHp1IGluc3RhbGxpZXJlbmRlcgpTb2Z0d2FyZSwgZGllIGFscyBzZWxic3RleHRyYWhpZXJlbmRlcgpXSVNFLUluc3RhbGxlciB2b3JsaWVndC4gRXMga29tbXQgZGFubiBkaWUgYWV1c3NlcnN0IGF1c3NhZ2UtCmtyYWVmdGlnZSBNZWxkdW5nICJDb3JydXB0IGluc3RhbGxhdGlvbiBkZXRlY3RlZCIuCgpJbSBrb25rcmV0ZW4gRmFsbCBoYW5kZWx0IGVzIHNpY2ggZGFiZWkgdW0gV2luZG9vZiA5OCAodHJpdHQKYWJlciBhdWNoIGF1ZiBlaW5pZ2VuIE5ULUluc3RhbGxhdGlvbmVuIGF1ZikgdW5kIE9wZXJhIDMuNgoobzM2MGUzMi5leGUgLSB1ZWJyaWdlbnMgZWluIHNjaGxhbmtlciwgcmVzb3VyY2Vuc2Nob25lbmRlcgp1bmQgc2VociBzY2huZWxsZXIsIGVmZml6aWVudGVyIEJyb3dzZXIgbWl0IGFsbGVuIEZlYXR1cmVzLApkZW4gaWNoIE5ldHNjYXBlIHVuZCBJbnRlcm5ldCBFeHBsb3JlciBiZWkgd2VpdGVtIHZvcnppZWhlLApob2ZmZW50bGljaCBpc3QgZGllIExpbnV4LVBvcnRpZXJ1bmcgYmFsZCBzb3dlaXQuCkVuZGUgZGVyIExvYnByZWlzdW5nIDstKSApLgoKV2FzIGthbm4gbWFuIHR1biwgYnp3LiBnaWJ0IGVzIFNvZnR3YXJlLCBkaWUgbWl0IFdJU0UtQXJjaGl2ZW4KdW1nZWhlbiBrYW5uPyBXaW56aXAgdHV0J3MgbmljaHQuCgpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb3VuZGthcnRlIHJhdXNjaHQgKFc5OCkgKEphbWVzb24sIDIyLiBPa3QgMTk5OSwgMTE6MjQ6NTcpOgpIYWxsbyB6dXNhbW1lbiwKCmljaCBiZXRyZWliZSBlaW5lIEFXRTY0IFBuUCBQQ0kgaW4gZWluZW0gUDE2Ni1SZWNobmVyIHVudGVyIFdpbjk4LiBCZWltIEJvb3Rlbgp2b24gV2luZG9vZiB2ZXJzZXR6dCBpcmdlbmR3YXMgZGllIFNvdW5ka2FydGUgaW4gZWluZW4gWnVzdGFuZCwgaW4gZGVtIHNpZQplbnRzZXR6bGljaCBsYXV0IHJhdXNjaHQuIERhcyBsYWVzc3Qgc2ljaCB3ZWRlciB1bnRlciBkZW4gQXVkaW8tIG5vY2gKTXVsdGltZWRpYS1FaWdlbnNjaGFmdGVuIG5vY2ggaW0gTWl4ZXIgYWJzdGVsbGVuLiBEaWUgS2FydGUgc3BpZWx0IFNvdW5kcwphbnNvbnN0ZW4gbm9ybWFsIGFiLCBudXIgcmF1c2NoZW4gdHV0IHNpZSBlYmVuIHdpZSBlaW4gRmVybnNlaGVyLCBkZW0gbWFuIGRhcwpBbnRlbm5lbmthYmVsIGFiZ2V6b2dlbiBoYXQuIFVudGVyIERPUyB0cml0dCBkYXMgUGhhZW5vbWVuIG5pY2h0IGF1Zi4gV2FzIGthbm4KbWFuIHR1biwgbWFsIHZvbSBEb3dubG9hZCBuZXVlciBUcmVpYmVyIGFiZ2VzZWhlbj8gKGRpZSBvcmlnaW5hbGVuIHZvbgpDcmVhdGl2ZSBMYWJzIHNvbGx0ZW4ncyBkb2NoIHR1biwgb2Rlcj8hKQoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvdW5ka2FydGUgcmF1c2NodCAoVzk4KSAoS2FyaXMsIDIyLiBPa3QgMTk5OSwgMTk6NTE6MzIpOgp+IyEgcm49SmFtZXNvbiBydD05NDA1ODQyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQwNTg0Mjk3CkthcnRlIHVtdGF1c2NoZW4uIERpZSBoYXQgd29obCBnYW56IHNpbXBlbCBlaW5lbiBGZWhsZXIuCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb3VuZGthcnRlIHJhdXNjaHQgKFc5OCkgKEFjcmltb24sIDIyLiBPa3QgMTk5OSwgMjA6NTY6MjgpOgp+IyEgcm49S2FyaXMgcnQ9OTQwNjE0NjkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MDU4NDI5NwpIbW0sIHdlbm4gc2llIHVudGVyIFdpbmRvb2YgcmF1c2NodCB1bmQgdW50ZXIgRE9TIG5pY2h0LCBkYW5uIGhvZXJ0IHNpY2ggZGFzCm5pY2h0IHNvIHNlaHIgbmFjaCBGZWhsZXIgYW4uCldpZSB2ZXJoYWVsdCBzaWUgc2ljaCBkZW5uIHVudGVyIExpbnV4PwoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUuLi4gKERpcmlvbiwgMjQuIE9rdCAxOTk5LCAwMjo1NjoyNCk6CkljaCBzdWNoIGVpbmUgZ3JhZmlzY2hlIEphdmFlbnR3aWNrbHVuZ3N1bWdlYnVuZyBmdWVyIExpbnV4LiBHaWJ0J3MgZGEgZXZ0bC4KZnJlaWUgU29mdHdhcmUsIHVuZCB3ZW5uIGphLCB3bz8gTWVpbmUgYmlzaGVyaWdlIFN1Y2hlIHdhciByZWNodCBlcmZvbGdsb3MuCgpEaXJpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZS4uLiAoTXVwZmVsLCAyNC4gT2t0IDE5OTksIDA5OjU5OjAyKToKfiMhIHJuPURpcmlvbiBydD05NDA3MjY1ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQwNzI2NTg0Ck5ldEJlYW5zIC0gd3d3Lm5ldGJlYW5zLmNvbQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlcnJhdGVjIHVudGVyIGxpbnV4IChHbm9tZSwgIDEuIE5vdiAxOTk5LCAyMjoyMDo1NCk6CmhpLAoKaGF0IGptZCBlcmZhaHJ1bmcgbWl0IGVpbmVyIHRlcnJhdGVjLTEyOFBDSS1zb3VuZGthcnRlIHVudGVyIGxpbnV4PwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTb3VuZGthcnRlIHJhdXNjaHQgKFc5OCkgKE5pbWJ1cywgIDIuIE5vdiAxOTk5LCAxNDo1ODo0Nyk6Cn4jISBybj1KYW1lc29uIHJ0PTk0MDU4NDI5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDA1ODQyOTcKc2NoYXUgbWFsIGluIGRlciBha3R1ZWxsZW4gYyd0ICgyMikgZGEgd2FyIG1laW5lcyB3aXNzZW5zCmlyZ2VuZHdhcyB6dSBkZW0gdGhlbWEgYmVpIGRlbiBsZXNlcmZyYWdlbi4KCk5pbWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRlcnJhdGVjIHVudGVyIGxpbnV4IChNeXN0ZXJpb3VzLCAgMi4gTm92IDE5OTksIDIyOjI1OjUxKToKfiMhIHJuPUdub21lIHJ0PTk0MTQ5MTI1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDE0OTEyNTQKa29uLWJhbi13YSEKCmljaCBoYWIgZ3JhZCBmZXN0c3RlbGxlbiBtdWVzc2VuLCBkYXNzIGRpZSB0ZXJyYXRlYyBwY2kgMTI4IG51ciB2b24gZGVyCmtvbW1lcnppZWxsZW4gdmVyc2lvbiB2b24gb3NzIHVudGVyc3R1ZXR6dCB3aXJkIDooCnMuIHVudGVyIGh0dHA6Ly93d3cub3BlbnNvdW5kLmNvbQoKdGVycmF0ZWMgaXMgZWNodCBkb29mLCB3YXMgZGllIHJhdXNnYWJlIHZvbiBpbmZvcyB1ZWJlciBpaHJlIHNvdW5ka2FydGVuCmFuZ2VodCA6KAoKc28gbG9uZy4uCmRBIG1Zc3RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYWxlbmRlciAoUmlrdXMsICA4LiBOb3YgMTk5OSwgMjI6NDE6MzcpOgpIaSwKaWNoIHN1Y2hlIGVpbiBQcm9ncmFtbSAoV2luIG9kZXIgTGludXgpLCBtaXQgZGVtIGljaCBzZWxiZXIgZWluZW4KS2FsZW5kZXIgZnVlciAyMDAwIGRydWNrZW4ga2Fubiwgd29iZWkgaWNoIGZ1ZXIgamVkZW4gTW9uYXQgc2VsYnN0CmVpbiBCaWxkIGVpbmJpbmRlbiBrYW5uLCBhbHNvIG9iZW4gQmlsZCwgdW50ZW4gVGFnZXN6YWhsZW4uIEtlbm50CmVpbmVyIHNvIGVpbiBQcm9ncmFtbT8gSWNoIGhhYiBzY2hvbiBtYWwgZXR3YXMgcnVtZ2VzdWNodCwgYWJlciBsZWlkZXIKb2huZSBFcmZvbGcuCgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEthbGVuZGVyIChNdXBmZWwsICA4LiBOb3YgMTk5OSwgMjM6MDc6NDUpOgp+IyEgcm49UmlrdXMgcnQ9OTQyMDk3Mjk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MjA5NzI5NwpWaXN1YWwgQmFzaWMsIHVuZCBldHdhcyBBdWZ3YW5kIDotKQpCZXNvcmcgRGlyIGRpZSBWQiBDQ0UgKENvbnRyb2wgQ3JlYXRpb24gRWRpdGlvbiksIGRpZSBrb3N0JyBuaXguIGRhbWl0IG1hY2hzdGUKYXVzIGRlbSBLYWxlbmRlciAnbiBBY3RpdmVYIHVuZCBiaW5kZXN0IGRhcyB6LmIuIGluIFdvcmQgKG9kZXIgc29uc3QgZWluClByb2dnaSBkYXMgT0xFIGZhZWhpZyBpc3QpIGVpbi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEthbGVuZGVyIChHcmltbWJvcm4sICA4LiBOb3YgMTk5OSwgMjM6Mjg6MjEpOgp+IyEgcm49TXVwZmVsIHJ0PTk0MjA5ODg2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDIwOTcyOTcKQWxzbywgYmVpIG1laW5lbSBhbHRlbiBXb3JkIGZ1ZXIgV2luZG93cyA2LjAgd2FyIGVpbiBLYWxlbmRlcmFzc2lzdGVudCBkYWJlaSwKZGVyIGdlbmF1IHNvIGVpbmVuIEthbGVuZGVyIGdlYmF1dCBoYXQuIEdpYnRzIHNvd2FzIG5pY2h0IG1laHI/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYWxlbmRlciAoWmFybml5YSwgIDkuIE5vdiAxOTk5LCAxNDozMjowMyk6Cn4jISBybj1SaWt1cyBydD05NDIwOTcyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQyMDk3Mjk3CmFlaG0uLiB1bnRlciBMaW51eCBjYWwgbW9uYXQgamFociwgZGFubiBjJnAgaW4gbmVuIGVkaXRvciB1bmQgbGF0ZXhlbi4uLi4gZ2VodApzaWNoZXIgYW0gc2NobmVsbHN0ZW4uIDopCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrdXBtZWRpdW0gZ2VzdWNodCAoTW9yZ290aCwgMTcuIE5vdiAxOTk5LCAwOTozNDo0OSk6CkhpaG8sCgppY2ggc3VjaGUgZGFzIGltIE1vbWVudCBha3R1ZWxsc3RlL2Jlc3RlL3ByZWlzZ3VlbnN0aWdzdGUgdXN3LiBCYWNrdXBtZWRpdW0KZnVlciBlaW5lIEthcGF6aXRhZXQgdm9uIDMwLTYwR0IuIApDRC1Sb21zIGZhbGxlbiB3b2hsIGZsYWNoLiBXYXMgaXN0IG1pdCBTdHJlYW1lci9EQVQ/CgpJbmZvcyBiaXR0ZSBwZXIgTWFpbCBhbiBtaWNoLgoKTW9yZ290aAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhY2t1cG1lZGl1bSBnZXN1Y2h0IChNdXBmZWwsIDE3LiBOb3YgMTk5OSwgMTQ6NTQ6MjUpOgp+IyEgcm49TW9yZ290aCBydD05NDI4Mjc2ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQyODI3Njg5ClNjaGF1IG1hbCBuYWNoIERMVCBTdHJlYW1lcm4uIElzdCBhYmVyIG5pY2h0IGdyYWRlIGJpbGxpZyAoZGFmdWVyIGdpYnRzIHdlbGNoZQptaXQgNDAtODAgR0Iga2FwYXppdGFldCkKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbnJ1ZnNpZ25hbCBiZWltIE1vZGVtIChKYW1lc29uLCAxOS4gTm92IDE5OTksIDE0OjI4OjI2KToKSGFsbG8sCgptZWluIGFsdGVzIFp5WGVsIDE0OTZFKyBoYXQgc28gZWluIG5ldHRlcyBGZWF0dXJlLCBlcyBnaWJ0IGVpbiBha3VzdGlzY2hlcwpLbGluZ2Vsc2lnbmFsIHZvbiBzaWNoLCB3ZW5uIGVpbiBBbnJ1ZiBlaW5nZWh0LiAoQXVzIGJlc3RpbW10ZW4gR3J1ZW5kZW4gaXN0CmRhcyBNb2RlbSBuaWNodCBhbiBlaW5lciBOLUJ1Y2hzZSwgc29uZGVybiBhbSBIYXVwdGFuc2NobHVzcywgc29uc3Qgd3VlcmRlCnNpY2ggZGllc2VyIEFydGlrZWwgbmF0dWVybGljaCBlcnVlYnJpZ2VuKQpKZXR6dCBoYWIgaWNoIGVuZGxpY2ggZGFzIGFsdGUgTW9kZW0gcGVuc2lvbmllcnQgdW5kIG1pciBlaW4gRWxzYSBNaWNyb2xpbmsKQmFzaWMgZ2VrYXVmdC4gVW5kIG51biBzdWNoZSBpY2ggbmFjaCBlaW5lciBFaW5zdGVsbHVuZ3Ntb2VnbGljaGtlaXQsIGRpZSBtaXIKZGFzIEtsaW5nZWxzaWduYWwgd2llZGVyIGdpYnQuIEdpYnQncyBkaWU/IFZpZWxsZWljaHQgc29nYXIgZnVlciBhbGxlCmdhZW5naWdlbiBNb2RlbXM/IE9kZXIgaXN0IGRhcyBudXIgZWluZSBTcGV6aWFsaXRhZXQgdm9uIFp5WGVsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFucnVmc2lnbmFsIGJlaW0gTW9kZW0gKENhdHdlYXpsZSwgMTkuIE5vdiAxOTk5LCAxNTozNzoyNCk6Cn4jISBybj1KYW1lc29uIHJ0PTk0MzAxODEwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDMwMTgxMDYKRGFzIGlzdCBlaW5lIGdhbnogaGVydm9ycmFnZW5kZSBGcmFnZS4KTWVpbiBNaWNyb2xpbmsgbWFjaHQgZGFzIG5hZW1saWNoIGJlcmVpdHMgYW5zY2hlaW5lbmQgc3RhbmRhcmRtYWVzc2lnIHVuZCBpY2gKd3VlcmRlIGRhcyBqZXR6dCBnZXJuZSBhdXNzY2hhbHRlbiAoZGFzIG5lcnZ0IG5hZW1saWNoKS4KV2Vpc3MgamVtYW5kIHdpZSBtYW4gZGFzIGF1c3NjaGFsdGV0PyAKClp1ciBOb3Qga29lbm5lbiB3aXIgamEgdGF1c2NoZW4gOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGVycmF0ZWMgdW50ZXIgbGludXggKEpvZiwgMjEuIE5vdiAxOTk5LCAxNDo0OToxMik6Cn4jISBybj1NeXN0ZXJpb3VzIHJ0PTk0MTU3Nzk1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDE0OTEyNTQKRGllIFRlcnJhdGVjIFBDSSAxMjhpIGlzdCBlaW5lIEVTUyBTb2xvLTEgS2FydGUsIHVuZCBkaWUgd2lyZCB2b24KbmV1ZXJlbiBPU1MtVmVyc2lvbmVuIHVudGVyc3R1ZXR6dCAoaWNoIGhhYiBzaWUgZW50d2VkZXIgaW0gMi4zLjI4Cm9kZXIgaW0gMi4yLjE0cHJlNiBnZXNlaGVuKTsgYWxsZXJkaW5ncyBtdXNzdCBEdSBEaXIgYXVjaCBleHBlcmltZW50YWwKY29kZSBhbnplaWdlbiBsYXNzZW4sIGRhbWl0IGRlciBUcmVpYmVyIGFuZ2Vib3RlbiB3aXJkLiBBbnNvbnN0ZW4KdmVyc3VjaHMgbWl0IEFMU0EgKHd3dy5hbHNhLXByb2plY3Qub3JnKSwgZGEgaXN0IGViZW5mYWxscyBlaW4Kd2VpdGdlaGVuZCBmZXJ0aWdlciBUcmVpYmVyIGZ1ZXIgRVNTIFNvbG8tMS9FU1MgMTkzOCBkcmluLgoKIEpvZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGF0IEplbWFuZCBuZSBFcmtsYWVydW5nIChNb3Jnb3RoLCAyNi4gTm92IDE5OTksIDEwOjQ2OjE2KToKU3lzdGVtOgpQSUktNDAwTUh6CjEyOE1CIFJhbQpBU1VTIFAzQi1GCjEzR0IgSUJNIEhECjMyZmFjaCBURUFDIElERS1DRC1ST00KQ3JlYXRpdmUgVE5UIDE2TUIgR3JhZmlra2FydGUKM0NPTSAzQzkwMEItQ29tYm8gKEN5Y2xvbmUpIE5ldHp3ZXJra2FydGUgCgpVbnRlciBXSU45NSB3aXJkIGRpZSBOZXR6d2Vya2thcnRlIGF1ZiBJUlExMCBlcmthbm50IHVuZCBmdW56dCBhdWNoIHByaW1hLgpVbnRlciBTdVNFIDYuMiB3aXJkIHNpZSBhdWYgSVJRIDAgZXJrYW5udCAoa29ycmVrdGUgTUFDKSB1bmQgZnVuenQgZ2FyIG5pY2h0LgpBbGxlIFZlcnN1Y2hlLCBkZW4gSVJRIHVtenViaWVnZW4gKGFuZGVyZSBLYXJ0ZSwgYW5kZXJlciBTbG90LCBJUlEgYXVmIFNsb3QKenV3ZWlzZW4pIHNjaGxhZ2VuIGZlaGwKCldhcyBwYXNzaWVydCBkYT8/Pz8/PwoKTW9yZ290aCwgcmF0bG9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGF0IEplbWFuZCBuZSBFcmtsYWVydW5nIChSaWt1cywgMjYuIE5vdiAxOTk5LCAxMjowMDowNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTk0MzYwOTU3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM2MDk1NzYKZ2liIGRvY2ggYmVpbSBMYWRlbiBkZXMgTW9kdWxlcyBkZXIgTmV0endlcmtrYXJ0ZSBkZXJlbiBJUlEgYW4sIGlzdCBlcyBmZXN0IGltCmtlcm5lbCwgZGFubiBhbHMgQm9vdHBhcmFtZXRlci4KCnJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eGNsdXN0ZXJsb2VzdW5nZW4gKEFuYWtpbiwgMjYuIE5vdiAxOTk5LCAxMjowNTowOCk6CkhpLAoKa2VubnQgamVtYW5kIGVpbmUgRmlybWEgKGF1c3NlciBTdXNlKSBkaWUgTGludXhsY3VzdGVybG9lc3VuZ2VuCmltIDE5IiBSYWNrIGFuYmlldGV0LiBVbmQgZGFzcyBhdWNoIG5vY2ggaW4gRC1MYW5kLCBzb3dhcwp3aWUgYWx0YXRlY2guY29tIG9kZXIgdmFsaW51eC5jb20gaGFsdC4KSXJnZW5kd2llIHNjaGVpbnQgZXMgZGEgbmljaHQgc29vIHJpY2h0aWdlcyB6dSBnZWJlbi4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXQgSmVtYW5kIG5lIEVya2xhZXJ1bmcgKFJ1bWF0YSwgMjYuIE5vdiAxOTk5LCAxNDowOTozNik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTk0MzYwOTU3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM2MDk1NzYKZGlzYWJsZSBQTlAgaW0gYmlvcyBkZXMgcmVjaG5lcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGF0IEplbWFuZCBuZSBFcmtsYWVydW5nIChBbmF0b2wsIDI2LiBOb3YgMTk5OSwgMTU6MzU6NDApOgp+IyEgcm49UnVtYXRhIHJ0PTk0MzYyMTc3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM2MDk1NzYKRXZlbnR1ZWxsIHdpcnN0IER1IGRlbiBSZWNobmVyIG5hY2ggamVkZW0gSG9jaGZhaHJlbiB2b24gV2luTlQgdm9yCmRlbSBadXJ1ZWNrd2VjaHNlbG4gbmFjaCBMaW51eCBnYW56IGF1c3NjaGFsdGVuIG11ZXNzZW4gLSBXaW5OVCBkcmVodApkYSBnYW56IGdlcm4gd2FzIGFuIGRlciBOZXR6a2FydGUuLi4uCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIYXQgSmVtYW5kIG5lIEVya2xhZXJ1bmcgKE1vcmdvdGgsIDI2LiBOb3YgMTk5OSwgMTU6NTE6MDgpOgp+IyEgcm49QW5hdG9sIHJ0PTk0MzYyNjk0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM2MDk1NzYKSGF0IHNpY2ggZXJsZWRpZ3QuIFdhcmVuIHRhdHNhZWNobGljaCBkaWVzZSB2ZXJmaSoqKip0ZW4gUE5QLVNhY2hlbi4gRnVuenQKd3VuZGVyYmFyIQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhdCBKZW1hbmQgbmUgRXJrbGFlcnVuZyAoV3VyemVsLCAyNy4gTm92IDE5OTksIDE5OjIwOjU2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTQzNjI3ODY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MzYwOTU3NgpsaW51eCBpc3QgZWJlbiB1bmNocmlzdGxpY2guIHBsdWcgYW5kIHByYXkgZnVuenQgZGEgbmljaHQgOikKCi0+c2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxpbnV4IHVuZCBncmFmaWsgKFNtaWxleSwgMjkuIE5vdiAxOTk5LCAwMToyOToxNyk6CkhpLAoKSWNoIGhhYmUgdm9yIG51biBlbmRsaWNoIExpbnV4IHZvbGxzdG5kaWcgenVtIGxhdWZlbgpadSBicmluZ2VuLCBpbmNsdXNpdmUgZGVyIFgtT2JlcmZsY2hlIHVuZCBkZW0gSVNETi0gWnVnYW5nCkljaCBoYWJlIEZvbGdlbmRlIEhhcmQtIHVuZCBTb2Z0d2FyZQogCi0gVm9vZG9vIDMgMjAwMCBQQ0ksIDE2IE1CIFJBTSwgMzAwTWh6IFJhbURhYywgQ29yZSBDbG9jayAxNDMgTWh6Ci0gU3VzZSBMaW51eCA2LjEKLSBTb2Z0d2FyZSB2b24gM2RmeCBIb21lcGFnZSAoRGV2aWNlM0RmeC0yXzMtMV9zcmMucnBtLCAKR2xpZGVfVjMtMl82MC04X2kzODYucnBtLCBYRnJlZTg2XzNERlgtcnVzaGxpYi0zXzNfMy01X2kzODYucnBtClhGcmVlODZfM0RGWC1TVkdBLTNfM18zLTVfaTM4Ni5ycG0uCk51biBoYWJlIGljaCBmb2xnZW5kZXMgUHJvYmxlbToKRGVtIFByb2dyYW1tIFNBWCBrb25udGUgaWNoIG5hY2ggQXVzd2FobCBkZXMgU1ZHQS1TZXJ2ZXJzIGJlaWJyaW5nZW4KZGFzcyBpY2ggMTYgTUIgUmFtIHVuZCAzMDAgTUh6IFJhbURhYyBoYWJlLCB1bmQgYWIgZGEga29ubnRlIGljaCBkaWUKWC1PYmVyZmxjaGUgbWl0IGVpbmVyIGF1ZmxvZXN1bmcgdm9uIDY0MCo0ODAgUGl4ZWwgc3RhcnRlbi4KSmV0enQgbW9lY2h0ZSBpY2ggYWJlciBhdWNoIGFuZGVyZSBBdWZsb2VzdW5nZW4gYmVudXR6ZW4gKDgwMCAqIDYwMCw7MTAyNCAqCjc2OCkuLiBkb2NoIGRhcyBmdW56dCBuaWNodC4gRm9sZ2VuZGVyIEZlaGxlciB3aXJkIGdlbWVsZGV0Ogpkb3RjbG9jayBleHBlY3RlZApVbnRlciBkZW4gZXJ3ZWl0ZXJ0ZW4gRWluc3RlbGx1bmdlbiBmdWVyIGRlbiBHcmFmaWtjaGlwc2F0eiBrYW5uIG1hbgpFaW5lbiBDbG9jayBDaGlwLCBkZW4gUmFtRGFjQ2hpcCB1bmQgZGVuIEdyYXBoaWNDaGlwIGVpbnN0ZWxsZW4uCkRhcyBQcm9ibGVtIGlzdCwgZGFzcyAzZGZ4IG5pcmdlbmRzIGFscyBIZXJzdGVsbGVyIGF1ZnRhdWNodC4gSWNoIHdlaXNzLApkYXMgaWNoIGVpbm5lbiBHRlggQ2hpcCBtaXQgMTQzIE1oeiBoYWIsIGFiZXIgYXVjaCBHRlggd2lyZCBuaWNodCB6dXIKQXVzd2FobCBnZXN0ZWxsdC4gKGFuIGRpZXNlciBTdGVsbGUgZW50c2NodWxkaWdlIGljaCBtaWNoICBiZWkgYWxsZW4gZWNodGVuCjtVc2VybiwgZGllIG5vY2ggUHJvZ3JhbW1pZXJlbiBrb2VubmVuIHVuZCBuaWNodCBzbyB3aW5kb3dzLWdlc2NoYWVkaWd0IDtzaW5kCmRhc3Mgc2llIG5pY2h0IG1laHIgd2VpdGVyd2lzc2VuIHdlbm5zIG5pY2h0cyBtZWhyIHp1bSBhbmtsaWNoZW4gO29kZXIKYXVzd2FobGVuIGdpYnQgLi4uIGljaCB3ZWlzcywgYXNjaGUgYXVmIG1laW4gaGF1cHQpLi4KV2FzIGFsc28gdW0gSGltbWVscyB3aWxsZW4gc29sbCBpY2ggYWxzIENsb2NrQ2hpcCwgUmFtZGFjQ2hpcCB1bmQgCkdyYXBoaWNDaGlwIGFuZ2ViZW4uIE9kZXIgYW5kZXJzOiBTYXggZXJ6ZXVndCBqYSBuZSBLb25maWd1cmF0aW9uc2RhdGVpOwp3aWUgbXVzcyBkaWUgZW50c3ByZWNoZW5kZSBTZWN0aW9uIGZ1ZXIgZGllIG9iZW4gZ2VuYW5udGUgR3JhZmlra2FydGUgCmF1c3NlaGVuID8gVW5kIHJlaWNodCBkYXMgZGFtaXQgZG90Y2xvY2sgZXhwZWN0ZWQgbmljaHQgbWVociBrb21tdCwgb2RlcgptdXNzIGljaCBub2NoIHdhcyBhbmRlcmVzIHR1biA/IHdhcyBkZW5uID8gKGF1c3NlciBzZWxic3Rsb2VzY2h1bmcsIAo7YXVmZ2ViZW4sIGV0YywgIHBwID8gLi0pCkZyYWdlbiB1ZWJlciBGcmFnZW4gLi4uLgoKR3J1c3MsCgogICBTbWlsZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsaW51eCB1bmQgZ3JhZmlrIChHcmltbWJvcm4sIDI5LiBOb3YgMTk5OSwgMjM6NTQ6MTApOgp+IyEgcm49U21pbGV5IHJ0PTk0MzgzNTM1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM4MzUzNTcKRGVyIDNkZngtc2VydmVyIGlzdCBhbHMgc3ZnYS1zZXJ2ZXIgYW56dXNwcmVjaGVuIChhbHNvIGVudHdlZGVyIHVlYmVyIGRlbgpzdmdhLXNlcnZlciBrb3BpZXJlbiBvZGVyIGVpbmVuIGVuc3RwcmVjaGVuZGVuIGxpbmsgbGVnZW4pLiBJY2ggenVtaW5kZXN0IGhhYmUKZGFubiBrZWluZSBSQU1EQUMtRWluc3RlbGx1bmdlbiBtZWhyIG1hY2hlbiBtdWVzc2VuLCBlaW5mYWNoIGRlbiBhdXRvcHJvYmUKZHVyY2hsYXVmZW4gbGFzc2VuIHVuZCBndWNrZW4sIGRhc3MgZGllIFNwZWljaGVyZ3JvZXNzZSBzdGltbXQuCkFsdGVybmF0aXYga2FubnN0IER1IGF1Y2ggZGFzIGFrdHVlbGxlIHNheCAob2RlciB6dW1pbmRlc3QgZGFzIHZvbiBzdXNlIDYuMikKbmVobWVuLCBkYXMgc29sbHRlIHVudGVyIDYuMSBob2ZmZW50bGljaCBsYXVmZW4sIHVuZCBkYXMgZXJrZW5udCBlaW4gcGFhcgpLYXJ0ZW4gbWVoci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxpbnV4IHVuZCBncmFmaWsgKEFwb3BoaXMsICAzLiBEZXogMTk5OSwgMjI6Mzg6MjIpOgp+IyEgcm49U21pbGV5IHJ0PTk0MzgzNTM1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM4MzUzNTcKc2F4IHN1Y2tzClhGODZTZXR1cCBpc3MgdmllbCBiZXNzZXIuCgpBcG9waGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxpbnV4IHVuZCBncmFmaWsgKEdyaW1tYm9ybiwgIDQuIERleiAxOTk5LCAwMDozMDo0Nik6Cn4jISBybj1BcG9waGlzIHJ0PTk0NDI1NzEwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM4MzUzNTcKS2xhci4gVm9yIGFsbGVtIHdlbm4gbWFuIHNpY2ggdmVydGlwcHQgaGF0IHVuZCBrb3JyaWdpZXJlbiBtb2VjaHRlLi4uCk5lbmUsIG5pbW0gRHUgZWluZW4gRWRpdG9yIERlaW5lciBXYWhsIChlZCB3dWVyZGUgc2ljaCBlbXBmZWhsZW4pIHVuZCBzY2hyZWliCmRpZSBYRjg2Q29uZmlnIHZvbiBIYW5kLiBXb3p1IHVlYmVyaGF1cHQgZWluIFNldHVwcHJvZ3JhbW0/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRleCAoU3RvcGRlbmJ1cywgIDQuIERleiAxOTk5LCAxNDowOToxNCk6CkhpIFRlWGlhbmVyICEKSW0gWnVnZSBtZWluZXIgUGh5c2lrbWl0c2NocmlmdCBtaXQgVGVYIHd1ZXJkIGljaCBnZXJuIHNjaGVtYXRpc2NoZSAKU3Ryb21rcmVpc2UgdW5kIHNvJ24gS3JhbSBlaW5iYXVlbi4gTXVzcyBpY2ggbWlyIGRpZSB6LmIuIGFscyBrbGVpbmVzCmdpZi1iaWxkY2hlbiAob2RlciB3YXMgYXVjaCBpbW1lciBmdWVyIGVpbiBGb3JtYXQpIG1hbGVuIHVuZCBkYW5uIGVpbmJpbmRlbgpvZGVyIGdpYnMgZGEgZXZlbnRsLiBuZSBhbmRlcmUgTW9lZ2xpY2hrZWl0ID8KU3RvcHBpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGV4IChab29rLCAgNC4gRGV6IDE5OTksIDE0OjE2OjAwKToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTQ0MzEyOTU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0NDMxMjk1NApFcyBnaWJ0IGRhIGdsYXViZSBpY2ggc28gZWluIFBhY2thZ2EgJ2NpcmMnLCBkYXMga2FubiBzbyBldHdhcy4gRGFydWViZXJoaW5hdXMKZ2lidHMgYXVjaCBub2NoIGVpbiBNYWtyb3Bha2V0ICdjaXJjdWl0X21hY3JvcycuIEFiZXIgZnJhZyBtaWNoIG5pY2h0LApvYiBkaWUgdG9sbCBzaW5kIG9kZXIgZWhlciBuaXggdGF1Z2VuLiBJY2ggaGFiIG51ciBtYWwgZ2VzZWhlbiwgZGFzcyBlcwpzb3dhcyBnaWJ0Li4uIDspKSkKCkdydXNzLCBab29rLgoKUC5TLjogTXVlc3N0ZW4gaW0gQ1RBTiB6dSBmaW5kZW4gc2Vpbi4gVVJMIGthbm4gaWNoIGJlaSBCZWRhcmYgcmF1c3N1Y2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGV4IChNb3Jnb25hdGUsICA0LiBEZXogMTk5OSwgMTc6NDE6MDApOgp+IyEgcm49Wm9vayBydD05NDQzMTMzNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ0MzEyOTU0Cm9kZXIgZHUgc2NocmVpYnN0IGRpciBzZWxiZXIgYmVmZWhsZSwgZGVubiB0ZXgga2FubiBpbSBrbGVpbmVuIG1hc3NlIGdyYWZpay4KbmFjaHp1bGVzZW4sIEtvcGthLCBFaW5mdWVocnVuZyBpbiBMYXRleCwgQmFuZCAxLCBLYXBpdGVsIDYKCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0ZXggKEFwc3UsICA0LiBEZXogMTk5OSwgMjI6NDk6MDgpOgp+IyEgcm49Wm9vayBydD05NDQzMTMzNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ0MzEyOTU0Ck5hY2ggbWVpbmVyIEVyZmFocnVuZyBpc3QgZXMgZWhlciB1bmVycXVpY2tsaWNoLCBtaXQgc29sY2hlbiAoTGEpVGVYLVBha2V0ZW4KenUgYXJiZWl0ZW4sIGRpZSBrb21wbGV4ZXJlIEdyYXBoaWtlbiBlcnN0ZWxsZW4gc29sbGVuLiBFcyBnaWJ0IHNpY2hlciBleHRyYQpMYXlvdXRwcm9ncmFtbWUsIGRpZSBkYXMga29lbm5lbi4KCkFwc3UsIGhhdCAxMDBlIHZvbiBGZXlubWFuZ3JhcGhlbiBtaXQgR2ltcCBlcnN0ZWxsdCwgd2VpbCBlcyB0cm90eiBkaXZlcnNlcgpQYWtldGUgZGFmdWVyIG5pY2h0IGhhbGIgc28gdW1zdGFlbmRsaWNoIGlzdCwgZGllIGRpbmdlciBwZXIgSGFuZCB6dSBiYXN0ZWxuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRleCAoU29yY2VyZXIsICA1LiBEZXogMTk5OSwgMjI6MTU6MjUpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05NDQzMTI5NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ0MzEyOTU0ClZlcnN1Y2ggZG9jaCBtYWwgeGZpZyAuLi4uIGRhIGthbm5zdCBEdSBEaXIgZGllIFN5bWJvbGUgZWlubWFsIGJhc3RlbG4gdW5kCmRhbm4gYWxzICJjb21wb3VuZCIgaW1tZXIgd2llZGVyIGluIGFsbGVuIE9yaWVudGllcnVuZ2VuIHZlcndlbmRlbi4uLi4KU29sbHRlLCB3ZW5uIG1hbiBhbGxlcyBXaWNodGlnZSBlaW5tYWwgZ2V6ZWljaG5ldCBoYXQsIHJlY2h0IGZsb3R0IGdlaGVuLgoKU29yY2VyZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxpbnV4IHVuZCBncmFmaWsgKFlhcmVuLCAgNi4gRGV6IDE5OTksIDE0OjAxOjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NDQyNjM4NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQzODM1MzU3CmVkaXRvcmVuIC4uLiBwZmZmdCAuLi4gd296dSBkZW5uIHNvd2FzLCB3ZW5uIG1hbiBhdWNoICJjYXQgPiAvZXRjL1hGODZDb25maWciCm1hY2hlbiBrYW5uPwoKWWFyZW4ga29ubnRlIHNpY2ggbmljaHQgenVydWVja2hhbHRlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxpbnV4IHVuZCBncmFmaWsgKEppbWRpZ3JpeiwgIDYuIERleiAxOTk5LCAxNzo1Njo1Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQ0MjYzODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MzgzNTM1NwoKWyBdIER1IGtlbm5zdCBYRjg2U2V0dXAhCgpXYXMgRHUgbWVpbnN0IGlzdCB4Zjg2Y29uZmlnLgpYRjg2U2V0dXAgaXN0IHNlbGJzdCBlaW4gWC1BcHBsaWthdGlvbiwgZGllIGRlbiBWR0ExNgpTZXJ2ZXIgc3RhcnRldCwgdW5kIG1lbnVlZ2VzdGV1ZXJ0IHp1IGJlZGllbmVuIGlzdC4KTWl0IHZlcnRpcHBlbiB0dXQgbWFuIHNpY2ggZGEgc2Nod2VyLgoKQW5zb25zdGVuIGlzdCBlaW4gZWRpdGllcmVuIHZvbiBIYW5kIGRlciBYRjg2Q29uZmlnCnp1c2FtbWVuIG1pdCBkZXIgZW50c3ByZWNoZW5kIG1hbnBhZ2UgaW4gZ2V3aXNzZW4KU2l0dWF0aW9uZW4gZHVyY2hhdXMgc2lubnZvbGwuCldlbm4gZGVyIFNlcnZlciBuYWVtbGljaCBwYXJ0b3V0IG5pY2h0IHdpbGwsIGtyaWVndAptYW4gYXVzIGRlciAvdXNyL1gxMVI2L2xpYi9YMTEveGRtL3hkbS1lcnJvcnMgbmFlbWxpY2ggZGllCkZlaGxlcm1lbGR1bmdlbiwgd2FzIG1hbiBzbyBmYWxzY2ggZ2VtYWNodCBoYWJlbiBrb2VubnRlLgpEaWUgU2V0dXAtdG9vbHMgc2luZCBhbGxlIG5pY2h0IHVuYmVkaW5ndCBwZXJmZWt0Li4uCgpDaWFvLAogSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbGludXggdW5kIGdyYWZpayAoTWFyY3VzLCAgNi4gRGV6IDE5OTksIDE5OjQ1OjA1KToKfiMhIHJuPUppbWRpZ3JpeiBydD05NDQ0OTk0MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQzODM1MzU3CkR1IG1laW5zdDogbGl6YXJkeCAuLi4gZGFubiBlaW4gcGFhciBtYWwgY2xpY2tlbiB1bmQgZmVydGlnLgoKQ2lhbywgTWFyY3VzIChPcGVuTGludXgpIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBsaW51eCB1bmQgZ3JhZmlrIChHcmltbWJvcm4sICA2LiBEZXogMTk5OSwgMjI6MjA6NDApOgp+IyEgcm49SmltZGlncml6IHJ0PTk0NDQ5OTQxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM4MzUzNTcKSWNoIGtlbm5lIFhGODZTZXR1cCB1bmQgaWNoIGtlbm5lIHhmODZjb25maWcuIEFsbGVyZGluZ3Mga2FubiBpY2ggZGllIG1hbmNobWFsCmJlaW0gZmx1ZWNodGlnZW4gTGVzZW4gbmljaHQgYXVzZWluYW5kZXJoYWx0ZW4uLi4gOy0pCgpXaWUgRHUgdm9uIGVpbmVtIG5pY2h0IGZ1bmt0aW9uaWVyZW5kZW4gWC9zZXJ2ZXIgYXVmIHhkbS9lcnJvcnMga29tbXN0IGlzdCBtaXIKYWxsZXJkaW5ncyBuaWNodCBrbGFyLCBkYXMgZWluZSBoYXQgbWl0IGRlbSBhbmRlcmVuIGVyc3RtYWwgbmljaHRzIHp1IHR1bi4gVW5kCk1vZGxpbmVzIGJhc3RlbCBpY2ggbnVyIGhvZWNoc3QgdW5nZXJuZSB2b24gSGFuZCwgd2VubiBpY2hzIHZlcmhpbmRlcm4ga2FubiwKYWJlciBpY2ggYmluIGphIGF1Y2ggZWluIFdhcm1kdXNjaGVyIChtZWluZXIgTWVpbnVuZyBuYWNoLCBhbmRlcmUgbW9lZ2VuIGRhcwphbHMga2FsdCBlbXBmaW5kZW4pLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBsaW51eCB1bmQgZ3JhZmlrIChKaW1kaWdyaXosICA3LiBEZXogMTk5OSwgMDk6MDk6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0NDUxNTI0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDM4MzUzNTcKCk1laXN0LCBhYmVyIG5pY2h0IGltbWVyIChkYSBoYXN0IER1IHJlY2h0KSwgd2lyZCBkZXIKWHNlcnZlciB2b20geGRtIGdlc3RhcnRldCwgaW4gZGllc2VtIEZhbGwgc2luZCBkaWUKRmVobGVybWVsZHVuZ2VuLCBkaWUgZGVyIFhzZXJ2ZXIgYXVzc3B1Y2t0LCB3ZW5uIGVyIG5pY2h0CmhvY2hrb21tdCBpbiBkZXIgeGRtLWVycm9ycyB6dSBmaW5kZW4uCgpGdWVyIGFuZGVyZSBGYWVsbGUsIHdpZSB4aW5pdC9zdGFydHggZXRjIGhhdCBtYW4gdVUKZGVuIG91dHB1dCBhdWYgZGVyIGNvbnNvbGUuLi4KCkRlaW5lIEFibmVpZ3VuZyBnZWdlbnVlYmVyIGRlbSBzZWxiZXJzdHJpY2tlbiB2b24KTW9kZWxpbmVzIGthbm4gaWNoIHBlcnNvZW5saWNoIGFic29sdXQgbmFjaGVtcGZpbmRlbiwKbmFjaGRlbSBpY2ggZXMgZWlubWFsIHRyb3R6IGF1c2Z1ZWhybGljaHN0ZXIgQW5sZWl0dW5nCmF1cyBkZW4gbWFucGFnZXMgYXVjaCBuaWNodCBoaW5iZWtvbW1lbiBoYWIuCkZ1ZXIgZGFzIExDRC1kaXNwbGF5IDgwMHg2MDAgZ2FicyBkYW1hbHMgaXJnZW5kd2llIG5vY2gKa2VpbmUgLi4uCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGxpbnV4IHVuZCBncmFmaWsgKEdyaW1tYm9ybiwgIDcuIERleiAxOTk5LCAxMTowODowNSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9OTQ0NTU0MTkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MzgzNTM1NwpXZW5uIGljaCBEaWNoIGRhIGluIGVpbmVtIERldGFpbCBiZXJpY2h0aWdlbiBkYXJmICh3ZWlsIER1IGphIGlpcmMga2VpbgpMaW51eGVyIGJpc3QpOiBYIHdpcmQgbWl0dGxlcndlaWxlIG1laXN0IChhYmVyIG5pY2h0IGltbWVyKSB2b24ga2RtIGdlc3RhcnRldC4KR2VsZWdlbnRsaWNoIGF1Y2ggdm9uIEhhbmQuIHhkbSBzY2hlaW50IG1pciB6aWVtbGljaCB0b3QgKGZ1ZXIgTGludXgpLgpJY2ggc2VsYmVyIGJpbiB2b20gU3RhcnQgcGVyIEhhbmQgenUga2RtIHVlYmVyZ2VnYW5nZW4uIFdlZ2VuIGRlciBjb29sZW4KTW9lZ2xpY2hrZWl0LCBkYSBCaWxkY2hlbiB2b24gamVkZW0gQmVudXR6ZXIgZWluenViaW5kZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKClAuUy4gSWNoIGtlbm5lIGplbWFuZGVuLCBkZXIgbWFsIGVyZm9sZ3JlaWNoIG1vZGxpbmVzIGdlYmFzdGVsdCBoYXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGxpbnV4IHVuZCBncmFmaWsgKEppbWRpZ3JpeiwgIDcuIERleiAxOTk5LCAxNjoyOToyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQ0NTYxMjg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0MzgzNTM1NwoKQmluIGljaCBuaWNodCwgYWJlciBpY2ggaGFiIGF1Y2ggbmVuIFJlY2huZXIgbWl0IEtERQpsYXVmZW4sIHdlaXNzIGFsc28gd2FzIGRhcyBpc3QuIEZ1ZXIgZGFzIEdub21lLURlc2t0b3AgZ2FlYnMKdWVicmlnZW5zIGF1Y2ggbmVuIGVpZ2VuZW4gZGlzcGxheS1tYW5hZ2VyIChnZG0sIGFjaCA7KSkKCkFsc28gaWNoIG1laW50ZSBkYXMgZWhlciBhbGxnZW1laW4sIGRhIGRpZSBJbXBsZW1lbnRpZXJ1bmdlbgplaW5lcyBEaXNwbGF5TWFuYWdlcnMgaS5XLiBkaWUgc2VsYmUgQXVmZ2FiZSBlcmZ1ZWxsZW4uCk9iIHNpY2ggZGFiZWkgZGllIEZpbGVuYW1lbiBkZXIgbG9nZmlsZXMgdW50ZXJzY2hlaWRlbgp3ZWlzcyBpY2ggbmljaHQsIHVuZCBpc3QgbWlyIGF1Y2ggZWdhbC4gCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHRleCAoQXBzdSwgIDguIERleiAxOTk5LCAxOToxMzoyMik6Cn4jISBybj1BcHN1IHJ0PTk0NDM0NDE0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDQzMTI5NTQKYWVoIHMvR2ltcC94ZmlnLwpBcHN1LCBhcmdlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiB0ZXggKFJhbnRhbnBsYW4sIDEwLiBEZXogMTk5OSwgMDQ6NTg6NTcpOgp+IyEgcm49QXBzdSBydD05NDQ2NzY4MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ0MzEyOTU0ClhmaWdjb25mCgpybSAtUiAqCnNldCAtbyB2aQovZWNobyBnZXQgbG9zdCBwdW5rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSQUlELUFycmF5IHVuZCBMaW51eCAoTW9yZ290aCwgMTAuIERleiAxOTk5LCAwOToyMjoyOSk6CkhpIExldXRlLAoKaWNoIGhhYiBlaW4gUHJvYmxlbSBtaXQgZGVtIEFkYXB0ZWMgQUFBLTEzMFUyIFJBSUQtQ29udHJvbGxlciB1bmQgTGludXggOy0oCkRhcyBBcnJheSBiZXN0ZWh0IGF1cyA0eDE4R0IgVVctU0NTSS1IRHMgdW5kIHNvbGwgYWxzIFJBSUQxIGJ6dy4gMC8xIGxhdWZlbi4KSWNoIGhhYiBkYXMgYWxsZXMgbWFsIGtvbmZpZ3VyaWVydCAoc293b2hsIG1hbnVlbGwgYWxzIGF1Y2ggYXV0b21hdGlzY2gpIHVuZApkYXMgc2llaHQgYW0gQW5mYW5nIGF1Y2ggZ2FueiBndXQgYXVzLiBXZW5uIGljaCBkYW5uIExpbnV4IHp1ciBJbnN0YWxsYXRpb24KYm9vdGUgYmVrb21tZSBpY2ggYWJlciBnYW56IG5vcm1hbCBkaWUgRGV2aWNlcyBzZGEtc2RkIGFuZ2V6ZWlndC4gV2VubiBpY2gKZGFyYXVmIGluc3RhbGxpZXJlIHNpbmQgZGllIFBsYXR0ZW4gYmVpbSBuYWVjaHN0ZW4gYm9vdGVuIG5pY2h0IG1laHIgaW0KUkFJRC1BcnJheS4gQWVoIGJ0dy4gU3VTRSA2LjIvNi4zLgpXYXMgaXN0IGRhIGZhbHNjaD8gSGF0IGplbWFuZCBuZSBJZGVlPz8KCk1vcmdvdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRPVFQgKFNoYXJpYSwgMTMuIERleiAxOTk5LCAwODoxOTozNik6CldlciBrZW5udCB2b24gRXVjaCBub2NoIERPVFQgRGF5IG9mIHRoZSBUZW50YWNsZSA/IGRlbiBOYWNoZm9sZ2VyIHZvbiBNYW5pYWMKTWFuc2lvbiA/CldlciBoYXQgenUgZGllc2VtIFNwaWVsIG5vY2ggZWluZSBhbHRlIEFubGVpdHVuZyBoZXJ1bWZsaWVnZW4gPyA6LSkKCk1haWwgYml0dCBhbiAtLT4gU2hhcmlhIAoKLi4uLiBQYXRlbnRlIHN1Y2hlbmQgLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERPVFQgKFBob2JvcywgMTQuIERleiAxOTk5LCAxNDoxMDowNSk6Cn4jISBybj1TaGFyaWEgcnQ9OTQ1MDY5NTc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0NTA2OTU3NgpXb3p1IGJyYXVjaHQgbWFuIGJlaSBkZW0gU3BpZWwgbmUgQW5sZWl0dW5nLCBpc3QgZG9jaCB2b2VsbGlnIGludHVpdGl2IC4uCm5hamEsIGJpcyBhdWYgZGllc2Uga29taXNjaGVuIEJpbGRjaGVuIGF1ZiBqZWRlciBTZWl0ZSA6KQoKUGhvYm9zIC0gc2NoYXV0IGdsZWljaCBtYWwgbmFjaCwgb2IgZGVyIEhhbXN0ZXIgaW4gZGVyIE1pa3Jvd2VsbGUgc2Nob24KYXVmZ2V0YXV0IGlzdCAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERPVFQgKFBpbGdyaW0sIDE0LiBEZXogMTk5OSwgMTQ6NDU6MjgpOgp+IyEgcm49UGhvYm9zIHJ0PTk0NTE3NzAwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDUwNjk1NzYKTGFuZyBuaWNodCBtZWhyIGdlc3BpZWx0LCB3YXM/IERhIHdhciBzb25uZSBBcnQgS29waWVyU2NodXR6IGRhYmVpLCB3byBtYW4KenVhbmZhbmcgd2FzIGltIExhYm9yIHp1c2FtbWVubWl4ZW4gbXVzcyB1bmQgZGFmdWVyIGJyYXVjaHRlIG1hbiBkaWUKQW5sZWl0dW5nICh3ZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXIpLgoKUGlsZ3JpbQoqLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRE9UVCAoUGhvYm9zLCAxNC4gRGV6IDE5OTksIDE0OjQ4OjM2KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTQ1MTc5MTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0NTA2OTU3NgpzY2hvbiBrbGFyLCBpcmdlbmR3YXMgbWl0IGthZXNlIHVuZCBvZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERPVFQgKFNoYXJpYSwgMTUuIERleiAxOTk5LCAxMjoyNTozNik6Cn4jISBybj1QaG9ib3MgcnQ9OTQ1MTc5MzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0NTA2OTU3Ngp0amEgOi0pCmljaCBoYWIgZGllIG9yaWdpbmFsZGlza2V0dGVuIHZvbiBkZW0gU3BpZWwgbnVyIGxlaWRlciBkaWUgQW5sZWl0dW5nIHZlcmxvcmVuCi4uLi4KZ2VuYXUgdW5kIGVzIHdhciBUb2FzdCBPZWwgRXNzaWcgdW5kIEdvbGQgOi0pCgpTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlzZG4gdW5kIGxpbnV4IChTbWlsZXksIDE5LiBEZXogMTk5OSwgMTM6NDQ6MDYpOgpIaSwKCmljaCB2ZXJzdWNoZSBlaW5lIEFWTS1BMSBQQ0ktS2FydGUgenUgaW5zdGFsbGllcmVuIG1pdCBTdVNlIDYuMwoKIFVudGVyIFlhc3QgZ2ViZSBpY2ggSGFyZHdhcmUgaW50ZWdyaWVyZW4gLyBJU0ROIGFuIHVuZAp3YWVobGUgRXVyby1JU0ROIHVuZCBBVk0gQTEgYXVzIHVuZCBzdGFydGUuLi4KRm9sZ2VuZGVzIHBhc3NpZXJ0OgoKIEZlaGxlcm1lbGR1bmc6ICAKL2xpYi9tb2R1bGVzLzIuMi4xMy9taXNjL2hpc2F4Lm86IGluaXRfbW9kdWxlOiAKRGV2aWNlIG9yIHJlc291cmNlIGJ1c3kKCiBpbiBWYXIvbG9nL21lc3NhZ2VzIHN0ZWh0OgoKIFNtaWxleSBrZXJuZWw6IEhpU2F4OiBMaW51eCBEcml2ZXIgZm9yIHBhc3NpdmUgSVNETiBjYXJkcwpTbWlsZXkga2VybmVsOiBIaVNheDogVmVyc2lvbiAzLjNjIChtb2R1bGUpClNtaWxleSBrZXJuZWw6IEhpU2F4OiBMYXllcjEgUmV2aXNpb24gMi4zNgpTbWlsZXkga2VybmVsOiBIaVNheDogTGF5ZXIyIFJldmlzaW9uIDIuMjAKU21pbGV5IGtlcm5lbDogSGlTYXg6IFRlaU1nciBSZXZpc2lvbiAyLjEzClNtaWxleSBrZXJuZWw6IEhpU2F4OiBMYXllcjMgUmV2aXNpb24gMi4xMAogU21pbGV5IGtlcm5lbDogSGlTYXg6IExpbmtMYXllciBSZXZpc2lvbiAyLjM5ClNtaWxleSBrZXJuZWw6IEhpU2F4OiBBcHByb3ZhbCBjZXJ0aWZpY2F0aW9uIHZhbGlkClNtaWxleSBrZXJuZWw6IEhpU2F4OiBBcHByb3ZlZCB3aXRoIEVMU0EgUXVpY2tzdGVwIHNlcmllcyBjYXJkcwpTbWlsZXkga2VybmVsOiBIaVNheDogQXBwcm92YWwgcmVnaXN0cmF0aW9uIG51bWJlcnM6CiBTbWlsZXkga2VybmVsOiBIaVNheDogR2VybWFuIEQxMzMzNjFKIENFVEVDT00gSUNUIFNlcnZpY2VzIEdtYkgKU21pbGV5IGtlcm5lbDogSGlTYXg6IEVVIChEMTMzMzYySikgQ0VURUNPTSBJQ1QgU2VydmljZXMgR21iSApTbWlsZXkga2VybmVsOiAgSGlTYXg6IEFwcHJvdmVkIHdpdGggRWljb24gVGVjaG5vbG9neSBEaXZhIDIuMDEgUENJIGNhcmRzClNtaWxleSBrZXJuZWw6IEhpU2F4OiBUb3RhbCAxIGNhcmQgZGVmaW5lZApTbWlsZXkga2VybmVsOiBIaVNheDogQ2FyZCAxIFByb3RvY29sIEVEU1MxIElkPUhpU2F4ICgwKQpTbWlsZXkga2VybmVsOiBIaVNheDogQVZNIGRyaXZlciBSZXYuIDIuMTEKIFNtaWxleSBrZXJuZWw6IEhpU2F4OiBBVk0gQTEgaHNjeCBBIGZpZm8gcG9ydCAwIGFscmVhZHkgaW4gdXNlClNtaWxleSBrZXJuZWw6IEhpU2F4OiBDYXJkIEFWTSBBMSBub3QgaW5zdGFsbGVkICEKU21pbGV5IGtlcm5lbDogSVNETi1zdWJzeXN0ZW0gdW5sb2FkZWQKCiBEYSBpY2gga2VpbmUgQWhudW5nIGhhYmUgd2FzIGRhcyBtaXQgZGVtIEZpZm8tUG9ydCBhdWYgc2ljaCBoYXQKKG9rLCBmaXJzdCBpbiBmaXJzdCBvdXQtVGVjaG5payBzYWd0IG1pciBzY2hvbiB3YXMsIGFiZXIgd2FydW07IGlzdCBkaWVzZXIKUG9ydCBnZXNwZXJydCwgZHVyY2ggd2VsY2hlcyBQcm9ncmFtbSBvZGVyIHdlbGNoZTsgRWluc3RlbGx1bmcgPykgYnJhdWNoZSBpY2gKSGlsZmUuIApXaWUgYmVrb21tZSBpY2ggZGllIEFWTS1LYXJ0ZSBkb2NoIG5vY2ggenVtIGxhdWZlbiA/CgogR3J1c3MsClNtaWxleQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpc2RuIHVuZCBsaW51eCAoUnVtYXRhLCAyMC4gRGV6IDE5OTksIDEyOjA4OjAxKToKfiMhIHJuPVNtaWxleSBydD05NDU2MDc0NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ1NjA3NDQ2CkltIEJpb3MgZGVuIFBucCBTY2hlaXNzIGF1c3NjaGFsdGVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJBSUQtQXJyYXkgdW5kIExpbnV4IChTdG9wZGVuYnVzLCAyNi4gRGV6IDE5OTksIDE0OjQ4OjI5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTQ0ODE0MTQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0NDgxNDE0OQpzY2hhdSBtYWwgbmFjaCwgb2IgZXMgdW50ZXIgL2V0YyBlaW5lIGRhdGVpIG5hbWVucyBtZHRhYiBoYXQuIHdlbm4gbmV0LApkYW5uIGhhc3QgZHUgc2Nob24gbWFsIGRlbiBzY2h1bGRpZ2VuLiBJbiBtZWluZXIgc3RlaHQgdWVicmlnZW5zCi9kZXYvbWQwICAgICAgICByYWlkMCw0aywwLDg3MWE3OTkwICAgICAvZGV2L2hkYTIgL2Rldi9oZGMyIApkcmluLCBiZWkgZGlyIG11ZXNzdCBlcyBkYW5uIGFlaG5saWNoIHNlaW4sIGJpcyBoYWx0IGF1ZiBkaWUgcGxhdHRlZGV2aWNlcwp3ZW5uIChzdXNlKS1saW51eCBkaWUgZGF0ZWkgYmVpbSBib290ZW4gZmluZGV0LCB3aXJkIGF1dG9tYXRpc2NoIGRhcyAKYXJyYXkgaW5pdGlhbGlzaWVydCB1bmQgZ2Vtb3VudGV0LgoKU3RvcHBpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHYW1lRHJpdmVyIChUaWFtYWssIDExLiBKYW4gMjAwMCwgMTQ6MDU6NDEpOgpIaWhvIQoKSWNoIGhhYmUgaGV1dGUgZGVuIGFrdHVlbGwgaW0gTUcgbGF1ZmVuZGVuIChpbSBTaW5uZSB2b246IGZ1bmt0aW9uaWVyZW5kZW4gOy0pCkdhbWVEcml2ZXIgYXVmIGRlbiBGVFAtU2VydmVyIGdlbGVndC4gU293b2hsIGFscyBTb3VyY2UgYWxzIGF1Y2ggYWxzIEJpbmFyeQpmdWVyIExpbnV4LgoKSWNoIHd1ZXJkZSBkZW4gRHJpdmVyIGF1Y2ggZ2VybmUgZnVlciBhbmRlcmUgQmV0cmllYnNzeXN0ZW1lIHp1bSBEb3dubG9hZAphbmJpZXRlbi4gTnVyIHdlaXNzIGljaCB3ZWRlciwgd2VsY2hlIFN5c3RlbWUgZ2V3dWVuc2NodCB3ZXJkZW4sIG5vY2ggaGFiZSBpY2gKZGllIE1vZWdsaWNoa2VpdGVuLCBhdWYgYWxsZW4gU3lzdGVtZW4gc2VsYmVyIGVudHNwcmVjaGVuZGUgQmluYXJpZXMgenUKZXJzdGVsbGVuLiBEYWhlciB6d2VpIEZyYWdlbjoKCjEpIEZ1ZXIgd2VsY2hlIEJldHJpZWJzc3lzdGVtZSB3ZXJkZW4gdWViZXJoYXVwdCBCaW5hcmllcyBnZXd1ZW5zY2h0PwpBbnR3b3J0ZW4gYml0dGUgbW9lZ2xpY2hzdCBwZXIgTWFpbCBhbiBtaWNoLiBJY2ggaGFiZSBuaWNodCB2b3IsIHp1IGV4b3Rpc2NoZQpFaW56ZWwtL1NvbmRlcnd1ZW5zY2hlIHp1IGVyZnVlbGxlbi4gOy0pCgoyKSBXZXIgc3RlbGx0IHNpY2ggenVyIFZlcmZ1ZWd1bmcsIGZ1ZXIgInNlaW4iIEJldHJpZWJzc3lzdGVtIGVpbiBCaW5hcnkgZGVzCmFrdHVlbGxlbiBEcml2ZXJzIHp1IGVyc3RlbGxlbiwgZGFtaXQgaWNoIGVzIGF1ZiBkZW4gRlRQLVNlcnZlciBsZWdlbiBrYW5uPwoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3Rhck9mZmljZSA1LnggdW5kIFZCQSAoQm9pbmcsIDE3LiBKYW4gMjAwMCwgMjE6NDc6MTkpOgp+IyEgb249RGFtaWVuIG90PTk0ODExMDA3MSBvZz1hbGxnZW1laW5lcwpIaSEKSWNoIGFyYmVpdGUgZ2VyYWRlIGFuIGVpbmVtIFByb2plY3QgenVyIERhdGVuYmFua3ZlcndhbHR1bmcgdW50ZXIgU3Rhck9mZmljZQo1LnggdW5kIGhhYmUgZWluIGRyaW5nZW5kZXMgUHJvYmxlbS4gU2VpdCBkZXIgVW1zdGVsbHVuZyB2b24gVmVyc2lvbiA1LjAgYXVmCjUuMSBmdW5rdGlvbmllcnQgZGVyIEJlZmVobCBBcHBsaWNhdGlvbi5EYXRhQXBwZW5kUmVjb3JkIG5pY2h0IG1laHIgc28gd2llCmZydWVoZXIuIEhhdCBqZW1hbmQgZGF2b24gQWhudW5nIHVuZCBrYW5uIG1pciBlaW5lbiBUaXAgZ2ViZW4gd2FzIHNpY2gKZ2VhZW5kZXJ0IGhhdD8gV2VubiBqYSBiaXR0ZSBwZXIgZS1tYWlsIGFuIGtvbnRha3RAYmV5ZXItaW5nZW5pZXVyZS5kZS4gRnVlcgpkZW4gRmFsbCBkYXMgZGFzIGpldHp0IHZlcnN0dWVtbWVsdCB3YXI6IGtvbnRha3RAYmV5ZXItaW5nZW5pZXVyZS5kZQpEYW5rZSwgRGFtaWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3UgKEdub21lLCAyMC4gSmFuIDIwMDAsIDIzOjI1OjE2KToKaGksCgp3ZW5uIGljaCBtaWNoIGF1ZiBtZWluZW0gbGludXggc3VzZSA2LjAgYWxzIG5vcm1hbGVyIHVzZXIgZWlubG9nZ2UgdW5kCm1pY2ggc3BhZXRlciBlbnRzY2hlaWRlLCBhbHMgc3UgenUgYXJiZWl0ZW4sIHNvIGRhdWVydCBkYXMgZWlubG9nZ2VuCmFscyBzdSB1bmdld29laG5saWNoIGxhbmdlIChjYS4gMSBtaW4pLgoKd2Vpc3Mgam1kLCB3b3JhbnMgbGllZ3Q/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN1IChHcmltbWJvcm4sIDIxLiBKYW4gMjAwMCwgMTI6NDk6MTYpOgp+IyEgcm49R25vbWUgcnQ9OTQ4NDA3MTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODQwNzExNgpEdSBtYWNoc3QgYWxzbyBlaW4gInNzaCBzdUBsb2NhbGhvc3QiPwpXYXMgc2FndCBkZW5uIC92YXIvbG9nL21lc3NhZ2VzLCB3ZW5uIER1IGVpbmVuIHNjaHdhY2hlbiBSZWNobmVyIGhhc3QgdW5kIGVyc3QKZWluIGtleSBlcnN0ZWxsdCB3ZXJkZW4gbXVzcyB3YWVyZSBkYXMgZWluZSBFcmtsYWVydW5nLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQREYtRm9ybWF0IChTaWx2YW5hLCAyMy4gSmFuIDIwMDAsIDE0OjQ5OjEzKToKU2FsdmUKCktlbm50IHp1ZmFlbGxpZyBqZW1hbmQgZWluIGJyYXVjaGJhcmVzLCBrb3N0ZW5ndWVuc3RpZ2VzIFByb2dyYW1tLCBtaXQgZGVtIG1hbgouUERGIERhdGVpZW4gZXJ6ZXVnZW4ga2Fubj8gRGllIGRyZWkgQWx0ZXJuYXRpdmVuLCBkaWUgaWNoIGtlbm4sIHNpbmQgYXVzCnZlcnNjaGllZGVuZW4gR3J1ZW5kZW4gZnVlciBtaWNoIHVuYnJhdWNoYmFyOgoKLSBBY3JvYmF0IGlzdCBtaXIgenUgdGV1ZXIKLSBUZVggdG8gcGRmIHNjaGVpdGVydCBhbiBtZWluZW4gbmljaHQgdm9yaGFuZGVuZW4gVGVYLUtlbm50bmlzc2VuCi0gdlBkZkNyZWF0b3IgKGF1cyBkZXIgYyd0IHNoYXJld2FyZSBDRCkgdGF1Z3QgbmljaHQgb2RlciBpc3QgbmljaHQKYXVzcmVpY2hlbmQgZG9rdW1lbnRpZXJ0LgoKQW55b25lLi4uPwoKQW5zb25zdGVuIGtvZW5udGUgaWNoIHdvaGwgYXVjaCB3YXMgbWl0IGVpbmVyIGdlbmF1ZW4gU3BlemlmaWthdGlvbiB2b24KLnBkZi1EYXRlaWVuIGFuZmFuZ2VuLCBmYWxscyBqZW1hbmQgd2Vpc3MsIHdvaGVyIG1hbiBzb3dhcyBiZWtvbW1lbiBrYW5uLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUERGLUZvcm1hdCAoTWFyY3VzLCAyMy4gSmFuIDIwMDAsIDE1OjQ3OjI5KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ4NjM1MzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwpnaG9zdHNjcmlwdCwgZGV2aWNlOiBwZGZ3cml0ZQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBERi1Gb3JtYXQgKEdyaW1tYm9ybiwgMjMuIEphbiAyMDAwLCAxNTo0OTozNyk6Cn4jISBybj1NYXJjdXMgcnQ9OTQ4NjM4ODQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwpFcyBnaWJ0IGF1Y2ggZGFzIHBzMnBkZi4KCktlaW5lIEFobnVuZywgb2IgZGFzIHdhcyB0YXVndC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUERGLUZvcm1hdCAoUHJhLCAyNC4gSmFuIDIwMDAsIDE1OjMzOjA5KToKfiMhIHJuPUFwc3UgcnQ9OTQ4NzA5NTE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1Mwp3YXMgaGF0IGRlbm4gcHMycGRmIG1pdCBMYVRlWCB6dSB0dW4/IEljaCBoYWIgcHMycGRmIGdlcmFkZSBtYWwgYXVzcHJvYmllcnQKdW5kIGVzIGxpZWZlcnQgZWluIGFremVwdGFibGVzIEVyZ2VibmlzLiBJc3QgYWJlciBudXIgZWluZSBTdGljaHByb2JlLgoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUERGLUZvcm1hdCAoU2lsdmFuYSwgMjQuIEphbiAyMDAwLCAyMzoxMDo0MCk6Cn4jISBybj1QcmEgcnQ9OTQ4NzI0Mzg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwpGdWVyIGFsbGUsIGRpZSBhdWNoIG1hbCBpbiBkaWUgVmVybGVnZW5oZWl0IGtvbW1lbiwgc293YXMgenUgYnJhdWNoZW46ClBTLWZhZWhpZ2VuIERydWNrZXJ0cmVpYmVyIGluc3RhbGxpZXJlbiwgaW5zIEZpbGUgZHJ1Y2tlbi4KRGFubiBtaXQgR2hvc3R2aWV3IGxhZGVuIHVuZCBpbSBwZGYtRm9ybWF0IHdpZWRlciBpbnMgRmlsZSBkcnVja2VuLgpHZWh0IHVudGVyIExpbnV4IF91bmRfIHVudGVyIFdpbioKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUERGLUZvcm1hdCAoQWxpbmUsIDI1LiBKYW4gMjAwMCwgMTA6MjI6MDYpOgp+IyEgcm49U2lsdmFuYSBydD05NDg3NTE4NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ4NjM1MzUzCgpGdWVyIGFsbGUsIGRpZSBlaW5lbiBNYWMgaGFiZW46CkVzIGdpYnQgZWluZW4gRHJ1Y2tlcnRyZWliZXIsIGRlciBnbGVpY2ggUERGIGF1c2dpYnQuIEVzIHdpcmQgaGFsdAplaW4gUERGLUZpbGUgZ2VkcnVja3QuCgpBbGluZQoKU0NOUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUERGLUZvcm1hdCAoTW9yZ29uYXRlLCAyNS4gSmFuIDIwMDAsIDE1OjUxOjI2KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ4NzUxODQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwpWZXJmYWhyZW4gZ2VodCB6d2FyIHVudGVyIGJlaWRlbiBCZXRyaWVic3N5c3RlbWVuLCBhYmVyIGljaCBiaW4gbWl0IGRlbQpXaW4qLUVyZ2VibmlzIG1laXN0IHVuenVmcmllZGVuLCBpbnNiZXNvbmRlcmUgYmVpIG5pY2h0LVN0YW5kYXJ0LVNjaHJpZnRlbi4KCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUERGLUZvcm1hdCAoTXVwZmVsLCAyNS4gSmFuIDIwMDAsIDE4OjEyOjM3KToKfiMhIHJuPUFsaW5lIHJ0PTk0ODc5MjEyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDg2MzUzNTMKZ2lidHMgZnVlciB3aW5kb29mIGF1Y2gKCm0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUERGLUZvcm1hdCAoTG91LCAyNi4gSmFuIDIwMDAsIDEzOjA1OjAwKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ4NjM1MzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwoKU2NpZW50aWZpYyBXb3JkCgpMb3UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBERi1Gb3JtYXQgKEhyZWlkbWFyLCAyNi4gSmFuIDIwMDAsIDE0OjU2OjMwKToKfiMhIHJuPUxvdSBydD05NDg4ODgzMDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ4NjM1MzUzClNjaWVudGlmaWMgV29yZD8gRGFzIGlzdCBkb2NoIG5peCBhbmRlcmVzIGFscyBlaW5lIE9iZXJmbGFlY2hlIGZ1ZXIgTGFUZVgsCm9kZXI/IFp1ZGVtIGF1Y2ggbm9jaCB2b2VsbGlnIHVlYmVydGV1ZXJ0LiBBbHMgaWNoIGRhcyB2b3IgZWluIHBhYXIgSmFocmVuCmdlc2VoZW4gaGFiZSwga29zdGV0ZSBlaW5lIEVpbnplbGxpemVueiB1ZWJlciAxMDAwIERNLiBVbmQgTGFUZVggbXVzc3RlIG1hbgpkYW5uIG5vY2ggc2VsYnN0IG9yZ2FuaXNpZXJlbi4uLgoKSHJlaWRtYXIsIHNrZXB0aXNjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBERi1Gb3JtYXQgKEFjcmltb24sIDI2LiBKYW4gMjAwMCwgMjA6NDE6MjgpOgp+IyEgcm49SHJlaWRtYXIgcnQ9OTQ4ODk0OTkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0ODYzNTM1MwpEYSBlcyBzb3dpZXNvIEx5WCBnaWJ0LCAobHVmdCB1bnRlciBkZXIgR05VLUxpemVueikgYnJhdWNodCBtYW4ga2VpbgoiU2NpZW50aWZpYyBXb3JkIiBtZWhyLgoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUERGLUZvcm1hdCAoVHJhbmNlLCAyNy4gSmFuIDIwMDAsIDIzOjIyOjUxKToKfiMhIHJuPUFsaW5lIHJ0PTk0ODc5MjEyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDg2MzUzNTMKSG0sIGZ1ZXIgV2luZG93cy1BbndlbmRlcjoKCmthdWYgZGlyIHouQi4gbmVuIEVwc29uIFN0eWx1cyA3NDAgb2RlciBzb3dhcyBpbiBkZXIgUkljaHR1bmcuIERhIGxpZWd0IEFkb2JlClBob3RvRGVsdXhlIGJlaSwgCmRhcyBpbnN0YWxsaWVydCBhdWNoIGVpbmVuIFBERi1EcnVja2VyLiBEZXIgaW5zdGFsbGllcnQgaW4gT2ZmaWNlIHNvZ2FyCkJ1dHRvbnMsCmFiZXIgbWFuIGthbm4gdm9uIGplZGVtIFByb2cgYXVzIGRyYXVmIGRydWNrZW4hCgpUcmFuY2UsIHZvbiBoaW50ZW4gZHVyY2ggZGllIEJydXN0IC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjJrbGVpbmUgcHJvYnMgbWl0IHdpbiAoU29uZ29rdSwgIDEuIEZlYiAyMDAwLCAxNDowMDo0Myk6CnRqYSBpY2ggaGFldHRlIGRhIDIga2xlaW5lIHByb2JsZW1lCgoxLiB3aWUga2FubiBpY2ggZGllc2VzIGRhZW1saWNoZSBhdXRvc3RhcnQgYWJzY2hhbHRlbiwgd2FzIG1pciBpbW1lciBkaWUgY2RzCmJlaSB3aW4gc3RhcnRldAoKMi4gYmV6aWVodCBzaWNoIHRlaWx3ZWlzZSBhdXMgMS4gaW1tZXIgd2VubiBkaWVzZXMgYXV0b3N0YXJ0IG5lIGNkIGZ1ZXIKbWVocmVyZSBiZXRyaWVic3N5c3RlbWUgaG9jaGZhZWhydCAoei5CLiBkaWUgY3QgY2QpIHN0YXJ0ZXQgZXMgZGllCmVudHNwcmVjaGVuZGVuIHByb2dyYW1tZSAzLTQgbWFsIHVuZCBoYWVuZ3Qgc2ljaCBkZXN3ZWdlbiBmYXN0IGF1ZiAobmFjaCAxMAptaW51dGVuIGthbm4gbWFuIGRhbm4gbWFsIHdhcyBtYWNoZW4pCgpoYXQgamVtYW5kIG5lIGFobnVuZywgd2FzIG1hbiBkYSBtYWNoZW4ga2Fubj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAya2xlaW5lIHByb2JzIG1pdCB3aW4gKE1haGF0bXUsICAxLiBGZWIgMjAwMCwgMTQ6MDk6NTEpOgp+IyEgcm49U29uZ29rdSBydD05NDk0MTAwNDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ5NDEwMDQzCjEuIFdpbmRvd3MgZGVpbnN0YWxsaWVyZW4KICAgYnp3LiBlaW5lcyBkZXIgdmllbGZhZWx0aWdlbiBUb29scyAoV2ludHVuZSBvLmFlLikgaW0gTmV0eiBzdWNoZW4gdW5kCiAgIGRhenUgbnV0emVuIHVtIGluIGRlciBSZWdpc3RyeSBkaWUgbWlyIGpldHp0IG5pY2h0IG5hZW1lbnRsaWNoCiAgIGJla2FubnRlbiBTY2hsdWVzc2VsIHVtenVzZXR6ZW4KMi4gV2luZG93cyBkZWluc3RhbGxpZXJlbgoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAya2xlaW5lIHByb2JzIG1pdCB3aW4gKFNvbmdva3UsICAxLiBGZWIgMjAwMCwgMTQ6MTE6NTUpOgp+IyEgcm49TWFoYXRtdSBydD05NDk0MTA1OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ5NDEwMDQzCmhvZXJ0IHNpY2ggZ3V0IGFuIGRlciB2b3JzY2hsYWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDJrbGVpbmUgcHJvYnMgbWl0IHdpbiAoQmFib29uLCAgMS4gRmViIDIwMDAsIDE0OjEzOjU1KToKfiMhIHJuPU1haGF0bXUgcnQ9OTQ5NDEwNTkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTQxMDA0MwpJY2ggbWVpbmUgbWljaCBkdW5rZWwgenUgZXJpbm5lcm4sIGRhenUgbWFsCndhcyBpbiBlaW5lciBjJ3QgZ2VsZXNlbiB6dSBoYWJlbi4gV2VubiBtaWNoIG5pY2h0CmFsbGVzIHRhZXVzY2h0IGJyYXVjaHQgbWFuIGZ1ZXIgZGFzIEFic3RlbGxlbiBkZXMKYXV0b3N0YXJ0IEF1c25haG1zd2Vpc2UgbWFsIG5pY2h0IGluIGRlciByZWdpc3RyeQpydW16dXBmdXNjaGVuLCBzb25kZXJuIGVzIGdpYnQgaXJnZW5kd28gZWluZQpNZW51ZW9wdGlvbi4gVmllbGxlaWNodCB1bnRlciBzdGFydG1lZW51ZSBvZGVyIHNvLgpWaWVsbGVpY2h0IHN0ZWh0IGphIGF1Y2ggd2FzIGluIGRlciBoaWxmZSB1bnRlciAKQXV0b3N0YXJ0PwoKQmFib29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAya2xlaW5lIHByb2JzIG1pdCB3aW4gKE1haGF0bXUsICAxLiBGZWIgMjAwMCwgMTQ6MTQ6NDApOgp+IyEgcm49QmFib29uIHJ0PTk0OTQxMDgzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDk0MTAwNDMKTGV0enRlbmRsaWNoIGxhbmRldCBlcyBlaCBudXIgaW4gZGVyIFJlZyA6KQoKTWFoYXRtdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogMmtsZWluZSBwcm9icyBtaXQgd2luIChHcmltbWJvcm4sICAxLiBGZWIgMjAwMCwgMTU6MjQ6NDcpOgp+IyEgcm49TWFoYXRtdSBydD05NDk0MTA4ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ5NDEwMDQzClRzdHN0cywgZGFzcyBhdXNnZXJlY2huZXQgaWNoIG1pdCBkZXIgTG9lc3VuZyBhbmtvbW1lbiBtdXNzLi4uCgpLb250ZXh0bWVudWUgZGVzIEFyYmVpdHNwbGF0emVzLCBFaWdlbnNjaGFmdGVuLCBIYXJkd2FyZWlyZ2VuZHdhcywKQ0QtTGF1ZndlcmssIEVpZ2Vuc2NoYWZ0ZW4sIEF1dG9zdGFydCBhdXNzY2hhbHRlbi4KCldpbmRvd3MgZGVpbnN0YWxsaWVyZW4gaXN0IG5hdHVlcmxpY2ggYXVjaCBlaW5lIHZlcm51ZW5mdGlnZSBBbHRlcm5hdGl2ZS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAya2xlaW5lIHByb2JzIG1pdCB3aW4gKEFuYXRvbCwgIDEuIEZlYiAyMDAwLCAxNToyNjo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQ5NDE1MDg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTQxMDA0MwpXZW5uIER1IHNjaG9uIHNvIHNjaGxhdSBiaXN0OiBHaWJ0IGVzIGF1Y2ggZWluZSBPcHRpb24sIGRpZSBiZWkgZW5oYW5jZWQKQXVkaW8tQ0RzIGRpZSBNdXNpay1UcmFja3MgaW0gRXhwbG9yZXIgZXJzY2hlaW5lbiBsYWVzc3QgLSB1bmQgbmljaHQgZGFzCmRhenVnZWtsYXRzY2h0ZSBGaWxlc3lzdGVtPyA6bykKCkFuYXRvbCAtIHNhaCBzZWluIFdpbkFtcCB2ZXJ6d2VpZmVsbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IDJrbGVpbmUgcHJvYnMgbWl0IHdpbiAoT2xsaSwgIDIuIEZlYiAyMDAwLCAwMTo0MDoxMSk6Cn4jISBybj1BbmF0b2wgcnQ9OTQ5NDE1MjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTQxMDA0MwpJcmdlbmR3byBoYXR0ZSBpY2ggbWFsIGVpbmVuIEVyc2F0eiBmdWVyIGRpZSBDREZTLlZYRCBnZXNlaGVuLApkaWUgZ2VuYXUgZGFzIGdlbWFjaHQgaGF0LiBNYW4ga29ubnRlIGRpZSBUcmFja3MgZGFubiBpbQpXYXZlLUZvcm1hdCBtaXRtIEV4cGxvcmVyIHJ1bnRlcmtvcGllcmVuLiBKZXR6dCBmcmFnIGFiZXIgYml0dGUKbmljaCwgd28gOykpIEFiZXIgZ2ViZW4gdHV0cyBkYXMgYXVmIGplZGVuIEZhbGwuCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMmtsZWluZSBwcm9icyBtaXQgd2luIChTYW10cGZvdGUsICAyLiBGZWIgMjAwMCwgMDg6Mzg6NDMpOgp+IyEgcm49U29uZ29rdSBydD05NDk0MTAwNDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ5NDEwMDQzCgpUYXN0ZSBXaW5kb3dzLUJyZWFrIGRydWVja2VuIChhbHRlcm5hdGl2IFN5c3RlbXN0ZXVlcnVuZ3xTeXN0ZW0sIG9kZXIgcmVjaHRlCk1hdXN0YXN0ZSBBcmJlaXRzcGxhdHppY29ufEVpZ2Vuc2NoYWZ0ZW4pIC0+IEdlcmFldGVtYW5hZ2VyIG9lZmZuZW4uCgpEYW5hY2ggZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVpbmVzIENELVJPTXMgYW53YWVobGVuIHVuZCBkYXMgJ0F1dG9tYXRpc2NoZQpCZW5hY2hyaWNodGVuIGJlaW0gV2VjaHNlbG4nIGF1c2tyZXV6ZW4uCgpBbHRlcm5hdGl2ZTogUG93ZXJUb3lzIGluc3RhbGxpZXJlbiB1bmQgZG9ydCBiZWltIEthcnRlaXJlaXRlciAnQ0QtUk9NJyBkYXMKJ0F1dG9wbGF5JyBhYnNjaGFsdGVuLgoKU2FtdHBmb3RlLiBnaWJ0IG1hbCBoZXV0ZSBpbiBkZXIgZnJ1ZWggbmVuIFRpcCBncmF0aXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaGVtaWUgKFNoYXJpYSwgIDMuIEZlYiAyMDAwLCAxMDoyOTowMSk6CgpJY2ggc3VjaGUgZWluIFByb2dyYW1tIHVudGVyIFdpbmRvd3Mgd2VsY2hlcyBhdWYgcmVsYXRpdiBlaW5mYWNoZSBBcnQgdW5kCldlaXNlIE9yZ2FuaXNjaGUgRm9ybWVsbiBkYXJzdGVsbGVuIGthbm4gLi4gZC5oLiBmdWVyIFRleHR2ZXJhcmJlaXR1bmdlbiB6dXIKVmVyZnVlZ3VuZyBzdGVsbGVuIGthbm4gLi4gQWxzbyBCZW56b2xyaW5nZSBkYXJzdGVsbGVuIGV0Yy4KRnVlciBMaW51eCBoYWIgaWNoIHNjaG9uIHNvd2FzIGdlZnVuZGVuIC4uIGZ1ZXIgV2luZG93cyBzdWNoIGljaHMgYWJlciBub2NoCjotKQoKQml0dGUgTWFpbCBhbiBLYXJsQE1ldW5pZXIuZGUKCkdydXNzIFNoYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENoZW1pZSAoVGh1ZmhpciwgIDMuIEZlYiAyMDAwLCAxNToyNTowMSk6Cn4jISBybj1TaGFyaWEgcnQ9OTQ5NTcwMTQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTU3MDE0MQoKSXNpcy9EcmF3OgoKaHR0cDovL3d3dy5tZGxpLmNvbS9jZ2kvZHluYW1pYy9kb3dubG9hZHNlY3QuaHRtbD91aWQ9JHVpZCZrZXk9JGtleSZpZD0xCgpHcnVzcywgVGh1ZmhpcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0QgYnJlbm5lbiAoU2lsdmFuYSwgIDcuIEZlYiAyMDAwLCAxMzozNzowNCk6ClNhbHZlCgpLZW5udCBqZW1hbmQgdm9uIEV1Y2ggdmllbGxlaWNodCBlaW4gUHJvZ3JhbW0sIGRhcyBhdWNoIExpdmUtQXVmbmFobWVuIGF1ZiBuZQpBdWRpby1DRCBicmVubmVuIGthbm4sIG9obmUgZGllc2UgbGFlc3RpZ2VuIDIgc2VjIFBhdXNlIHp3aXNjaGVuIGRpZSBTdHVlY2tlCnp1IGhhdWVuLiBBY2ggamEsIHVudGVyIFdpbjk4IG9kZXIgV2luTlQgbXVzcyBlcyBsYXVmZW4sIGxlaWRlci4gCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ0QgYnJlbm5lbiAoVGh1ZmhpciwgIDcuIEZlYiAyMDAwLCAxMzozNzo1NCk6Cn4jISBybj1TaWx2YW5hIHJ0PTk0OTkyNzAyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NDk5MjcwMjQKZWlnZW50bGljaCBqZWRlcyBwcmVubnByb2dyYW1tICh6YiB3aW5vbmNkKSBtYW4gbXVzcyBudXIgImRpc2sgYXQgb25jZSIKZWluc3RlbGxlbi4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDRCBicmVubmVuIChQaWxncmltLCAgNy4gRmViIDIwMDAsIDIwOjA3OjQ2KToKfiMhIHJuPVRodWZoaXIgcnQ9OTQ5OTI3MDc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTkyNzAyNAo+IGVpZ2VudGxpY2ggamVkZXMgcHJlbm5wcm9ncmFtbSAoemIgd2lub25jZCkgbWFuIG11c3MgbnVyICJkaXNrIGF0IG9uY2UiCj4gZWluc3RlbGxlbi4uLiA7KQpVbmQgYmVpIGRlbiBlaWdlbnNjaGFmdGVuIGRlciBGaWxlcyAoYWxsZSkgImtlaW5lIDIgU2VrLiBQYXVzZSIgYWt0aXZpZXJlbgooenVtaW5kZXN0IGlzdCBkYXMgYmVpIDMuNSBPRU0gc28pIC4uLgoKUGlsZ3JpbQooYmVpIE5lcm8gZ2VodCBkYXMgYWVobmxpY2ggLi4uIHVuZCBGZXVyaW8ga2FubiBkYXMgYmVzdGltbXQgYXVjaCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENEIGJyZW5uZW4gKEFwb3BoaXMsICA3LiBGZWIgMjAwMCwgMjA6NTM6MTgpOgp+IyEgcm49UGlsZ3JpbSBydD05NDk5NTA0NjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTQ5OTI3MDI0CnVuZCBkZXIgQnJlbm5lciBtdXNzIGhhbHQgREFPIHVudGVyc3R1ZXR6ZW4uLi4KCkFwb3BoaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRCBicmVubmVuIChPbGxpLCAgOC4gRmViIDIwMDAsIDAwOjEwOjM5KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ5OTI3MDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTkyNzAyNApIaSwKCmFscyBndXRlcyBBdWRpb2JyZW5ucHJvZ3JhbW0ga2FubiBpY2ggRmV1cmlvIGVtcGZlaGxlbi4KSHR0cDovL3d3dy5mZXVyaW8uZGUvCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ0QgYnJlbm5lbiAoTG91LCAgOC4gRmViIDIwMDAsIDA5OjQ4OjU1KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ5OTI3MDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTkyNzAyNAoKRGFzIGlzdCBtZWluZXIgTWVpbnVuZyBuYWNoIGRvY2ggbnVyIGVpbmUgRWluc3RlbGx1bmdzZnJhZ2UKaW4gRGVpbmVtIEJyZW5ucHJvZ3JhbW0sIG9kZXI/CgpJY2ggbnV0emUgaW4gU2FjaGVuIEF1ZGlvIGltbWVyIEZldXJpbyB1bmQgYmluCnp1ZnJpZWRlbiBkYW1pdC4KCkxvdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENEIGJyZW5uZW4gKEFuZ3VzLCAgOC4gRmViIDIwMDAsIDE2OjQ0OjU4KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTQ5OTI3MDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk0OTkyNzAyNApOZXJvIC0gYnVybmluZyBSb20gCkRhIGthbm4gbWFuIGRpZSBQYXVzZSBlbnRmZXJuZW4uCgpBbmd1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZGxpYiwgYWJlciB3ZWxjaGU/IChTaWx2YW5hLCAgOS4gRmViIDIwMDAsIDE0OjAyOjUwKToKU2FsdmUKCktlbm50IHNpY2ggamVtYW5kIGhpZXIgZ2xlaWNoZXJtYXNzZW4gbWl0IGRlciBVbml0b3BpYSB1bmQgZGVyIE1HLU11ZGxpYiBhdXM/CkRhIHdpbGwgbmVuIGp1bmdlcyBNdWQgc3RhcnRlbiB1bmQgc3VjaHQgQXJndW1lbnRlIGZyIG9kZXIgZ2VnZW4gTUcga29udHJhClVuaS4gRmV1ZXIgZnJlaS4uLiEKCiAgU2lsdmFuYSAoaGVjaHRldCBzY2hvbiBtYWwgaW4gRGVja3VuZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoSG9vZCwgIDkuIEZlYiAyMDAwLCAxNDoxOToyMCk6Cn4jISBybj1TaWx2YW5hIHJ0PTk1MDEwMTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTAxMDEzNzAKbWFuIGtvZW5udGUgZGFubiBkb2NoIGxpZWJlciBuZSBkaXNrdXNpb24gc3RhcnRlbiB1bmQgYXJndW1lbnRlIHN1Y2hlbgpmdWVyIG9kZXIgY29udHJhIG5vY2ggZWluIG11ZCwgZGllIG1vdGl2aWVydGUgcHJvZ3JhbW1pZXJlciB6dW0gZ3Jvc3Nlbgp0ZWlsIHNpbm5sb3MgdmVyaGVpenQuIChkaWUgLT4gZGFzKQplcyBnaWJ0IGdlbnVlZ2VuZCBtdWRzLCBkaWUgYmVyZWl0cyBhbSBtaXRhcmJlaXRlcmV4aXN0ZW56bWluaW11bSBuYWdlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoQm9pbmcsICA5LiBGZWIgMjAwMCwgMTQ6MjQ6MzYpOgp+IyEgcm49SG9vZCBydD05NTAxMDIzNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCkVzIGdpYnQgYWJlciBhdWNoIGltbWVyIExldXRlIGRpZSBtaXQgZGVuIGV4aXN0aWVyZW5kZW4gTXVkcyBuaWNodAp6dWZyaWVkZW4gc2luZCB1bmQgZXMgYmVzc2VyIG1hY2hlbiB3b2xsZW4uIEF1Y2ggTW9yZ2VuR3JhdWVuIGhhdCBtYWwKc28gYW5nZWZhbmdlbiAuLi4KWnVtIFRoZW1hOiBJY2ggYmluIG5hdHVlcmxpY2ggYmVmYW5nZW4sIGRlc3dlZ2VuIGlzdCBtZWluZSBBdXNzYWdlIG1pdApWb3JzaWNodCB6dSBnZW5pZXNzZW4gLi4uIDopIE1laW5lcyBXaXNzZW5zIGlzdCBkaWUgVW5pdG9waWEgTGliIGVpbmZhY2gKZWluZSB1ZWJlcnNldHp0ZSAyLjQuNSBMaWIsIGFsc28gdGVjaG5vbG9naXNjaCB2ZXJhbHRldC4gRGllIE1HTGliIGlzdApkYSB2b3IgYWxsZW0gZHVyY2ggZGllIFByb3BlcnRpZXMgd2VzZW50bGljaCBtb2Rlcm5lciB1bmQgZmxleGlibGVyLgpNZWluZXIgTWVpbnVuZyBuYWNoIGlzdCBzY2hvbiBhbGxlaW4gZGFzIFByb3BlcnR5LVN5c3RlbSBHcnVuZCBnZW51ZywKZGllIE1HTGliIHp1IG5laG1lbi4KICBCb2luZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChSb2NodXMsICA5LiBGZWIgMjAwMCwgMTU6NTM6MDYpOgp+IyEgcm49Qm9pbmcgcnQ9OTUwMTAyNjc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDEwMTM3MApIbW0sIFphcmRveiBiYXN0ZWx0IGphIGVpbiBlaWdlbmVzIE11ZCB1bmQgaXN0IGRhYmVpLApkaWUgTUctTXVkbGliIEdSVUVORExJQ0ggYXVzenVtaXN0ZW4gZGFmdWVyLi4uCklzdCBkYW5uIG5hdHVlcmxpY2ggbmljaHQgbWVociAxMDAlIGtvbXBhdGliZWwsCmFiZXIgYXVmIERJRSBNdWRsaWIgYmluIGljaCBlY2h0IGdlc3Bhbm50LAplcyBsYWVzc3Qgc2ljaCBiZXN0aW1tdCBlaW5pZ2VzIHZlcmJlc3Nlcm4sCndlbm4gbWFuIGF1ZiBhbHRlbiBNaXN0IGtlaW5lIFJ1ZWNrc2ljaHQgbWVociBuZWhtZW4gbXVzcy4uLgpGdWVyIGVpbmUgTkVVRVMgTXVkIGtvZW5udGUgZGllIExpYiBndXQgc2VpbiwKd2VubiBzaWUgZmVydGlnIGlzdC4uLgooSGFiIHNpZSBsZWlkZXIgbm9jaCBuaWNodCBzZWxic3QgZ2VzZWhlbikKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoVHJ1ZywgIDkuIEZlYiAyMDAwLCAxNjo0NDoyNyk6Cn4jISBybj1Cb2luZyBydD05NTAxMDI2NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCkVpbiBWb3J0ZWlsIGRlciBVbml0b3BpYS1MaWIgaXN0IGFiZXIgYXVjaCwgZGFzcyBkaWUgRG9rdW1lbnRhdGlvbiB3ZW5pZ3N0ZW5zCmVpbmlnZXJtYXNzZW4gZ3V0IGlzdCB1bmQgbmljaHQgZ2FueiBzbyB3aWxkIGV0d2FzIGluIC9kb2MgaGVydW1saWVndCB3aWUgaW4KZGVyIE1vcmdlbkdyYXVlbi1MaWJyYXJ5LiBWaWVsbGVpY2h0IHNvbGx0ZW4gZGllIHNpY2ggYXVjaCBub2NoIGFuZGVyZQphbnNlaGVuLCB3aWUgZGllIGRlciB2b20gV3VuZGVybGFuZCwgVHVyaXRoaWwgb2RlciBkZXIgdm9uIFNpbGJlcmxhbmQ/CgpUcnVnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTXVkbGliLCBhYmVyIHdlbGNoZT8gKFphcm5peWEsIDEwLiBGZWIgMjAwMCwgMDk6MTA6MTIpOgp+IyEgcm49VHJ1ZyBydD05NTAxMTEwNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCkFsc28gZWlnZW50bGljaCB3dWVyZCBpY2ggamEgc2FnZW4sIGRhc3MgZGllIFphcm5peWFNdWRMaWIgZGllIGJlc3RlIExvZXN1bmcKd2FlcmUsIGFiZXIgZGllIGlzdCBoYWx0IG5vY2ggbGFuZ2UgbmljaHQgZmVydGlnLiBaYXJkb3ogaGF0IGluendpc2NoZW4gZGFzCktPTVBMRVRURSBDb21iYXRzeXN0ZW0gdW1nZXNjaHJpZWJlbiwgdm9yIGFsbGVtIHNlaHIgdmllbGUgRmxleGliaWxpdGFldGVuCmVpbmdlYmF1dCwgc28gZ2lidCBlcyBiZWkgdW5zIFdhc3NlciB1bmQgRmx1Z3Jhc3NlbiwgUmFzc2VuIG1pdCA0IEFybWVuIChkYW1pdApCb2luZ3MgNGhhZW5kZXIgZW5kbGljaCBtYWwgYXVjaCB6dSBlaW5zYXR6IGtvbW10LikgdW5kIGVpbmlnZXMgbWVoci4gCgpJY2ggbXVzcyBCb2luZyBSZWNodCBnZWJlbiwgZGFzcyBhbGxlaW5lIGRhcyBwcm9wZXJ0aWUtc3lzdGVtIGRlbSBNRyBlaW5lbgpnZXdhbHRpZ2VuIFZvcnNwcnVuZyBnaWJ0LCBkYSBoYXQgVU5JIGVpbmZhY2ggZGVuIEFuc2NobHVzcyB2ZXJwYXNzdC4gQXVmIGRlcgphbmRlcmVuIFNlaXRlIGlzdCBlcyBhYmVyIGF1Y2ggZWluZSBUYXRzYWNoZSwgZGFzcyBNRyB6dSBhbHQgaXN0IHVuZCB6dSB2aWVsClJ1ZWNrc2ljaHRlbiBuZWhtZW4gbXVzcyBhdWYga29tcGF0aWJpbGl0YWV0IHp1IGFsdGVuIEdlYmlldGVuLiBFaW5lIExpYiBlaW5lcwptb2Rlcm5lcmVuIE1HQ2xvbmVzLCB3aWUgekIgU2lsYmVybGFuZCwgd2FlcmUgZGEgc2ljaGVyIHZvbiBWb3J0ZWlsLiBJbQpFbmRlZmZla3QgaGFlbmd0IGVzIGFiZXIgZGF2b24gYWIsIHdhcyBtYW4gbWlzY2hlbiB3aWxsLiBaYXJkb3ogbWlzY2h0IGhhbHQKZGllIExpYiBkZXMgTUdzLCB3ZWlsIGVyIGRpZXNlIGhhbHQgdm9uIGhpZXIgYXVzIE1hZ2llcnplaXRlbiBrZW5udCwgbWl0IElkZWVuCmF1cyB2b2xsa29tbWVuIGFuZGVyZW4gTXVkcywgd2llIHZvciBhbGxlbSBhdXMgZGVtICJIb2x5IE1pc3Npb24iLiAKCkJlaSBkZW4gZ2FuemVuIFVlYmVybGVndW5nZW4gc29sbHRlIGF1Y2ggZGFzIFplaWwgbmljaHQgYXVzIGRlbiBBdWdlbiB2ZXJsb3Jlbgp3ZXJkZW4uIFdpbGwgbWFuIGVpbmVuIHdlaXRlcmVuLCBkYW5uIHNpY2hlciBlcmZvbGdsb3NlbiBNRy1DbG9uPyBEYW5uIGthbm4KbWFuIGVzIGVpZ2VudGxpY2ggdmVyZ2Vzc2VuLiBaYXJuaXlhIGxlYnQgZGEgZWhlciB2b24gZGVyIElkZWUsIG1hbCBlaW4gZ3V0ZXMKUGxheWVya2lsbC1tdWQgenUgbWFjaGVuLCB3YXMgZXMgaW4gZGV1dHNjaCBlaW5mYWNoIG5jaWh0IGdpYnQgKHNvcnJ5LCBhYmVyClBLLU11ZCBpc3QgenUgc2VociBNRywgYWxzIGRhcyBlcyB3aXJrbGljaCBTcGFzcyBtYWNoZW4ga29lbm50ZSwgbWVpbmUKcGVyc29lbmxpY2hlIE1laW51bmcpLiBGdWVyIGVpbmUgd2lya2xpY2ggbmV1ZSBJZGVlIGtvbW10IG1hbiBhYmVyIG5jaWh0CnVtaGluLCBkaWUgTGliIGVoIGRhbm4gZmFzdCBnYW56IHVtenVzY2hyZWliZW4sIHdvYmVpIGRhcyBNRyBlaW5lIGd1dGUKR3J1bmRsYWdlIGlzdC4gV2VyIHNpY2ggZGllc2UgTXVlaGUgbmljaHQgbWFjaGVuIHdpbGwsIGJyYXVjaHQgZXJzdCBnYXIgbmljaHQKYW5mYW5nZW4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoQW5hdG9sLCAxMC4gRmViIDIwMDAsIDA5OjQ3OjE4KToKfiMhIHJuPVphcm5peWEgcnQ9OTUwMTcwMjEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDEwMTM3MApMaWJzIHdpZSAiekIgU2lsYmVybGFuZCIgaGFiZW4gbWVpc3QgZWluZW4gTmFjaHRlaWw6IFdhcyBkaWUgZWZmaXppZW50ZQpGZWhsZXJiZXNlaXRpZ3VuZyBhbmdlaHQsIGhhdCBkYXMgTW9yZ2VuZ3JhdWVuIGRlcnplaXQgZGVuIGFrdGl2c3RlbiB1bmQKa29tcGV0ZW50ZXN0ZW4gRXJ6bWFnaWVyLiBLYW5uIGR1cmNoYXVzIHBhc3NpZXJlbiwgZGFzcyBkaWUgTUctTGliIGF1ZiAKRGF1ZXIga29uc2lzdGVudGVyIHdpcmQgYWxzIGRpZSBDbG9uZXMsIGRpZSBkdXJjaCBkaWUgZ2VyaW5nZSBNdWRncm9lc3NlCmVpbmVuIFZvcnNwcnVuZyBkdXJjaCBGbGV4aWJpbGl0YWV0IGhhZXR0ZW4gaGFiZW4ga29lbm5lbi4gCgpXaWUgSG9vZCBzY2hvbiBzYWd0ZSwgdmllbGVuIChkZW4gYWxsZXJtZWlzdGVuKSBLbGVpbm11ZHMgZmVobHQgZXMgdS5hLgphbiBrb21wZXRlbnRlbiB1bmQgYWt0aXZlbiBMZXV0ZW4uCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChMb3UsIDEwLiBGZWIgMjAwMCwgMDk6NTk6MjEpOgp+IyEgcm49WmFybml5YSBydD05NTAxNzAyMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCgpIbW0sIHdhcnN0IER1IGplbWFscyBpbSBQay1NdWQ/IEljaCBtZWluZSBsYWVuZ2VyIGFscyA1IE1pbnV0ZW4/CkF1Y2ggbWFsIGdlc3BpZWx0PyBWb24gd2FubiBzdGFtbXQgZGVubiBkYXMgaXJnZW5kd2llIGxhZW5nc3QKYW5nZWdyYXV0ZSBWb3J1cnRlaWw/CgpJbiBTYWNoZW4gTGliIHN0ZWxsdCBzaWNoIG1pciBkaWUgRnJhZ2UsIHdlbGNoZW4gSGludGVyZ3J1bmQgZGllc2VzCm5ldWUgTXVkIGhhYmVuIHNvbGwuIEVyaGVidCBlcyBzdGFya2VuIFJvbGxlbnNwaWVsYW5zcHJ1Y2g/Ck9kZXIgc29sbCBlcyBkaWUgcGxheWVya2lsbC1PcHRpb24gaGFiZW4/IEZhbGxzIGxldHp0ZXJlcyB6dXRyaWZmdCwKaXN0IGRpZSBNZy1MaWIgZGllIGRlbmtiYXIgdW5nZWVpZ25ldHN0ZS4KCkxvdS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChaYXJuaXlhLCAxMC4gRmViIDIwMDAsIDEwOjEzOjI3KToKfiMhIHJuPUxvdSBydD05NTAxNzMxNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCkFsc28gd2lyIHNvbGx0ZW4gZGFzIGVpZ2VudGxpY2hlIFRoZW1hIG5pY2h0IHp1IGVpbmVyIFphcm5peWEtRGlza3Vzc2lvbgp3ZXJkZW4gbGFzc2VuLiBGYWt0IGlzdCwgZGFzcyBaYXJkb3osIFN0ZWZhbiB1bmQgaWNoIGVpbmUgc2Vocgpyb2xsZW5zcGllbG9yaWVudGllcnRlIFBLLVZlcnNpb24gYmF1ZW4sIHdhcyBzaWNoIG1pdCBkZXIgTUdsaWIgaGVydm9ycmFnZW5kCm1hY2hlbiBsYWVzc3QsIHdlbm4gbWFuIHNpY2ggaW4gaWhyIGF1c2tlbm50IHVuZCBlcnN0bWFsIDcwJSB2ZXJ3aXJmdC4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChMb3UsIDExLiBGZWIgMjAwMCwgMDk6NTY6MzcpOgp+IyEgcm49WmFybml5YSBydD05NTAxNzQwMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCgpEYXMgaXN0IGRlciBQdW5rdDoKCid1bmQgZXJzdG1hbCA3MCUgdmVyd2lyZnRgCgpJbSBPcmlnaW5hbCB0YXVndCBzaWUgZnVlciBlaW4gTXVkIG1pdCBQay1PcHRpb24gbmljaHRzLCBrYW5uIGljaApudXIgbm9jaCBlaW5tYWwgd2llZGVyaG9sZW4uCgpMb3UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIga2FubiBkaWVzZSAuYWxhIGRlY29kaWVyZW4/IChKYW1lc29uLCAxMi4gRmViIDIwMDAsIDExOjQ4OjU4KToKSGFsbG8hCgpJY2ggaGFiZSBlaW4gcGFhciBhbHRlIFNvdW5kZmlsZXMsIGRpZSBpY2ggdm9yIGxhbmdlciBaZWl0IG1hbCBiZWtvbW1lbiwKYWJlciBuaWUgYWJ6dXNwaWVsZW4gb2RlciB6dSBrb252ZXJ0aWVyZW4gZ2VzY2hhZmZ0IGhhYmUsIGF1c2dlZ3JhYmVuCnVuZCBhdWYgbWVpbmUgSG9tZXBhZ2UgZ2V0YW4gKGh0dHA6Ly93d3cuaG9tZS5wYWdlcy5kZS9+amFtZXNvbi9hbGEvYWxhLmh0bWwpLgpFcyBoYW5kZWx0IHNpY2ggdW0gSW1pdGF0ZSB2b24gTGV1dGVuIGF1cyBGaWxtIHVuZCBGZXJuc2VoZW4sIGluIEZvcm0gdm9uCkFucnVmYmVhbnR3b3J0ZXJzcHJ1ZWNoZW4uCkJyaW5ndCBlcyBqZW1hbmQgdm9uIGV1Y2ggZmVydGlnLCBzaWUgaW4gd2FzIEJyYXVjaGJhcmVzIHVtenV3YW5kZWxuPwoiLmFsYSIgaG9lcnQgc2ljaCBuYXR1ZXJsaWNoIG5hY2ggYS1sYXcgYW4sIGRlbm5vY2ggaGF0IGRpZSBEYXRlaWVuCmJpc2hlciBrZWluIFByb2dyYW1tLCBkYXMgaWNoIGdlZnVuZGVuIGhhYmUsIGVya2FubnQuIERpZSBlaW5lIG9kZXIKYW5kZXJlIERhdGVpIGtvZW5udGUgYXVjaCBiZXNjaGFlZGlndCBzZWluLgpBbHMgQW5zcG9ybiBvZGVyICJCZWxvaG51bmciIG9kZXIgd2llIGF1Y2ggaW1tZXIgc2luZCBkb3J0IGF1Y2ggbm9jaAplaW4gcGFhciAud2F2LgpXZXIgYWt0dWVsbGVyZSBrZW5udCAoc2luZCBpbW1lcmhpbiBzY2hvbiBmYXN0IDEwIEphaHJlIGFsdCwgdW5kIG5laW4sCmRpZSBUZXh0c2FtbWx1bmcgaGFiIGljaCBzZWxiZXIgc2Nob24gOikgZGFyZiBtaXIgZ2VybmUgZWluZSBVUkwgc2FnZW4uCgpCaXR0ZSBzY2hpY2t0IG1pciBrZWluZSBEYXRlaWVuIGFscyBFTWFpbCA7LSkgc29uZGVybiB3YXJudCBtaWNoIHBlciBFTWFpbAphbiB1bWRnQHJ6LnVuaS1rYXJsc3J1aGUuZGUgb2RlciBNdWRtYWlsIGhpZXJoZXIgdm9yLgoKZ2VzcGFubnQgb2IncyBqZW1hbmQgc2NoYWZmdApqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkbGliLCBhYmVyIHdlbGNoZT8gKE11cGZlbCwgMTIuIEZlYiAyMDAwLCAxODozNToxNik6Cn4jISBybj1TaWx2YW5hIHJ0PTk1MDEwMTM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTAxMDEzNzAKSG1qYSBrb21tdCBhdWYgZGllIEF1c3JpY2h0dW5nIGRlcyBNVURzIGFuLgpTb2xsdGUgZGVyIFNjaHdlcnB1bmt0IGF1ZiBkZW0gS2FtcGZzeXN0ZW0gbGllZ2VuLCBpc3Qgc2ljaGVyIGRpZSBNR2xpYgpiZXNzZXIsIHdlbm4gbWVociBhdWYgS29tbXVuaWthdGlvbiAodm9yIGFsbGVtIGF1Y2ggbWl0IGRlbiBOUENzKSBnZWFjaHRldAp3aXJkLCBpc3QgZGllIFVOSWxpYiBiZXNzZXIuClNvbGx0ZW4gZGllIGFuZ2VoZW5kZW4gTVVELUNoZWZzIG5vY2ggd2VuaWcgQWhudW5nIGhhYmVuOiBkaWUgVU5JbGliIGlzdCB1bQpLbGFzc2VuIGJlc3NlciBkb2t1bWVudGllcnQuLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTQjEyOCAoU2lsdmFuYSwgMTQuIEZlYiAyMDAwLCAxNjozNTo1OSk6ClNhbHZlCgpLZW5uIHNpY2ggamVtYW5kIG1pdCBkZXIgU291bmRibGFzdGVyIDEyOCBhdXM/IEVpZ2VudGxpY2ggaGF0dGUgaWNoIGdlaG9mZnQsCmVpbiBwYWFyIGFsdGUgVmlueWwtU2NoYWV0emNoZW4gYXVmIENEIHp1IHppZWhlbiwgYWJlciBzbyB3aWUgZGFzIGRlcnplaXQKYXVzc2llaHQsIGhhYmVuIGRpZSBLYXJ0ZSB1bmQgbWVpbiBWZXJzdGFlcmtlciBlaW5lIHNlaHIgdW50ZXJzY2hpZWRsaWNoZQpWb3JzdGVsbHVuZyBkYXZvbiwgd2FzIG1hbiBMaW5lLVBlZ2VsIG5lbm50LiBWZXJtdXRsaWNoIGdpYnQgZXMgZWluZSBSZWloZSB2b24KU3RlbGxlbiwgYW4gZGVuZW4gbWFuIHNvIGV0d2FzIG5hY2hqdXN0aWVyZW4ga2FubiwgYWJlciBiaXNsYW5nIGhhYiBpY2ggbnVyCmRlbiBTQi1NaXhlciBnZWZ1bmRlbiAtIHVuZCBkZXIgaXN0IHNjaG9uIHZvbGwgYXVmZ2VyaXNzZW4uCgpUaGFueCA0IGFueSBoZWxwIC0gU2lsdmFuYQoKUFM6IE5laW4sIExpbnV4IGlzdCBkZXJ6ZWl0IGtlaW5lIExzdW5nLiBMZWlkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWJob3N0ZXIgZ2VzdWNodC4uLiAoQW5hdG9sLCAxNC4gRmViIDIwMDAsIDE4OjE5OjUyKToKCkljaCBzdWNoZSBlaW5lbiBndXRlbiB1bmQgZ3VlbnN0aWdlbiBXZWJob3N0ZXIsIGRlciBtaXIgZ2VzdGF0dGV0LCBtaXQKZWluZXIgLm5ldC1Eb21haW4genUgaWhtICJ1bXp1emllaGVuIi4gSXJnZW5kd2VsY2hlIEVyZmFocnVuZ2VuIG9kZXIKc29uc3RpZ2UgVGlwcz8KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQjEyOCAoR3JpbW1ib3JuLCAxNC4gRmViIDIwMDAsIDIzOjM4OjE1KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTUwNTQyNTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDU0MjU1OQpjJ3QgMjEvOTgsIFMuIDExOCBmZi4KRmF6aXQ6IERhcyBpc3QgbmljaHQgZ2FueiBzbyBlaW5mYWNoIHdpZSBtYW4gZGVua2VuIHNvbGx0ZS4gVW5kIFNjaGFsbHBsYXR0ZW4KaGFiZW4gZWluZSB1bmdsYXVibGljaCBrcmFua2UgQXVzc3RldWVydW5nIChtYWwgZ2VmcmFndCwgd2llc28KUGhvbm8tQW5zY2hsdWVzc2UgaW1tZXIgYXVzIGRlciBSZWloZSBmYWxsZW4gYmVpIFZlcnN0YWVya2Vybj8pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTQjEyOCAoTXVwZmVsLCAxNS4gRmViIDIwMDAsIDAxOjIwOjM0KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTUwNTQyNTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDU0MjU1OQpWb24gVGVycmF0ZWsgZ2lidHMgbmVuIFBob25vdm9ydmVyc3RhZXJrZXIgZnVlciBkaWUgU291bmRrYXJ0ZS4gRGFzIGlzdCBnZW5hdQpzbyBlaW4gVGVpbCB3aWUgaW4gRGVpbmVtIEhpZmktVmVyc3RhZXJrZXIgc2l0enQgKHZpZWxsaWNodCBuaWNodCBnYWFhbnogc28KZ3V0KS4gRGFtaXQgc29sbHRlIGVzIGdlaGVuLiBLb3N0ZW5wdW5rdDogdW5iZWthbm50ICh3dXJkZSBpbiBlaW5lciBkZXIKbGV0enRlbiBjJ3RzIGt1cnogdm9yZ2VzdGVsbHQsIGthbm4gYXVjaCBQQ1BybyBnZXdlc2VuIHNlaW4pCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNCMTI4IChDYXR3ZWF6bGUsIDE2LiBGZWIgMjAwMCwgMTE6Mjc6MjcpOgp+IyEgcm49U2lsdmFuYSBydD05NTA1NDI1NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwNTQyNTU5CkRpZSBxdWFsaXRhdGl2IGJlc3RlIE1ldGhvZGUgZGllIG1pciBiZWthbm50IGlzdCwgdW0gVmlueWxwbGF0dGVuIGF1ZiAKRmVzdHBsYXR0ZW4genUgYmFubmVuLCBpc3QgZXMgZWluIERBVCBhbHMgWndpc2NoZW5hYmxhZ2UgenUKYmVudXR6ZW4uIAoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChDYXR3ZWF6bGUsIDE2LiBGZWIgMjAwMCwgMTE6Mjg6MDcpOgp+IyEgcm49TXVwZmVsIHJ0PTk1MDM3NjkxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTAxMDEzNzAKS29tbXVuaWthdGlvbj8gVW5pTGliPyBNYWxpbWFyYyByZWRldCB6dSBkaXI/CgpQZmZmLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0IxMjggKFNpbHZhbmEsIDE3LiBGZWIgMjAwMCwgMTI6MzM6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk1MDY5Njg0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTA1NDI1NTkKT0ssIGljaCBoYWIgbWljaCB3b2hsIHVua2xhciBhdXNnZWRydWVja3QuCkljaCBiZXNpdHplIGVpbmVuIFZvcnZlcnN0YWVya2VyIG1pdCBQaG9uby1FaW5nYW5nLiBVbmQgaWNoIHZlcndlbmRlIGRlbgpMaW5lLUF1c2dhbmcgbWVpbmVzIFZlcnN0YWVya2VycyBzb3dpZSBkZW4gTGluZS1FaW5nYW5nIGRlciBTQjEyOC4gRWdhbCBhdXMKd2VsY2hlciBRdWVsbGUgaWNoIHZlcnN1Y2hlLCBhdWZ6dW5laG1lbjogTFAsIFR1bmVyLCBLYXNzZXR0ZSwgQ0QuLi4gQUxMRVMKa29tbXQgYmVpIGRlciBBdWZuYW1lIG1pdCBlaW5lbSBQZWdlbCBhbiwgZGVuIGljaCB1bmdlZmFlaHIgdW0gZGVuIEZha3RvciAoISkKNTAgVmVyc3RhZXJrZW4gbXVzcyB1bSB6d2lzY2hlbiBkZW0gUmF1c2NoZW4gaGFsYndlZ3MgZXJhaG5lbiB6dSBrb2VubmVuLCBkYXNzCmRhIGF1Y2ggZWluIFNpZ25hbCBpc3QuIFVuZCBuZWluOiBEZXIgTWlrcm9waG9uLUVpbmdhbmcgaXN0IGtlaW5lIEFsdGVybmF0aXZlLgpEZXIgaXN0IHNvZm9ydCB1ZWJlcnN0ZXVlcnQgdW5kIGJydW1tdCBkZW1lbnRzcHJlY2hlbmQuCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNCMTI4IChQaWxncmltLCAxNy4gRmViIDIwMDAsIDE0OjA3OjQ5KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTUwNzg3MjMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDU0MjU1OQo+IEVnYWwgYXVzCj4gd2VsY2hlciBRdWVsbGUgaWNoIHZlcnN1Y2hlLCBhdWZ6dW5laG1lbjogTFAsIFR1bmVyLCBLYXNzZXR0ZSwgQ0QuLi4gQUxMRVMKPiBrb21tdCBiZWkgZGVyIEF1Zm5hbWUgbWl0IGVpbmVtIFBlZ2VsIGFuLCBkZW4gaWNoIHVuZ2VmYWVociB1bSBkZW4gRmFrdG9yCighKQo+IDUwIFZlcnN0YWVya2VuIG11c3MgdW0gendpc2NoZW4gZGVtIFJhdXNjaGVuIGhhbGJ3ZWdzIGVyYWhuZW4genUga29lbm5lbiwKZGFzcwo+IGRhIGF1Y2ggZWluIFNpZ25hbCBpc3QuCkhtbW0sCgp1bnRlciBkZXIgQW5uYWhtZSwgZGFzIER1IGltIFNCLU1peGVyIChvZGVyIHdpZSBkYXMgRGluZyBiZWkgZGVyIFNCMTI4CmhlaXNzdCkgdW50ZXIgQXVmbmFobWUgKEVpbmdhbmdzLSlFaWdlbnNjaGFmdGVuIGRlbiBMaW5lLWluIGFrdGl2aWVydApoYXN0IHVuZCBkZW4gUGVnZWwgYXVmIDEwMCUgKGJlc3NlciA4MCUpIGVpbmdlc3RlbGx0IChHZXNjaG9iZW4pIGhhc3QKaG9lcnQgc2ljaCBkYXMgbmFjaCBuZW0gSGFyZHdhcmVkZWZla3QgYW4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChTb25nb2t1LCAxNy4gRmViIDIwMDAsIDE2OjE5OjQ5KToKfiMhIHJuPU11cGZlbCBydD05NTAzNzY5MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUwMTAxMzcwCm51bmphIHdlbm4gZGllIHVuaWxpYiBndXQgZG9rdW1lbnRpZXJ0IGlzdCBtb2VjaHRlIGljaCBkaWUgZG9rdSB2b24gZGVyIG1nbGliCm5pY2h0IHNlaGVuLgoKYW5kZXJlcnNlaXRzIGJpbiBpY2ggYXVjaCBhcmNoaXRla3R1cnN0dWRlbnQgdW5kIGtlaW4gaW5mb3JtYXRpa2VyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoQWNyaW1vbiwgMjQuIEZlYiAyMDAwLCAxNTo0MDowNik6Cn4jISBybj1aYXJuaXlhIHJ0PTk1MDE3MDIxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTAxMDEzNzAKQXVjaCBkaWUgVW5pLU11ZGxpYiB3dXJkZSB3ZWl0ZXJlbnR3aWNrZWx0LgpTY2hhdSBEaXIgbWFsIEF2YWxvbiBhbiwgZGFzIHNjaGVpbnQgc2VociB2aWVsdmVyc3ByZWNoZW5kIHp1IHNlaW4uCgpBY3JpbW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphZHZlcnQuZGxsIG9kZXIgQXVyZWF0ZSBzcHkgISEhIChQaWxncmltLCAyNS4gRmViIDIwMDAsIDAxOjA5OjMzKToKSGksCgpmb2xnZW5kZXMgaXN0IG1pciBiZWkgc3VyZmVuIHp1IE9ocmVuIGdla29tbWVuLiBJY2ggcG9zdGUgZXMgbWFsCi0gb2huZSB6dSB3aXNzZW4gb2IncyBzdGltbXQgLSB1bmQgZnJhZycgbmFjaCwgb2IgamVtYW5kIHdhcwpnZW5hdWVzIHdlaXNzPwoKClBpbGdyaW0KCgpQUzogc2llaGUgYXVjaCBodHRwOi8vd3d3LmF1cmVhdGUuY29tL2Rvd25sb2Fkcy9uZXR3b3JrX21lbWJlcnMuaHRtbAoKUFBTOiBtYW4gc2llaHQgbWl0ICJuZXRzdGF0IiBpbiBuZXIgZG9zLWJvcyB1ZWJyaWdlbnMgZGllIHZlcmJpbmR1bmcgenUgCiAgICAgQXVyZWF0ZSAtIHdlbm4gc2llIGFrdGl2IGlzdCAuLi4gYWxzbyBzZWxic3QgZ2VzZWhlbiEKCgo9PT09PT09PT09PT09PT09PT09PSBTQ0hOSVBQID09PT09PT09PT09PT09PT09PT09PT09PQoiRnJvbTogTUlTVEVSVFdJRyA2OjQxIHBtCiAgICAgICBUbzogQUxMICAoMSBvZiAyKQogICAxNDY4NC4xCiAgCiAgIEdvdCBzb21lIGhpZ2hseSBpbnRlcmVzdGluZyBzdHVmZiBmcm9tIHRoZSB3aW4ya3NlY2FkdmljZSBtYWlsaW5nIGxpc3QKdG9kYXkuLi4KIEl0J3MgdmVyeSBsb25nIHNvIEkgd2lsbCBhdHRlbXB0IHRvIHBhcmFwaHJhc2UuIFNvbWUgc2hhcmV3YXJlIGhhcwphZHZlcnRpc2luZyBpbiBpdC4gKHNpbXBsZXN1Ym1pdCBmb3IgZXhhbXBsZS4pIEJ5IGluc3RhbGxpbmcgdGhpcywgeW91IGFsc28KaW5zdGFsbCB0aGUgQXVyZWF0ZSBTcHkgb24geW91cgogbWFjaGluZS4gVG8gc2VlIGlmIHlvdSBhcmUKIHZ1bG5lcmFibGUsKGluIHdpbmRvd3MpIGRvIGEgZmluZCBvbiB0aGUgZmlsZSBhZHZlcnQuZGxsLiBJZiB0aGlzIGZpbGUgKG9uZQpvZiBhIHNldCBvZiA1KSBpcyBwcmVzZW50IG9uIHlvdXIgbWFjaGluZSwgZ2V0IG9ubGluZSBhbmQgZG8gdGhlIGZvbGxvd2luZyB0bwpzZWUgaXQgc3B5aW5nIG9uIHlvdS4gMS4gc3RhcnQKIGEgbmV3IGJyb3dzZXIgd2luZG93LiAyLiBnbyB0byB0aGUgY29tbWFuZCBwcm9tcHQgYW5kIHR5cGUgbmV0c3RhdC4gTWFjaGluZXMKdGhhdCBhcmUgYWZmZWN0ZWQgd2lsbCBtYWtlIGEgVENQIGNvbm5lY3Rpb24gdG8gQXVyZWF0ZS4gWW91IGNhbiBzZWUgdGhpcyBpbgp0aGUgcmVzdWx0cwogZnJvbSBuZXRzdGF0LgogU3VwcG9zZWRseSB0aGlzIGlzIHNlbmRpbmcgYSB3aG9sZSBidW5jaCBvZiB5b3VyIGRlbW9ncmFwaGljcywgbGlzdCBvZgppbnN0YWxsZWQgc29mdHdhcmUsIGJyb3dzaW5nIGhhYml0cywgZXRjIHRvIEF1cmVhdGUgb3ZlciBhIGhpZ2ggbnVtYmVyZWQgcG9ydC4KIEF1cmVhdGUgaGFzIGlzc3VlZCBhIHN0YXRlbWVudCB0byB0aGUgbWFpbGluZyBsaXN0IHRoYXQgZGVuaWVzIG1vc3Qgb2YgdGhpcwppbmZvcm1hdGlvbiwgYnV0IGl0IHJlYWRzIGxpa2UgQmlsbCBDbGludG9uJ3Mgc3RhdGVtZW50cyBhZnRlciB0aGUgd2hvbGUKTW9uaWNhIFRoaW5nLiBJJ2xsIGxlYXZlIGl0IHVwCiB0byB5b3UgdG8gZGVjaWRlLCBidXQgSSBoYXZlIHJlbmFtZWQgdGhlIGRsbCdzIGluIHF1ZXN0aW9uIGFuZCB0aGUKY29ubmVjdGlvbiBubyBsb25nZXIgaGFwcGVucyBvbiBteSBib3hlcy4KIFBTPiB0aGUgbGlzdCBvZiBwcm9ncmFtcyBpcyBodWdlLCBpdCdzIGVhc2llciB0byBqdXN0IHNlYXJjaCBmb3IgdGhlIGZpbGVzLgpUaGV5IGFyZSA6IAphZHZlcnQuZGxsICwgYWR2cGFjay5kbGwgLGFtY2lzLmRsbCxhbWNvbXBhdC50bGIgLGFuZCBhbXN0cmVhbS5kbGwKICAKIFJlbWVtYmVyIEkgYW0gcGFyYXBocmFzaW5nLCBJIGFtIHN1cmUgdGhlIGZ1bGwgc3Rvcnkgd2lsbCBoaXQgdGhlIG1haW5zdHJlYW0Kc29vbiBlbm91Z2guIgoKPT09PT09PT09PT09PT09PT09PT0gU0NITklQUCA9PT09PT09PT09PT09PT09PT09PT09PT0KCj5UaGUgZm9sbG93aW5nIGlzIGEgbGlzdGluZyBvZiBhbGwgc29mdHdhcmUga25vd24gdG8gaW5zdGFsbCB0aGUgQXVyZWF0ZQo+c3B5IG9uIHlvdXIgc3lzdGVtLiBUaGUgQXVyZWF0ZSBzcHkga2VlcHMgdHJhY2sgb2YgeW91ciBJbnRlcm5ldAo+YWN0aXZpdGllcyBhbmQgc2VuZHMgYSByZXBvcnQgdG8gQXVyZWF0ZSBldmVyeSB0aW1lIHlvdSBvcGVuIHlvdXIKPmJyb3dzZXIuIFRoZSBBdXJlYXRlIHNweSBwbGFjZXMgdGhlIGZvbGxvd2luZyBmaWxlcyBvbiBhIFdpbmRvd3MKPm1hY2hpbmUuIFtJdCBpcyBub3Qga25vd24sIHlldCwgdG8gYWZmZWN0IE1hY2ludG9zaCBvciBMaW51eCBtYWNoaW5lcy5dCgo+IFRoZSBpbnN0YWxsZWQgZmlsZXMgYXJlIHNvbWUgb3IgYWxsIG9mOgoKPiBhZGltYWdlLmRsbAo+IGFkdmVydC5kbGwKPiBhZHZwYWNrLmRsbAo+IGFtY2lzLmRsbAo+IGFtY2lzMi5kbGwKPiBhbWNvbXBhdC50bGIKPiBhbXN0cmVhbS5kbGwKPiBhbmFkc2Mub2N4Cj4gYW5hZHNjYi5vY3gKPiBodG1kZW5nLmV4ZQo+IGlwY2NsaWVudC5kbGwKPiBtc2lwY3N2LmV4ZQo+IHRmZGUuZGxsCj4KPiBIZXJlIGlzIGEgcmV2aWV3IG9mICB0aGUgY29udGVudHMgYW5kCj4gY29kZSBjb250YWluZWQgaW4gdGhlIERMTCdzIHRoYXQgQXVyZWF0ZSBtYWtlcyB1c2Ugb2YuICBIZXJlIGFyZSBhCj4gZmV3IG9mIG15IGZpbmRpbmdzIHVwIHRvIHRoaXMgcG9pbnQ6Cj4KPiBhZHZlcnQuZGxsCj4gPT09PT09PQo+Cj4gVGhpcyBETEwgY3JlYXRlcyBhIGhpZGRlbiB3aW5kb3cgZXZlcnkgdGltZSB5b3Ugb3BlbiB5b3VyIGJyb3dzZXIuIEl0Cj4gY3JlYXRlcyBhbmQgc2VuZHMgNCBwYWdlcyBvZiBpbmZvcm1hdGlvbiB0byB0aGUgQXVyZWF0ZSBzZXJ2ZXJzIHVzaW5nCj4gcG9ydCAxNzQ5IG9uIHlvdXIgc3lzdGVtLCB0aGVzZSBwYWdlcyBpbmNsdWRlOgo+Cj4gMS4gWW91ciBuYW1lIGFzIGxpc3RlZCBpbiB0aGUgc3lzdGVtIHJlZ2lzdHJ5ICggbm90IHRoZSBuYW1lIHlvdQo+IGluc3RhbGxlZCBvbmUgb2YgdGhlIHByb2dyYW1zIHdpdGggKQo+IDIuIFlvdXIgSVAgYWRkcmVzcwo+IDMuIFRoZSByZXZlcnNlIEROUyBtYXRjaCBvZiB5b3VyIGFkZHJlc3MuICggdGVsbHMgdGhlbSB3aGF0IElTUCBhbmQKPiBhcmVhIG9mIGNvdW50cnkgeW91IGFyZSBpbiApCj4gNC4gQSBsaXN0aW5nIG9mIEFMTCBzb2Z0d2FyZSB0aGF0IGlzIHNob3duIGluIHlvdXIgcmVnaXN0cnkgYXMgYmVpbmcKPiBpbnN0YWxsZWQuICggTm90IGp1c3QgdGhlIGNvbXBhbmllcyB0aGV5IHdvcmsgd2l0aCApCj4gNS4gVGhpcyBETEwgc2VuZHMgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiB0byB0aGVpciBzZXJ2ZXIgb24gYWxsCj4gVVJMJ3MgeW91IHZpc2l0Ogo+ICAgICAgQS4pIGFkIGJhbm5lcnMgeW91IG1heSBjbGljayBvbgo+ICAgICAgQi4pIGFsbCBkb3dubG9hZHMgeW91IGRvIHNob3dpbmcgdGhlIGZpbGVuYW1lL2ZpbGUKPiBzaXplL2RhdGUvdGltZS90eXBlIG9mIGZpbGUoaW1hZ2UsIHppcCxleGVjdXRhYmxlLCBldGMpCj4gICAgICBDLikgZnVsbCB0aW1lIGFuZCBkYXRlIHN0YW1wcyBvZiBhbGwgeW91ciBhY3Rpb25zIHdoaWxlCj4gdXNpbmcgeW91cgo+ICBicm93c2VyCj4gICAgICBELikgdGhlIHJlbW90ZSBkaWFsdXAgbnVtYmVyIHlvdSBhcmUgZGlhbGluZyBpbiBvbiAodGFrZW4gb3V0IG9mCj4geW91ciBkaWFsZXIgY29uZmlndXJhdGlvbikKPiAgICAgIEUuKSBkaWFsdXAgcGFzc3dvcmQgaWYgc2F2ZWQsIGRvZXMgbm90ICJhcHBlYXIiIGF0IGZpcnN0IGdsYW5jZQo+IHRvIHNlbmQgdGhpcyB0aHJvdWdoIHRvIHRoZW0uCj4gICA2LiBDb250YWlucyBwcm9ncmFtbWVycyBub3RlOiAiU2hvdyBtZSB0aGUgbW9uZXkhIEkgd2FudCB0bwo+IGJlIE1pa2UhIgo+Cj4KPiBhZHZwYWNrLmRsbAo+ID09PT09PT09PQo+Cj4gVXNlZCBkdXJpbmcgdGhlIGluc3RhbGxhdGlvbiBvbmx5IHRvIGNoZWNrIGZvciBvdGhlciBuZWVkZWQgZmlsZXMuCj4gYW1jaXMuZGxsCj4gPT09PT09PQo+Cj4gVGhpcyBETEwgbW9kaWZpZXMgdGhlIGZvbGxvd2luZyByZWdpc3RyeSBrZXlzOgo+ICAgIDEuIEhLRVlfQ1VSUkVOVF9DT05GSUcKPiAgICAgMi4gSEtFWV9EWU5fREFUQQo+ICAgICAzLiBIS0VZX1BFUkZPUk1BTkNFX0RBVEEKPiAgICAgNC4gSEtFWV9VU0VSUwo+ICAgICA1LiBIS0VZX0xPQ0FMX01BQ0hJTkUKPiAgICAgNi4gSEtFWV9DVVJSRU5UX1VTRVIKPiAgICAgNy4gSEtFWV9DTEFTU0VTX1JPT1QKPgo+IFVucmVnaXN0ZXJzcyBvbGVhdXQzMi5kbGwgZnJvbSBtZW1vcnkgYXMgcHJvdmlkZWQgYnkgTSRvZnQgYW5kCj4gcmVwbGFjZXMgd2l0aCBpdHMgb3duIGNhbGxzLiBTd2l0Y2hlcyBiYWNrIHRvIE0kb2Z0J3Mgd2hlbiBicm93c2VyIGlzCj4gY2xvc2VkLiBDcmVhdGVzIHN0dWIgcHJvY2Vzc2VzIHRvIGJlIHN0YXJ0ZWQgYW55dGltZSB5b3VyIGJyb3dzZXIgaXMKPiBvcGVuZWQuCj4KPgo+IGFtY29tcGF0LnRsYgo+ID09PT09PT09PT09Cj4KPiBUaGlzIGd1eSB0cmFja3MgYW55IG11bHRpbWVkaWEgY2xpcHMgKCB2aWRlby9waWN0dXJlcy9zb3VuZCApIHRoYXQKPiB5b3UgdmlldyBJdCB0cmFja3MgdGhlIHJhdGluZyBsZXZlbCBvbiB0aGUgdmlkZW8vcGljdHVyZS9zb3VuZCBhbmQKPiB0aXRsZSAvIGxvY2F0aW9uIENvbnRhaW5zIHJlZmVyZW5jZXMgdG8gRGJsQ2xpY2sgKCBzdGlsbCBkaWdnaW5nIG9uCj4gdGhpcyBvbmUhICkKPgo+Cj4gYW1zdHJlYW0uZGxsCj4gPT09PT09PT09PQo+Cj4gU2V0dXBzIFRXTyB3YXkgY29tbXVuaWNhdGlvbnMgYmV0d2VlbiB5b3VyIHN5c3RlbSBhbmQgdGhlaXJzLgo+IFVzZWQgdG8gc2VuZCBpbmZvIGFuZCByZWNlaXZlIHVwZGF0ZSBjb21tYW5kcy9maWxlcwo+IE9wZW4gcG9ydCAxNzQ5IGZvciBjb21tdW5pY2F0aW9ucwo+Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPgo+IFRoZSBwcm9ncmFtcyB0aGF0IGFyZSBrbm93biB0byBpbnN0YWxsIHRoZSBBdXJlYXRlIHNweSBhcmU6Cj4KPiAxMjNTZWFyY2gKPiAzZCBBbmFyY2h5Cj4gM0QtRlRQCj4gM3JkIGJsb2NrCj4gQWJlJ3MgRlRQIENsaWVudAo+IEFiZSdzIEltYWdlIFZpZXdlcgo+IEFiZSdzIE1QMyBGaW5kZXIKPiBBYmUncyBQaWN0dXJlIEZpbmRlcgo+IEFiZSdzIFNNQiBDbGllbnQKPiBBY2Nlc3MgRGl2ZXIgSUlJCj4gQWNvcm4gRW1haWwKPiBBY3FVUkwKPiBBY3Rpb25PdXRsaW5lIExpZ2h0IDEuNgo+IEFjdGl2ZSAnTmV0Cj4gQWRkIFVSTAo+IEFkZC9SZW1vdmUgUGx1cyEKPiBBZGRyZXNzIFJvdmVyIDk4Cj4gQWRtaXJhbCBWaXJ1c1NjYW5uZXIKPiBBZHZhbmNlZCBDYWxsIENlbnRlcgo+IEFkdmFuY2VkIE1haWxsaXN0IFZlcmlmeQo+IEFkV2l6YXJkCj4gQWxpdmUgYW5kIEtpY2tpbmcKPiBhbHBoYVNjYXBlIFF1aWNrUGFzdGUKPiBBU1AxLUEzCj4gQXVjdGlvbiBFeHBsb3Jlcgo+IEF1cmVhdGUgR3JvdXAgTWFpbAo+IEF1cmVhdGUgU3BhbUtpbGxlcgo+IEF1dG9GVFAgUFJPCj4gQXV0b1dlYgo+IEF4ZWxDRAo+IEJlYXRsZQo+IEJpbmFyeSBCb3kKPiBCaW5hcnlWb3J0ZXgKPiBCbHVlIEVuZ2luZQo+IEJvb2tTbWl0aCA6IE9yaWdpbmFsCj4gYnVkZHlQaG9uZSAyCj4gQ2FseXBzbyBFLW1haWwKPiBDYW1HcmFiCj4gQ2FwdHVyZSBFeHByZXNzIDIwMDAKPiBDYXNjb2x5IFNjcmVlbnNhdmVyCj4gQ0REQi1SZWFkZXIKPiBDRE1hc3RlcjMyCj4gQ2hhblN0YXQKPiBDaGFyaXR5IEJhbm5lcgo+IENoZWF0IE1hY2hpbmUKPiBDaGVjazROZXcKPiBDaGluTWFpbAo+IENsYWJyYSBjbGlwYm9hcmQgdmlld2VyCj4gQ2xhc3NpYyBQZWcgU29saXRhaXJlCj4gQ29tVHJ5IE11c2ljIERvd25sb2FkZXIKPiBDcnlzdGFsIEZUUAo+IENTRSBIVE1MIFZhbGlkYXRvciBMaXRlCj4gQ3V0ZUZUUCAzLjAKPiBDdXRlRlRQIDMuMAo+IEN1dGVGVFAvVHJpcG9kCj4gQ3V0ZU1YCj4gQ3V0ZVBhZ2UKPiBEYW56aWcgUHJlZiBFbmdpbmUKPiBEYXRlVGltZQo+IERlbHBoaSBDb21wb25lbnQgVGVzdAo+IERlbHBoaSBUZXN0ZXIKPiBEaWFsZXIgMjAwMAo+IERpZ2lCYW5kIE5ld3NXYXRjaAo+IERpZ2lDYW1zIC0gVGhlIFdlYkNhbSBWaWV3ZXIKPiBEaWdpdGFsIFBvc3RtYW4KPiBEaXJlY3RVcGRhdGUKPiBETC1NYWlsIFBybyAyMDAwCj4gRE5TY2FwZQo+IERvb3JiZWxsIDEuMTgKPiBEb3dubG9hZCBNaW5kZXIgMS41Cj4gRG93bmxvYWQgV29uZGVyCj4gRG93bkxvYWRlciB2LjEuMQo+IER3eWNvIFZpZGVvIENvbmZlcmVuY2luZwo+IEVhc3lTZWVrZXIKPiBFbW1hU29mdCBDaGF0Q2F0Cj4gRW1tYVNvZnQgZEJyb3cKPiBFbW1hU29mdCBLZWVwTGFuCj4gRW1tYVNvZnQgU291bmR6Cj4gRW52b3lNYWlsCj4gRVotRm9ybXMgRlJFRQo+IEZpbGUgTWFnLU5ldAo+IEZpbGVTcGxpdAo+IEZvbGRlciBHdWFyZCBKci4KPiBGb3VyVGltZXMKPiBGcmVlIFBpY3R1cmUgSGFydmVzdGVyCj4gRnJlZSBTb2xpdGFpcmUKPiBGcmVlIFNwYWRlcwo+IEZyZWUgU3VibWl0dGVyIFBybwo+IEZyZWVJbWFnZUVkaXRvcgo+IEZyZWVJUkMKPiBGcmVlTm90ZVBhZAo+IEZyZWVTaXRlCj4gRnJlZVdlYkJyb3dzZXIKPiBGcmVlV2ViTWFpbAo+IEZyZWVaaXAhCj4gRlRQRWRpdG9yCj4gR2V0UmlnaHQKPiBHbyFaaWxsYQo+IEdvIVppbGxhIFdlYkF0dGFjawo+ICAgICBHb3Zlcm5NYWlsCj4gR3JhZnVsYQo+IEd1bnRoZXIncyBQYXNzd29yZFNlbnRyeQo+IEhhbmdXZWIKPiBoZXNjaSBQcml2YXRlIExhYmVsCj4gSFRNTCBUcmFuc2xhdG9yCj4gSFRUUCBQcm94eS1TcHkKPiBIdWV5IHYxLjggQ29sb3IgUGlja2VyCj4gSWJhbiBUZWNobm9sb2dpZXMgSVAgVG9vbHMgMy4xCj4gSWR5bGUgR2ltbUlQCj4gSWR5bGUgR2ltbUlQCj4gaUZpbmQgR3JhcGhpY3MKPiBpbWFnZU4KPiBJbmZpbml0ZSBQYXRpZW5jZQo+IEluZm9CbGFzdAo+IElubm92YUNsdWIKPiBJbnN0YWxsWklQCj4gSW50ZXJuZXQgVHJlZQo+IEludGVybmV0cml4Cj4gSW50ZXJXZWJXb3JkIENvbXBhbmlvbgo+IEpldENhcgo+IEpGSyBSZXNlYXJjaAo+IGpJUkMKPiBKT0MgRW1haWwgQ2hlY2tlcgo+IEpPQyBXZWIgRmluZGVyCj4gSk9DIFdlYiBTcGlkZXIKPiBLVlQgRGlwbG9tCj4gTGFwTGluayBGVFAKPiBMaW5lU29mdCBEb3dubG9hZAo+IExPTCBDaGF0Cj4gTE9MIENoYXQKPiBNYWlsIFRoZW0KPiBNZXJhY2wgRm9udE1hcAo+IE1lcmFjbCBJbWFnZU1hcCBHZW5lcmF0b3IKPiBNaWRuaWdodCBPaWwgU29saXRhaXJlCj4gTWlyTmlrIEludGVybmV0IEZpbmRlcgo+IE1vcmUgU3BhY2UgOTkKPiBNb3VzZUFzc2lzdAo+IE1QMyBBbGJ1bSBGaW5kZXIKPiBNUDMgRmllbmQKPiBNUDMgR3JvdXBwaWUKPiBNUDMgTWFnLU5ldAo+IE1QMyBSZW5hbWVyCj4gTXAzIFN0cmVhbSBSZWNvcmRlcgo+IE1QM0lORk8tRWRpdG9yCj4gTXVsdGlTZW5kZXIKPiBNdXNpYyBHZW5pZQo+IE1YIEluc3BlY3RvciBCSUcgQUQKPiBNeSBHZW5pZSBQYXRyaW90cwo+IE15IEdlbmllIFNFCj4gTXkgR2V0UmlnaHQKPiBOZWF0RlRQCj4gTmV0IENCCj4gTmV0IFNjYW4gMjAwMAo+IE5ldCBWYW1waXJlCj4gTmV0LUEtQ2FyIEZlYXR1cmUgQ2FyIFNjcmVlbnNhdmVyCj4gTmV0QW50cwo+IE5ldEJvYXJkCj4gTmV0YnVzIFBybyAyLjEwCj4gTmV0Q2FwdG9yIDUuMAo+IE5ldG1hbiBEb3dubG9hZGVyCj4gTmV0TmFrCj4gTmV0U3VjayAzLjEwLjUKPiBOZXRUaW1lIFRoaW5neQo+IE5ldHdvcmsgQXNzaXN0YW50Cj4gTmV1cm9TdG9jawo+IE5ld3NCaW4KPiBOZXdzU2hhcmsKPiBOZXdzV2lyZQo+IE5mb05hawo+IE5vdGVQYWRzKwo+IE5vdGlmaWNhdG9yIDEuMGIKPiBPY3RvcHVzCj4gUGF0dGVybiBCb29rCj4gUGVvcGxlIFNlZWsgOTgKPiBQZXJzb25hbCBTZWFyY2ggQWdlbnQKPiBQaG90b2NvcGllcgo+IFBpY1BsdWNrCj4gUGljdHVyZXMgSW4gTmV3cwo+IFBpbmcgVGhpbmd5Cj4gUGluZ01hc3Rlcgo+IFBsYW5ldC5CaWxsYm9hcmQKPiBQbGFuZXQuTVAzRmluZAo+IFBNUwo+IFByb3RlY3RYIDMKPiBQcm94eUNoZWNrZXIKPiBRdWFkU3Vja2VyL1dlYgo+IFF1YWR6bGUgUHV6emxlcwo+IFF1aWtMaW5rIEF1dG9ib3QKPiBRdWlrTGluayBFeHBsb3Jlcgo+IFF1aWtMaW5rIEV4cGxvcmVyIEdvbGQgRWRpdGlvbgo+IFF1b3RlV2F0Y2gKPiBRV2FsbGV0Cj4gUmVhbCBFc3RhdGUgV2ViIFNpdGUgQ3JlYXRvcgo+IFJlY2lwZSBSZXZpZXcKPiBSZUdldCAxLjYKPiBSZXN1bWUgRGV0ZWN0aXZlCj4gUmluZ1N1cmYKPiBSb2JvQ2FtIDEuMTAKPiBSb3NlbWFyeSdzIFdlaXJkIFdlYiBXb3JsZAo+IFNhYmVyUXVlc3QgUGFnZSBCdXJuZXIKPiBTQkpWCj4gU0JXY2MKPiBTY291dCdzIEdhbWUKPiBTY3JlZW5GSVJFCj4gU2NyZWVuRklSRSAtIEZpbGVLaW5nCj4gU2NyZWVuRmxhdm9ycwo+IFNlYSBCYXR0bGUKPiBTaGl6emFtCj4gU2ltcGxlIFN1Ym1pdAo+IFNpbXBsZUZpbmQKPiBTaW1wbGVTdWJtaXQgdjEuMAo+IFNLLTExMQo+IFNtYXJ0ICduIFN0aWNreQo+IFNtYXJ0Qm9hcmQgMjAwIEZSRUUgRWRpdGlvbgo+IFNtYXJ0U3VtIGNhbGN1bGF0b3IKPiBTb25pY01haWwKPiBTb3VuZCBBZ2VudAo+IFNwYWNlIENlbnRyYWwgU2NyZWVuIFNhdmVyCj4gU3BsYXNoISBTaXRlcmF2ZQo+IFN0YXJ0RHJpdmUKPiBTdGF0aWMgRlRQCj4gU3RvY2tCcm93c2VyCj4gU3Vic2NyaWJlcgo+IFN1bkVkaXQgMksKPiBTdXBlcklERQo+IFN3ZWVwCj4gU3dlZXBzV2lubmVyCj4gVGV4dCBUcmFuc21vZ3JpZmllcgo+IFRoZSBNYXBwZXIKPiBUaGVOZXQKPiBUSS1GaW5kTWFpbAo+IFRJRk5ZCj4gVG90YWwgRmluZ2VyCj4gVG90YWwgV2hvaXMKPiBUcmFja2luZyBUaGUgRXllCj4gVHJhZGUgU2l0ZSBDcmVhdG9yCj4gVFdpbkV4cGxvcmVyIFN0YW5kYXJkCj4gVHlwZVdyaXRlciAxLjAKPiBVSyBQaG9uZSBDb2Rlcwo+IFZhZ2Fib25kJ3MgUmVhbG0KPiBWZXJpTVAzCj4gVmVydGlnbyBRU2VhcmNoCj4gVmlydHVhbCBBY2Nlc3MKPiBWaXN1YWwgQ3liZXJhZGlvCj4gVmlzdWFsIFN1cmZlcgo+IFZPRyBCYWNrZ2FtbW9uIE1haW4KPiBWT0cgQmFja2dhbW1vbiBUYWJsZQo+IFZPRyBDaGVzcyBNYWluCj4gVk9HIENoZXNzIFRhYmxlCj4gVk9HIFJldmVyc2kgTWFpbgo+IFZPRyBSZXZlcnNpIFRhYmxlCj4gVk9HIFNoZWxsCj4gVk9HIFNoZWxsCj4gVk9HIFNoZWxsIEhpc3RvcnkKPiBXM0ZpbGVyCj4gV2ViIENvdXBvbgo+IFdlYiBQYWdlIEF1dGhvcmluZyBTb2Z0d2FyZQo+IFdlYiBSZWdpc3RyYW50IFBSTwo+IFdlYiBSZXN1bWUKPiBXZWIgU3VyZkFDRQo+IFdFQjJTTVMKPiBXZWJDYW1WQ1IKPiBXZWJDb3BpZXIKPiBXZWItTi1Gb3JjZQo+IFdlYlNhdmVyCj4gV2Vic2l0ZSBNYW5hZ2VyCj4gV2ViU3RyaXBwZXIKPiBXZWJUeXBlCj4gV2hvSXMgVGhpbmd5Cj4gV2luIEEgTG90dG8KPiBXaW5FZGl0IDIwMDAKPiBXb3JkKwo+IFdvcmR3cmlnaHQKPiBXb3JsZENoYXQgQ2xpZW50Cj4gV29ybQo+IHd3dy5kZXZnYW1lcy5jb20KPiB4QmxvY2sKPiBZb3VyIEVTUCBUZXN0Cj4gWmlvbgo+IFppcCBFeHByZXNzIDIwMDAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZGxpYiwgYWJlciB3ZWxjaGU/IChBcHN1LCAyNS4gRmViIDIwMDAsIDA2OjQwOjQ1KToKfiMhIHJuPUFjcmltb24gcnQ9OTUxNDAzMjA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MDEwMTM3MApXZW5ucyBuaWNodCBncmFkIG1hbCB3aWVkZXIgZG93biBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNdWRsaWIsIGFiZXIgd2VsY2hlPyAoU29uZ29rdSwgMjUuIEZlYiAyMDAwLCAxMzoxOToxMik6Cn4jISBybj1BY3JpbW9uIHJ0PTk1MTQwMzIwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTAxMDEzNzAKbmVlLiBzY2hhdXQgZXVjaCBhbm5vIGFuICh3aXIgYnJhdWNoZW4gZGEgZWggbm9jaCBsZXV0ZSBkaWUgd2FzIG1hY2hlbiB3b2xsZW4pCgpTb25Hb2t1IGFsaWFzIFJvYmluQGFubm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhZHZlcnQuZGxsIG9kZXIgQXVyZWF0ZSBzcHkgISEhIChBY3JpbW9uLCAyNS4gRmViIDIwMDAsIDE3OjQ2OjQ1KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTUxNDM3MzczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MTQzNzM3MwpTb2xhbmdlIGRpZSBTb2Z0d2FyZSBuaWNodCBPcGVuIFNvdXJjZSBpc3QsIGlzdCBlcyBpbW1lciBtZ2xpY2gsIGRhIHNpZQppcmdlbmR3ZWxjaGUgYm9lc2VuIERpbmdlIG1hY2h0LgoKQWNyaW1vbiwga3VyeiB1bmQgYnVlbmRpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgc2NobGVwcGkgKE15c3RlcmlvdXMsIDI3LiBGZWIgMjAwMCwgMjE6MDc6MTgpOgprb24tYmFuLXdhIQoKd2VyIGhhdCBuIHBvd2VyYm9vayBnMyB1bmQgbW9lY2h0ZSBlcyBsb3N3ZXJkZW4/CmRlci9kaWVqZW5pZ2Ugc29sbHRlIHNpY2ggYmlkZGUgYmVpIG1pciBtZWxkZW4uLgoKdGlhLAogbVlzdGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYWR2ZXJ0LmRsbCBvZGVyIEF1cmVhdGUgc3B5ICEhISAoQXBzdSwgIDEuIE1hciAyMDAwLCAxNToxMzoxMyk6Cn4jISBybj1BY3JpbW9uIHJ0PTk1MTQ5NzIwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTE0MzczNzMKR2VodCBhdWNoLCB3ZW5uIHNpZSBvcGVuIHNvdXJjZSBpc3QuIFdlbm4gbWFuIGhhbHQgbmV0IHJlaW5zY2hhdXQgLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJoaXR6dCA/Pz8gKE1vcmdvdGgsICAyLiBNYXIgMjAwMCwgMTA6MTE6NTUpOgpBYWFhbHNvLCBpY2ggaGFiIG1pciB2b3JnZXN0ZXJuIG5lbiBLNi0yIDUwMCB1bmQgMTI4TUIgU0RSQU0gaW4gbWVpbiBCb2FyZApnZWJhdXQgdW5kIHNlaXQgZGVtIGhhYmUgaWNoIHNlaHIgbWVya3d1ZXJkaWdlIFN5c3RlbWFic3R1ZXJ6ZSB1bnRlciBXSU45OCB1bmQKTGludXggISEKRGllIEdyYWZpa2thcnRlIChCYW5zaGVlKSB3aXJkIFNjaHdlaW5laGVpc3MsIG9id29obCBpY2ggZGlyZWt0IGRhbmViZW4gbmVuClRhbmdlbnRpYWxsdWVmdGVyIGhhYi4gTmV1aW5zdGFsbGF0aW9uIHZvbiBXSU45OCBicmFjaHRlIG5peC4gV2VubiBpY2ggZGFzCkdlaGFldXNlIG9mZmVuIGxhc3NlLCBsYWV1ZnQgZXIgKGJpc2hlcikgb2huZSBQcm9ibGVtZS4gS2FubiBkYXMgd2lya2xpY2ggbnVyClVlYmVyaGl0enVuZyBzZWluPwoKTSogZnJhZ3Qgc2ljaCwgb2IgZXIgc2ljaCBIYXJkd2FyZSBnZXNjaG9zc2VuIGhhdAoKUC5TLjogQ1BVIHVuZCBCYW5zaGVlIHNpbmQgKG5vY2gpIE5JQ0hUIHVlYmVydGFrdGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb2RlbS1TdGFydCAoWWVuZGksICAyLiBNYXIgMjAwMCwgMTQ6NDU6MjEpOgoKRHJvbGxpZy4uLiBpY2ggaGF0dGUgbGV0enRlbnMgbWVpbmVuIFJlY2huZXIgKEs2LCBXSU45NSkgcnVudGVyZ2VmYWhyZW4gdW5kCmJpbiBpbiBkaWUgS3VlY2hlIGdldGFwZXJ0LCB1bSBlaW5lIFRhc3NlIFRlZSB6dSB0cmlua2VuLiBBbHMgaWNoIHdpZWRlciBpbnMKWmltbWVyIGthbSwgdW0gYWxzIGJyYXZlciBFbmVyZ2llc3BhcmVyIGRlbiBOZXR6c2NoYWx0ZXIgYW4gZGVyClZlcnRlaWxlcmxlaXN0ZSB6dSBiZXRhZXRpZ2VuLCBrbGluZ2VsdGUgdW5zZXIgV0ctVGVsZWZvbi4KRGFzIG5vY2ggZWluZ2VzY2hhbHRldGUgTW9kZW0gcGllcHRlIHVuZCBkZXIgUmVjaG5lciBmdWhyIHdpZWRlciBob2NoLgoKSXNzYXMgbm9ybWFsPwoKVmVyd2lycnQtZW50enVlY2t0CiAgICAgICAgICAgICAgICBZZW5kaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVZWJlcmhpdHp0ID8/PyAoS2FyYW0sICAyLiBNYXIgMjAwMCwgMTU6Mjc6NDEpOgp+IyEgcm49TW9yZ290aCBydD05NTE5ODgzMTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUxOTg4MzE1CkFsdGVybmF0aXZlIHp1ciBVZWJlcmhpdHp1bmcgd2FlcmUgbm9jaCBlaW4gdWViZXJsYXN0ZXRlcyBOZXR6dGVpbCwgd2FzCmRpZSBWZXJiZXNzZXJ1bmdlbiBiZWkgb2ZmZW5lbSBHZWhhZXVzZSBhYmVyIG5pY2h0IHNvIGd1dCBlcmtsYWVydC4KCi0tCkthcmFtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9kZW0tU3RhcnQgKEJ1YmJhLCAgMi4gTWFyIDIwMDAsIDE2OjE2OjUxKToKfiMhIHJuPVllbmRpIHJ0PTk1MjAwNDcyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTIwMDQ3MjEKCkdlaWxlciBUZWUhCldhcyB3YXInbiBkYXMgZnVlciBlaW5lcj8KCkJ1YmJhICpodWVwZioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW9kZW0tU3RhcnQgKFBpbGdyaW0sICAyLiBNYXIgMjAwMCwgMjE6Mzg6NDUpOgp+IyEgcm49QnViYmEgcnQ9OTUyMDEwMjExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MjAwNDcyMQo+IERhcyBub2NoIGVpbmdlc2NoYWx0ZXRlIE1vZGVtIHBpZXB0ZSB1bmQgZGVyIFJlY2huZXIgZnVociB3aWVkZXIgaG9jaC4KPiAKPiBJc3NhcyBub3JtYWw/CgpFcyBnaWJ0IGltIEJJT1Mgdm9uIE1vZGVybmVuIFBDcyBlbnRzcGVyY2hlbmRlIE9wdGlvbmVuLCAKZGllIGVybGF1YmVuLCBkZW4gUEMgcGVyIE1vZGVtL0V0aGVybmV0LUFrdGl2aXRhZXQgenUKYm9vdGVuIC4uLiBzY2hhdSBtYWwgbmFjaC4KClBpbGdyaW0KUFM6IGRhcyB0dXRzIG5hdC4gbnVyIGJlaSBBVFgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVWViZXJoaXR6dCA/Pz8gKEFwb3BoaXMsICAyLiBNYXIgMjAwMCwgMjI6NTk6MDgpOgp+IyEgcm49S2FyYW0gcnQ9OTUyMDA3MjYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MTk4ODMxNQpqbywgaWNoIHRpcHAgYXVjaCBhdWZzIG5ldHp0ZWlsLi4uIApkaWUgYWx0ZW4gKHVuZCBkaWUgbmV1ZW4gbm9jaCB2aWVsIG1laHIpIGFtZCdzIHppZWhlbiBtYXNzaWcgc3Ryb20uLi4gaGFiIG1pcgphdWNoIGVpbiBuZXVlcyBrYXVmZW4gbXVlc3Nlbi4uLgoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVWViZXJoaXR6dCA/Pz8gKE1vcmdvdGgsICAzLiBNYXIgMjAwMCwgMDg6MzI6MjgpOgp+IyEgcm49QXBvcGhpcyBydD05NTIwMzQzNDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUxOTg4MzE1CmhtbSwgbmV0enRlaWwgaXMgZ3V0LCBpcyBnbGF1YiBpY2ggbnVyIGVpbiBhbHRlcyBnYW1tbGlnZXMgMjMwZXIuIG11c3MgaWNoIG1hbApjaGVja2VuLCBkYW5rZS4gOy0pCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vZGVtLVN0YXJ0IChTaGFyaWEsICAzLiBNYXIgMjAwMCwgMDk6MDU6NTIpOgp+IyEgcm49WWVuZGkgcnQ9OTUyMDA0NzIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MjAwNDcyMQppbiBkZW4gbWVpc3RlbiBCSU9Tc3Nzc2VuIG5lbm50IHNpY2ggZGllIE9wdGlvbiBQT1dFUiBPTiBCWSBNT0RFTSAvIExBTiAuLi4KZG9ydCBlaW5mYWNoIGRlYWt0aXZpZXJlbiB1bmQgZGVpbiByZWNobmVyIGJsZWlidCBhdWNoIGJlaSBlaW5nZXNjaGFsdGV0ZW0Ka2xpbmdlbG5kZW0gTW9kZW0gYXVzLgoKU2hhcmlhLCBoYXR0ZSBkYXMgYW5mYW5ncyBhdWNoIHZlcmdlc3NlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IFJBTSAoT3JrdG9ldGVyLCAgNi4gTWFyIDIwMDAsIDE4OjQ2OjUxKToKCkRpZSBQYXJ0eSBzdGVodCBiZXZvciwgbWFuIHNpZWh0IHNpZWh0IHNpY2ggYWxzbyBldnRsLiBiYWxkLCBkYSBlcmlubmVyZSBpY2gKbWljaCBkYXJhbiwgZGFzIG1laW4gYWx0ZXIgUGVudGl1bSBldHdhcyBzY2h3YWNoIGJlaSBTcGVpY2hlciBpc3QuCldlciBoYXQgbm9jaCA4IE1CIG9kZXIgZ3JvZXNzZXJlIFNwZWljaGVybW9kdWxlIGZ1ZXIgbmVuIG9sbGVuIFBlbnRpdW0gdW5kCndpbGwgc2llIGxvc3dlcmRlbiA/CgpBbnR3b3J0ZW4gdW5kIEdlYm90ZSBiaXR0ZSBwZXIgbWFpbCBhbiBtaWNoLCBPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IFJBTSAoSG91c2Vob2xkZXIsICA2LiBNYXIgMjAwMCwgMjA6NDE6MTMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTk1MjM2NDgxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTIzNjQ4MTEKdmFrYXVmIG1pciBsaWViYSBkZWluZW4gYWx0biBwZW50aXVtIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWTJrLUJ1ZyBpbSBBd2FyZC1CSU9TIChUaWFtYWssICA3LiBNYXIgMjAwMCwgMTQ6MzY6MzApOgpIaWhvIQoKSmFqYSAtIGljaCBoYWJlIGRpZSBBcnRpa2VsIHVlYmVyIFkyay1CdWdzIGluIGRlciBjJ3QgYWxsZSBnZWxlc2VuLiBVbmQgaW1tZXIKZ2VzY2htdW56ZWx0IG5hY2ggZGVtIE1vdHRvICJtZWluZSBSZWNobmVyIGZ1bmt0aW9uaWVyZW4gamEiLiBUdW4gc2llIGF1Y2gKaW1tZXIgbm9jaCAtIGFiZXIgaWNoIGhhZXR0ZSBtZWluZW4gWndlaXRyZWNobmVyIHdvaGwgbmljaHQgaGVydW50ZXJmYWhyZW4KZHVlcmZlbi4gOy0pCgpBYmVyIGVzIGthbSB3aWUgZXMga29tbWVuIG11c3N0ZTogZGVyIFJlY2huZXIgaGF0IGVpbiBBd2FyZC1CSU9TLiBFciBsYWVzc3QKc2ljaCB6d2FyIGJyYXYgYXVmIGRhcyBKYWhyIDIwMDAgc3RlbGxlbiB1bmQgbGFldWZ0IGRhbWl0IGF1Y2ggLSBhYmVyIG51ciBiaXMKenVtIG5hZWNoc3RlbiBSZWJvb3QuIERhbm4gaGFiZSBpY2ggZGFzIEphaHIgMTk5NCBvZGVyIGF1Y2ggbWFsIDE5OTIuCgpOYXR1ZXJsaWNoIGZpbmRlIGljaCBkZW4gYmV0cmVmZmVuZGVuIEFydGlrZWwgamV0enQgbmljaHQgbWVociB3aWVkZXI6IGRhIGdhYgplcyBkb2NoIGlyZ2VuZGVpbiBUb29sLCBtaXQgZGVtIG1hbiBlaW4gQml0IGltIEJJT1MgdW1zZXR6ZW4ga29ubnRlLCBkYW1pdCBkZXIKUmVjaG5lciBhdWNoIGRhcyBKYWhyIDIwMDAgcmljaHRpZyBzY2hsdWNrdCwgb2Rlcj8KClNhY2hkaWVubGljaGUgSGlud2Vpc2Ugd2VyZGVuIGRhbmtlbmQgZW50Z2VnZW4gZ2Vub21tZW4uIAoKClRpYW1hay4gTXVzcyBkYXMgRGF0dW0gc29uc3QgendlaW1hbCBpbSBKYWhyIHBlciBIYW5kIGtvcnJpZ2llcmVuLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1TIFZDIEZyYWdlIChQaWxncmltLCAxNC4gTWFyIDIwMDAsIDExOjIwOjQ3KToKSGksCgphbHMgYWJzb2x1dGVyIEFuZmFlbmdlciBpbiBkZXIgV2luZG93c1Byb2dyYW1taWVydW5nCmhhYiBpY2ggZWluZSBGcmFnZSAob2RlciBhdWNoIHp3ZWkpIGJ6Z2wuIGRlciBOdXR6dW5nCnZvbiBPblBhaW50KCksIGJ6dywgd2llIGljaCBiZWkgZWluZXIgU0RJLUFwcGxpa2F0aW9uCnNvd2FzIHdpZSBuZW4gQnV0dG9uIGF1ZiBkYXMgKFNESSlGZW5zdGVyIGJla29tbWUuCgpbSWNoIGhhYiBzY2hvbiBkaXZlcnNlIFZDKysgQnVlY2hlciBnZXdhZWx6dCwgYWJlcgppcmdlbmR3aWUgZmluZGUgb2RlciB1ZWJlcmxlc2UgaWNoIHdvaGwgZGFzIHdpY2h0aWdzdGU/KQoKQWxzbywgbWVpbiBLb2xsZWdlIC0gZGVyIHp3cmEgdmllbCB1bnRlciBWQysrIGdlcHJvZ3QKaGF0LCBhYmVyIGhhbHQgbmllIG1pdCBkZW0gQXBwV2l6IC0gbWFjaHQoZSkgZGFzIGVpbmZhY2gKc286IGluIE9uUGFpbnQoKSBlaW4gQ3JlYXRlV2luZG93KC8qIGRhbm4gZGllIFBhcmFtZXRlciAqLykKCnNjaG9lbiAuLi4gc29sbHRlIGluIGVpbmVyIE1pdCBkZW0gQXBwV2l6IGVyc3RlbGx0ZW4KQW53ZW5kdW5nIGphIGF1Y2ggZ2VoZW4gLi4uIGFsc28sIHdhcyBicmF1Y2h0IG1hbiAuLi4KCkhXTkQgQ3JlYXRlV2luZG93KCBMUENUU1RSIGxwQ2xhc3NOYW1lLCAKIC8vIHBvaW50ZXIgdG8gcmVnaXN0ZXJlZCBjbGFzcyBuYW1lIAovLyBobW0sIHdhcyBnZWhvZWhydCBoaWVyIGhpbiAiQlVUVFVOIiwgImJ1dHRvbiIsICJDQnV0dG9uIiwgb2RlciB3YXMgCkxQQ1RTVFIgbHBXaW5kb3dOYW1lLCAKIC8vIHBvaW50ZXIgdG8gd2luZG93IG5hbWUgCiAvLyBvLmsuIGhpZXIga2FubiBtYW5uIHouQi4gIkJ1dHRvbiBOYW1lIG5laG1lbiIgCkRXT1JEIGR3U3R5bGUsIAogLy8gd2luZG93IHN0eWxlIAogLy8gV1NfQ0hJTEQgID8/PwppbnQgeCwgCiAvLyBob3Jpem9udGFsIHBvc2l0aW9uIG9mIHdpbmRvdyAKIC8vIGtsYXIKaW50IHksIAogLy8gdmVydGljYWwgcG9zaXRpb24gb2Ygd2luZG93IAogCmludCBuV2lkdGgsIAogLy8gd2luZG93IHdpZHRoIAogCmludCBuSGVpZ2h0LCAKIC8vIHdpbmRvdyBoZWlnaHQgCiAKSFdORCBoV25kUGFyZW50LCAKIC8vIGhhbmRsZSB0byBwYXJlbnQgb3Igb3duZXIgd2luZG93IAogLy8gYWhhIC4uLiB1bmQgd2llIGtvbW0gaWNoIGRhIHJhbm4/Pz8gR2V0UGFyZW50KCk/Pz8KSE1FTlUgaE1lbnUsIAogLy8gaGFuZGxlIHRvIG1lbnUgb3IgY2hpbGQtd2luZG93IGlkZW50aWZpZXIgCiAvLyAKSEFORExFIGhJbnN0YW5jZSwgCiAvLyBoYW5kbGUgdG8gYXBwbGljYXRpb24gaW5zdGFuY2UgCiAvLyBXaWUga29tbSBpY2ggZGEgcmFubiA/Pz8KTFBWT0lEIGxwUGFyYW0gCiAvLyBwb2ludGVyIHRvIHdpbmRvdy1jcmVhdGlvbiBkYXRhIAogLy8gb2ssIGRlciBpc3Qgb3B0aW9uYWwgLi4uIGthbm4gYWxzbyB3ZWdnZWxhc3NlbiB3ZXJkZW4KKTsgCiAKPz8/CgpCZWltIFN1Y2hlbiBpbiBkZXIgSGVscCBmYW5kIGljaCBkYW5uIG5vY2gKZGllIEtsYXNzZSBDQnV0dG9uLCB2aWVsbGVpY2h0IGdlaHRzIGRhbWl0IGphLAphYmVyIHdpZSAobXVzcyBtYW4gZGFzIGRhbm4gYXVmcnVmZW4sIGVpbmZ1ZWdlbik/CgpDQnV0dG9uOjpDcmVhdGUgCkJPT0wgQ3JlYXRlKCBMUENUU1RSIGxwc3pDYXB0aW9uLCAKICAgICAgICAgICAgIFdPUkQgZHdTdHlsZSwgCiAgICAgICAgICAgICBjb25zdCBSRUNUJiByZWN0LCAKICAgICAgICAgICAgIENXbmQqIHBQYXJlbnRXbmQsIC8vIHdvIGtyaWVnIGljaCBkaWUgSW5mbyBoZXIgCiAgICAgICAgICAgICBVSU5UIG5JRCApOwoKSWNoIGthbm4gbWlyIGVpbmZhY2ggbmljaHQgdm9yc3RlbGxlbiwgZGFzIGRhc3Mgc29vIGtvbXBsaXppZXJ0CmlzdC4KCkFjaEphLCBCdXR0b25zIHVuZCBDb250cm9sbGZlbGRlciBpbiBEaWFsb2dlbiAobWl0IGRlbQpEaWFsb2dFZGl0b3IpIHR1bnMgc28gd2llIHNpZSBzb2xsZW4gLi4uIHNvd2VpdCBoYWIgaWNoInMKZGFubiBkb2NoIGdlc2NoYWZ0IC4uLiApCgoKT2xhZgoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1TIFZDIEZyYWdlIChIb29kLCAxNC4gTWFyIDIwMDAsIDExOjIyOjQ4KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTUzMDI5MjQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MzAyOTI0NwprZW5uc3QgZHUgZGllIHVzZW5ldCBuZXdzZ3JvdXBzPyBldnRsLiB3YWVyZSBkaWUgZnJhZ2UgZG9ydCBiZXNzZXIKYXVmZ2Vob2JlbiB1bmQgZWluZSByYXNjaGUgYW50d29ydCBpc3QgYXVjaCBnZXdhZWhybGVpc3RldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVMgVkMgRnJhZ2UgKFBpbGdyaW0sIDE0LiBNYXIgMjAwMCwgMTQ6MTM6NDApOgp+IyEgcm49SG9vZCBydD05NTMwMjkzNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUzMDI5MjQ3Cj4ga2VubnN0IGR1IGRpZSB1c2VuZXQgbmV3c2dyb3Vwcz8gZXZ0bC4gd2FlcmUgZGllIGZyYWdlIGRvcnQgYmVzc2VyCj4gYXVmZ2Vob2JlbiB1bmQgZWluZSByYXNjaGUgYW50d29ydCBpc3QgYXVjaCBnZXdhZWhybGVpc3RldC4KCjotKSBTZWxic3RtdXJtZWxuZCBhdWNoIGRvcnQgZ2Vwb3N0ZXQgLi4uIDstKQoKUC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJWaXJlbm1lbGR1bmdlbiIgZ2VzdWNodCAoTW9yZ290aCwgMTUuIE1hciAyMDAwLCAxMDoyNDozNCk6CkhpaG8sCgppY2ggc3VjaGUgTWVsZHVuZ2VuIChhdWNoIEhvYXhlcykgdWViZXIgZGl2ZXJzZSBWaXJlbiwgZGllIHBlciBFbWFpbCwgV29yZAp1c3cuIHZlcmJyZWl0ZXQgd2VyZGVuLiBCaXR0ZSBkaWUgTWFpbHMgYW4gc3ZlbkB0aG9yLmNoZW1pZS51bmktZG9ydG11bmQuZGUKb2RlciBhbiBkaWUgbG9rYWxlIE11ZC1NYWlsLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJIYWNrZXIiICYgRHJ1Y2tlciAoTW9yZ290aCwgMTUuIE1hciAyMDAwLCAxMDo1NDo0Nyk6CkhpaG8sCgppY2ggbW9lY2h0ZSBmb2xnZW5kZXMgc2NocmlmdGxpY2goV2ViKSB3aWRlcmxlZ3QgaGFiZW46CkVzIGlzdCBtb2VnbGljaCBzaWNoIGF1ZiBlaW5lbSBMYXNlcmpldCBIUDRNKyBhdWYgZGVyIEpldERpcmVjdC1LYXJ0ZQplaW56dWhhY2tlbiB1bmQgc2ljaCB2b24gZG9ydCB1ZWJlciBkYXMgUGFyYWxsZWxrYWJlbCBpbiBkZW4gUGFyYWxsZWxwb3J0IHVuZApzb21pdCBpbnMgZGFzIEJldHJpZWJzc3lzdGVtIHp1IGhhY2tlbi4KCk0qCgpQLlMuOiBEYXMgaXN0IEtFSU4gU2NoZXJ6LCBtZWluIENoZWYgZ2xhdWJ0IGRhcyAhIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICJWaXJlbm1lbGR1bmdlbiIgZ2VzdWNodCAoUHJhLCAxNS4gTWFyIDIwMDAsIDE2OjIwOjIxKToKfiMhIHJuPU1vcmdvdGggcnQ9OTUzMTEyMjc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MzExMjI3NAppY2ggc2NoaWNrIG1hbCBlaW4gcGFhciBMaW5rcyB6dW0gVGhlbWEgJ0hvYXhlcyc6CgpodHRwOi8vd3d3LnBoaWxiLmNvbS9ob2F4ZXMuaHRtCmh0dHA6Ly9rdW1pdGUuY29tL215dGhzLwpodHRwOi8vd3d3LnN0aWxsZXIuY29tL2d1dHMuaHRtCmh0dHA6Ly93d3cuYW50aXZpcnVzLmNvbS92aW5mby8KaHR0cDovL3d3dy51bWljaC5lZHUvaXJ1cy1idXN0ZXJzL2hvYXhlcy91bmFibGUuaHRtbAoKU29sbHRlIGVyc3RtYWwgcmVpY2hlbiwgb2Rlcj8gOi0pCgpQcmEuIEF1Y2ggZ2VuZXJ2dCB2b24gTGV1dGVuLCBkaWUgSG9heGVzIHZlcmJyZWl0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIlZpcmVubWVsZHVuZ2VuIiBnZXN1Y2h0IChNb3Jnb25hdGUsIDE2LiBNYXIgMjAwMCwgMTE6NTQ6MzgpOgp+IyEgcm49TW9yZ290aCBydD05NTMxMTIyNzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUzMTEyMjc0ClNvd2VpdCBpY2ggd2Vpc3MsIGdpYnQgZXMgaW0gTmV0eiBpcmdlbmR3byBlaW5lIFN0ZWxsZSwgZGllIGFsbGUgImFrdHVlbGxlbiIKSG9heGUgc2FtbWVsdC4gRWluZmFjaCBtYWwgeWFob28gb2RlciBhbmRlcmUgU3VjaG1hc2NoaW5lIG1pdCBkZW0gU3RpY2h3b3J0CkhvYXggZnVldHRlcm4uCgpNb3Jnb25hdGUgKm5pY2h0IHZlcndhbmR0IG1pdCBNKiAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW4ySyAoU29uZ29rdSwgMTcuIE1hciAyMDAwLCAxNDo0Nzo1Nik6CmFuZ2VibGljaCB3dXJkZSBpbiBkZXIgc3BhbmlzY2hlbiB6ZWl0c2NocmlmdCBwYy13b3JsZCBlaW5lIDEyMCB0YWcgd2luMksKdGVzdHZlcnNpb24gYXVzZ2VsaWVmZXJ0LCBkaWUgdmVyc2VoZW50bGljaCB6dSAxMDAlIG1pdCBkZXIgbm9ybWFsZW4gdmVyc2lvbgppZGVudGlzY2ggaXN0LiAoYWxzbyBrZWluZSAxMjAgdGFnZSB0ZXN0ZW4gb2RlciBzbykKZXMgd3VyZGVuIHNjaGVpbmJhciAxMDAuMDAwIHplaXRzY2hyaWZ0ZW4gZ2VkcnVja3QgdW5kIHZlcmthdWZ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW4ySyAoSG9vZCwgMTcuIE1hciAyMDAwLCAxNDo0ODo0OCk6Cn4jISBybj1Tb25nb2t1IHJ0PTk1MzMwMDg3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTMzMDA4NzYKaWNoIGdsYXViLCBkZW4gaGVpc2UtbmV3c3RpY2tlciBsaWVzdCBoaWVyIGplZGVyIHNlbGJzdCAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbjJLIChTb25nb2t1LCAxNy4gTWFyIDIwMDAsIDE0OjU5OjA1KToKfiMhIHJuPUhvb2QgcnQ9OTUzMzAwOTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1MzMwMDg3NgppY2ggbmljaHQKCihhbWlnYW5ld3MuZGUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW4ySyAoSG9vZCwgMTcuIE1hciAyMDAwLCAxNTowOTozMCk6Cn4jISBybj1Tb25nb2t1IHJ0PTk1MzMwMTU0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTMzMDA4NzYKZGFubiBoaW5rZW4gZGllIGFiZXIgZ2VuYXVzbyB3aWUgZGFzIHp1Z2Vob2VyaWdlIHN5c3RlbSBkZXIgemVpdCBhcmcKaGludGVyaGVyLi4uZGllIG1lbGR1bmcgd2FyIGhldXQgbmljaCBtZWhyIHNvbmRlcmxpY2ggZnJpc2NoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOUy1EaWFncmFtbWUgKEFzaGFuLCAxOC4gTWFyIDIwMDAsIDAwOjA2OjA3KToKSGksCgppY2ggc3VjaGUgZWluIFByb2dyYW1tIG1pdCBkZW0gbWFuIE5hc3NpLVNobmVpZGVybWFuLURpYWdyYW1tZSAKZXJ6ZXVnZW4ga2Fubi4gVm9yIGJlciAxMCBKYWhyZW4gaGF0dGUgaWNoIG1hbCBlaW4gc29sY2hlcyBQcm9ncmFtbSwgCmRhcyB6d2FyIHJlY2h0IGVpbmZhY2ggd2FyIHVuZCBudXIgdW50ZXIgRE9TIGxpZWYgdW5kIGRpZSBBdXNnYWJlIApkaXJla3QgYXVmIGRlbSBEcnVja2VyIGxhbmRldGUsIGFiZXIgaW1tZXJoaW4gbGllZmVydGUgZXMgZXR3YXMgCmJyYXVjaGJhcmVzIGFiLiBJY2ggZ2xhdWIgZXMgaGllc3MgTlMtQ2hhcnQuIApOdW4gZGllIEZyYWdlOiBrZW5udCB3ZXIgZWluIFByb2dyYW1tLCBtaXQgZGVtIG1hbiBOUy1EaWFncmFtbWUgCmF1cyBQc2V1ZG9jb2RlIGVyemV1Z2VuIGthbm4gPwpXYXMgaWNoIG5pY2h0IHN1Y2hlIGlzdCBkZXIgRGFyc3RlbGx1bmcgdm9uIERpYWdyYW1tZW4gbWl0IFRlWApkaWUKVW13YW5kbHVuZyB2b24gUHNldWRvY29kZSBpc3Qgc2Nob24gQmVkaW5ndW5nCmJ6dyBkYXMgClByb2dyYW1tIHNvbGxlIFByb2dyYW1tc3RydWt0dXJlbiAoU2NobGVpZmVuLCBCZWRpbmd1bmdlbikgc2Nob24gCmFscyBEaWFncmFtbSBkYXJzdGVsbGVuIGtvZW5uZW4uCkFsdGVybmF0aXYgd2FlcmUgYXVjaCBlaW4gUHJvZ3JhbW0gaW50ZXJlc3NhbnQgZGFzIGF1cyBQc2V1ZG9jb2RlIApQcm9ncmFtbWFibGF1ZnBsYWVuZSBlcnpldWdlbiBrYW5uICwgYXVjaCB3ZW5uIG1pciBkaWUga29tcGFrdGVyZW4KTlMtRGlhZ3JhbW1lICh3ZW5uIG1hbiBzY2hvbiBQcm9ncmFtbWxvZ2lrIGdyYXBoaXNjaCBkYXJzdGVsbGVuIDt3aWxsIG9kZXIKbXVzcykgIGJlc3NlciBnZWZhbGxlbi4KCkdydXNzLApBc2hhbgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1dG9maWxsIGh0bWwgZm9ybXMgcGVyIGtvbW1hbmRvemVpbGUgKEFuYWtpbiwgMjAuIE1hciAyMDAwLCAxMTozNzo1NCk6CkhpLAoKaWNoIGhhYiBlaW5lIHdlYnNlaXRlIGRpZSBlaW4gZm9ybXVsYXIgZW50aGFlbHQuIERpZXNlIHdpbGwgaWNoIG51bgphdXRvbWF0aXNjaCBhdXNmdWVsbGVuIHVuZCBhYnNjaGlja2VuIGxhc3NlbiBvaG5lIGRhc3MgaWNoIGplZGVzbWFsCmFsbGVzIGVpbnRpcHBlbiBtdXNzLiBEYXMgZ2FuemUgc29sbHRlIHVudGVyIHVuaXggbGF1ZmVuIHVuZCBwZXIKa29tbWFuZG96ZWlsZSB6dSBiZWRpZW5lbiBzZWluLiBHaWJ0IGVzIGRhIGlyZ2VuZHdhcz8KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdXRvZmlsbCBodG1sIGZvcm1zIHBlciBrb21tYW5kb3plaWxlIChQcmEsIDIwLiBNYXIgMjAwMCwgMTM6MTg6MTApOgp+IyEgcm49QW5ha2luIHJ0PTk1MzU0ODY3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTM1NDg2NzQKSWNoIHRpcHAnIG1hbCwgZGFzcyB3ZW5uIGVzIHNvd2FzIGdpYnQsIGx5bnggc293YXMga29lbm5lbiBtdWVzc3RlIC0KaW1tZXJoaW4gaGF0IGRhcyBUZWlsIGVpbmUgZ2FuemUgTGF0dGUgdm9uIE9wdGlvbmVuIC0gbXVlc3N0ZSBkb2NoIGVpbgpwYXNzZW5kZXMgT3B0aW9lbmNoZW4gZGFiZWkgc2Vpbi4KClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXV0b2ZpbGwgaHRtbCBmb3JtcyBwZXIga29tbWFuZG96ZWlsZSAoUnVtYXRhLCAyMC4gTWFyIDIwMDAsIDEzOjQ2OjAxKToKfiMhIHJuPVByYSBydD05NTM1NTQ2OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUzNTQ4Njc0Cm1hbiBrYW5uIG5lbiBodHRwZHJlcXVlc3QgYXVjaCBwZXIgdGVsZW50IGFic2NoaWNrZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXV0b2ZpbGwgaHRtbCBmb3JtcyBwZXIga29tbWFuZG96ZWlsZSAoTWFyY3VzLCAyMC4gTWFyIDIwMDAsIDE4OjMyOjM2KToKfiMhIHJuPUFuYWtpbiBydD05NTM1NDg2NzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTUzNTQ4Njc0Cm1laXN0ZW5zIHN0ZWh0IGRhIGRpZSByZXBseSBVUkwgZHJpbi4KCmRhbm4gbWFjaHN0IGR1IGVpbmZhY2ggd2dldApodHRwOi8vaG9zdC91cmxfYW5fZGllX2Rlcl9wb3N0X3JlcXVlc3RfZ2VodD9maWVsZDE9d2VydDEmZmllbGQyPXdlcnQyJmZpZWxkMz0Kd2VydDMgdXN3CnNwZWNpYWwgY2hhcmFjdGVycyBuYWNoIGRlbiB1ZWJsaWNoZW4gcmVnZWxuIGVzY2FwZW4gKH4gLT4gJTdlIHVzdykKCgpDdWlhbywgTQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0lNTS1SQU0gKEdub21lLCAxNC4gQXByIDIwMDAsIDAxOjI5OjQ5KToKaGksCgpiaW4gYXVmIGRlciBzdWNoZSBuYWNoIHJpY2h0aWcgYWx0ZW0gUkFNLiBzb2cuIDMwLXBvbCBTSU1NLVJBTSwgYWJlcgppbW1lcmhpbiBzY2hvbiA2MCBucy4Kd2VubiBqbWQgc293YXMgbm9jaCBydW1mbGllZ2VuIGhhdCAoYW0gYmVzdGVuIDh4NCBNQiwgOHgyIHR1bnMgYWJlciBhdWNoKSwKdW5kIGVyIG1pciBkYXMgZnVlciBlaW5lbiBtb2RlcmF0ZW4gcHJlaXMgdmVya2F1ZmVuIGtvZW5udGUsIG1vZWdlIGVyL3NpZQptaXIgZWluZSBtYWlsIHNjaGlja2VuLgoKdGhhbmtzIGEgbG90LgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTSU1NLVJBTSAoQ2F0d2VhemxlLCAxNC4gQXByIDIwMDAsIDAxOjQ4OjU4KToKfiMhIHJuPUdub21lIHJ0PTk1NTY2ODU4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTU2Njg1ODkKQWxzbyBwYXNzIGF1ZiAuLi4KQWxzIGljaCBnZWxlc2VuIGhhYmUgJzMwcG9sIFNJTU0nIGRhY2h0ZSBpY2ggbWlyOiAna2xhciwgaGFiIGljaCwgd2FzIGRhcmZzCmRlbm4gc2Vpbj8nLiBhbHMgaWNoIHNhaCBfc2VjaHppZ18gbnMsIGRhY2h0ZSBpY2ggbWlyICdtYWNoIERpY2ggbmljaHQKbGFlY2hlcmxpY2gnLiBBbHMgRHUgZGFubiBhdWNoIG5vY2ggOE1CLVJpZWdlbCBoYWJlbiB3b2xsc3Rlc3Qga29ubnRlIGljaCBtaWNoCmthdW0gbm9jaCBoYWx0ZW4uIERpZSBEaW5nZXIgc2luZCBuaWNodCBudXIgc2VociBiZWdlaHJ0LCBzb25kZXJuIGFscyA2MG5zCm1pdHRsZXJ3ZWlsZSBxdWFzaSB1ZWJlcmhhdXB0IG5pY2h0IHZlcmZ1ZWdiYXIuIEFscyBkYW5uIGFscyBuYWVjaHN0ZXMgXzRfIE1CClJpZWdlbCBrYW0sIGRhY2h0ZSBpY2ggbWlyLCAnb2tvaywgZXIgaGF0IGtlaW5lIEFobnVuZycsIHdlaWwgZGllIERpbmdlciBlaApudXIgaW4gbWluaW1hbGVyIFN0dWVja3phaGwgamVtYWxzIHZvcmhhbmRlbiB3YXJlbi4gCkFiZXIgZGVyIEtuYWxsZXIgd2FyIGRhbm4gZGVyIEFic2NobHVzcy4gJ21vZGVyYXRlcicgUHJlaXMgaGF0IGVyIGdlc2FndC4gCkljaCBrb25udGUgbWljaCBudXIgbm9jaCBhdWYgZGVtIEJvZGVuIHJ1bXJvbGxlbi4KClNvcnJ5LCB0dXQgbWlyIExlaWQgOikgSWNoIGJpbiBuaWNodCBtZWhyIHZvbGxzdGFlbmRpZ2VyIEhlcnIgbWVpbmVyIFNpbm5lLgpQbGVhc2UgZm9yZ2l2ZSBtZSwgY291bGRuJ3QgcmVzaXN0Li4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU0lNTS1SQU0gKEdub21lLCAxNC4gQXByIDIwMDAsIDAxOjUzOjE3KToKfiMhIHJuPUNhdHdlYXpsZSBydD05NTU2Njk3Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU1NjY4NTg5Cm5hdHVlcmxpY2ggc2luZCBzaWUgdmVyZnVlZ2Jhci4gaWNoIF9rb2VubnRlXyBzaWUgbWlyIHVlYmVyIG5lbiB2ZXJzYW5kCmJlc3RlbGxlbi4gc2llIHNpbmQgbnVyIGFyc2NodGV1ZXIuLi4gOy0pCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU0lNTS1SQU0gKEFwc3UsIDE3LiBBcHIgMjAwMCwgMjE6MTE6MTkpOgp+IyEgcm49R25vbWUgcnQ9OTU1NjY5OTk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1NTY2ODU4OQpBcHN1LCBoYXQgbm9jaCBuZSBhbHRlIDM4Ni1ET1NlIHJ1bWZsaWVnZW4KV2VubiBEdSB3YXMgd2Vpc3N0LCBiaXR0ZSBiZXNjaGVpZCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFwYWNoZSB1bmQgLmh0YWNjZXNzIChQaWxncmltLCAyNS4gQXByIDIwMDAsIDE2OjI4OjU4KToKSGksCgprZW5udCBzaWNoIGVpbmVyIG1pdCBkZW4gV2ViU2VydmVyIEFwYWNoZSB1bmQgZGVyIEZ1bmt0aW9uCmRlciBadWdyaWZmU3RldWVydW5nIG1pdHRlbHMgLmh0YWNjZXNzICh1c2VyIHVuZCBwYXNzd29yZCBhYmZyYWdlKSBhdXMgLi4uPwoKTWVpbiBQcm9ibGVtOgpEaWUgZXJsYXVidGVuIFVzZXIgc3RlaGVuIGluIGVpbmVtIEZpbGUgaW4gZGVyIEZvcm0gICAKVVNFUm5hbWU6VmVyc2NobHVlc3NlbHRlcz9QYXNzd2QKCkZyYWdlIG1pdCB3ZWxjaGVtIFRvb2wgdmVyd2FsdGV0IG1hbiBkaWVzZXMgZmlsZSAoc3ByaWNoIHouQi4gZWluZW4gbmV1ZW4gVXNlcgptaXQgbmV1ZW0gUGFzc3dkIGhpbnp1ZnVlZ2VuKSAuLi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcGFjaGUgdW5kIC5odGFjY2VzcyAoTXlzdGVyaW91cywgMjUuIEFwciAyMDAwLCAyMTozODoyMSk6Cn4jISBybj1QaWxncmltIHJ0PTk1NjY3MjkzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTY2NzI5MzgKa29uLWJhbi13YSEKCiJtYW4gaHRwYXNzd2QiIGlzdCBkZWluIGZyZXVuZC4KbWl0ICJodHBhc3N3ZCAvZXRjL2h0cGFzc3dkIGx1c2VyIGxhbWV3b3JkIiBrb2VubnRlc3QgZHUgbmVuIHVzZXIgImx1c2VyIiBtaXQKcGFzc3dvcnQgImxhbWV3b3JkIiBpbiBkaWUgaHRwYXNzd2QgZWludHJhZ2VuLiBkaWUgc3ludGF4IGZ1ZXIgZGllCi5odGFjY2Vzcy1kYXRlaWVuIGlzIGRpciBnZWxhZXVmaWc/IGRhbm4gc29sbHRlIGRhcyBqYSBqZXR6dCBrZWluIHByb2IgbWVocgpzZWluIDopCgpzbyBsb25nCiBtWXN0aQoKcC5zLjogZGFzIGh0cGFzc3dkIGlzIHVlYnJpZ2VucyBuaWNoIG1laHIgYXVzIGRlbSB2ZXJzY2hsdWVzc2VsdGVuIHBhc3N3b3J0IHp1CnJla29uc3RydWllcmVuIChqYWphLCBpY2ggd2Vpc3MgPDopLiBpcyBoYWx0IGRhcyB1bml4LXR5cGlzY2hlIGVpbndlZy1jcnlwdAp3YXMgZGEgYmVudXR6dCB3aXJkICh3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lKS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXBhY2hlIHVuZCAuaHRhY2Nlc3MgKFBhcmRhdXosIDI2LiBBcHIgMjAwMCwgMDk6NTA6MzUpOgp+IyEgcm49UGlsZ3JpbSBydD05NTY2NzI5Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU2NjcyOTM4CkJlaSBBcGFjaGUgd2lyZCBlaW4gUHJvZ3JhZW1tY2hlbiBuYW1lbnMgaHRwYXNzd2QgbWl0Z2VsaWVmZXJ0LCBkYXMKZGllIHBhc3N3b2VydGVyIHZlcnNjaGx1ZXNzZWx0IHVuZCBpbiBkZW0gYW5nZXNwcm9jaGVuZW4gRmlsZSBzcGVpY2hlcnQuCkRhbWl0IGthbm5zdCBEdSBVc2VyIGFubGVnZW4gdW5kIFBhc3N3b2VydGVyIGFlbmRlcm4uCnp1bSBsb2VzY2hlbiBlaW5lcyBVc2VycyBpc3QgZWluZmFjaCBkaWUgZW50c3ByZWNoZW5kZSBaZWlsZSBpbQpGaWxlIHp1IGxvZXNjaGVuLgoKUGFyZGF1eiwgRXgtV2VibWFzdGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkcnVja2VyIHVudGVyIGxpbnV4IChTdG9wZGVuYnVzLCAyOC4gQXByIDIwMDAsIDEwOjQwOjQ0KToKSGkhCkljaCBoYWIgbWlyIGdlc3Rlcm4gbmVuIExleG1hcmsgWjExIGdla2F1ZnQgdW5kIHd1ZXJkIGRlbiBnZXJuIHVudGVyCkxpbnV4IHp1bSBsYXVmZW4gYnJpbmdlbi4gSW4gZGVyIFN1c2UtSGFyZHdhcmUtRGF0ZW5iYW5rIHN0ZWh0LCBlcgp3aXJkIG5ldCB1bnRlcnN0dWV0enQuIEFyZyAhIEplZGVuZmFsbHMsIGltIEhhbmRidWNoIHN0ZWh0LCBkYXMgbWFuLAp3ZW5uIG1hbiB1bnRlciBET1MgZHJ1Y2tlbiB3aWxsLCBuZW4gSFAgRGVza2pldCA1MDAgb2RlciA1MDBDIC0gVHJlaWJlcgpuZWhtZW4gc29sbCwgbGVpZGVyIGZ1bnp0IGRhcyBnYW56ZSBuZXQgdW50ZXIgTGludXguIEhhdCBkYSB3ZXIgbmUgSWRlZSA/CgpTdG9wcGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkcnVja2VyIHVudGVyIGxpbnV4IChLb2JheWFzaGksIDI4LiBBcHIgMjAwMCwgMTE6Mzk6MjYpOgp+IyEgcm49U3RvcGRlbmJ1cyBydD05NTY5MTEyNDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU2OTExMjQ0CkhpLAoKaWNoIGtlbm5lIGRlbiBEcnVja2VyIG5pY2h0LCBhYmVyIGljaCBrb2VubnRlIG1pciB2b3JzdGVsbGVuLCBkYXMgZGFzIGVpbgoiR0RJIiBEcnVja2VyIGlzdCwgZC5oLiBlciB1bnRlcnN0dWV0enQga2VpbmUgZ2FlbmdpZ2VuIERydWNrZXJzcHJhY2hlbiwgd2llClBTLCBQQ0wsIEVzY1AyIGV0Yywgc29uZGVybiBudXIgZWluIHJhdyBGb3JtYXQsIGRhcyB2b20gV2luZG93cy1UcmVpYmVyCmVyemV1Z3Qgd2lyZC4gCldlbm4gZGVyIHVudGVyIFdpbmRvd3MgdW5kIG51ciBkYW5uIHVudGVyIERPUyBsYWV1ZnQsIHdlbm4gbWFuIGVpbmUgRE9TLUJveApoYXQsIGlzdCBlcyBzZWhyIHdhaHJzY2hlaW5saWNoIHNvLgpGdWVyIGRpZSBHREkgRHJ1Y2tlciB2b24gT0tJIGdpYnQncyBkYXMgb2tpNGxpbnV4LCBlaW4gdXNlcmxldmVyIFRyZWliZXIsIHVuZApmdWVyIGRpZSBHREkncyB2b24gSFAgZ2lidCBlcyBkYXMgcHBtdG9sYmEgKG9kZXIgYWVobmxpY2gpLgpTdWNoIGRpZSBtYWwgZGllIG5ldWVzdGUgUHJpbnRpbmctSE9XVE8gdW5kIHNjaGF1IG1hbCBuYWNoLCB3YXMgZGllIGRvcnQKenUgZGllc2VtIERydWNrZXIgc2FnZW4uCgpLb2JheWFzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZHJ1Y2tlciB1bnRlciBsaW51eCAoQW5ha2luLCAyOC4gQXByIDIwMDAsIDEyOjEzOjI0KToKfiMhIHJuPUtvYmF5YXNoaSBydD05NTY5MTQ3NjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU2OTExMjQ0CgpTcGVrdWxpZXIgYXVmIEt1bGFueiB1bmQgZ2liIGlobiB6dXJ1ZWNrIHVuZCBrYXVmIGRpciBuZW4KcmljaHRpZ2VuIERydWNrZXIuCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkcnVja2VyIHVudGVyIGxpbnV4IChTdG9wZGVuYnVzLCAyOC4gQXByIDIwMDAsIDIwOjA3OjQwKToKfiMhIHJuPUFuYWtpbiBydD05NTY5MTY4MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU2OTExMjQ0Cm9kZXIgc28sIGljaCBwcm9iaWVycyBhYmVyIGVyc3RtYWwgbWl0IGRlbiBUaXBzIHZvbiBLb2JhKiwgdGh4ICEhCgpTdG9wcGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4LVBsYXR0ZS4uLiAoSG9vZCwgMTYuIE1haSAyMDAwLCAxNzozODoyOCk6CldlciBzZWluZSBGZXN0cGxhdHRlbnp1Z3JpZmZlIHVudGVyIExpbnV4IGV0d2FzIGJlc2NobGV1bmlnZW4gbWFnLCBzY2hhdWUKc2ljaCBtYWwgaHR0cDovL3d3dy5saW51eG5ld2JpZS5vcmcvbmhmL2ludGVsL2hhcmR3YXJlL2hkdHdlYWsuaHRtbAphbiwgYmVpIG1pciB3dXJkZSBlcyBldHdhIHVtIGRlbiBmYWt0b3IgNCBmbGlua2VyLCB1bmQgaWNoIGhhYiBuaWNoIG1laHIKZGllIG5ldWVzdGVuIHBsYXR0ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eC1QbGF0dGUuLi4gKFRpYW1haywgMTcuIE1haSAyMDAwLCAxMDo1NzoxNik6Cn4jISBybj1Ib29kIHJ0PTk1ODQ5MTUwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg0OTE1MDgKTGFzcyBtaWNoIHJhdGVuOiBEdSBoYXN0IGF1Y2ggbmljaHQgbWVociBkZW4gbmV1ZXN0ZW4gS2VybmVsPyA7LSkKCldlbm4gbWFuIGRpZSBLZXJuZWxvcHRpb24gIlVzZSBETUEgd2hlbiBhdmFpbGFibGUiIG9kZXIgc28gYWVobmxpY2ggYW53YWVobHQsCmRhbm4gbWFjaHQgZXIgZGFzIGF1Y2ggb2huZSBBdWZydWYgdm9uIGhkcGFybSBpbSBCb290c2tyaXB0LgoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eC1QbGF0dGUuLi4gKEhvb2QsIDE3LiBNYWkgMjAwMCwgMTI6NTA6NTYpOgp+IyEgcm49VGlhbWFrIHJ0PTk1ODU1MzgzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg0OTE1MDgKc3RpbW10LCBldHdhcyBhZWx0ZXIsIHdlcmQgZGFubiBiZWkgZGVyIG5hZWNoc3RlbiBuZXVpbnN0YWxsIGRyYXVmCmFjaHRlbiA6KSBhYmVyIHNvIG9mdCBpbnN0YWxsaWVydCBtYW4gbGludXggamEgbnVuIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXgtUGxhdHRlLi4uIChHbG9pbiwgMTcuIE1haSAyMDAwLCAxMjo1NToxOCk6Cn4jISBybj1Ib29kIHJ0PTk1ODU2MDY1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg0OTE1MDgKQWJlciBudXIgd2VubiBtYW4gZGFtaXQgYXJiZWl0ZXQgOj4gQWxsZSBhbmRlcmVuIGluc3RhbGxpZXJlbiBMaW51eAphbnNjaGVpbmVuZCBzdGFlbmRpZyBuZXUgOikKCkdsb2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaW51eC1QbGF0dGUuLi4gKFRpYW1haywgMTcuIE1haSAyMDAwLCAxMzowMzozNyk6Cn4jISBybj1HbG9pbiBydD05NTg1NjA5MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTU4NDkxNTA4CkJlaSBSZWNobmVybiwgZGllIHN0YWVuZGlnIGltIE5ldHogaGFlbmdlbiwgaXN0IGRhcyBhdWNoIG5pY2h0IGdhbnogc28KdmVya2VocnQuIFp1bWluZGVzdCBkaWUgU2FjaGVuLCB2b24gZGVuZW4gbWl0dGxlcndlaWxlIHNpY2hlcmhlaXRzcmVsZXZhbnRlCkJ1Z3MgYmVrYW5udCBzaW5kLCBzb2xsdGUgbWFuIGFiIHVuZCB6dSBtYWwgZXJuZXVlcm4uIDstKQoKQW5zb25zdGVuIGluc3RhbGxpZXJlIGljaCBhdWNoIG51ciByZWdlbG1hZXNzaWcgbmV1ZSBWZXJzaW9uZW4gdm9tIEtlcm5lbC4KRGVubiBkYSB0dXQgc2ljaCBkb2NoIGVpbmlnZXMgYW4gbmV1ZW4gRmVhdHVyZXMgdW5kL29kZXIgSGFyZHdhcmV0cmVpYmVybi4KClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGludXgtUGxhdHRlLi4uIChHcmltbWJvcm4sIDE4LiBNYWkgMjAwMCwgMDA6MjE6MzApOgp+IyEgcm49VGlhbWFrIHJ0PTk1ODU2MTQxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg0OTE1MDgKbmV1IGluc3RhbGxpZXJlbiAhPSBidWdmaXhlcyBlaW5zcGllbGVuCgpVbmQgcmVnZWxtYWVzc2lnIG5ldWUgS2VybmVsIGVpbnNwaWVsZW4gLSBpY2ggd2Vpc3MgbmljaHQsIDIuMi4xNSBpc3Qgc2VpdAplaW5lciBXb2NoZSBvZGVyIHNvIHJhdXMsIHVuZCAyLjIuMTQga2FtIGlyZ2VuZHdhbm4gbGV0enRlbiBIZXJic3QuIERhcyB3dWVyZGUKenVtaW5kZXN0IGljaCBuaWNodCBhbHMgcmVnZWxtYWVzc2lnIGJlemVpY2huZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCAoa2FubiBlaCBuaWNodCBuZXUgaW5zdGFsbGllcmVuLCBkYSBkYXMgQ0QtTFcgaGluIHp1CnNlaW4gc2NoZWludCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExpbnV4LVBsYXR0ZS4uLiAoSG9vZCwgMTguIE1haSAyMDAwLCAwNzowNToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU4NjAyMDkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODQ5MTUwOApDRC1MVz8gd296dSBnZW5hdSBicmF1Y2h0IG1hbiBkYXM/CmxpZWd0IGRvY2ggYWxsZXMgaW0gbmV0eiB1bmQgZGFzIGtsYXBwdCBzdXBlciA6KQpoYWIgc29nYXIgZ3JhZCBzdXNlNi40IG5ldSBlaW5nZXNwaWVsdCwgYWJlciBlcyBnaWJ0IGF1Y2ggYW5kZXJlCmRpc3RyaWJ1dGlvbmVuIG9kZXIgaGFsdCBhdWNoIHNsYWNrd2FyZSBpbSBuZXR6Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMaW51eC1QbGF0dGUuLi4gKEdyaW1tYm9ybiwgMTguIE1haSAyMDAwLCAwODo0NTozNSk6Cn4jISBybj1Ib29kIHJ0PTk1ODYyNjMxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg0OTE1MDgKR3V0ZSBBbnJlZ3VuZy4gQml0dGUgbWFpbCBtaXIgZG9jaCBEZWluZSBBZHJlc3NlLCBkYW1pdCBpY2ggRGlyIGRpZQpUZWxlZm9ucmVjaG51bmcgc2NoaWNrZW4ga2FubiwgZGllIGVudHN0ZWh0LCB3ZW5uIGljaCBydW5kIDEuNSBHQiB1ZWJlciBtZWluCmFsdGVzIDI4LjhlciBNb2RlbSBzYXVnZS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggRGlzdHJpYnV0aW9uIChTaWx2YW5hLCAxOC4gTWFpIDIwMDAsIDE0OjA3OjIzKToKU2FsdmUKCldhcyBmdWVyIGVpbmUgTGludXgtRGlzdHJpYnV0aW9uIGlzdCBkZW5uIGRlcnplaXQgZW1wZmVobGVuc3dlcnQ/CgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggRGlzdHJpYnV0aW9uIChHbm9tZSwgMTguIE1haSAyMDAwLCAxNDoxMToyNCk6Cn4jISBybj1TaWx2YW5hIHJ0PTk1ODY1MTY0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKY2FsZGVyYSAyLjQgZURlc2t0b3AgaGFiIGljaCBtaXIgZ3JhZGUgYmVzdGVsbHQsIGFiZXIgbm9jaCBuaWNodCBnZWxpZWZlcnQKYmVrb21tZW4uCnNjaG5pdHQgaW4gZmFzdCBhbGxlbiBkaXN6aXBsaW5lbiBhbHMgYmVzdGUgYWIuIGhhcmR3YXJlZXJrZW5udW5nCnZvcmJpbGRsaWNoLCBlcmthbm50ZSBzb2dhciBlaW4gbmV0endlcmtkcnVja2VyIHVuZCBtYW4ga29ubnRlIGF1ZiBhbmhpZWIKc29mb3J0IGRydWNrZW4uIGRhIGthbm4gc2ljaCBzdXNlIGVpbiBwYWFyIHNjaGVpYmVuIHZvbiBhYnNjaG5laWRlbgpkZW5rIGljaC4KYWNoamE6IGtlcm5lbCAyLjIuMTQsIEtERSAxLjEuMgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGludXggRGlzdHJpYnV0aW9uIChHcmltbWJvcm4sIDE4LiBNYWkgMjAwMCwgMTY6MTg6MDIpOgp+IyEgcm49R25vbWUgcnQ9OTU4NjUxODg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpDYWxkZXJhIGVEZXNrdG9wIDIuNCBpc3QgZGllIG1vbWVudGFuIGFuZmFlbmdlcmdlcmVjaHRlc3RlIERpc3RyaWJ1dGlvbiwgamEuCldpcmQgaW4gRGV1dHNjaGxhbmQgdm9yYXVzc2ljaHRsaWNoIGFiIGRlciBlcnN0ZW4gSnVuaXdvY2hlIGxpZWZlcmJhciBzZWluLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IChDYWxkZXJhIEVzY2FsYXRpb24vUGFydG5lciBTdXBwb3J0IEV1cm9wZSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExpbnV4IERpc3RyaWJ1dGlvbiAoQXBzdSwgMTguIE1haSAyMDAwLCAxNjoyMTo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU4NjU5NDgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpBcHJvcG9zIEFuZmFlbmdlcjoKTGFzc3QgYmxvc3MgZGllIEZpbmdlciB2b20gQ29yZWwtTGludXguIFNpY2hlcmhlaXRzbHVlY2tlbiBzbyBncm9zcyB3aWUKU2NoZXVuZW50b3JlLCBiZXNvbmRlcnMsIHdlbm4gbWFucyBpbiBXaW5ibG9uZC1WZXJ6ZWljaG5pc3NlbiBhYmxlZ3QuCgpBcHN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMaW51eC1QbGF0dGUuLi4gKEFub3JpcywgMTkuIE1haSAyMDAwLCAwMzoxOTo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU4NjMyMzM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODQ5MTUwOApEYW1pdCBuIGJpc3NjaGVuIGRlcHJlc3NpdmUgc3RpbW11bmcgYXVma29tbXQsIGluIGRlciBzY2h3ZWl6IChqYSBkYSB3b2huIGljaCkKZ2lidHMgamV0enQgZnVlciA1MENIRiBwZXIgTW9uYXQgdW5iZWdyZW56dCB1ZWJlciBkYXMgVFYgS2FiZWwgSW50ZXJuZXQKQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggRGlzdHJpYnV0aW9uIChIYXRlLCAxOS4gTWFpIDIwMDAsIDA5OjUyOjQ4KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTU4NjUxNjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpFbXBmZWhsZW5zd2VydCBpc3QgamVkZXJ6ZWl0IERlYmlhbiBHTlUvTGludXguIFdlbm4gbWFuIGRpZSBrbGVpbmUKSW5zdGFsbGF0aW9uc2h1ZXJkZSB1ZWJlcnd1bmRlbiBoYXQgaXN0IGVzIGVpbiBsZWljaHRlcyBkYXMgU3lzdGVtCnp1IGFkbWluaXN0cmllcmVuIHVuZCBkaWUgU29mdHdhcmUga2FubiBtYW4gbWl0IGVpbiBwYWFyIHdlbmlnZW4KVGFzdGVuZHJ1ZWNrZW4gc3RhZW5kaWcgYXVmIGRlbSBuZXVlc3RlbiBTdGFuZCBoYWx0ZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eCBEaXN0cmlidXRpb24gKEdyaW1tYm9ybiwgMTkuIE1haSAyMDAwLCAxMDo1NzoxNCk6Cn4jISBybj1IYXRlIHJ0PTk1ODcyMjc2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKT0ssIGljaCBoYWx0ZSBEZWJpYW4gZnVlciBkYXMgdGVjaG5pc2NoIHVuZCBpZGVvbG9naXNjaCBzYXViZXJzdGUgU3lzdGVtCih3ZW5ucyBhdWNoIGVpbiBiaXNjaGVuIHZlcmFsdGV0IGlzdCBtaXR0bGVyd2VpbGUpLCBhYmVyICJrbGVpbmUiCkluc3RhbGxhdGlvbnNodWVyZGUgaXN0IHNlaHIgZXVwaGVtaXN0aXNjaCBhdXNnZWRydWVja3QsIHVuZCAiZWluIGxlaWNodGVzIGRhcwpTeXN0ZW0genUgYWRtaW5pc3RyaWVyZW4iIGdpbHQgbnVyIGZ1ZXIgTGV1dGUgbWl0IHRpZWZlcmVuIEtlbm50bmlzc2VuIGRlcgpNYXRlcmllLiAiTmV1ZXN0ZXIgU3RhbmQiIGhlaXNzdCBiZWkgc3RhYmxlIChzbGluaykgbW9tZW50YW4gInJ1bmQgZWluCkRyZWl2aWVydGVsamFociBhbHMiLCBiZWkgZnJvemVuIG9kZXIgdW5zdGFibGUsIGRhc3MgRGlyIGF1Y2ggZHVyY2ggVGlwcGZlaGxlcgp2b24gRW50d2lja2xlcm4gbWFsIGRhcyAvLVZlcnplaWNobmlzIGdlbG9lc2NodCB3ZXJkZW4ga2Fubi4KCkFiZ2VzZWhlbiBkYXZvbiBzaW5kIGRlYmlhbiBJbnN0YWxsYXRpb25lbiBpLmEuIHNlaHIgZ3V0LCB3ZWlsIHNpZQp6d2FuZ3NsYWV1ZmlnIHZvbiBMZXV0ZW4gZ2VtYWNodCB1bmQgZ2V3YXJ0ZXQgd2VyZGVuLCBkaWUgd2lzc2VuIHdhcyBzaWUgdHVuLgpVbmQgZGllIGRhbm4gbWl0IHNvIGVpbmVyIERpc3RyaWJ1dGlvbiBhdWNoIGJlc3NlciBiZWRpZW50IHNpbmQgYWxzIG1pdCBlaW5lciwKaW4gZGVyIHNpY2ggZGVyIERpc3RyaWJ1dG9yIGxhdWZlbmQgbWl0IHNlaW5lbiAiaW50ZWxsaWdlbnRlbiIgTWVjaGFuaXNtZW4KZWlubWlzY2h0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IChkZWJpYW4sIFN1U0UsIFJlZCBIYXQsIENhbGRlcmEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaW51eCBEaXN0cmlidXRpb24gKEdyaW1tYm9ybiwgMTkuIE1haSAyMDAwLCAxMDo1ODoyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU4NzI2NjM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpBY2gsIGljaCB2ZXJnYXNzOiBEZXIgRGlzdHJpYnV0aW9uc2tyaWVnIGlzdCBoaWVybWl0IGVyb2VmZm5ldC4gSWNoIGVyd2FydGUKZWluZW4gdW5mYWlyZW4gS2FtcGYsIGplZGUgTWVuZ2UgVGllZnNjaGxhZWdlIHVuZCBkYXNzIGRlciBMYXV0ZXJlIGdld2lubmVuCm1vZWdlLgoKICAgICAgICAgICAgICAgR0dPT09PT05OTk5OR0dHR0chISEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGludXggRGlzdHJpYnV0aW9uIChHbG9pbiwgMTkuIE1haSAyMDAwLCAxMTo1NTowMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU4NzI2NzA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwouLi4gd2llIGhlaXNzdCBkYXMgTGludXggZnVlciBkaWUgUHNpb24tUmVpaGU/IERhcyBpc3QgYXVmIGplZGVuIEZhbGwgZGllCmJlc3RlIERpc3RyaWJ1dGlvbiA6PgoKR2xvaW4gc2NobWFycnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMaW51eCBEaXN0cmlidXRpb24gKEh1bW5pLCAxOS4gTWFpIDIwMDAsIDEyOjQzOjU2KToKfiMhIHJuPUdsb2luIHJ0PTk1ODczMDEwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKREVCSUFOIGlzdCBkZWZpbml0diBkaWUgYmVzdGUgRGlzdHJpYnV0aW9uISEKCk51ciBkb29mLCB3ZW5uIGRlciBNaXRiZXdvaG5lciBhdXN6aWVodCwgZGVyIEFobnVuZyBkYXZvbiBoYXQgdW5kIG1hbgpzZWxic3QgbmUgV3Vyc3QgaXN0Li4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGludXggRGlzdHJpYnV0aW9uIChIb29kLCAxOS4gTWFpIDIwMDAsIDEzOjEyOjM1KToKfiMhIHJuPUh1bW5pIHJ0PTk1ODczMzAzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKd2llIGdlbmF1IHdpbGxzdCBkdSBkaWVzZSBkaXN0cmlidXRpb24gZGFubiBlaW5zY2hhZXR6ZW4ga29lbm5lbj8gOikKYWxzIHd1cnN0IHNvbGx0ZXN0IGR1IGRvY2ggZWhlciBkZXIgbWVpbnVuZyBzZWluLCBkYXNzIGluIGRlaW5lbSBmYWxsZQplaW5lIG1vZWdsaWNoc3QgdW1mYW5ncmVpY2hlIGRpc3RyaWJ1dGlvbiBkaWUgYmVzdGUgaXN0Lgp3ZXIgYWhudW5nIGhhdCwga2FubiBkaWUgdW53YWVnYmFya2VpdGVuIHZvbiBTdXNlIGxvY2tlciB1bXNjaGlmZmVuLAp1bmQgZGFtaXQgendpbmd0IHNpY2ggZGllc2UgZGlzdHJpYnV0aW9uIGdlcmFkZXp1IGF1ZiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTGludXggRGlzdHJpYnV0aW9uIChQYXJkYXV6LCAxOS4gTWFpIDIwMDAsIDEzOjI0OjA2KToKfiMhIHJuPUhvb2QgcnQ9OTU4NzM0NzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpTb2xhbmcgU3VTRSBzaWNoIG5pY2h0IGFuIGRpZSBhbGxnZW1laW5lbiBQZmFkLSB1bmQgRGF0ZWluYW1lbiBoYWVsdAprYW5uIG1hbnMgYWxzICdFaW5zdGVpZ2VyZGlzdHJpYnV0aW9uJyB2ZXJnZXNzZW4uIERhIGxpZXN0ZSBkYW5uIHdhcwppbiBkZWluZW0gc2NobGF1ZW4gTGludXgtQnVjaCB1bmQgbXVzc3QgZmVzdHN0ZWxsZW46IFN1c2UgaXMgd2llZGVyIGFuZGVyc3QuCkRhIGlzdCBuZW4gRGViaWFuLVN5c3RlbSBkb2NoIHdhcyBlaW5mYWNoZXIsIGF1Y2ggd2VubiBtYW4gYmVpIGRlciBJbnN0YWxsYS0KdGlvbiBzY2hvbiB3aXNzZW4gc29sbCwgd2FzIG1hbiB3aWxsLiAoU28ga29tcGxpemllcnQgaXNzZXMgbnVuIGF1Y2ggbmljaHQuKQoKUGFyZGF1eiAtIG5pY2h0IHdpcmtsaWNoIEFobnVuZyBoYWJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IExpbnV4IERpc3RyaWJ1dGlvbiAoS29iYXlhc2hpLCAxOS4gTWFpIDIwMDAsIDE4OjM2OjM5KToKfiMhIHJuPVBhcmRhdXogcnQ9OTU4NzM1NDQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpERUJJQU4gaGFlbHQgc2ljaCBhdWNoIG5pY2h0IGFuIGRpZSAiYWxsZ2VtZWluZW4gUGZhZC0gdW5kIERhdGVpbmFtZW4iLgpCZXNvbmRlcnMgYmVpIGRlbiBjb25maWctZmlsZSBtYWNodCBERUJJQU4gYm9lc2UgU2FjaGVuLCBkaWUgendhciBzY2hvZW4KYXVzc2VoZW4sIGFiZXIgamVkZW4gQWRtaW4genUgdmVyendlaWZsdW5nIHRyZWliZW4uIApERUJJQU4gYmF1dCB1bnRlciAvZXRjIGZ1ZXIgZmFzdCBqZWRlIEFwcGxpa2F0aW9uIGVpbiBlaWdlbmVzClZlcnplaWNobmlzLiB6LkIuOgovZXRuYy9iaW5kL25hbWVkLmNvbmYgIGFuc3RhdHQgIC9ldGMvbmFtZWQuY29uZgogICAtbiA6LSkKL2V0Yy9zYW1iYS9zbWIuY29uZiAgICBhbnN0YXR0ICAvZXRjL3NtYi5jb25mIChvZGVyIG9yaWdpbmFsOgovdXNyL2xvY2FsL3NhbWJhL2xpYi9zbWIuY29uZiApCnVzdy4KCktvYmF5YXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGludXggRGlzdHJpYnV0aW9uIChUcmFuY2UsIDIwLiBNYWkgMjAwMCwgMTk6MTE6MjkpOgp+IyEgcm49R2xvaW4gcnQ9OTU4NzMwMTAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpJY2ggZnJldSBtaWNoIGF1ZiBkZW4gWU9QSSB2b24gU2Ftc3VuZyA6KSBkZXIgc29sbCBpbiBkaWVzZW0gU29tbWVyIGtvbW1lbiAoYWIKRW5kZSBNYWk/KS4gCgpUcmFuY2UsIGFlcmdlcnQgc2ljaCBub2NoIG1pdCBDYXNpb3BlaWEgRS0xMCBydW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcmR3YXJlIGltIExpbnV4c3lzdGVtIChHb2xhcywgMjIuIE1haSAyMDAwLCAwMzoyNjozOCk6CkhhYiBtYWwgd2llZGVyIHp1dmllbCBHZWxkIHVuZCBkYXMgc29sbCBpbiBuZW4gc2Nob2VuZW4gUmVjaG5lciBmbGllc3NlbiAuLi4KZGVyIGRhbm4gYXVjaCBiZWkgbWlyIHN0ZWh0IDspCmZvbGdlbmRlcyBoYWIgaWNoIHVlYmVybGVndCB1bmQgaWNoIHdvbGx0ZSBtYWwgZnJhZ2VuLCBvYiBqZW1hbmQgZGVmaW5pdGl2CndlaXNzLCBkYXNzIHNvd2FzIGZ1bnp0CgpkYXMgc3lzdGVtIHNvbGwgbmUgaWRlLXBsYXR0ZSBoYWJlbiB1bmQgc2NzaS1jZCwgc2NzaS1icmVubmVyIHVuZCBzY3NpLWR2ZAooZXZ0bCBhdWNoIGluIGlkZSkKZ2VodCBuZSBpbnN0YWxsYXRpb24gdm9uIG5lbSBzY3NpLWtvbnRyb2xsZXIgb2huZSBiaW9zPwprbGFwcHQgZGFzIG1pdCBkdmQgdW5kIGJyZW5uZW4/CgphY2ggamEgdW5kIHdlbGNoZSBncmFmaWtrYXJ0ZSBvcyBtb21lbnRhbiBndXQgaW0gcmVubmVuPwoKZ29sYXMga2VpbmVuIHBsYW4gbWVociB2b24gaGFyZHdhcmUgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBMaW51eCBEaXN0cmlidXRpb24gKEhhdGUsIDIyLiBNYWkgMjAwMCwgMDg6MTk6MTcpOgp+IyEgcm49S29iYXlhc2hpIHJ0PTk1ODc1NDE5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKTmFqYSwgbWl0IHZlcnplaWNobmlzc2VuLCBkaWUgL2V0YyBhdWZyYWV1bWVuIGthbm4gbWFuIGR1cmNoYXVzIGxlYmVuLgpTb25zdCB3YWVyZSBiZWkgZGVyIFNvZnR3YXJldmllbGZhbHQgYmFsZCBkYXMgVmVyemVpY2huaXMgZGljaHQuIFVuZAppbiAvdXNyL2RvYyBzdGVodCBiZWkgRGViaWFuIF9pbW1lcl8gZWluIEtvbW1lbnRhciBkYXp1LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkd2FyZSBpbSBMaW51eHN5c3RlbSAoUm9jaHVzLCAyMi4gTWFpIDIwMDAsIDEzOjIwOjU0KToKfiMhIHJuPUdvbGFzIHJ0PTk1ODk1ODc5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg5NTg3OTgKQWxzbywgQmlvcy1VbnRlcnN0dWV0enVuZyAoU0RNUyBnbGF1YmUgaWNoKSBmdWVyIFNDU0kgYmVub2V0aWd0Cm1hbiBudXIsIHVtIHZvbiBTQ1NJLWdlcmFldGVuIEJvb3RlbiB6dSBrb2VubmVuLgpBbnNvbnN0ZW4gU09MTFRFIGVzIGtlaW5lIFByb2JsZW1lIGdlYmVuLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkd2FyZSBpbSBMaW51eHN5c3RlbSAoTXVwZmVsLCAyMy4gTWFpIDIwMDAsIDAxOjM4OjQwKToKfiMhIHJuPUdvbGFzIHJ0PTk1ODk1ODc5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg5NTg3OTgKYmlvcyBicmF1Y2hzdGUgbnVyIHdlbm4gZHUgdm9uIGRlbSBkaW5nIGJvb3RlbiB3aWxsc3QgKGVoZXIgdW53YWhyc2NoZWlubGljaAo7KSBkLmguIGVzIHJlaWNodCBuZSBlaW5mYWNoZSBrYXJ0ZS4uLiAKCmhtamEgZ3JhZmlra2FydGUgPyB3YXMgaGFzdGUgZGVubiBzbyB2b3IuLj8gc2NobmFwcCBkaXIgaGFsdCBuZSBha3R1ZWxsZSBjJ3QKb2RlciBwY3BybyB3ZXJkZW4gamEgZGF1ZXJuZCBnZXRlc3RldCBkaWUgZGluZ2VyCgotbXVwZmVsLQpwczogd2VubiBuZSA4IG1iIHJhZ2UgaWljIHJlaWNodCBkYXZvbiBoYWIgaWNoIG5lIG1lbmdlIHJ1bWZsaWVnZW4uLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBMaW51eCBEaXN0cmlidXRpb24gKEdyaW1tYm9ybiwgMjMuIE1haSAyMDAwLCAxMjo0NDoyMik6Cn4jISBybj1IYXRlIHJ0PTk1ODk3NjM1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKQWVoLCBpbndpZXdlaXQgYml0dGUgcmFldW10IGVpbiAvZXRjL3NhbWJhL3NtYi5jb25mIGdlZ2VudWViZXIgZWluZW0KL2V0Yy9zbWIuY29uZiBkYXMgVmVyemVpY2huaXMgL2V0Yy8gYXVmPwpVbmQgS29tbWVudGFyZSBzaW5kIGtlaW5lIFJlY2h0ZmVydGlndW5nLiBEaWUgL2V0Yy9yYy5jb25maWcgdm9uIFN1U0UgaXN0IGF1Y2gKa29tbWVudGllcnQsIHVuZCB0cm90emRlbSByZWdlbiBzaWNoIGRpZSBMZXV0ZSBkYXJ1ZWJlciBhdWYuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBMaW51eCBEaXN0cmlidXRpb24gKEdyaW1tYm9ybiwgMjMuIE1haSAyMDAwLCAxMjo0NjowNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTU5MDc4NjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1ODY1MTY0MwpBY2ggamEsIHVuZCB3ZW5uIER1IHZvciAiZGljaHQgc2VpZW5kZW4iIFZlcnplaWNobmlzc2VuIEFuZ3N0IGhhc3Q6IC9kZXYgaXN0CmRhIGRldXRsaWNoIGdlZmFlaHJkZXRlciAodW5kIGRhaGVyIGF1Y2ggS2FuZGlkYXQgZnVlciByZWNvbnN0cnVjdGlvbiwgd2VubgppY2ggZGFzIHJpY2h0aWcgbWl0YmVrb21tZW4gaGFiZSkuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBMaW51eCBEaXN0cmlidXRpb24gKEhhdGUsIDIzLiBNYWkgMjAwMCwgMTc6Mjk6MjcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk1OTA3ODY2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKVmllbGxlaWNodCBzY2hhdXN0IER1IGRpciBtYWwgYW4sIGRhc3MgZGEgbWVpc3Qgbm9jaCBtZWhyIERhdGVpZW4gbGllZ2VuIGFscwpkaWVzZSBlaW5lIC4uLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBMaW51eCBEaXN0cmlidXRpb24gKEdyaW1tYm9ybiwgMjMuIE1haSAyMDAwLCAyMzoyODoxMSk6Cn4jISBybj1IYXRlIHJ0PTk1OTA5NTc2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NTg2NTE2NDMKSmFqYS4KZ3JpbW1ib3JuQGNyYXNoOn4gPiBscyAvZGV2LyB8IHdjIC1sCiAgIDE3ODIKZ3JpbW1ib3JuQGNyYXNoOn4gPiBscyAvZXRjLyB8IHdjIC1sCiAgICAxOTkKCktlaW4gVmVyZ2xlaWNoLCBpY2ggbWFjaGUgbWlyIGtlaW5lIFNvcmdlbiBkYXNzIC9ldGMgc28gdm9sbCBsYWV1ZnQgZGFzcyBlcwpkaWNodCBpc3QuIERhIGxhZXVmdCBiZWkgbWlyIGVoZXIgL2Rldi9udWxsIHVlYmVyLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvZnR3YXJlIGZ1ZXIgTGluZS1MYXN0PyAoSmFtZXNvbiwgMzAuIE1haSAyMDAwLCAwMDoxNTo1NSk6CkhpLAoKZ2lidCBlcyBlaW5lIFNvZnR3YXJlIGZ1ZXIgV2luZG93cywgZGllIGRlbiBha3R1ZWxsZW4gRHVyY2hzYXR6ICgiTGFzdCIpCmRlciBiZW51dHp0ZW4gTmV0enZlcmJpbmR1bmcgKGltIE1vbWVudCBNb2RlbSwgc3BhZXRlciBOZXR6d2Vya2thcnRlKQphbnplaWdlbiBrYW5uIG9kZXIgc29nYXIgZWluemVsbmVuIFByb3plc3NlbiBCYW5kYnJlaXRlIHp1dGVpbGVuIGthbm4/CgpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29mdHdhcmUgZnVlciBMaW5lLUxhc3Q/IChQaWxncmltLCAzMS4gTWFpIDIwMDAsIDExOjE3OjAxKToKfiMhIHJuPUphbWVzb24gcnQ9OTU5NjM4NTU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1OTYzODU1NQo+IGdpYnQgZXMgZWluZSBTb2Z0d2FyZSBmdWVyIFdpbmRvd3MsIGRpZSBkZW4gYWt0dWVsbGVuIER1cmNoc2F0eiAoIkxhc3QiKQo+IGRlciBiZW51dHp0ZW4gTmV0enZlcmJpbmR1bmcgKGltIE1vbWVudCBNb2RlbSwgc3BhZXRlciBOZXR6d2Vya2thcnRlKQpIbW0sIGRlciBXaW5kb3dzIFN5c3RlbU1vbml0b3Iga2FubiBkYSBzY2hvbiBlaW5pZ2VzIC4uLiBhbnNvbnN0ZW4ga2VubiAKaWNoIG5vY2ggZGFzIChTaGFyZVdhcmU/KSBQcm9ncmFtbSBEVSBNZXRlciAuLi4KRXMgZ2lidCBkYXMgbWl0IHNpY2hlcmhlaXQgbm9jaCBhbmRlcmUgLi4uIGFsbGVyZGluZyBrYW5uIGljaCBtaWNoIG5pY2h0CmVyaW5uZXJuLCBzY2hvbm1hbCBlaW4gUHJnLiBnZXNlaGVuIHp1IGhhYmVuLCBkYXNzIGRlbiBEdXJjaHNhdHp0CmF1Y2ggbm9jaCBkZW4gUHJvemVzc2VuIHp1b3JkbmV0IC4uLiBvYndvaGwgaWNoIGdsYXViZSwgZGFzcyBzb3dhcwpzaWNoZXIgaW4gcHJvZi4gU3lzdGVtYWRtaW4tU29mdHdhcmUgZW50aGFsdGVuIHNlaW4gd2lyZCAuLi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29mdHdhcmUgZnVlciBMaW5lLUxhc3Q/IChKYW1lc29uLCAgMi4gSnVuIDIwMDAsIDE5OjE1OjI1KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTU5NzY0NjIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk1OTYzODU1NQp3dW5kZXJiYXIsIERVIE1ldGVyIHR1dCBqYSBzY2hvbiBtYWwgZGFzIFdpY2h0aWdzdGUgOikgZGllIGdyYWZpc2NoZQpBdWZiZXJlaXR1bmcgaW0gU3lzdGVtbW9uaXRvciBpc3QgZG9jaCBldHdhcyBzcGFydGFuaXNjaC4KVm9tIEJhbmRicmVpdGUgYXVmdGVpbGVuIHdlcmQgaWNoIHdvaGwgd2VpdGVyIHRyYWV1bWVuIG11ZXNzZW4sIHdlaWwgbWFuIGFuCnByb2Zlc3Npb25lbGxlIFNvZnR3YXJlIHdvaGwgc2NobGVjaHQgcmFua29tbXQgOykKCmhlcnpsaWNoZW4gRGFuawpqQW1lc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRWRpdG9yZW4gdW50ZXIgV2luZG93cyAoQW5hdG9sLCAxMC4gSnVsIDIwMDAsIDIwOjM2OjA3KToKfiMhIG9uPUFuYXRvbCBvdD05NjMyNTQxNTEgb2c9ZW50d2lja2x1bmcKfiMhIHJuPUdyaW1tYm9ybiBydD05NjMyNTQwMDcgcmc9ZW50d2lja2x1bmcKfiMhIHRpZD05NjI4ODg5NDIKSWNoIGhhYmUgbWl0IG11dHQgcmVsYXRpdiBndXRlIEVyZmFocnVuZ2VuIGdlbWFjaHQgLSBsZWlkZXIgZ2xhdWJ0CmVyIGFuIGRpZSBVbml4LVBoaWxvc29waGllIHVuZCB0cmFlZ3QgTWFpbCBuaWNodCBzZWxic3Qgd2VnIChicmF1Y2h0CmFsc28gc2VuZG1haWwgby5hZS4gdW5kIGZyZXV0IHNpY2ggYXVjaCB1ZWJlciBmZXRjaG1haWwmQ28uKS4gSXN0CmRldXRsaWNoIG1hZWNodGlnZXIgYWxzIHBpbmUsIGFiZXIgYXVjaCBldHdhcyBhdWZ3KGEpZW5kaWdlciBpbgpTYWNoZW4gRWluYXJiZWl0dW5nLi4uLgoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzaWNoZXJoZWl0IHZvbiBqYXZhLWNsYXNzIGZpbGVzIChBbGJvaW4sIDExLiBKdWwgMjAwMCwgMTE6MzA6NDYpOgpoYWxsbywgCmljaCB3b2xsdGUgbWFsIG5hY2hmcmFnZW4sIG9iIHdlciBBaG51bmcgdm9uIEphdmEgaGF0IHVuZCB3ZWlzcyB3byBlcwpKYXZhLUNvbXBpbGVyIGdpYnRzIGRpZSBrZWluIERlY29tcGlsaW5nIHp1bGFzc2VuLiBEYSB3aXIgaGllciBtaXQgYnJhbmRuZXVlbgpUZWNobm9sb2dpZW4gYXJiZWl0ZW4gd2FlcmUgZXMgbmFlbWxpY2ggbmljaHQgc28gdG9sbCwgd2VubiBkaWUgS29ua3VycmVueiBtaXQKbmVtIERlY29tcGlsZXIgaGludGVyIHVuc2VyZSBHZWhlaW1uaXNzZSBrb21tdC4KCkJpbiBkYW5rYmFyIGZ1ZXIgamVkZW4gSGlud2VpcwoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2ljaGVyaGVpdCB2b24gamF2YS1jbGFzcyBmaWxlcyAoSGF0ZSwgMTEuIEp1bCAyMDAwLCAxMjo1NzozNik6Cn4jISBybj1BbGJvaW4gcnQ9OTYzMzA3ODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2MzMwNzg0NgpTdWNoIGRpciBuZW4gb2JmdXNjYXRvci4gVW5kIG1hbiB3aXJkIGVzIHNvIG9kZXIgc28gd2llZGVyIGRlY29tcGlsaWVyZW4Ka29lbm5lbiwgZGEga2FubnN0ZSBuaXggZHJhbiBtYWNoZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEMgenUgdmVyc2NoZW5rZW4gKEFsaW5lLCAxMi4gSnVsIDIwMDAsIDEwOjU3OjE0KToKSGkgTGV1dHMsCgpkYSBpY2ggZGVtbmFlY2hzdCB1bXppZWhlIHVuZCBqZXR6dCBzY2hvbiBtYWwgZXR3YXMgYXVmcmFldW1lLAptb2VjaHRlIGljaCBtaWNoIHZvbiBtZWluZW0gUEMgdHJlbm5lbi4KCkRhc0RpbmcgaXN0IHV1dXV1aGhocnJyYWx0IHVuZCBkaWUgRGF0ZW4gdm9uIGRlbSBUZWlsIGhhYiBpY2gKYXVjaCBuaWNodCBtZWhyIHBhcmF0LiBFcyBpc3QgZWluIDI4NiBtaXQgRmFyYm1vbml0b3IgdW5kIAooTmFkZWwpRHJ1Y2tlci4gRGVyIE1vbml0b3IgaXN0IGxlaWRlciBldHdhcyBkZWZla3QgKEJpbGQgZmFlbmd0CmFuIHp1IGxhdWZlbi4pLgoKV2VubiBqZW1hbmQgdHJvdHpkZW0gZGVuIFNjaHJvdHQgaGFiZW4gbW9lY2h0ZS4uLi4uLgpBbnNvbnN0ZW4gbGFuZGV0IGRhcyBaZXVjaCBhdWYgZGVtIE11ZWxsLgoKQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQQyB6dSB2ZXJzY2hlbmtlbiAoQ2F0d2VhemxlLCAxMi4gSnVsIDIwMDAsIDEzOjUzOjIyKToKfiMhIHJuPUFsaW5lIHJ0PTk2MzM5MjIzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjMzOTIyMzQKSGUgSGUsIGRlciB3YXIgd2lya2xpY2ggZ3V0LCBBbGluZSAuLi4KQWJlciB3b2hsIGluIGRlciBmYWxzY2hlbiBSdWJyaWssIHNvbGwgaWNoIGlobiBEaXIgbmFjaCBXaXR6ZSAKdmVybGVnZW4gb2RlciB3aWxsc3RlIGRhcyBzZWxiZXIgbWFjaGVuPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcmFsaW5lbi1QYWVja2NoZW4uLi4gKFNpbHZhbmEsIDEzLiBKdWwgMjAwMCwgMTI6MzA6MDMpOgpTYWx2ZQoKSWNoIHNldHplIGVpbiBrbGVpbmVzIFBha2V0IHNlbGJzdGdlbWFjaHRlIFByYWxpbmVuIGFscyBQcmVpcyBhdXMuLi4KV29mdWVyPyBGdWVyIGRlbiwgZGVyIGVzIHNjaGFmZnQsIG1laW5lIFNvdW5kYmxhc3RlciAxMjggUENJIGRhenUgenUgYnJpbmdlbiwKYW0gTGluZS1JbiBhbmxpZWdlbmRlIE11c2lrc2lnbmFsZSBhdWZ6dXplaWNobmVuLiBLbGluZ3QgZWluZmFjaCwgb2Rlcj8KCktvbmtyZXRlcmUgQmVzY2hyZWlidW5nOgpTeXN0ZW06IFdpbjk4U0UuIERpcmVrdFggNy4wCkFsbGUgbWlyIGJla2FubnRlbiBpbnRlcm5lbiBBbmFseXNlbWV0aG9kZW4gbGllZmVybiAia2VpbmUgRmVobGVyIi4KCkRpZSBTb3VuZGthcnRlIHNwaWVsdCBDRHMgdW5kIC53YXYgRmlsZXMgdGFkZWxsb3MgYWIuCldlbm4gaWNoIGVpbmVuIENELVBsYXllciAoTmVpbiwga2VpbiBDRC1ST00pIGFtIExpbmUtSW4gYW5zY2hsaWVzc2UsIHVuZCBkaWUKU3RlcmVvYW5sYWdlIGFtIExpbmUtT3V0LCBpc3QgZGllIENEIG9obmUgbmVubmVuc3dlcnRlbiBRdWFsaXRhZXRzdmVybHVzdCB6dQpob2VyZW4uIE1pdCBkZW0gbWl0Z2VsaWVmZXJ0ZW4gTWl4ZXIgbGFlc3N0IHNpY2ggZGVzc2VuIExhdWZzdGFlcmtlIGF1Y2gKYmVlaW5mbHVzc2VuLiBBbGxlaW46IERlciBWZXJzdWNoLCBkaWVzZXMgbWl0IENyZWF0aXZlIFdhdmUgU3R1ZGlvLCBkZW0KV2luLWVpZ2VuZW4gQXVkaW9yZWNvcmRlciBvZGVyIGRlciBTaGFyZXdhcmUgQWNvdXN0aWNhIDIuMSBhdWZ6dW5laG1lbiBsaWVmZXIKbmljaHRzIGFscyBTdGlsbGUuCgpBY2ggamE6IEVpbmUgQXVmbmFobWUgdWViZXIgTWljcm8gZnVua3Rpb25pZXJ0LiBad2FyIG1pdCBnZWxpbmRlIGdlc2FndApzYXVtYWVzc2lnZXIgUXVhbGl0YWV0LCBhYmVyIGVzIGdlaHQuCgpFaW4gSGFyZHdhcmUtRGVmZWt0IGlzdCBhdXN6dXNjaGxpZXNzZW4sIGVzIHNlaSBkZW5uIG1laW4gKGViZW5mYWxscwp2ZXJ6d2VpZmVsbmRlcikgSGFlbmRsZXIgaGFldHRlIGZ1ZW5mIEthcnRlbiBtaXQgaWRlbnRpc2NoZW0gRGVmZWt0LiBEZXIKVHJlaWJlciBkZXIgS2FydGUgaXN0IGViZW5mYWxscyBkZXIgbmV1c3RlIHZvbiBDcmVhdGl2ZSBhbmdlYm90ZW5lLgoKSXJnZW5kd2VyIGlyZ2VuZGVpbmUgSWRlZT8KClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcmFsaW5lbi1QYWVja2NoZW4uLi4gKFNpbHZhbmEsIDEzLiBKdWwgMjAwMCwgMTI6MzE6MTApOgp+IyEgcm49U2lsdmFuYSBydD05NjM0ODQyMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTYzNDg0MjAzCkFjaCBqYSwgbm9jaCB6d2VpIERpbmdlOgoxKSBMaW51eCBzdGVodCBuaWNodCB6dXIgRGViYXR0ZS4KMikgRGllIFByYWxpbmVuIGdpYnQncyBlcnN0LCB3ZW5uIGRhcyBXZXR0ZXIgZXMgenVsYWVzc3QuCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJhbGluZW4tUGFlY2tjaGVuLi4uIChTaWx2YW5hLCAxMy4gSnVsIDIwMDAsIDEyOjM3OjQyKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTYzNDg0MjcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2MzQ4NDIwMwpBaCwgYWxsZXMga2xhci4gVGlhbWFrIGhhdCBzaWNoIGRpZSBQcmFsaW5lbiB2ZXJkaWVudC4gOy0pCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJhbGluZW4tUGFlY2tjaGVuLi4uIChSaWt1cywgMTMuIEp1bCAyMDAwLCAxMjozOTowMik6Cn4jISBybj1TaWx2YW5hIHJ0PTk2MzQ4NDIwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjM0ODQyMDMKaGFzdCBEdSBhbHMgQXVmbmFobWVxdWVsbGUgYXVjaCBsaW5lLWluIGFrdGl2aWVydD8gU3RlaHQgc2ljaGVybGljaCBuaWNodCBhdWYKbGluZTBpbi4uLgpSaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByYWxpbmVuLVBhZWNrY2hlbi4uLiAoTW9yZ290aCwgMTMuIEp1bCAyMDAwLCAxMzoyMzo1Nik6Cn4jISBybj1TaWx2YW5hIHJ0PTk2MzQ4NDIwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjM0ODQyMDMKTWFsIGluIGRlciBTeXN0ZW1zdGV1ZXJ1bmcgLyBBdWRpbyBuYWNoZ2VzY2hhdXQsIHdlbGNoZSBHZXJhZXRlIGFscwpNaWRpL0F1ZGlvLUluIGJlbnV0enQgd2VyZGVuIHVuZCBkaWUgZGFubiBnZ2YuIGF1ZiBkZW4gU0IxMjggZWluc3RlbGxlbiB1bmQKZGllIENoZWNrYm94ICJOdXIgYmV2b3J6dWd0ZSBHZXJhZXRlIHZlcndlbmRlbiIgYW5zY2hhbHRlbi4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByYWxpbmVuLVBhZWNrY2hlbi4uLiAoTmV2b2ssIDEzLiBKdWwgMjAwMCwgMTM6NTE6NTgpOgp+IyEgcm49TW9yZ290aCBydD05NjM0ODc0MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTYzNDg0MjAzCk1hbiwgc2VpZCBpaHIgdmVyZnJlc3NlbgoKTmV2b2ssIGRlciBzaWNoIHNlaW5lbiBUaXAgZGFubiB3b2hsIHNwYXJlbiBrYW5uLCBrZWluZSBQcmFsaW5lbiAqc2NobnVlZmYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY29ucyB1bnRlciBXaW4qIChTaWx2YW5hLCAyMy4gSnVsIDIwMDAsIDExOjUyOjQ0KToKU2FsdmUKCkljaCBzdWNoZSBuZW4gUHJvZ3JhbW0sIG1pdCBkZW0gbWFuIHVudGVyIFdpbiogSWNvbnMgZW50d2VyZmVuIGthbm4uCk1vZWdsaWNoc3Qgc29sbHRlIGVzIGF1Y2ggZnJlbWRlIEdyYXBoaWtmb3JtYXRlIGVpbmxlc2VuIHVuZCBrb252ZXJ0aWVyZW4Ka29lbm5lbi4gR2lidCdzIHNvd2FzIC0gdW5kIHdlbm4sIGRhbm4gd28gdW5kIHdhcyBrb3N0ZXQ/IAoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNvbnMgdW50ZXIgV2luKiAoU3RpbmcsIDIzLiBKdWwgMjAwMCwgMTI6MDE6NDMpOgp+IyEgcm49U2lsdmFuYSBydD05NjQzNDU5NjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY0MzQ1OTY0Cmt1Y2sgZGlyIG1hbCBJckZhblZpZXcgYW4uIEdpYnRzIGJlaSBUdWNvd3MsIGtvc3RldCBnbGF1YiBuaXguCgpHcnVzcwpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljb25zIHVudGVyIFdpbiogKE11YWRkaWIsIDI1LiBKdWwgMjAwMCwgMTM6MDY6MDkpOgp+IyEgcm49U2lsdmFuYSBydD05NjQzNDU5NjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY0MzQ1OTY0Cnd3dy5pY29uZWRpdC5jb20KCmtvc3RldCB3ZW5pZyB1bmQgaXN0IGdlbmlhbAoKbGcsCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY29ucyB1bnRlciBXaW4qIChSdW1hdGEsIDI1LiBKdWwgMjAwMCwgMTY6NDY6MDMpOgp+IyEgcm49TXVhZGRpYiBydD05NjQ1MjMxNjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY0MzQ1OTY0CkhhYiBtYWwgSWNvblNob3AgYmVudXR6dCwgd2FyIGF1ZiBkZXIgYyd0IFNoYXJld2FyZSBDRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNodHVuZywgREFVLUZyYWdlOiBFaW5iaW5kdW5nIGVpbmVzIE5ULVJlY2huZXJzIGluIDIgTmV0emUgKFpvb2tpLCAyOC4gSnVsIDIwMDAsIDEyOjUyOjE2KToKSWNoIGhhYmUgendlaSBOZXR6ZSBtaXQgdmVyc2NoaWVkZW5lbiBJUC1OdW1tZXJua3JlaXNlbiB1bmQgdmVyc2NoaWVkZW5lbgpHYXRld2F5cyB1bmQgbW9lY2h0ZSBlaW5lbiBMYXB0b3Agc28ga29uZmlndXJpZXJlbiwgZGFzcyBlciBpbiBiZWlkZW4KTmV0emVuIGJlbnV0enQgd2VyZGVuIGthbm4uCgpBdWYgZGVtIExhcHRvcCBsYWV1ZnQgV2luZG93cyBOVCA0LjAgdW5kIGVyIGlzdCBlbnR3ZWRlciBpbSBlaW5lbgpvZGVyIGltIGFuZGVyZW4gTmV0ei4gV2llIHJpY2h0ZSBpY2ggc28gZXR3YXMgYW0gZ2VzY2hpY2t0ZXN0ZW4KZWluPyAKCk5laW4sIGljaCBoYWJlIERIQ1AtU2VydmVyIHVuZCBkZXIgTGFwdG9wIGthbm4gbmljaHQgbWl0IGRlciBnbGVpY2hlbgpJUC1BZHJlc3NlIGluIGJlaWRlbiBOZXR6ZW4gYmV0cmllYmVuIHdlcmRlbi4KCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2h0dW5nLCBEQVUtRnJhZ2U6IEVpbmJpbmR1bmcgZWluZXMgTlQtUmVjaG5lcnMgaW4gMiBOZXR6ZSAoWm9vaywgMjguIEp1bCAyMDAwLCAxMzoxMzowMCk6Cn4jISBybj1ab29raSBydD05NjQ3ODE1MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY0NzgxNTM2CmFlaC4uLiB6d2lzY2hlbiAiaGFiZSIgdW5kICJESENQLVNlcnZlciIgZmVobHQgZWluICJrZWluZW4iIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nLCBEQVUtRnJhZ2U6IEVpbmJpbmR1bmcgZWluZXMgTlQtUmVjaG5lcnMgaW4gMiBOZXR6ZSAoTXVhZGliLCAyOC4gSnVsIDIwMDAsIDEzOjU0OjIxKToKfiMhIHJuPVpvb2sgcnQ9OTY0NzgyNzgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NDc4MTUzNgpoaSwKCnNvYmFsZCBkdSAyIGthcnRlbiBpbSByZWNobmVyIGhhc3QsIGJpZXRldCBOVCBuZXR6d2Vya3Byb2ZpbGUsIG1pdCBkZW5lbiBtYW4KZWluZmFjaCBiZWkgc3RhcnQgZWluIG5ldHp3ZXJrIGF1c3dhZWhsZW4ga2Fubi4gYW5nZWJsaWNoIGthbm4gbWFuIGRpZXNlCnByb2ZpbGUgYXVjaCBtaXQgZWluZXIga2FydGUgbnV0emVuLiBmcmFnIGRhIGRvY2ggbWFsIGRpZSBrbm93bGVkZ2ViYXNlLgplaW5lIGFuZGVyZSBtb2VnbGljaGtlaXQgaXN0IGVzLCBkZWluZSBuZXR6d2Vya2thcnRlIGZ1ZXIgamVkZXMgbmV0endlcmsgaW4KZWluZW0gYW5kZXJlbiBzbG90IHp1IGtvbmZpZ3VyaWVyZW4gdW5kIHNpZSBkYW5uIGVpbmZhY2ggenV0YXVzY2hlbi4gZGFzIGdlaHQKamVkb2NoIG5pY2h0IGZ1ZXIgYWxsZSBuZXR6d2Vya2thcnRlbi4KZGllIGVpbmZhY2hzdGUgbW9lZ2xpY2hrZWl0IHdhZXJlIHdvaGwgZWluZSB6d2VpdGUgbmV0endlcmtrYXJ0ZS4KCmdydXNzCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2h0dW5nLCBEQVUtRnJhZ2U6IEVpbmJpbmR1bmcgZWluZXMgTlQtUmVjaG5lcnMgaW4gMiBOZXR6ZSAoVGVkZHksIDI4LiBKdWwgMjAwMCwgMTk6MTI6MDIpOgp+IyEgcm49Wm9va2kgcnQ9OTY0NzgxNTM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NDc4MTUzNgpFcmZhaHJ1bmdzZ2VtZXNzIHJlaWNodCBkYXMsIGV0d2FzIHVuc2Nob2VuZSwgdW1rb25maWd1cmllcmVuIGRlciBJUC1BZHJlc3NlCnVuZGRlcyBHYXRld2F5cy4KU29sbHRlc3QgZHUgZGljaCBpbiBlaW5lbSBOZXR6IG1pdCBQREMgdS5hZS4gYmVmaW5kZW4sIHdpcnN0IGR1IHdvaGwgZGFzCkNvbXB1dGVya29udG8gZGVzIFBEQyBiZWltIE5ldHp3ZWNoc2VsIG1laXN0ZW5zIGVpbm1hbCBsb2VzY2hlbiB1bmQgbmV1CmFubGVnZW4gbXVlc3Nlbi4KRGllIGVudHNwcmVjaGVuZGVuIFJlY2h0ZSB2b3JhdXNnZXNldHp0LCBrYW5uc3QgZHUgZGFzIGFiZXIgYXV0b21hdGlzaWVyZW4uCgpUZWRkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nLCBEQVUtRnJhZ2U6IEVpbmJpbmR1bmcgZWluZXMgTlQtUmVjaG5lcnMgaW4gMiBOZXR6ZSAoSGF0ZSwgMjguIEp1bCAyMDAwLCAyMDowMDo0OCk6Cn4jISBybj1UZWRkeSBydD05NjQ4MDQzMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY0NzgxNTM2CkljaCB3ZWlzcyBuaWNodCBvYnMgaGlsZmU6IHd3dy5uZXRzd2l0Y2hlci5jb20uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFjaHR1bmcsIERBVS1GcmFnZTogRWluYmluZHVuZyBlaW5lcyBOVC1SZWNobmVycyBpbiAyIE5ldHplIChBcG9waGlzLCAyOS4gSnVsIDIwMDAsIDIwOjI2OjIzKToKfiMhIHJuPVpvb2tpIHJ0PTk2NDc4MTUzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjQ3ODE1MzYKVm9uIFN5bWFudGVjIGdpYnQncyBuZSBTb2Z0d2FyZSBuYW1lbnMgJ01vYmlsZSBFc3NlbnRpYWxzJy4gTWl0IEhpbGZlIGRpZXNlcgpTb2Z0d2FyZSBrYW5uc3QgZHUgZGVuIFJlY2huZXIgaW4gendlaSBOZXR6d2Vya2VuIGJldHJlaWJlbi4gRGFmdWVyIGxlZ3N0IGR1Cnp3ZWkgU3RhbmRvcnRlIGFuLCBtaXQgamV3ZWlscyBlaWdlbmVuIE5ldHp3ZXJrLSwgREZVRS0uIGV0Yy4gRWluc3RlbGx1bmdlbi4KV2VubiBEdSBudW4gZGVuIFN0YW5kb3J0IGFlbmRlcnN0LCBzdGVsbHQgZGllIFNvZnR3YXJlIGRlbiBSZWNobmVyIGF1ZiBkYXMKYW5kZXJlIE5ldHp3ZXJrIHVtIChhbmRlcmVyIEdhdGV3YXksIElQLCBldGMuKS4gTmFjaCBuZW0gUmVib290IGthbm5zdCBEdSBkYW5uCmluIGRlbSBhbmRlcmVuIE5ldHogYXJiZWl0ZW4uICBJc3QgZWlnZW50bGljaCBmdWVyIFNjaGxlcHB0b3BzIGdlZGFjaHQsIGZ1bnp0CmFiZXIgYXVjaCBtaXQgbmVtIG5vcm1hbGVuIFBDLiBCZWkgU3ltYW50ZWMgZ2lidHMgbmUgVGVzdHZlcnNpb24gZGF2b24genVtCkF1c3Byb2JpZXJlbi4KVmllbGxlaWNodCBoaWxmdCBkYXMgd2VpdGVyLgoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBY2h0dW5nLCBEQVUtRnJhZ2U6IEVpbmJpbmR1bmcgZWluZXMgTlQtUmVjaG5lcnMgaW4gMiBOZXR6ZSAoVHJveSwgMzEuIEp1bCAyMDAwLCAwODowMDo0MCk6Cn4jISBybj1BcG9waGlzIHJ0PTk2NDg5NTE4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjQ3ODE1MzYKTS5FLiBnaWJ0cyBkaWVzZXIgQXJ0IFNvZnR3YXJlIGF1Y2ggb2huZSBSZWJvb3RwZmxpY2h0LiBOb3JtYWxlcndlaXNlIGlzdAptaXR0bGVyd2VpbGUgc2VsYnN0IHVudGVyIGVpbmVtIE1pY3Jvc29mdC1TeXN0ZW0gZGVyIFJlYm9vdCBuaWNodCBtZWhyIGJlaQpKRURFUiBBZW5kZXJ1bmcgZWluZXIgS2xlaW5pZ2tlaXQgbm90d2VuZGlnLiBJY2ggaGFiIHNvbiBQcm9ncmFlbW1saSB1bnRlcgonOTggZ2VzZWhlbiB1bmQgZXMgZnVua3Rpb25pZXJ0IG9obmUgUmVib290LiBGcmFnIG1pY2ggamV0enQgYmxvc3MgbmljaHQsCndpZSBkYXMgaGVpc3N0LgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcHBwIG1pdCBsaW51eC1rZXJuZWwgMi40LnRlc3QqIChTdG9wZGVuYnVzLCAgNC4gQXVnIDIwMDAsIDE0OjM1OjM1KToKSGlobyAhCkljaCBzcGllbCBkYSBncmFkIG1pdCBkZW0gbmV1ZW4ga2VybmVsIDIuNCBydW0gdW5kIGhhYiBuZW4ga2xlaW5lcyBwcm9iCm1pdCBwcHAuIFdlbm4gaWNoIGRlbiBhbndlcmYgd2FlaGx0IGVyIGF1Y2ggc2Nob2VuIGJyYXYsIGRvY2ggd2VubnMgZGFyYW4gCmdlaHQsIHNpY2ggbWl0IGRlciBnZWdlbnN0ZWxsZSB6dSB1bnRlcmhhbHRlbiwga3JpZWcgaWNoIG5lIG1lbGR1bmcgCiJjYW4ndCBsb2FkIG1vZHVsZSBwcHAwIiBvZGVyIHNvIGFlaG5saWNoLiBHdXQsIGlubmVyIFJlYWRtZSB2b24gcHBwIHN0ZWh0Cndlbm4gbWFuIG1pdCBuZXVlcmVuIGtlcm5lbHMgYWIgdmVyc2lvbiAyLjMubm9jaHdhcyBhcmJlaXRldCB1bmQgcHBwIGFscwpNb2R1bCBpbiBrZXJuZWsgYmF1dCwgbXVzcyBtYW4gd2FzIGluIGRpZSAvZXRjL21vZHVsZXMuY29uZiBzY2hyZWliZW4sIGRhCnNpY2ggZGFzIGtlcm5lbC1wcHAgZ2VhZW5kZXJ0IGhhdCB1bmQgZXMgZGFzIG1vZHVsIHBwcDAgbmV0IG1laHIgZ2lidC4gSGFiCmljaCBnZW1hY2h0LCBrcmllZyBhYmVyIGxlaWRlciBiZWltIG5iYWVjaHN0ZW4gdmVyc3VjaCBkaWUgc2VsYmUgbWVsZHVuZwp3aWVkZXIsIGplbWFuZCBuZSBpZGVlID8KCnN0b3BwaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBwcCBtaXQgbGludXgta2VybmVsIDIuNC50ZXN0KiAoR3JpbW1ib3JuLCAgNC4gQXVnIDIwMDAsIDE0OjQ4OjEzKToKfiMhIHJuPVN0b3BkZW5idXMgcnQ9OTY1MzkyNTM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTM5MjUzNQpXZW5uIER1IHNjaG9uIGRhcyBSRUFETUUubGludXggZW50ZGVja3QgaGFzdCwgZmluZGVzdCBEdSBkYSBhdWNoOgpPdGhlcndpc2UgeW91IHdpbGwgbmVlZCB0byBjcmVhdGUgYSAvZGV2L3BwcCBkZXZpY2Ugbm9kZSB3aXRoIHRoZQpjb21tYW5kczoKCiMgbWtub2QgL2Rldi9wcHAgYyAxMDggMAojIGNobW9kIDYwMCAvZGV2L3BwcAoKSWYgeW91IHVzZSBtb2R1bGUgYXV0b2xvYWRpbmcgYW5kIGhhdmUgUFBQIGFzIGEgbW9kdWxlLCB5b3Ugd2lsbCBuZWVkCnRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIHlvdXIgL2V0Yy9tb2R1bGVzLmNvbmYgb3IgL2V0Yy9jb25mLm1vZHVsZXM6CgogL2Rldi9wcHAgICAgICAgICAgICAgcHBwX2dlbmVyaWMKYWxpYXMgY2hhci1tYWpvci0xMDggcHBwX2dlbmVyaWMKYWxpYXMgdHR5LWxkaXNjLTMgICAgcHBwX2FzeW5jCmFsaWFzIHR0eS1sZGlzYy0xNCAgIHBwcF9zeW5jdHR5CgpPZGVyIER1IGd1Y2tzdCBEaXIgaHR0cDovL3d3dy5jYWxkZXJhc3lzdGVtcy5jb20vcHJldmlldy8gYW4sIGRlciBMaW51eApUZWNobm9sb2d5IFByZXZpZXcgZW50aGFlbHQgdS5hLiBrZXJuZWwgMi40IHVuZCBwcHAgdHV0cyBvdXQgb2YgdGhlIGJveC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29mdHdhcmVsb2VzdW5nIGdlc3VjaHQuLi4/IChBbmF0b2wsICA1LiBBdWcgMjAwMCwgMDQ6Mjc6MDApOgoKSWNoIG11c3MgZ2VsYXlvdXRldGUgRG9rdW1lbnRlIChrbGVpbmVyZXMgSGFuZGJ1Y2gsIGQuaC4gbGlua3MgUmFuZCwgZGVyCm1pdCBLb21tZW50YXJlbiB1bmQgSWNvbnMgYmVzcGlja3QgaXN0KSB2ZXJmYXNzZW4gYnp3LiB1ZWJlcmFyYmVpdGVuLiBEYXMKUmVzdWx0YXQgc29sbCBzb3dvaGwgc2F1YmVyIGF1c2dlZHJ1Y2t0IHdlcmRlbiBrb2VubmVuIGFscyBhdWNoIGluIGVpbmVtCkJyb3dzZXIgZ3V0IGxlc2JhciBzZWluLgoKLSBXb3JkOTUtMjAwMCBmYWVsbHQgcmF1cyAoZGllIEtvbnZlcnRpZXJ1bmcgbmFjaCBodG1sIGlzdCBiZXNjaGVpZGVuKQotIFRleCBmYWVsbHQgcmF1cyAoZWJlbnNvbWllc2UgS29udmVydGllcnVuZyBuYWNoIGh0bWwpCgpVbmQgbnU/IEljaCBkYWNodGUgYW4gcGRmIC0gZGEgZGFzIG1pdCBkZXIgZW50c3ByZWNoZW5kZW4gKGZyZWllbikKU29mdHdhcmUgZGlyZWt0IGltIEJyb3dzZXIgZGFyZ2VzdGVsbHQgd2VyZGVuIGthbm4gdW5kIGF1Y2ggYmVpbSAKRHJ1Y2sgc2F1YmVyIGF1c3NpZWh0LiBWb3JzY2hsYWVnZT8KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvZnR3YXJlbG9lc3VuZyBnZXN1Y2h0Li4uPyAoR29sYXMsICA1LiBBdWcgMjAwMCwgMDk6NTU6NDcpOgp+IyEgcm49QW5hdG9sIHJ0PTk2NTQ0MjQyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjU0NDI0MjAKZGVuIGR2aSBvdXRwdXQgdm9uIHRleCBrYW5uc3RlIHJlbCBwcm9ibGVtbG9zIG5hY2ggcGRmIGtvbnZlcnRpZXJlbi4KZGFzIGtsaW5ndCBtaXIgbmFjaCBlaW5lciBwcmFrdGlrYWJsZW4gbG9lc3VuZy4KCmdvbGFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlbG9lc3VuZyBnZXN1Y2h0Li4uPyAoR3JpbW1ib3JuLCAgNS4gQXVnIDIwMDAsIDEwOjA4OjI3KToKfiMhIHJuPUdvbGFzIHJ0PTk2NTQ2MjE0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjU0NDI0MjAKV2VubiBEdSBlaW4gYmlzY2hlbiBaZWl0IHp1ciBFaW5hcmJlaXR1bmcgbWl0YnJpbmdzdCBrYW5uc3QgRHVzIGF1Y2ggbWl0CkRvY2Jvb2sgdmVyc3VjaGVuLiBTZWxiZXIgaGFiIGljaCBkYSBrZWluZSBBaG51bmcgdm9uLCBhYmVyIGVzIHNjaGVpbnQgZWluZQpBcnQgV3VuZGVyd2FmZmUgenUgc2Vpbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU29mdHdhcmVsb2VzdW5nIGdlc3VjaHQuLi4/IChTdGluZywgIDUuIEF1ZyAyMDAwLCAxMTo1NDoyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTY1NDYyOTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTQ0MjQyMApXb3JkIDIwMDAgZmFlbGx0IG51ciBkYW5uIHJhdXMgd2VubiBkdSBrZWluZSBNb2VnbGljaGtlaXQgaGFzdCBtaXQgemIuCkRyZWFtd2VhdmVyIGRlbiBDb2RlIGF1dG9tYXRpc2NoIG5hY2h6dWJlc3Nlcm4gOikKQW5zb25zdGVuIGlzdCBQREYgaW4gZGVyIFRhdCBlaW5lIHNlaHIgdmVyYnJlaXRldGUgdW5kIGd1dGUgTG9lc3VuZy4KClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb2Z0d2FyZWxvZXN1bmcgZ2VzdWNodC4uLj8gKEhhdGUsICA1LiBBdWcgMjAwMCwgMTY6NTk6NTkpOgp+IyEgcm49U3RpbmcgcnQ9OTY1NDY5MjYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTQ0MjQyMApwZGZ0ZXgga2FubiBzb2dhciByZWZlcmVuemVuIGltIHBkZiBkb2t1bWVudCBlaW5iYXVlbi4gZC5oLiBkdSBrYW5uc3QKYXVmIGxpbmtzIGtsaWNrZW4gdW5kIHdpcnN0IGF1ZiBkaWUgc2VpdGUgZ2VsZWl0ZXQgLi4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU29mdHdhcmVsb2VzdW5nIGdlc3VjaHQuLi4/IChNdXBmZWwsICA1LiBBdWcgMjAwMCwgMTg6MjE6MTYpOgp+IyEgcm49SGF0ZSBydD05NjU0ODc1OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY1NDQyNDIwClRlWCBrYW5uc3RlIGtuaWNrZW4uIEljaCBoYWIgZGVuIFRleHQgZ2VzZWhlbiBkYXMgd3VlcmRlIG5lIG1vZXJkZXJpc2NoZQpmcmlja2VsZWkgd2VyZGVuICg3NCBCaWxkZXIgYXVmIDE1IFNlaXRlbi4uLikKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29mdHdhcmVsb2VzdW5nIGdlc3VjaHQuLi4/IChEZmVuZGVyLCAgNi4gQXVnIDIwMDAsIDIwOjU1OjE0KToKfiMhIHJuPUFuYXRvbCBydD05NjU0NDI0MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY1NDQyNDIwCldlbm4gRHUgUERGIG1hY2hlbiB3aWxsc3QsIGthbm5zdCBEdSwgd2VubiBlcyBkZW5uIFdvcmQgc2VpbiBzb2xsLCBhdWNoIGVpbmVuClBvc3RzY3JpcHQtRHJ1Y2tlciBpbnN0YWxsaWVyZW4gKGFuIEZJTEU6KSB1bmQgZGllIGRhIHJhdXNrb21tZW5kZW4gUFMtRmlsZXMKbWl0IEdob3N0dmlldy9HaG9zdHNjcmlwdCBuYWNoIFBERiBrb252ZXJ0aWVyZW4uCgpEZmVuZGVyLCB3ZWlzcyBzZWxiZXIsIGRhc3MgZGFzIHppZW1saWNoZXMgR2V3dWVyZ2UgaXN0LiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmV0c2NhcGUgKEt3YWtzLCAgNy4gQXVnIDIwMDAsIDE4OjA0OjA1KToKd2VubiBtYW4gYmVpIG5ldHNjYXBlIGF1ZiBkZW4genVydWVjay1idXR0b24gZHJ1ZWNrdCwgbGFuZGV0IG1hbiBpbW1lcgpnYW56IG9iZW4gYXVmIGRlciB2b3JnYWVuZ2Vyc2VpdGUuIGRhcyBuZXJ2dCB0aWVyaXNjaCwgYmVzb25kZXJzIHdlbm4KbWFuIGluIGVpbmVtIGxhZW5nZXJlbiBkb2t1bWVudCBpc3QgdW5kIGRpZSBzdGVsbGUgZXJzdCBtdWVoc2VsaWcgd2llZGVyCmZpbmRlbiBtdXNzLiBrZW5udCBqZW1hbmQgZWluZW4gd2VnLCBkYXMgenUgYWVuZGVybj8gbGVpZGVyIGdpYnRzIG9wZXJhCm5vY2ggYXVmIGthdW0gZWluZW0gcmVjaG5lciwgdW5kIGludGVybmV0IGV4cGxvcmVyIC0gd2FlaCEhIQoKZ2VzcGFubnQKa3dha3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXRzY2FwZSAoU3RpbmcsICA3LiBBdWcgMjAwMCwgMTg6MDk6MTEpOgp+IyEgcm49S3dha3MgcnQ9OTY1NjY0MjQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTY2NDI0NQpFcyBnaWJ0IGtlaW5lIE1vZWdsaWNoa2VpdC4KRGVyIElFIGthbm5zLiBzb3ZpZWwgenUgZGVpbmVtIHdhZWghISEgOikpKQoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmV0c2NhcGUgKFJvYWRydW5uZXIsICA3LiBBdWcgMjAwMCwgMTg6MjU6NDMpOgp+IyEgcm49U3RpbmcgcnQ9OTY1NjY0NTUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTY2NDI0NQptYWNoZSBlaW5mYWNoIGRpZSB3ZWl0ZXJlbiBzZWl0ZW4gaW4gbmVtIGV4dHJhIHdpbmRvdyBhdWYuIE11c3N0IGViZW4KZ2VsZWdlbnRsaWNoIGRpZSBhbHRlbiB3aW5kb3dzICdlbnRzb3JnZW4nCgpSUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5ldHNjYXBlIChKdXN0YXZpdXMsICA4LiBBdWcgMjAwMCwgMTk6MTk6NDQpOgp+IyEgcm49S3dha3MgcnQ9OTY1NjY0MjQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk2NTY2NDI0NQplaW5mYWNoIG5lbiByZWNodHMtbWF1c2tsaWNrIGF1ZiBkZW4gJ3p1cnVlY2snLWJ1dHRvbiwgc2Nob24gaGF0IG1hbihuKSBkaWUKYXVmbGlzdHVuZyBhbGxlciBiaXMgamV0enQgYmVzdWNodGVuIHNlaXRlbiAtPiBlaW5mYWNoIHJ1bnRlcmZhaHJlbiBtaXQgZGVyCm1hdXMgdW5kIGtsaWNrZW4KCmp1c3QsIChpbnRlcm5ldCBleHBsb3JlciAtIHdhZWghISEhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBuZXRzY2FwZSAoUHJhLCAgOS4gQXVnIDIwMDAsIDE3OjE5OjA3KToKfiMhIHJuPUp1c3Rhdml1cyBydD05NjU3NTUxODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY1NjY0MjQ1CmRhcyBpc3QgendhciBuaWNodCBkYXMsIHdhcyBLd2FrcyB3b2xsdGUsIGlzdCBhYmVyIGF1Y2ggZWluIG5ldHRlcwpGZWF0dXJlLCB3YXMgaWNoIHp1bWluZGVzdCBub2NoIG5pY2h0IGthbm50ZS4gRGFua2UhCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0ZXh0cGFkIChTaWx2YW5hLCAxMC4gQXVnIDIwMDAsIDIxOjExOjIxKToKU2FsdmUKCkljaCBoYWIgZGFzIGxwYy5zeW4tRmlsZSBpbiAvb3Blbi9Tb2Z0d2FyZS9UZXh0cGFkIG5vY2ggbWFsIGV0d2FzIGVyd2VpdGVydC4KSGF2ZSBGdW4gLSBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcm5ldXRlIFdpbi1OVCBEQVUtRnJhZ2UhIChab29rLCAxOS4gQXVnIDIwMDAsIDE4OjQzOjEwKToKSGlobywgbnVuIGhhYmUgaWNoIGZvbGdlbmRlcyBQcm9ibGVtOgoKTWVpbiBXaW4tTlQtTGFwdG9wIGZ1bnp0IG51biBpbiBkZW0gendlaXRlbiBOZXR6d2VyayAoaWNoIGhhYmUgYmVpIGRlbgpUQ1AvSVAtRWluc3RlbGx1bmdlbiBlaW5lIHp3ZWl0ZSBJUC1BZHJlc3NlIGVpbmdldHJhZ2VuIHVuZCBkYXMgdHV0Cm51bikuIEpldHp0IG1vZWNodGUgaWNoIG51ciBoYWJlbiwgZGFzcyBlciBhdWNoIGFuIGRlbiBTYW1iYS1TZXJ2ZXIKaW4gZGVtIE5ldHp3ZXJrIGtvbW10LiBVbmQgendhciBzY2hhdXQgZGFzIHNvIGF1cywgZGFzcyBkZXIgTGFwdG9wIApub3JtYWxlcndlaXNlIHNpY2ggYW4gZWluZXIgRG9tYWVuZSBhbm1lbGRldCwgYmVpIG1pciBoaWVyIGFiZXIKZGVyIFNhbWJhLVNlcnZlciBpbiBlaW5lciBBcmJlaXRzZ3J1cHBlIGxhZXVmdC4gRGFzIGZ1ZWhydCBudW4KenUgZm9sZ2VuZGVtLCBkYXNzIGRlciBMYXB0b3AgZGVuIFNhbWJhLVJlY2huZXIgX3VlYmVyaGF1cHQgbmljaHRfCmZpbmRldCwgYWxzIHdlZGVyIGJlaSBOZXR6d2Vya2xhdWZ3ZXJrLXZlcmJpbmRlbiBub2NoIGJlaSBTdWNoZW4tPkNvbXB1dGVyClN1Y2hlbi4gCgpIYXQgZGEgamVtYW5kIG5lbiBUaXAsIHdpZSBpY2ggZGVuIExhcHRvcCBkYXp1IGJyaW5nZSwgZGVuIFNhbWJhLVNlcnZlcgppbiBkZXIgQXJiZWl0c2dydXBwZSB6dSBmaW5kZW4/IEthbm4gbWFuIGFuIGRlbSBTYW1iYSB3YXMgZWluc3RlbGxlbj8KCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVybmV1dGUgV2luLU5UIERBVS1GcmFnZSEgKE1vcmdvdGgsIDIxLiBBdWcgMjAwMCwgMTA6MDA6MDkpOgp+IyEgcm49Wm9vayBydD05NjY3MDMzOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY2NzAzMzkwCldpbi1OVCBpc3QgZGEgc2VociB3YWVobGVyaXNjaCwgd2FzIERPTUFJTi1OYW1lbiBhbmdlaHQuIER1IHNvbGx0ZXN0IG1hbCBkaWVzZQpOYW1lbiBhbmdsZWljaGVuIHVuZCBzY2hhdWVuIG9icyBkYW5uIGtsYXBwdC4gRXZ0bC4gbXVzc3QgRHUgbm9jaCBhbSAib3MKbGV2ZWwiIGluIGRlciBzbWIuY29uZiBmdW1tZWxuLCBkYW1pdCBzaWNoIHNhbWJhIGFscyBTZXJ2ZXIvV29ya3N0YXRpb24KYXVzZ2lidC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTb2Z0d2FyZWxvZXN1bmcgZ2VzdWNodC4uLj8gKFRyb3ksIDI0LiBBdWcgMjAwMCwgMDg6MTA6MTUpOgp+IyEgcm49TXVwZmVsIHJ0PTk2NTQ5MjQ3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjU0NDI0MjAKSGFlaD8gYXMgdmVyc3RlaCBpY2ggbmljaHQgZ2Fuei4gV2FzIGZ1ZXJuIEZvcm1hdCBoYWJlbiBkZW5uIGRpZSBCaWxkZXJjaGVuPwpLYW5uIG1hbiBkaWUgcHJvYmxlbWxvcyBuYWNoIC5lcHMga29udmVydGllcmVuPyBEYW5uIHJlaWNodCBkb2NoClx1c2VwYWNrYWdle2Vwc2Z9CnVuZApcZXBzZnhzaXplPVxoc2l6ZVxlcHNmYm94e2JpbGQxLmVwc30KYnp3LiBuYXR1ZXJsaWNoIG5lIGFuZGVyZSB3aWR0aCAvIERhdGVpLgpXYXMgaXN0IGRhcmFuIHNvIHNjaHdpZXJpZz8gKFNlbGJzdCA3NHgpPwoKVHJveSAtIEZpbmRldCBhdWNoLCBkYXMgV29yZDIwMDAgYmVpIDc0IEJpbGRlcm4gS0VJTkUgT3B0aW9uIGlzdCwgZGEgZXMgaW0KZGVyemVpdGlnZW4gRW50d2lja2x1bmdzc3RhbmQgKHNwcmljaCBTZXJ2aWNlUGFja3MpIGJlaSBtZWhyIGFscyA2NApFaW56ZWxiaWxkZXJuIG9kZXIgbWVociBhbHMgMjU2TUIgR3JhZmlrZGF0ZW4gc2FuZy11bmQta2xhbmdsb3MgYWJyYXVjaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJiZWl0c2JhbmsgZ2VzdWNodCAoVGFuZ2FsdXIsIDI0LiBBdWcgMjAwMCwgMTM6MjA6MzUpOgpBcmJlaXRzYmFuayBnZXN1Y2h0ICEKCkhvZmZlbnRsaWNoIHRyZXRlIGljaCBuaWNodCB3aWVkZXIgZWluZW4gR2xhdWJlbnNrcmllZwpuYWNoIGRlbSBNb3R0byAiTWVpbiBDb21wdXRlciBpc3QgKHdhciA/ISkgZGVyIEFsbGVyYmVzdGUiIGxvcy4KCkplZGVuZmFsbHMgaGFiZSBpY2ggZWluZW4gQW1pZ2EgNTAwIHZvciBkZW0gU3BlcnJtdWVsbCBnZXJldHRldCB1bmQgCnN1Y2hlIGZ1ZXIgZGllc2VuIGRpZSBTdGFydGRpc2tldHRlIG1pdCBkZXIgV29ya2JlbmNoIAooVjEuMiBvZGVyIHdhcyBpbW1lciBkYSBicmF1Y2hiYXIgaXN0KSBkcmF1Zi4KV2VyIHdlaXNzIHdvIGVzIGRpZSB6dSBoYWJlbiAoZXZ0bC4gYWxzIERvd25sb2FkKSBnaWJ0IGJpdHRlIG1lbGRlbi4KCk5lYmVuYmVpOiBCZWkgbWlyIHR1bW1lbG4gc2ljaCBhdWNoIG5vY2ggZWluIHBhYXIgQXRhcmlzIHVuZCBlaW4gTWFjCmZyaWVkbGljaCBuZWJlbmVpbmFkZXIgKG5lYmVuIGVpbmlnZW4gUENzKSB1bmQgYmlzIGpldHp0IHNpbmQgCnp1bWluZGVzdCBkaWUgUmVjaG5lciBuaWNodCBhdWZlaW5hbmRlciBsb3NnZWdhbmdlbiA6LSkKClRhbmdhbHVyIEZldWVydGF0emUqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcmJlaXRzYmFuayBnZXN1Y2h0IChBY3JpbW9uLCAyNC4gQXVnIDIwMDAsIDE4OjEwOjQ3KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTk2NzExNjAzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjcxMTYwMzUKRGFzIGlzdCB6d2FyIGF1cyB1bnZlcnN0YWVuZGxpY2hlbiBHcnVlbmRlbiBpbW1lciBub2NoIGlsbGVnYWwsIGFiZXIgZGEga3JhZWh0CndvaGwga2VpbiBIYWhuIG1laHIgZGFuYWNoLiBJY2gga2FubiBEaXIgZGllIERpc2tldHRlbiBpbiBlaW5lbSBiZWxpZWJpZ2VuCkZvcm1hdCB6dXNjaGlja2VuIChkbXMsIGFkZiwgbGhhLCBsengsIHRneiBvZGVyIHNvbnN0aWdlcykuClVtIGVzIHRhdHNjaGxpY2ggdmVyd2VuZGVuIHp1IGtubmVuLCBtdXN6dCBEdSBlcyBqZWRvY2ggZW50d2VkZXIgYXVmIGVpbmVyCkZGUy0vUEZTLS9TRlMtZm9ybWF0aWVydGVuIEZlc3RwbGF0dGUgb2RlciBhdWYgZWluZXIgcGh5c2lrYWxpc2NoZW4gRGlza2V0dGUKaGFiZW4uIE1pdCBQQ3Mga25uZW4gQW1pZ2EtRGlza2V0dGVuIG51ciBtaXQgZGVtIENhdHdlYXpsZS1Db250cm9sbGVyIGdlbGVzZW4KdW5kIGdlc2NocmllYmVuIHdlcmRlbi4gV2VubiBEdSB3ZWRlciBlaW5lbiB6d2VpdGVuIEFtaWdhIG5vY2ggZWluZW4KQ2F0d2VhemxlLUNvbnRyb2xsZXIgaGFzdCwgZGFubiBtdWVzenRlIERpciBqZW1hbmQgZGllIERpc2tldHRlbiBwZXIKU2NobmVja2VucG9zdCB6dXNjaGlja2VuLgoKQWNyaW1vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcmJlaXRzYmFuayBnZXN1Y2h0IChNdXBmZWwsIDI0LiBBdWcgMjAwMCwgMjA6MTY6NTgpOgp+IyEgcm49QWNyaW1vbiBydD05NjcxMzM0NDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTY3MTE2MDM1CkNhdHdlYXpsZS1Db250cm9sbGVyPyBLbGluZ3QgaW50ZXJlc3NhbnQuLi4uIDspCgotbXVwZmVsLSAod2lsbCBhdWNoIG1hbCBDYXR3ZWF6bGUga29udHJvbGxpZXJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb2Z0d2FyZWxvZXN1bmcgZ2VzdWNodC4uLj8gKE1vcmdvbmF0ZSwgMjYuIEF1ZyAyMDAwLCAyMDo1OToxMCk6Cn4jISBybj1EZmVuZGVyIHJ0PTk2NTU4ODExNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NjU0NDI0MjAKbmFqYSwgZGllIGxvZXN1bmcgLmRvYyAtPiAucHMgLT4gLnBkZiBpc3QgbGVpZGVyIGVpbmUgdW5zY2hvZW5lLCBkYSBnaG9zdHZpZXcKLyBnaG9zdHNjcmlwdCBkYSBuaWNodCBnYW56IHNhdWJlciBhcmJlaXRldC4KCm15IDIgY2VudHMKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFRleHR2ZXJhcmJlaXR1bmcgKFJvbmRhLCAzMS4gQXVnIDIwMDAsIDA5OjAxOjQyKToKSGksCgpoYWIgZ3JhZCBkZW4gVGlwcCBmdWVyIGVpbmUgd2lya2xpY2ggc3RhYmlsZSBUZXh0dmVyYXJiZWl0dW5nIGdlZnVuZGVuLCBzY2hhdXQKbWFsIHJlaW46CgpodHRwOi8vd3d3LmZyaWV6ZS5jb20vcHJvamVjdHMvcHJvamVjdHMyLmFzcApXb3JkIFBlcmhlY3QgaXN0IHppZW1saWNoIGdlbmlhbCB6dSBiZWRpZW5lbi4uLiBlaW5mYWNoIG1hbCByZWluc2NoYXVlbiAtIG1hbgprYW5ucyBkaXJla3QgbWl0IGRlbSBCcm93c2VyIGF1c3Rlc3Rlbiwgd2llJ3MgZ2VodC4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBoaWxpcHMgYWxvcmlzIDUxMDAgKE15c3RlcmlvdXMsIDE3LiBTZXAgMjAwMCwgMjI6NDE6MzUpOgprb24tYmFuLXdhIQoKaWNoIHN1Y2hlIGRhcyBoYW5kYnVjaCAob2RlciBpcmdlbmR3ZWxjaGUgYW5kZXJlbiB0ZWNobmlzY2hlbiBpbmZvcykgenVtCnNjaG51cmxvc2VuIHRlbGVmb24gInBoaWxpcHMgYWxvcmlzIDUxMDAiLiB3ZW5uIG1pciBkYSBqZW1hbmQgd2VpdGVyaGVsZmVuCmtvZW5udGUgd2VyIGljaCBpaG0vaWhyIHNlaHIgdmVyYnVuZGVuIDopCgpzYXlvbmFyYQpteXN0ZXJJb3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0YXBlLWJhY2t1cHMgKE15c3RlcmlvdXMsIDEzLiBPa3QgMjAwMCwgMTU6MTM6MDkpOgprb25uaS1jaGktd2EhCgplcnN0bWFsIHp1ciB2ZXJ3ZW5kZXRlbiBoYXJkL3NvZnQ6CmlyZ2VuZGVpbiBzdGQuIHBjIG1pdCBIUCBKZXRTdG9yZSA2MDAwIChDMTUzM0EpLCBuIHN0cmVhbWVyIGZ1ZXIgZGRzLXRhcGVzCmxpbnV4IDIuMi4xMywgbXQgMi40LjIsIHRhciAxLjEyCgpkYXMgdGFlZ2xpY2hlIGJhY2t1cCBsYWV1ZnQgbnVyIHNwb3JhZGlzY2ggZHVyY2gsIGRpZXNlIHdvY2hlIGJyaWNodCBkYXMKZ2VyYWV0IGltbWVyIGFiIHVuZCBpY2ggZXJoYWx0ZSBkaWUgbWVsZHVuZzoKCnRhcjogQ2Fubm90IHdyaXRlIHRvIC9kZXYvc3QwOiBJbnB1dC9vdXRwdXQgZXJyb3IKCgplcyBzaW5kIGltbWVyIGFuZGVyZSBkYXRlaWVuLCBkaWUgZXIgenVsZXR6dCBiZWFyYmVpdGV0IGhhdCB1bmQgaW1tZXIgZWluZQphbmRlcmUgbWVuZ2UgYW4gZGF0ZW4sIGRpZSBlciBzY2hyZWliZW4ga29ubnRlLiBlYmVuc28gZ2lidCBlcyBmdWVyIGplZGVuIHRhZwplaW4gYW5kZXJlcyB0YXBlLgppcmdlbmR3YW5uIG5haG0gaWNoIGVpbmVuIGZyaXNjaGVuIHNhdHogdGFwZXMsIGRlciBkaWUgZXJzdGVuIHdvY2hlbiB1ZWJlcgpmdW5rdGlvbmllcnQgaGF0LCBhYmVyIGluendpc2NoZW4gZ2VuYXUgZGllIHNlbGJlbiBtYWNrZW4gemVpZ3QuCmJlaSBkZW4gdGFwZXMsIHdvIGVzIG5pY2h0IG1laHIgZnVua3Rpb25pZXJ0IGdlaHQgYmVpIGVpbmlnZW4gYXVjaCBlaW4gIm10CmVyYXNlIiBuaWNodCBtZWhyLCBiZWkgZWluaWdlbiBkYW5uIGRvY2ggbm9jaC4KbmFjaCBqZWRlbSBiYWNrdXAtdm9yZ2FuZyAoZWdhbCwgb2IgZXJmb2xncmVpY2ggb2RlciBuaWNodCkgYmxpbmt0IGRpZQoiY2xlYW4iLWxlZCwgd2FzIHdvaGwgbmljaHQgendhbmdzd2Vpc2UgaGVpc3N0LCBkYXNzIG1hbiBkYXMgZ2VyYWV0IHJlaW5pZ2VuCm11c3MuIG5hdHVlcmxpY2ggaGFiIGljaCBtaXQgZGVtIGNsZWFuLXRhcGUgZGl2ZXJzZSBtYWxlIGRhcyBkaW5nIGdlcmVpbmlndC4KZGEgaWNoIGRkcy0yLXRhcGVzIHZlcndlbmRlLCBzaW5kIG5vbWluZWxsIDRHQiBwbGF0eiwgcHJha3Rpc2NoIGFiZXIgbnVyIHVtCmRpZSAzR0I7IGplZGVuZmFsbHMgbWVpc3RlbnMuIG1hbmNobWFsIGJyaWNodCBkZXIgdm9yZ2FuZyBtaXQgZGVyCmZlaGxlcm1lbGR1bmcgYWIsIGRhc3Mga2VpbiBwbGF0eiBtZWhyIGF1ZiBkZW0gYmFuZCBpc3QuIGFiZXIgZXMgc2luZAppbnNnZXNhbXQgbnVyIDEuN0dCIHp1IHNpY2hlcm4gKHVua29tcHJpbWllcnQgYXVmIGRlciBmZXN0cGxhdHRlKSB1bmQgZGFzIGJhbmQKaXN0IHp1cnVlY2tnZXNwdWx0LgoKZGVyIGJlZmVobCB6dW0gYXJjaGl2aWVyZW4gbGF1dGV0IHVuZ2VmYWVocjoKdGFyIC1jdmYgL2Rldi9zdDAgL2RpcgoKb2IgaWNoIGRhIG5vY2ggbmVuIGd6aXAgbWl0IHJlaW5uZWhtZSBvZGVyIG5pY2h0LCBzcGllbHQga2VpbmUgcm9sbGUuIGFiZXIKaXJnZW5kd28gbGFzIGljaCwgZGFzcyBtYW4gZGFzIG5pY2h0IHR1biBzb2xsdGUsIHdlbm4gZGFzIGRpZSBoYXJkd2FyZSBzb3dpZXNvCnNjaG9uIGthbm4uCgpiZWkgamVkZW0gYmFja3VwLXZvcmdhbmcgc2V0emUgaWNoIG1pdHRlbHMgIm10IiBmb2xnZW5kZSB3ZXJ0ZToKbXQgLWYgL2Rldi9zdDAgcmV3aW5kCm10IC1mIC9kZXYvc3QwIHNldGJsayAwCm10IC1mIC9kZXYvc3QwIGRhdGNvbXByZXNzaW9uIDIKbXQgLWYgL2Rldi9zdDAgc3RvcHRpb25zIDIwNTUKCmRpZSBibG9ja3NpemUgYXVmIDAgc2V0emVuIHdhciBpcmdlbmRzb2VpbiB0aXAgdm9uIGlyZ2VuZHdvIGF1cyBkZW0gbmV0ei4gZGllCnN0b3BvcHRpb25zIGF1ZiAyMDU1IGhhYiBpY2ggYXVjaCBpcmdlbmR3b2hlciB1bmQgYmV3aXJrZW4gIndyaXRlIGJ1ZmZlcmluZywKYXN5bmNoIHdyaXRlLCByZWFkIGFoZWFkIHVuZCBzMmxvZyIsIHdvYmVpIGRhcyBsb2dnZW4gaW4gZGVuIHRyZWliZXIgZ2FyIG5pY2h0CmVpbmtvbXBpbGllcnQgaXN0LiBhYmVyIGF1Y2ggb2huZSBkaWVzZSBnYW56ZW4gb3B0aW9ucyBhZW5kZXJ0IHNpY2ggbmljaHQKd2lya2xpY2ggd2FzLgoKCnRqYSwgbWFjaCBpY2ggZ3J1bmRzYWV0emxpY2ggd2FzIGZhbHNjaCBvZGVyIG11c3MgaWNoIHdlaXRlciBhbiBkZW4gb3B0aW9uZW4KZnJpY2tlbG4gb2RlciBpcyBkYXMgZ2VyYWV0IGthcHV0dD8KCnZpZWxsZWljaHQgaGF0IGphIGplbWFuZCB2b24gZXVjaCBuZSBpZGVlLCB0aWEKbXlzdGVyaW91cwoKcC5zLjogYWNoamEsIGljaCBkaWVzZSBnZXNjaGljaHRlIGxhZXVmdCBzY2hvbiBzZWl0IGtuYXBwIHVlYmVyIDIgbW9uYXRlbiBzbwo6KAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZyYWdlIChQYXRyeW4sIDE4LiBPa3QgMjAwMCwgMTk6MTI6MzkpOgphbHNvIGZvbGdlbmRlcyBrYW0gZ3JhZCByZWluIHVuZCBpY2ggaGFiIG51ciBnZXdhZ3RlIGh5cG90aGVzZW4sCmV2dGwuIGtlbm50IGphIGVpbmVyIHNwZXppZWxsIGRpZXNlIHNhY2hlLi4uCgpIYWxsbyBQYXRyeW4sCgp2aWVsbGVpY2h0IGVyaW5uZXJzdCBEVSBEaWNoIG5vY2ggYW4gZWluZW4ga2xlaW5lbiBTZWhlciBuYW1lbnMgQnV6emN1dC4KSmVuZXJ3ZWxjaGVyIGhvY2t0IG5hZW1saWNoIGdlcmFkZSB2ZXJ6d2VpZmVsdCBhbiBzZWluZW0gUmVjaG5lciB1bmQgICAgIAprb21tdCBuaWNodCBpbnMgTVVELiBWaWVsbGVpY2h0IGthbm5zdCBEdSBtaXIgZGEgbWFsIGhlbGZlbiwgZGVubiBpY2gKYmluIGtlaW4gUHJvZmksIHdhcyBzb2xjaGUgU2FjaGVuIGJldHJpZmZ0LiBGb2xnZW5kZXM6IEljaCBiaW4gbGV0enRlbnMKaW4gZWluZSBXRyBnZXpvZ2VuLCBkb3J0IGhhYmVuIHdpciB1bnMgZW50c2NobG9zc2VuIGVpbiBOZXR6d2VyayAgICAgICAKZWluenVyaWNodGVuLCB3aXIgaGFiZW4gYWxzbyB1bnNlcmUgUmVjaG5lciBzdGVybmVuZm9lcm1pZyBhbiBlaW5lbgpOVC1TZXJ2ZXIgYW5nZXNjaGxvc3NlbiB1bmQgdW5zIEFWTSBLRU4hIHp1Z2VsZWd0LCB3ZWxjaGVzIHVucyBkZW4KWnVnYW5nIHp1bSBJbnRlcm5ldCB1ZWJlciBJU0ROIGVybW9lZ2xpY2h0LiBPYiBkYXMgbnVuIGFuIGlyZ2VuZHdlbGNoZW4KUHJveHlnZXNjaGljaHRlbiBsaWVndCBvZGVyIHdhcyB3ZWlzcyBpY2gsIGplZGVuZmFsbHMgZnVuenQgRlRQIHVuZCAgIApURUxORVQgbmljaHQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKV29yYW4ga29lbm50ZSBkYXMgYWxzbyBsaWVnZW4gdW5kIHdpZSBrYW5uIGljaCBkaWUgU2FjaGUgbm9jaCB6dW0gR3V0ZW4KR2FsYnJhaXRoIHJ1ZnQ6IGFiZXIgdmVyemljaHRlIGF1ZiBCaWdhcyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAp3ZW5kZW4gIT8hPyE/ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKRGFua2Ugc2Nob24gbWFsIGltIFZvcmF1cwoKICAgIFJvYmVydCBhbGlhcyBCdXp6Y3V0CgpQUzogV2VubiBEdSBhdWNoIG5pY2h0IHdlaXRlciB3aXNzZW4gc29sbHRlc3QsIGtvZW5udGVzdCBEdSBpbSBNVUQgZ2xlaWNoCm1hbCBmcmFnZW4/IFdhZXJlIHNjaG9lbiAuLi4gRGFua2UgOik9ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZyYWdlIChMdXB1cywgMTguIE9rdCAyMDAwLCAyMjo0Njo1MSk6Cn4jISBybj1QYXRyeW4gcnQ9OTcxODg5MTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3MTg4OTE1OQpBbHNvIGxhdXQgZGVyIEFWTS1Ib21lcGFnZSBpc3QgS2VuISBudXIgZWluIGh0dHAvZnRwLVByb3h5IHVuZCBlTWFpbC1TZXJ2ZXIuClRlbG5ldCBzY2hlaW50IG5pY2h0IHdlaXRlcmdlbGVpdGV0IHp1IHdlcmRlbi4gUGVyc29lbmxpY2gga2VubiBpY2ggZXMKYWxsZXJkaW5ncyBhdWNoIG5pY2h0LgoKU2lubnZvbGwgd2FlcmUgZXMgd29obCwgSUNTIHp1IGluc3RhbGxpZXJlbiAob2RlciBuYXR1ZXJsaWNoIExpbnV4IG1pdAptYXNxdWVyYWRpbmcpIDopCgpMdXB1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmlvcy11cGRhdGUgKEdub21lLCAxOS4gT2t0IDIwMDAsIDIzOjM2OjA0KToKaWNoIGhhYiBkYSAyIGJhdWdsZWljaCBhbHRlIG1vdGhlcmJvYXJkcywgZGllIGRyaW5nZW5kIGVpbiBiaW9zLXVwZGF0ZQpiZW5vZXRpZ3RlbiAoaXN0IHZvbiBlbmRlICc5MykuIGxlaWRlciBzdGVodCBrZWluIGhlcnN0ZWxsZXIgYXVmIGRlbgpib2FyZHMgdW5kIGRhcyBwcm9ncmFtbSAnY3RiaW9zJyBnaWJ0IG1pciBhdWNoIG51ciBuZSBVUkwgYW4sIGRpZSBlcwpsYWVuZ3N0IG5pY2h0IG1laHIgZ2lidC4KCmFueSBpZGVhcz8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDRC1Xcml0ZXIgdW50ZXIgTGludXggKEJlbmRlaWdpZCwgMjAuIE9rdCAyMDAwLCAwOTozMjo0MSk6CkhhbGxvZWNoZW4genVzYW1tZW4sCmRhIGljaCB2b3JoYWJlLCBtaXIgKHZlcm11dGxpY2ggbm9jaCBkaWVzZXMgV0UpIGVpbmVuIEJyZW5uZXIgenV6dWxlZ2VuLAp3b2xsdGUgaWNoIG1hbCBob2VyZW4sIHdlciBoaWVyIG1pdCBzb2xjaGVuIERpbmdlcm4gdW50ZXIgTGludXggRXJmYWhydW5nIGhhdC4KSWNoIHN1Y2hlIGVpbiB2b3IgYWxsZW0gYmV6YWhsYmFyZXMgKG1heCAzNTAsLSkgR2VyYWV0LCBkYXNzIHNvd29obCB0ZWNobmlzY2gKYWxzIGF1Y2ggc29mdHdhcmVtYWVzc2lnIGJyYXVjaGJhciBpc3QgOGFsc28gbmljaHQgamVkZW4gendlaXRlbiBSb2hsaW5nCnZlcmhlaXp0KS4KSWNoIGdlaCBtYWwgZGF2b24gYXVzLCBkYXNzIChmYXN0KSBhbGxlIGFuZ2Vib3RlbmVuIEdlcmFldGUgdW50ZXIgV2luKgp2ZXJtdXRsaWNoIG1laHIgb2RlciBtaW5kZXIgZ3V0IHR1bi4gaWNoIHdpbGwgYWJlciBlaW5zLCBkYXNzIGF1ZiBqZWRlbiBGYWxsCmF1Y2ggdW50ZXIgTGludXggbGFldWZ0LiAKS2FubiBtaXIgZGEgamVtYW5kIHdhcyBlbXBmZWhsZW4/CgpWaWVsZW4gRGFuaywKICAgICAgICBCZW5kZWlnaWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRC1Xcml0ZXIgdW50ZXIgTGludXggKE5vbm5lLCAyMC4gT2t0IDIwMDAsIDEwOjMxOjI3KToKfiMhIHJuPUJlbmRlaWdpZCBydD05NzIwMjcxNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTcyMDI3MTYxClRhY2ggYXVjaCwKCm1pdHRsZXJ3ZWlsZSBpc3QgZGllIFVudGVyc3R1ZXR6dW5nIHZvbiBCcmVubmVyIHVudGVyIExpbnV4IHNvIGd1dCwgZGFzcwplaWdlbnRsaWNoIGplZGVzIEdlcmFldCBsYWV1ZnQuIFN1Y2ggRGlyIGVpbmZhY2ggZWlucyBuYWNoIGRlciBUZWNobmlrIHVuZCBkZW0KUHJlaXMgYXVzIHVuZCBzY2hhdSBzaWNoZXJoZWl0c2hhbGJlciBtYWwgaW4gZGllIFN1U0UtSGFyZHdhcmUtRGF0ZW5iYW5rLiBGdWVyCmRlbiBSZXN0IGdpYnQgZXMgaGVydm9ycmFnZW5kZSBIT1dUT3MgdW5kIERva3UuIFdlbm4gRHUgbmljaHRzIGtvbXBsaXppZXJ0ZXMKQnJlbm5lbiB3aWxsc3QgKGJvb3RmYWVoaWcsIEF1ZGlvIG1pc2NoZW4pIGthbm4gaWNoIERpciBYY2Ryb2FzdCBhbnMgSGVyegpsZWdlbi4KClZpZWwgU3Bhc3MKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENELVdyaXRlciB1bnRlciBMaW51eCAoV29vZHksIDIwLiBPa3QgMjAwMCwgMTI6NTg6MTMpOgp+IyEgcm49Tm9ubmUgcnQ9OTcyMDMwNjg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3MjAyNzE2MQpXYXMgU0NTSS1CcmVubmVyIGFuZ2VodCwga2FubiBpY2ggYXVjaCBudXIgc2FnZW46IG51bGwgUHJvYmxlbWUsIG5pZQpnZWhhYnQsIGltIEdlZ2VudGVpbCA6KS4gR2VyYWV0ZW1hZXNzaWcgaGFiIGljaCBzY2hsZWNodGUgRXJmYWhydW5nZW4KbWl0IFBoaWxpcHMvSFAsIHVuZCBndXRlIG1pdCBZYW1haGEgdW5kIFBsZXh0b3IgZ2VtYWNodC4gVW50ZXIgTGludXgKdmVyd2VuZGUgaWNoIGZhc3QgYXVzc2NobGllc3NsaWNoIG1raXNvZnMgdW5kIGNkcmVjb3JkLgoKV29vZHkuLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ0QtV3JpdGVyIHVudGVyIExpbnV4IChSdW1hdGEsIDIzLiBPa3QgMjAwMCwgMDc6MjM6MDMpOgp+IyEgcm49V29vZHkgcnQ9OTcyMDM5NDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3MjAyNzE2MQpDRCBicmVubmVyIHdlcmRlbiB1bnRlciBMaW51eCBzb3dpZXNvIGFscyB2aXJ0dWVsbGUgU0NTSSBkZXZpY2VzCmFuZ2VzcHJvY2hlbi4gSWNoIHd1ZXJkZSB1ZWJyaWdlbnMgYXVjaCBkaWUgbWFucGFnZXMgenUgY2RyZWNvcmQgZW1wZmVobGVuLgpEb3J0IHN0ZWhlIGF1Y2ggd2ljaGlnZSBIaW53ZWlzZSwgd2FzIG1pdCB3ZWxjaGVtIEJyZW5uZXIgZ2VodC4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXIgRHJpdmVyIChUaWFtYWssIDIzLiBPa3QgMjAwMCwgMjE6MTM6NTIpOgpIaWhvIQoKQXVmIHVuc2VyZW0gRlRQLVNlcnZlciBsaWVndCBhYiBzb2ZvcnQgZWluZSBuZXVlIFZlcnNpb24gZGVzIERyaXZlcnMuIFNvd29obAphbHMgU291cmNlIGFscyBhdWNoIGFscyBMaW51eC1CaW5hcnkuCgpGdWVyIGRhcyBXaW5kb3dzLUJpbmFyeSBxdWVuZ2VsdCB3aWUgdWVibGljaCBiZWkgUmlrdXMuIDstKQoKTmV1ZXJ1bmdlbiBzaW5kIHp1bSBFaW5lbiBkZXIgZ2VmaXh0ZSBDcmFzaC1CdWcgdW5kIHp1bSBBbmRlcmVuLCBkYXNzCnJlZ3JlcGxhY2UoKSBqZXR6dCBhdWNoIFVtbGF1dGUgZXJzZXR6ZW4ga2Fubi4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiaW9zLXVwZGF0ZSAoRmxpbnRuYWlsLCAgMi4gTm92IDIwMDAsIDEzOjM5OjIwKToKfiMhIHJuPUdub21lIHJ0PTk3MTk5MTM2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzE5OTEzNjQKSGksCgppY2ggaGFiZSBlaW4gcGFhciBtYWwgV2ltJ3MgQmlvcyBQYWdlIGdlbnV0enQuLi5kaWUgbGFnIGlyZ2VuZHdvIHVudGVyCnd3dy5waW5nLmJlICEgT2JzIGRpZSBoZXV0ZSBub2NoIGRhIGdpYnQsIHdlaXNzIGljaCBuaWNodC4gQWJlciBzaWUgdW1mYXNzdGUKZWluZSBBdWZsaXN0dW5nIHZpZWxlciBCaW9zLU51bW1lcm4gdW5kIGRlbiBkYXp1Z2Vob2VyaWdlbgpNQi1IZXJzdGVsbGVybi4uLm1hbCBuZSBTdWNobWFzY2hpbmUgbmFjaCAnd2ltJyB1bmQgJ2Jpb3MnIHVuZC9vZGVyICdpZGVudCcKYmVmcmFnZW4uLi4KCkZsaW50KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiaW9zLXVwZGF0ZSAoR25vbWUsICA0LiBOb3YgMjAwMCwgMjE6MDU6NTQpOgp+IyEgcm49RmxpbnRuYWlsIHJ0PTk3MzE2ODc2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzE5OTEzNjQKZGFua2UhCndlbnMgaW50ZXJlc3NpZXJ0OiAnd3d3LnBpbmcuZGUvYmlvcycgZW50aGFlbHQgYWxsZXMsIHdhcyBtYW4gYnJhdWNodC4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBiaW9zLXVwZGF0ZSAoTm9ubmUsICA2LiBOb3YgMjAwMCwgMTQ6MTI6MTcpOgp+IyEgcm49R25vbWUgcnQ9OTczMzY4MzU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3MTk5MTM2NApEYW1pdCBuaWNodCBhbGxlIGR1bW0gdm9yIGRlciBTZWl0ZSBzaXR6ZW46Cnd3dy5waW5nLmJlL2Jpb3MvIGlzdCByaWNodGlnIChjOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYmlvcy11cGRhdGUgKEdub21lLCAgNi4gTm92IDIwMDAsIDIxOjUxOjEyKToKfiMhIHJuPU5vbm5lIHJ0PTk3MzUxNjMzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzE5OTEzNjQKdXJncywgc29ycnkuIHdpZSBtYW4gc2ljaCB2ZXJndWNrZW4ga2FubiA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZWkgUmVjaG5lciBpbSBJbnRlcm5ldCAoU2x5Zm94LCAxMC4gTm92IDIwMDAsIDE5OjEwOjI4KToKSGlsZmUhCgpXaWUga3JpZWdlIGljaCBlaW5lbiB6d2VpdGVuIFJlY2huZXIsIHdlbGNoZXIgbWl0IGRlbSBIYXVwdHJlY2huZXIgKGFuIGRlbQpkaWUgSVNETi1LYXJ0ZSBkcmluIGlzdCksIGlucyBJbnRlcm5ldCwgc28gZGFzcyBhdWNoIGRpZSBJUCBkZXMgMi4gUmVjaG5lcnMKZ2Vob3N0ZXQgd2lyZD8KCiAgIFNseWZveAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp3ZWkgUmVjaG5lciBpbSBJbnRlcm5ldCAoR3JpbW1ib3JuLCAxMC4gTm92IDIwMDAsIDE5OjEzOjEyKToKfiMhIHJuPVNseWZveCBydD05NzM4Nzk4Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTczODc5ODI4CkF1Y2ggd2VubiBEZWluZSBCZXNjaHJlaWJ1bmcgdGVjaG5pc2NoIHdlbmlnIFNpbm4gbWFjaHQsIHdpbGxzdCBEdSB2ZXJtdXRsaWNoCklQLU1hc3F1ZXJhZGluZyBhdWYgZGVtIGVyc3RlbiBSZWNobmVyIGVpbnNldHplbi4gRXMgZ2lidCBlaW4gTWluaS1IT1dUTwpuYW1lbnMgSVAtTWFzcXVlcmFkZSwgZGFzIGVpZ2VudGxpY2ggc2VociBndXQgdmVyc3RhZW5kbGljaCBpc3QgKGluIGRlcgpWZXJzaW9uIGRpZSBpY2ggaGFiZSBmdWVyIGtlcm5lbCAyLjIsIGZ1ZXIgMi40IGthbm4gaWNoIG5pY2h0cyBzYWdlbikuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBad2VpIFJlY2huZXIgaW0gSW50ZXJuZXQgKFBhdHJ5biwgMTAuIE5vdiAyMDAwLCAxOToxNjoyMCk6Cn4jISBybj1TbHlmb3ggcnQ9OTczODc5ODI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3Mzg3OTgyOApiZWlkZSByZWNobmVyIG1pdCBjcm9zc2Nvbm5lY3Qgb2RlciBodWIgdmVyYmluZGVuLCBsaW51eCBhdWZtIHNlcnZlciBoYWJlbiwKZGVtIHp3ZWl0ZW4gcmVjaG5lciBJUCAxOTIuMTY4LjAuMSwgTUFTSyAyNTUuMjU1LjI1NS4wIHZlcnBhc3NlbiwKYWxzIGdhdGV3YXkgemIgMTkyLjE2OC4wLjk5IGVpbnRyYWdlbi4uLgpzZXJ2ZXI6IHp3ZWl0ZSBuZXR6d2Vya2thcnRlIGVpbnJpY2h0ZW4sIGFscyBuZXR6c2VydmVyIGVpbnJpY2h0ZW4sCmlwY2hhaW5zIC1BIGZvcndhcmQgLXMgMTkyLjE2OC4wLjEgLWogTUFTUSwgZnJldWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VpIFJlY2huZXIgaW0gSW50ZXJuZXQgKEx1cHVzLCAxMC4gTm92IDIwMDAsIDE5OjE2OjQ5KToKfiMhIHJuPUdyaW1tYm9ybiBydD05NzM4Nzk5OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTczODc5ODI4CkFsdGVybmF0aXZlIGlzdCBkYXMgSW50ZXJuZXQgQ29ubmVjdGlvbiBTaGFyaW5nIHZvbiBXaW5kb3dzIDk4IFNFLgpGdW5rdGlvbmllcnQgaW4gZXR3YSBnZW5hdXNvLCBtYW4gaGF0IG51ciBrZWluZSBBdXN3YWhsIGJlenVlZ2xpY2ggZGVyCklQLUFkcmVzc2VuLgoKTHVwdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp3ZWkgUmVjaG5lciBpbSBJbnRlcm5ldCAoR3JpbW1ib3JuLCAxMC4gTm92IDIwMDAsIDE5OjI0OjA0KToKfiMhIHJuPUx1cHVzIHJ0PTk3Mzg4MDIwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzM4Nzk4MjgKT2NoLCBzZWluZSBCZXNjaHJlaWJ1bmcgZ2lidCBhdWNoIGhlciwgZGFzcyBlciB6d2VpIG9mZml6aWVsbGUgSVBzIGhhdCBhYmVyCm51ciBlaW5lIExlaXR1bmcuIERhbm4gd2FlcmUgZXMgbWVociBvZGVyIHdlbmlnZXIgbnVyIG5vZXRpZywgZGVuIGVyc3RlbgpSZWNobmVyIChnbGVpY2hlIElQIGZ1ZXIgSVNETiB1bmQgTmV0emthcnRlKSBhbHMgZ2F0ZXdheSBhbnp1Z2ViZW4gKHNwcmljaDoKZGFzIHJvdXRpbmcgcmljaHRpZyBhdWZ6dXNldHplbiwgZ2VnZWJlbmVuZmFsbHMgYXVjaCBhdWYgZGVtIHNlcnZlcikuCgpWaWVsbGVpY2h0IHdpbGwgZXIgamEgYXVjaCBkZW4gendlaXRlbiBSZWNobmVyIHNlaW5lbSBQcm92aWRlciBicmluZ2VuLApTdGljaHdvcnQgInNlcnZlciBob3N0aW5nIiAoYWxsZXJkaW5ncyB3dWVyZGUgZGFubiBkZXIgUmVjaG5lciwgbmljaHQgZGllIElQCmdlaG9zdGV0LiBBYmVyIHdhcyBzb2xsIG1hbiBzaWNoIHVudGVyIElQIGhvc3Rpbmcgc29uc3Qgdm9yc3RlbGxlbj8pCgpHcmltbWJvcm4gZGVyIEF0aGVpc3Qgc3VjaHQgamVtYW5kZW4sIGJlaSBkZW0gZXIgc2VpbmUgSVAgKDEyNy4wLjAuMSkgaG9zdGVuCmthbm4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWndlaSBSZWNobmVyIGltIEludGVybmV0IChEYXJrd2luZywgMTEuIE5vdiAyMDAwLCAwMjozMzoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTczODgwNjQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3Mzg3OTgyOAp2b3IgYWxsZW0gd2lsbCBlciBkaWFibG8gc3BpZWxlbiwgYWxzbyBrZWluIGxpbnV4IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VpIFJlY2huZXIgaW0gSW50ZXJuZXQgKEdyaW1tYm9ybiwgMTEuIE5vdiAyMDAwLCAwNzowODo0Myk6Cn4jISBybj1EYXJrd2luZyBydD05NzM5MDY0MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTczODc5ODI4CktsYXNzZSwgd2FzIER1IGFsbGVzIGF1cyBkZW0gQXJ0aWtlbCByYXVzbGllc3QuIEVocmxpY2gsIGRhIHdhZXJlIGljaCBuaWUKZHJhdWYgZ2Vrb21tZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgc3RhcnIgdm9yIEJld3VuZGVydW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBad2VpIFJlY2huZXIgaW0gSW50ZXJuZXQgKE5vbm5lLCAxMy4gTm92IDIwMDAsIDA5OjA3OjMwKToKfiMhIHJuPURhcmt3aW5nIHJ0PTk3MzkwNjQwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzM4Nzk4MjgKVW5kIHdhcyBoaW5kZXJ0IGlobiBkYXJhbiwgYXVmIGRpZSBlcnN0ZSBLaXN0ZSBMaW51eCB6dSBpbnN0YWxsaWVyZW4sIHdlbm4gZXIKbWl0IGRlciAyLiBEaW9ibG8gem9ja2VuIHdpbGw/IERpZSAyLiBtZXJrdCBuaXggdm9tIE1hc3F1ZXJhZGluZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlbGVrb3R6IHRyZWliZXIgKFd1cnplbCwgMjYuIE5vdiAyMDAwLCAxNzoyMDoxNSk6Cm5hY2hkZW0gaWNoIGVuZGxpY2ggYWxsZXMgenVzYW1tZW4gaGFiZSAoamVkZW5mYWxscyBkaWUgaGFyZHdhcmUpLCB1bQplbmRsaWNoIGluIGRlbiBnZW51c3Mgdm9uIHQtZHNsIHp1IGtvbW1lbiwgZ2lidCBlcyBhdWYgbWVpbmVyIGd1cmtlCm5hdHVlcmxpY2ggcHJvYmxlbWUgbWl0IGRlbSB0cmVpYmVyLgp3aW5kb29mIG50IDQuMCBzcCA1IChsaW51eCB3YWVyIG1pciBsaWViZXIsIGJyYXVjaCBkZW4gbWlzdCBhYmVyIGF1ZiBudCkKaW5zdGFsbGllcmUgZGVuIHRyZWliZXIgYWxzIHZpcnR1ZWxsZSBuZXR6d2Vya2thcnRlLCBrb25maWd1cmllcmUgZGVuIHJhcywKZGFubiB3aWUgaW1tZXIgdW50ZXIgd2luZG9vZiBlaW4gbm90d2VuZGlnZXIgcmVib290LiBhbnNjaGxpZXNzZW5kIG5vY2htYWwKbmFjaHNjaGF1ZW4sIHdhcnVtIGVzIGRlbm4gbmljaHQgZ2VodCwgdW5kIHNpZWhlIGRhOiByYXMgaGF0IGRlbiBkc2wtdHJlaWJlcgp3aWVkZXIgcmF1c2dld29yZmVuLCB3ZWlsIGVyIGFuZ2VibGljaCBuaWNodCBpbnN0YWxsaWVydCBpc3QuIGlzdCBlciBhYmVyLgpuZXUga29uZmlndXJpZXJlbiBsYWVzc3Qgc2ljaCByYXMgaW4gZGVyIHJpY2h0dW5nIGF1Y2ggbmljaHQsIHNvbmRlcm4KYmVoYXVwdGV0CmF1c3NlciBkZW0gYWx0ZW4gbW9kZW0gc2VpIG5peCBkYS4gd2FzIG1hY2hlIGljaCBmYWxzY2gsIGF1c3NlciBkYXNzIGljaAp3aW5kb29mIHVlYmVyaGF1cHQgYmVudXR6ZT8Kd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlaSBSZWNobmVyIGltIEludGVybmV0IChDeW1vbmssICAxLiBEZXogMjAwMCwgMDM6NDA6MzMpOgp+IyEgcm49U2x5Zm94IHJ0PTk3Mzg3OTgyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzM4Nzk4MjgKbWFuY2htYWwgaGlsZnQgYXVjaCBlaW4gZWluZmFjaGVyIHByb3h5Li4uIGplIG5hY2hkZW0gd2FzIGR1IG1hY2hlbiB3aWxsc3QgLi4uCgpncnVzcywKY3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlbiAoU2lsdmFuYSwgMTAuIERleiAyMDAwLCAxNjoyNToxNik6ClNhbHZlCgpNaXIgaGF0IGxldHp0bGljaCBqZW1hbmQgIktlbiIgdm9uIEFWTSBhbnMgSGVyeiBsZWdlbiB3b2xsZW4sIGFscwpSb3V0ZXIvRmlyZXdhbGwvRW1haWxTZXJ2ZXIvZXRjIGZ1ZXIgSVNETi9EU0wgQW5zY2hsdXNzLiBIYXQgamVtYW5kIGRhbWl0CkVyZmFocnVuZyB1bmQgbWFnIG1pciBkYXZvbiBiZXJpY2h0ZW4/IEljaCBuZWlnZSBqYSBkYXp1LCBuZW4gYWx0ZW4gUDEzMyB1bnRlcgpMaW51eCB6dSBuZWhtZW4sIGFiZXIgZGEgbWlyIGRhbWl0IGRpZSBFcmZhaHJ1bmcgZmVobHQgdW5kIGljaCdzIG5pY2h0CmJlemFobGVuIG11c3MuLi4gOy0pCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcnRpeiB1bnRlciBMaW51eCAoUnVtYXRhLCAxMS4gRGV6IDIwMDAsIDEwOjQ5OjI0KToKSGksCm1laW5lIEZyaXR6a2FydGUgbGllZiBpbSBhbHRlbiBSZWNobmVyIG9obmUgUHJvYmxlbWUuCk51biBoYWJlIGljaCBlaW4gbmV1ZXMgTW90aGVyYm9hcmQgKFNodXR0bGUgQVYxMSkgdW5kIGRvcnQgc3R1ZXJ6dApsaW51eCAoMi4yLjEzKSByZXByb2R1emllcmJhciBhYiwgc29sYmFsZCBpY2ggbWljaCBlaW53YWVobGVuIHdpbGwuCgpIYXQgamVtYW5kIHNjaG9ubWFsIHZvbiBhZWhubGljaGVuIFByb2JsZW1lbSBnZWhvZXJ0PwoKRGllIEZyaXR6a2FydGUgaXN0IGVpbmUgSVNBLUthcnRlLCBrZWluZSBJUlEgS29uZmxpa3RlIHp1IHNlaGVuIHVuZApuZSBhbmRlcmUgSVNBIEthcnRlIChDcmVhdGl2ZSBTQjE2KSBtYWNodCBrZWluZW4gYWVyZ2VyIC4uLgoKUnVtKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZydGl6IHVudGVyIExpbnV4IChTaWx2YW5hLCAxMS4gRGV6IDIwMDAsIDExOjM0OjM3KToKfiMhIHJuPVJ1bWF0YSBydD05NzY1MjgxNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc2NTI4MTY0CkVzIGdpYnQgYmVpIGRlbiBhZWx0ZXJlbiBGcml0emNhcmRzIGVpbiBIYXJkd2FyZS1Lb21wYXRpYmlsaXRhZXRzcHJvYmxlbS4KQWx0ZW4gRnJpdHpjYXJkcyBmZWhsdCBvZmZlbmJhciBlaW4gTWFzc2UtS29udGFrdCBhbSBJU0EtU2xvdC4gRGllc2VyIGlzdApub3R3ZW5kaWcsIHVtIGRpZSBGcml0emNhcmQgbWl0IG5ldWVuIE1vdGhlcmJvYXJkcyB6dSBiZXRyZWliZW4uIEZhbGxzIERlaW5lCkthcnRlIGRpZXNlbiBLb250YWt0IG5pY2h0IGhhdCAtIHp1IGVya2VubmVuIGFuIGVpbmVtIF9laW56ZWxuZW5fIEtvbnRha3QKcmVsbGF0aXYgbmFoZSBhbSBTbG90LUJsZWNoIC0ga2FubnN0IER1IGRpZSBLYXJ0ZSBiZWkgQVZNIGtvc3Rlbmxvcwp1bXRhdXNjaGVuLgpJY2ggbmVobWUgYW4sIGRhc3MgQVZXIGRhenUgYXVjaCBpcmdlbmR3byBiZWJpbGRlcnRlIEluZm9ybWF0aW9uZW4gaGF0LCBhYmVyCmljaCBiaW4genUgYmVzY2hhZWZ0aWd0IHVtIGRpZSB6dSBzdWNoZW4uIDopCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJ0aXogdW50ZXIgTGludXggKFRyb3ksIDEyLiBEZXogMjAwMCwgMTE6MDA6MTcpOgp+IyEgcm49U2lsdmFuYSBydD05NzY1MzA4Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc2NTI4MTY0CkF1ZiBkZXIgV2Vic2VpdGUgdm9uIEFWTSBnaWJ0cyBmdWVyIExpbnV4IHVuZCBzYWVtdGxpY2hlICghKSBBVk0tS2FydGVuCnJ1bnRlcmxhZGJhcmUgVHJlaWJlciwgQ0FQSSdzIGV0Yy4gSWNoIGhhYiBkYW1pdCBuZSBGcml0eiBDYXJkIENsYXNzaWMgKElTQSkKb2huZSBncm9lc3NlcmUgUHJvYmxlbWUgenVtIGxhdWZlbiBnZWJyYWNodC4gaXNhcG5wIHNwYWNrdGUgZXR3YXMsIGFiZXIKYW5zb25zdGVuIGxpZWZzLiBTaWVoZTogaHR0cDovL3d3dy5hdm0uZGUvZGV1dHNjaC9zZXJ2aWNlL2luZGV4Lmh0bQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ0aXogdW50ZXIgTGludXggKFRyb3ksIDEyLiBEZXogMjAwMCwgMTE6MDI6MDMpOgp+IyEgcm49VHJveSBydD05NzY2MTUyMTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc2NTI4MTY0Ci4uLmFjaCBqYTogRGllIEthcnRlIGhhbSB3aXIgaW4gZWluIEdpZ2FieXRlYm9hcmQgbmV1ZXJlbiBEYXR1bXMgZWluZ2ViYXV0LgpGcmFndCBtaWNoIGJsb3NzIG5pY2h0IG5hY2ggZGVyIEJlemVpY2hudW5nLCBlcyBoYXR0ZSBhYmVyIG5vY2ggMiBJU0EtU2xvdHMKClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZydGl6IHVudGVyIExpbnV4IChTaWx2YW5hLCAxMi4gRGV6IDIwMDAsIDEyOjIyOjQ3KToKfiMhIHJuPVRyb3kgcnQ9OTc2NjE1MzIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3NjUyODE2NApXaWUgZ2VzYWd0OiBFcyBfa2Fubl8gKG11c3MgbmljaHQpIG5lbiBIYXJkd2FyZS1Qcm9ibGVtIHNlaW4uIFdhciBlcyBiZWkKbWVpbmVyIGFsdGVuIEthcnRlIGplZGVuZmFsbHMuIERhIGhpbGZ0IGRhbm4gYXVjaCBkZXIgYmVzdGUgVHJlaWJlciBuaXgsIHdlbm4KZGllIEthcnRlIHBsb2V0emxpY2ggb2huZSBNYXNzZWtvbnRha3QgZGFzdGVodC4gQWJlciBrbGFyOiBFcnN0IG5hY2ggZGVuCm5ldXN0ZW4gVHJlaWJlcm4gc3VjaGVuIHVuZCB0ZXN0ZW5tIGJldm9yIG1hbiBkaWUgSGFyZHdhcmUgZWluc2NoaWNrdC4gSXN0CmlyZ2VuZHdpZSB3ZW5pZ2VyIEFyYmVpdC4gOy0pIE51ci4uLiBGdWVyIHNvIGludGVsbGlnZW50IGhhdHRlIGljaCBSdW1hdGEKZWlnZW50bGljaCBnZWhhbHRlbi4gOy0pCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnRpeiB1bnRlciBMaW51eCAoTWF5c3Rvcm0sIDEyLiBEZXogMjAwMCwgMjE6MTg6NTIpOgp+IyEgcm49UnVtYXRhIHJ0PTk3NjUyODE2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzY1MjgxNjQKV2llIGdlbmF1IHNpZWh0IGRlbm4gZGVyIEFic3R1cnogYXVzPyBDb3JlIGR1bXBzLCBrZXJuZWwgcGFuaWNzLCBvZGVyLi4uID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZWxla290eiB0cmVpYmVyIChXdXJ6ZWwsIDEyLiBEZXogMjAwMCwgMjM6MDU6MjIpOgp+IyEgcm49V3VyemVsIHJ0PTk3NTI1NTYxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzUyNTU2MTUKKnNldWZ6KiBuYWNoIGRpdmVyc2VuIHN0dW5kZW4gdW5kIHRhZ2VuIGRlciBmZWhsZXJzdWNoZSB1bmQgbWVocmVyZW4KdGVsZWZvbmF0ZW4gbWl0IGRlciB0LW9ubGluZSBob3RsaW5lIGthbSB2b24gc2VsYmlnZXIgbnVyIG5vY2ggZGVyCnNjaHVsdGVyenVja2VuZGUgaGlud2VpcywgZXMgZG9jaCBtYWwgbWl0IGRlbSB2b24gdC1vbmxpbmUgbmljaHQgc3VwcG9ydGV0ZW4Kd2lucG9ldC10cmVpYmVyIHp1IHZlcnN1Y2hlbi4uLgpzaWVoZSBkYSwgZXMgZnVua3Rpb25pZXJ0IDopIHNhY2hlbiBnaWJ0cy4uLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZydGl6IHVudGVyIExpbnV4IChSdW1hdGEsIDEzLiBEZXogMjAwMCwgMTM6NDE6MjgpOgp+IyEgcm49TWF5c3Rvcm0gcnQ9OTc2NjUyMzMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3NjUyODE2NApOYWphIGRlciBSZWNobmVyIGZyaWVydCBrb21wbGV0dCBlaW4uIEtlaW5lIE1hdXMsIGtlaW5lIEFmZmVuZ3JpZmZlLAprZWluIFBpbmcsIG5peC4gTG9nZmlsZXMgc2luZCBuYWNoIGRlbSBuYWVjaHN0ZW4gUmVzdGFydCBsZWVyLgoKU28gamV0enQgaGFiIGljaCBtaXIgbmUgRnJpdHogUENJIGJlc29yZ3QsIGRpZSBnZWh0LCB1bmQgd2VubiBpY2gKZGFzIGlzZG40bGludXggdW5kIGRhcyBjYXBpNGxpbnV4IGF1c2VpbmFuZGVyaGFsdGVuIGthbm4ga2xhcHB0IGF1Y2gKZGFzIGZheGVuIDotKQoKRGFua2UgYW4gYWxsZS4KUnVtYXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHRlbGVrb3R6IHRyZWliZXIgKFd1cnplbCwgMTYuIERleiAyMDAwLCAwMjo0MDo1Myk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTc2NjU4NzIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3NTI1NTYxNQpzbywgamV0enQgd2Vpc3MgaWNoIGF1Y2ggd2FydW0gdC1vbmxpbmUgZGVuIHdpbnBvZXQgbmljaHQgc3VwcG9ydGVuCndpbGwuLi4gbWVociBvZGVyIHdlbmlnZXIgcmVnZWxtYWVzc2lnZSBibHVlc2NyZWVucyBzaW5kIGRhbm4gZG9jaAp6aWVtbGljaCBhZXR6ZW5kLgppcmdlbmR3aWUgaGFiZW4gYWxsZSwgbWl0IGRlbmVuIGljaCBnZXJlZGV0IGhhYmUgZGFydWViZXIsIGlocmUKcHJvYmxlbWUgbWl0IHRkc2wuIGdpYnQgZXMgamVtYW5kLCBiZWkgZGVtIGVzIGVpbmZhY2ggdW5kIHNpY2hlcgpmdW5rdGlvbmllcnQgc2VpdCBkZW0gZXJzdGVuIHZlcnN1Y2g/Cgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHRlbGVrb3R6IHRyZWliZXIgKEdyaW1tYm9ybiwgMTYuIERleiAyMDAwLCAyMTozMDoxNCk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTc2OTMwODUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3NTI1NTYxNQpBbmdlYmxpY2ggc29sbCBkYXMgbWl0IHBwcG9lIHdpcmtsaWNoIGtlaW4gUHJvYmxlbSBzZWluLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB0ZWxla290eiB0cmVpYmVyIChXdXJ6ZWwsIDE3LiBEZXogMjAwMCwgMTU6NTg6MzYpOgp+IyEgcm49V3VyemVsIHJ0PTk3NjkzMDg1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzUyNTU2MTUKYW5nZWJsaWNoLiBoYWIgaWNoIGF1Y2ggZ2Vob2VydCwgYWJlciBlcyBzdGltbXQgbmljaHQgOikKamVkZW5mYWxscyBuaWNodCBpbW1lci4gaWNoIGdsYXViZSwgaWNoIG11c3MgZG9jaCBtYWwgbWVpbiBsaW51eCB3aWVkZXIKenVtIGxlYmVuIGVyd2Vja2VuLi4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRlbGVrb3R6IHRyZWliZXIgKFRzdW5hbWksICA1LiBKYW4gMjAwMSwgMjE6MTM6MTMpOgp+IyEgcm49V3VyemVsIHJ0PTk3NzA2NTExNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzUyNTU2MTUKYmVpbSBtaXIgZnVuenQgcHBwb2UgKGZ1ZXIgV2luZG93cyA5OCBTRSwgRFNMIE1vZGVtKS4gSWNoIHdlaXNzIGFiZXIgYXVjaCwKZGFzcyBkZXIgcHBwb2UgVHJlaWJlciBuaWNodCBtaXQgV2luZG93cyA5OCBNRSBsYWV1ZnQsIGRhZnVlciBhYmVyIGJlc3RlbnMKbWl0IFdpbmRvd3MgMjAwMC4KCkdydXNzLCAzNzVLQnl0ZS9zZWMgVHN1bmFtaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHRlbGVrb3R6IHRyZWliZXIgKFd1cnplbCwgIDYuIEphbiAyMDAxLCAwMjowNzo0Nyk6Cn4jISBybj1Uc3VuYW1pIHJ0PTk3ODcyNTU5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzUyNTU2MTUKZGVuIGdpYnQgZXMgbGVpZGVyIG5pY2h0IGZ1ZXIgbnQuLi4gbXVzcyBlbmRsaWNoIG1laW4gbGludXggd2llZGVyCnJlc3RhdXJpZXJlbi4KCnd1cnplbCAobWl0IHdpbnBvZXQgdW5kIDEtMiBibHVlc2NyZWVucyBwcm8gdGFnIGRhZHVyY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjcmVhdGl2ZS1HSyAoR25vbWUsICA2LiBKYW4gMjAwMSwgMjE6MzE6MjgpOgpiaWV0ZSBQQ0kgY3JlYXRpdmUtR0sgJzNELWJsYXN0ZXInLCBUTlQyIHZhbnRhLCAzMiBNQiwgMzUwIE1IeiBSQU1EQUMKc3VjaGUgMTUwLC0gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY3JlYXRpdmUtR0sgKE9ya3RvZXRlciwgIDcuIEphbiAyMDAxLCAxNjo1MDoxNyk6Cn4jISBybj1Hbm9tZSBydD05Nzg4MTMwODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc4ODEzMDg4CmJpZXRlIDE1MCwtIAoKT3JrVAoKUFMgaGllciBzaW5kIEFUUyB1ZWJsaWNoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY3JlYXRpdmUtR0sgKEphbWVzb24sICA5LiBKYW4gMjAwMSwgMjE6MjY6MTQpOgp+IyEgcm49R25vbWUgcnQ9OTc4ODEzMDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3ODgxMzA4OApvY2ggZGllIEthcnRlIG5laG0gaWNoIGdlcm4uLi4gYmVpIGRlbiAxNTAsLSBrYW5uIGljaCBkaXIgYWJlciBhdWNoIG5pY2h0CndlaXRlcmhlbGZlbgoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2VubnQgamVtYW5kIG5lbiB3b3JrYXJvdW5kIGZ1ZXIgZGVuIGZvbGdlbmRlbiBwaHA0LWJ1Zz8gKE15c3RlcmlvdXMsIDEyLiBKYW4gMjAwMSwgMTE6Mjg6NTkpOgprb25uaS1jaGktd2EuLi4KCndlYnNlcnZlciBpcGxhbmV0IDQuMApvcyBzb2xhcmlzIDIuNwpwaHAgNC4wM3BsMQoKd2VubiBtZWhyZXJlIGh1bmRlcnQgdXNlciBkaWUgc2l0ZSBiZXN1Y2hlbiwgZ2lidCBlcyBzcG9yYWRpc2NoIGF1ZiBhbGxlbgpzZWl0ZW4gbWFuY2htYWwgZGllIG1lbGR1bmc6Cldhcm5pbmc6IEZhaWxlZCBvcGVuaW5nICc8cGhwZmlsZT4nIGZvciBpbmNsdXNpb24gKGluY2x1ZGVfcGF0aD0nPGtvcnJla3RlcgpwZmFkJykgaW4gVW5rbm93biBvbiBsaW5lIDAKCmRpZXNlcyBwcm9ibGVtIHNjaGVpbnQgYmVpIGJ1Z3MucGhwLm5ldCBiZWthbm50IHp1IHNlaW4sIGFiZXIga2VubnQgamVtYW5kIHZvbgpldWNoIGlyZ2VuZGVpbmUgbG9lc3VuZyBkZXMgcHJvYmxlbXM/IGF1ZiBkZW0gc2VydmVyIHdpcmQgZGVtbmV4dCBtYWwgcGhwNC4wNAppbnN0YWxsaWVydCB3ZXJkZW4sIGFiZXIgb2IgZGFzIGFiaGlsZmUgc2NoYWZmdD8KCgpuYWphLCB2aWVsbGVpY2h0IGhhdCBqZW1hbmQgdm9uIGV1Y2ggamEgZXJmYWhydW5nIGRhbWl0LgoKc2F5b25hcmEsCiBtWXN0ZXJpT3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpodG1sLWhlbHAgc29tZW9uZT8gKFNpbHZhbmEsIDEyLiBKYW4gMjAwMSwgMTE6MzQ6NDEpOgpTYWx2ZQoKSWNoIGhhYiBkYSBlaW4gV2ViLURlc2lnbi1Qcm9ibGVtLCBhbHNvIEhUTUwtQ3JhY2tzIHZvcjogOy0pCgpGb2xnZW5kZXMgUHJvYmxlbTogSWNoIGhhYmUgendlaSBCaWxkZXIsIGRpZSBpY2ggbmViZW5laW5hbmRlciBkYXJnZXN0ZWxsdApoYWJlbiB3aWxsLCBzb2Zlcm4gZ2VudWVnZW5kIFBsYXR6IGRhIGlzdC4gSXN0IGRhcyBGZW5zdGVyIGFiZXIgbmljaHQgZ3Jvc3MKZ2VudWcsIHNvbGxlbiBkaWUgQmlsZGVyIHVudGVyZWluYW5kZXIgZGFyZ2VzdGVsbHQgd2VyZGVuLiBTb3p1c2FnZW4gYWxzbyBlaW4KYXV0b21hdGlzY2hlciBaZWlsZW51bWJydWNoIGZ1ZXIgQmlsZGVyLgoKSXN0IHNvZXR3YXMgdWViZXJoYXVwdCBtb2VnbGljaCAobmFjaCBNb2VnbGljaGtlaXQgb2huZSBTa3JpcHRlKSB1bmQgd2VubiBqYSwKZGFubiB3aWU/CgogIFNpbHZhbmEgKGhhdHRlIGdlZGFjaHQsIGRhc3MgZGllIEJyb3dzZXIgZGFzIHZvbiBzaWNoIGF1cyB0dW4gd3VlcmRlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBodG1sLWhlbHAgc29tZW9uZT8gKE1vcmdvdGgsIDEyLiBKYW4gMjAwMSwgMTE6NDg6MDIpOgp+IyEgcm49U2lsdmFuYSBydD05NzkyOTU2ODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc5Mjk1NjgxCkFsc28gaWNoIGhhZXR0ZSBqZXR6dCBnZXNhZ3QgbWl0IG5lbSBKYXZhc2NyaXB0LCBhYmVyIHdlbm4gRHUgZGFzIG5pY2h0IGhhYmVuCndpbGxzdCwgaG1tbS4gCkFsc28gd2VubiBEdSBuaXggZmluZGVzdCwga2FubiBpY2ggRGlyIGRhcyBTY3JpcHQgZWJlbiBwcm9nZ2VuIDstKQoKU29laG5jaGVuIE0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaHRtbC1oZWxwIHNvbWVvbmU/IChNeXN0ZXJpb3VzLCAxMi4gSmFuIDIwMDEsIDEyOjIxOjQ2KToKfiMhIHJuPVNpbHZhbmEgcnQ9OTc5Mjk1NjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3OTI5NTY4MQprb25uaS1jaGktd2EuLi4KCmxlaWRlciBtYWNodCBtZWluIGJyb3dzZXIgZXMgZ2VuYXVzbywgd2llIGR1IGVzIGhhYmVuIG1vZWNodGVzdCBtaXQgZGVtCnVtYnJ1Y2ggKG5ldHNjYXBlIDQuNzUgZi4gbGludXgpLiBrYW5uIGVzIGRlc2hhbGIgYWxzbyBuaWNodCByaWNodGlnCm5hY2h2b2xsemllaGVuLgphYmVyIHZpZWxsZWljaHQgbnVldHp0IGVzIHdhcywgZWluZSB0YWJlbGxlIG1pdCBlaW5lciB6ZWlsZSB1bmQgZWluZXIgc3BhbHRlCmFuenVsZWdlbiB1bmQgZG9ydCBkaWUgYmlsZGVyIHJlaW56dWxlZ2VuPyBrZWluZSBhaG51bmcsIG9iIGRhcyB3YXMgYnJpbmd0LAphYmVyIHZpZWxsZWljaHQgaGFzdCBkdSBqYSBnbHVlY2suIDopCgphbnNvbnN0ZW4ga2FubiBpY2ggZGlyIGF1Y2ggbnVyIG5lIGphdmFzY3JpcHQtbG9lc3VuZyBhbmJpZXRlbi4KCnRzY2hvZSwKIG1Zc3RpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGh0bWwtaGVscCBzb21lb25lPyAoU3RpbmcsIDEyLiBKYW4gMjAwMSwgMTg6MjY6MTIpOgp+IyEgcm49TXlzdGVyaW91cyBydD05NzkyOTg1MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTc5Mjk1NjgxCkhpLAoKRGllIEJyb3dzZXIgbWFjaGVuIGRhcyBhbGxlIGdlbmF1c28gd2llIGR1IHdpbGxzdCwgd2VubiBkdSBkaWUgQmlsZGVyIGRpcmVrdApoaW50ZXJlaW5hbmRlciBzZXR6dCAob2huZSB3YXMgZGF6d2lzY2hlbikuIExhZXVmdCBhdWYgYWxsZW4gSUVzLCBOZXRzY2FwZXMKdW5kIHNvZ2FyIE9wZXJhLiBXZW5uIGRhIGFsbGVyZGluZ3MgZWluIF9iZXN0aW1tdGVyXyB6d2lzY2hlbnJhdW0gc2VpbiBzb2xsLApkYW5uIGJsZWlidCBkaXIgd2lya2xpY2ggbnVyIGRpZSBKYXZhc2NyaXB0LU1ldGhvZGUuCgoKZ3J1c3MKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmFTY3JpcHQgKFRpYW1haywgMTIuIEphbiAyMDAxLCAxODoyOTowNSk6Cldlbm4gd2lyIGhpZXIgZ2VyYWRlIGRpZSBQcm9maXMgdmVyc2FtbWVsdCBoYWJlbiAuLi4gOi0pCgpJY2ggaGFiZSBlaW5lIFNlaXRlIG1pdCBtZWhyZXJlbiBGcmFtZXMgKG5vcm1hbCwgdW52ZXJzY2hsdWVzc2VsdCkgdW5kIGVpbmVtCnZlcnNjaGx1ZXNzZWx0ZW4gRnJhbWUuIFdpZSBrYW5uIGljaCBwZXIgSmF2YVNjcmlwdCB2b20gdmVyc2NobHVlc3NlbHRlbiBGcmFtZQptaXQgZWluZW0gdW52ZXJzY2hsdWVzc2VsdGVuIChiencuIGFuZGVyc2hlcnVtKSBrb21tdW5pemllcmVuPwoKSWNoIG11ZXNzdGUgUHJvcGVydGllcyBsZXNlbiB1bmQgc2NocmVpYmVuIGtvZW5uZW4gLi4uCgoKVGlhbWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBodG1sLWhlbHAgc29tZW9uZT8gKFNpbHZhbmEsIDE0LiBKYW4gMjAwMSwgMTA6MDI6MzIpOgp+IyEgcm49U3RpbmcgcnQ9OTc5MzIwMzcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3OTI5NTY4MQpJY2ggbWFnIG1pY2ggZmFsc2NoIGF1c2dlZHJ1ZWNrIGhhYmVuLi4uIFdhcyBpY2ggd2lsbCBpc3QsIGRhc3MgZGllIEJpbGRlcgpfbmljaHRfIG5lYmVuZWluYW5kZXIgYW5nZXplaWd0IHdlcmRlbiwgd2VubiBkYXMgRmVuc3RlciB6dSBrbGVpbiBpc3QuIFdlbm4gZXMKYnJlaXQgZ2VudWcgaXN0LCBzb2xsZW4gc2llIGFiZXIgc2Nob24gbmViZW5laW5hbmRlci4gWnVtaW5kZXN0IGRlciBJRSA1LjUgU1AxCmthbm4gZGFzIF9uaWNodF8uIEVnYWwgb2IgaXJnZW5kZXR3YXMgendpc2NoZW4gZGVtIGltZy1UYWdzIGlzdCBvZGVyIG5pY2h0LgoKQWNoIGphOiBLZW5udCBqZW1hbmQgbmUgTW9lZ2xpY2hrZWl0LCBtZWhyIGFscyBlaW5lIFZlcnNpb24gZGVzIElFIHBhcmFsbGVsIHp1Cmluc3RhbGxpZXJlbj8gV3VlcmQgc2Nob24gZ2VybiB3aXNzZW4sIHdpZSBkYXMgbWl0IG5lciBhbHRlbiBWZXJzaW9uCmF1c3NjaGF1dC4KCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBodG1sLWhlbHAgc29tZW9uZT8gKFN0aW5nLCAxNC4gSmFuIDIwMDEsIDEwOjQ0OjMzKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTc5NDYyOTUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk3OTI5NTY4MQpIbW0sIGljaCBoYWIgaGllciBkYWhlaW0ga2VpbmVuIDUuNSBudXIgZGVuIDVlciwgYWJlciBpY2ggYmluIG1pciB6aWVtbGljaApzaWNoZXIgZGFzIGVzIGF1Y2ggZGEgZ2VuYXVzbyBnZWh0IHdpZSBpY2ggZXMgYmVzY2hyaWViZW4gaGFiZS4gQWJnZXNlaGVuCmRhdm9uIGdpYnRzIGRpZSBNb2VnbGljaGtlaXQgcGFyYWxlbGwgZGVuIDRlciBVTkQgYXVjaCBkZW4gNWVyIHp1Cmluc3RhbGxpZXJlbi4gZnVlciBkZW4gNGVyIHdpcmQgbmViZW4gZGVyIGluc3RhbGxhdGlvbiB2b20gNWVyIGdlZnJhZ3QgdW5kCmZ1ZXIgZGVuIHBhcmFsZWxsYmV0cmllYiB2b24gNSB1bmQgNS41IGdpYnRzIGJlaSBtaWNyb3NvZnQgZWluIHV0aWxpdHkuIGlzdAphYmVyIHNjaHdlciB6dSBmaW5kZW4sIHdlbm4gZHVzIHVuYmVkaW5ndCB3aWxsc3Qga2FubiBpY2ggZGlycyBtYWwgcGVyIGVtYWlsCnNjaGlja2VuLgoKCmdydXNzClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaHRtbC1oZWxwIHNvbWVvbmU/IChMb2xsaSwgMTcuIEphbiAyMDAxLCAxMzo0NjozMCk6Cn4jISBybj1TaWx2YW5hIHJ0PTk3OTI5NTY4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzkyOTU2ODEKd2VubiBkdSBlaW5lIHRhYmVsbGUgbWl0IGVpbmVyIHplbGxlIGVpbmZ1ZWdzdCAod2llIHNjaG9uIHZvcmdlc2NobGFnZW4pLCBkaWUKd2VpdGUgYWJlciBuaWNodCBhYnNvbHV0IHNvbmRlcm4gcmVsYXRpdiBnZXN0YWx0ZXN0LCBkYW5uIHBhc3N0IHNpY2ggZGllIHdlaXRlCmphIGF1ZiBkYXMgZmVuc3RlciBhbiB1bmQgc29taXQga29tbWVuIGF1Y2ggZGVpbmUgYmlsZGVyIG1pdCB6dSBrbGVpbmVtCmZlbnN0ZXIgZnVlciBuZWJlbmVpbmFuZGVyIGViZW4gdW50ZXJlaW5hbmRlci4KbXVlc3N0ZSBlaWdlbnRsaWNoIGZ1bmt0aW9uaWVyZW4gKHRoZW9yZXRpc2NoIHdlbmlnc3RlbnMgOi0pKS4KCkxvbGxpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBodG1sLWhlbHAgc29tZW9uZT8gKFN0aW5nLCAxNy4gSmFuIDIwMDEsIDEzOjQ4OjI5KToKfiMhIHJuPUxvbGxpIHJ0PTk3OTczNTU5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05NzkyOTU2ODEKVGhlb3JldGlzY2ggdmllbGxlaWNodCBqYSwgYWJlciBhdWNoIG5pY2h0IGluIGRlciBIVE1MLURlZmludGlvbiB1bmQgc2Nob24gZ2FyCm5pY2h0IGluIGRlciBQcmF4aXMsIHNvbmRlcm4gbnVyIGluIGRlaW5lciBUaGVvcmllIDopCkVzIGdlaHQgc29iYWxkIG1hbiBfa2VpbmVfIFRhYmVsbGVuIHZlcndlbmRldCwgaWNoIGhhdHRlIGxldHp0ZXNtYWwgdmVyZ2Vzc2VuCmRhcyBkYXp1enVzY2hyZWliZW4uLi4KCmdydXNzClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouZG9jIGV0Yy4gZHJ1Y2tlbiB1bnRlciBMaW51eC9TdW4gKEtyZWxsamEsIDMwLiBKYW4gMjAwMSwgMDk6MzM6MDQpOgpNb2luLAoKaWNoIHN1Y2hlIGVpbmUgTW9lZ2xpY2hrZWl0IHVudGVyIExpbnV4IGJ6dyBTdW4gLmRvYyBiencuIC5ydGYKRGF0ZWllbiBhbnp1c2VoZW4gdW5kIHp1IGRydWNrZW4uIERhcyBQcm9ibGVtIGlzdCwgZGFzcyAiaW5zdGFsbGllciAKRGlyIGRvY2ggU3RhciBPZmZpY2UiIGFuIG1laW5lciBTcGVpY2hlcnBsYXR6cXVvdGUgaGllciBpbiBkZXIgVW5pCnNjaGVpdGVydC4gSWNoIGZpbmRlIGF1Y2gsIGRhc3MgZGFzIGVpbiB3ZW5pZyB3aWUgbWl0IEthbm9uZW4gYXVmClNwYXR6ZW4gc2NoaWVzc2VuIHdpcmt0LgoKVHNjaHVlc3MgS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoUnVtYXRhLCAzMC4gSmFuIDIwMDEsIDA5OjM2OjUwKToKfiMhIHJuPUtyZWxsamEgcnQ9OTgwODQzNTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MDg0MzU4NApTYWcgZGVyIFN5c3RlbXdhcnR1bmcsIGRhc3MgZGllIFN0YXJvZmZpY2UgaW5zdGFsbGllcmVuIHNvbGx0ZW4uClNvIHNjaGxpbW0gZXMgaXN0LCBhYmVyIHp1bSBBcmJlaXRlbiBhbSBSZWNobmVyIGdlaG9lcnQgbnVubWFsLCBkYXNzCm1hbiBiaXN3ZWlsZW4gV29yZC1lcmd1ZXNzZSBsZXNlbiBtdXNzLgpSdW1hdGEsIGdydW1tZWx0IGF1Y2ggaW1tZXIsIHdlbm4gc2llIGRhcyBtdXNzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoSHVtbmksIDMwLiBKYW4gMjAwMSwgMDk6NDA6MDcpOgp+IyEgcm49UnVtYXRhIHJ0PTk4MDg0MzgxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODA4NDM1ODQKSWNoIHdlaXNzIG5pY2h0IG9iIGRhcyB0YXVndCwgYWJlciBpc3QgdmllbGxlaWNodCBuZW4gVmVyc3VjaCB3ZXJ0OgoKaHR0cDovL3d3dy53aW5maWVsZC5kZW1vbi5ubC9pbmRleC5odG1sCgpDVSBIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAuZG9jIGV0Yy4gZHJ1Y2tlbiB1bnRlciBMaW51eC9TdW4gKEtyZWxsamEsIDMwLiBKYW4gMjAwMSwgMDk6NDI6MTEpOgp+IyEgcm49UnVtYXRhIHJ0PTk4MDg0MzgxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODA4NDM1ODQKU3RhciBPZmZpY2UgaXN0IGhpZXIgaW0gUHJpbnppcCBpbSBOZXR6IHZvcmhhbmRlbiwgZXMgbmlzdGV0IHNpY2ggbnVyCmxlaWRlciBiZWkgbWlyIG1pdCBndXQgNSBNQiBlaW4uIEljaCBoYWIgbnVuIGVpZ2VudGxpY2ggbmljaHQgd2lya2xpY2gKdm9yLCBlaW4gVmllcnRlbCBtZWluZXIgUXVvdGUgenUgdmVyZGFkZGVsbiwgbnVyIHVtIGdlbGVnZW50bGljaAppbiBkZXIgUG9zdCBhdWZ0cmV0ZW5kZW4gKGxlaWRlciB3ZXNlbnRsaWNoZW4pIEtyYW0gbGVzZW4genUga29lbm5lbi4KCktyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoQ2F0d2VhemxlLCAzMC4gSmFuIDIwMDEsIDA5OjQ5OjAwKToKfiMhIHJuPUtyZWxsamEgcnQ9OTgwODQ0MTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MDg0MzU4NApJY2ggZnVlcmNodGUgYmVpIE1JY3Jvc29mdHMgLmRvYyBoYXN0IER1IGRhIGtlaW5lIHZlcm51bmVmdGlnZSBBbHRlcm5hdGl2ZS4KSWNoIGhhYiBtYWwgIHNvIG5lbiBkb2MtcmVhZGVyIGdlc2VoZW4sIGFiZXIgZGVyIGthbm4gbnVyIGRpZSBhbHRlbiBGb3JtYXRlCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoUnVtYXRhLCAzMC4gSmFuIDIwMDEsIDEwOjAzOjE3KToKfiMhIHJuPUNhdHdlYXpsZSBydD05ODA4NDQ1NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgwODQzNTg0Clp1ZmFlbGxpZ2Vyd2Vpc2UgYmluIGljaCBnZXJhZGUgdWViZXIgZGFzIEpESyAxLjMgcGFrZXQgamF2YXguc3dpbmcudGV4dC5ydGYKZ2VzdG9scGVydC4gVmllbGxlaWNodCBrYW5uIG1hbiBkYXJhdXMgd2FzIG1hY2hlbj8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoR3JpbW1ib3JuLCAzMC4gSmFuIDIwMDEsIDEwOjEyOjM1KToKfiMhIHJuPVJ1bWF0YSBydD05ODA4NDUzOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgwODQzNTg0Cldlbm5zIG51ciB1bXMgTGVzZW4gZWluZmFjaGVyIC5kb2MgRG9rdW1lbnRlIGdlaHQgaGF0IHNpY2ggZWlnZW50bGljaCAic3RyaW5ncwpkYXRlaS5kb2MgfCBsZXNzIiByZWNodCBndXQgYmV3YWVocnQuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IC5kb2MgZXRjLiBkcnVja2VuIHVudGVyIExpbnV4L1N1biAoSG91c2Vob2xkZXIsIDMwLiBKYW4gMjAwMSwgMTE6MTM6MjIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4MDg0NTk1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODA4NDM1ODQKZXMgZ2lidCBkYSBlaW4gdG9vbCBuYW1lbnMgYW50aXdvcmQgLi4uIGF1Y2ggc2VociBwcmFrdGlzY2ggdW0gYXVzIGRlcgprb21tYW5kb3plaWxlIHZpZWxlIHdvcmRkb2t1bWVudGUgaW4gdGV4dCB1bXp1d2FuZGVsbi4gaGFiIGVzIGFiZXIgYmlzaGVyIG51cgphbiBzZWhyIGVpbmZhY2hlbiB3b3JkZG9rdW1lbnRlbiBhdXNwcm9iaWVydDoKaHR0cDovL3d3dy53aW5maWVsZC5kZW1vbi5ubC9pbmRleC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiAuZG9jIGV0Yy4gZHJ1Y2tlbiB1bnRlciBMaW51eC9TdW4gKEJlbmRlaWdpZCwgMzAuIEphbiAyMDAxLCAxMjowMjoxOSk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05ODA4NDk2MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgwODQzNTg0CkljaCBoYWJlIGt1ZXJ6bGljaCBlaW4gVG9vbCBnZXN1Y2h0LCBhdXMgLmRvYyBpcmdlbmR3aWUgTGFUZXgtRGF0ZWllbiB6dQptYWNoZW4uIGdpbmcgZGFubiB1ZWJlciAucnRmIC0+IHJ0ZjJsYXRleDJlIC0+IC50ZXgKU29mZXJuIGJlaSBkaXIgTGF0ZXggbGFldWZ0IGthbm5zdCBkdSBkYXMgenVtaW5kZXN0IGZ1ZXIgZGllIC5ydGYtRmlsZXMKbnV0emVuLiBRdWFsaXRhZXQgaXN0ICJndXQiLgpodHRwOi8vd3d3LmtmYS1qdWVsaWNoLmRlL2lzci8xL3RleGNvbnYvcnRmMmxhdGV4MmUuaHRtbCBoaWxmdCB3ZWl0ZXIsIGRhCmdpYnRzIGRhcyBQcm9ncmFtbSBhbHMgZG93bmxvYWQuCgp2aWVsIFNwYXNzIQpCZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldJTjk4IC8gTGludXggKFllbmRpLCAgMi4gRmViIDIwMDEsIDE3OjQyOjA2KToKTWVpbiBMaW51eCBhdWYgZGVyIFNlYWdhdGUgZmluZGV0IGRlbiBXaW5kb3dzLUtyYW0gYXVmIGRlciBJQk0tUGxhdHRlIG5pY2h0Cm1laHIsIGtlaW5lIEFobnVuZywgd2llc28uIEthbm4gZXMgd2FzIGRhbWl0IHp1IHR1biBoYWJlbiwgZGFzcyBpY2gKaWxyZ2VuZHdhbm4gVzk4IG5ldSBpbnN0YWxsaWVyZW4gbXVzc3RlPwoKKmdydWViZWwqCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0lOOTggLyBMaW51eCAoR3JpbW1ib3JuLCAgMi4gRmViIDIwMDEsIDE4OjUyOjU4KToKfiMhIHJuPVllbmRpIHJ0PTk4MTEzMjEyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODExMzIxMjYKTmVpbiwga2FubiBlcyBuaWNodC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVU5JWCAoR3JpbW1ib3JuLCAgNS4gTWFyIDIwMDEsIDE1OjI0OjM4KToKfiMhIG9uPU5pcmRhdm8gb3Q9OTgzNzk5MTY4IG9nPXdpdHplCn4jISBybj1Ob25uZSBydD05ODM3Nzc3NjQgcmc9d2l0emUKfiMhIHRpZD05ODM3Mzc1NDQKS29taXNjaCwgYmVpIG1pciBrbGFwcHQgYXVjaCBtZCB1bSBlaW4gVmVyemVpY2huaXMgenUgZXJzdGVsbGVuLiBNYWcKdmllbGxlaWNodCBkYXJhbiBsaWVnZW4sIGRhc3MgaWNoIG1pciBlaW4gYWxpYXMgJ21kID0gbWtkaXInIGRlZmluaWVydCBoYWIuCipncmlucyoKCiAgIE5pcmRhdm8sIGRlciBzaWNoIGF1ZiBqZWRlciBET1NlIGVpbiBscy5iYXQgZXJzdGVsbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFVOSVggKEdyaW1tYm9ybiwgIDUuIE1hciAyMDAxLCAxNToyNDozOSk6Cn4jISBvbj1Nb3Jnb3RoIG90PTk4Mzc5OTQyNiBvZz13aXR6ZQp+IyEgcm49TmlyZGF2byBydD05ODM3OTkxNjggcmc9d2l0emUKfiMhIHRpZD05ODM3Mzc1NDQKdW5kIHdlbm4gZHUgc2NobGF1IGJpc3QgaGFzdCBkdSBkZW4gZG9za2V5IGdlbGFkZW4gdW5kIGxlZ3N0IGRpciBkb3J0IGVpbgphbGlhcyBhbi4gdmVyYnJhZXQgZGFubiBrZWluZSA4ayBmdWVyIDMgYnl0ZSBhdWYgZGVyIHBsYXR0ZQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVOSVggKFRyb3ksICA1LiBNYXIgMjAwMSwgMTU6NTk6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4MzgwMjI3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODM3Mzc1NDQKYnp3LiBoYXN0IHNvd2llc28gNGRvcyBpbnN0YWxsaWVydCwgd2FzIGRpZSAzMksgZnVlciBkb3NrZXkgYXVjaCBub2NoIHNwYXJ0Li4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVTklYIChHcmltbWJvcm4sICA1LiBNYXIgMjAwMSwgMTk6MDc6NDIpOgp+IyEgb249QW5hY3Jpb24gb3Q9OTgzODEzMzg1IG9nPXdpdHplCn4jISBybj1Ob25uZSBydD05ODM3Nzc3NjQgcmc9d2l0emUKfiMhIHRpZD05ODM3Mzc1NDQKQWxzbyBpY2ggaGFiIGRhcyBzY2hvZW4gbWl0IGFsaSBhdWYgbWQgZGVmaW5pZXJ0LgoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFVOSVggKEdyaW1tYm9ybiwgIDUuIE1hciAyMDAxLCAyMTo1Mjo1NSk6Cn4jISBvbj1BZ29ueSBvdD05ODM4MTU2NjYgb2c9d2l0emUKfiMhIHJuPU5vbm5lIHJ0PTk4Mzc3Nzc2NCByZz13aXR6ZQp+IyEgdGlkPTk4MzczNzU0NApmdWVyIGxldXRlIGRpZSBzaWNoIG5pY2h0IGVyc3QgbGV0enRlIHdvY2hlIGltIGthcnN0YWR0IGFscyB3ZXJiZWdlc2NoZW5rCmVpbmUgbGludXgtaGlwLUNEIGFuZHJlaGVuIGxhc3NlbiBoYWJlbiB1bmQgc2ljaCBqZXR6dCBhbHMgZ3Jvc3NlCnNlbGJzdGVya3VlcnRlIHN1cGVycHJvZmlzIGZ1ZWhsZW4sIHNvbGx0ZSBkZXIgYWxpLWJlZmVobCBkb2NoIGJla2FubnQgc2Vpbi4KZnVlciBsZXV0ZSBkaWUgaW50ZW5zaXZlciBsaW51eCBudXR6ZW4sIGFscyBkZW4gbGllYmVuIGxhbmdlbiB0YWcgbnVyCmRhbWl0IHJ1bXp1cHJvbGxlbiwgc29sbHRlIHNvbGNoIGVpbiBhbGkgcGZsaWNodCBzZWluLCBta2RpciBpc3QgZWluZmFjaApldHdhcyBsYW5nLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBVTklYIChBbXludGhvciwgIDcuIE1hciAyMDAxLCAxODozOTowMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTgzODAyMjc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MzczNzU0NApTZWNocyBCeXRlcywgTW9yZ290aCwgc2VjaHMgQnl0ZXMhCgogIEJ5dGUgMSAtIEJ5dGUgMzogRGF0ZW4KICBCeXRlIDQgLSBCeXRlIDU6IFplaWxlbnVtYnJ1Y2gKICBCeXRlIDY6ICAgICAgICAgIERhdGVpZW5kZQoKSW5zZ2VzYW10IHNpZWh0IGRhcyBhbHNvIHNvIGF1czogIzEwMCMxMDUjMTE0IzEzIzEwIzI2CgpBbXludGhvcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFVOSVggKFBpbGdyaW0sICA3LiBNYXIgMjAwMSwgMTk6MzY6MTYpOgp+IyEgcm49QW15bnRob3IgcnQ9OTgzOTg2NzQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MzczNzU0NAo+IEluc2dlc2FtdCBzaWVodCBkYXMgYWxzbyBzbyBhdXM6ICMxMDAjMTA1IzExNCMxMyMxMCMyNgoKSG1tLCB3ZW5uIGljaCBtaXIgZGFzIG1pdCBub3RlcGFkIGFuc2NoYXVlLCBzaWVodCBkYXNzIGFiZXIgZ2FyIG5pY2h0IHNvIGF1cwo7LSkKClBpbGdyaW0KXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVU5JWCAoV29vZHksICA3LiBNYXIgMjAwMSwgMjM6MDQ6MTApOgp+IyEgcm49QW15bnRob3IgcnQ9OTgzOTg2NzQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MzczNzU0NApQbHVzIDgxODYgQnl0ZSwgdW0gZGVuIENsdXN0ZXIgdm9sbCB6dSBtYWNoZW4gOykuIEhhZW5ndCBhYmVyIHZvbgpEYXRlaXN5c3RlbSB1bmQgUGFydGl0aW9uc2dyb2Vzc2UgYWIuIEdhbnogaW50ZWxsaWdlbnRlIERhdGVpLQpzeXN0ZW1lIHdpZSB6Qi4gUmVpc2VyLUZTIHZlcnNjaHdlbmRlbiBmdWVyIGdhbnoga2xlaW5lIEZpbGVzCmtlaW5lbiBnYW56ZW4gQmxvY2suLi4gYWJlciBkaWUgbWVpc3RlbiBhbmRlcmVuIGluY2wuIGV4dDJmcwp0dW4gZGFzLgoKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW5kb3dzIE1FIChHcmltbWJvcm4sICA5LiBNYXIgMjAwMSwgMTA6NTc6NDApOgpJY2ggaGFiZSBsZXR6dGUgV29jaGUgZWluIHBhYXIgd2lya2xpY2ggaGFlc3NsaWNoZSBFcmxlYm5pc3NlIG1pdCBlaW5lbQpSZWNobmVyLCBXaW5kb3dzIE1FIHVuZCBlaW5lciBMaW51eHZlcnNpb24gZ2VoYWJ0LiBNaXQgZGVtIExpbnV4IGtlbm5lIGljaAptaWNoIGhpbnJlaWNoZW5kIGF1cyB1bSB6dSBzYWdlbiBkYXNzIG1laW5lIFByb2JsZW1lIG5pY2h0IGRhZHVyY2ggdmVydXJzYWNodAp3dXJkZW4uIEljaCBoYWV0dGUgdm9uIE1FIGphIGVpbmlnZXMgZXJ3YXJ0ZXQsIGFiZXIgbmljaHQgZGFzcyBhdWYgZWlubWFsIGRpZQpQYXJ0aXRpb25zdGFiZWxsZSB2ZXJhZW5kZXJ0IHd1cmRlLiBBbnl3YXkuIERpZSBTaXR1YXRpb24gaXN0IGpldHp0IGZvbGdlbmRlOgpBdWYgZWluZSA4IEdCIFdpbmRvd3NwYXJ0aXRpb24gKElEIGM6IFdpbjk1IExCQSkgZm9sZ3QgZWluZSBlcndlaXRlcnRlClBhcnRpdGlvbiB1ZWJlciBkZW4gUmVzdCBkZXIgUGxhdHRlLiBEYXJpbiBpc3QgZGFubiBlcnN0IGVpbiBsb2dpc2NoZXMKTGF1ZndlcmsgdWViZXIgMjUgR0IgKElEIGMpLCBnZWZvbGd0IHZvbiBkcmVpIExpbnV4LVBhcnRpdGlvbmVuIChJRHMgODIrODMpLgpEaWVzZXMgZXJzdGUgbG9naXNjaGUgTGF1ZndlcmsgaXN0IG5pY2h0IGZvcm1hdGllcnQsIHdlaWwgZGVyIFp1Z3JpZmYgYXVmCmRpZXNlIFBhcnRpdGlvbiB1bm1pdHRlbGJhciB2b3IgZGVyIEVudGRlY2t1bmcgZGVyIHZlcmFlbmRlcnRlbgpQYXJ0aXRpb25zdGFiZWxsZSBzdGF0dGZhbmQuIERhaGVyIGRpZSBQcmVpc2ZyYWdlLCBiZXZvciBwYXJ0aXRpb25pZXJ0IHdpcmQ6CldlaXNzIGplbWFuZCBkZWZpbml0aXYgZGFzcyBXaW5kb3dzIE1FIGdlbmVyZWxsIHVuZCBhdWNoIGluIGRlciBQcmF4aXMgbWl0IHNvCmVpbmVtIGdyb3NzZW4gTGF1Zndlcmsga2xhcmtvbW10PyBPZGVyIHJpc2tpZXJlIGljaCBtYWwgd2llZGVyIGRpZSBGZXN0cGxhdHRlPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyBNRSAoU2lsdmFuYSwgIDkuIE1hciAyMDAxLCAxMToxMDoyMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTg0MTMxODYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDEzMTg2MApEYXMgaXN0LCBkYSBlcyBzaWNoIHVtIE0kIGhhbmRlbHQsIHZlcm11dGxpY2ggbmljaHQgdWViZXJ0cmFnYmFyLCBhYmVyIFdpbjJLCmhhdCBiZWkgbWlyIGJpc2hlciBrZWluZSBQcm9ibGVtZSBtaXQgbmVyIDQ1IEdCLVBhcnRpdGlvbi4gTnVyIGRhcwpEZWZyYWdtZW50aWVydW5nc3RlaWwgaGFlbmd0IHNpY2ggYW4gZGVyIFBhcnRpdGlvbiBuYWNoIGdldGFuZXIgQXJiZWl0IGF1Zi4KQWJlciB3aWUgZ2VzYWd0OiBXaW4ySywgbmljaHQgTUUuIFZlcm11dGxpY2ggbmljaHQgdWViZXJ0cmFnYmFyLgoKICBTaWx2YW5hClBTOiBBY2ggamEsIGRhIER1IG5hY2ggUGxhdHRlIGdlZnJhZ3QgaGFzdCwgbmljaHQgbmFjaCBQYXJ0aXRpb246IERpZSBQbGF0dGUKaGF0IDYwR0IgaW5zZ2VzYW1tdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyBNRSAoT2xsaSwgIDkuIE1hciAyMDAxLCAxNDoyMjoyNik6Cn4jISBybj1TaWx2YW5hIHJ0PTk4NDEzMjYyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQxMzE4NjAKSWNoIGhhYiBoaWVyIG5lIDgwR0IgUGxhdHRlIHUuYS4gdW50ZXIgV2luZG93cyA5OCBsYXVmZW4uIE1pdCBuZXIgNTBHQgp2ZmF0LVBhcnRpdGlvbi4gVW5kIGxhZXVmdCBvaG5lIHp1IG11cnJlbi4gQWNoamEuIFNlY29uZCBFZGl0aW9uLgoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luZG93cyBNRSAoVHJveSwgMTEuIE1hciAyMDAxLCAxMDoyMTowNik6Cn4jISBybj1PbGxpIHJ0PTk4NDE0NDE0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQxMzE4NjAKSWNoIGhhYiBtaXQgbmVyIDI5R0ItUGFydGl0aW9uIHVudGVyIE1FIGF1Y2gga2VpbmUgUHJvYmxlbWUuIFVlYnJpZ2VucyBib290ZQppY2ggZGFzIE1FIHVlYmVyIExJTE8uIEJlaSBtaXIgaXN0IExpbnV4IGluIGRlciBlcnN0ZW4gUGFydGl0aW9uIChwcmltYWVyKSwKZGllIDIuIGlzdCBlcndlaXRlcnQgbWl0IGxvZ2lzY2hlbiBMaW51eC1MYXVmd2Vya2VuLCBkaWUgMy4gaXN0IGZ1ZXIgYmVpZGUKZGEgKHByaW1hZXIpIHVuZCBkaWUgNC4gKGViZW5mYWxscyBwcmltYWVyKSBpbiBXaW5NRS4gTnVuIGhhYmUgaWNoIG1pdCBkZW0KZmRpc2sgdm9uIExpbnV4IGRpZSAxLiBVTkQgZGllIDQuIFBhcnRpdGlvbiBha3RpdmllcnQgdW5kIGhhYiBkYW5uIGRlbgpCb290YmxvY2sgZGVyIDQuIChkZW4gV2luZG93cy1NRS1Cb290YmxvY2sgZWJlbikgbWl0IGRkIGF1c2dlbGVzZW4KKGRkIGlmPS9kZXYvaGRlNCBvZj0vYm9vdC9XaW5NRS5ibGsgYnM9NTEyIGNvdW50PTEpCkRlbiBoYWIgaWNoIGRhbm4gZGVtIG90aGVyIHZvbiBMSUxPIG1pdGdlZ2ViZW4gdW5kIHNpZWhlIGRhOiBlcyBib290ZXQuCgpEaWVzZSBrcmFua2UgQXVmdGVpbHVuZyBydWVocnQgZGFoZXIsIGRhc3MgaW4gZGVyIGVyc3RlbiB1bmQgMi4gUGFydGl0aW9uCnVyc3BydWVuZ2xpY2ggbWFsIFdpbjJrIEFkdmFuY2VkIFNlcnZlciBkcmluIHdhci4uLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVU5JWCAoQXBzdSwgMTEuIE1hciAyMDAxLCAxMzo0MDo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTgzODAyMjc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MzczNzU0NApoZWhlLCBlaW4gKGdvdHRzZWlkYW5rIGVudGZlcm50ZXIpIEJla2FubnRlciB2b24gbWlyLCBkZXIgdWVicmlnZW5zIGJlaGF1cHRldCwKSW5mb3JtYXRpayB6dSBzdHVkaWVyZW4sIGtvbW10IHp1IG1pciBpbiBkZW4gVW5peHBvb2wgKHdlaWwgZGVyIHNvIHNjaG9lbiBsZWVyCmlzdCA6KSksIGhvY2t0IHNpY2ggdm9yIGRpZSBLaXN0ZSwgZmFlbmd0IGFuLCBydW16dXRvYmVuLCB3ZWlsIGVyIHNpY2ggbmV0CmVpbmxvZ2dlbiBrYW5uLiBJY2ggc2FnIGlobSAobWluZGVzdGVucyAxMCBtYWwpLCBhdWYgd2VsY2hlIFJlY2huZXIgZXIgYWxzCjA4MTUtRGF1IFp1Z3JpZmYgaGF0LCBkYW5uIGdlaHRzIGdlbmF1IHNvIHdpZSB1bnRlciBXaW5kb29mICh1ZWJyaWdlbnMKc3RyYWVmbGljaGVyd2Vpc2Ugbm9jaCBtaXQgZGVtIHNlbGJlbiBQYXNzd29yZCkuIEVyIGtyaWVndHMgbmljaHQgZ2ViYWNrZW4uCkZsdWNodCB1bmQgdG9idC4gSWNoIGxvZ2dlIGlobiBlaW4uIEVyLSBhbHMgZXJzdGVzIC0gZ2lidCBkaXIvcCBlaW4uCkhhZW1pc2NoZXMgR3JpbnNlbiBtZWluZXJzZWl0cyB1bmQgS29tbWVudGFyZSB3aWUgImRhcyBpc3QgbmUgVW5peGtpc3RlLCBkYQpoZWlzc3QgZGFzIGxzIGJsYXxtb3JlIHVuZCBuZWluLCBEZWluIGdlbGllYnRlcyBXb3JkIGdpYmJldCBkYSBhdWNoIG5pY2h0IgpmcnVjaHRlbiBuaXgsIGVyIGdpYnQgd2VpdGVyIHNlaW4gZGlyL1AgZWluIHVuZCBzdWNodCBzZWluIGdlbGllYnRlcyB3aW53b3JkLgpGbHVjaHQgdW5kIHRvYnQuIEVyc3RlIExhZXN0ZXJlaWVuIG1laW5lcnNlaXRzIHdlcmRlbiBtaXQgQW5kcm9odW5nIHZvbgpQcnVlZ2VsbiBxdWl0dGllcnQuIEljaCBoYWIgbWl0IE11ZWhlIHVuZCBOb3QgZHJhdWYgdmVyemljaHRldCwgaWhtIGVpbiBBbGkgYQpsYSBhbGlhcyAiZGlyL1AiPSJybSAtcmYgfiIgenUgYmFzdGVsbiwgZGEgaWNoIHNlbGJlciBEQVUgYmluIHVuZCBuaWNodCB3ZWlzcywKd2lldmllbCBIdW1vciBkaWUgQWRtaW5zIGhhYmVuIC4uLgoKU28gZ2VzY2hlaGVuIGxldHp0ZW4gT2t0b2Jlci4KCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFVOSVggKEFwc3UsIDExLiBNYXIgMjAwMSwgMTM6NDI6MTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4MzgyNTU3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODM3Mzc1NDQKQW5nZWJsaWNoIHZlcmFic2NoZXVlbiBfcmljaHRpZ2VfIEd1cnVzIGphIFNhY2hlbiB3aWUgbWQgdW5kIGNkIC4uLiAKCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFVOSVggKEFtYXJ5bGxpcywgMTEuIE1hciAyMDAxLCAxNDowNDo0OCk6Cn4jISBybj1BcHN1IHJ0PTk4NDMxNDQ0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODM3Mzc1NDQKRGllIFN0b3J5IGlzdCB2b24gZWluZXIgU3lzYWRtaW4tU2VpdGUgaGVydW50ZXJrb3BpZXJ0IHVuZCB3b2hsIGRlZmluaXRpdgpfbmljaHRfIHZvbiBEaXIuClNvbGx0ZSBpY2ggbWljaCBkYSB0YWV1c2NoZW4sIGRhcmZzdCBEdSBtaWNoIGdlcm5lIGtvcnJpZ2llcmVuIC0gYW5zb25zdGVuCndhZXJlIGVpbmUgUXVlbGxlbmFuZ2FiZSBlaHJsaWNoIGdld2VzZW4gOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFVOSVggKEFwc3UsIDExLiBNYXIgMjAwMSwgMTQ6MDc6NDEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTk4NDMxNTg4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODM3Mzc1NDQKRG9jaCBkaWUgaXN0IHZvbiBtaXIuIFVuZCBpY2ggaGFiIGRpZSBhdWNoIGF1ZiBkZXIgc3lzYWRtaW4tc2VpdGUKdmVyb2VmZmVudGxpY2h0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBVTklYIChBbWFyeWxsaXMsIDExLiBNYXIgMjAwMSwgMTQ6MDg6NTMpOgp+IyEgcm49QXBzdSBydD05ODQzMTYwNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgzNzM3NTQ0Cmd1dCwgZGFubiBuZWhtIGljaCBhbGxlcyB6dXJ1ZWNrIDopCgpBbWEqCih3ZWRlciBBbmEqIG5vY2ggQW5hYyogbm9jaCAuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXJkZGlzay1TdWNoZS4uLiAoS2FsbGlvcGUsIDEyLiBNYXIgMjAwMSwgMTk6MjQ6NTkpOgoKSWNoIGJyYWV1Y2h0ZSBlaW5lIEVtcGZlaGx1bmcuIEdlc3VjaHQgd2lyZCBlaW5lIElERS1IYXJkZGlzaywgfiAzMCBHQiwgCjJNIENhY2hlLCB+IDdrUlBNLiBJY2ggaGF0dGUgZGllIGlibSBEVExBIDMwNzAzMCBpbnMgQXVnZSBnZWZhc3N0LCBkb2NoCnNjaGVpbnQgZGVyIGVpbmUgb2RlciBhbmRlcmUgdWViZXJkdXJjaHNjaG5pdHRsaWNoIG5lZ2F0aXZlIEVyZmFocnVuZ2VuCm1pdCBpYm0gRmVzdHBsYXR0ZW4gZ2VtYWNodCB6dSBoYWJlbi4uLiBpcmdlbmR3ZWxjaGUgVm9yc2NobGFlZ2U/CgpBbmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFyZGRpc2stU3VjaGUuLi4gKFBhdHJ5biwgMTIuIE1hciAyMDAxLCAxOToyNjoyMyk6Cn4jISBybj1LYWxsaW9wZSBydD05ODQ0MjE0OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg0NDIxNDk5CndlZGVyIGljaCBub2NoIGlyZ2VuZHdlbGNoZSBiZWthbm50ZSBtZWluZXJlaW5lciBoYXR0ZW4gYmlzIGRhdG8KcHJvYmxlbWUgbWl0IElCTS1wbGF0dGVuLCB1bmQgZGllIHNpbmQgYmVpIHVucyByZWNodCB2ZXJicmVpdGV0Lgp3byBoYXN0IGR1IGRhcyBoZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFyZGRpc2stU3VjaGUuLi4gKEphbWVzb24sIDEyLiBNYXIgMjAwMSwgMTk6Mjc6MTcpOgp+IyEgcm49S2FsbGlvcGUgcnQ9OTg0NDIxNDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDQyMTQ5OQpJbSBHZWdlbnRlaWwsIGFsbGUgZGllIGljaCBrZW5uZSBoYWJlbiBudXIgZGllIGJlc3RlbiBFcmZhaHJ1bmdlbiBnZW1hY2h0LgpBbGxlaW4gaW4gbWVpbmVyIGZhbWlseSB0dW4gMyBkYXZvbiBiZXN0ZW5zIGlocmVuIERpZW5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFyZGRpc2stU3VjaGUuLi4gKFN0aW5nLCAxMi4gTWFyIDIwMDEsIDIwOjExOjE4KToKfiMhIHJuPUphbWVzb24gcnQ9OTg0NDIxNjM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDQyMTQ5OQpKbywgaWNoIGthbm4gYXVjaCBudXIgc2FnZW4gZGFzIGljaCBzY2hvbiBlaW5pZ2UgSUJNLUZlc3RwbGF0dGVuIGhhYmUsIHVuZCBkaWUKaW1tZXIgd3VuZGVyYmFyIGdldGFuIGhhYmVuLgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFyZGRpc2stU3VjaGUuLi4gKFNjcmVhbWVyLCAxMi4gTWFyIDIwMDEsIDIwOjU5OjI4KToKfiMhIHJuPVBhdHJ5biBydD05ODQ0MjE1ODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg0NDIxNDk5CgpOYWphLCBpY2ggd2FyIGF1Y2ggaW1tZXIgdm9uIGlibSB1ZWJlcnpldWd0LCBhYmVyIHdvIGljaCBkYXMgbnVuIGxlc2UsCmRhc3MgZWluaWdlIExldXRlIGRhbWl0IHNjaGxlY2h0ZSBFcmZhaHJ1bmdlbiwgc2VoZSBpY2ggZGFzIGFicmF1Y2hlbgptZWluZXIgc2Nob2VuZW4gaWJtLXBsYXR0ZSAoZGllIG5vY2ggbmljaHQgc28gYWx0IHdhcikgYXVjaCBpbiBlaW5lbQphbmRlcmVuIExpY2h0LgoKU2NyZWFtZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhhcmRkaXNrLVN1Y2hlLi4uIChLYWxsaW9wZSwgMTIuIE1hciAyMDAxLCAyMTowMjo1Nik6Cn4jISBybj1TY3JlYW1lciBydD05ODQ0MjcxNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg0NDIxNDk5ClZpZWxsZWljaHQgaXN0IG1laW4gJ2VpbmlnZSBMZXV0ZScgc3RhdGlzdGlzY2ggbmljaHQgcmVwcmFlc2VudGF0aXYKdW5kIGljaCBoYWIgZWluZmFjaCBudXIgZGVuIE9iZXJwZWNodm9nZWwgZXJ3aXNjaHQuIEljaCBzZWxic3QgaGFiZQpudXIgZ3V0ZSBFcmZhaHJ1bmdlbiBtaXQgbWVpbmVuIGJlaWRlbiBJQk0tUGxhdHRlbiBnZW1hY2h0LgoKQW5hCgpQUzogLi4uIHdhcyBuYXR1ZXJsaWNoIG5pY2h0cyBoZWlzc3QsIGRhIGljaCBhdWNoIG1pdCBXRCB1bmQgTWF4dG9yCiAgICBrZWluZSBzY2hsZWNodGVuIEVyZmFocnVuZ2VuIG1hY2h0ZS4gTnVyIG1pdCBTZWFnYXRlLi4uIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEhhcmRkaXNrLVN1Y2hlLi4uIChBcmssIDEyLiBNYXIgMjAwMSwgMjE6Mjc6MDYpOgp+IyEgcm49S2FsbGlvcGUgcnQ9OTg0NDI3Mzc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDQyMTQ5OQpEYSBpY2ggYmVpIGRlciBiZXNhZ3RlbiBGaXJtYSBhcmJlaXRlLCBkYXJmIGljaCBiZXNjaGVpZGVuIHNhZ2VuLCBkYXNzIHdpcgpzaWNoZXIgYXVjaCB2aWVsIE1pc3QgbWFjaGVuLCBhYmVyIEZlc3RwbGF0dGVuIGdlaG9lcmVuIHNpY2hlciBuaWNodCBkYXp1LgpXZW5uIGpldHp0IGVpbmVyIGVpZnJpZyBtaXQgZWluZXIgZ2VnZW50ZWlsaWdlbiBFcmZhaHJ1bmcga29tbXQsIGthbm4gc2Vpbi4KTW9udGFnc3Byb2R1a3Rpb24ga29tbXQgaW4gZGVyIGJlc3RlbiBGaXJtYSB2b3IgO14pIEFiZXIgbml4IGdlZ2VuIGRpZSBQbGF0dGVuCmFsbGdlbWVpbi4KWnluaXNjaGUsIHRocmVhZGZvZXJkZXJuZGUsIGhhZW1pc2NoZSBvZGVyIGxhbmd3ZWlsaWdlIEtvbW1lbnRhcmUgenUgZGllc2VyCnZvZWxsaWcgc3ViamVrdGl2ZW4gTWVpbnVuZyB3ZXJkZW4gdm9uIG1pciBtaXQgZWluZW0gc29mb3J0aWdlbiAiVWViZXJnZWhlClRocmVhZCIgc2Fua3Rpb25pZXJ0IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhhcmRkaXNrLVN1Y2hlLi4uIChXdXJ6ZWwsIDEyLiBNYXIgMjAwMSwgMjE6Mjc6NDYpOgp+IyEgcm49QXJrIHJ0PTk4NDQyODgyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQ0MjE0OTkKbmEgZGFubiBtYWNoIG1hbCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhcmRkaXNrLVN1Y2hlLi4uIChNdXBmZWwsIDEzLiBNYXIgMjAwMSwgMDA6MzI6NTQpOgp+IyEgcm49S2FsbGlvcGUgcnQ9OTg0NDIxNDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDQyMTQ5OQo3a3JwbT8gd2lsbHN0ZSBtaXQgb2hyZW5zY2h1ZXR6ZXJuIHZvcm0gcmVjaG5lciBzaXR6ZW4/IDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXJkZGlzay1TdWNoZS4uLiAoS2FsbGlvcGUsIDEzLiBNYXIgMjAwMSwgMDE6MjQ6MjcpOgp+IyEgcm49TXVwZmVsIHJ0PTk4NDQzOTk3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQ0MjE0OTkKRGFzIFZlcmxvY2tlbmRlIGFuIGRlciBQbGF0dGUgaXN0IGRlciAyTS1DYWNoZSwgZGllIEdlc2Nod2luZGlna2VpdCBpc3QKaW4gbWVpbmVuIEF1Z2VuIG5pY2h0IHdpcmtsaWNoIGRhcyBXaWNodGlnZS4KCkFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFyZGRpc2stU3VjaGUuLi4gKEdyaW1tYm9ybiwgMTMuIE1hciAyMDAxLCAwNzoyMTo1MSk6Cn4jISBybj1LYWxsaW9wZSBydD05ODQ0NDMwNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg0NDIxNDk5ClVuZCBtaXQgZWluZW0gR2VoYWV1c2Ugdm9uIHouQi4gd3d3LmJsYWNrbm9pc2UuY29tIGlzdCBkZXIgYW5nZWJsaWNoZSBMYWVybQphdWNoIHdpZWRlciB6aWVtbGljaCBpcnJlbGV2YW50LiBTY2hvZW4sIGRhc3MgZXMgYXVjaCBzb3dhcyBnaWJ0IHVuZCBuaWNodCBudXIKZGllc2UgKGluIGplZGVyIEhpbnNpY2h0KSBiaWxsaWdlbiBTdGFuZGFyZGluZHVzdHJpZWdlaGFldXNlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIYXJkZGlzay1TdWNoZS4uLiAoVHJveSwgMTMuIE1hciAyMDAxLCAwODo1NzozMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTg0NDY0NTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NDQyMTQ5OQpUamEgdW5kIGRpZSBuZXVlcmVuIDcyMDBlciBQbGF0dGVuIHNpbmQgbmljaHQgd2lya2xpY2ggbGF1dC4gSWNoIGVya2VubiBkaWUKQXJiZWl0IHZvbiBtZWluZXIgKE1heHRvcikgbnVyIGFuIGRlciBMRUQuLi4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEhhcmRkaXNrLVN1Y2hlLi4uIChLYWxsaW9wZSwgMTMuIE1hciAyMDAxLCAxMDo1NjowOSk6Cn4jISBybj1Ucm95IHJ0PTk4NDQ3MDI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQ0MjE0OTkKRGllIEZyYWdlIG5hY2ggZGVyIExhdXRzdGFlcmtlIGVydWVicmlndCBzaWNoIC0tIGRpZSA3MjAwZXIga29lbm50ZQppY2ggbWl0IG1laW5lbSBhbHRlbiBSZWNobmVyIChQSUktMzMzKSBnYXIgbmljaHQgcmljaHRpZyBudXR6ZW4uIDopCgpBbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNldWZ6IChXdXJ6ZWwsIDE0LiBNYXIgMjAwMSwgMTc6MDE6MjApOgp3ZXIgYXVmIGRzbCB3YXJ0ZXQsIHNvbGx0ZSBzaWNoIGtlaW5lIHNvcmdlbiBtYWNoZW4uLi4gbW9tZW50YW4gaXN0CmplZGVuZmFsbHMgaGllciBpbiBkZXIgcmVnaW9uIHppZW1saWNoIGFtIGFyc2NoLiBtYWNodCBuaWNodCB3aXJrbGljaApzcGFzcywgZGEgaXN0IGlzZG4gc2Nob24gYmVzc2VyLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFyZGRpc2stU3VjaGUuLi4gKEdub21lLCAxOS4gTWFyIDIwMDEsIDAxOjI2OjM3KToKfiMhIHJuPUthbGxpb3BlIHJ0PTk4NDQyMTQ5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODQ0MjE0OTkKZGllIGRpYW1vbmRtYXgtc2VyaWUgMzYtNjAgdm9uIG1heHRvciBpc3QgcmVjaHQgZW1wZmVobGVuc3dlcnQuCjJtYiBjYWNoZSwgNTQwMHJwbSAoZGFkdXJjaCBhdWNoIGFuZ2VuZWhtZSAwLDktMSw4IHNvbmUgbGF1ZmdlcmFldXNjaGUpLApjYSAxNSBtYi9zIGR1cmNoc2F0ei4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTQ1NJLXBsYXR0ZSAoR25vbWUsIDIwLiBNYXIgMjAwMSwgMjI6MjE6MzgpOgpzdWNoZSBuZSBTQ1NJMi1wbGF0dGUgc28gendpc2NoZW4gMiB1bmQgNCBHQi4gcHJlaXMgVkhCLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlleHBsb3JlciB2cyBuZXRzY2FwZSAoV3VyemVsLCAyNi4gTWFyIDIwMDEsIDEyOjU0OjMwKToKbmFjaGRlbSBuZXRzY2hyb3R0IG1pY2ggaGlucmVpY2hlbmQgb2Z0IGdlbmVydnQgaGF0LCB3b2xsdGUgaWNoIG1hbCBkZW4KbWl0dGxlcndlaWxlIGFuZ2VibGljaCB1ZWJlcmxlZ2VuZW4gaWV4cGxvcmVyIGF1c3Byb2JpZXJlbi4gZ2lidCBudXIgZWluCnByb2JsZW0gZGFiZWk6CmF1ZiBkZXIgYy1wYXJ0aXRpb24gaXN0IG5pY2h0IG1laHIgZ2VudWcgcGxhdHosIGFsc28gc2NoaWViIGljaCBpaG4gbmFjaApkOiwgd2FzIGVyIGF1Y2ggcmVsYXRpdiBhbnN0YW5kc2xvcyBha3plcHRpZXJ0LiBhbGxlcmRpbmdzIGJyYXVjaHQgZXIKdHJvdHpkZW0gbm9jaCA4MCAoISkgbWIgYXVmIGM6IC4uLiB1bmQgc292aWVsIGlzdCBkYSBoYWx0IG5pY2h0IG1laHIuCnVuZCBudW4/IGdpcHMgZGEgdHJpY2tzLCBkaWUgaWNoIGFobnVuZ3Nsb3NlciB1c2VyIG5pY2h0IHdlaXNzPyBvZGVyCmlzdCBkYXMgaGFsdCBzbyBjbGV2ZXIgZ2VtYWNodCwgZGFzcyBlcyBuaWNodCBnZWh0PwoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaWV4cGxvcmVyIHZzIG5ldHNjYXBlIChQaWxncmltLCAyNy4gTWFyIDIwMDEsIDAwOjUxOjE2KToKfiMhIHJuPVd1cnplbCBydD05ODU2MDQwNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg1NjA0MDcwCj4gdWYgZGVyIGMtcGFydGl0aW9uIGlzdCBuaWNodCBtZWhyIGdlbnVnIHBsYXR6LCBhbHNvIHNjaGllYiBpY2ggaWhuIG5hY2gKPiBkOiwgd2FzIGVyIGF1Y2ggcmVsYXRpdiBhbnN0YW5kc2xvcyBha3plcHRpZXJ0LiBhbGxlcmRpbmdzIGJyYXVjaHQgZXIKPiB0cm90emRlbSBub2NoIDgwICghKSBtYiBhdWYgYzogLi4uIHVuZCBzb3ZpZWwgaXN0IGRhIGhhbHQgbmljaHQgbWVoci4KPiB1bmQgbnVuPyBnaXBzIGRhIHRyaWNrcywgZGllIGljaCBhaG51bmdzbG9zZXIgdXNlciBuaWNodCB3ZWlzcz8gb2Rlcgo+IGlzdCBkYXMgaGFsdCBzbyBjbGV2ZXIgZ2VtYWNodCwgZGFzcyBlcyBuaWNodCBnZWh0PwpXaWVzbyBrb21tdCBtaXIgZGFzIG51ciBzbyBiZWthbm50IHZvciAuLi4gZGFzIGlzdCB0eXBpc2NoIE1pY3JvU2Nocm90dCAuLi4KSWNoIGhhdHRlIGRpZXNlcyBQcm9ibGVtIGJlaSBqZWRlbiBuZXVlbiBEaXJlY3RYIFZlcnNpb24gLi4uIERlciBkdW1tZQpJbnN0YWxsZXIKZ2VodCBpbW1lciBkYXZvbiBhdXMsIHdpZXZpZWwgUGxhdHogbWFubiBicmF1Y2h0LCB3ZW5uIG1hbiBub2NoIGtlaW5lIGFlbHRlcmUKVmVyc2lvbiBpbnN0YWxsaWVydCBoYXQgLi4uIHVuZCBuaWNodCwgdmlldmllbCBtYW4gdGF0c2FlY2hsaWNoIF9tZWhyXyBicmF1Y2h0CjotKApBdXNzZXJkZW0gYmluIGljaCB6aWVobWxpY2ggc2ljaGVyLCBkYXMgZXIgX2ltbWVyXyBcd2luZG93c1x0ZW1wXCogenVyCkluc3RhbGxhdGlvbgpudXR6dCAodW5kIG5pY2h0ICVURU1QJSBvZGVyICVUTVAlKSB3YXMgZGllc2UgaG9oZW4gUGxhdHpiZWRhcmZlIHdhZWhyZW5kIGRlcgpJbnN0YWxsYXRpb24gZXJrbGFlcnQgLi4uIAoKSWNoIGhhYiBpbW1lciBmdWVyIGRpZSBEYXVlciBkZXIgSW5zdGFsbGF0aW9uIGdlcmFkZSBuaWNodCBiZW5vZXRpZ3RlClBsYXR0ZW50ZWlsZQphdWYgbmUgYW5kZXJlIFBhcnRpdGlvbiB2ZXJzY2hvYmVuIC4uLiB1bmQgZGFuYWNoIHdpZWRlciB6dXJ1ZWNrIC4uLiBrZWluZQpBaG51bmcsCm9iIGRhcyBhdWNoIGFuZGVycyBnZWh0IC4uLiBkYSBpY2gga2VpbiBzdWJzdCBmdWVyIFZlcnplaWNobmlzc2Uga2VubmUgKGFscwpzb3dhcwp3aWUgc3ltbGlua3MpIHNlaCBpY2ggZGEgYXVjaCB3ZW5pZyBjaGFuY2VuIDotKAoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBpZXhwbG9yZXIgdnMgbmV0c2NhcGUgKE11cGZlbCwgMjcuIE1hciAyMDAxLCAwMTowMDowMSk6Cn4jISBybj1QaWxncmltIHJ0PTk4NTY0NzA3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODU2MDQwNzAKSG0uLi4genVtaW5kZXN0IG1pdCBXaW4ySyBnZWh0ICJzdWJzdCBmdWVyIHZlcnplaWNobmlzc2UiIChtYW4ga2FubiBlaW5lClBhcnRpdGlvbiBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBhbmJpbmRlbiwgYWxzbyB6LmIuIFBhcnRpdGlvbiAyIGlzdCBkYW5uCiJjOlxQcm9ncmFtbWVcQmxhIikuCgotbXVwZmVsLQpQUyBhbnNvbnN0ZW4gaXN0IGVzIHdvaGwgZGFzIEJlc3RlLCBlaW5mYWNoIG5lbiBWZXJ6ZWljaG5pcyBmdWVyIGRpZSBEYXVlciBkZXIKSW5zdGFsbGF0aW9uIG5hY2ggRCB6dSB2ZXJzY2hpZWJlbiwgd2llIFBpbGdyaW0gdm9yc2NobHVnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaWV4cGxvcmVyIHZzIG5ldHNjYXBlIChMaW5mbGFzLCAyNy4gTWFyIDIwMDEsIDAxOjIyOjQ2KToKfiMhIHJuPU11cGZlbCBydD05ODU2NDc2MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg1NjA0MDcwCk5hamEsIHNvIGVpbmZhY2ggaXN0IGRhcyBtZWluZXMgV2lzc2VucyBuYWNoIGphIGF1Y2ggbmljaHQuLi4KRGVyIEludGVybmV0IEV4cGxvcmVyIGhhdCBkaWUgZWlnZW5hcnRpZ2UgQW5nZXdvaG5oZWl0IHNpY2ggaW1tZXIgYXVmIEM6IGVpbmUKYmVzdGltbXRlIE1lbmdlIHp1IHJlc2VydmllcmVuLCB3byBlciBkYW5uIHNlaW5lIFRlbXAtRmlsZXMgaGluc2V0enQuIEljaApkZW5rZSBkdSB3aXJzdCBhdWYgamVkZW4gRmFsbCBQcm9ibGVtZSBkYW1pdCBoYWJlbiwgc29sbHRlIEM6IHNvIHZvbGwgc2Vpbi4KT2RlciBnaWJzIGRhIG5lbiBLbmlmZiwgZGVuIGljaCBuaWNodCBrZW5uZT8KCkxpbmZsYXMsIHdpbGwgYXVjaCBtYWwgS3VoZSBoZWxmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaWV4cGxvcmVyIHZzIG5ldHNjYXBlIChUcnVnLCAyNy4gTWFyIDIwMDEsIDEwOjU0OjI3KToKfiMhIHJuPVd1cnplbCBydD05ODU2MDQwNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg1NjA0MDcwCk5vZSBkZXIgSUUgbmlzdGV0IHNpY2ggd2llIGVpbiBQYXJhc2l0IGlucyBXaW5kb3dzdmVyemVpY2huaXMgcmVpbi4gCgpDOlxXaW5kb3dzXEZhdm9yaXRlbiwgQzpcV2luZG93c1xDb29raWVzLCBDOlxXaW5kb3dzXFRlbXBvcmFyeSBJbnRlcm5ldCBGaWxlcywKQzpcV2luZG93c1xSZWNlbnQuCgpEYXp1IGRpdmVyc2UgRExMcyBpbiBDOlxXaW5kb3dzXFN5c3RlbS4KRXJzZXR6dCBkZW4gQzpcV2luZG93c1xFeHBsb3Jlci5leGUuCgpIYWIgaWNoIG5vY2ggd2FzIHZlcmdlc3NlbiBiZWkgZGllc2VuIFZpcnVzPwoKVHJ1Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaWV4cGxvcmVyIHZzIG5ldHNjYXBlIChMaW5mbGFzLCAyNy4gTWFyIDIwMDEsIDEyOjAwOjEwKToKfiMhIHJuPVRydWcgcnQ9OTg1NjgzMjY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NTYwNDA3MApHZW5hdSBzb3dhcyBtZWluZSBpY2ggamEuIFdlciBnZW5lcmVsbCB2aWVsIHN1cmZ0LCBkZXNzZW4gVGVtcG9yYXJ5IEludGVybmV0CkZpbGVzIHdhY2hzZW4gc2NobmVsbCBhdWYgdW5nbGF1YmxpY2hlIGdyb2Vzc2UgYW4uIE1hbiBrYW5uIGphIG5hY2ggamVkZW0KcnVtc3VyZmVuIHBlciBFeHJhcyAtPiBJbnRlbmV0b3B0aW9uZW4gLT4gRGF0ZWllbiBsb2VzY2hlbiwgZGllIEZlc3RwbGF0dGUKbGVlcm1hY2hlbiBvZGVyIHVudGVyIEV4dHJhcyAtPiBJbnRlcm5ldG9wdGlvbmVuIC0+IEVpbnN0ZWxsdW5nZW4gZGllIEdyb2Vzc2UKZGVzIE9yZG5lcnMgZmVzdGxlZ2VuLgpBbHNvIHZpZWwgU3Bhc3MgdW5kIG51dHp0IE9wZXJhIQoKTGluZmxhcywgaGF0IEt1aGUgdW5kIGhpbGZ0IG1lbGtlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGlleHBsb3JlciB2cyBuZXRzY2FwZSAoR3JpbW1ib3JuLCAyNy4gTWFyIDIwMDEsIDEyOjEzOjE5KToKfiMhIHJuPUxpbmZsYXMgcnQ9OTg1Njg3MjEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4NTYwNDA3MApIbW0sIGVpZ2VudGxpY2ggYmluIGljaCB2b20gYWt0dWVsbGVuIGtvbnF1ZXJvciB6aWVtbGljaCBiZWVpbmRydWNrdC4gRGFzCmVpbnppZ2Ugd2FzIChiZWkgbWlyIHBlcnNvZW5saWNoKSBkYW1pdCBub2NoIG5pY2h0IGdlaHQgaXN0IGRhcyBPbmxpbmViYW5raW5nLAphbnNvbnN0ZW4gdHV0IGRlciBzaWNoIG5pY2h0IG1laHIgdmllbCBtaXQgTmV0c2NhcGUgYXVmIGRlciBIVE1MLVNlaXRlLgoKVW5kIGphLCBxdCB1bmQga29ucXVlcm9yIGdpYnRzIHN3aXcgYXVjaCBmdWVyIFdpbmRvd3MsIGluc29mZXJuIGlzdCBkYXMgbmljaHQKYWxsenUgb2ZmIHRvcGljLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGlleHBsb3JlciB2cyBuZXRzY2FwZSAoR29sYXMsIDI3LiBNYXIgMjAwMSwgMTI6Mjc6MjUpOgp+IyEgcm49TGluZmxhcyBydD05ODU2ODcyMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg1NjA0MDcwCm1laW5lcyBlcmFjaHRlbnMgbGllZ3QgZGFzIHByb2JsZW0gYXVzc2VyZGVtIGRhcmFuLCBkYXNzIG1pY2tleXNvZnQgZ2VtZWluc2FtCmdlbnV0enRlIGRhdGVpZW4gaW1tZXIgaW4gZGVuc2VsYmVuIG9yZG5lciBhYmxlZ3QuIHVuZCBkaWVzZXIgd3VyZGUgYmVpCmlyZ2VuZGVpbmVyIGluc3RhbGxhdGlvbiBtYWwgYWxzIGM6XHByb2dyYW1tZVxtaWNyb3NvZnRcZ2VtZWluc2FtZSBkYXRlaWVuXAphbmdlZ2ViZW4uIGRhcyBsYWVzc3Qgc2ljaCBudXIgZHVyY2ggd2lsZGUgcmVnaXN0cnktaGFja2VyZWkgYWVuZGVybiBvZGVyIGV2dGwKbWl0IHR3ZWFrVUkuIG1hY2ggaGFsdCBhbGxlcyBuZXUsIGRhcyBzY2hhZGV0IG5pZS4KCmdvbGFzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzbWItZXhwZXJ0ZW4gdm9yISAoR25vbWUsIDI4LiBNYXIgMjAwMSwgMDE6MDg6MzcpOgpoaSwKCmhhYiBkaXYuIHdpbjk1LWtpc3RlbiBhbiBuZW0gbGludXgtc2VydmVyIHBlciBIVUImVFAgdmVyYnVuZGVuLCBhbiBkZW0Kc2VydmVyIGhhZW5ndCBlaW4gSFAgTGFzZXJKZXQgSUlJLiBtaXR0ZWxzIHNhbWJhIDIuMC42IGlzdCBlciBhbHMKbmV0endlcmtkcnVja2VyIGRlZmluaWVydCB1bmQgdW50ZXIgbGludXggKDIuMi4xNCkgZHJ1Y2t0IGVyIGF1Y2guCgpudXIgd2VubiBiZWZlaGxlIHZvbiBhdXNzZXJoYWxiIGtvbW1lbiwgdmVyaGFlbHQgZXIgc2ljaCBtZXJrd3VlcmRpZy4KZWdhbCwgd2VsY2hlcyBkb2t1bWVudCBnZWRydWNrdCB3aXJkLCBlcyBrb21tZW4gZGllIHplaWxlbjoKCk9wZXJhbmQgc3RhY2s6CiAgICAgICAgICAgICAgIEV4ZWN1dGlvbiBzdGFjazoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVpbnRlcnBfZXhpdCAgIC5ydW5leGVjMiAgLS1ub3N0cmluZ3ZhbC0tCgppbiBleGFrdCBkaWVzZXIgYW5vcmRudW5nLgp3ZWlzcyBqbWQgd2VpdGVyPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzbWItZXhwZXJ0ZW4gdm9yISAoVHJveSwgMjguIE1hciAyMDAxLCAwODozOTo1MSk6Cn4jISBybj1Hbm9tZSBydD05ODU3MzQ1MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg1NzM0NTE3CkRlciBPdXRwdXQgc2llaHQgc28gYXVzLCBhbHMga2FlbWUgZXIgdm9uIGdob3N0c2NyaXB0LiBJc3QgRGVpbiBEcnVja2VyCm5pY2h0IFBvc3RTY3JpcHQtZmFlaGlnIGJ6dy4gbnV0enQgZXIgSFAtUENMIChQcmludGVyIENvbW11bmljYXRpb24KTGFuZ3VhZ2UpPyBEYW5uIG11c3N0IER1IHZpZWxsZWljaHQgbWFsIERlaW5lbiBEcnVja2VyZmlsdGVyIGFuc2NoYXVlbgooL2V0Yy9wcmludGNhcCksIG1pdCB3ZWxjaGVtIEtvbXBhdGliaWxpdGFldHN0cmVpYmVyIHdpcmQgZ2hvc3RzY3JpcHQKZG9ydCBhdWZnZXJ1ZmVuIChzdGVodCBldnRsIGluIGVpbmVyIGFwc2ZpbHRlci5jb25mLURhdGVpIGlyZ2VuZHdvIHVudGVyCi92YXIpPwoKQW5kZXJlIE1vZWdsaWNoa2VpdDogV2luZG9vZiBoYXQgamEgZWluZW4gRHJ1Y2tlcnRyZWliZXIgaW5zdGFsbGllcnQKKHZlcm11dGxpY2ggZnVlciBlYmVuIGplbmVuIEhQIExhc2VySmV0IElJSSkuIERhcyBiZWRldXRldCwgZGFzcyBXaW5kb29mIGRlbQpEcnVja2VyIGRpZSBEYXRlbiBhdWNoIHNjaG9uIGhhZXBwY2hlbndlaXNlIGxpZWZlcnQuIERhcyB3aWVkZXJ1bSBoZWlzc3QsCmRhc3Mgd2VkZXIgU2FtYmEgbm9jaCBMaW51eCBXRUlURVJFIEZpbHRlciBhdWYgZGllc2UgRGF0ZW4gYW53ZW5kZW4gZHVlcmZlbi4KRGFzIGtsYXBwdCBiZWkgYXBzZmlsdGVyIHouIEIuIG1pdCBscHIgLVBSQVcsIGFsc28gZGVtIERydWNrZXIgUkFXLgpXZW5uIER1IGRlbiB1ZWJlciBTYW1iYSBmcmVpZ2lic3QsIGtvZW5udHMgZWhlciBrbGFwcGVuLiBEaWVzZSBPcHRpb24gZ2lsdAphdWNoLCBmYWxscyBkZXIgRHJ1Y2tlciBQb3N0c2NyaXB0IHZlcnN0ZWh0LiBHZWdlYmVuZW5mYWxscyBpc3QgZGFzIFJBVwprbGVpbmdlc2NocmllYmVuLiBTY2hhdSBpbSBad2VpZmVsIG5vY2ggbWFsIGluIGRlciBwcmludGNhcCBuYWNoLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGV4dHVyZW5lZGl0b3IgKFNpbHZhbmEsIDMwLiBNYXIgMjAwMSwgMTA6NDc6NTYpOgpTYWx2ZQoKSWNoIHN1Y2hlIGRyaW5nZW5kIGVpbiBQcm9ncmFtbSwgbWl0IGRlbSBzaWNoIG1vZWdsaWNoc3QgbmFodGxvc2UgVGV4dHVyZW4KZXJzdGVsbGVuIGxhc3Nlbiwgdm9yenVnc3dlaXNlIGF1cyBBdXNzY2huaXR0ZW4gdm9uIFBob3RvcyBvZGVyIGFlaG5saWNoZW0KQmlsZG1hdGVyaWFsLiBNdXNzIGxlaWRlciB1bnRlciBXaW4ySyBsYXVmZW4uIEZyZWUvU2hhcmV3YXJlIGJldm9yenVndCwKZ3VlbnN0aWdlICJQcm9mZXNzaW9uZWxsZSIgUHJvZ3JhbW1lIHR1bnMgYWJlciBhdWNoLgoKUmVwdGlsZSBrZW5uIGljaCwgZmluZCBpY2ggYWJlciBkZXJ6ZWl0IG5pY2h0IHdpZWRlci4gV2VubiBkYSBqZW1hbmQgbmVuIExpbmsKenUgaGF0LCB3YWVyZSBkYXMgYXVjaCBzZWhyIGhpbGZyZWljaC4KClRoYW54IC0gU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIDooKXsgOnw6Jn07OiAoUGFuaWMsICA0LiBBcHIgMjAwMSwgMTE6Mjk6MTQpOgpIZWhlLCBkaWVzZSBrcnlwdGlzY2hlIEZvcmtib21iZSwgZGllIEVsYWluZSBnZXN0ZXJuIGF1ZiBMaW51eCBnZXBvc3RldCBoYXQsCmhhdCBtaXIgamEga2VpbmUgUnVoZSBnZWxhc3Nlbi4uLiBkYSB3YXJlbiBqYSBub2NoIGVpbiBwYWFyLCBkaWUgZGFzIGVya2xhZXJ0CmhhYmVuIHdvbGx0ZW4gZ2VzdGVybiwgZnVlciBkaWUgZWluIGtsZWluZXIgVGlwOiBEZXIgRG9wcGVscHVua3QgaXN0IG51ciBlaW4KRnVua3Rpb25zbmFtZS4uLiBkYWZ1ZXIgbWFsIGZvbyBvZGVyIHNvbnN0d2FzIGVpbnNldHplbiB1bmQgZXMgaXN0IGVpZ2VudGxpY2gKZ2FueiBlaW5mYWNoIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlhYmxvIDIgKFNoYXJpYSwgMjEuIEFwciAyMDAxLCAxNjoxMTo1MSk6CgpIaWhvIHp1c2FtbWVuIQoKU2FndG1hbCBzcGllbHQgZWlnZW50bGljaCBqZW1hbmQgdm9uIGV1Y2ggRGlhYmxvIDIgIGF1ZiBkZW0gVXNFYXN0LVNlcnZlciB1bmQKZG9ydCBuZW4gSEMgLSBDaGFyID8gOikgTWVsZGV0IGV1Y2ggZG9jaCBtYWwgYmVpIEthU2hhcmlhIDopCldhZXIgc3Bhc3NpZyBkYSBtYWwgd2VuIHp1IHRyZWZmZW4gYXVzIE1HIDopCgpHcnVzcyBTaGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWFibG8gMiAoR3JpbW1hbiwgMjEuIEFwciAyMDAxLCAxNjozOToxMCk6Cn4jISBybj1TaGFyaWEgcnQ9OTg3ODYyMzExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4Nzg2MjMxMQpOZWVlIC4uLiBhbHNvIGljaCBzcGllbCBudXIgYXVmbSBFdXJvcGUtU2VydmVyIC4uLiB1bmQgSEMgZWhlciB3ZW5pZyA6KQoKR3JpbU1hbiAtIGlzdCBLb0wtU2hlcmF6IHVzdyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWFibG8gMiAoQW5hY3Jpb24sIDIxLiBBcHIgMjAwMSwgMTc6MTg6MjYpOgp+IyEgcm49R3JpbW1hbiBydD05ODc4NjM5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg3ODYyMzExCkR1IHNwaWVsc3QgSEMgPwoKTGFzcyBlcyAuLi4KCk1laW5lIExWTDMwLUhDLVVTRWFzdC1Tb3JjIGlzdCBsZXR6dGVuIE5vdi9kZWMgKHdlaXNzIG5pY2h0IG1laHIpIHZlcnJhdHp0CndlZ2VuIExhZyAuLi4gaGFiIG51ciBub2NoIGRpZSBtZXNzYWdlIGdlc2VoZW4sICdDb25uZWN0aW9uIEludGVycnVwdGVkJyAuLi4KYWxzIGljaCBtaWNoIHdpZWRlciBlaW5sb2dnZW4gd29sbHRlIGhpZXNzIGVzICdDaGFyIERlYWQnIC4uLi4gbWFjaHQgYXVmIGRpZQpsYW5nZSBzaWNodCBrZWluZW4gU3Bhc3MgbWl0IEhhcmRjb3JlIC4uLiBnbGF1YiBtaXIuCgpBbmFjKiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2JsZW0gaXJnZW5kd2llLi4uIChHcmltbWJvcm4sICA3LiBNYWkgMjAwMSwgMTQ6MjQ6MTcpOgp+IyEgb249Rm9vYmFyIG90PTk4OTIzODE5OCBvZz1zdWNoZS1iaWV0ZQpTdWNoZSBIaWxmZSwgYmlldGUgRGFuay4KCk1laW4gUHJvYmxlbSBpc3QsIGRhc3MgZGVyIEludGVybmV0IEV4cGxvcmVyIDUuNSB1bnRlciBOVCA0LjAgKFNQIDYpIGtlaW5lCkx1c3QgaGF0IGVpbiBDYWJpbmV0LUZpbGUgenUgZmluZGVuLCB3ZWxjaGVzIGVpbiBBcHBsZXQgZW50aGFlbHQuCgpEaWUgSFRNTC1TZWl0ZSBpc3QgZGVua2JhciBwb3BlbGlnIGF1ZmdlYmF1dDoKCjxodG1sPgo8aGVhZD4KPHRpdGxlPndyaXRlRmlsZTwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+CjxoMT53cml0ZUZpbGU8L2gxPgo8YXBwbGV0IGNvZGU9IndyaXRlZmlsZS5jbGFzcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPgpwYXJhbSBuYW1lPSJjYWJiYXNlIiB2YWx1ZT0iZmlsZS5jYWIiPgo8L2FwcGxldD4KPC9ib2R5Pgo8L2h0bWw+CgpCZWZpbmRldCBzaWNoIGRpZSAqLmNsYXNzLURhdGVpIGltIFZlcnplaWNobmlzIHdpcmQgc2llIHByb2JsZW1sb3MgZ2VmdW5kZW4sCndpcmQgc2llIGhpbmdlZ2VuIGdlbG9lc2NodCB1bmQgaXN0IGRhbm4gbnVyIG5vY2ggaW0gKi5jYWItRmlsZSB2b3JoYW5kZW4KbWVsZGV0IGRlciBJRTogImNsYXNzIHdyaXRlZmlsZSBub3QgZm91bmQiIG9kZXIgc28gYWVobmxpY2guCgpJY2ggaGFlbmcnIGpldHp0IHNlaXQgU3R1bmRlbiBhbiBkZW0gUHJvYmxlbSwgdmllbGxlaWNodCBzZWggaWNoIGF1Y2ggZ2FuegplaW5mYWNoIGVpbmVuIG9mZmVuc2ljaHRsaWNoZW4gRmVobGVyIG5pY2h0Li4uCgoKVW5kIG5laW4sIEFsdGVybmF0aXZlbiB3aWUgamFyIHNjaGVpZGVuIGF1cyBkYSBkYXMgKi5jYWItRmlsZSBoaW50ZXJoZXIKc2lnbmllcnQgd2VyZGVuIHNvbGwgdW5kIElFIG51ciBzaWduaWVydGUgY2FicyBha3plcHRpZXJ0LgoKQmVzdGVuIERhbmsgaW0gVm9yYXVzLAoKICAgICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhhYmUgYXVjaCBtYWwgcHJvYmxlbWUgOikgKFJvY2h1cywgIDguIE1haSAyMDAxLCAyMTozNDoxNik6CkFsc28sIGlyZ2VuZHdhcyBoYXQgbWVpbmUgcGFydGl0aW9uc3RhYmVsbGUgZ2VzY2hyZWRkZXJ0LApuYWNoIGRlbSB2ZXJzdWNoIHNpZSBuZXUgenUgc2NocmVpYmVuCmtvbm50ZSBhdWNoIGxpbnV4IHNpZSBuaWNodCBtZWhyIGxlc2VuLi4uCmFiZXIgc2VsdHNhbWVyd2Vpc2Ugdm9uIGRlciBwbGF0dGUgbm9jaCBwcm9ibGVtbG9zIGJvb3RlbiwKLi4uLgpqZW1hbmQgbmUgaWRlZSB3YXMgaWNoIG1hY2hlbiBrYW5uLCB1bSBub2NoIGFuCmRpZSBkYXRlbiB6dSBrb21tZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaGFiZSBhdWNoIG1hbCBwcm9ibGVtZSA6KSAoUGlsZ3JpbSwgIDguIE1haSAyMDAxLCAyMTo1MjoyNSk6Cn4jISBybj1Sb2NodXMgcnQ9OTg5MzUwNDU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4OTM1MDQ1NgpWaWVsZWljaHQgaGVsZmVuIFNwZXppYWxUb29scyBhbGEgU3BpblJpdGUgNSBvZGVyIEVzeSBSZWNvdmVyeSAocHJvKSA1CnZvbiBHUkMgYnp3LiBPbnRyYWsgZGEgd2VpdGVyIC4uLiBbRXN5IC0+IEVhc3ldCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGhhYmUgYXVjaCBtYWwgcHJvYmxlbWUgOikgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAxLCAyMTo1NTo0OSk6Cn4jISBybj1QaWxncmltIHJ0PTk4OTM1MTU0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKSWNoIGhhYiBpaG0gZWluZW4gc2NobnVja2VsaWdlbiwgZnJpc2NoZW4gQm9vdHNla3RvciBnZXNjaGlja3QgdW5kIGdlcmF0ZW4sCmRlbiB6dSBzY2hyZWliZW4gdW5kIGRpZSBwYXJ0aXRpb24gdGFibGUgZGFubiB6dSByZWtvbnN0cnVpZXJlbi4gRGVyIGxlZXJlCkJvb3RzZWt0b3Igc29sbHRlIHNpY2ggYXVmIGRpZSBQbGF0dGUgc2NocmVpYmVuIGxhc3NlbiB3ZW5uIHNpZSBuaWNodCBoaW4gaXN0LAp1bmQgYW5zY2hsaWVzc2VuZCBtYW5pcHVsaWVyYmFyIHNlaW4uIERlbiBNQlIgc2VsYmVyIGthbm4gZXIgZGFubiBtaXQgZWluZW0KImxpbG8iIG5ldSBzY2hyZWliZW4uIEpldHp0IGlzc2VyIHdvaGwgdW50ZXJ3ZWdzIGRhcyB6dSB2ZXJzdWNoZW46ClJvY2h1cyB0ZWlsdCBEaXIgbWl0OiB3dWVuc2NoIG1pciBnbHVlY2ssIHdlbm4gZXMgbGFlbmdlciBkYXVlcnQgaGF0dGUgaWNoClJvY2h1cyB0ZWlsdCBEaXIgbWl0OiBrZWlucyBbMjE6NTFdClJvY2h1cyAgIEkgUyBUICAgSiBFIFQgWiBUICAgTiBJIEMgSCBUICAgTSBFIEggUiAgIEQgQSAhISEKCkRhcyBzY2hvZW5lIGFtIFN1cHBvcnQgaXN0LCBkYXNzIGVzIG5pY2h0IGRpZSBlaWdlbmVuIERhdGVuIHNpbmQgZGllIGluIEdlZmFocgpzaW5kLCBtYW4ga2FubiBhbHNvIG9obmUgUHJvYmxlbWUgZGllIGdld2FndGVzdGVuIElkZWVuIGF1c3Byb2JpZXJlbi4uLiA7LSkKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaGFiZSBhdWNoIG1hbCBwcm9ibGVtZSA6KSAoUGlsZ3JpbSwgIDguIE1haSAyMDAxLCAyMTo1OToxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTg5MzUxNzQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4OTM1MDQ1NgpEYXMgZXJpbm5lcnQgbWljaCBhbiBlaW5lbiBLb2xsZWdlbiwgZGVyIG5hY2ggc3R1bmRlbmxhZ2VuIFJlcGFyYXR1cnZlcnN1Y2hlbgpnYW56IGVybnN0IHVuZCB0cm9ja2VuIGZyYWd0ZSAnSGFzdCBEdSBlaW5lbiBIYW1tZXI/JyA7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGhhYmUgYXVjaCBtYWwgcHJvYmxlbWUgOikgKEdyaW1tYm9ybiwgIDguIE1haSAyMDAxLCAyMjowMzoxNik6Cn4jISBybj1QaWxncmltIHJ0PTk4OTM1MTk1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKTWljaCBoYXQgbWFsIGRlciBCZXJpY2h0IHZvbiBlaW4gcGFhciBBbWlzIGJlZWluZHJ1Y2t0LCBkaWUgZGl2ZXJzZQpDb21wdXRlcmhhcmR3YXJlIGluIGVpbmVuIFN0ZWluYnJ1Y2ggZ2VzY2hsZXBwdCBoYWJlbiB1bmQgc2llIGRvcnQKc3RhbmRyZWNodGxpY2ggZXJzY2hvc3NlbiBoYWJlbi4gTWl0IGFsbGVtIGRyYXVmZ2ViYWxsZXJ0IHdhcyBkYXMgQXJzZW5hbApoZXJnYWIuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogaGFiZSBhdWNoIG1hbCBwcm9ibGVtZSA6KSAoQW5hY3Jpb24sICA4LiBNYWkgMjAwMSwgMjI6MDU6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4OTM1MjE5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKQmVzdGltbXQgbnVyIHdlaWwgamVtYW5kIFdpbmRvb2YgaW5zdGFsbGllcnQgaGF0dGUuCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogaGFiZSBhdWNoIG1hbCBwcm9ibGVtZSA6KSAoR3JpbW1ib3JuLCAgOC4gTWFpIDIwMDEsIDIyOjA3OjAwKToKfiMhIHJuPUFuYWNyaW9uIHJ0PTk4OTM1MjMwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKTmVpbiwgZWhybGljaCBnZXNhZ3QgbmljaHQuIERpZSBoYXR0ZW4gZGEgc28gS29tbWVudGFyZSB3aWUgImRpZSBQRFAxMSBoYXQKbWVociBhdXNnZWhhbHRlbiBhbHMgZGllIGFsdGUgVkFYIiB1bmQgc293YXMuIEljaCBmdWVyY2h0ZSBXaW5kb3dzIHdhciBuaWNodApkYWJlaS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogaGFiZSBhdWNoIG1hbCBwcm9ibGVtZSA6KSAoUGF0cnluLCAgOC4gTWFpIDIwMDEsIDIyOjE0OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD05ODkzNTIxOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTg5MzUwNDU2CmRhIGdhYnMgbWFsIGVpbmVuIGhlcnJsaWNoZW4gZmlsbSB1ZWJlciBkZW4gYXVzYnJ1Y2ggdm9uIGVpbmlnZW4gbGV1dGVuCmF1cyBkZW0gYnVlcm9hbGx0YWcuIGRhIHdhciBlaW5lIGFic29sdXQgZ2VuaWFsZSBzemVuZSBiZWksIHdpZQozIGxldXRlIHZvZWxsaWcgZW50ZmVzc2VsdCBhdWYgZWluZW4gZW50ZnVlaHJ0ZW4gdW5kIHZlcmhhc3N0ZW4ga29waWVyZXIKbG9zZ2VoZW4gOikgYWJzb2x1dCBzZWhlbnN3ZXJ0LCBpY2ggZ2xhdWIgZGFzIGdhbnplIGtpbm8gaGF0IGdlc2NoYXVrZWx0CnZvciBkZW4gbGFjaGVuZGVuIG1hc3Nlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGhhYmUgYXVjaCBtYWwgcHJvYmxlbWUgOikgKE15c3RlcmlvdXMsICA5LiBNYWkgMjAwMSwgMTQ6NDQ6MTIpOgp+IyEgcm49UGF0cnluIHJ0PTk4OTM1Mjg0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKa29ubmktY2hpLXdhLi4KCmRlciBmaWxtIGhpZXNzICJvZmZpY2Ugam9iIiB1bmQgd2FyIHZvbiBkZW0gbWFjaGVyIHZvbiBiZWF2aXMgJiBidXR0aGVhZCAod2llCmhpZXNzIGRlciBkb2NoIGdsZWljaCk/CmtvZXN0bGljaCB3YXIgZXIgd2lya2xpY2gsIHZvciBhbGxlbSB3ZWlsIGRpZSBhbGxlIGluIGVpbmVyCnNvZnR3YXJlZW50d2lja2x1bmdzZmlybWEgc2luZCwgZGllIGRhbm4genVtIHNjaGx1c3MgaW4gZGllIGx1ZnQgZ2VzcHJlbmd0CndpcmQuIG9kZXIgZGVyIGFyYmVpdHNsb3NlIHByb2dyYW1taWVyZXIsIGRlciBwaXp6YSBhdXNsaWVmZXJ0LiBvZGVyIGRlcgp0eXBpc2NoZSBuZXJkLCBkZXIgaW0gc3RhdSBmaWVzZXN0ZW4gZ2V0dG8taGlwaG9wIGltIGF1dG8gYmVpIG9mZmVuZW0gZmVuc3Rlcgpob2VydCB1bmQgc2ljaCB2b3IgYW5nc3QgaW4gZGllIGhvc2VuIHBpc3N0IGFscyBlaW4gc2Nod2FyemVyIGFua29tbXQgdW5kIGlobQplaW4gcGFhciByb3NlbiB2ZXJrYXVmZW4gbW9lY2h0ZS4gKmcqCgpzYXlvbmFyYSwKbVlzdGktU2FuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBoYWJlIGF1Y2ggbWFsIHByb2JsZW1lIDopIChXdXJ6ZWwsIDEwLiBNYWkgMjAwMSwgMTk6MDA6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk4OTM1MjQyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODkzNTA0NTYKcGRwMTEgd2FyIHdlbmlnc3RlbnMgbm9jaCBxdWFsaXRhZXQuIHVuZCB6d2FyIHNjaHdlcmUgcXVhbGl0YWV0LCB3aWUgamVkZXIKd2Vpc3MgZGVyIHNvIGVpbiB0ZWlsIG1hbCB1bWdlem9nZW4gaGF0IDopIHZheCBrb25udGUgbWFuIHNjaG9uIGxlaWNodGVyCnRyYWdlbiwgYmlzIGhpbiB6dXIgbWljcm92YXgsIGRpZSBhdWNoIG5pY2h0IG1laHIgd2FyIGFscyBlaW4gaGV1dGlnZXIgcGMuCgp3dXJ6ZWwgImlmIHlvdSBjYW4gY2FycnkgaXQgYXdheSwgaXQncyBubyBjb21wdXRlciIKCnAucy4gcGRwMTEgc2luZCBoZXV0ZSBub2NoIG9mdCBpbSBlaW5zYXR6Li4uIGplZGVuZmFsbHMgZGllLCBkaWUga2VpbmUKc2Nod2llcmlna2VpdGVuIG1pdCB5MmsgaGF0dGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJlbmEgKEdyaW1tYm9ybiwgMTIuIEp1biAyMDAxLCAxNTo0NzoyNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9OTkyMzUyODc5IHJnPWQud3Vlc3RlCn4jISB0aWQ9OTkyMzUyODc5CkplcHAsIGhpZXIgbm9jaG1hbCBhdXMgZ2VnZWJlbmVtIEFubGFzczogcmVpc2VyZnMgaXN0IG5pY2h0IHNvIHN0YWJpbCB3aWUgbWFuCmRhcyBmdWVyIGVpbiBEYXRlaXN5c3RlbSBnZXJuZSBoYWV0dGUgKGljaCB6dW1pbmRlc3Qgd2lsbCBmdWVyIGtyaXRpc2NoZQpTYWNoZW4ga2VpbmUgZnMgd28gcmVnZWxtYWVzc2lnIGZpeGVzIGZ1ZXIgaW0ga2VybmVsIGF1ZnRhdWNoZW4pLiBJY2ggZW1wZmVobGUKcmVpc2VyZnMgZnVlciBhbGxlcywgd2FzIHdpZWRlcmhlcnN0ZWxsYmFyIGlzdCAoYWxzbyB6LkIuIHJvb3QgcGFydGl0aW9uLCBhYmVyCm5pY2h0IC9ob21lIHdlbm4gbWFuIGtlaW5lIGJhY2t1cHMgaGF0KS4KSmEsIGljaCB3ZWlzcyBkaWUgS29sbGVnZW4gdm9uIFN1U0Ugc2VoZW4gZGFzIGFuZGVycy4gRGFzIGFlbmRlcnQgYWJlciBuaWNodHMKYW4gZGVuIFRhdHNhY2hlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCBiZWhlcnJzY2h0IGRpZXNlIERpc2t1c3Npb24gbGFuZ3NhbSBpbSBTY2hsYWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEJhYm9vbiwgMTUuIEp1biAyMDAxLCAxNTo1ODoyNCk6CkVpZ2VudGxpY2ggYmluIGljaCBqYSBzdG9semVyIChOYWphLCBuYWNoZGVtIGljaCAyNTAgTWFyawpmdWVyIGVpbiBuZXVlcyBOZXR6dGVpbCB1bmQgVGVjaG5pa2VyIGF1c2dlZ2ViZW4gaGFiZSB1bQpoZXJhdXN6dWZpbmRlbiwgZGFzcyBuaWNodCBlaW4genUgc2Nod2FjaGVzIE5ldHp0ZWlsIGZ1ZXIgCnN0YWVuZGlnZSBBYnN0dWVyemUgaW0gR3JhZmlra2FydGVubW9kdXMgdmVyYW50d29ydGxpY2ggaXN0LApzb25kZXJuIGRpZSBQUEMtVHVyYm9rYXJ0ZSBvZmZlbmJhciBkaWUgYXVzc2NobGllc3NsaWNoIGFuIApkaWVzZSBUdXJib2thcnRlIGFuc2NobGllc3NiYXJlIEdyYWZpa2thcnRlIG5pY2h0IG1hZywgbmljaHQKbWVociBnYW56IHNvIHN0b2x6LikgQW1pZ2EtQmVzaXR6ZXIgdW5kIFBDLVZlcndlaWdlcmVyLgpBYmVyIGpldHp0IGlzdCBtaXIgZWluIG5pZWRsaWNoZXIgMjg2ZXIgenVnZWxhdWZlbiB1bmQKaW4gZWluZW0gQW5mYWxsIHZvbiBXYWhuIGhhYmUgaWNoIG1pciB2b3JnZW5vbW1lbiwgZGllCktpc3RlIHdpZWRlciB6dW0gbGF1ZmVuIHp1IGJyaW5nZW4uIExlaWRlciBnaWJ0cyBkYSAKZWluaWdlIGthdW0gbmVubmVuc3dlcnRlIFByb2JsZW1lOgoxKSBNZWluZSBQQy1LZW5udG5pc3NlIChIYXJkd2FyZSB1bmQgU29mdHdhcmUpIHNpbmQgbmFoZSAwLgoyKSBEZXIgUmVjaG5lciBpc3QgbmFja3QuIEtlaW5lcmxlaSBQZXJpcGhlcmllLCBuaWNodG1hbCBOZXR6a2FiZWwuCgpXZWdlbiAxKSBicmFldWNodGUgaWNoIExldXRlIGRpZSBtaXIgVGlwcyBnZWJlbiBrb2VubmVuLCB3b21pdApnZW5hdSBpY2ggZXMgZWlnZW50bGljaCB6dSB0dW4gaGFiIHVuZCB3YXMgbm9ldGlnIGlzdCB1bSBkZW4KUmVjaG5lciB3aWVkZXIgZWluc2F0emZhZWhpZyB6dSBiZWtvbW1lbi4KV2VnZW4gMikgc3VjaGUgaWNoIEhhcmR3YXJlc3BlbmRlbiAoaW5zYmVzb25kZXJlIGVpbmVuCihMZWloLSltb25pdG9yIHVuZCBUYXN0YXR1ci4gV2VyIGFsc28gbm9jaCBlaW5lbiBWR0EtTW9uaXRvcgphbHMgQnJpZWZiZXNjaHdlcmVyIG9kZXIgc28gaGVydW1zdGVoZW4gaGF0OiBJbW1lciBoZXIgZGFtaXQhCihKZWRlbmZhbGxzIGZhbGxzIGVzIHNpY2ggd2lya2xpY2ggdW0gZWluZSBWR0EtR3JhZmlra2FydGUgCmhhbmRlbHQpLiBJbSBCZXJlaWNoIGRlcyBLb2VsbmVyIE9lUE5WIGtvbW0gaWNoIGF1Y2ggZ2VybmUKYWJob2xlbi4gVGFzdGF0dXJhbnNjaGx1c3MgaXN0IHdvaGwgRElOLCBiaW4gbWlyIGFiZXIgbmljaHQgZ2FuegpzaWNoZXIuIAoKQmlzaGVyIGhhYiBpY2ggZm9sZ2VuZGVzIGhlcmF1c2dlZnVuZGVuOgoKLU5ldHp0ZWlsIGlzdCBvay4gWnVtaW5kZXN0IHNwcmluZ3QgYmVpbSBFaW5zY2hhbHRlbiBkZXIgCiBOZXR6dGVpbGx1ZWZ0ZXIgYW4gdW5kIGRpZSBGZXN0cGxhdHRlIGtsYWNrdC4KCi1EaWUgQmlvc2JhY2t1cGJhdHRlcmllIChWYXJ0YSAzL1Y2MFIpIGlzdCBrb3Jyb2RpZXJ0LgogU29sbHRlIGFiZXIga2VpbiBQcm9ibGVtIHNlaW4gZWluZSBuZXVlIGVpbnp1bG9ldGVuLgogKFdlbm4gaWNoIGRlbm4gZWluZW4gTG9ldGtvbGJlbiBoYWV0dGUgOi0pKSAKCi1GZXN0cGxhdHRlIGlzdCBlaW5lIE5FQyBEMzE0MiBtaXQgc2F0dGVuIDQ1IE1CKCEpIFNwZWljaGVycGxhdHoKIChoZXJnZXN0ZWxsdCAxOTkwKS4gSW50ZXJmYWNlIFNUNDEyIChodWg/KS4gU2llIGlzdCBtaXQgendlaSAKIEZsYWNoYmFuZGthYmVsbiBhbiBlaW5lIHNlbmtyZWNodCBhdWYgZGVyIEhhdXB0cGxhdGluZSBzdGVoZW5kZQogUGxhdGluZSAoU291dGhicmlkZ2U/KSBhbmdlc2NobG9zc2VuLiBFaW4gZHJpdHRlcyBLYWJlbCBiYXVtZWx0CiBsb3NlIGhlcnVtLiAoTHVzdGlnZXJ3ZWlzZSB3aXJkIHNpZSB0cm90eiBaaWVnZWxzdGVpbmZvcm1hdCBhbHMKIDMuNSBab2xsLVBsYXR0ZSBnZWZ1ZWhydC4gV2VubiBtYW4gdm9uIExhZW5nZSB1bmQgSG9laGUgYWJzaWVodAogc3RpbW10cyB2aWVsbGVpY2h0LikKCi1TcGVpY2hlciBoYXRzIHp3ZWkgUmllZ2VsIG1pdCBsYW5nZW4gZHVlbm5lbiBCZWluY2hlbiBhbiBlaW5lciBTZWl0ZQogKFNJTU0/KS4gRGllIENoaXBzIGF1ZiBkZW4gUmllZ2VsbiBzYWdlbiAiU2llbWVucyBIWUI1MTEwMDBCWS03MCIKCi1HcmFmaWtrYXJ0ZSBldnRsLiBWR0EuIEplZGVuZmFsbHMgc3RlaHQgYXVmIGVpbmVtIGRlciBDaGlwcyBkaWNrICJWR0EiCiBkcmF1Zi4gS2FubiBpY2ggZGEgYXVjaCBlaW5lbiBTdXBlci1WR0EgTW9uaXRvciBhbnNjaGxpZXNzZW4/CiBBdXNzZXJkZW0gd2Vpc3MgaWNoIG5pY2h0cyBtaXQgZGVtIGJsYXVlbiBEaXAtU2NoYWx0ZXJibG9jayB2b3JuCiBhbSBTbG90YmxlY2ggbmViZW4gZGVyIEJ1Y2hzZSBhbnp1ZmFuZ2VuLiAKCi1NYWluYm9hcmQgdHJhZWd0IGtlaW5lIEF1ZnNjaHJpZnQgYmlzIGF1ZiAiTkVBVC0yODYiCiBBdWYgZWluaWdlbiBDaGlwcyAoQmlvcykgZmluZGV0IHNpY2ggZWluIExhYmVsICIoYykgMTk4OCBBTUktMTEzMSIKCi1DUFUgaXN0IGVpbiBDaGlwIG1pdCBkZXIgQXVmc2NocmlmdCAiTjgwMjg2LTEyIiArICJMMDEwMDMzMiBpKG0pKGMpJzgyJzg1IgogOi0pCgpBdXNzZXJkZW0gaXN0IGVpbiA1IDEvNC1ab2xsIERpc2tldHRlbmxhdWZ3ZXJrIHZvcmhhbmRlbi4KS2FubiBpY2ggc3RhdHRkZXNzZW4gb2RlciB6dXNhZXR6bGljaCBlaW4gMyw1ZXIgTGF1ZndlcmsgYW5zY2hsaWVzc2VuPwpHYWJzIHNvd2FzICJkYW1hbHMiIHNjaG9uPwoKQmFib29uLiAoU2ljaCBvZmZlbmJhciBqZXR6dCBhdWNoIGRlbiBQQy1WaXJ1cyB6dWdlem9nZW4gaGFiZW5kLikgCgpwcy46IFdlbGNoZSBTeXN0ZW12b3JhdXNzZXR6dW5nZW4gYnJhdWNodHMgZWlnZW50bGljaCBmdWVyIFdpbmRvd3MzLjE/CgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChQYXRyeW4sIDE1LiBKdW4gMjAwMSwgMTY6MDM6NTEpOgp+IyEgcm49QmFib29uIHJ0PTk5MjYxMzUwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKaGV5LCBhcHJpbCBpc3Qgdm9yYmVpIDopCmhhc3QgZHUgenUgdmllbCB6ZWl0IG9kZXIgd2FzPyBub3JtYWxlcndlaXNlIGthZW1lIGphIGRlciBzcHJ1Y2g6CiJmdWVycyBtdXNldW0genUgbmV1LCBmdWVycyBhcmJlaXRlbiB6dSBhbHQiLCBhYmVyIGJlaSBkZW0gbXVzZXVtIGJpbgppY2ggbWlyIGdhciBuaWNodCBzbyBzaWNoZXIgOikKd2VubiBkdSBkaWNoIHVtc2NoYXVzdCB3aXJkIGRpciBiZXN0aW1tdCBhdWNoIGplbWFuZCBuZW4gNDg2IG9kZXIgcGVudGl1bQpzY2hlbmtlbiwgd2FzIGR1IGRhIHRyZWlic3QgaXN0IGdsYXR0ZSB6ZWl0dmVyc2Nod2VuZHVuZzoKZXMgc2VpIGRlbm4sIGR1IHN0ZWhzdCBhdWYgZGllc2UgYXJ0IHplaXR2ZXJzY2h3ZW5kdW5nIHVuZCBkZWZpbmllcnN0CmVzIGFscyBkZWluIGhvYmJ5LgoKLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEJhYm9vbiwgMTUuIEp1biAyMDAxLCAxNjoyOToxMyk6Cn4jISBybj1QYXRyeW4gcnQ9OTkyNjEzODMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApFcm5zdGhhZnQgbWl0IGRlciBLaXN0ZSBhcmJlaXRlbiB3aWxsCmljaCBuYXR1ZXJsaWNoIG5pY2h0LiBBYmVyIGZ1ZXIgZWluIEhvYmJ5CmlzdCBzaWUgZG9jaCBnYXIgbmljaHQgc28gc2NobGVjaHQuCktvc3RlbiB0dXQgZXMgKGhvZmZlbnRsaWNoKSB3ZW5pZyBiaXMKbml4IHVuZCBaZWl0ZHJ1Y2sgaGFiIGljaCBhdWNoIGtlaW5lbgooc2llaHQgbWFuIG1hbCB2b24gZGVyIHZvciBzaWNoIGhpbiBrb3Jyb2RpZXJlbmRlbgpCYXR0ZXJpZSBhYi4KQWJlciBlaW4gUGVudGl1bSBtaXQgYXVmZ2VzcGllbHRlbSBRdWFrZQp3YWVociBuYXR1ZXJsaWNoIGF1Y2ggbmljaHQgc2NobGVjaHQuCkhhc3QgZHUgZWluZW4gdWVicmlnPyAgOi0pCgpCYWJvb24uIChBbWlnYS1RdWFrZSBwZXIgRW11bGF0b3IgYXVmIGVpbmVtIDI4NmVyKSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKFNvbG15ciwgMTUuIEp1biAyMDAxLCAxNzo1ODowMSk6Cn4jISBybj1CYWJvb24gcnQ9OTkyNjE1MzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApWZXJsZWd0IGJpdHRlIGVpbmVyIGRlbiBTY2hlaXNzIGhpZXIgbmFjaCAnc2NobWFycm4nLCBqYSA/ISBEYW5rZSEKClNvbCosIHJvdGZsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKFd1cnplbCwgMTUuIEp1biAyMDAxLCAxODo0OTo1Nyk6Cn4jISBybj1Tb2xteXIgcnQ9OTkyNjIwNjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApuZXR0LCB3aWUgbWFuIGVpbmZhY2ggdW5kIGtvc3Rlbmd1ZW5zdGlnIHNlaW5lbiBlbGVrdHJvbmlrc2Nocm90dApsb3N3ZXJkZW4ga2Fubi4uLiBtdXNzIGljaCBtaXIgbWVya2VuIDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChMaW5mbGFzLCAxNS4gSnVuIDIwMDEsIDE5OjMxOjE3KToKfiMhIHJuPUJhYm9vbiBydD05OTI2MTM1MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CkhhaGEhCklzdCBkYXMgbmV1ZXJkaW5ncyBlaW5lIEludmVzdGl0aW9uIHdlcnQ/IEFsdGUgMjg2PyBXZWlzc3QgZHUgZXR3YXMsIHdhcyB3aXIKbmljaHQgd2lzc2VuPwoKTGluZmxhcyBraWNoZXJ0IHVuYmVob2xmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VyIGhpbGZ0IDI4NmVyIHJlYW5pbWllcmVuPyAoQW5hY3Jpb24sIDE1LiBKdW4gMjAwMSwgMTk6MzQ6MzEpOgp+IyEgcm49QmFib29uIHJ0PTk5MjYxMzUwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKQWxzbyBEdSBmaW5kZXN0IGJlc3RpbW10IGF1Y2ggd2VuLCBkZXIgRGlyIG5lbiB2b2xsIGZ1bmt0aW9uc2ZhZWhpZ2VuIDQ4NgpzY2hlbmt0IC4uCgphbmFjKiAtIGthbm4gbmNpaHQgZ2xhdWJlbiwgd2FzIGVyIGRhIGxpZXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXMgbGFlc3N0IG1pciBrZWluZSBSdWhlLi4uIChMaW5mbGFzLCAxNi4gSnVuIDIwMDEsIDIxOjA2OjQxKToKV2FzIG1hY2h0IG1hbiBtaXQgbmVtIGFsdGVuIDI4NmVyPyAKSWNoIGhhYmUgaGllciBzb2xjaGUgSWRlZW46CjEuIE1hbiBtYWNodCBpaG4gYXVmLCBzdGVja3QgZWluZSBTY2hlaWJlIFRvYXN0IHJlaW4gdW5kIHRha3RldCBkZW4gUHJvemVzc29yCnVtIDEwMCBQcm96ZW50IGF1ZiAyIE1IeiBob2NoLiBEYSBkYXMgVGVpbCByaWVzaWcgaXN0LCBoYXQgbWFuIHNvZ2xlaWNoIChvZGVyCm5hY2ggZWluIHBhYXIgU3R1bmRlbikgZWluZSB3dW5kZXJiYXJlIFNjaGVpYmUgVG9hc3QuCjIuIE1hbiBiYXV0IGlobiBhdXNlaW5hbmRlciB1bmQgc2NobGFjaHRldCBkaWUgUmVzdGUgYXVzLiBadW0gQmVpc3BpZWwgZWlnbmV0CnNpY2ggZGVyICJUdXJiby1Lbm9wZiIgaGVydm9ycmFnZW5kIGRhenUsIGRlbiAibmV1ZXJlbiIgUEMgKEFiIFBlbnRpdW0pIHp1CnNjaG11ZWNrZW4gLSBlbnR3ZWRlciBhdXMgTm9zdGFsZ2llIG9kZXIgQW5nZWJlcmVpLgozLiBNYW4gd2lyZnQgZGllIEZlc3RwbGF0dGUgamVtYW5kZW0gYW4gZGVuIEtvcGYsIGJ6dy4gYmF1dCBzaWUgaW4gZWluIEhhdXMKZWluLCBzaWNoIGRhcnVlYmVyIGZyZXVlbmQsIHdhcyBkaWUgQXJjaGFlb2xvZ2VuIGluIDIwMDAgSmFocmVuIHdvaGwgZGF6dQpzYWdlbiB3ZXJkZW4uCjQuIC4uLiA1LiAuLi4gNi4gLi4uCgpMaW5mbGFzLCBiaXR0ZXQgdW0gTWl0aGlsZmUuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXMgbGFlc3N0IG1pciBrZWluZSBSdWhlLi4uIChLYXJpcywgMTcuIEp1biAyMDAxLCAwMDo0MDowMyk6Cn4jISBybj1MaW5mbGFzIHJ0PTk5MjcxODQwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI3MTg0MDEKNC4gTWFuIGJhdXQgZnVlciBzZWluZSBrbGVpbmUgTW9kZWxsZWlzZW5iYWhuIGVpbmUga2xlaW5lIFN0ZXVlcnVuZyBkYW1pdC4KNS4gV2VubiBtYW4ga2VpbmUgTW9kZWxsZWlzZW5iYWhuIGhhdCwgbmVobWUgbWFuIGRpZSBIZWl6dW5nLgo2LiBXZW5uIG1hbiBkYXp1IGtlaW5lIEx1c3QgaGF0LCBzdWNoZSBtYW4gc2ljaCBlaW5lIGJlbGllYmlnZSBBbndlbmR1bmcKICAgZnVlciBpcmdlbmRlaW5lbiA4LWJpdC1Qcm96ZXNzb3IgdW5kIHBvcnRpZXJlIGRpZXNlLiBOZWluLCBKYXZhIGlzdAogICB2aWVsbGVpY2h0IG5pY2h0IGdhbnogZGllIHJpY2h0aWdlIFNwcmFjaGUuCjcuIE1hbiBzdWNoZSBzaWNoIGplbWFuZGVuLCBkZXIgdW5iZWRpbmd0IHg4Ni1Bc3NlbWJsZXIgbGVybmVuIHdpbGwgdW5kIAogICB2ZXJzY2hlbmtlIGRhcyBUZWlsLgo4LiBNYW4gc3RpZnRlIGRhcyBUZWlsIGVpbmVtIE11c2V1bSBmdWVyIG1vZGVybmUgS3Vuc3QgKEt1bnN0Pz8pCjkuIE1hbiBkcnVlY2tlIGRhcyBndXRlIFN0dWVjayBlaW5lbSBVbml0YWV0c3Byb3plc3MuLi4gcHJvZmVzc29yIGluIGRpZSBIYW5kCiAgIG1pdCBkZW0gVmVybWVyaywgZXIgc29sbGUgZXMgZnVlcnMgUHJha3Rpa3VtIHZlcndlbmRlbi4KMTAuTWFuIHBhY2tlIGRpZXNlcyBodWVic2NoZSBncnVlbmUgdGVpbCBpbm5lbmRyaW4gaW4gZWluZW4gQmlsZGVycmFobWVuIHVuZAogICBoYWVuZ2UgZXMgYW4gZGllIFdhbmQuIEJlc29uZGVycyBzdHJvbXNwYXJlbmQuCgpSZWljaHQgZGFzIGVyc3RtYWw/CgpHZW5lcmFlbGNoZW4gS2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2VyIGhpbGZ0IDI4NmVyIHJlYW5pbWllcmVuPyAoQXBzdSwgMTcuIEp1biAyMDAxLCAxODo1OTozNyk6Cn4jISBybj1MaW5mbGFzIHJ0PTk5MjYyNjI3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKU29sbHRlc3QgRHUgZGVuIG5pY2h0IHp1bSBsYXVmZW4gYnJpbmdlbiwga2FubnN0IER1IGRlbiBpbW1lciBub2NoIGFscwpUdWVyc3RvcHBlciBiZW51dHplbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKE9ya3RvZXRlciwgMTcuIEp1biAyMDAxLCAxOTowODowOCk6Cn4jISBybj1BcHN1IHJ0PTk5Mjc5NzE3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKQWxzbywgd2VubiBkdSBlaCBzY2hvbiBlaW4gbG9rYWxlcyBOZXR6d2VyayBoYXN0IHVuZCBnZW51ZyBQbGF0eiB1bmQgc293aXNvCnNjaG9uIGltbWVyIG5vY2ggZWluZW0gTXVkZGVyIG1laHIgZWluZW4gIkFyYmVpdHNwbGF0eiIgenVyIFZlcmZ1ZWd1bmcgc3RlbGxlbgp3b2xsdGVzdC4uLiBkYW5uIGR1ZXJmdGUgZGVyIDI4NmVyIGFscyBUZXJtaW5hbCBkb2NoIHZvZWxsaWcgYXVzcmVpY2hlbi4uLgoKT3JrVCBtYWcgaW50ZWxsaWdlbnRlIFNjaHJlaWJtYXNjaGllbmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VyIGhpbGZ0IDI4NmVyIHJlYW5pbWllcmVuPyAoVGFuZ2FsdXIsIDE4LiBKdW4gMjAwMSwgMDk6MjQ6MTQpOgp+IyEgcm49QmFib29uIHJ0PTk5MjYxMzUwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKRWluIHdlbmlnIHNwYWV0IGRhcyBWb3JoYWJlbi4uLgoKWnUgQW1pZ2EgWmVpdGVuIHdhZXJlIGRlciAyODZlciBpbW1lcmhpbiB2ZXJnbGVpY2hiYXIgZ2V3ZXNlbi4KTGF1dCBkZXIgQW5nYWJlIGF1ZiBkZXIgMjg2ZXIgQ1BVIGx1ZnQgZGllIGltbWVyaGluIG1pdCAxMiBNSHoKYWxzbyBzb2dhciBlaW4ga2xlaW4gd2VuaWcgc2NobmVsbGVyIGFscyBkZXIgQW1pZ2EuIERlciBBdWZ3YW5kCmRhcyBTY2hhZXR6Y2hlbiB6dSByZWFrdGl2aWVyZW4gbG9obnQgc2ljaCB3b2hsIGthdW0uIApXaW4gMy4xIGxhdWZ0IG9iZW5kcmVpbiBlcnN0IGFiIDM4NmVyIHNvd2VpdCBpY2ggbWljaCBkYXJhbiBub2NoIAplcmlubmVyZS4gRXJuc3RoYWZ0IGlyZ2VuZGV0d2FzIGRhbWl0IHp1IG1hY2hlbiBpc3Qgc28gZ3V0IHdpZSAKdW5tb2VnbGljaC4KCkZhbGxzIG1hbiBlaW4gcHJlaXN3ZXJ0ZXMgVGVybWluYWwgaGFiZW4gd2lsbCBzb2xsdGUgbWFuIHNpY2ggbWFsIGF1ZgpUcm9lZGVsLSBvZGVyIENvbXB1dGVyIEZsb2htYWVya3RlbiB1bXNjaGF1ZW4sIGRhIGthbm4gbWFuIG1laXN0ZW5zCjQ4NmVyIG9kZXIgYmVzc2VyIG1pdCBiaXNzY2VobiBHbHVlY2sgZnVlciBrbGVpbmVzIEdlbGQgYmVrb21tZW4uCgpGYXppdDogZW50d2VkZXIgd2Vnc2NobWVpc3NlbiBvZGVyIHdlbm4gbWFuIFBsYXR6IGhhdCB2ZXJ3YWhyZW4gdW5kCnNwYWV0ZXIgZGVuIEVua2VsbiBtYWwgemVpZ2VuIHdpZSBBbm5vIERhenVtYWwgZGllIENvbXB1dGVyIGF1cyBnZXNlaGVuCmhhYmVuLgoKUC5TLjogQWxzIHVlYmVyemV1Z3RlciBBdGFyaWFuZXIgaGV1dGUgYXVjaCB6dSA5OSUgbW9kZXJuZSBQQ3MgbnV0emVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChBbm9yaXMsIDE4LiBKdW4gMjAwMSwgMjE6NDU6MjIpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9OTkyODQ5MDU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApXaW4gMy54IGFiIDM4NiBzZWhlIGljaCBhdWNoIHNvLiBKZWRvY2ggaGFiZSBpY2ggdm9yIGt1cnplbSBlaW5lIERpc2sKZ2VmdW5kZW4sIG1pdCBXaW4gMi54IC4uLgoKV2VubiBkYSBkcmFuIHdlciBpbnRlcmVzc2UgaGFldHRlPyBEZW5rZSB3YWVyZSBzaWNoZXJsaWNoIGludGVyc3NhbnQsCmxlaWRlciBiaW4gaWNoIHNlbGJlciBub2NoIG5pY2h0IHp1bSB0ZXN0ZW4gZ2Vrb21tZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChHcmltbWJvcm4sIDE4LiBKdW4gMjAwMSwgMjE6NDg6MzIpOgp+IyEgcm49QW5vcmlzIHJ0PTk5Mjg5MzUyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKVW5kIER1IGhvZmZzdCBkYXNzIGRpZSBGbG9wcGllcyBuYWNoIGRlciBaZWl0IG5vY2ggdm9sbHN0YWVuZGlnIGxlc2JhciBzaW5kPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IGhhdCBpbnNnZXNhbXQgdWVibGUgRXJmYWhydW5nZW4gbWl0IEZsb3BwaWVzIGdlbWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEFub3JpcywgMTguIEp1biAyMDAxLCAyMTo1NDoxNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTkyODkzNzEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApPayBvayBzb3JyeSBpY2ggaGFicyBuaWNodCBhdWYgRmxvcHB5IGdla3JpZWd0LCBpY2ggaGFiIGRhcyBnYW56ZSBwZXIKRW1haWwgZXJoYWx0ZW4gdW5kIGRhc3MgaXMgaXJnZW5kd2llIGVpbiAuZXhlIGRhc3Mgc2ljaCBhdWYgZWluZSBEaXNrCmVudHBhY2t0IHVuZCB2b24gZGllc2VyIERpc2sgc29sbHRlIG1hbiBkYXMgZ2FuemUgaW5zdGFsbGllcmVuCmtvZW5uZW4gLi4gb2RlciBzbyB3YXMgaW4gZGVyIEFydCAuLiA7KQoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKFRla3R1a28sIDE4LiBKdW4gMjAwMSwgMjE6NTY6NTkpOgp+IyEgcm49QW5vcmlzIHJ0PTk5Mjg5NDA1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKV2lyZCBkZXIgVmlydXMgZ2xlaWNoIG1pdGluc3RhbGxpZXJ0IG9kZXIgbXVzcyBtYW4gZGVuIGV4dHJhIHJ1bnRlcmxhZGVuIDopCldpZSBvZnQgc3R1ZXJ6dCBlcyBpbiBkZXIgU3R1bmRlIGFiPyBrYW5zdCBkdSBlcyBtaXIgbWFsIHNjaGlja2VuIGF1ZiBFbWFpbD8KOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEFub3JpcywgMTguIEp1biAyMDAxLCAyMTo1ODo1OCk6Cn4jISBybj1UZWt0dWtvIHJ0PTk5Mjg5NDIxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKSGFicyBtYWwgaW4gQmV0cmllYiBnZXNlaGVuIGFiZXIgYWJnZXN0dWVyenQgaXMgZXMgZ2xhdWIgaWNoIGluIGRlbiAyCk1pbnV0ZW4gbmljaHQgOykgVW5kIHdhcyBrdWVtbWVydHMgd2VubiBzIG4gVmlydXMgaXN0PyBNYWNoc3QgZHUgamEKbmVkIGF1ZiBkZWluZXIgdWx0aW1hdGl2ZW4gTWFzY2hpbmUgOykKCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChUZWt0dWtvLCAxOC4gSnVuIDIwMDEsIDIyOjAwOjI5KToKfiMhIHJuPUFub3JpcyBydD05OTI4OTQzMzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0ClN0aW1tdCwgaGFiIGphIG5vY2ggbmVuIGFsdGVuIFJlY2huZXIsIGFsbGVyZGluZ3MgbXVlc3N0IGljaCBlcnN0IG5lbiBNb25pdG9yCnN1Y2hlbi4gU2NoaWNrc3QgZHVzIG1pciBtYWw/IDopCkhvZmZlIG51ciBtZWluIGFsdGVyIFJlY2huZXIgaXN0IG5pY2h0IHp1c2NobmVsbCBkYWZ1ZXIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2VyIGhpbGZ0IDI4NmVyIHJlYW5pbWllcmVuPyAoUGlsZ3JpbSwgMTguIEp1biAyMDAxLCAyMzozNDozMCk6Cn4jISBybj1UYW5nYWx1ciBydD05OTI4NDkwNTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0Cj4gV2luIDMuMSBsYXVmdCBvYmVuZHJlaW4gZXJzdCBhYiAzODZlciBzb3dlaXQgaWNoIG1pY2ggZGFyYW4gbm9jaCAKPiBlcmlubmVyZS4gRXJuc3RoYWZ0IGlyZ2VuZGV0d2FzIGRhbWl0IHp1IG1hY2hlbiBpc3Qgc28gZ3V0IHdpZSAKPiB1bm1vZWdsaWNoLgpXaWVzbyBXaW4gMy4xMT8gQWxzbyBpY2ggaGFiIGhpZXIgbm9jaCBuZW4gWmVuaXRoIE9FTSBXaW5kb3dzIDIuMTEgKGphLAp6d2VpLmVsZiksCmRhc3MgbGFldWZ0IGR1cmNoYXVzIGF1ZiBuZW0gMjg2ZXIgKGRlbmtlIGljaCAtIGJpbiBuaWNodCBzaWNoZXIsIGJyYXVjaHQgRE9TCjMuMQpvZGVyIGhvZWhlcikgLi4uLgoKUGlsZ3JpbSMKUFMuOiBJY2ggZ2xhdWIsIGlyZ2VuZHdvIG11c3Mgbm9jaCBuZW4gV2luZG93cyAxIHNlaW4sIGJpbiBhYmVyIG5pY2h0IHNpY2hlcgouLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChQaWxncmltLCAxOC4gSnVuIDIwMDEsIDIzOjM1OjUzKToKfiMhIHJuPUFub3JpcyBydD05OTI4OTM1MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0Cj4gSmVkb2NoIGhhYmUgaWNoIHZvciBrdXJ6ZW0gZWluZSBEaXNrCj4gZ2VmdW5kZW4sIG1pdCBXaW4gMi54IC4uLgpVcHMsIER1IGF1Y2ggLi4uIFNhbW1wbGVyIHVuZCBKYWVnZXIgbGFzc2VuIGhhbHQgbml4IHVta29tbWVuIDstKQoKUGlsZ3JpbQooaGF0IGdlcmFnZSBlcnN0IDEwMCBEaXNrZXR0ZW4gbWl0IFNoYXJlV2FyZSBhdXMgZGVuIEphaHJlbiA4Ni04OSBlbnRzb3JndCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2VyIGhpbGZ0IDI4NmVyIHJlYW5pbWllcmVuPyAoU2FtdHBmb3RlLCAxOS4gSnVuIDIwMDEsIDAwOjM4OjIwKToKfiMhIHJuPVRhbmdhbHVyIHJ0PTk5Mjg0OTA1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTI2MTM1MDQKSG0gZXMgcmVpY2h0IHdlbm4gbWFuIGVpbiBNaW5peCByYXVmdHV0IHVuZCBkYW5uIGRhcyBUZWlsIGFscyBUZXJtaW5hbCBmdWVyCmRpdmVyc2UgU2FjaGVuIGJlbnV0enQuLi4gZXMgZ2lidCBnbGF1YiBpY2ggc29nYXIgZWluIFgtV2luZG93cyBmdWVyIE1pbml4IHVuZApkYW5uIGhhdCBtYW4gZWggKG1pdCBuZW4gMi4gJ3JpY2h0aWdlbicgUmVjaG5lcikgZWluIG5ldHRlcyBncmFmaXNjaGVzClRlcm1pbmFsLgoKcGZvdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEFwc3UsIDE5LiBKdW4gMjAwMSwgMTI6MDQ6NDgpOgp+IyEgcm49VGVrdHVrbyBydD05OTI4OTQyMTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CldpbiAyLnggaGF0IHNvIHdlbmlnIHp1IGJpZXRlbiwgZGFzcyBzaWNoIGVpbiBWaXJ1cyB2b24gRWhyZSBzY2hhZW10LCBzb3dhcyB6dQppbmZpemllcmVuIDstKQoKQXBzdSwgaGF0IGRhcyB6ZXVjaCBhdWNoIG1hbCBnZXNlaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChTb2xteXIsIDE5LiBKdW4gMjAwMSwgMTI6MDY6MjcpOgp+IyEgcm49QXBzdSBydD05OTI5NDUwODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CldpbmRvd3MgMy4xMSBsaWVmIHVlYnJpZ2VuZHMgYXVjaCBhdWYgbWVpbmVtIDI4NiBtaXQgMTYgTUh6ISBEYXMgc2Nob2VuZQphbiBkZW4gYWx0ZW4gS2lzdGVuIHdhciBhYmVyIGRvY2ggbWl0IEFic3RhbmQgZGVyIFR1cmJva25vcGYhIDopIEVpbmZhY2gKbWFsIHBlciBLbm9wZmRydWNrIFN5c3RlbWxlaXN0dW5nIHZlcmRvcHBlbG4uLi4KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEZvb2JhciwgMTkuIEp1biAyMDAxLCAxMjowOToyMyk6Cn4jISBybj1Tb2xteXIgcnQ9OTkyOTQ1MTg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApEZW4ga29lbm50ZSBhbSBNRy1SZWNobmVyIGF1Y2ggbWFsIGplbWFuZCBkcnVlY2tlbiBdOm8pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKEdyaW1tYm9ybiwgMTkuIEp1biAyMDAxLCAxMzozMDo1Nik6Cn4jISBybj1Tb2xteXIgcnQ9OTkyOTQ1MTg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApEYXMgaGFsdGUgaWNoIGZ1ZXIgZWluZSBMZWdlbmRlLiBXaW5kb3dzIDMuMTEgbGllZiBlcnN0IGFiIDM4NmVyIFByb3plc3NvcmVuLgpEdSBnbGF1YnN0IG1pciBuaWNodD8gRGFzIEludGVybmV0IGx1ZWd0IG5pZToKaHR0cDovL3d3dy56ZG5ldC5jb20vcGNtYWcvcGNsYWJzL3NvbHV0aW9uL29lMTUyMWIuaHRtCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKFZhbmlyLCAxOS4gSnVuIDIwMDEsIDIxOjUwOjA3KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTI5NTAyNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CgpXaW5kb3dzIDMuMCBmdW5rdGlvbmllcnQgYXVmIGRlbiBhbHRlbiBLaXN0ZW4uIEVpbiBCZWthbm50ZXIgaGF0IGF1ZiBzbyBlaW5lcgpLaXN0ZSBkYW1hbHMgQ29yZWwgRHJhdyBsYXVmZW4gbGFzc2VuLiBGcmFndCBtaWNoIGFiZXIgamV0enQgbmljaHQgd2VsY2hlClZlcnNpb24gZGFzIHZvbiBDb3JlbCB3YXIuCgpWYW5pci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiB3ZXIgaGlsZnQgMjg2ZXIgcmVhbmltaWVyZW4/IChHcmltbWJvcm4sIDE5LiBKdW4gMjAwMSwgMjE6NTM6MDgpOgp+IyEgcm49VmFuaXIgcnQ9OTkyOTgwMjA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjYxMzUwNApVbmQgaW53aWV3ZWl0IGdsYXVic3QgRHUgbWlyIGRhbWl0IHp1IHdpZGVyc3ByZWNoZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm9laG0gKFJvbGFuZCwgMTkuIEp1biAyMDAxLCAyMzoxMDoyMik6Cn4jISBybj1WYW5pciBydD05OTI5ODAyMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CmpvIGNvcmVsIGF1ZiBhbHRlbiBraXN0ZW4gLi4uIHVoYSAKaWNoIGVyaW5uZXJlIG1pY2ggZGEgaW1tZXIgbm9jaCBhbiBkaWVzZXMgbHVzdGlnZSBnZXJhZXVzY2ggCgpra2tra3JycnJycnJyciByb2VlZWVlZWVlZWhyIGtuYWNrIGtycnJycnJycnJycnIKCnVuZCBhbGxlcyBoYWVuZ3QgdW5kIHN0b3R0ZXJ0Cgo6KSB2b20gbWlyIDopIApvZWhtIFJvbGFuZCAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogb2VobSAoQW5vcmlzLCAyMy4gSnVuIDIwMDEsIDEwOjA1OjAwKToKfiMhIHJuPVJvbGFuZCBydD05OTI5ODUwMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0CkhQIFZlY3RyYSBSUzIwLCBkYXMgd2FyIG4gMzg2IG1pdCAyMCEgTWh6LiBVZWJyaWdlbnMgbWVpbiBlcnN0ZXIgQ29tcGkgLi4uCldpbmRvd3MgMy4xMSBsaWVmIHVuZCBkYXMgbWl0IDJNQiBSYW0gb2J3b2hsIDNNQiBhbHMgbWluaW11bSBhbmdlZ2ViZW4gd2FyZW4uCgpEYXMgQ29yZWwga29ubnRlIG1hbiBpbnN0YWxsaWVyZW4gdW5kIGVzIHNvZ2FyIHN0YXJ0ZW4sIGVyIGhhdHRlIGRhZnVlciBhYmVyCm1laHIgYWxzIGVpbmUgU3R1bmRlIHp1bSBBdXNsYWdlcm4gLi4gKmZyZXVkZSBoZXJzY2h0KiBpY2ggbWFnIG1pY2ggbm9jaCBhbgpkZW4gR3JpbGxhYmVuZCB6d2lzY2hlbiBzdGFydGVuIHVuZCBnZXN0YXJ0ZXQgZXJpbm5lcm4gOykKCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWV2aWVsIFBvd2VyIGJyYXVjaHQgZWluIFJlY2huZXI/IChPYmVybW90eiwgMjguIEp1biAyMDAxLCAxNzoyNDoxMCk6CkhhbGxvLAoKaWNoIHdlaXNzIG5pY2h0IHdhcyBtaWNoIGdlcml0dGVuIGhhdCBvZGVyIHJlaXRlbiB3aXJkLCBhYmVyIGljaCB3aWxsIGVpbmVuClJlY2huZXIgbWl0IEFNRCBBdGhsb24gMSwzMyBHSHosIDI1Nk1CLTUxMk1CIFJBTSB1bmQgZWluZXIgR0ZvcmNlIDMgR3JhZmlrLQprYXJ0ZS4gRWluIERWRC1MYXVmd2VyaywgQ0QtQnJlbm5lciwgMiAxOEdCLUZlc3RwbGF0dGVuLCBTb3VuZC0sIElTRE4tIHVuZApOZXR6d2Vya2thcnRlIHNpbmQgZGFubiBhdWNoIGRyaW4uCgpOdW4gbWVpbmUgRnJhZ2U6IFdlciBzb2xsIGRhcyBiZXphaGxlbj8gQWVobSwgbmVpbi4gV2lldmllbCBMZWlzdHVuZyBtdXNzCmRhcyBOZXR6dGVpbCBicmluZ2VuPyBSZWNpaGVuIDM1MFdhdHQgb2RlciBtdXNzIGljaCBhdWYgNDAwLTQ1MFdhdHQgZ2VoZW4/CgpPTSBmcmFndCBzaWNoLCB3aWUgc2NobmVsbCBlciBkYW1pdCBkYW5uIG11ZGRlbiBrYW5uLgoKUFM6IERhIGVzIGphIGFsbGUgZXJ3YXJ0ZW46IERpZSBTcGVuZGVuYWt0aW9uICIoRGVzaWduZXItKUtvbXBvcyBmdWVyCk9iZXJtb3R6IiBsYWV1ZnQgbm9jaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZXZpZWwgUG93ZXIgYnJhdWNodCBlaW4gUmVjaG5lcj8gKEFuYWNyaW9uLCAyOC4gSnVuIDIwMDEsIDE3OjI4OjM5KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTk5Mzc0MTg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTM3NDE4NTAKS2VpbiBEU0wgPwoKYW5hYyogLSBuZXVnaWVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1TIE1lZGlhIFBsYXllciA3LjEgKEZvb2JhciwgMjguIEp1biAyMDAxLCAxNzozNDowOCk6Ck1vaW4uCgpFaWdlbnRsaWNoIHdvbGx0ZSBpY2ggZGVuIFdpbmRvd3MgTWVkaWEgUGxheWVyIDcuMSBkYXp1IGJlbnV0emVuLCBlaW5pZ2UKbmV1ZXJlIEFWSXMgenUgYmV0cmFjaHRlbi4uLgoKTGVpZGVyLCBsZWlkZXIsIGxlaWRlciB6ZWlndCBkaWVzZXIgTWVkaWEgUGxheWVyIGFiZXIga2VpbiBCaWxkIGFuLCBzb25kZXJuCm51ciBUb24uCgpFcyBoYW5kZWx0IHNpY2ggZGFiZWkgdW0gZGllIG5ldWVzdGUgVmVyc2lvbiB1bmQgZGllIEFWSXMgc2luZApkZWZpbml0aXYgYXVjaCBuaWNodCBrYXB1dHQuIEZlaGxlcm1lbGR1bmcgemVpZ3QgZGVyIE1lZGlhIFBsYXllciBhdWNoIG5pY2h0CmFuLi4uCgpIYXQgZWluZXIgZWluZW4gVGlwLCB3b3JhbiBkYXMgbGllZ2VuIGtvZW5udGUgb2RlciBrYW5uIG1pciBlaW4KQXVzd2VpY2hwcm9ncmFtbSBuZW5uZW4sIGRhcyBuZXVlcmUgQVZJcyBhbnplaWdlbiBrYW5uPyBEYWJlaSB3YWVyZSBlcyBlZ2FsIG9iCldpbiBvZGVyIExpbnV4IChYQW5pbSBoYWJlIGljaCBwcm9iaWVydCwgZ2luZyBuaWNodC4uLikuCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUyBNZWRpYSBQbGF5ZXIgNy4xIChBbmFjcmlvbiwgMjguIEp1biAyMDAxLCAxNzozNTo0OCk6Cn4jISBybj1Gb29iYXIgcnQ9OTkzNzQyNDQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5Mzc0MjQ0OApIbW0uCgpTZWl0IGljaCBkZW4gNy4xIGluc3RhbGxpdWVydCBoYWIsIHN0dWVyenQgbWlyIGRlciBNZWRpYVBsYXllciBtYW5jaG1hbCBhYiAuLgpyYXRlIGRyaW5nZW5kIGRhdm9uIGFiLCBkZW4genUgYmVudXR6dGVuIC4uLgoKQWxzbyBkZXIgc3R1ZXJ6dCBzbyBhYiwgZGFzcyB3aW4yayBjcmFzaHQuCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1TIE1lZGlhIFBsYXllciA3LjEgKEFoYWIsIDI4LiBKdW4gMjAwMSwgMTc6MzY6MTcpOgp+IyEgcm49Rm9vYmFyIHJ0PTk5Mzc0MjQ0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTM3NDI0NDgKQWhvaS4KClZpZWxsZWljaHQgYnJhdWNoc3QgRHUgZWluZmFjaCBudXIgbmVuIE1QRUctNC1EZWNvZGVyIG5hY2h6dWluc3RhbGxpZXJlbi4uLgooRGVyIGRhbm4gc3lzdGVtd2VpdCB2ZXJmdWVnYmFyIGlzdC4pCgpFdm5ldHVlbGwga2FubiBzb3dhcyBhYmVyIGF1Y2ggZGVyIFJlYWxwbGF5ZXIuCgpBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1TIE1lZGlhIFBsYXllciA3LjEgKEFuYWNyaW9uLCAyOC4gSnVuIDIwMDEsIDE3OjM2OjE4KToKfiMhIHJuPUZvb2JhciBydD05OTM3NDI0NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkzNzQyNDQ4CkRFSU4gUHJvYmxlbSBrb2VubnRlIGRhcmFuIGxpZWdlbiwgZGFzcyBkZXIgRGl2WC1Db2RlYyB3aWVkZXIgbWl0IGRlbSBPcmlnaW5hbAp2b24gTSQgdWViZXJzY2hyaWViZW4gd3VyZGUKCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNUyBNZWRpYSBQbGF5ZXIgNy4xIChHcmltbWJvcm4sIDI4LiBKdW4gMjAwMSwgMTc6MzY6NDEpOgp+IyEgcm49QW5hY3Jpb24gcnQ9OTkzNzQyNTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5Mzc0MjQ0OAo+IEFsc28gZGVyIHN0dWVyenQgc28gYWIsIGRhc3Mgd2luMmsgY3Jhc2h0LgpIbW0sIGljaCBkYWNodGUgZGFzcyBzaWUgZGFzIGJlaSB3aW4yayBlbmRsaWNoIGFiZ2VzdGVsbHQgaGFldHRlbiwgZGFzcyBlaW5lCnVzZXIgYXBwbGljYXRpb24gZGFzIE9TIG1pdCBpbiBkaWUgVGllZmUgcmVpc3N0PwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNUyBNZWRpYSBQbGF5ZXIgNy4xIChBbmFjcmlvbiwgMjguIEp1biAyMDAxLCAxNzozNzozOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTkzNzQyNjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5Mzc0MjQ0OApJY2ggYXVjLiAqc2V1ZnoqIAoKUGFzaXNlcnQgYmVpbSBsYWRlbiBlaW5lcnMgbmV1ZW4gZmlsZXMgd2VubiBlaW5lcyBhYmdlc3BpZWx0IHdpcmQgLi4KYmlsZHNjaGlybSBmcmVlemVkIHVuZCBuaXggZ2VodCBtZWhyIGF1c3NlciBkZXIgcmVzZXQtdGFzdGUKCmFubWFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1TIE1lZGlhIFBsYXllciA3LjEgKFNvbG15ciwgMjguIEp1biAyMDAxLCAxOTowNzo0OCk6Cn4jISBybj1Gb29iYXIgcnQ9OTkzNzQyNDQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5Mzc0MjQ0OApIbW0sIHZpZWxsZWljaHQgbGFldWZ0cyBhdWNoIG1pdCBkZW0gbmV1ZW4gUXVpY2tUaW1lLiBEYXMgbWFnCmljaCB6d2FyIG5pY2h0IHNvLCBhYmVyIGVzIGlzdCByZWNodCB1bWZhbmdyZWljaC4KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHdlciBoaWxmdCAyODZlciByZWFuaW1pZXJlbj8gKFdvb2R5LCAyOS4gSnVuIDIwMDEsIDE2OjA3OjAyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTI5NTAyNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTkyNjEzNTA0Cj4gV2luZG93cyAzLjExIGxpZWYgZXJzdCBhYiAzODZlciBQcm96ZXNzb3Jlbi4KCkljaCBoYWx0ZSBkYXMgV29ydCAibGllZiIgaW4gZGVtIFp1c2FtbWVuaGFuZyBmdWVyIGVpbmUgVWViZXJ0cmVpYnVuZy4KCgpXb29keS4tCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZXZpZWwgUG93ZXIgYnJhdWNodCBlaW4gUmVjaG5lcj8gKEdub21lLCAyOS4gSnVuIDIwMDEsIDE3OjA2OjA1KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTk5Mzc0MTg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTM3NDE4NTAKMzUwIFcgd3VlcmRlIGljaCBhbHMgYXVzcmVpY2hlbmQgYmV0cmFjaHRlbiwgbWl0IDQwMCBXIGJpc3QgZHUgYXVmIGRlcgpzaWNoZXJlbiBzZWl0ZS4gdm9yc2ljaHQgYWJlcjogbmltbSBlaW4gcXVhbGl0YXRpdiBob2Nod2VydGlnZXMgbmV0enRlaWwKbWl0IFBGQyAoYWxzbyBzZWFzb25pYyBvZGVyIHNvKSwgd2VsY2hlciBkaXIgc2F1YmVyZW4gc3Ryb20gb2huZSBwZWFrcwpsaWVmZXJ0LCBzb25zdCBoYXN0IGR1IGRhbWl0IHNwYWV0ZXIgbnVyIGFlcmdlci4gaWNoIHNwcmVjaGUgYXVzCmVyZmFocnVuZy4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVzIGxhZXNzdCBtaXIga2VpbmUgUnVoZS4uLiAoQW15bnRob3IsICAxLiBKdWwgMjAwMSwgMjM6NDA6NDQpOgp+IyEgcm49S2FyaXMgcnQ9OTkyNzMxMjAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5MjcxODQwMQpIaWVyIG5vY2ggZWluIHBhYXI6CgoxMS4gQmVudXR6ZSBpaG4gYWxzIE1lbGtzY2hlbWVsCjEyLiBIYWx0ZSBHb2xkZmlzY2hlIGluIGlobQoxMy4gQmV3YWhyZSBHZWJhZWNrIGluIGlobSBhdWYKMTQuIEJld2FocmUgZGVpbmUgU29ja2VuIGluIGlobSBhdWYKMTUuIFp1ZWNodGUgQmllbmVuIGluIGlobQoxNi4gQmVudXR6ZSBpaG4gYWxzIEFtZWlzZW5mYXJtCjE3LiBCZW51dHplIGlobiBhbHMgQW1laXNlbmZhbGxlCjE4LiBTdGVsbGUgaWhuIHVudGVyIGVpbiB3YWNrZWxuZGVzIFRpc2NoYmVpbgoxOS4gTmltbSBpaG4gYWxzIEJlaGFlbHRlciBmdWVyIEZ1c3NlbG4KMjAuIFNjaGlja2UgaWhuIGVpbmVtIEZlaW5kCgpOb2NoIGplbWFuZCBJZGVlbj8KCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVyYXR1bmcgKE1vcmdvdGgsICAyLiBKdWwgMjAwMSwgMDg6NTU6MTYpOgpIaSwKCmljaCB3aWxsL211c3MgbWlyIGxlaWRlciBuZW4gbmV1ZXMgQm9hcmQgenVsZWdlbi4gRXMgc29sbCBlaW5lbiBBdGhsb24tQwoxLjNHSHogZnJlc3NlbiB1bmQgbWl0IFBDMTMzIFNELVJBTXMgYXVza29tbWVuLgpVRE1BMTAwIHZvbiBQcm9taXNlIG5hdHVlcmxpY2ggb24gQm9hcmQsIFNvdW5kL1ZHQSB3ZW5ucyBnZWh0IG5pY2h0LgpFcG94IHNvbGxlbiBnYW56IGd1dCBzZWluLCBhYmVyIGRpZSBBU1VTZSBzYWhlbiBhdWNoIGdhbnogZ3V0IGF1cy4uLi4KCkhpbGZhYWVlZWVlCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlcmF0dW5nIChPYmVybW90eiwgIDMuIEp1bCAyMDAxLCAxNzoyNToyMSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTk5NDA1NjkxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTQwNTY5MTYKZGllIG1laXNzdGVuIEJvYXJkcyBkYWZ1ZXIgZHVlcmZ0ZW4gZGVuIEtUMTMzQS1DaGlwc2F0eiBiZW51dHplbi4gSXN0IHNjaG5lbGwKdW5kIHN0YWJpbC4gSGF0IG51ciBlaW5lbiBCdWcgaW4gZGVyIFNvdXRoYnJpZGdlIGZ1ZXIgZGVuIGVzIGFiZXIgd29ya2Fyb3VuZHMKbWl0dGxlcndlaWxlIGdpYnQuClZvbiBkZW4gSGVyc3RlbGxlcm4gbWFnIGljaCBwZXJzb2VubGljaCBBc3VzLiBOaWNodCBkaWUgYmlsbGlnc3RlbiBCb2FyZHMsCmFiZXIKQXN1cyBsaWVmZXJ0IHJlY2h0IGd1dCBBcmJlaXQgdW5kIGF1Y2ggZGVyIEJJT1MtU3VwcG9ydCBnZWZhZWxsdCBtaXIuIFdpZQpnZXNhZ3Q6IG1laW5lIHBlcnNvZW5saWNoZSBNZWludW5nLgpWb3IgbmljaHQgYWxsIHp1IGxhbmdlciBaZWl0IHdhciBpbiBkZXIgYyd0IGVpbiBUZXN0IHZvbiBzb2xjaGVuIEJvYXJkcy4gSWNoCnNjaGF1IG1hbCwgb2IgaWNoIG5vY2ggZGllIEF1c2dhYmUgZmluZGUuCgpPTSBoYWVsdCBzY2hvbiBtYWwgc2VpbmUgSGFlbmRlIGZ1ZXIgZGllIEtvbXBvLVNwZW5kZW4gb2ZmZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXJhdHVuZyAoR25vbWUsICAzLiBKdWwgMjAwMSwgMjI6MTU6MjMpOgp+IyEgcm49TW9yZ290aCBydD05OTQwNTY5MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk0MDU2OTE2Cm5pY2h0IHNjaHJlaWVuLCBmcmFnZW4uCmFzdXMgaXN0IHNjaGVpc3NlLCBidHcuIC0+IGthdW0gdWViZXJ0YWt0YmFyIHVuZCByZWxhdGl2IHRldWVyLgoKImVubWljIDhUVFgrIiA6IFNvIEEsIEtUMTMzYSwgYmlzIDEsOSBHSHogYmVpIDEzMyBGU0IsIGJpcyAxLDVHQiBSQU0gZnVlcgogICAgICAgICAgICAgICAgUEMxMzMsIDF4IEFHUCwgNnggUENJLCAxeCBJU0EsIFJBSUQtVURNQTEwMCBmdWVyIDMyMCwtCiAgICAgICAgICAgICAgICBuYXR1ZXJsaWNoIGJlaSBLJk0KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlcmF0dW5nIChUcm95LCAgNC4gSnVsIDIwMDEsIDA4OjQ0OjQ3KToKfiMhIHJuPUdub21lIHJ0PTk5NDE5MTMyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTQwNTY5MTYKPiBhc3VzIGlzdCBzY2hlaXNzZQoKV3VlcmQgaWNoIHNvIG5pY2h0IHVudGVyc2NocmVpYmVuLiBhc3VzIGhhdCBlaW5pZ2UgTWFua29zIHdpZSBzY2hvbiBnZXNhZ3QKKG5pY2h0IHVlYmVydGFrdGJhcikuIEVzIGxhZXVmdCBhYmVyIG1pdCBuYWhlenUgamVkZXIgSGFyZHdhcmUuIE1hbiBtdXNzIGJsb3NzCmF1ZiBkZW4gQ2hpcHNhdHogYWNodGVuLiBEaWUgVklBLVNvdW5kY2hpcHMgb25ib2FyZCwgZXRjLiBzaW5kIGVyc3QgYWIKZGVyIFByb2R1a3Rpb24gRW5kZSAnMDAgenUgdmVyd2VuZGVuLiBMZXV0ZSBoYWJlbiBoaWVyIHNvd29obCBkYXMgZW5taWMtCmFscyBhdWNoIGVudHNwcmVjaGVuZGUgYWJpdC0gb2RlciBlcG94LSBvZGVyIGdpZ2FieXRlLSBCcmV0dCB3aWVkZXIKZ2V0YXVzY2h0LCB3ZWlsIG1hbCBkZXIgUENJLUJ1cyBydW16aWNrdGUgdW5kIG1hbCBkaWUgWnVtYml0c3UtMjAwMS1IeXBlci0KTWVnYS1LYXJ0ZSBpbiBTbG90IElJIG5pY2h0IGFuc3ByZWNoYmFyIHdhci4gQmVpIEFzdXMtQm9hcmRzIGhhYiBpY2gKc293YXMgbm9jaCBuaWNodCBnZWhvZXJ0LiBEYSBsYWV1ZnRzIGVpbmZhY2guIEJlaSBTY2hpd2kgKG5pY2h0IGthdWZlbiwgbnVyCnNjaGF1ZW4pIHVudGVyIGh0dHA6Ly93d3cuc2NoaXdpLmRlIChQcm9kdWt0ZSkgZmluZGVzdCBEdSBlaW5lIGRldGFpbGxpZXJ0ZQpMaXN0ZSB2b24gbWVocmVyZW4gSGVyc3RlbGxlcm4uIERhYmVpIHN0ZWxsdCBtYW4gZmVzdCwgZGFzcyBkYWZ1ZXIsIGRhc3MgZGEKYXN1cyBkcmF1ZnN0ZWh0LCBkZXIgUHJlaXN1bnRlcnNjaGllZCBzbyBiZWkgMjAgLSAzMCBNYXJrIGxpZWd0LiBXZW5uIER1Cm5hdHVlcmxpY2ggRGVpbmVuIFJlY2huZXIgbGllYmVyIGFscyBIZWl6dW5nIGJldHJlaWJzdCB1bmQgb2huZSBVZWJlcnRha3RlbgpuaWNodCBsZWJlbiBrYW5uc3QsIHNvbGx0ZXN0IER1IGVpbiBhbmRlcmVzIEJyZXR0IHdhZWhsZW4uIEFuc29uc3Rlbgphc3VzIEE3QTI2NiBvZGVyIEE3TTI2Ni4KClRyb3kgLSBoYXQgZWluIEFzdXMtQnJldHQgaW0gUmVjaG5lciwgd2VpbCBiaXNsYW5nIGtlaW4gYW5kZXJlcyBkaWUgNiBLYXJ0ZW4KdW50ZXJzdHVldHp0ZSwgZGllIHNvbnN0IG5vY2ggc28gZGEgc2luZC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZXJhdHVuZyAoQmFib29uLCAgNS4gSnVsIDIwMDEsIDEwOjIwOjI0KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTk5NDE3MzkyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTQwNTY5MTYKRHUgbWVpbnN0IGRlbiBCdWcgYmVpIGRlciBpcmdlbmR3YXMtQiBzb3V0aGJyaWRnZSwgYmVpIGRlbSBkZXIKSURFLUNvbnRyb2xsZXIgdW50ZXIgVm9sbGFzdCBEYXRlbiB0cmFzaHQ/Cldlbm4gamEgaGFiIGljaCBpbiBlaW5lciBkZXIgbGV0enRlbiBDJ3QtQXVzZ2FiZW4gZ2VsZXNlbiwKZGFzIGVzIHp3YXIgd29ya2Fyb3VuZHMgZ2lidCwgZGVyZW4gQnJhdWNoYmFya2VpdCBhYmVyIG5vY2gKbGFlbmdzdCBuaWNodCBiZXdpZXNlbiBpc3QuIERpZSBlaW56aWdlIHNpY2hlcmUgTWV0aG9kZSBpc3QKZGllIE5pY2h0YmVudXR6dW5nIGRlcyBPbmJvYXJkLUlERS4KCkJhYm9vbi4gICAgICAgICAgICAgIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2ZmaWNlIDk3IHVuZCBXaW4ySyAoU2lsdmFuYSwgIDUuIEp1bCAyMDAxLCAxMjo1MToyNSk6CkZvbGdlbmRlcyBQcm9ibGVtOgpBdWYgZWluZW0gUmVjaG5lciBpc3QgV2luMksgbWl0IFNQMiBpbnN0YWxsaWVydC4gTnVuIHNvbGwgYXVmIGRpZXNlbSBSZWNobmVyCmF1Y2ggTVMgT2ZmaWNlIDk3IGluc3RhbGxpZXJ0IHdlcmRlbi4gRGFzIE9mZmljZXBha2V0IHd1cmRlIGFscyBBZG1pbgppbnN0YWxsaWVydCB1bmQgZnVlciBkaWUgR3J1cHBlIEJlbnV0emVyIGZyZWlnZWdlYmVuLiBTUDEgZnVlciBPZmZpY2UgOTcgaXN0CmF1Y2ggZHJhdWYuIE51biBrb21tZW4gYWJlciB6d2VpIFByb2JsZW1lOgoxKSBEYXMgT2ZmaWNlIFNQMiBiZWhhdXRldCwgU1AxIHdhZXJlIG5pY2h0IGRyYXVmLiBTUDEgYmVoYXVwdGV0IGFiZXIgcmljaHRpZwppbnN0YWxsaWVydCB6dSBzZWluLiBXYXQgbnU/CjIpIE9mZmljZSBsYWV1ZnQgendhciBlaWdlbnRsaWNoIGdhbnogYnJhdWNoYmFyLCBhYmVyIGRpZSBSZWNodHNjaHJlaWJwcnVlZnVuZwpmdW5rdGlvbmllcnQgbnVyIG1pdCBBZG1pbmlzdHJhdG9yZW5fUmVjaHRlbi4gTmljaHQgYWJlciBmdWVyIE5vcm1hbGJlbnV0emVyLgpXaWVzbyBkYXMgdW5kIHdpZSBrYW5uIG1hbiBkYXMgYWVuZGVybj8KCktvbW1lbnRhcmUgd2llICJCZXRyaWVic3lzdGVtIHdlY2hzZWxuIiwgImtlaW5lIE0kLVByb2R1a3RlIHZlcndlbmRlbiIsICJ3b3p1CnVlYmVyaGF1cHQgUmVjaHRzY2hyZWlicHJ1ZWZ1bmciLCBldGMgc2luZCBuaWNodCBoaWxmcmVpY2gsIGFsc28gbGFzc3QgZXMKbGllYmVyIGdsZWljaC4gV2luMksgaXN0IGJlcnVmc2JlZGluZ3QgbmVuICJNdXNzIiB1bmQgdm9uIE9mZmljZSBpc3QgbnVyIGRpZQo5N2VyIExpemVueiBkYS4gQWxzbyBrZWluZSBXYWhsLiBKYSwgZXMgbXVzcyBNJCBPZmZpY2Ugc2Vpbi4gOigKClNpbHZhbmEgKGRhbmtiYXIgZnVlciBqZWRlbiBUaXApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2ZmaWNlIDk3IHVuZCBXaW4ySyAoV3VyemVsLCAgNS4gSnVsIDIwMDEsIDEzOjA1OjEwKToKfiMhIHJuPVNpbHZhbmEgcnQ9OTk0MzMwMjg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5NDMzMDI4NQpuYSBndXQsIGRhbm4gZWJlbiBrZWluIHRpcCAibGludXggYmVudXR6ZW4iLgplaW4gYW5kZXJlciB0aXA6IG0kLWhvdGxpbmUgZnJhZ2VuLgoKd2Vpc3MgbmljaHQsIG9iIGR1IGpldHp0IGRhbmtiYXIgc2VpbiBtdXNzdCwgaWNoIGJyYXVjaCBkYXMgbmljaHQgOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPZmZpY2UgOTcgdW5kIFdpbjJLIChBaGFiLCAgNS4gSnVsIDIwMDEsIDE0OjE2OjI5KToKfiMhIHJuPVd1cnplbCBydD05OTQzMzExMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk0MzMwMjg1CkFuZGVyZSBNb2VnbGljaGtlaXQ6IG5pY2h0IE1TLVJlY2h0c2NocmVpYnVuZyBuZWhtZW4sIHdlbm5zIGRlbm4gZGllIG5ldWUKc2VpbiBzb2xsICh3YXMgRHUgamV0enQgbmljaCBkYXp1Z2VzY2hyaWViZW4gaGF0dGVzdCksIHNvbmRlcm4gei5iLiBlaW4KQWRkLU9uIHZvbiBlaW5lbSBGcmVtZGFuYmlldGVyLCBkaWUgZXMgdGVpbHdlaXNlIHNjaG9uIF9zZWhyXyBwcmVpc3dlcnQKcXVhc2kgbmFjaGdld29yZmVuIGdpYnQuCgpGYWxscyBlcyBhYmVyIHdpcmtsaWNoIG51ciBtaXQgTVMtWmV1Z3MgZ2VoZW4gbXVzcywgc2NoYXUgZG9jaCBtYWwgbmFjaCwgb2IKd2lya2xpY2ggX2FsbGVfIE9mZmljZS1Lb21wb25lbnRlbiBmdWVyIEJlbnV0emVyIGZyZWlnZWdlYmVuIHNpbmQuIERpZQpSZWNodHNjaHJlaWJ1bmcgd29obnQgSU1ITyBpbiBhbmRlcmVuIFZlcnplaWNobmlzc2VuIGFscyBkaWUgZWlnZW50bGljaGVuCkV4ZWN1dGFibGVzLiAoei5iLiBpbiA8d2luZG93cy1kaXI+XGFud2VuZHVuZ3NkYXRlblxtaWNyb3NvZnRcb2ZmaWNlIG9kZXIgc28pLgoKQWhvaSwKCkFoYWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPZmZpY2UgOTcgdW5kIFdpbjJLIChHcmltbWJvcm4sICA1LiBKdWwgMjAwMSwgMTQ6MzE6NDApOgp+IyEgcm49QWhhYiBydD05OTQzMzUzODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk0MzMwMjg1CkVzIGdpYnQgendlaSB3ZWl0ZXJlIE1vZWdsaWNoa2VpdGVuOiBFbnR3ZWRlciBXaW5kb3dzOTggZWluc2V0emVuIG9kZXIKT2ZmaWNlMjAwMCAob2RlciBzY2hvbiBYUD8pLiBELmguIHp1ZWluYW5kZXIgcGFzc2VuZGUgTGl6ZW56ZW4gdmVyd2VuZGVuLiAKRGFzIFJ1bXN1Y2hlbiBuYWNoIExvZXN1bmdlbiBpc3QgaW0gWndlaWZlbHNmYWxsIHRldXJlci4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJ1ZVR5cGUtRm9udHMgZnVlciBMYVRlWCAoWm9vaywgIDUuIEp1bCAyMDAxLCAyMDo1NDoxOCk6CkljaCBicmF1Y2hlIGZvbGdlbmRlczogSWNoIGJlbm9ldGlnZSBkaWUgR2FyYW1vbmQtVHJ1ZVR5cGUtRm9udHMKdm9uIFdpbmRvd3MgZnVlciBtZWluIExhVGVYIHVudGVyIEZyZWVCU0QuIEljaCBoYWJlIG1pY2ggZGF6dSAKZW50c2NobG9zc2VuLCBzaWUgdmlhIHR0ZjJwdDEgbmFjaCBQb3N0U2NyaXB0LVR5cGUtMS1TY2hyaWZ0ZW4gCnVtenV3YW5kZWxuLiAoU28gd2llIGluIDEwLjMuMSBkZXIgVGVYLUZBUSB2b24gZGFudGUuZGUgYmVzY2hyaWViZW4pLgoKTnVyIGZ1bnp0IGRhcyBuaWNodCBzbyByaWNodGlnLiBEZXIgeGR2aSB6ZWlndCBkaWUgU2NocmlmdGVuCnJpY2h0aWcgYW4gKG51ciBuaWNodCBkaWUgYm9sZC0gdW5kIGRpZSBpdGFsaWMtVmFyaWFudGUpLCBhYmVyCmRlciBkdmlwcyBtYWNodCBuaXggR2VzY2hlaXRlczsgZW50d2VkZXIgKGF1ZiBkZW0gZWluZW4gUmVjaG5lcikKZWluIGxlZXJlcyBQUy1GaWxlIG9kZXIgd2llIGF1ZiBkZW0gYW5kZXJlbiBuZSBGZWhsZW1lbGR1bmcgCiJTZWNvbmQgbnVtYmVyIG5vdCBmb3VuZCBpbiAxMDI4IFN1YnIgc3RyaW5nIi4gCgpIYXQgZGEgamVtYW5kIG5lIElkZWUsIHdhcyBkYSBmYWxzY2ggZ2VsYXVmZW4gaXN0PyBJY2ggdGlwcGUgYXVmCm5lbiBLb2RpZXJ1bmdzcHJvYmxlbSwgYmVrb21tZSBlcyBhYmVyIG5pY2h0IHp1IGZhc3Nlbi4KCkhhdCBqZW1hbmQgRXJmYWhydW5nIG1pdCBUcnVlVHlwZS1Gb250cyB1bmQgTGFUZVggdW5kIGV2ZW50dWVsbCBuZQpjbGV2ZXJlIFZhcmlhbnRlLCB1bSBkaWUgenUgYmVudXR6ZW4/CgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUcnVlVHlwZS1Gb250cyBmdWVyIExhVGVYIChab29rLCAxMS4gSnVsIDIwMDEsIDIxOjI4OjM2KToKfiMhIHJuPVpvb2sgcnQ9OTk0MzU5MjU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5NDM1OTI1OApJY2ggaGFiIG1pY2ggbnVuIHNvIGJlaG9sZmVuLCBkYXNzIGljaCBkZW4gZHZpcHMgbWl0IGRlciBPcHRpb24gIlYiCmRhenUgYnJpbmdlLCBkaWUgUEstRmlsZXMgYWxzIEJpdG1hcCBpbnMgUG9zdFNjcmlwdC1GaWxlIHp1IHBhY2tlbiwKZGFzIGZ1bnp0IG51bi4gOikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCcm93c2VyIHN0YXJ0ZXQgdW5nZXdvbGx0ZSBTZWl0ZSAoSmFtZXNvbiwgMTcuIEp1bCAyMDAxLCAwMDo1MDoxMCk6CkhhYiBncmFkIGZ1ZXIgYWJlbmRzIGF1ZiBGcmVlbmV0IGludGVybmV0IGJ5IGNhbGwgdW1nZXN0ZWxsdCwgd2VpbCdzIGJpbGxpZ2VyCmlzdC4gU2VpdGRlbSBsYWVkdCBtZWluIEJyb3dzZXIgKE9wZXJhLCBhYmVyIGRpZSBhbmRlcmVuIHdlcmRlbidzIG5pY2h0IGFuZGVycwptYWNoZW4pIGFscyBlcnN0ZSBTZWl0ZSBpbW1lciB3d3cuZnJlZW5ldC5jb20sIGVnYWwgd2FzIGljaCBlaW5nZWIuIFdpZSBtYWNoZW4KZGllIGRhcy4uLj8hIHVuZCB3aWUgc3RlbGwgaWNoJ3MgYWI/IERpZSBTZWl0ZSBpc3QgbmljaHQgYWxzICJIb21lIgplaW5nZXN0ZWxsdC4KCmpBbWVzb24sIGdlbmVydnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcm93c2VyIHN0YXJ0ZXQgdW5nZXdvbGx0ZSBTZWl0ZSAoQ2F0d2VhemxlLCAxNy4gSnVsIDIwMDEsIDA4OjI2OjU0KToKfiMhIHJuPUphbWVzb24gcnQ9OTk1MzIzODEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5NTMyMzgxMApXaW46IHJlZ2VkaXQtPnNlYXJjaC0+d3d3LmZyZWVuZXQuY29tIC0+IHdlZ21hY2hlbiEKVW5peDogZmluZCB+Ly4gLXR5cGUgZiAtZXhlYyBncmVwIHd3dy5mcmVlbmV0LmNvbSBce1x9IFw7IC1wcmludCAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcm93c2VyIHN0YXJ0ZXQgdW5nZXdvbGx0ZSBTZWl0ZSAoTm9ubmUsIDE3LiBKdWwgMjAwMSwgMDk6Mjc6MjEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTk5NTM1MTIxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKV2VubiBkaWUgdm9uIEZyZWVuZXQgc2NobGF1ZXIgc2luZCwga29lbm5lbiBkaWUgZGFzIGF1Y2ggc2VydmVyc2VpdGlnIG1pdAplaW5lbSBQcm94eSBtYWNoZW4sIGRhc3MgRHUgbmFjaCBkZXIgRWlud2FobCBpbW1lciBkaWUgRnJlZW5ldHNlaXRlIGJla29tbXN0LAp1bmQgZGEgbWFjaHN0IER1IGRhbm4gbml4IGdlZ2VuLgpXYXMgdHV0IG1hbiBuaWNodCBhbGxlcyBmdWVyIGVpbiBwYWFyIFBhZ2VoaXRzLi4uCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQnJvd3NlciBzdGFydGV0IHVuZ2V3b2xsdGUgU2VpdGUgKEthcmlzLCAxNy4gSnVsIDIwMDEsIDExOjA1OjIyKToKfiMhIHJuPU5vbm5lIHJ0PTk5NTM1NDg0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKSm8sIGRhIGhhdCBOb25uZSByZWNodC4gU2llIHNpbmQgc2NobGF1ZXIuIApEYXMgaXN0IGVpbmZhY2ggZGllIGRlZmF1bHQtRWluc3RlbGx1bmcsIHdlbm4gRHUgRGljaCBkYQplaW5nZXdhZWhsdCBoYXN0LiBMYWVzdGlnLCBhYmVyIGRhZnVlciBlYmVuIGJpbGxpZ2VyLgoKS2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJyb3dzZXIgc3RhcnRldCB1bmdld29sbHRlIFNlaXRlIChIb3VzZWhvbGRlciwgMTcuIEp1bCAyMDAxLCAxMToxMTo1Myk6Cn4jISBybj1LYXJpcyBydD05OTUzNjA3MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk1MzIzODEwCnppZW1saWNoIHVud2FocnNjaGVpbmxpY2gsIGRhc3MgZnJlZW5ldCBhdWYgZGVpbmVyIHBsYXR0ZSBydW1zY2hyZWlidCB1bmQKaXJnZW5kd28gZGllIGZyZWVuZXQtdXJsIGVpbnRyYWVndCAoenVtaW5kZXN0IHVudGVyIGxpbnV4IHdvIG1hbiBqYSBrZWluZQpzcGV6aWVsbGUgdHJvamFuXmheaF5oXmhlaW53YWhsc29mdHdhcmUgaW5zdGFsbGllcnQpLiBkaWUgbWFjaGVuIGRhc3MgYWxzbwpzaWNoZXIgdWViZXIgZWluZW4gcHJveHksIGRlciBkZW4gZXJzdGVuIGh0dHAtenVncmlmZiBtaXQgaWhyZXIgd2Vic2VpdGUKYmVhbnR3b3J0ZXQuIGRlbiBrYW5uIG1hbiBkYW5uIGV2dGwuIGF1c3RyaWNrc2VuLCBpbmRlbSBtYW4gbmFjaCBkZXIgZWlud2FobApwZXIgcHBwLXN0YXJ0c2tyaXB0IHpiLiBtaXQgd2dldCBlaW5lIGh0dHRwLWFuZnJhZ2Ugc3RhcnRldCB1bmQgZGllIGFudHdvcnQKZGFubiBlaW5mYWNoIHdpZWRlciBsb2VzY2h0LiAKSEggKHNwZWt1bGllcmVuZCkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJvd3NlciBzdGFydGV0IHVuZ2V3b2xsdGUgU2VpdGUgKE1hcmN1cywgMTcuIEp1bCAyMDAxLCAxMToxMzoxOSk6Cn4jISBybj1KYW1lc29uIHJ0PTk5NTMyMzgxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKRGFzIG5lbm50IHNpY2ggJ3RyYW5zcGFyZW50ZXIgcHJveHknIHVuZCBkdSBrYW5uc3QgbmljaHRzIGRhZ2VnZW4gbWFjaGVuLgoKKFNwcmljaCwgYXVjaCBiZWkgZGlyZWt0ZW4gd2VidmVyYmluZHVuZ2VuIHZvbiBkZWluZXIgU2VpdGUgZ2VodCBkYXMgYmVpCmZyZWVuZXQgdWViZXIgZWluZW4gUHJveHksIGRlciBkaXIgYWxzIGVyc3RlIGh0dHAgc2VpdGUgZGllIHd3dy5mcmVlbmV0LmRlClNlaXRlIHJlaW5rbGF0c2NodCkuCgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCcm93c2VyIHN0YXJ0ZXQgdW5nZXdvbGx0ZSBTZWl0ZSAoQmFtYmksIDE3LiBKdWwgMjAwMSwgMTE6MTQ6MjMpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTk1MzYxMTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5NTMyMzgxMApJY2ggYmluIGF1Y2ggZGVyIEF1ZmZhc3N1bmcsIGRhc3MgRnJlZW5ldCBkYXMgdWViZXIgZGVuIFByb3h5IG1hY2h0LiBJY2ggaGF0dGUKZGVuIERpZW5zdCBhdWNoIG1hbCBnZW51dHp0IHVuZCBkZXIgdmVyaGllbHQgc2ljaCBnZW5hdXNvLiBEYXNzIGRpZSBkYXMgdWViZXIKbmUgbmV1ZSBJbnN0YW56IGRlcyBCcm93c2VycyBtYWNoZW4gc29sbGVuIGdsYXViIGljaCBuaWNodCwgZGEgbWFuIGRhbm4gamEgbmllCiJ0YXJnZXQ9X25ldyIga29ycmVrdCBnZWxpZWZlcnQgYmVrb21tZW4gd3VlcmRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyb3dzZXIgc3RhcnRldCB1bmdld29sbHRlIFNlaXRlIChIb3VzZWhvbGRlciwgMTcuIEp1bCAyMDAxLCAxMToxOTowMyk6Cn4jISBybj1KYW1lc29uIHJ0PTk5NTMyMzgxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKZGFubiBzb2xsdGUgZWluIGJlbGllYmlnZXIgd2VienVncmlmZiBwZXIgd2dldCBvZGVyIHNvIGRpcmVrdCBuYWNoIGRlciBlaW53YWhsCmFiaGlsZmUgdmVyc2NoYWZmZW4gPyBtYW4gc2VsYnN0IGtyaWVndCBuaXggZGF2b24gbWl0IHVuZCBkZXIgcHJveHkgZGVua3QgZXIKaGF0IGVpbmVuIHNjaG9uIG1pdCBkZXIgZnJlZW5ldC1zZWl0ZSBiZWdsdWVja3QgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJyb3dzZXIgc3RhcnRldCB1bmdld29sbHRlIFNlaXRlIChDdWNodWxsaW4sIDE3LiBKdWwgMjAwMSwgMTM6MjQ6NDgpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9OTk1MzYxNTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5NTMyMzgxMApJc3QgZGllc2VzIFByb3h5dmVyaGFsdGVuIGluIGRlbiBBR0IgZmVzdGdlaGFsdGVuPwoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQnJvd3NlciBzdGFydGV0IHVuZ2V3b2xsdGUgU2VpdGUgKEthcmlzLCAxNy4gSnVsIDIwMDEsIDEzOjU1OjM4KToKfiMhIHJuPUN1Y2h1bGxpbiBydD05OTUzNjkwODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk1MzIzODEwCkJlaW0gQW5tZWxkZW4gYnp3LiBuYXR1ZXJsaWNoIHZvcmhlciB3aXJkIGRhcyBzY2hvbiBtaXRnZXRlaWx0LgpadW1pbmRlc3Qgd2FycyBiZWkgbWlyIHNvLiBJc3QgYWJlciBhdWNoIHppZW1saWNoIGVnYWwsIG1hbgptdXNzIGphIHdpcmtsaWNoIG51ciAyIEFuZnJhZ2VuIGxvc3NjaGlja2VuLiBBbHNvIGdsZWljaApuYWNoIGRlbSBFaW5nZWJlbiBkZXIgVVJMIGF1ZiBBa3R1YWxzaWVyZW4gZHJ1ZWNrZW4sIApkYW5uIGhhdCBzaWNoIGRlciBGYWxsLiBVbSBHb3R0ZXMgd2lsbGVuLCBpcyBkYXMgd2llZGVyCmllbCBBcmJlaXQuLi4uLgppZWwgQXJiZWl0Li4uLi4KS2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJyb3dzZXIgc3RhcnRldCB1bmdld29sbHRlIFNlaXRlIChKYW1lc29uLCAxNy4gSnVsIDIwMDEsIDE1OjQ1OjI2KToKfiMhIHJuPUthcmlzIHJ0PTk5NTM3MDkzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKam8gZGFzIG1pdCBkZW0gUHJveHkgc2FndCBtaXIgd2FzLCBzbyB3aXJkJ3Mgd29obCBzZWluLiBJY2ggd2VyZCBtaXIgYWxzbyBhdWNoCm1hbCBlaW5lIHBhc3NlbmRlIE1ldGhvZGUgYXVzZGVua2VuLCBkZW4gZXJzdGVuIFJlcXVlc3QgYXV0b21hdGlzaWVydAphdXN6dWZ1ZWhyZW4gKHVudGVyIE5UKS4KVWVicmlnZW5zIHNjaGVpbmVuIGRpZSBSYXR0ZW4gZGEgZ2VuYXUgYXVmenVwYXNzZW4sIG9iIGlocmUgU3RhcnRzZWl0ZSBhdWNoCmtvbXBsZXR0IGdlbGFkZW4gd3VyZGUuIEFiYnJlY2hlbiBuYWNoIGVpbmVtIFRlaWwgZnVlaHJ0IG5hZW1saWNoIGRhenUsIGRhc3MKYmVpbSBuYWVjaHN0ZW4gUmVxdWVzdCBncmFkICp3aWVkZXIqIGlocmUgU2VpdGUgZ2VsYWRlbiB3aXJkLgoKakFtZXNvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnJvd3NlciBzdGFydGV0IHVuZ2V3b2xsdGUgU2VpdGUgKFJvbGFuZCwgMTguIEp1bCAyMDAxLCAxNzowMzoxMSk6Cn4jISBybj1LYXJpcyBydD05OTUzNjA3MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk1MzIzODEwCnRjaGphIGpldHp0IHdpc3NlbiB3aXIgd2llc28gZGllIHNvIGJpbGxpZyBzaW5kLgpsYXNzZW4gc2ljaCBkaWUgaGl0cyBiZXphaGxlbiAuLi4uCnVuZCBkYW1pdCBzaWUgZGllIGJla29tbWVuIC4uLiB3aXJkIG1hbiBnZXp3dW5nZW4gLi4uIG1pbmQuIDEgbWFsIHByb3RhZyBkcmF1Zgp6dSBnZWhlbi4KCmdlbWVpbiA6KAoKUm9sYW5kIGRlbmt0IC4gbyBPIChudXIgZ3V0IGRhcyBpY2ggYmVpIFQtT2ZmbGluZSBiaW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCcm93c2VyIHN0YXJ0ZXQgdW5nZXdvbGx0ZSBTZWl0ZSAoQWhhYiwgMTkuIEp1bCAyMDAxLCAwODozNjoxNSk6Cn4jISBybj1KYW1lc29uIHJ0PTk5NTM3NzUyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTUzMjM4MTAKRHUgaGFzdCB3YXMgdm9uICdPcGVyYScgZ2VtdXJtZWx0LCBkYSBpc3QgZGFzIGJlaSBtaXIgYXVjaCBzbywgZGFzcyBkaWUgClNlaXRlIGVyc3QgZmVydGlnZ2VsYWRlbiBzZWluIG11c3MsIGJldm9yIGVzIHdlaXRlcmdlaHQuIERhcyBzY2hlaW50IGVpbmUKRWlnZW5hcnQgdm9uIE9wZXJhIHp1IHNlaW4sIGRpZSBtYW4gYWJlciB1bWdlaGVuIGthbm4uIER1IGRhcmZzdCBoYWx0IG5pY2h0CmltIHNlbGJlbiBGZW5zdGVyIHZlcnN1Y2hlbiwgZGllIGVpZ2VudGxpY2ggZ2VzdWNodGUgU2VpdGUgenUgZXJyZWljaGVuLgpNYWNoIGRhZnVlciBlaW4gbmV1ZXMgRmVuc3RlciBhdWYsIGluIGRlbSBEdSB3ZWl0ZXJtYWNoc3QsIG5hY2hkZW0gRHUgZGllCmVyc3RlbiBQaXhlbCBkZXIgZnJlZW5ldC1TZWl0ZSBpbSBlcnN0ZW4gRmVuc3RlciBnZXNlaGVuIHVuZCBkYXMgTGFkZW4gCmFiZ2Vicm9jaGVuIGhhc3QuIDstKQoKWnVtaW5kZXN0IGJlaSBtaXIgaGF0IGRhcyBiaXNoZXIgaW1tZXIgZnVua3Rpb25pZXJ0LgoKQWhvaSwKCkFoYWIuCgpQLlMuOiBNaXQgKGRlbiBiZWlkZW4pIGFuZGVyZW4gQnJvd3Nlcm4gdHJpdHQgZGFzIG5pY2h0IGF1Zi4uLiBNYW4ga29lbm50ZQogICAgICBhbHNvIGF1Y2ggbWFsIG1pdCBkZXIgQnJvd3Nlcmtlbm51bmcgZXhwZXJpbWVudGllcmVuLCBkaWUgbWFuIGphIGluIAogICAgICBPcGVyYSB1bXN0ZWxsZW4ga2Fubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJyb3dzZXIgc3RhcnRldCB1bmdld29sbHRlIFNlaXRlIChUZWt0dWtvLCAxOS4gSnVsIDIwMDEsIDIxOjE1OjIyKToKfiMhIHJuPVJvbGFuZCBydD05OTU0Njg1OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk1MzIzODEwCkljaCBnZWggbGllYmVyIGVpbiBwYWFyIG1hbCBhbSB0YWcgYXVmIGlocmUgU2VpdGUgdW5kIHphaGwgZGFmdWVyIHdlbmlnZXIsCndvYmVpIGljaCBhdWNoIG5vY2ggYmVpIFQtb2ZmIGJpbiwgd2VnZW4gRmxhdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS0VOISB5b3UgaGVscCBtZT8gKFNpbHZhbmEsIDIxLiBKdWwgMjAwMSwgMTk6MTM6NTIpOgpTYWx2ZQoKSWNoIGhhYiBkYSBlaW4ga2xlaW5lcyBQcm9ibGVtOiBCZWkgdW5zIGluIGRlciBGaXJtYSB3dXJkZSBudW4gZGVyIERTTApBbnNjaGx1c3MgZW5kbGljaCBnZWxlZ3QgdW5kIGVpbiBSb3V0ZXIgaW5zdGFsbGllcnQsIGRhbWl0IGFsbGUgZ2xlaWNoemVpdGlnCmlucyBOZXR6IGtvZW5uZW4gdW5kIHNvLiBUb2xsIG9kZXI/IFdvIGRhcyBQcm9ibGVtIGlzdD8gR2FueiBlaW5mYWNoOiBEZXIKc29nZW5hbm50ZSBSb3V0ZXIgaXN0IEtFTiEgdm9uIEFWTS4gVW5kIEFWTSBzY2hlaW50IHp1IGdsYXViZW4sIGRhc3MgZGFzCkludGVybmV0IG51ciBhdXMgaHR0cCwgaHR0cHMsIHBvcDMgdW5kIHNtdHAgYmVzdGVodC4gV2lsbCBzYWdlbjogTWFpbCB1bmQgV1dXCmZ1bmt0aW9uaWVyZW4gd3VuZGVyYmFyIHVuZCBiZWVpbmRydWNrZW5kIHNjaG5lbGwsIGFiZXIgZXMgZ2lidCBrZWluIHBpbmcsCmtlaW4gZnRwICghKSwga2VpbiBmaW5nZXIsIGtlaW5lIHRyYWNlcm91dGUgdW5kIG5hdHVlcmxpY2ggYXVjaCBrZWluZSBzc2ggdW5kCmtlaW4gdGVsbmV0LgpOdW4gaGFiIGljaCBtaXIgc2FnZW4gbGFzc2VuLCBkYXNzIGVzIGVpbmVuIFdlZyBnaWJ0LCBLRU4gZG9jaCB6dSBmdHAsIHNzaCB1bmQKdGVsbmV0IHp1IHVlYmVycmVkZW4sIGFiZXIgbmF0dWVybGljaCBpc3QgZGVyIG5pcmdlbmR3byBkb2t1bWVudGllcnQuCkplZGVuZmFsbHMgbmlyZ2VuZHdvLCB3byBpY2gncyBnZWZ1bmRlbiBoYWV0dGUuIEZhbGxzIGplbWFuZCBhbHNvIHdlaXNzLCB3aWUKZGFzIFByb2JsZW0genUgbG9lc2VuIGlzdCwgYml0dGUgaWNoIHVtIE1haWwgLSBpbnMgTXVkIGthbm4gaWNoIGF1cyBlcndhZWhudGVuCkdydWVuZGVuIG51ciB2b24genUgSGF1c2UgYXVzIC0gdW5kIGRhIGJpbiBpY2ggc28gZ3V0IHdpZSBuaWUuIDstLyBNYWlsIG1pdAplcm5zdCBnZW1laW50ZW4gVm9yc2NobGFlZ2VuIGJpdHRlIGFuIHNpbHZhbmFAY3Jvbm9lcnRhbC5kZS4gKE5laW4sIGRpZQpBZHJlc3NlIGlzdCBrZWluIFNjaGVyei4pCgpBY2ggamE6IFVtIGRlbiB1ZWJsaWNoZW4gRmxhbWV3YXJzIHZvcnp1YmV1Z2VuOiBXZWdzY2htZWlzc2VuIHVuZCBuZW4KTGludXgtUm91dGVyIGF1ZnNldHplbiBvZGVyIG5lbiByZWluZW4gSGFyZHdhcmUtUm91dGVyIGthdWZlbiBzaW5kIGtlaW5lCk9wdGlvbmVuISBMaWVndCBsZWlkZXIgbmljaHQgaW4gbWVpbmVyIEVudHNjaGVpZHVuZ3NnZXdhbHQuIDooCgogIFNpbHZhbmEgKEJpcyBhdWYgd2VpdGVyZXMgdm9tIE1HIGFiZ2VzY2huaXR0ZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS0VOISB5b3UgaGVscCBtZT8gKFd1cnplbCwgMjIuIEp1bCAyMDAxLCAyMjo0Mjo0NSk6Cn4jISBybj1TaWx2YW5hIHJ0PTk5NTczNTYzMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTU3MzU2MzIKaGFzdCBkdSBtYWwgYmVpIGF2bSBhbmdlcnVmZW4/IHdhcyBzYWdlbiBkaWUgZGF6dT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktFWURPV04gdW50ZXIgTmV0c2NhcGUgKFJpa3VzLCAxNC4gQXVnIDIwMDEsIDE2OjE4OjMzKToKSGksIGZvbGdlbmRlcyBzb2xsdGUgZWlnZW50bGljaCBiZWltIERydWVja2VuIGVpbmVyIFRhc3RlIGluIGVpbmVtCk5ldHNjYXBlZmVuc3RlciBkZW4gVGFzdGVuY29kZSBsaWVmZXJuLiBVbnRlciBNb3ppbGxhIGdlaHQgZXMgei5CLiwKdW50ZXIgTmV0c2NhcGUgZ2VodCB6dW1pbmRlc3QgZGVyIE1vdXNlZG93bi1FdmVudC4gQW55IGlkZWEgKGVzIG11c3MKZnVlciBOZXRzY2FwZSBnZWhlbi4uLik/CgpEYW5rZSwgUmlrdXMKCgo8aHRtbD4KICA8aGVhZD48dGl0bGU+VGVzdDwvdGl0bGU+CiAgICAKICAgIDxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiPgogICAgICB3aW5kb3cuY2FwdHVyZUV2ZW50cyhFdmVudC5LRVlET1dOIHwgRXZlbnQuTU9VU0VET1dOKTsKICAgICAgd2luZG93Lm9ua2V5ZG93biA9IEF1c2dhYmU7CiAgICAgIHdpbmRvdy5vbm1vdXNlZG93biA9IEF1c2dhYmU7CiAgICAgIHdpbmRvdy5kZWZhdWx0U3RhdHVzPSJUZXN0IjsKCiAgICAgIGZ1bmN0aW9uIEF1c2dhYmUoRXJlaWduaXMpCiAgICAgIHsKICAgICAgYWxlcnQoIlNpZSBoYWJlbiBkaWUgVGFzdGUgbWl0IGRlbSBXZXJ0ICIgKyBFcmVpZ25pcy53aGljaCArICIKZ2VkcnVlY2t0Iik7CiAgICAgIHdpbmRvdy5jYXB0dXJlRXZlbnRzKEV2ZW50LktFWURPV04gfCBFdmVudC5NT1VTRURPV04pOwogICAgICB3aW5kb3cuZGVmYXVsdFN0YXR1cz1FcmVpZ25pcy53aGljaDsKICAgICAgd2luZG93Lm9ua2V5ZG93biA9IEF1c2dhYmU7CiAgICAgIHdpbmRvdy5vbm1vdXNlZG93biA9IEF1c2dhYmU7CiAgICAgIH0KICAgIDwvc2NyaXB0PgogICAgCiAgPC9oZWFkPgogIDxib2R5PgogICAgRGFzIGlzdCBlaW4gVGVzdCEKICA8L2JvZHk+CjwvaHRtbD4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDMuIFNlcCAyMDAxLCAyMzoxNToxMCk6CkVzIHdhciBlaW5tYWwuLi4KClZlcmJpbmR1bmdzYXVmYmF1IHVlYmVyIFQtT25saW5lIChhbmFsb2cgZmxhdCkga2xhcHB0IHdpZSBlcyBzb2xsLCAKbm9ybWFsZSBtb2RlcmF0ZSBVZWJlcnRyYWd1bmdzcmF0ZSB3aXJkIGFuZ2V6ZWlndCAoMzMuNiksIHRlbG5ldCBhdWYgCmZyZW1kZSBSZWNobmVyIGltIE5ldHogKFVuaSkgZnVua3Rpb25pZXJ0IHdpZSBnZXdvaG50Li4uCgpBYmVyIERpZW5zdGUgbWl0IGhvZWhlcmVuIEJpbmFlcnVlYmVydHJhZ3VuZ2VuIC0gei5CLiBXZWJzZWl0ZW4gbWl0IApCaWxkZXJuIChrbGVpbmUgQmlsZGVyIHJlaWNoZW4pLCBGdHAsIHNzaC1WZXJiaW5kdW5nZW4sIC4uLiAtIHdlcmRlbgpuYWNoIGVpbiBiaXMgendlaSBTZWt1bmRlbiBuaWNodCBtZWhyIHJpY2h0aWcgbWl0IERhdGVuIHZlcnNvcmd0IAooQnJvd3NlciBzYWd0ICJzdGFsbGVkIiwgc3NoIG1laW50ICJEaXNjb25uZWN0aW5nOiBDb3JydXB0ZWQgY2hlY2sgCmJ5dGVzIG9uIGlucHV0LiIpLgoKRGFzIFByb2JsZW0gdHJpdHQgdW50ZXIgTGludXggdW5kIFdpbmRvd3MgYXVmLCBFaW53YWhsIHVlYmVyIGRpZSBVbmkgCm9kZXIgZWluZW4gZnJlbWRlbiBULU9ubGluZS1Lbm90ZW4gZnVua3Rpb25pZXJ0IHByYWVjaHRpZywgZGVyIE1hbm4Kdm9uIGRlbiBUZWxla29tLVRlY2huaWtlcm4ga2FubiBzaWNoIGF1ZiBkZW4gT3NuYWJydWVja2VyIEtub3RlbiBvaG5lIApQcm9ibGVtZSBlaW53YWVobGVuLCBlcyBzaW5kIGtlaW5lIHdlaXRlcmVuIEFucnVmZSBhdXMgZGllc2VtIEJlcmVpY2ggCm1pdCBTdG9lcnVuZ3NtZWxkdW5nZW4gZ2VtZWxkZXQuCgpJY2ggaGFiZSBoZXV0ZSBBYmVuZCBtaXQgYWNodCB2ZXJzY2hpZWRlbmVuIG5ldHRlbiBULU9ubGluZS1MZXV0ZW4gCmdlcGxhdXNjaHQsIGljaCBoYWIgZWlnZW50bGljaCBnZW51Zy4gOikKCkFuYXRvbCAtIHdlbmlnc3RlbnMgbXVkZGVuIGdlaHQgbm9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoTXVwZmVsLCAgMy4gU2VwIDIwMDEsIDIzOjE5OjM4KToKfiMhIHJuPUFuYXRvbCBydD05OTk1NTE3MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkFoaCBkYXMgUHJvYmxlbSBpc3QgYmVrYW5udC4gSGFiZW4gd2lyIGluIGRlciBGaXJtYSBhdWNoLiBTb2dhciBzY2hvbiBzZWl0IDMKV29jaGVuLi4uLiBpbiBPc25hYnJ1ZWNrIHdlcmRlbiBkaWUgVC1PbmxpbmUgUm91dGVyIGdyYWQgbmFjaCB1bmQgbmFjaAphdXNnZXRhdXNjaHQsIGRhYmVpIGtvbW10cyB6dSBnZXdpc3NlbiBTdG9lcnVuZ2VuLCBkaWUgc2ljaCBpbiBleHRyZW0gZ2VyaW5nZW4KRGF0ZW5yYXRlbiBtYW5pZmVzdGllcmVuLiBCZWkgdW5zIHdhciBhdWNoIGVpbiBmcmV1bmRsaWNoZXIgSGVyciB2b24gZGVyCnRlbGVjb20gbWl0IGVpbmVtIE1lc3NyZWNobmVyLCB1bmQgd2FyIGd1dCBlcnN0YXVudCBhbHMga2VpbmUgRGF0ZW4ga2FtZW4uLi4KKGFiZXIgd2FzIG1hbiBiZWkgVC1PbmxpbmUgYWxsZXMgYW0gVGVsZWZvbiBlcmxlYmVuIGthbm4gcmVpY2h0IHZvbgpCZWxlaHJ1bmdlbiB3aWUgd2lyIHVuc2VyZW4gUm91dGVyIHp1IGtvbmZpZ3VyaWVyZW4gaGFldHRlbiBiaXMgenUgendlaW1hbGlnZW4KcGxvZXR6bGljaGVuIEF1ZmxlZ2VuIGRlcyBHZXNwcmFlY2hzcGFydG5lcnMuLi4pCgotbXVwZmVsLQpQLlMuOiBtYW4gcmlldCB1bnMsIGltbWVyIG1hbCB3aWVkZXIgbmFjaHp1c2NoYXVlbiBvYnMgd2llZGVyIGdlaHQuIFQtT25saW5lCmplZGVuZmFsbHMgd3VlcmRlIHVucyBrZWluZXJsZWkgTWVsZHVuZyBnZWJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKFd1cnplbCwgIDMuIFNlcCAyMDAxLCAyMzoyNjoxNSk6Cn4jISBybj1NdXBmZWwgcnQ9OTk5NTUxOTc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApqby4gdC1vbmxpbmUgaGF0IHVlYnJpZ2VucyBlaW5nZXNlaGVuLCBkYXNzIGlocmUgaG90bGluZSBuaWNodHMgdGF1Z3QsIHVuZApoYXQgc2llIGRlbSBlbnRzcHJlY2hlbmQgYXVmZ2Vsb2VzdCBiencuIGFuIGVpbmVuIG91dHNvdXJjZXIgdWViZXJnZWJlbiwgZGVyCmRhbm4gdm9lbGxpZyB1bmdlc2NodWx0ZSB0ZWxlZm9uaWVyZnV6emllcyBlaW5zZXR6dC4gYWxzIGF1c2dsZWljaCBpc3QgZGllCmhvdGxpbmUgbmljaHQgbWVociBrb3N0ZW5sb3MuIHNvd2FzIG5lbm5lIGljaCBrdW5kZW5zZXJ2aWNlLi4uCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoSHVtbmksICAzLiBTZXAgMjAwMSwgMjM6Mjg6MTMpOgp+IyEgcm49V3VyemVsIHJ0PTk5OTU1MjM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKQWNoLCBhbSBzY2hvZW5zdGVuIGlzdCBkb2NoIGRpZSBBT0wtV2VyYnVuZy4KV2llIGRlciBhcm1lIE1lbnNjaCB2ZXJtdXRsaWNoIG1pdCBBbmFsb2dhbnNjaGx1c3MgbWl0IEFPTCB0ZWxlZm9uaWVyZW4gd2lsbCwKd2VubiBlciBnZXJhZGUgaW5zIE5ldHogZ2VodCwgdW5kIEFPTCBzbyBsYW5nZSBkcmFuYmxlaWJ0ICxiaXMgU2llIGRyaW4gc2luZCcsCmlzdCBtaXIgZWluIFJhZXRzZWwuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKExleWxhdGgsICA0LiBTZXAgMjAwMSwgMDA6MDI6MTcpOgp+IyEgcm49V3VyemVsIHJ0PTk5OTU1MjM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKam9vIHVuZCBmcmFnIG5pY2h0LCB1bnRlciB3ZWxjaGVuIGJlZGluZ3VuZ2VuIGRpZSBqdW5ncyB1bmQgbWFlZGVscyBiZWkgZGVtCm91dHNvcmNlciBhcmJlaXRlbiBtdXNzdGVuLCBpY2ggaGFiIGF1Y2ggbWFsIGJlaSBkZXIgZmlybWEgZ2VhcmJlaXRldCwgYWJlciBpbgpuZW0gYW5kZXJlbiB0ZWFtLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChSb2NodXMsICA0LiBTZXAgMjAwMSwgMDA6NDE6MzcpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTU1MTcxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKVC1vbmxpbmUgcGFja3QgZGllIFBha2V0ZSBub2NobWFsIGVpbiwgc28gZGFzcyBzaWNoIGRpZSBNVFUgdmVycmluZ2VydC4KRW50d2VkZXIgTVRVIFBhdGggUmVjb3ZlcnkgYWt0aXZpZXJlbiBvZGVyIGRlbiBXZXJ0IHZvbiBIYW5kCnJ1bnRlcnNldHplbiwgaXN0IDE0MDAgdW5kIGVpbiBwYWFyIHplcnF1ZXRzY2h0ZSAoc3RhdHQgZGVyIHVlYmxpY2hlbiAxNTAwKSwKZGVyIFdlcnQgc3RlaHQgYXVjaCBpbiBpcmdlbmQgZWluZXIgRkFRLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChBbmF0b2wsICA0LiBTZXAgMjAwMSwgMTA6MTI6NTgpOgp+IyEgcm49Um9jaHVzIHJ0PTk5OTU1Njg5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKVGVsZWtvbXRlY2huaWtlciAjMTIgaGF0IGpldHp0IG5lIFN0b2VydW5nc21lbGR1bmcgIlJvdXRlcnByb2JsZW1lIgphdWZnZW5vbW1lbiwgbWFsIHNlaGVuLCB3YXMgcGFzc2llcnQuIAoKSW4gZXJzdGVyIExpbmllIHN0YXVuZSBpY2ggdWViZXIgbWljaCBzZWxic3QuIEljaCB3dXNzdGUgZ2FyIG5pY2h0LCAKbWl0IHdpZXZpZWwgR2VkdWxkIGljaCBqZWRlc21hbCBlcmtsYWVyZW4ga2FubiwgZGFzcyBlcyBOSUNIVCBhbiAKbWVpbmVyIEJyb3dzZXJrb25maWd1cmF0aW9uIGxpZWd0IHVuZCBhdWNoIE5JQ0hUIGFuIExpbnV4Li4uIDopCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNC4gU2VwIDIwMDEsIDExOjQ5OjA4KToKfiMhIHJuPUFuYXRvbCBydD05OTk1OTExNzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCmR1IHVlYmVyZm9yZGVyc3QgZGVuIGFybWVuIHRlY2huaWtlciBhYmVyIGF1Y2guIG1pdCBldHdhcyBnbHVlY2sgaGF0IGVyIGRlbgpuYW1lbiAibGludXgiIHNjaG9uIG1hbCBnZWxlc2VuLCBkYXMgaXN0IGF1cyBzZWluZXIgc2ljaHQgZGllIHdhaHJzY2hlaW5saWNoZQpmZWhsZXJ1cnNhY2hlIChlciBrZW5udCBlcyBuaWNodCwgcGFzc3QgYWxzbyBuaWNodCBpbiBzZWluIGJpbGQpLgoKd3VyemVsIChoYXQgc2Nob24gZXRsaWNoZSBob3RsaW5lcyB1ZWJlcmZvcmRlcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDQuIFNlcCAyMDAxLCAxMjo0NjoyOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTk5NTk2OTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApCZWkgIzExIGJlc2NocmFlbmt0ZSBzaWNoIG1laW5lIEVpbmZ1ZWhydW5nc3JlZGUsIGRpZSBkaWUgQXVmemVpY2hudW5nZW4KZGVyICMwMSBiaXMgIzEwIGVybGFldXRlcnQgYXVmOiAiRGFzIFByb2JsZW0gdHJpdHQgYXVmLCB3ZW5uIGljaCBtaWNoCm5vcm1hbCBiZWkgVC1vbmxpbmUgYW5hbG9nIGVpbndhZWhsZSwgZ2xlaWNoZXJtYXNzZW4gdW50ZXIgV2luZG93cyB1bmQKTGludXguIEVzIHRyaXR0IG5pY2h0IGF1Ziwgd2VubiBpY2ggbWljaCBpbiBkZXIgVW5pIGVpbndhZWhsZSwgZXMgdHJpdHQKbmljaHQgYXVmLCB3ZW5uIGljaCBtaWNoIGltIFQtT25saW5la25vdGVuIGluIE9sZGVuYnVyZyBlaW53YWVobGUsIGVzCnRyaXR0IG5pY2h0IGF1Ziwgd2VubiBzaWNoIGVpbmVyIElocmVyIEtvbGxlZ2VuIGltIE9zbmFicnVlY2tlciBLbm90ZW4KZWlud2FlaGx0LiBVbmQgamV0enQgc3RlbGxlbiBzaWUgbWljaCBiaXR0ZSB6dXIgRmFjaHRlY2huaWsgZHVyY2guIgoKQW5hdG9sICpzZXVmeioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNC4gU2VwIDIwMDEsIDEyOjQ5OjIxKToKfiMhIHJuPUFuYXRvbCBydD05OTk2MDAzODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCmRlciBsZXR6dGUgc2F0eiBnZWh0IGRlbSBhcm1lbiBob3RsaW5lciBhYmVyIGFuIGRpZSBlaHJlLiBhdWNoIHdlbm4gZXIgc2llCm5pY2h0IHZlcmRpZW50IGhhdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNC4gU2VwIDIwMDEsIDEyOjUyOjU2KToKfiMhIHJuPVd1cnplbCBydD05OTk2MDA1NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkhhYmUgaWNoIGdlbWVya3QuICJJY2ggYmluIGF1Y2ggZWluZSBUZWNobmlrZXJpbi4iIGJla2FtIGljaCBpbiBzbyBlaW5lbQpGYWxsIG1pdCBldHdhcyBnZWtyYWVua3RlciBTdGltbWUgZ2VzYWd0LiBBYmVyIHNpZSBIQVQgbWljaCBkYW5uIGRvY2gKd2VpdGVydmVybWl0dGVsdC4KCldpZSBzY2huZWxsIHJlYWdpZXJ0IGVpZ2VudGxpY2ggZGllIFZvcm9ydC1UZWNobmlrIGF1ZiBlaW5lIApTdG9lcnVuZ3NtZWxkdW5nPyBXaWxsIGhlaXNzZW46IFdhbm4gZnJhZ2UgaWNoIG5hY2gsIG9iIGV0d2FzIHBhc3NpZXJ0CmlzdD8gOykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChXdXJ6ZWwsICA0LiBTZXAgMjAwMSwgMTI6NTU6MDYpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTYwMDc3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKbmFlY2hzdGUgd29jaGUuIHp3YXIgcG9wdCBiZWkgZGVtIHRlY2huaWtlciwgZGVtIGRlciBmYWxsIHp1Z2V3aWVzZW4gaXN0LAppbm5lcmhhbGIgdm9uIHNla3VuZGVuIGRhcyBmZW5zdGVyIGF1ZiwgZGFzIGlobSBkZW4gbmV1ZW4gZmFsbCBhbnplaWd0LCBhYmVyCmRhcyBoYXQgbnVyIHdlbmlnIGVpbmZsdXNzIGF1ZiBzZWluZSBhbmRlcmVuIGZhZWxsZS4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChNb3Jnb3RoLCAgNC4gU2VwIDIwMDEsIDEyOjU4OjE1KToKfiMhIHJuPUFuYXRvbCBydD05OTk2MDA3NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkxhc3MgRGlyIGRpZSBEdXJjaHdhaGwgaW4gTmV1LVVsbSBnZWJlbiwgaXJnZW5kd2FzIG1pdCAwNzgxIG9kZXIgc28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDQuIFNlcCAyMDAxLCAxMjo1ODoxOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9OTk5NjAwOTA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApWb3IgYWxsZW0gbWVpbnRlIE11cGZlbCwgZGFzcyBkYXMgUHJvYmxlbSAqaXJnZW5kd28qIGltIEhhdXNlIFRlbGVrb20KYmVyZWl0cyBiZWthbm50IGlzdC4gRGVyIFZvci1PcnQtVGVjaG5pa2VyIGFsc28ga29lbm50ZSBkYXMgZHVyY2hhdXMgCndpc3NlbiAtLSB1bmQgZGllIFN0b2VydW5nc21lbGR1bmcgZWluZmFjaCB3ZWdrbGlja2VuLiBEYW5uIGFsbGVyZGluZ3MKcGlsZ2VyZSBpY2ggbWl0IGVpbmVyIFNjaHJvdGZsaW50ZSBvZGVyIGVpbmVyIG1pZXNlbiBMYXVuZSAoamUgbmFjaApHcmVpZmJhcmtlaXQpIGluIGRlbiBuYWVjaHN0ZW4gVC1QdW5rdCB1bmQgaGFsdGUgc28gbGFuZ2UgZGllIEx1ZnQgYW4sCmJpcyBpcmdlbmRqZW1hbmQgdGVsZWZvbmllcmVuIGdlaHQuIDspCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNC4gU2VwIDIwMDEsIDEzOjAwOjA5KToKfiMhIHJuPU1vcmdvdGggcnQ9OTk5NjAxMDk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMAprZWluZSBndXRlIGlkZWUuIGRlciBzdGFuZG9ydCBuZXUtdWxtIGlzdCBnZXJhZGUgZGFiZWkgZ2VzY2hsb3NzZW4genUgd2VyZGVuLApkaWUgbGV1dGUgbXVlc3NlbiBlbnR3ZWRlciB1bXppZWhlbiwgc2ljaCB3YXMgdm9lbGxpZyBhbmRlcmVzIHN1Y2hlbiBvZGVyCndlcmRlbiBlYmVuIGFyYmVpdHNsb3MuIG5pY2h0IHVuYmVkaW5ndCBkaWUgYXRtb3NwaGFlcmUsIGRpZSBmcmV1bmRsaWNoa2VpdApoZXJ2b3JicmluZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKFd1cnplbCwgIDQuIFNlcCAyMDAxLCAxMzowMzoxNSk6Cn4jISBybj1BbmF0b2wgcnQ9OTk5NjAxMDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMAp3ZW5uIGVzIHRhdHNhZWNobGljaCBzY2hvbiBiZWthbm50IGlzdCwgaXN0IGVzIG1laXN0IGF1Y2ggYW4gZGVyIHJpY2h0aWdlbgpzdGVsbGUgYmVrYW5udC4gZGFmdWVyIHNvcmd0IGRhcyBhY3Rpb24gcmVxdWVzdCBzeXN0ZW0uIGRhcyBpc3QgYWxsZXJkaW5ncwphdWNoIGtlaW5lIGdhcmFudGllIGRhZnVlciwgZGFzcyBlcyBiYWxkIGJlaG9iZW4gd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEJvaW5nLCAgNC4gU2VwIDIwMDEsIDEzOjA1OjQzKToKfiMhIHJuPVd1cnplbCBydD05OTk2MDEzOTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCidhY3Rpb24gcmVxdWVzdCBzeXN0ZW0nIGtsaW5ndCB0b2xsIHVuZCB2ZXJ0cmF1ZW5lcndlY2tlbiEgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNC4gU2VwIDIwMDEsIDEzOjA2OjU0KToKfiMhIHJuPUJvaW5nIHJ0PTk5OTYwMTU0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKZGFzIGlzdCBkZXIgbmFtZSBkZXMgc3lzdGVtcywgaGF0IHNpY2ggZGVyIGhlcnN0ZWxsZXIgKHJlbWVkeSkgYXVzZ2VkYWNodC4KaGF0IG5peCBtaXQgZGVyIGFydCB6dSB0dW4sIHdpZSBlcyBlaW5nZXNldHp0IHdpcmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDQuIFNlcCAyMDAxLCAxMzowNzozNik6Cn4jISBybj1Cb2luZyBydD05OTk2MDE1NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkhhYmUgaWNoIGVpbmUgQ2hhbmNlIHp1IGVyZmFocmVuLCBkYXNzIGVzIGJla2FubnQgaXN0PyBPZGVyIGV0d2FzIGluIApkaWUgSGFuZCB6dSBiZWtvbW1lbiwgZGFzIGRpZXNlIEZlaGxmdW5rdGlvbiB2b24gVGVsZWtvbXNlaXRlIGJlbGVndD8KSWNoIEJSQVVDSEUgZGllIEZsYXRyYXRlIGZ1bmt0aW9uc2ZhZWhpZywgaWNoIGhhYmUgbWl0IGRlciBUZWxla29tIGVpbmVuClZlcnRyYWcsIGRlbiBzaWUgZGVyemVpdCBhYmVyIG5pY2h0IGVyZnVlbGx0IC0gdW5kIGljaCB0ZWxlZm9uaWVyZSBhdWYKZWluZXIga29zdGVucGZsaWNodGlnZW4gSG90bGluZSBQaGFudG9tZW4gaGludGVyaGVyLi4uCgpBbmF0b2wgKnNpbmcqICJubyB3ZWIgdG9kYWFheSwgbXkgc2hlbGwgaGFzIGdvbmUgYXdheS4uLiIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKE1vcmdvdGgsICA0LiBTZXAgMjAwMSwgMTM6MDg6MTMpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTYwMTY1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKV2VsY29tZSB0byB0aGUgcmVhbCB3b3JsZCwgQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNC4gU2VwIDIwMDEsIDEzOjEwOjMzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTk5NjAxNjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMAp3ZW5uIGR1IGV0d2FzIGluIGRpZSBoYW5kIGJla29tbWVuIHd1ZXJkZXN0LCB3YXMgZWluZW4gZmVobGVyIGF1ZiBzZWl0ZW4gZGVyCnRlbGVrb20gYmVsZWdlbiB3dWVyZGUsIGtvZW5udGVzdCBkdSBzaWUgZXZ0bCBpbiByZWdyZXNzIG5laG1lbi4gd2VubiBkYXMKamVkZXIgdHVuIHd1ZXJkZSwgd2FlcmVuIG1laW5lIGFrdGllbiBub2NoIHdlbmlnZXIgd2VydCBhbHMgc2llIGVzIGpldHp0CnNjaG9uIHNpbmQuIHNjaG9uIGRlc2hhbGIgd2lyc3QgZHUgc28gZXR3YXMga2F1bSBiZWtvbW1lbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNC4gU2VwIDIwMDEsIDE1OjM5OjU1KToKfiMhIHJuPVd1cnplbCBydD05OTk2MDE4MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCldhaG5zaW5uaWdlcndlaXNlIHNjaGVpbnQgZGllIEZsYXRyYXRlIGluendpc2NoZW4genUgdHVuLiBJY2ggc3RhdW5lLiAKSWNoIGdsYXViZSwgaWNoIHJ1ZicgZGEgbWFsIGFuIHVuZCBmcmFnLCBvYi93YXMgcGFzc2llcnQgaXN0LiA7bykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQ2F0d2VhemxlLCAgNC4gU2VwIDIwMDEsIDE1OjUyOjQyKToKfiMhIHJuPUFuYXRvbCBydD05OTk2MTA3OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkRhbWl0IHd1ZXJkZXN0IER1IGRpZSBDYWxsLUxpbmUgbWl0IFNpY2hlcmhlaXQgdG9ldGVuLiAKU3RlbGwgRGlyIHZvciBkaWUgZXJ3YXJ0ZW4gcGF1c2VubG9zIEFucnVmZSB2b24gTGV1dGVuIGRlcmVuIGVyaG9laHRlcgpCbHV0ZHJ1Y2sgc2Nob24gc2VpdCBnZXJhdW1lciBaZWl0IGZ1ZXIgZWluZSB1bmdlc3VuZGUgR2VzaWNodHNmYXJiZSBzb3JndCB1bmQKYmVpIGRlbmVuIGVzIGVpZ2VudGxpY2ggbnVyIGVpbiBXdW5kZXIgaXN0LCBkYXMgZGVyIEtvcGYgbm9jaCBuaWNodCBnZXBsYXR6dAppc3QuCkRpZSBIb3RsaW5lIGJlcmVpdGV0IHNpY2ggbm9ybWFsZXJ3ZWlzZSBzZWVsaXNjaCBkYXJhdWYgdm9yIExldXRlIGFienVpbW1lbG4KdW5kIHp1IHZlcnRyb2VzdGVuLCBkYXJhdWYgd2VyZGVuIGRpZSBnZXNjaHVsdC4gU2VsYnN0IEdlc3ByYWVjaHN0ZWlsbmVobWVyCmRlcmVuIEdlc3RhbW1lbCBvYiBkZXIgdmllbCB6dSBob2hlbiBMYXV0c3RhZXJrZSBlaCBuaWNodCBtZWhyIHp1IHZlcnN0ZWhlbgppc3QsIHdlcmRlbiB2b24gZGVuIE1pdGFyYmVpdGVybiBkb3J0IGdlbGFzc2VuIHVuZCBwcm9mZXNzaW9uZWxsIHdlaXRlcmxhZGVuLgpVbmQgZGFubiB3aWxsc3QgRHUgZGEgYW5rb21tZW4gdW5kIGRpY2ggJ2Jlc2Nod2VyZW4nLCBkYXNzIGRlaW4gQW5zY2hsdXNzCmZ1bmt0aW9uaWVydCB1bmQgdm9sbCBpbiBPcmRudW5nIGlzdC4gRGFtaXQga29tbWVuIGRpZSBkb2NoIG5pY2h0IG1laHIga2xhciEKRGEgYnJlbm5lbiBkb2NoIGRpZSBTaWNoZXJ1bmdlbiBkdXJjaCwgZGllIHNpbmQgZ2FyIG5pY2h0IGRyYXVmIHByb2dyYW1taWVydApzb2xjaGUgQW5mcmFnZW4genUgdmVyYXJiZWl0ZW4hClVuZCBkdSB3aWxsc3QgZG9jaCBuaWNodCwgZGFzIHNvIGVpbmUgQ2FsbC1DZW50ZXItQXJiZWl0c3BsYXR6LVplbGxlIGluIGVpbmVtCkZldWVyYmFsbCB2ZXJnbHVlaHQsIG9kZXI/IFZvciBhbGxlbSBuaWNodCBkYSBEdSBqYSBnbGVpY2ggZWluIER1dHplbmQgQW5ydWZlCnp1IHRhZXRpZ2VuIHNjaGVpbnN0IHVuZCBuaWNodCBhdWZnaWJzdCBiZXZvciBEdSBlaW5lIEFudHdvcnQgYmVrb21tc3QuIERhcwppc3QgZG9jaCB1bnZlcmFudHdydGxpY2gsIGRhbWl0IGthbm5zdCBEdSBnYW56ZSBTdGFuZG9ydGUgYXVzcmFkaWVyZW4uLi4KCldlbm4gaWNocyBnZW5hdSBiZWRlbmtlLCBzb2xsdGVzdCBEdSBkYXMgdW5iZWRpbmd0IG1hbCBhdXNwcm9iaWVyZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDQuIFNlcCAyMDAxLCAxNzoxMTo0Mik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTk5NjExNTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApOYWphLiBEaWUgd2lzc2VuIHZvbiBuaXguIEtlaW5lIHBhc3NlbmRlIFN0b2VydW5nIGF1cyBtZWluZW0gQmVyZWljaApnZW1lbGRldCBnZXdlc2VuLiBJY2ggc2FndGUgamEsIFBoYW50b21lLi4uICpzZXVmeiogV2FzIGF1Y2ggaW1tZXIgZXMKd2FyLCBlcyBzY2hlaW50IHZvcmVyc3Qgd2VnIHp1IHNlaW4uIAoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChWYW5pb24sICA0LiBTZXAgMjAwMSwgMTc6MTI6NDgpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTYxNjMwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKQmlzIHp1IGRlbSBaZWl0cHVua3Qgd28gZHUgZGFzIE5ldHogZHJpbmdlbmQgYnJhdWNoc3QsIHdpcmRzIGtsYXBwZW4uIEFsc28KaW1tZXIgc2Nob2VuIHVuYWJoYWVuZ2lnIGJsZWliZW4gdm9tIFJlY2huZXIgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEJhbWJpLCAgNC4gU2VwIDIwMDEsIDE5OjQyOjA0KToKfiMhIHJuPUFuYXRvbCBydD05OTk1OTExNzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkRhIGhhdHRlIGljaCB3b2hsIEdsdWVjaywgZGFzcyBpY2ggbWljaCBnYXIgbmljaHQgZXJzdCBlaW53YWVobGVuIGtvbm50ZSB1bmQKZGVuZW4gRmVobGVybnVtbWVybiBpaHJlciBWZXJiaW5kdW5nc3NvZnR3YXJlIG5lbm5lbiBrb25udGUuIFNvIG1laW50ZW4gZGllCmdhciBuaWNodCBlcnN0LCBkYXNzIGljaCBvZGVyIG1laW4gUmVjaG5lciBTY2h1bGQgc2VpbiBrb2VubnRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoVmFybGFyaW9uLCAgNC4gU2VwIDIwMDEsIDE5OjQ0OjE4KToKfiMhIHJuPUJhbWJpIHJ0PTk5OTYyNTMyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKVC1PZmZsaW5lIFZlcmJpbmR1bmdzc29mdHdhcmU/ICpodXN0d3VlcmdrZXVjaHJvZWNoZWwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChXdXJ6ZWwsICA1LiBTZXAgMjAwMSwgMDk6NDc6NDApOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTYxNjMwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKc2NoZWludCBzbywgYWxzIGhhZXR0ZXN0IGR1IGRhcyB3ZWl0ZXJnZXJlaWNodC4uLiBoZXV0ZSBtb3JnZW4gd2lyZnQgbWljaAp0LWRzbCBkYXVlcm5kIHJhdXMuIGtlaW5lIGFobnVuZyB3YXJ1bSwgYWxsZSBoYWxiZSBzdHVuZGUgd2VyZCBpY2ggZ2V0cmVubnQuCm1hbCBzZWhlbiwgd2VubiBkYXMgaGV1dGUgbmFjaG1pdHRhZyBub2NoIHNvIGlzdCwgcnVmIGljaCBhdWNoIG1hbCBhbiA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChKYW1lc29uLCAgNS4gU2VwIDIwMDEsIDE0OjMzOjQ5KToKfiMhIHJuPVd1cnplbCBydD05OTk2NzYwNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCm9iJ3Mgd2FzIGRhbWl0IHp1IHR1biBoYXQsIHdhcyBpbgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9qZS0wNS4wOS4wMS0wMDAvIHN0ZWh0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoVmFuaW9uLCAgNS4gU2VwIDIwMDEsIDE1OjI2OjAyKToKfiMhIHJuPUphbWVzb24gcnQ9OTk5NjkzMjI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApEYXMgc2NoZWludCBhYmVyIG5pY2h0IG51ciBkaWUgRWlud2FobGtub3RlbiB6dSBiZXRyZWZmZW46Cj4gdHJhY2Vyb3V0ZSBuZXdzLnQtb25saW5lLmRlCnRyYWNlcm91dGUgdG8gbmV3cy50LW9ubGluZS5jb20gKDYyLjE1My4xNTkuMTM0KSwgMzAgaG9wcyBtYXgsIDM4IGJ5dGUgcGFja2V0cwouLi4KMS00IGFsbGVzIHVudGVyIDUwbXMKRGFuYWNoIGdpYnRzIG51ciBub2NoIFN0ZXJuY2hlbiB6dSBiZXd1bmRlcm4gLi4uCgpWKiwgd2lsbCBzZWluZSBOZXdzIGxlc2VuIDopIC91bmQgd2VubnMgbnVyIGRlciBuZXRkaWdlc3QgaXMvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChBbmF0b2wsICA1LiBTZXAgMjAwMSwgMTc6MTQ6MTQpOgp+IyEgcm49VmFuaW9uIHJ0PTk5OTY5NjM2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKQmxhaCwgc2VpdCBoZXV0ZSBNaXR0YWcgMTM6MDAgVWhyIG1hZyBtaWNoIGRlciBFaW53YWhsa25vdGVuIE9TIF9nYXIgbmljaHRfIAptZWhyLiBXaWxsIGhlaXNzZW4sIGljaCBiZWtvbW1lIG5hY2ggZWluZXIgZ2V3aXNzZW4gWmVpdCBkYXMgQmVzZXR6dHplaWNoZW4uCgpEaWUgSG90bGluZSB3ZWlzcyBuYXR1ZXJsaWNoIHZvbiBuaXgsIFN0b2VydW5nIGlzdCBhdWZnZW5vbW1lbi4uLiAqdHJhbGFsYSoKU2VpdCBGcmVpdGFnIGtlaW4gVGFnIGFuIGRlbSBpY2ggZGllIEZsYXQgbm9ybWFsIG51dHplbiBrb25udGUuIFNvIGxhbmdzYW0KbWFjaGUgaWNoIG1pciB1ZWJlciBSZWdyZXNzYW5zcHJ1ZWNoZSB3aXJrbGljaCBHZWRhbmtlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNS4gU2VwIDIwMDEsIDE3OjM4OjQ3KToKfiMhIHJuPUFuYXRvbCBydD05OTk3MDI4NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCgpodHRwOi8vd3d3LmhlaXNlLmRlL2ltb25pdG9yLwoKKnN0b2VobiogOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKExpbmZsYXMsICA1LiBTZXAgMjAwMSwgMTg6NDE6MjMpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcwNDMyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKTmEsIGltbWVyaGluIGhhYmVuIDUgZWluZW4gc2VociBnZXJpbmdlbiBEYXRlbmR1cmNoc2F0ei4gWnVtIE11ZGRlbiByZWljaHRzCmRvY2ggYWxsZW1hbCA7KQoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKFd1cnplbCwgIDUuIFNlcCAyMDAxLCAxODo0NToxMyk6Cn4jISBybj1MaW5mbGFzIHJ0PTk5OTcwODA4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKaWNoIGhhYiBtaXR0bGVyd2VpbGUga2VpbmUgcHJvYmxlbWUgbWVociwgZGFzIHdhciB3b2hsIG51ciBoZXV0ZSBtb3JnZW4uCnZpZWxsZWljaHQgZWluZSBhdXN3aXJrdW5nIHZvbiBkZW4gYW5kZXJlbiBwcm9ibGVtZW4gKnp1Y2sqCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKEFuYXRvbCwgIDUuIFNlcCAyMDAxLCAyMDowMDo0Nik6Cn4jISBybj1XdXJ6ZWwgcnQ9OTk5NzA4MzEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApCZWkgbWlyIGlzdCBub2NoIGltbWVyIHRvdGUgSG9zZS4gRWJlbiB6dW0gRFJJVFRFTiBtYWwgZGVyIEhvdGxpbmUgZWluZQpTdG9lcnVuZ3NtZWxkdW5nIGdlZ2ViZW4sIGRhIGRpZSB2b3JoZXJpZ2VuIGlucyBOaXJ2YW5hIGdpbmdlbiwgb2huZQpkYXNzIHNpY2ggd2FzIHZlcmJlc3NlcnRlIG9kZXIgZWluZSBTdG9lcnVuZyB2ZXJ6ZWljaG5ldCB3dXJkZS4gRGllCkdlbmF1aWdrZWl0ICgiQml0dGUgc2NocmVpYmVuIFNpZSBkYXp1LCBkYXNzIGRlciBLbm90ZW4gQU4gU0lDSCBqYSBvawppc3QgdW5kIGRlciBGZWhsZXIgYXVmIGRlbSBXZWcgZG9ydGhpbiBsaWVnZW4gbXVzcyEiKSBzdGVpZ3QgbmF0dWVybGljaApqZWRlc21hbC4uLgoKU2V1ZnouIAoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChWYXJsYXJpb24sICA1LiBTZXAgMjAwMSwgMjA6MDY6MzUpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcxMjg0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKVmllbGxlaWNodCBpc3NlcyBlZmZla3RpdmVyLCB3ZW5uIER1IGRlbiBLbmljayBpbiBkZXIgTGVpdHVuZyBzZWxiZXIgc3VjaGVuCmdlaHN0PyA7KSBXYWhyc2NoZWlubGljaGVyIGlzdCBlaCwgZGFzcyBnZW5hdSBkb3J0IGVpbmlnZSBUZWxla29taWtlciB2b3IgT3J0CnNpbmQgdW5kIGVpbmVyIHZvbiBkZW5lbiBzdGVodCBlaW5mYWNoIGF1ZiBkZXIgTGVpdHVuZy4uLgoKVmFybCosIC0+IHNjaG1hcnJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChBbmF0b2wsICA1LiBTZXAgMjAwMSwgMjA6MDg6NTQpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTk5OTcxMzE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKV2VubiBNdXBmcyBBdXNzYWdlIGhpbnNpY2h0bGljaCBSb3V0ZXJ0YXVzY2ggc3RpbW10LCBpc3QgZGFzIHNvZ2FyClNFSFIgd2FocnNjaGVpbmxpY2guIEljaCBiaW4gamV0enQgdWViZXIgZGllIFVuaSAoPT16YWhsZW5kKSBkcmluLAp1bmQgd2VyZGUgZWluZW4gbmV0dGVuIEJyaWVmIGFuIGRpZSBUZWxla29tIHNjaHJlaWJlbiwgc29iYWxkIGRpZXNlClBoYXNlIGJlZW5kZXQgaXN0LgoKS05VUlIuCgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChWYXJsYXJpb24sICA1LiBTZXAgMjAwMSwgMjA6MTE6MjkpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcxMzMzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKRXksIGhhc3QgRHUgbWljaCBncmFkIGFuZ2VrbnVycnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChNdXBmZWwsICA1LiBTZXAgMjAwMSwgMjA6MTk6MjMpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcxMzMzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKTnVuamEgbWVpbiBDaGVmIHd1cmRlIGRpZSBsZXR6dGVuIE1hbGUgYW0gVGVsZWZvbiBldHdhcyBsYXV0ZXIgdW5kIGhhdHMgYW0KRW5kZSBnZXNjaGFmZnQsIHNpY2ggenVtIFQtT25saW5lIENoZWYgdm9uIE9zbmFicnVlY2sgZHVyY2hzdGVsbGVuIHp1IGxhc3NlbgooZGllIER1cmNod2FobCBoYWJlbiB3aXIgenUgU2ljaGVyaGVpdCBhdWNoIDspLiBVbmQgLSBvaCBXdW5kZXIgLSBkZXIgd3Vzc3RlCm5hdHVlcmxpY2ggbGFlbmdzdCwgZGFzIGhpZXIgd2FzIGltIEFyZ2VuIGxpZWd0LiBVbmQgc29nYXIsIGRhc3MgZGFzIHNjaG9uCnNlaXQgZGVtIDE0LjguIHNvIGlzdC4uLiAoZGVuIFRlcm1pbiB3dXNzdGVuIHdpciBzb28gZ2VuYXUgc2VsYnN0IG5pY2h0IDspIC0KaGV0ZSBBYmVuZCBzY2hvbiBzb2xscyBhbmdlYmxpY2ggQWJoaWxmZSBnZWJlbjogT3NuYWJydWVjayB3aXJkIGF1ZiBPbGRlbmJ1cmcKInVtZ2Vyb3V0ZXQiLiBLb2VubnRlIGljaCBlaWdlbnRsaWNoIGdsZWljaCBtYWwgdGVzdGVuLCBvYnMgZ2VodC4gTW9tZW50Li4uLgo7KQoKLW11cGZlbC0gKHRlc3RldCBqZXR6dC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBULU9ubGluZSBGbGF0IFJhZXRzZWwuLi4gOikgKE11cGZlbCwgIDUuIFNlcCAyMDAxLCAyMDoyNDo0OCk6Cn4jISBybj1NdXBmZWwgcnQ9OTk5NzEzOTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk5OTU1MTcxMApOZWogbmVqIG5lai4uLiBzb3ZpZWwgU2FuZCB1bmQga2VpbmUgRmVvcm1jaGVuLi4uCgpUamEsIGRhIGtvbW1lbiB3aXIgbmljaHQgbWFsIHJlaW4uLi4gKGRlciBiZWxpZWJ0ZSBUZWxlZm9uLVRlc3QgKGVpbmZhY2ggbWFsCmFucnVmZW4pIGVyZ2lidDogZGllIExlaXR1bmcgaXN0IHRvdCkKTmEgaGFsbGVsdWphLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNS4gU2VwIDIwMDEsIDIwOjI1OjMwKToKfiMhIHJuPU11cGZlbCBydD05OTk3MTQyODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwClZlcnN1Y2hzIG1hbCB2b20gSGFuZHkgYXVzOiAwNTQxMTkxMDExIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChBcmssICA1LiBTZXAgMjAwMSwgMjA6NDE6MzEpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcxMjg0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKSG0sIGljaCBnbGF1YmUsIGRpZSBoYWJlbiBEZWluZSBOdW1tZXIgbWl0IGVpbmVtIFQtRmx1Y2ggYmVsZWd0LCBhbHMgc2llCm1lcmt0ZW4sIGRhc3MgRHUgbmVydnN0LiBPYndvaGwgc2llIGRvY2ggZWlnZW50bGljaCBmdWVyIGRhcyBmbGVpc3NpZ2UKVGVsZWZvbmllcmVuIGRhbmtiYXIgc2VpbiBzb2xsdGVuLgosCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNS4gU2VwIDIwMDEsIDIwOjQzOjU2KToKfiMhIHJuPUFyayBydD05OTk3MTUyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkRhcyBpc3QgZGllIFRlb3JpZSBJSTogQWxsZXMgaXN0IHZvbiBsYW5nZXIgSGFuZCBnZXBsYW50OiBTaWUgc3RlbGxlbgpkaWUgSG90bGluZSB2b24gMDgwMCogYXVmIDAxODA1KiB1bSAoMjRQRi9NaW4pIHVuZCBiYXVlbiBkYW5uIGdyb3NzZmxhZWNoaWcKTWlzdC4gU09PT08ga2FubiBtYW4gc2ljaCBkYXMgVVRNUyBhdWNoIGZpbmFuemllcmVuLiA6KQoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWxsb3V0IHVuZCBXMksgKE1vcmdvdGgsICA2LiBTZXAgMjAwMSwgMDg6NTM6NTMpOgpIaSwKCmljaCBoYWIgUHJvYmxlbWUgZGFzIFNwaWVsICJGYWxsb3V0IiAobmljaHQgVGFjdGljcywgbmljaHQgMikgYmVpIG1pciB1bnRlcgpXMksgenVyIFp1c2FtbWVuYXJiZWl0IHp1IGJld2VnZW4uIEF1ZiBkZXIgSW50ZXJwbGF5IFdlYnNpdGUgc3RlaHQgZWluZQpBbmxlaXR1bmcgd2llIG1hbiBlcyB1bnRlciBOVCBpbnN0YWxsaWVydCwgZGFzIGhhYiBpY2ggYXVjaCBnZXRhbiwgYWJlcgp0cm90emRlbSBzdHVlcnp0IGRhcyBQcm9ncmFtbSBuYWNoIGNhLiA1cyBhYiwgbmFjaGRlbSBpY2ggZXMgZ2VzdGFydGV0IGhhYi4KUGF0Y2ggYXVmIDEuMSBicmluZ3QgYXVjaCBuaXguCkhhdCBub2NoIGlyZ2VuZHdlciBuZSBzY2hsYXVlIElkZWUgb2RlciBuZW4gQ3JhY2sgb2RlciBzb25zdHdhcywgZGFtaXQgZGFzCmxhZXVmdD8/CgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNi4gU2VwIDIwMDEsIDEyOjE0OjI4KToKfiMhIHJuPUFuYXRvbCBydD05OTk3MTU0MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkluendpc2NoZW4gaXN0IGRpZSBGZWhsZXJtZWxkdW5nICJadWdyaWZmIHZlcndlaWdlcnQuIiBkLmguIGljaCBrYW5uIG1pY2gKbmljaHQgYXV0aGVudGlmaXppZXJlbi4gS2xhc3NlIGlyZ2VuZHdpZSwgb2Rlcj8gOykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoTGlhcmEsICA2LiBTZXAgMjAwMSwgMTM6MzM6MjkpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTcxNTQzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKQWxzbywgV2VubiBzaWUgVU1UUyBkYXJ1ZWJlciBmaW5hbnppZXJlbiBtb2VjaHRlbiwgZGFubiBrbGFwcHQgbm9jaCB2aWVsIHp1CnZpZWwgaGllciBpbSBMYW5kZS4gOy0pIFNpZSBoYWJlbiBkaWUgRWluZnVlaHJ1bmcgamEgZ3JhZGUgbWFsIHdpZWRlciB1bSAyCkphaHJlIHZlcnNjaG9iZW4uIFdlciB3ZWlzcywgb2IgZGFzIGplbWFscyBrb21tdCAuLi4KWlpMQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoV3VyemVsLCAgNi4gU2VwIDIwMDEsIDEzOjM5OjQ5KToKfiMhIHJuPUxpYXJhIHJ0PTk5OTc3NjAwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKZXMgd2lyZCBrb21tZW4uIG1hbiBtdXNzIG51ciBub2NoIGVpbmVuIGdydW5kIGRhZnVlciBmaW5kZW4sIGRlciB1ZWJlciAid2lyCmhhYmVuIHNvIHZpZWwgZ2VsZCBkYWZ1ZXIgYXVzZ2VnZWJlbiIgaGluYXVzZ2VodC4gdWViZXIgZGFzICJ3YW5uIiBtb2VjaHRlCmljaCBtaXIgaGllciBsaWViZXIgbmljaHQgZGVuIGtvcGYgemVyYnJlY2hlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IFQtT25saW5lIEZsYXQgUmFldHNlbC4uLiA6KSAoQW5hdG9sLCAgNi4gU2VwIDIwMDEsIDE1OjA3OjMyKToKfiMhIHJuPVd1cnplbCBydD05OTk3NzYzODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTk5NTUxNzEwCkltIE1vbWVudCB0dXQgZGVyIEZsYXQtWnVnYW5nIHVlYnJpZ2VucyB3aWVkZXIuIEltIE1vbWVudC4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMDogVC1PbmxpbmUgRmxhdCBSYWV0c2VsLi4uIDopIChXdXJ6ZWwsICA2LiBTZXAgMjAwMSwgMTU6MTU6MzkpOgp+IyEgcm49QW5hdG9sIHJ0PTk5OTc4MTY1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05OTk1NTE3MTAKaWNoIGJpbiBoZXV0ZSBhdWNoIG5vY2ggbmljaHQgcmF1c2dlZmxvZ2VuLiB2aWVsbGVpY2h0IGhhdCBtYW4gbWFsIHdhcyBnZXRhbgpmdWVyIHVuc2VyIGdlbGQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgbG9obnQ/IChMaW5mbGFzLCAxMC4gU2VwIDIwMDEsIDE4OjQxOjIxKToKSGksCgppY2ggdWViZXJsZWdlIGdyYWRlIHdpZSBpY2ggaW5zIEludGVybmV0IGtvbW1lbiB3aWxsLiBXYXMgc2ljaCBhbHNvIGxvaG50IHVuZAp3YXMgbmljaHQgKElTRE4sIERTTCksIGRhYmVpIG5hdHVlcmxpY2ggbmljaHQgbnVyIFRlbGVrb20tQWJoYWVuZ2lnLgpSaWVzZW5nZXNjaHdpbmRpZ2tlaXQgYnJhdWNoZSBpY2ggbmljaHQsIGplZG9jaCBoYWJlIGljaCBlaW5lbiByZWNodCBob2hlbgoiVW1zYXR6IiBhbiBEYXRlaWVuLiBFaW5lIEZsYXRyYXRlIHdhZXJlIG5pY2h0IHVlYmVsLgpXZXIga2VubnQgc2ljaCBhbHNvIGF1cywgd2VyIGthbm4gbWlyIHNhZ2VuLCB3YXMgc2ljaCBsb2hudCB1bmQgd2FzIG5pY2h0PwoKTC4sIGFobnVuZ3Nsb3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGxvaG50PyAoQW5hY3Jpb24sIDEwLiBTZXAgMjAwMSwgMTg6NDI6MTEpOgp+IyEgcm49TGluZmxhcyBydD0xMDAwMTQwMDgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDAxNDAwODEKRFNMIC4uIGplIG5hY2ggb25saW5lemVpdCBlbnR3ZWRlciB2b24gMSYxIGRlciB0YXJpZiBvZGVyIGRpZSBmbGF0cmF0ZSAuLi4KCidub3JtYWxlJyBmbGF0cmF0ZXMgZ2lidHMgZWggbmljaHQgbWVocgoKYW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIGxvaG50PyAoV3VyemVsLCAxMC4gU2VwIDIwMDEsIDE4OjQ0OjQzKToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDAxNDAxMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDE0MDA4MQpiaW4gdWViZXIgdC1kc2wtZmxhdCBkcmluLiBmdWVyIGRlbiBub3JtYWx1c2VyIHJlaWNodCBkYXMgYXVzLCB6dW0gbXVkZGVuCnNvd2llc28uIG1pdHRsZXJ3ZWlsZSBhdWNoIG1pdCB3ZW5pZ2VuIGF1c25haG1lbiBkaWUgbWVpc3RlIHplaXQgc3RhYmlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FzIGxvaG50PyAoTGluZmxhcywgMTAuIFNlcCAyMDAxLCAxOTo1OTowMSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAwMDE0MDI4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAwMTQwMDgxCkFyY29yIGJpZXRldCBtZWluZXMgV2lzc2VucyBuYWNoIGF1Y2ggRFNMIGF1ZiBkZW4gZWlnZW5lbiBJU0ROLUxlaXR1bmdlbiBhbi4KV2Vpc3MgamVtYW5kIHdhcyBkYXJ1ZWJlcj8KCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXYXMgbG9obnQ/IChTY2h3dWJiZWwsIDEwLiBTZXAgMjAwMSwgMjM6MTc6NTgpOgp+IyEgcm49TGluZmxhcyBydD0xMDAwMTQ0NzQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDAxNDAwODEKSmF1LCBpY2ggd2FydGUgYXVmIG1laW5lbiBGbGF0cmF0ZS1BbnNjaGx1c3Mgdm9uIEFyY29yLiBJU0ROIHNvbGwgZGllc2VuCk1pdHR3b2NoIGtvbW1lbiAoZ2xhdWIgaWNoIG5pY2h0LCB3YWVyZSB2aWVsIHp1IHJlaWJ1bmdzbG9zKS4gVW5kIGltIE9rdG9iZXIKZGFubiBEU0wtRmxhdHJhdGUgKGJlaGF1cHRldCBBcmNvciwgYWxzbyB3aXJkcyB3b2hsIEphbnVhciBvZGVyIHNvKS4gSWNoIGJpbgpnZXNwYW5udCwgYmlzaGVyIGltbWVyIG51ciBmbGF0cmF0ZWxvc2VzIDM4ODAwLU1vZGVtIHppZWh0IHNpY2ggc28KZ3JhZXNzbGljaC4uLgoKU2Nod3ViYmVsLCBkZXIgYXVjaCBtYWwgdGFnc3VlYmVyIChzb2Zlcm4genUgSGF1cykgaW4gZGllIExlaXR1bmcgd2lsbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FzIGxvaG50PyAoQ2F0d2VhemxlLCAxMS4gU2VwIDIwMDEsIDA4OjU0OjUxKToKfiMhIHJuPVNjaHd1YmJlbCBydD0xMDAwMTU2Njc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDAxNDAwODEKSWNoIGRhY2h0ZSBBcmNvciB3YWVyIHBsZWl0ZS4gT2RlciB3ZXIgd2FyIGRhcz8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FzIGxvaG50PyAoV3VyemVsLCAxMS4gU2VwIDIwMDEsIDA5OjAyOjE5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDAwMTkxMjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDAxNDAwODEKcXVhc2kgYWxsZSBhbmRlcmVuLiBhcmNvciBuaWNodC4gZGFzIGxpZWd0IGFuIG1laHJlcmVuIGZha3RvcmVuLCBkaWUgaWNoCmhpZXIgZ2FyIG5pY2h0IGFsbGUgYXVmemFlaGxlbiB3aWxsLCBhYmVyIG5pY2h0IHp1bGV0enQgZGFyYW4sIGRhc3MgYXJjb3IgaW4KZGVuIG1laXN0ZW4gZmFlbGxlbiBvcmRlbnRsaWNoZSBsZWlzdHVuZ2VuIGVyYnJpbmd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgbG9obnQ/IChUcm95LCAxMS4gU2VwIDIwMDEsIDA5OjExOjA3KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDAxNDAxMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDE0MDA4MQpJbiBIYW1idXJnIGF1Y2ggZGllIDJNQml0LURTTC1GbGF0cmF0ZSB2b24gSGFuc2VOZXQgaW5jbC4gSVNETiBmdWVyCkRNIDExOSwtLSBqZSBNb25hdCAoMk1CaXQgZG93bnN0cmVhbSwgMTkyS0JpdCB1cHN0cmVhbSkKClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpcnVzLUFsZXJ0IDspIChBbmF0b2wsIDE5LiBTZXAgMjAwMSwgMTI6MTM6MzIpOgpGdWVyIGFsbGUgZGllIHdlaXRlcmUgSW5mb3JtYXRpb24genVtIE5pbWRhLVd1cm0gd3VlbnNjaGVuLCAgICAgICAgICAgICAgICAgICAKbGVpdGVuIHdpciBoaWVyIGRpZSBJbmZvcm1hdGlvbiB2b20gREZOLUNFUlQgd2VpdGVyLiAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgClZpZWwgR2x1ZWNrLCBkYXNzIFNpZSBkZW4gUGF0Y2ggaW5zdGFsbGllcnQgaGFiZW4sIF9iZXZvcl8gU2llICAgICAgICAgICAgICAgIApkZXIgV3VybSBoZWltc3VjaHQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKSWhyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgUlotVGVhbSBOZXR6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgpbU05JUF0KCkxpZWJlIEtvbGxlZ2lubmVuIHVuZCBLb2xsZWdlbiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApzb2ViZW4gZXJyZWljaHRlIHVucyBkYXMgbmFjaGZvbGdlbmRlIEFkdmlzb3J5IGRlcyBDRVJUIENvb3JkaW5hdGlvbiAgICAgICAgICAKQ2VudGVycy4gV2lyIGdlYmVuIGRpZXNlIEluZm9ybWF0aW9uZW4gdW52ZXJhZW5kZXJ0IGFuIFNpZSB3ZWl0ZXIuICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkJlc2NocmllYmVuIHdpcmQgZWluIG5ldWVyIFd1cm0gbmFtZW5zICJOaW1kYSIgKFczMi9OaW1kYSBha2EgIkNvbmNlcHQgICAgICAgIApWaXJ1cyAoQ1YpIHYuNS4iKSBkZXIgc2ljaCBhdWYgU3lzdGVtZW4gbWl0IFdpbmRvd3MgOTUsIDk4LCBNRSwgTlQgdW5kICAgICAgICAKMjAwMCBhdWYgZm9sZ2VuZGUgV2Vpc2UgdmVyYnJlaXRldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCigxKSB2b24gQ2xpZW50IHp1IENsaWVudCBwZXIgRU1haWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAooMikgdm9uIENsaWVudCB6dSBDbGllbnQgdWViZXIgZnJlaWdlZ2ViZW5lIFZlcnplaWNobmlzc2UgICAgICAgICAgICAgICAgICAgICAKKDMpIHZvbiBXZWJzZXJ2ZXIgenUgQ2xpZW50IGR1cmNoIEJyb3dzZW4ga29tcHJvbWl0aWVydGVyIFdlYnNlaXRlbiAgICAgICAgICAgCig0KSB2b24gQ2xpZW50IHp1IFdlYnNlcnZlciBkdXJjaCBTY2FubmVuIG5hY2ggdW5kIEF1c251dHplbiB2b24gZGVyICAgICAgICAgIAogICAgU2Nod2FjaHN0ZWxsZSAiTWljcm9zb2Z0IElJUyA0LjAgLyA1LjAgZGlyZWN0b3J5IHRyYXZlcnNhbCIgaW4gTVMgSUlTICAgIAogICAgNC4wIHVuZCA1LjAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAooNSkgdm9uIENsaWVudCB6dSBTZXJ2ZXIgZHVyY2ggU2Nhbm5lbiBuYWNoIHVuZCBCZW51dHplbiB2b24gbm9jaCAgICAgICAgICAgICAKICAgIG9mZmVuZW4gQmFja2Rvb3JzIGF1ZiBkdXJjaCBDb2RlLVJlZDIgdW5kIGRlbiAic2FkbWluZC9JSVMiIGJlZmFsbGVuZW4gICAKICAgIFN5c3RlbWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCltTTklQXQoKICAgICAgICAgIGh0dHA6Ly92aWwubWNhZmVlLmNvbS9kaXNwVmlydXMuYXNwP3ZpcnVzX2s9OTkyMDkmICAgICAgICAgICAgICAgICAKICAgICAgICAgIGh0dHA6Ly93d3cuZGF0YWZlbGxvd3MuY29tL3YtZGVzY3MvbmltZGEuc2h0bWwgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICBodHRwOi8vd3d3LnN5bWFudGVjLmNvbS9hdmNlbnRlci92ZW5jL2RhdGEvdzMyLm5pbWRhLmFAbW0uaHRtbCAgICAKICAgICAgICAgIGh0dHA6Ly93d3cuc29waG9zLmNvbS92aXJ1c2luZm8vYW5hbHlzZXMvdzMybmltZGFhLmh0bWwgICAgICAgICAgICAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXRvbmF0b3IgVHJlaWJlci4gKENyaXR0ZXIsIDE5LiBTZXAgMjAwMSwgMTI6NDE6MzYpOgpLYW5uIG1pciB2aWVsbGVpY2h0IGplbWFuZCBzYWdlbiwgd2llIG1hbiB1bnRlciB3aW45OCBiZWltIGxldHp0ZW4gCmRldXRzY2hlbiBkZXRvbmF0b3J0cmVpYmVyIGRhcyBiZWtuYWNrdGUgbnZpZGlhIGxvZ28gdW50ZW4gcmVjaHRzIHdlZ2tyaWVndC4KZ3J1c3MgYy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXRvbmF0b3IgVHJlaWJlci4gKENhdHdlYXpsZSwgMTkuIFNlcCAyMDAxLCAxNDozMzo0MSk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMDA4OTYwOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDg5NjA5NgpVZWJlcmtsZWJlbj8gS2F1Z3VtbWk/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXRvbmF0b3IgVHJlaWJlci4gKE11YWRpYiwgMTkuIFNlcCAyMDAxLCAxNDo0MToyOSk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMDA4OTYwOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDg5NjA5NgpoaSwKCm5pbW0gRGlyIGVpbmVuIGRlciB2aWVsZW4gZXJoYWVsdGxpY2hlbiBUd2Vha2VyVG9vbHMgZGF6dSB1bmQgZmVydGlnLgoKR3J1c3MKCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEh1bW9yIHZvbiBQcm9ncmFtbWllcmVybi4gKEdyaW1tYm9ybiwgMTkuIFNlcCAyMDAxLCAxNzoxMDowMCk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9MTAwMDkxMjE2MiBvZz1zY2htYXJybgp+IyEgcm49VmFuaW9uIHJ0PTEwMDA5MTE4NDkgcmc9c2NobWFycm4KfiMhIHRpZD0xMDAwOTExODQ5ClNlbGJlciBzY2h1bGQgd2VubiBEdSBSSCA3LjAgdmVyd2VuZGVzdC4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSHVtb3Igdm9uIFByb2dyYW1taWVyZXJuLiAoR3JpbW1ib3JuLCAxOS4gU2VwIDIwMDEsIDE3OjEzOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAwOTEyMjAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDA5MTE4NDkKTnVyIGRhbWl0IGVzIG5pY2h0IGhlaXNzdCBlcyBzZWkgYXVmIG1laW5lbSBNaXN0IGdld2FjaHNlbjoKClRvOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkZyb206IHRvcnZhbGRzQHRyYW5zbWV0YS5jb20gKExpbnVzIFRvcnZhbGRzKQpTdWJqZWN0OiBSZTogU2lnbmFsIDExCkRhdGU6ICAgMTQgRGVjIDIwMDAgMTE6MTE6MjggLTA4MDAKCkNsYXl0b24gV2VhdmVyICA8Y2d3ZWF2QGVza2ltby5jb20+IHdyb3RlOgo+Cj5UaGVyZSBoYXMgYSBiZWVuIGEgdGhyZWFkIG9uIHRoZSB0ZVRlWCBtYWlsaW5nIGxpc3QgdGhlIGxhc3QgZmV3IGRheXMKPmFib3V0IGEgKFJlZEhhdCwgYnV0IHByb2JhYmx5IG1vcmUgZ2VuZXJhbCB0aGFuIGp1c3QgdGhlaXIgcnBtcykKPmdjYy0yLjkuNiB3L2dsaWJjLTIuMi54IGJ1Zy4gQXQgLU8yLCBpdCBjYW4gbWlzY29tcGlsZSAKClF1aXRlIGZyYW5rbHksIGFueWJvZHkgd2hvIHVzZXMgUmVkSGF0IDcuMCBhbmQgdGhlaXIgYnJva2VuIGNvbXBpbGVyIGZvcgpfYW55dGhpbmdfIGlzIGdvaW5nIHRvIGhhdmUgdHJvdWJsZS4KCkkgZG9uJ3Qga25vdyB3aHkgUkggZGVjaWRlZCB0byBkbyB0aGVpciBpZGlvdGljIGdjYy0yLjk2IHJlbGVhc2UgKGl0CmNlcnRhaW5seSB3YXNuJ3QgYXBwcm92ZWQgYnkgYW55IHRlY2huaWNhbCBnY2MgcGVvcGxlIC0gdGhlIGdjYyBwZW9wbGUKd2VyZSB1cHNldCBhYm91dCBpdCB0b28pLCBhbmQgSSBmaW5kIGl0IGV2ZW4gbW9yZSBzdXJwcmlzaW5nIHRoYXQgdGhleQphcHBhcmVudGx5IEtORVcgdGhhdCB0aGUgY29tcGlsZXIgdGhleSB3ZXJlIHVzaW5nIHdhcyBjb21wbGV0ZWx5IGJyb2tlbi4gClRoZXkgaW5jbHVkZWQgYW5vdGhlciAobm9uLWJyb2tlbikgY29tcGlsZXIsIGFuZCBjYWxsZWQgaXQgImtnY2MiLiAKCiJrZ2NjIiBzdGFuZHMgZm9yICJrZXJuZWwgZ2NjIiwgYXBwYXJlbnRseSBiZWNhdXNlIChhKSB0aGV5IHJlYWxpc2VkCnRoYXQgYSBtaXNjb21waWxlZCBrZXJuZWwgaXMgZXZlbiB3b3JzZSB0aGFuIG1pc2NvbXBpbGluZyBzb21lIHJhbmRvbQp1c2VyIGFwcGxpY2F0aW9ucyBhbmQgKGIpIGdjYy0yLjk2IGlzIHNvIGJyb2tlbiB0aGF0IGl0IHJlcXVpcmVzIHNwZWNpYWwKbGlicmFyaWVzIGZvciBDKysgdnRhYmxlIGNodW5rcyBoYW5kbGluZyB0aGF0IGlzIGRpZmZlcmVudCwgc28gdGhlCl93b3JraW5nXyBnY2MgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHByb2dyYW1zIHRoYXQgZG8gbm90IG5lZWQgc3VjaApsaWJyYXJ5IHN1cHBvcnQuICBOYW1lbHkgdGhlIGtlcm5lbC4gCgpJbiBjYXNlIGl0IHdhc24ndCBvYnZpb3VzIHlldCwgSSBjb25zaWRlciBSZWRIYXQtNy4wIHRvIGJlIGJhc2ljYWxseQp1bnVzYWJsZSBhcyBhIGRldmVsb3BtZW50IHBsYXRmb3JtLCBhbmQgSSBob3BlIFJIIGRvd25ncmFkZXMgdGhlaXIKY29tcGlsZXIgdG8gc29tZXRoaW5nIHRoYXQgd29ya3MgYmV0dGVyIFJTTi4gIEl0IGFwcGFyZW50bHkgaGFzIHByb2JsZW1zCmNvbXBpbGluZyBzdHVmZiBsaWtlIHRoZSBDVlMgc25hcHNob3RzIG9mIFggZXRjIHRvbyAoYW5kIG9idmlvdXNseSwKYW55dGhpbmcgeW91IGNvbXBpbGUgdW5kZXIgZ2NjLTIuOTYgaXMgbm90IGxpa2VseSB0byB3b3JrIGFueXdoZXJlIGVsc2UKZXhjZXB0IHdpdGggdGhlIGJyb2tlbiBsaWJyYXJpZXMpLiAKCiAgICAgICAgICAgICAgICBMaW51cwoKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERldG9uYXRvciBUcmVpYmVyLiAoTGluZmxhcywgMTkuIFNlcCAyMDAxLCAxNzozOTozMCk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMDA4OTYwOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDg5NjA5NgpJbW1lcjogU3RhcnQgLT4gUHJvZ3JhbW1lIC0+IFp1YmVob2VyIC0+IFN5c3RlbXByb2dyYW1tZSAtPiBTeXN0ZW1pbmZvcm1hdGlvbgotPiBFeHRyYXMgLT4gU3lzdGVta29uZmlndXJhdGlvbnNwcm9ncmFtbSAtPiBBdXRvc3RhcnQuIApEb3J0IHVudGVyIG52aWRpYSBkYXMgSGFla2NoZW4gd2VnbWFjaGVuLCBuZXVzdGFydGVuIHVuZCB3ZWcgaXNzZXMuCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXRvbmF0b3IgVHJlaWJlci4gKE11YWRpYiwgMTkuIFNlcCAyMDAxLCAxNzo0Mzo1Nik6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMDA5MTM5NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDg5NjA5NgpkYW5uIGZ1bmt0aW9uaWVydCBhYmVyIGRhcyBzeXN0ZW0gbm9jaCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXRvbmF0b3IgVHJlaWJlci4gKENyaXR0ZXIsIDE5LiBTZXAgMjAwMSwgMTk6MDQ6MzMpOgp+IyEgcm49TGluZmxhcyBydD0xMDAwOTEzOTcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDA4OTYwOTYKbnVyIGRhcyBpY2ggZGEga2VpbmVuIGVpbnRyYWcgdW50ZXIgbnZpZGlhIGhhYi4uLi4gbiB0aXAgZXZ0bCBmdWVyIGRpZSAKcmVnaXN0cnk/ISBkYXMgcGFzc2llcnQgaW1tZXIgd2VubiBkYXMgZGluZyBtaXQgZGlyZWN0IDNkIGFyYmVpdGV0CmdydXNzIGMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEZXRvbmF0b3IgVHJlaWJlci4gKExpbmZsYXMsIDE5LiBTZXAgMjAwMSwgMjA6MjU6MTUpOgp+IyEgcm49Q3JpdHRlciBydD0xMDAwOTE5MDczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDA4OTYwOTYKSG1tbSwgYWxzbyB3ZW5uIGRlciBkYXMgRGluZyBwZXIgQXV0b3N0YXJ0IGxhZWR0IHVuZCBkYXMgX25pY2h0XyB3aWUKYmVzY2hyaWViZW4gYXVmdGF1Y2h0LCBkYW5uIG11c3N0ZSB3b2hsIG9kZXIgdWViZWwgaW4gZGllIFJlZ2lzdHJ5LiBBYmVyIGRhCm1hbiBkYSBlaW5mYWNoIG5pY2h0IHdpc3NlbiBrYW5uLCB3YXMgcGFzc2llcnQgd2VubiBkYSBoZXJ1bWdlcGZ1c2NodCB3aXJkCihpY2ggZ2xhdWJlIG5hZW1saWNoLCBNJCBiYXV0IGRhIG5lIFNpY2hlcnVuZyBlaW4sIGRpZSBkZW4gUmVjaG5lciBkYW5uIG51cgpub2NoIFF1YXJrIG1hY2hlbiBsYWVzc3QpLCBlbXBmZWhsZSBpY2ggdW5laW5nZXNjaHJhZW5rdCBlaW4gVHJlaWJlciBVcC0gYnp3LgpEb3duZGF0ZSBvZGVyIGVpbmVuIFdlY2hzZWwgZGVzIEJldHJpZWJzc3lzdGVtcy4KCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEZXRvbmF0b3IgVHJlaWJlci4gKE1vcmdvdGgsIDE5LiBTZXAgMjAwMSwgMjI6Mjk6MTApOgp+IyEgcm49TGluZmxhcyBydD0xMDAwOTIzOTE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDA4OTYwOTYKSEtFWV9MT0NBTF9NQUNISU5FXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXC4uLiAKLi4uIFJ1blxFaW50cmFnOkxhbGFsYQouLi4gUnVuU2VydmljZXNcRWludHJhZzpMYWxhbGEKCkRvcnQgc29sbHRlIGlyZ2VuZHdvIGRpZXNlcyBuaWVkbGljaGUgblZpZGlhIFRlaWwgZHJpbnN0ZWhlbi4gRWluZmFjaCBsb2VzY2hlbgo6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGV0b25hdG9yIFRyZWliZXIuIChOb25uZSwgMjAuIFNlcCAyMDAxLCAwODo1MjozMCk6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMDA5MTM5NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMDg5NjA5NgpLYW5uIG1pciBtYWwgZWluZXIgZXJrbGFlcmVuLCB3aWVzbyBtYW4gQXV0b3N0YXJ0IHVudGVyIFN5c3RlbWluZm9ybWF0aW9uCmtvbmZpZ3VyaWVydD8gVW50ZXIgJ0luZm9ybWF0aW9uJyB3dWVyZGUgaWNoIGFscyBsZXR6dGVzIHN1Y2hlbiwgd2VubiBpY2ggd2FzCmtvbmZpZ3VyaWVyZW4gd2lsbC4KCkFiZXIgamV0enQgd2Vpc3MgaWNocyBlbmRsaWNoIChjOwpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlaXNlcmZzIChHcmltbWJvcm4sICAxLiBPa3QgMjAwMSwgMjI6MjU6MTcpOgpBdXMgZ2VnZWJlbmVtIEFubGFzcyBtb2VjaHRlIGljaCBub2NobWFsIGZvciByZWlzZXJmcyB3YXJuZW4uIEltIEZhbGxlIGVpbmVzCmNyYXNocyBnaWJ0IGVzIGVpbmUgdm9uIE51bGwgdmVyc2NoaWVkZW5lIFdhaHJzY2hlaW5saWNoa2VpdCBkYXNzIGRhcyBmcwp1bnJldHRiYXIgKHJlaXNlcmZzIGhhdCBrZWluZSBkZXNhc3RlciByZWNvdmVyeSB0b29scykgaGluIGlzdC4gV29obCBkZW0gZGVyCnJlaXNlcmZzIG51ciBhdWYgLywgbmljaHQgYWJlciBhdWYgL2hvbWUgaGF0LiBMZWlkZXIgaGFiZSBpY2ggZGFiZWkgbmljaHQKYmVkYWNodCBkYXNzIC92YXIvbWFpbCBhdWNoIGF1ZiBkZXIgcm9vdCBwYXJ0aXRpb24gaXN0LiBJbW1lcmhpbiBpc3QgbWVpbmUKaW5ib3ggamV0enQgc2Nob2VuIGxlZXIuLi4KCkFjaCBzbywgbmVpbiwgZXMgZ2VodCBuaWNodCB1bSBXaW5kb3dzIHNvbmRlcm4gdW0gTGludXguCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZWlzZXJmcyAoQW1hcnlsbGlzLCAgMS4gT2t0IDIwMDEsIDIyOjI4OjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxOTY3OTE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDE5Njc5MTcKSWNoIGRhY2h0ZSwgRHUgaGFldHRlc3QgZHJhdXMgZ2VsZXJudCwgbmFjaGRlbSBpY2ggaGllciB2b3IgZWluaWdlbiBNb25hdGVuCmJlcmVpdHMgYmVyaWNodGV0IGhhYmUsIHdpZSBtaXIgbWVpbmUgUGFydGl0aW9uIGZsb2V0ZW4gZ2luZz8KCk51amEsIGljaCBoYWIgamVkZW5mYWxscyBzZWl0ZGVtIGF1Y2gga2VpbiByZWlzZXJmcyBtZWhyIGltIEVpbnNhdHouLi4KCkFtYSoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJlaXNlcmZzIChHcmltbWJvcm4sICAxLiBPa3QgMjAwMSwgMjI6MzE6MjEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDE5NjgxMTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMTk2NzkxNwpBZWgsIGRhcyB3YXIgZnVlciBtaWNoIGthbGt1bGllcnRlcyBSaXNpa286IC8ga2FubiBpY2ggcmVsYXRpdiBzY2huZWxsCnJlc3RhdXJpZXJlbiBtaXRoaWxmZSBlaW5lciBDRCB1bmQgZWluZXMgL2hvbWUvYmFja3VwLCB3byBkaWUgbmljaHQtbmF0aXZlbgpTYWNoZW4gc2luZC4gSWNoIHdhciBoYWx0IG51ciB6dSBkYWVtbGljaCBhbiAvdmFyL21haWwgenUgZGVua2VuLi4uICpzZXVmeiogRGEKd2FyZW4gcmljaHRpZyBhbHRlIFNjaGFldHpjaGVuIGRhYmVpLCBtaXIgc2luZCBydW5kIDI3MCBtYWlscyB2ZXJsb3JlbgpnZWdhbmdlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByZWlzZXJmcyAoQW1hcnlsbGlzLCAgMS4gT2t0IDIwMDEsIDIyOjM4OjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxOTY4MjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDE5Njc5MTcKSG0sIHdhcyBCYWNrdXAgYmV0cmlmZnQsIGR1cmZ0ZSBpY2ggZGFtYWxzIGRpZSBFcmZhaHJ1bmcgbWFjaGVuLCBkaWUgTXVycGh5IHNvCnRyZWZmZW5kIGJlc2NocmVpYnQ6ICJEYXMgbGV0enRlIEJhY2t1cCBpc3QgaW1tZXIgbm9jaCBlaW5lbiBUYWcgYWVsdGVyIGFscwpkZXIgU3RhbmQsIGRlbiBtYW4gZWlnZW50bGljaCBicmFldWNodGUuLi4iIChzaW5uZ2VtYWVzcykgOi8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlaXNlcmZzIChHcmltbWJvcm4sICAxLiBPa3QgMjAwMSwgMjI6Mzk6MjIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDE5Njg3MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMTk2NzkxNwpCYWNrdXBzIHdlcmRlbiBpbW1lciBhbSBUYWcgbmFjaCBkZXIgS2F0YXN0cm9waGUgZ2VtYWNodC4gVW5kIHNvbGFuZ2UKcmVnZWxtYWVzc2lnIGR1cmNoZ2VmdWVocnQgd2llIG5peCBwYXNzaWVydC4gV2VubiBtYW4gZGFtaXQgbmFjaGxhZXNzdCBpc3RzClplaXQgZnVlciBkZW4gbmFlY2hzdGVuIGNyYXNoLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJlaXNlcmZzIChab29rLCAgMS4gT2t0IDIwMDEsIDIyOjQ1OjA3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxOTY4NzYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDE5Njc5MTcKQWNoLCB3YXMgd2FyIG5vY2htYSByZWlzZXJmcz8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVpc2VyZnMgKFBhdHJ5biwgIDEuIE9rdCAyMDAxLCAyMjo0ODowMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMTk2NzkxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAxOTY3OTE3Cm1pciB3b2xsdGUgaW1tZXIga2VpbmVyIGdsYXViZW4gOikKbWlyIHdhciBhdWNoIGRhcyBnZXNhbXRlIGhvbWUgdmVyc2Nod3VuZGVuLCB6dW0gZ2x1ZWNrIGtvbm50ZSBpY2hzCnRlaWx3ZWlzZSBtaXQgcmVpc2VyY2hja2ZzIHJlYnVpbGR0cmVlL3JlcGFpcmlyZ2VuZHdhcyB3aWVkZXJob2xlbi4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmVpc2VyZnMgKE11cGZlbCwgIDEuIE9rdCAyMDAxLCAyMjo0OToxMik6Cn4jISBybj1QYXRyeW4gcnQ9MTAwMTk2OTI4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAxOTY3OTE3CndpZSBpc3NlcyBtaXQgZXh0MyA/IG9kZXIgeGZzID8gb2RlciBkaWVzZW0gZGluZyB2b24gaWJtLCB3aWUgaGllc3MgZXMgbm9jaApnbGVpY2g/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmVpc2VyZnMgKEdyaW1tYm9ybiwgIDEuIE9rdCAyMDAxLCAyMjo1MjoyMCk6Cn4jISBybj1NdXBmZWwgcnQ9MTAwMTk2OTM1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAxOTY3OTE3CmV4dDNmcyBpc3Qgd2VzZW50bGljaCBzaWNoZXJlciwgd2VpbCBkYXMgbGV0enRsaWNoIGF1ZiBleHQyZnMgYXVmZ2VzZXR6dCBpc3QsCnVuZCBkYSBnaWJ0cyBlbnRzcHJlY2hlbmRlIHRvb2xzLiBadSBKRlMgdW5kIFhGUyAoSW50ZWwsIFNHSSkga2FubiBpY2ggbmljaHRzCnNhZ2VuLgpXZW5uIER1IGVpbiB3aXJrbGljaCBzdGFiaWxlcyBmcyBoYWJlbiB3aWxsc3Qgd3VlcmRlIGljaCAqQlNEIGVtcGZlaGxlbi4gQXVjaApleHQyZnMgaGF0IGVpbiBwYWFyIERlc2lnbnNjaHdhZWNoZW4gdWViZXIgZGllIG1hbiBsaWViZXIgbmljaHQgbmFjaGRlbmtlbgp3aWxsICh1bmQgZGllIHVucmNvdmVyYWJsZSBzaW5kKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZWlzZXJmcyAoVmFuaW9uLCAgMS4gT2t0IDIwMDEsIDIyOjU0OjI5KToKfiMhIHJuPVBhdHJ5biBydD0xMDAxOTY5MjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDE5Njc5MTcKSWNoIGhhYiB2b3Iga3VyemVtIEZlc3RzdGVsbGVuIGR1ZXJmZW4vbXVlc3NlbiwgZGFzcyBSZWlzZXIgbmljaHQgaW4gZGVyIExhZ2UKaXN0IGF1ZiBkZXIgUGxhdHRlIG1pdCBkZWZla3RlbiBTZWt0b3JlbiB1bXp1Z2VoZW4uIE1pdCBFeHQyIGthbm4gbWFuIGphIHNlaW5lClBsYXR0ZSBtaXQgZWluZXIgQ2hlY2stT3B0aW9uIGZvcm1hdGllcmVuLCB3b2JlaSBkZWZla3RlIFNla3RvcmVuIGFscwp1bmd1ZWx0aWcgZ2VrZW5uemVpY2huZXQgd2VyZGVuLiBNaXQgUmVpc2VyIGthbm4gbWFuIGhpZXIgYmVsaWViaWcgZmF0YWxlCkNyYXNocyBlcnpldWdlbiA6KAoKViosIHdpcmQgYWxzbyBpbW1lciBub2NoIHZvbSAnY2hlY2sgZm9yY2VkJyBnZW5lcnZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlaXNlcmZzIChUeWxhaywgIDEuIE9rdCAyMDAxLCAyMjo1NjozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMTk2NzkxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAxOTY3OTE3Cj5JbSBGYWxsZSBlaW5lcyBjcmFzaHMgZ2lidCBlcyBlaW5lIHZvbiBOdWxsIHZlcnNjaGllZGVuZSBXYWhyc2NoZWlubGljaGtlaXQKPmRhc3MgZGFzIGZzIHVucmV0dGJhciAocmVpc2VyZnMgaGF0IGtlaW5lIGRlc2FzdGVyIHJlY292ZXJ5IHRvb2xzKSBoaW4gaXN0LgoKV2VubiBkdSBkaWUgImRlc2FzdGVyIHJlY292ZXJ5IHRvb2xzIiBuaWNodCBnZWZ1bmRlbiBoYXN0LCBiZXN0ZWh0IHZpZWxsZWljaHQKc29nYXIgbm9jaCBIb2ZmbnVuZyBmdWVyIGRlaW5lIFBhcnRpdGlvbi4gRmFsbHMgZGVpbmUgcmVpc2VyZnMtdXRpbHMgbmljaHQKZ2VyYWRlIHVyYWx0IHNpbmQsIHNvbGx0ZSAvc2Jpbi9mc2NrLnJlaXNlcmZzIGV4aXN0aWVyZW4sIHdlbGNoZXMgZWluIExpbmsKYXVmIHJlaXNlcmZzY2sgaXN0LiBEaWVzZXMga2FubiBSZWlzZXJmcy1QYXJ0aXRpb25lbiB1ZWJlcnBydWVmZW4gdW5kCnJlcGFyaWVyZW4uCkRpZSBuZXVzdGUgVmVyc2lvbiBkYXZvbiBnaWJ0cyBoaWVyOiA8aHR0cDovL3d3dy5uYW1lc3lzLmNvbS9kb3dubG9hZC5odG1sPgoKVHlsYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmVpc2VyZnMgKFpvb2ssICAxLiBPa3QgMjAwMSwgMjI6NTc6NTEpOgp+IyEgcm49VHlsYWsgcnQ9MTAwMTk2OTc5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAxOTY3OTE3CkljaCBoYWIgdWZzLiBUYXVndCBkYXMgd2FzPyAKClpvb2sgd29sbHRlIHNjaG9uIGltbWVyIHdpc3Nlbiwgd2FzIGRhcyBGUyBzbyBrYW5uLiBTcGV6aWFsaXN0ZW4gdm9yISA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZWlzZXJmcyAoR3JpbW1ib3JuLCAgMS4gT2t0IDIwMDEsIDIzOjA0OjQ4KToKfiMhIHJuPVR5bGFrIHJ0PTEwMDE5Njk3OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMTk2NzkxNwpEYXMgU3lzdGVtIGhhdCBiZWltIG1vdW50ZW4ga2VpbiBndWVsdGlnZXMgRGF0ZWlzeXN0ZW0gZ2VmdW5kZW4uIFVuZCBuZWluLCBpY2gKaGFiZSBuZXUgZm9ybWF0aWVydCB1bmQgbmV1IGluc3RhbGxpZXJ0LiBadSBkZW0gWmVpdHB1bmt0IGdpbmcgaWNoIGphIGRhdm9uCmF1cyBkYXNzIGljaCBhbGxlcyByZXN0YXVyaWVyZW4ga29lbm5lbiB3dWVyZGUuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXMgZ2lidCB2aWVsIHp1IHR1bi4uLiBmdWVyIExpbnV4IDotKCAoU2NobGVpY2hlciwgMTEuIE9rdCAyMDAxLCAwOTo0NzoxNyk6CkdyYWRlIHBlciBFLU1haWwgY29uIENORVQgYmVpIG1pciBhdWZnZXNjaGxhZ2VuLi4uIElzdCBkb2NoIHp1IGtvLi4uLnNwdWNrZW4Kd2VubiBtYW4gc2ljaCBkYXMgYW5rdWNrdC4uLgoKVG9wIDEwIE1vc3QgUG9wdWxhciBVcGdyYWRlcwoxLiBBZG9iZSBQaG90b3Nob3AgNi4wCjIuIEFkb2JlIEFjcm9iYXQgNS4wIAozLiBNaWNyb3NvZnQgV2luZG93cyBYUCBIb21lIEVkaXRpb24gVXBncmFkZQo0LiBNY0FmZWUgVmlydXNTY2FuIDUuMAo1LiBOb3J0b24gQW50aXZpcnVzIDIwMDEKNi4gUGFpbnQgU2hvcCBQcm8gNy4wCjcuIE1pY3Jvc29mdCBPdXRsb29rIDIwMDIKOC4gTWljcm9zb2Z0IFdpbmRvd3MgOTggMm5kIEVkaXRpb24KOS4gTWljcm9zb2Z0IFdpbmRvd3MgTWlsbGVubml1bSBVcGdyYWRlCjEwLiBNaWNyb3NvZnQgT2ZmaWNlIFhQCgpXaWUgd2FyIGRhcyBtaXQgZGVuIE1pbGxpb25lbiBGbGllZ2VuLi4uCgpTY2hsZWljaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXMgZ2lidCB2aWVsIHp1IHR1bi4uLiBmdWVyIExpbnV4IDotKCAoR3JpbW1ib3JuLCAxMS4gT2t0IDIwMDEsIDEwOjQzOjQ3KToKfiMhIHJuPVNjaGxlaWNoZXIgcnQ9MTAwMjc4NjQzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAyNzg2NDM3CkljaCB3ZWlzcyBuaWNodCB3YXMgRHUgZGFtaXQgc2FnZW4gd2lsbHN0LiBVZWJsaWNoZXJ3ZWlzZSBtYWNodCBtYW4gZWluIHVwZGF0ZQp3ZW5uIG1hbiBtaXQgZGVyIGFsdGVuIFZlcnNpb24gbmljaHQgenVmcmllZGVuIGlzdCwgd2VpbCBzaWUgYnVnZ3kgaXN0IG9kZXIKd2VpbCB3YXMgZmVobHQuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVzIGdpYnQgdmllbCB6dSB0dW4uLi4gZnVlciBMaW51eCA6LSggKFNjaGxlaWNoZXIsIDExLiBPa3QgMjAwMSwgMTA6NTY6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDI3ODk4Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMjc4NjQzNwpBZWggamEsIG51ciB3ZWxjaGVuIFNpbm4gaGF0IGVpbiBVcGRhdGUgd2VubiBtYW4gZ2VuYXUgd2Vpc3MgZGFzIGRpZQpnZXVwZGF0ZXRlIFZlcnNpb24gZ2VuYXVzbyBidWdneSBpc3QgdW5kIGdlbmF1c28gdW56dWZyaWVkZW4gbWFjaHQ/IFNjaG9uIGRpZQphbHRlbiBBbGNoZW1pc3RlbiBzaW5kIGRyYW4gZ2VzY2hlaXRlcnQgYXUgRHJlY2sgR29sZCB6dSBtYWNoZW4uLi4KClNjaGxlaWNoZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcyBnaWJ0IHZpZWwgenUgdHVuLi4uIGZ1ZXIgTGludXggOi0oIChHcmltbWJvcm4sIDExLiBPa3QgMjAwMSwgMTA6NTg6MDApOgp+IyEgcm49U2NobGVpY2hlciBydD0xMDAyNzkwNTc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDI3ODY0MzcKSG9mZm51bmcgaXN0IGVpbmUgZGVyIHBlcnNpc3RlbnRlc3RlbiBFaWdlbnNjaGFmdGVuIGRlcyBNZW5zY2hlbi4gVW5kIG11c3MKbmljaHQgcmF0aW9uYWwgYmVncnVlbmRldCBzZWluLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcyBnaWJ0IHZpZWwgenUgdHVuLi4uIGZ1ZXIgTGludXggOi0oIChNdXBmZWwsIDExLiBPa3QgMjAwMSwgMTk6MTE6MzgpOgp+IyEgcm49U2NobGVpY2hlciBydD0xMDAyNzkwNTc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDI3ODY0MzcKT2huZWluLi4gZGllICpndXRlbiogQWxjaGVtaXN0ZW4gaGFiZW4gc2VociB3b2hsIGF1cyBEcmVjayBHb2xkIGdlbWFjaHQuLi4gbnVyCmF1ZiBlaW5lIGdhbnogYW5kZXJlIFdlaXNlIHdpZSBzaWUgdm9yZ2FiZW4gOykKCi1tdXBmZWwtCiJFdXJlIE1hamVzdGFldCwgaWNoIGthbm4gYXVzIERyZWNrIEdvbGQgbWFjaGVuLiBFaW4gUGZ1bmQgRHJlY2sga29zdGV0IGFsc28KZnVlciBFdWNoIChlaW4gZWNodGVyIEZyZXVuZHNjaGFmdHNwcmVpcykgbnVyIDUwMCBHdWxkZW4iIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWlybyBEQyAzMCAoR25vbWUsIDEyLiBPa3QgMjAwMSwgMTk6MDI6NTQpOgp2ZXJrYXVmZSB2aWRlby1zY2huaXR0a2FydGUgKFBDSSkgIm1pcm8gREMgMzAiLCBETSA2MDAgLC0KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcyBnaWJ0IHZpZWwgenUgdHVuLi4uIGZ1ZXIgTGludXggOi0oIChTaWx2YW5hLCAxNS4gT2t0IDIwMDEsIDE3OjM2OjM1KToKfiMhIHJuPVNjaGxlaWNoZXIgcnQ9MTAwMjc5MDU3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAyNzg2NDM3CkhtbS4uLiBQYWludFNob3AgUHJvIHZlcndlbmRlIGljaCBzZWl0IGRlciBWZXJzaW9uIDMgdW5kIGRlbiBQaG90b3Nob3AKaW1tZXJoaW4gc2VpdCBWZXJzaW9uIDQuIFVuZCBpY2ggd2FyIGRhbWFscyBzY2hvbiBkYW1pdCB6dWZyaWVkZW4uIFNpZSBzaW5kCmJsb3NzIGluendpc2NoZW4gbm9jaCBkZXV0bGljaCBiZXNzZXIgZ2V3b3JkZW4uLi4gVWViZXIgZGllIE0kLVByb2R1a3RlIGthbm4KaWNoIGFsbGVyZGluZ3MgYXVzIG9mZmVuc2ljaHRsaWNoZW4gR3J1ZW5kZW4gc28gZXR3YXMgbmljaHQgc2FnZW4uLi4gOy0pCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNTSCB1bnRlciBXaW4qIChTaWx2YW5hLCAxNi4gT2t0IDIwMDEsIDE0OjE1OjE5KToKU2FsdmUKCkljaCBzdWNoZSBkcmluZ2VuZCBlaW5lbiBTU0ggQ2xpZW50IGZ1ZXIgV2luMksuIERpZXNlciBtdXNzIGFsbGVyZGluZ3MgYXVjaCBpbgpkZXIgTGFnZSBzZWluLCBrZXlzIHp1IGVyc3RlbGxlbiB1bmQgaWRlbnRpdHktRmlsZXMgenUgZXhwb3J0aWVyZW4uCgpTZWN1cmVDUlQgaXN0IHZvbiBzZWluZW4gTW9lZ2xpY2hrZWl0ZW4gc2ljaGVyIE9LLCBhYmVyIGVudHNjaGllZGVuIHp1IHRldWVyLgpUZXJhVGVybSBtaXQgVFRTU0ggaXN0IHp3YXIgZ3V0ICh1bmQga29zdGVubG9zKSwga2FubiBhYmVyIGtlaW5lIGtleXMKZXJzdGVsbGVuLiBJcmdlbmR3ZWxjaGUgVm9yc2NobGFlZ2U/Ck5laW4sIExpbnV4IG9kZXIgY3lnd2luIHp1IGluc3RhbGxpZXJlbiBpc3QgS0VJTkUgT3B0aW9uLgoKICBTaWx2YW5hICh3dWVyZGUgZ2VybiBtYWwgd2llZGVyIHdhcyBmdWVyIGRpZSBMaWIgdHVuLCBrYW5uIGFiZXIgbmljaHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU1NIIHVudGVyIFdpbiogKEdyaW1tYm9ybiwgMTYuIE9rdCAyMDAxLCAxNDoxNTo1MSk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDMyMzQ1MTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpJSVJDIGdpYnRzIHZtd2FyZSBhdWNoIGZ1ZXIgdzJrLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNTSCB1bnRlciBXaW4qIChBaGFiLCAxNi4gT2t0IDIwMDEsIDE0OjE3OjA1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzMjM0NTUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKWk9DIG11ZXNzdGUgSU1ITyBpbiBlaW5lciBoYWxid2VncyBha3R1ZWxsZW4gVmVyc2lvbiBhdWNoIFNTSCB1bnRlcnN0dWV0emVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNTSCB1bnRlciBXaW4qIChNb3Jnb3RoLCAxNi4gT2t0IDIwMDEsIDE0OjQxOjAwKToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwMzIzNDUxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5ClByb2JpZXIgbWFsIGRpZSAib3JpZ2luYWwiIFNTSCB2b24gd3d3LnNzaC5jb20KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNTSCB1bnRlciBXaW4qIChIb3VzZWhvbGRlciwgMTYuIE9rdCAyMDAxLCAxNDo0NDozNSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMDMyMzYwNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpzY2hvbm1hbCBwdXR0eSBhbmdlc2NoYXV0ID8gLT4KaHR0cDovL3d3dy5jaGlhcmsuZ3JlZW5lbmQub3JnLnVrL35zZ3RhdGhhbS9wdXR0eS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNTSCB1bnRlciBXaW4qIChSdW1hdGEsIDE2LiBPa3QgMjAwMSwgMTU6MDE6MDgpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTAwMzIzNjI3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5ClB1dHR5IGlzdCBmcmVld2FyZSB1bmQgaGF0IGJlaSB1bnMgaW4gZGVyIEZpcm1hIGluIG51bGxrb21tYW5peCBhbGxlIGFuZGVyZW4Kc3NoIGNsaWVudHMgdmVyZHJhZW5ndC4KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNTSCB1bnRlciBXaW4qIChNb3Jnb3RoLCAxNi4gT2t0IDIwMDEsIDE1OjAyOjIwKToKfiMhIHJuPVJ1bWF0YSBydD0xMDAzMjM3MjY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKSmEsIGljaCBudXR6IGRhcyBhdWNoIHp1IEhhdXNlLCBhYmVyIGRpZSBBbmZvcmRlcnVuZ2VuIHdhcmVuIGF1Y2gKS2V5LWltcG9ydC9leHBvcnQuIEljaCB3ZWlzcyBuaWNodCBvYiBQVVRUWSBkYXMga2Fubi4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTU0ggdW50ZXIgV2luKiAoU2lsdmFuYSwgMTYuIE9rdCAyMDAxLCAxNTowNDowNik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMDMyMzczNDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpMYXV0IGRlcmVuIFdlYnNlaXRlIGthbm4gZGFzIFp1c2F0em1vZHVsIHB1VFRZZ2VuIGdlbmF1IGRhcy4gSWNoIHdlcmQncwp0ZXN0ZW4sIHNvYmFsZCBlaW4gUmVjaG5lcmFic3R1cnoga2VpbmUgS2F0YXN0cm9waGUgbWVociB3YWVyZS4gTmFjaGRlbSBtZWluCmxldHp0ZXMgVGVzdGJpbGQgbnVuIHNlaXQgdWViZXIgMTAwaCBnZXJlbmRlcnQgd2lyZCwgbWFnIGljaCB1bmdlcm4gdW5ub2V0aWdlcwpSaXNpa28gZWluZ2VoZW4uLi4gSWNoIGhhYiBuaWNodCB3aXJrbGljaCBkaWUgWmVpdCBmdWVyIG5vY2ggbmVuIFZlcnN1Y2guLi4KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNTSCB1bnRlciBXaW4qIChUb2csIDE2LiBPa3QgMjAwMSwgMTk6NTU6MDQpOgp+IyEgcm49U2lsdmFuYSBydD0xMDAzMjM0NTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKCj4gTmVpbiwgTGludXggb2RlciBjeWd3aW4genUgaW5zdGFsbGllcmVuIGlzdCBLRUlORSBPcHRpb24uCgpzZWxiZXIgc2NodWxkIQoKVG9nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTU0ggdW50ZXIgV2luKiAoVmFuaW9uLCAxNi4gT2t0IDIwMDEsIDIzOjI3OjM4KToKfiMhIHJuPVRvZyBydD0xMDAzMjU0OTA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKRHUga2FubnN0IGRpciBuaWNodCB2b3JzdGVsbGVuLCBkYXNzIGVzIGFldXNzZXJlIFVtc3RhZW5kZSBnaWJ0LCBkaWUgZXMgZWluZW0KZWluZmFjaCBuaWNodCBlcmxhdWJlbiwgYXVmIExpbnV4IHVtenVzdGVpZ2VuPwoKU2VpZW4gZXMgc3BlemllbGxlIFRvb2xzLCBkaWUgbmljaCBmdWVyIEwqIGV4aXN0aWVyZW4sIG9kZXIgQ2hlZnMgZGllIGRhcyBuaWNoCndvbGxlbi4KClYqIG1laW50IGRhc3MgZGVyIGxldHp0ZSBPUy1GbGFtZXdhciBub2NoIG5pY2ggbGFuZ2UgZ2VudWcgaGVyIGlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1NIIHVudGVyIFdpbiogKEdyaW1tYm9ybiwgMTYuIE9rdCAyMDAxLCAyMzo0NDoxMyk6Cn4jISBybj1WYW5pb24gcnQ9MTAwMzI2NzY1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5CkFydC4gMyBBYnMuIDMgR0cuIERhcyBhbHMgWmVpY2hlbiBkYXNzIGVzIGltbWVyIE1vZWdsaWNoa2VpdGVuIGdpYnQuIERhcwpoZWlzc3QgamEgbmljaHQgZGFzcyBzaWUgZWluZW0gaW4gZGVuIFNjaG9zcyBmYWxsZW4gbXVlc3Nlbi4gT2RlciBkYXNzIGVzCm5pY2h0IGJlcXVlbWVyIHdhZXJlIG1pdHp1c2Nod2ltbWVuLiBPZGVyIGRhc3MgaWNoIGF1c3NjaGxpZXNzZW4ga29lbm50ZSBhdWNoCm1hbCBkYW1pdCB6dSB0dW4genUgaGFiZW4uIEFiZXI6IFdlbm4gaWNoIEJhZWNrZXIgYmluIHVuZCBkYW5uIHJ1bWhldWxlCih3b2hsZ2VtZXJrdDogZGFzIGlzdCBiaXNoZXIgamEgbmljaHQgcGFzc2llcnQpIHdlaWwgZGllIEFyYmVpdCBhbSBPZmVuIHNvCmhlaXNzIGlzdCwgZGFubiBrYW5uIGljaCBudXIgYXVmIGJlZ3Jlbnp0ZXMgTWl0bGVpZCB6YWVobGVuLiBJY2ggaGFldHRlIGphCmF1Y2ggTWF1cmVyIHdlcmRlbiBrb2VubmVuLCBhdWNoIHdlbm4gbW9tZW50YW4gamVkZXIgc29uc3QgQmFlY2tlciB3aXJkLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTU0ggdW50ZXIgV2luKiAoVmFuaW9uLCAxNi4gT2t0IDIwMDEsIDIzOjUxOjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzMjY4NjUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKQWRtaW5zIHdlcmRlbiBpbiBkZXIgUmVnZWwgZWluZ2VzdGVsbHQsIHVtIFByb2JsZW1lIG1pdCBkZXIgaGFydHdhcmUgdW50ZXIgZGVuCmdlZ2ViZW5lbiBVbXN0YWVuZGVuIHp1IGxvZXNlbi4KCldlbm4gQWRtaW4gQSBhbmtvbW10IHVuZCBzYWd0OiBEaWUgTG9lc3VuZyBpc3QsIGFsbGVuIE1pdGFyYmVpdGVybiBlaW5lClNjaHVsdW5nIGF1ZiBlaW4gbmV1ZXMgT1MgenVrb21tZW4genUgbGFzc2VuLCB1bmQgZWluIEphaHIgbWl0CnVucGFlc3NsaWNoa2VpdGVuIHdlZ2VuIFJlaWJ1bmdlbiBpbSBuZXVlbiBTeXN0ZW0genUgcmVjaG5lbiBpcy4gV2lyIGtvZW5uZW4KZGFmdWVyIGFiZXIgaW4gMiBKYWhyZW4gZGllIFBvcnRpZXJ1bmcgZGVyIGJpc2hlciBsYXVmZW5kZW4gU29mdHdhcmUgYmVrb21tZW4KdW5kIGRhbm4gdmllbCBtZWhyIGRhcmFuIHNlbGJzdCBtYWNoZW4uIFVORCAgc3NoIGlzIGRhbm4ga2VpbiBQcm9ibGVtIG1laHIhISEKCkljaCBkZW5rZSBkYW5uIGhhdCBBZG1pbiBCIChBJ3MgTmFjaGZvbGdlcikgZ2VsZWdlbmhlaXQsIGVpbmVuIG5ldWVuCkxvZXN1bmdzYW5zYXR6IHp1IGVyYXJiZWl0ZW4uCgpWKiB3ZWlzcywgZGFzcyBlcyBEaW5nZSBnaWJ0LCBmdWVyIGRpZSBlcyBzaWNoIG5pY2ggenUga2FlbXBmZW4gTG9obnQuCgpQUzogSWNoIHNlbGJzdCBudXR6ZSBmYXN0IG51ciBMaW51eCB6dWhhdXNlIHVuZCBoYWIgaW4gZGVyIEZpcm1hIGRhcyBHbHVlY2ssCmRhc3MgZXMgbWVpbmVuIENoZWZzIGVnYWwgaXMsIHdhcyBhdWYgbWVpbmVtIFJlY2huZXIgZmxpbW1lcnQuIERhcyBoYXQgYWJlcgplYmVuIG5pY2ggamVkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTU0ggdW50ZXIgV2luKiAoR3JpbW1ib3JuLCAxNy4gT2t0IDIwMDEsIDAwOjAxOjMyKToKfiMhIHJuPVZhbmlvbiBydD0xMDAzMjY5MDcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKV2llIGdlc2FndC4gV2VubnMgbWlyIGRhcyBuaWNodCB3ZXJ0IGlzdCBrYW5uIGljaCBqZWRlcnplaXQgTWF1cmVyIHdlcmRlbi4gRXMKZ2lidCBrZWluICJpY2ggaGF0dGUgYWJlciBrZWluZSBXYWhsLCBhdXNzZXJkZW0gaGFiZSBpY2ggdm9uIG5pY2h0cyBnZXd1c3N0Ii4gCgpNZWluZW0gQ2hlZiBpc3QgZXMgdWVicmlnZW5zIG51ciBlaW4gYmlzY2hlbiBlZ2FsIHdhcyBhdWYgbWVpbmVtIFJlY2huZXIKZmxpbW1lcnQsIG1laW5lbiBLb2xsZWdlbiBnYW56IHVuZCBnYXIgbmljaHQuIEFiZXIgZWJlbiBpbiBkaWUgUmljaHRpZ2UKUmljaHR1bmcsIGF1cyBtZWluZXIgU2ljaHQuIAoKSmEsIGRlbiBKb2IgaGFiIGljaCBtaXIgYXVzZ2VzdWNodC4gRGllIEFsdGVybmF0aXZlIHdhZXJlIHVlYnJpZ2VucyBnZXdlc2VuCm5lYmVuIGRlbSBBcmJlaXRlbiBhdWYgTGludXggKGlpcmMpIFN1cGVyLVVYIHp1IGJldHJldWVuLiBFaW5lIFVuaXgtVmFyaWFudGUKZnVlciBTdXBlcmNvbXB1dGVyLiBVbmQgZWluIEJla2FubnRlciB2b24gbWlyIGJldHJldXQgU1VOIFJlY2huZXIgYmVpIGVpbmVyCkJhbmssIGRlciBoYXQgc2ljaCBpbiBkZW4gQXJiZWl0c3ZlcnRyYWcgYXVmbmVobWVuIGxhc3NlbiBkYXNzIGVyIG5pY2h0cyBtaXQKTVMtQmV0cmllYnNzeXN0ZW1lbiB6dSB0dW4gaGFiZW4gbXVzcy4gS2xhciwgYWxsZXMgRmFuYXRpa2VyLiBBYmVyIHdlbm5zIGVpbmVtCmRhcyB3ZXJ0IGlzdCBnZWh0IGRhcy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU1NIIHVudGVyIFdpbiogKFd1cnplbCwgMTcuIE9rdCAyMDAxLCAxOToyODo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMzI2OTY5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5CmZhbmF0aWtlciBnaWJ0IGVzIGltbWVyLiBkYSBmYWxsZW4gbWlyIHp1bSBiZWlzcGllbCBkaWUgdmVnYW5lciBlaW4sIGVpbmUKYmVzb25kZXJzIHN0cmlrdGUgZm9ybSBkZXMgdmVnZXRhcmllcnR1bXMuIG1pbGNocHJvZHVrdGUsIGVpZXIgb2RlciBhZWhubGljaGVzCndhcyBkZXIgdWVibGljaGUgZmxlaXNjaHZlcnppY2h0ZXIgaXNzdCwga29tbWVuIGJlaSBkZW5lbiBuaWNodCBhdWYgZGVuCnRpc2NoLiB1bmQgbmF0dWVybGljaCB0cmFlZ3QgbWFuIGtlaW5lIHNjaHVoZSBhdXMgbGVkZXIsIGRhcyBpc3QgamEgYXVjaCBlaW4KdGllcmlzY2hlcyBwcm9kdWt0Li4uIGljaCB3YXJ0ZSBpbW1lIGRyYXVmLCBkYXNzIGRpZXNlIGxldXRlIGF1ZmhvZXJlbiwgZGVuCmFybWVuIHRpZXJlbiBkYXMgZ2VtdWVzZSB3ZWd6dWZyZXNzZW4uCmljaCBiaW4gendhciB0aWVyZnJldW5kLCBhYmVyIGtlaW4gdmVnZXRhcmllci4gdW5kIGljaCByZWl0ZSB6d2FyLCBhYmVyIGVpbgpsZWNrZXJlcyBwZmVyZGVzdGVhayBpc3QgZWluZmFjaCBzdXBlci4gdW5kIGljaCBtYWcgendhciBhdWNoIHVuaXgvbGludXgsCmFiZXIgYmVudXR6ZSB0cm90emRlbSB3aW5kb29mLiBkYXMgaXN0IGViZW4gc3RhbmRhcmQgZnVlciBhbGxlLCBkaWUgZGVuCnJlY2huZXIgYWxzIGFyYmVpdHNnZXJhZXQgYmVudXR6ZW4gdW5kIG5pY2h0IGFscyBzcGllbHpldWcuIGF1Y2ggd2VubiBlcwptYW5jaG1hbCBpbiBkZXIgYWx0ZW4gaGFja2Vyc2VlbGUgd2VoIHR1dC4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU1NIIHVudGVyIFdpbiogKEdyaW1tYm9ybiwgMTcuIE9rdCAyMDAxLCAxOTozOToyOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAwMzMzOTczOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5Ck9jaCwgbWlyIGlzdCBkYXMgZWdhbCB3YXMgZGllIFZlZ2FuZXIgKG5pY2h0KSBlc3NlbiwgaWNoIGthbm4gamEgdHJvdHpkZW0KZXNzZW4gd2FzIGljaCB3aWxsLiBBYmVyIG1pciBsYWV1ZnQgZGllIEdhbGxlIHVlYmVyIHdlbm4gaWNoIGRhbm4gaG9lcmUgd2llCnNvbGNoZSBMZXV0ZSBhdWNoIG5vY2ggSHVuZCB1bmQgS2F0emUgdmVnYW5pc2NoIGVybmFlaHJlbiwgZGEgaG9lcnQgZGVyIFNwYXNzCmF1Zi4KCldhcyBSZWNobmVyIGFuZ2VodDogRXMgX2dpYnRfIHdpbmRvd3NmcmVpZSBab25lbiwgYXVjaCB3ZW5uIGRhcyAod2llIER1CnJpY2h0aWcgc2Fnc3QpIG5pY2h0IGRlciBTdGFuZGFyZCBpc3QuIFVuZCBlaW5lIHNvbGNoZSBab25lIGthbm4gbWFuIGF1ZnN1Y2hlbgp3ZW5uIG1hbnMgbmljaHQgYXVzaGFlbHQsIG9kZXIgLSB3aWUgYmVpIG1pciAtIG1hbiBkYXMgR2x1ZWNrIGhhdCBkYXNzIGVpbmVtCnNvIGVpbmUgWm9uZSBhdWYgZGVtIFNpbGJlcnRhYmxldHQgc2VydmllcnQgd2lyZC4gTnVyLCB3YXMgaW1tZXIgd2llZGVyCnZvcmtvbW10LCBXaW5kb3dzIChvZGVyIExpbnV4LCBvZGVyIFNlYXQgQXV0b3MsIG9kZXIgaG9jaGhhY2tpZ2UgU2NodWhlLCBvZGVyCndoYXRldmVyKSB6dSB2ZXJ3ZW5kZW4gdW5kIGRhbm4gcGF1c2VubG9zIHp1IGphbW1lcm4gd2llIGhhcnQgZGFzIFNjaGlja3NhbApkb2NoIGlzdCB1bmQgZGFzcyBtYW4gamEgZ2V6d3VuZ2VuIGlzdCwgdW5kIGFsbGUgc2luZCBzbyBnZW1laW4uLi4gTmVlLCBlcwpnaWJ0IGZ1ZXIgZmFzdCBhbGxlcyBBbHRlcm5hdGl2ZW4sIGRpZSBtb2VnZW4gdW5iZXF1ZW0sIGhhZXNzbGljaCwgc2NobGVjaHRlcgpiZXphaGx0IHNlaW4sIGFiZXIgd2VubiBtYW4gZGllIG5pY2h0IHdhZWhsdCBtdXNzIG1hbiBoYWx0IGRpZSBVbmdlbWFjaCB3aWUKZWluIE1hbm4gdHJhZ2VuLgoKR2RBIG1pdCBlaW5lbSBkdXJjaGF1cyBuaWNodCBpbW1lciBwcm9ibGVtZnJlaWVuIFZlcmhhZWx0bmlzIHp1IExpbnV4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTU0ggdW50ZXIgV2luKiAoWmFybml5YSwgMTguIE9rdCAyMDAxLCAwODoyNDoyMik6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAwMzMzOTczOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5Cld1cnplbCBoYXQgc2ljaGVyIHJlY2h0LCBiaXMgYXVmIGVpbmVuIFB1bmt0OiBBbHNvIGplZGVyIFdpbiBSZWNobmVyIGlzdCBkYXMKYmVzc2VyZSBTcGllbHpldWcuIFdpZXZpZWwgUHJvbWlsbGUgYWxsZXIga29tbWVyemllbGxlbiBTcGllbGUgbGF1ZmVuIGF1Y2gKdW50ZXIgTGludXg/IEhhdCBkYSBlaW5lciBaYWhsZW4/CgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTU0ggdW50ZXIgV2luKiAoUGF0cnluLCAxOC4gT2t0IDIwMDEsIDEwOjIwOjAxKToKfiMhIHJuPVphcm5peWEgcnQ9MTAwMzM4NjI2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5Cndlbm4gaWNoIG1hbmNoZSBsaW51eC11c2VyIHNvIHJlZGVuIGhvZXJlLCBpc3QgZGFzIGF1Y2ggbnVyIGVpbiBiZXNzZXJlcwpzcGllbHpldWcuLi5laW4gZ3Jvc3NlcyBhZHZlbnR1cmUgaGFsdC4KbGF1ZmVuZCBnaWx0IGVzLCBuZXVlIGdlZ2VuZGVuIHp1IGVya3VuZGVuIHVuZCBuZXVlIHdpc3NlbnNzdHVmZW4genUKZXJyZWljaGVuLiB2aWVsZSBicmluZ2VuIG1laXN0IG1laHIgemVpdCBkYW1pdCB6dSwgaW4gaWhyZW0gc3lzdGVtCmhlcnVtenVzY2hyYXViZW4gYWxzIGRhbWl0IHp1IGFyYmVpdGVuLCB6dW1pbmRlc3QgaGFsdGUgaWNoIGVzIGZ1ZXIKZWluIGdlcnVlY2h0LCBzaWUgd3VlcmRlbiBzaWNoIGFudGVpbGlnIHdlbmlnZXIgbWl0IGlocmVuCnN5c3RlbWJhc3RlbGVpZW4gYmVzY2hhZWZ0aWdlbiBhbHMgd2luZG93cy11c2VyLgpvYmVuZHJlaW4gaXN0IGVzIGVpbiB3aWNodGlnZXMgc3BpZWxlbGVtZW50LCBhbGxlIHNwaWVsZXIgZGVzIGJlZmVpbmRldGVuCndpbmRvd3MtY2xhbnMgYXVmIHNjaHJpdHQgdW5kIHRyaXR0IHp1IHZlcmZvbGdlbiwgenV6dWZsYW1lbiB1bmQKbmllZGVyenVtYWNoZW4sIG9iIGRlciBiZWZlaW5kZXRlIGNsYW4gZGFzIG51biB3aWxsIG9kZXIgbmljaHQuCm5hIHdlbm4gZGFzIGtlaW4gc3BpZWwgaXN0IDspKSkpCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTU0ggdW50ZXIgV2luKiAoR3J1bXBmLCAxOC4gT2t0IDIwMDEsIDEyOjM0OjA4KToKfiMhIHJuPVBhdHJ5biBydD0xMDAzMzkzMjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKVGphLCB3aWUgbWFuIHNpY2ggZG9jaCBpcnJlbiBrYW5uLi4uIEVzIGdpYnQgZGl2ZXJzZSBGaXJtZW4sIHVudGVyIGFuZGVyZW0KYXVjaCBkaWUgaW4gZGVyIGljaCBhcmJlaXRlLCBiZWkgZGVuZW4gTGludXggYWxzIFByb2R1a3RpdnN5c3RlbSBhdWYgU2VydmVybgpVTkQgV29ya3N0YXRpb25zIGxhZXVmdCwgdW5kIGdsYXViIG1pciBhbHMgQWRtaW4gd2Vpc3MgaWNoIGRhcyBtZWhyIGFscyB6dQpzY2hhZXR6ZW4hIEhhYiBqYSBhdWNoIG51ciB2b3JoZXIgZWluIHBhYXIgSmFocmVuIGVpbiBOVCBOZXR6IGFkbWluaXN0cmllcnQKZmFsbHMgamV0enQgU2FjaGVuIGtvbW1lbiBzb2xsdGVuIGljaCBrZW5uZSBXaW5kb29mIG5pY2h0Li4uIExpbnV4IElTVCBlaW5mYWNoCnN0YWJpbGVyIHVuZCB3YXJ0dW5nc2ZyZXVuZGxpY2hlciwgaWNoIG1vZWNodGUgbmljaHQgd2lzc2VuIHdhcyBlaW4gVG9vbCB3aWUKV2VibWluIGZ1ZXIgTlQga29zdGVuIHd1ZXJkZS4gVW5kIHdlciBuYWNoIGRlbSBpbnN0YWxsaWVyZW4gc2VpbmVyIERpc3RyaSBub2NoCmxhbmdlIGJhc3RlbG4gbXVzcyBoYXQgZW50d2VkZXIgZWluZW4gRmVobGVyIGdlbWFjaHQgb2RlciBicmF1Y2h0IHdhcyBzZWhyCnNwZXppZWxsZXMgaW0gS2VybmVsLgoKU2NobGVpY2hlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFNTSCB1bnRlciBXaW4qIChQYXRyeW4sIDE4LiBPa3QgMjAwMSwgMTI6NDg6MDcpOgp+IyEgcm49R3J1bXBmIHJ0PTEwMDM0MDEyNDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQppY2ggZmluZGUgZXMgaW1tZXIgd2llZGVyIGx1c3RpZywgd2llIHNlaHIgc2ljaCBtaW5kZXJoZWl0ZW4gaW1tZXIgYW5pbWllcnQKZGF6dSBmdWVobGVuLCBzaWNoIHp1IHZlcnRlaWRpZ2VuIDopCgotLSAKcGF0cnluLCByZWxhdGl2IHNpY2hlciwgZGFzcyBlciBsaW51eCBzY2hvbiBsYWVuZ2VyIG51dHp0LCBhbHMgdmllbGUKICAgICAgICBuZXJ2ZW5kZSBtb2VjaHRlZ2VybnZlcmZlY2h0ZXIgdW5kIGJzLWdyYWJlbmthZW1wZmVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU1NIIHVudGVyIFdpbiogKE11YWRkaWIsIDE4LiBPa3QgMjAwMSwgMTI6NTc6NTQpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDM0MDIwODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpKb28sCgp3byB3aXIgZGFiZWkgc2luZCwga29lbm5lbiB3aXIgYXVjaCBiaXR0ZSBuZSBSdW5kZSB1ZWJlciBFZGl0b3JlbiBkaXNrdXRpZXJlbj8KRGEgZ2lidHMgc2ljaGVyIGF1Y2ggTWluZGVyaGVpdGVuLCB6dW0gQmVpc3BpZWwgZGllamVuaWdlbiwgZGllIEVtYWNzIHp1bQpLYWZmZWVrb2NoZW4gdmVyd2VuZGVuLi4uCgpGbGFtZW4sIGZsYW1lbiwgKnVlYmVyZ2VoZSB0aHJlYWQqIDotKQoKTXVhLCBhbXVlc2llcnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTU0ggdW50ZXIgV2luKiAoSHVtbmksIDE4LiBPa3QgMjAwMSwgMTM6MDc6MzMpOgp+IyEgcm49TXVhZGRpYiBydD0xMDAzNDAyNjc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKV2FzIGhhYnQgaWhyIGdlZ2VuIGVkPyBJc3QgZG9jaCB0b2xsLi4uCgpIdW1uaSwgZHVja3Qgc2ljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTU0ggdW50ZXIgV2luKiAoR3J1bXBmLCAxOC4gT2t0IDIwMDEsIDEzOjA5OjA3KToKfiMhIHJuPVBhdHJ5biBydD0xMDAzNDAyMDg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKU2ljaGVyIFBhcnR5biBzaWNoZXIuLi4gKnRhZXRzY2hlbCoKClNjaGxlaWNoZXIgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTU0ggdW50ZXIgV2luKiAoR3JpbW1ib3JuLCAxOC4gT2t0IDIwMDEsIDEzOjI3OjMxKToKfiMhIHJuPUh1bW5pIHJ0PTEwMDM0MDMyNTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpOb2NoIGRhenUgbGFlc3N0IHNpY2ggYW5nZWJsaWNoIGluIFVuaXgtUmljaHRsaW5pZW4gbmFjaGxlc2VuIGRhc3MgZWQgX2Rlcl8KU3RhbmRhcmRlZGl0b3IgZnVlciBVbml4c3lzdGVtZSBpc3QuIFVuZCBuaWNodCwgd2llIG1hbmNoZSB6dSBnbGF1YmVuIG1laW5lbiwKa2VkaXQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTU0ggdW50ZXIgV2luKiAoQW50aGVhLCAxOC4gT2t0IDIwMDEsIDEzOjQ0OjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzNDA0NDUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKV2VyIHdpbGwgYXVjaCBzY2hvbiBrZWRpdC4uLi4KVW5kIGRhIHZpIGphIGVpZ2VudGxpY2ggYXVjaCBudXIgZWluIGZyb250ZW5kIHp1bSBlZCBpc3QuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogU1NIIHVudGVyIFdpbiogKFdpbGxvdywgMTkuIE9rdCAyMDAxLCAyMTo1MjoyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMzQwNDQ1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5CipzZXVmeiogdW5kIGljaCBkYWNodGUgaW1tZXIsIGRhcyB3YWVyIGRlciB2aSAtIHRqYSwgd2llIG1hbiBzaWNoIGRvY2ggaXJyZW4Ka2Fubi4uLgpXZWlkY2hlbiBXaWxsb3cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBTU0ggdW50ZXIgV2luKiAoTXVwZmVsLCAxOS4gT2t0IDIwMDEsIDIzOjIwOjE4KToKfiMhIHJuPVdpbGxvdyBydD0xMDAzNTIxMTQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKYnR3IGdpYnRzIGVpZ2VudGxpY2ggbmVuIHhlZGl0IGNsb25lIGZ1ZXIgbGludXggKGljaCBtZWluZSBqZXR6dCBkZW4geGVkaXQgdm9uCmlibSwgd28gdm9yIGplZGVyIHplaWxlIG5lIDYgc3RlbGxpZ2UgemVpbGVubnVtbWVyIGlzdCBpbiBkaWUgbWFuIGdnZiBlaW5mYWNoCnJlaW5zY2hyZWlidCB3YXMgbWl0IGRlciB6ZWlsZSB6dSBnZXNjaGVoZW4gaGF0KSA/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU1NIIHVudGVyIFdpbiogKEhhdGUsIDIwLiBPa3QgMjAwMSwgMDg6MjY6MzYpOgp+IyEgcm49WmFybml5YSBydD0xMDAzMzg2MjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKQWxzbyB3ZXIgYXVmIFdpbiBSZWNobmVybiBzcGllbHQgdW5kIGRpZSBmdWVyIFNwaWVsemV1ZyBoYWVsdCBoYXQgaXJnZW53aWUKZWluZSBmYWxzY2hlIERlZmluaXRpb24gdm9uICJTcGllbHpldWciLiBFaW5lIEtvbnNvbGUsIHdpZSBQUzIgb2RlciBONjQgb2RlcgpEcmVhbWNhc3Qga2FubiBtYW4gYWxzIFNwaWVsemV1ZyBiZXNjaHJlaWJlbiB1bmQgZGllc2UgZnVlbGxlbiBkYXMgdm9sbCBhdXMuCkVpbiBQQyBtaXQgV2luZG93cyBwYXNzdCBkYSB3b2hsIGVoZXIgaW4gZGllIFNNIEVja2UgLi4uIFJ1Y2tlbG4gLi4uIFVwZGF0ZQouLi4gQ3Jhc2ggLi4uIFVwZGF0ZSAuLi4gUnVja2VsbiAuLi4gSWNoIGJpbiBmcm9oIGRhcyBuaWNodCBtZWhyIHp1IGhhYmVuLgoKVW5kIHdhcyBCZXRyaWVic3N5c3RlbWUgYW5nZWh0OiBFcyBpc3QgaW1tZXIgZWluZSBGcmFnZSwgd2FzIGZ1bmt0aW9uaWVydCBmdWVyCm1pY2ggKGRlbiBOdXR6ZXIpIGFtIGJlc3Rlbi4gRGVzaGFsYiBiZW51dHplIGljaCBhdWNoIGltbWVyIGVpbmUgTWlzY2h1bmcgYXVzCmFsbGVuIFN5c3RlbWVuIHVuZCBkZXJlbiBhbmdlYm90ZXRlbmVuIEFwcGxpa2F0aW9uZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogU1NIIHVudGVyIFdpbiogKEVsYmVyZXQsIDIwLiBPa3QgMjAwMSwgMTE6Mzc6MjUpOgp+IyEgcm49SGF0ZSBydD0xMDAzNTU5MTk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKYWxzbyB3YXMgZGFzIG1pdCBkZW0gY3Jhc2ggYW5nZWh0LCBpY2ggaGFiIG1hbCB3aW5kb3dzIHhwIHByb2JpZXJ0IHVuZCBiaXNoZXIKbGFldWZ0cyBleHRyZW0gc3RhYmlsLCBnYXIgbmljaHQgenUgdmVyZ2xlaWNoZW4gbWl0IGJpc2hlcmlnZW4gd2luZG9vZnMsIGRpZQppY2ggYmlzaGVyIHNvIGhhdHRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU1NIIHVudGVyIFdpbiogKE11cGZlbCwgMjAuIE9rdCAyMDAxLCAxOToyODoxNik6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMDM1NzA2NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpMYXNzIG1pY2ggcmF0ZW4uLi4gZHUgaGF0dGVzdCBuaWUgTlQgPyA7KQoKLW11cGZlbC0KKHZvciBhbGxlbSBuaWNodCAzLjUxPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFNTSCB1bnRlciBXaW4qIChTaWx2YW5hLCAyMC4gT2t0IDIwMDEsIDIyOjQxOjU2KToKfiMhIHJuPU11cGZlbCBydD0xMDAzNTk4ODk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKQXVmIGRpZSBHZWZhaHIgaGluLCBPZWwgaW5zIEZldWVyIHp1IGdpZXNzZW4uLi4gKEhhdHRlIGljaCBlcndhZWhudCwgZGFzcyBpY2gKenUgUHlyb21hbmllIG5laWdlPykgTWVpbmUgUmVjaG5lciBsYXVmZW4gYWxsZSB1bnRlciBXaW4ySyAtIHVuZCBkYXMKZXJzdGF1bmxpY2ggc3RhYmlsLiBEaWUgdmVyc2NoaWVkZW5lbiBSZW5kZXJjbGllbnRzIGxhdWZlbiBnZXdvZWhubGljaCAyLTMKV29jaGVuIHVudGVyIHZvbGxlciBQcm96ZXNzb3JhdXNsYXN0dW5nIGR1cmNoLCBiaXMgaWNoIGlobmVuIG5lIFBhdXNlIGdvZW5uZSwKbWVpbiBlaWdlbnRsaWNoZXIgQXJiZWl0c3BsYXR6cmVjaG5lciBsYWV1ZnQgc2VpdCA1IFdvY2hlbiBkdXJjaCB1bmQgZGVuClNlcnZlciBoYWIgaWNoIHp1bGV0enQgU3lsdmVzdGVyIGdlYm9vdGV0Li4uIFVuZCBhbGxlcyBvaG5lIEFic3R1ZXJ6ZS4uLiBXYXMKd2lsbCBtYW4gbWVocj8KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFNTSCB1bnRlciBXaW4qIChHcmltbWJvcm4sIDIwLiBPa3QgMjAwMSwgMjI6NTg6NTgpOgp+IyEgcm49U2lsdmFuYSBydD0xMDAzNjEwNTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKWi5CLiBlaW5lbiBhbnN0YWVuZGlnZW4gc3NoLWNsaWVudCwgZGVuIG1hbiBlaW5zZXR6ZW4ga2FubiBvaG5lIGVyc3QgaW0gaGFsYmVuCkludGVybmV0IG5hY2hmcmFnZW4genUgbXVlc3NlbiB3byBtYW4gZWluZW4gaGVya3JpZWdlbiBrYW5uPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogU1NIIHVudGVyIFdpbiogKFNpbHZhbmEsIDIwLiBPa3QgMjAwMSwgMjM6MDA6MTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDM2MTE1Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpIYWIgaWNoIGpldHp0LiBVbmQuLi4gU2VpdCB3YW5uIGlzdCBkYXMgTUcgZGFzIGhhbGJlIEludGVybmV0PyBJc3QgZGllIFNpY2h0CnZvbiBMaW51eC1TeXN0ZW1lbiBhdXMgc28gYmVzY2hyYWVua3Q/IDstKSAKCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFNTSCB1bnRlciBXaW4qIChHcmltbWJvcm4sIDIwLiBPa3QgMjAwMSwgMjM6MDM6MzcpOgp+IyEgcm49U2lsdmFuYSBydD0xMDAzNjExNjE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKU29ycnksIHdlbm4gRHUgZGFzIGhhbGJlIEludGVybmV0IGhhZXR0ZXN0IGZyYWdlbiB3b2xsZW4gaGFldHRlc3QgRHUKdmVybXV0bGljaCBnb29nbGUgdmVyd2VuZGV0IHVuZCBkYW5uIGhpZXIga2VpbmUgQXJ0aWtlbCBzY2hyZWliZW4gbXVlc3Nlbi4uLgpJY2ggbWVpbmUgbnVyLCB2b24gRGlyIGtvbW1lbiBoaWVyIGluIHJlZ2VsbWFlc3NpZ2VuIEFic3RhZW5kZW4gIndvIGZpbmRlIGljaAplaW4gUHJvZ3JhbW0gbWl0IGRlbSBpY2ggZGFzdW5kZGFzIG1hY2hlbiBrYW5uLCB1bmQgbmVpbiwgTGludXggaXN0IGtlaW5lCk9wdGlvbiIuIFVlYmVyIExpbnV4IHRhdWNoZW4gaGllciBzb2xjaGUgRnJhZ2VuIG5pY2h0IGF1ZiAobWFnIG1laW5ldHdlZ2VuCmRhcmFuIGxpZWdlbiBkYXNzIGRpZSBkaWUgRnJhZ2VuIHdvYW5kZXJzIHN0ZWxsZW4pLiBVbmQgYXVmIERlaW5lIEZyYWdlICJXYXMKd2lsbCBtYW4gbWVocj8iIGhhYmUgaWNoIGxldHp0bGljaCBnZWFudHdvcnRldCAiZWluIE9TIG1pdCBkZW0gaWNoIGRhcyBtYWNoZW4Ka2FubiB3YXMgaWNoIHdpbGwgb2huZSBzdGFlbmRpZyBuYWNoIFp1c2F0enNvZnR3YXJlIHN1Y2hlbiB6dSBtdWVzc2VuLiIKWU1NVi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFNTSCB1bnRlciBXaW4qIChTaWx2YW5hLCAyMC4gT2t0IDIwMDEsIDIzOjI3OjMxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzNjExODE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDMyMzQ1MTkKSG1tbS4uLiBsaWViZXIgbmVuIEJTLCBmdWVyIGRhcyBlcyBhbGxlcyBnaWJ0LCB3YXMgaWNoIHp1bSBhcmJlaXRlbiBicmF1Y2hlCnVuZCBnZWxlZ2VudGxpY2hlIG5hY2ggZGVuIFNwaWVsZXJlaWVuIHN1Y2hlbiAod2llIFNTSCBmdWVyIGRpZQpNRy1MaWItQmFzdGVsZWkpIGFscyBhbmRlcnNydW0uIFZvbSBNRyBzcGllbGVuIGthbm4gbWFuIChpY2ggenVtaW5kZXN0KSBsZWlkZXIKbmljaHQgbGViZW4uLi4gQWJlciBmYWxscyBqZW1hbmQgaXJnZW5kd2FubiBuZW4gQlMgZXJmaW5kZW4gc29sbHRlLCBhdWYgZGVtCmFsbGVzIChzdGFiaWwpIGxhZXVmdCwgZGFzIGFsbGUgYnJhdWNoYmFyZW4gdW5kL29kZXIgaGlsZnJlaWNoZW4gRGluZ2UKbWl0YnJpbmd0LCB1bmQgZGFzIG1hbiBzaWNoIGF1Y2ggbm9jaCBsZWlzdGVuIGthbm4sIHNvbGwgZXIgc2ljaCBtZWxkZW4uIEljaAp3dWVyZCBtaWNoIGRhIGdlcm5lIGJla2VocmVuIGxhc3Nlbi4gQmlzIGRhaGluIG51dHogaWNoIGRlbiBiZXN0ZW4gS29tcHJvbWlzcy4KVW5kIGZyYWcgaGFsdCBnZWxlZ2VudGxpY2ggbmFjaCBkZW4gU3BpZWxlcmVpZW4sIGRpZSBpY2ggdmVybWlzc2UuIEZhbGxzIERpY2gKZGFzIHN0b2VydCwgdHV0IG1pciBkYXMgbGVpZCwgYWJlciBkYW1pdCB3aXJzdCBEdSBsZWJlbiBrb2VubmVuLCBnbGF1YiBpY2guCjstKQoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogU1NIIHVudGVyIFdpbiogKFd1cnplbCwgMjAuIE9rdCAyMDAxLCAyMzo0MTowOCk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDM2MTMyNTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzIzNDUxOQpmdWVyIG1pY2ggc3RlbGx0IHNpY2ggZGFzIHJlY2h0IGVpbmZhY2ggZGFyLiBpbSBwcml2YXRlbiBiZXJlaWNoIGJlbnV0emUgaWNoCndpbmRvb2YsIHdlaWwgZXMgZGVuIGNhbXBhaWduIGNhcnRvZ3JhcGhlciBuaWNodCBmdWVyIGxpbnV4IGdpYnQuIHVuZCBkYXMgaXN0CmZ1ZXIgbWljaCBlaW4gYXVzc2NobHVzc2tyaXRlcml1bS4gaW0gYmVydWZsaWNoZW4gYmVyZWljaCBiZW51dHplIGljaCB3MmssCndlaWwgZGFzIGF1ZiBkZW4gcmVjaG5lcm4gZWJlbiBpbnN0YWxsaWVydCBpc3QuIHVuZCBkYSBlcyBlaCBhbGxlIHBhYXIgbW9uYXRlCmVpbmVuIG5ldWVuIGxhcHRvcCBnaWJ0LCBoYWJlIGljaCB3ZW5pZyBsdXN0IG1pY2ggamVkZXNtYWwgZHJ1bSB6dSBrdWVtbWVybgp3ZWxjaGVzIGJzIGRhIGdyYWRlIGRyYXVmIGlzdC4gaGF1cHRzYWNoZSwgaWNoIGthbm4gZGFzIGRpbmcgYW5zY2hhbHRlbiB1bmQKZGVyIHN1cHBvcnQgaGF0IGFsbGVzIHNvIGVpbmdlcmljaHRldCwgZGFzcyBpY2ggc29mb3J0IGxvc2FyYmVpdGVuIGthbm4uIGZ1ZXIKYmFzdGVsYXJiZWl0ZW4gd2VyZGUgaWNoIG5pY2h0IGJlemFobHQuCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBTU0ggdW50ZXIgV2luKiAoTXVwZmVsLCAyMS4gT2t0IDIwMDEsIDAwOjI1OjUwKToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwMzYxMDUxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzMjM0NTE5Ck9jaG5vZSB0dXN0ZSBuaWNodC4gV2VubiBXaW5kb3dzIGVyc3RtYWwgZWluZ2VyaWNodGV0IGlzdCAodW5kIG1hbiBuaWNodApzdGFlbmRpZyBhbiBkZXIgQ29uZmlnIHJ1bWJhc3RlbHQpIGxhZXVmdCBkYXMgYXVjaCB1bmQgbGFldWZ0IHVuZCBsYWV1ZnQuClNlbGJzdCBXaW5kb3dzIDl4LiBNYW4gZGFyZiBudXIgbmljaHQgYXVmIGRlciBhbGxlcm5ldXN0ZW4gSGFyZHdhcmUKaW5zdGFsbGllcmVuICh3ZWlsIGRhbm4gYWxsZSBUcmVpYmVyIEJldGEtU3RhdHVzIGhhYmVuLCBhdWNoIHdlbm4gZGFzIHNvIG5pY2h0CmRyYXVmIHN0ZWh0IDspIHVuZCBzY2hvbiBnZWh0cyA7KQoKLW11cGZlbC0gKG1hY2h0IHNvd2FzIHNlaXQgSmFocmVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2xlaW5lcyBMYVRlWC1Qcm9ibGVtIChab29rLCAyMS4gT2t0IDIwMDEsIDIyOjQyOjMyKToKSG9pIQoKSWNoIGhhYmUgZnVlciBlaW5lIEtsYXNzaWZpa2F0aW9uIGVpbiBwYWFyIGVpZ2VuZSBHbGllZGVydW5nc2JlZmVobGUKbWl0IGRhbm4gYXVjaCBuZW0gZWlnZW5lbiBWZXJ6ZWljaG5pcyBnZXNjaG5pdHp0LiBEYXMgc2llaHQgdW50ZXIKYW5kZXJlbSBpbiBlaW5lciBQYWNrYWdlLURhdGVpIHNvIGF1czoKCi0tIHNjaG5pcHAgLS0KClxuZXdjb3VudGVye2tvbXBsZXh9ClxuZXdjb21tYW5ke1xrb21wbGV4fXtcQHN0YXJ0c2VjdGlvbntrb21wbGV4fXsxfXswbW19ey1cYmFzZWxpbmVza2lwfSUKICB7MC41XGJhc2VsaW5lc2tpcH17XG5vcm1hbGZvbnRcbm9ybWFsc2l6ZVxiZnNlcmllc319ClxuZXdjb21tYW5ke1xsQGtvbXBsZXh9e1xkb3R0ZWR0b2NsaW5lezF9ezEuNWVtfXszLjBlbX19Ci0tIHNjaG5hcHAgLS0KCldlbm4gaWNoIG51biBpbiBuZXIgRGF0ZWkgdmlhIFxrb21wbGV4e1RyYWxhbGF9IHdhcyBzY2hyZWliZSwgZXJzY2hlaW50CmRhcyBnYW56IGh1ZWJzY2ggdW5kIHJpY2h0aWcgaW0gSW5oYWx0c3ZlcnplaWNobmlzIHVuZCBhdWNoIGltIG5vcm1hbGVuClRleHQsIF9udXJfIHdpcmQgbmFjaCBkZXIgVGl0ZWx6ZWlsZSBhdWNoIG5vY2ggZWlubWFsIGRlciBUaXRlbCAKaW4gbm9ybWFsZXIgU2NocmlmdCB3aWVkZXJob2x0LiBTY2hhdXQgZGFubiBpbiBldHdhIHNvIGF1czoKCi0tIHNjaG5pcHAgLS0KMyBUcmFsYWxhCiAgIFRyYWxhbGEKLS0gc2NobmFwcCAtLQoKKFdvYmVpIGRpZSBaZWlsZSAiMyBUcmFsYWxhIiB3aWUgZXJ3dWVuc2NodCBmZXR0IGVyc2NoZWludC4pCgpLYW5uIG1pciB3ZXIgc2FnZW4sIHdhcyBpY2ggdmVya2VocnQgZ2VtYWNodCBoYWJlPyBEZW4gXEBzdGFydHNlY3Rpb24tCkF1ZnJ1ZiBoYWIgaWNoIG5haGV6dSAxOjEgYXVzIGRlbSBMYVRlWCBDb21wYW5pb24uCgoKR3J1c3MsIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIG5lIExhVGVYLUZyYWdlLiAoWm9vaywgMjEuIE9rdCAyMDAxLCAyMjo0NjoxMik6CktsYXNzaXNjaGVzIFByb2JsZW06IEljaCB2ZXJ3ZW5kZSBMYVRlWCwgbXVzcyBhYmVyIG5lbSBLb2xsZWdlbiBvLmFlLgpldHdhcyBpbiBkaWUgSGFuZCBnZWJlbiwgZGFzIGVyIG1pdCBXaW53b3JkIGd1dCB2ZXJhcmJlaXRlbiBrYW5uLiBXYXMKYmlldGV0IHNpY2ggZGEgZGVubiBhbiBGb3JtYXRlbiBhbiwgZGllIHJlY2h0IHZpZWwgZGVyIExhVGVYLUZvcm1hdGllcnVuZwplcmhhbHRlbj8gVW5kIHdlbm4gZXMgd2FzIHByYWt0aXNjaGVzIGdpYnQsIHdlbGNoZSBTb2Z0d2FyZSBiZW5vZXRpZ3QKbWFuIGRhZnVlcj8gKEphLCBkZXIgRW1wZmFlbmdlciBzb2xsIHp1ciBOb3QgYXVjaCBub2NoIGVpbiB3ZW5pZwpIYW5kYXJiZWl0IGZ1ZXIgc2VpbiBXaW53b3JkIHVuZCBkaWUgVGV4dGludGVncmF0aW9uIGF1ZndlbmRlbiBkdWVyZmVuLApudXIgaGFsdCBuaWNodCBncmFkIGRlbiBnYW56ZW4gVGV4dCBub2NoYW0gYWJ0aXBwZW4gOykpCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2ggbmUgTGFUZVgtRnJhZ2UuIChNdXBmZWwsIDIxLiBPa3QgMjAwMSwgMjM6MTM6NTcpOgp+IyEgcm49Wm9vayBydD0xMDAzNjk3MTcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDM2OTcxNzIKTGF0ZVgySHRtbCA/CgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsZWluZXMgTGFUZVgtUHJvYmxlbSAoWm9vaywgMjEuIE9rdCAyMDAxLCAyMzoyODo0Myk6Cn4jISBybj1ab29rIHJ0PTEwMDM2OTY5NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzY5Njk1MgpSYWdhZ2FnYWdhLi4uIGdyb3Vwcy5nb29nbGUuY29tIHNlaSBEYW5rLCBkaWUgTG9lc3VuZyBpc3QsIGRhc3MKXEBzdGFydHNlY3Rpb24gbmUgc2lubmlnZSBEZWZpbml0aW9uIHZvbiBcPGNvdW50ZXJuYW1lPm1hcmsKZXdhcnRldCB1bmQgd2VubiBkaWUgbmljaHQgc2EgaXN0LCBkYW5uIHdpcmQgZGFzIG51ciB6dSBcPGNvdW50ZXJuYW1lPgpleHBhbmRpZXJ0LCBlaW4gXGxldFxrb21wbGV4bWFya1xAZ29iYmxlIGhhdCBBYmhpbGZlIGdlc2NoYWZmZW4uCgpab29rIGdydW1tZWx0IGVpbiB3ZW5pZyB2b3Igc2ljaCBoaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggbmUgTGFUZVgtRnJhZ2UuIChNYW5kcmFnb24sIDIyLiBPa3QgMjAwMSwgMDA6MDk6NDkpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMDM2OTg4Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzY5NzE3MgpBdWYKCmh0dHA6Ly90dWcub3JnL3V0aWxpdGllcy90ZXhjb252L3RleHRvcGMuaHRtbAoKc3RlaHQgbmUgTWVuZ2Ugc28ga3JhbSA6LSkKCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9jaCBuZSBMYVRlWC1GcmFnZS4gKE11cGZlbCwgMjIuIE9rdCAyMDAxLCAwMDoxMDo0NCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAwMzcwMjE4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzNjk3MTcyCk5hamEsICppY2gqIGJyYXVjaCBkYXMgbmltbWVyIDspCgpNdSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvdW5ka2FydGUgJiBCb3hlbiAoTW9yZ290aCwgMjIuIE9rdCAyMDAxLCAwODo1MDoyMSk6CkhpLAoKaGFiIGRpZSBuZXVlIGMndCBnZWxlc2VuIHVuZCBuYXR1ZXJsaWNoIGF1Y2ggZGVuIEFydGlrZWwgdWViZXIgZGllClNvdW5ka2FydGVuLiBKZXR6dCB3aWxsIGljaCBtaXIgZGVtbmFlY2hzdCBlaW5lIFNCLUF1ZGlneSB6dWxlZ2VuLiBIYXQgc2Nob24KamVtYW5kIEVyZmFocnVuZyBkYW1pdCwgd2llIGlzc2VzIG1pdCBUcmVpYmVybiwgbGFldWZ0IGRpZSB1bnRlciBMaW51eCwgd2VsY2hlCkJveGVuIHNpbmQgenUgZW1wZmVobGVuPwpBdWYgZGVyIFNvdW5kYmxhc3Rlci1IUCBzdGFuZCBhdWNoIGlyZ2VuZHdhcyB2b24gdmVyc2NoaWVkZW5lbiBWZXJzaW9uZW4sIHdhcwpzaW5kIGRhIGRpZSBVbnRlcnNjaGllZGU/CgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvdW5ka2FydGUgJiBCb3hlbiAoT2Jlcm1vdHosIDIyLiBPa3QgMjAwMSwgMTU6NDU6MDcpOgp+IyEgcm49TW9yZ290aCBydD0xMDAzNzMzNDIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDM3MzM0MjEKSWNoIGhhYmUgd2lyIGRpZSBBdWRpZ3kgZ2VsZWlzdGV0IChtaXQgZWluIHBhYXIgYW5kZXJlbiBUZWlsZSA9IG5ldWVuIFJlY2huZXIKZ2ViYXN0bGV0KS4KSGFiZSBhYmVyIG5vY2ggdXJhbHQgQnJ1ZWxsd3VlcmZlbCBkcmFuLiBNYWwgc2VoZW4sIHdhcyBzaWNoIGRhIGFscyBFcnNhdHoKYW5iaWV0ZXQuIExlaWRlciBoYWVuZ3Qgc2ljaCBtZWluIFJlY2huZXIgbmFjaCBrdXJ6ZXIgWmVpdCBhdWYsIHdlbm4gaWNoIGVpbgpHYW1lIHN0YXJ0ZSAoYXVjaCBvaG5lIFNvdW5ka2FydGUpLiBEYXJ1bSBrYW5uIGljaCBub2NoIG5pY2h0cyB6dXIgU3RhYmlsaXRhZXQKc2FnZW4uClp1IGRlbiBWZXJzaW9uOiBpY2ggaGFiZSBkaWUgR2FtZXIgKD1CYXNpc3ZlcnNpb24pLiBEaWUgYW5kZXJlbiBoYWJlbiBtZWhyClNvZnR3YXJlIHVuZCAvIG9kZXIgZWluZW4gNSAxLzQiIEVpbnNjaHViIG1pdCBSZWdsZXJuIC8gQXVzZ2Flbmdlbi4gV2FyIG1pcgphbGxlcyBuaWNodCBzbyB3aWNodGlnLCBkYSBpY2gga2VpbiBNdXNpa2VyIGJpbi4KCk9NIHNhbW1lbHQgRGVzaWduZXItS29tcG9zIGZ1ZXIgZGVuIFNwcnVjaCAiUmVjaG5lciBsYXVmZSBzdGFiaWwiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvdW5ka2FydGUgJiBCb3hlbiAoR3JpbW1ib3JuLCAyMi4gT2t0IDIwMDEsIDE2OjEzOjM4KToKfiMhIHJuPU9iZXJtb3R6IHJ0PTEwMDM3NTgzMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzczMzQyMQpFaW5lIEtvbXBvbmVudGUgc29sbHRlIGRhIFdpbmRvd3MgWFAgb2RlciBXaW5kb3dzIDIwMDAgc2Vpbi4KRXJzdGVucyBzb2xsZW4gZGllIGVpbmlnZXJtYXNzZW4gc3RhYmlsIHNlaW4sIHVuZCB6d2VpdGVucyBtdXNzIGljaCBtaWNoIGRhbm4KbmljaHQgZGFtaXQgYXVzZWluYW5kZXJzZXR6ZW4gd2VubiBkaWUgZG9jaCBBZXJnZXIgbWFjaGVuIHNvbGx0ZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU291bmRrYXJ0ZSAmIEJveGVuIChPYmVybW90eiwgMjMuIE9rdCAyMDAxLCAxMToxNTozMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMzc2MDAxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzNzMzNDIxCldpbmRvd3MgWFA/IEljaCB0cmF1ZSBrZWluZW0gQmV0cmllYnNzeXN0ZW0sIGRhc3MgbmljaHQgbWluZGVzdGVuczYgTW9uYXRlIGF1ZgpkZW0gTWFya3QgaXN0LiBXaW4gMksgaGF0dGUgUHJvYmxlbWUgYmVpIGRlciBJbnN0YWxsYXRpb24gdW5kIG1laW5lIDEyOE1CCihtb3JnZW4gd2VyZGVuIGVzIDUxMk1CIHNlaW4pIHNpbmQgbmljaHQgZ2VyYWRlIGlkZWFsIGZ1ciBXaW4gMmsuCgpCVFcgRXMgc2luZCBudXIgVHJlaWJlciBmdWVyIFdpbiA5eCwgTUUgdW5kIDJrIGRhYmVpLiBLZWluZSBBaG51bmcsIG9iIGVzIGluCmRlciBMaW51eC1HZW1laW5kZSBzY2hvbiBlaW5lbiBFbnR3aWNrbGVyIGdhYiAvIGdpYnQuCgpPTSB3aXJkIG1vcmdlbiBtYWwgd2llZGVyIGFtIFJlY2huZXIgc2NocmF1YmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTb3VuZGthcnRlICYgQm94ZW4gKEdyaW1tYm9ybiwgMjMuIE9rdCAyMDAxLCAxMTo1Mzo1OCk6Cn4jISBybj1PYmVybW90eiBydD0xMDAzODI4NTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDM3MzM0MjEKRXMgd2lyZCBEaWNoIHVlYmVycmFzY2hlbiwgYWJlciBpbiBkZXIgTGludXhnZW1laW5kZSBnaWJ0IHVuZCBnYWIgZXMgbWVociBhbHMKZWluZW4gRW50d2lja2xlci4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTb3VuZGthcnRlICYgQm94ZW4gKFBhdHJ5biwgMjMuIE9rdCAyMDAxLCAxMjozNjowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMzgzMDgzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzNzMzNDIxCm51ciBiZWtvbW1lbiBkaWUgbWVpc3RlbnMgbmljaHQgaW1tZXIgZGllIG5vZXRpZ2VuIGluZm9zIHVtIGVpbmVuIGRyaXZlciB6dQpzY2hyZWliZW4uIGFuc29uc3RlbiB3dXNzdGUgb2Jlcm1vdHogZGFzIHNpY2hlciBhdWNoIGFsbGVpbmUuCgotLSAKcGF0cnluLCBnZWdlbiBvYmVybGVocmVyaGFmdGVzIGdlaGFiZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU291bmRrYXJ0ZSAmIEJveGVuIChHcmltbWJvcm4sIDIzLiBPa3QgMjAwMSwgMTI6NTY6MTgpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDM4MzMzNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzczMzQyMQpIbW0/IEVyIGhhdCBuYWNoICJFbnR3aWNrbGVybiIgaW4gZGVyIExpbnV4Z2VtZWluZGUgZ2VmcmFndC4gSWNoIGhhYmUgaWhtCmdlc2FndCBkYXNzIGVzIGRhIG1laHJlcmUgZ2lidC4gRGFzIGhhdCBtaXQgaW5mb3MgZnVlciBkcml2ZXIgZWJlbnNvd2VuaWcgenUKdHVuIHdpZSBtaXQgb2JlcmxlaHJlcmhhZnRlbSBHZWhhYmUuCgpIZWUsIHdpZXNvIHZlcnRlaWRpZ2UgaWNoIG1pY2ggZWlnZW50bGljaCBhdXNnZXJlY2huZXQgUGF0cnluIGdlZ2VudWViZXI/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvdW5ka2FydGUgJiBCb3hlbiAoV3VyemVsLCAyMy4gT2t0IDIwMDEsIDIyOjM3OjE5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAzODM0NTc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDM3MzM0MjEKdmllbGxlaWNodCwgd2VpbCBkdSBnZXJhZGUgbml4IGJlc3NlcmVzIHp1IHR1biBoYXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU291bmRrYXJ0ZSAmIEJveGVuIChHcmltbWJvcm4sIDIzLiBPa3QgMjAwMSwgMjI6Mzk6NTApOgp+IyEgcm49V3VyemVsIHJ0PTEwMDM4Njk0Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzczMzQyMQpLdXJ6IHZvciBlaW5zLiBUYXRzYWVjaGxpY2gsIGRhIGhhYmUgaWNoIGt1cnogdm9yIGRlbSBNaXR0YWdlc3NlbiBhdWYgZGllCkFudHdvcnQgZWluZXMgS29sbGVnZW4gZ2V3YXJ0ZXQuIER1IGhhc3RzIGdldHJvZmZlbi4KRGFzIEVzc2VuIGlzdCBhYmVyIHRyb3R6ZGVtIGFiZ2VrdWVobHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvdW5ka2FydGUgJiBCb3hlbiAoT2Jlcm1vdHosIDI0LiBPa3QgMjAwMSwgMTI6Mjg6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDM4MzA4Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwMzczMzQyMQpCZXdlaXNlIGVzISBBYmVyIGljaCBtZWludGUgYWJlciwgZGFzcyBpY2ggbmljaHQgd2Vpc3MsIG9iIHNpY2ggdWViZXJoYXVwdApzY2hvbiBpcmdlbmRlaW4gKG9kZXIgbWVocmVyZSkgTGludXhlbnR3aWNrbGVyIGFuIGVpbmVtIFRyZWliZXIgZnVlciBkaWUKQXVkaWd5IHZlcnN1Y2h0IGhhdC4KCk9NIGhhdCBkaWUgYW5kZXJlbiBBcnRpa2VsIGhpZXIgc2Nob24gZ2VsZXNlbiB1bmQgd2lyZCBtYWwgR2RBIGJpdHRlbiwgZGllCm5hY2ggU2NobWFycm4genUgdmVybGVnZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU291bmRrYXJ0ZSAmIEJveGVuIChNeXN0ZXJpb3VzLCAyNi4gT2t0IDIwMDEsIDE2OjEwOjA5KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAwMzczMzQyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDAzNzMzNDIxCmtvbm5pLWNoaS13YS4uCgpkZXJ6ZWl0IGdpYnQgZXMga2VpbmUgdHJlaWJlciBmdWVyIGxpbnV4LiBvZWZ0ZXJzIG1hbApodHRwOi8vb3BlbnNvdXJjZS5jcmVhdGl2ZS5jb20vIGNoZWNrZW4uCgpzYXlvbmFyYSwKIG1Zc3RpLVNhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQU1EIDgwMCAoR25vbWUsICA2LiBOb3YgMjAwMSwgMTA6NTI6MDEpOgpBdGhsb24gODAwLCBBVFgtQmlnVG93ZXIsIDI1NiBNQiwgMzAgR0IgKFdEIGdsYXViIGljaCksIEFzdXMtQ0QgNDB4LApSaWNvaC1DRFJXIDR4NHgzMiwgMTAwIFppcC1MVywgU0ItTGl2ZSEsIFJBSUQtQ29udHIuLCBpbnQuIDU2ay1Nb2RlbSwKQ1RYLU1vbml0b3IgKDE5IiksIEhQIERlc2tKZXQgNTUwIEMsIFdpbk1FLCBkaXYuIFByb2dyYW1tZS4KVkIgMS43NTAsLQp3YWhsd2Vpc2Ugb2huZSBtb25pdG9yIHVuZCBvaG5lIGRydWNrZXIuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFNRCA4MDAgKFNpbHZhbmEsICA2LiBOb3YgMjAwMSwgMTI6MjM6NDEpOgp+IyEgcm49R25vbWUgcnQ9MTAwNTA0MDMyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA1MDQwMzIxCkdlc3VjaHQgb2RlciBhbmdlYm90ZW4uLi4/CgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFNRCA4MDAgKFBpbGdyaW0sICA2LiBOb3YgMjAwMSwgMTY6Mzk6MDMpOgp+IyEgcm49U2lsdmFuYSBydD0xMDA1MDQ1ODIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDUwNDAzMjEKPiBSZTogQU1EIDgwMCAoU2lsdmFuYSwgIDYuIE5vdiAyMDAxLCAxMjoyMzo0MSk6Cj4gW0JlenVnOiBBcnRpa2VsIDU0IHZvbiBHbm9tZSB2b20gIDYuIE5vdiAyMDAxLCAxMDo1MjowMV0KPiAKPiBHZXN1Y2h0IG9kZXIgYW5nZWJvdGVuLi4uPwpOYWphLCB3ZW5uIGVyIHN1Y2hlbiBvZGVyIGJpZXRlbiB3dWVyZGUsIHN0YWVuZHMgZG9jaAppbiBkZXIgUnVicmlrIHN1Y2hlLWJpZXRlLCBvZGVyID8KVmVybXV0bGljaCBudXIgbmUgU3lzdGVtLUJla2FubnRtYWNodW5nIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQU1EIDgwMCAoR25vbWUsICA4LiBOb3YgMjAwMSwgMTE6NDQ6MjUpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDA1MDYxMTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDUwNDAzMjEKaG1tLCBkdSBoYXN0IHJlY2h0LCBlcyBtdWVzc3RlIGluIHN1Y2hlLWJpZXRlIHN0ZWhlbi4KYWJlciBpY2ggd2VyZHMgamV0enQgbmljaHQgbm9jaG1hbCB2ZXJzY2hpZWJlbi4gOikKCmduT21lCgpwLnMuIG5hdHVlcmxpY2ggYW5nZWJvdGVuLCBzaWx2YW5hLi4uIGludGVyZXNzaWVydD8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFNRCA4MDAgKFNpbHZhbmEsICA4LiBOb3YgMjAwMSwgMTI6MDM6MjQpOgp+IyEgcm49R25vbWUgcnQ9MTAwNTIxNjI2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA1MDQwMzIxCkhtbW1tLi4uLgpPaG5lIE1vbml0b3IgdW5kIERydWNrZXIgdW5kIG9obmUgUHJvZ3JhbW1lIHVuZCBCUyB2aWVsbGVpY2h0LiBLb21tdCBhdWYgZGVuClByZWlzIGFuLiBVbmQgZGFyYXVmLCBhdWYgd2lldmllbCBSQU0gbWFuIGRlbiBhdWZydWVzdGVuIGthbm4uIE5lbiBHQiBtdXNzIGRhCnNjaG9uIHJlaW5wYXNzZW4uLi4gOy0pCkFjaCBqYTogV2FzIGhhdCBkYXMgZ3V0ZSBTdHVlY2sgZnVlciBuZSBHcmFwaGlra2FydGU/IFVuZCB3YXMgZnVlciBuZW4KTW90aGVyYm9hcmQ/CgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBTUQgODAwIChHbm9tZSwgIDguIE5vdiAyMDAxLCAxMjoxODo0Mik6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDUyMTc0MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNTA0MDMyMQpudW5qYSwgQlMgdW5kIHByb2dyYW1tZSBzaW5kIG5hdHVlcmxpY2ggZnJlaXdpbGxpZy4KZGFzIGJvYXJkIGlzdCBuZW4gZWxpdGVncm91cCBLN1ZaQSAoNSBQQ0ksIDEgQUdQLCAxIEFNUiksIFZJQSBLVDEzMy4KZGllIGdyYXBoaWtrYXJ0ZSBpc3QgbGVpZGVyIG5peCBkb2xsZXMsIGljaCBnbGF1YmUgbmUgcmF6b3IgSUkgbWl0IDggTUIuCmRpZSBnaWJ0IGVzIHNvenVzYWdlbiBrb3N0ZW5sb3MgZGF6dSA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2JsZW0gbWl0IFB5dGhvbi9Qb3N0Z3JlU1FML0FwYWNoZS9tb2RfcHl0aG9uIChab29rLCAxMS4gTm92IDIwMDEsIDE3OjMxOjMyKToKRm9sZ2VuZGVzIGhhYiBpY2ggYXVmIG1laW5lbSBSZWNobmVyIGluc3RhbGxpZXI6CgogLSBQeXRob24gMi4wCiAtIFBvc3RncmVTUUwgNy4wLjIKIC0gUHlHcmVTUUwgMy4wCiAtIEFwYWNoZSAxLjMuMTIKIC0gbW9kX3B5dGhvbiAyLjYuMwoKQWxsZXMgYWxsZWluZSBmdW56dCBhdWNoIGdhbnogaGVycmxpY2ggc293ZWl0IGljaCBkYXMgdWViZXJibGlja2UuIE51ciwKd2VubiBpY2ggZGFubiBmb2xnZW5kZXMgbWFjaGU6CgpJbiBuZW0gVmVyemVpY2huaXMgaW4gLmh0YWNjZXNzOgotLSBzY2huaXBwIC0tClB5dGhvblBhdGgKIlsnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4wJywnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4wL3NpdGUtcGFja2FnZXMnIF0iCkFkZEhhbmRsZXIgcHl0aG9uLXByb2dyYW0gLnB5ClB5dGhvbkhhbmRsZXIgZm9vYmFyClB5dGhvbkRlYnVnIE9uCi0tIHNjaG5hcHAgLS0KCnVuZCBkb3J0IGVpbmUgRGF0ZWkgImZvb2Jhci5weSIgYW5sZWdlIG1pdCBmb2xnZW5kZW0gU3RhcnQ6CgotLSBzY2huaXBwIC0tCmZyb20gbW9kX3B5dGhvbiBpbXBvcnQgYXBhY2hlCmltcG9ydCBwZwppbXBvcnQgcmFuZG9tCgpkZWYgaGFuZGxlcihyZXEpOiAKIC4uLgotLSBzY2huYXBwIC0tCgpEYW5uIHNwdWNrdCBkZXIgQXBhY2hlIGZvbGdlbmRlIEZlaGxlcm1lbGR1bmcgYXVzOgoKLS0gc2NobmlwcCAtLQpNb2RfcHl0aG9uIGVycm9yOiAiUHl0aG9uSGFuZGxlciBmb29iYXIiCgpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CgogIEZpbGUgIi91c3IvbG9jYWwvbGliL3B5dGhvbjIuMC9zaXRlLXBhY2thZ2VzL21vZF9weXRob24vYXBhY2hlLnB5IiwgbGluZQoxNzUsIGluIERpc3BhdGNoCiAgICBtb2R1bGUgPSBpbXBvcnRfbW9kdWxlKG1vZHVsZV9uYW1lLCBfcmVxKQoKICBGaWxlICIvdXNyL2xvY2FsL2xpYi9weXRob24yLjAvc2l0ZS1wYWNrYWdlcy9tb2RfcHl0aG9uL2FwYWNoZS5weSIsIGxpbmUKMzE2LCBpbiBpbXBvcnRfbW9kdWxlCiAgICBtb2R1bGUgPSBfX2ltcG9ydF9fKG1vZHVsZV9uYW1lKQoKICBGaWxlICIvaG9tZTIvZGJyL3d3dy9weXRob24vZm9vYmFyLnB5IiwgbGluZSAyLCBpbiA/CiAgICBpbXBvcnQgcGcKCiAgRmlsZSAiL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4wL3NpdGUtcGFja2FnZXMvcGcucHkiLCBsaW5lIDcsIGluID8KICAgIGZyb20gX3BnIGltcG9ydCAqCgpJbXBvcnRFcnJvcjogU2hhcmVkIG9iamVjdCAibGlicHEuc28uMiIgbm90IGZvdW5kCgotLSBzY2huYXBwIC0tCgpKZW1hbmQgZWluZSBBaG51bmcsIHdhcyBkYSBzY2hpZWYgZ2VnYW5nZW4gaXN0IHVuZCB3aWUgaWNoIGRhcyBiZWhlYmVuCmthbm4/CgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtIG1pdCBQeXRob24vUG9zdGdyZVNRTC9BcGFjaGUvbW9kX3B5dGhvbiAoQXJrLCAxMi4gTm92IDIwMDEsIDExOjUyOjM5KToKfiMhIHJuPVpvb2sgcnQ9MTAwNTQ5NjI5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA1NDk2MjkyCkZvb2JhciB1bmQgZWluZSBQeXRob24gc2luZCBzY2h1bGQhCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQcm9ibGVtIG1pdCBQeXRob24vUG9zdGdyZVNRTC9BcGFjaGUvbW9kX3B5dGhvbiAoUHl0aG9uLCAxMi4gTm92IDIwMDEsIDExOjU0OjM4KToKfiMhIHJuPUFyayBydD0xMDA1NTYyMzU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDU0OTYyOTIKSWNoIGhhYiBkb2NoIGdhciBuaWNodHMgZ2VtYWNodCEKClB5dGhvbgotLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByb2JsZW0gbWl0IFB5dGhvbi9Qb3N0Z3JlU1FML0FwYWNoZS9tb2RfcHl0aG9uIChSdW1hdGEsIDEyLiBOb3YgMjAwMSwgMTM6MzY6MDgpOgp+IyEgcm49UHl0aG9uIHJ0PTEwMDU1NjI0Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNTQ5NjI5MgpNYWwgaW0gZXJuc3QsIG9mZmVuYmFyIGlzdCBsaWJwcSBuaWNodCBpbiBkZWluZW0gTEJfTElCUkFSWV9QQVRIClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm9ibGVtIG1pdCBQeXRob24vUG9zdGdyZVNRTC9BcGFjaGUvbW9kX3B5dGhvbiAoWm9vaywgMTIuIE5vdiAyMDAxLCAxNDo1NDoxNik6Cn4jISBybj1SdW1hdGEgcnQ9MTAwNTU2ODU2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA1NDk2MjkyCkhtbW0uLi4gZGVyIFBmYWQgZnVlciBkaWUgc2hhcmVkIGxpYnJhcmllcyB3aXJkIGFiZXIgZWlnZW50bGljaCBiZWltCkJvb3RlbiBlbnRzcHJlY2hlbmQgZ2VzZXR6dC4gTnVyIGF1cyBpcmdlbmR3ZWxjaGVuIEdydWVuZGVuIHZlcnNhZ3QKZGFzIG1vZF9weXRob24gZGFiZWksIHNpY2ggZGVuIFBmYWQgcmF1c3p1c3VjaGVuLi4uCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvYmxlbSBtaXQgUHl0aG9uL1Bvc3RncmVTUUwvQXBhY2hlL21vZF9weXRob24gKFpvb2ssIDEyLiBOb3YgMjAwMSwgMTQ6NTY6MTYpOgp+IyEgcm49QXJrIHJ0PTEwMDU1NjIzNTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNTQ5NjI5MgpGb29iYXIgd3VyZGUgZGFmdWVyIGdlc3Rlcm4genVyIFJlY2hlbnNjaGFmdCBnZXpvZ2VuLiBBYmVyIGdlbG9lc3QgaXN0CmRhcyBQcm9ibGVtIG5vY2ggbmljaHQuCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNXIGZ1ZXIgT2Vrb25vbWV0cmllPyAoWm9vaywgMjEuIE5vdiAyMDAxLCAxODoyMjoyOCk6Cktlbm50IHNpY2ggZGEgd2VyIGF1cyBvZGVyIHZlcndlbmRldCBkYSBpcmdlbmR3YXM/IEdBVVNTIHNvbGwgamEKcmVjaHQgYmVrYW5udCB1bmQgZ2FueiBndXQgc2Vpbi4gR2lidCdzIGF1Y2ggZnJlaWUgU29mdHdhcmUgZnVlcgpvZWtvbm9tZXRyaXNjaGUgZ2VzY2hpY2h0ZW4/CgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTVyBmdWVyIE9la29ub21ldHJpZT8gKFRyb3ksIDIyLiBOb3YgMjAwMSwgMDk6MDU6MzIpOgp+IyEgcm49Wm9vayBydD0xMDA2MzYzMzQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDYzNjMzNDgKR0FVU1MgaXN0biBTY2hpZmYuIERhcyBmdWVociBoaWVyIGdyYWQgYW4gbWVpbmVtIEZlbnN0ZXIgdm9yYmVpLgpGb3JzY2h1bmdzc2NoaWZmIGZ1ZXIgT3plYW5vZ3JhZmllLgoKTWFsIGltIEVybnN0OiBXYXMgZ2VuYXUgaXN0IE9la29ub21ldHJpZT8gV2lydHNjaGFmdHNzaW11bGF0aW9uPwpMYXNzIG1hbCBEZWluIExpY2h0IHVlYmVyIHVucyBsZXVjaHRlbiwgWm9vay4KClRyb3kga2VubnQgYmxvc3MgSWNvbm9ncmFmaWUuLi4KClAuUy46IC4uLmdyYWZpZSBzdGF0dCBncmFwaGllIGlzdCBhdWNoIGdld29laG51bmdzYmVkdWVyZnRpZyA6LXwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJyb3dzZXJicmVpdGUgZXJrZW5uZW4/IChTaWx2YW5hLCAyMy4gTm92IDIwMDEsIDE2OjA1OjUzKToKU2FsdmUsCgplcyBzY2hlaW50IFdlYnNlaXRlIHp1IGdlYmVuLCBkaWUgdm9uIHNpY2ggYXVzIGVya2VubmVuLCB3aWUgYnJlaXQgZGVyCm51dHpiYXJlIEJlcmVpY2ggaW4gZWluZW0gQnJvd3NlcmZlbnN0ZXIgaXN0LCB1bmQgZGllIGRhbm4gZGFzIExheW91dCBkZXIKV2Vic2VpdGUgdm9uIGRpZXNlciBudXR6YmFyZW4gQnJlaXRlIGFiaGFlbmdpZyBnZXN0YWx0ZW4uIEhhdCBqZW1hbmQKdmllbGxlaWNodCBlaW5lbiBUaXAgZnVlciBtaWNoLCB3aWUgZGFzIGZ1bmt0aW9uaWVydD8gVW5kIHZpZWxsZWljaHQgZWluZW4KSGlud2VpcywgYmVpIHdlbGNoZW4gQnJvd3Nlcm4gZGFzIGRhbm4gc2NoaWVmIGdlaHQ/IDstKQoKICBEYW5rZSAtIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcm93c2VyYnJlaXRlIGVya2VubmVuPyAoR3JpbW1ib3JuLCAyMy4gTm92IDIwMDEsIDE2OjE3OjMzKToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwNjUyNzk1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2NTI3OTUzCiJWaWV3IGRvY3VtZW50IHNvdXJjZSI/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcm93c2VyYnJlaXRlIGVya2VubmVuPyAoQXBvcGhpcywgMjMuIE5vdiAyMDAxLCAxNjoyMTo0MCk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDY1Mjc5NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjUyNzk1MwppY2ggZW1wZmVobGUgc2VsZmh0bWwgKGdpYnQgdWVicmlnZW5zIG5lIG5ldWUgdmVyc2lvbiBzZWl0IGxhbmdlciB6ZWl0KQoKc3BlemllbGwgamF2YXNjcmlwdCBlaWdlbnNjaGFmdDogd2luZG93LmlubmVySGVpZ2h0IHVuZCAuaW5uZXJXaWR0aApkYW5uIGthbm4gbWFuIGphIHRhYmVsbGVuIGV0Yy4gYXVmIGRpZSBqZXdlaWxzIHp1cnVlY2tnZWdlYmVuZW4gd2VydGUgYW5wYXNzZW4KCkFwb3BoaXMKa2VpbmUgZ2FyYW50aWUgZnIgZmVobGVyLCBsYXlvdXQsIGV0YywgaGFiIGhpZXIgbnVyIGR1bW1lcyB3aW5kb29mIHRlbG5ldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnJvd3NlcmJyZWl0ZSBlcmtlbm5lbj8gKEJhbWJpLCAyMy4gTm92IDIwMDEsIDE3OjA0OjI1KToKfiMhIHJuPUFwb3BoaXMgcnQ9MTAwNjUyODkwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2NTI3OTUzCkRhIGhhc3QgRHUgZWluIFByb2JsZW06IER1IGJyYXVjaHN0IEphdmFTY3JpcHQuIC4uLiBKYSwgZGFzIGhhbHRlIGljaCB1bnRlcgpVbXN0YWVuZGVuIGZ1ZXIgZWluIFByb2JsZW0uIERhbm4gbGFldWZ0IGRpZSBTZWl0ZSBuYWVtbGljaCBuaWNodCwgd2VubiB3ZXIgSlMKKG9kZXIgQ1NTIGluICJhZWx0ZXJlbiIgTmF2aWdhdG9yZW4pIGFiZ2VzY2hhbHRldCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCcm93c2VyYnJlaXRlIGVya2VubmVuPyAoR3JpbW1ib3JuLCAyMy4gTm92IDIwMDEsIDE3OjEyOjU3KToKfiMhIHJuPUJhbWJpIHJ0PTEwMDY1MzE0NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjUyNzk1MwpBY2ggd2FzLCB3ZXIgaG9lcnQgc2Nob24gYXVmIGRpZSBTaWNoZXJoZWl0c2J1bGxldGlucyB2b24gSGVpc2UgdW5kIENvPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCcm93c2VyYnJlaXRlIGVya2VubmVuPyAoU2lsdmFuYSwgMjMuIE5vdiAyMDAxLCAxNzoyNjoyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNjUzMTk3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2NTI3OTUzCkluIGRlciBmcmVpZW4gV2lydHNjaGFmdD8gS2F1bSBlaW5lci4gOy0pCgpBYmVyIGRhIGRpZSBTZWl0ZSBlaCBKUy1OdXR6ZXIgdW5kIEpTLVZlcndlaWdlcmVyIHRyZW5udCB1bmQgZnVlciBiZWlkZQpHcnVwcGVuIGdldHJlbm50ZSwgYWJlciBpbmhhbHRsaWNoIGFlaG5saWNoZSBTZWl0ZW4gYXVmYmVyZWl0ZXQsIGlzdCBkYXMgZWhlcgp1bmtyaXRpc2NoLgoKQWNoIGphLi4uIERpZSBTZWl0ZW4sIGRpZSBpY2ggZ2VzZWhlbiBoYXR0ZSwgaGF0dGVuIGxlaWRlciBnYXIga2VpbmVuIEhpbndlaXMKaW0gQ29kZSwgd2llIGRhcyBnZW1hY2h0IHdhci4gU29uc3QgaGFldHQgaWNoIGthdW0gZ2VmcmFndC4gOy0vCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJyb3dzZXJicmVpdGUgZXJrZW5uZW4/IChHcmltbWJvcm4sIDIzLiBOb3YgMjAwMSwgMTc6NDc6MzIpOgp+IyEgcm49U2lsdmFuYSBydD0xMDA2NTMyNzgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY1Mjc5NTMKV2llIHBhc3NlbmQ6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2hvZC0yMy4xMS4wMS0wMDAvCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJyb3dzZXJicmVpdGUgZXJrZW5uZW4/IChTaWx2YW5hLCAyMy4gTm92IDIwMDEsIDE3OjUyOjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2NTM0MDUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY1Mjc5NTMKUGFzc2VuZCwgaW4gZGVyIFRhdC4gOikKRHJ1bSBtYWNoIGljaCBqYSBhdWNoIGV4dHJhIGVpbmUgU2VpdGUgZnVlciBKUy1WZXJ3ZWlnZXJlci4gQmlzIGF1ZiBkaWUgKHNlaHIKd2VuaWdlbikgRGluZ2UsIGRpZSBuaWNodCBvaG5lIEpTIGdlaGVuLCBpc3QgZGllIGlkZW50aXNjaC4KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQnJvd3NlcmJyZWl0ZSBlcmtlbm5lbj8gKFdvb2R5LCAyMy4gTm92IDIwMDEsIDIyOjUzOjA3KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwNjUzNDM1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2NTI3OTUzCkFsc28gbWlyIGlzdCBsaWViZXIsIGRpZSBDb29raWVzIGxpZWdlbiAod2VubiBzaWUgU2lubiBtYWNoZW4sIGFsc28Kei5CLiBlaW4gV2FyZW5rb3JiLCBTZXR0aW5ncyBvLmFlLikgYmVpIG1pciwgd28gaWNoIHNpZSB1bnRlciBLb24tCnRyb2xsZSBoYWJlLCBhbHMgYW0gU2VydmVyIDopLiBDb29raWUtUGFyYW5vaWEgZW50c3RlaHQgZ3Jvc3N0ZWlscwphdXMgVW53aXNzZW5oZWl0LgoKV29vZHkuLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEJyb3dzZXJicmVpdGUgZXJrZW5uZW4/IChUaWFtYWssIDIzLiBOb3YgMjAwMSwgMjI6NTY6MzIpOgp+IyEgcm49V29vZHkgcnQ9MTAwNjU1MjM4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2NTI3OTUzCkRhcyBTY2hvZW5zdGUgZGFyYW4gaXN0IGphLCBkYXNzIGRpZXNlciB0b2xsZSBWZXJlaW4gQ29va2llcyBtaXQgSmF2YVNjcmlwdAphbHMgIlByb2dyYW1tZSwgZGllIGF1ZiBkZW0gUmVjaG5lciBhdXNnZWZ1ZWhydCB3ZXJkZW4iIGluIGVpbmVuIFRvcGYgd2lyZnQuClVuZCBuaWNodG1hbCB6d2lzY2hlbiB0ZW1wb3JhZXJlbiB1bmQgImJvZXNlbiIgQ29va2llcyB1bnRlcnNjaGVpZGV0LgoKQW5zdGF0dCBtYWwgZXR3YXMgU2FjaGxpY2hrZWl0IGluIGRpZSBEaXNrdXNzaW9uIHJlaW56dWJyaW5nZW4sIHNjaHVlcmVuIGRpZQpudXIgQW5nc3QuIFVuZCBtYWNoZW4gbmViZW5iZWkgc2VyaW9lc2VuIEFuYmlldGVybiBkYXMgTGViZW4gc2Nod2VyIG1pdCBpaHJlcgpzY2h3YXJ6ZW4gTGlzdGUgLi4uCgoKVGlhbWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCB3YXJudW5nIGZ1ZXIgMi40LjE1IHVuZCAyLjUgKE9ya3RvZXRlciwgMjUuIE5vdiAyMDAxLCAxODo1NDoyMik6CkRhcyBEYXRlaXN5c3RlbSBkaWVzZXIgVmVyc2lvbmVuIGthbm4gdm9tIEtlcm5lbCB6ZXJzdG9lcnQgd2VyZGVuLgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvZGItMjUuMTEuMDEtMDAwLwoKRG9ydCBpc3QgYXVjaCBlaW4gTGluayB6dSBlbnRzcHJlY2hlbmRlbiBwYXRjaGVzCgoKT3JrVC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggd2FybnVuZyBmdWVyIDIuNC4xNSB1bmQgMi41IChHcmltbWJvcm4sIDI1LiBOb3YgMjAwMSwgMTk6MDQ6NDUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMDY3MTA4NjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjcxMDg2MgpKYSwgZGllIGFybWVuLCBhcm1lbiBWZXJzaW9uc2p1bmtpZXMgZGllIGlocmUgU3VjaHQgYXVmIFByb2R1a3Rpb25zc3lzdGVtZW4KYXVzbGViZW4gbXVlc3Nlbi4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4IHdhcm51bmcgZnVlciAyLjQuMTUgdW5kIDIuNSAoUGF0cnluLCAyNi4gTm92IDIwMDEsIDA2OjU1OjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA2NzExNDg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY3MTA4NjIKdmllbGUgenUgaGF1c2UgaGFiZW4gamEgYXVjaCBpbW1lciBuZXVlcmUga2VybmVscyBhdXMgc3Bhc3MgYW4gZGVyIGZyZXVkIHVuZAp3ZWlscyBlaW5mYWNoIHNjaG5lbGwgenUgaW5zdGFsbGllcmVuIGlzdCwgbWl0IHByb2R1a3Rpb25zc3lzdGVtZW4gaGF0IGRlcgplbnRzdGVoZW5kZSBhZXJnZXIgbmljaHQgYWxsZWluIHdhcyB6dSB0dW4uCgotLSAKcGF0cnluIGhhdCBhYmVyIGF1Y2ggbnVyIDIuNC4xMCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXggd2FybnVuZyBmdWVyIDIuNC4xNSB1bmQgMi41IChHcmltbWJvcm4sIDI2LiBOb3YgMjAwMSwgMDk6MTI6MTApOgp+IyEgcm49UGF0cnluIHJ0PTEwMDY3NTQxMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjcxMDg2MgpBZWgsIGVpbiBTeXN0ZW0gYmVpIG1pciB6dSBIYXVzZSwgZGFzIGljaCBicmF1Y2hlICh1bmQgc2VpIGVzIG51ciB6dW0gbXVkZGVuCm9kZXIgdW0gU2Nod2VpXldhbHRlIG1haWxzIGF1Znp1aGViZW4pIGlzdCBuYWNoIG1laW5lbSBWZXJzdGFlbmRuaXMgZWluClByb2R1a3Rpb25zc3lzdGVtLiBEZXIgYWx0ZSBSZWNobmVyIGltIFppbW1lciBuZWJlbmFuLCBkZXIga2VpbmUgd2lya2xpY2hlCkF1ZmdhYmUgaGF0IHVuZCBkZW4gaWNoIG9obmUgUHJvYmxlbWUga29tcGxldHQgbG9lc2NoZW4ga2FubiBpc3QgZXMgbmljaHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlwdHJhZi9pcGZtIHZlcnNjaGx1Y2tlbiBncm9lc3NlcmUgZGF0ZW50cmFuc2ZlcnMgKE15c3RlcmlvdXMsIDI2LiBOb3YgMjAwMSwgMTU6MzA6MzYpOgprb25uaS1jaGktd2EuLi4KCndpciBoYWJlbiBoaWVyIGVpbiBrbGVpbmVzLCBnZXN3aXRjaHRlcyBuZXR6d2VyaywgYXVmIGRlbSBnZXphZWhsdCB3ZXJkZW4Kc29sbCwgd2lldmllbGUgZGF0ZW4gaW4gcmljaHR1bmcgZGVzIGdhdGV3YXlzIHdhbmRlcm4uIHVtIG1pdCB0b29scywgd2llIHouYi4KaXBmbSB1bmQgaXB0cmFmIG1lc3NlbiB6dSBrb2VubmVuLCB3dXJkZSBhcnBzcG9vZiBhdXMgZGVtIGRzbmlmZi1wYWtldAppbnN0YWxsaWVydC4Kc293ZWl0IHNvIGd1dCwgbmUgaG9lbGxlIGFuIHRyYWZmaWMgZ2VodCBqZXR6dCBhdWNoIHdpZWRlciBkdXJjaCBkaWVzZW4KcmVjaG5lciBkdXJjaC4KCmFiZXIgb2ZmZW5zaWNodGxpY2ggd2VyZGVuIGdyb3NzZSBkYXRlbnRyYW5zZmVycyBuaWNodCBrb21wbGV0dCAibWl0Z2Vsb2dndCIuCndlbiBpY2ggZWluZSBmdHAtdmVyYmluZHVuZyBhdWZiYXVlLCBkYW5uIHNlaGUgaWNoIGltIGxvZyB2b24gaXB0cmFmIHNlaHIKd29obCwgZGFzcyBqZXR6dCBlaW5lIHZlcmJpbmR1bmcgYXVmZ2ViYXV0IHd1cmRlLiBqZWRlcyAibHMiIHVuZCBqZWRlcyAiY2QiCmVyemV1Z3QgZWluZW4gbmV1ZW4gZWludHJhZyBpbSBsb2csIHdlbm4gaWNoIGpldHp0IGFiZXIgbWl0dGVscyAicHV0IiBvZGVyCiJnZXQiIGVpbmUgMSBNQiBncm9zc2UgZGF0ZWkgaG9jaC0vcnVudGVybGFkZSwgd2VyZGVuIHp3ZWkgZWludHJhZ2UgZ2VuZXJpZXJ0LApkaWUgc2FnZW4sIGRhc3MgamV3ZWlscyBjYS4gNDUgS0J5dGUgdWViZXJ0cmFnZW4gd3VyZGVuICg4NTIgcGFja2V0ZSBhIDUyCmJ5dGVzKS4KYWJlciB3byBpc3QgZGVyIHJlc3Qgdm9uIGRlbSAxIE1CPwpnaWJ0IGVzIGlyZ2VuZHdlbGNoZSBzY2h3ZXJ3aWVnZW5kZW4gaW50ZXJwcmV0YXRpb25zZmVobGVyLCBkaWUgbWFuIG1hY2hlbgprb2VubnRlPyBiZWkgaXBmbSB3ZXJkZW4gZGllc2UgdHJhbnNmZXJzIGViZW5mYWxscyBudXIgenUgZWluZW0ga2xlaW5lbiB0ZWlsCihhZWhubGljaCBvLmcuIGJlaXNwaWVsKSBtaXRnZXphZWhsdC4KCmhhdCBqZW1hbmQgZWluZW4gcGxhbiwgaW4gd2VsY2hlIHJpY2h0dW5nIGljaCBzdWNoZW4gc29sbHRlPwpjcHUtYXVzbGFzdHVuZyBpc3Qgc2VociBnZXJpbmcsIGRhcyBuZXR6d2Vya2ludGVyZmFjZSB6ZWlndCBrZWluZSBmZWhsZXIgb2RlcgpmYWxsZW5nZWxhc3NlbmUgZnJhbWVzLgoKaGlsZnQgdmllbGxlaWNodCBlaW5lIHVlYmVycHJ1ZWZ1bmcgZGVyIG5ldHp3ZXJrZWluc3RlbGx1bmdlbiBpbSBrZXJuZWw/CgpzeXN0ZW06CiBkZWJpYW4gKHByZS0pd29vZHkKIGxpbnV4IDIuNC4xMAogaTM4NgogcnRsODEzOSBsYW4taW50ZXJmYWNlCmlwdHJhZiAyLjQuMAppcGZtIDAuMTEuNAoKdmllbGVuIGRhbmsgZnVlciB3ZWl0ZXJlIGFucmVndW5nZW4sCm1Zc3RpCgpwLnMuOiBqYSwgZGllIGlkZWUsIGFycHNwb29mIGF1c3p1c2NoYWx0ZW4gdW5kIGRpZSBraXN0ZSBtaXQgMi4gbmV0endlcmtrYXJ0ZQp6d2lzY2hlbiB1bnNlciBsYW4gdW5kIGRhcyBnYXRld2F5IHp1IGtsb3BwZW4sIGhhdHRlIGljaCBhdWNoIGJlcmVpdHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaXB0cmFmL2lwZm0gdmVyc2NobHVja2VuIGdyb2Vzc2VyZSBkYXRlbnRyYW5zZmVycyAoQ2F0d2VhemxlLCAyNi4gTm92IDIwMDEsIDE1OjQ2OjQyKToKfiMhIHJuPU15c3RlcmlvdXMgcnQ9MTAwNjc4NTAzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2Nzg1MDM2CkhtLCBndWNrc3QgZHUgdmllbGxlaWNodCBhdWYgZGFzIGZhbHNjaGUgUHJvdG9rb2xsPyBMSVNUIHVuZCBDV0Qgc2luZApGVFAtUHJvdG9rb2xsIHVuZCBsYW5kZW4gYXVmIFBvcnQgMjMuIFB1dCB1bmQgZ2V0IGxvZXNlbiBhYmVyIFRDUC1WZXJiaW5kdW5nZW4KYXVmIGVpbmVtIGdhbnogYW5kZXJlbiBQb3J0IGF1cy4gQmVpIHpCICdnZXQnIHNpZWhzdCBEdSBkYW5uIG5vY2ggZWluIFJFVFIgdW5kCmRlciBSZXN0IGxhZXVmdCBhdWYgbmVtIGFuZGVyZW4gUG9ydC4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGlwdHJhZi9pcGZtIHZlcnNjaGx1Y2tlbiBncm9lc3NlcmUgZGF0ZW50cmFuc2ZlcnMgKE15c3RlcmlvdXMsIDI3LiBOb3YgMjAwMSwgMTA6NTU6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDY3ODYwMDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjc4NTAzNgprb25uaS1jaGktd2EuLgoKZHUgbWVpbnRlc3Qgd29obCBwb3J0IDIxIGJlaSBMSVNUIHVuZCBDV0QuIDopIGRlciBkYXRlbnRyYW5zZmVyIGxhZXVmdCBkYW5uCnVlYmVyIGVpbmVuIGFuZGVyZW4gcG9ydC4KYWJlciBpY2ggc2VoZSBqYSwgX2Rhc3NfIGVpbiBkYXRlbnRyYW5zZmVyIHN0YXR0ZmluZGV0LiB6dW1pbmRlc3QgZ2xhdWJlIGljaCwKZGFzcyBkaWUgZ2Vsb2dndGVuIDQ1IEtCIGRpZSAxIE1CIGlyZ2VuZHdpZSByZXByYWVzZW50aWVyZW4uIGRlbm4gYW5zb25zdGVuCndpcmQgYXVjaCBqZWRlciBiZWZlaGwsIGRlbiBpY2ggYW4gbWVpbmVtIGxva2FsZW4gcmVjaG5lciB3YWVocmVuZCBkZXIKZnRwLXNpdHp1bmcgZWluZ2ViZSwgc29mb3J0IG1pdGdlbG9nZ3QuCmFsc28sIG5hY2ggZGVtIG1vdHRvOiBpY2ggZ2ViZSBfZWluZW5fIGJlZmVobCBlaW4gLT4gX2Vpbl8gbmV1ZXIgZWludHJhZyBpbQpsb2dmaWxlLgp1ZWJyaWdlbnMgd2lyZCBpbiBkZXIgaXB0cmFmLWtvbmZpZyBuaWNodCBuYWNoIHBvcnRzIGdlZmlsdGVydCwgbnVyIG5hY2gKcHJvdG9rb2xsZW4gKHRjcCArIHVkcCkgdW5kIGlwLWFkcmVzc2VuIChrZWluZSBpbnRlcm5lIGtvbW11bmlrYXRpb24pLgoKdWVicmlnZW5zIGhhYiBpY2ggYXVjaCBkZW4gbG9nLXJlY2huZXIgenUgZGVtIGdhdGV3YXkgbWVpbmVzIGxva2FsZW4gcmVjaG5lcnMKZXJrbGFlcnQsIHdvbWl0IGFsc28gZmVobGVyIGJlaSBkZXIgbnV0enVuZyB2b24gYXJwc3Bvb2YgcmF1c2ZhbGxlbiBzb2xsdGVuLgpsZWlkZXIgYWVuZGVydCBkYXMgbml4LgoKbmFqYSwgd2VyZCBkYW5uIG1hbCBrZXJuZWwgMi40LjE2IHVuZCBpcHRyYWYgMi41LjAgYXVzcHJvYmllcmVuLgoKc2F5b25hcmEsCm1Zc3RpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYVRleC9CaWJUZXgtUHJvYmxlbSAoQW5hdG9sLCAyNy4gTm92IDIwMDEsIDE3OjIzOjQ0KToKCkxhVGV4IG1vZWNodGUgbWlyIGVpbiBEb2t1bWVudCBtaXQgZWluZXIgZ2VyYWxwaGEtQmlibGlvcGdyYXBoaWUKbmljaHQgdWViZXJzZXR6ZW4gKHVuZGVmaW5lZCBjb250cm9sIHNlcXVlbmNlKS4gSGF0IGRpZXNlIEVyZmFocnVuZwphdWNoIGVpbiBhbmRlcmVyIGdlbWFjaHQ/IFVuZCB3ZW5uIGphLCBoYXQgamVuZXIgZGFzIFByb2JsZW0gYmVoZWJlbgprb2VubmVuPyA6KQoKVGhpcyBpcyBUZVgsIFZlcnNpb24gMy4xNDE1OSAoV2ViMkMgNy4zLjEpClRoaXMgaXMgQmliVGVYLCBWZXJzaW9uIDAuOTljIChXZWIyQyA3LjMuMSkKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhVGV4L0JpYlRleC1Qcm9ibGVtIChab29rLCAyNy4gTm92IDIwMDEsIDE3OjMwOjQ2KToKfiMhIHJuPUFuYXRvbCBydD0xMDA2ODc4MjI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY4NzgyMjQKSG1tbSwgYWxzbyBpY2ggdmVyd2VuZGUgaXJnZW5kd2FzIGF1cyBuYXRiaWIgYWJnZWxlaXRldGVzLiBEYXp1IG11c3MgbWFuCmltbWVyIG5vY2ggZWluIFx1c2VwYWNrYWdle25hdGJpYn0gaW4gZGllIFByYWVhbWJlbCBwYWNrZW4uIEJyYXVjaHQncyAKc293YXMgdmllbGxlaWNodCBhdWNoIGJlaSAiZ2VyYWxwaGEiPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHp3ZXJrc29yZ2VuIG1pdCBOb3RlYm9vayAoQW5hdG9sLCAyNy4gTm92IDIwMDEsIDE3OjUzOjQwKToKCldhciBmdWVyIGVpbmVuIHVuZXJmYWhyZW5lbiBTcHJvc3Mgd2llIG1pY2ggamEgc2Nob24gc2NobGltbSBnZW51ZywKZGllIFBDTUNJQS1LYXJ0ZSBtaXQgZGVtIFN5c3RlbSAodW5kIHVtZ2VrZWhydCkgdmVydHJhdXQgenUgbWFjaGVuLiBBYmVyIG51bgplbmRsaWNoIHNjaGVpbnQgZGFzIHp1IHR1bi4uLiBBYmVyIGZvbGdlbmVzIFByb2JsZW06IERpZSBSZWNobmVyIG1vZWdlbgpuaWNodCBtaXRlaW5hbmRlciByZWRlbi4gCgpIYXVwdHJlY2huZXI6IGV0aDAgMTkyLjE2OC4wLjEgKGZ1ZXIgRFNMIG1pdCBycC1wcHBvZSkKICAgICAgICAgICAgICBldGgxIDE5Mi4xNjguMC4yIChmdWVyIERpcmVrdHZlcmJpbmR1bmcgenVtIE5vdGVib29rKQoKTm90ZWJvb2s6ICAgICBldGgwIDE5Mi4xNjguMC4zIChmdWVyIERpcmVrdHZlcmJpbmR1bmcgenVtIEhhdXB0cmVjaG5lcikKCkRhcyBLYWJlbCBpc3QgZWluIGdla3JldXp0ZXMgUGF0Y2hrYWJlbCB1bmQgLSBtYW4gc3RhdW5lIC0gZ2VzdGVybiBsaWVmCmVzIHNvZ2FyIGlyZ2VuZHdhbm4sIGFiZXIgbGVpZGVyIGhldXRlIG5pY2h0IG1laHIuIDspIEljaCBzY2hpZWJlIHdhaGxsb3MKSW5mb3MgbmFjaDoKCkJlaSBUZWxuZXR2ZXJzdWNoIHZvbiBOb3RlIGF1ZiBIYXVwdCBpbSBMb2cgdm9uIEhhdXB0OgprZXJuZWw6IG1hcnRpYW4gc291cmNlIDE5Mi4xNjguMC4yIGZyb20gMTkyLjE2OC4wLjMsIG9uIGRldiBldGgxCmtlcm5lbDogbGwgaGVhZGVyOiBmZjpmZjpmZjpmZjpmZjpmZjowMDo0MDpmNDoxYzowMTphYjowODowNgoKcm91dGUgYXVmIEhhdXB0OgpLZXJuZWwgSVAgUm91dGVudGFiZWxsZQpaaWVsICAgICAgICAgICAgUm91dGVyICAgICAgICAgIEdlbm1hc2sgICAgICAgICBGbGFncyBNZXRyaWMgUmVmICAgIFVzZSBJZmFjZQoyMTcuNS45OC4yOSAgICAgKiAgICAgICAgICAgICAgIDI1NS4yNTUuMjU1LjI1NSBVSCAgICAwICAgICAgMCAgICAgICAgMCBwcHAwCjE5Mi4xNjguMC4wICAgICAqICAgICAgICAgICAgICAgMjU1LjI1NS4yNTUuMCAgIFUgICAgIDAgICAgICAwICAgICAgICAwIGV0aDAKMTkyLjE2OC4wLjAgICAgICogICAgICAgICAgICAgICAyNTUuMjU1LjI1NS4wICAgVSAgICAgMCAgICAgIDAgICAgICAgIDAgZXRoMQpkZWZhdWx0ICAgICAgICAgMjE3LjUuOTguMjkgICAgIDAuMC4wLjAgICAgICAgICBVRyAgICAwICAgICAgMCAgICAgICAgMCBwcHAwCgpyb3V0ZSBhdWYgTm90ZWJvb2s6Cktlcm5lbCBJUCByb3V0aW5nIHRhYmxlCkRlc3RpbmF0aW9uICAgICBHYXRld2F5ICAgICAgICAgICAgR2VubWFzayAgICAgRmxhZ3MgTWV0cmljIFJlZiAgICAgVXNlIElmYWNlCjEyOS4xNjguMC4wICAgICAqICAgICAgICAgICAgICAgICAgMjU1LjI1NS4yNTUuMCBVICAgICAgMCAgICAgIDAgICAgICAwIGV0aDAKCkFuYXRvbCAtIHJhdGxvcyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHp3ZXJrc29yZ2VuIG1pdCBOb3RlYm9vayAoVHJveSwgMjcuIE5vdiAyMDAxLCAxODowMjo0Myk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwNjg4MDAyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2ODgwMDIwCkRpZSByb3V0ZW4gc2luZCBldHdhcyBtdWVsbGlnLgoKSW0gZWluemVsbmVuOgoKQXVmbSBOb3RlYm9vayBzb2xsdGUgc3RlaGVuOgpLZXJuZWwgSVAgcm91dGluZyB0YWJsZQpEZXN0aW5hdGlvbiAgICAgR2F0ZXdheSAgICAgICAgICAgIEdlbm1hc2sgICAgIEZsYWdzIE1ldHJpYyBSZWYgICAgIFVzZSBJZmFjZQpkZWZhdWx0ICAgICAgICAgMTkyLjE2OC4wLjIgICAgICAgIDAuMC4wLjAgICAgIFVHICAgIDAgICAgICAwICAgICAgICAgMCBldGgwCgphbSBiZXN0ZW4genUgZXJyZWljaGVuIHVlYmVyCnJvdXRlIGFkZCAtbmV0IGRlZmF1bHQgZ3cgMTkyLjE2OC4wLjIgZXRoMAp1bmQKcm91dGUgZGVsIDEyOS4xNjguMC4wCgphdWZtIEhhdXB0cmVjaG5lciBpc3QgZGllIFJvdXRlCjE5Mi4xNjguMC4wICAgICAqICAgICAgICAgICAgICAgMjU1LjI1NS4yNTUuMCAgIFUgICAgIDAgICAgICAwICAgICAgICAwIGV0aDAKenV2aWVsLCBkYSAxOTIuMTY4LiogamEgaW5zIGludGVybmUgTmV0eiBnZWhlbiBzb2xsLgpSYXVzIGRhbWl0IHouIEIuIG1pdApyb3V0ZSBkZWwgMTkyLjE2OC4wLjAgZXRoMAoKRXMgc29sbHRlIGRhIHN0ZWhlbjoKS2VybmVsIElQIFJvdXRlbnRhYmVsbGUKWmllbCAgICAgICAgICAgIFJvdXRlciAgICAgICAgICBHZW5tYXNrICAgICAgICAgRmxhZ3MgTWV0cmljIFJlZiAgICBVc2UgSWZhY2UKMjE3LjUuOTguMjkgICAgICogICAgICAgICAgICAgICAyNTUuMjU1LjI1NS4yNTUgVUggICAgMCAgICAgIDAgICAgICAgIDAgcHBwMAoxOTIuMTY4LjAuMCAgICAgKiAgICAgICAgICAgICAgIDI1NS4yNTUuMjU1LjAgICBVICAgICAwICAgICAgMCAgICAgICAgMCBldGgxCmRlZmF1bHQgICAgICAgICAyMTcuNS45OC4yOSAgICAgMC4wLjAuMCAgICAgICAgIFVHICAgIDAgICAgICAwICAgICAgICAwIHBwcDAKClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV0endlcmtzb3JnZW4gbWl0IE5vdGVib29rIChBbmF0b2wsIDI3LiBOb3YgMjAwMSwgMTk6MjM6MzkpOgp+IyEgcm49VHJveSBydD0xMDA2ODgwNTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY4ODAwMjAKRGllIDEyOSB3YXIgbmF0dWVybGljaCBlaW4gWmFobGVuZHJlaGVyIGJlaW0gQWJ0aXBwZW4uIE5hamEsIG5hY2hkZW0gaWNoCmpldHp0IG1pdCBab29rcyB1bmQgVHJveXMgSGlsZmUgc2VsYnN0IEhhbmQgYW4gL2V0Yy9yb3V0ZS5jb25mIGdlbGVndCBoYWJlCnVuZCBZYXN0IGluIGRpZSBTdXBwZSBnZXNwdWNrdC4gU2NoZWludCB6dSBmdW5rdGlvbmllcmVuLiA6KSBUaGFua3MuCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9wdGljYWwtTW91c2UgKE1vcmdvdGgsIDI4LiBOb3YgMjAwMSwgMDk6MTA6NTUpOgpIaSwKCm51ciBuZSBrdXJ6ZSBGcmFnZTogV2VsY2hlIFVudGVybGFnZSBpcyBhbSBiZXN0ZW4gZnVlciBuZSBvcHRpY2FsIE1vdXNlPyAKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT3B0aWNhbC1Nb3VzZSAoQ2F0d2VhemxlLCAyOC4gTm92IDIwMDEsIDA5OjM4OjUzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTAwNjkzNTA1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTM1MDU1ClNvbGx0ZSBoZXV0enV0YWdlIGVnYWwgc2VpbiwgbW9kZXJuZSBvcHRpc2NoZSBNYXVlc2UgbGF1ZmVuIGF1ZiBmYXN0IGFsbGVuClVudGVybGFnZW4uIER1IGRhcmZzdCBzaWUgbnVyIG5pY2h0IGdlcmFkZSBhdWYgbmVuIFNwaWVsZ2VsIGxlZ2VuLgpBbnNvbnN0ZW4gaXN0IG5lIGFsdGUgSmVhbnMgaW1tZXIgbmVuIGd1dGVyIFRyaWNrIGdld2VzZW4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcHRpY2FsLU1vdXNlIChab29rLCAyOC4gTm92IDIwMDEsIDA5OjM5OjM3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDA2OTM2NzMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5MzUwNTUKRGllIGhpZXIgYXVmIGRlciBBcmJlaXQgZnVuemVuIGF1Y2ggYWxsZSBhdWYgamVkZW0gVW50ZXJncnVuZCwgZGVuIGljaCAKYW0gU2NocmVpYnRpc2NoIGdlZnVuZGVuIGhhYmUuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9wdGljYWwtTW91c2UgKFBhdHJ5biwgMjguIE5vdiAyMDAxLCAxMTowODoyMCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMDY5MzUwNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjkzNTA1NQp2b2VsbGlnIHd1cnNjaHQgOykKYXVmIGplZGVuIGZhbGwgaXN0IGJlaSB3aXJlbGVzcyBvcHRpY2FsIG1vdXNlIHp1IGJlYWNodGVuOgogZGVzdG8gaGVsbGVyIGRpZSB1bnRlcmxhZ2UsIGRlc3RvIGxhZW5nZXIgaGFsdGVuIGRpZSBiYXR0ZXJpZW4vYWNjdXMKCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT3B0aWNhbC1Nb3VzZSAoTXVwZmVsLCAyOC4gTm92IDIwMDEsIDE3OjQzOjM2KToKfiMhIHJuPVBhdHJ5biBydD0xMDA2OTQyMTAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5MzUwNTUKRWluIHZvZWxsaWcgdW5zdHJ1a3R1cmllcnRlciBUaXNjaCBpc3QgYWJlciBtaXN0aWcgZGEuLi4gc2NobGVjaHQgc2luZCBhdWNoCnZvZWxsaWcgZ3JhZGUgbGluaWVuLCBkYW5uIGhvcHBlbHQgZGVyIG1hdXN6ZWlnZXIuCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3B0aWNhbC1Nb3VzZSAoVGlhbWFrLCAyOC4gTm92IDIwMDEsIDE4OjQ1OjE3KToKfiMhIHJuPU11cGZlbCBydD0xMDA2OTY1ODE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5MzUwNTUKSWNoIGJlbnV0emUgYXVjaCBtaXQgbWVpbmVyIG9wdGlzY2hlbiBNYXVzIG5vY2ggbWVpbiBndXRlcyBhbHRlcyBkaWNrZXMKd2VpY2hlcyBTdGQtTW91c2VwYWQgd2VpdGVyLiBOZW5udCBlcyBHZXdvaG5oZWl0IC0gYWJlciBhdWYgbmVtIHNjaG9lbmVuCndlaWNoZW4gTW91c2VwYWQgbGFlc3N0IHNpY2ggbmUgTWF1cyBtZWluZXIgTWVpbnVuZyBuYWNoIHZpZWwgYW5nZW5laG1lcgpoZXJ1bXNjaHVic2VuLCBhbHMgd2VubiBzaWUgdWViZXIgZGVuIG5hY2t0ZW4gVGlzY2gga3JhdHp0LiA7LSkKClp1c2FldHpsaWNoIHp1IGRlbiBzY2hvbiBnZW5hbm50ZW4gQW5mb3JkZXJ1bmdlbiBhbiBkaWUgVW50ZXJsYWdlIGthbm4gaWNoIG51cgplcmdhZW56ZW4sIGRhc3Mgc2llIG5pY2h0IGRlbiBmYWxzY2hlbiBSb3R0b24gaGFiZW4gZGFyZi4gU29uc3QgaGF0IGRpZSBNYXVzCmF1Y2ggZ2V3aXNzZSBTY2h3aWVyaWdrZWl0ZW4uCgoKVGlhbWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaXJtZW4tZW1haWxzIChPcmt0b2V0ZXIsIDI4LiBOb3YgMjAwMSwgMjE6NDU6MjApOgpIYWJlIGljaCBkYSBiaXNsYW5nIG51ciBncm9zc2VzIFBlY2ggZ2VoYWJ0LCBvZGVyIGlzdCBlcyB0YXRzYWVjaGxpY2ggc28sIGRhcwphdWYgdmllbGVuIEZpcm1lbmhvbWVwYWdlcyBrZWluZSBlbWFpbGFkcmVzc2UgYW5nZWdlYmVuIGlzdCwgc29uZGVybiBudXIgdWViZXIKZWluIGpzIG9kZXIgZXR3YXMgYWVobmxpY2hlcyBlaW5lIG1haWwgdmVyc2NoaWNrdCB3ZXJkZW4ga2Fubj8KCldvbGxlbiBkaWUgbmljaHQgZXJyZWljaHQgd2VyZGVuPwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaXJtZW4tZW1haWxzIChTaWx2YW5hLCAyOC4gTm92IDIwMDEsIDIxOjU2OjMyKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDA2OTgwMzIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKRGFzIGlzdCBlaW5lIHNpY2ggbGVpZGVyIGF1c2JyZWl0ZW5kZSBVbnNpdHRlLCBqYS4gSXN0IGFiZXIgenVtIEdsdWVjayBuaWNodApkaWUgTWVocmhlaXQuIEFiZXIgd2VubiBkaWUga2VpbmUgS3VuZGVuIHdvbGxlbiwgd3VlcmQgaWNoIGRpZSBXYXJudW5nIGVybnN0Cm5laG1lbiwgYW4gRGVpbmVyIFN0ZWxsZS4KCiAgU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaXJtZW4tZW1haWxzIChUcm95LCAyOS4gTm92IDIwMDEsIDA5OjEwOjEzKToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwNjk4MDk5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCkZpcm1lbiwgc3BlemllbGwgZ3JvZXNzZXJlLCBlcnNhdWZlbiBpbiBLdW5kZW4tRW1haWxzIGZ1ZXIgZGllIHNpZSBrZWluZQpvZGVyIG51ciB1bnp1cmVpY2hlbmRlIFNhY2hiZWFyYmVpdGVyIGhhYmVuLiBTZWl0IGRhcyBJbnRlcm5ldCBkZXIgYnJlaXRlbgpPZWZmZW50bGljaGtlaXQgenVnYWVuZ2xpY2ggaXN0IGhhdCBzaWNoIGRhcyBFbWFpbC1BdWZrb21tZW4gei4gQi4gYmVpIGRlcgpBbmZyYWdlIGFuIEtyYW5rZW5rYXNzZW4gKGF1Y2ggcHJpdmF0ZSkgZXR3YSB2ZXItMzAwLWZhY2h0LiBEdXJjaCBkaWUKYW5oYWx0ZW5kZSBHZWxka25hcHBoZWl0IHdlcmRlbiBhYmVyIGF1Y2gga2VpbmUgbmV1ZW4gU2FjaGJlYXJiZWl0ZXIKZWluZ2VzdGVsbHQgYnp3LiBkaWUgdm9yaGFuZGVuZW4gbmljaHQgdW5iZWRpbmd0IGdlc2NodWx0LiBOYXR1ZXJsaWNoCmdpYnRzIGhpZXIgQXVzbmFobWVuLgoKRGllcyBhYmVyIGlzdCBnZW5hdSBkZXIgR3J1bmQsIHdlc2hhbGIgc2ljaCB3ZWItYm90cyAod2llIHdpciBzaWUgYmF1ZW4pCmltIE1vbWVudCBzbyBndXQgdmVya2F1ZmVuLCBkYSBzaWUgdW50ZXIgYW5kZXJlbSBlYmVuIGF1Y2ggZGllIEVtYWlsZmx1dAplaW5kYWVtbWVuIGhlbGZlbi4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpcm1lbi1lbWFpbHMgKFNpbHZhbmEsIDI5LiBOb3YgMjAwMSwgMTQ6MTQ6MjIpOgp+IyEgcm49VHJveSBydD0xMDA3MDIxNDEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSG1tbS4uLiBTZWx0c2FtZSBQb2xpdGlrLi4uIFdlbm4gaWNoIGtlaW5lIEVNYWlscyB2b24gYWxsZW4gS3VuZGVuIHdpbGwsIG1hY2gKaWNoIG1laW5lIEFkcmVzc2UgbmljaHQgcHVibGlrLCBmZXJ0aWcuIERhbm4gZ2lidCdzIGVpbmZhY2gga2VpbmUgb2ZmaXppZWxsZQpNb2VnbGljaGtlaXQsIG1pY2ggcGVyIEVNYWlsIHp1IGVycmVpY2hlbiAtIG1pdCBBdXNuYWhtZSBkZXIgYXVzZ2V3YWVobHRlbgpLdW5kc2NoYWZ0LCBkaWUgbWljaCBlcnJlaWNoZW4ga29lbm5lbiBzb2xsLiBBYmVyIEt1bmRlbiBhdWZncnVuZCBkZXMgR3JhbmRlcwppaHJlciBQYXJhbm9pYSBhdXN6dXNjaGxpZXNzZW4gLSBiencuIGF1ZiBCYXNpcyBkZXIKQXVmZ2VzY2hsb3NzZW5oZWl0L0FyZ2xvc2lna2VpdCBnZWdlbnVlYmVyIG5ldWVuIFRlY2huaWtlbiBhdXN6dXdhZWhsZW4uLi4KRmluZCBpY2ggc2VsdHNhbS4gV2lya2xpY2guCgogIFNpbHZhbmEKClBTOiBFcyBnZWh0IG1pciBoaWVyIG5pY2h0IHVtIGF1dG9tYXRpc2llcnRlIEhvdGxpbmUtQW50d29ydGVuLCBzb25kZXJuCndpcmtsaWNoIHVtIHJlaW5lIEVNYWlsLUFkcmVzc2VuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmlybWVuLWVtYWlscyAoV3VyemVsLCAzMC4gTm92IDIwMDEsIDIyOjI1OjE4KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwNzAzOTY2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCndlbm4gZGllIGZpcm1lbiB0YXRzYWVjaGxpY2gga2VpbiBnZWxkIGhhYmVuLCBpc3QgZGFzIG5hdHVlcmxpY2ggZWluIHByb2JsZW0uCmFuc29uc3RlbiB3dWVyZGUgaWNoIGVtcGZlaGxlbiwgc2ljaCBtYWwgenVtIHRoZW1hIGJlcmF0ZW4genUgbGFzc2VuLCB3YXMgbWFuCm1hY2hlbiBrYW5uIHVtIG1pdCBkZXIgbWFpbGZsdXQgZ2VvcmRuZXQgZmVydGlnIHp1IHdlcmRlbi4gZXMgZ2lidCBkYSBzZWhyCnNpbm52b2xsZSBtb2VnbGljaGtlaXRlbiwgZGllIGF1Y2ggbmljaHQgZGVuIGVpbmRydWNrIGVpbmVyIHVucGVyc29lbmxpY2hlbgphdXRvbWF0aXNpZXJ0ZW4gYW50d29ydCBtYWNoZW4sIHNvbmRlcm4gdGF0c2FlY2hsaWNoIGRpZSBzYWNoYmVhcmJlaXRlcgplcnJlaWNoZW4gb2huZSBzaWUgenUgdWViZXJsYXN0ZW4uIGlzdCBhYmVyIG5pY2h0IGtvc3RlbmZyZWkgenUgaGFiZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmlybWVuLWVtYWlscyAoQW1hcnlsbGlzLCAzMC4gTm92IDIwMDEsIDIyOjI2OjE4KToKfiMhIHJuPVd1cnplbCBydD0xMDA3MTU1NTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKPiBpc3QgYWJlciBuaWNodCBrb3N0ZW5mcmVpIHp1IGhhYmVuIDopCgp6dW1pbmRlc3QgbmljaHQgdW50ZXIgV2luZG93cy4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmlybWVuLWVtYWlscyAoUm9uZGEsIDMwLiBOb3YgMjAwMSwgMjI6Mjg6NTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDcxNTU1Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApBbWFyeWxsaXMsIGljaCBnbGF1YiBpbiBGaXJtZW4sIGRpZSBlbnRzcHJlY2hlbmRlIEF1ZmdhYmVuc3RlbGx1bmdlbiBoYWJlbiwKc2luZCBkaWUgU29mdHdhcmVsaXplbnplbiBuaWNodCB1bmJlZGluZ3QgZGVyIGhhdXB0c2FlY2hsaWNoZSBLb3N0ZW5hbnRlaWwuLi4KbWFuIGZyYWdlIGVpbmZhY2ggbWFsIGRlbiBNYWcuLi5CZXJhdGVyIHNlaW5lcyBWZXJ0cmF1ZW5zIG5hY2ggZWluZXIKZW50c3ByZWNoZW5kZW4gTG9lc3VuZyA7LSkKCi4uLiBhdXNzZXIgbWFuIHR1dCBzbywgYWxzIHd1ZXJkZW4gZGllIGVpZ2VuZW4gTWl0YXJiZWl0ZXIsIGRpZSBzbyB3YXMKZWlucmljaHRlbiwgZnVlciBsYXUgYXJiZWl0ZW4uIFR1biBzaWUgYWJlciBpcmdlbmR3aWUgYXVjaCBzZWhyIHNlbHRlbi4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZpcm1lbi1lbWFpbHMgKFd1cnplbCwgMzAuIE5vdiAyMDAxLCAyMjoyOTowMSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAwNzE1NTU3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCmRhcyBoYXQgbmljaHRzIG1pdCBkZW0gYmV0cmllYnNzeXN0ZW0genUgdHVuLiBlaW5lIGJyYXVjaGJhcmUgbG9lc3VuZyBrb3N0ZXQKaW1tZXIgZ2VsZCwgc2VsYnN0IHdlbm4gc2llIGF1ZiBvcGVuIHNvdXJjZSBiYXNpZXJ0LiBlcyBpc3QgamEgYmVpIHdlaXRlbQpuaWNodCBkYW1pdCBnZXRhbiwgc2ljaCBlaW5lbiBzdGFwZWwgc291cmNlZmlsZXMgcnVudGVyenVsYWRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZpcm1lbi1lbWFpbHMgKEFtYXJ5bGxpcywgMzAuIE5vdiAyMDAxLCAyMjozMjoxMSk6Cn4jISBybj1Sb25kYSBydD0xMDA3MTU1NzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKc28/Cgp3ZW5uIGljaCBoaWVyIGd1Z2dlLCB3YXMgZGllIG1pc3RpZ2VuIExpemVuemVuIHZlcmFuc2NobGFnZW4sIGdsYXViZSBpY2ggc2Vocgp3b2hsLCBkYXNzIGRhcyBpbSBLb3N0ZW5hbnRlaWwgdW5kIGluIGRlciBLYWxrdWxhdGlvbiBlaW5lIG5pY2h0CnVuYmV0cmFlY2h0bGljaGUgUm9sbGUgc3BpZWx0LgoKCkFiZXIgaWNoIGdlYiBqYSB6dTogaWNoIHdvbGx0ZSBtaXQgbWVpbmVtIEFydGlrZWwgbnVyIHByb3ZvemllcmVuIDopCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGaXJtZW4tZW1haWxzIChSb25kYSwgMzAuIE5vdiAyMDAxLCAyMjozNDowMCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAwNzE1NTkzMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCkFtYXJ5bGxpcywgaWNoIGdsYXViIG1laW4gQ2hlZiB3dWVyZGUgc2ljaCBmcmV1ZW4sIHdlbm4gRHUgZnVlciBpaG4gYWxzClN1YnVudGVybmVobWVyIGFyYmVpdGVzdCAtIER1IHNjaGVpbnN0IGVjaHQgZ3VlbnN0aWcgenUgc2VpbiA7LSkKCkFiZXIgbnVuIGFiIGRhbWl0IG5hY2ggU2NobWFycm4gb2RlciBTdWNoZSBTdWJ1bnRlcm5laG1lciAtIEJpZXRlIEFwcGVsIHVuZApuZW4gRWkgOy0pCgpSb25kYSAqaW4gZGVuIGxldHp0ZW4gTW9uYXRlbiBldHdhcyBhdWZnZWtsYWVydCB3b3JkZW4gZGFydWViZXIsIHdhcyBmdWVyClNwb3R0cHJlaXNlIHNpZSBmcnVlaGVyIHZlcmxhbmd0IGhhdC4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEZpcm1lbi1lbWFpbHMgKEFtYXJ5bGxpcywgMzAuIE5vdiAyMDAxLCAyMjozNjowOCk6Cn4jISBybj1Sb25kYSBydD0xMDA3MTU2MDQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKaWNoIGhhYmUgbmljaHQgYmVoYXVwdGV0LCBkYXNzIGljaCBMaXplbnplbiB2ZXJrYXVmZSA6KQoKRHUgc29sbHRlc3QgRGljaCBudXIgbGFuZ3NhbSB3dW5kZXJuLCB3ZW5uIGRpZSBMaXplbnplbiBtZWhyIGtvc3RlbiwgYWxzIGRlcgpNaXRhcmJlaXRlciAtIHVuZCBkYXp1IG5vY2ggbml4IHRhdWdlbiA6KQpBYmVyIG1laHIgSGlud2Vpc2UgZ2ViIGljaCBqZXR6dCBuaWNodCBtZWhyIDopCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGaXJtZW4tZW1haWxzIChXdXJ6ZWwsIDMwLiBOb3YgMjAwMSwgMjI6Mzc6NDQpOgp+IyEgcm49Um9uZGEgcnQ9MTAwNzE1NjA0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCnVlYmVyc2NobGFlZ2lnOiBzb2Z0d2FyZWxpemVuemVuIHZpZWxsZWljaHQgMjAwMDAwIGV1cm8sIGJpcyBhbGxlcyBzdGVodCwKZnVua3Rpb25pZXJ0IHVuZCBkaWUgbGV1dGUgZ2VzY2h1bHQgc2luZCB1bmQgZGFzIHN5c3RlbSBhbm5laG1lbiwgZGllIGdhbnplCmhhcmR3YXJlIGRhIHN0ZWh0IHVuZCBkZXIgYXVzZmFsbHNpY2hlcmUgYmV0cmllYiBlaW5nZXJpY2h0ZXQgaXN0LCBhbGxlcwp6dXNhbW1lbiB2aWVsbGVpY2h0IDUgbWlvIGV1cm8uIGRhIGZhbGxlbiBkaWUgcGFhciBtYWV1c2UgZnVlciBkaWUgc29mdHdhcmUKbmljaHQgd2lya2xpY2ggaW5zIGdld2ljaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBGaXJtZW4tZW1haWxzIChBbWFyeWxsaXMsIDMwLiBOb3YgMjAwMSwgMjI6NDI6MTEpOgp+IyEgcm49V3VyemVsIHJ0PTEwMDcxNTYyNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApCZWkgd2VsY2hlciBGaXJtZW5ncm9lc3NlPwpXZWxjaGUgRmlybWVuYXJ0PwpXZWxjaGVyIE1hcmt0PwpXZWxjaGVyIEFic2F0ej9bMV0KClNvcnJ5LCBpY2ggc2NocmVpYmUgZGllcyBudXIsIHdlaWwgbWlyIGRpZSBLZW5uemFobGVuIGZlaGxlbi4uLiBkaWVzIHdhciBhdWNoCmRlciBHcnVuZCwgd2VzaGFsYiBpY2ggdWViZXJoYXVwdCBtaXQgbWVpbmVtIHByb3Zva2FudGVuIEFydGlrZWwgYmVnb25uZW4KaGFiZS4uLiA6KQpRdW9kIGxpY2V0IGpvdmkgbm9uIGxpY2V0IGJvdmkuLi4KCkFtYSwgZGVuIFRocmVhZCBub2NobWFsIGR1cmNod3VlaGxlbmQgOykKClsxXSBBcmdsLCBpY2ggcmVkIHNjaG9uIHdpZSBuZW4gTWFya2V0aW5nLURlcHAgZGFoZXIuLi4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRmlybWVuLWVtYWlscyAoTXVwZmVsLCAzMC4gTm92IDIwMDEsIDIyOjQyOjQ5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDA3MTU2NTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKVmllbGxlaWNodCBiaXN0IER1IGphIGVpbmVyPyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBGaXJtZW4tZW1haWxzIChXdXJ6ZWwsIDMwLiBOb3YgMjAwMSwgMjI6NDk6MTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMDcxNTY1MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMAp3YXIgZWluIHdpbGxrdWVybGljaGVzIGJlaXNwaWVsIG9obmUga29ua3JldCBkYWhpbnRlcnN0ZWhlbmRlcyBwcm9qZWt0LApzb25kZXJuIG51ciB6dXIgdmVyZGV1dGxpY2h1bmcgZGVyIHp1IGVyd2FydGVuZGVuIGdyb2Vzc2Vub3JkbnVuZ2VuLiB3ZW5uCmVzIGRpY2ggd2lya2xpY2ggaW50ZXJlc3NpZXJ0LCBrYW5uIGljaCBkaXIgZWluZW4gc3BlemlhbGlzdGVuIGZ1ZXIgZGllc2UKdGhlbWF0aWsgbmVubmVuLCBkZXIgZGlyIGZ1ZXIgc2NobGFwcGUgMTcwMCBldXJvIHBybyB0YWcgZWluIGtvbnplcHQgZGFmdWVyCm1hY2h0LiBkYWJlaSB3ZXJkZW4gYWxsIGRpZSB2b24gZGlyIGdlbmFubnRlbiBmYWt0b3JlbiB1bmQgbm9jaCBlaW5pZ2UgbWVocgppbiBkaWUgYmV0cmFjaHR1bmcgZWluYmV6b2dlbiwgdW0gZWluZSBvcHRpbWFsIGFuZ2VwYXNzdGUgbG9lc3VuZyB6dQplbnR3ZXJmZW4uIGF1ZiBkZXIgYmFzaXMgZGllc2VzIGtvbnplcHRzIGthbm4gbWFuIGRhbm4gZWluZSBkZXRhaWxsaWVydGUKc2NoYWV0enVuZyBkZXIgZ2VzYW10a29zdGVuIG1hY2hlbi4gYXVzIGRlbSBoYW5kZ2VsZW5rIGthbm5zdCBkdSBuaWNodCBtZWhyCmVyd2FydGVuIGFscyBncm9lc3Nlbm9yZG51bmdlbiA6KQoKd3VyemVsCgpwLnMuIGZhbGxzIGVzIGRpY2ggX3RhdHNhZWNobGljaF8gaW50ZXJlc3NpZXJlbiBzb2xsdGUsIHJ1ZiBtaWNoIGVpbmZhY2ggYW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBGaXJtZW4tZW1haWxzIChNdXBmZWwsIDMwLiBOb3YgMjAwMSwgMjI6NTE6MDApOgp+IyEgcm49V3VyemVsIHJ0PTEwMDcxNTY5NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApBY2ggZGVyIFNwZXppYWxpc3QgYmlzdCBkdT8gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRmlybWVuLWVtYWlscyAoUm9uZGEsIDMwLiBOb3YgMjAwMSwgMjI6NTE6MzgpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMDcxNTcwNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApNdXBmZWxjaGVuLCBmYWxzY2ggdmVyc3RhbmRlbi4gV3VyemVsIGlzdCB6dSB0ZXVlci4uLiBkZW4ga3JpZWdzdCB2ZXJtdXRsaWNoCm5pY2h0IGZ1ZXIgMS43MDAgRXVyby4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRmlybWVuLWVtYWlscyAoV3VyemVsLCAzMC4gTm92IDIwMDEsIDIyOjUxOjU4KToKfiMhIHJuPU11cGZlbCBydD0xMDA3MTU3MDYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKbmVpbiwgaWNoIGhhYiBlaW4gYW5kZXJlcyBzY2h3ZXJwdW5rdHRoZW1hLiBhYmVyIGljaCB2ZXJrYXVmZSBwcm9qZWt0ZSBkaWVzZXIKYXJ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRmlybWVuLWVtYWlscyAoTXVwZmVsLCAzMC4gTm92IDIwMDEsIDIyOjUzOjQ1KToKfiMhIHJuPVd1cnplbCBydD0xMDA3MTU3MTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSXJnZW5kd2llIG5pY2h0IG1laW5lIFdlbHQuLi4KCi1tdXBmZWwtIChlbnR3aWNrZWx0IEJyYW5jaGVuc29mdHdhcmUpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRmlybWVuLWVtYWlscyAoQW1hcnlsbGlzLCAzMC4gTm92IDIwMDEsIDIyOjU1OjM1KToKfiMhIHJuPVd1cnplbCBydD0xMDA3MTU2OTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKTmFjaCBlaW5lbSBUYWcgd2lyZCBkZXIgc2ljaGVyIG5pY2h0IGZlcnRpZyBzZWluOgpBYmVyIG5hY2ggRGVpbmVyIEFyZ3VtZW50YXRpb24gaXN0IGRhbm4gd29obCBxdWFzaSBkaWVzZSB0YXVzZW5kZW4gRXVyb3MsIGRpZQpkZXIga29zdGV0LCB3b2hsIG51ciBuZW4gQnV0dGVycGxhZXR6Y2hlbiB6dSBkZW0sIHdhcyBlcyBkaWUgRmlybWEgZWggc2Nob24Ka29zdGV0IDopCgpVbSBiZWltIFRocmVhZCB6dSBibGVpYmVuLCB3aWUgbWFuIHouQi4gTWFpbHMgc2VsZWt0aWVyZW4gdW5kIGZ1ZXIgZ2V3aXNzZQpNYWlsZ3J1cHBlbiBvZGVyIE1pdGFyYmVpdGVyIHd1bmRlcmJhciBpbiBlaW4gU3lzdGVtIGVpbnR1ZXRlbiBrYW5uLCB3YXMKYmVhcmJlaXRiYXIgaXN0LCBBZW5kZXJ1bmdlbiBtaXRsb2dndCwgTnVtbWVybiBmdWVyIGRpZSBGYWVsbGUgdmVyZ2lidCBldGMuLi46CgpNYWlscyBhYmhvbGVuIChmZXRjaG1haWw/KQpmaWx0ZXJuIChwcm9jbWFpbD8pCkVpbnR1ZXRlbiAoUmVxdWVzdFRyYWNrZXI/KQoKTnVyIG1hbCBhbHMgQmVpc3BpZWwuIFNlaHIgd2lya3VuZ3N2b2xsLCBzZWhyIGd1dCBicmF1Y2hiYXIsIHRhdWdsaWNoIHNlbGJzdApmdWVyIGdyb3NzZSBGaXJtZW4gbWl0IFRhdXNlbmRlbiB2b24gS3VuZGVuLCB1bmQgdm9yIGFsbGVtOiBzZWhyIGd1dAprb3N0ZW5sb3MuCgpOdXIgbWFsIG5lIERlbmthbnJlZ3VuZy4gSWNoIHNhZ2UgbmljaHQsIGRhc3MgbWFuIG5pY2h0IGplIG5hY2ggRmlybWEgdW5kCkVpbnNhdHpnZWJpZXQgYXVjaCBuZSByaWNodGlnIHRldXJlIFNvZnR3YXJlIGJyYXVjaHQgLSBtZWluIEJlaXNwaWVsIHdhciBlaW4KTG93Y29zdC0sIGFiZXIgZnVlciB2aWVsZSBad2Vja2UgZWluIEF1c3JlaWNoZW5kLUJlaXNwaWVsLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEZpcm1lbi1lbWFpbHMgKFJvbmRhLCAzMC4gTm92IDIwMDEsIDIzOjAwOjQyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDA3MTU3MzM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSmVwLCBpbSBQcmluemlwIGhhc3QgRHUgUmVjaHQuIEFiZXIgbnVyIHVtIG1hbCB3ZXRlcnp1ZGVua2VuIC0gdmVyemVpaCcKbWlyLGRhc3MgaWNoIGpldHp0IHZvZWxsaWcgaW5zIEJsYXVlIGthbGt1bGllcmUuLi4KCktvbnplcHRpb24sIFByYWVzZW50YXRpb24gdm9yIGRlciBHZXNjaGFlZnRzbGVpdHVuZyB1bSBkYXMgUHJvamVrdApkdXJjaHp1c2V0emVuIGV0YzogMzAgVGFnZS4gR3VlbnN0aWcgZ2VyZWNobmV0ZXIgaW50ZXJuZXIgVGFnZXNzYXR6IGRlcwplbnRzcHJlY2hlbmRlbiBNaXRhcmJlaXRlcnM6IDgwMCBETS4KSW1wbGVtZW50aWVydW5nLCBWYWxpZGllcnVuZywgU2NodWx1bmcgZGVyIE1pdGFyYmVpdGVyLCBkYXNzIGRpZSB1ZWJlcmhhdXB0Cndpc3Nlbiwgd2FzIHNpZSBudW4gbWl0IGRlbiBNYWlscyBzb2xsZW4sIHdhcyBwYXNzaWVydCB3ZW5uIHNpZSBpbSBVcmxhdWIgc2luZApldGM6IDUwIFRhZ2UuCkRhbmFjaCB3ZW5uIER1IEdsdWVjayBoYXN0IHBybyBXb2NoZSBlaW4gVGFnIGZ1ZXIgU3VwcG9ydCwgV2FydHVuZywgVGVsZWZvbmF0ZQptaXQgZGVuIFVzZXJuIGV0Yy4gTWFjaHQgaW0gSmFociBhbHNvIDUyIFRhZ2UuCktsYXIsIGJlaSBkcmVpIE1pdGFyYmVpdGVybiBpbSBVbnRlcm5laG1lbiBzaWVodCBkaWUgS2Fsa3VsYXRpb24gYW5kZXJzIGF1cy4KClJvbmRhICplaW5mYWNoIG1hbCBzbyBnZW11ZXRsaWNoIGFtIE5hY2hkZW5rZW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRmlybWVuLWVtYWlscyAoV3VyemVsLCAzMC4gTm92IDIwMDEsIDIzOjM0OjM1KToKfiMhIHJuPVJvbmRhIHJ0PTEwMDcxNTc2NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApkYWJlaSBpc3Qgbm9jaCBuaWNodCB2ZXJhbnNjaGxhZ3QsIGRhc3MgbWFuIGJlaSBlbnRzcHJlY2hlbmRlbSBtYWlsYXVma29tbWVuCmF1Y2ggbm9jaCBlaW5pZ2VzIGFuIGhhcmR3YXJlIGJyYXVjaHQuIHdlbm4gYWxsZXMgd2FzIGRhIHJlaW5rb21tdCBhdWYgZWluZW0KZWluZmFjaGVuIHBjIHBsYXR6IGZpbmRldCwgaXN0IGRhcyB6d2FyIGtlaW4gZ3Jvc3NlciBwb3N0ZW4sIGFiZXIgZGFubiBzb2xsdGUKbWFuIGRvY2ggbWFsIHVlYmVybGVnZW4sIG9iIG1hbiBuaWNodCBlaW5mYWNoIGVpbmUgc2VrcmV0YWVyaW4gZHJhbiBzZXR6dCwKZGllIGRpZSBnYW56ZW4gbWFpbHMgYmVhcmJlaXRldC4gaWNoIGRhY2h0ZSBlaGVyIGFuIG5lbm5lbnN3ZXJ0ZSB2b2x1bWluYSwKd2llIHNpZSBiZWlzcGllbHN3ZWlzZSBiZWkgYmVob2VyZGVuIG1pdHRsZXJ3ZWlsZSBhdWZsYXVmZW4uIHdlbm4gZHUgcHJvIHRhZwp2aWVsbGVpY2h0IDMwMDAwMCBtYWlscyBiZWFyYmVpdGVuIG11c3N0LCBrYW5uc3QgZHUgZGllIGVudHdlZGVyIGF1dG9tYXRpc2NoCm5hY2ggL2Rldi9udWxsIGxlbmtlbiBvZGVyIHNvbGx0ZXN0IGRpciBlaW4gc3RvcmFnZS1rb256ZXB0IGF1c2Rlbmtlbi4uLgpsZWlkZXIgaXN0IGVzIGluIGRpZXNlciBncm9lc3Nlbm9yZG51bmcgYXVjaCBuaWNodCBtaXQgZWluZW0gdGFnIHN1cHBvcnQgcHJvCndvY2hlIGdldGFuLiBlcyBpc3QgZWJlbiBhbGxlcyBlaW5lIGZyYWdlIGRlciBza2FsaWVydW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEZpcm1lbi1lbWFpbHMgKEthcmlzLCAgMS4gRGV6IDIwMDEsIDAwOjIzOjU1KToKfiMhIHJuPVJvbmRhIHJ0PTEwMDcxNTc2NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApBY2ggUm9uZGEuLi4ga2Fsa3VsaWVyIG5vY2ggZWluIGJpc3NjaGVuLCBiZWkgZGVpbmVuIFByZWlzZW4ga29tbWVuIHdpcgpiZXN0aW1tdCBtYWwgaW5zIEdlc2NoYWVmdCwgc29sYW5nZSBEdSBuaWNodCBhbHMgUHV0emtyYWZ0IHZlcmthdWZ0IHdpcnN0LgpXZW5ucyB1bSBzb3dhcyBnZWh0IHdpZSBLb256ZXB0aW9uICggZGEgYnJhdWNoc3RlIHRldXJlIExldXRlLCBkaWUgYW5kZXJlbgprb2VubmVuIGRhcyBzY2hsaWVzc2xpY2ggbmV0IDspLCB3aXJzdGUgZnVlciA4MDBETSBrZWluZW4ga3JpZWdlbi4gVW5kCnNlbGJzdCBXdXJ6ZWxzIDE3MDAuLSBFdXJvIHNpbmQgZGEgbnVyIGVpbmUgTWlzY2hrYWxrdWxhdGlvbiwgZGllIGRpZSAKc2ljaGVybGljaCBmb2xnZW5kZW4gSW1wbGVtZW50aWVydW5nc2FyYmVpdGVuLCBUZXN0aW5nIHVuZCB3YXMgc29uc3Qgbm9jaCAKYWxsZXMgZGF6dWdlaG9lcnQgKGphYWFhYSwgaWNoIGhhYiBtYWwgd2llZGVyIG51ciB2b24gRW50d2lja2x1bmcgbmUgQWhudW5nKQphYmRlY2tlbi4gQWJlciBkYWZ1ZXIgYmlzdGUgamEgc2VsYmVyIEtvbnNhbHRhZW50LCBzbyB3aWUgZGFzIGtsaW5ndCA6KQpVbmQgdmVyZ2lzcyBiaXR0ZSBuaWNodCwgRGVpbmUgS3VuZGVuIGF1ZiBkaXZlcnNlIEZvbGdla29zdGVuIGF1Zm1lcmtzYW0gCnp1IG1hY2hlbi4uLiB3aWUgZXMgZGFubiBpc3QsIHdlbm4gc2ljaCBrZWluZXIgbWl0IERlaW5lciBJbXBsZW1lbnRpZXJ1bmcKYXVza2VubnQsIHdlbm4gYXVjaCBuYWNoIDMgU2NodWx1bmdlbiBkaWUgTGV1dGUgbnVyIHdpc3Nlbiwgd2llIG1hbiBtaXQKRGVpbmVyIFNXIHVtZ2VodCwgYWJlciBuaWNodCwgd2llIG1hbiBGZWhsZXIgYmVoZWJ0LCB3ZWlsIGRlbiBTb3VyY2UKc293aWVzbyBuaWUgamVtYW5kIGdlc2VoZW4gaGF0Li4uLiB1bmQgdW5kIHVuZC4uLgpBYmVyIHNvd2FzIGJyYXVjaHQgbWFuIGphIGFsbGVzIGVyc3QgYWIgZWluZXIgZ2V3aXNzZW4gR3JvZXNzZS4uLiBvZGVyCmFiIGVpbmVyIGJlc3RpbW10ZW4gTWVuZ2UgYW4gTWFpbHMuCk5hamEsIGljaCBrb2VubnQgbWlyIGRhcyBqYSBuaWNoIGxlaXN0ZW4uIGRhIGZlaGwgbWlyIGVpbmZhY2ggbm9jaCBkZXIKVW1zYXR6LiBBYmVyIGVzIGlzdCBpbnRlcmVzc2FudCB6dSBzZWhlbiwgd2llIGhpZXIgbGFuZ3NhbSBkaWUgZWluZW4gb2RlcgphbmRlcmVuIChuZWluIFd1cnplbCwgRHUgamV0enQgbmljaCA7KSBkZW0gU3R1ZGVudGVuLURhc2VpbiBlbnR3aXNjaGVuCnVuZCBhbmZhbmdlbiwga29tbWVyemllbGwgenUgZGVua2VuIDopKSkgIEJpbiBnZXNwYW5udCwgd2FubiBoaWVyIGVpbgpLb25zZW5zIHVlYmVyIGFuenV3ZW5kZW5kZW4gR3JvZXNzZW5vcmRudW5nZW4gZ2VmdW5kZW4gd2lyZCA7KSkpKQoKS2FyaXMsIHNjaG9uIHNlaHIgZ2VzcGFubnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBGaXJtZW4tZW1haWxzIChSb25kYSwgIDEuIERleiAyMDAxLCAwMDozMDowNik6Cn4jISBybj1LYXJpcyBydD0xMDA3MTYyNjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSGkgS2FyaXMsCgoqZ3JpbnMqIHZvbGwgdW5kIGdhbnogRGVpbmVyIE1laW51bmchIEFiZXIgZGllIDgwMCBETSBwcm8gVGFnIHdhcmVuIGF1Y2ggbnVyCndpZSBnZXNjaHJpZWJlbiBkaWUgdm9lbGxpZyBiYW5hdXNpZ2UgU2NoYWV0enVuZyBmdWVyIGVpbmUgaW50ZXJuZSBLYWxrdWxhdGlvbgplaWdlbmVyIE1pdGFyYmVpdGVyIGVpbmVzIFVudGVybmVobWVucywgZGFzIGRhcyBzZWxic3QgbWFsIHZlcnN1Y2hlbiB3aWxsLgpNaXIgaXN0IHZvZWxsaWcga2xhciwgZGFzcyBEdSB6dSBkZW0gUHJlaXMgc2Nob24gc2VociBsYW5nZSBzdWNoZW4gbXVzc3QsIHVtCmhhbGJ3ZWdzIHZlcm51ZW5mdGlnZSBQcm9ncmFtbWllcmVyIHp1IGZpbmRlbi4gQWJlciB3ZW5ucyB1bSBFeHRlcm5lIGdlaHQ6CkJlcmF0ZXIgZnVlciA4MDAgRXVybyB6dSBmaW5kZW4gZHVlcmZ0ZSBJbGx1c2lvbiBzZWluLiBXdXJ6ZWxzIDE3MDAgRXVybyBzaW5kCnNjaG9uIGVpbiBnYW56IG5ldHRlciBTYXR6LCB3ZW5uIGRhcyBQcm9qZWt0IGxhbmcgZ2VudWcgZ2VodCwgZHVlcmZ0ZSBzaWNoIGRhCmFiZXIgc2ljaGVyIHdhcyBtYWNoZW4gbGFzc2VuIDstKQoqZ3JpbnMqIEVnYWwgd2llLCBlcyBpc3Qgd2lya2xpY2ggc3Bhbm5lbmQgenUgc2VoZW4sIHdpZSBzaWNoIGRpZSBMZXV0ZSBoaWVyCmltIE1HIHVlYmVyIGRpZSBKYWhyZSBlbnR3aWNrZWxuISBVbmQgaWNoIG11c3MgenVnZWJlbiwgZGFzcyBpY2ggdm9yIG5lbiBwYWFyCkphaHJlbiBUYWdlc3NhZXR6ZSB1ZWJlciAxMDAwIEV1cm8gYXVjaCBhbHMgV3VjaGVyIGJldHJhY2h0ZXQgaGFldHRlLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEZpcm1lbi1lbWFpbHMgKFd1cnplbCwgIDEuIERleiAyMDAxLCAwMDozODoyNSk6Cn4jISBybj1LYXJpcyBydD0xMDA3MTYyNjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKdGphLCBzY2hvZW4gd2FlciBlcy4gbGVpZGVyIHNpbmQgZGllIGFtIG1hcmt0IGVyemllbGJhcmVuIHByZWlzZSBuaWNodCBnYW56CnNvLCB3aWUgbWFuIGVzIGdlcm5lIGhhZXR0ZS4uLiB2ZXJzdWNoIG1hbCwgZnVlciBlaW5lbiBkdXJjaHNjaG5pdHRsaWNoZW4KZW50d2lja2xlciBtZWhyIGFscyAxMjAwIGV1cm8gcHJvIHRhZyB6dSBiZWtvbW1lbiwgZGFzIGlzdCBmYXN0IG5pY2h0IHp1CnNjaGFmZmVuLiB1bmQgZnVlciBlaW5lbiB0ZXN0ZXIgYmVrb21tc3QgZHUga2F1bSBtZWhyIGFscyAxMDAwIGV1cm8uIHNpY2hlcgprYW5uc3QgZHUgbmljaHQgZXJ3YXJ0ZW4sIGZ1ZXIgMTcwMCBldXJvIGVpbmVuIHNwaXR6ZW5iZXJhdGVyIHp1IGJla29tbWVuLAphYmVyIGVpbmVuIGd1dGVuIHNlbmlvciBjb25zdWx0YW50IGdpYnQgZXMgZGFmdWVyIHNjaG9uLi4uIHNlaXQgdmllbGUKd2V0dGJld2VyYmVyIHp1IGh1bmdlcmxlaWRlcm4gZ2V3b3JkZW4gc2luZCwgbWFjaGVuIHNpZSBlaW5mYWNoIGRpZSBwcmVpc2UKa2FwdXR0LiBmcnVlaGVyIHdhciBlYmVuIGFsbGVzIGJlc3NlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEZpcm1lbi1lbWFpbHMgKEthcmlzLCAgMS4gRGV6IDIwMDEsIDAwOjQ1OjU3KToKfiMhIHJuPVd1cnplbCBydD0xMDA3MTYzNTA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSmV0enQgbWFsIGdhYWFhbnogbGFuZ3NhbS4gTnVyLCB3ZWlsIGRpdmVyc2UgRG90LkNvbXMgZW50bGFzc2VuLApoZWlzc3QgZGFzIG51biBuaWNodCwgZGFzcyB3aXIgaGllciBkaWUgUHJlaXNlICh1bmQgZGFtaXQgbWVpbiAKR2VoYWx0KSBkcnVlY2tlIG11ZXNzZW4gOykKTmFjaGRlbSBEaXIgamEgc2ljaGVyIGJla2FubnQgaXN0LCBkYXNzIGVzIGtlaW5lIGR1cmNoc2Nobml0dGxpY2hlbiAKRW50d2lja2xlciBnaWJ0IChkYXMgc2luZCBqYSBhbGxlcyBFeHBlcnRlbiwgaWNoIHNlbGJlciB3dXJkZSBuYWNoIGVpbmVyCklTRE4tU2NodWx1bmcgdm9uIDIgV29jaGVuIG1pdCBldHdhcyBQcmF4aXMgamEgc2Nob24gYWxzIElTRE4tRXhwZXJ0ZQp2ZXJrYXVmdCAgLSB1bmQgaWNoIHNhZyBqZXR6dCBuaWNodCwgYW4gd2VuIDspIGthbm4gbWFuIGRpZSAxMjAwIEV1cm8KamEgYWxzIFVudGVyZ3JlbnplIGFuc2V0emVuIDopCk9rLCBTcGFzcyBiZWlzZWl0ZS4gV2VubiBkaWUgSGVycmVuIEVudHdpY2tsZXIgdW5kIFRlc3RlciBtYWwgbnVyCmFubmFlaGVybmQgZGFzIGJlemFobHQgYmVrb21tZW4gd3VlcmRlbiwgd2FzIGFuZGVyZSBkYW1pdCB2ZXJkaWVuZW4sCmtvZW5udGUgaWNoIG1laW4gWmllbCwgYWIgNDUgbmljaHQgbWVociB6dSBhcmJlaXRlbiwgd29obCBzY2hvbiBhdWYKNDAgcmVkdXppZXJlbi4uLi4uIGFiZXIgbWFuIG11ZXNzdGUgc2ljaCBoYWx0IHRyYXVlbiwgc2ljaCBzZWxic3RhZW5kaWcKenUgbWFjaGVuLi4uCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEZpcm1lbi1lbWFpbHMgKFd1cnplbCwgIDEuIERleiAyMDAxLCAwMDo1Mzo0MCk6Cn4jISBybj1LYXJpcyBydD0xMDA3MTYzOTU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKYWIgNDUgbmljaHQgbWVociBhcmJlaXRlbi4uLiAqc2V1ZnoqIC4uLndhcyBtYWNoZSBpY2ggZWlnZW50bGljaCBub2NoIGplZGVuCnRhZyBpbiBkZW0gbGFkZW4/IGlyZ2VuZHdpZSBoYWIgaWNoIGRhIHdvaGwgd2FzIHZlcnBhc3N0Li4uCnVuZCBlcyBzaW5kIG5pY2h0IG51ciBkaXZlcnNlIGRvdGNvbXMsIHNvbmRlcm4gYXVjaCByZW5vbW1pZXJ0ZSBsYWVkZW4uIHNvCmhhdCBiZWlzcGllbHN3ZWlzZSBhY2NlbnR1cmUgbWFzc2Vud2Vpc2UgbGV1dGUgZW50bGFzc2VuIChhdWNoIHdlbm4gbmllIGV0d2FzCmRhcnVlYmVyIGluIGRlciB6ZWl0dW5nIHN0YW5kKSwgdW5kIG1pdCBkZW4gdmVyYmxpZWJlbmVuIGxldXRlbiBtYWNoZW4gc2llCmR1bXBpbmdwcmVpc2UuIHZvcmJlaSBkaWUgemVpdGVuLCBhbHMgbWFuIGVpbmVuIGFjY2VudHVyZS1taWV0c2tsYXZlbiBlcnN0CmFiIDIwMDAgZXVybyBiZWtvbW1lbiBrb25udGUsIGpldHp0IGJla29tbXQgbWFuIGRpZSBmdWVyIGFwcGVsIHVuZCBlaS4gd2llCnNvbGwgbWFuIGRhIGF1ZiBzZWluZW4gc2Nobml0dCBrb21tZW4/IGRpZSBhbmRlcmVuIHNpbmQgZGEgYXVjaCBuaWNodCBiZXNzZXIuCnVuZCBkaWVqZW5pZ2VuLCBkaWUgc2ljaCBzZWxic3RhZW5kaWcgbWFjaGVuLCBrbG9wZmVuIGRhbm4gd2VuaWcgc3BhZXRlciBiZWkKbWlyIGFuIGRpZSB0dWVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogRmlybWVuLWVtYWlscyAoS2FyaXMsICAxLiBEZXogMjAwMSwgMDA6NTQ6NTEpOgp+IyEgcm49V3VyemVsIHJ0PTEwMDcxNjQ0MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApXZW5uIGRhcyBzbyBpc3QuLiB3aXIgc3VjaGVuIGVpbmVuIEMrKyB1bmQgZWluZSBKYXZhIHByb2dnZXIsIG1pbi4gNCBKYWhyZQplcmZhaHJ1bmcuLi4gb2RlciBzbyA7KQpOdXIgZWluZSBrbGVpbmUgQWx0ZXJuYXRpdmUgenUgV3VyemVsIHMgVHVlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IEZpcm1lbi1lbWFpbHMgKE11cGZlbCwgIDEuIERleiAyMDAxLCAwMTo1OTowNyk6Cn4jISBybj1LYXJpcyBydD0xMDA3MTY0NDkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSG0uLi4gc293YXMgd2llOiAyMiBqYWhyZSwgaW5mb3JtYXRpa2VyIG1pdCBkaXBsLiB1bmQgMTAgamFocmUKYmVydWZzZXJmYWhydW5nPyA7KQoKLW11cGZlbC0gKGthbm4gZGEgbmljaCBtaXQgZGllbmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogRmlybWVuLWVtYWlscyAoQW50aGVhLCAgMS4gRGV6IDIwMDEsIDExOjIyOjAyKToKfiMhIHJuPU11cGZlbCBydD0xMDA3MTY4MzQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKQmFoISBXZWxjaGUgRmlybWEgd2lsbCB6dXIgU29mdHdhcmVlbnR3aWNrbHVuZyBzY2hvbiBJbmZvcm1hdGlrZXI/IFZvbiBkZW5lbgprb2VubmVuIGRvY2ggOTUlIHp3YXIgd3VuZGVyc2Nob2VuZSBTb2Z0d2FyZW1ldHJpa2VuIGF1c3JlY2huZW4sIGFiZXIgd2lya2xpY2gKS3JlYXRpdiB3YXMgZW50d2lja2Vsbj8KTmEgZ3V0LCBlcyBnaWJ0IGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gd2lya2xpY2ggZ3V0ZW4sIGFiZXIgZGEgaGF0IGRpZQpRdWFsaXRhZXQgbWVpc3Qgbml4IG1pdCBkZW0gb2ZmaXppZWxsZW4gU3R1ZGl1bSB6dSB0dW4gc29uZGVybiBtaXQKZW5zcHJlY2hlbmRlciBFaWdlbmluaXRpYXRpdmUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBGaXJtZW4tZW1haWxzIChTaWx2YW5hLCAgMS4gRGV6IDIwMDEsIDE0OjM3OjIxKToKfiMhIHJuPUFudGhlYSBydD0xMDA3MjAyMTIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKQXUgd2VpYS4uLiBJaHIgc2VpZCB3aXJrbGljaCBhdWZtdW50ZXJuZC4gOikgTmFqYSwgd2VuaWdzdGVucyBoYWIgaWNoIGpldHp0CndlZ2VuIG1laW5lciBTdHVuZGVuc2FldHplIGtlaW4gc2NobGVjaHRlcyBHZXdpc3NlbiBtZWhyLiBXZW5uIG1hbiBzaWNoCmFuaG9lcnQsIHdhcyBpaHIgdmVybGFuZ3QsIGdlaG9lciBpY2ggd29obCBub2NoIHp1IGRlbiBEdW1waW5nLUFuYmlldGVybi4KKmZsb2V0KgpBbnRoZWE6IFdlbm4gaWNoIG5lbiBBbmdlc3RlbGx0ZW4gZWluc3RlbGxlbiB3dWVyZCwgZGFubiB3YWVyZSBuZW4gU3R1ZGl1bQpmdWVyIG1pY2ggZWhlciBuZW4gQXJndW1lbnQgZGFnZWdlbi4uLiBWb2VsbGlnIHVlYmVyem9nZW5lCkdlaGFsdHN2b3JzdGVsbHVuZ2VuIHVuZCBoYWJlbiBhYnNvbHV0IG5peCBicmF1Y2hiYXJlcyBnZWxlcm50LiBKZWRlbmZhbGxzCm5pY2h0IGluIGRlciBVbmkuLi4gKnNpZ2gqCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBGaXJtZW4tZW1haWxzIChHcmltbWJvcm4sICAxLiBEZXogMjAwMSwgMTQ6NTY6MzkpOgp+IyEgcm49U2lsdmFuYSBydD0xMDA3MjEzODQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKV2VubiBtYW4gdmVyZ2xlaWNodCBtaXQgTGV1dGVuIGRpZSBuaWNodCBhbiBkZXIgVW5pIHdhcmVuIHNpbmQgZGllClVudGVyc2NoaWVkZSBvZnQgYmVlaW5kcnVja2VuZC4gWnVndW5zdGVuIGRlcyBTdHVkaXVtcy4gQWxsZXJkaW5ncyBuaWNodAp1bmJlZGluZ3QgaW0ga3VyenNpY2h0aWdlbiBFaW5zYXR6c2lubi4gTWl0dGxlcndlaWxlIHZlcnN0ZWhlIGljaCBkaWUKZW5nbGlzY2hlIEVpbnN0ZWxsdW5nIExldXRlIG1pdCBhYnNvbHZpZXJ0ZW0gU3R1ZGl1bSBlaW56dXN0ZWxsZW4sIG9obmUgZGFzcwplcyBlaW5lIHdlc2VudGxpY2hlIFJvbGxlIHNwaWVsdCB3YXMgZGVubiBudW4gZ2VuYXUgc3R1ZGllcnQgd3VyZGUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmFmYWVoaWdlciBseW54PyAoS3JlbGxqYSwgIDEuIERleiAyMDAxLCAxODoxODoxMyk6CkdpYnQgZXMgZWlnZW50bGljaCBzbyBldHdhcyB3aWUgZWluZW4gSmF2YWZhZWhpZ2VuIGx5bng/CgpOZWluLCBpY2ggZmluZGUgbmljaHQsIGRhc3MgZGFzIGVpbiBXaWVkZXJzcHJ1Y2ggaXN0LiBEZXIgc29sbCBtaXIgaGFsdCBudXIKc293ZWl0IGltIFRleHRtb2R1cyBtb2VnbGljaCwgSmF2YS1NZW51ZXMgdW5kIHNvIGV0d2FzIGRhcnN0ZWxsZW4ga29lbm5lbiA6KQoKVHNjaHVlc3MKICAgICAgICAgS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IEZpcm1lbi1lbWFpbHMgKFRpYW1haywgIDIuIERleiAyMDAxLCAxMjo0MjoxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNzIxNDk5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCkF1ZiBkZXIgVW5pIGxlcm5zdCBEdSAoaG9mZmVudGxpY2ggOy0pLCBzZWxic3RzdGFlbmRpZyB6dSBhcmJlaXRlbiB1bmQgenUKbGVybmVuLiBEYXMgcmVpY2h0IHZpZWxlbiBDaGVmcyBzY2hvbiBhbHMgUXVhbGlmaWthdGlvbi4gRGFzIGJpc3NjaGVuCkluZm9ybWF0aWsgZnVlciBEZWluZW4gSm9iIGxlcm5zdCBEdSBub3RmYWxscyBub2NoIGluIGRlciBGaXJtYS4KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBGaXJtZW4tZW1haWxzIChTaWx2YW5hLCAgMi4gRGV6IDIwMDEsIDEyOjU2OjI3KToKfiMhIHJuPVRpYW1hayBydD0xMDA3MjkzMzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKRGFzIHNpbmQgZ2VuYXUgZGllIERpbmdlLCBkaWUgaWNoIGluIGRlciBVbmkgX3Zlcmxlcm50XyBoYWJlLiBVbmQgZGEgYmluIGljaAp3YWhybGljaCBuaWNodCBkaWUgZWluemlnZS4gVm9yIGFsbGVtIGFiZXIgaXN0IG1pciBuYWhlenUgYWxsZSBNb3RpdmF0aW9uIGRvcnQKdmVybG9yZW4gZ2VnYW5nZW4uIDstLyBFaW5lcyBkZXIgd2VuaWdlbiBwb3NpdGl2ZW4gRGluZ2UsIGRpZSBpY2ggZGVyIFVuaSB6dQp2ZXJkYW5rZW4gaGFiZSwgaXN0IGRhcyBNRy4uLiBBYmVyIG9iIGRhcyBhbHMgSm9icXVhbGlmaWthdGlvbiB6YWVobHQsIHdhZ2UKaWNoIHp1IGJlendlaWZlbG4uLi4gTmFqYSwgdW5kIGRhcyB1bnNlcmUgVW5pLUJpYiBlcnN0YXVubGljaCBndXQgZnVlciBzbyBuZQpQcm92aW56dW5pIGlzdCwgd3Vzc3RlIGljaCB2b3JoZXIgc2Nob24uIDstKQpBbHNvLi4uIFdpZXNvIHN0dWRpZXJlbi4uLj8KCiAgU2lsdmFuYSAoZnJhZ3Qgc2ljaCBkYXMgd2lya2xpY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogRmlybWVuLWVtYWlscyAoR3JpbW1ib3JuLCAgMi4gRGV6IDIwMDEsIDEzOjAxOjI4KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAwNzI5NDE4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA2OTgwMzIwCkRhbmtlIGZ1ZXIgZGllIFdhcm51bmcsIHNvd2VpdCBpY2ggZGFubiBqZSBFaW5mbHVzcyBoYWJlbiB3ZXJkZSB3ZXJkZSBpY2gKenVzZWhlbiBkYXNzIHdpciBTdHVkaWVuYWJnYWVuZ2VyIHZvbiBEZWluZXIgVW5pIHZlcm1laWRlbi4uLgoKR2RBLCBkZW0gZXJzdCBkZXIgVmVyZ2xlaWNoIGltIE5hY2hoaW5laW4gZGVuIE51dHplbiBkZXV0bGljaCBnZW1hY2h0IGhhdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEZpcm1lbi1lbWFpbHMgKEh1bW5pLCAgMi4gRGV6IDIwMDEsIDE0OjQzOjAxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA3Mjk0NDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKQWNoIGphOiBFcyBnaWJ0IHZpZWxsZWljaHQgbmljaHQgdmllbGUgSm9icywgYWJlciBNRy1TcGllbGVyIChuYWphLCBlaGVyCk1HLVByb2dyYW1taWVyZXIpIGJ6dy4gZGllc2UgVGFldGlna2VpdCBpbiBNVURzIGFsbGdlbWVpbiwgS0FOTiBlaW5lCkpvYnF1YWxpZmlrYXRpb24gc2Vpbi4gR2lidCBuaWNodCBzb29vIHZpZWxlIEpvYnMgZnVlciBkaWUgZGFzIGdpbHQuLi5hYmVyCmVpbmVuIGRhdm9uIGhhYiBpY2ggOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IEZpcm1lbi1lbWFpbHMgKEdyaW1tYm9ybiwgIDIuIERleiAyMDAxLCAxNToyNTo1MCk6Cn4jISBybj1IdW1uaSBydD0xMDA3MzAwNTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMDY5ODAzMjAKSG1tLCBEdSB6ZWlnc3QgZWluZXJzZWl0cyBkYXNzIER1IHByb2dyYW1taWVyZW4ga2FubnN0IChkaWUgYWt0dWVsbCBub2V0aWdlClNwcmFjaGUga2FubnN0IER1IGRhbm4gcmVsYXRpdiBzY2huZWxsIGxlcm5lbiksIHVuZCBhbmRlcmVyc2VpdHMgZGFzcyBEdSBlaW5lCmdld2lzc2UsIG5pY2h0IHVuZXJoZWJsaWNoZSBzb3ppYWxlIEtvbXBldGVueiBoYXN0IChTdGljaHdvcnQgVGVhbWZhZWhpZ2tlaXQpLgpXYXMgd2lsbHN0IER1IG1laHI/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBGaXJtZW4tZW1haWxzIChXdXJ6ZWwsICAyLiBEZXogMjAwMSwgMjM6MTk6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDczMDMxNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMAppbiBhdXNuYWhtZWZhZWxsZW4gaGFiIGljaCBhdWNoIHNjaG9uIGxldXRlIG9obmUgc3R1ZGl1bSBlaW5nZXN0ZWxsdC4gbmFjaApkZW4gZXJmYWhydW5nZW4sIGRpZSBpY2ggZGFtaXQgZ2VtYWNodCBoYWJlLCB3ZXJkZW4gZXMgYXVjaCB3ZWl0ZXJoaW4gaW1tZXIKYXVzbmFobWVuIGJsZWliZW4uCm5hdHVlcmxpY2ggc3RpbW10IGVzLCBkYXNzIG1hbiBhbiBkZXIgdW5pIGtlaW4gZGlyZWt0IHZlcndlcnRiYXJlcyB3aXNzZW4Kc2FtbWVsdC4gYWJlciBlcnN0ZW5zIHRyaWZmdCBkYXMgYXVmIGZhc3QgYWxsZSBrb21iaW5hdGlvbmVuIGF1cyBhdXNiaWxkdW5nCnVuZCBqb2IgenUsIGRpZSBtaXIgdW50ZXJnZWtvbW1lbiBzaW5kIChuYWphLCBtaXQgYXVzbmFobWUgdm9uIGhhbmR3ZXJrZXJuKSwKendlaXRlbnMgZXJ3aXJidCBtYW4gc2ljaCBhbiBkZXIgdW5pIGluIGRlciByZWdlbCBkaWUgZmFlaGlna2VpdGVuLCBkaWUgaW0KcmljaHRpZ2VuIGxlYmVuIGVzc2VudGllbGwgc2luZCwgd2llIHNlbGJzdGFlbmRpZ2VzIGRlbmtlbiBldGMuIGplZGVuZmFsbHMKaW4gZGVuIG1laXN0ZW4gZmFlbGxlbi4gc2lsdmFuYSwgd28gaGF0dGVzdCBkdSBub2NobWFsIHN0dWRpZXJ0PyBudXIgZnVlcgpkaWUgc2Nod2FyemUgbGlzdGUuLi4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IEZpcm1lbi1lbWFpbHMgKEFyaywgIDMuIERleiAyMDAxLCAxMTo0NToxNyk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDcyOTQxODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwNjk4MDMyMApOYWphLCBpY2ggYmVoYXVwdGUgbmljaHQsIGRhc3MgaWNoIGFuIGRlciBVbmkgc2VsYnN0YWVuZGlnIHp1IGxlcm5lbiB1bmQgenUKYXJiZWl0ZW4gZ2VsZXJudCBoYWJlLCBhYmVyIHZlcnppY2h0ZW4gd2lsbCBpY2ggYXVjaCBpbSBOYWNoaGluZWluIG5pY2h0IGF1ZgpkaWVzZSBaZWl0LiBKYSwgbmVubnQgbWljaCBtZWxhbmNob2xpc2NoLCBub3N0YWxpc2NoIG9kZXIgc29uc3R3YXMsIGFiZXIgaXNzbywKamF3b2xsamEuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9udHMgKEFub3JpcywgIDguIERleiAyMDAxLCAxNDoyODoyMSk6CkhhbGxvCmJpbiBhdWYgZGVyIFN1Y2hlIG5hY2ggZWluZW0gRm9udGNvbnZlcnRvciB3YWVobmxpY2ggd2llIENyb3NzRm9udCwgZGVyCmVpZ2VudGxpY2ggZ2FueiBndXQgaXN0IGFiZXIgbWlyIFNlbWlCb2xkIHVuZCBCb2xkIEZvbnRzIG5pY2h0IHdhbmRlbG4Kd2lsbC4gQml0dGUgdW0gVGlwcyBmdWVyIFNvZnR3YXJlIGRpZSBoYWx0IGF1Y2ggTWFjIFR5cGUgMSBpbiBBRk0gZXRjLi4Kd2FuZGVsbiBrb2VubnRlLgoKRGFua2UgaW0gVm9yYXVzIDspCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmlsZS1TeXN0ZW0gUHJvYmxlbWUgKEtyZWxsamEsIDE0LiBEZXogMjAwMSwgMDI6MTc6MDkpOgpIYWJlbiBoaWVyIG5pY2h0IGVpbmlnZSB2b24gRXVjaCBtYWwgdWViZXIgUHJvYmxlbWUgTGludXggRmlsZS1TeXN0ZW0gUHJvYmxlbWUKYmVyaWNodGV0PyBEaWUgQXJ0aWtlbCBzaW5kIGxlaWRlciBzY2hvbiB3ZWcsIG1pY2ggd3VlcmRlIGRhcyBhYmVyIG5vY2htYWwKaW50ZXJlc3NpZXJlbi4KCktyZWxsamEsIGF1ZiBXYXJudW5nZW4gaG9mZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpbGUtU3lzdGVtIFByb2JsZW1lIChLcmVsbGphLCAxNC4gRGV6IDIwMDEsIDAyOjE4OjE5KToKfiMhIHJuPUtyZWxsamEgcnQ9MTAwODI5MjYyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA4MjkyNjI5CkFyZ2xsLCBpY2ggc29sbHRlIGxpZWJlciBpbnMgQmV0dCBnZWhlbiBhbnN0YXR0IGthdW0gdmVyc3RhZW5kbGljaGUgRnJhZ2VuIHp1CnBvc3RlbiA6KAoKS3JlbGxqYSwgbXVlZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmlsZS1TeXN0ZW0gUHJvYmxlbWUgKENhdHdlYXpsZSwgMTQuIERleiAyMDAxLCAwNzoyMjo0Nik6Cn4jISBybj1LcmVsbGphIHJ0PTEwMDgyOTI2OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwODI5MjYyOQpFcyBnYWIgZWluZW4gTGludXgtS2VybmVsIG1pdCBlaW5lbSBrYXB1dHRlbiBleHQzZnMuIEljaCBnbGF1YiAyLjQuMTUgd2Fycy4gCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpbGUtU3lzdGVtIFByb2JsZW1lIChHcmltbWJvcm4sIDE0LiBEZXogMjAwMSwgMDg6MDI6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDgzMTA5NjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwODI5MjYyOQpOYSBrb21tLCAyLjQuMTUgaGF0IGRvY2ggYW5nZWJsaWNoIGFuIGFsbGVuIEVja2VuIHVuZCBFbmRlbiBnZWtyYWNodCwgd2VpbCBkYQpkaWUgemllbWxpY2ggZGl2ZXJnZW50ZW4gVmVyc2lvbmVuIHZvbiBBbGFuIHVuZCBMaW51eCBnZW1lcmdlZCB3dXJkZW4uCkRlciBncnVuZHNhZXR6bGljaGUgUmF0IGlzdCwgS3JlbGxqYTogRmluZ2VyIHdlZyB2b24gcmVpc2VyLCBuaW1tIGV4dDMgd2VubiBEdQpqb3VybmFsaW5nIGhhYmVuIHdpbGxzdCAodW5kIHNlaXQgZXh0MyBnaWJ0cyBlaWdlbnRsaWNoIGtlaW5lbiBHcnVuZCBkYXMgbmljaHQKenUgd29sbGVuKS4gT2Rlciwgd2llIHVuc2VyIEtlcm5lbGd1cnUgZm9ybXVsaWVydGU6CkV4dDMgaXMgYmFzZWQgb24gdGhlIHdlbGwtdGVzdGVkIHN0YW5kYXJkIExpbnV4IGV4dDIgZmlsZSBzeXN0ZW0sIGFuZCBjYW4gYmUKdXNlZCBpbiBleHQyIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgbW9kZSB3aGVuIG5lY2Vzc2FyeS4gRXh0MiBhbmQgdGhlIGdlbmVyaWMKTGludXggam91cm5hbGxpbmcgZnJhbWV3b3JrIHVzZWQgYnkgZXh0MyBoYXZlIGJlZW4gY2FyZWZ1bGx5IGNyYWZ0ZWQgYnkgdGhlCmtub3dsZWRnYWJsZSBMaW51eCBmaWxlc3lzdGVtIGd1cnVzIChTdGVwaGVuIFR3ZWVkeSwgVGVkIENobywgLi4uKQoKUmVpc2VyZnMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIHBhcnRpdGlvbnMgY29udGFpbmluZyBtYW55IHNtYWxsCmZpbGVzLiBUaGUgd29yayB3YXMgc3BvbnNvcmVkIGJ5IEhhbnMgUmVpc2VyLCBhbmQgZG9uZSBieSBvdGhlcnMuIFdoZW4gdGhlCm5lZWQgZm9yIGpvdXJuYWxsaW5nIEZTZXMgYXJvc2UsIFN1c2Ugc3BvbnNvcmVkIHRoZSBnbHVlaW5nIG9mIGEgam91cm5hbCB0bwppdC4KCkZyb20gb3VyIGV4cGVyaWVuY2UgcmVpc2VyZnMgaGFzIG5vdCB1bmRlcmdvbmUgYXMgdGhvcm91Z2gKdGVzdGluZyBhcyBleHQzIHdoZW4gaXQgd2FzIGludHJvZHVjZWQgaW50byB0aGUgbWFpbiBsaW5lIGtlcm5lbHMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZpbGUtU3lzdGVtIFByb2JsZW1lIChQYXRyeW4sIDE0LiBEZXogMjAwMSwgMDg6MDU6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDgzMTMzMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAwODI5MjYyOQprbGluZ3Qgd2llIGF1cyBuZXIgd2VyYmVicm9zY2h1ZXJlIGVpbmVzIGRpc3RyaWJ1dG9ycywgZGVyIHNlaW5lbiBrdW5kZW4KdmVya2xpY2tlcm4gd2lsbCB1bSB3aWV2aWVsZXMgYmVzc2VyIHNlaW5lIGVudHNjaGVpZHVuZyBpc3QgZGllc2Ugc3RhdHQKamVuZXMgenUgbnV0emVuIDspCmFiZXIgaWNoIGthbm4gYXVmIGplZGVuIGZhbGwgYmVzdGFldGlnZW4gZGFzcyBtaXQgYXVjaCBzY2hvbiByZWlzZXJmcy0KcGFydGl0aW9uZW4gdW0gZGllIG9ocmVuIGdlZmxvZ2VuIHNpbmQsIDIgbWFsIGluendpc2NoZW4uCmRhcyBuYWVjaHN0ZSBtYWwgd2VyZCBpY2ggd29obCBhdWNoIGV4dDMgZGVuIHZvcnp1ZyBnZWJlbiwgb2J3b2hsIGRhbm4KcmVpc2VyZnMgdmllbGVpY2h0IHNvZ2FyIHNlaW5lIG1hY2tlbiB2ZXJsb3JlbiBoYWJlbiBtYWcuCnNjaGxlY2h0ZSBlcmZhaHJ1bmdlbiBzaW5kIHNjaGxlY2h0ZSBlcmZhaHJ1bmdlbiA7KQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmlsZS1TeXN0ZW0gUHJvYmxlbWUgKEdyaW1tYm9ybiwgMTQuIERleiAyMDAxLCAwODoyMTo0Nyk6Cn4jISBybj1QYXRyeW4gcnQ9MTAwODMxMzUwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA4MjkyNjI5CkhtbT8gV2lyIGhhYmVuIHJlaXNlcmZzIEFuZmFuZyBkZXMgSmFocmVzIGludGVncmllcnQsIGFscyBlcyBpbiBkZW4ga2VybmVsCmVpbmdlZmxvc3NlbiBpc3QgKFZlcnNpb24gd3VyZGUgZGFubiBpbSBTb21tZXIgcmVsZWFzZWQpLiBXaWRlciBiZXNzZXJlbgpXaXNzZW5zLCBhYmVyIHNvbnN0IGhhZXR0ZW4gdW5zIEt1bmRlbiBnZWx5bmNodC4gSWNoIGhhYnMgYmVpIG1pciBhdXNwcm9iaWVydCwKdW5kIGRhYmVpIHNlbGJpZ2UgUGFydGl0aW9uIGlyZ2VuZHdhbm4gZXJzYXR6bG9zIHZlcmxvcmVuICgiaWNoIG5laG0gbWFsIC8genVtCmV4cGVyaW1lbnRpZXJlbiwga2FubiBpY2ggamEgbGVpY2h0IHdpZWRlciBuZXUgaW5zdGFsbGllcmVuLiBXaWUsCi92YXIvc3Bvb2wvbWFpbCBsaWVndCBhdWNoIGF1ZiAvPyBBcnJnaCEiKS4gU2VpdCBlaW5pZ2VyIFplaXQgaGFiZW4gd2lyIGRhbm4KYXVjaCBleHQzIChyZWxlYXNlIGRhdGUgQW5mYW5nIG5hZWNoc3RlbiBKYWhyZXMpLCB3aXIgaGFiZW4gYWxzbyBrZWluIFByb2R1a3QKYXVmIGRlbSBNYXJrdCBtaXQgaW50ZWdyaWVydGVtIGV4dDMuIEluc29mZXJuIGlzdCBkYXMgbWl0IGRlciBXZXJiZWJyb3NjaHVlcmUKc28gbmUgU2FjaGUuIE1hbCBhYmdlc2VoZW4gZGF2b24gZGFzcyB1bnNlcmUgV2VyYmVicm9zY2h1ZXJlbiBuaWNodCB2b24KdW5zZXJlbiBFbnR3aWNrbGVybiBnZXNjaHJpZWJlbiB3ZXJkZW4gKGxlaWRlcikuCgpJTU8ga29ubnRlIG1hbiByZWlzZXJmcyBlaW5zZXR6ZW4gaW4gQmVyZWljaGVuIHdvIGRpZSBEYXRlbiB1bWZhbmdyZWljaCB1bmQKcmVwcm9kdXppZXJiYXIgc2luZCB1bmQgc2NobmVsbCB3aWVkZXIgenVyIFZlcmZ1ZWd1bmcgc3RlaGVuIG11ZXNzZW4uClR5cGlzY2hlcyBCZWlzcGllbDogc3Bvb2wtQmVyZWljaCBncm9lc3NlcmVyIERydWNrZXJzZXJ2ZXIuIERhIGlzdCBlaW4KcmVnZWxtYWVzc2lnZXIgZnNjayBzY2htZXJ6aGFmdGVyIGFscyBlaW5lIHouQi4gMSVpZ2UgQ2hhbmNlIGRpZSBEYXRlbiB6dQp2ZXJsaWVyZW4sIGRhbm4gbXVlc3NlbiBkaWUgRHJ1Y2tqb2JzIGhhbHQgbm9jaG1hbCBnZW1hY2h0IHdlcmRlbi4gQWJlciB3byBlcwpqZXR6dCBlaW5lIHN0YWJpbGUgQWx0ZXJuYXRpdmUgZ2lidCBzZWhlIGljaCBrZWluZW4gR3J1bmQgbWVociBqb3VybmFsaW5nIHZvbgp3aWNodGlnZW4gUGFydGl0aW9uZW4gZmVybnp1aGFsdGVuLiBXaWUgRHUgc2Fnc3Q6IFNjaGxlY2h0ZSBFcmZhaHJ1bmdlbiBzaW5kCnNjaGxlY2h0ZSBFcmZhaHJ1bmdlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmlsZS1TeXN0ZW0gUHJvYmxlbWUgKFJ1bWF0YSwgMTguIERleiAyMDAxLCAxMjoxMjo0Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwODMxNDUwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDA4MjkyNjI5ClVuZCBndXRlIGVyZmFocnVuZ2VuIHNpbmQgZ3V0ZSBlcmZhaHJ1bmdlbi4gSWNoIG51dHplIHJlaXNlcmZzIHVuZApoYWJlIGJpc2hlciBrZWluZSBQcm9ibGVtZSBkYW1pdCBnZWhhYnQgKGFsbGVyZGluZ3MgaXN0IFJlc2llciB3b2hsCmZ1ZXIgbGV1dGUgd2llIG1pY2ggZ2VzY2hhZmZlbiB3b3JkZW4uIE1hbCBlYmVuIDMwMC4wMDAgRGF0ZWllbiBzaW5kCmJlaSBtZWluZW4gcHJvamVrdGVuIGtlaW5lIHNlbHRlbmhlaXQuCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXgtV3VybSBpbSBVbWxhdWYgKEdyaW1tYm9ybiwgMTEuIEphbiAyMDAyLCAwMTo0NjowNyk6Cn4jISBvbj1WYXJkaW9uIG90PTEwMTA3MDgzOTkgb2c9YWxsZ2VtZWluZXMKU2FnIG1hbCBHcmltbWJvcm4sIHdhcyBmdWVyIG5lbiBTY2hhZGVuIGhhc3QgRHUgZWlnZW50bGljaD8gRHUgZGFyZnN0IGdlcm4KRGVpbmVuIEtvbW1lbnRhciBhYmdlYmVuLCBhYmVyIG1laW4gUG9zdGluZyBlaW5mYWNoIHp1IHZlcmxlZ2VuIGlzdApfaW5ha3plcHRhYmVsXyAtIHVuYWJoYWVuZ2lnIGRhdm9uIG9iIG1laW4gUG9zdGluZyB3YWhyIGlzdCBvZGVyIG5pY2h0LgpJY2ggaGFiIGVpZ2VudGxpY2gga2VpbmUgTHVzdCwgbmVuIFJlUG9zdC1Cb3QgenUgc2NocmVpYmVuLgoKQWxzICJSZWZlcmVueiIgaGFldHRlIGljaCBoaWVyIGRhcyBUVS1DaGVtbml0ei1sb2thbGUgUG9zdGluZyBlaW5lcwpiZXRyb2ZmZW5lbiBBZG1pbmlzdHJhdG9ycy4gRXMgaXN0IG5hdHVlcmxpY2ggZ3V0IG1vZWdsaWNoLCBkYXNzIGRpZXMga2VpbgpCb3Qgc29uZGVybiB3YXMgYW5kZXJlcyBpc3QsIGFiZXIgZGEgbWluZGVzdGVucyBlaW4gTXVkZGVyIGF1c3NlcmhhbGIgZGVyClRVLUNoZW1uaXR6ICJwYXNzZW5kZSIgTWVsZHVuZ2VuIGluIHNlaW5lbSBTeXNsb2cgaGF0LCBoYWIgaWNoIG1pY2ggenVtClBvc3RlbiBlbnRzY2hpZWRlbi4KCi0tLS0gdXJzcHJ1ZW5nbGljaGVzIFBvc3RpbmcgLS0tLS0KSGkuCgpNb21lbnRhbiAgaXN0ICBlaW4gIGJvZXNhcnRpZ2VyICBMaW51eC1XdXJtICBpbSAgVW1sYXVmLiAgRXIgIHZlcmJyZWl0ZXQgIHNpY2gKU2ljaGVyaGVpdHNsdWVja2VuIGluICBTU0gsICBETlMgKGJpbmQpLCAgTFBSICB1bmQgRlRQICAodmVybXV0bGljaCAgd3UtZnRwZCkuCkVpbm1hbCBlaW5nZWRydW5nZW4gZW50c29yZ3QgZXIgIGRpZSBMb2dmaWxlcyB1bmQgdGF1c2NodCBhdWYgIGRlbSBTeXN0ZW0gZXR3YQoxMDAgICBCaW5hcmllcyAgYXVzLiAgRWluICBJbmRpeiAgZnVlciAgZWluZSAgSW5mZWt0aW9uICBpc3QgIGRhcyAgZmVobGVuICBkZXIKU3lzdGVtbG9nZmlsZXMgdW5kICBkYXMgIFZvcmhhbmRlbnNlaW4gIGVpbmVzICBCaW5hcmllcyAgL3Vzci9iaW4vYWhhLiAgRGllc2VzCkJpbmFyeSBpc3QgYXVmIGRlbSBpbmZpemllcnRlbiBTeXN0ZW0gbmljaHQgc2ljaHRiYXIgIC0gbWFuIHNpZWh0IGVzLCB3ZW5uIG1hbgpkaWUgUGxhdHRlICB2b24gIGVpbmVtICBzYXViZXJlbiAgc3lzdGVtICAoei5CLiAgRGlza2V0dGVubGludXggIHdpZSAgdG9tc3J0YikKbW9udGllcnQuICAgRnVlciAgIGRhcyAgIEJldHJvZmZlbmUgICBTeXN0ZW0gIGJsZWlidCAgIGVpZ2VudGxpY2ggICBudXIgICBlaW5lCk5ldWluc3RhbGxhdGlvbi4KQW5ncmlmZnN2ZXJzdWNoZSBhdWYgIGV1cmVuIFJlY2huZXIgIGVya2VubnQgIGlociBiZWkgIHNpY2hlcmVtIHNzaGQgIHouQi4gIGFuCkxvZ2ZpbGV6ZWlsZW4gd2llOgpKYW4gIDkgMDE6MDA6NDEgcHlyb3Mgc3NoZFsyNjM1OF06IERpZCBub3QgcmVjZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcgZnJvbQp4LngueC54CgpXaWUgaW1tZXIgIGlzdCBkZXIgIGJlc3RlIFNjaHV0eiwgYWxsZSAgbWl0IFJvb3RyZWNodGVuICBsYXVmZW5kZW4gU2VydmVyICBhdWYKYWt0dWVsbGVtIFN0YW5kIHp1IGhhbHRlbiB1bmQgbmFjaCBhdXNzZW4gbnVyIGRhcyBhbGxlcm5vZXRpZ3N0ZSBmcmVpenVnZWJlbi4KClZhcmRpb24sIGhvZmZ0IGRhc3MgZGllc2UgV2FybnVuZyBmdWVyIG5pZW1hbmRlbiB6dSBzcGFldCBrb21tdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4LVd1cm0gaW0gVW1sYXVmIChHcmltbWJvcm4sIDExLiBKYW4gMjAwMiwgMDE6NDY6MDkpOgp+IyEgb249R3JpbW1ib3JuIG90PTEwMTA3MDk5NTkgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPVZhcmRpb24gcnQ9MTAxMDcwODM5OSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA3MDgzOTkKRGVuIEdydW5kIGZ1ZXIgZGFzIFZlcmxlZ2VuIGhhYmUgaWNoIGphIGdlbGllZmVydCAtIHdpZSBsZWljaHQgc2ljaCBob2F4ZQp2ZXJzZWxic3RhZW5kaWdlbiBrb2VubmVuIGhhYmVuIHdpciBqYSBlYmVuIGVyc3QgYW4gQ3JpdHRlcnMgS25vY2hlbm1hcmsKZ2VzZWhlbi4gVW5kIGljaCBoYWJlIGRpZSBsZXR6dGVuIGd1dCBzaWViZW4gSmFocmUgZ2VudWcgdm9uIHNvbGNoZW4gU2FjaGVuCm1pdGdla3JpZWd0IGRhc3MgZGllIGVpbmZhY2ggbnVyIG5vY2ggbmVydmVuLiBPaG5lIHZlcmxhZXNzbGljaGUgUXVlbGxlCndhbmRlcnQgYWxsZXMgaW4gZGVuIFBhcGllcmtvcmIuIFZlcmxhZXNzbGljaCBpc3Qgei5CLiBkYXMgQ0VSVC4gVmVybGFlc3NsaWNoCmlzdCBuaWNodCAiaWNoIGhhYmUgZWluZSBtYWlsIHZvbiBlaW5lbSBndXRlbiBGcmV1bmQgYmVrb21tZW4iIG9kZXIgImljaCBrZW5uZQplaW5lbiBBZG1pbiBiZWkgZGVtIHdhcmVuIGF1ZiBlaW5tYWwgZGllIGxvZ2ZpbGVzIHdlZywgZGVyIHdlaXNzIG5pY2h0IHdvcmFuCmRhcyBsaWVndCwgc2NocmVpdCBhYmVyIGVyc3RtYWwgbGF1dCBXVVJNIi4gRXMgZ2lidCBuYXR1ZXJsaWNoIEFuZ3JpZmZlCihkcmF1c3NlbiBpbSBOZXR6IGlzdCBLcmllZywgYWJlciBkYXMgaXN0IG5pY2h0IG5ldSksIGVzIGdpYnQgRXhwbG9pdHNjcmlwdGUsCmVzIGdpYnQgcm9vdCBraXRzLCBERE9TLUF0dGFja2VuIC0geW91IG5hbWUgaXQuIFdlciBlaW4gZXhwb25pZXJ0ZXMgU3lzdGVtIGhhdAp1bmQgc2ljaCBlaW5lbiBEcmVjayB1bSBkZXNzZW4gU2ljaGVyaGVpdCBrdWVtbWVydCBoYXQgZnJ1ZWhlciBvZGVyIHNwYWV0ZXIgLQp1bmQgendhciBtZWlzdCBmcnVlaGVyIC0gdW5nZWJldGVuZSBHYWVzdGUuIFVuZCBsZWlkZXIgc2luZCBoaWVyIGdlcmFkZSBkaWUKVW5pdmVyc2l0YWV0ZW4gbm90b3Jpc2NoIGF1ZmZhZWxsaWcuIAoKQWxzbywgd2lyIGZhc3NlbiB6dXNhbW1lbjogVW5zaWNoZXJlIFN5c3RlbWUgc2luZCBhbmZhZWxsaWcsIGVzIGdpYnQgbWl0Cmdyb3NzZXIgV2FocnNjaGVpbmxpY2hrZWl0IGtlaW5lbiBha3R1ZWxsIHVtbGF1ZmVuZGVuIExpbnV4d3VybSwgdW5kIHVud2FocmUKUG9zdGluZ3Mgc2luZCB3YXMgdm9lbGxpZyBhbmRlcmVzIGFscyBkaWVzZSAiRmV1ZXIhIiBSdWZlLiAKClNvLCB1bmQgd2VubiBkYXMgaGllciBzY2hvbiBpbiBlcm5zdGhhZnRlIEdydXBwZW4gc29sbCBnZWhvZXJ0IGRhcyBlaWdlbnRsaWNoCm5hY2ggaGFyZHNvZnR3YXJlLiBJY2ggdmVybGVncyBtYWwgZGFoaW4uIFdlbm4gRHUgZGFzIGFscyBwZXJzb2VubGljaGVuCkFuZ3JpZmYgc2VoZW4gbW9lY2h0ZXN0IGthbm5zdCBEdSBkYXMgZ2VybmUsIGljaCBrYW5uIG5pY2h0cyBmdWVyIGRpZSBQYXJhbm9pYQphbmRlcmVyIExldXRlLiBNZWlzdCBpc3Qgc2llIGphIGF1Y2ggaXJnZW5kd2llIGJlZ3J1ZW5kZXQuIEthbm5zdCBqYSBhdWNoCmVpbmVuIFJlUG9zdC1Cb3Qgc2NocmVpYmVuLCB3ZW5uIERpciBuaWNodCBrbGFyIGlzdCB3b3p1IGRpZSBVbnRlcnRlaWx1bmcgZGVyCm1wYSBpbiBHcnVwcGVuIHNlaW4gc29sbC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGludXgtV3VybSBpbSBVbWxhdWYgKEdyaW1tYm9ybiwgMTEuIEphbiAyMDAyLCAxMTo0MzowNik6Cn4jISBybj1NdWFkZGliIHJ0PTEwMTA3NDU2NDggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDEwNzEwMTE3CkRhcyBpc3QgbmF0dWVybGljaCByaWNodGlnLCBkYXMgbWl0IGRlbSBwYXRzY2hlbi4gQWJlciBkYXMgZ2lsdCBpbW1lciB1bmQKdWViZXJhbGwgKHBsdXM6IEZpbmdlciB3ZWcgdm9uIFNhY2hlbiBkaWUgbmljaHQgc2ljaGVyIHNlaW4ga29lbm5lbiwgdW5kCm9iYWNodCB2b3IgZ2VoZXVjaGVsdGVyIFNpY2hlcmhlaXQpLiBVbmQgaGF0IG5pY2h0cyBtaXQgaXJnZW5kZWluZW0KaW5kaXZpZHVlbGxlbiBleHBsb2l0c2NyaXB0IHp1IHR1biwgZGVtIGRlciBlaW5lIG9kZXIgYW5kZXJlIGdlcmFkZSBtYWwgZWJlbgp6dW0gT3BmZXIgZmFlbGx0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRpbWUgVHJhY2tpbmcgKEdyaW1tYm9ybiwgMTEuIEphbiAyMDAyLCAxMzoxMjoyOCk6Cn4jISBvbj1LYXR6ZW50YW50ZSBvdD0xMDEwNjgwMTU1IG9nPWFsbGdlbWVpbmVzCkthbm4gbWlyIGplbWFuZCB2b24gZGVuIEVEVi1GYWNobGV1dGVuIGhpZXIgaGVsZmVuPyBJY2ggc3VjaGUgZWluIGd1dGVzIFRpbWUKVHJhY2tpbmcgUHJvZ3JhbW0gYnp3LiBtb2VjaHRlIEluZm9ybWF0aW9uZW4gc2FtbWVsbiwgd2llIEVEVi1EaWVuc3RsZWlzdGVyCmlocmUgQXJiZWl0c3plaXQgZG9rdW1lbnRpZXJlbi4gRGFzIFByb2dyYW1tIHNvbGwgZGFubiBhbHMKQWJyZWNobnVuZ3NncnVuZGxhZ2UgZnVlciBIb3RsaW5lIG9kZXIgU3VwcG9ydGFyYmVpdGVuIGRpZW5lbiAuIFdlbGNoZQpFcmZhaHJ1bmdlbiBtaXQgd2VsY2hlbiBQcm9ncmFtbWVuIGtvbm50ZW4gc2Nob24gZ2VzYW1tZWx0IHdlcmRlbj8gClVlYmVyIEluZm9zIHd1ZXJkZSBpY2ggbWljaCBzZWhyIGZyZXVlbi4KR3J1c3MgS2F0emVudGFudGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaW1lIFRyYWNraW5nIChHcmltbWJvcm4sIDExLiBKYW4gMjAwMiwgMTM6MTI6NTApOgp+IyEgb249SG91c2Vob2xkZXIgb3Q9MTAxMDc1MTEyMCBvZz1hbGxnZW1laW5lcwp+IyEgcm49S2F0emVudGFudGUgcnQ9MTAxMDY4MDE1NSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwMTA2ODAxNTUKbmFqYSBkZXIgdGhyZWFkIGxhbmRldCBob2ZmZW50bGljaCBpbiBoYXJkL3NvZnR3YXJlIG9kZXIgYW56ZWlnZW4gKCpncmltbWJvcm4KYW5zY2hpZWwqKSBhYmVyIHNjaGF1IGRpciBtYWwgaHR0cDovL3d3dy5jb25zb2wuZGUvZGUvY2FsbG1hbmFnZXIvIGFuIHVuZCBkb3J0CmRpZSBpbmZvIHp1IHplZiAod2ViYmFzaWVydGVzIHplaXRlcmZhc3N1bmdzdG9vbCkgCkhIIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHZkIHVudGVyIHdpbjk4c2UgKEx1cmNoaSwgMjEuIEphbiAyMDAyLCAyMjowNzo0MSk6CkhpIExldXRlLAp2aWVsbGVpY2h0IGdpYnRzIGphIGplbWFuZCBtaXQgQWhudW5nIDopCgpIYWIgbmVuIFJlY2huZXIgbWl0IFdpbjk4IFNFIHVuZCBlaW4gUGlvbmVlciBEVkQgTGF1ZndlcmsuIERhcyBUZWlsIHdpcmQgaW0KR2VyYWV0ZW1hbmFnZXIgb3JkZW50bGljaCBlcmthbm50IHVuZCBtaXQgQ0RzIGtvbW10IGVzIGF1Y2gga2xhci4gQWxsZXJkaW5ncwp3ZW5uIGljaCBlaW5lIERWRCBlaW5sZWdlIHBhc3NpZXJ0IG5peC4gRGVyIEV4cGxvcmVyIHplaWd0IGVpbmUgRGF0ZWkgZGVyCkdyb2Vzc2UgMCBhbiB1bmQgZGFzIHdhcnMuIEVpbiBTb2Z0d2FyZS1EVkQtUGxheWVyIGJlaGF1cHRldCwgZGEgd2FlcmUga2VpbmUKRFZEIGVpbmdlbGVndC4gUGVyIFNldHVwLVRvb2wga2FubiBpY2ggUkMgdXN3IGVpbnN0ZWxsZW4sIGFsc28gc2NoZWludCB2b24KZGFoZXIgYWxsZXMgb2sgenUgc2Vpbi4gQW0gR2VyYWV0IGxpZWd0cyBzaWNoZXIgbmljaHQsIHdlaWwgZGFzc2VsYmUgUHJvYmxlbQphdWNoIG1pdCBlaW5lbSBTb255IERWRCBhdWZ0cml0dC4gR2lidHMgZXZ0bCBuZSBNb2VnbGljaGtlaXQgenVzY2hhdW4sIG9iIFVERgppbnN0YWxsaWVydCBpc3QsIGJ6dy4gZGFzIG5hY2h0cmFlZ2xpY2ggenV0dW4/CgpMdXJjaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkdmQgdW50ZXIgd2luOThzZSAoSG9ibywgMjIuIEphbiAyMDAyLCAwOTozMTowMik6Cn4jISBybj1MdXJjaGkgcnQ9MTAxMTY0NzI2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDExNjQ3MjYxCklzdCBkaWUgRFZEIGV2dGwuIGVpbmUgRFZEIHBsdXM/IERpZSBzaW5kIG5hZW1saWNoIGRpY2tlciBhbHMgImVjaHRlIiBEVkRzCihkdWVyZmVuIGRydW0gYXVjaCBkYXMgRFZEIGxvZ28gbmljaHQgdHJhZ2VuKSB1bmQgYmVyZWl0ZW4gbWFuY2hlbiBMYXVmd2Vya2VuClByb2JsZW1lLgoKSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF4aW1hbGUgTGFlbmdlIGVpbmVzIElTRE4tS2FiZWxzPyAoSmFtZXNvbiwgMjMuIEphbiAyMDAyLCAxNzozMTo1Nyk6CldpZSBsYW5nIGthbm4gbWFuIGVpbiBJU0ROLUthYmVsIG1hY2hlbiwgc28gZGFzcyBkaWUgVmVyYmluZHVuZyBub2NoCmZ1bmt0aW9uaWVydD8gTGF1dCBTcGV6aWZpa2F0aW9uIHNvbGxlbiBlcyBob2VjaHN0ZW5zIDZtIHNlaW4sIGFiZXIgd2llIHdlaXQKa2FubiBtYW4gd2lya2xpY2ggZ2VoZW4/IEhhdCBkYXMgc2Nob24gbWFsIGplbWFuZCBlcmZvbGdyZWljaCBnZXRlc3RldD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYXhpbWFsZSBMYWVuZ2UgZWluZXMgSVNETi1LYWJlbHM/IChBbnRoZWEsIDIzLiBKYW4gMjAwMiwgMTc6Mzc6MDMpOgp+IyEgcm49SmFtZXNvbiBydD0xMDExODAzNTE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTE4MDM1MTcKU293ZWl0IGljaCBtaWNoIGVudHNpbm5lIGhhZW5ndCBlcyBkYXZvbiBhYiwgb2IgRHUgZXMgYWt0aXYgdGVybWluaWVyc3Qgb2RlcgpuaWNodC4gTXVzcyBub2NoIG1hbCBuYWNoc2NoYXVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYXhpbWFsZSBMYWVuZ2UgZWluZXMgSVNETi1LYWJlbHM/IChBbnRoZWEsIDIzLiBKYW4gMjAwMiwgMTc6NDA6MjIpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTE4MDM4MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMTgwMzUxNwpIaW53ZWlzZSBhdWYgVmVybGFlbmdlcnVuZ2VuOgpodHRwOi8vd3d3LnJ6LnVuaS1mcmFua2Z1cnQuZGUvbmV0ei9pc2RuL3MwLWJ1cy5odG1sCmh0dHA6Ly93d3cudW5pLWthcmxzcnVoZS5kZS9+cnkwMi9Qcml2YXRlL0lTRE4vVGVjaG5pay8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYXhpbWFsZSBMYWVuZ2UgZWluZXMgSVNETi1LYWJlbHM/IChQaWxncmltLCAyNC4gSmFuIDIwMDIsIDE0OjIyOjU2KToKfiMhIHJuPUphbWVzb24gcnQ9MTAxMTgwMzUxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDExODAzNTE3Cj4gTGF1dCBTcGV6aWZpa2F0aW9uIHNvbGxlbiBlcyBob2VjaHN0ZW5zIDZtIHNlaW4sIGFiZXIgd2llIHdlaXQKPiBrYW5uIG1hbiB3aXJrbGljaCBnZWhlbj8KCkJlaSBtaXIgc2VpdCBKYWhyZW4gMTVtLCBuaWNodCBnZXNjaGlybXQgLi4uIGFuIEFWTSBGcml0eiBJU0EgdW5kIFBDSS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWF4aW1hbGUgTGFlbmdlIGVpbmVzIElTRE4tS2FiZWxzPyAoTGluZmxhcywgMjQuIEphbiAyMDAyLCAxNjozNzozOSk6Cn4jISBybj1QaWxncmltIHJ0PTEwMTE4Nzg1NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMTgwMzUxNwpJY2ggaGF0dGUgMTVtICsgMiB1bmQgZXMgaGF0IHd1bmRlcmJhciBnZWtsYXBwdCBtaXQgZWluZW0gaGFuZGVsc3VlYmxpY2hlbgpUZWlsLgoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxwZC1wcm9ibGVtLi4uIChXaGl0ZXRpZ2VyLCAyOC4gSmFuIDIwMDIsIDIwOjUxOjMwKToKYmVpIG1pciBmdW56dCBkYXMgZHJ1Y2tlbiBuaWNodCBtZWhyLi4uIGJlaSBscGMgc3RhdHVzIGtvbW10IGZ1ZXIgamVkZW4KZHJ1Y2tlciwgZGFzIGtlaW4gZGFlbW9uIHZvcmhhbmRlbiBpc3QsIGFiZXIgbHBjIHJlc3RhcnQgYWxsIGJyaW5ndCBuaXguLi4gaWNoCmhhYiBzdXNlIDcuMCAvIGtlcm5lbCAyLjIuMTYgbWl0IGVpbmlnZW4gc3VzZS1wYWtldC11cGRhdGVzLi4uCldULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxwZC1wcm9ibGVtLi4uIChDYXR3ZWF6bGUsIDI4LiBKYW4gMjAwMiwgMjM6MDI6MjgpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDEyMjQ3NDkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIyNDc0OTAKSWNoIGhhYiB6d2FyIGtlaW4gU3VzZSB1bmQgc2Nob24gZ2FyIGtlaW4gNy4wLCBhYmVyIHdlbm4gaWNoIG1hbCBpbnMgQmxhdWUKc2NoaWVzc2VuIHdvbGx0ZSwgd3VlcmQgaWNoIERpciByYXRlbiBtYWwgcHJvYmVoYWxiZXIgImN1cHMiIHp1IHN0YXJ0ZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbHBkLXByb2JsZW0uLi4gKEdyaW1tYm9ybiwgMjguIEphbiAyMDAyLCAyMzowNDo1Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMjI1NTM0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMjQ3NDkwCkd1dGVyIFZlcnN1Y2gsIGFiZXIgU3VTRSB2ZXJ3ZWlnZXJ0IHNpY2ggd29obCBiaXMgenVtIGhldXRpZ2VuIFRhZyBkZXIKTW9kZXJuZW4gWmVpdCB1bmQgdmVyd2VuZGV0IHdlaXRlciBMUFJuZyBzdGF0dCBjdXBzLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxwZC1wcm9ibGVtLi4uIChab29rLCAyOC4gSmFuIDIwMDIsIDIzOjA2OjAzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDEyMjU1NDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIyNDc0OTAKaG1tLi4uIHdhcyB3YXIgY3VwcyBub2NobWFsPyBoYWIgZGFzIHNjaG9uIG1hbCBnZWhvZXJ0Li4uIGFiZXIgYmVpIG1laW5lcgpsZXR6dGVuIGRydWNrZXJpbnN0YWxsYXRpb24gd2FyIGRhcyBpcmdlbmR3aWUgbmljaHQgbm90d2VuZGlnLi4gZWluIGJpc3NlcmwKcHJpbnRjYXAgYW5wYXNzZW4gdW5kIGVzIGZ1bnp0ZS4uLiAKCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBscGQtcHJvYmxlbS4uLiAoVGlhbWFrLCAyOC4gSmFuIDIwMDIsIDIzOjA2OjE5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDEyMjU1NDkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIyNDc0OTAKRGFzIHN0aW1tdCBuaWNodCBnYW56LiBNaW5kZXN0ZW5zIGFiIGRlciA3LjIgaXN0IENVUFMgZGFiZWkuCkZ1bmt0aW9uaWVydCBoYXQgZXMgYmVpIG1pciBhYmVyIG5pY2h0IChkYWJlaSBoYWIgaWNoIHNjaG9uIG5lbiBQUy1EcnVja2VyKSwKZGFoZXIgdmVyd2VuZGUgaWNoIGRvY2ggd2llZGVyIExQUm5nIC4uLgoKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbHBkLXByb2JsZW0uLi4gKEdyaW1tYm9ybiwgMjguIEphbiAyMDAyLCAyMzowODoyNyk6Cn4jISBybj1UaWFtYWsgcnQ9MTAxMjI1NTU3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMjQ3NDkwCkNVUFMgLSBDb21tb24gVW5peCBQcmludGluZyBTeXN0ZW0gClVuZCBTdW1wZmZyb3NjaCwgaWNoIGJsZWliZSBkYWJlaTogQmlzIDcuMyBlaW5zY2hsaWVzc2xpY2ggdmVyd2VuZGV0IFN1U0UKTFBSbmcuIFdhcyBfRHVfIHZlcndlbmRlc3QgYmxlaWJ0IERpciB1ZWJlcmxhc3NlbiwgaW1tZXJoaW4gaXN0IFN1U0UgamEKYmVrYW5udCBkYWZ1ZXIgamVkZSBGdW5rdGlvbmFsaXRhZXQgaW4gbWluZGVzdGVucyBkcmVpZmFjaGVyIEFsdGVybmF0aXZlCmFuenViaWV0ZW4uIEFiZXIgZGVmYXVsdCBpc3QgTFBSbmcuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGxwZC1wcm9ibGVtLi4uIChUaWFtYWssIDI4LiBKYW4gMjAwMiwgMjM6MTE6NDQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTIyNTU3MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjI0NzQ5MApVbmQgaWNoIGJpbiBmZXN0IGRhdm9uIHVlYmVyemV1Z3QsIGRhc3MgaWNoIGluIGRpZXNlbSBla2xpZyBidW50ZW4gWWFzdDIKd2FlaGxlbiBrb25udGUsIHdhcyBpY2ggbnV0emVuIHdpbGwuIFVuZCBpY2ggQ1VQUyBlaW5nZXN0ZWxsdCBoYWJlLiBJbmtsdXNpdmUKbmFjaGZvbGdlbmRlbSBncmFmaXNjaGVuIE1lbnVlLCBpbiBkZW0gaWNoIHppZyBFaW5zdGVsbHVuZ2VuIHp1IG1laW5lbSBEcnVja2VyCm1hY2hlbiBkdXJmdGUuCgoKVGlhbWFrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBscGQtcHJvYmxlbS4uLiAoUGF0cnluLCAyOC4gSmFuIDIwMDIsIDIzOjEyOjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDEyMjU1NzA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIyNDc0OTAKaWNoIGtlbm5lIG1laHJlcmUgZGllIHNjaG9uIHNlaXQgbmVyIGdhbnplbiB3ZWlsZSBDVVBTIGF1ZiBzdXNlIGVpbnNldHplbiwKZGFzIG11c3MgYWxzbyBzY2hvbiB2b3IgNy4zIHZvcmhhbmRlbiBnZXdlc2VuIHNlaW4gdW5kIHNvZ2FyIGZ1bmt0aW9uaWVydApoYWJlbi4gZXMgaXN0IGltaG8gbml4IGdlZ2VuIGRhcyBiZXJlaXRzdGVsbGVuIHZvbiBhbHRlcm5hdGl2ZW4genUgc2FnZW4uCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBscGQtcHJvYmxlbS4uLiAoR3JpbW1ib3JuLCAyOC4gSmFuIDIwMDIsIDIzOjE0OjIwKToKfiMhIHJuPVBhdHJ5biBydD0xMDEyMjU1OTI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIyNDc0OTAKQml0dGUgbGllcyBzb3JnZmFlbHRpZy4gQ3VwcyBpc3Qgc2Nob24gbmUgZ2FuemUgV2VpbGUgZGFiZWksIGphLiBFcyBnZWh0IHVtCmRlbiBkZWZhdWx0LCBhbHNvIGRhcywgd2FzIHBhc3NpZXJ0IHdlbm4gbWFuIGFrdGl2IG5peCB2ZXJhZW5kZXJ0LgpVbmQgYWxzIGljaCB2b3IgendlaSBXb2NoZW4gc3Bhc3Nlc2hhbGJlciBtYWwgZGllIFN1U0UgNy4zIFByb2Zlc3Npb25hbAppbnN0YWxsaWVydCBoYWJlIGhhYmUgaWNoIGV4cGxpeml0IHVlYmVyYWxsIG51ciBPSyBnZWRydWVja3QgKGJpcyBhdWYgZGllClNvZnR3YXJlYXVzd2FobCwgYXVzICJhbGxlcyIgbXVzc3RlIGljaCBub2NoIGVpbiBwYWFyIE1CIGxvc3dlcmRlbiB3ZWlsIHp1Cmdyb3NzKS4gRXJnZWJuaXM6IExQUm5nLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBscGQtcHJvYmxlbS4uLiAoVHJveSwgMjkuIEphbiAyMDAyLCAwODozMzowNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxMjI1NjA2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMjQ3NDkwCkhhYmUgU3VTRSA3LjEgdW5kIGRhIGlzdCBhdWNoIGN1cHMgbWl0IGJlaS4gQXVzc2VyZGVtIGhhYiBpY2ggYXVjaG4gRHJ1Y2tlcgptaXQgUG9zdFNjcmlwdC1VbnRlcnN0dWV0em5nIHVuZCBkZXIgd2FyZCBzb2ZvcnQgYnJhdiBhbmdlc3Byb2NoZW4uIEljaApoYWJzIGhhbHQgdWViZXJzIFdlYmludGVyZmFjZSBrb25maWd1cmllcnQgKGxvY2FsaG9zdDo2MzEpLiBTaWVoZSBhdWNoCnd3dy5jdXBzLm9yZywgZmFsbHMgZXMgd2lkZXIgRXJ3YXJ0ZW4gbmljaHQgZGFiZWkgc2VpbiBzb2xsdGUuIHYxLjEuMTIKdW50ZXJzdHVldHp0IHdpZWRlciBlaW4gcGFhciBEcnVja2VyIG1laHIuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBscGQtcHJvYmxlbS4uLiAoR3JpbW1ib3JuLCAyOS4gSmFuIDIwMDIsIDA4OjU3OjAwKToKfiMhIHJuPVRyb3kgcnQ9MTAxMjI4OTU4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMjQ3NDkwClF1aWNrIGFuZCBkaXJ0eToKaHR0cDovL3d3dy5zdXNlLmRlL2RlL3N1cHBvcnQvc2VjdXJpdHkvMjAwMV8wMDVfY3Vwc190eHQudHh0CkRhIHN0ZWh0OiBTdVNFIGRlZmF1bHQgcGFja2FnZTogICBubwpVbmQgd2FzIGFuZGVyZXMgaGFiZSBpY2ggbmllIGJlaGF1cHRldC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhbiBUdXJpc21vIChTaGFyaWEsIDI5LiBKYW4gMjAwMiwgMDk6MjA6MzApOgoKSGkhCgpJY2ggc3VjaGUgR3JhbiBUdXJpc21vIGZ1ZXIgZGVuIFBDIC4uIGRhYmVpIGlzc2VzIGVnYWwgb2JzIEdUIDEgMiBvZGVyIDMgaXMKLi4uIDopIGhhdXB0c2FjaGUgZWluIEdhbWUgd2VsY2hlcyBhdWZtIFBDIGFubmFlaGVybmQgc28gY29vbCBpcyB3aWUgR1QgYXVmZmVyClBsYXlzdGF0aW9uLi4uIAoKT2RlciBoYXQgamVtYW5kIEVyZmFocnVuZyBtaXQgUFMgRW11bGF0b3JlbiB1bmQgR1QgYXVmbSBQQyA/CgpNZWxkZXQgRXVjaCBtYWwgYmVpIG1pciEgRGFua2UgIQoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JhbiBUdXJpc21vIChTaGFyaWEsIDI5LiBKYW4gMjAwMiwgMDk6Mjc6MjYpOgp+IyEgcm49U2hhcmlhIHJ0PTEwMTIyOTI0MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjI5MjQzMAphbHMga2xlaW5lIEVyZ2Flbnp1bmc6IAppY2ggc3VjaGUgbmF0dWVybGljaCBlaW4gT3JpZ2luYWwtU3BpZWwgYnp3IGRlbiBOYW1lbiBlaW5lcyBPcmlnaW5hbC1TcGllbGVzLApPcmlnaW5hbC1FbXVsYXRvcnMgdW5kIHNvIC4uLiBvZGVyIGRlbiBIaW53ZWlzIHdvIGljaCBlaW4gc29sY2hlcyBiZWtvbW1lbgprb2VubnRlIC4uLgoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWSVJFTldBUk5VTkcgKEN1Y2h1bGxpbiwgMjkuIEphbiAyMDAyLCAxODozNjozMyk6CltSWk5ld3NdOiBBa3R1ZWxsZSBWaXJlbndhcm51bmc6ICBXMzIvTXlQYXJ0eS1BICAKCj4tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+RnJvbTogIlNvcGhvcyBBbGVydCBTeXN0ZW0iIDxsaXN0bWFzdGVyQHNvcGhvcy5jb20+ICAgICAgICAgICAgICAgICAgICAgICAgICAKPlRvOiA8VW5kaXNjbG9zZWQgcmVjaXBpZW50czo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj5TZW50OiBNb25kYXksIEphbnVhcnkgMjgsIDIwMDIgMTE6MTAgQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+U3ViamVjdDogU29waG9zIEFudGktVmlydXMgSURFIGFsZXJ0OiBXMzIvTXlQYXJ0eS1BICAgICAgICAgICAgICAgICAgICAgICAgICAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IE5hbWU6IFczMi9NeVBhcnR5LUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBBbGlhc2VzOiBXMzIvTXlwYXJ0eUBtbSwgVzMyLk15cGFydHlAbW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gVHlwZTogV2luMzIgd29ybSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IERhdGU6IDI4IEphbnVhcnkgMjAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gQSB2aXJ1cyBpZGVudGl0eSBmaWxlIChJREUpIHdoaWNoIHByb3ZpZGVzIHByb3RlY3Rpb24gaXMgICAgICAgICAgICAgICAgICAKPiA+IGF2YWlsYWJsZSBub3cgZnJvbSBvdXIgd2Vic2l0ZSBhbmQgd2lsbCBiZSBpbmNvcnBvcmF0ZWQgICAgICAgICAgICAgICAgICAgCj4gPiBpbnRvIHRoZSBNYXJjaCAyMDAyICgzLjU1KSByZWxlYXNlIG9mIFNvcGhvcyBBbnRpLVZpcnVzLiAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IFNvcGhvcyBoYXMgcmVjZWl2ZWQgc2V2ZXJhbCByZXBvcnRzIG9mIHRoaXMgdmlydXMgZnJvbSB0aGUgd2lsZC4gICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gRGVzY3JpcHRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBXMzIvTXlQYXJ0eS1BIGlzIGEgV2luZG93cyAzMiBlbWFpbC1hd2FyZSB3b3JtIHdoaWNoIGFycml2ZXMgYXMgICAgICAgICAgIAo+ID4gYW4gZW1haWwgd2l0aCB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcmlzdGljczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBTdWJqZWN0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgbmV3IHBob3RvcyBmcm9tIG15IHBhcnR5ISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gTWVzc2FnZSB0ZXh0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgIEhlbGxvISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgTXkgcGFydHkuLi4gSXQgd2FzIGFic29sdXRlbHkgYW1hemluZyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgIEkgaGF2ZSBhdHRhY2hlZCBteSB3ZWIgcGFnZSB3aXRoIG5ldyBwaG90b3MhICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICBJZiB5b3UgY2FuIHBsZWFzZSBtYWtlIGNvbG9yIHByaW50cyBvZiBteSBwaG90b3MuIFRoYW5rcyEgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBBdHRhY2hlZCBmaWxlbmFtZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgd3d3Lm15cGFydHkueWFob28uY29tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gU29tZSBwZW9wbGUgbWF5IGJlIGZvb2xlZCBpbnRvIGJlbGlldmluZyB0aGUgYXR0YWNoZWQgZmlsZSBpcyBhICAgICAgICAgICAKPiA+IGxpbmsgdG8gYSB3ZWJzaXRlLiBJZiB0aGUgYXR0YWNoZWQgZmlsZSBpcyBleGVjdXRlZCB0aGUgd29ybSAgICAgICAgICAgICAgCj4gPiBzZW5kcyBhIGNvcHkgb2YgaXRzZWxmIHRvIGV2ZXJ5Ym9keSBpbiB0aGUgV2luZG93cyBBZGRyZXNzIGJvb2sgICAgICAgICAgIAo+ID4gKGV4Y2VwdCB0aGUgY3VycmVudCB1c2VyKSB1c2luZyBhIGJ1aWx0IGluIFNNVFAgZW5naW5lLiAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBJdCBnZXRzIHRoZSBTTVRQIHNlcnZlciBpbmZvcm1hdGlvbiBmcm9tIHRoZSByZWdpc3RyeSBrZXk6ICAgICAgICAgICAgICAgIAo+ID4gSEtDVVxTb2Z0d2FyZVxNaWNyb3NvZnRcSW50ZXJuZXQgQWNjb3VudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IE1hbmFnZXJcQWNjb3VudHNcMDAwMDAwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gVGhlIHdvcm0gYWxzbyBzZW5kcyBhbiBlbWFpbCB0byBuYXBzdGVyQGdhbGEubmV0IHRvIHRyYWNrIGl0cyAgICAgICAgICAgICAKPiA+IHNwcmVhZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IERvd25sb2FkIHRoZSBJREUgZmlsZSBmcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBodHRwOi8vd3d3LnNvcGhvcy5jb20vZG93bmxvYWRzL2lkZS9teXBhcnR5YS5pZGUgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IFJlYWQgdGhlIGFuYWx5c2lzIGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBodHRwOi8vd3d3LnNvcGhvcy5jb20vdmlydXNpbmZvL2FuYWx5c2VzL3czMm15cGFydHlhLmh0bWwgICAgICAgICAgICAgICAgIAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+IERvd25sb2FkIGEgWklQIGZpbGUgY29udGFpbmluZyBhbGwgdGhlIElERSBmaWxlcyBhdmFpbGFibGUgZm9yICAgICAgICAgICAgCj4gPiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFNvcGhvcyBBbnRpLVZpcnVzIGZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gaHR0cDovL3d3dy5zb3Bob3MuY29tL2Rvd25sb2Fkcy9pZGUvaWRlcy56aXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBSZWFkIGFib3V0IGhvdyB0byB1c2UgSURFIGZpbGVzIGF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gaHR0cDovL3d3dy5zb3Bob3MuY29tL2Rvd25sb2Fkcy9pZGUvdXNpbmcuaHRtbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gPiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgc2VydmljZSBwbGVhc2UgdmlzaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ID4gaHR0cDovL3d3dy5zb3Bob3MuY29tL3ZpcnVzaW5mby9ub3RpZmljYXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKCipncmlucyogRGFzICJMdXN0aWdlIiBpc3QsIGRhc3MgZWluZSBzb2xjaGUgdmlyb2VzZSBNYWlsIGdsZWljaApkcmVpbWFsIGluIG1laW5lbSBQb3N0ZmFjaCBsYWcsIGJldm9yIGRpZSBSWi1NYWlsIGVpbnRyYWYuIFVuZAp6d2FyIGplZGVzbWFsIGluIGVpbmVuIFZlcnRlaWxlciwgZGVyIGVpbmVuIGdyb3NzZW4gRW1wZmFlbmdlcmtyZWlzCihzdHVkaXVtLmdlbmVyYWxlIGV0YykgaGF0LiBVLmEuIHZvbSBTZWtyZXRhcmlhdCBkZXIgVW5pLUJpYi4gOykKCkVzIHN0ZWh0IHp1IGJlZnVlcmNodGVuLCBkYXNzIGRpZXNlbiBLbmlmZiBub2NoIGFuZGVyZSBXdWVybWVyCnZlcnN1Y2hlbiB3ZXJkZW4uIEV0d2FzLCBkYXMgbmFjaCBMaW5rIGF1c3NpZWh0IHVuZCBlaW4gQXR0YWNobWVudAppc3QuIE5hamEsIG1pdCAibXV0dCIgd2FlcmUgZGFzIG5pY2h0IHBhc3NpZXJ0Li4uLiBdOl4+CgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVklSRU5XQVJOVU5HIChTaWx2YW5hLCAyOS4gSmFuIDIwMDIsIDIxOjUyOjUzKToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDEyMzI1NzkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIzMjU3OTMKRGFzIHVlYmxpY2hlIFByb2JsZW06IENsaWNrZSBuaWVtYWxzIGF1ZiBha3RpdmVuIEluaGFsdCAtIHVuZCBzZWkgZXMgIm51ciIgZWluCmFuZ2VibGljaGVyIExpbmsuIE9kZXIgdW0gZXMgbWl0IGRlbiBXb3J0ZW4gZWluZSBnZXdpc3NlbiBNciBXZWFzbGV5CmF1c3p1ZHJ1ZWNrZW46IE5ldmVyIHRydXN0IGEgdGhpbmcgdGhhdCBzZWVtcyB0byB0aGluayBmb3IgaXRzZWxmIGlmIHlvdSBkb24ndApzZWUgd2hlcmUgaXQgaGFzIGdvdCBpdCdzIGJyYWluLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZJUkVOV0FSTlVORyAoQW1hcnlsbGlzLCAzMC4gSmFuIDIwMDIsIDAwOjA3OjA5KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTAxMjMzNzU3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMzI1NzkzCkhtLCBkYXMgUHJvYmxlbSBpc3QgZWlnZW50bGljaCBkZXJnZXN0YWx0LCBkYXNzIG5pY2h0IG51ciBkYXMgbWFudWVsbGUKQXVzZnVlaHJlbiBkZXMgTGlua3MgenVtIFZpcmVuYmVmYWxsIGZ1ZWhydCwgc29uZGVybiBiZWkgdmllbGVuIGRpZXNlciBXdWVybWVyCnNjaG9uIGRpZSBzb2dlbmFubnRlICJWb3JzY2hhdSIsIGRpZSB2b20gSUUgZ2VuZXJpZXJ0IHdpcmQuIFNwcmljaDogRGVyIFVzZXIKa2xpY2t0IGRhcyBaZXVncyBhbiwgb2huZSBlcyBqZWRvY2ggd2lzc2VudGxpY2ggenUgb2VmZm5lbiwgaGF0IGFiZXIgZGVuCktyZW1wZWwgZGFubiBzY2hvbiBhdWYgZGVyIFBsYXR0ZS4KClR5cGlzY2ggTVMgaGFsdC4KCldvYmVpIGljaCBtaWNoIGJlaSBkaWVzZW0gbmV1ZW4gV3VybSBzY2hvbiBhbXVlc2llcnQgaGFiZTogZWluZSBhdXNmdWVocmJhcmUKQ09NLURhdGVpIG1pdCBkZW0gVmlydXMgInd3dy5teXBhcnR5LnlhaG9vLmNvbSIgenUgbmVubmVuLCBoYXQgc2Nob24gd2FzIDotKQpEdW1tZXJ3ZWlzZSB3ZXJkZW4gYXVjaCB2aWVsZSBEQVVzIGRyYXVmIHJlaW5mYWxsZW4gdW5kIGluIGlocmVtICJkYSBrYW5uIG1hbgprbGlja2VuLCBhbHNvIGtsaWNrZSBpY2giLVJlZmxleCBkYXMgYXVjaCB0dW4uLi4gOi8KCkFtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVklSRU5XQVJOVU5HIChNdWFkaWIsIDMwLiBKYW4gMjAwMiwgMTA6Mjc6MDMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMTIzNDU2Mjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjMyNTc5MwphdWNoIHdlbm4gaWNoIE1TLWJhc2hpbmcgZ3J1bmRzYWV0emxpY2ggbmljaHQgYWJsZWhuZSA6KSBzbyBzb2xsdGUgZG9jaCBhdWNoCm1hbCBkaWUgZnJhZ2UgZ2VzdGVsbHQgd2VyZGVuOiB3ZXIgd29sbHRlIGRhcyBkZW5uIHVuYmVkaW5ndCBzbwppY2ggbW9lY2h0ZSBuaWNodCBkZW4gYXVmc2NocmVpIHRhdXNlbmRlciB2b24gZGF1cyBpbiBkZW4gb2hyZW4gZ2VsbGVuIGhhYmVuCnNvbGx0ZSBkYXMgdWVibGljaGUgcXVpY2trbGljayBuaWNodCBtZWhyIHp1ciB2ZXJmdWVndW5nIHN0ZWhlbi4gbWFuIGhhdCBqYSBhbQpvdXRsb29rIHNlY3VyaXR5cGF0Y2ggZ2VzZWhlbiB3aWUgaG9jaCBkaWUgYWt0emVwdGFueiBpc3QuCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZJUkVOV0FSTlVORyAoR3JpbW1ib3JuLCAzMC4gSmFuIDIwMDIsIDEwOjQwOjIxKToKfiMhIHJuPU11YWRpYiBydD0xMDEyMzgyODIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIzMjU3OTMKSmVwcCwgaWNoIHNlaGUgZGFzIGVudHNwYW5udC4gV2VyIHNpY2ggZWluZSBnZWxhZGVuZSBQaXN0b2xlIG1pdCBkZXIgTXVlbmR1bmcKYW5zIEtuaWUgaGFlbHQgdW5kIGFiZHJ1ZWNrdCBzY2hyZWl0IHp3YXIsIGlzdCBhYmVyIG5pY2h0IHZvZWxsaWcgdW5zY2h1bGRpZy4KU2ljaGVyaGVpdCBmYWVuZ3QgaW0gS29wZiBhbiwgdW5kIGRvcnQgaXN0IGF1Y2ggZGVyIGdyb2Vzc3RlIFRlaWwgZGVyClNpY2hlcmhlaXRzcHJvYmxlbWUuIERpZSBncm9lc3N0ZW4gU2ljaGVyaGVpdHNwcm9ibGVtZSBzaW5kIG5pY2h0IFJhdXNndWNrIHVuZApLbGVpbndlaWNoLCBzb25kZXJuIGRpZSBCZW51dHplciB1bmQgQWRtaW5pc3RyYXRvcmVuLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVklSRU5XQVJOVU5HIChDdWNodWxsaW4sIDMwLiBKYW4gMjAwMiwgMTA6NDM6NDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTIzODM2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjMyNTc5MwpWaWVsbGVpY2h0IGRvY2ggS2xlaW53ZWljaC4gRGVubiBkZXJlbiBNYXJrZXRpbmdzdHJhdGVnZW4gc2luZCBmdWVyCmRpZSBnZWlzdGlnZSBFaW5zdGVsbHVuZyBkZXIgQW53ZW5kZXIgbWl0dmVyYW50d29ydGxpY2guIFdlciBTY2h1bGVuCmZyZWl6dWVnaWcgU29mdHdhcmUgc2NoZW5rdCB1bmQgTWFlcmNoZW4gZGF6dSBlcnphZWhsdCwgYnJhdWNodCBzaWNoCm5pY2h0IHd1bmRlcm4sIHdlbm4gZXIgc2ljaCBnZWlzdGlnIHVuYmV3ZWdsaWNoZSAtIG9kZXIgenVtaW5kZXN0IApzdGlua2ZhdWxlIC0gQW53ZW5kZXIgaGVyYW56dWVjaHRldC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWSVJFTldBUk5VTkcgKE11YWRpYiwgMzAuIEphbiAyMDAyLCAxMDo0NzozMCk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxMjM4MzgyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMzI1NzkzCmR1IG1laW5zdCBmYXVsaGVpdCB1bmQgZ2Vpc3RpZ2UgdW5iZXdlZ2xpY2hrZWl0IG11ZXNzZW4gZXJzdCBlcmxlcm50IHdlcmRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZJUkVOV0FSTlVORyAoR3JpbW1ib3JuLCAzMC4gSmFuIDIwMDIsIDEwOjUyOjA4KToKfiMhIHJuPU11YWRpYiBydD0xMDEyMzg0MDUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIzMjU3OTMKVHV0IG1pciBsZWlkLCBkYXMgaXN0IGZ1ZXIgbWljaCBrZWluZSBFbnRzY2h1bGRpZ3VuZy4gV2VubiBpY2ggZWluIG11ZW5kaWdlciwKaGFsYndlZ3MgaW50ZWxsaWdlbnRlciB1bmQgdmVyYW50d29ydHVuZ3N2b2xsZXIgTWVuc2NoIGJpbiwgYmluIGljaCBsZXR6dGxpY2gKZnVlciBtZWluZSBnZWlzdGlnZSBFaW5zdGVsbHVuZyBzZWxiZXIgdmVyYW50d29ydGxpY2guIEFsbGVyc3BhZXRlc3RlbnMKbmFjaGRlbSBpY2ggZGFzIGVyc3RlIG1hbCBhdWYgZGllIE5hc2UgZ2VmYWxsZW4gYmluLiBFcyBpc3QgamEgbmljaHQgc28gYWxzCnNlaSBuaWNodCBiZWthbm50IGRhc3MgUHJvYmxlbWUgZXhpc3RpZXJlbi4gCgpPZGVyLCB3aWUgR3JlZyBzYWd0OiBQRUJLQUMuICAKKGh0dHA6Ly9hcnMudXNlcmZyaWVuZGx5Lm9yZy9jYXJ0b29ucy8/aWQ9MTk5ODA1MDYpCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZJUkVOV0FSTlVORyAoQW5kYXJpZWwsIDMwLiBKYW4gMjAwMiwgMjE6MTc6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTIzODQzMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjMyNTc5MwpFcyBnaWJ0IHBzeWNoaXNjaGUgRXJrcmFua3VuZ2VuIGRlcmVuIEtyYW5raGVpdHNiaWxkZXIgRmF1bGhlaXQgdS5hLiBhbHMKU3ltcHRvbWUgaGFiZW4ga29lbm5lbiAoU2NoaXpvcGhyZW5pZSwgRGVwcmVzc2lvbiB6LkIuKSBvaG5lIGRhc3MgZGVyCkVya3Jhbmt0ZSBldHdhcyBkYWZ1ZXIga2Fubi4gU29sY2hlIEtyYW5raGVpdGVuIHRyZXRlbiBoYXVwdHNhZWNobGljaCBiZWkKaW50ZWxsaWdlbnRlbiBiaXMgaG9jaGludGVsbGlnZW50ZW4gTWVuc2NoZW4gYXVmLi4uCgpBbmRhcmllbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVklSRU5XQVJOVU5HIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMiwgMjI6NDc6MjcpOgp+IyEgcm49QW5kYXJpZWwgcnQ9MTAxMjQyMTg1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMzI1NzkzCkFoLCBkYXMgaXN0IGludGVyZXNzYW50LiBEYXMgZXJrbGFlcnQgdmllbGVzLiBJbW1lcmhpbiBiaW4gaWNoIGVybGVpY2h0ZXJ0CmRhc3MgaWNocyBvZmZlbnNpY2h0bGljaCBuaWNodCBzZWxiZXIgc2NodWxkIGJpbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVklSRU5XQVJOVU5HIChNb250YW51cywgMzAuIEphbiAyMDAyLCAyMjo0ODoxOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxMjQyNzI0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEyMzI1NzkzCkR1IGJpc3QgbmllIHNjaHVsZC4KT2RlciBiaXN0IGR1IGluendpc2NoZW4gZWluIFp3ZWl0aWUgdm9tIFRpaWlzY2hhZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBWSVJFTldBUk5VTkcgKEdyaW1tYm9ybiwgMzAuIEphbiAyMDAyLCAyMjo1MTowMSk6Cn4jISBybj1Nb250YW51cyBydD0xMDEyNDI3Mjk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTIzMjU3OTMKTm9lLCBkYXMgbGllZ3QgYWxsZXMgYW4gbWVpbmVyIGhvY2hpbnRlbGxpZ2VudGVuIFBsdWVzY2hrcmFua2hlaXQuIFNvIGlzc2FzCm51bWEuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRBb0MgKFBpbGdyaW0sICAzLiBGZWIgMjAwMiwgMTg6MTE6MDApOgpIaSwKCmljaCB3b2x0IG1hbCB3aXNzZW4sIG9iIGhpZXIgZWluZXIgREFvQyAoTWFzc2l2ZSBNdWx0aXBsYXllciBHYW1lOiBEYXJrIEFnZSBvZgpDYWxlbW90KQpnZXNwaWVsdCBoYXQgKEJldGEpIG9kZXIgbnVuIGRpZSBWb2xsdmVyc2lvbiB1bmQgbWFsIGFsKGFscyBNVURkZXIpIHZvbiBTZWluZW4KRXJmYWhydW5nZW4KYmVyaWNodGVuIG1hZz8KTG9obnQgc2ljaCBzb3dhcyB1ZWJlcmhhdXB0ICgzNSBFIGZ1ZXJzIFNwaWVsIHVuZCA1MCBFdXIgZnVlciA2IE1vbmF0ZSBmaW5kZQppY2ggamEKZ2FueiBzY2hvZW4gaGFwcGljaCAuLi4gYWJlciBpY2ggaGFiIGtlaW5lIEFobnVuZyB2b24gZGVuIFByZWlzZW4gYmVpIHNvbGNoZW4KT25saW5lLUdhbWVzIGkuQS4gKFVBLCB1c3cuKS4gSWNoIGhhdHRlIG51ciBkZW4gVGVzdCBpbiBkZXIgR2FtZVN0YXIgZ2VsZXNlbiwKYmlubgphYmVyIGF1cyB6ZWl0bWFuZ2VsIHVuZCBhdXMgTWFuZ2VsIGFuIGVpbmVtIERYOC1SZWNobmVyIG5pY2h0IGRhenUgZ2Vrb21tZW4sCmRpZSBCRVRBIHp1IHNwaWVsZW4vdGVzdGVuLgoKUGlsZ3JpbSAuLi4gaGF0IHZlcm11dGxpY2ggc293aWVzbyBrZWluZSBaZWl0ICdmcmVtZCB6dSBnZWhlbicgLi4uIHd1ZXJkcyBhYmVyCmdlcm5lIG1hbCB3aXNzZW4uCgpQUy46IGdpYnRzIGVpZ2VudGxpY2ggYXVjaCAnZnJlaWUgU2VydmVyJyB1bmQvb2RlciBFbnR3aWNrbHVuZ3N0b29scwogICAgIGFsZSBVTywgREFvQywgdXN3IC4uLiBzcHJpY2gsIGxpZWd0IGRhcyBlaW5lIG1vZWdsaWNoZSBadWt1bmZ0IGZ1ZXIKICAgIE1VRGRpZXM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogREFvQyAoR3JlaWZheCwgIDQuIEZlYiAyMDAyLCAxMzowOToxOCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMTI3NTYyNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxMjc1NjI2MAphbHNvIGljaCBoYWJlIHNvd29obCBkaWUgYmV0YSBnZXNwaWVsdCBhbHMgYXVjaCBtaXIgZGFzIHNwaWVsIHp1Z2VsZWd0IHVuZApmaW5kZSBkYXMgZXMgc2ljaCBsb2hudCAuLi4gRVEga29zdGV0IDEwICQgaW0gTW9uYXQgYnp3LiA1MCAkIGZ1ZXIgNiBNb25hdGUKbmltbXQgc2ljaCBhbHNvIHByZWlzbGljaCBuaWNodCBzbyBzZWhyIC4uLiBkaWUgMzUgRVVSIGZ1ZXIgZGFzIFNwaWVsIGFuCnNpY2ggZmFuZCBpY2ggendhciBhdWNoIHJlY2h0IHZpZWwgYWJlciBub2NoIG5pY2h0IHVlYmVyem9nZW4sIGJlaSBTYXR1cm4KaGllciBpbiBCIGhhYmUgaWNoIGVzIGZ1ZXIgZXR3YXMgbWVociBhbHMgMzAgRVVSIGdlc2VoZW4gLi4uCgpXYXMgZXMgYW4gVG9vbHMgZ2lidCBrYW5uIGljaCBuaWNodCBzYWdlbiBoYWJlIGljaCBhYmVyIGF1Y2ggbm9jaCBuaWNodCBuYWNoCmdlc3VjaHQuCgpHcnVzcywgR3JlaWZheAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0NTSS9JREUtUmFpZCBnZXN1Y2h0IChDYXR3ZWF6bGUsIDEzLiBGZWIgMjAwMiwgMTM6MDA6MjcpOgpJY2ggZ2xhdWJlIGljaCBoYWJzIHZvciBlaW5pZ2VyIFplaXQgc2Nob24gbWFsIGdlZnJhZ3QsIGFiZXIgaWNoIHR1cyBub2NobWFsLgoKSWNoIHN1Y2hlIGVpbiBTQ1NJL0lERS1SYWlkIG1pdCBtaW5kZXN0ZW5zIDYwMEdCIFBsYXR0ZW5wbGF0eiAoYWxzbyBldHdhCjgqMTAwR0ItUGxhdHRlbikgZGFzIHVudGVyIExpbnV4IGJldHJlaWJiYXIgaXN0LgpVbSBkaWUgUG9wZWxsb2VzdW5nIGF1c3p1c2NobGllc3NlbiwgaWNoIHN1Y2hlIGVpbiBlY2h0ZSBIYXJkd2FyZS1SYWlkLCBuaWNodApkaWUgJ2thdWYgOCBQbGF0dGVuLCBtYWNoIExpbnV4Jy1Mb2VzdW5nLiAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDU0kvSURFLVJhaWQgZ2VzdWNodCAoR3JpbW1ib3JuLCAxMy4gRmViIDIwMDIsIDEzOjI4OjQwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDEzNjAxNjI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTM2MDE2MjcKQWVoLCB3YXMgZ2VuYXUgc3VjaHN0IER1LCBhbHNvIHdhcyB3aWxsc3QgRHUgYWxzIEFudHdvcnQgaGFiZW4/IE5pbW0gZWluZW4KdW50ZXJzdHVldHp0ZW4gSFcgY29udHJvbGxlciBhbiBkZW4gRHUgZ2VudWcgUGxhdHRlbiBoYWVuZ2VuIGthbm5zdC4gR2lidCBkb2NoCmdlbnVnLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNDU0kvSURFLVJhaWQgZ2VzdWNodCAoQ2F0d2VhemxlLCAxMy4gRmViIDIwMDIsIDEzOjM0OjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDEzNjAzMzIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTM2MDE2MjcKU2FnIG1pciBlaW5lbiBnZXNjaGVpdGVuLiAKSWNoIHdlaXNzIGtlaW5lbiwgYW4gZGVuIG1hbiA4IFBsYXR0ZW4gaGFlbmdlbiBrYW5uLiBTQ1NJIGlzdCBpbiBkZXIKUGxhdHRlbmdyb2Vzc2Vub3JkbnVuZyBfZGV1dGxpY2hfIHp1IHRldWVyLiAKVm9uIFByb21pc2UgZ2lidHMgd29obCBlaW5lbiBDb250cm9sbGVyIG1pdCA0IFBvcnRzLCBhYmVyIGRlciBsYWV1ZnQgd29obApuaWNodCB1bnRlciBMaW51eC4gCkFjaGphLCBhbHMgUmFjayBoYXR0IGljaHMgYXVjaCBub2NoIGdlcm4gOikKCkljaCBoYWIgd29obCBlaW5lIExvZXN1bmcgdm9uIFRyYW5zdGVjLCBicmFldWNodGUgYWJlciBlaW5lIHZlcmdsZWljaGJhcmUKQWx0ZXJuYXRpdmUuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNDU0kvSURFLVJhaWQgZ2VzdWNodCAoU2lsdmFuYSwgMTMuIEZlYiAyMDAyLCAxMzo0NTowNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMzYwMzY1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDEzNjAxNjI3CkljaCBoYWIgYmlzaGVyIHp3ZWkgSGFyZHdhcmUtUkFJRCBDb250cm9sbGVyIG1pdCBJREUgUGxhdHRlbiB1bnRlciBXaW4qIGVybGVidAp1bmQga2FubiBlaWdlbnRsaWNoIG51ciBzYWdlbjogTGFzcyBkaWUgRmluZ2VyIGRhdm9uLiBEaWUgUmVnZWxtYWVzc2lna2VpdCwKbWl0IGRlciBkYSBJbmRleGZlaGxlciBhdWZ0YXVjaGVuIGlzdCBlcnNjaHJlY2tlbmQgaG9jaCEgKFByb21pc2UgdW5kClRyYW5zdGVjLCBidHcpCldlbm4gRHUgc2Nob24gbmVuIFJBSUQgQXJyYXkgYnJhdWNoc3QsIG5pbW0gZWluZXMgYXVmIFNDU0kgQmFzaXMuIERlciBBZXJnZXIsCmRlbiBEdSBkYW1pdCBkYW5uIF9uaWNodF8gaGFzdCwgbWFjaHQgc2ljaCBzY2huZWxsIGJlemFobHQuCgogIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNDU0kvSURFLVJhaWQgZ2VzdWNodCAoV2lsbG93LCAxMy4gRmViIDIwMDIsIDIwOjUxOjI0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDEzNjAzNjU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTM2MDE2MjcKaG1tbS4uLiBtaXIgZmFlbGx0IGRhIGVpbiBoZXJzdGVsbGVyIGVpbiwgZGVyIG1pdCBleHRlcm5lbiBnZWhhZXVzZW4gaWRlLWhkZHMKdmVyYmF1dCwgZGllIGRhbm4gdWViZXIgc2NzaSBhbmdlc2NobG9zc2VuIHdlcmRlbiAtIGRhcyB3YXIsIG1laW5lIGljaAp3d3cuc3RhcmxpbmUuZGUgLSB2aWVsbGVpY2h0IHNjaGF1c3QgZHUgZGEgbWFsIG5hY2guLi4KZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRFQUMgNTQwRSB1bmQgVkNEcyAoTW9yZ290aCwgMTUuIEZlYiAyMDAyLCAwMToxNzowOCk6CkhpCgpoYXQgaXJnZW5kd2VyIG5lIGlkZWUsIHdhcnVtIG1laW4gby5nLiBDRC1ST00gZGllIExlc2VnZXNjaHdpbmRpZ2tlaXQKaGVydW50ZXJzZXR6dCwgd2VubiBpY2ggZWluZSBWQ0QgZWlubGVnZSB1bmQgZGllc2Uga29waWVyZW4gd2lsbD8gRWdhbCBvYiBtaXQKQnJlbm5wcm9ncmFtbSAoTmVybywgQ2xvbmVDRCkgb2RlciBtaXQgZGVtIEV4cGxvcmVyLCBkYXMgRGluZyBzY2huYXJjaHQgYWIgd2llCnNhdSA6KApCZWkgIm5vcm1hbGVuIiBEYXRlbiBrb3BpZXJ0IGRhcyBUZWlsIG5lIHZvbGxlIENEIGluIGNhLiA0IE1pbnV0ZW4sIGJlaSBuZXIKVkNEIGRhdWVydCBkYXMgY2EuIDE1LgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNDU0kvSURFLVJhaWQgZ2VzdWNodCAoV29vZHksICAxLiBNYXIgMjAwMiwgMDE6MjY6MTIpOgp+IyEgcm49U2lsdmFuYSBydD0xMDEzNjA0MzA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTM2MDE2MjcKei5CLiB3d3cudm9ydGV4LmRlIC0gbWl0IGRlbmVuIGhhYmVuIHdpciBiaXNoZXIgZ3V0ZSBFcmZhaHJ1bmdlbgood2VubmdsZWljaCBuaWNodCBpbSA2MDAgTUIgQmVyZWljaCwgYWJlciBkaWUgaGFiZW4gc2VociBndXRlClJBSUQtQ29udHJvbGxlciBtaXQgbWVocmVyZW4gQ2hhbm5lbHMsIGFsc28uLi4pLgoKV29vZHkuLQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlZ2Utc3VjaC1hbGdvcml0aG11cyAoV2hpdGV0aWdlciwgIDcuIE1hciAyMDAyLCAyMDowNjo1MCk6CmhpLAppY2ggc3VjaGUgZWluZW4gYWxnb3JpdGhtdXMsIHVtIGF1cyBtZWhyZXJlbiB0ZWlsLXdlZ2VuIHp3aXNjaGVuIHB1bmt0ZW4gZGVuCmJlc3RlbiB3ZWcgaGVyYXVzenVmaW5kZW4sIHp3ZWNrcyBlaW5iaW5kdW5nIGluIHNlbGJzdGdlc2NocmllYmVuZXMKbXVkY2xpZW50LXdlZ2Utc3lzdGVtIChuZWluLCB0Zm1hY3JvLXBha2V0ZSBudWV0emVuIG5peCwgaWNoIGthbm4gZGFzIG5pY2h0CnJpY2h0aWcgdmVyc3RlaGVuIChzY2hsZWNodCBsZXNiYXIgZGVyIHRmIGNvZGUpIHVuZCBpc3QgZnVlciBuZW4gYW5kZXJlbgpjbGllbnQuLi4pLi4uCndlciB3YXMgd2Vpc3MgYml0dGUgcGVyIG11ZG1haWwgby5hZS4gYmVpIG1pciBtZWxkZW4uLi4KV1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VnZS1zdWNoLWFsZ29yaXRobXVzIChHcmltbWJvcm4sICA3LiBNYXIgMjAwMiwgMjA6MjY6NDQpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDE1NTI4MDEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKRHUgd2lyc3QgamEgbGFjaGVuLCBhYmVyIHdlbm4gRHUgZnVlciBkYXMgdm9uIERpciBiZXNjaHJpZWJlbmUgInRyYXZlbGxpbmcKc2FsZXNtYW4iIFByb2JsZW0gZWluZSB2ZXJudWVuZnRpZ2UsIHNrYWxpZXJlbmRlIExvZXN1bmcgaGFzdCBrYW5uc3QgRHUgZGFtaXQKcmVpY2ggdW5kIGJlcnVlaG10IHdlcmRlbi4gU293ZWl0IGljaCB3ZWlzcyB3aXJkIGRhIGltbWVyIG5vY2ggbmFjaCBnZXN1Y2h0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdlZ2Utc3VjaC1hbGdvcml0aG11cyAoUGF0cnluLCAgNy4gTWFyIDIwMDIsIDIxOjE5OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE1NTI5MjA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKaWNoIGhhYiB6d2FyIHNjaG9uIDIgZ2xhZXNlciB3ZWluIGdldHJ1bmtlbiwgYWJlciBpY2ggc2VoZSBuaXJnZW5kd28sIHdhcwpkYXMgbWl0IGRlbSB0cmF2ZWxpbmcgc2FsZXNtZW50IHByb2JsZW0genUgdHVuIGhhdC4KZXIgc3VjaHQga3Vlcnplc3RlIHdlZ2UsIGRhZnVlciBnaWJ0cyBlaW5lIGdhbnplIGxhdHRlIHZvbgpzdGFuZGFyZGFsZ29yaXRobWVuLCBiZWkgZGVuZW4gbWFuIHNpY2ggenVtIHRlaWwgZnJhZ3QsIHdhcnVtIHNpZSBuYWNoCmJlc3RpbW10ZW4gbGV1dGVuIGJlbmFubnQgd3VyZGVuLiBpY2ggaGFiIHp1bWluZGVzdCBlcnN0IHNwYWV0ZXIgZXJmYWhyZW4sCmRhc3MgbWVpbmUgaWRlZSBmb3JkLW1vb3JlLWFsZ29yaXRobXVzIGhlaXNzdCwgd2VpdGVyZSBzdGljaHdvcnRlIHNpbmQgemIKZGpla3N0cmEuLi5rb21tdCBpbiBqZWRlciBvcHRpbWllcnVuZ3N2b3JsZXN1bmcuCgp0cmF2ZWxpbmcgc2xhZXNtZW50IGlzdCBlaW5lIGdhbnogYW5kZXJlIHByb2JsZW1zdGVsbHVuZy4gZG9ydCBnZWh0IGVzCmRhcnVtLCBlaW5lIGt1ZXJ6ZXN0ZSBydW5kcmVpc2UgenUgZmluZGVuLCBhbHNvIGFsbGUgcHVua3RlIGVpbmUgZ3JhcGhlbgp6dSBkdXJjaGxhdWZlbiBtaXQgbWluaW1hbGVuIGtvc3Rlbi4KbmljaHQgZWluZW4ga3Vlcnplc3RlbiB3ZWcgaW0gZ3JhcGhlbiB6dSBmaW5kZW4uCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKEdyaW1tYm9ybiwgIDcuIE1hciAyMDAyLCAyMToyMTowNCk6Cn4jISBybj1QYXRyeW4gcnQ9MTAxNTUzMjM0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE1NTI4MDEwCkphamEsIGljaCBoYWIgbWl0dGxlcndlaWxlIHNlbGJzdCBiZW1lcmt0IGRhc3MgaWNoIHNlaW5lIEZyYWdlc3RlbGx1bmcgZmFsc2NoCnZlcnN0YW5kZW4gaGFiZS4gS2FubiBpY2ggZ2VsdGVuZCBtYWNoZW4gZGFzcyBkYXMgdW1zdGFlbmRsaWNoIGF1c2dlZHJ1ZWNrdAp3YXIgb2RlciBiaW4gaWNoIGhldXRlIEFiZW5kIGVpbmZhY2ggenUgdmVycGVpbHQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHdlZ2Utc3VjaC1hbGdvcml0aG11cyAoUGF0cnluLCAgNy4gTWFyIDIwMDIsIDIxOjIyOjM2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE1NTMyNDY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKbmEgamEsIGR1IGhhZXR0ZXN0IGphIGVpbmVuIHN0cmVpdCB2b20gemF1biBicmVjaGVuIGtvZW5uZW4sIHdhcyBlciBtaXQKImJlc3RlbiB3ZWciIG1laW50IDopIGFiZXIgc28gaGFiZW4gd2lyIGRhcyB3ZWl0YXVzIHNjaG5lbGxlciB1bmQgZWxlZ2FudGVyCmdla2xhZXJ0LgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdlZ2Utc3VjaC1hbGdvcml0aG11cyAoTml6emwsICA3LiBNYXIgMjAwMiwgMjI6MjQ6MDkpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDE1NTI4MDEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKS2xhc3NlLCB3ZW5uIGljaCBkYW5uIHpiIC9uaWViZWxoZWltaG9zcGl0YWwgYW5nZWIgdW5kIGFuIGRlciBPcmtob2VobGUgc3RlaCwKZGFubiByZW5udCBkYXMgRGluZyBlcnN0IHp1bSBOZWtyb21hbnQgdW5kIGRhbm4genVtIEJhbHJvZy4KQWJlciBIYXVwdHNhY2hlIGt1ZXJ6ZXN0ZXIgV2VnLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKFZhcmRpb24sICA3LiBNYXIgMjAwMiwgMjM6MDU6MTQpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDE1NTI4MDEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKVW0gdm9uIGVpbmVtIFN0YXJ0a25vdGVuIGRlbiBrdWVyemVzdGVuIFdlZyB6dSBqZWRlbSBhbmRlcmVuIEtub3RlbiBpbiBPKG5eMikKenUgZmluZGVuLCBnaWJ0cyBkZW4gRGlqa3N0cmEuClVtIHZvbiBqZWRlbiBLbm90ZW4genUgamVkZW0gaW4gTyhuXjMpIHp1IGZpbmRlbiBnaWJ0cyB6LkIuIGRlbiAoZWluZmFjaGVyZW4pCkZsb3lkLVdhcnNoYWxsLgpadSBmaW5kZW4gc2luZCBiZWlkZSB6LkIuIGltIFRJMS1TY3JpcHQgZGVyIFRVIENoZW1uaXR6IDstKQoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKEJhbWJpLCAgOC4gTWFyIDIwMDIsIDE0OjAwOjI3KToKfiMhIHJuPVZhcmRpb24gcnQ9MTAxNTUzODcxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE1NTI4MDEwClNvIGdydW5kc2FldHpsaWNoIG1hbCB6dW0gVGhyZWFkOgoxLiBJY2ggc2l0emUgc3RhdW5lbmQgdm9ybSBNb25pdG9yIHdlZ2VuIEFydGlrZWwgNi4gOykKMi4gWnUgQXJ0aWtlbCA4IChiZWltIE5la3JvbWFudGVuIHVuZCBCYWxyb2cgdm9yYmVpKTogSG9mZmVtZXIgbWFsIGZ1ZXIgZGllCktpbGxsZXItVG9wbGlzdGUsIGRhc3MgaWhtIGRhcyBlaW4gcGFhciBtYWwgcGFzc2llcnQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKEdyaW1tYm9ybiwgIDguIE1hciAyMDAyLCAxNDowMjo0Nyk6Cn4jISBybj1CYW1iaSBydD0xMDE1NTkyNDI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKWnUgMS4gV2llc28/IEljaCBoYWJlIGtlaW5lIFByb2JsZW1lIGRhbWl0IElycnR1ZW1lciBtZWluZXJzZWl0cyB6dXp1Z2ViZW4uCklzdCBkb2NoIG5pY2h0IG1laW5lIFNjaHVsZCBkYXNzIGRhcyBzbyBzZWx0ZW4gbm9ldGlnIGlzdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKFdoaXRldGlnZXIsICA4LiBNYXIgMjAwMiwgMTg6NTQ6MDMpOgp+IyEgcm49VmFyZGlvbiBydD0xMDE1NTM4NzE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKaG1tLi4uIGVya2xhZXJzdCBkdSBtaXIgbm9jaCwgd2llIGRlciBmdW5rdGlvbmllcnQ/IHdhcyBkZXIgc28gcmljaHRpZyBhbHMKZWluZ2FiZSBlcndhcnRldCB1bmQgc28uLi4gZGFtaXQgaWNocyBhdWNoIGltcGxlbWVudGllcmVuIGthbm4gOykKV1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VnZS1zdWNoLWFsZ29yaXRobXVzIChDeW1vbmssIDEwLiBNYXIgMjAwMiwgMjE6MzI6MzApOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDE1NTI4MDEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKaHR0cDovL3d3dy5tYXQudWMucHQvfmVxdm0vT1BQL3Nob3J0ZXN0cGF0aC5odG1sCnIKCmN5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZWdlLXN1Y2gtYWxnb3JpdGhtdXMgKFZhcmRpb24sIDEwLiBNYXIgMjAwMiwgMjM6NDc6NDUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDE1NjEwMDQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTU1MjgwMTAKTmVpbi4KCk11ZGRlciBrb2VubmVuIHNlbGJzdCBsZXNlbiA6LSkKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJvb3QtQ0QgZnVlciBOVC1TZXJ2ZXIgKE1vcmdvdGgsIDE0LiBNYXIgMjAwMiwgMDk6MTM6MDkpOgpIaSwKClByb2JsZW06IEljaCBzb2xsIGVpbmUgQm9vdGZhZWhpZ2UgTlQtU2VydmVyIEluc3RhbGxhdGlvbnMtQ0QgZXJzdGVsbGVuCgoxLiBNaXQgd2VsY2hlbSBQcm9ncmFtbSBlcnN0ZWxsZSBpY2ggZGllIGFtIGJlc3Rlbj8KMi4gV2VsY2hlIEJvb3QtT3B0aW9uICh6LmIuIGJlaSBOZXJvKSBtdXNzIGljaCBuZWhtZW4/CjMuIFdpZSBiZWtvbW1lIGljaCBkaWUgMyBCb290LURpc2tldHRlbiBpbiBkYXMgQm9vdC1JbWFnZT8KCjQuIFdhcyBtdXNzIGljaCBzb25zdCBub2NoIGJlYWNodGVuPwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCb290LUNEIGZ1ZXIgTlQtU2VydmVyIChHcnVtcGYsIDE0LiBNYXIgMjAwMiwgMDk6MTU6MDUpOgp+IyEgcm49TW9yZ290aCBydD0xMDE2MDkzNTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTYwOTM1ODkKQWVoLi4uIGRpZSBpc3QgZG9jaCBib290ZmFlaGlnIGRpZSBvcmlnaW5hbCBDRCBvZGVyIGhhYiBpY2ggZGEgamV0enQgaXJnZW5kd2FzCm5pY2h0IHZlcnN0YW5kZW4/Pz8KR3J1bXBmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQm9vdC1DRCBmdWVyIE5ULVNlcnZlciAoTW9yZ290aCwgMTQuIE1hciAyMDAyLCAxMToyNTowMCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTYwOTM1ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxNjA5MzU4OQpIYWIgd2FzIGdlZnVuZGVuOgpodHRwOi8vd3d3Lm51Mi5udS9ib290Y2QvI250NAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IFByZyAuLi4gTVMtaHRtbCAtPiAibm9ybWFsZXMiIGh0bWwgKFBpbGdyaW0sIDE1LiBNYXIgMjAwMiwgMTE6MTc6MjEpOgpIaSwKCnZpZWxsZWljaHQgaGF0IHNjaG9uIGVpbmVyIG1hbCBkaWVzZSAiUHJvYmxlbSIgZ2VoYWJ0IHVuZCBhdWNoIG5lCkxvZXN1bmcgZ2VmdW5kZW46CkVpbiBLb2xsZWdlIHZvbiBtaXRyIGhhdHRlIGVpbmUgc2Nob2VuZXMgKE8uSy4sIEFuc2ljaHRzc2FjaGUpIGh0bWwtRmlsZSwKaGFuZGdlc2NocmllYmVuLCBlaW5mYWNoIHVuZCBrbGFyIC4uLiBkYW5uLCBlaW5lcyBUYWdlcyBpbiBFaWxlCmhhdCBlciBlcyBtaXQgTW93cmQgKG9kZXIgRnJvbnRwYWdlPykgZ2VvZWZmbmV0IChlcyAKZ2VkYW5rZXZlcmxvcmVuIGluIGRpZXNlcyBNUyBHZXNjaHJlaWJzZWwga29udmVydGllcmVuIGxhc3NlbikKdW5kIGhhdCBudW4gZWluIEZpbGUsIGRhcyBhKSBtaW5kZXN0ZW5zIGRvcHBlbHQgc28gZ3Jvc3MgaXN0IAooYXVzIGVpbmVyIFplaWxlIENvZGUgdW0gZWluZSBKYWhyZXN6YWhsIG1pdHRpZyBhbHMgVWViZXJzY2hyaWZ0IAp6dSB6ZW50cmllcmVuIGhhdCBNUyBkb2NoIGdsYXR0IChncnVlYmVsKSB+MTggWmVpbGVuIGdlbWFjaHQpCnVuZCBzb21pdCBiKSBvaG5lIE1TIFByb2R1bmt0IHRvdGFsIHVuYmVhcmJlaXRiYXIgaXN0ICh3YXMgd29obApkZXIgU2lubiB1bmQgWndlY2sgZGllc2VzIEdlc2NocmVpYnNlbHMgdm9uIE1TIGlzdCkuCgpGcmFnZTogR2lidHMgbmUgTW9lZ2xpY2hrZWl0LCBkYXMgd2llZGVyIHp1cnVlY2sgenUKa29udmVydGllcmVuLCB1bmQgd2VubiBqYSwgd2VsY2hlPwogCiBQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogUHJnIC4uLiBNUy1odG1sIC0+ICJub3JtYWxlcyIgaHRtbCAoTW9yZ290aCwgMTUuIE1hciAyMDAyLCAxMTozMzoxMik6Cn4jISBybj1QaWxncmltIHJ0PTEwMTYxODc0NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxNjE4NzQ0MQpNYWNyb21lZGlhIERyZWFtd2VhdmVyCkRhcyBrYW5uIGRpZXNlcyBNJC1LcmFtcyByYXVzbG9lc2NoZW4uLi4KCkdpYnRzIGFscyBEZW1vIGJlaSBNYWNyb21lZGlhLCB3ZW5uIER1IG5pY2h0IGluc3RhbGxpZXJlbiB3aWxsc3QsIHNjaGlja3MgbWlyLAppY2ggYmVyZWluaWdlIGRhcyBlYmVuLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogUHJnIC4uLiBNUy1odG1sIC0+ICJub3JtYWxlcyIgaHRtbCAoV3VyemVsLCAxNS4gTWFyIDIwMDIsIDE4OjI1OjM2KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxNjE4ODM5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE2MTg3NDQxCmFsdGVybmF0aXY6IHZpIG9kZXIgZWluZW4gYmVsaWViaWdlbiBhbmRlcmVuIGVkaXRvciBkZWluZXIgd2FobC4gaXN0IHp3YXIKZXR3YXMgYXJiZWl0LCBnZWh0IGFiZXIgZG9jaCA6KQoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBQcmcgLi4uIE1TLWh0bWwgLT4gIm5vcm1hbGVzIiBodG1sIChOb25uZSwgMTUuIE1hciAyMDAyLCAxOTo0NjoyOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTAxNjIxMzEzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE2MTg3NDQxCk9kZXIgZGFzIEZpbGUgdm9tIEJhY2t1cCB6dXJ1ZWNrc3BpZWxlbj8gSWhyIG1hY2h0IGRvY2ggYWxsZSBCYWNrdXBzIG9kZXIuLi4KKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdGF0aXNjaCBnZWxpbmt0ZSB6bGliIChWYW5pb24sIDE2LiBNYXIgMjAwMiwgMTI6MDY6MTgpOgpJY2ggaGFiIGdyYWQgZWluZW4gQXJ0aWtlbCBpbiBuZXdzOi8vbGZzLnNlY3VyaXR5IGdlbGVzZW4sIGRlciB2aWVsbGVpY2h0IGF1Y2gKZnVlciBhbmRlcmUgaW50ZXJlc3NhbnQgaXN0OgoKPiBodHRwOi8vY2VydC51bmktc3R1dHRnYXJ0LmRlL2ZpbGVzL2Z3L2ZpbmQtemxpYiBpcyBhIHBlcmwgc2NyaXB0IHRoYXQgc2NhbnMKPiBiaW5hcnkgcHJvZ3JhbXMgZm9yIHBvc3NpYmxlIGxpYnogc2lnbmF0dXJlcy4gQ291bGQgYmUgaGFuZHkgaW4gZmluZGluZwo+IHRob3NlIHByb2dyYW1zIHdpdGggc3RhdGljYWxseSBsaW5rZWQgbGlieidzIG9yIHdpdGggdGhlaXIgb3duIHByaXZhdGUgbGliego+IGNvcHkuCj4gCj4gSSd2ZSBhdHRhY2hlZCBpdCB0byB0aGlzIGVtYWlsIHRvby4KPiAKPiAtLQo+IEdlcmFyZCBCZWVrbWFucwo+IHd3dy5saW51eGZyb21zY3JhdGNoLm9yZwoKViosIG11c3MgZWluaWdlcyBuZXUgY29tcGlsaWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3RhdGlzY2ggZ2VsaW5rdGUgemxpYiAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDIsIDEzOjM4OjUwKToKfiMhIHJuPVZhbmlvbiBydD0xMDE2Mjc2Nzc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTYyNzY3NzgKVW5kIHdhcyBsZXJuc3QgRHUgZGFyYXVzPyBOaWNodCBtZWhyIHN0YXRpc2NoIGxpbmtlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzdGF0aXNjaCBnZWxpbmt0ZSB6bGliIChWYW5pb24sIDE2LiBNYXIgMjAwMiwgMTM6NDY6MjUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTYyODIzMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxNjI3Njc3OApTbyBlaW5mYWNoIGlzdCBkYXMgbmljaHQsIEdyaW1tYm9ybi4gSWNoIGhhYmUgbmljaHRzIHN0YXRpc2NoIHZlcmxpbmt0LCB3YXNzCm9obmUgZ2luZy4gQWJlciBlaW5pZ2UgUGFrZXRlIGJyaW5nZW4gZGllIHpsaWIgZGlyZWt0IGluIGlocmVuIFNvdXJjZW4gbWl0Lgpzc2wgKC4vb3BlbnNzbC0wLjkuNmMvY3J5cHRvL2NvbXAvY196bGliLmMpLCBlaW5pZ2Uga2RlLVRvb2xzIChjdXBzKSwgcHBwIHVuZAphdWNoIGRlciBLZXJuZWwgKHp1bSBCZWlzcGllbCB6dW0gRW50cGFja2VuIGRlcyBiekltYWdlKS4KClZlcm11dGxpY2gga2FubiBtYW4gbWl0IHZpZWwgQXVmd2FuZCBkaWVzZSBQYWtldGUgdWViZXJyZWRlbiwgZHluYW1pc2NoIHp1CmxpbmtlbiwgYWJlciBpY2ggYmF1ZSBtZWluIFN5c3RlbSBuaWNodCBoYXVwdGJlcnVmbGljaCB1bmQgaGFiZSBhdWNoIGFuZGVyZQpIb2JiaWVzLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHN0YXRpc2NoIGdlbGlua3RlIHpsaWIgKEdyaW1tYm9ybiwgMTYuIE1hciAyMDAyLCAxNDowNToxNSk6Cn4jISBybj1WYW5pb24gcnQ9MTAxNjI4Mjc4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE2Mjc2Nzc4CkFoLCBkYW5uIGhhYmUgaWNoIERpY2ggZmFsc2NoIHZlcnN0YW5kZW4uIEljaCBkYWNodGU6Ci0gdXBkYXRlcyBkZXMgdmVuZG9ycyBmdWVyIGJldHJvZmZlbmUgUGFrZXRlIGVpbnNwaWVsZW4KLSBlaW5nZW5lIGJldHJvZmZlbmUgUHJvZ3JhbW1lIG5ldSBrb21waWxpZXJlbi4KTWlyIHdhciBuaWNodCBrbGFyIGRhc3MgRHUgRGVpbiBTeXN0ZW0gemllbWxpY2ggdm9sbHN0YWVuZGlnIHNlbGJlciBiYXVzdC4gRGllCkx1ZWNrZW4gaW4gbW9kX3NzbCB1bmQgY3VwcyBoYWJlbiBtaXQgZGVtIHpsaWIgUHJvYmxlbSBuaWNodHMgenUgdHVuLApvcGVuc3NsLVByb2JsZW1lIHNpbmQgbWlyIGFrdHVlbGwga2VpbmUgYmV3dXNzdCwgdW5kIHp1bWluZGVzdCBhbGxlIGJpbmFyaWVzCmF1cyBkZXIgb3BlbnNzbC1FY2tlIHNpbmQsIG5hY2ggZGVtIHBlcmwgc2NyaXB0IGluIFN0dXR0Z2FydCBqZWRlbmZhbGxzLCBuaWNodAp2b20gemxpYiBQcm9ibGVtIGJldHJvZmZlbiAodW5kIHdlcmRlbiBhdWNoIHZvbiBrZWluZW0gbWlyIGJlb2JhY2h0ZXRlbiB2ZW5kb3IKZGVzd2VnZW4gYmVvYmFjaHRldCkuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzdGF0aXNjaCBnZWxpbmt0ZSB6bGliIChHcmltbWJvcm4sIDE2LiBNYXIgMjAwMiwgMTQ6MDU6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTYyODM5MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxNjI3Njc3OApEYXMgbGV0enRlICJiZW9iYWNodGV0IiBpc3QgbmF0dWVybGljaCBlaW4gImdldXBkYXRlZCIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IFdpbmRvd3MgUFJHIGFsYSBPcmlnaW4vQXh1bSAuLi4gYWJlciBGUkVFd2FyZT8gKFBpbGdyaW0sIDI0LiBNYXIgMjAwMiwgMTI6NTU6MDEpOgpIaSwKCmljaCBzdWNoZSBlaW4gUHJvZ3JhbW0gYWxhIEF4dW0vT3JpZ2luLCBkYXNzIG1pciBBU0NJSSBGaWxlcy9UYWJlbGxlbgplaW5sZXNlbiBrYW5uIHVuZCBzaWUgZ3JhcGhpc2NoIGRhcnN0ZWxsdCwgc293aWUgc2ltcGxpZQpGaXRvcGVyYXRpb25lIG1hY2hlbiBrYW5uIC4uLgphbSBiZXN0ZW4gZnVlciBXaW5kb3cgLi4uCgpHaWJ0cyBzb3dhcz8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBXaW5kb3dzIFBSRyBhbGEgT3JpZ2luL0F4dW0gLi4uIGFiZXIgRlJFRXdhcmU/IChHcmltbWJvcm4sIDI0LiBNYXIgMjAwMiwgMTI6NTU6MjkpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDE2OTcwOTAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTY5NzA5MDEKRXhjZWwuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogV2luZG93cyBQUkcgYWxhIE9yaWdpbi9BeHVtIC4uLiBhYmVyIEZSRUV3YXJlPyAoR3J1bXBmLCAyNC4gTWFyIDIwMDIsIDEzOjIyOjA5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE2OTcwOTI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTY5NzA5MDEKRXhjZWwgaXN0IEZyZWV3YXJlPyAqc3RhdW4qCkdydW1wZiBncnVtcGZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBXaW5kb3dzIFBSRyBhbGEgT3JpZ2luL0F4dW0gLi4uIGFiZXIgRlJFRXdhcmU/IChHcmltbWJvcm4sIDI0LiBNYXIgMjAwMiwgMTQ6MjI6MDApOgp+IyEgcm49R3J1bXBmIHJ0PTEwMTY5NzI1Mjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAxNjk3MDkwMQpBbHNvLCBpY2ggamVkZW5mYWxscyBoYWJlIG5vY2gga2VpbmVuIGdldHJvZmZlbiBkZXIgZnVlciBFeGNlbCBiZXphaGx0IGhhZXR0ZS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUzogV2luZG93cyBQUkcgYWxhIE9yaWdpbi9BeHVtIC4uLiBhYmVyIEZSRUV3YXJlPyAoWm9vaywgMjQuIE1hciAyMDAyLCAxNDoyNjo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxNjk3NjEyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE2OTcwOTAxCk9oLCBpY2ggaGFiZSBlaW5lIGd1ZWx0aWdlIExpemVueiwgb2J3b2hsIGljaCBkYXMgUHJvZ3JhbW0gZmFzdCBuaWUKYmVudXR6ZS4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFM6IFdpbmRvd3MgUFJHIGFsYSBPcmlnaW4vQXh1bSAuLi4gYWJlciBGUkVFd2FyZT8gKFBpbGdyaW0sIDI0LiBNYXIgMjAwMiwgMTU6MDc6NTgpOgp+IyEgcm49Wm9vayBydD0xMDE2OTc2NDAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTY5NzA5MDEKbmFqYSwgaWNoIGhhdHRlIGVoZXIgYW4gd2FzIHdpZSBHTlVwbG90IGdlZGFjaHQgKG51ciBkYXMga2FubiBuaWNodCBmaXR0ZW4sCndlbmlnc3RlbnMgbmljaHQsIGRhcyBpY2ggd3Vlc3RlKSA7LSkKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFM6IFdpbmRvd3MgUFJHIGFsYSBPcmlnaW4vQXh1bSAuLi4gYWJlciBGUkVFd2FyZT8gKE5vbm5lLCAyNC4gTWFyIDIwMDIsIDE3OjIyOjM1KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAxNjk3ODg3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE2OTcwOTAxCjEuIEdudXBsb3QgZ2lidHMgZnVlciB3aW5kb3dzIChlaW5mYWNoIG1hbCBnb29nbGVuKS4KMi4gR251cGxvdCBrYW5uIGZpdHRlbiwgc29nYXIgc2VociBndXQgdW5kIHppZW1saWNoIGVpbmZhY2ggKGhlbHAgZml0KQoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAxMCBKYWhyZSBNRyAoV29vZHksIDI2LiBNYXIgMjAwMiwgMjI6MTY6NTkpOgp+IyEgcm49SGF0ZSBydD0xMDE3MTcxOTg2IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAxNzE1NzkwNwpDUEFOIC0+IERhdGU6Ok1hbmlwCihFcnN0IGRhY2h0ZSBpY2ggRGF0ZTo6Q2FsYywgYWJlciBkYXMga2FubiBudXIgVGFnZSkKCkRhdGVDYWxjIG1pdCAkbW9kZSBhdWYgMSBrYW5uIGRhcyBkYW5uLCBhYmVyIHNpZWhlIGF1Y2ggZGllIGNhdmVhdHMKaW4gZGVyIG1hbiBwYWdlIHp1IGRpZXNlbSBUaGVtYS4KCkJlaXNwaWVsIChiZXpvZ2VuIGF1ZnMgU0wpOgogIHVzZSBEYXRlOjpNYW5pcDsgbXkgJGVycjsKICBwcmludCBEYXRlQ2FsYygiMDQvMDMvOTYgMTc6MDAiLCAgInRvZGF5IiwgXCRlcnIsIDEpLiJcbiI7CgplcmdpYnQ6ICs1OjExOjM6Mjo1OjE1OjE5CgpEYXMgaGVpc3N0OiA1IEphaHJlLCAxMSBNb25hdGUsIDMgV29jaGVuLCAyIFRhZ2UsIDUgU3RkLiwgMTUgTWluLCAxOSBTZWsuCgpSZWljaHQgZGFzPyA7KQoKCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLREUgdW5kIFRGLUtleWJpbmRpbmdzIChNYWFyZywgMjcuIE1hciAyMDAyLCAyMjo1ODoxOSk6Ck1vaW4uCgpTZWl0IGt1cnplbSBoYWJlIGljaCAnbmUgU3VTRSA3LjMgYXVmIGRlciBQbGF0dGUgKERhbmtlIFB1aywgYmVrb21tc3QgZGllIENEcwpkZW1uYWVjaHN0IHp1cnVlY2sgO28pKSB1bmQgd29sbHRlIGF1Y2ggbWFsIGRhcyB0b2xsZSBOdW1wYWQtV2Fsa2luZwphdXNwcm9iaWVyZW4uCgpMZWlkZXIgYmVrb21tZSBpY2ggZGllc2UgZHVtbWUgS29uc29sZSB2b20gS0RFIG5pY2h0IGRhenUsIG1pciBoYWxid2VncwpicmF1Y2hiYXJlIEtleWNvZGVzIHp1IGxpZWZlcm4sIGRpZSBpY2ggYmVsZWdlbiBrb2VubnRlLgoKVmllbGxlaWNodCBiaW4gaWNoIGF1Y2ggbnVyIHp1IGRvb2YgZGF6dS4KCkFiZXIgZmFsbHMgamVtYW5kIGVpbmVuIGVudHNjaGVpZGVuZGVuIFRpcCBkYXp1IGhhdCwgd3VlcmRlIGljaCBtaWNoIHNlaHIKZGFydWViZXIgZnJldWVuLgoKR3J1c3MsCgogICAgIE1hYXJnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtERSB1bmQgVEYtS2V5YmluZGluZ3MgKE9sbGksIDI4LiBNYXIgMjAwMiwgMDE6MTQ6NTYpOgp+IyEgcm49TWFhcmcgcnQ9MTAxNzI2NjI5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDE3MjY2Mjk5CkdlbmF1IGRhcyBoYWIgaWNoIGF1Y2ggbWFsIHZlcnN1Y2h0IC0gdW5kIGhhYiBlcyBhdWZnZWdlYmVuLiBOaW1tIG5pY2h0IGRpZQprb25zb2xlLCBzb25kZXJuIG5lbiB4dGVybSwgZGFzIGlzIHNvd2llc28gdmllbCBzY2hvZW5lciA6KQoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLREUgdW5kIFRGLUtleWJpbmRpbmdzIChHcmltbWJvcm4sIDI4LiBNYXIgMjAwMiwgMDE6Mzk6NDMpOgp+IyEgcm49T2xsaSBydD0xMDE3Mjc0NDk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMTcyNjYyOTkKS2FubiBhYmVyIGtlaW5lbiB0cmFuc3BhcmVudGVuIEhpbnRlcmdydW5kLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo2MDIgKEZyZWllIE9mZmljZSBSZXBhbGNlbWVudCkgKFBpbGdyaW0sIDIwLiBBcHIgMjAwMiwgMjM6MzA6MTMpOgpIaSwKCmF1ZiBkZXIgU3VjaGUgbmFjaCBndXRlciBGcmVlV2FyZSBiaW4gaWNoIGF1Zgp3d3cuNjAyc29mdHdhcmUuY29tCmdlc3Rvc3NlbiwgZWluZW0gT2ZmaWNlIFBha2V0LCBkYXMgZnJlaSB1bnRlciBXaW45eCB2ZXJmdWVnYmFyIGlzdAogLi4uIGZ1ZXInbiBIYXVzZ2VicmF1Y2ggZ2FueiBuZXR0IC4uLiBudXIgbmVuIEZvcm1lbGVkaXRvciBmZWhsdCAobm9jaD8pLgoKRmFsbHMgamVtYW5kIHNvd2FzIGZ1ZXIgenVoYXVzZSB1bmQgendpc2NoZW5kdXJjaCBzdWNodCAuLi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm8vRXJmYWhydW5nIGdlc3VjaHQgKE1vcmdvdGgsIDMwLiBBcHIgMjAwMiwgMTI6NTE6MDUpOgpIaQoKaWNoIHdpbGwgbWlyIG5lIExlYWR0ZWsgV2luZmFzdCB6dWxlZ2VuIHVuZCB3b2xsdGUgd2lzc2VuLCBvYiBqZW1hbmQgbWl0IGRlbgpEaW5nZXJuIHNjaG9uIG1hbCBFcmZhaHJ1bmcgZ2VzYW1tZWx0IGhhdCAoVHJlaWJlciwgU2VydmljZSwgUXVhbGkuLi4pCgpBbHRlcm5hdGl2IHN1Y2ggaWNoIG5lIGd1dGUgR3JhZmlra2FydGUgYWIgR0YzIFRpNTAwLCBrZWluIE1YLU11ZWxsLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbmZvL0VyZmFocnVuZyBnZXN1Y2h0IChNb3Jnb3RoLCAzMC4gQXByIDIwMDIsIDEzOjU1OjEzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTAyMDE2Mzg2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDIwMTYzODY1Ck5hY2h0cmFnOiBLYXJ0ZSBtdXNzISBUVi1PdXQgaGFiZW4gCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbmZvL0VyZmFocnVuZyBnZXN1Y2h0IChLZXksICAxLiBNYWkgMjAwMiwgMDA6MDM6NTQpOgp+IyEgcm49TW9yZ290aCBydD0xMDIwMTY3NzEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjAxNjM4NjUKRWluIEZyZXVuZCB2b24gbWlyIGhhdCBzaWUsIHVuZCBpc3Qgdm9sbGF1ZiB6dWZyaWVkZW4uCkphIC4uLiBlciBoYXQgc2llIG5hdHVlcmxpY2ggZ2xlaWNoIGhvY2hnZWRyZWh0IDopClRyZWliZXIsIE52aWRpYS4gVm9tIEF1ZmJhdSBoZXIgZ2VmYWVsbHQgc2llIG1pciwgYWJlciBzZWhyIHNjaHdlciwgdW5kIGdyb3NzLgoKQ3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluZm9zIHp1IERvbGJ5IDUuMSBWZXJzdGFlcmtlciAoTW9yZ290aCwgMTAuIE1haSAyMDAyLCAwODo0Nzo0Nik6CkhpCgpoYXQgamVtYW5kIG5lIFVSTCBtaXQgZWluZXIgZXR3YXMgYmVzc2VyZW4gQXVzd2FobCBvLmcuIFZlcnN0YWVya2VyIGFscyBTYXR1cm4Kb2RlciBNZWRpYSBNYXJrdC4gSWNoIGJyYWV1Y2h0ZSBlaW5lIFVlYmVyc2ljaHQgdWViZXIgUXVhbGl0YWV0IHVuZCBQcmVpcywKd2VubnMgZ2VodCBuZW4gSGFlbmRsZXIgaW0gUmF1bSBETy1FLUdFLUJPCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEluZm9zIHp1IERvbGJ5IDUuMSBWZXJzdGFlcmtlciAoS2V5LCAxMC4gTWFpIDIwMDIsIDIwOjA3OjMwKToKfiMhIHJuPU1vcmdvdGggcnQ9MTAyMTAxMzI2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDIxMDEzMjY2Cmh0dHA6Ly93d3cuaG9mby1jb21wb25lbnRzLmRlIC4uLiBhbGxlcmRpbmdzIFZlcnNhbmRoYW5kZWwgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW5mb3MgenUgRG9sYnkgNS4xIFZlcnN0YWVya2VyIChLZXksIDEwLiBNYWkgMjAwMiwgMjA6MDc6NTIpOgp+IyEgcm49S2V5IHJ0PTEwMjEwNTQwNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyMTAxMzI2NgotbytpLW8raSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW5mb3MgenUgRG9sYnkgNS4xIFZlcnN0YWVya2VyIChXb29keSwgMTEuIE1haSAyMDAyLCAwMDoxNjoyOCk6Cn4jISBybj1LZXkgcnQ9MTAyMTA1NDA3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDIxMDEzMjY2CkhpZmktQ29tcG9uZW50czogQmlsbGlnLCBudXIgd2VubiBtYW4gd2lya2xpY2ggZ2VuYXUgd2Vpc3MsIHdhcyBtYW4Kd2lsbCAoPT0gd2VsY2hlcyBHZXJhZXQpLCBlbXBmZWhsZW5zd2VydCwgYWVobmxpY2ggSGlyc2NoK0lsbGUgZXRjLgpCZXNzZXI6IGd1dGVyIEZhY2hoYWVuZGxlciwgYXVjaCBndXQ6IFNlbGJzdHNjaGxhdW1hY2hlbiA6KS4gZXR3YQp2aWEgd3d3LmJlaXNhbW1lbi5kZSwgb2RlciBhYmVyIGF1Y2ggbWl0IG5lciBha3R1ZWxsZW4gYXVkaW92aXNpb24KKGRhIGdpYnRzIGdhbnogZ3JvYmUgVGFiZWxsZW4gYWxsZXIgYmlzaGVyaWdlbiBUZXN0cykuIEljaCBoZWxmCmF1Y2ggZ2VybiBhdWYgQW5mcmFnZS4uLgoKbGcsCldvb2R5Li0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZHZvY2FjeSAoR3JpbW1ib3JuLCAxNC4gTWFpIDIwMDIsIDAwOjE2OjAwKToKRWluZXIgZGVyIHNjaG9lbnN0ZW4gQmVpdHJhZWdlIHp1bSBUaGVtYSBNaWNyb3NvZnQtRlVEOgpodHRwOi8vd3d3LnRoZXJlZ2lzdGVyLmNvLnVrL2NvbnRlbnQvNC8yNTE1Ny5odG1sCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClphdXJ1cyAoVmFuaW9uLCAyMS4gSnVuIDIwMDIsIDE5OjM1OjM1KToKSGksCgpoYXQgamVtYW5kIGVpbmVuIFNoYXJwIFphdXJ1cywgb2RlciBrZW5udCBqZW1hbmQsIGRlciBlaW5lbiBoYXQsIG9kZXIga2VubnQKamVtYW5kZW4gZGVyIGVpbmVuIGtlbm50IC4uLgoKSWNoIHN1Y2hlIEVyZmFocnVuZ3NiZXJpY2h0ZSAoYXVjaCBnZXJuIHp1IGFlbHRlcmVuIE1vZGVsbGVuKS4gU3BlemllbGwKaW50ZXJlc3NpZXJ0IG1pY2ggZGllIExlaXN0dW5nc2ZhZWhpZ2tlaXQgdm9uIFJlY2huZXIgdW5kIEFrdXMsIFNwZWljaGVycGxhdHoKKHdlbmlnZXIgd2lldmllbCBhYnNvbHV0IGRhIGlzLCBhbHMgd2lldmllbCBtYW4gYnJhdWNodCwgdW0gdmVybnVlbmZ0aWcKYW53ZW5kZW4genUga29lbm5lbi4pCgpIYXVwdHNhZWNobGljaCBpbnRlcmVzc2llcmUgaWNoIG1pY2ggZnVlciBkYXMgVGVpbCwgd2VpbCBpY2ggZ2Vob2VydCBoYWJlLApkYXNzIHNpZSBlaW5lIGd1dGUgUGxhdHRmb3JtIGZ1ZXIgS2FuamktTGV4aWthIHdpZSBKaW0gQnJlZW5zIG9kZXIgZGFzCldhLURva3UtUHJvamVrdCBiaWV0ZW4uIEZhbGxzIGFsc28gamVtYW5kIGF1Y2ggZGF6dSB3YXMgc2FnZW4ga2Fubiwgd3VlcmRlIG1pcgpkYXMgd2VpdGVyIGhlbGZlbi4gOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW5kb3dzIFhQIChHcmltbWJvcm4sIDExLiBKdWwgMjAwMiwgMjM6Mzc6MDYpOgpJY2ggaGFiIGRhIHp3ZWkgRnJhZ2VuIHVlYmVyIGVpbmUgbWlyIGxldHp0bGljaCB2b2VsbGlnIGZyZW1kZSBXZWx0OgotIFdlbGNoZXMgRGF0ZWlzeXN0ZW0gdmVyd2VuZGV0IFdpbmRvd3MgWFAgKHVlYmxpY2hlcndlaXNlKT8KLSBNaXQgd2FzIGZ1ZXIgZWluZW0gdG9vbCBrYW5uIG1hbiBkZXJhcnRpZ2UgUGFydGl0aW9uZW4gdmVya2xlaW5lcm4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5kb3dzIFhQIChKb3NodWEsIDEyLiBKdWwgMjAwMiwgMDc6NDM6NTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjY0MjM0MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyNjQyMzQyNgpVZWJsaWNoZXJ3ZWlzZSBOVEZTIChuZXcgdGVjaG5vbG9neSBmaWxlIHN5c3RlbSkgLSBlaW5nZWZ1ZWhydCB3dXJkZSBkYXMgbWl0Ck5ULCBkYWhlciBkZXIgbmFtZS4gVW5kIHp1bSB2ZXJrbGVpbmVybiBvaG5lIGRlbiBJbmhhbHQgenUgbG9lc2NoZW4gYmVudXR6ZW4KZGllIG1laXN0ZW4gZGllIGljaCBrZW5uZSBQYXJ0aXRpb24gTWFnaWMuIElzdCBlaW4ga29zdGVucGZsaWNodGlnZXMgVG9vbCB3YXMKYWxsZXJkaW5ncyAod2FzIFBhcnRpdGlvbmVuIGFuZ2VodCkgc28gemllbWxpY2ggYWxsZXMga2Fubi4gWFAga2FubiBoYWx0IGF1Y2gKbm9jaCBtZWhyZXJlIFBhcnRpdGlvbmVuIGFscyB2aXJ0dWVsbCBlaW5lIHZlcndhbHRlbiBldGMuIElud2llZmVybiBkaWVzZQpHZXNjaGljaHRlbiB1bnRlcnN0dWV0enQgd2VyZGVuIHdlaXNzIGljaCBuaWNodCwgYWJlciBpY2ggZGVua2UgZGFzIGlzdCBkYXMKVG9vbCBkYXMgRHUgc3VjaHN0LgpBY2ggamEsIHp1bWluZGVzdCBpcmdlbmR3YW5uIGdhYidzIGRhIG1hbCBuZSBWZXJzaW9uIGZ1ZXIgbGF1LCBkaWUgYWxsZXJkaW5ncwpzZWhyIGxhbmdzYW0gZ2VhcmJlaXRldCBoYXQgdW5kIG5pY2h0IGFsbGUgRmVhdHVyZXMgdW50ZXJzdHVldHp0ZSAtIG9iIGRhcwpub2NoIHNvIGlzdCB3ZWlzcyBpY2ggYWxsZXJkaW5ncyBuaWNodC4KClZpZWwgRXJmb2xnIDopCkpvc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyBYUCAoSm9zaHVhLCAxMi4gSnVsIDIwMDIsIDA3OjQ1OjExKToKfiMhIHJuPUpvc2h1YSBydD0xMDI2NDUyNjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjY0MjM0MjYKSWNoIHNvbGx0ZSBtaWNoIHZpZWxsZWljaHQgZW50d2VkZXIgZ2VuZXJlbGwgZnVlciBvZGVyIGdlZ2VuCkdyb3NzLS9LbGVpbnNjaHJlaWJ1bmcgZW50c2NoZWlkZW4uIEVobSAuLi4KCkpvc2ggLSBuaWNodCBzY2hyZWliZW4ga29lbm5lbmQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpbmRvd3MgWFAgKFZhbmlvbiwgMTIuIEp1bCAyMDAyLCAwNzo0OTo0MSk6Cn4jISBybj1Kb3NodWEgcnQ9MTAyNjQ1MjcxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI2NDIzNDI2CldhcnVtIGVpbmUgZGVyIGFlbHRlc3RlbiB1bmQgYmVsaWVidGVzdGVuIHNpdHRlbiBoaWVyIGltIE11ZCBhdWZnZWJlbj8KClYqLCBncmluc3QsIGFuIHNlaW5lIGVpZ2VuZW4gQXJ0aWtlbCBkZW5rZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luZG93cyBYUCAoQW50aGVhLCAxMi4gSnVsIDIwMDIsIDA5OjEwOjU3KToKfiMhIHJuPVZhbmlvbiBydD0xMDI2NDUyOTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjY0MjM0MjYKTWFuIHNvbGx0ZSBhYmVyIGRhenVzYWdlbjogV2luWFAgYmVudXR6dCBOVEZTNS4gRGFzIGlzdCBnZW51ZWdlbmQgYW5kZXJzIGFscwpkYXMgYmVpIFdpbk5UIGJlbnV0enRlIE5URlMgdW0genUgdmVyaGluZGVybiwgZGFzcyBOVCBhdWYgc29sY2hlIFBhcnRpdGlvbmVuCnp1Z3JlaWZlbiBrYW5uLiBVbmQgZXMgYnJpbmd0IGF1Y2ggbWFuY2hlIFBhcnRpdGlvbnN0b29scyBkdXJjaGVpbmFuZGVyLgpXZW5uIG1laHJlcmUgUGFydGl0aW9uZW4gdW50ZXIgTlQgb2RlciBYUCB6dSBlaW5lciB6dXNhbW1lbmdlZmFzc3Qgc2luZCwgZGFubgp3aXJkIGRhcyBudXIgdm9tIEJTIGdlaGFuZGxldCwgZGFzIFBhcnRpdGlvbiBNYWdpYyBoYXQgZGFzICh6dW1pbmRlc3QgYWxzIGljaAplcyBkYXMgbGV0enRlIG1hbCB2ZXJzdWNodCBoYWJlKSBuaWNodCBlcmthbm50LiBEYSB3YXIgZXMgZWluZmFjaGVyLCBkYXMgZ2FuemUKYXVmIGVpbmUgbmV1ZSBQbGF0dGUgenUgdWViZXJ0cmFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaW5kb3dzIFhQIChHcmltbWJvcm4sIDEyLiBKdWwgMjAwMiwgMDk6MjE6NTkpOgp+IyEgcm49QW50aGVhIHJ0PTEwMjY0NTc4NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyNjQyMzQyNgpEaWUgU2l0dWF0aW9uIGlzdCBlaW5lIGZyZWlzY2hlIFhQIEluc3RhbGxhdGlvbiBhdWYgZWluZXIgUGFydGl0aW9uLiBOYWNoCm1laW5lciBFcmZhaHJ1bmcgbWl0IE1pbk1FLUluc3RhbGxhdGlvbiBoYWIgaWNoIGVpZ2VudGxpY2gga2VpbmUgTHVzdCB6dQpwYXJ0aXRpb25pZXJlbiB1bmQgZGFubiBuZXUgenUgaW5zdGFsbGllcmVuLiBBYmVyIGljaCBoYWIgYXVjaCBuaWNodCB2b3IgdmllbApHZWxkIGRhZnVlciBhdXN6dWdlYmVuLiBJY2ggd2VyZCBtYWwgZ3Vja2VuIHdhcyBmaXBzIG1pdHRsZXJ3ZWlsZSBrYW5uLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbmRvd3MgWFAgKE1vY2ssIDEyLiBKdWwgMjAwMiwgMTI6NDk6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMjY0NTg1MTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyNjQyMzQyNgpNb2luLAppY2ggbWFnIG1hbCB2b3IgZGVyIFZlcndlbmR1bmcgdm9uIFBhcnRpdGlvbiBNYWdpYyBiZWkgWFAgd2FybmVuLCBkYSBlcyBkaWUKYWt0dWVsbGUgVmVyc2lvbiB2b24gUE0gendlaW1hbCBnZXNjaGFmZnQgaGF0LCBkaWUgenUgdmVyYWVuZGVybmRlbgpQYXJ0aXRpb25lbiBrb21wbGV0dCB6dSBsZWVyZW4uIERhIG5laG0gaWNoIGxpZWJlciBnbGVpY2ggZGVuCkZlc3RwbGF0dGVubWFuYWdlci4uLgoKR3J1c3MsIE1vY2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwYW0gKEdyaW1tYm9ybiwgMTMuIEp1bCAyMDAyLCAxODo1ODo1NCk6CkljaCB6aXRpZXJlIGF1cyBlaW5lciBTcGFtbWFpbCwgZGllIGljaCBlYmVuIGJla29tbWVuIGhhYmU6IApUaGlzIGVtYWlsIHdhcyBzZW50IHRvIHlvdSB2aWEgU2FmLUUgTWFpbCBTeXN0ZW1zLiZuYnNwOyBZb3VyIGVtYWlsIGFkZHJlc3MKd2FzIGF1dG9tYXRpY2FsbHkgaW5zZXJ0ZWQgaW50byB0aGUgVG8gYW5kIEZyb20gYWRkcmVzc2VzIHRvIGVsaW1pbmF0ZQp1bmRlbGl2ZXJhYmxlcyB3aGljaCB3YXN0ZSBiYW5kd2lkdGggYW5kIGNhdXNlIGludGVybmV0IGNvbmdlc3Rpb24uIFlvdXIgZW1haWwKb3Igd2Vic2VydmVyIDxiPklTIE5PVCA8L2I+YmVpbmcgdXNlZCBmb3IgdGhlIHNlbmRpbmcgb2YgdGhpcyBtYWlsLgoKTWVpbmUgRnJlc3NlLCBqZXR6dCBzaW5kIGFsc28gZGllIHVuenVzdGVsbGJhcmVuIG1haWxzIGRlciBHcnVuZCBmdWVyCkJhbmRicmVpdGVudmVyc2Nod2VuZHVuZyB1bmQgSW50ZXJuZXRlbmdwYWVzc2U/IFNvdmllbCBrYW5uIGljaCBtYWwgd2llZGVyIGdhcgpuaWNodCB6dSBtaXIgbmVobWVuIHdpZSBpY2gga290emVuIG1vZWNodGUuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZCBTdHlsZSBIVE1MICZxdW90OyBub3R3ZW5kaWc/IChDdWNodWxsaW4sIDE1LiBKdWwgMjAwMiwgMjE6NDA6MDkpOgonRnJ1ZWhlcicgbXVzc3RlIG1hbiBpbiBodG1sLURva3VtZW50ZW4sIHdlbm4gbWFuIGF1ZiBkZXIgc2ljaGVyZW4gU2VpdGUKc2VpbiB3aWxsLCBkaWUgZG9wcGVsdGVuIEFuZnVlaHJ1bmdzemVpY2hlbiBtaXQgJnF1b3Q7IG1hc2tpZXJlbi4gSW53aWV3ZWl0CmdpbHQgZGFzIG5vY2g/CgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR29vZCBTdHlsZSBIVE1MICZxdW90OyBub3R3ZW5kaWc/IChTdGluZywgMTUuIEp1bCAyMDAyLCAyMTo0NDoxNSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAyNjc2MjAwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI2NzYyMDA5CklzdCBpbW1lciBub2NoIHNpbm52b2xsLCBzZWxic3QgZGllIGdhZW5naWdlbiBQcm9ncmFtbWUgbWFjaGVuIGRhcy4KClN0aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdvb2QgU3R5bGUgSFRNTCAmcXVvdDsgbm90d2VuZGlnPyAoTm9ubmUsIDE2LiBKdWwgMjAwMiwgMDc6NDA6MzMpOgp+IyEgcm49U3RpbmcgcnQ9MTAyNjc2MjI1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI2NzYyMDA5CldhaGx3ZWlzZSBrYW5uIG1hbiBhdWNoIGVpbiBjaGFyc2V0IGFuZ2ViZW4sIGRhbm4ga2FubiBtYW4gc29nYXIgVW1sYXV0ZQp2ZXJ3ZW5kZW4uIFZpZWxlIFByb2dyYW1tZSBtYWNoZW4gZGFzIGltbWVyIG5vY2ggbmljaHQgZnJlaXdpbGxpZywgZGV3ZWdlbgpzY2hyZWliZSBpY2ggbWVpbmUgU2VpdGVuIGF1Y2ggbWl0IFZpbSAoYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdvb2QgU3R5bGUgSFRNTCAmcXVvdDsgbm90d2VuZGlnPyAoV2FyZ29uLCAxNi4gSnVsIDIwMDIsIDE5OjM3OjAxKToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDI2NzYyMDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjY3NjIwMDkKS29tbXQgd2FocnNjaGVpbmxpY2ggZHJhdWYgYW4sIHdvIGRpZSBRdW90ZXMgdmVyd2VuZGV0IHdlcmRlbi4KCkltIFRleHRrb2VycGVyIHNvbGx0ZSAiIGtlaW5lIFByb2JsZW1lIG1hY2hlbi4gQW5kZXJzIHNpZWh0IGVzIGJlaSBBdHRyaWJ1dGVuCmF1czogZGVyIERhdGVudGVpbCBzb2xsdGUgaW1tZXIgaW4gIiIgc3RlaGVuICh3ZW5uIER1IFhNTCBvZGVyIFhIVE1MCnZlcndlbmRlc3QsIE1VU1MgZXIgaW1tZXIgaW4gIiIgc3RlaGVuKS4gV2VubiBpbm5lcmhhbGIgZGVzIERhdGVudGVpbHMKQW5mdWVocnVuZ3NzdHJpY2hlIHZvcmtvbW1lbiBzb2xsZW4sIG11c3MgbWFuIGRhaGVyICZxdW90OyB2ZXJ3ZW5kZW4uCiAgV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpRRFNMIChNb3Jnb3RoLCAzMS4gSnVsIDIwMDIsIDA4OjQwOjQwKToKTW9pbiwKCmljaCBoYWIgbWlyIG5lbiBEU0wtQW5nZWJvdCByYXVzZ2VzdWNodCwgZGFzIGljaCBmdWVyIHJlY2h0IEF0dHJha3RpdiBoYWx0ZS4KRXMgaXN0IHZvbiBRRFNMIChzdGFuZGxlaXR1bmdlbi5kZSkuIDFNQml0LzI1NmtCaXQgTGVpdHVuZywga2VpbiBMaW1pdCBmdWVyCjU5RS4KSGF0IGplbWFuZCBFcmZhaHJ1bmcgbWl0IFFEU0wsIHdpZSBpc3QgZGVyIFNlcnZpY2UsIEF1c2ZhbGx6ZWl0ZW4gdXN3LiA/Pz8KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUURTTCAoVHJveSwgMzEuIEp1bCAyMDAyLCAwOTozNDozNSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMjgwOTc2NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyODA5NzY0MAphKSBFcmZhaHJ1bmdlbiBtaXQgUURTTDoga2VpbmUKYikgaGFzdCBEdSBEaXIgbWFsIHVlYmVybGVndCwgZ2dmLiBlaW5lbiBzRFNMIChzeW5jaHJvbm91cyBEU0wpLUFuYmlldGVyCiAgIHp1IHN1Y2hlbj8gREllIHNpbmQgamV0enQgZWggaW0gS29tbWVuLgoKS2VpbmUgRXJmYWhydW5nZW4gbWl0IFFEU0wgd2VpbDogaGllciBpbiBIYW1idXJnIERTTCA9PSBIYW5zZW5ldCAoMk1CLzE5MkspLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBRRFNMIChBcm1pdGFnZSwgMzEuIEp1bCAyMDAyLCAxNjoxNDoyOSk6Cn4jISBybj1Ucm95IHJ0PTEwMjgxMDA4NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyODA5NzY0MApIb2khCgpIYWJlIHNlbGJzdCBiZXNhZ3RlbiAoSG9tZSlBbnNjaGx1c3Mgdm9uIFFTQyB1bmQgYmluIGVpZ2VudGxpY2ggcmVjaHQKenVmcmllZGVuIGRhbWl0LiBadW0gU2VydmljZSB1bmQgQXVzZmFsbHplaXRlbiBrYW5uIGljaCBuaWNodCBzbyB2aWVsCnNhZ2VuLiBJbiBkZW4gMyBNb25hdGVuIGdhYnMgbWFsIGVpbmVuIEF1c2ZhbGwgZnVlciAnbmVuIDMvNCBUYWcuClBpbmd6ZWl0ZW4gdW5kIGRhcyB0aGVvcmV0aXNjaGUgRmVobGVuIGVpbmVyIFp3YW5nc3RyZW5udW5nIHNpbmQgYWJlcgphdWNoIG9rIGJ6dy4gYmVzc2VyIGFscyBiZWkgUGlua1QuIEF1ZiBkZW4gQW5zY2hsdXNzIHNlbGJzdCB3YXJ0ZXN0IER1LAp3aWUgYXVjaCB2b24gUVNDIGFuZ2VnZWdlbiwgdW0gZGllIDQgV29jaGVuLgoKenUgVHJveToKUVNDIHNldHp0IGJpc2hlciBzRFNMLVRlY2huaWsgYXVjaCBmdWVyIGRpZSBQcml2YWtrdW5kZW5wcm9kdWt0ZSBlaW4uCkxldHp0ZXJlIHdlcmRlbiBudXIga3VlbnN0bGljaCBnZWRyb3NzZWx0LCBzb2Rhc3MgZGVyIERhdGVuZHVyY2hzYXR6CmVoZXIgQURTTCBlbnRzcHJpY2h0LiBXZW5uIG1hbiB3aWxsLCBrYW5uIG1hbiBiZWkgZGVuZW4gbmF0dWVybGljaCBhdWNoCidyaWNodGlnZXMnIHNEU0wgYmVrb21tZW4uIER1bW1lcndlaXNlIGlzdCAobWlyKSBkZXIgS29zdGVuc3BydW5nLCB2b3IKYWxsZW0gZHVyY2ggZGllIGRhbm4gZmVobGVuZGUgYnp3LiBudXIgdGVpbHdlaXNlIHZvcmhhbmRlbmUgRmxhdHJhdGUKZWluZmFjaCB6dSBob2NoLgoKRGEgaWNoIGJlaSBIYW5zZW5ldCBub2NoIHdlbmlnZXIgVXBsb2FkIGhhZXR0ZSwgd2FlcmUgZGllc2VyIEFuYmlldGVyCmtlaW5lIEFsdGVybmF0aXZlIGZ1ZXIgbWljaC4gLCkKCkFybWl0YWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBRRFNMIChUcm95LCAzMS4gSnVsIDIwMDIsIDE3OjA1OjU1KToKfiMhIHJuPUFybWl0YWdlIHJ0PTEwMjgxMjQ4Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyODA5NzY0MApIYW5zZW5ldCBzRFNMICh3byB2b3JoYW5kZW4pIDEwTUIgdXAgdW5kIGRvd24uIERpZSBiYXVlbiBibG9zcyBub2NoLgoKQXVzc2FnZTogV2VubiBmZXJ0aWcsIGJsZWlidCBkZXIgUHJlaXMgZXJoYWx0ZW4gKEVVUiA2MC9Nb25hdCkuCgpUcm95CihpY2ggd2FydGUgZHJhdWYpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBRRFNMIChNdWFkZGliLCAzMS4gSnVsIDIwMDIsIDE3OjA2OjMxKToKfiMhIHJuPVRyb3kgcnQ9MTAyODEyNzk1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI4MDk3NjQwCkljaCB3aWxsIG5hY2ggSGFtYnVyZy4KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUURTTCAoVmFyZGlvbiwgMzEuIEp1bCAyMDAyLCAxNzowNjo0OSk6Cn4jISBybj1Ucm95IHJ0PTEwMjgxMjc5NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyODA5NzY0MApXb3cuIERhIGdpYnRzIGphIGVuZGxpY2ggbWFsIFp1Z2FlbmdlLCBkaWUgZGFzIFdvcnQgIkJyZWl0YmFuZCIgKG1pdCBkZW0gVCBzbwpnZXJuIHVtIHNpY2ggd2lyZnQpIGF1Y2ggd2lya2xpY2ggdmVyZGllbmVuIDopCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBRRFNMIChHcmltbWJvcm4sIDMxLiBKdWwgMjAwMiwgMTc6MTA6MzApOgp+IyEgcm49VmFyZGlvbiBydD0xMDI4MTI4MDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjgwOTc2NDAKSmVwcCwgZGFubiBob2x0IERldXRzY2hsYW5kIGVuZGxpY2ggenUgZGVtIFN0YW5kIGF1ZiwgYXVmIGRlbSBTY2h3ZWRlbiBzZWl0CkVuZGUgZGVyIDkwZXIgc2Nob24gbGFlbmdzdCBpc3QuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2luZG93cyBYUCAoVHJ1ZywgMzEuIEp1bCAyMDAyLCAyMTo1OTo1MSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAyNjQ1Nzg1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI2NDIzNDI2CldpbmRvd3MgTlQgNC4wIGthbm4gYWIgU2VydmljZSBQYWNrIDQgTlRGUzUgbGVzZW4vc2NocmVpYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUURTTCAoTXVwZmVsLCAzMS4gSnVsIDIwMDIsIDIyOjM3OjM0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI4MTI4MjMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjgwOTc2NDAKT2RlciBkaWUgU2Nod2VpegoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbmRvd3MgWFAgKEFudGhlYSwgIDEuIEF1ZyAyMDAyLCAwOTo1Njo1Nik6Cn4jISBybj1UcnVnIHJ0PTEwMjgxNDU1OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyNjQyMzQyNgpTY2hvbi4gQWJlciBuaWNodCBhdWYgZGVyIFN5c3RlbS1QYXJ0aXRpb24gKHVuZCBYUCB3YW5kZWx0IGdlcm5lIGFsbGUKdm9yaGFuZGVuZW4gUGFydGl0aW9uZW4gaW4gTlRGUzUgdW0pLiBVbmQgd2VubiBtYWwgZWluIFByb2JsZW0gYXVmdHJpdHQgKHouQi4KbWFuIGJyYXVjaHQgZG9jaCBkaWUgIlJldHR1bmdzZGlza2V0dGUiIHVuZCBlaW5lIFN5c3RlbXdpZWRlcmhlcnN0ZWxsdW5nLAp3YXJ1bSBhdWNoIGltbWVyKSwgZGFubiBoYXQgbWFuIGVpbiBQcm9ibGVtLCBiaXMgbWFuIGRlbiBTZXJ2aWNlcGFjayB3aWVkZXIKYXVmZ2VzcGllbHQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUURTTCAoSm9zaHVhLCAgMS4gQXVnIDIwMDIsIDE0OjEwOjAxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI4MTI4MjMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjgwOTc2NDAKSWNoIHVlYmVybGVnZSBqYSBnZXJhZGUgbmFjaCBEIHp1cnVlY2t6dWtlaHJlbi4gRGFzIEF1ZmdlYmVuIG1laW5lciAxME1CaXQKVkRTTCBWZXJiaW5kdW5nICg4MCBFdXJvL01vbmF0IG9obmUgQmVzY2hyYWVua3VuZ2VuKSBpc3QgZGFiZWkgZWluCnNjaG1lcnpoYWZ0ZXIgRmFrdG9yLiBJY2ggZXJ6YWVobGUgRXVjaCBqZXR6dCBuaXggenUgZGVyIEdQUlMtRmxhdHJhdGUgZGllIGRpZQpGaW5uZW4gaGllciBoYWJlbiAuLi4gCgpKb3NodWEsIHNldWZ6ZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUURTTCAoUGF0cnluLCAgMS4gQXVnIDIwMDIsIDE0OjUxOjQ1KToKfiMhIHJuPUpvc2h1YSBydD0xMDI4MjAzODAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjgwOTc2NDAKaWNoIHdlaXNzIGdhciBuaWNodCB3YXMgaWhyIGhhYnQsIGljaCBiaW4gdm9uIGVpbmVyIDEwMCBNQml0LWxlaXR1bmcKYWJnZXN0dWVyenQgYXVmIGVpbmUgZ3JhZCBuZXUgZXJ3b3JiZW5lIElTRE4tdmVyYmluZHVuZyA7KQphbHNvIGxhaG0gaXN0IGdhciBrZWluIGF1c2RydWNrLi4udW5kIGRpZSBmZWhsZW5kZSBmbGF0cmF0ZSBlcnN0CgotLSAKcGF0cnluLCB3aWVkZXIgaGFsYiBpbSBnZXNjaGFlZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpbmRvd3MgWFAgKFRydWcsICAzLiBBdWcgMjAwMiwgMTM6MzI6MDgpOgp+IyEgcm49QW50aGVhIHJ0PTEwMjgxODg2MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyNjQyMzQyNgpFcyBnaWJ0IHZvbiBXaW5kb3dzIE5UIDQuMCB2b24gTWljcm9zb2Z0IHZlcnNjaGllZGVuZSBJbnN0YWxsYXRpb25zLUNEcywgZGllCmVudHdlZGVyIE5UIDQuMCBwdXIgaGFiZW4gKHdhcmVuIGRpZSBlcnN0ZW4pLCB1bmQgZWluaWdlIGFuZGVyZSBkaWUgU1AgMSwgMywgNApvZGVyIDUgYmVyZWl0cyBpbnRlZ3JpZXJ0IGhhYmVuLiBBdXMgZGVtIEdydW5kIG1laW50ZSBpY2gsIGRhc3MgZGFzIGZ1ZXIgTlQKNC4wIGtlaW4gUHJvYmxlbSBkYXJzdGVsbGVuIHNvbGx0ZSwgZGFzIHp1IGJlYXJiZWl0ZW4genUga29lbm5lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBYnN0dWVyemUgKEZvb2JhciwgMTkuIEF1ZyAyMDAyLCAxNjo0Mzo0Nik6CiBMaWViZSBHZW1laW5kZSwKCiBzZWl0IGVpbmlnZXIgWmVpdCBiZW51dHplIGljaCBlaW5lIFN1U0UgNy4zIGF1ZiBtZWluZW0gUmVjaG5lciwgd2VsY2hlIGVpbgogZmVub21lbmFsZXMgQWJzdHVyenZlcmhhbHRlbiBhbiBkZW4gVGFnIGxlZ3QuCgogVW5kIHp3YXIgdmVyYWJzY2hpZWRldCBzaWNoIGRhcyBrb21wbGV0dGUgU3lzdGVtLiBTaWduYWxpc2llcnQgd2lyZCBtaXIgZGFzCiBkdXJjaCBkYXMgc3luY2hyb25lLCByaHl0aG1pc2NoZSBCbGlua2VuIGRlciBDYXBzL0xvY2sgdW5kIFNjcm9sbC9Mb2NrIExFRHMuCgogRGVyIEZlaGxlciBpc3QgbmljaHQgcmVwcm9kdXppZXJiYXIgdW5kIGluIGRlbiBlaW5zY2hsYWVnaWdlbiBMb2dmaWxlcyBpc3QKIGF1Y2ggbml4IHp1IGVudGRlY2tlbiwgZGllIEhhZXVmaWdrZWl0IGRlcyBBdWZ0cmV0ZW5zIGxpZWd0IGJlaSBldHdhIGVpbm1hbAogaW4gendlaSBXb2NoZW4uCgogSGF0IHNvd2FzIHNjaG9uIG1hbCBqZW1hbmQgYmVvYmFjaHRldCBiencuIHdlaXNzLCB3b3JhbiBkYXMgbGllZ3Q/CgogR3J1c3MsCgogICAgRm9vYmFyCgogUFM6IERpZSBEaXN0cmlidXRpb24gaGF0IG1pciB6d2FyIFB1ayBnZWxpZWhlbiwgYWJlciBpY2ggc2NobGllc3NlIG1hbCBhdXMsCiBkYXNzIGVzIGRhcmFuIGxpZWd0IDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3R1ZXJ6ZSAoTGlhZmFyLCAyMC4gQXVnIDIwMDIsIDA5OjE5OjUxKToKfiMhIHJuPUZvb2JhciBydD0xMDI5NzY4MjI2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjk3NjgyMjYKRGFzIHJoeXRobWlzY2hlIEJsaW5rZW4gKyBBYnN0dXJ6IGtlbm4gaWNoIG51ciB2b24gbWVpbmVyIGxldHp0ZW4gU3VTRQpJbnN0YWxsYXRpb24uLi4ga2FubiBzZWluIGRhc3MgZXMgYXVjaCA3LjMgd2FyLi4uIEJlaSBtaXIgdHJhdCBlcwpyZXByb2R1emllcmJhciBpbW1lciBkYW5uIGF1ZiB3ZW5uIGRpZSBTb3VuZGthcnRlIGV0d2FzIGZlcnRpZ2dlc3BpZWx0CmhhdHRlLi4uIE1pdHRsZXJ3ZWlsZSBoYWIgaWNoIGVpbmUgYW5kZXJlIERpc3RyaWJ1dGlvbiBsYXVmZW4gdW5kIGRhIHRyZXRlbgprZWluZSBQcm9ibGVtZSBkaXNiZXp1ZWdsaWNoIGF1Zi4KCkxpYWZhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2hvcnRjdXRzIGJlaSBXaW5kb3dzIChHdWlsZG8sIDIwLiBBdWcgMjAwMiwgMTQ6MDQ6NDcpOgpJY2ggaGFiZSB1bnRlciBXaW5kb3dzIDIwMDAgZWluIFZlcnplaWNobmlzIG1pdCBlaW5pZ2VuIFNob3J0Y3V0cy4KSmV0enQgd3VlcmRlIGljaCBnZXJuZSBlaW4gRE9TLzROVC1TaGVsbC1Ta3JpcHQgc2NocmVpYmVuLCB3ZWxjaGVzCmZ1ZXIgamVkZW4gU2hvcnRjdXQgZGFzICJ0YXJnZXQiIGVybWl0dGVsdCB1bmQgaW4gZWluIGFuZGVyZXMKVmVyemVpY2huaXMga29waWVydC4gR2VodCBkYXM/IFVuZCB3ZW5uIGphLCB3aWUga3JpZWd0IG1hbiBhdXMgZGVtClNob3J0Y3V0IGRlbiBQZmFkIGRlcyBUYXJnZXRzIHJhdXM/CgpHcnVzcywKR3VpbGRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2hvcnRjdXRzIGJlaSBXaW5kb3dzIChSaWt1cywgMjAuIEF1ZyAyMDAyLCAxNDoyNToxOCk6Cn4jISBybj1HdWlsZG8gcnQ9MTAyOTg0NTA4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI5ODQ1MDg3CmljaCBnbGF1YmUsIGRpZXNlIHNob3J0Y3V0cyBzaW5kIGtsZWluZSB0ZXh0ZmlsZXMsIGluIGRlbmVuIGRlciBsaW5rCmRyaW5zdGVodC4KCmtlaW5lIGdhcmFudGllLCByaWt1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTaG9ydGN1dHMgYmVpIFdpbmRvd3MgKEphbWVzb24sIDIwLiBBdWcgMjAwMiwgMTk6NDM6MTQpOgp+IyEgcm49UmlrdXMgcnQ9MTAyOTg0NjMxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDI5ODQ1MDg3ClRleHRmaWxlcyBzaW5kIHNpZSBuaWNodCBnZXJhZGUsIGFiZXIgZGFzIFRhcmdldCBzdGVodCBxdWFzaSBpbSBLbGFydGV4dCBkcmluCnVuZCBrYW5uIHNwYWV0ZXN0ZW5zIG5hY2ggZWluZW0gVW13ZWcgdWViZXIgZWluZSBET1MtVmVyc2lvbiB2b24gInN0cmluZ3MiCmV4dHJhaGllcnQgd2VyZGVuLiAoSWNoIGhhYiBrZWluZSBFcmZhaHJ1bmcgbWl0IGRlbiA0TlQtU3RyaW5nZnVua3Rpb25lbiBiZWkKQVNDSUktV2VydGVuIDwzMiAvID4xMjcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFic3R1ZXJ6ZSAoS29iYXlhc2hpLCAyMS4gQXVnIDIwMDIsIDE4OjM1OjU5KToKfiMhIHJuPUxpYWZhciBydD0xMDI5ODI3OTkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjk3NjgyMjYKRGFzIGJsaW5rZW4gaXN0IGRpZSBBbnplaWdlIGRlcyBLZXJuZWwgZnVlciBlaW5lbiBLZXJuZWxwYW5pYy4gRHUgc29sbHRlc3QgZGlyCm1hbCBkaWUgcGFuaWMtYXVzZ2FiZSBkZW4gS2VybmVscyBhbnNlaGVuLCB3YXJ1bSBkYXMgcGFzc2llcnQgaXN0LiBJY2ggaGF0dGUKdm9yIGt1cnplbSBlaW4gYWVubGljaGVzIFByb2JsZW0uIEVzIHplaWd0ZSBzaWNoIHNjaGxpZXNzbGljaCwgZGFzIGVzIGVpbgpkZWZla3RlciAgU3BlaWNoZXJyaWVnZWwgd2FyLiBHZ2YuIHNvbGx0ZXN0IGR1IGRpciBtYWwgYmVpCmh0dHA6Ly93d3cubWVtdGVzdDg2LmNvbS8gZGVuIFNHSSBNZW1vcnl0ZXN0ZXIgcnVudGVybGFkZW4gdW5kIGRlaW5lbiBTcGVpY2hlcgpkdXJjaHRlc3Rlbi4gClVlYnJpZ2VucyBoYXQgbWVpbmVtIFdpbmRvd3MgZGVyIGRlZmVrdGUgU3BlaWNoZXIgZ2FybmljaHQgYXVzZ2VtYWNodCB1bmQgZGVyCjIuMmVyIEtlcm5lbCwgZGVuIGljaCB2b3JoZXIgaGF0dGUsIHdhciBhdWNoIG5pY2h0IGdhbnogc28gZW1wZmluZGxpY2ggd2llIGRlcgoyLjRlci4KCktvYmF5YXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWJzdHVlcnplIChXYXJnb24sIDIxLiBBdWcgMjAwMiwgMTk6MDM6MjMpOgp+IyEgcm49S29iYXlhc2hpIHJ0PTEwMjk5NDc3NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyOTc2ODIyNgpCZWkgU3VTRSB3aXJkIHp1bWluZGVzdCBhYiA3LjEgc2Nob24gc3RhbmRhcmRtYWVzc2lnIG1lbXRlc3Q4NiBtaXQgaW5zdGFsbGllcnQKKHdlbm4gbWFuIGVzIGJlbnV0enQsIGthbm4gbWFuIGVzIGRhbm4gYXVzIGRlbSBCb290bWVudWUgc3RhcnRlbikuCgpGYWxscyBlcyB3aXJrbGljaCBhbSBTcGVpY2hlciBsaWVnZW4gc29sbHRlLCB1bmQgRHUgRGlyIG1hbCBzZWxic3QgbmVuIEtlcm5lbApiYXVlbiB3aWxsc3Q6IHVudGVyIGh0dHA6Ly9iYWRtZW0uc291cmNlZm9yZ2UubmV0IGdpYnQgZXMgZWluZW4gUGF0Y2gsIG1pdCBkZW0KZGVyIEtlcm5lbCBiZWltIEJvb3RlbiBkZWZla3RlIFNwZWljaGVyYmVyZWljaGUgYXVzYmxlbmRldC4gTGFldWZ0IHp1bWluZGVzdApiZWkgbWlyIG9obmUgUHJvYmxlbWUuCgogIE1mRywKICAgIFdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQWJzdHVlcnplIChNYW5kcmFnb24sIDIxLiBBdWcgMjAwMiwgMTk6MDU6MzMpOgp+IyEgcm49V2FyZ29uIHJ0PTEwMjk5NDk0MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyOTc2ODIyNgpBbHNvIGJlaSBtaXIgaGF0IHN1c2U3LjEgYmVpbSBib290ZW4gZ2VyYXNodCwgd2VpbCAzMk1CIHJhbSBmdWVyIGtlcm5lbCAyLjQKenV3ZW5pZyB3YXJlbiAuLi4gbWl0IDIuMiBnaW5ncyBhYmVyIGd1dCAuLi4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWJzdHVlcnplIChXYXJnb24sIDIxLiBBdWcgMjAwMiwgMTk6MTc6MzEpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMjk5NDk1MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAyOTc2ODIyNgpBbHNvIERJRVNFUyBQcm9ibGVtIGJlaGVidCBkYW5uIGF1Y2ggZGVyIGJhZG1lbS1QYXRjaCBuaWNodC4gOikKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFic3R1ZXJ6ZSAoR3JpbW1ib3JuLCAyMS4gQXVnIDIwMDIsIDE5OjQyOjU1KToKfiMhIHJuPVdhcmdvbiBydD0xMDI5OTUwMjUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMjk3NjgyMjYKU28gd2VpdCBzaW5kIHdpciBub2NoIGxhbmdlIG5pY2h0LCBkYXNzIGRlciBrZXJuZWwgMzIgTUIgYnJhdWNoZW4gd3VlcmRlLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9kZW1zdHJpbmdzLi4uIChDcml0dGVyLCAyMi4gQXVnIDIwMDIsIDEzOjE2OjI1KToKaWNoIHN1Y2hlIGRyaW5nZW5kc3QgbmUgbGlzdGUgbWl0IG1vZGVtaW5pdGlhbGlzaWVydW5nc3N0cmluZ3MgdW5kIHNvbnN0aWdlbgphbmRlcmVuIHN0cmluZ3MgZnVlciBtb2RlbXMKd2VyIHNvd2FzIGhhdCwgYml0dGUgbWFsIGFuIGZsb3JpYW4ubmlwcGVydEBidXcuZGUgbWFpbGVuIG9kZXIgaGllciBuZW4gbGluawpwb3N0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9kZW1zdHJpbmdzLi4uIChHcmltbWJvcm4sIDIyLiBBdWcgMjAwMiwgMTM6MzM6MjYpOgp+IyEgcm49Q3JpdHRlciBydD0xMDMwMDE0OTg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzAwMTQ5ODUKQXVmIGRpZSBTY2huZWxsZSBiZWkgZ29vZ2xlIGdlZnVuZGVuICh3ZWlzcyBuaWNodCB3aWUgdm9sbHN0YWVuZGlnIGRpZSBMaXN0ZQppc3QpOgpodHRwOi8vd3d3LmNsaXB4Lm5ldC9uZy9oYXJkd2FyZS9uZzNjMjAxLnBocAoKRGVyIEJlZmVobHNzYXR6IGhlaXNzdCB1ZWJyaWdlbnMgSGF5ZXMtQmVmZWhsc3NhdHouIFdlbm4gRGlyIGRpZSBMaXN0ZSBvYmVuCm5pY2h0IHJlaWNodCBoaWxmdCBEaXIgZ29vZ2xlIHNpY2hlciB3ZWl0ZXIsIGluZGVtIER1IG5hY2ggZWluZXIgQXVzd2FobApkaWVzZXIgQmVmZWhsZSBzdWNoc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRTTC1GbGF0cyAoUmluZ29yLCAyMi4gQXVnIDIwMDIsIDE3OjM1OjU2KToKSGlobywKCmRhIFQtT25saW5lIGFuZ2VibGljaCBkaWUgR2VidWVocmVuIGZ1ZXIgZGllIERTTC1GbGF0IG9yZGVudGxpY2ggYW5oZWJlbiB3aWxsCihzaWVoZSBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9ob2ItMjIuMDguMDItMDAwLyksIG1vZWNodGUgaWNoIG1hbAp3aWVkZXIgZGllIHZlcnNjaGllZGVuZW4gQW5nZWJvdGUgdmVyZ2xlaWNoZW4uCgpLYW5uIG1pciBqZW1hbmQgdm9uIGV1Y2ggZXR3YXMgenUgRXJmYWhydW5nZW4gbWl0IEFyY29yLURTTCB1bmQvb2RlciBRU0MKZXJ6YWVobGVuPyBXaWUgc2luZCBkZXJlbiBMZWl0dW5nZW4/IEdpYnQgZXMgdmllbGxlaWNodCBub2NoIGFuZGVyZQp1ZWJlcnJlZ2lvbmFsZSBEU0wtQW5iaWV0ZXI/CgoKUmluZ29yLiBCYWxkIHZpZWxsZWljaHQgRXgtVGVsZWtvbWt1bmRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERTTC1GbGF0cyAoTXVhZGRpYiwgMjIuIEF1ZyAyMDAyLCAxNzo1NjoyOCk6Cn4jISBybj1SaW5nb3IgcnQ9MTAzMDAzMDU1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMwMDMwNTU2CkFyY29yIERTTCBpc3QgY29vbCwgaGF0IGt1cnplIFBpbmd6ZWl0ZW4gKEZhc3R0cmFjaykgdW5kIGlzdCB1bmxpbWl0ZWQuIFNlaXQKa3VyemVtIGdpYnRzIGRhcyBhdWNoIG1pdCAxNTAwayBkb3duIHVuZCAyNTZrIHVwLiBFaW56aWdlcyBNYW5rbzogTWFuIG11c3MKR2VkdWxkIGhhYmVuLiBWaWVsIEdlZHVsZC4KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEU0wtRmxhdHMgKFNvbG15ciwgMjIuIEF1ZyAyMDAyLCAxODoxMTo1NSk6Cn4jISBybj1NdWFkZGliIHJ0PTEwMzAwMzE3ODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMDAzMDU1NgpBdmUsCgphbHNvIGdlbmVyZWxsIHdpcmQgZGllIG1vbWVudGFuZSBGbGF0IG9obmUgVm9sdW1lbmJlZ3Jlbnp1bmcgdW0gNSBFdXJvCmVyaG9laHQsIHdhcyBpY2ggbm9jaCBlcnRyYWVnbGljaCBmaW5kZS4gRnVlciBMZXV0ZSwgZGllIHdlbmlnZXIgR2lncwppbSBNb25hdCBicmF1Y2hlbiwgZ2lidHMgZGFubiBoYWx0IGRpZSBwYXNzZW5kZW4gVGFyaWZlLgoKTWlyIGdlZmFlbGx0IGRpZSBQcmVpc2VyaG9laHVuZyB6d2FyIGF1Y2ggbmljaHQsIGFiZXIgd2VnZW4gZGVuIDUgRXVybwphdWYgMSYxIGJlaXNwaWVsc3dlaXNlIHVtenVzdGVpZ2VuLCB3YWVyZSBtaXIgZGFubiBkb2NoIGV0d2FzIHp1IHRldWVyLgpEaWUgdmVyYW5zY2hsYWdlbiBiZWlzcGllbHN3ZWlzZSAxNTkgRXVybyBudXIgZnVlciBkaWUgZWlubWFsaWdlCkVpbnJpY2h0dW5nLCBhdWNoIHdlbm4gZGVyIERhdGVuZHVyY2hzYXR6IGRhbm4gaG9laGVyIGlzdCBhbHMgYmVpIFREU0wuCgpIaWVyIGZpbmRlbiBzaWNoIGVpbiBwYWFyIE1laW51bmdlbiB6dSBkZW0gVGhlbWE6CiBodHRwOi8vZGFvYy5zaGVsbHMyNC5kZS90aHJlYWQucGhwP3RocmVhZGlkPTkyMjYmc2lkPQoKRmFyZSB3ZWxsLApTb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRFNMLUZsYXRzIChUaHVmaGlyLCAyMi4gQXVnIDIwMDIsIDE5OjIzOjA5KToKfiMhIHJuPVJpbmdvciBydD0xMDMwMDMwNTU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzAwMzA1NTYKa29tbSBhbSBmci4genVtIGJvY2h1bS1zdGF0aSwgZGFubiBlcnphZWhsIGljaCBkaXIgYXVzIGVyc3RlciBoYW5kIHdhcyB6dXIKYXJjb3ItZHNsLWZsYXQuLi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRFNMLUZsYXRzIChEZW50aSwgMjMuIEF1ZyAyMDAyLCAxMzo0MjowNCk6Cn4jISBybj1UaHVmaGlyIHJ0PTEwMzAwMzY5ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMDAzMDU1NgoKSWNoIGhhYiBqZXR6dCBzZWl0IGVpbmVtIGhhbGJlbiBKYWhyIEFyY29yIERTTC4gRGllIExlaXN0dW5nIGlzdCBiZXNzZXIKYWxzIGJlaSBULURTTCwgdm9yIGFsbGVtIHdlaWwgZGllIFBpbmctWmVpdGVuIGhhbGJ3ZWdzIGFubmVobWJhciBzaW5kLgoKRGFzIFByb2JsZW0gd2FyIGRpZSBXYXJ0ZXJlaSBhdWYgZGVuIEFuc2NobHVzcywgaGF0IGJlaSBtaXIgZWluIGhhbGJlcwpKYWhyIGdlZGF1ZXJ0LiBBbmdlYmxpY2ggZ2FiIGVzIGtlaW5lIGZyZWllbiBTdGVja2VycGFhcmUgaW4gZGVyClZlcm1pdHRsdW5nc3N0ZWxsZSBkZXIgVGVsZWtvbS4KCkljaCBoYXR0ZSB3YWVocmVuZCBkZXIgV2FydGV6ZWl0IGVpbiB2ZXJnbGVpY2hiYXJlcyBQYWtldCBkZXIgVGVsZWtvbSwKYWxzbyBEU0wgcGx1cyBJU0ROIChoYWIgZGFzIE1vZGVtIHVuZCBkZW4gU3BsaXR0ZXIgbm9jaCBpcmdlbmR3byBydW0tCmxpZWdlbikuIERpZSBLb3N0ZW4gYmVpIEFyY29yIHNpbmQgY2EuIDUgRVVSIGltIE1vbmF0IGdlcmluZ2VyLgpXZW5uIGljaCBqZXR6dCBub2NobWFsIDEwIEVVUiBkcmF1ZmxlZ2UgaGFiIGljaCBkYXMgZ2FuemUgbWl0IApXZW5uIGljaCBqZXR6dCBub2NobWFsIDEwIEVVUiBkcmF1ZmxlZ2UgaGFiIGljaCBkYXMgZ2FuemUgbWl0IAoxNTAwLzI1NiwgYWxzbyBzY2hvbiByZWNodCBmbG90dC4KClJlY2hudW5nc3Byb2JsZW1lIGhhdHRlIGljaCBiaXNoZXIgbnVyIG1pdCBUZWxla29tICh1bmQgZGFzIG1hc3NpZykgYWJlcgpuaWNodCBtaXQgQXJjb3IsIGthbm4gYWxzbyBkaWUgc2NobGVjaHRlbiBFcmZhaHJ1bmdlbiBiaXNoZXIgbmljaHQKYmVzdGFldGlnZW4gZGllIHZpZWxlIGFuZGVyZSBnZW1hY2h0IGhhYmVuLgoKQWNoIGphLCB3YWVocmVuZCBlaW5lcyBEU0wtQXVzZmFsbHMgZnVlciBlaW5lbiBOYWNobWl0dGFnIGtvbm50ZSBpY2gKZWluZW4gSVNETi1JbnRlcm5ldHp1Z2FuZyBtaXQgS2FuYWxidWVuZGVsdW5nIHp1IGRlbiBEU0wtS29uZGl0aW9uZW4KbnV0emVuLCBhbHNvIG9obmUgZXh0cmEta29zdGVuLgoKRGVudGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhdGVuYmFlbmtjaGVuIChHcmltbWJvcm4sICA4LiBTZXAgMjAwMiwgMjI6MDg6MzkpOgpJY2ggd3VlcmRlIGdlcm5lIG1laW5lbiBXZWlua2VsbGVyIGVpbiBiaXNjaGVuIG1pdCBEYXRlbmJhbmsgdmVyd2FsdGVuLCBkYW1pdAppY2ggZGllIFVlYmVyc2ljaHQgd2llZGVyZ2V3aW5uZSB3ZWxjaGUgRmxhc2NoZW4gaW4gd2VsY2hlbiBLaXN0ZW4gc2luZCB1bmQKc28uIFZvcmhhbmRlbiB3YWVyZSBlaW4gbXlzcWwuIEdpYnRzIGRhIGVpbiBrbGVpbmVzIEZyb250ZW5kLCBlaW5lIEFubGVpdHVuZwpmdWVyIGdlbmF1IGRhcz8gT2huZSBkYXNzIGljaCBnZXp3dW5nZW4gd2FlcmUgU1FMIHVuZCB6d2VpLCBkcmVpClNjcmlwdHNwcmFjaGVuIHp1IGxlcm5lbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhdGVuYmFlbmtjaGVuIChSb25kYSwgIDguIFNlcCAyMDAyLCAyMjoxMDo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMTUxNTcxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMxNTE1NzE5CkhpIEdyaW1tYm9ybiwKCmljaCBnbGF1YmUsIGljaCBoYWJlIHNvIHdhcyBzY2hvbiBtYWwgYWxzIEZyZWV3YXJlIGdlc2VoZW4gLSBhbGxlcmRpbmdzCnZlcm11dGUgaWNoLCBkYXNzIGVzIGZ1ZXIgV2luKiB3YXIuIEFiZXIgZWluZSBTdWNoZSB1bnRlciB3d3cuZG93bmxvYWQuZGUgb2RlcgphZWhubGljaGVuIHNvbGx0ZSBEaXIgZXR3YXMgQXJiZWl0IHNwYXJlbiBoZWxmZW4uCgpSb25kYQoKUHM6ICpncmlucyogV2VubiBEdSB3YXMgcGFzc2VuZGVzIGdlZnVuZGVuIGhhc3QsIGthbm5zdCBEdSBlcyBoaWVyIGphIGF1Y2ggbWFsCnBvc3RlbiA7LSkgKlByb3N0ISoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGF0ZW5iYWVua2NoZW4gKE11cGZlbCwgIDguIFNlcCAyMDAyLCAyMjoxNToxMyk6Cn4jISBybj1Sb25kYSBydD0xMDMxNTE1ODQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE1MTU3MTkKSGFzdCBEdSBXaW5kb3dzPyBCZXNvcmcgRGlyIEFjY2VzcyA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhdGVuYmFlbmtjaGVuIChHcmltbWJvcm4sICA4LiBTZXAgMjAwMiwgMjI6MTg6MTYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMzE1MTYxMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMTUxNTcxOQpTb3dhcyBzdWNoZSBpY2ggdGF0c2FlY2hsaWNoIChBY2Nlc3MsIG5pY2h0IFdpbmRvd3MpLCBhYmVyIGhhbHQgYWxzIERhdGVuYmFuawp1bmQgbmljaHQgdW50ZXIgV2luZG93cy4gR2VuYXUgc28gZWluIFVJIHVtIGR1bW1lIExpc3RlbiB1bmQgQWJmcmFnZW4KenVzYW1tZW56dWtsaWNrZW4uIERpZSBGZWluaGVpdGVuIGRlciBEYXRlbmJhbmtrdW5zdCB1ZWJlcmxhc3NlIGljaCBnZXJuZSBkZW4KT3JhY2xlLUtvbGxlZ2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGF0ZW5iYWVua2NoZW4gKFN0cm9oYWxtLCAgOC4gU2VwIDIwMDIsIDIyOjIyOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMxNTE1NzE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE1MTU3MTkKcGhwbXlhZG1pbi4uLiBndXQgdW5kIG1pdHRsZXJ3ZWlsZSByZWxhdGl2IGJ1Z2ZyZWkgOykKCkhhZWxtY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhdGVuYmFlbmtjaGVuIChHbm9tZSwgIDguIFNlcCAyMDAyLCAyMjozNDo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMTUxNTcxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMxNTE1NzE5CnpldHRlbCwgc3RpZnQsIHNjaGVyZSB1bmQga2xlYmVyIGVyZ2ViZW4gaGVydm9ycmFnZW5kZSBzY2hpbGRjaGVuLgoKZ25PbWUsIGltbWVyIGhpbGZzYmVyZWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXRlbmJhZW5rY2hlbiAoR3JpbW1ib3JuLCAgOC4gU2VwIDIwMDIsIDIyOjM2OjIwKToKfiMhIHJuPUdub21lIHJ0PTEwMzE1MTcyODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMTUxNTcxOQpEdSB3aXJzdCBsYWNoZW4sIGRhcyB3YXIgYmlzIHZvciBtZWluZW0gVW16dWcgdGF0c2FlY2hsaWNoIGJlaSB6dW1pbmRlc3QgZWluZW0KZ3JvZXNzZXJlbiBUZWlsIGRlciBLaXN0ZW4gZGVyIEZhbGwuIFp3ZWkgUHJvYmxlbWU6IEZhc3QgbGVlcmUgS2lzdGVuCmtvbWJpbmllcmVuIGlzdCBuaWNodCB1bmVyaGVibGljaGVyIEF1ZndhbmQsIHVuZCBiZWltIFVtenVnIGhhYmVuIGRpZQpVbXp1Z3NsZXV0ZSBkaWUgbWVpc3RlbiBaZXR0ZWwgYWJnZXJpc3Nlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEU0wgJiBQUFBEICYgL3Zhci9sb2cvbWVzc2FnZXMgKE1vcmdvdGgsIDExLiBTZXAgMjAwMiwgMTM6MzA6MDMpOgpIaSwKCndpZSBiZWtvbW1lIGljaCBkaWVzZSBlY2hvLUVpbnRyYWVnZSBkZXMgcHBwZCB1bnRlciBTdVNFIDguMCB3ZWcsIHdlbm4gaWNoCm1pY2ggbWl0IGFkc2wtc3RhcnQgKHJwLXBwcG9lZCkgZWlud2FlaGxlPwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEU0wgJiBQUFBEICYgL3Zhci9sb2cvbWVzc2FnZXMgKE1hcmN1cywgMTEuIFNlcCAyMDAyLCAxMzozMTo1NCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMzE3NDM4MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMTc0MzgwMwpEYXMgd29ydCAiZGVidWciIGF1cyBkZW0gb3B0aW9ucyBGaWxlIGVudGZlcm5lbj8KCmNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEU0wgJiBQUFBEICYgL3Zhci9sb2cvbWVzc2FnZXMgKE1vcmdvdGgsIDExLiBTZXAgMjAwMiwgMTM6NDQ6MjIpOgp+IyEgcm49TWFyY3VzIHJ0PTEwMzE3NDM5MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMTc0MzgwMwpTbyBzaWVodCBkZXIgQXVmcnVmIGF1cyAoYXVzIHBzKQoxMDQzOSA/ICAgICAgICBTICAgICAgMDowMCAgXF8gL3Vzci9zYmluL3BwcGQgcHR5IC91c3Ivc2Jpbi9wcHBvZSAtcAovdmFyL3J1bi9wcHBvZS5jb25mLWFkc2wucGlkLnBwcG9lIC1JIGV0aDEgLVQgODAgLVUgIC1tIDE0MTIgICAgbm9pcGRlZmF1bHQKbm9hdXRoIGRlZmF1bHQtYXN5bmNtYXAgZGVmYXVsdHJvdXRlIGhpZGUtcGFzc3dvcmQgbm9kZXRhY2ggbXR1IDE0OTIgbXJ1IDE0OTIKbm9hY2NvbXAgbm9jY3Agbm9ic2Rjb21wIG5vZGVmbGF0ZSBub3Bjb21wIG5vdmogbm92amNjb21wIHVzZXIgbGFsZWx1CmxjcC1lY2hvLWludGVydmFsIDMwIGxjcC1lY2hvLWZhaWx1cmUgNQoKRGEgaXMga2VpbiAiZGVidWciIDooCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRFNMICYgUFBQRCAmIC92YXIvbG9nL21lc3NhZ2VzIChKZWhvdmEsIDExLiBTZXAgMjAwMiwgMTM6NTM6MzEpOgp+IyEgcm49TW9yZ290aCBydD0xMDMxNzQ0NjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE3NDM4MDMKCkdsYXViZSBlciBtZWludCAvZXRjL3BwcC9vcHRpb25zLCByYXRlIGFiZXIgamV0enQgbnVyLCB3ZWlsIGljaCBiZW51dHplIHNvd2FzCm5ldC4KCkoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEU0wgJiBQUFBEICYgL3Zhci9sb2cvbWVzc2FnZXMgKE5vbm5lLCAxMS4gU2VwIDIwMDIsIDE0OjE2OjE2KToKfiMhIHJuPUplaG92YSBydD0xMDMxNzQ1MjExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE3NDM4MDMKRGFzIGRlciBkYSB1ZWJlciBkaWUgTGVpdHVuZyBlY2hvdCwgaXN0IHNjaG9uIHJpY2h0aWcsIGRlciB0ZXN0ZXQsIG9iIGRlciBMaW5rCm5vY2ggZGEgaXN0IHVuZCB3YWVobHQgbmV1IGVpbiwgd2VubiBlciA1IG1hbCBrZWluZSBBbnR3b3J0IGJla29tbWVuIGhhdC4gT2IKbWFuIGFsbGVyZGluZ3MgdmVyaGluZGVybiBrYW5uLCBkYXNzIGRhcyBpbiBtZXNzYWdlcyBsYW5kZXQsIHdlaXNzIGljaCBuaWNodC4KVmllbGxlaWNodCBpbSBzeXNsb2cga29uZmlndXJpZXJlbj8KCk5vbm5lLCBoYXQgZWluZSBsYWFhYWFuZ2UgbWVzc2FnZXMgKGM7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEU0wgJiBQUFBEICYgL3Zhci9sb2cvbWVzc2FnZXMgKE1hbmRyYWdvbiwgMTEuIFNlcCAyMDAyLCAxNDoyMzoyOCk6Cn4jISBybj1Ob25uZSBydD0xMDMxNzQ2NTc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE3NDM4MDMKSWNoIGhhYiBtaXQKKi4qO21haWwubm9uZTtuZXdzLm5vbmU7a2Vybi5ub25lO2xvY2FsMC5ub25lO2xvY2FsMS5ub25lO2xvY2FsMi5ub25lO2xvY2FsMy5uCm9uCmU7bG9jYWw0Lm5vbmU7bG9jYWw1Lm5vbmU7bG9jYWw2Lm5vbmU7bG9jYWw3Lm5vbmUgLS92YXIvbG9nL21lc3NhZ2VzCgpFaW5pZ2VzIGF1cyBtZXNzYWdlcyByYXVzZ2VmaWx0ZXJ0IChhdXN6dWcgYXVzIC9ldGMvc3lzbG9nLmNvbmYpCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvbWNhdCB1bmQgZGllIExlZXJ6ZWljaGVuLi4uIChSb25kYSwgMTEuIFNlcCAyMDAyLCAxNjozNDo0Nyk6CkhpLApsZWlkZXIgd2llZGVyIGVpbmUgZGVyIE1lcmt3dWVyZGlna2VpdGVuLCBkaWUgZGFzIExlYmVuIHNjaHJlaWJ0Li4uCgpJY2ggbXVzcyBiZWkgZWluZW0gVG9tY2F0IGVybW9lZ2xpY2hlbiwgZGFzcyBhdWNoIERhdGVpbmFtZW4gbWl0IExlZXJ6ZWljaGVuCnp1bSBEb3dubG9hZCBiZXJlaXQgc3RlaGVuLiBBbHNvIHpiICJNZWluIEZpbGUudHh0Ii4gSWNoIHdlaXNzLCBkYXNzCiJNZWluX0ZpbGUudHh0IiBiZXNzZXIgd2FlcmUgLSBhYmVyIGljaCBrYW5ucyBsZWlkZXIgbmljaHQgYWVuZGVybiA7LSgKTWVpbiBBcGFjaGUgMS4zLjIwIGthbm4gZGFzLCBkZXIgU3RhbmQtQWxvbmUgVG9tY2F0IDMuMi40IGthbm5zIGF1Y2ggLSBudXIgZGVyCmVpbmdlYmF1dGUgVG9tY2F0IDMuMi54IGltIEZvcnRlIGthbm5zIG5pY2h0LiBEZXIgbGllZmVydCBpbW1lciBlaW5lbiA0MDQtRmlsZQpub3QgZm91bmQuCkdlZ2VuY2hlY2s6IExlZXJ6ZWljaGVuIHJhdXMgLSBEYXRlaSB3aXJkIGdlZnVuZGVuLiBMZWVyemVpY2hlbiByZWluIC0gNDA0LgpMZWVyemVpY2hlbiBiZWltIEF1ZnJ1ZiBkdXJjaCAlMjAgZXJzZXR6dDogNDA0LiBJY2ggc3BlaWNoZXIgZGllIERhdGVpIGFscwoiTWVpbiUyMEZpbGUudHh0IiBhYjogZGVyIFdlYnNlcnZlciBsaWVmZXJ0IHNpZSwgd2VubiBpY2ggIk1laW4gRmlsZS50eHQiCmFuZm9yZGVyZS4uLgpXb3cuIE51ciBsZWlkZXIgaGlsZnRzIG1pciBuaWNodCA7LSgKSGF0IGplbWFuZCB2b24gRXVjaCBlaW5lIElkZWUsIHdpZSBpY2ggZGVuIGluIEZvcnRlIGVpbmdlYmF1dGVuIFRvbWNhdCBkYXZvbgp1ZWJlcnpldWdlbiBrYW5uLCBhdWNoIEZpbGVzIG1pdCBMZWVyemVpY2hlbiB6dSBsaWVmZXJuPwoKVmllbGVuIERhbmsgZnVlciBqZWRlbiBIaW53ZWlzLAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb21jYXQgdW5kIGRpZSBMZWVyemVpY2hlbi4uLiAoQmFtYmksIDExLiBTZXAgMjAwMiwgMjM6NDU6MzcpOgp+IyEgcm49Um9uZGEgcnQ9MTAzMTc1NDg4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMxNzU0ODg3CkljaCBoYWIgbGVpZGVyIGtlaW5lbiB0ZWNobmlzY2hlbiBIaW53ZWlzLCB3aWVzIGdlaGVuIGtvZW5udGUsIGFiZXIgaGVyemxpY2hlcwpCZWlsZWlkLiBEZWluIFByb2JsZW0gaG9lcnQgc2ljaCBpbiBldHdhIHNvIGFuLCB3aWUgIkljaCB3aWxsIGFiZXIsIGRhc3MgbWVpbgpJbnRlcm5ldGF1ZnRyaXR0IG51ciBpbiBCb25uIHVuZCBuYWVoZXJlciBVbWdlYnVuZywga2VpbmVzZmFsbHMgYWJlciB3ZWx0d2VpdAphdXNnZXN0cmFobHQgd2lyZC4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRvbWNhdCB1bmQgZGllIExlZXJ6ZWljaGVuLi4uIChHcmltbWJvcm4sIDEyLiBTZXAgMjAwMiwgMDA6MjA6MjApOgp+IyEgcm49QmFtYmkgcnQ9MTAzMTc4MDczNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMxNzU0ODg3CkljaCBoYWIgamV0enQgbnVyIG5pY2h0IHZlcnN0YW5kZW4gd2FzIGRhcyBQcm9ibGVtIGFuIGVpbmVtIFNjcmlwdCBpc3QsIGRhc3MKcmVnZWxtYWVzc2lnIGRpZSBEYXRlaWVuIHVtYmVuZW5udC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVG9tY2F0IHVuZCBkaWUgTGVlcnplaWNoZW4uLi4gKFJvbmRhLCAxMi4gU2VwIDIwMDIsIDA5OjMxOjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMxNzgyODIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzE3NTQ4ODcKSGksCkJhbWJpIC0gZGFzIGdlaHQgenVtIEdsdWVjayBudXIgaW4gZWluIEludHJhbmV0IG1pdCBnYW56IGdlbmF1IGRlZmluaWVydGVuCkJyb3dzZXJuLgpVbmQgamEsIG1pciBpc3Qga2xhciBkYXNzIGRhcyBtaXQgZGVuIExlZXJ6ZWljaGVuIE11cmtzIGlzdC4gQWJlciAtCmZpbmdlcnBvaW50aW5nIG9uIC0gZGFmdWVyIGthbm4gaWNoIG5pY2h0cyA7LSggVW5kIGljaCBkYXJmcyBhdWNoIG5pY2h0CmFlbmRlcm4uCkdyaW1tYm9ybjogUHJvYmxlbSBpc3QsIGRhc3MgZGllc2UgRGF0ZWllbiBhdWYgZGVuIENsaWVudCBnZXNjaGlja3Qgd2VyZGVuIC0KdW5kIGRhIGVpbmUgQXBwbGlrYXRpb24gZGFyYXVmIHdhcnRldCwgZGFzcyBkYSBlaW5lIERhdGVpIG1pdCBMZWVyemVpY2hlbgprb21tdC4gR25hcmcuIEFsc28gbXVzcyBpY2hzIGxlaWRlciBoaW5iZWtvbW1lbiwgZGFzcyBkaWUgRGF0ZWkgYXVjaCBzbyBiZWltCkNsaWVudCBhbmtvbW10Li4uCgpSb25kYSAqaW1tZXIgbm9jaCBhdWYgZGVyIFN1Y2hlIG5hY2ggZGVtIEJpdCwgZGFzIGRhZnVlciB6dXN0YWVuZGlnIGlzdCwgZGFzcwpUb21jYXQgTGVlcnplaWNoZW4gaW4gRmlsZW5hbWVuIGthbm4uLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUzogU2VuZG1haWwtRXhwZXJ0ZW4gKEdyaW1tYm9ybiwgMTcuIFNlcCAyMDAyLCAxNTo1ODoyNik6Cn4jISBvbj1HcmltbWJvcm4gb3Q9MTAzMjI3MTA5OCBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49QmFtYmkgcnQ9MTAzMjI3MDg2NSByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKU01UUCBoYXQgaGFsdCBlcnN0bWFsIGtlaW5lIEF1dGhlbnRpZml6aWVydW5nLiBFcyBpc3QgcmVsYXRpdiB1ZWJsaWNoLCBkYXNzCnouQi4gSVNQIGVpbmVuIE1haWxzZXJ2ZXIgKG1haWwgcmVsYXkpIGhhYmVuLCBkZXIgbmFjaCBkZXIgQWJzZW5kZXItSVAgZ3Vja3QsCmRpZSBqYSBhdXMgZGVtIGVpZ2VuZW4gcG9vbCBrb21tdC4gVW5kIGRlciBnZW5hdSBkYW5uIGRpZSBtYWlscyB3ZWl0ZXJzY2hpY2t0LAp3ZW5uIGRpZSBtYWlscyBhdXMgZGVtIGVybGF1YnRlbiBJUC1CZXJlaWNoIGtvbW1lbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChCYW1iaSwgMTcuIFNlcCAyMDAyLCAxNjowNDowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjI3MTEwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMyMjYzMDU1CkRhcyBpc3QgbmljaHQgZGFzIFByb2JsZW0uIERhc3MgbWFuIGVpbmVuIEJlbnV0emVyICJpcmdlbmR3aWUiIChub3RmYWxscyB1ZWJlcgpwb3AzLWlwLWJsYWZhc2VsKSBhdXRoZW50aWZpemllcmVuIG11c3MgLyBzb2xsdGUsIGlzdCBlaW5lIHNhY2hlLiBEYXNzIG1hbiBkYXMKYWJlciBuaWNodCBrYW5uLCB3ZW5uIGVzIGtlaW5lIEJlbnV0emVyZGF0ZW4gZ2lidCwgdWViZXIgZGllIG1hbgphdXRoZW50aWZpemllcmVuIGthbm4sIGVpbmUgYW5kZXJlLgpJbnRlcm4gaW4gZWluZXIgRmlybWEga2FubnN0IER1IG5hdHVlcmxpY2ggc2FnZW4sICJhbGxlcyB3YXMgdm9tIExBTiBrb21tdCIKd2lyZCByZWxheWVkLCBlZ2FsIHZvbiB3ZW0gb2RlciBhbiB3ZW4gZXMgYW5nZWJsaWNoIGdlaHQuIEVpbiBJU1AgZGFyZiBkYXMKYWJlciBuaWNodC4gSW5zb2Zlcm4gaXN0IGRpZSBGcmFnZSwgb2IgYnp3LiB3aWUgZGVyIFNlcnZlciBhdXRoZW50aWZpemllcnQsCmR1cmNoYXVzIGJlcmVjaHRpZ3QsIGZhbGxzIGVyICJhbiBHb3R0IHVuZCBkaWUgV2VsdCIgcmVsYXllZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxNy4gU2VwIDIwMDIsIDE2OjEzOjI5KToKfiMhIHJuPUJhbWJpIHJ0PTEwMzIyNzE0NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMjI2MzA1NQpEZXIgU2VydmVyIGF1dGhlbnRpZml6aWVydCB1ZWJlciBkaWUgSVAgQWRyZXNzZS4gV2FzIGlzdCBkYXJhbgp1bnZlcnN0YWVuZGxpY2g/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoQW1hcnlsbGlzLCAxNy4gU2VwIDIwMDIsIDE2OjQ1OjQwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMzIyNzA4NjUgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CldhcyBoYXQgZGFzIFJlbGF5ZW4gYmVpIE91dGdvaW5nLU1haWxzIG1pdCBaaWVsYWRyZXNzZW4genUgdHVuPyBTb3JyeSwgaWNoCmdsYXViZSwgZHUgaGFzdCAibWFpbCIgbmljaHQgZ2FueiB2ZXJzdGFuZGVuLiBEaWUgS3VuZGVuIGF1dGhlbnRpZml6aWVyZW4gc2ljaAphbmhhbmQgVXNlcm5hbWUgdW5kIFBhc3N3b3J0IGJlaSBkZXIgRWlud2FobCBpbnMgSW50ZXJuZXQsIHVuZCBlcmhhbHRlbiBkYW5uCmVpbmUgSVAtQWRyZXNzZSwgdW50ZXIgZGVyIHNpZSBvbmxpbmUgc2luZC4gTWl0IGRpZXNlciBJUC1BZHJlc3NlIGR1ZXJmZW4gc2llCnVlYmVyIFNNVFAgTWFpbHMgdmVyc2NoaWNrZW4gLSB1bmQgendhciBlZ2FsIHdvaGluLCBhbHNvIHZvbiBtaXIgYXVzIGF1Y2ggenUKQmlsbHkgbmFjaCBSZWRtb25kLiBOb2NobWFsOiBlcyBnZWh0IHVtIE91dGdvaW5nIE1haWwsIGRhcyBpc3Qga29tcGxldHQKZ2V0cmVubnQgdm9uIEluY29taW5nIE1haWwgLSBzb3dvaGwgbG9naXNjaCBhbHMgYXVjaCBwaHlzaWthbGlzY2gsIGQuaC4Kc2VydmVyLXRlY2huaXNjaC4KCk9kZXIgYW5kZXJzIGdlc2FndDogaWNoIG11ZXNzdGUgZGFubiBmdWVyIGplZGUgTWFpbGFkcmVzc2UgZGVyIFdlbHQsIGRpZQpiZXNhZ3RlciBLdW5kZSBhbm1haWx0LCBhdWYgZGVuIGVudHNwcmVjaGVuZGVuIE1haWxzZXJ2ZXJuIGRlciBXZWx0IGVpbiBhbGlhcwpvZGVyIGZvcndhcmQgYXVmIGRlbSBiZXNhZ3RlbiBaaWVscmVjaG5lciAoYWxzbyB6LkIuIGJlaSBCaWxseSBpbiBSZWRtb25kKQplaW5yaWNodGVuLi4uIGpldHp0IGtsYXJlcj8gOi0pCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUzogU2VuZG1haWwtRXhwZXJ0ZW4gKEJhbWJpLCAxNy4gU2VwIDIwMDIsIDE2OjQ3OjUwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDMyMjczOTQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzIyNjMwNTUKSW56d2lzY2hlbiBoYWIgaWNoIGthcGllcnQsIGRhc3MgRHUgYmVpIG5lbSBJU1AgYXJiZWl0ZXN0LiBJbnNvZmVybiBtZWEgY3VscGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjQ2KToKfiMhIG9uPUFtYXJ5bGxpcyBvdD0xMDMyMjYzNjU2IG9nPXN1Y2hlLWJpZXRlCn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjI2MzM1NyByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKZGVyIFdpdHogYmVpIGRlciBTYWNoZSBpc3QsIGRhc3MgZXMgamEgdW0gZGVuIEFic2VuZGVyIGdlaHQsIGRlciBkaWUgTWFpbApsb2thbCBiZWkgc2VuZG1haWwgZWlubGllZmVydC4gRmFsbHMgZGVzc2VuIGFic2VuZGVuZGUgTWFpbGFkcmVzc2UgKGJlbGllYmlnCmZhZWxzY2hiYXIsIGljaCB3ZWlzcywgYWJlciBlcyBnZWh0IHVtIG5lIHNjaHdhY2hzaW5uaWdlIE1haWx1ZWJlcndhY2h1bmcsIHZvbgpLcmlwbyBhbmdlb3JkbmV0KSBtYXRjaHQsIHNvbGwgZGllIE1haWwgZ2FueiBub3JtYWwgYW4gZGVuIEVtcGZhZW5nZXIgdmVyc2FuZHQKd2VyZGVuLCBhYmVyIGRpZSBLcmlwbyBicmF1Y2h0IG5lIEtvcGllIGRhdm9uLgoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChHcmltbWJvcm4sIDE4LiBTZXAgMjAwMiwgMTE6MjU6NDcpOgp+IyEgb249QmFtYmkgb3Q9MTAzMjI2NjM2NSBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMzIyNjM2NTYgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CkljaCB3dWVyZGUgL2V0Yy9hbGlhc2VzIHZvcnNjaGxhZ2VuLCB3ZW5uIGRlciBVc2VyIHNpZSBuaWNodCBhZW5kZXJuIGtvZW5uZW4Kc29sbC4gSWNoIHdlaXNzIG5pY2h0LCB3aWUgZGVyIGRhcyBmaW5kZXQsIHdlbm4gZXIgZGllIC5mb3J3YXJkIGVudGRlY2t0LgpBbGxlcmRpbmdzIHdlaXNzIGljaCBuaWNodCwgd2llIGVzIHNpY2ggdmVyaGFlbHQsIHdlbm4gbWFuIGZ1ZXIgZWluZW4KZXhpc3RpZXJlbmRlbiBhY2NvdW50IGVpbiBtYWlsYWxpYXMgYW5sZWd0LiBTb2xsdGUgYWJlciBrbGFwcGVuLiAuLi4KVm9uIGRlciBLcmlwbyBhbmdlb3JkbmV0PyBJc3QgZGFzIHJlY2h0bGljaCB1ZWJlcmhhdXRwIHp1bGFlc3NpZz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChHcmltbWJvcm4sIDE4LiBTZXAgMjAwMiwgMTE6MjU6NDgpOgp+IyEgb249VmFyZGlvbiBvdD0xMDMyMjY2NDU4IG9nPXN1Y2hlLWJpZXRlCn4jISBybj1CYW1iaSBydD0xMDMyMjY2MzY1IHJnPXN1Y2hlLWJpZXRlCn4jISB0aWQ9MTAzMjI2MzA1NQpQZXIgcmljaHRlcmxpY2hlbSBCZXNjaGx1c3MgaXN0IGRhcyB3b2hsIHp1bGFlc3NpZywgZGllIEtyaXBvIHNlbGJzdCBkYXJmCmVyc3RtYWwgZ2Fybml4IGFub3JkbmVuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUzogU2VuZG1haWwtRXhwZXJ0ZW4gKEdyaW1tYm9ybiwgMTguIFNlcCAyMDAyLCAxMToyNTo0OSk6Cn4jISBvbj1BbWFyeWxsaXMgb3Q9MTAzMjI2NzkyMSBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49QmFtYmkgcnQ9MTAzMjI2NjM2NSByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKTm9jaG1hbDogSWNoIHJlZGUgdm9uIEFCU0VOREVhZHJlc3NlbiwgbmljaHQgdm9uIE1haWwtRW1wZmFlbmdlcm4hCi9ldGMvYWxpYXNlcywgLmZvcndhcmQgdS5hZS4gd2lya3QgbnVyIGF1ZiBFbXBmYWVuZ2VyIQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUzogU2VuZG1haWwtRXhwZXJ0ZW4gKEdyaW1tYm9ybiwgMTguIFNlcCAyMDAyLCAxMToyNTo1MCk6Cn4jISBvbj1CYW1iaSBvdD0xMDMyMjY5NTA5IG9nPXN1Y2hlLWJpZXRlCn4jISBybj1BbWFyeWxsaXMgcnQ9MTAzMjI2NzkyMSByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKSWNoIHd1ZXJkZSBtaWNoIHNlaHIgd3VuZGVybiwgd2VubiBpY2ggbWljaCBpcnJlLiBJY2ggZ2VoZSBkYXZvbiBhdXMsIGRhc3MKRGVpbiBMaW51eCBuaWNodCBoaW5nZWh0IHVuZCBkZW0gQWJzZW5kZXIgZXJ6YWVobHQsIGRhc3MgZXMgZWluIGFsaWFzIGhhdCB1bmQKc2Nob2VuIGJyYXYgZGllIE1haWxzIHZlcnRlaWx0LiBEQVMgd2FlciB3aXJrbGljaCBoYWFyc3RyYWV1YmVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChHcmltbWJvcm4sIDE4LiBTZXAgMjAwMiwgMTE6MjU6NTEpOgp+IyEgb249QW1hcnlsbGlzIG90PTEwMzIyNjk5NDIgb2c9c3VjaGUtYmlldGUKfiMhIHJuPUJhbWJpIHJ0PTEwMzIyNjk1MDkgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CkFsc286CmljaCBoYWIgaGllciBuZW4gTWFpbHNlcnZlciwgdWViZXIgZGVuIHRhZWdsaWNoIDEwMDAwMCBNYWlscyByYXVzY2hlbi4gRGllc2UKd2VyZGVuIHZvbiBleHRlcm5lbiBLdW5kZW4gYXVmIGRlbSBTTVRQLVNlcnZlciBlaW5nZWxpZWZlcnQsIHVuZCB2b24gZGllc2VtCihzZW5kbWFpbCkgaW4gZGllIGdyb3NzZSB3ZWl0ZSBXZWx0IGhpbmF1c2dlYmxhc2VuLgoKRGEga2VpbmVyIGRlciBnYW56ZW4gS3VuZGVuIGxva2FsIGF1ZiBkZW0gU01UUC1zZXJ2ZXIgc2VpbiBwb3N0ZmFjaCBoYXQsIGdpYnRzCmF1Y2gga2VpbmUgQWxpYXNlcy4gRGllc2Ugd3VlcmRlbiBudXIgYmVpbSBNYWlsLUVNUEZBTkcgU2lubiBtYWNoZW4sIHdhcyBhYmVyCmF1ZiBhbmRlcmVuIFNlcnZlcm4gYWJnZWZhY2tlbHQgd2lyZC4gRGVyLCB2b24gZGVtIGljaCByZWRlLCBpc3QgbnVyIGZ1ZXIKb3V0Z29pbmctTWFpbCB6dXN0YWVuZGlnLiBJbnNvZmVybiBncmVpZmVuIGRhIGF1Y2gga2VpbmUgdmlydHVzZXJ0YWJsZXMgb2RlcgphZWhubGljaGUgU2NoZXJ6ZS4KCk1pdHRsZXJ3ZWlsZSBiaW4gaWNoIHVlYnJpZ2VucyB3ZWl0ZXI6IGZ1ZXIgU3RhbmRhcmQtU2VuZG1haWwgaXN0IGRhcyB2b24gbWlyCmdld3VlbnNjaHRlIEZlYXR1cmUgd29obCBuaWNodCBkcmluLCBob2VjaHN0ZW5zIG1pdCBadXNhdHpwcm9ncmFlbW1jaGVuLCBkaWUKZGllIE1pbHRlci1BUEkgKGFiIFNlbmRtYWlsIDguMTIpIGJlbnV0emVuLi4uIHNpZWh0IG5pY2h0IHdpcmtsaWNoIHRyaXZpYWwgYXVzCjovCgpBTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjUyKToKfiMhIG9uPVZhcmRpb24gb3Q9MTAzMjI3MDA4MyBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMzIyNjk5NDIgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CklzdCBkYXMgcHJvYmxlbSBhbiBzaWNoIG5pY2h0IGFic3VyZD8KQWxzbyBpY2ggbWVpbmUgd29yYW4gaWRlbnRpZml6aWVyc3RlIGRlbiBLdW5kZW4gdWViZXJoYXVwdD8gQWJzZW5kZWFkcmVzc2UgaXN0CmJlbGllYmlnIGZhZWxzY2hiYXIuIERhIG11ZXNzdGUgc2Nob24gdWViZXIgTG9naW5zZXJ2ZXIgdXN3LiBkaWUgSVAgZGVzCmVudHNwcmVjaGVuZGVuIE51dHplcnMgZXJtaXR0ZWx0IHdlcmRlbi4gTnVyIGRhcyBoaW5kZXJ0IGlobiBub2NoIG5pY2h0IGRhcmFuLApkaWUgTWFpbCBlaW5mYWNoIHVlYmVyIGlyZ2VuZCBlaW4gYmVsaWViaWdlcyBSZWxheSBvZGVyIGdsZWljaCBkaXJla3QKenV6dXN0ZWxsZW4uCk5hamEsIGthbm4gZGllIEtyaXBvIG51ciBob2ZmZW4sIGRhc3MgZXMgZWluIGR1bW1lciBLcmltaW5lbGxlciBpc3QuLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChHcmltbWJvcm4sIDE4LiBTZXAgMjAwMiwgMTE6MjU6NTMpOgp+IyEgb249QW1hcnlsbGlzIG90PTEwMzIyNzAzMTMgb2c9c3VjaGUtYmlldGUKfiMhIHJuPVZhcmRpb24gcnQ9MTAzMjI3MDA4MyByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKS2xhci4gU2NocmllYiBpY2ggamEgYXVjaCwgZGFzcyBpY2ggZGFzIGZ1ZXIgYmVzY2hldWVydCBoYWx0ZS4gQUJlciBkYXMgc2luZApCZWFtdGUuIERpZSB3aXNzZW5zIG5pY2ggYmVzc2VyLgoKKFVuZCBpbnNnZWhlaW0gYmluIGljaCBmcm9oLCBkYXNzIGljaCBuaWNodCBtaXQgamVkZXIgZWluZ2VsaWVmZXJ0ZW4gTWFpbCBhdWYKZGVtIFJhZGl1cyBuYWNoZnJhZ2VuIG11c3MsIG9iIGRhcyBkZXIgcmljaHRpZ2UgS3VuZGUgaXN0IC0gZGFzIHd1ZXJkZSBiZWlkZQpTZXJ2ZXIgd29obCB6aWVtbGljaCBwbGF0dG1hY2hlbikuCgpLb2VubnRlIG1pciBhdWNoIHdhcyBiZXNzZXJlcyB2b3JzdGVsbGVuLCBhbHMgbmVuIFRhZyBsYW5nIG1pdCBzbyBuZW0KdW5zaW5uaWdlbiBTY2hlaXNzIHp1IHZlcmJyaW5nZW4gOi8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjU0KToKfiMhIG9uPUJhbWJpIG90PTEwMzIyNzA4NjUgb2c9c3VjaGUtYmlldGUKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDMyMjcwMzEzIHJnPXN1Y2hlLWJpZXRlCn4jISB0aWQ9MTAzMjI2MzA1NQpEYXMgaXN0IGpldHp0IGVoZXIgb2ZmLXRvcGljLi4uCkR1IGhhc3QgZWluZW4gTWFpbHNlcnZlciwgZGVyIG5pY2h0cyBhbmRlcmVzIG1hY2h0LCBhbHMgbWFpbHMgenUgcmVsYXllbiwgZnVlcgpkaWUgZXMgKGJlaSBpaG0pIG5pY2h0IG1hbCBuZW4gYWNjb3VudCAob2RlciB6dW1pbmRlc3Qga2VpbiBwb3N0ZmFjaCkgZ2lidC4KSWNoIHZlcm11dGUgbWFsLCBkYXNzIER1IG51ciBiZXN0aW1tdGUgWmllbGFkcmVzc2VuIHp1bGFlc3N0IHVuZCBkaWUgYWxsZSBhdWYKZGVuIChpcmdlbmR3byBlcndhZWhudGVuKSB6d2VpdGVuIFJlY2huZXIgc2NoYXVmZWxzdC4gSWNoIGdlaCBtYWwgYXVzc2VyZGVtCmRhdm9uIGF1cywgZGFzcyBkZXIgUmVjaG5lciBkb3J0IHdlbmlnc3RlbnMgZ3VlbHRpZ2UgWmllbGFjY291bnRzIC8KUG9zdGZhZWNoZXIgYmVzaXR6dC4gV2llc28gbWFjaHN0IER1IG5pY2h0IF9kb3J0XyBkaWUgbWFpbGFsaWFzZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjU1KToKfiMhIG9uPVRydWcgb3Q9MTAzMjI4NjkwNyBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMzIyNjMwNTUgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1Cm1hbiBwcm9jbWFpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjU2KToKfiMhIG9uPUFtYXJ5bGxpcyBvdD0xMDMyMjg4NDk3IG9nPXN1Y2hlLWJpZXRlCn4jISBybj1UcnVnIHJ0PTEwMzIyODY5MDcgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CmRhcyBpc3QgZHVyY2ggcHJvY21haWwgaW4ga2VpbnN0ZXIgV2Vpc2UgenUgbG9lc2VuLiB6dW1pbmRlc3QgYnJhdWNoZSBpY2gKZXJzdG1hbCBlaW4gU2VuZG1haWwtIkZlYXR1cmUiLCBkYXMgbWlyIGRpZSBNYWlscyBkdXBsaXppZXJ0ICAoZGVubiBkZXIgU2VuZGVyCmRhcmYgamEgbml4IGRhdm9uIG1lcmtlbiwgZGllIE1haWwgc29sbCBnYW56IG5vcm1hbCByYXVzZ2VoZW4gdW5kIGVpbmUgS29waWUKZGF2b24gaGFsdCB3b2FuZGVycyBoaW4pLiBQcm9jbWFpbCBrb2VubnRlIGhpZXIgaG9lY2hzdGVucyBiZWltIEZpbHRlcm4KaGVsZmVuLCB3ZW5uIGljaCBiZWlzcGllbHN3ZWlzZSBlaW4gRmVhdHVyZSB3aWUgImFsd2F5c19iY2MiIHVudGVyIFBvc3RmaXgKZWluc2NoYWx0ZW4ga29lbm50ZSwgZGFzIGduYWRlbmxvcyBhbGxlIE1haWxzIGR1cGxpemllcnQgLSBlZ2FsIHZvbiB3ZW0uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBTZW5kbWFpbC1FeHBlcnRlbiAoR3JpbW1ib3JuLCAxOC4gU2VwIDIwMDIsIDExOjI1OjU3KToKfiMhIG9uPUdydW1wZiBvdD0xMDMyMzQwMDk1IG9nPXN1Y2hlLWJpZXRlCn4jISBybj1BbWFyeWxsaXMgcnQ9MTAzMjI4ODQ5NyByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTEwMzIyNjMwNTUKSG1tLCBobW0sCnNvbGx0ZSBkYXMgZGVyIFByb3ZpZGVyIHNlaW4gZGVyIG1pdCBOZXQgYW5mYWVuZ3QgdW5kIG1pdCBDb2xvZ25lIGF1ZmhvZXJ0PwpEYW5uIG5pY2sgbWFsIHdlaXNlIGRhbWl0IHVuc2VyZSBGaXJtYSBzb2ZvcnQgYWxsZSBWZXJ0cmFlZ2UgbWl0IGRlbmVuCmt1ZW5kaWdlbiBrYW5uLi4uCkdydW1wZiBncnVtcGZ0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUzogU2VuZG1haWwtRXhwZXJ0ZW4gKEdyaW1tYm9ybiwgMTguIFNlcCAyMDAyLCAxMToyNTo1OCk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9MTAzMjM0MDI4NSBvZz1zdWNoZS1iaWV0ZQp+IyEgcm49R3J1bXBmIHJ0PTEwMzIzNDAwOTUgcmc9c3VjaGUtYmlldGUKfiMhIHRpZD0xMDMyMjYzMDU1CkhtbSwgd2FzIGdlbmF1IGhhYnQgaWhyIGdlZ2VuIGVpbmVuIFByb3ZpZGVyLCBkZXIgc2ljaCBhbiByaWNodGVybGljaGUKQW5vcmRudW5nZW4gaGFlbHQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IFNlbmRtYWlsLUV4cGVydGVuIChXb29keSwgMTkuIFNlcCAyMDAyLCAwMDo0Nzo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMjM0MTE1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMyMjYzMDU1CkljaCB3ZWlzcyBuaWNodCB3aWUgZXMgYmVpIFNlbmRtYWlsIGlzdCwgUG9zdGZpeCBoYXQgZnVlciBzb2xjaGUKQXVmZ2FiZW4gKGJlaW0gc210cGQpIGVpbmVuIGNvbnRlbnQgZmlsdGVyIGhvb2ssIGFuIGRlbSBtYW4gZGVybGVpCnBlcnZlcnNlIERpbmdlIChvZGVyIGF1Y2ggVmlyZW5zY2FubmVyKSBlaW5oYWVuZ2VuIGthbm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbSBtaXQgZGVtIHphaGxlbmJsb2NrIChNYWRuZXNzLCAyMC4gU2VwIDIwMDIsIDIxOjM1OjA1KToKU2VpdCBkZW0gaWNoIG1laW4gTGludXggU2VydmVyIChTdVNFIExpbnV4IDcuMikgbmV1IGluc3RhbGxpZXJ0IGhhYmUsIGxhZXVmZW4KbWVpbiBaYWhsZW5ibG9ja3Rhc3RlbiBuaWNodCBtZWhyIHNvIHdpZSBzaWUgc29sbGVuLiBTdGF0dCBkZXIgJ25vcm1hbGVuJwpiZWxlZ3VuZyAoZGllIHZvbiB0ZiBhdXNnZXdlcnRlcnQgd2lyZCkgYmVrb21tZSBpY2ggZW50d2VyZGVyIGRpZSB6YWhsZW4gb2RlcgpkaWUgcGZlaWx0YXN0ZW4uIEljaCBob2ZmZSBlcyBrYW5uIG1pdCBlaW5lciBiZWkgbWVpbmVtIFByb2JsZW0gaGVsZmVuLiAKTWFkbmVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW0gbWl0IGRlbSB6YWhsZW5ibG9jayAoRWxkYXJvbiwgMjAuIFNlcCAyMDAyLCAyMTo0MDo1Nik6Cn4jISBybj1NYWRuZXNzIHJ0PTEwMzI1NTA1MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMjU1MDUwNQphKSBuaW1tIHh0ZXJtCmIpIEFsdC9OdW1sb2NrLU1vZGlmaWVycyBhdXNzY2hhbHRlbiAoQ1RSTCtsaW5rZSBNYXVzdGFzdGUpCmMpIEVuYWJsZSBBcHBsaWNhdGlvbiBLZXlwYWQgKENUUkwrbWl0dGxlcmUgTWF1c3Rhc3RlKQpkKSBOdW1sb2NrIGFuc2NoYWx0ZW4KCkVsZGFyb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHJvYmxlbSBtaXQgZGVtIHphaGxlbmJsb2NrIChNYWRuZXNzLCAyMC4gU2VwIDIwMDIsIDIxOjUxOjM4KToKfiMhIHJuPUVsZGFyb24gcnQ9MTAzMjU1MDg1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMyNTUwNTA1CkhhYmUgdmllbGxlaWNodCB2ZXJnZXNzZW4genUgc2FnZW4sIGRhcyBpY2ggbWl0IHB1dHR5IGFscyB0ZWxuZXQgY2xpZW50CmFyYmVpdGUuIGhhYmUgZGFzIG1pdCBkZWluZW4gaGlud2Vpc2VuIHZlcnN1Y2h0IGFiZXIgaXJnZW5kd2llIGtsYXBwdCBkYXMgYXVjaApuaWNodC4gYmVrb21tZSBpbW1lciBub2NoIHphaGxlbiBhbnN0YXR0IGRpZSBiZWxlZ3VuZyBtaXQgZGVuIF5bWy4KTWFkbmVzcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXN1cy1Cb2FyZCArIFBJSSArIFJBTSAoR25vbWUsICAzLiBPa3QgMjAwMiwgMTk6MzA6MDcpOgpiaWV0ZQoKMS4gYXN1cy1ib2FyZCBQMkIgKEludGVsIDQwMEJYLCA0eFBDSSwgM3hJU0EsIEFHUCksIEFUWCwgMTAwIE1IeiBGU0IKMi4gZGF6dSBkZW4gcGFzc2VuZGVuIFBJSSwgMzUwIE1IegozLiBkYXp1IGRhcyBwYXNzZW5kZSBTRFJBTSwgMjU2IE1CIChQQzEzMykKCm9wdGlzY2ggdW5kIHRlY2huaXNjaCBlaW53YW5kZnJlaSwgbnVyIHp1c2FtbWVuLCBmdWVyIHVuc2NobGFnYmFyZSAxMDAsLQoKYXVzc2VyZGVtIG5vY2ggYXVmIGxhZ2VyOgoKNC4gUENJLWlzZG4ta2FydGUgZWxzYSBxdWlja3N0ZXAgMTAwMCwgZnVlciAzMCwtCjUuIElTQS1pc2RuLWthcnRlIGZyaXR6Y2FyZCBwbnAsIGZ1ZXIgMTAsLQo2LiBJU0EtZXRoZXJuZXQta2FydGUsIHJlYWR5bGluayBlbjIwMDAtY3ggKEJOQyksIGZ1ZXIgNSwtCjcuIFBDSS1ncmFmaWtrYXJ0ZSwgYXRpIDNkIHJhZ2UgSUksIGZ1ZXIgMTAsLQo4LiBTRC1SQU0sIDJ4MzIgTUIsIGZ1ZXIgMTAsLQoKd2VyIEFMTEVTIG5pbW10LCBrcmllZ3QgbmF0dWVybGljaCBlaW5lbiBuZXR0ZW4gcmFiYXR0IDopCgpnbk9tZSwgYW0gYXVzbWlzdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFzdXMtQm9hcmQgKyBQSUkgKyBSQU0gKEdub21lLCAgMy4gT2t0IDIwMDIsIDE5OjUyOjQ2KToKfiMhIHJuPUdub21lIHJ0PTEwMzM2NjYyMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMzY2NjIwNwpuYWNodHJhZzoKCjkuIElERS1wbGF0dGUsIG1heHRvciwgNTQwMCBSUE0sIDMwIEdCLCBmdWVyIDUwLC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXN1cy1Cb2FyZCArIFBJSSArIFJBTSAoU3Ryb2hhbG0sICA0LiBPa3QgMjAwMiwgMTA6MDE6MTYpOgp+IyEgcm49R25vbWUgcnQ9MTAzMzY2NzU2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMzNjY2MjA3CmRpZSBzYWNoZW4gc2luZCBqYSBuZXUgYmlsbGlnZXIgOykKCkhhZWxtY2hlbiwgU29ja2VsLUEtQm9hcmRzIHZlcnNjaGxlaXNzZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBc3VzLUJvYXJkICsgUElJICsgUkFNIChHbm9tZSwgIDQuIE9rdCAyMDAyLCAxNDo0Njo1OCk6Cn4jISBybj1TdHJvaGFsbSBydD0xMDMzNzE4NDc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzM2NjYyMDcKTkVVIGtyaWVnc3QgZHUgc2llIGdhciBuaWNodCBtZWhyLCBzY2hudWNraSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFzdXMtQm9hcmQgKyBQSUkgKyBSQU0gKFN0cm9oYWxtLCAgNC4gT2t0IDIwMDIsIDE1OjA1OjEyKToKfiMhIHJuPUdub21lIHJ0PTEwMzM3MzU2MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMzY2NjIwNwpOb2UsIGFiZXIgZGFmdWVyIGVudHNwcmVjaGVuZCBha3R1ZWxsZXJlIE1vZGVsbGUgOykKCkhhZWxtY2hlbiBpc3QgbmljaHQgc2NobnVja2VsaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFzdXMtQm9hcmQgKyBQSUkgKyBSQU0gKEdub21lLCAgNC4gT2t0IDIwMDIsIDE1OjA3OjE1KToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwMzM3MzY3MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMzY2NjIwNwphbHNvIGR1IG1laW5zdCwgZGFzcyBkdSBlaW4gYWt0dWVsbGVzIG1haW5ib2FyZCtjcHUrcmFtIGZ1ZXIgMTAwLC0Ka3JpZWdzdD8gREVOIGxhZGVuIG11c3N0IGR1IG1pciB6ZWlnZW4sIGZhbGxzIGVyIG5pY2h0IHNjaG9uIHBsZWl0ZSBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBc3VzLUJvYXJkICsgUElJICsgUkFNIChTdHJvaGFsbSwgIDQuIE9rdCAyMDAyLCAxNToxMjo0OSk6Cn4jISBybj1Hbm9tZSBydD0xMDMzNzM2ODM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzM2NjYyMDcKMTI4IE1CIFNELVJBTSA6IDE5LC0KQ2VsZXJvbiA4NTBNSHo6IDY0LC0KR0IgTWFpbmJvYXJkIDogIDY5LC0KLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgMTI1LC0KCmtvbXBsZXR0IG5ldSBiZWkgYWx0ZXJuYXRlLCB1bmQgZGllIHNpbmQgbmV0IGdyYWRlIGJpbGxpZyA7KQoKSGFlbG1jaGVuLCB3aWxsIGZlaWxzY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQXN1cy1Cb2FyZCArIFBJSSArIFJBTSAoU3Ryb2hhbG0sICA0LiBPa3QgMjAwMiwgMTU6MTM6MzcpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTAzMzczNzE2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMzNjY2MjA3CmFlaG0uLiBmZWhlbGVyIGJlaSBkZXIgQ1BVLi4uIHdhcm4gRHVyb24gZnVlciAzNywtIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQXN1cy1Cb2FyZCArIFBJSSArIFJBTSAoR25vbWUsICA0LiBPa3QgMjAwMiwgMTU6MTU6NDYpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTAzMzczNzE2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMzNjY2MjA3CndpciBzcHJhY2hlbiBkb2NoIHZvbiBBS1RVRUxMRVIgaGFyZHdhcmUsIG9kZXI/IGRhcywgd2FzIGR1IGRhCnJhdXNnZXN1Y2h0IGhhc3Qgc2luZCByZXN0cG9zdGVuLiBkYXMgd2FyIGxldHp0ZXMgamFociBtb2Rlcm4uCmF1c3NlcmRlbSBoYXQgbWVpbiBhbmdlYm90IDI1NiBNQiBSQU0uCgpnbk9tZSBkZW5rdCAuIG8gMCAoIGR1cm9uLCBjZWxlcm9uLi4uIG9oamUuICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFzdXMtQm9hcmQgKyBQSUkgKyBSQU0gKFN0cm9oYWxtLCAgNC4gT2t0IDIwMDIsIDE1OjE4OjAyKToKfiMhIHJuPUdub21lIHJ0PTEwMzM3MzczNDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzMzY2NjIwNwpkYW5uIHNpbmRzIGhhbHQgMTAsLSBtZWhyIGZ1ZXJuIDI1Ni1lciA7KQpQSUkgaXMgYWJlciBhdWNoIG5ldCBtZWhyIGRhcyBtb2Rlcm5zdGUuLiBlaWdlbnRsaWMgYnJhZXVjaHQgaWNoIGphIG51ciBkYXMKYm9hcmQsIENQVSB1bmQgUkFNIGhhYnNjaCBub2NoIDspCi4uLiBpY2ggdGF1Y2ggYXVjaCBnZWdlbiBlaW4gdG9sbGVzIGR1Y2hnZXNjaG1vcnRlcwpleHRyYS1mdWVyLWJhc3RsZXItZ2lnYWJ5dGUtYm9hcmQuLiBlYmVuZmFsbHMgbWl0IDQ0MCBCWC4uLiB1bmQgbXVzc3QgbmV0IG1hbAphdWZwcmllcyBiZXphaGxlbiA7KQoKSGFlbG1jaGVuLCBib2FyZHZlcnNjaGxlaXNzZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBBc3VzLUJvYXJkICsgUElJICsgUkFNIChXaWxsb3csICA0LiBPa3QgMjAwMiwgMjE6MDQ6MDIpOgp+IyEgcm49U3Ryb2hhbG0gcnQ9MTAzMzczNzQ4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDMzNjY2MjA3CkljaCBoYWV0dGUgZGEgbm9jaCBuZW4gQXVzdXMgUDJCUyB1ZWJlci4uLiBiaXMgdm9yIGt1cnplbSBub2NoIGdlcmFubnQgd2llCmJsb2VkZS4uLiBiZWkgbmVtIGd1dGVuIEFuZ2Vib3Qgd2FlciBpY2ggZ2VuZWlndCwgamVuZXMgYWJ6dXN0b3NzZW4uLi4KZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcmRkaXNrIEhlcnN0ZWxsZXI/IChDdWNodWxsaW4sICA5LiBPa3QgMjAwMiwgMTM6MjY6MzIpOgoKR2lidCBlcyBiemdsLiBIYXJkZGlza3MgKH40MEdCIElERSA3MjAwLzJNQikgaXJnZW5kd2VsY2hlIEhlcnN0ZWxsZXIsCmRpZSBtYW4gaW0gTW9tZW50IG1laWRlbiBvZGVyIGJlc29uZGVycyBiZXZvcnp1Z2VuIHNvbGx0ZT8KCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkZGlzayBIZXJzdGVsbGVyPyAoU3Ryb2hhbG0sICA5LiBPa3QgMjAwMiwgMTM6Mjk6MjcpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzQxNjI3OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDE2Mjc5MgprYXVmIGRpciBuZSBtYXh0b3IgOykKCkhhZWxtY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXJkZGlzayBIZXJzdGVsbGVyPyAoR3JpbW1ib3JuLCAgOS4gT2t0IDIwMDIsIDE0OjA2OjUyKToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwMzQxNjI5Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDE2Mjc5MgpTaW5kIDQwR0IgUGxhdHRlbiB1ZWJlcmhhdXB0IG5vY2ggYXVmIGRlbSBNYXJrdD8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGFyZGRpc2sgSGVyc3RlbGxlcj8gKFN0cm9oYWxtLCAgOS4gT2t0IDIwMDIsIDE0OjEyOjAyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM0MTY1MjEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzQxNjI3OTIKam8sIGFiZXIgbWFzc2xvcyB1ZWJlcnRldWVydC4uIGthdWYgZGllIGdsZWljaCBuZSA4MC1lciwgaGFiZW4gZGVyemVpdCBkYXMKYmVzdGUgcHJlaXMtbGVpc3R1bmctdmVyaGFlbHRuaXMKCkhhZWxtY2hlbiwgdmVyd2Vpc3QgYXVmIGViYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJkZGlzayBIZXJzdGVsbGVyPyAoR25vbWUsICA5LiBPa3QgMjAwMiwgMTk6NTY6MTApOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzQxNjI3OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDE2Mjc5MgptZWlkZSBtYXh0b3IuCmljaCBrYW5uIFdEIGVtcGZlaGxlbjogbGVpc2UsIHNjaG5lbGwgdW5kIHByZWlzZ3VlbnN0aWcgKHpadC4gZXR3YQo5MCwtIGZ1ZXIgNDAgR0IsIDExMCwtIGZ1ZXIgNjAgR0IpLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFyZGRpc2sgSGVyc3RlbGxlcj8gKE11cGZlbCwgIDkuIE9rdCAyMDAyLCAyMToxMTozMik6Cn4jISBybj1Hbm9tZSBydD0xMDM0MTg2MTcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzQxNjI3OTIKVm9uIFdEIGdpYnRzIHZvciBhbGxlbSBkaWUgInNwZXppYWwiIFNlcmllIG1pdCA4IE1CIENhY2hlIHN0YXR0IDIgTUIuIGF1Y2ggYWxzCjQwZ2IuIGRpZSBzaW5kIHNjaG9lbiBzY2huZWxsIDspCgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhhcmRkaXNrIEhlcnN0ZWxsZXI/IChWYXJsYXJpb24sICA5LiBPa3QgMjAwMiwgMjE6MTM6MDQpOgp+IyEgcm49TXVwZmVsIHJ0PTEwMzQxOTA2OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDE2Mjc5MgpZZXAsIGthbm4gaWNoIG51ciBiZXN0YWV0aWdlbi4gSWNoIGhhYiBkaWUgODAgR0IgYXVzIGRlciBTZXJpZSB1bmQgYmluIHNlaHIKZ3V0IHp1ZnJpZWRlbiBkYW1pdC4KClZhcmwqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUVi1PdXQgLT4gRmVybnNlaGVyIChTZXZpLCAxMC4gT2t0IDIwMDIsIDE2OjU5OjQxKToKS2FubiBtaXIgamVtYW5kIGVpbmVuIFRpcHAgZ2ViZW4sIHdvIGJ6dy4gYmVpIHdlbGNoZW0gQW5iaWV0ZXIgaWNoIGZvbGdlbmRlcwpLYWJlbCBrYXVmZW4ga2Fubi4gQW0gQmVzdGVuIHBlciBvbmxpbmUtc2hvcC4uLgoKVFYtT3V0IGFtIGxhcHRvcCBpc3QgZWluIEtvbXBvc2l0LUF1c2dhbmcgYXVmIDNmYWNoIENpbmNoIGFtIEZlcm5zZWhlci4gTGFwdG9wCmlzdCBlaW4gR2VyaWNvbSAxdGggU3VwZXJzb25pYyBtNnQsIGZhbGxzIGRhcyBqbWQgYmVzaXR6ZW4gc29sbHRlIHVuZCBkYXMKUHJvYmxlbSBrZW5udC4gSXN0IG5hZW1saWNoIGxlaWRlciBrZWluIG5vcm1hbGVyIFMtVkhTIEF1c2dhbmcgYW0gTGFwdG9wLgoKVmllbGVuIERhbmsgaW0gVm9ycmF1cywgU2V2aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRWLU91dCAtPiBGZXJuc2VoZXIgKFNldmksIDEwLiBPa3QgMjAwMiwgMTc6NDc6NTQpOgp+IyEgcm49U2V2aSBydD0xMDM0MjYxOTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzQyNjE5ODEKRGFuayBkZXIgSGlsZmUgdm9uIEx5YSB1bmQgVmFyZGlvbiBrb25udGUgaWNoIGRhcyBQcm9ibGVtIHByYWV6aXNpZXJlbiB1bmQKZmFuZCBoZXJhdXMsIGRhc3MgaWNoIGVoZXIgZWluIGNvbXBvc2l0ZSBhdWYgY29tcG9zaXRlIEthYmVsIHN1Y2hlLCBkYSBkZXIKU291bmQgZ2V0cmVubnQgZ2VyZWdlbHQgd2lyZC4gU29sY2ggZWluIEthYmVsIGhhYiBpY2ggZGFubiBhdWNoIGJlaSBvZWhsYmFjaAood3d3LmhpZmktcmVnbGVyLmRlKSBnZWZ1bmRlbiwgYWxsZXJkaW5ncyBvcmRlbnRsaWNoIHRldWVyLiBBYmVyIGRhcyBQcm9ibGVtCmlzdCBzb21pdCBnZWxvZXN0LiBCZXN0ZW4gRGFuayBhbiBkaWUgQmVpZGVuIHVuZCB2aWVsbGVpY2h0IGhhdHMgamEgYXVjaCBqbWQKYW5kZXJlbSBnZWhvbGZlbiwgZGVyIHNlaW4gTGFwdG9wIHp1bSBEVkQtUGxheWVyIG1pc3NicmF1Y2hlbiB3aWxsLiBTZXZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBIYXJkZGlzayBIZXJzdGVsbGVyPyAoV29vZHksIDEwLiBPa3QgMjAwMiwgMjE6NTc6NTIpOgp+IyEgcm49VmFybGFyaW9uIHJ0PTEwMzQxOTA3ODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDE2Mjc5MgpJY2ggaGFiIG1pdCBNYXh0b3IgYmVzdGUgRXJmYWhydW5nZW4gdW5kIGhhdHRlIGFiZXIgYWIgdW5kIHp1ClByb2JsZW1jaGVuIG1pdCBJQk0uIEluIGRlciBSZWdlbCBhYmVyIGthbm4gbWFuLCB3ZW5uIG1hbiBuaWNodApiZWkgbmVtIFNjaHJhdWJlciBhcmJlaXRldCwgc2VsdGVuIHJlcHJhZXNlbnRhdGl2ZSBBdXNzYWdlbgp1ZWJlciBQbGF0dGVuaGVyc3RlbGxlciB0cmVmZmVuLCB6dW1hbCBkaWUgU3RyZXV1bmcgaW56d2lzY2hlbgpzZWhyIGdyb3NzIGdld29yZGVuIGlzdCB1bmQgZXMgZWluZW4gZWlndGwuIGJlaSBqZWRlbSBIZXJzdGVsbGVyCnRyZWZmZW4ga2Fubi4gSGFiIGljaCB6dW1pbmRlc3QgZGVuIEVpbmRydWNrLi4uCgpXb29keS4tCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUVi1PdXQgLT4gRmVybnNlaGVyIChKYW1lc29uLCAxMi4gT2t0IDIwMDIsIDE2OjM0OjM1KToKfiMhIHJuPVNldmkgcnQ9MTAzNDI2NDg3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM0MjYxOTgxClNvd2FzIC0gaWNoIGhhYiBhdWNoIGVpbiBQcm9ibGVtIG1pdCBkZW0gVFYtQXVzZ2FuZyBtZWluZXMgTm90ZWJvb2tzLgpBbGxlcmRpbmdzIGlzdCBlcyBoaWVyIGVpbmUgZ2V3b2VobmxpY2hlIFMtVmlkZW8tU2Nobml0dHN0ZWxsZSwgd2llIG1hbiBzaWUKYXVjaCBhbiB2aWVsZW4gQ2FtY29yZGVybiBoYXQuIERpZSBsaWVmZXJ0IGVpbmZhY2gga2VpbiBCaWxkLCB3ZW5uIGljaAp6d2lzY2hlbiBMYXB0b3AtRGlzcGxheSB1bmQgZXh0ZXJuZW0gQXVzZ2FuZyB1bXNjaGFsdGUuIERlciBWR0EtQXVzZ2FuZywgZGVyCmdlbmF1c28gdW1nZXNjaGFsdGV0IHdpcmQsIGZ1bmt0aW9uaWVydCBoaW5nZWdlbi4KQW0gRmVybnNlaGVyIChhdWYgZGVuIHJpY2h0aWdlbiBFaW5nYW5nIHVtZ2VzY2hhbHRldCwgZGVyIENhbWNvcmRlciBsaWVmZXJ0CmVpbiBlaW53YW5kZnJlaWVzIEJpbGQpIHplaWd0IGJlaW0gVW1zY2hhbHRlbiBrdXJ6IGVpbmVuIFNjaGFsdC0iR2xpdGNoIiwgYWJlcgphbnNvbnN0ZW4gcGVybWFuZW50IHNjaHdhcnouCkRhcyBOb3RlYm9vayBpc3QgZWluIFRhcmdhIFZpc2lvbmFyeSAxODAwKy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNBVEEgKEtvYmF5YXNoaSwgMTUuIE9rdCAyMDAyLCAyMDoxNzo0MSk6CkhpLAoKaGF0IGplbWFuZCBzY2hvbiBlcmZhaHJ1bmdlbiBtaXQgc2VyaWFsIEFUQSBnZW1hY2h0PyBJY2ggbXVzcyBlaW5lbiBncm9zc2VuCklERS1SQUlEIFNlcnZlciBhdWZiYXVlbiB1bmQgdWViZXJsZWdlIG51biwgb2IgaWNoIGVpbmUgM3dhcmUgRXNjYWxhZGUgNzUwMC0xMgpvZGVyIDg1MDAtMTIgc2VyaWFsIEFUQSBDb250cm9sbGVyIG5laG1lbiBzb2xsLiAKU292aWVsIGljaCB3ZWlzcyBnaWJ0IGVzIGJpc2hlciBudXIgc0FUQSBwbGF0dGVuIHZvbiBTRUFHQVRFIFNUMzEyMDAyM0FTIHVuZApTVDgwOTIzQVMsIHVuZCBlaW5lbiBDb252ZXJ0ZXIgc0FUQS0+QVRBIHZvbiAzd2FyZS4KCktvYmF5YXNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY29vbGVyIChHbm9tZSwgMTkuIE9rdCAyMDAyLCAxMDoxNjo0MCk6CndlaXNzIGplbWFuZCwgd2llIGljaCBtZWluZW4gQU1EIDE2MDArIGdsZWljaHplaXRpZyBsZWlzZSBVTkQgaGlucmVpY2hlbmQKa3VlaGxlbiBrYW5uPyBtaXQgbm9ybWFsZW4gbHVmdGt1ZWhsZXJuIGlzdCBlcyBlaW5mYWNoIHp1IGxhdXQgKH4gMzAgZEJhKSwKc28gZGFzcyBpY2ggc2Nob24gbWl0IGRlbSBnZWRhbmtlbiBzcGllbGUsIGVpbmUgd2Fzc2Vya3VlaGx1bmcgZWluenViYXVlbi4KYWJlciB2aWVsbGVpY2h0IGtlbm50IGplbWFuZCBqYSBub2NoIGVpbmUgYmlsbGlnZXJlIGxvZXN1bmcsIGRpZSBpbiBldHdhCmRpZSBnbGVpY2hlbiB2b3J0ZWlsZSBhdWZ3ZWlzZW4ga2Fubj8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY29vbGVyIChFbGRhcm9uLCAxOS4gT2t0IDIwMDIsIDEyOjE1OjMxKToKfiMhIHJuPUdub21lIHJ0PTEwMzUwMTU0MDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNTAxNTQwMApHdWNrIGRpciBtYWwgd3d3LmFjb250by5kZSB1bmQgaW5zYmVzb25kZXJlCmh0dHA6Ly93d3cuYWNvbnRvLmRlL2luZm8vc2lsdmVyYWRvL2luZm8uaHRtIGFuLgoKRWxkYXJvbiwgenVmcmllZGVuZXIgQSBDb250byBLdW5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjb29sZXIgKEdyaW1tYm9ybiwgMTkuIE9rdCAyMDAyLCAxMjoyNzowNik6Cn4jISBybj1FbGRhcm9uIHJ0PTEwMzUwMjI1MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNTAxNTQwMApXYXMgZnVlciBlaW4gTW9uc3RlcnRlaWwgKGF1Y2ggd2VubiBzaWUgbWl0IFNpbGJlciBhbHMgYmVzdGVtIFdhZXJtZWxlaXRlcgp3b2hsIHRhdHNhZWNobGljaCBuaWNodCBsdWVnZW4pLiBBYmVyIGRpZSBWb3JnYWJlIHdhciAiYmlsbGlnZXIgYWxzCldhc3Nlcmt1ZWhsdW5nIi4KQXVzc2VyZGVtIGJpbiBpY2ggbWlyIG5pZSBzbyBzaWNoZXIgZGFzcyBkZXIgS3JhY2ggdGF0c2FlY2hsaWNoIG51ci8KaGF1cHRzYWVjaGxpY2ggdm9tIENQVSBLdWVobGVyIGtvbW10LCBkYSBnaWJ0cyBpbiBkZW4gYWt0dWVsbGVuIENvbXB1dGVybiBkb2NoCmdhbnplIFZlbnRpbGF0b3JlbnNhbW1sdW5nZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGNvb2xlciAoRWxkYXJvbiwgMTkuIE9rdCAyMDAyLCAxMjozNDozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzNTAyMzIyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM1MDE1NDAwCkRpZSBWb3JnYWJlIHdhciwgZGllIENQVSB6dSBrdWVobGVuOyBWaWVsbGVpY2h0IGhhdCBlciBqYSBzb25zdCBrZWluZSBMdWVmdGVyCmltIEdlaGFldXNlLiAKQWJlciBtYWwgYXVzIEludGVyZXNzZTogWmVpZyBtaXIgZG9jaCBlaW5lIFdhc3Nlcmt1ZWhsdW5nLCBkaWUgYmlsbGlnZXIgaXN0LAp1bmQgd28gbWFuIG5vY2ggaGFsYndlZ3MgYmVydWhpZ3Qgc2NobGFmZW4ga2Fubi4KCkVsZGFyb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjb29sZXIgKEhldHRhciwgMTkuIE9rdCAyMDAyLCAxMzoyMDo0Nyk6Cn4jISBybj1Hbm9tZSBydD0xMDM1MDE1NDAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzUwMTU0MDAKSGFsbG8gR25vbWUsCmF1ZiBmb2xnZW5kZXIgU2VpdGUga2FubnN0IER1IERpY2ggYXVzZ2llYmlnIHVlYmVyIEFNRC1MdWVmdGVyIGluZm9ybWllcmVuOgp3d3cuZGUudG9tc2hhcmR3YXJlLmNvbS9jcHUvMDJxMy8wMjA5MTYvaW5kZXguaHRtbApWb24gZGVyIFRlY2huaWsgaGVyIGVpbiBuZXVlciBMdWVmdGVyIHVuZCByZWxhdGl2IGxlaXNlICg1MSBkQihBKSkgaXN0IGRlcgpDb3NoIFBDLUljZWJveCBNYWduZXRpY2ljZS4gSW5mb3MgYmVrb21tc3QgRHUgdW50ZXIgd3d3LmNvc2guZGUgYnp3Lgp3d3cucGMtaWNlYm94LmRlCkJlaSBlaW5lbSBBTUQgMTYwMCsga2FubnN0IER1IGVpbmVuIGRlciBTaWxlbnQtTHVlZnRlciB2ZXJ3ZW5kZW4uClZpZWxlIEdydWVzc2UKSGV0dGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNvb2xlciAoSGV0dGFyLCAxOS4gT2t0IDIwMDIsIDEzOjI1OjU2KToKfiMhIHJuPUVsZGFyb24gcnQ9MTAzNTAyMjUzMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM1MDE1NDAwCk5ldHRlciBMdWVmdGVyLiBBbGxlcmRpbmdzIGV0d2FzIHNjaHdlci4gU29sbHRlIG1hbiBiZWltIFRyYW5zcG9ydCBhdWZwYXNzZW4uClNvIHZpZWwgaWNoIHdlaXNzLCBpc3QgZGllIEVtcGZlaGx1bmcgdm9uIEFNRCAzMDAgR3JhbW0uIERlciBTaWx2ZXJhZG8gbGllZ3QKYmVpIHN0b2x6ZW4gNDEwIEdyYW1tLiBEaWUgSG9laGUga29lbm50ZSBpbiB2aWVsZW4gTWFpbmJvYXJkcyBQcm9ibGVtZQpiZXJlaXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY29vbGVyIChHbm9tZSwgMjAuIE9rdCAyMDAyLCAwMTo1NTo0Myk6Cn4jISBybj1IZXR0YXIgcnQ9MTAzNTAyNjQ0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM1MDE1NDAwCjUxIGRCYSBpc3QgTklDSFQgcmVsYXRpdiBsZWlzZS4gYmVpIDUxIGRCYSBtdXNzIG1hbiBzY2hvbiBkYXMgcmFkaW8gYXVmCmd1dGUgemltbWVybGF1dHN0YWVya2Ugc3RlbGxlbiwgZGFtaXQgbWFuIGRlbiBsdWVmdGVyIG5pY2h0IGhvZXJ0LgphdWYgZGF1ZXIgdmVydHJhZWd0IG1hbiBtYXhpbWFsIDI1IGRCYSwgZHJ1ZWJlciB3aXJkcyBuZXJ2aWcuCmRlciBzaWx2ZXJhZG8gc2llaHQgaW50ZXJlc3NhbnQgYXVzIHVuZCBrb3N0ZXQgYXVjaCBudXIgZGllIGhhZWxmdGUKZWluZXIgd2Fzc2Vya3VlaGx1bmcuIG9id29obCBkYW5uIGRlciBsdWVmdGVyIHRyb3R6ZGVtIG5vY2ggdGV1cmVyCmFscyBkaWUgY3B1IHdpcmQuLi4gYXJnbC4gdmVya2VocnRlIHdlbHQgOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBjb29sZXIgKEhldHRhciwgMjAuIE9rdCAyMDAyLCAxMTo0MjozMCk6Cn4jISBybj1Hbm9tZSBydD0xMDM1MDcxNzQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzUwMTU0MDAKNTEgZEIoQSkgaXN0IGZ1ZXIgZWluZW4gSG9jaGxlaXN0dW5nc2t1ZWhsZXIgemllbWxpY2ggbGVpc2UuIERlciBMdWVmdGVyCmt1ZWhsdCBlaW5lbiBBdGhsb24gMTQwMCBhdWYgNTggR3JhZC4gRGFzIGlzdCBmdWVyIGVpbmVuIGtvbnZlbnRpb25lbGxlbgpMdWVmdGVyIGVpbiBoZXJ2b3JyYWdlbmRlcyBFcmdlYm5pcy4gTGVpc2VyZSBLdWVobGVyIGZpbmRlc3QgRHUgaW4gZGVtClRlc3RiZXJpY2h0IGJlaSB3d3cudG9tc2hhcmR3YXJlLmRlLgoKSGV0dGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBjb29sZXIgKEFudGhlYSwgMjEuIE9rdCAyMDAyLCAxMTo0MDo0Myk6Cn4jISBybj1IZXR0YXIgcnQ9MTAzNTEwNjk1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM1MDE1NDAwCkhtLi4uIGpldHp0IHd1ZXJkZSBtaWNoIG1hbCBpbnRlcmVzc2llcmVuLCB3aWUgbGF1dCBtZWluIEFyYmVpdHNyZWNobmVyIGRhCmlzdC4gSXN0IGhhbHQgZWluIER1YWwtWGVvbkAyR0h6LCB1bmQgdWViZXIgamVkZW0gZGVyIGJlaWRlbiBQcm96ZXNzb3JlbiBzaXR6dAplaW4gcmljaHRpZ2VyIFdpbmRrYW5hbC4gVW5kIGRhcyBpc3QgZXR3YXMsIHdhcyBtYW4gZHVyY2hhdXMgb2huZSBQcm9ibGVtZSBhbHMKTGFlcm1iZWxhZXN0aWd1bmcgYW5zZWhlbiBrYW5uLiBXYWhyc2NoZWlubGljaCBzaW5kIGRpZSBFbnR3aWNrbGVyIG5pZSBhdWYgZGllCklkZWUgZ2Vrb21tZW4sIGRhc3MgamVtYW5kIHNvd2FzIG5pY2h0IGltIHNlcGFyYXRlbiBTZXJ2ZXJyYXVtIHN0ZWhlbiBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBjb29sZXIgKEdub21lLCAyMS4gT2t0IDIwMDIsIDEyOjM2OjExKToKfiMhIHJuPUFudGhlYSBydD0xMDM1MTkzMjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzUwMTU0MDAKZWlnZW50bGljaCBnZWhvZXJ0IGplZGVyLCBkZXIgc293YXMgZW50d2lja2VsdCwgb2huZSBhdWNoIG51ciBlaW5lbgpnZWRhbmtlbiBhbiBkaWUgZGFyYXVzIHJlc3VsdGllcmVuZGUgbGFlcm1iZWxhZXN0aWd1bmcgenUgdmVyc2Nod2VuZGVuLApnZWx5bmNodC4gd2lyIGhhYmVuIGRhcyBkaW5nIHZlcmthdWZ0LCBlcyBrdWVobHQsIG1laHIgaW50ZXJlc3NpZXJ0CnVucyBuaWNodC4gbmFqYSwgJ3Byb2R1a3RvcHRpbWllcnVuZycgd3VyZGUgaW4gZGV1dHNjaGxhbmQgbm9jaCBuaWUKZ3Jvc3MgZ2VzY2hyaWViZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTHVnIGJyYXVjaHQgbmVuIFJlY2huZXIgKERlbW9uYXosIDIyLiBPa3QgMjAwMiwgMDI6Mjg6MTkpOgpNb2luc2VuLAoKTHVnIGJyYXVjaHQgbmVuIG5ldWVuIFJlY2huZXIgdW5kIHN0ZWxsdCBzaWNoIGZvbGdlbmRlIEZyYWdlOgoKQXVmIGRlbiBuYWVjaHN0ZW4gQWxkaS9QbHVzLUNvbXBpIHdhcnRlbiBvZGVyIHNpY2ggd2FzIHZlcmdsZWljaGJhcmVzCnp1c2FtbWVuc2NocmF1YmVuIGxhc3Nlbj8KCmkuQS5kLkguCkRlbW9uYXp6enp6enp6egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1ZyBicmF1Y2h0IG5lbiBSZWNobmVyIChDcml0dGVyLCAyMi4gT2t0IDIwMDIsIDAzOjE1OjI0KToKfiMhIHJuPURlbW9uYXogcnQ9MTAzNTI0NjQ5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM1MjQ2NDk5CndhcyB3aWxsc3RlIGRhbWl0IG1hY2hlbi4uLgpkYXMgaXN0IGRpZSB6ZW50cmFsZSBmcmFnZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTHVnIGJyYXVjaHQgbmVuIFJlY2huZXIgKEdyaW1tYm9ybiwgMjIuIE9rdCAyMDAyLCAwNDo0NzozNCk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMzUyNDkzMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNTI0NjQ5OQpEaWVzZSBBbGRpLVBDcyBsb2huZW4gc2ljaCBnZW5hdSBkYW5uLCB3ZW5uIER1IHdpcmtsaWNoIGFsbGUgS29tcG9uZW50ZW4gc28KaGFiZW4gd2lsbHN0IHVuZCB2ZXJ3ZW5kZXN0LiBTb2JhbGQgRHUgc2Fnc3QgImlzIGphIG5ldHQsIGFiZXIgaWNoIGtvbW1lIG1pdAplaW5lciBiaWxsaWdlcmVuIEdyYXBoaWtrYXJ0ZSBhdXMsIHVuZCB3aWxsIGF1Y2gga2VpbiBXaW5kb3dzIGRyYXVmIGhhYmVuLAp3ZWlsIGljaCBoaWVyIG5vY2ggZGllIFJhdWJrb3BpZSBydW1saWVnZW4gaGFiZSIgaXN0IGVzIGd1ZW5zdGlnZXIgc2ljaCBkZW4KenVzYW1tZW5zY2hyYXViZW4genUgbGFzc2VuLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1ZyBicmF1Y2h0IG5lbiBSZWNobmVyIChWYW5pb24sIDIyLiBPa3QgMjAwMiwgMDc6MTA6MDMpOgp+IyEgcm49RGVtb25heiBydD0xMDM1MjQ2NDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzUyNDY0OTkKSGksCgpJY2ggaGFiIG1pciBhbSBXb2NoZW5lbmRlIGVpbmVuIEFNRCAxODAwKyB6dXNhbW1lbmdlc2NocmF1YnQKKEdmb3JjZS1ncmFmaWssLXNvdW5kLC1uZXR6d2VyayBvbmJvYXJkLCBEVkQtUk9NLCBGREQsIDI1Nk1CIFNwZWljaGVyKSBJcyBuaWNoCkhpZ2ggRW5kLCBhYmVyIGxhbmd0IGRpZSBuYWVjaHN0ZW4gKDItMykgSmFocmUgd29obCBmdWVyIGFsbGVzLCB3YXMgaWNoIG1hY2hlLgpTZWxic3QgZnVlciBkaWUgbWVpc3RlbiBTcGllbGUgc29sbHRlIGRhcyB0dW4uIEtvc3RldGUgY2EgNDAwIEV1cm8uCihGZXN0cGxhdHRlIGhhYiBpY2ggZGllIGFsdGUgZ2Vub21tZW4sIHNvbnN0IGthZW1lbiB3b2hsIG5vY2htYWwgMTAwLTIwMCBFdXJvCnp1LikgU2VsYnN0YmF1ZW4ga2FubiBhbHNvIGR1cmNoYXVzIGVpbmUgaW50ZXJlc3NhbnRlIEFsdGVybmF0aXZlIHNlaW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMdWcgYnJhdWNodCBuZW4gUmVjaG5lciAoTm9ubmUsIDIyLiBPa3QgMjAwMiwgMTI6NDY6NTgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzUyNjM0MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNTI0NjQ5OQpBbGRpLVJlY2huZXIgcmF0ZSBpY2ggdm9uIGFiLiBBbGxlaW5lIGRlbiBBZXJnZXIsIGRlbiBtYW4gaGF0LCB3ZW5uIGRhcyBUZWlsCmthcHV0dCBpc3QsIGthbm4gbWFuIHNjaGxpZXNzbGljaCBuaWNodCBhbiBkZXIgQWxkaS1LYXNzZSBhYmdlYmVuLCB3YWVyZW4Kc2Nob24gZGllIHBhYXIgRXVybyB3ZXJ0LCBkaWUgZXR3YXMgdmVyZ2xlaWNoYmFyZXMgYmVpbSBLaXN0ZW5zY2hpZWJlciB1bSBkaWUKRWNrZSBrb3N0ZW4uIEF1c3NlcmRlbSBoYXR0ZW4gZGllIGFsbGUgaWhyZSBNYWNrZW4gdW5kIHdhcmVuIGZ1ZXIgZGllCnZlcmJhdXRlbiBUZWlsZSB6dSBsYW5nc2FtLiBBbHNvIGxpZWJlciBqZW1hbmQgZnJhZ2VuLCBkZXIgQWhudW5nIGhhdCB1bmQgbWl0CmRlbSB6dW0gSGFlbmRsZXIgdW0gZGllIEVja2UgZ2VoZW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzQVRBIChUb2UsICAxLiBOb3YgMjAwMiwgMjM6NTE6NTkpOgp+IyEgcm49S29iYXlhc2hpIHJ0PTEwMzQ3MDU4NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDcwNTg2MQp3YXMgaXN0IGJpdHRlIGdyb3NzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNBVEEgKFRoYXJnb3IsICAxLiBOb3YgMjAwMiwgMjM6NTM6NTkpOgp+IyEgcm49S29iYXlhc2hpIHJ0PTEwMzQ3MDU4NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNDcwNTg2MQouLnN0ZWh0IG5pY2h0IGluIGRlciBuZXVlbiBjYHQgd2FzIHVlYmVyIHNhdGE/CgpUaGFyZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb2dtb25pdG9yaW5nIChHcmltbWJvcm4sICA4LiBOb3YgMjAwMiwgMTQ6MDg6MDIpOgpJY2ggYmluIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lciBBcnQgTW9kdWwsIG1pdCBkZW0gaWNoIGxvZyBmaWxlcyBtb25pdG9yZW4Ka2Fubi4gU28gaW4gZGVyIEFydCAic2NoYXUgaW5zIGxvZywgd2VubiBEdSBibGEgZmluZGVzdCwgZGFubiBtYWNoIGJsdWJiIi4KSWRlYWxlcndlaXNlIHNvbGwgZGFzIGV0d2FzIHNlaW4gd2FzIGFsbGUgaGFsYmUgU3R1bmRlIGF1ZmdlcnVmZW4gd2VyZGVuIGthbm4KdW5kIG5pY2h0IGFsbGUgZXZlbnRzIHNlaXQgQmVnaW5uIGRlcyBsb2dzIG1lbGRldCBzb25kZXJuIG51ciBkaWUgc2VpdCBkZW0KbGV0enRlbiBBdWZydWYgYnp3LiBpbiBkZXIgbGV0enRlbiBoYWxiZW4gU3R1bmRlIGF1ZmdldHJldGVuZW4uIE5vdGZhbGxzIGF1Y2gKd2FzLCBkYXMgc2ljaCBmZXN0IGFucyBsb2cgaGFlbmd0IHVuZCBwZXJtYW5lbnQgZ3Vja3QuIAoKSWNoIGJpbiBrZWluIFByb2dyYW1taWVyZXIuIEljaCB3aWxsIHdhcyBpbiBzaGVsbC9wZXJsLCB3byBpY2ggbW9lZ2xpY2hzdAp3ZW5pZyBkcmFuIG1vZGlmaXppZXJlbiBtdXNzLCBxdWFzaSBhbSBBbmZhbmcgTE9HRklMRT0vbG9nL2ZpbGUsClRSSUdHRVI9InRyaWdnZXIxIHRyaWdnZXIyIiB1bmQgQUNUSU9OPWxhZXV0ZV9hbGFybWdsb2NrZW4uc2ggc2V0emVuIG11c3MgdW5kCmVzIHR1dC4gS2VubnQgZGEgamVtYW5kIHp1ZmFlbGxpZyBlaW4gYnJhdWNoYmFyZXMgR2VydWVzdCBmdWVyPwoKSGllciBub2NoIGVpbiBwYWFyIERpbmdlLCBkaWUgaW0gQXJ0aWtlbCBhdWZncnVuZCB2b24gQWJsZW5rdW5nZW4gZmVobGVuOgoiLCwiLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTG9nbW9uaXRvcmluZyAoV2hpdGV0aWdlciwgIDguIE5vdiAyMDAyLCAxODozOTo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzNjc2MDg4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM2NzYwODgyCmFsc28gaWNoIGJpbiBtaXIgbmljaHQgZ2FueiBzaWNoZXIuLi4gYWJlciBpY2ggZGVua2UgZGFzcyBzd2F0Y2ggZGFzcyB0dW4Ka29lbm50ZSB3YXMgZHUgYnJhdWNoc3QuLi4gYXVmIGplZGVuZmFsbCBrYW5uIGRhcyBsb2dzIHVlYmVyd2FjaGVuIDopIGFiZXIgd2llCndlaXNzIGljaCBuaWNodC4KaHR0cDovL3d3dy5vaXQudWNzYi5lZHUvfmV0YS9zd2F0Y2gKaXN0IG5pY2h0IDEwMCVpZyBha3R1ZWxsICgxMS8yMDAxKSwgcGVybCwgc29sbHRlIGFiZXIgbm9jaCBmdW5rdGlvbmllcmVuIDopCgpXVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc0FUQSAoS29iYXlhc2hpLCAgOS4gTm92IDIwMDIsIDEyOjI0OjIzKToKfiMhIHJuPVRvZSBydD0xMDM2MTkxMTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzQ3MDU4NjEKMS0yIFRlcmFieXRlLCBkLmguIDN3YXJlIGVzY2FsYWRlIDg1MDAtMTIga2FydGUgbWl0IDEyeCAobWluZCkgMTIwR0IgcGxhdHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmphbW1lciAoUGF0cnluLCAxNi4gTm92IDIwMDIsIDEzOjQ4OjMzKToKamV0enQgaGF0cyBtaWNoIGFsc28gYXVjaCBlcndpc2NodCwKaWNoIG11c3MgZWluZSBBY3RpdmVYLWtvbXBvbmVudGUgd2VpdGVycGZsZWdlbiAqc2V1ZnoqIDspCmdpYnRzIGlyZ2VuZHdvIGVpbmUgYnJhdWNoYmFyZSBkb3dubG9hZGJhcmUgZG9rdW1lbnRhdGlvbiB6dSBkZW0ga3JhbT8KYXVmIG1zbiBnaWJ0cyB2aWVsZSB0b2xsZSBzYWNoZW4sIGFiZXIgbGVpZGVyIG5pY2ggaW4gZWluZW0gc3R1ZWNrCmF1ZiBwbGF0dGUgdmVyc2NoaWViYmFyPwoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVRBL01hc3EvUmV0dXJuLVBhdGggKEN1Y2h1bGxpbiwgMTYuIE5vdiAyMDAyLCAyMTowMjo1MCk6CgpJY2ggbW9lY2h0ZSBtZWluZW0gTVRBIChQb3N0Zml4KSBiZWlicmluZ2VuLCBkYXNzIGVyICJSZXR1cm4tUGF0aDoiIGF1ZgpkZW4gV2VydCBkZXMgIkZyb206IiBzdGVsbGVuIHNvbGwuIFdpZSBtYWNoIGljaCBkYXM/IFN0YXRpc2NoZXMgTWFzcXVlcmFkaW5nCmlzdCBrZWluIFByb2JsZW0sIGFiZXIgZGEgaWNoIHVudGVyIGRlbSBOdXR6ZXIgdmVyc2NoaWVkZW5lIEVtYWlsYWRyZXNzZW4KYWxzIEFic2VuZGVyIGVpbnRyYWdlLi4uIGtuYWxsdCBlcyBkYSBkYW5uLgoKWVRDdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGphbW1lciAoTXVhZGliLCAxNi4gTm92IDIwMDIsIDIzOjAzOjQxKToKfiMhIHJuPVBhdHJ5biBydD0xMDM3NDUwOTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc0NTA5MTMKZGEgZ2FicyBlaW4gYnJhdWNoYmFyZXMgbWljcm9zb2Z0cHJlc3MgenUsIGZyYWcgYWJlciBuaWNodCB3ZWxjaGVzIHZvbiBkZW4KdmllbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc2VkJmF3ayAoR3JpbW1ib3JuLCAxOC4gTm92IDIwMDIsIDE3OjAzOjQ0KToKSGllciBnaWJ0cyBkb2NoIGJlc3RpbW10IExldXRlIGRpZSBHZWZhbGxlbiBhbiBzb3dhcyB3aWUgc2VkIHVuZCBhd2sgaGFiZW4uCkFsc286Clp3ZWkgZmlsZXMsIGZpbGUxIHVuZCBmaWxlMi4gSWNoIHdpbGwgZWluIGZpbGUzIGhhYmVuLCBkYXNzIGFsbGUgWmVpbGVuIHZvbgpmaWxlMSBlbnRoYWVsdCwgZGllIG5pY2h0IGluIGZpbGUyIHNpbmQuIFdlbm4gaGluZ2VnZW4gaW4gZmlsZTIgWmVpbGVuIHNpbmQsCmRpZSBpbiBmaWxlMSBuaWNodCB2b3Jrb21tZW4sIHNvbGwgZmlsZTIgc28gZ2VhZW5kZXJ0IHdlcmRlbiwgZGFzcyBlcyBkaWVzZQpaZWlsZW4gbmljaHQgbWVociBlbnRoYWVsdC4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzZWQmYXdrIChDYXR3ZWF6bGUsIDE4LiBOb3YgMjAwMiwgMTc6MTA6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzc2MzU0MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzYzNTQyNApEYXJmcyBhdWNoIG5lIEtvbWJpbmF0aW9uIGF1cyBkaWZmLCBncmVwIHVuZCBjdXQgc2Vpbj8gCkRhcyB3aXJkIGFiZXIgZ3JhdXNhbSwgaWNoIHd1ZXJkZSBkYXMgcGVybGVuLiAKClp3aW5nZW5kIGF3ay9zZWQ/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2VkJmF3ayAoV2hpdGV0aWdlciwgMTguIE5vdiAyMDAyLCAxNzoxMToxMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAzNzYzNTgxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjM1NDI0Cm9kZXIgc2NobGFuZ2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzZWQmYXdrIChHcmltbWJvcm4sIDE4LiBOb3YgMjAwMiwgMTc6MTI6NDkpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDM3NjM1ODczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKUHl0aG9uIGZhZWxsdCByYXVzLCA1LjAwNV8wMiBQZXJsZW4genVtIHZvciBkaWUgU2FldWUgd2VyZmVuIHdhZXJlbiBkYSwgamEuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHNlZCZhd2sgKEVsYmVyZXQsIDE4LiBOb3YgMjAwMiwgMTc6MTQ6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzc2MzU5Njkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzYzNTQyNAp3aWVzbyBmYWVsbHQgcHl0aG9uIGF1cz8gc29uc3Qgd3VlcmQgaWNoIGRpciBqYSBnbGF0dCBzbyBuZW4gZGluZyBzY2hyZWliZW4KYWJlciB3ZW5uIGRhbm4gbnVyIGluIHB5dGhvbgoKRWxiaQouLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogc2VkJmF3ayAoR3JpbW1ib3JuLCAxOC4gTm92IDIwMDIsIDE3OjE3OjQwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzNzYzNjA1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjM1NDI0CndoaWNoIHB5dGhvbgpubyBweXRob24gaW4gL3Vzci9iaW4gL3Vzci9uZWNiaW4gL3Vzci91Y2IgL3Vzci9jY3MvYmluIC91c3IvYmluL1gxMQovdXNyL2Jpbi9YMTEvY29udHJpYiAvdXNyL2Jpbi9YMTEvZGVtb3MgL3Vzci9zYmluIC9vcHQvc3gvYmluIC9zYmluIC9ob21lL3Jvb3QKL29wdC9PVi9iaW4gL29wdC9vcGVuc3NoMi9iaW4gL3Vzci9jb250cmliL2JpbgoKTWl0IGFuZGVyZW4gV29ydGVuOiBhdWYgZGVyIEtpc3RlIGdpYnRzIGtlaW5lbiBFZGdeV15IXkhQeXRob24uIE5laW4sCmluc3RhbGxpZXJlbiBpc3QgbmljaHQgd2lya2xpY2ggZWluZSBBbHRlcm5hdGl2ZSwgZGllIEZ1bmt0aW9uYWxpdGFldCBhdWYKZWluZW4gYW5kZXJlbiBSZWNobmVyIGF1c2xhZ2VybiBpc3QgYmVzdGVuZmFsbHMgdW1zdGFlbmRsaWNoIHVuZCBkYWhlciB1ZWJlcgprdXJ6IG9kZXIgbGFuZyBlaW4gTWFpbnRlbmFuY2UtQWxidHJhdW0uIFdhcyBuYXR1ZXJsaWNoIGVpZ2VudGxpY2ggZWdhbCBpc3QsCndlaWwgamEgZGllc2VzIHVuc2F1YmVyZSBHZXNjcmlwdGUgZ2FueiBnYW56IGdhbnogYmVzdGltbXQgYmFsZCBkdXJjaCB3YXMKdG90YWwgcHJvZmVzc2lvbmVsbGVzIGFiZ2Vsb2VzdCB3aXJkLCBvaCBqYS4gRWhybGljaCB3YWhyLiBDcm9zcyBteSBoZWFydCBhbmQKaG9wZSB0byBkeWUsIG9kZXIgc28uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHNlZCZhd2sgKEh1bW5pLCAxOC4gTm92IDIwMDIsIDE3OjMzOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM3NjM2MjYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKSWNoIHd1ZXJkcyBUY0xuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHNlZCZhd2sgKENhdHdlYXpsZSwgMTguIE5vdiAyMDAyLCAxNzo0NjoyMCk6Cn4jISBybj1IdW1uaSBydD0xMDM3NjM3MTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKYWxzbyBkZW4gZXJzdGVuIFRlaWwgaGFiIGljaCBtaXQgY2F0IHdoaWxlIHVuZCBncmVwIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBzZWQmYXdrIChDYXR3ZWF6bGUsIDE4LiBOb3YgMjAwMiwgMTc6NTY6MzQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMzc2Mzc5ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzYzNTQyNApzbyBnZWh0czoKY3AgZjEgZjM7Y2F0IGYyIHwod2hpbGUgcmVhZCBMSU5FOyBkbyBncmVwIC12ICIkTElORSIgZjMgPmYzdG1wICYmIG12IC1mIGYzdG1wCmYzOyBkb25lOykKY3AgZjEgZjQ7Y2F0IGYzIHwod2hpbGUgcmVhZCBMSU5FOyBkbyBncmVwIC12ICIkTElORSIgZjQgPmY0dG1wICYmIG12IC1mIGY0dG1wCmY0OyBkb25lOykKCkZ1ZXIgWmVpbGVudW1icnVlY2hlIGthbm4gaWNoIGhpZXIgbml4IChzaW5kIHp3ZWkgWmVpbGVuKS4KZjQgaXN0IGRhbm4gZGVpbiBuZXVlcyBmMi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogc2VkJmF3ayAoR3JpbW1ib3JuLCAxOC4gTm92IDIwMDIsIDE4OjM3OjE1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDM3NjM4NTk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKR2licyB6dSwgRHUgd29sbHRlc3QgbWljaCBkYWR1cmNoLCBkYXNzIER1ICI+IiBzdGF0dCAiPj4iIHZlcndlbmRldCBoYXN0IGFucwpNZXNzZXIgbGllZmVybi4uLgoKR2RBLCBhbSBiYXN0ZWxuLCBrdWVyemVuLCBrb3JyaWdpZXJlbiB1bmQgYnVnZWluYmF1ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBzZWQmYXdrIChXaGl0ZXRpZ2VyLCAxOC4gTm92IDIwMDIsIDE4OjM4OjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM3NjQxMDM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKbWFuIHNvbGx0ZSBlaCBpbW1lciBlcnN0IGVpbiBiYWNrdXAgbWFjaGVuLi4uIHVuZCBkYW5uIGVyc3QgaXJnZW5kd2VsY2hlCnNrcmlwdGUgbGF1ZmVuIGxhc3NlbiA7KQpXVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBzZWQmYXdrIChHcmltbWJvcm4sIDE4LiBOb3YgMjAwMiwgMTg6Mzk6NTIpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDM3NjQxMTA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKR2x1ZWNrbGljaGVyd2Vpc2UgaXN0IGRhcywgd28gZGllIFNrcmlwdGUgaGluc29sbGVuLCAobm9jaCkgZWluZSBTcGllbHdpZXNlLgpEYXMgc2NobGltbXN0ZSwgd2FzIHBhc3NpZXJlbiBrYW5uIGlzdCwgZGFzcyBlaW5lIE1lbmdlIExldXRlIHNpbm5sb3NlIG1haWxzCmtyaWVnZW4uIFdvYmVpIGljaCB3ZW5pZyBNaXRsZWlkIGhhYmU6IGRpZWplbmlnZW4sIGRpZSBhbSBsYXV0ZXN0ZW4gc2NocmVpZW4sCmhhYmVuIGF1ZiBkZXIgZW50c3ByZWNoZW5kZW4gTWFpbGluZ2xpc3RlIGFtIHdlbmlnc3RlbiB6dSBzdWNoZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzZWQmYXdrIChWYW5pb24sIDE4LiBOb3YgMjAwMiwgMjA6NTE6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzc2MzU0MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzYzNTQyNAo+IFp3ZWkgZmlsZXMsIGZpbGUxIHVuZCBmaWxlMi4gSWNoIHdpbGwgZWluIGZpbGUzIGhhYmVuLCAKPiBkYXNzIGFsbGUgWmVpbGVuIHZvbiBmaWxlMSBlbnRoYWVsdCwgZGllIG5pY2h0IGluIGZpbGUyIAo+IHNpbmQuIAoKZ3JlcCAtdiAtZiBmaWxlMiBmaWxlMSA+IGZpbGUzCgoiLWYgZmlsZTIiIG5pbW10IGZpbGUyIGFscyBmaWxlIG1pdCBzZWFyY2ggcGF0dGVybi4KIi12IiAgICAgICB1bnRlcmRydWVja3QgZGllIEF1c2dhYmUgZGVyIHBhc3NlbmRlbiBaZWlsZW4uCgo+IFdlbm4gaGluZ2VnZW4gaW4gZmlsZTIgWmVpbGVuIHNpbmQsIGRpZSBpbiBmaWxlMSBuaWNodCAKPiB2b3Jrb21tZW4sIHNvbGwgZmlsZTIgc28gZ2VhZW5kZXJ0IHdlcmRlbiwgZGFzcyBlcyBkaWVzZSAKPiBaZWlsZW4gbmljaHQgbWVociBlbnRoYWVsdC4gCgpncmVwIC1mIGZpbGUxIGZpbGUyID4gbXlfdG1wIDsgbXYgbXlfdG1wIGZpbGUyCgpGYWxscyBncmVwIGRpZSBPcHRpb24gLWYgbmljaCBoYXQgKCBiZWkgYWVsdGVyZW4gU29sYXJpcyB1bmQgc28gdm9yc3RlbGxiYXIsCkdudSBncmVwIGthbm5zLikga29lbm50ZXN0IER1IHNjaGF1ZW4gb2IgRHUgZWdyZXAgb2RlciBzbyBoYXN0IC0gb2RlciBkdQprYW5uc3QgZGllICdzZWFyY2gtcGF0dGVybicgendlaWxlbndlaXNlIGFiYXJiZWl0ZW4uCgpWKiwgbWFnIHNlZCB1bmQgbGllYnQgYXdrLXNrcmlwdGUuIERhcyB3YWVyIGhpZXIgYWJlciBLYW5vbmVuIGF1ZiBLbGVpbnZpZWguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXR6d2Vya2UgdW50ZXIgRE9TIChNb3Jnb25hdGUsIDE4LiBOb3YgMjAwMiwgMjE6MzQ6MTgpOgpIYWxsbyBMZXV0ZSwKaGF0IGVpbmVyIHZvbiBldWNoIHNjaG9uIG1hbCBlaW5lbSBEb3MtUmVjaG5lciAoVjYuMjIpIFRDUC9JUCBvZGVyIE5ldEJldWkKYmVpZ2VicmFjaHQ/CkdpYnQgZXMgaXJnZW5kd28gZWluZSB2ZXJudWVuZnRpZ2UgRG9rdSBkYXp1PwpHb29nbGUga29ubnRlIGxlaWRlciBuaWNodHMgZmluZGVuLCB3YXMgbWlyIHdlaXRlcmdlaG9sZmVuIGhhdC4KCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQQ1JFIChDdWNodWxsaW4sIDE5LiBOb3YgMjAwMiwgMDY6MDc6MTUpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzc2ODIyMTAgcmc9bXVkY2xpZW50cwp+IyEgdGlkPTEwMzc2NjYzNDQKV2FzIG1pY2ggenVyIG5hZWNoc3RlbiBGcmFnZSBicmluZ3Q6IEthbm4gbWFuIFBvc3RmaXggYmVpYnJpbmdlbiwgCmplIEFic2VuZGVyIGRlciBNYWlsIGVpbmVuIGFuZGVyZW4gYXV0aC1ieS1wYXNzd29yZCBzbXRwLVNlcnZlciBhbnp1bGFiZXJuPwoKQ3VjaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldHp3ZXJrZSB1bnRlciBET1MgKEdyaW1tYm9ybiwgMTkuIE5vdiAyMDAyLCAwNjozODoyNSk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9MTAzNzY1MTY1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjUxNjU4Ckd1Y2sgbWFsIGltIGZyZXVuZGxpY2hlbiBNdXNldW0gdW1tZSBFY2tlIG5hY2ggIlRydW1wZXQgV2luc29jayIsIGRhcyB3YXIKZGFtYWxzIGplZGVuZmFsbHMgZGVyIFRDUC9JUCBzdGFjayBkZXIgV2FobCwgdW5kIGRlbiBnYWJzIGF1Y2ggaW4gZWluZXIKVmVyc2lvbiBkaWUgbWFuIG5pY2h0IGJlemFobGVuIG11c3N0ZS4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzZWQmYXdrIChOb25uZSwgMTkuIE5vdiAyMDAyLCAwNzo0NDoxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzNzYzNTQyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjM1NDI0Cldlbm4gZGllIFplaWxlbiBuaWNodCBzb3J0aWVydCBzaW5kLCB3dWVyZGUgaWNoIHNlZCAmIGF3ayBuaWNodCBlbXBmZWhsZW4uClNvbGx0ZW4gZGllIEZpbGVzIGluIGRlbiBTcGVpY2hlciBwYXNzZW4sIGlzdCBkYXMgbWl0IFBlcmwgd2lya2xpY2ggbmljaHQgZGFzClByb2JsZW0uCgpOb25uZSwgZW1wZmllaGx0ICdQZXJsIGZ1ZXIgRHVtbWllcycKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBDUkUgKEN1Y2h1bGxpbiwgMTkuIE5vdiAyMDAyLCAxMDo1NTowMik6Cn4jISBvbj1DdWNodWxsaW4gb3Q9MTAzNzY5MjI1MiBvZz1tdWRjbGllbnRzCn4jISBybj1BbWFyeWxsaXMgcnQ9MTAzNzY5MjA3NSByZz1tdWRjbGllbnRzCn4jISB0aWQ9MTAzNzY2NjM0NApXZW5uIGljaCBkZW4gc210cCB2b24gVC1PZmZsaW5lIG51dHplbiB3aWxsLCBicmljaHQgZXIgbWlyIGlyZ2VuZHdhcyAKYWIsIHdlbm4gaWNoIGFscyBBYnNlbmRlciAiQHdlYi5kZSIgYW5nZWJlLiBBbHNvIGVudHdlZGVyIGJlaW0gWmllbHJlY2huZXIKYWJsaWVmZXJuIG9kZXIgZGVuIFJlY2huZXIsIGRlciBkaWUgQWJzZW5kZXJhZHJlc3NlIGhhdCwga2xpbmdlbG4gZ2VoZW4uCgpXaWUgZ2VzYWd0LCBkYXMgd3VlcmRlIGhlaXNzZW4sIGRhc3MgaWNoIG1laW5lbSBhcm1lbiBQb3N0Zml4IGVya2xhZXJlbiAKbXVzcywgZnVlciB3ZWxjaGUgQWRyZXNzZSBlciB3byBoYXVzaWVyZW4gZ2VodCAod2ViLmRlLCBnbXguZGUsIHB1cmV0ZWMuZGUsCnVuaS1vc25hYnJ1ZWNrLmRlIHVuZCBlaW5lIGdhbnogcHJpdmF0ZSkuIERpZXNiZXp1ZWdsaWNoIGJpbiBpY2ggbW9tZW50YW4Kc29nYXIgdWViZXJmcmFndCwgb2IgZXMgdGF0c2FlY2hsaWNoICpnZWh0Ki4KCllUQ3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBDUkUgKE1vcmdvdGgsIDE5LiBOb3YgMjAwMiwgMTE6MDY6MTApOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMzc2OTk3MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzY2NjM0NApEdSBrYW5uc3QgZnVlciBMdWx1IGJlaSBULU9mZmxpbmUgZWluIFNNVFAtUmVsYXkgImJlc3RlbGxlbiIsIGRhbm4ga2xhcHB0IGRhcwphdWNoIG1pdCBhbmRlcmVuIEFkcmVzc2VuL0RvbWFpbnNPRi4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0endlcmtlIHVudGVyIERPUyAoVHJ1ZywgMTkuIE5vdiAyMDAyLCAxOTo0MTo0MSk6Cn4jISBybj1Nb3Jnb25hdGUgcnQ9MTAzNzY1MTY1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjUxNjU4Cmd1Z2cgbWFsIGF1ZiB3d3cub2xkc2tvb2wub3JnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc2VkJmF3ayAoQ2F0d2VhemxlLCAyMC4gTm92IDIwMDIsIDA5OjE1OjEwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM3NjQxMDM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2MzU0MjQKTmVpbiwgZGFzID4gaXN0IHNjaG9uIEFic2ljaHQuIE1pdCA+PiBmdW56dCBkYXMgbmljaHQuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29mdHdhcmVwcm9ibGVtOiBYUCB1bmQgU2V0dXAtUHJvZ3JhbW1lIChBbWFyeWxsaXMsIDIwLiBOb3YgMjAwMiwgMjE6MDQ6MTQpOgpNb2luLAoKc28sIGljaCBvdXRlIG1pY2ggamV0enQgYXVjaCBtYWwsIHVuZCB6d2FyIGJlenVlZ2xpY2ggWFAgYXVmIG1laW5lbSBwcml2YXRlbgpab2NrcmVjaG5lciAoamEsIHp1bSBab2NrZW4gdGF1Z3RzIGR1cmNoYXVzIHdhcykuClNlaXQgZWluZXIgTmV1aW5zdGFsbGF0aW9uIGJla29tbWUgaWNoIGJlaW0gSW5zdGFsbGF0aW9uc3ZlcnN1Y2ggZGVyCnVudGVyc2NoaWVkbGljaHN0ZW4gU29mdHdhcmUsIGRpZSBhdWYgZGVtIGRhdm9yIGluc3RhbGxpZXJ0ZW4gWFAgd3VuZGVyYmFyCmluc3RhbGxpZXJ0IHdlcmRlbiBrb25udGUsIGZvbGdlbmRlIEZlaGxlcjoKIlN0cmluZyBQUk9EVUNUX05BTUUgd2FzIG5vdCBmb3VuZCBpbiBzdHJpbmcgdGFibGUiCiJEaWUgU3VwcG9ydC1EYXRlaSBmdWVyIGRpZSBJbnN0YWxsYXRpb24ga29ubnRlIG5pY2h0IGluc3RhbGxpZXJ0IHdlcmRlbi4gRGFzCmFuZ2VnZWJlbmUgTW9kdWwgd3VyZGUgbmljaHQgZ2VmdW5kZW4uIgoKWnVtIGVyc3RlbiBGZWhsZXIgZ2lidHMgZWluZW4gR29vZ2xlLUhpbnQsIGRlciBhYmVyIGluIGRpZSBJcnJlIGZ1ZWhydC4KQW5zb25zdGVuIGhhYiBpY2ggYmVpIEdvb2dsZSBudXIgaGVyYXVzZ2VmdW5kZW4sIGRhc3MgZGllcyB3b2hsIGVpbiBGZWhsZXIgdm9uCkluc3RhbGxTaGllbGQgaXN0LCBkYXMgYmVpIGRpZXNlbiBQcm9ncmFtbWVuIHp1ciBJbnN0YWxsYXRpb24gdmVyd2VuZGV0IHdpcmQuCkVpbiBLb25zdWx0aWVyZW4gZGVyIEtub3dsZWRnZSBCYXNlIGJlaSBJbnN0YWxsU2hpZWxkIHdhciB6d2Vja2xvcy4KCkhhdCBkYSBqZW1hbmQgZWluZSBJZGVlIGRhenU/IERlciBXaXR6IGlzdCBqYSwgZGFzcyBlcyBhdWYgZGVtIGFsdGVuIFN5c3RlbQoodm9uIGV4YWt0IGdsZWljaGVyIFNvdXJjZSBldGMuIGluc3RhbGxpZXJ0KSBkaWVzZSBQcm9ibGVtZSBuaWNodCBnYWIuLi4KWzFdCgpGdWVyIGVybnN0aGFmdGUgVm9yc2NobGFlZ2UgZGFua2JhciA6KQpBbWEqCgpbMV0gTXVzcyBiZWkgV2luYmxvZWQgbml4IGhlaXNzZW4sIGljaCB3ZWlzcy4uLgoKUFM6IGVzIGhhdCBnZ2YuIHdhcyBtaXQgZWluZW0gU3ByYWNoZW4vUmVnaW9uZW5wcm9ibGVtIHp1IHR1bi4gSWNoIGhhYiBhdWNoCnNjaG9uIHNhZW10bGljaGUgU3BhbW1lcm1vZHVsZSAoa29yZWFuaXNjaGUgU2NocmlmdHplaWNoZW4gZXRjLiAqZyopCm5hY2hnZWxhZGVuLCBhYmVyIG9obmUgRXJmb2xnLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHp3ZXJrZSB1bnRlciBET1MgKE1vcmdvbmF0ZSwgMjEuIE5vdiAyMDAyLCAyMToyNDoyOCk6Cn4jISBybj1UcnVnIHJ0PTEwMzc3MzEzMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzY1MTY1OApAR3JpbW1pCmhtbSwgYWxzbyB3aW5zb2NrIGlzdCwgd2llIGRlciBOYW1lIHNjaG9uIHNhZ3QsIG5lbiBXaW5kb3dzLVRvb2wuIDspIE5lZSwgbWVpbgpQcm9ibGVtIGlzdCBuZW4gZ2FueiBhbmRlcmVzLiBJY2ggaGFiZSBlaW4gTm90ZWJvb2sgdW5kIHdvbGx0ZSB1ZWJlcnMgZGFzIE5ldHoKZWluIEdob3N0LUltYWdlIHNjaHJlaWJlbi4gR2hvc3QgbGFldWZ0IHp1bSBBYmJpbGRlbiB2b24gRmVzdHBsYXR0ZW4gbnVyLCB3ZW5uCmR1IHZvbiBkZXIgRmxvcHB5IHN0YXJ0ZXN0LCB1bmQgZGFzIGdlaHQgaGFsdCBhbSBlaGVzdGVuIG1pdCBET1MgdW5kIG5pY2h0IG1pdApuZW0gV2luMy4xMSBvZGVyIHNvIHdhcy4gOykKQFRydWcKSG1tLCBvYiBhdWYgZGVyIFNlaXRlIGlyZ2VuZHdlbGNoZSBUb3V0b3JpYWxzIHp1bSBOZXR6d2Vya2VuIHNpbmQsIGdsYXViIGljaApuaWNodC4gZWhlciBuZW4gY29vbGVyIFNjaHJlaW4uIDspCgpUcm90emRlbSBkYW5rZQoKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHp3ZXJrZSB1bnRlciBET1MgKEtleSwgMjEuIE5vdiAyMDAyLCAyMToyNzozNSk6Cn4jISBybj1UcnVnIHJ0PTEwMzc3MzEzMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzY1MTY1OApBdWNoIHdlbm4gaWNoIGRlbiBadXNhbW1lbmhhbmcgendpc2NoZW4gR2hvc3RkaXNrZXR0ZSB1bmQgTmV0endlcmsgbmljaHQgZ2FuegpuYWNodm9sbHppZWhlbiBrYW5uIC4uLgpodHRwOi8vd3d3LmJvb3RkaXNrLmNvbQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldHp3ZXJrZSB1bnRlciBET1MgKE1vcmdvbmF0ZSwgMjEuIE5vdiAyMDAyLCAyMTo0OTo1OCk6Cn4jISBybj1LZXkgcnQ9MTAzNzkxMDQ1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjUxNjU4CkRpZSBTdGVsbGUgaGF0dGUgaWNoIHNjaG9uIGdlZnVuZGVuLCBkaWUgZG9ydGlnZSBCb290LURpc2tldHRlIGZ1ZXIgTmV0endlcmsKdW50ZXIgRE9TIGtsYXBwdCBsZWlkZXIgbmljaHQuCkRlciBadXNhbW1lbmhhbmcgaXN0IGVpbmZhY2guIFdpZSBiZWtvbW1lIGljaCB2b24gZWluZXIgKHZvbGxlbikgNSBHQi1QbGF0dGUKZWluIEdob3N0LUltYWdlIHdlZz8gQXVmIGNhLiAyNTAwIERpc2tldHRlbj8gOykgRGFzIEltYWdlIGlzdCAoaW4gZGllc2VtCkZhbGxlKSAyNTAgTUIgZ3Jvc3MuCkFidHJhbnNwb3J0IHdhciB1ZWJlciBkaWUgdm9yaGFuZGVuZSAoUENNQ0lBKSBOZXR6d2Vya2thcnRlIGdlZGFjaHQuIFVuZCBkYXp1Cm11c3MgaWNoIGhhbHQgZGVuIERPUy1SZWNobmVyIGlyZ2VuZHdpZSB1ZWJlcnMgRXRoZXJuZXQgaW5zIE5ldHogYmVrb21tZW4uClRoZW1hIGlzdCBkdXJjaCBFaW5zYXR6IHZvbiBUb2tlblJpbmcgKGJlaSB1bnMgaW4gZGVyIEZpcm1hKSBpbnp3aXNjaGVuCmVybGVkaWd0LiBNaWNoIGludGVyZXNzaWVydCBlcyBqZXR6dCBudXIgbm9jaCB0aGVvcmV0aXNjaCwgdW0gdmllbGxlaWNodCBtYWwKc28gYXVzIEp1eCBvZGVyIHdpZSBhdWNoIGltbWVyLCBuZW4gRE9TIFJlY2huZXIgenUgdmVybmV0emVuLgpBY2ggc28sIG5vY2ggZWluIEBHcmltbWk6IFdpbnNvY2sgZ2lidCBlcyBiZWkgd3d3Lmxlby5vcmcuIDspCgpNb3Jnb25hdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldHp3ZXJrZSB1bnRlciBET1MgKEFoYWIsIDIxLiBOb3YgMjAwMiwgMjI6NTM6MDIpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTEwMzc5MTE3OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzY1MTY1OApWb3IgVXJ6ZWl0ZW4gaGFiIGljaCBtYWwgTmV0d2FyZSBMaXRlIDEuMSBiZW51dHp0LCB1bSBzb3dhcyB6dSBtYWNoZW4uIElzdAp6d2FyIGtlaW4gVENQL0lQLCBhYmVyIGVzIGdlaHQgaGFsYndlZ3MuCgpBaG9pLApBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV0endlcmtlIHVudGVyIERPUyAoR3JpbW1ib3JuLCAyMi4gTm92IDIwMDIsIDAwOjMzOjU1KToKfiMhIHJuPUFoYWIgcnQ9MTAzNzkxNTU4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjUxNjU4CkhtbSwgRHUgaGFzdCB3YXMgYXVmIGRlciBIRCwgd2FzIER1IHVlYmVycyBOZXR6IHRyYW5zcG9ydGllcmVuIHdpbGxzdCwgaGFiIGljaApkYXMgcmljaHRpZyB2ZXJzdGFuZGVuPyBXYXMgc3ByaWNodCBkYW5uIGdlZ2VuIExpbnV4PwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXR6d2Vya2UgdW50ZXIgRE9TIChNb3Jnb3RoLCAyMi4gTm92IDIwMDIsIDA4OjA1OjIyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM3OTIxNjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2NTE2NTgKUmVwbHkgYXVmIGRpZXNlbiBBcnRpa2VsLCB3ZWlsIExldHp0ZXIuCkZhbGxzIER1IGlyZ2VuZHdvIGFuIGVpbmVuIFdpbmRvd3MtTlQgb2RlciBXMkstU2VydmVyIGtvbW1lbiBrYW5uc3QsIGthbm5zdCBEdQpEaXIgZG9ydCAiTmV0endlcmtib290Ii1EaXNrZXR0ZW4gbWFjaGVuIGxhc3Nlbi4gRHUgYnJhdWNoc3QgbnVyIG5lbgpET1MtVHJlaWJlciBmdWVyIGRpZSBOSUMsIGRpZSBnaWJ0cyBpbW1lciBub2NoIHZvbiBmYXN0IGplZGVtIEhlcnN0ZWxsZXIuIE1pdApkaWVzZXIgRGlza2V0dGUgYm9vdGVzdCBEdS4gRGFzIFRlaWwgc3RhcnRldCBUQ1AvSVAsIHZlcmdpYnQgcGVyIERIQ1AgbmUgSVAKdW5kIHN0YXJ0ZXQgZGFzIFdpbmRvd3MgTmV0endlcmsuIER1IGthbm5zdCBkYW5uIHBlciAiTkVUIFVTRSAqClxccmVjaG5lcjJcZnJlaWdhYmUiIGF1ZiBEZWluZW4gendlaXRlbiBSZWNobmVyIHp1Z3JlaWZlbiB1bmQgZGFzIEltYWdlIGRhCmFibGVnZW4uCgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXR6d2Vya2UgdW50ZXIgRE9TIChXaWxsb3csIDIyLiBOb3YgMjAwMiwgMTY6MjA6NTQpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTEwMzc5MTAyNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzNzY1MTY1OApobW1tLi4uIHNjaG9uIG1hbCBiZWkgd3d3LmRyZG9zLmNvbSBiencgd3d3LmRyZG9zLm9yZyBwcm9iaWVydD8/PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV0endlcmtlIHVudGVyIERPUyAoTW9yZ29uYXRlLCAyMi4gTm92IDIwMDIsIDIyOjQ5OjQ2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM3OTIxNjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzc2NTE2NTgKaG1tLCBtZWluZSBtYW5nZWxuZGUgZXJmYWhydW5nLiB1bmQgZGFzcyBlcyBzaWNoIHVtIGVpbmUgcGNtY2lhLWthcnRlIHZvbiBpYm0KaGFuZGVsdC4gOykKYXVjaCBoYWIgaWNoIGJpc2hlciBub2NoIG5pZSBlaW5lbiBudXIgYXVmIGVpbmVyIGJvb3QtZGlza2V0dGUgbGllZ2VuZGVuCmtlcm5lbCBnZWhhYnQgLyBnZXNlaGVuLgoKd2FlcmUgYXVjaCBlaW5lIHZhcmlhbnRlLgoKCm1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV0endlcmtlIHVudGVyIERPUyAoTW9yZ29uYXRlLCAyMi4gTm92IDIwMDIsIDIyOjUxOjI0KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAzNzk0ODcyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM3NjUxNjU4CkRhcyBpc3QgZG9jaCBtYWwgbmUgYXVzc2FnZS4gOikgd2VyZGUgaWNoIGJlaSBnZWxlZ2VuaGVpdCBtYWwgYXVzcHJvYmllcmVuLgp1bmQgZGhjcCBnZWdlbiBmaXhlIGlwIHNvbGx0ZSBzaWNoIG5pY2h0IHNvIHNjaHdlciBnZXN0YWx0ZW4gaG9mZiBpY2ggbWFsLgoKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXB0b3BiYXN0ZWxzdHVuZGUgKFR3b2ZhY2UsICA1LiBEZXogMjAwMiwgMTY6NTI6MjYpOgpIYWxsbyBhdWNoLAoKSGF0IGVpbmVyIHZvbiBldWNoIGV2ZW50dWVsbCBBaG51bmcsIHdpZSBtYW4gZWluIC1IUCBPbW5pYm9vayBYRS0gc28gb2VmZm5lbgphbHMgYXVjaCB3aWVkZXIgc2NobGllc3NlbiBrYW5uLCBkYXNzIGVzIHNpY2ggZGFuYWNoIG5vY2ggaW0gYmVudXR6YmFyZW4sCmJyYXVjaGJhcmVuIFp1c3RhbmQgYmVmaW5kZXQ/Ck1laW5lcyB3aWRlcnNldHp0IHNpY2ggZnJpZWRsaWNoZW4gT2VmZm51bmdzdmVyc3VjaGVuIChsb2VzZW4gYWxsZXIgbWlyCmJla2FubnRlciBTY2hyYXViZW4sIHZvcnNpY2h0aWdlcyBaaWVoZW4pLgpEaWUgJ1dhcnVtJyBGcmFnZTogVGVpbGUgZGVyIFRhc3RhdHVyIGhhYmVuIGVpbmVuIFdhY2tlbGtvbnRha3QgdW5kIGljaCBob2ZmZQpkZW4gR3J1bmQgZGFmdWVyIGFtIGdlb2VmZm5ldGVuIEdlcmFldCB6dSBmaW5kZW4uCkZ1ZXIgJ24oZSkgc2FjaGt1bmRpZ2UobikgQmVybGluZXIoaW4pLCAnbmUgQW5sZWl0dW5nIG9kZXIgSGlud2Vpc2UgYXVmCkxpdGVyYXR1ciBpbSBOZXR6IChzZWxiZXIgbmljaHRzIGdlZnVuZGVuKSB3YWVyZSBpY2ggZGFua2Jhci4KClR3b2ZhY2UKKnNlaHIgYW0gTGFwcGllIGhhZW5nZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFwdG9wYmFzdGVsc3R1bmRlIChNdXBmZWwsICA2LiBEZXogMjAwMiwgMjI6MDQ6MDIpOgp+IyEgcm49VHdvZmFjZSBydD0xMDM5MTAzNTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkxMDM1NDYKVmVyc3VjaCBtYWwsIGRpZSBUYXN0YXR1ciBhbnp1aGViZW4uIE11c3N0IGRhZnVlciBtZWhyZXJlIFBsYXN0aWtuYXNlbiB1ZWJlcgp1bmQgdW50ZXIgZGVyIFRhc3RhdHVyIHZvcnNpY2h0aWcgenVydWVja2JpZWdlbi4KKFNvIGdpbmdzIHp1bWluZGVzdCBiZWkgZWluZW0gYW5kZXJlbiBPbWlib29rKQoKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFwdG9wYmFzdGVsc3R1bmRlIChHcmltbWJvcm4sICA2LiBEZXogMjAwMiwgMjI6MDY6MzApOgp+IyEgcm49VHdvZmFjZSBydD0xMDM5MTAzNTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkxMDM1NDYKSGF0IEhQIGRlbm4ga2VpbmVuIEt1bmRlbmRpZW5zdCBpbiBCZXJsaW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZsdWVzdGVybGVpc2VyZWNobmVyc3VjaGUgKEdvcm9nLCAgNi4gRGV6IDIwMDIsIDIyOjU1OjMwKToKTW9pbnMKCkljaCBiaW4gZ2VyYWRlIGF1ZiBkZXIgU3VjaGUgbmFjaCBNb2VnbGljaGtlaXRlbiBtZWluZW4gUmVjaG5lciBydWhpZyB6dQpzdGVsbGVuLiBGYWxscyB3ZXIgdm9uIEV1Y2ggSWRlZW4gb2RlciBUaXBzIChhdXN6dXRhdXNjaGVuIG1pdCBUaXBwcyBmYWxscyBkaWUKbmV1ZSBSZWNodHNjaHJlaWJ1bmcgZ2V3dWVuc2NodCBpc3QpIHp1IGRpZXNlbSBUaGVtYSBoYXQgd3VlcmQgaWNoIG1pY2ggZnJldW4uCgptZkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmx1ZXN0ZXJsZWlzZXJlY2huZXJzdWNoZSAoTXVwZmVsLCAgNi4gRGV6IDIwMDIsIDIzOjAzOjE1KToKfiMhIHJuPUdvcm9nIHJ0PTEwMzkyMTE3MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTIxMTczMApWb3JoYW5kZW5lciBSZWNobmVyPyBPaCBkYXMgd2lyZCB0ZXVlci4uLiBEYWVtbXBsYXR0ZW4gdXN3IGJyaW5nZW4gd2VuaWcuCkxlaXNzZSBmZXN0cGxhdHRlLCBsZWlzZXIgQ1BVIEx1ZWZ0ZXIsIGxlaXNlciBOZXR6dGVpbC1MdWVmdGVyLCBkYXMgaXN0IHNvCnppZW1saWNoIGRhcyBSZXplcHQuLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZsdWVzdGVybGVpc2VyZWNobmVyc3VjaGUgKFBhdHJ5biwgIDYuIERleiAyMDAyLCAyMzowMzo1MSk6Cn4jISBybj1NdXBmZWwgcnQ9MTAzOTIxMjE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5MjExNzMwCm9kZXIgbGFuZ2Ugc3RyaXBwZW4gdW5kIG5lbiBuYWNoYmFycmF1bSA7KQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZmx1ZXN0ZXJsZWlzZXJlY2huZXJzdWNoZSAoTXVwZmVsLCAgNi4gRGV6IDIwMDIsIDIzOjA0OjM3KToKfiMhIHJuPVBhdHJ5biBydD0xMDM5MjEyMjMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkyMTE3MzAKTGFuZ2Ugc3RyaXB0dGVuIGRpZSBuIGd1dGVzIE1vbml0b3JiaWxkIGVyemV1Z2VuIHNpbmQgYXVjaCB6aWVtbGljaAprb3N0ZW5pbnRlbnNpdi4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZsdWVzdGVybGVpc2VyZWNobmVyc3VjaGUgKENyb2Z0LCAgNi4gRGV6IDIwMDIsIDIzOjA4OjI3KToKfiMhIHJuPU11cGZlbCBydD0xMDM5MjEyMjc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkyMTE3MzAKSGV1dHp1dGFnZSBnZWhvZXJ0IG5pY2ggZGVyIGxlaXNlIEdyYWZpa2thcnRlbmx1ZWZ0ZXIgZGF6dSAsLSkKRmFsbHMgZWluIFRlaWwgZGVyIEdlcmFldXNjaGUgdm9uIGRlciBGZXN0cGxhdHRlbnZpYnJhdGlvbiBoZXJydWVocnQsCmthbm4gbWFuIGF1Y2ggdmVyc3VjaGVuLCBkaWUgUGxhdHRlIHZvbSBHZWhhZXVzZSBldHdhcyB6dSBlbnRrb3BwZWxuLgpXZWl0ZXJlIE1vZWdsaWNoa2VpdDogZGVuIFJlY2huZXIgaW4gZWluZW4gbGFlcm1nZWRhZW1tdGVuIFNjaHJhbmsvLi4uCnBhY2tlbiwgZGFiZWkgYWxsZXJkaW5ncyBhdWYgZGllIEx1ZnR6dWZ1aHIgYWNodGVuLiAgRXMgc29sbCBqYQpuaWNodCBkaWUgV2Flcm1lIGdlZGFlbW10IHdlcmRlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmbHVlc3RlcmxlaXNlcmVjaG5lcnN1Y2hlIChXaWxsb3csICA2LiBEZXogMjAwMiwgMjM6MzE6MDQpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzOTIxMjUwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5MjExNzMwCmhtbW0uLi4gd2VubiBEdSBiZXJlaXQgYmlzdCwgZWluaWdlcyBhbiBHZWxkIHp1IGludmVzdGllcmVuLCBkYW5uIGdpYnQgZXMgYXVjaAplaW5lbiBSZWNobmVyIGtvbXBsZXR0IG9obmUgTHVlZnRlciAobmVpbiwga2VpbiBDdWJlKSAtIHNjaGF1IG1hbCBiZWkKd3d3LmRlbHRhdHJvbmljLmluZm8KR3J1c3MgZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZsdWVzdGVybGVpc2VyZWNobmVyc3VjaGUgKENyb2Z0LCAgNi4gRGV6IDIwMDIsIDIzOjMyOjUzKToKfiMhIHJuPVdpbGxvdyBydD0xMDM5MjEzODY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkyMTE3MzAKVW50ZXIKaHR0cDovL3d3dy5oZWlzZS5kZS9jdC8wMi8xOC8xMDgvZGVmYXVsdC5zaHRtbApmaW5kZXQgc2ljaCBhdWNoIGVpbiBjJ3QgQXJ0aWtlbCB6dSBkZW0gVGhlbWEuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogZmx1ZXN0ZXJsZWlzZXJlY2huZXJzdWNoZSAoV2lsbG93LCAgNi4gRGV6IDIwMDIsIDIzOjMzOjM1KToKfiMhIHJuPUNyb2Z0IHJ0PTEwMzkyMTM5NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTIxMTczMAp5dXAsIGRhIGhhYiBpY2ggZGllIEFkcmVzc2UgYXVjaCBoZXIgOykgbmFqYSwgdW5kIHp1bSBuYWNocnVlc3RlbiBnaWJ0cyBiZWkKd3d3LnNpbGVudG1heHguZGUKZGFzIFdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZsdWVzdGVybGVpc2VyZWNobmVyc3VjaGUgKE11cGZlbCwgIDYuIERleiAyMDAyLCAyMzo1NjoxNik6Cn4jISBybj1XaWxsb3cgcnQ9MTAzOTIxMzg2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5MjExNzMwCk9kZXIgYXVjaDogaHR0cDovL3d3dy5zaWdudW1kYXRhLmRlL2luZGV4X2RlLmh0bSAtIGRlciBGdXR1cmUgQ2xpZW50IHZvbgpTaWdudW0gRGF0YSAtIGVpbiBNaW5pcmVjaG5lciBvaG5lIEx1ZWZ0ZXIKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmx1ZXN0ZXJsZWlzZXJlY2huZXJzdWNoZSAoU2NyZWFtZXIsICA3LiBEZXogMjAwMiwgMTg6NDg6MjYpOgp+IyEgcm49R29yb2cgcnQ9MTAzOTIxMTczMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5MjExNzMwCgpIaSwKCgoKaWNoIGhhYiBzZWl0IGVpbmlnZXIgWmVpdCBtZWluZW4gTGludXgtUmVjaG5lciBpbiBlaW4KCkdlaGFldXNlIHZvbiBOb2lzZWJsb2NrZXIgbGF1ZmVuLiBadXNhbW1lbiBtaXQgZWluZW0KCk5ldHp0ZWlsIGViZW5mYWxscyB2b24gTm9pc2VibG9ja2VyLiBJY2ggbXVzcyBzYWdlbiwgZXIKCmlzdCByZWNodCBsZWlzZSBnZXdvcmRlbiwgbGVpZGVyIGhvZXJ0IG1hbiBub2NoIGRlbgoKQ1BVLUx1ZWZ0ZXIsIGRhIGljaCBiaXNoZXIga2VpbmVuIGxlaXNlbiBmdWVyIGRhcyBhbHRlCgpEaW5nIGZpbmRlbiBrb25udGUuIEZ1ZXIgYWt0ZWxsZSBDUFVzIGdpYnQgZXMgZ2VudW5nLCBhYmVyCgpuZW4gYWx0ZW4gQ2VsZXJvbiA0NjYgc2NoZWludCBtYW4gbmljaHQgenVtIFNjaHdlaWdlbgoKenUgYnJpbmdlbi4gRGVubm9jaCBiaW4gaWNoIGRlciBNZWludW5nLCBkaWUgQW5zY2hhZmZ1bmcKCmRlciBOb2lzZWJsb2NrZXIgU2FjaGVuIGhhdCBzaWNoIGdlbG9obnQuIE5lbiBUZXN0IGRhenUKCmdhYnMgbWFsIGluIGRlciBDVC4gTnVyIHRldWVyIGlzdCBkZXIgU3Bhc3MuCgoKClNjcmVhbWVyIChtYWdzIGxlaXNlKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmx1ZXN0ZXJsZWlzZXJlY2huZXJzdWNoZSAoR25vbWUsICA4LiBEZXogMjAwMiwgMTg6MzQ6NDIpOgp+IyEgcm49U2NyZWFtZXIgcnQ9MTAzOTI4MzMwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5MjExNzMwCmRhcyBzdG9lcmVuZHN0ZSBpc3Qgd2lya2xpY2ggaW1tZXIgZGVyIGNwdS1sdWVmdGVyLCBlcyBzZWkgZGVubiwgbWFuCmhhdCBlaW5lbiBnZWhhZXVzZWx1ZWZ0ZXIgZGVyIG1hcmtlICJleHRyYWxhdXQiLgppY2ggZW1wZmVobGUgZGVuIGNwdS1rdWVobGVyIHVuZCBsdWVmdGVyIGRhZnVlciBnZXRyZW5udCB6dSBrYXVmZW4uCjEuIGthbm4gbWFuIGVpbiBiaXNzZWwgaW5kaXZpZHVlbGxlciBkYXJhdWYgYWJzdGltbWVuLCB3YXMgbWFuCndpcmtsaWNoIGJyYXVjaHQsIDIuIGlzdCBkYXMgIm5hY2hydWVzdGVuIiBpbSBmYWxsZSBlaW5lIHNwYWV0ZXJlbgptZWhyLW1oei1jcHUgbmljaHQgc28ga29zdHNwaWVsaWcgKGVpbmZhY2ggbmV1ZXIgbHVlZnRlciwgZmVydGlnKS4KCmRlciB6dXNhZXR6bGljaCBnZWhhZXVzZWx1ZWZ0ZXIgYnJhdWNodCBtZWlzdGVucyBuaWNodCBtZWhyIGFscyAyMDAwIHJwbSwKZGEgZXIgamEgbnVyIGVpbiB6dXNhdHogenVtIG5ldHp0ZWlsbHVlZnRlciBkYXJzdGVsbHQsIHdlbGNoZXIgd2llZGVydW0KYXV0b21hdGlzY2ggZ2VyZWdlbHQgc2VpbiBzb2xsdGUsIHdhcyBkaWUgbW9kZXJuZW4gYWJlciBoZXV0enV0YWdlIGFsbGUKc2luZC4KCmZ1ZXIgZWluIGxlaXNlcyBzeXN0ZW0gc29sbHRlc3QgZHUgaW4gamVkZW0gZmFsbCBkYXJhdWYgYWNodGVuLCBkYXNzCmplZGVyIGVpbnplbG5lIGx1ZWZ0ZXIgbmljaHQgbWVociBhbHMgMjUgZEJhIHZvbiBzaWNoIGdpYnQuCgp1bmQgZGFlbW1hdHRlbiBicmluZ2VuIGVpbmUgZ2FuemUgbWVuZ2UsIGplZGVuZmFsbHMgZGllIHJpY2h0aWdlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmbHVlc3RlcmxlaXNlcmVjaG5lcnN1Y2hlIChTY3JlYW1lciwgIDguIERleiAyMDAyLCAyMjowNzozMyk6Cn4jISBybj1Hbm9tZSBydD0xMDM5MzY4ODgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkyMTE3MzAKSGksCgphbHNvIGljaCBtdXNzIHNhZ2VuLCBkYXMgR2VoYWV1c2UgKG1pdCBTY2hhbGxkYWVtbXVuZykgdW5kCmRhcyBsZWlzZSBOZXR6dGVpbCBoYWJlbiBzY2hvbiB2aWVsIGdlYnJhY2h0LiBEZXIgUmVjaG5lcgppc3Qga2F1bSBub2NoIHp1IGhvZXJlbi4gTnVyIHdlbm5zIHdpcmtsaWNoIGxlaXNlIGlzdApob2VydCBtYW4gbm9jaCBkZW4gQ1BVLUx1ZWZ0ZXIuIFdpZSBpY2ggc2Nob24gc2FndGUgaXN0IGVzCm1pciBuaWNodCBnZWx1bmdlbiBlaW5lbiBsZWlzZW4gaGllcmZ1ZXIgenUgZmluZGVuLCBkYQplcyBuZSBhbHRlIENlbGVyb24gQ1BVIGlzdC4gVW5kIGF1c3NjaGFsdGVuLCB3aWUgaGllcgplaW5pZ2Ugc2FndGVuLCBtb2VjaHRlIGljaCBkZW4gbGludXgtcmVjaG5lciBhdWNoIG5pY2h0IGplZGVuCkFiZW5kLiBWaWVsbGVpY2h0IHNvbGx0ZSBpY2ggYXVmIG5lIGFrdHVlbGxlIENQVSBhdWZydWVzdGVuCnVtIGRhbm4gbmVuIGxlaXNlbiBMdWVmdGVyIGZ1ZXIgZGllIENQVSB6dSBiZWtvbW1lbiA7LSkKClNjcmVhbWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmbHVlc3RlcmxlaXNlcmVjaG5lcnN1Y2hlIChFbGRhcm9uLCAgOC4gRGV6IDIwMDIsIDIyOjI1OjMwKToKfiMhIHJuPVNjcmVhbWVyIHJ0PTEwMzkzODE2NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTIxMTczMApMdWVmdGVyLCBMdWVmdGVyLCB3ZXIgYnJhdWNodCBzY2hvbiBMdWVmdGVyLiA6KQpNYW4gbmltbXQgZWluZW4gVmlhIEMzIHVuZCBrdWVobHQgZGVuIHBhc3NpdiwgRmVzdHBsYXR0ZW4gd2VyZGVuIGR1cmNoCkZsYXNoLURpc2tzIGVyc2V0enQgdW5kIGRhcyBOZXR6dGVpbCBpc3QgZXh0ZXJuLiAKRGVyIENvbXB1dGVyIG9obmUgYmV3ZWdsaWNoZSBUZWlsZSBpc3QgbGFlbmdzdCBrZWluZSBadWt1bmZ0c211c2lrIG1laHIsIHVuZAooYWJnZXNlaGVuIHZvbiBSZWxhaXMpIGdlcmFldXNjaGxvcy4KCkVsZGFyb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcmFldXNjaGUgKFNjcmVhbWVyLCAgOS4gRGV6IDIwMDIsIDAwOjA4OjU5KToKSGksCgp3YXMga2FubiBlaWdlZ2VudGxpY2ggYW4gbmVtIHJlY2huZXIgZWluIGtsYWNraWcta2xhY2thY2sKbWFjaGVuIChzbyBrbGluZ3QgZXMpLiBpcmdlbmR3aWUsIGFscyB3dWVyZGUgbWFuIG1pdCBzbwpuZW0gYWx0ZW4gQmxlY2hmb3JzY2ggKGRpZXNlIGFsdGVuIFNwaWVsemV1Z2Uga29ubnRlIG1hbgpkcnVlY2tlbiB1bmQgZGllIG1hY2h0ZW4gbWl0IGVpbmVyIE1ldGFsbHp1bmdlIGVpbgpHZXJhZXVzY2gpIHNwaWVsZW4uIEhhdCBlaW4gUEMtTmV0enRlaWwgZWluIFJlbGFpcywgZGFzCnNvIGxhdXQgaXN0LCB1bmQgaW0gYmV0cmllYiBzY2hhbHRlbiBrYW5uIChkYXNzIGVzIG5pY2h0Cm5vcm1hbCBpc3QsIGlzdCBtaXIga2xhciwgYWJlciBkZXIgcmVjaG5lciBsYWV1ZnQgYmlzIGF1ZgpkaWVzZSBHZXJhZXVzY2hlIG5vcm1hbCkuIEplbWFuZCBuZSBpZGVlIHdhcyBkYXMgc2VpbiBrYW5uID8KCkRhdCBtYWNodCBtaWNoIG5vY2ggaXJyZS4KClNjcmVhbWVyIChtYWdzIGxlaXNlIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlcmFldXNjaGUgKEdub21lLCAgOS4gRGV6IDIwMDIsIDAwOjI1OjU5KToKfiMhIHJuPVNjcmVhbWVyIHJ0PTEwMzkzODg5Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTM4ODkzOQpkYXQgaXMgZGVpbmUgZmVzdHBsYXR0ZS4gd2lyZCB3YWhyc2NoZWlubGljaCBncmFkIHZvbiB3aW5kb3dzIHZlcmdld2FsdGlndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VyYWV1c2NoZSAoU2NyZWFtZXIsICA5LiBEZXogMjAwMiwgMDA6MzA6MzkpOgp+IyEgcm49R25vbWUgcnQ9MTAzOTM4OTk1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5Mzg4OTM5CmdlbmF1IGRhcyB3b2xsdGUgaWNoIG5pY2h0IGhvZXJlbiA7LSkgSWNoIHdpbGwgZGFzcyBkYXMgd2FzCmFuZGVyZXMgaXN0IDstKSkpKSBrb21pc2NoZXJ3ZWlzZSBoYXR0ZSBkYXMgMiBNb25hdGUKYXVmZ2Vob2VydC4gRXMga2xpbmd0IGF1Y2ggaXJnZW5kd2llIG5pY2h0IG5hY2ggbmVtIEhELUNyYXNoLgpVbmQgZGFzIGhhZXR0ZSBtaXIgYXVjaCBub2NoIGdlZmVobHQgOy0pCgpTY3JlYW1lciAod2lsbCBkYXNzIGRhcyB3YXMgYW5uZXJlcyBpc3QgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZXJhZXVzY2hlIChHbm9tZSwgIDkuIERleiAyMDAyLCAwMDo0OToyNSk6Cn4jISBybj1TY3JlYW1lciBydD0xMDM5MzkwMjM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkzODg5MzkKZXMgaXN0IGtlaW4gY3Jhc2gsIHZpZWxtZWhyIHZlcnN1Y2h0IHdpbmRvd3MgZGVuIHNjaHJlaWJsZXNla29wZiBkYXVlcm5kCmluIGRpZSBwYXJrcG9zaXRpb24genUgZmFocmVuLiBhYmVyZnJhZ21pY2huaWNodHdhcnVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VyYWV1c2NoZSAoU2NyZWFtZXIsICA5LiBEZXogMjAwMiwgMDA6NTY6MTApOgp+IyEgcm49R25vbWUgcnQ9MTAzOTM5MTM2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5Mzg4OTM5CmFoaGhoaGhoLi4uLiBpY2ggd2FyIGJpcyBqZXR6dCBpbW1lciBkYXZvbiBhdXNnZWdhbmdlbiwKZGFzcyBkYXMgZW5kZSBkZXIgSEQga3VyeiBiZXZvciBzdGVodCA6LSkgTmFqYSwgZGFzcyBtZWluCldpbmRvd3Mgc2VsdHNhbWUgU2FjaGVuIG1hY2h0LCBiaW4gaWNoIGdld29laG50LCBlcyBsYWVzc3QgCmVoIDUtMTAgbWFsIGFtIHRhZyBkZW4gZXhwbG9yZXIgZ2VnZW4gZGllIHdhbmQgZmFocmVuLiBEYXMKaGFiZSBpY2ggYWJlciBiaXNoZXIgYWxzIG5pY2h0IHVuZ2V3b2VobmxpY2ggYW5nZXNlaG4sIGVzCmlzdCBoYWx0IGVpbiBXaW5kb3dzIDstKQoKRGFzIG1hbCBuZXUgenUgaW5zdGFsbGllcmVuIGhhdHRlIGljaCBlaCB2b3IsIGFsc28KbWFjaCBpY2hzIHVtIHNvIHNjaG5lbGxlciA6LSkKCkRhbmtlIDotKQoKU2NyZWFtZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlcmFldXNjaGUgKEdub21lLCAgOS4gRGV6IDIwMDIsIDAwOjU4OjQ3KToKfiMhIHJuPVNjcmVhbWVyIHJ0PTEwMzkzOTE3NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTM4ODkzOQprZWluIGdhcmFudCBkYWZ1ZXIsIGRhc3MgZGVpbmUgcGxhdHRlIGRhcyBkYW5uIG5pY2h0IG1laHIgbWFjaHQuCmVzIGthbm4gYXVjaCBlaW5mYWNoIHNlaW4sIGRhc3Mgd2luIG1pdCBkZWluZXIgaGFyZHdhcmUgbmljaHQgc28KcmljaHRpZyB6dXJlY2h0a29tbXQgKGJ1Z2d5IHRyZWliZXIsIG5vbmFtZS1tYWluYm9hcmQsIGV0Yy4uLikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHZXJhZXVzY2hlIChPcmt0b2V0ZXIsICA5LiBEZXogMjAwMiwgMDk6Mzk6MjcpOgp+IyEgcm49R25vbWUgcnQ9MTAzOTM5MTkyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5Mzg4OTM5Ck9kZXIgdmllbGxlaWNodCBlaW4gdW5mcmV1bmRsaWNoZXIgVmlydXMsIGRlciB2ZXJzdWNodCBkZW4gS29wZiBzbyBvZnQgbWl0CmhvaGVyIEdlc2Nod2luZGlna2VpdCBnZWdlbiBkaWUgQmVncmVuenVuZyB6dSByYW1tZW4sIGJpcyBkZXIgc28gdmVyc3RlbGx0CmlzdCwgZGFzIGRpZSBQbGF0dGUgaGluIGlzdD8KCk9ya1QsIGltbWVyIG51ciBtaXQgZGVuIHBvc2l0aXZlbiBEaW5nZW4gcmVjaG5lbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHZXJhZXVzY2hlIChBbnRoZWEsICA5LiBEZXogMjAwMiwgMTM6MzY6NTIpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMzk0MjMxNjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTM4ODkzOQoKV2luZG93cyBtYWNodCBoYWV1ZmlnIHNlaHIgbmV0dGUgU2FjaGVuLiBCZWltIFN0YXJ0ZW4gbG9lc3QgZXMgei5CLiBmdWVyIGplZGVzCmdlZnVuZGVuZSBTQ1NJLURldmljZSBlaW5lbiBrb21wbGV0dGVuIFNDU0ktUmVzZXQgYXVzLiBEYXMgYnJpbmd0IG1laW5lbgpTdHJlYW1lciBpbW1lciB6dW0gQXVzZmxpcHBlbiB1bmQgYmVzY2hsZXVuaWd0IGRlbiBCb290dm9yZ2FuZyBuaWNodCBnZXJhZGUuCkljaCBoYWIgYWJlciBhdWNoIGltbWVyIG5vY2ggbmljaHQgcmF1c2dlZnVuZGVuLCB3aWUgaWNoIGRlbSBXaW5kb3dzOTggZGFzCmFiZ2V3b2VobmVuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHZXJhZXVzY2hlIChLYXJpcywgIDkuIERleiAyMDAyLCAxMzo0Mzo1Nik6Cn4jISBybj1BbnRoZWEgcnQ9MTAzOTQzNzQxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5Mzg4OTM5CkRlciB1ZWJsaWNoZSBIaW53ZWlzIHdhZXJlIGpldHp0OiBkZWluc3RhbGxpZXJlbi4KQWJlciBpY2ggc2FnIHNvd2FzIGphIG5pY2h0LgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmbHVlc3RlcmxlaXNlcmVjaG5lcnN1Y2hlIChPZ2FyLCAgOS4gRGV6IDIwMDIsIDEzOjU4OjQzKToKfiMhIHJuPU11cGZlbCBydD0xMDM5MjEyMTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzkyMTE3MzAKV2VyIG5vY2ggZWluZSBsZWlzZSBTQ1NJLVBsYXR0ZSBzdWNodCwgc29sbHRlIHNpY2ggd29obCBiZWVpbGVuOiBTZWFnYXRlJ3MKMzhlciBCYXVyZWljaGUgaXN0IGFuc2NoZWluZW5kIGF1c2dlbGF1ZmVuLiAgQWx0ZXJuYXRlIGhhdCBzaWUgdm9yIGVpbmVyCldvY2hlIGF1cyBkZW0gS2F0YWxvZyBnZW5vbW1lbiwgQ29tcHV0ZXJ1bml2ZXJzZSBoYXQgbnVyIG5vY2ggZGFzIGtsZWluZQoxOCBHQi1Nb2RlbGwuICBCZWkgZ2lnYXRlY2guZGUgZ2lidCBlcyBtb21lbnRhbiBub2NoIGRpZSAzNiBHQi1WYXJpYW50ZS4KCk9nYXIgKGxhdXNjaHQgamV0enQgZ2VybmUgc2VpbmVtIFJlY2huZXIsIG5hY2hkZW0gZXIgendlaSBQbGF0dGVuIG1pdCAyIGJ6dy4KMyBTb25lIGdlZ2VuIGVpbmUgU1QzMzY5MzhMVyBtaXQgMC4zIGdld2VjaHNlbHQgaGF0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFzc3dvcnRjcmFja2VyIChDcml0dGVyLCAxMi4gRGV6IDIwMDIsIDAwOjExOjUyKToKZm9sZ2VuZGVzIFByb2JsZW0uLi4uICAKTmUgYmVrYW5udGUgdm9uIG1pciBoYXQgbmFjaCBkZW0gUmVzZXQgaWhyZXMgRFNMIFJvdXRlcnMgZGllIFQtb25saW5lClp1Z2FuZ3NkYXRlbiBuaW1tZXIuLi4KaWNoIGRlciBpY2ggZGFzIGRhbWFscyBlaW5nZXJpY2h0ZXQgaGFiZSB1bmQgZGVuIHJlY2huZXIgdm9yIGRlbSBSb3V0ZXIKZ2VzdGlmdGV0IGhhdHRlLCBoYWJlIG5vY2ggZGVuIFVzZXJuYW1lbiBhdWYgZGVtIFJlY2huZXIgdW5kIGF1Y2ggZGFzcwpQYXNzd29ydC4KTnUgc3VjaCBpY2ggaXJnZW5kd2FzLHdhcyBtaXIgZGFzIFBhc3N3b3J0IHZvbiBtZWluZXIgZWlnZW5lbiBGZXN0cGxhdHRlCmF1c2xpZWhzdC4uLiAKSXN0IGJlaSBtaXIgaW4gZGVyIERGVUUtVmVyYmluZHVuZyBoYWx0IG5vY2ggYWxzICoqKioqKiogaGludGVybGVndC4KZ3J1c3MgYy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXNzd29ydGNyYWNrZXIgKEFub3JpcywgMTIuIERleiAyMDAyLCAwMDozNDo1OSk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMzk2NDgzMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTY0ODMxMgpIYWIgZnVlciBtZWluZSBGaXJtYSBtYWwgZWluIGJpc3NjaGVuIHByb2dyYW1taWVydCB1bSB2ZXJzY2hsdWVzc2VsdApnZXNwZWljaGVydGUgUGFzc3dvZXJ0ZXIgenUgcmVjb3Zlcm4uIEFiZXIgaW4gZGVpbmVtIEZhbGwgd3VlcmRlIGljaAplaW5lbiBTbmlmZmVyIGZ1ZXIgZGllIFNlcmllbGxlIFNjaG5pdHN0ZWxsZSBlbXBmZWhsZW4uLi4KCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhc3N3b3J0Y3JhY2tlciAoQ3JpdHRlciwgMTIuIERleiAyMDAyLCAwMDo0MDoyMyk6Cn4jISBybj1Bbm9yaXMgcnQ9MTAzOTY0OTY5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCmlzdCBEU0wuLi4uIGFsc28gbml4IFNlcmllbGwgZGFzIGRpbmcgbXVzcyBtZWluZSBGZXN0cGxhdHRlIGF1c2xlc2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhc3N3b3J0Y3JhY2tlciAoUm9uZGEsIDEyLiBEZXogMjAwMiwgMDA6NDQ6MjYpOgp+IyEgcm49Q3JpdHRlciBydD0xMDM5NjUwMDIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKV2lyIHJlZGVuIGRvY2ggdm9uIFdpbmRvd3MsIG9kZXIgaGFiZSBpY2ggZGFzIGZhbHNjaCBpbnRlcnByZXRpZXJ0PyBEYWZ1ZXIKZ2lidHMgc2ltcGxlIFRvb2xzLCBkaWUgdmVybXV0bGljaCBkZW4gV2VydCBhdXNsZXNlbiBrb2VubmVuIC0gZGEgZGFzIEZlbGQgZGFzClBhc3N3b3J0IGtvbXBsZXR0IGVudGhhZWx0IHVuZCBudXIgZHVyY2ggKioqIGVyc2V0enQuLi4KClJvbmRhICpncmFkIGV0d2FzIGVpbmdlc2NocmFlbmt0IGJlaW0gZ29vZ2xlbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBhc3N3b3J0Y3JhY2tlciAoQW5vcmlzLCAxMi4gRGV6IDIwMDIsIDAwOjQ0OjUwKToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTAzOTY1MDAyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyClp1bSBBbmZhbmc6IEthdW0gQWhudW5nIHZvbiBEU0wsIGFiZXIgbWFuIHdhZWhsdCBlaW4sIHdpZSB3YWVycyB3ZW5uCmR1IGVpbmVuICJTZXJ2ZXIiIGhhZXR0ZXN0LCBhdWYgZGVuIGR1IG1pdCBkZXIgS2lzdGUgZWlud2FlaGxzdCB1bmQKYXVmIGRlbSAiU2VydmVyIiBzbmlmZnN0IC8gbG9nc3Q/IEZ1ZXIgRlRQIC8gTWFpbCB1bmQgYW5kZXJlCkNsaWVudHMgaXN0IGRhcyBzY2hyZWliZW4gZWluZXMgU2VydmVycyBtZWluZXIgTWVpbnVuZyBuYWNoIGRhcwplaW5mYWNoc3RlLi4uCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFzc3dvcnRjcmFja2VyIChBbm9yaXMsIDEyLiBEZXogMjAwMiwgMDA6NDg6MjcpOgp+IyEgcm49Um9uZGEgcnQ9MTAzOTY1MDI2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyClRqYSBkYSBtdXNzIGljaCBkaWNoIGVudHRhZXVzY2hlbiwgZGFzIHd1cmRlIGxlaWRlciBzY2hvbiBzZWl0CmxhZW5nZXJlbSByZWxhdGl2IGd1dCBhYmdlc2ljaGVydCBhZmFpay4gV2VubiBkaWUgIlZlcnNjaGx1ZXNzZWx1bmciCmFiZXIgZGllIHNlbGJlIGlzdCB3aWUgYmVpIGRlbiBGcmVpZ2FiZW4gdW50ZXIgOTUsIHNvbGx0ZSBtYW4KaGVydWFzZmluZGVuIHdvIGRlciAidmVyc2NobHVlc3NlbHRlIiBTdHJpbmcgZ2VzcGVpY2hlcnQgaXN0LgpGdW5rdGlvbmllcnQgdWViZXIgZWluZSBWZXJzY2hpZWJ1bmcgZGVyIEFTQ0lJIFdlcnRlLCBlaW5lIFRhYmVsbGUKZ2VudWVndCBkYSwgYWVobmxpY2ggd2llIGJlaSBkZXIgR2VmYWVuZ25pc2luc2VsIDspCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFzc3dvcnRjcmFja2VyIChDcml0dGVyLCAxMi4gRGV6IDIwMDIsIDAwOjQ4OjM1KToKfiMhIHJuPUFub3JpcyBydD0xMDM5NjUwMjkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKQWxzbyBub2NobWFsIGtsYXIgdGV4dC4uLiBpY2ggd2lsbCBuaXJnZW5kd28gc25pZmZlbi4uCmljaCBzdWNoZSBlaW4gVG9vbCB1bmQgZGFzIG5hY2ggTW9lZ2xpY2hrZWl0IG1pdCBuYW1lbiwgZGFzIG1pdCBtZWluIGVpZ2VuZXMKVC1PbmxpbmUgUGFzc3dvcnQgYXVmIGRlciAgZWlnZW5lbiBGZXN0cGxhdHRlIGF1c2xpZWhzdC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhc3N3b3J0Y3JhY2tlciAoRm9vYmFyLCAxMi4gRGV6IDIwMDIsIDAwOjUwOjQzKToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTAzOTY1MDUxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCkV2dGwuIHdhZXJzdCBEdSBpbiBlaW5lciBULU9ubGluZSBOZXdzZ3JvdXAgYmVzc2VyIGF1ZmdlaG9iZW4gYWxzIGhpZXI/IExlaWRlcgp3ZWlzcyBpY2ggbmljaHQsIG9iIGVzIGRhIGVpbmUgcGFzc2VuZGUgZ2lidC4uLgoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhc3N3b3J0Y3JhY2tlciAoRWxkYXJvbiwgMTIuIERleiAyMDAyLCAwMDo1Nzo0NSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAzOTY1MDY0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCkJpbiBpbiBXaW5kb3dzIGF1Y2ggbmljaHQgd2lya2xpY2ggYmV3YW5kZXJ0LCBhYmVyIGthbm5zdCBkdSBuaWNodCBkZW4KREZVZS1FaW50cmFnIHNvIGFlbmRlcm4sIGRhc3MgZHUgbWl0IGdsZWljaGVtIFBhc3N3b3J0IHVuZCBVc2Vya2VubnVuZyBtaXQKZWluZW0gKGF1c2dlbGllaGVuZW4pIE1vZGVtIGVpbmVuIEZyZXVuZCBhbnJ1ZnN0PyBMYWV1ZnQgaW0gUHJpbnppcCBhdWYgZGllClNlcnZlci1CYXN0ZWwgSWRlZSBoaW5hdXMuIAoKVW5kIGphLCBlcyBnaWJ0IFQtT25saW5lLU5ld3Nncm91cCBhdWYgbmV3cy50LW9ubGluZS5kZS4KCmVsZGFyb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhc3N3b3J0Y3JhY2tlciAoQ3JpdHRlciwgMTIuIERleiAyMDAyLCAwMTowMTozNyk6Cn4jISBybj1FbGRhcm9uIHJ0PTEwMzk2NTEwNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTY0ODMxMgpwcm9iIGlzdC4uLiBpY2ggbXVzcyBkYXNzIHBhc3N3b3J0IHJhdXNrcmllZ2VuLCAgZGFtaXQgaWNoIGVzIGluIGRlbiByb3V0ZXIKd2llZGVyIHJlaW5oYWNrZW4ga2Fubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhc3N3b3J0Y3JhY2tlciAoRWxkYXJvbiwgMTIuIERleiAyMDAyLCAwMToxOTo1Nyk6Cn4jISBybj1Dcml0dGVyIHJ0PTEwMzk2NTEyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTAzOTY0ODMxMgpEYXMgaGFzdCBkdSwgdW5kIHdpbGxzdCBlcyB3aWVkZXI6CgpXaW5raXN0ZSAtPiBERlVlKE5hbWUrUGFzc3dvcmQpLT4gRFNMLU1vZGVtIC0+IEludGVybmV0CgpXaW5raXN0ZSAtPiBERlVlKE5hbWUrUGFzc3dvcmQpLT4gTW9kZW0gLT4gVGVsZWZvbnN0cmlwcGUgLT4gTW9kZW0gCgpEYXMgd2FyIGVpbmUgSWRlZSBtaXQgZGVuIGdyb3NzZW4gZHJlaSBNYWNoYmFya2VpdHNmcmFnZXplaWNoZW47IGRhc3MgZHUgZGFzClBhc3N3b3J0IGZ1ZXIgZGVuIFJvdXRlciBicmF1Y2hzdCwgaXN0IGEpIG1pciBrbGFyIHVuZCBiKSBmdWVyIGRpZQpQcm9ibGVtc3RlbGx1bmcgdW53aWNodGlnLiA7KQoKZWxkYXJvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGFzc3dvcnRjcmFja2VyIChWYXJkaW9uLCAxMi4gRGV6IDIwMDIsIDAxOjI0OjI3KToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTAzOTY1MDAyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCldhcmVuIERTTC1Nb2RlbXMgbmljaHQgdWViZXIgRXRoZXJuZXQgYW0gUmVjaG5lciBhbmdlc2NobG9zc2VuPyBEYXMgd2FlcmUgZGFubgp2ZXJtdXRsaWNoIG5vY2ggZWluZmFjaGVyIHp1IHNuaWZmZW4gYWxzIGRpZSBTZXJpZWxsZSBTY2huaXR0c3RlbGxlLi4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXNzd29ydGNyYWNrZXIgKE11YWRkaWIsIDEyLiBEZXogMjAwMiwgMDE6MjU6NTkpOgp+IyEgcm49VmFyZGlvbiBydD0xMDM5NjUyNjY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKTWVpbiBhbHRlcyBEU0wgTW9kZW0gaGF0dGUgYXVjaCBub2NoIGVpbmVuIEFUTSBQb3J0Li4uIGFiZXIgbGFzc2VuIHdpciBkYXMgOikKSmEsIGRpZSBoYWVuZ2VuIGFtIEV0aGVybmV0IC0gRXRoZXJlYWwgYXVmcnVmZW4sIGF1ZiBkZXIgQ29ubmVjdGlvbiBzbmlmZmVuCnVuZCBiZXF1ZW0gZGFzIFBhc3N3b3J0IGF1c2xlc2VuLgoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXNzd29ydGNyYWNrZXIgKE1vcmdvdGgsIDEyLiBEZXogMjAwMiwgMDc6NTE6NTMpOgp+IyEgcm49Q3JpdHRlciBydD0xMDM5NjUwNTE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKSWNoIGhhYiBtYWwgaXJnZW5kd28gKGlzIHNjaG9uIGNhLiAxIEphaHIgaGVyKSBlaW4gUHJvZ2dpZSBtaXQgZGVtIE5hbWVuCiJzdGFyLmV4ZSIgZ2VmdW5kZW4uIERhcyBrYW5uIFBhc3N3b2VydGVyICJrbmFja2VuIiAuLi4gaW5kZW0gZXMgYXVzIGRlbQpUYXN0YXR1cnB1ZmZlciBvZGVyIGF1cyBkZXIgUkVHIGF1c2xpZXN0LiBXYXIgc2VociBrbGVpbiwgZXR3YXMgdW0gZGllIDE1MGtiLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhc3N3b3J0Y3JhY2tlciAoTm9ubmUsIDEyLiBEZXogMjAwMiwgMDg6NTU6MDUpOgp+IyEgcm49TW9yZ290aCBydD0xMDM5Njc1OTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKTWFsIG5lIGFuZGVyZSBGcmFnZTogV2llc28gcnVmc3QgRHUgbmljaHQgYmVpIFQtT25saW5lIGFuLCBzYWdzdCwgZGFzcyBEZWluClBhc3N3b3J0IHdlZyBpc3QsIGdpYnN0IGRlbmVuIGRpZSBOdXR6ZXJrZW5udW5nIChkaWUgaGFzdCBEdSBqYSBub2NoKSB1bmQKc2Fnc3QgZGVuZW4sIGRpZSBzb2xsZW4gRGlyIGRpZSBadWdhbmdzZGF0ZW4gYml0dGUgYW4gZGllIHZvcmxpZWdlbmRlIEFkcmVzc2UKc2NoaWNrZW4uIERhcyBoYWJlbiBkaWUgamEgYmVpbSBlcnN0ZW4gbWFsIGF1Y2ggZ2VtYWNodC4gRGFubiBicmF1Y2hzdGUgbmljaHQKZ3Jvc3Mgc25pZmZlbiB1bmQga3JhY2tlbiwgc29uZGVybiBudXIgZWluZW4gQnJpZWYgb2VmZm5lbi4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGFzc3dvcnRjcmFja2VyIChNdWFkaWIsIDEyLiBEZXogMjAwMiwgMTA6MTg6NTQpOgp+IyEgcm49Tm9ubmUgcnQ9MTAzOTY3OTcwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCkhpLAoKd2VubiBlcyB1bSBlaW4gV2luZG93c3Bhc3N3b3J0IGdlaHQgZGFubiBzY2hhdSBtYWwgdW50ZXIgd3d3LmwwcGh0LmNvbSBuYWNoLgpEaWUgaGFiZW4gc2ljaCB6d2FyIG5ldSBrb21tZXJ6aWFsaXNpZXJ0IGFiZXIgZGVyIENyYWNrZXIgYWVyaCBTZWN1cml0eUF1ZGl0b3IKaXN0IG5vY2ggenVtIERvd25sb2FkIGRhLiBHZWh0IGVzIHVtIGVpbiBzcGV6aWVsbGVzIFQtT25saW5lIFBhc3N3b3J0IG1pdAplaWdlbmVtIEZvcm1hdCBtdXNzIGljaCBwYXNzZW4uCgpXZXIgZGVuIExpbmsgdW5kIGRhcyBkYXJhdWYgZW50aGFsdGVuZSBQcm9ncmFtbSBtZWludCBtaXNzYnJhdWNoZW4genUgbXVlc3Nlbgp0dXQgZGllcyBpbiBlaWdlbmVyIFZlcmFudHdvcnR1bmcuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWl0dGVpbHNhbWVzIFdpbmRvd3MgKFNjcmVhbWVyLCAxMy4gRGV6IDIwMDIsIDIxOjA5OjIxKToKQmVpIG5ldWluc3RhbGxhdGlvbiB2b24gV2luMjAwMCBQcm86Cgo8Qmx1ZXNjcmVlbj4KKioqIEhhcmR3YXJlIE1hbGZ1bmN0aW9uCgpDYWxsIHlvdXIgaGFyZHdhcmUgdmVuZG9yIGZvciBzdXBwb3J0CgoqKiogVGhlIHN5c3RlbSBoYXMgaGFsdGVkICoqKgo8L2JsdWVzY3JlZW4+CgpPYiBkYXMgbm9jaCBnZW5hdWVyIGdlaHQsIG9kZXIgZGFyZiBpY2ggamV0enQgcmF0ZW4sIG1pdAp3YXMgV2luZG93cyBlaW4gUHJvYmxlbSBoYXQgPyA7LSkKCkZlaWdsaW5nIChrdXJ6IGRhdm9yIGRlbiAydGVuIFJlY2huZXIgYXVjaCBtaXQgRGViaWFuIHp1CiAgICAgICAgICBpbnN0YWxsaWVyZW4gOi0oCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWl0dGVpbHNhbWVzIFdpbmRvd3MgKFNhdGFybiwgMTQuIERleiAyMDAyLCAwMToxOTo1Nyk6Cn4jISBybj1TY3JlYW1lciBydD0xMDM5ODEwMTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk4MTAxNjEKaWNoIGhhdHRlIGxldHp0ZW5zIGRhcyBwcm9ibGVtIGF1Y2gsIHVuZCBlcyBsYWcgYW4gZGVtIHNlYWdhdGUgZGlzYyB3aXphcmQKa29taXNjaGVyd2Vpc2UsIG1pdCBkZXIgd2luMmsgbmljaHQgenVyZWNodGthbS4KZGVyIGluc3RhbGxpZXJ0IHdvaGwgaXJnZW5kc29laW4gZmVzdHBsYXR0ZW5iaW9zIGJzLXNwZXppZmlzY2ggdW5kIGljaAptdXNzdGUgbWlyIGVyc3QgZGVuIG5ldWVzdGVuIGRpc2Mtd2l6YXJkIGhvbGVuIHVuZCBkaWUgcGxhdHRlIGZ1ZXIgd2luMmsKdm9yYmVyZWl0ZW4sIGRpZXNlciB3aXphcmQgaXN0IHNlaHIga29taXNjaCwgYXVjaCBhbmRlcmUgYmV0cmllYnNzeXN0ZW1lCnJlYWdpZXJ0ZW5hbGxlcmdpc2NoIGF1ZiBkZW4gd2VubiBlciBuaWNodCBwYXNzZW5kIGlzdC4KCi0tIApwYXRyeW4sIGhhdCBuZSB3ZWlsZSBoYXJkd2FyZSBlaW4gdW5kIGF1c2dlYmF1dCBmdWVyIGRhcyBwcm9ibGVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pdHRlaWxzYW1lcyBXaW5kb3dzIChTY3JlYW1lciwgMTQuIERleiAyMDAyLCAwMTozMzozMik6Cn4jISBybj1TYXRhcm4gcnQ9MTAzOTgyNTE5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5ODEwMTYxCmljaCBoYWIgZGFzIHByb2JsZW0gaW56aXNjaGVuIGF1Y2ggZ2Vsb2Vzc3QgLSBEaWUKU291bmRlaW5zdGVsbHVuZ2VuIGRlcyBCaW9zIG11ZXNzZW4gYWxsZSBhc3Ugc2Vpbi4KRXJzdGF1bmxpY2ggaXN0IGFiZXIgdHJvdHogYWxsZW0sIHdpZSBkZXRhaWxpZXJ0CldpbiBhdXNrdW5mdCBnaWJ0Li4uLiB6dW1pbmRlc3QgYmVpIHdlbGNoZW4gSU5UcwpkZXIgQWJzdHVyeiBwYXNzaWVydCwga29lbm50ZSBtYW4gYW5nZWJlbi4KQmVpIGplZGVtIGFuZGVyZW4gQmx1ZXNjcmVlbiBnaWJ0IGVzIHNvbnN0IGF1Y2gKYXVzIHdhcyBpbiBkZW4gUHJvemVzc29ycmVnaXN0ZXJuIHN0ZWh0LiBBdWNoIAp3ZW5uIE90by1Ob3JtYWwtRGF1IG5peCBkYW1pdCBhbmZhbmdlbiBrYW5uIC0KTmFqYSwgc2VsYnN0IGd1dGUgQXNzZW1ibGVyLWtlbm50bmlzc2Ugb2huZQpPUy1pbnRlcm5hIGhlbGZlbiBkYSBuaXggKHVuZCBzZWxic3QgZXhwZXJ0ZW4KYnJhdWNoZW4gZGEgbmVuIFNwZWljaGVyZHVtcCkgLSBhZWhoaCB3bwp3YXIgaWNoID8/Pz8/IEVnYWwuLi4uIExhbmdlIFJlZGUsIEJpZXIgbWFjaHQgU2lubjoKRGllc2UgYXVzZ2FiZSBpc3Qgdm9uIE1pY3Jvd2VpY2ggaXN0IHNpbm5iZWZyZWl0LgoKKGJ0dy4gaWNoIGJlaGF1cHRlIG5pY2h0LCBkYXNzIHVuaXggZGFzIGltbWVyIGJlc3NlcgptYWNodCAtIG51ciB1bSBkZW0gT1MtS3JpZWcgdm9yenViZXVnZW4gOy0pCgpTY3JlYW1lcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWl0dGVpbHNhbWVzIFdpbmRvd3MgKFNhdGFybiwgMTQuIERleiAyMDAyLCAxMTo1MDoyNyk6Cn4jISBybj1TY3JlYW1lciBydD0xMDM5ODI2MDEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk4MTAxNjEKaG1tbS4uLmRhbm4gd3VyZGUgaWNoIGdyYWQgZWluZXMgYmVzc2VyZW4gYmVsZWhydCA7KQppY2ggaGF0dGUgbmFlbWxpY2ggdm9yIG1laW5lbSBmZXN0cGxhdHRlbnByb2JsZW0gbmllIHp1dm9yIGlyZ2VuZHdlbGNoZQppbnN0YWxsYXRpb25zcHJvYmxlbWUgbWl0IHdpbjJrLiBkZXNoYWxiIHdhciBpY2ggYXVjaCB6aWVtbGljaCB2ZXJkdXR6dCwKYWxzIGVzIHBsb2V0emxpY2ggbmljaHQgbGllZiA6KQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGF0ZWlzeXN0ZW12ZXJmdWVnYmFya2VpdCAoR3JpbW1ib3JuLCAxNi4gRGV6IDIwMDIsIDE4OjU1OjQ1KToKSWNoIGhhYmUgZm9sZ2VuZGVzIFByb2JsZW06CkFiIHVuZCB6dSByYXVjaHQgZWluIHJlbW90ZSBEYXRlaXN5c3RlbSBhYi4gRXMgaXN0IHdlaXRlcmhpbiBnZW1vdW50ZWQgdW5kCnNjaGVpbnQgdmVyZnVlZ2JhciwgYWJlciBlcyBoYWVsdCBhbGxlIFByb3plc3NlLCBkaWUgZHJhdWYgenVncmVpZmVuIHdvbGxlbiwKaW4gZWluZW0gemllbWxpY2ggbGFuZ2VuIHRpbWVvdXQgKHdlciBhbiBORlMtUHJvYmxlbWUgZGVua3QgZGVua3QgaW4gZGllCnJpY2h0aWdlIFJpY2h0dW5nLCBhdWNoIHdlbm5zIHdhcyBhbmRlcmVzIGlzdCkuIApKZXR6dCBicmF1Y2hlIGljaCBlaW5lbiBzY2huZWxsZW4sIGJpbGxpZ2VuIHRlc3QgZGFmdWVyLCBvYiBkaWVzZXMgRGF0ZWlzeXN0ZW0KenVnYWVuZ2xpY2ggaXN0IG9kZXIgbmljaHQuIEFsc28ga2VpbiAibHMiIHVuZCBhdWYgZGVuIHRpbWVvdXQgd2FydGVuLgpBbnkgaWRlYXM/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXRlaXN5c3RlbXZlcmZ1ZWdiYXJrZWl0IChNYXJjdXMsIDE2LiBEZXogMjAwMiwgMjE6NDk6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDAwNjEzNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MDA2MTM0NQpQcm9ncmFtbSBzY2hyZWliZW4sIGRhcyA6Cgpmb3JrKCkKClZhdGVycHJvemVzczogc3RhcnRldCB0aW1lcgpLaW5kcHJvemVzczogbWFjaHQgZmlsZXN5c3RlbSB6dWdyaWZmCgpXZW5uIGRlciBUaW1lciBkZXMgVmF0ZXJzIG5pY2h0IGFiZ2VsYXVmZW4gaXN0IG5hY2ggbiBTZWt1bmRlbiBkYW5uIGxvZXN0IGVyIAplaW5lIFdhcm51bmcgYXVzLgoKQ2lhbywgTU5hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogc3RhdGkgc3R1dHRnYXJ0IChCb2luZywgMTcuIERleiAyMDAyLCAxMzoxOToxNSk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTA0MDEyMjgzNSBvZz1tZWdhc2NobWFycm4KfiMhIHJuPUJhbWJpIHJ0PTEwNDAxMjE0ODMgcmc9dHJlZmZlbgp+IyEgdGlkPTEwMzg3MDA4MTEKRmVpbiwgRnVlciBhbGxlLCBkaWUgbmljaHQgcmVnZWxtYWVzc2lnIEhlaXNlIGR1cmNoYmxhZXR0ZXJuOiBlcyBnaWJ0IG51CmZsYXNoNiBmdWVyIExpbnV4LiBOZWluLCBqZXR6dCBiaXR0ZSBrZWluZW4gRmxhbWV3YXIgdWViZXIgc2lubiB1bmQgbnV0emVuIHZvbgpmbGFzaCAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc3RhdGkgc3R1dHRnYXJ0IChTYXRhcm4sIDE3LiBEZXogMjAwMiwgMTQ6MjI6MDMpOgp+IyEgcm49Qm9pbmcgcnQ9MTA0MDEyNzU1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM4NzAwODExCmRhcyBzdGVodCBzY2hvbiBzZWl0IHRhZ2VuIGluIGxpbnV4dG9kYXkgdW5kIGFuZGVyZW4gYWVobmxpY2hlbiB3ZWJzaWRlcy4KZGFzcyBoZWlzZSBkYXNzIGVyc3QgZ2VzdGVybiBvZGVyIHNvIG1pdGJla29tbWVuIGhhdCwgd3VuZGVydCBtaWNoIGdhcgpuaWNodC4gaXN0IGhhbHQga2VpbiBib2Vyc2VuYmVyaWNodCB1bmQgYW5ydWZlbiBrYW5uIG1hbiBtaXQgZmxhc2ggYXVjaAoobm9jaCkga2VpbmVuLgoKLS0gCnBhdHJ5biBmaW5kZXQgaGVpc2UgZWluZmFjaCBudXIgbm9jaCBkb29mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFzc3dvcnRjcmFja2VyIChQaWxncmltLCAxNy4gRGV6IDIwMDIsIDE2OjQyOjUzKToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTAzOTY0ODMxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDM5NjQ4MzEyCj4gSXN0IGJlaSBtaXIgaW4gZGVyIERGVUUtVmVyYmluZHVuZyBoYWx0IG5vY2ggYWxzICoqKioqKiogaGludGVybGVndC4KCkRhZnVlciBnaWJ0IGVzIG5lbiBzaW1wbGVzIFByb2dyYW1tIChpY2ggZ3J1ZWJlbCBkaWUgZ2FuemUgWmVpdCwgd2llIGRhcwpoZWlzc3QpLgpEYXMgVGF0cyB1bnRlciB3aW45eCBiaXMgTUUgLi4uIHNwYWV0ZXIgaGFiJyBpY2ggbmljaHQgbWVociBhdXNwcm9iaWVydC4KCiphaCoKU25hZGJveSdTIHJldmVsYXRpb24KaHR0cDovL3d3dy5zbmFkYm95LmNvbS8KCkhvZmZlLCBlcyBoaWxmdCwKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRlJFRVpFIChEYW50ZSwgMTcuIERleiAyMDAyLCAyMzoxMToxNyk6CkljaCBoYWJlIGZvbGdlbmRlcyBQcm9ibGVtOgpXZW5uIGljaCB6LmIgTk9MRjIgTW9ycm93aW5kKGVpZ2VuZXMgS2FwaXRlbCkgdS5hLiBzcGllbGUKbGVpZGUgaWNoIHVudGVyIGFrdXRlbSBGcmVlemUtU3luZHJvbS4gYWxzbyB2ZXJtdXRsaWNoIGxvY2sgPz8/CkFsbGVzIHN0ZWh0IHN0aWxsLCBuaXggZ2VodCBtZWhyLCBoYXJkY29yZXJlYm9vdC9yZXNldCBpcyBub2V0aWcuCkljaCBoYWIgbmVuIEF0aGxvbiBYUCAyLjAgNTEyIDMzM0REUlJBTSBNU0kgSzRVbHRyYU1ib2FyZCBXaW4gWFAgcHJvCmluc3RhbGxpZXJ0LgpHRm9yY2UyIFBybyA2NEREUlJBTSwgbmV1ZXN0ZSBQYXRjaGVzLCBEcml2ZXIgdXN3IERpcmVjdFg4LjEgdXN3Li4uCktlbm50IGplbSBkYXMgUHJvYmxlbSwgYWxsZXMgd2FzIGljaCBiaXNoZXIgdmVyc3VjaHQgdW5kIGdlbGVzZW4gaGFiZSBicmluZ3QKZ2VuYXUgbml4LgpEYW5rZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZSRUVaRSAoQm9pbmcsIDE4LiBEZXogMjAwMiwgMDk6NTY6MzcpOgp+IyEgcm49RGFudGUgcnQ9MTA0MDE2MzA3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQwMTYzMDc3CkljaCBrZW5uIGRhcyBQcm9ibGVtLCBpY2ggaGFiIGVpbmUgYWVobmxpY2hlIFJlY2huZXJrb25maWd1cmF0aW9uLgpMaWVndCB3b2hsIGFuIGRlciBLb21iaW5hdGlvbiBkZXMgQm9hcmRzIHVuZCBEaXJlY3RYIC4uLiBpY2ggaGFiIGJpc2hlcgprZWluZSBBYmhpbGZlIGdlZnVuZGVuIGF1c3NlciBkaWUgU2l0dWF0aW9uZW4sIHdvIGVzIGJlaSBtaXIgc2ljaGVyIHp1bQpDcmFzaCBrb21tdCwgenUgbWVpZGVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZSRUVaRSAoQ3JpdHRlciwgMTguIERleiAyMDAyLCAxMzo1ODo0NSk6Cn4jISBybj1Cb2luZyBydD0xMDQwMjAxNzk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAxNjMwNzcKaG1tbSBzY2hvbiBiaW9zIGdlZmxhc2hlZCBzb3dvaGwgZ3Jha2EgYWxzIGF1Y2ggbWFpbmJvYXJkLi4uIGFuc29uc3Rlbgp2aWVsbGVpY2h0IGF1Y2huIHRlbXBlcmF0dXIgcHJvYj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZSRUVaRSAoQm9pbmcsIDE4LiBEZXogMjAwMiwgMTQ6NTU6MTgpOgp+IyEgcm49Q3JpdHRlciBydD0xMDQwMjE2MzI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAxNjMwNzcKQWVoPyBOb2NobWFsIGF1ZiBEZXV0c2NoIGJpdHRlLCBzbyBkYXNzIGljaCBlcyBhdWNoIHZlcnN0ZWhlIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRlJFRVpFIChQaWxncmltLCAxOC4gRGV6IDIwMDIsIDE2OjMwOjI4KToKfiMhIHJuPURhbnRlIHJ0PTEwNDAxNjMwNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MDE2MzA3NwpOYSwgV0FTIGhhc3QgRHUgZGVubiBiaXNoZXIgdmVyc3VjaHQvZ2VsZXNlbiAobWVpbmUgR2xhc2t1Z2VsIGhhdCBnZXJhZGUKVXJsYXViKS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZSRUVaRSAoQ3JpdHRlciwgMTkuIERleiAyMDAyLCAwNzo1ODoxNCk6Cn4jISBybj1Cb2luZyBydD0xMDQwMjE5NzE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAxNjMwNzcKb2Igc2Nob24gbWFsIGVpbiB1cGRhdGUgdm9tIGdyYWZpa2thcnRlbiBiaW9zIHVuZCB2b20gbWFpbmJvYXJkYmlvcyBnZW1hY2h0Cnd1cmRlPwp3b2JlaSBpY2ggbmljaHQgMTAwJSBiaW4gb2IgZGFzIGJlaSBkZXIgR3JhZmlra2FydGUgKGRpZXNlcikgZ2VodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXNzd29ydGNyYWNrZXIgKFBpbGdyaW0sIDE5LiBEZXogMjAwMiwgMTM6MzQ6NDApOgp+IyEgcm49Q3JpdHRlciBydD0xMDM5NjQ4MzEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwMzk2NDgzMTIKRnJhZ2U6IFVuZCwgaGFzdCBEdSBEZWluZSAqKioqKioqIGVudHNjaGx1ZXNzZWxuIGtvZW5uZW4/CgpQaWxncmltIChuZXVnaWVyaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbWJlZGRlZCBDb21wdXRpbmcgKEFub3JpcywgMjAuIERleiAyMDAyLCAxNjozMToyOSk6CkhhbGxvCgpTZWl0ZSBoZXV0ZSBoYWJlIGljaCBoaWVyIGVpbmUgUGxhdGluZSBzdGVoZW4uIERhIGlzdCBhbGxlcyBkcmF1ZiwgTEFOLCBBdWRpbywKU1ZHQSwgUkFNLCBVU0IsIDIgeCBTLCAxIHggUCwgLi4uIGViZW4gZWluIHNvZ2VuYW5udGVyIEVtYmVkZGVkIFBDLgoKQm9vdCBmcm9tIExBTiBpc3QgYWt0aXZpZXJ0LgoKTnVuIHdhZXJlIGRhIG5vY2ggZWluIERlYmlhbiAyLjIoLjE3KSBTZXJ2ZXJsZWluLgoKS2VubnQgc2ljaCB3ZXIgZGFtaXQgYXVzLCB3YXMgenUgdHVuIGlzdCwgdW0gdm9tIEVtYmVkZGVjIFBDIHVlYmVycyBMQU4KenUgYm9vdGVuPwoKRGFua2UgaW0gVm9yYXVzCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW1iZWRkZWQgQ29tcHV0aW5nIChQaWxncmltLCAyMy4gRGV6IDIwMDIsIDEyOjI5OjA3KToKfiMhIHJuPUFub3JpcyBydD0xMDQwMzk4Mjg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAzOTgyODkKRnJhZ2U6IFdhcyBtZWluc3QgRHUgbWl0ICI+IEtlbm50IHNpY2ggd2VyIGRhbWl0IGF1cywgd2FzIHp1IHR1biBpc3QsIHVtIHZvbQpFbWJlZGRlYyBQQyB1ZWJlcnMgTEFOCj4genUgYm9vdGVuPyIKCgphKSBEdSBtdXNzdCBkZXIgTmV0endlcmtrYXJ0ZSBlaW4gc29nZW5hbm50ZXMgJ21hZ2ljIHBhY2tldCcgc2VuZGVuLgogICBEYWZ1ZXIgbXVzcyBkaWUgTmljIG5hdC4gV2FrZXVwLW9uLWxhbiBrb2VubmVuIHVuZCBEdSBtdXNzdCBkaWUKICAgTklDLVVJRCAob2RlciB3aWUgZGFzIGRpbmcgaGVpc3N0LCBuaWNodCBkaWUgSVApIGtlbm5lbi4gRXMgZ2lidAogICBlaW4ga2xlaW5lcyBQcm9ncmFtbSAoV2luKSB2b24gQU1EIChoZWlzc3QgYXVjaCBtYWdpYyBwYWNrZXQsIG9kZXIgc28pCmRhc3MgZGFzcyBrYW5uIChuZWluLCBpY2ggd2VpcyBuaWNodCwgb2IncyBkYXNzIGF1Y2ggZnVlciBsaW51eCBnaWJ0IG9kZXIKd2llIGdlbmF1IHNvIGVpbiAnbWFnaWMgcGFja2V0IGF1c3NpZWh0KS4KYikgRXMgZ2lidCBub2NoIGRpZXNlIEJvb3QtRVBST01zIGF1ZiBkZW4gTklDLVN0ZWNra2FydGVuIC4uLiBvYiB1bmQgd29mdWVyCmRpZSBtYW4gYnJhdWNodCwgd2Vpc3MgaWNoIG5pY2h0IC4uLgoKTWVpbiBDb21wdXRlciBzcHJpbmd0IGhhbHQgYmVpIGRpZXNlbSBNYWdpYyBQYWNrZXQgYW4sIGFsc29iIGljaCBpaG4KZWluZ2VzY2hsdGV0IGhhZXR0ZSB1bmQgYm9vdGVkIGRhbm4gZ2FueiBub3JtYWwuIFJ1bnRlcmZhaHJlbiBrYW5uIG1hbiAod2luKQppaG4gei5CLgptaXQgZGVtIFBDIFByZmVzc2lvbmFsIE1hZ2F6aW4gVG9vbCAob2RlciBiZWkgbGFiMSkgV2luRXhpdCBwZXIgcmVtb3RlIEJlZmVobC4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRW1iZWRkZWQgQ29tcHV0aW5nIChBbm9yaXMsIDIzLiBEZXogMjAwMiwgMTU6MTU6MzEpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDQwNjQyOTQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAzOTgyODkKRGFua2UgZnVlciBkZWluZW4gQXJ0aWtlbAoKRXMgZ2VodCBuaWNodCBkYXJ1bSBkYXMgV2FrZVVwIHp1IGdlYnJhdWNoZW4sIHNvbmRlcm4gZWJlbiBkYXMgQm9vdC1FUFJPTQp6dSBiZW51ZXR6ZW4uIEFsc28gd2VubiBtYW4gaWhuIGVpbnNjaGFsdGV0LCBkYXNzIGVyIGRhbm4gdm9tIE5ldHp0IGJvb3RldC4KClVudGVyZGVzc2VuIGJpbiBpY2ggZWluZW4gU2Nocml0dCB3ZWl0ZXIuIERhcyBFUFJPTSBpc3QgUlBMIGtvbXBhdGliZWwuIERhcwpoZWlzdCBlcyBib290ZXQgbnVyIHZvbiBOT1ZFTEwuIEhhYiBkYW5uIHZlcnN1Y2h0IGRhcyBCaW9zIHVwenVncmFkZW4gYXVmClBYRSAoREhDUC9CT09UUCksIGRhcyB2b24gTGludXggdW5kIE5UIHVudGVyc3R1ZXR6dCB3aXJkLiBEaWVzZSBWZXJzdWNoZSBzaW5kCmFiZXIgYmlzIGhlciBmZWhsZ2VzY2hsYWdlbi4KClZlcnN1Y2hlIGpldHp0IGVpbmUgQm9vdGRpc2sgaGluenVrcmllZ2VuLCBkYXNzIGVzIHdlbmlnc3RlbnMgZnVua3Rpb25pZXJ0IHVuZAptYW4gc3BhZXRlciBlaW5mYWNoIGJlaSBOZXR6d2Vya2thcnRlbiBtaXQgUFhFIGRhcyB6dW0gbGF1ZmVuIGtyaWVndC4KCkltIE1vbWVudCBpc3QgZWluZmFjaCBzY2hhZGUsIGRhc3MgZGFzIDMsNSIgRGlza2V0dGVubGF1ZndlcmsgZ3JvZXNzZXIgaXN0LAphbHMgZGVyIFBDIHNlbGJzdCAuLi4gOygKCkRhbmtlCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRW1iZWRkZWQgQ29tcHV0aW5nIChQaWxncmltLCAyMy4gRGV6IDIwMDIsIDE5OjAwOjM0KToKfiMhIHJuPUFub3JpcyBydD0xMDQwNjUyOTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDAzOTgyODkKCkhtbSwgdmllbGxlaWNodCBoaWxmdCBEaXIKaHR0cDovL2dvZS5uZXQvYW5sZWl0dW5nZW4veHRlcm1pbmFsMi5odG1sCm9kZXIKaHR0cDovL3d3dy5jbHVnLmluLWNoZW1uaXR6LmRlL3ZvcnRyYWVnZS94LXRlcm1pbmFsLyNzNAp3ZWl0ZXIgLi4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eEZyYWdlLi4uIChDcml0dGVyLCAgMy4gSmFuIDIwMDMsIDA4OjMyOjM5KToKSWNoIGhhYiBtYWwgbiBrbGVpbmVzIFByb2IgbWl0IG5lciBTY2FubmVyZWlucmljaHR1bmcuLi4KSGFiIG5lIGFrdHVlbGxlIE1hbmRyYWtlIGFtIExhdWZlbiB1bmQgbmVuIE11c3RlayAxMjAwQ1AKU2Nhbm5lciBhbSBTdGFydC4uLi4KRnJhZ2UgaXN0LCB3aWUga3JpZWcgaWNoIGRhcyB2ZXJkYW1tdGUgRGluZyBhbnMgTGF1ZmVuLCBkZXIgd2lsbCAKcGFydG91dCBuaWNodCBlcmthbm50IHdlcmRlbi4gKERhcyBEaW5nIGlzdCBub2NoIGVpbnMgdm9uIGRlbiAKUGFyYWxlbGxQb3J0IHRlaWxlbikuCkZ1ZXIgc2FjaGRpZW5saWNoZSBIaW53ZWlzZSB3ZW5kZW4gU2llIHNpY2ggYml0dGUgYW4gaWhyZSBvZXJ0bGljaGUgClBvbGl6ZWlkaWVuc3RzdGVsbGUgb2RlciBhbiBtaWNoIApBY2ggamEgdW5kIHdlbm4gaWhyIHdhcyB3aXNzdCwgZGFubiBzY2hyZWlidCBlcyBiaXR0ZSBzbywgZGFzcyBpY2ggCmVzIGF1Y2gga2FwaWVyZS4uLi4gOi0pClRoYW54IEMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXhGcmFnZS4uLiAoTm9ubmUsICAzLiBKYW4gMjAwMywgMDg6MzU6NTApOgp+IyEgcm49Q3JpdHRlciBydD0xMDQxNTc5MTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDE1NzkxNTkKT2theSwgaW4gZ2FueiBlaW5mYWNoZW4gV29ydGVuOgpXYXMgaGFzdCBEdSBkZW5uIGJpc2hlciB2ZXJzdWNodD8KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eEZyYWdlLi4uIChDcml0dGVyLCAgMy4gSmFuIDIwMDMsIDA4OjU0OjA4KToKfiMhIHJuPU5vbm5lIHJ0PTEwNDE1NzkzNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MTU3OTE1OQpobW1tIGd1dGUgZnJhZ2UgeHNhbmUgZHJhdWZnZXBhdHNjaHQuLi4gdW5kIHZlcnN1Y2h0IGRpZSBFaW5zdGVsbHVuZ2VuCnZlcnN1Y2h0IGluIGRlbiBlbnRzcHJlY2hlbmRlbiBDb25maWdkYXRlaWVuCmFiZXIgZGEgaWNoIGRlbmtlLCBkYXNzIGljaCBlaW5mYWNoIG5lIEtsZWluaWdrZWl0IHVlYmVyc2VoZW4gaGFiZSwgd2Flcgp2aWVsbGVpY2h0Cm5lIHJpY2h0aWdlIEFubGVpdHVuZyBuaWNodCB2ZXJrZWhydC4uLiBrYW5uIG5hZW1saWNoIHNlaW4sIGRhc3MKaWNoIGVpbmZhY2ggenUgZG9vZiBiaW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaW51eEZyYWdlLi4uIChWYXJkaW9uLCAgMy4gSmFuIDIwMDMsIDEyOjQ0OjMyKToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTA0MTU4MDQ0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQxNTc5MTU5CldhZXJlIGVzIG1vZWdsaWNoLCBkYXNzIFNBTkUgZGllc2VuIFNjYW5uZXIgZWluZmFjaCBuaWNodCB1bnRlcnN0dWV0enQ/Clp1bWluZGVzdCBpbiBkZXIgYWt0dWVsbGVuIEhhcmR3YXJlbGlzdGUgc3RlaHQgZXIgbmljaHQgZHJpbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpbnV4RnJhZ2UuLi4gKExpYWZhciwgIDMuIEphbiAyMDAzLCAxOToyMTowMCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNDE1OTQyNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MTU3OTE1OQpJY2ggZGVua2Ugc2Nob24gZGFzcyBkZXIgbWl0IGRlbSBDSVMgRHJpdmVyIGxhdWZlbiBzb2xsdGUuLi4gSW0gYWxsZ2VtZWluZW4KaGlsZnQgZXMgZGllIG5ldWVzdGUgdmVyc2lvbiB2b24geHNhbmUgenUgaW5zdGFsbGllcmVuLiBTb25zdCBtdXNzIG1hbiBzaWNoCmhhbHQgZGVuIFRyZWliZXIgaGVydW50ZXJsYWRlbi4KaHR0cDovL2hvbWUudGlzY2FsaS5iZS9lZGR5X2RlX2dyZWVmL1NhbmUvCgpMaWFmYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlYmlhbi0zLjAvV29vZHkgb24gRnVqaXRzdS9TaWVtZW5zLVNjZW5pY0wgKFdoaXRldGlnZXIsIDEzLiBKYW4gMjAwMywgMTk6MDY6NDIpOgpJY2ggaGFiZSBudSBlaW5lbiBuZXVlbiBDb21wdXRlciAoc2llaGUgVGl0ZWwpLCBhdWYgZGVtIGljaCBnZXJuIERlYmlhbiB1ZWJlcgpOZXR6aW5zdGFsbGF0aW9uIGluc3RhbGxpZXJlbiB3dWVyZGUuCkRhYmVpIGdpYnRzIG51ciBlaW4ga2xlaW5lcyBQcm9ibGVtY2hlbjogZGVyIGVpbmdlYmF1dGUgRXRoZXJuZXQtTEFOLVBvcnQKKGxhdXQgSGFuZGJ1Y2ggZWluIEludGVsIDgyNTYyRVQgMTAvMTAwIE1CaXQgQ29udHJvbGxlIG9uYm9hcmQsIGFiZXIgZGFzCkhhbmRidWNoIHJlZGV0IGF1Y2ggdm9uIDEyOCBNQnl0ZSBSQU0gLS0gaWNoIGhhYiA1MTIuKSB6dW0gRFNMLVJvdXRlciB3aXJkCm5pY2h0IGFuZ2VzcHJvY2hlbi9lcmthbm50Ly4uLgpXZW5uIGljaCB2ZXJzdWNoZSwgZWluIGJlbGllYmlnZXMgTmV0endlcmtrYXJ0ZW4tTW9kdWwgZWluenViaW5kZW4sIGtvbW10IGVpbmUKTWVsZHVuZyB2b24gaW5zbW9kLCBkYXNzIGRhcyAnRGV2aWNlIGJ1c3knIG9kZXIgc28gaXN0LgpEYXMga2FubiBhYmVyIGltIEdydW5kZSBuaWNodCBzZWluLCBkYSBsc21vZCBudXIgMiBtb2R1bGUgYW56ZWlndCAoYWZfcGFja2V0CnVuZCB1bml4KSwgdW5kIGtlaW5lIHdlaXRlcmVuIE5ldHp3ZXJrbW9kdWxlIGVpbmdlYnVuZGVuIHNpbmQuCldlaXNzIGlyZ2VuZGplbWFuZCBlaW5lIFByb2JsZW1sb2VzdW5nIGZ1ZXIgbWljaD8gQXVjaCBlaW5mYWNoZSBSYXRzY2hsYWVnZQp3dWVyZGVuIGZyZXVuZGxpY2ggYmVncnVlc3N0Li4uCgpXaGl0ZVRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGViaWFuLTMuMC9Xb29keSBvbiBGdWppdHN1L1NpZW1lbnMtU2NlbmljTCAoR3JpbW1ib3JuLCAxMy4gSmFuIDIwMDMsIDE5OjI4OjE2KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MjQ4MTIwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQyNDgxMjAyCkJlc29yZyBEaXIgZWluZSB1bnRlcnN0dWV0enRlIE5ldHp3ZXJrIEthcnRlLCBzY2hyYXViIHNpZSByZWluIHVuZCB2ZXJ3ZW5kZQpkYXMgenVyIEluc3RhbGxhdGlvbi4gQXVmIGRhcyBPbmJvYXJkLVRlaWwga2FubnN0IER1IGhpbnRlcmhlciBpbW1lciBub2NoCmVpbnNjaGxhZ2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGViaWFuLTMuMC9Xb29keSBvbiBGdWppdHN1L1NpZW1lbnMtU2NlbmljTCAoVmFyZGlvbiwgMTQuIEphbiAyMDAzLCAwMTo0Mjo0Nyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDI0ODEyMDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MjQ4MTIwMgpTb2xhbmdlIGRpZSBPbmJvYXJkLU5ldHp3ZXJra2FydGUgdWViZXIgUENJIGFuZ2Vrb3BwZWx0IGlzdCAod292b24gd29obAphdXN6dWdlaGVuIGlzdCkgc29sbHRlIHNpZSBzaWNoIHVlYmVyIGxzcGNpIGRvY2ggcmVjaHQgbGVpY2h0IGlkZW50aWZpemllcmVuCmxhc3Nlbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZWJpYW4tMy4wL1dvb2R5IG9uIEZ1aml0c3UvU2llbWVucy1TY2VuaWNMIChPZ2FyLCAxNC4gSmFuIDIwMDMsIDAxOjU4OjMyKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MjQ4MTIwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQyNDgxMjAyCkFGQUlLIGlzdCBkZXIgODI1NjJFVCBlaW5lIHJlbGF0aXYgbmV1ZSBDaGlwLVZhcmlhbnRlLiAgRmFsbHMgRGViaWFuLTMuMApub2NoIGVpbmVuIDIuMmVyIEtlcm5lbCBiZW51dHp0LCBrb2VubnRlIGVpbiBVcGRhdGUgYXVmIGVpbmVuIDIuNGVyCmhlbGZlbi4gIEFiIDIuNC4yMCBnaWJ0IGVzIHdvaGwgYXVjaCBlaW5lbiBhbHRlcm5hdGl2ZW4gVHJlaWJlciBkaXJla3QKdm9uIEludGVsIChlMTAwKSBmdWVyIGRpZXNlbiB1bmQgYW5kZXJlIE5ldHp3ZXJrY2hpcHMuCgpMYXV0IE1haW5ib2FyZC1XZXJidW5nIGlzdCBpbiBtZWluZW0gUmVjaG5lciBhdWNoIGVpbiA4MjU2MkVULCB3aXJkIHZvbgpjYXQgL3Byb2MvcGNpIGFscyAiRXRoZXJuZXQgY29udHJvbGxlcjogSW50ZWwgQ29ycC4gODI4MDFCQS9CQU0vQ0EvQ0FNCjpFdGhlcm5ldCBDb250cm9sbGVyIChyZXYgMykiIGdlbGlzdGV0IHVuZCB3aXJkIHZvbSBlZXBybzEwMC1OZXR6d2Vya3RyZWliZXItCk1vZHVsIGVya2FubnQuCgpPZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDRC1SVyAoUGVyZGl0YSwgMTQuIEphbiAyMDAzLCAxOToyNDo0Mik6CkhhbGxpLWhhbGxvCkdpYnQgZXMgYmVzdGltbXRlIENELVJXIE1hcmtlbiwgZGllIGljaCBiZXNzZXIgbWVpZGVuIHNvbGx0ZT8KT2RlciBiZXNvbmRlcnMgZW1wZmVobGVuc3dlcnRlPwoKClBlcmRpdGEgbW9lY2h0ZSBzaWNoIG1hbCBDRC1SV3MgenVsZWdlbiB1bmQgd2Vpc3MgbmljaHQgcmVjaHQsIHdvcmF1ZiBzaWUgZGEKYWNodGVuIHNvbGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRC1SVyAoUm9jaHVzLCAxNS4gSmFuIDIwMDMsIDAwOjE5OjQ5KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTA0MjU2ODY4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQyNTY4NjgyCkhtbSwgenVtIE1FSURFTiBtdWVzc3RlIGljaCBtYWwgZGVuIGxldHp0ZW4gYyd0IFRlc3QgbGVzZW4uLi4KYWJlciBEdSB3aXJzdCBrYXVtIGplbWFuZGVuIGZpbmRlbiwgZGVyIERpciBOSUNIVApQbGV4dG9yIGVtcGZpZWhsdCwgd2VubiBEdSBlcyBiZXphaGxlbiBtb2VjaHRlc3QgOi0pCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSVJJWCBzZ2kgKEFub3JpcywgMTUuIEphbiAyMDAzLCAxODowMToyMyk6CkF1cyBpcmdlbmR3ZWxjaGVuIEdydWVuZGVuLCBkaWUgaWNoIGdhciBuaWNodCBrZW5uZSwgaGFiZSBpY2ggdm9yIGVpbmlnZXIKWmVpdCBlaW4gR2VyYWV0IGhlcnZvcmdlaG9sdCwgZGFzcyBpY2ggdm9yIHVlYmVyIDUgSmFocmVuIGdlc2NoZW5rdApiZWtvbW1lbiBoYWIuCgpCZWltIGVpbnNjaGFsdGVuIGVya2xpbmd0IGJlcmVpdHMgZWluZSBNZWxvZGllIGFiZXIgbGVpZGVyIGtvbW10IGVpbmUKRmVobGVybWVsZHVuZy4gRGllIGtvbm50ZSBpY2ggZHVyY2ggZGVuIEF1c3RhdXNjaCBkZXIgcnVuZGVuIEJhdHRlcmllCmJlaGViZW4gdW5kIGVyIGhhdCBoZXV0ZSB6dW0gZXJzdGVuIG1hbCB3aWVkZXIgZ2VzdGFydGV0LiBMZWlkZXIKa2VubiBpY2ggd2VkZXIgZGFzIFBhc3N3b3J0IHZvbiByb290IG5vY2ggZGFzIFBhc3N3b3J0IHdlbGNoZXMgaWNoCmRhbWFscyBmdWVyIG1laW5lbiBVc2VyIGJlc3RpbW10IGhhYmUuIFp1bSBHbHVlY2sgZ2lidCBlcyBlaW5lbiBMb2dpbgpEZW1vIG9obmUgUGFzc3dvcnQuIFVuZCBkYSBlcyBlaW4gYWVsdGVyZSBVbml4dmVyc2lvbiBpc3QsIGlzdCBkYXMKCiAvZXRjL3Bhc3N3ZCBtaXQgZGVuIHZlcnNjaGx1ZXNzZWx0ZW4gUGFzc3dvcnRlciBkcmluIGhhdC4gRGllIFplaWxlOgpyb290Ok5WYURneWs5LzRkRjI6MDowOlN1cGVyLVVzZXI6L3Jvb3Q6L2Jpbi9jc2gKTnVuIHd1ZXJkZSBtaWNoIG5hdHVlcmxpY2ggZGFzIFBhc3N3b3J0IGRhZnVlciBpbnRlcnNzaWVyZW4sIG9kZXIgZWluZQpNb2VnbGljaGtlaXQgZGFzIGF1c3p1cmVjaG5lbi4gSmVkb2NoIHd1ZXJkZSBpY2ggbWljaCB1ZWJlciBlaW5lIEFuZ2FiZQpkZXIgYmVub2V0aWd0ZW4gWmVpdCB6dW0gZXJyZWNobmVuIGRpZXNlcyBQYXNzd29ydGVzIGltIHNjaGxpbW1zdGVuIEZhbGwKYWxzbyBvaG5lIERpY3Rpb25hcnkgc29uZGVybiBkYXMgQmVyZWNobmVuIGplZGVyIEtvbWJpbmF0aW9uIG1pdCBhbGxlbgp6dWxhZXNzaWdlbiBaZWljaGVuIC4uLgoKRGFua2UgaW0gVm9yYXVzIDspCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElSSVggc2dpIChDcm9mdCwgMTUuIEphbiAyMDAzLCAxODoxNTowMik6Cn4jISBybj1Bbm9yaXMgcnQ9MTA0MjY1MDA4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQyNjUwMDgzClRoZW9yZXRpc2NoIHNvbGx0ZSBlcyByZWljaGVuIGRlbiBjcnlwdC1TdHJpbmcgdm9uIGVpbmVtIGFuZGVyZW4gUm9vdC1BY2NvdW50CmRvcnQgZWluenV0cmFnZW4gdW0gZGFzIGdsZWljaGUgUGFzc3dvcnQgZG9ydCB6dSBoYWJlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElSSVggc2dpIChWYW5pb24sIDE1LiBKYW4gMjAwMywgMTg6MTY6MzYpOgp+IyEgcm49Q3JvZnQgcnQ9MTA0MjY1MDkwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQyNjUwMDgzCkdlbmF1LiBPZGVyIGVpbmZhY2ggbG9lc2NoZW4uIFNjaHJlaWJyZWNodGUgZGF6dSwga3JpZWd0IG1hbiBpbmRlbSBtYW4gbWl0CmVpbmVtIExpZmUgRmlsZXN5c3RlbSBvZGVyIGVpbmVyIFJldHR1bmdzLUNEIGJvb3RldCAob2RlciBtaXQgbXUtTGludXgsIHdlbm4Ka2VpbiBDRFJPTSBkYSBpc3QuKQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElSSVggc2dpIChBbm9yaXMsIDE1LiBKYW4gMjAwMywgMTg6MzU6MzUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDI2NTA5OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MjY1MDA4MwpMZWlkZXIgaGFiZSBpY2ggbnVyIExlc2VyZWNodGUgYXVmIC9ldGMvcGFzc3dkLiBTY2hyZWlicmVjaHRlIHp1IGtyaWVnZW4Kd2FlcmUgbmF0dWVybGljaCBlaW5lIE1vZWdsaWNoa2VpdCBhYmVyIGljaCBzb2xsdGUgdmllbGxlaWNodCBub2NoIGV0d2FzCnVlYmVyIGRhcyBHZXJhZXQgZXJ6YWVobGVuLiBGZXN0cGxhdHRlbmdyb2Vzc2U6IGNhIDU0MCBNQi4gQ0QtUk9NIG5pY2h0CnZvcmhhbmRlbi4gMTYgTUIgUkFNLiBQcm96ZXNzb3I6IDMzIE1IeiBORUMuIERpZSBLaXN0ZSBzZWxic3Qgd2llIGF1Y2gKZGllIEluc3RhbGxhdGlvbiBpc3Qgdm9uIEFuZmFuZ3MgMTk5Mi4gRGFzIEZpbGVzeXN0ZW0gbmVubnQgc2ljaCBlZnMuCgpTb21pdCBzZWhlIGljaCBrZWluZSBNb2VnbGljaGtlaXQgYXVmIGRpZSBEYXRlaSBzY2hyZWliZW5kIHp1Z3JlaWZlbiB6dQprb2VubmVuLiA7KAoKY2hhciAqY3J5cHQoY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICpzYWx0KTsgd2FlcmUgZGEgdmVybXV0bGljaCBkaWUKQWx0ZXJuYXRpdmUgLi4gb2Rlcj8KCi0gQW5vcmlzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJUklYIHNnaSAoQ3JvZnQsIDE1LiBKYW4gMjAwMywgMTg6NTk6MTgpOgp+IyEgcm49QW5vcmlzIHJ0PTEwNDI2NTIxMzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MjY1MDA4MwpOb3RmYWxscyBGZXN0cGxhdHRlIGF1c2JhdWVuIHVuZCBpbiBlaW5lbiBMaW51eHJlY2huZXIgZGVpbmVyIFdhaGwKcmVpbnNjaHJhdWJlbi4gIExpbnV4IGthbm4gZWZzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IElSSVggc2dpIChWYXJkaW9uLCAxNS4gSmFuIDIwMDMsIDIyOjQ4OjMyKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDI2NTM1NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MjY1MDA4MwpXZW5uIGRpZSBLaXN0ZSB3aXJrbGljaCA1IEphaHJlIGFsdCBpc3QsIGtvbW1zdGUgd2FocnNjaGVpbmxpY2ggc2NobmVsbGVyLCBpbQpOZXR6IG1hbCBuYWNoIGlyZ2VuZHdlbGNoZSBFeHBsb2l0cyBmdWVyIElSSVggenUgc3VjaGVuLiBJUklYIHdhciBuaWNodCBnZXJhZGUKZnVlciBTaWNoZXJoZWl0IGJla2FubnQuLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IElSSVggc2dpIChHcmltbWJvcm4sIDE1LiBKYW4gMjAwMywgMjI6NTE6MDYpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQyNjY3MzEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDI2NTAwODMKS2xlaW5lIEFuZWtkb3RlIGFtIFJhbmRlOgpJRVRGLVRhZ3VuZyBpbiBNdWVuY2hlbiAoMTk5NywgSUlSQyksIHdpciBiYXVlbiBkZW4gUmVjaG5lcnJhdW0gYXVmIG1pdCAzMApJbmRpZXMuIERpc2t1c3Npb24gb2IgZXMgZWluZW4gS29uZmVyZW56YWNjb3VudCBnaWJ0LCBvZGVyIGplZGVyIGVpbmVuCmluZGl2aWR1ZWxsZW4gYWNjb3VudCBiZWtvbW1lbiBzb2xsLiBFcmdlYm5pczogIkVzIGdpYnQgZWluZW4KR2VtZWluc2NoYWZ0c2FjY291bnQsIHdlciBlaW5lbiBpbmRpdmlkdWVsbGVuIHdpbGwgc29sbCBzaWNoIGVpbmVuIGhhY2tlbi4gSXN0CklSSVgsIGRhcyBpc3QgbmUgZmFpcmUgQ2hhbmNlLiIgVW5kIHNvIGdlc2NoYWggZXMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcnNjaGllZGVuZSBMaW51eC1EaXN0cm9zIChXaGl0ZXRpZ2VyLCAyNS4gSmFuIDIwMDMsIDEwOjI4OjA5KToKSWNoIGtlbm5lIGltIG1vbSBkcmVpIE1vZWdsaWNoa2VpdGVuLCB3ZW5uIG1hbiBzaWNoIHNlaW4gTGludXgtU3lzdGVtIHNlbGJzdAprb21waWxpZXJlbiBtb2VjaHRlICh3ZWdlbiBPcHRpbWllcnVuZ2VuIGV0Yy4pLiBEYXMgc2luZCBHZW50b28sIFJvY2tMaW51eCB1bmQKTGludXhGcm9tU2NyYXRjaCAod29iZWkgZGFzIGxldHp0ZSBlaWdlbnRsaWNoIGtlaW5lIERpc3RybyBpc3QuLi4pLiBXYXMgc2luZAplaWdlbnRsaWNoIGRpZSBVbnRlcnNjaGllZGUgaW0gS29uemVwdCB2b24gR2VudG9vIHVuZCBSb2NrTGludXg/IE51ciBkZXIgTmFtZT8KLS0gV2hpdGVUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcnNjaGllZGVuZSBMaW51eC1EaXN0cm9zIChHcmltbWJvcm4sIDI1LiBKYW4gMjAwMywgMTI6NDY6NDUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzNDg2ODg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM0ODY4ODkKTmEsIGRhbm4gcmVhZ2llcmUgaWNoIGRvY2ggbWFsIGF1ZiBkaWVzZW4gc2Nob2VuZW4gZmxhbWUgYmFpdC4uLgpXb3p1IGdlbmF1IHdpbGxzdCBEdSBEZWluIGtvbXBsZXR0ZXMgU3lzdGVtIHNlbGJlciBrb21waWxpZXJlbj8gRGllCk9wdGltaWVydW5nIHdpcmRzIGthdW0gc2VpbiwgZGFzIGlzdCBpbSBnZXJhZGUgbm9jaCBtZXNzLSwgbmljaHQgYWJlcgpmdWVobGJhcmVuIEJlcmVpY2guIFdhcyBhbHNvIHZlcmJpcmd0IHNpY2ggaGludGVyIERlaW5lbSAiZXRjLiI/CkFuc29uc3RlbiBzb2xsdGVuIGFsbGUgRGlzdHJpYnV0aW9uZW4gbWl0IFF1ZWxsZW4ga29tbWVuLCBkaWUgc2ljaCBhdWYgZGllc2VtClN5c3RlbSBhdWNoIGtvbXBpbGllcmVuIGxhc3NlbiAod2FyIGZydWVoZXIgZXJzdGF1bmxpY2ggc2VsdGVuIGRlciBGYWxsLgpBdXNzZXIgYmVpIENhbGRlcmEpLCBpbSBad2VpZmVsc2ZhbGwgbXVzc3QgRHUgbnVyIGVpbiBiaXNjaGVuIGlucyBzcGVjLWZpbGUKZ3Vja2VuIHVuZCBkYXMgcnBtIG5ldSBiYXVlbiwgd2VubnMgdW0gZWluemVsbmUgUGFrZXRlIGdlaHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyc2NoaWVkZW5lIExpbnV4LURpc3Ryb3MgKFZhbmlvbiwgMjUuIEphbiAyMDAzLCAxMzowMTo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0MzQ5NTIwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzNDg2ODg5CkxpbnV4IGZyb20gU2NyYXRjaCBpcyBlaW5lIG5ldHRlIFNhbW1sdW5nLCB3ZW5uIG1hbiBsZXJuZW4gd2lsbCwgd2llIGVpbiBMaW51eAphdWZnZWJhdXQgaXN0LCB3aWUgZXMgZnVua3Rpb25pZXJ0LiBJY2ggaGFiIG1laW5lbiBSZWNobmVyIGVpbiBKYWhyIG1pdCBMRlMKbGF1ZmVuIGxhc3NlbiB1bmQgaGF0dGUgZGFiZWkgdmllbCBTcGFzcyB1bmQgbm9jaCBtZWhyIGdlbGVybnQuIE1hbiBtdXNzIHNpY2gKYWJlciBuaXggdm9ybWFjaGVuLiBMRlMgaXMga2VpbmUgRGlzdHJvLiBGdWVyIGRlbiBTdXBwb3J0IHVuZCBVcGRhdGVzIGlzdCBtYW4Kdm9sbHN0YWVuZGlnIHNlbGJzdCB2ZXJhbnR3b3J0bGljaC4gVW5kIGRhcyBrb3N0ZXMgc2F0dCBaZWl0LgoKRmF6aXQ6IExGUyBpc3QgZWluc2F0enRhdWdsaWNoLCB3ZW5uIG1hbiBsZXJuZW4gd2lsbCwgd2llIExpbnV4IGxhZXVmdCwgb2Rlcgp3ZW5uIG1hbiBlcyBlaW5tYWwgYXVmc2V0enQgdW5kIGRhbmFjaCBuaWUgd2llZGVyIHdhcyBhbmZhc3NlbiB3aWxsLiBTb25zdAplaGVyIG5pY2h0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZlcnNjaGllZGVuZSBMaW51eC1EaXN0cm9zIChPbGxpLCAyNS4gSmFuIDIwMDMsIDEzOjEzOjM3KToKfiMhIHJuPVZhbmlvbiBydD0xMDQzNDk2MTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM0ODY4ODkKTmFqYSwgd28gYWJlciBrZWluZSBkZXIgImVjaHRlbiIgRGlzdHJpYnV0aW9uZW4gbWl0aGFsdGVuIGthbm4sIGlzdCBkZXIKRmFsbCwgZGFzcyBtYW4gUGxhdHogc3BhcmVuIG1vZWNodGUvbXVzcy4KV2VubiBlcyBhdWNoIHVtIHNvd2FzIGdlaHQsIGRhc3MgbWFuIGV2dGwuIGRpZSBnbGliYyBkdXJjaCB3YXMgd2VuaWdlcgpwbGF0emludGVuc2l2ZXMgZXJzZXR6ZW4gbW9lY2h0ZS4KCk9sbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJzY2hpZWRlbmUgTGludXgtRGlzdHJvcyAoRWxkYXJvbiwgMjUuIEphbiAyMDAzLCAxMzo0ODowNik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM0ODY4ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MzQ4Njg4OQpEYXp1IGZhZWxsdCBtaXIgbm9jaCBDcnV4IGVpbiwgZWluZSBzZWhyIGh1ZWJzY2hlIHNjaGxhbmtlIERpc3RyaWJ1dGlvbiwgZGllCmVpbiBCU0QtUG9ydC1TeXN0ZW0gaGF0LiBJbSBHZWdlbnNhdHogenUgR2VudG9vIGlzdCBkYXMgQmFzaXNzeXN0ZW0gaW0Kbm9ybWFsZmFsbCBhbHMgZmVydGlnZXMgenUgaW5zdGFsbGllcmVuLCBkaWUgQmluYXJpZXMgc2luZCBhYmVyIGFsbGUgYXVmIDY4NgpvcHRpbWllcnQuIERpZSByZXN0bGljaGVuIFNhY2hlbiBpbnN0YWxsaWVydCBtYW4gZGFubiBlaW5mYWNoIGR1cmNoCmRvd25sb2FkZW4sIGNvbXBpbGVybiwgaW5zdGFsbGllcmVuIChlaW4gYmVmZWhsKSBhdXMgZGVtIFBvcnQtU3lzdGVtLgoKCkRpc3Ryb3dhdGNoIHNhZ3QgZGF6dToKQ1JVWCBpcyBhIGxpZ2h0d2VpZ2h0LCBpNjg2LW9wdGltaXplZCBMaW51eCBkaXN0cmlidXRpb24gdGFyZ2V0ZWQgYXQKZXhwZXJpZW5jZWQgTGludXggdXNlcnMuIFRoZSBwcmltYXJ5IGZvY3VzIG9mIHRoaXMgZGlzdHJpYnV0aW9uIGlzICJrZWVwIGl0CnNpbXBsZSIsIHdoaWNoIGlzIHJlZmxlY3RlZCBpbiBhIHNpbXBsZSB0YXIuZ3otYmFzZWQgcGFja2FnZSBzeXN0ZW0sIEJTRC1zdHlsZQppbml0c2NyaXB0cywgYW5kIGEgcmVsYXRpdmVseSBzbWFsbCBjb2xsZWN0aW9uIG9mIHRyaW1tZWQgcGFja2FnZXMuIFRoZQpzZWNvbmRhcnkgZm9jdXMgaXMgdXRpbGl6YXRpb24gb2YgbmV3IExpbnV4IGZlYXR1cmVzIGFuZCByZWNlbnQgdG9vbHMgYW5kCmxpYnJhcmllcy4KCkVsZGFyb24sIGRlbSBDcnV4IGd1dCBnZWZhbGxlbiBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyc2NoaWVkZW5lIExpbnV4LURpc3Ryb3MgKFpvb2ssIDI1LiBKYW4gMjAwMywgMTg6Mzg6MzMpOgp+IyEgcm49RWxkYXJvbiBydD0xMDQzNDk4ODg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM0ODY4ODkKV2FydW0gZGFubiBuaWNodCBnbGVpY2ggKkJTRCBiZW51dHplbj8gOykKClpvb2ssIGVpZnJpZmVyIEZyZWVCU0QtTnV0emVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyc2NoaWVkZW5lIExpbnV4LURpc3Ryb3MgKEdyaW1tYm9ybiwgMjUuIEphbiAyMDAzLCAxODo0MzozMSk6Cn4jISBybj1ab29rIHJ0PTEwNDM1MTYzMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0MzQ4Njg4OQpXZWlsIGRhcyBrZWluZSBMaW51eGRpc3RyaWJ1dGlvbiBpc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcnNjaGllZGVuZSBMaW51eC1EaXN0cm9zIChXaGl0ZXRpZ2VyLCAyNi4gSmFuIDIwMDMsIDA4OjU3OjQ4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQzNTE2NjExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM0ODY4ODkKbmFqYS4uLiBGcmVlQlNEIGtvbW10IGphIHp1c2FldHpsaWNoIGF1Y2ggbm9jaCBtaXQgZHJhdWYgOikKCldoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IGNkLWJyZW1zZSBmdWVyIHdpbjl4IChWYXJkaW9uLCAyOC4gSmFuIDIwMDMsIDEzOjAzOjU0KToKSGkuCgpHaWJ0cyBmdWVyIFdpbjl4IGVpbiBGcmVld2FyZS1Qcm9ncmFtbSwgdW0gZGllIE1heGltYWxnZXNjaHdpbmRpZ2tlaXQgZGVzCkNEL0REVkQtTGF1ZndlcmtzIHJ1bnRlcnp1cmVnZWxuPyBTb3dhcyBhZWhubGljaGVzIHdpZSAiQ0QtQnJlbXNlIi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk91dGxvb2sgRXhwcmVzcyAoS2FyaXMsIDI5LiBKYW4gMjAwMywgMjM6NDg6MjkpOgpFaW5mYWNoZSBGcmFnZTogd2llIGJyaW5nZSBpY2ggZGllc2VtIC4uLiBQcm9ncmFtbSBiZWksIGlyZ2VuZHdlbGNoZQpBdHRhY2htZW50cwpOSUNIVCB6dSBsb2VzY2hlbiwgbnVyIHdlaWwgT3V0bG9vayBFeHByZXNzIGRlbiBBbmhhbmcgZnVlciB1bnNpY2hlciBoYWVsdD8/Pwpad2VpdGUgRnJhZ2U6IGthbm4gbWFuIGVpbmVuIGdlbHNjaHRlbiBBbmhhbmcgaXJnZW5kd2llIHJlY292ZXJuPwoKRnVlciBIaWxmZSBkYW5rYmFyLApLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE91dGxvb2sgRXhwcmVzcyAoQW1hcnlsbGlzLCAyOS4gSmFuIDIwMDMsIDIzOjU2OjIzKToKfiMhIHJuPUthcmlzIHJ0PTEwNDM4ODA1MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpTZWkgZG9jaCBmcm9oLCBkYXNzIGVyIGRlbiBBbmhhbmcgbG9lc2NodC4KSWNoIGtlbm5lIGJpc2hlciBhdXMgbGVpZHZvbGxlciBFcmZhaHJ1bmcgKG5laW4sIGtlaW4gT3V0bG9vaywgS3VuZGVucHJvYmxlbWUpCm51ciBPdXRsb29rcywgZGllIEFuaGFlbmdlIHVuZ2VmcmFndCBhdXNmdWVocmVuLCB3ZWlsIHNpZSBzZWxiaWdlIGZ1ZXIKInNpY2hlciIgaGFsdGVuLi4uCgpBbWEqLCBkZXN3ZWdlbiBsYXVmZW5kIGluZml6aWVydGUgS3VuZGVuIGV0Yy4gYWJrbGVtbWVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT3V0bG9vayBFeHByZXNzIChLYXJpcywgMjkuIEphbiAyMDAzLCAyMzo1Nzo0MSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA0Mzg4MDk4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5Ck5laW4sIGljaCBib2luIG5pY2h0IGZyb2guIERhIGltIEFuaGFuZyB3YXIgZGllIExpemVueiBmdWVyIGVpbgp0ZXVlciBlcnN0YW5kZW5lcyBQcm9ncmFtbWJpYmxpb3RoZWsuIEljaCBiaW4gZWhlciBzdGlua3NhdWVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3V0bG9vayBFeHByZXNzIChBbWFyeWxsaXMsIDI5LiBKYW4gMjAwMywgMjM6NTk6MTEpOgp+IyEgcm49S2FyaXMgcnQ9MTA0Mzg4MTA2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkRhbm4gbmltbSBkb2NoIGVpbmZhY2ggZWluZW4gdmVybnVlbmZ0aWdlbiBNYWlsLUNsaWVudD8gRGEgZ2lidHMgZXRsaWNoZSB1bnRlcgpXaW5kb29mLi4uIFdpZXNvIG11c3MgZXMgYXVzZ2VyZWNobmV0IEF1c2JsaWNrRXhwbG9pdCBzZWluPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3V0bG9vayBFeHByZXNzIChLYXJpcywgMzAuIEphbiAyMDAzLCAwMDowMTozMCk6Cn4jISBybj1LYXJpcyBydD0xMDQzODgxMDYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKc28uIERlcyBSYWV0c2VscyBMb2VzdW5nIHdhcjogVW50ZXIgZGVuIFNpY2hlcmhlaXRzLU9wdGlvbmVuIGthbm4KbWFuIGVpbnN0ZWxsZW4sIG9iIG1hbiBkYXMgc3BlaWNoZXJuIHVuZCBvZWZmbmVuIHZvbiBwb3RlbnRpZWxsIGdlZmFlaHJsaWNoZW4KRGF0ZWllbgpuaWNodCB6dWxhc3NlbiB3aWxsLiBEYXMgZGFzIGhlaXNzdCwgZGllIEF0dGFjaG1lbnRzIHdlcmRlbiBnZWxvZXNjaHQsIGlzdCBtaXIKbmljaHQKYXVmIGRlbiBlcnN0ZW4gQmxpY2sgZWluZ2FlbmdpZyBnZXdlc2VuLiBOdW4gamEuIEVzIGxlYmUgTSQuCkthcmlzLCBub2NoIHN0aW5raWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogT3V0bG9vayBFeHByZXNzIChCYW1iaSwgMzAuIEphbiAyMDAzLCAwMDowMjoyMCk6Cn4jISBybj1LYXJpcyBydD0xMDQzODgxMjkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKRGFzIHdpcmtsaWNoIG5lcnZpZ2UgYW4gT3V0bG9vayBFeHByZXNzIGZhbmQgaWNoIGJpc2hlciwgZGFzcyBkaWUKU3RhbmRhcmRlaW5zdGVsbHVuZ2VuIHBlciBzZSBNdWVsbCBzaW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogT3V0bG9vayBFeHByZXNzIChPZ2FyLCAzMC4gSmFuIDIwMDMsIDAwOjExOjU5KToKfiMhIHJuPUthcmlzIHJ0PTEwNDM4ODEyOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpTaWNoZXIsIGRhc3MgZGllIEF0dGFjaGVtZW50cyB0YXRzYWVjaGxpY2ggZ2Vsb2VzY2h0IHdlcmRlbiwgb2J3b2hsIGRpZQpFbWFpbCBub2NoIGRhIGlzdD8gIE9wdGlvbiBhdXNzY2hhbHRlbiwgT0UgbmV1IHN0YXJ0ZW4gdW5kIEVtYWlsIGVybmV1dAphbnplaWdlbi4gIEhhdHRlIG1pciBtYWwgZ2Vob2xmZW4sIGFscyBPRSBtZWludGUsIGtlaW5lIFBERi1BbmhhZW5nZSBhdWYKUGxhdHRlIHNwZWljaGVybiB6dSB3b2xsZW4gKE1ha3JvdmlyZW4tdmVyc2V1Y2h0ZSBET0NzIHdhZXJlbiBuYXR1ZXJsaWNoCm9rIGdld2VzZW4pLgoKT2dhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT3V0bG9vayBFeHByZXNzIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMDA6MTg6MTgpOgp+IyEgcm49T2dhciBydD0xMDQzODgxOTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKS2FyaXMsIHZlcnN1Y2ggZWluZmFjaCBhdXMgZGVuIFNjaG1lcnplbiB6dSBsZXJuZW4gdW5kIGVudHNwcmVjaGVuZGUKS29uc2VxdWVuemVuIHp1IHppZWhlbi4gQW5nZWJsaWNoIHdpcmQgbWFuIGRvY2ggYXVzIFNjaGFkZW4ga2x1Zy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogT3V0bG9vayBFeHByZXNzIChWZWN0b3IsIDMwLiBKYW4gMjAwMywgMDA6MTk6MTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM4ODIyOTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQphdWYgZmVobGVybiB3aXJkIG1hbiBrbHVnLApkcnVtIGlzdCBlaW5lciBuaWNodCBnZW51Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE91dGxvb2sgRXhwcmVzcyAoS2FyaXMsIDMwLiBKYW4gMjAwMywgMDA6MTk6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM4ODIyOTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQoqU0VVRloqCkphIGRvY2gsIGljaCBmYWhyIGphIHNjaG9uIGdyYWQgbWVpbmUgTGludXgtS2lzdGUgaG9jaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE91dGxvb2sgRXhwcmVzcyAoS2FyaXMsIDMwLiBKYW4gMjAwMywgMDA6MjM6NDkpOgp+IyEgcm49T2dhciBydD0xMDQzODgxOTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKRWluIGhlcnpsaWNoZXMgRGFua2VzY2hvZW4gYW4gT2dhci4gRGFzIGZ1bmt0aW9uaWVydCB0YXRzYWVjaGxpY2ggOikpCgpOZWJlbmJlaSBiZW1lcmt0IHdpbmRlIGljaCBlcyB0b2xsLCBkYXNzIHNpY2ggd2VuaWdzdGVucyBlaW5lciB6dSBlaW5lcgpMb2VzdW5nCkdlZGFua2VuIGdlbWFjaHQgaGF0IHVuZCBuaWNodCBtaXQgZGVtIHVlYmxpdWNoZW4gQlMtYmFzaGluZyBhbmdlZmFuZ2VuIGhhdC4KREFTIHdhciB3ZW5pZyBoaWxmcmVpY2guCgpLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogT3V0bG9vayBFeHByZXNzIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMDA6MjY6NDMpOgp+IyEgcm49S2FyaXMgcnQ9MTA0Mzg4MjYyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkljaCBiYXNoZSBrZWluZSBPUywgd296dSBhdWNoPyBJbiBEZWluZW0gRmFsbCBzY2hlaW50IGRpZSBBbndlbmR1bmcga2FwdXR0IHp1CnNlaW4sIG5pY2h0IGRhcyBPUy4gTVMga2FubiBhdWNoIGd1dGUgQXBwbGlrYXRpb25lbiwgZWluaWdlcyBhbiBPZmZpY2UgaXN0CnppZW1saWNoIGd1dC4gTnVyIGdpYnRzIGRhIGxlaWRlciBrZWluZW4gYnJhdWNoYmFyZW4gcG9ydCB2b24sIHVuZCBkYXMgTVMKUHJvamVrdCB3ZWlnZXJ0IHNpY2ggbm9jaCBzaWNoIHVudGVyIENyb3Nzb3ZlciBPZmZpY2UgaW5zdGFsbGllcmVuIHp1IGxhc3Nlbi4KSG1wZi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogT3V0bG9vayBFeHByZXNzIChBbnRoZWEsIDMwLiBKYW4gMjAwMywgMDk6NDI6MzYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM4ODI4MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpXZWxjaGVzIFByb2dyYW1tIHZvbiBPZmZpY2UgYmV6ZWljaG5lc3QgRHUgYWxzIGR1cmNoZ2VoZW5kIGd1dD8gQmlzaGVyIGhhdApqZWRlcyBQcm9ncmFtbSBpcmdlbmQgd2VsY2hlIE1hY2tlbiwgZGllIGRhcyBBcmJlaXRlbiBkZXV0bGljaCBlcnNjaHdlcmVuLiBNYWwKdm9uIGRlbiBzaWNoIHN0YWVuZGlnIGF1c2JsZW5kZW5kZW4gTWVudWVvcHRpb25lbiwgd2VubiBtYW4gc2llIG1hbCA1IE1pbnV0ZW4KbmljaHQgYmVudXR6dCBoYXQsIGFuZ2VmYW5nZW4uIFp1ciBaZWl0IG5lcnZ0IG1pY2ggRXhjZWwgKGRldXRzY2gpLCBiZWkgZGVyCkFyYmVpdCBtaXQgQ1NWLURhdGVpZW4uIERvcHBlbGtsaWNrIGF1ZiBlaW5lIGVjaHRlIENTVi1EYXRlaSAobWl0IEtvbW1hcwpnZXRyZW5udCkgb2VmZm5ldCBkYXMgRXhjZWwgc28sIHdpZSBlcyBzb2xsLiBXZW5uIGljaCBkaWUgRGF0ZWkgYXVzIGRlbQpsYXVmZW5kZW4gRXhjZWwgb2VmZm5lbiB3aWxsLCAgaWdub3JpZXJ0ZSBlcyBkaWUgS29tbWEtVHJlbm56ZWljaGVuLiBXZW5uIGljaAplcyBzcGVpY2hlciwgd2VyZGVuIGRpZSBLb21tYXMgZHVyY2ggU2VtaWtvbG9ucyBlcnNldHp0LiBXZW5uIGljaCBkYW5uIGRpZQpEYXRlaSBtaXQgRG9wcGVsa2xpY2sgb2VmZm5lLCB3ZXJkZW4gZGllIFRyZW5uemVpY2hlbiBpZ25vcmllcnQsIGRhcyBPZWZmbmVuCmF1cyBkZW0gUHJvZ3JhbW0gZ2VodCBqZXR6dCBkYWZ1ZXIgcmljaHRpZy4gVW5kIG1hbiBtdXNzIGFsbGUgUHJvZ3JhbW1lLCBkaWUKQ1NWLURhdGVpZW4gaW50ZXJwcmV0aWVyZW4sIGRhenUgZXJ0dWVjaHRpZ2VuLCBzb3dvaGwgS29tbWFzIGFscyBhdWNoClNlbWlrb2xvbnMgenUgaW50ZXJwcmV0aWVyZW4uCldlbm4gaWNoIGluIFdvcmQgKDIwMDAgb2RlciBYUCkgZWluZSBtaXQgS2VubndvcnQgZ2VzY2h1ZXR6dGUgRGF0ZWkgb2VmZm5lLAp3aXJkIGRlciBEaWFsb2cgenVtIEVpbmdlYmVuIGRlcyBLZW5ud29ydHMgSElOVEVSIGRlbSBXb3JkIGdlb2VmZm5ldC4gVW5kIGRhCmRyYW56dWtvbW1lbiBpc3QgbmljaHQgaW1tZXIgZ2FueiBlaW5mYWNoLgpBY2Nlc3MgaXN0IHp3YXIgYnVudCwgYWJlciBkYXMgaXN0IGF1Y2ggc2Nob24gYWxsZXMuClBvd2VycG9pbnQgaXN0IG5vY2ggYnVudGVyLCBhYmVyIHZlcnN1Y2ggbWFsLCBhdXMgZWluZW0gRG9rdW1lbnQgaGVyYXVzIGVpbmVuCkxpbmsgenUgZXJzdGVsbGVuLCBkZXIgZWluIGV4dGVybmVzIFByb2dyYW1tIHN0YXJ0ZXQuIDEweCBkYXMgZ2xlaWNoZSBnZW1hY2h0LAozeCBmdW5rdGlvbmllcnQgZXMsIGRpZSByZXN0bGljaGVuIE1hbGUgbmljaHQuClVuZCBzbyB3ZWl0ZXIuCkFiZXIgaWNoIGRhcmYgamEgYmVydWZsaWNoZXIgV2Vpc2UgbWljaCBuaWNodCBkYXp1IGVudHNjaGVpZGVuLCB3YXMgYW5kZXJlcyB6dQpiZW51dHplbiA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogT3V0bG9vayBFeHByZXNzIChOb25uZSwgMzAuIEphbiAyMDAzLCAwOTo1NTowMyk6Cn4jISBybj1BbnRoZWEgcnQ9MTA0MzkxNjE1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5Ck1hbCBuZSBGcmFnZSBkYXp1OiBHaWJ0cyBkYXMgZWlnZW50bGljaCBhdWNoIGluIEF1dG93ZXJrc3RhZXR0ZW4sIGRhc3MgZGllIG51cgpTY2hyYXViZW5zY2hsdWVzc2VsIHZvbiBCaW5mb3J0IGJlbnV0emVuIGR1ZXJmZW4/IEljaCBtZWluZSwgZGEgbXVzcyBtYW4gc2VpbmUKQXJiZWl0IG1hY2hlbi4gV29taXQgb2RlciB3aWUgbWFuIGRpZSBtYWNodCwgc29sbHRlIGRlbiBMZXV0ZW4gZG9jaCBlaWdlbnRsaWNoCmVnYWwgc2Vpbi4gV2VubiBpY2ggZGFzIG1pdCBQcm9ncmFtbSBYWVogYmVzc2VyIGhpbmtyaWVnZSwgc29sbHRlIGRhcyBkb2NoCmtlaW4gUHJvYmxlbSBzZWluLiBCZWkgc2ljaGVyaGVpdHNyZWxldmFudGVuIFNhY2hlbiB3dWVyZGUgaWNoIGRlbSBhdWNoIGVpbmVuClJpZWdlbCB2b3JzY2hpZWJlbi4gU29sbHRlIGhpZXIgZWluZXIgYW5rb21tZW4gdW5kIE91dGxvb2sgc3RhdHQgUGluZSBvZGVyCkttYWlsIG5laG1lbiB3b2xsZW4sIG9kZXIgVGVsbmV0IHN0YXR0IHNzaC4gQWJlciBPcGVuT2ZmaWNlIHZzLiBNJC1PZmZpY2U/CldpZXNvPwoKTm9ubmUsIHJhdGxvcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE91dGxvb2sgRXhwcmVzcyAoRWxkYXJvbiwgMzAuIEphbiAyMDAzLCAwOTo1ODozNik6Cn4jISBybj1Ob25uZSBydD0xMDQzOTE2OTAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKdmxsdCB3ZWdlbiBNYWNyby1WaXJpaSA/CgpFbGRhcm9uLCBuaWNodCB3aXJrbGljaCBBaG51bmcgaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogT3V0bG9vayBFeHByZXNzIChPcmt0b2V0ZXIsIDMwLiBKYW4gMjAwMywgMTA6MDE6MTcpOgp+IyEgcm49RWxkYXJvbiBydD0xMDQzOTE3MTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKRGllIFVuaSBXaWVuIGluc3RhbGxpZXJ0IGxlaWRlciBPcGVuT2ZmaWNlIG5pY2h0IHBhcmFsbGVsIHp1IE0kX29mZmljZSBtaXQgZGVyCkJlZ3J1ZW5kdW5nIGRhcyBzaWUgZGVuIGRhbm4gbm9ldGlnZW4gU3VwcG9ydCBuaWNodCBsaWVmZXJuIGtvZW5uZW4gKmdydW1tZWwqCgpPcmtUIGhhZXR0ZSBnZXJuZSBPcGVuT2ZmaWNlIGF1ZiBkZW0gVW5ldC1SZWNobmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE91dGxvb2sgRXhwcmVzcyAoTm9ubmUsIDMwLiBKYW4gMjAwMywgMTA6MDM6MDIpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDM5MTcyNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpEYXMgaXN0IGF1Y2ggaW1tZXIgd2llZGVyIGVpbmUgaW50ZXJlc3NhbnRlIEJlZ3J1ZW5kdW5nLiBEYW5uIHNvbGxlbiBzaWUgZXMKaW5zdGFsbGllcmVuIG1pdCBkZXIgRWluc2NocmFlbmt1bmcsIGRhc3MgZXMgZGFmdWVyIGtlaW5lbiBTdXBwb3J0IGdpYnQuIEVzCmRhbm4gZWluZmFjaCBuaWNodCB6dSBpbnN0YWxsaWVyZW4gaXN0IGVpZ2VudGxpY2ggbmUgRnJlY2hoZWl0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogT3V0bG9vayBFeHByZXNzIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMTA6NTk6NDkpOgp+IyEgcm49Tm9ubmUgcnQ9MTA0MzkxNzM4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkljaCBiaW4ga2VpbiBGYW4gdm9uIGlyZ2VuZGVpbmVtIE9mZmljZXByb2dyYW1tLCBpY2ggbWFnIE9PIGF1Y2ggbmljaHQKc29uZGVybGljaC4gSWNoIGJpbiBpbiBkZXIgZ2x1ZWNrbGljaGVuIExhZ2UgbWl0IE9mZmljZSBEb2t1bWVudGVuIG1laXN0IG51cgpwYXNzaXYgenUgdHVuIHp1IGhhYmVuLCB1bmQgZXR3YSBhbGxlIHp3ZWkgTW9uYXRlIG1hbCB3YXMga2xlaW5lcmVzIHNjaHJlaWJlbgpvZGVyIGVyc3RlbGxlbiB6dSBtdWVzc2VuLiBOYWNoIGFsbGVtIHdhcyBpY2ggZ2Vob2VydCBoYWJlIGlzdCBpbiBkZW0gQmVyZWljaApuaXggd2lya2xpY2ggR29sZCwgYWJlciBNUyBPZmZpY2UgaXN0IHZvbSBGdW5rdGlvbnN1bWZhbmcgdW5kIGRlcgpGdW5rdGlvbmFsaXRhZXQgaGVyIGFuc2NoZWluZW5kIGRlbiBhbmRlcmVuIHVlYmVyLiAKV2llIGdlc2FndDogTWVpbmUgZHJlaSBTZWl0ZW4gVGV4dCBvZGVyIGtsZWluZW4gVGFiZWxsZW4ga2FubiBpY2ggd29obCBtaXQKamVkZW0gT2ZmaWNlcHJvZ3JhbW0gbWFjaGVuLiBLYW5uIGljaCBhdWNoIG1pdCBhdWMtdGV4LCBibG9zcyBrYW5uIHdpZWRlcgpuaWVtYW5kIC5kdmkgbGVzZW4gKGF1c3NlcmRlbSBsb2hudCBkYXMgYmVpIGRlbSBHZXN1ZWx6ZSBkaWUgQXJiZWl0IG5pY2h0KS4KQWJlciB3YXMgZGVuIEF1dG93ZXJrc3RhdHR2ZXJnbGVpY2ggYW5nZWh0OiBWb3JnYWJlIGlzdDogQk1XLVZlcmdhc2VyIGVpbmJhdWVuCigucHB0IGxlc2VuIHVuZCBlcnN0ZWxsZW4ga29lbm5lbikuIFVuZCBkYXMgbG9lc3QgbWFuIG5pY2h0IGluZGVtIG1hbiBlaW5lbgpWVy1WZXJnYXNlciBlaW5iYXV0LiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE91dGxvb2sgRXhwcmVzcyAoQm9pbmcsIDMwLiBKYW4gMjAwMywgMTE6MDQ6MTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM5MjA3ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpOb25uZSB3dWVyZGUgYWJlciB2ZXJzdWNoZW4gZGVtIEt1bmRlbiBlaW5lbiBWVyBhbnp1ZHJlaGVuLCBkYW1pdCBlciBpaG0KZGFubiBkZW4gVlctVmVyZ2FzZXIgZWluYmF1ZW4ga2FubiAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXgtRGlzdHJvIChXaGl0ZXRpZ2VyLCAzMC4gSmFuIDIwMDMsIDE4OjIyOjIzKToKSWNoIG1vZWNodGUgYmVpIG1pciBlbnR3ZWRlciBEZWJpYW4gb2RlciBHZW50b28gTGludXggaW5zdGFsbGllcmVuLCBrYW5uIG1pcgppcmdlbmRqZW1hbmQga29uc3RydWt0aXZlIFRpcHMsIFJhdHNjaGxhZWdlLCBFbnRzY2hlaWR1bmdzaGlsZmVuLCBQcm9zLCBDb25zLApldGMuIHNhZ2VuPyBVbmQgYml0dGUga2VpbmUgRmxhbWUvT1Mvc29uc3R3YXMtV2Fycy4uLgotLSBXaGl0ZVRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXgtRGlzdHJvIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMTg6MjU6MjApOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzOTQ3MzQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKV2llIHdhZXJzIGRlbm4gbWFsIG1pdCBlaW4gcGFhciBTdGljaHB1bmt0ZW4gd2FzIER1IGRhbWl0IHZvcmhhc3Q/IAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4LURpc3RybyAoV2hpdGV0aWdlciwgMzAuIEphbiAyMDAzLCAxODoyNzowOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0Mzk0NzUyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzOTQ3MzQzCktsYXIsIHNpY2hlci4uLgpBbHNvOgotIFByb2dyYW1taWVyZW4gKFB5dGhvbiwgQywgYXVjaCBzb3dhcyB3aWUgU21hbGx0YWxrIG9kZXIgRHlsYW4pCi0gU3BpZWxlIHdpZSBUdXhyYWNlciBvZGVyIHNvIHNwaWVsZW4KLSBtaXQgZGVtIFN5c3RlbSBydW1zcGllbGVuLi4uCi0gTmV0endlcmstcnVtc3BpZWxlbiwganVzdCBmb3IgZnVuLi4uCi0gTXVkZGVuLgpEYXMgbXVlc3N0ZXMgc2Vpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXgtRGlzdHJvIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMTg6Mjg6MDcpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzOTQ3NjI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKRGViaWFuLiBPZmZlbmJhciB3aWxsc3QgRHUgamEgbWl0IGRlbSBTeXN0ZW0gd2FzIG1hY2hlbiwgdW5kIG5pY2h0IG51cgpzdGFlbmRpZyBhbSBTeXN0ZW0gc2VsYmVyIHJ1bWZsaWNrZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpbnV4LURpc3RybyAoV2hpdGV0aWdlciwgMzAuIEphbiAyMDAzLCAxODoyODozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0Mzk0NzY4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzOTQ3MzQzCkR1IG1laW5zdCBiZWkgR2VudG9vIG11c3MgaWNoIGFuZGF1ZXJuZCBtaXQgZGVtIFN5c3RlbSBzZWxic3QgcnVta2FlbXBmZW4/CldpZXNvPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGludXgtRGlzdHJvIChHcmltbWJvcm4sIDMwLiBKYW4gMjAwMywgMTg6NDM6MDMpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzOTQ3NzE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKSWNoIHZlcndlbmRlIHdlZGVyIG5vY2guIERhcyBpc3QgbGVkaWdsaWNoIGRlciBFaW5kcnVjayBkZW4gaWNoIGF1cyBCZXJpY2h0ZW4KdW5kIEJsaWNrZW4gaW4gZGllIGpld2VpbGlnZW4gVXNlcmZvcmVuIGdld29ubmVuIGhhYmUuIEdlbnRvby11c2VyIG5laWdlbgpvZmZlbmJhciBkYXp1LCBpaHIgU3lzdGVtIHp1ICJvcHRpbWllcmVuIiwgYmlzIG5pY2h0cyBtZWhyIGxhZXVmdCB1bmQgaWhuZW4KbmllbWFuZCBtZWhyIHdpcmtsaWNoIGhlbGZlbiBrYW5uLiBVbmQgZGFubiB3ZWluZW4gc2llLgpTaWNoZXIga2FubiBtYW4gb3B0aW1pZXJlbi4gQWJlciBwcmFrdGlzY2ggbmllbWFuZCBrYW5uIGVybnN0aGFmdCBiZWhhdXB0ZW4gMiUKbWVociBMZWlzdHVuZyB3aXJrbGljaCBtZXJrZW4genUga29lbm5lbi4gVW5kIHdhcyBkZW4gU3BlaWNoZXJ2ZXJicmF1Y2gKYW5nZWh0OiB3YXMgc2luZCBiZWkgZWluZW0gbm9ybWFsZW4gUmVjaG5lciBzY2hvbiB6LkIuIDIgTUIgU3BlaWNoZXI/CktpbmRlcmtyYW0uIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMaW51eC1EaXN0cm8gKFdoaXRldGlnZXIsIDMwLiBKYW4gMjAwMywgMTg6NDM6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM5NDg1ODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzk0NzM0MwpVbmQgd2FzIHZlcndlbmRlc3QgZHU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaW51eC1EaXN0cm8gKEFtYXJ5bGxpcywgMzAuIEphbiAyMDAzLCAxODo0NTo0MSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM5NDc2Mjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzk0NzM0MwpJY2ggc2V0emUgRGViaWFuIGVpbiB1bmQgYmluIHNlaHIgenVmcmllZGVuIGRhbWl0LiBMYWVzc3Qgc2ljaCBiZXF1ZW0gdWViZXJzCk5ldHogaW5zdGFsbGllcmVuL3VwZGF0ZW4sIHVuZCBpbnNiZXNvbmRlcmUgVXBkYXRlcy9QYXRjaGVzIHNpbmQgc2VociBzY2huZWxsCnZvcmhhbmRlbi4gRGF6dSBkaWUgbWl0dGxlcndlaWxlIHJpZXNpZ2UgR2VtZWluZGUgdm9uIERlYmlhbi1NYWludGFpbmVybiwgZGllCmZ1ZXIgZ2VudWVnZW5kIFN0YWJpbGl0YWV0IHVuZCBha3R1ZWxsZSBXZWl0ZXJlbnR3aWNrbHVuZyBzb3JndCA6KQpBY2hqYTogdW5kIGZhbGxzIG1hbiBzbyB3aWUgaWNoIGhhdXB0YmVydWZsaWNoIG1pdCBTb2xhcmlzIGFyYmVpdGV0LCBkYXJmIG1hbgpzaWNoIGZyZXVlbiwgZGFzcyB1bnRlciBEZWJpYW4gZGllIFBmYWRlIHF1YXNpIGlkZW50aXNjaCB6dSBTb2xhcmlzIHNpbmQgLSB3YXMKZGFzIEFkbWluaXN0cmllcmVuIHZlcmVpbmZhY2h0LgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTGludXgtRGlzdHJvIChCYW1iaSwgMzAuIEphbiAyMDAzLCAxODo0NjozNSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM5NDg2MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzk0NzM0MwpJY2ggaGFiIFN1c2UgdW5kIGljaCB3dWVyZGUgbmljaHQgdm9uIG1pciBiZWhhdXB0ZW4sIHNvbmRlcmxpY2ggZ2x1ZWNrbGljaApkYW1pdCB6dSBzZWluLgpEYXMgSGF1cHRwcm9ibGVtIGlzdCBiZWkgbWlyLCBkYXNzIGRpZSBtYW5wYWdlcyBtZWlzdCBzY2hyb3R0IHNpbmQgb2RlciBzb25zdApuaWNodHMgZG9ydCB6dSBmaW5kZW4gaXN0LCB3byBtYW5zIGVyd2FydGV0LgpPaywgYmVpIG5lbSBhbmRlcmVuIFN5c3RlbSBtdWVzc3RlIG1hbiBhdWNoIHN1Y2hlbiwgYWJlciBpY2gga2Vubgp2ZXJnbGVpY2hzd2Vpc2Ugd2VuaWdlIGxldXRlLCBkaWUgc3VzZSBoYW1tIGltIHZlcmdsZWljaCB6LkIuIHp1IHJlZCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaW51eC1EaXN0cm8gKFdoaXRldGlnZXIsIDMwLiBKYW4gMjAwMywgMTg6NDY6NDUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwNDM5NDg3NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzk0NzM0MwpPa2F5Li4uIERhbm4gd2VyZCBpY2ggbWFsIERlYmlhbjIuMi9Xb29keSBkcmF1Zm1hY2hlbiA6KQpVbmQgRnJlZUJTRCB1bmQgSFVSRC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGludXgtRGlzdHJvIChXaGl0ZXRpZ2VyLCAzMC4gSmFuIDIwMDMsIDE4OjQ3OjMxKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0Mzk0ODgwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzOTQ3MzQzCktlbm50IGplbWFuZCBub2NoIGVpbiBpbnRlcmVzc2FudGVzIEJldHJpZWJzc3lzdGVtIHdpZSBIVVJELCBkYXMgaGFsYndlZ3MKYmVudXR6YmFyICgtPiBTb2Z0d2FyZSB2ZXJmdWVnYmFyKSBpc3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMaW51eC1EaXN0cm8gKEN1Y2h1bGxpbiwgMzAuIEphbiAyMDAzLCAxODo0OTo0NCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM5NDg4NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzk0NzM0MwpQbGFuOT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExpbnV4LURpc3RybyAoV2hpdGV0aWdlciwgMzAuIEphbiAyMDAzLCAxODo1MDo1Nik6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTA0Mzk0ODk4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzOTQ3MzQzCklzdCBkYXMgZnJlaS9vZmZlbiB2ZXJmdWVnYmFyLi4uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTGludXgtRGlzdHJvIChDdWNodWxsaW4sIDMwLiBKYW4gMjAwMywgMTk6MDY6NDQpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzOTQ5MDU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKaHR0cDovL3BsYW45LmJlbGwtbGFicy5jb20vcGxhbjlkaXN0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTGludXgtRGlzdHJvIChXaGl0ZXRpZ2VyLCAzMC4gSmFuIDIwMDMsIDIwOjA0OjU1KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDQzOTUwMDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKSGFzdCBkdSBFcmZhaHJ1bmcgbWl0IFBsYW45PyBPZGVyIGtlbm5zdCBkdSBqZW1hbmRlbiBtaXQgRXJmYWhydW5nPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IExpbnV4LURpc3RybyAoR3JpbW1ib3JuLCAzMC4gSmFuIDIwMDMsIDIxOjE2OjU0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0Mzk1MzQ5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzOTQ3MzQzClVtIGRpZSBGcmFnZSB2b24gbmV1bGljaCB6dSBiZWFudHdvcnRlbjogSWNoIHZlcndlbmRlIGF1ZiBhbGxlbiBwZXJzb2VubGljaGVuClJlY2huZXJuIENhbGRlcmEgT3BlbkxpbnV4IFdvcmtzdGF0aW9uIDMuMS4xIHVuZCBiaW4gZWlnZW50bGljaCB6aWVtbGljaAp6dWZyaWVkZW4gZGFtaXQuIEJlcnVmbGljaCBoYWJlbiB3aXIgZWluIHBhYXIgUmVjaG5lciBtaXQgU3VTRSAoOC4wIHVuZCA4LjEpCmxhdWZlbiwgbWl0IGRlbmVuIGtvbW1lIGljaCBkdXJjaGF1cyBrbGFyLCBpY2ggd3Vlc3N0ZSBuaWNodCB3ZWxjaGUgbWFuIHBhZ2VzCmRhICJTY2hyb3R0IiB3YWVyZW4uIE1laW5lIEVyZmFocnVuZywgYXVjaCBhdXMgZnJ1ZWhlcmVuIExlYmVuLCBpc3QgZWlnZW50bGljaApkYXNzIGdlcmFkZSBiZWkgU3VTRSBMZXV0ZSBtZWNrZXJuLCB3ZWlsIHNpZSBzY2hsaWNodCBuaWNodCB3aXNzZW4gd2llIGRhcwpmdW5rdGlvbmllcmVuIHNvbGwuIE1pdCBkZW4gdmllciAoSXRhbml1bSBJL0lJLSkgUmVjaG5lcm4gdW50ZXIgUmVkIEhhdCBoYWJlbgp3aXIgYWJlciBhdWNoIG51ciBBZXJnZXIsIHdhciBiaXNoZXIgVm9yZ2FiZSBkZXIgRmlybWEgZGFzcyB3aXIgU0xFUyBuaWNodG1hbApwcm9iaWVyZW4gZHVyZnRlbi4gV2lyZCBzaWNoIHdvaGwgamV0enQgYWVuZGVybi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IE91dGxvb2sgRXhwcmVzcyAoUm9uZGEsIDMwLiBKYW4gMjAwMywgMjM6NDU6MTkpOgp+IyEgcm49Qm9pbmcgcnQ9MTA0MzkyMTA1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkJvaW5nLCBEZWluIFZlcmdsZWljaCBpc3QgYWJlciBuZW4gYmlzc2NoZW4uLi4gYXVhLiBadW1pbmRlc3Qgd2lyZCBkYXMgTm9ubmVzCkt1bmRlIGRlbmtlbiwgd2VubiBOb25uZSBpaG0gZWluZW4gVlctVmVyZ2FzZXIgZWluYmF1dC4KClJvbmRhICp3byBoYXQgTUVOU0NIIHNvIG5lbiBWZXJnYXNlciBlaWdlbnRsaWNoPyEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aW5lIChWYXJkaW9uLCAzMS4gSmFuIDIwMDMsIDAxOjA1OjMyKToKSGkuCgpJY2ggaGFiIG1hbCBlaW4gYmlzY2hlbiBtaXQgV0lORSAod3d3LndpbmVocS5vcmcpIGV4cGVyaW1lbnRpZXJ0LiBFcyBsYWV1ZnQKc293ZWl0IGF1Y2ggZ2FueiBndXQsIG51ciB3ZXJkZW4gYmVpIGplZGVtIFN0YXJ0IGRpZSBrb21wbGV0dGVuIEZvbnQgTWV0cmljcwpuZXUgZ2ViYXV0LCB3YXMgd29obCBlaWdlbnRsaWNoIG5pY2h0IHNvIHNlaW4gc29sbC4gSGF0IGRhIGplbWFuZCBFcmZhaHJ1bmcKZGFtaXQ/CgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMaW51eC1EaXN0cm8gKEVsZGFyb24sIDMxLiBKYW4gMjAwMywgMDE6NTc6NDEpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzOTQ4NjA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NDczNDMKU2ltcGxpY2l0eSBpcyBkaXZpbmUsCgp3d3cuc2xhY2t3YXJlLmNvbQoKRWxkYXJvbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE91dGxvb2sgRXhwcmVzcyAoWmFybml5YSwgMzEuIEphbiAyMDAzLCAwNzo0ODozNyk6Cn4jISBybj1Ob25uZSBydD0xMDQzOTE2OTAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKTm9ubmUsIGVzIGdpYnQgc293YXMgd2llIERydWNrIGRlciBLdW5kZW4gb2RlciB2b24gZWluZW0gQ2hlZi4gSWNoIGhhYmUgdW50ZXIKZ3JhdmllcmVuZGVuIFNjaG1lcnplbiBtZWluZSBEaXBsb21hcmJlaXQgbWl0IFdvcmQgZ2VzY2hyaWViZW4gdW5kIGFsbGUKR3JhcGhlbiBtaXQgU2lnbWFwbG90IGdlbWFjaHQsIHdlaWwgbWVpbiBQcm9mIG1pciBhbGxlIGFuZGVyZSBTb2Z0d2FyZQp2ZXJib3RlbiBoYXQuIERhIGthbm4gbWFuIGRhbm4gbWFuY2htYWwgbml4IG1hY2hlbi4gRGVyIHJlbm50IGF1Y2ggamVkZXNtYWwKamFtbWVybmQgenUgbWlyICh3aWUgYWxsZSBhbmRlcmVuIExldXRlIGhpZXIgaW0gSW5zdGl0dXQpLCB3ZW5uIHNpZSBtYWwgZWluZQpUZVggRGF0ZWkgYmVrb21tZW4uLi4gZGEgc29sbCBpY2ggZGFubiBoZWxmZW4sIGFiZXIgc29uc3QgaXN0IGRhcyBUaGVtYSBUYWJ1LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW5lIChNYXJjdXMsIDMxLiBKYW4gMjAwMywgMTA6NTY6MDApOgp+IyEgcm49VmFyZGlvbiBydD0xMDQzOTcxNTMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NzE1MzIKRGFzIGxpZWd0IG5vcm1hbGVyd2Vpc2UgZGFyYW4sIGRhcyBlaW4gRm9udCBrYXB1dHQgaXN0LgpXZW5uIFdJTkUgZWluZW4gZmF0YWxlcndlaXNlIGFubWVja2VydCwga2FubnN0IGR1IGlobiBsb2VzY2hlbiBvZGVyIHNvLgpBbHRlcm5hdGl2IGthbm5zdCBkdSBhdWNoIG5lbiBTYXR6IFRydWVUeXBlIGZvbnRzIGJlc29yZ2VuIHVuZCBXSU5FIGRpZQp2ZXJ3ZW5kZW4KbGFzc2VuLCBkYW5uIGlzdCBuaXggbWVociBtaXQgcmVidWlsZGluZyBmb250bWV0cmljcy4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3aW5lIChWYXJkaW9uLCAzMS4gSmFuIDIwMDMsIDEyOjM2OjQzKToKfiMhIHJuPU1hcmN1cyBydD0xMDQ0MDA2OTYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM5NzE1MzIKSmEsIGRhcyBoYWIgaWNoIGluendpc2NoZW4gYXVjaCBnZWZ1bmRlbjogc29iYWxkIHdpbmUgX2lyZ2VuZHdhc18gYW4KX2lyZ2VuZGVpbmVtXyBmb250IHp1IGJlbWVja2VybiBoYXQsIGJhdXQgZXIgZGVuIGdlc2FtdGVuIENhY2hlIG5ldS4gQ2xldmVyZQpTdHJhdGVnaWUuLi4KRGllIFZlcndlbmR1bmcgdm9uIFRydWVUeXBlIEZvbnRzIGJlaGVidCBkYXMgUHJvYmxlbSBlcnN0bWFsLCBkYW5rZS4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBPdXRsb29rIEV4cHJlc3MgKE5vbm5lLCAgMi4gRmViIDIwMDMsIDEwOjQ1OjAyKToKfiMhIHJuPVphcm5peWEgcnQ9MTA0Mzk5NTcxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkJlaXNwaWVsIERpcGxvbWFyYmVpdDogU3RlaHQgZGFzIGluIGRlciBQcnVlZnVuZ3NvcmRudW5nLCBkYXNzIG1hbgpXb3JkLURhdGVpZW4gYWJnZWJlbiBtdXNzPyBXaWVzbyBuaWNodCBQREYgdW5kIGdlZHJ1Y2t0PyBLYW5uIGplZGVyIGxlc2VuIGFiZXIKbmljaHQgamVkZXIgYWVuZGVybiwgZWlnZW50bGljaCBkYXNzLCB3YXMgbWFuIHZvbiBlaW5lciBEaXBsb21hcmJlaXQgZXJ3YXJ0ZXQuCkRhYmVpIGlzdCBlcyBkb2NoIHZvZWxsaWcgZWdhbCwgd29taXQgZGFzIGdlc2NocmllYmVuIHdpcmQuIFdpZXNvIGRpZQpQcm9kdWt0aXZpdGFldCBlaW5mYWNocmFlbmtlbiwgd2VubiBqZW1hbmQgZXMgbWl0IGVpbmVtIGFuZGVyZW4gV2Vya3pldWcKZWZmZWt0aXZlci9iZXNzZXIga2Fubj8gV2VubiBkYXMgZ2FuemUgYW4gZWluZW4gS3VuZGVuIHdlaXRlcmdlZ2ViZW4gd2lyZCwKa2FubiBpY2ggZGFzIHZlcnN0ZWhlbi4gQWJlciBiZWkgZGVuIG1laXN0ZW4gVm9yZ2FlbmdlbiAoZGllIGljaCBzbyBrZW5uZSksCnNpbmQgZXMgZmlybWVuaW50ZXJuZSBTYWNoZW4gYnp3IGRlciBLdW5kZSBrcmllZ3RzIGRhbm4gZWggbnVyIGF1Y2ggUGFwaWVyIHp1CnNlaGVuLiBCZWkgZWluZmFjaGVuIERva3VtZW50ZW4ga2FubiBtYW4gYXVjaCBBbHRlcm5hdGl2ZW4genUgTVMtT2ZmaWNlCmJlbnV0emVuLCBkYSBkaWUgRXhwb3J0ZnVua3Rpb25lbiB2b24gei5CLiBPcGVuT2ZmaWNlIGRhcyBvaG5lIFByb2JsZW0KaGlua3JpZWdlbi4KCkljaCBmaW5kZSBzb2xjaGUgQ2hlZnMgamVkZW5mYWxscyB6dW0gS290emVuLCBkaWUgbWVpbmVtIG1pciB2b3JzY2hyaWViZW4genUKa29lbm5lbiwgd29taXQgaWNoIGFyYmVpdGVuIHNvbGwsIHdlbm4gZGFzIEVyZ2VibmlzIGZ1ZXIgZGVuIENoZWYgZGFzIGdsZWljaGUKaXN0LgoKTm9ubmUsIGhhdCBzZWluIERpcGxvbWFyYmVpdCBpbiBMYVRlWCBnZXNjaHJpZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBPdXRsb29rIEV4cHJlc3MgKE9sbGksICAyLiBGZWIgMjAwMywgMTI6NDM6MzkpOgp+IyEgcm49Tm9ubmUgcnQ9MTA0NDE3OTEwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkJlaXNwaWVsIERpcGxvbWFyYmVpdDogRGVyIFByb2YgbXVzcyBkaWUgQXJiZWl0IGJld2VydGVuLiBVbmQgd2VubiBkZXIKZGVyIE1laW51bmcgaXN0LCBkYXNzIGRhcyBpbiBpcmdlbmRlaW5lbSBGb3JtYXQgc2VpbiBtdXNzLCB1bSBndXQgenUKc2VpbiwgZGFubiBoYXQgbWFuIHdvaGwga2VpbmUgV2FobCwgd2VubiBtYW4gZWluIHdlbmlnIGF1ZiBkaWUgTm90ZSBhY2h0ZXQuCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogT3V0bG9vayBFeHByZXNzIChFbGJlcmV0LCAgMi4gRmViIDIwMDMsIDE3OjE5OjExKToKfiMhIHJuPU5vbm5lIHJ0PTEwNDQxNzkxMDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQphbHNvIGJlaSB1bnMga2FubiBtYW4gekIgRGlzc2VydGF0aW9uZW4gYXVjaCBlbGVrdHJvbmlzY2ggdmVyb2VmZmVudGxpY2hlbiB1bmQKZGllcyBfbXVzc18gZGFubiBhbHMgcGRmLURva3VtZW50IGdldGFuIHdlcmRlbi4gCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogT3V0bG9vayBFeHByZXNzIChOb25uZSwgIDIuIEZlYiAyMDAzLCAxNzo1MDo1NSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwNDQyMDI3NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpEYW5uIGlzdCBqYSBhdWNoIGluIE9yZG51bmcuIERhIHdpcmQgamEgbnVyIGRpZSBGb3JtIHZvcmdlc2NocmllYmVuLCBuaWNodCBkYXMKV2Vya3pldWcuIFdpZSBpY2ggZGFzIFBERiBlcnpldWdlLCBpc3QgbWlyIHVlYmVybGFzc2VuIHVuZCBQREYgaXN0IGVpbgpkb2t1bWVudGllcnRlciBTdGFuZGFyZCwgd2FzIC5kb2MgZWluZGV1dGlnIG5pY2h0IGlzdC4gWnUgT2xsaTogS2xhciBoYXQgbWFuCmtlaW5lIFdhaGwuIE5pY2h0IGRlciBTdHVkZW50IGlzdCBkZXIgSWRpb3QsIHdlaWwgZXIgZWluIC5kb2MgYWJnaWJ0LCBzb25kZXJuCmRlciBQcm9mLCB3ZWlsIGVyIC5kb2MgdmVybGFuZ3QuIEJlemFobHQgZGllIFVuaSBlaWdlbnRsaWNoIGRhcyBXb3JkLCB3ZW5uIG1hbgprZWlucyBiZXNpdHp0IG9kZXIgc3RlbGx0IGVpbmVtIGRpZSBnYW56ZSBaZWl0IGVpbmVuIENvbXB1dGVyLUFyYmVpdHNwbGF0eiB6dXIKVmVyZnVlZ3VuZz8KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE91dGxvb2sgRXhwcmVzcyAoRWxiZXJldCwgIDIuIEZlYiAyMDAzLCAxODowMDozMyk6Cn4jISBybj1Ob25uZSBydD0xMDQ0MjA0NjU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKbmF0dWVybGljaCBpc3QgaXN0IGRhcyBpbiBPcmRudW5nLCBpY2ggd29sbHRlIGRhcyBudXIgbWFsIGxvYmVuZApoZXJhdXNzdGVsbGVuLCBkYXNzIGRhIG5pY2h0IGVpbiBXb3JkLURva3VtZW50IHZlcmxhbmd0IHdpcmQuCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogT3V0bG9vayBFeHByZXNzIChOb25uZSwgIDIuIEZlYiAyMDAzLCAxOTo0NDoxNyk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwNDQyMDUyMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpFaW5lIERpc3NlcnRhdGlvbiB2ZXJsYW5ndCBqYSBlaW5lIFZlcm9lZmZlbnRsaWNodW5nLiBXZWlzcyBqZW1hbmQsIG9iIG1hbiBkZW0KZ2VudWVndCwgd2VubiBtYW4gZWluIFdvcmQtRG9rdW1lbnQgaW5zIEludGVybmV0IHN0ZWxsdD8gQmVpIHVucyBrYW5uIG1hbgpzZWluZSBEaXNzIGFscyBQREYgYmVpIGRlciBCaWIgYWJnZWJlbiB1bmQgZGFtaXQgaGF0IG1hbiBkYXMgdmVyb2VmZmVudGxpY2h0LAp3ZWlsIGRpZSBCaWIgZGFzIGlucyBJbnRlcm5ldCBzdGVsbHQuIFd1ZXJkZSBkYXMgYXVjaCBtaXQgZWluZW0gV29yZC1Eb2MKZ2VoZW4/IERhcyBQREYtRm9ybWF0IGlzdCBqYSB2ZXJvZWZmZW50bGljaHQsIGRvYyBhYmVyIG5pY2h0LiBXdWVyZGUgZGFzIGFscwpEb2MgZ2VoZW4sIGtvZW5udGUgaWNoIHNvd2FzIGphIGJlbGllYmlnIHZlcnNjaGx1ZXNzZWx0IGlucyBJbnRlcm5ldCBzdGVsbGVuCnVuZCBoYWV0dGUgZXMgdmVyb2VmZmVudGxpY2h0LCBvYndvaGwgZXMgbmllbWFuZCBsZXNlbiBrYW5uLiBXZWlzcyBkYSBqZW1hbmQKZ2VuYXVlcmVzPwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogT3V0bG9vayBFeHByZXNzIChFbGJlcmV0LCAgMi4gRmViIDIwMDMsIDE5OjU4OjEzKToKfiMhIHJuPU5vbm5lIHJ0PTEwNDQyMTE0NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpvYiBkYXMgZ2VodCBvZGVyIG5pY2h0IGhhZW5ndCB2b24gZGVyIFByb21vdGlvbnNvcmRudW5nIGFiLiBVbmQgaWNoIGdsYXViZQprYXVtLCBkYXNzIGVpbmUgUHJvbW90aW9uc29yZHVuZyBkYSBpcmdlbmRlaW4gRm9ybWF0IHp1bGFzc2VuIHd1ZXJkZSB3YXMKZXJzdGVucyBuaWNodCBhdWYgamVkZXIgUGxhdHRmb3JtIHp1Z2FlbmdsaWNoIGlzdCB1bmQgendlaXRlbnMgbmljaHQgZWlubWFsCmRva3VtZW50aWVydCBpc3QuIEVzIGlzdCBqYSBlaCBmcmFnbGljaCwgb2IgbWFuIHpCIGVpbiBXb3JkLURva3VtZW50IGFscwpKdXJpc3Rpc2NoZXMgRG9rdW1lbnQgenVsYXNzZW4ga29lbm50ZS4gV29obCBlaGVyIG5pY2h0LiBOdW4gaXN0IGVpbmUKQnVjaHZlcm9lZmZlbnRsaWNodW5nIHdhcyBhbmRlcmVzLCBhYmVyIGljaCBrYW5uIG1pciBuaWNodCB2b3JzdGVsbGVuIGRhcyBkYXMKaW4gaXJnZW5kZWluZXIgT3JkbnVuZyBha3plcHRpZXJ0IHd1ZXJkZS4KCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBPdXRsb29rIEV4cHJlc3MgKE9ya3RvZXRlciwgIDIuIEZlYiAyMDAzLCAyMDowMToxOSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwNDQyMTIyOTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpFcyBnaWJ0IG1laHIgYWxzIGdlbnVlZ2VuZCBLb25mZXJlbnplbiBmdWVyIGRpZSBkdSBCZWl0cmFlZ2UgbnVyIGluIFdPUkQtZm9ybQplaW5yZWljaGVuIGRhcmZzdC4uLiBkLmguIGVzIHdpcmQgZWluZmFjaCB2b3JyYXVzZ2VzZXR6dCBkYXMgZHUgenVnYW5nIHp1IFdPUkQKaGFzdCBvZGVyIGVzIGRpciBrYXVmc3QuIAoKT3JrVCwgc29sY2hlIFZvcmdhYmVuIG5pY2h0IG1vZWdlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogT3V0bG9vayBFeHByZXNzIChKb3NodWEsICAyLiBGZWIgMjAwMywgMjA6MDc6MDgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDQyMTI0Nzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0Mzg4MDUwOQpIbSAuLi4gYWxzbyBpY2ggd2FyIGRhIHZvbSBTcHJpbmdlci1WZXJsYWcgImJlZWluZHJ1Y2t0Ii4gRGllIHNjaHJpZWJlbiBzbwpldHdhcyB3aWUgIi4uLiBlbXBmZWhsZW4gd2lyIFRlWCAuLi4gVm9ybGFnZSBnaWJ0cyBoaWVyIC4uLiIuIERhbm4ga2FtIG5lCmdhbnplIE1lbmdlIGdhciBuaXggdW5kIHF1YXNpIGFscyBsZXR6dGVzIHNvd2FzIHdpZSAid2VyIG1vZWNodGUga2FubiBhdWYKZWlnZW5lIEdlZmFociB1bmQgdHJvdHogdW5zZXJlciBhdXNkcnVlY2tsaWNoZW4gRW1wZmVobHVuZyBkYWdlZ2VuIFdvcmQKYmVudXR6ZW4iLiBBdWNoIGZ1ZXIgV29yZCBnYWIgZXMgZGFubiBuZSBWb3JsYWdlLCBhYmVyIGRpZSBBbnNhZ2Ugd2FyIHNjaG9uCnJlY2h0IGtsYXIgZm9ybXVsaWVydCAuLi4KCkpvc2ggLSBkZXIgU3ByaW5nZXIgZWlnZW50bGljaCBuaWNodCBzbyBtYWcgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBPdXRsb29rIEV4cHJlc3MgKEh1bW5pLCAgMi4gRmViIDIwMDMsIDIwOjA4OjM0KToKfiMhIHJuPUpvc2h1YSBydD0xMDQ0MjEyODI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKTnVuIGphLi4gZGVyIFNwcmluZ2VyLVZlcmxhZyB3ZWlzcyBlaW5mYWNoIHdpZSBlciBBcmJlaXQgc3BhcnQuCgpHZXNjaGFlZnRzc2lubiBoYXQgZXIgamEgd29obCA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogT3V0bG9vayBFeHByZXNzIChHcmltbWJvcm4sICAyLiBGZWIgMjAwMywgMjA6MTM6NTQpOgp+IyEgcm49SHVtbmkgcnQ9MTA0NDIxMjkxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CkljaCBrYW5uIG1pY2ggdGFldXNjaGVuLCBhYmVyIGthbm4gZXMgc2VpbiwgSm9zaCwgZGFzcyBEdSBkaWUgU3ByaW5nZXItVmVybGFnZQp2ZXJ3ZWNoc2Vsc3Q/IE5pY2h0IGFsbGVzIHdhcyAiU3ByaW5nZXIiIGhlaXNzdCB2ZXJsZWd0IGRpZSBCaWxkemVpdHVuZy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IE91dGxvb2sgRXhwcmVzcyAoRWxiZXJldCwgIDIuIEZlYiAyMDAzLCAyMDoxNDo0OCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0NDIxMjQ3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CmphIG5hdHVlcmxpY2ggYmVpIEtvbmZlcmVuemVuIGlzdCBkYXMgamEgb2ssIHdlbm4gc2llIG1laW5lbiwgYWJlciBkaWUgRGlzcywKZGFzIGlzdCBlaW5lIEJ1Y2h2ZXJvZWZmZW50bGljaHVuZyBkaWUgZWluZSBJU0JOIGJla29tbXQuIERhcyBpc3Qgbm9jaCBtYWwgd2FzCmdhbnogYW5kZXJlcy4gV29iZWkgd2llIGdlc2FndCBkaWUgUHJvbW90aW9uc29yZG51bmcgaW0gUHJpbnppcCBzb3dhcyB2b3JzZWhlbgprb2VubnRlLiBBYmVyIGVpbiBDaGVmIGthbm4gZGFzIG5pY2h0LCBkYXMgaXN0IGluIGRlciBPcmRudW5nIGdlcmVnZWx0LgoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE91dGxvb2sgRXhwcmVzcyAoSG91c2Vob2xkZXIsICAzLiBGZWIgMjAwMywgMTQ6NDE6MDkpOgp+IyEgcm49RWxiZXJldCBydD0xMDQ0MjAyNzUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDM4ODA1MDkKYWxzbyBiZWkgdW5zIHdhciBlcyB2b3JnZXNjaHJpZWJlbiBkaWUgYXJiZWl0IGluIGxhdGV4IG9kZXIgcGxhaW50ZXggenUKZXJzdGVsbGVuIDotKSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBPdXRsb29rIEV4cHJlc3MgKEVsYmVyZXQsICAzLiBGZWIgMjAwMywgMTU6NTY6NDYpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA0NDI3OTY2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5CnZvcnNjaHJlaWJlbiBmaW5kIGljaCBhbiBzaWNoIGltbWVyIGRvb2YsIAp2b3JzY2hyZWliZW4ga29lbm50ZSBtYW4gd2VubiB1ZWJlcmhhdXB0IGVpbiBmb3JtYXQgaW4gZGVtIGRpZSBEYXRlaWVuIHp1CnNhbW1lbG4gc2luZCwgYWxzbyB6QiBwZGYuIFdvbWl0IGR1IGRhcyBlcnN0ZWxsc3Qgc29sbHRlIGRvY2ggYWxsZW4gZWdhbCBzZWluLApzb2xhbmdlIGVzIGdlc2ljaGVydCBpc3QsIGRhc3MgZXMga29ycmVrdGVzIFBERiBpc3QuCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPdXRsb29rIEV4cHJlc3MgKFRydWcsICA0LiBGZWIgMjAwMywgMTk6NDc6NDEpOgp+IyEgcm49S2FyaXMgcnQ9MTA0Mzg4MTI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQzODgwNTA5Clt4XSBEdSBoYXN0IG5vY2ggbmllIG1pdCBkZW4gJ3ZvbGxlbicgT3V0bG9vayBnZWFyYmVpdGV0LgoKZGFzIGlzIG5vY2ggbmVydmlnZXIgOi0oCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2luMmsgJiBhdWRpb21peGVyIChWYXJkaW9uLCAgNS4gRmViIDIwMDMsIDIzOjU2OjAzKToKSGkuCgpLYW5uIG1hbiBXaW4yayBpcmdlbmR3aWUgYWJnZXdvZWhuZW4sIGJlaW0gQmVlbmRlbiBkaWUgTWFzdGVyLUxhdXRzdGFlcmtlIGRlcwpBdWRpb21peGVycyBhdWYgMCB6dSBzZXR6ZW4/IEljaCBiZXRyZWliZSBkYXMgYWIgdW5kIHp1IG1hbCBpbiBkZXIgVk13YXJlIHVuZAplcyBuZXJ2dCwgd2VubiBqZWRlcyBtYWwgZGFuYWNoICJSdWhlIiBpc3QuLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aW4yayAmIGF1ZGlvbWl4ZXIgKENhdHdlYXpsZSwgMTcuIEZlYiAyMDAzLCAxMjo0MDoyMyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNDQ0ODU3NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NDQ4NTc2MwpBbHNhbWl4ZXI/IAoKSXN0IGVoIGJlc3Nlci4uLgoKWVRDCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3dhbGxvd2luZyBiZWkgR25vbWUyIChWYXJkaW9uLCAxOS4gRmViIDIwMDMsIDE2OjUyOjMwKToKSGkuCgpCZWkgR25vbWUyIGlzdCAgbGVpZGVyIChpbSBWZXJnbGVpY2ggenUgR25vbWUxKSAgZGllIE1vZWdsaWNoa2VpdAp3ZWdnZWZhbGxlbiwgQXBwbGlrYXRpb25lbiAgaW4gIGRlbiBQYW5lbHMgIHp1ICAic3dhbGxvd2VuIi4gIEljaApoYXR0ZSBpbSBIYXVwdHBhbmVsIGltbWVyIGVpbmVuIHhjb25zb2xlICBnZXN3YWxsb3d0LCBpbiBkZXIgbWVpbgpTeXNsb2cgYW5nZXplaWd0IHd1cmRlLiBHaWJ0cyB1bnRlciAgR25vbWUyIHZpZWxsZWljaHQgaXJnZW5kIGVpbgpBcHBsZXQsIG1pdCAgZGVtICBtYW4gZWluICBGaWxlIG9kZXIgIGVpbmUgIG5hbWVkIFBpcGUgIGltICBQYW5lbAphbnplaWdlbiBrYW5uPyBGYWxscyBqZW1hbmQgZWluICB4b3N2aWV3LWFlaG5saWNoZXMgQXBwbGV0IGtlbm50LAp3YWVyZSBpY2ggIGF1Y2ggZGFua2JhciAtICBkYXMgIlN5c3RlbSAgTW9uaXRvciIgQXBwbGV0IHNhZ3QgIG1pcgpub2NoIG5pY2h0IHNvIGdhbnogenUuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFnZW4genUgRGViaWFuLzMuMCAoV2hpdGV0aWdlciwgMjMuIEZlYiAyMDAzLCAwODowODo1Myk6CkhpLApNZWhyZXJlIEZyYWdlbjoKLSBXaWUga2FubiBpY2ggRGViaWFuIGJlaWJyaW5nZW4sIGRlbiBSZWNobmVyIGJlaW0gU2h1dGRvd24gYXV0b21hdGlzY2gKYXVzenVzdGVsbGVuPwotIFdpZSBrYW5uIGljaCBIYXJkd2FyZS1PcGVuR0wgKEdlRm9yY2UyTVgpIGFrdGl2aWVyZW4/Ci0gV2llIGthbm4gaWNoIGRlbSBYdGVybSBkaWUgVW1sYXV0ZSAoVW5kIFBvczEgKyBFbmRlKSBiZWlicmluZ2VuPwoKLS0gV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFnZW4genUgRGViaWFuLzMuMCAoV2hpdGV0aWdlciwgMjMuIEZlYiAyMDAzLCAwODoyNTozMCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDU5ODQxMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NTk4NDEzMwpBY2ggamEsIG5vY2ggbmUgRnJhZ2U6CldpZSBrYW5uIGljaCBhdXMgZGVtIEhhcmR3YXJlLUJlZXAgZWluZSBWaXN1YWxCZWxsICh6LkIuIGt1cnplcyBBdWZmbGFja2VybgpkZXMgQmlsZHNjaGlybXMvRmVuc3RlcnMpIG1hY2hlbj8gU293b2hsIFh0ZXJtIGFscyBhdWNoIENvbnNvbGUuLi4KLS0gV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhZ2VuIHp1IERlYmlhbi8zLjAgKEdyaW1tYm9ybiwgMjMuIEZlYiAyMDAzLCAwODozMzoxOSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDU5ODUxMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NTk4NDEzMwoic2V0IGJlbGwtc3R5bGUgdmlzaWJsZSIgc29sbHRlIGRhcyBlcnJlaWNoZW4uIE9kZXIgZ2xlaWNoICJzZXQgYmVsbC1zdHlsZQpub25lIiwgZGFzIG5lcnZ0IGFtIHdlbmlnc3Rlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJhZ2VuIHp1IERlYmlhbi8zLjAgKFZhbmlvbiwgMjMuIEZlYiAyMDAzLCAwOTozMzo0MCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDU5ODQxMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NTk4NDEzMwo6IC0gV2llIGthbm4gaWNoIGRlbSBYdGVybSBkaWUgVW1sYXV0ZSAoVW5kIFBvczEgKyBFbmRlKSBiZWlicmluZ2VuPwpEZWJpYW4gaGF0IHNpY2ggZW50c2NobG9zc2VuIG5pY2h0IG1laHIgYWxsZSBMb2NhbGVzIGF1dG9tYXRpc2NoIGJlaSBkZXIKSW5zdGFsbGF0aW9uIGRhYmVpenVoYWJlbiwgd2VpbCBkYXMgbWl0dGxlcndlaWxlIGVpbiBnYW56ZXIgU3RhcGVsIGlzdC4gRHUKbXVzc3QgZGllIGVudHNwcmVjaGVuZGVuIExvY2FsZXMgdm9yY29tcGlsaWVyZW4gbGFzc2VuLiAKQWxzIHJvb3Q6Cj4gZHBrZy1yZWNvbmZpZ3VyZSBsb2NhbGVzCkZ1ZXIgZGV1dHNjaGUgU3ByYWNodW50ZXJzdHVldHp1bmcgKERldXRzY2hsYW5kKSBhbGxlcyBhdXN3YWVobGVuIHdhcyBtaXQKZGVfREUgYmVnaW5udCB1bmQgPG9rPiBkcnVlY2tlbi4gRGFubiBub2NoIGRpZSBTdGFuZGFyZC1Mb2NhbGUgc2V0emVuIChIaWVyCmlzdCBlaW5lIGd1dGUgQ2hhbmNlIGRhcyB2b3JlaW5nZXN0ZWxsdGUgInBpZGdpbiBFbmdsaXNoIiB6dSBlbnRzb3JnZW4sIHVuZAplbl9HQiB6dSB3YWVobGVuLiA6KSAKCk5hY2ggZGVtIGdlbmVyaWVyZW4gZGVyIGxvY2FsZXMgc29sbHRlbiBEZWluZSBUZXJtaW5hbHMgVW1sYXV0ZSBrb2VubmVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmFocnVuZ2VuIGdlc3VjaHQsIFRGVC1EaXNwbGF5cyAoT3JrdG9ldGVyLCAyNS4gRmViIDIwMDMsIDE1OjU2OjAzKToKSWNoIHBsYW5lIGRlcnplaXQgZGllIEFuc2NoYWZmdW5nIGVudHdlcmRlciBlaW5lcyBDUlQtIG9kZXIgVEZULU1vbml0b3JzLiBXZXIKaGF0IHNjaG9uIEVyZmFocnVuZyBtaXQgVEZULURpc3BsYXlzICgxNSIpPyBXZWxjaGUgTWFya2Uga2FubiBtYW4gZW1wZmVobGVuPwpHaWJ0IGVzIGV0d2FzIGRhcyBtYW4gYmVhY2h0ZW4gc29sbHRlIChhdXNzZXIgQW5hbG9nZXIgb2RlciBEaWdpdGFsZXIgRWluZ2FuZwp1bmQgbW9lZ2xpY2hzdCB2b3JoZXIgYW5zY2hhdWVuKT8KCk9ya1QsIHdhaGx3ZWlzZSBhdWNoIGdlcm5lIEluZm9zIHp1IGFrdHVlbGxlbiBCZWxpbmVhbW9uaXRvcmVuIGFubmVobWVuZC4KClBTIGJldm9yIGRhcyBpbiBlaW5lbiBHbGF1YmVuc2tyaWVnIGF1c2FydGV0IGJpdHRlIEFudHdvcnRlbiBwZXIgbWFpbCBhbiBtaWNoLAp0aGFua3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmYWhydW5nZW4gZ2VzdWNodCwgVEZULURpc3BsYXlzIChDcm9mdCwgMjUuIEZlYiAyMDAzLCAxNTo1ODowMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0NjE4NDk2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ2MTg0OTYzCkVpem8gbWFjaHQgd29obCBzZWhyIGd1dGUgVEZUcy4gIE1pdCBkZW0gMTciIGJpbiBpY2ggamVkZW5mYWxscyBzZWhyCnp1ZnJpZWRlbi4gIEd1dGVyIEtvbnRyYXN0LCBzcGllbGV0YXVnbGljaGUgUmVzcG9uc2V6ZWl0ZW4gOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcmZhaHJ1bmdlbiBnZXN1Y2h0LCBURlQtRGlzcGxheXMgKEFudGhlYSwgMjUuIEZlYiAyMDAzLCAxNjowMToyNSk6Cn4jISBybj1Dcm9mdCBydD0xMDQ2MTg1MDgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDYxODQ5NjMKRGVuIDE5IiBURlQgdm9uIGlpeWFtYSwgbWl0IGRlbSBpY2ggZ2VyYWRlIGFyYmVpdGUsIGZpbmRlIGljaCBhdWNoIG5pY2h0CnNjaGxlY2h0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmdlbiBnZXN1Y2h0LCBURlQtRGlzcGxheXMgKEdyaW1tYm9ybiwgMjUuIEZlYiAyMDAzLCAxNzozOTowMyk6Cn4jISBybj1BbnRoZWEgcnQ9MTA0NjE4NTI4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ2MTg0OTYzCkRlciAxNSIgVEZUIHZvbiBtZWluZW0gTGFwdG9wIHNhdWd0LiAxMDI0eDc2OCBzYXVnZW4gYXVmIGplZGVyIEFydCBEaXNwbGF5LAplZ2FsIG9iIFRGVCwgQ1JUIG9kZXIgRFVCSURVLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFcmZhaHJ1bmdlbiBnZXN1Y2h0LCBURlQtRGlzcGxheXMgKENyb2Z0LCAyNS4gRmViIDIwMDMsIDE3OjQwOjQ5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ2MTkxMTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDYxODQ5NjMKWWVwLiAgRGVzd2VnZW4gaGFiIGljaCBtaXIgYXVjaCBkYXMgMTciIGdlZ29lbm50LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZmFocnVuZ2VuIGdlc3VjaHQsIFRGVC1EaXNwbGF5cyAoR3JpbW1ib3JuLCAyNS4gRmViIDIwMDMsIDE3OjQ0OjEwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDYxOTEyNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NjE4NDk2MwpIbW0sIHNpbmQgMTciIGZ1ZXIgZWluIExhcHRvcCBuaWNodCBlaW4gYmlzY2hlbiBncm9zcz8gRGFzIGV4dGVybmUgYW0gTGFwdG9wCmhhdCAxOCIgbWl0IDEyODB4MTAyNCwgd2FzIHNvIGFuIGRlciBHcmVuemUgZGVyIEJyYXVjaGJhcmtlaXQgaXN0LiBNZWluIEFudHJhZwphdWYgZWluZW4gMjEiIENSVCBtaXQgMTYwMHgxMjAwIHN0YXR0IGRlc3NlbiB3dXJkZSBsZWlkZXIgYWJnZWxlaG50LiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXJmYWhydW5nZW4gZ2VzdWNodCwgVEZULURpc3BsYXlzIChDcm9mdCwgMjUuIEZlYiAyMDAzLCAxNzo0NToyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0NjE5MTQ1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ2MTg0OTYzCk1hZyBzZWluIGRhcyAxNyIgZnVlciBlaW4gTGFwdG9wIGVpbiBiaXNjaGVuIGdyb3NzIHNpbmQuICBBYmVyIGRhcyBrdWVtbWVydAptaWNoIG5pY2h0LCBkYSBpY2gga2VpbmVuIExhcHRvcCBoYWIuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVMgT2ZmaWNlIDIwMDAgdnMuIFhQIChHcmltbWJvcm4sIDExLiBNYXIgMjAwMywgMDA6NDQ6MTkpOgpIYXQgamVtYW5kIGVpbmUgVWViZXJzaWNodCB3YXMgZGllIFZvcnRlaWxlIHZvbiBNUyBPZmZpY2UgWFAgZ2VnZW51ZWJlciAyMDAwCnNpbmQsIG9kZXIsIGFuZGVyc3J1bSwgd2VsY2hlIEdydWVuZGUga2FubiBlcyBnZWJlbiB2b24gT2ZmaWNlIDIwMDAgYXVmIFhQIHp1CndlY2hzZWxuPyAKRGVyIGVyc3RlLCBkZXIgbWl0ICJPcGVuT2ZmaWNlIiBhbnR3b3J0ZXQgZGFyZiBtaXIgZGFubiBlaW5lbiBmdW5rdGlvbmllcmVuZGVuCi5wcHQtRmlsdGVyIHNjaGlja2VuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUyBPZmZpY2UgMjAwMCB2cy4gWFAgKE11cGZlbCwgMTEuIE1hciAyMDAzLCAyMzozOToyOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0NzMzOTg1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ3MzM5ODU5ClZvcnRlaWxlIGhhdCBPZmZpY2UgWFAgZWluemlnIHVuZCBhbGxlaW4gbnVyIGZ1ZXIgTGV1dGUgZGllIHZvcmhlciBuaWUgbWl0Ck9mZmljZSBnZWFyYmVpdGV0IGhhYmVuLiBEaWUgei50LiB6aWVtbGljaCBhdWZkcmluZ2xpY2hlbiBIaWxmZWZ1bmt0aW9uZW4KYnJpbmdlbiBhdWNoIERBVXMgc2NobmVsbCB3ZWl0ZXIuIEZ1ZXIgYWxsZSBhbmRlcmVuIGhhdCBkYXMgcHJha3Rpc2NoIG51cgpOYWNodGVpbGUsIGRlbm4gbmV1ZSB3aWNodGlnZSBGdW5rdGlvbmVuIGdpYnRzIG5pY2h0LCBzdGF0dCBkZXNzZW4gaGF0IHNpY2gKZGllIEJlZGllbnVuZyB2b24gYW5kZXJlbiB3aWNodGlnZW4gRnVua3Rpb25lbiB0ZWlscyBkaWFtZXRyYWwgZ2VhZW5kZXJ0Li4uCih6LkIuIFNlcmllbmRydWNrKS4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaWVtZW5zIFMzNSAoSmFtZXNvbiwgMTIuIE1hciAyMDAzLCAwMDozNToyNyk6CkljaCBoYWJlIG9iaWdlcyBIYW5keSBtaXQgSW5mcmFyb3Rwb3J0LCB1bmQgaWNoIGhhYmUgZWluIE5vdGVib29rIG1pdApJbmZyYXJvdHNjaG5pdHRzdGVsbGUuIFdlciBrZW5udCBlaW5lIFNvZnR3YXJlLCBtaXQgZGVyIG1hbiBkaWUgYmVpZGVuCnZlcmJpbmRlbiBrYW5uPyBLYWJlbCB3aWxsIGljaCBrZWlucyBrYXVmZW4sIHdvenUgYXVjaCB3ZW5uIGVzIG1pdCBJbmZyYXJvdAphdWNoIGdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2llbWVucyBTMzUgKE1hcmN1cywgMTIuIE1hciAyMDAzLCAwODoyMzowMCk6Cn4jISBybj1KYW1lc29uIHJ0PTEwNDc0MjU3Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0NzQyNTcyNwp3d3cuczI1YXRvbmNlLmRlCgpDaWFvLCBNYXJjdXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGxhdHRlIGZ1ZXIgTUcgKFZhbmlvbiwgMTIuIE1hciAyMDAzLCAyMDoyODoxNyk6Cn4jISBvbj1WYW5pb24gb3Q9MTA0NzQ5NzI3OSBvZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0NzQ1NDczNyByZz1tb3JnZW5ncmF1ZW4udmVyZWluCn4jISB0aWQ9MTA0NzQ1NDczNwpCZWlzcGllbCBmdWVyIGRpZSBQbGF0dGU6IEljaCBoYWIgbWlyL21laW5lbSBSZWNobmVyIGpldHp0IHNvIGVpbmVuIDEyMApHQi1TY2hudWNrZWwgdm9uIFdlc3Rlcm4gRGlnaXRhbCBtaXQgOCBNQiBDYWNoZSBnZWdvZW5udC4gU2VpdCBkZW0gYmluIGljaApkYXVlcm5kIG5lcnZvZXMsIHdlaWwgaWNoIGRpZSBQbGF0dGUgbmljaHQgbWVociBhcmJlaXRlbiBob2VyZS4gCgpHZXNjaHdpbmRpZ2tlaXQ6IElyZ2VuZHdvIHp3aXNjaGVuIFVpdWl1aSB1bmQgV293IQpLb3N0ZW4gICAgICAgICA6IDE1MCBFdXJvCgpJY2ggZGVua2Ugc28gZWluZSBQbGF0dGUga2FubiBkYXMgYWx0ZSBSYWlkLVN5c3RlbSBsb2NrZXIgc2NobGFnZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQbGF0dGUgZnVlciBNRyAoV2lsbG93LCAxMi4gTWFyIDIwMDMsIDIwOjMyOjA0KToKfiMhIHJuPVZhbmlvbiBydD0xMDQ3NDk3Mjk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc0NTQ3MzcKTmFqYSwgaWNoIGhhYiBtaXIgMiA4MC1lciBTY2hudWNrZWxjaGVuIHZvbiBXRCBnZWhvbHQgdW5kIGFscyBTb2Z0LVJhaWQtQXJyYXkKZWluZ2VzZXR6dCAtIGlzdCBzZWhyIGFuZ2VuZWhtLi4uIGthbm4gaWNoIG51ciB6dXN0aW1tZW4gCldlaWRjaGVuIFdpbGxvdwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQbGF0dGUgZnVlciBNRyAoSmFtZXNvbiwgMTIuIE1hciAyMDAzLCAyMTowNzozNyk6Cn4jISBybj1WYW5pb24gcnQ9MTA0NzQ5NzI5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ3NDU0NzM3CmZ1ZXIgZGVuIE1HLVNlcnZlciB3YWVyIGRhcyBuYXR1ZXJsaWNoIGVnYWwsIGFiZXIgZGEgZ2lidCdzIHNvIG5ldHRlIFRvb2xzLApkaWUgZGFzIEFBTSAoQWt1c3Rpay1NYW5hZ2VtZW50KSBlaW5zdGVsbGVuLCBkYSBrYW5uc3QgZHUncyBlbnR3ZWRlciBzY2huZWxsCnVuZCBsYXV0IG9kZXIgZXR3YXMgbGFuZ3NhbWVyIHVuZCBsZWlzZSBoYWJlbi4gTmF0dWVybGljaCBudXIgZGllCktvcGZiZXdlZ3VuZ2VuLiBIRC1CcmVtc2UgZ2lidCdzIChub2NoPykgbmljaHQuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQbGF0dGUgZnVlciBNRyAoQW1hcnlsbGlzLCAxMi4gTWFyIDIwMDMsIDIxOjA4OjU3KToKfiMhIHJuPUphbWVzb24gcnQ9MTA0NzQ5OTY1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ3NDU0NzM3CkRvY2gsIGdpYnRzLiBOZW5udCBzaWNoIFdpbmRvd3MgKEZBVCkgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBsYXR0ZSBmdWVyIE1HIChKYW1lc29uLCAxMi4gTWFyIDIwMDMsIDIxOjA5OjMzKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDQ3NDk5NzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc0NTQ3MzcKYml0dGUsIGJpdHRlLCBuaWNodCBzYWNobGljaCB3ZXJkZW4gaGllci4gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQbGF0dGUgZnVlciBNRyAoVmFuaW9uLCAxMi4gTWFyIDIwMDMsIDIzOjA0OjMxKToKfiMhIHJuPUphbWVzb24gcnQ9MTA0NzQ5OTY1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ3NDU0NzM3Ck5hamEsIHp1ciBaZWl0IGlzIGRpZSBzY2huZWxsIHVuZCBsZWlzZS4gRWlnZW50bGljaCBrZWluIGFlbmRlcm5zd2VydGVyClp1c3RhbmQuIFdlbm4gZXMgZWluZSBMdWVmdGVyYnJlbXNlIGdpYnQsIHJlZGVuIHdpciB3aWVkZXIuCgpWKiBsaWVidCBzZWluZSBuZXVlIEZlc3RwbGF0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQbGF0dGUgZnVlciBNRyAoQW50aGVhLCAxMy4gTWFyIDIwMDMsIDA5OjUyOjA4KToKfiMhIHJuPVZhbmlvbiBydD0xMDQ3NTA2NjcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc0NTQ3MzcKSWNoIG1hZyBkaWUgV0QtUGxhdHRlbiBuaWNodCBzbyBzb25kZXJsaWNoLCBkZW5uIFdEIGlzdCBhdWYgZGllIHNlbHRzYW1lIElkZWUKZ2Vrb21tZW4gZGVuIElERS1QaW4gMSwgZGVyIGVpZ2VudGxpY2ggZnVlciAiUmVzZXQiIGdlZGFjaHQgaXN0LCBmdWVyIGVpbmUKImVyd2VpdGVydGUgS29tbXVuaWthdGlvbiIgbWl0IGRlbSBJREUtQ29udHJvbGxlciB6dSBudXR6ZW4uIFdlbm4gZWluCkNvbnRyb2xsZXIgZGFzIG5pY2h0IHZlcnN0ZWh0LCBoYXQgbWFuIFBlY2ggdW5kIGRpZSBQbGF0dGUgbGFldWZ0IG5pY2h0LiBJc3QKei5CLiBpbiB2aWVsZW4gTmljaHQtUENzIHNvIChTYXQtUmVjZWl2ZXIsIE1QMy1QbGF5ZXIsIE1laHJzcHVyZ2VyYWV0ZSksIGRpZQpGZXN0cGxhdHRlbiB2ZXJ3ZW5kZW4uIFVuZCBhdWNoIGJlaSBkZW0gZWluZW4gb2RlciBhbmRlcmVuIENvbnRyb2xsZXIgZnVlcgpQQ3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2llbWVucyBTMzUgKFBpbGdyaW0sIDEzLiBNYXIgMjAwMywgMTc6NTg6MTQpOgp+IyEgcm49SmFtZXNvbiBydD0xMDQ3NDI1NzI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc0MjU3MjcKczM1Q3ogdiAyLjMuMC43IApJY2ggZmluIGRpZSBIb21lcGFnZSBpbSBtb21lbnQgbmljaHQgLi4uCkFiZXIgaGllciBnaWJ0cyBkYXMKaHR0cDovL2N1YmUuZnR5Y3prYS5vcmcvc2llbWVucy9kb3dubG9hZC9kb3dubG9hZC5odG0KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2llbWVucyBTMzUgKFBpbGdyaW0sIDEzLiBNYXIgMjAwMywgMjI6MzA6MDQpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDQ3NTc0Njk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc0MjU3MjcKaHR0cDovL3d3dy5teXNpZW1lbnMuY3ovbXMvc29mdHdhcmUucGhwP2s9MQoKU3gzNSBDWiAyLjQgCgp1LnYubS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoYXQtU3lzdGVtIGdlc3VjaHQgKEZvb2JhciwgMTguIE1hciAyMDAzLCAxMDozMDowNSk6CkhhbGxvLAoKaWNoIHN1Y2hlIGVpbiB3ZWJiYXNpZXJ0ZXMgQ2hhdC1TeXN0ZW0sIHdlbGNoZXMgZXJ3ZWl0ZXJ0ZSBNb2Rlcmllci1GdW5rdGlvbmVuCnp1ciBWZXJmdWVndW5nIHN0ZWxsdC4KCi0gIm5vcm1hbGVyIiBVc2VyIHN0ZWxsdCBlaW5lIEZyYWdlCi0gZWluICJNb2RlcmF0b3IiIHNvbGwgZGllIEZyYWdlIGNoZWNrZW4sIGdnZnMuIHVtZm9ybXVsaWVyZW4ga29lbm5lbiB1bmQKZWluZW0gIkJlYXJiZWl0ZXIiIHp1d2Vpc2VuIGtvZW5uZW4KLSBkZXIgIkJlYXJiZWl0ZXIiIHNvbGwgZGllIEZyYWdlIGRhbm4gLSBmdWVyIGFsbGUgQ2hhdC1UZWlsbmVobWVuIHNpY2h0YmFyIC0KYmVhbnR3b3J0ZW4ga29lbm5lbgoKSmEsIGljaCBoYWJlIFNvdXJjZUZvcmdlL0ZyZXNobWVhdCBzY2hvbiBkdXJjaGZvcnN0ZXQgdW5kIG5peCB3aXJrbGljaApwYXNzZW5kZXMgZ2VmdW5kZW4uIEtlbm50IHZvbiBFdWNoIGV2dGwuIHdlciBlaW5lIGRlcmFydGlnZSBTb2Z0d2FyZT8KClRJQSwKCiAgIEZvb2JhcgoKUFM6IEVnYWwgb2IgV2luL0xpbnV4L1VuaXguIFBIUCB3YWVyIHBlcmZla3QgO28pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ2hhdC1TeXN0ZW0gZ2VzdWNodCAoRWxhaW5lLCAxOC4gTWFyIDIwMDMsIDIwOjIwOjUyKToKfiMhIHJuPUZvb2JhciBydD0xMDQ3OTc5ODA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDc5Nzk4MDUKR2FueiBzcG9udGFuIG1hbDogaHR0cDovL2tyemFrLmxpbnV4Lm5ldC5wbC8KCk5pY2h0IHZvbiBkZW0gYmlzc2NoZW4gUG9sbmlzY2ggYWJzY2hyZWNrZW4gbGFzc2VuIDo+ClNjaGVpbnQgZXR3YXMgenUgc2Vpbiwgd29taXQgRHUgd2FzIGFuZmFuZ2VuIGtvZW5udGVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvczEvRW5kZSB1bnRlciBCYXNoL1h0ZXJtIChXaGl0ZXRpZ2VyLCAyNy4gTWFyIDIwMDMsIDA2OjM0OjI1KToKV2llc28gZnVua3Rpb25pZXJlbiBQb3MxL0VuZGUgYWxzIEFsaWFzZSBmdWVyIF5hIC8gXmUgaW4gZGVyIENvbnNvbGUsIGFiZXIKbmljaHQgaW0gWHRlcm0/IChXZWRlciBCYXNoIG5vY2ggVEYuLi4pCkhhdCBpcmdlbmRqZW1hbmQgbmUgSWRlZSwgd2llIGljaCBkYXMgdW50ZXIgWCB6dW0gTGF1ZmVuIGJyaW5nZW4ga2Fubj8KLS0gV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb3MxL0VuZGUgdW50ZXIgQmFzaC9YdGVybSAoTW9yZ290aCwgMjcuIE1hciAyMDAzLCAwNzo0MjoxMCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDg3NDMyNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0ODc0MzI2NQpBbHMgc3BvbnRhbmVuIFNjaHVzcyBpbnMgQmxhdWUgd3VlcmQgaWNoIG1hbCBhdWYgeG1vZG1hcCB0aXBwZW4uCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvczEvRW5kZSB1bnRlciBCYXNoL1h0ZXJtIChWYXJkaW9uLCAyNy4gTWFyIDIwMDMsIDEwOjQ5OjUwKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0ODc0MzI2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ4NzQzMjY1ClVudGVyIFRGIHR1biBkaWUgbnVyIHdhcyBzaW5udm9sbGVzLCB3ZW5uIER1IGtiLWJhc2gudGYgZ2VsYWRlbiBoYXN0LgpVbnRlciBiYXNoIGlzdCBuZWJlbiBkZXIgaW5wdXRyYyBmdWVyIHJlYWRsaW5lIHByaW1hZXIgZGllIHRlcm1jYXAgcmVsZXZhbnQuCkljaCBuZWhtZSBtYWwgYW4sIGF1ZiBkZXIgQ29uc29sZSBoYXN0IER1IGVpbiBhbmRlcmVzIFRlcm1pbmFsIGdlc2V0enQKKHZlcm11dGxpY2ggImxpbnV4IikgYWxzIHVudGVyIFggKGRhIHZlcm11dGxpY2ggInh0ZXJtIiwgInh0ZXJtLWNvbG9yIiBvZGVyCnNvKS4gRXZ0bCBpc3QgZGEgZWluIGZhbHNjaGVzIFRlcm1pbmFsIGdlc2V0enQgb2RlciBkaWUgZW50c3ByZWNoZW5kZSBUZXJtY2FwCmthcHV0dC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUG9zMS9FbmRlIHVudGVyIEJhc2gvWHRlcm0gKFZhcmRpb24sIDI3LiBNYXIgMjAwMywgMTA6NTM6MDgpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQ4NzU4NTkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDg3NDMyNjUKUHJvYmllciBtYWwgbm9jaCwgb2IgZGllIGJlaWRlbiBUYXN0ZW4gaW4gZWluZW0gUHJvZ3JhbW0gZ2VoZW4sIGRhcyBuaWNodAp0ZXJtaW5hbC1iYXNpZXJ0IGlzdC4gWi5CLiBNb3ppbGxhIG9kZXIgTmV0c2NhcGUuIFNvbGx0ZW4gc2llIGRhIGF1Y2ggbmljaHQKZ2VoZW4sIGlzdCB2aWVsbGVpY2h0IHdpcmtsaWNoIGRpZSB4bW9kbWFwIHplcnNjaG9zc2VuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUG9zMS9FbmRlIHVudGVyIEJhc2gvWHRlcm0gKFdoaXRldGlnZXIsIDI3LiBNYXIgMjAwMywgMTg6MjU6MjIpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQ4NzU4Nzg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDg3NDMyNjUKQWxzbyBpbSBNb3ppbGxhIGdlaGVuIHNpZS4uLiBEYW5uIHdpcmRzIHdvaGwgYW4gZGVyIHRlcm1jYXAgb2RlciBpbnB1dHJjCmxpZWdlbi4KTWFsIHNjaGF1ZW4uLi4KCldoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF0dGFjaG1lbnRzIGR1cmNoIExpbmtzIGluIE1haWxzIGVyc2V0emVuIChPZ28sICA4LiBBcHIgMjAwMywgMjE6MTQ6MjEpOgpJY2ggd3VlcmRlIGdlcm5lIGluIE1haWxpbmdsaXN0cyAoTWFpbG1hbikgZXR3YWlnZSBBdHRhY2htZW50cyBhYiBlaW5lcgpnZXdpc3NlbiBHcm9lc3NlIGF1ZiBlaW5lbSBTZXJ2ZXIgYWJsZWdlbiB1bmQgZGllIE1haWxzIGRhaGluIGdlaGVuZAp2ZXJhZW5kZXJuLCBkYXNzIHN0YXR0IGRlcyBBdHRhY2htZW50cyBlaW4gTGluayB6dSBkZXIsIGF1ZiBkZW0gU2VydmVyCmFiZ2VsZWd0ZW4gRGF0ZWkgc3RlaHQuCkdlbmF1IGRhcyBsZWlzdGV0IE1pbWVEZWZhbmcsIHdlbGNoZXMgbGVpZGVyIG51ciBtaXQgU2VuZG1haWwgKyBNaWx0ZXIKYXJiZWl0ZXQuIApLZW5udCB2aWVsbGVpY2h0IGlyZ2VuZHdlciBlaW5lICJmZXJ0aWdlIiBMb2VzdW5nIGZ1ZXIgUG9zdGZpeD8KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGViaWFuIG1hbCB3aWVkZXIgKFdoaXRldGlnZXIsICA5LiBBcHIgMjAwMywgMTI6NDk6NDgpOgoxLikgV2llIGthbm4gaWNoIGRpZSBaZWl0IGF1ZiBTb21tZXJ6ZWl0IHVtc3RlbGxlbj8gQWxzbyBkYXNzIHNvd29obCBUaW1lem9uZQpkYW5uIE1FU1ogaXMgdW5kIGRpZSBVaHIgbmUgU3R1bmRlIHNwYWV0ZXIgZ2VodCAoSFdjbG9jayBuYWNoIGxva2FsZXIgWmVpdCkuCjIuKSBXaWUga2FubiBpY2ggZGVyIEJhc2ggUG9zMS9FbmRlLVRhc3RlbiBiZWlicmluZ2VuPyAoSW0gQXVnZW5ibGljawpmdW5rdGlvbmllcmVuIG51ciBDdHJsK0EgYnp3LiBDdHJsK0UpLiBCaXMgYXVmIFBvczEgd3VlcmQgaWNoIGRhcyBmdWVyIFRGIGF1Y2gKZ2VybmUgd2lzc2VuLi4uCjMuKSBHaWJ0IGVzIGlyZ2VuZGVpbiAnQmFzaXMnLVBha2V0IGZ1ZXIgR05PTUUsIHNvIHdpZSB4LXdpbmRvd3MtY29yZSBmdWVyIFg/ClNvIGRhc3MgaWNoIG51ciBlaW5zIGF1c3dhZWhsZW4gbXVzcy4KCi0tIFdoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGViaWFuIG1hbCB3aWVkZXIgKE5vbm5lLCAgOS4gQXByIDIwMDMsIDEyOjU0OjM4KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0OTg4NTM4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ5ODg1Mzg4Clp1IDE6IE5pbW0gbmV0ZGF0ZSwgZGFzIGlzdCBkYXMgZWluZmFjaHN0ZS4KWnUgMjogSWNoIGJlbnV0emUgc3RyZy1hIHVuZCAtZSwgYWJlciBzb2xsdGUgc2ljaCBlcmdvb2dlbG4gbGFzc2VuLgpadSAzOiBLZWluZSBBaG51bmcuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGViaWFuIG1hbCB3aWVkZXIgKFdoaXRldGlnZXIsICA5LiBBcHIgMjAwMywgMTI6NTY6MTEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA0OTg4NTY3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ5ODg1Mzg4CkRhbmtlIHNjaG9lbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZWJpYW4gbWFsIHdpZWRlciAoVmFyZGlvbiwgIDkuIEFwciAyMDAzLCAxMjo1ODoxMyk6Cn4jISBybj1Ob25uZSBydD0xMDQ5ODg1Njc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDk4ODUzODgKRGFzIFByb2JsZW0gbWl0IFBvczEgdW5kIEVuZGUgc29sbHRlIHNpY2ggdWViZXIgZWluZSAuaW5wdXRyYyBlcmxlZGlnZW4KbGFzc2VuLCBpbiBkZXIgZm9sZ2VuZGVzIHN0ZWh0OgoKIlxlWzF+IjogYmVnaW5uaW5nLW9mLWxpbmUKIlxlWzR+IjogZW5kLW9mLWxpbmUKCkFscyB3ZWl0ZXJlcyBuZXR0ZXMgRmVhdHVyZSBrYW5uIG1hbiBub2NoIGZvbGdlbmRlcyBzZXR6ZW46CgoiXGVbNX4iOiBoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZAoiXGVbNn4iOiBoaXN0b3J5LXNlYXJjaC1mb3J3YXJkCgpEYW1pdCBrYW5uc3RlIHVlYmVyIEJpbGQgQXVmL0FiIGluIGRlciBJbnB1dC1IaXN0b3J5ICJwYXNzZW5kZSIgWmVpbGVuIHN1Y2hlbi4KRC5oLiBkdSB0aXBwc3QgInNzaCIsIHRpcHBzdCBkYW5uIEJpbGRBdWYgdW5kIHNjaG9uIHplaWd0IGVyIERpciBkaWUgbGV0enRlCkVpbmdhYmV6ZWlsZSBhbiwgZGllIG1pdCAic3NoIiBiZWdvbm5lbiBoYXQgKHNvd2FzIGdlaHQgdWVicmlnZW5zIGF1Y2ggZnVlciBURgo7LSkpCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEZWJpYW4gbWFsIHdpZWRlciAoVmFyZGlvbiwgIDkuIEFwciAyMDAzLCAxMzowMDoxNSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNDk4ODU4OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0OTg4NTM4OApLbGVpbmUgQW5tZXJrdW5nOiBkaWUgZ2FuemUgRWluZ2FiZSBpbiBkZXIgQmFzaCBoYXQgbml4IG1pdCBCYXNoIHNlbGJzdCB6dSB0dW4Kc29uZGVybiBwcmltYWVyIG1pdCBkZXIgbGlicmVhZGxpbmUuIEVpbnN0ZWxsdW5nZW4sIGRpZSBEdSBpbiAuaW5wdXRyYyBtYWNoc3QsCmdlbHRlbiBkYWhlciBuaWNodCBudXIgZnVlciBCYXNoLCBzb25kZXJuIGZ1ZXIgYWxsZSBQcm9ncmFtbWUsIGRpZSBkaWUKbGlicmVhZGxpbmUgenVyIEVpbmdhYmUgYmVudXR6ZW4gKHouQi4gZGVyIGludGVyYWt0aXZlIEF1ZnJ1ZiBkZXMKUHl0aG9uLUludGVycHJldGVycykuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEZWJpYW4gbWFsIHdpZWRlciAoV2hpdGV0aWdlciwgIDkuIEFwciAyMDAzLCAxMzowMToxMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNDk4ODYwMTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0OTg4NTM4OApEYXMgaGFiIGljaCBtaXIgc2Nob24gaXJnZW5kd2llIGdlZGFjaHQuLi4gOikKLS0gVypUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGViaWFuIG1hbCB3aWVkZXIgKE5vbm5lLCAgOS4gQXByIDIwMDMsIDEzOjA4OjU2KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA0OTg4NTg5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDQ5ODg1Mzg4Ckhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkIGdlaHQgaW4gZGVyIEJhc2ggYXVjaCBwcmltYSBtaXQgc3RyZy1yLiBEYW5uIG11c3MgZGllClplaWxlIG5pY2h0bWFsIG1pdCBkZW0gZ2V0aXBwdGVuIGFuZmFuZ2VuLCB3YXMgbWFuY2htYWwgYXVjaCBoaWxmcmVpY2ggc2VpbgprYW5uLiBadW0gbmFlY2hzdGVuIG1hdGNoIGtvbW10IG1hbiBkdXJjaCBlcm5ldXRlcyBkcnVlY2tlbiB2b24gc3RyZy1yLiBJbiBkZXIKdGNzaCB1bmQgYmVpIG1pciBhdWNoIGluIHRmIGtyaWVndCBtYW4gZGFzIGhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkLVZlcmhhbHRlbgphdWNoIG1pdCBlc2MtcAoKTnVyIG1hbCBzbyBhbHMgQW5tZXJrdW5nIChjOwpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERlYmlhbiBtYWwgd2llZGVyIChWYXJkaW9uLCAgOS4gQXByIDIwMDMsIDEzOjEzOjQxKToKfiMhIHJuPU5vbm5lIHJ0PTEwNDk4ODY1MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA0OTg4NTM4OApOYXR1ZXJsaWNoIGdlaHQgZGFzIGFsbGVzIHVlYmVyIGlyZ2VuZHdlbGNoZSBUYXN0ZW5rb21iaW5hdGlvbmVuLiBNYW4ga2FubgpzaWNoZXIgYXVjaCBaZWlsZW5hbmZhbmctIHVuZCBlbmRlIGR1cmNoIGlyZ2VuZCBlaW5lIEtvbWJpIGVycmVpY2hlbi4gRXMgZ2luZwpqYSBlaGVyIGRhcnVtLCBzbyBTdGFuZGFyZHpldWdzIGRpcmVrdCB1ZWJlciBlaW5lIFRhc3RlIHp1ciBWZXJmdWVndW5nIHp1CmhhYmVuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGViaWFuIG1hbCB3aWVkZXIgKFdoaXRldGlnZXIsICA5LiBBcHIgMjAwMywgMTM6MTQ6MTcpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQ5ODg2ODIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNDk4ODUzODgKS2xhciwgQ3RybCthIC8gQ3RybCtlIGdlaGVuIGphLiBBYmVyIFBvczEvRW5kZSBsaWVndCBtYW5jaG1hbCBoYWx0IGViZW4Kc2NobmVsbGVyLi4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIUGRlc2tqZXQ5NDBjIEAgV29vZHkgKFdoaXRldGlnZXIsIDE5LiBBcHIgMjAwMywgMDk6NTQ6MTkpOgpXZWxjaGVzIERydWNrc3lzdGVtIHNvbGx0ZSBpY2ggbmVobWVuPyBMUFIsIExQUm5nIG9kZXIgQ1VQUz8KVW5kIHdpZSBrYW5uIGljaCBkYW5uIGRhcyBlbnRzcHJlY2hlbmRlIHNvIGVpbnJpY2h0ZW4gZGFzcyBpY2ggaXJnZW5kd2llCkFTQ0lJLURhdGVpZW4genVtaW5kZXN0IGRydWNrZW4ga2Fubj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIUGRlc2tqZXQ5NDBjIEAgV29vZHkgKExpYWZhciwgMTkuIEFwciAyMDAzLCAyMjo1MToyMSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNTA3Mzg4NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MDczODg1OQpBU0NJSSBEYXRlaWVuIGthbm4gbWFuIGVudHdlZGVyIGRpcmVrdCBhbiBkZW4gZHJ1Y2tlciBzY2hpY2tlbiwgb2RlciBtaXQKKHgpZW1hY3Mgb2VmZm5lbiB1bmQgLT4gcHJldHR5IHByaW50CkRhYmVpIHdpcmQgZGFubiBkZXIgVGV4dCBuaWNodCBzbyBhcmcgYW4gZGVuIFJhbmQgZ2VkcmFlbmd0Li4uCgpBbHNvIGljaCB2ZXJ3ZW5kIGluIG1laW5lbSBrbGVpbmVuIEhlaW1uZXR6IENVUFMuIElzdCByZWxhdGl2IGVpbmZhY2gKYXVmZ2VzZXR6dCB1bmQgbGFlc3N0IHNpY2ggYXVjaCByZWNodCBhbmdlbmVobSB1ZWJlciBkYXMgV2ViaW50ZXJmYWNlCmFkbWluaXN0cmllcmVuIChmaW5kIGljaCB6dW1pbmRlc3QpLiAKCktQcmludGVyIGhhdCBhdWNoIGtlaW5lIHByb2JsZW1lIHdlbm4gaWNoIGlobSBzYWcgZXIgc29sbCB1ZWJlciBMUFJuZyBkcnVja2VuLgpJY2ggd2Vpc3MgbmljaHQgd2llIGVzIGZ1bmt0aW9uaWVydCwgYWJlciBlcyBmdW5rdGlvbmllcnQgOikKCkxpYWZhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIUGRlc2tqZXQ5NDBjIEAgV29vZHkgKFZhcmRpb24sIDIwLiBBcHIgMjAwMywgMjM6MzQ6MzUpOgp+IyEgcm49TGlhZmFyIHJ0PTEwNTA3ODU0ODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MDczODg1OQphMnBzIGJpZXRldCBzaWNodCBmdWVyIEFTQ0lJLURhdGVpZW4gYXVjaCBhbi4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSFBkZXNramV0OTQwYyBAIFdvb2R5IChXaGl0ZXRpZ2VyLCAyMS4gQXByIDIwMDMsIDA4OjUzOjQwKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA1MDg3NDQ3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUwNzM4ODU5Ck9rYXksIGljaCBoYWIgaWhuIG1pdCBDVVBTIGpldHp0IHp1bSBMYXVmZW4gZ2VicmFjaHQuLi4KV2VzZW50bGljaCBlaW5mYWNoZXIgYWxzIGRlciBhbHRlIExQRCwgZmluZGUgaWNoLgotLSBXaGl0ZVRpZ2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVk13YXJlNCB1bmQgTmV0endlcmsgKFZhcmRpb24sIDIxLiBBcHIgMjAwMywgMTI6Mzk6NDEpOgpIaS4KCkhhdCBpcmdlbmR3ZXIgYmVpIFZNd2FyZTQgZGFzIEJyaWRnZWQgTmV0d29ya2luZyBvcmRlbnRsaWNoIGhpbmJla29tbWVuPwpNb21lbnRhbiBzaWVodCBlcyBzbyBhdXMsIGRhc3MgUGluZy1Ccm9hZGNhc3RzIGF1ZiBkYXMgU3VibmV0eiBkZXMKZW50c3ByZWNoZW5kZW4gSW50ZXJmYWNlcyB2b24gZGVyIFZNd2FyZSBiZWFudHdvcnRldCB3ZXJkZW4uIFBpbmdzIGRpcmVrdCBhdWYKZGllIElQIGRlciBWTXdhcmUgYnJpbmdlbiBqZWRvY2ggbml4LiBWb24gaW5uZW4gbmFjaCBhdXNzZW4gKGlubmVuID0gdm13YXJlLAphdXNzZW4gPSBob3N0cmVjaG5lcikgc2NoZWluZW4gYmlzIGpldHp0IG51ciBESENQLVJlcXVlc3RzIHp1IGdlaGVuLCB6dW1pbmRlc3QKYnJpbmd0IGRlciBESENQLVNlcnZlciBhdXNzZW4gZGFzcyBkaWUgVk13YXJlIGFuZ2VmcmFndCBoYXQgdW5kIGlociBuZSBJUAp6dWdlc3RlbGx0IHd1cmRlIC0gZGllIG9mZmVuYmFyIGlubmVuIGplZG9jaCBuaWUgYW5rb21tdC4gV2VubiBtYW4gaW5uZW4gcGVyCkhhbmQgbmUgSVAgZWluc3RlbGx0LCBkYW5uIHdlcmRlbiBoYWx0IHp1bWluZGVzdCBkaWUgQnJvYWRjYXN0LVBpYmdzIHZvbgphdXNzZW4gYmVhbnR3b3J0ZXQuCkFsbGVzIHNlaHIgbXlzdGVyaW9lcy4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZNd2FyZTQgdW5kIE5ldHp3ZXJrIChMaWFmYXIsIDIxLiBBcHIgMjAwMywgMTc6MjI6MDEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDUwOTIxNTgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTA5MjE1ODEKQWxzbyBpY2ggaGFiZSBWTXdhcmU0IGxhdWZlbi4gRWlubWFsIG1pdCBXaW45NSBXaW4yayB1bmQgV2luWFAgamV3ZWlsbHMgbWl0CkJyaWdlZCBOZXR3b3JraW5nLiBVZWJlcmFsbCBmdW5rdGlvbmllcnQgZGFzIE5ldHp3ZXJrIGVpZ2VudGxpY2guLi4KCkxpYWZhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSFBkZXNramV0OTQwYyBAIFdvb2R5IChXb29keSwgMjIuIEFwciAyMDAzLCAxNDozMjowMCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTA4NzQ0NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MDczODg1OQpGdWVyIHByZXR0eXByaW50IGJpZXRldCBzaWNoIGF1Y2ggImVuc2NyaXB0IiBhbi4gTXVjaCBtb3JlIGFkdmFuY2VkCnRoYW4gYTJwcyAod2VubiBtYW5zIGJyYXVjaHQpLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClhGaWc6IExpbmllbiBhbiBhbmRlcmVuIE9iamVrdGVuIGVuZGVuIGxhc3NlbiAoVmFyZGlvbiwgMjMuIEFwciAyMDAzLCAxNTowOTozMSk6CkhpLgoKS2VubnQgd2VyIGVpbmUgTW9lZ2xpY2hrZWl0LCBpbiBYRmlnIExpbmVuIGdlbmF1IGFuIGVpbmVtIGFuZGVyZW4gImtydW1tZW4iCk9iamVrdCAoS3JlaXNlLCBTcGxpbmVzIGV0YykgZW5kZW4genUgbGFzc2VuPwpJY2ggbW9lY2h0ZSBlaW5lIHNjaHJhZWdlIExpbmllIGdlbmF1IGFuIGVpbmVtIEtyZWlzIGVuZGVuIGxhc3Nlbi4gSWNoIGFyYmVpdGUKbWl0IFBvaW50LVBvc2l0aW9uLU5ldHosIHNvIGRhc3Mgc2ljaCBkZXIgS3JlaXMgYW4gZGVuIG1laXNzdGVuIFN0ZWxsZW4gbmljaHQKZ2VuYXUgdHJlZmZlbiBsYWVzc3QuIE1hbiBrb2VubnRlIFBvaW50LVBvc2l0aW9uIGF1Y2ggYXVzc2NoYWx0ZW4gdW5kIGRpZQpMaW5pZSBkYSBwZXIgSGFuZCByYW5mdW1tZWxuLCBhYmVyIHZpZWxsZWljaHQgZ2VodHMgamEgYXVjaCBpcmdlbmR3aWUKYXV0b21hdGlzY2g/CgpGYWxscyB3ZXIgdW50ZXIgTGludXggZWluZSBBbHRlcm5hdGl2ZSB6dSBYRmlnIGtlbm50LCBkaWUgc293YXMga2Fubiwgd2FlcmUKaWNoIGF1Y2ggZGFua2Jhci4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYRmlnOiBMaW5pZW4gYW4gYW5kZXJlbiBPYmpla3RlbiBlbmRlbiBsYXNzZW4gKExpYWZhciwgMjMuIEFwciAyMDAzLCAyMjowODoyNyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTExMDMzNzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MTEwMzM3MQpXZW5uIGVzIG51ciB1bSBkaWUgb3B0aWsgZ2VodCBrYW5uIG1hbiBhdWNoIGVpbmZhY2ggIkRlcHRoIiBkZXMgS3JlaXNlcyBhdWYKZWluZW4ga2xlaW5lcmVuIFdlcnQgc2V0emVuLi4uCgpMaWFmYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWEZpZzogTGluaWVuIGFuIGFuZGVyZW4gT2JqZWt0ZW4gZW5kZW4gbGFzc2VuIChWYXJkaW9uLCAyMy4gQXByIDIwMDMsIDIyOjQ3OjU2KToKfiMhIHJuPUxpYWZhciBydD0xMDUxMTI4NTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTExMDMzNzEKTmVpbi4KClNpY2hlciBrYW5uIG1hbiBkaWUgTGluaWVuIGF1Y2ggdm9uIHdlaXNzIGF1c2dlZnVlbGx0ZW4gS3JlaXNlbiB1ZWJlcmRlY2tlbgpsYXNzZW4uIERhcyBnZWh0IG51ciBuaWNodCwgd2VubiBEdSBhbSBFbmRlIGRlciBMaW5pZW4gUGZlaWxzcGl0emVuIHdpbGxzdC4KQmVpIFZlcndlbmR1bmcgdm9uIFBmZWlsc3BpdHplbiBrYW5uc3RlIG1pdCBTcGllbGVyZWllbiBhbiBkZXIgVGllZmUgdm9uIExpbmllCnVuZCBLcmVpcyBrYW5uc3RlIG51ciB6d2lzY2hlbiB6d2VpIEVmZmt0ZW4gd2FlaGxlbjogZW50d2VkZXIgZGVyIEtyZWlzCnNjaG5laW5ldCBlaW4gU3R1ZWNrIGRlciBQZmVpbHNwaXR6ZW4gYWIgb2RlciBzaWUgcmFnZW4gaW4gZGVuIEtyZWlzIHJlaW4uCkJlaWRlcyB1bnNjaG9lbi4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWEZpZzogTGluaWVuIGFuIGFuZGVyZW4gT2JqZWt0ZW4gZW5kZW4gbGFzc2VuIChMaWFmYXIsIDI0LiBBcHIgMjAwMywgMDY6NDM6NDQpOgp+IyEgcm49VmFyZGlvbiBydD0xMDUxMTMwODc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTExMDMzNzEKQWxzbyBxY2FkIGthbm4gZXMgc2ljaGVyLi4uCgpMaWFmYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1lc3Nwcm9ncmFtbSBmdWVyIEV0aGVybmV0L0lQLUR1cmNoc2F0eiAoVmFyZGlvbiwgMjYuIEFwciAyMDAzLCAxODoxMjo1Myk6CkhpLgoKS2VubnQgd2VyIGZ1ZXIgTGludXggZWluIHByb2dyYW1tLCBtaXQgZGVtIGljaCBkZW4gRGF0ZW5kdXJjaHNhdHogendpc2NoZW4gMgpSZWNobmVybiBkaXJla3QgYXVmIEV0aGVybmV0LUViZW5lIG1lc3NlbiBrYW5uPyBFaW4gcHJvZ3JhbW0genVtIE1lc3NlbiBhdWYKSVAtRWJlbmUgd2FlcmUgYXVjaCB0b2xsLiBJY2ggd2lsbCByYXVzZmluZGVuLCB3aWUgZ3Jvc3MgZGllIFZlcmx1c3RlIGR1cmNoIElQCnVuZCBUQ1Agc2luZC4gRnVlciBUQ1AgaGFiIGljaCBnZW51ZyBQcm9ncmFtbWUuLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBYRmlnOiBMaW5pZW4gYW4gYW5kZXJlbiBPYmpla3RlbiBlbmRlbiBsYXNzZW4gKEtlbGx5YnVuZHksIDI2LiBBcHIgMjAwMywgMjA6MTg6NTApOgp+IyEgcm49VmFyZGlvbiBydD0xMDUxMTAzMzcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTExMDMzNzEKV2lsbHN0ZSB6dWZhZWxsaWcgRmV5bm1hbmdyYXBoZW4gZXJzdGVsbGVuPyB3ZW5uIGphLCB0ZWlsZSBtaXIgYml0dGUgYXVjaCBkaWUKRXJnZWJuaXNzZSBtaXQgOy0pCgpCbG9lXkhuZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRldXRzY2hlIExhYmVscyBpbiBHbnVwbG90PyAoVmFyZGlvbiwgMjkuIEFwciAyMDAzLCAxNDo1NDoyNSk6CkhpLgoKS2FubiBtYW4gZ251cGxvdCBpcmdlbmR3aWUgYmVpYnJpbmdlbiwgZGV1dHNjaGUgVW1sYXV0ZSBpbiBkZW4gTGFiZWxzIHp1CmFremVwdGllcmVuPwoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERldXRzY2hlIExhYmVscyBpbiBHbnVwbG90PyAoTm9ubmUsIDI5LiBBcHIgMjAwMywgMTU6MDY6NDgpOgp+IyEgcm49VmFyZGlvbiBydD0xMDUxNjIwODY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTE2MjA4NjUKRGFzIGtvbW10IGF1ZiBkYXMgVGVybWluYWwgYW4sIHdvIER1IGF1c2dpYnN0LiBQb3N0c2NyaXB0IGlzdCBzY2hsZWNodCwgYW5kZXJlCmZ1bmt0aW9uaWVyZW4gb2huZSBQcm9ibGVtZSwgei5CLiBYMTEgKGM7CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGV1dHNjaGUgTGFiZWxzIGluIEdudXBsb3Q/IChWYXJkaW9uLCAyOS4gQXByIDIwMDMsIDE1OjEwOjQyKToKfiMhIHJuPU5vbm5lIHJ0PTEwNTE2MjE2MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MTYyMDg2NQpQb3N0c2NyaXB0IGlzdCBhYmVyIGdlbmF1IGRhcywgd2FzIGljaCBicmF1Y2ggOy0pCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXB0b3AgZ2VzdWNodC4uLiAoWm9vaywgIDIuIE1haSAyMDAzLCAxMDoyMjozOSk6CkdpYnQgZXMgZWlnZW50bGljaCBub2NoIEhlcnN0ZWxsZXIsIGRpZSB3aWUgd29obCBmcnVlaGVyIFRvc2hpYmEgc28KZWluZW4gSm95c3RpY2sgYWxzIE1hdXNlcnNhdHogaW4gZGllIFRhc3RhdHVyIGVpbmdlYmF1dCBoYWJlbj8gV2VubiBqYSwKd2VsY2hlIHNpbmQgZGFzIHVuZCB3YXMgc2luZCBkYSBmdWVyIGVtcGZlaGxlbnN3ZXJ0ZSBMYXB0b3BzIGRhYmVpPyAKKE1laW5lIEFuZm9yZGVydW5nZW4gc2luZCBuaWNodCBzbyBncm9zcywgZXMgbXVzcyBGcmVlQlNEIGxhdWZlbiAoYWxzbyAKbmljaHQgYWxsenUgZXhvdGlzY2hlIG9kZXIgenUgbmV1ZSBIYXJkd2FyZSksIGJpc3NlcmwgUGxhdHRlbnBsYXR6IGJyYXVjaHQKZGllIEtpc3RlLCBNdWx0aW1lZGlha3JlbXBlbCBrYW5uIGljaCBkcmF1ZiB2ZXJ6aWNodGVuLikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFwdG9wIGdlc3VjaHQuLi4gKEdydW1wZiwgIDIuIE1haSAyMDAzLCAxMDo1NToyNCk6Cn4jISBybj1ab29rIHJ0PTEwNTE4NjM3NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MTg2Mzc1OQpEZWxsIGlzdCBlaW5lciBkZXIgSGVyc3RlbGxlciBkaWUgZGFzIHdpZWRlciBlaW5nZWZ1ZWhydCBoYWJlbiwgbWljaCBzdG9lcnQgZXMKYmVpbSBzY2hyZWliZW4sIGFiZXIgYW5zb25zdGVuIGJpbiBpY2ggbWl0IG1laW5lbSA4MjAwIHNlaHIgZ2x1ZWNrbGljaCA6LSkKR3J1bXBmIGdydW1wZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhcHRvcCBnZXN1Y2h0Li4uIChHcmltbWJvcm4sICAyLiBNYWkgMjAwMywgMTA6NTg6NDQpOgp+IyEgcm49R3J1bXBmIHJ0PTEwNTE4NjU3MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MTg2Mzc1OQpadW1pbmRlc3QgZnJ1ZWhlciBoYXR0ZSBJQk0gZGFzLiBXZW5uIGFsc28gR2VsZCBrZWluZSBSb2xsZSBzcGllbHQgc2NoYXUgRGljaApkb3J0IG1hbCB1bS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYXB0b3AgZ2VzdWNodC4uLiAoUGlsZ3JpbSwgIDIuIE1haSAyMDAzLCAxNzo1MDoyMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA1MTg2NTkyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUxODYzNzU5CmEpIERpZSBicnVzdHdhcnplIGhlaXNzdCBiZWkgSUJNIC4uLlRyYWNrUG9pbnQuCmIpIEZ1ZXIgU3R1ZGVudGVuL1VuaU1pdGFyYmVpdGVyIHVuZCBTY2h1ZWxlci9MZWhyZXIgZ2V3ZWhydCBJQk0gc2VpdCBlaW5pZ2VyClplaXQKZnVlciBlaW5pZ2UgTW9kZWxsZSBjZC4gMzAgKC00MCkgJSBSYWJhdCAod2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyZSkuCmMpIFdXVy5ub2Zvc3QuZGUKZCkgd2FzIGZyZWVCU0QgYW5nZWh0IC4uLiBnb29nbGU/IEZ1ZXIgbGludXggZ2lidHMgamVkZSBNZW5nZSBTZWl0ZW4genVtIFRoZW1hCm5vdGJvb2tlICh6LmIuCmh0dHA6Ly93d3cubGludXgtbGFwdG9wLm5ldGh0dHA6Ly93d3cubGludXgtbGFwdG9wLm5laHR0cDovL3d3dy5saW51eC1sYXB0b3AubgpldC8gKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGFwdG9wIGdlc3VjaHQuLi4gKE9nbywgIDQuIE1haSAyMDAzLCAxNToxNDoxNik6Cn4jISBybj1QaWxncmltIHJ0PTEwNTE4OTA2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MTg2Mzc1OQpJY2ggaGFiZSBtaXIgdm9yIGdlcmF1bWVyIFplaXQgZWluIFRoaW5rcGFkIFIzMSBmdWVyIGNhLiAxMDAwIEVVUiBnZWthdWZ0LiBVbmQKYmluIHJlbGF0aXYgenVmcmllZGVuLiBEYSBpY2ggZWggbmljaHQgZGFtaXQgc3BpZWxlLCBzdG9lcnQgbWljaCBkaWUKc3Vib3B0aW1hbGUgR2FtZS1QZXJmb3JtYW5jZSBhdWNoIG5pY2h0LiBNaXQgQUNQSSBnaWJ0IGVzIFByb2JsZW1lLCBkaWUgc2ljaAphYmVyIGltIFZlcmhhZWx0bmlzIHp1IGFuZGVyZW4gTGFwdG9wcyBpbiBHcmVuemVuIGhhbHRlbi4gUE9TIChzZWxic3QKcHJvYmllcnQpIHVuZCBTVEQgKGhhYmVuIExldXRlIHp1bSBMYXVmZW4gZ2VicmFjaHQpIGZ1bmt0aW9uaWVyZW4gaGFsYndlZ3MKYW5zdGFlbmRpZy4gU1RSIGlzdCBub2NoIHNvIGVpbmUgU2FjaGUuLi4KV2FzIGRpZSBxdWFsaXRhdGl2ZSBWZXJhcmJlaXR1bmcgYmV0cmlmZnQgc2luZCBMYXB0b3BzIHZvbiBJQk0gbWl0IGRpZSBiZXN0ZW4uCkJsZWlidCBtYW4gYmVpIGRlbSBtaXRnZWxpZWZlcnRlbiBPUyBpc3QgZGVyICdTb2Z0d2FyZScgU3VwcG9ydCB3b2hsIHJlY2h0CmFuc3RhZW5kaWc7IG1pdCBMaW51eCBrb25udGVuIGRpZSBMZXV0ZSBkb3J0IG5pY2h0cyBhbmZhbmdlbiAod2lyZCBiZWkgKkJTRAp3b2hsIG5pY2h0IGJlc3NlciBhdXNzZWhlbi4pIERlciBIYXJkd2FyZS1TdXBwb3J0IGlzdCBqZWRvY2ggemllbWxpY2gKenVmcmllZGVuc3RlbGxlbmQsIG1hbiBrYW5uIGZhc3QgYWxsZXMgYWxzIEVyc2F0enRlaWwgYmVrb21tZW4uCkRpZSBuZXVlbiBUaGlua3BhZHMgaGFiZW4gJ1VsdHJhTmF2Jywgc3ByaWNoIFRyYWNrcG9pbnQgKyBUb3VjaHBhZC4gRGFzIGthbm4KbWFuIGRhIGFsc28gaGFsdGVuIHdpZSBlaW4gRGFjaGRlY2tlci4gOikKWndlaSBTYWNoZW4sIGF1ZiBkaWUgbWFuIGJlaSBJQk0gTGFwdG9wcyBhY2h0ZW4gc29sbHRlOiBOaWNodCBqZWRlcyBUaGlua3BhZAppc3QgaW4gZGVyIExhZ2UgZWluZW4gd2VpdGVyZW4gQWtrdSBpbSBVbHRyYWJheSBhdWZ6dW5laG1lbiAoYmVpIG1pciBpc3QgZGFzCmNyaXBwbGVkLCBlcyBmZWhsdCBfZWluXyBQaW4pIHVuZCB6d2VpdGVzIHNpbmQgVGhpbmtwYWRzIF9zZWhyXyB3YWVobGVyaXNjaAp3YXMgZGFzIFJBTSBiZXRyaWZmdCwgYWxzbyBiZWltIFJhbS1LYXVmIG1pdCBpbiBkZW4gTGFkZW4gc2NobGVwcGVuIG9kZXIgc28uLi4KCkFuc29uc3RlbiBoYWx0IGRhcyB1ZWJsaWNoZSBwcnVlZmVuOiBPYiBYZnJlZSBkZW4gR3JhZmlrY2hpcHNhdHogdW50ZXJzdHVldHp0CnVzdy4gTGFzcyAoenVtaW5kZXN0IG1vbWVudGFuKSBkaWUgRmluZ2VyIHZvbiBDZW50cmluby4gV2xhbiBmdW5rdGlvbmllcnQgbnVyCnVudGVyIFdpbmRvd3MuIERhcyBJREUtU3Vic3lzdGVtIHVuZCBhdWNoIGRlciBBR1AgbWFjaGVuIGFuZ2VibGljaCBQcm9ibGVtZS4uLgoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMYXB0b3AgZ2VzdWNodC4uLiAoWm9vaywgIDYuIE1haSAyMDAzLCAxNDozMjo0MSk6Cn4jISBybj1PZ28gcnQ9MTA1MjA1NDA1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUxODYzNzU5CkFuZ2VibGljaCBnaWJ0cyBtaXR0bGVyd2VpbGUgYXVjaCB3aWVkZXIgRnVzaS1TY2hsZXBwdG9wcyBtaXQgSm95c3RpY2suLgprZW5udCBkaWUgd2VyPyAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eC1Qcm9ibGVtIChaZXBoeXIsIDE0LiBNYWkgMjAwMywgMTQ6MDE6NDEpOgpIaSBpaHJzLAoKS2FubiBtaXIgamVtYW5kIHZlcnJhdGVuLCB3YXMgbWlyIGRpZSBGZWhsZXJtZWxkdW5nCiAgICAgICBsaW51eCBrZXJuZWw6ICBJL08gZXJyb3I6IGRldiAwODozMCwgc2VjdG9yIDAKc2FnZW4gd2lsbD8gRXJzY2hlaW50IGltbWVyIG5hY2ggZGVtIEVpbmxvZ2dlbiAoU3VzZSA4LjAgcHJvZi4sIGtkZTMpCldlbGNoZXMgVGVpbCB2ZXJ1cnNhY2h0IGRhcywgd2llIGtyaWVnIGljaCBkYXMgcmF1cz8KClp3ZWl0ZSBGcmFnZTogR2lidCBlcyBmdWVyIExpbnV4IGVpbiBQcm9ncmFtbSAoYWVobmxpY2ggd2llIFNjYW5kaXNrKSwKd2FzIGF1Y2ggemIgZGllIE9iZXJmbGFlY2hlbmludGVncml0YWV0IGRlciBGZXN0cGxhdHRlIHBydWVmdD8gTWlyCmlzdCBMaW51eCBzY2hvbiBtZWhyZmFjaCB6aWVtbGljaCB1bmdlbXVldGxpY2ggYWJnZXN0dWVyenQsIGxvc3QrZm91bmQKd2lyZCBpbW1lciBncm9lc3Nlci4uCgpGdWVyIElkZWVuIHVuZCBUaXBzIHNlaHIgZGFua2JhciwKQzQKClBTOiBXZWl0ZXJlIFJlY2huZXJkZXRhaWxzICYgbG9nZmlsZXMgYXVmIEFuZnJhZ2UsIGljaCB3b2xsdCBlcnN0IG1hbAp2b3JmdWVobGVuIG9iIHNpY2ggd2VyIGJlcnVmZW4gZnVlaGx0IG1pciB6dSBoZWxmZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXgtUHJvYmxlbSAoVmFyZGlvbiwgMTQuIE1haSAyMDAzLCAxNDoxNjowOCk6Cn4jISBybj1aZXBoeXIgcnQ9MTA1MjkxMzcwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUyOTEzNzAxCjA4OjMwIGJlZGV1dGV0IGRhcyBCbG9ja2dlcmFldCBtaXQgZGVyIE1ham9yIDggdW5kIGRlciBNaW5vciA0OCAoMzAgaGV4ID0gNDgKZGV6KS4KRWluIEJsaWNrIGluIC91c3Ivc3JjL2xpbnV4L0RvY3VtZW50YXRpb24vZGV2aWNlcy50eHQgZnVlaHJ0IHp1IC9kZXYvc2RkIC0KYWxzbyBkaWUgNC4gU0NTSS1GZXN0cGxhdHRlIGltIFN5c3RlbS4KV2VubiBEdSBrZWluZSBTQ1NJLWdlcmFldGUgaW0gU3lzdGVtIGhhc3QsIGlzdHMgdmVybXV0bGljaCBpcmdlbmQgZWluCklERS1nZXJhZXQsIGRhcyB1ZWJlciBkaWUgU0NTSS1FbXVsYXRpb24gYmV0cmllYmVuIHdpcmQuICJjYXQgL3Byb2Mvc2NzaS9zY3NpIgpvZGVyICJjZHJlY29yZCAtc2NhbmJ1cyIgaGlsZnQgd2VpdGVyLgpJL08gZXJyb3IgYmVkZXV0ZXQgaGFsdCBMZXNlL1NjaHJlaWJmZWhsZXIgYXVmIGRlbSBHZXJhZXQuIFZlcm11dGxpY2ggZWluCmRlZmVrdGVzIE1lZGl1bS4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eC1Qcm9ibGVtIChWYXJkaW9uLCAxNC4gTWFpIDIwMDMsIDE0OjIyOjAwKToKfiMhIHJuPVplcGh5ciBydD0xMDUyOTEzNzAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTI5MTM3MDEKRGllIEFudHdvcnQgYXVmIEZyYWdlIDIgaGF0dGUgaWNoIG5vY2ggdmVyZ2Vzc2VuOiBqYSwgbmVubnQgc2ljaCAiYmFkYmxvY2tzIi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhbmR5IChHcmltbWJvcm4sIDE1LiBNYWkgMjAwMywgMDE6Mzk6MzUpOgpEYSBpY2ggdm9uIEhhbmR5cyBhYmVyIGF1Y2ggdWViZXJoYXVwdCBrZWluZSBBaG51bmcgaGFiZSwgbW9lY2h0ZSBpY2ggaGllciB1bQpUaXBzIGZyYWdlbiBmdWVyOgoKYSkgUHJlaXMgc3BpZWx0IGtlaW5lIFJvbGxlLiBIYW5keSByZWljaHQsIHNvbGwvbXVzcyBrZWluIENvbW11bmljYXRvciB1bmQKICAgYXVjaCBrZWluIEthYmVsZmFyYmZlcm5zZWhlciBpbmtsdXNpdmUgc2Vpbi4KYikgVmVybnVlbmZ0aWdlcyBQcmVpcy9MZWlzdHVuZ3N2ZXJoYWVsdG5pcy4gV2ljaHRpZ3N0ZXMgS3JpdGVyaXVtOiAKICAgTW9lZ2xpY2hzdCBzdGFiaWxlcyB1bmQgbGVpc3R1bmdzZmFlaGlnZXMgRW1wZmFuZ3N2ZXJoYWx0ZW4uIFdBUCBzb2xsdGUKICAgc2VpbiwgR1BSUyB1bmQgd2FzIGVzIHNvIGdpYnQgc2luZCBlaW4ga2xlaW5lcyBQbHVzLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFuZHkgKFNhcmtvbiwgMTUuIE1haSAyMDAzLCAxNzowOTozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA1Mjk1NTU3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUyOTU1NTc1CkFsc28gZGFzIEVtcGZhbmdzdmVyaGFsdGVuIGhhZW5ndCBlaGVyIHZvbSBBbmJpZXRlciB1bmQgZGVyIE5ldHphYmRlY2t1bmcgYWIsCm9kZXI/IEJlaSBkZW4gaGV1dGlnZW4gSGFuZHlzIHdpcmQgZXMgZGEga2VpbmUgZ3Jvc3NlbiBVbnRlcnNjaGllZGUgbWVocgpnZWJlbi4gQW5zb25zdGVuIGVtcGZlaGxlIGljaCBlaW4gU2llbWVucywgZGFzIG5ldWUgUzU1IGlzdCBlYmVuIG1pdCB2aWVsZW4KRXh0cmFzIHVzdywgd2VubiBEdSBkYXMgYWxsZXMgbmljaHQgYnJhdWNoc3QgZGFzIE00NS4gRXh0cmVtIHN0YWJpbGVzCk91dGRvb3JoYW5keSBtaXQgZ3V0ZXIgT3B0aWssIEdQUlMgdW5kIGRlbSBnYW56ZW4gS3JhbSB1bmQgdmVyZ2lidCBEaXIgYWxsZQp1bmFuZ2VtZXNzZW5lbiBBcnRlbiBtaXQgaWhtIHVtenVnZWhlbiA6KQpTYXJrb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRydWNrZXIgZnVlciBMaW51eCAoVmFuaW9uLCAxNi4gTWFpIDIwMDMsIDA3OjE1OjEzKToKSGksCgppY2ggc3VjaGUgbmFjaCBlaW5lbSBuZXVlbiBEcnVja2VyLiBJbSB1bnRlcmVuIFByZWlzc2VnbWVudC4gKERlciBpcyBudXIsIHVtCmdlbGVnZW50bGljaCBtYWwgZWluZSBTZWl0ZSBhbHMgRXJpbm5lcnVuZ3NzdHVldHplIHp1IGRydWNrZW4uKSBQcm9ibGVtIGRhYmVpCmlzdCwgZGFzcyBpbiBkaWVzZW0gUHJlaXNzZWdtZW50IHNjaGVpbmJhciBudXIgVVNCLURydWNrZXIgZXhpc3RpZXJlbi4gRGF6dQptZWluZSBGcmFnZS4gU3RlbGx0IGRhcyB1bnRlciBMaW51eCBlaW4gUHJvYmxlbSBkYXIsIGdpYnQgZXMgbWVociwgZGFzcyBpY2gKYmVhY2h0ZW4gc29sbHRlPyAoQXVjaCA2MCBFdXJvIG1hZyBpY2ggbmljaCB6dW0gRmVuc3RlciByYXVzd2VyZmVuKSBHaWJ0IGVzCmRhYmVpIFByb2JsZW1lIG1pdCBDVVBTPwoKRGFua2Ugc2Nob24gaW0gVm9yYXVzIGZ1ZXIgZGllIEhpbGZlLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcnVja2VyIGZ1ZXIgTGludXggKFBhdHJ5biwgMTYuIE1haSAyMDAzLCAwOToxOTo1OSk6Cn4jISBybj1WYW5pb24gcnQ9MTA1MzA2MjExMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUzMDYyMTEzCkRhcyBzZWxiZSBQcm9ibGVtIGhhYiBpY2ggYXVjaCA6KQpVbmQgaWNoIGhhZXR0IHNvZ2FyIGdlcm4gbmVuIExhc2VyZHJ1Y2tlciwgbnVyIHNpbmQgZGllIGltIGJpbGxpZ2VyZW4KQmVyZWljaCBuYWhlenUgYWxsZSBtaXQgZGllc2UgV2luZG93cyBHREktU2Nobml0dHN0ZWxsZSA6KAoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERydWNrZXIgZnVlciBMaW51eCAoSm9zaHVhLCAxNi4gTWFpIDIwMDMsIDEwOjE4OjEwKToKfiMhIHJuPVZhbmlvbiBydD0xMDUzMDYyMTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTMwNjIxMTMKSGkgVmFuaW9uLApudXIgbWFsIHNvIGFscyBFcmZhaHJ1bmdzYmVyaWNodCAuLi4gSWNoIGhhYiBuZW4gSFAgRGVza2pldCA5MzBDIChkZXIgaGF0IFVTQgp1bmQgUGFyYWxsZWwsIHdhciBnbGF1YiBpY2ggYWJlciBhdWNoIGVoZXIgbWl0dGxlcmVzIFByZWlzc2VnbWVudCkuIEplZGVuZmFsbHMKbGFldWZ0IGRlciBiZWkgbWlyIHByb2JsZW1sb3MgdWViZXIgVVNCIHVuZCBtaXQgY3Vwc2QuIE1pdHRsZXJ3ZWlsZSBiZW51dHogaWNoCm5lbiBQcmludHNlcnZlciBkYXp3aXNjaGVuLCBhYmVyIHZvcmhlciBoYXR0ZSBpY2ggZGVuIGRpcmVrdCBhbmdlc2NobG9zc2VuIC4uLgpTb2xsdGUgYWxzbyBnZWhlbiAtIGRlbmtlIHdlbm4gRHUgc2ljaGVyIGdlaGVuIHdpbGxzdCBndWNrc3QgRHUgbWFsIGluIGRpZQplbnRzcHJlY2hlbmRlIExpc3RlIG1pdCB1bnRlcnN0dWV0enRlciBIYXJkd2FyZT8hPwoKR3J1ZXNzZSwKSm9zaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEcnVja2VyIGZ1ZXIgTGludXggKE9nbywgMTYuIE1haSAyMDAzLCAxNzoxMzozNCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA1MzA2OTU5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUzMDYyMTEzClRqYSB3YXMgaXN0ICdiaWxsaWdlcmVyIEJlcmVpY2gnLCBiZWkgZGVuIGdhbnogYmlsbGlnZW4gRHJ1Y2tlcm4gemFobHQgbWFuCnNpY2ggaGludGVyaGVyIGFuIFRpbnRlL1RvbmVyIGR1bW0gdW5kIGRhZW1saWNoLgpNaXQgZGVtIEt5b2NlcmEgMTAxMCBiaW4gaWNoIHNlaHIgenVmcmllZGVuLCBlciBpc3QgaW4gZGVyIEFuc2NoYWZmdW5nIGV0d2FzCnRldXJlciwgZGFmdWVyIGhhdCBlciBkaWUgYmlzIGRhdG8gbmllZHJpZ3N0ZW4gRHJ1Y2tvc3RlbjsgZXIga2FubiBuYXRpdgpQb3N0c2NyaXB0IHVuZCBsYWV1ZnQgdW50ZXIgV2luZG93cywgTGludXgsIE1hY09TLgpCZWkgYmlsbGlnZW4gVGludGVuc3RyYWhsZHJ1Y2tlcm4gc29sbHRlIG1hbiBiZWRlbmtlbiwgZGFzcyBhdWNoIGJlaSB3ZW5pZwpEcnVja3ZvbHVtZW4gZGllIFRpbnRlIGRvY2ggdGV1ZXIgd2VyZGVuIGthbm47IHdlaWwgbWFuIGRpZSBLYXJ0dXNjaGVuIGkuZC5SLgpuYWNoIFggVGFnZW4gb2RlciBYIFNlaXRlbiBhdXN3ZWNoc2VsbiBtdXNzIChqZSBuYWNoZGVtLCB3YXMgenVlcnN0IGVycmVpY2h0CndpcmQpLiAKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEcnVja2VyIGZ1ZXIgTGludXggKFBhdHJ5biwgMTYuIE1haSAyMDAzLCAyMDozNzoxOSk6Cn4jISBybj1PZ28gcnQ9MTA1MzA5ODAxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDUzMDYyMTEzCk5hIDQwMCBFdXJvIGZ1ZXIgZGVuIERydWNrZXIgc2luZCBhYmVyIG5lIE1lbmdlIEhvbHosIGRhIHNjaHJlaWIgaWNoIGRhcwpaZXVnIGxpZWJlciBwZXIgSGFuZCB2b20gQmlsZHNjaGlybSBhYiA7KQoKLS0gClBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRHJ1Y2tlciBmdWVyIExpbnV4IChWYW5pb24sIDE4LiBNYWkgMjAwMywgMTc6NDA6NTkpOgp+IyEgcm49UGF0cnluIHJ0PTEwNTMxMTAyMzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MzA2MjExMwpWYW5pb24gZGV1dGV0IGF1ZiBQYXRyeW4uCgpEYXMgaXMgZ2VuYXUgZGFzIFByb2JsZW0uIEVpbiBMYXNlciBsb2hudCBzaWNoIGJlaSA1MCBTZWl0ZW4vSmFociBlaW5mYWNoCm5pY2h0IC4uLiB1bmQgZGFzIGlzdCBldHdhIGRhcyBWb2x1bWVuIGRhcyBpY2ggaGFiZS4KCkRhbmtlIGFiZXIgc2Nob25tYWwgZnVlciBkaWUgSGlud2Vpc2UuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRHJ1Y2tlciBmdWVyIExpbnV4IChHcmltbWJvcm4sIDE4LiBNYWkgMjAwMywgMTc6NTI6MzkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNTMyNzI0NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MzA2MjExMwpCZWkgNTAgU2VpdGVuL0phaHIgYnJlbm5zdCBEdSBkYXMgLnBzIGF1ZiBDRCB1bmQgZ2Voc3QgZGFtaXQgenVtIENvcHlzaG9wCkRlaW5lcyBWZXJ0cmF1ZW5zLCBkZXIgRGlyIGRhcyBmdWVyIDEwIGN0L1NlaXRlIGF1c2RydWNrdC4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERydWNrZXIgZnVlciBMaW51eCAoVmFuaW9uLCAxOC4gTWFpIDIwMDMsIDE4OjAyOjUxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDUzMjczMTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTMwNjIxMTMKRHVtbWVyd2Vpc2UgaXN0IGZhc3QgaW1tZXIgZGFubiwgd2VubiBpY2ggc2NobmVsbCBtYWwgd2FzIGRydWNrZW4gd2lsbCBrZWluCkNvcHktU2hvcCBvZmZlbi4gV2VubiBlcyB0YXRzYWVjaGxpY2ggbWFsIGVpbmVuIGdyb2Vzc2VyZW4gRHJ1Y2thdWZ0cmFnIGhhYmUsCmRlbiBpY2ggcGxhbmVuIGthbm4sIGhhYiBpY2ggbm9jaCBhbmRlcmUgTW9lZ2xpY2hrZWl0ZW4uCgpEZXIgbmV1ZSBEcnVja2VyIGlzIGVpZ2VudGxpY2ggbnVyIGRhZnVlciBkYSwgbWFsIHNjaG5lbGwgZWluZSBXZWJzaXRlIChFaW5lCldlZ2Jlc2NocmVpYnVuZyB6dW0gQmVpc3BpZWwpLCBvZGVyIGVpbmVuIENvZGVzY2huaXBzZWwgYXVzenVkcnVja2VuLiBEYWhlcgpoYWIgaWNoIGF1Y2ggbmljaHQgZGVuIHVuZ2xhdWJsaWNoZW4gRHJ1Y2tiZWRhcmYuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNjZXNzIDIwMDAgKFZhbmlvbiwgMjAuIE1haSAyMDAzLCAxODo1MTo1Nik6CkljaCBoYWJlIGRhcyBncm9zc2UgR2x1ZWNrLCBlaW5lIGJlc3RlaGVuZGUgQWNjZXNzIDIwMDAgRGF0ZW5iYW5rCnVlYmVyYXJiZWl0ZW4genUgZHVlcmZlbiB1bmQgZnVua3Rpb25hbCB6dSBlcndlaXRlcm4uIE1laW4gZXJzdGVyIEJsaWNrIGluIGRhcwpEYXRlbm1vZGVsbCBsYWVzc3Qgc2NobGltbWVzIGFobmVuLiAKCkRpZSBEYXRlbmJhbmsgc29sbCBuaWNodCB2aWVsIGtvZW5uZW4sIG51ciBzb2xsIG1hbiBlaW4gcGFhciBSZWxhdGlvbmVuIHBlcgpGcm9udCBlbmQgZWludHJhZ2VuIGtvZW5uZW4sIGRhbm4gc29sbGVuIGVpbiBwYWFyIFJhbmRiZWRpbmd1bmdlbiBkZXIgQXJ0CiJXZW5uIGRpZXNlIFZlcmtudWVwZnVuZyBiZXN0ZWh0LCBtdXNzIGF1Y2ggZm9sZ2VuZGUgZXJzdGVsbHQgd2VyZGVuIgphdWZnZWxvZXN0IHdlcmRlbiB1bmQgc2NobHVzc2VuZGxpY2ggZWluIFJlcG9ydCBpbiBGb3JtIG1laHJlcmVyIFRleHRkYXRlaWVuCmF1c2dlZ2ViZW4gd2VyZGVuLgoKRGFzIFN5c3RlbSBsYWV1ZnQgbnVyIGFsbGUgcGFhciBXb2NoZW4gZWlubWFsLCBkYSBlcyBudXIKUGFyYW1ldHJpc2llcnVuZ3NkYXRlbiBmdWVyIGFuZGVyZSBTb2Z0d2FyZSBsaWVmZXJuIHNvbGwuIFNvbmRlcmxpY2ggYXVmCkdlc2Nod2luZGlna2VpdCBvcHRpbWllcnQgbXVzcyBkaWUgRGF0ZW5iYW5rIGFsc28gbmljaHQgc2Vpbi4KCk51biBtZWluZSBlaWdlbnRsaWNoZSBGcmFnZTogS2VubnQgamVtYW5kIGVpbiBicmF1Y2hiYXJlcyBCdWNoLCBtaXQgZGVtIGljaAptaWNoIGluIGRpZSBQcm9ncmFtbWVydW5nIHZvbiBBY2Nlc3MgMjAwMC1EQmVuIHNvd2VpdCBlaW56dWxlc2VuLCB1bSBzb3dhcwpoaW56dWtyaWVnZW4/IEljaCBoYWIgZWluIHdlbmlnIFByb2dyYW1taWVyZXJmYWhydW5nLCBzbyBkYXNzIGljaCBkZW5rZSwgZGFzCmVzIGtlaW4gYnJ1dGFsZXMgQW5mYWVuZ2VyLUJ1Y2ggc2VpbiBtdXNzLgoKVioKUFM6IEJpdHRlIGVyc3BhcnQgbWlyIEZyYWdlbiwgd2FydW0gaWNoIEFjY2VzcyBuZWhtZSwgaWNoIGJpbiBhdWNoIG5pY2h0CmJlZ2Vpc3RlcnQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFjY2VzcyAyMDAwIChNdWFkaWIsIDIwLiBNYWkgMjAwMywgMjA6MDk6NDcpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNTM0NDk1MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1MzQ0OTUxNgpobW0gaXN0IGxhZW5nZXIgaGVyIGRhc3MgaWNoIG1pdCBhY2Nlc3MgenUgdHVuIGhhdHRlLiBkYW1hbHMga29ubnRlIG1hbiBlcyBtaXQKZWluZW0gdW0gbXMtZWxlbWVudGUgZXJ3ZWl0ZXJ0ZW4gc3FsIGZ1ZXR0ZXJuIHVuZCBzb21pdCBkaWUgZnVlciBtZWluZW4KZ2VzY2htYWNrIGRhbWFscyByZWNodCB2ZXJ3aXJyZW5kZSBndWkgd2VpdGVzdGdlaGVuZCB1bWdlaGVuLiB2aWVsbGVpY2h0CmJlc3RlaHQgZGllIG1vZWdsaWNoa2VpdCBpbW1lciBub2NoLgoKYW5zb25zdGVuIHd1ZXJkZSBpY2ggbWFsIGVtcGZlaGxlbiBkaWUgd2Vya2UgZGVyIG1pY3Jvc29mdCBwcmVzcyB6dSByYXRlIHp1CnppZWhlbiBvZGVyIHZpZWxsZWljaHQgenUgc2NoYXVlbiBvYiBlcyBub2NoIHdhcyB2b24gd3JveCBnaWJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVkFYL1ZNUyAoV2hpdGV0aWdlciwgIDMuIEp1biAyMDAzLCAxODozNDowMSk6Cktlbm50IGplbWFuZCBlaW5lbiBPbmxpbmUtWnVnYW5nIC8gU2hlbGwtQWNjb3VudCB6dSBlaW5lciBWQVgvVk1TPyBJY2ggd3VlcmRlCmRhbWl0IGdlcm5lIG1hbCBlaW4gYmlzc2NoZW4gInNwaWVsZW4iIC8gcnVtcHJvYmllcmVuLCBhYmVyIG5pb2NodCB1bmJlZGluZ3QKZ2xlaWNoIG5lIE1pY3JvVkFYIG9kZXIgc293YXMga2F1ZmVuLi4uIEZycmVlVk1TIHNjaGVpbnQgYXVjaCBudXIgZnVlciBJQSAgNjQKLyBBbHBoYSAvIFZBWCB6dSBsYXVmZW4uLi4KCldoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWQVgvVk1TIChDYWxkcmluLCAgNC4gSnVuIDIwMDMsIDAxOjQ4OjE1KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA1NDY1ODA0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU0NjU4MDQxCmh0dHA6Ly92bXNib3guY2piLm5ldAoKSFRIIENhbGRyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVkFYL1ZNUyAoV2hpdGV0aWdlciwgIDQuIEp1biAyMDAzLCAxNTowNzo0Myk6Cn4jISBybj1DYWxkcmluIHJ0PTEwNTQ2ODQwOTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NDY1ODA0MQpDb29sLCBkYW5rZSEKCldUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoVmFyZGlvbiwgMTEuIEp1biAyMDAzLCAxMDowNDowNyk6CkhpLgoKSWNoIGhhYmUgZm9sZ2VuZGVzIFByb2JsZW06IGluIFB5dGhvbiBrYW5uIG1hbiBqYSBnZW9lZm5ldGUgRmlsZXMgbWl0CmZvci1TY2hsZWlmZW4gWmVpbGVud2Vpc2UgZHVyY2hsYXVmZW46Cgpmb3IgbGluZSBpbiBteWZpbGU6CiAgZG9fd2hhdGV2ZXIobGluZSkKCk51bSBtb2VjaHRlIGljaCBkaWUgQmVhcmJldHVuZyBkZXMgRmlsZXMgdWViZXIgbWVocmVyZSBTY2hsZWlmZW4gdmVydGVpbGVuLgpNZWluZSBlcnN0ZSBLb25zdHJ1a3Rpb24gc2FoIHdpZSBmb2xnc3QgYXVzOgoKZm9yIGxpbmUgaW4gbXlmaWxlOgogIG1hY2hfaXJnZW5kd2FzCiAgaWYgbGluZSA9PSAid2FzX2Jlc3RpbW10ZXMiOiBicmVhawoKZm9yIGxpbmUgaW4gbXlmaWxlOgogIG1hY2hfd2FzYW5kZXJlcwoKZGllIHp3ZWl0ZSBTY2hsZWlmZSBzb2xsIG51biBpbiBkZW0gRmlsZSBnZW5hdSBhbiBkZXIgWmVpbGUgd2VpdGVybWFjaGVuLCBhbgpkZXIgU2NobGVpZmUgMSBhYmdlYnJvY2hlbiBpc3QuIEdlbmF1IGRhcyBwYXNzaWVydCBhYmVyIG5pY2h0LCBTY2hsZWlmZSAyCmJla29tbXQgdm9uIGRlbSBGaWxlIGdhcm5peCBtZWhyIHp1IHNlaGVuLgoKTW9tZW50YW4gaGFiZSBpY2ggZGFzIFByb2JsZW0gd2llIGZvbGdzdCBnZWxvZXN0OgoKbGluZXMgPSBteWZpbGUucmVhZGxpbmVzKCkKCmZvciBpIGluIHhyYW5nZShsZW4obGluZXMpKToKICBsaW5lID0gbGluZXMucG9wKDApCiAgbWFjaF9pcmdlbmR3YXMKICBpZiBsaW5lID09ICJ3YXNfYmVzdGltbXRlcyI6IGJyZWFrCgpmb3IgaSBpbiB4cmFuZ2UobGVuKGxpbmVzKSk6CiAgbGluZSA9IGxpbmVzLnBvcCgwKQogIG1hY2hfd2FzYW5kZXJlcwoKRGFzIGZ1bmt0aW9uaWVydCBzbyB6d2FyIHdpZSBnZXd1ZW5zY2h0LCBhbGxlcmRpbmdzIGZpbmRlIGljaCBkYXMgbmljaHQgZ2VyYWRlCmVsZWdhbnQuIEdlaHQgZGFzIGF1Y2ggaXJnZW5kd2llIGVpbmZhY2hlci9zY2hvZW5lcj8KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoTXVhZGliLCAxMS4gSnVuIDIwMDMsIDEwOjIwOjQzKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA1NTMxODY0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1MzE4NjQ3CnNldHogZG9jaCBlaW4gZmxhZyBiZWkgIndhcyBiZXN0aW1tdGVzIiB1bmQgYXJiZWl0ZSBhbmRlcnMgaW4gc2NobGVpZmUgMiB3ZW5uCmRpZXNlcyBmbGFnIGdlc2V0enQgaXN0LiBkYW1pdCBicmFldWNodGVzdCBkdSBudXIgZWluZSBzY2hsZWlmZS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFB5dGhvbjogZmlsZSBtaXQgbWVocmVyZW4gU2NobGVpZmVuIGR1cmNobGF1ZmVuIChWYXJkaW9uLCAxMS4gSnVuIDIwMDMsIDEwOjI4OjIyKToKfiMhIHJuPU11YWRpYiBydD0xMDU1MzE5NjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTUzMTg2NDcKS2xhci4gQWJlciBkYW5uIG11ZXNzdGUgaWNoIGluIGplZGVtIER1cmNobGF1ZiBkYXMgRmxhZyBuZXUgdGVzdGVuLCB3YXMgaWNoCm5pY2h0IHVuYmVkaW5ndCBlbGVnZW50ZXIgZmluZGUuLi4KV2llc28ga2FubiBzaWNoIHB5dGhvbiBpbiBzZWluZW4gRmlsZWR1cmNobGFldWZlbiBiZWltIEFiYnJ1Y2ggbmljaHQgZWluZmFjaApkaWUgRmlsZXBvc2l0aW9uIG1lcmtlbiwgc28gd2llIGRhcyB6LkIuIFBlcmwgdHV0Li4uCgpFaW5lIEFsdGVybmF0aXZlLCBkaWUgbWlyIG5vY2ggZWluZ2VmYWxsZW4gaXN0OgoKbGluZSA9IG15ZmlsZS5yZWFkbGluZQp3aGlsZSBsaW5lOgogIG1hY2hfaXJnZW5kd2FzCiAgbGluZSA9IG15ZmlsZS5yZWFkbGluZQoKRGFubiBoYWV0dGUgbWFuIGJlaW0gQWJicnVjaCBkZXIgV2hpbGVzY2hsZWlmZSBkaWUgRmlsZXBvc2l0aW9uIGdlc2ljaGVydCwgdW5kCmtvZW5udGUgaW4gZWluZXIgd2VpdGVyZW4gU2NobGVpZmUgd2VpdGVybWFjaGVuLgpLYW5uIG1hbiBpbiBweXRob24gaXJnZW5kd2llIGdsZWljaCBkaWUgWnV3ZWlzdW5nIG1pdCBpbiBkZW4gS29wZiBkZXIKV2hpbGUtU2NobGVpZmUgcGFja2VuPwoKU2NoaWNrIHdhZXJlIHouQi4gZXR3YXMgd2llOgoKd2hpbGUgKGxpbmUgPSBteWZpbGUucmVhZGxpbmUoKSk6CiAgbWFjaF9pcmdlbmR3YXMKClZhcmRpb24KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoTXVhZGliLCAxMS4gSnVuIDIwMDMsIDEwOjQ5OjQ1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA1NTMyMDEwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1MzE4NjQ3CmFsc28gZHUga2FubnN0IGplZGVyemVpdCBhbiBlaW5lIGJlc3RpbW10ZSBwb3NpdGlvbiBzcHJpbmdlbiBtaXQgInNlZWsiLiBkaWUKYWt0dWVsbGUgcG9zaXRpb24gZXJoYWVsdHN0IGR1IG1pdCAidGVsbCIuCmRpZSBiZWRpbmd1bmcgaW4gZGVyIHdoaWxlc2NobGVpZmUgc29sbHRlc3QgZHUgYmVrb21tZW4gaW5kZW0gZHUgenV3ZWlzdCB1bmQKZGFzIGVyZ2VibmlzIGdlZ2VuIGVpbmVuIGxlZXJzdHJpbmcgcHJ1ZWZzdC4KaG9wZSB0aGF0IGhlbHBzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoVmFyZGlvbiwgMTEuIEp1biAyMDAzLCAxMDo1MjozNSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NTMyMTM4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1MzE4NjQ3Cldlbm4gZGFzIEZpbGUgLSB3aWUgaW4gbWVpbmVtIEZhbGwgLSBlaW5lIFBpcGUgaXN0LCBmYWVsbHQgc2VlayBhYmVyIHNjaG9ubWFsCndlZy4KV2llIGdlbmF1IG1laW5zdCBkdSBkYXMgbWl0IGRlciBXaGlsZS1TY2hsZWlmZT8gU2NocmVpYiBkYSBtYWwgYml0dGUgMi0zClplaWxlbiBDb2RlLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHl0aG9uOiBmaWxlIG1pdCBtZWhyZXJlbiBTY2hsZWlmZW4gZHVyY2hsYXVmZW4gKE11YWRpYiwgMTEuIEp1biAyMDAzLCAxMTowNjoxMCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTUzMjAxMDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NTMxODY0NwpkdSBoYXR0ZXN0IGRhcyBkb2NoIHNjaG9uIGRhc3RlaGVuOiB3aGlsZSAobGluZT1teWZpbGUucmVhZGxpbmUoKSkKZGFzIHNvbGx0ZSBnZWhlbiwgZmFsbHMgbmljaHQgcGFjayBlcyBpbiBlaW5lIGxhbWJkYSwgZGFzIHNvbGx0ZSBzY2hvbiBnZWhlbi4KYWJlciBmcmFnIG1pY2ggbmljaHQgbmFjaCBiZWlzcGllbGVuLiBpY2ggZ2VoIG51ciBhbGxlIG5hc2xhbmcgbWFsIGFuIHB5dGhvbgpyYW4Kd2VubiBkdSBuaWNodCB6dXZpZWxlIHplaWxlbiBoYXN0IHVuZCBzZWVrIHdpZSBpbiBkZWluZW0gZmFsbCBuaWNodCB2ZXJ3ZW5kZW4Ka2FubnN0LCB3aWUgd2FlcmUgZXMgZGFubiBtaXQgInJlYWRsaW5lcyIgYW5zdGF0dCAicmVhZGxpbmUiIHVuZCBkYW5uIHVlYmVyCmRhcyBlcmdlYm5pcyBpdGVyaWVyZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoV2hpdGV0aWdlciwgMTEuIEp1biAyMDAzLCAxMjoyNjowMSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NTMyMjM3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1MzE4NjQ3CkFsc28gbWl0IExhbWJkYXMgZ2VodHMgbmljaHQsIGljaCBoYWIgYWJlciBmb2xnZW5kZXMgdW50ZXIgUHl0aG9uIDIuMS4zIHp1bQpMYXVmZW4gZ2VicmFjaHQgKHZsbHQuIGZ1bnp0IExhbWJkYXMvLi4uIHVudGVyIFB5dGhvbiA+Mi4yLi4uKToKCmRlZiBnZXRsaW5lKCk6CiAgZ2xvYmFsIGxpbmUKICBsaW5lID0gcmF3X2lucHV0KCkKICByZXR1cm4gbGluZQp3aGlsZSBnZXRsaW5lKCk6CiAgbWFjaF9pcmdlbmR3YXNfbWl0KGxpbmUpCgouLi4KSWNoIGdsYXViZSwgZGFzcyBLb25zdHJ1a3RlIHdpZSBpZigoYT1mdW5jKCkpe30gb2RlciB3aGlsZShiPXJlYWRsaW5lKCkpe30gd2llCmluIEMgKG9kZXIgYXVjaCBQZXJsKSBuaWNodCBmdW5rdGlvbmllcmVuLgoKTWVpbiBUaXAgd2FlcmUgZm9sZ2VuZGVzOgoKbGluZSA9IGYucmVhZGxpbmUoKQp3aGlsZSBsaW5lICE9IHdhc19iZXN0aW1tdGVzOgogIG1hY2hfaXJnZW5kd2FzKGxpbmUpCiAgbGluZSA9IGYucmVhZGxpbmUoKQoKT2RlciBzb3dhcyBpbiBkZXIgQXJ0LgoKRWluZSBhbmRlcmUsIG5pY2h0IHdpcmtsaWNoIGdldGVzdGV0ZSBNb2VnbGljaGtlaXQgd2FlcmUgZGFzOgoKbGluZXMgPSBmLnJlYWRsaW5lcygpCmZvciBuIGluIHhyYW5nZShsaW5lcy5pbmRleCh3YXNfYmVzdGltbXRlcykpOgogIG1hY2hfZXR3YXMobGluZXNbbl0pCmZvciBuIGluIHhyYW5nZShsaW5lcy5pbmRleCh3YXNfYmVzdGltbXRlcyksbGVuKGxpbmVzKSk6CiAgbWFjaF93YXNfYW5kZXJzKGxpbmVzW25dKQoKCldoaXRlVGlnZXIsIHdpbGQgcnVtcHJvYmllcmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUHl0aG9uOiBmaWxlIG1pdCBtZWhyZXJlbiBTY2hsZWlmZW4gZHVyY2hsYXVmZW4gKFZhcmRpb24sIDExLiBKdW4gMjAwMywgMTQ6MTU6MTUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDU1MzI3MTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTUzMTg2NDcKTGFtYmRhcyBzaW5kIHp1bSBMb2VzZW4gZGllc2VzIFByb2JsZW1zIG5pY2h0IGdlZWlnbmV0LiBNYW4ga2FubiBpbiBMYW1kYXMgbnVyCkF1c2RydWVja2UgdmVyd2VuZGVuLCBhYmVyIGtlaW5lIEFud2Vpc3VuZ2VuLgpEYXMgZ2V0bGluZSBmdW5rdGlvbmllcnQgc2ljaGVyLCBsZWlkZXIgaGFuZGVsdCBtYW4gc2ljaCBkYW1pdCBhYmVyIGVpbmUKZ2xvYmFsZSBWYXJpYWJsZSBlaW4uCgpEYXMgZGllIFZhcmlhbnRlICJNZWluIFRpcCB3YWVyZSBmb2xnZW5kZXM6IiBiYXV0IGltIFByaW56aXAgbWl0IEhpbGZlIHZvbgpXaGlsZSBlaW5lIGZvci1TY2hsZWlmZSBuYWNoLCB1bmQgc2NoZWludCBtaXIgZGllIGJlc3RlIExvZXN1bmcuIFNvd2FzIGhhdHRlCmljaCBqYSBpbiBBcnRpa2VsIDggc2Nob24gZXJ3YWVobnQuCgpOYWphLCBlaW5lIHJpY2h0aWcgc2NoaWNrZSBMb2VzdW5nIHNjaGVpbnQgd29obCBpbiBQeXRob24gbmljaHQgbW9lZ2xpY2ggenUKc2VpbiwgZGFmdWVyIHNpbmQgZGllIE1vZWdsaWNoa2VpdGVuIGRlciBiZWlkZW4gdm9yaGFuZGVuZW4gU2NobGVpZmVudHlwZW4KKGZvciB1bmQgd2hpbGUpIGVpbmZhY2ggenUgYmVzY2hyYWVua3QgOi0vCgpWYXIgImRhcyBuYWVjaHRlIG1hbCBkb2NoIHdpZWRlciBpbiBQZXJsIiBkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoTXVhZGliLCAxMS4gSnVuIDIwMDMsIDE0OjMwOjQ2KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA1NTMzMzcxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1MzE4NjQ3CmhtbSBuYWNoIGRlciBkb2t1IGZ1bmt0aW9uaWVyZW4genV3ZWlzdW5nZW4gaW4gZGVyIGxvb3Bjb25kaXRpb24uIGljaCB0ZXN0ZQptYWwgYmVpIGdlbGVnZW5oZWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUHl0aG9uOiBmaWxlIG1pdCBtZWhyZXJlbiBTY2hsZWlmZW4gZHVyY2hsYXVmZW4gKFZhcmRpb24sIDExLiBKdW4gMjAwMywgMTQ6MzQ6MDgpOgp+IyEgcm49TXVhZGliIHJ0PTEwNTUzMzQ2NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NTMxODY0NwpJbSBwcmFrdGlzY2hlbiB2ZXJzdWNoIGFiZXIgbmljaHQgOykKCj4+PiB3aGlsZSBhPTE6CiAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMQogICAgd2hpbGUgYT0xOgogICAgICAgICAgIF4KU3ludGF4RXJyb3I6IGludmFsaWQgc3ludGF4Cj4+PiB3aGlsZSAoYT0xKToKICBGaWxlICI8c3RkaW4+IiwgbGluZSAxCiAgICB3aGlsZSAoYT0xKToKICAgICAgICAgICAgXgpTeW50YXhFcnJvcjogaW52YWxpZCBzeW50YXgKCkVudHdlZGVyIGVzIGdlaHQgbmljaHQsIG9kZXIgaWNoIGZpbmRlIGRpZSBkYXp1IG5vZXRpZ2UgU3ludGF4IG5pY2h0Li4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoV2hpdGV0aWdlciwgMTEuIEp1biAyMDAzLCAxNDo0MTo1NSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTUzMzQ4NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NTMxODY0NwpJbiBkZXIgTGFuZ3VhZ2UgUmVmZXJlbmNlIGhhYiBpY2ggZ3JhZCBub2NoIHdhcyBpbnRlcmVzc2FudGVzIGdlZnVuZGVuOgp3aGlsZSA8ZXhwcmVzc2lvbj46CiAgPHN1aXRlPgplbHNlOgogIDxzdWl0ZT4KClZpZWxsZWljaHQgaGlsZnQgZGFzIGhpZXI/CgpXaGl0ZVRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHl0aG9uOiBmaWxlIG1pdCBtZWhyZXJlbiBTY2hsZWlmZW4gZHVyY2hsYXVmZW4gKE9nbywgMTEuIEp1biAyMDAzLCAyMDozOTozMCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNTUzMTg2NDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NTMxODY0NwpIbW0sIGljaCBoYWIgdm9uIFB5dGhvbiB1ZWJlcmhhdXB0IGtlaW5lIEFobnVuZywgYWJlciBhdWNoIG1hbCBnZXJhZCcKcnVtcHJvYmllcnQuLi4KCkRhcyB3aWxsc3QgRHUgaGFiZW46CmZvciBsaW5lIGluIG15ZmlsZToKICBtYWNoX2lyZ2VuZHdhcwogIGlmIGxpbmUgPT0gIndhc19iZXN0aW1tdGVzIjogYnJlYWsKCmZvciBsaW5lIGluIG15ZmlsZToKICBtYWNoX3dhc2FuZGVyZXMKCgpEYXMgZnVua3Rpb25pZXJ0IGJlaSBtaXI6CiQgZm9yIGkgaW4gYHNlcSAxIDk5YCA7IGRvIGVjaG8gJGkgPj4gL3RtcC9weXRob24udHh0O2RvbmUKJCBjYXQgZmlsZS5weQojIS91c3IvYmluL3B5dGhvbgppbXBvcnQgeHJlYWRsaW5lcwppbnB1dCA9IG9wZW4oIi90bXAvcHl0aG9uLnR4dCIpCnM9eHJlYWRsaW5lcy54cmVhZGxpbmVzKGlucHV0KQpmb3IgbGluZSBpbiBzOgogICAgaWYgbGluZS5maW5kKCI5NSIpICE9IC0xOgogICAgICAgYnJlYWsKCmZvciBsaW5lIGluIHM6CiAgICBwcmludCBsaW5lWzotMV0KaW5wdXQuY2xvc2UoKQokIC4vZmlsZS5weQo5Ngo5Nwo5OAo5OQoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFB5dGhvbjogZmlsZSBtaXQgbWVocmVyZW4gU2NobGVpZmVuIGR1cmNobGF1ZmVuIChWYXJkaW9uLCAxMi4gSnVuIDIwMDMsIDAxOjAzOjA2KToKfiMhIHJuPU9nbyBydD0xMDU1MzU2NzcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTUzMTg2NDcKQWxzbyBtaXQgeHJlYWRsaW5lcyBmdW5rdGlvbmllcnQgZGllIHNhY2hlIHd1bmRlcmJhci4gSW4gUHl0aG9uIDIuMyB3aXJkIGVzCndvaGwgZGFubiBhdWNoIG1pdCBkZW0gbm9ybWFsZW4gImZvciBsaW5lIGluIGZpbGUiIGZ1bmt0aW9uaWVyZW4uIFp1bWluZGVzdApzdGVodCBzb3dhcyBpbSBDaGFuZ2VMb2cuCgpEYW5rZSwKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQeXRob246IGZpbGUgbWl0IG1laHJlcmVuIFNjaGxlaWZlbiBkdXJjaGxhdWZlbiAoTXVhZGliLCAxMi4gSnVuIDIwMDMsIDAyOjAwOjA4KToKfiMhIHJuPU9nbyBydD0xMDU1MzU2NzcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTUzMTg2NDcKZGVyIHVudGVyc2NoaWVkIGxpZWd0IGluIGRlbSByZWFkbGluZSBnZWdlbiByZWFkbGluZXMKZWluZSB6dXdlaXN1bmcgaW4gZGVyIGxvb3Bjb25kaXRpb24gZnVua3Rpb25pZXJ0IHRyYXVyaWdlcndlaXNlIHdpcmtsaWNoIG5pY2h0CmRhcyBpc3QgZWluIGVybnN0aGFmdGVyIGRlZmVrdC4gaWNoIGhhYiBpaG4gbWFsIGdlbWVsZGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXV0c3RhZXJrZSBlaW5lcyBNUDMtRmlsZXMgYWVuZGVybiAoVmFyZGlvbiwgMTguIEp1biAyMDAzLCAxMjoxOToxMCk6CkhpLgoKS2VubnQgd2VyIGVpbiBQcm9ncmFtbSwgbWl0IGRlbSBtYW4gZGllIExhdXRzdGFlcmtlIGVpbmVzIE1QMy1GaWxlcyB2ZXJhZW5kZXJuCmthbm4sIG9obmUgZXMgZXJzdCB6dSBkZWNvZGllcmVuIHVuZCBkYW5hY2ggd2llZGVyIHp1IGNvZGllcmVuPwpLZWluZSBBaG51bmcsIG9iIGRhcyB1ZWJlcmhhdXB0IG1vZWdsaWNoIGlzdC4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTGF1dHN0YWVya2UgZWluZXMgTVAzLUZpbGVzIGFlbmRlcm4gKEJvaW5nLCAxOC4gSnVuIDIwMDMsIDEzOjEwOjU3KToKfiMhIG9uPVZhcmRpb24gb3Q9MTA1NTkzNDQ0OSBvZz1zY2htYXJybgp+IyEgcm49QW50aGVhIHJ0PTEwNTU5MzM5NzMgcmc9c2NobWFycm4KfiMhIHRpZD0xMDU1OTMxNTUwCk9rLCB1bSBkZW4gVGhyZWFkIHp1IGJlZW5kZW46IGVzIGdpYnQgZWluZSBMb2VzdW5nLgpodHRwOi8vd3d3Lm1hbG92aWMuY28ueXUvbXAzZmUuaHRtCgpEYW5rZSBhbiBSaWt1cy4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBMYXV0c3RhZXJrZSBlaW5lcyBNUDMtRmlsZXMgYWVuZGVybiAoVGFuZ2FsdXIsIDE4LiBKdW4gMjAwMywgMTM6Mjk6MDYpOgp+IyEgcm49Qm9pbmcgcnQ9MTA1NTkzNDY1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU1OTMxNTUwCk5jaCBldHdhcyBzaW5udm9sbGVzOgpBbHMgRnJlZXdhcmUgTVAzR2FpbgoKZ2VzZWhlbiBiZWkgQ0hJUCBPbmxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRTTC1TdGFuZGFsb25lLVJvdXRlciAoT2dvLCAyNS4gSnVuIDIwMDMsIDIzOjI3OjU1KToKVGFjaCBhbGxlcnNlaXRzLApoYXQgamVtYW5kIHZpZWxsZWljaHQgRXJmYWhydW5nZW4vV2lzc2VuIGJlenVlZ2xpY2ggZGVzICRTVUJKRUNUPyBJY2ggc3VjaGUKZWluZW4gZ3V0ZW4gS29tcHJvbWlzcyBhdXMgU3RhYmlsaXRhZXQgdW5kIEtvbmZpZ3VyaWVyYmFya2VpdC4gSGFiZSBiaXMgZGF0bwplaW5lbiBrbGVpbmVuIExpbnV4LVJlY2huZXIgYWxzIFJvdXRlciBpbSBFaW5zYXR6LCB3ZWxjaGVyIGFiZXIgYXVmZ3J1bmQgZGVzClN0cm9tdmVyYnJhdWNocyB1bmQgZGVyIEdlcmFldXNjaGt1bGlzc2UgZWluZW0ga2xlaW5lbiBTdGFuZC1BbG9uZS1Sb3V0ZXIKd2VpY2hlbiBzb2xsLiAKRXIgc29sbCBQb3J0IFggdm9uIEF1c3NlbiBhdWYgUG9ydCBZIG5hY2ggSW5uZW4gYXVmIGVpbmVuIFJlY2huZXIgZm9yd2FyZGVuCmtvZW5uZW4gdW5kIHN0YWJpbCBsYXVmZW4uIERIQ1BEIHVuZCBhZWhubGljaGVzIGlzdCBuZXR0LCBhYmVyIGtlaW4gbXVzcy4KQWxzbyBtZWluZSBGcmFnZSwgaGF0IHdlciB2b24gc293YXMgQWhudW5nIHVuZCBrYW5uIGV0d2FzIGVtcGZlaGxlbj8gRGllCkJ1ZGdldC1HcmVuemUgbGllZ3QgYmVpIGNhLiAxMDBFVVIsIGFiZXIgYXVjaCBsZWljaHQgdGV1cmVyZSBHZXJhZXRlIGthZW1lbgp1LlUuIGR1cmNoIEViYXkgaW4gQmV0cmFjaHQuLi4KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERTTC1TdGFuZGFsb25lLVJvdXRlciAoTWFuZHJhZ29uLCAyNS4gSnVuIDIwMDMsIDIzOjMyOjA2KToKfiMhIHJuPU9nbyBydD0xMDU2NTc2NDc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTY1NzY0NzUKQWxzbyBpY2ggaGFiZSBCZWthbm50ZSwgZGllIG1pdCBuZW0gTGlua3N5cy1Sb3V0ZXIgcmVjaHQgZ3V0ZSBFcmZhaHJ1bmdlbgpnZW1hY2h0IGhhYmVuLiBEYSBpY2ggZGFyYW4gc2Nob24gcnVta29uZmlndXJpZXJ0IGhhYmUsIHdlaXNzIGljaCwgZGFzcyBkaWUKZ2VuYW5udGVuIEZlYXR1cmVzIGxhdWZlbiBzb2xsdGVuLiBJbnRlcm5lcyBGb3J3YXJkZW4gZ2VodCBnbGF1YmUgbnVyIG5hY2ggSVAsCmFsbGVyZGluZ3Mga2FubiBtYW4gaWlyYyBkZW4gZGhjcGQgc3RhdGlzY2gga29uZmlndXJpZXJlbiAoZmVzdGUgaXAgZnVlciBuZQpiZXN0aW1tdGUgbWFjKS4gUHJlaXMgd2FyIHZvciAyIEphaHJlbiAkOTAgaW4gQW1pbGFuZCAuLiBtdXNzdGUgbWFsIGd1Y2tlbiwKd2lldmllbCBkZXIgbm9jaCBrb3N0ZXQgLi4uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRFNMLVN0YW5kYWxvbmUtUm91dGVyIChNdWFkaWIsIDI2LiBKdW4gMjAwMywgMTI6NTI6NDcpOgp+IyEgcm49T2dvIHJ0PTEwNTY1NzY0NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NjU3NjQ3NQpoaSwKCmljaCBoYWIgZGVuIG5ldGdlYXIgZm0xMTRwIGltIGVpbnNhdHogZGVyIGlzdCBoYWx0IHdsYW4tZmFlaGlnIHVuZCBkYWhlciBldHdhcwp0ZXVyZXIuIGRhcyBnaWJ0cyBhYmVyIGF1Y2ggb2huZSB3bGFuIHVuZCBuZW5udCBzaWNoIGRhbm4gZnIxMTRwIHVuZCBrb3N0ZXQKbmV1IDExOSBldXJvLiBpY2ggYmluIG1pdCBkZW0gd2xhbm1vZGVsbCBzZWhyIHp1ZnJpZWRlbi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERTTC1TdGFuZGFsb25lLVJvdXRlciAoT2dvLCAyNi4gSnVuIDIwMDMsIDEzOjEyOjQ2KToKfiMhIHJuPU11YWRpYiBydD0xMDU2NjI0NzY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTY1NzY0NzUKSWNoIGhhdHRlIGF1Y2ggdWViZXJsZWd0LCBlaW5lbiBSb3V0ZXIgbWl0IEFjY2Vzc1BvaW50IHp1IGthdWZlbiwgYWJlciBpY2gKYmV6d2VpZmVsLCBkYXNzIGljaCBtaXQgV0VQIG5vY2ggcnVoaWcgc2NobGFmZW4ga29lbm50ZS4gSW4gZGVyIEJlcmxpbmVyCklubmVuc3RhZHQgaXN0IFdFUCBlY2h0IGdyb2IgZmFocmxhZXNzaWcsIGRhbm4gbXVlc3N0ZSBpY2ggZGFzIEludHJhbmV0CmtvbXBsZXR0IHZlcnNjaGx1ZXNzZWxuLiBHaWJ0IGVzIGVpZ2VudGxpY2ggbWl0dGxlcndlaWxlIEFjY2Vzc1BvaW50cywgd2VsY2hlCnN0YXR0IFdFUCBJcFNlYyBvZGVyIGFlaG5saWNoZXMgYmVudXR6ZW4/CgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERTTC1TdGFuZGFsb25lLVJvdXRlciAoQ2F0d2VhemxlLCAyNi4gSnVuIDIwMDMsIDEzOjMyOjA4KToKfiMhIHJuPU9nbyBydD0xMDU2NjI1OTY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTY1NzY0NzUKRHUgbWFjaHN0IGhhbHQgV0VQIHVuZCBzY2hyYWVua3N0IGF1ZiBkZWluZSBNQUMtQWRyZXNzZSBlaW4uIERhcyByZWljaHQgZWluZQp6ZWl0IGxhbmcgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRFNMLVN0YW5kYWxvbmUtUm91dGVyIChPZ28sIDI2LiBKdW4gMjAwMywgMTQ6MTQ6NTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTY2MjcxMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NjU3NjQ3NQpNQUMtQWRyZXNzZW4gZmxpZWdlbiBkb2NoIGltIEtsYXJ0ZXh0IGR1cmNoIGRpZSBMdWZ0IHVuZCB3ZWNoc2VsbiBrYW5uIG1hbiBkaWUKd2llIGRpZSBVbnRlcmhvc2VuPwoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZW1wbGF0ZSBFbmdpbmUgZ2VzdWNodCAoRm9vYmFyLCAzMC4gSnVuIDIwMDMsIDE1OjUzOjQzKToKSGFsbG8genVzYW1tZW4sCgppY2ggc3VjaGUgZWluZSBicmF1Y2hiYXJlIFRlbXBsYXRlIEVuZ2luZSBmdWVyIEFTUCAod2VyIGVzIGtlbm50OiBzbyB3YXMKYWVobmxpY2hlcyB3aWUgU21hcnR5IGZ1ZXIgUEhQKS4KCkJlaSBTb3VyY2Vmb3JnZSBnaWJ0J3MgbnVyIGVpbmVuIGJyYXVjaGJhcmVuIEVpbnRyYWcgbmFtZW5zICJBU1BUZW1wbGF0ZSIsCmtlbm50IHdlciB6dWZhZWxsaWcgbm9jaCB3ZWl0ZXJlPwoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpcmV3YWxsIG1pdCBNYWlsZmlsdGVyLi4uIChBbmF0b2wsIDMwLiBKdW4gMjAwMywgMjE6NDE6NTgpOgpJY2ggaGFiZSBlaW4ga2xlaW5lcyBQcm9ibGVtLiBBbHNvIGVpbmVzLCBkYXMgaWNoIHNvbnN0IG5pY2h0IGhhYmUuClNjaGxpZXNzbGljaCBoYWJlIGljaCBqYSB2aWVsZSBQcm9ibGVtZS4gV2lzc3QgaWhyIGphIGFsbGUsIG9kZXI/IDopCgpJbSBrb25rcmV0ZW4gRmFsbCBnZWh0IGVzIHVtIGZvbGdlbmRlczoKCkVpbmUgRmlyZXdhbGwgc2NodWV0enQgZWluIGtsZWluZXMgcHJpdmF0ZXMgaGV0ZXJvZ2VuZXMgTmV0eiwgZGFzCmJpc2xhbmcgYXVzIExpbnV4IHVuZCBXaW5kb3dzMjAwMCBiZXN0ZWh0LiBEaWUgRmlyZXdhbGwgc2VsYnN0CmlzdCBlaW4genVnZW5hZ2VsdGVyIExpbnV4cmVjaG5lciwgZGVyIHUuYS4gYXVjaCBmdWVyIE1hc3F1ZXJhZGluZywgCkROUywgREhDUCBoZXJoYWx0ZW4gbXVzcy4gS2VpbiBTYW1iYSwgd29obGdlbWVya3QsIGlzdCBkZW4gQXVmd2FuZApub2NoIG5pY2h0IHdlcnQuCgpEaWUgQW5mb3JkZXJ1bmcgamV0enQgaXN0IGRpZSBmb2xnZW5kZTogRXMgcmVpY2h0IG5pY2h0IGF1cywgZGFzcyBkYXMKTmV0eiB2b3IgUGFrZXRjaGVucyBnZXNjaHVldHp0IGlzdCwgbmVpbiwgZXMgc29sbGVuIGF1Y2ggbm9jaCBkaWUKZWluZ2VoZW5kZW4gTWFpbHMgZ2VmaWx0ZXJ0IHdlcmRlbiwgZC5oLiBldnRsLiBTcGFtcyByYXVzLCBnYW56IHNpY2hlcgphYmVyIHZpcm9lc2UgQXR0YWNobWVudHMgaW4gUXVhcmFudGFlbmUgZ2Vub21tZW4gd2VyZGVuLiAKCkRpZSBMb2VzdW5nIHVlYmVyICJEaWUgRmlyZXdhbGwgdmVyd2FsdGV0IGVpZ2VuZSBQT1AzLUJveGVuLCBkaWUgZGFubgphYmdlcnVmZW4gd2VyZGVuIiBnZWZhZWxsdCBtaXIgbmljaHQgc28gc2Vociwgd2VpbCBkYW5uIHp1ciBBZW5kZXJ1bmcKZGVyIEVtYWlscG9zdGZhZWNoZXIgYXVmIGRpZSBGaXJld2FsbCB6dWdlZ3JpZmZlbiB3ZXJkZW4gbXVzcywgd2FzIGVzCnp1IHZlcmhpbmRlcm4gZ2lsdCAtIGRpZSBXMmstVXNlciBoaWVyIGhhYmVuIHZvbiBMaW51eCBlaGVyIGtlaW5lIApBaG51bmcuIDopIEFsc28sIGRlciBJbXB1bHMgZ2VodCB2b24gT3V0bG9vayAob2RlciBmZXRjaG1haWwpIGF1ZiBlaW5lbQpSZWNobmVyIGltIFRydXN0ZWQgTmV0eiBhdXMsIG5pY2h0IHZvbiBkZXIgRmlyZXdhbGwuCgpHaWJ0IGVzIGRhIGZlcnRpZ2UgTG9lc3VuZ2VuPwoKQW5hdG9sIGJhc3RlbHQgaGVydW0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmlyZXdhbGwgbWl0IE1haWxmaWx0ZXIuLi4gKE9nbywgIDEuIEp1bCAyMDAzLCAwMDoyNzo1NSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA1NzAwMjExOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU3MDAyMTE4CkhtbSwgc293YXMgd2llIG5lbiBwb3AzIFByb3h5IGVpbnNldHplbiwgd2VsY2hlciBkaWUgTWFpbHMgZHVyY2ggbmVuClZpcmVuZmlsdGVyL1NwYW1hc3Nhc3NpbiBwaXBlZD8KCkljaCBoYWIgaW4gUGVybCBlaW4gU2NyaXB0IGdlc2NocmllYmVuLCB3ZWxjaGVzIE1haWxzIHZvbSBzdGRpbiBsaWVzdCwgZGllCkF0dGFjaG1lbnRzIHJhdXN6ZXJydCwgYXVmIG5lbSBXZWJzZXJ2ZXIgYWJsZWd0LCBlaW5lIE5hY2hyaWNodCBtaXQgZGVtIExpbmsKYXVmIGRhcyBBdHRhY2htZW50IGF1ZiBkZW0gV2Vic2VydmVyIGFuZnVlZ3QgdW5kIGRhcyBBdHRhY2htZW50IHNjaGx1c3NlbmRsaWNoCmF1cyBkZXIgTWFpbCBsb2VzY2h0LiBXZW5uIGRhcyBkZWluZW0gVmVyc3RhZW5kbmlzIHZvbiBRdWFyYW50YWVuZSBnZW51ZWd0LAprYW5uIGljaCBkYXMgZ2VybiB6dXIgVmVyZnVlZ3VuZyBzdGVsbGVuLi4uCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmlyZXdhbGwgbWl0IE1haWxmaWx0ZXIuLi4gKEFuYXRvbCwgIDEuIEp1bCAyMDAzLCAwMDoyOTo0OCk6Cn4jISBybj1PZ28gcnQ9MTA1NzAxMjA3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU3MDAyMTE4ClByb2JsZW0gZHVlcmZ0ZSBzZWluLCBkYXNzIGljaCB1bSBkZW4gUHJveHkgbmljaHQgaGVydW1rb21tZS4gVW5kIG1pciBkYW5uCmV0d2FzIHN1Y2hlbiBtdXNzLCB1bSBpaG4ga29tZm9ydGFiZWwgKHVuZCBhdWNoIERBVS1mcmV1bmRsaWNoKSB3YXJ0ZW4genUKa29lbm5lbi4gKmphcHMqCgpBbmF0b2wgLSBuaWNodCB3aXJrbGljaCBkYXZvbiBiZWdlaXN0ZXJ0IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmlyZXdhbGwgbWl0IE1haWxmaWx0ZXIuLi4gKE9nbywgIDEuIEp1bCAyMDAzLCAwMDozMDo0OCk6Cn4jISBybj1BbmF0b2wgcnQ9MTA1NzAxMjE4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU3MDAyMTE4CkljaCBrZW5uIGRhcyBub2NoIGF1cyBXaW5nYXRlLVplaXRlbiwgZGEgdHJhZWd0IG1hbiBhbHMgU2VydmVyIGRpZSBGaXJld2FsbAplaW4sIGFscyB1c2VyICdsb2dpbiVwb3AzaG9zdCcgdW5kIGRhcyBub3JtYWxlIFBhc3N3b3J0LCBOdWxsIFdhcnR1bmdzYXVmd2FuZC4KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmlyZXdhbGwgbWl0IE1haWxmaWx0ZXIuLi4gKE9nbywgIDEuIEp1bCAyMDAzLCAwMDo0Nzo0OSk6Cn4jISBybj1PZ28gcnQ9MTA1NzAxMjI0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU3MDAyMTE4Cldlbm5nbGVpY2ggZGVpbmUgV29ydHdhaGwgdW5nbHVlY2tsaWNoIHdhciAocy9Qcm9ibGVtL0hlcmF1c2ZvcmRlcnVuZyk6Cmh0dHA6Ly93d3cucXVpZXRzY2hlLWVudGNoZW4uZGUvc29mdHdhcmUvcG9wMy5wcm94eS5odG1sCgpERVNDUklQVElPTgogICAgICAgcG9wMy5wcm94eSAgaXMgIGEgIHByb3h5IHNlcnZlciBmb3IgdGhlIFBPUDMgcHJvdG9jb2wuICBJdAogICAgICAgZm9yd2FyZHMgdHJhZmZpYyBiZXR3ZWVuIGEgY2xpZW50IGFuZCAgYSAgc2VydmVyICB3YXRjaGluZwogICAgICAgdGhhdCAgY2xpZW50ICBhbmQgIHNlcnZlciBmdWxsZmlsbCB0aGUgcHJvdG9jb2wgc3BlY2lmaWNhCiAgICAgICB0aW9uLgouLi4KICAgU2VydmVyIFNlbGVjdGlvbgogICAgICAgSWYgIHRoZSAgLWUgIHN3aXRjaCBpcyBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lIHRoZSBwcm94eQogICAgICAgYWxsb3dzIHRoZSBjbGllbnQgdG8gc2VsZWN0IHRoZSBQT1AzIHNlcnZlciBieSBzdXBwbHlpbmcgYQogICAgICAgbG9naW4gdXNlcm5hbWUgb2YgdGhlIGZvcm0KCiAgICAgICAgICAgIHVzZXJAc2VydmVyCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZpcmV3YWxsIG1pdCBNYWlsZmlsdGVyLi4uIChDYXR3ZWF6bGUsICAxLiBKdWwgMjAwMywgMTQ6MzQ6MzMpOgp+IyEgcm49T2dvIHJ0PTEwNTcwMTMyNjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NzAwMjExOApJY2gga29lbm50ZSBkaXIgamV0enQgZGFzIE1vZGV3b3J0ICJkZW1pbGl0YXJpemVkIHpvbmUiIHVtIGRpZSBPaHJlbgprbGF0c2NoZW4sIGFiZXIgZGFmdWVyIGJyYWV1Y2h0ZXN0IGR1IG5vY2ggendlaSB3ZWl0ZXJlIFJlY2huZXIuLi4KCllUQwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZpcmV3YWxsIG1pdCBNYWlsZmlsdGVyLi4uIChPcmt0b2V0ZXIsICAxLiBKdWwgMjAwMywgMTQ6Mzg6NDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTcwNjI4NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NzAwMjExOAoiZGVtaWxpdGFyaXplZCB6b25lIiBpc3QgamEgc2Nob2VuIHVuZCBndXQsIGFiZXIgaW4gcmVhbGl0YSBkYW5uIGRvY2ggZXR3YXMKdXRvcGlzY2guIERhIHNjaHJlaWJzdCBkdSBldHdhcyBpbiBMYVRlWCB1bmQgc3RlbGxzdCBmZXN0IGRhc3MgZHUgZWluCkV1cm9zeW1ib2wgYnJhdWNoc3QgKGhhdHRlbiB3aXIgZ2VyYWRlIGVyc3QgendlaSBtYWwpIGR1IGdlaHN0IGpldHp0IGFsc28gYXVmCmRlbiBSZWNobmVyIGRlciBhbSBJbnRlcm5ldCBpc3QsIHN1Y2hzdCwgbGFlZHN0IGhlcnVudGVyLCB1bnRlcnN1Y2hzdCBkYXMgRmlsZQphdWYgVmlyZW4vRmFsbGVuIHVuZCBrb3BpZXJzdCBlcyBkYW5uIG1pdCBEaXNrZXR0ZSBhdWYgZGVpbiBzaWNoZXJlcyBTeXN0ZW0/CldpZSBvZnQgbWFjaHN0IGR1IGRhcyBiaXMgZHUgZGllIFN5c3RlbWUgZG9jaCB3aWVkZXIgdmVyYmluZGVzdCwgZGVyCmJlcXVlbWxpY2hrZWl0IHdlZ2VuPwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZpcmV3YWxsIG1pdCBNYWlsZmlsdGVyLi4uIChOb25uZSwgIDEuIEp1bCAyMDAzLCAxNDo0MToyMyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA1NzA2MzEyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU3MDAyMTE4ClsgXSBEdSB3ZWlzc3QsIHdhcyBlaW5lIERNWiBpc3QuCgpOb25uZSwga29wZnNjaHVldHRlbG5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmlyZXdhbGwgbWl0IE1haWxmaWx0ZXIuLi4gKEFuYXRvbCwgIDEuIEp1bCAyMDAzLCAxNDo1Nzo0Myk6Cn4jISBybj1Ob25uZSBydD0xMDU3MDYzMjgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTcwMDIxMTgKRWluZSBETVogc2NoZWlkZXQgYWxsZWluIGRlc3dlZ2VuIGF1cywgd2VpbCBlcyBmdWVyIGVpbiBwcml2YXRlcyBrbGVpbmVzCk5ldHp3ZXJrIHZvZWxsaWcgdW5zaW5uaWcgaXN0LCBub2NoIDErbiBSZWNobmVyIG1laHIgMjQqNyBkdXJjaHJvZWRlbG4KenUgbGFzc2VuLiBTdHJvbSBpc3QgdmllbGxlaWNodCBnZWxiLCBhYmVyIGdyYXRpcyBuaWNodC4gQXVzc2VyIHZpZWxsZWljaHQsCm1hbiBiZXN0cmFobHQgbWl0IGd1ZW5zdGlnZW0gTmFjaHRzdHJvbSBTb2xhcnplbGxlbiwgZGllIG1hbiBhbHMgdGV1ZXIKQmlvc3Ryb20genVydWVja3ZlcmthdWZ0IChHZXNjaGFlZnRzbW9kZWxsIChjKSBQYWRyZWljIDspKS4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZpcmV3YWxsIG1pdCBNYWlsZmlsdGVyLi4uIChWYW5pb24sICAxLiBKdWwgMjAwMywgMTc6NTA6MjcpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNTcwNjMxMjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1NzAwMjExOApIbW1tLCAKCldlbm4gRHUgaW4gZGVyIERNWiBhcmJlaXRlc3QsIGRhbm4gaXMgZXMgaXJnZW5kd2llIGtlaW5lIERNWiAtIGRpZSBsZWJ0IGRhdm9uLApkYXNzIGRhIG51ciBkaWUgZmllc2VuIGtsZWluZW4genUgc2NodWV0emVuZGVuIHByb2dnaWVzIGRyaW4gc2luZCAuLi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXRvcGxheS1DRCAoU2lsdmFuYSwgMTUuIEp1bCAyMDAzLCAxODo1MDowOCk6Ck9LLCBMaW51eC1GcmVha3MgdW5kIFNpY2hlcmhlaXRzZmFuYXRpa2VyIG1hbCB3ZWdob2VyZW4uLi4KCkhtbW0uLi4gV2VubiBkYXMgamV0enQgbm9jaCBqZW1hbmQgbGllc3QsIGhhdCBzaWNoIGRhcyBNRyBtZWhyIHZlcmFlbmRlcnQsIGFscwppY2ggZGFjaHRlLi4uIEVnYWwsIGljaCB2ZXJzdWNoJ3M6CgpGb2xnZW5kZXMgUHJvYmxlbTogSWNoIGJyYXVjaGUgZnVlciBlaW5lIFByYWVzZW50YXRpb24gZWluZSBDRCwgZGllIGJlaW0KRWlubGVnZW4gYXV0b21hdGlzY2ggZWluZSBhdWYgZGVyIENEIGdlc3BlaWNoZXJ0ZSBodG1sIFNlaXRlIGF1ZnJ1ZnQuCkZ1bmt0aW9uaWVyZW4gbXVzcyBkYXMgdW50ZXIgYWxsZW4gV2luKiBEaWFsZWt0ZW4gdW5kIGVzIHNvbGx0ZSBiZXZvcnp1Z3QgZGVyCklFIGF1ZmdlcnVmZW4gd2VyZGVuLCBhdWNoIHdlbm4gZGFzIG5pY2h0IGRlciBTdGQtQnJvd3NlciBpc3QuCgpLbGluZ3Qgc293ZWl0IGVpbmZhY2gsIG9kZXI/IE9LLCBkYW5uIGxhc3N0IG1hbCBMb2VzdW5nZW4gaG9lcmVuLgpCZXZvcnp1Z3QgdWVicmlnZW5zIGFuIG1laW5lIGV4dGVybmUgRU1haWwtQWRyZXNzZTogc2lsdmFuYUBjcm9ub2VydGFsLmRlCkJpcyBpY2ggbWVpbmUgemlnIGR1dHplbmQgbmV1ZW4gTWFpbHMgaGllciBpbSBNRyBkdXJjaGFja2VybiBrYW5uLCB2ZXJnZWh0CmxlaWRlciBub2NoIGVpbmlnZSBaZWl0LgoKU2lsdmFuYSAoZGllIG1pdCBkZW0gQnJldHQgdm9yJ20gS29wZikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXRvcGxheS1DRCAoU2lsdmFuYSwgMTUuIEp1bCAyMDAzLCAxODo1NzozOCk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwNTgyODc4MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1ODI4NzgwOApPSywga2xlaW5lcyBBZGRPbiBhbiBJbmZvOiBFcyByZWljaHQgbGVpZGVyIG5pY2h0IGluIGVpbmUgLmJhdCBEYXRlaSBzb3dhcyB3aWUKImlleHBsb3JlIGRhdGVpbmFtZS5odG1sIiByZWluenVzY2hyZWliZW4uIERhcyBkdW1tZSBpc3QsIGRhc3MgZGVyIElFIHVudGVyCldpbk1FIHVuZCBXaW45OCBhbmRlcmUgRGF0ZWluYW1lbiBhbHMgdW50ZXIgV2luMksgb2RlciBYUCBoYXQuLi4KCkFjaCBqYSAtIHVuZCBkYXNzIGVzIGJlaSBBdXRvcGxheSBhdXMgbmljaHQgZ2VodCwgaXN0IGtsYXIgdW5kIE9LLiA6KQoKU2lsdmFuYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdXRvcGxheS1DRCAoR3JpbW1ib3JuLCAxNS4gSnVsIDIwMDMsIDIwOjA2OjI5KToKfiMhIHJuPVNpbHZhbmEgcnQ9MTA1ODI4ODI1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU4Mjg3ODA4ClVuZCBEdSBrYW5uc3QgaW4gZGVyIC5iYXQgRGF0ZWkgbmljaHQgZGllIFdpbmRvd3N2ZXJzaW9uIGFiZnJhZ2VuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBdXRvcGxheS1DRCAoTXVwZmVsLCAxNS4gSnVsIDIwMDMsIDIwOjA4OjAwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDU4MjkyMzg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTgyODc4MDgKR3JvYi4gRGFzIGdlaHQgdWViZXIgRW52aXJvbm1lbnQtVmFyaWFibGVuLiBXSU5ESVIsIFdJTkJPT1RESVIgdW5kIE9TIHNvbGx0ZW4KZWluZSBncm9iZSBFaW50ZWlsdW5nIGluIDk1Lzk4L01FIHVuZCBOVC8yMDAwL1hQIG1vZWdsaWNoIG1hY2hlbi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBdXRvcGxheS1DRCAoUm9uZGEsIDE1LiBKdWwgMjAwMywgMjE6MDE6NTMpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNTgyOTI0ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1ODI4NzgwOApIYWxsbyBTaWx2YW5hLAoKc2NoYXUgZG9jaCBtYWwgaGllcjoKCmh0dHA6Ly9zZWxmYWt0dWVsbC50ZWFtb25lLmRlL3RpcHBzdHJpY2tzL3NvbnN0aWdlcy9hdXRvcGxheS9pbmRleC5odG0KClJvbmRhICpkZW5rdCwgZGFzcyBkYXMgZ2VuYXUgenVyIEZyYWdlIHBhc3N0KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXV0b3BsYXktQ0QgKEFub3JpcywgMTUuIEp1bCAyMDAzLCAyMTowNTowMik6Cn4jISBybj1Sb25kYSBydD0xMDU4Mjk1NzEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTgyODc4MDgKV2FzIG1hbiBhdWNoIGF1cyBkZW0gc2VsZmh0bWwgc2VoZW4ga2FubiwKZXMgaXN0IG5pY2h0IG5vZXRpZyBpZXhwbG9yZSB6dSBzdGFydGVuLiAnZXhwbG9yZXInIHR1dHMgd3VuZGVyYmFyLCB1bmQgZGVyCmhlaXN0IHNlaXQgOTUgaW1tZXJub2NoIHNvLgoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEF1dG9wbGF5LUNEIChDcm9mdCwgMTUuIEp1bCAyMDAzLCAyMTowNzozNSk6Cn4jISBybj1Bbm9yaXMgcnQ9MTA1ODI5NTkwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU4Mjg3ODA4CkRpZSBTYWNoZSBtaXQgZGVyIGV4dGVybmVuIEVtYWlsIGhhYnQgaWhyIG1pdGJla29tbWVuPyAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBdXRvcGxheS1DRCAoUm9uZGEsIDE1LiBKdWwgMjAwMywgMjE6MTM6MjEpOgp+IyEgcm49Q3JvZnQgcnQ9MTA1ODI5NjA1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU4Mjg3ODA4CkhpIENyb2Z0LAoKamF1LiBVbmQgcGFyYWxsZWwgZ2VtYWlsdC4KClJvbmRhICpiaW4gaWNoIG5pY2h0IG5lIGJyYXZlIFRvY2h0ZXI/KgoKCgouLi4gZ25hcmcuIERBUyBoYWIgaWNoIGdlaG9lcnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEU0wtQmF0dGxlbmV0LVByb2JzIChDYXR3ZWF6bGUsIDIxLiBKdWwgMjAwMywgMDc6NTY6MzYpOgpNb2luIQoKSWNoIGJpbiBudW4gc2VpdCBuZXVlc3RlbSBzdG9semVyIEt1bmRlIHZvbiBULURTTCB1bmQgZGVyIE5HSS1GbGF0LgoKSWNoIGJpbiBhdWNoIGRpcmVrdCBkZXByaW1pZXJ0LCBkZW5uIHN0YXR0IGdlc2NoZWl0IGltIEJhdHRsZW5ldCB6b2NrZW4genUKa29lbm5lbiwgaGFiIGljaCBvaG5lIEVuZGUgUHJvYmxlbWUuIApCZWkgbWlyIHBhc3NpZXJ0IGVzLCBkYXNzIHRlaWx3ZWlzZSBtZWluZSBLbGlja3Mgb2RlciBLZXlzdHJva2VzIDEtNSBTZWt1bmRlbgpzcGFldGVyLCBvZGVyIGdhciBuaWNodCBiaXMgenVtIEJhdHRsZW5ldHNlcnZlciBrb21tZW4uIERhcyBtYWNodCBkYXMgU3BpZWxlbgpuZXJ2aWcgdW5kIHF1YXNpIHVubW9lZ2xpY2guCgpJY2ggaGFiIGdlbmVyZWxsIGtlaW5lIFBha2V0dmVybHVzdGUgenVtIFNlcnZlciwgZGFzcyBrYW5ucyBhbHNvIG5pY2h0IHNlaW4uCldlbm4gaWNoIG1laW5lIGFsdGUgNTZLLUxlaXR1bmcgbmVobWUsIGlzdCBhbGxlcyBpbiBiZXN0ZXIgT3JkbnVuZywgYmVpIERTTAppc3Qgc29nYXIgZGllIFBpbmd6ZWl0IGJlc3Nlci4gCgpGcmFnZTogS2VubnQgamVtYW5kIGRhcyBQcm9ibGVtLCBvZGVyIHdlaXNzIHdpZSBtYW4gZXMgYmVoZWJlbiBrYW5uPyBJY2gKYmVudXR6ZSBYUC1Qcm8sIGRpZSBGaXJld2FsbCBpc3QgYXVzIGF1ZiBkZXIgTGVpdHVuZy4gVmlyZW5jaGVjayBhdXMgaGFiIGljaAphdWNoIHNjaG9uIHByb2JpZXJ0LgpHaWJ0cyB2aWVsbGVpY2h0IGlyZ2VuZHdhcywgd2FzIG1hbiBiZWkgZGVyIERTTC1MZWl0dW5nIG5vY2ggZWluc3RlbGxlbiBrYW5uPwpBbnkgb3RoZXIgVGlwcHM/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEU0wtQmF0dGxlbmV0LVByb2JzIChNdWFkaWIsIDIxLiBKdWwgMjAwMywgMDk6Mzg6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNTg3NjY5OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1ODc2Njk5NgpoaSwKCmljaCBoYWIgZGFzIGdsZWljaGUgcHJvYmxlbSBtaXQgcWRzbC4gZXMgc2NoZWludCBhdWNoIHNvIGRhc3MgZGllIHBpbmdzIGdpdApzaW5kLCBhYmVyIGltbWVyIHdlbm4gZGllIHZlcnpvZWdlcnVuZyBrb21tdCBzaW5kIHNpZSBkcmFzdGlzY2ggZXJob2VodC4gZWluCnBlcm1hbmVudGVzIHRyYWNlcm91dGUgemVpZ3QgZGllIHZlcnpvZWdlcnVuZyBuaWNodCBzbyBkcmFzdGlzY2gsIGtvZW5udGUKZHVyY2hhdXMgYW4geHAgbGllZ2VuLCB6dW1hbCB1bnRlciAyayBkYXMgcHJvYmxlbSBuaWNodCBhdWZ0cml0dC4Kc3RhcnRlIG1hbCBpbSBibmV0IGRpZSBwaW5ndWViZXJ3YWNodW5nLiBkYXMgZ2VodCBpbiBlaW5lbSBzcGllbCBtaXQgImZwcyIgaW4KZGVyIGtvbW11bmlrYXRpb25zbGVpc3RlICh6dW1pbmRlc3QgYmVpIGxvZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRFNMLUJhdHRsZW5ldC1Qcm9icyAoTXVwZmVsLCAyMS4gSnVsIDIwMDMsIDE0OjA5OjMzKToKfiMhIHJuPU11YWRpYiBydD0xMDU4NzczMTEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNTg3NjY5OTYKSGFidCBpaHIgUW9TIGluIFhQIGFiZ2VzY2hhbHRldCAoei5CLiBtaXQgeHAgQW50aVNweSk/IERhcyBpc3QgbmUgZWluZ2ViYXV0ZQpCcmVtc2UgZnVlciBCcmVpdGJhbmR2ZXJiaW5kdW5nZW4gKGRhbWl0IGJlaSBJTnRlcm5ldCBWZXJiaW5kdW5nc2ZyZWlnYWJlIGRpZQphbmRlcmVuIFJlY2huZXIgYXVjaCBub2NoIEJhbmRicmVpdGUgYWJiZWtvbW1lbikuCgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERTTC1CYXR0bGVuZXQtUHJvYnMgKE11YWRpYiwgMjEuIEp1bCAyMDAzLCAxNDoxMTo0Nik6Cn4jISBybj1NdXBmZWwgcnQ9MTA1ODc4OTM3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU4NzY2OTk2CmphIGhhYiBpY2ggYWJnZXNjaGFsdGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEU0wtQmF0dGxlbmV0LVByb2JzIChDYXR3ZWF6bGUsIDIyLiBKdWwgMjAwMywgMTA6NDA6MDApOgp+IyEgcm49TXVwZmVsIHJ0PTEwNTg3ODkzNzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1ODc2Njk5NgpJY2ggaGFicyBRb1Mgc29nYXIgZGVpbnN0YWxsaWVydCA6KQpEcmVja3N6ZXVnIDopCgpZVEMKClBTOiBBbnRpc3B5PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERTTC1CYXR0bGVuZXQtUHJvYnMgKFNhcmtvbiwgMjIuIEp1bCAyMDAzLCAxOToxODo0Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1ODg2MzIwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU4NzY2OTk2CldhaHJzY2hlaW5saWNoIGVpbiBHcmlmZiBpbnMgS2xvLCBhYmVyIGtvZW5udGUgZXMgYW4gZGVyIE1UVSBsaWVnZW4/IE51ciBzbyBuZQpJZGVlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEU0wtQmF0dGxlbmV0LVByb2JzIChNdWFkaWIsIDIyLiBKdWwgMjAwMywgMTk6MzQ6MzMpOgp+IyEgcm49U2Fya29uIHJ0PTEwNTg4OTQzMjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1ODc2Njk5NgpiZWkgbWlyIG1hbCBuaWNoLgppc3QgYXVjaCBrZWluIHBlcm1hbmVudGVzIHByb2JsZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClB5dGhvbiAoVGFuZ2FsdXIsIDI0LiBKdWwgMjAwMywgMDk6MzM6MDMpOgpLZW5udCBzaWNoIHdlciBtaXQgUHl0aG9uIGF1cyA/CgpIYWJlIGdlc3Rlcm4gZWluIGtsZWluIHdlbmlnIGRhbWl0IHJ1bSBnZXNwaWVsdC4gR2lidCBlcyBlaW5lIE1vZWdsY2hrZWl0IGluClB5dGhvbiBleHRlcm5lIFNoZWxsIFNrcmlwdGUgb2RlciBiaW5hcmllcyBhdXMgenUgZnVlaHJlbiB1bmQgd2llIGlzdCBkaWUKU3ludGF4IGRhZnVlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQeXRob24gKFpvb2ssIDI0LiBKdWwgMjAwMywgMDk6NTA6NDIpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTA1OTAzMTk4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDU5MDMxOTgzCkdlaHQuIFNjaGF1IG1hbCBpbiBkYXMgTW9kdWwgIm9zIi4gCgpEb2t1OiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZG9jLzIuMi9saWIvbW9kdWxlLW9zLmh0bWwKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHl0aG9uIChWYXJkaW9uLCAyNC4gSnVsIDIwMDMsIDA5OjUxOjA4KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTEwNTkwMzE5ODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA1OTAzMTk4MwppbXBvcnQgb3MKCm9zLnN5c3RlbSgic2h1dGRvd24gLXIgbm93IikKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNpZ21hIFNEOSAoVHJveSwgMjUuIEp1bCAyMDAzLCAxMDo1MzoyMyk6CkhpLAoKaWNoIHVlYmVybGVnZSBkaWUgQW5zY2hhZmZ1bmcgZWluZXIgSGktRW5kLURpZ2l0YWxrYW1lcmEgdW5kIGxpZWJhZXVnZWxlCmRhaGVyIG1pdCBkZXIgU0Q5IHZvbiBTaWdtYS4gSGF0IGplbWFuZCBtaXQgZGVtIFRlaWwgc2Nob24KRXJmYWhydW5nZW4gZ2VzYW1tZWx0PwoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVVNWIGFienVnZWJlbiAoQWhhYiwgIDQuIEF1ZyAyMDAzLCAxOTozOTowNik6CkhpIElocnMsCgpiZXN0ZWh0IGJlaSBlaW5lbSB2b24gRXVjaCBldnRsLiBCZWRhcmYgYW4gZWluZXIgJ2RpY2tlbicgVVNWPwpJY2ggaGFiIGRlcnplaXQgZGllIGV4YWt0ZW4gdGVjaG5pc2NoZW4gRGF0ZW4gdW5kIGF1Y2ggZGFzIEFsdGVyIG5pY2h0IHBhcmF0LAprYW5uIGRhcyBhYmVyIG5hY2hzY2hhdWVuLiBEYXMgVGVpbCBpc3QgaW4gZXR3YSBzbyBob2NoIHdpZSBlaW4gbm9ybWFsZXMKVG93ZXItR2VoYWV1c2UsIGV0d2FzIGRpY2tlciB1bmQgemllbWxpY2ggZ2VuYXVzbyB0aWVmLiBEYXMgR2V3aWNodCB3dWVyZGUKaWNoIGF1ZiBjYS4gODAga2cgc2NoYWV0emVuLgoKV2VyIGRhcyBEaW5nIGhhYmVuIHdpbGwsIG11ZXNzdGUgZXMgaW4gRG9ydG11bmQgYWJob2xlbi4KCkJlaSBJbnRlcmVzc2UgYml0dGUgTWFpbCBhbiBtaWNoLgpBaG9pLApBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGViaWFuIChGb29iYXIsICA2LiBBdWcgMjAwMywgMTI6MTk6MDYpOgpNb2luLgoKV2VyZGUgZGVtbmFlY2hzdCBtYWwgYmVpIG1pciAnbmUgRGViaWFuIGluc3RhbGxpZXJlbi4gQmlzIGpldHp0IGhhdHRlIGljaCBudXIKU3VzaXMuIEdpYnQncyBiZWkgRGViaWFuIGlyZ2VuZHdlbGNoZSBGYWxsc3RyaWNrZSwgZGVyZW4gS2VubnRuaXNzIHZvciBBbnRyaXR0CmRlciBJbnN0YWxsYXRpb24gc2lubnZvbGwgd2FlcmU/CgpHcnVzcywKCiAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlYmlhbiAoV2hpdGV0aWdlciwgIDYuIEF1ZyAyMDAzLCAxMjoyMTo1NSk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MDE2NTE0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkphLgpTY2hhdSBkaXIgYW4gd2FzIGR1IGZ1ZXIgbmVuIFJlY2huZXIgaGFzdCwgYmVpIG1laW5lbSBnYWJzCk9uYm9hcmQtU291bmQvLUV0aGVybmV0LCB1bmQgYmVpZGVzIGdpbmcgbmljaHQuIEhhdHRlIHp1bSBHbHVlY2sgbm9jaCBlaW5lClBDSS1OZXR6d2Vya2thcnRlIHJ1bWxpZWdlbiAuLi4KQW5zb25zdGVuLCBkaWUgS29uZmlndXJhdGlvbiBpc3QgZ2xhdWIgaWNoIGVpbiBrbGVpbiB3ZW5pZyBzY2h3aWVyaWdlciAoa2VpbgpZYVNUKSwgYWJlciBkYXMgZ2VodCBhdWNoLi4uClVuZCB1ZWJlcmxlZyBkaXIsIG9iIGR1IGxpZWJlciBlaW4gc3RhYmlsZXMgU3lzdGVtICh3b29keSBzdGFibGUpLCBkYWZ1ZXIKZXR3YXMgdmVyYWx0ZXQsIG9kZXIgZWluIG5ldWVzLCBpbnN0YWJpbGVzIChzaWQgdW5zdGFibGUpLCBvZGVyIGVpbiBNaXR0ZWxkaW5nCihzYXJnZSB0ZXN0aW5nKSBoYWJlbiBtb2VjaHRldHMuIDopCk1laHIgZmFlbGx0IG1pciBncmFkIG5pY2h0IGVpbiwgYWJlciBkYSBnaWJ0cyBzaWNoZXIgbm9jaCB3YXMuIC4uCgpHcmVldHMKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGViaWFuIChGb29iYXIsICA2LiBBdWcgMjAwMywgMTI6MjU6MDcpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDYwMTY1MzE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKU293YXMgbmV1bW9kaXNjaGVzIHdpZSBPbmJvYXJkLUtyYW0gaGFiIGljaCBuaWNodCwgdW5kICduZSBlaW5lIFdvY2hlIGFsdGUKV29vZHkgbGllZ3QgaGllciBzY2hvbiBydW0uIEdyb2Vzc3RlcyBQcm9ibGVtIGR1ZXJmdGUgZGllIFVudGVyc3R1ZXR6dW5nIGZ1ZXIKbWVpbmUgVVNCLUlTRE4tQW5sYWdlIHNlaW4sIGRhIGdpYnQncyBudXIgU291cmNlbiBmdWVyIFN1c2kuIEFiZXIgYXVjaCBkaWVzZQpLbGlwcGUgd2VyZGUgaWNoIHVtc2NoaWZmZW4sIElociB3ZXJkZSBzY2hvbiBzZWhlbiEKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGViaWFuIChab29rLCAgNi4gQXVnIDIwMDMsIDEyOjI4OjQzKToKfiMhIHJuPUZvb2JhciBydD0xMDYwMTY1NTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKRGV1dGV0IHNpY2ggZGEgZXR3YSBlaW5lIGxhZW5nZXJlIE11ZC1BYnN0aW5lbnogYW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGViaWFuIChGb29iYXIsICA2LiBBdWcgMjAwMywgMTI6MzE6MDcpOgp+IyEgcm49Wm9vayBydD0xMDYwMTY1NzIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSWNoIHdpbGwncyBuaWNodCBob2ZmZW4uIDpvKQoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEZWJpYW4gKEJvaW5nLCAgNi4gQXVnIDIwMDMsIDEyOjMyOjM4KToKfiMhIHJuPUZvb2JhciBydD0xMDYwMTY1ODY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSGFzdCBEdSBhdWNoIGJyYXYgMTk5JCBhbiBTQ08gdWViZXJ3aWVzZW4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERlYmlhbiAoRm9vYmFyLCAgNi4gQXVnIDIwMDMsIDEyOjMzOjQyKToKfiMhIHJuPUJvaW5nIHJ0PTEwNjAxNjU5NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpOZWUsIG51ciA4LDI1IEVVUi4gVW5kIG5vY2ggbmljaHQgbWFsIGFuIFNDTy4uLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEZWJpYW4gKFpvb2ssICA2LiBBdWcgMjAwMywgMTI6MzM6NTgpOgp+IyEgcm49Qm9pbmcgcnQ9MTA2MDE2NTk1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkljaCBkYWNodGUsIGRhcyB3YWVyZW4gNDk5OSBVU0QsIHdlZ2VuIGRlciB2aWVsZW4gUHJvemVzc29yZW4uLi4uCgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGViaWFuIChOb25uZSwgIDYuIEF1ZyAyMDAzLCAxMjozNDowOCk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MDE2NjAyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkRhbm4gbGllcyBtYWw6IGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2Fudy0wNi4wOC4wMy0wMDAvCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERlYmlhbiAoRm9vYmFyLCAgNi4gQXVnIDIwMDMsIDEyOjM1OjQyKToKfiMhIHJuPU5vbm5lIHJ0PTEwNjAxNjYwNDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpXdW5zY2h6ZXR0ZWwgaXJnZW5kd2VsY2hlciBGaXJtZW4gc3RlaGVuIG5pY2h0IHVlYmVyIGRlbiBUYXRzYWNoZW4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoR3JpbW1ib3JuLCAgNi4gQXVnIDIwMDMsIDE0OjU2OjIzKToKSWNoIGhhYmUgaGllciBlaW4gVmVyaGFsdGVuIGRhc3MgbWljaCBlaW4gd2VuaWcgdmVyYmx1ZWZmdC4gU2l0dWF0aW9uOiBkYXMKZmlsZSBzeXN0ZW0gL2Rldi9oZGIxIGlzdCBhdWYgZGVtIG1vdW50cG9pbnQgL21udCBnZW1vdW50ZWQuIEVpbiAibHMgLWxkIC9tbnQiCnplaWd0IGRpZSBwZXJtaXNzaW9ucyA3NTUuICJjaG1vZCA3NzAgL21udCIgYWVuZGVydCBkaWUgcGVybWlzc2lvbnMsIG5hY2gKZWluZW0gInVtb3VudCAvbW50IiBzaW5kIGRpZSBwZXJtaXNzaW9ucyB3aWVkZXIgNzU1LiBVbmQgbmFjaGRlbSAvZGV2L2hkYjEKd2llZGVyIGdlbW91bnRlZCBpc3Qgc2luZCB3aXIgd2llZGVyIGJlaSA3NTUuIEFuZGVyc3J1bSBnZWh0cyBhdWNoLCBkYXNzIGRlcgp1bmdlbW91bnRldGUgbW91bnRwb2ludCBnZWFlbmRlcnRlIHBlcm1pc3Npb25zIGhhdCwgZGllIHNpY2ggZGFubiBiZWltIG1vdW50ZW4KZnVlciBkYXMgZnMgd2llZGVyIHZlcnN0ZWxsZW4uCkRpZSBGcmFnZSBpc3QgamV0enQ6IFdlbm4gaWNoIGRpZSBSZWNodGUgYW4gZWluZW0gZ2Vtb3VudGV0ZW4gZnMgYWVuZGVybiB3aWxsLAp3byBnZW5hdSBhbiBmcy9tb3VudHBvaW50IG11c3MgaWNoIGRhcyB0dW4sIHVuZCB3YXJ1bT8KCkFjaCBqYSwgaWNoIGhhYiBoaWVyIExpbnV4IG1pdCB2YW5pbGxhIGtlcm5lbCAyLjQuMjEuIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChBbnRoZWEsICA2LiBBdWcgMjAwMywgMTQ6NTk6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNjAxNzQ1ODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE3NDU4MwpXZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLCBrYW5uIG1hbiBkYXMgYWxzIFBhcmFtZXRlciB6dSBtb3VudCBhbmdlYmVuCihhbHRlcm5hdGl2IGluIGRlciBMaXN0ZSBpbiAvZXRjL2ZzdGFiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoR3JpbW1ib3JuLCAgNi4gQXVnIDIwMDMsIDE1OjAwOjUzKToKfiMhIHJuPUFudGhlYSBydD0xMDYwMTc0NzU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKSWNoIHd1c3N0ZSBpY2ggaGF0dGUgd2FzIHZlcmdlc3Nlbi4gL2V0Yy9mc3RhYjogCiAvZGV2L2hkYjEgL21udCBleHQzIGRlZmF1bHRzIDEgMQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKEFudGhlYSwgIDYuIEF1ZyAyMDAzLCAxNTowMTo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA2MDE3NDg1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCkljaCBnbGF1Yiwgd2VubiBEdSBkYSBlaW4gImRlZmF1bHRzLHJvIiBkcmF1cyBtYWNoc3QgKG9kZXIgZXh0Myxybz8gSWNoCnZlcmdlc3MgaW1tZXIgZGllIFN0ZWxsZSA6KCApIHNvbGx0ZSBlcyBiZXNzZXIgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChDcm9mdCwgIDYuIEF1ZyAyMDAzLCAxNTowNDozMyk6Cn4jISBybj1BbnRoZWEgcnQ9MTA2MDE3NDkxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCkFlaG0uICBybyA9PSByZWFkLW9ubHksIGQuaC4gd3JpdGVhYmxlIGZ1ZXIgb3duZXIgdW5kIGdyb3VwIGZhZWxsdCBkYW5uIHdlZwp1bmQgd29ybGQga2FubiBpbW1lciBub2NoIGxlc2VuIHVuZCBleGVjdXRlbiAuLi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKEdyaW1tYm9ybiwgIDYuIEF1ZyAyMDAzLCAxNTowNzo0Mik6Cn4jISBybj1Dcm9mdCBydD0xMDYwMTc1MDczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKQWVoLCBlcyBnZWh0IG5pY2h0IHVtIGRpZSBrb25rcmV0ZW4gcGVybWlzc2lvbnMgKGRhcyB3YXIgbnVyIGF1cyBkZW0gQmVpc3BpZWwKd28gaWNoIG1pdCBydW1nZXNwaWVsdCBoYWJlKSwgc29uZGVybiB1bSBkZW4gTWVjaGFuaXNtdXMuCldpciBoYXR0ZW4gaGllciBlaW4gcGFhciBmcyBhdWYgd29ybGQgd3JpdGFibGUsIHVuZCBkYXMgbWl0IGV0d2FzIHZlcnJpbmdlcnRlcgpHZXNpY2h0c2ZhcmJlIGdlYWVuZGVydC4gSWNoIHdpbGwgdmVyaGluZGVybiBkYXNzIGRpZSBhbHRlbiBwZXJtaXNzaW9ucyBiZWltCm5hZWNoc3RlbiByZW1vdW50IHdpZWRlciBkYSBzaW5kLCBrYW5uIGFiZXIgbmljaHQgZWluZmFjaCBtYWwgenVtIFRlc3QgZWluCnBhYXIgZnMgdW1vdW50ZW4gbnVyIHVtIGFuIGRlbiBtb3VudHBvaW50IHp1IGtvbW1lbi4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoR3JpbW1ib3JuLCAgNi4gQXVnIDIwMDMsIDE1OjA5OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMTc1MjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKUC5TLjogV2lyIHJlZGVuIGhpZXIgdm9uIERhdGVpc3lzdGVtZW4gd28gZWluICJkZiAtaCIgbWl0IGVpbmVtCiAvZGV2L3V0ZjZ2Zy91dGY2bHYgICAgMS4wVCAgIDY5RyAgOTU1RyAgIDclIC91dGYvNgphbnR3b3J0ZXQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoQW50aGVhLCAgNi4gQXVnIDIwMDMsIDE1OjEwOjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMTc1MzQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKQWxzbyBuaWVkbGljaGUgaGFuZGxpY2hlIExhdWZ3ZXJrZSwgamEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKFN0b3BkZW5idXMsICA2LiBBdWcgMjAwMywgMTU6MTM6NDIpOgp+IyEgcm49QW50aGVhIHJ0PTEwNjAxNzU0MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE3NDU4MwppbiBkZXIgbWFuIHp1IG1vdW50IHN0ZWh0IGRyaW4sIGRhcyBlcyBkaWUgb3B0aW9uIHVpZD12YWx1ZSB1bmQgZ2lkPXZhbHVlCmdpYnQsIHNjaGF1IG1hbCwgb2IgZGlyIGRhcyB3YXMgYnJpbmd0CgpTdG9wcGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoQ3JvZnQsICA2LiBBdWcgMjAwMywgMTU6MTQ6NTApOgp+IyEgcm49U3RvcGRlbmJ1cyBydD0xMDYwMTc1NjIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKRXIgd2lsbCBkaWUgTWFzayBhZW5kZXJuLCBuaWNodCBkaWUgdWlkL2dpZCAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChHcmltbWJvcm4sICA2LiBBdWcgMjAwMywgMTU6MTY6MTkpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2MDE3NTY5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCkphLCBlcyBnaWJ0IGF1Y2ggZGllIHVtYXNrIGZ1ZXIgbW91bnQsIGFiZXIgZGFzIGlzdCBlaWdlbnRsaWNoIG5pY2h0IHdpcmtsaWNoCmRlciBQdW5rdCAoYXVjaCB3ZW5ucyBuYXR1ZXJsaWNoIGVpbiB3b3JrYXJvdW5kIGZ1ZXIgZGFzIFByb2JsZW0gaXN0KS4gTWVpbmUKRnJhZ2Ugd2FyIGVoZXI6IFdhcyBwYXNzaWVydCBkYSBpbSBadXNhbW1lbnNwaWVsIHp3aXNjaGVuIG1vdW50cG9pbnQgdW5kIGZzLAp3ZXIgZ2V3aW5udCB3YW5uIHVuZCB3YXMgdm9uIGFsbGVtIHVlYmVybGVidCBhdWNoIGVpbmVuIHJlYm9vdD8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChUb2UsICA2LiBBdWcgMjAwMywgMTU6NTQ6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNjAxNzUzNDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE3NDU4Mwp3YXMgZnVlciBlaW5lIHZlcnNjaHdlbmR1bmcuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoVG9lLCAgNi4gQXVnIDIwMDMsIDE1OjU2OjI4KToKfiMhIHJuPVRvZSBydD0xMDYwMTc4MDk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKZGEgc29sbHRlIG5vY2ggd2FzIHBsYXR6IGZ1ZXJuIGtsZWluZXMgbHZvbCB2b3JoYW5kZW4gc2VpbiwgYW5sZWdlbiwgbW91bnRlbiwKdGVzdGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKEdyaW1tYm9ybiwgIDYuIEF1ZyAyMDAzLCAxNjowNjozNCk6Cn4jISBybj1Ub2UgcnQ9MTA2MDE3ODE4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCktsYXIuICJ0ZXN0ZW4iIGlua2x1c2l2ZSByZWJvb3RlbiBkZXMgU3lzdGVtcy4gVW5kIGRhbm4gc2NobmVsbCB3ZWdsYXVmZW4gdm9yCmRlbiBnYW56ZW4gTGV1dGVuIGRpZSBOaWNodCBHbHVlY2tsaWNoIHNpbmQuIERpZSBLaXN0ZSBoYXQgMTMgZGVyYXJ0aWdlcgpEYXRlaXN5c3RlbWUsIGRpZSBzaWUgZWluIHBhYXIgbmljaHQgdW53aWNodGlnZW4gSG9lY2hzdGxlaXN0dW5nc3JlY2huZXJuIHp1cgpWZXJmdWVndW5nIHN0ZWxsdC4gCk5laW4sIG5pY2h0IHByYWt0aWthYmVsLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChUb2UsICA2LiBBdWcgMjAwMywgMTY6MDg6NDQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNjAxNzg3OTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE3NDU4MwpkdSB3aXJzdCBhbiBkZW4gZW50c3ByZWNoZW5kZW4gc3RlbGxlbiBzaWNoZXIgZ2VzZWhlbiBoYWJlbiB3aWUgYmVpbSBib290IGRpZQpkYXRlaXN5c3RlbWUgZ2Vtb3VudGV0IHdlcmRlbi4KYWxzbyB3aXJzdCBkdSBlaW4ga2xlaW5lcyBsdm9sIGFubGVnZW4ga29lbm5lbiwgcmVjaHRlIHNldHplbiBrb2VubmVuIHVuZCBkaWUKYm9vdC1taW1payBtaXQgZGllc2VtIGZpbGVzeXN0ZW0gb25saW5lIGF1c3Rlc3RlbiBrb2VubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoVmFyZGlvbiwgIDYuIEF1ZyAyMDAzLCAxNjo1NDowNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA2MDE3NDU4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCk5vcm1hbCBpc3QgZXMgc28sIGRhc3Mgdm9yIGRlbSBtb3VudCBkZXIgTW91bnRwb2ludCBkaWUgbm9ybWFsZW4gUmVjaHRlIGRlcwpqZXdlaWxpZ2VuIFZlcnplaWNobmlzc2VzIGhhdC4gTmFjaCBkZW0gTW91bnQgYmVrb21tdCBkZXIgTW91bnRwb2ludCBkaWUKUmVjaHRlLCBkaWUgZGFzIFZlcnplaWNobmlzIC8gYXVmIGRlbSBtb250aWVydGVuIEZTIGhhdC4KRWluIGNobW9kIGF1ZiBkZW4gTW91bnRwb2ludCBhZW5kZXJ0IGFsc28gdm9yIGRlbSBNb3VudCBkaWUgUmVjaHRlIGRlcwpWZXJ6ZWljaG5pc3NlcyB1bmQgbmFjaCBkZW0gTW91bnQgZGllIFJlY2h0ZSBkZXMgUm9vdHZlcnplaWNobmlzc2VzIGRlcwptb250aWVydGVuIFN5c3RlbXMuCkRlciBTYXR6ICJVbmQgbmFjaGRlbSAvZGV2L2hkYjEgd2llZGVyIGdlbW91bnRlZCBpc3Qgc2luZCB3aXIgd2llZGVyIGJlaSA3NTUuIgprbGluZ3QgYmVzb3JnbmlzZXJyZWdlbmQuIEQuSC4gZGllIFJlY2h0ZSBkZXMgUm9vdHZlcnplaWNobmlzc2VzIHdlcmRlbiBkYQpvZmZlbmJhciBiZWltIG1vbnRpZXJlbiB3aWVkZXIgdWViZXJzY2hyaWViZW4uIEV2dGwgZHVyY2ggZGFzIE1vdW50cHJvZ3JhbW0uCkhhc3QgRHUgbWFsIHZlcnN1Y2h0LCB2b3IgZGVtIE1vdW50IGRhcyBWZXJ6ZWljaG5pcyBhdWYgNzcwIHp1IGJyaW5nZW4gdW5kCmRhbmFjaCBkYXMgRlMgZWJlbmZhbGxzIG5vY2ggYXVmIDc3MD8gRXZ0bCBwYXNzdCBkZXIgTW91bnQtQmVmZWhsIGRpZSBSZWNodGUKYW4gZGFzIGFsdGUgVmVyemVpY2huaXMgYW4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoR3JpbW1ib3JuLCAgNi4gQXVnIDIwMDMsIDE2OjU4OjUwKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2MDE4MTY0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCk5laW4sIG5pY2h0IGJlc29yZ25pc2VycmVnZW5kLCBlbnR3ZWRlciB1bmdsdWVja2xpY2ggYXVzZ2VkcnVlY2t0IG9kZXIKdW5nbHVlY2tsaWNoIGludGVycHJldGllcnQuIERhcyBWZXJoYWx0ZW4gaXN0IGplZGVuZmFsbHMga29uc2lzdGVudCBtaXQgRGVpbmVyCkVya2xhZXJ1bmcuCgpHZEEgc2NocmVpYnQgZWluZW4gbGV0enRlbiBBcnRpa2VsIHZvciBBcm1hZ2VkZG9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKE5vbm5lLCAgNi4gQXVnIDIwMDMsIDIwOjEzOjQzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMTgxOTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKQWVoLCB3YXMgc3ByaWNodCBkZW5uIGdlZ2VuIGRpZSBWZXJ3ZW5kdW5nIHZvbiB1bWFzayBpbiBkZXIgZnN0YWIgb2RlciBoYWJlCmljaCB3YXMgdWViZXJsZXNlbj8KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChHcmltbWJvcm4sICA2LiBBdWcgMjAwMywgMjA6NTQ6MjMpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MDE5MzYyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCkRhZ2VnZW4gc3ByaWNodCBkYXNzIGRhcyBuaWNodCBkaWUgdXJzcHJ1ZW5nbGljaGUgRnJhZ2Ugd2FyLgpBY2ggamEsIHVuZCBkYXNzIGxhdXQgbWFuIHBhZ2Uga2VpbiB1bWFzayBiZWkgZXh0Mi8zIG9kZXIgcmVpc2VyZnMKdW50ZXJzdHVldHp0IHdpcmQuIFdpciB2ZXJ3ZW5kZW4gendhciB4ZnMsIGFiZXIgaWNoIHBvc3R1bGllcmUgZGFzcyBlcyBkb3J0CmFlaG5saWNoIHNlaW4gd2lyZC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChUcm95LCAgNy4gQXVnIDIwMDMsIDA3OjU3OjA3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMTk2MDYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKdW1hc2ssIGZtYXNrLCBkbWFzayBzaW5kIG51ciBiZWkgRGF0ZWlzeXN0ZW1lbiBtb2VnbGljaCwgZGllIGtlaW5lCmVpZ2VuZSBSZWNodGV2ZXJ3YWx0dW5nIGhhYmVuICh6LiBCLiBGQVQgb2RlciBWRkFUKS4gZXh0TiB1c3cuIGhhYmVuIGRhcwpuaWNodCwgd2VpbCBtYW4gamEgbmFjaCBkZW0gbW91bnQgZWluIGNobW9kIG1hY2hlbiBrYW5uLgooVW5kIGRhcyBnZW1vdW50ZXRlIERhdGVpc3lzdGVtIHNpY2ggZGVuIFp1c3RhbmQgZGFubiBtZXJrdCkKClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGViaWFuIChDYWxkcmluLCAgNy4gQXVnIDIwMDMsIDA5OjAyOjU4KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2MDE2NTMxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2ClNvd29obCBLb25maWd1cmF0aW9uIGFscyBhdWNoIEluc3RhbGxhdGlvbiBkdWVyZnRlbiBzY2h3aWVyaWdlciBhbHMgbWl0IFlhU1QKc2Vpbi4gQmVpIERlYmlhbiBzaW5kIFBha2V0ZSBuaWNodCBzbyBzYXViZXIgZ2VvcmRuZXQgd2llIGJlaSBTdVNFLCBzb25kZXJuCmxpZWdlbiB3aWxkIHZlcnN0cmV1dCBpbiBTZWt0aW9uZW4sIGluIGRlbmVuIGdyYWQgbm9jaCBQbGF0eiB3YXIuIERhIGV0d2FzIHp1CmZpbmRlbiBpc3Qgb2huZSBkaWUgU3VjaGZ1bmt0aW9uIHZvbiBkc2VsZWN0IGRpZSBzcHJpY2h3b2VydGxpY2hlbiBTdWNoZSBuYWNoCmRlciBOYWRlbCBpbSBIZXVoYXVmZW4uIERhenUga29tbWVuIGJlc2NoZXVlcnRlIEluc3RhbGxhdGlvbnNkZWZhdWx0cywgei5CLgpoYXQgV29vZHkgYmVpIG1pciBlaW5lIGdsaWJjIG9obmUgbG9jYWxlLVN1cHBvcnQgaW5zdGFsbGllcnQuIFRyb3R6Ckluc3RhbGxhdGlvbiBkZXIgZW50c3ByZWNoZW5kZW4gSTE4Ti1QYWtldGUuIFdhcnVtLCB3YXMgbWFuIGRhZ2VnZW4gdHVuIGthbm4KdW5kIHdlciBkYWZ1ZXIgZ2VsYXJ0ZXQgZ2Vob2VydCwgaGFiIGljaCBiaXNoZXIgbmljaHQgcmF1c2dlZnVuZGVuLiBJY2ggaGF0dGUKbWVpbiBMRlMgc2NobmVsbGVyIGluIGJlbnV0emJhcmVtIFp1c3RhbmQgYWxzIFdvb2R5LiBXZW5uIFN1c2kgYmVpIGlocmVyCjgueC1TZXJpZSBuaWNodCBkZW4gWWFTVCAxIGdla2lja3QgaGFldHRlbiAobmFqYSwgd2FyIGF1Y2ggaW4gZGVyIDcueCBrYXVtCm5vY2ggcmljaHRpZyBiZW51dHpiYXIpLCB3dWVzc3RlIGljaCwgd2FzIGljaCBuZWhtZW4gd3VlcmRlLiBBYmVyIHNvPwpWaWVsbGVpY2h0IHNvbGx0ZSBpY2ggZGllIFdvcmtzdGF0aW9uIGF1Y2ggc2VsYmVyIGJhdWVuLgoKWXVzdCBteSAyIEZpbHMKQ2FsZHJpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChDYWxkcmluLCAgNy4gQXVnIDIwMDMsIDA5OjIzOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMTgxOTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKV2llIGthbm4gZGFzIFZlcmhhbHRlbiBrb25zaXN0ZW50IG1pdCBWYXJkaW9ucyBFcmtsYWVydW5nIHNlaW4uIEVyIHNhZ3QsIG5hY2gKZGVtIHJlbW91bnQgc29sbHRlbiBkaWUgUmVjaHRlIGF1ZiA3NzAgc3RlaGVuLCBkdSBzYWdzdCwgc2llIHN0ZWhlbiBhdWYgNzU1LgpGdWVyIG1pY2ggaXN0IGRhcyBpbmtvbnNpc3RlbnQuIFdlbm4gamVtYW5kIGRpZSBSZWNodGUgcnVlY2tzZXR6dCwga2FubiBlcwplbnR3ZWRlciBudXIgZGVpbiBNb3VudHByb2dyYW1tIG9kZXIgZWluIEFuZ3JlaWZlciBzZWluLiBXaXJmIG1hbCBlaW4gc3RyYWNlCmF1ZiBkYXMgbW91bnQgKHVuZCBkYXMgdW1vdW50KS4gRGVyIFN5c2NhbGwgaGVpc3N0IGF1Y2ggY2htb2QsIHNvbGx0ZSBhbHNvCmxlaWNodCBkYW5hY2ggenUgZ3JlcHBlbiBzZWluLgoKSFRICkNhbGRyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlYmlhbiAoQWxrb2hvbCwgIDcuIEF1ZyAyMDAzLCAwOTo0Mzo0Myk6Cn4jISBybj1DYWxkcmluIHJ0PTEwNjAyMzk3Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpuaW1tIGFwdGl0dWRlIGRhbm4gZmluZGVzdCBkdSBkaWUgUGFrZXRlIGF1Y2gKCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGViaWFuIChDYWxkcmluLCAgNy4gQXVnIDIwMDMsIDA5OjUxOjE3KToKfiMhIHJuPUFsa29ob2wgcnQ9MTA2MDI0MjIyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CldvdywgZGFzIGthbm50ZSBpY2ggbm9jaCBnYXIgbmljaHQuIFNpZWh0IHN1cGVyIGF1cywgZGFua2UhCgpzbyBsb25nCkNhbGRyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERlYmlhbiAoV2hpdGV0aWdlciwgIDcuIEF1ZyAyMDAzLCAwOTo1MzoxNyk6Cn4jISBybj1DYWxkcmluIHJ0PTEwNjAyNDI2Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpJY2ggaGF0dGUgYXB0aXR1ZGUgbWFsIGF1c3Byb2JpZXJ0LCBiaW4gZGFtaXQgYWJlciBnYXIgbmljaHQgenVyZWNodCBnZWtvbW1lbgp1bmQgZGFubiBiZWkgZHNlbGVjdC9hcHQtZ2V0L2FwdC1jYWNoZSBnZWJsaWViZW4uLi4KClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEZWJpYW4gKEJpZWxlZmVsZCwgIDcuIEF1ZyAyMDAzLCAwOTo1Mzo1MSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjAyNDI3OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgphcHQtZ2V0IG51ZXR6dCBEaXIgYWJlciBudXIgd2FzLCB3ZW5uIER1IHdlaXNzdCwgd2VsY2hlcyBQYWtldCBEaXIKZ2VyYWRlIGZlaGx0Li4uCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEZWJpYW4gKEFsa29ob2wsICA3LiBBdWcgMjAwMywgMDk6NTQ6NTEpOgp+IyEgcm49Q2FsZHJpbiBydD0xMDYwMjQyNjc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKdW5kIHp1ciBLb25maWd1cmF0aW9uIG11c3MgaWNoIHNhZ2VuOgppY2ggZmluZCBlcyBlaWdlbnRsaWNoIHZvbiBWb3J0ZWlsLCB3ZW5uIGRpZSBLb25maWd1cmF0aW9uIHVlYmVyIHRlaWx3ZWlzZQpzZWhyIGd1dCBrb21tZW50aWVydGUgYXNjaWlkYXRlaWVuIGxhZXVmdC4gVm9yIGFsbGVtIGthbm4gbWFuIHNlaHIgZWluZmFjaApEaW5nZSB3aWVkZXIgcnVlY2tnYWVuZ2lnIG1hY2hlbi4KCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGViaWFuIChOb25uZSwgIDcuIEF1ZyAyMDAzLCAxMDowMDo1MCk6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNjAyNDI4OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpBbHNvIG51ciBlaW5tYWwgRGViaWFuLWJlbnV0enQtaGFiZW5kZXIgbXVzcyBpY2ggc2FnZW46IFN1cGVyZWluZmFjaC4gSWNoCmhhdHRlIG1laW5lIGJlZGVua2VuLCB3ZWlsIGltbWVyIGdlc2FndCB3dXJkZSwgbWFuIG11c3MgdmllbCBwZXIgSGFuZCBtYWNoZW4sCmRhIGhhYmUgaWNoIG1pciBzbyBlaW5lIEFydCBMRlMgdm9yZ2VzdGVsbHQuIEljaCBoYWJlIGRhbm4gYWJlciBlaW5lbgpJbnRlcm5ldHJvdXRlciBhdWZnZXNldHp0IHVuZCBtdXNzdGUgbnVyIGVpbmUgZWluemlnZSBNYW5wYWdlIGxlc2VuCigvZXRjL25ldHdvcmsvaW50ZXJmYWNlcyksIHdlaWwgZXMgZGllIGF1ZiBkZW4gTGludXhlbiBuaWNodCBnYWIsIGRpZSBpY2gKYmlzaGVyIGJlbnV0enQgaGFiZS4gSWNoIG11c3Mgc2FnZW4sIGVzIGlzdCBzbyBlaW5mYWNoIHdpZSBtaXQgWWFTVCwgbnVyCnN0ZWhlbiBkaWUgSGlsZmVuIGdsZWljaCBkYWJlaSwgaWNoIG11c3MgbmljaHQgZXJzdCBhdWYgZGVuIEhpbGZlLUJ1dHRvbgprbGlja2VuLiBVbmQgZGFzIFBha2V0c3lzdGVtIGhhdCBlcyBtaXIgbmFjaCBlaW5lbSBOYWNobWl0dGFnIHNjaG9uIGFuZ2V0YW4sCnZvciBhbGxlbSBtaXQgZWluZXIgMi1NQml0LUxlaXR1bmcgdm9uIGlzaCAqZyoKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChHcmltbWJvcm4sICA3LiBBdWcgMjAwMywgMTA6MzQ6MDkpOgp+IyEgcm49Q2FsZHJpbiBydD0xMDYwMjQxMDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKSWNoIHNldHplIGRpZSBSZWNodGUgYXVmIDc1NS4gdW1vdW50ZSwgc2llIHN0ZWhlbiBhdWYgNzcwIChkZXIgbW91bnRwb2ludAp3dXJkZSBqYSBuaWNodCBnZWFlbmRlcnQpLiBJY2ggcmVtb3VudGUsIHNpZSBzaW5kIHdpZWRlciA3NTUgKHdlaWwgZGFzIGZzIHNpY2gKZGllIEFlbmRlcnVuZyBnZW1lcmt0IGhhdCksIHNvIHdpZXMgc2VpbiBzb2xsLiBXYXMgZ2VuYXUgd2FyIERpciBkYSB1bmtsYXIsCm1laW5lIHVyc3BydWVuZ2xpY2hlIERhcnN0ZWxsdW5nLCBWYXJkaW9ucyBFcmtsYWVydW5nIG9kZXIgbm9jaCB3YXMgYW5kZXJlcz8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChBbGtvaG9sLCAgNy4gQXVnIDIwMDMsIDEwOjM0OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMjQ1MjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKZW1hY3M/IHdhcyBpc3QgZGFzLCB3b2Z1ZXIgYnJhdWNodCBtYW4gZGFzPwoKQWxrIGtpY2hlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEZWJpYW4gKEdyaW1tYm9ybiwgIDcuIEF1ZyAyMDAzLCAxMDozNToxMCk6Cn4jISBybj1Ob25uZSBydD0xMDYwMjQzMjUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKVHV0IG1pciBsZWlkLCBhYmVyIHdlbm4gaWNoIGVpbiBTeXN0ZW0gaGFiZSBpbmRlbSBpY2ggbWFsIG5hY2hndWNrZSB3bwplaWdlbnRsaWNoIGVtYWNzIGxpZWd0IHVuZCBmaW5kZToKIC91c3IvYmluL2VtYWNzIC0+IC9ldGMvYWx0ZXJuYXRpdmVzL2VtYWNzIC0+IC91c3IvYmluL2VtYWNzMjAgLT4KL3Vzci9iaW4vZW1hY3MtMjAuNwpkYW5uIHJ1bnplbCBpY2ggZGllIFN0aXJuLiBNYW4ga2FubnMgbWl0IGRlbSBzeW1saW5rZW4gZG9jaCBlY2h0CnVlYmVydHJlaWJlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBwZXJtaXNzaW9ucyBiZWltIG1vdW50ZW4gKEdyaW1tYm9ybiwgIDcuIEF1ZyAyMDAzLCAxMDozNzoyOSk6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNjAyNDUyOTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE3NDU4MwogL3Vzci9iaW4vdmkgLT4gL2V0Yy9hbHRlcm5hdGl2ZXMvdmkgLT4gL3Vzci9iaW4vdmltCmZpbmRlIGljaCBudXIgbWFyZ2luYWwgYmVzc2VyLgoKVW5kIGVtYWNzIGlzdCBlaW4gZWlnZW50bGljaCByZWNodCBiZWthbm50ZXIsIG1hZWNodGlnZXIgRWRpdG9yLCBkZXIgdW50ZXIKdW5peG9pZGVuIEJldHJpZWJzc3lzdGVtZW4gemllbWxpY2ggZ2VicmFldWNobGljaCBpc3QuIFNpZWhzdGUsIGhhc3RlIHdpZWRlcgp3YXMgZ2VsZXJudCwgZGEgc2FnZSBub2NoIGplbWFuZCBNUEEgbGVzZW4gd3VlcmRlIG5pY2h0IGJpbGRlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcGVybWlzc2lvbnMgYmVpbSBtb3VudGVuIChBbGtvaG9sLCAgNy4gQXVnIDIwMDMsIDEwOjQxOjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYwMjQ1NDQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNzQ1ODMKCndlciBydWZ0IHNjaG9uIHZpIGF1Zj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoQ2FsZHJpbiwgIDcuIEF1ZyAyMDAzLCAxMDo0Njo1MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA2MDI0NTI0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCkljaCBoYXR0ZSB2ZXJzdGFuZGVuLCBkYXNzIGR1IGRhcyBnZW1vdW50ZXRlIC9tbnQgYXVmIDc3MCBzdGVsbHN0IHVuZCBuYWNoCmVpbmVtIHJlbW91bnQgaXN0IGVzIGF1ZiBtYWdpc2NoZW0gV2VnZSB3aWVkZXIgYXVmIDc1NSB6dXJ1ZWNrLiBXYXMgZ2VuYXUgaXN0CmRhbm4gZGVpbmUgRnJhZ2U/IFdpbGxzdCBkdSBlaW4gY2htb2QgYXVmIGVpbiBnZW1vdW50ZXRlcyAvbW50IG1hY2hlbiwgZGFzCnNpY2ggKG51cikgYXVmIGRlbiBuaWNodCBnZW1vdW50ZXRlbiBadXN0YW5kIGF1c3dpcmt0PyBVbmQgd2VubiBqYSwgd2FydW0/Ck9kZXIgYmluIGljaCBoZXV0ZSBudXIgZXR3YXMgc2Nod2VyIHZvbiBCZWdyaWZmPwoKc28gbG9uZwpDYWxkcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MjU0NDogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoR3JpbW1ib3JuLCAgNy4gQXVnIDIwMDMsIDEwOjUxOjA0KToKfiMhIHJuPUphbWVzb24gcnQ9MTA2MDI0NjAxMyByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKV2FzIG1laW5lIEZyYWdlIGlzdD8gQmVhbnR3b3J0ZXQgd29yZGVuLCBuZXR0ZXJ3ZWlzZS4gCldpciBoYWJlbiBoaWVyIEJldHJpZWJzc3lzdGVtZSAoU3VwZXItVVgpLCB3byBkaWUgUmVjaHRlIG5hY2ggZWluZW0gY2htb2QgYXVmCmVpbiBnZW1vdW50ZXRlcyBmcyBuYWNoIGVpbmVtIHJlYm9vdCB3aWVkZXIgZGllIFJlY2h0ZSBkZXMgbW91bnRwb2ludHMgc2luZAoobGF1dCBBdXNzYWdlIHVuc2VyZXMgU3VwZXItVVggR3VydXMpLCBtYW4gYWxzbyB0dW5saWNoc3QgZGVuIG1vdW50cG9pbnQgbmljaHQKdmVyZ2Vzc2VuIHNvbGx0ZS4gSWNoIGhhYnMgbmljaHQgYXVzcHJvYmllcnQgdW50ZXIgamVuZW0gT1MsIGFiZXIgd29sbHRlIGZ1ZXIKZGllIExpbnV4LVNlaXRlIHNpY2hlcmdlaGVuIGRhc3MgaWNoIGRhIGtlaW5lIFByb2JsZW1lIGtyaWVnZS4KTWl0dGVyd2VpbGUgZ2FicyBnZXN0ZXJuIEFiZW5kIGVpbmUgUHJvYmxlbXNpdHVhdGlvbiwgaW4gZGVyZW4gRm9sZ2UgZGllCktpc3RlbiByZWJvb3RldCB3dXJkZW4uIEhhdCBwcmltYSBnZWtsYXBwdCwgVmFuaW9ucyBFcmtsYWVydW5nIGlzdCBkYW1pdAp2ZXJpZml6aWVydCAoc28gZGVubiBub2NoIFp3ZWlmZWwgd2FyZW4pLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEZWJpYW4gKEh1bW5pLCAgNy4gQXVnIDIwMDMsIDExOjEwOjIwKToKfiMhIHJuPU5vbm5lIHJ0PTEwNjAyNDMyNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpEZWJpYW4gYmVudXR6ZW4gaXN0IHNvIGVpbmZhY2ggb2RlciBzY2h3ZXIgd2llIGJlaSBqZWRlbSBhbmRlcmVuIExpbnV4IGF1Y2guCkljaCBtdXNzIGRhenUgc2FnZW4gZGFzcyBpY2ggcGVyc29lbmxpY2ggZHNlbGVjdCB2b24gZGVyIEJlbnV0emVyZnVlaHJ1bmcgaGVyCnp1bSBrb3R6ZW4gZmFuZC4gRGEgaGF0IGplbWFuZCBkcmFuIGdlc2Vzc2VuIHVuZCB1ZWJlcmxlZ3QgLCx3ZWxjaGUgVGFzdGUgd2lsbAplciBkYWZ1ZXIga2VpbmVzZmFsbHMgZHJ1ZWNrZW4/IERpZSBuZWhtZW4gd2lyIGZ1ZXIgZGllIEZ1bmt0aW9uLicnIE5hamEsIGd1dCwKd2FyIHp1bWluZGVzdCBtZWluIEVpbmRydWNrLiBhcHQtZ2V0IGZhbmQgaWNoIGhpbmdlZ2VuIGd1dCA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEZWJpYW4gKFdoaXRldGlnZXIsICA3LiBBdWcgMjAwMywgMTE6MTE6NTgpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MDI0NzQyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkljaCBoYWIgbWFsIHNhcmdlLWRzZWxlY3QgYXVzcHJvYmllcnQsIHVuZCBpc3QgaW0gVmVyZ2xlaWNoIHp1bSB3b29keS1kc2VsZWN0CnZvbiBkZXIgVGFzdGVuYmVsZWd1bmcgX3dlc2VudGxpY2hfIGxvZ2lzY2hlciB1bmQgaW50dWl0aXZlciAuLi4gdW5kIGhhdCBuaWNodAphdWYgamVkZW0gRmVuc3RlciBmdWVyIGVpbiBLb21tYW5kbyBuZSBhbmRlcmUgVGFzdGUuCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGViaWFuIChBbmF0b2wsICA3LiBBdWcgMjAwMywgMjI6MzQ6MTMpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDYwMjQ3NTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKCkhhdCBoaWVyIGF1Y2ggamVtYW5kIEdlbnRvby1FcmZhaHJ1bmc/IFd1ZXJkZSBtaWNoIG1hbCBpbnRlcmVzc2llcmVuLCAKaG9lcnQgc2ljaCBzbyBoZXJybGljaCBzY2hyYWVnIHVuZCBudWV0emxpY2ggYW4uLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERlYmlhbiAoRm9vYmFyLCAgNy4gQXVnIDIwMDMsIDIyOjM2OjA1KToKfiMhIHJuPUFuYXRvbCBydD0xMDYwMjg4NDUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKV2FyIGRhcyBkaWUgRGlzdHJpYnV0aW9uLCB3byBtYW4gKGZhc3QpIGFsbGVzIHNlbGJlciBrb21waWxpZXJ0PwoKV2VyZGUgaWNoIGRhIG5vY2ggaW4gZGllc2VtIEphaHIgZmVydGlnIG1pdCBkZXIgSW5zdGFsbGF0aW9uIGF1ZiBtZWluZXIKMzAwLU1Iei1LaXN0ZT8gO28pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBEZWJpYW4gKEdyaW1tYm9ybiwgIDcuIEF1ZyAyMDAzLCAyMjo0ODo1OSk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MDI4ODU2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2Clp1IEdlbnRvbyBrYW5uIGljaCB3ZW5pZyBzYWdlbiwgYWJlciBkZXIgdHlwaXNjaGUgR2VudG9vLUJlbnV0emVyIGhhdCBkaWUKSGFsdHVuZyAiaWNoIGhhYiB6d2FyIGtlaW5lIEFobnVuZywgd2lsbCBhYmVyIGVpbiB2b2xsIGtyYXNzIGtld2xlcwpvcHRpbWllcnRlcyBTeXN0ZW0sIHVuZCB3ZW5uIGljaCBkZXN3ZWdlbiBQcm9ibGVtZSBoYWJlIGZyYWdlIGljaCBkaWUgdm9sbAprcmFzcyBrZXdsZW4gR3VydXMgdW5kIGdlaGUgZGVuZW4gc29sYW5nZSBhdWYgZGllIE5lcnZlbiBiaXMgc2llIGJlaSBkZXIKYmxvc3NlbiBFcndhZWhudW5nIHZvbiAnR2VudG9vJyBpbiBkaWUgVGlzY2hrYW50ZSBiZWlzc2VuIHVuZCBidWcgcmVwb3J0cyB2b24KR2VudG9vLUJlbnV0emVybiBnZW5lcmVsbCBpZ25vcmllcmVuLiIgClNvIGFlaG5saWNoIGplZGVuZmFsbHMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEZWJpYW4gKFR1c2t5LCAgOC4gQXVnIDIwMDMsIDAwOjUxOjMxKToKfiMhIHJuPUFuYXRvbCBydD0xMDYwMjg4NDUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKVmllbGUgbWVpbmVyIEt1bXBlbHMgYmVudXR6ZW4gR2VudG9vIHVuZCB3b2xsZW4gbWljaCBhdWNoIGdlZnVlZ2lnIG1hY2hlbi4uLgo7KQpIYWJlIGFiZXIgYmlzaGVyIHdpZWRlcnN0YW5kZW4uIElzdCBkb2NoIGlyZ2Vud2llIHppZW1saWNoCnByb3ByaWV0YWVyZGluZ3NidW1zLCBtYW5uIG11c3MgYWxsZXMgbmV1IGxlcm5lbiB1bmQgYmVpIHVwZGF0ZXMgaXN0IG1hbiwgd2lsbAptYW4gaW5rb3Npc3RlbnpkaW5nc2J1bXNlbiB2ZXJtZWlkZW4gYXVmIGRpZSBtYWNoZXIgYm9uIGdlbnRvbyBhbmdld2llc2VuCkhvcnJpZG9oLApUdXNreQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERlYmlhbiAoQ2F0d2VhemxlLCAgOC4gQXVnIDIwMDMsIDAwOjU1OjAxKToKfiMhIHJuPVR1c2t5IHJ0PTEwNjAyOTY2OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpEaWUgQW50d29ydCBpc3QgZWluZmFjaCB1bmQgYmVyZWl0cyB2b3JnZWZvcm10LgoKU29sYW5nZSBkdSBuaWNodCBkZXIga3Jhc3Mga2V3bGUgR3VydSBiaXN0LCBiZW51dHogZXMgbmljaHQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEZWJpYW4gKE9nbywgIDguIEF1ZyAyMDAzLCAwMzo0ODoyMyk6Cn4jISBybj1BbmF0b2wgcnQ9MTA2MDI4ODQ1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkljaCBsYXNzZSBHZW50b28gYXVmIG1laW5lciBTR0kgSW5keSAoUjUwMDBAMTgwbWh6IDEyOG1iUmFtIGZ1ZXIgZGllIEtlbm5lcikKbGF1ZmVuLCB3ZWlsIGljaCBpcmdlbmR3aWUgbWl0IElyaXggYXVmIGRlbSBLcmllZ3NmdXNzIHN0ZWhlIHVuZCBzb25zdCBudXIKRGViaWFuIGluIEZyYWdlIGtvbW10LCBtaXQgZGVtIGljaCBuaWNodCBudXIgYXVmIEtyaWVnc2Z1c3Mgc3RlaGUgc29uZGVybiBlaW5lCkFudGlwYXRoaWUgZ2VnZW4gaGVnZS4gRWluZSBEaXN0cm8sIHdlbGNoZSBEb2t1cyBhdWZncnVuZCB2b24gZmFsc2NoZW4KTGl6ZW56ZW4gZW50ZmVybmVuIHdpbGwsIGZpbmQgaWNoIHN1c3Bla3QuIChKYWphLCBGbGFpbWJhaXQgLTEpLiAKTnVuIGFiZXIgenUgR2VudG9vOiBFcyBoYXQgZWluIEZyZWVCU0QgYWVobmxpY2hlcyBQYWNrYWdlIFN5c3RlbSwgd2VsY2hlcwp6aWVtbGljaCBndXQgZnVua3Rpb25pZXJ0LiBXYXMgYmVzb25kZXJzIG5ldHQgaXN0IChvYiAqQlNEIHNvd2FzIGhhdCwgd2Vpc3MKaWNoIG5pY2h0KSBzaW5kIHNvZ2VuYW5udGUgU2xvdHMsIG1pdCBkZW5lbiBlcyBsZWljaHQgbW9lZ2xpY2ggaXN0LCB6LmIuCnZlcnNjaGllZGVuZSBHQ0MgcHJvYmxlbWxvcyBuZWJlbmFuZGVyIGxhdWZlbiB6dSBsYXNzZW4uIERhbm4gZ2lidCBlcwpVU0UtRmxhZ3MsIHdvIG1hbiBhbmdpYnQsIG1pdCB3YXMgbWFuIGRhcyBTeXN0ZW0gYmF1ZW4gd2lsbCwgei5iLiArbXlzcWwgLWphdmEKK2d0ayAta2RlLiBEYW5uIHdlcmRlbiBiZWkgc2FlbXRsaWNoZW4gZWJ1aWxkcywgc3ByaWNoIFNjcmlwdGVuLCBkaWUgbWFuIHp1bQpJbnN0YWxsaWVyZW4gdm9uIFBha2V0ZW4gdmVyd2VuZGVuLCBkaWUgbm9ldGlnZW4gY29uZmlndXJlIE9wdGlvbnMgcmljaHRpZwpnZXNldHp0LiBEYXMga2xhcHB0IHppZW1saWNoIGd1dC4KRXMgZ2lidCBlaW5lbiBTdGFibGUgdW5kIGVpbmVuIFVuc3RhYmxlIE1vZGUsIGRlbiBtYW4gZWluZmFjaCBpbiBlaW5lcgovZXRjL21ha2UuY29uZiBlaW50cmFlZ3QsIHg4NiBmdWVyIHN0YWJsZSB1bmQgfng4NiBmdWVyIHVuc3RhYmxlLgoKR2VudG9vIGhhdCBlaW4gbmV0dGVzIFBha2V0LVZlcndhbHR1bmdzc3lzdGVtLCB1bmQgbWFuIGthbm4gKG9iIGRhcyBudW4Kd2lya2xpY2ggc28gdmllbCBicmluZ3QsIHdlaXNzIGljaCBuaWNodCkgZXR3YWlnZSBHQ0MgT3B0aW1pZXJ1bmdzZmxhZ3MKZWlubWFsaWcgc2V0emVuLCB1bmQgZGFubiBkYXJhdWYgYXVmYmF1ZW5kIHNlaW4gU3lzdGVtIG9wdGltaWVyZW4uIEJlaSBtZWluZXIKSW5keSBicmluZ3QgZXMgc2Nob24gbmUgTWVuZ2UsIHdlbm4gaWNoIC1taXBzNCAtbXR1bmU9cjUwMDAgLW1hYmk9MzIgc2V0emUsCmFiZXIgZGllIHg4Ni1CaW5hcnktRGlzdHJpYnV0aW9uZW4gb3B0aW1pZXJlbiB3b2hsIGF1Y2ggZWggenVtIGdyb2Vzc3RlbiBUZWlsCmF1ZiA2ODYgdW5kIGRhIGlzdCBkYW5uIGtlaW4gZ3Jvc3NlciBVbnRlcnNjaGllZCB6dSAtbWNwdT1hdGhsb254cCBtZWhyIHp1CnNlaGVuLiBEZXIgR2VicmF1Y2ggdm9uIHNvbGNoZW4gQ29tcGlsZS1GbGFncyBnZWh0IGJlaSBkaXZlcnNlbiBHZW50b28tVXNlcm4KZG9jaCBlaGVyIGdlbiBGZXRpc2NoLgpHZW50b28gaGF0IGVpbiB6d2VpZmVsaGFmdGVzIEltYWdlLCB2aWVsZSBBbWF0ZXVyZSBzaW5kIHZvbiBTdXNlIHVuZCBLb25zb3J0ZW4KenUgR2VudG9vIGdld2VjaHNlbHQgdW5kIGZ1ZWhsZW4gc2ljaCBudW4gd2llIGRpZSBrcmFzc2VzdGVuIEg0Y2szciwgd2VpbCBzaWUKbWVociBtaXQgU3lzdGVtaW50ZXJuYSBrb25mcm9udGllcnQgd2VyZGVuLiBJY2ggZnJldWUgbWljaCwgd2VubiBMZXV0ZSBuaWNodApudXIgbWl0IFlhc3QyIHVuZCBXaW5kb3dzIE5FIGFyYmVpdGVuIHVuZCBlaW4gYmlzc2NoZW4gbWVociB2b20gU3lzdGVtCnZlcnN0ZWhlbiwgd2FzIGJlaSBHZW50b28gendhbmdzbGFldWZpZyBkZXIgRmFsbCBpc3QsIGFiZXIgZGVyZW4gR2VoYWJlIGdlaHQKbWlyIGJpc3dlaWxlbiBhdWNoIGF1ZiBkZW4gU2Vua2VsLiAKSWNoIGZpbmRlLCBkYXNzIEdlbnRvbyBlaW5lIHppZW1saWNoIGd1dCB6dSB3YXJ0ZW5kZSBEaXN0cm8gaW0gRW5kdXNlciBCZXJlaWNoCmlzdCwgc29mZXJuIG1hbiB6d2VpIEF1ZmxhZ2VuIGhhbGJ3ZWdzIGVyZnVlbGx0OiBEU0wtRmxhdHJhdGUgdW5kIGRpZSBNdXNlLAptYWwgYXVmIGVpbiBLREUgPjEwIFN0dW5kZW4gKFlNTVYpIHp1IHdhcnRlbi4KCkFuc29uc3RlbiBnaWJ0IGVzIG5vY2ggQ3J1eCwgd2VsY2hlIGF1Y2ggU291cmNlLWJhc2llcnQgaXN0LCBhYmVyIGRldXRsaWNoCnNjaGxhbmtlciB1bmQgdW5iZWthbm50ZXIgaXN0LCBhYmVyIGRlbm5vY2ggc2VociBzY2hvZW4uCgpPZ28sIGRlciBqZWRlbSBtaXQgZWluIGJpc3NjaGVuIEJhc3RlbHRyaWViIG5pY2h0IHVuYmVkaW5ndCB2b24gR2VudG9vIGFicmF0ZW4Kd3VlcmRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHBlcm1pc3Npb25zIGJlaW0gbW91bnRlbiAoTW9yZ29uYXRlLCAgOC4gQXVnIDIwMDMsIDA1OjU3OjI5KToKfiMhIHJuPUFsa29ob2wgcnQ9MTA2MDI0NTY2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTc0NTgzCip6b2VnZXJuZGUgbWVsZHVuZyoKCmVtYWNzIG1hZyB6d2FyIG1hZWNodGlnIHNlaW4uIEFiZXIgd2VubiBtYW4gZGEgbmljaHQgdGFlZ2xpY2ggbWl0IGFyYmVpdGV0LAppc3QgZXIgZWluZmFjaCB6dSBrb21wbGl6aWVydC4KCgpNb3Jnb25hdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBEZWJpYW4gKFRhcmFuaXMsICA4LiBBdWcgMjAwMywgMDc6NTc6NDIpOgp+IyEgcm49VHVza3kgcnQ9MTA2MDI5NjY5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CldpZSBrb21tc3QgRHUgZGVubiBhdWYgZGllIFZlcm11dHVuZywgZGFzcyBtYW4gYmVpIEdlbnRvbyBhbGxlcyBuZXVsZXJuZW4KbXVzcz8gR2VudG9vIGlzdCBlaW5lIExpbnV4LURpc3RyaWJ1dGlvbiwgZGllIGVpbiBwYWFyIEJlc29uZGVyaGVpdGVuIGhhdCwKYWJlciBlcyBsYWVzc3Qgc2ljaCB3ZWl0Z2VoZW5kIHdpZSBqZWRlcyBhbmRlcmUgTGludXggYXVjaCBhZG1pbmlzdHJpZXJlbi4gRXMKZW1wZmllaGx0IHNpY2ggbmF0dWVybGljaCwgZWluZW4gQmxpY2sgbWFsIGt1cnogaW4gZGllIG1laXN0IGd1dGUgRG9rdSB6dQp3ZXJmZW4sIGFiZXIgc28gdHJhZ2lzY2ggaXN0IGRhcyBuaWNodC4KVW5kIGF1ZiBVcGRhdGVzIGRlciBEaXN0cmlidXRpb24gaXN0IG1hbiBhdWNoIGJlaSBhbmRlcmVuIERpc3RyaXMgYW5nZXdpZXNlbiwKc29mZXJuIG1hbiBJbmtvbnNpc3RlbnplbiB2ZXJtZWlkZW4gd2lsbC4gRGEgc2VoZSBpY2ggZ2FyIGtlaW5lbiBVbnRlcnNjaGllZC4KV2VubiBpY2ggdmVyc3VjaGUsIGJlaSBTdXNlIG9kZXIgUmVkaGF0IGF1cyBRdWVsbGVuIHp1IGtvbXBpbGllcmVuIG9kZXIKZGlzdHJpYnV0aW9uc2ZyZW1kZSBQYWtldGUgZWluenVzcGllbGVuLCBwcm9kdXppZXIgaWNoIGhhbHQgYXVjaApJbmtvbnNpc3Rlbnplbi4KSWNoIGZpbmRlIGVzIHNjaGFkZSwgZGFzcyBhdWZncnVuZCBlaW5pZ2VyIExldXRlIGRpZSBEaXN0cmkgZWluZW4gdGVpbHdlaXNlCnNjaGxlY2h0ZW4gUnVmIGhhdCwgYWJlciBkYSBrYW5uIG1hbiB3b2hsIG5pY2h0IHZpZWwgZHJhbiBhZW5kZXJuLiBXZXJmdCBhYmVyCmJpdHRlIG5pY2h0IGFsbGUgR2VudG9vLUJlbnV0emVyIGluIGRlbnNlbGJlbiBUb3BmICgiR2VudG9vIGlzdCBudXIgd2FzIGZ1ZXIKdm9sbCBrZXdsZSwgY3Jhc3NlIE1vZWNodGVnZXJuLUhhY2tlciIpLgpBbnNvbnN0ZW4gaGF0IE9nbyBqYSBzY2hvbiBlaW5pZ2UgZGVyIEJlc29uZGVyaGVpdGVuIHZvbiBHZW50b28gZXJ3YWVobnQuCgpHcnVlc3NlLApUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRGViaWFuIChUcm95LCAgOC4gQXVnIDIwMDMsIDA5OjE5OjUxKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA2MDMyMjI2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkFsc28gaWNoIGhhYiBtZWhyZXJlIEdDQ3MgYXVjaCBvaG5lICJTbG90cyIgcHJvYmxlbWxvcyBuZWJlbmVpbmFuZGVyIGxhdWZlbi4KV296dSBtYW4gZGEgZXh0cmEgd2FzIGRydW1ydW1iYXVlbiBtdXNzIGlzdCBtaXIgc2NobGVpZXJoYWZ0LgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IERlYmlhbiAoWm9vaywgIDguIEF1ZyAyMDAzLCAxMTo1ODoxMSk6Cn4jISBybj1UYXJhbmlzIHJ0PTEwNjAzMjIyNjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpBbHNvIHNvIGdhbnoga2FubiBpY2ggZGllc2UgR3JhYmVua3JhZW1wZmUgZGVyIExpbnV4LUxpZWJoYWJlciBuaWNodCBnYW56CnZlcnN0ZWhlbi4gRGFzIGdlaHQgZG9jaCBnYW56IGVpbmZhY2g6IEZyZWVCU0QtQ0QgaW4gZGVuIFBDLCBpbnN0ZW4gdW5kIGd1dAppc3QuIEhhdCBtYW4gd2VuaWdzdGVucyBlaW4gc2F1YmVyIGF1ZmVpbmFuZGVyIGFiZ2VzdGltbXRlcyBPUyB1bmQgU1cgdm9uCkRyaXR0ZW4gbGFlc3N0IHNpY2ggaGVydm9ycmFnZW5kIGR1cmNoIGRhcyAiUG9ydHMiLVN5c3RlbSBlaW5iaW5kZW46IAoiY2QgL3Vzci9wb3J0cy9ibHViYjsgbWFrZSBhbGwgaW5zdGFsbCBjbGVhbiIgdW5kIHNjaHd1cHBzLCBzYXVndCBlciBzaWNoCmRlbiBub2V0aWdlbiBLcmFtLCBwYXRzY2h0IGlobiBmdWVyICpCU0QgdW5kIGluc3RldCBkYXMgZ2FueiBlaW5mYWNoLiBXYXMKd2lsbCBtYW4gbWl0IEJhc3RlbGVpZW4gdW5kIGRpZXNlbSBIaW51bmRoZXJnZXNjaHViYmVsIG1pdCB2ZXJzY2hpZWRlbmVuCkRpd2llaGVpc3N0ZGFzPyBEaXN0cmlzPyBOYWphLCBndXQsIGplZGVyIHdpZSBlciBtYWcuIE1hbmNoZSBMZXV0ZSBrYXVmZW4gCnNpY2ggamEgYXVjaCBYIFRlaWxlIHVuZCBiYXN0ZWxuIGlociBBdXRvIGluIEhlaW1hcmJlaXQgenVzYW1tZW4uCgpVZWJyaWdlbnMsIGRpZSAqQlNELUxpemVueiBpc3QgdW0gZWluaWdlcyBmcmVpenVlZ2lnZXIgYWxzIEdQTCB1bmQgYXVzc2VyZGVtCnNpbmQgc2Nob24gdm9yIHZpZWxlbiB2aWVsZW4gSmFocmVuIGRpZSBVTklYLVRlaWxlIChBVCZUIG1hbiBlcmlubmVyZSBzaWNoKQplbnRmZXJudCB3b3JkZW4uIAoKQWxzbywgaW5zdGV0IGRvY2ggRXVlciBOdWVybmJlcmdlci1XaW5kb3dzIHVuZCBiZXphaGx0IGRpZSAxOTkgYmlzIDQ5OTkgVVNECmFuIFNDTyB1bmQgZ3V0IGlzdC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRGViaWFuIChPZ28sICA4LiBBdWcgMjAwMywgMTM6MDA6MzYpOgp+IyEgcm49Wm9vayBydD0xMDYwMzM2NjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKPiBBbHNvIHNvIGdhbnoga2FubiBpY2ggZGllc2UgR3JhYmVua3JhZW1wZmUgZGVyIExpbnV4LUxpZWJoYWJlciBuaWNodAo+IGdhbnogdmVyc3RlaGVuLgpbc25pcCAqYnNkIHplYWxvdHJ5XQoKV2VubiBkdSB3ZW5pZ3N0ZW5zIGZ1ZXIgTmV0QlNEIHdldHRlcm4gd3VlcmRlc3QsIGFiZXIgc28gYXVjaCBoaWVyOiBGbGFtZWJhaXQKLTEuIAoKT2dvLCBkZXIgYXVjaCBmaW5kZXQsIGRhc3MgVGhlbyBzYXVndCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IERlYmlhbiAoQm9pbmcsICA4LiBBdWcgMjAwMywgMTM6MDQ6MDApOgp+IyEgcm49T2dvIHJ0PTEwNjAzNDA0MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpOYWphLCB3ZW5pZ3N0ZW5zIHNjaGVpbnQgQlNFIGltIEdlZ2Vuc2F0eiB6dSBMaW51eCB6dSBmdW5rdGlvbmllcmVuIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRGViaWFuIChab29rLCAgOC4gQXVnIDIwMDMsIDEzOjA0OjM5KToKfiMhIHJuPUJvaW5nIHJ0PTEwNjAzNDA2NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpJY2ggYmVmdWVyY2h0ZSwgZGFzIHdlcmRlbiBkaWUgYWx0a2x1Z2VuIFNrcmlwdGtpZGRpZXMgbmljaHQgZWluc2VoZW4gd29sbGVuLgoKWk9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBEZWJpYW4gKE9nbywgIDguIEF1ZyAyMDAzLCAxMzowNjowNCk6Cn4jISBybj1ab29rIHJ0PTEwNjAzNDA2Nzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpOYWphLCBlaW4gQXJndW1lbnQsIGRhcyBrYW0sIHdhciB1bnRlciBhbmRlcmVuIGRlciAoaG9oZT8pIFByZWlzIGZ1ZXIgc28gZWluClN1c2UuIEljaCBnbGF1Yiwgd2lyIHNpbmQgdW5zIGVpbmlnLCBkYXNzIHdpciBkYXMgaW4gZGVyIEFyZ3VtZW50YXRpb25za2V0dGUKd2VnbGFzc2VuIHdvbGxlbiwgbmljaHQgd2Focj8KCjBnMCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBEZWJpYW4gKFpvb2ssICA4LiBBdWcgMjAwMywgMTM6MDc6MTApOgp+IyEgcm49T2dvIHJ0PTEwNjAzNDA3NjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpIb2hlciBQcmVpcyBpbmNsLiBvZGVyIGV4Y2wuIGRlciBTQ08tR2VidWVocmVuPyA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEZWJpYW4gKENhbGRyaW4sICA4LiBBdWcgMjAwMywgMTM6MDk6NTYpOgp+IyEgcm49Wm9vayBydD0xMDYwMzM2NjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKPiBkaWUgQlNELUxpemVueiBpc3QgaW0gZWluaWdlcyBmcmVpenVlZ2lnZXIgYWxzIEdQTAoKSmEsIHZpZWwgenUgZnJlaXp1ZWdpZy4gV2VubiBpY2ggZnVlciBNaWNyb3NvZnQgcHJvZ3JhbW1pZXJlLCB3aWxsIGljaCBkYWZ1ZXIKR2VsZCBzZWhlbi4gVW5kIHdlbm4gaWNoIG1laW5lIFNvZnR3YXJlIGtvc3RlbmxvcyBhYmdlYmUsIHdpbGwgaWNoIG5pY2h0LCBkYXMKZGllc2UgQXJzY2hsb2VjaGVyIG1laW5lIEFyYmVpdCB2ZXJ3ZW5kZW4gdW0gaWhyZSBLdW5kc2NoYWZ0IGJlc3NlciBpbiBpaHJlbgpSZWNodGVuIGVpbnNjaHJhZW5rZW4genUga29lbm5lbi4gCgpzbyBsb25nCk1haWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBEZWJpYW4gKE9nbywgIDguIEF1ZyAyMDAzLCAxMzoxMTo0NCk6Cn4jISBybj1ab29rIHJ0PTEwNjAzNDA4MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgoqcmFldXNwZXIqIEluIGRlaW5lbSAqQlNEIHN0ZWNrdCBtZWluIGdlaXN0aWdlcyBFaWdlbnR1bSwgZHUgbW9lZ2VzdCBtaXIgYml0dGUKMTAwMEVVUiB1ZWJlcndlaXNlbiwgbWVpbmUgS29udG92ZXJiaW5kdW5nIGdpYnRzIGF1ZiBOYWNoZnJhZ2UuIExlaWRlciBrYW5uCmljaCBEaXIgbmljaHQgemVpZ2VuLCB3YXMgZGF2b24gbWlyIGdlaG9lcnQsIGR1IG11c3N0IG1pciBkYXMgZWluZmFjaCBnbGF1YmVuLgpEdSBlcndpcmJzdCBkYW5uIHZvbiBtaXIgZGFzIFJlY2h0LCBtZWluIGdlaXN0aWdlcyBFaWdlbnR1bSBpbiAqQlNEIGluCkJpbmFlcmZvcm0genUgdmVyd2VuZGVuLiBEaWUgV2VpdGVyZ2FiZSBpc3QgZGFyaW4gbmljaHQgZWluZ2VzY2hsb3NzZW4uCkFuc29uc3RlbiBrb2VubnRlc3QgZHUgZGljaCByZWNodGxpY2hlbiBTY2hyaXR0ZW4gbWVpbmVyc2VpdHMgYXVzZ2VzZXR6dApzZWhlbi4KCkhvY2hhY2h0dW5nc3ZvbGwKClNDT0dPCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRGViaWFuIChab29rLCAgOC4gQXVnIDIwMDMsIDEzOjExOjUyKToKfiMhIHJuPUNhbGRyaW4gcnQ9MTA2MDM0MDk5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CldhcyBoYXN0IER1IGRlbm4gVG9sbGVzIHByb2dyYW1taWVydCwgd2FzIGRpZSBGaXJtYSBNaWNyb3Nmb3J0IGF1Y2ggbnVyIGltCmVudGZlcm50ZXN0ZW4gaW50ZXJlc3NpZXJlbiB3dWVyZGUgdW5kIHdhcyBzaWUgdW5iZWRpbmd0IHZvbiBEaXIgYnJhdWNoZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IERlYmlhbiAoTWFyY3VzLCAgOC4gQXVnIDIwMDMsIDEzOjQ2OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTA2MDM0MTExMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkJvaW5nLCBrYXVmIGRpciBoYWx0IG5lIGdlc2NoZWl0ZSBHcmFmaWtrYXJ0ZSB1bmQga2VpbiBOVmlkaWEgU2Nocm90dCwKZGFubiBnZWh0IFN1U0UgYXVjaCBvdXQgb2YgdGhlIGJveC4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IERlYmlhbiAoTXVhZGliLCAgOC4gQXVnIDIwMDMsIDE5OjMxOjA1KToKfiMhIHJuPU1hcmN1cyBydD0xMDYwMzQzMTk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKbWFuIGthdWZ0IHNpY2ggYWxzIHByaXZhdG1hbm4gc2VpdCBuZXVlc3RlbSBkaWUgaHcgenVtIG9zIGFuc3RhdHQgdW1nZWtlaHJ0PwplcmlubmVydCBtaWNoIGFuIGVpbmVuIHNjaG5laWRlciBkZXIga3JpdGlrIG1pdCBkZW4gd29ydGVuIGFid2Vpc3Q6ICJuZWhtZW4Kc2llIGFiLCBkYW5uIHBhc3N0IGF1Y2ggZGVyIG5ldWUgYW56dWciCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogRGViaWFuIChUcm95LCAgOS4gQXVnIDIwMDMsIDExOjM1OjU4KToKfiMhIHJuPU11YWRpYiBydD0xMDYwMzYzODY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSXN0IG1pciBzY2hsZWllcmhhZnQsIHdhcyBJaHIgZGEgc28gcnVtaW5zdGFsbGllcnQgdW5kIC13ZXR0ZXJ0LiBJY2ggaGFiZQphKSBFaW5lIG5WaWRpYSBHZUZvcmNlNC1LYXJ0ZQpiKSBlaW5lIFN1U0UgOC4yLCBkaWUgcHJvYmxlbWxvcyBzb2ZvcnQgaW5jbCBYIHVuZCAzRCBsaWVmCmMpIGVpbiBXaW5kb29mIFhQIFByb2Zlc3Npb25hbCB1bmQKZCkgZWluIGV0d2FzIGFlbHRlcmVzIEZyZWVCU0QgKGljaCBnbGF1YmUgZXMgd2FyIG1hbCA0LjIpCmltIFJlY2huZXIuIExldHp0ZXJlcyBoYWJlIGljaCB6dWdlZ2ViZW5lcm1hc3NlbiBzY2hvbiB6aWVtbGljaCBsYW5nZSBuaWNodAptZWhyIGJlbnV0enQuIFVuZCB6d2FyIHdlaWwgZXMgZWluaWdlIFByb2dyYW1tZSBnaWJ0LCBkaWUgaWNoIHVuYmVkaW5ndApiZW5vZXRpZ2UsIGRpZSBpY2ggdW50ZXIgKkJTRSBuaWNodCBzbyBlaW5mYWNoIG91dC1vZi10aGUtYm94IGJhdWVuIGxhc3NlbiB1bmQKaWNoIG1pciBuaWNodCBkZW4gTmVydiBtYWNoZW4gd29sbHRlIGluIGRlbiBDb2RlIHJlaW56dWd1Y2tlbi4gVW50ZXIgTGludXgKbGllZiBlcyBzb2ZvcnQuIEZsYW1ld2FycyBzaW5kIHdhcyBmZWluZXMgdW5kIGljaCBoYWJlIG1vbmF0bGljaCBlaW5tYWwgaW4gZGVyCkxVRyBkaWUgR2VsZWdlbmhlaXQgZGFzIEdhbnplIGRpcmVrdCB1bmQgaW4gcGVyc29uYSBnZWdlbiAqQlNFLVZlcmZlY2h0ZXIgYXVzLQp6dWthZW1wZmVuLiBXYXMgZGFiZWkgYmlzaGVyIGhlcmF1c2thbSBpc3QgYXVmIGJlaWRlbiBTZWl0ZW4gZGllIEVya2VubnRuaXMsCmRhc3MgZGFzIGpld2VpbGlnZSBTeXN0ZW0gbmljaHQgdm9sbGtvbW1lbiBpc3QgdW5kIGRhcyBqZXdlaWxzIGFuZGVyZSBEaW5nZQprYW5uLCBkaWUgbWFuIGdlcm5lIGhhZXR0ZS4gU29sYW5nZSBzaWNoIFNDTyB6dW0gQWZmZW4gbWFjaHQsIGxhY2hlbiB3aXIgYWxsZQpyZWNodCBoZXJ6bGljaCB1bmQgaG9mZmVuLCBkYXNzIFdpbnppZ3dlaWNoIG5pY2h0IG5vY2ggZWluIE8gaW4gQlMqRCBlaW5mdWVndC4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBEZWJpYW4gKFRyb3ksICA5LiBBdWcgMjAwMywgMTI6MDM6NDUpOgp+IyEgcm49VHJveSBydD0xMDYwNDIxNzU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKLi4uYWNoIGphOiBNZWluIFJlY2huZXIgdmVyZnVlZ3QgYXVzc2NobGllc3NsaWNoIHVlYmVyIFVTQi1UYXN0YXVyIHVuZCAtTWF1cwpzb3dpZSBlYmVuc28gYXVzc2NobGllc3NsaWNoIHVlYmVyIFByb21pc2UtQVRBLTEwMC1QbGF0dGVuIChlcnN0ZSBQbGF0dGUKPS9kZXYvaGRlKS4gTGludXggbmFobSBlcyBrbGFnbG9zIGhpbi4gVW50ZXIgKkJTRSBtdXNzdGUgaWNoIG1pciBuZSBQUy8yLQpLb21iaSBsZWloZW4gdW5kIGlyZ2VuZGVpbmVuIFBhdGNoIGZ1ZXIgZGVuIFByb21pc2UgYXVmIGVpbiBQYWtldCBhbndlbmRlbiwKZGFtaXQgc2ljaCBlaW4gYm9vdGZhZWhpZ2VzIFN5c3RlbSBpbnN0YWxsaWVyZW4gbGllc3MuIFZvbiBXaW5kbGVzcyBnYW56IHp1CnNjaHdlaWdlbi4uLiAoRXMgZnVua3Rpb25pZXJ0ZSBkb3J0IG5hY2hoZXIgbWl0IFRhc3RlbmRydWNrIGZ1ZXIgVHJlaWJlci0KZGlza2V0dGUgd2FlaHJlbmQgZGVzIEluc3RhbGxhdGlvbnN2b3JnYW5ncywgZGllIGVpZ2VudGxpY2hlIERpc2tldHRlIGFiZXIKX25pY2h0XyBlaW5sZWdlbiwgc29uZGVybiBkaWUgIkhhYi1pY2gtbWFuLWRvY2gtbmljaHQtYWV0c2NoIi1UYXN0ZSBkcnVlY2tlbiAtCnVuZCBzaWVoZSBkYSwgZXMgd2FyZCBlaW5lIFBsYXR0ZSBhbiBlaW5lbSBQcm9taXNlIGdlZnVuZGVuLi4uCgpUcm95Ci4uLmRhIGZlaGx0IGlyZ2VuZHdvIGVpbmUgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IERlYmlhbiAoWm9vaywgIDkuIEF1ZyAyMDAzLCAxMjowODoxNCk6Cn4jISBybj1Ucm95IHJ0PTEwNjA0MjM0MjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpXZW5uIER1IGF1Y2ggc28gYWx0ZXJ0dWVtbGljaGUgQlNELVZlcnNpb25lbiBpbnN0ZXN0LCBkYW5uIG11c3N0IER1IGViZW4gCmxlaWRlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogRGViaWFuIChUcm95LCAgOS4gQXVnIDIwMDMsIDEyOjEwOjAwKToKfiMhIHJuPVpvb2sgcnQ9MTA2MDQyMzY5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CjpiZXp3ZWlmZWx0LCBkYXNzIF9hbGxlXyBQcm9ibGVtZSBtaXQgZGVyIG5ldWVuIFZlcnNpb24gZ2Vsb2VzdCB3YWVyZW4uClp1bWFsOiBFcyBsYWV1ZnQgYWxsZXMsIHdhcyBpY2ggYnJhdWNoZSB1bnRlciBMaW51eCBzdGFiaWwuIFdhcnVtIHNvbGx0ZSBpY2gKZWluIHVuZ2V3aXNzZXMgU3lzdGVtIGluc3RhbGxpZXJlbiwgdm9uIGRlbSBpY2ggZGFzIG5pY2h0IG1pdCBTaWNoZXJoZWl0CndlaXNzLi4uLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IERlYmlhbiAoWm9vaywgIDkuIEF1ZyAyMDAzLCAxMjoxMjowOCk6Cn4jISBybj1Ucm95IHJ0PTEwNjA0MjM4MDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpOYSwgZGFzIGlzdCBkb2NoIGF1Y2ggc2Nob2VuLiBXaWUgaWNoIHNjaG9uIHNjaHJpZWIsIGJlemFobHQgRGVpbmUgMTk5IFVTRAphbiBTQ08gdW5kIGZyZXUgRGljaCBkZXMgTGViZW5zLiA6KSkKClpvb2suIAoKUFM6IElzdCBkZW5uIGVpZ2VudGxpY2ggc2Nob24gYmVrYW5udCwgd2VsY2hlIHRvbGxlIFNXIApDYWxkcmluIGdlc2NocmllYmVuIGhhdCwgZGllIE1TIHVuYmVkaW5ndCBoYWJlbiBtb2VjaHRlPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBEZWJpYW4gKE9nbywgIDkuIEF1ZyAyMDAzLCAxMzo1NToyMik6Cn4jISBybj1ab29rIHJ0PTEwNjA0MjM5Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpTQ08gdmVybGFuZ3Qgdm9uIERldXRzY2hlbiBrZWluZSAxOTlVU0QsIGRpZSBoYWJlbiBkaWUgVW50ZXJsYXNzdW5nc2Vya2xhZXJ1bmcKdW50ZXJzY2hyaWViZW4uCgpPZ28sIHdpZWRlciBtYWwgYWxsZXMga2FwdXR0IG1hY2hlbmQgXTstPgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IERlYmlhbiAoT2dvLCAgOS4gQXVnIDIwMDMsIDE0OjAzOjIxKToKfiMhIHJuPVpvb2sgcnQ9MTA2MDQyMzkyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CldhcyBtYWNoZW4gZWlnZW50bGljaCBkaWUgKkJTRCBGdXR6aXMsIHdlbm4gUk1TIGRpZSBHQ0MgTGl6ZW56IHNvIGFlbmRlcnQsCmRhc3Mga2VpbmUgQlNELVByb2dyYW1tZSBtZWhyIGNvbXBpbGVydCB3ZXJkZW4ga29lbm5lbj8gRGFubiBpc3QgKkJTRAppbnN0YW50YW4gdG90ISBPaG5lIGRlbiBHTlUgQyBDb21waWxlciBpc3QgKkJTRCBfbmljaHRzXywgemllbWxpY2ggcGVpbmxpY2gsCndlbm4gbWFuIGJlZGVua3QsIGRhc3MgZGllICpCU0RzIGRvY2ggZGllIEdQTCBhbHMgc28gdW5mcmVpIGFuc2VoZW4gdW5kIGRhbm4KaW4gZGllc2VtIE1hc3NlIHZvbiBpaHIgQWJoYWVuZ2lnIHNpbmQsIG9kZXI/IAoKT2dvIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IERlYmlhbiAoQm9pbmcsICA5LiBBdWcgMjAwMywgMTQ6MjA6MzYpOgp+IyEgcm49T2dvIHJ0PTEwNjA0MzA2MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpHZW5hdSBhdXMgZGVtIEdydW5kIGhhYiBpY2ggZGFubiBzdGF0dCBCU0QgZG9jaCBXaW5kb3dzIGdlbm9tbWVuIChuYWNoZGVtCkxpbnV4IG5pY2h0IGxpZWYpLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRGViaWFuIChOb25uZSwgIDkuIEF1ZyAyMDAzLCAxNDoyMjo0Mik6Cn4jISBybj1Cb2luZyBydD0xMDYwNDMxNjM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKV2luZG93cyBoYXQgYWJlciBkZW4gTmFjaHRlaWwsIGRhc3MgaWNoIG1pciBkYXMgbmljaHQgbGVpc3RlbiBrYW5uLCBtaXQgYWxsZW4KVG9vbHMsIGRpZSBpY2ggc28gYnJhdWNoZS4gQXVzc2VyZGVtIG11c3MgbWFuIGRhIGVpbmUgSW5zdGFsbGF0aW9ub3JnaWUKbWFjaGVuLCBiaXMgd2VzZW50bGljaGUgU2FjaGVuIHdpZSBCYXNoLCBnY2MgdW5kIEtERSBlbmRsaWNoIGxhdWZlbi4KCk5vbm5lLCBibGVpYnQgYmVpIExpbnV4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogRGViaWFuIChab29rLCAgOS4gQXVnIDIwMDMsIDE0OjI0OjU2KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA0MzE3NjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpNZWluIFdpbmRvd3MgWFAgbGFldWZ0IGdhbnogaGVydm9yYWdlbmQgdW5kIGRpZSBJbnN0YWxsYXRpb24vRWluc3RlbGx1bmcKaGF0IG5yIGVpbmVuIHdpbnppZ2VuIFRlaWwgZGVyIFplaXQgYmVub2V0aWd0IHdpZSBmdWVyICpCU0QuCgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IERlYmlhbiAoQW5hdG9sLCAgOS4gQXVnIDIwMDMsIDE0OjI1OjA2KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA0MzE3NjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpJbmhhbHRzbG9zZXMgV2luZG93c2dlYmFzaGUuCgpJbnN0YWxsYXRpb25zb3JnaWUga3JpZWdzdCBEdSBiZWkgU3VTRSBhdWNoLCBiaXMgRHUgYXVzIGRpZXNlbiBQYWtldGVuCmFsbCBkYXMgenVzYW1tZW5nZWZ1bW1lbHQgaGFzdCwgd2FzIER1IGJyYXVjaHN0LiBTbyByZWluIHN0YW5kYXJkbWFlc3NpZwppc3QgYmVpIFN1U0UgbmFlbWxpY2ggYXVjaCBuaWNodCBhbGxlcyBkYWJlaS4gCgpVbmQgd2VubiBEdSBEaXIgTGludXggKmthdWZzdCogLSBhbnN0YXR0IG1pdCBmdWVuZiBGcmV1bmRlbiB6dSBzaGFyZW4gLSAKa2FubnN0IER1IGF1Y2ggZ2xlaWNoIFdpbmRvd3Mga2F1ZmVuLiBHaWJ0IHNpY2ggbmljaHQgbWVociB2aWVsLiBVbmQgZGllCldpbmRvd3MtQ0RzIHNpbmQgb3B0aXNjaCBhbnNwcmVjaGVuZGVyLiAKCkEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBEZWJpYW4gKE5vbm5lLCAgOS4gQXVnIDIwMDMsIDE0OjMwOjEzKToKfiMhIHJuPUFuYXRvbCBydD0xMDYwNDMxOTA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSmEgZGFubiBoYWJlIGljaCBXaW5kb3dzIHVuZCB3YXMgbWFjaGUgaWNoIGRhbWl0PyBTb2xpdGFlciBzcGllbGVuPyBXZW5uIGljaAplaW4gTGludXggaW5zdGFsbGllcmUsIGhhYmUgaWNoIGZhc3QgYWxsZXMgZGFiZWksIHdvbWl0IGljaCBhcmJlaXRlLiBCZWkKV2luZG93cyBmYW5nZSBpY2ggZGFubiBlcnN0bWFsIGFuLCBUcmVpYmVyLURKIHp1IHNwaWVsZW4uIERhbm4gaGFiZSBpY2ggaW1tZXIKbm9jaCBrZWluIFN5c3RlbSwgbWl0IGRlbSBpY2ggYXJiZWl0ZW4ga2Fubi4gT2RlciBpc3QgYmVpIFdpbmRvd3MgbmV1ZXJkaW5ncwplaW4gQ29tcGlsZXIgZGFiZWk/IE9kZXIgR3JhZmlrcHJvZ3JhbW0/IFFULURldmVsb3BtZW50LVRvb2xzPwpNRC1TaW11bGF0aW9uc3Byb2dyYW1tZT8gT2ZmaWNlPyBMYXRleD8gTW96aWxsYT8gTWVkaWFwbGF5ZXIsIGRlciBhdWNoIENvZGVjcwpoYXQ/IFRWLUFwcHM/IE11c3MgaWNoIGRvY2ggbm9jaCBtYWwgYXVmIGRlciBYUC1DRCBzY2hhdWVuLCBoYWJlIGljaCB3b2hsCnVlYmVyc2VoZW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBEZWJpYW4gKE5vbm5lLCAgOS4gQXVnIDIwMDMsIDE0OjMxOjU2KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA0MzIyMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpVbmQgbm9jaCB3YXM6IEVpbiBEZXNrdG9wLCBkZW4gaWNoIGFuIG1laW5lIEJlZHVlcmZuaXNzZSBhbnBhc3NlbiBrYW5uLiBJY2gKd3VlcmRlIGdlcm5lIGRpZSBTaG9ydGN1dHMgc2VsYnN0IGVpbnN0ZWxsZW4sIHdlaWwgZGllIExvZ2lrIGRlcgpXaW5kb3dzLVNob3J0Y3V0cyBuaWNodCBkdXJjaHNjaGF1ZS4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IERlYmlhbiAoT2dvLCAgOS4gQXVnIDIwMDMsIDE0OjMyOjA0KToKfiMhIHJuPUFuYXRvbCBydD0xMDYwNDMxOTA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKTWFuIGthbm4gTGludXggKmthdWZlbiogPyBXb3cuCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBEZWJpYW4gKEFuYXRvbCwgIDkuIEF1ZyAyMDAzLCAxNDozMzowMCk6Cn4jISBybj1Ob25uZSBydD0xMDYwNDMyMjEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKUHJpb3JpdGFldGVuLiBJY2ggYnJhdWNoZSBXaW5kb3dzLiBBbGxlaW4gc2Nob24sIHdlaWwgRGlhYmxvIDIgbmljaHQgCnVudGVyIExpbnV4IGxhdWZlbiB3aWxsLi4uIF06Xj4KClVuZCBqYS4gTGV1dGUga2F1ZmVuIHNpY2ggbmUgRGlzdHJpYnV0aW9uLiBEaWUgU3VTRS1IYW5kYnVlY2hlciBzaW5kIHNvCnNjaGxlY2h0IHVlYnJpZ2VucyBuaWNodCwgbWFnIG1hbiB2b24gTnVlcm5iZXJnIGhhbHRlbiB3YXMgbWFjaCBtb2VjaHRlLgpNSVIgaGFiZW4gc2llIHNjaG9uIGdlaG9sZmVuLi4uIDopCgpBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGViaWFuIChBbmF0b2wsICA5LiBBdWcgMjAwMywgMTQ6MzQ6NDApOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjA0MzIzODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpBY2ggamEsIHdhcyBpc3QgZGFzIGVpZ2VudGxpY2ggZnVlciBlaW5lIC5ORVQtRW50d2lja2x1bmdzdW1nZWJ1bmcsIGRpZQpkYXMgV2luZG93cy1VcGRhdGUgc28gZ2VybiBlaW5zcGllbGVuIG1vZWNodGU/IAoKQQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBEZWJpYW4gKFpvb2ssICA5LiBBdWcgMjAwMywgMTQ6MzU6MDApOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjA0MzIzODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpBbHNvIG1laW4gWFAgaGF0dGUgZmFzdCBhbGxlcywgd2FzIGljaCBicmF1Y2h0ZS4gTmVuIE9mZmljZSB3YXIgZGFiZWkgdW5kIApMYVRlWCBpbnN0YWxsaWVydGUgc2ljaCB2b24gbWVpbmVyIFRlWExpZmUtQ0QgYXVjaCBzZWhyIHNjaG9lbi4gT2ssIFZOQyBtdXNzdGUKbWFuIHNhdWdlbiB1bmQgcHV0dHkgYXVjaCB1bmQgZGllIEVpbnN0ZWxsdW5nZW4gZGVzIE1TVFNDIGlzdCBhcmcgZnVkZGVsaWcsCmJlc29uZGVycywgd2VubiBtYW4gbW9lY2h0ZSwgZGFzcyBlciB1ZWJlciBuZW4gU1NILVR1bm5lbCBmdW56dC4gCgpBYmVyIGltIGdyb3NzZW4gdW5kIGdhbnplbiBkb2NoIHNlcmggd2VuaWdyIHplaXRhdWZ3YWVuZGlnIGFscyBiZWkgKkJTRC4KQmVpIGxldHp0ZXJlbSBudXR6ZSBpY2ggdWVicmlnZW5zIGF1Y2ggbnVyIENEMSwgZGVuICBSZXN0IHNhdWd0IG1hbiBzaWNoIGRvY2gKb24tZGVtYW5kIGF1cyBkZW0gTmV0ei4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGViaWFuIChPZ28sICA5LiBBdWcgMjAwMywgMTQ6Mzc6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjA0MzIzODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpEaWUgVmVyZ2xlaWNoZSBoaWVyIHNpbmQgbWF1LCBMaW51eCBpc3QgZWluIEtlcm5lbCwgKkJTRCB1bmQgV2luZG93cyBzaW5kCkJldHJpZWJzeXN0ZW1lLiBVbmQgRGlhYmxvIDIgYmVrb21tdCBtYW4gYXVjaCB1bnRlciBMaW51eCB6dW0gbGF1ZmVuISEhMTEKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjk6IERlYmlhbiAoQW1hcnlsbGlzLCAgOS4gQXVnIDIwMDMsIDE0OjM4OjIxKToKfiMhIHJuPU9nbyBydD0xMDYwNDMyNjcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKU2VpdCB3YW5uIGlzdCBXaW5kb3dzIGVpbiBCZXRyaWVic3N5c3RlbT8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBEZWJpYW4gKE9nbywgIDkuIEF1ZyAyMDAzLCAxNDozODo0MSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA2MDQzMjcwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2Ck9rYXksIGljaCBoYWIgZGllIFF1b3RlcyB2ZXJnZXNzZW4uICplcnJvZXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogRGViaWFuIChNdXBmZWwsICA5LiBBdWcgMjAwMywgMTQ6NTQ6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjA0MzI0ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDE2NTE0NgpTbyBuZSBBcnQgUmllc2VuLVByb2dyYW1tYmlibGlvdGhlay4gRnVlciBXaW5kb3dzLUVudHdpY2tsZXI6IFJhZXVtdCBhdWYgbWl0CmFsbCBkZW0gQVBJLVNjaGlzbXVzLiBEYWZ1ZXIgbXVzcyBoYWx0IGF1ZiBkZW0gWmllbHJlY2huZXIgZGllc2UgQmlibGlvdGhlawpzZWluLiBTb2xsdGUgYWJlciBrZWluIFByb2JsZW0gZGFyc3RlbGxlbiwgZGFzIGJla29tbScgZGllIExldXRlIGphIGFsbGUgdmlhCldpbmRvd3MgVXBkYXRlIDspCihCZWkgaHR0cDovL3d3dy5ib3JsYW5kLmNvbS9wcm9kdWN0cy9kb3dubG9hZHMvZG93bmxvYWRfY3NoYXJwYnVpbGRlci5odG1sCmthbm5zdGUgRGlyIGRpZSAiUGVyc29uYWwgRWRpdGlvbiIgdm9uIGVpbmVtIEVudHdpY2tsdW5nc3Rvb2wgZGFmdWVyCnJ1bnRlcmxhZGVuLiBEaWUgZGFiZWkgdmVyd2VuZGV0ZSBQcm9ncmFtbWllcnNwcmFjaGUgbmVubnQgc2ljaCBDIyB1bmQgaXN0IG5lCkFydCBKYXZhKQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBEZWJpYW4gKENyb2Z0LCAgOS4gQXVnIDIwMDMsIDE0OjU5OjI0KToKfiMhIHJuPU11cGZlbCBydD0xMDYwNDMzNjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKIkRpZSBkYWJlaSB2ZXJ3ZW5kZXRlIFByb2dyYW1taWVyc3ByYWNoZSBuZW5udCBzaWNoIEMjIHVuZCBpc3QgbmUgQXJ0IEphdmEiCk11YWhhaGFoYWhhLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBEZWJpYW4gKFpvb2ssICA5LiBBdWcgMjAwMywgMTU6MDM6MzUpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2MDQzMzk2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CldhcyBnaWJ0IGVzIGRhIHp1IGxhY2hlbj8KClpvb2sga2VubnQgQ21pbm9yIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IERlYmlhbiAoQW1hcnlsbGlzLCAgOS4gQXVnIDIwMDMsIDE1OjA0OjU4KToKfiMhIHJuPVpvb2sgcnQ9MTA2MDQzNDIxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2Cldlbm4sIGRhbm4gIkNtYWpvciIgb2RlciAiQ2lzIiwgYml0dGUgOi0pCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogRGViaWFuIChab29rLCAgOS4gQXVnIDIwMDMsIDE1OjA1OjM1KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDYwNDM0Mjk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKWm9vayBzY2h3ZW5rdCBzZWluIEZhZWhuY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBEZWJpYW4gKFNjaHd1YmJlbCwgIDkuIEF1ZyAyMDAzLCAxNTowNTo1NSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA2MDQzNDI5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkRhcyBoZWlzc3QgQy1zaGFycCBvZGVyIENpcy4KQ21ham9yIGlzdCBuZSBUb25hcnQuCkJhc3RhLApTY2h3dWJiZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBEZWJpYW4gKE9nbywgIDkuIEF1ZyAyMDAzLCAxNTowNjowMyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA2MDQzNDI5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkRhbm4gZ2FlYmUgZXMgZGEgbm9jaCBkb3RHbnUgdW5kIE5vdmVsbCBNb25vIDopIEFscyBGcmFtZXdvcmsuCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBEZWJpYW4gKEFtYXJ5bGxpcywgIDkuIEF1ZyAyMDAzLCAxNTowNjoyNyk6Cn4jISBybj1Sb25kYSBydD0xMDYwNDM0MzY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSmFqYS4uLiBkaWUgSGl0emUuLi4KCkFtYSosIGdlaHQgbWFsIGViZW4ga2FsdCBkdXNjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IERlYmlhbiAoT2dvLCAgOS4gQXVnIDIwMDMsIDE1OjA3OjU4KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDYwNDM0Mzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSWNoIHNldHplIGVpbmVuIGtvc3Rlbmxvc2VuIERvd25sb2FkIHZvbiBnYXJhbnRpZXJ0IFNDTy1GZWUgZnJlaWVtIERlYmlhbgpHTlUvRnJlZUJTRCBmdWVyIFJlIDEwMCBhdXMuIDotKQoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogRGViaWFuIChNdXBmZWwsICA5LiBBdWcgMjAwMywgMTU6MTQ6NTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2MDQzMzk2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkRhZ2VnZW4gc2VpbiBpc3QgaW1tZXIgbGVpY2h0LiBBcmd1bWVudGUgYnJpbmdlbiBkYWdlZ2VuIG9mdCB2aWVsCnNjaHdpZXJpZ2VyLi4uCkFsc28gaWNoIGhhYiBWYXJsYXJpb25zIEphdmEtVWVidW5nc2F1ZmdhYmVuIGluIGplZGVtIEZhbGwgbWl0IHdpbnppZ2VuCkFlbmRlcnVuZ2VuIGFscyBDIyB6dW0gTGF1ZmVuIGJla29tbWVuLiBBbHNvIGlzdCBkYXMgbmUgQXJ0IEphdmEuICh1bmQgYml0dGUKZGllIFByb2dyYW1taWVyc3ByYWNoZSBhbHMgc29sY2hlIG5pY2h0IG1pdCBkZXIgTGF1ZnplaXR1bWdlYnVuZyB2ZXJ3ZWNoc2Vsbi4KRGFua2UgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogRGViaWFuIChab29rLCAgOS4gQXVnIDIwMDMsIDE1OjE4OjQ0KToKfiMhIHJuPU11cGZlbCBydD0xMDYwNDM0ODkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKS2FubiBtYW5kaWUgd2luemlnZW4gQWVuZGVydW5nZW4gYXV0b21hdGlzaWVyZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IERlYmlhbiAoTXVwZmVsLCAgOS4gQXVnIDIwMDMsIDE1OjIxOjMwKToKfiMhIHJuPVpvb2sgcnQ9MTA2MDQzNTEyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkphLCBkYWZ1ZXIgZ2lidHMgYmVyZWl0cyBmZXJ0aWdlIFRvb2xzLiBGcmFnIG1pY2ggYWJlciBuaWNodCBuYWNoIE5hbWVuLi4uIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IERlYmlhbiAoWm9vaywgIDkuIEF1ZyAyMDAzLCAxNToyMzo0MCk6Cn4jISBybj1NdXBmZWwgcnQ9MTA2MDQzNTI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2Ck11cGZlbCwgVjAuMT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogRGViaWFuIChNdXBmZWwsICA5LiBBdWcgMjAwMywgMTU6MjY6MDApOgp+IyEgcm49Wm9vayBydD0xMDYwNDM1NDIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSGFlPwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBEZWJpYW4gKEh1bW5pLCAgOS4gQXVnIDIwMDMsIDE3OjAzOjQ5KToKfiMhIHJuPU11cGZlbCBydD0xMDYwNDM1NTYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKSWNoIHdlaXNzIG51ciwgZGFzcyBkaWUgQmV3ZXJidW5nZW4sIGRpZSBpY2ggZmxlaXNzaWcgc2NocmVpYmUsIG9mdCBhdWYKQXVzc2NocmVpYnVuZ2VuIGFudHdvcnRlbiwgd28gdW50ZXIgYW5kZXJlbiBDIyBnZWZvcmRlcnQgd2lyZC4gSWNoIGJpbiBhYmVyCmVocmxpY2ggdW5kIHNjaHJlaWJlIG5pY2h0LCBkYXNzIGljaCBkYXMga2FubiAtIG9rLCBpY2ggc2NocmVpYiBhdWNoIG5pY2h0CmRpcmVrdCBkYXNzIGljaCBkYXMgbmljaHQga2FubiwgYWJlciBkYXMgaXN0IGRlbmVuIGRhbm4gd29obCBrbGFyIDstKQoKVHJvdHpkZW0gd3Vlc3N0ZSBpY2ggbGFuZ3NhbSBnZXJuZSBtYWwgd2FzIGRhcyBzZWluIHNvbGwuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IERlYmlhbiAoUm9uZGEsICA5LiBBdWcgMjAwMywgMTc6MTU6MzYpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MDQ0MTQyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CkhpLAoKb2ssIHNpY2hlciBrZWluZSBuZXV0cmFsZSBCZXNjaHJlaWJ1bmcsIGFiZXIgZnVlciBlaW5lbiBlcnN0ZW4gRWluc3RpZWcgZ2FuegpoaWxmcmVpY2g6CgpodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL3Zjc2hhcnAvcHJvZHVjdGluZm8vb3ZlcnZpZXcvZGVmYXVsdC5hc3B4CkFsbGdlbWVpbmUgSW5mb3MgenUgQyMsIEtvbnplcHRlLCBTYW1wbGVzCgpVbmQgZGEgZGFzIGF1Y2ggbWl0IC5ORVQgenUgdHVuIGhhdCwgYXVjaCBnYW56IG5ldHQgenVtIEVpbnN0aWVnOgpodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vbmV0L2Jhc2ljcy93aGF0aXMuYXNwCgpSb25kYSAqdmVyc3VjaHQgYXVjaCBncmFkLCBuZW4gYmlzc2NoZW4gaW4gZGFzIFRoZW1hIGVpbnp1c3RlaWdlbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM4OiBEZWJpYW4gKFBhdHJ5biwgIDkuIEF1ZyAyMDAzLCAyMTo1NDoyNSk6Cn4jISBybj1Sb25kYSBydD0xMDYwNDQyMTM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKRGllIGF1dG9tYXRpc2NoZW4gS29udmVydGllcnVuZ3NkaW5nZXIgdm9uIEphdmEgYXVmIEMtRGluZ3NkYSBnaWJ0cyB2b24KTVMgcGVyc29lbmxpY2gsIG5hdHVlcmxpY2ggdW0gS3VuZHNjaGFmdCB6dSB6aWVoZW4uCkxldHp0bGljaCBzaW5kIGRpZSBhYmVyIG51dHpsb3MsIGRhIGRpZSBKYXZhLUFQSXMgaW56d2lzY2hlbiBkZXJhcnQKZ2lnYW50aXNjaCBzaW5kLCB1bmQgbGV0enRsaWNoIHNpbmQgbnVyIGRpZSBBUElzIGRlciBHcnVuZCwgZGVyIEphdmEKc2V4eSB3ZXJkZW4gbGFlc3N0LCBkYXNzIG1hbiBudXIgVmVyc2lvbiBBc2JhY2gtVXJ1bnRlcnN0dWV0enQuCkRhIGthbm5zdGUgYXVjaCBwZXIgSGFuZC4uLgpVbmQgaW0gdWVicmlnZW4gaXN0IEMtU2hhcnAgendhciBlaW5lIEFydCBKYXZhLCBsYWVzc3QgYWJlciBlaW5lIE1lbmdlClVuZnVnIHp1LCBkZXIgdW50ZXIgSmF2YS4uLnBlciBGZWF0dXJlYmVncnVlbmR1bmcuLi52ZXJib3RlbiBpc3QuCkRhIGhhZXR0ZW4gc2llIGF1Y2ggYmVpIEFjdGl2ZVggYmxlaWJlbiBrb2VubmVuLgoKLS0gCnBhKioqKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBEZWJpYW4gKE11cGZlbCwgIDkuIEF1ZyAyMDAzLCAyMjo1Njo0OSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2MDQ1ODg2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2ClNvd2VpdCBtaXIgYmVrYW5udCwga2FubiBtYW4gYWJlciBpbSBDIyBGYWxsIGVpbnN0ZWxsZW4sIHdhcyBkYXMgUHJvZ3JhbW0KZGFyZi4gVW5kIHp3YXIgdW5hYmhhZW5naWcgdm9tIFByb2dyYW1tLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDA6IERlYmlhbiAoUGF0cnluLCAgOS4gQXVnIDIwMDMsIDIzOjA4OjUyKToKfiMhIHJuPU11cGZlbCBydD0xMDYwNDYyNjA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKS2FubiBtYW4gdW50ZXIgSmF2YSBhdWNoLi4uZWluIEdsdWVjayBkZXIgVk0sIGRpZSB1bnRlciBiZWlkZW4gbGllZ3QuCk51ciB3aXJkIGVpbiBDLURpbmdzZGEtUHJvZ3JhbW0gemllbWxpY2ggc2NobmVsbCB1bmJyYXVjaGJhciB3ZW5uIG1hbnMKbnVyIGhhbGJ3ZWdzIHNpbm52b2xsIGVpbnNjaHJhZW5rdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQxOiBEZWJpYW4gKE11YWRpYiwgMTAuIEF1ZyAyMDAzLCAxMjoyMzoyMCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2MDQ2MzMzMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CmFsc28gYyMgaXN0IGVpbmUgcHJvZ3JhbW1pZXJzcHJhY2hlLiBzb25zdCBuaXguIHdpZSBvZ28gcmljaHRpZyBiZXRvbnRlIGthbm4KbWFuIHNpZSBhdWNoIHVudGVyIGxpbnV4IHZlcndlbmRlbiBzYW10IGdyb3NzZW4gdGVpbGVuIGRlcyBhc3NvemllcnRlbgpmcmFtZXdvcmtzLgpkaWUgc3ByYWNoZSBzZWxic3QgaGF0IGVpbiBwYWFyIG5ldHRlIGtvbnplcHRlIHVuZCBrb25zdHJ1a3RlIGRpZSBzaWUgdm9uIGphdmEKdW50ZXJzY2hlaWRlbi4gZWluaWdlIGRpZXNlciB1bnRlcnNjaGllZGUga29lbm5lbiBuYXR1ZXJsaWNoIHp1bSBuYWNodGVpbApnZXJlaWNoZW4uCmRhcyBtaXQgZGVyIHNwcmFjaGUgdmVya251ZXBmdGUgZnJhbWV3b3JrIGxhZXNzdCBlaW5pZ2UgZWluc2F0em1vZWdsaWNoa2VpdGVuCnp1LiB1bSBnZW5hdSB6dSBzZWluIGhhdCBtYW4gZGllIGdsZWljaGVuIG1vZWdsaWNoa2VpdGVuIChFSU5TQ0hSQUVOS1VORyBGVUVSCldJTkRPV1MpIHdpZSBtaXQgQysrIHVuZCBkZW4gd2luZG93c3NjaG5pdHRzdGVsbGVuIG1pdCB3aW5kb3dzIHp1CmludGVyYWdpZXJlbi4Kb2Igc2llIGFremVwdGllcnQgd2lyZCB1bmQgd2llIHNpZSBzaWNoIHZlcmJyZWl0ZXQgd2lyZCBzaWNoIGVyc3Qgbm9jaCB6ZWlnZW4KbXVlc3Nlbi4gaWNoIGJpbiBldHdhcyBza2VwdGlzY2ggYWxsZXJkaW5ncyBhdXMgYW5kZXJlbiBncnVlbmRlbiBhbHMgZGFzcyBkaWUKc3ByYWNoZSB2b24gd2luZG93cyBpc3QuIAphZWggZXJzZXR6ZSBsZXR6dGVzIHZvcmtvbW1lbiB3aW5kb3dzIGR1cmNoIG1zLiAKZGVzd2VpdGVyZW4gaGF0IHVlYnJpZ2VucyBtcyBkaWUga29udHJvbGxlIHVlYmVyIGRpZSBzcHJhY2hlIGluIHdlaXQKZ3JvZXNzZXJlbSBtYXNzZSBhYmdlZ2ViZW4gYWxzIGRhcyBiZWkgamF2YSBqZW1hbHMgZGVyIGZhbGwgaXN0LiB3YXMgYXVjaAprZWluZSBiZXdlcnR1bmcgZGFyc3RlbGxlbiBrYW5uLCBudXIgZWluZSBpbmZvLgphbnNvbnN0ZW4gaXN0IGVpbmUgYXVzc2FnZSBzcHJhY2hlIGEgaXN0IHNvd2FzIHdpZSBzcHJhY2hlIGIgcmVjaHQgc2VsdHNhbSwKdm9yIGFsbGVtIHVudGVybWF1ZXJ0IGZ1ZXIgdWVidW5nc2F1ZmdhYmVuLgppbnNvZmVybiBpc3QgYXVjaCBqYXZhIHNvd2FzIHdpZSBjKysKCm5hamEgZGFlbWxpY2hlIGJhc2hpbmdhdXNzYWdlbiBiaW4gaWNoIGluendpc2NoZW4gamEgZ2V3b2hudC4KCnNvb28sIGFydGlrZWwgZ2VzZXR6dCB1bmQgbnVuIHNhZ3QgbWlyIGRvY2ggYml0dGUgd2FzIGZ1ZXIgZWluIGZsYW1ldHlwIGljaApiaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQyOiBEZWJpYW4gKFBhdHJ5biwgMTAuIEF1ZyAyMDAzLCAxMjoyODo1Nik6Cn4jISBybj1NdWFkaWIgcnQ9MTA2MDUxMTAwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2CmRhZW1saWNoZSBiYXNoaW5nYXVzc2FnZW4gYmlzdCBkdSBnZXdvaG50PwptdXNzIHdvaGwgc28gc2VpbiwgZGVubiBkYXMgZWluemlnZSBiYXNoaW5nIHdhcyBpY2ggc2VoZSBpc3QgZGVpbgptZWludW5nc2Jhc2hpbmcuCmtlaW5lciB3b2xsdGUgZGVpbiBjIyBiZWxlaWRpZ2VuLCBpY2ggaGFiIGF1Y2gga2VpbmVybGVpIHdlcnR1bmcgZGVzCnNjaGxlY2h0ZXIgb2RlciBiZXNzZXIgdm9yZ2Vub21tZW4uCmRpZSB2bSB2b24gYyMgbGFlc3N0IGZ1ZXIgbWVpbmVuIGdlc2NobWFjayB6dSB2aWVsIGRpbmdlIHp1LCB1bmQgZGluZ2UgZGllCnp1Z2VsYXNzZW4gc2luZCwgd2VyZGVuIGF1Y2ggZ2VudXR6dC4gZGEga2FubiBtYW4gbmljaCB2aWVsIGFic2NoYWx0ZW4sIGF1Y2gKd2VubiBkYXMgdm0ta29uemVwdCBlcyB6dWxhZXNzdC4KbWlyIGlzdCBhdWNoIGtsYXIsIGRhc3MgZXMgaW56d2lzY2hlbiBlaW5lIHZpZWx6YWhsIHdlaXRlcmVyIHNwcmFjaGVuIGZ1ZXIKZGllc2Ugdm0gZ2lidC4gYXVjaCBvaywgbml4IGdlZ2VuIGdlc2FndC4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQzOiBEZWJpYW4gKE11YWRpYiwgMTAuIEF1ZyAyMDAzLCAxMjozNzoxOSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2MDUxMTMzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwMTY1MTQ2Cndlbm4gbWFuIGRlbiB0aHJlYWQgaW0gZ2FuemVuIGxpZXN0IHNpZWh0IGRhcyBhYmVyIHNjaG9uIGFuZGVycyBhdXMuCnVuZCBpY2ggYW50d29ydGUgbnVyIGdld29obmhlaXRzbWFlc3NpZyBhdWYgZGVuIGxldHp0ZW4gYXJ0aWtlbC4KZGllIGFldXNzZXJ1bmcgIm1laW4gYyMiIGdlaHQgdWVicmlnZW5zIGtvbXBsZXR0IGFuIGRlciByZWFsaXRhZXQgdm9yYmVpIDopCmljaCBrYW5uIG1pY2ggYXVjaCBuaWNodCBlcmlubmVybiBnZXNhZ3QgenUgaGFiZW4gYyMgaXN0IHNwaXR6ZSBvZGVyIHRvbGwuIGljaApzYWd0ZSBsZWRpZ2xpY2ggZXMgaGF0IGludGVyZXNzYW50ZSBrb256ZXB0ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDI6IERlYmlhbiAoQW1hcnlsbGlzLCAxMC4gQXVnIDIwMDMsIDEzOjUzOjEyKToKfiMhIHJuPU11YWRpYiBydD0xMDYwNTExMDAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjAxNjUxNDYKRHUgYmlzdCBGbGFtZXR5cAoiaWNoc2NocmVpYmVhbGxlc2tsZWluaXN0ZG9jaHNjaGVpc3NlZ2Fsa2FubmphamVkZXJndXRsZXNlbndhc2ljaG1laW5lIiA6LSkKCkhUSCwKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV01BIGxvc3NsZXNzIC0+IG1wMz8gKEphbWVzb24sIDE1LiBBdWcgMjAwMywgMTE6MTU6NDQpOgpJY2ggaGF0dGUga3VlcnpsaWNoIGF1ZiBlaW5lbSBSZWNobmVyIG51ciBkZW4gTWVkaWEgUGxheWVyIHp1bSBDRCByaXBwZW4gdW5kCmJpbiBhdWYgV01BIGxvc3NsZXNzIGF1c2dld2ljaGVuLCB1bSBlcyBzcGFldGVyIHVtd2FuZGVsbiB6dSBrb2VubmVuLiBOdXIKbGVpZGVyIHVudGVyc3R1ZXR6dCBkYXMgbnVuIGRvY2gga2VpbnMgbWVpbmVyIFByb2dyYW1tZS4gS2VubnQgamVtYW5kIGVpbgpXaW5kb29mLVByb2dyYW1tLCBkYXMgZGFzIGluIC53YXYgb2RlciBiZXNzZXIgZ2xlaWNoIGluIG1wMyB3YW5kZWxuIGthbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV01BIGxvc3NsZXNzIC0+IG1wMz8gKE11YWRpYiwgMTUuIEF1ZyAyMDAzLCAxMToyNzoxMyk6Cn4jISBybj1KYW1lc29uIHJ0PTEwNjA5Mzg5NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NAppY2ggbWFjaCBkYXMgYmVpIG1laW5lbiBjZHMgbWl0IGNkZXguCmdsYXViIGljaCB6dW1pbmRlc3QgaGFiIGdyYWQgZGVuIGRlc2t0b3AgbmljaHQgZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV01BIGxvc3NsZXNzIC0+IG1wMz8gKEphbWVzb24sIDE1LiBBdWcgMjAwMywgMTE6Mjg6MjMpOgp+IyEgcm49TXVhZGliIHJ0PTEwNjA5Mzk2MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApOZXUgcmlwcGVuIGlzdCBkZXJ6ZWl0IG5pY2h0IG1vZWdsaWNoLCBkYSBDRCB2ZXJsaWVoZW4uIEFiZXIgaWNoIGxlcyBlaCBncmFkLApkYXNzIFdNQSBsb3NzbGVzcyB6aWVtbGljaCBtaWVzIHNlaW4gc29sbC4uLiB2aWVsbGVpY2h0IHdhcnRlIGljaCBkb2NoIGxpZWJlcgphYiwgYmlzIGljaCBub2NobWFsIHZvbiB2b3JuIGFuZmFuZ2VuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXTUEgbG9zc2xlc3MgLT4gbXAzPyAoTm9ubmUsIDE1LiBBdWcgMjAwMywgMTE6MzM6MjYpOgp+IyEgcm49SmFtZXNvbiBydD0xMDYwOTM5NzAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKV2llIGpldHp0PyBMb3NzbGVzcyBoZWlzc3QgZG9jaCB2ZXJsdXN0ZnJlaS4gV2llIGthbm4gZGFzIGRhbm4gbWllcyBzZWluPyBVbmQKZGVyIE1lZGlhUGxheWVyIGthbm4gZGFzIHVtd2FuZGVsbiwgd2VubiBtYW4gZGVuIHBhdGNodC4gQWxzbyBkZW4gbmV1c3Rlbgp6dW1pbmRlc3QuIERhbm4ga2FubiBtYW4gYXVjaCBkaXJla3QgbmFjaCBNUDMgY29kZW4sIHdhcyBkZXIgdW5nZXBhdGNodGUgamEKbnVyIG1pdCBuaWVkcmlnZW4gQml0cmF0ZW4gbWFjaHQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChXaGl0ZXRpZ2VyLCAxNS4gQXVnIDIwMDMsIDExOjMzOjUwKToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA5NDAwMDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApPZ2cgVm9yYmlzIGlzIGVoIGJlc3Nlci4gOykKClRpZ2VyCgpDb2RlYy1XYXJzISA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV01BIGxvc3NsZXNzIC0+IG1wMz8gKE5vbm5lLCAxNS4gQXVnIDIwMDMsIDExOjM0OjIyKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2MDk0MDAzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwOTM4OTQ0CldhcyBnaWJ0cyBkZW5uIHVudGVyIFdpbmRvd3MsIGRhcyBPZ2cgVm9yYmlzIGthbm4/IEljaCBrZW5uZSBtaWNoIGRhIG5pY2h0IHNvCmF1cy4uLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXTUEgbG9zc2xlc3MgLT4gbXAzPyAoV2hpdGV0aWdlciwgMTUuIEF1ZyAyMDAzLCAxMTozNTowOCk6Cn4jISBybj1Ob25uZSBydD0xMDYwOTQwMDYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKQWJzcGllbGVuIG9kZXIga29udmVydGllcmVuPyA6KQpJY2ggZ2xhdWIgZGVyIGRCcG93ZXJBbXAga2FubiBkYXMuCmh0dHA6Ly93d3cuZGJwb3dlcmFtcC5jb20vCgpXaGl0ZVRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXTUEgbG9zc2xlc3MgLT4gbXAzPyAoTm9ubmUsIDE1LiBBdWcgMjAwMywgMTE6MzU6NTYpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDYwOTQwMTA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKQWJzcGllbGVuIG9kZXIga29udmVydGllcmVuPyAoYzsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChDYXR3ZWF6bGUsIDE1LiBBdWcgMjAwMywgMTE6MzY6MDApOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MDk0MDA2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYwOTM4OTQ0CkF1Y2ggZGVyIE1lZGlhcGxheWVyLiBEYSBnaWJ0cyBjb2RlY3MgZnVlciBnbGF1YiBpY2guCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChKYW1lc29uLCAxNS4gQXVnIDIwMDMsIDExOjM2OjA0KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA5NDAwMDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApaaXRhdCAoYW5nZWJsaWNoIGF1cyBDb21wdXRlciBCaWxkLCBpY2ggaGFiJ3MgbnVyIGF1cyBlaW5lbSBnb29nZWxnZWh1cGZ0ZW4KRm9ybSk6CgoiTnVyIHJ1bmQgNTAgUHJvemVudCBnZXNwYXJ0ZXIgU3BlaWNoZXJwbGF0eiwgdHJvdHpkZW0ga2VpbiBvcmlnaW5hbGdldHJldWVyCktsYW5nOiBNaWNyb3NvZnRzIG5ldWVyLCBhbmdlYmxpY2ggdmVybHVzdGZyZWllciAiV01BLUxvc3NsZXNzLUNvZGVjIgplbnR0YWV1c2NodGUuIExhdXQgSGVyc3RlbGxlciBzb2xsIGVzIGtlaW5lbiBVbnRlcnNjaGllZCB6dW0gT3JpZ2luYWwgZ2ViZW4uCkRpZSBKdXJ5IGhvZXJ0ZSBkYXMgYW5kZXJzOiBTaWUgZXJrYW5udGUgZGVuIENvZGVjIG1laHJmYWNoIGRhcmFuLCBkYXNzCk1hZG9ubmFzIFN0aW1tZSBmZWluZSBaaXNjaGxhdXRlIGJla2FtLCBkaWUgaW0gT3JpZ2luYWwgbmljaHQgdm9yaGFuZGVuCndhcmVuLiIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChXaGl0ZXRpZ2VyLCAxNS4gQXVnIDIwMDMsIDExOjM3OjAyKToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA5NDAxNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApCZWlkZXMuClNjaGF1IGRpciBkaWUgU2l0ZSBkb2NoIG1hbCBhbiA6KQoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChDYXR3ZWF6bGUsIDE1LiBBdWcgMjAwMywgMTE6Mzg6MTQpOgp+IyEgcm49SmFtZXNvbiBydD0xMDYwOTM5NzAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKRGllIEFudHdvcnQgaXN0IHNvIGVpbmZhY2g6CgpodHRwOi8vd3d3LndtYS10by1tcDMuY29tCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChOb25uZSwgMTUuIEF1ZyAyMDAzLCAxMTozODo0MSk6Cn4jISBybj1KYW1lc29uIHJ0PTEwNjA5NDAxNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApKYSBrbGFzc2UuIERhIGhhdCBqYSBtcDMgbWl0IDEyOCBrYml0IGJlaW0gZ3Jvc3NlbiBIZWlzZS1UZXN0bGF1c2NoZW4gYmVzc2VyCmFiZ2VzY2huaXR0ZW4uIEthbm4gbWFuIGRpZSBuaWNodCB2ZXJrbGFnZW4sIHdlZ2VuIGZhbHNjaGVyIFZlcnNwcmVjaHVuZ2VuPwpXZW5uIGRhcyBsb3NzbGVzcyBzZWluIHNvbGwsIG11ZXNzdGUgaWNoIGRhcmF1cyBkaWUgT3JpZ2luYWxkYXRlbgpyZWtvbnN0cnVpZXJlbiBrb2VubmVuLCBhbGxlcyBhbmRlcmUgaXN0IGdlbG9nZW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChWYXJkaW9uLCAxNS4gQXVnIDIwMDMsIDExOjQwOjI1KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjA5NDAzMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MDkzODk0NApJY2ggbmVobWUgYW4sICJsb3NzbGVzcyIgaXN0IGtlaW4gZ2VzY2h1ZXR6ZXIgQmVncmlmZiB1bmQgc29sbHRlIHNpY2gKcHJpbnppcGllbGwgYXVjaCBhdWYgZWluIEdsYXMgc2F1cmUgR3Vya2VuIHNjaHJlaWJlbiBsYXNzZW4uIFNvd2VpIHp1CnZlcmtsYWdlbiA7LSkKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdNQSBsb3NzbGVzcyAtPiBtcDM/IChCaWVsZWZlbGQsIDE1LiBBdWcgMjAwMywgMTE6NDE6MTEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDYwOTQwNDI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKWnVtYWwgZnVlciBhdWRpb3BoaWxlIGJlaSBsb3NsZXNzIGVoIGthdW0gZWluIFdlZyBhbiBTSE4gCnZvcmJlaWZ1ZWhydC4uLgoKLUJpZWxlZmVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV01BIGxvc3NsZXNzIC0+IG1wMz8gKE5vbm5lLCAxNS4gQXVnIDIwMDMsIDExOjQxOjQzKToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMDYwOTQwNDcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjA5Mzg5NDQKU0hOPyBJc3QgZGFzIG5lIFBsYXR0ZW5zcGllbGVyZmlybWE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXQtTUQgKEdvcm9nLCAxNy4gQXVnIDIwMDMsIDE4OjMwOjI1KToKTW9pbnMKRGEgbWVpbiBhbHRlciBNRC1QbGF5ZXIgc28gbGFuZ3NhbSBzZWluZW4gR2Vpc3QgYXVmIGdpYnQgdWViZXJsZWcgaWNoIG1pciBvYgppY2ggbWlyIG5lbiBOZXQtTUQgUGxheWVyIHp1bGVnZW4gc29sbHRlLCB2b253ZWdlbiBUcmFja3Mgdm9uIFBDIHBlciBVU0IgYXVmCk1EIHVzdy4uIER1bW1lcndlaXNlIGdpYnRzIGluIG1laW5lciBQcmVpc2tsYXNzZSBudXIgR2VyYWV0ZSB2b24gU29ueSB1bmQKaXJnZW5kd2llIGhvZXJ0ZSBpY2ggZGFzIGRpZSBiZWltIGVpbi0gdW5kIGF1c2NoZWNrZW4gZGVyIFRyYWNrcyBTdHJlc3MgbWFjaGVuCnNvbGxlbi4gRGFoZXIgZGllIEZyYWdlOiBLZW5udCBzaWNoIHdlciBtaXQgZGllc2VuIFRlaWxlbiBhdXM/CgptZkcgR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnByb2JsZW0gbWl0IHdpbnhwIChBbGJvaW4sIDI0LiBBdWcgMjAwMywgMTk6MDk6MDUpOgpCZWkgbWlyIHN0cnp0IHdpbnhwIG5ldWVyZGluZ3Mgc3RuZGlnIGFiLgpEYWJlaSBrb21tdCBlaW5lIE1lbGR1bmcsIGRhcyBkYXMgSGVydW50ZXJmYWhyZW4gdm9uIE5ULUF1dG9yaXRhZXQgXCBTeXN0ZW0KYXVzZ2Vsb2VzdCB3dXJkZSB1bmQgZGFzIFdpbmRvb2ZzIG5ldSBnZXN0YXJ0ZXQgd2VyZGVuIG11c3MgZGFzIGRlciBEaWVuc3QKUmVtb3RlIFByb3plZHVyIEF1ZnJ1ZiAoUlBDKSB1bmVyd2FydGV0IGJlZW5kZSB3dXJkZS4KSGF0IGplbWFuZCBpcmdlbmRlaW5lIElkZWUgd2llIGljaCBkYXMgd2llZGVyIGluIGRpZSBSZWloZSBrcmllZ2U/IFVuZCBiZXZvcgp3aWVkZXIgZWluZSBPUy1EaXNrdXNzaW9uIGxvc2JyaWNodCwgaWNoIGhhYmUgYmVyZWl0cyBMaW51eCBhdWYgbWVpbmVtClJlY2huZXIuIGJyYXVjaGUgZGFzIFhQIGFiZXIgbm9jaCBmdWVyIGJlc3RpbW10ZSBTYWNoZW4uCkdydWVzc2UgdW5kIGRhbmtlIGltIHZvcmF1cy4KCkFsCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHByb2JsZW0gbWl0IHdpbnhwIChNb3Jnb3RoLCAyNC4gQXVnIDIwMDMsIDE5OjEwOjI3KToKfiMhIHJuPUFsYm9pbiBydD0xMDYxNzQ0OTQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKUlBDLURpZW5zdCBQcm9ibGVtZSBob2VydCBzaWNoIG5hY2ggQmxhc3Rlci1XdXJtIGFuIDooIApDaGVjayBtYWwsIG9iIER1IERpciBkZW4gZWluZ2VmYW5nZW4gaGFzdC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcHJvYmxlbSBtaXQgd2lueHAgKE5pYmVsLCAyNC4gQXVnIDIwMDMsIDE5OjEwOjUzKToKfiMhIHJuPUFsYm9pbiBydD0xMDYxNzQ0OTQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKaHR0cDovL3d3dy50ZWNjaGFubmVsLmRlL25ld3MvMjAwMzA4MTIvdGhlbWEyMDAzMDgxMi0xMTUxMi5odG1sCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHByb2JsZW0gbWl0IHdpbnhwIChNYWhhcmV0LCAyNC4gQXVnIDIwMDMsIDE5OjEwOjU0KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA2MTc0NTAyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYxNzQ0OTQ1CkRhIHdhciB3ZXIgc2NobmVsbGVyLi4uLgpJY2ggZGFjaHRlIGF1Y2ggYW4gZGVuIFd1cm0uCgpNYWhhLCBTcGlvbiB1bmQgR2lmdG1pc2NoZXIgYUQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHByb2JsZW0gbWl0IHdpbnhwIChBbGJvaW4sIDI0LiBBdWcgMjAwMywgMTk6MjQ6MDEpOgp+IyEgcm49TWFoYXJldCBydD0xMDYxNzQ1MDU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKamEgd2llcyBhdXNzaWVodCBpc3NlcyBkZXIgV3VybSA6LSgsIG1laW4gdmlyZW5zY2FubmVyIGVya2FubnRlIGlobiBuaWNodCwgdW5kCmJlaW0gdXBkYXRlbiBkZXNzZWxiaWdlbiBzdGVsbHRlIGljaCBmZXN0IGRhcyBkZXIgdXBkYXRlLXN1cHBvcnQgYXVzbGllZi4gTmEKdG9sbC4KRGFua2UgYW4gYWxsZS4KQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHByb2JsZW0gbWl0IHdpbnhwIChBbWFyeWxsaXMsIDI0LiBBdWcgMjAwMywgMjA6MjI6MjYpOgp+IyEgcm49QWxib2luIHJ0PTEwNjE3NDU4NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpadW0gVGhlbWEgVmlyZW5zY2FubmVyOgpkZXIgZnVlciBkZW4gcHJpdmF0ZW4gRWluc2F0eiBrb3N0ZW5sb3NlIEFudGlWaXIgKFBlcnNvbmFsIEVkaXRpb24pIGlzdCBtZWhyCmFscyBicmF1Y2hiYXIsIGFsbGVyZGluZ3MgbXVzcyBtYW4gZGEgc2VsYnN0IGFuIGVudHNwcmVjaGVuZGUgVXBkYXRlcyBkZW5rZW4KdW5kIGRpZXNlIGF1c2xvZXNlbi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHByb2JsZW0gbWl0IHdpbnhwIChWYXJkaW9uLCAyNC4gQXVnIDIwMDMsIDIyOjE1OjA4KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDYxNzQ5MzQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKU3BlemllbGwgdW0gZGVuIFczMkJsYXN0ZXIgenUgZW50ZmVybmVuLCBnaWJ0cyB2b24gU3ltYW50ZWMgZWluIFRvb2wuIFdhciBpbgppcmdlbmQgZWluZW0gYyd0LUFydGlrZWwgenUgZGVtIFd1cm0gdmVybGlua3QgdW5kIHR1dC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHByb2JsZW0gbWl0IHdpbnhwIChDYXR3ZWF6bGUsIDI0LiBBdWcgMjAwMywgMjI6MTk6MjIpOgp+IyEgcm49VmFyZGlvbiBydD0xMDYxNzU2MTA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvZ2hpLTE1LjA4LjAzLTAwMC8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogcHJvYmxlbSBtaXQgd2lueHAgKEFsYm9pbiwgMjUuIEF1ZyAyMDAzLCAwODozMzoyMik6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjE3NTYxMDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpnZW5hdSBkaWVzZSB0b29sIGxhZGV0ZSBpY2ggbWlyIGF1Y2ggcnVudGVyLCBudW4gc3RlaGUgaWNoIHZvciBlaW5lbSBuZXVlbgpQcm9ibGVtOiBiZWltIFNjYW5uZW4gc3R1ZXJ6dCBtZWluIFJlY2huZXIgYWIuIElzdCBhYmVyIG5pY2h0IGRhcyBlcnN0ZSBtYWwKZGFzIGVyIGJlaW0gRHVyY2hzdWNoZW4gZGVyIEZlc3RwbGF0dGUgZ3V0ZSBOYWNodCBzYWd0LgoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHByb2JsZW0gbWl0IHdpbnhwIChHb3JvZywgMjUuIEF1ZyAyMDAzLCAwOTo1MzoxMyk6Cn4jISBybj1BbGJvaW4gcnQ9MTA2MTc5MzIwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYxNzQ0OTQ1Cldlbm4gRHUgbWl0IGFic3R1ZXJ6ZW4gbWVpbnN0LCBkYXNzIGRhcyBzeXN0ZW0gd2VnZW4gZGVzIHZpcnVzIHJ1bnRlciBmYWVocnQKa2FubnN0IG1hbCBzaHV0ZG93biAtYSBhdXNmdWVocmVuLCBkYW5uIHNvbGx0ZSBkYXMgc3lzdGVtIGRhcyBuaWNodCBtZWhyCndvbGxlbi4KR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHByb2JsZW0gbWl0IHdpbnhwIChBbGJvaW4sIDI1LiBBdWcgMjAwMywgMDk6NTg6MTApOgp+IyEgcm49R29yb2cgcnQ9MTA2MTc5Nzk5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYxNzQ0OTQ1Cm5laW4gZGFzIGlzdCBuaWNodCBnZW1laW50LiBCZWltIFNjYW5uZW4gb2RlciBEdXJjaHN1Y2hlbiB2b24gVmVyemVpY2huaXNzZW4Kc3R1ZXJ6dCBkZXIgQ29tcGkgamV0enQgb2huZSBWb3J3YXJudW5nIGFiLgoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHByb2JsZW0gbWl0IHdpbnhwIChBbWFyeWxsaXMsIDI1LiBBdWcgMjAwMywgMTA6MDA6MTgpOgp+IyEgcm49QWxib2luIHJ0PTEwNjE3OTgyOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpEYXMgaXN0IGVpbiBQaGFlbm9tZW4sIGRhcyBzb3dvaGwgZWluIEFyYmVpdHNrb2xsZWdlIHZvbiBtaXIsIGFscyBhdWNoIGljaApzZWxic3QgYmVpIG1laW5lbSBSZWNobmVyIGJlb2JhY2h0ZW4ga2Fubi4gRGEgYWxsZSB2aXJlbmZyZWkgc2luZCwgdmVybXV0ZSBpY2gKZGVuIEZlaGxlciBpbSBTY2FubmVyIG9kZXIgaGFsdCAod2llIHVlYmxpY2gpIGluIFdpbkRvb2YuIEJlaSBtZWluZW0KU3BpZWxlcmVjaG5lciBhZXVzc2VydCBzaWNoIGRhcyB6LkIuIHNvLCBkYXNzIGRpZSBLaXN0ZSBrb21wbGV0dCAiZWluZnJpZXJ0IiwKZC5oLiBuaWNodCBtYWwgZGllIE1hdXMgYmV3ZWd0IHNpY2ggbWVoci4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBwcm9ibGVtIG1pdCB3aW54cCAoR29yb2csIDI1LiBBdWcgMjAwMywgMTE6MDc6NTUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwNjE3OTg0MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpIbW0sIGF1ZiBtZWllbm0gMmsgU3lzdGVtIGhhdHRlIGljaCBkYXMgcHJvYmxlbSBhdWNoIG1hbC4gTGFnIGFuIFpvbmVBbGFybSwKZGFzIG1vY2h0ZSBzaWNoIHdvaGwgbmljaHQgbWl0IGRlbSBSZXN0IGRlcyBTeXN0ZW1zIHZlcnRyYWdlbiwgZWdhbCBvYnMKRmlyZXdhbGwgcmVsZXZhbnRlIFByb3plc3NlIHdhcmVuIG9kZXIgbmljaHQuIERpZSBuZXVzdGUgVmVyc2lvbiBkYXZvbiBoYXQKYWJoaWxmZSBnZXNjaGFmZmVuLgoKR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBwcm9ibGVtIG1pdCB3aW54cCAoTWVkaWMsIDI1LiBBdWcgMjAwMywgMTE6MTI6MjIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwNjE3OTg0MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpJY2ggZnJhZ2UgbWljaCBqYSBhdWNoIHNjaG9uIGxhZW5nZXIsIHdvIHQxLzIgZWluZXIgV2luZG93cy1JbnN0YWxsYXRpb24KdW5nZWZhZWhyIGFuenVzaWVkZWxuIGlzdCA7KQoKVW5kIGRhIG1pciBhdWNoIG1hbCB3aWVkZXIgZWluZSBOZXVpbnN0YWxsYXRpb24gYmV2b3JzdGVodCwgMiBrbGVpbmUgRnJhZ2VuOgotIEljaCB1ZWJlcmxlZ2UsIEJpdERlZmVuZGVyIGFscyBBVi1Qcm9ncmFtbSByYXVzenVzY2htZWlzc2VuLCBkYSBlcyBiZWkgbWlyCnVVIEFic3R1ZXJ6ZSB2ZXJ1cnNhY2h0LiBVbnNlcmUgVW5pIGhhdCBTb3Bob3MgQVYgYWxzIENhbXB1c2xpemVueiwgc28gZGFzcwppY2ggZGllc2VzIFByb2dyYW1tIG51dHplbiBrb2VubnRlLiAKS2VubnQgamVtYW5kIGRpZXNlcyBwcm9ncmFtbSBzY2hvbiBldHdhcyBiZXNzZXIgYWxzIGljaCB1bmQga2FubiBlcyBlbXBmZWhsZW4/CgotIFZlcndlbmRldCBzY2hvbiBqZW1hbmQgTW96aWxsYSBUaHVuZGVyYmlyZCAwLjEgYWxzIE1haWwtIHVuZCBOZXdzY2xpZW50PwpXZW5uIGphLCBsYWV1ZnQgZGllIFJlbGVhc2Ugc2Nob24gZWluaWdlcm1hc3NlbiBzdGFiaWw/IEljaCB1ZWJlcmxlZ2UsIGRhcwpHZXNhbXRwYWtldCBtaXQgQnJvd3NlciBldGMuIHp1IGVyc2V0emVuIGR1cmNoIGViZW5kaWVzZW4gU3RhbmRhbG9uZS1DbGllbnQuCgpEYW5rZSBmdWVyIGV1cmUgVGlwcHMsCk1lZGljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogcHJvYmxlbSBtaXQgd2lueHAgKEFtYXJ5bGxpcywgMjUuIEF1ZyAyMDAzLCAxMToxNTo1MSk6Cn4jISBybj1Hb3JvZyBydD0xMDYxODAyNDc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKSG0sIFpvbmVBbGFybSBpc3QgamEga2VpbmUgRmlyZXdhbGwsIHNvbmRlcm4gZWluIFBvcHVwLUdlbmVyYXRvciBtaXQKUGxhY2Viby1FZmZla3QgOi0pCgpEYSBpY2ggamVuZXMgbmljaHQgZWluc2V0emUsIGdsYXViZSBpY2ggbmljaHQsIGRhc3MgZXMgZGFyYW4gbGllZ3QuIERpZSBXZWdlCnVudGVyIFdpbmJsb2VkIHNpbmQgdmVyc2NobHVuZ2VuLCB1bmQgc29sYW5nZSBlcyBudXIgZWluZSBvcmRpbmFlcmUKU3BpZWxla2lzdGUgYmV0cmlmZnQsIHNvbGxzIG1pciBlZ2FsIHNlaW4uLi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBwcm9ibGVtIG1pdCB3aW54cCAoTW9yZ290aCwgMjUuIEF1ZyAyMDAzLCAxMToyNDoxNik6Cn4jISBybj1NZWRpYyBydD0xMDYxODAyNzQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE3NDQ5NDUKV2lyIHNldHplbiBTb3Bob3MgaGllciBpbSBGYWNoYmVyZWljaCBlaW4gdW5kIHdlbm4gbWFuIGVzIGFrdHVlbGwgaGFlbHQsIHdhcwpkdXJjaGF1cyAzLTQgbWFsIGFtIFRhZyBzZWluIGthbm4sIGRhbm4ga29tbXQgZGEgYXVjaCBuaXggYW4gVmlyZW5rcmFtcyBkdXJjaC4KV2lyIG51dHplbiBkYXMgc2VpdCAqZ3J1ZWJlbCogMiBKYWhyZW4gdW5kIGF1ZiBkZW4gdm9uIHVucyBnZXdhcnRldGVuIFJlY2huZXJuCmlzdCBub2NoIGtlaW4gVmlydXMgZWluZ2VmYWxsZW4gKHNlbGJzdCBiZWkgQmVudXR6dW5nIHZvbiBPdXRsb29rIG5pY2h0IDopCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHByb2JsZW0gbWl0IHdpbnhwIChNZWRpYywgMjUuIEF1ZyAyMDAzLCAxMToyNTozMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNjE4MDM0NTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MTc0NDk0NQpEaWUgQWt0dWFsaXNpZXJ1bmcgZXJmb2xndCBwZXIgQXV0b3VwZGF0ZSBpbiBlaW5zdGVsbGJhcmVuIEludGVydmFsbGVuIG9kZXIKcGVyIEhhbmQ/CgpOb2NobWFscyBkYW5rZSwKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktERS4uLiAoWm9vaywgMjUuIEF1ZyAyMDAzLCAxNDoyMDo1Nik6CkljaCBoYWV0dGUgamEgbmllIGdlZGFjaHQsIGRhc3MgbWVpbmUgdHdtLVplaXRlbiBtYWwgZWluIEVuZGUgbmVobWVuLCBhYmVyCmRhcyBLREUgc2llaHQgd2lya2xpY2ggc2Nob2VuIGtsaWNraWJ1bnRpIGF1cyB1bmQgaXJnZW5kd2llIGZ1bnp0IGRhcyAKZXJzdGF1bmxpY2hlcndlaXNlIGF1Y2ggZmFzdCBhbGxlcyBzbywgd2llIGdld29sbHQuIFp3ZWkgUHJvYnMgc2luZCBiZWkKbWlyIGF1ZmdldHJldGVuOgoKMS4gV2VubiBpY2ggYmVpbSBEYXRlaWJldHJhY2h0ZW4ga2R2aSB2ZXJ3ZW5kZSwgZGFubiB2ZXJzdWNodCBlciBiZWkgClBvc3RTY3JpcHQtU2NocmlmdGVuIGlyZ2VuZHdpZSBCaXRtYXBzIHp1IGVyemV1Z2VuIHVuZCBkaWUgc2VoZW4gc2NobGljaHQKaGFlc3NsaWNoIGF1cy4gS2FubiBtYW4gZGVtIGtkdmkgbmljaHQgYmVpYnJpbmdlbiB3aWUgYmVpIHhkdmkgZGFubiBlaW5mYWNoCmRpcmVrdCBkaWUgUG9zdFNjcmlwdC1TY2hyaWZ0ZW4genUgdmVyd2VuZGVuPyBXZW5uIGphLCB3byBtdWVzc3RlIG1hbiBkYXMKZWluc3RlbGxlbj8KCjIuIERpZXNlIEtvbnNvbGUuIE51biBqYSwgYWxzbyBpY2ggc3RhcnRlIHNvIG5lbiBUZWlsIHVuZCBkaWUgVGVybWluYWwtCkVpbnN0ZWxsdW5nZW4gc2luZCB3aWUgZ2V3dWVuc2NodCB1bmQgVEVSTSBoYXQgbmVuIFdlcnQgInh0ZXJtIi4gU293ZWl0CmFsbGVzIGluIGJlc3RlciBPcmRudW5nLgpOdW4gbWFjaCBpY2ggdmlhIHNzaCBuZSBTaGVsbCBhdWYgbmVtIGFuZGVyZW4gUmVjaG5lciBhdWYgKGF1Y2ggKkJTRSwKTnVuIG1hY2ggaWNoIHZpYSBzc2ggbmUgU2hlbGwgYXVmIG5lbSBhbmRlcmVuIFJlY2huZXIgYXVmIChhdWNoICpCU0UsIGFlaG4tCmxpY2ggaW5zdGFsbGllcnQgd2llIG1laW4gUmVjaG5lciBoaWVyKSB1bmQgYXVjaCBkb3J0IGZ1bnplbiBkaWUgVGVybWluYWwtCmVpbnN0ZWxsdW5nZW4uIERhbm4gbWFjaGUgaWNoIGVpbiAic2NyZWVuIiBhdWYgdW5kIHd1dHNjaCwgaGFiIGljaCBrZWluCkJhY2tzcGFjZSBtZWhyLCBzb25kZXJuIGVyaGFsdGUgbnVyIG5vY2ggZWluZSBUaWxkZSwgd2VubiBpY2ggYXVmIEJhY2tzcGFjZQpkcnVlY2tlLiBDLWggZnVuenQgYWJlciB3ZWl0ZXJoaW4gYWxzIEJhY2tzcGFjZS4gKEJlaSBuZW0gbm9ybWFsZW4geHRlcm0gCmZ1bnp0IGFsbGVzIHdpZSBnZXd1ZW5zY2h0KS4gV28gbXVzcyBpY2ggZGVubiBoaWVyIGRyZWhlbiwgZGFzcyBkYXMgZnVuenQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtERS4uLiAoQW5hdG9sLCAyNS4gQXVnIDIwMDMsIDE5OjEwOjAxKToKfiMhIHJuPVpvb2sgcnQ9MTA2MTgxNDA1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYxODE0MDU2ClF1aWNraGFjayBpc3QgInN0dHkgZXJhc2UgPGNvbnRyb2wtVj48QmFja3NwYWNlPiIuIFdpZSB2ZXJoYWVsdCBzaWNoCmRlbm4gU2NyZWVuLCB3ZW5uIER1IGVzIG5pY2h0IGluIGVpbmVtICJLb25zb2xlIiwgc29uZGVybiBlaW5lbSBlY2h0ZW4KInh0ZXJtIiBhdWZtYWNoc3Q/CgpBbmF0b2wgaGF0IGtlaW5lIEFobnVuZyB2b24gc293YXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS0RFLi4uIChab29rLCAyNi4gQXVnIDIwMDMsIDExOjIxOjQ3KToKfiMhIHJuPUFuYXRvbCBydD0xMDYxODMxNDAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE4MTQwNTYKU28gd2llIGdld3VlbnNjaHQsIEJhY2tzYXBjZSBpc3QgQmFja3NwYWNlLi4gOikKClN0ZWh0IGFiZXIgYXVjaCBpbiBkZXIgbGV0enRlbiBLbGFtbWVyIGluIGRlbSBBcnRpa2VsLiA6KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbmRvd3MgdW5kIFd1ZXJtY2hlbiA7KSAoTGlhcmEsIDI2LiBBdWcgMjAwMywgMTQ6NTA6NTgpOgpNaWNyb3NvZnQgV2luZG93cyBpbiBNaXNzaW9uIENyaXRpY2FsIEVudmlyb25tZW50cwpieSBSeWFuIExhbWJlcnQKQXVnIDIyIDIwMDMgMjo0NFBNCgpJIHRpcmUgb2YgcmVhZGluZyB0aGUgcG9zdHMgYWJvdXQgdGhlIG1lZGlhIGFuZCBnb3Zlcm5tZW50IGFyZSBibGluZCB0byB0aGUKZmFjdHMsIFdpbmRvd3MgYmFzaGluZy4gSXQncyByZWFsbHkgZ2V0dGluZyBvbGQuIEFuZCBtb3N0IG9mIGl0IGlzIGV2ZW4KdW50cnVlLiBEb2VzIGFueW9uZSBrbm93IHdoeSB0aGUgZmlyc3Qgd29ybSB3YXMgY3JlYXRlZCBvbiBVbml4PyBJdCB3YXMgaG9uZXkuClRoZSBtb3N0IHdpZGVseSBhdmFpbGFibGUgc3lzdGVtIG91dCB0aGVyZS4gRG9lcyBhbnlvbmUga25vdyB3aHkgbm93IHRoZQptYWpvcml0eSBvZiB2aXJ1c2VzIGFyZSBkZXBsb3llZCBmb3IgV2luZG93cyAzMiBiaXQgcGxhdGZvcm1zPyBCZWNhdXNlIGl0J3MKaG9uZXkuIFRoZSBtb3N0IHdpZGVseSBhdmFpbGFibGUgc3lzdGVtIG91dCB0aGVyZS4gSXQncyBub3cgZWFzaWVyIHRvIHdyaXRlCnRoZW0gZm9yIFdpbmRvd3MgYmVjYXVzZSBtb3JlIGFuZCBtb3JlIHBlb3BsZSBhcmUgYmVjb21pbmcgZmFtaWxpYXIgd2l0aCB0aGUKcHJvZHVjdCBhbmQgaXRzIGlubmVyIHdvcmtpbmdzLiAKCkxldHMgYWxzbyB0YWxrIGFib3V0IHBhdGNoaW5nIGFmdGVyIHRoZSBpbml0aWFsIGluc3RhbGxhdGlvbiBvZiBhbiBPUy4gSSBjYW4KcmVjYWxsIGRvaW5nIHRoaXMgb24gUmVkaGF0IGFuZCBTb2xhcmlzIGJvdGguIEkgZ3Vlc3MgdGhhdCdzIGEgYmFuZC1haWQKc2NlbmFyaW8gdGhlcmUsIGFzIHdlbGw/IEhvd2NvbWUgbm9ib2R5IG1lbnRpb25zIHRoYXQgaW4gdGhlc2UgYXJ0aWNsZXM/IEhvdwpjb252ZW5pZW50LiAKCkluc3RhYmlsaXRpZXMgaW4gV2luZG93cz8gSSBoYXZlIFdpbmRvd3MgU2VydmVycyB0aGF0IGhhdmUgYmV0dGVyIHVwdGltZXMgdGhhbgpuaXggYm94ZXMgcnVubmluZyBwcm9kdWN0aW9uLiBJJ2QgYmUgd2lsbGluZyB0byBndWVzcyB0aGF0IG1vc3Qgb2YgeW91IHNheWluZwpXaW5kb3dzIDIwMDAvMjAwMyBpcyB1bnN0YWJsZSBoYXZlbid0IHJlYWxseSB1c2VkIHRoZSBwcm9kdWN0LiBCZWNhdXNlIHlvdSd2ZQpzYXQgYXQgdGhlIGNvbnNvbGUsIGRvbmUgYW4gaW5zdGFsbGF0aW9uIGFuZCBpbnN0YWxsZWQgYSBmZXcgbmV4dC1uZXh0LW5leHQKcHJvZ3JhbXMgZG9lc24ndCBtYWtlIHlvdSBhbiBleHBlcnQuIAoKVGhlIGZhY3Qgb2YgdGhlIG1hdHRlciBpcywgYW55IG1vbmtleSB3aXRoIGhhbGYgYSBicmFpbiBjYW4gaW5zdGFsbCBhbiBPUyBhbmQKZ2V0IGl0IHdvcmtpbmcuIFRoaXMgaXMgZXZlbiB0aGUgY2FzZSB3aXRoIFNvbGFyaXMgYW5kIFJlZGhhdCAoV2hpbGUgSSB3aWxsCnNheSBSSCBpcyBtdWNoIGVhc2llciB0byBpbnN0YWxsKS4gCgpJdCB0YWtlcyBhIHdob2xlIGRpZmZlcmVudCBraW5kIG9mIG1vbmtleSB0byBwcmVwIHRoZSBzZXJ2ZXIgZm9yIHByb2R1Y3Rpb24sCmZpbmUgdHVuZSBhbmQgaW1wbGVtZW50IGVmZmVjdGl2ZSBzZWN1cml0eSBwb2xpY2llcy4gSSBkb24ndCBtZWFuIGp1c3Qgd2l0aAp0aGUgc29mdHdhcmUuIEVkdWNhdGluZyB5b3VyIHVzZXJzIGFuZCBicmluZ2luZyB0aGVtIHRvIHVuZGVyc3RhbmQgdGhlIGRhbmdlcnMKb2YgaXJyZXNwb25zaWJsZSBjb21wdXRlciB1c2UgaXMgYW4gaW1wb3J0YW50IHN0ZXAgaW4gZW5zdXJpbmcgdGhlIGludGVncml0eQpvZiB5b3VyIG5ldHdvcmsuIFRoZSBmYWN0IG9mIHRoZSBtYXR0ZXIgaW4gdGhpcyBzdG9yeSBpcyB0aGUgbmV0d29yayB3YXMKaW1wcm9wZXJseSBzZWN1cmVkLCBhbmQgcHJvYmFibHkgZHVlIHRvIGEgbGFjayBvZiBkb2N1bWVudGF0aW9uIGFuZApjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIHN0YWZmIG1lbWJlcnMgcmVzcG9uc2libGUuIAoKVGhlIHNhbWUgdGhpbmcgY291bGQgaGF2ZSBoYXBwZW5lZCBvbiBhIG5peCBpbmZyYXN0cnVjdHVyZSBsZWZ0IHZ1bG5lcmFibGUgdG8KYXR0YWNrcy4gTGF6eSBzeXNhZG1pbidpbmcgYW5kIG5vdCBhcHBseWluZyBwYXRjaGVzIGRvZXNuJ3QganVzdCBhZmZlY3QKV2luZG93cy4gSXQgYWZmZWN0cyBFVkVSWSBPUyBvdXQgdGhlcmUuIAoKU28gc3RvcCB1c2luZyBNaWNyb3NvZnQgYXMgYSBzY2FwZWdvYXQgYW5kIHN0YXJ0IGRvaW5nIHlvdXIgam9iIHByb3Blcmx5IQoKaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9uZXdzLzY3NjcvY29tbWVudC8yMTc1OSNNU0cKCgpEYSBoYXR0ZSBqZW1hbmQgZGllIE5hc2Ugdm9sbC4gKmdyaW5zKiBHaW5nIHVtIG1vZWdsaWNoZSBTbGFtbWVyLUFrdGl2aXRhZXRlbgppbiBhbWVyaWthbmlzY2hlbSBBdG9ta3JhbWZ0d2Vya2VuIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRydWNra29lcGZlIHJlaW5pZ2VuIChNZWRpYywgMjkuIEF1ZyAyMDAzLCAxNDoyOToyMSk6CmhhdCBqZW1hbmQgdm9uIGV1Y2ggZWluZSBndXRlIElkZWUsIHdpZSBtYW4gc2VpbmUgdHcuCnZlcnN0b3BmdGVuIERydWNra29lcGZlIHZsbHQuIG1pdCBlaW5mYWNoZW4gSGF1c21pdHRlbG4Kd2llZGVyIGR1cmNocHVzdGVuIGthbm4/CkdlaHQgdW0gZGllc2UgU2luZ2xlLUluay1EcnVja2tvZXBmZSB2b24gQ2Fub24sIGZhbGxzIGRhcwpyZWxldmFudCBzZWluIHNvbGx0ZS4uLgoKR3J1c3MsCk1lZGljLCBaZWJyYXN0cmVpZmVuIGRydWNrZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2trb2VwZmUgcmVpbmlnZW4gKFJvbmRhLCAyOS4gQXVnIDIwMDMsIDE0OjMxOjM1KToKfiMhIHJuPU1lZGljIHJ0PTEwNjIxNjAxNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MjE2MDE2MQpJY2ggaGFiIGJlaSBuZW0gdmVyZHJlY2t0ZW4gRXBzb24gVGludGVuc3RyYWhsZXJjaGVuIG1pdCBlaW5lbSBSZWluaWd1bmdzc2V0CnZvbiBDb25yYWQgcmVsYXRpdiBndXRlIEVyZmFocnVuZ2VuIGdlbWFjaHQuIEtvc3RldCBuaWNodCBkaWUgV2VsdCAoMTAgRXVybwpjYT8pLCBlbnRoYWVsdCBhYmVyIGF1Y2ggbnVyIGV0d2FzIEFsa29ob2wsIG5lbiBGbGFlc2NoY2hlbiBtaXQgU2NobGF1Y2hzdHVlY2sKdm9ybmUgZHJhbiB6dW0gIkR1cmNocHVzdGVuIiBkZXMgRHJ1Y2trb3BmcyB1bmQgRWlud2VnaGFuZHNjaHVoZS4KRGFuYWNoIGV3aWcgRHJ1Y2trb3BmLVJlaW5pZ2VuIHVuZCBUZXN0YmlsZCBkcnVja2VuIGF1ZnJ1ZmVuIHVuZCBiZXRlbi4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcnVja2tvZXBmZSByZWluaWdlbiAoR25vbWUsIDI5LiBBdWcgMjAwMywgMTY6NDQ6MzMpOgp+IyEgcm49TWVkaWMgcnQ9MTA2MjE2MDE2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYyMTYwMTYxCmVudHdlZGVyIGltIGhhbmRidWNoIHVudGVyICJkcnVja2tvcGZyZWluaWd1bmciIG5hY2hzY2hsYWdlbiBvZGVyCi0gd2VubnMgZ2FueiBlaW5nZXRyb2NrbmV0IGlzdCAtIGMndCA4LzAyIFMuMjE4IGZmLiBsZXNlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERydWNra29lcGZlIHJlaW5pZ2VuIChNZWRpYywgMjkuIEF1ZyAyMDAzLCAxNjo1ODowNSk6Cn4jISBybj1Hbm9tZSBydD0xMDYyMTY4MjczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjIxNjAxNjEKRGllIGF1dG9tYXRpc2NoZSBSZWluaWd1bmcgaGF0dGUgaWNoIG5hdHVlcmxpY2ggc2Nob24gdmVyc3VjaHQgOykKQWJlciBkYW5rZSBmdWVyIGRlbiBIaW53ZWlzIGF1ZiBkZW4gQXJ0aWtlbCwgaGFiZQpkZW4gZ2VyYWRlIG1hbCBnZWxlc2VuIHVuZCBwcm9iaWVyIG1hbCBkaWVzZXMgUmVpbmlndW5nc3NldC4KCkRhbmtlLApNZWRpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmV0cmllYnNzeXN0ZW1pbnN0YWxhdGlvbiAoR29yb2csICA1LiBTZXAgMjAwMywgMTQ6MTA6MzYpOgpNb2lucwpQcm9ibGVtOiBBdWYgZWluZW0gTm90ZWJvb2sgbWl0IGRlZmVrdGVtIENELVJvbS1MYXVmd2VyaywgYW4gZGVtIGVpbiBFeHRlcm5lcwpDRC1MYXVmd2VyayB1ZWJlciBVU0IgYW5nZXNjaGxvc3NlbiBpc3QsIHNvbGwgZWluIG5ldWVzIEJldHJpZWJzc3lzdGVtCmF1Zmdlc3BpZWx0IHdlcmRlbi4gQmlzaGVyIGlzdCBXaW5NZSBkcmF1ZiwgdW5kIHNvbGwgYXVjaCB3aWVkZXIgZHJhdWYuIERpZQpGZXN0cGxhdHRlIGhhdCBub2NoIGtuYXBwIDhHQiBmcmVpZW4gU3BlaWNoZXIuIERhcyBQcm9iZWxtIGJlaSBkZXIgSW5zdGFsYXRpb24KaXN0LCBkYXNzIGRhcyBleHRlcm5lIGxhdWZ3ZXJrIG9obmUgQmV0cmllYnNzeXN0ZW0gbmljaHQgZ2VmdW5kZW4gd2lyZC4gIApGcmFnZTogS2FubiBtaXIgamVtYW5kIG5lbiBUaXAgb2RlciBuZSBLTCBnZWJlbiwgbWl0IGRlciBlcyBtb2dsaWNoIGlzdCBhdWYKZGllc2VtIE5vdGVib29rIGVpbiBmcmlzY2hlcyBTeXN0ZW0genUgaW5zdGFsbGllcmVuPwpBbm1lcmt1bmc6IExpbnV4IHN0ZWh0IGF1c3NlciBGcmFnZSBkYSBkaWUgUGVyc29uLCBkaWUgc3BhZXRlciBkYW1pdCBhcmJlaXRldApuaWNodCBtZWhyIHdlaXNzIGFscyB3aWUgbWFuIGVpbmVuIFJlY2huZXIgYW5zdGVsbHQgV29yZCBvZWZmbmV0IHVuZCBkYW5uCmFsbGVzIHdpZWRlciBzY2hsaWVzc3QuIEFsc28gc29sbHRlIHNjaGx1c3NlbmRsaWNoIFdpbiBhdWYgZGVtIE5vdGVib29rCmxhdWZlbi4gV2FzIHppd2lzY2hlbiBkdXJjaCBwYXNzaWVydCBpc3QgcmVjaHQgZWdhbC4gRGFzIEJpb3MgaXN0IHVlYnJpZ2VucyB6dQphbHQsIHVtIHVlYmVyIE5ldHp3ZXJrIHp1IGJvb3Rlbi4KClZpZWxlbiBEYW5rCkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmV0cmllYnNzeXN0ZW1pbnN0YWxhdGlvbiAoVmFyZGlvbiwgIDUuIFNlcCAyMDAzLCAxNDoxMjo0NCk6Cn4jISBybj1Hb3JvZyBydD0xMDYyNzYzODM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjI3NjM4MzYKRGllIFBsYXR0ZSBhdXNiYXVlbiwgdWViZXIgZWluZW4gQWRhcHRlciBpbiBlaW5lbiBub3JtYWxlbiBQQyBlaW5iYXVlbiwgdW5kCmRvcnQgaW5zdGFsbGllcmVuLgpFbnRzcHJlY2hlbmRlIEFkYXB0ZXIgKHVtIG5lIDIuNSIgUGxhdHRlIGFuIG5lbiBub3JtYWxlbiBJREUtQW5zY2hsdXNzIHp1CmhhZW5nZW4pIGdpYnRzIGZ1ZXIgcnVuZCAxMCBFdXJvLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJldHJpZWJzc3lzdGVtaW5zdGFsYXRpb24gKEFudGhlYSwgIDUuIFNlcCAyMDAzLCAxNDoxMjo1OCk6Cn4jISBybj1Hb3JvZyBydD0xMDYyNzYzODM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjI3NjM4MzYKCkhpbnRlbiBhdWYgZGVyIFBsYXR0ZSBlaW5lIEZBVC1QYXJ0aXRpb24gZHJhdWYsIGRpZSBNRS1DRCBkb3J0IGhpbmtvcGllcmVuLAptaXQgRGlza2V0dGUgQm9vdGVuLCBTZXR1cCB2b24gZGVyIFBsYXR0ZSBzdGFydGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJldHJpZWJzc3lzdGVtaW5zdGFsYXRpb24gKE9ya3RvZXRlciwgIDUuIFNlcCAyMDAzLCAxNDoyNjo1OCk6Cn4jISBybj1Hb3JvZyBydD0xMDYyNzYzODM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjI3NjM4MzYKV2VubiBkdSBlaW4gRGlza2V0dGVubGF1ZndlcmsgZHJpbiBoYXN0IG1pdCBET1MgYm9vdGVuLCB0cmVpYmVyIGZ1ZXIgZGFzCmV4dGVybmUgTGF1ZndlcmsgbGFkZW4gdW5kIGluc3RhbGxpZXJlbi4KCldlbm4gZXMgbnVyIHVtIGVpbiBPZmZpY2UgZ2VodCBpc3QgaW56d2lzY2hlbiBMaW51eCBtaXQgS0RFIHVuZCBPcGVuT2ZmaWNlCmFlaG5saWNoIGVpbmZhY2ggenUgbnV0emVuIHdpZSBXaW5kb3dzLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmV0cmllYnNzeXN0ZW1pbnN0YWxhdGlvbiAoR29yb2csICA1LiBTZXAgMjAwMywgMTQ6MzI6NTQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNjI3NjQ4MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2Mjc2MzgzNgpEYW5rZSBpY2ggaG9mZmUgaWNoIGJla29tbSBkYXMgaGluLiBTY2hhdW4gbWVyIG1hbCAoOwpNZkcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmV0cmllYnNzeXN0ZW1pbnN0YWxhdGlvbiAoVmFyZGlvbiwgIDUuIFNlcCAyMDAzLCAxNDozMzo1OCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA2Mjc2NDgxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYyNzYzODM2CkVzIGdpYnQgZnVlciBET1MgVVNCLVRyZWliZXI/IHdvdy4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmV0cmllYnNzeXN0ZW1pbnN0YWxhdGlvbiAoTW9yZ290aCwgIDUuIFNlcCAyMDAzLCAxNTowMTozMyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjI3NjUyMzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2Mjc2MzgzNgpKYSwgdW5kIGljaCBoYWIgZ29yb2cgYXVjaCBzY2hvbiBlaW5lIHZvcmdlZmVydGlnZSBCb290LURpc2MgZ2VzY2hpY2t0LgoKV2lyIG51dHplbiBkYXMgVGVpbCBncmFkIHVtIG1pdCBleHRlcm5lciBVU0ItUGxhdHRlIEdob3N0aW1hZ2VzIGZ1ZXIgUEMtUE9PTHMKenUgdmVydGVpbGVuLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuaWNvZGUgKyBTU0kgKE9nbywgIDUuIFNlcCAyMDAzLCAxNToyODo0OSk6CkluIEVybWFuZ2VsdW5nIHZvbiBQSFAgKG8uYWUuKSBhdWYgZWluZW0gV2Vic2VydmVyIGJlc3RlaHQgZGllIGVpbnppZ2UKTW9lZ2xpY2hrZWl0IGRlbiAnQ29udGVudCcgaGFsYndlZ3MgZHluYW1pc2NoIHp1IGdlc3RhbHRlbiBpbiBTU0kuIERhbWl0CmtvZW5udGUgaWNoIGd1dCBsZWJlbiwgYWJlciBpY2ggYmluIHVlYmVyIGVpbiBQcm9ibGVtIGdlc3RvbHBlcnQsIHdlbGNoZXMgaWNoCm5pY2h0IHdpcmtsaWNoIG5hY2h2b2xsemllaGVuIGthbm4uIFZpZWxsZWljaHQgZ2lidCBlcyBqYSBoaWVyIGplbWFuZGVuLCBkZXIKZXJrbGFlcmVuIGthbm4sIHdlc2hhbGIgZXMgc2ljaCBzbyB2ZXJoYWVsdCwgd2llIGVzIHNpY2ggdmVyaGFlbHQ6CgpTdGVwcyB0byByZXByb2R1Y2U6CkZvbGdlbmRlIHNodG1sIFNlaXRlIHNlaSBnZWdlYmVuCjxodG1sPgo8Ym9keT4KPCEtLSNzZXQgdmFyPSJkdW1teSIgdmFsdWU9IlZvcmhlcjxicj4mIzk4NzE7JiN4MjY4Rjs8YnI+TmFjaGhlciIgLS0+CkVudGl0eToKPCEtLSNlY2hvIGVuY29kaW5nPSJlbnRpdHkiIHZhcj0iZHVtbXkiIC0tPjxocj4KTm9uZToKPCEtLSNlY2hvIGVuY29kaW5nPSJub25lIiB2YXI9ImR1bW15IiAtLT48aHI+ClVybDoKPCEtLSNlY2hvIGVuY29kaW5nPSJ1cmwiIHZhcj0iZHVtbXkiIC0tPjxocj4KRGlyZWt0OgomIzk4NzE7CiYjeDI2OEY7CjwvYm9keT4KPC9odG1sPgoKSWNoIHdlaXNlIGFsc28gZGVyIFZhcmlhYmxlIGR1bW15IGVpbmVuIFN0cmluZyB6dSwgZGVyIHVudGVyIEFuZGVyZW0gYXVzIHp3ZWkKVW5pQ29kZSBaZWljaGVuIGJlc3RlaHQgKGVpbm1hbCBEZXppbWFsIHVuZCBlaW5tYWwgSGV4KS4gRGllc2UgVmFyaWFibGUgbGFzc2UKaWNoIG1pciBudW4gbWl0IHZlcnNjaGllZGVuZW4gZW5jb2RpbmdzIGF1c2dlYmVuLgoKRGFzIFByb2JsZW0gaXN0IG51biwgZGFzcyBkZXIgYm9lc2UgSW5kaWFuZXIgYW5zY2hlaW5lbmQgc2FlbXRsaWNoZSBVbmlDb2RlClNhY2hlbiBhdXMgZGllc2VtIFN0cmluZyByYXVzbG9lc2NodC4uLgpEZXIgSFRNbC1Db2RlLCBkZW4gZGVyIFNlcnZlciBtaXIgaW4gZGllc2VtIEZhbGwgenVydWVja2xpZWZlcnQsIHNpZWh0IHNvIGF1czoKPGh0bWw+Cjxib2R5PgoKRW50aXR5OgpWb3JoZXImbHQ7YnImZ3Q7Jmx0O2JyJmd0O05hY2hoZXI8aHI+Ck5vbmU6ClZvcmhlcjxicj48YnI+TmFjaGhlcjxocj4KVXJsOgpWb3JoZXIlM2NiciUzZSUzY2JyJTNlTmFjaGhlcjxocj4KRGlyZWt0OgomIzk4NzE7CiYjeDI2OEY7CjwvYm9keT4KCjwvaHRtbD4KCldhcnVtIGxvZXNjaHQgZXIgc2FlbXRsaWNoZSAmI3h4eHg7IFplaWNoZW4sIGFiZXIgc293YXMgd2llICZhdW1sOyByZWljaHQgZXIKYW5zdGFlbmRpZyB3ZWl0ZXI/CgpPZ28sIGFtIHZlcnp3ZWlmZWxuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWJjYW12aWV3IChDYXR3ZWF6bGUsICA4LiBTZXAgMjAwMywgMTA6Mzk6MDApOgpNb2luIQoKV2Vpc3MgamVtYW5kIGVpbmUgc2NobGljaHRlIE1ldGhvZGUsIGVpbmVuIFdlYmNhbSBTdHJlYW0gYXVmIGVpbmUgV2Vic2VpdGUgenUKYmVrb21tZW4/IE1pdCBuZW0gTGludXg/IFZpZWxsZWljaHQgc29nYXIgYXVmIG5lbiBSZW1vdGUtV2Vic2VydmVyPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ViY2FtdmlldyAoTm9ubmUsICA4LiBTZXAgMjAwMywgMTA6NTE6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjMwMTAzNDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzAxMDM0MApFaW5lIFN1Y2hlIG5hY2ggd2ViY2FtIGJlaSBmcmVzaG1lYXQubmV0IGZvZXJkZXJ0ZSBkaWVzZXMgaGllciB6dSBUYWdlOgpodHRwOi8vY3NlcnYuc291cmNlZm9yZ2UubmV0LwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2ViY2FtdmlldyAoVGFyYW5pcywgIDguIFNlcCAyMDAzLCAyMzoxMDoyMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2MzAxMDM0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYzMDEwMzQwCktlbm5lIG1pY2ggZGEgendhciBhdWNoIG5pY2h0IGF1cywgYWJlciBpY2ggbWVpbmUsIG1pdCAibnZyZWMiIHVuZCAiZmZtcGVnIgooYmVpZGVzIGF1ZiBzb3VyY2Vmb3JnZSB6dSBmaW5kZW4pLCBpc3QgZXMgbW9lZ2xpY2gsIFZpZGVvc3RyZWFtcyB6dQplcnN0ZWxsZW4uClZpZWxlIEdydWVzc2UsClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2ViY2FtdmlldyAoQ2F0d2VhemxlLCAgOC4gU2VwIDIwMDMsIDIzOjEzOjE1KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA2MzA1NTQyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYzMDEwMzQwCmNhbXNlcnYga2xhbmcgZWluZmFjaCwgaGF0IGFiZXIgbmljaHQgZ2VrbGFwcHQuIGZmbXBlZyBrZW5uIGljaCBhdWNoLCBrbGluZ3QKYWJlciBldHdhcyB1ZWJlcnRyaWViZW4gZnVlciBtZWluZSBtaW5pbWFsYW5mb3JkZXJ1bmdlbiwgaWNoIHdpbGwgZ2FyIG5peCB3aWxkCmtvZGllcmVuLiBudnJlYyBsYXNzIGljaCBtaXIgZGFubiBtYWwgZnVlciBtb3JnZW4gdWViZXIgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGVyZm9ybWFuY2UgKEFsYm9pbiwgMTAuIFNlcCAyMDAzLCAxMDozMjoxNCk6CmhpaG8sIGtlbm50IGplbWFuZCBndWVuc3RpZ2UgUHJvZ3JhbW1lIHp1ciBQZXJmb3JtYW5jZS9CZW5jaG1hcmtzLWFuYWx5c2UgaW4Kd2luZG93cyBuZXR6d2Vya2VuPwpJY2gga29lbm50ZSBqYSBhdWNoIGVpbiBwYWFyIHNrcmlwdGUgc2NocmVpYmVuIHVuZCBkaWUgemVpdCBtZXNzZW4gYWJlciBpY2gKaG9mZmUgbWFsIGRhcyBlcyBhdWNoIHNjaG5lbGxlciBnZWh0LgpEYW5rZSBpbSB2b3JhdXMKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwZXJmb3JtYW5jZSAoQ2F0d2VhemxlLCAxMC4gU2VwIDIwMDMsIDEwOjQwOjA3KToKfiMhIHJuPUFsYm9pbiBydD0xMDYzMTgyNzM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjMxODI3MzQKaHR0cDovL3d3dy5oZWlzZS5kZS9jdC9mdHAgPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBlcmZvcm1hbmNlIChBbGJvaW4sIDEwLiBTZXAgMjAwMywgMTA6NDM6MzEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjMxODMyMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzE4MjczNAp2aWVsbGVpY2h0IHNvbGx0ZSBpY2ggZGFzIHByb2JsZW0gc3BlemlmaWVyZW46CndpciBoYWJlbiBlaW5lbiBuZXVlbiBmaWxlciBiZWtvbW1lbiB1bmQgaWNoIGhhYmUgZGllIGVocmVudm9sbGUgYXVmZ2FiZQpyYXVzenVrcmllZ2VuIHVtd2lldmllbCBiZXNzZXIgZGVyIGlzdCBhbHMgZGVyIGFsdGUsIGJlaXNwaWVscyB3ZWlzZSBiZWltCnNjaHJlaWJlbiB2b24gdmllbGVuIGtsZWluZW4gZmlsZXMgb2RlciBzY2hyZWliZW4gdm9uIG5lbSByaXNlbmZpbGUsIGFueSBpZGVhcwo/CgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGVyZm9ybWFuY2UgKFBpbGdyaW0sIDEwLiBTZXAgMjAwMywgMTY6MDE6MzQpOgp+IyEgcm49QWxib2luIHJ0PTEwNjMxODM0MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzE4MjczNApTdG9wcHVociB1bmQgMS0yIChvZGVyIDEwLTIwKSBHQiByZXByYWVzZW50YWl2ZSBEYXRlbj8KClBpbCoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpURlQtRGlzcGxheXMgKENhdHdlYXpsZSwgMTEuIFNlcCAyMDAzLCAxMjo1MzoyNSk6Ck1vaW4hCgpXZWxjaGUgTWFya2UgaXN0IGRlbm4gelogYmVpIDE3LTE5IiBURlQtRGlzcGxheXMgenUgZW1wZmVobGVuPwoKCllUQwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBURlQtRGlzcGxheXMgKENyb2Z0LCAxMS4gU2VwIDIwMDMsIDEzOjEyOjMzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYzMjc3NjA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjMyNzc2MDUKXUljaCBiaW4gbWl0IG1laW5lbSAxNyIgRWl6byBqZWRlbmZhbGxzIHNlaHIgenUgZnJpZWRlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRGVC1EaXNwbGF5cyAoV2lsbG93LCAxMS4gU2VwIDIwMDMsIDEzOjQzOjI1KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjMyNzg3NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzI3NzYwNQpJY2ggZ2xhdWIsIGRpZSBCZW5RLVRlaWxlIHNpbmQgcmVjaHQgbmV0dCAtIHNvbGxlbiBhdWNoIG5lbiBzY2huZWxsZW4KQmlsZGF1ZmJhdSBoYWJlbgpkYXMgV2VpZGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVEZULURpc3BsYXlzIChHcmltbWJvcm4sIDExLiBTZXAgMjAwMywgMTQ6MzU6MTcpOgp+IyEgcm49V2lsbG93IHJ0PTEwNjMyODA2MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzI3NzYwNQpJY2ggYmluIG1pdCBtZWluZW0gTkVDIE11bHRpU3luYyAyMDgwVVggcmVjaHQgenVmcmllZGVuLiBPZGVyIHdhZXJlIGVzLCB3ZW5uCmRlciBBVEkgUmFnZSBtb2JpbGl0eSBhbnN0YWVuZGlnIGRpZSAxNjAweDEyMDAgdW50ZXJzdHVldHplbiB3dWVyZGUgYnp3LiBkZXIKZmIgbWl0IDE2MDB4MTIwMCB0dW4gd3VlcmRlLiBTbyBhbGxlcmRpbmdzIGlzdCBkYXMgQmlsZCBlaW4gYmlzY2hlbgp2ZXJ3YXNjaGVuLi4uCgpHZEFbZXgtUl0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRGVC1EaXNwbGF5cyAoR29yb2csIDExLiBTZXAgMjAwMywgMTY6MjM6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNjMyODM3MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzI3NzYwNQpJY2ggaGFiIG1pciBuZXVsaWNoIG5lbiBBRGkgNzE1ICg/IG11c3MgaWNoIG5hY2hzY2hhdW4pLiBkZXIgaXN0IHppZW1saWNoCmtsYXNzZS4gRFZJIHVuZCBWR0EgRWluZ2FuZywgVVNCIEh1YiB1bmQgbmVuIExhdXRzcHJlY2hlcmF1c2dhbmcuIEJpbiBzZWhyCnp1ZnJpZWRlbiBkYW1pdC4gSWNoIHdvbGx0ZSBtaXIgZXJzdCBlaW5lbiBCZW5RIGthdWZlbiwgYWJlciBkZXIgaGF0dGUga2VpbmVuCkRWaSBFaW5nYW5nIHVuZCBoYXQgZ2VuYXVzb3ZpZWwgZ2Vrb3N0ZXQuIEF1c3NlcmRlbSBoYXQgbWlyIGRhcyBCaWxkIGF1ZiBkZW0KQURJIGJlc3NlciBnZWZhbGxlbi4gRGllIHJlYWt0aW9uc3plaXQgaXN0IGF1ZiBkZW0gUGFwaWVyIGJlaSAxNm1zIGltIGN0LVRlc3QKKG9kZXIgd2FycyBuZSBhbmRlcmUgWmVpdHNjaHJpZnQpIGxhZyBkZXIgYWxsZXJkaW5ncyBob2VoZXIgYWJlciBpbW1lciBub2NoCnVudGVyIDIwLiAKCm1mRwoKcC5zLjogV2VubnMgRGljaCBJbnRlcmVzc2llcnQgc2NoYXUgdm9yYmVpIHVuZCBzZWggaWhuIERpciBhbiwgaXN0IGphIG5pY2h0IHNvCndlaXQuIEFjaGphIHVuZCBpbSBlcnN0ZW4gU2F0eiBub2NoIGVpbiBnZWthdWZ0IHZvciBkZW4gUHVua3QgZWluc2NoaWViZW4gKDsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLREUuLi4gKFpvb2ssIDE1LiBTZXAgMjAwMywgMTk6NDc6MDcpOgp+IyEgcm49Wm9vayBydD0xMDYxODE0MDU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjE4MTQwNTYKYnR3LCBiZWlkZSAiZWlnZW5hcnRlbiIgYmVzdGVoZW4gd2VpdGVyLiBrZWluZXIgbmUgdG9sbGUgaWRlZT8KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDVVBTIHVuZCBkZXIgZG9vZmUgWm9vay4gKFpvb2ssIDE1LiBTZXAgMjAwMywgMTk6NTA6MTIpOgpJY2ggYmluIHdhaHJzY2hlaW5saWNoIG51ciB6dSBkb29mLCBhYmVyIG51biBqYS4gQXVjaCBuYWNoIGVpbmlnZW0gU3VjaGVuCmltIEludGVybmV0IGhhYmUgaWNoIGtlaW5lIEFudHdvcnQgYXVmIG1laW4gUGhhZW5vbWVuIGdlZnVuZGVuOgoKSWNoIGhhYmUgdmVyc3VjaHQsIGF1ZiBlaW5lbiBIUCBMYXNlckpldCAxMTAwLCBhYmVyIGF1Y2ggYXVmIGVpbmVuCkhQIExhc2VySmV0IDQgenUgZHJ1Y2tlbi4gSWNoIGhhYmUgamV3ZWlscyBhbHMgRHJ1Y2tlciAiSFAgTGFzZXJqZXQiCmltIENVUFMgYXVzZ2V3YWVobHQuIEFuZ2VzY2hsb3NzZW4gd2FyZW4gZGllIHVudGVyc2NoaWVkbGljaCAoc21iLCBwYXJhbGxlbCkuCgpEYXMgRXJnZWJuaXMgd2FyOiBFciBkcnVja3QgYWxsZSBaZWljaGVuIGluIENvdXJpZXItU2NocmlmdCwgYXVjaCB3ZW5uIGltClBvc3RzY3JpcHQtRmlsZSB3YXMgYW5kZXJlcyBzdGVodC4gQW4gZGVyIHJlY2h0ZW4gU3RlbGxlIHNpbmQgZGllIEJ1Y2gtCnN0YWJlbiwgbnVyIGViZW4gQ291cmllciB1bmQgbmljaHQgZGFzLCB3YXMgaWNoIGF1c2dld2FlaGx0IGhhYmUuCgpEcnVja2UgaWNoIFBERiAoekIgdmlhIGtnaG9zdHZpZXcpIHNjaGF1dCBhbGxlcyBvcmRlbnRsaWNoIHVuZCBub3JtYWwgYXVzLgoKSXJnZW5kamVtYW5kIG5lIHNjaGxhZ2VuZGUgSWRlZT8KCkFoamEsIGRhcyBDVVBTIGhhdCBlaW4gZXNwZ3MgaW5zdGFsbGllcnQgKFZlcnNpb24gNy4wNSkgdW5kIGljaCBoYWJlIGVpbgpHTlUgR2hvc3R2aWV3IDcuMDYgYXVmIG1laW5lciBLaXN0ZS4sCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmRlc2t0b3AgLyBXVFMgKFpvb2ssIDE1LiBTZXAgMjAwMywgMjA6MzI6MDQpOgpXaWUgYmVrb21tZSBpY2ggZGVubiByZGVza3RvcCB1bmQgZGVuIHp1Z2Vob2VyaWdlbiBXVFMgKFp1Z2FuZyB1ZWJlciBTU0gKZ2V0dW5uZWx0KSBkYXp1LCBtZWluZW4gbG9rYWxlbiBVTklYLURydWNrZXIgenUgZXJrZW5uZW4/CgpJcmdlbmR3aWUgd2VyZCBpY2ggYXVzIGRlbiBGQVFzIGltIE5ldHogbmljaHQgcmljaHRpZyBzY2hsYXUuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENVUFMgdW5kIGRlciBkb29mZSBab29rLiAoWm9vaywgMTUuIFNlcCAyMDAzLCAyMTozMzowNCk6Cn4jISBybj1ab29rIHJ0PTEwNjM2NDgyMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzY0ODIxMgpWaWVsZW4gRGFuayBmdWVyIGRpZSBUaXBzIGF1ZiAtbGludXggdW5kIGljaCBoYWJlIG51biBub2NoIGtlaW5lIExvZXN1bmcKYWJlciBpbW1lcmhpbiBlaW5lIElkZWUsIHdvIGljaCBzdWNoZW4ga29lbm50ZS4gSWNoIGhvZmYsIGVzIGxhZXVmdCBiYWxkLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ1VQUyB1bmQgZGVyIGRvb2ZlIFpvb2suIChab29rLCAxNS4gU2VwIDIwMDMsIDIyOjAxOjA2KToKfiMhIHJuPVpvb2sgcnQ9MTA2MzY1NDM4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYzNjQ4MjEyCk9rLiBOdSB0dXQgZXMuIEVzIGxhZyBhbiBuaWNodCB6dXNhbW1lbiBwYXNzZW5kZW4gVmVyc2lvbmVuIHZvbgpHaG9zdHZpZXcgdW5kIENVUFMuCgpab29rLgoKUFM6IFNvZnR3YXJlIHNhdWd0ISBFcndhZWhudGUgaWNoIGRhcyBiZXJlaXRzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBURlQtRGlzcGxheXMgKEtvYmF5YXNoaSwgMTYuIFNlcCAyMDAzLCAxMDoyOTo0Myk6Cn4jISBybj1Dcm9mdCBydD0xMDYzMjc4NzUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjMyNzc2MDUKVmVyZ2VzcyBkaWUgMTkiLWVyLCBkaWUgc2luZCBub2NoIHp1IGxhbmdzYW0gdW5kIHRyYWVnZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRGVC1EaXNwbGF5cyAoQ2F0d2VhemxlLCAxNi4gU2VwIDIwMDMsIDEwOjQ0OjQzKToKfiMhIHJuPUtvYmF5YXNoaSBydD0xMDYzNzAwOTgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjMyNzc2MDUKMTgiID8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3NoLXByb2JsZW0gOiggKE1vcmdvdGgsIDE4LiBTZXAgMjAwMywgMjI6MjI6MzkpOgoKSGFiIGdyYWQgZGllIG5ldWUgT3BlblNTSCBjb21waWxpZXJ0IHVuZCBiZWltIG1ha2UgaW5zdGFsbCBzcHVja3QgZXIgZGFzIGF1czoKOnwgL3Vzci9sb2NhbC9zYmluL3NzaGQgLXQgLWYgL3Vzci9sb2NhbC9ldGMvc3NoZF9jb25maWcKOnwgUHJpdmlsZWdlIHNlcGFyYXRpb24gdXNlciBzc2hkIGRvZXMgbm90IGV4aXN0Cjp8IG1ha2U6IFtjaGVjay1jb25maWddIEVycm9yIDI1NSAoaWdub3JlZCkKCkplbWFuZCBuZSBJZGVlPyBNdXNzIGljaCBkaWVzZW4gdXNlciBhbmxlZ2VuPyBtaXQgd2VsY2hlbiByZWNodGVuPwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzc2gtcHJvYmxlbSA6KCAoQW1hcnlsbGlzLCAxOC4gU2VwIDIwMDMsIDIyOjI5OjA5KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA2MzkxNjU1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDYzOTE2NTU5CmRlbiBVc2VyIGJyYXVjaHQgbWFuIHNjaG9uIHNlaXQgU1NIIDMuNC4gaXJnZW5kd2FzLi4uIHdhcyBmdWVyIG5lbiBhbHRlbiBTU0gKaGF0dGVzdCBkdSBkZW5uIGJpc2hlcj8KCkRlbiBVc2VyIGFtIGJlc3RlbiBhbHMgU3RhbmRhcmQtVXNlciBvaG5lIExvZ2luenVnYW5nIGVpbnJpY2h0ZW4gKGQuaC4ga2VpbmUKU2hlbGwgZ2ViZW4hKS4KQW5zb25zdGVuIHdpcnN0IGR1IGRhbm4gaW1obyBub2NoIC92YXIvZW1wdHkgYW5sZWdlbiBtdWVzc2VuICg3MDApLgoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzc2gtcHJvYmxlbSA6KCAoVmFyZGlvbiwgMTguIFNlcCAyMDAzLCAyMzoyNTo0Nyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNjM5MTY1NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2MzkxNjU1OQpbZmluZ2VyIHNzaGRdCkxvZ2luOiBzc2hkICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lOiBzc2hkIHByaXZzZXAKRGlyZWN0b3J5OiAvdmFyL2xpYi9zc2gvZW1wdHkgICAgICAgICAgIFNoZWxsOiAvZGV2L251bGwKTmV2ZXIgbG9nZ2VkIGluLgpObyBtYWlsLgpObyBQbGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR1BHIG1pdCBPdXRsb29rIChab29rLCAyNS4gU2VwIDIwMDMsIDEzOjQwOjUzKToKSGFsbG8sIGtlbm50IGplbWFuZCBlaW4gUGx1Z2luIG8uYWUuLCBtaXQgZGVtIGljaCBPdXRsb29rIHVuZCBQR1AgaXJnZW5kd2llCnNpbm52b2xsIHZlcmtudWVwZmVuIGthbm4/IChNSU1FL1BHUCBvZGVyIHdpZSBkYXMgaGVpc3N0LCBzb2xsdGUgYXVjaCAKZnVuemVuKS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR1BHIG1pdCBPdXRsb29rIChUYXJhbmlzLCAyNS4gU2VwIDIwMDMsIDE2OjM4OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTA2NDQ5MDA1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzCkljaCBrZW5uZSBlaWdlbnRsaWNoIGtlaW4gUEdQLVBsdWdpbiBmdWVyIE91dGxvb2suIEluIGRlciBrb21tZXJ6aWVsbGVuClZlcnNpb24gaXN0IHdvaGwgc293YXMgZHJpbiwgcy4gaHR0cDovL3d3dy5wZ3AuY29tL3Byb2R1Y3RzL3BlcnNvbmFsLmh0bWwKQW5zb25zdGVuIGtlbm5lIGljaCBub2NoIGVpbiBwYWFyIFNhY2hlbiBmdWVyIE91dGxvb2sgdW5kIEdQRywgdmllbGxlaWNodAprYW5uc3QgRHUgZGljaCBkYW1pdCBqYSBhdWNoIGFuZnJldW5kZW46Cmh0dHA6Ly93d3cud2lucHQub3JnL2dwZ29lLmh0bWwKaHR0cDovL3d3dzMuZ2RhdGEuZGUvZ3BnL2luZGV4Lmh0bWwKdW5kIGV2dGwuIGh0dHA6Ly9zaXRlcy5pbmthLmRlL3Rlc2xhL2dwZ3JlbGF5Lmh0bWwKRGEgaWNoIGtlaW4gT3V0bG9vayB2ZXJ3ZW5kZSwga2FubiBpY2ggRGlyIG5pY2h0IHNhZ2VuLCB3YXMgZGF2b24gamV0enQgZGllCmJlc3RlIExvZXN1bmcgaXN0Li4uCgpWaWVsZSBHcnVlc3NlLApUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdQRyBtaXQgT3V0bG9vayAoVmFyZGlvbiwgMjUuIFNlcCAyMDAzLCAxNjo0NDozOSk6Cn4jISBybj1UYXJhbmlzIHJ0PTEwNjQ1MDA3MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpBRkFJSyBnZW51ZWd0IEdQRyBkZW0gT3BlblBHUC1TdGFuZGFyZCB1bmQgc29sbHRlIGFsbGVzIGVudHNjaGx1ZXNzZWxuCmtvZW5uZW4sIHdhcyBQR1AgdmVyc2NobHVlc3NlbHQgaGF0LiBWZXJtdXRsaWNoIGF1Y2ggdW1nZWtlaHJ0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR1BHIG1pdCBPdXRsb29rIChab29rLCAyNS4gU2VwIDIwMDMsIDE2OjU2OjE1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2NDUwMTA3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzClNjaG9uLCBlcyBnZWh0IG51ciB1bSBuZW4gUGx1Z2luIGZ1ZXIgT3V0bG9vaywgZGFtaXQgbWVpbmUgQmVudXR6ZXIKZGFtaXQgdW1nZWhlbiBrb2VubmVuLgoKWk9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdQRyBtaXQgT3V0bG9vayAoVGFyYW5pcywgMjUuIFNlcCAyMDAzLCAxNzowMTo0NSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjQ1MDEwNzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpKYSwgR1BHIGVyZnVlbGx0IGRlbiBPcGVuUEdQLVN0YW5kYXJkLiBBYmVyIFBHUCBpc3QgZGEgd2VuaWdlciAidm9yYmlsZGxpY2giLAp3ZXN3ZWdlbiBlcyBiZWkgR1BHIG1laHJlcmUgS29tcGF0aWJpbGlhZXRzc2NoYWx0ZXIgZnVlciB2ZXJzY2hpZWRlbmUKVmVyc2lvbmVuIHZvbiBQR1AgZ2lidCwgZGllIE9wZW5QR1AtIHVuZCBHbnVQRy1WZXJoYWx0ZW4gYWJzY2hhbHRlbiB1bmQgZnVlcgpkaWUgc3BlemllbGxlIFBHUC1WZXJzaW9uIG9wdGltaWVyZW4uIEljaCBkZW5rZSBuaWNodCwgZGFzcyBkYSBpcmdlbmR3ZWxjaGUKUHJvYmxlbWUgZ2ViZW4gc29sbHRlLiBadW1pbmRlc3QgaGF0dGUgaWNoIGJpc2hlciBuaWUgd2VsY2hlLgoKVmllbGUgR3J1ZXNzZSwKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdQRyBtaXQgT3V0bG9vayAoUm9jaHVzLCAyNS4gU2VwIDIwMDMsIDE3OjEwOjM2KToKfiMhIHJuPVpvb2sgcnQ9MTA2NDQ5MDA1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzClBHUCB1bmQgT3V0bG9vayBpc3Qgc28gZWluZSBTYWNoZS4uLgpFcyBnaWJ0IGVpbmVuIFN0YW5kYXJkLCBFTWFpbCBtaXQgUEdQIHp1IHZlcnNjaGx1ZXNzZWxuOiBQR1AvTUlNRQpEYSBnaWJ0IGVzIG51ciBlaW4ga2xlaW5lcyBQcm9ibGVtOiBEaWUgbWVpc3RlbiBQbHVnaW5zIGZ1ZXIKT3V0bG9vayB1bnRlcnN0dWV0emVuIGRhcyBuaWNodC4gRGllIGJlaGFuZGVsbiBzdGF0dCBkZXNzZW4KamVkZW4gVGVpbCBlaW5lciBOYWNocmljaHQgZWluemVsbiBtaXQgUEdQLiBXZW5uIHVlYmVyaGF1cHQuCk1pciBpc3Qgc2Nob24gZWluIFBsdWdpbiB1bnRlcmdla29tbWVuLCBkYXMgYmVpbSBTaWduaWVyZW4KTlVSIGRlbiBUZXh0dGVpbCBzaWduaWVydCBhYmVyIGtlaW5lIEFuaGFlbmdlLi4uIHVuZCBiZWltClZlcmlmaXppZXJlbiB6ZWlndCBkZXIgbmF0dWVybGljaCBhbiwgZGFzcyBkaWUgTmFjaHJpY2h0IHNpZ25pZXJ0IGlzdCwKd29yYXVmIGplZGVyIGRlbmt0IGRhcyBnZWx0ZSBmdWVyIGFsbGVzLi4uCk1pdCBQR1AvTUlNRSBoYWV0dGUgbWFuIGRpZXNlIFByb2JsZW1lIG5pY2h0LCB3ZWlsIGRhIGRpZQpOYWNocmljaHQgZWluc2NobGllc3NsaWNoIEF0dGFjaG1lbnRzIGFscyBFaW5oZWl0IGJlaGFuZGVsdAp3aXJkLiBBYmVyIHdpZXNvIGFuIGRlbiBlaW56aWdlbiBTdGFuZGFyZCBoYWx0ZW4/CgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHUEcgbWl0IE91dGxvb2sgKFpvb2ssIDI1LiBTZXAgMjAwMywgMTc6MTI6MTQpOgp+IyEgcm49Um9jaHVzIHJ0PTEwNjQ1MDI2MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpUamFhLi4uIGdlbmF1IGRhcyBpc3QgZGFzIFByb2JsZW0sIFJvY2h1cy4gR3V0IGVya2FubnQgdW5kIGd1dCBiZXNjaHJpZWJlbi4KClpvb2suCgpQUzogRXMgbXVzcyB1ZWJyaWdlbnMgbmljaHQgendpbmdlbmQgUEdQIHNlaW4sIEdQRyB0YWV0ZSBhdWNoOyBpY2ggdmVyd2VjaHNlbApkYXMgZWggc3RhZW5kaWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHUEcgbWl0IE91dGxvb2sgKFRhcmFuaXMsIDI1LiBTZXAgMjAwMywgMTc6MjE6MTIpOgp+IyEgcm49Wm9vayBydD0xMDY0NTAyNzM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjQ0OTAwNTMKQWxzbywgd2VubiBHUEcgb2RlciBQR1AgZWdhbCBpc3QsIG11ZXNzdGVzdCBEdSB6dW1pbmRlc3QgaW4gZWluZW0gZGVyIExpbmtzCnZvbiBtZWluZW0gdm9yaGVyaWdlbiBBcnRpa2VsIGZ1ZW5kaWcgd2VyZGVuLiBCZWkgR1BHUmVsYXkgc3RlaHQga2xhciBpbiBkZXIKRG9rdSwgZGFzcyBQR1AvTWltZSB2ZXJ3ZW5kZXQgd2lyZC4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdQRyBtaXQgT3V0bG9vayAoUm9jaHVzLCAyNS4gU2VwIDIwMDMsIDE3OjI5OjA0KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA2NDUwMzI3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzClByb2JsZW0gaXN0IG51ciwgZGFzcyBkZXIgRW1wZmFlbmdlciBkYXMgQVVDSCB2ZXJzdGVoZW4gbXVzcy4uLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdQRyBtaXQgT3V0bG9vayAoWm9vaywgMjUuIFNlcCAyMDAzLCAxNzozMTo1MSk6Cn4jISBybj1Sb2NodXMgcnQ9MTA2NDUwMzc0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzCkRhcyBpc3QgaW4gbWVpbmVtIEZhbGwga2VpbiBQcm9ibGVtLiA6KQoKWm9vayBrYW5uIFBHUC9NSU1FLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR1BHIG1pdCBPdXRsb29rIChKb3NodWEsIDI2LiBTZXAgMjAwMywgMDA6MzA6NDApOgp+IyEgcm49Wm9vayBydD0xMDY0NTAzOTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjQ0OTAwNTMKQWxzbyBpY2ggYmVudXR6ZSBrZWluIE91dGxvb2sgbWVociwgYWJlciBmcnVlaGVyIHRhdCBpY2ggZGllcyBtYWwuIERpZQpkYW1hbGlnZSBGcmVlUEdQLVZlcnNpb24gaGF0dGUgZWluIHNvbGNoZXMgUGx1Zy1JbiBkYWJlaSwgZXMgbXVzc3RlIG51ciB2b3IKZGVyIEluc3RhbGxhaW9uIGRhcyBPdXRsb29rIGJlcmVpdHMgaW5zdGFsbGllcnQgc2Vpbi4gTWVpbmUgT3V0bG9vayBWZXJzaW9uCmRhbWFscyB3YXIgZ2xhdWIgaWNoIG5lIDk3LiBJY2ggaGFiIHNpY2hlciBub2NoIG5lIEtvcGllIGRhdm9uIHdvIHJ1bWxpZWdlbgouLi4KSm9zaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR1BHIG1pdCBPdXRsb29rIChOb25uZSwgMjYuIFNlcCAyMDAzLCAwOTo0NTozNyk6Cn4jISBybj1Sb2NodXMgcnQ9MTA2NDUwMzc0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0NDkwMDUzClNlaXQgd2FubiBpbnRlcmVzc2llcnQgc2ljaCBlaW4gV2luZG93cy1Vc2VyIGRhZnVlciwgb2IgZGVyIEVtcGZhZW5nZXIgZXR3YXMKbGVzZW4ga2Fubj8gU29sbCBpY2ggRGlyIGFsbGUgV29yZGRvY3Mgc2NoaWNrZW4sIGRpZSBpY2ggamUgcGVyIE1haWwgYmVrb21tZW4KaGFiZT8KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR1BHIG1pdCBPdXRsb29rIChQaWxncmltLCAyNi4gU2VwIDIwMDMsIDEwOjM1OjQ1KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjQ1NjIzMzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpPVDoKQWxzbyBpcmdlbmR3aWUgdmVyc3RlaCcgaWNoIGRhcyBLb256ZXB0IG5pY2h0OiBNYWlsdmVyc2NobHVlc3NlbHVuZyBmdWVyCmVyaG9laHRlIFNpY2hlcmhlaXQgdW5kIGRhbm4gT3V0bG9vayAoZGVtIFN5bm9ueW0gZnVlciAnRWluZmFsbHN0b3IgZnVlciBhbGxlcwpVZWJlbCBkZXIgV2VsdGA/IDstKSkuCgpQaWxncmltCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHUEcgbWl0IE91dGxvb2sgKE11YWRpYiwgMjYuIFNlcCAyMDAzLCAxMDo0MzozMyk6Cn4jISBybj1QaWxncmltIHJ0PTEwNjQ1NjUzNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpwbG9lbmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdQRyBtaXQgT3V0bG9vayAoWm9vaywgMjYuIFNlcCAyMDAzLCAxMjo1NjozNyk6Cn4jISBybj1QaWxncmltIHJ0PTEwNjQ1NjUzNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDQ5MDA1MwpTdGltbXQsIER1IHZlcnN0ZWhzdCBlcyBuaWNodC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp6TVVEIChMaWFyYSwgMjguIFNlcCAyMDAzLCAyMzo0Mjo1MCk6CldlaXNzIGplbWFuZCwgd2llc28gek1VRCBzdGF0dCB+ciA/fnIgYW5zIE11ZCBzY2hpY2t0PwpXZWlzcyBqZW1hbmQgZmVybmVyLCB3aWVzbyBkZXIgRWRpdG9yIGltIE1HIGRhbWl0IGtlaW4gUHJvYmxlbSBoYXQsIEVpbiBFZGl0b3IKaW4gZWluZW0gYW5kZXJlbiBNdWQgc2Nob24/CkltIE1HIGZ1bmt0aW9uaWVydCBkYXMgZmFsc2NoZSA/fnIgd2llIGRhcyByaWNodGlnZSB+ci4KCkdydWVzc2UsIFpaTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXBhY2hlLCBQSFAsIE15U1FMIHVuZCBUcmFuc2FrdGlvbmVuIChBbm9yaXMsIDI5LiBTZXAgMjAwMywgMjE6MDE6MzQpOgpHdXRlbiBBYmVuZAoKd2llIGltIFN1YmplY3QgYmVyZWl0cyBiZXNjaHJpZWJlbiwgbW9lY2h0ZSBpY2ggZ2VybmUgZWluZSBrbGVpbmUKV2ViYXBwbGlrYXRpb24gc2NocmVpYmVuLiBadWVyc3QgZWluIEJFR0lOLCBkYW5hY2ggRGF0ZW4gYWVuZGVybiwKaXJnZW5kd2FzcyBhbnplaWdlbiB1bmQgc3BhZXRlciBkYW5uIGVpbiBST0xMQkFDSyBvZGVyIENPTU1JVC4gTnVuCmlzdCBsZWlkZXIgc28sIGRhc3MgZGFzIG5pY2h0IGZ1bmt0aW9uaWVydCwgd2VpbCAoc28gd3VlcmRlIGljaApiZWhhdXB0ZW4pIGRpZSBWZXJiaW5kdW5nIHp1ciBNeVNRTCBEQiBuZXUgYXVmZ2ViYXV0IHdpcmQgb2Rlcgp6dW1pbmRlc3QgZGllIGJlcmVpdHMgdmVyd2VuZGV0ZSBDb25uZWN0aW9uIG5pY2h0IHdpZWRlcmdlYnJhdWNodAp3aXJkLgoKSGF0IHdlciB2b24gZXVjaCB2aWVsbGVpY2h0IEVyZmFocnVuZyBtaXQgZGVuIHNlbGJlbiBQcm9ibGVtZW4gb2RlcgplaW5lbiBMb2VzdW5nc2hpbndlaXM/IFd1ZXJkZSBtaWNoIHVlYmVyIEFudHdvcnRlbiBmcmV1ZW4uIERhbmtlIGltClZvcmF1cy4KCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXBhY2hlLCBQSFAsIE15U1FMIHVuZCBUcmFuc2FrdGlvbmVuIChQYXRyeW4sIDI5LiBTZXAgMjAwMywgMjI6MzM6NTQpOgp+IyEgcm49QW5vcmlzIHJ0PTEwNjQ4NjIwOTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2NDg2MjA5NApBbHNvIGVyc3QgbWFsLCBuZW5uIE15U1FMIGJpdHRlIG5pY2h0IERCIDspClVuZCBkYW5uLi4uYWxzbyBmdWVyIHNvd2FzIHNvbGx0ZSBtYW4gbmljaHQgZGVuIFJvbGxiYWNrL0NvbW1pdC1NZWNoYW5pc211cwplaW5lciBEYXRlbmJhbmsgYmVudXR6ZW4sIGVoZXIgc293YXMgd2llIGVpbmUgdW50ZXJsaWVnZW5kZQpvYmpla3RvcmllbnRpZXJ0ZSBTcHJhY2hlIG1pdCBlaW5lbSBTZXNzaW9uLU1lY2hhbmlzbXVzLCB3byBtYW4gYWxsZQpFaW5nYWJlZGF0ZW4gc2FtbWVsdCB1bmQgenVtIFNjaGx1c3MgaW4gZGllIERCIHNjaHJlaWJ0LCBlcnN0IGJlaSBkaWVzZW0Ka3VyenplaXRpZ2VuIFNjaHJlaWJ2b3JnYW5nIGtvbW10IENvbW1pdC9Sb2xsYmFjayBhbHMgRmVobGVydmVybWVpZHVuZwp6dW0gRWluc2F0ei4gVWViZXIgbGFlbmdlcmVuIFplaXRwdW5rdCBzb2xjaCBlaW5lbiBSb2xsYmFjay1QdW5rdCBvZmZlbgp6dSBoYWx0ZW4sIGlzdCBlaW5lIHppZW1saWNoIGtvbWlzY2hlIEFuZ2V3b2huaGVpdCwgZGllIHp1ZGVtIG1laHIKQXVmd2FuZCBlcmZvcmRlcnQgYWxzIGVpbmUgb3JkZW50bGljaGUgWndpc2NoZW5zY2hpY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBcGFjaGUsIFBIUCwgTXlTUUwgdW5kIFRyYW5zYWt0aW9uZW4gKE1vcmdvbmF0ZSwgMzAuIFNlcCAyMDAzLCAxNToyNDowNSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2NDg2NzYzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY0ODYyMDk0CldlaXRlcmhpbiBpc3QgTXlTUUwgbmljaHQgaW4gZGVyIExhZ2UsIG1pdCBSb2xsYmFjayB6dSBhcmJlaXRlbiwgc293ZWl0IGljaAp3ZWlzcy4KVW5kIGphLCB3ZW5uIGR1IGVpbiBTa3JpcHQgaGFzdCwgaW4gd2VsY2hlbSBkdSBkYXMgUm9sbGJhY2sgZWlubGVpdGVzdCB1bmQKZGFubiBlaW4gYW5kZXJlcyB1bSBkaWUgRGF0ZW4genUgYWVuZGVybiB1bmQgZWluIGRyaXR0ZXMsIHVtIHp1IENvbW1pdHRlbiwKZGFubiBoYXN0IGR1IGRyZWkgbWFsIGRpY2ggbWl0IGRlciBEYXRlbmJhbmsgdmVyYnVuZGVuLgpIaW50ZXJncnVuZDogSFRUUC1WZXJiaW5kdW5nZW4gc2luZCB6dXN0YW5kc2xvcy4gRC5oLiBkZWluIEJyb3dzZXIgZm9yZGVydAplaW5lIFNlaXRlIGFuLCBkYXMgU2tyaXB0IGVyemV1Z3QgZGllIFNlaXRlLCBkZXIgQXBhY2hlLUNoaWxkLVByb2Nlc3MsIGRlcgpkaWVzIGJld2Vya3N0ZWxsaWd0IGhhdCwgc3RpcmJ0LCB1bmQgZGFtaXQgYXVjaCBkaWUgRGF0ZW5iYW5rdmVyYmluZHVuZy4KSW53aWV3ZWl0IHNpY2ggZGllc2VzIFZlcmhhbHRlbiBtaXQgZGVyIEVpbmZ1ZWhydW5nIHZvbiAicGVyc2lzdGVudGVuIgpWZXJiaW5kdW5nZW4gZ2VhZW5kZXJ0IGhhdCwga2FubiBpY2ggbmljaHQgc2FnZW4uCldlaXRlcmhpbiB3ZWlzZSBpY2ggZGFyYXVmIGhpbiwgZGFzcyBpbSBHZWdlbnNhdHogenUgZWluZW0gQ2xpZW50IGVpbmUKQnJvd3NlcnZlcmJpbmR1bmcgenVtIGVpbmVuIHNpY2ggZXdpZyBoaW56aWVoZW4ga2FubjogSWNoIHJ1ZmUgZGllIGVyc3RlIFNlaXRlCmF1ZiwgbWFjaGUgTWl0dGFnLCBydWZlIGRpZSB6d2VpdGUgYXVmLCBnZWhlIG5hY2ggSGF1c2UsIHJ1ZmUgZGllIGRyaXR0ZSBhdWYuCkJ6dy4gYXVjaCwgZGFzcyBpY2ggbmFjaCBTZWl0ZSB6d2VpIGVpbmZhY2ggZGFzIEJyb3dzZXJmZW5zdGVyIHp1bWFjaGUsIHVuZApkZXIgU2VydmVyIGJla29tbXQgZGFzIG5pY2h0IG1pdC4gVm9uIGRhaGVyLCBzbyB3YXMgc29sbHRlIG1hbiBiZWkKV2ViLUFwcGxpa2F0aW9uZW4gbmllIG1hY2hlbi4KCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFwYWNoZSwgUEhQLCBNeVNRTCB1bmQgVHJhbnNha3Rpb25lbiAoQ2hlYXN5LCAgMi4gT2t0IDIwMDMsIDE2OjMwOjM2KToKfiMhIHJuPUFub3JpcyBydD0xMDY0ODYyMDk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjQ4NjIwOTQKR3J1bmRzYWV0emxpY2ggaGFzdCBEdSBkYXMgUHJvYmxlbSwgZGFzIGh0dHAga2VpbmUgQ29ubmVjdGlvbnMgZXJsYXVidCwKVHJhbnNha3Rpb25lbiBlaW5lIHNvbGNoZSBqZWRvY2ggdm9yYXVzc2V0emVuLiBBbGxnZW1laW4gaXN0IGRpZSBMb2VzdW5nIGRpZSwKZGFzcyBkdSAoekIgbWl0IENvb2NpZXMpIGRpZSBodHRwLVNlc3Npb24gc2VsYnN0IHRyYWNrc3QgdW5kIGVpZ2VuaGFlbmRpZyBmdWVyCmRpZSBadW9yZG51bmcgenUgZWluZXIgVHJhbnNha3Rpb24gc29yZ3N0LgoKSFRICi1DaGVhc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9hbGJ1bSBhdWYgRFZEIChSaWt1cywgMTAuIE9rdCAyMDAzLCAxMjowNToyNik6CkhpLApzdWNoZSBndXRlcyBQcm9ncmFtbSAoRnJlZSxTaGFyZSwuLi4pLCBtaXQgZGVtIGljaCBndXQgRm90b2FsYmVuIGFubGVnZW4Ka2Fubiwgd2VsY2hlIG1hbiBwZXIgRFZELVBsYXllciBhdWYgVFYgYW5zaWVodCwgd2VsY2hlcyBhYmVyIGViZW5zbyBhdWNoCkhUTUwtU2VpdGVuIGVyemV1Z3QuCkhhYiBzY2hvbiBpbSBXZWIgZXR3YXMgcnVtZ2VzdWNodCB1bmQgZWluaWdlcyBnZWZ1bmRlbiwgYWJlciB2aWVsbGVpY2h0Cmtlbm50IGphIGVpbmVyIHZvbiBFdWNoIGVpbiB0b2xsZXMgUHJvZ3JhbW0gZGFmdWVyLi4uClBsYXR0Zm9ybSBtdXNzIChsZWlkZXIpIFdpbiBzZWluLgoKRGFua2UsIFJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm90b2FsYnVtIGF1ZiBEVkQgKFpvb2ssIDEwLiBPa3QgMjAwMywgMTI6MjM6NDcpOgp+IyEgcm49UmlrdXMgcnQ9MTA2NTc4MDMyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY1NzgwMzI2CldhcnVtICJsZWlkZXIiPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklERS1BVEFQSSBETUEgYXVmIG5mb3JjZTIgQm9hcmRzIChWYXJkaW9uLCAxMy4gT2t0IDIwMDMsIDE1OjI2OjUzKToKSGkuCgpIYXQgamVtYW5kIGVpbiBCb2FyZCBtaXQgTmZvcmNlMiBDaGlwc2F0eiAoYW0gYmVzdGVuIGVpbiBBN044WCkgdW5kIGJla29tbXQKZG9ydCBzZWluZSBBVEFQSS1DRFJPTS1MYXVmd2Vya2UgbWl0IChVbHRyYSlETUEgenUgbGF1ZmVuPwpCZWkgbWlyIHdpbGwgZGFzIENEUk9NIHNvd29obCB1bnRlciBXaW5YUCBhbHMgYXVjaCB1bnRlciBMaW51eCAoMi40LjIyKSBudXIKbWl0IFBJTyBsYXVmZW4sIHp3ZWkgRmVzdHBsYXR0ZW4gbGF1ZmVuIGhpbmdlZ2VuIFByb2JsZW1sb3MgbWl0IFVETUEuClp1bWluZGVzdCBhbSBDRFJPTSBsaWVndCBlcyBuaWNodCwgZGFzIGxpZWYgYW4gbmVtIDQ0MEJYLUJvYXJkIHByb2JsZW1sb3MgbWl0ClVETUEuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBQ0xzIHVudGVyIFdpbmRvd3MgMjAwMCAgKFRydWcsIDE0LiBPa3QgMjAwMywgMTg6NTY6MzMpOgpIaSwKCmdpYnQgZXMgZGllIE1vZWdsaWNoa2VpdCwgZGllIGF1dG9tYXRpc2NoZSBhbHBoYWJldGlzY2hlIFNvcnRpZXJ1bmcgKCEhISEhKQpkZXIgQUNMcyB2b24gT3JkbmVybi9EYXRlaWVuIGFienVkcmVoZW4sIGRhIGFuc2NoZWluZW5kIGRpZXNlcwoiQmV0cmllYnNzeXN0ZW0iIGRpZSBBQ0xzIGVyc3QgYWxwaGFiZXRpc2NoIGJlaSBqZWRlciBBZW5kZXJ1bmcgc29ydGllcnQsIHVtCmRpZXNlIGRhbm4gdm9uIG9iZW4gbmFjaCB1bnRlbiBkdXJjaHp1Z2VoZW4/PwoKQXVzc2VyZGVtIGdpYnQgZXMgYW5zY2hlaW5lbmQgbmlyZ2VuZHMgZWluZSBNb2VnbGljaGtlaXQsIGRpZSBlZmZla3RpdmVuIEFDTHMKZWluZXMgT3JkbmVycy9laW5lciBEYXRlaSBhbnp1c2VoZW4/CgpUcnVnLCBkaWUgZ2V6d3VuZ2VuIHdpcmQsIGVpbmVuIE5vdmVsbCBOZXR3YXJlIERhdGVpc2VydmVyIGR1cmNoIGVpbmVuClcyay0iU2VydmVyIiB6dSBlcnNldHplbi4KUFM6IE5laW4sIG1pciB3dXJkZSBhdXNkcnVlY2tsaWNoIHZlcmJvdGVuLCBlaW4gcmljaHRpZ2VzIEJldHJpZWJzc3lzdGVtIHp1CmJlbnV0emVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ViQ2FsIChHcmltbWJvcm4sIDE2LiBPa3QgMjAwMywgMTE6NDA6NTcpOgpIYXQgenVmYWVsbGlnIGplbWFuZCBFcmZhaHJ1bmdlbiBtaXQgV2ViQ2FsCihodHRwOi8vd3d3Lm1hLnV0ZXhhcy5lZHUvd2ViY2FsZW5kYXIvZG9jL2luZGV4Lmh0bWwpIHVuZCBrYW5uIHdhcyBkYXp1IHNhZ2VuPwpPZGVyIGlyZ2VuZHdlbGNoZSBFcmZhaHJ1bmdlbiBtaXQgYW5kZXJlbiAoZnJlaWVuKSB3ZWJiYXNpZXJ0ZW4KS2FsZW5kZXJsb2VzdW5nZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJREUtQVRBUEkgRE1BIGF1ZiBuZm9yY2UyIEJvYXJkcyAoSGV0dGFyLCAxOC4gT2t0IDIwMDMsIDEyOjAxOjQxKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA2NjA1MTYxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY2MDUxNjEzCkhpIFZhcmRpb24sCm1lbGRlIERpY2ggZWluZmFjaCBtYWwgYmVpIG1pciB3ZW5uIGRhcyBQcm9ibGVtIG5vY2ggd2VpdGVyIGJlc3RlaGVuIHNvbGx0ZS4KQ1UKSGV0dGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptcGxheWVyIHZzLiBJcml4IDYuNSAoT2dvLCAyMi4gT2t0IDIwMDMsIDIzOjAxOjUxKToKSWNoIGhhYmUgZXMgbWlyIGFiZ2VzY2htaW5rdCBhdWYgbWVpbmVyIE8yIChJUDMyKSBtcGxheWVyIGluIGhhbGJ3ZWdzCmVydHJhZWdsaWNoZXIgUXVhbGl0YWV0IGFic3BpZWxlbiB6dSBrb2VubmVuLiBXYXMgYWxsZXJkaW5ncyBtb2VnbGljaCBzZWluCnNvbGx0ZSwgaXN0IG1wbGF5ZXIgdWViZXJzIE5ldHp3ZXJrIG1pdHRlbHMgWC4gRGFzIFByb2JsZW0gaXN0LCBkYXNzCm5vcm1hbGVyd2Vpc2UgZGVyIFZpZGVvdHJlaWJlciBkYXMgU2thbGllcmVuIGRlcyBCaWxkZXMgdWViZXJuaW1tdCwgZGVyIFNHSS1YClRyZWliZXIga2FubiBkYXMgamVkb2NoIG5pY2h0LiBEZXN3ZWdlbiB3dWVyZGUgaWNoIGdlcm4gbXBsYXllciBzYWdlbiwgZGFzcyBlcgpkYXMgU2thbGllcmVuIE9wZW5HTCB1ZWJlcmxhc3NlbiBtb2VnZSwgd2FzIGRpZSBPMiBlaWdlbnRsaWNoIGthbm4uIEFsc28Kc3RhcnRlIGljaCBtcGxheWVyIGF1ZiBlaW5lciB4ODYvbGludXggS2lzdGUgbWl0IG1wbGF5ZXIgLXZvIGdsMiB1bmQgbmVobSBkYXMKRGlzcGxheSBkZXIgTzIuIE1wbGF5ZXIgZXJrZW5udCBkZW4gT3BlbkdMIFRyZWliZXIgdm9uIFNHSSB1bmQgcHJvYmllcnQgZGFubgpkdXJjaCwgd2VsY2hlIFRleHR1cmUtR3JvZXNzZW4gZGVyIFRyZWliZXIgbWl0bWFjaHQsIGRhcyBsYWV1ZnQgZGFubiBydW50ZXIsCmJpcyBnYW56IGtsZWluZSBUZXh0dXJlcyB1bmQgZGFubiBiZWhhdXB0ZXQgZXIsIGRhc3MgZXIga2VpbmUgVGV4dHVyZWdyb2Vzc2UKZXJtaXR0ZWxuIGtvbm50ZS4gRGFubmFjaCBicmljaHQgZXMgYWIuIFVlYmVyIC12byBzZGwgbGFldWZ0IHp1bWluZGVzdCBWaWRlbywKYWJlciBkb2NoIHNlaHIgcnVja2VsaWcuIDotLwoKSGF0IGlyZ2VuZGplbWFuZCBkYWhpbmdlaGVuZCBFcmZhaHJ1bmdlbiBvZGVyIHNvbnN0aWdlIGhpbGZyZWljaGUgVGlwcHM/CgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtcGxheWVyIHZzLiBJcml4IDYuNSAoQ2F0d2VhemxlLCAyMy4gT2t0IDIwMDMsIDA4OjI2OjU5KToKfiMhIHJuPU9nbyBydD0xMDY2ODU2NTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjY4NTY1MTEKbXBsYXllciBpc3QgZWluIE1vbnN0ZXIgdW5kIGRlciBBdXRvciBlaW5lIGFycm9nYW50ZSBTYXUsIGFiZXIgdHJvdHpkZW0gaGlsZnQKZmFzdCBpbW1lcjoKCm1hbiBtcGxheWVyfGxlc3MKL0JVR1MKClNvbGx0ZXN0IGR1IGVpbmUgZGV1dHNjaGUgbWFucGFnZSBoYWJlbiB0dXRzIGF1Y2ggL0ZFSExFUgoKRGEgd2VyZGVuIHNpZSBnZWhvbGZlbi4gCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbXBsYXllciB2cy4gSXJpeCA2LjUgKE9nbywgMjMuIE9rdCAyMDAzLCAxMjoyNTowOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2Njg5MDQxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY2ODU2NTExCklud2llZmVybiBzb2xsIG1pciBkYXMgaGVsZmVuPyBkb3VibGUtY2hlY2sgdGhlIGRvY3VtZW50YXRpb24gLSBkb25lOyB0aGUgRkFRCi0gZG9uZSwgdGhlIG1haWwgYXJjaGl2ZSAtIGRvbmUuCgoiU2VuZCB5b3VyIGNvbXBsZXRlIGJ1ZyByZXBvcnRzIHRvIHRoZSAuLi4gbWFpbGluZyBsaXN0Li4uIiBEYXMgd3VlcmRlIGljaApzb2ZvcnQgbWFjaGVuLCBqZWRvY2ggYmluIGljaCB6dW1pbmRlc3QgbW9tZW50YW4gd2VpdCBkYXZvbiBlbnRmZXJudCwgbXBsYXllcgpkaWUgU2NodWxkIGluIGRpZSBTY2h1aGUgenUgc2NoaWViZW4sIGdlbmF1c29ndXQga29lbm50ZSBkZXIgT3BlbkdMLVRyZWliZXIKdm9uIFNHSSBtdXJrcyBzZWluLCBvZGVyIGRhcyB0ZXh0dXJlIHByb3h5aW5nLi4uIERlc2hhbGIgbWVpbmUgRnJhZ2UgaGllci4gCgo+IERhIHdlcmRlbiBzaWUgZ2Vob2xmZW4uClNvPwoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBtcGxheWVyIHZzLiBJcml4IDYuNSAoQ2F0d2VhemxlLCAyMy4gT2t0IDIwMDMsIDE2OjUxOjUwKToKfiMhIHJuPU9nbyBydD0xMDY2OTA0NzA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjY4NTY1MTEKTmEgd2VubiBkdSBkaXIgc2ljaGVyIGJpc3QsIGRhc3MgZGVpbiBQcm9ibGVtIHVuaXF1ZSB1bmQgbm9jaCBuaWNodCBiZWthbm50CmlzdCwgZGFubiBoaWxmdHMgZ2FyYW50aWVydCBkZW4gRW50d2lja2xlcm4genUgc2FnZW4gIkhleSBhdWYgbWVpbmVyIE8yIHR1dHMKbmljaHQgZ2VzY2hlaXQiLiBEaWUgc2luZCBuYWVtbGljaCBpZFIgYmVnaWVyaWcgZGFyYXVmIHZvbiBzb2xjaCBzZWx0ZW5lcmVuClBsYXRmb3JtZW4gZmVlZGJhY2sgenUgYmVrb21tZW4gdW5kIGRpZSB3b2xsZW4gZGljaCBiZXN0aW1tdCBkYXp1IGhlcmFuemllaGVuCndvbGxlbiwgZGFzIHp1IGRlYnVnZ2VuLiBVbmQgd2VubnMgbnVyIGVpbiBFaW50cmFnIGluIGRlciBGQVEgaXN0LCBkZXIgZGFydWFmCmhpbndlaXN0LCBkYXMgZXMgT3BlbkdMLVByb2JsZW0gaXN0LgoKS2xhciBzb3dlaXQ/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1tczovLyAoSmFtZXNvbiwgMjQuIE9rdCAyMDAzLCAxMjoyNDozOCk6CldpZSBrYW5uIG1hbiBVUkxzIGRlciBvYmlnZW4gRm9ybSBhdWYgUGxhdHRlIGJhbm5lbj8gKFdpbmRvd3MpCkVzIGhhbmRlbHQgc2ljaCBrb25rcmV0IHVtIGVpbiAud212LVZpZGVvLCBkYXMgZGVyIFdpbmRvd3MgTWVkaWEgUGxheWVyCnN0cmVhbXQsIHNwZWljaGVybiBnZWh0IGF1cyBkZW0gUGxheWVyIGhlcmF1cyBuaWNodC4gTmFjaCAqLndtdiBvZGVyIHNvbnN0aWdlbgpEYXRlaWVuIHBhc3NlbmRlciBHcm9lc3NlIGhhYiBpY2ggc2Nob24gZ3J1ZW5kbGljaCBnZXN1Y2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHl0aG9uLVByb2JsZW0gKFdoaXRldGlnZXIsIDI3LiBPa3QgMjAwMywgMTU6NDk6MTcpOgpGb2xnZW5kZXIgQ29kZSBzb2xsdGUgbmFjaCBtZWhybWFsaWdlbSBBdWZydWZlbiB2b24gc2VhcmNoKCkgaW0gR3J1bmRlIGRhcwpBcmd1bWVudCB1bnZlcmFlbmRlcnQgenVydWVja2xpZWZlcm4uLi4gaXJnZW5kamVtYW5kIGVpbmUgSWRlZSwgd2llc28gZGFzCnRyb3R6ZGVtIGltbWVyIGxhZW5nZXIgd2lyZCA/CgprdXJzZSA9IHtCVDoge01NOiAyLjcwfSwgCiAgICAgICAgIEVQOiB7S0Q6IDAuNzUsIEZLOiAwLjcwLCBXUDogMS44MH0sCiAgICAgICAgIEZLOiB7S0Q6IDEuMTAsIEVQOiAxLjEwfSwKICAgICAgICAgS0Q6IHtXUDogMi4wMCwgRks6IDEuMDV9LAogICAgICAgICBNTToge0VQOiAxLjMwLCBLRDogMC45MH0sCiAgICAgICAgIFdQOiB7RVA6IDAuNzAsIEJUOiAwLjIwLCBNTTogMC41MH19CgpjeWNsZXMgPSBbXQpmb3IgayBpbiBrdXJzZS5rZXlzKCk6IGN5Y2xlcy5hcHBlbmQoW2tdKQoKZGVmIHNlYXJjaChjeWNsZXMpOgogIG5ldyA9IFtdCiAgd2hpbGUgY3ljbGVzOgogICAgYyA9IGN5Y2xlcy5wb3AoKQogICAgZm9yIGsgaW4ga3Vyc2VbY1stMV1dLmtleXMoKToKICAgICAgaWYgYy5jb3VudChrKSA8PSAxOgogICAgICAgIG5ldy5hcHBlbmQoYyArIFtrXSkKICAgICAgZWxzZToKICAgICAgICBuZXcuYXBwZW5kKGMpCiAgCiAgcmV0dXJuIG5ldwoKd2hpbGUgLi4uOiBjeWNsZXMgPSBzZWFyY2goY3ljbGVzKQoKbGVuKGN5Y2xlcykgc29sbHRlIGRhYmVpIG5hY2ggZWluaWdlbiBBdWZydWZlbiBtZWhyIG9kZXIgd2VuaWdlciBrb25zdGFudApibGVpYmVuIC0gdHV0cyBhYmVyIG5pY2h0IDovCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFB5dGhvbi1Qcm9ibGVtIChWYXJkaW9uLCAyNy4gT2t0IDIwMDMsIDE1OjU0OjM0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2NzI2NjE1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY3MjY2MTU3CkFycmF5cywgTWFwcGluZ3MgdXN3LiB3ZXJkZW4gaW4gUHl0aG9uIHBlciBkZWZhdWx0IGRvY2ggYWxzIFJlZmVyZW56CnVlYmVyZ2ViZW4sIG5pY2h0IGFscyBLb3BpZS4gTWl0ICJjID0gY3ljbGVzLnBvcCgpIiB3aXJkIGFsc28gZGlyZWt0IGRhcwp1ZWJlcmdlYmVuZSBBcnJheSBtb2RpZml6aWVydCAodmVya2xlaW5lcnQpLiBEYXMgdmVybXV0bGljaCB2b24gRGlyCmdld3VlbnNjaHRlIFZlcmhhbHRlbiBlcnJlaWNoc3QgRHUgbWl0ICJzZWFyY2goY3ljbGVzWzpdKSIuIE9kZXIgZHUgbGVnc3QKZGlyZWt0IGluIHNlYXJjaCgpIG1pdCAibG9jYWxjeWNsZXMgPSBjeWNsZXNbOl0iIGVpbmUgbG9rYWxlIEtvcGllIGFuIHVuZAphcmJlaXRlc3QgbWl0IGRlci4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHl0aG9uLVByb2JsZW0gKFdoaXRldGlnZXIsIDI3LiBPa3QgMjAwMywgMTU6NTY6MzEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDY3MjY2NDc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNjcyNjYxNTcKd2Vpc3MgaWNoIGRvY2guLi4gZGFzIG1hY2h0IGphIGF1Y2ggbml4LiB3aXJkIGphIGluIG5ldyBlaW4ga29tcGxldHQgbmV1ZXMKZXJzdGVsbHQgdW5kIGRhbm4genVydWVja2dlZ2ViZW4gdW5kIGF1ZiBlaW4gIm5ldWVzIiBjeWNsZXMgenVnZXdpZXNlbi4uLiBoYWJzCnRyb3R6ZGVtIG1hbCBtaXQgS29waWUgYXVzcHJvYmllcnQsIGtsYXBwdCBhdWNoIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFzdGF0dXJwcm9ibGVtIHVudGVyIFN1c2UtTGludXggKExpYXJhLCAgNS4gTm92IDIwMDMsIDE4OjQ3OjA1KToKTW9pbiEKSWNoIGJlbnV0emUgKG5vY2gpIGVpbmUgNy4wZXIgU3VzZSB1bmQgaGFiZSBtaXIgdm9yIGt1cnplbSBlaW4gTG9naXRlY2ggRGVsdXhlCkFjY2VzcyBLZXlib2FyZCBnZWthdWZ0LgpVbnRlciBXaW5kb3dzIGdhYiBlcyBrZWluZSBTY2h3aWVyaWdrZWl0ZW4sIGVpbmZhY2ggZWluZ2VzdGVja3QgdW5kIGZlcnRpZy4KQWxzIGljaCBoZXV0ZSB6dW0gZXJzdGVuIE1hbCBkYXMgTGludXggYmVudXR6dCBoYWJlLCBrb25udGUgaWNoIHVudGVyIGRlcgpLb25zb2xlIGtlaW5lIEZ1bmt0aW9uc3Rhc3RlbiBiZW51dHplbiAoYWxzbyB6QiBuaWNodCB6d2lzY2hlbiBLb25zb2xlbgp3ZWNoc2VsbikuIEljaCBoYWJlIGJlcmVpdHMgYWxsZSAzIHp1ciBWZXJmdWVndW5nIHN0ZWhlbmRlbiBkZXV0c2NoZW4KVGFzdGF0dXJiZWxlZ3VuZ2VuIGdldGVzdGV0LCBhYmVyIGRhcyBQcm9ibGVtIGJsZWlidCBiZXN0ZWhlbi4KCkplbWFuZCBlaW5lIElkZWU/IEJpbiBhbnNvbnN0ZW4gbWl0IGRlciBUYXN0YXR1ciBleHRyZW0genVmcmllZGVuLiA6PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWFAgMTYwMCsgKEdub21lLCAxMy4gTm92IDIwMDMsIDE5OjEzOjMyKToKaGFiZSBzZWl0IGhldXRlIGVpbmVuIEF0aGxvblhQIDE2MDArIHNhbXQga3VlaGxlciB1bmQgbGVpc2VtIHBhcHN0LWx1ZWZ0ZXIKenUgdmVya2F1ZmVuLiB3ZXIgaW50ZXJlc3NlIGhhdCwgbWFpbCBhbiBtaWNoLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhcmVib25lcyAoR29yb2csIDE0LiBOb3YgMjAwMywgMTE6MDg6MTIpOgpNb2lucywgaWNoIHdvbGx0ZSBtYWwgZnJhZ2VuLCBvYiB2b24gRXVjaCB3ZXIgRXJmYWhydW5nIG1pdCBCYXJlYm9uZSBTeXN0ZW1lbgpoYXQuIFNpbmQgZGllIHdpcmtsaWNoIHNvIGxlaXNlIHdpZSB2b24gU2h1dHRsZSBhbmdlcHJpZXNlbiwgZ2lidCBlcyBrZWluZQpHcmVuemUgYmVpIGRlciBQcm96ZXNzb3JiZXN0dWVja3VuZyB1bmQgaXN0IGRlciBBR1AtUG9ydCB1bmQgZGllIEx1ZWZ0dW5nIGRlcwpHZWhhZXVzZXMgd2lya2xpY2ggYXVzcmVpY2hlbmQgZnVlciBha3R1ZWxsZSBHcmFmaWtrYXJ0ZW4/IApGcmFnZW4gdWViZXIgRnJhZ2VuLi4uIEZhbGxzIGlociB3YXMgd2lzc3QgbGFzc3QgbWljaCBkcmFuIHRlaWxoYWJlbiAoOwoKbWZHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFyZWJvbmVzIChKYW1lc29uLCAxNC4gTm92IDIwMDMsIDEzOjQyOjU5KToKfiMhIHJuPUdvcm9nIHJ0PTEwNjg4MDQ0OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA2ODgwNDQ5Mgp3d3cuaGVpc2UuZGUsIGxpbmtzIG9iZW4gU3VjaGVuIG5hY2guLi4gYyd0LUFydGlrZWxuLiBFaW5nZWJlbjogQmFyZWJvbmVzLgpEYW5uIHdlcmRlbiBkaWUgQXVzZ2FiZW4gZ2VuYW5udCwgaW4gZGVuZW4gZGFzIGJpc2hlciB2b3JrYW0sIHUuYS4gVGVzdHMuCkJlaXNwaWVsOiBJbiBjJ3QgMTUvMDMsIFNlaXRlIDEwNiB3dXJkZW4gZGllIHp1bGV0enQgZ2V0ZXN0ZXQsIHdlbm4gaWNoIGRhcwpyaWNodGlnIHNlaGUuCkRhbWl0IGdlaHN0ZSBpbiBkaWUgVW5pLUJpYmxpb3RoZWssIGZhbGxzIER1IGRpZSBjJ3QgbmljaHQgaGFzdCBvZGVyIGtlaW5lbgprZW5uc3QsIGRlciBlaW5lbiBrZW5udC4uLgpIdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFwcGxlLUVyc2F0enRlaWxlIChPZ28sIDIwLiBOb3YgMjAwMywgMTI6NTA6NTYpOgpIaSwKSWNoIGhhYmUgbmFpdiwgd2llIGljaCBiaW4sIHZlcnN1Y2h0LCByYXVzenVmaW5kZW4sIG9iIG1hbiBuaWNodCBlaW4gQXBwbGUKJ0Vyc2F0enRlaWwnIE1haW5ib2FyZCArIENQVSBpcmdlbmR3byBiZWtvbW1lbiBrYW5uLiBJY2ggaGFiZSB3ZWRlciBMdXN0IG5vY2gKZGllIEtvaGxlIGZ1ZXIgZWluZW4gZ2FuemVuIEc1LiBFaW4gTWFpbmJvYXJkICsgQ1BVICsgTmV0enRlaWwgc29sbHRlCmVpZ2VudGxpY2ggZ2VudWVnZW4uIEFuIE1hY09TIFggaGFiIGljaCBhdWNoIGtlaW4gSW50ZXJlc3NlLiBTYWVtdGxpY2hlClp3aXNjaGVuaGFlbmRsZXIgaGFiZW4gbWlyIGF1ZiBtZWluZSBNYWlscyBnZWFudHdvcnRldCwgZGFzcyBzaWUgbnVyCkVyc2F0enRlaWxlIGlua2x1c2l2ZSBFaW5iYXUgYWJnZ2ViZW4uIEtlbm50IGRhIHZpZWxsZWljaHQgaXJnZW5kd2VyIGVpbmUKTW9lZ2xpY2hrZWl0LCB3aWUgbWFuIGFuIHNvd2FzIHJhbmtvbW1lbiBrb2VubnRlIG9kZXIgaGF0IHNvbnN0aWdlIElkZWVuPwoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTR0kgUG93ZXJjYWxsZW5nZSAoWmFybml5YSwgMjQuIE5vdiAyMDAzLCAwODo1NToxMSk6CkhJLCAKCnNvbGx0ZSBkZXIgZWluIG9kZXIgYW5kZXJlIHdpc3NlbiwgZGFzcyBiZWkgaWhtIG9kZXIgc2VpbmVtIEluc3RpdHV0IHNvIGVpbmUKS2lzdGUgaW0gS2VsbGVyIHJ1bXN0ZWh0IHVuZCBuaWNodCBtZWhyIGdlbnV0enQgd2lyZCwgZGFubiBiaXR0ZSBtYWwgYmVpIG1pcgptZWxkZW4sIGRlbm4gYmVpIG1laW5lciBTR0kgaXN0IGVpbmUgTHVlZnRlcmVpbmhlaXQgYXVzZ2VmYWxsZW4gdW5kIGljaCB3aWxsCmtlaW5lIG5ldSBrYXVmZW4sIHdlaWwgenUgdGV1ZXIuIEJpdHRlIHBlciBFbWFpbCBtZWxkZW4sIHdlbm5zIGdlaHQsCgpHcnVzcywgCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTR0kgUG93ZXJjYWxsZW5nZSAoT2dvLCAyNC4gTm92IDIwMDMsIDIzOjE4OjEwKToKfiMhIHJuPVphcm5peWEgcnQ9MTA2OTY2MDUxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDY5NjYwNTExCldlciBlaW5lIGZ1bmt0aW9uaWVyZW5kZSBQb3dlcmNoYWxsZW5nZSBtaXQgOCBDUFVzIHVuZCBlaW5lbSBHaWdhYnl0ZSBSYW0Kd2VnZW4gZWluZXIgTHVlZnRlcmVpbmhlaXQgc2NobGFjaHRldCwgd2lyZCB2b24gbWlyIHBlcnNvZW5saWNoIGdlaGF1ZW4uIF07KQoKT2dvLCBlbnRzZXR6dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRFZELVJpcHBlciBoZWFkbGVzcyAoT2dvLCAgMS4gRGV6IDIwMDMsIDIyOjQ4OjIzKToKSGFsbG8gYWxsZXJzZWl0cywKaWNoIHdpbGwgZWluIERWRC1MYXVmd2VyayBpbiBlaW5lbiBNb25pdG9yL1Rhc3RhdHVyLWxvc2VuIFJlY2huZXIgZWluYmF1ZW4uCkF1ZiBkaWVzZW0gUmVjaG5lciBsYWV1ZnQgQXBhY2hlLiBOdW4gc29sbCBqZW1hbmQgZWluZSBEVkQgZWlubGVnZW4ga29lbm5lbiwKZGFubiBpbSBCcm93c2VyIGF1ZiAic3RhcnQiIGtsaWNrZW4gdW5kIGRpZXNlIERWRCBzb2xsIGdlcmlwcHQgdW5kIGVuY29kZWQgYXVmCmRlciBQbGF0dGUgYWJnZWxlZ3Qgd2VyZGVuLiBTcHJpY2ggaWNoIHN1Y2hlIGVpbmVuIGR2ZC1yaXBwZXIsIGRlciBtb2VnbGljaHN0CmFsbGVpbmUgc2ljaCBkaWUgbm9ldGlnZW4gUGFyYW1ldGVyIHN1Y2h0IChkZWludGVybGFjaW5nIHVzdykgdW5kIGNvbW1hbmQtbGluZQpvbmx5IGJlZGllbmJhciBpc3QuIEltIHByaW56aXAgc293YXMgd2llICQgZHZkMmRpdnggLS1zaXplIDcwME0gLW8KbWVpbnJpcC5tcGVnIAoKR2lidCBlcyBzb3dhcywgd28gbWFuIG9obmUgdmllbCBGaW5ldHVuaW5nIHp1IGFremVwdGFibGVzIEVyZ2Vibmlzc2VuIGtvbW10CnVuZCBuaWNodCBhdWYgaXJnZW5kZWluIFgtRnJvbnRlbmQgYW5nZXdpZXNlbiBpc3Q/CgpPZ28sIGF1ZiBJZGVlbiBob2ZmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRFZELVJpcHBlciBoZWFkbGVzcyAoTm9ubmUsICAyLiBEZXogMjAwMywgMDg6MjE6MDUpOgp+IyEgcm49T2dvIHJ0PTEwNzAzMTUzMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3MDMxNTMwMwpTY2hhdSBtYWwgZGE6Cmh0dHA6Ly9qYW1lcy5ub250cml2aWFsLm9yZy9wcm9qZHZkLmh0bQoKSGFicyBub2NoIG5pY2h0IGF1c3Byb2JpZXJ0LCBhYmVyIGhvZXJ0IHNpY2ggZXJzdG1hbCBndXQgYW4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktlaW5lIFBmZWlsdGFzdGVuIGltIHZpbSAoRm9vYmFyLCAgNS4gRGV6IDIwMDMsIDE3OjMyOjA2KToKSGFsbG8genVzYW1tZW4sCgpEZWJpYW4gMy4wIHJjMiwgS0RFIDIuMi4yLgoKSW0gRWluZnVlZ2Vtb2R1cyBkZXMgdmltIGZ1bmt0aW9uaWVyZW4gZGllIFBmZWlsdGFzdGVuIChDdXJzb3J0YXN0ZW4pIG5pY2h0LApiencuIG5pY2h0IHNvLCB3aWUgc2llIHNvbGxlbi4KClBmZWlsLUhvY2ggZXJnaWJ0ICJBIiwgUGZlaWwtcnVudGVyIGVyZ2lidCAiQiIsIFBmZWlsLXJlY2h0cyBlcmdpYnQgIkMiIHVuZApQZmVpbC1saW5rcyBlcmdpYnQuLi4gV2VyIHdlaXNzIGVzLCB3ZXIgd2Vpc3MgZXM/IFJpY2h0aWcsICJEIi4KCkRhcyBpc3Qgc293b2hsIHVudGVyIGRlciBLREUtS29uc29sZSBhbHMgYXVjaCB1bnRlciB4dGVybSBkZXIgRmFsbCwgYmVpCnZlcnNjaGllZGVuZW4gVXNlcm4gdW5kIGJlaSB2ZXJzY2hpZWRlbmVuIEtERS1UaGVtZXMuCgpWZXJtdXRsaWNoIGlzdCBkYXMgbnVyIGVpbmUgc2ltcGxlIEVpbnN0ZWxsdW5nLCBhYmVyIHZlcnJhZXQgbWlyIHdvIHVuZCB3aWUKaWNoIGRpZSB2b3JuZWhtZT8KClRJQSwKCiAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtlaW5lIFBmZWlsdGFzdGVuIGltIHZpbSAoRm9vYmFyLCAgNS4gRGV6IDIwMDMsIDE3OjM0OjU5KToKfiMhIHJuPUZvb2JhciBydD0xMDcwNjQxOTI2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzA2NDE5MjYKQW50d29ydGVuIGEgbGEsICJoamtsIGlzdCB6dXIgQmVkaWVudW5nIGRlcyB2aW0gdW0gZWluaWdlcyBwcmFrdGlzY2hlciBhbHMgZGllCmN1cnNvcnRhc3RlbiIgaGVsZmVuIG1pciBuaWNodCB3ZWl0ZXIuIDtvKQoKVHJvdHpkZW0gZGFua2UsIEFzdWthLiA7bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2VpbmUgUGZlaWx0YXN0ZW4gaW0gdmltIChNdWFkaWIsICA3LiBEZXogMjAwMywgMTc6MDE6NDcpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNzA2NDIwOTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3MDY0MTkyNgp2ZXJzdWNoIG1hbCBmb2xnZW5kZXM6IGNvbnRyb2wrcmVjaHRlIG1hdXN0YXN0ZS9taXR0bGUgbWF1c3Rhc3RlIGltIHh0ZXJtLgpkb3J0IHNwaWVsc3QgZHUgZWluIHdlbmlnIG1pdCBkZW4gZWluc3RlbGx1bmdlbiB6dSBhcHBsaWNhdGlvbiBudW1wYWQvbnVtbG9jay4KZGFzIHNvbGx0ZSBkYXMgdmVyaGFsdGVuIGRlciBwZmVpbHRhc3RlbiBkZXV0bGljaCBhZW5kZXJuLiAKd2llIGRpZSBzY2hhbHRlciB6dSBzdGVsbGVuIHNpbmQgZGFtaXQgZXMgc2ljaGVyIGZ1bnp0IGthbm4gaWNoIGRpciBuaWNodApzYWdlbiwgYWJlciBwcm9iaW9lciBlaW5mYWNoIGRpZSBwYWFyIGtvbWJpcyBkdXJjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGhvdG9zaG9wIChHb3JvZywgMTcuIERleiAyMDAzLCAxNzo0Mzo0OSk6Ck1vaW5zLCBpY2ggaGFiIGRhIG4gUHJvYmxlbSBtaXQgUGhvdG9zaG9wLiBJY2ggd3VlcmRlIGdlcm5lIGRpZQpIZWxsaWdrZWl0cy9Lb250cmFzdCBSZWdsZXIgcGVyIFRhc3RlbmtvbWJpbmF0aW9uIGF1ZnJ1ZmVuLCBkZW5lbiBpc3QgYWJlcgphbnNjaGVpbmVuZCBrZWluZSB6dWdlb3JkbmV0LiBJc3QgZXMgbW9lZ2xpY2ggbmFjaHRyYWVnbGljaCBUYXRzdHVya29tbWFuZG9zCnp1IGdlbmVyaWVyZW4gb2RlciBrYW5uIG1hbiBlaW4gZW50c3ByZWNoZW5kZXMgU3ltYm9sIGZ1ZXIgSGVsbGlna2VpdC9rb250cmFzdAppbiBlaW5lIExlaXN0ZSB6aWVoZW4/IERpZSBPbmxpbmVIaWxmZSBoYWIgaWNoIHNjaG9uIGR1cmNoLCBhYmVyIGRhIGtvbm50ZSBpY2gKbml4IGZpbmRlbi4gRmFsbHMgd2VyIHdhcyB3ZWlzcyBpbW1lciBtYW4gaGVyIG1pdCBkZW4gSW5mb3MuIERhbmtlIGltIFZvcnJhdXMKCm1mRyBHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0RleCAoTGlhcmEsIDE3LiBEZXogMjAwMywgMjA6NDg6MzYpOgpNb2luLgpIYWJlIGRhcyBQcm9ibGVtLCBkYXNzIG8uIGEuIFByb2dneSBiZWltIFN0YXJ0ZW4gbmFjaCBJbnN0YWxsYXRpb24gYmVpIG1laW5lbQpXaW45OCBpbW1lciBlaW5lbiBzY2h3ZXJlbiBBdXNuYWhtZWZlaGxlciB2ZXJ1cnNhY2h0LiBXb2hlciBrYW5uIGRhcyBrb21tZW4/CgpHcnVlc3NlLCBaWkwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRGV4IChMaWFyYSwgMTcuIERleiAyMDAzLCAyMDo1MDoyNCk6Cn4jISBybj1MaWFyYSBydD0xMDcxNjkwNTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzE2OTA1MTYKRGVyIEZlaGxlciB0cml0dCBiZWkgZGVuIFZlcnNpb25lbiAxLjUwIHVuZCAxLjUxIGF1Zi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ0RleCAoTXVwZmVsLCAxNy4gRGV6IDIwMDMsIDIxOjEyOjAxKToKfiMhIHJuPUxpYXJhIHJ0PTEwNzE2OTA2MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3MTY5MDUxNgpJY2ggYmVudXR6IGRhcyB1bnRlciBXaW4yay4gKGRpZSAxLjUwKS4gSGF0dGUgbmllIFByb2JsZW1lIGRhbWl0LiBIYWJzCmFsbGVyZGluZ3MgYXVjaCBuaWNodCAiaW5zdGFsbGllcnQiIChhbHNvIG1pdCBzZXR1cC5leGUgb2RlciBzbyksIHNvbmRlcm4KbGVkaWdsaWNoIGF1c2dlcGFja3QgdW5kIHdvaGluIGtvcGllcnQuLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVybGF1Yi4gV2FzIG51PyAoR3JpbW1ib3JuLCAxOS4gRGV6IDIwMDMsIDEwOjE5OjA0KToKfiMhIG9uPVZhbmlvbiBvdD0xMDcxODE1OTA5IG9nPWFsbGdlbWVpbmVzCn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MTc4ODg3NiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKMTUwMyAuLi4gaG1tbSwgbmV0dGUgSWRlZS4KClYqLCBtdXNzIGVpZ2VudGxpY2ggdm9yIDE1IG1pbiB6dXIgQXJiZWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVXJsYXViLiBXYXMgbnU/IChHcmltbWJvcm4sIDE5LiBEZXogMjAwMywgMTA6MTk6MDYpOgp+IyEgb249QmFtYmkgb3Q9MTA3MTgyMzQ2NSBvZz1hbGxnZW1laW5lcwp+IyEgcm49VmFuaW9uIHJ0PTEwNzE4MTU5MDkgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxNzc3MzEzCk1laW4gQnJ1ZGVyIGhhdCBzaWNoIHNwZWxsZm9yY2UgZ2VrYXVmdCB1bmQgaGF0dGUgbWl0IHNlaW5lciByZWxhdGl2IG5ldWVuCkdyYWZpa2thcnRlIFByb2JsZW1lLiBJY2ggaGFiIG5lIDEyOE1CIEdyYWthIG52aWRpYS1DaGlwc2F0ei4gRGFzIFNwaWVsIHNlbGJzdApmaW5kIGljaCBiaXNoZXIgbmljaHQgc29vbyBmZXNzZWxuZCwgZGFzcyBpY2ggRGlyIGVtcGZlaGxlbiB3dWVyZGUsIGVzIHp1CmthdWZlbi4gRXMgZXJpbm5lcnQgbWljaCBhbiBXYXJjcmFmdCAzIHVuZCBXYXJjcmFmdCAzIGhhdCBtaWNoIGViZW5mYWxscyBuaWNodApnZWZlc3NlbHQuIEljaCBzcGllbGUgZGEgbGllYmVyIGRhcyAiZ3V0ZSBhbHRlIiBTdGFyQ3JhZnQsIHdvYmVpIG1laXN0ZW5zIG51cgpNdWx0aXBsYXllci4gV2VubiBEaXIgR290aGljIDEgZ2VmYWxsZW4gaGF0IChhdXNzZXIgdXBncmFkZSBkZXMgY2hhcnMpLCBkYW5uCmthdWYgRGlyIEdvdGhpYyAyIG1pdCBvZGVyIG9obmUgQWRkb24uIEJlaSBHb3RoaWMgMiB3dXJkZSBlaW5pZ2VzIGFuIGRlcgpDaGFyLUVudHdpY2tsdW5nIHVtZ2VzdGVsbHQuIE1hbiBrYW5uIG51biBQcm96ZW50ZSBsZXJuZW4gYW5zdGF0dCAibnVyIgp6d2VpbWFsIGF1ZiBtYXggdXBncmFkZW4uIEFuc29uc3RlbiBrYW5uIGljaCBlaW5pZ2UgU3BpZWxlIG5vY2ggaW4gZXR3YQpiZXVydGVpbGVuOiAic29sZGllcnMgb2YgYW5hcmNoeSI6IE1hbiBoYXQgbmUga2xlaW5lIEVpbmhlaXQgdm9uIExldXRlbiwgZGllCm1hbiBtaXQgV2FmZmVuIHVuZCBHZXJhZXQgKGluY2wuIEZhaHJ6ZXVnZW4pIGF1c3N0YXR0ZXQgdW5kIE1pc3Npb25lbgplcmxlZGlnZW4gbGFlc3N0LCBFbmR6ZWl0c3plbmFyaW8uIEZhbmQgaWNoIHNlaHIgZ3V0IHVuZCByZWFsaXN0aXNjaCwgbWlyCnBlcnNvZW5saWNoIHp1IHN0YXJrIGxldmVsZ2V0cmllYmVuLCBhbHMgZGFzcyBpY2ggZXMgYWxsenUgb2Z0IHNwaWVsZW4gd3VlcmRlLgpIYXQgTVAtTW9kZSAobmllIGF1c3Byb2JpZXJ0KS4gSmFnZ2VkIEFsbGlhbmNlIDIgaXN0IGRhIHZpZWxsZWljaHQgbm9jaCB6dQplbXBmZWhsZW4sIHdlbm4gZHUgdGFrdGlzY2hlIHVuZCBzdHJhdGVnaXNjaGUgRXJvYmVydW5nc3NwaWVsZSBzcGllbGVuIHdpbGxzdC4KKE5pY2h0IEphZ2dlcmQgQWxsaWFuY2UgdW5maW5pc2hlZCBidXNzaW5lcy4gRGFzIGlzdCBrZWluIEFkZG9uLCBhdWNoIHdlbm5zCkpBMi41IGhlaXNzdC4gVmVyZ2lzcyBkYXMgQWRkb24uKSBEYW5uIGdpYnRzIGRhIG5vY2ggInVmbyBhZnRlcm1hdGgiLCBlaW4KU3BpZWwgemllbWxpY2ggZ2VuYXUgd2llIGRhcyBkYW1hbGlnIE1pY3JvcHJvc2UtU3BpZWwgInhjb20iLiBCZXNzZXJlIEdyYWZpawp1bmQgc29nYXIgaW0gbGVpY2h0LU1vZHVzIGVpbmUgZGVyYXJ0aWcgc2Nod2VyZSBTcGllbGZ1ZWhydW5nLCBkYXNzIGljaCBlcwp0cm90eiBqYWhyZWxhbmdlciB4Y29tLUVyZmFocnVuZyBuaWUgc2VociB3ZWl0IGdlc3BpZWx0IGhhYmUuIExlaWRlci4gU28KU2FjaGVuLCB3aWUgIlBoYXJhbyIgc29sbHRlIGVzIGluendpc2NoZW4gcHJlaXN3ZXJ0IHp1IGthdWZlbiBnZWJlbiwgZmFsbHMgRHUKaGlzdG9yaXNjaGUgQXVmYmF1c3BpZWxlIG1hZ3N0LiBEYSBoYXN0IER1IGltIFZlcmdsZWljaCB6dSBDaXZpbGlzYXRpb24gYWJlcgpkYXMgRGlsZW1tYSwgZGFzcyBEdSB3aWVkZXIgbGV2ZWxiYXNpZXJ0IHNwaWVsc3QgKFN0YWR0IGF1ZmJhdWVuKSB1bmQga2VpbmUKRmVpbmRlIGFuZ3JlaWZlbiBrYW5uc3QuIERpZSBrb21tZW4gaW1tZXIgbnVyIHp1IERpciB1bmQgRHUgbXVzc3Qgc2llCmFid2VocmVuLgpEYW5uIGhhZXR0ZXN0IER1IG5vY2ggZGllIE1vZWdsaWNoa2VpdCwgRGlyIGVpbiBQQy1IZWZ0IHp1IGthdWZlbiwgZGEgRHUgZnVlcgo1LTEwIEV1cm8ga2F1bSB3YXMgZmFsc2NoIG1hY2hzdC4gRGllIFBDLUFjdGlvbiBoYXQgbWVpc3RlbnMgT3JpZ2luYWxlIGRhYmVpLgpEYXMgSGVmdCBtaXQgZGVyIFZvbGx2ZXJzaW9uICJBcmNoYW5nZWwiIGthbm5zdCBEdSBhYmVyIGtuaWNrZW4uIERhcyBTcGllbCBpc3QKbmljaHQgc29uZGVybGljaCBpbnRlcmVzc2FudC4gRHUga2FubnN0IHp3YXIgZWluZW4gQ2hhciBhZWhubGljaCB3aWUgaW4gZWluZW0KUm9sbGVuc3BpZWwgdmVyYmVzc2VybiwgYWJlciBkdSBoYXN0IHNvIHVtIGRpZSA2IEZlcnRpZ2tlaXRlbiwgZGllIER1IG1heGltYWwKMyBtYWwgdmVyYmVzc2VybiBrYW5uc3QgdW5kIGRhcyBTcGllbCBzZWxic3QgaXN0IHp1bSBrKip6ZW4uIEJlc2NoKgpMZXZlbGF1ZmJhdSB1bmQgaW4gQWt0IDIgYmlzdCBEdSBwbG9ldHpsaWNoIGluIEJlcmxpbiBpbSBKYWhyIDIwMzUgKG9kZXIgc28KYWVobmxpY2gpLCB2b3JoZXIgYmlzdCBEdSBkdXJjaCBuZW4gU3VtcGYgaW4gbmVyIEZhbnRhc3ktV2VsdCBnZXJhbm50LgpGYWxscyBtaXIgc29uc3Qgbm9jaCB3YXMgZWluZmFlbGx0LCBtZWxkIGljaCBtaWNoIHdpZWRlci4KCk1mRywgQmFtYmkuCgpQUy4gRWdvc2hvb3RlcjogRmxhc2hwb2ludCwgZGEgcmVhbGlzdGlzY2g7IHZpZXRjb25nLCBkYSBsdXN0aWdlcgptdWx0aXBsYXllcm1vZGUgKGF1Y2ggcmVhbGlzdGlzY2gsIGFiZXIgc2NobGVjaHRlciBhbHMgZmxhc2hwb2ludCwgd2FzIGRpZQptb2VnbGljaGtlaXRlbiBhbiBpbnRlcmFrdGlvbiBtaXQgZmFocnpldWdlbiBhbmJlbGFuZ3QpLCBsZWlkZXIgenUga3VyemUKc2luZ2xlIHBsYXllci1rYW1wYWduZS4gTXVsdGlwbGF5ZXIgYWJlciBkZXIgaGl0IGRlcnplaXQgc2NoZWludHMgbWlyLCBhdWNoCndlbm4gQ3JvZnQgdW5kIFZpbmNlbnQgenUgc2Nod2FlY2hlbG4gc2NoZWluZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVXJsYXViLiBXYXMgbnU/IChHcmltbWJvcm4sIDE5LiBEZXogMjAwMywgMTA6MTk6MDcpOgp+IyEgb249RGVlcGJsdWUgb3Q9MTA3MTgyMzk2MSBvZz1hbGxnZW1laW5lcwp+IyEgcm49VmFuaW9uIHJ0PTEwNzE3NzczMTMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDcxNzc3MzEzCk5lbiBLdW1wZWwgaXN0IHppZW1saWNoIGJlZ2Vpc3RlcnQgdm9uIE5ldmVyV2ludGVyIE5pZ2h0cy4gRGFzIHNvbGx0ZSB3b2hsCmF1Y2ggYXVmIGRlaW5lciBIVyBsYXVmZW4KQlRXOiB3aWVzbyBrb2VubmVuIHNwaWVsZWhlcnN0ZWxsZXIgbmljaHQgZWluZSAzRC1TZXF1ZW56IGFscyBkZW1vIGF1ZiBpaHJlCkhvbWVwYWdlIHBhY2tlbiwgd28gbWFuIHZvciBkZW0ga2xhdWYgc2VoZW4ga2Fubiwgb2IgZGllIEhXIGRhcyBrYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVcmxhdWIuIFdhcyBudT8gKEdyaW1tYm9ybiwgMTkuIERleiAyMDAzLCAxMDoxOTowOCk6Cn4jISBvbj1DYXR3ZWF6bGUgb3Q9MTA3MTgyNDkzNSBvZz1hbGxnZW1laW5lcwp+IyEgcm49RGVlcGJsdWUgcnQ9MTA3MTgyMzk2MSByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEwNzE3NzczMTMKTldOIHdpcmQgcmVsYXRpdiBzY2huZWxsIHJlbGF0aXYgb2VkZS4gCkljaCBoYWIgbmljaHQgbWFsIGRpZSBFeHRlbnNpb24gbmFjaGdlem9nZW4gLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxhdXRlciBsdWVmdGVyPyAoR25vbWUsIDIxLiBEZXogMjAwMywgMTc6NDY6MDApOgpuZW5udCBqZW1hbmQgZWluZSAiU2FwcGhpcmUgQWxsIEluIFdvbmRlciBSYWRlb24gOTYwMCBQcm8iIHNlaW4gZWlnZW4KdW5kIGthbm4gbWlyIGluIGV0d2Egc2FnZW4sIHdpZSBsYXV0IGRlciBsdWVmdGVyIGlzdD8gaW4gZGVuIHRlc3RzCnN0ZWh0IG5pY2h0cywgYnp3LiBudXIgImxlaXNlciBsdWVmdGVyIiwgd2FzIG1pciBpbiB1bmdlZmFlaHIgc28gdmllbApzYWd0IHdpZSAidG9sbGUgbGVpc3R1bmciLgp1bmQgYmV2b3IgaWNoIG1pciBuZSB0dXJiaW5lIGlucyB6aW1tZXIgc3RlbGxlLi4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTU1DLUNhcmQgUHJvYmxlbSAoVmFuaGVsc2luZywgMjUuIERleiAyMDAzLCAxMzoxMzoyMik6CkhpCgpJY2ggaGFiZSBpbSBVcmxhdWIgZWluaWdlIEZvdG9zIG1pdCBtZWluZXIgRGlnaS1DYW0gZ2VtYWNodCwgdW5kIGpldHp0IGhhdApkaWVzZXMgZHVtbWUgRGluZywgZGllIE1NQy1DYXJkIHNhbW10IGFsbGVyIEJpbGRlciBkcmF1ZiAiemVyc3RvZXJ0Ii4KRXMga29tbXQgZGF1ZXJuZCBkaWUgTWVsZHVuZywgZGFzcyBkaWUgS2FydGUgbmljaHQgZm9ybWF0aWVydCBzZWkuCkdpYnQgZXMgZWluZSBNb2VnbGljaGtlaXQsIGRpZSBCaWxkZXIgenUgcmV0dGVuPz8KCkNVClZhbkhlbHNpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklTRE4gdW50ZXIgTGludXggKEJhbWJpLCAxMy4gSmFuIDIwMDQsIDIyOjI2OjI1KToKSWNoIGhhYmUgbWVpbmUgSVNBLUlTRE4tS2FydGUgKHZvbiBGcml0eikgZHVyY2ggZWluZSBQQ0ktSVNETi1LYXJ0ZSAodm9uCkZyaXR6LCBBVk0pIGF1c2dldGF1c2NodC4gRGllIEthcnRlIHNvbGwgdW50ZXIgU3VzZSA3LjMgTGludXggZWluZ2VzZXR6dAp3ZXJkZW4uIERpZSBJU0EtS2FydGUgaGF0IGRhIGZ1bmt0aW9uaWVydCwgYmVpIGRlciBQQ0ktS2FydGUgaGFiZSBpY2ggZGFzClByb2JsZW0sIGRhc3MgZm9sZ2VuZGUgTWVsZHVuZyBrb21tdDoKIi9kZXYvaXNkbmN0cmwgbm8gc3VjaCBkZXZpY2UiLCBpY2gga2FubiBkaWUgSVNETi1LYXJ0ZSBuaWNodCBudXR6ZW4sIGlzZG5jdHJsCnZlcnNhZ3QgbWlyIGRlbiBEaWVuc3QuClVlYmVyIGVpbiBQcm9ncmFtbSwgZGFzIG1pciBJbmZvcm1hdGlvbmVuIHVlYmVyIGRpZSBQQ0ktU3RlY2twbGFldHplIGxpZWZlcnQsCndlaXNzIGljaCwgZGFzcyBkaWUgS2FydGUgYW4gZnVlciBzaWNoIGdlZnVuZGVuIHdpcmQsIGRpZSBLYXJ0ZSBpc3QgbmljaHQKZGVmZWt0IChsYWV1ZnQgdW5kZXIgd2luKSB1bmQgaGF0IG5pcmdlbmRzIGVpbmVuIFZlcm1lcmsgIlBOUCIuCkhhdCB3ZXIgbmUgSWRlZSwgd28gaWNoICJzY2hyYXViZW4iIG11c3MsIHVtIGRhcyBQcm9ibGVtIHp1IGxvZXNlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJU0ROIHVudGVyIExpbnV4IChQYXRyeW4sIDEzLiBKYW4gMjAwNCwgMjM6MTM6MzYpOgp+IyEgcm49QmFtYmkgcnQ9MTA3NDAyOTE4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MDI5MTg1Ckhhc3QgbmV1ZSBIYXJkd2FyZSBhdWNoIHVudGVyIFlhc3Qgc3VjaGVuIGxhc3Nlbj8KU29uc3QgZ2VodCBnYXIgbml4LiBJbSB1ZWJyaWdlbiBoYWIgaWNoIGdyb3R0ZW5zY2hsZWNodGUgRXJmYWhydW5nZW4KbWl0IGRlbSBGcml0ei1aZXVnIHVudGVyIExpbnV4LCBpbnNiZXNvbmRlcmUgZGllIE1pc2Noa2FydGVuCklTRE4vRFNMLCBkaWUgYWJlciB3b2hsIGdsZWljaGVuIEJpbmFyc3lkcml2ZXIgaGFiZW4uCkVyc3QgU3VzZT49OC4wIG1hY2h0ZSBlcyBlcnRyYWVnbGljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJU0ROIHVudGVyIExpbnV4IChNb3Jnb3RoLCAxMy4gSmFuIDIwMDQsIDIzOjQ3OjU0KToKfiMhIHJuPUJhbWJpIHJ0PTEwNzQwMjkxODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDAyOTE4NQoKCkZhbGxzIER1IGVzIGhlcmF1c2ZpbmRlc3QsIGxhc3MgZXMgbWljaCBtYWwgd2lzc2VuLiBJY2ggaGF0dGUgZGFzIGdsZWljaGUKUHJvYmxlbSB1bmQga2VpbmUgTG9lc3VuZyBnZWZ1bmRlbi4gTmFqYSwgZGllIEZsYXQga2FtIHp1bSBHbHVlY2sga3VyeiBzcGFldGVyCnVuZCBkYSBoYXR0ZSBzaWNoIGRhcyBJU0ROIGdlc2NobmVja2UgZWggZXJ1ZWJyaWd0LiA6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSVNETiB1bnRlciBMaW51eCAoQmFtYmksIDE0LiBKYW4gMjAwNCwgMDA6NTE6MDQpOgp+IyEgcm49TW9yZ290aCBydD0xMDc0MDM0MDc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQwMjkxODUKQWxzby4uLi4uCkRlciBkZXJ6ZWl0aWdlIFN0YW5kIGlzdCBmb2xnZW5kZXI6Cllhc3QgMiBiZWhhdXB0ZXQsIGRpZSBLYXJ0ZSBpbiBkZW0gUENJLVNsb3Qgc2VpIGVpbmUgRXRoZXJuZXRrYXJ0ZSB1bmQgYmlldGV0Cm1pciBhbiwgZGllc2UgYWxzIEV0aDEgenUgYmVudXR6ZW4uIEljaCBoYWJlIG5pY2h0IGhlcmF1c2dlZnVuZGVuLCB3aWUgaWNoCihhdWNoIG1pdCBGcml0eiFDbGFzc2ljLUVpbnN0ZWxsdW5nIHVuZCBtYW51ZWxsZXIgYW5nYWJlIHZvbiBJTyB1bmQgSVJRKSBkaWUKS2FydGUgc29uc3QgYWxzIElTRE4tS2FydGUgenVtIExhdWZlbiBrcmllZ2UuIEFscyBFdGhlcm5ldGthcnRlIHdpcmQgZGFzCnZlcm11dGxpY2ggbmljaHQgZnVua3Rpb25pZXJlbiB1bmQgL2Rldi9pc2RuY3RybCBpc3QgZWluIHN5bWxpbmsgYXVmCi9kZXYvaXNkbmN0cmwwLiBJY2ggc2VoIGluIGVpbmVtIGxvZ2ZpbGUsIGRhc3Mga2VpbmUgUENJLUthcnRlIGFscyBJU0ROLUthcnRlCmVya2FubnQgd3VyZGUgdW5kIHZlcm11dGUsIGRhc3MgaXNkbmN0cmwgZGVzaGFsYiBuaWNodCB2b3JoYW5kZW4gc2VpLgoKSWNoIHdlcmQgZGllIDgwIEV1cm8tS2FydGUgbW9yZ2VuIHdpZWRlciB6dSBNZWRpYS1NYXJrdCBicmluZ2VuIHVuZCBkaWUgMTUKRXVyby1LYXJ0ZSB2b24gPG5vbmFtZT4gbWl0bmVobWVuIHVuZCB0ZXN0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJU0ROIHVudGVyIExpbnV4IChNdXBmZWwsIDE0LiBKYW4gMjAwNCwgMDA6NTM6NDQpOgp+IyEgcm49QmFtYmkgcnQ9MTA3NDAzNzg2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MDI5MTg1CldpY2h0aWchIFp1ZXJzdCBkaWUgYWx0ZSBLYXJ0ZSByZXN0bG9zIGRlaW5zdGFsbGllcmVuLiBTb25zdCB2ZXJ3aXJyc3QgRHUgZGFzClN5c3RlbSB6dXRpZWZzdC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJU0ROIHVudGVyIExpbnV4IChCYW1iaSwgMTQuIEphbiAyMDA0LCAxMTo1Mjo1Nik6Cn4jISBybj1NdXBmZWwgcnQ9MTA3NDAzODAyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MDI5MTg1CkhpZXIgZWluZSBadXNhbW1lbmZhc3N1bmcgbWVpbmVyIGJpc2hlcmlnZW4gQXJiZWl0Li4uCkRpZSBQQ0ktS2FydGUgdm9uIGF2bS9Gcml0eiBrcmllZyBpY2ggbmljaHQgYWxzIGlzZG4ta2FydGUsIHNvbmRlcm4gYWxzCm5ldHp3ZXJra2FydGUgYW5nZWJvdGVuLiBEZXIgZG93bmxvYWRiYXJlIFRyZWliZXIgdm9uIGF2bSBmdWVyIFN1c2UgNy4zIHNldHp0CnZvcnJhdXMsIGRhc3MgaWNoIGRlbiAyLjQuMTBlciBrZXJuZWwgdmVyd2VuZGUsIHdhcyBpY2ggKHZlcnN0YWVuZGxpY2hlcndlaXNlKQpuaWNodCB0dWUuIEZ1ZXIgZGVuIDIuNC4xN2VyIGtlcm5lbCBnaWJ0cyBhYmVyIGtlaW5lIGV4cGxpeml0IHBhc3NlbmRlbgpkb3dubG9hZHMuIERpZSBhbmRlcmVuIGRvd25sb2FkcyB3aWxsIG1pciBsaW51eCBuaWNodCBlbnRwYWNrZW4uCkRhcyBQcm9ibGVtLCBkYXNzIC9kZXYvaXNkbmN0cmwgbmljaHQgZ2VmdW5kZW4gd2VyZGUsIGhhYiBpY2ggZGFkdXJjaCBnZWxvZXN0LApkYXNzIGljaCBtZWluZSBpc2EtSVNETi1LYXJ0ZSB3aWVkZXIgZWluZ2ViYXV0IGhhYmUsIGRpZSBhdWNoIHdhZWhsZW4ga2Fubi4KQW5nZWJsaWNoIHNvbGxlbiBFbHNhLUlTRE4tS2FydGVuIGJlc3NlciBzZWluIHVuZCBicmF1Y2hlbiBhdWNoIG5pY2h0IGRlbgpuZXVlbiBjYXBpLVRyZWliZXIsIGRlciBmdWVyIGRpZSBuZXVlbiBhdm0taXNkbmthcnRlbiB3b2hsIG5vdHdlbmRpZyBpc3QuIEhhdApkYSB3ZXIgRXJmYWhydW5nPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSVNETiB1bnRlciBMaW51eCAoT2dvLCAxNC4gSmFuIDIwMDQsIDEyOjU2OjM0KToKfiMhIHJuPUJhbWJpIHJ0PTEwNzQwNzc1NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDAyOTE4NQpDYXBpIGJyYXVjaHN0IGR1IG5pY2h0LiBXaWNodGlnIGlzdCBDT05GSUdfSVNETl9EUlZfSElTQVg9bQpDT05GSUdfSVNETl9ISVNBWD15CmRhbm4gZGllIHJpY2h0aWdlIEthcnRlIG1pdCAvc2Jpbi9oaXNheGN0cmwgSGlTYXggMSA0IHouYi4gYWt0aXZpZXJlbi4KRGF6dSBndWNrc3QgZHUgaW4gL3Vzci9zcmMvbGludXgvRG9jdW1lbnRhdGlvbi9pc2RuL1JFQURNRS5IaVNheAoKQWxsZXMgaGFsYiBzbyB3aWxkLi4uCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IElTRE4gdW50ZXIgTGludXggKE9nbywgMTQuIEphbiAyMDA0LCAxMjo1ODoyOSk6Cn4jISBybj1CYW1iaSBydD0xMDc0MDc3NTc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQwMjkxODUKTWFsIG5lIGFuZGVyZSBGcmFnZSwgd2FydW0gdGF1c2Noc3QgZHUgZGllIElzYS1LYXJ0ZSBnZWdlbiBlaW5lIFBjaS1WZXJzaW9uLAp3ZW5uIGRpZSBJc2EtS2FydGUgZG9jaCBmdW5rdGlvbmllcnQ/IFBDSSBpc3QgbmljaHQgc2NobmVsbGVyIG9kZXIgc293YXMuLi4KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSVNETiB1bnRlciBMaW51eCAoQmFtYmksIDE0LiBKYW4gMjAwNCwgMTU6NTc6MDgpOgp+IyEgcm49T2dvIHJ0PTEwNzQwODE1MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDAyOTE4NQpNZWluIExpbnV4LVJlY2huZXIgaGFlbmd0IG1pdCBuZXIgZXRoZXJuZXRrYXJ0ZSBhbiBlaW5lbSBpbnRyYW5ldCwgaW4gZGVtIHNpY2gKZWluIHBhYXIgd2luLXJlY2huZXIgdHVtbWVsbi4gRXIgc3BpZWx0IGdhdGV3YXkuIE1hbmNobWFsIGthbm4gaWNoIGxhZW5nZXJlCnplaXQgbmljaHQgZWlud2FlaGxlbiAobWl0IGRlciBpc2RuLWthcnRlKSB1bmQgZGF6dSBnYWJzIHp3ZWkgdGhlb3JpZW46IDEuCnQtb25saW5lIHNwaW5udCBydW0sIDIuIERpZSBJU0ROLUthcnRlIHVuZCBkaWUgRXRoZXJuZXQtS2FydGUgbXVja2VuIG1hbmNobWFsCnJ1bSwgd2VubiBkYXMgbmV0eiAoY29heC1rYWJlbCkgenVzYW1tZW5icmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJU0ROIHVudGVyIExpbnV4IChPZ28sIDE0LiBKYW4gMjAwNCwgMTY6NTE6NDMpOgp+IyEgcm49QmFtYmkgcnQ9MTA3NDA5MjIyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MDI5MTg1Ckd1Y2sgaGFsdCBpbnMgRWlud2FobC1Mb2csIGRhIHNpZWhzdCBkdSwgb2IgZGllIElTRE4tS2FydGUgbXVja3QuIFdlbm4gZXMgZGFzCmxva2FsZSBCTkMtTmV0eiBpc3QsIGdlaHQga2VpbiBsb2thbGVzIFBpbmcgbWVociwgbWFuIHNvbGx0ZSBhbHNvIHppZW1saWNoIGd1dAplaW5ncmVuemVuIGtvZW5uZW4sIHdvIGRhcyBQcm9ibGVtIGxpZWd0Li4uCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9wdGlzY2hlIFBTLzItTWF1cyBhbiBzZXJpZWxsPyAoUGVyZGl0YSwgMTYuIEphbiAyMDA0LCAxMjowMzozOSk6CkhhbGxvIExldXRlLAppY2ggaGFiZSBmb2xnZW5kZXMgUHJvYmxlbToKYWx0ZXIgUmVjaG5lciBtaXQgc2VyaWVsbGVtIEFuc2NobHVzcy4KT3B0aXNjaGUgTWF1cyBtaXQgUFMvMi1BbnNjaGx1c3MKQWRhcHRlciBQUy8yIGF1ZiBzZXJpZWxsCgpGdW5rdGlvbmllcnQgbGVpZGVyIG5pY2h0LgpPcHRpc2NoZSBNYXVzIGFuIFBTLzIgZnVuenQuCmFuZGVyZSBQUy8yLU1hdXMgKG5pY2h0IHNlcmllbGwpIHVlYmVyIEFkYXB0ZXIgYW4gc2VyaWVsbCBmdW56dCBhdWNoLgpudXIgb3B0aXNjaGUgUFMvMi1NYXVzIHVlYmVyIEFkYXB0ZXIgYW4gc2VyaWVsbCBmdW56dCBuaWNodC4KCkZyYWdlOiB3YXMga2FubiBpY2ggdHVuLCBkYW1pdCBlcyBmdW56dD8KCkF1ZiBoaWxmcmVpY2hlIEFudHdvcnRlbiBmcmV1dCBzaWNoClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKEJhbWJpLCAxNi4gSmFuIDIwMDQsIDEyOjA2OjM1KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTA3NDI1MTAxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MjUxMDE5CkljaCB3ZWlzcyBuaWNodCwgaW53aWV3ZWl0IGRhcyBtb2R1bGFyIGF1ZmdlYmF1dCBpc3QsIGFiZXIgZGFzIGhvZXJ0IHNpY2ggc28KYW4sIGFscyBvYiBkZXIgVHJlaWJlciBkYXMgbmljaHQgZ2ViYWNrZW4gYmVrb21tdC4gSGFzdCBEdSBtYWwgZWluZW4gbmV1ZW4KVHJlaWJlciBnZXpvZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKEdyaW1tYm9ybiwgMTYuIEphbiAyMDA0LCAxMjowNzo0MSk6Cn4jISBybj1CYW1iaSBydD0xMDc0MjUxMTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKRGFtaXQgZGFzIFByb2dnaSBmdW56dCwgbXVlc3N0ZSBtYW4gZXJzdG1hbCB3aXNzZW4gd2FzIHNpZSBmdWVyIGVpbmUgRGlzdHJpCmhhdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3B0aXNjaGUgUFMvMi1NYXVzIGFuIHNlcmllbGw/IChNb3Jnb3RoLCAxNi4gSmFuIDIwMDQsIDEyOjA5OjQwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc0MjUxMjYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKT2RlciBkZXIgQW5zY2hsdXNzIGxpZWZlcnQgZWluZmFjaCB6dSB3ZW5pZyBTdHJvbSA6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKFBlcmRpdGEsIDE2LiBKYW4gMjAwNCwgMTI6MjE6NDEpOgp+IyEgcm49UGVyZGl0YSBydD0xMDc0MjUxMDE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKbWlyIGlzdCBncmFkIG5vY2ggZWluIGtsZWluZXIgU2NocmVpYmZlaGxlciBhdWZnZWZhbGxlbgplcyBtdXNzIGhlaXNzZW46IGFuZGVyZSBQUy8yLU1hdXMgKG5pY2h0IE9QVElTQ0gpIHVlYmVyIEFkYXB0ZXIgYW4gc2VyaWVsbApmdW56dCBhdWNoCm51ciBkZXIgUmljaHRpZ2tlaXQgaGFsYmVyClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT3B0aXNjaGUgUFMvMi1NYXVzIGFuIHNlcmllbGw/IChSaWt1cywgMTYuIEphbiAyMDA0LCAxMjoyMjo1NSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEwNzQyNTIxMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDI1MTAxOQp2aWVsbGVpY2h0IGJyYXVjaHQgZGVpbmUgb3B0aXNjaGUgamEgYmVkZXV0ZW5kIG1laHIgc3Ryb20gdW5kIGRlciB3aXJkIAp1ZWJlciBkZW4gYWRhcHRlciBuaWNodCBiZXJlaXRnZXN0ZWxsdD8KCnJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKENhdHdlYXpsZSwgMTYuIEphbiAyMDA0LCAxMjoyNjo0NCk6Cn4jISBybj1SaWt1cyBydD0xMDc0MjUyMTc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKSnVwcCwgdmVyc3VjaCBtYWwgZWluZW4gZGVyIGFuZGVyZW4gVVNCLVBvcnRzIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKENyb2Z0LCAxNi4gSmFuIDIwMDQsIDEyOjI4OjE2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc0MjUyNDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKQWVobS4gIFdlbm4gZGVyIFJlY2huZXIgcGVyIE1hdXMgYW4gU2VyaWVsbGVyIFNjaG5pdHRzdGVsbGUgYmVkaWVudCB3ZXJkZW4Kc29sbCwgaXN0IGRpZSBXYWhyc2NoZWlubGljaGtlaXQsIGRhcyBkZXIgUmVjaG5lciBrZWluZW4gVVNCLVBvcnQgaGF0LApzZWhyIGhvY2ggOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT3B0aXNjaGUgUFMvMi1NYXVzIGFuIHNlcmllbGw/IChDYXR3ZWF6bGUsIDE2LiBKYW4gMjAwNCwgMTI6MzA6MDgpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3NDI1MjQ5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MjUxMDE5ClRqYSwgd2VyIGxlc2VuIGthbm4gaXN0IGtsYXIgaW0gVm9ydGVpbC4KCllUQyAqd2llZGVyIGhpbnRlcm0gU2NocmVpYnRpc2NoIHZlcmtyaWVjaCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKFZhcmRpb24sIDE2LiBKYW4gMjAwNCwgMTI6MzQ6MTIpOgp+IyEgcm49UGVyZGl0YSBydD0xMDc0MjUxMDE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKSWNoIG1hZyBtaWNoIGlycmVuLCBhYmVyIGFmYWlrIHd1cmRlbiB1ZWJlciBQUy8yIHVuZCBTZXJpZWxsZSBTY2huaXR0c3RlbGxlCnZvbiBNYWV1c2VuIGdydW5kdmVyc2NoaWVkZW5kZSBQcm90b2tvbGxlIGdlbnV0enQuIFBTLzItTWFldXNlLCBkaWUgbWFuIHVlYmVyCmVpbmVuIEFkYXB0ZXIgYW4gZGllIFNlcmllbGxlIGhhZW5nZW4ga2FubiwgbXVlc3NlbiBkYWhlciBkYXMgc2VyaWVsbGUKUHJvdG9rb2xsIHVudGVyc3R1ZXR6ZW4sIGRhIGRlciBBZGFwdGVyc3RlY2tlciB3b2hsIGthdW0gZWluZW4gQ2hpcCB6dXIKUHJvdG9rb2xsdWViZXJzZXR6dW5nIGVudGhhZWx0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKEltZGEsIDE2LiBKYW4gMjAwNCwgMTg6MjQ6MDYpOgp+IyEgcm49VmFyZGlvbiBydD0xMDc0MjUyODUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKRW5kbGljaCBtYWwgbmUgcmljaHRpZ2UgQW50d29ydC4gRGllIE1hdXMgc2NoYWx0ZXQgaW50ZXJuIHVtIGF1ZiBzZXJpZWxsLiBEYXMKa2FubiBlcnN0ZW5zIG5pY2h0IGplZGUsIHVuZCB6d2VpdGVucyBzaW5kIG5pY2h0IGFsbGUgQWRhcHRlciBnbGVpY2guIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY29tcGkgKFBhdHJ5biwgMTcuIEphbiAyMDA0LCAxODoyOTowOCk6Cm51biBtdXNzIGljaCBhbHNvIG5ldWVzIG1haW5ib2FyZCBob2xlbiwgd2FzIGF1Y2ggaGVpc3N0LCBuZXVlbiBzcGVpY2hlciwKbmV1ZSBjcHUuLi51bmQgYXVjaCBtYWwgbmUgbmV1ZSBncmFmaWtrYXJ0ZS4KdW5kIGdyYWZpa2thcnRlLi4uYWVobSwgd2llIGZ1bmt0aW9uaWVyZW4gZGVubiBudW4gZGllIHJhZGlvbi1kaW5nZXIKdW50ZXIgbGludXg/IGVyZmFocnVuZ2VuPyB3ZWxjaGUgc29sbHRlIG1hbiBuZWhtZW4gd2VubiBpY2ggbmljaCB3ZWl0IHVlYmVyCjIwMCBldXJvIGtvbW1lbiB3aWxsLgpoYXQgd2VyIGF0aGxvbjY0PyBtYWNodCBzb3dhcyBzaW5uIG9kZXIgZWhlciBkaWUgYWx0ZW4gYmV3YWVocnRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjb21waSAoR3JpbW1ib3JuLCAxNy4gSmFuIDIwMDQsIDIxOjA3OjA2KToKfiMhIHJuPVBhdHJ5biBydD0xMDc0MzYwNTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQzNjA1NDgKRmFsbHMgRHUgRGljaCBmdWVyIGRpZSBhbHRlbiBiZXdhZWhydGVuIGVudHNjaGVpZGVzdDogSWNoIGhhYiBkYSBub2NoIGVpbmVuCkJla2FubnRlbiBhbiBkZXIgSGFuZCBtaXQgZWluZXIgUERQMTEsIGRpZSBlciBEaXIgdmllbGxlaWNodCB2ZXJrYXVmZW4gd3VlcmRlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNvbXBpIChQYXRyeW4sIDE3LiBKYW4gMjAwNCwgMjE6MTQ6MjgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNzQzNzAwMjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OApLbGluZ3QgbmV0dCwgYmVpIHVucyBpbiBkZXIgRmlybWEgdmVyc2NoZW5rZW4gZGllIGpldHp0IGF1Y2ggaXJnZW5kc28gZWluZQpzdXBlcnByb2Zlc3Npb25lbGxlIHVuaXgta2lzdGUsIGRpZSBlaW5lbSBlaWdlbnRsaWNoIG51ciBlaW4gemltbWVyCmJsb2NraWVydCB1bmQgbmljaHQgbWFsIGFscyBmYW4tYXJ0aWtlbCB3aXJrbGljaCB0YXVndCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjb21waSAoT3JrdG9ldGVyLCAxNy4gSmFuIDIwMDQsIDIxOjIwOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc0MzcwMDI2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQzNjA1NDgKSGF0IGRpZSBzY2hvbiBSQU0gb2RlciBpc3QgZGFzIG5vY2ggZGllIFZlcnNpb24gbWl0IEZlcnJpdHNwZWljaGVyPyAKV2lyIGhhdHRlIG5vY2ggc28gZWluZSBpbiBkZXIgU2NodWxlLi4gUHJvZ3JhbW1pZXJlbiB1ZWJlcnMgU3dpdGNocmVnaXN0ZXIgaGF0CnNjaG9uIHdhcy4uLgoKT3JrVCwgU3RlaW5hbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogY29tcGkgKE9nbywgMTguIEphbiAyMDA0LCAxMzo1ODoxNik6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NDM2MDU0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4CkljaCBoYWJlIGF1Y2gga2VpbmVuIEF0aGxvbjY0LCBoYXR0ZSBhYmVyIG1pdCBkZW0gR2VkYW5rZW4gZ2VzcGllbHQuIEJlaSBkZW4KbmV1ZW4gUHJvemVzc29yZW4gdm9uIEFNRCBnaWJ0IGVzIGplZG9jaCBlaW4gemllbWxpY2hlcyBEdXJjaGVpbmFuZGVyLCB3YXMgZGllClNvY2tlbCBiZXRyaWZmdDoKRGllIGhldXRpZ2VuIE9wdGVyb25zIHVuZCBBdGhsb24gRlggKEVudGh1c2lhc3QtVmVyc2lvbikgbGF1ZmVuIGltIFNvY2tlbCA5NDAuCkRpZSAia2xlaW5lbiIgQXRobG9uNjQgbGF1ZmVuIGltIFNvY2tlbDc1NC4gCkRhcyBpc3QgZWluZSBOb3Rsb2VzdW5nLCB3ZWlsIGRpZSBTb2NrZWwgOTQwIHp1IHRldWVyIGZ1ZXIgZGllIHdpcmtsaWNoZSBNYXNzZQpzaW5kLiBJbmZvbGdlZGVzc2VuIGthbm4gU29ja2VsIDc1NCBudXIgU2luZ2xlLUNoYW5uZWwgUmFtenVncmlmZiBpbSBHZWdlbnNhdHoKenUgOTQwLgoKRGllIFJvYWRtYXAgZnVlciBTb2NrZWwgNzU0IHNpZWh0IHdpZSBmb2xndCBhdXM6CkF0aGxvbiA2NCAzNzAwKyAoMi40R2h6KSBpc3QgZGllIGhvZWNoc3RlIENQVSBmdWVyIGRpZXNlbiBTb2NrZWwsIGRhbm5hY2gKc29sbGVuIHZlcmtydWVwcGVsdGUgQXRobG9uIFhQcywgZGllIHVtIGRpZSA2NC1CaXRmYWVoaWdrZWl0ZW4gYmVyYXVidCB3dXJkZW4sCmF1ZiBTb2NrZWwgNzU0IHdlaXRlciBsYXVmZW4uIEFsc28gd2lyZCBkZXIgaGV1dGlnZSAnendlaXQtYmVzdGUnIFNvY2tlbC1UeXAKenVyIExvdy1FbmQgVmFyaWFudGUuIERpZSBuZXVlcmVuIEF0aGxvbiA2NCBrb21tZW4gZGFubiBhYiBRMiAyMDA0IGF1ZiBlaW5lbQpuZXVlbiBTb2NrZWx0eXAgcmF1cywgbmFlbWxpY2ggOTM5LCBkZW4gZXMgaGV1dGUgbm9jaCBuaWNodCBnaWJ0LiBEYW5uIGlzdApTb2NrZWwgOTQwIGZ1ZXIgZGllIE9wdGVyb25zLCBTb2NrZWwgOTM5IGZ1ZXIgQXRobG9uNjQvRlggdW5kIFNvY2tlbCA3NTQgZnVlcgpBdGhsb24gWFBzLiBTbyBpc3QgenVtaW5kZXN0IGRhcyBaaWVsIGF1ZiBsYWVuZ2VyZSBaZWl0LgoKSW5zb2Zlcm4gc29sbHRlIG1hbiBzaWNoIGd1dCB1ZWJlcmxlZ2VuLCBvYiBtYW4gd2lya2xpY2ggZWluZW4gQXRobG9uNjRANzU0CmthdWZlbiB3aWxsLgoKRGF6dSBlaW4gZ3V0ZXIgQXJ0aWtlbCwgd28gZGllIFJvYWRtYXBzIGVybGFldXRlcnQgd2VyZGVuOgpodHRwOi8vd3d3LmFuYW5kdGVjaC5jb20vY3B1L3Nob3dkb2MuaHRtbD9pPTE5NDcKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBjb21waSAoVmFuaW9uLCAxOC4gSmFuIDIwMDQsIDE3OjMwOjA1KToKfiMhIHJuPU9nbyBydD0xMDc0NDMwNjk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQzNjA1NDgKTnVyIG1hbCBzbywgd2VpbCBpY2gga2VpbmUgTHVzdCBoYWIgbWljaCBkYSBrb21wbGV0dCByZWluenVsZXNlbjoKCiAgR2lidCBlcyBkZW5uIGRhZnVlciBzY2hvbiBicmF1Y2hiYXJlIEJldHJpZWJzc3lzdGVtZSwgZGllIGF1Y2ggZGllIDY0Yml0LQogIE9wdGlvbmVuIG51dHplbj8gQWxzbyBpbnNiZXNvbmRlcmUgZGVuayBpY2ggbmF0dWVybGljaCBhbiBicmF1Y2hiYXJlIExpbnV4LQogIERpc3RyaXMuIFdlbm4gaWNoIGFuIGRhcyBNYW5kcmFrZSBmdWVyIDY0LWJpdC1TdW4tS2lzdGVuIGRlbmtlLCB3aXJkIG1pcgogIGhldXQgbm9jaCB1ZWJlbC4gQWJlciBhdWNoLCBvYiBlcyBlaW4gZnVua3Rpb25pZXJlbmRlcyBXaW5kb3dzIGdpYnQgLSBpY2gKICBnbGF1YiBuYWVtbGljaCBuaWNodCwgZGFzcyBpY2ggdW5tZW5nZW4gR2VsZCBmdWVyIGVpbmVuIG5ldWVuIFJlY2huZXIgYXVzLQogIGdlYmVuIHd1ZXJkZSwgbnVyIHVtIGZlc3R6dXN0ZWxsZW4sIGRhc3MgbWVpbiBMaWVibGluZ3NzcGllbCBudXIgYXVmCiAgJFpXRUlUUkVDSE5FUiBsYWV1ZnQuCgpBbHNvIHdpZSBnZXNhZ3QsIGljaCBoYWIgbWljaCBtaXQgZGVtIFRoZW1hIG5vY2ggbmljaHQgYmVzY2hhZWZ0aWd0IHVuZCBhdWNoCmtlaW5lIEx1c3QgZGF6dSwgbWljaCBkYSByZWluenVsZXNlbiwgd2VpbCBpY2ggZGVua2UsIG1laW4gYWt0dWVsbGVyIFJlY2huZXIKd2lyZCAoZXZ0bCB1bSBlaW5lIG5ldWVyZSBHcmFmaWtrYXJ0ZSBlcndlaXRlcnQpIG5vY2ggZWluLCB6d2VpIEphaHJlIGd1dGUKRGllbnN0ZSB0dW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3B0aXNjaGUgUFMvMi1NYXVzIGFuIHNlcmllbGw/IChQZXJkaXRhLCAxOC4gSmFuIDIwMDQsIDE4OjUwOjE0KToKfiMhIHJuPUltZGEgcnQ9MTA3NDI3Mzg0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MjUxMDE5ClRqYSwgbm9jaG1hbCB2aWVsZW4gRGFuayBmdWVyIGRpZSB2aWVsZW4gQW50d29ydGVuLiBIYWIgendpc2NoZW56ZWl0bGljaCBtYWwKZGVuIEhlcnN0ZWxsZXIgZGVyIE1hdXMgYW5nZXNjaHJpZWJlbiB1bmQgZm9sZ2VuZGUgQW50d29ydCBlcmhhbHRlbjogCkRpZXNlIE1hdXMgaXN0IG51ciBmdWVyIGRlbiBQUy8yLUFuc2NobHVzcyBrb256aXBpZXJ0LiBBbGxlbiBNYWV1c2VuIGRpZSBmdWVyCmJlaWRlIEFuc2NobHVlc3NlIHZvcmdlc2VoZW4gc2luZCwgbGllZ3QgaW0gTm9ybWFsZmFsbCBhdWNoIGVpbiBlbnRzcHJlY2hlbmRlcgpBZGFwdGVyIGJlaS4gRGVyIFBTLzItQW5zY2hsdXNzIHZlcndlbmRldCBudXIgNVYuIEhpbmdlZ2VuIGFyYnJlaXRldCBkZXIKc2VyaWVsbGUgQW5zY2hsdXNzIG1pdCA1ViB1bmQgMTJWLgoKU292aWVsIGFsc28genUgbWVpbmVtIFZlcnN1Y2gsIGRhc3MgRGluZyBhbiBuZW4gc2VyaWVsbGVuIFBvcnQgYW56dXNjaGxpZXNzZW4uCgpJbW1lcmhpbiBoYXQgSmFtZXNvbiBtaXR0bGVyd2VpbGUgbWFsIGRhcyBNYWluYm9hcmQgYW5nZXNjaGF1dCB1bmQgZGFyYXVmIG5vY2gKZGllIE1vZWdsaWNoa2VpdCBmdWVyIGVpbmVuIFBTLzItQW5zY2hsdXNzIGdlZnVuZGVuLiBWaWVsbGVpY2h0IGJhc3RlbG4gd2lyCmRlbiBqZXR6dCBuYWNoIGF1c3Nlbiwgc28gZGFzcyBtZWluZSBNdXR0ZXIgaWhyZSBNYXVzIGRvY2ggbm9jaCBiZW51dHplbiBrYW5uLgoKUGVyZGl0YSBmaW5kZXQgZGFzIGFsbGVzIGdhbnogc2Nob2VuIGtvbXBsaXppZXJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPcHRpc2NoZSBQUy8yLU1hdXMgYW4gc2VyaWVsbD8gKE1vcmdvdGgsIDE4LiBKYW4gMjAwNCwgMTg6NTE6MjApOgp+IyEgcm49UGVyZGl0YSBydD0xMDc0NDQ4MjE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQyNTEwMTkKSGEsIGhhdHRlIGljaCBkb2NoIHJlY2h0IDopCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT3B0aXNjaGUgUFMvMi1NYXVzIGFuIHNlcmllbGw/IChJbWRhLCAxOC4gSmFuIDIwMDQsIDE5OjE2OjEzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA3NDQ0ODI4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MjUxMDE5Ck5vZS4gOikgU3Ryb20gd2FlciBnZW51ZyBkYS4KQWJnZXNlaGVuIGRhdm9uIGhhdCBkZXIgSGVyc3RlbGxlciBnZWxvZ2VuLiBBdWYgUlMyMzIgZ2liYmVkIG5pcmdlbnMsIGFiZXIKYXVjaCBnYXJuaXJnZW5zIDVWLiBEYXMgaXN0ICstMTJWIEdlZ2VudGFrdC4gdW5kIHdhcyB1bnRlciArLTlWIGZhZWxsdCBpcwp1bmd1ZWx0aWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGNvbXBpIChQYXRyeW4sIDE4LiBKYW4gMjAwNCwgMTk6NTE6NTgpOgp+IyEgcm49T2dvIHJ0PTEwNzQ0MzA2OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OAphbHNvIG1hbCBlaHJsaWNoLi4uZWluZW4gbmV1ZW4gcHJvemVzc29yIGthdWZlbiBvaG5lIGRhcyBtYWluYm9hcmQKdW5kIFJBTSBtaXQgbmV1enVob2xlbiBpc3QgZG9jaCBzZWl0IDUgamFocmVuIHNjaG9uIHJlaW5lIG1ha3VsYXR1ciwgd2VubiBtYW4KbmljaHQKZ3JhZCBhbGxlIDMgbW9uYXRlIGRpZSBoYXJkd2FyZSB3ZWNoc2VsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbiA5OCArIEZlc3RwbGF0dGUgKExpYXJhLCAxOC4gSmFuIDIwMDQsIDE5OjU1OjUzKToKTW9pbiEKS2FubiBtYW4gV2luOTggZGF6dSBiZWtvbW1lbiwgbWl0IGVpbmVyIDEyMCBHIEZlc3RwbGF0dGUgenVyZWNodHp1a29tbWVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogY29tcGkgKE1hcmN1cywgMTguIEphbiAyMDA0LCAyMDowMDo0NSk6Cn4jISBybj1WYW5pb24gcnQ9MTA3NDQ0MzQwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4ClN1U0UgTGludXggOS4wIGZ1ZXIgQU1ENjQuCgpUdXQgd3VuZGVycHJpbWEuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNvbXBpIChNdWFkaWIsIDE4LiBKYW4gMjAwNCwgMjA6MDg6NTgpOgp+IyEgcm49TWFyY3VzIHJ0PTEwNzQ0NTI0NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OApmdWVyIHJlZG1vbmRzdXBwb3J0ZXIgZ2lidCBlcyAyMDAzIHVuZCB4cCA2NGJpdCBlZGl0aW9uCmVyZmFocnVuZ3N3ZXJ0ZSBtZWluZXJzZWl0czoga2VpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNvbXBpIChPZ28sIDE4LiBKYW4gMjAwNCwgMjA6MDk6MzgpOgp+IyEgcm49TWFyY3VzIHJ0PTEwNzQ0NTI0NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OApXYXMgaXN0IGRlbm4gZGFyYW4gYWxsZXMgNjRiaXQnaWcgdWViZXJzZXR6dD8gTnVyIGRlciBLZXJuZWwgdW5kIFVzZXJsYW5kCjMyYml0PyBTbyBsYWV1ZnQgZXMgenVtaW5kZXN0IG1vbWVudGFuIG5vY2ggYXVmIGRlbiBNSVBTIDY0Yml0IFByb3plc3NvcmVuCnVudGVyIExpbnV4LiBEYXMgVXNlcmxhbmQgbWFjaHQgZ3JvZXNzdGVuIFRlaWxzIGVoIGtlaW5lbiBTaW5uLCA2NGJpdCdpZwpsYXVmZW4genUgbGFzc2VuLCBvZGVyPwoKT2dvLCBuZXVnaWVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGNvbXBpIChNYXJjdXMsIDE4LiBKYW4gMjAwNCwgMjA6MTE6NTApOgp+IyEgcm49T2dvIHJ0PTEwNzQ0NTI5Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OApFcyBpc3QgYWxsZXMgNjRiaXR0aWcuIAoKRGF6dSBtdXNzIG1hbiBhdWNoIHNhZ2VuLCBkYXMgd2lyIChTdVNFKSAyIGludGVybmUgRGVza3RvcCBBTUQ2NCByZWxlYXNlcwpnZW1hY2h0IGhhYmVuCnZvcmhlciB1bmQgZGllIG1laXN0ZW4gQnVncyBhdWNoIHNjaG9uIGF1c2dlYmF1dCBoYWJlbiBiZXJlaXRzLiA6KQoKRnVlciAzMmJpdCBjb21wYXRpYmlsaXR5IGdpYnRzIGNvbXBhdCBycG1zLCBzbyBkYXMgbWFuIGV0d2FpZ2UgUlBNcywgZGllIG5pY2h0CmF1ZgpBTUQ2NCBleGlzdGllcmVuLCBuYWNoaW5zdGFsbGllcmVuIGthbm4uICh1bmQgemIgV0lORSwgZGFzIGdlaHQgbnVyIDMyYml0dGlnKQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBjb21waSAoTW9yZ290aCwgMTguIEphbiAyMDA0LCAyMDoxMTo1OCk6Cn4jISBybj1PZ28gcnQ9MTA3NDQ1Mjk3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4CgpJY2ggaGFiIGF1Y2ggbWl0IGRlbSBHZWRhbmtlbiBnZXNwaWVsdCwgbWlyIG5lbiBBdGhsb242NCB6dSBrYXVmZW4uIExlaWRlcgpoYWJlbiBzaWNoIGVuZGUgZGVzIEphaHJlcyBtZWluZSBiZWlkZW4gTW9ib3MgZ2VoaW1tZWx0IHVuZCBpY2ggbXVzc3RlIGRhCmVyc3RtYWwgRXJzYXR6IGJlc29yZ2VuLiBKZXR6dCBtdXNzIGljaCBub2NoIGVpbiBqYWVocmNoZW4gbWl0IG5lbSAyNTAwZXIKQmFydG9uLVhQIHVuZCBuZW0gMjAwMGVyIFhQIGtsYXJrb21tZW4gOigKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luIDk4ICsgRmVzdHBsYXR0ZSAoTXVwZmVsLCAxOC4gSmFuIDIwMDQsIDIxOjMxOjQzKToKfiMhIHJuPUxpYXJhIHJ0PTEwNzQ0NTIxNTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDQ1MjE1MwpXaW45OCBzb2xsdGUgZGFzIGtvZW5uZW4uIGFsbGVyZGluZ3MgbXVzcyBkZWluIEJpb3MgZGllIDEyMGVyIGF1Y2ggZXJzdG1hbAplcmtlbm5lbi4uLiBhZWx0ZXJlIGJpb3NzZSBoYWJlbiBwcm9ibGVtZSBkYW1pdC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbiA5OCArIEZlc3RwbGF0dGUgKExpYXJhLCAxOC4gSmFuIDIwMDQsIDIxOjM2OjE2KToKfiMhIHJuPU11cGZlbCBydD0xMDc0NDU3OTAzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ0NTIxNTMKSm8uIEJlaSBkZW0gUmVjaG5lciB3YWVyZSBkYXMgQmlvcyBuaWNodCBkYXMgUHJvYmxlbS4gQWJlciA4MCBHIGdpbmcgYmlzaGVyCm51ciBtaXQgSGlsZmUgdm9uIExpbnV4IChGb3JtYXRpZXJlbikgdW5kIGRhbm4gZGVtIFdpbjk4IHVudGVyc2NoaWViZW4gLi4uIHVuZApiZWkgMTIwIEcgd2Vpc3MgaWNoJ3MgbnUgZ2FyIG5ldCBtZWhyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luIDk4ICsgRmVzdHBsYXR0ZSAoTXVwZmVsLCAxOC4gSmFuIDIwMDQsIDIxOjQ5OjQzKToKfiMhIHJuPUxpYXJhIHJ0PTEwNzQ0NTgxNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDQ1MjE1MwpWaWVsbGVpY2h0IGdlbmF1IHNvPyBXZW5uIER1IGJpc2hlciBrZWluIExpbnV4IGRyYXVmIGhhc3QsIGJlc29yZyBEaXIKInRvbXNydGJ0IiBkYXMgaXN0IGVpbiBFaW5kaXNrZXR0ZW5saW51eCBmdWVyIFJlcGFyYXR1cnp3ZWNrZSBhbGxlciBBcnQuCkRlc3NlbiBmZGlzayBzb2xsdGUgZGllIFBhcnRpdGlvbmllcnVuZyBrb2VubmVuLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luIDk4ICsgRmVzdHBsYXR0ZSAoVmFuaW9uLCAxOC4gSmFuIDIwMDQsIDIyOjUxOjI5KToKfiMhIHJuPU11cGZlbCBydD0xMDc0NDU4OTgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ0NTIxNTMKT2RlciBNdUxpbnV4LCBwYXNzdCBhdWNoIGF1ZiBlaW5lIERpc2tldHRlOiBodHRwOi8vbXVsaW51eC5zdW5zaXRlLmRrLwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpbiA5OCArIEZlc3RwbGF0dGUgKE1vcmdvdGgsIDE4LiBKYW4gMjAwNCwgMjM6MDc6MzEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzQ0NjI2ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDQ1MjE1MwpEYSBmZWhsdCBlaW4gImgiLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpbiA5OCArIEZlc3RwbGF0dGUgKExpYXJhLCAxOC4gSmFuIDIwMDQsIDIzOjIxOjUxKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA3NDQ2MzY1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0NDUyMTUzCkFsc28gZ2VodCBkaWVzZSBMaW51eGZvcm1hdGllcmVyZWkgbWl0IGplZGVyIEZlc3RwbGF0dGVuZ3JvZXNzZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBjb21waSAoVmFyZGlvbiwgMTkuIEphbiAyMDA0LCAxNDoyNjo0OCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NDM2MDU0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4CkljaCBiZXRyZWliZSBlaW5lIFJhZGVvbjk3MDAgdW50ZXIgTGludXguIFByaW56aXBpZWxsIHN0ZWhlbiB1bnRlciBYRnJlZSB6d2VpClRyZWliZXIgenVyIFdhaGw6IGRlciBub3JtYWxlICJyYWRlb24iLVRyZWliZXIgZGlyZWt0IHZvbiBYRnJlZSwgd2VsY2hlcgphbGxlcmRpbmdzIGZ1ZXIgS2FydGVuIGFiIFJhZGVvbiA5NTAwIChhbHNvID49IFIzMDAgQ2hpcHNhdHopIGtlaW4KaGFyZHdhcmViZXNjaGxldW5pZ3RlcyBPcGVuR0wga2FubiwgdW5kIGRlciAiZmdscngiLVRyZWliZXIgdm9uIEFUSSwgd2VsY2hlcgpUVm91dCAoaGFiIGljaCBuaWNodCBnZXRlc3RldCkgdW5kIE9wZW5HTCB1bnRlcnN0dWV0enQgYWJlciAobW9tZW50YW4pIGtlaW4KREdBIGthbm4gKG9obmUgREdBIGdpYnRzIHouQi4ga2VpbmUgIEZ1bGxzY3JlZW4tTW9kdXMgaW4gZGVyIFZNd2FyZSBldGMpLCB1bmQKbWl0IFdpbmUgbWFuY2htYWwgZXR3YXMgcnVtYnVnZ3QuIERpZSBPcGVuR0wtbGVpc3R1bmcgZGVzIGZnbHJ4IGlzdCBkYWZ1ZXIKYmVlaW5kcnVja2VudCAoZ2x4Z2VhcnMgbGFldWZ0IGF1ZiBtZWluZXIgS2lzdGUgbWl0IGlyZ2VuZHdhcyA+IDQwMDAgRlBTIHVuZAp6dW0gTmV2ZXJ3aW50ZXJOaWdodHMgc3BpZWxlbiBnZWh0IGVyIGF1Y2ggdGFkZWxsb3MpLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2luIDk4ICsgRmVzdHBsYXR0ZSAoVmFyZGlvbiwgMTkuIEphbiAyMDA0LCAxNDozMDoxMik6Cn4jISBybj1NdXBmZWwgcnQ9MTA3NDQ1ODk4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0NDUyMTUzCkFsdGVybmF0aXYga2FubiBtYW4gYXVjaCBuZSBLbm9wcGl4IGJlbnV0emVuLCBkaWUgaXN0IHNjaG9lbiBiZXF1ZW0gdW5kIG1hbgpoYXQgaW0gWndlaWZlbHNmYWxsIGF1Y2ggbm9jaCBqZWRlIE1lbmdlIE1hbnBhZ2VzIGRyYXVmLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2luIDk4ICsgRmVzdHBsYXR0ZSAoT2dvLCAxOS4gSmFuIDIwMDQsIDE0OjM1OjExKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA3NDUxOTAxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0NDUyMTUzClNsYXggaXN0IGh1ZWJzY2hlciB1bmQgcGFzc3QgYXVmIHNvIGVpbmVuIGtsZWluZW4gUm9obGluZyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogY29tcGkgKFBhdHJ5biwgMTkuIEphbiAyMDA0LCAxOTo0MTowMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNzQ1MTg4MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OAppY2ggZ2ViIHNwYWV0ZXIgbWFsIGJlcmljaHQsIGhhYiBudSBhdGhvbjY0IDMuMjAwKyB1bmQgbmUgUmFkZW9uIDk2MDAgWFQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IElTRE4gdW50ZXIgTGludXggKFRvZSwgMTkuIEphbiAyMDA0LCAyMjoyMDo0OSk6Cn4jISBybj1CYW1iaSBydD0xMDc0MDkyMjI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQwMjkxODUKd2VubnMgYW0gcmctNTggbGllZ3QsIHdlaWwgZGEgZWluZXIgZGVuIGVuZHdpZWRlcnN0YW5kIGdlbW9wc3QgaGF0LCBkYW5uIGlzdApkaWUgaXNkbi1rYXJ0ZSBzaWNoZXIgbmljaHQgc2NodWxkLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBjb21waSAoUGF0cnluLCAxOS4gSmFuIDIwMDQsIDIzOjA4OjQyKToKfiMhIHJuPVBhdHJ5biBydD0xMDc0NTM3NjYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQzNjA1NDgKaHVpLCAzZG1hcmsyMDAxIGhhdCAxMTI1NyBwdW5rdGUuLi5pcmdlbmR3aWUKc28gdW5nZWZhZWhyIHVlYmVyIDUgbWFsIG1laHIgYWxzIGRhcyBsZXR6dGUgbWFsIDspCnNjaG9uIHdhaG5zaW5uLCB3ZW5uIHpiZGllc2VzIG1hdHJpeC12b3J6aW1tZXJ0ZWlsIHN0YXR0IG1pdCBlaW5lbSBiaWxkIHBybwpzZWt1bmRlIG1pdCAxMjAgdm9yYmVpcmF0dGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGNvbXBpIChHcmltbWJvcm4sIDE5LiBKYW4gMjAwNCwgMjM6MDk6NDgpOgp+IyEgcm49UGF0cnluIHJ0PTEwNzQ1NTAxMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDM2MDU0OApJY2ggYmluIHZlcndpcnJ0LiBCZWkgRGlyIGlzdCA1KjE9MTIwPyBJbiB3ZWxjaGVtIFVuaXZlcnN1bSBsZWJzdCBEdT8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogY29tcGkgKFBhdHJ5biwgMTkuIEphbiAyMDA0LCAyMzoxOToxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NDU1MDE4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4CmtlaW5lIGFobnVuZyBpbiB3ZWtjaGVtIHp1c2FtbWVuaGFuZyBkYXMgYmVuY2htYXJrLXB1bmt0ZQp1bmQgZnJhbWVyYXRlIHN0ZWhlbiwgbWVociBhbHMgZWluIGJpbGQgcHJvIHNla3VuZGUgZ2FicyBkYQp2b3JoZXIgZWNodCBuaWNoIHVuZCBlcyB3YXJlbiBzbyAyMDAwIHB1bmt0ZSwgd2Vpc3MgaWNoIG5vY2guCmVzIGlzdCBuaWNoIG1laW4gdW5pdmVyc3VtIHNvbmRlcm4gZGFzIHZvbiBtYWRvbmlvbiBkZWZpbmllcnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogY29tcGkgKFBhdHJ5biwgMTkuIEphbiAyMDA0LCAyMzo1MjoxOSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NDU1MDc1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0MzYwNTQ4CmhhdCBqZW1hbmQgbWFsIHJhZGVvbi1kcml2ZXIgZnVlciBsaW51eCBpeC04NiA2NCBiaXQgZ2VmdW5kZW4/CmRhcyBzdXNlIGdpYnRzIGphIGltIG5ldHosIGFiZXIgYnJhdWNoIHdvaGwgbmljaCB6dSBpbnN0YWxsaWVyZW4gd2VubiBlcwpuaXggZnVlciBkaWUgZ3Jha2EgZ2lidCwgd2FzIGhhcmR3YXJlYmVzY2hsZXVuaWd1bmcgYmlldGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmF2YSB1bmQgSlRyZWUgKE9nbywgMjEuIEphbiAyMDA0LCAxMTo1MDo0OSk6CkljaCB3dWVyZGUgZ2VybmUgaW4gZWluZW0gSlRyZWUgZWluZSBOb2RlIG1pdCBlaW5lbSBlaW5mYWNoZW4gc2VsZWN0ICsgZGVsZXRlCmxvZXNjaGVuIGtvZW5uZW4uIEthbm4gbWlyIGplbWFuZCBlaW5lbiBUaXBwIGdlYmVuLCAodmllbGxlaWNodCBzb2dhciBtaXQKUHNldWRvQ29kZT8pIHdpZSBpY2ggZGFzIGJld2Vya3N0ZWxsaWdlPwoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmF2YSB1bmQgSlRyZWUgKEJvaW5nLCAyMS4gSmFuIDIwMDQsIDExOjU1OjA1KToKfiMhIHJuPU9nbyBydD0xMDc0NjgyMjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ2ODIyNDkKT2huZSBHZXdhZWhyOiBEdSBob2xzdCBkaXIgZGFzIFRyZWVNb2RlbCBtaXQgZ2V0TW9kZWwoKSB1bmQgcnVmc3QgZGFubgpyZW1vdmVOb2RlRnJvbVBhcmVudCgpIGF1Zi4gRGFzIHNlbGVrdGllcnRlIGJla29tbXN0IER1IHdhaHJzY2hlaW5saWNoCnVlYmVyIGRhcyBTZWxlY3Rpb25Nb2RlbCwgaGFiIGRhcyBhYmVyIG5pY2h0IGFuZ2VzY2hhdXQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYXZhIHVuZCBKVHJlZSAoT2dvLCAyMS4gSmFuIDIwMDQsIDExOjU4OjU5KToKfiMhIHJuPU9nbyBydD0xMDc0NjgyMjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ2ODIyNDkKSWNoIGtvbmtyZXRpc2llcmUgbWVpbmVuIFd1bnNjaDogSWNoIHdpbGwgZWluZSBOb2RlIG1pdCBNYXVzL1Rhc3RhdHVyCnNlbGVrdGllcmVuIHVuZCBkYW5uIG1pdCBlaW5lbSBlaW5mYWNoIERydWNrIGF1ZiBkaWUgRW50ZmVybmVuL0RlbGV0ZS1UYXN0ZQphdWYgZGVyIFRhc3RhdHVyIGxvZXNjaGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJhZGVvbiAoUGF0cnluLCAyMi4gSmFuIDIwMDQsIDIxOjAyOjE0KToKTmEgZW5kbGljaCBTdXNlOS4wIChuaWNodCA2NCBiaXQpIGF1ZiBkZW0gQXRobG9uIGxhdWZlbiB1bmQgZGllIFJhZGVvbiB0dXQKYXVjaC4KV2FyIGRhcyB3aWVkZXIgZWluIGtyYW1wZi4KRGFzIEF1ZnNwaWVsZW4gZGVzIEdlc2FtdHN5c3RlbXMgd2FyIHdpZSBpbW1lciBlYXN5IGJlaSBTdVNlLgpEYW5uIGdpbmdzIGxvczogV2FlaHJlbmQgZGVyIEluc3RhbGxhdGlvbiBnaW5nIGRpZSBNYXVzLCBlaW4gVVNCLVRlaWwKdm9uIExvZ2l0ZWNoLCBvcHRpc2NoLCBmdW5rLCByYWQuLi5uYWNoIGRlciBJbnN0YWxsYXRpb24gcGxvZXR6bGljaDoKZ2FyIG5peCBtZWhyLiBTdHVuZGVubGFuZ2VzIHByb2JpZXJlbiwgZGV2aWNlcyB1bXNldHplbiwgWEY4NkNvbmZpZwplZGl0aWVyZW4sIG1hbnBhZ2VzIGxlc2VuLCBuaXguIExvZXN1bmcgd2FyOiBOYWNoIHJlYm9vdCBnaW5ncyBwbG9ldHpsaWNoIDspCkRhcyBuYWVjaHN0ZToga3dpbnR2IGNyYXNodCBzb2ZvcnQgbmFjaCBTdGFydC4gSG1tbS4KT0ssIGFsc28gUmFkZW9uOiBIdXJyYSwgc2llIGhhYmVuIExpbnV4LURyaXZlci4KQWJlciBBcmdsOiBTaWUgd29sbGVuIG5pY2h0IDNEIHdlbm4gaWNoIElocmVyIEFubGVpdHVuZyBmb2xnZS4KV2llZGVyIHd1ZWhsIHd1ZWhsLCBBbmxlaXR1bmdlbiBrcmFtZXJuLCBpbiBDb25maWdmaWxlcyBydW1zY2hyZWliZW4gdS5zLncuCnVuZCBhZW5kbGljaCwgVHV4UmFjZXIgZmx1ZXNzaWcgOykKVW5kIHBsb2V0emxpY2ggZ2VodCBudW4gYXVjaCBrd2ludHYuLi5obW1tIGhtbW0sIGRhIG11c3MgZGllCkRpc3RyaWJ1dGlvbiBub2NoIHZpZWwgbGVybmVuLCBhYmVyIGRhIHNpZSBlaW5lIGRlciB1bmtvbXBsaXppZXJ0ZXN0ZW4gc2Vpbgpzb2xsOgp3YXMgbXVlc3NlbiBlcnN0IGFuZGVyZSBhdXNzdGVoZW4uCldpbjJrIHdhciBpbSBCcnVjaHRlaWwgZGVyIFplaXQgZHJhdWYgb2huZSBlaW5tYWwgenUgenVja2VuLiAqc2V1ZnoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmFkZW9uIChWYW5pb24sIDIyLiBKYW4gMjAwNCwgMjE6MDQ6NTIpOgp+IyEgcm49UGF0cnluIHJ0PTEwNzQ4MDE3MzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApBbHNvIGJlaSBEZWJpYW4gaGFiIGljaCBtaXQgbWVpbmVyIEthcnRlIChOdmlkaWEtR2ZvcmNlIG9uYm9hcmQpIGF1Y2ggaW1tZXIKdmllbCBTcGFzcy4gTWl0dGxlcndlaWxlIGhhYiBpY2hzIHJhdXMuIFZlcm11dGxpY2ggcmF1Y2h0IGRhcyB0ZWlsIGFsc28gYmFsZAphYiB1bmQgaWNoIG11c3MgbWlyIGVpbmUgbmV1ZSBrYXVmZW4gLSBkaWUgd2llZGVyIHZvZWxsaWcgYW5kZXJlIE1hY2tlbiBhbiBkZW4KVGFnIGxlZ3QuCgpWKiwgbWVpbnQ6IFN0aW1tdDogVW50ZXIgV2luZG93cyB0dXQgZGFzIHNjaG5lbGxlciBnZWhuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByYWRlb24gKE1hcmN1cywgMjIuIEphbiAyMDA0LCAyMTowNTo0OCk6Cn4jISBybj1WYW5pb24gcnQ9MTA3NDgwMTg5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0ODAxNzM0CkRhcyBQcm9ibGVtIGlzdCwgZGFzIGRlciBLZXJuZWwgZ2V1cGRhdGVkIHd1cmRlLgoKRHVyY2ggZGFzIE9ubGluZSBVcGRhdGUgYmVpbSBpbnN0YWxsaWVyZW4gZGVua2UgaWNoIG1hbC4uLgoKRGEgc29sbHRlIGV2dCBlaW4gZGV1dGxpY2hlcmVyIEhpbnQgYXVmICJCaXR0ZSByZWJvb3RlbiIgaGluLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByYWRlb24gKFpvb2ssIDIyLiBKYW4gMjAwNCwgMjE6MDg6MTYpOgp+IyEgcm49TWFyY3VzIHJ0PTEwNzQ4MDE5NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApXYXMgaXN0IGRlbm4gUmFkZW9uPwoKWm9vay4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiByYWRlb24gKExpYXJhLCAyMi4gSmFuIDIwMDQsIDIxOjA4OjUxKToKfiMhIHJuPVpvb2sgcnQ9MTA3NDgwMjA5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0ODAxNzM0Ck5lIEdyYWZpa2thcnRlIC4uLiB3dWVyZGUgbWljaCBhdWNoIGludGVyZXNzaWVyZW4sIG9iIGRpZSB2b24gZGVyIEZpcm1hIG1pdApTdXNlIGZ1bnplbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJhZGVvbiAoTWFyY3VzLCAyMi4gSmFuIDIwMDQsIDIxOjE2OjI5KToKfiMhIHJuPUxpYXJhIHJ0PTEwNzQ4MDIxMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApXYXJ1bSBzb2xsdGUgc2llIG5pY2h0IHR1bj8KCkljaCBnbGF1YmUgaWNoIGhhYmUgYXVmIEFyYmVpdCBlaW5lIEFUSSBSYWRlb24gYW0gTGF1ZmVuLgoKUHJvYmxlbWUgZ2lidHMgZWggbWVpc3QgbnVyIG1pdCBOVmlkaWEgQ2hpcHNldHMuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJhZGVvbiAoVmFuaW9uLCAyMi4gSmFuIDIwMDQsIDIxOjE3OjExKToKfiMhIHJuPU1hcmN1cyBydD0xMDc0ODAyNTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ4MDE3MzQKVW5kIGRpZSBOdmlkaWEgaGF0IGVpZ2VuZSBUcmVpYmVyIHVuZCBtaXR0bGVyd2VpbGUgYXVjaCBlaW5lbiBhdXRvbWF0aXNjaGVuCk1vZHVsLXZlcnd1cnNjaHRlbGVyLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJhZGVvbiAoTGlhcmEsIDIyLiBKYW4gMjAwNCwgMjE6MTg6MDkpOgp+IyEgcm49TWFyY3VzIHJ0PTEwNzQ4MDI1ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApXZWlsIHpCIGRhcyBCb2FyZCwgd2FzIHp1IG1laW5lbSBuZXVlbiBSZWNobmVyIGdlaG9lcnQgaGFiZW4gc29sbHRlLCBtaXQgTGludXgKbmV0IHR1bi4gRnJldW5kbGljaGVyd2Vpc2UgaGF0IG1pciBkaWUgRmlybWEgZGFzIHZvcmhlciBnZXNhZ3QuIDs+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByYWRlb24gKFpvb2ssIDIyLiBKYW4gMjAwNCwgMjE6MTg6MTkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzQ4MDI2MzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApOaXZlYS1DaGlwc2V0cz8gCgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmFkZW9uIChBbGtvaG9sLCAyMi4gSmFuIDIwMDQsIDIxOjE5OjE1KToKfiMhIHJuPUxpYXJhIHJ0PTEwNzQ4MDI2ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNAp3YXMgaGVpc3N0LCBkYXMgQm9hcmQgdHV0IG1pdCBMaW51eCBuaWNodD8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHJhZGVvbiAoTGlhcmEsIDIyLiBKYW4gMjAwNCwgMjE6MjA6MTUpOgp+IyEgcm49QWxrb2hvbCBydD0xMDc0ODAyNzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ4MDE3MzQKS2VpbmUgQWhudW5nLiBJc3Qgc28gZWluIGdlc2NodW1tZWx0ZXMgQVNVUy1EaW5ncyAuLi4gbGF1dCBUZWNobmlrZXJzIGdpYnQgZXMKbWl0IExpbnV4IFByb2JsZW1lIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogcmFkZW9uIChWYW5pb24sIDIyLiBKYW4gMjAwNCwgMjE6MjA6NTEpOgp+IyEgcm49QWxrb2hvbCBydD0xMDc0ODAyNzU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzQ4MDE3MzQKVW0gbWFsIGRhcyBUaGVtYSB6dSB3ZWNoc2VsbiwgZ2lidCBlcyBlaW5lIFJhZGVvbiwgZGllIGVtcGZlaGxlbnN3ZXJ0IHVuZCBpbQp1bnRlcmVuIFByZWlzc2VnbWVudCBpc3QgKHVudGVyIDEwMCBFdXJvKT8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdXNlIChQYXRyeW4sIDIyLiBKYW4gMjAwNCwgMjE6MjU6NDkpOgphY2ggamEsIG5vY2ggd2FzIG5ldHRlcywgd2FzIGljaCBudW4gd2lya2xpY2ggbm9jaCBuaWUgaGF0dGU6CmRlciBzZW5rcmVjaHRlIHN0cmljaCBnZWh0IG5pY2ggbWVociwgZGFzIHBpcGUtc3ltYm9sLgp3YWhyc2NoZWlubGljaCBkZW5rdCBzaWNoIHN1c2UsIGpldHp0IGthbm4gbWFuIGVoIGFsbGVzIHp1c2FtbWVuY2xpY2tlbiwKZGEgYnJhdWNodCBtYW4gd2VzZW50bGljaHNlIHVuaXgtZGluZ2UgbmljaHQgbWVociA7KQo6c3VjaHQgdGFzdGF0dXJlaW5zdGVsbHVuZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiByYWRlb24gKFpvb2ssIDIyLiBKYW4gMjAwNCwgMjE6MjY6MjUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzQ4MDI4NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNApXYXMgaXN0IGRlbm4gYW4gZGVuIFJhZGVvbi1LYXJ0ZW4gbWl0IE5pdmVhLUNoaXBzIHNvIHRvbGw/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHJhZGVvbiAoR3JpbW1ib3JuLCAyMi4gSmFuIDIwMDQsIDIxOjU4OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTA3NDgwMzE4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0ODAxNzM0ClBhdHJ5biwgRHUgd2lsbHN0IGVpbmZhY2ggbnVyIGRhcyByaWNodGlnZSBrZXlib2FyZCBsYXlvdXQgZWluc3RlbGxlbiAoaGludDoKemFlaGwgbWFsIGRpZSBUYXN0ZW4uIFNpbmQgbWVociBhbHMgZHJlaSkuIERhIGthbm4gTm92ZWxsIG5pY2h0cyBmdWVyLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmFkZW9uIChCYW1iaSwgMjMuIEphbiAyMDA0LCAxNToyMToyOCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NDgwMTczNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc0ODAxNzM0CkJlbnV0eiBtYWwgZWluZSBGcml0ei1hdm0tcGNpLWlzZG4ta2FydGUgdW50ZXIgc3VzZSA3LiogbWl0IGVpbmVtIHNlbGJzdApjb21waWxpZXJ0ZW4ga2VybmVsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHJhZGVvbiAoUGF0cnluLCAyNC4gSmFuIDIwMDQsIDEzOjQwOjQzKToKfiMhIHJuPUJhbWJpIHJ0PTEwNzQ4Njc2ODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NDgwMTczNAouLi5oYWJzIHByb2JpZXJ0IHVuZCBiaW4gZ2VzY2hlaXRlcnQsIG1pdCB2ZXJzY2hpZWRlbnN0ZW4gaG93dG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGVpc2VyIFNjaHJlaWJ0aXNjaHNlcnZlciAoSG91c2Vob2xkZXIsIDMxLiBKYW4gMjAwNCwgMTk6MzY6NDkpOgppY2ggbW9lY2h0ZSBtaXIgZWluZW4ga2xlaW5lbiAoZmlsZXNlcnZlciwgV2Vic2VydmVyLCBNYWlsc2VydmVyLApBY2Nlc3Nwb2ludCwgYmFja3VwIC4uLiBldGMuKSBmdWVyIHByaXZhdGUgWndlY2tlIHp1cmVjaHRzY2h1c3Rlcm4KdW5kIGJpbiBhdWYgZGVyIFN1Y2hlIG5hY2ggZ2VlaWduZXRlciBIYXJkd2FyZS4gV2ljaHRpZzogZGFzIERpbmcKc29sbHRlIGxlaXNlIHNlaW4sIGRhIGVzIGlucyBBcmJlaXRzemltbWVyIGtvbW10IHVuZCB3ZW5pZyBTdHJvbQp2ZXJicmF1Y2hlbiAoRGF1ZXJiZXRyaWVic3dpbGx5KS4gSWNoIHdpbGwgbW9lZ2xpY2hzdCBuaWNodCBtZWhyCmFscyAxMDAwRXVybyBhbmxlZ2VuLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApCZXRyaWVic3N5c3RlbSB3aXJkIGFsbGVyIFdhaHJzY2hlaW5saWNoa2VpdCBuYWNoIExpbnV4IHNlaW4gKFN1c2UKb2RlciBEZWJpYW4gLi4uKS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKSG9oZSBBbmZvcmRlcnVuZ2VuIGFuIFJlY2hlbmxlaXN0dW5nIGhhYmUgaWNoIG5pY2h0IChMZWlzaWdrZWl0CmlzdCB3aWNodGlnZXIgOi0pKS4gNTAwTWh6IHNvbGx0ZW4gcmVpY2hlbi4KSWNoIHdhZXJlIGRhbmtiYXIgdWViZXIgYWt0dWVsbGUgTGlua3MvRXJmYWhydW5nZW4vSGlud2Vpc2UgYXVmCmFrdHVlbGxlIFRlc3RzL0FydGlrZWwgIQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApjaGVlcnMgSEgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBsZWlzZXIgU2NocmVpYnRpc2Noc2VydmVyIChPZ28sIDMxLiBKYW4gMjAwNCwgMTk6Mzk6NDApOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA3NTU3NDIwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc1NTc0MjA5Ckd1Y2sgbWFsIGhpZXI6IGh0dHA6Ly93d3cub2JlbG9kZS5kZS9taW5pX2l0eF9oYXJkd2FyZS5odG0KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBsZWlzZXIgU2NocmVpYnRpc2Noc2VydmVyIChNdXBmZWwsIDMxLiBKYW4gMjAwNCwgMjA6MDA6MjUpOgp+IyEgcm49T2dvIHJ0PTEwNzU1NzQzODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NTU3NDIwOQpPZGVyIHd3dy5taW5pLWl0eC5kZQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhQIERlc2tKZXQgODcwY3hpIChDcm9mdCwgIDEuIEZlYiAyMDA0LCAxMjozNzoyMCk6Ck9iaWdlciBEcnVja2VyIGlzdCBiZWkgbWlyIHVlYmVyZmx1ZXNzaWcgZ2V3b3JkZW4sIGRhIGljaCBtaXIgbWl0dGxlcndlaWxlCmVpbiBBbGwtaW4tb25lIEdlcmFldCBnZWhvbHQgaGFiLiAgR2lidHMgZGEgaXJnZW5kd2VsY2hlIHNpbm52b2xsZW4KRW50c29yZ3VuZ3Ntb2VnbGljaGtlaXRlbiBhdXNzZXIgV2Vnd2VyZmVuIG9kZXIgc2ljaCBqZW1hbmRlbiBzdWNoZW4KZGVyIGRhcyBEaW5nIGdlc2NoZW5rdCBoYWJlbiB3aWxsPyAgQmVpIEViYXkgbGllZ2VuIGRpZSB3b2hsIHNvIGJlaQoxLTUgRVVSLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcnNjaGx1ZXNzZWx1bmcgKENhdHdlYXpsZSwgIDMuIEZlYiAyMDA0LCAxNTozNjoyOSk6CldlaXNzIGplbWFuZCBlaW4gZ3V0ZXMgQnVjaCwgd28gS3JhbXMgd2llIHpCIDNkZXMsIGJsb3dmaXNoLCBlYXMsIHBraSwgaXNhY21wLAppa2UgdW5kIGFsbCBkYXMgemV1Z3MgdG9sbCwgZGV0YWlsbGllcnQgdW5kIGVpbmxldWNodGVuZCBlcmtsYWVydCB3aXJkPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc2NobHVlc3NlbHVuZyAoSG91c2Vob2xkZXIsICAzLiBGZWIgMjAwNCwgMTc6Mjc6NTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzU4MTg5ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NTgxODk4OQpVZWJlciAiYW5nZXdhbmR0ZSBrcnlwdG9ncmFmaWUiIHZvbiBicnVjZSBzY2huZWllciAoYmxvd2Zpc2ggZXJmaW5kZXIpIGthbm5zdGUKbWFsIGRydWViZXJzY2hhdWVuLgpISCAKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhZmlrd2FobnNpbm4gKFZhbmlvbiwgIDUuIEZlYiAyMDA0LCAyMTo1NzoxOCk6CkhpLAoKaW1tZXIgbm9jaCAob2RlciBtYWwgd2llZGVyKSBiaW4gaWNoIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lciBHcmFmaWtrYXJ0ZSwgdW0Kb3JkZW50bGljaCBNb3Jyb3dpbmQgc3BpZWxlbiB6dSBrb2VubmUuIEZ1ZXIgTXVkZGVuIHNvbGwgc2llIGFiZXIgYXVjaCBub2NoCnJlaWNoZW4uCgpCZWkgbWVpbmVyIFN1Y2hlIGhhYiBpY2ggdmllbCBndXRlcyB1ZWJlciBkaWUgU2FwcGhpcmUgUmFkZW9uIGdlaG9lcnQuIFVtCmdlbmF1IHp1IHNlaW4sIGRpZSA5NjAwZXIuCgpEZXIgUHJlaXMgKGRldXRsaWNoIG1laHIgYWxzIDEwMCBFdXJvIG11c3MgZXMgd2lya2xpY2ggbmljaCBzZWluKSBzY2hlaW50IGJlaQpkZW5lbiBnYW56IGluIE9yZG51bmcsIGFsbGVyZGluZ3MgZ2lidCBtYXNzaWcgU2Nod2Fua3VuZ2VuIGJlaSBkZW4gUHJlaXNlbgp6d2lzY2hlbiBkZW4gZWluemVsbmVuIEthcnRlbiwgZGllIGRhIGFuZ2Vib3RlbiB3ZXJkZW4uCgpLYW5uIG1pciBtYWwgamVtYW5kIGt1cnogZXJrbGFlcmVuLCB3YXMgZGVyIFVudGVyc2NoaWVkIHp3aXNjaGVuCgogMTI4TUIgU2FwcGhpcmUgUmFkZW9uIDk2MDAsIExSVEwgICAgICAgICAgICAgMTAwLC0KIDEyOE1CIFNhcHBoaXJlIFJhZGVvbiA5NjAwLCBSVEwgICAgICAgICAgICAgICA5MCwtCiAxMjhNQiBTYXBwaGlyZSBSYWRlb24gOTYwMFhUIFJUTCAgICAgICAgICAgICAxODAsLSAoc28gdmllbCBmdWVyIDIgQnVjaHN0Lj8pCiAxMjhNQiBTYXBwaGlyZSBSYWRlb24gOTYwMFhUIGJ1bGsgICAgICAgICAgICAxNzAsLSAob2ssIGRpZSAxMCBFdWxlbiBzaW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGllciBmdWVyIG1pY2ggbm9jaApwbGF1LQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpYmVsLikKCkFsc28gbWljaCB3dW5kZXJuIGRpZSBtYXNzaXZlbiBTY2h3YW5rdW5nZW4uIFN0ZWNrdCBkYSBqZW1hbmQgaW0gTWFya3QgdW5kCndlaXNzIHdhcyBkYWhpbnRlciBzdGVja3Q/IE1laW5lIEFuZm9yZGVydW5nZW4gc2luZCBqYSBuaWNoIHNvIGdyb3NzLiBFYmVuCmZ1ZXIgTW9ycm93aW5kIHVudGVyIFdpbiBNRSBzb2xscyByZWljaGVuIHVuZCB1bnRlciBMaW51eCBicmF1Y2hiYXIgdHVuLiBJbQpNb21lbnQgaGFiIGljaCBlaW5lIE52aWRpYSBHZm9yY2UgMiAoYXVmIGVpbmVtIE1TSS1Cb2FyZCBhdWZnZWxvZXRldCkKClYqLCBsZWljaHQgcmF0bG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYWZpa3dhaG5zaW5uIChNdXBmZWwsICA1LiBGZWIgMjAwNCwgMjI6MDU6MzYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzYwMTQ2Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjAxNDYzOApkaWUgOTYwMFhUIGlzdCBzb3p1c2FnZW4gOTYwMCsrLCBhbHNvIGRhcyBuYWVjaHN0c2NobmVsbGVyZSBNb2RlbGwgKGV0d2FzCmhvZWhlcmVyIFNwZWljaGVydGFrdCwgZ2xhdWJlIGljaCkuClVuZCB3aWUgZGllIDk4MDBlciBnaWJ0cyBiaXNoZXIga2VpbmUgb3JkZW50bGljaGUgTGludXgtVW50ZXJzdHVldHp1bmcgZGFmdWVyLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhZmlrd2FobnNpbm4gKFBhdHJ5biwgIDUuIEZlYiAyMDA0LCAyMjowODowNSk6Cn4jISBybj1NdXBmZWwgcnQ9MTA3NjAxNTEzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2MDE0NjM4Ck1hbiBiZWtvbW10IGRpZSA5NjAwZXIgdW50ZXIgbGludXggenVtIGxhdWZlbiwgc29nYXIgM0QuCkFsbGVyZGluZ3Mgemlja3QgZGFzIGdhbnplIGRvY2ggemllbWxpY2gsIGJpcyBqZXR6dCBoYWIgaWNoCnpCIG5peCBER0EgZGFtaXQgZ2VzY2hhZmZ0LCBhbHNvIG5peCBUVi1LYXJ0ZSBkYW1pdC4KSWNoIGFyYmVpdGUgZHJhbiA7KQpJY2ggaGFiIDk2MDBYVCB1bmQgZGllIHJlaWNodCBiaXNoZXIgZnVlciBhbGxlcywgZWluemlnIGRhcyBuZXVlCjNELU1hcmsyMDAzIGJyaW5ndCBzaWUgaW0gTmF0dXJlLU1vZGUgZXR3YXMgenVtIHJ1Y2tlbG4uIERhcyBpc3QgYWJlciB3b2hsCm5vY2ggd2VpdGUgRmVybmUgZnVlciBTcGllbGV3ZWx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR3JhZmlrd2FobnNpbm4gKFZhbmlvbiwgIDUuIEZlYiAyMDA0LCAyMjoxMjowMyk6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NjAxNTI4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2MDE0NjM4CkFsc28gYmVpIExpbnV4IGJpbiBpY2ggbmljaCBhbnNwcnVjaHN2b2xsLiBEaWUgc29sbCBoYWx0IFggdW50ZXJzdHVldHplbi4gM0QKaXMgbWlyIGRhIGVnYWwuIEdpYnQgZWgga2VpbmUgU3BpZWxlIGZ1ZXIuIFp1bSBTcGllbGVuIGdpYnRzIFdpbmRvd3MuCjEwMjR4NzY4LUtsaUtpLUJ1bnRpLCBtZWhyIHNvbGxzIG5pY2h0IHR1bi4KCkRpZSA5NjAwIG9obmUgWFQtR2ViYW1tZWwga2xpbmd0IHNvIG5ldHQuIEF1Y2ggZGVyIFByZWlzLiBGdWVyIDkwIEV1bGVuIGtvZW5udAppY2ggZGllIGphIHppZW1saWNoIGd1ZW5zdGlnIHNjaGllc3Nlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFmaWt3YWhuc2lubiAoUGF0cnluLCAgNS4gRmViIDIwMDQsIDIyOjEzOjI1KToKfiMhIHJuPVZhbmlvbiBydD0xMDc2MDE1NTIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzYwMTQ2MzgKVmVyc3VjaCBsaWViZXIgZWluZSA5NjAwcHJvIHp1IGJla29tbWVuLCBkaWUgYW5kZXJlbiBnZWJlbiB3b2hsIGRvY2ggYXJnIG5hY2gKaW4gZGVyIGxlaXN0dW5nLCBkaWUgcHJvIGlzdCBmYXN0IGdlbmF1c28gZ3V0IHdpZSBYVCB1bmQgYXVzbGF1Zm1vZGVsbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyYWZpa3dhaG5zaW5uIChWYW5pb24sICA1LiBGZWIgMjAwNCwgMjI6MTk6MTcpOgp+IyEgcm49UGF0cnluIHJ0PTEwNzYwMTU2MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjAxNDYzOApIbW0sIG5hY2hkZW0gZGllIDk2MDAgc2NoZWluYmFyIGphIGxlaWRsaWNoIHVudGVyIExpbnV4IGxhZXVmdDoKCiAgV2VsY2hlIEthcnRlIGlzIGRlbm4gZnVlciBiZWlkZSBXZWx0ZW4gYnJhdWNoYmFyICh3aWUgZ2VzYWd0LCBpY2ggYnJhdWNoCiAgS0RFIGhhdXB0c2FlY2hsaWNoLCBkYW1pdCBpY2ggbWVociBYdGVybXMgYXVmIGRlbSBNb25pdG9yIHVudGVyYmVrb21tZSk/CgpWKiwgR3JhZmlra2FydGUga2F1ZmVuIGlzIG5lcnZpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdyYWZpa3dhaG5zaW5uIChGb29iYXIsICA2LiBGZWIgMjAwNCwgMDg6Mzg6MDkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzYwMTU5NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjAxNDYzOApXZW5uJ3MgbnVyIGRhcyBpc3QgdHV0J3Mgc2NyZWVuIGdhbnogb2huZSBYIG9kZXIgZ25vbWUtbXVsdGktdGVybWluYWwgbWl0IFguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFmaWt3YWhuc2lubiAoVmFyZGlvbiwgIDYuIEZlYiAyMDA0LCAxNDowNjo1OSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA3NjAxNTI4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2MDE0NjM4Ck11cGZlbHMgUG9zdGluZzoKVW5kIHdpZSBkaWUgOTgwMGVyIGdpYnRzIGJpc2hlciBrZWluZSBvcmRlbnRsaWNoZSBMaW51eC1VbnRlcnN0dWV0enVuZyBkYWZ1ZXIuClBhdHJ5bjoKLi4uIGFsc28gbml4IFRWLUthcnRlIGRhbWl0LgoKRGFzIGlzdCBiZWlkZXMgc28gbmljaHQgcmljaHRpZy4KV2llIGdlc2FndCwgZXMgZ2lidCB2b24gQVRJIGRlbiBmZ2xyeC1UcmVpYmVyLCBtaXQgZGVtIG1hbgpoYXJkd2FyZWJlc2NobGV1bmlndGVzIE9wZW5HTCBoYXQuIFVuZCAoenVtaW5kZXN0IGJlaSBtaXIpIHR1dCBkZXIgcHJvYmxlbWxvcy4KUmljaHRpZyBpc3QsIGRhc3MgZGVyIGZnbHJ4LVRyZWliZXIga2VpbiBER0EgdW50ZXJzdHVldHp0LiBOaWNodCByaWNodGlnIGlzdCwKZGFzcyBkZXN3ZWdlbiBkaWUgVFYtS2FydGUgbmljaHQgZ2VoZW4gc29sbC4KTWFuIGthbm4gVFYgYXVjaCBvaG5lIERHQSBzY2hhdWVuLCB6LkIuIG1pdCBIaWxmZSBkZXMgTVBsYXllcnMuIERlciBoYWVuZ3QKc2ljaCBkaXJla3QgYW4gL2Rldi92aWRlbywgbGllc3QgZG9ydCBkZW4gU3RyZWFtIHJhdXMgdW5kIHN0ZWxsdCBpaG4gcGVyClhWaWRlby1PdmVybGF5IGRhci4gRGllc2UgTWV0aG9kZSBoYXQgZ2VnZW51ZWJlciBYYXd0diB1bmQgREdBIGRlbiBOYWNodGVpbCwKZGFzcyBlaW5lIGdlcmluZ2UgQ1BVLUJlbGFzdHVuZyBlbnRzdGVodC4gRGFmdWVyIGthbm4gbWFuIGFiZXIgYXVjaCBnbGVpY2gKbm9jaCBlaW4gcGFhciBkZXIgVmlkZW8tRmlsdGVyIGRlcyBNUGxheWVycyBkYXp3aXNjaGVuaGFlbmdlbi4gWnVtIEZlcm5zZWhlbgpiaWV0ZW4gc2ljaCB6LkIuIGRlaW50ZXJsYWNlIHVuZCByYXVzY2h1bnRlcmRydWVja3VuZyBhbi4KRWluIGtsZWluZXIgS25pZmYgaXN0IGVzLCBkZW4gVG9uIGF1Y2ggZHVyY2ggZGVuIE1QbGF5ZXIgenUgbGVpdGVuIHVuZCBuaWNodApwZXIgTG9vcC1LYWJlbCBkaXJla3QgdWViZXIgZGllIFNvdW5ka2FydGUgYXVzenVnZWJlbiwgc29uc3QgaGFiZW4gQmlsZCB1bmQKVG9uIGVpbmVuIGxlaWNodGVuIChldHdhIDAuMnNlYykgVmVyc2F0ei4KCldlciBkaWUgM0QtRmFlaGlna2VpdGVuIGRlciBLYXJ0ZSBudXIgdW50ZXIgV2luZG93cyB3aWxsIHVuZCB1bnRlciBMaW51eCBudXIKYXJiZWl0ZXQgKFZhbmlvbiwgZGFzIGlzdCBEZWluZSBJbnRlbnRpb24/KSBrYW5uIHVudGVyIExpbnV4IGF1Y2ggZGVuIGJlaQpYZnJlZTg2IGRpcmVrdCBlbnRoYWx0ZW5lbiByYWRlb24tVHJlaWJlciBiZW51dHplbi4gRGVyIGthbm4ga2VpbiAzRCBhYmVyCmRhZnVlciBER0EuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFmaWt3YWhuc2lubiAoVmFuaW9uLCAgNi4gRmViIDIwMDQsIDE2OjU3OjExKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA3NjA3MjgxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2MDE0NjM4CkFoLCBkYW5rZS4gRGFzIGhpbGZ0IG1pciB3ZWl0ZXIuIEljaCB3dWVyZmVsIGltIE1vbWVudCBub2NoIG1pdCBtaXIsIG9iIGljaAplaW5lIDk2MDAsIGVpbmUgOTYwMCBwcm8gb2RlciBlaW5lIDk2MDAgWFQga2F1ZmUgLSBEaWUgOTYwMCBoYXQgZGVuIFZvcnRlaWwKZGFzcyBpY2ggZGllIG5vY2ggaGV1dCBrcmllZ2VuIGtvZW5udGUsIHVuZCBtZWluZSBCb2Vyc2Ugd3VlcmQgbmljaCBzbwpqYW1tZXJuLiBQcmVpc2xpY2ggc2luZCBQcm8gdW5kIFhUIGphIGVoIHNvIGRpY2h0IGJlaWVpbmFuZGVyLCBkYXNzIG1hbiBkYQpuaWNoIHdpcmtsaWNoIG5hY2hkZW5rZW4gbXVzcy4KClYqLCBzY2hvbiBoYWxiIGltIEthdWZyYXVzY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc2NobHVlc3NlbHVuZyAoUm9jaHVzLCAgOC4gRmViIDIwMDQsIDE2OjU4OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc1ODE4OTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzU4MTg5ODkKRGllIGJlaWRlbiB3aWNodGlnc3RlbiBXZXJrZSBzaW5kIGVyc3QgbWFsCjEuQnJ1Y2UgU2NobmVpZXI6IEFwcGxpZWQgQ3J5cHRvZ3JhcGh5CjIuIE1lbmV6ZXMsIHZhbiBPb3JzaG90LCBWYW5zdG9uZTogSGFuZGJvb2sgb2YgQXBwbGllZCBDcnlwdG9ncmFwaHkKZXJzdGVyZXMgZXJrbGFlcnQgZGllIFByb3Rva29sbGUgYmVzc2VyLCBsZXR6dGVyZXMgaXN0IGJlc3NlcgphbHMgTmFjaHNjaGxhZ2V3ZXJrIGZ1ZXIgZGllIHRhZWdsaWNoZSBBcmJlaXQgZ2VlaWduZXQuCkZ1ZXIgUEtJIHNvbGwgIlVuZGVyc3RhbmRpbmcgUEtJIiB2b24gQ2FybGlzbGUgQWRhbXMsIFN0ZXZlIExsb3lkIGd1dCBzZWluLgpBbHMgQUVTIHd1cmRlICJSaWpuZGFlbCIgZ2V3YWVobHQsIGRhIGV4dHJhIGVpbiBCdWNoIHp1IGthdWZlbiBsb2hudApzaWNoIG5pY2h0LCBmaW5kIGljaCwgc2NoYXUgbGllYmVyIGltIE5ldHouCkZ1ZXIgSVNBS01QL0lLRSBoYWJlIGljaCBub2NoIGtlaW4gdmVybnVlbmZ0aWdlcyBCdWNoIGdlZnVuZGVuLApkaWUgQnVlY2hlciB1ZWJlciBJUFNFQyBkaWUgaWNoIGdlc2VoZW4gaGFiZSBsYXNzZW4gYWxsZQppbnRlcmVzc2FudGVuIERldGFpbHMgd2VnLCB1bmQgZGllIFJGQ3Mgc2luZCBuaWNodCBsZWljaHQKenUgbGVzZW4gKHdlaWwgZGllIFN0YW5kYXJkcyBhbHMgZWllcmxlZ2VuZGUgV29sbG1pbGNoc2F1CmtvbnppcGllcnQgc2luZCB1bmQgZGllIHdpY2h0aWdzdGUgQW5mb3JkZXJ1bmcsIGdlcmluZ2UKS29tcGxleGl0YWV0LCBpZ25vcmllcmVuKS4KCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJzY2hsdWVzc2VsdW5nIChSb2NodXMsICA4LiBGZWIgMjAwNCwgMTc6MjY6MDIpOgp+IyEgcm49Um9jaHVzIHJ0PTEwNzYyNTU5MzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NTgxODk4OQpQUzoKRXMgd3VyZGUgbmljaHQgZ2V6ZWlndCwgZGFzcyBkaWUgWFNMLUF0dGFja2UgZ2VnZW4gUmlqbmRhZWwgZnVua3Rpb25pZXJ0LgpJbSBHZWdlbnRlaWwsIERvbiBDb3BwZXJzbWl0aCBoYXQgZXJuc3RoYWZ0ZSBad2VpZmVsIGRhcmFuIGVya2xhZXJ0OgpCZWkgZGVyIEF0dGFja2UgZ2VodCBlcyBkYXJ1bSwgZWluIHVlYmVyYmVzdGltbXRlcyBsaW5lYXJlcwpHbGVpY2h1bmdzc3lzdGVtIHp1IGxvZXNlbi4gTmFjaCBDb3BwZXJzbWl0aCBzaW5kIG5pY2h0CmdlbnVnIEdsZWljaHVuZ2VuLCBkaWUgZ2VmdW5kZW4gd3VyZGVuLCBhdWNoIExJTkVBUiBVTkFCSEFFTkdJRy4KCgpOdXIgbWFsIHNvIGFscyBBbm1lcmt1bmcsIHdlaWwgZWluaWdlIHNjaG9uIGRpZSBQYW5payBiZWtvbW1lbgpoYWJlbiAiV3VhaCwgQUVTIHd1cmRlIGdlbmthY2t0ISIgOikKCiAgUm9jaHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFmaWt3YWhuc2lubiAoUGF0cnluLCAgOS4gRmViIDIwMDQsIDIxOjE2OjQzKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA3NjA3MjgxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2MDE0NjM4CmljaCBoYWIgbmljaCBnZXNhZ3QgZXMgZ2VodCBuaWNoLCBpY2ggaGFiIGdlc2FndCBiZWkgbWlyIGdlaHRzIG5pY2ggdW5kCmljaCBoYXR0ZSBub2NoIGtlaW5lIHplaXQgZnVlciB2ZXJ0aWVmdGUgYmFzdGVsYXJiZWl0ZW4sIGRpZSB1bnRlcgp3aW5kb3dzIGdlbmF1IGRhcyBlaW5sZWdlbiBlaW5lciBDRCBsYW5nIGRhdWVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyYWZpa3dhaG5zaW5uIChWYW5pb24sICA5LiBGZWIgMjAwNCwgMjM6NDU6NTIpOgp+IyEgcm49UGF0cnluIHJ0PTEwNzYzNTc4MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjAxNDYzOApTbywgaGFiIG1pciBudSBkaWUgU2FwcGhpcmUgUmFkZW9uIDk2MDAgcHJvIGdla2F1ZnQuIE1pdCBkZW4gU3RhbmRhcmQgUmFkZW9uClRyZWliZXJuIGdhYnMgendhciBlaW4sIHp3ZWkgUHJvYmxlbWUsIGRpZSBzaWNoIGFiZXIgZHVyY2ggbmV1Y29tcGlsaWVyZW4KZXJsZWRpZ2VuIGxpZXNzZW4uIFVudGVyIFdpbmRvd3Mgd2llIGVyd2FydGV0IGtlaW5lIFByb2JsZW1lLiBEYXMgZWluemlnZQpQcm9ibGVtIGRhcyBpY2ggamV0enQgbm9jaCBoYWI6IFdvIGtyaWVnIGljaCBlaW5lbiB6d2VpdGVuIE1vbml0b3IgaGVyPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdyYWZpa3dhaG5zaW5uIChHcmltbWJvcm4sICA5LiBGZWIgMjAwNCwgMjM6NTM6MjUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNzYzNjY3NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjAxNDYzOApWb24gd3d3LmViYXkuZGUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcmwgZnVlciBBbmZhZW5nZXIgKEdyaW1tYm9ybiwgMTEuIEZlYiAyMDA0LCAxMToxMTowOCk6CkRhIGljaCBXdXJzdG1hZ2llciBiaW4sIHdhZXJlIGVzIG5ldHQgd2VubiBtaXIgamVtYW5kIGVyemFlaGxlbiBrb2VubnRlIHdpZQppY2ggYXVzCmZvcigkaT0xOyRpPD0yNDskaSsrKSB7ICRqb2JzZXJ2ZXJzeyJjcyIuJGl9ID0gMDsgfQp3YXMgbWFjaGVuIGthbm4sIGRhc3Mgdm9uIDEtMjQgaG9jaHphZWhsdCwgYWJlciBkYWJlaSAyMSB1bmQgMjIgYXVzbGFlc3N0LiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBlcmwgZnVlciBBbmZhZW5nZXIgKE5vbm5lLCAxMS4gRmViIDIwMDQsIDExOjE0OjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc2NDk0MjY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzY0OTQyNjgKIyEvdXNyL2Jpbi9wZXJsIC13Cgpmb3IgKCRpPTE7ICRpPD0yNTsgJGkrKykgewogICgkaSA9PSAyMiB8fCAkaSA9PSAyMykgfHwgcHJpbnQgJGkuIlxuIjsKfSAKTm9ubmUsIGthbm4gZWlnZW50bGljaCBrZWluIFBlcmwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGVybCBmdWVyIEFuZmFlbmdlciAoT2dvLCAxMS4gRmViIDIwMDQsIDIwOjMxOjQ0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc2NDk0MjY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzY0OTQyNjgKZm9yICgkaT0xOyRpPDI1OyRpKyspIHsgIG5leHQgaWYgJGk9PTIzIG9yICRpPT0yMDtwcmludCAkaS4iXG4iO30KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGVybCBmdWVyIEFuZmFlbmdlciAoR3JpbW1ib3JuLCAxMi4gRmViIDIwMDQsIDAxOjI0OjMwKToKfiMhIHJuPU9nbyBydD0xMDc2NTI3OTA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzY0OTQyNjgKRGFua2UgZnVlciBkaWUgSGlsZmUsIGljaCBiYXN0ZWwgZGEgbW9yZ2VuIG1hbCBkcmFuIHJ1bS4KSXN0IGFiZXIgaW50ZXJlc3NhbnQsIGluIG1laW5lbSBBcnRpa2VsIHN0YW5kIGphIGV4dHJhIHdhcyBpY2ggbWl0IGRlbSBpCm1hY2hlbiB3aWxsLiBVbmQgc293b2hsIE5vbm5lIGFscyBhdWNoIE9nbyBlcnNldHplbiBkYXMgbm9uY2hhbGFudCBkdXJjaCBlaW4KcHJpbnQgKHZvbiBsZWljaHQgYWJ3ZWljaGVuZGVuIE51bW1lcm4gZ2FueiB6dSBzY2h3ZWlnZW4pLi4uIEljaCBzb2xsdGUKd2lya2xpY2ggbWVpbmUgRHJvaHVuZyB3YWhyIG1hY2hlbiB1bmQgcGVybCBsZXJuZW4sIGRhcyBtYWNodCBrZWluZW4gU3Bhc3MgaW4Kd2FzIHJ1bWZ1bW1lbG4genUgbXVlc3NlbiB3YXMgbWFuIG5pY2h0IHZlcnVyc2FjaHQgaGF0IHVuZCBuaWNodCB2ZXJzdGVodC4KV2VubiBpY2ggZGFzIGdld29sbHQgaGFldHRlIHdhZXJlIGljaCBpbiBkaWUgUG9saXRpayBnZWdhbmdlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGVybCBmdWVyIEFuZmFlbmdlciAoT2dvLCAxMi4gRmViIDIwMDQsIDAxOjI2OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc2NTQ1NDcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzY0OTQyNjgKV2VubiBkdSBkZW4gVHJhbnNmZXIgdm9uIHByaW50IHp1ICRCZWZlaGwgbmljaHQgc2NoYWZmc3QsIGRhbm4gc29sbHRlc3QgRHUKbGllYmVyIGRpZSBGaW5nZXIgdm9uIFBlcmwgbGFzc2VuLiAKCk9nbywgemFlaG5la25pcnNjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGVybCBmdWVyIEFuZmFlbmdlciAoR3JpbW1ib3JuLCAxMi4gRmViIDIwMDQsIDAxOjMxOjI2KToKfiMhIHJuPU9nbyBydD0xMDc2NTQ1NTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzY0OTQyNjgKSGFiIGljaCBoZXV0ZSBOYWNobWl0dGFnIGltIHZpZXJ0ZW4gQW5sYXVmIGdlc2NoYWZmdCwgbmFjaGRlbSBpY2ggbmljaHQgbnVyCmRpZSByaWNodGlnZW4gS2xhbW1lcm4gYW4gZGllIHJpY2h0aWdlbiBTdGVsbGVuIGdlcGFja3QgaGF0dGUsIHNvbmRlcm4gYXVjaApub2NoIGRhcyByaWNodGlnZSBTZW1pa29sb24gYXVmIGRpZSByaWNodGlnZSBTZWl0ZSBkZXIgS2xhbW1lcm4uIApVbmQgamEsIGljaCBzb2xsdGUgZGllIEZpbmdlciB2b24gcGVybCBsYXNzZW4uIEdpYiBtaXIgZGFzIGJpdHRlIHNjaHJpZnRsaWNoLAppbiBkcmVpZmFjaGVyIEF1c2Z1ZWhydW5nOiBmdWVyIG1laW5lbiBNYW5hZ2VyLCB3ZWlsIGRlcnMgbmljaHQgd2lya2xpY2gKZ2xhdWJ0LCBmdWVyIG1laW5lIEtvbGxlZ2VuLCBkaWUgYXVmZ3J1bmQgZWluZXIgZmVobGVyaGFmdGVuIFVlYmVyd2FjaHVuZwpuYWNodHMgYWxhcm1pZXJ0IHdlcmRlbiwgdW5kIGZ1ZXIgZGllIEZpcm1hLCBkaWUgZWluIFByb2pla3QgdmVyc2FlZ3QsIHdlaWwKZGllIGZlaGxlcmhhZnRlbiBXYXJudW5nZW4gaWdub3JpZXJ0IHdlcmRlbiB1bmQgZGFoZXIgZWNodGUgUHJvYmxlbWUKdWViZXJzZWhlbiB3ZXJkZW4uIFByb2Zlc3Npb25lbGxlcyBWb3JnZWhlbiBzY2hlaW50IGVyc2NocmVja2VuZCBzZWx0ZW4genUKc2VpbiwgdW5kIGFtIEVuZGUgc29sbCBpY2hzIGRhbm4gYXVzYnVlZ2Vsbi4gWndpc2NoZW4gV2Fzc2VyIGF1ZmdpZXNzZW4gdW5kClRlZWZpbHRlciBhdXMgZGVyIFRhc3NlIG5laG1lbiwgbW9lZ2xpY2hzdCwgamVkZW5mYWxscyBvaG5lIG1laW5lIG5vcm1hbGUKQXJiZWl0IHp1IGJlZWludHJhZWNodGlnZW4uIApJcmdlbmRqZW1hbmQgbWl0IGVpbmVyIFN0ZWxsZW5hdXNzY2hyZWlidW5nIGFscyBNdXNjaGVsc2FtbWxlciBhdWYgZWluZXIKU3VlZHNlZWluc2VsPyBJY2ggd2FlcmUgaW50ZXJlc3NpZXJ0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQZXJsIGZ1ZXIgQW5mYWVuZ2VyIChCYW1iaSwgMTIuIEZlYiAyMDA0LCAwOTozNDozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NjU0NTg4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc2NDk0MjY4CkljaCBrYW5uIGF1Y2gga2VpbiBQZXJsIHVuZCBpY2ggd2lsbCBhdWNoIG5pY2h0IHVuYmVkaW5ndCB3YXMgZGFtaXQgenUgdHVuCmhhYmVuLiBEYXJmIGljaCBmcmFnZW4sIGFscyB3YXMgRHUgYXJiZWl0ZXN0LCB3YXMgRGVpbmUgQXVmZ2FiZW4gYmVpIGRlbQpVbnRlcm5laG1lbiBzaW5kLCBiZWkgZGVtIER1IGFyYmVpdGVzdD8gV2llIGtvbW1lbiBkaWUgYXVmIGRpZSBJZGVlLCBEaWNoIFBlcmwKcHJvZ3JhbW1pZXJlbiB6dSBsYXNzZW4sIHdvIER1IHNjaGVpbmJhciAobmljaHRzIGdlZ2VuIERpY2gpIGVoZXIgd2VuaWcKUHJvZ3JhbW1pZXJrZW5udG5pc3NlKCopIGhhc3Q/CgooWnUgKjogWnVtaW5kZXN0IGhhYmUgaWNoIGZydWVoZXJlIEF1c3NhZ2VuIERlaW5lcnNlaXRzIHNvIGF1ZmdlZmFzc3QuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGVybCBmdWVyIEFuZmFlbmdlciAoSG91c2Vob2xkZXIsIDEzLiBGZWIgMjAwNCwgMTA6MDI6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNzY1NDU4ODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NjQ5NDI2OApFcyBzaW5kIGVpbiBwYWFyIHN0ZWxsZW4gYWxzIG11c2NoZWxzYW1tbGVyIGZyZWlnZXdvcmRlbi4gbGVpZGVyIG5pY2h0IGF1ZgplaW5lciBTdWVkc2VlaW5zZWw6IGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjg1MTQ5LDAwLmh0bWwgCnZpZWwgR2x1ZWNrIHd1ZW5zY2h0IApISAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRFZELVBsYXllciBqYW1tZWQgOiggKE1vcmdvdGgsIDE5LiBGZWIgMjAwNCwgMDg6NTI6MDkpOgpIaQoKaWNoIGhhYiBuZW4gR3J1bmRpZyBHRFYxMzAgU3RhbmRhbG9uZSBEVkQtUGxheWVyIHp1IEhhdXNlIHN0ZWhlbi4gVG9sbCBuaWNodD8KRm9sZ2VuZGVzIFByb2JsZW06CkljaCBoYWIgbWFsIGVpbiBiaXNjaGVuIG1pdCBtZWluZW4gRFZELUJyZW5uZXIgZ2VzcGllbHQgdW5kIGdldGVzdGV0LiBVbSBqZXR6dAprZWluZSBSb2hsaW5nZSB6dSB2ZXJicmF0ZW4sIGhhYiBpY2ggZGFzIG1pdCBuZW0gRFZELVJXIFJvaGxpbmcgZ2V0ZXN0ZXQuIERlbgpoYWIgaWNoIGdlc3Rlcm4gaW4gZGVuIFBsYXllciBlaW5nZWxlZ3QgdW5kIGpldHp0IHNwdWNrdCBkZXIgZGFzIERpbmcgbmljaHQKbWVociBhdXMuIEVzIHNjaGVpbnQsIGFscyBrb2VubmUgZXIgZGVuIG5pY2h0IGVpbmxlc2VuLiBFciBtYWNodCBuZW4gU3Bpbi1VcAp1bmQgcmF0dGVydCBkYW5uIGVpbiBiaXNjaGVuIGhpbiB1bmQgaGVyLCBTcGluLURvd24sIFBhdXNlLCBTcGluLVVwIHVzdy4gV2VubgppY2ggdmVyc3VjaGUgZGFzIERpbmcgYXVzenV3ZXJmZW4sIHZlcnN1Y2h0IGRlciBQbGF5ZXIgd29obCBkZW4gTGVzZWtvcGYgenUKcGFya2VuLiBEYWZ1ZXIgc3VjaHQgZXIgbmVuIEFuaGFsdHNwdW5rdCBhdWYgZGVyIERWRCwgZGVuIGVyIG5hdHVlcmxpY2ggbmljaHQKZmluZGV0LiAKRWZmZWt0IGlzdCwgZGFzcyBkaWVzZXIgYmxvZWRlIFJvaGxpbmcgZGEgbnVuIGRyaW4gaXMgdW5kIG5pY2h0IGF1c2dld29yZmVuCndpcmQuIE1hbnVlbGxlciBBdXN3dXJmIGZ1bnp0IGF1Y2ggbmljaHQsIGRhIHNpbmQga2VpbmUgTG9lY2hlciBkcmluLCB1ZWJlcgpkaWUgbWFuIGRpZSBTcGVycmUgZGVha3RpdmllcmVuIGtvZW5udGUuCkhhdCBub2NoIGVpbmVyIG5lIElkZWUsIGF1c3NlciBkYXMgVGVpbCBrb21wbGV0dCB6dSBvZWZmbmVuPwoKTSoKUC5TLjogSmEsIGljaCBoYWJlIGRhcyBNYW51YWwgZ2VsZXNlbiwgZGEgc3RlaHQgbml4IGRyaW4gOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEVkQtUGxheWVyIGphbW1lZCA6KCAoVGFyYW5pcywgMTkuIEZlYiAyMDA0LCAwODo1Nzo0MCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNzcxNzcxMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3NzE3NzEyOQpOZW4gS29sbGVnZSB2b24gbWlyIGhhdHRlIG1hbCBkYXMgZ2xlaWNoZSBQcm9ibGVtLiBFciBoYXQgZXMgZ2VzY2hhZmZ0LCBkZW4KUm9obGluZyByYXVzenVrcmllZ2VuLCBpbmRlbSBlciBkYXMgRGluZyBzdHJvbWxvcyBnZW1hY2h0IGhhdCwgdW5kIG5hY2gKV2llZGVyZWluc2NoYWx0ZW4vU3RlY2tlciB3aWVkZXIgaW4gU3RlY2tkb3NlIHN0ZWNrZW4sIGdhbnogc2NobmVsbCBhdWYgZGllCkF1c3d1cmZ0YXN0ZSB6dSBkcnVlY2tlbiwgYmV2b3IgZGVyIFBsYXllciBpcmdlbmRlaW5lbiBTcGluLVVwIG1hY2hlbiBrb25udGUuCldlaXNzIG5pY2h0LCBvYiBEdSBkYXMgc2Nob24gcHJvYmllcnQgaGFzdCwgd2VubiBuaWNodCwgd2FlcmUgZXMgdmllbGxlaWNodApuZW4gVmVyc3VjaCB3ZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEVkQtUGxheWVyIGphbW1lZCA6KCAoQW50aGVhLCAxOS4gRmViIDIwMDQsIDExOjQxOjUyKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA3NzE3NzQ2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3MTc3MTI5CkphdSwgc293YXMgaGF0IG1pdCBtZWluZW0gZ3V0ZW4gTWVkaW9uLURpbmdlbnMgKG9kZXIgVGV2aW9uPyBXYXMgYXVjaCBpbW1lcikKYXVjaCBmdW5rdGlvbmllcnQuIFNlbGJzdGdlYnJhbm50ZSBrb2VubmVuIG1hbmNobWFsIHNlbHRzYW1lIERpbmdlCnZlcnVyc2FjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVmZWt0ZSBVU0IgUGxhdHRlIGZvcm1hdGllcmVuIC4uLiAoS2V5LCAyMS4gRmViIDIwMDQsIDEwOjM2OjA2KToKSGFiZSBlaW4gUHJvYmxlbSBtaXQgZWluZXIgVVNCLVBsYXR0ZSwgdW50ZXIgV2luZG93cyBpc3Qgc2llIG5pY2h0IG1laHIgZGlyZWt0CmFuc3ByZWNoYmFyIChFL0EtRmVobGVyKS4KRGllIERhdGVuIGtvbm50ZSBpY2ggenVtIEdsdWVjayBtaXQgRmlsZXJlY292ZXJ5IHJldHRlbiwgYWJlciBudW4gd3VlcmRlIGljaApkaWUgRGF0ZW4gYXVmIGRlciBQbGF0dGUgZ2VybmUgbG9lc2NoZW4uClNpZSB3aXJkIHVtZ2V0YXVzY2h0IHVuZCBhbmRlcmUgc29sbHRlbiBrZWluZSBFaW5zaWNodCBiZWtvbW1lbiAoRmlybWVuZGF0ZW4KdW50ZXIgYW5kZXJlbSksIGtlbm50IGplbWFuZCBlaW4gUHJvZ3JhbW0gbWl0IGRlbSBpY2ggZGllIEZlc3RwbGF0dGUgenVtaW5kZXN0CmZvcm1hdGllcmVuIGthbm4/CkxlaWRlciBzY2hhZmZlbiBkYXMgd2VkZXIgZGllIFRvb2xzIHZvbiBNYXh0b3IsIG5vY2ggZW1heHggKFRvb2wgZGVyIGdsZWljaGVuCkZpcm1hIHdpZSBGaWxlUmVjb3ZlcnkpLgoKV2FlcmUgc2Nob2VuIHdlbm4gd2VyIGVpbmUgSWRlZSBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZWZla3RlIFVTQiBQbGF0dGUgZm9ybWF0aWVyZW4gLi4uIChUYXJhbmlzLCAyMS4gRmViIDIwMDQsIDEwOjU4OjI1KToKfiMhIHJuPUtleSBydD0xMDc3MzU2MTY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzczNTYxNjYKRHUga2FubnN0IHZlcnN1Y2hlbiwgZGllIFBsYXR0ZSB1bnRlciBMaW51eCAoei5CLiBtaXQgS25vcHBpeCkgbWl0IGRkIG1pdApOdWxsZW4vUmFuZG9tbXVlbGwgenUgdWViZXJzY2hyZWliZW4sIGFiZXIgZGFzIGdlaHQgaGFsdCBudXIsIHdlbm4gZGFzIERpbmcKbmljaHQgdm9lbGxpZyBoaW51ZWJlciBpc3QuIFdlbm4gYWJlciBudXIgZWluemVsbmUgU2VrdG9yZW4gbmljaHQgbWVociBnZWxlc2VuCndlcmRlbiBrb2VubmVuLCBtdWVzc3RlIGVzIGdlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZWZla3RlIFVTQiBQbGF0dGUgZm9ybWF0aWVyZW4gLi4uIChLZXksIDIxLiBGZWIgMjAwNCwgMTE6Mjg6MjIpOgp+IyEgcm49VGFyYW5pcyBydD0xMDc3MzU3NTA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzczNTYxNjYKQXJnIC4uIGpldHp0IHdlaXNzIGljaCBuaWNodCBvYiBpY2ggbWljaCBmcmV1ZW4gc29sbCBvZGVyIG5pY2h0LgpIYWIgc2llIHVudGVyIExpbnV4IG9obmUgUHJvYmxlbWUgYW5zcHJlY2hlbiBrb2VubmVuIC4uLiBobW0ga29taXNjaCBpY2ggaGF0dGUKd2FzIGFuZGVyZXMgZXJ3YXJ0ZXQuCkFsc28gbm9jaG1hbCB1bnRlciBXaW5kb3dzIC4uLiBzaWVoZSBkYSwgc2llIGZ1bmt0aW9uaWVydCB3aWVkZXIgcGVyZmVrdC4KTnVyIC4uLiB3YXMgbWFjaCBpY2ggamV0enQ/IERlciBNQXh0b3IgU3VwcG9ydCBrYW5udGUgZGVuIEZlaGxlciB1bmQgZXMga2xhbmcKc2VociBuYWNoIEhhcmR3YXJlICh3b2xsdGVuIHNvZm9ydCB1bXRhdXNjaGVuKS4KRnVlciBtaWNoIHNpZWh0IGVzIGpldHp0IGFiZXIgbmFjaCBlaW5lbSBGZWhsZXIgZGVzIERhdGVpc3lzdGVtcyBhdXMgLi4uCmJlaGFsdCBpY2ggZGllIFBsYXR0ZSB1bmQgcmlza2llciB3aWVkZXIgZXR3YXMgYWVobmxpY2hlcywgb2RlciBzY2hpY2tlIGljaApkaWUgc2NoZWluYmFyIGVpbndhbmRmcmVpZSBQbGF0dGUgZWluPwoKRGFua2UgYWJlciBzY2hvbm1hbCBmdWVyIGRlbiBUaXAgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlZmVrdGUgVVNCIFBsYXR0ZSBmb3JtYXRpZXJlbiAuLi4gKEdyaW1tYm9ybiwgMjEuIEZlYiAyMDA0LCAxMTo1MTozMyk6Cn4jISBybj1LZXkgcnQ9MTA3NzM1OTMwMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3MzU2MTY2ClNjaHJlaWIgZGVuZW4gZG9jaCBlaW5lbiBuZXR0ZW4gQnJpZWY6ICJXYXMgZ2VidCBpaHIgbWlyIGRhZnVlciwgd2VubiBpY2ggZXVjaAplaW5lIGtvc3RzcGllbGlnZSBVbXRhdXNjaGFrdGlvbiBlcnNwYXJlbiBrYW5uPyIKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmx1ZUZyaXR6ISBBUCBJU0ROIChTZWViZWUsIDIzLiBGZWIgMjAwNCwgMTk6MDc6MzMpOgpGb2xnZW5kZXMgUHJvYmxlbToKV2lyIGhhYmVuIGhpZXIgZWluZW4gQmx1ZWZyaXR6IEFQIElTRE4gKGRpZXNlIE1pbmlhdXNnYWJlKSB1bmQgMiBVU0IgQmx1ZXRvb3RoCkNsaWVudHMgKGJlaWRlIGF1Y2ggbWFsIHZvcnNpY2h0c2hhbGJlciB2b24gRnJpdHohKQpBbSBBbmZhbmcgZ2FicyB6d2FyIGVpbiBwYWFyIFNjaHdpZXJpZ2tlaXRlbiB1bmQgZGVyIEFQIHNjaGVpbnQgdW50ZXJzY2h3ZWxsaWcKbWl0IE1pY3Jvc29mdCB6dSBzeW1wYXJ0aWVyZW4gKGhhZW5ndCBzaWNoIGFiIHVuZCBhbiB1bm1vdGl2aWVydCBhdWYpLCBhYmVyCmlyZ2VuZHdpZSBsaWVmcy4gTnVuIGhhdCBtZWluIFdvaG51bmdzZ2Vub3NzZSBtaXQgZGVtIHp3ZWl0ZW4gQmxhdXphaG4gZXMKaXJnZW5kd2llIGdlc2NoYWZmdCwgZGVuIFN0aWNrIHp1IHNjaHJvdHRlbi4gRGEgZXIgZWluZSBBcnQgbWVuc2NobGljaGVyIEVNUAppc3QsIHd1bmRlcnQgbWljaCBkYXMgYWxsZXMgbmljaHQgbWVoci4KRGVyIG5ldWUgU3RpY2ssIGRlbiBlciBzaWNoIG51biBnZWhvbHQgaGF0LCB3aWxsIGFiZXIgc28gdWViZXJoYXVwdCBuaWNodCBtaXQKZGVtIEFQIHp1c2FtbWVuYXJiZWl0ZW4uIEZlaGxlcm1lbGR1bmc6ICJWZXJiaW5kdW5nIHdlZ2VuIFJlc3NvdXJjZW5tYW5nZWwKYWJnZWxlaG50Ii4gVW5kIGRhcyBzY2hvbiBiZWkgZGVyIFVlYmVycHJ1ZWZ1bmcsIG9obmUgZWluZSBlY2h0ZSBWZXJiaW5kdW5nCnVlYmVyIFBBTiBvZGVyIENJUCBhdWZiYXVlbiB6dSB3b2xsZW4uCgpLZW5udCBkYXMgd2VyPwpWb3JzY2hsYWVnZT8KCkFQIHd1cmRlIGJlYXJiZWl0ZXQsIGJlcmVkZXQgdW5kIHNjaGxpZXNzbGljaCBhdWYgV2Vya3NlaW5zdGVsbHVuZ2VuIG1pdCAiaWNoCmxhc3MgYWxsZXMgcmF1ZiIgenVydWVja2dlc2V0enQuIE9obmUgRXJmb2xnLgoKKkhhYXJlIHJhdWZlbmQqCgotIHNlZWJlZSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZXJ2ZXIgdW5kIEFyYmVpdHNncnVwcGUgd2VjaHNlbG4gKEphbWVzb24sIDI0LiBGZWIgMjAwNCwgMTk6Mzg6MjUpOgpJY2ggaGFiIGhpZXIgZWluZW4gVzJrIEFkdmFuY2VkIFNlcnZlciBzdGVoZW4sIGRlciBpbiBlaW5lIGFuZGVyZQpBcmJlaXRzZ3J1cHBlIHNvbGwuIEphLCBBcmJlaXRzZ3J1cHBlLCBuaWNodCBEb21haW4uIEVzIHdhZXJlIHppZW1saWNoIGRvb2YsCndlbm4gZGVyIG5ldSBhdWZnZXNldHp0IHdlcmRlbiBtdWVzc3RlLCB1bmQgZGEgZXIgZWJlbiBlaW4gRG9tYWVuZW5jb250cm9sbGVyCmlzdCwgc3RlbGx0IGVyIGRpZSBPcHRpb24genVtIFdlY2hzZWxuIG5pY2h0IHp1ciBWZXJmdWVndW5nLiBHaWJ0IGVzIGVpbmVuCldlZywgZWluIFRvb2wsIHdhcyBhdWNoIGltbWVyLCB1bSBkYXMgZG9jaCBpcmdlbmR3aWUgenUgYmV3ZXJrc3RlbGxpZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lraSAoWm9vaywgMjYuIEZlYiAyMDA0LCAwOToyNjozOCk6Ck5hY2hkZW0gZXMgamEgc2NoZWluYmFyIGluIGRlciBUYWdlc3NjaGF1IGxpZWYsIGhpZXIgbWFsIGVpbmUgRnJhZ2U6IEhhdApqZW1hbmQgRXJmYWhydW5nZW4gbWl0IGRlbSBFaW5zYXogKG9kZXIgZGVyIEVpbmZ1ZWhydW5nKSB2b24gV2lraSBpbiAKVW50ZXJuZWhtZW4gKGFtIGJlc3RlbiBrbGVpbmUgdW5kIG1pdHRsZXJlIFVudGVybmVobWVuKT8gS2FubiBtaXIgZGEgamVtYW5kCndhcyB6dSBiZXJpY2h0ZW4/IAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWtpIChNdWFkaWIsIDI2LiBGZWIgMjAwNCwgMTA6NDE6NDkpOgp+IyEgcm49Wm9vayBydD0xMDc3NzgzOTk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzc3ODM5OTgKZWluIGd1dGVyIGFuc2F0eiBpc3QgZWluZSBncnVwcGUgZHJhbnp1c2V0emVuIGRpZSBzaWNoIGVpbmFyYmVpdGV0IHVuZCBlaW5lbgplcnN0ZW4gd3VyZiBuYWNoIGlocmVuIHZvcnN0ZWxsdW5nZW4gZW50d2lja2VsdC4gZGllc2Ugdm9yc3RlbGx1bmdlbiBzb2xsdGVuCm51ciBsb3NlIG1pdCBkZW4gYW5mb3JkZXJ1bmdlbiBrb3JyZWxpZXJ0IHNlaW4uCgpiZXNvbmRlcnMgd2ljaHRpZyBpc3QgZXMgZGllc2VuIGVyc3RlbiB3dXJmIGdlZ2VuIGplZ2xpY2hlbiB3aWRlcnN0YW5kIGRlcgplbnR3aWNrZWxuZGVuIGdydXBwZSBlaW56dXN0YW1wZmVuLiB1bmQgendhciBzcGFldGVzdGVucyAzIG1vbmF0ZSBuYWNoZGVtIGRpZQpmdW5rdGlvbnNlcmtsYWVydW5nIGVyZm9sZ3RlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWtpIChNdWFkaWIsIDI2LiBGZWIgMjAwNCwgMTA6NDM6NDEpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzc3ODg1MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3Nzc4Mzk5OAp1bmQgYW5zY2hsaWVzc2VuZCBzb2xsdGUgbWFuIHNpY2ggZW5kbGljaCB1ZWJlcmxlZ2VuIHdhcyBtYW4gZWlnZW50bGljaCB3b3p1CndpbGwgdW5kIGRpZXMgdmVyYmluZGxpY2ggZmVzdGhhbHRlbiB1bmQgY2hhbmdlcyBiaXMgYXVmIHdpcmtsaWNoIGtyaXRpc2NoZQp3ZWxjaGUgdmVyYmluZGxpY2ggYXVzc2NobGllc3NlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2lraSAoQmFtYmksIDI2LiBGZWIgMjAwNCwgMTY6MzQ6MDUpOgp+IyEgcm49TXVhZGliIHJ0PTEwNzc3ODg2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3Nzc4Mzk5OApXYXMgaGVpc3N0IFdpa2kgZWlnZW50bGljaD8gRnVlciAiV2lydHNjaGFmdHNrcmlzZSIgZmVobHQgbWlyIGRhIGVpbiAiciIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaWtpIChNdWFkaWIsIDI2LiBGZWIgMjAwNCwgMTY6NDA6NTUpOgp+IyEgcm49QmFtYmkgcnQ9MTA3NzgwOTY0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3NzgzOTk4CmVpbiBjb250ZW50IG1hbmFnZW1lbnQgc3lzdGVtCmRlciBuYW1lIGtvbW10IHZvbSBoYXdhaWlhbmlzY2hlbiB3aWtpIHdpa2kgd2FzIHNjaG5lbGwgYmVkZXV0ZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpa2kgKFJvbmRhLCAyNi4gRmViIDIwMDQsIDIxOjM1OjEyKToKfiMhIHJuPU11YWRpYiBydD0xMDc3ODEwMDU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzc3ODM5OTgKTmFqYS4uLiB3aWUgc2Nob24gYXVmIEFsbGdlbWVpbiBnZXNhZ3QgLSBlaW4gV2lraSBtaXQgbmVtIENvbnRlbnQgTWFuYWdlbWVudApTeXN0ZW0genUgdmVyZ2xlaWNoZW4gaXN0IGZ1ZXIgbWljaCwgd2llIGVpbmUgUGlubndhbmQgbWl0IGVpbmVyIFplaXR1bmcgenUKdmVyZ2xlaWNoZW4uLi4gSmVkZXMgZGVyIGJlaWRlbiBoYXQgc2VpbmUgZWlnZW5lIEJlcmVjaHRpZ3VuZywgYWJlciBzaWUKZHVyY2hlaW5hbmRlciB6dSB3ZXJmZW4sIGlzdCBJTUhPIG5pY2h0IHNvb29vIHNpbm52b2xsLgoKUm9uZGEgKndldHRldCAxMDAgc2VsYnN0Z2VjbG9udGUgTXVlbnplbiwgZGFzcyBlcyBrZWluZSB3aXJrbGljaCBpbgpVbnRlcm5laG1lbiBsYW5nZnJpc3RpZyBwcm9kdWt0aXYgZ2VudXR6dGVuIFdpa2kgZ2ViZW4gd2lyZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpa2kgKFpvb2ssIDI2LiBGZWIgMjAwNCwgMjE6NDY6MzUpOgp+IyEgcm49Um9uZGEgcnQ9MTA3NzgyNzcxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3NzgzOTk4CkljaCBoYWIgbWFsIG5lbiBQYXBpZXIgdm9uIGRlciBFVEggWnVlcmljaCBpbiBkZXIgSGFuZCBnZWhhYnQsIGRhIHdhcmVuCmVpbmlnZSBDYXNlIFN0dWRpZXMgbWl0IFVudGVybmVobWVuIGRyaW4uIAoKWm9vay4KClBTOiBhZCBsYW5nZnJpc3RpZzogIkluIHRoZSBsb25nIHJ1biB3ZSBhcmUgYWxsIGRlYWQuIiAtLSBKLiBNLiBLZXluZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpa2kgKE1vbnRhbnVzLCAyNi4gRmViIDIwMDQsIDIxOjQ5OjUzKToKfiMhIHJuPVpvb2sgcnQ9MTA3NzgyODM5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3NzgzOTk4CmFkIEtleW5lczogV2VyIEFuZ3N0IHZvcm0gU3RlcmJlbiBoYXQsIGRlciBzb2xsdGUgZ2FyIG5pY2h0IGVyc3QgbWl0IGRlbQpnZWJvcmVud2VyZGVuIGFuZmFuZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2lraSAoUm9uZGEsIDI2LiBGZWIgMjAwNCwgMjE6NTU6MjcpOgp+IyEgcm49Wm9vayBydD0xMDc3ODI4Mzk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzc3ODM5OTgKSmEsIGljaCBoYWJlIGF1Y2ggc2Nob24gdmllbGUgbmV0dCBhdXNzZWhlbmRlIFBhcGllcmUgaW4gZGVyIEhhbmQgZ2VoYWJ0LgpUb2xsZSBLb256ZXB0ZSwgd3VuZGVyc2Nob2VuZSBCaWxkY2hlbiwgbmV0dGUgSWRlZW4uIEFiZXI6IHp3aXNjaGVuIGRpZXNlbgpLb256ZXB0ZW4gdW5kIHByYXhpc3RhdWdsaWNoZW4gTG9lc3VuZ2VuIGdpYnQgZXMgaGFldWZpZyBnZXdpc3NlLi4uIEFic3RhZW5kZS4KCk5vY2htYWwgbWVpbmUgQmVkZW5rZW4gZ2VnZW4gV2lraXMgaW4gVW50ZXJuZWhtZW46IERpZSBBdXRvcmVuIGRlcyBDb250ZW50Cm11ZXNzZW4gZGF6dSBiZXJlaXQgc2VpbiwgbGFuZ2ZyaXN0aWcgYWt0aXYgSW5oYWx0ZSB6dSBwZmxlZ2VuLiBEaWVzIGlzdCBuYWNoCmt1cnplciBaZWl0IGVyc3RhdW5saWNoIGF1ZndhZW5kaWcsIGRpZSBWZXJhbnR3b3J0bGljaGVuIHdlcmRlbiB2b20gbm9ybWFsZW4KVGFnZXNnZXNjaGFlZnQgZGF2b24gYWJnZWhhbHRlbiwgbGFuZ2ZyaXN0aWcgVmVyYW50d29ydHVuZyBmdWVyICJpaHJlbiIKQ29udGVudCB6dSB1ZWJlcm5laG1lbi4gQXVzc2VyIGRpZSBQZmxlZ2UgZGVzIEluaGFsdHMgaXN0IFRlaWwgaWhyZXMgSm9icyB1bmQKd2lyZCBlbnRzcHJlY2hlbmQgaG9ub3JpZXJ0IG9kZXIgbWFuZ2VsbmRlIFBmbGVnZSBzYW5rdGlvbmllcnQuCgpEaWVzIGxhZXNzdCBzaWNoIC0gd2llIGltbWVyIElNSE8gLSBiZWkga2xhciBhYmdlc3RlY2t0ZW4gU3lzdGVtZW4gYSBsYQoiZWNodGVuIENNUyIgbWl0IFJlY2h0ZXN5c3RlbWVuIGV0Yy4gYmVzc2VyIGhhbmRoYWJlbiwgYWxzIGJlaSBlaGVyICJjaGFvdGlzY2gKd2FjaHNlbmRlbiIgV2lraS4KCkFsbGVzIGRhcyBiZXpvZ2VuIGF1ZiBkZW4gZWNodGVuIFVudGVybmVobWVuc2VpbnNhdHosIGRlciBtYXNzaXYgQXVmd2FuZApiZWRldXRldCB1bmQga29zdGVuaW50ZW5zaXYgaXN0LiBCZWkgT3BlblNvdXJjZS1Qcm9qZWt0ZW4sCkludGVybmV0LVdpc3NlbnNzeXN0ZW1lbiBldGMuIG1hZyBkYXMgZ2FueiBhbmRlcnMgc2Vpbi4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXaWtpIChab29rLCAyNi4gRmViIDIwMDQsIDIxOjU2OjM2KToKfiMhIHJuPVJvbmRhIHJ0PTEwNzc4Mjg5Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA3Nzc4Mzk5OApPaywgaWNoIHNhZyBtYWwgc286IEVzIHdhcmVuIEZhbGxzdHVkaWVuIHRhdHNhZWNobGljaGVuIEVpbnNhdHplcyBkb3J0CmFiZ2VkcnVja3QuIAoKWm9vawoKUFM6IFdhcnMgYXVmIGRldXRzY2ggdmVyc3RhZW5kbGljaGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2lraSAoUm9uZGEsIDI2LiBGZWIgMjAwNCwgMjI6MDI6MzUpOgp+IyEgcm49Wm9vayBydD0xMDc3ODI4OTk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzc3ODM5OTgKT2ggbWVpbiBHb3R0LiBKYSwgaWNoIGhhdHRlIERlaW4gRGV1dHNjaCB2ZXJzdGFuZGVuLiBKYSwgaWNoIGhhYmUgYXVjaCBzY2hvbgp0b2xsZSBQYXBpZXJlIHVlYmVyIGRlbiAidGF0c2FlY2hsaWNoZW4gRWluc2F0eiIgdG9sbGVyIFN5c3RlbWUgZ2VzZWhlbi4gVW5kCmJlaSBlaW5pZ2VuIGRhdm9uIHdlaXNzIGljaCwgZGFzcyBzaWUgenUgZGVtIFplaXRwdW5rdCBiZXJlaXRzIG1hdXNldG90IHdhcmVuLgpCZXNvbmRlcnMgaGFldWZpZyB1ZWJyaWdlbnMgaW0gWnVzYW1tZW5oYW5nIG1pdCB1bml2ZXJzaXRhZXIgZ2V0cmllYmVuZW4KUHJvamVrdGVuL1N5c3RlbWVuIHVuZCBkZXJlbiBFcnByb2J1bmcgaW4gVW50ZXJuZWhtZW4uCgpBdWNoIG1hbCBhdWYgRGV1dHNjaDogSWNoIG1hZyBXaWtpLiBJY2ggZmluZGUgZGllIElkZWUgZ2VuaWFsLiBJY2ggd2FlcmUgc2VocgppbnRlcmVzc2llcnQgZGFyYW4sIGRpZXNlcyBQYXBpZXIgbGVzZW4genUgZHVlcmZlbiAtIGtlaW5lIElyb25pZS4gVW5kIGljaApmYWVuZGUgZXMgc2VociBzcGFubmVuZCwgbWlyIGRhcyBpbiBSZWFsaXRhZXQgaW0gVW50ZXJuZWhtZW4gYW5zZWhlbiB6dQprb2VubmVuLiBBYmVyIGljaCBiZXp3ZWlmbGUgdHJvdHpkZW0sIGRhc3MgZWluIFdpa2kgZGVyIGdlZWlnbmV0ZSBXZWcgaXN0LApVbnRlcm5laG1lbnNpbmZvcm1hdGlvbmVuIGF1Znp1YmVyZWl0ZW4gdW5kIGRlbiBNaXRhcmJlaXRlcm4gYmVyZWl0IHp1CnN0ZWxsZW4uIERhZnVlciBpc3QgZWluIHNvbGNoZXMgUHJvamVrdCBlaW5mYWNoIHZpZWwgenUgdGV1ZXIsIHdlbm4gbWFuCmVocmxpY2ggZGllIEtvc3RlbiBiZXRyYWNodGV0LgoKUm9uZGEgKmJlaSBkZW0gVGhlbWEgc2ljaGVyIGV0d2FzIHN0dXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2lraSAoUGF0cnluLCAyNi4gRmViIDIwMDQsIDIyOjE5OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTA3Nzc4Mzk5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDc3NzgzOTk4CmphIHdpciwgbGFldWZ0IHN1cGVyLgphbGxlIGluZm9ybWF0aW9uZW4gamV3ZWlscyAzIG1hbCBhbiB4IHN0ZWxsZW4sIGNoYW9zIHB1ciAqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlYWxPbmVQbGF5ZXIgKE1haGFyZXQsIDE5LiBNYXIgMjAwNCwgMTg6Mzg6MTUpOgpJY2ggYnJhdWNoIG1hbCBIaWxmZSB2b24gTGV1dGVuLCBkaWUgd2FzIHZvbiBUZWNobmlrIHZlcnN0ZWhlbi4KSWNoIHZlcnN1Y2hlLCBtaXQgSGlsZmUgZGVzIFJlYWxQbGF5ZXJzLCBkZXIgamEgamV0enQgUmVhbE9uZVBsYXllciBoZWlzc3QsCkZpbG1jaGVuIChuZWluLCBuaWNodCBkaWUgc2NobXV0emlnZW4pIGF1cyBkZW0gSW50ZXJuZXQgenUgc2VoZW4uICBFcyBoYW5kZWx0CnNpY2ggdW0gcm0tRGF0ZWllbi4gIEljaCBrcmllZyBkaWUgendhciBnZXN0YXJ0ZXQgdW5kIGFiZ2VzcGllbHQsIGFiZXIgZXMKZmxhY2tlcnQgamVkZXMgQmlsZCBudXIgZWlubWFsIGt1cnogYXVmLiAgRXMgZW50c3RlaHQga2VpbiB6dXNhbW1lbmhhZW5nZW5kZXIKRmlsbSwgYWxzIG9iIHp1IGxhbmdzYW0gZ2VibGFldHRlcnQgd2lyZC4gIEljaCBoYWIga2VpbmUgQWhudW5nLCB3byBpY2ggZGEgd2FzCndpZSBlaW5zdGVsbGVuIGtvZW5udGUuCkhhdCB3ZXIgbmVuIFRpcHAgZnVlciBtaWNoPwoKRGFua2UsIE1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWFsT25lUGxheWVyIChDYXR3ZWF6bGUsIDE5LiBNYXIgMjAwNCwgMTk6MDI6MTApOgp+IyEgcm49TWFoYXJldCBydD0xMDc5NzE3ODk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwNzk3MTc4OTUKQWJlciBhdWNoIG51cm4gVGlwcC4gS2xpbmd0IGRhbmFjaCwgYWxzIHdlbm4gZGVyIFN0cmVhbSBmdWVyIGRpY2ggenUgc2NobmVsbAphbmtvbW10LiAKClRpcHAgMTogVmVyc3VjaCBkYXMgcm0gZXJzdCB6dSBzcGVpY2hlcm4KVGlwcCAyOiBEcmVoIGRlbiBCdWZmZXIgaG9jaC4KICAgICAgICB0b29scy0+cHJlZmVyZW5jZXMtPkNvbm5lY3Rpb24tPlBsYXliYWNrIFNldHRpbmdzCiAgICAgICAgRGEgYW4gRWluc3RlbGx1bmdlbiBzcGllbGVuIChTb2ZvcnRwbGF5YmFjayBhdXMsIGJ1ZmZlcnNlYyBob2NoKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGF0aXN0aWsgU29mdHdhcmUgKFpvb2ssIDIxLiBNYXIgMjAwNCwgMDA6MjA6NDQpOgpLZW5udCBqZW1hbmQgIlIiIGJ6dy4gaGF0IGRhbWl0IGdlYXJiZWl0ZXQgdW5kIGthbm4gbWlyIGV2dGwuIGVpbiB3ZW5pZwpldHdhcyB1ZWJlciBzZWluZSBFcmZhaHJ1bmdlbiBiZXJpY2h0ZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ3VlbnN0aWc/IChDYXR3ZWF6bGUsIDI1LiBNYXIgMjAwNCwgMTU6MDg6MzMpOgoKaHR0cDovL3d3dy5zaGlmdHljYXJ0LmRlL2EucGhwL3Nob3AvbGFwc3RvcmUvYS81NjMva3cvSUJNLVRoaW5rcGFkLVQyMC0tLURWRC1DCkRSVwoKSXN0IGRhcyBndWVuc3RpZyBvZGVyIGd1dD8KSWNoIGtlbm4gbWljaCBtaXQgVmVyZ2xlaWNoc3ByZWlzZW4gbmljaHQgc28gYXVzIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZ3VlbnN0aWc/IChPZ28sIDI1LiBNYXIgMjAwNCwgMTU6MzA6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODAyMjM3MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDIyMzcxMwpUaGlua3BhZHMgaGFiZW4gdWVibGljaGVyd2Vpc2UgZWluZW4gaG9laGVyZW4gV2llZGVydmVya2F1ZnN3ZXJ0IGFscyBkaXZlcnNlCmFuZGVyZW4gTGFwdG9wcy4gTmljaHRzZGVzdG90cm90eiBpc3QgZWluIFAzIDcwMCBzY2hvbiBlaW4gYmlzc2NoZW4KYW5nZXN0YXVidCwgd2FzIGFscyBzb2xjaGVzIG5pY2h0IHNvIHNjaGxpbW0gaXN0LCBhYmVyIGdnZiBhdWYgZGFzIEFsdGVyIGRlcwpBa2t1cyBzY2hsaWVzc2VuIGxhZXNzdC4gQmVpIGRlbSBQcmVpcyB3dWVyZGUgaWNoIGZyYWdlbiwgb2IgZWluIG5ldWVyIEFra3UKbWl0IGRyaW4gaXN0Li4uIApJY2gga2VubmUgZGVpbmVuIFByZWlzcmFobWVuIG5pY2h0LCB3dWVyZGUgYWJlciBlaGVyIGZ1ZXIgOTAwRVVSIGVpbiBuZXVlcwpUaGlua3BhZCBrYXVmZW4sIGFscyBmdWVyIDYwMCBFVVIgZWluIHNvIGFsdGVzLiAKCkp1c3QgbXkgMiBDZW50IApPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ3VlbnN0aWc/IChDYXR3ZWF6bGUsIDI1LiBNYXIgMjAwNCwgMTU6MzQ6MzcpOgp+IyEgcm49T2dvIHJ0PTEwODAyMjUwMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDIyMzcxMwpLYW5uc3QgZHUgd2FzIGFuZGVyZXMgdm9uIGRlciBTZWl0ZSBlbXBmZWhsZW4/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbmRvd3MgU3VjaGZ1bmt0aW9uIChCYW1iaSwgMjcuIE1hciAyMDA0LCAxMzowMDo1MSk6CkhpLgpJY2ggbW9lY2h0ZSBtaXQgZGVyIFdpbmRvd3MtU3VjaGZ1bmt0aW9uIERhdGVpZW4gbmFjaCBTdWNoYmVncmlmZmVuCmR1cmNoc3VjaGVuLCBkaWUgLmMtRW5kdW5nIGJlc2l0emVuLiBJY2ggaGFiZSBhYmVyIGRhcyBnZWZ1ZWhsLCBkYXNzICBudXIgZGllCi50eHQtRGFlaWVuIGFuZ2VzZWhlbiB3ZXJkZW4uIEJlaSBkZXIgU3VjaGUga2FubiBpY2ggendhciBlaW5lIERhdGVpZW5kdW5nCmFuZ2ViZW4sIGRpZXMgYmV3aXJrdCBkZXJ6ZWl0IGFiZXIgbnVyLCBkYXNzIGVyIGF1Y2ggZGllIC50eHQtRGF0ZWllbiBuaWNodAptZWhyIGR1cmNoc3VjaHQuIFdlaXNzIGRhIGplbWFuZCBBYmhpbGZlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbmRvd3MgU3VjaGZ1bmt0aW9uIChXaWxsb3csIDI3LiBNYXIgMjAwNCwgMTM6MDE6NTcpOgp+IyEgcm49QmFtYmkgcnQ9MTA4MDM4ODg1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg4ODUxCmhtbW0uLi4gZGVuIGZpbGUtY29tbWFuZGVyIHZlcndlbmRlbj8KZGFzIHdlaWRlcmwgYmVudXR6dCBkZW4gaW1tZXIgenVtIHN1Y2hlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFiZWxsZW5rYWxrdWxhdGlvbiBlaW5lcyBSZWRtb25kZXIgU29mdHdhcmVyaWVzZW4uLi4gKEFuYXRvbCwgMjcuIE1hciAyMDA0LCAxMzowNDo1OSk6CkljaCBoYWJlIGVpbiBrbGVpbmVzIFByb2JsZW0gbWl0IE1pLi4ucy5mdCBFeC5lbC4gSWNoIG1vZWNodGUgdmllbGUgRGF0ZW4KZ3JhZmlzY2ggYXVmbW90emVuLCBsZWlkZXIgZ2lidCBkaWUgRGlhZ3JhbW0tRnVua3Rpb24gbmljaHQgZ2FueiBkYXMgaGVyLAp3YXMgaWNoIGJyYXVjaGU6CgpJY2ggbW9lY2h0ZSAzRC1TYWV1bGVuIGluIGRyZWkgRGltZW5zaW9uZW4sIGRpZSBEYXRlbiBzaW5kIHouQi4KTW9udGFnOiBBOjUgQjo2IEM6NyBEOjgKRGllbnN0YWc6IEE6NiBCOjcgQzo4IEQ6MTAKLi4uCgpTbyB3ZWl0LCBzbyBndXQsIGRhcyBrYW5uIGRhcyBEaWFncmFtbWRpbmdzIG5vY2ggYXV0b21hdGlzY2guIEpldHp0IHplcmZhbGxlbgphYmVyIGRpZSBBLCBCLCBDLVdlcnRlIG5vY2htYWxzLCBkLmguIGljaCBtb2VjaHRlIF9nZXN0YXBlbHRlXyAzRC1TYWV1bGVuCmluIGRyZWkgRGltZW5zaW9uZW4uIFVuZCBkYSBzY2hlaWRlbiBzaWNoIGlyZ2VuZHdpZSBkaWUgR2Vpc3Rlci4uLgoKQW55IGlkZWFzPwoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKFZhbmlvbiwgMjcuIE1hciAyMDA0LCAxMzo0MToxMSk6Cn4jISBybj1CYW1iaSBydD0xMDgwMzg4ODUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKV2FzIGF1Y2ggZ3V0IGZ1bmt0aW9uaWVydCBzaW5kIGRpZSBEdXJjaHN1Y2hmdW5rdGlvbmVuIGRlcyBUZXh0cGFkLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKE11YWRpYiwgMjcuIE1hciAyMDA0LCAxNjoxOTozNik6Cn4jISBybj1XaWxsb3cgcnQ9MTA4MDM4ODkxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg4ODUxCndlbm4gZHUgZW50aGFsdGVuZW4gdGV4dCBpbiBiZXN0aW1tdGVuIGRhdGVpZW4gc3VjaGVuIG1vZWNodGVzdCBvaG5lCnZlcndlbmR1bmcgdm9uIHJlZ3VsYWVyZW4gYXVzZHJ1ZWNrZW4gZ2VodCBkYXMgaW1obyBub2NoIGVpbmlnZXJtYXNzZW4gZ3V0IG1pdApkZXIgc3RhbmRhcmRzdWNoZS4gZnVlciBhbGxlcyB3YXMgYXVjaCBudXIgZWluIGJpc3NjaGVuIGRhcnVlYmVyIGhpbmF1c2dlaHQKd3VlcmQgaWNoIGFuZGVyZSB0b29scyB2ZXJ3ZW5kZW4uIAp6dW0gYmVpc3BpZWwgZGllIFVueFV0aWxzIG9kZXIgd2VubiBlcyBudXIgc3VjaGVuIHNlaW4gc29sbCBrYW5uIG1hbiBhdWNoCnZpZWxlIGVkaXRvcmVuIHZlcndlbmRlbiB3aWUgemIgVGV4dFBhZCB1bmQgYWVobmxpY2hlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKEJpZWxlZmVsZCwgMjcuIE1hciAyMDA0LCAxODowNTozOCk6Cn4jISBybj1CYW1iaSBydD0xMDgwMzg4ODUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKRXMgZ2lidCBlaW4gR3JlcCBmdWVyIERPUy4uLiBzZWhyIGVtcGZlaGxlbnN3ZXJ0IQoKLUJpZWxlZmVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhYmVsbGVua2Fsa3VsYXRpb24gZWluZXMgUmVkbW9uZGVyIFNvZnR3YXJlcmllc2VuLi4uIChab29rLCAyNy4gTWFyIDIwMDQsIDE5OjI2OjE3KToKfiMhIHJuPUFuYXRvbCBydD0xMDgwMzg5MDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODkwOTkKQWxzbywgd2llIGRhcyBpbiBSIGdpbmcgdW5kIHdpZSBtYW4gZGFubiBkaWUgQXVzZ2FiZSBzY2hpY2sgaW4gbmVuCkxhVGVYLURva3VtZW50IGVpbmdlYnVuZGVuIGJla2FlbWUsIGRhcyBrb2VubnRlIGljaCBEaXIgbnVuIHNhZ2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYWJlbGxlbmthbGt1bGF0aW9uIGVpbmVzIFJlZG1vbmRlciBTb2Z0d2FyZXJpZXNlbi4uLiAoTXVhZGliLCAyNy4gTWFyIDIwMDQsIDE5OjM1OjQwKToKfiMhIHJuPUFuYXRvbCBydD0xMDgwMzg5MDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODkwOTkKaWNoIGJpbiBlaW4gZXh6ZWxsZW50ZXIgZXhjZWx2ZXJtZWlkZXIgc29ycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGFiZWxsZW5rYWxrdWxhdGlvbiBlaW5lcyBSZWRtb25kZXIgU29mdHdhcmVyaWVzZW4uLi4gKEFuYXRvbCwgMjcuIE1hciAyMDA0LCAxOTo1NDo0MCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA4MDQxMjU0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg5MDk5CkljaCBoYWJlIGRpZSBXYWhsIGxlaWRlciBuaWNodC4gOykgSW56d2lzY2hlbiBtdXNzIGljaCBzb2dhciBpbiBkZXIgClNwcmFjaGUgZGVzIFRldWZlbHMgTWFrcm9zIHNjaHJlaWJlbi4gTGFyaW5jaGVuIGhhdCBzaWNoIGFtIFRlbGVmb24KYXVzZ2VzY2h1ZXR0ZXQgdm9yIExhY2hlbiBhbHMgaWNoIGRhcyBpbiBlaW5lbSBOZWJlbnNhdHogYXVzIFZlcnNlaGVuCmVyd2FlaG50IGhhYmUuLi4KCkFsc28sIGZhbGxzIGplbWFuZCBlaW5lIExvZXN1bmcgaGF0PyBFLmNlbCBrYW5uIHN0YW5kYXJkbWFlc3NpZyAKZW50d2VkZXIgU2FldWxlbnN0YXBlbGRpYWdyYW1tZSBvZGVyIFNhZXVsZW5mZWxkZXIsIGFiZXIgbmljaHQKYmVpZGVzIGdsZWljaHplaXRpZy4gVW5kIGljaCBicmF1Y2hlIGhhbHQgZWluIEZlbGQgbWl0IFNhZXVsZW4tCnN0YXBlbC4uLiA6bykKCkFuYXRvbCAoZ2FueiBkZXIgWmF1Ymk6IGphbW1lcnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUYWJlbGxlbmthbGt1bGF0aW9uIGVpbmVzIFJlZG1vbmRlciBTb2Z0d2FyZXJpZXNlbi4uLiAoWm9vaywgMjcuIE1hciAyMDA0LCAxOTo1NToyMCk6Cn4jISBybj1BbmF0b2wgcnQ9MTA4MDQxMzY4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg5MDk5Ck11c3N0IER1IGF1Y2ggc2NoaWNrZSBLcmFmdHB1bmt0LUZvbGllbiBtYWNoZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGFiZWxsZW5rYWxrdWxhdGlvbiBlaW5lcyBSZWRtb25kZXIgU29mdHdhcmVyaWVzZW4uLi4gKEFuYXRvbCwgMjcuIE1hciAyMDA0LCAxOTo1NjowMCk6Cn4jISBybj1ab29rIHJ0PTEwODA0MTM3MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4OTA5OQpEYSBpY2ggbmljaHQgd2Vpc3MsIHdhcyBkYXMgaXN0Li4uIHZpZWxsZWljaHQ/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGFiZWxsZW5rYWxrdWxhdGlvbiBlaW5lcyBSZWRtb25kZXIgU29mdHdhcmVyaWVzZW4uLi4gKFpvb2ssIDI3LiBNYXIgMjAwNCwgMTk6NTY6MTgpOgp+IyEgcm49QW5hdG9sIHJ0PTEwODA0MTM3NjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4OTA5OQpQb3dlcnBvaW50PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRhYmVsbGVua2Fsa3VsYXRpb24gZWluZXMgUmVkbW9uZGVyIFNvZnR3YXJlcmllc2VuLi4uIChBcmF0aG9ybiwgMjcuIE1hciAyMDA0LCAyMDoxMzozOCk6Cn4jISBybj1ab29rIHJ0PTEwODA0MTM3Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4OTA5OQpMdXN0aWdlcndlaXNlIGJlemVpY2huZXRlIGVpbiBhdXN0cmFsaXNjaGVyIEdhc3QgbWFsIGVpbmUgU3RlY2tkb3NlIGFscwoiUG93ZXJwb2ludCIuLi4KCk1pY3Jvc29mdCBTdGVja2Rvc2UsIHNjaG9uIGlyZ2VuZHdpZSBzZWx0c2FtLiA7LSkKCkFyYXRob3JuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKFJvbmRhLCAyOC4gTWFyIDIwMDQsIDAwOjUyOjIxKToKfiMhIHJuPUJhbWJpIHJ0PTEwODAzODg4NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4ODg1MQpIaSwKYmVudXR6dCBEdSB6dWZhZWxsaWcgV2luZG93cyBYUD8gTWlyIHNjaGVpbnRzIGF1Y2gsIGRhc3MgZGEgaXJnZW5kd2FzIGZhbHNjaApsYWV1ZnQuIEljaCBrYW5uIHp1bSBCZWlzcGllbCBhdWNoIGtlaW5lIFRleHRlIGluIHhtbCBvZGVyIC5wcm9wZXJ0aWVzIERhdGVpZW4KZmluZGVuLi4uCgpSb25kYSAqZ2VuZXJ2dCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKEJhbWJpLCAyOC4gTWFyIDIwMDQsIDEyOjEyOjMwKToKfiMhIHJuPVJvbmRhIHJ0PTEwODA0MzE1NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4ODg1MQpKYSwgaWNoIGJlbnV0emUgWFAuIFZlcnNjaGllZGVuZSBMZXV0ZSBoYWJlbiBtaXIgdmVyc2ljaGVydCwgYmVpIGlobmVuIHd1ZXJkZQpkYXMgdW50ZXIgWFAgbWl0IGRlciBTdWNoZnVua3Rpb24ga2xhcHBlbi4gSWNoIGJpbiBpbnp3aXNjaGVuIGRhenUKdWViZXJnZWdhbmdlbiwgd2lya2xpY2ggbWl0IFRleHRwYWQgVmVyemVpY2huaXNzZSBkdXJjaHN1Y2hlbiB6dSBsYXNzZW4gdW5kCmRpZSBEYXRlaWVuIGVpbnplbG4genUgb2VmZm5lbi4KV2VubiBEdSBuZSBMb2VzdW5nIGZ1ZXIgZGFzIFN1Y2gtUHJvYmxlbSBmaW5kZXN0LCBzYWcgQmVzY2hlaWQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaW5kb3dzIFN1Y2hmdW5rdGlvbiAoRWxiZXJldCwgMjguIE1hciAyMDA0LCAxMjoxNToxNyk6Cn4jISBybj1CYW1iaSBydD0xMDgwNDY4NzUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKaWNoIGhhYiBkYSBrZWluZSBhaG51bmcgYWJlciBtYWwgYmVpIGh0dHA6Ly93d3cud2luZ3JlcC5jb20gZ2VzY2hhdXQ/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUYWJlbGxlbmthbGt1bGF0aW9uIGVpbmVzIFJlZG1vbmRlciBTb2Z0d2FyZXJpZXNlbi4uLiAoWm9vaywgMjguIE1hciAyMDA0LCAxMzozOTozMik6Cn4jISBybj1BcmF0aG9ybiBydD0xMDgwNDE0ODE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODkwOTkKRWluIFZlcndlaXM6IApSZV42NTY4NyAoZGVyemVpdCBOci4gMzYxKS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKE5pYmVsLCAyOC4gTWFyIDIwMDQsIDEzOjUwOjA0KToKfiMhIHJuPUJhbWJpIHJ0PTEwODAzODg4NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4ODg1MQpXaW5YUCBkdXJjaHN1Y2h0IHRhdHNhZWNobGljaCBuaWNodCBhbGxlIEZpbGVzIGplZ2xpY2hlciBFbmR1bmdlbi4gLmMgc29sbHRlCnp3YXIgc3RkLW1hZXNzaWcgYWt0aXZpZXJ0IHNlaW4sIGFiZXIgZ3VjayBtYWwgaW0gTmV0ei4gei5CLgpodHRwOi8vd3d3LndpbnRvdGFsLmRlL1RpcHBzL0VpbnRyYWcucGhwP1RJRD04MzYKICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyBTdWNoZnVua3Rpb24gKEJhbWJpLCAyOC4gTWFyIDIwMDQsIDEzOjU3OjE2KToKfiMhIHJuPU5pYmVsIHJ0PTEwODA0NzQ2MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4ODg1MQpEYW5rZSwgZGVyIEhpbndlaXMgYXVmIGRlciBTZWl0ZSBoYXQgenVyIEJlaGVidW5nIGRlcyBTdWNoLVByb2JsZW1zIGdlZnVlaHJ0Lgo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luZG93cyBTdWNoZnVua3Rpb24gKE11cGZlbCwgMjguIE1hciAyMDA0LCAxNDo1NjowNSk6Cn4jISBybj1CYW1iaSBydD0xMDgwNDc1MDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKQW5zb25zdGVuOiB3d3cuZ2hpc2xlci5jb20sIFRvdGFsIENvbW1hbmRlci4gU3VjaHQgaW4gRGF0ZWllbiBhdWNoIG1pdApSZWd1bGFlcmVuIEF1c2RydWVja2VuLCBzb2dhciAiZG9wcGVsdCIsIGQuaC4gRGF0ZWluYW1lIHVuZCBJbmhhbHQga29lbm5lbiBtaXQKcmVnZXhwcyBhbmdlZ2ViZW4gd2VyZGVuLiBIYWx0IHdpZSBlaW4gZmluZC9ncmVwLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpbmRvd3MgU3VjaGZ1bmt0aW9uIChSb25kYSwgMjguIE1hciAyMDA0LCAxNjoxNDo1MSk6Cn4jISBybj1NdXBmZWwgcnQ9MTA4MDQ3ODU2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg4ODUxClZpZWxlbiBEYW5rLCBOaWJlbC4gRGFtaXQgaGFiIGljaCBlY2h0IG5pY2h0IGdlcmVjaG5ldCwgZGFzcyBpY2ggekIgdW50ZXIgVzJLCmVpbmUgRGF0ZWkgZmluZGUsIGFiZXIgdW50ZXIgV1hQIG5pY2h0IG1laHIuCkV1cmUgYW5kZXJlbiBUaXBwcyBzaW5kIHNpY2hlciBhdWNoIGZ1ZXIgZWluZW4gZWlnZW5lbiBQQyBvayAtIGljaCBoYWJlIGFiZXIKaW1tZXIgbWFsIGRhcyBQcm9ibGVtLCBkYXNzIGljaCBhdWYgS3VuZGVuLVBDIHZlcnp3ZWlmZWx0IG5hY2ggaXJnZW5kd2VsY2hlbgpEYXRlaWVuIHN1Y2hlIC0gdW5kIFhQIGRhIG5pY2h0cyBmaW5kZXQuIEVzIGlzdCBtaXIgbWVociBhbHMgZWlubWFsIHBhc3NpZXJ0LApkYXNzIGljaCBnZW5hdSB3dXNzdGUsIGRhc3MgZGEgaXJnZW5kd28gZGVyIEtleSB4eXogaW4gaXJnZW5kZWluZXIgQ29uZmlnCnN0ZWh0IC0gdW5kIFhQIGRyZWlzdCBiZWhhdXB0ZXQgaGF0LCBkYXNzIGRhIG5pY2h0cyBpc3QuCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2luZG93cyBTdWNoZnVua3Rpb24gKE11cGZlbCwgMjguIE1hciAyMDA0LCAxNzo0NjowNyk6Cn4jISBybj1Sb25kYSBydD0xMDgwNDgzMjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKWFAgbmVpZ3QgaGFsdCBkYXp1LCBkZW4gQmVudXR6ZXIgdm9yIGV2ZW50dWVsbGUgdW5hbmdlbmVobWVuIFdhaHJoZWl0ZW4KYWJ6dXNjaGlybWVuLiBHcmFlbWUgRGljaCBuaWNodCwgaXN0IGFsbGVzIGltIFNpbm5lIGRlcyBWZXJicmF1Y2hlcnMgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaW5uYWNsZSBNZWRpYWNlbnRlciAoR29yb2csIDI5LiBNYXIgMjAwNCwgMTM6MDM6NTIpOgpNb2lucwpEYSBpY2ggaGllciBpbSBsYWJvciBmdWVyIGRpZSBSZWNobmVyIHZlcmFudHdvcnRsaWNoIGJpbiwgdW5kIG1laW4gQ2hlZiBzaWNoCmVpbmVuIG5ldWVuIFBDIGZ1ZXIgenUgSGF1c2UgZ2VrYXVmdCBoYXQsIGJpbiBqZXR6dCBkYWZ1ZXIgdmVyYW50d29ydGxpY2gsCmRhc3Mgc2VpbmUgUGlubmFjbGUgTWVkaWFjZW50ZXIgRmVybmJlZGllbnVuZyBmdW5rdGlvbmllcnQuIE1laHJlcmUgUHJvYmxlbWUKdGF1Y2hlbiBhdWY6CjE6IEVpbmlnZSBLbm9lcGZlIGF1ZiBkZXIgRmVybmJlZGllbnVuZyBzY2hlaW5lbiBrZWluZSBGdW5rdGlvbiB6dSBoYWJlbiwgd2llCnouQi4gem9vbSBvZGVyIG1laHJrYW5hbGRhcnN0ZWxsdW5nLiBIYXQgZWluZXIgdm9uIGV1Y2ggbmUgQW5sZWl0dW5nIHp1IHNvCmVpbmVyIEZlcm5iZWRpZW51bmcsIGRhIGRpZSBuaWNodCBtaXQgZGVtIFN5c3RlbSBtaXRnZWxpZWZlcnQgd3VyZGUgZGFzIGVyCnNpY2ggZ2VrYXVmdCBoYXQgKGlyZ2VuZHNvbiBGdWppdHN1IFNpZW1lbnMgRGluZyB2b20gTWVkaWFtYXJrdCkKMjogRGllIEZlcm5iZWRpZW51bmcgKGplZGVuZmFscyBkaWUgRnVua3Rpb25lbiBkaWUgYmVpbSBBZG1pbiBmdW5rdGlvbmllcmVuKQpmdW5rdGlvbmllcnQgbnVyIGJlaSBlaW5lbSBVc2VyLCBkZW0gQWRtaW4gKFdpblhQLUhvbWUgd3VlcmQgaWNoIHNhZ2VuKS4gRGVyCkluZnJhcm90IEVtcGZhZW5nZXIgaGFlbmd0IGFtIENPTS1Qb3J0LiBrb2VubnRlIGVzIGRhcmFuIGxpZWdlbiwgZGFzcyBkZXIKZXJzdGUgTnV0emVyIGRlciBzaWNoIGF1ZiBkZW0gU3lzdGVtIGFubWVsZGV0IGRlbiBDT00tUG9ydCBva2t1cGllcnQgdW5kCkJlbnV0emVyIGRpZSBzaWNoIG5hY2ggaWhtIGVpbmxvZ2dlbiBuaWNodCBtZWhyIFp1Z3JpZmYgZGFyYXVmIGhhYmVuPyAgIAoKRXJzY2h3ZXJlbmQga29tbSBoaW56dSBkYXNzIGljaCBhbiBkZW4gUmVjaG5lciBuaWNodCByYW4ga29tbWUsIGRhIGRlciBiZWkgaWhtCnp1IEhhdXNlIHJ1bXN0ZWh0ICg7IHVuZCBpY2ggaGFiIHdpcmtsaWNoIGtlaW5lIEx1c3N0IGRhaGluIHp1IGZhaHJlbiAuLi4KCkZhbGxzIGlociBFdWNoIGRhbWl0IGF1c2tlbm50IHd1ZXJkIGljaCBtaWNoIGZyZXVuIHdlbm4gaWhyIG1pciB3ZWl0ZXIgaGVsZmVuCmtvZW5udGV0LgoKR29yb2cgKFJlY2h0c2NocmVpYmZlaGxlciBzaW5kIGJlYWJzaWNodGlnIHVuZCBkaWVuZW4gZGVyIEVudHdpY2tsdW5nIGVpbmVyCm5ldWVuIEt1bnN0Zm9ybSAoOyApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEU0wtUm91dGVyIChDYXR3ZWF6bGUsIDI5LiBNYXIgMjAwNCwgMTM6MjM6MjApOgpNb2luLgoKSWNoIG1vZWNodGUgbWVpbmUgRWluemVscGxhdHotRFNMLUludGVybmV0LUxvZXN1bmcgYXVmIGVpbmUgTG9lc3VuZyBtaXQKbWVocmVyZW4gUmVjaG5lcm4gdW5kIG1vZWdsaWNoZW0gV0xBTiBlcndlaXRlcm4uCgpLYW5uIG1pciB3ZXIgbW9lZ2xpY2hlIEhhcmR3YXJlIGRhZnVlciBlbXBmZWhsZW4/IElyZ2VuZHdlbGNoZQpNdXNzLUtvbXBvbmVudGVuIG9kZXIgTm8tR28ncz8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERTTC1Sb3V0ZXIgKFdpbGxvdywgMjkuIE1hciAyMDA0LCAxMzoyNTo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MDU1OTQwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwNTU5NDAwCmhhYiBuZW4gZC1saW5rIGRpNjI0IGltIGVpbnNhdHogLSBtaXQgd2xhbiB1bmQgY28uIGZ1bnp0IGdhbnogZ3V0Li4uIGhhdCBuZW4gNApwb3J0IHN3aXRjaCB1bmQgODAyLjExZyB3bGFuIGRyaW4uLi4KZGFzIHdlaWRlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRFNMLVJvdXRlciAoQ2F0d2VhemxlLCAyOS4gTWFyIDIwMDQsIDEzOjMyOjExKToKfiMhIHJuPVdpbGxvdyBydD0xMDgwNTU5NTQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODA1NTk0MDAKSG1obSwgbWlyIHd1cmRlIHp1Z2V0cmFnZW4sIGRhc3MgYmVpIEQtTGlua3MgZGllIE5ldHp0ZWlsZSBhYnJhdWNoZW4gc29sbGVuLAp1bmQgZGFzcyBkaWUgQnJpZGdlIHp3LiBldGhlcm5ldCB1bmQgd2xhbi0gU2Nocm90dCBzZWluIHNvbGwuIAoKRGFzIHdhZXJlbiBkYW5uIGVoZXIgTm8tR28ncyA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEU0wtUm91dGVyIChKYW1lc29uLCAyOS4gTWFyIDIwMDQsIDEzOjM5OjQxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDgwNTU5OTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODA1NTk0MDAKYyd0IDYvMDQsIFMuIDIwMmZmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRFNMLVJvdXRlciAoQXBvcGhpcywgMjkuIE1hciAyMDA0LCAxMzo0MjoxNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MDU1OTQwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwNTU5NDAwCndlbm4gZHUgYmlzY2hlbiBHZWxkIHVlYnJpZyBoYXN0LCBrYW5uIGljaCBkaWUgRHJheXRlay1HZXJhZXRlIGVtcGZlaGxlbjoKaHR0cDovL3d3dy5kcmF5dGVrLmRlLwoKd2VubidzIGd1ZW5zdGlnIHNlaW4gc29sbCwgZW50d2VkZXIgZGllIERTTC1Sb3V0ZXIgdm9uIE5ldGdlYXIgb2RlciBMb25nc2hpbmU6Cmh0dHA6Ly93d3cubmV0Z2Vhci5kZS9wcm9kdWt0ZS9hZHNsLW1vZGVtcy9kbTYwMmIuaHRtbApodHRwOi8vd3d3LmxvbmdzaGluZS5kZS9wcm9kdWt0L2RzbHJvdXRlci9yb3V0ZXItZ2VyLmh0bWwKCmRlbiBELUxpbmsgaGFiIGljaCBhdWNoIHNjaG9uIHBhYXIgTWFsIHZlcmthdWZ0IHVuZCBlaWdlbnRsaWNoIGdhbnogZ3V0ZQpFcmZhaHJ1bmdlbiBnZW1hY2h0LiBKZWRlbmZhbGxzIGlzdCBiaXMgamV0enQgbm9jaCBrZWluIE5ldHp0ZWlsIGFiZ2VyYXVjaHQgOikKCkFwbzIqIDpwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERTTC1Sb3V0ZXIgKFdpbGxvdywgMjkuIE1hciAyMDA0LCAxNDoxMjozOCk6Cn4jISBybj1BcG9waGlzIHJ0PTEwODA1NjA1Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDU1OTQwMApuYWphLCBhYmdlcmF1Y2h0ZXMgbmV0enRlaWwgaGF0dGUgaWNoIGJpc2hlciBudXIgYmVpIG1laW5lbSBuZXRnZWFyIHN3aXRjaC4uLgp3aWxsb3cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERTTC1Sb3V0ZXIgKFpvb2ssIDI5LiBNYXIgMjAwNCwgMTQ6MTI6NTYpOgp+IyEgcm49V2lsbG93IHJ0PTEwODA1NjIzNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDU1OTQwMApCZWkgbWlyIHJhdWNodCBuaWUgd2FzLgoKWm9vayBoYXQgZWluZSBOaWNodHJhdWNoZXJ3b2hudW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERTTC1Sb3V0ZXIgKE9nbywgMjkuIE1hciAyMDA0LCAxODo0NjoyNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4MDU1OTQwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwNTU5NDAwCkxpbmtzeXMgV1JUNTRHLCBkYW5uIExpbnV4IGRyYXVmIGluc3RhbGxpZXJlbiB1bmQgZnJldWVuLgoKaHR0cDovL3d3dy5saW5rc3lzLmNvbS9pbnRlcm5hdGlvbmFsL3Byb2R1Y3QuYXNwP2NvaWQ9OCZpcGlkPTQ1NQpodHRwOi8vd3d3LmJhdGJveC5vcmcvd3J0NTRnLWxpbnV4Lmh0bWwKCk9nbywgZGVyIGRlbiBkZW1uYWVjaHN0IGthdWZ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERTTC1Sb3V0ZXIgKENhdHdlYXpsZSwgMzAuIE1hciAyMDA0LCAwNzo1NzowOCk6Cn4jISBybj1PZ28gcnQ9MTA4MDU3ODc4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwNTU5NDAwCkdlZmFlaHJsaWNoZXIgQW5zYXR6LgoKSWNoIGJpbiBtaXR0bGVyd2VpbGUgaW4gZWluZW0gQWx0ZXIsIHdvIGljaCBmcm9oIGJpbiwgd2VubiBpY2ggbmljaHQgamVkZW4KUm90eiBzZWxiZXIga29uZmlndXJpZXJlbiBtdXNzLiAiTGludXggZHJhdWYgaW5zdGFsbGllcmVuIiBrbGluZ3QgendhciBpcnJlCmZhbmN5LCBpc3QgaG9jaGludGVyZXNzYW50IGRhcyBzZWxiZXIgenUgcmVnZWxuIHVuZCBtYW4ga2FubiBkYW1pdCBoaW50ZXJoZXIKc3VwZXJndW1taWd1dCBhbmdlYmVuLCBhYmVyIGRhcyBpc3QgbmljaHQgZ2FueiBkYXMsIHdhcyBpY2ggbWlyIHVudGVyIGVpbmVtCnNpbXBsZW4gSW50ZXJuZXR6dWdhbmcgdm9yc3RlbGxlIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRFNMLVJvdXRlciAoQ2F0d2VhemxlLCAzMC4gTWFyIDIwMDQsIDA5OjI0OjQ5KToKfiMhIHJuPU9nbyBydD0xMDgwNTc4Nzg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODA1NTk0MDAKQWJlciBuZSBCb251c2ZyYWdlLCB3ZWlzc3QgZHUsIG9iIG1hbiBkYSBhdWNoIGVpbiBJT1MgZHJhdWYgbWFjaGVuIGthbm4/IDopCgpEYXMgd2FlciB3aWVkZXIgc3Bhbm5lbmQgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFyYmVpdGV0IGplbWFuZCB2b24gRXVjaCBtaXQgQ29uVGVYdD8gKFpvb2ssICAxLiBBcHIgMjAwNCwgMTM6MTc6MTIpOgpBcmJlaXRldCBqZW1hbmQgdm9uIEV1Y2ggbWl0IENvblRlWHQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFyYmVpdGV0IGplbWFuZCB2b24gRXVjaCBtaXQgQ29uVGVYdD8gKFpvb2ssICAxLiBBcHIgMjAwNCwgMTM6MjA6MTApOgp+IyEgcm49Wm9vayBydD0xMDgwODE4MjMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODA4MTgyMzIKRXMgZ2VodCB1bSBkYXMgVGVYLVBha2V0LiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbXp1ZyBNRyAoQ3JvZnQsICA2LiBBcHIgMjAwNCwgMTA6NTU6MDMpOgp+IyEgcm49SGF0ZSBydD0xMDgxMjQxNTU5IHJnPWJla2FubnRtYWNodW5nZW4KfiMhIHRpZD0xMDgxMjQxNTU5CkR1bW1lIEZyYWdlOiBkaWUgSVAgZWluZmFjaCBhdWYgZGVuIG5ldWVuIFJlY2huZXIgenUgbWlncmllcmVuIGlzdCBrZWluZQpPcHRpb24/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmVtb3VudD8gKENhdHdlYXpsZSwgIDYuIEFwciAyMDA0LCAxMzoxOTowMik6CkhtLiAKV2lyIGhhYmVuIGVpbmUgUGxhdHRlIG1pdCBkZCBhdWYgZWluZSBhbmRlcmUga29waWVydC4gCkRpZSBhbmRlcmUgUGxhdHRlIHdpbGwgamV0enQgbmljaHQgYm9vdGVuLiAKWndhciBmaW5kZXQgc2ljaCBkZXIga2VybmVsIHVuZCBkaWUgUGxhdHRlIGxhZXNzdCBzaWNoIGF1Y2ggaW0gZXJzdGVuIEFubGF1ZgpSTyBtb3VudGVuLCB1bmQgZGFubiBrYW5uIGF1Y2ggZGFyYXVmIHp1Z2VncmlmZmVuIHdlcmRlbi4KQWJlciBuYWNoIGRlbiBSVy1SZW1vdW50IGlzdCBTY2hsdXNzLCBkYW5uIGtvbW10IG5peCBtZWhyLgoKV2h5PwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW5kb3dzIFN1Y2hmdW5rdGlvbiAoUGlsZ3JpbSwgMTQuIEFwciAyMDA0LCAxMjoyNTozMCk6Cn4jISBybj1NdXBmZWwgcnQ9MTA4MDQ3ODU2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg4ODUxCj5Ub3RhbCBDb21tYW5kZXIKRGllc2VzIFByb2dyYW1tIGlzdCBzb3dpZXNvICdQZmxpY2h0JyBmdWVyIGplZGVzIFdpbmRvd3MgU3lzdGVtIDspClNlaXQgNGRvcyBtZWluICdtb3N0IGxvdmVkIHByb2dyYW0nIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2luZG93cyBTdWNoZnVua3Rpb24gKFpvb2ssIDE0LiBBcHIgMjAwNCwgMTI6MjY6MDYpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDgxOTM4MzMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODAzODg4NTEKRGllIFdvZXJ0ZXIgV2luZG93cyB1bmQgU3lzdGVtIHNvIGRpY2h0IGJlZWluYW5kZXIgenUgbGVzZW4sIGJlcmVpdGV0IG1pcgpkb2NoIFNjaG1lcnplbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaW5kb3dzIFN1Y2hmdW5rdGlvbiAoUGlsZ3JpbSwgMTQuIEFwciAyMDA0LCAxMjo1MjoxNik6Cn4jISBybj1ab29rIHJ0PTEwODE5MzgzNjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MDM4ODg1MQpOYWphLAoKZGllIG1laXN0ZW4gV2luZG93cy1LaXN0ZW4sIGRpZSBpY2ggaGFiJywgaGFiZW4gYXVjaCBub2NoIGVpbiBsaW51eCA7LSkKRGFzIFN5c3RlbSBsaWVndCBhbHNvIGRvY2ggbmFoZSAuLi4KCkFiZXIgd2llIGlzY2ggc2FoLCBzdWNodCBkZXIgT1AgZWluZSBtb2JpbGUgTG9lc3VuZyAuLi4KVG90YWwgQ29tbWFuZGVyIGlzdCBpbnp3aXNjaGVuIHp1IGdyb3NzIGZ1ZXIgZWluZSBEaXNrZXR0ZSwgYXVmIG5lbQpTcGVpY2hlcnN0aWZmdCAuLi4gZ2luZ3MgYWJlci4gU3dvZWl0IGljaCB3ZWlzcywgbGVndCBlcyBrZWluZSBSRUctRWludHJhZWdlCmFuIHVuZCBkaWUKUG9zaXRpb24gZGVyIGJlaWRlbiAqLmluaSBEYXRlaWVuIGthbm4gbWFuIGFuZ2ViZW4uCgpEYXMgUHJvZ3JhbW0gaXN0IGF1Y2ggYWxzIFNoYXJlV2FyZSB2b2xsIGZ1bmt0aW9uc3R1ZWNodGlnIC4uLiBlaW5lbSBUZXN0CnN0ZWh0IHNvbWl0IG51ciBkaWUgZWlnZW5lbiBCZXF1ZW1saWNoa2VpdCBlbnRnZWdlbi4KClBpbGdyaW0KClBTOiB2aWVsbGVpY2h0IGhpbGZ0IGphIGRpZXNlcyBQcm9ncmFtbT8KaHR0cDovL3d3dy5vdXRlcmxpbWl0LmRlL2ZpbGVzL2Zhc3RmaW5kLmh0bQpyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaW5kb3dzIFN1Y2hmdW5rdGlvbiAoTXVhZGliLCAxNC4gQXByIDIwMDQsIDEyOjU0OjMwKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA4MTkzOTkzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgwMzg4ODUxCmRvIG5vdCBmZWVkIHRoZSB0cm9sbHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhVGVYL1RlWDogQmluZGVzdHJpY2ggdW5kIEdlZGFua2Vuc3RyaWNoIChab29rLCAxOS4gQXByIDIwMDQsIDEyOjQwOjU1KToKV2llIHNldHp0IElociBpbiBkZXV0c2NoZW4gVGV4dGVuIEJpbmRlLSB1bmQgR2VkYW5rZW5zdHJpY2hlPwoKIEJpbmRlc3RyaWNoIC0KIEdlZGFua2Vuc3RyaWNoIC0tCgpPZGVyIGFuZGVycz8gCgpFZ2FsLCB3aWUgSWhyIGVzIHR1dC4gV2FydW0gdHV0IElociBlcyBzbywgd2llIElociBlcyB0dXQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhVGVYL1RlWDogQmluZGVzdHJpY2ggdW5kIEdlZGFua2Vuc3RyaWNoIChHbG9pbnNvbiwgMTkuIEFwciAyMDA0LCAxMjo0NToyMyk6Cn4jISBybj1ab29rIHJ0PTEwODIzNzEyNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjM3MTI1NQpCaW5kZXN0cmljaCBpc3Qga3VlcnplciBhbHMgR2VkYW5rZW5zdHJpY2guIEluIEVybWFuZ2VsdW5nIGVpbmVzIGt1cnplbgpTdHJpY2hlcyBpbiBBU0NJSSBzY2hyZWliZSBpY2ggZnVlciBiZWlkZSAnLScgdW5kIGxhc3NlIHdlaXRlcmhpbiBiZWltCkdlZGFua2Vuc3RyaWNoIExlZXJ6ZWljaGVuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYVRlWC9UZVg6IEJpbmRlc3RyaWNoIHVuZCBHZWRhbmtlbnN0cmljaCAoWm9vaywgMTkuIEFwciAyMDA0LCAxMzowMDo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDgyMzcxNTIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODIzNzEyNTUKRXMgZ2VodCB1bSBUZVgvTGFUZVgtVGV4dGUuIFVuZCBkb3J0IGthbm4gbWFuIG1pdCAtLCAtLSB1bmQgLS0tIFN0cmljaGUKdW50ZXJzY2hpZWRsaWNoZXIgTGFlbmdlIGVyemV1Z2VuLiBNaWNoIGludGVyZXNzaWVydCBudW4sIHdhcyBJaHIgYWxzIApCaW5kZS0gdW5kIHdhcyBhbHMgR2VkYW5rZW5zdHJpY2ggdmVyd2VuZGV0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYVRlWC9UZVg6IEJpbmRlc3RyaWNoIHVuZCBHZWRhbmtlbnN0cmljaCAoTWFoYXJldCwgMTkuIEFwciAyMDA0LCAxMzowMjoxMyk6Cn4jISBybj1ab29rIHJ0PTEwODIzNzEyNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjM3MTI1NQpJY2ggdHVlIGVzIHNvLCB3ZWlsIGljaCBlcyBpbiBBbWVyaWthIHNvIGdlbGVybnQgaGFiLiAgVW5kIGljaCBrZWluZSBBaG51bmcKaGFiZSwgd2llIGRpZSBkZXV0c2NoZW4gUmVnZWxuIHNpbmQuICBJY2ggbWFjaCBhdWNoIHp3ZWkgTGVlcnN0ZWxsZW4gbmFjaCBuZW0KUHVua3QuIAoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhVGVYL1RlWDogQmluZGVzdHJpY2ggdW5kIEdlZGFua2Vuc3RyaWNoIChPZ28sIDE5LiBBcHIgMjAwNCwgMTM6MDY6NDcpOgp+IyEgcm49Wm9vayBydD0xMDgyMzcxMjU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODIzNzEyNTUKaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9HZWRhbmtlbnN0cmljaApodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0JpbmRlc3RyaWNoCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGFUZVgvVGVYOiBCaW5kZXN0cmljaCB1bmQgR2VkYW5rZW5zdHJpY2ggKE1vbnRhbnVzLCAxOS4gQXByIDIwMDQsIDEzOjA2OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA4MjM3MjUzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyMzcxMjU1CkRvcnQgd2lyZCBkZXIgc29nZW5hbm50ZSBtLWRhc2ggdW4gZGVyIG4tZGFzaCB1bnRlcnNjaGllZGVuIC0gZGVyIE5hbWUga29tbXQKZGFoZXIsIHdlaWwgZGVyIGxhbmdlIChkZXIgbS1kYXNoKSBzb2xhbmdlIGlzdCB3aWUgZWluIGdlZHJ1Y2t0ZXMga2xlaW5lcyBtCnVuZCBkYXMgYW5kZXJlIGhhbHQgZWluZSBCb2dlbmxhZW5nZSBrdWVyemVyCkltIERldXRzY2hlbiBnaWJ0IGVzIGRpZSBWZXJlaW5iYXJ1bmcsIGRhc3MgZGVyIExhbmdlIGdlbm9tbWVuIHdpcmQsIHdlbm4gZXIKdm9uIExlZXJ6ZWljaGVuIHVtZ2ViZW4gaXN0LgpEYXMga2FubiBzb2dhciBNJCBXb3JkLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYVRlWC9UZVg6IEJpbmRlc3RyaWNoIHVuZCBHZWRhbmtlbnN0cmljaCAoSHVtbmksIDE5LiBBcHIgMjAwNCwgMTU6MDc6NTApOgp+IyEgcm49TW9udGFudXMgcnQ9MTA4MjM3MjgxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyMzcxMjU1CkViZW4uIFVuZCBkYSBpY2ggZWluZW4ga2x1Z2VuIEZyZXVuZCBoYWJlLCBkZXIgZWlnZW50bGljaCBPdHRlbnNtYW5uIG1pdApOYWNobmFtZW4gaGVpc3N0LCBhYmVyIHdlaWwgZXIgc28gdG9sbCBUZVgga2FubiBudXIgT3R0ZW5zVGVYIGhlaXNzdCwgdW5kIGRlcgpnZXNhZ3QgaGF0LCBkYXMgd2lyZCBzbyB2ZXJ3ZW5kZXQsIHZlcndlbmRlIGljaCBkYXMgc28uIC0tIEdlZGFua2Vuc3RyaWNoLCAtCkJpbmRlc3RyaWNoLgoKSHVtbmksIG1pdCBCZWdydWVuZHVuZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGFUZVgvVGVYOiBCaW5kZXN0cmljaCB1bmQgR2VkYW5rZW5zdHJpY2ggKEhhcnVraSwgMTkuIEFwciAyMDA0LCAxNToxNjoyNSk6Cn4jISBybj1Nb250YW51cyBydD0xMDgyMzcyODEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODIzNzEyNTUKRXMgZ2lidCBkYSB6d2VpIGh1ZWJzY2hlIEFydGlrZWwgenVtIFRoZW1hIE1pa3JvdHlwb2dyYXBoaWUKdm9uIE1hcmlvbiBOZXViYXVlci4KTWFyaW9uIE5ldWJhdWVyOiBGZWluaGVpdGVuIGJlaSB3aXNzZW5zY2hhZnRsaWNoZW4gUHVibGlrYXRpb25lbiAtCk1pa3JvdHlwb2dyYXBoaWUtUmVnZWxuLCBUZWlsIEksIERpZSBUIEUgWG5pc2NoZSBLb21vZGllIDQvMTk5NiwgUy4gMjMtNDAuCk1hcmlvbiBOZXViYXVlcjogRmVpbmhlaXRlbiBiZWkgd2lzc2Vuc2NoYWZ0bGljaGVuIFB1Ymxpa2F0aW9uZW4gLQpNaWtyb3R5cG9ncmFwaGllLVJlZ2VsbiwgVGVpbCBJSSwgRGllIFQgRSBYbmlzY2hlIEtvbW9kaWUgMS8xOTk3LCBTLiAyNS00NC4KWnUgZmluZGVuIHVudGVyOgp3d3cuZGFudGUuZGUvZGFudGUvRFRLL2R0azk2XzQvVGV4dC8gZHRrOTZfNF9uZXViYXVlcl9mZWluaGVpdGVuLnBkZgpvCnd3dy5kYW50ZS5kZS9kYW50ZS9EVEsvZHRrOTdfMS9UZXh0L2R0azk3XzFfbmV1YmF1ZXJfZmVpbmhlaXRlbi5wZGYgCgpJbSB6d2VpdGVuIEFydGlrZWwgZ2VodCBlcyB1bnRlciBhbmRlcmVtIGF1Y2ggdW0gJ1N0cmljaCc6CkR1IGthbm5zdCB6dW0gQmVpc3BpZWwgYXVjaCBlaW5lbiBEcmVpdmllcnRlbC1HZXZpZXJ0c3RyaWNoIG1hY2hlbgpcdGV4dHRocmVlcXVhcnRlcnNlbWRhc2h7fQoKTnVuIGphLCBpbiBkZXIgUmVnZWwgc3RlaHQgZGVyIGVpbmZhY2hlIEJpbmRlc3RyaWNoIChEaXZpcykKbnVyIGJlaSBCaW5kdW5nZW4gdW5kIFRyZW5udW5nZW4uCgpEZXIgR2VkYW5rZW5zdHJpY2ggKEhhbGJnZXZpZXJzdHJpY2gsIC0tKSBzdGVodCBiZWkgRWluc2NodWViZW4sCmFscyAndm9uLWJpcy1TdHJpY2gnIHVuZCB6dXIgS2VubnplaWNobnVuZyBlaW5lciBsYWVuZ2VyZW4gUGF1c2UKKGluIERldXRzY2hsYW5kKS4KCkhhcnVraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHVtbWFkbWluIEZyYWdlIChLcmVsbGphLCAyMC4gQXByIDIwMDQsIDE0OjQzOjI1KToKTW9pbiwKCmVpbiBrbGVpbmVzICJEdW1tLUFkbWluIiBQcm9ibGVtOgoKV2lyIGhhYmVuIGhpZXIgZWluIGtsZWluZXMgTmV0eiB2b24gWFAgS2lzdGVuIHVuZCBlaW5lbiA5OCBSZWNobmVyLiBEYXMKUHJvYmxlbSBpc3Q6IERpZSBYUCBMZXV0ZSBrb2VubmVuIGFsbGUgUmVjaG5lciBzZWhlbiB1bmQgYXVjaCBhdWYgZGllIERhdGVuCnp1Z3JlaWZlbiwgZGllIDk4IE51dHplcmluIHNpZWh0IHVucyBuaWNodC4gV2FzIGlzdCBpbSBBcmdlbj8gCgpUc2NodWVzcwogICAgS3JlbGxqYSwgcHJha3Rpc2NoIHZvZWxsaWcgV2luZG9vZiBhaG51bmdzbG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IER1bW1hZG1pbiBGcmFnZSAoR2xvaW5zb24sIDIwLiBBcHIgMjAwNCwgMTQ6NDQ6MDcpOgp+IyEgcm49S3JlbGxqYSBydD0xMDgyNDY1MDA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODI0NjUwMDUKQW5kZXJlcyBQcm90b2tvbGwuIEljaCB3dWVyZGUgc2FnZW46IHZlcmxvcmVuLiBEYSBpY2ggZGFzIFByb2JsZW0gc2VsYmVyIGhhYmUsCmxhdXNjaGUgaWNoIGplZG9jaCBhbmRhZWNodGlnIExvZXN1bmdzdm9yc2NobGFlZ2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHVtbWFkbWluIEZyYWdlIChOb25uZSwgMjAuIEFwciAyMDA0LCAxNDo0Nzo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDgyNDY1MDQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODI0NjUwMDUKSWNoIGhhYmUgYXVjaCBlaW4gdG9sbGVzIFdpbmRvd3Nwcm9ibGVtOiBTYW1iYS1TZXJ2ZXIsIG1laHJlcmUgQ2xpZW50cyBhbQpTYW1iYS1TZXJ2ZXIgaW4gZGVyIERvbWFlbmUuIEljaCBrYW5uIG1pY2ggYW4gZGVyIERvbWFlbmUgYW5tZWxkZW4sIGF1ZiBhbGxlbgpSZWNobmVyLiBBbGxlIGFuZGVyZW4ga29lbm5lbiBzaWNoIGF1ZiBhbGxlbiBSZWNobmVyIGFubWVsZGVuLCBhdXNzZXIgYW4gZWluZW0KTGFwdG9wIG1pdCBYUC1Qcm9mLiBJY2gga2FubiBtaWNoIGRvcnQgYWJlciBhbm1lbGRlbiwgYXVjaCBhbHMgbm9ybWFsZXIKQmVudXR6ZXIgdW5kIGF1ZiBkaWUgRG9tYWVuZSB6dWdyZWlmZW4uCgpSZWNobmVyIHNpbmQgVzJLIHVuZCBYUC1Qcm9mLiBKZW1hbmQgZWluZSBBaG51bmc/IFNhbWJhIG1lbGRldCBkaWUgVXNlciBhbHMKQXV0aGVudGlmaXppZXJ0LCBpY2ggc2VoZSBhbHNvLCBvYiBkYXMgUGFzc3dvcnQgcmljaHRpZyBvZGVyIGZhbHNjaCB3YXIuIERpZQpBbm1lbGR1bmcgZ2VodCBkYW5uIGFiZXIgbmljaHQgd2VpdGVyIHVuZCBXaW5kb3dzIG1lbGRldCBmYWxzY2hlcgpVc2VyL1Bhc3N3b3J0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHVtbWFkbWluIEZyYWdlIChKYW1lc29uLCAyMC4gQXByIDIwMDQsIDE0OjQ5OjM3KToKfiMhIHJuPUtyZWxsamEgcnQ9MTA4MjQ2NTAwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyNDY1MDA1CkZyYWdlIDoKCldpbmRvd3MgWFAgd2lyZCBpbSBQZWVyLXRvLVBlZXIgTmV0endlcmsgbWl0IFdpbjk1Lzk4L01lIFJlY2huZXJuIGluIGRlciAKTmV0endlcmt1bWdlYnVuZyBuaWNodCBnZXNlaGVuLCBvZGVyIFhQIHNpZWh0IGRpZSBhbmRlcmVuIFJlY2huZXIgbmljaHQuCgpBbnR3b3J0OgoKV2luZG93cyBYUCB2ZXJ3ZW5kZXQgenVyIE5hbWVuc2F1ZmxvZXN1bmcgdm9uIHNpY2ggYXVzIEROUy4gRGllcyBmdW5rdGlvbmllcnQKaW4gCmVpbmVtIFBlZXItdG8tUGVlciBOZXR6d2VyayBvaG5lIEROUyBuaWNodC4gClVtIGVpbmUgVmVyYmluZHVuZyBtaXQgZGVuIGFuZGVyZW4gUmVjaG5lcm4gYXVmenViYXVlbiwgbXVzcyBYUCBCcm9hZGNhc3RzIApiZW51dHplbi4gCgpJbiBkZXIgUmVnaXN0cnkgaXN0IHVudGVyCkhLRVlfTE9DQUxfTUFDSElORVxTeXN0ZW1cQ3VycmVudENvbnRyb2xTZXRcU2VydmljZXNcTmV0QlRcUGFyYW1ldGVycyAKZWluIFdlcnQgbWl0IGRlbSBOYW1lbiBOb2RlVHlwZSB2b20gVHlwIFJFR19EV09SRCBlaW5nZWZ1ZWd0IHdlcmRlbi4gRGVyIFdlcnQKaXN0IAphdWYgMSB6dSBzZXR6ZW4uIApOdW4gc2luZCBhbGxlIFJlY2huZXIgaW0gUGVlci10by1QZWVyIE5ldHp3ZXJrIHZlcmZ1ZWdiYXIuCgpPaG5lIEdld2FlaHIgdW5kIEhhZnR1bmcuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHVtbWFkbWluIEZyYWdlIChDYXR3ZWF6bGUsIDIwLiBBcHIgMjAwNCwgMTQ6NTc6NTcpOgp+IyEgcm49S3JlbGxqYSBydD0xMDgyNDY1MDA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODI0NjUwMDUKRGVyIE51dHplci9QYXNzd29ydCBkZW4gZHUgYXVmIDk4IGhhc3QgbXVzcyBhdWNoIGF1ZiBkZW4gWFAtS2lzdGVuIGV4aXN0aWVyZW4uCgpZVEMgKHNjaGllc3N0IGdlemllbHQgaW5zIEJsYXVlKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRhYmVsbGVuIGluIE1TIFdvcmQgKE1pbmFzLCAyMC4gQXByIDIwMDQsIDIxOjQxOjUxKToKeAp4CngKeApIbSwgaWNoIGhhYmUgbmUgRGF0ZWkgaW4gZGVyIGljaCBUYWJlbGxlbiBtaXQgcmVpbmdlc2NocmllYmVuIGhhYmUuIEpldHp0IGlzdAppbiBqZWRlciBaZWlsZSBuYWNoIHVudGVuIG5vY2htYWxzIHNvdmllbCBMZWVycGxhdHogd2llIGdlbmF1IGVpbmUgWmVpbGUKZWlubmltbXQuRGFzIHNvbGwgZXMgYWJlciBuaWNodCwgZGllIFNjaHJpZnQgc29sbCBkaXJla3Qgdm9uIGRlbiBaZWlsZW4KYmVncmVuenQgd2VyZGVuLCBhbiBkZW4gWmVpbGVuYWJzdGFlbmRlbiBoYWJlIGljaCBzY2hvbiBqb25nbGllcnQsIGRhc3MgaXN0IGVzCm5pY2h0LiBKZW1hbmQgZWluZSBJZGVlIHdpZSBpY2ggZGFzIGFlbmRlcmU/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhYmVsbGVuIGluIE1TIFdvcmQgKFpvb2ssIDIwLiBBcHIgMjAwNCwgMjI6Mjc6NTYpOgp+IyEgcm49TWluYXMgcnQ9MTA4MjQ5MDExMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyNDkwMTExClZsbC4gaW4gZGVyIEZvcm1hdHZvcmxhZ2UsIGRpZSBEdSBmdWVyIGRpZSBUYWJlbGxlbiB2ZXJ3ZW5kZXQgaGFzdCwgCmJlZmluZGV0IHNpY2ggZWluICJBYnN0YW5kIG5hY2guLi4iPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHVtbWFkbWluIEZyYWdlIChNdXBmZWwsIDIxLiBBcHIgMjAwNCwgMTA6MzY6MzUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODI0NjU4Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjQ2NTAwNQpBbmRlcmVzIFByb3Rva29sbD8gVW0gdW50ZXIgV2luWFAgTkVUQkVVSSB6dSBudXR6ZW4sIGVpbmZhY2ggdm9uIGRlciBXaW5YUC1DRApkaWUgIE5FVEJFVUktSW5zdGFsbGF0aW9uc2RhdGVpZW4gKGltIFZlcnplaWNobmlzIFZhbHVlYWRkXE1TRlRcTmV0XE5FVEJFVUkpCmFuIGRpZSBwYXNzZW5kZW4gU3RlbGxlbiBpbSBXSU5ET1dTLVZlcnplaWNobmlzIGtvcGllcmVuIChBbmxlaXR1bmcgbGllZ3QgZG9ydAphdWNoKSwgZGFubiBrYW5uIGF1Y2ggWFAgTkVUQkVVSSBudXR6ZW4uIEZ1ZXIga2xlaW5lIE5ldHplLCBkaWUga2VpbmUKSW50ZXJuZXR2ZXJiaW5kdW5nIHNoYXJlbiBtdWVzc2VuLCBpZGVhbCwgZGEgZml4ZXIgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRhYmVsbGVuIGluIE1TIFdvcmQgKE11YWRpYiwgMjEuIEFwciAyMDA0LCAxMDozODo0OCk6Cn4jISBybj1ab29rIHJ0PTEwODI0OTI4NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjQ5MDExMQpoYXN0IGR1IGRpZSB6ZWlsZW4gbWl0IGVpbmVtIHJldHVybiBhYmdlc2NobG9zc2VuPwp3ZW5uIGphIHdlZyBkYW1pdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFiZWxsZW4gaW4gTVMgV29yZCAoTWluYXMsIDIxLiBBcHIgMjAwNCwgMTA6NDc6NTApOgp+IyEgcm49TXVhZGliIHJ0PTEwODI1MzY3Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjQ5MDExMQpOZWluLCBlcyBpc3Qgd29obCBpcmdlbmR3YXMgYW4gZGVyIEZvcm1hdGRlZmluaXRpb24gaW0gRG9rdW1lbnQgc2VsYnN0LCBkYXMKUHJvYmxlbSBpc3QgYWJlciBpbnp3aXNjaGVuIGdlbG9lc3QuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUYWJlbGxlbiBpbiBNUyBXb3JkIChab29rLCAyMS4gQXByIDIwMDQsIDEwOjQ5OjAwKToKfiMhIHJuPU1pbmFzIHJ0PTEwODI1MzcyNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjQ5MDExMQpkZWw/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGZlaWwtSWNvbnMgKEtyZWxsamEsIDIxLiBBcHIgMjAwNCwgMTQ6NDg6NTIpOgoKTW9pbiwgbW9pbiwKCmhhdCB3ZXIgZWluZSBJZGVlLCB3byBpY2ggZWluIHBhYXIgc2Nob2VuZSBQZmVpbGUgaGVyYmVrb21tZT8KCkRhbmsgaW0gVm9yYXVzIEsuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGZlaWwtSWNvbnMgKE1vbnRhbnVzLCAyMS4gQXByIDIwMDQsIDE0OjQ5OjU4KToKfiMhIHJuPUtyZWxsamEgcnQ9MTA4MjU1MTczMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyNTUxNzMyCnd3dy5nb29nbGUuZGUgaGlsZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBmZWlsLUljb25zIChLcmVsbGphLCAyMS4gQXByIDIwMDQsIDE0OjUzOjI0KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwODI1NTE3OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjU1MTczMgpobW0sIGphPwoKSGllciBrYW0gZWJlbiBDaGVmZmVzIEFzc2lzZW50aW4gYW4sIG9iIGljaCBuaWNodCBlaW5lIElkZWUgaGFldHRlLAp3byBzaWUgUGZlaWwtSWNvbnMgaGVyYmVrb21tZS4gU2llIGhhZXR0ZSBzY2hvbiB1ZWJlcmFsbCBnZXN1Y2h0LgoKU29ycnkgZnVlciBkZW4gU3BhbS4KCktyZWxsamEsIHdpZWRlciBtYWwgZ2VsZXJudCBoYWJlbmQsIG5pY2h0IHp1IHNlaHIgYXVmIGRpZSBGaW5kaWdrZWl0CmFuZGVyZXIgenUgdmVydHJhdWVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQZmVpbC1JY29ucyAoTXVhZGliLCAyMS4gQXByIDIwMDQsIDE1OjA2OjE2KToKfiMhIHJuPUtyZWxsamEgcnQ9MTA4MjU1MjAwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgyNTUxNzMyCmh0dHA6Ly93d3cuaWNvc2hvdy5kZS9jdXIuaHRtCmh0dHA6Ly93d3cuc29mdC13YXJlLm5ldC9zeXN0ZW0vZGVza3RvcC9jdXJzb3IvaW5kZXguYXNwCmh0dHA6Ly9kb3dubG9hZC10aXBwLmRlL0Rlc2t0b3AvQ3Vyc29yLXVuZC1JY29ucy9pbmRleC5zaHRtbAoKdW5kIHdhcyBnb29nbGUgbm9jaCBzbyBoZXJnaWJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZmVpbC1JY29ucyAoTXVhZGliLCAyMS4gQXByIDIwMDQsIDE1OjA2OjQwKToKfiMhIHJuPU11YWRpYiBydD0xMDgyNTUyNzc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODI1NTE3MzIKbmljaHQgZ2VjaGVja2VkIGF1ZiB2aXJlbiwgZGlhbGVyIHVuZCBzb25zdGlnZW4gc2Nocm90dAphdWYgZWlnZW5lIGdlZmFocgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGZlaWwtSWNvbnMgKEtyZWxsamEsIDIxLiBBcHIgMjAwNCwgMTU6MTk6MzMpOgp+IyEgcm49TXVhZGliIHJ0PTEwODI1NTI4MDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4MjU1MTczMgpEYW5rZSBub2NobWFsLgoKS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFF1ZXN0LVRlYXNlciAoT2dvLCAyOC4gQXByIDIwMDQsIDIyOjUyOjM0KToKfiMhIG9uPU9nbyBvdD0xMDgzMTg1NTEyIG9nPWFsbGdlbWVpbmVzCn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwODMxODU0MDMgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMDgzMTg1NDAzClBsYXlpbmcgcGdpLXRyYWlsZXIxLm1vdi4KUXVpY2tUaW1lL01PViBmaWxlIGZvcm1hdCBkZXRlY3RlZC4KLS0tLS0tLS0tLS0tLS0KTU9WIHRyYWNrICMwOiAxIGNodW5rcywgMCBzYW1wbGVzCkdlbmVyaWMgdHJhY2sgLSBub3QgY29tcGxldGx5IHVuZGVyc3Rvb2QhIChpZDogMCkKLS0tLS0tLS0tLS0tLS0KTU9WOiBsb25nZXN0IHN0cmVhbXM6IEE6ICMtMSAoMCBzYW1wbGVzKSAgVjogIy0xICgwIHNhbXBsZXMpCk5vIHN0cmVhbSBmb3VuZC4KCgpFeGl0aW5nLi4uIChFbmQgb2YgZmlsZSkKCgpPZ28sIHRyYXVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUXVlc3QtVGVhc2VyIChab29rLCAyOC4gQXByIDIwMDQsIDIzOjE0OjUyKToKfiMhIHJuPU9nbyBydD0xMDgzMTg1NTU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODMxODU0MDMKR2VuYXVzbyBzY2hhdXRzIGJlaSBtaXIgYXVjaCBhdXMuIFRvbGxlciBUZWFzZXIhIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUXVlc3QtVGVhc2VyIChTb2xteXIsIDI4LiBBcHIgMjAwNCwgMjM6MjI6MzQpOgp+IyEgcm49Wm9vayBydD0xMDgzMTg2ODkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODMxODU0MDMKVmllbGxlaWNodCBpc3QgZGVyIEluaGFsdCBkZXIgUXVlc3QsIGRpZSBmZWhsZW5kZW4gQ2h1bmtzIHp1IGZpbmRlbj8KCnNjbnIsClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFF1ZXN0LVRlYXNlciAoVGFyYW5pcywgMjguIEFwciAyMDA0LCAyMzoyMzoxNCk6Cn4jISBybj1Tb2xteXIgcnQ9MTA4MzE4NzM1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDgzMTg1NDAzCkZ1ZXIgamVkZW4gZ2VtZXR6ZWx0ZW4gTlBDIGF1ZiBkZXIgUEdJIGVpbmVuIENodW5rPyA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWxtLVNXOiBQdW5jaENsb2NrIChab29rLCAyOS4gQXByIDIwMDQsIDE0OjUzOjMxKToKSGksIGthbm4gbWlyIGplbWFuZCBuZW4gVGlwIGdlYmVuLCB3aWUgaWNoIGRpZSBEYXRlbiBhdXMgZGVyIFB1bmNoQ2xvY2stCkFud2VuZHVuZyBleHRyYWhpZXJlbiBrYW5uLCBkYW1pdCBpY2ggc2llIG1pdCBhbmRlcmVyIFNXIHdlaXRlcnZlcmFyYmVpdGVuCmthbm4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVobGVyIGJlaW0gU3RhcnRlbiBlaW5lciBJbnRlcm5ldHZlcmJpbmR1bmcgKEJyYW4sIDEwLiBNYWkgMjAwNCwgMTE6MTk6NDcpOgpIYWxsbyEgV2Vpc3MgZWluZXIgdm9uIEV1Y2ggdmllbGxlaWNodCB3ZWl0ZXI6IEljaCBiZWtvbW1lIHNlaXQgZWluaWdlciBaZWl0CnJlZ2VsbWFlc3NpZyBlaW5pZ2UgTWludXRlbiBuYWNoIGRlbSBTdGFydGVuIGVpbmVyIEludGVybmV0dmVyYmluZHVuZyBlaW5lCldpbmRvd3MtRmVobGVybWVsZHVuZzogIjxQcm96ZXNzIHdhciBiZXJlaXRzIGJlZW5kZXQ+IGhhdCBGZWhsZXIgdmVydXJzYWNodAp1bmQgd2lyZCBnZXNjaGxvc3Nlbi4iIERpZSBOZXR6dmVyYmluZHVuZyBibGVpYnQgZGFiZWkgYmVzdGVoZW4sIGFiZXIgZGFuYWNoCmZ1bmt0aW9uaWVydCBlaW5pZ2VzIG5pY2h0IG1laHIsIHUuYS4gZGVyIFp1Z3JpZmYgYXVmIGRpZSBERlVlLVZlcmJpbmR1bmdlbgp1bmQgYW5kZXJlIERhdGVpZW4uIEltIE5ldHogaGFiZSBpY2ggZGF6dSBub2NoIG5pY2h0cyB3ZWl0ZXIgZ2VmdW5kZW4gYWxzCkJlc2NocmVpYnVuZ2VuIGRlcyBQcm9ibGVtcy4gS2VpbmUgQW50d29ydGVuIGRhcmF1Zi4gRWluIFZpcnVzIHNvbGx0ZSBlcyBuaWNodApzZWluLCBpY2ggaGFiZSBzZWl0IGRlbSBlcnN0ZW4gTWFsLCB3byBkYXMgcGFzc2llcnRlLCBtZWhybWFscyBkdXJjaGdlc2Nhbm50LgpIYXQgamVtYW5kIGVpbmUgSWRlZT8gCgpBY2hqYSwgQmV0cmllYnNzeXN0ZW0gaXN0IFdpbjJrICh1bmQgc2FndCBqZXR6dCBuaWNodDogbmltbWRvY2hsaW51eC4gTWFjaCBpY2gKaXJnZW5kd2FubiB2aWVsbGVpY2h0LCBhYmVyIGpldHp0IGlzdCBlaW4gZ2FueiBzY2hsZWNodGVyIFplaXRwdW5rdCB6dW0KV2VjaHNlbG4pLgoKSG9mZm51bmdzdm9sbCwgQnJhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZlaGxlciBiZWltIFN0YXJ0ZW4gZWluZXIgSW50ZXJuZXR2ZXJiaW5kdW5nIChNYXJjdXMsIDEwLiBNYWkgMjAwNCwgMTE6MjM6MDApOgp+IyEgcm49QnJhbiBydD0xMDg0MTgwNzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQxODA3ODcKbmltbWRvY2htYWx2aXJlbnNjYW5uZXIuCgpDaWFvLCAKYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmVobGVyIGJlaW0gU3RhcnRlbiBlaW5lciBJbnRlcm5ldHZlcmJpbmR1bmcgKEJyYW4sIDEwLiBNYWkgMjAwNCwgMTE6MjQ6NDYpOgp+IyEgcm49TWFyY3VzIHJ0PTEwODQxODA5ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDE4MDc4NwpIYWIgaWNoIGRvY2guIE5vcnRvbiBBbnRpVmlydXMsIGZyaXNjaCBnZXVwZGF0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGZWhsZXIgYmVpbSBTdGFydGVuIGVpbmVyIEludGVybmV0dmVyYmluZHVuZyAoTW9udGFudXMsIDEwLiBNYWkgMjAwNCwgMTE6MjQ6NTgpOgp+IyEgcm49QnJhbiBydD0xMDg0MTgxMDg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQxODA3ODcKTmltbWRvY2htYWxuZW5tYWMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGZWhsZXIgYmVpbSBTdGFydGVuIGVpbmVyIEludGVybmV0dmVyYmluZHVuZyAoQnJhbiwgMTAuIE1haSAyMDA0LCAxMToyNTo1Nik6Cn4jISBybj1Nb250YW51cyBydD0xMDg0MTgxMDk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQxODA3ODcKOmphbW1lcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGZWhsZXIgYmVpbSBTdGFydGVuIGVpbmVyIEludGVybmV0dmVyYmluZHVuZyAoTW9udGFudXMsIDEwLiBNYWkgMjAwNCwgMTE6MzA6MTcpOgp+IyEgcm49QnJhbiBydD0xMDg0MTgxMTU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQxODA3ODcKSG9lciBhdWYgenUgamFtbWVybi4gRHUgYmlzdCBaYXVkZXJlciwga2VpbiBDaGFvdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZlaGxlciBiZWltIFN0YXJ0ZW4gZWluZXIgSW50ZXJuZXR2ZXJiaW5kdW5nIChCcmFuLCAxMC4gTWFpIDIwMDQsIDExOjM2OjA3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwODQxODE0MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDE4MDc4NwpaYXVkZXJlcj8gOikgSW0gTW9tZW50IGlzdCBlcyBtZWluIFJlY2huZXIsIGRlciBydW16YXVkZXJ0IHVuZCBuaWNodCBzbyB3aWxsCndpZSBpY2guIFNhZyBlaCBsaWViZXIgbWFsIHdhcyBrb25zdHJ1a3RpdmVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGZWhsZXIgYmVpbSBTdGFydGVuIGVpbmVyIEludGVybmV0dmVyYmluZHVuZyAoR3JpbW1ib3JuLCAxMC4gTWFpIDIwMDQsIDEyOjEyOjEwKToKfiMhIHJuPUJyYW4gcnQ9MTA4NDE4MTc2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0MTgwNzg3ClZlcnN1Y2hzIG1hbCBtaXQgZGVyIFdJbmRvd3NzdGFuZGFyZGxvZXN1bmc6IFBsYXR0ZSBmb3JtYXRpZXJlbiwgbmV1Cmluc3RhbGxpZXJlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRmVobGVyIGJlaW0gU3RhcnRlbiBlaW5lciBJbnRlcm5ldHZlcmJpbmR1bmcgKEJyYW4sIDEwLiBNYWkgMjAwNCwgMTI6MTI6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwODQxODM5MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDE4MDc4NwpKYSwgZGFyYXVmIHdpcmQgZXMgd29obCByYXVzbGF1ZmVuLiBXYXIgZWluIGxldHp0ZXIgVmVyc3VjaC4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRmVobGVyIGJlaW0gU3RhcnRlbiBlaW5lciBJbnRlcm5ldHZlcmJpbmR1bmcgKEFudGhlYSwgMTAuIE1haSAyMDA0LCAxMjoxODozNCk6Cn4jISBybj1CcmFuIHJ0PTEwODQxODM5NzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDE4MDc4NwpEYXMga29tbXQgbWlyIGlyZ2VuZHdpZSBiZWthbm50IHZvci4gSGF0dGUgaWNoIGF1Y2ggbWFsLCB1bmQgZGFubiBoYWJlIGljaApkYXp1IGlyZ2VuZHdvIGlyZ2VuZHdhcyBpbSBJbnRlcm5ldCBnZWZ1bmRlbiwgdW5kIGRhbm4gZ2luZyBlcyB3aWVkZXIuIElzdAphYmVyIHNjaG9uIHp1IGxhbmdlIGhlciBhbHMgZGFzcyBpY2ggbWljaCBnZW5hdWVyIGRyYW4gZXJpbm5lcm4ga29lbm50ZSA6KAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0endlcmtwcm9maWxlIChKYW1lc29uLCAxMS4gTWFpIDIwMDQsIDEwOjA3OjIyKToKSWNoIGJpbiBvZWZ0ZXIgbWFsIG1pdCBkZW0gTGFwdG9wIHVudGVyd2VncyB1bmQgZGFubiBpbiB2ZXJzY2hpZWRlbmVuIE5ldHplbiwKdW5kIGVzIG5lcnZ0LCBpbW1lciB3aWVkZXIgZGllIE5ldHp3ZXJrZGF0ZW4gdm9uIEhhbmQgZWludHJhZ2VuIHp1IG11ZXNzZW4uIERhCmdpYnQncyBkb2NoIG1pdCBTaWNoZXJoZWl0IFNvZnR3YXJlLUxvZXN1bmdlbi4gV2FzIGtvZW5udCBpaHIgZW1wZmVobGVuPyBFcwpnZWh0IHVtIFhQIGJ6dy4gMjAwMC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXR6d2Vya3Byb2ZpbGUgKEdyaW1tYm9ybiwgMTEuIE1haSAyMDA0LCAxMDowNzo1MCk6Cn4jISBybj1KYW1lc29uIHJ0PTEwODQyNjI4NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpESENQCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV0endlcmtwcm9maWxlIChKYW1lc29uLCAxMS4gTWFpIDIwMDQsIDEwOjEwOjI2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDg0MjYyODcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQyNjI4NDIKLi4uaXN0IG5pY2h0IGRpZSBXYWhsLCB3ZW5uIER1IG5pY2h0IGRlcmplbmlnZSBiaXN0LCBkZXIgZGllIEluZnJhc3RydWt0dXIgZGVzCk5ldHplcyBiZXN0aW1tdC4gTGVpZGVyIHNpbmQgZGEgZmVzdGUgS29uZmlndXJhdGlvbmVuIGdlZnJhZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXR6d2Vya3Byb2ZpbGUgKEdyaW1tYm9ybiwgMTEuIE1haSAyMDA0LCAxMDoyMTo1Mik6Cn4jISBybj1KYW1lc29uIHJ0PTEwODQyNjMwMjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpJbiBkZW0gRmFsbCBuaW1tc3QgRHUgImlyZ2VuZHdlbGNoZSIgS29uZmlndXJhdGlvbmVuLiBXZWlsIER1IERpY2ggInZlcnRpcHB0IgpoYXN0LiBEYXMgc29sbHRlIGRlbiBlbnRzcHJlY2hlbmRlbiBBZG1pbiB6aWVtbGljaCBzY2huZWxsIHp1IGRlciBFcmtlbm50bmlzCmJyaW5nZW4sIGRhc3MgZmVzdGUgS29uZmlndXJhdGlvbmVuIGluIGVpbmVtIE5ldHogbWl0IHZhcmlhYmxlbiBSZWNobmVybiBhYmVyCmVpbmUgZGVybWFzc2VuIHNjaGxlY2h0ZSBJZGVlIHNpbmQsIGRhc3MgZXIgc2NobmVsbCBESENQIGF1ZnNldHp0LgpCZWkgbWlyIGhhdCBkYXMgcnVuZCA2IFN0dW5kZW4gRmVobGVyc3VjaGUgZ2Vrb3N0ZXQgYmlzIGljaCBkYXMgIk5ldHpwcm9ibGVtIgpoYXR0ZSwgdW5kIHdlaXRlcmUgMjAgbWluLCB1bSBlaW5lbiBzaW1wbGVuIERIQ1Agc2VydmVyIGF1Znp1c2V0emVuLiBEYXp1Cm5vY2htYWwgMzAgbWluIHVtIGFsbGVuIEtvbGxlZ2VuIGVpbnp1YmxhZXVlbiwgZGFzcyBzaWUsIHdlbm4gc2llIG5pY2h0IERIQ1AKdmVyd2VuZGVuIHVuZCBkYWR1cmNoIFByb2JsZW1lIGVudHN0ZWhlbiwgbWl0IGRlbSBWZXJsdXN0IGRlcyBlaW5lbiBvZGVyCmFuZGVyZW4gS29lcnBlcnRlaWxzIHJlY2huZW4gbXVlc3Nlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV0endlcmtwcm9maWxlIChDcm9mdCwgMTEuIE1haSAyMDA0LCAxMDoyNToyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4NDI2MzcxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0MjYyODQyCktvbm50ZSBtYW4gYmVpIFhQIG5pY2h0IG1laHJlcmUgTmV0endlcmtwcm9maWxlIHVlYmVyIGVpbmVuIE1hbmFnZXIKYW5sZWdlbiB1bmQgendpc2NoZW4gZGVuIGJlcXVlbSBoaW4gdW5kIGhlcndlY2hzZWxuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldHp3ZXJrcHJvZmlsZSAoTXVhZGliLCAxMS4gTWFpIDIwMDQsIDExOjEwOjA5KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODQyNjM5Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpkdSBrYW5uc3QgZWluZmFjaCBkaWUgZW50c3ByZWNoZW5kZW4gTEFOLVZlcmJpbmR1bmdlbiBhbmxlZ2VuIHVuZCBkaWVqZW5pZ2VuCndlbGNoZSBkdSBnZXJhZGUgbmljaHQgdmVyd2VuZGVzdCBkZWFrdGl2aWVyZW4uCgpvZGVyIGR1IHZlcndlbmRlc3QgbmV0c2ggdW0gcGVyIGJhdGNoIGRlaW4gbmV0endlcmsgenUga29uZmlndXJpZXJlbgoKZGllIGhhcmR3YXJlcHJvZmlsZSBkaWUgY3JvZnQgYW5zcHJhY2ggc2luZCB6d2FyIGdhbnogbmV0dCBzcGVpY2hlcm4gYWJlcgppbnRlbGxpZ2VudGVyd2Vpc2UgbmljaHQgZGllIG5ldHp3ZXJra29uZmlndXJhdGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV0endlcmtwcm9maWxlIChDcm9mdCwgMTEuIE1haSAyMDA0LCAxMToxMTo1OCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA4NDI2NjYwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0MjYyODQyCkhtLiAgSWNoIHNjaHJpZWIgTmV0endlcmtwcm9maWwgb2Rlcj8gIElpcmMgaGF0IFZpbmNlbnQgaXJnZW5kc293YXMgYXVmCnNlaW5lbSBMYXB0b3AuICBVbmQgaW4gZGVtIFByb2ZpbCBzaW5kIGplZGVuZmFsbHMgc28gU2FjaGVuIHdpZSBESENQIGphL25laW4sCklQLCBHYXRld2F5LCBNYXNrIHVzdyBkcmluLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldHp3ZXJrcHJvZmlsZSAoR3J1bXBmLCAxMS4gTWFpIDIwMDQsIDExOjEzOjQ2KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODQyNjY3MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpWZXJzdWNoIG1hbCBkaWUgU29mdHdhcmUgTmV0c3dpdGNoZXIsIHR1dCBiZWkgbWlyIHNlaHIgZ3V0LgpodHRwOi8vd3d3Lm5ldHN3aXRjaGVyLmNvbQpHcnVtcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5ldHp3ZXJrcHJvZmlsZSAoTXVhZGliLCAxMS4gTWFpIDIwMDQsIDExOjE3OjU4KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODQyNjY3MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpkdSBzY2hyaWVic3Qgc293YXMgamEuIGFiZXIgZXMgd2FyIG5pY2h0IGtvcnJla3QgdW5kIGRhcyBuYWVjaHN0ZSB3YXMgZHJhbiBrYW0Kd2FyIGRpZSBzYWNoZSBtaXQgZGVuIGhhcmR3YXJlcHJvZmlsZW4gOikKd29iZWkgZGllIGxvZXN1bmcgMSBkaWUgaWNoIHNjaHJpZWIgcmVjaHQgbmFoZSBkcmFuIGthbSB1bmQgZnVua3Rpb25pZXJ0LgpuZW5udCBzaWNoIGFiZXIgaGFsdCBuaWNodCBwcm9maWwgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXR6d2Vya3Byb2ZpbGUgKE11YWRkaWIsIDExLiBNYWkgMjAwNCwgMjE6MDE6MTEpOgp+IyEgcm49SmFtZXNvbiBydD0xMDg0MjYyODQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQyNjI4NDIKV2lyIHZlcndlbmRlbiBOZXRzd2l0Y2hlci4gSXN0IHJlY2h0IGJyYXVjaGJhci4KCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZlaGxlciBiZWltIFN0YXJ0ZW4gZWluZXIgSW50ZXJuZXR2ZXJiaW5kdW5nIChDYXR3ZWF6bGUsIDExLiBNYWkgMjAwNCwgMjI6Mjg6MzYpOgp+IyEgcm49QW50aGVhIHJ0PTEwODQxODQzMTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDE4MDc4NwpJY2ggaGF0dGUgZGFzIGF1Y2ggbWFsLgpFcyB3YXIgZWluIFZpcnVzLgoKTmljaHQgaGlsZnJlaWNoLCBvZGVyPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXR6d2Vya3Byb2ZpbGUgKENhdHdlYXpsZSwgMTEuIE1haSAyMDA0LCAyMjozMToxNyk6Cn4jISBybj1KYW1lc29uIHJ0PTEwODQyNjMwMjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDI2Mjg0MgpIYXN0IGR1IG5vY2ggbmVuIGFuZGVyZW4gUmVjaG5lciBzdGFlbmRpZyBhbSBOZXR6PwoKRGFubiBlbXBmZWhsZSBpY2ggT3BlblZQTi4KT3ZlcmtpbGwsIGhpbGZ0IGRpciBhYmVyLiAKClNvbnN0IGdpYnRzIG5vY2ggTW9iaWxlSVAuIEFiZXIgZGFzIGlzdCBEcmVjayBtaXQgSVB2NC4KCkZ1ZXIgSVB2NiBrb2VubnRlIGljaCBkaXIgZGl2ZXJzZSBzY2hvZW5lIExvZXN1bmdlbiBhbmJpZXRlbi4gV2lnZW50bGljaApoYWV0dGVzdCBkdSBkYW1pdCBnYXIga2VpbmVuIENvbmZpZ3N0cmVzcyBtZWhyIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKENhdHdlYXpsZSwgMTMuIE1haSAyMDA0LCAxNjo0NzoxNCk6CgpNZWluIFZlcnRyYWcgbGFldWZ0IGF1cywgaWNoIGthbm4gZWluIG5ldWVzIEhhbmR5IGtyaWVnZW4uIE51ciwgaWNoIGthbm4gbWljaApnYXIgbmljaHQgZW50c2NoZWlkZW4uIFdhcyB0YXVndCBkZW5uIHNvIHdhcz8gSWNoIG1hZyBudXIga2VpbmUgTm9raWFzIHVuZCBiaW4KZWhlciBzaWVtZW5zLWZhbi4gRGllIHNvbGxlbiBhYmVyIGF1Y2ggYWxsZSB6aWNrZW4gdW5kIHNpbmQgbmljaHQgZ2VyYWRlCmh1ZWJzY2ggLi4uCgpTaWVtZW5zIE1DNjA/IFNMNTU/Ck1pdHN1YmlzaGkgTTM0MWk/Ck1vdG9yb2xhIEUzNjU/ClNvbnkgVDYxMD8KTm9raWEgMzMwMD8gMzY1MD8gMzY2MD8gNjIyMD8gNjMxMD8gNjYwMD8gNjgyMD8gIDgxMD8gOTIxMD8KCkljaCBtdXNzIGRhIG5pY2h0IG1laHIgZHVyY2hzdGVpZ2VuLCBvZGVyPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoWm9vaywgMTMuIE1haSAyMDA0LCAxNjo1OToxOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4NDQ1OTYzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0Ckt1ZW5kaWdlIGRlbiBWZXJ0cmFnIHVuZCBrYXVmIERpciBuZSBCdXNjaHRyb21tZWwuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKEdub21lLCAxMy4gTWFpIDIwMDQsIDE3OjAwOjE2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDg0NDU5NjM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKdW50ZXIgbm9raWEuZGUgLT4gbW9iaWx0ZWxlZm9uZSAtPiBtb2RlbGx1ZWJlcnNpY2h0IGZpbmRlc3QgZHUgYWxsZQptb2RlbGxlLCBhdWNoIGRpZSBmcnVlaGVyZW4gdW5kIG5vY2gga29tbWVuZGVuLiBvYiBudSBub2tpYSBvZGVyIHNpZW1lbnMKaXN0IGVpZ2VudGxpY2ggZWdhbC4gaWNoIGJldm9yenVnZSBub2tpYSwgd2VpbCBzaWVtZW5zIGltbWVyIGVpbiB3ZW5pZwphbHRiYWNrZW4gYXVzc2llaHQuCmljaCBoYWIgZGFzIDY2MTAsIHd1ZXJkZSBhYmVyIHp1IGRlc3NlbSBuYWNoZm9sZ2VyIHJhdGVuICh3ZWlzcyBuaWNodCwKd2VsY2hlIG51bW1lciksIHdlaWwgZXMgYmVzc2VyIGJlbGV1Y2h0ZXQgdW5kIGRpZSBkcnVja3B1bmt0ZSBkZXIgdGFzdGVuCmJlc3NlciBsaWVnZW4uIGVzIHNpZWh0IGdlbmF1c28gYXVzLCBpc3QgbnVyIGVpbiB0aWNrIGtsZWluZXIuCgp6dSBzaWVtZW5zIG1vZGVsbGUga2FubiBpY2ggbmljaHQgdmllbCBzYWdlbiwgYXVzc2VyIGRhc3Mgc2llIG1pciBhbGxlc2FtdApuaWNodCBnZWZhbGxlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKENhdHdlYXpsZSwgMTMuIE1haSAyMDA0LCAxNzowMzo1Nik6Cn4jISBybj1Hbm9tZSBydD0xMDg0NDYwNDE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKQWxzIGVpbnppZ2VzIFNpZW1lbnMgZmllbGUgbWVpbmUgV2FobCBhdWYgZGFzIFNMNTUsIHdlaWxzIGFtIG5lY2tpc2Noc3RlbiBpc3QuCklzdCBhYmVyIGVpZ2VudGxpY2ggZWluIEZyYXVlbmhhbmR5LiAKCkloIHRlbmRpZXJlIGZhc3QgenVtIFNvbnkgVDgxMCwgZGFzIGhhdCBkYXMgdmllbHZlcnNwcmVjaGVuZHN0ZSBEaXNwbGF5IC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChDYXR3ZWF6bGUsIDEzLiBNYWkgMjAwNCwgMTc6MDY6NDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODQ0NjA2MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNApCYWVoLCBlcyB3YWVyZSBudXIgZGFzIDYxMCAuLi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChab29rLCAxMy4gTWFpIDIwMDQsIDE3OjEyOjMyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDg0NDYwODAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKQ2F0dHkgZXJnaWVzc3Qgc2ljaCBhbHNvIGF1Y2ggaW4gYW5kZXJlIFJ1YnJpa2VuLiBCZWFlbmdzdGlnZW5kLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKENhdHdlYXpsZSwgMTMuIE1haSAyMDA0LCAxNzoxNDowMik6Cn4jISBybj1ab29rIHJ0PTEwODQ0NjExNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNApTbyBpc3QgZGFzLgpIYXQgU29ueSBFcmljY3NvbiBpcmdlbmR3byBuZSBTZWl0ZSBtaXQgSGFuZHlkZXRhaWxzPyBJY2ggZmluIGRuaXggLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKEFwb3BoaXMsIDEzLiBNYWkgMjAwNCwgMTc6MTk6MjgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODQ0NjA2MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNAphbHNvIGRhcyBTTDU1IGlzIHNpY2hlciBrZWluIEZyYXVlbmhhbmR5LCBkYSBtdXNzIGljaCBwcm90ZXN0aWVyZW4gOikKCmFiZXIga3VyeiB3YXMgenUgZGVtIFNMNTUsIGljaCBoYWJzIGpldHp0IG4gaGFsYmVzIGphaHIgdW5kIGZpbmRzIHdpcmtsaWNoCmd1dC4KRWluemlnIGlzdCBzY2hlaW5iYXIgZGllIFRhc3RhdHVybWF0dGUgYmlzY2hlbiBzY2hsZWNodCwgZGEgZGllIFRhc3RlIDQKaW56d2lzY2hlbiByZWNodCBmZXN0IGdlZHJ1ZWNrdCB3ZXJkZW4gbXVzcywgZGFtaXQgc2llIHJlYWdpZXJ0LgoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoQ2F0d2VhemxlLCAxMy4gTWFpIDIwMDQsIDE3OjIyOjUxKToKfiMhIHJuPUFwb3BoaXMgcnQ9MTA4NDQ2MTU2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0CkljaCBiaW4gZWlnZW50bGljaCBrZWluIEZyZXVuZCB2b24gYmV3ZWdsaWNoZW4gVGVpbGVuLCBpY2gga2VubiBtaWNoLCBpY2gKYnJlY2ggZGllIGFiLiBLbGFwcC1IYW5keXMgc2luZCBiZWkgbWlyIGFsc28gYWJzb2x1dCBUYWJ1IDopIAoKRGFzIFNMNTUgc2NoZWludCBhYmVyIGluIHNlaW5lciBNZWNoYW5payBldHdhcyByb2J1c3RlciBhdXN6dXNlaGVuLCBpc3QgamEKYXVjaCBlaW4gU0xpZGVyLCBrZWluZSBLbGFwcGUuCgpVbmQgenVtIFNvbnkgZmluZCBpY2ggbml4IGdlc2NoZWl0ZXMgYXVzc2VyLCBkYXNzIGVzIG1laHIgc2lubmxvc2VzIFpldWcga2FubgooQmxhdXphaG4sIEthbWVyYSkuCgpJaCBzY2hhZXR6ZSBpY2gga2xpY2sgZ2xlaWNoIGF1ZiBTTDU1IC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChCYW1idWxrbywgMTMuIE1haSAyMDA0LCAxNzoyNToxMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4NDQ2MTc3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0ClQ2MTAga2FubiBpY2ggZW1wZmVobGVuLiBBYmVyIGVzIGxhdWZlbiBpbnp3aXNjaGVuIHJlY2h0IHZpZWxlIGRhbWl0IHJ1bS4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChab29rLCAxMy4gTWFpIDIwMDQsIDE3OjI2OjE3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDg0NDYxNzcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKQmV3ZWdsaWNoZSBUZWlsZSBzaW5kIGd1dCwgd2VubiBEdSBIdW1uaSBkYW1pdCBkdXNjaGVuIHNjaGlja3N0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKENhdHdlYXpsZSwgMTMuIE1haSAyMDA0LCAxNzoyNzowOSk6Cn4jISBybj1ab29rIHJ0PTEwODQ0NjE5Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNApIZXJyIEdvdHQuClNJZSBiZWZpbmRlbiBzaWNoIGhpZXIgaW4gZGVyIGZhbHNjaGVuIFJ1YnJpay4KCllUQyAoa2xpY2t0IGpldHp0IHRyb3R6ZGVtIGZ1ZXIgZGFzIGRldXRzY2hlIFByb2R1a3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKFpvb2ssIDEzLiBNYWkgMjAwNCwgMTc6NDI6NTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODQ0NjIwMjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNApWZXJsZWcgZG9jaCwgdmVybGVnIGRvY2ghCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoQW5vcmlzLCAxMy4gTWFpIDIwMDQsIDE4OjU2OjEzKToKfiMhIHJuPVpvb2sgcnQ9MTA4NDQ2Mjk3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0CkRlciBTTDU1IGlzdCBkb2NoIHZvbiBNZXJjZWRlcyAvIEFNRz8gOykKCkljaCBiaW4gbWl0IG1laW5lbSBOb2tpYSA2MzEwaSBzZWhyIHp1ZnJpZWRlbi4gVHJpQmFuZCwgQmx1ZXRvb3RoCihmdWVycyBBdXRvKSwgQmFja3VwIGF1ZiBQQyBpc3QgcHJvYmxlbWxvcywgU01TLCBCaWxkZXIgdW5kIEtsaW5nZWx0b2VuZQpwZXIgTG9nb01hbmFnZXIgZ3JhdGlzIHVuZCBhbiBhbmRlcmUgTm9raWFzIHNlbmRiYXIuIFNwcmljaCB3ZW5uIGljaCBhbQpQQyBzaXR6LCBtYWNoIGljaCBuaXggbWl0IGRlbSBIYW5keSwgYWxsZXMgbWl0IGRlciBUYXN0YXR1ci4KCi0gQW5vcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0endlcmtwcm9maWxlIChKYW1lc29uLCAxMy4gTWFpIDIwMDQsIDE5OjQxOjI0KToKfiMhIHJuPUphbWVzb24gcnQ9MTA4NDI2Mjg0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0MjYyODQyClZpZWxlbiBEYW5rIGZ1ZXIgZXVyZSBIaWxmZSwgaWNoIGhhYiBtaWNoIGZ1ZXIgTmV0c3dpdGNoZXIgZW50c2NoaWVkZW4gdW5kIGVzCnR1dCBnZW5hdSBkYXMgZnVlciB3YXMgaWNoIGVzIGJyYXVjaGUuIG5ldHNoIGZpbmQgaWNoIGF1Y2ggc2VociBpbnRlcmVzc2FudCwKZGEgd2VyZGUgaWNoIGF1Y2ggbWFsIHJlaW5zY2hhdWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoRm9vYmFyLCAxMy4gTWFpIDIwMDQsIDE5OjQyOjM4KToKfiMhIHJuPUFub3JpcyBydD0xMDg0NDY3MzczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKSWNoIGVtcGZlaGxlIFNpZW1lcy4gRXZ0bC4gd2VyZGVuIGRhbm4gaW4gbWVpbmVyIEhlaW1hdHN0YWR0IHdlbmlnZXIKQXJiZWl0c3BsYWV0emUgImF1c2dlbGFnZXJ0Ii4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChGb29iYXIsIDEzLiBNYWkgMjAwNCwgMTk6NDI6NTApOgp+IyEgcm49Rm9vYmFyIHJ0PTEwODQ0NzAxNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDQ1OTYzNApBZWguIFNpZW1lbnMgaGVpc3N0IGRhcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoS2VsbHlidW5keSwgMTMuIE1haSAyMDA0LCAyMToyOToyNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4NDQ1OTYzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0Ck1laW4gUGFuYXNvbmljIGhhdCBzaWNoLCBpbSBHZWdlbnNhdHogenUgZGl2ZXJzZW4gTm9raWFoYW5keXMgdm9uCkFyYmVpdHNrb2xsZWdlbiwgYWxzIGFic29sdXQgdW5rYXB1dHRiYXIgZXJ3aWVzZW4uIERpZSB1bmZyZWl3aWxsaWdlbgpFeHBlcmltZW50ZSB6dW0gVGVzdCBkZXIgQVJUIGltIGZyZWllbiBGYWxsIHVuZCBhZWhubGljaGUgU3BlcmVuemNoZW4gaGFiZW4Kbml4IGdlc2NoYWRldC4KQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKEZlaWdsaW5nLCAxNi4gTWFpIDIwMDQsIDEyOjI0OjQ4KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA4NDQ3NjU2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0CgpBbHNvIGljaCBoYWIgc2VociBndXRlIEVyZmFocnVuZyBtaXQgTm9raWEgNjMxMGkgLSBEaWUgQWtrdWxhdWZ6ZWl0CmlzdCBnaWdhbnRpc2NoIChpbnp3aXNjaGVuIHZlcmdlc3NlIGljaCBvZWZ0ZXIsIGRhc3MgbWFuIGVzIGRvY2gKaGluIHVuZCB3aWVkZXIgYW5zIExhZGVnZXJhZXQgaGFlbmdlbiBtdXNzKS4gTWVpbmUgRXJmYWhydW5nIG1pdApTaWVtZW5zIGlzdCBlaGVyIGJlc2NoZWlkZW4uIERpZSBsYXVmZW5kZW4gS2FydGVuZmVobGVyLCBzZWkgZXMKYmVpbSBTdGFuZGJ5IG9kZXIgYXVjaCBtaXR0ZW4gaW0gR2VzcHJhZWNoLCBoYWJlbiBlcyBmdWVyIG1pY2gKYWxzIHVuenV2ZXJsYWVzc2lnIGdlYnJhbmRtYXJrdC4gVW5kIHdpZSBpY2ggdm9uIGFuZGVyZW4gaG9lcmUsCnNjaGVpbnQgU2llbWVucyBkYXMgbmljaHQgaW4gZGVuIEdyaWZmIHp1IGJla29tbWVuLgoKRGFzIE5va2lhIGlzdCBzaWNoZXJsaWNoIG5pY2h0IGRhcyBtb2Rlcm5zdGUsIGF1Y2ggbmljaHQKZGFzIHNjaG9lbnN0ZSwgYWJlciBpY2ggc2NoYWV0emUgZXMgYWxzIHp1dmVybGFlc3NpZy4KRGFzIHRvbGxzdGUgaXN0OiBNYW4ga2FubiBkYW1pdCB0ZWxlZm9uaWVyZW4gOy0pCgpGZWlnbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoR2xvaW5zb24sIDE2LiBNYWkgMjAwNCwgMTM6MTE6MzYpOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTA4NDcwMzA4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0CkthcnRlbmZlaGxlciBoYXR0ZSBpY2ggYmVpIFNpZW1lbnMgbmllLiBBYmVyIGlyZ2VuZHdhbm4ga2xhcHB0IGRhcyBtaXQgZGVtCkFra3UgbmljaHQgbWVociwgamVkZW5mYWxscyBiZWkgZGVuIG5ldWVyZW4uIERhbm4gbWVpbmVuIFNpZW1lbnNoYW5kaWVzIGltbWVyLApkZXIgc2VpIGFsbGUgb2huZSBlcyBhbnp1emVpZ2VuLiBEYXMgUzZFIHdhciBhYmVyIG5vY2ggcHJpbWEsIGVpbiBGcmV1bmQgdm9uCm1pciBiZW51dHp0IGVzIHNlaXQgLi4uIDcgSmFocmVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKE11YWRpYiwgMTYuIE1haSAyMDA0LCAxNDoxMDowOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDg0NzA1ODk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKamEgZGFzIHByb2JsZW0gaGF0dGUgaWNoIGF1Y2ggbWl0IGRlbSBzbCA0NS4ga2FydGVucHJvYmxlbWUgZ2FiIGVzIGtlaW5lLgpiaW4gYWJlciB3ZWl0ZXJoaW4gYmVpIHNpZW1lbnMgZ2VibGllYmVuLCBkYSBkaWUgYWtrdXByb2JsZW1lIGVyc3QgbmFjaCAzCmphaHJlbiBhdWZ0cmF0ZW4gdW5kIGljaCBtaXIgZGFubiBlaCBlaW4gbmV1ZXMgc3BvbnNlcm4gbGFzc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsZWluZSBIYW5keXMgZ2FueiBncm9zcy4gKENhdHdlYXpsZSwgMTYuIE1haSAyMDA0LCAxOToxNDozNyk6Cn4jISBybj1NdWFkaWIgcnQ9MTA4NDcwOTQwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0Ck1laW4gUzM1IGhhdHRlIGljaCBudSBzZWl0IGtuYXBwIDQgSmFocmVuLiBVbmQgaGFiIGltbWVyIG5vY2ggNSBUYWdlIExhZGV6ZWl0LgpBYmdlc2VoZW4gdm9uIGFiZ2VyaWViZW5lbiBUYXN0ZW5mYXJiZW4gbGFldWZ0IGRhcyBwcmltYS4gCgpMZWlkZXIgZ2VudWVndCBlcyBuaWNodCBtZWhyIG1vZGVybmVuIFNwZWljaGVyYW5zcHJ1ZWNoZW4uIFdlbm4gbWlyIGRhbm4gZGFzClNMNTUgbmljaHQgZ2VmYWVsbHQga2FubiBpY2ggamEgaW1tZXIgbm9jaCBkYWhpbiB6dXJ1ZWNrIDotKQoKVW5kIGljaCBsZXJuZSB3aWVkZXI6IEhhbmR5bWFya2VuYXVzd2FobCBpc3Qgc293YXMgdm9uIEdlc2NobWFja3NzYWNoZSA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLbGVpbmUgSGFuZHlzIGdhbnogZ3Jvc3MuIChab29rLCAxNi4gTWFpIDIwMDQsIDE5OjE1OjIwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDg0NzI3Njc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ0NTk2MzQKIjUgVGFnZSBMYWRlemVpdCI/IEQuIGguIER1IGhhZW5nc3QgZXMgYW5zIE5ldHogdW5kIG5hY2ggZnVlbmYgVGFnZW4gaXN0CmRlciBBa2t1IHZvbGw/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogS2xlaW5lIEhhbmR5cyBnYW56IGdyb3NzLiAoT2dvLCAxOC4gTWFpIDIwMDQsIDE2OjM4OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTA4NDcyNzcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0NDU5NjM0CkRhIGljaCBtaWNoIG5pY2h0IGRhenUgZHVyY2hyaW5nZW4ga29ubnRlLCBkaWVzIGluICd3d3cnIHp1IHBvc3RlbiwgaGllcgpzbGlnaHRseSBvbnRvcGljIGVpbmZhY2ggYWxzIFJlcGx5IGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsIGRpZXNlcyBUaHJlYWRzOgoKQ29vbGVzIFRlbGVmb246Cmh0dHA6Ly93d3cuc2hhcnAuY28uanAvcHJvZHVjdHMvc2gyMTAxdi9pbmRleC5odG1sCgpPZ28KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3RlYm9vay1FbXBmZWhsdW5nIGdlc3VjaHQgKE1hdGlzLCAxOC4gTWFpIDIwMDQsIDIyOjM1OjQyKToKSG9pLAoKaWNoIGhhYmUgdm9yLCBtaXIgZGVtbmFlY2hzdCBlaW5lbiBuZXVlbiBOb3RlYm9vayB6dSBrYXVmZW4uIFVuZCBuYXR1ZXJsaWNoCnNvbGwgZXIgemllbWxpY2ggbGVpY2h0IHNlaW4gdW5kIGxhbmdlIGxhdWZlbiAoc2VociB3aWNodGlnKSwgb3JkZXJudGxpY2hlClJlY2hlbmxlaXN0dW5nIGJpZXRlbiwgcm9idXN0IHNlaW4gYmVpbSB0YWVnbGljaGVuIFJ1bXNjaGxlcHBlbiwgZGllIG5ldWVyZW4KU3RhbmRhcmRzIGJlaGVycnNjaGVuIChXTEFOIHVzdyksIHVuZCBtb2VnbGljaHN0IG5pY2h0IG1laHIgYWxzIDE1MDAgRXVybyAKa29zdGVuLiBHaWJ0cyBlcyBkYSBuZXVlcmUgRXJmYWhydW5nZW4gZXVyZXJzZWl0cywgZWdhbCBvYiBwb3NpdGl2IG9kZXIKbmVnYXRpdj8gRGFua2UhCgpNYXRpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vdGVib29rLUVtcGZlaGx1bmcgZ2VzdWNodCAoR3J1bXBmLCAxOS4gTWFpIDIwMDQsIDA3OjU5OjExKToKfiMhIHJuPU1hdGlzIHJ0PTEwODQ5MTI1NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDkxMjU0MgpNb2luLAppY2ggbnV0emUgamV0enQgc2VpdCBjYS4gNSBKYWhyZW4gTGFwdG9wcyB2b24gRGVsbCB1bmQgZmluZGUgZGllIHZvbiBkZW4KR2VzaWNodHNwdW5rdGVuIFByZWlzLUxlaXN0dW5nc3ZlcmhhZWx0bmlzLCBMYXVmemVpdCB1bmQgdm9yIGFsbGVtIFNFUlZJQ0UKZmFudGFzdGlzY2gsIGZ1ZXIgMTUwMCBFdXJvIHNvbGx0ZXN0IER1IGRhIHdhcyBwYXNzZW5kZXMgZmluZGVuLgpHcnVtcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm90ZWJvb2stRW1wZmVobHVuZyBnZXN1Y2h0IChBbmF0b2wsIDIwLiBNYWkgMjAwNCwgMTA6MzY6NDgpOgp+IyEgcm49R3J1bXBmIHJ0PTEwODQ5NDYzNTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NDkxMjU0MgpHaWJ0IGVzIHp1bSBUaGVtYSBOb3RlYm9va3MgbmljaHQgZ3JhZGUgZWluIGMndC1Tb25kZXJoZWZ0PwoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb3RlYm9vay1FbXBmZWhsdW5nIGdlc3VjaHQgKEx1ZywgMjIuIE1haSAyMDA0LCAxMzozMjozMSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA4NTA0MjIwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0OTEyNTQyCkFMREkKCkx1Z2lmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vdGVib29rLUVtcGZlaGx1bmcgZ2VzdWNodCAoS2FyaW1hLCAyMi4gTWFpIDIwMDQsIDE3OjE4OjU1KToKfiMhIHJuPUx1ZyBydD0xMDg1MjI1NTUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODQ5MTI1NDIKSGFiIG1pciB2b3Iga3VyemVtIGJlaW0gU2F0dXJuIGltIEFuZ2Vib3QgbmVuIFNhbXN1bmctTGFwdG9wIGdlaG9sdCB1bmQgYmluCnNlaHIgenVmcmllZGVuIGRhbWl0Li4gaGF0IGF1Y2ggZGFuayBsYXB0b3AtcHJvemVzc29yIHVuZCBncmFrYSAgNyBzdHVuZGVuCmxhdWZ6ZWl0IChkaWUgZXIgYXVjaCB3aXJrbGljaCBicmluZ3QsIG5pY2h0IG51ciBhdWZmZW0gcGFwaWVyLCBqZSBuYWNoCmJlbnV0enVuZyBzb2dhciBtZWhyKQpIYXQgYXVjaCBzbyB1bSBkaWUgMTUwMCBnZWtvc3RldC4KCkthcmltYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vdGVib29rLUVtcGZlaGx1bmcgZ2VzdWNodCAoR25vbWUsIDIzLiBNYWkgMjAwNCwgMTY6NTA6NDYpOgp+IyEgcm49TWF0aXMgcnQ9MTA4NDkxMjU0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg0OTEyNTQyCmFoYS4gZGEgc3VjaHQgZWluZXIgZGllIGVpZXJsZWdlbmRlIHdvbGxtaWxjaHNhdS4gOikKCnp1bWluZGVzdCBzZWhyIGd1dGUgcmVjaGVubGVpc3R1bmcgdW5kIHNlaHIgbGFuZ2UgbGF1ZnplaXQgc2NobGllc3NlbgpzaWNoIGF1cy4gYmFsZCBhYmVyIGVyc2NoZWludCBkZXIgcGVudGl1bSBNIG1pdCBuZXVlbSBrZXJuIChkb3RoYW4pLAp2aWVsbGVpY2h0IGxvZXN0IGVyIGRpZXNlcyBkaWxlbW1hIHdlaXRnZWhlbmQsIG9id29obCBkZXIgZXJzdGUgdGVzdAooYyd0IDExLzA0LCBTLiA4NCBmZi4pIG5pY2h0IHZpZWx2ZXJzcHJlY2hlbmQgd2FyLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktub3BwaXggYXVmIEZlc3RwbGF0dGUgKE11cGZlbCwgMjQuIE1haSAyMDA0LCAyMjo1MTozNyk6Ck5ldWxpY2ggZmFuZCBpY2ggbmUgbmV0dGUgQW5sZWl0dW5nLCB3aWUgbWFuIEtub3BwaXggYXVmIGRpZSBoZWltaXNjaGUKRmVzdHBsYXR0ZSBiZWtvbW10OgpodHRwOi8vd3d3LnBsLWJlcmljaHRlLmRlL2JlcmljaHRlL2tub3BwaXhfaGRpbnN0YWxsL2tub3BwaXgtaGRpbnN0YWxsLmh0bWwKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZW5udCB3ZXIgTWFpbFNpdGUtTWFpbHNlcnZlcj8gKEFudGhlYSwgMjcuIE1haSAyMDA0LCAxMjo1MjowNCk6CkdybXBmLiBHaWJ0IGVzIGVpZ2VudGxpY2ggbm9jaCBhbmRlcmUgTW9lZ2xpY2hrZWl0ZW4sIGVpbmVtIGJsb2VkZW4KTWFpbFNpdGUtTWFpbHNlcnZlciBtaXR6dXRlaWxlbiwgZGFzcyBkaWUgRGF0ZW4genVyIE1haWwgenUgRW5kZSBzaW5kLCBhbHMgZWluCjxDUkxGPjxDUkxGPi48Q1JMRj4genUgc2VuZGVuPyBCZWkgNSBTZXJ2ZXJuLCBkaWUgaWNoIGF1c3Byb2JpZXJ0IGhhYmUsCmZ1bmt0aW9uaWVydCBkYXMsIG51ciBiZWkgZGVtIGVpbmVuLCBkZW4gaWNoIHdpcmtsaWNoIGRhenUgYnJhdWNoZSwga2xhcHB0IGRhcwpuaWNodCA6KApJY2ggd2Vpc3MsIGRhc3MgZGFzIGVpbiBXaW5kb3dzLU1haWxzZXJ2ZXIgaXN0LCBhYmVyIGljaCBtdXNzIGlobiBqYSBuaWNodAphZG1pbmlzdHJpZXJlbiwgc29uZGVybiB3aWxsIGRlbSBkdW1tZW4gRGluZyBudXIgZWluZSBNYWlsIGdlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FsZW5kZXIiZGlhZ3JhbW0iIGZ1ZXIgS3Vyc2UgKE1vcmdvdGgsIDI3LiBNYWkgMjAwNCwgMTQ6MzU6MjgpOgpJY2ggc3VjaGUgU29mdHdhcmUgZnVlciBmb2xnZW5kZXMgUHJvYmxlbS4gSWNoIGhhYmUgaGllciBLdXJzZSwgZGllIGljaAp2ZXJ3YWx0ZW4gbXVzcywgZGllIEFjY291bnRzIGF1cyBlaW5lbSBLdXJzYWNjb3VudC1Qb29sIGJlbnV0emVuLiBBbHNvIGljaCBoYWIKei5iLiAzMDAgQWNjb3VudHMgdW5kIEt1cnMgMSBiZW51dHp0IDEtNTAgdm9uIERhdHVtIFggYmlzIERhdHVtIFkuIEt1cnMgMgpiZW51dHp0IDUxLTc1IHZvbiBEYXR1bSBYWCBiaXMgRGF0dW0gWVkgZXRjLgpKZXR6dCBzdWNoIGljaCBlaW5lIFNvZnR3YXJlLCBkaWUgbWlyIGF1cyBkaWVzZW4gRGF0ZW4gZWluZSBLYWxlbmRlcmFuc2ljaHQKZ2VuZXJpZXJ0LiBEaWUgRGlhZ3JhbW1lIGF1cyBNJC1FeGNlbCByZWljaGVuIGxlaWRlciBuaWNodCBhdXMgKG9kZXIgaWNoIGJpbgp6dSBkb29mIGRhcyByaWNodGlnZSB6dSB3YWVobGVuKS4gQWx0ZXJuYXRpdmUgaXN0IHdvaGwgTSQtUHJvamVjdCwgd2FzIGFiZXIKdmllbCBHZWxkIGtvc3RldCAod2FzIHdpciBhdXNnZWJlbiB3dWVyZGVuLCB3ZW5ucyBrZWluZSBBbHRlcm5hdGl2ZSBnaWJ0KS4gCkZyYWdlOiBLZW5udCBqZW1hbmQgZWluZSBBbHRlcm5hdGl2ZSB6dSBNJC1Qcm9qZWN0IHVtIHNvd2FzIHp1IHJlYWxpc2llcmVuPwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYWxlbmRlciJkaWFncmFtbSIgZnVlciBLdXJzZSAoWm9vaywgMjcuIE1haSAyMDA0LCAxNTowNjowNSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODU2NjEzMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTY2MTMyOApJY2ggbWVpbmUgenUgdmVyc3RlaGVuLCBkYXNzIER1IHNvIGV0d2FzIGluIGRlciBBcnQgd2llIEdhbnR0LURpYWdyYW1tZQpoYWJlbiBtb2VjaHRlc3Q7IGZhbGxzIGRlbSBzbyBpc3QsIGRhIHNvbGx0ZSBlcyBhdWNoIGZyZWllIFNvZnR3YXJlIGZ1ZXIKZ2ViZW4sIGRpZSBzb2xjaGUgRGFyc3RlbGx1bmdlbiBlcm1vZ2xpY2h0LiBFdnRsLiBrYW5uIERpciBHb29nbGUgZGEKZXR3YXMgenUgYW5nZWJlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFLYS1ldm9sdXRpb25lbiAoQ2F0d2VhemxlLCAyNy4gTWFpIDIwMDQsIDE1OjQyOjU2KToKTW9pbiEKCldlbm4gaWNoIGV0d3NhIG51IGdlbmF1IGdhciBuaWNodCBtZWhyIGZvbGdlbiBrYW5uL3dpbGwsIHNvIGlzdCBkYXMgZGllCkVudHdpY2tsdW5nc2dlc2NoaWNodGUgdm9uIG1vZGVybmVuIEdyYXBoaWtrYXJ0ZW4uCgpXYXMgaXN0IGRlbm4gYmVzc2VyPyBFaW5lIE1TSSBHRm9yY2U0IDQyMDAgb2RlciBBVEkgUmFkZW9uIDkyMDA/IEFiIHdhbm4gd2llCndlcmRlbiBkaWUgZ2xlaWNod2VydGlnPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FsZW5kZXIiZGlhZ3JhbW0iIGZ1ZXIgS3Vyc2UgKE1vcmdvdGgsIDI3LiBNYWkgMjAwNCwgMTc6MjQ6MjQpOgp+IyEgcm49TW9yZ290aCBydD0xMDg1NjYxMzI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODU2NjEzMjgKU28sIHNlbGJzdHJlcGx5IDopCgpIYWIgbmUgTW9lZ2xpY2hrZWl0IGdlZnVuZGVuIChkYW5rIGFuIFpvb2spIHdpZSBtYW4gZGFzIG1pdCBFeGNlbCAiaGFja2VuIgprYW5uIDopCldlciBzb3dhcyBhdWNoIGJyYXVjaHQsIGVpbmZhY2ggZnJhZ2VuLiBJc3QgdG90YWwgc2ltcGVsLCB3ZW5uIG1hbiBlaW5tYWwKd2Vpc3Mgd2llcyBnZWh0LgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFLYS1ldm9sdXRpb25lbiAoR25vbWUsIDI3LiBNYWkgMjAwNCwgMTk6Mzc6NDMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODU2NjUzNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTY2NTM3NgpkYXMgaXN0IC0gd2llIGZhc3QgaW1tZXIgLSBkYXZvbiBhYmhhZW5naWcsIHdlbGNoZSBzcGllbGUgZHUgc3BpZWxlbgptb2VjaHRlc3QsIG9iIGRpZXNlIG9kZXIgZGllc2UgZnVua3Rpb25lbiBpbSBzcGllbCBtZWhyIGdlbnV0enQgd2VyZGVuCih2ZXJ0ZXgtc2hhZGVyIHVzdy4pLgphdXMgZGVtIGJhdWNoIGhlcmF1cyB3dWVyZGUgaWNoIGRpZXNlIGJlaWRlbiBrYXJ0ZW4gYWxzIGV0d2EgZ2xlaWNod2VydGlnCmFuc2VoZW4gdW5kIGdlYmUgZGlyIGRlbiB0aXAsIGRpZSBrYXJ0ZSB6dSBrYXVmZW4sIGRpZSBwYXNzaXYgZ2VrdWVobHQKd2lyZC4gbm9ybWFsZXJ3ZWlzZSBzaW5kIHJhZGVvbiA5MjAwLWVyIGthcnRlbiBwYXNzaXYgZ2VrdWVobHQgdW5kCmRpZSBmaXJtYSBzYXBwaGlyZSBtYWNodCBkYXMgcmVsYXRpdiBndXQuIHdlbm4gZHUgblZpZGlhIHNjaGFyZiBiaXN0LApiaXR0ZSBkYXJhdWYgYWNodGVuLCBfa2VpbmVfIE1YIHp1IGthdWZlbi4gZGFubiBoYXN0IGR1IHVuZ2VmYWVociBkaWUKbGVpc3R1bmcgZWluZSBnZWZvcmNlMi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdWJ2ZXJzaW9uIChab29rLCAyOC4gTWFpIDIwMDQsIDE5OjQ3OjEyKToKSGFsbG8sIGFyYmVpdGV0IHZvbiBFdWNoIGplbWFuZCBtaXQgU3VidmVyc2lvbiB1bmQga2FubiBtaXIgc2VpbmUgRXJmYWhydW5nZW4KYmVyaWNodGVuIGluc2IuIHdpZSBkZXIgU3VidmVyc2lvbiBpbSBWZXJnbGVpY2ggenUgQ1ZTWypdIGZpbmRldD8KClpvb2suCgogWypdIEluc2IuIGltIFZlcmdsZWljaCB6dSBkaXZlcnNlbiBDVlMtRmFsbHN0cmlja2VuICp6d2lua2VyIE11YWRpYiB6dSoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VidmVyc2lvbiAoTXVhZGliLCAyOC4gTWFpIDIwMDQsIDE5OjU1OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTA4NTc2NjQzMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg1NzY2NDMyCkNWUyBpc3QgZ2FsbGVmb2VyZGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VidmVyc2lvbiAoWm9vaywgMjguIE1haSAyMDA0LCAyMDowOToxMik6Cn4jISBybj1NdWFkaWIgcnQ9MTA4NTc2Njk0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg1NzY2NDMyCkljaCBiaW4gYXVjaCBnZWJyYW5udGVzIEtpbmQgdW5kIGhhYiBzY2hvbiBtYWwgR2FsbGUgZ2VzcHVja3QuIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VidmVyc2lvbiAoWm9vaywgMjkuIE1haSAyMDA0LCAyMTo0NDozOCk6Cn4jISBybj1ab29rIHJ0PTEwODU3Njc3NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTc2NjQzMgpPZGVyIGZvcm11bGllcmVuIHdpciBkaWUgRnJhZ2UgdW06IEJlbnV0enQgamVtYW5kIGVpbiBSZXZpc2lvbiBDb250cm9sIApTeXN0ZW0gIT0gQ1ZTIHVuZCBoYXQgZGFtaXQgRXJmYWhydW5nZW4gZ2VzYW1tZWx0Li4uLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdWJ2ZXJzaW9uIChBbmF0b2wsIDI5LiBNYWkgMjAwNCwgMjI6MDE6NTApOgp+IyEgcm49Wm9vayBydD0xMDg1ODU5ODc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODU3NjY0MzIKRHUgd2lyc3QgZG9jaCB3b2hsIFJDUyBiZW51dHplbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFN1YnZlcnNpb24gKFpvb2ssIDI5LiBNYWkgMjAwNCwgMjI6MDc6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwODU4NjA5MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTc2NjQzMgpKYWphLCB0dWUgaWNoIGphIGZ1ZXIgbWFuY2hlIFNhY2hlbi4gTnVuIHdpbGwgaWNoIGFiZXIgaXJnZW5kd2llIENWUyBsb3MgCndlcmRlbiwgbnVyIGZlaGx0IG1pciBncmFkIG5vY2ggZWluIGd1ZW5zdGlnZXIgRXJzYXR6LiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN1YnZlcnNpb24gKFZhbmlvbiwgMzEuIE1haSAyMDA0LCAxMTo0MzoyMik6Cn4jISBybj1ab29rIHJ0PTEwODU4NTk4Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTc2NjQzMgpDVlMgaXN0IGJlc3NlciBhbHMgUFZDUyAtIHNpbmQgZGFzIGRpZSBFcmZhaHJ1bmdlbiwgZGllIER1IGhvZXJlbiBtYWdzdD8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdWJ2ZXJzaW9uIChab29rLCAzMS4gTWFpIDIwMDQsIDEzOjQ5OjU5KToKfiMhIHJuPVZhbmlvbiBydD0xMDg1OTk2NjAyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODU3NjY0MzIKRGFzIGlzdCBkb2NoIHNjaG9uIGVpbm1hbCBlaW4gQW5mYW5nLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYUthLWV2b2x1dGlvbmVuIChNdXBmZWwsIDMxLiBNYWkgMjAwNCwgMTY6NTE6MTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODU2NjUzNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NTY2NTM3NgpEaWUgR0Y0IGR1ZXJmdGUgZGV1dGxpY2ggcGVyZm9ybWFudGVyIHNlaW4gYWxzIGRpZSA5MjAwZXIsIGRpZSBlaW5lCmFiZ2VzcGVja3RlIDkwMDBlciBpc3QsIHdlbGNoZSB3aWVkZXJ1bSBlaW5lIGFiZ2VzcGVja3RlIDg1MDBlciBpc3QgOykgZGllClJhZGVvbiA5MjAwIGlzdCAgdm9uIGRlciBQZXJmb3JtYW5jZSBpbiBldHdhIHp1IHZlcmdsZWljaGVuIG1pdCBkZXIgR0Y0Ck1YLTQ0MCwgZC5oLiBkZXIgImJpbGxpZyItVmFyaWFudGUgZGVyIEdGNC1LYXJ0ZW4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSVAgYmVrYW5udGdlYmVuIChNZWRpYywgIDIuIEp1biAyMDA0LCAyMzoxMjo1Myk6CkhhbGxvIElociBhbGxlLCBmb2xnZW5kZXMgUHJvYmxlbSB2ZXJzdWNoZSBpcyBzb3dvaGwgdW50ZXIgV2luZG93cyBhbHMgYXVjaAp1bnRlciBMaW51eCB6dSBsb2VzZW46CgpJY2ggaGFiZSAodW50ZXIgV0luIHdpZSB1bnRlciBMaW51eCkgVk5DLWtvbXBhdGlibGUgUmVtb3RlLURlc2t0b3AtUHJvZ3JhbW1lCmVpbmdlcmljaHRldCwgdW0gaGFsdCBhdWYgbWVpbmVuIGhlaW1pc2NoZW4gUEMsIHp1bSBCZWlzcGllbCB2b24gZGVyIFVuaSBhdXMsCnp1Z3JlaWZlbiB6dSBrb2VubmVuLgpMZWlkZXIgaGFiZSBpY2ggaGllciBpbSBVbmluZXR6IGVpbmUgZHluYW1pc2NoZSBJUCwgamVkZW5mYWxscyBuYWNoIGF1c3NlbgpoaW4uIEludGVybiBoYWJlIGljaCBlaW5lICJmZXN0ZSIgSVAgYXVzIGRlbSBwcml2YXRlbiBCZXJlaWNoIChpbiBkaWVzZW0gRmFsbAoxMC54LngueCksIG1pdCBkZSByaWNoIHZvbiBhdXNzZW4gbmF0dWVybGljaCBuaWNodHMgYW5mYW5nZW4ga2Fubi4gSWNoIHNpdHplCmFsc28gaGludGVyIGVpbmVtIFJvdXRlciwgZGVyIG1pciBuYWNoIGplZGVtIG5ldWVuIExvZ2luIGVpbmUgbmV1ZSAiZXh0ZXJuZSIKSVAgYXVzIGRlbSBHZXNhbXRwb29sIHp1d2Vpc3QuIERhaGVyIHd1ZXJkZSBpY2ggbWVpbiBTeXN0ZW0gZ2VybmUgZGF6dQpicmluZ2VuLCBkaWVzZSBJUCBiZWkgamVkZW0gQm9vdHZvcmdhbmcgYXV0b21hdGlzY2ggenUgYmVzdGltbWVuLCBkaWVzZSBpbgplaW5lIFRleHRlZGF0ZWkgenUgc2NocmVpYmVuIHVuZCBkYW5uIHZpYSBGVFAgYXVmIGVpbmVuIHZvcmJlc3RpbW10ZW4sCnBhc3N3b3J0Z2VzY2h1ZXR6ZW4gQWNjb3VudCB6dSBsYWRlbi4gSGF0IGlyZ2VuZGplbWFuZCBlaW5lIElkZWUsIHdpZSBtYW4gc28Kd2FzIGFuZ2VodD8KCihKYSwgRHluRE5TIGlzdCBtaXIgYmVrYW5udCwgaXN0IGFiZXIgYWxsZW5mYWxscyBlaW5lIEZhbGxiYWNrLUxvZXN1bmcsIGZhbGxzCmRhcywgd2FzIGljaCB3aWxsLCBzbyBlaW5mYWNoIG5pY2h0IGdlaHQuKQoKR3J1c3MsCk1lZGljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSVAgYmVrYW5udGdlYmVuIChNdWFkaWIsICAyLiBKdW4gMjAwNCwgMjM6MTc6MTIpOgp+IyEgcm49TWVkaWMgcnQ9MTA4NjIxMDc3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCmljaCBoYWJzIG5pY2h0IGdhbnogdmVyc3RhbmRlbiwgd2VpbCBlcyBpbiBkZWluZW0gYXJ0aWtlbCBldHdhcwpkdXJjaGVpbmFuZGVyZ2VodAphdXMgZGVtIHVuaW5ldHogd2lsbHN0IGR1IGF1ZiBkZWluZW4gaGVpbXBjIHp1Z3JlaWZlbiB1bmQgaW5uZXJoYWxiIGRlcwp1bmluZXR6ZXMgaGFzdCBkdSBlaW5lIGR5bmFtaXNjaGUgaXAuIGRpZSBhdWYgZGVtIGhlaW1yZWNobmVyIGlzdCBmZXN0Lgp3ZW5uIGljaCBkYXMgc28gbGVzZSBmcmFnIGljaCBtaWNoIHdvIGRhcyBwcm9ibGVtIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSVAgYmVrYW5udGdlYmVuIChHcmltbWJvcm4sICAyLiBKdW4gMjAwNCwgMjM6MTg6NDIpOgp+IyEgcm49TXVhZGliIHJ0PTEwODYyMTEwMzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3MwpVbmQgd2VubiBhbGxlcyBzb25zdCBicmVjaGVuIHNvbGx0ZSwgd2FzIGhpbmRlcnQgRGljaCwgZGVuIE91dHB1dCB2b24gaWZjb25maWcKenUgcGFyc2VuIHVuZCBlbnRzcHJlY2hlbmQgenUgc3BlaWNoZXJuL2tvcGllcmVuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElQIGJla2FubnRnZWJlbiAoTWVkaWMsICAyLiBKdW4gMjAwNCwgMjM6MjI6MDIpOgp+IyEgcm49TXVhZGliIHJ0PTEwODYyMTEwMzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3MwpBZWgsIHNvcnJ5LCBmYWxscyBpY2ggZXR3YXMgZHVyY2hlaW5hbmRlciBmb3JtdWxpZXJ0IGhhYmU6CgpBbHNvLCBtZWluIFJlY2huZXIgaGF0IGludGVybiBpbW1lciBkaWVzZWxiZSBJUC4gRGFzIG51dHp0IG1pciBhYmVyIG5pY2h0cywKc29iYWxkIGljaCBtaWNoIGF1cyBkZW4gQm9jaHVtZXIgU3R1ZGl3b2huaGVpbWVuIHJhdXNiZXdlZ2UsIHdlaWwgZGllc2UgSVAgYXVzCmRlbSByZXNlcnZpZXJ0ZW4gQmVyZWljaCBzdGFtbXQgdW5kIGRlciBSRWNobmVyIGRhbWl0IG5pY2h0IHZvbiBleHRyZW4KYW5zcHJlY2hiYXIgaXN0LiBFeHRlcm4gaGF0IGVyIGVpbmUgZHluYW1pc2NoZSBJUC4gVW5kIGRpZSB3dWVyZGUgaWNoIGdlcm4KYXV0b21hdGlzY2ggZXJtaXR0ZWxuIGxhc3NlbiB1bmQgZGFubiB2aWEgRlRQIGF1ZiBlaW5lbiBTZXJ2ZXIgaG9jaGxhZGVuLApkYW1pdCBpY2ggdm9uIGVpbmVtIGJlbGllYmlnZW4gUmVjaG5lciBhdWYgbWVpbmVuIHp1Z3JlaWZlbiBrYW5uLgpEaWUgZHluYW1pc2NoZSBJUCB3aXJkIGFsbGVyZGluZ3MgdmlhIE5BVCB2b24gZWluZW0gUm91dGVyIGltIFJaIHZlcndhbHRldCwKYXVmIGRlbiBpY2gga2VpbmVuIFp1Z3JpZmYgaGFiZSwgZGFzIGhlaXNzdCBzb21pdCwgZGFzIG1laW4gZWlnZW5lciBSZWNobmVyCmRpZXNlIElQIGdhciBuaWNodCAic2llaHQiLCB1bmQgZGFoZXIgbXVlc3N0ZSBpY2ggZGllIHZvbiBleHRlcm4gYWJmcmFnZW4KbGFzc2VuLgpJY2ggaG9mZmUsIGRhcyBtYWNodCBlcyBrbGFyZXIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElQIGJla2FubnRnZWJlbiAoTWVkaWMsICAyLiBKdW4gMjAwNCwgMjM6MjM6NTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwODYyMTExMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3MwpEYXJhbiBoaW5kZXJ0IG1pY2gsIGRhc3MgbWVpbiBlaWdlbmVyIFJlY2huZXIgZGllc2UgSVAgZWJlbiBuaWNodCBzaWVodCwKc29uZGVybiBudXIgc2VpbmUgaW50ZXJuZSBJUC4gTkFUIGViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJUCBiZWthbm50Z2ViZW4gKEdyaW1tYm9ybiwgIDIuIEp1biAyMDA0LCAyMzoyNTowNik6Cn4jISBybj1NZWRpYyBydD0xMDg2MjExNDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKQmVpIE5BVCBrYW5uc3QgRHUgdm9uIGF1c3NlbiBlaCBuaWNodCBhdWYgRGVpbmVuIFJlY2huZXIgenVncmVpZmVuLiBWb24gYXVzc2VuCndpcmQgamEgZWggbnVyIGRpZSBJUCBkZXMgTkFUaXNpZXJlbmRlbiBSZWNobmVycyBnZXNlaGVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJUCBiZWthbm50Z2ViZW4gKEh1bW5pLCAgMi4gSnVuIDIwMDQsIDIzOjI2OjQ4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDg2MjExNTA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKRGllIGthbm5zdCBkdSByYXVza3JpZWdlbi4gdGYgc3RhcnRlbiwgWndlaXRpZSBlaW5sb2dnZW4uIGF1c2xvZ2dlbi4gV2llZGVyCmVpbmxvZ2dlbiwgdHJpZ2dlcm4gYXVmICwsRGFzIGxldHp0ZSBNYWwga2Ftc3QgRHUgdm9uJycuCgpEYXMgZGFubiB3aWUgZ2V3dWVuc2NodCBob2NobGFkZW4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSVAgYmVrYW5udGdlYmVuIChNZWRpYywgIDIuIEp1biAyMDA0LCAyMzoyNzoyMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4NjIxMTUwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCkphLCBhYmVyIGRpZXNlciBOQVRpc2llcmVuZGUgUmVjaG5lciBpc3QgaW4gZGllc2VtIEZhbGwgZWluIFJvdXRlciwgZGVyIGRhcwpuaWNodCBmdWVyIGVpbmVuLCBzb25kZXJuIGZ1ZXIgbmUgZ2FuemUgUmVpaGUgdm9uIFJlY2huZXJuIG1hY2h0IHVuZCBkYXMgMToxCmR1cmNoc2NoYWx0ZXQuIERhaGVyIGdpbmdlIGRhcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IElQIGJla2FubnRnZWJlbiAoUm9uZGEsICAyLiBKdW4gMjAwNCwgMjM6Mjg6MjgpOgp+IyEgcm49TWVkaWMgcnQ9MTA4NjIxMTY0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCkJpc3QgRHUgc2ljaGVyLCBkYXNzIGRlciBSb3V0ZXIgZGFzIDE6MSBkdXJjaGdpYnQgdW5kIG5pY2h0IDE6bj8KClJvbmRhICprZWluZSBBaG51bmcgdm9uIE5BVCBoYWJlbmQsIGFiZXIgZGFzIGdlcm4gbGVybmVuIHdvbGxlbmQqCgpQczogV2FyIGRhcyBncmFkIG5lbiBHZXJ1bmRpdW0gb2RlciBuZW4gR2VydW5kaXZ1bT8hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJUCBiZWthbm50Z2ViZW4gKE1lZGljLCAgMi4gSnVuIDIwMDQsIDIzOjMzOjEzKToKfiMhIHJuPVJvbmRhIHJ0PTEwODYyMTE3MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3MwpBbHNvLCBpY2ggd2Vpc3MsIGRhcyBpY2ggbWVpbmVuIFJlY2huZXIgZHVyY2hhdXMgdm9uIGV4dGVybiBhbnNwcmVjaGVuIGthbm4sCndlbm4gaWNoIGRpZSBnZXJhZGUgYWt0dWVsbGUgSVAga2VubmUsIGphLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSVAgYmVrYW5udGdlYmVuIChIdW1uaSwgIDIuIEp1biAyMDA0LCAyMzozMzo0MSk6Cn4jISBybj1NZWRpYyBydD0xMDg2MjExOTkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKSmV0enQgZXJrbGFlciBtaXIsIHdhcyBnZWdlbiBtZWluZSBMb2VzdW5nIHNwcmljaHQ/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSVAgYmVrYW5udGdlYmVuIChNZWRpYywgIDIuIEp1biAyMDA0LCAyMzozNTowNSk6Cn4jISBybj1IdW1uaSBydD0xMDg2MjEyMDIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKRGFnZWdlbiBzcHJpY2h0LCBkYXNzIGRhcyBnYW56ZSB1bnRlciBXaW5kb29mIGF1Y2ggbm9jaCBhbHMgU3lzdGVtIFNlcnZpY2UKbGF1ZmVuIGtvZW5uZW4gbXVlc3N0ZSB1bmQgYXV0b21hZ2lzY2ggdm9yIGxvZ2luIGVpbmVzIFVzZXJzIGFibGF1ZmVuCnNvbGx0ZS4uLnNvbnN0IHdhZXJlIGVzIHZvbSBwcmluemlwIGhlciBzaWNoZXIgbW9lZ2xpY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBJUCBiZWthbm50Z2ViZW4gKENhdHdlYXpsZSwgIDIuIEp1biAyMDA0LCAyMzo1MDo1Mik6Cn4jISBybj1NZWRpYyBydD0xMDg2MjEyMTA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKSWNoIGhhYiBqZXR6dCBrZWluZSBMdXN0IG1laHIgYXVmIERldGFpbHMuIAoKTWVpbmUgcmVsaWdpb2VzZSBBdXNzYWdlIHdhZXJlLCBtYWNoIElQdjYgdW5kIGJlbnV0eiBlaW5lbiBPcGVuVlBOLVR1bm5lbCwKZGFubiBoYXN0IGR1IF9uaWVfIFZlcmJpbmR1bmdzYWJicnVlY2hlIHVuZCBmaW5kZXN0IGRlaW5lbiBSZWNobmVyIGltbWVyIG1pdApkZXIgZ2xlaWNoZW4gSVAodjYpLiAgCgpSZWFsaXN0aXNjaCB3dWVyZGUgaWNoIHNhZ2VuLCBWUE4gaXN0IGRlaW4gRnJldW5kLCBkZW5rIGRpciBkYW1pdCB3YXMgYXVzLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBJUCBiZWthbm50Z2ViZW4gKE11YWRpYiwgIDMuIEp1biAyMDA0LCAxMDo0NDo1OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4NjIxMzA1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCmh0dHA6Ly93d3cucHJvLWxpbnV4LmRlL25ld3MvMjAwMy81MDc5Lmh0bWwgZnVlciBzY3JpcHRiYXNpZXJ0ZSBhdXN3ZXJ0dW5nIGRlcgppbmZvcyB2b24gZHluZG5zIChvaG5lIGRlbiBkaWVuc3QgenUgYmVhbnNwcnVjaGVuKQphbHRlcm5hdGl2IHNvIHByb2dyYW1tZSB3aWUgemIgZGllc2VzCmh0dHA6Ly93d3cuaHVtbWVsMS5kZS9zb2Z0L3Byb2d3Ym0zLmh0bSNEeW5hbUlQCnNvbGx0ZSBlcyBub2NoIG1laHJlcmUgc29sY2hlIGdlYmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJUCBiZWthbm50Z2ViZW4gKEVuc29mLCAgMy4gSnVuIDIwMDQsIDEwOjQ1OjM1KToKfiMhIHJuPU1lZGljIHJ0PTEwODYyMTEzMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3MwpBbHNvIG1laW4gUmVjaG5lciwgZGVtIGJlaSBULU9ubGluZSAoRFNMKSBhdWNoIGR5bmFtaXNjaCBlaW5lIEFkcmVzc2UKenVnZXdpZXNlbiB3aXJkLCBrYW5uIGRpZSBtaXQgaWZjb25maWcgLWEgc2VociB3b2hsIHNlaGVuLiBJY2ggdWViZXJ0cmFnZQpkaWVzZSBEYXRlbiBpbiBlaW4gcGFzc3dvcnRnZXNjaHVldHp0ZXMgSFRNTC1Eb2t1bWVudCwgZGFzcyBzaWNoIGF1ZgplaW5lciBIb21lcGFnZSBpbSBXZWIgYmVmaW5kZXQuIERhbWl0IGthbm4gaWNoIG5hY2ggamVkZW0gTmV0enJlc3RhcnQKdW5kIGplZGVtIFJlYm9vdCBzZWhlbiwgd2llIG1laW5lIElQIGlzdC4KCkVuc29mCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJUCBiZWthbm50Z2ViZW4gKE11YWRpYiwgIDMuIEp1biAyMDA0LCAxMDo0Nzo1MSk6Cn4jISBybj1FbnNvZiBydD0xMDg2MjUyMzM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKaWhtIHdpcmQgYWJlciBrZWluZSBkeW5hbWlzY2hlIGlwIGRpcmVrdCB6dWdld2llc2VuIHdpZSBlciBiZXJlaXRzIHNjaHJpZWIKc29uZGVybiBkZXIgcm91dGVyIGVybGVkaWd0IGRhcyBnYW56ZSBmdWVyIGlobiB0cmFuc3BhcmVudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSVAgYmVrYW5udGdlYmVuIChCYW1iaSwgIDMuIEp1biAyMDA0LCAxMDo1ODo1Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTA4NjI1MjQ3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCkRhIGdhYnMgZWluZSBTZWl0ZSBpbSBXZWIsIGRpZSBEaXIgc29nYXIgZWluZW4gZWlnZW5lbiBOYW1lbiBmdWVyIERlaW5lbgpSZWNobmVyIGhhZWx0LiBEdSBpbnN0YWxsaWVyc3QgZWluIFByb2dyYW1tIGF1ZiBkZWluZW0gUmVjaG5lciwgd2VsY2hlcyBkZXIKU2VpdGUgZWluZmFjaCBtaXR0ZWlsdCwgZGFzcyBEZWluIFJlY2huZXIgb25saW5lIGlzdC4gVWViZXIKZGVpbl90b2xsZXNfa3VlcnplbC5kZXJfZG9tYWlubmFtZV9kZXNfYW5iaWV0ZXJzX2Rlcl9taXRfZHVtbWVyd2Vpc2VfbmljaHRfZWluCmZhZWxsdC5zZWluZV90bGQga2FubnN0IER1IERlaW5lbiBSZWNobmVyIGRhbm4gYW5zcHJlY2hlbi4gU29nYXIgb2huZSBkaWUgSVAKenUga2VubmVuLiBXaWUgYXVzIGRlciBEb21haW5hbmdhYmUgc2Nob24gZXJzaWNodGxpY2ggZmFlbGx0IG1pciBkZXIgQW5iaWV0ZXIKZGllc2VzIERpZW5zdGVzIGdlcmFkZSBuaWNodCBlaW4sIGFiZXIgd2VubiBNYW5kcmFnb24gbWFsIHdpZWRlciBvbmxpbmUgZ2VodCwKa2FubnN0IER1IGlobiBqYSBmcmFnZW4uCkFjaHNvLCBkYXMgUG9zdGluZyBnaW5nIGFuIGRlbiBsZXR6dGVuIEFydGlrZWwgaW0gVGhyZWFkLCBuaWNodCBzcGV6aWVsbCBhbgpNdWFkaWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJUCBiZWthbm50Z2ViZW4gKE5pYmVsLCAgMy4gSnVuIDIwMDQsIDExOjAzOjQ2KToKfiMhIHJuPUJhbWJpIHJ0PTEwODYyNTMxMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3Mwp6LkIuIG5vLWlwLm9yZwogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSVAgYmVrYW5udGdlYmVuIChHcmltbWJvcm4sICAzLiBKdW4gMjAwNCwgMTE6MDY6NTgpOgp+IyEgcm49TmliZWwgcnQ9MTA4NjI1MzQyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCkRlciBiZWthbm50ZXN0ZSBpc3Qgd29obCBkeW5kbnMub3JnLCBkaWUgd2llZGVydW0gZWluZW4gZ2FuemVuIEhhdWZlbgpEb21haW5uYW1lbiBhbmJpZXRlbiwgc293ZWl0IGljaCBtaWNoIGVyaW5uZXJlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBJUCBiZWthbm50Z2ViZW4gKE11YWRpYiwgIDMuIEp1biAyMDA0LCAxMToyNDowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4NjI1MzYxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg2MjEwNzczCmRpZXNlbiBkaWVuc3Qgd29sbHRlIGVyIGFiZXIgYXVzZHJ1ZWNrbGljaCBuaWNodCBuZWhtZW4gd2VubiBpY2ggZGFzIHJpY2h0aWcKc2VoZSA6PSkKCndhcnVtIGVpZ2VudGxpY2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBJUCBiZWthbm50Z2ViZW4gKE5vbm5lLCAgMy4gSnVuIDIwMDQsIDExOjI1OjE2KToKfiMhIHJuPU11YWRpYiBydD0xMDg2MjU0NjQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODYyMTA3NzMKTWFuIGthbm4gc2ljaCBkb2NoIGF1Y2ggZWluIGtsZWluZW4gUEhQLSB1bmQgQ0dJLVNrcmlwdCBhdWYgZWluZW4gU2VydmVyCnBhY2tlbiwgZGVyIGdlbmF1IGRhcyBtYWNodCwgd2FzIGVyIGltIEVpbmdhbmdzcG9zdGluZyB3b2xsdGU6IEVpbmUgRGF0ZWkgbWl0CmRlciBJUCBoaW50ZXJsZWdlbi4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElQIGJla2FubnRnZWJlbiAoT2dvLCAgMy4gSnVuIDIwMDQsIDE2OjMxOjE0KToKfiMhIHJuPU1lZGljIHJ0PTEwODYyMTA3NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4NjIxMDc3Mwp3Z2V0IC1xIC1PIC0gaHR0cDovL3d3dy5zaG93bXlpcC5jb20veG1sIHwgYXdrICcvaXA+KC4qKTwvIHtwcmludCAkMX0nIHwgCm5jZnRwcHV0IGJsdWJAYmx1Yi5jb20gL3RtcC9pcC50eHQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUDMtUGxheWVyL1VTQi1TdGljayAoTWVkaWMsIDExLiBKdW4gMjAwNCwgMjE6Mjc6NTApOgpIaSwKCmljaCB3b2xsdGUgbWlyIGdlcm5lIGVpbmVuIE1QMy1QbGF5ZXIgenVsZWdlbiwgdW5kIHp3YXIgZWluZW4gVVNCLVN0aWNrIG1pdApNUDMtUGxheWVyLUZ1bmt0aW9uLiAxMjhNQiBTcGVpY2hlciB3dWVyZGVuIHJlaWNoZW4sIGRhIGljaCBuaWNodCBzbyB2aWVsIEdlbGQKYXVzZ2ViZW4gbW9lY2h0ZS4gV2VydCBsZWdlIGljaCBkYXJhdWYsIGRhc3MgZXIgbW9lZ2xpY2hzdCBrbGVpbiBpc3QuClNjaG5pY2tzY2huYWNrIHdpZSBUaXRlbGFuemVpZ2UgZXRjLiBzaW5kIGtlaW4gbXVzcy4gS2xhbmdxdWFsaXRhZXQgc29sbHRlCm9yZGVudGxpY2ggc2VpbiwgYWJlciBlaW5lIEVpZ251bmcgZnVlciBIaWdoLUVuZC1QdXJpc3RlbiBpc3Qga2VpbiBtdXNzLgpLYW5uIG1pciBqZW1hbmQgZWluIGtvbmtyZXRlcyBNb2RlbGwgbWl0IEJlenVnc3F1ZWxsZSBlbXBmZWhsZW4gb2RlciB1bWdla2VocnQKbWljaCB2b3IgYmVzdGltbXRlbiBwcm9kdWt0ZW4gd2FybmVuPwoKRGFua2UsCk1lZGljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVAzLVBsYXllci9VU0ItU3RpY2sgKE11cGZlbCwgMTEuIEp1biAyMDA0LCAyMzoyOTowMyk6Cn4jISBybj1NZWRpYyBydD0xMDg2OTgyMDcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODY5ODIwNzAKTWFuIGthbm4gc2ljaCBuYXR1ZXJsaWNoIGF1c3JlY2huZW4sIHdpZXZpZWwgTXVzaWsgaW4gYW5uZWhtYmFyZXIgUXVhbGl0YWV0IGluCjEyOCBNQiB6dSBrb21wcmltaWVyZW4gZ2VodC4uLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVAzLVBsYXllci9VU0ItU3RpY2sgKE1lZGljLCAxMS4gSnVuIDIwMDQsIDIzOjI5OjU1KToKfiMhIHJuPU11cGZlbCBydD0xMDg2OTg5MzQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODY5ODIwNzAKRnVlciBtZWhyIGFscyBuZSBTdHVuZGUgSm9nZ2luZyBtdXNzIGVzIGF1Y2ggbmljaHQgcmVpY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1QMy1QbGF5ZXIvVVNCLVN0aWNrIChHbG9pbnNvbiwgMTIuIEp1biAyMDA0LCAxOTo1MToyNik6Cn4jISBybj1NZWRpYyBydD0xMDg2OTg5Mzk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODY5ODIwNzAKV2VubiBkYXMgVGVpbCBXTUEvTVAzLVBybyBrYW5uLCByZWljaHQgZXMgZGVmaW5pdGl2IGZ1ZXIgSm9nZ2luZy4gRGEgTWFydGluYXMKQW5zcHJ1ZWNoZSBob2VoZXIgbGllZ2VuIHVuZCBnZXJhZGUgZGllIFF1YWxpdGFldCBlaGVyIHN1Ympla3RpdiBpc3QgZW50aGFsdGUKaWNoIG1pY2ggZWluZXIgRW1wZmVobHVuZyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1Z3JpZmYgKE1lZGljLCAyMS4gSnVuIDIwMDQsIDIwOjUzOjMxKToKQWxzbywgZm9sZ2VuZGVzIFByb2JsZW06CgpJY2gga2FubiB2aWEgSW50ZXJuZXQgYXVmIGVpbmVuIFJlY2huZXIgbWl0IGZlc3RlciBJUCBvaG5lIFByb2JsZW1lIHp1Z3JlaWZlbiwKa2xhci4gSmV0enQgaGFlbmd0IGFiZXIgbG9rYWwgYW4gZGllc2VtIFJlY2huZXIgbm9jaCBlaW4gendlaXRlciBSZWNobmVyLCBkZXIKZGllIEludGVybmV0dmVyYmluZHVuZ3NmcmVpZ2FiZSBkZXMgZXJzdGVuIFJlY2huZXJzIG51dHp0LCBhYmVyIGxlZGlnbGljaCBlaW5lCklQIGF1cyBkZW0gcmVzZXJ2aWVydGVuIEJlcmVpY2ggMTkyLngueC54IGJlc2l0enQsIHZvbiBhdXNzZW4gYWxzbyBuaWNodAphbnNwcmVjaGJhciBpc3QuIEdpYnQgZXMgZWluZSBNb2VnbGljaGtlaXQsIHRyb3R6ZGVtIGF1ZiBkaWVzZW4gUmVjaG5lcgp6dXp1Z3JlaWZlbj8gS29ua3JldCBnZWh0IGVzIHVtIGVpbmUgUmVtb3RlLURlc2t0b3AtQXBwbGlrYXRpb24gKFRpZ2h0Vk5DKS4KCkRhbmtlIGZ1ZXIgZXR3YWlnZSBUaXBwcywKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadWdyaWZmIChPZ28sIDIxLiBKdW4gMjAwNCwgMjM6MDc6MjMpOgp+IyEgcm49TWVkaWMgcnQ9MTA4Nzg0NDAxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg3ODQ0MDExCnNzaCAtTCA2NjY6aW50ZXJuZXJfcmVjaG5lcjo2NjY2IHJlY2huZXJfaW1faW50ZXJuZXQKCmdlaHQgYXVjaCBtaXQgcHV0dHkKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFUZVggLyBadWFyYmVpdGVuIChab29rLCAgOC4gSnVsIDIwMDQsIDEwOjQ2OjUxKToKSGksIGVpbmUgaXJnZW5kd2FubiBhbnN0ZWhlbmRlIFB1Ymxpa2F0aW9uIG1vZWNodGUgaWNoIG1pdCBMYVRlWCBzZXR6ZW4uIApKZWRvY2ggc3RlaHQgenUgYmVmdWVyY2h0ZW4sIGRhc3MgbmljaHQgYWxsZSBBdXRvcmVuIGVzIHNjaGFmZmVuIHdlcmRlbiwKaWhyZW4gQmVpdHJhZyBpbiBMYVRlWCBlaW56dXJlaWNoZW4uIFdlbGNoZSBhbmRlcmVuIEZvcm1hdGUgc29sbHRlIGljaAplcm1vZWdsaWNoZW4sIHNvIGRhc3MgaWNoIGJlaW0gIlVtYmFzdGVsbiIgaW4gTGFUZVggd2VuaWcgUHJvYmxlbWUgaGFiZT8KSGF0IGplbWFuZCB2b24gRXVjaCBkYW1pdCBFcmZhaHJ1bmdlbiBnZXNhbW1lbHQgdW5kIGthbm4gZWluZW4gVGlwIGdlYmVuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYVRlWCAvIFp1YXJiZWl0ZW4gKEdyaW1tYm9ybiwgIDguIEp1bCAyMDA0LCAxMDo1Mjo0Mik6Cn4jISBybj1ab29rIHJ0PTEwODkyNzY0MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4OTI3NjQxMQpEYSB3dWVyZGUgc2ljaCwgZ2xhdWJlIGljaCwgUG9zdHNjcmlwdCBhbmJpZXRlbi4KVmVyZ2lzcyBhYmVyIG5pY2h0LCB2b3JoZXIgZXhha3RlIEFuZ2FiZW4genVtIExheW91dCB6dSBtYWNoZW4uIFdlbmlnIFByb2JsZW1lCmJlaW0gVW1iYXN0ZWxuIG1hY2h0IHZlcm11dGxpY2ggYXVjaCBIVE1MLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFUZVggLyBadWFyYmVpdGVuIChDYXR3ZWF6bGUsICA4LiBKdWwgMjAwNCwgMTA6NTQ6NTQpOgp+IyEgcm49Wm9vayBydD0xMDg5Mjc2NDExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODkyNzY0MTEKSXN0IHRvdGFsIGVnYWwsIGxhc3Mgc2llIHNjaHJlaWJlbiB3aWUgc2llIHdvbGxlbiwgZHUgbXVzc3QgZWggaGludGVyaGVyIGRyYW4KcnVtZnJpY2tlbG4uCgpBbGxlIGdhZW5naWdlbiAiRWRpdG9yZW4iIGhhYmVuIGVpbmVuIGh0bWwtZXhwb3J0LCB6dXIgbm90IG1hY2hzdGUgYWxzbwpodG1sMnRleC4gCkFtIGVpbmZhY2hzdGVuIGlzdCBwbGFpbiB0ZXh0IHVuZCBCaWxkZXIgZXh0cmEgZ2ViZW4gbGFzc2VuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhVGVYIC8gWnVhcmJlaXRlbiAoWmFybml5YSwgIDguIEp1bCAyMDA0LCAxMzowMDo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4OTI3Njg5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5Mjc2NDExCmljaCB3dWVyZGUgYXVjaCBhc2NpaXR4dCBlbXBmZWhsZW4gdW5kIGRpZSBCaWxkZXIgZGFubiBleHRyYSwgZGVubiBkYW5uIG11c3N0CmR1IHp1bWluZGVzdCBrZWluZSBmYWxzY2hlbiBDb21tYW5kcyByYXVzbG9lc2NoZW4uIAoKQWx0ZXJuYXRpdiB3aXJkIGJlaSB2aWVsZW4gVGFndW5nZW4gdW5kIEtvbmZlcmVuemVuIGltIHdpc3NlbnNjaGFmdGxpY2hlbgpCZXJlaWNoIG1pdCBXZWJmb3JtdWxhcmVuIGdlYXJiZWl0ZXQsIHdvIG1hbiBkZW4gVGV4dCBlaW5nZWJlbiBrYW5uIHVuZCBkYXMKd2lyZCBkYW5uIGF1dG9tYXRpc2NoIGluIExhdGV4IGdlc2V0enQuIGlzdCBkaWUgRnJhZ2UsIG9iIER1IHNjaG5lbGwgZ2VudWcgZGllCmVudHNwcmVjaGVuZGVuIFNrcmlwdGUgZnVlciBXZWJzZWl0ZW4gYmVzb3JnZW4vcHJvZ3JhbW1pZXJlbiBrYW5uc3QuIAoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmx5ZXIgKEFsYm9pbiwgMTIuIEp1bCAyMDA0LCAxNToxODozOSk6CkhhbGxvIGljaCBoYWJlIGVpbmVuIEZseWVyIHp1IGVyc3RlbGxlbiBiZWkgZGVyIGF1ZiBlaW5lciBTZWl0ZSBlaW5lIFRhYmVsbGUKaW0gUXVlcmZvcm1hdCB6dSBzZWluIGhhdC4gS3JpZWd0IG1hbiBkYXMgbWl0IE9mZmljZVhQIG9kZXIgT3Blbm9mZmljZSBoaW4/CkRhcyBlaW56aWdlIHdhcyBtaXIgbW9tZW50YW4gYWxzIE1nbGljaGtlaXQgdm9yc2Nod2VidCBpc3QgZGFzIEdhbnplIG1pdCAyCkRva3VtZW50ZW4genUgbWFjaGVuOiBkZW4gRmx5ZXIgdW5kIGRpZSBUYWJlbGxlIHVuZCBkYW5uIGRhcyBQYXBpZXIgaGFsdCAyIG1hbApnZWRydWNrdCB3ZXJkZW4gbXVzcy4gV2VyIG5lIGJlc3NlcmUgSWRlZSBoYXQgZGFyZiBzaWNoIGdlcm5lIGJlaSBtaXIgbWVsZGVuLgoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRIQ1AgLyBTeXNsb2dkLVByb2JsZW0gKE1vcmdvdGgsIDEyLiBKdWwgMjAwNCwgMTU6MjI6MzcpOgpIaQoKd2lyIGhhYmVuIGhpZXIgbmUgVWx0cmFTcGFyYyBJSSBzdGVoZW4gYXVmIGRlciBSZWRIYXQgIkFuc2VsIiB1bmQKZGhjcC0zLjAuMXJjMTQgaW5zdGFsbGllcnQgaXN0LiBEYXMgVGVpbGNoZW4gZGllbnQgdS5hLiBhbHMgREhDUC1TZXJ2ZXIuIERlcgpmdW5rdGlvbmllcnQgYXVjaCwgbnVyIG5hY2ggZWluaWdlbiBUYWdlbiAodW5iZXN0aW1tdGUgWmVpdCkgc3Bpbm5lbiBkZXIgZGhjcGQKdW5kIHN5c2xvZ2QgaW4gZGVtIHNpZSBjYS4gMTQwMDAwIChlaW5odW5kZXJ0dmllcnppZ3RhdXNlbmQpIEVpbnRyYWVnZSBwcm8KTWludXRlIHJhdXNiYWxsZXJuLiBEYXMgZnJpc3N0IG5hdHVlcmxpY2ggMTAwJSBDUFUtWmVpdC4KTmV1c3RhcnRlbiBkZXIgZWluemVsbmVuIERpZW5zdGUgYnJpbmd0IG5peCwgbnVyIGVpbiBrb21wbGV0dGVyIHJlYm9vdC4KRGllIHZvcmhlcmlnZSBkaGNwZC12ZXJzaW9uIGxpZWYgdGFkZWxsb3MsIGFsbGVyZGluZ3MgYXVjaCBpbmNsLgpTaWNoZXJoZWl0c2xvY2ggOiggCkhhdCBpcmdlbmRqZW1hbmQgbmUgSWRlZSwgd2FzIGRhIHNjaGllZmxhZXVmdD8KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmx5ZXIgKEdyaW1tYm9ybiwgMTIuIEp1bCAyMDA0LCAxNToyODowOSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA4OTYzODMxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CkR1IG11c3N0IGRhcyBQYXBpZXIgbmljaHQgendlaW1hbCBiZWRydWNrZW4uIEluIG1laW5lciBKdWdlbmQgaGFiZW4gd2lyIGRpZQpTY2h1ZWxlcnplaXR1bmcgYmVpc3BpZWxzd2Vpc2Ugbm9jaCBtaXQgU2NoZXJlIHVuZCBLbGVic3RvZmYgbGF5b3V0ZXQuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZseWVyIChab29rLCAxMi4gSnVsIDIwMDQsIDE1OjMwOjU3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDg5NjM4ODg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODk2MzgzMTkKT2gsIGljaCBzb2xsdGUgbWFsIHdpZWRlciBtZWluZSBaZWl0dW5nc3ZlcnN1Y2hlIHZvbiBmcnVlaGVyIGFuc2NoYXVlbi4KCklyZ2VuZHdvIGhhYiBpY2ggYXVjaCBub2NoIG5lbiBob2Nob2ZmaXppZWxsZXMgUGFwaWVyIG1laW5lcyBEaXJleCwgZGFzcwppY2ggU2NodWVsZXJ6ZWl0dW5nc21hY2hlciBiaW4gOykpKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZmx5ZXIgKEFsYm9pbiwgMTIuIEp1bCAyMDA0LCAxODoyMTowMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4OTYzODg4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CkZ1ZXIgZGllIGRpZSBlcyBpbnRlcmVzc2llcnQ6IG1pdCBXb3JkIGdlaHQgZXMgLiBUYWJlbGxlIHplaWNobmVuICwgbnVyClNwYWx0ZW5hbnphaGwgdW5kIFplaWxlbmFuemFobCB2ZXJ0YXVzY2hlbiwgZGFubiBhdWYgZGllIFplbGxlbiBrbGlja2VuLT4KQWJzYXR6cmljaHR1bmcgdW5kIHdhZWhsZW4sIGdlaHQgc29nYXIgdm9uIG9iZW4gbmFjaCB1bnRlbiBhbHMgYXVjaCB2b24gdW50ZW4KbmFjaCBvYmVuLiBEYW5rZSBhbiBNYWRuZXNzIHVuZCBHbm9tZSEKQmVpIE9wZW5vZmZpY2UgZ2VodCBkYXMgbnVyIGZ1ZXIgT2JqZWt0ZSBiZWltIERyYXdlciBhYmVyIG5pY2h0IGJlaSBUYWJlbGxlbgppbSBXcml0ZXIsIHNjaGFkZSBlaWdlbnRsaWNoLgoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZseWVyIChNYWFyZywgMTIuIEp1bCAyMDA0LCAxODoyNDoyOSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA4OTY0OTI2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CldhcyBwYXNzaWVydCBkZW5uIGJlaSBTcGFsdGVuemFobCA9PSBaZWlsZW56YWhsPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZmx5ZXIgKEFsYm9pbiwgMTIuIEp1bCAyMDA0LCAxODoyNzoyNSk6Cn4jISBybj1NYWFyZyBydD0xMDg5NjQ5NDY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODk2MzgzMTkKZGllIFRhYmVsbGUgd2lyZCBkYWR1cmNoICJnZWRyZWh0Ii4KCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmbHllciAoTXVwZmVsLCAxMi4gSnVsIDIwMDQsIDIwOjA2OjExKToKfiMhIHJuPUFsYm9pbiBydD0xMDg5NjQ5MjYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODk2MzgzMTkKTWl0IFJhZ3RpbWUgUHJpdmF0ICh3d3cucmFndGltZS5kZSkga2FubnN0IER1IGRpZSBUYWJlbGxlIHNvZ2FyIHVtIGJlbGllYmlnZQpXaW5rZWwgZHJlaGVuIC0gdW5kIHdlaXRlcmhpbiBiZWFyYmVpdGVuISA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGZseWVyIChab29rLCAxMi4gSnVsIDIwMDQsIDIwOjA3OjE5KToKfiMhIHJuPU11cGZlbCBydD0xMDg5NjU1NTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwODk2MzgzMTkKTWl0IFxyb3RhdGVib3ggdW5kIG5lbSByaWNodGlnZW4gVGV4dHNhdHpzeXN0ZW0gYXVjaC4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmbHllciAoR3JpbW1ib3JuLCAxMi4gSnVsIDIwMDQsIDIwOjA4OjI3KToKfiMhIHJuPVpvb2sgcnQ9MTA4OTY1NTYzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5ClNlaW5lbiBWb3JnYWJlbiB6dWZvbGdlIHdvbGx0ZSBlciBleHBsaXppdCBrZWluIFRleHRzYXR6c3lzdGVtLiBTb25zdCBoYWV0dGUKbWFuIGF1Y2ggYXVjaCBRdWFyayB2b3JzY2hsYWdlbiBrb2VubmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmbHllciAoTXVwZmVsLCAxMi4gSnVsIDIwMDQsIDIwOjIxOjQxKToKfiMhIHJuPVpvb2sgcnQ9MTA4OTY1NTYzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CkRlaW4gInJpY2h0aWdlcyBUZXh0c2F0enN5c3RlbSIga2FubiBpbiBkZXIgVGFiZWxsZSBhdWNoIHJlY2huZW4/IDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZmx5ZXIgKEdyaW1tYm9ybiwgMTIuIEp1bCAyMDA0LCAyMDoyMzoyNyk6Cn4jISBybj1NdXBmZWwgcnQ9MTA4OTY1NjUwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CldhcyB3aWxsc3QgRHU/IEVpbiBQcm9ncmFtbSwgdW0gVGV4dCB6dSBzZXR6ZW4sIG9kZXIgZWlucywgdW0gVGV4dGVsZW1lbnRlCmVyc3QgenUgZXJzdGVsbGVuPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZmx5ZXIgKFpvb2ssIDEyLiBKdWwgMjAwNCwgMjA6MjY6MTMpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODk2NTY1MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA4OTYzODMxOQpNZWluIHJpY2h0aWdlcyBUZXh0c2F0enN5c3RlbSBoYXQgZWluIGdhbnplcyBTdGF0aXN0aWtwYWtldCBpbSBadWdyaWZmLCBqYSwKZGlyZWt0IGltIExhVGVYLUZpbGUuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGZseWVyIChEYXJrbG9yLCAxMy4gSnVsIDIwMDQsIDExOjI5OjMyKToKfiMhIHJuPVpvb2sgcnQ9MTA4OTY1Njc3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5ClF1YXJrIGlzc3QgbWFuLCBtYW4gYmVudXR6dCBpaG4gbmljaHQsIGRlbm4gZGFzIHdhZXIgamEgUXVhcmsuCgpEYXJrbG9yIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBmbHllciAoR3JpbW1ib3JuLCAxMy4gSnVsIDIwMDQsIDExOjMzOjM2KToKfiMhIHJuPURhcmtsb3IgcnQ9MTA4OTcxMDk3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5ClRlaWxjaGVucGh5c2lrOiBzZWNocy4gU2V0emVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBmbHllciAoRGFya2xvciwgMTMuIEp1bCAyMDA0LCAxMTo0OTo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA4OTcxMTIxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4MzE5CgpodHRwOi8vd3d3LmxlYmVuc21pdHRlbGxleGlrb24uZGUvaW5kZXguaHRtbD9odHRwOi8vd3d3LmxlYmVuc21pdHRlbGxleGlrb24uZGUKL3EwMDAwMDYwLnBocAoKTmljaCBudXIgd28gUXVhcmsgZGFyYXVmc3RlaHQgaXMgYXVjaCBRdWFyayBkcmluLi4uCgpEYXJrbG9yIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogREhDUCAvIFN5c2xvZ2QtUHJvYmxlbSAoT2dvLCAxMy4gSnVsIDIwMDQsIDE4OjQ4OjU4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA4OTYzODU1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDg5NjM4NTU3Ck5hIHdhcyBzYWd0IGRlbm4gZGVyIFN5c2xvZ2Q/CgpQcm9iaWVyIGRvY2ggZGFzIHVlYmxpY2hlLCBkaGNwZCBpbSBOb25kZW1vbi1Nb2RlIHN0YXJ0ZW4gdW5kIERlYnVnIHVuZApWZXJib3NpdHkgTGV2ZWwgaG9jaHNjaHJhdWJlbi4uLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhVGVYIHVuZCBIeXBlcnRleHQgLyBSZWZlcmVuemVuLi4uIChab29rLCAxOS4gSnVsIDIwMDQsIDIwOjE4OjU2KToKV2FzIHZlcndlbmRldCBJaHIgZGVubiwgdW0gaW4gZWluZW0gTGFUZVgtRG9rdW1lbnQgUmVmZXJlbnplbiBhdWYgCmlyZ2VuZHdlbGNoZSBhbmRlcmVuIERva3VtZW50ZSAoei5CLiBXZWJzZWl0ZW4gby5hZS4pIHp1IGhpbnRlcmxlZ2VuPwoKSWNoIGhhYiBiaXNoZXIgaW4gZWluZW0gRmFsbCBtYWwgZGFzIFBha2V0IEhUTUwgZ2VudXR6dC4gR2lidHMgYXVjaCBhbmRlcmVzCm9kZXIgYmVzc2VyZXM/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhVGVYIHVuZCBIeXBlcnRleHQgLyBSZWZlcmVuemVuLi4uIChWYXJkaW9uLCAxOS4gSnVsIDIwMDQsIDIwOjI0OjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA5MDI2MTEzNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkwMjYxMTM2CnBkZmxhdGV4IHVuZCBkYXMgaHlwZXJyZWYtUGFrZXQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdW5kZW5tYW5hZ2VtZW50IChMZWZ0eSwgMjYuIEp1bCAyMDA0LCAyMDowOTo0Myk6CkhhbGxvLAoKaWNoIHN1Y2hlIGVpbmUgU29mdHdhcmUgenVtIEt1bmRlbm1hbmFnZW1lbnQgdW50ZXIgV2luZG93cywgbWVocnBsYXR6ZmFlaGlnCnVuZCB2b3J6dWdzd2Vpc2Ugd2VuaWcga29zdGVuaW50ZW5zaXYuCkxldHp0ZW4gRW5kZXMgc29sbCBzaWUgbmUgZ2V6aWVsdGUgQWRyZXNzdmVyd2FsdHVuZyBlcm1vZWdsaWNoZW4gdW5kCmVudHNwcmVjaGVuZCBPZmZpY2Vkb2t1bWVudGUgZ2VuZXJpZXJlbiBrb2VubmVuLCBiencuIGludGVncmllcnRlClRleHR2ZXJhcmJlaXR1bmcgdW5kIFRhYmVsbGVua2Fsa3VsYXRpb24gaGFiZW4sIGZ1ZXIgUmVjaG51bmdlbiwKU2NocmlmdHZlcmtlaHIgZXRjLgpIYXQgZGEgamVtYW5kIEVyZmFocnVuZ2VuIGJ6dy4gZWluZSBTZWl0ZSwgd28gc29sY2hlIFN5c3RlbWUgZ2VsaXN0ZXQgc2luZD8KCkxlZnR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VuZGVubWFuYWdlbWVudCAoWm9vaywgMjYuIEp1bCAyMDA0LCAyMDoxMzoxNSk6Cn4jISBybj1MZWZ0eSBydD0xMDkwODY1MzgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTA4NjUzODMKTWlyIGlzdCBuaWNodCBzbyBnYW56IGtsYXIsIHdhcyBEdSBlaWdlbnRsaWNoIHN1Y2hzdC4gU3VjaHN0IER1IG5lIApiZXRyaWVic3dpcnRzY2hhZnRsaWNoZSBTb2Z0d2FyZSBtaXQgbmVyIGJlc3NlcmVuIEFkcmVzc3BmbGVnZSB1bmQgYmVzc2VyCmhpbnRlcmxlZ2JhcmVuIGV4dGVybmVuIERva3VtZW50ZW4gb2RlciBzdWNoc3QgRHUgZWluZSBBcnQgQ1JNLVNvZnR3YXJlCm1pdCBTY2huaXR0c3RlbGxlIHp1IGVpbmVyIGJldHJpZWJzd2lydHNjaGFmdGxpY2hlbiBTdGFuZGFyZC1TVz8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEt1bmRlbm1hbmFnZW1lbnQgKExlZnR5LCAyNi4gSnVsIDIwMDQsIDIwOjE4OjUzKToKfiMhIHJuPVpvb2sgcnQ9MTA5MDg2NTU5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkwODY1MzgzCkljaCBzdWNoZSBlaGVyIGVpbmUgQ1JNLVNvZnR3YXJlIG1pdCBPZmZpY2VhbmJpbmR1bmcuCgpMZWZ0eQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLdW5kZW5tYW5hZ2VtZW50IChab29rLCAyNi4gSnVsIDIwMDQsIDIwOjIyOjE0KToKfiMhIHJuPVpvb2sgcnQ9MTA5MDg2NTU5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkwODY1MzgzCk9oLCB3ZW5uIER1IHZpZWwgSGFyZHdhcmUtUmVzc291cmNlbiBoYXN0LCBrYW5uc3QgRHUgRGlyIG1hbCBNaWNyb3NvZnQgQ1JNCmFuc2VoZW4sIGRhcyB2ZXJrbnVlcGZ0IHNpY2ggc28gb3V0bG9va2xpa2UgZ2FueiBndXQgbWl0IGRlciBNUy1XZWx0LiBPYidzCndhcyB0YXVndCwgd2Vpc3MgaWNoIG5pY2h0LiBJY2ggaGFiIHNlaW5lcnplaXQgYmVpIGRlbiBIYXJkd2FyZS1BbmZvcmRlcnVuZ2VuCmRlciBUZXN0LUNEIGVudHNjaGllZGVuLCBkYXNzIGljaCBtZWluZSBQbGF0dGUgZGF2b24gZnJlaSBoYWx0ZW4gbW9lY2h0ZS4gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3VuZGVubWFuYWdlbWVudCAoR2xvaW5zb24sIDI2LiBKdWwgMjAwNCwgMjA6NTU6MTApOgp+IyEgcm49Wm9vayBydD0xMDkwODY2MTM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTA4NjUzODMKVGluaSBoYXQgbWFsIGJlaSBULVN5c3RlbXMgYW4gc293YXMgZ2VhcmJlaXRldCwgd2FzIHdvaGwgbnVuIGZ1ZXIgZWluZW4Kc3ltYm9saXNjaGVuIFByZWlzIGFuIGVpbmUgRmlybWEgbmFtZW5zICJDYWxsIE1vdGlvbiIgb0FlIHZlcmFldXNzZXJ0IHd1cmRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEt1bmRlbm1hbmFnZW1lbnQgKE1vbnRhbnVzLCAyNy4gSnVsIDIwMDQsIDEwOjMzOjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwOTA4NjgxMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MDg2NTM4MwpQcm9iaWVycyBtYWwgbWl0ICJyYW1pcmlzIiB2b24gbmF2aWdhLiBJc3QgZWlnZW50bGljaCBmdWVyIGRpZSBvZWZmZW50bGljaGUKaGFuZCBnZXBsYW50LCBhYmVyIHNpY2hlciB1bml2ZXJzZWxsIGVpbnNldHpiYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VuZGVubWFuYWdlbWVudCAoTXVhZGliLCAyNy4gSnVsIDIwMDQsIDExOjQ0OjQ1KToKfiMhIHJuPUxlZnR5IHJ0PTEwOTA4NjUzODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MDg2NTM4MwpodHRwOi8vYW5zd2Vycy5nb29nbGUuY29tL2Fuc3dlcnMvdGhyZWFkdmlldz9pZD0zMTUzNQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoWm9vaywgMjguIEp1bCAyMDA0LCAxMDoyNTozMCk6CkhpLCBiZW51dHp0IGplbWFuZCB2b24gRXVjaCBkaWVzZSBWZXJzY2hsdWVzc2Vsbi1PcHRpb24gYmVpIFdpbmRvd3MsIG1pdCBkZXIKbWFuIE9yZG5lciB2ZXJzY2hsdWVzc2VsbiBrYW5uPyBLYW5uIG1pciBqZW1hbmQgZGEgd2FzIGJ6Z2wuIGRlciBTaWNoZXJoZWl0CmRpZXNlcyBNZWNoYW5pc211cyB3YXMgc2FnZW4/IFRhdWdsaWNoPyBFaW5zZXR6YmFyPyBPZGVyIGVoZXIgUXVhdHNjaD8gCkdlZmFocmVuPyBGYWxsc3RyaWNrZT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoUm9uZGEsIDI4LiBKdWwgMjAwNCwgMTA6Mjk6MzIpOgp+IyEgcm49Wm9vayBydD0xMDkxMDAzMTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTEwMDMxMzAKSGFsbG8gWm9vaywKCmljaCBoYWJlIG5vY2gga2VpbmUgTW9lZ2xpY2hrZWl0IGltIE5ldHogZ2VmdW5kZW4sIHdpZSBtYW4gdmVyc2NobHVlc3NlbHRlCk5URlMtTGF1ZndlcmtlIGtuYWNrZW4ga2Fubi4gRGFzIGJlZGV1dGV0IGFiZXIgYXVjaDogR2VodCBEZWluIFBhc3N3b3J0CnZlcmxvcmVuLCBrYW5uc3QgRHUgZGllIERhdGVuIGF1ZiBkZW0gTGF1Zndlcmsga29tcGxldHQgdmVyZ2Vzc2VuLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJzY2hsdWVzc2VsbiB2b24gTlRGUy1PcmRuZXJuIChab29rLCAyOC4gSnVsIDIwMDQsIDEwOjMxOjQ4KToKfiMhIHJuPVJvbmRhIHJ0PTEwOTEwMDMzNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MTAwMzEzMApHYWIgZXMgZWluZW4gRmFsbHN0cmljaywgZmFsbHMgbWFuIHNlaW4gS2VubndvcnQgYWVuZGVydCBvZGVyIGlzIGRhcyBlZ2FsPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoTW9yZ290aCwgMjguIEp1bCAyMDA0LCAxMDozMjoxOCk6Cn4jISBybj1Sb25kYSBydD0xMDkxMDAzMzcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTEwMDMxMzAKSWNoIGhhYiBncmFkIGdlc3Rlcm4gYXVmIGRlciBBcmJlaXQgbWFsIGRhbWl0IHJ1bWdlc3BpZWx0IHVuZCBtZWluZW4KdGVtcC1PcmRuZXIgdmVyc2NobHVlc3NlbHQuIERhcyBnZXNjaGlldCB3b2hsIGF1dG9tYXRpc2NoIG1pdCBkZXIgU0lEIGRlcwplaW5nZWxvZ2d0ZW4gVXNlcnMuIE1laW4gS29sbGVnZSBrYW5uIGRpZSBPcmRuZXIgbGVzZW4sIGFiZXIgZGllIGVpbnplbG5lbgpGaWxlcyBuaWNodCBhbnNlaGVuIChhbHNvIERpcmVjdG9yeSBqYSwgRmlsZXMgbmVpbikuCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoUGlsZ3JpbSwgMjguIEp1bCAyMDA0LCAxMDo1NzowMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwOTEwMDM1Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MTAwMzEzMAo+IEdhYiBlcyBlaW5lbiBGYWxsc3RyaWNrLCBmYWxscyBtYW4gc2VpbiBLZW5ud29ydCBhZW5kZXJ0IG9kZXIgaXMgZGFzIGVnYWw/CgpEZXIgJ0ZhbGxzdHJpY2snIGlzdCAod2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyKSwgZGllIHBoeXNpa2FsaXNjaGUKUG9ydGFiaWxpdGFldCAoaGVpc3N0IGRhcyBzbz8pOgpXZW5uIG1hbiBlaW4gbmV1ZXMgV2luZG93cyBhdWZzcGllbHQgb2RlciBkaWUgdmVyc2NobHVlc3NlbHRlIFBsYXR0ZSAoRmlsZXMpCmFuIGVpbiBhbmRlcmVzIFdpbmRvd3MgaGFlbmd0LCByZWljaGVuIF9uaWNodF8gZ2xlaWNoZXIgVXNlcm5hbWUgdW5kIGdsZWljaGVzClBhc3N3b3JkLCB1bSBhdWYgZGllIERhdGVuIHp1Z3JlaWZlbiB6dSBrb2VubmVuLgoKTWFuIG11c3MgZGEgaXJnZW5kd2VsY2hlIChtaXRnZWxpZWZlcnRlbikgRXhwb3J0L0ltcG90IFRvb2xzIG51dHplbiwgdW0gZGVuClNjaGx1ZXNzZWwgKG9kZXIgd2VzZW50bGljaGUgVGVpbGUgZGF2b24pIHZvbiBSZWNobmVyIHp1IFJlY2huZXIgenUKdHJhbnNwb3J0aWVyZW4uIEhlaXNzdCBhdWNoIGZ1ZXIgQmFja3VwendlY2tlLiBJY2ggZnJhZ2UgbWljaCwgb2Igd2VubiBuYWNoCmVpbmVyIEFlbmRlcnVuZyBkZXMgUGFzc3dvcnRlcyBlaW5lIFNvbGNoZSBTaWNoZXJ1bmdzZGlza2V0dGUgKG1pdCBkZW0KU2NobHVlc3NlbC9+dGVpbGVuKSBub2NoIGZ1bmt0aW9uaWVydD8KCltEYXMgUHJvYmxlbSBqZXR6dCBhdXMgZGVyIGdyb2JlbiBFcmlubmVydW5nIGJlc2NocmllYmVuXQoKSWNoIGhhbHRlIExvZXN1bmdlbiBhbGEgQmVzdENyeXB0IGxldHp0ZW5kbGljaCBmdWVyIGJlc3NlcjogTWFubiBtdXNzIHp3YXIgZGllClNvZnRXYXJlIGluc3RhbGxpZXJlbiwgYWJlciB3ZW5uIG1hbiBkYXMgUGFzc3dvcnQgaGF0IC4uLiB0dXRzIGVzIGF1Y2ggbmFjaApuZXIgTmV1aW5zdGFsbGF0aW9uLgoKUGlsZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZlcnNjaGx1ZXNzZWxuIHZvbiBOVEZTLU9yZG5lcm4gKE11YWRpYiwgMjguIEp1bCAyMDA0LCAxMTowMjoxMCk6Cn4jISBybj1QaWxncmltIHJ0PTEwOTEwMDUwMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MTAwMzEzMApuaW1tIGF1ZiBrZWluZW4gZmFsbCBwZ3BkaXNrIGRlciBwZ3AgY29ycG9yYXRpb24KZGFzIGhhdCBlbm9ybWUgdmVyc2lvbnNwcm9ibGVtZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoUm9jaHVzLCAyOC4gSnVsIDIwMDQsIDEyOjA0OjAyKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA5MTAwNTAyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwClVlYnJpZ2VucywgZGVyIEFkbWluIGthbm4gYmVpIFdpbjIwMDMgYWxsZSB2ZXJzY2hsdWVzc2VsdGVuIE9yZG5lcgp2b24gVXNlcm4gZW50c2NobHVlc3NlbG4gKHNvbGFuZ2UgbWFuIG51ciBkaWUgZWluZ2ViYXV0ZSBWZXJzY2hsdWVzc2VsdW5nCmVpbnNldHp0LCB2ZXJzdGVodCBzaWNoIDopIC0gaWNoIGdsYXViZSBkYXMgaXN0IG5lIGFsbGdlbWVpbmUKRWlnZW5zY2hhZnQgdm9uIE5URlMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBWZXJzY2hsdWVzc2VsbiB2b24gTlRGUy1PcmRuZXJuIChIb3VzZWhvbGRlciwgMjguIEp1bCAyMDA0LCAxMjowOTo1OCk6Cn4jISBybj1Sb2NodXMgcnQ9MTA5MTAwOTA0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwCmFsc28gdW5nZWVpZ25ldCB6dW0gc2NodXR6IHZvciBmZXN0cGxhdHRlbi9yZWNobmVyL25vdGVib29rLXZlcmx1c3QgPwpISCwgYW4gZWJlbiBkaWVzZW0gU2NodXR6IGF1Y2ggaW50ZXJlc3NpZXJ0IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoWm9vaywgMjguIEp1bCAyMDA0LCAxMjoxNDowOCk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMDkxMDA5Mzk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTEwMDMxMzAKQWgsIHRhdHNhZWNobGljaD8gVW5kIHdpZSBnZWh0IGRhcywgUm9jaHVzPyBJY2ggaGFiIG1pY2ggbmFlbWxpY2ggYXVmIGRlbQplaW5lbiBSZWNobmVyIG1hbCBhbHMgQWRtaW4gZWluZ2Vsb2dndCwga29ubnRlIGRpZSBEYXRlaWVuIGFiZXIgbmljaHQKbGVzZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoUm9jaHVzLCAyOC4gSnVsIDIwMDQsIDEyOjI1OjI2KToKfiMhIHJuPVpvb2sgcnQ9MTA5MTAwOTY0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwCkRlciBBZG1pbiBrYW5uIGluIGRlciBEb21haW4gU2VjdXJpdHkgUG9saWN5ClJlY292ZXJ5IEFnZW50cyBkZWZpbmllcmVuLgpTbyB3aWUgaWNoIGRhcyB2ZXJzdGFuZGVuIGhhYmUsIHdpZSBiZWkgZGVyIFZlcnNjaGx1ZXNzZWx1bmcKZGVyIHNlY3JldCBLZXkgZnVlciBkZW4gT3JkbmVyIG1pdCBkZW4gcHJpdmF0ZSBLZXlzIHZvbgpVc2VybiBVTkQgUmVjb3ZlcnkgQWdlbnRzIHZlcnNjaGx1ZXNzZWx0IGFiZ2VsZWd0LApkLmguIG1hbiBrYW5uIHNpY2ggYWxzIFJlY292ZXJ5IEFnZW50IGVpbmxvZ2dlbiB1bmQgZGllCkRhdGVuIGViZW5mYWxscyBlbnRzY2hsdWVzc2Vsbi4KQmluIG1pciBqZXR6dCBhYmVyIG5pY2h0IHNpY2hlciwgb2IgcGVyIGRlZmF1bHQgZWluZXIgZGVmaW5pZXJ0IGlzdCwgbWFsCnNjaGF1ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFZlcnNjaGx1ZXNzZWxuIHZvbiBOVEZTLU9yZG5lcm4gKFJvY2h1cywgMjguIEp1bCAyMDA0LCAxMjozMTo1NCk6Cn4jISBybj1Sb2NodXMgcnQ9MTA5MTAxMDMyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwCkhtbSwgaGFiIGZvbGdlbmRlcyBnZWZ1bmRlbjoKMS4gVGhlIGFkbWluaXN0cmF0b3Igb2YgdGhlIGxvY2FsIGNvbXB1dGVyIGlzIHRoZSBkZWZhdWx0IHJlY292ZXJ5IGFnZW50CjIuIElmIHRlaCBjb21wdXRlciBpcyBwYXJ0IG9mIGEgZG9tYWluLCB0aGUgZG9tYWluIGFkbWluaXN0cmF0b3IgaXMgdGhlCmRlZmF1bHQgcmVjb3ZlcnkgYWdlbnQuCgpFdHdhcyBnb29nbGVuIGR1ZXJmdGUgRGlyIHdhaHJzY2hlaW5saWNoIHZlcnJhdGVuLCB3YXMgZ2VuYXUgZGVyIEFkbWluCmFua2xpY2tlbiBtdXNzIHVtIHNlaW5lIEZ1bmt0aW9uIGFscyBSZWNvdmVyeSBBZ2VudCBudXR6ZW4genUga29lbm5lbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoTW9yZ290aCwgMjguIEp1bCAyMDA0LCAxMjozNDoyMSk6Cn4jISBybj1Sb2NodXMgcnQ9MTA5MTAxMDcxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwCmh0dHA6Ly93d3cubnRmcy5jb20vaW50ZXJuYWxzLWVuY3J5cHRlZC1maWxlcy5odG0KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVmVyc2NobHVlc3NlbG4gdm9uIE5URlMtT3JkbmVybiAoUm9jaHVzLCAyOC4gSnVsIDIwMDQsIDEyOjQxOjA1KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5MTAxMDg2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxMDAzMTMwCkhhYiBpY2ggYXVjaCBlYmVuIGdlZnVuZGVuIC0gZW5kbGljaCBtYWwgZGllIERldGFpbHMKZGllIGljaCBnZXJuZSBoYWV0dGUgOikKREVTWCBpc3QgZ2VnZW4gZWluaWdlIChyZWNodCB1bnByYWt0aXNjaGUpIEF0dGFja2VuIG5pY2h0IHNpY2hlcmVyIGFscyBERVMsCmFiZXIgd2VubiBtYW4gc2ljaGVyIGdlaGVuIHdpbGwga2FubiBtYW4gamEgVHJpcGxlLURFUyBrb25maWd1cmllcmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VidmVyc2lvbiAoWm9vaywgIDIuIEF1ZyAyMDA0LCAxNjo0ODoyOCk6CkhvaSwgaWNoIGZyYWd0ZSB2b3IgZWluaWdlciBaZWl0IG1hbCBuYWNoIEVyZmFocnVuZ2VuIG1pdCBTdWJ2ZXJzaW9uLiBJY2ggCmhhYmUgZXMgbWlyIG1hbCBhbmdlc2VoZW4gdW5kIHZlcndlbmRlIGVzIG51biAoYmlzaGVyIG51ciBpbiBrbGVpbmVuCkFyYmVpdHNncnVwcGVuKSBhbHMgVmVyc2lvbnNrb250cm9sbHN5c3RlbSB1bmQgYmluICh6dXNhbW1lbiBtaXQgZGVuIAphbmRlcmVuIE51dHplcm4pIHJlY2h0IHp1ZnJpZWRlbiBkYW1pdC4gRGV1dGxpY2ggYmVzc2VyIGJlZGllbmJhcmVyCmFscyBDVlMgdW5kIGVpbmlnZSBNYWNrZW4gZmFsbGVuIHdlZyAoZWluaWdlIGFuZGVyZSBrb21tZW4gaGluenUsIGRhcyBpc3QKa2xhcikgdW5kIGluIGRlciBTdW1tZSBzaW5kIHdpciBzZWhyIHp1ZnJpZWRlbi4KClpvb2suCgpQUzogV2VyIEdlbmF1ZXJlcyB3aXNzZW4gd2lsbCwgc2NocmVpYiBtaXIgZWluZmFjaCBvZGVyIHN0ZWxsZSBuZSBGcmFnZS4KClBQUzogUHJvamVrdC1IYXVwdHNlaXRlOiBodHRwOi8vc3VidmVyc2lvbi50aWdyaXMub3JnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVya3d1ZXJkaWdlIExhcHRvcC1UYXN0YXR1ciAoWm9vaywgIDMuIEF1ZyAyMDA0LCAwOToyMjo1MCk6CkhpLCBpY2ggZ2xhdWJlLCBpY2ggaGFiZSBmb2xnZW5kZXMgUHJvYmxlbTogV2VubiBpY2ggbWl0IG1laW5lbSBMYXB0b3AgCihGdWppdHN1IFNpZW1lbnMgTGlmZWJvb2sgQy1UcmFsYWxhbGEpIHNjaG5lbGwgdGlwcGUgKHVuZCB6d2FyIG51ciAKQnVjaHN0YWJlbiwgYWxzbyBrZWluZSBTb25kZXJ6ZWljaGVuLCBDdXJzb3Igb2RlciBCYWNrc3BhY2UpLCBkYW5uIGtvbW10CmVzIG9lZnRlciB2b3IsIGRhc3MgZWlubWFsIGRlciBDdXJzb3IgbWVocmVyZSBaZWlsZW4gbmFjaCBvYmVuIHNwcmluZ3QuIApJbnRlcmVzc2FudGVyd2Vpc2UgaXN0IGRhcyB2b20gQW53ZW5kdW5nc3Byb2dyYW1tIHVuYWJoYWVuZ2lnLCBhbHNvIGVnYWwKb2IgRW1hY3MsIHNvbnN0aWdlciBFZGl0b3Igb2RlciBPcGVuT2ZmaWNlLiBCZXRyaWVic3lzdGVtIGlzdCBGcmVlQlNFLiAKSXJnZW5kamVtYW5kIG1pdCBhZWhubGljaGVuIEVyZmFocnVuZ2VuIG9kZXIgbmVtIEFiaGlsZmV0aXAgKExhcHRvcCBhdXMgZGVtCkZlbnN0ZXIgd2VyZmVuIGlzdCBsZWlkZXIgS0VJTkUgT3B0aW9uKT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVya3d1ZXJkaWdlIExhcHRvcC1UYXN0YXR1ciAoUm9hZHJ1bm5lciwgIDMuIEF1ZyAyMDA0LCAwOTo1NjowNyk6Cn4jISBybj1ab29rIHJ0PTEwOTE1MTc3NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MTUxNzc3MApOYWphIC0gVWViZXJwcnVlZmUgbWFsLCBvYiBkdSB2aWVsbGVpY2h0IGdlbGVnZW50bGljaCBhdWYgZGFzIFRvdWNoYmFkCmdlcmFldHN0LiBXdXNzdGUgZ2FybmljaHQsIGRhc3MgbWl0dGxlcndlaWxlIFJlY2huZXIgYXVjaCBhbSBSaW5kZXJ3YWhuIGxlaWRlbgouLi4KO28pCgpSUgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZXJrd3VlcmRpZ2UgTGFwdG9wLVRhc3RhdHVyIChTaGFrZWRiZWVyLCAgMy4gQXVnIDIwMDQsIDEwOjEwOjIzKToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTA5MTUxOTc2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxNTE3NzcwCkJlbGllYnRlciBGZWhsZXI6IFN0YXR0IFNoaWZ0L1N0cmcgZ2VyYWV0IG1hbiBhdWYgZGllIEZ1bmt0aW9uc3RhdHNlIChGbiksIGRpZQppbSBub3JtYWxlbiBUYXN0ZW5mZWxkIGVpbmVuIE51bW1lcm5ibG9jayBzaW11bGllcnQsIGRlciBkYW5uIGFtIGJlc3RlbiBvaG5lCk51bS1Mb2NrIGxhZXVmdCB1bmQgYXVmIGlyZ2VuZGVpbmUgVGFzdGUgZWluIFBhZ2UtVXAgbGVndC4gOm8pIAoKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNZXJrd3VlcmRpZ2UgTGFwdG9wLVRhc3RhdHVyIChHbm9tZSwgIDMuIEF1ZyAyMDA0LCAyMDoxMjowOSk6Cn4jISBybj1TaGFrZWRiZWVyIHJ0PTEwOTE1MjA2MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MTUxNzc3MApuZWUgbmVlLgppY2ggdmVybXV0ZSBhdWNoLCBkYXNzIGRhIGRhcyB0b3VjaHBhZCB6dSBzZW5zaWJlbCBpc3QuIGtlbm5lIGRhcyBhdWNoLgphYmhpbGZlPyBzZXBhcmF0ZSB0YXN0YXR1ciBhbnNjaGxpZXNzZW4uIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEt1bmRlbm1hbmFnZW1lbnQgKE11cGZlbCwgIDQuIEF1ZyAyMDA0LCAxOTo1OTo0Nyk6Cn4jISBybj1MZWZ0eSBydD0xMDkwODY1MzgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTA4NjUzODMKQ29tYml0IEFkcmVzc01hbmFnZXIsIHd3dy5jb21iaXQuZGUKCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWRzbCBtb2RlbSBnZXN1Y2h0IChaemFyenp0LCAgNS4gQXVnIDIwMDQsIDA5OjQyOjQxKToKTWVpbiBVcmFsdC1UZWxla29taWtlci1Nb2RlbSBpc3QgZGVuICh1billaHJlbmhhZnRlbiBIaXR6ZXRvZCBnZXN0b3JiZW4uClp1bWluZGVzdCB2ZXJtdXRlIGljaCBkYXMgYXVmZ3J1bmQgZGVyIHNlbHRzYW1lbiBicmF1bmVuIEZsZWNrZW4gaW4KZGVyIE5ldHp0ZWlsZ2VnZW5kIDopLiBBbHNvIGJyYXVjaCBpY2ggZWluIG5ldWVzIHdlbGNoZXMuLi4gd2FzIGdpYnRzIGRlbm4KZGEgYWt0dWVsbCB2ZXJudWVuZnRpZ2VzIHVuZCBsaWVmZXJiYXJlcyBhdWYgZGVtIE1hcmt0PwoKWnp6YXJ6enQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvc3RlciBiYXN0ZWxuIC8gTGFUZVggKFpvb2ssICA1LiBBdWcgMjAwNCwgMTE6MDE6MzMpOgpIaSwgaWNoIGRhcmYgZnVlciBuZSBUYWd1bmcgbmVuIFBvc3RlciBiYXN0ZWxuIHVuZCBibGllYmUgZGFiZWkgZ2VybmUKYmVpIExhVGVYLiBKZW1hbmQgRXJmYWhydW5nZW4gZGFtaXQgdW5kIGthbm4gbWlyIGVpbiBwYWFyIFRpcHMgenUgTGF5b3V0LApTY2hyaWZ0Z3JvZXNzZW4gZXRjLiBtaXRnZWJlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWRzbCBtb2RlbSBnZXN1Y2h0IChHcmltbWJvcm4sICA2LiBBdWcgMjAwNCwgMTM6Mzk6MjcpOgp+IyEgcm49Wnphcnp6dCBydD0xMDkxNjkxNzYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTE2OTE3NjEKSWNoIGhhYiBoaWVyIGVpbnMgdm9uIEhhbnNlbmV0IGdlc2NoZW5rdCBiZWtvbW1lbiwgZGFzIGRpZSBuaWNodCB3aWVkZXJoYWJlbgp3b2xsZW4uIEthbm5zdCBtaXIgamEgbWFsIERlaW5lIFByZWlzdm9yc3RlbGx1bmdlbiBtaXR0ZWlsZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYWRzbCBtb2RlbSBnZXN1Y2h0IChaemFyenp0LCAgNi4gQXVnIDIwMDQsIDEzOjQ3OjI1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDkxNzkyMzY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTE2OTE3NjEKVmllbGVuIERhbmssIGluendpc2NoZW4gaGFiIGljaCBlaW4gTmV0Z2VhciB4eXogaXJnZW5kd2FzIG1pdCB0aWVmZXJnZWxlZ3RlbQpibGEgdW5kIFR1cmJvIHVuZCB3YXMgd2Vpc3MgaWNoIG5pY2h0IGFsbGVzIGVyc3RhbmRlbi4gQWxsZXMsIHdhcyBiaWxsaWcKYW5nZWt1ZW5kaWd0IHdhciwgaXN0IGJlZGF1ZXJsaWNoZXJ3ZWlzIG5pY2h0IGxpZWZlcmJhci4uLiAKClp6YXJ6enQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGFkc2wgbW9kZW0gZ2VzdWNodCAoTXVhZGliLCAgNi4gQXVnIDIwMDQsIDE0OjQzOjA0KToKfiMhIHJuPVp6YXJ6enQgcnQ9MTA5MTc5Mjg0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDkxNjkxNzYxCndlbm4gZGFzIG1pdCB0dXJibyBpc3Qgd3VlcmRlIGljaCBlcyB6dXJ1ZWNrZ2ViZW4uIGlzdCBudXIgZWluIGhhbHMgenVtCmR1cmNoZnVldHRlcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2JsZW1lIG1pdCBLTWFpbCAvIEdQRyAgKFpvb2ssIDEwLiBBdWcgMjAwNCwgMTA6MjI6NTkpOgpIaSwgaWNoIGJlb2JhY2h0ZSwgZGFzcyBiZWkgdmVyc2NobHVlc3N0ZWx0ZW4gRW1hbGxpZW4sIGhpbiB1bmQgd2llZGVyCmJlaW0gVmVyc2VuZGVuIGRpZSBBbmhhZW5nZSB2ZXJzYXViZXV0ZWx0IHdlcmRlbiwgaW5zYi4gc2NoZWludCBkYXMKYXVmenV0cmV0ZW4sIHdlbm4gZXMgbWVocmVyZSBBbmhhZW5nZSBzaW5kLiBLZW5udCBqZW1hbmQgZGFzIFByb2JsZW0/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW1lIG1pdCBLTWFpbCAvIEdQRyAgKENhdHdlYXpsZSwgMTAuIEF1ZyAyMDA0LCAxMTowMDoxMCk6Cn4jISBybj1ab29rIHJ0PTEwOTIxMjYxNzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5MjEyNjE3OQpFcnNjaGxhZ2VuIHdpciBlcyBkb2NoIG1hbCBtaXQgdWVibGljaGVuIE1ldGhvZGVuOgoKS21haWwgaXN0IGRvb2YgdW5kIHN0aW5rdCEgRXZvbHV0aW9uIHJ1bGV6IQoKTmVpbiwgb2huZSBTY2hlaXNzLCBpY2ggYmluIHNlaHIgZnJvaCB2b24gS21haWwgbmFjaCBFdm9sdXRpb24gZ2V3ZWNoc2VsdCB6dQpoYWJlbiwgZGFzIGthbm4gd2VuaWdzdGVucyBnZXNjaGVpdCBJTUFQIHVuZCwgamEsIGF1Y2ggVmVyc2NobHVlc3NlbHVuZy4KQmVudXR6dCBLbWFpbCBpbW1lciBub2NoIGRpZXNlcyBQbHVnaW4tR2VsdW1wZT8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFjT3NYIGRhdGVucmV0dHVuZyAoR29yb2csIDE4LiBBdWcgMjAwNCwgMTc6Mjg6MTIpOgpNb2lucwpJY2ggaGFiIGhpZXIgbiBrbGVpbmVzIFByb2JsZW0gYXVmIG5lbSBNYWMuIEljaCBzb2xsIGF1ZiBlaW5lbSBSZWNobmVyCmdlbG9lc2NodGUgRGF0ZW4gd2llZGVyIGhlcnN0ZWxsZW4uIFNvbGx0ZSBlaWdlbnRsaWNoIGtlaW4gUHJvYmxlbSBzZWluLgpEdW1tZXJ3ZWlzZSB2ZXJsYW5ndCBOb3J0b24sIGRhc3MgaWNoIGRhcyBTeXN0ZW0gbWl0IG5lciBCb290LUNEIHN0YXJ0ZSwgd2VpbAplcyBzb25zdCBuaWNodCBhdWYgZGVyIFN5c3RlbWZlc3RwbGF0dGUgKHdlbGNoZXMgZGllIGVpbnppZ2UgaW4gZGVtIFJlY2huZXIKaXN0KSBydW1oYW50aWVyZW4gd2lsbC4gRGVyIFJlY2hlciAoZWluZXIgdm9uIGRpZXNlbiAibmV1ZW4gSS1NYWNzIiBkaWUgd2llIG4KaGFsYmVyIEZ1c3NiYWxsIG1pdCBLb3NtZXRpa3NwaWVnZWwgYXVzc2VoZW4pIHdlaWdlcnQgc2ljaGVyIGFiZXIgd2VoZW1lbnQgdm9uCkNEIHp1IGJvb3Rlbi4gSGF0IGlyZ2VuZGplbWFuZCBuZSBJZGVlIHdpZSBpY2ggZGFzIFByb2JsZW0gbG9lc2VuIGtvZW5udGUKKGVudHdlZGVyIGRlbiBSZWNobmVyIGJvb3RmaGlnIG1hY2hlbiBvZGVyIG5lbiBSZWNvdmVyeS1Qcm9ncmFtbSBkYXMgYXVjaCBvaG5lCkNELUJvb3QgYXVza29tbXQpPwoKRGFuayBpbSBWb3JyYXVzCkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXVFMgdW5kIFNhbWJhIChLb2JheWFzaGksIDIzLiBBdWcgMjAwNCwgMjI6MDA6MzcpOgpIaSwKCmljaCB3ZWlzcywgZGFzIGlzdCBoaWVyIG5pY2h0IGRlciByaWNodGlnZSBPcnQsIGRlbm5vY2ggbW9lY2h0ZSBpY2ggbWVpbgpQcm9ibGVtIGt1cnogc2NoaWxkZXJuOgpJY2ggaGFiZSBlaW5lbiBXaW5kb3dzIFRlcm1pbmFsIFNlcnZlciBtaXQgQ2l0cml4IE1ldGFmcmFtZSBYUCwgYXVmIGRlbmVuIHNpY2gKVU5JWCBXb3Jrc3RhdGlvbiB1bnNlciBlaW5sb2dnZW4sIHVtIE9mZmljZS9PdXRsb29rIHRvIG1hY2hlbi4KQXVzc2VyZGVtIGhhYmUgaWNoIGVpbmVuIFNhbWJhLVNlcnZlciBtaXQgZWluZW0gU2hhcmUgZnVlciB2aWVsZSBVc2VyLiBXZW5uCm51biBlaW4gUEMgYXVmIGRlbiBTaGFyZSB6dWdyZWlmZW4gaGFiZSBpY2gga2VpbmUgUHJvYmxlbWUuIFdlbm4gamV0enQgYWJlcgplaW4gVXNlciB2b20gV1RTIGRhcmF1ZiB6dWdyZWlmdCwgZ2VodCBkYXMgbnVyLCB3ZW5uIG5pY2h0IGJlcmVpdHMgZWluIGFuZGVyZXIKdm9tIFdUUyBkcmF1ZiB6dWdyZWlmdC4gRXMgaXN0IGFsc28gaW1tZXIgbnVyIGVpbmVyIGJlZmRoaWd0LCBkZW4gU2FtYmEgU2VydmVyCnp1IG51dHplbi4gRXMgc2NoZWludCBkYXJhbiB6dSBsaWVnZW4sIGRhcyBTYW1iYSBmdWVyIGplZGVuIENsaWVudCBlaW5lbiBzbWJkCnN0YXJ0ZXQuIERlciBXVFMgaXN0IGFiZXIgZWluIENsaWVudCBtaXQgbWVocmVybiBVc2Vybi4gCldpZSBrYW5uIG1hbiBTYW1iYSBkYXMgYmVpYnJpbmdlbiwgZGFzIGVyIGZ1ZXIgamVkZSBDbGllbnQvVXNlciBLb21iaW5hdGlvbgplaW5lbiBzbWJkIHN0YXJ0ZXQ/IE9kZXIgZ2lidCBlcyBhbmRlcmUgQW5zYWV0eiwgc28gZWluIFByb2JsZW0genUgbG9lc2VuPwoKRnVlciBqZWRlIGF1Y2ggbm9jaCBzbyBrbGVpbmUgSGlsZmUgYmVkYW5rZSBpY2ggbWljaApLb2JheWFzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXIgTGFUZVgtVGlwIChab29rLCAyNS4gQXVnIDIwMDQsIDE0OjM0OjA3KToKSWNoIG1vZWNodGUgRXVjaCBnZXJuIGF1ZiBlaW4gU3RhbmRhcmQtVmVyaGFsdGVuIHZvbiAiVGVYIiBoaW53ZWlzZW4sIGRhcwptYW4gc2ljaCBhdWNoIGZ1ZXIgTGFUZVggZWluc3RlbGxlbiBrYW5uOgoKV2VubiBtYW4gbGFlbmdlcmUgRG9rdW1lbnRlIGhhdCB1bmQgbm9jaCBlaW5pZ2UgT3ZlcmZ1bGwtaGJveGVuIHp1CmZsaWNrZW4gaGF0LCBkYW5uIGFlcmdlcmUgaWNoIG1pY2ggenVtaW5kZXN0IGhhZXVmaWcsIGRhc3MgaWNoIGRpZSBEaW5nZXIKbmljaHQgYXVmIEFuaGllYiBzZWhlLgoKRGVtIGthbm4gbWFuIEFiaGlsZmUgc2NoYWZmZW4sIGRlbm4gbm9ybWFsZXJ3ZWlzZSBwYWNrdCBUZVggaGludGVyIGVpbmUKT3ZlcmZ1bGwtaGJveCBlaW5lbiBrbGVpbmVuIHNjaHdhcnplbiBLYXN0ZW4gaGludGVyIGRpZSBhbmdlbWVja2VydGUKWmVpbGUuIAoKTWl0CgogXHNldGxlbmd0aFxvdmVyZnVsbHJ1bGV7NXB0fQoKa2FubiBtYW4gZGllc2VzIFZlcmhhbHRlbiBhdWNoIHdpZWRlciBha3RpdmllcmVuIHVuZCBmaW5kZXQgZGFubiBiZWltCkJsYWV0dGVuIHNjaG5lbGwgZGllIHBhc3NlbmRlbiBTdGVsbGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBzbnVwIChab29rLCAzMS4gQXVnIDIwMDQsIDEwOjQzOjU4KToKSGksIHdlbm4gaWNoIG5lbiBQb3N0U2NyaXB0LURva3VtZW50IG1pdCBwc251cCBvZGVyIGVpbmVtIGFuZGVyZW4gUHJvZ3JhbW0KYXVzIGRlbSBQYWtldCBiZWFyYmVpdGUsIGRhbm4gc2lua3QgaXJnZW5kd2llIGRpZSBBdWZsb2VzdW5nIGVyc2NocmVja2VuZAphYi4gR2lidCdzIGRhIGlyZ2VuZHdvIG5lbiBTY2hhbHRlciBvZGVyIGlyZ2VuZG5lIE9wdGlvbiwgbWl0IGRlciBpY2ggZGFzCnZlcmhpbmRlcm4ga2Fubj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXdXJmc3Blcm1hem9uZT8gKEdsb2luc29uLCAgOS4gU2VwIDIwMDQsIDAxOjE5OjIzKToKQnJvdG5hZWwgbWVpbnRlLCBXdXJmc3Blcm1hem9uZW4gc2VpZW4gemllbWxpY2ggY29vbC4gS2FubiBtaXIgamVtYW5kIGVpbmVuClRpcHAgZ2ViZW4sIHdpZXNvPwoKCgoKSW4gRGlhYmxvIElJLCBuYXR1ZXJsaWNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXdXJmc3Blcm1hem9uZT8gKEdyaW1tYm9ybiwgIDkuIFNlcCAyMDA0LCAwMToyMToyOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk0Njg1NTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTQ2ODU1NjMKRXMgZ2lidCBoYWx0IExldXRlLCBkaWUgZmluZGVuIHBlciBzZSBhbGxlcyBjb29sLCB3YXMgbWl0IFNwZXJtaWVuIHp1IHR1biBoYXQuCk5pY2h0IHNjaG9lbiwgYWJlciBzbyBpc3NlcyBoYWx0IG51bm1hbC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFd1cmZzcGVybWF6b25lPyAoRGFya3dpbmcsICA5LiBTZXAgMjAwNCwgMDg6NDE6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5NDY4NTU2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk0Njg1NTYzCnZpZWwgbXVoLCBzb25zdCBlaGVyIGJlc2NoZWlkZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV3VyZnNwZXJtYXpvbmU/IChDcm9mdCwgIDkuIFNlcCAyMDA0LCAxMDoxOToyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk0Njg1NTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTQ2ODU1NjMKU3RpY2h3b3J0IEJsaXR6ZW5kZXMgVW5oZWlsIHVuZCBHZWxhZGVuZXIgU2NobGFnLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV3VyZnNwZXJtYXpvbmU/IChNdXBmZWwsICA5LiBTZXAgMjAwNCwgMTk6Mzg6MTcpOgp+IyEgcm49Q3JvZnQgcnQ9MTA5NDcxNzk2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk0Njg1NTYzCkRlciBXZWcgZGFoaW4gaXN0IGFsbGVyZGluZ3MuLi4gYmFlaCA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFd1cmZzcGVybWF6b25lPyAoQW5hdG9sLCAgOS4gU2VwIDIwMDQsIDE5OjUwOjAxKToKfiMhIHJuPU11cGZlbCBydD0xMDk0NzUxNDk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTQ2ODU1NjMKTmEgZGFubiBsaWViZXIgZWluZSBzY2hpY2tlIEJydWVuZXR0ZS4gQXVjaCB3ZW5uIGRpZSBrZWluZQpob2xkZSBXYWxsa3VlcmUgYmVpIHNpY2ggaGF0Li4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNldHVpZCBQZWlubGljaGtlaXRlbiAoT2dvLCAxNC4gU2VwIDIwMDQsIDExOjE2OjU0KToKYXVzIGRlciBNYW5wYWdlIHZvbiBjZHJlY29yZDoKSWYgeW91IGRvbid0IHdhbnQgdG8gYWxsb3cgdXNlcnMgdG8gYmVjb21lICByb290ICBvbiAgeW91ciBzeXN0ZW0sICBjZHJlY29yZCAKbWF5IHNhZmVseSBiZSBpbnN0YWxsZWQgc3VpZCByb290LiBUaGlzIGFsbG93cyBhbGwgdXNlcnMgb3IgYSBncm91cCBvZiB1c2Vycwp3aXRoIG5vICByb290ICBwcml2aWxlZ2VzICB0byAgdXNlIGNkcmVjb3JkLgoKRGF6dSBkYXMgKGF1ZiBCdWd0cmFxIGdlZnVuZGVuOikKaHR0cDovL3d3dy5zZWN1cml0eWZvY3VzLmNvbS9hcmNoaXZlLzEvMzc0ODEwLzIwMDQtMDktMTEvMjAwNC0wOS0xNy8yCgpPZ28sIHNjaGF1ZGVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRydWNrZXJwcm9ibGVtIFhQIC8gMjAwMCAoQmFtYmksIDE3LiBTZXAgMjAwNCwgMTg6NDM6MDEpOgpJY2ggaGFiZSBpbSBMQU4gZWluZW4gV2luLVhQLVJlY2huZXIgdW5kIGVpbmVuIFdpbi0yMDAwLVJlY2huZXIuIEFtIFdpbiAyMDAwCmhhZW5ndCBlaW4gRHJ1Y2tlciBicm90aGVyIGhsNTAzMCwgbWl0IGRlbSBtYW4gdm9uIDIwMDAgYXVzIGRydWNrZW4ga2Fubi4gSWNoCm1vZWNodGUgdm9uIG1laW5lbSBYUC1SZWNobmVyIGF1cyBkcnVja2VuIHVuZCBmaW5kZSBmb2xnZW5kZSBTaXR1YXRpb24gdm9yLgpJY2ggcmljaHRlIGRlbiBEcnVja2VyIGFscyAiRHJ1Y2tlciwgZGVyIGFuIGVpbmVtIGFuZGVyZW4gQ29tcHV0ZXIKYW5nZXNjaGxvc3NlbiBpc3QiIGVpbi4gRGEgc2ljaCBkaWUgUmVjaG5lciBhdXMgZWluZW0gbWlyIG5pY2h0IGVya2xhZXJiYXJlbgpHcnVuZCBpbiBkZXIgTmV0endlcmt1bWdlYnVuZyBzZWhlbiwgZ2ViZSBpY2ggZGVuIFBmYWQgbWl0IElQIGFuLCB3YXMKenVtaW5kZXN0IGRhenUgZnVlaHJ0LCBkYXNzIGRlciBmcmVpZ2VnZWJlbmUgRHJ1Y2tlciBnZWZ1bmRlbiB3aXJkLgpCZWkgZGVuIERydWNrZXJlaW5zdGVsbHVuZ2VuIGdpYnQgZXMgZWluZW4gS25vcGYsIG1pdCBkZW0gaWNoIGRpZQoiRHJ1Y2tlcmVpbnN0ZWxsdW5nZW4gZHJ1Y2tlbiIga2Fubi4gRGFzIHdpcmQgYXVjaCBhbnN0YW5kc2xvcyBnZW1hY2h0LiBXZW5uCmljaCBhYmVyICJUZXN0c2VpdGUgZHJ1Y2tlbiIgZHJ1ZWNrZSwga29tbXQgZGllIE1lbGR1bmcsIGRhc3MgZGllcyBuaWNodAptb2VnbGljaCBzZWkuIERydWNrZW4gdm9uIFRleHRwYWQgYXVzIG9kZXIgbWl0IGVpbmVtIEJpbGR2ZXJhcmJlaXR1bmdzcHJvZ3JhbW0KZ2VodCBrb21tZW50YXJsb3MgdW50ZXIuIFdlbm4gaWNoIG1pciBkaWUgRHJ1Y2tlcndhcnRlc2NobGFuZ2UgYXVmIGRlbSAyMDAwZXIKUmVjaG5lciBhbnNlaGUsIHNjaGVpbmVuIGRpZSBEcnVja2F1ZnRyYWVnZSBhbnp1a29tbWVuLCB3ZXJkZW4gYWJlciBuaWNodApnZWRydWNrdC4KCkhhdCBqZW1hbmQgZWluZSBJZGVlLCB3byBkYSBkYXMgUHJvYmxlbSBpc3QgdW5kIHdpZSBpY2ggZXMgbG9lc2VuIGthbm4/IE1pcgp3YWVyZW4gZXJuc3RoYWZ0ZSBWb3JzY2hsYWVnZSBsaWViZXIgYWxzICJCZXRyaWVic3N5c3RlbSB3ZWNoc2VsbiIuIERhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERydWNrZXJwcm9ibGVtIFhQIC8gMjAwMCAoQmFtYmksIDE3LiBTZXAgMjAwNCwgMTg6NDQ6NDYpOgp+IyEgcm49QmFtYmkgcnQ9MTA5NTQzOTM4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1NDM5MzgxCktvcnJla3R1cjogRGllIFJlY2huZXIgc2VoZW4gc2ljaCB1ZWJlciBkaWUgTmV0endlcmt1bWdlYnVuZyBOSUNIVCBtaXQgTmFtZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2tlcnByb2JsZW0gWFAgLyAyMDAwIChNZWRpYywgMTcuIFNlcCAyMDA0LCAxODo0Njo1NCk6Cn4jISBybj1CYW1iaSBydD0xMDk1NDM5MzgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTU0MzkzODEKSG0sIHVudGVyc2NoaWVkbGljaGUgV2luZG9vZi1WZXJzaW9uZW4gZXJmb3JkZXJuIGRpZSBJbnN0YWxsYXRpb24gZWluZXMKc2VwYXJhdGVuIERydWNrZXJ0cmVpYmVycyBhdWYgZGVuIFJlY2huZXJuLCBhdWNoIHdlbm4ncyBlaW4gTmV0endlcmtkcnVja2VyCmlzdC4gV29iZWkgaWNoIG5pY2h0IHdlaXNzLCBvYiBkYXMgZGllIExvZXN1bmcgZGVzIFByb2JsZW1zIGlzdCwgZGVubiBXaW4yawp1bmQgLVhQLXRyZWliZXIgc2luZCBqYSBub3JtYWxlcndlaXNlIGlkZW50aXNjaC4uLi5hYmVyIHZpZWxsZWljaHQgbG9obnQgamEKbWFsIGVpbiBCbGljayBhdWYgZGllIEhlcnN0ZWxsZXJzZWl0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJ1Y2tlcnByb2JsZW0gWFAgLyAyMDAwIChNb3Jnb3RoLCAxNy4gU2VwIDIwMDQsIDE5OjQ3OjQ4KToKfiMhIHJuPU1lZGljIHJ0PTEwOTU0Mzk2MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTQzOTM4MQpTY2hhdSBtYWwgYmVpIGRlbiBTaWNoZXJoZWl0c2VpbnN0ZWxsdW5nZW4gb2IgIkplZGVyIiBkcnVja2VuIGRhcmYuIFdpZQphdXRoZW50aWZpemllcnN0IER1IERpY2ggYXVmIGRlbSAyayBSZWNobmVyPyBTaW5kIFVzZXIvUHdkIGlkZW50aXNjaD8KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEcnVja2VycHJvYmxlbSBYUCAvIDIwMDAgKEJhbWJpLCAxNy4gU2VwIDIwMDQsIDIwOjU0OjI3KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5NTQ0MzI2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1NDM5MzgxCkRhcyAiaWNoIHNlaCBkaWUgUmVjaG5lciBuaWNodCItUHJvYmxlbSBoYWJlIGljaCBsb2VzZW4ga29lbm5lbi4gQWxsZXJkaW5ncwphZW5kZXJ0IGRhcyBuaWNodHMgYW0gRHJ1Y2tlcnByb2JsZW0uIERpZSBGcmVpZ2FiZW4gc2luZCB2b3JoYW5kZW4gdW5kClBhc3N3b2VydGVyIHNjaGVpbmVuIGtlaW4gUHJvYmxlbSBkYXJ6dXN0ZWxsZW4uIFdlbm4gaWNoIG1pdCBUZXh0cGFkIGVpbmUKU2VpdGUgZHJ1Y2tlLCBkYW5uIHNlaGUgaWNoIGRlbiBEcnVja2F1ZnRyYWcgc293b2hsIGxva2FsIGFscyBhdWNoIGFtIFNlcnZlcgppbiBkZXIgV2FydGVzY2hsYW5nZS4gSWNoIGhhYmUgZGllIEVpbnN0ZWxsdW5nZW4gZGVzIERydWNrZXJzIHNvIG1vZGlmaXppZXJ0LApkYXNzIGRpZSBBdWZ0cmFlZ2UgaW4gZGVyIFdhcnRlc2NobGFuZ2Ugc3RlaGVuIGJsZWliZW4uIERhIHN0ZWh0IGFscyBTdGF0dXMKImdlZHJ1Y2t0IiB1bmQgYWxzIEJlc2l0emVyICJnYXN0Ii4gV2VubiBpY2ggYXVmIGRlbSBzZXJ2ZXIgIm5ldSBzdGFydGVuIiBhdWYKZGFzIGRva3VtZW50IGFud2VuZGUsIHdlY2hzZWx0IGRlciBzdGF0dXMga3VyeiBhdWYgIk5ldXN0YXJ0IiB1bmQgZGFubiBhdWYKImdlZHJ1Y2t0Iiwgb2huZSBkYXNzIGFtIERydWNrZXIgd2FzIHJhdXNrb21tdC4KV2VubiBpY2ggZGFzIGdsZWljaGUgRG9rdW1lbnQgZGlyZWt0IHZvbSAyay1SZWNobmVyIGF1c2RydWNrZW4gbGFzc2UsIGdlaHQKZGFzLiBKZXR6dCBhYmVyIGRhcyBncm9zc2UgUmFldHNlbDogV2VubiBpY2ggdm9uIDJrLVJlY2huZXIgYXVzIGRydWNrZSwgZGFubgppc3QgZGllIGdlZHJ1Y2t0ZSBEYXRlaSA2LDkxIGtiIGdyb3NzIChkYSBzdGVodCBudXIgIlRlc3Qgdm9uIDJrIiBkcmF1ZiksIGRpZQp1ZWJlcnMgbmV0eiB6dSBkcnVja2VuZGUgRGF0ZWkgYWJlciAyOTdrYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERydWNrZXJwcm9ibGVtIFhQIC8gMjAwMCAoUm9uZGEsIDE3LiBTZXAgMjAwNCwgMjA6NTQ6NTMpOgp+IyEgcm49TW9yZ290aCBydD0xMDk1NDQzMjY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTU0MzkzODEKRXZlbnR1ZWxsIGtvZW5udGUgRGlyIGF1Y2ggbmVuIFRvb2wgaGVsZmVuIC0gaXN0IGVpZ2VudGxpY2ggdm9uIEhQIGZ1ZXIKSFAtRHJ1Y2tlciwgYWJlciB2aWVsbGVpY2h0IGZ1bnp0IGRhcyBiZWkgRGlyIGF1Y2gsIHdlbm4gRGVpbiBEcnVja2VyClBvc3RzY3JpcHQga2FubjoKCmh0dHA6Ly9oMTgwMDcud3d3MS5ocC5jb20vc3VwcG9ydC9maWxlcy9ocGNwcW5rL3VzL2Rvd25sb2FkLzE5NDUyLmh0bWwKCk1pdCAiSFAgTW9iaWxlIFByaW50aW5nIGZvciBOb3RlYm9va3MiIGthbm4gbWFuIGF1ZiBhbGxlbiBwb3N0c2NyaXB0ZmFlaGlnZW4KRHJ1Y2tlcm4gZHJ1Y2tlbiwgZGllIG1hbiB2aWEgSVAtQWRyZXNzZSBhbnNwcmVjaGVuIGthbm4uIEljaCBudXR6IGRhcyB6dW0KQmVpc3BpZWwsIHdlbm4gaWNoIG1hbCB3byBhbmRlcnMgc2NobmVsbCBlaW5lbiBEcnVja2VyIG51dHplbiBtb2VjaHRlLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERydWNrZXJwcm9ibGVtIFhQIC8gMjAwMCAoWm9vaywgMTcuIFNlcCAyMDA0LCAyMToxNDoxNCk6Cn4jISBybj1Sb25kYSBydD0xMDk1NDQ3MjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTU0MzkzODEKVW5kIG5pY2h0IHBvc3RzY3JpcHQtZmFlaGlnZSBEcnVja2VyIHNvbGx0ZSBtYW4gZWggYXVzbSBGZW5zdGVyIHdlcmZlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJ1Y2tlcnByb2JsZW0gWFAgLyAyMDAwIChDYXR3ZWF6bGUsIDE3LiBTZXAgMjAwNCwgMjE6NTA6MDQpOgp+IyEgcm49QmFtYmkgcnQ9MTA5NTQzOTM4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1NDM5MzgxCkR1IGRhcmZzdCBuaWNodCBkcnVja2VuLgoKTmVpbiwgbWVpbmUgV2luZG93c2tlbm50bmlzc2UgcmVpY2hlbiBuaWNodCB3ZWl0IGdlbnVnLCB1bSBkaXIgZGFiZWkgenUKaGVsZmVuLCBkaWVzZW4gTWlzc3RhbmQgenUgYmVoZWJlbi4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERydWNrZXJwcm9ibGVtIFhQIC8gMjAwMCAoTWVkaWMsIDE3LiBTZXAgMjAwNCwgMjM6MjA6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTU0NTA2MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTQzOTM4MQpXYXMgaWNoIGF1Y2ggYWxzIFBoYWVub21lbiBiZWkgV2luZG9vZi1TeXN0ZW1lbiBzY2hvbiBlcmxlYnQgaGFiZSwgaXN0IGRlcgpVbXN0YW5kLCBkYXNzIGRlciBkcnVja2VuZGUgVXNlciBhdWYgYmVpZGVuIFN5c3RlbWVuIChhbHNvIGRlbSwgdm9uIGRlbSBhdXMKZ2VkcnVja3Qgd2lyZCB1bmQgZGVtLCBhbiBkZW0gZGVyIERydWNrZXIgYW5nZXNjaGxvc3NlbiBpc3QpPSBtaXQgZGVtZXNlbGJlbgpVc2VybmFtZW4gdW5kIFBhc3N3b3J0IGV4aXN0aWVyZW4gbXVzcywgd2VubiBkYXMgQW5tZWxkZXByb2ZpbCBwcm8gUmVjaG5lciB1bmQKbmljaHQgc2VydmVyYmFzaWVydCBleGlzdGllcnQuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaWxiZW50cmVubnVuZyBpbiBMYVRlWCBhYnNjaGFsdGVuIChab29rLCAyMC4gU2VwIDIwMDQsIDE1OjQ2OjQxKToKSWNoIHdlaXNzLCBpY2ggd3Vzc3RlIGRhcyBtYWwsIGFiZXIgaGFiJ3MgdmVyZ2Vzc2VuOiBXaWUga2FubiBtYW4gZGVubiBkaWUKU2lsYmVudHJlbm51bmcga29tcGxldHQgYXVzc2NoYWx0ZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNpbGJlbnRyZW5udW5nIGluIExhVGVYIGFic2NoYWx0ZW4gKEhhcnVraSwgMjAuIFNlcCAyMDA0LCAxNzoxMzoyNyk6Cn4jISBybj1ab29rIHJ0PTEwOTU2ODgwMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTY4ODAwMQpIYWJlIGljaCBub2NoIG5pZSBwcm9iaWVydCwgR29vZ2xlIHNjaGxhZWd0IGFiZXIgZGFzIFBha2V0ICdoeXBoZW5hdCcgdm9yOgpodHRwOi8vd3d3Lm1hdGgudXRhaC5lZHUvdGV4LWFyY2hpdmUvbWFjcm9zL2xhdGV4L2NvbnRyaWIvaHlwaGVuYXQvCgpIYXJ1a2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2lsYmVudHJlbm51bmcgaW4gTGFUZVggYWJzY2hhbHRlbiAoWm9vaywgMjAuIFNlcCAyMDA0LCAxNzo1ODo0NCk6Cn4jISBybj1IYXJ1a2kgcnQ9MTA5NTY5MzIwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1Njg4MDAxCkljaCBoYWIgZGFzIG5ldWxpY2ggbmVtIE1pdG11ZGRlciBzb2dhciBlcmtsYWVydC4gRXZ0bC4gbWFsIGltIExvZ2ZpbGUKZ3Vja2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaWxiZW50cmVubnVuZyBpbiBMYVRlWCBhYnNjaGFsdGVuIChEYXJrd2luZywgMjEuIFNlcCAyMDA0LCAxNDoyNDo1MCk6Cn4jISBybj1ab29rIHJ0PTEwOTU2ODgwMDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTY4ODAwMQpcc2VsZWN0bGFuZ3VhZ2V7XHpvb2tpc3R0b2xsfQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTaWxiZW50cmVubnVuZyBpbiBMYVRlWCBhYnNjaGFsdGVuIChab29rLCAyMS4gU2VwIDIwMDQsIDE1OjEyOjU1KToKfiMhIHJuPURhcmt3aW5nIHJ0PTEwOTU3Njk0OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTY4ODAwMQpNZWluIEJhYmVsIGphbW1lcnQgZGFubiwgZGFzcyBlcyBlaW5lIHNvbGNoZSBTcHJhY2hlIG5pY2h0IGdhZWJlLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNpbGJlbnRyZW5udW5nIGluIExhVGVYIGFic2NoYWx0ZW4gKFphcm5peWEsIDIyLiBTZXAgMjAwNCwgMTA6MDE6MzEpOgp+IyEgcm49Wm9vayBydD0xMDk1NzcyMzc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTU2ODgwMDEKYWxzbyBpY2ggaGFiIGJpcyBqZXR6dCBudXIgYWxzIExvZXN1bmcgZ2VmdW5kZW4sIGRlbiB0ZXh0IGluIFxtYm94e30genUKc2V0emVuLi4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2lsYmVudHJlbm51bmcgaW4gTGFUZVggYWJzY2hhbHRlbiAoWm9vaywgMjIuIFNlcCAyMDA0LCAxMDozNTowNSk6Cn4jISBybj1aYXJuaXlhIHJ0PTEwOTU4NDAwOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTY4ODAwMQpuYWNoaGVyIG1hbCBkYXMgVGVYYm9vayBrb25zdWx0aWVyZW4uCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFza3MgJiA0TlQgKEphbWVzb24sIDIzLiBTZXAgMjAwNCwgMTI6MzU6MDgpOgpIYWxsbyBNdWRkZXJnZW1laW5kZSwKCmljaCB2ZXJ3ZW5kZSBlaW5lbiBQcm92aWRlciwgZGVyIHByYWt0aXNjaCBhbGxlIDMgU3R1bmRlbiBlaW5lbiBhbmRlcmVuCmd1ZW5zdGlnc3RlbiAoQW5hbG9nLSlUYXJpZiBoYXQsIGRhaGVyIGxhc3NlIGljaCBtaWNoIGdnZi4gZWluZSBNaW51dGUgdm9yClRhcmlmd2VjaHNlbCBwZXIgV2luZG93cy0oWFApVGFza3BsYW5lciB3YXJuZW4uCgpEZXIgVGFza3BsYW5lci1FaW50cmFnICJQcm92aWRlcndlY2hzZWwiIGxhdXRldDoKCkxXOlxQRkFEXDROVC5FWEUgL2MgTFc6XFBGQURcUHJvdmlkZXJ3ZWNoc2VsLmJ0bQoKSW4gZGVyIC5idG0tRGF0ZWkgc3RlaHQgZGFubiBkaWUgQWJmcmFnZSBpbiBkZXIgNE5ULUJhdGNoc3ByYWNoZToKCmlmIG5vdCAiJUBleGVjc3RyW3Jhc2RpYWxdIj09IktlaW5lIFZlcmJpbmR1bmdlbiIgbXNnICogUHJvdmlkZXJ3ZWNoc2VsIQoKKERhcyB3ZXJ0ZXQgZGllIGVyc3RlIFplaWxlIGRlciBTdGFuZGFyZGF1c2dhYmUgdm9uIHJhc2RpYWwgYXVzIHVuZCBnaWJ0IGdnZi4KZWluZSBCb3ggenVtIFdlZ2tsaWNrZW4gYXVzLikKCk1laW4gUHJvYmxlbTogV2VubiBpY2ggbmljaHQgb25saW5lIGJpbiwgc29uZGVybiBnZXJhZGUgd2FlaHJlbmQgZWluZXMKa3JpdGlzY2hlbiBaZWl0cHVua3RzIGVpbiBQcm9ncmFtbSBhdXNmdWVocmUsIGRhcyBlaW5lbiBHcmFmaWttb2R1cyAocGVyCkRpcmVjdFgsIE9wZW5HTCBvLmFlLikgdmVyd2VuZGV0LCBoYXV0IG1pciBkZXIgVGFzayBkYXp3aXNjaGVuIChlaW4KNE5ULUZlbnN0ZXIgZXJzY2hlaW50IGt1cnopIHVuZCBiZXdpcmt0IGRhbWl0IGVpbmVuIEF1ZmxvZXN1bmdzd2VjaHNlbCBtaXQgZGVyCkZvbGdlLCBkYXNzIGRhcyBnZXJhZGUgaW0gVm9yZGVyZ3J1bmQgbGF1ZmVuZGUgUHJvZ3JhbW0gbmljaHQgbWVociBrb3JyZWt0CmFyYmVpdGV0LiBJY2ggc3VjaGUgbnVuIG5hY2ggZWluZXIgTG9lc3VuZywgd2llIGljaCBkYXMgNE5UIChvZGVyIGVpbiBhbmRlcmVzClByb2dyYW1tLCBtaXQgZGVtIGljaCBkYXMgZ2xlaWNoZSBlcnJlaWNoZW4ga2FubiB3aWUgbWl0IGRlciBCYXRjaGRhdGVpKQpzdGFydGVuIGthbm4sIG9obmUgZGFzcyBlcyBlaW4gRmVuc3RlciBhdWZtYWNodC4gTGVpZGVyIGJpZXRldCA0TlQgZGFzCm1pbmltaWVydGUgU3RhcnRlbiBlcnN0LCB3ZW5uIGljaCBkYXZvbiBlaW4gd2VpdGVyZXMgNE5UIHBlciBzdGFydCAvbWluCmF1ZnJ1ZmUsIGFiZXIgbmljaHQgcHJpbWFlci4gRmFlbGx0IGplbWFuZCB3YXMgZWluPyBBdXNzZXIgZWluZW4gYW5kZXJlbgpQcm92aWRlciBvZGVyIERTTCB6dSBuZWhtZW4gLSBpY2ggd2lsbCBkYXMgdW5hYmhhZW5naWcgZGF2b24gZWluZmFjaCBtYWwKZ2Vsb2VzdCBoYWJlbi4KCkdydXNzCkphbWVzb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYXNrcyAmIDROVCAoT2dvLCAyMy4gU2VwIDIwMDQsIDEyOjQxOjMyKToKfiMhIHJuPUphbWVzb24gcnQ9MTA5NTkzNTcwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1OTM1NzA4Ckthbm5zdCBkdSBuaWNodCBlaW5mYWNoIGRlbiBTeXN0ZW1iZWVwZXIgVHV1dXQgVHV1dXQgVHV1dCBtYWNoZW4gbGFzc2VuPyAKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUYXNrcyAmIDROVCAoSmFtZXNvbiwgMjMuIFNlcCAyMDA0LCAxMjo1NToxNCk6Cn4jISBybj1PZ28gcnQ9MTA5NTkzNjA5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk1OTM1NzA4CkRhcyBQcm9ibGVtIGVudHN0ZWh0IGVpbnMgZnJ1ZWhlciwgbmFlbWxpY2ggc2Nob24gYmVpbSBrdXJ6ZW4gQXVmcG9wcGVuIGRlcwooRE9TLSBvZGVyIGNtZC1hZWhubGljaGVuKSA0TlQuIERhcyBpc3QgZXMsIHdhcyBpY2ggZWxpbWluaWVyZW4gd2lsbC4gRGFzCm1zZy1GZW5zdGVyIGtvbW10IGVoIG51ciB3ZW5uIGljaCBvbmxpbmUgYmluLCBkYSB3aXJkIGRhbm4gYXVjaCBrZWluCkdyYWZpa21vZHVzIGdlc3RvZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2lsYmVudHJlbm51bmcgaW4gTGFUZVggYWJzY2hhbHRlbiAoWm9vaywgMjcuIFNlcCAyMDA0LCAxMToyMToyMSk6Cn4jISBybj1ab29rIHJ0PTEwOTU4NDIxMDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NTY4ODAwMQpIaWVyIG1hbCBhdXMgZGVyIERhbnRlIEZBUSwgRnJhZ2UgNS4zLjYsIGRpZSB3b2hsIG5vZXRpZ2VuIEluZm9zIGZ1ZXIKYWxsZSBJbnRlcmVzc2llcnRlbjoKCi0tc2NobmlwcC0tCjUuMy42IFdpZXNvIHdlcmRlbiBUZXh0ZSBpbiAsdHlwZXdyaXRlcmAtU2NocmlmdGVuIG5pY2h0IGdldHJlbm50PyBHaWJ0IGVzCmVpbmUgTW9lZ2xpY2hrZWl0LCBkYXNzIGRvY2ggZ2V0cmVubnQgd2VyZGVuIGthbm4/CgogCgpUZVggdHJlbm50IG51ciwgd2VubiBkaWUgYWt0dWVsbCB2ZXJ3ZW5kZXRlIFNjaHJpZnQgZWluZW4gRGl2aXMKKFRyZW5udW5nc3N0cmljaCkgYmVzaXR6dC4gRGF6dSBpc3QgamVkZXIgU2NocmlmdCBlaW4gRGl2aXMgZHVyY2ggZGVuClBhcmFtZXRlciBcaHlwaGVuY2hhcjxmb250PiB6dWdlb3JkbmV0LCBkZXIgYmVpIGRlbiBtZWlzdGVuIFNjaHJpZnRlbiBhdWYgZGVuCldlcnQgYFwtLCBhbHNvIGF1ZiBkYXMgWmVpY2hlbiAsLC1gYCwgZ2VzZXR6dCBpc3QuIEJlaSBkZW4KLHR5cGV3cml0ZXJgLVNjaHJpZnRlbiBpc3QgZGllc2VyIFdlcnQgYWJlciBhdWYgLTEgZ2VzZXR6dCwgZC5oLiBhdWYgZWluIG5pY2h0CnZvcmhhbmRlbmVzIFplaWNoZW4uIERhbWl0IGlzdCBkaWUgVHJlbm51bmcgZnVlciBkaWVzZSBTY2hyaWZ0ZW4gdW50ZXJkcnVlY2t0LAp3YXMgaW4gZGVuIG1laXN0ZW4gRmFlbGxlbiBhdWNoIHNpbm52b2xsIGlzdC4gCgoKV2lsbCBtYW4gZGVubm9jaCwgZGFzcyBUZVggZWluZW4gaW4gLHR5cGV3cml0ZXJgIGdlc2V0enRlbiBUZXh0dGVpbAphdXRvbWF0aXNjaCB0cmVubnQsIHNvIG11c3MgbWFuIGRlbiBcaHlwaGVuY2hhciBmdWVyIGRpZXNlIFNjaHJpZnRlbiBhdWYgYFwtCnNldHplbi4gRGllcyBnZWh0IGluIExhVGVYIGFtIGVpbmZhY2hzdGVuLCB3ZW5uIG1hbiBkaWUgQW53ZWlzdW5nIFx0dGZhbWlseQp1bWRlZmluaWVydDogCgpcbmV3Y29tbWFuZHtcb3JpZ3R0ZmFtaWx5fXt9JSBzb2xsdGUgbm9jaCBuaWNodCBkZWZpbmllcnQgc2VpbiEKXGxldFxvcmlndHRmYW1pbHk9XHR0ZmFtaWx5ICUgYWx0ZSBEZWZpbml0aW9uIHZvbiBcdHRmYW1pbHkgc2ljaGVybgpccmVuZXdjb21tYW5ke1x0dGZhbWlseX17XG9yaWd0dGZhbWlseSBcaHlwaGVuY2hhclxmb250PWBcLX0KCiAKCk1hbiBrb2VubnRlIGFsdGVybmF0aXYgZGF6dSBhdWNoIGRpZSBEYXRlaWVuICwsKmNtdHQqLmZkYGAgYWVuZGVybiB1bmQgZGllCkFud2Vpc3VuZyBcaHlwaGVuY2hhclxmb250XG1AbmUgaW4gXERlY2xhcmVGb250RmFtaWx5IGVudGZlcm5lbi4gRGllcyBpc3QKamVkb2NoIG5pY2h0IHJhdHNhbSwgd2VubiBtYW4gVGV4dGUgYW4gYW5kZXJlIHdlaXRlcmdlYmVuIHdpbGwsIGRhIG1hbiBkYW5uCm5pY2h0IHZlcmdlc3NlbiBkYXJmLCBkaWUgc28gZ2VhZW5kZXJ0ZW4gLCouZmRgLURhdGVpZW4gbWl0enVnZWJlbi4gCgoKRnVlciBMYVRlWCAyLjA5IChvZGVyIGFuYWxvZyBhdWNoIGZ1ZXIgUGxhaW4tVGVYKSBtdXNzIGRhcyBNYWtybyBcdHQKdW1kZWZpbmllcnQgd2VyZGVuOiAKClxuZXdjb21tYW5ke1xvcmlndHR9e30KXGxldFxvcmlndHQ9XHR0ClxyZW5ld2NvbW1hbmR7XHR0fXtcb3JpZ3R0IFxoeXBoZW5jaGFyXGZvbnQ9YFwtfQoKIAoKV2ljaHRpZ2VyIEhpbndlaXM6IFRlWCBrYW5uIGVpbmUgU2NocmlmdCB1bnRlciB1bnRlcnNjaGllZGxpY2hlbiBOYW1lbiBsYWRlbiwKd29iZWkgVGVYIGFsbGUgZGllc2UgU2NocmlmdGVuIG51ciBlaW4gZWluemlnZXMgTWFsIGxhZWR0IHVuZCBmdWVyIGRpZSBhbmRlcmVuClNjaHJpZnRlbiBudXIgLEFsaWFzZXNgIGFubGVndC4gRGFoZXIgZ2lidCBlcyBcaHlwaGVuY2hhcjxmb250PiBudXIgZWlubWFsIHBybwosZWNodGVuYCBGb250IHVuZCBcaHlwaGVuY2hhcjxmb250PiBpc3Qgd2llIGF1Y2ggXGZvbnRkaW1lbjxmb250PiBlaW4KYmVzb25kZXJlciBQYXJhbWV0ZXI6IEFsbGUgWnV3ZWlzdW5nZW4gYW4gXGh5cGhlbmNoYXI8Zm9udD4gd2VyZGVuIGltbWVyCmdsb2JhbCBhdXNnZWZ1ZWhydC4gQXVzc2VyZGVtIHNpZWh0IHNpY2ggVGVYIGRpZXNlbiBQYXJhbWV0ZXIgZXJzdCBhbQpBYnNhdHplbmRlIGJlaW0gVW1icnVjaCBkaWVzZXMgQWJzYXR6ZXMgYW4sIHNvIGRhc3MgbWl0IG9iaWdlciBBZW5kZXJ1bmcgbmljaHQKbW9lZ2xpY2ggaXN0LCBkaWUgVHJlbm51bmcgZnVlciBlaW5lbiBpbiAsdHlwZXdyaXRlcmAgZ2VzZXR6dGVuIFRleHR0ZWlsIHp1CmVybW9lZ2xpY2hlbiwgZnVlciBlaW5lbiBhbmRlcmVuIGltIHNlbGJlbiBBYnNhdHogenUgdmVyYmlldGVuLiAKCgpFaW5lIHdlaXRlcmUgTWV0aG9kZSwgVHJlbm51bmdlbiBmdWVyICx0eXBld3JpdGVyYC1TY2hyaWZ0ZW4genUgZXJsYXViZW4sCmJpZXRldCBkYXMgUGFrZXQgLGh5cGhlbmF0YDogCgpcdXNlcGFja2FnZVtodHRde2h5cGhlbmF0fQoKIAoKRGFydWViZXIgaGluYXVzIGthbm4gZXMgYXVjaCBiZW51dHp0IHdlcmRlbiwgdW0gVHJlbm51bmcgc2VsZWt0aXYgenUgZXJsYXViZW4Kb2RlciB6dSB2ZXJiaWV0ZW4uIAoKCmh5cGhlbmF0OiAKQ1RBTjogbWFjcm9zL2xhdGV4L2NvbnRyaWIvaHlwaGVuYXQvCi0tc2NobmFwcC0tCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVhZHNldCBmdWVyIGRlbiBQQyAoWmFybml5YSwgMjcuIFNlcCAyMDA0LCAxMzo1NTo0OSk6CgpIaSwgCgpoYXQgZWluZXIgRXJmYWhydW5nIG1pdCBIZWFkc2V0cyBmdWVyIGRlbiBQQz8gV2llIGlzdCBkaWUgUXVhbGk/IExvaG50IHNpY2gKZGFzIHNjaG9uIHVlYmVyIFVTQj8KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZWFkc2V0IGZ1ZXIgZGVuIFBDIChDcm9mdCwgMjcuIFNlcCAyMDA0LCAxNDowMTowNyk6Cn4jISBybj1aYXJuaXlhIHJ0PTEwOTYyODYxNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NjI4NjE0OQpNaXQgbWVpbmVtIFBsYW50cm9uaWNzIEF1ZGlvIDkwIEhlYWRzZXQgYmluIGljaCBqZWRlbmZhbGxzIHNlaHIgenVmcmllZGVuLgpJc3QgYWxsZXJkaW5ncyBuaWNodCB1ZWJlciBVU0IgYW5nZXNjaGxvc3NlbiAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSU1MgKFpvb2ssIDI3LiBTZXAgMjAwNCwgMTQ6MTQ6NDkpOgpOYWNoZGVtIGljaCBsYW5nc2FtIGJlZ3JlaWZlLCB3b3J1bSBlcyBzaWNoIGRhYmVpIGhhbmRlbHQgdW5kIHdpZSBlcwpmdW5rdGlvbmllcnQsIG51biBkaWUga2xhc3Npc2NoZSBGcmFnZTogV2llIGthbm4gaWNoIGRhcyBudXR6ZW4/IERhIGJyYXVjaAppY2ggd29obCBuZW4gU3R1ZWNrIFNvZnR3YXJlLiBXYXMgZ2lidHMgZGVubiBkYSBlbXBmZWhsZW5zd2VydGVzPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSU1MgKEFwb3BoaXMsIDI3LiBTZXAgMjAwNCwgMTU6MzM6MDMpOgp+IyEgcm49Wm9vayBydD0xMDk2Mjg3Mjg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTYyODcyODkKaW4gVmVyc2lvbiAwLjgga2FubiBudW4gYXVjaCBkZXIgVGh1bmRlcmJpcmQgUlNTLWZlZWRzIGFuemVpZ2VuLiBmdW5rdGlvbmllcnQKZ2FueiBndXQgOikKaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9kdWN0cy90aHVuZGVyYmlyZC8KCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGVhZHNldCBmdWVyIGRlbiBQQyAoT3JrdG9ldGVyLCAyNy4gU2VwIDIwMDQsIDE5OjAyOjU4KToKfiMhIHJuPUNyb2Z0IHJ0PTEwOTYyODY0Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5NjI4NjE0OQpIZWFkc2V0cyBnaWJ0cyBkb2NoIGF1Y2ggKHNjaG9uPykgbWl0IDUuMSBUZWNobmlrLCBvZGVyPyBMb2hudCBkYXM/CkVyZmFocnVuZ2VuPwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhlYWRzZXQgZnVlciBkZW4gUEMgKE11cGZlbCwgMjcuIFNlcCAyMDA0LCAxOTo0OTo0Myk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA5NjMwNDU3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk2Mjg2MTQ5CkljaCB3ZWlzcyBqYSBuaWNodCwgd28gRHUgZGllIHp1c2FldHpsaWNoZW4gMyBPaHJlbiBoZXJiZWtvbW1lbiB3aWxsc3QuLi4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUlNTIChDYXR3ZWF6bGUsIDI3LiBTZXAgMjAwNCwgMjA6MDQ6MjcpOgp+IyEgcm49Wm9vayBydD0xMDk2Mjg3Mjg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTYyODcyODkKRmlyZWZveCAxLjBQUgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaWdhdHVyZW4gYmVpIExhVGVYIChab29rLCAgNS4gT2t0IDIwMDQsIDE5OjEwOjUwKToKR2lidHMgYmVpIExhVGVYIGVpZ2VudGxpY2ggZWluZSBMaWdhdHVyIGZ1ZXIgZGllIFplaWNoZW5mb2xnZSAiZmZpIj8KCklyZ2VuZHdpZSBtYWNodCBlcyBiZWkgbWlyIGVpbiBmLCBub3JtYWxlbiBaZWljaGVuYWJzdGFuZCB1bmQgZGFubiBkaWUgZmktCkxpZ2F0dXIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpZ2F0dXJlbiBiZWkgTGFUZVggKE9nbywgIDYuIE9rdCAyMDA0LCAwMTo0NjoyNik6Cn4jISBybj1ab29rIHJ0PTEwOTY5OTYyNTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5Njk5NjI1MApJY2ggZGFjaHRlLCBtYW4gbmltbXQgdm9uIExpZ2F0dXJlbiBhYnN0YW5kLCB3ZW5uIHNpZSBzaWNoIHVlYmVyIG1laHJlcmUKU2lsYmVuIGVyc3RyZWNrZW4gd3VlcmRlbi4gRWluZSBMaWdhdHVyIGRhcmYgYWxzbyBuaWNodCBnZXRyZW5udCB3ZXJkZW4uIEJlaQpTdG9mZmluc3BpcmF0aW9uIChkb29mZXMgQmVpc3BpZWwpIGR1ZXJmdGUgbWFuIGVyZ28gendhciBlaW5lIGZmIExpZ2F0dXIgYWJlcgprZWluZSBmaSBMaWdhdHVyIHZlcndlbmRlbi4gTWlyIGZhZWxsdCBzcG9udGFuIGtlaW4gV29ydCBlaW4sIGRhc3MgaW4gZWluZXIKU2lsYmUgZmZpIGhhdCwgaWNoIGxhc3NlIG1pY2ggYWJlciBnZXJuZSBlaW5lcyBiZXNzZXJlbiBiZWxlaHJlbi4KCk9nbywgbmljaHQgd2lya2xpY2ggQWhudW5nIGhhYmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaWdhdHVyZW4gYmVpIExhVGVYIChab29rLCAgNi4gT2t0IDIwMDQsIDEwOjM1OjUwKToKfiMhIHJuPU9nbyBydD0xMDk3MDE5OTg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTY5OTYyNTAKQmVpIGdlbmF1ZXJlbSBOYWNoZGVua2VuIHNjaGVpbnQgZGllIHZvbiBMYVRlWCBnZXdhZWhsdGUgTGlnYXR1ciB3b2hsIGdhbnoKcmljaHRpZyB6dSBzZWluLiBTaWVodCBudXIga29taXNjaCBhdXMsIGZpbmRlIGljaC4gTmFqYSwgbGFzcyBpY2ggZXMgbWFsIHNvLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1heGltYWxlIFJBTS1WZXJ0cmFlZ2xpY2hrZWl0IGVpbmVzIDQ0ME1YIENoaXBzYXR6ZXMuLi4gKE9nbywgIDcuIE9rdCAyMDA0LCAyMToyMDozMCk6CkljaCBoYWJlIGVpbiBhbHRlcyBOb3RlYm9vayBlcndvcmJlbiwgd2VsY2hlcyBlaW5lbiBJbnRlbCA0NDBNWCBDaGlwc2F0eiBtaXQKZWluZW0gQ2VsZXJvbiAzMDBtaHogKG1lZG9jaW5vKSBoYXQuIEltIEhhbmRidWNoIHN0ZWh0IGRyaW4sIGRhc3MgZWluIDY0TUIKMTQ0LXBpbiwgU08tRElNTSwgMy4zViwgU0RSQU0gUmllZ2VsIGVpbmdlYmF1dCBpc3QsIGFiZXIgZWluIHp3ZWl0ZXIgUmFtLVNsb3QKbm9jaCBmcmVpIGlzdC4gRGVtenVmb2xnZSBzdGVodCBiZWkgTWVtb3J5IChFeHBhbmRhYmxlIHRvKSA6IDY0IE1CICgxOTIgTUIKTWF4LikgTWFuIGthbm4gZGVtbmFjaCBub2NoIGVpbiAxMjhNQiBNb2R1bCBrYXVmZW4gdW5kIGRhenVzdGVja2VuLiBEYXMKZnVua3Rpb25pZXJ0IGF1Y2gsIHdpZSBpY2ggaW0gSW50ZXJuZXQgbmFjaGdlbGVzZW4gaGFiZS4gCgpOdW4gaGFiZSBpY2ggYXVmIGZvbGdlbmRlbSBMaW5rIGdlZnVuZGVuLCBkYXNzIGRlciA0NDBNWCBiaXMgenUgNTEyTUIgUmFtCnVudGVyc3R1ZXR6dCwgd2FzIGF1Y2ggdmVybnVlbmZ0aWdlciBhbHMgMTkyTUIga2xpbmd0LCB6dW1hbCBlcyBqYSBkaWUKTW9iaWwtVmFyaWFudGUgdm9tIEJYIGlzdC4KaHR0cDovL3d3dy5jb3NpLXRyb25pYy5kZS9zdXBwb3J0L2NoaXBzX2kuaHRtI0ludGVsJTIwNDQwTVgKCldhcyBpY2ggbWljaCBudW4gZnJhZ2U6IEtvbW10IGRhcyBMaW1pdCBpbSBIYW5kYnVjaCBkYWR1cmNoIHp1c3RhbmRlLCBkYXNzCmFuZ2Vub21tZW4gd3VyZGUsIG1hbiBiZWhhZWx0IGRlbiA2NE1CIFJpZWdlbCB1bmQga2F1ZiBkYXMgZ3JvZXNzdGUgZGFtYWxzCnZlcmZ1ZWdiYXJlIFJhbS1Nb2R1bCAoMTI4TUIpIHVuZCBrb21tdCBzbyBhdWYgMTk2TUIgb2RlciBvYiBlcyB3aXJrbGljaCBlaW5lCkxpbWl0aWVydW5nIGJlaSBlaW5lciBzb2xjaCBrcnVkZW4gU3VtbWUgZ2ViZW4ga29lbm5lLiBadW1pbmRlc3QgbWl0IHp3ZWkKMjU2J2VyIHNvbGx0ZSBlcyBkb2NoIGRhbm4gdW1nZWhlbiBrb2VubmVuLCBvZGVyPwoKQWJlciBlaWdlbnRsaWNoIHd1ZXJkZSBpY2ggbGllYmVyIHVlYmVyIDI1Nk1CIFJpZWdlbCBnZWhlbi4uLgoKV2Vpc3Mgd2VyIFJhdCwgb2RlciBrYW5uIG1pY2ggenVtaW5kZXN0IG1pdCBhZWhubGljaGVuIEVyZmFocnVuZ2VuIGVybXV0aWdlbj8KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1heGltYWxlIFJBTS1WZXJ0cmFlZ2xpY2hrZWl0IGVpbmVzIDQ0ME1YIENoaXBzYXR6ZXMuLi4gKEFudHVyLCAgOC4gT2t0IDIwMDQsIDA5OjExOjMyKToKfiMhIHJuPU9nbyBydD0xMDk3MTc2ODMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEwOTcxNzY4MzAKSGFsbG8gb2dvLAoKRGVyIEJYLUNoaXBzYXR6IHVudGVyc3R1ZXR6dCBhdWNoIDI1NmVyIHJpZWdlbCwgbWFuIG11c3MgYWJlciBhdWYgZGllCm9yZ2FuaXNhdGlvbiBhY2h0ZW4uIFdpZSBkYXMgbWl0IGRlbSBNWCBhdXNzaWVodCB3ZWlzcyBpY2ggbmljaHQuIFdlbm4gbWFuCmZhbHNjaCBvcmdhbmlzaWVydGUgMjU2ZXIgbmltbXQsIGVya2VubnQgZGVyIEJYICh1bmQgYXVjaCBMWCkgbnVyIGRpZSBIYWVsZnRlLgpNZWluZSBFcmZhaHJ1bmcgYmV6aWVodCBzaWNoIGF1ZiBlaW5lbiBEZXNrdG9wIG1pdCBMWC1DaGlwc2F0eiwgZGVyIGFiZXIgd29obApkaWVzZWxiZSBHZW5lcmF0aW9uIHNlaW4gZHVlcmZ0ZS4gKENlbGVyb24tQmVzdHVlY2t0KQoKQW5zb25zdGVuID0+IGRhIGVpbiBOb3RlYm9vayB0cmFuc3BvcnRhYmVsIGlzdC4uLiBadW0gSGFlbmRsZXIgZGVpbmVzClZlcnRyYXVlbnMgdW5kIEFVU1BST0JJRVJFTi4gLSBJY2ggaGF0dGUgMyBSdW5kZW4gYmlzIGljaCBkaWUgcmljaHRpZ2VuIENoaXBzCmhhdHRlLgpBKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIFVuaXggZnVlciBBdXNzZXJpcmRpc2NoZSAoR3JpbW1ib3JuLCAgOC4gT2t0IDIwMDQsIDExOjU2OjAwKToKTWFuIGhhdCBkZW4gVXJzcHJ1bmcgdm9uIFVuaXggYXVmIGRpZSBLbGluZ29uZW4genVydWVja2Z1ZWhyZW4ga29lbm5lbi4KQWxzIEJlaXNwaWVsIG1vZWdlIGRpZW5lbjoKCiJHcmVwIGxzIGF3ayBjaG1vZC4gIE1rbm9kIGtzaCB0YXIgaW1hcC4gIFdhbGwgZnNjayB5YWNjISIKKFRoYXQgbGFzdCBpcyBvYnZpb3VzbHkgYSBjdXJzZSBvZiBzb21lIHNvcnQuKQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKZW1hbmQgRXJmYWhydW5nIG1pdCBPcGVuVlBOIChab29rLCAyMS4gT2t0IDIwMDQsIDExOjAwOjIyKToKZ2VzYW1tZWx0IHVuZCBtYWcgbWlyIGRhenUgc2FnZW4sIHdpZSBlciBkYXMgZmFuZD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBU1AgLSBDaGFuY2VuPyAoWm9vaywgMjkuIE9rdCAyMDA0LCAxNjoyMjo1MCk6CkhpLCBmYWxscyBoaWVyIGplbWFuZCB2b24gRXVjaCBlaW5lIEFuc2ljaHQgenUgQVNQIGhhdCwgaWNoIHd1ZXJkIG1pY2ggZnJldWVuLApkaWVzZSB6dSBsZXNlbi4gOi0pCgpBbHNvIGluc2Jlc29uZGVyZSBoaW5zaWNodGxpY2ggbW9lZ2xpY2hlciBFcmZvbGdjaGFuY2VuLCBWZXJicmVpdHVuZ2VuLApFaW5zYXR6Z2ViaWV0ZSwgR2ViaWV0ZSBpbiBkZW5lbiBlaW4gRWluc2F0eiB1bndhaHJzY2hlaW5saWNoIGlzdCBldGMuCgpab29rLgoKUFM6IEFlaC4gQVNQPT1BcHBsaWNhdGlvbiBTZXJ2aWNlIFByb3ZpZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBU1AgLSBDaGFuY2VuPyAoTGlhZmFyLCAyOS4gT2t0IDIwMDQsIDE5OjE3OjA2KToKfiMhIHJuPVpvb2sgcnQ9MTA5OTA1OTc3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk5MDU5NzcwCkdlcmFkZSBlaW5lbiBWZXJ0cmFnIHp1c2FtbWVuZ2ViYXV0IGZ1ZXIgc293YXMuCkVpbnNhdHptb2VnbGljaGtlaXRlbiBtZWluZXIgTWVpbnVuZyBuYWNoIHZvciBhbGxlbSBiZWkgRGF0ZW5iYW5rYW53ZW5kdW5nZW4KaW4ga2xlaW5lbiBCZXRyaWViZW4gb2huZSBncm9zc2FydGlnZSBTZXJ2ZXJpbmZyYXN0cnVrdHVyLgpXYXMgbWlyIGRhYmVpIHZvciBhbGxlbSBpbiBkZW4gU2lubiBrb21tdCBpc3QgZWluZSBSQ1AuCgpBbGxlcmRpbmdzIHdpcmQgQVNQIGltIE1vbWVudCB3b2hsIG5vY2ggaGF1cHRzYWVjaGxpY2ggbWl0IENpdHJpeCBiencuIFZOQwpldGMuIHJlYWxpc2llcnQuCgpEaWUgbW9lZ2xpY2hlbiBDaGFuY2VuIHNvbGNoZXIgTG9lc3VuZ2VuIGhhZW5nZW4gd29obCBhdWNoIHN0YXJrIHZvbiBkZXIKZWluZ2VzZXR6dGVuIFNvZnR3YXJlIGFiLiAoc3RkLiBQYWtldGUgd2llIE9mZmljZS96dWVzY2huaXR0ZW5lIExvZXN1bmdlbikKCkxpYWZhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQVNQIC0gQ2hhbmNlbj8gKE11cGZlbCwgMjkuIE9rdCAyMDA0LCAyMToyNTo0MCk6Cn4jISBybj1MaWFmYXIgcnQ9MTA5OTA3MDIyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk5MDU5NzcwCkRpZSBEYXRldiBiaWV0ZXQgQVNQIGFuIGZ1ZXIgaWhyZSBLdW5kZW4uIE11c3N0ZSBtYWwgYXVmIHd3dy5kYXRldi5kZSBzY2hhdWVuCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQVNQIC0gQ2hhbmNlbj8gKFpvb2ssIDI5LiBPa3QgMjAwNCwgMjI6NTM6NDgpOgp+IyEgcm49TXVwZmVsIHJ0PTEwOTkwNzc5NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5OTA1OTc3MApLZW5uc3QgRHUgZGFzIG5hZWhlcj8gRGllIEJlc2NocmVpYnVuZyBkZXIgREFURVYgc2VsYnN0IGhhYiBpY2ggbmFlbWxpY2gKYXVjaCBzY2hvbiBhbmdlc2NoYXV0LiA6KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJ1ZWNoZXIgbWl0IFRjbCAoQWxib2luLCAgOC4gTm92IDIwMDQsIDE2OjI2OjIyKToKSmEgd2llIGRlciBUaXRlbCBzY2hvbiBzYWd0LCBpY2ggc3VjaGUgQnVlY2hlciBkaWUgZ3V0IHp1ciBFaW5mdWVocnVuZyBpbiBkaWUKU2tyaXB0c3ByYWNoZSBUY2wgc2luZC4KS2FubiBtaXIgamVtYW5kIHdlbGNoZSBlbXBmZWhsZW4/CgpHcnVlc3NlIHVuZCBEYW5rIGltIFZvcmF1cwpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJ1ZWNoZXIgbWl0IFRjbCAoSHVtbmksICA4LiBOb3YgMjAwNCwgMTk6MjQ6MTEpOgp+IyEgcm49QWxib2luIHJ0PTEwOTk5Mjc1ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTA5OTkyNzU4MgpJY2ggaGFiIGVpbnMgdm9uIEpvaG4gSy4gT3VzdGVyaG91dCAoVGNsIHVuZCBUaykgdW5kIG11c3MgZWhybGljaCBzYWdlbiwKdm9sbGVuZHMgYmVnZWlzdGVydCBiaW4gaWNoIG5pY2h0LiBBdWNoLCB3ZW5uIFRjbCBhbiBzaWNoIFNwYXNzIG1hY2h0LgoKSWNoIHdlaXNzIGFiZXIgYXVjaCBuaWNodCwgb2IgZXMgYmVzc2VyZSBnaWJ0LgoKSHVtbmkKUFM6IFNjaGxlY2h0IGlzdCBkYXMgQnVjaCBuaWNodCwgYWJlciBpY2ggZGVua2UsIGVzIGlzdCBuaWNodCBkZXIgV2Vpc2hlaXQKbGV0enRlciBTY2hsdXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBidWVjaGVyIG1pdCBUY2wgKFpvb2ssICA4LiBOb3YgMjAwNCwgMTk6MjQ6MzUpOgp+IyEgcm49SHVtbmkgcnQ9MTA5OTkzODI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk5OTI3NTgyCmdlbmF1IGRhcyBtZWludGUgaWNoLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBidWVjaGVyIG1pdCBUY2wgKE9nbywgIDkuIE5vdiAyMDA0LCAwMjo0NToyOCk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5OTkyNzU4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMDk5OTI3NTgyClZpZWxsZWljaHQgaGlsZnQgRGlyIGF1Y2ggZGFzOgpodHRwOi8vd3d3LnRsZHAub3JnL0hPV1RPL1RjbFRrLUhPV1RPLTguaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpdmUgU25pZmZlbiAoT2dvLCAgOS4gTm92IDIwMDQsIDE3OjQwOjI4KToKSWNoIHN1Y2hlIHp1IERlbW96d2Vja2VuIGVpbiBQcm9ncmFtbSwgbWl0IGRlbSBtYW4gZWluZSBTdXJmc2Vzc2lvbiwgZGllIG1hbgptaXR0ZWxzIGV0aGVyZWFsIG9kZXIgYWVobmxpY2hlbSBhdWZnZXplaWNobmV0IGhhdCwgbGl2ZSBpbiBlaW5lbSBCcm93c2VyCm5hY2h2b2xsemllaGVuIGthbm4uIEtlbm50IGplbWFuZCBkYWZ1ZXIgaXJnZW5kZXR3YXM/IAoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGl2ZSBTbmlmZmVuIChXaGl0ZXRpZ2VyLCAgOS4gTm92IDIwMDQsIDE3OjU5OjAwKToKfiMhIHJuPU9nbyBydD0xMTAwMDE4NDI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDAwMTg0MjgKd2Vic3B5LCBhdXMgZGVtIGRzbmlmZi1wYWNrYWdlLgpodHRwOi8vd3d3Lm1vbmtleS5vcmcvfmR1Z3NvbmcvZHNuaWZmLwoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhbmR5Li4uIChNZWRpYywgMTYuIE5vdiAyMDA0LCAxNDozNTozMCk6CkRhIEVuZGUgZGVzIEphaHJlcyBtZWluIFZlcnRyYWcgYXVzbGFldWZ0IGJpbiBpY2ggYXVmIGRlciBTdWNoZSBuYWNoIGVpbmVtCm5ldWVuIEFuYmlldGVyIHVuZCBlaW5lbSBuZXVlbiBIYW5keS4KRGVyIFZlcnRyYWcgc29sbCB3aWVkZXIgZWluZXIgbWl0IDIgSmFocmVuIExhdWZ6ZWl0IHNlaW4sIGdlcmluZ2UgR3J1bmRnZWJ1ZWhyCihvZGVyIGdhciBrZWluZSkgdW5kIGVoZXIgZnVlciBXZW5pZ3RlbGVmb25pZXJlci4gV29iZWkgaWNoIG1pY2ggbm9jaCBmcmFnZSwKb2IgR2VuaW9uIHNpY2ggcmVjaG5lbiB3dWVyZGUuCldhcyBtaWNoIG5vY2ggbWVociB2ZXJ3aXJydCBpc3QgZGVyIERzY2h1bmdlbCBhbiBuZXVlbiBNb2RlbGxlbi4gRGEgZGllIERpbmdlcgppbnp3aXNjaGVuIGphIGZhc3QgenVtIE51bGx0YXJpZiAoYmVpIFZlcnRyYWdzYWJzY2hsdXNzKSBhbGxlcyBrb2VubmVuIGhhYiBpY2gKa2VpbmUgQWhudW5nLCBmdWVyIHdhcyBpY2ggbWljaCBlbnRzY2hlaWRlbiBzb2xsLiBCaXNoZXIgaGFiZW4gbWlyCk5va2lhLU1vZGVsbGUgbWVpc3Qgc2VociB6dWdlc2FndC4gSWNoIHd1ZXJkZSBkYXMgSGFuZHkgZ2VybmUgbWl0IGVpbmVtCkJsdWV0b290aC1IZWFkc2V0IG51dHplbiBrb2VubmVuLCB3ZWxjaGVzIHZvbiBlaW5lbSBEcml0dGFuYmlldGVyIHN0YW1tdAooYW5nZWJsaWNoIGdpYnRzIGF1Y2ggZGEgaGFldWZpZ2VyIFByb2JsZW1lLi4uZGEgZGVyIEhlYWRzZXQta2F1ZiBhbGxlcmRpbmdzCm5vY2ggYXVzc3RlaHQgd2FlcmUgYXVjaCBlaW4gSGVhZHNldCBkZXMgSGFuZHlhbmJpZXRlcnMgb2ssIHdlbm4gZGFzIEhlYWRzZXQKYXVjaCBtaXQgZGVtIFBDIG51dHpiYXIgaXN0KS4KUERBLUZ1bmt0aW9uZW4sIE1QMy1GdW5rdGlvbiwgS2FtZXJhLCBSYWRpby4uLi5hbGxlcyBuZXR0ZSBleHRyYXMsIG11c3MgYWJlcgpuaWNodCB1bmJlZGluZ3Qgc2Vpbi4gTGltaXQgZnVlciBadXphaGx1bmcgYmVpIFZlcnRyYWdzYWJzY2hsdXNzIHd1ZXJkZSBpY2gKYmVpIDEwMCBFdXJvIGFuc2V0emVuLgoKS2FubiBtaXIgamVtYW5kIFByb3ZpZGVyL0hhbmR5cyBlbXBmZWhsZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFuZHkuLi4gKE11YWRpYiwgMTYuIE5vdiAyMDA0LCAxNDo1Mjo0NSk6Cn4jISBybj1NZWRpYyBydD0xMTAwNjEyMTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDA2MTIxMzAKZGFzIGhpbGZ0IGRpciBuaWNodCB2aWVsIHdlaXRlciBhYmVyIG5lIGxpc3RlIHZvbiBnZXJhZXRlbiBmaW5kZXN0IGR1IHVudGVyCmhhbmR5LmRlCmljaCBwZXJzb2VubGljaCBiaW4gc2Nob24gamFocmVsYW5nIG1pdCBlcGx1cyBnbHVlY2tsaWNoLiB6dXIgemVpdCBudXR6ZSBpY2gKZGFzIHNpZW1lbnMgc3gxIHVuZCBiaW4gYXVjaCB6dWZyaWVkZW4uCmFiZXIgaWNoIGhhYmUga2VpbmVuIHdpcmtsaWNoZW4gdmVyZ2xlaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhhbmR5Li4uIChHbG9pbnNvbiwgMTYuIE5vdiAyMDA0LCAxNToxOTozMyk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwMDYxMzE2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAwNjEyMTMwCkxhZGVuIGdlaGVuLCBhdXNwcm9iaWVyZW4sIE5ldHogZ3Vja2VuLCBuaWNodCBhbmdlYm90ZW5lIEFsdGVybmF0aXZtb2RlbGxlCmVyZm9yc2NoZW4gLi4uCgpTaWVtZW5zIEE2NSBtaXQgUHJlcGFpZCAoZXh0cmVtLXdlbmlnc3QtZGFtaXQtQW5ydWZlcikuCgpMZWlkZXIgZmluZGUgaWNoIGdlcmFkZSBuaWNodCBkaWUgQWRyZXNzZSBtaXQgZGVuIHNlaHIgYXVzZnVlaHJsaWNoZW4KRmVhdHVyZS1CZXJpY2h0ZW4gaW0gQ2hlY2tsaXN0ZW5mb3JtYXQsIGRpZSBtaXIgYmVpIGRlciBFbnRzY2hlaWR1bmcgZ2Vob2xmZW4KaGF0LiBOdWphLCBHb29nbGUgd2lyZCBkaWNoIHNpY2hlciBpcmdlbmR3YW5uIGRvcnRoaW4gZnVlaHJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb25pdG9yIHJlcGFyaWVyZW4/IChKYW1lc29uLCAzMC4gTm92IDIwMDQsIDE5OjI3OjAzKToKV28gc29sbCBpY2ggZGVubiBtYWwgZWluZW4gRWl6byAxNy1ab2xsLVJvZWhyZW5tb25pdG9yIHJlcGFyaWVyZW4gbGFzc2VuPyBBdWYKZGVyIEVpem8tSG9tZXBhZ2Ugd2lyZCBtYW4genUgZWluZXIgYmVhdWZ0cmFndGVuIEZpcm1hIGdlc2NoaWNrdCwgZGllIGdhcgpuaWNodCBtYWwgc28gd2VpdCB2b24gaGllciB3ZWcgaXN0LCB3YXMgZGVuIFZvcnRlaWwgaGF0LCBkYXNzIG1hbiBkYXMgbWFsIGF1ZgpkZW0gV2VnIG1hY2hlbiBrYW5uIHVuZCBrZWluZSBWZXJzYW5ka29zdGVuIGhhdC4gT2IgZGFzIHRldXJlciBpc3QgYWxzIGJlaQplaW5lbSB1bmFiaGFlbmdpZ2VuIFJlcGFyYXR1cnNlcnZpY2U/IEJla2FubnQgaXN0IHdlbmlnc3RlbnMgc2Nob24gbWFsLCB3YXMKa2FwdXR0IGlzdDogRGVyIFplaWxlbnRyYWZvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vbml0b3IgcmVwYXJpZXJlbj8gKE5vbm5lLCAgMS4gRGV6IDIwMDQsIDA4OjE0OjQyKToKfiMhIHJuPUphbWVzb24gcnQ9MTEwMTgzOTIyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAxODM5MjIzCldlbm4ga2VpbmUgR2FyYW50aWUgbWVociBkcmF1ZiBpc3QsIHNvbGx0ZXN0IGR1IG1hbCBmcmFnZW4sIHdhcyBkYXMga29zdGVuCnNvbGwuIEV2dGwgaXN0IGVpbiBuZXVlciBNb25pdG9yIG5pY2h0IHZpZWwgdGV1cmVyIHVuZCBkYW5uIGlzdCBkZXIgbmV1IHVuZApoYXQgR2FyYW50aWUuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb25pdG9yIHJlcGFyaWVyZW4/IChGZWlnbGluZywgIDIuIERleiAyMDA0LCAwMDoyMzozNik6Cn4jISBybj1KYW1lc29uIHJ0PTExMDE4MzkyMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMTgzOTIyMwpIaSwKCmplIG5hY2hkZW0gd2llIGFsdCBkYXMgR2VyYWV0IGlzdCwgbG9obnQgZGFzIG5pbW1lci4gRGllIEJpbGRyb2VocmUKbmltbXQgbWl0IGRlciBaZWl0IHN0YXJrIGFiLCBkYXMgYmlsZCB3aXJkIHVuc2NoYWYsIGRpZSBGYXJiZW4gc2luZApuaW1tZXIgZWNodC4gWmVpbGVudHJhZm8gaXN0IGF1Y2ggbmUgdGV1cmUgU2FjaGUgLSBJY2ggaGFiIGRlc3dlZ2VuCm1laW5lbiAyMSBab2VsbGVyIHZvciBlaW5lbSBKYWhyIHZlcnNjaHJvdHRldCAtIERhcyB3YXJzIGVjaHQgbmljaHQgd2VydC4KQmVpIG5lbSAxNyBab2VsbGVyIHd1ZXJkIGljaCBuaWNodCBsYW5nZSBuYWNoZGVua2VuLCBlaW4gbmV1ZXIgMTluZXIKa29zdGV0IG51ciBuZW4gQXBwZWwgdW5kIGVpbiBFaSAtIHVuZCBtYW4gaGF0IG5pbW1lciBzbyBlaW4gYnJpZWZtYXJrZW4tCmdyb3NzZXMgQmlsZC4KCldlbm4gcmVwYXJpZXJlbiAtPiBLb3N0ZW52b3JhbnNjaGxhZyAod2VubiBlcyBEaXIgZGFzIEdlbGQgd2VydCBpc3QuLi4pCgpGZWlnbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMiw1Ii1QbGF0dGUgKEphbWVzb24sICA4LiBEZXogMjAwNCwgMTc6MDQ6MDYpOgpFaWdlbnRsaWNoIHNvbGx0ZSBpY2ggaGV1dGUgbm9jaCBrYXVmZW4gYnp3LiBiZXN0ZWxsZW4uIE1laW5lCk5vdGVib29rLUZlc3RwbGF0dGUga3JpZWd0IGltbWVyIG1laHIgTGVzZWZlaGxlciwgdW5kIGRpZSBTTUFSVC1BdHRyaWJ1dGUKYWVuZGVybiBzaWNoIHNjaG9uIGFsbGUgcGFhciBUYWdlIC0gZGllIEJhY2t1cHMgc2luZCBnZW1hY2h0LApMb3ctbGV2ZWwtRm9ybWF0aWVyZW4gd2lyZCB3b2hsIG5peCBtZWhyIGhlbGZlbiAtIG9kZXI/CldlbGNoZSBNYXJrZSBzb2xsdGUgaWNoIHZlcm1laWRlbiwgd28gKG5pY2h0KSBrYXVmZW4sIHdhcyBrYW5uIG1hbiBlbXBmZWhsZW4/CkljaCBkYWNodGUgZGFyYW4sIGdsZWljaCBkaWUgS2FwYXppdGFldCBhdWYgODAgR0IgenUgdmVyZG9wcGVsbiwgc29uc3QgbXVzcyBlcwpuaWNodHMgQmVzb25kZXJlcyBzZWluLiBBbHNvIGdhbnogbm9ybWFsIDIsNSIgSURFIC0gYWJlciBtaXQgR2FyYW50aWUsIHNvZmVybgplcyBlaW5lIHVlYmVyIGRpZSAyIEphaHJlIEdld2FlaHJsZWlzdHVuZyBoaW5hdXMgZ2lidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFyaWtlbCAoR29yb2csIDIwLiBEZXogMjAwNCwgMTE6MjE6MzYpOgpNb2lucwpJY2ggd29sbHQgbWFsIGZyYWdlbiwgb2Igc2ljaCBqZW1hbmQgbWl0IE5vdGVib29raGVyc3RlbGxlcm4gYXVza2VubnQsIHVuZCBvYgptYW4gdS5VLiBkaWUgRmluZ2VyIHZvbiBTYW1zdW5nLCBBY2VyIG9kZXIgQXN1cyBsYXNzZW4gc29sbHRlLiAKCkRhbmtlIHNjaG9uIG1hbCAKR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcmlrZWwgKFpvb2ssIDIwLiBEZXogMjAwNCwgMTE6MjU6NTYpOgp+IyEgcm49R29yb2cgcnQ9MTEwMzUzODA5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNTM4MDk2CmJla2FubnRlciB2b24gbWlyIGhhdHRlIG5lbiBhY2VyLW5vdGVib29rIHVuZCB3YXIgZGFtaXQgZWlnZW50bGljaCByZWNodAp6dWZyaWVkZW4uIHpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFyaWtlbCAoWmFybml5YSwgMjAuIERleiAyMDA0LCAxMToyODoyNCk6Cn4jISBybj1ab29rIHJ0PTExMDM1MzgzNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpIaSwgCgooYSkgV2FzIHdpbGxzdCBEdSBtaXQgZGVtIE5vdGVib29rIG1hY2hlbj8KKGIpIFdpZSB2aWVsIEdlbGQgd2lsbHN0IER1IGFubGVnZW4/IAoKQmVpIEd1dGVuIE5vdGVib29rcyAoUHJlaXMgMjAwMCB1bmQgbWVocikgdHV0IHNpY2ggZmFzdCBuaXguLi4uIGRpZSBzaW5kIGFsbGUKaXJnZW5kd2llIGd1dCwgbWFuY2hlIGViZW4gYXVmIGJlc3RpbW10ZSBCZWR1ZXJmbmlzc2UgYW5nZWxlZ3QuIEljaCBrYW5uIGRhClNvbnkgZW1wZmVobGVuIHVuZCB2b3IgYWxsZW0gdm9uIFRvc2hpYmEgZGllIEJ1aXNzbmVzcy1TZXJpZSwgd2VpbCBkaWUKd3Jpa2xpY2ggYXJiZWl0ZW4ga29lbm5lbiB1bmQgcm9idXN0IHNpbmQuIAoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYXJpa2VsIChNb250YW51cywgMjAuIERleiAyMDA0LCAxMTozMDowNSk6Cn4jISBybj1aYXJuaXlhIHJ0PTExMDM1Mzg1MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpGdWVyIGtuYXBwIHVlYmVyIDEwMDAgRXVyb3MgZ2lidHMgZG9jaCBiZXJlaXRzIGlCb29rcy4gV2FzIHdpbGxzdCBkdSBtaXQKbWluZGVyd2VydGlnZXJlbSBaZXVnPyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXJpa2VsIChIb3VzZWhvbGRlciwgMjAuIERleiAyMDA0LCAxMTozMTozNyk6Cn4jISBybj1ab29rIHJ0PTExMDM1MzgzNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgppY2ggaGFiZSBlaW4gYWNlciBub3RlYm9vayAodHJhdmVsbWF0ZSA2MzApLiBFaW4gUHVua3QsIGRlciBtaWNoIGltbWVyIHdpZWRlcgpnZW5lcnZ0IGhhdDogZGFzIGRpbmcgZmFlaHJ0IGJlaW0gZWluc2NoYWx0ZW4gbWFuY2htYWwgbmljaHQgcmljaHRpZyBob2NoIChlcwppc3QgZGFubiBlaW5nZXNjaGFsdGV0LCBrb21tdCBhYmVyIHNjaGVpbmJhciBuaWNodG1hbCBiaXMgenVtIGJpb3MgbGFkZW4pICB1bmQKaXN0IGRhbmFjaCB3ZWRlciBlaW4tIG5vY2ggYXVzc2NoYWx0YmFyLiBNYW4ga2FubiBkYW5uIG51ciBub2NoIGRpZQpTdHJvbXZlcnNvcmd1bmcgdHJlbm5lbiB1bmQgZGVuIGFra3Uga3VyeiBoZXJhdXN6aWVoZW4sIHVtIGRhcyBUZWlsIHdpZWRlcgpyaWNodGlnIGF1c3p1c2NoYWx0ZW4uIERhbmFjaCBsYWVzc3QgZXMgc2ljaCBkYW4gaS5kLlIuIHJpY2h0aWcgYm9vdGVuLgpBdXNzZXJkZW0gc2NoYWx0ZXRlIHNpY2ggKHNlbHRlbikgZGFzIERpc3BsYXkgYXVzIHVuZCBiZWltIHdpZWRlciBlaW5zY2hhbHRlbgp3YXIgZGllIEF1ZmxvZXN1bmcgdmVybmRlcnQuIExldHp0ZXJlcyBpc3QgdmVybXV0bGljaCBlaGVyIGVpbiB0cmVpYmVyIHByb2JsZW0KdW5kIG5hY2ggbWVpbmVtIGxldHp0ZW4gdXBkYXRlIGRlcyBncmFmaWt0cmVpYmVycyAod2luZG93cykgaGFiIGljaCBlcyBuaWNodAptZWhyIGJlb2JhY2h0ZXQuICAKY2hlZXJzLCAKCkhIIChhbiBhZWhubGljaGVuIEVyZmFocnVuZ2VuIGludGVyZXNzaWVydCkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhcmlrZWwgKENhdHdlYXpsZSwgMjAuIERleiAyMDA0LCAxMjozODo1MCk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMTAzNTM4Njk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKQWxsZWluIGF1cyBwZXJzb2VubGljaGVtIFZlcmdsZWljaCB1bmQgTnV0enVuZ3N2ZXJoYWx0ZW46IEthdWYga2VpbiBBY2VyLgoKUmVpbiBzdWJqZWt0aXYsCiAgICBZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcmlrZWwgKEdub21lLCAyMC4gRGV6IDIwMDQsIDEzOjAyOjEyKToKfiMhIHJuPUdvcm9nIHJ0PTExMDM1MzgwOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgppY2ggaGFiZSBsZXR6dGVucyBtaXQgZWluZXIgZnJldW5kaW4gZGFzIHNhbXN1bmcgUDM1IGdla2F1ZnQgdW5kIGZ1ZXIKc2llIGVpbmdlcmljaHRldC4gaGF0IG5lbiAxLDUgR0h6IGludGVsIG1pdCBjZW50cmluby1jaGlwc2F0ei4gNSw1aAptYXhpbWFsZSBsYXVmemVpdCwgMiw4IGtnIGxlaWNodCwgc2VociBlZGxlcyBkZXNpZ24sIFhWR0ErIGRpc3BsYXksCmtsZWluZXMgbmV0enRlaWwsIDk3MDAgUkFERU9OIG1vYmlsaXR5LCA1MTIgTUIgUkFNLCBEVkQtYnJlbm5lci4KCm1pciBzaW5kIGtlaW5lIGVjaHRlbiBzY2h3YWNoc3RlbGxlbiBhdWZnZWZhbGxlbi4gZG9jaCwgZWluZSB2aWVsbGVpY2h0OgpkYXMgbm90ZWJvb2sgaGF0IHJlY2h0IGVpZ2Vud2lsbGlnZSBhYm1lc3N1bmdlbiAoZXMgaXN0IGV0d2FzIHRpZWZlciBhbHMKIm5vcm1hbGUiKS4gd2VubiBkaWNoIGRhcyBuaWNodCBzb25kZXJsaWNoIHN0b2VydCwga2FubiBpY2ggZXMgamVkZW0Kc2VociBlbXBmZWhsZW4uCmFjaGphLCBkZXIgcHJlaXM6IGRhcyBnYWJzIGJlaSBzYXR1cm4gaW0gYW5nZWJvdCBmdWVyIDEuNTAwIGV1cm8uCm5vcm1hbGVyIHByZWlzIHdhciB3b2hsIGRhbWFscyAodm9yIDIgbW9uYXRlbikgMS42MDAgZXVyby4KCmduT21lCgpwLnMuIHZvbiBnZXJpY29tIHd1ZXJkZSBpY2gsIG5hY2ggYWxsZW0gd2FzIGljaCBnZWhvZXJ0IGhhYmUsIGRpZSBmaW5nZXIKICAgICBsYXNzZW46IGVzIHNvbGwgZWluZW4gbWlzZXJhYmxlbiBrdW5kZW5zZXJ2aWNlIGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhcmlrZWwgKERhcmt3aW5nLCAyMC4gRGV6IDIwMDQsIDE0OjEyOjIxKToKfiMhIHJuPUdub21lIHJ0PTExMDM1NDQxMzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpLdXJ6IHp3ZWkgRGluZ2UsIGRpZSBtaXIgYmVpIG1laHJlcmVuIEFjZXItTm90ZWJvb2tzIGF1ZmdlZmFsbGVuIHNpbmQ6CgotIERpZSBUZWlsZSB3ZXJkZW4gemllbWxpY2ggd2FybSB1bnRlbiB2b24gdW50ZW4KLSBEaWUgVGFzdGF1cmJlc2NocmlmdHVuZyBsb2VzdCBzaWNoIHJlbGF0aXYgc2NobmVsbCwgd2VubiBtYW4gdmllbCB0aXBwdCAKCkFuc29uc3RlbiBnYW56IG5ldHQsIGFjaGphIEFjZXIgaGVpc3N0IGluIGRpZXNlbSBGYWxsIGRpZSBUcmF2ZWxtYXRlLVNlcmllLgoKR3J1c3MsIERhcmt3aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhcmlrZWwgKEhvdXNlaG9sZGVyLCAyMC4gRGV6IDIwMDQsIDE0OjE0OjI5KToKfiMhIHJuPURhcmt3aW5nIHJ0PTExMDM1NDgzNDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpzdGltbWUgZGFzIGRpbmcgd2lyZCB6aWVtbGljaCBoZWlzcy4gRGFzIG1pdCBkZXIgQmVzY2hyaWZ0dW5nIGthbm4gaWNoIG5jaWgKYmVzdGFldGlnZW4uIEljaCB0aXBwZSBzZWl0IGRyZWkgamFocmVuICp2aWVsKiBkcmF1ZiBydW0gdW5kIGZpbmRlIGtlaW5lCnRhc3RlLCB3byBzaWNoIHdhcyBnZWxvZXN0IGhhZXR0ZS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhcmlrZWwgKEphbWVzb24sIDIwLiBEZXogMjAwNCwgMTQ6Mjk6MjYpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTEwMzU0ODQ2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNTM4MDk2CkhlaXNzIHdlcmRlbiB2aWVsZSBOb3RlYm9va3MuIE5hdHVlcmxpY2ggaXN0IGVzIGJlc3NlciBmdWVyIGRpZSBIYXJkd2FyZSwgd2VubgpzaWUga3VlaGwgYmxlaWJ0LCB6QiBsZWlkZXQgZGVyIEFra3UgYmVzb25kZXJzIGRhcnVudGVyLiBEZW4gbmltbXQgbWFuIGFiZXIgaW0KRGVza3RvcC1EYXVlcmJldHJpZWIgc293aWVzbyByYXVzLCBkYW1pdCBlciBuaWNodCB3ZWdlbiBkZXIgZGF1ZXJuZGVuCkxhZGV6eWtsZW4gYW4gTGViZW5zZGF1ZXIgdmVybGllcnQuIEljaCB3dWVyZGUgZGFyYXVmIGFjaHRlbiwgZGFzczoKLWtlaW4gRGVza3RvcHByb3plc3NvciBkcmluc3RlY2t0LCBhbHNvIGJlc3NlciBlaW4gSW50ZWwgQ2VudHJpbm8gb2RlciBlaW4gQU1ECk1vYmlsZQotZGVyIEdyYWZpa3Byb3plc3NvciBzZWluZW4gZWlnZW5lbiBTcGVpY2hlciBoYXQgKGZhbGxzIHZpZWwgZ3JhZmlraW50ZW5zaXZlcwpaZXVnIGFubGllZ3QgLSB1LmEuIFNwaWVsZSkKLTUxMiBNQiBSQU0gZHJpbiBzaW5kLCBkYXMgbWFjaHQgdmllbCBQcm96ZXNzb3Jwb3dlciB3ZXR0Ci1lcyBrZWluIEJpbGxpZ2FuYmlldGVyIGEgbGEgR2VyaWNvbSBvZGVyIFRhcmdhIGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogYXJpa2VsIChHb3JvZywgMjAuIERleiAyMDA0LCAxNjo1NDowNSk6Cn4jISBybj1KYW1lc29uIHJ0PTExMDM1NDkzNjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpXb3csIGRhcyBnaW5nIHNjaG5lbGwsIHZpZWxlbiBEYW5rICg7IC4gSWNoIHdlcmQgbWFsIHNlaG4uIE1laW5lIFByZWlzZ3JlbnplCmxhZyBpcmdlbmR3aWUgYmVpIDEsNUsgZGFzIHNvbGx0ZSByZWljaGVuLCBhdWNoIHdlbm5zIG4gRXJzYXR6IGZ1ZXIgbWVpbmVuCkRlc2N0b3Agc2VpbiBzb2xsIG1pdCBnZWxlZ2VudGxpY2hlciBTcGllbG9wdGlvbi4uLiBJY2ggd3VlcmQgamEgYXV1Y2ggenUgbmVtCkFwcGxlIGdyZWlmZW4sIGhhYmVuIG1lciBpbSBJbnN0aXR1dCBqYSBhdWNoIGZhc3N0IGFzdXNzY2hsaWVzc2xpY2gsIGFiZXIKaXJnZW5kd2llIHNhZ2VuIGRpZSBtaXIgbmljaHQgcmljaHRpZyB6dS4gQmVzb25kZXJzIHdlaWwgbmFjaApBcmJlaXRzcGxhdHp3ZWNoc2VsIGRlciBTb2Z0d2FyZXp1Z2FuZyBhYmdlc2Nobml0dGVuIHNlaW4gd2lyZCAoOwpBY2hqYSwgbWVpbmUgR2xhdWJ3dWVyZGlna2VpdCB3YWVyIG1laHIgYWxzIG51ciBldHdhcyBnZXNjaG1hZWxlcnQgd2VubiBtZWluCk1hYy1zaW5kLWRvb2YtRmVsZHp1ZyBtaXQgZGVtIEthdWYgZWluZXMgTWFjIGJlZW5kZXQgd3VlcmRlLi4uCgpCaXMgZGVubgpHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYXJpa2VsIChKYW1lc29uLCAyMC4gRGV6IDIwMDQsIDE3OjI5OjU3KToKfiMhIHJuPUdvcm9nIHJ0PTExMDM1NTgwNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpuYWphIGFscyBEZXNrdG9wZXJzYXR6IHp1bSBTcGllbGVuIGtvbW10IGRhbm4gamEgZWluIERlc2t0b3Bwcm96ZXNzb3IgZG9jaAp3aWVkZXIgaW4gRnJhZ2UuLi4Kd29yYXVmIER1IG5vY2ggYWNodGVuIHNvbGx0ZXN0LCBkYXMgbGFlc3N0IHNpY2ggYWJlciBpbSBQcm9zcGVrdCAodW5kIGF1cyBkZXIKVmVya2FldWZlcmF1c3NhZ2UpIG5pY2h0IHNjaGxpZXNzZW46IGljaCB3aWxsIG5pZSB3aWVkZXIgZWluZSBLaXN0ZSwgZGVyZW4KTHVlZnRlciBkYXVlcm5kIGxhZXVmdC4gQmVpIGVpbmVtIGd1dGVuIE5vdGVib29rIGxhZXVmdCBkZXIgTHVlZnRlciBudXIgaW0KRXh0cmVtZmFsbCAtIGRhcyBrcmllZ3N0IER1IGRhbm4gYWJlciB3aWVkZXIgZWhlciBiZWltIE1vYmlsLVByb3plc3Nvci4KRGVza3RvcHByb3plc3NvcmVuIHNpbmQgZGEgc2Nod2llcmlnZXIgaW4gZGVuIEdyaWZmIHp1IGJla29tbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYXJpa2VsIChHbG9pbnNvbiwgMjAuIERleiAyMDA0LCAyMDoyMDozNCk6Cn4jISBybj1KYW1lc29uIHJ0PTExMDM1NjAxOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpEZXNrdG9wcHJvemVzc29yIGluIE5vdGVib29rIGlzdCBpbW1lciBhcmcgbGF1dC4KCkRlciBQZW50aXVtIE0gRG90aGFuIGlzdCBkb2NoIGVpbiByZWNodCBuZXR0ZXMgVGVpbC4gVm9uIGRlbiBDMy9FZmljZW9uIGxpZWJlcgpkaWUgRmluZ2VyIGxhc3NlbiwgZGllIHNpbmQgZnVlciBQYWxtdG9wcyBnZWRhY2h0IHVuZCBsYXVmZW4gd29obCBkYXVlcmhhZnQKbnVyIG1pdCAyLzMgbWF4aW1hbGVyIExlaXN0dW5nLCB3ZWlsIHNpZSBzbyB0b2xsIHNpbmQgdW5kIG51ciBwYXNzaXYgZ2VrdWVobHQKd2VyZGVuLgoKRGFzIFAzNSBoYXR0ZSBpY2ggYXVjaCBpbSBBdWdlLCBzaWVodCBnYW56IGd1dCBhdXMuIElTdCB3b2hsIGRlciBldHdhcwphYmdlZ2VzcGVja3RlIEJ1c2luZXNzbW9kZWxsIChzaWVoZSBGaW5nZXJwcmludGxlc2VyKS4gTnVyIGRhcmF1ZiBhY2h0ZW4sIGRhc3MKZWluIERvdGhhbiBkcmluIGlzdCB1bmQga2VpbiAiSW50ZWwgQ2VudHJpbm8gbWl0IDEgTUIgTDIgQ2FjaGUiIChqYWphLCBXZXJidW5nCnVuZCBLZW5udG5pcyB1bmQgc28pLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJpa2VsIChPZ28sIDIwLiBEZXogMjAwNCwgMjE6MzY6MDcpOgp+IyEgcm49R29yb2cgcnQ9MTEwMzUzODA5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNTM4MDk2CkFuIFBhbmFzb25pYyBkZW5rdCBrYXVtIGVpbmVyLCB3ZW5uIG1hbiBlaW5lbiBMYXB0b3AgYW5zY2hhZmZlbiB3aWxsLiBJY2ggaGFiZQpoZXV0ZSBlaW5lbiBDRi01MSBpbiBkZW4gSGFlbmRlbiBnZWhhbHRlbi4gU2VociBndXRlIFZlcmFyYmVpdHVuZy4gTGllZ3QgYXVjaApiZWkgMS41a0VVUi4gaHR0cDovL3d3dy50b3VnaGJvb2stZXVyb3BlLmNvbS9tZWRpYS9TcGVjX1NoZWV0X0NGLTUxX2RlLnBkZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhcmlrZWwgKFpvb2ssIDIwLiBEZXogMjAwNCwgMjE6NDE6MDApOgp+IyEgcm49T2dvIHJ0PTExMDM1NzQ5Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpzdGltbXQsIGljaCBoYWIgYXVjaCBnZWhvZXJ0LCBkaWUgc29sbGVuIGdhbnogZ3V0IHNlaW4uIHp1bWluZGVzdCBzaW5kIHZvbgpkZW5lbiwgZGllIGVpbiBiZWthbm50ZXIgZnVlciBzZWluZSBmaXJtYSBnZW9yZGVydCBoYXQsIHdlbmlnZSB6dXJ1ZWNrCmdla29tbWVuLi4uLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGFyaWtlbCAoQ2F0d2VhemxlLCAyMS4gRGV6IDIwMDQsIDA4OjIxOjMwKToKfiMhIHJuPUdvcm9nIHJ0PTExMDM1NTgwNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpEZW5rIGRvY2ggbWFsIHVlYmVyIElCTSBuYWNoLiBESWUgaGFiZW4gc2Nob2VuZSwgZnVua3Rpb25hbGUgdW5kIHN0b3NzZmVzdGUKTm90ZWJvb2tzIHVuZCBnaWJ0cyBhdWNoIGFscyBsYXV0ZSBEZXNrdG9wLVZhcmlhbnRlIChkYW5uIGFiZXIgbmljaHQgbWVocgpzdG9zc2Zlc3QpLiBFaW5lciBtZWluZXIgQ2hlZnMgbWVpbnRlIGp1ZW5nc3QsIGRhc3MgZGllIHNpY2ggZnVlciBBa2FkZW1pa2VyCm1pdHRsZXJ3ZWlsZSBhdWNoIGluIGVyc2Nod2luZ2xpY2hlbiBQcmVpc2JlcmVpY2hlbiBiZWZpbmRlbi4KCkFMbGVyZGluZ3Mga2VubiBpY2ggbWljaCBtaXQgZGVuIE1vZGVsbGVuIG5pY2h0IGF1cy4KTWVpbiBhbmRlcmVyIENoZWYgaGF0IHNpY2ggbmljaHQgYmVsYXRzY2hlcm4gbGFzc2VuIHVuZCBkdW1tZSBXaWRlc2NyZWVuIEFjZXIKZ2VrYXVmdCA6KAoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBhcmlrZWwgKFpvb2ssIDIxLiBEZXogMjAwNCwgMDk6NTU6NTUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDM2MTM2OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpFcyBnaWJ0IHdvaGwgamVkZW5mYWxscyBpcmdlbmR3ZWxjaGUgU3R1ZGktUHJlaXNlLCBmYWxscyBEaXIgZGFzIGV0d2FzCmJyaW5ndC4uLi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBhcmlrZWwgKEFyaywgMjEuIERleiAyMDA0LCAxMzo1OTozMSk6Cn4jISBybj1ab29rIHJ0PTExMDM2MTkzNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzUzODA5NgpTdGljaHdvcnQgUHJvIENvbSwgZGVyIFBhcnRuZXIgaXN0IG1pdCBJQk0gRGVua2JyZXR0ZXJuIGFuIGRlbiBtZWlzdGVuIFVuaXMKdmVydHJldGVuIDotKSBOaWNodCwgZGFzcyBtaWNoIGRhcyBudW4gbm9jaCBrdWVtbWVybiB3dWVyZGUsIGFiZXIgc2llIHNpbmQKZ3V0LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGFyaWtlbCAoT2dvLCAyMS4gRGV6IDIwMDQsIDE1OjIwOjQ0KToKfiMhIHJuPUFyayBydD0xMTAzNjMzOTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKSWNoIGhhYmUgbWVpbmVuIFIzMSBiZWkgUHJvIENvbSAvIHd3dy5ub2Zvc3QuZGUgZ2VrYXVmdC4gV2FyIGF1Y2ggYWxsZXMgaW4KT3JkbnVuZywgYmlzIGF1ZiBkaWUgVGF0c2FjaGUsIGRhc3Mgc2llIG1pciBkaWUgV2luWFAvSG9tZSBMaXplbnogbmljaHQgKHdlZ2VuClVuYW5uZWhtYmFya2VpdCBkZXIgRVVMQSkgZ2VnZW4gR2VsZCB1bXRhdXNjaGVuIHdvbGx0ZW4sIHdpZSBlcyBpbiBkZXIgRVVMQQp2ZXJzcHJvY2hlbiB3dXJkZTsgSWNoIGhhZXR0ZSBkZXN3ZWdlbiBhYmVyIGRlbiBnZXNhbW10ZW4gTGFwdG9wIHp1cnVlY2tnZWJlbgprb2VubmVuLiA6bykgQWNodHVuZyBhYmVyIGJlaSBkZXIgUi1TZXJpZS4gRGllIHNpbmQgKHp1bWluZGVzdCBtZWluZXIgaXN0IGVzKQpDcmlwcGxld2FyZS4gVm9uIGRlbiAyIFBDTUNJQS1TbG90cyBpc3QgZWluZXIgdW5icmF1Y2hiYXIgZ2VtYWNodCB3b3JkZW4sCmRhbWl0IGVpbiBNZWhyd2VydCBiZWkgZGVuIHRldXJlcmVuIEdlcmFldGVuIHZvcmhhbmRlbiBpc3QuIExpbnV4IGd1Y2t0IGFiZXIKZ2FueiBicmF2IGF1ZiBiZWlkZW4gU29ja2V0cyBuYWNoLCBhdWNoIHdlbm4gbnVyIGVpbmVyIHBoeXNpc2NoIHJhdXNnZWZ1ZWhydAp3aXJkLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBhcmlrZWwgKEFyaywgMjEuIERleiAyMDA0LCAxNTo1MDoyOCk6Cn4jISBybj1PZ28gcnQ9MTEwMzYzODg0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNTM4MDk2CkEgU2VyaWUgaXN0IGphIGF1Y2ggSGlnaCBFbmQsIFIgU2VyaWUgc2luZCBkaWUgRWluc3RlaWdlciwgZGFzIHN0aW1tdCA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBhcmlrZWwgKEdvcm9nLCAyMS4gRGV6IDIwMDQsIDE3OjU2OjU3KToKfiMhIHJuPUFyayBydD0xMTAzNjQwNjI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKSm8gYW4gSUJNIGhhYiBpY2ggYXVjaCBnZWRhY2h0LCBhYmVyIGRpZSBzaW5kIHRyb3R6IGRlciBTdHVkZW50ZW5wcmVpc2UKaW1tZXJub2NoIGdhbnpzY2hvZW4gdGV1ZXIgZnVlciBkaWUgS29tcG9uZW50ZW4uIEFjaGphIHVuZCBkZXJlbiBHcmFrYXMKcmVpY2hlbiBsZWlkZXIgbmljaHQgZ2FueiBhdXMsIGVzIHNlaSBkZW5uIEZpcmVHTCAod29obCBvcGVuIEdMIEtyYXRlbikgc2luZAphdWNoIGZ1ZXIgRFg5IHRhdWdsaWNoLiBBYmVyIG1hbiB3ZWlzcyBqYSBuaWUuIE11ZXNzdGUgbWlyIGRpZSBtYWwgYW5zZWhuLgpWb24gQXN1cyBoYXQgYW5zY2hlaW5lbmQgbm9jaCBrZWluZXIgd2FzIGd1dGVzL3NjaGxlY2h0ZXMgZ2Vob2VydCBvZGVyPwoKRGFua2Ugc2Nob24gbWFsCkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogYXJpa2VsIChPZ28sIDIxLiBEZXogMjAwNCwgMTg6MDQ6MjkpOgp+IyEgcm49R29yb2cgcnQ9MTEwMzY0ODIxNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNTM4MDk2Cmh0dHA6Ly93d3cuYXRpLmNvbS9wcm9kdWN0cy9tb2JpbGl0eWZnbHQyL2luZGV4Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBhcmlrZWwgKEFyaywgMjIuIERleiAyMDA0LCAwMDo1Nzo1NCk6Cn4jISBybj1Hb3JvZyBydD0xMTAzNjQ4MjE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKRGEgd2lyIG5pY2h0IGRlbiBDb25zdW1lciBNYXJrdCBiZWRpZW50IGhhYmVuLCB3aXJkIG1hbiBkYSBhdWNoIGtlaW5lClNwaWVsZWtvbnNvbGVuIGVyd2FydGVuIGR1ZXJmZW4uIEFiZXIgdW50ZXIgZGVuIEdlc2ljaHRzcHVua3RlbiBCZWRpZW5iYXJrZWl0CnVuZCBBdXNkYXVlciBmaW5kZSBpY2ggc2llIGFtIGFuZ2VuZWhtc3RlbiAob2huZSBMYW5nemVpdGVyZmFocnVuZyBtaXQgYW5kZXJlbgpIZXJzdGVsbGVybiBuYXR1ZXJsaWNoKS4gVW5kIGZyZWlsaWNoIGdld29laG50IG1hbiBzaWNoIGFuIHZpZWxlcy4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXR6bGFzdHNpY2h0IChDYXR3ZWF6bGUsIDIyLiBEZXogMjAwNCwgMTU6NDU6MTUpOgpNb2luIQoKV2Vpc3MgamVtYW5kIGVpbiBMaW51eC1Ub29sLCBtaXQgZGVtIG1hbiBzaWNoIHJlYWx0aW1lIGRlbiBuZXRsb2FkIHNvcnRpZXJ0Cm5hY2ggWmllbC1JUCBhbnplaWdlbiBsYXNzZW4ga2Fubj8gCgpJY2ggaGFiIHpCIG1laHJlcmUgRlRQLVZlcmJpbmR1bmdlbiBvZmZlbiB1bmQgbW9lY2h0ZSBudW4gc2VoZW4sIHp1IFdlbGNoZXIgSVAKZGllc2VyIFRyYWZmaWNQZWFrIGluIGRlciBuZXR6bGFzdCBnZWhvZXJ0LgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmV0emxhc3RzaWNodCAoT2dvLCAyMi4gRGV6IDIwMDQsIDE2OjA1OjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTAzNzI2NzE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM3MjY3MTUKR3VjayBkaXIgbWFsIG5ldHdhdGNoIGFuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBuZXR6bGFzdHNpY2h0IChNYXJjdXMsIDIyLiBEZXogMjAwNCwgMTY6MDc6MjQpOgp+IyEgcm49T2dvIHJ0PTExMDM3Mjc5MDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzcyNjcxNQpudG9wCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBuZXR6bGFzdHNpY2h0IChEYXJrd2luZywgMjIuIERleiAyMDA0LCAxOTozODowMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwMzcyNjcxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNzI2NzE1CnRjcHRyYWNrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJpa2VsIChNaXJpbCwgMjIuIERleiAyMDA0LCAxOTo1NjowOSk6Cn4jISBybj1Hb3JvZyBydD0xMTAzNTM4MDk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKQWxzbyBpY2ggaGFiZSBlYmVuZmFsbHMgZWluIEFjZXIgTm90ZWJvb2ssIFNlcmllIFRyYXZlbG1hdGUuIEljaCB3dWVyZGUgZXMKbmljaHQgbm9jaG1hbCBrYXVmZW4uIERhcmt3aW5ncyBCZW9iYWNodHVuZ2VuIGthbm4gaWNoIG51ciBiZXN0YWV0aWdlbiwgCmhhZXVmaWdlcyBNdWRkZW4gb2RlciBzb25zdGlnZSB0aXBwaW50ZW5zaXZlIFRhZXRpZ2tlaXRlbiBoYWJlbiBiZXJlaXRzCm5hY2gga3VyemVyIFplaXQgenVtIEFicmllYiBhdWYgZGVuIFRhc3RlbiBnZWZ1ZWhydC4gRGVyIEx1ZWZ0ZXIgd2FyIGF1Y2gKbWFsIG5lIGdhbnplIFdlaWxlIGVpbmUgS2F0YXN0cm9waGUsIGJpcyBpY2ggbWFsIGRlbiBTdGF1YnNhdWdlciBsYWVuZ2VyZQpaZWl0IGRyYW5nZWhhbHRlbiBoYWJlLiBEYSB3YXIgZXMgYmVyZWl0cyBzbyBzY2hsaW1tLCBkYXNzIGRlciBSZWNobmVyIGFiCnVuZCBhbiB2b24gYWxsZWluZSBhYnNjaGFsdGV0ZS4KRGFzIFByb2JsZW0gbWl0IGRlbSBmZWhsZW5kZW4gQXVzc2NoYWx0ZXIgZW1wZmluZGUgaWNoIGViZW5mYWxscyBhbHMgc2VocgpzdG9lcmVuZCwgZGVubiBXaW5kb29mIGFic2NoaWVzc2VuIGlzdCByZWNodCBlaW5mYWNoIHVuZCBkYW5uIGRlbiBBa2t1IApyYXVzbmVobWVuIHp1IG11ZXNzZW4gdW0gZGllIEtpc3RlIGF1c3p1a3JpZWdlbiBpc3QgZWhlciBuaWNodCBkaWUgZmVpbmUKQXJ0LgpNZWluIERWRC1DRCBLb21iaWxhdWZ3ZXJrIGhhdCBhdWNoIGJlcmVpdHMgTXVja2VuLCBkLmguIGJlaW0gQnJlbm5lbiB0cmV0ZW4KaGFldWZpZyBGZWhsZXIgYXVmIHVuZCBEVkRzIHdvbGxlbiBuaWNodCBpbW1lciB1bmJlZGluZ3Qgd2VpdGVybGF1ZmVuLCB3ZW5uCmRhcyBMYXVmd2VyayBuaWNodCBnZWxlZ2VudGxpY2ggbWFsIG1pdCBlaW5lbSBrcmFlZnRpZ2VuIEtsYXBzIGJlZGFjaHQgd2lyZC4KClJlc3VtZWU6IEthdWYgd2FzIGFuZGVyZXMuCgpMaWViZSBHcnVlc3NlLCBNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhcmlrZWwgKE9nbywgMjIuIERleiAyMDA0LCAyMjoyODozMSk6Cn4jISBybj1NaXJpbCBydD0xMTAzNzQxNzY5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDM1MzgwOTYKPiBEYXMgUHJvYmxlbSBtaXQgZGVtIGZlaGxlbmRlbiBBdXNzY2hhbHRlciBlbXBmaW5kZSBpY2ggZWJlbmZhbGxzIGFscyBzZWhyCnN0b2VyZW5kLC4uLgoKSGFzdCBkdSBtYWwgdmVyc3VjaHQsIGRlbiBQb3dlcmtub3BmIDQgU2VrdW5kZW4genUgZHJ1ZWNrZW4gKGFsc28KdW51bnRlcmJyb2NoZW4sIG5pY2h0IGltbWVyIHdpZWRlci4uLik/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBuZXR6bGFzdHNpY2h0IChDYXR3ZWF6bGUsIDIzLiBEZXogMjAwNCwgMTM6MDQ6MTEpOgp+IyEgcm49RGFya3dpbmcgcnQ9MTEwMzc0MDY4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTAzNzI2NzE1Cm5ldHdhdGNoIGxvZXN0IG5hY2ggaG9zdHMgYXVmLCBrYW5uIG1pciBhYmVyIGtlaW5lIEIvcyBzYWdlbj8KCm50b3AgaXN0IGVpbiBNb25zdGVyLiBEYSBsYWV1ZnQgZGEgc293aWVzbyB1bmQgc2FtbWVsdCBmbGVpc3NpZyBEYXRlbi4gS2FubgptaXIgYWJlciBuaWNodHMgdWViZXIgZGVuIGFrdHVlbGxlbiAoNXM/KSBadXN0YW5kIHNhZ2VuLCBhdXNzZXIgaWNoIHNjaG1laXNzCmVzIG5ldSBhbj8KCnRjcHRyYWNrIGlzdCBzZWhyIHZpZWx2ZXJzcHJlY2hlbmQuIFNlaHIgemFwcGVsaWcgdW5kIGthdW0gbGVzYmFyLCBhYmVyIGZ1ZXIKbWVpbmVuIFByb2JsZW1mYWxsICgiV2VyIHNhdWd0IGRlbm4gZGEgc2Nob24gd2llZGVyIGRpZSBMZWl0dW5nIGxlZXIiKSB2b2VsbGlnCmF1c3JlaWNoZW5kLgoKWVRDICh3aWxsIG5ldGZsb3cgOiggKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogbmV0emxhc3RzaWNodCAoRGFya3dpbmcsIDIzLiBEZXogMjAwNCwgMTk6MDA6MzUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDM4MDM0NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzcyNjcxNQpNaXQgInAiIGZ1ZXIgUGF1c2UgdW5kICJzIiBmdWVyIG5pY2h0IGRhdWVybmQgbmV1ZSBTb3J0aWVydW5nIGlzdCBlcyBuaWNodApnYW56IHNvIHphcHBlbGlnIDotKQoKR3J1c3MsCiAgICBEYXJrd2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5ldHpsYXN0c2ljaHQgKFZhcmRpb24sIDIzLiBEZXogMjAwNCwgMjI6MjU6NDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDM3MjY3MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwMzcyNjcxNQpodHRwOi8vY2VidS5tb3pjb20uY29tL3Jpa2VyL2lwdHJhZi8KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZ2ljYW0gdm9uIFBhbmFzb25pYyAoWm9vaywgMjcuIERleiAyMDA0LCAxMDoyOToyNSk6CkhpLCBoYXQgamVtYW5kIHZvbiBFdWNoIEVyZmFocnVuZyBtaXQgZGVyIFBhbmFzb25pYyBMdW1peCBETUMtRloyMEVHLUsgb2RlcgprYW5uIHNvbnN0IGlyZ2VuZHdpZSBldHdhcyBQb3NpdGl2ZXMgb2RlciBOZWdhdGl2ZXMgdWViZXIgZGVuIEFwcGFyYXQgCmJlcmljaHRlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGlnaWNhbSB2b24gUGFuYXNvbmljIChHbG9pbnNvbiwgMjcuIERleiAyMDA0LCAyMDoyMToxOSk6Cn4jISBybj1ab29rIHJ0PTExMDQxMzk3NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNDEzOTc2NQpodHRwOi8vd3d3LmRjcmVzb3VyY2UuY29tL3Jldmlld3MvcGFuYXNvbmljL2RtY19mejIwLXJldmlldy9pbmRleC5zaHRtbApodHRwOi8vd3d3LmRwcmV2aWV3LmNvbS9yZXZpZXdzL3BhbmFzb25pY2Z6MjAvCmh0dHA6Ly93d3cuc3RldmVzLWRpZ2ljYW1zLmNvbS8yMDA0X3Jldmlld3MvZnoyMC5odG1sCmh0dHA6Ly93d3cuaW1hZ2luZy1yZXNvdXJjZS5jb20vUFJPRFMvRloyMC9GWjIwQS5IVE0KCk51ciBzbyBhbHMgVGlwcCwgc293YXMgbGVzZSBpY2ggbWlyIGRhbm4gbWVpc3QgenVyIEJpbGR1bmcgZWluZXIgTWVpbnVuZwpkdXJjaC4gVW5kIGRhbm4gbWFsIGJlaSBlaW5lbSBIYWVuZGxlciBpbiBkaWUgSGFuZCBuZWhtZW4gdW5kIGVpbnNjaGFsdGVuLgoKQXVmIGRlbiBrdXJ6ZW4gQmxpY2sgbWVpbmUgTWVpbnVuZ3NmcmFnbWVudGU6Ci0gYmVpIGRlbSBQcmVpcyB1bmQgZGVyIEdyb2Vzc2UgZGVua3QgbWFuIGRhbm4gbGllYmVyIHNjaG9uIGFuIGVpbmUKU3BpZWdlbHJlZmxleCAoQ2Fub24gMzAwRCwgTmlrb24gRDcwOiAyMCUgbWVociBFdWxlbikKLSBUZWNobmlrICsrOiAyOjMgU2VpdGVudmVyaGFlbHRuaXMsIElTTyA4MCAod2FocnNjaGVpbmxpY2ggZXR3YXMKcmF1c2NoZnJlaWVyKSwgQmlsZHN0YWJpbGlzZXJ1bmcgKG5vdHdlbmRpZyBmdWVyIFpvb21iaWxkZXIpLCBCbGl0emFuc2NobHVzcwp2b3JoYW5kZW4sIFJBVy1Nb2R1cyBtb2VnbGljaCAoVElGRiwgZ3V0IHVtIGJlaSB1bmtsYXJlbiBMaWNodHZlcmhhZWx0bmlzc2VuCnNwYWV0ZXIgZGVuIFdlaXNzYWJnbGVpY2ggenUgbWFjaGVuKQotIFRlY2huaWsgLS06IDEvMi41IiBTZW5zb3IgKHNvIGdyb3NzIHdpZSBkZWluIGtsZWluZXIgRmluZ2VybmFnZWwpLCBtaW5pbWFsCjM2bW0gS0ItYWVxdWl2YWxlbnRlIEJyZW5ud2VpdGUgKHp1IHdlbmlnIFdlaXR3aW5rZWwpLCBwcm9wcmlldGFlcmUgQmF0dGVyaWUsCklTTyA0MDAgbWF4aW1hbCAoYmlzc2NoZW4gdW5lbXBmaW5kbGljaCBmdWVyIGRpZXNlbiBQcmVpcykKCkljaCBnbGF1YmUgZXMgZ2lidCBiZXNzZXJlIGZ1ZXIgZGVuIFByZWlzIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2NobHVlc3NlbHRlIEJhY2t1cHMgKE9nbywgIDIuIEphbiAyMDA1LCAxOTowNTo0OCk6CkhhbGxvIEZyZXVuZGUgZGVyIGV4b3Rpc2NoZW4gVGVjaG5paywKaWNoIGJpbiBhdWYgZGVyIFN1Y2hlIG5hY2ggZWluZXIgTG9lc3VuZywgbWl0IGRlciBpY2ggQmFja3VwcyBhdWYgRFZEcyBzbwp2ZXJzY2hsdWVzc2VsbiBrYW5uLCBkYXNzIGljaCBzaWUgbW9lZ2xpY2hzdCBzZWFtbGVzc2x5IHNvd29obCB1bnRlciBXaW5kb3dzCmFscyBhdWNoIHVudGVyIExpbnV4IHJla29uc3RydWllcmVuIGthbm4uIERpZSBWZXJzY2hsdWVzc2VsdW5nIHNvbGx0ZSBzdGFyawpzZWluIChuaWNodCB2ZXJzY2hsdWVzc2VsdGVzIFpJUCBvZGVyIGFlaG5saWNoZSBTcGFlc3NlKS4gV2VyIGtlbm50IGRhIGV0d2FzLAp3ZXIga2FubiBldHdhcyBlbXBmZWhsZW4/CgpEYW5rIHVuZCBHcnVzcwpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJzY2hsdWVzc2VsdGUgQmFja3VwcyAoWm9vaywgIDIuIEphbiAyMDA1LCAxOTowNjo1Nik6Cn4jISBybj1PZ28gcnQ9MTEwNDY4OTE0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA0Njg5MTQ4CkNyb3NzQ3J5cHRvPyBXZWlzcyBuaWNodCwgb2IgZGFzIERlaW5lIEFuZm9yZGVydW5nZW4gaGlucmVpY2hlbmQKZXJmdWVsbHQuCgpVUkw6IGh0dHA6Ly93d3cuc2NoZXJyZXIuY2MvY3J5cHQKCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWZXJzY2hsdWVzc2VsdGUgQmFja3VwcyAoT2dvLCAgMi4gSmFuIDIwMDUsIDE5OjM1OjE4KToKfiMhIHJuPVpvb2sgcnQ9MTEwNDY4OTIxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA0Njg5MTQ4CkRhcyBzaWVodCBpbiBkZXIgVGF0IG5ldHQgYXVzLCBkYSBlcyBzeW5jaHJvbiBpc3QgKHdhcyBpY2ggdm9yaGVyIHZlcmdlc3NlbgpoYXR0ZSwgZGF6dXp1c2FnZW4pLiBGYWxscyBlcyBub2NoIGplbWFuZGVuIGludGVyZXNzaWVydDsgSWNoIGhhYmUgZm9sZ2VuZGVuCkxpbmsgZ2VmdW5kZW4gKGRlciB6d2FyIGF1ZiBmcmFuem9lc2lzY2ggaXN0KSBhYmVyIHNvbnN0IHNlaHIgaW50ZXJlc3NhbnQgdW5kCmVpbmVuIGd1dGVuIEVpbmRydWNrIHVlYmVyIENyb3NzQ3J5cHQgdmVyc2NoYWZmdDoKaHR0cDovL3d3dy5jaGV6LmNvbS93aW50ZXJtaW5hdG9yL0Rpc2tQRy9jcm9zc2NyeXB0Lmh0bWwKCkRhbmtlIFpvb2suCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZlcnNjaGx1ZXNzZWx0ZSBCYWNrdXBzIChPZ28sICA0LiBKYW4gMjAwNSwgMjM6MTM6MDIpOgp+IyEgcm49T2dvIHJ0PTExMDQ2OTA5MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNDY4OTE0OApOYWNoZGVtIGljaCBudW4gd2Vpc3MsIHdpZSBpY2ggbWVpbmUgRFZEcyB2ZXJzY2hsdWVzc2VsbiB3aWxsLCBzdGVsbHQgc2ljaCBtaXIKZGllIEZyYWdlLCB3ZWxjaGVzIEZpbGVzeXN0ZW0gaWNoIGRhZnVlciB2ZXJ3ZW5kZS4gRmF0MTYvMzIgc3ByaW5nZW4gZWluZW0gaW5zCkdlc2ljaHQsIGFiZXIgZGllIE5hY2h0ZWlsZSBzb2xsdGVuIGhpbmxhZW5nbGljaCBiZWthbm50IHNlaW4uIFByaW56aXBpZWxsCnJlaWNodCBtaXIgZWluIFJPLUZpbGVzeXN0ZW0sIGRhcyBpY2ggdW50ZXIgTGludXggZXJzdGVsbGVuIGthbm4gKGRlc3dlZ2VuCmZhZWxsdCBOVEZTIHdlZykuIElTTzk2NjAgd2FlcmUgYXVjaCBlaW5lIG5ldHRlIElkZWUsIHdlbm4gZGEgbmljaHQgZGllc2UKMkdCLUdyZW56ZSB3YWVyZS4gQWxzbyBrYW0gaWNoIGF1ZiBVREYsIHdhcyBlaWdlbnRsaWNoIGFsbGVzIGtvZW5uZW4gc29sbHRlLgpBbnNjaGVpbmVuZCBrYW5uIGplZGUgbmV1ZXJlIFdpbmRvd3N2ZXJzaW9uIFVERiBsZXNlbiwgamVkb2NoIGdpYnQgZXMgdm9uIFVERgp2ZXJzY2hpZWRlbmUgUmV2aXNpb25lbi4gSWNoIGhhYmUgZGFuYWNoIGdlc3VjaHQsIGFiZXIgaWNoIGtlbm5lIG1pY2ggbWl0IGRlbgplaW5zY2hsYWVnaWdlbiBXaW5kb3dzaW5mb3JtYXRpb25zc2VpdGVuIG5pY2h0IHdpcmtsaWNoIGd1dCBhdXMuIEthbm4gbWlyCmplbWFuZCBoZWxmZW4sIGJlaSBkZXIgRnJhZ2U6IFdlbGNoZSBXaW5kb3dzdmVyc2lvbiBrYW5uIHdlbGNoZSBVREYtUmV2aXNpb24KbGVzZW4/CgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vbml0b3IgKE1lZGljLCAgNi4gSmFuIDIwMDUsIDAzOjA0OjMzKToKSGlobywKCmRhIG1laW4gVXJhbHQtUm9laHJlbm1vbml0b3Igc28gbGFuZ3NhbSBkZW0gRW5kZSBzZWluZXIgd2VsdGxpY2hlbiBFeGlzdGFuegplbnRnZWdlbnp1c2VoZW4gc2NoZWludCwgYmluIGljaCBhdWYgZGVyIFN1Y2hlIG5hY2ggZWluZW0gTmFjaGZvbGdlci4KCktyaXRlcmllbjogVEZUIEZsYXRzY3JlZW4gbWl0IERWSS1FaW5nYW5nLCBtaW4gMTcgWm9sbCwgc2NobmVsbGUgKHVuZCBlaApnZWxvZ2VuZSBpcnJlbGV2YW50ZSBzL3ctKSBTY2hhbHR6ZWl0ZW4gc2luZCB3ZW5pZ2VyIHdpY2h0aWcgYWxzCkJpbGRxdWFsaXRhZXRldCwgZ3V0ZSBBdXNsZXVjaHR1bmcgdW5kIFZlcmFyYmVpdHVuZy4KUHJlaXNsaW1pdCBsaWVndCBiZWkgNTAwIEV1cm8uCk5hZWhlciBpbnMgQXVnZSBnZWZhc3N0IGhhYmUgaWNoIHUuYS4gZGVuIEVpem8gRmxleHNjYW4gTCA1NjggQVMuIEdpYnQgZXMgZGF6dQpldXJlcnNlaXRzIEVyZmFocnVuZ3NiZXJpY2h0ZT8gT0RlciBndXRlIEFsdGVybmF0aXZ2b3JzY2hsYWVnZT8KCkdydXNzLApNZWRpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vbml0b3IgKENhdHdlYXpsZSwgIDYuIEphbiAyMDA1LCAxMjo0OTo1OCk6Cn4jISBybj1NZWRpYyBydD0xMTA0OTc3MDczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDQ5NzcwNzMKQW50d29ydGVuIGJpdHRlIGhpZXIgcmVpbiwgaWNoIGJpbiBhdWNoIGFuIGV4YWt0IGlkZW50aXNjaGVuIExvZXN1bmdlbgppbnRlcmVzc2llcnQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb25pdG9yIChDYXR3ZWF6bGUsICA2LiBKYW4gMjAwNSwgMTI6NTg6MjMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDUwMTIxOTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNDk3NzA3MwpBY2ggdW5kIGljaCBiZWRpZW5lIG1pY2ggd2llZGVyIG1laW5lciBMaWVibGluZ3MtSGFyZHdhcmUtVGVzdC1SZXNvdXJjZQpodHRwOi8vd3d3LnRvbXNoYXJkd2FyZS5jb20gLiBEaWUgZmFzZWxuIG5pY2h0IG51ciwgZGllIHRlc3RlbiBhdWNoLiBadW0KQmVpc3BpZWwgZmluZGVzdCBkdSBkYSBkaWUgcmVhbGVuIFNjaGFsdHplaXRlbiBmdWVyIGplZGVuIEZhcmJjb2RlIDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1vbml0b3IgKFpvb2ssICA2LiBKYW4gMjAwNSwgMTI6NTg6NDcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDUwMTI3MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNDk3NzA3MwpyZWFsZSBTY2hhbHR6ZWl0ZW4uLi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb25pdG9yIChDYXR3ZWF6bGUsICA2LiBKYW4gMjAwNSwgMTM6NTA6MzcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDUwMTI3MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNDk3NzA3MwpTbywgZGFzIGhhYiBpY2ggamV0enQgZGF2b24sIGpldHp0IGhhYiBpY2ggbWljaCBpbiBkZW4gU2Ftc3VuZyA3MTBUTiB2ZXJndWNrdCwKZGVyIG1pdCBlaWdlbnRsaWNoIHZpZWwgenUgdGV1ZXIgaXN0IDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvbGxlciBUaXA6IEVtYWNzIG1pdCBPdXRsaW5lLU1pbm9yLU1vZGUgKFpvb2ssICA2LiBKYW4gMjAwNSwgMTg6MDk6MjkpOgpXZXIgZ2VybmUgbWl0IGRlbSBPdXRsaW5lLU1pbm9yLU1vZGUgYXJiZWl0ZXQgdW5kIGhpbiB1bmQgd2llZGVyIGF1Y2gKbWVocmVyZSBGZW5zdGVyIG9mZmVuIGhhdCwgZGVtIHNlaWVuICJNdWx0aXZpZXdzIiBlbXBmb2hsZW4sIGRpZSBzaWNoCmdhbnogc2NoaWNrIG1pdCBkZW0gS29tbWFuZG8gbWFrZS1pbmRpcmVjdC1idWZmZXIgcmVhbGlzaWVyZW4gbGFzc2VuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1vbml0b3IgKEdvcm9nLCAgOS4gSmFuIDIwMDUsIDIwOjMxOjQ5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA1MDE1ODM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDQ5NzcwNzMKTW9pbnMKCkljaCBoYWIgbWlyIHZvciBuZW0gSmFociAob2RlciBzaW5kcyBzY2hvbiAyPykgbmVuIEFESSBBNzE1IGdla2F1ZnQuIEJpc2hlcgpiaW4gaWNoIHRvdGFsIHp1ZnJpZWRlbiBkYW1pdC4gMTdab2xsLCBWR0EsIERWSSwgMnhVU0IuIEhhdCBkYW1hbHMgZXR3YQo1MDBFWVBPIGdla29zdGV0LiBBbmdlYmxpY2ggaGF0IGVyIDE2bXMgUmVha3Rpb25zemVpdCwgb2JzIHN0aW1tdCBrZWluZSBBaG51bmcKYWJlciBpY2ggaGFiIGJpc2hlciBub2NoIG5pY2h0IHdpcmtsaWNoIFNjaGxpZXJlbiBnZXNlaG4uIEJsaWNrd2lua2VsIGlzdApwcmltYSAoYmVzb25kZXJzIHdlbm4gbWFuIHZvbiBvYmVuIHJlaW5zY2hhdXQsIHZvbiB1bnRlbiBuaW1tbXQgZGllIEhlbGxpZ2tlaXQKc2NobmVsbCBhYikuCldhcyBkaWUgRmFyYnRyZXVlIGFuZ2VodCwga2FubiBpY2ggbmljaHQgdmllbCB6dXNhZ2VuLiBCaXNoZXIgaGFiIGljaCBkYSBrZWluZQpTY2h3YWVjaGVuIGJlbWVya3QsIGFsbGVyZGluZ3Mgd2FyZW4gbmV1bGljaCBCZWthbm50ZSBkYSwgZGllIG1laW50ZW4gaWhyZQpEaWdpdGFsZm90b3MgaGFldHRlbiBhbmRlcmUgRmFyYmVuIGFscyBkaWUgUmVhbGl0YWV0LgoKbWZnIEdvcm9nCgpQLlMuOiBGYWxscyBzaWNoIGRlbiB3ZXIgYW5zZWhlbiB3aWxsLCBrYW5uIGVyIGdlcm5lIHZvcmJlaSBzY2hhdW4gKGdpbHQKYmVzb25kZXJzIGZ1ZXIgQ2F0dHksIGRlciBoYXRzIGphIG5pY2h0IHdlaXQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRFNMOiBHTVgsIEZyZWVuZXQgb2RlciAuLi4gPyAoQmFtYnVsa28sIDEwLiBKYW4gMjAwNSwgMjA6MjM6MzApOgpJY2ggbW9lY2h0ZSBnZXJuZSBtZWluZW4gRFNMIFByb3ZpZGVyIHdlY2hzZWxuLiBGcmVlbmV0IHVuZCBHTVggYmlldGVuIGdlcmFkZQplaW5lbiBXZWNoc2Vsc2Vydml2ZSBhbiwgZGVyIHJlY2h0IGF0cmFrdGl2IGlzdC4gQmVpIGJlaWRlbiBmYWVsbHQgZGllIEdHIGZ1ZXIKZGllIGVyc3RlbiBkcmVpIE1vbmF0ZSB3ZWcsIHVuZCBtYW4gYmVrb21tdCBlaW5lbiBXTEFOIFJvdXRlciB1bXNvbnN0LiBIYXQKaXJnZW5kamVtYW5kIGd1dGUgb2RlciBzY2hsZWNodGUgRXJmYWhydW5nIG1pdCBlaW5lbSBkZXIgQW5iaWV0ZXIgZ2VtYWNodD8KQmVpZGUgQW5nZWJvdGUgc2luZCBzZWhyIGFlaG5saWNoLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEU0w6IEdNWCwgRnJlZW5ldCBvZGVyIC4uLiA/IChNb250YW51cywgMTEuIEphbiAyMDA1LCAwOTo0MDo0OSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTA1Mzg1MDEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDUzODUwMTAKQXJjb3IgYmlldGV0IG9obmUgQW5zY2hsdXNzZ2VidWVociBlaW5lbiBJU0ROLVZvbGxhbnNjaGx1c3MgbWl0IDIwMDBlciBEU0wgKwpGbGF0cmF0ZSArIGVpbmVyIFRlbGVmb25mbGF0cmF0ZSBmdWVyIDU5Ljk1IEV1cm8gaW0gTW9uYXQuIApTYWd0IG1laW4gS3VtcGVsIFRob21hcywgZGVyIGhhdCBzaWNoIGRlbiBhdWYgZ2VrcmFsbHQgdW5kIGlzdCBzZWl0aGVyIG51ciBhbQpzY2h3YWVybWVuLiBXZWlsIGVyIGRhZHVyY2ggaGFsdCBhdWNoIG5pY2h0cyBtZWhyIGZ1ZXJzIFRlbGVmb25pZXJlbiBiZXphaGx0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEU0w6IEdNWCwgRnJlZW5ldCBvZGVyIC4uLiA/IChHcmltbWJvcm4sIDExLiBKYW4gMjAwNSwgMTA6NDg6MTcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTEwNTQzMjg0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1Mzg1MDEwCkRpZSBUZWxlZm9uZmxhdHJhdGUgZ2lsdCB3ZWx0d2VpdD8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRFNMOiBHTVgsIEZyZWVuZXQgb2RlciAuLi4gPyAoQmFtYnVsa28sIDExLiBKYW4gMjAwNSwgMTA6NDk6MTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDU0MzY4OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTM4NTAxMApXb2hsIGVoZXIgbmljaHQuIEJlaSBtaXIgZmFsbGVuIGFiZXIgdmllbGUgR2VzcHJhZWNoZSBpbnMgQXVzbGFuZCBhbiwgc28gZGFzcwppY2ggYXVmIGRpZSBULUNvbSB1bmQgY2FsbC1ieS1jYWxsIGFuZ2V3aWVzZW4gYmluLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERTTDogR01YLCBGcmVlbmV0IG9kZXIgLi4uID8gKEdsb2luc29uLCAxMS4gSmFuIDIwMDUsIDE0OjEyOjQwKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDU0MzY5NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTM4NTAxMAo2MCBFdXJvIHNpbmQgYXVjaCByZWNodCBoYXBwaWcsIHdpciB2ZXJ0ZWxlZm9uaWVyZW4gbWl0IGRpdmVyc2VuIHZvcndhaGxlbgoyMC0zMCBkZW4gTW9uYXQuIFVuZCBub2NoIG1hbCAyNSBmdWVyIHVuc2VyZW4gVm9sdW1lbnRhcmlmLiBEYSBtdXNzIG1hbiBzY2hvbgp2b24genUgSGF1c2UgYXVzIGFyYmVpdGVuIHVtIGRpZSA2MCBFdXJvIHZvbGwgYXVzenVzY2hvZXBmZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRFNMOiBHTVgsIEZyZWVuZXQgb2RlciAuLi4gPyAoV3VyemVsLCAxMS4gSmFuIDIwMDUsIDE0OjE1OjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDU0NDkxNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTM4NTAxMApuaWNodCB3aXJrbGljaC4gYXJiZWl0ZSBtb21lbnRhbiB2b24genUgaGF1c2UgYXVzLCBrb3N0ZW4gdHJhZWd0IGRpZSBmaXJtYS4KdW5kIHByaXZhdGUgdGVsZWZvbmF0ZSB1ZWJlciBmZXN0bmV0eiBtYWNoZSBpY2ggbWVpc3QgbnVyIGFtIHdvY2hlbmVuZGUsIHVuZApkYWZ1ZXIgZ2lidHMgZGVuIHh4bC10YXJpZi4gYXVmIDYwIGV1cm8ga29tbWUgaWNoIGplZGVuZmFsbHMgaW5jbHVzaXZlIGRzbApuaWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEU0w6IEdNWCwgRnJlZW5ldCBvZGVyIC4uLiA/IChDYXR3ZWF6bGUsIDExLiBKYW4gMjAwNSwgMTQ6Mzk6NDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNTQ0OTE2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1Mzg1MDEwCldlbm4gaWNoIGRhcyByaWNodGlnIHZlcnN0YW5kZW4gaGFiLCB3YXJlbiBpbiBkZW4gNjAgRXVyb25lbiBhbGxlcyBkcmluPyBBbHNvCmluY2wuIEdHLCBJU0ROIHVuZCBEU0w/CgpadW1pbmRlc3QgaXN0IGRhcyBiZWkgdW5zZXJlbSBDaXR5Y2FycmllciBzbyAobWl0IFVtc29uc3R0ZWxlZm9uaWVyZW4gMjAtNgpVaHIuIHNlaHIgb3JkZW50bGljaCkuIFZlcnNhdGVsIGhhdHRlIGdsYXViIGljaCBhZWhubGljaGVzLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmdvLVRhc3RhdHVyIChPZ28sIDExLiBKYW4gMjAwNSwgMTU6Mjg6MjYpOgpIaSBhbGxlcnNlaXRzLAoKZGEgc2ljaCBqYSBoaWVyIHZlcm11dGxpY2ggZG9jaCByZWxhdGl2IHZpZWxlIFZpZWxzY2hyZWliZXIgdHVtbWVsbjogV2VsY2hlCmVyZ29ub21pc2NoZSBUYXN0YXR1ciBrb2VubnQgaWhyIGVtcGZlaGxlbi4gRnVlciBqZW1hbmRlbiwgZGVyClplaG5maW5nZXJzY2hyZWliZW4ga2Fubi4gRGFyZiBydWhpZyB3YXMga29zdGVuLCB3ZW5uIGRhZnVlciBEcnVja3B1bmt0IGV0YwpndXQgaXN0LiAKCk9nbywgdWViZXIgamVkZW4gVGlwcCBkYW5rYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJnby1UYXN0YXR1ciAoTWFoYXJldCwgMTEuIEphbiAyMDA1LCAxNTozNDo1OSk6Cn4jISBybj1PZ28gcnQ9MTEwNTQ1MzcwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1NDUzNzA2CkljaCBoYXR0ZSBlaW5pZ2UgSmFocmUgZGllIHNjaG51cmxvc2Ugdm9uIExvZ2l0ZWNoLiAgRGllIGhhdHRlIGlyZ2VuZHdhbm4gZGVuCkdlaXN0IGF1ZmdlZ2ViZW4gdW5kIHNvIGt1cnpmcmlzdGlnIGhhYiBpY2gga2VpbmUgZXJnb25pbWlzY2hlIGdla3JpZWd0LCBhYmVyCmljaCB3YXIgenVmcmllZGVuIG1pdCBkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZ28tVGFzdGF0dXIgKEdsb2luc29uLCAxMS4gSmFuIDIwMDUsIDE1OjM3OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNTQ1NDA5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1NDUzNzA2CkRhcyBvbGxlIE1TIE5hdHVyYWwgS2V5Ym9hcmQgZGFzcyBpY2ggbWVpbmVuIEVsdGVybiB2b3IgY2lyY2EgOCBKYWhyZW4KYXVmZ2VzY2h3YXR6dCBoYWJlIGljaCBnYW56IGd1dCwgd2VubiBhdWNoIGJlaSBpaG5lbiB2ZXJnZWJlbiBkYSBzaWNoIGtlaW5lcgpkYXMgWmVobmZpbmdlcnRpcHBlbiBhbmdld29laG50IGhhdC4gT2IgZXMgZGFzIG5vY2ggZ2lidCAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmdvLVRhc3RhdHVyIChDaGFnYWxsLCAxMS4gSmFuIDIwMDUsIDE1OjQ0OjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDU0NTQyNzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTQ1MzcwNgpJY2ggaGFiIGRpZSBMb2dpdGVjaCBDb3JkbGVzcyBEZXNrdG9wIENvbWZvcnQgdW5kIGJpbiB2b2xsCnp1ZnJpZWRlbiBkYW10LgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZ28tVGFzdGF0dXIgKFpvb2ssIDExLiBKYW4gMjAwNSwgMTU6NDU6MDIpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTA1NDU0NjgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU0NTM3MDYKaWNoIHRpcHAgYXVmIGRlIGFldHplbmRlbiBsYXB0b3AtdGFzdGF0dXIgdW5kIGJpbiBkYW1pdCB1bnp1ZnJpZWRlbiwgYWJlcgplcyBnZWh0IGlyZ2VuZHdpZS4KCnpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVyZ28tVGFzdGF0dXIgKFd1cnplbCwgMTEuIEphbiAyMDA1LCAxNTo0NjowMik6Cn4jISBybj1ab29rIHJ0PTExMDU0NTQ3MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTQ1MzcwNgpnaWJ0IGVzIGVpZ2VudGxpY2ggbGFwdG9wcyBtaXQgZWluZXIgb3JkZW50bGljaGVuIHRhc3RhdHVyPyBtdXNzIGRpZXNlcyBqYWhyCmVpbiBuZXVlcyBiZXN0ZWxsZW4sIGhhYiBhYmVyIHdpZSBpbW1lciBrZWluZSBhaG51bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFcmdvLVRhc3RhdHVyIChab29rLCAxMS4gSmFuIDIwMDUsIDE1OjUzOjM2KToKfiMhIHJuPVd1cnplbCBydD0xMTA1NDU0NzYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU0NTM3MDYKbGFwdG9wIHVuZCAib3JkZW50bGljaGUgdGFzdGF0dXIiPyB2ZXJnaXNzIGRhcyB1bmQgYmVzdGVsbHQgbmUgZXh0ZXJuZQp0YXN0YXR1ciBtaXQuCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRXJnby1UYXN0YXR1ciAoV3VyemVsLCAxMS4gSmFuIDIwMDUsIDE1OjU1OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTEwNTQ1NTIxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1NDUzNzA2CmRhIG11ZXNzdGUgaWNoIGphIG5vY2ggbWVociBtaXRzY2hsZXBwZW4gYWxzIGpldHp0IHNjaG9uLiBrZWluZSBhbHRlcm5hdGl2ZS4KaW0gYnVlcm8gZ2lidHMgbmUgZG9ja2luZyBzdGF0aW9uLCBndXRlcyBkaXNwbGF5IHVuZCBndXRlIHRhc3RhdHVyLiBhYmVyIGRhCmJpbiBpY2ggbmllLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRXJnby1UYXN0YXR1ciAoR2xvaW5zb24sIDExLiBKYW4gMjAwNSwgMTU6NTc6MTYpOgp+IyEgcm49V3VyemVsIHJ0PTExMDU0NTUzMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTQ1MzcwNgpVbmQgaWNoIGJpbiB6dSBmYXVsIGRpZSBvcmRlbnRsaWNoZSBUYXN0YXR1ciBhbiBkZW4gTGFwdG9wIHp1IHNjaHJhdWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBFcmdvLVRhc3RhdHVyIChab29rLCAxMS4gSmFuIDIwMDUsIDE1OjU3OjM2KToKfiMhIHJuPVd1cnplbCBydD0xMTA1NDU1MzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU0NTM3MDYKZGFubiB2ZXJ3ZWlzZSBpY2ggYXVmIGRlbiBsYXB0b3AtdGhyZWFkLCBkZW4gd2lyIGhpZXIgaGF0dGVuLCBkYXMgaXN0CndlaXRnZWhlbmQgZ3VlbHRpZyB1bmQgZGllIHRhc3RhdHVyZW4gc2luZCBhbGxlIG11cmtzLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVyZ28tVGFzdGF0dXIgKE9nbywgMTEuIEphbiAyMDA1LCAxNjowMToyMik6Cn4jISBybj1ab29rIHJ0PTExMDU0NTU0NTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTQ1MzcwNgpJY2ggYmluIGF1c3Nlcm9yZGVudGxpY2hlciBGYW4gdm9uIGRlbSBEcnVja3B1bmt0IG1laW5lciBUaGlua3BhZC1UYXN0YXR1ci4KSWNoIGhhYmUgbWlyIHNvZ2FyIGVpbmUgRGVza3RvcC1UYXN0YXR1ciBnZWhvbHQsIGRpZSBkZW4gZ2xlaWNoZW4gRHJ1Y2twdW5rdApoYXQgKFVsdHJhTmF2IFVTQikgc2llaGUgMi4gVGFzdGF0dXIgaGllcjogaHR0cDovL3Rpbnl1cmwuY29tLzRjdm00ICAuIEljaCBiaW4KbWlyIGRlciBUYXN0YXR1ciB6aWVtbGljaCB6dWZyaWVkZW4sIHdlaWwgbWFuIGF1Y2ggbWFsIGRpZSBNYXVzIG1pdCBkZW0gTmlwcGVsCmJld2VnZW4ga2Fubiwgb2huZSBnbGVpY2ggZGllIDEwIEZpbmdlciB2b24gZGVyIFRhc3RhdHVyIG5laG1lbiB6dSBtdWVzc2VuLgooV2FyIGFsbGVyZGluZ3MgbmljaHQgZ2FueiBiaWxsaWcpLgoKT2dvLCBwcm8gTGFwdG9wLVRhc3RhdHVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRXJnby1UYXN0YXR1ciAoRGFya2xvciwgMTIuIEphbiAyMDA1LCAxNjo0Mjo1MSk6Cn4jISBybj1PZ28gcnQ9MTEwNTQ1NTY4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1NDUzNzA2CkVpbmUgTWF1cyBtaXQgRnVzc2JlZGllbnVuZz8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhdCBub2NoIHdlciBlaW4gTGludXggMi4yPyAoVmFyZGlvbiwgMTQuIEphbiAyMDA1LCAxNzo1MzoxNSk6Ckh1aHUsCgpmYWxscyBub2NoIGlyZ2VuZHdlciB2b24gZXVjaCBadWdyaWZmIGF1ZiBlaW5lIEJveCBtaXQgMi4yZXIgS2VybmVsIGhhdCwgYXVmCmRlciBzaWNoIGF1c3NlcmRlbSBub2NoIGVpbiBnY2MgYmVmaW5kZXQsIHdhZXJlIGVzIG5ldHQsIHdlbm4gaWhyIG1pciBCZXNjaGVpZApnZWJ0LgoKR3J1c3MsClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmdvLVRhc3RhdHVyIChEaG9qYWt0LCAxNS4gSmFuIDIwMDUsIDIxOjM5OjQwKToKfiMhIHJuPU9nbyBydD0xMTA1NDUzNzA2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU0NTM3MDYKSWNoIG1hZyBqYSBUYXN0YXR1cmVuIGdhbnogb2huZSBEcnVja3B1bmt0LCB6LkIuIENoZXJyeSBHODEtMzAwMExSTkRFIAptaXQgUFMvMi1BbnNjaGx1c3MuIEdpYnRzIGF1Y2ggbWl0IFVTQi1TdGVja2VyLgoKRGhvamFrdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlc3VjaHQ6IERpa3RpZXJnZXJhZXQgKFpvb2ssIDE2LiBKYW4gMjAwNSwgMTg6NTg6MTQpOgpJY2ggc3VjaGUgaXJnZW5kc28gZWluIGtsZWluZXMgQXVmbmFobWVnZXJhZXQsIG1pdCBkZW0gbWFuIGRhbm4gZGllIApEYXRlbiB2aWEgVVNCIG9kZXIgc28gYWxzIFdBViBvZGVyIE1QMyBhdWYgc2VpbmVuIFBDIHJ1ZWJlcnNjaGllYmVuCmthbm4uIEtlbm50IGRhIGplbWFuZCBzbyB3YXMgb2RlciBiZW51dHp0IGVzIGdhciB1bmQga2FubiB3YXMgZGF6dSBlcnphZWhsZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc3VjaHQ6IERpa3RpZXJnZXJhZXQgKE1lZGljLCAxNi4gSmFuIDIwMDUsIDE5OjA1OjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTEwNTg5ODI5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1ODk4Mjk0CldpZSB0YXVnbGljaCBzb2xsIGRhcyBkZW5uIHNlaW4gdW5kIHdpZXZpZWwgZmFzc2VuIGtvZW5uZW4/IFZpZWxlClVTQi1NUDMtUGxheWVyIGtvZW5uZW4gZGFzIGphIHNvIG5lYmVuYmVpIHVuZCBoYWJlbiBvZnQgYXVjaCByZWdlbGJhcmUKU2FtcGxpbmdyYXRlLiBPZGVyIG11c3MgZXMgc2Nob24gd2FzIGJlc3NlcmVzIHNlaW4gYWxzIGRhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VzdWNodDogRGlrdGllcmdlcmFldCAoWm9vaywgMTYuIEphbiAyMDA1LCAxOTowNzoxOCk6Cn4jISBybj1NZWRpYyBydD0xMTA1ODk4NzQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKQW4gc28gbmVuIFVTQi1NUDMtUGxheWVyIGhhYiBpY2ggYXVjaCBnZWRhY2h0Li4uLiBJY2ggaGFiIGRhcyBtYWwgbWl0IGVpbmVtCnZvbiBuZW0gQmVrYW5udGVuIGdldGVzdGV0Li4uIGtvZW5udGUgYnJhdWNoYmFyIHNlaW4uLi4gUXVhbGl0YWV0IG11c3MgbmljaHQKc28gd3VuZGVyYmFyIHNlaW4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChNdWFkaWIsIDE2LiBKYW4gMjAwNSwgMjE6NDY6MjgpOgp+IyEgcm49Wm9vayBydD0xMTA1ODk4Mjk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKaWNoIG5laG1lIGRhenUgbWVpbiBoYW5keQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChEYXJrbG9yLCAxNy4gSmFuIDIwMDUsIDA5OjQwOjU3KToKfiMhIHJuPU11YWRpYiBydD0xMTA1OTA4Mzg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKV2lyZCBkYXMgYXVmIERhdWVyIG5pY2ggZXR3YXMgdGV1ZXI/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChNdWFkaWIsIDE3LiBKYW4gMjAwNSwgMDk6NDc6MzIpOgp+IyEgcm49RGFya2xvciBydD0xMTA1OTUxMjU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKbmVpbgpkYSBpc3QgbmUgY2Yta2FydGUgZHJpbiB1bmQgZGFzIGhhbmR5IHplaWNobmV0IGRpcmVrdCBkYXJhdWYgYXVmLiBhbHMgbXAzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChNdWFkaWIsIDE3LiBKYW4gMjAwNSwgMDk6NDc6NTApOgp+IyEgcm49TXVhZGliIHJ0PTExMDU5NTE2NTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNTg5ODI5NAphZWggZWluZSBzZC1rYXJ0ZQpibG9lZGUgdmVyd2VjaHNsdW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChab29rLCAxNy4gSmFuIDIwMDUsIDEwOjAwOjIzKToKfiMhIHJuPU11YWRpYiBydD0xMTA1OTUxNjUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKd2VsY2hlcyBtb2RlbGw/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2VzdWNodDogRGlrdGllcmdlcmFldCAoTXVhZGliLCAxNy4gSmFuIDIwMDUsIDEwOjMwOjEwKToKfiMhIHJuPVpvb2sgcnQ9MTEwNTk1MjQyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1ODk4Mjk0CnNpZW1lbnMgc3gxCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChab29rLCAxNy4gSmFuIDIwMDUsIDEwOjUyOjQxKToKfiMhIHJuPU11YWRpYiBydD0xMTA1OTU0MjEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKSG0uIE1laW4gTW9iaWx0ZWxlZm9udmVydHJhZyBsYWV1ZnQgaW0gU29tbWVyIGVoIGF1cy4gTWFsIHNjaGF1biwgd29yYW4KZXJrZW5uZSBpY2gsIG9iIHNvIGVpbiBUZWxlZm9uIHNvIHdhcyBrYW5uPyAKClpvb2ssIFRlbGVmb24tREFVLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogR2VzdWNodDogRGlrdGllcmdlcmFldCAoTm9ubmUsIDE3LiBKYW4gMjAwNSwgMTA6NTU6NDkpOgp+IyEgcm49Wm9vayBydD0xMTA1OTU1NTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKRnJhZyBkb2NoIGVpbmZhY2ggZGVuIE1hbm4sIGRlciBkaXIgZGVuIG5ldWVuIFZlcnRyYWcgc2FtdCBIYW5keSBhdWZzIEF1Z2UKZHJ1ZWNrZW4gd2lsbC4gTGFzcyBlcyBkaXIgc2NocmlmdGxpY2ggYmVzdGFldGlnZW4sIGRhbm4ga2FubnN0ZSB2b20gVmVydHJhZwp6dXJ1ZWNrdHJldGVuLCB3ZW5uIGVyIGdlbG9nZW4gaGF0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHZXN1Y2h0OiBEaWt0aWVyZ2VyYWV0IChPZ28sIDE3LiBKYW4gMjAwNSwgMTY6NDI6MjUpOgp+IyEgcm49Wm9vayBydD0xMTA1OTU1NTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDU4OTgyOTQKTmltbSBlaW4gU2VyaWVzNjAsIHdpZSBNdWFkaWJzIFNYMSwgZGFtaXQga2FubnN0IGR1IHZvbSBEdWRlbiB1ZWJlcm4KU3RhZHRwbGFuZGllbnN0IGFsbGVzIGluc3RhbGxpZXJlbi4gRnVlciBTNjAgZ2lidHMgd2lya2xpY2ggdW5lbmRsaWNoIHZpZWwKU29mdHdhcmUgdW5kIG1hbiBrYW5uIHNvIGx1c3RpZ2UgRGluZ2UgbWFjaGVuLCB3aWUgZGllIE1haWxib3ggZGlyZWt0IGF1ZiBkZW0KSGFuZHkgdXN3LiBBdWZuZWhtZW4gdW5kIEFic3BpZWxlbiBzb2xsdGVuIHp1ciBsZWljaHRlc3RlbiBVZWJ1bmcgZ2Vob2VyZW4uCgpPZ28sIGRlciBtaXQgZGVtIDY2MzAgbGllYmFldWdlbHQsIGFiZXIgZGVuIFByZWlzIGVpbiB3ZW5pZyBhYnNjaHJlY2tlbmQKZmluZGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWQlMgYW5sZWl0dW5nIChDYXR3ZWF6bGUsIDE4LiBKYW4gMjAwNSwgMTM6NDc6MTQpOgpJY2ggaGFiIGhldXQgbW9yZ2VuIGVpbmVuIHNjaHJlY2tsaWNoZW4gRmVobGVyIGdlbWFjaHQgdW5kIGFuIGRlciBmYWxzY2hlbgpTdGVsbGUgZ2V6dWNrdC4KCkhhdCBqZW1hbmQgZWluZW4gc2NoaWNrZW4gbGluayB6dSBWQnNjcmlwdCBEb2t1IHVuZC9vZGVyIFR1dG9yaWFsPyBCdWNodGlwcHM/CipqYW1tZXIqCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWQlMgYW5sZWl0dW5nIChLZWxseWJ1bmR5LCAxOC4gSmFuIDIwMDUsIDEzOjQ4OjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA2MDUyNDM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDYwNTI0MzQKV2lsbHN0IER1IG91dGxvb2stVHJvamFuZXIgcHJvZ2dlbj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVkJTIGFubGVpdHVuZyAoQ2F0d2VhemxlLCAxOC4gSmFuIDIwMDUsIDEzOjQ5OjEyKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTEwNjA1MjQ4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA2MDUyNDM0Ck5lZSwgdW5zZXJlIE5JQ2VyIHNjaHJlaWJlbiBzbyBEYXRlbmJhbmstU2Nobml0dHN0ZWxsZW4gOi0vCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWQlMgYW5sZWl0dW5nIChNdWFkaWIsIDE4LiBKYW4gMjAwNSwgMTM6NTA6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDYwNTI0MzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNjA1MjQzNApodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2xpYnJhcnkvZGVmYXVsdC5hc3A/dXJsPS9saWJyYXJ5L2VuLXVzL3NjcmlwdDU2L2h0bWwKL3Zic2NyaXB0dG9jLmFzcAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZCUyBhbmxlaXR1bmcgKEZvb2JhciwgMTguIEphbiAyMDA1LCAxODo0NjozOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwNjA1MjQzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA2MDUyNDM0Ck1VQUhBSEEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWQlMgYW5sZWl0dW5nIChCYW1iaSwgMTguIEphbiAyMDA1LCAyMToxNTo0NCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwNjA1MjU1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA2MDUyNDM0Ck1pciBmYWVsbHQgc3BvbnRhbiBrZWluZSBPbmxpbmV2ZXJzYW5ka2V0dGUgZWluLCBkaWUgRGlyIFp5YW5rYWxpIHZlcmthdWZlbgp3dWVyZGUuIFNlbGJzdG1vcmQgaXN0IFZCLVByb2dyYW1taWVydW5nIGluIHZpZWxlbiBGYWVsbGVuIHZvcnp1emllaGVuLgpWaWVsbGVpY2h0IGZpbmRlc3QgRHUgamEgYmVpIG1pY3Jvc29mdCBpbiBkZXIgb25saW5laGlsZmUgLyBhdWYgZGVyZW4gV2Vic2l0ZQpldHdhcywgZGFzIERpciBldHdhcyBudWV0enQKaW4gYmV6dWcgYXVmIHByb2dyYW1taWVyZW4sIG5pY2h0IGF1ZiBzZWxic3Rtb3JkIGJlZ2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGFzcyBtaXQgU2FtYmEgRmlsZSBMb2NraW5nIChDYXR3ZWF6bGUsIDIwLiBKYW4gMjAwNSwgMTM6NDA6MTQpOgogS2VubnQgc2ljaCBqZW1hbmQgbWl0IHNhbWJhLCB3aW5kb3dzIHVuZCBmaWxlIGxvY2tpbmcgYXVzLCB1bmQga2FubiBtaXIKc2FnZW4sIHdhcnVtIGVpbiBzaW1wbGVzICJsZXNzIiBhdWYgZWluZSB1bnRlciBMaW51eCBtaXQgU2FtYmEgMy4wLjEwCmdlbW91bnRldGUgV2luZG93cy1GaWxlc3lzdGVtLURhdGVpIGRhZnVlciBzb3JndCwgZGFzcyBkaXJla3QgX25pZW1hbmRfCmFuZGVyZXMgbWVociBkcmF1ZiB6dWdyZWlmZW4ga2FubiwgYXVjaCB1bmQgaW5zYmVzb25kZXJlIG5pY2h0IGRlciBhdWYgZGVtCldpbmRvd3NyZWNobmVyIGxhdWZlbmRlIFdlYnNlcnZlcj8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGFzIEVuZGUgdm9uIFFXRVJUWiAoR3JpbW1ib3JuLCAyNy4gSmFuIDIwMDUsIDEwOjM4OjI2KToKfiMhIG9uPUdyaW1tYm9ybiBvdD0xMTA2ODE4Njk0IG9nPXd3dwp+IyEgcm49QmFtYmkgcnQ9MTEwNjgxNzkyNyByZz13d3cKfiMhIHRpZD0xMTA2NjY5OTIwCnhtb2RtYXAuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvVyBGaW5hbCBCZXRhIFN0cmVzc3Rlc3QgKE9nbywgMjguIEphbiAyMDA1LCAxODo1MDoyMCk6Ck1hbiBrYW5uIG1vbWVudGFuIGtvc3Rlbmxvc2Uga3VyenplaXQgQWNjb3VudHMgZnVlciBXb3JsZCBvZiBXYXJjcmFmdCBiZWkKQmxpenphcmQgYmVrb21tZW46Cmh0dHBzOi8vc2lnbnVwLndvdy1ldXJvcGUuY29tL21lbnUuaHRtbAoKQ2xpZW50IGdpYnRzIGRhbm4gaGllcjoKaHR0cDovL3d3dzIub25zcGllbGUudC1vbmxpbmUuZGUvZHluL2MvMzAvNjkvMjYvMzA2OTI2NC5odG1sCgpEZXIgQ2xpZW50IGlzdCBldHdhIDIuNUdCIGdyb3NzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvVyBGaW5hbCBCZXRhIFN0cmVzc3Rlc3QgKERhcmtsb3IsIDI5LiBKYW4gMjAwNSwgMDE6MTg6MjQpOgp+IyEgcm49T2dvIHJ0PTExMDY5MzQ2MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNjkzNDYyMApTaW5kIDIuNUdCIG5pY2ggZXR3YXMgaGFhcmlnPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGVsZWZvbiBzaW51cyA2MSBzIChHcmltbWJvcm4sIDI5LiBKYW4gMjAwNSwgMjE6MzI6MjcpOgp+IyEgb249VmVjdG9yIG90PTExMDcwMjE2NDkgb2c9YWxsZ2VtZWluZXMKenUgb2JpZ2VtIHRlbGVmb24tbW9kZWxsIGJyYWV1Y2h0ZSBpY2ggbmVuIGxpbmsgenUgbmVyIGdlYnJhdWNoc2Fud2Vpc3VuZy4Kb2RlciBhbHRlcm5hdGl2IGRpZSBiZXNjaHJlaWJ1bmcgd2llIG1hbiBkYSBhdWYgdG9ud2FobCB1bXNjaGFsdGVuIGthbm4sCmRhIGdpYmJldCBuYWVtbGljaCBrZWluZW4gbWVudWUtcHVua3QgZnVlciA6KQoKYmVzdGVuIGRhbmsgaW0gdm9yYXVzIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHRlbGVmb24gc2ludXMgNjEgcyAoR3JpbW1ib3JuLCAyOS4gSmFuIDIwMDUsIDIxOjMyOjI5KToKfiMhIG9uPU1lZGljIG90PTExMDcwMjM3Nzcgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPVZlY3RvciBydD0xMTA3MDIxNjQ5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTEwNzAyMTY0OQpodHRwOi8vd3d3LnRlbGVrb20uZGUvZXRlbGNvL2Rvd25sb2Fkc19uYXZpLzEsMTgxMzksOTg1XzEwMDJfOTk2LTEsMDAuaHRtbAoKKEFjaHR1bmcsIGdyb3R0aWdlcyBTZWl0ZW5kZXNpZ24gdW5kIGRpZSBub3R3ZW5kaWdrZWl0LCBQb3B1cHMgenV6dWxhc3Nlbgorc2lnaCopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXTGFuIFVTQiBBZGFwdGVyIChSb2hsb2ZmLCAzMS4gSmFuIDIwMDUsIDA5OjQxOjE1KToKTW9pbiwKCk1laW4gU2Nod2VzdGVybGVpbiBsZWd0IHNpY2ggRFNMIG1pdCBuZW0gV0xBTiBSb3V0ZXIgenUuIEljaCBzb2xsIHNpZSBqZXR6dApiZXJhdGVuLCB3YXMgc2llIGFuIGlocmVuIFJlY2huZXIgYW5zY2hsaWVzc2VuIHNvbGwuCgpIYWIgZGFiZWkgYW4gZWluZW4gVVNCIFN0aWNrIG9kZXIgQWRhcHRlciBnZWRhY2h0LgpJbSBNb21lbnQgaGFiZW4gd2lyIHp3ZWkgR2VyYWV0ZSBpbSBBdWdlOiBGaWJlcmxpbmUgV0wtNDAwVSB1bmQgU2llbWVucwpHaWdhc2V0IDU0IFVTQiBBZGFwdGVyLgpIYXQgaXJnZW5kd2VyIHNjaG9uIG1pdCBlaW5lbSBkaWVzZXIgR2VyYWV0ZSBFcmZhaHJ1bmdlbiBnZW1hY2h0PwpPZGVyIHNpbmQgYW5kZXJlIEdlcmFldGUgYmVzb25kZXJzIHp1IGVtcGZlaGxlbj8KClJvaGxvZmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXTGFuIFVTQiBBZGFwdGVyIChDYXR3ZWF6bGUsIDMxLiBKYW4gMjAwNSwgMTA6MTk6MTgpOgp+IyEgcm49Um9obG9mZiBydD0xMTA3MTYwODc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDcxNjA4NzUKQmF1IG5lIEthcnRlIGVpbi4gVVNCLVBvcnRzIHNpbmQgb2Z0IGtuYXBwZSBXYXJlLCBQQ0ktU2xvdHMgZWhlciBzZWx0ZW5lci4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXTGFuIFVTQiBBZGFwdGVyIChSb2hsb2ZmLCAzMS4gSmFuIDIwMDUsIDEwOjI3OjA3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA3MTYzMTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDcxNjA4NzUKRGVyIEdlZGFua2UgaGludGVyIFVTQiBpcywgZGFzcyBtZWluZSBTY2h3ZXN0ZXIgZGVuIERvbmdsZSBhdWNoIG1hbCBmdWVyJ3MKTm90ZWJvb2sgbnV0emVuIGthbm4uIFVuZCBkaWUgQW56YWhsIGRlciBVU0IgUG9ydHMgaXN0IGtlaW4gUHJvYmxlbS4KClJvaGxvZmYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJCb3giZW4gZnVlciBQb3N0U2NyaXB0LVRlaWwgaW4gTGFUZVggKFpvb2ssICAzLiBGZWIgMjAwNSwgMTA6Mjc6NTUpOgpIaSwgaWNoIGhhYmUgZWluIFByb2JsZW06IEljaCBiZW5vZXRpZ2UgYXVmIGplZGVyIFNlaXRlIGVpbiBMb2dvLCBkYXMgaWNoCmFscyBQb3N0c2NyaXB0IHZvcmxpZWdlbiBoYWJlIChsZWlkZXIgZWluZSByZWNodCBncm9zc2UgRGF0ZWkpLiBXZW5uIGljaCAKZGFzIG51biB1ZWJlciBkYXMgdWVibGljaGUgXGluY2x1ZGVncmFwaGljcyBlaW5sZXNlLCBkYW5uIGJsYWVodCBzaWNoIGRhcwpQb3N0U2NyaXB0LUZpbGUgemllbWxpY2ggYXVmLCBkYSBlciBkaWUgRGF0ZWkgamVkZSBTZWl0ZSBuZXUgZWlubGllc3QuCkdpYnQgZXMgZnVlciBzb2xjaGUgWndlY2tlIGF1Y2ggc28gZWluZW4gTWVjaGFuaXNtdXMsIGRhc3MgbWFuIGRhcyBpcmdlbmR3aWUKaW4gZWluZXIgIkJveCIgc3BlaWNoZXJuIGthbm4gdW5kIGRhbm4gZWluZmFjaCBpbW1lciB3aWVkZXIgbmV1IGF1c2dpYnQ/CihTbyBhIGxhIFxzYm94LCBcdXNlYm94IHVuZCBzby4uLikuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc3VjaHQ6IERpa3RpZXJnZXJhZXQgKEJvZXNlLCAgMy4gRmViIDIwMDUsIDE3OjIxOjAzKToKfiMhIHJuPVpvb2sgcnQ9MTEwNTg5ODI5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA1ODk4Mjk0CkRhIGdhYnMgbWFsIGVpbiBHZXJhZXQgdm9uIEFsZGkuIEljaCBicmF1Y2h0ZSB1bmJlZGluZ3Qgd2FzIG1pdCBMaW5lLUluLiBEYXMgCkdlcmFldCBuaW1tdCBkaXJla3QgbXAzIGF1Zi4gTGVpZGVyIHNwaW5udCBlcyBhbGxlcmRpbmdzIGJlaSBtaXIgbWFuY2htYWwgcnVtLgoKQm9lc2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAiQm94ImVuIGZ1ZXIgUG9zdFNjcmlwdC1UZWlsIGluIExhVGVYIChNb3Jnb3RoLCAgMy4gRmViIDIwMDUsIDE4OjE3OjU3KToKfiMhIHJuPVpvb2sgcnQ9MTEwNzQyMjg3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA3NDIyODc1CkhtLCBzY2hvbiBtYWwgYWxzIFdhdGVybWFyayB2ZXJzdWNodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIkJveCJlbiBmdWVyIFBvc3RTY3JpcHQtVGVpbCBpbiBMYVRlWCAoWm9vaywgIDMuIEZlYiAyMDA1LCAxODoyMjo0OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMDc0NTEwNzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzQyMjg3NQpIbS4gU28gd2llIGljaCBkaWUgYWxzIFdhc3NlcnplaWNoZW4gZWluZnVlZ3RlLCBoYXQgZXIgZGllIGF1Y2ggaW1tZXIgCmplZGVzIG1hbCBhdWZzIE5ldWUgZ2VsYWRlbi4uLiAod2VubiBpY2ggbWljaCBlbnRzaW5uZSkuLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2Fub24tRHJ1Y2tlciB1bnRlciBMaW51eCAoTGlhcmEsICA1LiBGZWIgMjAwNSwgMTc6NDg6MDYpOgpNb2luc2VuIQpCaXNoZXIgaGF0dGUgaWNoIGZ1ZXIgbWVpbmVuIENhbm9uLURydWNrZXIgYXVzIGRlciBpLVJlaWhlIHVudGVyIExpbnV4IGtlaW5lbgprb3N0ZW5sb3NlbiBUcmVpYmVyIHp1ciBWZXJmdWVndW5nLgpBdWYgZGVyIGphcGFuaXNjaGVuIENhbm9uLVNlaXRlIGdpYnQgZXMgKGpldHp0Pykgd2VsY2hlLCBkaWUgZGVtIGJpc2hlcmlnZW4Ka29tbWVyemllbGxlbiBUcmVpYmVyIGVpbmVyIERyaXR0ZmlybWEgdWViZXJsZWdlbiBzZWluIHNvbGxlbi4KSmVkZW5mYWxscyBkcnVja3QgZGllIFNhY2hlIG51biBUZXh0L0dyYWZpay9mb3RvIHp1ciB2b2xsZW4gWnVmcmllZGVuaGVpdC4KCmZ0cDovL2Rvd25sb2FkLmNhbm9uLmpwL3B1Yi9kcml2ZXIvYmovbGludXgKRG9ydCBkYW5uIGRhcyBqZXdlaWxpZ2UgYmpmaWx0ZXJjdXBzKi0gdW5kIGJqZmlsdGVycGl4dXNYWFhpKi1ycG0gemllaGVuLgpQaXh1cyBpc3QgZGVyIE5hbWUgZnVlciBkaWUgQ2Fub24taS1SZWloZSwgWFhYIGRhcyBEcnVja2VybW9kZWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICJCb3giZW4gZnVlciBQb3N0U2NyaXB0LVRlaWwgaW4gTGFUZVggKFJvY2h1cywgIDcuIEZlYiAyMDA1LCAyMzoxMjo0NCk6Cn4jISBybj1ab29rIHJ0PTExMDc0MjI4NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzQyMjg3NQpIbW0sIGljaCBmdWVyY2h0ZSBMYVRlWCBoYXQgZGFmdWVyIGRpcmVrdCBuaXgKKExhVGVYIG1hY2h0IGVzIG51ciBzY2hvZW4sIG5pY2h0IGVmZml6aWVudCAqZyopLAp3YXMgbWlyIGVpbmZhZWxsdCBpc3QgZWhlciBuZSBFeHBlcnRlbmxvZXN1bmc6CkVkaXRpZXIgZGFzIFBvc3RzY3JpcHQtRmlsZSwgZGFzcyBlcyBzZWluZW4gSW5oYWx0CmFscyBCZWZlaGwgaW0gdXNlcmRpY3QgZWluZnVlZ3QsCm1hY2ggZWluIHp3ZWl0ZXMgKHNlaHIga3VyemVzKSBQb3N0c2NyaXB0LUZpbGUgbWl0IG5lciBnbGVpY2gKZ3Jvc3NlbiBCb3VuZGluZy1Cb3gsIGRhcyBuaXggbWFjaHQsIHdlbm4gZGVyIEJlZmVobCBuaWNodCBkZWZpbmllcnQKaXN0LCB1bmQgaWhuIGF1c2Z1ZWhydCwgZmFsbHMgZG9jaCwgdW5kIG5pbW0gZXJzdGVyZSBudXIKYmVpIGVyc3RlciBWZXJ3ZW5kdW5nIHVuZCB6d2VpdGVyZSBiZWkgamVkZXIgd2VpdGVyZW4uLi4KCklzdCBhYmVyIG5pY2h0IGdhbnogbGVpY2h0IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsbGlnZXMgTm90ZWJvb2shIChCYW1idWxrbywgIDguIEZlYiAyMDA1LCAxMDo1MTo1NSk6CkljaCBzdWNoZSBlaW4gYmlsbGlnZXMgTm90ZWJvb2sgZnVlciBUZXh0dmVyYXJiZWl0dW5nIHVuZCBhYiB1bmQgenUgZXR3YXMKUG93ZXJwb2ludC4gRXMgd2FlcmUgYXVjaCBuZXR0LCB3ZW5uIGVzIGVpbmVuIEZpbG0gYWJzcGllbGVuIGthbm4uIEZ1ZXIKU3BpZWxlLCBCaWxkdmVyYXJiZWl0dW5nIHVzdy4gd2lyZCBlcyBuaWNodCBnZWJyYXVjaHQuCgpBdXNzZXJkZW0gc29sbHRlIGVzIG5pY2h0IHp1IHNjaHdlciBvZGVyIGxhdXQgc2Vpbi4gTWl0IGJpbGxpZyBtZWluZSBpY2ggPCA4MDAKRXVyby4gSGF0IGplbWFuZCBFcmZhaHJ1bmdlbiBtaXQgRWxpdGVncm91cCBnZW1hY2h0PyBCZWkgZWJheSBrb3N0ZXQgZWluIG5ldWVzCkczMjAgY2EuIDU1MCBFdXJvLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIkJveCJlbiBmdWVyIFBvc3RTY3JpcHQtVGVpbCBpbiBMYVRlWCAoWm9vaywgIDguIEZlYiAyMDA1LCAxMTo0NTowNCk6Cn4jISBybj1Sb2NodXMgcnQ9MTEwNzgxNDM2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA3NDIyODc1CktsaW5ndCBndXQuIERhbmtlIGZ1ZXIgZGVuIFRpcC4gTXVzcyBpY2ggZGFubiBiZWltIG5hZWNoc3RlbiBGYWxsIG1hbCAKd2llZGVyIGVpbiB3ZW5pZyBtZWluZSBQb3N0c2NyaXB0LUtlbm50bmlzc2UgYXVmZnJpc2NoZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm9ybXNlaXRlbiAoWm9vaywgIDguIEZlYiAyMDA1LCAxMjozMDo1OCk6CldlciBtaXQgVmVybGFnZW4sIExla3RvcmVuLCBQcmVzc2VhYnRlaWx1bmdlbiBvZGVyIGRlciBWRyBXb3J0IGhlcnVtLQprYWVtcGZ0IHVuZCBnZWJldGVuIHdpcmQsIHNlaW5lIERva3VtZW50ZSBpbiAiTm9ybXNlaXRlbiIgYWJ6dWdlYmVuIGJ6dy4KbWl0enV0ZWlsZW4sIHdpZXZpZWxlIE5vcm1zZWl0ZW4gc2VpbiBUZXh0IHVtZmFzc3QsIGZ1ZXIgZGVuIHNlaSBkYXMKTGFUZVgtUGFrZXQgc3RkcGFnZSBlbXBmb2hsZW4gKGdpYnRzIGF1ZiBDVEFOIGluIGRlciBWZXJzaW9uIDAuNSkuIERhcyBpc3QKZ2FueiBwcmFrdGlzY2gsIHdlaWwgZWluZmFjaCB6dSBiZWRpZW5lbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9ybXNlaXRlbiAoWm9vaywgIDguIEZlYiAyMDA1LCAxMjo0Njo0Nyk6Cn4jISBybj1ab29rIHJ0PTExMDc4NjIyNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg2MjI1OApUb2xsLCBkYXNzIGljaCBudW4gZmVzdHN0ZWxsZSwgZGFzcyBpY2ggYmVpIGVpbmVtIEJlaXRyYWcgcHJvbXB0IG1hbCAyIApTZWl0ZW4genV3ZW5pZyBnZW1lbGRldCBoYWJlLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vcm1zZWl0ZW4gKE1haGFyZXQsICA4LiBGZWIgMjAwNSwgMTI6NDc6MzUpOgp+IyEgcm49Wm9vayBydD0xMTA3ODYzMjA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NjIyNTgKRGFzIGhhc3RlIG51IGRhdm9uLiBIYWV0dGVzdGUgbWFsIG5pY2h0IHVlYmVycHJ1ZWZ0LCBkYW5uIGtvZW5udGVzdCBkdSBqZXR6dApub2NoIHJ1aGlnIHNjaGxhZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9ybXNlaXRlbiAoWm9vaywgIDguIEZlYiAyMDA1LCAxMjo0Nzo1MSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDc4NjMyNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg2MjI1OApOdWphLCBzb3ZpZWwgRXVybyBzaW5kIGRhcyBlaCBuaWNodC4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb3Jtc2VpdGVuIChDYXR3ZWF6bGUsICA4LiBGZWIgMjAwNSwgMTI6NDg6MjkpOgp+IyEgcm49Wm9vayBydD0xMTA3ODYyMjU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NjIyNTgKV2Fzc24gZGFzIGZ1ZXJuIGxhdXNpZ2VyIFZlcmxhZywgZGVyIGRpciBrZWluZSB2ZXJudWVuZnRpZ2VuIFRlbXBsYXRlcyBtaXRnaWJ0CjotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vcm1zZWl0ZW4gKFpvb2ssICA4LiBGZWIgMjAwNSwgMTI6NDk6MTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDc4NjMzMDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg2MjI1OApEaWUgbWVpc3RlbiBWZXJsYWdlIHNpbmQgbGF1c2lnLCBhdXNzZXJkZW0gc3ByZWNoZSBpY2ggdm9uICJOb3Jtc2VpdGVuIiBpbQpadXNhbW1lbmhhbmcgbWl0IGRlciBWRyBXb3J0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWxsaWdlcyBOb3RlYm9vayEgKE9nbywgIDguIEZlYiAyMDA1LCAxMzowNjo0OSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTA3ODU2MzE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NTYzMTUKSWNoIGhhYmUgbWlyIGRlbiBHMzIwIG1hbCBhbmdlc2NoYXV0LiBEZXIgd2llZ3QgMi43a2csIGtvbW10IG1pdCBuZW0gVmlhIEMzIEAKMUdIei4gRGlyIHNjaG9uIGtsYXIsIGRhc3MgZGllc2VyIFByb3plc3NvciB3aXJrbGljaCBMQU5HU0FNIGlzdD8gTGFzcyBkaWNoCm5pY2h0IHZvbiBkZXIgR0h6IEFuZ2FiZSB0YWV1c2NoZW4uIERlciBpc3QgaWlyYyBiZWkgRmxpZXNrb21tYW9wZXJhdGlvbmVuCmVpbmUgS2F0YXN0cm9waGUuIFNjaGxpbW1lciBpc3QgYWJlciB2ZXJtdXRsaWNoIG5vY2ggZWhlciwgZGFzcyBlciBudXIgMTI4TUIKUkFNIGhhdC4gRnVlciBUZXh0dmVyYXJiZWl0dW5nIG1hZyBlcyBub2NoIHNvIGdlcmFkZSByZWljaGVuLiBFcyBpc3QgYWJlciBpbWhvCmFsYmVybiBlaW5lbiBSZWNobmVyIG1pdCBzbyB3ZW5pZyBSQU0genUga2F1ZmVuLCBkYXMgd2FyIFN0YW5kIGRlciBaZWl0IHZvcgo0LTUgSmFocmVuLiAyLjcgS2lsbyBHZXdpY2h0IG1pdCBOZXR6dGVpbCBpc3Qgc2Nod2VyLCB6d2FyIHZpZWxsZWljaHQgbmljaHQgc28Kc2Nod2VyLCB3aWUgZWluaWdlIEluc3Bpcm9ucywgYWJlciBlcyBtYWNodCBzaWNoIHVuYW5nZW5laG0gYmVtZXJrYmFyLCB3ZW5uCm1hbiBlcyBkdXJjaCBkaWUgR2VnZW5kIHNjaGxlcHB0LiBEaWUgTWluZGVzdGFra3VsYXVmemVpdCBpc3QgYXVmIGRlcgpFbGl0ZWdyb3Vwc2VpdGUgbWl0IDEuNWggYW5nZWdlYmVuIHVuZCBtYXhpbWFsIDMuNWggc29sbCBlciBkdXJjaGhhbHRlbgprb2VubmVuLiBPcmllbnRpZXIgZGljaCBlaGVyIGFtIHVudGVyZW4gRW5kZS4gRGllIHNwYXJlbiBiZWkgZGllc2VtIERpbmcgYW4KYWxsZW4gRWNrZW4gdW5kIEVuZGVuLCBkZXIgVmlhIEMzIGlzdCB6d2FyIGVpbiByZWNodCBzdHJvbXNwYXJlbmRlciBQcm96ZXNzb3IsCmFiZXIgZGllIGFuZGVyZW4gQmF1dGVpbGUgZnJlc3NlbiBiZWkgc2NobGVjaHRlbSBEZXNpZ24gZWggdmllbCBtZWhyIFN0cm9tCihnZXJhZGUgRGlzcGxheSkuIAoKQW4gZGVpbmVyIFN0ZWxsZSB3dWVyZGUgaWNoIG1pY2ggZWhlciBuYWNoIGVpbmVtIGdlYnJhdWNodGVuIExhcHRvcCBpbiBkZW4KUHJlaXNyZWdpb25lbiB1bXNjaGF1ZW4uICJSaWNodGlnZSIgTGFwdG9wcyBmYW5nZW4gaGV1dHp1dGFnZSBzY2hvbiBiZWkgOTAwCkVVUiBhbiwgbmFjaCBlaW5lbSBkcmVpdmllcnRlbCBKYWhyIGhhc3QgZHUgaGFldWZpZyAxLzMgUHJlaXN2ZXJmYWxsLiBHdWNrIGRpcgpldmVudHVlbGwgYXVjaCBtYWwgZGllIGFlbHRlcmVuIGlCb29rcyBhbiwgc28gUmljaHR1bmcgNjAwbWh6IHVuZCAyNTZNQiBSYW0uCkRpZSBzaW5kIGtsZWluLCBsZWlzZSwgc2NoaWNrIHVuZCBoYWJlbiBlaWdlbnRsaWNoIGF1Y2ggYWxsZXMsIHdhcyBtYW4KYnJhdWNodC4KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxsaWdlcyBOb3RlYm9vayEgKEJhbWJ1bGtvLCAgOC4gRmViIDIwMDUsIDE0OjM0OjQ2KToKfiMhIHJuPU9nbyBydD0xMTA3ODY0NDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NTYzMTUKTmFqYSwgZ2VicmF1Y2h0IGlzdCBtaXIgenUgZ2VmYWVocmxpY2guIFdlciB3ZWlzcywgd2FzIGRhcyBEaWNuZyBmdWVyIE1hY2tlbgpoYXQsIGRpZSBtYW4gZXJzdCBzcGFldGVyIGJlbWVya3QuCgpVbmQgd2VuaWdlciBhbHMgMi43IGtnIGlzdCBrYXVtIGV0d2FzIHp1IGZpbmRlbiwgd2VubiBEdSBuaWNodCAxNjAwIEV1cm8KYmV6YWhsZW4gbW9lY2h0ZXN0LgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGxpZ2VzIE5vdGVib29rISAoQ2F0d2VhemxlLCAgOC4gRmViIDIwMDUsIDE0OjM3OjE4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDc4Njk2ODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg1NjMxNQpHZWJyYXVjaHQgaXN0IHByaW1hZXIgdW5kIG9mdCBkaWUgQWtrdWxlaXN0dW5nIGZ1ZXJuIFBvcG8uIFdlbm4gZHUgZGEgYmVpbQpLYXVmIGRlbiBFcndlcmIgZWluZXMgTmV1YWtrdXMgbWl0ZWluYmVyZWNobmVzdCwga29tbXN0IGR1IGhhZXVmaWcgaW1tZXIgbm9jaApiaWxsaWdlciB3ZWcuIApBbnNvbnN0ZW4gaGF0IGF1Y2ggZWluIEdlYnJhdWNodGhhZW5kbGVyIG5lIEdld2FlaGxlaXN0dW5nc2ZyaXN0LiBfR3V0ZV8KSGFlbmRsZXIgZ2ViZW4gZGlyIGF1Y2ggbmUgR2FyYW50aWUgYXVmIEFra3VsYXVmemVpdGVuLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJpbGxpZ2VzIE5vdGVib29rISAoR2xvaW5zb24sICA4LiBGZWIgMjAwNSwgMTQ6NDU6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDc4Njk4Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg1NjMxNQpHZWJyYXVjaHQgaXN0IGlPLCB3ZW5uIG1hbiBkYXMgVGVpbCB2b3JoZXIgdGVzdGVuIGthbm4uIEljaCBrb25udGUgYmVpIG1laW5lbQpFYmF5LUVyd2VyYiBuZXVsaWNoIHVuZCB3YXIgenVmcmllZGVuLCBzZWxic3QgbWl0IGRlbSBBa2t1LiBJQk0gVGhpbmtwYWQgNjAwRS4KRWluIGJpc2tlbiB0ZXVyZXIgZ2lidCBlcyBkYXMgYXVjaCBhdWYgZGVyIHJlZnVyYmlzaGVkLVNlaXRlLCBkaWUgdm9uIGhpZXIKdmVybGlua3QgaXN0OgpodHRwOi8vd3d3LmluZi51bmkta29uc3RhbnouZGUvfm1lbnplci9ub3RlYm9va3MuaHRtbAoKRnVlciBQcmFlc2VudGF0aW9uIHVuZCBDbyAoYWJlciBuaWNodCBmdWVyIEZpbG1lKSByZWljaHQgYWJlciBhdWNoIHVuc2VyClRvc2hpYmEgMzAwQ0RUIG1pdCA4ME0gUkFNIHVuZCBlaW5lbSAxNjYgTU1YLiBPYiBkZXIgQWtrdSB3aXJrbGljaCBub2V0aWcgaXN0LAptdXNzIG1hbiBhYndhZWdlbiwgb2Z0IHNvbGwgZGFzIEdlcmFldCBqYSBudXIgZWluIHN0YW5kYWxvbmUtRXJzYXR6IHp1bQpTY2hsZXBwZW4gdm9uIEEgbmFjaCBCIHNlaW4gdW5kIFN0ZWNrZG9zZW4gZ2lidCBlcyBmYXN0IHVlYmVyYWxsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJpbGxpZ2VzIE5vdGVib29rISAoTGlhcmEsICA4LiBGZWIgMjAwNSwgMTg6NTM6MTIpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEwNzg2OTY4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA3ODU2MzE1CkhtLCBhbHNvIGRlciBBbGRpLUxhcHRvcCBpc3Qgc2VociBsZWljaHQuIFVuZCB3YXIgbmljaHQgc28gdGV1ZXIuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCaWxsaWdlcyBOb3RlYm9vayEgKEdsb2luc29uLCAgOC4gRmViIDIwMDUsIDE4OjU1OjQyKToKfiMhIHJuPUxpYXJhIHJ0PTExMDc4ODUxOTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwNzg1NjMxNQpOZXVnZXJhZXRldGVjaG5pc2NoIHdhciB3b2hsIGRlciBQSUlJLUNvcHBlcm1pbmUgMUdIeiBYR0EtU2NobGVwcGkgdm9yIHp3ZWksCmRyZWkgTW9uYXRlbiBiZWkgTWVkaWFtYXJrdCBmdWVyIDUwMCBFdWxlbiB1bnNjaGxhZ2JhciAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCaWxsaWdlcyBOb3RlYm9vayEgKE9nbywgIDkuIEZlYiAyMDA1LCAxODo1MjowOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA3ODg1MzQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NTYzMTUKVmVybXV0bGljaCBtb21lbnRhbiBudXIgbWl0IGVuZ2xpc2NoZXIgVGFzdGF0dXIsIGFiZXIgZXZlbnR1ZWxsIGVpbmVuIEJsaWNrCndlcnQ6IGh0dHA6Ly93d3cubGluYXJlLmNvbS9saW5hcmUtbGludXgtbm90ZWJvb2sucGhwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBCaWxsaWdlcyBOb3RlYm9vayEgKEdsb2luc29uLCAxMC4gRmViIDIwMDUsIDAwOjAxOjEyKToKfiMhIHJuPU9nbyBydD0xMTA3OTcxNTI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDc4NTYzMTUKSGllciBmdWVyIDY1MCwtIHdhcyBuZXR0ZXMgbWl0IDJrKyBBTUQgdW5kIDI1Nk0uCgpodHRwOi8vd3d3LmF4eGVzcy1iZXJsaW4uZGUvd2ViL2hlcnN0ZWxsZXJhbmdlYm90LnBocD9wcm9kdWt0dHlwPTEmaGVyc3RlbGxlcmkKZD04MQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJYIChPZ28sIDEwLiBGZWIgMjAwNSwgMTU6MTI6MTEpOgpJY2ggaGFiZSBlaW4gU29ja2VsIDM3MEJvYXJkIG1pdCBlaW5lbSBCWC1DaGlwc2F0ei4gRXMgaGFuZGVsdCBzaWNoIHVtIGVpbiBOTUMKM0JBWCwgZGFzIGVpbmVuIEZDUEdBLVNvY2tlbCBoYXQuIExhdXQgSGFuZGJ1Y2ggd2lyZCBlcyBiaXMgODAwbWh6ICg4KjEwMG1oeikKdW50ZXJzdHVldHp0IHVuZCBkZXIgSnVtcGVyIGZ1ZXIgZGVuIE11bHRpIGF1ZiBkZW0gTWFpbmJvYXJkIGdlaHQgYXVjaCBiaXMgOApob2NoLiBXZW5uIGljaCBudW4gZWluZW4gc2NobmVsbGVyZW4gQ29wcGVybWluZSByZWluc3RlY2tlLCBkZXIgZWluZW4gZmVzdGVuCk11bHRpIGhhdCAoZ2lidCBlcyBlaWdlbnRsaWNoIHdpcmtsaWNoIEN1bWluZXMsIGRpZSBrZWluZW4gZmVzdGVuIGhhYmVuPyksCmRhbm4gc29sbHRlIGRhcyBhbGxlciBWb3JhdXNpY2h0IG5hY2ggZ2VoZW4sIG9kZXI/IFNlbGJzdCB3ZW5uIGRhcyBCaW9zIGRhcwpkYW5uIGlyZ2VuZHdpZSB2ZXJtdXJrc3QgYW56ZWlndCBvZGVyIGFlaG5saWNoZXMsIGVyIHd1ZXJkZSBkYW5uIGF1Y2ggbWl0IDEwCm1hbCAxMDBtaHogbGF1ZmVuPwoKT2dvLCBzZWluZSBWZXJtdXR1bmcgYmVzdGFldGlndCBoYWJlbiB3b2xsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3JsZCBvZiBXYXJjcmFmdCAoVmFyZGlvbiwgMTEuIEZlYiAyMDA1LCAxNzoyNjoxMik6Ckh1aHUuCgpJY2ggaGFiZSBmb2xnZW5kZSBSZWFsbXMgYXVzZ2V3YWVobHQ6CgpOb3JtYWw6IEdpbG5lYXMKUlA6IFNpbGJlcm5lIEhhbmQKUHZQOiBCbGFja3JvY2sKCk1vbWVudGFuIHdlcmRlIGljaCBhYmVyIG51ciBhdWYgR2lsbmVhcyBzcGllbGVuLgpXZXIgbWlyIGFsc28gZ2VybiB1ZWJlciBkZW4gV2VnIGxhdWZlbiBtb2VjaHRlLCBvZGVyIGFiZXIgZGllcyBnZXppZWhsdAphdXNzY2hsaWVzc2VuIG1vZWNodGUsIHNvbGx0ZSBzZWluZSBSZWFsbXMgZW50c3ByZWNoZW5kIHdhZWhsZW4uLi4KCkdydXNzLApWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQlggKEFya29zLCAxNi4gRmViIDIwMDUsIDE2OjQ2OjM2KToKfiMhIHJuPU9nbyBydD0xMTA4MDQ0NzMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgwNDQ3MzEKSnVwLCBsYWV1ZnQgc28uIEhpZXIgaXN0IGVzIGVpbiAxMTAwZXIgQ29wcGVybWluZS4KU29sYW5nZSBkaWUgU3Bhbm51bmdzd2FuZGxlciBkaWUgcmljaHRpZ2UgKG5pZWRyaWdlcmUpIENvcmVzcGFubnVuZyBsaWVmZXJuCmlzdCBkZXIgTXVsdGlwbGlrYXRvciBoZXJ6bGljaCBlZ2FsLiBEYSBkZWluIEJvYXJkIGx0LiBIYW5kYnVjaCBzY2hvbgpDb3BwZXJtaW5lcyB1bnRlcnN0dWV0enQgZHVlcmZ0ZSBkYXMgZGVyIEZhbGwgc2Vpbi4KCmJkVCBBcmtvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmxkIG9mIFdhcmNyYWZ0IChDcm9mdCwgMjIuIEZlYiAyMDA1LCAwMDo1ODo0Nik6Cn4jISBybj1WYXJkaW9uIHJ0PTExMDgxMzkxNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpMdXJjaGksIEFuYXRvbCwgTGFyaW5hLCBBa2FzaGEgdW5kIGljaCBzaW5kIGFtIHVlYmVybGVnZW4gYXVmIGRlciBTaWxiZXJuZW4KSGFuZCBlaW5lIE1vcmdlbmdyYXVlbi1HaWxkZSB6dSBncnVlbmRlbi4gIEdpYnRzIGRhIG5vY2ggd2VpdGVyZQpJbnRlcmVzc2VudGVuPwpBbnNvbnN0ZW4gc2luZCB3aXIgenVtaW5kZXN0IHRlaWx3ZWlzZSBub2NoIGF1ZiBMb3RoYXIgKFB2RSkgYW56dXRyZWZmZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXb3JsZCBvZiBXYXJjcmFmdCAoTm9ubmUsIDIyLiBGZWIgMjAwNSwgMDk6Mjk6MTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTEwOTAzMDMyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkRlc3Ryb21hdGggKFB2UCksIEhvcmRlIG5hdHVlcmxpY2ggOi0pCgpOb25uZSwgYWthIEVsc2VLbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV29ybGQgb2YgV2FyY3JhZnQgKENyb2Z0LCAyMi4gRmViIDIwMDUsIDA5OjI5OjUxKToKfiMhIHJuPU5vbm5lIHJ0PTExMDkwNjA5NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpBaC4gIEljaCB2ZXJnYXNzIHp1IGVyd2FlaG5lbiwgd2lyIHNwaWVsZW4gQWxsaWFuei4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsICAzLiBNYXIgMjAwNSwgMTI6MDM6MTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTEwOTA2MDk5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkRpZSBHaWxkZSBpc3QgbWl0dGxlcndlaWxlIGdlZ3J1ZW5kZXQgdW5kIG5lbm50IHNpY2ggJ0h1ZXRlciBkZXMgTW9yZ2VuZ3JhdWVuJwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjYW5uZXIgZ2VzdWNodCAoR2FieWxvbiwgIDguIE1hciAyMDA1LCAxOToxNDozMik6CmljaCBzdWNoZSBlaW5lbiBzY2FubmVyLgpiZWRpbmd1bmdlbjogdXNiLCBndXRlIHNjaGFlcmZlIHVuZCBmYXJid2llZGVyZ2FiZSwgbWF4IDEwMCBldXJvLgoKaGF0IGptZCBlcmZhaHJ1bmdlbiB1bmQvb2RlciBlbXBmZWhsdW5nZW4/CgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzY2FubmVyIGdlc3VjaHQgKE1vcmdvdGgsICA4LiBNYXIgMjAwNSwgMTk6MjI6MzIpOgp+IyEgcm49R2FieWxvbiBydD0xMTEwMzA1NjcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTAzMDU2NzIKV2FzIHdpbGxzdCBEdSBzY2FubmVuPyBCaWxkY2hlbiwgWmVpdHVuZywgRm90b3MsIENvdmVyPwpCcmF1Y2hzdCBEdSBlaW5lIER1cmNobGljaHRlaW5oZWl0LCBOZWdhdGl2c2Nhbm5lciwgRG9rdW1lbnRlbmVpbnp1Zz8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHNjYW5uZXIgZ2VzdWNodCAoR2FieWxvbiwgIDguIE1hciAyMDA1LCAxOToyNTo1MCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTAzMDYxNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMDMwNTY3MgpoYXVwdHNhZWNobGljaCBmb3RvcyB1bmQgZ3JhZmlrZW4gc2Nhbm5lbi4KdW5kIHZvbiBkZW0gYW5kZXJlbiB6ZXVjaHMgbmljaHRzIGRlcmdsZWljaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzY2FubmVyIGdlc3VjaHQgKEtlbGx5YnVuZHksICA4LiBNYXIgMjAwNSwgMTk6MjY6MDgpOgp+IyEgcm49TW9yZ290aCBydD0xMTEwMzA2MTUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTAzMDU2NzIKR2VsZHNjaGVpbmU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2Nhbm5lciBnZXN1Y2h0IChBcG9waGlzLCAgOS4gTWFyIDIwMDUsIDE3OjAxOjI1KToKfiMhIHJuPUdhYnlsb24gcnQ9MTExMDMwNTY3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEwMzA1NjcyCmljaCBoYWIgaGllciBlaW5lbiBIUCBTY2FuamV0IDM2NzAgdW5kIGJpbiBkYW1pdCBzZWhyIHp1ZnJpZWRlbiwgdXNiLCBndXRlCmdlc2Nod2luZGlna2VpdCwgZ3V0ZSBxdWFsaSwga25hcHAgdWViZXIgMTAwIGV1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbSBtaXQgbkZvcmNlMi1DaGlwc2F0eiAoQXJhdGhvcm4sIDEzLiBNYXIgMjAwNSwgMDM6NTk6MjYpOgpIYWxsbyB6dXNhbW1lbiwKCmljaCBoYWIgaGllciBlaW4gbmV1ZXMgTWFpbmJvYXJkIG1pdCBuRm9yY2UyLUNoaXBzYXR6IChNU0kgSzdOMiBEZWx0YTIKUGxhdGludW0pLCBkZXNzZW4gU291bmR0cmVpYmVyIHNpY2ggdW50ZXIgV2luWFAgbmljaHQgaW5zdGFsbGllcmVuIGxhc3Nlbgp3aWxsLiBGZWhsZXJtZWxkdW5nOiAiRGllIERhdGVuIHNpbmQgdW56dWxhZXNzaWcuIiBXZWl0ZXJoaW4gZXJrZW5udCBXaW5kb3dzCmVpbmVuIFJlYWx0ZWstQUM5Ny1Tb3VuZGNoaXAsIG9id29obCBpY2ggZWlnZW50bGljaCBzaWNoZXIgYmluLCBkYXNzIG5Gb3JjZS0KQ2hpcHNhZXR6ZSBlYmVuIGtvbXBsZXR0IGF1cyBOVmlkaWEtS3JhbSBiZXN0ZWhlbi4KCkhhdCBzY2hvbm1hbCB3ZXIgZGllc2VzIG9kZXIgZWluIGFlaG5saWNoZXMgUHJvYmxlbSBnZWhhYnQgdW5kIGthbm4gVGlwcyB6dQpkZXNzZW4gQmVoZWJ1bmcgYmVpc3RldWVybj8KCkRhbmtlIHNjaG9ubWFsLApBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtIG1pdCBuRm9yY2UyLUNoaXBzYXR6IChQdWssIDE1LiBNYXIgMjAwNSwgMTM6MDY6MzYpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTExMDY4Mjc2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEwNjgyNzY2CmhhYiBkYXMgZ2xlaWNoZSBib2FyZCB1bmQgYmVpIG1pciBzYWd0IGVyIGF1Y2ggQUM5NyByZWFsdGVrIHVuZCBkYW1pdCBmdW56dCBlcwphdWNoIHdlbm4gbWFuIGRlbiB0cmVpYmVyIHZvbiBkZXIgQm9hcmQtQ2QgbmltbXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdvcmxkIG9mIFdhcmNyYWZ0IChDcm9mdCwgMTYuIE1hciAyMDA1LCAxNzo1OToyNCk6Cn4jISBybj1Dcm9mdCBydD0xMTA5ODQ3NzkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKQmV2b3IgZGVyIFRocmVhZCBrb21wbGV0dCBleHBpcmVkLCBoaWVyIGRpZSBadXNhbW1lbmZhc3N1bmc6CgpFcyBnaWJ0IGVpbmUgQWxsaWFuei1HaWxkZSB2b24gTXVkZGVybiBhdWYgZGVyIHNpbGJlcm5lbiBIYW5kIChSUCkuCkFuYXRvbCwgQ2F0d2VhemxlLCBHb3JvZywgTGFyaW5hLCBMdXJjaGksIFZhcmxhcmlvbiwgWndpcmlvbiwKQ2hha290YXlAQW5kZXJsYW5kIHVuZCBtZWluZSBXZW5pZ2tlaXQgc2luZCBkb3J0IGluIGRlciBHaWxkZSAnSHVldGVyCmRlcyBNb3JnZW5ncmF1ZW4nLiAgUGl0ZmFsbCB3YXIgYXVjaCBub2NoIGJlaSBkZXIgR3J1ZW5kdW5nIGhpbGZyZWljaCwKc3BpZWx0IGFiZXIgbWl0IEpvc2h1YSB1bmQgWmFya3UgYXVmIGRlbSBQdlAtU2VydmVyIEtlbCdUaHV6YWQuCldlaXRlcmUgKGVoZW1hbGlnZSkgTXVkZGVyIHNpbmQgd2lsbGtvbW1lbiB1bmQgZ2Vybmdlc2VoZW4gLC0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV29ybGQgb2YgV2FyY3JhZnQgKE11YWRpYiwgMTYuIE1hciAyMDA1LCAxOTo1MTozOSk6Cn4jISBybj1Dcm9mdCBydD0xMTEwOTkyMzY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKbXVkZGVyIHNpbmQgaGllciBhdWNoIGdlcm5lIGdlc2VoZW4KZWhlbWFsaWdlIGJlc29uZGVycyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JsZW0gbWl0IG5Gb3JjZTItQ2hpcHNhdHogKFZhcmRpb24sIDE4LiBNYXIgMjAwNSwgMTA6MTU6NTIpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTExMDY4Mjc2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEwNjgyNzY2Clp1IG1laW5lbSBTb3VuZGNoaXAgc2FndCBsc3BjaToKCjAwOjA1LjAgTXVsdGltZWRpYSBhdWRpbyBjb250cm9sbGVyOiBuVmlkaWEgQ29ycG9yYXRpb24gbkZvcmNlIEF1ZGlvClByb2Nlc3NpbmcgVW5pdCAocmV2IGEyKQogICAgICAgIFN1YnN5c3RlbTogQVNVU1RlSyBDb21wdXRlciBJbmMuOiBVbmtub3duIGRldmljZSAwYzExCiAgICAgICAgRmxhZ3M6IGJ1cyBtYXN0ZXIsIDY2TWh6LCBmYXN0IGRldnNlbCwgbGF0ZW5jeSAwLCBJUlEgMTIKICAgICAgICBNZW1vcnkgYXQgZGYwMDAwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3NpemU9NTEyS10KICAgICAgICBDYXBhYmlsaXRpZXM6IFs0NF0gUG93ZXIgTWFuYWdlbWVudCB2ZXJzaW9uIDIKCjAwOjA2LjAgTXVsdGltZWRpYSBhdWRpbyBjb250cm9sbGVyOiBuVmlkaWEgQ29ycG9yYXRpb24gbkZvcmNlMiBBQzk3IEF1ZGlvCkNvbnRyb2xlciAoTUNQKSAocmV2IGExKQogICAgICAgIFN1YnN5c3RlbTogQVNVU1RlSyBDb21wdXRlciBJbmMuOiBVbmtub3duIGRldmljZSA4MDk1CiAgICAgICAgRmxhZ3M6IGJ1cyBtYXN0ZXIsIDY2TWh6LCBmYXN0IGRldnNlbCwgbGF0ZW5jeSAwLCBJUlEgMTc3CiAgICAgICAgSS9PIHBvcnRzIGF0IGU0MDAgW3NpemU9MjU2XQogICAgICAgIEkvTyBwb3J0cyBhdCBkMDAwIFtzaXplPTEyOF0KICAgICAgICBNZW1vcnkgYXQgZGYwODcwMDAgKDMyLWJpdCwgbm9uLXByZWZldGNoYWJsZSkgW3NpemU9NEtdCiAgICAgICAgQ2FwYWJpbGl0aWVzOiBbNDRdIFBvd2VyIE1hbmFnZW1lbnQgdmVyc2lvbiAyCgpOdW1lcmlzY2ggaXN0IGRhcyBkYW5uOgoKMDA6MDUuMCBDbGFzcyAwNDAxOiAxMGRlOjAwNmIgKHJldiBhMikKMDA6MDYuMCBDbGFzcyAwNDAxOiAxMGRlOjAwNmEgKHJldiBhMSkKCkRhbWl0IGhhdHRlIGljaCBub2NoIG5pZSBpcmdlbmR3ZWxjaGUgVHJlaWJlcnByb2JsZW1lLCBhdWNoIG1pdCBXaW5YUCBTUDIKbmljaHQuIER1IGthbm5zdCBqYSBtYWwgbmFjaHNjaGF1ZW4sIHdhcyBnZW5hdSBmdWVyIGVpbmVuIEF1ZGlvdGVpbCBEdSBhdWYgZGVtCkJvcmQgaGFzdC4KCkdydXNzClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdvcmxkIG9mIFdhcmNyYWZ0IChWYXJkaW9uLCAxOC4gTWFyIDIwMDUsIDEwOjQ0OjA2KToKfiMhIHJuPUNyb2Z0IHJ0PTExMTA5OTIzNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpEZXIgVm9sbHN0YWVuZGlna2VpdCBoYWxiZXI6IGF1ZiBkZXIgUHZFIFJlYWxtIEdpbG5lYXMgc3BpZWxlbiBnZXJ1ZWNodGV3ZWlzZQphdWNoIG5vY2ggZWluaWdlIChFeClNdWRkZXIuLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdvcmxkIG9mIFdhcmNyYWZ0IChQYXRyeW4sIDI1LiBNYXIgMjAwNSwgMTQ6MTI6MjUpOgp+IyEgcm49Q3JvZnQgcnQ9MTExMDk5MjM2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkxlaWJuaXogdW5kIG1pY2ggZmluZGV0IG1hbiBhdWYgS2lsIEplYWRlbiwgYXVjaCBlaW4gUHZQLVNlcnZlci4KRWluZSBNRy1HaWxkZSBoYWJlbiB3aXIgZGEgbmljaHQsIGFiZXIgd2VubiB6dWZhZWxpZyBlaW5lciBkYSBydW1zY2h3aXJydCwKd2lyIGZyZXVlbiB1bnMgYXVmIGJla2FubnRlIEdlc2ljaHRlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV29ybGQgb2YgV2FyY3JhZnQgKExlaWJpLCAyNS4gTWFyIDIwMDUsIDE0OjEzOjIxKToKfiMhIHJuPVBhdHJ5biBydD0xMTExNzU2MzQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKYWxsaWFueiBuYXR1ZXJsaWNoIDopCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV29ybGQgb2YgV2FyY3JhZnQgKE9nbywgMzAuIE1hciAyMDA1LCAwNDowODoyMSk6Cn4jISBybj1Dcm9mdCBydD0xMTEwOTkyMzY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKR2V3aXNzZSBHcnVuZGFlaG5saWNoa2VpdGVuIHNpbmQgamEgdm9yaGFuZGVuLiBKZXR6dCBrb2VubnRlIG1hbiBkb2NoIGVpbmlnZQpWb3JzY2hsYWVnZSBicmluZ2VuLCB3YXMgbWFuIHZvbiBXb1cgaW0gTUcgdmVyd2VuZGVuIGtvZW5udGUuIEljaCBmaW5kZSB6LmIuCkJpbmQtb24tRXF1aXAgZWluZSBTdXBlcnNhY2hlLiBVbmQgYXVjaCBkYXMgd3VlcmZlbG4gdW0gdG9sbGUgU2FjaGVuLgpWaWVsbGVpY2h0IGF1Y2ggc28gZXR3YXMgd2llICJyYW5kb20gV29ybGQgRHJvcHMiLCBkaWUgc2VociBzZWx0ZW4gcGFzc2llcmVuCnVuZCBkYW5uIG5hdHVlcmxpY2ggQmluZC1vbi1QaWNrdXAgc2luZC4gTWFuIGtvZW5udGUgYXVjaCBUYXNjaGVuCmVpbmZ1ZWhyZW4uLi4KCldlciBoYXQgbm9jaCBtZWhyIFZvcnNjaGxhZWdlPyA6KQoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXb3JsZCBvZiBXYXJjcmFmdCAoRGFya2xvciwgMzAuIE1hciAyMDA1LCAwNjoxODoyNSk6Cn4jISBybj1PZ28gcnQ9MTExMjE0ODUwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCldpZSB3YWVyIGVzIG1pdCBHcmFmaWs/CgpEYXJrbG9yIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXb3JsZCBvZiBXYXJjcmFmdCAoQm9pbmcsIDMwLiBNYXIgMjAwNSwgMDk6NTc6NDUpOgp+IyEgcm49T2dvIHJ0PTExMTIxNDg1MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpXZW5uIER1IGRpZSBCZWdyaWZmZSBhdWNoIG5vY2ggZXJrbGFlcmVuIHd1ZXJkZXN0LCBrb2VubnRlbiBhdWNoCmFuZGVyZSB3YXMgZGFtaXQgYW5mYW5nZW4uIDopClVuZCBUYXNjaGVuIGhhYmVuIHdpciBkb2NoIC4uLj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV29ybGQgb2YgV2FyY3JhZnQgKENyb2Z0LCAzMC4gTWFyIDIwMDUsIDEwOjM1OjQ4KToKfiMhIHJuPUJvaW5nIHJ0PTExMTIxNjk0NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpCaW5kLW9uLUVxdWlwOiBFaW4gR2VnZW5zdGFuZCB3aXJkIGFuIGVpbmUgUGVyc29uIGdlYnVuZGVuIHNvYmFsZCBlciBkYXMKZXJzdGUgTWFsIGFuZ2V6b2dlbi9nZWZ1ZWhydC92ZXJ3ZW5kZXQgd2lyZC4gIERhbmFjaCBrYW5uIG51ciBub2NoIGRpZXNlClBlcnNvbiBpaG4gYW5nZXppZWhlbi9mdWVocmVuL3ZlcndlbmRlbi4gIEluIFdvVyB3aXJkIGRpZXMgZHVyY2gKVmVyaGluZGVydW5nIGRlciBXZWl0ZXJnYWJlIGVycmVpY2h0LgpCaW5kLW9uLVBpY2t1cDogYWVobmxpY2ggd2llIEJpbmQtb24tRXF1aXAsIG51ciBkYXMgZGVyIEJlc2l0emVyIHNjaG9uCmJlaW0gQXVmbmVobWVuIGdlc2V0enQgd2lyZC4KQmVpIGJlaWRlbiBCaW5kLUFydGVuIGVyc2NoZWludCBlaW4gQmVzdGFldGlndW5nc2RpYWxvZywgb2IgbWFuIGRhcwphdWNoIHdpcmtsaWNoIHdpbGwuCkplIG5hY2ggTG9vdHJlZ2VsbiBkZXIgR3J1cHBlLCB3aXJkIGF1Y2ggYXVzZ2V3dWVyZmVsdCB3ZXIgZWluIEl0ZW0KbmVobWVuIGRhcmYgKGF1ZiBkZW4gV3VyZiBrYW5uIG1hbiBhdWNoIHZlcnppY2h0ZW4pLiAgVW5kIGRhcyBtaXQgZGVuClRhc2NoZW4gbGltaXRpZXJ0IGRpZSBBbnphaGwgZGVyIEdlZ2Vuc3RhZW5kZSBkaWUgbWFuIGJlaSBzaWNoIGhhYmVuCmthbm4uICBXYXMgZWlnZW50bGljaCBlaW4gUnVlY2tzY2hyaXR0IHdhZXJlIChhbGEgYWxsZSBHZWdlbnN0YWVuZGUKaGFiZW4gZGFzIGdsZWljaGUgR2V3aWNodCBoaWVyKS4gIE1hbiBrYW5uIGJpcyB6dSA1IFRhc2NoZW4gaW4KQmVudXR6dW5nIGhhYmVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjE2OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChUYXJhbmlzLCAzMC4gTWFyIDIwMDUsIDEzOjE2OjU4KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMTIxNjg5NDEgcmc9bWVnYXNjaG1hcnJuCn4jISB0aWQ9OTgyMzI4Mjc4CkFsc28sIGJpbmQtb24tLi4uIGZpbmRlIGljaCBlaWdlbnRsaWNoIHppZW1saWNoIHVuc2lubmlnLCBtYWwgYWJnZXNlaGVuIHZvbgpBdXNydWVzdHVuZyBtaXQgc3BlemllbGxlcmVuIEZhZWhpZ2tlaXRlbiwgd28gaWNoIGRhcyBlaW5zZWhlLiBBYmVyIHdhcnVtCnNvbGx0ZSBtYW4gZWluZW4gbm9ybWFsZW4gVW1oYW5nIG5pY2h0IGF1Y2ggd2llZGVyIGF1c3ppZWhlbiB1bmQgd2VpdGVyZ2ViZW4KZHVlcmZlbj8gKFNpY2hlciwgV29XIG1hY2h0IGRhcywgdW0genUgdmVyaGluZGVybiwgZGFzcyBncm9lc3NlcmUgU3BpZWxlcgprbGVpbmVyZSBpbSBUZWFtIGRhbWl0IHVudGVyc3R1ZXR6ZW4sIGlzdCBtaXIga2xhci4pIEJUVzogV2VubiBlaW4gTWFnaWVyIGRhcwpnZXJuZSBtb2VjaHRlLCBrYW5uIGVyIGRhcyBhdWNoIGltIE1HIG1hY2hlbiwgd2VubiBtaWNoIG5pY2h0IGFsbGVzIHRhZXVzY2h0CihhbHNvIGRhc3MgQXVzcnVlc3R1bmcgbnVyIHZvbiBkZW0gYmVudXR6dCB3ZXJkZW4ga2FubiwgZGVyIHNpZSBkYXMgZXJzdGVtYWwKYXVmbmltbXQvYW56aWVodCkuClVuZCB3YXMgZGllIEFuemFobCBkZXIgR2VnZW5zdGFlbmRlIGFuZ2VodCwgZGllIGVpbiBTcGllbGVyIHRyYWdlbiBrYW5uOiBXYXMKZWluIFNwaWVsZXIgaGllciBtaXQgc2ljaCBydW10cmFnZW4ga2FubiwgaXN0IGRvY2ggYXVjaCBoaWVyIG5pY2h0IHdpcmtsaWNoCnVuYmVncmVuenQ/IE9kZXIgaGFiZSBpY2ggZGEgd2FzIGZhbHNjaCB2ZXJzdGFuZGVuPwoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTI2MTc6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKE5vbm5lLCAzMC4gTWFyIDIwMDUsIDEzOjIwOjIyKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjE4MTQxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKTm9lLCBoYXN0IGR1IG5pY2h0LiBXb1cgbWFjaHQgZGllIEJlZ3Jlbnp1bmcgdWViZXIgZGllIFBsYWV0emUgaW4gZGVuCkJlaGFlbHRlcm4sIGRhcyBNRyB1ZWJlciBkYXMgR2V3aWNodC4gQmluZCBvbiB3aXJkIGF1Y2ggc2Nob24gZ2VudXR6dCwgaXN0IGphCmF1Y2ggbmljaHQgd2lya2xpY2ggc2Nod2llcmlnIHp1IGltcGxlbWVudGllcmVuIHVuZCBiZWRhcmYga2VpbmVyIE11ZGxpYgpzZWl0aWdlbiBVbnRlcnN0dWV0enVuZy4gV2FzIGljaCBuZXR0IGZpbmRlLCBpc3QgZGFzIGR1cmNoZ2FlbmdpZ2UKQ29vbGRvd24tS29uemVwdCB2b24gU3BydWVjaGVuLCBUcmFlbmtlbiB1bmQgU3BydWNocm9sbGVuLiBEYWR1cmNoIGlzdCBlcwpuaWNodCBtb2VnbGljaCwgTW9uc3RlciB0b3R6dXRhbmtlbiwgc29uZGVybiBtYW4gbXVzcyBzaWNoIGVpbmUgUGFydHkgc3VjaGVuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45MjYxNzogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoVmVjdG9yLCAzMC4gTWFyIDIwMDUsIDEzOjIwOjU2KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjE4MTQxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKdGVpbHdlaXNlIGdpYnRzIHNvIGF1c3J1ZXN0dW5nIGRvY2ggYmVyZWl0cyBpbSBtZy4KZGllIGRpc2t1c3Npb24gZnVlaHJ0IGRvY2ggaXJnZW5kd2llIGxldHp0ZW5kbGljaCBkYXJhdWYgaGluYXVzLApvYiBtYW4gYXVzcnVlc3R1bmcgbGV2ZWwtL2F0dHJpYnV0LWFiaGFlbmdpZyBtYWNoZW4gc29sbCA/IQppc3QgZWJlbiBkaWUgZnJhZ2Ugd2llIHNlaHIgZXMgZ2V3b2xsdCBpc3QgZGFzIHouYi4gZWluIGxldmVsLTEtCnNwaWVsZXIgb2JlcmdsYWRpYXRvciB3aXJkIG9kZXIgbWFuIGRlbiAydGllIG1pdCBlbnRzcHJlY2hlbmRlcgoiZGFzLW1vbnN0ZXItdmVyZmVobHQtZGljaCItYXVzcnVlc3R1bmcgdm9sbHBhY2t0IHVuZCBkZXIgZGFubgpkdXJjaCBkaWUgYWx0ZW4gcXVlc3RzIGEgbGEgb3JrZW5ob3J0IGh1cGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV29ybGQgb2YgV2FyY3JhZnQgKENyb2Z0LCAzMC4gTWFyIDIwMDUsIDEzOjI3OjI2KToKfiMhIHJuPUNyb2Z0IHJ0PTExMTIxNzE3NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpAVG90dGFua2VuOiBuZXR0IGlzdCBhdWNoLCBkYXNzIHNpY2ggZGFzIE1vbnN0ZXIgaGVpbHQgbmFjaGRlbSBkZXIgU3BpZWxlcgpnZWZsdWVjaHRldCBpc3QuICBELmguIGRpZSBHZWduZXIgbXVlc3NlbiBpZFIgYWxsZSAiZ2VzdGFuZGVuIiB3ZXJkZW4gKGZhbGxzCm1hbiBzb2xvdCB1bmQgc2ljaCBpbiBkZXIgR3J1cHBlIG5pY2h0IGFiZ2V3ZWNoc2VsdCkuCkF1Y2ggc2VociBzY2hvZW4gZmluZGUgaWNoIGRhcyAndGFwcGVuJyBlaW5lbiBNb25zdGVycy4gIERpZSBHcnVwcGUgZGllCnp1ZXJzdCBTY2hhZGVuIGFuIGVpbmVtIE1vbnN0ZXIgbWFjaHQsIG5pbW10IGRhcyBNb25zdGVyIHNvenVzYWdlbiBpbgpCZXNpdHogKGJpcyBlcyBzdGlyYnQgb2RlciBkaWUgR3J1cHBlIGZsdWVjaHRldCkuICBOdXIgR3J1cHBlbm1pdGdsaWVkZXIKYmVrb21tZW4gZGFubiBYUCB1bmQgZGVyIExvb3QgZ2Vob2VydCBhdWNoIGRlciBHcnVwcGUuICBEYWR1cmNoIGZhbGxlbgpzbyBTYWNoZW4gd2llIExhc3QtSGl0LURpZWJzdGFobCBvZGVyIEZyZW1kbGVpY2hlbnBsdWVuZGVydW5nIGdsZWljaAp3ZWcuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdvcmxkIG9mIFdhcmNyYWZ0IChOb25uZSwgMzAuIE1hciAyMDA1LCAxMzo0MzoxNSk6Cn4jISBybj1Dcm9mdCBydD0xMTEyMTgyMDQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKSGFiZSBpY2ggc2Nob24gZXJ3YWVobnQsIHdpZSBnZW5pYWwgaWNoIGRhcyBzaGlmdC1sZWZ0IGNsaWNrIGZlYXR1cmUgaW4gZGVuCmNoYXRzIGZpbmRlPyBFbmRsaWNoIGJyYXVjaHQgbWFuIG5pY2h0IG1laHIgZGllIGdhbnplbiBFaWdlbnNjaGFmdGVuIGRlcgpHZWdlbnN0YWVuZGUgYWJ0aXBwZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV29ybGQgb2YgV2FyY3JhZnQgKE11YWRpYiwgMzAuIE1hciAyMDA1LCAxNTozMzowMCk6Cn4jISBybj1Ob25uZSBydD0xMTEyMTgyOTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKYmluZC1vbiBoYWJlbiB3aXIgaW0gbWcgYXVjaAp6YiBkZXIgdGFtYWhvcm55CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV29ybGQgb2YgV2FyY3JhZnQgKEdyaW1tYm9ybiwgMzAuIE1hciAyMDA1LCAxNTozMzo1Nik6Cn4jISBybj1NdWFkaWIgcnQ9MTExMjE4OTU4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkdhYnMgc2Nob24genUgbWVpbmVuIFplaXRlbjogRGllIEh5ZHJhdG9ldGVycnVlc3R1bmcuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsIDMwLiBNYXIgMjAwNSwgMTU6MzY6NTApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMTIxODk2MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpCaW5kLU9uLVBpY2t1cCBtZWludCBpaHIuICBBYmVyIHdvIGdpYnRzIGRhcyBCaW5kLU9uLUVxdWlwPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMTU6Mzc6MzApOgp+IyEgcm49Q3JvZnQgcnQ9MTExMjE4OTgxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyClZlcmZsdWNodGUgR2VnZW5zdGFlbmRlPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsIDMwLiBNYXIgMjAwNSwgMTU6Mzg6MzApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMjE4OTg1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkR1IG1laW5zdCB3b2hsIG5pY2h0LWVudGZsdWNoYmFyZSB2ZXJmbHVjaHRlIEdlZ2Vuc3RhZW5kZSAuLi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV29ybGQgb2YgV2FyY3JhZnQgKENyb2Z0LCAzMC4gTWFyIDIwMDUsIDE1OjQwOjA0KToKfiMhIHJuPUNyb2Z0IHJ0PTExMTIxODk5MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpadW1hbCBtYW4gQm9FLUl0ZW1zIGR1cmNoYXVzIGF1Y2ggd2llZGVyIEF1c3ppZWhlbiBrYW5uLiAgRW50c3ByZWNoZW5kCmF1Y2ggQm9QLUl0ZW1zLiAgU2llIHNpbmQgcHJpbWFlciBudXIgbmljaHQgZnVlciBhbmRlcmUgTGV1dGUgbnV0emJhci4KSW4gZGllIEJhbmsgKGFrYSBTZWhlcnRydWhlKSBrYW5uIG1hbiBzaWUgbGVnZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdvcmxkIG9mIFdhcmNyYWZ0IChBbGtvaG9sLCAzMC4gTWFyIDIwMDUsIDE1OjQxOjQ0KToKfiMhIHJuPUNyb2Z0IHJ0PTExMTIxOTAwMDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3Mgp1bmQgZGFzIGlzdCB0b2xsIHdlbm4gbWFuIE9iamVrdGUgbmljaHQgdmVybGVpaGVuIGthbm4/CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV29ybGQgb2YgV2FyY3JhZnQgKEdsb2luc29uLCAzMC4gTWFyIDIwMDUsIDE1OjQyOjM2KToKfiMhIHJuPUFsa29ob2wgcnQ9MTExMjE5MDEwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkRhcyBpc3QgbWlyIGF1Y2ggbmljaHQgZ2FueiBrbGFyLiBEZXIgRWlnZW50dW1zYXNwZWt0IGR1ZXJmdGUgaW4gZWluZW0KUmllc2Vuc3BpZWwgZWluZSBSb2xsZSBzcGllbGVuLCBoaWVyIGlzdCBlcyBhYmVyIGVoZXIgc2VsdGVuIGRhc3MgU2FjaGVuCndpcmtsaWNoIGdlc3RvaGxlbiB3ZXJkZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdvcmxkIG9mIFdhcmNyYWZ0IChNYWhhcmV0LCAzMC4gTWFyIDIwMDUsIDE1OjQyOjQ4KToKfiMhIHJuPUFsa29ob2wgcnQ9MTExMjE5MDEwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCk5hamEsIGVzIG1hY2h0IGVzIG1vZWdsaWNoLCBzdGFya2UgV2FmZmVuIHpCIHp1enVsYXNzZW4gOykgRXhjYWxpYnVyIHpCIGthbm4KbWFuIGF1Y2ggaW4ga2VpbmUgU2VoZXJ0cnVoZSBsZWdlbi4gRGFzIGhhdCBtYW4sIGJpcyBlcyB3ZWcgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdvcmxkIG9mIFdhcmNyYWZ0IChHbG9pbnNvbiwgMzAuIE1hciAyMDA1LCAxNTo0NjoxNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMTIxOTAxNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpTbyBlaW4gcmljaHRpZ2VzIEFyZ3VtZW50IGZ1ZXJzIFp1bGFzc2VuIGRlciBXYWZmZSBpc3QgZGFzIG5pY2h0LiBTZWhlIGljaAphdWNoIGJlaSBFeGNhbGlidXIgbmljaHQgc28uIFdlbm4gZWluZSBXYWZmZSBleHRyZW0gc3RhcmsgaXN0IHdpcmQgc2llIG5pY2h0CmRhZHVyY2ggc2Nod2FlY2hlciBkYXNzIG51ciBlaW5lciBzaWUgYmVzaXR6ZW4gdW5kIGZ1ZWhyZW4ga2Fubi4gRGVyIGVpbmUKc2NobmVpZGV0IGRhbm4gZGFtaXQgZWJlbiBkb2NoIGplZGVuIEthZXNlIGtsZWluLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBXb3JsZCBvZiBXYXJjcmFmdCAoQWxrb2hvbCwgMzAuIE1hciAyMDA1LCAxNTo0NjoyNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMTIxOTAxNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3Mgp3YXMgaGFiZW4gZGllIGVpZ2VudHVtc2FzcGVrdGUgbWl0IGRlciBzdGFlcmtlIGRlciBXYWZmZSB6dSB0dW4/IFdlbm4gbWFuCnZlcmhpbmRlcm4gd2lsbCwgZGFzcyB6dSBrbGVpbmUgU3BpZWxlciBkaWUgbmljaHQgbnV0emVuIGtvZW5uZW4sIGRhbm4ga2FubgptYW4gZGFzIGJlc3NlciBvaG5lIEVpZ2VudHVtIGxvZXNlbiwgb2Rlcj8KCkRhbm4gZmluZCBpY2ggaXJnZW5kd2llIGFic2NobGllc3NiYXJlIFRydWhlbiwgZnVlciBkaWUgbWFuIFNjaGx1ZXNzZWwKdmVyZ2ViZW4ga2FubiwgaXJnZW5kd2llIHNpbm52b2xsZXIuIE1hbiBrYW5ucyBqYSBhdWNoIHNvIG1hY2hlbiwgZGFzcyBtYW4KZWluZW4gU2NobHVlc3NlbCBhdWNoIGJlbGllYmlnIHdpZWRlciBlbnR6aWVoZW4ga2Fubi4gTWVpbmV0d2VnZW4gc3RpbGVjaHQgbWl0Ck1hZ25ldGthcnRlLgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFdvcmxkIG9mIFdhcmNyYWZ0IChNYWhhcmV0LCAzMC4gTWFyIDIwMDUsIDE1OjQ4OjIyKToKfiMhIHJuPUFsa29ob2wgcnQ9MTExMjE5MDM4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkVzIGdlaHQgbmljaHQgZGFydW0sIGRhc3Mga2xlaW5lIFNwaWVsZXIgZGllIG5pY2h0IG51dHplbiBzb2xsZW4uIFNpZSBzb2xsZW4KaGFsdCBlcmhlYmxpY2hlIE5hY2h0ZWlsZSBoYWJlbiwgZGFtaXQgbmljaHQgamVkZXIgZGFtaXQgc3RhZW5kaWcgcnVtcmVubmVuCmthbm4uIERhenUgZ2Vob2VydCB6dW0gZWluZW4sIGRhc3Mgc2llIG5pY2h0IGxlaWNodCB6dSBrcmllZ2VuIGlzdC4gSW4gZGllc2VtCkZhbGwgYWJlciBlYmVuIGF1Y2gsIGRhc3Mgc2llIG51ciBlaW5lciBudXR6ZW4ga2FubiBmdWVyIGVpbmVuIGJlc3RpbW10ZW4KWmVpdHJhdW0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogV29ybGQgb2YgV2FyY3JhZnQgKFRhcmFuaXMsIDMwLiBNYXIgMjAwNSwgMTU6NDk6MDYpOgp+IyEgcm49TWFoYXJldCBydD0xMTEyMTkwMTY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKTmFqYSwgd2llIHNjaG9ubWFsIGdlc2NocmllYmVuOiBJY2ggc2VoZSBqYSBlaW4sIGRhc3MgbWFuIHNvd2FzIGZ1ZXIgc2VocgpzdGFya2UgQXVzcnVlc3R1bmcgbWFjaHQgKHdpcmQgamEgZGFubiBhdWNoIGdlbWFjaHQpLiBBYmVyIHdhcnVtIHp1ciBIb2VsbGUKc29sbCBtYW4gZGFzIHN0YW5kYXJkbWFlc3NpZyBmdWVyIGplZGVlcyBTdHVlY2sgQXVzcnVlc3R1bmcgbWFjaGVuPyBXZW5uIGVpbgptYWdpZXIgd2FzIHByb2dndCwgYmVpIGRlbSBiaW5kLW9uLi4uIHNlaW4gc29sbCAoc3RhcmtlIEF1c3J1ZXN0dW5nIG9kZXIgYXVjaAphbmRlcmUgR3J1ZW5kZSksIGRhbm4gc29sbCBlciBkYXMgZnVlciBkYXMgSXRlbSBlaW5iYXVlbi4gQWJlciBkYXMgaW1tZXIgcGVyCk11ZGxpYi1BZW5kZXJ1bmcgenUgZXJ6d2luZ2VuIGZpbmRlIGljaCBuaWNodCBzaW5udm9sbC4KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBXb3JsZCBvZiBXYXJjcmFmdCAoQWxrb2hvbCwgMzAuIE1hciAyMDA1LCAxNTo0OTozNik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTIxOTA1NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpzZWggaWNoIGF1Y2ggc28KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsIDMwLiBNYXIgMjAwNSwgMTU6NTA6NDApOgp+IyEgcm49QWxrb2hvbCBydD0xMTEyMTkwNTc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKU3RhcmsgPT0gbWFnaXNjaCBpbSBGYWxsZSB2b24gV29XLiAgV2Vpc3Nlci9HcmF1ZXIgS3JhbSBpc3QgaWlyYyBuaWNodCBCb0UuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFdvcmxkIG9mIFdhcmNyYWZ0IChMdXJjaGksIDMwLiBNYXIgMjAwNSwgMTY6MDA6MzcpOgp+IyEgcm49Q3JvZnQgcnQ9MTExMjE5MDY0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCndlbm4gaWhyIGRhcyBhbGxlcyBzY2hvbiB2ZXJnbGVpY2h0LCBkYW5uIHNvbGx0ZXQgaWhyIGF1Y2ggYmVhY2h0ZW4sIGRhc3MgYmVpCmRlbiB3b2VjaGVudGxpY2hlbiB3YXJ0dW5nc3JlYm9vdHMga2VpbmUgaXRlbXMgdmVybG9yZW4gZ2Vobi4gYXVjaCB3ZW5uIGRhcyBtZwpzZWl0IGxhbmdlbSBzZWhyIHN0YWJpbCBsYWV1ZnQsIGlzdCBkaWVzZXIgYXNwZWt0IG5pY2h0IHp1IHZlcm5hY2hsYWVzc2lnZW4uCmVpbiB3ZWl0ZXJlciBncnVuZCBmdWVyIEJvUCAodW5kIGluIGJlZ3Jlbnp0ZW0gbWFzc2UgYXVjaCBCb0UpIHNpbmQgc2ljaGVybGljaApkaWUgdG9sbGVuIGxldXRlLCBkaWUgaXRlbXMgYmVpIGViYXkgdmVyc3RlaWdlcm4gd29sbGVuLiBoYXQgc2Nob25tYWwgamVtYW5kCnZlcnN1Y2h0IG1nLWl0ZW1zIGRvcnQgenUgdmVydHJhZGVuPyA6KQogCmx1cmNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IFdvcmxkIG9mIFdhcmNyYWZ0IChHbG9pbnNvbiwgMzAuIE1hciAyMDA1LCAxNjowMjowNyk6Cn4jISBybj1MdXJjaGkgcnQ9MTExMjE5MTIzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkRpZSBBR0IgZXJsYXViZW4gVHJhZGVuIHZvbiBJdGVtcz8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogV29ybGQgb2YgV2FyY3JhZnQgKEx1cmNoaSwgMzAuIE1hciAyMDA1LCAxNjowMzoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTEyMTkxMzI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKbm9lLCBhYmVyIGRhcyBpbnRlcmVzc2llcnQgZG9jaCBuaWNodCwgd2VubnMgdW0gZ2VsZCBnZWh0Li4uCndlbGNvbWUgdG8gdGhlIHJlYWwgd29ybGQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMTY6MDQ6MzcpOgp+IyEgcm49THVyY2hpIHJ0PTExMTIxOTE0MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpPaCwgZGFzIGludGVyZXNzaWVydCBzY2hvbi4gSWNoIG1laW5lIG1pY2ggenUgZXJpbm5lcm4sIGRhc3MgRmlybWVuIGluIGRlcmVuCkFHQiBkYXMgVmVya2F1ZmVuIHZlcmJvdGVuIGlzdCBkdXJjaGF1cyBhdWNoIGJlaSBFYmF5IG5hY2hzY2hhdWVuIHVuZCBnZ2YuCmdlcmljaHRsaWNoIHZvcmdoZW4uCklzdCBqYSBuaWNodCBzbywgZGFzcyBFYmF5IGVpbiBnZWhlaW1lciBPcnQgaXN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI2OiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsIDMwLiBNYXIgMjAwNSwgMTY6MTA6NDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMjE5MTQ3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkJsaXp6YXJkIHNwZXJydCBhYiB1bmQgenUgbWFsIGVpbiBwYWFyIGh1bmRlcnQgQWNjb3VudHMgZGVzd2VnZW4uICBBYmVyCmdlbWFjaHQgd2lyZCBlcyB0cm90emRlbS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogV29ybGQgb2YgV2FyY3JhZnQgKEx1cmNoaSwgMzAuIE1hciAyMDA1LCAxNjoxMzo1Nik6Cn4jISBybj1Dcm9mdCBydD0xMTEyMTkxODQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKc3VjaCBpbiBlYmF5IGRvY2ggZWluZmFjaCBtYWwgbmFjaCAnd2FyY3JhZnQgbW9uZXknIGRhcyBzb2xsdGUgYXVzIGJld2VpcwphdXNyZWljaGVuIDopCmJsaXp6YXJkIGhhbHQgYmVpIGRpYWJsbyBzY2hvZW4gc2VoZW4ga29lbm5lbiwgd2llIGVpbiBmbG9yaWVyZW5kZXIKZWJheS1oYW5kZWwgYXVzc2llaHQuCmljaCBkZW5rIHNjaG9uLCBkYXNzIHNpZSBzaWNoIGVpbmlnZSBnZWRhbmtlbiBnZW1hY2h0IGhhYmVuLCB3aWUgbWFuIGRhcwplaW5zY2hyYWVua2VuIGthbm4uIGF1Y2ggZGllIHZlcnRlaWx1bmcgYXVmIHZlcnNjaGllZGVuZSBzZXJ2ZXIgaXN0IHNpY2hlcmxpY2gKZWluIGhpbmRlcm5pcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBXb3JsZCBvZiBXYXJjcmFmdCAoTXVhZGliLCAzMC4gTWFyIDIwMDUsIDE2OjM5OjEzKToKfiMhIHJuPUx1cmNoaSBydD0xMTEyMTkyMDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKYWxzbyBpY2ggd2Vpc3MgbmljaHQgd2llIGluIFdvVyBkYXMgYXVzc2llaHQsIGFiZXIgd2VubiBiZWkgZDIgamVtYW5kIHdhcwp2ZXJ0aWNrZW4gd2lsbCBhdWYgZWJheSwgZGFubiBnaWJ0IGVyIHNlaW5lbiBhY2MgbnVyIGRlbSBrYWV1ZmVyIGJla2FubnQgdW5kCmRhbWl0IGhhdCBibGl6emFyZCBlcyBzY2h3ZXIgZGVuIGFjYyB6dSBlcmtlbm5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMTY6Mzk6NDUpOgp+IyEgcm49TXVhZGliIHJ0PTExMTIxOTM1NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpFcyBzZWkgQmxpenphcmQgaXN0IGRlciBLYWV1ZmVyIDspIFVwcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45MjYxODogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoVHVyYm8sIDMwLiBNYXIgMjAwNSwgMTk6MDg6MDYpOgp+IyEgcm49Tm9ubmUgcnQ9MTExMjE4MTYyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKSWNoIGZpbmRlIGVzIGVpbmUgdG9sbGUgSWRlZSwgZGllIFNwaWVsZXIsIGRpZSBnZXJuIGFsbGVpbiBrYWVtcGZlbgpiencuIGdlcm4gaGVyYXVzZmluZGVuLCB3aWUgd2VpdCBzaWUgYWxsZWluIGthZW1wZmVuIGtvZW5uZW4sIG9kZXIgZGllCnp1IHVudWVibGljaGVuIFplaXRlbiBpbSBNdWQgc2luZCwgb2RlciBkaWUgc2Nod2FlY2hlcmVuIEdpbGRlbiBhbmdlaG9lcmVuCnVuZCBvaG5lIFRhbmtlbiBuaWNodCB3ZWl0IGtvbW1lbiwgYXVjaCBub2NoIHp1IHZlcmdyYXVsZW4uCkRhcyBNRyBpc3QgamEgaW4gbGV0enRlciBaZWl0IHNvIHVlYmVybGF1ZmVuIHVuZCBicmF1Y2h0IGRpZSBuaWNodC4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjE5OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChHbG9pbnNvbiwgMzAuIE1hciAyMDA1LCAxOToxMjowMyk6Cn4jISBybj1UdXJibyBydD0xMTEyMjAyNDg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MjMyODI3OApFcyBnYWIgc2Nob24gaW1tZXIgTW9uc3RlciBkaWUgcHJpbnppcGllbGwgZGFyYXVmIGF1c2dlbGVndCB3YXJlbiBhbGxlaW4gbmljaHQKZ2VzY2hhZmZ0IHp1IHdlcmRlbi4gT2Z0bWFscyBzaW5kIGRpZSBuYWNoIFBhcmEgYXVzZ2V3YW5kZXJ0LCB3ZWlsIHNpZSBkYXMKZHVyY2ggZWluICJLaWxsIGRlbiBTcGllbGVyIiB6dSBlcnJlaWNoZW4gdmVyc3VjaHQgaGFiZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTI2MjA6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKFR1cmJvLCAzMC4gTWFyIDIwMDUsIDE5OjE3OjE3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTIyMDI3MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgyMzI4Mjc4CkVzIGlzdCB2b2VsbGlnIG9rLCBkYXNzIG1hbiB2aWVsZSBNb25zdGVyIG5pY2h0IGFsbGVpbiBzY2hhZmZ0IChkZXIgREcgaXN0Cm5pY2h0IGluIFBhcmEpLiBFcyBpc3QgYXVjaCBvaywgZGFzcyBtYW4gZGllIHNlbGJzdCBhbHMgZ3V0ZXMgVGVhbSBuaWNodAppbW1lciBtaXQgc3RlaGVuIHNjaGFmZnQuCkVzIGlzdCBhdWNoIG9rLCBpbSBSYWhtZW4gZWluZXIgdmVybnVlbmZ0aWdlbiBCYWxhbmNlIHNjaG5lbGxlciBoZWlsZW5kZQpNb25zdGVyIHp1IGhhYmVuLCBnZWdlbiBkaWUgbnVyIG9wdGltYWwgZ2VwbGFudGVyIE1heGltYWxzY2hhZGVuIGVpbmVzCmd1dCBlaW5nZXNwaWVsdGVuIFRlYW1zIGhpbGZ0LgoKTmljaHQgb2sgaXN0LCBzb2xjaGUgS29uemVwdGUgZGVtIGdhbnplbiBNdWQgdWViZXJ6dXN0dWVscGVuLiAKV2VyIFdvVyB3aWxsLCBnZWh0IGRhaGluLiBXZXIgZWluIE11ZCB3aWxsLCBibGVpYnQgZG9ydC4gSWRlZW4gdW5kCkFucmVndW5nZW4gc2luZCBuYXR1ZXJsaWNoIGltbWVyIGVpbmUgZ3V0ZSBJZGVlLiBBYmVyICJSZXZvbHV0aW9uZW4iIGRlcgpBcnQgIk1hbiBzb2xsIG5pY2h0cyBtZWhyIHRvdHRhbmtlbiBrb2VubmVuIiBzaW5kIGtlaW5lIGd1dGUgSWRlZS4KClR1cmJvIChLYXRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjIxOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChDaGFnYWxsLCAzMC4gTWFyIDIwMDUsIDE5OjI3OjUxKToKfiMhIHJuPVR1cmJvIHJ0PTExMTIyMDMwMzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgyMzI4Mjc4CkljaCBoYWIgZGVuIFRocmVhZCBudXIgdWViZXJmbG9nZW4sIGFiZXIgaGF0IGlyZ2VuZHdlciBnZXNhZ3QsCmRhc3MgbWFuIGVpbmlnZSBLb256ZXB0ZSB2b24gZGVyIFNldWNoZSBXb1cgYXVmIEJpZWdlbiB1bmQKQnJlY2hlbiBoaWVyIGltIE11ZCB1bXNldHplbiB6dSBnZWRlbmt0PwoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMTk6MzQ6NDUpOgp+IyEgcm49TXVhZGliIHJ0PTExMTIxOTM1NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpNaXIgZmFlbGx0IGVoZXIgYXVmLCBkYXNzIFR1cmJvIGVzIGdlc2NoYWZmdCBoYXQgZWluIHBhYXIgQXJ0aWtlbCByZWdlbHdpZHJpZwp6dSBleHBvcnRpZXJlbi4gU2NobGluZ2VsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdvcmxkIG9mIFdhcmNyYWZ0IChBcmssIDMwLiBNYXIgMjAwNSwgMjE6NTc6MDEpOgp+IyEgcm49T2dvIHJ0PTExMTIxNDg1MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpEYSBpY2gga2VpbmVuIFBsYW4gaGFiZSwgd2FzIGRhcyBnZW5hdSBzZWluIHNvbGwsIGJpbiBpY2ggbmljaHQgc2ljaGVyLCBvYgpkaWVzZSB0ZWNobmlzY2hlbiBUZXJtaW5pIGhpZXIgdm9sbCBtZWhyIFNwaWVsZXIgYW5sb2NrZW4gc29sbGVuIDopCkF1cyBVbndpc3NlbjogZmluZGVuIHNpY2ggZG9ydCBlaGVyIGRpZSBNZXR6bGVyIHdpZWRlciBvZGVyIGRpZSwgZGllCkF0bW9zcGhhZXJlLCBTdG9yeSB1bmQgZ2VwZmxlZ3RlIENoYXJha3RlcmUgdG9sbCBmaW5kZW4/IEljaCBlcmFobmUgbWFsCmVyc3RlcmVzLCBvZGVyPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdvcmxkIG9mIFdhcmNyYWZ0IChBcmssIDMwLiBNYXIgMjAwNSwgMjI6MDM6MTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTExMjE3MTc0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyClNvbGFuZ2UgZGVyIEdlZ2Vuc3RhbmQgZGFzIG5pY2h0IGJlZ3J1ZW5kZW4ga2FubiAoZHVyY2ggTG9naWssIG5pY2h0IGR1cmNoClJlZ2VsbiksIHdhZXJlIGljaCBnZWdlbiBlaW5lIGRlcmFydGlnZSBSZWdlbHVuZy4gSWNoIGJpbiBlaGVyIGVpbiBGYW4gdm9uCiJBa3plcHRpZXJlbiB2b24gUmVnZWxuIGR1cmNoIFZlcnN0ZWhlbiIsIHVuZCBkYXMga2xhcHB0IHdvaGwgZHVyY2ggZWluIG9iaWdlcwpLb256ZXB0IG51ciBiZWRpbmd0LiBLbGFyLCBtYW4gdW50ZXJiaW5kZXQgbW9lZ2xpY2hlIEtvbmZsaWt0ZSB2b3JkZXJncnVlbmRpZywKYWJlciBpbWhvIGdlaHQgc28gd2llZGVyIHZpZWwgdm9tIFNwaWVsIGF1ZiBLb3N0ZW4gdm9uIGt1ZW5zdGxpY2ggd2lya2VuZGVuClJlZ2VsbiB2ZXJsb3Jlbi4KRGFzIEdhbnplIGJlc3RhZXRpZ3QgbWljaCBpbiBtZWluZW0gVmVyZGFjaHQsIGRhc3MgZGFzIFNwaWVsIHZvciBhbGxlbSBkaWUKRGlhYmxvIGFydGlnZSBNZXR6ZWxrdW5kc2NoYWZ0IGJlZGllbnQsIHRvbGxlIEdyYXBoaWsgZXRjLiBhYmVyIGFsbGVzIG9yZG5ldApzaWNoIGVpbmVtIHBlcmZla3Rpb25pZXJ0ZW0gR2lsZGVuLS9LYW1wZnN5c3RlbSB1bnRlci4gT2RlciBnaWJ0IGVzIGRhIGVpbmVuCnJvdGVuIEZhZGVuIHdpZSBpbiBkZW4gU3RhbmRhbG9uZSBTcGllbGVuLCBiZWkgZGVyIG1hbiBlaW5lIGdyb3NzZSBNaXNzaW9uCnZlcmZvbGd0PwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdvcmxkIG9mIFdhcmNyYWZ0IChUdXJibywgMzAuIE1hciAyMDA1LCAyMjoxMjowMik6Cn4jISBybj1BcmsgcnQ9MTExMjIxMjYyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCndpcmtsaWNoIGd1dGUgRnJhZ2UuIEljaCBmcmFnZSBtaWNoIGRhcyBhdWNoLiBPaywgV29XIGhhdCBlaW4gcGFhciAKTWlsbGlvbmVuIFNwaWVsZXIsIE1HIGJlc3RlbmZhbGxzIGVpbiBwYWFyIHppZyBvZGVyIGVpbiBwYWFyIGh1bmRlcnQuCgpBbmRlcmVyc2VpdHM6IFZvbmVpbmFuZGVyIExlcm5lbiBpc3QgaW1tZXIgc2lubnZvbGwgdW5kIG9mdCBndXQuCkFiZXI6IE1HIHdpcmQgbmllIERpYWJsbyBvZGVyIFdvVyBzZWluLCBkb2NoIHdlbm4gbWFuIGVzIHBmbGVndCwgbm9jaApleGlzdGllcmVuLCB3ZW5uIG5pZW1hbmQgbWVociB3ZWlzcywgd2FzcyBEaWFibG8gb2RlciBXb1cgd2FyLgoKV2FzIG1pY2ggZXR3YXMgdmVyc3RvZXJ0LCBuaWNodCBudXIgaW4gQmV6dWcgYXVmIE1HLCBpc3QsIGRhc3MgZGFzIApJbnRlcmVzc2UgYW4gTXVkcyBhYm5pbW10LCBvYndvaGwgc2ljaCBkaWUgWmFobCBkZXIgTmV0enRlaWxuZWhtZXIgCnZlcnZpZWxmYWNodCBoYXQuIERhIG1hY2hlbiB3aXIgZXR3YXMgZmFsc2NoLgoKVGV4dGJhc2llcnRlIE11bHRpdXNlcnVtZ2VidW5nZW4gc2luZCBpbW1lciBldHdhcyBhbmRlcmVzIGFscyBtYXNzaXYgCm11bHRpdXNlcm9yaWVudGllcnRlIGdyYXBoaXNjaGUgVW1nZWJ1bmdlbiwgZGllIG9obmVoaW4gZmFzdCBudXIgCmtvbW1lcnppZWxsIHJlYWxpc2llcmJhciBzaW5kLgoKQWJlciB0ZXh0YmFzaWVydGUgTXVkcyBoYWJlbiBNb2VnbGljaGtlaXRlbiAodW5kIGhhYmVuIGRpZSBzY2hvbiByZWFsaXNpZXJ0KSwKYW4gZGllIHNvbGNoZSBTcGllbGUgbmllIGhlcmFua29tbWVuIHdlcmRlbiAodW5kIHNlaSBlcyBkaWUgTW9lZ2xpY2hrZWl0LApzZWluZW4gTWFnaWVyIGFuenVtZWNrZXJuLCB3YXMgZnVlciBlaW5lbiBTY2hlaXNzIGVyIGdlcHJvZ2d0IGhhdCA6KSApCkthbm4gZXMgc2VpbiwgZGFzcyBzaWNoIGRpZSBzY2h3aW5kZW5kZSBNdWQtQ29tbXVuaXR5IGltbWVyIHdlaXRlciAKZWluYnVua2VydD8gTWlyIHNjaGVpbnQgZXMgZWluIHdlbmlnIHNvLiBTZWxic3QgaW0gVXNlbmV0IGxhZXNzdApzaWNoIGthdW0gZWluZXIgc2VoZW4gb2RlciBsZXNlbi4gQmlzIGluIFByYWVzZW50YXRpb25lbiBwb3B1bGFlcmVyCk11ZHMgZXR3YSBpbiBUZWxlcG9saXMgcmVpY2h0IGVzIHNjaG9uIGdhciBuaWNodC4gV2VubiBkaWUgQ29tbXVuaXR5CmRhbm4gYW5nZXNpY2h0cyBkZXMgbWFzc2l2IGJld29yYmVuZW4gVWViZXJhbmdlYm90cyBhbiBBbHRlcm5hdGl2ZW4KdmVyZ3JlaXN0IChzbyBhbHRlIEtuYWNrZXIgd2llIGljaCkgdW5kIGF1c3Ryb2NrbmV0LCBzb2xsdGUgZGFzIG5pY2h0CnZlcnd1bmRlcm4uCgpteSAwLjAyCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMjI6MTQ6MDEpOgp+IyEgcm49VHVyYm8gcnQ9MTExMjIxMzUyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCj4gU2VsYnN0IGltIFVzZW5ldCBsYWVzc3Qgc2ljaCBrYXVtIGVpbmVyIHNlaGVuIG9kZXIgbGVzZW4uCgpLb2VubnRlIGRhcyBkYXJhbiBsaWVnZW4sIGRhc3MgaW0gVXNlbmV0IFJlYWxuYW1lbiBrbGFyIGRlciBWb3J6dWcgZ2VnZWJlbgp3aXJkPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjE3OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChLZWxseWJ1bmR5LCAzMC4gTWFyIDIwMDUsIDIyOjE0OjEzKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExMjE4MTQxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKT2VoIGJpbmQtb24tcGlja3VwIGdpYmJldCBkb2NoIHNjaG9uPyE/IGJlaSB1bnMgaGVpc3N0IGRhcyBhdXRvbG9hZCwgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjE4OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChHbG9pbnNvbiwgMzAuIE1hciAyMDA1LCAyMjoxNTo1Myk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMTIyMTM2NTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgyMzI4Mjc4Ck5vcGUuIEVpbiB3ZW5pZyBzcGFldGVyIHdpcmQgYXVzZ2VmdWVocnQsIGRhc3MgYWxsZSBJdGVtcyBBdXRvbG9hZCBzaW4uCktvZW5udGUgbWFuIGhpZXIgbGFuZ3NhbSBhdWNoIGlucyBBdWdlIGZhc3Nlbiwgc29sY2hlIEtvbnplcHRlIHNpbmQgaW4gUkIvQkwKZ2V0ZXN0ZXQuIFdhZXJlIGF1Y2ggZWluIEdlZ2VuYXJndW1lbnQgZnVlciBkYXMgWnVsYXNzdW5nc2FyZ3VtZW50ICJhYmVyIGJlaW0KUmVib290IHZlcmxpZXJ0IG1hbiBkYXMgdW5kIGVzIGlzdCBzb29vbyBzY2h3ZXIgenUgYmVrb21tZW4iLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjE4OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChLZWxseWJ1bmR5LCAzMC4gTWFyIDIwMDUsIDIyOjE5OjUxKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTExMjIxMzY1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKRGFuayBhbiBHbG9pbnNvbiBmdWVyIGRpZSBCZXJpY2h0aWd1bmcuIGljaCBtZWludGUgbGF0dWVybmljaCBzdGVyYmVmZXN0ZQpHZWdlbnN0YWVuZGUgKFBfTkVWRVJEUk9QKSA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXb3JsZCBvZiBXYXJjcmFmdCAoVHVyYm8sIDMwLiBNYXIgMjAwNSwgMjI6MTk6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMjIxMzY0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkljaCBnbGF1YmUgZWhlciBuaWNodC4gRXMgZ2lidCBlaW5pZ2UsIGRpZSBzaWNoIHNjaG9uIGFscyBha3RpdmUgU3BpZWxlcgppbSBVc2VuZXQgZ2VvdXRldCBoYWJlbiAob2RlciBha3RpdmUgUHJvZ2dlcikuIEljaCBoYWJlIGVoZXIgZGVuIEVpbmRydWNrLApkYXNzIGRhIGVpbmUgZWluZ2VmcmVzc2VuZSBPZWZmZW50bGljaGtlaXRzc2NoZXUgZGVyIE11ZGRlciB2b3JsaWVndC4gCkluIGRlbiBIZWlzZWZvcmVuIGtvZW5udGVuIHNpZSBqYSBhdWNoIHBzZXVkb255bSB0cm9tbWVsbiwgd2VubiBlcyBkYXMKd2FlcmUuCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzAuIE1hciAyMDA1LCAyMjoyNDoyNSk6Cn4jISBybj1MdXJjaGkgcnQ9MTExMjE5MTIzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyClNvd2FzIG1hY2h0IG1pY2ggZWhybGljaCBnZXNhZ3QgbmFjaGRlbmtsaWNoLiBVbmQgbm9jaCBtZWhyIG5hY2hkZW5rbGljaCBtYWNodAptaWNoIGRpZSBUYXRzYWNoZSAoPyksIGRhc3MgZXMgb2ZmZW5iYXIgTGV1dGUgZ2lidCwgZGllIHNvd2FzIGVyc3RlaWdlcm4uIEhpZXIKaXN0ICJmb3IgZnJlZSIuIE11c3MgbmljaHQgYmVzc2VyIHNlaW4uIEFiZXIgbmljaHQgYWxsZXMsIHdhcyBrb3N0ZXQsIG1hY2h0CmRhbm4gYXVjaCB3aXJrbGljaCBnbHVlY2tsaWNoIDopCkVyaW5uZXJ0IG1pY2ggYW4gTWFnaWMgS2FydGVuLCBpcmdlbmR3YW5uIHdhY2hzdCBEdSBhdWYgdW5kIHNhZ3N0IERpciwgaGV5LAp3YXJ1bSBtdXNzIGljaCBmdWVyIGRhcyBhbHRlIFNwaWVsIGVpZ2VudGxpY2ggaW1tZXIgbm9jaHdhcyBhYmRydWVja2VuLCBudXIgdW0KY29vbGVyIGFuZGVyZSBhYnpvY2tlbiB6dSBrb2VubmVuLiBEYXMgU3BpZWwgc2VsYnN0IHJlaWNodCBtaXIgOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogV29ybGQgb2YgV2FyY3JhZnQgKEdsb2luc29uLCAzMC4gTWFyIDIwMDUsIDIyOjI3OjU5KToKfiMhIHJuPUFyayBydD0xMTEyMjE0MjY1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKRGllIExldXRlIGRpZSBkYXMgZXJzdGVpZ2VybiB3b2xsZW4gc2ljaCBlaW5lbiBUZWlsIGRlciB2b24gZGVuIFNwaWVsZW1hY2hlcm4KZ2VwbGFudGVuIEFyYmVpdCBlaW5zcGFyZW4gdW5kIGdsZWljaCBTcGFzcyBoYWJlbi4gSXN0IG5pY2h0IGFuZGVycyBhbHMKU2NyaXB0ZXIgaGllciwgbnVyIGRhc3MgU2NyaXB0ZSBlYmVuIHVudGVyIGRlciBIYW5kIG9kZXIgZ2VnZW4gR2VmYWVsbGlna2VpdGVuCndlZ2dlaGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjIwOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChBcmssIDMwLiBNYXIgMjAwNSwgMjI6MzA6NTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMjIwMjcyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKUmljaHRpZywgbnVyIHNjaGVpbnQgbWlyLCBkYXNzIFdvVyBkYSBub2NoIGVpbmVuIFNjaHJpdHQgd2VpdGVyZ2VodCB1bmQgcXVhc2kKZmVzdGxlZ3QsIHdlbGNoZSBHcnVwcGVuIHdlbGNoZSBNb25zdGVyIHVtbGVndCwgYnp3LiBlaW5lbiAoaW1obyAiZG9vZmVuIikKTWVjaGFuaXNtdXMgZWluZnVlaHJ0LCBNb25zdGVyc2Nod2llcmlna2VpdCBzcGllbGVybGV2ZWxhYmhhZW5naWcgenUgbWFjaGVuLgpHdXQsIHdpciBoYWJlbiBuaWNodCBkaWVzZW4gWnVsYXVmIHdpZSBlaW4ga29tbWVyemllbGxlcyBHcmFwaGlrc3BpZWwsIGFsc28Ka2FubiBtZWluc2hhbGJlbiBzaWNoIGVpbiBUZWFtIGF1cyBLYWVtcGZlcjE1LCBUYW5qaWFuNzAgdW5kIEFiZW50ZXVyZXIxIHNpY2gKZWluZW4gS2lsbCBlcmFyYmVpdGVuLCB3ZW5uIGVzIHdpbGwuIERlciBLbGVpbnN0ZSBpbSBUZWFtIHRyYWVndCB0cm90emRlbSBkYXMKZ3JvZXNzdGUgUmlzaWtvLgpEaWUgQW5nc3Qgdm9yIGRlbiB1bmdsZWljaGVuIEdydXBwZW4gZm9lcmRlcnQgZG9jaCB3aWVkZXIgZWluZQpHcnVlcHBjaGVuYmlsZHVuZyBnbGVpY2hsZXZlbGlnZXIgU3BpZWxlciB1bmQgaXN0IGRhbWl0IGVpbiBIaW5kZXJuaXMgaW0gU2lubmUKZGVzICJNIiBpbiBNdWQuIFdhcnVtIHNvbGx0ZSBlcyBtaXIgZXJzY2h3ZXJ0IHdlcmRlbiwgYWxzIExldmVsMzAgU3BpZWxlcgplaW5lbSBOZXVsaW5nIHByYWt0aXNjaCBkYXMgU3BpZWwgbmFlaGVyenVicmluZ2VuPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjIxOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChBcmssIDMwLiBNYXIgMjAwNSwgMjI6MzY6NDYpOgp+IyEgcm49VHVyYm8gcnQ9MTExMjIwMzAzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKVmllbGxlaWNodCBlcmlubmVybiB3aXIgdW5zIG5vY2ggZGFyYW4sIGRhc3MgZGFzIE1HIG5vY2ggZGVuIEFuc3BydWNoIGhhdCwKYXVjaCBOaWNodG1ldHpsZXIgYW56dXppZWhlbi4gV2lyIHZlcmdsZWljaGVuIGpldHp0IGFiZXIgbnVyIGVpbmlnZSAod2ljaHRpZ2UsCmFiZXIgbmljaHQgZGllIGVpbnppZ2VuKSBBc3Bla3RlIHVuc2VyZXMgTXVkcyBtaXQgZWluZW0ga29tbWVyemllbGxlbiBTcGllbC4KSmV0enQgZ2lidCBlcyBXb1cgZWluIHBhYXIgTW9uYXRlLCB1bmQgYWxsZSBwcm9iaWVyZW4gZXMgYXVzLiBJY2ggc2NoYXUgZGFzCm1hbCBhbiwgd2llIGxhbmdlIGVzIGFiZ2V3YW5kZXJ0ZSBTcGllbGVyIGRvcnQgaGFlbHQuIEtsYXIsIGVzIHdpcmQgZG9ydCBhdWNoCk5ldWVydW5nZW4sIEVyd2VpdGVydW5nZW4gdW5kIEFlbmRlcnVuZ2VuIGdlYmVuLiBBYmVyIHNlaWVuIHdpciBtYWwgZWhybGljaCwKTGFuZ3plaXRlcmZhaHJ1bmdlbiB3aWUgaW0gKG5pY2h0IGdlb3JkbmV0IGdld2FjaHNlbmVuKSBNRyBnaWJ0IGVzIGRhbWl0IG5vY2gKbmljaHQuIEFsc28gc2luZCBlaW5pZ2UgYXVmIGRlbiBlcnN0ZW4gQmxpY2sgdG9sbCBlcnNjaGVpbmVuZGUgTmV1ZXJ1bmdlbgplcnN0bWFsIG1pdCBWb3JzaWNodCB6dSBnZW5pZXNzZW4gKGZpbmRlIGljaCkuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzAuIE1hciAyMDA1LCAyMjo0MzoxMik6Cn4jISBybj1UdXJibyBydD0xMTEyMjEzNTIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKTmFqYSwgd2lyIGxlYmVuIGltIFplaXRhbHRlciBkZXIgc2NobmVsbGVuIFByb3plc3NvcmVuLCBnZXJlbmRlcnRlbiBHcmFwaGlrCnVuZCBiaWxsaWdlbiBBZGFwdGVyLiBBdXNzZXJkZW0gc2luZCB3aXIgbGVzZWZhdWwgZ2V3b3JkZW4gdW5kIHJlemVwdGl2IG51cgpub2NoIGZ1ZXIgcHJhbGxlLCBiZXdlZ3RlIEJpbGRlci4gRGFzIGVybGVkaWd0IGRpZSBBdWZnYWJlIGRlcyBHZWRhZWNodG5pcywKc2ljaCBhdXMgZGVtIFdvcnQgIldlZ2hpZXIiIHNpY2ggZWluIGZ1cmNodGJhcmVzIE1vbnN0ZXIgdm9yenVzdGVsbGVuLCBzb25kZXJuCnN0aW11bGllcnQgbnVyIG5vY2ggdW5zZXJlIG9wdGlzY2hlbiBTZW5zb3JlbiwgZGllIGhhcnRlIEZha3RlbiBhbiBHZWhpcm4KbGllZmVybi4gRGVyIE9yayB2b3IgdW5zIGhhdCBlaW4gdm9yZ2VmZXJ0aWd0ZXMgR2VzaWNodCwgMTIzNDUzIGZlc3RnZWxlZ3RlCihhdXNyZWNoZW5iYXJlKSBUcmVmZmVycHVua3RlIHVuZCBlaW4gU2Nod2VydCBwbHVzIDIzIGdlZ2VuIFp3ZXJnZSB3aWUgRGljaC4KU2VpbmUgR2VzY2hpY2h0ZSBpc3QgbWlyIGVnYWwsIHNvbGFuZ2UgZXIgaW5uZXJoYWxiIGVpbmVyIGhhbGJlbiBNaW51dGUKYmx1dGVuZCB1bnRlciBtZWluZW0gU2Nod2VydCBwbHVzIDI5IGdlZ2VuIHNhYmJlcm5kZSBPcmtzIGxpZWd0LiBGYWxscyBkYXMKbmljaHQgZ2VodCwgbXVzcyBkYXMgZWluIEJ1ZyBzZWluIHVuZCB3aXJkIG1pdCBkZW0gbmFlY2hzdGVuIFBhdGNoIDIuMzQKYmVob2Jlbi4gT2RlciBEdSBiaXN0IGVpbmZhY2ggZG9vZiB1bmQgbXVzc3Qgc3RlcmJlbi4KSGV5LCBkYSBrb2VubmVuIHdpciBlY2h0IG5pY2h0IG1pdGhhbHRlbiA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXb3JsZCBvZiBXYXJjcmFmdCAoQXJrLCAzMC4gTWFyIDIwMDUsIDIyOjQ4OjU0KToKfiMhIHJuPUFyayBydD0xMTEyMjE1MzkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKQWVoLCBTZWxic3RyZXBseSA6LSkgQmVpbSBEdXJjaGxlc2VuIGlzdCBtaXIgYXVmZ2VmYWxsZW4sIGRhc3MgZGFzIHp5bmlzY2gKa2xpbmd0LiBTb2xsdGUgbmljaHQuIFdhcyB3aWxsIGljaCBkYW1pdCBzYWdlbj8gSHVycmEsIGluIG1laW5lbSBMZWJlbiBpc3QKZ2VyYWRlIFBsYXR6IGZ1ZXIgZWluIE1VRC9TcGllbC9CZXNjaGFlZnRpZ3VuZy4gVW5kIGRhcyBpc3QgZGFzIE1HLiBDaWFvIFdvVwo6LSkKVm9sbCBkYXMgT3V0aW5nIGpldHp0LCBvZGVyPyA7KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjkyNjIyOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChUdXJibywgMzAuIE1hciAyMDA1LCAyMjo1Nzo1OCk6Cn4jISBybj1BcmsgcnQ9MTExMjIxNTAwNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKSmEuIERlbSB3b2xsdGUgaWNoIG5pY2h0IHdpZGVyc3ByZWNoZW4uCgpUdXJibyAoS2F0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXb3JsZCBvZiBXYXJjcmFmdCAoQ3JvZnQsIDMwLiBNYXIgMjAwNSwgMjM6MDk6NDApOgp+IyEgcm49VHVyYm8gcnQ9MTExMjIxMzUyMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCjEuNSBNaWxsaW9uZW4uICBXZWx0d2VpdC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzAuIE1hciAyMDA1LCAyMzoxNDo0Myk6Cn4jISBybj1Dcm9mdCBydD0xMTEyMjE2OTgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKU3VwZXIuIEFsc28sIHdlbm4gZGEgbWFsIG5lIFBhcnR5IHN0ZWlndCwgd2FlciBpY2ggYXVjaCBhbHMgTmljaHRzcGllbGVyCmRhYmVpLiBTYW4gRGllZ28/IEhhd2FpaT8gSm9oYW5uaXNidXJnPyBQYXJpcz8gS2VubmUgendhciB3ZW5pZ2UsIGFiZXIgZGFzCmdlaHQgc2ljaGVyIHZpZWxlbiBlYmVuc28gOykKU3Bhc3MgYmVpc2VpdGUsIGRhcyBpc3QgYXVjaCBpcmdlbmR3aWUgZWluIE5hY2h0ZWlsLCBvZGVyPyBBbHMgRWluemVsc3BpZWxlcgp2ZXJsaWVydCBtYW4gc2ljaCBkYSBzY2huZWxsLCB3ZW5uIG1hbiBrZWluZSByZWdlbG1hZXNzaWcgc3BpZWxlbmRlIEdydXBwZQpoYXQuIEltIFByaW56aXAga2FubiBlcyBoaWVyIGVpbmVtIGF1Y2ggZ2VoZW4sIGFiZXIgaWNoIGJlaGF1cHRlIG1hbCBmcmVjaCwKZGFzcyBlaW5lbSB2aWVsZSBOYW1lbiB2b24gU3BpZWxlcm4gZ2VsYWV1ZmlnZXIgd2VyZGVuIGFscyBkaWUgdmllbGVuLCBkaWUgaW4KZGllc2VtIFNwaWVsIHJ1bXNjaHdpcnJlbi4gS2xhciwga2FubiBtaXIgYXVjaCBlZ2FsIHNlaW4sIGlzdCBlcyBtaXIKKHBlcnNvZW5saWNoKSBhYmVyIGhhbHQgbmljaHQuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdvcmxkIG9mIFdhcmNyYWZ0IChUdXJibywgMzAuIE1hciAyMDA1LCAyMzoxNToyMyk6Cn4jISBybj1BcmsgcnQ9MTExMjIxNTczNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCj5IdXJyYSwgaW4gbWVpbmVtIExlYmVuIGlzdCBnZXJhZGUgUGxhdHogZnVlciBlaW4gTVVEL1NwaWVsL0Jlc2NoYWVmdGlndW5nLgo+VW5kIGRhcyBpc3QgZGFzIE1HLiBDaWFvIFdvVwo+Oi0pIFZvbGwgZGFzIE91dGluZyBqZXR6dCwgb2Rlcj8gOykKCk51bmphLiBHZWh0IG1pciBhdWNoIHNvLiBJc3QgYWJlciBuaWNodCBkYXMgUHJvYmxlbS4gOTUlIGRlciBXb1ctS2xvcHBlciAKc2luZCBkaWUgQmlsZGxlc2VyIHVuZCBkZXJnbGVpY2hlbiwgZGllIDE5OTUgQ29tcHV0ZXIgbm9jaCBuaWNodCAKYnVjaHN0YWJpZXJlbiBrb25udGVuIChvayBrb2VubmVuIHNpZSBpbW1lciBub2NoIG5pY2h0IGFiZXIgc2llCmhhYmVuIGpldHp0IGVpbmVuICp2ZWcqKS4KQWJlcjogMTk5MS85MiBoYXR0ZW4gdHVibXVkL25pZ2h0ZmFsbCBldGMuIGFuZmFuZ3MgZGVzIHNlbWVzdGVycyBqZWRlc21hbAplaW5lbiBBbnN0dXJtLiBIZXV0ZSBoYWJlbiBkYXMgZGllIFRleHRtdWRzIG5pY2h0LCBvYndvaGwgZGllIFphaGwgZGVyIApJbnRlcm5ldG51dHplciBzaWNoIHZlcnBhYXJodW5kZXJ0ZmFjaHQgaGF0LiBEYXMgYnJpbmd0IG1pY2ggaW5zIEdydWViZWxuLgoKQXVjaCBoZXV0ZSBpc3QgamVkZSBBbWF0ZXVybXVkIGRlbiBNYXNzaXZkaW5nc2RpYnVtc2Rpbmdlcm4gYW4gS29tcGxleGl0YWV0LApTcGFubnVuZyB1bmQgTW9lZ2xpY2hrZWl0ZW4gdW0gR3JvZXNzZW5vcmRudW5nZW4gdWViZXJsZWdlbiwgZ2FueiBhYmdlc2VoZW4Kdm9uIGRlciBNb2VnbGljaGtlaXQsIGRlbSBQcm9ncmFtbWllcmVyIGlucyBHZXNpY2h0IHp1IGtvdHplbiwgd2FzIGZ1ZXJuClNjaGVpc3MgZXIgdmVyYnJvY2hlbiBoYXQsIHdlbm4gbWFuIG1hbCB3aWVkZXIgbmF0dWVybGljaCB0b3RhbCB6dSBVbnJlY2h0CnN0aXJidCA6KS4KCkRpZSBGcmFnZSBpc3QsIHdhcnVtIHdpciBhdXMgZGVyIHN0ZXRpZyB6dW5laG1lbmRlbiBNYXNzZSBkZXIgSW50ZXJuZXRudXR6ZXIKbmljaHQgd2VuaWdzdGVucyBkZW4gdmVyc2Nod2luZGVuZGVuIEFudGVpbCBrcmllZ2VuLCBkZXIgdW5zIHZvciBTdGFnbmF0aW9uCm9kZXIgZ2FyIEF1c3plaHJ1bmcgYmV3YWhydC4gSWNoIGZpbmRlLCBkYSBtYWNoZW4gd2lyIHdhcyBmYWxzY2guCgpWaWVsbGVpY2h0IChpY2ggZ2xhdWJlIHVuZCBob2ZmZSBkYXMpIG1hbmdlbHQgZXMgYW4gQmVrYW5udGhlaXQuIERhIHNvbGx0ZQptYW4gdmllbGxlaWNodCBldHdhcyBvZWZ0ZXIgaW4gZGUuYWx0Lm11ZCBzY2hyZWliZW4sIG1hbCBuZW4gSGVpc2UvVGVsZXBvbGlzLQpBcnRpa2VsIGxhbmNpZXJlbi92ZXJmYXNzZW4gdW5kIG1pdCBkZW4gRm9sZ2VuIChuZXJ2ZW5kZSBLaWRkaWVzL05ld2JpZXMpCmxlYmVuLiBTb25zdCBrb2VubmVuIHdpciB1bnMgZGFzIGlyZ2VuZHdhbm4gdW5kIG5pY2h0IGluIHNvIGZlcm5lcgpadWt1bmZ0IGtuaWNrZW4uCgoqbWVpbmphbnVyKgoKVHVyYm8gKEthdGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdvcmxkIG9mIFdhcmNyYWZ0IChHbG9pbnNvbiwgMzAuIE1hciAyMDA1LCAyMzoxNjoyOSk6Cn4jISBybj1BcmsgcnQ9MTExMjIxNzI4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCk5laW4sIHNvIHVudGVyc2NoaWVkbGljaCBpc3QgZGFzIG5pY2h0LiBIaWVyIGtlbm5zdCBkdSB2aWVsZSBkZW0gTmFtZW4gbmFjaAp1bmQgbGVybnN0IHNpZSBkb2NoIG5pZSBrZW5uZW4uIEVpbmlnZSB0YXVjaGVuIG5pY2h0IG1hbCB6dSBQYXJ0aWVzIG9kZXIKU3RhbW10aXNjaGVuIGF1Zi4gRG9ydCBrZW5uc3QgZHUga2F1bSBlaW5lbiwgbGVybnN0IGFiZXIgd2llIGhpZXIgZWluaWdlIHNlaHIKZ3V0IGtlbm5lbi4gSGllciB3aWUgc2ljaGVyIGF1Y2ggZG9ydCBnaWJ0IGVzIGRhcyBLb21tdW5pa2F0aW9uc2FlcXVpdmFsZW50CmRlcyBGQmFuZGVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBXb3JsZCBvZiBXYXJjcmFmdCAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMjM6MjA6MzEpOgp+IyEgcm49VHVyYm8gcnQ9MTExMjIxNzMyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkRhc3MgZGllIE1VRHMga2VpbmVuIGVub3JtZW4gTmFjaHd1Y2hzIG1laHIgdW50ZXIgU3R1ZGVudGVuIGhhYmVuIGxpZWd0IG1hc3NpdgpkYXJhbiwgZGFzcyBkaWUgc3BpZWxlbmRlbiBTdHVkZW50ZW4ga2F1bSBub2NoIFdlcmJ1bmcgbWFjaGVuLiBXZWRlciBkdXJjaApCZWlzcGllbCwgZGEgc293b2hsIFNwaWVsZXIgYWxzIGF1Y2ggcG90ZW50aWVsbGVyIE5hY2h3dWNocyBtZWlzdCB6dSBIYXVzZSBpbnMKSW50ZXJuZXQga2xvcGZlbiBub2NoIGR1cmNoIFByb2pla3RlIGFuIGRlbiBVbml2ZXJzaXRhZXRlbi4gTmF0dWVybGljaCBzaW5kCmF1Y2ggaW1tZXIgd2VuaWdlciBTdHVkZW50ZW4gTXVkZGVyLCBkYXMgc2NocmF1YnQgc2ljaCBnZWdlbnNlaXRpZyBob2NoOiBEYXMKTVVEIFJlZ2VuYm9nZW4gaGF0IGFiIGRlbSBQdW5rdCBtYXNzaXYgTmV1c3BpZWxlciBuaWNodCBtZWhyIGRhenVnZXdvbm5lbiwKbmljaHQgZWlubWFsIGhlcmVpbnNjaG51cHBlcm5kZXJ3ZWlzZSwgbmFjaGRlbSBkaWUgbGV0enRlbiB6d2VpCnN0dWRpZXJlbmRlbi9mYWNoc2NoYWZ0c2FrdGl2ZW4gU3BpZWxlci9NYWdpZXIsIGFsc28gV2VyYmVmaWd1cmVuLCBkaWUKVW5pdmVyc2l0YWV0IHZlcmxpZXNzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdvcmxkIG9mIFdhcmNyYWZ0IChDcm9mdCwgMzAuIE1hciAyMDA1LCAyMzoyMDo1Myk6Cn4jISBybj1BcmsgcnQ9MTExMjIxNzI4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCkplaW4uICAxLiBzaW5kIGRpZSBCZXJlaWNoZSBuYWNoIEJlcmVpY2ggYXVmZ2V0ZWlsdC4gIFVTLCBFdXJvcGEsIEtvcmVhLApkZW1uYWVjaHN0IENoaW5hIC4uLi4gIERlc3dlaXRlcmVuIGdpYnRzIGlubmVyaGFsYiBkaWVzZXIgQmVyZWljaGUgCm1laHJlcmUgRHV0emVuZGUgUmVhbG1zLiAgSW4gRXVyb3BhIHZlcnNjaGllZGVuc3ByYWNoaWdlIChlbmdsaXNjaCwgZGV1dHNjaAp1bmQgZnJhbnpvZXNpc2NoKS4gIEluc2dlc2FtbXQgc2luZCBkYXMgd29obCB6LkIuIDM0IGRldXRzY2hzcHJhY2hpZ2UgUmVhbG1zCmluIEV1cm9wYSAoaW5zZ2VzYW1tdCA4NyBpbiBFdXJvcGEpLiAgTWFjaHQgYXVmIGRlbSBTZXJ2ZXIgYXVmIGRlbSBzaWNoCm9iZW5nZWdlbmFubnRlIEdpbGRlIGJlZmluZGV0IGFscyBzdGFlcmtlciBiZXZvZWxrZXJ0ZW4gU2VydmVyIDEwLjAwMCBTcGllbGVyLgpWb24gZGVuZW4gYXVjaCBtb21lbnRhbiB3b2hsIG51ciBjYSAxLjAwMC0yLjAwMCBnbGVpY2h6ZWl0aWcgc3BpZWxlbgooa29lbm5lbikuCkQuaC4gZGFzIHdpcmQgc2Nob24gZGV1dGxpY2ggdWViZXJzaWNodGxpY2hlci4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzAuIE1hciAyMDA1LCAyMzoyMToxNyk6Cn4jISBybj1UdXJibyBydD0xMTEyMjE3MzIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKRWhtLCBpY2ggd3VlcmRlIGRpZSBTcGllbGVyc2NoYWZ0IG5pY2h0IGdsZWljaCBhYnF1YWxpZml6aWVyZW4gKGljaCBrZW5uZQpwZXJzb2VubGljaCBhdWNoIG51ciBlaW4gcGFhciBoaWVyIGF1cyBkZW0gTXVkLCB1bmQgZGEgbGllZ3QgZXMgbWlyIGZlcm4sIHNpZQphbHMgQmlsZGxlc2VyIGFienV0dW4pLiBBYmVyIGRpZSBqdWVuZ2VyZSBHZW5lcmF0aW9uIGxpZXN0IGhhbHQgbmljaHQKdW5iZWRpbmd0IGdlcm5lIFRleHRlLCB3ZW5uIGRhbmViZW4gZWluIGJsdXRzcHJpdHplbmRlciBPcmsgbG9ja3QuCktsYXIsIGFuIEJla2FubnRoZWl0IHdlcmRlbiB3aXIgaW1tZXIgImtsZWluIiBzZWluIGdlZ2VudWViZXIgc29sY2hlbiBTcGllbGVuLgpXaWxsIHNpZSBhdWNoIG5pY2h0IHZlcmRhbW1lbiwgdmVyc3RlaGUgZGVuIFJlaXosICBhYmVyIGRhcyBtdXNzIGplZGVyIG1pdApzaWNoIHNlbGJzdCBhdXNtYWNoZW4uIEdlbmF1c28sIHdpZSBqZWRlciBzZWxic3Qgc2ljaCBmcmFnZW4gbXVzcywgb2IgZGllCkZyYWdlIHkgZWluZXMgTmV1bGluZyB3aXJrbGljaCBzbyBkb29mL25lcnZpZy9hdXNzZXJnZXdvZWhubGljaCBpc3QsIGRhc3MgbWFuCnNpZSBvaG5lIElyb25pZSBiZWFudHdvcnRlbiBrYW5uLiBBdWNoIGRhcyBrYW5uIG1vdGl2aWVyZW5kIHVuZCBhdHRyYWt0aXYKd2lya2VuLCBzbyBkYXNzIG1hbiBoaWVyIHZlcndlaWx0LiBXZW5uIG1hbiBzaWNoIGRhbm4gYXVjaCBzZWxic3QgTXVlaGUgZ2lidAp1bmQgc2ljaCBoaWVyIGV0d2FzIGVyYXJiZWl0ZXQsIGRhbm4gdmVyd2VpbHQgbWFuIGF1Y2ggbGFlbmdlciBhbHMgZGVyIFF1aWNraWUKRHVyY2hzY2huaXR0c2tvbnN1bWVudC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzAuIE1hciAyMDA1LCAyMzoyNDowMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTEyMjE3Mzg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKR3J1bmRzYWV0emxpY2ggaXN0IGRpZSBXYWhyc2NoZWlubGljaGtlaXQsIGplbWFuZGVuIFJMIGtlbm5lbnp1bGVybmVuLApncm9lc3NlciBhbHMgYmVpIDEsNSBNaW8uIE9kZXI/IFdhcyBoaWxmdCBlcyBtaXIsIHdlbm4gZGVyIG5ldHRlIE1lbnNjaApwaHlzaXNjaCBhbSBhbmRlcmVuIEVuZGUgZGVyIFdlbHQgc2l0enQgdW5kIGljaCBpaG4gYXVzc2VyIGFscyBoYWVzc2xpY2hlciBPcmsKbmllIGtlbm5lbmxlcm5lPyBJY2gga2VubmUgbmllbWFuZGVuIGd1dCwgd2VpbCBpY2ggaWhuIG9lZnRlciBsZXNlLiBPZGVyPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBXb3JsZCBvZiBXYXJjcmFmdCAoQmFtYnVsa28sIDMxLiBNYXIgMjAwNSwgMDA6NTk6MjApOgp+IyEgcm49QXJrIHJ0PTExMTIyMTQyNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpCZXp1ZWdsaWNoIGRlcyBWZXJzdGVpZ2VybnMgbGllZiBsZXR6dGVucyBlaW4ga3Jhc3NlciBCZXJpY2h0IGF1ZiBBcnRlLiBJbgpLb3JlYSBnYWIgZXMgamVtYW5kLCBkZXIgMTIgaWxsZWdhbGUgRWlud2FuZGVyZXIgYXVzIENoaW5hIGluIHNlaW5lbSBLZWxsZXIKZWluZ2VzY2hsb3NzZW4gaGF0LCBkaWUgamVkZW4gVGFnIDE4IFN0dW5kZW4gSW50ZXJuZXRzcGllbGUgc3BpZWxlbiBtdXNzdGVuLgpEYXMgWmV1ZyBoYXQgZXIgZGFubiBiZWkgZWJheSB2ZXJrYXVmdC4gTW9kZXJuZSBTa2xhdmVyZWkuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFdvcmxkIG9mIFdhcmNyYWZ0IChOb25uZSwgMzEuIE1hciAyMDA1LCAwOToyNDoxNSk6Cn4jISBybj1BcmsgcnQ9MTExMjIxNzg0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCldpZSBDcm9mdCBzY2hvbiBhdXNmdWVocnRlLCBzcGllbGVuIGF1ZiBlaW5lbSBTZXJ2ZXIgY2EgMTAwMDAgQ2hhcmFrdGVyZSB1bmQKZGF2b24gc2luZCBjYSAyMDAwIGdsZWljaHplaXRpZyBlaW5nZWxvZ3QuIFNvdmllbGUgZ2xlaWNoemVpdGlnIGhhYmVuIHdpcgpuaWNodCwgYWJlciBlcyBnaWJ0IGF1Y2ggaGllciBlaW5pZ2UgVGF1c2VuZCBDaGFycy4gTWFuIGhhdCBGcmV1bmRlLCB3aWUgaGllcgphdWNoIHVuZCBlcyBnaWJ0IEdpbGRlbiwgd2FzIGRvcnQgb3JnYW5pc2F0b3Jpc2NoZSBadXNhbW1lbnNjaGx1ZXNzZSBtaXQKZWlnZW5lbSBLYW5hbCBzaW5kLiBJY2ggaGFiZSBhdWNoIHNjaG9uIDUgTGV1dGUgYXVzIG1laW5lciBHaWxkZSBSTAprZW5uZW5nZWxlcm50LgoKTm9jaCBlaW4gcGFhciBBbm1lcmt1bmdlbiB6dSB2ZXJzY2hpZWRlbmVuIFBvc3RpbmdzOiBJY2ggbW9lY2h0ZSBiaXNoZXIga2VpbmUKS29uemVwdGUgdm9uIFdvVyBhdWYgZGFzIE1HIHVlYmVydHJhZ2VuLCB3ZWlsIGVzIGVpbmZhY2ggdmVyc2NoaWVkZW5lIFNwaWVsZQpzaW5kLiBEYXMgQmluZC1vbiBoYXQgbWVpbmVyIE1laW51bmcgbmFjaCBlaW5lbiBncmF2aWVyZW5kZW4gVm9ydGVpbDogRXMgZ2lidApkb3J0IHRhdXNlbmRlbiB2b24gUXVlc3QsIHdvIGVzIEJlbG9obnVuZ2VuIGluIEZvcm0gdm9uIEdlZ2Vuc3RhZW5kZW4gZ2lidC4KTnVuIGthbm4gbWFuIGFiZXIgbnVyIGNhIDElIGRhdm9uIHdpcmtsaWNoIGdlYnJhdWNoZW4sIHdlaWwgbWFuIG51ciBTdG9mZgp0cmFnZW4ga2Fubiwgc2ljaCBhdWYgSW50IHNwZXppYWxpc2llcnQgb2RlciBudXIgUGxhdHRlIHRyYWVndCB1bmQgQXVzZGF1ZXIKYnJhdWNodC4gR2FlYmUgZXMgZGllc2VzIEJpbmQtb24tUGlja3VwIG5pY2h0LCB3dWVyZGUgZGFzIFNwaWVsIHZvbiBkaWVzZW4KR2VnZW5zdGFlbmRlbiB1ZWJlcnNjaHdlbW10LgoKQmxpenphcmQgaGF0IHNpY2ggTXVlaGUgZ2VnZWJlbiwgdmllbGUgUXVlc3QgenUgaW1wbGVtZW50aWVyZW4sIEdlYmlldGVuIGVpbmUKR2VzY2hpY2h0ZSB6dSBnZWJlbiB1bmQgaGF0IGRhcyBTcGllbCBkZXRhaWxyZWljaCBnZW1hY2h0LiBJY2ggZGVua2UsIGVzIGlzdApldHdhcyBmdWVyIFJQbGVyIHVuZCBmdWVyIE1ldHpsZXIsIGFiZXIgZXMgaXN0IHVuZCBibGVpYnQgZWluIGdyYWZpc2NoZXMgU3BpZWwKbWl0IFBvaW50ICYgQ2xpY2sgdW5kIHNvbWl0IG51ciBiZWdyZW56dCBtaXQgZWluZW0gU3BpZWwsIHdpZSBkZW0gTUcgenUKdmVyZ2xlaWNoZW4uIE1hbiBrYW5uIG5pY2h0IHNhZ2VuLCB3YXMgYmVzc2VyIGlzdCwgbnVyIHdvcmF1ZiBtYW4gZ2VyYWRlIG1laHIKTHVzdCBoYXQgb2RlciB3YXMgZWluZW0gbWVociBsaWVndC4gVmllbGUgTGV1dGUgdGlwcGVuIGVpbmZhY2ggbGFuZ3NhbSBvZGVyCmhhYmVuIGtlaW5lbiBCb2NrIHp1IGxlc2VuLCBmdWVyIGRpZSBpc3QgV29XIHNpY2hlciBiZXNzZXIgZ2VlaWduZXQuIEFuZGVyZQpsYXNzZW4gZGllIEJpbGRlciBsaWViZXIgaW4gaWhyZXIgRmFudGFzaWUgZXJzdGVoZW4sIGZ1ZXIgZGllIGVzIGRhcyBNRyBzaWNoZXIKYmVzc2VyLiBBYmVyIGF1Y2ggaGllciBnZWh0IGRlciBUcmVuZCB3ZWcgdm9uIGRlciBlaWdlbmVuIEZhbnRhc2llOiBXZW5uIGljaApzZWhlLCB3YXMgTGV1dGUgYWxsZXMgYmVzY2hyaWViZW4gaGFiZW4gd29sbGVuLCBmcmFnZSBpY2ggbWljaCwgd2VsY2hlbiBQbGF0egpoYXQgZGFubiBub2NoIGRpZSBlaWdlbmUgRmFudGFzaWUuIERhcyBoYXQgSU1PIG5pY2h0IG51ciB3YXMgbWl0IGRlciBRdWFsaXRhZXQKZGVyIEdlYmlldGUgenUgdHVuLCBlcyBzY2hlaW50IGVpbiBhbGxnZW1laW5lciBUcmVuZCB6dSBzZWluLCBkYXNzIGVzIGZydWVoZXIKcmVpY2h0ZSwgenUgc2NocmVpYmVuLCBkYXNzIGRvcnQgZWluIFRpc2NoIGlzdCwgaGV1dGUgd29sbGVuIGRpZSBMZXV0ZSBhdWNoCm5vY2ggZGllIE1hc2VydW5nIGJlc2NocmllYmVuIGhhYmVuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV29ybGQgb2YgV2FyY3JhZnQgKFd1cnplbCwgMzEuIE1hciAyMDA1LCAxMDo1MDozOCk6Cn4jISBybj1Ob25uZSBydD0xMTEyMjUzODU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKZXMgZ2lidCBtZWluZXMgZXJhY2h0ZW5zIGVpZ2VudGxpY2ggbnVyIHp3ZWkgZWNodGUgdW50ZXJzY2hpZWRlIHp3aXNjaGVuIHdvdwp1bmQgbWc6IGRpZSBncmFmaWsgdW5kIGRpZSBrb3N0ZW4uIGRldGFpbHMgZGVyIHNwaWVsbWVjaGFuaWsgd2llIGJpbmQtb24gc2luZApzZWt1bmRhZXIsIGRhcyBoYWVuZ3Qgdm9uIGFuZGVyZW4ga2xlaW5pZ2tlaXRlbiBhYiB1bmQgbGFlc3N0IHNpY2ggaW4gYmVpZGVuCnN5c3RlbWVuIHNjaG5lbGwgZWluLSB1bmQgYXVzYmF1ZW4uCgp1bnRlciBkZW0gc3RyaWNoIGJsZWlidCBlYmVuLCBkYXNzIGljaCBkYWZ1ZXIgYmV6YWhsZSwga2VpbmUgcGhhbnRhc2llIG1laHIgenUKYnJhdWNoZW4uIGRhcyBwYXNzdCBpbnNiZXNvbmRlcmUgenUgZGVuIGp1ZW5nZXJlbiBsZXV0ZW4uIGljaCBoYWJlIHZlcnN1Y2h0LAp6LmIuIG1laW5lbiBzb2huIG1hbCBpbnMgbWcgenUgbG9ja2VuLiBlciB2ZXJicmluZ3QgbWVociB6ZWl0IGltIGludGVybmV0IGFscwptaXQgc2VpbmVtIHN0dWRpdW0sIGRhIHNvbGx0ZSBlcyBkb2NoIGVpZ2VudGxpY2ggbWFsIG1vZWdsaWNoIHNlaW4uIGFiZXIgZXIKem9ja3QgYXVjaCBsaWViZXIgYmVpIGRlbiBrb21tZXJ6c3BpZWxlbiAodW5kIGljaCBzb2xsIGRhcyBkYW5uIGF1Y2ggbm9jaApiZXphaGxlbiwgd2VpYSkuIGFiZXIgdHJvdHpkZW0gZ2xhdWJlIGljaCBuaWNodCwgZGFzcyBzaWNoIG11ZHMgc2Nob24ga29tcGxldHQKdWViZXJsZWJ0IGhhYmVuLiBnaWJ0IGVzIGVpZ2VudGxpY2ggbm9jaCB1bHRpbWEgb25saW5lPyBkYXMgd2FyIGVpbnMgZGVyCmVyc3RlbiBrb21tZXJ6b25saW5lcm9sbGVuc3BpZWxlLCB3ZW5uIGljaCBtaWNoIHJlY2h0IGVyaW5uZXJlLiB1bmQgZXMga2FtCnZpZWxlIGphaHJlIG5hY2ggbW9yZ2VuZ3JhdWVuIHJhdXMuCgpkYXNzIGVzIG1laHIgaW50ZXJuZXRudXR6ZXIgZ2V3b3JkZW4gc2luZCwgc3BpZWx0IG5pY2h0IHdpcmtsaWNoIGVpbmUgcm9sbGUuCmRlciBncm9zc3RlaWwgZGVyIGRhenVnZWtvbW1lbmVuIG51dHplciBpc3QgZWJlbiBnYW56IGFuZGVycyBtb3RpdmllcnQgYWxzCndpciwgZGllIHdpciBzY2hvbiB2b3IgMTk5MCBpbSBuZXR6IHdhcmVuLiB1bmQgYXVjaCBkZXIgYWJzYXR6IGFuIGJ1ZWNoZXJuCmJyaWNodCB0b3RhbCB6dXNhbW1lbiwgb2J3b2hsIGRpZSBtZW5zY2hoZWl0IGltbWVyIHdlaXRlciB3YWVjaHN0LiBkYWZ1ZXIKc3ByaWNodCBtYW4gaW4gZGV1dHNjaGxhbmQgbWl0dGxlcndlaWxlIHZvbiA0IG1pbGxpb25lbiBhbmFscGhhYmV0ZW4sIG1pdApzdGVpZ2VuZGVyIHRlbmRlbnouCgp1ZWJyaWdlbnMga2FubiBpY2ggbWlyIGd1dCB2b3JzdGVsbGVuLCBkYXNzIGFuYWxwaGFiZXRlbiBzZWhyIGdlbmF1IHdpc3NlbiwKd2llIGJsdXRzcHJpdHplbmRlIG9ya3MgYXVzc2VoZW4uIG51ciBrb2VubmVuIHNpZSBkaWVzZW4gYXJ0aWtlbCBoaWVyIG5pY2h0Cmxlc2VuLgoKdHJvdHpkZW0gZmluZGUgaWNoIGRpZSBpZGVlIGd1dCwgbWFsIHdpZWRlciBldHdhcyBtZWhyIHdlcmJ1bmcgZnVlciBtdWRzIHp1Cm1hY2hlbi4gb2Z0IHJlaWNodCBlcyBiZXN0aW1tdCwgZWluZmFjaCBudXIgZWluZSBnZXdpc3NlIGJla2FubnRoZWl0IHp1CnNjaGFmZmVuLiB1bmQgZGFzIGthbm4gamVkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV29ybGQgb2YgV2FyY3JhZnQgKENyb2Z0LCAzMS4gTWFyIDIwMDUsIDEwOjU2OjI3KToKfiMhIHJuPVd1cnplbCBydD0xMTEyMjU5MDM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKVWx0aW1hIE9ubGluZSBnaWJ0IGVzIG5vY2guICBVbmQgZXMgaXN0IGF1Y2ggbnVyIG1hcmdpbmFsIGJpbGxpZ2VyIGFscwpXb1cuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFdvcmxkIG9mIFdhcmNyYWZ0IChCb2luZywgMzEuIE1hciAyMDA1LCAxMTowMzoyNyk6Cn4jISBybj1Dcm9mdCBydD0xMTEyMjU5Mzg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKVWx0aW1hIE9ubGluZSBoYXQgc2VpbmVyemVpdCB1ZWJyaWdlbnMgZnVlciBkZW4gZXJzdGVuIGRyYXN0aXNjaGVuIApTcGllbGVyemFobGVuZWluYnJ1Y2ggZ2Vzb3JndC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFdvcmxkIG9mIFdhcmNyYWZ0IChHbG9pbnNvbiwgMzEuIE1hciAyMDA1LCAxNzoxNTo0Myk6Cn4jISBybj1CYW1idWxrbyBydD0xMTEyMjIzNTYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKQXVjaCBuaWNodCBzY2hsZWNodDogTWFubiBiZWdlaHQgTW9yZCB3ZWdlbiBLYWVzZW1lc3Nlci4KCmh0dHA6Ly93d3cuYWJjLm5ldC5hdS9uZXdzL25ld3NpdGVtcy8yMDA1MDMvczEzMzQ2MTguaHRtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IFdvcmxkIG9mIFdhcmNyYWZ0IChDcm9mdCwgMzEuIE1hciAyMDA1LCAxNzoxODo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTEyMjgyMTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKS2Flc2VtZXNzZXI/ICBaZWlnIG1pciBtYWwgd2llIG1hbiBtaXQgc28gZWluZW0gTWVzc2VyIEthZXNlCnNjaG5laWRldC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV29ybGQgb2YgV2FyY3JhZnQgKFR1cmJvLCAzMS4gTWFyIDIwMDUsIDIxOjQ1OjU0KToKfiMhIHJuPU5vbm5lIHJ0PTExMTIyNTM4NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgplcnN0bWFsIGRhbmtlIGZ1ZXIgZGllIHBsYXN0aXNjaGUgQmVzY2hyZWlidW5nLiBJY2ggaGFiIG1pciBkYXMgbWFsCmJlaSBlaW5lbSBGcmV1bmQgKGdlbmF1ZXIgZGVtIEZyZXVuZCBlaW5lciBtZWluZXIgVG9lY2h0ZXIpIGFuZ2VzZWhlbgp1bmQgZmluZGUgZXMgYXVjaCBzZWhyIGludGVyZXNzYW50LCBhYmVyIGViZW4gZXR3YXMgZ2FueiBhbmRlcmVzLgoKRGVpbmUgRWluc2NoYWV0enVuZyBiZXp1ZWdsaWNoIFBoYW50YXNpZSB0ZWlsZSBpY2ggYWJlciBzbyBuaWNodCwgCndlZGVyIGJlaSBXb1cgbm9jaCBpbSBNdWQuIFNpY2hlciBzdGVsbGVuIGdyYXBoaXNjaGUgU3BpZWxlIHdlbmlnZXIKQW5zcHJ1ZWNoZSBhbiBkaWUgSW1hZ2luYXRpb24gKGluc29mZXJuIGhhc3QgRHUgc2Nob24gZXR3YXMgUmVjaHQpLCAKYWJlciBkaWUgRGV0YWlsYW5zcHJ1ZWNoZSBpbSBNdWQgc2luZCBldHdhcyBhbmRlcmVzLiBGb3JzY2hlbiBpc3QKZWluZSBBcnQgU3BpZWwgaW0gU3BpZWwsIHVuZCBtaXQgZGllc2VtIFNwaWVsIGVudHdpY2tlbHQgc2ljaCBhdWNoCmVpbiBGb3JzY2h0cmllYiBkZXIgU3BpZWxlciAoc2VsYnN0IGJlaSBzY2hsdWRyaWdlbiBGb3JzY2hlcm4gd2llCm1laW5lciBXZW5pZ2tlaXQpLiBEYSBzaW5kIGRhbm4gbWFuY2hlIGFsdGUgR2ViaWV0ZSAoaWNoIHNhZyBudXIKTWF5YXF1ZXN0KSBldHdhcyAuLiB1bnp1cmVpY2hlbmQuIERhc3MgZXMgYXVjaCBpbiBhbHRlbiBHZWJpZXRlbgphbmRlcnMgZ2luZywgemVpZ2VuIFNhaWthbnMgR2ViaWV0ZSAoamFtbWVyc2NoYWRlLCBkYXNzIGRpZSBrZWluZXIKZmVydGlnc2NocmVpYnQpIG9kZXIgYXVjaCBUb2V0ZXJzIHVuZCBhbmRlcmUuCgpEYXZvbiBhYiBmcmFnZSBpY2ggbWljaCBhYmVyIHRyb3R6ZGVtLCB3YXMgd2lyIGZhbHNjaCBtYWNoZW4sIGRhc3MgYmVpCnNvIHN0YXJrIGdlc3RpZWdlbmVyIE5ldHpudXR6dW5nIGRpZSBVc2VyemFobCBzdGFnbmllcnQgdW5kIHNvZ2FyIHNpbmt0LgpVbmQgaWNoIGdsYXViZSBuaWNodCBzbyBnYW56LCBkYXNzIGRpZSBXZWx0IHNvIHNjaGxlY2h0IHVuZCBkaWUgTWVuc2NoaGVpdAppbSBOZXR6IHNvIGlsbGl0ZXJhdCBpc3QsIGRhc3MgZXMgYW4gYWxsZW4gVm9yYXVzc2V0enVuZ2VuIG1hbmdlbHQuCgpJY2ggZ2xhdWJlLCBkYXNzIGRpZSBNdWRjb21tdW5pdHkgc2ljaCBhdWNoIGV0d2FzIGVpbmlnZWx0IHVuZCBkYWhlciAKbmFjaCBhdXNzZW4gdW5hdHRyYWt0aXYgd2lya3QuIEV0d2FzIG1laHIgUHJhZXNlbnosIGltIFVzZW5ldCwgaW4gCk1lZGllbiB3aWUgSGVpc2UgdXN3LiBrb2VubnRlIGRhIHNjaG9uIGV0d2FzIGF1c21hY2hlbi4gV2FubiBpc3QgZGVyCmxldHp0ZSBBcnRpa2VsIHVlYmVyIExkTXVkIChqYSBpY2ggd2Vpc3MsIG5pY2h0IHVuc2VyZXMpIE11ZE9TLCBNdWRzCmltIEFsbGdlbWVpbmVuIGV0Yy4gaW0gTmV3c3RpY2tlciBvZGVyIFRlbGVwb2xpcyBhdWZnZXNjaGxhZ2VuPyBVbmQKd2FydW0gbmljaHQ/CgoqbWVpbmphbnVyKgoKVHVyYm8gKEthdGVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdvcmxkIG9mIFdhcmNyYWZ0IChXdXJ6ZWwsIDMxLiBNYXIgMjAwNSwgMjE6NTQ6MzgpOgp+IyEgcm49VHVyYm8gcnQ9MTExMjI5ODM1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTA4MTM5MTcyCmlyZ2VuZCBqZW1hbmQgbXVlc3N0ZSBkYXMgZWluZmFjaCBtYWwgbWFjaGVuLiBhYmVyIHdpZSBhbGxlcyBoaWVyLCBpc3QgZGFzCm5pY2h0IG51ciBmcmVpd2lsbGlnLCBzb25kZXJuIGF1Y2ggdW5lbnRnZWx0bGljaC4gZGFzIGlzdCBlaW5lcnNlaXRzIGRlcgpyZWl6IGRlcyBtdWRkZW5zLCBhYmVyIGFuZGVyZXJzZWl0cyBhdWNoIGVpbiBoYW5kaWNhcC4KZGllIG1laXN0ZW4gbGV1dGUgaGllciBzaW5kIG1pdHRsZXJ3ZWlsZSBoaW5yZWljaGVuZCBiZXJ1ZnN0YWV0aWcsIHVtIG51cgpub2NoIHdlbmlnIHplaXQgenUgaGFiZW4uIGRhcyBzb2xsIGpldHp0IG5pY2h0IGhlaXNzZW4sIGRlc3dlZ2VuIHdpcmQgZGFzCm5pY2h0cy4gZ2FueiBpbSBnZWdlbnRlaWw6IHdlciBzb3dhcyBtYWNoZW4gbW9lY2h0ZSwgc29sbCBlcyBlaW5mYWNoIHR1biwgd2lyCmFuZGVyZW4gd2VyZGVuIGlobSB6dWp1YmVsbi4gdW5kIG5pZW1hbmQgd2lyZCBkaWNoIGhpbmRlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV29ybGQgb2YgV2FyY3JhZnQgKEFyaywgMzEuIE1hciAyMDA1LCAyMjo0OToxNSk6Cn4jISBybj1Ob25uZSBydD0xMTEyMjUzODU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKIkljaCBoYWJlIGF1Y2ggc2Nob24gNSBMZXV0ZSBhdXMgbWVpbmVyIEdpbGRlIFJMIGtlbm5lbmdlbGVybnQuIgpDb29sLCBkYW5uIGVyemFlaGwgYXVjaCBtYWwgd2FzIHZvbiB1bnMgKldlcmJldHJvbW1lbCBydWVocmVuKiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV29ybGQgb2YgV2FyY3JhZnQgKERhcmtsb3IsIDMxLiBNYXIgMjAwNSwgMjI6NTk6MTIpOgp+IyEgcm49QXJrIHJ0PTExMTIzMDIxNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpEaWUga2FubnRlIGVyIHZsbHQgc2Nob24gdm9yaGVyIGF1c20gTXVkLi4uIDspCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV29ybGQgb2YgV2FyY3JhZnQgKE11YWRpYiwgMzEuIE1hciAyMDA1LCAyMzowMTo1Nik6Cn4jISBybj1UdXJibyBydD0xMTEyMjk4MzU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMDgxMzkxNzIKbnVuamEsIHdlbm4gZXMgZGljaCBzbyBzZWhyIGRhdWVydCwgZGFzcyBuaWNodCB3ZWl0ZXJnZXNjaHJpZWJlbiB3aXJkLiBlcwpnaWJudCBzaWNoZXIgZWluaWdlcyBhbiB2ZXJ0cmFlZ2VuIGltIG11ZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFdvcmxkIG9mIFdhcmNyYWZ0IChBbmF0b2wsIDMxLiBNYXIgMjAwNSwgMjM6MzQ6MjcpOgp+IyEgcm49TXVhZGliIHJ0PTExMTIzMDI5MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgphKSBNYW4gbWVya3QsIGRhc3MgVHVyYm8gdW5nbGF1YmxpY2ggZW1vdGlvbmFsIHNjaHJlaWJ0IHVuZAp0cm90emRlbSBuaWNodCB3ZWlzcywgdm9uIHdhcyBlciByZWRldC4gT2ggTWFubi4KCmIpIEJpbmQgb24gRXF1aXAgd2FlcmUgaGllciB6LkIuIGRpZSBCYW5zaGVlaGF1dC4gV2VyIHNpZSByaWNodGlnCm51dHplbiB3aWxsLCBtdXNzIHNpZSB6dXNjaG5laWRlcm4gLSB1bmQgZGFzIHBlcnNvbmFsaXNpZXJ0LgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFdvcmxkIG9mIFdhcmNyYWZ0IChWZWN0b3IsIDMxLiBNYXIgMjAwNSwgMjM6NTg6MTYpOgp+IyEgcm49QW5hdG9sIHJ0PTExMTIzMDQ4Njcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEwODEzOTE3MgpBYWFhbHNvOgoKRXJzdG1hbCBpc3NlcyBzY2hvbiB2ZXJ3dW5kZXJsaWNoIHdpZSBzaWNoIGVpbmUgQW5yZWd1bmcgdWViZXIgbmV1ZSAKSXRlbXZlcmdhYmUtSWRlZW4gaW4gZWluZSBHcnVuZHNhdHpkaXNrdXNzaW9uIHVlYmVyIGRhcyBMZWJlbiB1bmQgClN0ZXJiZW4gZGVzIE1HIHZlcndhbmRlbHQuCkJpbmQtb24td2hhdGV2ZXItS3JhbSBoYWJlbiB3aXIgYmVyZWl0cyBpbSBNdWQuIHouYi4gZGllIGdlc2NobWllZGV0ZW4KUnVuZW5zY2h3ZXJ0ZXIgZGVyIER1bmtlbGVsZmVuLCBtYWdpc2NoZW4gRHJhY2hlbnBhbnplciwgZGllIHZvbiBBbmF0b2wKZXJ3YWVobnRlIEJhbnNoZWUtaGF1dCBldGMgZXRjLiBEYXMgbWFnIGFuIG1hbmNoZW4gU3RlbGxlbiBzdGltbWlnIHVuZApzaW5udm9sbCBzZWluIGFuIGFuZGVyZW4gUXVhdHNjaCB1bmQgTWFnaWVyd2lsbGt1ZXIuCk5hY2ggZGVtIGRlcnplaXRpZ2VuIFN0YW5kIGlzdCBlcyBkb2NoIG5pY2h0IHNvIGRhcyBhbGxlcyBhdXMgZGVtIFJ1ZGVyCmxhZXVmdCB1bmQgc29mb3J0IGdlYWVuZGVydCB3ZXJkZW4gbXVlc3N0ZT8gRmVpbiwgZGFubiBsYXNzZW4gd2lyIGVzCmRvY2ggYW4gVmVyZmVpbmVydW5nc2FyYmVpdCwga2xlaW5lbiBLbmlmZmVuIGRpZSBoaWVyIHVuZCBkYSBkYXMgbXVkCmZhY2V0dGVucmVpY2hlciB3ZXJkZW4gbGFzc2VuIGthbm4uCgpXb1cgbWFnIGZ1ZXIgdmllbGUgaGllciBkZXIgSGF1cHRncnVuZCBkZXIgc2Nod2luZGVuZW4gU3BpZWxlcnphaGxlbiAKc2Vpbix2ZXJtdXRsaWNoIGlzdCBlciBkYXMgYXVjaC4gRmFrdCBpc3QgYWJlciBhdWNoLCBkYXMgV293IGluIGRlciAKbGFuZ2VuICBtb3JnZW5ncmF1ZW4tSGlzdG9yaWUgbnVyIGVpbmUgRnVzc25vdGUgaXN0IHVuZCBibGVpYmVuIHdpcmQuIApBZWhubGljaGVzIGhhdCBtYW4gamEgc2Nob24gZnJ1ZWhlciBlcmxlYnQgYWxzIGViZW4gc28gS3JhbXMgd2llIERpYWJsbywKV2FyY3JhZnQsIENvdW50ZXJzdHJpa2UsIG9nYW1lLCBpY2Utd2FycywgVWx0aW1hLU9ubGluZSwgQmFsZHVycyBHYXRlLApNb3Jyb3J3aW5kIHVzdyBpbiB3YXIuIApLbGFyLCBmZWhsZW4gZGEgZXJzdG1hbCBlaW5pZ2UgU3RhbW1zcGllbGVyIHVuZCBndXQgbW9lZ2xpY2ggZGFzIGRlciAKZWluIG9kZXIgYW5kZXJlIGRlbiBXZWcgaW5zIE11ZCBuaWNodCBtZWhyIGZpbmRlbiB3aXJkLCBhYmVyIG1hbiBtdXNzIAphdWNoIHNlaGVuIGRhcyBzbyBTcGllbGUgc2VociBvZnQgZGVuIE1hZ2llcm4gbmV1ZSBJbXB1bHNlIApnZWdlYmVuIGhhYmVuIGZ1ZXIgaW50ZXJlc3NhbnRlIE5QQyBkaWUgZGFubiBpbSBNRyBhdWZnZXRhdWNodCBzaW5kLgoKR3J1bmRzYWV0emxpY2hlIFByb2JsZW1lIHdhcyBkaWUgU3BpZWxlcnphaGxlbiBhbmdlaHQgc2luZCBkb2NoIGVoZXIKZGFzIG51biB6LmIuIGRpZSBXb2huaGVpbWUgYWxsZSB2ZXJuZXR6dCBzaW5kIHVuZCBkaWUgTXVkZGVyIG51biB2b24KZGFoZWltIGF1cyBtdWRkZW4gdW5kIGtlaW5lIE5hY2h0c2NoaWNodGVuIG1laHIgaW0gUlogdmVyYnJpbmdlbiBvZGVyCndhZWhyZW5kIFZvcmxlc3VuZ3N6ZWl0IGF1ZiBNb25zdGVyamFnZCBnZWhlbi4KRGVua2UgbWFsIHVlYmVyIGRpZSBIYWVsZnRlIGhhdCBkYXMgZXJzdGUgbWFsIGRhcyBNdWQgZ2VzZWhlbiB3ZWlsCmJlaSBzbyBuZW0ga29taXNjaGVuIFR5cGVuIGltIFJaIHNvIFplaWxlbiB1ZWJlciBkZW4gQmlsZHNjaGlybSBnZXJhc3QKc2luZC4gRGllc2UgTW9lZ2xpY2hrZWl0IGRlciBSZWtydXRpZXJ1bmcgdm9uIE5hY2h3dWNocyBpc3QgbmljaHRtZWhyCmdlZ2ViZW4sIHdlaWwgZGllIEVyc3RpZXMgZGllIGFsdGVuIEhhc2VuIGphIG5pY2h0IGRhaGVpbSBzZWhlbiA6KQoKWnVkZW0gd2VyZGVuIExhbmd6ZWl0c3R1ZGllbmdlYnVlaHIgdW5kIFN0dWRpZW5nZWJ1ZWhyZW4gZnVlcnMKRXJzdHN0dWRpdW0gd29obCBuYWNoaGFsdGlnIGRhZnVlciBzb3JnZW4gZGFzcyBzaWNoIGltbWVyIHdlbmlnZXIgClN0dWRpZXMgYXVmIGRhcyBFeHBlcmltZW50IE11ZCBlaW5sYXNzZW4sIHZvbiBkYWhlciB3ZXJkZW4gc2ljaCB3b2hsCmRpZSBTcGllbGVyemFobGVuIGF1ZiBldHdhcyBuaWVkcmlnZXJlbSBOaXZlYXUgZWlucGVuZGVsbiAtLS0gd2FzIApuaWNodCBudXIgc2NobGVjaHQgc2VpbiBtdXNzLgoKU2ljaGVyIGlzdCBlcyByaWNodGlnIFR1cmJvLCBkYXNzIHNpY2ggZGllIFphaGwgZGVyIEludGVybmV0YmVudXR6ZXIKdmVydmllbGZhY2h0IGhhdCwgYWJlciBkYXJhdXMgenUgc2NobGllc3NlbiBkYXMgc2ljaCBkZXN3ZWdlbiBhdWNoIGRpZQpNdWRkZXJ6YWhsIHZlcnZpZWxmYWNoZW4gbXVzcyBpc3QgZmFsc2NoLiBIZXV0ZSBpc3QgZGFzIEludGVybmV0IGViZW4Kc2NobmVsbCBnZW51ZyBmdWVyIGJ1bnRlLCBsdXN0aWdlIFNwaWVsY2hlbiwgZGFzIE11ZCBsYWVuZ3N0IG5pY2h0IG1laHIKa29ua3VycmVuemxvcywgZGVyIE1hcmt0IGlzdCBoYWVydGVyIGdld29yZGVuIHVuZCBkYXMgTXVkIGViZW4gZWluIHZlci0KYWx0ZXRlcyBNb2RlbGwgd2VubiBhdWNoIG1pdCBncm9zc2VyIFN0YW1ta3VuZHNjaGFmdCA6KQoKSWNoIHdlaXNzIG5pY2h0IHdpZSBkdSBkcmF1ZiBrb21tc3QgZGFzIG5pY2h0IHdlaXRlcmdlc2NocmllYmVuIHdpcmQsCmljaCBzZWhlIGVpZ2VudGxpY2ggcmVjaHQgb2Z0IEFua3VlbmRpZ3VuZ2VuIHZvbiBuZXVlbiBHZWJpZXRlbiwgdW5kCm9obmUgYXJyb2dhbnQga2xpbmdlbiB6dSB3b2xsZW4gbW9lY2h0ZSBpY2ggd2V0dGVuIGljaCBrYW5uIGRpciAxMApHZWJpZXRlIGF1ZnphZWhsZW4gZGllIGZ1ZXIgZGljaCBuZXUgc2luZC4gRnVlciBtaWNoIHdhciB1bmQgaXN0IGRhcyAKbXVkIHdpZSBlaW4gc2VociBndXRlcyBCdWNoIGRhcyBuaWUgenVlbmRlIGdlaHQsIHVuZCBhdWNoIHdlbm4gamV0enQKbWFsIHNjaGVpbmJhciBldHdhcyBsYW5nc2FtZXIgZHJhbiBnZXNjaHJpZWJlbiB3aXJkLCB3aXJkIGVzIG5vY2ggc2VocgpsYW5nZSBkYXVlcm4gYmlzIG1hbiBhbHMgU3BpZWxlciB6dSBkZW0gUHVua3Qga29tbXQgc2FnZW4genUga29lbm5lbjoKIkljaCBiaW4gZmVydGlnIi4KCldlciBhbiBkZW0gTXVkIG1pdHdpcmtlbiB3aWxsIGFscyBTY2hyZWliZXIsIG11c3MgbmljaHQgendpbmdlbmQgTWFnaWVyCndlcmRlbiwgQmVpc3BpZWxlIGZ1ZXIgU3BpZWxlcmJlaXRyYWVnZSBnaWJ0cyBqYSB6dXIgZ2VudWVnZSBhbHMgQmVpc3BpZWwKbmVubmUgaWNoIG1hbCBBbmF0b2xzIFNjaGFjaGJyZXR0LgoKLS1WZWN0b3ItLSBkZXIgaG9mZmVudGxpY2ggYXVjaCBpbiAxMCBKYWhyZW4gbm9jaCBoaWVyIHNwaWVsdCAKKHVuZCBiaXMgZGFoaW4gZGFzIG1pdCBkZW0gWmVpbGVudW1icnVjaCBnZWxlcm50IGhhdCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdudSBDYXNoIChab29rLCAgNi4gQXByIDIwMDUsIDEzOjU3OjU4KToKS2VubnQgamVtYW5kIEdudSBDYXNoIHVuZCBoYXQgZGFzIHNjaG9uIG1hbCBsYXVmZW4gc2VoZW4gdW5kIGthbm4gbWlyIHNhZ2VuLAp3YXMgZXIvc2llIGRhdm9uIGhhZWx0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHbnUgQ2FzaCAoSHVtbmksICA2LiBBcHIgMjAwNSwgMTQ6MzM6MzcpOgp+IyEgcm49Wm9vayBydD0xMTEyNzg4Njc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTI3ODg2NzgKSGFicyBtYWwgbmUgWmVpdGxhbmcgbGF1ZmVuIGxhc3NlbiwgZmFuZCBpY2ggZ2FueiBuZXR0LiBFcm5zdGhhZnQgaGFiIGljaCBkYXMKbmljaHQgZWluZ2VzZXR6dCwgZWluZmFjaCBtYWwgZnVlciBkaWUgSGF1c2hhbHRza2Fzc2UsIGRhZnVlciBoYXRzIGdlcmVpY2h0LAp3ZW5uZ2xlaWNoIGRpZSBHcmFmaWtlbiBkZXIgU3RhdGlzdGlrZW4gZWhlciBoYWxiaGVyemlnIHNpbmQgdW5kIG5pY2h0IHNvbwp0b2xsLiBKZWRlbmZhbGxzIGdhbHQgZGFzIHZvciBjYS4gMS8yIEphaHIsIHdpZSBkYXMgaGV1dGUgYXVzc2llaHQgd2Vpc3MgaWNoCm5pY2h0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnRpdGlvbnMtQmFja3VwPyAoQW5hdG9sLCAxMy4gQXByIDIwMDUsIDA5OjAxOjU1KToKSWNoIGhhYmUgaGllciBlaW5lbiBSZWNobmVyIG1pdCBYUCBhdWYgUGxhdHRlIDEgdW5kIGVpbmVyCndlaXRlcmVuIFhQLUluc3RhbGxhdGlvbiBhdWYgUGxhdHRlIDIuIEljaCBtb2VjaHRlIGRpZSAKSW5zdGFsbGF0aW9uIGF1ZiBkZXIgendlaXRlbiBQbGF0dGUgZ2VuYXUgc28gYXVjaCBhdWYgbiBhbmRlcmVuClJlY2huZXJuIG1pdCBnbGVpY2hlciBIYXJkd2FyZSBoYWJlbi4gCgpSYW5kYmVkaW5ndW5nOiBFcyBnaWJ0IGtlaW5lIFNjaG5pdHRzdGVsbGVuIGF1c3NlciBkZW4KTmV0endlcmthbmJpbmR1bmdlbiwgZC5oLiBrZWluIFVTQi1TdGljaywga2VpbmUgQ0QvRFZELCBrZWluZSBEaXNrZXR0ZS4KCldlbGNoZSBTb2Z0d2FyZSBiaWV0ZXQgc2ljaCBhbj8gSGllciB3aXJkIEdob3N0IGFscyBTdGFuZGFyZAp2ZXJ3ZW5kZXQsIGFiZXIgZGFzIHNjaGVpbnQgbmUgQm9vdGRpc2sgaGFiZW4genUgd29sbGVuIHVuZAptYWNodCBvaG5laGluIGRlbiBFaW5kcnVjayBlaW5lciB0aGVybW9udWtsZWFyZW4gTG9lc3VuZyBmdWVyCmRlbiBBYnJpc3MgZWluZXIgYWx0ZW4gU2NoZXVlci4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJ0aXRpb25zLUJhY2t1cD8gKE11YWRpYiwgMTMuIEFwciAyMDA1LCAxMTowODowNyk6Cn4jISBybj1BbmF0b2wgcnQ9MTExMzM3NTcxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzMzc1NzE1CmljaCB2ZXJ3ZW5kZSBkYWZ1ZXIgYWJ1bmR6dSBhY3JvbmlzCmRhcyBpc3QgZ2FueiBuZXR0Cgp1bnRlciB4cCBzb2xsdGVzdCBkdSBkaWNoIHVudGVyIHVtc3RhZW5kZW4gbWl0IHN5c3ByZXAgYmVzY2hhZWZ0aWdlbiwgZmFsbHMKZGFzIHppZWxzeXN0ZW0gZG9jaCBuaWNodCBpZGVudGlzY2ggaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0aXRpb25zLUJhY2t1cD8gKE1vcmdvdGgsIDEzLiBBcHIgMjAwNSwgMTQ6NTE6MDUpOgp+IyEgcm49SmFtZXNvbiBydD0xMTEzMzkxODg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTMzNzU3MTUKRGFzIHR1dCB3dW5kZXJiYXIuIFdpciBoYWJlbiBkYXMgaGllciBmdWVyIGRpZSBQQy1Qb29scyhjbG9uaW5nKSBlaW5nZXNldHp0CnVuZCBiZW51dHplbiBkYXMgYXVjaCBzb25zdCBmdWVyIFJlY2huZXJzaWNoZXJ1bmdlbihiYWNrdXApLiBBdWNoIGRlcgpOZXR6d2Vya3p1Z3JpZmYga2xhcHB0IHd1bmRlcmJhciBpbmNsLiBBdXRoZW50aWZpemllcnVuZyBhbiBlaW5lciBEb21haW4gb2Rlcgp1ZWJlciBzYW1iYS4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0aXRpb25zLUJhY2t1cD8gKE11YWRpYiwgMTMuIEFwciAyMDA1LCAxNDo1MjoxNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTMzOTY2NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzM3NTcxNQpkaWUgZXJmYWhydW5nIGthbm4gaWNoIHRlaWxlbgphY2ggd2VubiBlcyBlaW4gYW5kZXJlcyBuZXR6d2VyayBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhCQ0kgLyBJU08gOTc5NjoxOTkxLVByb2JsZW0gKFZhbmlvbiwgMTMuIEFwciAyMDA1LCAyMjoyMDo0OCk6CkhpLCAKCmVpbiBLdW1wZWwgdm9uIG1pciBhcmJlaXRldCB6dW0gU3Bhc3MgYW4gZWluZXIgRmluYW56LVNvZnR3YXJlIHVudGVyIEFtaWdhIE9TCjQuMC4gTnVuIGhhdHRlIGVyIGRpZSBJZGVlLCBzZWluZSBTb2Z0d2FyZSBlaW5lIEhCQ0ktQW5iaW5kdW5nIHp1CmltcGxlbWVudGllcmVuLiBEYSBpcyBhdWNoIHNjaG9uIGRlciBLbmFja3B1bmt0OgoKSW4gZGVyIEhCQ0ktU3BlemlmaWthdGlvbiAodiAyLjIpIHN0ZWh0IGZvbGdlbmRlczoKCiJWSS4yLjEuMiBFbGVrdHJvbmlzY2hlIFNpZ25hdHVyIGJlaSBSREggKFJTQS1iYXNpZXJlbmQpCjEuIEhhc2hpbmcgZGVyIE5hY2hyaWNodAogICAgIHNpZWhlICJFbGVrdHJvbmlzY2hlIFNpZ25hdHVyIGJlaSBERFYiCjIuIEZvcm1hdGllcnVuZyBkZXMgSGFzaHdlcnRzCiAgICAgRGllIEZvcm1hdGllcnVuZyBlcmZvbGd0IGdlbWFlc3MgSVNPIDk3OTY6MTk5MSAoS2FwLiA1LjEtNS40KS4gRGVyCiAgICAgSGFzaHdlcnQgd2lyZCBmdWVyIGRpZSBuYWNoZm9sZ2VuZGUgU2lnbmF0dXJiaWxkdW5nIGFscyBMYW5nemFobCAKICAgICBpbnRlcnByZXRpZXJ0IChzLiBhdWNoIGRpZSBCZWlzcGllbGUgaW4gZGVyIEFubGFnZSB6dSBJU08gOTc5NjoxOTkxKS4KMy4gQmVyZWNobnVuZyBkZXIgZWxla3Ryb25pc2NoZW4gU2lnbmF0dXIKICAgICBEZXIgSGFzaC1XZXJ0IHdpcmQgbWl0dGVscyBSU0EgZ2VtYWVzcyBJU08gOTc5NjoxOTkxIHNpZ25pZXJ0LiBIaWVyYmVpCiAgICAgc2luZCBhdWNoIGRpZSBpbiBkZW4gQW5oYWVuZ2VuIEEuNCAiU2lnbmF0dXJlIGZ1bmN0aW9uIiB1bmQgQS41CiAgICAgIlZlcmlmaWNhdGlvbiBmdW5jdGlvbiIgYmVzY2hyaWViZW5lbiBPcGVyYXRpb25lbiIKCkRlbiBIYXNod2VydCBhdXMgMS4genUgYmVzdGltbWVuIGlzdCBrZWluIFByb2JsZW0sIGRlciBBbGdvcml0aG11cyBpc3QgaWhtCmJla2FubnQuIFdhcyBlciBsZWlkZXIgYmlzaGVyIG5pY2h0IHJhdXNiZWtvbW1lbiBrb25udGUsIGlzdCBkaWUgaW4gMi4KQmVzY2hyaWViZW5lIEZvcm1hdGllcnVuZy4gS2VubnQgamVtYW5kIHZvbiBldWNoIGRpZSBESU4gb2RlciBrYW5uIG1pciBzYWdlbiwKd2llIGRlciBIYXNod2VydCB6dSBmb3JtYXRpZXJlbiBpc3Q/CgpFciBoYXQgd29obCBzY2hvbm1hbCB2ZXJzdWNodCBkaWVzZSBJbmZvcm1hdGlvbiBhdXMgZGVtIE9wZW5IQkNJLVNvdXJjZWNvZGUgenUKemllaGVuLCBrYW0gZGEgYWJlciBuaWNodCB3ZWl0ZXIuIEVpbiBWZXJ3ZWlzIGF1ZiBCaWJsaW90aGVrZW4gaGlsZnQgYXVjaAp3ZW5pZywgZGEgZGllIHNlbHRlbiBhdWYgQW1pZ2EgT1MgcG9ydGllcnQgc2luZC4KCldlbm4gbWlyIGRhIGplbWFuZCBoZWxmZW4ga29lbm50ZSwgd2FlciBkYXMgZ3Jvc3NhcnRpZy4KCkdydWVzc2UsClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSEJDSSAvIElTTyA5Nzk2OjE5OTEtUHJvYmxlbSAoR2xvaW5zb24sIDEzLiBBcHIgMjAwNSwgMjI6NTQ6MjgpOgp+IyEgcm49VmFuaW9uIHJ0PTExMTM0MjM2NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzQyMzY0OApXaWtpcGVkaWEgc2FndCBtaXIsIGRhc3MgSEJDSSB0b3Qgc2VpLiBLdXJpb3NlcndlaXNlIGhhdCBlcyBtaXIgZGFzIHNvZ2FyCnNjaG9uIHZpZXIgU3R1bmRlbiB2b3IgZGVpbmVyIEZyYWdlIGVyemFlaGx0LgpWaWVsbGVpY2h0IHNvbGx0ZSBlciBtYWwgYmVpIGRlciBGaXJtYSBhbmZyYWdlbiwgZGllIGRhIGJlaSBXaWtwZWRpYSB2ZXJtZXJrdAppc3QgZnVlciBkaWUgTmFjaGZvbGdlcm1ldGhvZGVuLgoKQW5zb25zdGVuIGthbm4gaWNoIGphIGdlcm4gbm9jaG1hbCBzY2hhdWVuIG9iIGJlaSBkZW0gU2VtaW5hcnZvcnRyYWcgaW4gOApXb2NoZW4genUgSEJDSSBtZWhyIGhlcmF1c2tvbW10LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSEJDSSAvIElTTyA5Nzk2OjE5OTEtUHJvYmxlbSAoVmFuaW9uLCAxMy4gQXByIDIwMDUsIDIzOjAwOjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTM0MjU2Njggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzQyMzY0OApOYWphLCBhbHNvIGJpc2hlciBuaW1tdCB6dW1pbmRlc3QgbWVpbmUgQmFuayBkaWUgSEJDSS1VZWJlcndlaXN1bmdzYXVmdHJhZWdlCm5vY2ggYW4uIFdlbm4gRHUgZGEgTWF0ZXJpYWwgaGFzdCAoYXVzIGRlbSBTZW1pbmFyKSB3YWVyIGRhcyBoaWxmcmVpY2guIAoKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydGl0aW9ucy1CYWNrdXA/IChKYW1lc29uLCAxNC4gQXByIDIwMDUsIDEwOjU1OjU3KToKfiMhIHJuPUFuYXRvbCBydD0xMTEzMzc1NzE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTMzNzU3MTUKSW0gR2VnZW5zYXR6IHp1IG1laW5lciBmcnVlaGVyZW4gQmVoYXVwdHVuZyBmdW5rdGlvbmllcnQgbmF0dWVybGljaCBkYXMKU2ljaGVybiBtaXQgQWNyb25pcyBUcnVlSW1hZ2UgaW0gTmV0eiBoZXJ2b3JyYWdlbmQgOi0pIEVzIGlzdCBkYXMgZGlyZWt0ZQpCcmVubmVuIGF1ZiBDRC9EVkQgYXVzIGRlbSBQcm9ncmFtbSBoZXJhdXMsIGRhcyBtaXIgYmlzaGVyIG5pY2h0IGdlbHVuZ2VuIGlzdC4KSWNoIHRlaWxlIGRpZSBJbWFnZXMgZGFubiBlYmVuIGltbWVyIGluIFJvaGxpbmdncm9lc3NlIGF1ZiB1bmQgYnJlbm5lIHNpZSBkYW5uCm1pdCBlaW5lbiBleHRlcm5lbiBQcm9ncmFtbS4gQWJlciB3aWUgZ2VzYWd0LCB1ZWJlcnMgTmV0eiBzaWNoZXJuIGZ1bmt0aW9uaWVydApibGVuZGVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIQkNJIC8gSVNPIDk3OTY6MTk5MS1Qcm9ibGVtIChNdWFkaWIsIDE0LiBBcHIgMjAwNSwgMTE6NTg6MDcpOgp+IyEgcm49VmFuaW9uIHJ0PTExMTM0MjM2NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzQyMzY0OApoYXQgZXIgc2Nob25tYWwgaW4gSVNPIDk3OTY6MTk5MSAoS2FwLiA1LjEtNS40KSBuYWNoZ2VzY2hhdXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhCQ0kgLyBJU08gOTc5NjoxOTkxLVByb2JsZW0gKFpvb2ssIDE0LiBBcHIgMjAwNSwgMTI6MDY6MDUpOgp+IyEgcm49TXVhZGliIHJ0PTExMTM0NzI2ODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzQyMzY0OAptZ2wuIGhhdCBlciBrZWluZSBsdXN0LCBlaW5lbiBiZXRyYWcgPnggRVVSIGZ1ZXIgZGllc2Ugbm9ybSBhdXN6dWdlYmVuLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhCQ0kgLyBJU08gOTc5NjoxOTkxLVByb2JsZW0gKFZhbmlvbiwgMTQuIEFwciAyMDA1LCAxODoyOTozMik6Cn4jISBybj1ab29rIHJ0PTExMTM0NzMxNjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzQyMzY0OApTdGltbXQuIFdvYmVpIHggdW5hbnN0YWVuZGlnIGhvY2ggaXN0IGJlaSBESU5TCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSEJDSSAvIElTTyA5Nzk2OjE5OTEtUHJvYmxlbSAoWm9vaywgMTQuIEFwciAyMDA1LCAxODozMTowMCk6Cn4jISBybj1WYW5pb24gcnQ9MTExMzQ5NjE3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzNDIzNjQ4Ck9oamEuIFdlc3dlZ2VuIG1hbiBzaWNoIGphIGF1Y2ggZnJhZ2VuIG11c3MsIG9iIGhvaGUgUHJlaXNlIGZ1ZXIgCkRJTnMgbmljaHQgZ2VyYWRlIGRlbiB1bmV0aGlzY2ggc2luZCwgc293ZWl0IHNpZSBzaWNoIHVtIGRpZSAKTm9ybWllcnVuZyAic296aWFsZW4gVmVyaGFsdGVucyIgYmVtdWVoZW4uIAoKWm9vay4KClBTOiBNYW4gc3VjaGUgZGVuIHBhc3NlbmRlbiBUaHJlYWQgc2VsYnN0dGFldGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmNhbCBvciB3aGF0PyAoQ2F0d2VhemxlLCAxOS4gQXByIDIwMDUsIDExOjA3OjM4KToKCk1vaW4uCgpOZWhtZW4gd2lyIGFuLCBpY2ggaGFiZSBrZWluZSB2ZXJudWVuZnRpZ2UgQWRyZXNzZW5saXN0ZSBhbGxlciBtZWluZXIKRnJldW5kZS9CZWthbm50ZS9WZXJ3YW5kdGUvS29sbGVnZS9Lb250YWt0ZSB1bmQgbW9lY2h0ZSBkYXMgamV0enQgZW5kbGljaApvcmRlbnRsaWNoIGFubGVnZW4uCk5laG1lbiB3aXIgd2VpdGVyaGluIGFuLCBpY2ggaGFldHRlIGFtIEFyYmVpdHNwbGF0eiBlaW4gTGludXhzeXN0ZW0sIHp1aGF1c2UKYWJlciBXaW5kb3dzLiAKCldlbGNoZSBTb2Z0d2FyZSB3dWVyZGUgaWNoIGRhbm4gYW0gYmVzdGVuIGVpbnNldHplbj8gQW0gYmVzdGVuIGV0d2FzLCBkYXMgZWluCnN0YW5kYXJkaXNpZXJ0ZXMgQWRyZXNzZGF0ZW4tRm9ybWF0IGhhdCwgZGFzIG1hbiBzY2hvZW4gaW1wb3J0aWVyZW4gdW5kCmV4cG9ydGllcmVuIGthbm4/IFdlbGNoZXMgRm9ybWF0IHdhZXJlIGRhcz8KS2FubiBtYW4gc29sY2hlIERhdGVuIHZpZWxsZWljaHQgc29nYXIgemVudHJhbCBpcmdlbmR3byBhYmxlZ2VuPyAKR2lidHMgc28gZWluZSBTb2Z0d2FyZSB2aWVsbGVpY2h0IG1pdCBlaW5lbSBLYWxlbmRlcm1hbmFnZXIga29tYmluaWVydD8gQW0KYmVzdGVuIGF1Y2ggbm9jaCB3YXMga29tZm9ydGFibGVzL2Fuc3ByZWNoZW5kZXMvaW50dWl0aXZlcz8KCllUQyAoc2ljaCBlY2h0IG5vY2ggbmllIHVtIHNvd2FzIGdla3VlbW1lcnQgaGFiZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHZjYWwgb3Igd2hhdD8gKFpvb2ssIDE5LiBBcHIgMjAwNSwgMTE6MjA6MDgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMTM5MDE2NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzkwMTY1OApJY2ggdmVyd2VuZGUgZGFzIGthZGRyZXNzYm9vaywgZGFzIGhhdCBnbGF1YmUgaWNoIGRpZXNlcyB2Y2FyZC1Gb3JtYXQuIEljaCAKbWVpbmUsIGRhcyB3YWVyZSBhdWNoIGRhcywgd2FzIE1vYmlsdGVsZWZvbmUgZHVyY2ggZGllIEdlZ2VuZCBzY2hpY2tlbiAKa29lbm5lbiB1bmQgZGllIG1laXN0ZW4gUHJvZ3JhbW1lIGtvZW5uZW4gZGllc2VzIEZvcm1hdCB3b2hsIGxlc2VuIHVuZC9vZGVyCnNjaHJlaWJlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHZjYWwgb3Igd2hhdD8gKFd1cnplbCwgMTkuIEFwciAyMDA1LCAxMToyNjoxNyk6Cn4jISBybj1ab29rIHJ0PTExMTM5MDI0MDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzkwMTY1OAplcyBnaWJ0IHNvd2FzIGF1Y2ggaW0gbmV0eiwgc28gZGFzcyBlcyB2b2VsbGlnIHd1cnNjaHQgaXN0IG1pdCB3YXMgZHUgZHJhdWYKenVncmVpZnN0LCBzZWkgZXMgbGludXgsIHdpbmRvb2YsIHN5bWJpYW4sIHBhbG1vcyBvZGVyIHNvbnN0d2FzLiBmcmFnIG1pY2gKamV0enQgYWJlciBuaWNodCBuYWNoIGRlciBhZHJlc3NlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdmNhbCBvciB3aGF0PyAoR3JpbW1ib3JuLCAxOS4gQXByIDIwMDUsIDExOjI4OjM5KToKfiMhIHJuPVd1cnplbCBydD0xMTEzOTAyNzc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTM5MDE2NTgKU3RpbW10LiBGcmFnIG1hbCBGcmwuIEhpbHRvbiwgZGllIGhhdCBFcmZhaHJ1bmcgbWl0IEFkcmVzc2J1ZWNoZXJuIGltIE5ldHouCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHZjYWwgb3Igd2hhdD8gKE1hcmN1cywgMTkuIEFwciAyMDA1LCAxMjowOToxOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExMzkwMjkxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzOTAxNjU4CkVpbiBQYXBpZXIgTm90aXpidWNoLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB2Y2FsIG9yIHdoYXQ/IChXdXJ6ZWwsIDE5LiBBcHIgMjAwNSwgMTI6MTA6NTEpOgp+IyEgcm49TWFyY3VzIHJ0PTExMTM5MDUzNTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzkwMTY1OApoZSwgZGFzIGlzdCByZXZvbHV0aW9uYWVyLiBkZXIgaGF1cHR1bnRlcnNjaGllZCBpc3QgamEsIGRhc3MgZXMgZnVua3Rpb25pZXJ0LgpkYXMga2FubnN0IGR1IGRlbiBqdW5ncyBuaWNodCBhbnR1biwgZGllIHdvbGxlbiBkb2NoIHdhcyB6dW0gc3BpZWxlbiBoYWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHZjYWwgb3Igd2hhdD8gKFpvb2ssIDE5LiBBcHIgMjAwNSwgMTI6MTM6NDMpOgp+IyEgcm49V3VyemVsIHJ0PTExMTM5MDU0NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExMzkwMTY1OAppY2ggaGFiIGF1Y2ggbm9jaCBzbyBlaW5lIGFsdG1vZGlzY2hlIHZpc2l0ZW5rYXJ0ZW4tc2FtbWx1bmcuIDspCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogdmNhbCBvciB3aGF0PyAoQ2F0d2VhemxlLCAxOS4gQXByIDIwMDUsIDEyOjI3OjM5KToKfiMhIHJuPVpvb2sgcnQ9MTExMzkwNTYyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzOTAxNjU4CkphLiBEaWUgaGFiIGljaCBhdWNoLiBOaWNodCwgZGFzcyBpY2ggZGEgamVtYWxzIHJlaW5nZXNlaGVuIGhhYmUuIERlciBTdGFwZWwKd2lyZCBudXIga29udGludWllcmxpY2ggZ3JvZXNzZXIuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogdmNhbCBvciB3aGF0PyAoWm9vaywgMTkuIEFwciAyMDA1LCAxMjo1MDoxNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExMzkwNjQ1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzOTAxNjU4CkljaCBicmluZyBEaXIgZGFzIG5hZWNoc3RlIG1hbCBub2NoIGVpbmUgdm9uIG1pciBtaXQuIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdmNhbCBvciB3aGF0PyAoSG91c2Vob2xkZXIsIDIxLiBBcHIgMjAwNSwgMjA6NTQ6NTMpOgp+IyEgcm49Wm9vayBydD0xMTEzOTA3ODE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTM5MDE2NTgKRWluIGxkYXAgc2VydmVyLiBGb3JtYXQ6IGlyZ2VuZGVpbmUgZGF0ZW5iYW5rLCBtaXQgZGVyIHNpY2ggZGVyIGxkYXAtc2VydmVyCnZlcnN0ZWh0LiBCaW4gYXVjaCBhdWYgZGVyIFN1Y2hlIG5hY2ggc293YXMgaGF0dGUgYWJlciBub2NoIGtlaW5lIFplaXQgbmFjaApGcm9udGVudHMvVG9vbHMgenUgc3VjaGVuLiBFaW4gZmVpbmVzIExlY2tlcmxpOiBkZXIgTW96aWxsYS1NYWlsY2xpZW50IGthbm4KTERBUC1BZHJlc3NidWVjaGVyIGxlc2VuLiAoVmllbGxlaWNodCBhdWNoIGFubGVnZW4gPykuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHZjYWwgb3Igd2hhdD8gKE11YWRpYiwgMjEuIEFwciAyMDA1LCAyMzo0NzozMik6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMTE0MTA5NjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTM5MDE2NTgKYXVzZ3VjayB2ZXJzdGVodCBhdWNoIGxkYXAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiB2Y2FsIG9yIHdoYXQ/IChIb3VzZWhvbGRlciwgMjMuIEFwciAyMDA1LCAxMTowMzowMik6Cn4jISBybj1NdWFkaWIgcnQ9MTExNDEyMDA1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTEzOTAxNjU4Cm1pdCBhdXNndWNrIHdpbGxpc2NoIGFiYSBuaXggem8gZG9uIGhhbiBzcG9jaHRzZnJ1ZW5kIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IHZjYWwgb3Igd2hhdD8gKE11YWRpYiwgMjMuIEFwciAyMDA1LCAxMToyNDo1NSk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMTE0MjQ2OTgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTM5MDE2NTgKbmEgYWJlciBjYXR3ZWF6bGUgdmllbGxlaWNodCwgc2NocmVpYnQgZXIgZG9jaCwgZXIgdmVyd2VuZGUgenVoYXVzZSB3aW5kb3dzLgpkYSBsaWVndCBkaWUgbW9lZ2xpY2hrZWl0IG5haGUsIGRhc3MgZXIgdmllbGxlaWNodCBvdXRsb29rIHZlcndlbmRldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9JUCB1bmQgUXVhbGl0eSBvZiBTZXJ2aWNlIChKYW1lc29uLCAyOC4gQXByIDIwMDUsIDEwOjM0OjUxKToKVGVsZWZvbmllcmVuIHVlYmVycyBJbnRlcm5ldCB3aXJkIGphIGltbWVyIGludGVyZXNzYW50ZXIsIHVuZCBtaXQKdGVsZWZvbmllZmFlaGlnZW4gUm91dGVybiBrb2VubnRlIG1hbiBzY2hvbiBzZWhyIGd1dCBhdWYgZGVuIEZlc3RuZXR6YW5zY2hsdXNzCnZlcnppY2h0ZW4uIEJlaSBkZW4gbWVpc3RlbiBEU0wtQW5nZWJvdGVuIGdlaHQgZGllIFVwc3RyZWFtLUdlc2Nod2luZGlna2VpdAphYmVyIG5pY2h0IHVlYmVyIDM4NCBrYml0L3MgaGluYXVzLCB1bmQgdmllbGUgaGFiZW4gdmllbGxlaWNodCBkb2NoIG5vY2ggZGllCnVlYmxpY2hlbiAxMDI0LzEyOCBrYml0L3MuIE1pY2ggd3VlcmRlbiBudW4gbWFsIGRpZSBFcmZhaHJ1bmdlbiBpbnRlcmVzc2llcmVuLApkaWUgSWhyIG1pdCBkZW0gQmFuZGJyZWl0ZW4tRW5ncGFzcyBVcHN0cmVhbSBnZW1hY2h0IGhhYnQsIGFsc28gYXVmIGRldXRzY2gsCndpZSBzaWVodCBlcyB6LkIuIGF1cywgd2VubiBlaW4gb2RlciBhdWNoIHp3ZWkgTGV1dGUgdWViZXIgZGllIExlaXR1bmcKdGVsZWZvbmllcmVuIHVuZCBnbGVpY2h6ZWl0aWcgbm9jaCB3ZXIgYXVmIGRpZSBJZGVlIGtvbW10LCBEYXRlbiB6dQp0cmFuc2ZlcmllcmVuLiBTZWkgZXMgZWluIGZ0cC1VcGxvYWQsIGVpbiBGaWxlc2hhcmluZy1UcmFuc2ZlciBvZGVyIHNvbnN0d2FzLgpFaW4gYmVzb25kZXJlciBCYW5kYnJlaXRlbmtpbGxlciBrYW5uIGphIGF1Y2ggbm9jaCBWaWRlb3RlbGVmb25pZSBzZWluLCBkYXMKbWFnIGFsbGVyZGluZ3MgbmljaHQgc28gaGFldWZpZyB2b3Jrb21tZW4uCkdpYnQgZXMgZGVubiBudW4gYXVmIFJvdXRlcnNlaXRlIHNvIGV0d2FzIHdpZSBRdWFsaXR5IG9mIFNlcnZpY2UsIHNvIGRhc3MgZGllClRlbGVmb25kYXRlbiBwcmlvcmlzaWVydCBiZWhhbmRlbHQgd2VyZGVuLCBvZGVyIG11ZXNzZW4gYWxsZSBoaW50ZXIgZGVyCkxlaXR1bmcgYXVmcGFzc2VuIHVuZCBrb29wZXJpZXJlbj8gRGllc2UgRnJhZ2Ugc3RlbGx0IHNpY2ggZWJlbiBlaW5mYWNoLApzb2JhbGQgei5CLiBlaW5lIEZhbWlsaWUsIFdHIHVzdy4gYXVmIElQLVRlbGVmb25pZSB1bXN0ZWxsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKEhpZ2hsYW5kZXIsIDI4LiBBcHIgMjAwNSwgMTI6MDk6MDMpOgp+IyEgcm49SmFtZXNvbiBydD0xMTE0Njc3MjkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKUW9TIGhhc3QgRHUgZ3J1bmRzYWV0bGljaCBlcnN0IG1pdCBJUHY2LiBFcyBnaWJ0IGF1Y2ggR2VyYWV0ZSwKZGllIGF1ZiBWNCBkaWUgUGFrZXRlIHBydWVmZW4gdW5kIG5pZWRyaWcgZWluZ2VzdHVmdGUgUG9ydHMKYnJlbXNlbi4gR3J1bmRzYWV0emxpY2ggaGVpc3N0IGRhcyBkYSBvYmVuIHVlYnJpZ2Vucy4KVW5kIGphLCBkZXIgdXBsaW5rIGlzdCBuYWNoIGRlbSwgd2FzIGljaCBnZXN0ZXJuIG9kZXIgdm9yZ2VzdGVybgplcnN0IHZvbiBlaW5lbSBLb2xsZWdlbiBnZWhvZXJ0IGhhYmUsIGZ1ZXIgVm9JUCBrbmFwcC4gMTI4IHNpbmQKdWViZWwsIG1pdCAzODQgZ2VodCdzLCBhYmVyIHF1ZXJrb21tZW4gZGFyZiBuaXggbWVociBncm9zcy4KQmVpIDEgR2VzcHJhZWNoLgoKSG9lcmVuc2FnZW4sIHZlcmJyZWl0ZXQgdm9uCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKENhdHdlYXpsZSwgMjguIEFwciAyMDA1LCAxMjozMzo1Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMTQ2ODI5NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNDY3NzI5MQpHZWxvZ2VuLgoKUW9TIGhhdCBuaXggbWl0IElQdjYgenUgdHVuLiBEYXMgZ2VodCBnZW5hdXNvc2NobGVjaHQgYXVjaCBtaXQgSVB2NC4KV2lyZCBhdWNoIGdlbWFjaHQuIEljaCB3ZWlzcyBhYmVyIG5pY2h0IGluIHdlbGNoZW4gUHJvZHVrdGVuLCB0aGVvcmV0aXNjaCBrYW5uCm1hbiByZWNodCBsZWljaHQgZWluZSBlbnRzcHJlY2hlbmRlIFRyYWZmaWMtQ2xhc3MgZGVmaW5pZXJlbi4KCklJUkMgd3VlcmQgaWNoIHZvbiBldHdhIDEyOGtiIHBybyBBbnJ1ZiBhdXNnZWhlbi4KRGFzIGdlaHQgYXVjaCBtaXQgd2VuaWdlciBTcHJhY2hxdWFsaXRhZXQsIHdpcmQgYXVjaCBnZW1hY2h0LCBhYmVyIGdlbmVyZWxsCmlzdCBkYXMgbmVuIGd1dGVyIE1pdHRlbHdlcnQgbWl0IGRlbSBtYW4gcmVjaG5lbiBrYW5uLiBELmguIGFiIGRyZWkKVGVsZWZvbmF0ZW4gaXN0IGRlaW5lIExlaXR1bmcgZGljaHQuIFVuZCBkaWUgaW1wbGl6aWVydGUgRnJhZ2Uga2FubnN0ZSBkaXIKZGFubiBhdWNoIGdsZWljaCBtaXRiZWFudHdvcnRlbjogSmEsIHdlbm4gZHUgbmViZW5iZWkgZmlsZXNoYXJpbmcgbWFjaHN0LAprYW5uc3QgZHUgSVAtVGVsZXBob25pZSAob2huZSBRb1MpIHZlcmdlc3Nlbi4gRWlnZW50bGljaCBrYW5uIG1hbiBhbGxlcwp2ZXJnZXNzZW4sIHdlbm4gbWFuIEZpbGVzaGFyaW5nIG1hY2h0LiBNYW4gbWFjaHQgamEgYXVjaCBrZWluIEZpbGVzaGFyaW5nIDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKEdyaW1tYm9ybiwgMjguIEFwciAyMDA1LCAxMjozODozNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExNDY4NDQzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE0Njc3MjkxCkVyc3RhdW5saWNoLiBNZWluIEFuYWxvZ3RlbGVmb24gaGF0IGRhbWFscyBtaXQgbWVociBvZGVyIHdlbmlnZXIgMjguOGsgcHJpbWEKVGVsZWZvbmdlc3ByYWVjaGUgZ2VtYWNodC4gQWxsZW1hbCBiZXNzZXIgYWxzIGRpZXNlIEhhbmRpZXMgbWl0IGRlbSBnYW56ZW4KIndhcyBoYXN0IER1IGdlc2FndD8gSWNoIHZlcnN0ZWggRGljaCBzbyBzY2hsZWNodC4gTWVpbiBOZXR6IGlzdCBnYWFhbnoKc2NobGVjaHQuLi4iLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKEphbWVzb24sIDI4LiBBcHIgMjAwNSwgMTI6NDI6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMTQ2ODQ3MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNDY3NzI5MQpHZWggaWNoIGF1Y2ggdm9uIGF1cy4gU28gbWlzZXJhYmVsIGlzdCBqYSBBbmFsb2d0ZWxlZm9uaWUgbnVuIGF1Y2ggZGllIGdhbnplbgpKYWhyZSBuaWNodCBnZXdlc2VuLCBuZT8KSGFiIGF1Y2ggbWFsIGV0d2FzIHdlaXRlciBnZXN1Y2h0Li4uIDEmMSBiZWhhdXB0ZXQgbnVuIGZyZWNoLCBpaHJlIFJvdXRlcgpoYWV0dGVuIEJhbmRicmVpdGVubWFuYWdlbWVudCB6d2Vja3MgdW5iZWludHJhZWNodGlndGVtIFRlbGVmb25pZXJlbi4gV3VlcmRlCm1pY2ggbWFsIGludGVyZXNzaWVyZW4sIG9iIGRhIGVpbmVyIHZvbiBFdWNoIEVyZmFocnVuZ2VuIGhhdCAobmljaHQKbm90d2VuZGlnZXJ3ZWlzZSBtaXQgUHJvZHVrdGVuIHZvbiAxJjEpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKFRhcmFuaXMsIDI4LiBBcHIgMjAwNSwgMTk6MjU6MTMpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTE0NjgyOTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKTWhtbSwgYWxzbywgd2VubiBpY2ggbWljaCBuaWNodCBpcnJlLCBrb21wcmltaWVydCBkZXIgR1NNLUNvZGVjIGF1ZiA0Ljc1IC0KMTIuMiBrYml0L3MsIGQuaC4gZWluIDEyOGtiaXQvcy1VcGxpbmsgc29sbHRlIGRhYmVpIG5vY2ggbmljaHQgZGljaHQgc2Vpbi4KRGFzIGVudHNwcmljaHQgdW5nZWZhZWhyIG1laW5lciBFcmZhaHJ1bmcsIGljaCBrb25udGUgcGFyYWxsZWwgenVtIEdlc3ByYWVjaAphdWNoIG5vY2ggRGF0ZW4gdWViZXJ0cmFnZW4uIFNpY2hlciwgd2VubiBEdSBQMlAtRmlsZXNoYXJpbmcgIG1hY2hzdCB1bmQKRGVpbmVuIFVwbGluayBzYWV0dGlnc3QsIGtyaWVnc3QgZGFiZWkgQXVzc2V0emVyIGltIEdlc3ByYWVjaC4gSWNoIGtvbm50ZSBiZWkKMTI4a2JwIEFGQUlSIG5vY2ggZWluIHBhYXIgS0IvcyBuZWJlbmhlciB1ZWJlcnRyYWVnZW4gKHVwc3RyZWFtKSwgb2huZSBkYXNzCmljaCBBdXNzZXR6ZXIgYmVrYW0uCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKEphbWVzb24sIDI4LiBBcHIgMjAwNSwgMjA6MTA6MDQpOgp+IyEgcm49VGFyYW5pcyBydD0xMTE0NzA5MTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKMTI4IGtiaXQvcyByZWljaGVuIHNvZ2FyIGZ1ZXIgZWluIGhhbGJ3ZWdzIGZsdWVzc2lnZXMga2xlaW5lcyBWaWRlb2JpbGQsIGRhCmlzdCBUZWxlZm9uaWVyZW4gZGVmaW5pdGl2IGRyaW4uIDEyOCwgZGFzIGlzdCBkb2NoIGdlbmF1IGRvcHBlbHRlCklTRE4tQmFuZGJyZWl0ZS4gVGVsZWZvbiBpbiBBbmFsb2ctUXVhbGl0YWV0IGJyYXVjaHQgbmljaHQgbWVociBhbHMgNTAga2JpdC9zLAplaGVyIHdlbmlnZXIuIChXZWlzcyBlcyBqZW1hbmQgZ2VuYXUuLi4pCk5hamEgLSB3aWUgZ3V0IGZ1bmt0aW9uaWVydCBkZW5uIG51biBkaWVzZXMgUm91dGVyLVRyYWZmaWMtU2hhcGluZz8gSGF0IGtlaW5lcgpzbyBlaW4gUm91dGVya2lzdGNoZW4sIGRhcyBkYXMga2Fubj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvSVAgdW5kIFF1YWxpdHkgb2YgU2VydmljZSAoSmltZGlncml6LCAyOC4gQXByIDIwMDUsIDIyOjQxOjE3KToKfiMhIHJuPUphbWVzb24gcnQ9MTExNDcxMTgwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE0Njc3MjkxCkFhYWxzbwoKVGVsZWZvbmllIGJyYXVjaHQgKHdpZSBzY2hvbiBlaW5pZ2UgZ2VzYWd0IGhhYmVuKQprZWluZSBncm9zc2UgQmFuZGJyZWl0ZS4gIHNvZ2FyIGRldXRsaWNoIHdlbmlnZXIgd2llIDI4LjgwMApkYXMgaGFiZW4gamEgbnVyIGRpZSBldHdhcyBtb2Rlcm5lcmVuIE1vZGVtcyBhdXNnZXJlaXp0LgpJY2ggZGVua2UgOS42MDAgcmVpY2h0IGFic29sdXQgYXVzLgpEYXMgUHJvYmxlbSBpc3QgSml0dGVyIHVuZCBQYWtldHZlcnpvZWdlcnVuZywKTWl0IFFvUyBrYW5uIG1hbiBkYXMgbmF0dWVybGljaCBiZWhlYmVuLCBkYXMKc29sbHRlIGF1Y2ggaW4gZWluZW0gUm91dGVyIG1vZWdsaWNoIHNlaW4sIHNvZmVybgpkaWUgZWlnZW5lIERTTCBMZWl0dW5nIGRhcyBCb3R0bGVuZWNrIGRhcnN0ZWxsdAood2FzIGFiZXIgaGV1dHp1dGFnZSBpZFIgZGVyIEZhbGwgaXN0KS4KClFvUyBTdGFuZGFyZHMgZGllIGhldXR6dXRhZ2UgVmVyd2VuZHVuZyBmaW5kZW4sIHNpbmQgekIKTVBMUyAoYXVmIElQIEViZW5lKSBvZGVyIElFRUUgODAyLjFwIChhdWYgTUFDIEViZW5lKS4KUlNWUCBnbGF1YiBpY2ggaGF0IHNpY2ggZWhlciB3ZW5pZyBkdXJjaGdlc2V0enQuCldhcyBuYXR1ZXJsaWNoIHNvIGVpbiBEU0wvSVAtVGVsZWZvbmllIFJvdXRlciBnZW5hdQp2ZXJ3ZW5kZXQgd2Vpc3MgaWNoIG5lZCwgbWFnIHNlaW4sIGRhc3MgZGllIGRhIGhhbHQgbnVyClRyYWZmaWMgU2hhcGluZyBhdWYgZGVtIFdBTiBJbnRlcmZhY2UgbWFjaGVuCih3b2JlaSBkYXMgdmVybXV0bGljaCB3aWUgb2JlbiBhbmdlc3Byb2NoZW4gYXVjaAphdXNyZWljaHQpLgoKKmJsdWJiZXIqLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKENhdHdlYXpsZSwgMjkuIEFwciAyMDA1LCAwOToxOToyMik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTQ3MDkxMTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNDY3NzI5MQpBbHNvIGljaCBlcmlubmVyIG1pY2gsIGRhc3MgaWNoIGF1cyBILjMyMy1aZWl0ZW4gaW1tZXIgZGVuIEcuNzExIGdlbm9tbWVuIGhhYiwKZWluZmFjaCwgd2VpbCBkZXIgYW0gZ2VzaWNoZXJ0c3RlbiBkaWUgYmVzdGUgU3ByYWNocXVhbGl0YWV0IGdlbGllZmVydCBoYXQuCkRlciBicmF1Y2h0ZSA2NGtiaXQvcywgZWZmZWt0aXYgaXN0IGRhcyBpbW1lciBlaW4gYmlzc2NoZW4gbWVocjsgenUKdmVyZG9wcGVsdG4gaXN0IGRhIHZpZWxsZWljaHQgdm9uIG1pciBnZXdhZ3QgaG9jaGdlZ3JpZmZlbiwgYWJlciBhdWYgODAtOTAKa2JpdC9zIGxhZXVmdHMgYmVzdGltbXQgaGluYXVzLiAKCkphLCBzdGltbXQsIGVzIGdpYnQgYmVzc2VyZSBjb2RlY3MsIGRpZSBhdWNoIGtsZWluZXJlIGJpdHJhdGVuIChiaXMgcnVudGVyCjhrYml0L3MpIGJyYXVjaGVuLiBJbiBtZWluZXIgRXJmYWhydW5nIHNpbmQgZGllIGFiZXIgYWxsZSBNaXN0LiBXb2JlaSBtYW4gZGEKc2FnZW4gbXVzcywgZGFzcyBpY2ggaW1tZXIgbnVyIGZyZWllIGF1c3Byb2JpZXJ0IGhhYiwgZGllIHNpbmQgZ2VnZW51ZWJlciBkZW4Ka29zdGVucGZsaWNodGlnZW4gbGl6ZW5zaWVydGVuIGZhc3QgaW1tZXIgZ3JvdHRlbnNjaGxlY2h0LgoKV2FzIGhldXR6dXRhZ2UgaW4gVm9JUC1IYXJkd2FyZSBwcmFlZmVyZW56aWVydCBiZW51dHp0IHdpcmQsIHdlaXNzIGljaCBhdWNoCm5pY2h0LiBEYXMgYmVsaWVidGUgU2t5cGUgYmVudXR6dCBhZmFpayBkZW4gSUVURi1jb2RlYyAod2VubiBpY2ggbWljaCBudXIKZXJpbm5lcm4gdGFldGUsIHdpZSBkZXIgaGVpc3N0KSwgZGVyIGlzdCBiZXN0aW1tdCBzY2hvZW4gc2NobWFsYmFuZGlnLiBEYSBmaW5kCmljaCBhYmVyIGF1Y2ggZGllIFF1YWxpdGFldCBiZXNjaGVpZGVuLCBkYXNzIGthbm4gbWVpbiBIYW5keSB3ZWl0IGJlc3NlciAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVm9JUCB1bmQgUXVhbGl0eSBvZiBTZXJ2aWNlIChNb3Jnb3RoLCAyOS4gQXByIDIwMDUsIDA5OjM0OjM3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTE0NzU5MTYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKRnVlciBtZWluIFRlYW1zcGVhayBiZW51dHplIGljaCBkZW4gU3BlZXgyNS45IGNvZGVjLiBEaWUgUXVhbGl0YWV0IGlzdCBzZWhyCmd1dCB1bmQgYW4gQmFuZGJyZWl0ZSBmcmlzc3QgZGVyIGF1Y2ggbmljaHQgdmllbC4gSWNoIG1lcmsgenVtaW5kZXN0IG5peCB3ZW5uCmljaCB6b2NrZSwgbmViZW5oZXIgbmVuIGZ0cCB1cGxvYWQgbGFldWZ0IHVuZCBpY2ggYW0gcXVhc3NlbG4gYmluIDopCk9LLCBpY2ggaGFiIGF1Y2ggNTEya2JpdC9zIHVwc3RyZWFtIDpQIHVuZCBrZWluIFFvUy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFZvSVAgdW5kIFF1YWxpdHkgb2YgU2VydmljZSAoRmVpZ2xpbmcsICAxLiBNYWkgMjAwNSwgMTc6NDk6NDgpOgp+IyEgcm49TW9yZ290aCBydD0xMTE0NzYwMDc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKUW9TIGthbm4gbWFuLCBzb3dlaXQgaWNoIGltY2ggZXJpbm5lcmUgaW4gZGllIFRvbm5lIHRyZXRlbi4KRXMgZ2lidCBldGxpY2hlIHRvb2xzLCBkaWUgZGVpbmVtIG5vcm1hbGVuIERMIFFvUyB2ZXJwYXNzZW4gdW5kCnNvIHp1bWluZGVzdCBpbSBXYW4gZGFzIHZvZWxsaWcgc2lubmxvcyBtYWNoZW4gKHdlbm4gamVkZXMgUGFrZXQKZXMgZWlsaWcgaGF0IHVuZCBwcmlvcml0YWV0IHNldHp0LCBkYW5uIGlzdCBkZXIgVm9ydGVpbCB3ZWcpLgpXZW5ucyBhYmVyIHp1bWluZGVzdCBkZXIgUHJvdmlkZXIgUW9TIGFuYmlldGV0LCBrYW5uIGRhcwp6dW1pbmRlc3Qgdm9uIERpciBiaXMgaW5zIE5ldHogbmVuIFZvcnRlaWwgYnJpbmdlbiwgYXVzLQpwcm9iaWVydCBoYWIgaWNocyBub2NoIG5pY2h0IC0gQWJlciB6dW1pbmRlc3QgQXJjb3IgbGFlc3N0CnNlaW5lIEdlc2NoYWVmdHNrdW5kZW4gKHZpZWxsZWljaHQgYXVjaCBwcml2YXRrdW5kZW4/KSBuaWNodAp1ZWJlciBlaW5lIG5vcm1hbGUgSW5ldC1MZWl0dW5nIFZvSVAgbWFjaGVuLCBkYSBkb3J0IGtlaW4gUW9TCmdhcmFuaWVydCB3ZXJkZW4ga2Fubi4gRWluZSBBZWhubGljaGUgQXVzc2FnZSBoYWIgaWNoIHZvbiBDaXNjbwp6dSBkZW0gVGhlbWEgZXJoYWx0ZW4uCkljaCBiZXNjaGFlZnRpZ2UgbWljaCBzZWl0IGVpbmlnZXIgWmVpdCBtaXQgZGVtIFRoZW1hIHVuZCB0ZXN0ZQpWb2lwIGRlcnplaXQgbWl0IHp3ZWkgQXN0ZXJpc2stU2VydmVybiB1bmQgZWluaWdlbiBWb0lQIFRlbGVmb25lbi4KRGllIFF1YWxpdGFldCBiZWltIGdzbS1Db2RlYyBpc3QgdWVicmlnZW5zIHNlaHIgZ3V0IHVuZCBicmF1Y2h0CmthdW0gQmFuZGJyZWl0ZS4KCkZlaWdsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWb0lQIHVuZCBRdWFsaXR5IG9mIFNlcnZpY2UgKFRhcmFuaXMsICAxLiBNYWkgMjAwNSwgMTg6MDM6NTUpOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTExNDk2MjU4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE0Njc3MjkxClp1bSBUaGVtYSBHU00tQ29kZWMgbmVpZ2UgaWNoIGRhenUsIERpciB6dXp1c3RpbW1lbiwgaXN0IG1pciBnZW5hdXNvIGluCkVyaW5uZXJ1bmcgKGFremVwdGFibGUgU3ByYWNocXVhbGl0YWV0IHVuZCBrYXVtIEJhbmRicmVpdGUpLgpXYXMgbWlyIGFiZXIgbmljaHQgZ2FueiBrbGFyIGlzdCwgd2llIEFyY29yIHZlcmhpbmRlcm4gd2lsbCwgZGFzcyBpY2ggVm9JUAptYWNoZT8gKFp1bWluZGVzdCB3ZW5uIGljaCBiZWlkZSBFbmRlbiBmcmVpIGtvbmZpZ3VyaWVyZW4ga2Fubi4uLikKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZvSVAgdW5kIFF1YWxpdHkgb2YgU2VydmljZSAoRmVpZ2xpbmcsICAxLiBNYWkgMjAwNSwgMTg6MTM6MTkpOgp+IyEgcm49VGFyYW5pcyBydD0xMTE0OTYzNDM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTQ2NzcyOTEKQXJjb3IgdmVyaGluZGVydCBlcyBuaWNodCwgYWJlciB3ZW5uIER1IG1pdCBBcmNvciBhbHMgVm9JUC1Qcm92aWRlcgooc3RhdHQgU2lwZ2F0ZSwxJjEsRnJlZW5ldCB1c3cuIG9kZXIgd2llIHdpciBzZWxiZXIgZGVyIFByb3ZpZGVyKQptYWNoZW4gd2lsbHN0LCBkYW5uIG11c3N0ZSBkYWZ1ZXIgbmUgc3BlemllbGxlIExlaXR1bmcgaGFiZW4KKHVlYmVyIGRpZSBiaWV0ZW4gc2llIGF1Y2ggc28gbmVuIFZQTi1LcmFtIGFuLCBkZW4gc2llIG1pcgp2ZXJrYXVmZW4gd29sbHRlbikuCgpXZW5uIG1hbiBiZWkgSVAtVGVsZWZvbmllIHdpcmtsaWNoIG5lbiBRb1MgYnJhdWNodCAoamV0enQgbWVpbiBpY2gKbmljaHQgZGllIFFvUy1Sb3V0aW5nLVNhY2hlbikgZGFubiBnZWh0cyBuaWNodCB1ZWJlciBkYXMgSW50ZXJuZXQuCkRvcnQga2FubiBkaXIga2VpbmVyIGRpZSBMZWl0dW5nIGdhcmFudGllcmVuLgoKRmVpZ2xpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvZGUtRm9ybWF0dGVyIGZ1ZXIgKFZpc3VhbCktQmFzaWMgKFJvbmRhLCAgNS4gTWFpIDIwMDUsIDE1OjA0OjI4KToKSGFsbG8sCgppY2ggaGFiZSBncmFkIGRpZSB1bmRhbmtiYXJlIEF1ZmdhYmUsIENvZGUgdm9uIG1laHJlcmVuIFZCLUVudHdpY2tsZXJuIHp1CmVudGZyYW5zZW4uIExlaWRlciBoYWJlbiBkaWUgZGVuIENvZGUgemllbWxpY2ggdmVydW5zdGFsdGV0LCBtYWwgMiBMZWVyemVpY2hlbgpFaW5ydWVja3VuZywgbWFsIGtlaW5lLCBtYWwgNCBMZWVyemVpY2hlbi4KCktlbm50IElociBlaW5lbiAtIG1vZWdsaWNoc3Qga29zdGVubG9zZW4uLi4gLSBDb2RlIEZvcm1hdHRlciBmdWVyClZpc3VhbC1CYXNpYywgZGVyIG1pciB6dW1pbmRlc3QgZWluaGVpdGxpY2hlIEVpbnJ1ZWNrdW5nZW4gZ2VuZXJpZXJ0PyBXaXIKc2V0emVuIFZpc3VhbCBCYXNpYyA2LjAgZWluLgoKVmllbGVuIERhbmssCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENvZGUtRm9ybWF0dGVyIGZ1ZXIgKFZpc3VhbCktQmFzaWMgKEdsb2luc29uLCAgNS4gTWFpIDIwMDUsIDE2OjU1OjMzKToKfiMhIHJuPVJvbmRhIHJ0PTExMTUyOTgyNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNTI5ODI2OApGdWVyIFZpc3VhbCBCYXNpYyB3aWUgaWNoIGVzIGJpc2hlciBnZXNlaGVuIGhhYmUgZ2lidCBlcyBudXIgZWluZW4gQ29kZQpGb3JtYXRpZXJlcjoKCnJtIDxkYXRlaT4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29kZS1Gb3JtYXR0ZXIgZnVlciAoVmlzdWFsKS1CYXNpYyAoUm9uZGEsICA1LiBNYWkgMjAwNSwgMTk6Mjk6MzApOgp+IyEgcm49Um9uZGEgcnQ9MTExNTI5ODI2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE1Mjk4MjY4Ck1hbCBhbHMgU2VsYnN0LVJlcGx5OiBJY2ggaGFiIG51biB3YXMgZ2VmdW5kZW4sIGRhcyBhbnNjaGVpbmVuZCBzYXViZXIgZnVuenQ6CgpodHRwOi8vd3d3LmZyZWV2YmNvZGUuY29tL1Nob3dDb2RlLmFzcD9JRD0xNDkxCgpBdXRvbWF0aWMgQ29kZSBJbmRlbnRlciBBZGQtSW4gdm9uIEFuZHJldyBEYXZleSwga2xlaW5lcyBWQi1Qcm9qZWt0IGF1cyBkZW0KbWFuIHNpY2ggZWluZSBETEwgYWxzIFZpc3VhbCBCYXNpYy1BZGQgSW4gY29tcGlsaWVyZW4ga2Fubi4gTmltbSBkZW4gaW4gZWluZW0KQ29kZS1GZW5zdGVyIGFuZ2V6ZWlndGVuIENvZGUgdW5kIHNldHp0IGRpZSBFYmVuZW4ga29ycmVrdCAoNCBMZWVyemVpY2hlbiBqZQpUYWIpLgoKQEdsb2luc29uOiBEYW5rZSBmdWVyIGRlbiBzdXBlci1jb29sZW4gVGlwcC4gSW0gd2FocmVuIExlYmVuICh0bSkgZ2lidHMgYXVjaApWaXN1YWwgQmFzaWMuIFVuZCB3ZW5uIG1hbiBtaXQgR2VsZCBiZXN0ZWNobGljaCBpc3QsIGFyYmVpdGV0IG1hbiBtYW5jaG1hbAphdWNoIGRhbWl0LiBUaGF0J3MgbGlmZS4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENvZGUtRm9ybWF0dGVyIGZ1ZXIgKFZpc3VhbCktQmFzaWMgKEhvdXNlaG9sZGVyLCAgNi4gTWFpIDIwMDUsIDE0OjA4OjE5KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTUzMDQ5MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNTI5ODI2OApkZWluIGZvcm1hdGllcmVyIGlzdCBqYSBzb2dhciBnbGVpY2h6ZWl0aWcgZWluIGNvZGUtb3B0aW1pZXJlciB1bmQKa29tcHJpbWllcmVyIC4uLiBjb29sIHVuZCBhdWYgYmVpZGVuIGdlYmlldGVuIHNvIHppZW1saWNoIGRhcyBlZmZpemllbnRlc3RlCndhcyBlcyBnaWJ0CkhIIHN0YXVuZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDb2RlLUZvcm1hdHRlciBmdWVyIChWaXN1YWwpLUJhc2ljIChNdXBmZWwsICA2LiBNYWkgMjAwNSwgMjM6NDk6NTYpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTExNTM4MTI5OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE1Mjk4MjY4ClVuZCB3byBrcmllZ3QgbWFuIGRpZXMgV3VuZGVyLVRvb2w/Cj5EZXIgQmVmZWhsICJybSIgaXN0IGVudHdlZGVyIGZhbHNjaCBnZXNjaHJpZWJlbiBvZGVyCj5rb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlZGllbnVuZyBNb2JpbHRlbGVmb24gKFpvb2ssICA5LiBNYWkgMjAwNSwgMTc6MTM6MzMpOgpIb2ksIGljaCBoYWJlIGVpbiBuZXVlcyBNb2JpbHRlbGVmb24sIHVuZCB6d2FyIGVpbiBTaWVtZW5zIE02NS4gSWNoIAptb2VjaHRlIGRvcnQgZ2VybmUgZm9sZ2VuZGUgRWluc3RlbGx1bmdlbiBoYWJlbjoKCiAxLiBBbGxlIEFucnVmZSBrb21tZW4gZHVyY2ggdW5kIGZ1ZWhyZW4genVtIEtsaW5nZWxuCiAyLiBOdXIgQW5ydWZlciwgZGVyZW4gTnVtbWVyIGltIEFkcmVzc2J1Y2ggc3RlaHQsIGtvbW1lbiBkdXJjaAogMy4gTnVyIEFucnVmZXIgZWluZXIgYmVzdGltbXRlbiBHcnVwcGUga29tbWVuIGR1cmNoCgpCZWkgbWVpbmVtIGJpc2hlcmlnZW4gVGVsZWZvbiBnaW5nIGRhcyBnYW56IGVpbmZhY2gsIGRhIGdhYiBlcyBiZWkgIkZpbHRlciIKZHJlaSBGdW5rdGlvbmVuOiBBbGxlLCBBZHJlc3NidWNoLCBWSVAuIAoKTnVuIGdpYnQncyB6d2FyIGVpbmVuIEZpbHRlciwgYWJlciBpcmdlbmR3aWUgYmVncmVpZmUgaWNoIGRlbiBuaWNodApzbyBnYW56LCBkZW5uIG1hbiBrYW5uIGRhIHp3YXIgR3J1cHBlbiBhbmdlYmVuICh3aWUgUHJpdmF0LCBWSVAuLi4pLAphYmVyIGVpbmVuICJBbGxlIGF1cyBkZW0gQWRyZXNzYnVjaCwgZWdhbCB3ZWxjaGUgR3J1cHBlIi1FaW50cmFnCmhhYmUgaWNoIG5pY2h0IGdlZnVuZGVuLgoKS2FubiBqZW1hbmQgaGVsZmVuPwoKKGRhcyBGKi1NYW51YWwgaXN0IGluIGRlciBIaW5zaWNodCBuaWNodCBlcmdpZWJpZy4pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlZGllbnVuZyBNb2JpbHRlbGVmb24gKFZhbmlvbiwgIDkuIE1haSAyMDA1LCAxODo0NDo0MCk6Cn4jISBybj1ab29rIHJ0PTExMTU2NTE2MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNTY1MTYxMwpJY2ggaGFiIGVpbiBNNTUuIElzIG1pciBhdWNoIHp1IGtvbXBsaXppZXJ0LiBGaW5nZXIgd2VnIHZvbiBTaWVtZW5zIEhhbmRpZXMuCgpIaWxmdCBEaXIgdmVybXV0bGljaCBuaXgsIG9kZXI/CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZWRpZW51bmcgTW9iaWx0ZWxlZm9uIChOb25uZSwgMTAuIE1haSAyMDA1LCAwOTo0NjowMSk6Cn4jISBybj1WYW5pb24gcnQ9MTExNTY1NzA4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE1NjUxNjEzCkljaCBoYWJlIGVpbiBjeDY1LCBkYXMgc29sbHRlIG5pY2h0IHZpZWwgYW5kZXJzIHNlaW4uIEljaCBrYW5uIHVudGVyCkVpbnN0ZWxsdW5nZW4vUnVmZWluc3RlbGx1bmcgYW5nZWJlbiwgZGFzIEFucnVmZSB3ZWxjaGVyIEdydXBwZSBkdXJjaAprbGluZ2Vsbi92aWJyaWVyZW4gYW5nZXplaWd0IHdlcmRlbiwgYW5kZXJlIHdlcmRlbiBudXIgaW0gRGlzcGxheSBhbmdlemVpZ3QuCkRhcyBpc3QgZWlnZW50bGljaCBzbyBpbnR1aXRpdiwgd2llIGVzIG51ciBzZWluIGthbm4uIFdpZSBtYW4gYWxsZXJkaW5ncyBhbGxlCmltIEFkcmVzc2J1Y2ggZHVyY2hsZWl0ZXQsIHdlaXNzIGljaCBuaWNodCwgZGEgbXVlc3N0ZSBpY2ggaW5zIE1hbnVhbCBzY2hhdWVuLAp3YXMgaWNoIGdlcmFkZSBuaWNodCB6dXIgSGFuZCBoYWJlLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZWRpZW51bmcgTW9iaWx0ZWxlZm9uIChab29rLCAxMC4gTWFpIDIwMDUsIDEwOjMxOjI1KToKfiMhIHJuPU5vbm5lIHJ0PTExMTU3MTExNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNTY1MTYxMwpKYWphLCBkYXMgaGFiZSBpY2ggYXVjaCBiZWdyaWZmZW4gbWl0IGRlciBHcnVwcGVuLT5LbGluZ2VsdG9uLVp1b3JkbnVuZy4gCkFiZXIgYmVpIG1laW5lbSBWb3JnYWVuZ2VyLVRlbGVmb24ga29ubnRlIG1hbiBhdWNoIGViZW4gZGllc2Ugc2NoaWNrZSAKIk51ciBBZHJlc3NidWNoLUVpbnRyYWVnZSItRWluc3RlbGx1bmcgdm9ybmVobWVuIHVuZCBkaWUgYnJhdWNoIGljaCBudW4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJlZGllbnVuZyBNb2JpbHRlbGVmb24gKE1vbnRhbnVzLCAxMC4gTWFpIDIwMDUsIDEyOjA0OjQ4KToKfiMhIHJuPVpvb2sgcnQ9MTExNTcxMzg4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE1NjUxNjEzCldlciBLbGluZ2VsdG9lbmUgbmFjaG1hY2h0IG9kZXIgdmVyZmFlbHNjaHQgb2RlciBuYWNoZ2VtYWNodGUgb2Rlcgp2ZXJmYWVsc2NodGUgS2xpbmdlbHRvZW5lIGluIFVtbGF1ZiBicmluZ3QsIHdpcmQgbWl0IEtsaW5nZWx0b253ZXJidW5nIG5pY2h0CnVudGVyIDEwIFN0dW5kZW4gVklWQSBiZXN0cmFmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJlZGllbnVuZyBNb2JpbHRlbGVmb24gKENvcm5ob2xpbywgMTAuIE1haSAyMDA1LCAxNToyMjo1MCk6Cn4jISBybj1Nb250YW51cyBydD0xMTE1NzE5NDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTU2NTE2MTMKLi4uIHdpcmQgYWxzbyBtaXQgZWluZW0gVGFnIFZpdmEgYmVzdHJhZnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJlZGllbnVuZyBNb2JpbHRlbGVmb24gKENhdHdlYXpsZSwgMTAuIE1haSAyMDA1LCAxNjozNjoxNSk6Cn4jISBybj1Nb250YW51cyBydD0xMTE1NzE5NDg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTU2NTE2MTMKTmEgZGFzIHdhZXIgYWJlciBlaW4gYmlzc2NoZW4gaGFydC4KCkRlciBLTGluZ2VsdG9uZGF1ZXJ3ZXJiZXNlbmRlciBWaXZhIHdpcmQgZG9jaCBhbSBUYWcgbWF4aW1hbCB2b24gMi0zCk11c2lrY2xpcHMgdW5kIG1pdCB2aWVsIEdsdWVjayBlaW5tYWwgTmFjaHJpY2h0ZW4gYXVmZ2VmdWVsbHQuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBzLWZpbGUgImJlaGFuZGVsbiIgKFZlY3RvciwgMTkuIE1haSAyMDA1LCAyMTo1Njo0MSk6CnZvciBjYSBlaW5lbSBqYWhyIGhhYiBpY2ggb25saW5lIGRpZSBrb250b2Jld2VndW5nZW4gZGVzCmdpcm9rb250b3Mgdm9tIGJyb3dzZXJmZW5zdGVyIGRpcmVrdCBpbiBuZSAucHMtZGF0ZWkKZ2VzcGVpY2hlcnQgKHVudGVyIHdpbjJrKSwgZGFzIGdhbnplIGdlc2NoYWggdWViZXIgZGFzCmRydWNrZXJtZW51IChkYSBnaWJ0cyBzbyBuZSBlaW5zdGVsbHVuZyAiaW4gZGF0ZWkgCmRydWNrZW4iIG9kZXIgc28gYWVobmxpY2gsIGhvZmZlIG1hbiBrb21tdCBkcmF1ZiB3YXMgaWNoCm1laW5lLgpkYSBudW4gdmVyc2NoaWVkZW5lIGVpbnN0ZWxsdW5nZW4gZ2VmZWhsdCBoYWJlbiBiencKZmFsc2NoIHNpbmQsIGlzdCBkaWUgLnBzLWRhdGVpIGZlaGxlcmhhZnQsIGQuaC4KbGFlc3N0IHNpY2ggbmljaHQgc2lubnZvbGwgYXVzZHJ1Y2tlbiAoYW4gZGVyIHVuaSB6LmIuKQoKZ2lidHMgZGVubiBpcmdlbmR3ZWxjaGUgdG9sbGVuIHRvb2xzLCBkaWUgbWlyIGRpZQoucHMtZGF0ZWkgc2Nob2VuIGJlYXJiZWl0ZW4gd2llZGVyIGxlc2JhciBtYWNoZW4Kb2RlciBzb25zdCBuZSBtb2VnbGljaGtlaXQgYmlldGVuIGRhcyBpY2ggd2llZGVyCmFuIGRpZSBrb250ZW5iZXdlZ3VuZ2VuIHZvbiBkYW1hbHMgcmFua29tbWU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcHMtZmlsZSAiYmVoYW5kZWxuIiAoVGFyYW5pcywgMTkuIE1haSAyMDA1LCAyMjowODowMik6Cn4jISBybj1WZWN0b3IgcnQ9MTExNjUzMjYwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE2NTMyNjAxCkFsc28sIFBTICJiZWFyYmVpdGVuIiBpbSBlaWdlbnRsaWNoZW4gU2lubmUgaXN0IHVudWVibGljaCB1bmQgaW0gd2VzZW50bGljaGVuCkhhbmRhcmJlaXQuIEFsbGVyZGluZ3Mgc29sbHRlc3QgRHUgRGlyIHZpZWxsZWljaHQgbWFsIGdob3N0c2NyaXB0IHVuZApnaG9zdHZpZXcgYW5zY2hhdWVuLCB2aWVsbGVpY2h0IGtsYXBwdCBlcyBkYW1pdCBqYSwgc2ljaCBkaWUgRmlsZXMgYW56dXNjaGF1ZW4KYnp3LiBzaWUgdW16dXdhbmRlbG4vYXVzenVkcnVja2VuLiBBbnNvbnN0ZW4gZ2lidCBlcyBub2NoIGRpZSBwc3V0aWxzLAphbGxlcmRpbmdzIHNldHplbiBkaWUgImtvcnJla3RlcyIgUG9zdHNjcmlwdCB1bmQgRFNDLUNvbW1lbnRzIHZvcmF1cywgd2FzCnZpZWxsZWljaHQgYmVpIGRlbSBLcmFtIHZvbiBEaXIgbmljaHQgZGVyIEZhbGwgaXN0LgpCaXN0IER1IERpciBkZW5uIHNpY2hlciwgZGFzcyBkYXMgd2lya2xpY2ggUFMgaXN0PyBEYXMgImluIERhdGVpIGRydWNrZW4iIGJlaQpXaW5kb3dzIGdpYnQgbmFlbWxpY2ggbnVyIGRhbm4gUG9zdHNjcmlwdCwgd2VubiBlcyB3aXJrbGljaCBlaW4KUG9zdHNjcmlwdGRydWNrZXIgd2FyLCBhdWYgZGVuIER1IGdlZHJ1Y2t0IGhhc3QuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBzLWZpbGUgImJlaGFuZGVsbiIgKENvcm5ob2xpbywgMTkuIE1haSAyMDA1LCAyMjozMToyMik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTY1MzMyODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNjUzMjYwMQpJY2ggZW1wZmVobGUgamEgZnVlciBzb2xjaGUgWndlY2tlIGRlbiBBZG9iZVBTLURydWNrZXJ0cmVpYmVyCmlua2x1c2l2ZXIgZW50c3ByZWNoZW5kZXIgUFBELgpTb3dlaXQgaWNoIHdlaXNzLCBzaW5kIGRpZSBmcmVpIHZlcmZ1ZWdiYXIuCkFiZXIgZGFzIGxvZXN0IGRhcyBQcm9ibGVtIGpldHp0IGF1Y2ggbmljaHQ7IG5pbW0gRGlyIGFsc28gLS0gdm9uIFRhcmFuaXMKZW1wZm9obGVuIC0tCkdTIHp1ciBCcnVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBzLWZpbGUgImJlaGFuZGVsbiIgKEdyaW1tYm9ybiwgMjAuIE1haSAyMDA1LCAwNzo1Mjo1NCk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExNjUzNDY4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE2NTMyNjAxClZlcnN1Y2hzIG1hbCBtaXQgcHMycHMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWRpZW51bmcgTW9iaWx0ZWxlZm9uIChab29rLCAyMC4gTWFpIDIwMDUsIDEyOjMxOjE4KToKfiMhIHJuPVpvb2sgcnQ9MTExNTY1MTYxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE1NjUxNjEzCk5hY2hmcmFnZSBiZWkgU2llbWVucyBoYXQgZXJnZWJlbiwgZGFzcyBkaWUgRmlsdGVyLUVpbnN0ZWxsdW5nICJTSU0iIG51cgpzb2xjaGUgQW5ydWZlIGR1cmNobGFlc3N0LCBkaWUgaW0gVGVsZWZvbmJ1Y2ggKFNJTS1LYXJ0ZSkgZ2VzcGVpY2hlcnQgc2luZC4KRWluIFRlc3QgZXJnYWIsIGRhc3MgZGllcyBzaWNoIHdvaGwgYXVjaCBhdWYgZGFzIEFkcmVzc2J1Y2ggKFRlbGVmb24pIApiZXppZWh0LgoKSW1tZXJoaW4sIGRpZSBFLU1haWwtSGVpc2UtTGluaWUgaGF0IGhhbGJ3ZWdzIHZlcm51ZW5mdGlnIGdlZnVuenQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcHMtZmlsZSAiYmVoYW5kZWxuIiAoV3VyemVsLCAyMy4gTWFpIDIwMDUsIDA5OjE3OjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTE2NTY4Mzc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTY1MzI2MDEKaWNoIGthbm4gbWljaCB2ZXJzY2h3b21tZW4gZHJhbiBlcmlubmVybiwgZGFzcyBpY2ggbWFsIHBzLWZpbGVzIG1pdCBlaW5lbQpnYW56IGJhbmFsZW4gdmkgYmVhcmJlaXRldCBoYWJlLCB1bSBkYXMgZm9ybWF0IHJpY2h0aWcgaGluenViZWtvbW1lbi4gaXN0Cnp3YXIgc2Nob24gZWluZSBoYWxiZSBld2lna2VpdCBoZXIsIHNvbGx0ZSBoZXV0ZSBhYmVyIGdlbmF1c28gbm9jaCBnZWhlbi4Kb2IgZXMgYWxsZXJkaW5ncyB0b2xsZXJlIHRvb2xzIGRhZnVlciBnaWJ0IGhldXR6dXRhZ2UsIHdlaXNzIGljaCBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlYXJiZWl0ZW4gdm9uIGFuaW1pZXJ0ZW4gR0lGcyAoTGlhcmEsIDI1LiBNYWkgMjAwNSwgMjM6NDU6MzgpOgpNb2luISBIYWJlIFByb2JsZW1lLCB3ZW5uIGljaCBlaW5lcyBkZXIgRnJhbWVzIGVpbmVzIGFuaW1pZXJ0ZW4gR0lGcwp2ZXJhZW5kZXJuIHdpbGwuIE5hY2ggZGVyIEJlYXJiZWl0dW5nIChoYWJlIG51ciBlaW4gU3R1ZWNrIGRlcyBCaWxkZXMKYWJnZXNjaG5pdHRlbikgekIgaW4gSXJmYW5WaWV3IG9kZXIgTVMgUGFpbnQgdW5kIGFuc2NobGllc3NlbmRlbSBFaW5mdWVnZW4gZGVzCkVpbnplbGJpbGRlcyBpbiBlaW5lbiBHSUYtRWRpdG9yIHdpcmQgZGllIFBhbGV0dGUgZmFsc2NoIHdpZWRlcmdlZ2ViZW4uCkplZGVuZmFsbHMgc2llaHQgZXMgc28gYXVzLCBhbHMgb2IgZGFzIEJpbGQgZWluZSBkZXV0bGljaCBzY2hsZWNodGVyZQpRdWFsaXRhZXQgaGF0IGJ6dy4gZ3JvZWJlciBnZXBpeGVsdCBpc3QuCldvcmFuIGxpZWd0IGRhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWFyYmVpdGVuIHZvbiBhbmltaWVydGVuIEdJRnMgKExpYXJhLCAyNS4gTWFpIDIwMDUsIDIzOjQ3OjE4KToKfiMhIHJuPUxpYXJhIHJ0PTExMTcwNTc1Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExNzA1NzUzOApOYWNodHJhZzogQWxzIEdJRi1Qcm9nZ3kgaGF0dGUgaWNoIG1hbCBkZW4gTVMgR0lGIEFuaW1hdG9yIHZlcndlbmRldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVhcmJlaXRlbiB2b24gYW5pbWllcnRlbiBHSUZzIChDb3JuaG9saW8sIDI2LiBNYWkgMjAwNSwgMTA6MjM6MjQpOgp+IyEgcm49TGlhcmEgcnQ9MTExNzA1NzYzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE3MDU3NTM4CkFkb2JlcyBJbWFnZVJlYWR5IGZ1bmt0aW9uaWVydCBtZWlzdGVucyByZWNodCBicmF1Y2hiYXIgaW4gZGVyIEhpbnNpY2h0LApzY2hvbiBwcm9iaWVydD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJlYXJiZWl0ZW4gdm9uIGFuaW1pZXJ0ZW4gR0lGcyAoT3JrdG9ldGVyLCAyNi4gTWFpIDIwMDUsIDIxOjI1OjI3KToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTE3MDk1ODA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTcwNTc1MzgKV2VubiBkdSBlaW4gU3R1ZWNrIHdlZ2dlc2Nobml0dGVuIGhhc3QsIHdpcmQgZG9jaCB3b2hsIGRlciBSZXN0IHNvCnZlcmdyb2Vzc2VydCwgZGFzcyBlcyB3aWVkZXIgZGllIHVyc3BydWVuZ2xpY2hlIEdyb2Vzc2UgaGF0LCBvZGVyPyBEYW5uIGlzdCBlcwphdWNoIG5pY2h0IHZlcnd1bmRlcmxpY2gsIHdlbm4gZGFiZWkgZGllIFF1YWxpdGFldCBsZWlkZXQuCgpPcmtUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpib2dvZmlsdGVyIGZ1ZXIgd2luMzIgKENvcm5ob2xpbywgMzAuIE1haSAyMDA1LCAxNToxNzoyMyk6CkljaCBnbGF1YmUgbWljaCBlcmlubmVybiB6dSBrb2VubmVuLApkYXNzIGVzIGJpbmFyaWVzIGZ1ZXIgd2luMzIgdm9uIGJvZ29maWx0ZXIgZ2FiLgpIYXQgamVtYW5kIGRhIGVpbmVuIEhpbndlaXM/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJvZ29maWx0ZXIgZnVlciB3aW4zMiAoQ2F0d2VhemxlLCAzMC4gTWFpIDIwMDUsIDE1OjMxOjQzKToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTE3NDU5MDQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTc0NTkwNDMKS2xhcjogd3d3Lmdvb2dsZS5jb20KCllUQyAod29sbHRlIGF1Y2ggbWFsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBib2dvZmlsdGVyIGZ1ZXIgd2luMzIgKENvcm5ob2xpbywgMzAuIE1haSAyMDA1LCAxNTozNTo0Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTExNzQ1OTkwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE3NDU5MDQzCk9rYXksIGljaCBwcmFlemlzaWVyZTogaGF0IGplbWFuZCBlaW5lbiBMaW5rIHp1IGRlbSBCaW5hcnk/Ck9id29obCBpY2ggZWluIEZhdWxpIGJpbiwgaGFiZSBpY2ggdHJvdHpkZW0gZWluIHdlbmlnClVzZW5ldCB1bmQgV2ViIGJlbXVlaHQsIGJldm9yIGljaCBFdXJlIHdlcnR2b2xsZSBaZWl0IGluIEFuc3BydWNoIG5haG0uCjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYXRleC1VbWdlYnVuZyAoVmFuaW9uLCAxMi4gSnVuIDIwMDUsIDExOjQ2OjU3KToKSGksCgpWb3IgZWluaWdlbiBKYWhyZW4sIGFscyBpY2ggbWVpbmUgU3R1ZGllbi0gdW5kIERpcGxvbWFyYmVpdCBnZXNjaHJpZWJlbiBoYWJlLApoYWIgaWNoIHVudGVyIFdpbmRvd3MgZWluIE1pa3RleCBiZW51dHp0LCBkYXMgbWlyIGltIGdyb3NzZW4gdW5kIGdhbnplbiBzZWhyCmd1dCBnZWZhbGxlbiBoYXQuIERhenUga2FtIG5vY2ggZWluIEVkaXRvciwgZGVzc2VuIE5hbWUgbWlyIG5pY2h0IG1laHIKZWluZmFsbGVuIHdpbGwuIEVyZ2Flbnp0IGhhYiBpY2ggZGllIGZlaGxlbmRlbiBQYWtldGUgZGFubiB2b24gRGFudGUuCgpJbSBrb21tZW5kZW4gU2VtZXN0ZXIgd2VyZCBpY2ggd29obCB3aWVkZXIgZWluLCB6d2VpIGdyb2Vzc2VyZSBBcmJlaXRlbgpzY2hyZWliZW4gbXVlc3Nlbi4gTWVpbmUgRXJmYWhydW5nZW4gbWl0IE1TIFdvcmQgdW5kIGdyb3NzZW4gRG9rdW1lbnRlbgptb2VjaHRlIGljaCBpbiBkaWVzZW0gWnVzYW1tZW5oYW5nIGtlaW5lIG5ldWUgaGluenVmdWVnZW4uIEFsc28gZGFjaHRlIG1pciwKZGFzIHdhZXIgZWluZSBndXRlIEdlbGVnZW5oZWl0LCBkaWUgbGVpY2h0IGFuZ2VzdGF1YnRlbiBMYXRleC1LZW5udG5pc3NlIG1hbAp3aWVkZXIgdm9yenVrcmFtZW4uCgpOdXIgaGFiIGljaCBzZWl0IGRlbSBkYXMgQmV0cmllYnNzeXN0ZW0gZ2V3ZWNoc2VsdCB1bmQgYmlzaGVyIG5vY2gga2VpbmUKRXJmYWhydW5nZW4gbWl0IExhdGV4IHVudGVyIExpbnV4LiBJbnNiZXNvbmRlcmUgd2VsY2hlIERpc3Ryb3MvRXJ3ZWl0ZXJ1bmdlbgpzaW5udm9sbCBzaW5kLCB1bmQgbWl0IHdlbGNoZW4gRWRpdG9yZW4gbWFuIGd1dCBhcmJlaXRlbiBrYW5uLgoKWnVtIEVkaXRvcjogSWNoIGJpbiBrZWluIFRlcm1pbmFsLUZldGlzY2hpc3QuIFRlcm1pbmFscyBoYWJlbiBpaHJlCkJlcmVjaHRpZ3VuZywgYWJlciBmdWVyIEVkaXRvcmVuIGZpbmRlIGljaCBHVUlzIHRvbGwuCgpWaWVsbGVpY2h0IGhhYnQgaWhyIGphIGV1cmUgRXJmYWhydW5nZW4gZ2VtYWNodCwgdW5kIGtvZW5udCBtaXIgZGFtaXQgZGVuCkVpbnN0aWVnIGVpbiB3ZW5pZyBlYm5lbi4KCkdydXNzLCBWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhdGV4LVVtZ2VidW5nIChHcmltbWJvcm4sIDEyLiBKdW4gMjAwNSwgMTE6NDg6MjkpOgp+IyEgcm49VmFuaW9uIHJ0PTExMTg1Njk2MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpFcyBnaWJ0IGF1Y2ggWGVtYWNzLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGF0ZXgtVW1nZWJ1bmcgKFpvb2ssIDEyLiBKdW4gMjAwNSwgMTE6NTA6NDkpOgp+IyEgcm49VmFuaW9uIHJ0PTExMTg1Njk2MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwp0ZXRleCBpc3QgcmVjaHQgZ3V0LCBkYSBpc3QgYXVjaCBuZW4gZ2FuemVyIGhhdWZlbiBsYXRleC1wYWtldGUgYmVyZWl0cwpkYWJlaS4gamVkb2NoIG11c3N0IGR1IGRpY2ggZGFtaXQgYW5mcmV1bmRlbiwgZGFzcyBkYXMgbmFjaGluc3RhbGxpZXJlbgp6dW0gdGVpbCBlYmVuIGhhZW5kaXNjaCBlcmZvbGdlbiBtdXNzLiBlYmVuc28gZmFsbHMgZHUgbm9jaCBkdmkqLXByb2dyYW1tZQpvZGVyIHBzdXRpbHMgb2RlciBzbyBicmF1Y2hzdC4gCgplZGl0b3Jlbi4uLiBobW0uLiBmdWVyIGxhdGV4IHVudGVyIGxpbnV4PyBrZWluZSBhaG51bmcsIG9iIGVzIGRhIGV0d2FzCmFuZ2VwYXNzdGVzIGdpYnQuIG1laW4gZW1hY3MgaGF0IGVpbmVuIGxhdGV4LW1vZGUsIGRhIGthbm4gbWFuIGF1Y2ggaGVydW0tCmtsaWNrZW4sIHdlbm4gbWFuIFggdmVyd2VuZGV0LgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGF0ZXgtVW1nZWJ1bmcgKFZhbmlvbiwgMTIuIEp1biAyMDA1LCAxMTo1MzowNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExODU2OTcwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE4NTY5NjE3CkljaCBmaW5kZSAoeCllbWFjcyBlaHJsaWNoIGdlc2FndCB6dSB1bXN0YWVuZGxpY2ggaW4gZGVyIEtvbmZpZ3VyYXRpb24gdW5kCkhhbmRoYWJ1bmcuICh4KXZpKG0pIGlzIGF1Y2ggbmljaCBkYXMsIHdhcyBpY2ggbWlyIHZvcnN0ZWxsZSwgd2VubiBpY2ggYW4KZWluZW0gbGFlbmdlcmVuIFRleHQgYXJiZWl0ZW4gd2lsbC4gQmVpIGJlaWRlbiBiZXNjaGFlZnRpZ3QgbWFuIHNpY2ggbGV0enRsaWNoCm1laHIgbWl0IGRlbSBFZGl0b3IgYWxzIG1pdCBkZXIgZWlnZW50bGljaGVuIEFyYmVpdC4KCkRhcyBzb2xsIGpldHp0IGJpdHRlIGFiZXIga2VpbiBlbWFjcyB2cy4gdmltLUZsYW1ld2FyIHdlcmRlbi4KClVudGVyIFdpbmRvd3MgaGF0dGUgaWNoIGhhbHQgZWluZW4gbmV0dGVuIEVkaXRvciwgZGVyIGF1Y2ggZ2xlaWNoIEJpYnRleCB1bmQKY28gbWl0IGVpbmdlYnVuZGVuIGhhdHRlLiBTbyBlaW5lIHNwZXppYWxpc2llcnRlIEFsbC1JbmNsdXNpdmUtTG9lc3VuZy4gU293YXMKc2Nod2VidCBtaXIgZWlnZW50bGljaCB2b3IuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGF0ZXgtVW1nZWJ1bmcgKFpvb2ssIDEyLiBKdW4gMjAwNSwgMTE6NTQ6MDMpOgp+IyEgcm49VmFuaW9uIHJ0PTExMTg1Njk5ODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwp1bnRlciB3aW5kb3dzIGdhYnMgc28gZWluZSB0ZXhzaGVsbDsgdmxsLiBnaWJ0IGVzIGRhcyBiZWkgbGludXggYXVjaC4gbWFsCmJlaSB3d3cuZGFudGUuZGUgZ2VzY2hhdXQ/Cgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGF0ZXgtVW1nZWJ1bmcgKFZhbmlvbiwgMTIuIEp1biAyMDA1LCAxMTo1NToxNSk6Cn4jISBybj1ab29rIHJ0PTExMTg1NzAwNDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpOb2NoIG5pY2ggc28gaW50ZW5zaXYuIEljaCBoYXR0ZSBtYWwgZWluIHBhYXIgRXhwZXJpbWVudGUgZ2VtYWNodCwgZnVlcgpTaWx2YW5hLCB2b3IgendlaSBvZGVyIGRyZWkgSmFocmVuLiBJY2ggZ2xhdWIgZGEgaGF0dGUgaWNoIGF1Y2ggVGV0ZXgKZ2Vub21tZW4uIEFscyBFZGl0b3IgaGF0dGUgaWNoIGRhIGFiZXIgbnVyIGNhdC4gOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMYXRleC1VbWdlYnVuZyAoTXVwZmVsLCAxMi4gSnVuIDIwMDUsIDExOjU2OjE1KToKfiMhIHJuPVZhbmlvbiBydD0xMTE4NTcwMTE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTg1Njk2MTcKV2llIHdhZXJzIGRlbm4gbWl0IEx5WD8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMYXRleC1VbWdlYnVuZyAoQXJhdGhvcm4sIDEyLiBKdW4gMjAwNSwgMTI6Mjk6NTcpOgp+IyEgcm49TXVwZmVsIHJ0PTExMTg1NzAxNzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpmdWVyIExpbnV4IGthbm4gaWNoIGRlbiBLaWxlIChLIEludGVncmF0ZWQgTGF0ZXggRW52aXJvbm1lbnQpIGVtcGZlaGxlbiwKZnJ1ZWhlciBtYWwgYmVrYW5udCBhbHMgS3RleG1ha2VyLgoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhdGV4LVVtZ2VidW5nIChSb2hsb2ZmLCAxMi4gSnVuIDIwMDUsIDE2OjAwOjI2KToKfiMhIHJuPVZhbmlvbiBydD0xMTE4NTY5NjE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTg1Njk2MTcKSW0gWnVzYW1tZW5oYW5nIG1pdCBNa3RleCBoYXN0IER1IHVudGVyIFdpbmRvd3MgdmllbGxlaWNodCBYRW1hY3MgZ2VudXR6dC4KRGFzIFByb2dyYW1tIGdpYnQgZXMgYXVjaCB1bnRlciBMaW51eC4KRGEgaWNoIHNlbGJzdCBuaWNodCBtaXQgTGludXggYXJiZWl0ZSwga2FubiBpY2ggZGF6dSBuaWNodCB2aWVsIHNhZ2VuLiBTb2xsdGUKc2ljaCBhYmVyIG5pY2h0IGdyb3NzIHZvbiBkZXIgV2luZG93cy1WYXJpYW50ZSB1bnRlcnNjaGVpZGVuLgpWaWVsIEVyZm9sZwpSb2hsb2ZmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhdGV4LVVtZ2VidW5nIChDb3JuaG9saW8sIDEyLiBKdW4gMjAwNSwgMTY6MDk6MTUpOgp+IyEgcm49Um9obG9mZiBydD0xMTE4NTg0ODI2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTg1Njk2MTcKaHR0cDovL3d3dy5kYW50ZS5kZS9mYXEvZGUtdGV4LWZhcS9odG1sL3dvaGVyLmh0bWwKRG9ydCBnaWJ0IGVzIGF1Y2ggZWluIHBhYXIgR1VJcyBhdWZnZWxpc3RldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGF0ZXgtVW1nZWJ1bmcgKFZhbmlvbiwgMTIuIEp1biAyMDA1LCAxNjoxMzo1NCk6Cn4jISBybj1Sb2hsb2ZmIHJ0PTExMTg1ODQ4MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpTbywgaWNoIGhhYiBqZXR6dCBub2NoIG1hbCBuYWNoZ2VzZWhlbi4gVW50d2UgV2luZG93cyBoYWIgaWNoIFdpbkVkdCBiZW51dHp0LgpHZW5hdSwgc28gaGllc3MgZGFzLiBEYW5rZSB1ZWJyaWdlbnMgZnVlciBkZW4gRGFudGUtTGluay4gSWNoIGd1Y2sgZGEgaGV1dAphYmVuZCBtYWwgcmVpbiB1bmQgcHJvYmllciBtaWNoIGR1cmNoLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGF0ZXgtVW1nZWJ1bmcgKEtlbGx5YnVuZHksIDEyLiBKdW4gMjAwNSwgMTc6MjA6MjEpOgp+IyEgcm49Wm9vayBydD0xMTE4NTY5ODQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTg1Njk2MTcKSWNoIGhhYmUgbWl0IGVtYWNzICsgYXVjdGV4IGhlcnZvcnJhZ2VuZGUgRXJmYWhydW5nZW4gZ2VtYWNodC4KYXVjdGV4IGlzdCBlaW4gcGFrZXQgZnVlciBlbWFjcywgZGFzIGR1cmNoIGVpbnJ1ZWNrdW5nIGJ6dyBmYXJibGljaGUKSGVydm9yaGVidW5nIHZvbiBsYXRleC1jb21tYW5kcyBVZWJlcnNpY2h0bGljaGtlaXQgZXJ6ZXVndC4gbWl0IHhlbWFjcyBrb25udGUKaWNoIG1pY2ggYWxzIEtvbnNvbGVucHVyaXN0IGRhZ2VnZW4gbmljaHQgc28gYW5mcmV1bmRlbiwgYWJlciBkYXMgaXN0Ckdlc2NobWFja3NzYWNoZS4KQmxvZV5IbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYXRleC1VbWdlYnVuZyAoT3JrdG9ldGVyLCAxMy4gSnVuIDIwMDUsIDE4OjQ2OjUzKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTExODU4OTYyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE4NTY5NjE3CktpbGUgbWFjaHQgZWluZW4gZ2FueiBuZXR0ZW4gRWluZHJ1Y2ssIHdlbm4gaWNoIG5ldSBtaXQgTGFUZVggYmVnaW5uZW4gd3VlcmRlLAp3YWVyZSBkYXMgd29obCBkYXMgTWl0dGVsIGRlciBXYWhsLCBzbyBibGVpYmUgaWNoIHp1bWluZGVzdCBiZWkgbWVpbmVuIGRyZWkKRmVuc3Rlcm4gbWl0IFZpbSB4eXoudGV4IDsgeGR2aTsgdW5kIGxhdGV4IHh5egoKV29iZWkuLi4gZGllc2VzICJpbiBkYXMgLmR2aSBrbGlja2VuIHVuZCBkZXIgQ3Vyc29yIHN0ZWh0IGltIEVkaXRvciBhbiBkZXIKU3RlbGxlIGltIC50ZXgtZmlsZSBoYXQgc2Nob24gZXR3YXMuLi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMYXRleC1VbWdlYnVuZyAoQWxrb2hvbCwgMTMuIEp1biAyMDA1LCAyMTowNTowNyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTExODY4MTIxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE4NTY5NjE3CmRhcyBrYW5uc3QgYXVjaCBvaG5lIGtpbGUgaGFiZW4sIGVpbmZhY2ggbWl0IHZpbQoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGF0ZXgtVW1nZWJ1bmcgKE9ya3RvZXRlciwgMTMuIEp1biAyMDA1LCAyMToyNTowMyk6Cn4jISBybj1BbGtvaG9sIHJ0PTExMTg2ODk1MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpOYW51ZT8gV2llPwpXYWVyZSBtaXIgbmV1IGRhcyBtYW4gdm9tIHhkdmkgaW4gZGVtIG1hbiBnZXJhZGUgZWluZW4gVHlwbyBvZGVyIGFlaG5saWNoZXMKbGllc3Qgc29mb3J0IGRlbiBDdXJzb3IgYW4gZGllIGVudHNwcmVjaGVuZGUgU3RlbGxlIGltIC50ZXgtRmlsZSBiZWtvbW10LgooU3VjaGVuIGhpbGZ0IG1laXN0ZW5zLCBhYmVyIG5pY2h0IGltbWVyKQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IExhdGV4LVVtZ2VidW5nIChDb3JuaG9saW8sIDE1LiBKdW4gMjAwNSwgMTc6Mjc6MDYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMTg2OTA3MDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExODU2OTYxNwpVZWJyaWdlbnMgaGF0IExlaG1hbm5zIHp1ciBaZWl0IHNlaHIgKHByZWlzbGljaCkgaW50ZXJlc3NhbnRlCkFuZ2Vib3QgenVtIFRoZW1hIExhVGVYIGluIEZvcm0gdm9uIENEL0RWRCB1bmQgQnVjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZSBOb3RlYm9vay1QbGF0dGUga2F1ZmVuPyAoSmFtZXNvbiwgMjMuIEp1biAyMDA1LCAxMDozMTo0OCk6CldhcyBrYXVmdCBtYW4gc2ljaCBkZW5uIGRlcnplaXQgYW0gYmVzdGVuIGZ1ZXIgZWluZSA4MC1HQi1Ob3RlYm9vay1GZXN0cGxhdHRlPwpMYXV0IFRlc3QgaW4gYyd0IDYvMDUgaGF0IGRpZSBIaXRhY2hpIFRyYXZlbHN0YXIgNUsxMDAgKEhUUzU0MTA4MCkgZ2FueiBuZXR0ZQpEYXRlbiwgc2NoZWludCBlaW4gYnJhdWNoYmFyZXIgS29tcHJvbWlzcyB6d2lzY2hlbiBEdXJjaHNhdHogdW5kIFByZWlzIHp1CnNlaW4uIEdsYXVidCBqZW1hbmQsIGRhdm9uIHNvbGxlIG1hbiBsaWViZXIgZGllIEZpbmdlciBsYXNzZW4/IEJlc3NlcmUKVm9yc2NobGFlZ2U/IEljaCBsZWdlIFdlcnQgYXVmIGVpbmUgZWNodGUgSGVyc3RlbGxlcmdhcmFudGllLCBhdWNoIHdlbm4gc2llCndpZSBkaWUgZ2VzZXR6bGljaGUgR2V3YWVocmxlaXN0dW5nIGViZW5mYWxscyBudXIgendlaSBKYWhyZSBiZXRyYWVndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2huZXJwcm9ibGVtIChCYW1idWxrbywgMjQuIEp1biAyMDA1LCAwMToxMDoxNSk6CkljaCBoYWJlIHp1ciBaZWl0IGVpbiBzZWx0c2FtZXMgUHJvYmxlbSBtaXQgbWVpbmVtIERlc2t0b3AtUmVjaG5lci4gTmFjaApsYW5nZXIgWmVpdCBvaG5lIFByb2JsZW1lIHN0dWVyenRlIGF1ZiBlaW5tYWwgV2luZG93cyBpbW1lciBrdXJ6IG5hY2ggZGVtClN0YXJ0IGFiLiBNZWlzc3RlbnMgaXN0IGVzIG9rLCB3ZW5uIGljaCBXaW5kb3dzIGhvY2hmYWhyZSwgYWJlciB3ZW5uIGljaCBlaW4KUHJvZ3JhbW0gc3RhcnRlIGJvb3RldCBkZXIgUmVjaG5lciBuZXUuClp1bmFlY2hzdCBkYWNodGUgaWNoIGFuIGVpbmVuIFZpcnVzIHVuZCBoYWJlIG1pciBlaW5lIG5ldWUgRmVzdHBsYXR0ZSBnZWthdWZ0CihtZWluZSBhbHRlIHdhciBtaXQgMjBHYiBlaCBldHdhcyBrbGVpbikgdW5kIGhhYmUgdmVyc3VjaHQgZGFyYXVmIFdpbmRvd3MgenUKaW5zdGFsaWVyZW4gKGRpZSBhbHRlIFBsYXR0ZSB3YXIgYWJnZWtsZW1tdCkuIE5hY2ggZWluaWdlciBaZWl0IGthbSBlaW5lCkZlaGxlcm1lbGR1bmcsIGRhc3MgZWluZSBEYXRlaSBuaWNodCBrb3BpZXJ0IHdlcmRlbiBrb25udGUgdW5kIGRpZQpJbnN0YWxsYXRpb24gd3VyZGUgYWJnZWJyb2NoZW4uIEljaCBkYWNodGUsIGRhc3MgdmllbGVpY2h0IGRpZSBDRCBkZWZla3Qgd2FyCnVuZCBoYWJlIHZlcnN1Y2h0IExpbnV4IGF1ZiBkaWUgbmV1ZSBQbGF0dGUgenUgaW5zdGFsbGllcmVuLiBIaWVyIGhhdHRlIGljaAphYmVyIGRhcyBnbGVpY2hlIFByb2JsZW0uIE5hY2ggZWluaWdlciBaZWl0IGthbSBlaW5lIEZlaGxlcm1lbGR1bmcgdW5kIGRlcgpSZWNobmVyIHN0dWVyenRlIGFiLgpBbSBDRC1MYXVmd2VyayBrYW5uIGVzIGF1Y2ggbmljaHQgbGllZ2VuLCBkYSBpY2ggendlaSB2ZXJzY2hpZWRlbmUgYXVzcHJvYmllcnQKaGFiZS4gSWNoIGdsYXViZSBhdWNoIG5pY2h0IGRhc3MgenVmYWVsbGlnIGJlaWRlIENEcyAoV2luIHVuZCBMaW51eCkga2FwdXR0CmdlaGVuLgpIYXQgaXJnZW5kamVtYW5kIGVpbmUgQWhudW5nLCB3YXMgbmljaHQgc3RpbW1lbiBrYW5uPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWNobmVycHJvYmxlbSAoR2xvaW5zb24sIDI0LiBKdW4gMjAwNSwgMDE6Mjc6MDcpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTExOTU2ODIxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1Cj4gIGRhY2h0ZSBpY2ggYW4gZWluZW4gVmlydXMgdW5kIGhhYmUgbWlyIGVpbmUgbmV1ZSBGZXN0cGxhdHRlIGdla2F1ZnQKCipodXN0KiBTdGVodCBkYSBldHdhIGVpbiB1bnNpY2h0YmFyZXMgImRlc2hhbGIiPyAKClN0YXJ0IGRvY2ggbWFsIExpbnV4IHZvbiBDRCAoS25vcHBpeCkgdW5kIGd1Y2ssIHdpZSBlcyBsYWV1ZnQuIERhcyBrb2VubnRlCmFsbGVzIHNlaW4sIHZvbiBIaXR6ZXByb2JsZW1lbiBkZXIgQ1BVIGJpcyBoaW4genUgZWluZW0gZ2FueiBiYW5hbGVuCkF1c2ZhbGwvTGVzZXByb2JsZW0gYmVpZGVyIENELUxhdWZ3ZXJrZSAoaXN0IG1pciBhdWNoIHNjaG9uIHBhc3NpZXJ0KS4KCkZlcm5kaWFnbm9zZW4gbWFjaGUgaWNoIGFtIGxpZWJzdGVuIG1pdCBUYXJvdC1LYXJ0ZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaG5lcnByb2JsZW0gKENvcm5ob2xpbywgMjQuIEp1biAyMDA1LCAwMToyODowNSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTE5NTY4MjE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTk1NjgyMTUKV2FzIGlzdCBkYXMgZGVubiBmdWVyIGVpbiBSZWNobmVyIHVuZCB3YXMgbGllZmVydGUgTGludXgKKG5pbW0gZG9jaCB3YXMgYW5zdGFlbmRpZ2VyZXMgOykgKSBmdWVyIE1lbGR1bmdlbiBrdXJ6IHZvbSBBYmtyYXR6ZW4/CgpLb2VubnRlIGphIGFsbGVybGVpIHNlaWVuLCBTeW5jIHVuZCBUaW1pbmcgKFNDU0ksIEFUQT8sIG1hbApQbGF0dGUgdW5kIENEUk9NIGF1ZiBnZXRyZW5udGVuIExlaXR1bmdlbiBmYWhyZW4gbGFzc2VuPykgb2RlcgpnYXIgbWVjaGFuaXNjaCAoV2Fja2xlciwgVmlicmF0aW9uKSBvZGVyIHdlaXNzZGVyZ2VpZXJ3YXMuCgpIYXN0IER1IHNjaG9uIG1hbCBhbiBkZXIgR2VzY2h3aW5kaWdrZWl0IGdlc2NocmF1YnQgdW5kIGRpZSBCdXNzZQpiaXNzbCBnZWRyb3NzZWx0PwoKVWVicmlnZW5zIHNpbmQgZ2V0cmVubnRlIExlaXR1bmdlbiBuaWNodCBBQmdldHJlbm50ZSBMZWl0dW5nZW4gOykgcy5vLgoKR3V0cyBOYWVjaHRsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2huZXJwcm9ibGVtIChWZWN0b3IsIDI0LiBKdW4gMjAwNSwgMDI6MjM6MzIpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTExOTU2ODIxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1Cm11c3MgZXMgZGVubiB6d2FuZ3NsYWV1ZmlnIGRpZSBmZXN0cGxhdHRlIHNlaW4/Cm1laW4gdm9yc2NobGFnOiBub2NobWFsIGRpZSB3aW5kb3dzLWluc3RhbGxhdGlvbiAKdW5kIHNjaGF1ZW4gd2llIGRpZSBkYXRlaSBoZWlzc3QgYmVpIGRlciBhYmdlYnJvY2hlbiAKd2lyZC4Kc2VociBndXQgbW9lZ2xpY2ggZGFzIGVzIGRpZSBkYXRlaSBkcml2ZXJzLmNhYiBpc3QuCnNvbGx0ZSBkZW0gc28gc2VpbiBkYW5uIGthbm5zdCBkdSBtaXQgOTksOTk5JQp3YWhyc2NoZWlubGljaGtlaXQgdm9uIG5lbSBrYXB1dHRlbiByYW0tcmllZ2VsCmF1c2dlaGVuLiBkaWUgZGF0ZWkgaXMgbmFlbWxpY2ggaS5kLlIuIHNvIGdyb3NzCmRhcyBncm9zc2UgdGVpbGUgdm9tIHJhbSBnZW51dHp0IHdlcmRlbiB1bmQgc29taXQKcXVhc2kgaW1tZXIgZGllIGRlZmVrdGUgc3RlbGxlIGJlbnV0enQgd2lyZCwgd2FzCnp1bSBhYmJydWNoIGZ1ZWhydC4gCndlbm4gbWVocmVyZSByaWVnZWwgdmVyd2VuZGV0IHdlcmRlbiBlaW5mYWNoIAptYWwgYWxsZSBiaXMgYXVmIGVpbmVuIGF1c2JhdWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWNobmVycHJvYmxlbSAoQ29ybmhvbGlvLCAyNC4gSnVuIDIwMDUsIDA5OjMwOjQ4KToKfiMhIHJuPVZlY3RvciBydD0xMTE5NTcyNjEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTk1NjgyMTUKUkFNIGlzdCBuYXR1ZXJsaWNoIG5pY2h0IGF1c3p1c2NobGllc3NlbiwKaGFzdCBEdSBzY2hvbiBlaW5lbiBNRU1URVNUIGdlbWFjaHQ/CgpWaWVsbGVpY2h0IGhhc3QgRHUgZWluZW4gZXhvdGlzY2hlbiBJREUtQnVzLU1hc3Rlcj8KSGF0dGUgc293YXMgYmVpIGVpbmVtIFByb21pc2UgUERDMjAyNjUgVWx0cmExMDAgQnVzIE1hc3RlcgpnZXNlaGVuLiBEYSB3YXIgZXMgZGFubiBub2V0aWcsIGRpZSBUcmVpYmVyIHZvciBkZXIgSW5zdGFsbGF0aW9uIHp1IGxhZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVjaG5lcnByb2JsZW0gKFRhcmFuaXMsIDI0LiBKdW4gMjAwNSwgMDk6NDk6MTQpOgp+IyEgcm49Q29ybmhvbGlvIHJ0PTExMTk1OTgyNDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExOTU2ODIxNQpBdWNoIGFuIEthbmRpZGF0LCBuZWJlbiBkZW4gYmVyZWl0cyBnZW5hbm50ZW4sIHdhZXJlIGRhcyBJREUtS2FiZWwuIEVpbgpXYWNrZWxrb250YWt0IGFuIGVpbmVtIFN0ZWNrZXIvS2FiZWxicnVjaCBrYW5uIHNpY2ggYXVjaCB3aWUgYmVzY2hyaWViZW4KYXVzd2lya2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmVjaG5lcnByb2JsZW0gKE5vbm5lLCAyNC4gSnVuIDIwMDUsIDA5OjU2OjQ5KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExOTU5OTM1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1CkVpbmVuIFN0ZWNrZXIvS2FiZWxicnVjaCBoYXQgbWFuIGFiZXIgc2VsdGVuLCB3ZW5uIG1hbiBkZW4gUmVjaG5lciBhYiB1bmQgenUKbWFsIGVpbnNjaGFsdGV0LiBCZWkgZGVuIFRlbXBlcmF0dXJlbiBnZXJhZGUgd3VlcmRlIGljaCBhdWYgZWluIGVsZWt0cm9uaXNjaGVuClByb2JsZW0gdGlwcGVuLiBTcGVpY2hlciBpc3QgaW1tZXIgZWluIEthbmRpZGF0ICh3d3cubWVtdGVzdDg2Lm9yZyksCmFsbGVyZGluZ3Mga2FubiBlcyBhdWNoIGVpbiBFbGtvIHNlaW4sIGRlciBzZWluIExlYmVuIGF1c2dlaGF1Y2h0IGhhdCwgZGEKZGllc2UgVmVyc2NobGVpc3N0ZWlsZSBzaW5kIHVuZCBpY2ggc2Nob24gZWluZSBnYW56ZSBSZWloZSBCb2FyZHMgYmVpIGRlcgpBcmJlaXQgZGllc2VuIFRvZCBoYWJlIHN0ZXJiZW4gc2VoZW4uIEJhdSBtYWwgYXVzZWluYW5kZXIgdW5kIHNjaGF1IGRpZSBkaWUKRWxrb3MgYW4sIG9iIGRpZSBTb2xsYnJ1Y2hzdGVsbGVuIGF1ZmdlcGxhdHp0IHNpbmQuIE1laXN0IHRyaXR0IGRhbm4gbm9jaCBkZXIKcmVzdGxpY2hlIEVsZWt0b2x5dCBhbHMgYnJhdW5lIFN1cHBlIGF1cywgbWFuY2htYWwgc2luZCBkaWUgS2FwcGVuIGFiZXIgbnVyCm5hY2ggYXVzc2VuIGF1c2dlYmV1bHQuIEF1Z2ViZXVsdCBoZWlzc3QgYXVjaCB0b3QgdW5kIGRpZSBTeW1wdG9tZSBzaW5kCnZvZWxsaWcgdW5zcGV6aWZpc2NoLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSZWNobmVycHJvYmxlbSAoQ29ybmhvbGlvLCAyNC4gSnVuIDIwMDUsIDEwOjQwOjI0KToKfiMhIHJuPU5vbm5lIHJ0PTExMTk1OTk4MDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExOTU2ODIxNQpXb2JlaSBlcyBiaWxsaWdlciBiZWkgZGVyIEVudHdpY2tsdW5nIGlzdCwgIlN0YW5kYXJ0dm9ya2VocnVuZ2VuIgptaXQgRWxrb3MgenUgdHJlZmZlbiAoUHVmZmVya29uZGVuc2F0b3JlbiksIGFscyBzaWNoIEdlZGFua2VuIHp1IG1hY2hlbiwKb2IgZGFzIFRlaWwgZGEgcmVpbiBzb2xsIG9kZXIgbmljaHQuCjFoIEVudHdpY2tsZXIga29zdGV0IG1pdHVudGVyIG1laHIgYWxzIGRpZSBwYWFyIEVsa29zLCBkaWUgZGEKcmF1Zmdla2xhdHNjaHQgd2VyZGVuIDopCgpEYWhlciBrYW5uIGVzIGR1cmNoYXVzIHNlaW4sIGRhc3Mgc28gRGluZyBzb2dhciByYXVzZmxpZWNodCB1bmQKYWxsZXMgd2llIGdld29obnQgZnVua3Rpb25pZXJ0IChpbSBzZWx0ZW5lbiBGYWxsIGJlc3NlciBmdW5rdGlvbmllcnQpLgoKVW5kIEVsa29zIHdlcmRlbiBzZWx0ZW4gZnVlciBGcmVxdWVuemdlYmVyIGdlbnV0enQsCmplZGVuZmFsbHMgbmljaHQgaW4gZGllc2VuIEJlcmVpY2hlbi4KCkljaCB3ZWlzcyBhdWNoIHZvbiBqZW1hbmRlbiwgZGVyIHNlaW5lbiBQREEgYXVmZ2VzY2hyYXVidCBoYXQsCmRvcnQgZWluIHBhYXIgU01ELURpc2tyZXRiYXV0ZWlsZSByYXVzZ2VwdWx0IGhhdCB1bmQgZXMgR0FSTklDSFRTCmJyYWNodGUgKHNvbGx0ZSB3b2hsIGF1ZiBlaW5lbiBHYXJhbnRpZWZhbGwgaGluYXVzbGF1ZmVuKS4KSmV0enQgaGF0IGVyIEdld2ljaHQgZ2VzcGFydCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVjaG5lcnByb2JsZW0gKFRhcmFuaXMsIDI0LiBKdW4gMjAwNSwgMTA6NDQ6NTgpOgp+IyEgcm49Tm9ubmUgcnQ9MTExOTU5OTgwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1ClN0aW1tdCwgZGFzIG1pdCBkZW4gRWxrb3MgaXN0IHVlYmVsLCBpY2ggaGFiZSBoaWVyIGF1Y2ggc2Nob24gZXRsaWNoZSBCb2FyZHMKbWl0IGRlbiBhdWZnZXBsYXR6ZW4gb2RlciBhdWZnZWJldWx0ZW4gU2NoZWlzc3RlaWxlbiBnZXNlaGVuLiBCZWkgZWluaWdlbgpCb2FyZHMgaGFiZW4gd2lyIGRpZSBFbGtvcyBkYW5uIGVpbmZhY2ggYXVzZ2V0YXVzY2h0LiBTbyBlaW5lIEF1c3RhdXNjaGFrdGlvbgpzdGVodCBiZWkgZWluZW0gQm9hcmQgaGllciBiYWxkIGF1Y2ggd2llZGVyIGJldm9yLCBnbGF1YmUgaWNoLgpJc3QgZWNodCBuZXJ2aWcuIDotKAoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVjaG5lcnByb2JsZW0gKEJhbWJ1bGtvLCAyNC4gSnVuIDIwMDUsIDEwOjQ1OjA0KToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTE5NjAyNDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTk1NjgyMTUKSWNoIHdlcmRlIGVzIGEsIFdFIG5vY2htYWwgdmVyc3VjaGVuLiBXaW5kb3dzIGthbm4gaWNoIGpldHp0IGdhciBuaWNodCBtZWhyCmluc3RhbGxpZXJlbi4gV2VubiBpY2ggZGllIENEIGVpbmxlZ2UsIGZhZW5ndCBkZXIgUmVjaG5lciBrdXJ6IGFuIHp1IGJvb3Rlbgp1bmQgZGFubiBibGVpYnQgZGVyIEJpbGRzY2hpcm0gc2Nod2Fyei4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZWNobmVycHJvYmxlbSAoTm9ubmUsIDI0LiBKdW4gMjAwNSwgMTA6NDU6MjYpOgp+IyEgcm49Q29ybmhvbGlvIHJ0PTExMTk2MDI0MjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExOTU2ODIxNQpKbywgaGF0dGUgYXVjaCBzY2hvbiBCb2FyZHMsIHdvIHdlbGNoZW4gZHVyY2hnZWtuYWxsdCB3YXJlbiB1bmQgYWxsZXMgd2VpdGVyCmxpZWYuIEFsbGVyZGluZ3MgaGF0IGVpbiBtb2Rlcm5lciBQcm96ZXNzb3Igd2lya2xpY2gga3Jhc3NlIFN0cm9tc2Nod2Fua3VuZ2VuLgpXZW5uIGRhIGVpbiBwYWFyIEVsa29zIHBsYXR0IHNpbmQsIGthbm4gZXMgc2VpbiwgZGFzcyB3b2FuZGVycyBkZXIgU3Ryb20gZGFubgprdXJ6IGZlaGx0LCB3ZW5uIGRpZSBDUFUgcmljaHRpZyB6aWVodC4gSXN0IGFsc28gYXVjaCBtb2VnbGljaCwgZGFzcyBlaW4KUkFNLVJlZnJlc2ggbmljaHQga2xhcHB0IHVuZCBzY2hvbiBraXBwdCBlaW4gQml0IHVuZCBlcyBrYW5uIHp1bSBBYnN0cnVyegprb21tZW4uIFdpZSBnZXNhZ3QsIGRpZSBTeW1wdG9tZSBzaW5kIHNlaHIgdW5zcGV6aWZpc2NoLCBhYmVyIGVpbiBCbGljayBhdWZzCkJvYXJkLCB1bSBkaWUgbWFsIGViZW4genUgY2hlY2tlbiwgaXN0IGphIG5pY2h0IHdpcmtsaWNoIGRlciBBdWZ3YW5kIGltClZlcmdsZWljaCB6dSBQbGF0dGUga2F1ZmVuLCBXaW5kb3dzIG5ldWluc3RhbGxpZXJlbiwgTGludXggaW5zdGFsbGllcm4sCk1lbXRlc3QgbWFjaGVubSBkZXIgZGFubiB3YWhyc2NoZWlubGljaCBkdXJjaGxhZXVmdCwgd2VpbCBkaWUgQ1BVIG5pY2h0CmJlYW5zcHJ1Y2h0IHdpcmQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlY2huZXJwcm9ibGVtIChDb3JuaG9saW8sIDI0LiBKdW4gMjAwNSwgMTA6NDY6NTYpOgp+IyEgcm49Tm9ubmUgcnQ9MTExOTYwMjcyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1Ck9kZXIgaXN0IGV0d2FzIG1pdCBkZW0gVGFrdC4KU2VpdCBXQU5OIGdlaHQgZXMgZGVubiBuaWNodCBtZWhyPwpIYXN0IGR1IHdhcyBnZWFlbmRlcnQ/CgpPZnQgaGFlbmd0IHNpY2ggZGllIE1hdXMgKGphLCB0YXRzYWVjaGxpY2ggZGllIDopICkgdW5kIGRpZSBWR0EKYWxzIGVyc3RlcyBhdWYsIHdlbm4gei5CLiB1ZWJlcnRha3RldCB3aXJkLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJlY2huZXJwcm9ibGVtIChCYW1idWxrbywgMjQuIEp1biAyMDA1LCAxMDo0OTo1OCk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExOTYwMjgxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1CkVzIGdlaHQgc2VpdCBldHdhIHp3ZWkgV29jaGVuIG5pY2h0IG1laHIuIFVuZCBpY2ggaGFiZSBuaWNodHMgZ2VhZW5kZXJ0LCBzY2hvbgpzZWl0IE1vbmF0ZW4gbmljaHQgbWVoci4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEcnVja2VuIG1pdCBNb3ppbGxhIDEuMy4xIChab29rLCAyNy4gSnVuIDIwMDUsIDE4OjEyOjE2KToKS2VubnQgamVtYW5kIGRhcyBQcm9ibGVtLCBkYXNzIE1vemlsbGEgZWluZmFjaCBaZWlsZW4gYWJzY2huZWlkZXQgYmVpbQpEcnVja2VuPyAoSWNoIGhhYmUgZWluIENTUyB6dW0gRHJ1Y2tlbiBoaW50ZXJsZWd0IHVuZCBlciBzY2huZWlkZXQKbXVudGVyIGRpZSBaZWlsZW4gaXJnZW5kd28gYWIuKSBCencuIGhhdCBqZW1hbmQgZWluZSBJZGVlLCB3aWUgbWFuIGRhcwp1bWdlaGVuIGthbm4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVjaG5lcnByb2JsZW0gKE9nYXIsIDI4LiBKdW4gMjAwNSwgMDA6MjA6MzgpOgp+IyEgcm49VGFyYW5pcyBydD0xMTE5NjAyNjk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTk1NjgyMTUKUmVib290cyBiZWkgRmVzdHBsYXR0ZW56dWdyaWZmZW4gb2RlciBhbmRlcmVuIEhhcmR3YXJlYWt0aXZpdGFldGVuPyAgRGEKdGlwcGUgaWNoIG1hbCBhdWYgZGFzIE5ldHp0ZWlsIChkYSBzaW5kIHVlYnJpZ2VucyBhdWNoIEVsa29zIGRyaW4pLgoKU293YXMgaGF0dGUgaWNoIG1hbCBtaXQgbWVpbmVtIGFsdGVuIFJlY2huZXI6ICBGZXN0cGxhdHRlIG1lbGRldGUgSGFyZHdhcmUKRXJyb3IgKCEpIGJlaW0gQm9vdGVuLCBhYmVyIG51ciBtYW5jaG1hbC4gIEgyYmVuY2gga29ubnRlIGRpZSBnYW56ZQpQbGF0dGUgb2huZSBQcm9ibGVtZSBsZXNlbiAoWm9uZW5tZXNzdW5nKSwgYmVpIGRlciBadWdyaWZmc21lc3N1bmcgbWl0IHZpZWxlbgpTZWVrcyBnYWIgZXMgYWJlciByZXByb2R1emllcmJhciBuYWNoIHNwYWV0ZXN0ZW5zIGVpbmVyIFNla3VuZGUgZWluZW4gRmVobGVyCihub3JtYWxlIEZlaGxlcm1lbGR1bmcgb2RlciBkZXIgZ2FuemUgUmVjaG5lciBoaW5nKS4KCk5hY2hkZW0gaWNoIGRlbiBSZWNobmVyIHZvbiBlaW5pZ2VuIG5pY2h0IG1laHIgd2lya2xpY2ggYmVub2V0aWd0ZW4KS29tcG9uZW50ZW4gYmVmcmVpdCBoYXR0ZSwgZ2luZydzIHdpZWRlci4KCk9nYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJlY2huZXJwcm9ibGVtIChCYW1idWxrbywgMjguIEp1biAyMDA1LCAxMDo0MTozNCk6Cn4jISBybj1PZ2FyIHJ0PTExMTk5MTA4Mzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTExOTU2ODIxNQpJY2ggaGFiZSBqZXR6IEtub3BwaXggYXVzcHJvYmllcnQuIEVzIGxhZXVmdCBzb2xhbmdlIGJpcyBYMTEgZ2VzdGFydGV0IHdlcmRlbgpzb2xsLiBEYW5uIGhhZW5ndCBlcy4gQmVpIGRlciBJbnN0YWxsYXRpb24gdm9uIFdpbmRvd3MgYmxlaWJ0IGRlciBSZWNobmVyCmpldHp0IHNvZm9ydCBoYWVuZ2VuIChuYWNoIHVlYmVycHJ1ZWZlIFN5c3RlbWtvbmZpZy4pLgoKRGFzIEJvYXJkIHNpZWh0IGdhbnogb2sgYXVzLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJlY2huZXJwcm9ibGVtIChDb3JuaG9saW8sIDI5LiBKdW4gMjAwNSwgMTc6MjQ6NDApOgp+IyEgcm49QmFtYnVsa28gcnQ9MTExOTk0ODA5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1CkRhcyBzaWVodCB0YXRzYWVjaGxpY2ggd2llIGVpbiBkZWZla3RlciBLb25kaSBhdXMuCkRhcyBmdWVocnQgenVtIFp1Y2tlbiBkZXIgVmVyc29yZ3VuZywgaW5zYi4gd2VubiBkaWUKZGllIE1hc3NlIG5pY2h0IHN0ZXJuLSBvZGVyIHp1bWluZGVzdCBiYXVtZm9lcm1pZyBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUDMtTGF1dHN0YWVya2UgKEtpcmlhLCAzMC4gSnVuIDIwMDUsIDEzOjEwOjU4KToKSWNoIHN1Y2ggZWluIFByb2dyYW1tLCBtaXQgZGVtIGljaCBiZWkgTVAzcyBkaWUgR3J1bmRsYXV0c3RhZXJrZSBhZW5kZXJuIGthbm4sCmFsc28gZGlyZWt0IGluIGRlciBEYXRlaSA6KQoKSWNoIG1hZyBlcyBuYWVtbGljaCBuaWNodCwgd2VubiBlaW4gVGVpbCBlaW5lciBQbGF5bGlzdCB3ZXNlbnRsaWNoIGxlaXNlciBpc3QKYWxzIGRlciBhbmRlcmUgVGVpbC4KClZpZWxsZWljaHQgaGF0IGphIGplbWFuZCBkYSBlaW4gUHJvZ3JhbW0sIGRhcyBlbXBmZWhsYmFyIGlzdAoKRGFua2UKCktpcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVAzLUxhdXRzdGFlcmtlIChKYW1lc29uLCAzMC4gSnVuIDIwMDUsIDEzOjIyOjUzKToKfiMhIHJuPUtpcmlhIHJ0PTExMjAxMjk4NTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDEyOTg1OApodHRwOi8vbXAzZ2Fpbi5zb3VyY2Vmb3JnZS5uZXQvCmhhYidzIG5vY2ggbmljaHQgc2VsYnN0IGF1c3Byb2JpZXJ0LCBhYmVyIGRpZSBCZXNjaHJlaWJ1bmcga2xpbmd0IHNjaG9uIG1hbApzZWhyIGd1dCwgekIgc29sbCBlcyB2ZXJsdXN0ZnJlaSBzZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNUDMtTGF1dHN0YWVya2UgKEdsb2luc29uLCAzMC4gSnVuIDIwMDUsIDEzOjI1OjMzKToKfiMhIHJuPUphbWVzb24gcnQ9MTEyMDEzMDU3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwMTI5ODU4ClVuZCBmYWxscyBkdSBzZWxic3QgcmlwcHN0LCBuaW1tIENEZXggLT4gRjQgLT4gR2VuZXJpYyAtPiBOb3JtYWxpemUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTVAzLUxhdXRzdGFlcmtlIChIaWdobGFuZGVyLCAzMC4gSnVuIDIwMDUsIDEzOjMyOjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjAxMzA3MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDEyOTg1OAptcDNnYWluIGlzdCBkYSBiZXNzZXIuIERhcyBub3JtYWxpemUgdm9tIENEZXggaXN0LCBzb3dlaXQgaWNoCndlaXNzLCBlaW5lIHBlYWsgc2VhcmNoIHVuZCBhbmhhbmQgZGVzc2VuIGVpbmUgQW5wYXNzdW5nLgptcDNnYWluIG5pbW10IGRhIGVpbmVuICdiZXdlcnRlbmRlbicgQWxnb3JpdGhtdXMsIGJyYXVjaHQKYXVjaCBldHdhcyBsYWVuZ2VyIGZ1ZXIgZWluIGZpbGUgKGplZGVuZmFsbHMgX3ZlcmdsZWljaHN3ZWlzZV8pLgoKSWNoIHZlcndlbmRlIG1wM2dhaW4sIGVzIGlzdCBuaWNodCBzY2hsZWNodC4gRXMgZ2lidCB6d2FyCmltbWVyIG5vY2ggZmlsZXMsIHdvIG1hbiBtaXQgZGVtIEVyZ2VibmlzIG5vY2ggbmljaHQgZ2FuegpnbHVlY2tsaWNoIGlzdCwgYWJlciBpbiBkZW4gbWVpc3RlbiBGYWVsbGVuIGVycmVpY2h0IG1hbgpkYXMgZ2V3dWVuc2NodGUgWmllbC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS0RFLUF1dG9sb2dvdXQ/IChCb2luZywgIDEuIEp1bCAyMDA1LCAxNTowOToyMCk6Cn4jISBvbj1BbWFyeWxsaXMgb3Q9MTEyMDIyMjI4MiBvZz1hbGxnZW1laW5lcwpIaSwKCnNlaXQgZGVtIGxldHp0ZW4gVXBkYXRlIG1laW5lcyBEZWJpYW4tU3lzdGVtcyBoYWJlIGljaCBkYXMgUHJvYmxlbSwgZGFzcyBpY2gKYXVzIEtERSBhdXNnZWxvZ2d0IHdlcmRlLCBzb2JhbGQgaWNoIGNhLiAyIFRhZ2UgbmljaHRzIG1hY2hlbiAtIHdhcyBleHRyZW0KYWVyZ2VybGljaCBpc3QgYmVpIGVpbmVtIEJ1ZXJvcmVjaG5lciwgZGVyIG1pY2ggdWViZXJzIFdvY2hlbmVuZGUKZ3J1bmRzYWV0emxpY2ggcmF1c3dpcmZ0LgoKSW0gIkdOT01FLUNvbnRyb2xjZW50ZXIiIGhhYmUgaWNoIGtlaW5lIEVpbnN0ZWxsdW5nIGdlZnVuZGVuLCBlYmVuZmFsbHMKbmlyZ2VuZHdvIGluIGlyZ2VuZHdlbGNoZW4gS29uZmlnZGF0ZWllbi4KCkhhdCBqZW1hbmQgbmUgSWRlZSwgd28gbWFuIGRhIGRyZWhlbiBrb2VubnRlPwoKR3J1c3MsCkFtYSoKClBTOiBBY2hqYSwgaXN0IEtERSAzLjMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLREUtQXV0b2xvZ291dD8gKEJvaW5nLCAgMS4gSnVsIDIwMDUsIDE1OjA5OjIyKToKfiMhIG9uPVd1cnplbCBvdD0xMTIwMjIyNDEyIG9nPWFsbGdlbWVpbmVzCn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyMDIyMjI4MiByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTExMjAyMjIyODIKbmltbSB3aW5kb29mICpkdWNrKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtERS1BdXRvbG9nb3V0PyAoQm9pbmcsICAxLiBKdWwgMjAwNSwgMTU6MDk6MjMpOgp+IyEgb249Q3JvZnQgb3Q9MTEyMDIyMjkzNCBvZz1hbGxnZW1laW5lcwp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMjAyMjIyODIgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTIwMjIyMjgyCktERSBoYXQgZWluIF9Hbm9tZV8tQ29udHJvbGxjZW50ZXI/ICBXaWRlcnNwcmljaHQgc2ljaCBkYXMgbmljaHQgZXR3YXM/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLREUtQXV0b2xvZ291dD8gKEFtYXJ5bGxpcywgIDEuIEp1bCAyMDA1LCAxNjo0OTozNSk6Cn4jISBybj1Cb2luZyBydD0xMTIwMjIzMzYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjAyMjIyODIKZGFzIGlzdCB0YXRzYWVjaGxpY2ggZXR3YXMgc3RyYW5nZS4uLiBiZWltIEJvb3RlbiBrb21tdCBkZXIgU3BsYXNoc2NyZWVuIHZvbgpLREUzLjMsIHRhdHNhZWNobGljaCBrYW5uIGljaCBhYmVyIGluIGRlciBHVUkgZWluZW4gR25vbWUtQ29udHJvbGNlbnRlcgpzdGFydGVuLi4uICprb3Bma3JhdHoqCgpBbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtERS1BdXRvbG9nb3V0PyAoQWxrb2hvbCwgIDEuIEp1bCAyMDA1LCAxNjo1MTozNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyMDIyOTM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwMjIyMjgyCmR1IGthbm5zdCBhbGxlIGdub21lLWFwcGxpa2F0aW9uZW4gc3RhcnRlbi4gQmVpbSBpbnN0YWxsaWVyZW4gd2VyZGVuIGRpZQplbnRzcHJlY2hlbmRlbiBCaWJsaW90aGVrZW4gamEgYXVjaCBpbnN0YWxsaWVydC4gT2IgZGFzIFNpbm4gbWFjaHQsIGRhcwpHbm9tZS1Db250cm9sY2VudGVyIHp1IHN0YXJ0ZW4sIGlzdCBlaW5lIGFuZGVyZSBGcmFnZS4KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtERS1BdXRvbG9nb3V0PyAoQW1hcnlsbGlzLCAgMS4gSnVsIDIwMDUsIDE3OjQ2OjM0KToKfiMhIHJuPUFsa29ob2wgcnQ9MTEyMDIyOTQ5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwMjIyMjgyCkRhcyBpc3QgbWlyIGtsYXIuIERlbm5vY2ggbXVzcyBkZXIgS0RFIGRvY2ggZGF2b24genUgdWViZXJ6ZXVnZW4gc2VpbiwgbmFjaCA0OApTdHVuZGVuIGVpbiBBdXRvLUxvZ291dCB6dSBtYWNoZW4uLi4gCgpBbWEqCi4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLREUtQXV0b2xvZ291dD8gKEh1cmF4cHJheCwgIDEuIEp1bCAyMDA1LCAyMToxMjo1NCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyMDIzMjc5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwMjIyMjgyCmtjb250cm9sIHNjaG9ubWFsIGR1cmNoZm9yc3RldD8gZGEgbXVlc3N0ZSBkYXMgaXJnZW5kd28gc3RlaGVuLCBpY2ggc2VsYnN0CmZpbmRlIGF1ZiBkZW4gZXJzdGVuIGJsaWNrIG5pY2h0cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLREUtQXV0b2xvZ291dD8gKE9nbywgIDIuIEp1bCAyMDA1LCAxNzoyMDozOCk6Cn4jISBybj1Cb2luZyBydD0xMTIwMjIzMzYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjAyMjMzNjAKTWVpbmVzIFdpc3NlbnMgaXN0IHNvIGVpbiAiRmVhdHVyZSIgd2VkZXIgZWluZ2ViYXV0IG5vY2ggaXJnZW5kd28gYWt0aXZpZXJiYXIuCkljaCB3dWVyZGUgYXVmIGVpbmUgTWFja2UgZGVpbmVyIEtERS1JbnN0YWxsYXRpb24gdGlwcGVuLiBHdWNrIGRvY2ggbWFsIGluCi92YXIvbG9nL21lc3NhZ2VzIC92YXIvbG9nL1hvcmcuMC5sb2cgdW5kIH4vLnhzZXNzaW9uLWVycm9ycyBvYiBkb3J0CmlyZ2VuZGV0d2FzIHNlbHRzYW1lcyBzdGVodC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaWVjaGVyIGltIEJpbGRzY2hpcm0gKEFub3JpcywgIDMuIEp1bCAyMDA1LCAxODo0NDo1Nyk6ClZvciBlaW5pZ2VyIFplaXQgaGFiZSBpY2ggbWlyIGVpbiBuZXVlcyBGdWppdHN1IFNpZW1lbnMgTGlmZWJvb2sgRTgwMjAKZ2VrYXVmdC4gU29lYmVuIHdhciBpY2ggZG9jaCBzZWhyIGVyc3RhdW50IGFscyBlaW4gVmllY2ggdWViZXIgZGVuIExDRApTY2hpcm0gcmVubnQgZGFzIGljaCBlaWdlbnRsaWNoIHplcnF1ZXRzY2hlbiB3b2xsdGUsIHdhcyBhYmVyIG5pY2h0CmZ1bmt0aW9uaWVydGUsIGRhIGRhcyBUZWlsIGltIFNjaGlybSBkcmluIHp1IHNlaW4gc2NoZWludC4gTGVpZGVyIGtvbm50ZQpkYXMgVGllcmNoZW4gKGVzIGlzdCB1ZWJyaWdlbnMgY2EuIDYgUGl4ZWwgbGFuZyB1bmQgMSBQaXhlbCBicmVpdCkgbm9jaApuaWNodCBkYXp1IGJyaW5nZW4sIHNpY2ggYW4gZGVuIFJhbmQgZGVzIHNpY2h0YmFyZW4gQmVyZWljaHMgenUgYmV3ZWdlbgp1bSBlcyBkb3J0IGR1cmNoIGRlbiBTY2hyaW0genUgemVyc3RvZXJlbi4gSWNoIGhvZmYgbnVuLCBkYXNzIGRhcyBUZWlsCndpZWRlciBkZW4gV2VnIHJhdXNmaW5kZW50LCBpY2ggbW9lY2h0IG5pY2h0IGZ1ZXIgZGVuIFJlc3QgZGVzIEdlYnJhdWNocwpkZXMgTGlmZWJvb2tzIGRhcyBWaWVjaCBhbnNlaGVuIG11ZXNzZW4uIEJldm9yIGljaCBhdWYgYW5kZXJlIHNjaGxlY2h0ZQpHZWRhbmtlbiBrb21tZSwgbW9lY2h0ZSBpY2ggZXVjaCBob2VmbGljaHN0IHVtIFJhdCBmcmFnZW4uIEVzIGhhdCBzaWNoZXIKd2VyIGdhbnogZ3V0ZSBJZGVlbiBlaW4gc29sY2hlcyBQcm9ibGVtIHp1IGxvZXNlbiA7KQoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWaWVjaGVyIGltIEJpbGRzY2hpcm0gKEdsb2luc29uLCAgMy4gSnVsIDIwMDUsIDE4OjU2OjE0KToKfiMhIHJuPUFub3JpcyBydD0xMTIwNDA5MDk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA0MDkwOTcKQXVmc2NocmF1YmVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpZGVvY2FwdHVyaW5nIChDYXR3ZWF6bGUsICA1LiBKdWwgMjAwNSwgMTE6MTM6MDkpOgpNb2luIQoKQWt0dWVsbCBpc3QgbWVpbiBQcm9ibGVtIHdpZWRlciBXb1ctYmFzaWVydCwgZGEgZ2lidHMgZGl2ZXJzZSBTcGllbGVyLCBkaWUKRklsbWNoZW4gdm9uIHNpY2ggdW5kIGlocmVtIEthZW1wZmVuIHZlcm9lZmZlbnRsaWNoZW4uIAoKSmV0enQsIHdvIGljaCBlaW5lIG11bHRpbWVkaWEtTmlldGUgYmluIHVuZCBtaWNoIG5vY2ggbmllIG1pdCBzb3dhcwpiZXNjaGFlZnRpZ3QgaGFiZSwgZnJhZyBpY2ggbWljaCwgd2llIGRhcyBnZW1hY2h0IGlzdC4KCkRhcyBTUGllbGdlc2NoZW4gcGFzc2llcnQgamEgZ2VuZXJlbGwgbnVyIGF1ZiBkZXIgR3JhcGhpa2thcnRlIHVuZCB3aXJkIGRpcmVrdAphbiBkZW4gTW9uaXRvciBnZXNjaGlja3QuIENQVSB1bmQgTWVtb3J5IGtyaWVnZW4gZGF2b24gbnV4IG1laHIgbWl0LiBNZWluZQpGcmFnZSBpc3QgZGEsIHdpZSB6ZWljaG5lIGljaCBkYXMgYXVmPwoKTWVpbmUgYmVzdGUgSWRlZSBpc3QgZGFzIFRWLU91dC1TaWduYWwgbWl0IG5lbSBWaWRlb3Jla29yZGVyIGF1Znp1bmVobWVuIHVuZApkYXMgZGFubiBzcGFldGVyIHp1cnVlY2t6dWRpZ2l0YWxpc2llcmVuLiBJbiBkZW0gQXVnZW5ibGljayBpc3QgZGllIFF1YWxpdGFldAphYmVyIHNjaG9uIGZsb2V0ZW4gZ2VnYW5nZW4uCkdpYnRzIG5lIE1vZWdsaWNoa2VpdCBkYXMgZGlyZWt0IGltIFJlY2huZXIgenUgbWFjaGVuPyAKR2lidHMgZGFmdWVyIFByb2dyYW1tZSB1bmQgd2VubiBqYSB3ZWxjaGU/CktvZW5uZW4gZGFzIG51ciBiZXN0aW1tdGUgR3JhcGhpa2thcnRlbj8KQnJhdWNodCBtYW4gc2NoaW1tc3RlbmZhbGxzIGlyZ2VuZGVpbmUgVmlkZW9jYXB0dXJlIEhhcmR3YXJlPyBXdWVyZGUgZGllCnVlYmVyaGF1cHQgaGVsZmVuPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmlkZW9jYXB0dXJpbmcgKE5pYmVsLCAgNS4gSnVsIDIwMDUsIDExOjE1OjEzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTIwNTU0Nzg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA1NTQ3ODkKSGFyZHdhcmUgYnJhdWNoc3RlIGRhIG5pY2h0LiB3d3cuZnJhcHMuY29tCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZpZGVvY2FwdHVyaW5nIChDcm9mdCwgIDUuIEp1bCAyMDA1LCAxMToxNjo1MSk6Cn4jISBybj1OaWJlbCBydD0xMTIwNTU0OTEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA1NTQ3ODkKT2RlciB3d3cucGxhbmV0Z2FtZWNhbS5jb20KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWaWRlb2NhcHR1cmluZyAoQ2F0d2VhemxlLCAgNS4gSnVsIDIwMDUsIDEyOjQyOjA0KToKfiMhIHJuPUNyb2Z0IHJ0PTExMjA1NTUwMTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDU1NDc4OQpBdXNnZXplaWNobmV0LCBpY2ggd2VyZCBiZWlkZSBtYWwgYXVzcHJvYmllcmVuLiAKR2lidHMgZGEgRXJmYWhydW5nLCB3YXMgZGFzIHNvIGFuIFJlY2hlbnplaXQga29zdGV0PwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmlkZW9jYXB0dXJpbmcgKEFyaywgIDUuIEp1bCAyMDA1LCAyMTo0Nzo1Nik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEyMDU1NDc4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNTU0Nzg5CipsYWVzdGVyIG9uKgpIYWJ0IGlociBkYSBrZWluZSBmYWNoa3VuZGlnZW4gRm9yZW4gYmVpIGV1cmVtIFNwaWVsIGRhPyA6LSkKKmxhZXN0ZXIgb2ZmKgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZpZGVvY2FwdHVyaW5nIChBcmF0aG9ybiwgIDUuIEp1bCAyMDA1LCAyMTo0OTozNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEyMDU2MDEyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNTU0Nzg5CkRvY2gsIHp1bWluZGVzdCBtZWluZSBpY2gsIGF1ZiB3d3cuY3JhZnRpbmd3b3JsZHMuY29tIChidHcgYXVjaCBzZWhlbnMtCndlcnRlIFZpZGVvcyBkb3J0KSBlaW5lIEFuZ2FiZSB6dSBkZXNzZW4gUmVjaG5lciBnZXNlaGVuIHp1IGhhYmVuLCBkZW4gZXIKenVtIE1pdHNjaG5laWRlbiB2ZXJ3ZW5kZXQuIFNjaGF1IHZpZWxsZWljaHQgZWluZmFjaCBtYWwgZGEgdm9yYmVpLgoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWaWRlb2NhcHR1cmluZyAoTmliZWwsICA2LiBKdWwgMjAwNSwgMDk6MjU6NTQpOgp+IyEgcm49QXJrIHJ0PTExMjA1OTI4NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDU1NDc4OQpEb2NoZG9jaCwgd3VyZGUgYXVjaCBzY2hvbiB6aWcgdGF1c2VuZG1hbCBkaXNrdXRpZXJ0LiBDYXR0eSBzY2hlaW50IGVpbmZhY2gKZmF1bCB6dSBzZWluLgogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmlkZW9jYXB0dXJpbmcgKENhdHdlYXpsZSwgIDYuIEp1bCAyMDA1LCAxMDowMzo1NCk6Cn4jISBybj1OaWJlbCBydD0xMTIwNjM0NzU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA1NTQ3ODkKR3V0IGRhcyBlcyBkaXNrdXRpZXJ0IHd1cmRlLiBOdXIgc2NobGVjaHQsIHdlbm4gZGllIEZvcmVuIG5pY2h0IGR1cmNoc3VjaGJhcgpzaW5kIDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWaWRlb2NhcHR1cmluZyAoQ3JvZnQsICA2LiBKdWwgMjAwNSwgMTA6MDg6MTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjA2MzcwMzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDU1NDc4OQpEYXMgRm9ydW0gdm9uIGlud293IGlzdCBkdXJjaHN1Y2hiYXIuICBEYXMgb2ZmaXppZWxsZSBpc3QgZHVyY2hzdWNoYmFyCndlbm4gbWFuIHVlYmVyIGFsbGUgRm9yZW4gc3VjaHQuICBJY2ggd2Vpc3MgbmljaHQgd2FzIGR1IGhhc3QgOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVmlkZW9jYXB0dXJpbmcgKENhdHdlYXpsZSwgIDYuIEp1bCAyMDA1LCAxMDoxMDo0Myk6Cn4jISBybj1Dcm9mdCBydD0xMTIwNjM3Mjk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA1NTQ3ODkKT2ZmZW5iYXIgbmljaHQgZGFzIHJpY2h0aWdlIEZvcnVtIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWaWRlb2NhcHR1cmluZyAoVmVjdG9yLCAgNi4gSnVsIDIwMDUsIDEyOjE4OjE1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTIwNjM3NDQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA1NTQ3ODkKaWNoIHd1ZXJkZSBnZXJuZSBlaW4gdmlkZW8gbWFjaGVuIHdpZSBpY2ggaW0gbXVkCmFtIG1ldHplbG4gYmluLCB3YXMgZnVlciBwcm9ncmFtbWUga29lbm5lbiBkYSBoZWxmZW4/Xl4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFZpZGVvY2FwdHVyaW5nIChOb25uZSwgIDYuIEp1bCAyMDA1LCAxMjoyNjoxMyk6Cn4jISBybj1WZWN0b3IgcnQ9MTEyMDY0NTA5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNTU0Nzg5ClZlcnN1Y2ggbWFsIGJlaSB0ZiBlaW56dWdlYmVuIC9sb2cgdGVzdC5sb2csIHdlbm4gZHUgZGFzIGNhcHR1cmVpbmcgYmVlbmRlbgp3aWxsc3QsIHRpcHBzdCBkdSAvbG9nIG9mZi4gRGFzIFZpZGVvIGthbm5zdCBkdSBkaXIgZGFubiBtaXQgbGVzcyBvZGVyIGplZGVtCmJlbGllYmlnZW4gRWRpdG9yIGFuc2VoZW4uIEhhcmR3YXJlYW5mb3JkZXJ1bmdlbiBzaW5kIG1pbmltYWwuIFZpZWwgU3Bhc3MKZGFiZWkgd3VlbnNjaHQKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVmlkZW9jYXB0dXJpbmcgKFpvb2ssICA2LiBKdWwgMjAwNSwgMTI6Mzg6MzYpOgp+IyEgcm49Tm9ubmUgcnQ9MTEyMDY0NTU3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNTU0Nzg5ClNlbmQgUGljcyEhITExMTEhISEhISEhMTExISEhCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVmlkZW9jYXB0dXJpbmcgKEdsb2luc29uLCAgNi4gSnVsIDIwMDUsIDEyOjM5OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTEyMDY0NjMxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNTU0Nzg5CkljaCBnbGF1YmUgd2VubiBtYW4gbWFsIG1pdCBlaW5lciBLYW1lcmEgdWFmIGRlbSBSdWRlbG11ZGRlbiBhdWZ0YXVjaHRlLAprYWVtZW4gZ2FueiBzY2huZWxsIFByb3Rlc3RlIHZvbiBkZW4gQ2hlXldGZWF0dXJla2VubmVybiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaHJpZnRlbiBiZWkgV2luZG9vZi4gKFpvb2ssICA3LiBKdWwgMjAwNSwgMTA6NTg6NDApOgpJY2ggdmVyd2VuZGUgaW4gbWVpbmVtIEZpcmVmb3gvTW96aWxsYS1CcmF1c2VuZGluZ3MgdW50ZXIgVW4qeCBkaWUKU2NocmlmdCAiQml0c3RyYW0gVmVyYSBTYW5zIi4gU2NoZWluYmFyIGlzdCBkaWUgYWJlciBiZWkgU3RhbmRhcmQtV2luZG9vZi0KSW5zdGFsbGF0aW9uZW4gbmljaHQgZGFiZWkuIE9kZXIgc2llIGhlaXNzdCBhbmRlcnMuIFdlaXNzIGRhcyBqZW1hbmQ/IEhhYgprZWluZSBMdXN0IGF1ZiBBcmlhbCBvZGVyIHNvbiBRdWFyay4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hyaWZ0ZW4gYmVpIFdpbmRvb2YuIChab29rLCAgNy4gSnVsIDIwMDUsIDEyOjIzOjU2KToKfiMhIHJuPVpvb2sgcnQ9MTEyMDcyNjcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNzI2NzIwCkZhbmQgc2ljaCBsdC4gVGlwIHZvbiBMdXJjaGkgaGllcjoKaHR0cDovL2ZvbnRzLmdvbGRlbndlYi5pdC9pbmRleF9maWxlL2wvZW4vZDIvVHJ1ZV9UeXBlX0ZvbnRzL2MvYi9zdGFydC8xMDAvZGVmCmF1bHQuaHRtbAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NocmlmdGVuIGJlaSBXaW5kb29mLiAoWm9vaywgIDcuIEp1bCAyMDA1LCAyMjo0NTo1MSk6Cn4jISBybj1ab29rIHJ0PTExMjA3MzE4MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDcyNjcyMApIbS4gU2llaHQgdW50ZXIgV2luZG9vZiBhbSBTY2hpcm0gYW5kZXJzIGF1cyBhbHMgdW50ZXIgVW4qeC4gQWJlciBpbW1lcmhpbgpnZWRydWNrdCBzY2hlaW50IGVzIHp1IHBhc3Nlbi4gS29taXNjaC4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hyaWZ0ZW4gYmVpIFdpbmRvb2YuIChPZ28sICA5LiBKdWwgMjAwNSwgMTQ6MTk6MTUpOgp+IyEgcm49Wm9vayBydD0xMTIwNzI2NzIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjA3MjY3MjAKV28gaXN0IGRhcyBQcm9ibGVtLCB3ZW5uIHNpZSBudXIgc2NoZWluYmFyIG5pY2h0IGRhYmVpIGlzdD8KCk9nbywgdmVyd2lycnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NocmlmdGVuIGJlaSBXaW5kb29mLiAoTWFoYXJldCwgIDkuIEp1bCAyMDA1LCAxNDo0MToxNik6Cn4jISBybj1PZ28gcnQ9MTEyMDkxMTU1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIwNzI2NzIwClpvb2sgYmVudXR6dCAic2NoZWluYmFyIiBpbW1lciBmYWxzY2ggOykgIEVyIG1laW50ICJhbnNjaGVpbmVuZCIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2hyaWZ0ZW4gYmVpIFdpbmRvb2YuIChHbG9pbnNvbiwgIDkuIEp1bCAyMDA1LCAyMToxMzozNik6Cn4jISBybj1NYWhhcmV0IHJ0PTExMjA5MTI4NzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMDcyNjcyMApBbnNjaGVpbmVuZCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFJlY2huZXJwcm9ibGVtIChCYW1idWxrbywgIDkuIEp1bCAyMDA1LCAyMzo1MzoyOSk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTEyMDA1ODY4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTE5NTY4MjE1CkRhcyBQcm9ibGVtIGlzdCB3b2hsIGRlciBTcGVpY2hlci4gSWNoIGhhYmUgZWluZW4gNTEyIE1CIFJpZWdlbCB1bmQgZWluZW4gMTI4Ck1CIFJpZWdlbCBkcmluLiBXZW5uIGljaCBkZW4gNTEyIE1CIFJpZWdlbCBudXR6ZSwgc3R1ZXJ6dCBkZXIgUmVjaG5lciBhYi4gV2VubgppY2ggbnVyIGRlbiAxMjggTUIgUmllZ2VsIHZlcndlbmRlLCBpc3QgYWxsZXMgc3RhYmlsICh3ZW5uIGF1Y2ggbGFuZ3NhbSkuCkFsc28gd2VyZGUgaWNoIG1pciBqZXR6dCBlaW5lbiBuZXVlbiAxIEdCIFNwZWljaGVyIGthdWZlbi4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUmVjaG5lcnByb2JsZW0gKE9nbywgMTAuIEp1bCAyMDA1LCAwMDoxNTozNik6Cn4jISBybj1CYW1idWxrbyBydD0xMTIwOTQ2MDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMTk1NjgyMTUKV2VubiBtZW1jaGVjayBzb2duLiBCYWRibG9ja3MgZmluZGV0LCBrYW5uIG1hbiB6dW1pbmRlc3QgTGludXggZHJhdWYKdHJhaW5pZXJlbiwgZGllc2UgQmxvZWNrZSAiYXVzenVsYXNzZW4iLiBBdWYgZGllc2VtIFdlZ2Uga2FubiBtYW4gbWFuY2gKa2FwdXR0ZXMgUkFNIHVudGVyIExpbnV4IG5vY2ggc2lubnZvbGwgd2VpdGVydmVyd2VuZGVuLiBBbHNvIG5pY2h0IGdsZWljaCBkZW4KNTEyZXIgd2Vnd2VyZmVuIDotKQpodHRwOi8vcmljay52YW5yZWluLm9yZy9saW51eC9iYWRyYW0vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3RlYm9vayB1bmQgQmVhbWVyIChCYW1idWxrbywgMjEuIEp1bCAyMDA1LCAxNTo1Njo0OSk6CldhcnVtIGVya2VubnQgbWVpbiBOb3RlYm9vayBtYW5jaGUgQmVhbWVyIHVuZCBhbmRlcmUgbmljaHQ/IEljaCBoYWJlIGVpbgpNZWRpb24gTUQ5NTE0MyBtaXQgZWluZXIgSW50ZWwgODI4NTIvODI4NTUgR00vR01FIEdyYXBoaWNzIENvbnRyb2xsZXIuCgpCYW1idWxrby4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb3RlYm9vayB1bmQgQmVhbWVyIChSb25kYSwgMjIuIEp1bCAyMDA1LCAyMjo1MDowMSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTIxOTU0MjA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjE5NTQyMDkKV2FzIG1laW5zdCBEdSBtaXQgIkRlaW4gTm90ZWJvb2sgZXJrZW5udCBtYW5jaGUgQmVhbWVyIG5pY2h0Ij8gTWVpbnN0IER1LCBkZXIKQmVhbWVyIGthbm4ga2VpbmUgUXVlbGxlIGZpbmRlbj8gRXZlbnR1ZWxsIGxpZWd0IGVzIGFuIGRlcgpCaWxkd2llZGVyaG9sZnJlcXVlbnosIGRpZSBiZWkgRGVpbmVtIE5vdGVib29rIGVpbmdlc3RlbGx0IGlzdCAtIHNjaHJhdWIgZGllCm1hbCBtYXNzaXYgcnVudGVyIHVuZCBzY2hhdSwgb2IgZGFzIGhpbGZ0LgoKUm9uZGEgKmZyYWd0IHNpY2ggc2Nob24gc2VpdCBjYSAxMiBKYWhyZW4sIHdhcnVtIGRpZSB2ZXJkYW1tdGVuIEJlYW1lciBpbW1lcgpkYW5uIG5pY2h0IGZ1bmt0aW9uaWVyZW4sIHdlbm4gbWFuIGVzIGdyYWRlIGVjaHQgbmljaHQgYnJhdWNodC4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5zbHUyIChPZ28sICAyLiBBdWcgMjAwNSwgMDA6MTY6MDIpOgpXZXIgY29tcHV0ZXJ0ZWNobmlzY2hlbiBCYXN0ZWxlaWVuIGV0d2FzIGFiZ2V3aW5uZW4ga2FubiwgZGVtIG1vZWNodGUgaWNoIGVpbgpMaW5rc3lzIE5TTFUyIChsaWViZXZvbGwgc2x1ZyBnZW5hbm50KSBhbnMgSGVyeiBsZWdlbi4gV2luemlnZXIgTGludXhyZWNobmVyCm1pdCAyNjZtaHogQVJNLVByb3plc3NvciwgMzJNQiBSYW0sIDF4IEV0aGVybmV0ICsgMnggVVNCMi4wLiBLZWluZSBha3RpdmVuClRlaWxlLCBicmF1Y2h0IGlpcmMgd2VuaWdlciBhbHMgMiBXYXR0LiBPcGVuc2x1ZyBpc3QgZWluIGtvbXBsZXR0ZXMgTGludXggZGFzCmRyYXVmIGxhZXVmdCAoaW5rbC4gMi42LjEyLjIpLCBkZW4gSWRlZW4gc2luZCBrZWluZSBHcmVuemVuIGdlc2V0enQsIHZvbgprbGVpbmVyIE5BUy1Mb2VzdW5nICh3aWUgdm9uIExpbmtzeXMgaW50ZW5kaWVydCkgYmlzIHp1bSBVS1ctU2VuZGVyCihodHRwOi8vd3d3Lm15Zm1zdGF0aW9uLmNvbS9odG1sL2xpbmV4X3VzYi5odG1sKSBhbGxlcyBtb2VnbGljaC4gCkFsc28gYWxsZXMgaW4gYWxsZW0gbHVzdGlnZXMgd2luemlnZXMgQWxscm91bmQtR2VyYWV0LgpCZWkgUHJvYmxlbWVuIG1pdCBPcGVuc2x1ZyBoZWxmZSBpY2ggZ2VybmUuCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoQ2F0d2VhemxlLCAgMy4gQXVnIDIwMDUsIDExOjE0OjMwKToKCk1vaW4KCkljaCB3dWVyZGUgZ2VybmUgbWVpbmUgR3JhcGhpa2thcnRlIHVwZ3JhZGVuLCBoYWIgYWJlciB1ZWJlcmhhdXB0IGtlaW5lbiBQbGFuCm1laHIgdm9uIGRpZXNlbiBob2NoZ2V6dWVjaHRldGVuIHVuZCB1ZWJlcnRldWVydGVuIGdlbHVtcGUuCgpJY2ggaGFiIHpaIG5lIE1TSSA0MjAwIG1pdCBuZW4gbnZpZGlhIEdlZm9yY2U0IGNoaXBzYXR6LiBJY2ggd3VlcmRlIGdlcm5lIGJlaQpkZXIgS29tYmluYXRpb24gTVNJL252aWRpYSBibGVpYmVuIGRlbm4gZGFtaXQgYmluIGljaCBlaWdlbnRsY2ggcmVsYXRpdgp6dWZyaWVkZW4uCgpTcHJpY2h0IGRhIHdhcyBnZWdlbj8gSXN0IEhlcnN0ZWxsZXIgWFkgdW5kL29kZXIgUmFkZW9uIGlyZ2VuZHdpZSBiZXNzZXI/CgpBZDI6IEljaCBtb2VjaHRlIHByZWlzbGljaCBlaWdlbnRsaWNoIGltIHVlYmVyc2NoYXViYXJlbiBSYWhtZW4gYmxlaWJlbi4ga2VubnQKc2ljaCB3ZXIgbWl0IGRlbiBDaGlwc2FldHplbiBhdXMgdW5kIGthbm4gbWlyIHdhcyBlbXBmZWhsZW4/CnouQi4gaXN0IGRlciBVcGdyYWRlIHZvbiA0MjAwIGF1ZiA1MjAwIHJlY2h0IGJpbGxpZywgYWJlciBsb2hudCBzaWNoIGRhcz8KV29sbHRlIGljaCBuYWNoIDZ4eHggd2lyZHMgZ2xlaWNoIHRldWVyLiBXZWxjaGVuIDZ4MDAgbmltbXQgbWFuIGRhPyBMb2hudCBzaWNoCmRhcz8KCkdpYnRzIG5jaCB3YXMsIGF1ZiBkYXMgaWNoIHVuYmVkaW5ndCBhY2h0ZW4gc29sbHRlLCBiencuIHdvIGljaApyZWluaW52ZXN0aWVyZW4gc29sbHRlPyBiaXRicmVpdGU/IFNwZWljaGVyPyBMYWVybT8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoR2FieWxvbiwgIDMuIEF1ZyAyMDA1LCAxMjowNjowNik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEyMzA2MDQ3MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIzMDYwNDcwCmRhcyBrb21tdCBpbiBlcnN0ZXIgbGluaWUgZ2FueiBkYXJhdWYgYW4sIHdhcyBkdSBkYW1pdCBtYWNoZW4gd2lsbHN0LgplaWdlbnRsaWNoIHdpZSBpbW1lciwgb2Rlcj8gOikKCm1vZWNodGVzdCBkdSBhdWNoIGluIGFrdHVlbGxlbiBzcGllbGVuIChTQ0NULCBORlMydSwgLi4uKSBlaW5lIGd1dGUgZmlndXIKbWFjaGVuIChzcHJpY2g6IGRpZSBmcHMgc29sbGVuIGRldXRsaWNoIHVlYmVyIDMwIGxpZWdlbiksIGtvbW1zdCBkdSB1bQplaW4gNngwMC1tb2RlbGwgbmljaHQgdW1oaW4uIDY2MDAgaXN0IHJlY2h0IHNjaG9uIHJlY2h0IG9yZGVudGxpY2ggdW5kCmR1IGxhZXVmc3Qga2VpbmUgZ2VmYWhyLCBnbGVpY2ggbmFlY2hzdGVzIGphaHIgd2llZGVyIHVwZ3JhZGVuIHp1IG11ZXNzZW4uCgpudmlkaWEgaGF0IGRlbiB2b3J0ZWlsIGRlcyByZWwuIHNjaG5lbGxlbiBzcGVpY2hlcnMgdW5kIGd1dGVyIHVlYmVydGFrdHVuZ3MtCm1vZWdsaWNoa2VpdGVuIChuYXR1ZXJsaWNoIGF1Y2ggYWJoYWVuZ2lnIHZvbSBoZXJzdGVsbGVyKSwgbWl0IHJhZGVvbi1HSwpmYWVocnN0IGR1IGd1dCwgd2VubiBkdSBtZWhyIHdlcnQgYXVmIGxhdXRsb3NlIGt1ZWhsdW5nIGxlZ3N0LiBkaWUgaGFiZW4KbWVpc3QgbWVociBzaGFkZXIgdW5kIHBpcGVsaW5lcywgdGFrdGVuIGRhZnVlciBhYmVyIG5pY2h0IHNvIGhvY2gsIGVyZ28KbGFlc3N0IHNpY2ggc29sY2ggZWluZSBHSyBiZXNzZXIga3VlaGxlbiBkdXJjaCBoZWF0cGlwZXMgekIuCgppY2ggcGVyc29lbmxpY2ggZmFocmUgbWl0IG1laW5lciByYWRlb24gOTgwMCBwcm8gbGF1dGxvcyBnZWt1ZWhsdGVuIEdLCmJpc2hlciBzZWhyIGd1dCAoYmVpIGFsbGVuIGJpc2hlcmlnZW4gc3BpZWxlbiB1bmQgYmVpIGRlcmVuIGhvZWNoc3RlbgplaW5zdGVsbHVuZ2VuIHdhciBtaXIgaW1tZXIgZWluIGZsdWVzc2lnZXIgcnVuZHVtYmxpY2sgZ2Vnb2VubnQpLgoKc2VpdCBlaW4gcGFhciBtb25hdGVuIGplZG9jaCBnaWJ0IGVzIGVpbiBzcGllbCBpbSBoYW5kZWwsIHdlbGNoZXMKc2VsYnN0IGhpZ2gtZW5kLVBDcyB2b3IgZ3Jvc3NlIHBlcmZvcm1hbmNlc2Nod2llcmlna2VpdGVuIHN0ZWxsdDogZmFyY3J5LgpkaWVzZXMgc3BpZWwgd2Vpc3QgaW4gcmljaHR1bmcgenVrdW5mdDogZmVpbnN0ZSBkZXRhaWxzLCByZWFsaXN0aXNjaGUKbGljaHQtIHVuZCBzY2hhdHRlbmVmZmVrdGUsIHdhc3NlciBzaWVodCBuYWNoIHdhc3NlciBhdXMuIHNlbGJzdCBkaWUKd29sa2VuIGFtIGhpbW1lbCBzZWhlbiBhdXMgd2llIGF1ZiBuZW0gZm90by4KbWl0IG1laW5lciBHSyB1bmQgZWluZXIgZWluc3RlbGx1bmcsIHdlbGNoZSBzbyB6d2lzY2hlbiBtZWRpdW0gdW5kIGhpZ2gKYW5nZXNpZWRlbHQgaXN0IChlcyBnaWJ0IGF1Y2ggbm9jaCB2ZXJ5IGhpZ2gpLCBzY2hhZmZlIGljaCBlcyBnZXJhZGUgc28sCmRhc3MgaWNoIG5pY2h0IGRlbiB1ZWJlcmJsaWNrIGluIGRlbiBrYW1wZnN6ZW5lbiB2ZXJsaWVyZW4uCgpsYW5nZXIgcmVkZSwgZ2FyIGtlaW4gc2lubjogd2VubiBkdSBhYnNvbHV0IHNwaWVsZS16dWt1bmZ0c3NpY2hlcgppbnZlc3RpZXJlbiB3aWxsc3QsIGdyZWlmIHp1ciA2ODAwIChudmlkaWEpIG9kZXIgenVyIHg4MDAgb2RlciB4ODUwCnZvbiByYWRlb24gKGRhcyB4IHN0ZWh0IGRhYmVpIHRhdHNhZWNobGljaCBmdWVyIGVpbiB4KS4gd2VsY2hlIGZpcm1hCm1hbiBiZXZvcnp1Z3QgaXN0IGRhYmVpIG1laHIgZWluZSBnbGF1YmVuc2ZyYWdlLiBhbGxlcmRpbmdzIHd1ZXJkZQppY2ggbWVociBkaWUgbGF1dGxvc2Uga3VlaGx1bmcgYmV2b3J6dWdlbi4gdHVyYmluZSBpbSB3b2huemltbWVyIGlzdApoYWx0IG5pY2h0IHNvIHRvbGwuCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhcGhpa2thcnRlbiBjaGlwc2FldHplIChPZ28sICA0LiBBdWcgMjAwNSwgMDU6NTc6NDgpOgp+IyEgcm49R2FieWxvbiBydD0xMTIzMDYzNTY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjMwNjA0NzAKQXVzIHRyZWliZXJwb2xpdGlzY2hlbiBHcnVlbmRlbiB3YXMgYWx0ZXJuYXRpdmUgQmV0cmllYnN5c3RlbWUgKGxpZXMKbmljaHQtV2luZG93cy1TeXN0ZW1lKSBiZXRyaWZmdCwgc29sbHRlIG1hbiBOdmlkaWEgZGVuIFZvcnp1ZyBnZWJlbiwgZGEgZGllc2UKbmljaHQgbW9uYXRlbGFuZyBhdWYgbmV1ZSBUcmVpYmVyIChsaWVzOiBhbWQ2NCB6LmIuKSB3YXJ0ZW4gbGFzc2VuLCB3ZWlsIGVzCmlyZ2VuZHdlbGNoZSBleG90aXNjaGVuIEt1bmRlbiAobGllczogSWNoKSB3dWVuc2NoZW4sIHNvbmRlcm4gd2VpbCBOdmlkaWEgZGVuCkxpbnV4dHJlaWJlciBhbHMgV2V0dGJld2VyYnN2b3J0ZWlsIHNpZWh0IHVuZCBkZW4gS3VuZGVuIGRhaGluZ2VoZW5kCmVudGdlZ2Vua29tbXQhCgpPZ28sIGJsYWZhc2VsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFwaGlra2FydGVuIGNoaXBzYWV0emUgKE1vcmdvdGgsICA0LiBBdWcgMjAwNSwgMTE6MTI6NTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjMwNjA0NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzA2MDQ3MApEYSBkaWUgbmV1ZW4gNzgwMGVyIHZvbiBOdmlkaWEgcmF1cyBzaW5kLCBwdXJ6ZWxuIGRpZSA2eDAwZXIgcmVjaHQgc2NobmVsbC4KSWNoIGhhYiBtaXIgZWluZSA2ODAwZXIgdm9uIEFTVVMgZnVlciA8MzAwRSB6dWdlbGVndC4gRGllIDY2MDBlciBzb2xsdGVuIGJhbGQKZnVlciA8MjAwRSB6dSBiZWtvbW1lbiBzZWluLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoR2FieWxvbiwgIDQuIEF1ZyAyMDA1LCAxMjo0MToxMSk6Cn4jISBybj1PZ28gcnQ9MTEyMzEyNzg2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIzMDYwNDcwCmRhIG5pY2h0IGFsbHp1IHZpZWxlIHNwaWVsZSBhdWYgbGludXggcG9ydGllcnQgd2VyZGVuIHNpbmQgbGludXh0cmVpYmVyCmZ1ZXIgZ2FtZXIga2VpbiB2ZXJrYXVmc2FyZ3VtZW50LiBmdWVyIGFsbGUgYW5kZXJlbiBnZWJlIGljaCBkaXIgcmVjaHQuCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoQ3JvZnQsICA0LiBBdWcgMjAwNSwgMTI6NDQ6MjIpOgp+IyEgcm49R2FieWxvbiBydD0xMTIzMTUyMDcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjMwNjA0NzAKSWNoIGRlbmtlLCBXaW5lIG51dHp0IGRpZXNlIFRyZWliZXIgdHJvdHpkZW0uICBVbmQgU3BpZWxlIGRpZSB1bnRlciBXaW5lCmxhdWZlbiBtdWVzc2VuIG5pY2h0IHBvcnRpZXJ0IHdlcmRlbiAuLi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcmFwaGlra2FydGVuIGNoaXBzYWV0emUgKE11YWRpYiwgIDQuIEF1ZyAyMDA1LCAxMjo0NDo1OCk6Cn4jISBybj1Dcm9mdCBydD0xMTIzMTUyMjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjMwNjA0NzAKc3BpZWxzdCBkdSB3b3cgZWlnZW50bGljaCB1bnRlciB3aW5lPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhcGhpa2thcnRlbiBjaGlwc2FldHplIChDcm9mdCwgIDQuIEF1ZyAyMDA1LCAxMjo0NToyNyk6Cn4jISBybj1NdWFkaWIgcnQ9MTEyMzE1MjI5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIzMDYwNDcwCkljaCBuaWNodCwgYWJlciBlcyBnaWJ0IGVpbmlnZSBMZXV0ZSBkaWUgZGFzIHR1bi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcmFwaGlra2FydGVuIGNoaXBzYWV0emUgKE11YWRpYiwgIDQuIEF1ZyAyMDA1LCAxMjo0NjoxMSk6Cn4jISBybj1Dcm9mdCBydD0xMTIzMTUyMzI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjMwNjA0NzAKdW5kIHdpZSBzZWhlbiBkZXJlbiBlcmZhaHJ1bmdlbiBzbyBhdXM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoR2FieWxvbiwgIDYuIEF1ZyAyMDA1LCAxMzowMjo0OSk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMjMwNjM1NjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzA2MDQ3MApzZWxic3RyZXBseSwgaWNoIHdlaXNzLgoKd2VyIHNpY2ggbmljaHRzIHVudGVyICJzcGllbCBkZXIgenVrdW5mdCIsICJ3YXNzZXIgZGFzIG5hY2ggd2Fzc2VyCmF1c3NpZWh0IiBldGMgdm9yc3RlbGxlbiBrYW5uLi4uIGljaCBoYWJlIG1hbCBlaW4gcGFhciBzY3JlZW5zaG90cwp1bnRlciB0cnZlcy5kZS9mYXJjcnkgYWJnZWxlZ3QuCndlciBlcyBzZWxiZXIgYXVzcHJvYmllcmVuIG1vZWNodGUuLi4gdm9yc2ljaHQuLi4gbWFjaHQgc3VlY2h0aWchCgpnYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyYXBoaWtrYXJ0ZW4gY2hpcHNhZXR6ZSAoT2dvLCAgNy4gQXVnIDIwMDUsIDA2OjU0OjA4KToKfiMhIHJuPUdhYnlsb24gcnQ9MTEyMzMyNjE2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIzMDYwNDcwCmh0dHA6Ly90cnZlcy5kZS9mYXJjcnkvZmFyY3J5MDUuanBnIC0+IElzdCBkYXMgZWluIE9lbHRlcHBpY2ggYXVmIGRlbSBXYXNzZXI/ClNvIHN0ZWxsZSBpY2ggbWlyIG5pY2h0IHVuYmVkaW5ndCBXYXNzZXIsIGRhcyBuYWNoIFdhc3NlciBhdXNzaWVodCwgdm9yLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmFwaGlra2FydGVuIGNoaXBzYWV0emUgKEdhYnlsb24sICA3LiBBdWcgMjAwNSwgMTI6MDU6MTEpOgp+IyEgcm49T2dvIHJ0PTExMjMzOTA0NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzA2MDQ3MApkYXMgc2luZCBkaWUgc3BpZWdlbHVuZ2VuIGRlciBwYWxtZW4gdW5kIGdlYnVlc2NoZSB2b3IgZGVtIGV0d2FzCmhlbGxlcmVuIGJlcmcgaW0gaGludGVyZ3J1bmQuCmFiZXIgc2VsYnN0IGVpbiBvZWx0ZXBwaWNoIHd1ZXJkZSBuYWNoIG9lbHRlcHBpY2ggYXVzc2VoZW4sIHdldHRlIGljaC4gOikKCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR3JhcGhpa2thcnRlbiBjaGlwc2FldHplIChHcmltbWJvcm4sICA4LiBBdWcgMjAwNSwgMDg6NDY6MDQpOgp+IyEgcm49R2FieWxvbiBydD0xMTIzNDA5MTExIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjMwNjA0NzAKSWNoIHdpbGwgRGlyIG5pY2h0IHp1IG5haGUgdHJldGVuLCBhYmVyIHdlbm4gRHUgZGFzIGFscyAic2llaHQgYXVzIHdpZSBpbiBkZXIKUmVhbGl0YWV0IiBlbXBmaW5kZXN0IHNvbGx0ZXN0IER1IHdpcmtsaWNoIG1hbCBldHdhcyBtZWhyIG5hY2ggZHJhdXNzZW4gZ2VoZW4uCk9obmUgTGFwdG9wLiBVbmQgRGljaCBlaW5mYWNoIG1hbCB1bXNlaGVuLiBHZXJuZSBhdWNoIGluIGRlciBOYWVoZSB2b24KR2V3YWVzc2Vybi4gRHUgd2lyc3Qgc3RhdW5lbiEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VyZ2Vuem9ybiAoQ2F0d2VhemxlLCAgOC4gQXVnIDIwMDUsIDEwOjQ4OjA5KToKfiMhIHJuPVpvb2sgcnQ9MTEyMzQ4NzUwMiByZz1zY2htYXJybgp+IyEgdGlkPTExMjM0NTA1MTgKSWNoIHN1Y2hlIEthcnRlbmxlc2VyLCBhbiBkZW5lbiBzaWNoIGVpbmUgaXJnZW5kd2llIGdlYXJ0ZXRlIFRhc3RhdHVyIGJlZmluZGV0CnVuZCBpbiBkaWUgbWFuIGRpZSBTbWFydGNhcmQgbnVyIGVpbm1hbGlnIGRyYXVmbGVnZW4vZHVyY2h6aWVoZW4ga2Fubi4gCgpaaWVsIHNvbGwgc2VpbiwgZGFzcyBkaWUgUElOLUVpbmdhYmUgbmljaHQgdWViZXIgZGllIFBDLVRhc3RhdHVyIGVyZm9sZ3QgKGRpZQptYW4gbWl0bG9nZ2VuIGthbm4pIHVuZCBkYXNzIGRpciBTbWFydGNhcmQgdm9tIE51dHplciBuaWNodCBpbSBsZXNlZ2VyYWV0CmJlbGFzc2VuIHdlcmRlbiBrYW5uICh3b2R1cmNoIHdpZWRlciBqZWRlcyBQcm9ncmFtbSBkcmF1ZiB6dWdyZWlmZW4ga29lbm50ZSkuCgpJY2ggaGFiIGtlaW5lIEFobnVuZyB3byBtYW4gc293YXMgdWViZXJoYXVwdCBoZXJiZWtvbW10LCB1bmQgYmluIGZ1ZXIgamVkZW4KKGF1Y2ggZ2VtYWlsdGVuKSBIaW53ZWlzIGRhbmtiYXIuIAoKWVRDIChoYXMgdG8gZW50ZXIgbmV3IHBhcmFub2lhLWxldmVsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWndlcmdlbnpvcm4gKE1vcmdvdGgsICA5LiBBdWcgMjAwNSwgMDc6NDc6MjIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjM0OTA4ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzQ1MDUxOApGcmFnIGRvY2ggbWFsIGJlaSBkZXIgU3Bhcmthc3NlL0JhbmsgdW0gZGllIEVja2UuIERpZSBoYWJlbiBkb2NoIHNvbGNoZQpEaW5nZXIuIFZpZWxsZWljaHQgaXN0IGphIGVpbmVyIGRhYmVpIGRlciB3ZWlzcyB3byBlcyBzb3dhcyBnaWJ0LgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFp3ZXJnZW56b3JuIChDYXR3ZWF6bGUsICA5LiBBdWcgMjAwNSwgMDg6NDU6NTEpOgp+IyEgcm49TW9yZ290aCBydD0xMTIzNTY2NDQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjM0NTA1MTgKRGllIElkZWUgaGF0dGUgaWNoIGF1Y2ggc2Nob24gdW5kIGljaCBoYWIgZGFoaW4gZ2VoZW5kIGF1Y2ggc2Nob24gVGlwcHMKZ2VrcmllZ3QuCkJhbmtlbiBoYWJlbiBhYmVyIG1laXN0ZW5zIENoaXBrYXJ0ZW5sZXNlciwgaWNoIGJyYXVjaCBlaW5lbiBmdWVyIFNtYXJ0a2FydGVuLgpCaXNoZXIgaGFiIGljaCBSZWluZXJTQ1QsIENoaXBkcml2ZSB1bmQgS29iaWwgZ2VmdW5kZW4uIERhcyByZWljaHQgbmVyIFVuaQpub3JtYWxlcndlaXNlLCB3ZW5uIHdlciBub2NoIG1laHIgd2VpcywgbmVobSBpY2ggZGFzIGFiZXIgaW1tZXIgbm9jaCBkYW5rYmFyCmFuLgoKVW5kIG5vY2htYWw6IGRhcyBtdXNzIHdhcyB2b24gZGVyIG5vcm1hbGVuIFRhc3RhdHVyIHVuYWJoYWVuZ2lnZXMgc2Vpbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWndlcmdlbnpvcm4gKE1vcmdvdGgsICA5LiBBdWcgMjAwNSwgMDk6MzM6NTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjM1Njk5NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzQ1MDUxOAo6KSAKV28gd2lyIGdyYWQgZGFiZWkgc2luZCwgd2Vpc3MgamVtYW5kIHdvIGVzIGRpZXNlIHRvbGxlbiBTaWVtZW5zIFRhc3RhdHVyZW4KZ2lidC4gTWVpbmUgYWx0ZSBpc3QgbnVuIGRvY2ggc2Nob24gZWluIHBhYXIgSmFocmUgYWx0IHVuZCBFcnNhdHogcGFyYXQgenUKaGFiZW4gaXN0IGRhIGJhbGQgYW5nZWJyYWNodC4gCkxlaWRlciBoYWIgaWNoIGtlaW5lIGdlbmF1ZSBNb2RlbGxiZXplaWNobnVuZywgZGEgZGllcyBlaW4gT0VNLURpbmcgaXN0LiAiS0JQQwpCIEQiIHN0ZWh0IGRyYXVmLCBub3JtYWxlcyBUYXN0YXR1cmxheW91dCBpbmNsLiBXaW5kb3dzLCBhYmVyIG9obmUKRW1haWwvV1dXLVNjaG5pY2sgVGFzdGVuLiBGbGFjaGUgdGFzdGVuLCBzY2htYWxlIFJldHVybi1UYXN0ZSwgd2VpY2hlcgpBbnNjaGxhZyBvaG5lIEtsaWNrLgpKYSwgaWNoIGhhYmUgYXVjaCBzY2hvbiBnZWdvb2dsZWQsIGFiZXIgZW50d2VkZXIgc2FoIGRhcyBCaWxkIGZhbHNjaCBhdXMsIG9kZXIKYmVpIHBhc3NlbmRlciBCZXNjaHJpYnVuZyBmZWhsdGUgZWluIEJpbGQgOigKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBad2VyZ2Vuem9ybiAoWm9vaywgIDkuIEF1ZyAyMDA1LCAxNDoyNzozMyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMjM1NzI4Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyMzQ1MDUxOApzaW5kIGRpZSB0YXN0ZW4gdmllcmVja2lnIG9kZXIgcnVuZD8Kem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFp3ZXJnZW56b3JuIChNb3Jnb3RoLCAgOS4gQXVnIDIwMDUsIDE1OjUwOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTEyMzU5MDQ1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTIzNDUwNTE4CnZpZXJlY2tpZyBtaXQgZWluZXIgbGFlbmdsaWNoZW4sIHJ1bmRlbiBWZXJ0aWVmdW5nIHZvbiBvYmVuIG5hY2ggdW50ZW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWndlcmdlbnpvcm4gKFpvb2ssICA5LiBBdWcgMjAwNSwgMTU6NTg6NTgpOgp+IyEgcm49TW9yZ290aCBydD0xMTIzNTk1NDI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjM0NTA1MTgKaWNoIHNjaGF1IG5hY2hoZXIgbWFsLCBvYiBoaWVyIHNvbGNoZSBoZXJ1bWxpZWdlbi4gYXVmIGFuaGllYiBoYWIgaWNoIGtlaW5lCmdlZnVuZGVuLCBhdWYgZGllIGRpZSBiZXNjaHJlaWJ1bmcgcGFzc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCAoUmVxdWllbSwgMTYuIEF1ZyAyMDA1LCAwOToxNTo0Mik6Ck1vaW4sCgpuYWNoIGVpbmVtIFBsYXR0ZW5jcmFzaCBudXR6ZSBpY2ggZGllIEdlbGVnZW5oZWl0IGRpZSBLYXBheml0YWV0IGRldXRsaWNoIHp1CmVyaG9laGVuIHVuZCB3dWVyZGUgZGFubiBnZXJuIGVpbiBMaW51eCBhbHMgRHVhbGJvb3QtT3B0aW9uIGF1ZnNldHplbi4gKEphLAppY2ggZ2VzdGVoZSwgaWNoIGhhYmUgYmlzaGVyIGZhc3QgbnVyIFdpbmRvd3MgZWluZ2VzZXR6dCkuIEljaCBoYWJlIG51biBsZWlkZXIKbmljaHQgdmllbCBBaG51bmcgdm9uIGRlbiBVbnRlcnNjaGllZGVuIGRlciB2ZXJzY2hpZWRlbmVuIERpc3RyaWJ1dGlvbmVuLgpXb3JhdWYgZXMgbWlyIGFua29tbXQ6CgotIGxlaWNodGUgS29uZmlndXJpZXJiYXJrZWl0Ci0gcHJvYmxlbWxvc2VzIFp1c2FtbWVuc3BpZWwgbWl0IGhhbGJ3ZWdzIGFrdHVlbGxlciBIYXJkd2FyZSAod29iZWkgZGFydW50ZXIKYXVjaCBlaW5lIEdyYWZpa2thcnRlIG1pdCBBVEktQ2hpcHNhdHogZmFlbGx0KQoKQWxzIGljaCBkYXMgbGV0enRlcyBKYWhyIG1hbCBwcm9iaWVydCBoYXR0ZSBrYW0gU3VTRSAoaW4gZGVyIGRhbWFscyBha3R1ZWxsZW4KVmVyc2lvbiA5LjIpIG1pdCBkZXIgSGFyZHdhcmUgbmljaHQgc28gZ3V0IHp1cmVjaHQsIGViZW5zb3dlbmlnIHdpZSBpY2ggbWl0ClN1U0UuIFdlbGNoZSBEaXN0cmlidXRpb25lbiBlbXBmZWhsZW4gc2ljaCBub2NoPyBHZW50b28/IFVidW50dT8gRGViaWFuPwpTb25zdGlnZT8KClVuZCB6dXIgTGVrdHVlcmUgd2VsY2hlciBXZWJzZWl0ZW4ga2FubiBlaW5lbSBMaW51eC1FaW5zdGVpZ2VyIGdlcmF0ZW4gd2VyZGVuPwoKKGFjaGphLCB1bmQgd2FzIGRhcmF1ZiBsYXVmZW4gc29sbCB3YWVyZW4gZGllIHVlYmxpY2hlbiBEaW5nZSB3aWUgTWFpbC0gdW5kCldXVy1DbGllbnQsIE9mZmljZXNvZnR3YXJlIChpY2ggZGVuayBtYWwgb3Blbk9mZmljZSkgZXRjLiBTcGllbGUtIHVuZApNdWxrdGltZWRpYWFud2VuZHVuZ2VuIHNpbmQgZWhlciBuaWNodCBub3R3ZW5kaWcpCgpEYW5rYmFyIGZ1ZXIgVGlwcHMsClJlcXVpZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eCAoQ2F0d2VhemxlLCAxNi4gQXVnIDIwMDUsIDA5OjE3OjM0KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNDE3NjU0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0MTc2NTQyCk1laW5lIGdhbnogcGVyc29lbmxpY2hlIEVtcGZlaGx1bmdzcmVpaGVuZm9sZ2U6CgpNYW5kcml2YSwgRmVkb3JhLCBLdWJ1bnR1LCBTdXNlLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCSU9TLVNldHRpbmdzIChDYXR3ZWF6bGUsIDIyLiBBdWcgMjAwNSwgMDk6Mjg6MzYpOgpLZW5udCBqZW1hbmQgZWluZSBJbnRlcm5ldHNlaXRlLCB3byB6YiBpbiBUYWJlbGxlbmZvcm0gZWluZSBMb2VzdW5nIGFuZ2Vib3Rlbgp3aXJkIGZ1ZXI6CgpJY2ggaGFiZSBNYWluYm9hcmQgWCwgUHJvemVzc29yIFkgdW5kIFNwZWljaGVyIFo6IHdhcyBtdXNzIGljaCBpbiBtZWluZW0gQklPUwplaW5zdGVsbGVuPwoKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV0xBTiB1bmQgRnJlZUJTRCAoNS4xKSAoWm9vaywgMjQuIEF1ZyAyMDA1LCAxMDoxNDoxMyk6CkhhdCBqZW1hbmQgRXJmYWhydW5nIG1pdCBXTEFOIHVuZCBGcmVlQlNEIChSZWxlYXNlIDUuMSBvZGVyIHNvIGluIGRlcgpQcmVpc2tsYXNzZSk/IEZ1bmt0aW9uaWVydCBkYXM/IEdpYnQgZXMgYmVzdGltbXRlIFNhY2hlbiwgYXVmIGRpZSBtYW4KYmVzb25kZXJzIGFjaHRlbiBtdXNzPyBBaGphLCBhbSBiZXN0ZW4gYXVjaCBub2NoIG1pdCBMYXB0b3AsIHdlbGNoZSAKS2FydGUgbmltbXQgbWFuIGRhIGFtIGJlc3Rlbj8gRnJhZ2VuIHVlYmVyIEZyYWdlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0xBTiB1bmQgRnJlZUJTRCAoNS4xKSAoT2dvLCAyNC4gQXVnIDIwMDUsIDE0OjIyOjM1KToKfiMhIHJuPVpvb2sgcnQ9MTEyNDg3MTI1MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0ODcxMjUzCmh0dHA6Ly93d3cuZ29vZ2xlLmRlL3NlYXJjaD9obD1kZSZxPWJzZCthdGhlcm9zK21hZHdpZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWxwcm9ibGVtIChSZXF1aWVtLCAyNS4gQXVnIDIwMDUsIDAwOjA4OjEyKToKTW9pbiwKCmRhIGhhYmUgaWNoIG1pciBudW4gZWluIER1YWxib290c3lzdGVtIGF1Zmdlc2V0enQgKFdpbmRvd3MgLyBGZWRvcmEgQ29yZSA0KS4KQXVmIGJlaWRlbiB3dWVyZGUgaWNoIGdlcm4gVGh1bmRlcmJpcmQgMS4wNiBtaXQgUE9QMyBhbHMgTWFpbGNsaWVudCBlaW5zZXR6ZW4uCkRhIGljaCBlaW4gTWFpbGFyY2hpdiBoYWJlLCB3ZWxjaGVzIHNpY2ggdWViZXIgbWVocmVyZSBKYWhyZSBlcnN0cmVja3QgYmlldGV0CnNpY2ggZWluZSBzZXJ2ZXJiYXNpZXJ0ZSBNYWlsdmVyd2FsdHVuZyB2aWEgSU1BUCBuaWNodCBhbi4KClRyb3R6ZGVtIGhhZXR0ZSBpY2ggbnVuIGVpZ2VudGxpY2ggZ2VybiBkaWUgTW9lZ2hsaWNoa2VpdCwgZGllIE1haWxzIHp3aXNjaGVuCmRlbiBiZWlkZW4gU3lzdGVtZW4genUgc3luY2hyb25pc2llcmVuLiBEYSBpY2ggaGllciBrZWluZW4gMi4gUEMsIGF1ZiBkZW0gaWNoCmVpbmVuIGxva2FsZW4gTWFpbHNlcnZlciBsYXVmZW4gbGFzc2VuIGtvZW5udGUsIHp1ciBWZXJmdWVndW5nIGhhYmUsIHN0ZWxsdApzaWNoIG1pciBkaWUgRnJhZ2U6IHdpZSBtYWNoIGljaCBkYXM/CgpEYW5rYmFyIGZ1ZXIgSWRlZW4sClJlcXVpZW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlscHJvYmxlbSAoR3JpbW1ib3JuLCAyNS4gQXVnIDIwMDUsIDAxOjM3OjAxKToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNDkyMTI5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyClZlcndlbmRlIHVudGVyIExpbnV4IGRhc3NlbGJlIE1haWx2ZXJ6ZWljaG5pcyB3aWUgdW50ZXIgV2luZG93cyAobmF0dWVybGljaAptaXQgU2NocmVpYmJlcmVjaHRpZ3VuZykuIApVbmQsIHdpZSBzaW5kIERlaW5lIGVyc3RlbiBFcmZhaHJ1bmdlbiBtaXQgV2luZG93cyBhbnNvbnN0ZW4gc28/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFpbHByb2JsZW0gKFJlcXVpZW0sIDI1LiBBdWcgMjAwNSwgMDI6MjM6NTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMjQ5MjY2MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNDkyMTI5MgpUamEsIGRhIG1hY2hlbiBtZWluZSAobmljaHQgZ2FueikgZXJzdGVuIEVyZmFocnVuZ2VuIG1pdCBMaW51eCBlaW5lbgptaXR0ZWxrbGVpbmVuIFN0cmljaCBkdXJjaCBkaWUgUmVjaG51bmc6IEljaCBzY2hhZmZlIGVzIGJpc2hlciBuaWNodCwgbGVzZW5kCnVuZCBzY2hyZWliZW5kIGF1ZiBOVEZTLUxhdWZ3ZXJrZSB6dXp1Z3JlaWZlbi4gSWNoIG5laG1lIG1hbCBhbiwgZGFzcwpUaHVuZGVyYmlyZCB1bnRlciBXaW4gdW5kIExpbnV4IGRpZXNlbGJlIERhdGVpc3RydWt0dXIgdmVyd2VuZGV0LCBzbyBkYXNzCmxlc2VuZGUgdW5kIHNjaHJlaWJlbmRlIFp1Z3JpZmZlIGF1ZiBkaWUgSW5ib3hkYXRlaWVuIGtlaW4gUHJvYmxlbSBkYXJzdGVsbGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1haWxwcm9ibGVtIChPZ28sIDI1LiBBdWcgMjAwNSwgMDI6NDE6MTgpOgp+IyEgcm49UmVxdWllbSBydD0xMTI0OTI5NDM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKRWhybGljaCBnZXNhZ3QsIGhhZXR0ZSBpY2ggZWluIGJpc3NlcmwgQmF1Y2h3ZWgsIHNvd29obCBkZW4gV2luIGFsc28gYXVjaApMaW51eCBUaHVuZGVyYmlyZCBhdWYgZGllc2VsYmVuIERhdGVuIHNjaHJlaWJlbiB6dSBsYXNzZW4uIFdlbm4gZHUgZGFzIGRlbm5vY2gKd2lsbHN0LCBuaW1tIGVudHdlZGVyIGZhdDMyIGFscyBrbGVpbnN0ZW4gZ2VtZWluc2FtZW4gVGVpbGVyIG9kZXIgYmVzb3JnZSBkaXIKKHZvcmhlciBhdWNoIGltbWVyKSBkYXMga29tbWVyemllbGxlIHByb3ByaWV0YWVyZSBOVEZTLUtlcm5lbC1Nb2R1bCBmdWVyIExpbnV4CihodHRwOi8vbnRmcy1saW51eC5jb20vKS4gCgpXYXMgaWNoIGRpciB2b3JzY2hsYWdlbiB3dWVyZGUsIGlzdCBkYXNzIGR1IHNhZW10bGljaGUgYmlzaGVyaWdlbiBNYWlscwprb3BpZXJzdCB1bmQgaW1wb3J0aWVyc3QuIEZ1ZXIgYWxsZSBuZXVlbiBNYWlscyBhdWYgSU1BUCB1bXN0ZWlnc3QuIEJlaSBBcmNvcgpiZWtvbW1zdCBkdSBtaXR0bGVyd2VpbGUgZWluZW4ga29zdGVubG9zZW4sIHdlcmJlZnJlaWVuIElNQVAtQWNjb3VudCwgZGVuIGR1Cm1pdHRlbHMgV2VpdGVybGVpdHVuZ2VuIGhpbnRlciBkZWluZW4gYmlzaGVyaWdlbiBBY2NvdW50IGthc2thcmRpZXJlbiBrYW5uc3QuCkljaCBnbGF1YmUsIGRhc3MgZGVyIElNQVAtU3VwcG9ydCBiZWkgQXJjb3IgdW5kb2t1bWVudGllcnQgaXN0LCBhbHNvIG5pY2h0IGFuCmRpZSBncm9zc2UgR2xvY2tlIGhhZW5nZW4sIGljaCBmaW5kZSBkZW4gbmFlbWxpY2ggc3VwZXIuIDpQCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1haWxwcm9ibGVtIChHcmltbWJvcm4sIDI1LiBBdWcgMjAwNSwgMDc6NTY6MDEpOgp+IyEgcm49T2dvIHJ0PTExMjQ5MzA0Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNDkyMTI5MgpFaHJsaWNoIGdlc2FndCwgaGFldHRlIGljaCBlaW4gYmlzc2VybCBCYXVjaHdlaCBtZWluZSBtYWlscyBlaW5lbQp1bmRva3VtZW50aWVydGVuIElNQVAtc2VydmVyIGVpbmVzIFByb3ZpZGVycyBhbnp1dmVydHJhdWVuLiBXZW5uIHNpY2ggZGVyClByb3ZpZGVyIGVudHNjaGxpZXNzdCBlaW5lcyBUYWdlcyBkZW4gc2VydmVyIGFienVzY2hhbHRlbiBrYW5uIGljaCBtaWNoIGphCm5pY2h0bWFsIHdpcmtsaWNoIGJlc2Nod2VyZW4sIHVuZCBkaWUgbWFpbHMgc2luZCB3ZWcuIERhbm4gc2Nob24gZWhlciBkYXNzZWxiZQooc291cmNlc2VpdGlnLCBhbnNvbnN0ZW4gImRhcyBnbGVpY2hlIikgUHJvZ3JhbW0gdW50ZXIgendlaSBPUyBhdWYgZGVuc2VsYmVuCkRhdGVuIHZlcndlbmRlbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWFpbHByb2JsZW0gKE1hcmN1cywgMjUuIEF1ZyAyMDA1LCAwNzo1ODo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNDk0OTM2MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCk5URlMgc2NocmVpYmVuZCBpc3Qgbm9jaCBuaWNodCB2b2xsc3RhZW5kaWcgaW1wbGVtZW50aWVydC4gRXMgZ2VodCBuaWNodHMKa2FwdXR0LAphYmVyIGVyIHVudGVyc3R1ZXR6dCBhdWNoIG5pY2h0IGplZGUgQXJ0IHZvbiBkcmF1ZnNjaHJlaWJlbiAoaWNoIGdsYXViZSBudXIKZXhpc3RpZXJlbmRlIEZpbGVzIHVlYmVyc2NocmVpYmVuKS4KCkluc29mZXJuIHNjaGVpZGV0IEZpbGVzaGFyaW5nIHZpYSBOVEZTIGF1cy4gCgpJY2ggd3VlcmRlIHdpcmtsaWNoIGVoZXIgdWViZXIgZWluZW4gemVudHJhbGVuIFNlcnZlciBnZWhlbiB1bmQvb2RlcgptYWwgRkFUMzIgYWxzIGdlbWVpbnNhbWVzIERhdGVpc3lzdGVtIGF1c3Byb2JpZXJlbi4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFpbHByb2JsZW0gKEdyaW1tYm9ybiwgMjUuIEF1ZyAyMDA1LCAwOTozNTo1MCk6Cn4jISBybj1NYXJjdXMgcnQ9MTEyNDk0OTUzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCk5pY2h0IGRhc3MgaWNoIG1pY2ggZGEgYXVza2VubmVuIHd1ZXJkZSwgYWJlciBnYWJzIG5pY2h0IGVpbmUgTW9lZ2xpY2hrZWl0CnVudGVyIFdpbmRvd3MgYXVmIGV4dDItUGFydGl0aW9uZW4genV6dWdyZWlmZW4/CgpHZEFbZXgtUl0gT0hkTXVCZEUgIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFpbHByb2JsZW0gKE5vbm5lLCAyNS4gQXVnIDIwMDUsIDA5OjQzOjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTU1MzUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKU293ZWl0IGljaCB3ZWlzcywgc2luZCBkaWUgRXh0Mi1Ub29scyBmdWVyIFdpbmRvd3MgZWhlciBlaW4KRGF0ZWlzeXN0ZW0tQnJvd3NlciwgZGVyIGF1Y2ggRXh0MiBsZXNlbiBrYW5uLiBNYW4ga2FubiBkYW1pdCBJTU8ga2VpbmUKUGFydGl0aW9uZW4gdHJhbnNwYXJlbnQgaW5zIFdpbmRvd3MtU3lzdGVtIG1vdW50ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWlscHJvYmxlbSAoVHlsYWssIDI1LiBBdWcgMjAwNSwgMTA6MDA6NTgpOgp+IyEgcm49Tm9ubmUgcnQ9MTEyNDk1NTc5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCkVzIGdpYnQgYXVjaCByaWNodGlnZSBleHQyIHRyZWliZXIgZnVlciBXaW5kb3dzIG1pdCBkZW5lbiBtYW4gZXh0MiBQYXJ0aXRpb25lbgpnYW56IG5vcm1hbCBtb3VudGVuIHVuZCBlaW5iaW5kZW4ga2Fubi4Kei5CLjogPGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZXh0MmZzZD4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1haWxwcm9ibGVtIChHcmltbWJvcm4sIDI1LiBBdWcgMjAwNSwgMTA6MDM6MDQpOgp+IyEgcm49VHlsYWsgcnQ9MTEyNDk1Njg1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCkhtbS4gV2FzIGhhYmUgaWNoIG1pciBiZWkgV2luZG93cyB1bnRlciAiZ2FueiBub3JtYWwgbW91bnRlbiIgdm9yenVzdGVsbGVuPyBadQptZWluZXIgWmVpdCAoYmlzIFdpbmRvd3M5OCkgZ2FicyBzb3dhcyBlaWdlbnRsaWNoIG5pY2h0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFpbHByb2JsZW0gKE5vbm5lLCAyNS4gQXVnIDIwMDUsIDEwOjA2OjMwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTU2OTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKU28gd2llIHVudGVyIGplZGVtIHVuaXhvaWRlbiBCZXRyaWVic3N5c3RlbWVuIGhhbHQsIG51ciB3ZWlsIE1TIHNlaW5lCkhhdXNhdWZnYWJlIG5pY2h0IG1hY2h0LCBpc3QgV2luZG93cyBqYSBuaWNodCBkZXIgTWFzc3N0YWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWFpbHByb2JsZW0gKEdyaW1tYm9ybiwgMjUuIEF1ZyAyMDA1LCAxMDoxMTo1Mik6Cn4jISBybj1Ob25uZSBydD0xMTI0OTU3MTkwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKRHUgbWVpbnN0IGFsc28sIHdlbm4gaWNoIG1pciBlaW5lbiBXaW5kb3dzcmVjaG5lciBzdWNoZSB3ZXJkZSBpY2ggZGEgZWluZW4KIm1vdW50IiBCZWZlaGwgZmluZGVuPyBVbmQgaWNoIGthbm4gZGFzIGF1Y2ggcGVybWFuZW50IGluIGVpbmUgIlxldGNcZnN0YWIiCmVpbnRyYWdlbj8gSWNoIGJpbiBiZWVpbmRydWNrdCwgZGEgc2NoZWludCBzaWNoIFdpbmRvd3MgamEgd2lya2xpY2ggZW5vcm0KZW50d2lja2VsdCB6dSBoYWJlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1haWxwcm9ibGVtIChab29rLCAyNS4gQXVnIDIwMDUsIDEwOjEyOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTU3NTEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKWnVtaW5kZXN0IGVpbiBldGMtVmVyemVpY2huaXMgaGFiZSBpY2ggaXJnZW5kd28gYmVpIFdpbi1OVCBtYWwgZ2VmdW5kZW4uClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFpbHByb2JsZW0gKFR5bGFrLCAyNS4gQXVnIDIwMDUsIDEwOjEzOjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTU2OTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKTnVuIGVudHdlZGVyIG1hbiBsYWVzc3QgZGVuIFRyZWliZXIgdm9uIFdpbmRvd3MgYXV0b21hdGlzY2ggc3RhcnRlbiB1bmQgZGllClBhcnRpdGlvbiBtb3VudGVuICh3aWUgdW50ZXIgV2luIHVlYmxpY2gpIG9kZXIgbWFuIGxhZWQgZGVuIFRyZWliZXIgcGVyIEhhbmQKIm5ldCBzdGFydCBleHQyZnNkIiB1bmQgbW91bnRldCBkYW5uIGRpZSBnZXd1ZW5zY2h0ZSBQYXJ0aXRpb24gbWl0IGRlbQptaXRnZWxpZWZlcnRlbiBXaW5kb3dzIG1vdW50IEJlZmVobCAoVG8gbW91bnQgcGFydGl0aW9uIDEgb2YgaGFyZGRpc2sgMCB0byBmOiwKdGhlbiAibW91bnQgMCAxIGY6IikuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWlscHJvYmxlbSAoT2dvLCAyNS4gQXVnIDIwMDUsIDE0OjEwOjQ1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTQ5MzYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKRGlyIGthbm4gYXVjaCBlaW4gWmllZ2Vsc3RlaW4gYXVmIGRlbiBLb3BmIGZhbGxlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1haWxwcm9ibGVtIChHcmltbWJvcm4sIDI1LiBBdWcgMjAwNSwgMTY6MTU6MzcpOgp+IyEgcm49T2dvIHJ0PTExMjQ5NzE4NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNDkyMTI5MgpEYXMgaXN0IGtvcnJla3QuIEFiZXIgYW5zY2hsaWVzc2VuZCBoYWJlIGljaCBtZWluZSBtYWlsIGltbWVyIG5vY2guCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1haWxwcm9ibGVtIChSZXF1aWVtLCAyNi4gQXVnIDIwMDUsIDEyOjMxOjIyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI0OTc5MzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKQW50d29ydCBlaW5mYWNoIG1hbCBhdWYgZGVuIGxldHp0ZW4gQXJ0aWtlbDoKRkFUMzIgc2NoZWlkZXQgYXVzLiBBdWYgUnVlY2tzY2hyaXR0ZSBoYWIgaWNoIGtlaW5lIEx1c3QgdW5kIGVpbiBKRlMgZGFyZiBlcwpzY2hvbiBzZWluLgoKSU1BUCBzY2hlaWRldCwgd2llIGljaCBpbiBtZWluZW0gVXJzcHJ1bmdzcG9zdGluZyBlcndhZWhudCBoYWJlLCBhdWNoIGF1cy4gSWNoCmhhYmUgendhciBkaWUgdGVjaG5pc2NoZSBNb2VnbGljaGtlaXQsIGFiZXIgZGVyIGJldHJlZmZlbmRlIEFjY291bnQgYmlldGV0CmxlZGlnbGljaCAxMDAgTUIgU2VydmVycGxhdHouIEVpbiBsb2thbGVyIE1haWxzZXJ2ZXIgZHVlcmZ0ZSBhdWNoIGF1c3NjaGVpZGVuLApkYSBkZXIgYXVmIGRlbXNlbGJlbiBSZWNobmVyIGxhdWZlbiBtdWVzc3RlIHdpZSBkaWUgQ2xpZW50cyAtIGV0d2FzIHNjaHdpZXJpZywKZGVua2UgaWNoLiBVbmQgbWl0dGVscyBoYWxiZ2FyZXIgTWV0aG9kZW4gZGFzIEZpbGVzaGFyaW5nIHp1IG1hY2hlbiAtIGljaAp3ZWlzcyBqYSBuaWNodCwgZGFmdWVyIGlzdCBtaXQgbWVpbiBBcmNoaXYgZGFubiBkb2NoIHp1IHdpY2h0aWcsIGF1Y2ggd2VubgpkYXZvbiBoYWxid2VncyBha3R1ZWxsZSBCYWNrdXBzIGV4aXN0aWVyZW4gKGRpZSBkaWUgZ2VuYW5udGVuIDEwMCBNQgpTcGVpY2hlcnBsYXR6IGltIHVlYnJpZ2VuIHVtIGVpbiB2aWVsZmFjaGVzIHVlYmVyc2NocmVpdGVuLiBVbmQgYXVjaCBlaW4KR29vZ2xlLU1haWxhY2NvdW50IG1pdCBzZWluZW4gMiBHQiBQTGF0eiB3dWVyZGUgbmljaHQgYXVzcmVpY2hlbi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1haWxwcm9ibGVtIChab29rLCAyNi4gQXVnIDIwMDUsIDEyOjU0OjA5KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNTA1MjI4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCldhcyBzcHJpY2h0IGdlZ2VuIEZBVDMyPwpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTWFpbHByb2JsZW0gKENyb2Z0LCAyNi4gQXVnIDIwMDUsIDEyOjU3OjUxKToKfiMhIHJuPVpvb2sgcnQ9MTEyNTA1MzY0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI0OTIxMjkyCkVzIGlzdCBrZWluIEpGUy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWFpbHByb2JsZW0gKENhdHdlYXpsZSwgMjYuIEF1ZyAyMDA1LCAxMzoxNToyMyk6Cn4jISBybj1Dcm9mdCBydD0xMTI1MDUzODcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjQ5MjEyOTIKRHUgbWFnc3QgZGEga2VpbmUgTHVzdCBkcmF1ZiBoYWJlbiwgYWJlciBlaW4gRkFUMzIgYXVmIGVpbmUgendlaXRlIFBhcnRpdGlvbgp6dSBsZWdlbiB1bmQgYXVmIGRhcyBkYW5uIGJlaWRlIFN5c3RlbWUgenVncmVpZmVuIGtvZW5uZW4sIGlzdCBhYnNvbHV0IHVlYmxpY2gKdW5kIGRlciBnYWVuZ2lzdGUgV2VnIGZ1ZXIgZGVpbiBQcm9ibGVtLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWFpbHByb2JsZW0gKFpvb2ssIDI2LiBBdWcgMjAwNSwgMTM6MzE6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjUwNTQ5MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNDkyMTI5Mgpab29rIG5pY2t0IENhdHdlYXpsZSB6dS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWlscHJvYmxlbSAoUmVxdWllbSwgMjYuIEF1ZyAyMDA1LCAyMTo0NjowMik6Cn4jISBybj1ab29rIHJ0PTExMjUwNTU4NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNDkyMTI5MgpJY2ggaGFldHRlIGhhbHQgZ2VybiBlaW5lIGVsZWdhbnRlcmUgTG9lc3VuZy4gSG0sIHZpZWxsZWljaHQgc2NoZW5rIGljaCBkb2NoCm1laW5lbSB1cmFsdHJlY2huZXIgZWluIG5ldWVzIE1haW5ib2FyZCB1bmQgbWFjaCBkYSBlaW5mYWNoIGVpbmVuIE1haWxzZXJ2ZXIKZHJhdXMsIGRhcyB3YWVyZSB3b2hsIHZlcm11dGxpY2ggZWluZSBlbGVnYW50ZXJlIExlc3VuZyA7KQoKUmVxdWllbQoKSmEsIGljaCB3ZWlzcywgZGFzcyBpbiAiTG9lc3VuZyIgZWluICJvIiBmZWhsdCwgaWNoIGhhdHRlIG51ciBrZWluZSBMdXN0LCBkaWUKWmVpbGUgbmV1IHp1IHNjaHJlaWJlbiA7PSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbmRvd3MgMjAwMCBUZXJtaW5hbHNlcnZlciAoRmVpZ2xpbmcsIDMxLiBBdWcgMjAwNSwgMjE6MzU6NDMpOgpBbGxlaW4gZGVyIFRpdGVsIGRlcyBBcnRpa2VsIHdpcmQgYmVpIGVpbmlnZW4gQXVzc2NobGFnIHZlcnVyc2FjaGVuLAphYmVyIGVnYWwuIEZvbGdlbmRlcyBQcm9ibGVtIGhhYiBpY2ggKGljaCBrZW5uIG1pY2ggbmljaHQgc29uZGVybGljaApndXQgbWl0IE1TLVNlcnZlcm4gYXVzKTogSWNoIGluc3RhbGxpZXJlIGVpbmVuIFcyay1TZXJ2ZXIgYWxzClRlcm1pbmFsc2VydmVyIGltIEFwcGxpa2F0aW9ubW9kdXMgLSBuYWNoIGRlciBJbnN0YWxsYXRpb24ga2xhcHB0CmF1Y2ggYWxsZXMsIGRvY2ggZGFubiAoZ2VuYXUgd2Vpc3MgaWNocyBuaWNodCkgZW50d2VkZXIgbmFjaCBlaW5zcGllbGVuCnZvbiBVcGRhdGVzIG9kZXIgbmFjaCBkZW4gQmVpdHJpdHQgenUgZWluZXIgRG9tYWluIChha3RpdmUgRGlyZWt0b3J5KQprbGFwcHQga2VpbiBDb25uZWN0IG1laHIgenVtIFRlcm1pbmFsc2VydmVyLiBEZXIgRGllbnN0IGxhZXVmdCwgYWJlcgpLZWluIENsaWVudCBiZWtvbW10IG1laHIgZWluZSBWZXJiaW5kdW5nLgpJY2ggaGFiZSBrZWluZW4gV2VnIGdlZnVuZGVuIGRhcyB3aWVkZXIgYW5zIGxhdWZlbiB6dSBicmluZ2VuLCBkaWUgCkVyZWlnbmlzbG9ncyB6ZWlnZW4gYXVjaCBuaWNodHMgdW5nZXdvZWhubGljaGVzLgoKS2VubnQgZGFzIGplbWFuZCwgb2RlciBoYXQgamVtYW5kIG5lbiBUaXAgd2FzIGljaCBub2NoIHZlcnN1Y2hlbgprYW5uIChMaW51eCBpc3QgaW4gZGllc2VtIEZhbGwgbGVpZGVyIG5pY2h0IGVpbnNldHpiYXIpLgoKQmlzaGVyIG1vY2h0ZSBpY2ggV2luZG93cyBuaWNodCBzb25kZXJsaWNoLCBsYW5nc2FtIGZhbmdlIGljaCBhbiBlcwp6dSBoYXNzZW4uIDstKQoKRmVpZ2xpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5kb3dzIDIwMDAgVGVybWluYWxzZXJ2ZXIgKE11YWRpYiwgIDEuIFNlcCAyMDA1LCAwOToxMjoyOCk6Cn4jISBybj1GZWlnbGluZyBydD0xMTI1NTE2OTQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU1MTY5NDMKYWZhaWsgd3VyZGUgZGEgZHVyY2ggZGFzIHVwZGF0ZSBldHdhcyBhbSBwcm90b2tvbGwgZ2VhZW5kZXJ0LiBlcnNjaGFmZmUgYXVmCmRlbSBzZXJ2ZXIgZWluZW4gbmV1ZW4gY2xpZW50ZW4gdW5kIHByb2JpZXJzIG1hbCBtaXQgZGVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrdXAgZnVlciA3MCAtIDEwMEdCIChUYXJhbmlzLCAgMS4gU2VwIDIwMDUsIDE1OjAyOjM0KToKV2lyIHN1Y2hlbiBiZWkgdW5zIGluIGRlciBBcmJlaXRzZ3J1cHBlIG5hY2ggZWluZXIgdmVybnVlbmZ0aWdlbiB1bmQKZ2xlaWNoemVpdGlnIG1vZWdsaWNoc3QgcHJlaXN3ZXJ0ZW4gTG9lc3VuZyAoa2xhciwgVW5pICpnKiksIHVuc2VyZSBNZXNzZGF0ZW4KenUgc2ljaGVybi4gRGFzIHNpbmQgZnVlciB1bnNlcmUgMjAtMzAgTGV1dGUgZGFubiBzY2hvbiBjYS4gNzAgR0IgYW4gRGF0ZW4uCldlbm4gbWFuIHdhcyBiYWVuZGVyYmFzaWVydGVzIG5laG1lbiB3aWxsLCBrb21tdCBhdXNzZXIgZGVuIFVsdHJpdW1sYXVmd2Vya2VuCm5vY2ggd2FzIGFuZGVyZXMgaW4gRnJhZ2U/Ckthbm4gbWlyIGplbWFuZCB3YXMgdWViZXIgVWx0cml1bWxhdWZ3ZXJrZSB1bmQgLWJhZW5kZXIgYnpnbC4gZGVyIFN0YWJpbGl0YWV0CnVuZCBMZWJlbnNkYXVlciBlcnphZWhsZW4/IEFsc28sIHdpZSBsYW5nZSBoYWVsdCBzbyBlaW4gQmFuZCBiencuIGVpbiBMYXVmd2Vyawp1ZWJsaWNoZXJ3ZWlzZT8KVmllbGUgR3J1ZXNzZSwKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhY2t1cCBmdWVyIDcwIC0gMTAwR0IgKE9nbywgIDEuIFNlcCAyMDA1LCAxNToyODozMCk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMjU1Nzk3NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNTU3OTc1NAo3MEdCIHRhZWdsaWNoLCB3b2VjaGVudGxpY2gsIG1vbmF0bGljaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFja3VwIGZ1ZXIgNzAgLSAxMDBHQiAoVGFyYW5pcywgIDEuIFNlcCAyMDA1LCAxNTo0MTowMSk6Cn4jISBybj1PZ28gcnQ9MTEyNTU4MTMxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NTc5NzU0CkFoLCBzb3JyeS4gQWxzbywgZGFzIHdhZXJlbiA3MEdCLCBkaWUgZGFzIG1vbWVudGFuIGVpbm5pbW10LCBhbHNvIGVpbgpWb2xsYmFja3VwLiBEYXMgbXVzc3QgYWJlciBuaWNodCB0YWVnbGljaCBzZWluLCB3b2VjaGVudGxpY2ggd3VlcmRlIGRhIHJlaWNoZW4KbWl0IGlua3JlbWVudGVsbGVuIEJhY2t1cHMgdGFlZ2xpY2gsIGRpZSBkYW5uIGVoZXIgZGV1dGxpY2gga2xlaW5lciBzaW5kLAp3dWVyZGUgaWNoIGF1ZiBob2VjaHN0ZW5zIDVHQiBzY2hhZXR6ZW4gd2VubiBtYW4gSW5rcmVtZW50ZSB6dSBlaW5lbQp3b2VjaGVudGxpY2hlbiBWb2xsYmFja3VwIG1hY2h0LgpFaW5lIExvZXN1bmcsIGVpbiBWb2xsYmFja3VwIHp1IG1hY2hlbiwgb2huZSBkYXNzIGplbWFuZCBCYWVuZGVyIHp3aXNjaGVuZHVyY2gKdGF1c2NoZW4gbXVzcywgd2FlcmUgbmF0dWVybGljaCBzY2hvZW4uIFdvYmVpIGljaCB2ZXJtdXRlLCBkYXNzIGVzIGRhZHVyY2gKZXJoZWJsaWNoIHRldXJlciB3aXJkLi4uCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbmRvd3MgMjAwMCBUZXJtaW5hbHNlcnZlciAoRmVpZ2xpbmcsICAxLiBTZXAgMjAwNSwgMTk6MzI6MDIpOgp+IyEgcm49TXVhZGliIHJ0PTExMjU1NTg3NDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNTUxNjk0MwpMZWlkZXIgd2FycyBkYXMgYXVjaCBuaWNodCA6LSggSWNoIGhhYiBoZXV0ZSBkYW5uIHNjaGx1c3NlbmRsaWNoIGRlbgpTZXJ2ZXIgbmV1IGluc3RhbGxpZXJ0IHVuZCB3ZWlzcyBudW46IEVzIHNpbmQgbmljaHQgZGllIFVwZGF0ZXMsCmVzIGlzdCBkZXIgQmVpdHJpdHQgenUgRG9tYWluLiBXYXJ1bSB1bmQgd2FzIGRhIGRhbm4gcGFzc2llcnQsIHdlaXNzCmljaCBhYmVyIGltbWVybm9jaCBuaWNodC4gVmllbGxlaWNodCBlaW4gTGl6ZW56cHJvYmxlbT8KCkZlaWdsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcGdyYWRlIFdpbjk1IC0+IFhQIGhpbnNpY2h0bGljaCBET1MtUHJvZ3JhbW1lbiAoQW1hcnlsbGlzLCAgMS4gU2VwIDIwMDUsIDIwOjQ0OjQzKToKSGksCgppY2ggaGFiZSBoaWVyIGVpbmVuIGtuaWZmbGlnZW4gRmFsbCBlaW5lcyBCZWthbm50ZW4sIGRlc3NlbiBSZWNobmVyIGljaAp1cGdyYWRlbiBzb2xsIChoYXJkLSB1bmQgc29mdHdhcmVtYWVzc2lnKS4KClp1bmFlY2hzdCBlaW5tYWw6IEF1ZiBkZXIgYmlzaGVyaWdlbiBVcmFsdC1NdWVobGUgbGFldWZ0IFdpbjk1LCBkYXp1IHF1YXNpCmF1c3NjaGxpZXNzbGljaCBlaW4gRE9TLVByb2dyYW1tIChlaW5lIFZlcndhbHR1bmcgZnVlciBPcHRpa2VyLUdlc2NoYWVmdGUpLgoKRGVyIFd1bnNjaDogVXBncmFkZSBhdWYgZWluZSBha3R1ZWxsZSBIYXJkd2FyZSBtaXQgV2luWFAgKGVzIG11c3MgdW5iZWRpbmd0CmVpbiBEZWxsLUtvbXBsZXR0cmVjaG5lciBzZWluLCB1bmQgZGEgaXN0IG5lbiBYUCBkYWJlaSkuCgpCZWRpbmd1bmc6IERpZSB1cmFsdGUgRE9TLVNvZnR3YXJlIG11c3MgYXVmIGRlbSBuZXVlbiBSZWNobmVyIGdlbmF1c28KcHJvYmxlbWxvcyBsYXVmZW4gd2llIGF1ZiBkZW0gYWx0ZW4uCgpFcnN0ZSBGcmFnZTogR2lidCBlcyBVbnRlcnNjaGllZGUgendpc2NoZW4gWFAgdW5kIDIwMDAgaGluc2ljaHRsaWNoCkRPUy1FTXVsYXRpb24tS29tcGF0aWJpbGl0YWV0LCBvZGVyIGlzdCBkYXMgZWdhbD8KClp3ZWl0ZSBGcmFnZTogVW0gZWluIEJhY2t1cCBkZXIgamV0emlnZW4gRGF0ZW4genUgZXJzdGVsbGVuIHNvd2llIHp1IHRlc3RlbiwKb2IgZGllIERPUy1BcHBsaWthdGlvbiB1bnRlciBYUCB1ZWJlcmhhdXB0IGxhZXVmdCwgcGxhbmUgaWNoLCBlaW5lIHRlbXBvcmFlcmUKUGxhdHRlIGluIGRlbiBhbHRlbiBSZWNobmVyIGVpbnp1YmF1ZW4gdW5kIGRlbiBnYW56ZW4gS3JhbSBlaW5mYWNoCmRyYXVmenVrb3BpZXJlbiAoZ2lidCBqYSB1bnRlciBET1MgenVtIEdsdWVjayBrZWluZSBSZWdpc3RyeSwgZGEgc29sbHRlIGRhcyBzbwpnZWhlbikgdW5kIHp1IEhhdXNlIGluIFJ1aGUgYW0gWFAtUmVjaG5lciB6dSB0ZXN0ZW4uIERlciBBbHRyZWNobmVyIGhhdCBudXIKZWluZW4gSURFLUNvbnRyb2xsZXIsIGFuIGRlbSBQbGF0dGUgdW5kIENEUk9NIGhhZW5nZW4uIFdlbm4gaWNoIGpldHp0IENEUk9NCmFia2xlbW1lIHVuZCBtZWluZSBQbGF0dGUgZHJhbmhhZW5nZSwgd2lyZCBkaWUgdW50ZXIgV2luOTUgdWViZXJoYXVwdApwcm9ibGVtbG9zIGVya2FubnQsIGthbm4gaWNoIGRpZSBtaXQgRkFUIGZvcm1hdGllcmVuIHVuZCBkYXJhdWYga29waWVyZW4/CgpGdWVyIHdlaXRlcmUgVGlwcyB2b24gTGV1dGVuLCBkaWUgZGllc2JlenVlZ2xpY2ggc2Nob24gZWlubWFsIChzY2hsZWNodGUpCkVyZmFocnVuZ2VuIGdlbWFjaHQgaGFiZW4sIGJpbiBpY2ggZGFua2JhciA6KQoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVcGdyYWRlIFdpbjk1IC0+IFhQIGhpbnNpY2h0bGljaCBET1MtUHJvZ3JhbW1lbiAoT2dvLCAgMS4gU2VwIDIwMDUsIDIwOjUyOjAzKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTI1NjAwMjgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU2MDAyODMKTWlyIHNpbmQga2VpbmUgVW50ZXJzY2hpZWRlIGluIEhpbnNpY2h0IGF1ZiBkaWUgRE9TLUtvbXBhYmlsaXRhZXQgendpc2NoZW4gNS4wCnVuZCA1LjEgYmVrYW5udC4gUHJvYmxlbWUgbWFjaGVuIGkuZC5SLiBudXIgRE9TLVByb2dyYW1tZSwgZGllIGVudHdlZGVyIHNlaHIKaGFyZHdhcmVuYWggcHJvZ3JhbW1pZXJ0IHNpbmQgKFNwaWVsZSkgb2RlciBQcm9ncmFtbWUsIGRpZSBSZWNoZW56ZWl0IGFscwprbmFwcGUgUmVzc291cmNlIHZvbGwgYXVzbnV0emVuIHdvbGxlbi4gKERPUy1TcGllbGUsIGRpZSBhdWYgbmV1ZXIgSGFyZHdhcmUKdmllbCB6dSBzY2huZWxsIGxhdWZlbi4pCgpFaW4gT3B0aWtlci1Qcm9ncmFtbSB3aXJkIChzb2xhbmdlIGRhIG5pY2h0IGlyZ2VuZHdlbGNoZSBleG90aXNjaGUgSGFyZHdhcmUKZHJhbiBoYWVuZ3QpLCBtaXQgSS9PIGF1ZiBEYXRlaWViZW5lIGF1c2tvbW1lbiB1bmQgdmVybXV0bGljaCBrZWluZSBQcm9ibGVtZQptYWNoZW4uCgpBbnNvbnN0ZW4gZ3VjayBkaXIgZ2dmIFFFbXUgZnVlciBXaW5kb3dzIGFuLi4uCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVcGdyYWRlIFdpbjk1IC0+IFhQIGhpbnNpY2h0bGljaCBET1MtUHJvZ3JhbW1lbiAoSGlnaGxhbmRlciwgIDEuIFNlcCAyMDA1LCAyMDo1ODozNSk6Cn4jISBybj1PZ28gcnQ9MTEyNTYwMDcyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NjAwMjgzClp1IGJlYWNodGVuIGlzdCBub2NoLCBkYXNzIGRlciBSZWNobmVyLCBqZSBuYWNoIEFsdGVyLAp2aWVsbGVpY2h0IFByb2JsZW1lIGhhYmVuIGtvZW5udGUgbWl0IHp1IGdyb3NzZW4gRmVzdHBsYXR0ZW4uCldvYmVpICd6dSBncm9zcycgaWRlbnRpc2NoIGlzdCBtaXQgR3JvZXNzZW4sIGRpZSBtYW4gaGV1dGUKdmVybXV0bGljaCBzY2hvbiBuaWNodCBtZWhyIGZpbmRldCwgd2VpbCB6dSBrbGVpbi4KV29iZWkgc2ljaCBkYXMgZXZ0bCBudXIgZGFyaW4gYWV1c3NlcnQsIGRhc3MgZXIgaGFsdCBudXIgZWluZW4KQnJ1Y2h0ZWlsIGRlciBQbGF0dGUgYW5zcHJlY2hlbiBrYW5uIHVuZCBkZXIgUmVzdCB2b3Igc2ljaCBoaW4KZ2FtbWVsbiB3dWVyZGUuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVwZ3JhZGUgV2luOTUgLT4gWFAgaGluc2ljaHRsaWNoIERPUy1Qcm9ncmFtbWVuIChUYXJhbmlzLCAgMS4gU2VwIDIwMDUsIDIxOjAzOjU0KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEyNTYwMTExNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NjAwMjgzCkljaCB3dWVyZGUgZGFzIEJhY2t1cCBlaW5mYWNoIHZvbiBlaW5lciBLbm9wcGl4IG1hY2hlbi4gRGFtaXQgaGF0IG1hbgp2ZXJtdXRsaWNoIGF1Y2ggd2VuaWdlciBQcm9ibGVtZSBtaXQgenUgZ3Jvc3NlbiBGZXN0cGxhdHRlbi4gVW5kIGRhbm4gZW50d2VkZXIKcGFydGltYWdlIG9kZXIgZGQgfCBnemlwIG1hY2hlbi4gSGF0IGRlbiBWb3J0ZWlsLCBkYXNzIG1hbiBNQlIsIEJvb3RzZWt0b3IKdXN3LiBhdWNoIGFsbGVzIG1pdGJla29tbXQgdW5kIGRpZSBQbGF0dGUgdm9sbHN0YWVuZGlnIHJlc3RhdXJpZXJlbiBrYW5uLgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVXBncmFkZSBXaW45NSAtPiBYUCBoaW5zaWNodGxpY2ggRE9TLVByb2dyYW1tZW4gKEhpZ2hsYW5kZXIsICAxLiBTZXAgMjAwNSwgMjE6MDQ6MzIpOgp+IyEgcm49VGFyYW5pcyBydD0xMTI1NjAxNDM0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU2MDAyODMKXiBHb29kIHBvc3RpbmcgXgoKU29ycnksIGRhcyBtdXNzdGUgamV0enQgc2VpbiA6KQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhY2t1cCBmdWVyIDcwIC0gMTAwR0IgKE9ya3RvZXRlciwgIDEuIFNlcCAyMDA1LCAyMjoxMzowOSk6Cn4jISBybj1PZ28gcnQ9MTEyNTU4MTMxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NTc5NzU0CldlbmRlIGRpY2ggYW4gZXVlciBSZWNoZW56ZW50cnVtLCB6dW1pbmRlc3QgZGllIFVuaSBXaWVuIGJpZXRldCBlcyBqZWRlbQpBcmJlaXRza3JlaXMgYW4gZGFzIGRpIERhdGVuIGplZGUgTmFjaHQgdWViZXJzIE5ldHogYXVmIGVpbmVtIHplbnRyYWxlbgpCYW5kc2VydmVyIGdlc2ljaGVydCB3ZXJkZW4uIEdlbmF1IHdpZSBkdSBzYWd0ZXN0LCBlaW5tYWwgdm9sbCB1bmQgZGFuYWNoCmlua3JlbWVudGVsbC4KRGF6dSByZWljaHQgZXMsIGVpbmVuIFRTTS1jbGllbnQgenUgaW5zdGFsbGllcmVuIHVuZCB6dSBrb25maWd1cmllcmVuIHVuZCBkYXMKd2FyIGVzLi4uIGJpbGxpZ2VyIGdlaHRzIG5pbW1lci4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCYWNrdXAgZnVlciA3MCAtIDEwMEdCIChUYXJhbmlzLCAgMS4gU2VwIDIwMDUsIDIyOjE1OjE3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTI1NjA1NTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU1Nzk3NTQKRGFzIHdhZXJlIG5lIHNjaG9lbmUgTG9lc3VuZywgaGF0dGUgaWNoIGF1Y2ggZHJhbiBnZWRhY2h0LCBhYmVyIG1laW5lcyBXaXNzZW5zCmJpZXRldCB1bnNlciBSWiBkYXNzIG5pY2h0IGZ1ZXIgUlotZXh0ZXJuZSBSZWNobmVyIGFuLiBOYWphLCBpY2ggd2VyZGUgbm9jaG1hbApnZXppZWx0ZXIgTmFjaGZyYWdlbi4gOy0pCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVcGdyYWRlIFdpbjk1IC0+IFhQIGhpbnNpY2h0bGljaCBET1MtUHJvZ3JhbW1lbiAoQW1hcnlsbGlzLCAgMS4gU2VwIDIwMDUsIDIyOjE1OjE5KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyNTYwMTQzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NjAwMjgzCkRhcyBCYWNrdXAgaXN0IG5pY2h0IGRhcyBQcm9ibGVtLi4uIGljaCBtdXNzIGVyc3RtYWwgd2lzc2VuLCBvYiBkaWUgYWx0ZQpTb2Z0d2FyZSB3aXJrbGljaCBhdWYgZWluZW0gYWt0dWVsbGVuIFJlY2huZXIgbGFldWZ0LCBiZXZvciBpY2ggZGFzIEdhbnplCmlua2wuIEhhcmR3YXJlZW1wZmVobHVuZyBhbmxlaWVybiBrYW5uLi4uIGljaCB3aWxsIGRpZSBhbHRlIFBsYXR0ZSwgYXVmIGRlcgpkaWUgRGF0ZW4gamV0enQgc2luZCwgamEgbmljaHQgd2VpdGVydmVyd2VuZGVuIDopCgpBYmVyIGRhbmtlIGZ1ZXIgZGllIEhpbndlaXNlLCBhdWNoIGRhcyBtaXQgZGVyIFBsYXR0ZW5ncm9lc3NlIGJlaSBhbHRlbiBCSU9TZW4KaGFldHRlIGljaCBldnRsIG5pY2h0IGJlZGFjaHQgOikgU29sbHRlIGFiZXIgd29obCBlaCA8MUdCIHNlaW4sIHdhcyBkYSBhbgpEYXRlbiBydW1saWVndC4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVXBncmFkZSBXaW45NSAtPiBYUCBoaW5zaWNodGxpY2ggRE9TLVByb2dyYW1tZW4gKEdyaW1tYm9ybiwgIDIuIFNlcCAyMDA1LCAwOToyOToxMik6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyNTYwNTcxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NjAwMjgzCk1hY2hzIGRvY2ggc286IFVudGVyIFdpblhQIGluc3RhbGxpZXJzdCBEdSBWTXdhcmUsIGRvcnQgcmVpbiBkYW5uIGVpbiBMaW51eCwKdW5kIGluIGRpZXNlbSB2ZXJ3ZW5kZXN0IER1IGRvc2VtdSBvZGVyIHdpbmUgdW0gZGllIE9wdGlrZXJzb2Z0d2FyZSBsYXVmZW4genUKbGFzc2VuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhY2t1cCBmdWVyIDcwIC0gMTAwR0IgKE1vcmdvdGgsICAyLiBTZXAgMjAwNSwgMTE6MzY6NTApOgp+IyEgcm49VGFyYW5pcyBydD0xMTI1NTgyMDYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU1Nzk3NTQKV2lyIGhhYmVuIGVpbiBTRExUIEJhbmRsYXVmd2VyayBiZWkgdW5zIHdlbGNoZXMgMTIwR0IgdW5rb21wcmltaWVydCBmcmlzc3QuClNvbGx0ZSBhbHNvIGVyc3RtYWwgYXVzcmVpY2hlbi4gTW9kZWxsIGthbm4gaWNoIERpciBuYWVjaHN0ZSBXb2NoZSBzYWdlbiwgd2VubgptZWluIFVybGF1YiB2b3JiZWkgaXN0IDooCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmFja3VwIGZ1ZXIgNzAgLSAxMDBHQiAoUm9uZGEsICAyLiBTZXAgMjAwNSwgMTk6MjU6MTYpOgp+IyEgcm49TW9yZ290aCBydD0xMTI1NjUzODEwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU1Nzk3NTQKVm9uIHdhcyBmdWVyIGVpbmVtIEJldHJpZWJzc3lzdGVtIHJlZGVuIHdpciBkZW5uIGVpZ2VudGxpY2g/IChPZGVyIGhhYiBpY2ggZGFzCnVlYmVybGVzZW4/KSBXaWUgREFVLUZyZXVuZGxpY2ggc29sbCBkYXMgZ2FuemUgc2Vpbj8gV2VyIHNvbGwgZGFzIHdpZQphZG1pbmlzdHJpZXJlbj8gRXZlbnR1ZWxsIHdhZXJlIGF1Y2ggZWluZSAiT3V0LU9mLVRoZS1Cb3gtTG9lc3VuZyIgZWluZQpWYXJpYW50ZSwgd2VubnMgekIgbnVyIHVtIFdpbmRvd3MtTWFzY2hpbmVuIGdlaHQuIERhZnVlciBnaWJ0cyBmZXJ0aWdlIEtpc3RlbiwKYXVmc3RlbGxlbiwgYW5zdGVsbGVuLCBCYWNrdXAtQ2xpZW50cyBpbnN0YWxsaWVyZW4gdW5kIHJlY2h0IGVpbmZhY2gKa29uZmlndXJpZXJlbiAtIGRhcyB3YXJzLiBCYWNrdXAgYXVjaCBwZXIgQ2xpZW50IG9kZXIgaW5kZW0gbWFuIGF1ZiBkZW0KQmFja3VwLUtpc3RjaGVuIG5lIERWRCBtaXQgZGVuIERhdGVuIGJyZW5udC4KTmFjaHRlaWw6IE5pY2h0IHNvIHNjaG9lbiBrb25maWd1cmllcmJhciwgdmllbGxlaWNodCBpbiBiaXNzY2hlbiB0ZXVyZXIuClZvcnRlaWw6IFJlY2h0IERBVS1zaWNoZXIsIGtlaW4gQWRtaW4gbm9ldGlnLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFVwZ3JhZGUgV2luOTUgLT4gWFAgaGluc2ljaHRsaWNoIERPUy1Qcm9ncmFtbWVuIChSb25kYSwgIDIuIFNlcCAyMDA1LCAxOToyOToxMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNTY0NjE1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI1NjAwMjgzCkRlbiBUaXBwIG1pdCBWTVdhcmUgZmluZGUgaWNoIGd1dCAtIHVuZCBuYWNoIGRlbiBFcmZhaHJ1bmdlbiBkZXIgbGV0enRlbiBaZWl0Cm1hZyBpY2ggVk1XYXJlIGltbWVyIGxpZWJlciwgYmVzb25kZXJzIGluIGRlciBuZXVlbiBWZXJzaW9uLCBiZWkgZGVyIG1hbiBzbwp2aWVsZSBTbmFwc2hvdHMgbWFjaGVuIGthbm4gd2llIGRpZSBGZXN0cGxhdHRlIGhlcmdpYnQuLi4KRGEgZ2lidHMgZ2xhdWJlIGljaCBhdWNoIGRpZSBNb2VnbGljaGtlaXQsIGVpbiB2b3JoYW5kZW5lcyBXaW5kb3dzIDk1IHF1YXNpIGluCmRpZSBWTVdhcmUgcmVpbnp1bGVzZW4uIEFsc286IEZlc3RwbGF0dGUgYXVzYmF1ZW4sIGluIGdyb2Vzc2VyZW4gUmVjaG5lcgplaW5iYXVlbiwgZGFubiBpbiBWTVdhcmUgcmVpbnppZWhlbiwgdGVzdGVuIG9iIG5vY2ggYWxsZXMgZ2VodC4gV2VubiBqYSwgZGFubgplaW5mYWNoIFZNV2FyZS1JbWFnZSBrb3BpZXJlbiAvIGF1ZiBEVkQgYnJlbm5lbiwgbmV1ZW4gUEMga2F1ZmVuLCBWTVdhcmUgZHJhdWYKLSBkYXMgd2Fycy4KRWluZSBTYWNoZSBpc3QgbWlyIGFiZXIgbmljaHQga2xhcjogT3B0aWtlciBoZWlzc3QgYWJlciBuaWNodCwgZGFzcyBkYXMgekIgaW0KS2Fzc2VuYmVyZWljaCBsYWV1ZnQgdW5kIG5lbiBIYW5kc2Nhbm5lciBvZGVyIHNvIGFuZ2VzY2hsb3NzZW4gaXN0PyBEaWUKbGF1ZmVuL2xpZWZlbiBnbGF1YmUgaWNoIG1laXN0IHVlYmVyIFJTMjMyL0NvbS1Qb3J0LiBEYXMgZHVlcmZ0ZSBiZWkgbmVtIG5ldWVuClBDIGV2ZW50dWVsbCBlaW4gUHJvYmxlbSBnZWJlbi4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJhY2t1cCBmdWVyIDcwIC0gMTAwR0IgKEFuYXRvbCwgIDQuIFNlcCAyMDA1LCAwOTo1OTo1OCk6Cn4jISBybj1Sb25kYSBydD0xMTI1NjgxOTE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjU1Nzk3NTQKV2VpdGVyZSBGcmFnZW46IFdpZSBzaWNoZXIgbXVzcyBkYXMgZ2FuemUgc2Vpbj8gVGFldCBlcyBuaWNodAplaW5lIHp3ZWl0ZSBQbGF0dGUgKGdnZi4gaW4gZWluZW0gYW5kZXJlbiBSZWNobmVyIGdnZi4gaW4gZWluZW0KYW5kZXJlbiBCcmFuZHNjaHV0emJlcmVpY2gpIGF1Y2g/IERlciBWZXJ6aWNodCBhdWYgYWt0aXZlIEJhdXRlaWxlCmFscyBTcGVpY2hlcm1lZGl1bSBoYXQgc2ljaGVyIHNlaW5lIEdydWVuZGUsIGFiZXIgZ3JlaWZlbiBkaWUgYmVpCmV1Y2g/CgpBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVXBncmFkZSBXaW45NSAtPiBYUCBoaW5zaWNodGxpY2ggRE9TLVByb2dyYW1tZW4gKFZhcmRpb24sICA2LiBTZXAgMjAwNSwgMTM6MTM6MDUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMjU2MDAyODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNTYwMDI4MwpodHRwOi8vZG9zYm94LnNmLm5ldC8KCkRhcyBkaW5nIHd1cmRlIGdlYmF1dCwgdW0gRE9TLVNwaWVsZSBhdWYgTGludXgsIFdpbmRvd3NYUCBldGMgc3BpZWxlbiB6dQprb2VubmVuLCBhYmVyIGVzIGxhdWZlbiBuYXR1ZXJsaWNoIGF1Y2ggIm5vcm1hbGUiIERvcy1Qcm9ncmFtbWUuCk1hbiBicmF1Y2h0IGRhZnVlciBrZWluIERvcyBtZWhyIChpc3QgZWlucyBpbXBsZW1lbnRpZXJ0KSwgbWl0IGlyZ2VuZHdlbGNoZW4KSW1hZ2VzIGFlcmdlcnQgbWFuIHNpY2ggYXVjaCBuaWNodCBydW0gKEZpbGVzeXN0ZW0tTWFwcGluZyksIGthbm4gaW0gQmV0cmllYgpYTVMvRU1TIGVpbi9hdXNzY2hhbHRlbiB1c3cuIHVzdy4gdXN3LgpQcm9iaWVycyBlaW5mYWNoIG1hbCBhdXMuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphY2Nlc3MtcHJvYmxlbSAoR2FieWxvbiwgIDYuIFNlcCAyMDA1LCAxNzozMDowMik6CmZvbGdlbmRlcyBwcm9ibGVtIGthbSBtaXIgaGV1dCB6dSBvaHJlbjoKCkluIEFjY2VzcyBpc3QgZGllIEFuemFobCB2b24gU3BhbHRlbiBpbm5lcmhhbGIgZWluZXIgVGFiZWxsZSBiZWdyZW56dC4KSmVkZSBTcGFsdGUgc3RlaHQgZGFiZWkgZnVlciBlaW5lbiBFaW5nYWJlcGFyYW1ldGVyIGVpbmVzIERhdGVuc2F0emVzLgpKZWRlciBEYXRlbnNhdHogc3RlbGx0IGluIGRlciBUYWJlbGxlIGVpbmUgWmVpbGUgZGFyLiBXaWxsIG1hbiBtZWhyClBhcmFtZXRlciBlcmZhc3NlbiwgYWxzIEFjY2VzcyBhbiBTcGFsdGVuIHp1bGFlc3N0LCBtdXNzIG1hbiBkaWUgUGFyYW1ldGVyCmF1ZiBtZWhyZXJlIFRhYmVsbGVuIHZlcnRlaWxlbi4gRGF6dSBtdWVzc2VuIGRpZSBUYWJlbGxlbiB2ZXJidW5kZW4Kd2VyZGVuLCBkYW1pdCBpbW1lciBhdWYgZGllIGVudHNwcmVjaGVuZGVuIERhdGVuc2FldHplIChaZWlsZW4pIGRlcgp2ZXJzY2hpZWRlbmVuIFRhYmVsbGVuIHp1Z2VncmlmZmVuIHdpcmQuCgpCZWlzcGllbDogVGFiZWxsZSAxIGVudGhhZWx0IERhdGVuIHdpZSBOYW1lLCBWb3JuYW1lLCBBbnNjaHJpZnQgZXRjLgoKVGFiZWxsZSAyIGVudGhhZWx0IERhdGVuIHdpZSBLb2VycGVyZ3JvZWV0Yy5lLCBHZXdpY2h0LCBHZWJ1cnRzZGF0dW0gZXRjLgoKVGFiZWxsZSAzIGVudGhhbHQgRGF0ZW4gd2llIFNjaHVoZ3JvZWV0Yy5lLCBCZWlubGFlbmdlLCBldGMuCgpXZW5uIHp3aXNjaGVuIGRlbiBEYXRlbnNhZXR6ZW4gPSBQZXJzb25lbiBnZXdlY2hzZWx0IHdpcmQsIG11ZXNzZW4gbnVuCmltbWVyIGRpZSAicmljaHRpZ2VuIiBQYXJhbWV0ZXIgYW5nZXplaWd0IHdlcmRlbi4KCldpZSBzY2hhZmZ0IG1hbiBlcyBudW4sIGRhc3MgbWFuIGluIEFjY2VzcyBtZWhyZXJlIFRhYmVsbGVuIGlubmVyaGFsYgplaW5lciBEYXRlbmJhbmsgc28gdmVya251ZXBmdCwgZGFzcyBiZWltIFdlY2hzZWwgendpc2NoZW4gRGF0ZW5zYWV0emVuCmluIGFsbGVuIHZlcmtudWVwZnRlbiBUYWJlbGxlbiBqZXdlaWxzIGRlciBnbGVpY2hlIERhdGVuc2F0eiBhdWZnZXJ1ZmVuCmJ6dy4gYmVhcmJlaXRldCB3aXJkPwoKLS0tLS0tIHNuaXAgLS0tLS0tLQoKZGEgaWNoIG1pY2ggbGVpZGVyIG1pdCBhY2Nlc3Mgc2VociB3ZW5pZyBhdXNrZW5uZSB1bmQgbWljaCBlaWdlbnRsaWNoCmF1Y2ggZG9ydCBuaWNodCBlcnN0IG11ZWhzYW0gZWluYXJiZWl0ZW4gbW9lY2h0ZS4uLiBob2ZmZSBpY2gsIGRhc3MKbWlyIGVpbiBhY2Nlc3Mta2VubmVyIHdlaXRlcmhlbGZlbiBrYW5uLgoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWNjZXNzLXByb2JsZW0gKEdyaW1tYm9ybiwgIDYuIFNlcCAyMDA1LCAxNzozNTozMyk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMjYwMjA2MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjAyMDYwMgpEdSBzdGVsbHN0IGplZGVyIFBlcnNvbiBlaW5lIElEIHZvcmF1cywgZGllIGluIGFsbGVuIFRhYmVsbGVuIHZvcmtvbW10IHVuZCBkaWUKRGF0ZW5zYWV0emUgZWluZGV1dGlnIHZlcmJpbmRldC4gWnVtaW5kZXN0IHNjaHdlYnQgbWlyIHNvd2FzIGF1cyBtZWluZW4gc2VpdApndXQgZnVlbmYgSmFocmVuIHZlcnN0YXViZW5kZW4gQWNjZXNzLUVyZmFocnVuZ2VuIHZvci4gU2NobGltbWUgWmVpdC4KV29iZWkgZGllIEZyYWdlIGJsZWlidCwgd2VubiBEdSBzY2hyZWlic3QgImRhc3MgbWFuIGluIEFjY2VzcyBtZWhyZXJlIFRhYmVsbGVuCmlubmVyaGFsYiBlaW5lciBEYXRlbmJhbmsgc28gdmVya251ZXBmdCIgLSB2b24gd2VsY2hlciBEYXRlbmJhbmsgaXN0IGRhIGRpZQpSZWRlPyBBY2Nlc3Mgd2lyZCBqZWRlbmZhbGxzIG1pdCBndXRlbSBHcnVuZCBudXIgdm9uIGRlciBNUy1NYXJrZXRpbmdhYnRlaWx1bmcKYWxzICJEYXRlbmJhbmsiIGJlemVpY2huZXQgKGF1Y2ggd2VubiBBY2Nlc3MgZnVlciBrbGVpbmUsIHNwZXppZWxsZSBBdWZnYWJlbgp6dWdlZ2ViZW5lcm1hc3NlbiAiZ3V0IGdlbnVnIiBzZWluIGthbm4pLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWNjZXNzLXByb2JsZW0gKE9nbywgIDYuIFNlcCAyMDA1LCAxNzo1OTo0Myk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMjYwMjA2MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjAyMDYwMgpBbHMgZ2VuZXJpc2NoZSBMb2VzdW5nIGZ1ZXIgcmVsYXRpb25hbGUgRGF0ZW5iYW5rZW4sIGVtcGZpZWhsdCBlcyBzaWNoLCBpbiBkZXIKVGFiZWxsZSBQZXJzb24gZWluZSBhdXRvLWlua3JlbWVudCBJRCBlaW56dWZ1ZWhyZW4sIHouYi4gUGVyc0lELiBEaWUgaXN0IGRlcgpQcmltYWVyc2NobHVlc3NlbCBpbiBkZXIgRW50aXR5IFBlcnNvbmVuLiBTYWVtdGxpY2hlIGFuZGVyZW4gRW50aXRpZXMgZXJoYWx0ZW4KZGFubiBkZW4gUHJpbWFlcnNjaGx1ZXNzZWwgUGVyc0lEIGFscyBGcmVtc2NobHVzc2VsLgoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFjY2Vzcy1wcm9ibGVtIChSdW1hdGEsICA2LiBTZXAgMjAwNSwgMTg6NDQ6MzgpOgp+IyEgcm49T2dvIHJ0PTExMjYwMjIzODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjAyMDYwMgpVbmQgbmljaHQgdmVyZ2Vzc2VuLCBkaWVzZSBJRCBzb2xsdGUgbWFuIEluZGV4aWVyZW4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhY2Nlc3MtcHJvYmxlbSAoR2FieWxvbiwgIDcuIFNlcCAyMDA1LCAxNTozNzoxMCk6Cn4jISBybj1PZ28gcnQ9MTEyNjAyMjM4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2MDIwNjAyCmRhbmtlIHNvd2VpdCBlcnN0bWFsLCBkaWUgYW50d29ydCB3YXI6CgpEYW5rZSBmdWVyIGRpZSBIaWxmZSwgYWJlciBmYXN0IHNvIHNjaGxhdSB3YXIgaWNoIHZvcmhlciBzY2hvbi4gRGllIEZyYWdlIGlzdCwKd2llIGVycmVpY2hlIGljaCwgZGFzcyBkaWUgYW5kZXJlbiBUYWJlbGxlbiBkZW4gUHJpbWFlcnNjaGx8c3NlbCBhdXMgZGVyCmVyc3RlbiBUYWJlbGxlIGJla29tbWVuIHVuZCBzaWNoIGRhbmFjaCAib3JkbmVuIiwgc28gcmVpbiBwcmFrdGlzY2g/CkRhenUgZ2lidCBlcyBpbiBBY2Nlc3MgbnVyIGVpbmUgc2VociBiZWdyZW56dGUgSGlsZmUuLi4uCgotLS0gc25pcCAtLS0KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYWNjZXNzLXByb2JsZW0gKE1vcmdvdGgsICA3LiBTZXAgMjAwNSwgMTY6NTI6MTApOgp+IyEgcm49R2FieWxvbiBydD0xMTI2MTAwMjMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjYwMjA2MDIKV2llc28gaGFzdCBEdSB1ZWJlcmhhdXB0IG1laHJlcmUgdGFiZWxsZW4/IEF1cyBkZWluZXIgZXJrbGFlcnVuZyBoZXJhdXMgaG9lcnQKZXMgc2ljaCBzbyBhbiwgYWxzIG9iIGRpZSB3ZWl0ZXJlbiB0YWJlbGxlbiBhdWNoIGFuIGVpbmVuIGJlbnV0emVyIGdla251ZXB0Zgp3YWVyZW4uIFNpbm4gdm9uIG1laHJlcmVuIHRhYmVsbGVuIGlzdCBqYSwgZHVwbGlrYXRlIHp1IHZlcm1laWRlbi4gZGEgaWNoIG1pcgphYmVyIG5pY2h0IHZvcnN0ZWxsZW4ga2FubiwgZGFzcyBtZWhyZXJlIGxldXRlIG1pdCBkZW0gZXhha3QgZ2xlaWNoZW4gZ2V3aWNodCwKZ2xlaWNoZXIgZ3JvZXNzZSwgc2NodWhncm9lc3NlIGV0Yy4gZXhpc3RpZXJlbiwgZGVua2UgaWNoIGRlaW5lIGxvZXN1bmcgaXN0CmVpbmZhY2gsIGRpZSBkYXRlbiBpbiBlaW5lIGVpbnppZ2UgdGFiZWxsZSB6dSBwYWNrZW4uIGRhbm4gZnVua3Rpb25pZXJ0IGRhcwphdWNoIG1pdCBkZXIgc29ydGllcmZ1bmt0aW9uLiBmYWxscyBkdSB0cm90emRlbSBtZWhyZXJlIHRhYmVsbGVuIGhhYmVuIHdpbGxzdApnZWh0IGRhcyBudXIgdWViZXIgZGllc2VuIHByaW1hcnkga2V5IHVuZCB1ZWJlciBWQiBzY3JpcHRlIDopCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYWNjZXNzLXByb2JsZW0gKEhpZ2hsYW5kZXIsICA3LiBTZXAgMjAwNSwgMTY6NTU6NTApOgp+IyEgcm49TW9yZ290aCBydD0xMTI2MTA0NzMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjYwMjA2MDIKQXJ0aWtlbCBsZXNlbiAtIGVzIHNpbmQgbWVociBEYXRlbiBnZXd1ZW5zY2h0IGFscyBBY2Nlc3MgU3BhbHRlbiBiaWV0ZXQuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGFjY2Vzcy1wcm9ibGVtIChDcm9mdCwgIDcuIFNlcCAyMDA1LCAxNzowNjo1Mik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMjYxMDQ5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjAyMDYwMgpEYW5uIGhhbHQgdm9yIGRlbSBJbXBvcnQgaW4gQWNjZXNzIHBhc3NlbmQgYXVmc3BhbHRlbiB1bmQgbWl0IElEIHZlcnNlaGVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmtsZW1tdGUgU3RyZy1UYXN0ZSBhbSBMYXB0b3AgKFZhbmhlbHNpbmcsICA4LiBTZXAgMjAwNSwgMTc6MzI6MzgpOgpNb2luLAoKSWNoIGhhYmUgbWFsIG5lIEZyYWdlLgpIYXQgamVtYW5kIG5lIElkZWUsIHdpZSBtYW4gZWluZSBTdHJnLVRhc3RlLCBkaWUgZWluIERhdWVyc2lnbmFsIHNlbmRldCwKd2llZGVyIGxvZXN0PyBEaWUgVGFzdGUgc2NoZWludCBhZXVzc2VybGljaCBuaWNodCB6dSBrbGVtbWVuLCBzY2hlaW50IGFiZXIsCnppZW1saWNoIHNpY2hlciwgZWluIERhdWVyc2lnbmFsIHp1IHNlbmRlbi4KCkRhbmtiYXIgZnVlciBUaXBwcy4KClZhbkhlbHNpbmcKClAuUy4gRXMgaGFuZGVsdCBzaWNoIHVtIGRlbiBfbmV1ZW5fIExhcHRvcCBtZWluZXMgVmF0ZXJzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcmtsZW1tdGUgU3RyZy1UYXN0ZSBhbSBMYXB0b3AgKFZhbmhlbHNpbmcsICA4LiBTZXAgMjAwNSwgMTc6Mzg6MzQpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTI2MTkzNTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjYxOTM1NTgKRWluIE5hY2h0cmFnIG5vY2guCkVzIHNjaGVpbnQgbmljaHQgZGlyZWt0IGFuIGRlciBUYXN0ZSB6dSBsaWVnZW4sIHNvbmRlcm4gaXJnZW5kd28gZHJpbm5lbi4KSmV0enQgaGFiZW4gd2lyIHNvZ2FyIGRpZSBGb2xpZSB2b24gZGVyIFRhc3RlIGdlbG9lc3QsIHVuZCBlcyBhZW5kZXJ0ZSBzaWNoCm5pY2h0cy4KClZhbkhlbHNpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVya2xlbW10ZSBTdHJnLVRhc3RlIGFtIExhcHRvcCAoR2xvaW5zb24sICA4LiBTZXAgMjAwNSwgMTc6NDI6MDQpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTI2MTkzOTE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjYxOTM1NTgKQXVmbWFjaGVuLCBzYXViZXJtYWNoZW4gLi4uIG9kZXIgd2VnYnJpbmdlbi4gTWVjaGFuaXNjaGUgRmVobGVyIHNpbmQgZWJlbgpkb29mLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZlcmtsZW1tdGUgU3RyZy1UYXN0ZSBhbSBMYXB0b3AgKE9ya3RvZXRlciwgIDguIFNlcCAyMDA1LCAxODoxNDoxMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI2MTk0MTI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjYxOTM1NTgKTmV1PyBBRUcgQXVzcGFja2VuLCBlaW5wYWNrZW4sIGdhcmFudGllZmFsbAoKTnVyIG5pY2h0IHNlbGJlciBydW1mcmlja2VsbiBzb25zdCBoZWlzc3QgZXMgaWhyIGhhYnQgZGFzIGthcHV0dCBnZW1hY2h0LgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmVya2xlbW10ZSBTdHJnLVRhc3RlIGFtIExhcHRvcCAoSmFtZXNvbiwgIDguIFNlcCAyMDA1LCAxODoxOToxNSk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMjYxOTM5MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjE5MzU1OApNaXQgc2VsYmVyIGF1Zm1hY2hlbiBiZWkgbmV1ZW4gR2VyYWV0ZW4gbWl0IEdhcmFudGllIGhhYiBpY2ggbnVyIHNjaGxlY2h0ZQpFcmZhaHJ1bmdlbiBnZW1hY2h0LiBFcyBrYW5uIGZhc3QgaW1tZXIgbnVyIG5vY2ggbWVociBrYXB1dHRnZWhlbiwgdW5kIGRpZQpHYXJhbnRpZSBpc3QgYXVjaCBoaW4uIEJyaW5nJ3MgbGllYmVyIHdlZywgYXVjaCB3ZW5uIGVzIGRhbm4gZGF1ZXJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWZXJrbGVtbXRlIFN0cmctVGFzdGUgYW0gTGFwdG9wIChHbG9pbnNvbiwgIDguIFNlcCAyMDA1LCAyMjo0ODoyNik6Cn4jISBybj1KYW1lc29uIHJ0PTExMjYxOTYzNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjE5MzU1OApXZW5uIGVyIEdhcmFudGllIGhhdCAuLi4gd2lyZCBlciBzY2hvbiB3ZWcgc2VpbiA7KSBBbnNvbnN0ZW4ga2FubiBlciBzaWNoIGphCmF1ZiBkaWUgR2V3YWVocmxlaXN0dW5nIHZlcmxhc3NlbiAoU2NoZXJ6IGFtIFJhbmRlKS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBhY2Nlc3MtcHJvYmxlbSAoTXVhZGliLCAgOC4gU2VwIDIwMDUsIDIzOjE0OjM4KToKfiMhIHJuPUNyb2Z0IHJ0PTExMjYxMDU2MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjAyMDYwMgp3YXJ1bSBuaW1tc3QgZHUgbmljaHQgZWluZmFjaCBkaWUgYWNjZXNzY2hlIHNxbCB2YXJpYW50ZT8KZGFtaXQgc29sbHRlIGRhcyBlaW5pZ2VybWFzc2VuIGludHVpdGl2IGdlaGVuCnp1bWluZGVzdCB2b3IgZWluIHBhYXIgamFlaHJjaGVuIHdhciBkYW1pdCB3ZXNlbnRsaWNoIGJlc3NlciB6dSBhcmJlaXRlbiBhbHMKbWl0IGRlbSBrb21pc2NoZW4gd2l6YXJkIGRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBWZXJrbGVtbXRlIFN0cmctVGFzdGUgYW0gTGFwdG9wIChWYW5oZWxzaW5nLCAgOC4gU2VwIDIwMDUsIDIzOjIwOjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjYyMTI1MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjE5MzU1OApIaWhvLAoKbmFjaCBncnVlbmRsaWNoZXIgSU5ldC1TdWNoZSBoYWJlbiB3aXIgcmF1c2dlZnVuZGVuLCBkYXNzIGRhcyBhbnNjaGVpbmVuZCBlaW4KdHlwaXNjaGVzICJGZWF0dXJlIiBkZXIgTHBhdG9wbWFya2UgaXN0LiBNYW4ga2FubiBhbnNjaGVpbmVuZCBTdHJnIGRhdWVyaGFmdAplaW5zY2hhbHRlbi4gRHVtbSBudXIsIGRhc3MgZGFzIGRpZSBNZWlzdGVuIG5pY2h0IHdpc3Nlbi4gTWFuIGthbm4gZGFzIGF1Y2gKd2llZGVyICJhYnNjaGFsdGVuIi4gS29taXNjaGVzIERpbmcuCgpDVQpWYW5IZWxzaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBWZXJrbGVtbXRlIFN0cmctVGFzdGUgYW0gTGFwdG9wIChHbG9pbnNvbiwgIDguIFNlcCAyMDA1LCAyMzozNjoyNik6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMjYyMTQ0NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjE5MzU1OApVbmQgd296dSBicmF1Y2h0IG1hbiBzbyBlaW5lbiBTY2hlaXNzPyBBZWgsIHNvIGVpbiBGZWF0dXJlPyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFZlcmtsZW1tdGUgU3RyZy1UYXN0ZSBhbSBMYXB0b3AgKENyb2Z0LCAgOC4gU2VwIDIwMDUsIDIzOjM3OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjYyMTUzODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjE5MzU1OApTb2xjaGUgRmVzdHN0ZWxsZnVua3Rpb25lbiBnaWJ0cyBhdWNoIGJlaSB3MmsuICBJc3QgcHJha3Rpc2NoIHdlbm4gbWFuCm1hbCBlaW5oYWVuZGlnIHRpcHB0ICh3aWVzbyBhdWNoIGltbWVyKS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWZXJrbGVtbXRlIFN0cmctVGFzdGUgYW0gTGFwdG9wIChBbWFyeWxsaXMsICA4LiBTZXAgMjAwNSwgMjM6Mzk6NTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNjIxNTM4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2MTkzNTU4Cldlbm4gbWFuIGJlaGluZGVydCBpc3Q/CgpOdXIgc28gbmUgSWRlZSwKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVmVya2xlbW10ZSBTdHJnLVRhc3RlIGFtIExhcHRvcCAoR2xvaW5zb24sICA5LiBTZXAgMjAwNSwgMDI6MDY6MTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTEyNjIxNTQzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2MTkzNTU4CkphLCBhbHMgQXVmZ2FiZSBkZXMgT1Mga2VubmUgaWNoIGRlbiBTY2huaWNrc2NobmFjaywgYWJlciBpbSBCSU9TIHZlcnNlbmt0IGlzdApkYW5uIGRvY2ggc2Nob24gZmFzdCBnYXJzdGlnIGZ1ZXIgZGVuIE51dHplciAod2llIGluIGRpZXNlbSBGYWxsKTogQmVoaW5kZXJ0CmlzdCBtYW4gbmljaHQsIGJlaGluZGVydCB3aXJkIG1hbi4gSWNoIGZ1ZWhsZSBtaWNoIHZvbiBkZXIgc2ljaGVybGljaAppcmdlbmR3bywgaXJnZW5kd2llIGRlYWt0aXZpZXJiYXJlbiBXaVhwLUVpbmdhYmVoaWxmZW4tQmVoaW5kZXJ1bmcgemllbWxpY2gKb2Z0IGJlaGluZGVydCwgd2VubiBpY2ggbWFsIGxhZW5nZXIgYXVmIFNoaWZ0IHJ1aGUgYmVpbSBEZW5rZW4gLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVwZ3JhZGUgV2luOTUgLT4gWFAgaGluc2ljaHRsaWNoIERPUy1Qcm9ncmFtbWVuIChNdXBmZWwsIDEwLiBTZXAgMjAwNSwgMDA6MDk6MTUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMjU2MDAyODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNTYwMDI4MwpNYWlsIGlzdCByYXVzIDopCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHJ1Y2twcm9ibGVtIG1pdCBNb3ppbGxhIDEuMy4xIChab29rLCAxNS4gU2VwIDIwMDUsIDE0OjMzOjI3KToKRGVyIE1vemlsbGEga2FubiBkaWUgdmlhIFRydWVUeXBlIGluc3RhbGxpZXJ0ZSBTY2hyaWZ0IEJpdHN0cmVhbSBWZXJhIFNhbnMKZ2FueiBoZXJ2b3JyYWdlbmQgZGFyc3RlbGxlbiwgYWJlciBiZWltIERydWNrZW4gYXVmIGVpbmVuIFBvc3RzY3JpcHQtCkRydWNrZXIga29tbXQgbnVyIEhlbHZldGljYSBoZXJhdXMuIFdhcyBrYW5uIGljaCBkZW5uIGFuIE1vemlsbGEgZHJlaGVuLApkYXNzIGRlciBkaWVzZSBTY2hyaWZ0ZW4gYXVjaCBkcnVja3QgdW5kIG5pY2h0IG51ciBhbnplaWd0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmR1cmNoc2F0eiBpbSBsYW4gKERydWtoaSwgMTYuIFNlcCAyMDA1LCAxMzo0MTozNyk6CmhhbGxvLCBmb2xnZW5kZXMgc3RhbmRhcmRzemVuYXJpbzoKZWluIHcyay1jbGllbnQsIGVpbiB4cC1ob21lLWNsaWVudCwgZGF6d2lzY2hlbiB6d2VpIGZhc3QtZXRoZXJuZXQtc3dpdGNoZXMuCmJlaWRlIG9obmUgYmVzb25kZXJoZWl0ZW4gYXVmIGluc3RhbGxhdGlvbnNzZWl0ZSB1c3cuCm51biBiZW9iYWNodGUgaWNoIHNlaXQga3VyemVtLCBkYXNzIGluc2Jlc29uZGVyZSBiZWkgc2VociBncm9zc2VuCmRhdGVpdHJhbnNmZXJzICg+NTAgbWIgYmlzIG1laHJlcmUgZ2IgcHJvIGRhdGVpKSBkaWUgdHJhbnNmZXJyYXRlIG51ciBiZWkKZWluZW0gYnJ1Y2h0ZWlsIGxpZWd0LiBpY2ggaGFiIG1pdCBlaW5lbSB0cmFmZmljbW9uaXRvciBncmFkIG1hbCAxIG1iaXQKZHVyY2hzYXR6IGdlbWVzc2VuLiB3b3JhbiBrYW5uIGRlbm4gc293YXMgbGllZ2VuLCB3ZW5uIGVpZ2VudGxpY2ggZ2FyIG5peAp2ZXJhZW5kZXJ0IHd1cmRlIHVuZCBiZWlkZSBzeXN0ZW1lIGxhdXQgYW50aXZpciBjbGVhbiBzaW5kPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGR1cmNoc2F0eiBpbSBsYW4gKERydWtoaSwgMTYuIFNlcCAyMDA1LCAxMzo0NzoyMyk6Cn4jISBybj1EcnVraGkgcnQ9MTEyNjg3MDg5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2ODcwODk3CmFjaCBqYSBpY2ggc29sbHRlIG5vY2ggZXJ3YWVobmVuLCBkYXNzIGRhcyBwaGFlbm9tZW4gKGJpc2hlcikgbnVyCmtvcGllcnZvcmdhZW5nZSBwZXIgd2luZG93cy1leHBsb3JlciBiZXRyaWZmdCwgaW50ZXJuZXQgemIgZ2VodCB2b24gYmVpZGVuIGluCnZvbGxlciBnZXNjaHdpbmRpZ2tlaXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZHVyY2hzYXR6IGltIGxhbiAoT2dvLCAxNi4gU2VwIDIwMDUsIDE2OjAwOjAxKToKfiMhIHJuPURydWtoaSBydD0xMTI2ODcwODk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY4NzA4OTcKQmVzb3JnIGRpciBlaW4gQ3Jvc3NvdmVyLUthYmVsIHVuZCB2ZXJiaW5kZSBkaWUgUmVjaG5lciBkaXJla3QgbWl0ZWluYW5kZXIgdW0KU3dpdGNoLVByb2JsZW1lIChkaWUgbmljaHQgc28gc2VsdGVuIHNpbmQpIGF1c3p1c2NobGllc3Nlbi4gVHJpdHQgZGFzIFByb2JsZW0KdHJvdHogZGlyZWt0ZXIgQ3Jvc3NvdmVyLVZlcmJpbmR1bmcgZnVlcnRoZXJoaW4gYXVmLCBsaWVndCBlcyBlbnR3ZWRlciBhbiBkZW4KTmV0endlcmtrYXJ0ZW4gKGF1Y2ggZHVyY2hhdXMgbW9lZ2xpY2gpIG9kZXIgYW0gU29mdHdhcmUtU2V0dXAuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGR1cmNoc2F0eiBpbSBsYW4gKEdsb2luc29uLCAxNi4gU2VwIDIwMDUsIDE2OjA0OjM2KToKfiMhIHJuPU9nbyBydD0xMTI2ODc5MjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY4NzA4OTcKUW9TIGJlaSBXaW5kb29mcyB6QiBhdXNzY2hhbHRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkdXJjaHNhdHogaW0gbGFuIChSb25kYSwgMTYuIFNlcCAyMDA1LCAyMToxNDoxMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI2ODc5NDc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY4NzA4OTcKR2FicyBkYSBuaWNodCBpcmdlbmR3YXMsIGRhc3MgTVMgYWJzaWNodGxpY2ggbmUgQnJlbXNlIHJlaW5oYXV0LCB3ZW5uIGRhcyBYUAoiZGVua3QiLCBkYXNzIGRhIGdyYWQgbmVuIFd1cm0gb2RlciBhZWhubGljaGVzIGF1ZiBkZW0gU3lzdGVtIFRyYWZmaWMgbWFjaHQ/CgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZHVyY2hzYXR6IGltIGxhbiAoTW9yZ290aCwgMTYuIFNlcCAyMDA1LCAyMToyMToxMyk6Cn4jISBybj1Sb25kYSBydD0xMTI2ODk4MDUzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY4NzA4OTcKV2llIHNpZWh0IGVzIG1pdCBkZXIgQ1BVLUxhc3QgYXVmIGRlbiBTeXN0ZW1lbiBhdXM/IFZlcnN1Y2hlbiBkYSB2aWVsbGVpY2h0IDIKVmlyZW5zY2FubmVyIChYcCArIDJrKSBkYXMgRmlsZSBvbi1hY2Nlc3MgenUgc2Nhbm5lbj8KV2FydW0gMiBTd2l0Y2hlcyBkYXp3aXNjaGVuPyBTaW5kIGRpZSBiYXVnbGVpY2g/IApCZW51dHp0IER1IGdlbWFwcHRlIE5ldHpwZmFkZSBvZGVyIFVOQy1QZmFkZT8gCldpZSBzaWVodCBkZXIgRHVyY2hzYXR6IGltIERPUy1Qcm9tcHQgYXVzIChjb3B5L3hjb3B5KT8KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBkdXJjaHNhdHogaW0gbGFuIChNb3Jnb3RoLCAxNi4gU2VwIDIwMDUsIDIxOjIyOjUzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTEyNjg5ODQ3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2ODcwODk3CkFoLCBub2NoIHdhcy4gSGFzdCBEdSBhdWYgZGVtIDJrIFJlY2huZXIgZGFzIFJvbGx1cDEgZnVlciBTUDQgaW5zdGFsbGllcnQ/CkRlaW5zdGFsbGllciBkYXMgbWFsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgprb21pc2NoZSBmZWhsZXJtZWxkdW5nLi4uIChab29rLCAxNy4gU2VwIDIwMDUsIDE5OjEwOjU0KToKd2VubiBpY2ggbWVpbiBndGsgdXBkYXRlbiBtb2VjaHRlLCB3aXJmdCBtaXIgZGFzIGZvbGdlbmRlIHVsa2lnZSAKZmVobGVybWVsZHVuZyBhdXM6CgotLQo9PT0+ICBCdWlsZGluZyBmb3IgZ3RrLTIuNi4xMF8xCm1ha2UgIGFsbC1yZWN1cnNpdmUKTWFraW5nIGFsbCBpbiBwbwpNYWtpbmcgYWxsIGluIHBvLXByb3BlcnRpZXMKTWFraW5nIGFsbCBpbiBnZGstcGl4YnVmCm1ha2UgIGFsbC1yZWN1cnNpdmUKTWFraW5nIGFsbCBpbiBwaXhvcHMKL2Jpbi9zaCAvdXNyL2xvY2FsL2Jpbi9saWJ0b29sMTUgLS1tb2RlPWxpbmsgY2MgIC1PIC1waXBlIC1tY3B1PXBlbnRpdW1wcm8KLW1uby1zc2UyIC1XYWxsICAgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1vIHRpbWVzY2FsZSAgdGltZXNjYWxlLm8KbGlicGl4b3BzLmxhIC1ML3Vzci9sb2NhbC9saWIgLWxnbGliLTIuMCAtbGljb252IC1sZ29iamVjdC0yLjAgLWxnbW9kdWxlLTIuMAotbGd0aHJlYWQtMi4wIC1sY19yIC1sbSAtbGludGwKY2MgLU8gLXBpcGUgLW1jcHU9cGVudGl1bXBybyAtbW5vLXNzZTIgLVdhbGwgLW8gdGltZXNjYWxlIHRpbWVzY2FsZS5vIAotTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLi8ubGlicy9saWJwaXhvcHMuYSAtbGdsaWItMi4wIC1saWNvbnYKLWxnb2JqZWN0LTIuMCAtbGdtb2R1bGUtMi4wIC1sZ3RocmVhZC0yLjAgLWxtIC1saW50bAovdXNyL2xvY2FsL2xpYi9saWJndGhyZWFkLTIuMC5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0bwpgcHRocmVhZF9hdHRyX2Rlc3Ryb3knCi91c3IvbG9jYWwvbGliL2xpYmd0aHJlYWQtMi4wLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwdGhyZWFkX2NyZWF0ZScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfYXR0cl9pbml0JwovdXNyL2xvY2FsL2xpYi9saWJndGhyZWFkLTIuMC5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcHRocmVhZF9leGl0JwovdXNyL2xvY2FsL2xpYi9saWJndGhyZWFkLTIuMC5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcHRocmVhZF9lcXVhbCcKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfZ2V0c2NoZWRwYXJhbScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfYXR0cl9zZXRzY29wZScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfc2V0c2NoZWRwYXJhbScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfYXR0cl9zZXRzdGFja3NpemUnCi91c3IvbG9jYWwvbGliL2xpYmd0aHJlYWQtMi4wLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvCmBwdGhyZWFkX2F0dHJfc2V0c2NoZWRwYXJhbScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZScKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB0aHJlYWRfam9pbicKL3Vzci9sb2NhbC9saWIvbGliZ3RocmVhZC0yLjAuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8KYHB0aHJlYWRfY29uZF90aW1lZHdhaXQnCi91c3IvbG9jYWwvbGliL2xpYmd0aHJlYWQtMi4wLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvCmBwdGhyZWFkX2F0dHJfZ2V0c2NoZWRwYXJhbScKKioqIEVycm9yIGNvZGUgMQotLQoKZ2xpYiBoYWIgaWNoIHZvcmhlciBhdWNoIGF1ZiBkZW4gYW5nZWJsaWNoIHBhc3NlbmRlbiBzdGFuZCBnZWJyYWNodDoKZ2xpYi0xLjIuMTBfMTEgICAgICBTb21lIHVzZWZ1bCByb3V0aW5lcyBvZiBDIHByb2dyYW1taW5nIChwcmV2aW91cyBzdGFibGUKdmVycwpnbGliLTIuNi42ICAgICAgICAgIFNvbWUgdXNlZnVsIHJvdXRpbmVzIG9mIEMgcHJvZ3JhbW1pbmcgKGN1cnJlbnQgc3RhYmxlCnZlcnNpCgoKaXJnZW5kamVtYW5kIG5lbiBwbGFuLCB3YXJ1bSBkYXMgbmljaHQgd2lsbD8gKG9zIGlzdCBmcmVlYnNlIDUuMSkKCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoTWFyY3VzLCAxNy4gU2VwIDIwMDUsIDIwOjQ2OjU2KToKfiMhIHJuPVpvb2sgcnQ9MTEyNjk3NzA1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0Ci1scHRocmVhZCBmZWhsdAoKRHUgd2lsbHN0IGd0azIgbmljaHQgdm9uIEhhbmQgdXBncmFkZW4gYnR3IDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoWm9vaywgMTcuIFNlcCAyMDA1LCAyMjowODo1Myk6Cn4jISBybj1NYXJjdXMgcnQ9MTEyNjk4MjgxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0CmhtLiBpbnRlcmVzc2FudC4gbnVuLCBtaXR0bGVyd2VpbGUgZmFuZCBpY2ggc29nYXIgZWluIGdub21lLXVwZ3JhZGUKc2tyaXB0LCBkYXMgbnVuIHNlaXQgZWluaWdlciB6ZWl0IGlyZ2VuZHdhcyBtYWNodC4uLiBoYXVwdHNhZWNobGljaApoYXQgZXMgYmVyZWl0cyAxIGdiIHNwZWljaGVycGxhdHogZ2VmcmVzc2VuLi4uIG5hLCBpY2ggbGFzcyBlcyBtYWwKbGF1ZmVuLi4uIAoKem9vay4KCnBzOiBiZWkgd2luZG93cyBpc3QgZGFzIGFsbGVzIGVpbmZhY2hlci4uLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoR3JpbW1ib3JuLCAxNy4gU2VwIDIwMDUsIDIyOjE0OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTEyNjk4NzczMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0CkR1IGhhc3QgdW50ZXIgV2luZG93cyBndGsyIHVwZ2VncmFkZWQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtvbWlzY2hlIGZlaGxlcm1lbGR1bmcuLi4gKFpvb2ssIDE3LiBTZXAgMjAwNSwgMjI6MjQ6MjYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMjY5ODgwOTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjk3NzA1NApJY2gga2FtIG5pZSBpbiBkaWUgTm90LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNToga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoR3JpbW1ib3JuLCAxNy4gU2VwIDIwMDUsIDIyOjQ4OjE0KToKfiMhIHJuPVpvb2sgcnQ9MTEyNjk4ODY2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0ClVuZCB3aWVzbyBzYWdzdCBEdSBkYW5uIGRhc3MgZGFzIGJlaSBXaW5kb3dzIGVpbmZhY2hlciBnZXdlc2VuIHdhZXJlPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBrb21pc2NoZSBmZWhsZXJtZWxkdW5nLi4uIChab29rLCAxNy4gU2VwIDIwMDUsIDIyOjUxOjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI2OTkwMDk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY5NzcwNTQKd2VpbCBpY2ggZWlnZW50bGljaCBudXIgZWluZW4gZmlyZWZveCBpbnN0YWxsaWVyZW4gd2lsbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGtvbWlzY2hlIGZlaGxlcm1lbGR1bmcuLi4gKEdyaW1tYm9ybiwgMTcuIFNlcCAyMDA1LCAyMzowMzowNCk6Cn4jISBybj1ab29rIHJ0PTExMjY5OTAzMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjk3NzA1NApycG0gLWhpdiAqb3ppKgoKSFRILAogICAgIEdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODoga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoWm9vaywgMTcuIFNlcCAyMDA1LCAyMzowMzozOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNjk5MDk4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0CmR1IHNwcmljaHN0IGluIG1pciBuaWNodCBiZWthbm50ZW4gYWtyb255bWVuLiB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOToga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoR3JpbW1ib3JuLCAxNy4gU2VwIDIwMDUsIDIzOjA0OjMyKToKfiMhIHJuPVpvb2sgcnQ9MTEyNjk5MTAxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0Ck9oLCBzb3JyeS4gIkdkQSIgc3RlaHQgZnVlciAiR3JpbW1ib3JuIGRlciBBdGhlaXN0Ii4gSG9mZmUsIGRhcyBpc3QgamV0enQKa2xhcmVyLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDoga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoWm9vaywgMTcuIFNlcCAyMDA1LCAyMzowNDo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNjk5MTA3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI2OTc3MDU0CmVuZGxpY2guIGphLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzoga29taXNjaGUgZmVobGVybWVsZHVuZy4uLiAoWm9vaywgMTguIFNlcCAyMDA1LCAwODowMjoxMSk6Cn4jISBybj1ab29rIHJ0PTExMjY5ODc3MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNjk3NzA1NAp0b2xsLCB3YXMgZGFzIHNrcmlwdCBzbyBhbGxlcyBtYWNodCB1bmQgdXBkYXRldC4uLi4gbWl0dGxlcndlaWxlIGhhdAplcyBhdWNoIG1laHIgc3BlaWNoZXJwbGF0eiBnZWZyZXNzZW4uIG1hbCBzZWhlbiwgd2FubiBlcyBmZXJ0aWcgaXN0LgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtvbWlzY2hlIGZlaGxlcm1lbGR1bmcuLi4gKFpvb2ssIDE5LiBTZXAgMjAwNSwgMDg6MzQ6MDcpOgp+IyEgcm49Wm9vayBydD0xMTI3MDIzMzMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjY5NzcwNTQKaG0uIGlyZ2VuZHdhbm4gd2FyIGVzIGRhbm4gZmVydGlnLCBhYmVyIG5lbiBuZXVlcyBndGsgaGFiZSBpY2ggaXJnZW5kd2llCm5pY2h0LiBkYWZ1ZXIgaGF0cyB2aWVsIHNwZWljaGVycGxhdHogZ2VmcmVzc2VuLiB0b2xsZSB0ZWNobmlrLgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlzaW8gKFpvb2ssIDIyLiBTZXAgMjAwNSwgMDk6NTQ6MzcpOgpLZW5udC9iZW51dHp0IGplbWFuZCBkaWVzZXMgUHJvZ3JhbW0/IEljaCBoYWV0dGUgendlaSBGcmFnZW46CjEpIEthbm4gbWFuIGRhbWl0IGhhbGJ3ZWdzIGtvbWZvcnRhYmVsIEZsdXNzZGlhZ3JhbW1lIG1hbGVuPwoyKSBXZWxjaGUgQXVzZ2FiZS1Gb3JtYXRlIGZ1ZXIgZGllIEdyYWZpa2VuIGtlbm50IGRhcz8gS2FubiBtYW4gCiAgIGRhcyBndXQgaW4gV29yZCBvLmFlLiBlaW5iaW5kZW4gYnp3LiBhdWNoIGFscyBFUFMgb2RlciBzb25zdHdpZQogICBpbiBlaW4gYW5kZXJlIFByb2dyYW1tIHdpZSBMYVRlWD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZpc2lvIChNb3Jnb3RoLCAyMi4gU2VwIDIwMDUsIDEwOjQyOjI4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTEyNzM3ODUxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3Mzc1Njc3CkljaCBiYXN0ZWwgbWlyIG1pdCBkZW0gRGluZyB1bnNlcmUgTmV0endlcmtzdHJ1a3R1ciB6dXNhbW1lbi4gV2VubiBtYW4gZWlubWFsCmRlbiBEcmVoIHJhdXNoYXQsIGdlaHRzIGVpZ2VudGxpY2ggZ2FueiBndXQuIEV4cG9ydC1Gb3JtYXRlIHNpbmQgbmViZW4gZGl2LgpXaW5kb3dzL09mZmljZSBGb3JtYXRlbiBhdWNoIEF1dG9DQUQsIFhNTCwgSFRNTCwgR0lGLCBUSUYsIEpQRy4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMSU5LT05BVVQgT3BlbiBCZXRhIChTaGFrZWRiZWVyLCAyMi4gU2VwIDIwMDUsIDE1OjU2OjI5KToKPHdlcmJ1bmc+CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyAgRWlubGFkdW5nIHp1ciBMSU5LT05BVVQgT1BFTiBCRVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCiMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKSGFsbG8gTXVkZGVyIQoKRXMgZ2lidCB0YXRzYWVjaGxpY2ggUHJvamVrdGUsIGRpZSBWb3JyYW5nIHZvciBkZXIgUEdJIGhhYmVuLiBTbyB6dW0KQmVpc3BpZWwgZGVyIG5ldWUgU1BFQ1RST3NvZnR3YXJlLUludGVybmV0ZGllbnN0IExJTktPTkFVVC4gSW0KUHJpbnppcCBpc3QgZXMgZWluIE9ubGluZS1GYXZvcml0ZW4tRGllbnN0LCBhYmVyIGhhbHQgbnVyIGltIFByaW56aXAuCk1hbiBrYW5uIG5hZW1saWNoIExpbmtzIHUuYS4gaW4gR3J1cHBlbiB6dXNhbW1lbmZhc3NlbiB1bmQgZGllc2UgbWl0IApkZXIgQ29tbXVuaXR5IGF1c3RhdXNjaGVuLiBJbiBkZXIgQmV0YSBzdGVoZW4gYmVyZWl0cyBlaW5pZ2UgCkZ1bmt0aW9uZW4genVyIFZlcmZ1ZWd1bmcsIHdlaXRlcmUgZm9sZ2VuIGluIEt1ZXJ6ZS4gTWVociBFaW56ZWxoZWl0ZW4KZ2lidCBlcyBhdWYgZGVyIEJldGEtU2l0ZSBodHRwOi8vd3d3MS5saW5rb25hdXQubmV0IHVuZCBwZXJzb2VubGljaCAKYmVpIG1pciAoYml0dGUgcGVyIEluZ28uRGVsbHdpZ0BTUEVDVFJPc29mdHdhcmUuZGUpLiBXZXIgSW50ZXJlc3NlIGhhdCwKZGVuIERpZW5zdCBzY2hvbiBpbiBkZXIgQmV0YSB6dSBudXR6ZW4gdW5kIG1pdHp1dGVzdGVuLCBrYW5uIHNpY2ggYXVmCmRlciBTaXRlIGFubWVsZGVuLgoKSGFwcHkgdGVzdGluZy4uLgoKU2hha2VkYmVlci4KPC93ZXJidW5nPgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExJTktPTkFVVCBPcGVuIEJldGEgKFpvb2ssIDIyLiBTZXAgMjAwNSwgMTU6NTg6MzUpOgp+IyEgcm49U2hha2VkYmVlciBydD0xMTI3Mzk3Mzg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjczOTczODkKV2lyZCBkYXMgc293YXMgd2llIGh0dHA6Ly9kZWwuaWNpby51cy8gPwpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMSU5LT05BVVQgT3BlbiBCZXRhIChTaGFrZWRiZWVyLCAyMi4gU2VwIDIwMDUsIDE2OjAwOjQ1KToKfiMhIHJuPVpvb2sgcnQ9MTEyNzM5NzUxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3Mzk3Mzg5CkF1ZiBkZW4gZXJzdGVuIEJsaWNrIHd1ZXJkZSBpY2ggc2FnZW46IE5laW4uIERhcyBzaWVodCBtaXIgZWhlciBuYWNoCmdlcG9zdGV0ZW4gRWluemVsbGlua3MgYXVzLiBTY2hhdSBoYWx0IG1hbCByZWluLiA6LSkgS29zdCcgamEgbml4LgoKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTElOS09OQVVUIE9wZW4gQmV0YSAoT2dvLCAyMi4gU2VwIDIwMDUsIDE2OjA4OjM3KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTEyNzM5NzM4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3Mzk3Mzg5CkFubWVsZGVuIGlzdCBmdWVyIG1pY2ggZWluZSB6aWVtbGljaCBob2hlIEh1ZXJkZS4gR2FueiBiZXNvbmRlcnMgZGFubiwgd2VubgppY2ggbmljaHQgZWlubWFsIHZvcmhlciBndWNrZW4sIHdhcyBpY2ggZGFubiBtYWNoZW4ga2Fubi4gRGVzd2VnZW4gYWxzIFRpcHAsCm1hY2ggZG9jaCBlaW5lbiBEZW1vLU1vZGUsIGRlbiBtYW4gb2huZSBSZWdpc3RyaWVydW5nIGFuZ3Vja2VuIGthbm4gKGRhcmYgamEKYXVjaCBydWhpZyBzdGF0aXNjaCBzZWluKSwgZGFtaXQgbWFuIGVpbmUgSWRlZSBiZWtvbW10LCB3YXJ1bSBtYW4gc2ljaAphbm1lbGRlbiB3aWxsLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMSU5LT05BVVQgT3BlbiBCZXRhIChTaGFrZWRiZWVyLCAyMi4gU2VwIDIwMDUsIDE2OjE4OjA0KToKfiMhIHJuPU9nbyBydD0xMTI3Mzk4MTE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjczOTczODkKQWguIEd1dC4gRGVuIERlbW8tTW9kZSBnaWJ0IGVzIHNwYWV0ZXIgcXVhc2kgZ3JhdGlzIGRhenUsIGRlbm4gbWFuIGthbm4KTGlua2dydXBwZW4gYXVjaCBvZWZmZW50bGljaCBwb3N0ZW4gdW5kIGRhbm4gei5CLiB1ZWJlciBlaW5lIEhvbWVwYWdlIGRpZQpTZWl0ZSBvaG5lIEFubWVsZHVuZyBhdWZydWZlbi4gSWNoIGRlbmtlLCBkYXNzIHNpY2ggc3BhZXRlciB2aWVsZSBVc2VyIGdlbmF1CnVlYmVyIGRpZXNlIFNjaGllbmUgYW5tZWxkZW4gd2VyZGVuLiBEYW5uIGhhYmVuIHNpZSBzY2hvbiBlaW5lbiBrbGVpbmVuCkVpbmJsaWNrIGluIGRpZSBGdW5rdGlvbmVuLiBBYmVyIGVpbiBnZW5lcmVsbGVyIERlbW8tTW9kZSB3YWVyZSBlY2h0IG5pY2h0CnNjaGxlY2h0LgoKU2hha3kuCgpQUzogRGllIEFubWVsZHVuZyBpc3Qga29zdGVubG9zLiBNYW4gbXVzcyBsZWRpZ2xpY2ggZWluZSBlTWFpbC1BZHJlc3NlCmVpbmdlYmVuLCBkaWUga2VpbiBhbmRlcmVyIHNpZWh0IHVuZCBkaWUgYXVjaCBuaWNodCB3ZWl0ZXJ2ZXJ3ZW5kZXQgd2lyZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTElOS09OQVVUIE9wZW4gQmV0YSAoU2hha2VkYmVlciwgMjIuIFNlcCAyMDA1LCAxNzowMDowMik6Cn4jISBybj1PZ28gcnQ9MTEyNzM5ODExNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3Mzk3Mzg5CkhpZXIgZWluZSBwcm92aXNvcmlzY2hlIFZvcnNjaGF1OgpodHRwOi8vd3d3MS5saW5rb25hdXQubmV0L2ltYWdlcy9wcmV2aWV3LmdpZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa29tcGlsaWVyZW4gdW50ZXIgamF2YSAoTW9wcGksIDI3LiBTZXAgMjAwNSwgMjA6NDU6MzkpOgpqYSBpY2ggd2lsbCBzYWVtdGxpY2hlIHVudGVydmVyemVpY2huaXNzZSB1bnRlciBKYXZhIGtvbXBpbGllcmVuLCBsZWlkZXIgZnVuenQKZGFzIHZvbSBzb2Z0d2FyZWhlcnN0ZWxsZXIgdm9yZ2VzY2hsYWdlbmUKCmphdmFjIHNvdXJjZS8qLyouamF2YSAKCm5pY2h0LiBHaWJ0IGVzIGlyZ2VuZHdlbGNoZSBNZ2xpY2hrZWl0ZW4gZGFzIHp1IHR1biBvaG5lIGRhcyBtYW4genUgQW50CmdyZWlmdD8KRGFua2Ugdm9tIE1vcHBlcmwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga29tcGlsaWVyZW4gdW50ZXIgamF2YSAoWm9vaywgMjcuIFNlcCAyMDA1LCAyMDo0ODozNyk6Cn4jISBybj1Nb3BwaSBydD0xMTI3ODQ2NzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKd2VsY2hlcyBvcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrb21waWxpZXJlbiB1bnRlciBqYXZhIChUYXJhbmlzLCAyNy4gU2VwIDIwMDUsIDIwOjQ4OjQxKToKfiMhIHJuPU1vcHBpIHJ0PTExMjc4NDY3Mzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzg0NjczOQpHZWh0IHNvd2FzIHdpZQpmaW5kIHNvdXJjZS8gLXR5cGUgZiAtbmFtZSAiKi5qYXZhIiAtZXhlYyBqYXZhYyB7fSBcOwpuaWNodD8KClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1haWwgcmVsYXkgKEdyaW1tYm9ybiwgMjcuIFNlcCAyMDA1LCAyMjoxMTowNCk6CkljaCBicmFldWNodGUgYXVmZ3J1bmQgZWlnZW5lciAiT3JnYW5pc2F0aW9uIiBrdXJ6ZnJpc3RpZyBlaW5lbiBtYWlsIHJlbGF5LApkZXIgbWlyIG5hY2ggQXV0aGVudGlmaXppZXJ1bmcgZXJsYXVidCBtYWlsIG1pdCBiZWxpZWJpZ2VyIEFic2VuZGVyYWRyZXNzZSB6dQpzY2hpY2tlbiAoZGVyIFQtT25saW5lIGRlZmF1bHQgcmVsYXkgc2V0enQgZGVuIEFic2VuZGVyIHByaW56aXBpZWxsIGF1ZiBkaWUKVC1PbmxpbmVhZHJlc3NlLCBkYW1pdCBpc3QgbWlyIG5pY2h0IGdlZGllbnQpLiBXbyBnaWJ0cyBzb3dhcywgd2FzIGthbm4gbWFuCmZ1ZXIgZGVuIFVlYmVyZ2FuZyBlbXBmZWhsZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga29tcGlsaWVyZW4gdW50ZXIgamF2YSAoTW9wcGksIDI3LiBTZXAgMjAwNSwgMjM6NTE6MzEpOgp+IyEgcm49Wm9vayBydD0xMTI3ODQ2OTE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKV2luWFAgbGVpZGVyLCBzb25ic3QgaGFldHRlIGljaCBhdWNoIHNvd2FzIHdpZSBUYXJhbmlzIHZvcmdlc2NobGFnZW4gaGF0LApnZWZ1bmRlbi4KCk1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGtvbXBpbGllcmVuIHVudGVyIGphdmEgKEdsb2luc29uLCAyOC4gU2VwIDIwMDUsIDAwOjEwOjA4KToKfiMhIHJuPU1vcHBpIHJ0PTExMjc4NTc4OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzg0NjczOQpDeWd3aW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDoga29tcGlsaWVyZW4gdW50ZXIgamF2YSAoVGFyYW5pcywgMjguIFNlcCAyMDA1LCAxMToxMTo1Myk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI3ODU5MDA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKR2lidCBlcyBuZSBSZWloZSB2b24gR05VIHRvb2xzIG5pY2h0IGF1Y2ggZnVlciBXaW5kb3dzLCBldnRsLiBhdWNoIGZpbmQ/Ckd1Y2sgZG9jaCBtYWwgaGllciwgZGFzIGlzdCBuYXRpdmUgZnVlciBXaW4ga29tcGlsaWVydCB1bmQgZW50aGFlbHQgSU1ITyBhdWNoCmZpbmQ6IGh0dHA6Ly91bnh1dGlscy5zb3VyY2Vmb3JnZS5uZXQvCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBrb21waWxpZXJlbiB1bnRlciBqYXZhIChNb3BwaSwgMjguIFNlcCAyMDA1LCAxMTo0NjowNyk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMjc4OTg3MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzg0NjczOQpqYWphIHRvb2xzIHNpbmQgZ2FueiBuZXQsIGFiZXIgaWNoIHN1Y2h0ZSBlaGVyIGVpbiBlbGVnYW50ZXMgS29tbWFuZG8gd2FzCm1laW5lIFd1ZW5zY2hlIGJlZnJpZWRpZ3QgLi4KCk1pdHRsZXJ3ZWlsZSBoYWJlIGljaCBmb2xnZW5kZXMgZ2VtYWNodDogYWxsZSBGaWxlcyAKZGllIGljaCBrb21waWxpZXJlbiBtb2VjaHRlIHd1cmRlbiBpbiBlaW4gRmlsZSBzb3VyY2VmaWxlcy50eHQgZ2VzY2hyaWViZW4uCgpqYXZhYyBAc291cmNlZmlsZXMudHh0IC1kIC4KCnR1dCBkYW5uIGRhcyBHZXd1ZW5zY2h0ZS4KTGVpZGVyIGthbm4gbWFuIGltIFRleHRmaWxlIHVlYmVyaGF1cHQga2VpbmUgV2lsZGNhcmRzIHZlcndlbmRlbi4gU29taXQgYmxlaWJ0CmRpZSBGcmFnZSB3YXMgbWFuIHR1dCB3ZW5uIHNpY2ggZGllIEFuemFobCBkZXIgenUga29tcGlsaWVyZW5kZW4gRmlsZXMgaW4gZGllCkh1bmRlcnRlIGJld2VndC4KCk1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGtvbXBpbGllcmVuIHVudGVyIGphdmEgKE1hcmN1cywgMjguIFNlcCAyMDA1LCAxMTo0NzoxMSk6Cn4jISBybj1Nb3BwaSBydD0xMTI3OTAwNzY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKZWluIGJ1aWxkLnhtbCBmaWxlIHNjaHJlaWJlbiBmdWVyIEFOVC4KCmZyYWcgbWljaCBhYmVyIGJpdHRlIG5ldCBuYWNoIGRlciBTeW50YXggOykKCkNpYW8sIG1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga29tcGlsaWVyZW4gdW50ZXIgamF2YSAoUnVtYXRhLCAyOC4gU2VwIDIwMDUsIDExOjQ4OjMxKToKfiMhIHJuPU1hcmN1cyBydD0xMTI3OTAwODMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKPHByb2plY3QgbmFtZT0ibW9wcGVsIj4KICA8dGFyZ2V0IG5hbWU9ImNvbXBpbGUiPgogICAgPGphdmFjIHNyY2Rpcj0iLiIgZGVidWc9Im9uIi8+CiAgIDwvdGFyZ2V0Pgo8L3Byb2plY3Q+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFmaWtrYXJ0ZSAoUmVxdWllbSwgMjguIFNlcCAyMDA1LCAxMjo1NzoxMSk6Ckh1aHUsCgptZWluZSBhbHRlIEdyYWZpa2thcnRlIGhhdCBkYXMgemVpdGxpY2hlIGdlc2VnbmV0LiBFcyBoYW5kZWx0ZSBzaWNoIHVtIGVpbmVuCkdhcmFudGllZmFsbC4gRGEgU2FwcGhpcmUgZGllIHVyc3BydWVuZ2xpY2hlIEthcnRlIC0gZWluZSBSYWRlb24gOTYwMCBYVCAtCm5pY2h0IG1laHIgbGllZmVybiBrb25udGUgaGFiZW4gc2llIGVpbmUgOTgwMCBTRSB6dXJ1ZWNrZ2VzY2hpY2t0LiBEYWJlaQpoYW5kZWx0IGVzIHNpY2ggbGVpZGVyIHVtIGVpbmVuIFRhdXNjaCwgdWViZXIgZGVuIGljaCBuaWNodCBzbyB3aXJrbGljaApnbHVlY2tsaWNoIGJpbi4KRGEgZXMgc2ljaCBhYmVyIHVtIGVpbiBvcmlnaW5hbHZlcnBhY2t0ZXMgTmV1cHJvZHVrdCBoYW5kZWx0IHd1ZXJkZSBzaWNoIGRlcgphYndpY2tlbG5kZSBGYWNoaGFlbmRsZXIgYXVjaCBkYXJhdWYgZWlubGFzc2VuLCBtaXIgZGVuIEVuZGt1bmRlbi1WSyBkZXIKRXJzYXR6a2FydGUgZ3V0enVzY2hyZWliZW4gKDExMCBFdXJvKSB1bmQgbWljaCBnZWdlbiBBdWZwcmVpcyBhdWNoIGVpbgpiZXNzZXJlcyBNb2RlbGwgd2FlaGxlbiB6dSBsYXNzZW4uCkRhIGljaCBtb21lbnRhbiBzbyBnYXIgbmljaHQgaW5mb3JtaWVydCBiaW4gLSBoYXQgamVtYW5kIFZvcnNjaGxhZWdlPwpEYSBtZWluIE1vdGhlcmJvYXJkIGtlaW5lbiBQQ0llLVNsb3QgYXVmd2Vpc3Qgd3VlcmRlIGljaCB3aWVkZXIgZWluZSBBR1AtS2FydGUKbmVobWVuIHdvbGxlbi4gTWVociBhbHMgMjAwIEV1cm8gbW9lY2h0ZSBpY2ggbmljaHQgenVzYWV0emxpY2ggYXVzZ2ViZW4sIGVoZXIKd2VuaWdlci4gRGVubm9jaCBkYXJmIGVzIHNjaG9uIGVpbmUgS2FydGUgc2VpbiwgZGllIGRldXRsaWNoIGxlaXN0dW5nc3N0YWVya2VyCmlzdCBhbHMgZGllIHVyc3BydWVuZ2xpY2hlIDk2MDBYVC4gT2IgTnZpZGlhIG9kZXIgQVRJLUNoaXBzYXR6IGlzdCBtaXIKbGV0enRsaWNoIGVoZXIgZWdhbCwgd29iZWkgTlZpZGlhIGdnZnMgd2VnZW4gZGVyIGFuZ2VibGljaCBiZXNzZXJlbgpDbG9zZWQtU291cmNlLUxpbnV4LVRyZWliZXIgdmllbGxlaWNodCBlaW5lIGtsdWVnZXJlIEVudHNjaGVpZHVuZyBzZWluCmtvZW5udGUuCgpWb3JzY2hsYWVnZT8KCkRhbmtlLApSZXF1aWVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBrb21waWxpZXJlbiB1bnRlciBqYXZhIChDYXR3ZWF6bGUsIDI4LiBTZXAgMjAwNSwgMTM6NDc6MDIpOgp+IyEgcm49TW9wcGkgcnQ9MTEyNzkwMDc2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3ODQ2NzM5Cm1ha2UKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga29tcGlsaWVyZW4gdW50ZXIgamF2YSAoVmFuaW9uLCAyOC4gU2VwIDIwMDUsIDE0OjM2OjUzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTI3OTA4MDIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NDY3MzkKTmEgZ3V0LCB3ZW5uIHdpciBhdWYgZGVyIEViZW5lIHNpbmQ6IEVjbGlwc2UuIE9kZXIga2FubiBFbWFjcyBkYXMgYXVjaD8KKExldHp0ZXJlcyB3YXIgZWluZSBoeXBvdGhldGlzY2hlIEZyYWdlLCB1bSBlaW5lbiBGbGFtZXdhciB6dSBzdGFydGVuLiBVbmQgaWNoCnZlcm11dGUsIGRhc3Mgc2ljaCBqZW1hbmQgZGFyYXVmIGVpbmxhZXNzdCwgdHJvdHogZGllc2VyIEVya2xhZXJ1bmcuKQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFmaWtrYXJ0ZSAoUmVxdWllbSwgMjguIFNlcCAyMDA1LCAxNTo0NTozNik6Cn4jISBybj1SZXF1aWVtIHJ0PTExMjc5MDUwMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzkwNTAzMQpPaywgYmlzaGVyIGthbWVuIGF1ZiBlaW5lIHJlY2h0IGFsbGdlbWVpbmUgQW5mcmFnZSBrZWluZSBBbnR3b3J0ZW4uIEljaCBoYWIKbmF0dWVybGljaCBzZWxic3QgYXVjaCBtYWwgZWluIHdlbmlnIGdlZ3Vja3QgdW5kIDIgTW9kZWxsZSBnZWZ1bmRlbiwga2FubgpqZW1hbmQgd2FzIGRhenUgc2FnZW4/CgoxLiBHaWdhYnl0ZSA2NjAwR1QgR1ZONjZUMTI4IChrb21pc2NoZXJ3ZWlzZSBoYWJlIGljaCBkaWVzZSBCZXplaWNobnVuZyBiZWltCkhhZW5kbGVyIGdlZnVuZGVuLCBuaWNodCBhYmVyIGF1ZiBkZXIgV2Vic2VpdGUgdm9uIEdpZ2FieXRlKQoKMi4gTVNJIEdGNjYwMEdUVEQ4IChhdWNoIGVpbmUgQmV6ZWljaG51bmcgZGVzIEhhZW5kbGVycy4uLikKClByZWlzbGljaCB1bnRlcnNjaGVpZGVuIGRpZSBzaWNoIG51ciB1bSAxMCBFdXJvLCB3b2JlaSBlcnN0ZSBHcmFmaWtrYXJ0ZSB3b2hsCnBhc3NpdiBnZWt1ZWhsdCB3aXJkIHVuZCBzb21pdCBuZXR0IGxlaXNlIHNlaW4gZHVlcmZ0ZS4KCkthbm4gamVtYW5kIHdhcyB6dSBlaW5lciBkZXIgS2FydGVuIHNhZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYWZpa2thcnRlIChKYWRhd2luLCAyOC4gU2VwIDIwMDUsIDE2OjI1OjU2KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNzkwNTAzMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3OTA1MDMxClNlaCBpY2ggZGFzIHJpY2h0aWcsIGRhc3MgZHUgMjAwIEV1cm8gYXVmIGRpZSAxMTAgR3V0c2NocmlmdCBkcmF1ZmxlZ2VuCndyZGVzdD8KRGEgbXNzdGVzdCBEdSBkb2NoIG1pdHRsZXJ3ZWlsZSBzY2hvbiBlaW5lIGJpbGxpZ2UgNjgwMCBHVCBmciBrcmllZ2VuLiBCZWkKZUJheSBnaWJ0cyBkYSBkaWUgU3BhcmtsZSBtaXR0bGVyd2VpbGUgYWIgMjM1IEV1cm8uIERpZSBpc3QgendhciBldHdhcyBsYXV0CmFiZXIgc29uc3QgcmVjaHQgYW5zdG5kaWcuCkphZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYWlsIHJlbGF5IChPbGxpLCAyOC4gU2VwIDIwMDUsIDE2OjM3OjAzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI3ODUxODY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc4NTE4NjQKYWx0ZXJuYXRpdiBiaWV0ZXQgVC1PbmxpbmUgbmVuIHNtdHByZWxheS50LW9ubGluZS5kZSAtIGRlbiBtdXNzIG1hbiBzaWNoIGFiZXIKa29zdGVucGZsaWNodGlnIGZyZWlzY2hhbHRlbi4gTnVyIGxhZXNzdCBkZXIgZGFubiBlbmRsaWNoIGRpZSBBYnNlbmRlci0KYWRyZXNzZSBpbiBSdWhlIDopCgpncnVzcywKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBtYWlsIHJlbGF5IChDcm9mdCwgMjguIFNlcCAyMDA1LCAxNjo0NToyMSk6Cn4jISBybj1PbGxpIHJ0PTExMjc5MTgyMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzg1MTg2NApBcmNvciBiaWV0ZXQgZGFzIGlpcmMga29zdGVuZnJlaSBhbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBrb21waWxpZXJlbiB1bnRlciBqYXZhIChCb2luZywgMjguIFNlcCAyMDA1LCAxNjo1MjowMyk6Cn4jISBybj1WYW5pb24gcnQ9MTEyNzkxMTAxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3ODQ2NzM5CkFsc28gZnJ1ZWhlciBrb25udGUgZW1hY3MgZGFzICh1bSBkZWluZSBoeXBvdGhldGlzY2hlIEZyYWdlIHp1IGJlYW50d29ydGVuKSwKaWNoIGhhYiBhYmVyIGxhbmdlIGtlaW5lbiBtZWhyIGJlbnV0enQuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JhZmlra2FydGUgKENoYWdhbGwsIDI4LiBTZXAgMjAwNSwgMTc6MDY6MDMpOgp+IyEgcm49UmVxdWllbSBydD0xMTI3OTE1MTM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc5MDUwMzEKQWxzbyBpY2ggaGFiIGRpZSBHaWdhYnl0ZSA2NjAwR1QgR1YtTjY2VDEyOFZQIHVuZCBrYW5uIG5pY2h0IAprbGFnZW4uIFBhc3NpdiBnZWt1ZWhsdCwgZGFkdXJjaCBsZWlzZSB1bmQgZnVlciBkaWUgcGFhciAKU3BpZWxjaGVuIG5lYmVuIE1vcmdlbmdyYXVlbiByZWljaHQgc2llIGxvY2tlciBhdXMuCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcmFmaWtrYXJ0ZSAoTW9yZ290aCwgMjkuIFNlcCAyMDA1LCAwNzo0Mzo1NCk6Cn4jISBybj1KYWRhd2luIHJ0PTExMjc5MTc1NTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyNzkwNTAzMQpBZWgsIGljaCBoYWIgbmUgQVNVUzk5OTkgKEdGIDY4MDBHVCkgZnVlciAyNTAgRXVyb25lbiBiZWtvbW1lbiwgZGFzIHNvbGx0ZQphdWNoIGZ1ZXIgRGljaCBtYWNoYmFyIHNlaW4uIFVuZCBkYXMgVGVpbGNoZW4gaXN0IGR1cmNoYXVzIHNjaG51Y2tsaWcgOikKCk0qIC4uLiAidW5kIGVzIGxldWNodGV0IGJsYXUiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZmVobHQgKENhdHdlYXpsZSwgMjkuIFNlcCAyMDA1LCAwODozNDoyNyk6Ckthbm4gbWlyIGplbWFuZCB2ZXJyYXRlbiwgd2VsY2hlbiBLbm9wZiBpY2ggZGllc21hbCBzY2hvbiB3aWVkZXIgdWViZXJzZWhlbgpoYWJlPwoKSWNoIGhhYiB2b3IgZWluaWdlciBaZWl0IG5ldWUgR3JhcGhpa2thcnRlbiBnZWthdWZ0IChNU0kgTlg2NjAwLVZURDI1NikuIAoKRGllIGxhdWZlbiBpbiB6d2VpIGVpZ2VudGxpY2ggendlaSByZWxhdGl2IGFlaG5saWNoZW4gUmVjaG5lcjoKLSBhZWx0ZXJlcyBNQiwgTVNJIDY1NzAsIEFHUDh4LCAxR0IsIDIuNEdIeiBTZW1wcm9uIFNvY2tlbCBBCi0gbmV1ZXMgTUIsIE1TSSBLOFQgTmVvLCBBR1A4eCwgMUdCLCAyLjYgU2VtcHJvbiBTb2NrZWwgNzU0CmFiZXIgdm9lbGxpZyB1bnRlcnNjaGllZGxpY2guIEF1ZiBkZW0gYWVsdGVyZW4gUmVjaG5lciBrb21tZW4gMTUtMjUgZnBzIHJhdXMsCmF1ZiBkZW0gbmV1ZXJlbiA+NTBmcHMuCgpXb3JhbiBsaWVndHM/CldhcyBtYWNoIGljaCBmYWxzY2g/CldvcmFuIGthbm4gbWFuIGRhIG5vY2ggZHJhbiBkcmVoZW4/CgpCaW4ga3VyeiBkYXZvciBtaXIgbm9jaG1hbCBkYXMgbmV1ZSBCb2FyZCB6dXp1bGVnZW4gOi8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBmZWhsdCAoTW9yZ290aCwgMjkuIFNlcCAyMDA1LCAwODo1MjoyNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEyNzk3NTY2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI3OTc1NjY3CldlbGNoZXMgT1M/IFdlbGNoZXMgU3BpZWwvQmVuY2htYXJrPyAKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGZlaGx0IChKYWRhd2luLCAyOS4gU2VwIDIwMDUsIDA5OjE4OjE2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTI3OTc1NjY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjc5NzU2NjcKSWNoIHZlcm11dGUgbWFsLCBkYXNzIGVpbmZhY2ggZGllIEJvYXJkcywgaW5zYmVzb25kZXJlIGRpZSBUYXRzYWNoZSwgZGFzcwplaW5lcyBkYXYgb24gbm9jaCBTb2NrZWwtQSBpc3QsIGJyZW1zZW4uCkdydXNzLApKYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEcml2ZXIgdW50ZXIgV2luWFAgKEdsb2luc29uLCAzMC4gU2VwIDIwMDUsIDAyOjI3OjI5KToKSWNoIGhhYiBtaXIgZ2VzdGVybiB1bnRlciBDeWdXaW4gZGVuIERyaXZlciBtaXQgZ2NjIDMuNC40IGdlYmF1dCwgZGVyIG5vcm1hbGUKbGFldWZ0IChtaXQgZHJpdmVyLmV4ZSA0NzExIC1jIC1kIC1OIC1yMCAtcnUwIC1ybTAgLXJzMCAtdS0xIC1tLi4vbXVkbGliCi1zZi4uL211ZGxpYikgLi4uIGFiZXIgdHJvdHogaWRlbnRpc2NoZXIgU3RhcnRwYXJhbWV0ZXIsIGlkZW50aXNjaGVyCkRhdGVpcmVjaHRlLCBpZGVudGlzY2hlbiBXYXN3ZWlzc2ljaHMga2Fja3QgZGVyIHNlbGJzdGdlYmF1dGUgRHJpdmVyIHNvYmFsZCBlcgpnZW4gTGFkZW4gdm9tIG1hc3RlciBrb21tdCBtaXQgU1RBVFVTX0FDQ0VTU19WSU9MQVRJT04gYWIuIE1pciBpc3Qgc28gemllbWxpY2gKc2NobGVpZXJoYWZ0IHdpZXNvIC4uLiBpcmdlbmR3ZWxjaGUgVGlwcHM/CkljaCB3ZWlzcyB2YWdlLCBkYXNzIGljaCBkYXMgUHJvYmxlbSBzY2hvbiBlaW5tYWwgaGF0dGUgLi4uIGFiZXIgd2Fubiwgd2llLCB3bwouLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZW1vdGUgYmlsZHNjaGlybSAoTW9wcGksIDMwLiBTZXAgMjAwNSwgMTQ6MzQ6MDMpOgpJY2ggc3VjaGUgZnVlciBlaW5lIFByb2pla3RhcmJlaXQgTW9lZ2xpY2hrZWl0ZW4sIHdpZSBtYW4gUmVtb3RlIGF1ZiBkZW4KQmlsZHNjaGlybSBlaW5lcyBhbmRlcmVuIFJlY2huZXJzIHp1Z3JlaWZlbiBrYW5uLiBJY2gga2VubmUgYmlzaGVyIG51ciBWTkMKZnVlciBXaW5kb3dzLiAKTWVpbmUgRnJhZ2Ugc2luZCB3ZWxjaGUgTWdsaWNoa2VpdGVuIGdpYnQgZXMgbm9jaCBmdWVyIFdpbmRvd3MgdW5kIExpbnV4LApkYW1pdCBpc3QgYXVjaCBnZW1laW50IGluIGhldGVyb2dlbmVuIE5ldHplbi4KVmllbGVuIERhbmsgc2Nob24gbWFsIGZ1ZXIgZGllIEFudHdvcnRlbi4KCk1vcHBlcmxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVtb3RlIGJpbGRzY2hpcm0gKE1hcmN1cywgMzAuIFNlcCAyMDA1LCAxNDozNjoxNSk6Cn4jISBybj1Nb3BwaSBydD0xMTI4MDgzNjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjgwODM2NDMKdm5jIGdpYnRzIGF1Y2ggZnVlciBMaW51eC4KCmtyZGMgaXN0IGRlciBLREUgZGVza3RvcCBzaGFyZXIgekIuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZW1vdGUgYmlsZHNjaGlybSAoQ2F0d2VhemxlLCAzMC4gU2VwIDIwMDUsIDE0OjM3OjE1KToKfiMhIHJuPU1vcHBpIHJ0PTExMjgwODM2NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyODA4MzY0MwpCb3VuY2VkLgpSZWFzb246IEFuc3dlciBpbmNsdWRlZCBpbiBRdWVzdGlvbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlbW90ZSBiaWxkc2NoaXJtIChNb3Jnb3RoLCAzMC4gU2VwIDIwMDUsIDE0OjQ1OjE5KToKfiMhIHJuPU1vcHBpIHJ0PTExMjgwODM2NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyODA4MzY0MwpVbSBhdWYgWFAvMjAwMyBLaXN0ZW4genV6dWdyZWlmZW4gZ2lidCBlcyAiUmVtb3RlIERlc2t0b3AiLiBJc3QgYmVpCldpbmRvd3NyZWNobmVybiBkYWJlaSwgZnVlciBMaW51eCBnaWJ0cyBkYXMgRGluZyBhdWNoLgpWTkMtYWVobmxpY2ggaXN0ICJSZW1vdGUgQWRtaW5pc3RyYXRvciIKKGh0dHA6Ly93d3cuc3VuYmVsdC1zb2Z0d2FyZS5jb20vU3VuYmVsdFJlbW90ZUFkbWluaXN0cmF0b3IuY2ZtKS4gRGFzIG51dHplbgp3aXIgZnVlciBkaWUgS2lzdGVuLCBkaWUga2VpbiBSZW1vdGUtRGVza3RvcCBrb2VubmVuIDopCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZW1vdGUgYmlsZHNjaGlybSAoTW9wcGksIDMwLiBTZXAgMjAwNSwgMTU6MjA6MjIpOgp+IyEgcm49TW9yZ290aCBydD0xMTI4MDg0MzE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjgwODM2NDMKaWNoIHNwZXppZml6aWVyIGRhcyBHYW56ZSBub2NoIG1hbDoKCmVzIGdlaHQgd2VuaWdlciB1bSBBZG1pbnN0cmF0aW9uIG9kZXIgZ2FyIEF1c3Bpb25pZXJlbiB2b24gVXNlcm4sIHNvbmRlcm4gbWVocgpkYXJ1bSBkYXMgZWluIGdyYWZpc2NoZXMgUHJvZ3JhbW0gYXVmIGVpbmVtIFJlbW90ZSBSZWNobmVyIHZvbSBsb2NhbGVuIFJlY2huZXIKbWl0IE1hdXMvS2V5Ym9hcmQvc3BlemllbGxlbiBHZXJ0ZW4gb2RlciBrbGVpbmVuIEFwcGxpa2F0aW9uZW4gZ2VzdGV1ZXJ0CndlcmRlbiBrYW5uLiBBbHNvIGd1dCB3YWVyZSBhdWNoIHdlbm4gUHJvdG9rb2xsZSBvZGVyIGFlaG5saWNoZXMgU2NocmVpYmVuCmthbm4gZGllIGRpZSBTdGV1ZXJ1bmcgZGVzIFJlbW90ZGVza3RvcHMgdWViZXJuZWhtZW4ga29lbm5lbi4KCk1vcHBpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByZW1vdGUgYmlsZHNjaGlybSAoTXVhZGliLCAzMC4gU2VwIDIwMDUsIDE1OjU1OjI2KToKfiMhIHJuPU1vcHBpIHJ0PTExMjgwODY0MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyODA4MzY0Mwp3aWUgd2FyIGRhcyBtaXQgZGVuIHByb3Rva29sbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmVtb3RlIGJpbGRzY2hpcm0gKE9ya3RvZXRlciwgIDEuIE9rdCAyMDA1LCAwMTowMjo1NCk6Cn4jISBybj1Nb3BwaSBydD0xMTI4MDg2NDIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjgwODM2NDMKTWVpbnN0IGR1IHNvIGV0d2FzIHdpZSBzc2ggKGV2dGwgbWl0IG9wdGlvbmVuIHdpZSBzc2ggLVYgb2RlciBhZWhubGljaGVtKT8KKGZ1ZXIgTGludXgpCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogcmVtb3RlIGJpbGRzY2hpcm0gKE11cGZlbCwgIDQuIE9rdCAyMDA1LCAyMjo1Njo1NSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTEyODEyMTM3NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI4MDgzNjQzCmN5Z3dpbi9YID8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmVtb3RlIGJpbGRzY2hpcm0gKFJvaGxvZmYsIDE0LiBPa3QgMjAwNSwgMTk6NDI6NDApOgp+IyEgcm49TW9wcGkgcnQ9MTEyODA4MzY0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI4MDgzNjQzCk5ldHZpZXdlcgpEYW1pdCBhcmJlaXRlbiB3aXIgYmVpIG1pciBhdWYgQXJiZWl0LgpEYW1pdCBrYW5uc3QgRHUgZGlyZWt0IGF1ZiBkZW4gUmVjaG5lciBlaW5lbiBhbmRlcmVuIHp1Z3JlaWZlbiB1bmQgRGVpbmVtCmdlZ2VudWViZXIgemVpZ2VuLCB3aWUgZXR3YXMgenUgbWFjaGVuIGlzdCwKSXN0IGFsbGVyZGluZ3MgbmljaHQgYmlsbGlnLgpXb2hsIGVoZXIgbmljaHRzIGZ1ZXIgZGVuIFByaXZhdGJlcmVpY2guCiBSLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9EIChPZ28sIDE3LiBPa3QgMjAwNSwgMTk6Mjg6MDkpOgpJY2ggc2VoZSBuaWNodCB3aXJrbGljaCBlaW4sIGRhc3MgaWNoIGluIGRpZSBWaWRlb3RoZWsgcmVubmVuIHNvbGwsIHdlbm4gZXMKbWl0dGxlcndlaWxlIGtlaW5lcmxlaSB0ZWNobmlzY2hlIEdydWVuZGUgZ2lidCwgd2VzaGFsYiBpY2ggZGFzIG5pY2h0IHBlcgpEU0wvSW50ZXJuZXRzdHJlYW0gZ3Vja2VuIGthbm4uCgpULU9ubGluZSBiaWV0ZXQgZGFzIG51ciBmdWVyIGRpZSBlaWdlbmVuIEt1bmRlbiBhbiwgQXJjb3IgaGF0IHppZW1saWNoIHN0b2x6ZQpQcmVpc2UgKGRldXRsaWNoIHRldXJlciBhbHMgVmlkZW90aGVrLCBhdWNoIHdlbm4gZGVyIFRyYWZmaWMgZnVlciBkaWUgZWlnZW5lbgpLdW5kZW4genVtaW5kZXN0IHVtc29uc3QgaXN0KS4KCkpldHp0IGhhYmUgaWNoIHd3dy5vbmU0bW92aWUuZGUgZW50ZGVja3QsIHdvIG1hbiBmdWVyIGVpbmUgTW9uYXRzcGF1c2NoYWxlCmFsbGUgRmlsbWUgYXVzIGRlcmVuIEthdGFsb2cgYW5zY2hhdWVuIGthbm4uIEhhdCBqZW1hbmQgZGFzIHNjaG9uIG1hbAphdXNwcm9iaWVydCBvZGVyIGRhcnVlYmVyIGV0d2FzIGdlaG9lcnQ/CgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb0QgKE11YWRpYiwgMTcuIE9rdCAyMDA1LCAxOTozMjoxOSk6Cn4jISBybj1PZ28gcnQ9MTEyOTU3MDA4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NTcwMDg5CnNpZWh0IHZlcmxvY2tlbmQgYXVzCmJpbiBpY2ggYXVjaCBtYWwgZ2VzcGFubnQgb2IgZGVyIGVyZmFocnVuZ3NiZXJpY2h0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb0QgKEthcmlzLCAxOC4gT2t0IDIwMDUsIDEwOjAwOjIxKToKfiMhIHJuPU11YWRpYiBydD0xMTI5NTcwMzM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjk1NzAwODkKTWl0IHdlbGNoZXIgQml0cmF0ZSB3aXJkIGRhIGNvZGllcnQsIHdlbm4gbWFuIGRhcyBwZXIgRFNsIHNhdWd0PyBVbmQgd2VsY2hlCkF1ZmxvZXN1bmcgYmVrb21tZSBpY2ggZGFubiBpbSBFbmRlZmZla3Q/CgpLYXJpcywgbmV1Z2llcmlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWb0QgKE1vcmdvdGgsIDE4LiBPa3QgMjAwNSwgMTA6NDg6MDIpOgp+IyEgcm49S2FyaXMgcnQ9MTEyOTYyMjQyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NTcwMDg5ClVuZCB3byBiaXR0ZXNjaG9lbiBzaW5kIEZpbG1lIGRpZSB3aXJrbGljaCBpbnRlcmVzc2FudCBzaW5kPyBBdWYgZGVyIEhvbWVwYWdlCmlzdCBkb2NoIG51ciBhbHRlciBHYW1tZWwgOi0hCgpJY2ggaGFiIG1pciBncmFkZW4gZGllc2VuIFZvYi9TQVQtUmVjZWl2ZXIgdm9uIEJvc2UgdW1nZWJhdXQsIGRlbiBULU9mZmxpbmUKZnVlciBpaHIgVC1WaXNpb24gKG9kZXIgc28pIHZlcmthdWZlbiB3b2xsdGUuIERlciB6ZWlndCBudW4gYnJhdiBkaWUgRmlsbWUsCmRpZSBpY2ggaW0gQXJiZWl0c3ppbW1lciBhdWYgbWVpbmVtIFJlY2huZXIgaGFiZSA6RCBXZXIgc28gZWluIFRlaWwgaGF0IGthbm4Kc2ljaCBmcmV1ZW4uCgpNKiAqZnJldSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvRCAoQW50aGVhLCAxOC4gT2t0IDIwMDUsIDExOjIwOjIxKToKfiMhIHJuPU1vcmdvdGggcnQ9MTEyOTYyNTI4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NTcwMDg5CkhtLi4uCgpCcm93c2VyOgpQQzogSW50ZXJuZXQgRXhwbG9yZXIgYWIgNS41IG9kZXIgaG9laGVyIAooZW1wZm9obGVuOiBJbnRlcm5ldCBFeHBsb3JlciA2IG1pdCBTZXJ2aWNlIFBhY2sgMSBvLiAyKSAKCkFsdGVybmF0aXZlIEJyb3dzZXIgd2llIE9wZXJhLCBNb3ppbGxhIG9kZXIgTmV0c2NhcGUgd2VyZGVuIApkZXJ6ZWl0IG5vY2ggbmljaHQgdW50ZXJzdHVldHp0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgTGl0ZXJhdHVyIChWYW5pb24sIDE4LiBPa3QgMjAwNSwgMjI6MDY6NTkpOgpIYWxsbywKCmljaCBoYWIgaW4gZGllc2VtIFNlbWVzdGVyIGVpbiBTZW1pbmFyIHp1bSBUaGVtYSBrb21wb25lbnRlbmJhc2llcnRlClByb2dyYW1taWVydW5nIGJlbGVndC4gSW4gbWVpbmVtIEF1ZnNhdHogbW9lY2h0ZSBpY2ggbWljaCBkYWJlaSBtaXQgZGVyClVtc2V0emJhcmtlaXQga29tcG9uZW50ZW5iYXNpZXJ0ZXIgS29uemVwdGUgc3BlemllbGwgaW4gb2JqZWt0b3JpZW50aWVydGVuClNwcmFjaGVuIGJlc2NoYWVmdGlnZW4uIExlaWRlciBoYWIgaWNoIG5vY2gga2VpbmVuIGd1dGVuIEVpbnN0aWVnIGluIGRhcyBUaGVtYQp1bmQgc3VjaGUgZGFoZXIgbmFjaCBMaXRlcmF0dXIuIEhhdCBqZW1hbmQgdm9uIGV1Y2ggZXR3YXMgYXVmIGRlbSBSYWRhciwgZGFzcwppbiBkaWVzZSBSaWNodHVuZyBnZWh0PyAKCklociB3dWVyZGV0IG1pciBzZWhyIGhlbGZlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGUgTGl0ZXJhdHVyIChNdWFkaWIsIDE4LiBPa3QgMjAwNSwgMjI6MDg6MDkpOgp+IyEgcm49VmFuaW9uIHJ0PTExMjk2NjYwMTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyOTY2NjAxOQpnaWJ0IGJlc3RpbW10IHdhcyBoaW5yZWljaGVuZCBuZXJ2aWdlcyB2b24gYmFsemVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1Y2hlIExpdGVyYXR1ciAoR3JpbW1ib3JuLCAxOS4gT2t0IDIwMDUsIDExOjExOjU2KToKfiMhIHJuPU11YWRpYiBydD0xMTI5NjY2MDg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMjk2NjYwMTkKUHVoLCBpY2ggaGFiIGVyc3QgImtvbXBldGVuemJhc2llcnRlIFByb2dyYW1taWVydW5nIiBnZWxlc2VuLi4uIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdWNoZSBMaXRlcmF0dXIgKE11YWRpYiwgMTkuIE9rdCAyMDA1LCAxMTozMTowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyOTcxMzExNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NjY2MDE5CmRhcyBnaWJ0IGVzIG5pY2h0CmlzdCBlaW4gcmVpbmVyIG15dGhvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1FMIChteXNxbCA0LjAuMTgpIGZ1ZXIgRHVtbWllcz8gKEFuYXRvbCwgMTkuIE9rdCAyMDA1LCAxNzo1MTo1Mik6CgoKRWluIFByb2JsZW0gYXVzIGRlbSB3aXJrbGljaGVuIExlYmVuLi4uCgpJY2ggaGFiZSB6d2VpIFRhYmVsbGVuIChzLnUuKS4gVGFiZWxsZSB0MSBlbnRoYWVsdAp1LmEuIFdlcnRlLVR1cGVsICh6LkIuIEEtaykuIFRhYmVsbGUgdDIgZW50aGFlbHQgZWluZQpNYXRyaXgsIGRpZSBkZW4gR3VlbHRpZ2tlaXRzYmVyZWljaCBkaWVzZXIgVHVwZWwKZGVmaW5pZXJ0LiBEYXMgZ2FuemUgc3RlY2t0IGluIGVpbmVyIG15c3FsLURCLgoKV2llIG11ZXNzdGUgZWluZSAgU1FMLUFiZnJhZ2UgYXVzc2VoZW4sIGRpZSBtaXIgZGllCmlkcyBkZXJqZW5pZ2VuIFNhZXR6ZSBpbiB0MSBhdXNzcHVja3QsIGRpZSBuYWNoIHQyCmludmFsaWRlIHNpbmQ/CgpBbmF0b2wgLSBuaWNodCB2b2xsc3RhZW5kaWcgYmV3YW5kZXJ0LCB3YXMgc3FsIGFuZ2VodC4KClRhYmVsbGUgdDEKCmlkIHwgIHYxICB2MgotLS0rLS0tLS0tLS0KIDEgfCAgQSAgIGsKIDIgfCAgQSAgIGwKIDMgfCAgQSAgIGsKIDQgfCAgQiAgIG0KIDUgfCAgQiAgIGsKIDYgfCAgQSAgIG4KIDcgfCAgQyAgIGsKIDggfCAgRCAgIGwKIDkgfCAgQyAgIGsKCgpUYWJlbGxlIHQyCgogIHwgQSAgQiAgQwotLSstLS0tLS0tLS0KayB8IDEgIDAgIDAKbCB8IDEgIDEgIDEKbSB8IDEgIDAgIDEKbiB8IDEgIDAgIDAKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNRTCAobXlzcWwgNC4wLjE4KSBmdWVyIER1bW1pZXM/IChSdW1hdGEsIDE5LiBPa3QgMjAwNSwgMjA6NDY6MzMpOgp+IyEgcm49QW5hdG9sIHJ0PTExMjk3MzcxMTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEyOTczNzExMgpHZWh0IGluIFNRTCBzbyBuaWNodCAoU3BhbHRlbm5hbWVuIHVuZCBXZXJ0ZSBwYWFyZW4pClQyIGlzdCBiYWQgYnkgZGVzaWduLiBEdSBoYXN0IGVpbmUgUmVsYXRpb24gYWxzIE1hdHJpeCBoaW5nZXNjaHJlaWJlbi4KRGFzIHNvbGx0ZXN0IER1IGluIGVpbmUgYW5kZXJlIEZvcm0gYnJpbmdlbiwgd2llIHpCCkEgawpBIGwKQiBsCkMgbApBIG0KQyBtCkEgbgoKRGFubiBrYW5uc3QgRHUgam9pbmVuIHVuZCBrb21tc3QgZXZ0bCBzZWxiZXIgd2VpdGVyLgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU1FMIChteXNxbCA0LjAuMTgpIGZ1ZXIgRHVtbWllcz8gKEFuYXRvbCwgMTkuIE9rdCAyMDA1LCAyMDo1MjowOSk6Cn4jISBybj1SdW1hdGEgcnQ9MTEyOTc0NzU5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NzM3MTEyClNvIHNpZWh0IGF1Y2ggbWVpbmUgTm90bG9lc3VuZyBhdXMuIFBmbGVnZSBkZXIgRGF0ZW4gaW4gZWluZXIKTWF0cml4IChjc3YpIGJ5IENoaW5lc2UsIEltcG9ydCBwZXIgU2hlbGxzY3JpcHQgaW4gZGllIERCLi4uIGFscwpUdXBlbC1MaXN0ZS4gSGF0dGUgbnVyIGF1ZiBlaW5lIElubGluZS1Mb2VzdW5nIGdlaG9mZnQuLi4gOikKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1FMIChteXNxbCA0LjAuMTgpIGZ1ZXIgRHVtbWllcz8gKFJ1bWF0YSwgMTkuIE9rdCAyMDA1LCAyMTozOTowMik6Cn4jISBybj1BbmF0b2wgcnQ9MTEyOTc0NzkyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTI5NzM3MTEyCkVpbiBUb29sLCBkYXNzIGF1cyBlaW5lciBLb2luemlkZW56bWF0cml4IGRpZSBUZWxhdGlvbnN0dXBlbCBmaXNjaHQsCnNvbGx0ZSBlaW5nZW50bGljaCBlaW5lIGVpbmZhY2hlIFVlYnVuZyBzZWluIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFzZXJkcnVja2VyOiBTZXJpZW5uciArIERydWNremVpdCB1bmQgLWRhdHVtIGF1ZiBBdXNkcnVjayAoVGFyYW5pcywgMTkuIE9rdCAyMDA1LCAyMjo1MjowOSk6CkhhYiBnZXJhZGUgZ2VsZXNlbiwgZGFzcyBlaW5lIFJlaWhlIHZvbiBGYXJibGFzZXJkcnVja2VybiBtaXQgSGlsZmUgdm9uIHNlaHIKa2xlaW5lbiBnZWxiZW4gUHVua3RlbiBhdWYgamVkZXIgYXVzZ2VkcnVja3RlbiBTZWl0ZSBpaHJlIFNlcmllbm5yLiBzb3dpZQpEcnVja3plaXQtIHVuZCAtRGF0dW0gbWl0IGF1c2RydWNrZW46CnMuIGh0dHA6Ly93d3cuZWZmLm9yZy9Qcml2YWN5L3ByaW50ZXJzLwooc293aWUgTGlua3Mgdm9uIGRvcnQsIHUuYS4gZWluZSBMaXN0ZSBkZXIgTGFzZXJkcnVja2VyLCBkaWUgZGFzCndhaHJzY2hlaW5saWNoIHR1biBvZGVyIG5pY2h0IHR1biB1bmQgZWluZXMgQmVpc3BpZWxzLCB3aWUgZGllIEluZm9ybWF0aW9uZW4KZ2VkcnVja3Qgd2VyZGVuIChYZXJveCBEb2N1Y29sb3IpKQpXZXIgbGllYmVyIERldXRzY2ggbGllc3QsIGZpbmRldCBlaW5lbiBvYmVyZmxhZWNobGljaGVuIFRlaWwgZGVyIEluZm9ybWF0aW9uZW4KYXVjaCBhdWY6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9wb2xpdGlrLzAsMTUxOCwzODA1NTYsMDAuaHRtbAoKVGFyYW5pcwpQLlMuIEZhbGxzIGRhcyBhbGxlcyBlaW4gYWx0ZXIgSHV0IGlzdDogc29ycnkuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcHJvdmlkZXJ3ZWNoc2VsIChDYXR3ZWF6bGUsIDI2LiBPa3QgMjAwNSwgMDk6MTM6NDYpOgpIaSBIbywKCkljaCBzcGllbGUgbWl0IGRlbSBHZWRhbmtlbiBtZWluZW4gSW50ZXJuZXQtUHJvdmlkZXIgenUgd2VjaHNlbG4uIEVpbgp2ZXJoYWVsdG5pc21hZXNzaWcgc2F1dGV1cmVyIERTTC1Wb2x1bWVudGFyaWYgaXN0IG5pY2h0IG1laHIgZ2FueiB6ZWl0Z2VtYWVzcywKd2VubiBpY2ggdmllbCBiaWxsaWdlciBuZSBmbGF0IGtyaWVnZW4ga2Fubi4gCgpCaXNoZXIgZGVua2UgdWViZXIgY29uZ3N0ZXIuZGUgKFQtS29tLU5ldHp3ZXJrKSAgdW5kIHphdW5saW5rLmRlIChtZWluIGFsdGVzCk5ldHosIHdhciBndXQpIG5hY2guIAoKS2FubiBtaXIgamVtYW5kIG5lZ2F0aXZlcyBvZGVyIHBvc2l0aXZlcyBkYXp1IHNhZ2VuLCBvZGVyIHdhcyBiZXNzZXJlcwplbXBmZWhsZW4/CgpZVEMKUFM6IEVpbmVuIERTTC1Qcm92aWRlcndlY2hzZWwgd2lsbCBpY2ggbW9uZW50YW4gZXJzdCBtYWwgdmVybWVpZGVuLCBpY2ggaGFiClQtRFNMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG93ZXJMaW5lIGlzdCBNaXN0IChNZXNpcmlpLCAzMS4gT2t0IDIwMDUsIDIwOjUxOjI1KToKVW5nZWxvZ2VuOgo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTI2IHR0bD00NyB0aW1lPTE4OTcuOSBtcwo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTI3IHR0bD00NyB0aW1lPTQ2MTEuMCBtcwo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTI4IHR0bD00NyB0aW1lPTM2MDcuMSBtcwo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTI5IHR0bD00NyB0aW1lPTI2MDMuMyBtcwo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTMwIHR0bD00NyB0aW1lPTE3MDguMiBtcwo2NCBieXRlcyBmcm9tIDE5NC45NS4xNzIuMTk6IGljbXBfc2VxPTMxIHR0bD00NyB0aW1lPTE3NzMuNiBtcwoKNDUgcGFja2V0cyB0cmFuc21pdHRlZCwgMjggcGFja2V0cyByZWNlaXZlZCwgMzclIHBhY2tldCBsb3NzCnJvdW5kLXRyaXAgbWluL2F2Zy9tYXggPSAxMTkuMi8xMDc4LjIvNDYxMS4wIG1zCgpNZXNpLCBmbHVjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvd2VyTGluZSBpc3QgTWlzdCAoSGlnaGxhbmRlciwgMzEuIE9rdCAyMDA1LCAyMDo1NToxOSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExMzA3ODgyODUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDc4ODI4NQpQb3dlckxpbmUgSVNUIE1pc3QuIEhGLUFudGVubmVuLCBkaWUgdWViZXJhbGwgaGluIE11ZWxsIGFic3RyYWhsZW4uCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb3dlckxpbmUgaXN0IE1pc3QgKEdsb2luc29uLCAzMS4gT2t0IDIwMDUsIDIyOjIwOjA5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTEzMDc4ODI4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMwNzg4Mjg1CldhciBkYXMgYmVpbSBSdWRlbG4genUgSGltbWVsZmFocnQgbmljaHQgc29nYXIgc2NobGltbWVyPyA6KSBOYWphLCBlcyB3aXJkIGphCmJhbGQgYmVzc2VyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhdGV4QmVhbWVyIChab29rLCAgMS4gTm92IDIwMDUsIDEzOjQ4OjQ4KToKaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGF0ZXgtYmVhbWVyLwoKU2Nob24gbWFsIGplbWFuZCBkYW1pdCBnZWFyYmVpdGV0IHVuZCBrYW5uIGlyZ2VuZHdhcyBkYXp1IGJlcmljaHRlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzcHJhY2hwYWtldGUgZnVlciB3aW5kb3dzIChNb3BwaSwgIDEuIE5vdiAyMDA1LCAxODowNTo1NSk6CkdpYnQgZXMgU3ByYWNocGFrZXRlIGZ1ZXIgV2luZG93cy12ZXJzaW9uZW4gKGluIG1laW5lbSBGYWxsIHdpbjJrKSB3b21pdCBtYW4KYXVzIG5lbSBkZXV0c2NoZW4gV2luZG93IG5hY2h0cmFlZ2xpY2ggZWluIGVuZ2xpc2NoZXMgbWFjaGVuIGthbm4/IEtvc3RlbmxvcwptZWluZSBpY2guCgpHcnVlc3NlIE1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUG93ZXJMaW5lIGlzdCBNaXN0IChDYXR3ZWF6bGUsICAyLiBOb3YgMjAwNSwgMTQ6MTQ6NDgpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTMwNzg4NTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzA3ODgyODUKSGFiIGljaCBzY2hvbiBnZXNhZ3QgaWNoIGhhYnMgamEgZ2VzYWd0PwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQb3dlckxpbmUgaXN0IE1pc3QgKE1haGFyZXQsICAyLiBOb3YgMjAwNSwgMTQ6MjI6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMzA5MzcyODggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDc4ODI4NQpIYXR0ZSBpY2ggc2Nob24gZ2VzYWd0LCB3aXIgaGFiZW4ga2VpbmUgQWx0ZXJuYXRpdmUgYXVzc2VyIGdhciBrZWluIEludGVybmV0Pwo7KQoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUG93ZXJMaW5lIGlzdCBNaXN0IChHbG9pbnNvbiwgIDIuIE5vdiAyMDA1LCAxNDoyMzozOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMzA5Mzc3NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDc4ODI4NQpNZXNpcmlpIGVyd2FlaG50ZSBkYSBkb2NoIHdhcyB2b24gZGlja2VyIExlaXR1bmc/IEFuc29uc3RlbiBibGllYmUgZXVjIGRlciBXZWcKbmV1ZSBCZWthbm50ZSB6dSBzdWNoZW4gdW5kIGV1Y2ggdWViZXIgZWluIG9kZXIgendlaSBNZXNoY3ViZXMgYW56dWJpbmRlbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBvd2VyTGluZSBpc3QgTWlzdCAoTWFoYXJldCwgIDIuIE5vdiAyMDA1LCAxNDoyNjowMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTMwOTM3ODE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzA3ODgyODUKRXJ3YWVobnRlIGVyLCBnZWh0IGFiZXIgZG9jaCBuaWNodC4gVW5kIEJla2FubnRlIHp3aXNjaGVuenVzY2hhbHRlbiBoYXR0ZW4gd2lyCmF1Y2ggc2Nob24gdmVyc3VjaHQsIGhhdCBhYmVyIGF1Y2ggbmljaHQgZnVua3Rpb25pZXJ0LiAgV2lyIGhvZmZlbiBkYXJhdWYsIGRhcwpuYWVjaHN0ZXMgSmFociBoaWVyIG1vZGVybmVzIEthYmVsIGtvbW10LiAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBzcGV6aWVsbGVuIFNDUC1DbGllbnQgKEFtYXJ5bGxpcywgIDIuIE5vdiAyMDA1LCAxOTo1Njo0OCk6CkhpLAoKa2VubnQgamVtYW5kIGVpbmUgU29mdHdhcmUgZnVlciBXaW4qIChpZ2l0dCwgaWNoIHdlaXNzLCBhYmVyIGlzdCBmdWVyIG5lbgpLdW5kZW4pLCBkaWUgZm9sZ2VuZGVzIGthbm46Ck1hbiBkZWZpbmllcnQgei5CLiBlaW4gIlByb2pla3R2ZXJ6ZWljaG5pcyIuIEplZGUgRGF0ZWksIGRpZSBkYXJpbiBnZWFlbmRlcnQKd2lyZCAoei5CLiB3ZWlsIG1hbiBpbiBlaW5lbSBFZGl0b3Igd2FzIGFlbmRlcnQgdW5kIGF1ZiAiU3BlaWNoZXJuIiBrbGlja3QpLAp3aXJkIHNvZm9ydCBwZXIgU0NQIG1pdCBlbnRzcHJlY2hlbmRlbiBMb2dpbmRhdGVuIHJlbW90ZSAiaG9jaGdlbGFkZW4iLgoKR2lidHMgc293YXM/CgpHcnVzcywKQW1hKgoKUFM6IEZUUCB0dXRzIHp1ciBOb3QgYXVjaCwga2FubiBtYW4gamEgdHVubmVsbi4KUFBTOiBOZWluLCBTYW1iYSBldGMuIGlzdCBsZWlkZXIga2VpbmUgT3B0aW9uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IHNwZXppZWxsZW4gU0NQLUNsaWVudCAoR3JpbW1ib3JuLCAgMi4gTm92IDIwMDUsIDIwOjA4OjM2KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTMwOTU3ODA4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzA5NTc4MDgKT2huZSBtaWNoIGF1ZiBzY3AgKGljaCBuZWhtZSBhbiBkYXMgbWVpbnN0IER1IG1pdCAiU0NQIikgZmVzdGxlZ2VuIHp1IHdvbGxlbiwKYWJlciBpbSBQcmluemlwIHNvbGx0ZSBkYXMgamVkZSBoYWxid2VncyBmYWVoaWdlIEhTTSAoaGllcmFyY2hpY2FsIHN0b3JhZ2UKbWFuYWdlbWVudCkgTG9lc3VuZyBrb2VubmVuLiBGdWVyIHppZW1saWNoIGJlbGllYmlnZSBjbGllbnRzLCBkZW5lbiBrYW5uIGphCmxldHp0bGljaCBhdWNoIGVnYWwgc2VpbiB3YXMgZnVlciBlaW4gU3lzdGVtIGRlciBEYXRlbnNlcnZlciBpc3QuIE1pciBmYWVsbHQKZGEgTGVnYXRvLCBmcnVlaGVyIFVuaVRyZWUgZWluLCBkaWUgZ2xhdWIgaWNoIGF1Y2ggbmljaHQgbWVociBMZWdhdG8gaGVpc3Nlbi4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBzcGV6aWVsbGVuIFNDUC1DbGllbnQgKE9nbywgIDMuIE5vdiAyMDA1LCAxNzozODozOCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEzMDk1NzgwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMwOTU3ODA4CldlYmRhdiBvdmVyIGh0dHBzIHdhZXJlIGVpbmUgc2VociBlbGVnYW50ZSBMb2VzdW5nIGZ1ZXIgZGVpbiBQcm9ibGVtLgpBbnNvbnN0ZW4gbmltbSBzY3AuZXhlIHVuZCBzY2hyZWliIGVpbiBCYXRjaGZpbGUsIGRhcyBhdXNnZWZ1ZWhydCB3ZXJkZW4gbXVzcywKdW0gZGllIERhdGVpZW4gaW4gZGVpbmVtIFByb2pla3RkaXIgaG9jaHp1bGFkZW4uCgpBYmVyIFdlYkRBViBpc3QgZGV1dGxpY2ggZWxlZ2FudGVyLCBXaW5kb3dzIGthbm4gZGFtaXQgcmVjaHQgZ3V0IHVtZ2VoZW4gdW5kCmRlciBEYXRlaXp1Z3JpZmYgaXN0IHRyYW5zcGFyZW50IGZ1ZXIgc2FlbXRsaWNoZSBXaW5kb3dzcHJvZ3JhbW1lLgoKWnVtIFAuUy4gaGFzdCBkdSBqZW1hbHMgcHJvYmllcnQgRlRQIHp1IHR1bm5lbG4/IFNvbGFuZ2UgZHUgZGEgbmljaHQgVlBOIGFscwp0dW5uZWwgZHJhdWZ3aXJzdCwgaXN0IGRhcyBzdXBlcm5lcnZpZy4gSWNoIGhhYmUgbWljaCBkYW1pdCBzY2hvbiBlaW5pZ2VtYWxlCmdlcXVhZWx0LiBWZXJtZWlkZSBkYXMsIHdlbm4gZXMgaXJnZW5kd2llIGdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IHNwZXppZWxsZW4gU0NQLUNsaWVudCAoUm9uZGEsICAzLiBOb3YgMjAwNSwgMjI6MzM6MTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzA5NTg1MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDk1NzgwOApBbHNvIG5lbiBIU00gZnVlciBzbyB3YXMgZWluenVzZXR6ZW4sIGtsaW5ndCBkb2NoIG5lbiBiaXNzY2hlbiB3aWUgbWl0IEthbm9uZW4KYXVmIEFtZWlzZW4gc2NoaWVzc2VuIChTcGF0eiB3YWVyIGRhZnVlciB6dSBncm9zcyEpLi4uIG9rLCB3aXIgbWlzc2JyYXVjaGVuCkhTTSBhdWNoIGZ1ZXIgc3Bhbm5lbmRlIFNhY2hlbiwgYWJlciBudXIgZnVlciBkYXMga2xpbmd0cyBkb2NoIGV0d2FzIGhhcnQgLQp1bmQgZGV1dGxpY2ggenUgdGV1ZXIuCkxlZ2F0byBpc3QgSU1ITyB2b24gRU1DIGdla2F1ZnQgd29yZGVuLCBpY2ggZXJpbm5lciBtaWNoIGdyb2IgYW4gY2EuIDEwLjAwMApFdXJvIExpemVuemtvc3RlbiBmdWVyIG5lIGtsZWluZSBJbnN0YWxsYXRpb24uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUzogc3BlemllbGxlbiBTQ1AtQ2xpZW50IChab29rLCAgMy4gTm92IDIwMDUsIDIyOjM0OjA3KToKfiMhIHJuPVJvbmRhIHJ0PTExMzEwNTM1OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDk1NzgwOApTb3NvLi4uLiAic3Bhbm5lbmRlIFNhY2hlbiIgLi4uIGdhbnogdG9sbC4gQWxsZSBoYWJlbiBtaXRnZW1hY2h0Li4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBzcGV6aWVsbGVuIFNDUC1DbGllbnQgKE9nbywgIDMuIE5vdiAyMDA1LCAyMjozNzoxNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEzMDk1NzgwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMwOTU3ODA4CkdlcmFkZSBub2NoIGVpbmUgSWRlZSBiZWtvbW1lbi4gTm92ZWxsIGhhdCBqYSBpRm9sZGVyIGdlb3BlbnNvdXJjdCAoYmFlaCwgd2FzCmVpbiBXb3J0KS4gRGEga2FubnN0IGR1IGF1ZiBkZWluZW0gVW5peCAgZWluZW4gaUZvbGRlcnNlcnZlciBpbnN0YWxsaWVyZW4sCmRhbm4gZ2lidCBlcyBzbyBlaW5lbiB0b2xsZW4gV2luZG93cy1pRm9sZGVyLUNsaWVudCwgZGVyIGRlbiBpRm9sZGVyIGFscwpMYXVmd2VyayB1bnRlciBXaW5kb3dzIGVpbmJpbmRldCwgei5CLiBGOlwgCgpEYXMgc29sbCBub2NoIGVpbiBwYWFyIGFuZGVyZSBWb3J0ZWlsZSBoYWJlbiAoQmFuZGJyZWl0ZW5lZmZpemllbnQuLi4pIG11c3N0CmR1IG1hbCBkZW4gQWRzcGVhayBkdXJjaGZvcnN0ZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IHNwZXppZWxsZW4gU0NQLUNsaWVudCAoR3JpbW1ib3JuLCAgMy4gTm92IDIwMDUsIDIzOjEyOjIzKToKfiMhIHJuPVJvbmRhIHJ0PTExMzEwNTM1OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDk1NzgwOApIbW0sIHdpZXNvIGZpbmRlc3QgRHUgZGFzcyBkYSBIU00gZWluZSBLYW5vbmUgYXVmIFNwYXR6ZW4gaXN0PyBHZW5hdSBkYWZ1ZXIKaXN0IEhTTSBkb2NoIGRhLCBkYXNzIER1IERlaW5lIERhdGVuIHRyYW5zcGFyZW50IGdsZWljaCBub2NoIHdvYW5kZXJzIChhbmRlcmVzClNwZWljaGVybWVkaXVtLCBhbmRlcmUgTG9jYXRpb24sIGRlciBhbmRlcmUgQnVlcm90dXJtLi4uKSB2b3JoYWVsc3QuIFVuZApzaWNoZXIgaXN0IEVNQy9MZWdhdG8vVW5pVHJlZSBkYSBlaGVyIGFtIG9iZXJlbiBFbmRlLCBwcmVpc2xpY2ggdW5kCnBlcmZvcm1hbmNlbWFlc3NpZywgYWJlciBkaWUgQW5zcHJ1ZWNoZSB3dXJkZW4gamEgYXVjaCBuaWNodCBuYWVoZXIKZGFyZ2VzdGVsbHQuIFVuZCBpY2gga2VubmUgZHVyY2hhdXMgZGFzIGVpbmUgb2RlciBhbmRlcmUgUHJvamVrdCB3byAxMCBrRVVSCmZ1ZXIgZWluZSBhbnN0YWVuZGlnZSwgc2F1YmVyZSBTcGVpY2hlcmxvZXN1bmcgcGVhbnV0cyBzaW5kLiBEYSBpc3QKUnVtZ2Vmcmlja2VsIHNjaG5lbGwgdGV1cmVyLiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHByb3ZpZGVyd2VjaHNlbCAoVmFyZGlvbiwgIDQuIE5vdiAyMDA1LCAyMjo0NTozMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEzMDMxMDgyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMwMzEwODI2CkljaCBoYWJlIHNlaXQgQW5mYW5nIE9rdG9iZXIgQ29uZ3N0ZXIgdW5kIGJpbiBiaXMgamV0enQgYWJzb2x1dCB6dWZyaWVkZW4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IHNwZXppZWxsZW4gU0NQLUNsaWVudCAoTXVwZmVsLCAgNy4gTm92IDIwMDUsIDE0OjM0OjMzKToKfiMhIHJuPU9nbyBydD0xMTMxMDUzODM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzA5NTc4MDgKRGFubiB0dXRzIHZpZWxsZWljaHQgYXVjaCBOb3ZlbGwgTmV0ZHJpdmUsIGRhcyBiZWxpZWJpZ2UgZnRwIHVuZCBodHRwKHMpIFNpdGVzCmFscyBXaW5kb3dzLUxhdWZ3ZXJrZSBlaW5iaW5kZW4ga2FubiwgaW5jbC4gQmVyZ2UgYW4gU3BlemlhbGVpbnN0ZWxsdW5nZW4gZnVlcgpsYWhtZSBMZWl0dW5nZW4gZXRjLgoKaHR0cDovL3N1cHBvcnQubm92ZWxsLmNvbS9zZXJ2bGV0L2ZpbGVkb3dubG9hZC91bnMvcHViL25kcnY0MTg2Mi5leGUvCgooaXJnZW5kd2llIG11c3MgbWFuIHdpc3NlbiwgZGFzIGVzIGRhcyB1ZWJlcmhhdXB0IGdpYnQsIGF1ZiBkZXIgTm92ZWxsc2VpdGUKd2lyZCBzb25zdCBuaXJnZW5kd28gZHJhdWYgaGluZ2V3aWVzZW4uLi4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBzcGV6aWVsbGVuIFNDUC1DbGllbnQgKEhpZ2hsYW5kZXIsICA3LiBOb3YgMjAwNSwgMTQ6NDQ6MDMpOgp+IyEgcm49TXVwZmVsIHJ0PTExMzEzNzA0NzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMDk1NzgwOApCZWlkZSBsaW5rcyBhdWYgZGVyIFNlaXRlIHNpbmQgdG90IGJlaSBtaXIuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFM6IHNwZXppZWxsZW4gU0NQLUNsaWVudCAoTXVwZmVsLCAgNy4gTm92IDIwMDUsIDE0OjUwOjM3KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEzMTM3MTA0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMwOTU3ODA4Ck9oIHN0aW1tdC4gTmV1bGljaCBnaW5ncyBub2NoLi4uIGljaCBoYWIgZGllIERhdGVpIGFiZXIgc2Nob25tYWwgZ2VzYXVndCwKa29lbm50ZSBkaWUgYXVmIEFuZnJhZ2UgcmF1c2dlYmVuLgoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpblRWIChQYXJrdXIsIDEwLiBOb3YgMjAwNSwgMjA6MjA6MzIpOgpIYWxsbywKaWNoIGhhdHRlIHZvciBlaW4gcGFhciBKYWhyZW4gbWFsIG1pdCBXaW5UViB6dSB0dW4sIGRhbWFscyBnYWIgZXMKZWluIG5ldHRlcyBrbGVpbmVzIFByb2dyYW1tIG5hbWVucyBNb3JlVFYsIHdvYmVpIGRpZXNlcyBkZW4gVm9ydGVpbApoYXR0ZSwgaW0gR2VnZW5zYXR6IHp1bSBXaW5UVi1Qcm9ncmFtbSB6dSBmdW5rdGlvbmllcmVuLiBOdW4gaGFiIGljaApoaWVyIGVpbmUgWFAtS2lzdGUgbWl0IGFrdHVlbGxlbSBXaW5UViB1bmQgZGllIFNvZnR3YXJlIGJ1Z2d0IHdpZWRlciBydW0uCktlbm50IGplbWFuZCBlaW4gUHJvZ3JhZW1tY2hlbiBvZGVyIGVpbmVuIHNvbnN0aWdlbiBXb3JrYXJvdW5kLCBtaXQgZGVtCldpblRWIHdlZGVyIGVpbmZyaWVydCBub2NoIGFic3R1ZXJ6dD8KClBhcmt1cgpQUzogSmFqYSwgdW5nZW5hdWUgRnJhZ2UuIEFiZXIgaXN0IGhhbHQgZWluIFdpbmRvd3MtUHJvZ3JhbW0gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5UViAoUmlrdXMsIDExLiBOb3YgMjAwNSwgMDg6NTc6NTcpOgp+IyEgcm49UGFya3VyIHJ0PTExMzE2NTA0MzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMTY1MDQzMgpudXR6ZSBkb2NoIG1vcmV0diB3ZWl0ZXIuIGdlaHQgYXVjaCB1bnRlciB4cCBzdXBlci4KCnJpa3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luVFYgKEdhYnlsb24sIDExLiBOb3YgMjAwNSwgMjA6MzA6NDcpOgp+IyEgcm49UGFya3VyIHJ0PTExMzE2NTA0MzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMTY1MDQzMgphdWNoIHdpblRWIGZ1bnp0IHN1cGVyLiBpY2ggbnV0emUgdmVyc2lvbiA0LjMuMjIwMzMgdW50ZXIgMksuIGdpYnQgYWJlcgpzaWNoZXJsaWNoIHNjaG9uIG5ldWVyZSB2ZXJzaW9uZW4uIGFjaGphLCBrYXJ0ZSBpc3QgbmUgbm9ybWFsZSBQVlIgMjUwLgoKaXN0IGRlciBHSy10cmVpYmVyIGFrdHVlbGw/IHN5c3RlbS10cmVpYmVyIGFrdHVlbGw/IGRpcmVjdFggOS4wYz8KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ01PUy1iYXVzdGVpbiBnZXN1Y2h0IChHYWJ5bG9uLCAxNC4gTm92IDIwMDUsIDIyOjM2OjI4KToKZ25ubi4KCmFuc2NoZWluZW5kIGhhdCBkZXIgQ01PUy1iYXVzdGVpbiAoYXVjaCBFRVBST00gZ2VuYW5udCkgZWluZXIgbWVpbmVyCnJlY2huZXIgZGFzIHplaXRsaWNoZSBnZXNlZ25ldC4Kd2Vpc3MgamVtYW5kLCB3byBpY2ggYWRhZXF1YXRlbiBlcnNhdHogZmluZGVuIGthbm4/IG9kZXIgaGF0IGplbWFuZAp2aWVsbGVpY2h0IGRhcyAiZWxpdGVncm91cCBrN3Z6YSByZXYuIDMuMCIgenUgaGF1c2UgcnVtc3RlaGVuIHVuZApicmF1Y2h0IGdlbmF1IGRpZXNlbiBiYXVzdGVpbiBuaWNodCBtZWhyPyA6KQoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbVdpa2kgdW5kIGV4dGVybmUgRGF0ZWllbiAoQmlidGV4KSAoWm9vaywgMjIuIE5vdiAyMDA1LCAxMzo0MzoxNyk6CkhtLiBJY2ggaGFiZSBoaWVyIHNvIGVpbiBQbVdpa2kuIERhcmluIHRhdWNoZW4gVmVyd2Vpc2UgYXVmIExpdGVyYXR1ci0Kc3RlbGxlbiBhdWYgKFNjaGx1ZXNzZWx3b2VydGVyIGF1cyBlaW5lciAuYmliLURhdGVpKS4gSXJnZW5kamVtYW5kIG5lCmdlc2NoaWNrdGUgSWRlZSwgd2llIG1hbiBkYXMgZWluIHdlbmlnIHZlcmtudWVwZmVuIGthbm4/IEFsc28gZGFzcyBkaWUKQmliLURhdGVpIGluIGFrdHVlbGxlciBGYXNzdW5nIGlyZ2VuZHdpZSBpbiBkZW0gV2lraSBhbmdlemVpZ3Qgd2lyZCwgbWFuCmFiZXIgYXVjaCBBZW5kZXJ1bmdlbiBkYXJhbiB2b3JuZWhtZW4ga2Fubj8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmlydHVlbGxlciBCaXJsZHNjaGlybSBkZXIgS0xFSU5FUiBhbHMgZGVyIHJlYWxlIGlzdD8gKFJ1bWF0YSwgMjcuIE5vdiAyMDA1LCAxOTo0MzoxMSk6CnVudGVyIFggaXN0IGVzIGphIHJlbGF0aXYgZWluZmFjaCwgZWluZW4gdmlydHVlbGxlbiBCaWxkc2NoaXJtIHNvIAplaW56dXJpY2h0ZW4sIGRhc3MgZGllc2VyIGdyb2Vzc2VyIGFscyBkZXIgcmVhbGUgaXN0LiBLYW5uIG1hbiBkZW4gdmlydHVlbGxlbiAKZWlnZW50bGljaCBhdWNoIEtMRUlORVIgYWxzIGRlbiByZWFsZW4gbWFjaGVuLCB1bSBlaW5lbiBEZXNrdG9wIHp1IGJla29tbWVuLCAKZGVyIG5pY2h0IGRlbiBnYW56ZW4gQmlsZHNjaGlybSBhdXNmdWVsbHQ/IE9kZXIga2FubiBtYW4gZGVuIFdpbmRvd21hbmFnZXIgCihiZWkgbWlyIHdhZXJlIGRhcyBLREUsIGJpbiBhYmVyIHp1ciBOb3QgZmxleGliZWwgOy0pIGlyZ2VuZHdpZSBkYXp1IAp1ZWJlcnJlZGVuPwoKV296dSBkYXMgZ2FuemU/IEljaCBoYWJlIGVpbmVuIEZlcm5zZWhlciwgZGVyIGJlaW0gU2lnbmFsIHZvbSBEVkkgRWluZ2FuZyBkZW4gCnJlY2h0ZW4gdW5kIGxpbmtlbiBSYW5kIChzYXViZXIpIGFic2NobmVpZGV0LiBEaWUgTW9kZWxpbmUgdm9tIFRWIGthbm4gaWNoIApuaWNodCBhZW5kZXJuIC0gYWxzbyBtdXNzIGRlciBQQyByYW4uIDotKQoKTWVpbiBTeXN0ZW06IERlYmlhbiAic2lkIiAtIGFscyBYc2VydmVyIHhvcmcuCgpSdW1hdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB2aXJ0dWVsbGVyIEJpcmxkc2NoaXJtIGRlciBLTEVJTkVSIGFscyBkZXIgcmVhbGUgaXN0PyAoT2dvLCAyOC4gTm92IDIwMDUsIDEyOjMyOjA3KToKfiMhIHJuPVJ1bWF0YSBydD0xMTMzMTE2OTkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzMxMTY5OTEKRWluZW4gc2Nod2FyemVuIFgtU2VydmVyIHN0YXJ0ZW4sIGRhcmluIGVpbmVuIFhuZXN0IG1pdCBkZXIgZ2V3dWVuc2NodGVuCkdyb2Vzc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHZpcnR1ZWxsZXIgQmlybGRzY2hpcm0gZGVyIEtMRUlORVIgYWxzIGRlciByZWFsZSBpc3Q/IChPZ28sIDI4LiBOb3YgMjAwNSwgMTI6NDQ6NTApOgp+IyEgcm49T2dvIHJ0PTExMzMxNzc1Mjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzExNjk5MQpIYWJzIGdlcmFkZSBtYWwgYXVzcHJvYmllcnQsIGlzdCBlY2h0IG5pZWRsaWNoLiBLYW5uIG1hbiBnYW56IGVpbmZhY2ggYXVjaCBlaW4KS0RFIGltIEtERSBzdGFydGVuLiBGdWVyIGRlaW5lIFp3ZWNrZSB3b2hsIGVoZXIgaW50ZXJlc3NhbnQgYWJlcjoKJCBYbmVzdCA6MyAtZ2VvbWV0cnkgODAweDYwMCAmCiQgZXhwb3J0IERJU1BMQVk9OjMKJCB4dGVybQoKSG9mZmUgZGFzIGhpbGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogdmlydHVlbGxlciBCaXJsZHNjaGlybSBkZXIgS0xFSU5FUiBhbHMgZGVyIHJlYWxlIGlzdD8gKFJ1bWF0YSwgMjguIE5vdiAyMDA1LCAyMToxOTozNik6Cn4jISBybj1PZ28gcnQ9MTEzMzE3ODI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMzMTE2OTkxCkltIFByaXppcCBpc3QgZGFzIFByb2dyYW1tIGdlbmF1IGRhcywgd2FzIGljaCBzdWNoZSAtIGxlaWRlciBoYXQgZXMgZWluZQpNYXNzaXZlIE1hY2tlOiBCZWkgdWViZXJsYXBwZW5kZW4gRmVuc3Rlcm4gZnVua3Rpb25pZXJlbiBkaWUgcmVkcmF3IGV2ZW50cwpuaWNodCByaWNodGlnLiBJY2ggaGFiZSAiLXN5bmMiICwiLWZ1bGwiLCAiLWJzIiwgIi1zdSIgdW5kICItd20iIGF1c3Byb2JpZXJ0LApqaGF0IGFsbGVzIG5peCBnZWhvbGZlbi4gU293b2hsIGJlaSAidHdtIiwgImljc3dtIiB1bmQgImtkZSIuCkF1c3NlcmRlbSBzY2hlaW50IG1pdCBkYXMgVG9vbCB6aWVtbGljaCB1bnNpY2hlciwgd2VpbCBudXIgIi1hYyIgbmV1ZQpGZW5zdGVyIGltIGt3bSBlcmxhdWJlbiAoYWJlciBkYSB3YXIgaWNoIHNpY2hlciBudXIgenUgZG9vZiA7LSkKCkRhbmtlIGZ1ZXIgZGVuIFRpcHAsIGJyYXVjaGUgamV0enQgbnVybm9jaCBIaWxmZSBhdWYgZGVyIFppZWxnZXJhZGVuLgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUzogUHJvZ3JhbW0genVtIEF1c2RydWNrZW4gdm9uIHZDYWxlbmRlciBpQ2FsZW5kZXItRGF0ZWllbiAoWm9vaywgIDYuIERleiAyMDA1LCAxMjo0Mzo1Nyk6CkljaCBzdWNoZSBlaW4gUHJvZ3JhbW0sIG1pdCBkZW0gaWNoIHZDYWwvaUNhbC1EYXRlaWVuIGVpbmZhY2ggZGVyClJlaWhlIG5hY2ggY2hyb25vbG9naXNjaCBhdXNkcnVja2VuIGxhc3NlbiBrYW5uLiBBbHNvIHpCCgoiMjAwNS0xMi0wNiwgTmlrb2xhdXMiCgpKZW1hbmQgbmUgSWRlZT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogUHJvZ3JhbW0genVtIEF1c2RydWNrZW4gdm9uIHZDYWxlbmRlciBpQ2FsZW5kZXItRGF0ZWllbiAoT2dvLCAgNi4gRGV6IDIwMDUsIDEzOjEyOjQ0KToKfiMhIHJuPVpvb2sgcnQ9MTEzMzg2OTQzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMzODY5NDM3ClBlcmwgbWl0IERhdGE6OklDYWwKdW5kIGRhbm4KJGNhbGVuZGVyID0gRGF0YTo6SUNhbC0+bmV3KGZpbGVuYW1lID0+ICd6b29rcy5pY3MnKTsKcHJpbnQgJGNhbGVuZGVyLT5hc19zdHJpbmc7IAoKb2RlciBhZWhubGljaGVzLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKFpvb2ssICA2LiBEZXogMjAwNSwgMTM6Mjk6MzkpOgp+IyEgcm49T2dvIHJ0PTExMzM4NzExNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpEZXMga2xpbmd0IHByaW1hLiBOdXIgc2NoYWRlLCBkYXNzIGljaCBrZWluIFBlcmwga2Fubi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChPZ28sICA2LiBEZXogMjAwNSwgMTM6MzI6MDMpOgp+IyEgcm49Wm9vayBydD0xMTMzODcyMTc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKQWNoLCBkYXMgaXN0IHdpZSBMUEMsIGJsb3NzIHZvciBqZWRlciBWYXJpYWJsZSBlaW4gJAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUzogUHJvZ3JhbW0genVtIEF1c2RydWNrZW4gdm9uIHZDYWxlbmRlciBpQ2FsZW5kZXItRGF0ZWllbiAoR3JpbW1ib3JuLCAgNi4gRGV6IDIwMDUsIDEzOjMzOjExKToKfiMhIHJuPU9nbyBydD0xMTMzODcyMzIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKQW5zb25zdGVuIHNvbGx0ZSBtYW4gYXVzIGRlbiAuaWNzIGZpbGVzIGF1Y2ggbWl0IGJhc2gmQ28gKGdyZXAsIHNvcnQsIGF3ay4uLikKd2FzIHJlaXNzZW4ga29lbm5lbiwgZGVua2UgaWNoLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChPZ28sICA2LiBEZXogMjAwNSwgMTM6MzM6NDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzM4NzIzOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpQYXN0ZSBkb2NoIG1hbCBlaW4gSUNTIHVuZCB3aXIgcHJvYmllcmVuIGdlbWVpbnNjaGFmdGxpY2ggZWluZW4gQmFzaC1BdXNkcnVjawpkYWZ1ZXIgenUgZmluZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChab29rLCAgNi4gRGV6IDIwMDUsIDE1OjQ3OjAyKToKfiMhIHJuPU9nbyBydD0xMTMzODcxMTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKR2lidHMgZGFzIGF1Y2ggZnVlciBQeXRob24gb2RlciBzbz8gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKEppbWRpZ3JpeiwgIDYuIERleiAyMDA1LCAyMDoxNTo0OSk6Cn4jISBybj1ab29rIHJ0PTExMzM4ODA0MjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpEYXMgcGVybCBwcm9ncmFtbSB3aXJkIHZlcm11dGxpY2gga2F1bSBncm9lc3NlciBzZWluCmFscyBzY2hvbiBnZXBvc3RldApJY2ggdmVyc3VjaCBtYWwgYmlzc2wgenUgdmVydm9sbHN0YWVuZGlnZW4uCiMhL3Vzci9iaW4vcGVybAoKdXNlIHN0cmljdDsKdXNlIERhdGE6OklDYWw7CgpteSAkY2FsZW5kZXIgPSBEYXRhOjpJQ2FsLT5uZXcoZmlsZW5hbWUgPT4gJ3pvb2tzLmljcycpOwpwcmludCAkY2FsZW5kZXItPmFzX3N0cmluZywiXG4iOwpleGl0IDA7CgpGYWxscyBkYXMgbmljaHQgcmVpY2h0LCBoaWxmdCBEaXI6CgpwZXJsZG9jIERhdGE6OklDYWwKCnVtIGRpZSBnZWVpZ25ldGVyZS9yaWNodGlnZXJlIG1ldGhvZGUgZnVlciAiYXNfc3RyaW5nIgp6dSBmaW5kZW4uCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKFpvb2ssICA4LiBEZXogMjAwNSwgMDk6NTQ6NDApOgp+IyEgcm49SmltZGlncml6IHJ0PTExMzM4OTY1NDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpPZmZlbmt1bmRpZyBoYWJlIGljaCBkYXMgbW9lZ2xpY2hlcndlaXNlIG5vZXRpZ2UgUGFrZXQgSUNhbCBuaWNodC4gV28gZ2lidHNuCnNvd2FzPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKEppbWRpZ3JpeiwgIDguIERleiAyMDA1LCAxMDo1MjowNik6Cn4jISBybj1ab29rIHJ0PTExMzQwMzIwODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpQZXJsLU1vZHVsZSBnaWJ0cyBiZWkgQ1BBTiwgZnVlciBlaW5lIG1hbnVlbGxlIGluc3RhbGxhdGlvbi4KKGZ0cC5jcGFuLm9yZyBpaXJjKQoKRGVyIEZyZWlCU0UgcG9ydCBkYWZ1ZXIgaXN0OgoKCmRhcyBpc3QgbmF0dWVybGljaCBiZXF1ZW1lciBhbHMgQ1BBTi4KCkNpYW8sCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKEppbWRpZ3JpeiwgIDguIERleiAyMDA1LCAxMDo1MjoyOCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTEzNDAzNTUyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMzODY5NDM3Ckh1Y2gsIHdvIGlzdCBkYXMgaGluPwogL3Vzci9wb3J0cy9kZXNrdXRpbHMvcDUtRGF0YS1JQ2FsLwoKaGllciBub2NobWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChPZ28sICA4LiBEZXogMjAwNSwgMTA6NTQ6MzYpOgp+IyEgcm49Wm9vayBydD0xMTM0MDMyMDgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKJCBjcGFuCj4gaW5zdGFsbCBEYXRhOjpJQ2FsCj4gZXhpdAokCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChab29rLCAgOC4gRGV6IDIwMDUsIDEwOjU0OjM4KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTM0MDM1NTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKZXMgbGViZSBwb3J0aW5zdGFsbCEKem9vay4KcHM6IHRmLWJlbnV0emVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUzogUHJvZ3JhbW0genVtIEF1c2RydWNrZW4gdm9uIHZDYWxlbmRlciBpQ2FsZW5kZXItRGF0ZWllbiAoWm9vaywgIDguIERleiAyMDA1LCAxMDo1NToxNik6Cn4jISBybj1PZ28gcnQ9MTEzNDAzNTY3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTMzODY5NDM3CiQgY3BhbgpiYXNoOiBjcGFuOiBjb21tYW5kIG5vdCBmb3VuZAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFM6IFByb2dyYW1tIHp1bSBBdXNkcnVja2VuIHZvbiB2Q2FsZW5kZXIgaUNhbGVuZGVyLURhdGVpZW4gKE9nbywgIDguIERleiAyMDA1LCAxMDo1NjoyOCk6Cn4jISBybj1ab29rIHJ0PTExMzQwMzU3MTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzMzg2OTQzNwpEYW5uIGlzdCBkZWluIFN5c3RlbSBicm9rZW4sIGRhcyBpc3QgYmVpIHBlcmwgZGFiZWksIHp1bWluZGVzdCBiZWkgbWVpbmVtCjUuOC43LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpcmVuc2Nhbm5lciBmdWVyIFdpbmRvd3MgWFAgKEphbWVzb24sICA4LiBEZXogMjAwNSwgMTE6MjM6NTYpOgp+IyEgcm49Um9uZGEgcnQ9MTEzMzM3NzY4OCByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTExMzMzNzc2ODgKSWNoIGJlbnV0emUgc2VpdCBjYS4gMSBKYWhyIEJpdERlZmVuZGVyIFByb2Zlc3Npb25hbCBQbHVzIDggKGluendpc2NoZW4gOSkgdW5kCmJpbiByZXN0bG9zIHp1ZnJpZWRlbi4gRGFzIFBha2V0IGJlaW5oYWx0ZXQgQW50aXZpcnVzLCBGaXJld2FsbCB1bmQgQW50aXNwYW0sCmFrdHVhbGlzaWVydCBzaWNoIHRlaWx3ZWlzZSBtZWhyZmFjaCB0YWVnbGljaCAoa2xlaW5lIFBha2V0ZSkgdW5kIHd1cmRlIGltCmxldHp0ZW4gYyd0LUFudGl2aXJ1cy1UZXN0IFRlc3RzaWVnZXIuIE5hZWNoc3RlbiBNb250YWcga29tbXQgZGllIGMndCBtaXQgZGVtCm5ldWVzdGVuIFRlc3QsIG1hbiBkYXJmIGdlc3Bhbm50IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTOiBQcm9ncmFtbSB6dW0gQXVzZHJ1Y2tlbiB2b24gdkNhbGVuZGVyIGlDYWxlbmRlci1EYXRlaWVuIChNYXJjdXMsICA4LiBEZXogMjAwNSwgMTI6NDQ6MTkpOgp+IyEgcm49Wm9vayBydD0xMTM0MDM1NzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzM4Njk0MzcKcGVybCAtTUNQQU4gLWUgc2hlbGwKCkNpYW8sIG1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUzogTGFUZVgtTG9lc3VuZyB6dW0gTmViZW5laW5hbmRlcnNldHplbiB2b24gVGV4dGVuIChab29rLCAxMy4gRGV6IDIwMDUsIDEyOjU5OjI4KToKSGksIGljaCBzdWNoZSBlaW5lIHNjaGlja2UgTG9lc3VuZyB6dW0gTmViZW5laW5hbmRlcnNldHplbiB2b24gClRleHRlbiwgYmVpc3BpZWxzd2Vpc2UgbGlua3MgRW5nbGlzY2gsIHJlY2h0cyBEZXV0c2NoIG9kZXIgc28gd2FzCmluIGRlciBSaWNodHVuZy4gTWl0IGVpbiBiaXNzY2hlbiBFaW5zdGVsbHVuZ3Ntb2VnbGljaGtlaXRlbiBzbyAKYSBsYSAibWl0IExpbmllIGRhendpc2NoZW4gb2RlciBvaG5lIi4gR2lidCdzIGRhIGlyZ2VuZHdhcyBGZXJ0aWdlcz8KCkFsc28gc2VsYmVyIGJhc3RlbG4gbWl0IE1pbmlwYWdlcyBvZGVyIFRhYnVsYXItVW1nZWJ1bmdlbiwgZGFzIGJla2FlbWUKaWNoIGF1Y2ggaGluLCBpY2ggd2lsbCBhYmVyLCBkYSBlaW5pZ2UgU2VpdGVuIHVtZmFzc2VuZCwgZ2VybmUgbmUgCmtvbWZvcnRhYmxlIExvZXN1bmcuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IExhVGVYLUxvZXN1bmcgenVtIE5lYmVuZWluYW5kZXJzZXR6ZW4gdm9uIFRleHRlbiAoVmVjdG9yLCAxMy4gRGV6IDIwMDUsIDE2OjM2OjM5KToKfiMhIHJuPVpvb2sgcnQ9MTEzNDQ3NTE2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM0NDc1MTY4CndhcyBzcHJpY2h0IGdlZ2VuIFx0d29jb2x1bW4gYWxzIGRva3VtZW50c3RpbG9wdGlvbj8KZGFyYXVmIHp1IGFjaHRlbiBpc3QgZGFzcyBtaXQgXHBhZ2VicmVhY2sgYnp3IFxuZXdwYWdlIGRpZSBsYXVmZW5kZQpzcGFsdGUgYmVlbmRldCB3aXJkIHVuZCBuZSBuZXVlIGJlZ29ubmVuIHdpcmQuCmRpZSBsYXVmZW5kZSBzZWl0ZSB3aXJkIGRhbm4gbWl0IFxjbGVhcmRvdWJsZXBhZ2UgYmVlbmRldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogTGFUZVgtTG9lc3VuZyB6dW0gTmViZW5laW5hbmRlcnNldHplbiB2b24gVGV4dGVuIChab29rLCAxMy4gRGV6IDIwMDUsIDE2OjM4OjE1KToKfiMhIHJuPVZlY3RvciBydD0xMTM0NDg4MTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzQ0NzUxNjgKd2VpbCBpY2ggZGFubiBqYSBsaW5rcyB1bmQgcmVjaHRzIHZvbiBoYW5kIGF1c2JhbGFuY2llcmVuIG11c3MsIGRhCnNpbmQgbWluaXBhZ2VzIGVpbmZhY2hlci4gaWNoIHdpbGwgYWJlciBuZSBnZW5lcmVsbGUgbG9lc3VuZy4KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBMYVRlWC1Mb2VzdW5nIHp1bSBOZWJlbmVpbmFuZGVyc2V0emVuIHZvbiBUZXh0ZW4gKE9ya3RvZXRlciwgMTQuIERleiAyMDA1LCAxODozMjozOSk6Cn4jISBybj1ab29rIHJ0PTExMzQ0ODgyOTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNDQ3NTE2OApIYXR0ZSBpY2ggZGlyIGdsYXViZSBpY2ggc2Nob24gbWFsIHBlciB0bSBnZXNjaGlja3Q6ClNjaGF1IG1hbCBpbiBkYXMgIk5vdCBzbyBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gTGFUZVgiLCBnaWJ0cyBpbSBJbnRlcm5ldCwgZGEKc2luZCBlYmVuIGF1Y2ggaW1tZXIgTGFUZVggdW5kIEF1c2dhYmUgbmViZW5laW5hbmRlciBnZXN0ZWxsdCB1bmQgZXMgaXN0IGRhcmluCmF1Y2ggYmVzY2hyaWViZW4sIHdpZSBzaWUgZXMgZ2VtYWNodCBoYWJlbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTOiBMYVRlWC1Mb2VzdW5nIHp1bSBOZWJlbmVpbmFuZGVyc2V0emVuIHZvbiBUZXh0ZW4gKFpvb2ssIDE0LiBEZXogMjAwNSwgMTg6Mzg6NTUpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMzQ1ODE1NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNDQ3NTE2OAoxLiB0bSBudXR6ZW4gYmVpIG1pciBpbiBkZXIgUmVnZWwgbml4LCBkYSBpY2ggenUgb2Z0IGlkbGUgYmluLgoyLiBEZW4gVm9yc2NobGFnIGxhcyBpY2ggYXVjaCBhdWYgLWxhdGV4LCBhYmVyIGljaCBoYWJlIGF1ZiBBbmhpZWIKICAgaW4gZGVyIGxzaG9ydCBuaWNodCBnZWZ1bmRlbiwgd28gZGFzIHN0ZWh0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFM6IExhVGVYLUxvZXN1bmcgenVtIE5lYmVuZWluYW5kZXJzZXR6ZW4gdm9uIFRleHRlbiAoWm9vaywgMTkuIERleiAyMDA1LCAxMDoxODozMik6Cn4jISBybj1ab29rIHJ0PTExMzQ1ODE5MzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNDQ3NTE2OApJY2ggZ2xhdWJlLCBpY2ggYmVudXR6ZSBkYXMgUGFrZXQgInBhcmFsbGVsIiwgZGFzIHNjaGVpbnQgenUgdHVuLCB3YXMgaWNoCndpbGwuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BlaWNoZXI6IER1YWwtQ2hhbm5lbCB2cyBTaW5nbGUtQ2hhbm5lbD8gKFRhcmFuaXMsIDIwLiBEZXogMjAwNSwgMTE6NDA6MTApOgpTbyB3aWUgZXMgYXVzc2llaHQsIGlzdCBtZWluIFNwZWljaGVyIGFiZ2VyYXVjaHQgdW5kIGljaCBicmF1Y2ggd29obCB3YXMKbmV1ZXMuIEpldHp0IGlzdCBtaXIgYXVmZ2VmYWxsZW4sIGRhc3MgbWFuIGhhZXVmaWcgc28gS2l0cyBhdXMgMiBNb2R1bGVuIGZ1ZXIKRHVhbC1DaGFubmVsLU1CcyBrcmllZ3QuIEJpc2hlciBoYWJlIGljaCBpbW1lciBtb2VnbGljaHN0IGdyb3NzZSBNb2R1bGUKZ2VrYXVmdCwgZGFtaXQgbWFuIGhpbnRlcmhlciBub2NoIGVyd2VpdGVybiBrYW5uLiBEYXMgZ2VodCBiZWkgRHVhbC1DaGFubmVsCm5pY2h0LCB3ZWlsIGljaCBkYSBlcnN0bWFsIGJlaWRlIE1vZHVsZSB3aWVkZXIgcmF1c3dlcmZlbiBtdXNzLCB3ZW5uIGljaApzcGFldGVyIG1laHIgU3BlaWNoZXIgdW5kIER1YWwtQ2hhbm5lbCBoYWJlbiB3aWxsLiBNZWluZSBGcmFnZSBpc3QgaW0gUHJpbnppcDoKTG9obnQgc2ljaCBEdWFsLUNoYW5uZWwtQmV0cmllYiB1bmQgbWVya3QgbWFuIGFscyBCZW51dHplciB1ZWJlcmhhdXB0IHdhcwpkYXZvbiAoaGF1cHRzYWVjaGxpY2ggc3RhbmRhcmQgRGVza3RvcC1PZmZpY2UtS3JhbSwgd2llIE9wZW5PZmZpY2UsIExhVGVYLApNb3ppbGxhLCBldGMuKT8gSW5zYmVzb25kZXJlIGhhYmUgaWNoIGhpZXIgZ2VyYWRlIG51ciBkaWUgQXVzd2FobCB6dy4gc28gZWluZW0KS2l0IGF1cyBNb2R1bGVuLCB3ZWxjaGUgZWluIENBUy1MYXRlbnogdm9uIDIgaGFiZW4gdW5kIDIgRWluemVsbW9kdWxlbiwgZGllCmVpbmUgQ0FTLUxhdGVueiB2b24gMyBoYWJlbi4gUHJlaXN1bnRlcnNjaGllZCBpc3QgY2EuIDMwIEV1cm8uCkhhdCBkYSBqZW1hbmQgRXJmYWhydW5nZW4genU/CgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BlaWNoZXI6IER1YWwtQ2hhbm5lbCB2cyBTaW5nbGUtQ2hhbm5lbD8gKE9nbywgMjEuIERleiAyMDA1LCAyMDo0MjoyNSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMzUwNzUyMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNTA3NTIxMApJY2ggYmVoYXVwdGUgbWFsIG1hbiBtZXJrdCBlcy4gR2VyYWRlIGJlaSBoZXV0aWdlbiBTeXN0ZW1lbiBtaXQgdmllbCBSYW0sIHdvCnJlY2h0IHZpZWwgcmVpbmdlbGFkZW4gd2lyZCwgaXN0IHRhdHNhZWNobGljaCBkYXMgUmFtIGJpc3dlaWxlbiBkZXIKRmxhc2NoZW5oYWxzLiBJY2ggaGFiZSB2aWVyIFJhbWJhZW5rZSB1bmQgMng1MTJNQiBSaWVnZWwgbWl0IER1YWwtQ2hhbm5lbC4gSWNoCmtvZW5udGUgdGhlb3JldGlzY2ggbm9jaCAyIHdlaXRlcmUgUmllZ2VsIHJlaW5zdGVja2VuIHVuZCBhbGxlIHZpZXIgaW0KREMtTW9kdXMgYmV0cmVpYmVuIFdFTk4gZGllIGVyc3RlbiBiZWlkZW4gUmllZ2VsIGJlaWRzZWl0aWcgYmVzdHVlY2t0IHdhZXJlbgood2FzIHNpZSBuaWNodCBzaW5kKS4gQWxzbyBzaW5nbGUgc2lkZWQgUmFtcyBnZWhlbiBuaWNodCB6dSB2aWVydC4gSGFiIGVpbiBNU0kKTmVvMyBQbGF0aW51bS4gVmVybXV0bGljaCBnaWJ0IGVzIGRlcmFydGlnZSBQcm9ibGVtZSBuaWNodCBtZWhyaywgYWJlciBkZXIKVGV1ZmVsIHN0ZWNrdCBpbSBEZXRhaWwuIEljaCBoYWJlIGRpZSBSaWVnZWwgYXVjaCBwYWVyY2hlbndlaXNlIGdla2F1ZnQgdW5kCmVyc3QgZGFzIHp3ZWl0ZSBQYWFyIGhhdCB1ZWJlcmhhdXB0IGltIER1YWwgQ2hhbm5lbCBmdW5rdGlvbmllcnQuIERlc3dlZ2VuCmxpZWJlciB6dW0ga3VsYW50ZW4gQ29tcHV0ZXJoYWVuZGxlciBhbiBkZXIgRWNrZSBnZWhlbiB1bmQgZGEgZGFzIFJhbSBrYXVmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwZWljaGVyOiBEdWFsLUNoYW5uZWwgdnMgU2luZ2xlLUNoYW5uZWw/IChBcmF0aG9ybiwgMjMuIERleiAyMDA1LCAxMjo0OTo1NCk6Cn4jISBybj1PZ28gcnQ9MTEzNTE5NDE0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM1MDc1MjEwCkRpZSBwYWVyY2hlbndlaXNlIHZlcmthdWZ0ZW4gUmllZ2VsIHNpbmQgZ2VuYXUgZGVzaGFsYiBpbiBkZXIgRm9ybSBpbSBIYW5kZWwsCndlaWwgZGllIGZ1ZXIgRHVhbENoYW5uZWwtQmV0cmllYiBpZGVhbGVyd2Vpc2UgaWRlbnRpc2NoIHNlaW4gbXVlc3Nlbi4gRGFzcwpzaWNoIGRhcyBtaXQgM3JkIFBhcnR5LU1vZHVsZW4gbmljaHQgaW1tZXIgKGJ6dy4gbWVpc3RlbnMgbmljaHQpIHJlYWxpc2llcmVuCmxhZXNzdCwgd2VubiBtYW4gZGllIGVpbnplbG4ga2F1ZnQsIGlzdCB1bnMgZ2xhdWIgaWNoIGFsbGVuIGtsYXIuIDstKQpEYSB2ZXJtdXRsaWNoIHNvZ2FyIGFsbGUgNCBSaWVnZWwgaWRlbnRpc2NoIHNlaW4gbXVlc3Nlbiwgd2VubiBtYW4sIHdpZSBPZ28sCjQgQmFlbmtlIGhhdCwgZHVlcmZ0ZSBlcyBzY2h3aWVyaWcgd2VyZGVuLCBpbSBBYnN0YW5kIHZvbiBtZWhyIGFscyBlaW5pZ2VuClRhZ2VuIHp3ZWkgaWRlbnRpc2NoZSBQYWVyY2hlbnBhY2tzIHp1IGJla29tbWVuLgpFaW5lIEFsdGVybmF0aXZlIHdhZXJlLCBNYXJrZW5tb2R1bGUgenUga2F1ZmVuLCBkZXJlbiBEYXRlbmJsYXR0IHVuZCBleGFrdGUKVHlwYmV6ZWljaG51bmcgdmVyZnVlZ2JhciBpc3QsIHNvIGRhc3MgbWFuIHNwYWV0ZXIgZ2VuYXUgZGllc2VsYmVuIE1vZHVsZQpub2NobWFsIG5hY2hrYXVmZW4ga2Fubi4gQWxzbyAiZWNodGUiIE1hcmtlbm1vZHVsZSwgbmljaHQgZGllc2VuIEtyZW1wZWwsIGRlcgphbHMgIkluZmluZW9uICgzcmQgUGFydHkpIiBvZGVyIGFlaG5saWNoIGltIFJlZ2FsIGxpZWd0LgoKR2VuYXVlcmVzIGRhenUgaGF0IElJUkMgaW4gZWluZXIgZGVyIGxldHp0ZW4gYyd0LUF1c2dhYmVuIGdlc3RhbmRlbi4KCkdydXNzLCBBcmF0aG9ybi4KClAuUy46IERpZSBBbmdhYmUgImR1YWwgc2lkZWQiIG9kZXIgInNpbmdsZSBzaWRlZCIgaGF0IG5pY2h0cyBtaXQgZGVyIApwaHlzaXNjaGVuIEFub3JkbnVuZyBkZXIgQ2hpcHMgYXVmIGRlbSBqZXdlaWxpZ2VuIFJpZWdlbCB6dSB0dW4sIHNvbmRlcm4gbWl0CmRlciBsb2dpc2NoZW4gQmVzY2hhbHR1bmcgZGVyIE1vZHVsZS4gU28ga2FubiBlcyBkdXJjaGF1cyBlaW5zZWl0aWcgCmJlc3R1ZWNrdGUgImR1YWwgc2lkZWQiLU1vZHVsZSBnZWJlbiwgZ2VuYXVzbyB3aWUgdW1nZWtlaHJ0IGRvcHBlbHNlaXRpZwpiZXN0dWVja3RlICJzaW5nbGUgc2lkZWQiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BlaWNoZXI6IER1YWwtQ2hhbm5lbCB2cyBTaW5nbGUtQ2hhbm5lbD8gKE9nbywgMjMuIERleiAyMDA1LCAxMzo1OTozMik6Cn4jISBybj1BcmF0aG9ybiBydD0xMTM1MzM4NTk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzUwNzUyMTAKT2gsIGRhcyBtaXQgZGVyIEJlc2NoYWx0dW5nIHd1c3N0ZSBpY2ggbmljaHQsIHdpZSBrYW5uIGljaCBkZW5uIGhlcmF1c2ZpbmRlbiwKb2IgbWVpbmUgTW9kdWxlIGR1YWwtc2lkZWQgc2luZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCncybCAoTXVwZmVsLCAgMS4gSmFuIDIwMDYsIDIwOjU0OjI0KToKSW4gZGVyIGFrdHVlbGxlbiBjJ3QgaXN0IGVpbiBCZXJpY2h0IChTLjE5OCkgdWViZXIgZGFzIFByb2dyYW1tIFdyaXRlcjJMYVRlWApvZGVyIHcybCwgZGFzIE9wZW5PZmZpY2Uub3JnIFdyaXRlciAoKi5zeHcpIERhdGVpZW4gaW4gTGFUZVgtRGF0ZWllbgprb252ZXJ0aWVyZW4ga2Fubi4gU29nYXIgbWVocnNwYWx0aWcsIHduZSBtYW4gYXVmIGRlbiBTY3JlZW5zaG90cyBzZWhlbiBrYW5uLgpEYSBPcGVuT2ZmaWNlIGF1Y2ggTVMtV29yZCBEYXRlaWVuIChtZWhyIG9kZXIgd2VuaWdlciBndXQpIGVpbmxpZXN0LCB6ZWlndApzaWNoIGhpZXIgZWluIFdlZyBhdWYsIFdvcmQtVGV4dGUgaW4gZGFzIG9mdG1hbHMgYmVzc2VyIGF1c3NlaGVuZGUgTGFUZVggenUKdmVyd2FuZGVsbi4KClVSTDogaHR0cDovL3d3dy5oai1neW0uZGsvfmhqL3dyaXRlcjJsYXRleC8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdzJsIChHcmltbWJvcm4sICAxLiBKYW4gMjAwNiwgMjE6MDA6MjgpOgp+IyEgcm49TXVwZmVsIHJ0PTExMzYxNDUyNjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE0NTI2NApVbmQgd2FydW0gd2lsbHN0IER1IHVtc3RhZW5kbGljaCB1ZWJlciBPTyBnZWhlbiwgYW5zdGF0dCBkaWUgTVNXLURhdGVpZW4KZGlyZWt0IHBlciB3dkxhdGV4IChodHRwOi8vd3Z3YXJlLnNvdXJjZWZvcmdlLm5ldCkgenUga29udmVydGllcmVuPyAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3MmwgKE11cGZlbCwgIDEuIEphbiAyMDA2LCAyMTo0MjoxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEzNjE0NTYyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTQ1MjY0CldlaWwgbmljaHQgamVkZXIgTVMtV29yZCBudXR6dD8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3MmwgKEdyaW1tYm9ybiwgIDEuIEphbiAyMDA2LCAyMTo1MTozMSk6Cn4jISBybj1NdXBmZWwgcnQ9MTEzNjE0ODEzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTQ1MjY0CkRhcyBpc3Qgdm9lbGxpZyByaWNodGlnLCBoYXQgYWJlciBtaXQgZGVyIFNhY2hlIG5pY2h0cyB6dSB0dW4uIER1IGVtcGZpZWhsc3QKaGllciBXcml0ZXIyTGFUZVgsIGRhcyBPTy1EYXRlaWVuIGluIExhVGVYIGtvbnZlcnRpZXJlbiBrYW5uLCBtaXQgZGVtIEhpbndlaXMKZGFzcyBPTyBqYSBhdWNoIE1TVy1EYXRlaWVuIGxlc2VuIGtvZW5uZSB1bmQgbWFuIHNvbWl0IGVpbmVuIFdlZyBoYWV0dGUgTVNXIGluCkxhVGVYIHp1IGtvbnZlcnRpZXJlbiAoYWxzbyBNU1cgLT4gT08gLT4gTGFUZVgpLiBJY2ggZnJhZ2UgRGljaCBhbHNvIG5vY2htYWwsCndpZXNvIER1IGRhIG5pY2h0IGRlbiBkaXJla3RlbiBXZWcgdWViZXIgd3ZXYXJlIG5pbW1zdC9lbXBmaWVobHN0LiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogdzJsIChNdXBmZWwsICAxLiBKYW4gMjAwNiwgMjI6NTQ6NTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzYxNDg2OTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE0NTI2NApXZW5uIER1IERpciBtZWluZW4gQXJ0aWtlbCBub2NoIG1hbCBpbiBSdWhlIGR1cmNobGllc3QsIHdpcnN0IER1IGZlc3RzdGVsbGVuLApkYXNzIGljaCAiemVpZ3QgZWluZW4gV2VnIGF1ZiIgc2NocmllYi4gS2VpbmUgRW1wZmVobHVuZy4gSWNoIGtlbm5lIGJlaWRlClByb2pla3RlIG51ciB2b24gQmVyaWNodGVuIERyaXR0ZXIgdW5kIGthbm4gdWViZXIgZGllIFF1YWxpdGFldCBkZXIKS29udmVydGllcnVuZyBzcGV6aWVsbCB2b24gV29yZC1Eb2t1bWVudGVuIG5pY2h0cyBhdXNzYWdlbi4gQWxzbyBrZWluZQpFbXBmZWhsdW5nLiBOdXIgZWluIEJlcmljaHQuIE1vZWdsaWNoZXJ3ZWlzZSBnaWJ0IGVzIGphIGF1Y2ggbm9jaCBkcm9lbGYKYW5kZXJlIGFlaG5saWNoZSBQcm9qZWt0ZSwgZGllIGljaCBhbGxlc2FtdCBuaWNodCBrZW5uZSB1bmQgZGllIGV2ZW50dWVsbApzb2dhciBiZXNzZXIgc2luZC4uLiBzbyB3aGF0PwoKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiB3MmwgKEdyaW1tYm9ybiwgIDEuIEphbiAyMDA2LCAyMzowMzoxNCk6Cn4jISBybj1NdXBmZWwgcnQ9MTEzNjE1MjQ5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTQ1MjY0CkFjaCBzbywgRHUgeml0aWVyc3QgYWxzbyBsZWRpZ2xpY2ggZWluZSBBbnJlZ3VuZyBkZXIgYyd0LiBEYXMgd2FyIG1pciBhdXMKRGVpbmVtIHVyc3BydWVuZ2xpY2hlbiBuaWNodCBrbGFyZ2V3b3JkZW4uIEFiZXIgaW1tZXJoaW4gaGFiIGljaCBqZXR6dCBlaW5lbgpXZWcgYXVzIE9PIExhVGVYIHp1IGdlbmVyaWVyZW4gLSBkZW5uIGJpc2hlciBoYWJlIGljaCBkYXMgZG9ydCBhbHMgLmRvYwpleHBvcnRpZXJ0IHVtcyBkYW5uIHp1IGtvbnZlcnRpZXJlbi4gCgpHZEEgemVpZ3QgZGVtbmFlY2hzdCBlaW5lbiBXZWcgYXVmIHdpZSBtYW4gc2ljaCBtaXRoaWxmZSBlaW5lcyBpbGxlZ2FsIGF1cwpGZXVlcmxhbmQgdWViZXIgQXVzdHJhbGllbiBlaW5nZXNjaG11Z2dlbHRlbiBUYXhpZmFocmVycyBkZW4gUnVlY2tlbiBrcmF0emVuCmxhc3NlbiBrYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGhvdG9iZWFyYmVpdHVuZyAoSGlnaGxhbmRlciwgIDIuIEphbiAyMDA2LCAwMDoxMToyMSk6ClNvIG5ldWdpZXJkZWhhbGJlciAtIGF1ZiB3ZWxjaGUgUHJvZ3JhbW1lIHp1ciBQaG90b2JlYXJiZWl0dW5nIHNjaHdvZXJ0Cmlociwgb2RlciB3ZWxjaGUgbW9lZ3QgaWhyIGdhciBuaWNodCwgdW5kIHZvciBhbGxlbSB3YXJ1bT8KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBob3RvYmVhcmJlaXR1bmcgKFJ1bWF0YSwgIDIuIEphbiAyMDA2LCAxMDo0NDoyOCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMzYxNTcwODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpnaW1wIGZ1ZXIgbWFudWVsbGUgYmVhcmJlaXR1bmcKaW1hZ2VtYWdpY2sgZnVlciBhdXRvbWF0aXNjaGUKClp1IGdpbXAgbXVzcyBtYW4gd29obCBuaXggc2FnZW4sIEltYWdlTWFnaWNrIG5laG1lIGljaCBkaWVuc3RsaWNoLAp1bSBnZXNjYW5udGUgQmlsZGVyIHp1IHZlcmJlc3Nlcm4gKGFudGlhbGlhc2luZykgdW5kIHp1IHNrYWxpZXJlbi4gV2FydW0/CldlaWwgZXMgdm9yIDUgSmFocmVuLCBhbHMgaWhjIG1pdCBkaWVzZXIgQXVmZ2FiZSBiZXRyYXV0IHdhciwgZGFzIGVpbnppZ2UKd2FyLCBkYXMgaWNoIGdlZnVuZGVuIGhhdHRlLiBHcmFwaGljc01hZ2ljayBpc3QgZWluIGZvcmsgZGF2b24sIHd1ZXJkZQpnZXJuZSBtYWwgd2lzc2VuLCB3YXMgZGllIGFuZGVycyBvZGVyIGJlc3NlciBtYWNoZW4uCgpOb2NoIGVpbiBHcnVuZDogSXN0IGJlaSBhbHMgZGViaWFuIHBha2V0IHZlcmZ1ZWdiYXIgOy0pCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZXJuYXRpdmUgdW50ZXIgTGludXggZ2VzdWNodCAoWmFybml5YSwgIDIuIEphbiAyMDA2LCAxNTowMTo1Nik6CkhpaG8sIAoKZGEgaWNoIFNvZnR3YXJlbWFlc3NpZyBuaWNodCBhdWYgZGVtIG5ldXN0ZW4gU3RhbmQgdW50ZXIgTGludXggYmluIGZyYWcgaWNoCm1pY2gsIG9iIGVzIGluendpc2NoZW4gZWluZSBfYW5zdGFlbmRpZ2VfIFRhYmVsbGVua2Fsa3VsYXRpb25zc29mdHdhcmUgZ2lidC4KQWxzbyBuaWNodCBkYXMgTml2ZWF1IHZvbiBFeGNlbCwgc29uZGVybiBlaW5lIExpbnV4VmFyaWFudGUgenUgU2lnbWFwbG90IG9kZXIKTWljcm9jYWwgT3JpZ2luLiBPZGVyIGlzdCBkYXMgaW1tZXIgbm9jaCBlaW5lIE1hcmt0bHVlY2tlPyBVbmQga29tbXQgbWlyCmtlaW5lciBtaXQgZ251cGxvdC4gVGhhdCBzdWNrcy4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHRlcm5hdGl2ZSB1bnRlciBMaW51eCBnZXN1Y2h0IChab29rLCAgMi4gSmFuIDIwMDYsIDE1OjA1OjA3KToKfiMhIHJuPVphcm5peWEgcnQ9MTEzNjIxMDUxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MjEwNTE2CkZ1ZXIgd2VsY2hlIEFud2VuZHVuZz8gCgpJY2gga2VubmUgbmUgUmVpaGUgTGV1dGUsIGRpZSBtaXR0ZWxzIHp1Z2VrYXVmdGVyIEJpYmxpb3RoZWtlbiBtaXQgRXhjZWwKZ2FueiBiZXd1bmRlcm5zd2VydGUgQW53ZW5kdW5nZW4gZXJkdWxkZW4uCgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBob3RvYmVhcmJlaXR1bmcgKFNoYWtlZGJlZXIsICAyLiBKYW4gMjAwNiwgMTY6MzQ6MTkpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTM2MTU3MDgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKSWNoIGtvbW1lIGFscyBhbHRlciBNYWNyb21lZGlhbmVyIGdhbnogZ3V0IG1pdCBGaXJld29ya3Mga2xhciwgb2J3b2hsIGRhcwpuaWNodCB3aXJrbGljaCBkZW4gQW5zcHJ1Y2ggaGF0LCBGb3RvYmVhcmJlaXR1bmdzc29mdHdhcmUgenUgaGVpc3Nlbi4KVm9ydGVpbDogSXN0IGhhbHQgaW0gTWFjcm9tZWRpYSBPZmZpY2UgZGFiZWkKTmFjaHRlaWw6IEtvbXByaW1pZXJ0IGhvY2hhdWZsb2VzZW5kIGltcG9ydGllcnRlIEJpbGR0ZWlsZSBuYWNoIGRlbQpWZXJrbGVpbmVybiBiZWltIFNwZWljaGVybi4KClNoYWt5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBob3RvYmVhcmJlaXR1bmcgKFdvb2R5LCAgMi4gSmFuIDIwMDYsIDE2OjQxOjE3KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEzNjE1NzA4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCkZ1ZXIgZXJuc3RoYWZ0ZSBBcmJlaXQgUGhvdG9zaG9wLCB2b3J6dWdzd2Vpc2UgQ1MyLiBGdWVyIGVpbmZhY2hlIERpbmdlIEdJTVAuCkFiZXIgd2FydW0gZGFzIG1pdCBkZW0gbmljaHQgbW9lZ2VuIHVuZCB3YXJ1bT8gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBob3RvYmVhcmJlaXR1bmcgKEdsb2luc29uLCAgMi4gSmFuIDIwMDYsIDE2OjQ1OjI0KToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTEzNjIxNjA1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCklyZmFudmlldyBmdWVyIGRlbiBlaW5mYWNoZW4gS3JhbSB3aWUgUmVzaXplbiBiaWt1YmlzY2gvUmVzYW1wbGluZwpMYW5jem9zL0RyZWhlbi9KUEcgbG9zbGVzcyBkcmVoZW4vQXVzc2NobmVpZGVuIGluIDggQml0L0thbmFsIFJHQi4gQWxsZXMKZGFydWViZXIgaGluYXVzIHVuZCAxNiBCaXQgdWViZXJoYXVwdCBtaXQgUGhvdG9zaG9wIGluIGRlciBVbmkuIERhIGljaCBkZXJ6ZWl0CmF1Y2ggMTQgQml0L0thbmFsIGluIE1hc3NlbiBoYWJlLCBwcm9iaWVyZSBpY2ggbWl0IGRlciBUcmlhbCB2b24gVGh1bWJzcGx1cwpoZXJ1bSwgZGFtaXQga2FubiBtYW4gYXVmIGplZGVuIEZhbGwgZ2FueiBndXQgb2JpZ2UgZWluZmFjaGUgT3BlcmF0aW9uZW4gdW5kCldlaXNzYWJnbGVpY2ggaW4gMTYgQml0IG1hY2hlbiAuLi4gZGllIDE0IEJpdCBlcnNwYXJlbiBlaW5lbSBiZWkKV2Vpc3NhYmdsZWljaGVuL0tvbnRyYXN0L0hlbGxpZ2tlaXRza29ycmVrdHVyZW4gYWxsenUgZnJ1ZWhlcyBBdWZ0cmV0ZW4gdm9uClN0dWZ1bmdlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQaG90b2JlYXJiZWl0dW5nIChHcmltbWJvcm4sICAyLiBKYW4gMjAwNiwgMTg6MTY6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzNjIxNjcyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCkphamEsIGljaCBiaW4gZWluIERpbm9zYXVyaWVyLCBpY2ggd2Vpc3MgZXMgamEuIEFiZXIgaWNoIGJlYXJiZWl0ZSBtZWluZSBGb3RvcwppbW1lciBub2NoIG1pdCBtZWluZXIgYWx0ZW4gTWlub2x0YSBYNzAwLiBXaWUgaGllc3MgZXMgZG9jaCBzY2hvbiBpbiBtZWluZXIKSnVnZW5kPyBEYXMgQmlsZCB3aXJkIGdlbWFjaHQgYmVpbSBEcnVjayBhdWYgZGVuIEF1c2xvZXNlciwgYWxsZXMgZGFuYWNoIChpbgpkZW0gRmFsbDogTGFib3IpIGlzdCBsZXR6dGxpY2ggbnVyIG5vY2ggUnVtZ2VwZnVzY2hlIHVuZCBkZXIgVmVyc3VjaCBlaWdlbmUKVW56dWxhZW5nbGljaGtlaXRlbiB6dSBrYXNjaGllcmVuLiBZTU1WLCBuYXR1ZXJsaWNoLiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGhvdG9iZWFyYmVpdHVuZyAoR2xvaW5zb24sICAyLiBKYW4gMjAwNiwgMTg6Mzc6MjEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzYyMjIyMDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpEaW5vc2F1cmllcj8gRWhlciBlaW4gS2luZCBkZXIgS25pcHMtS2xhY2stQmVzc2VyaXN0bmljaHQtS3VsdHVyLiBPZGVyIGVpbgphYnNvbHV0IGZhbmF0aXNjaGVyIERpYWZpbG1mb3RvZ3JhZi4KRGFzIE1vdGl2IHdhZWhsdCBtYW4gYmVpbSBEcnVjayBhdWYgZGVuIEF1c2xvZXNlciB1bmQgZGFzIEJpbGQgd2lyZCBkdXJjaCBkYXMKQXVzYmVsaWNodGVuIGltIExhYm9yIGdlbWFjaHQuIChKYWphLCBkdSBoYXN0IGJlc3RpbW10IGltbWVyIGdsZWljaCBkYXMKNng2LUJpbGQgYXVmIGVpbiA2eDYtUGFwaWVyIGRpcmVrdGFiZ2V6b2dlbiBvZGVyIGhhdHRlc3QgbnVyIGVpbmUgUG9sYXJvaWQuKQpVbmQgd2FzIGRlbSBBbWF0ZXVyY2hlbWllZm90b2dyYWZlbiBzZWluIEF1c2JlbGljaHRlciAoU2Nod2FyendlaXNzIGhhdCBzaWNoCm5pY2h0IG51ciBkZXIgbmllZHJpZ2VyZW4gUHJlaXNlIHVuZCBkZXIgZGV1dGxpY2hlcmVuClBlcnNvbmVuY2hhcmFrdGVyaXNpZXJ1bmcgQmVsaWVidGhlaXQgZXJmcmV1dCkgaXN0IGRlbSBEaWdpdGFsZm90b2dyYWZlbiBzZWluCkJpbGRwcm9ncmFtbS4gU2NobmVpZGVuLCBEcmVoZW4sIFdlZGVsbiBhbHMgc2ltcGVsc3RlIEdydW5kbGFnZW4gdW5kIGJlaQpGYXJiZm90b2dyYWZpZSBtYWwgZGVuIFdlaXNzYWJnbGVpY2ggZXJ3YWVobnQgLSBlcyBoYXQgc2ljaGVyIGplZGVyIHNjaG9uIG1hbAp2b24gZWluZW0gYmVzY2hlaWRlbmVuIEF1c2JlbGljaHRlciBBYnp1ZWdlIG1pdCBGYXJic3RpY2ggYmVrb21tZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGhvdG9iZWFyYmVpdHVuZyAoR3JpbW1ib3JuLCAgMi4gSmFuIDIwMDYsIDE4OjUwOjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzYyMjM0NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpNZWluZSBSb2xsZmlsbXplaXQgc3BpZWx0ZSBzaWNoIGltIEZvcm1hdCA0LjV4NiBhYiwgYWJlciBkYXMga2FubnN0IER1IG5pY2h0Cndpc3Nlbi4gVW5kIHdlbm4gaWNoIGplIGJlemFobGJhcmUgc3ctRGlhZmlsbWUgZ2VmdW5kZW4gaGFldHRlIGhhZXR0ZSBpY2gKdmVybXV0bGljaCBhdWNoIG1laHIgRGlhZm90b2dyYXBoaWVydC4gSWNoIHNjaGVpbmUgbWljaCBtaXNzdmVyc3RhZW5kbGljaAphdXNnZWRydWNrdCB6dSBoYWJlbjogTmF0dWVybGljaCBoYXQgZGllIFZlcmdyb2Vzc2VydW5nIEVpbmZsdXNzIGF1ZiBkYXMKRXJnZWJuaXMuIEFiZXIgZGllIElkZWUgImFjaCwgZGFzIE5lZ2F0aXYgaXN0IHVudGVyYmVsaWNodGV0LCBhbHNvIGJlbGljaHRlCmljaCBlaW5mYWNoIGVpbiBiaXNjaGVuIG1laHIiIGZ1bmt0aW9uaWVydCBudXIgc2VociBiZWdyZW56dCAod2llIGRlcgpEcm9nZXJpZWFienVnIHZvbiB6LkIuIEdlZ2VubGljaHRhdWZuYWhtZW4gZWluZHJ1Y2tzdm9sbCBiZXdlaXN0KS4gU2ljaGVyCmxhc3NlbiBzaWNoIEtsZWluaWdrZWl0ZW4gaGFsYndlZ3MgcmV0dGVuLCBhYmVyIHdlbm4gZGFzIEJpbGQgaW0gTW9tZW50IGRlcwpBdXNsb2VzZW5zIG5pY2h0IHNjaG9uICJmZXJ0aWciIHdhciwgd2lyZCBhdWNoIGRlciBBYnp1ZyB0ZWNobmlzY2ggc3Vib3B0aW1hbApzZWluLiBPYiBkYXMgYXVjaCBmdWVyIGRpZSBlbGVrdHJvbmlzY2hlIEZvdG9ncmFwaGllIGdpbHQga2FubiBpY2ggYWxzCktuaXBzLUtsYWNrLUJlc3NlcmlzdG5pY2h0LUt1bHR1cmVsbGVyIG5pY2h0IHNhZ2VuLiAKQmlzY2hlbiB3YXMgYW5kZXJlcyBzaW5kIHNvIERpbmdlIHdpZSBBdXNzY2huaXR0c3Zlcmdyb2Vzc2VydW5nZW4sIGdld29sbHRlClZlcmZyZW1kdW5nc2VmZmVrdGUgKHdvYmVpIGxldHp0ZXJlIGRhdm9uIHByb2ZpdGllcmVuIGtvZW5uZW4gd2VubiBkaWUgSWRlZQpiZWkgZGVyIEF1c2xvZXN1bmcgc2Nob24gYmVzdGFuZCkgdW5kIHNvbnN0aWdlIGt1ZW5zdGxlcmlzY2hlIE1ldGhvZGVuLCBkaWUKd2VuaWdlciBlaW5lIGdlbmF1ZSBBYmJpbGR1bmcgZGVzIE1vdGl2cyB6dW0gWmllbCBoYWJlbi4gCk51ciBpbnRlcmVzc2VoYWxiZXIsIHdlaWwgbWlyIG51ciBkaWUgV2VzdHRlcm1pbm9sb2dpZSB2ZXJ0cmF1dCBpc3Q6IG1pdAoiZGlyZWt0YWJnZXpvZ2VuIiBtZWluc3QgRHUgZWluZW4gS29udGFrdGFienVnLCBvZGVyIGVpbmUgMToxIFZlcmdyb2Vzc2VydW5nPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGhvdG9iZWFyYmVpdHVuZyAoR3JpbW1ib3JuLCAgMi4gSmFuIDIwMDYsIDE4OjUxOjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM2MjI0MjQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKSWNoIHdhciB3aWVkZXIgenUgd2VpdHNjaHdlaWZpZywgZXMgZ2VodCB1bSBmb2xnZW5kZXM6IFdhcyBpbSBCaWxkIGltIE1vbWVudApkZXMgQXVzbG9lc2VucyBuaWNodCBkcmluIHdhciBrYW5uIG1hbiBpbSBMYWJvciBhdWNoIG5pY2h0IHJhdXNraXR6ZWxuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQaG90b2JlYXJiZWl0dW5nIChHbG9pbnNvbiwgIDIuIEphbiAyMDA2LCAxODo1NjowNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEzNjIyNDMxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCktsYXIuIEtlaW5lIFdpZGVycmVkZS4gQWJlciBkYSBkYXMgQmlsZCBudXIgZWluIEFiYmlsZCBpc3QgdW5kIGRhcyB6ZWlnZW4ga2Fubgp3YXMgZHUgZWluZmFuZ2VuIHdvbGx0ZXN0IGthbm4gZGlyIGRhcyBMYWJvciBkYWJlaSBoZWxmZW4gZGFzIGhlcmF1c3p1c3RlbGxlbgp3YXMgZHUgemVpZ2VuIHdpbGxzdC4gQWxsZWluIHNjaG9uIGVpbmUgSGVsbGlna2VpdHNhZW5kZXJ1bmcgYmVpIGRlcgpBdXNiZWxpY2h0dW5nIGthbm4gYmVpbSBWZXJtaXR0ZWxuIGRlciBTdGltbXVuZyBkaWUgenVtIEF1Zm5haG1lemVpdHB1bmt0CmhlcnJzY2h0IFd1bmRlciBiZXdpcmtlbi4KCkJ6Z2wuIGRlciBGcmFnZSBpbSBsYWVuZ2VyZW46IEtvbnRha3RhYnp1Zy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQaG90b2JlYXJiZWl0dW5nIChHbG9pbnNvbiwgIDIuIEphbiAyMDA2LCAxOTowNDo1Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTM2MjI0NTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKRGFzIFZlcmZhZWxzY2hlbiBiZWdpbm50IGphIGF1Y2ggc2Nob24gYmVpIGRlciBBdWZuYWhtZS4gRnJ1ZWhlciB3YXIgZXMgZGFzCkZpbG1tYXRlcmlhbCwgaGV1dGUgaXN0IGVzIGRpZSBoZXJzdGVsbGVyc3BlemlmaXNjaGUgRmFyYm1vZGlmaWthdGlvbi4gRGEKd2VyZGVuIEZhcmJlbiBnZXJuIHdhZXJtZXIgZ2VtYWNodCwgd2VpbCB3aXIgZGFzIG1vZWdlbjoKCmh0dHA6Ly93d3cuZGlnaXRhbGNhbWVyYWluZm8uY29tL2NvbnRlbnQvQ2Fub24tRU9TLVJlYmVsLTMwMEQtRGlnaXRhbC1DYW1lcmEtUgpldmlldy9UZXN0aW5nLS1QZXJmb3JtYW5jZS5odG0KaHR0cDovL3Rpbnl1cmwuY29tLzliMzU3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGhvdG9iZWFyYmVpdHVuZyAoR3JpbW1ib3JuLCAgMi4gSmFuIDIwMDYsIDE5OjA3OjMyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzYyMjUwOTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpIYWNoIGphLCBkaWUgYWx0ZSBEaXNrdXNzaW9uIHVlYmVyIGRhcyBGaWxtbWF0ZXJpYWwuIEFnZmEgZnVlciBQb3J0cmFpdHMsIEZ1amkKZnVlciAoc29tbWVybGljaGUsIG1pdHRlbGV1cm9wYWVpc2NoZSkgTGFuZHNjaGFmdGVuLCBLb2RhayB3ZW5uIG1hbnMgZXR3YXMKa3VlaGxlciB1bmQgZGlzdGFuemllcnRlciBoYWJlbiB3aWxsLiBIYWNoIGphLCBkYW1hbHMsIGFscyBhdWNoIG5vY2ggdWViZXIgZGllCk9wdGlrIHBoaWxvc29eV2Rpc2t1dGllcnQgd3VyZGUuIFdlaWwgZGllIGVpbmUgUm9sbGUgc3BpZWx0ZS4gV2FzIGJlaSAxLjMKTWVnYXBpeGVsbiBqYSBudW4gbmljaHQgd2lya2xpY2ggZGVyIEZhbGwgaXN0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQaG90b2JlYXJiZWl0dW5nIChHbG9pbnNvbiwgIDIuIEphbiAyMDA2LCAxOTowOTo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEzNjIyNTI1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCk9jaCwgd2VubiBkdSBleHRyZW1lIFZlcnplaWNobnVuZ2VuIGhhc3Qgb2RlciBkZWluZSBQbGFzdGlrbGluc2UgNTAlIGRlcwpMaWNodGVzIHNjaGx1Y2t0IGludGVyZXNzaWVydCBkaWUgT3B0aWsgYXVjaCB3aWVkZXIgZ2FueiBzY2huZWxsIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBob3RvYmVhcmJlaXR1bmcgKEdsb2luc29uLCAgMi4gSmFuIDIwMDYsIDE5OjE1OjQ5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM2MjI1MjUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKUFM6IEJlaSA5eDEzIGJyaW5nZW4gMS4zIE1lZ2FwaXhlbCBhdWNoIHNjaG9uIDI1MCBkcGkuIFJlaWNodCB2b2VsbGlnIGF1cyB1bQpjaHJvbWF0aXNjaGUgQWJlcnJhdGlvbiB6dSBlcmtlbm5lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGhvdG9iZWFyYmVpdHVuZyAoR3JpbW1ib3JuLCAgMi4gSmFuIDIwMDYsIDE5OjE4OjU3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzYyMjU3NDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpEdSBtZWluc3QgYmVpIGRlciBBdWZsb2VzdW5nIGVya2VubnQgbWFuIGRlbiBVbnRlcnNjaGllZCB6d2lzY2hlbiBlaW5lbQpob2Nod2VydGlnZW4gTmlrb24tIHVuZCBlaW5lbSBob2Nod2VydGlnZW4gWmVpc3NvYmpla3Rpdj8gTXVzcyBpY2ggRGlyCmdsYXViZW4sIGhhYiBpY2gga2VpbmUgRXJmYWhydW5nc3dlcnRlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogUGhvdG9iZWFyYmVpdHVuZyAoR2xvaW5zb24sICAyLiBKYW4gMjAwNiwgMTk6MjQ6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzYyMjU5Mzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpPYiBtYW4gREVOIFVudGVyc2NoaWVkIGVya2VubnQgLi4uIGtlaW5lIEFobnVuZy4gQWJlciBkaWUgMTAtMjAgTVBpeGVsIGVpbmVzCmhhbGJ3ZWdzIGd1dGVuIEZpbG1lcyAoamVkZW5mYWxscyBsYXV0IFNjYW5uZXJoZXJzdGVsbGVybiB1bmQgU2NhbmVyZmFocnVuZ2VuKQpmdWVocmVuIGF1Y2ggbnVyIHp1IGVpbmVyIDMtNiBtYWwgc28gaG9oZW4gTGFlbmdzYXVmbG9lc3VuZy4gQWxzbyBqZXR6dCBuaWNodApzbyBnaWdhbnRpc2NoLiBBdWNoIGRpZSBEaWdpdGFsa25pcHNlbmhlcnN0ZWxsZXIgd2VyYmVuIG1pdCBndXRlbiBPYmpla3RpdmVuLgpVbmQgZnVlciBEU0xSIGJla29tbXN0IGR1IG9obmVoaW4gZ2xlaWNoIHdpZWRlciBkYXMgZ2FuemUgUHJvZ3JhbW0gYW4gTGluc2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQaG90b2JlYXJiZWl0dW5nIChHcmltbWJvcm4sICAyLiBKYW4gMjAwNiwgMTk6NDI6MDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzNjIyNjI5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCkRBUyB3YXIgYWJlciBkZXIgVW50ZXJzY2hpZWQsIGRlciBkYW1hbHMgVGhlbWEgd2FyLiBVbmQgamEsIGljaCBoYWJlIGJld3Vzc3QKInBoaWxvc29eV2Rpc2t1dGllcnQiIGdlc2NocmllYmVuLiBVbmQgbmF0dWVybGljaCBnaWJ0cyBtaXR0bGVyd2VpbGUgZGlnaXRhbGUKS2FtZXJhcyBtaXQgdmVyZ2xlaWNoYmFyZXIgQXVmbG9lc3VuZy4gRGFzIGlzdCBuaWNodCBkaWUgTWFzc2UsIG5vY2ggbmljaHQuCkFiZXIgd2VubiBEdSBtaXQgZGVuIGFrdHVlbGxlbiBvYmVyZW4gcGFhciBQcm96ZW50IGRlciBEaWdpdGFsa2FtZXJhcyBhbmtvbW1zdApkYW5uIGdlaGUgaWNoIG1pdCB1bmQgaGFsdGUgbWl0IEdyb3NzZm9ybWF0LCAxM3gxOGNtIE5lZ2F0aXZmb3JtYXQsIGRhZ2VnZW4uCkR1IGJpc3QgZHJhbi4uLiA6LSkKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IFBob3RvYmVhcmJlaXR1bmcgKEdsb2luc29uLCAgMi4gSmFuIDIwMDYsIDE5OjUwOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM2MjI3MzIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKS2FubiBpY2ggbmljaHQgZ2VnZW5oYWx0ZW4uIEljaCB3YXIgImRhbWFscyIgZnJvaCwgZGFzcyBtZWluIFZhdGVyIHp3ZWkKb3JkZW50bGljaGUgTGluc2VuIGZ1ZXIgc2VpbmUgRXhhIEkgaGF0dGUgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogUGhvdG9iZWFyYmVpdHVuZyAoR2xvaW5zb24sICAyLiBKYW4gMjAwNiwgMjA6MDI6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMzYyMjczMjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjE1NzA4MQpOdWphLiBBdWZsb2VzdW5nLiBOZWhtZW4gd2lyIG1hbCAxNSBNUGl4ZWwgZnVlciBGaWxtIGFuLiBEYW5uIGhhdCBkaWUKZHVyY2hzY2huaXR0bGljaGUgS2FtZXJhIGhldXRlIGNpcmNhIDEvNSBkZXIgQXVmbG9ldW5nOiA1LTYgTVBpeGVsIH4gMyBNUGl4ZWwKaW4gRmFyYmUuIERhcyBpc3QgZGFubiBhbHNvIGhhbGIgc292aWVsIGFuIExhZW5nc2F1ZmxvZXN1bmcgdW5kIGxhZXVmdCBpbW1lcgpub2NoIGRhcmF1ZiBoaW5hdXM6CgoxNTAwIHggMjAwMCBBdWZsb2VzdW5nOgoyMDAwIFBpeGVsLzE4LjAgY20gKiAyLjU0IGluY2ggPSAyODAgZHBpCgpEYXMgaXN0IGFsc28gYmVpIGVpbmVyIGR1cmNoc2Nobml0dGxpY2hlbiBEaWdpa25pcHNlIHNjaG9uIGVpbmUgYWt6ZXB0YWJsZQpBdWZsb2VzdW5nIGFtIHVudGVyZW4gUmFuZCB2b24gImd1dCIuIEJsb2VkZXJ3ZWlzZSBrb21tZW4gZGFubiBTcGVpY2hlcnBsYXR6CnVuZCBKUEcgaW5zIFNwaWVsIHVuZCBkaWUgVmVyZ2xlaWNoYmFya2VpdCB2ZXJzY2h3aW5kZXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFBob3RvYmVhcmJlaXR1bmcgKEdyaW1tYm9ybiwgIDIuIEphbiAyMDA2LCAyMDoxNDowMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTM2MjI4NTYxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYxNTcwODEKTWl0IERlaW5lbSBFaW5oZWl0ZW5qb25nbGllcmVuIGJpbiBpY2ggZmFzdCBzbyB1bmVpbnZlcnN0YW5kZW4gd2llIG1pdCBEZWluZXIKS2xhbW1lcnNldHp1bmcgKGRhIGthZW1lbiBkYW5uIG5pY2h0IGRwaSwgc29uZGVybiBkaS9jbSByYXVzKSwgYWJlciBpY2ggd2Vpc3MKamEgd2FzIER1IG1laW5zdC4gQWxzbyBoYWV0dGUgZGFubiBLbGVpbmJpbGRmaWxtIHJ1bmQgNTYwIGRwaS4gVW5kIHdhcyB3aWxsc3QKRHUgZGFtaXQgc2FnZW4/IFVuZCB3aWVzbyBoYXQgZGVyIFNjYW5uZXIgMjQwMCBkcGkgdW5kIGRlbm5vY2ggc28gc3Vib3B0aW1hbGUKRXJnZWJuaXNzZT8gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBQaG90b2JlYXJiZWl0dW5nIChHbG9pbnNvbiwgIDIuIEphbiAyMDA2LCAyMDozODowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEzNjIyOTI0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2MTU3MDgxCkRpZ2ljYW1zIHByb2R1emllcmVuIEJpbGRlciBpbiBlaW5lciBBdWZsb2VzdW5nLCBkYXNzIG1hbiBhbSBFbmRlIGVpbmVuCjEzeDE4LUFienVnIG1pdCAzMDBkcGkgaW4gZGVyIEhhbmQgaGFiZW4ga2Fubi4gQmVpIDMwMGRwaSB3YWVyZSBkZXIKYWVxdWl2YWxlbnRlIEtCLUFienVnIHZpZXJtYWwgc28gZ3Jvc3MsIGFiZXIgMTN4MTggbWl0IDMwMGRwaSByZWljaGVuIHNjaG9ubWFsCnVtIHVlYmVyIGRpZSBMaW5zZW5zeXN0ZW1lIHp1IGRpc2t1dGllcmVuLCBkZW5uIEZhcmJzYWV1bWUgc2luZCBkYWJlaSBzY2hvbgpldGxpY2hlIFBpeGVsIGRpY2ssIFZlcnplcnJ1bmdlbiBvaG5laGluIHNpY2h0YmFyLCBVbnNjaGFlcmZlbiBkdXJjaCB6dQprbGVpbmUvZ3Jvc3NlIEJsZW5kZW56YWhsZW4gKG9obmUgSlBHKSB2ZXJnbGVpY2hiYXIuIERlaW5lIGZydWVoZXJlIERlYmF0dGUKdWViZXIgZ3V0ZSBMaW5zZW4gZXhpc3RpZXJ0IHp1IFJlY2h0IGltbWVyIG5vY2gsIHVuZCBpY2ggaGFiIGV0bGljaGUKRGlza3Vzc2lvbmVuIGRhenUgaW4gZGUuYWx0LnJlYy5kaWdpdGFsZm90b2dyYWZpZSBnZWxlc2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWx0ZXJuYXRpdmUgdW50ZXIgTGludXggZ2VzdWNodCAoWmFybml5YSwgIDMuIEphbiAyMDA2LCAwOTo1Nzo0Mik6Cn4jISBybj1ab29rIHJ0PTExMzYyMTA3MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjIxMDUxNgpEdSBrZW5uc3QgYW5zY2hlaW5lbmQgd2VkZXIgT3JpZ2luIG5vY2ggU2lnbWFwbG90LCBzb25zdCB3dWVyZGVzdCBEdSBuaWNodApmcmFnZW4uIERpZSBBbndlbmR1bmcgbGllZ3QgaW4gZGVyIE5hdHVyd2lzc2Vuc2NoYWZ0LCBlcyBnZWh0IHVtIGRpZSBFcnpldWd1bmcKZ3V0ZXIgR3JhcGhlbiwgaW5jbC4gZWluZXIgYW5zdGFlbmRpZ2VuIEZlaGxlcnJlY2hudW5nLCBGZWhsZXJiYWxrZW4KKGFzeW5rcm9uKSB1bmQgZGVtIEVpbnNhdHogdm9uIE1ha3Jvcy4gUGxvdHMgaW4gMkQgdW5kIDNELCB1c3cgdXN3IHVzdy4uLiAKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsdGVybmF0aXZlIHVudGVyIExpbnV4IGdlc3VjaHQgKFpvb2ssICAzLiBKYW4gMjAwNiwgMTA6MDE6NDEpOgp+IyEgcm49WmFybml5YSBydD0xMTM2Mjc4NjYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzYyMTA1MTYKQWgsIGd1dGUgR3JhcGhlbi4gSmEsIGRhcyBpc3QgYWxsZXJkaW5ncyBlaW4gUHJvYmxlbS4gSWNoIG1hbGUgZGVyemVpdAppbW1lciBtaXQgUiwgZGFzIGdlaHQgZWlnZW50bGljaCBnYW56IGd1dCwgc29nYXIgM0QgaGFiZSBpY2ggZGEgc2Nob24KZGFzIGVpbmUgdW5kIGFuZGVyZSBoaW5iZWtvbW1lbi4gCgpBYmVyIGljaCBoYWIgdGF0c2FlY2hsaWNoIGtlaW5lIEFobnVuZywgd2FzIGdlbmF1IGZ1ZXIgbmUgQW53ZW5kdW5nIER1IApkYSBicmF1Y2hzdCwgZGllIG1hbiBuaWNodCBtaXQgZGVtIFN0YW5kYXJkLVN0YXRpc3Rpay1QYWtldCBvZGVyIFN0YW5kYXJkLQpNYXRoZS1QYWtldCBhYndpY2tlbG4ga2FubiB1bmQgd29mdWVyIGVzICJUYWJlbGxlbmthbGt1bGF0aW9uIiBicmF1Y2h0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhVGVYIFByb2JsZW0gbWl0IFxwYWdlY29sb3J7fSAoSmltZGlncml6LCAgNS4gSmFuIDIwMDYsIDA5OjIyOjA4KToKTW9pbiwKCmljaCBtb2VjaHRlIGRpZSBUaXRlbHNlaXRlIGVpbmVzICJhcnRpY2xlInMgbWl0IEhpbnRlcmdydW5kZmFyYmUKZWluZmFlcmJlbi4gSW50dWl0aXYgZGVua2UgaWNoIHNvbGx0ZSBlcyBtaXQgClx1c2VwYWNrYWdle2NvbG9yfQoKXHBhZ2Vjb2xvcntteWNvbG9yfQpbLi4uIHRpdGVsc2VpdGUgLi4uXQpccGFnZWNvbG9ye3doaXRlfQouLi4KCnR1bi4KCkxlaWRlciB3aXJkIHNvIGRhcyBnYW56ZSBEb2t1bWVudCBlaW5nZWZhZXJidCAoXHBhZ2Vjb2xvcnt3aGl0ZX0KaGF0IHNjaGVpbmJhciBrZWluZW4gRWZmZWt0KSwgYWJlciBvYmVuZHJlaW4gd2VyZGVuIGRpZSBTZWl0ZW4KbmljaHQga29tcGxldHQgZWluZ2VmYWVyYnQsIHNvbmRlcm4gbnVyIGVpbiByZWNodGVja2lnZXIgQXVzc2Nobml0dApiZWdpbm5lbmQgaW4gZGVyIHJlY2h0ZW4gb2JlcmVuIEVja2UgdW5kIGNpcmNhIFx0ZXh0aGVpZ2h0IHggXHRleHR3aWR0aAppbSBGb3JtYXQgKG51ciBnZXNjaGFldHp0KS4KV2Vpc3Mgd2VyLCB3YXMgc28gZWluIFZlcmhhbHRlbiBiZXdpcmtlbiBrb2VubnRlIHVuZCB3aWUgaWNoIGVzCmFic3RlbGwsIHNvIGRhc3MgXHBhZ2Vjb2xvcnt9IHNpY2ggc28gdmVyaGFlbHQgd2llIGVzIHNvbGw/CgpEYW5rZSwKIEpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhVGVYIFByb2JsZW0gbWl0IFxwYWdlY29sb3J7fSAoSmltZGlncml6LCAgNS4gSmFuIDIwMDYsIDA5OjMxOjI1KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTM2NDQ5MzI4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzY0NDkzMjgKT2ssIGthdW0gc2NocmVpYnQgbWFuIHdhcyBzY2hvbiBmaW5kZXQgbWFuIApkaWUgTG9lc3VuZy4gCgpEZXIgRFJBRlQgc2NocmlmdHp1ZyBpc3QgaXJnZW5kd2llIGluIEtvbmZsaWt0IGRhbWl0CnVuZCBzZXR6dCBpcmdlbmR3ZWxjaGUgTGFlbmdlbiBcQHRlbXBkaW1iIHVuZCBcQHRlbXBkaW1jIGRpZSBzY2hlaW5iYXIKYXVjaCB2b24gYW5kZXJlbiBTYWNoZW4gdmVyd2VuZGV0IHdlcmRlbi4gCgpoYXQgd2llZGVyIGplbWFuZCBnZWZwdXNjaHQuLi4uCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxDRC1UViAoT2dvLCAgOC4gSmFuIDIwMDYsIDIyOjAzOjU5KToKSWNoIHRyYWdlIG1pY2ggbWl0IGRlbSBHZWRhbmtlbiwgZWluZW4gTENELUZlcm5zZWhlciB6dSBrYXVmZW4uIERlciBEVjM3NTAKKDM3Iikgc2llaHQgc2VociBndXQgYXVzLCB3ZWlsIGVyIHp1bWluZGVzdCBlY2h0ZXMgSERUViBrYW5uLCBhbHNvIDE5MjB4MTA4MApQaXhlbC4gRHVtbWVyd2Vpc2Ugc2NobHVja3QgZXIgdWViZXIgZGVuIERWSS1FaW5nYW5nIGJsb3NzIGVpbmUgbmllZHJpZ2VyZQpBdWZsb2VzdW5nICgxM3h4IG1hbCAxeHh4KSwgZGllIG5hdHVlcmxpY2ggZG9vZiBhdXNzaWVodCwgZGEgZXMgbmljaHQgZGVuCnBoeXNpa2FsaXNjaGVuIFBpeGVsbiBlbnRzcHJpY2h0LgoKSGF0IGlyZ2VuZGplbWFuZCAoaW4gQW5iZXRyYWNodCBkZXIga29tbWVuZGVuIFdNKSBzaWNoIGRhbWl0IGF1c2VpbmFuZGVyCmdlc2V0enQgdW5kIGthbm4gZWluZSBFbXBmZWhsdW5nIGZ1ZXIgZWluIEdlcmFldCB1bnRlciAyMDAwIEVVUiBhdXNzcHJlY2hlbj8KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExDRC1UViAoR25vbWUsICA5LiBKYW4gMjAwNiwgMTI6MjE6MDMpOgp+IyEgcm49T2dvIHJ0PTExMzY3NTQyMzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjc1NDIzOQppbiBhbmJldHJhY2h0IGRlciBrb21tZW5kZW4gV00/CmxhZXNzdCBkaWUgc2ljaCBuaWNodCBtZWhyIGF1ZiBub3JtYWxlbiBUVnMgc2NoYXVlbj8gaWNoIG1laW5lLCBpY2ggdmVyc3RlaGUKamEsIHdlbm4gbWFuIF9maWxtZV8gaG9jaGF1ZmxvZXNlbmQgc2VoZW4gd2lsbC4gYWJlciBlaW4gZnVzc2JhbGxzcGllbD8Kd2FzIHdpbGxzdCBkdSBkYSB0dW4/IGRpZSBncmFzaGFsbWUgYXVmIGRlbSBtdWVuY2huZXIgcmFzZW4gemFlaGxlbiBrb2VubmVuPwoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTENELVRWIChSdW1hdGEsICA5LiBKYW4gMjAwNiwgMTM6MjU6MzUpOgp+IyEgcm49R25vbWUgcnQ9MTEzNjgwNTY2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2NzU0MjM5CkxhdXQgZWluZXIgZGVyIGxldHp0ZW4gYyd0IHNpbmQgZGllIERWSSBFaW5nYWVuZ2UgYW4gZGVuIExDRCBUViBhbGxlClNjaHJvdHQuIE1laW5lciBlaW5nZXNjaGxvc3NlbiAoUGFuZWwga2FubiAxMjgwLCBhYmVyIGVzIHdpcmQgc3RhdHRkZXNzZW4KMTAyNCBtaXQgc2Nod2FyemVuIEJhbGtlbiBhbiBkZW4gU2VpdGVuIGdlcmVuZGVydCkuClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMQ0QtVFYgKEppbWRpZ3JpeiwgIDkuIEphbiAyMDA2LCAxNDoxMjo1MSk6Cn4jISBybj1SdW1hdGEgcnQ9MTEzNjgwOTUzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2NzU0MjM5CkljaCBkZW5rZS9mdWVyY2h0ZSBkYXMgaXN0IGdld29sbHQuIERpZSBJbmR1c3RyaWUgd2lsbApkb2NoIGRlbiBIRE1JIFN0YW5kYXJkIGZvcmNpZXJlbiB1bmQgdmVybXV0bGljaCBnaWJ0IGVzCkFia29tbWVuLCBkYXNzIGRpZSBob2hlbiBBdWZsb2VzdW5nZW4gbnVyIHVlYmVyIGRpZXNlcwpJbnRlcmZhY2UgYXVjaCB2ZXJsdXN0ZnJlaSBkYXJnZXN0ZWxsdCB3ZXJkZW4gc29sbGVuCihncmFkZSBiZWkgSERUViBhdWZsb2VzdW5nZW4pLCB3ZWlsIEhETUkgamEgZW5jcnlwdGlvbgptaXQgZHJpbiBoYXQuIE5hdHVlcmxpY2ggYnJhdWNodCBkYW5uIERlaW4gT1MgYXVjaCBlaW4KWmVydGlmaWthdCwgZGFzcyBEdSBkaWUgTGl6ZW56IGVyd29yYmVuIGhhc3QsIERlaW4gRGVzdGtvcApob2NoYXVmbG9lc2VuZCBkYXJ6dXN0ZWxsZW4uIEtsYXJvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTENELVRWIChSdW1hdGEsICA5LiBKYW4gMjAwNiwgMTQ6MTY6NDMpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMzY4MTIzNzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzNjc1NDIzOQpLbGluZ3QgcGxhdXNpYmVsLCBhYmVyIGljaCBiaW4gdHJvdHpkZW0gZ2VuZWlndCwgSGFubG9ucyBSYXpvciBhbnp1d2VuZGVuLgo6LSkKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldWVzIEJJT1MgKyBDaGlwIChHbm9tZSwgIDkuIEphbiAyMDA2LCAxNjoyMzowMyk6CmhpLAoKdm9yIGVpbiBwYWFyIHdvY2hlbiBoYXR0ZSBpY2ggaGllciBnZXNjaHJpZWJlbiwgZGFzcyBtaXIgbWVpbiBCSU9TLWNoaXAKYWJnZXJhdWNodCBpc3QgdW5kIGRhc3MgaWNoIG51biBhdWYgZGVyIHN1Y2hlIG5hY2ggZWluZW0gbmV1ZW4gYmluLgoKbmFjaCBlaW5pZ2VyIHJlY2hlcmNoZSB1bmQgYWJzdHJ1c2VuIHVlYmVybGVndW5nZW4gKHdpZSBrb21tdCBtYW4KbW9lZ2xpY2hzdCB1bmF1ZmZhZWxsaWcgYW4gZWluZW4gbmV1ZW4gQklPUy1jaGlwLi4uIGJvYXJkIG5ldSBiZXN0ZWxsZW4sCmNoaXAgYXVzdGF1c2NoZW4sIHdpZWRlciB6dXJ1ZWNrc2NoaWNrZW4gdW5kIHNhZ2VuLCBkYXNzIGVzIG5pY2h0IGdlaHQ/CmhtbSwgd2FlcmUgZWluZSBtb2VnbGljaGtlaXQuLi4pIGthbm4gZGllIGxvZXN1bmcgZG9jaCBzbyBlaW5mYWNoIHNlaW46Cnd3dy5iaW9zZmxhc2guZGUgbG9lc3QgZGllIHByb2JsZW1lIGRpZXNlciBhcnQuIG5pY2h0IGdhbnogYmlsbGlnLAphYmVyIGRhZnVlciBiZWkgYmVkYXJmIGF1Y2ggYXVzZ2VmYWxsZW5lIHNhY2hlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmV1ZXMgQklPUyArIENoaXAgKE1vcmdvdGgsIDEyLiBKYW4gMjAwNiwgMDg6NTU6NTUpOgp+IyEgcm49R25vbWUgcnQ9MTEzNjgyMDE4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2ODIwMTgzCkljaCB3ZWlzcyBuaWNodCB3ZWxjaGVzIEJvYXJkIER1IGhhc3QsIGFiZXIgYmVpIG1pciBoYXRzIGVpbiBBbnJ1ZiBiZWkgRXBveApnZXRhbi4gSWNoIGhhdHRlIDMgVGFnZSBzcGFldGVyIG5lbiBuZXVlbiBDaGlwLCBlaW56aWcgbWl0IGRlciBiaXR0ZSwgZGVuCkFsdGVuIFBvcnRvZnJlaSB6dXJ1ZWNrIHp1IHNjaGlja2VuLgpBdWZ3YW5kOiAxIGtvc3RlbmZyZWllcyBUZWxlZm9uYXQsIDMgVGFnZSBaZWl0LCAxIEJyaWVmdW1zY2hsYWcsIDdjbQpLdWxpdGludGUsIDEgbWFsIHp1ciBQb3N0IHJlbm5lbiA6RAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmV1ZXMgQklPUyArIENoaXAgKEdub21lLCAxMi4gSmFuIDIwMDYsIDE5OjI4OjM2KToKfiMhIHJuPU1vcmdvdGggcnQ9MTEzNzA1MjU1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM2ODIwMTgzCmpldHp0IHdpc3NlbiB3aXIgYXVjaCwgd28gZGVyIHVudGVyc2NoaWVkIHp3aXNjaGVuIGRlbSBzdXBwb3J0IHZvbiBlcG94CnVuZCBkZW0gdm9uIGVsaXRlZ3JvdXAgbGllZ3QuIDspCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIkIiLUtleS4gKFpvb2ssIDI2LiBKYW4gMjAwNiwgMTE6NDc6MTApOgpEaWVzbWFsIHN1Y2hlIGljaCBuaWNodCBkZW4gYW55IGtleSwgYWJlciBzbyBldHdhcyBhZWhubGljaGVzLiBCZWkgClBvd2VycG9pbnQgZ2lidCBlcyB3YWVocmVuZCBkZXIgQmlsZHNjaGlybXByYWVzZW50YXRpb24gZGllIE1vZWdsaWNoa2VpdCwKZHVyY2ggZHJ1ZWNrZW4gZGVyICJiIi1UYXN0ZSBrdXJ6emVpdGlnIGRlbiBCaWxkc2NoaXJtIGF1ZiBzY2h3YXJ6IHp1CnN0ZWxsZW4uIEdpYnQgZXMgc28gZXR3YXMgYmVpbSBGdWxsLVNjcmVlbi1Nb2RlIGRlcyBBY3JvYmF0IFJlYWRlcnMgYXVjaCBvZGVyCmJlaSBhbmRlcmVuIFBERi1BbnplaWdlLVByb2dyYW1tZW4/IAoKWm9vay4KClBTOiBGTi1CaWxkc2NoaXJtYXVzc2NoYWx0ZW4gYmVpIExhcHRvcHMgaXN0IGVpbmUgYmVoZWxmc21hZXNzaWdlIFZhcmlhbnRlOwphYmVyIG5pY2h0IGltbWVyIGhhdCBtYW4gbmVuIExhcHRvcCBiZWltIFZvcnRyYWcgZGFiZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIkIiLUtleS4gKFJvbmRhLCAyOC4gSmFuIDIwMDYsIDAxOjM5OjQwKToKfiMhIHJuPVpvb2sgcnQ9MTEzODI3MjQzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM4MjcyNDMwCkxlaWRlciBzY2hlaW50cyBkaWUgImIiIFRhc3RlIG5pY2h0IHp1IGdlaGVuLiBOb3Rsb2VzdW5nOiBNYWNoIERpciBlaW4gendlaXRlcwpQREYsIG51ciBlaW5lIHNjaHdhcnplIFNlaXRlIChvZGVyIGZ1ZXIgInNwYXNzaWdlIiBMZXV0ZSBlaW4gIkhpZXIgZ2lidCBlcwpuaWNodHMgenUgc2VoZW4iLi4uKS4gRGFubiBzdGFydGVzdCBEdSBiZWlkZSBQREYgcGFyYWxsZWwgdW5kIHNjaGFsdGVzdAp6d2lzY2hlbiBkZW4gYmVpZGVuIHVtLiBGdWVyIGRlbiBGZW5zdGVyd2VjaHNlbCBoYWJlIGljaCBlYmVuZmFsbHMga2VpbmVuClRhc3RlbmNvZGUgZ2VmdW5kZW4sIGRhIGhpbGZ0IGRpZSBPcHRpb24gQmVyZWljaCBBbGxnZW1laW4sICJEb2t1bWVudGUgaW4KVGFza2xlaXN0ZSBhbnplaWdlbiIuIERhbm4ga2FubnN0IER1IG1pdCBBbHQtVGFiIHVtc2NoYWx0ZW4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAiQiItS2V5LiAoUm9uZGEsIDI4LiBKYW4gMjAwNiwgMDE6NDI6NDYpOgp+IyEgcm49Um9uZGEgcnQ9MTEzODQwODc4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM4MjcyNDMwCk9rLCBTZWxic3RyZXBseSwgd2VpbCB6dSBsYW5nc2FtIG5hY2hnZWRhY2h0IDstKSBBbmRlcmUgTG9lc3VuZywgYXVmIGZyZW1kZW4KUmVjaG5lcm4gYXVjaCBuaWNodCBnYW56IHNvIHRyaXZpYWw6IE1hbiBuZWhtZSBlaW5lbgpTdGFuZGFyZC1CaWxkc2NoaXJtc2Nob25lciwgZGVyIG5pY2h0cyBhbnplaWd0IChhbHNvIHpCIGRlciBCUyBtaXQgZGVtCkxhdWZ0ZXh0LCBkZW4gbWFuIG51ciBtaXQgTGVlcnplaWNoZW4gZnVlbGx0IG9kZXIgc28sIGRhbWl0IG5pY2h0ICJIaWVyIGthbm4KSWhyIFRleHQgc3RlaGVuIiBkdXJjaHNjcm9sbHQpLiBEYW5uIGxlZ2UgbWFuIGF1ZiBkZW0gRGVza3RvcCBlaW5lClZlcmtudWVwZnVuZyBhbiBhdWYgZGllIEJpbGRzY2hpcm1zY2hvbmVyLnNjciB1bmQgdmVyZ2ViZSBmdWVyIGRpZSBlaW5lClRhc3RhdHVydmVya251ZXBmdW5nIHdpZSB6QiBBbHQtU3RyZy1iLgoKUm9uZGEgKmRlbmt0IG5vY2ggbmVuIGJpc3NjaGVtIG1laHIgbmFjaC4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpblhQIChLbnVycHMsIDMxLiBKYW4gMjAwNiwgMjA6NTc6NTgpOgpJY2ggaGFiZSBtaXIgaW4gZGVyIFVuaSBzbyBlaW5lIHRvbGxlIEZvcnNjaHVuZ3NsaXplbnogZnVlciBXaW5kb3dzIFhQCmJlc29yZ3QuIERlc3dlaXRlcmVuIGR1cmZ0ZSBpY2ggbWlyIGVpbiBXaW5YUCBJU08gdm9tIFNlcnZlciBydW50ZXJsYWRlbiB1bmQKYmluIG51biBpbSBCZXNpdHogKD8pIGVpbmVzIFdpbmRvd3MgWFAuIE51biBoYWJlIGljaCBnZWhvZXJ0LCBkYXNzIG1hbiBkYQppcmdlbmR3aWUgZGFzIGZyZWlzY2hhbHRlbiBtdXNzIGluZGVtIG1hbiBkYXMgb25saW5lIHVlYmVydHJhZWd0IG9kZXIgYmVpIE1TCmFucnVmdC4KCkRhcyB3aWxsIGljaCBhYmVyIG5pY2h0LiBHaWJ0J3MgZGEgZWluZSBsZWdhbGUoISkgTW9lZ2xpY2hrZWl0LCBkYXMgenUKdW1nZWhlbj8KRGllIExpemVuemJlZGludW5nZW4sIGRpZSBpY2ggdW50ZXJzY2hyaWViZW4gaGFiZSwgbGF1dGVuIGltIFdvcnRsYXV0IHNvOgoiTGl6ZW56YmVkaW51bmdlbjoKSmVkZXIgTnV0emVyIGVpbmVyIExpemVueiB3aXJkIGhpZXJtaXQgZGFydWViZXIgaW5mb3JtaWVydCwgZGFzcyBkaWUgU29mdHdhcmUKbnVyIGZ1ZXIgTGVocmUgdW5kIEZvcnNjaHVuZyB1bmQgbmljaHQgZnVlciBrb21tZXJ6aWVsbGUgWndlY2tlIGdlbnV0enQgd2VyZGVuCmRhcmYgdW5kIHp3YXIgaW4gTGFib3JlbiwgYW0gQXJiZWl0c3BsYXR6IG9kZXIgYW0gSGVpbS1QQyBzb2Zlcm4gZGVyIE51dHplcgpTdHVkaWVyZW5kZXIgb2RlciBNaXRhcmJlaXRlciBkZXIgJEhPQ0hTQ0hVTEUgaW4gZWluZW0gSW5mb3JtYXRpay1TdHVkaWVuZ2FuZwppc3QuCkZ1ZXIgZGllIG9yZGVudGxpY2hlIFVlYmVybGFzc3VuZyBkZXIgU29mdHdhcmUgbWl0IGRlbiBlbnRzcHJlY2hlbmRlbgpQcm9kdWt0c2NobHVlc3NlbG4gaXN0IGVpbmUgU3BlaWNoZXJ1bmcgZGVyIE51dHplci1EYXRlbiBiZWkgZGVyIEF1c2dlYmVuZGVuClN0ZWxsZSAoJEhPQ0hTQ0hVTEUpIG5vdHdlbmRpZy4gU29sbHRlbiBTaWUgZGllIFNvZnR3YXJlIG5pY2h0IG1laHIKYmVub2V0aWdlbiwga29lbm5lbiBkaWUgZXJ3b3JiZW5lbiBQcm9kdWt0c2NobHVlc3NlbCB3aWVkZXIgYW4gZGllIGF1c2dlYmVuZGUKU3RlbGxlIHp1cnVlY2tnZWdlYmVuIHdlcmRlbi4gTWl0IGRlciBSdWVja2dhYmUgZXJsaXNjaHQgZGVyIE51dHp1bmdzYW5zcHJ1Y2gKZGVyIHVlYmVybGFzc2VuZW4gU29mdHdhcmUuIE1pdCBkZXIgVW50ZXJzY2hyaWZ0IGRlcyBOdXR6ZXJzIHdlcmRlbiBkaWUKTGl6ZW56YmVkaW51bmdlbiBhbmVya2FubnQuIgoKSWNoIGhhbHRlIGRpZXNlIExpemVueiBmdWVyIHNlaHIgc2VsdHNhbS4gTWVpbmUgTGl6ZW56IGVybGlzY2h0IGphIG5pY2h0IG1pdApTdHVkaWVuZW5kZSwgb2RlciBzZWhlIGljaCBkYXMgZmFsc2NoPyBXYXMgcGFzc2llcnQgd29obCwgd2VubiBpY2ggZGVuClByb2R1a3RzY2hsdWVzc2VsIG5pY2h0IHp1cnVlY2tnZWJlPwoKS251cnBzLCBza2VwdGlzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW5YUCAoR2xvaW5zb24sIDMxLiBKYW4gMjAwNiwgMjE6MzQ6MTQpOgp+IyEgcm49S251cnBzIHJ0PTExMzg3Mzc0Nzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzODczNzQ3OApEb2NoLCBkaWUgTGl6ZW56IGZ1ZXIgZGllc2UgWFAtVmVyc2lvbiBlcmxpc2NodCBtaXQgU3R1ZGllbmVuZGUuIFVuZCBkdSBtdXNzdApkaWNoIGVpZ2VudGxpY2ggYW4gZGVyIFVuaSBmdWVyIE1TRE5BQSBhbm1lbGRlbi4gRGFzIGlzdCBkYW5uIGFiZXIgYXVjaCBzY2hvbgphbGxlcywgaW4gZGFzIElTTyBpc3QgKG5vcm1hbGVyd2Vpc2UpIGVpbiBTY2hsdWVzc2VsIGVpbmdlYmV0dGV0LCBlcyBpc3QgZnVlcgpkaWNoIHNvenVzYWdlbiBzY2hsdWVzc2VsbG9zLgpXYXMgcGFzc2llcnQgd2VubiBkdSBkYXMgWFAgZGFubiBuaWNodCBsb2VzY2hzdD8gRHUgYmlzdCBlaW4KUnJycnJycmF1YmtvcGllcnJyZXIuIERhcyBwYXNzaWVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpblhQIChab29rLCAgMS4gRmViIDIwMDYsIDA5OjQ5OjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzg3Mzk2NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzODczNzQ3OApIbS4gVW5kIGRpZXNlcyBGcmVpc2NoYWx0ZW5sYXNzZW4gYmVpIE1TLCBiZXpvZyBzaWNoIGRhcyBuaWNodCBudXIgYXVmCk9mZmljZSB1bmQgZGVuIEtyYW0/IEljaCBoYWIgbmV1bGljaCBuZW4gWFAgaW5zdGFsbGllcnQsIGRhIG11c3N0ZSBtYW4Kbml4IGZyZWlzY2hhbHRlbiwga2FubiBhYmVyIGF1Y2ggZHJhbiBsaWVnZW4sIGRhc3MgZGFzICJoYWxiIiB2b3JpbnN0YWxsaWVydAp3YXIuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luWFAgKE1vcmdvdGgsICAxLiBGZWIgMjAwNiwgMDk6NTY6NTkpOgp+IyEgcm49Wm9vayBydD0xMTM4NzgzNzYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzg3Mzc0NzgKRXMga29tbXQgZHJhdWYgYW4sIHdvaGVyIER1IGRpZSBWZXJzaW9uIGhhc3QuIEVzIGdpYnQgIkZpcm1lbnZlcnNpb25lbiIsIGRpZQpncm9zc2UgRmlybWVuIHVuZCBVbmlzIGJla29tbWVuLCBkYSBpcyBuaXggbWl0IEZyZWlzY2hhbHRlbiBkcmluLiBVZWJlcmxlZyBtYWwKRHUgbXVlc3N0ZXN0IGFscyBBZG1pbiBpbiBuZXIgRmlybWEgbWl0IDUwMCBSZWNobmVybiBqZWRlbiBlaW56ZWxuCmZyZWlzY2hhbHRlbi4gby5PCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2luWFAgKFZhbmhlbHNpbmcsICAxLiBGZWIgMjAwNiwgMDk6NTc6MjcpOgp+IyEgcm49Wm9vayBydD0xMTM4NzgzNzYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzg3Mzc0NzgKSWNoIGhhdHRlIG1hbCBtZWluZSBGZXN0cGxhdHRlIGZvcm1hdGllcmVuIG11ZXNzZW4sIHVuZCBkYW5hY2ggV2luZG93cyBYUAp3aWVkZXIgdm9lbGxpZyBuZXUgcmF1Zmdlc3BpZWx0LiBBbSBFbmRlIHdvbGx0ZSBXaW5kb3dzLCBkYXNzIGVzICJBa3RpdmllcnQiCndpcmQuIERhcyBnaW5nIGVudHdlZGVyIHVlYmVyIEludGVybmV0IG9kZXIgVGVsZWZvbi4gSWNoIGhhYmUgZGEgYW5nZXJ1ZmVuLAp1bmQgaGF0dGUgZWluZSBNYXNjaGluZSBhbSBhbmRlcmVuIEVuZGUuIERlciBoYWJlIGljaCBkYW5uIGRpZSBLb250cm9sbG51bW1lciwKZGllIG1pciBXaW5YUCBuYW5udGUgZWluZ2V0aXBwdCwgdW5kIGhhYmUgZWluZSBhbmRlcmUgTnVtbWVyIGJla29tbWVuLCBkaWUgaWNoCndpZWRlcnVtIGluIFdpblhQIGVpbmdldGlwcHQgaGFiZS4KSWNoIHdlaXNzIG5pY2h0LCBvYnMgbm9jaCBhbmRlcnMgZ2VodC4KCkMKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaW5YUCAoWm9vaywgIDEuIEZlYiAyMDA2LCAwOTo1ODowNyk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTExMzg3ODQyNDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzODczNzQ3OApBaC4gQWxzbyBkb2NoLiA6KSBOYSwgZGFubiBsYWcgZGFzIHdvaGwgZHJhbiwgZGFzcyBkYXMgaXJnZW5kd2llCnZvcmluc3RhbGxpZXJ0IHdhciB1bmQgZGVyIFNjaGx1ZXNzZWwgd29obCBzY2hvbiBlaW5nZXRyYWdlbiB3YXIuCgpab29rLgouWzV+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXVmZW1wZmVobHVuZz8gKERhcmtsb3IsICA1LiBGZWIgMjAwNiwgMjE6Mjc6MjMpOgpLb2VubnRldCBpaHIgZGFzIG5ldWUgQWxkaSBOb3RlYm9vayBlbXBmZWhsZW4sIG9kZXIgd3VlcmRldCBpaHIgZGF2b24gZWhlcgphYnJhdGVuPyAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXVmZW1wZmVobHVuZz8gKERhcmtsb3IsICA1LiBGZWIgMjAwNiwgMjE6MzY6MzUpOgp+IyEgcm49RGFya2xvciBydD0xMTM5MTcxMjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzkxNzEyNDMKVXBzIGdsYXR0IHdhcyB2ZXJnZXNzZW4uLi4KCmh0dHA6Ly93d3cuYWxkaS1lc3Nlbi5kZS9PRkZFUl9EL09GRkVSXzA2L09GRjAwMS5IVE0KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2F1ZmVtcGZlaGx1bmc/IChSb25kYSwgIDUuIEZlYiAyMDA2LCAyMjoxNzo1OSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExMzkxNzE3OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzOTE3MTI0MwpUamEsIGRhcyBpc3Qgd2llIGltbWVyIGJlaSBIYXJkd2FyZS1FbXBmZWhsdW5nZW46IFdhcyBnZW5hdSBicmF1Y2hzdCBEdT8gV2FzCndpbGxzdCBEdSBnZW5hdSBtaXQgZGVtIE5CIG1hY2hlbj8gQmVpIEFsZGktTkIgaXN0cyBlaWdlbnRsaWNoIGltbWVyIHNvLCBkYXNzCnNpZSBzZWhyIGd1ZW5zdGlnIHNpbmQsIHdlbm4gRHUgd2lya2xpY2ggYWxsZXMgaGFiZW4gbW9lY2h0ZXN0LCB3YXMgYmVpIGRlbQpEaW5nIGRhYmVpIGlzdDogVFYtS2FydGUsIEZsdWdzaW11bGF0b3IgZXRjLiAtIGRhbm4gZHVlcmZ0ZSAxMjk5IEV1cm8gc2VocgpndWVuc3RpZyBzZWluLgpJY2ggZmluZGUgYmVpIGRlbSBOQiBhbGxlcmRpbmdzIHdlZGVyLCB3aWUgc2Nod2VyIGVzIGlzdCwgbm9jaCB3aWUgbGFuZ2UgZGllCkxhdWZ6ZWl0IGJlaSBBa2t1YmV0cmllYiBpc3QuCjE3IFpvbGwgTm90ZWJvb2tzIHNpbmQgLSBJTUhPIC0gcHJpbWEgenVtIFByb2dyYW1taWVyZW4sIFNjaHJlaWJlbiB2b24gVGV4dGVuCih3ZW5uIG1hbiB3aWUgaWNoIFdpbkVkdCBudXR6dCB1bmQgZnJvZWhsaWNoIHggWnVzYXR6ZmVuc3RlciBhdWYgZGVtIFJlY2huZXIKaGVydW1zY2hpZWJ0KSwgZ3Jvc3NlL2JyZWl0ZSBFeGNlbC1UYWJlbGxlbiBvZGVyIGZ1ZXIgTWluZCBNYXBzLiBXZW5uIG1hbiBkYXMKRGluZyBqZWRlbiBUYWcgaW0gUnVja3NhY2sgbWl0IHNpY2ggcnVtc2NobGVwcGVuIG11c3MsIHdpcmQgbWFuIHNpY2gKdmllbGxlaWNodCBlaGVyIHVlYmVyIGVpbiBrbGVpbmVyZXMgTm90ZWJvb2sgZnJldWVuLgpIYWxid2VncyBicmF1Y2hiYXJlIE5CIHNpbmQgLSB3aWVkZXIgSU1ITyAtIGJlcmVpdHMgYWIgY2EuIDgwMCBFdXJvIHp1IGhhYmVuCihkYW5uIG5hdHVlcmxpY2ggbmljaHQgbWl0IDE3IFpvbGwgdW5kIEZsdWdzaW11bGF0b3IpLgoKUm9uZGEgKmp1c3QgMiBDZW50cyBpbiBkaWUgUnVuZGUgd2VyZmVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEthdWZlbXBmZWhsdW5nPyAoUm9uZGEsICA1LiBGZWIgMjAwNiwgMjI6MjY6MjQpOgp+IyEgcm49Um9uZGEgcnQ9MTEzOTE3NDI3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM5MTcxMjQzClVuZCBub2NoIG5lbiBTZWxic3RyZXBseSBpbiBkaWVzZW0gVGhyZWFkOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy82OTIxMyBzYW10IGRhenVnZWhvZXJpZ2VuCkZvcmVuZWludHJhZWdlbiBzaW5kIERpciBiZWthbm50LCBvZGVyPyAoT2ssIGluIEhlaXNlLUZvcmVuCmludGVyZXNzYW50ZS9pbnRlbGxpZ2VudGUgQXJ0aWtlbCB6dSBmaW5kZW4sIGlzdCBuaWNodCBnYW56IGVpbmZhY2guLi4pCgpSb25kYQoKV0VSIGhhdCBkYSBncmFkICJXaWUgaW4gZGVyIE1QQSEiIGdlc2FndD8hIFdlciB3YXJzPyEKCjotKQosIwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2F1ZmVtcGZlaGx1bmc/IChNaW5nbywgIDYuIEZlYiAyMDA2LCAwMDoxNDowMSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExMzkxODA0MTEgcmc9c2NobWFycm4KfiMhIHRpZD0xMTM5MTcxMjQzCkVpZXJsZWdlbmRlIFdvbGxtaWxjaHNhdT8gOikKCj4gcGxhdHpzcGFyZW5kZXIgRXJzYXR6IGZ1ZXIgUEMKCkxhcHRvcCBvZGVyIERlc2tub3RlLiBBdWYgamVkZW4gRmFsbCBtaXQgb3JkZW50bGljaGVyIFRhc3RhdHVyIHVuZCBCaWxkc2NoaXJtLgpQcm9iaWVyZW4gZGVyIFRhc3RhdHVyIGJsZWlidCBkaXIgbmljaHQgZXJzcGFydC4gRXJ3YWVnZSBkaWUgT3B0aW9uIEJpbGRzY2hpcm0KdW5kIEtleWJvYXJkIGVpbmZhY2ggbnVyIGFuIGRhcyBHZXJhZXQgYW56dXN0ZWNrZW4gKGhhbHQgd2llZGVyIG1laHIgS3JhbSBkZXIKcnVtc3RlaHQpLgoKPiBncmFmaWtpbnRlbnNpdmUgU3BpZWxlCgpHaWJ0IGVzLiBLb3N0ZXQgbmF0dWVybGljaCBleHRyYS4gQXVmIG1laW5lciA5NzAwIG1vYmlsaXR5ICsgMS41IEdIeiBQZW50aXVtIE0Ka2FubiBpY2ggc29nYXIgRmFyQ3J5IGFremVwdGFiZWwgc3BpZWxlbi4gV2lyZCBhYmVyIGhlaXNzLCBhbHNvIGplIHdlbmlnZXIKIm1vYmlsaXR5IiB1bmQgamUgbWVociBQb3dlciBkcmluIGlzdCwgZGVzdG8gbWVociB3aXJkIGRlciBSZWNobmVyIHBmZWlmZW4uCk1laW5lciBpc3QgYmVpIHZvbGxlciBLdWVobHVuZyBkZWZpbml0aXYgbmljaHQgbGVpc2UuCgo+IHZpZWwgRmVzdHBsYXR0ZQoKMi41IiBnaWJ0IGVzIGRlcnplaXQgcHJlaXN3ZXJ0IGJpcyAxMDAgR2lnLiBEYXMgcmVpY2h0IGVyc3RtYWwsIGJpcyBkYW5uCmlyZ2VuZHdhbm4gZGllIHZlcnRpa2FsIHNwZWljaGVybmRlbiBQbGF0dGVuIGtvbW1lbiAuLi4KCkRlciBBbGRpLURpbmdzIHNpZWh0IGFubmVobWJhciBhdXMuIEdyYWZpa2thcnRlIGtlbm4gaWNoIG5pY2h0LiBBdXNwcm9iaWVyZW4Kd2lyZCB2aWVsbGVpY2h0IHNjaHdpZXJpZyB1bmQgZWluZSBNYXJrZSBpc3QgTWVkaW9uIGF1Y2ggbmljaHQgZ2VyYWRlLiBPYiBkaWUKU0FUQS1QbGF0dGUgaXJnZW5kd2FzIGJyaW5ndCBpc3QgZnJhZ2xpY2gsIHdlbm4gZGFzIEJvYXJkIGRpZSBlbnRzcHJlY2hlbmRlbgpHZXNjaHdpbmRpZ2tlaXRlbiBuaWNodCBlcm1vZWdsaWNodC4gV1hHQSBpc3QgLi4uIEdlc2NobWFja3NzYWNoZSwgaWNoCnBlcnNvZW5saWNoIGhhYiBsaWViZXIgNDozLUJpbGRzY2hpcm1lIGZ1ZXJzIEFyYmVpdGVuIGFuc3RhdHQgZGllc2VuCkZpbG1zY2huaWNrc2NobmFjay4gMTcgWm9sbCBwbHVzIGJyZWl0ZW0gR2VoYWV1c2UgbGllc3Qgc2ljaCBuaWNodCBtZWhyIG5hY2gKaXJnZW5kd2FzIHZlcnRyYWVnbGljaCBkdXJjaCBkaWUgR2VnZW5kIHNjaGxlcHBiYXJlbS4gRGllIEhhZWxmdGUgZGVzClNjaG5pY2tzY2huYWNrcyBkYSBkcmluIChUVi1LYXJ0ZSwgS2FydGVubGVzZXIpIGJyYWV1Y2h0ZSBpY2ggcGVyc29lbmxpY2ggbnVyCnNlbHRlbiB1bmQgaGFldHRlIHNpZSB1bmdlcm4gaW50ZWdyaWVydC4gVW5kIGRpZSA1MCBGUlogb2RlciBzbywgZGllIGRhcwpXaW5kb3dzIFhQIE9FTSBrb3N0ZXQsIGthbm4gbWFuIHNpY2ggYWxzIFN0dWRlbnQgKE1TRE5BQSkgb2RlciAqbml4LUxpZWJoYWJlcgplcnNwYXJlbi4KClByaW56aXBpZWxsIGhpbGZ0IHZlcmdsZWljaGVuOgpodHRwOi8vd3d3LmlkZWFsby5kZS9wcmVpc3ZlcmdsZWljaC9Qcm9kdWN0Q2F0ZWdvcnlGaWx0ZXJzLzM3NTEuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBpZ3MgKE1vcHBpLCAxNC4gRmViIDIwMDYsIDE4OjI5OjE5KToKTmV1ZXJkaW5ncyBwYXNzaWVydCBlcyBtaXIgZGFzIEJpbGRlciBhdWYgbWVpbmVtIFJlY2huZXIgZGllIGljaCBrdXJ6IHp1IHZvcgp2b24gZGVyIGRlciBEaWdpY2FtIHVlYmVydHJhZ2VuIGhhYmUsIHNpY2ggenUgTXVlbGwgbXV0aWVyZW4uIERhYmVpIGJsZWlidAptZWlzdGVucyBkZXIgb2JlcmUgVGVpbCBkZXMgQmlsZCBvaywgd2FlaHJlbmQgZGVyIHVudGVyZSBUZWlsIGRlcyBCaWxkZXMKZmFyYnN0aWNoaWcgb2RlciBhbmRlcnMgbWFuaXB1bGllcnQgaXN0LiBEYXMga29taXNjaGUgZGFyYW4gaXN0OiBtYW4ga3JpZWd0IGVzCm5pY2h0IG1pdCBlaW5lbSBhbmRlcmVuIFZpZXdlciB3ZWcgdW5kIGF1Y2ggZGFzIERhdHVtIGRlciBsZXR6dGVuIEFlbmRlcnVuZwpoYXQgc2ljaCBuaWNodCB2ZXJhZW5kZXJ0LiBLZW5udCBqZW1hbmQgZGFzIFByb2JsZW0gdW5kIHdlaXNzIEFiaGlsZmU/CgpHcnVlc3NlIHVuZCBEYW5rZSB2b20gTW9wcGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBpZ3MgKE1hcmN1cywgMTQuIEZlYiAyMDA2LCAxODozMToxOSk6Cn4jISBybj1Nb3BwaSBydD0xMTM5OTM4MTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzk5MzgxNTkKc2luZCBzaWUgamVtYWxzIGF1ZiBkZW0gcmVjaG5lciByaWNodGlnIGdld2VzZW4/CgphYiB1bmQgenUgaGFiZW4gY2FyZHJlYWRlciBlaW5mYWNoIG5lbiBIYXUgd2VnLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHBpZ3MgKE1vcHBpLCAxNC4gRmViIDIwMDYsIDE4OjMyOjEzKToKfiMhIHJuPU1hcmN1cyBydD0xMTM5OTM4Mjc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzk5MzgxNTkKamEgc2luZCBzaW5kIGF1ZiBkZW0gUmVjaG5lciAicmljaHRpZyIgYW5nZWtvbW1lbi4gUXVhc2kgdWViZXIgTmFjaHQgbXV0aWVyZW4Kc2llIGRhbm4gYXVmIGRlciBGZXN0cGxhdHRlLgoKR3J1ZXNzZSBNb3BwZXJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGlncyAoR2xvaW5zb24sIDE0LiBGZWIgMjAwNiwgMTg6MzI6MTQpOgp+IyEgcm49TW9wcGkgcnQ9MTEzOTkzODE1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM5OTM4MTU5CktsaW5ndCBuYWNoIGRlZmVrdGVtIEpQRy4gSXJnZW5kd2FzIGdlaHQgYmVpbSBVZWJlcnRyYWdlbiBrYXB1dHQuIERlZmVrdGVyClRyZWliZXIsIGRlZmVrdGUgSGFyZHdhcmUsIHN1Y2ggZGlyIHdhcyBhdXMuIEF1ZiBhbmRlcmVuIEdlcmFldGUgcHJvYmllcmVuIHVuZApuZXUgaW5zdGFsbGllcmVuLiBWaWVsIFNwYXNzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGlncyAoR3JpbW1ib3JuLCAxNC4gRmViIDIwMDYsIDIwOjE3OjExKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzk5MzgzMzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzOTkzODE1OQpEYXMgZXJrbGFlcnRzIG5pY2h0LiBXZW5uIHNpZSBhdWYgUGxhdHRlIGtvcGllcnQgc2luZCwgdW5kIE1vcHBpIG9mZmVuYmFyCmtvbnRyb2xsaWVydCBoYXQgZGFzcyBzaWUgYXVjaCBrb3JyZWt0IGFuZ2Vrb21tZW4gc2luZCAoc2llIGRhbm4gYWxzbwplaW53YW5kZnJlaSBkYXJnZXN0ZWxsdCB3ZXJkZW4pLCB1bmQgc2llIGRhbm4gYW0gbmFlY2hzdGVuIE1vcmdlbiBtaXQKZGVtc2VsYmVuIFZpZXdlciBrYXB1dHQgZGFyZ2VzdGVsbHQgd2VyZGVuIC0gZGFubiBrYW5uIGRhcyBlaWdlbnRsaWNoIG51ciBub2NoCk1hZ2llIHNlaW4uIE9kZXIgZWluIGJlZWluZHJ1Y2tlbmQgZWlnZW53aWxsaWcga2FwdXR0ZXIgVmlld2VyLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGlncyAoQXJrLCAxNC4gRmViIDIwMDYsIDIzOjQwOjIyKToKfiMhIHJuPU1vcHBpIHJ0PTExMzk5MzgxNTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzOTkzODE1OQpNaXN0LCB1bmQgaWNoIGRhY2h0ZSBlY2h0LCBlcyBnaW5nIHVtIFNjaHdlaW5lcmVpYmlsZGVyIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHBpZ3MgKEdsb2luc29uLCAxNS4gRmViIDIwMDYsIDAwOjE2OjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTM5OTQ0NjMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExMzk5MzgxNTkKRGFzIHdhciBhdXMgZGVtIGVyc3RlbiBBcnRpa2VsIG5pY2h0IGVpbmRldXRpZyBlcmxlc2JhciwgZGFzcyBzaWUga29ycmVrdAphbmdla29tbWVuIHNpbmQuCktsaW5ndCB0cm90emRlbSBub2NoIG5hY2ggZGVmZWt0ZW0gSlBHLiBVbmQgbWVociBhbHMgU3Bhc3Mgd3VlbnNjaGVuIGJsZWlidApuaWNodCB1ZWJlciwgRmVybmRpYWdub3NlIGJlaSBzb3dhcyBsYWV1ZnQgaGFsdCBhdWY6ICJJbnN0YWxsaWVyIG1hbCBuZXUiCmhpbmF1cy4gV0VOTiBkYXMgZ2FuemUgQmlsZCBnZXNjcmFtYmVsdCB3YWVyZSAuLi4gamEsIGRhIGhhYmUgaWNoIGVpbmVuIGFtIERpZQphbmdla25hY2tzdGVuIEF0aGxvbiwgd2VsY2hlciBwcmluemlwaWVsbCBmdW5rdGlvbmllcnQsIGJlaSBkZW0gYWJlciBkaWUKTVMtSlBHLURla29kaWVydW5nc2NvZGVzZXF1ZW56IGlyZ2VuZHdpZSBlaW5lbiBzeXN0ZW1hdGlzY2hlbiBNdWVsbApwcm9kdXppZXJ0LiBBbmRlcmUgVmlld2VyIG1pdCBlaWdlbmVuIEFsZ29yaXRobWVuLCBwZXJmZWt0LiBTZWxic3QgZWluZSBuZXVlClBsYXR0ZSArIE5ldWluc3RhbGxhdGlvbiBoaWxmdCBuaWNodC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwaWdzIChSdW1hdGEsIDE1LiBGZWIgMjAwNiwgMDk6Mjk6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzOTk1ODk4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTM5OTM4MTU5CkdhYnMgZGEgdW50ZXIgV2luZG9mZiBuaWNodCBuZXVsaWNoIG5lbiB2aXJ1cywgZGVyIERhdGVuIGJlc2NoYWVkaWd0ZT8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHBpZ3MgKEtlbGx5YnVuZHksIDE1LiBGZWIgMjAwNiwgMjE6MzQ6MzQpOgp+IyEgcm49UnVtYXRhIHJ0PTExMzk5OTIxNzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTEzOTkzODE1OQpKby4gd2VubiBkaWUgRGF0ZWllbiAndWViZXIgTmFjaHQnIG11dGllcmVuIHdhZXJlIG1laW4gZXJzdGVyIGdlZGFua2UgYXVjaCBuZW4KVmlydXMsIGRlciBzaWNoIGRhbm4gaW0gaGludGVyZ3J1bmQgZHJhbiB6dSBzY2hhZmZlbiBtYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlcyBQYXVsIG1pdCBSSjQ1IChLbnVycHMsIDIzLiBGZWIgMjAwNiwgMTc6MjA6NDIpOgpodHRwOi8vd3d3LmdvbGVtLmRlLzA2MDIvNDM1NzguaHRtbApjb29sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYW1jb3JkZXIgKEFudGhlYSwgIDEuIE1hciAyMDA2LCAxNzozMDozMyk6CkljaCBzdWNoIGVpbmVuIGRpZ2l0YWxlbiBDYW1jb3JkZXIuIFByZWlzIGJpcyA0MDBFVVIsIG9wdGlzY2hlciBab29tIGFiIDIweCwKZGVtZW50c3ByZWNoZW5kIHNvIGV0d2EgODAwLjAwMCBQaXhlbC4gS2FubiBkYSBqZW1hbmQgd2FzIGVtcGZlaGxlbiwgb2RlcgprZW5udCBqZW1hbmQgZWluZSB2ZXJudWVuZnRpZ2UgVmVyZ2xlaWNoc3NlaXRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENhbWNvcmRlciAoR25vbWUsICAxLiBNYXIgMjAwNiwgMjM6MjY6MDcpOgp+IyEgcm49QW50aGVhIHJ0PTExNDEyMzA2MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE0MTIzMDYzMwpjYW5vbiBtdngzMzBpIC8gbXZ4MzUwaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDYW1jb3JkZXIgKEFudGhlYSwgIDYuIE1hciAyMDA2LCAxMDo1MTo1MSk6Cn4jISBybj1Hbm9tZSBydD0xMTQxMjUxOTY3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNDEyMzA2MzMKTmFjaGRlbSBkaWUgTVZYM3h4aSBkb2NoIGV0d2FzIGRlbiBnZXNldHp0ZW4gUHJlaXNyYWhtZW4gZ2VzcHJlbmd0IGhhdCBpc3QgZXMKbnVuICJudXIiIGVpbmUgTVY5MDAgZ2V3b3JkZW4uIEFiZXIgQ2Fub24gbWFjaHQgZGEgZG9jaCBkZW4gYmVzdGVuIEVpbmRydWNrIGltCkRpcmVrdHZlcmdsZWljaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmFocnVuZ2VuIG1pdCBSdWJ5PyAoWm9vaywgIDguIE1hciAyMDA2LCAxNDozNzo1NSk6CklyZ2VuZGplbWFuZCwgZGVyIFJ1YnkgZnVlciBpcmdlbmR3YXMgZXJuc3RoYWZ0IGVpbnNldHp0IHVuZCBrdXJ6IGJlcmljaHRlbgprYW5uLCB3YXMgZXIgZGF2b24gaGFlbHQ/IChJbnNiLiBpbSBWZXJnbGVpY2ggenUgYW5kZXJlbSBRdWFyaywgZGVuIGVyIAp2b3JoZXIgYmVudXR6dCBoYXQpPyBXYWVyIGVjaHQgbmV0dC4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmZhaHJ1bmdlbiBtaXQgUnVieT8gKEdyaW1tYm9ybiwgIDguIE1hciAyMDA2LCAxNTo1MDoxOSk6Cn4jISBybj1ab29rIHJ0PTExNDE4MjUwNzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE0MTgyNTA3NQpEYXMgVWhyd2VyayBtZWluZXIgVGFzY2hlbnVociBoYXQgZWluIHBhYXIgUnViaW5lLCB3YXMgaWNoIGZ1ZXIgZWluZW4gc2Vocgplcm5zdGhhZnRlbiB1bmQgc2lubnZvbGxlbiBFaW5zYXR6IGhhbHRlLiBVbmQgZGFzIGlzdCBzY2hvbiBpcmdlbmR3aWUgZGV1dGxpY2gKY29vbGVyIGFscyBzbyBiaWxsaWdlIFF1YXJ6d2Vya2UsIGRpZSBpY2ggdm9yaGVyIGluIFVocmVuIGhhdHRlLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyZmFocnVuZ2VuIG1pdCBSdWJ5PyAoTXVhZGliLCAgOC4gTWFyIDIwMDYsIDIyOjQ3OjU3KToKfiMhIHJuPVpvb2sgcnQ9MTE0MTgyNTA3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTQxODI1MDc1CmljaCBrZW5uIGVpbiBwYWFyIGxldXRlLCBkaWUgZGFzIG1vbWVudGFuIHByb2Zlc3Npb25lbCBlaW5zZXR6ZW4gc29sbGVuCmljaCBob3JjaCBiZWkgZ2VsZWdlbmhlaXQgbWFsIHZvcmJlaQppY2ggaG9mZmUgZXMgZWlsdCBuaWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcmZhaHJ1bmdlbiBtaXQgUnVieT8gKFpvb2ssICA5LiBNYXIgMjAwNiwgMTE6MzY6NTYpOgp+IyEgcm49TXVhZGliIHJ0PTExNDE4NTQ0Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE0MTgyNTA3NQpiZXN0ZW4gZGFuayEgdW5kIG5laW4sIGVzIGVpbHQgbmljaHQuIGlzdCBudXIgZnVlciBtZWluIGhpbnRlcmdydW5kLQpyYXVzY2hlbi4gem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZ2VuIG1pdCBSdWJ5PyAoWm9vaywgIDkuIE1hciAyMDA2LCAxMzowOTo0Myk6Cn4jISBybj1UYXJhbmlzIHJ0PTExNDE5MDYxNDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE0MTgyNTA3NQpKYS4gV2FzIGhhdCBkYXMgbWl0IFJ1YnkgenUgdHVuPyA7KQpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGh1bmRlcmJpcmQgdW5kIE5ldHNjYXBlIENvbW11bmljYXRvciAoWm9vaywgIDUuIEp1bCAyMDA2LCAxMTowOToyNSk6CldlaXNzIGplbWFuZCBhdXN3ZW5kaWcsIG9iIGRlciBUaHVuZGVyYmlyZCBhbHRlIFBvc3RmYWVjaGVyL09yZG5lcgp2b24gTmV0c2NhcGUgQ29tbXVuaWNhdG9yIDQuNyB1ZWJlcm5laG1lbiBrYW5uPyBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRodW5kZXJiaXJkIHVuZCBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKFJ1bWF0YSwgIDUuIEp1bCAyMDA2LCAxNDowODoxMSk6Cn4jISBybj1ab29rIHJ0PTExNTIwOTA1NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1MjA5MDU2NQpJY2ggYmluIG1pciB6aWVtbGljaCBzaWNoZXIsIGRhc3MgZGFzIGdlaHQuClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRodW5kZXJiaXJkIHVuZCBOZXRzY2FwZSBDb21tdW5pY2F0b3IgKFJlcXVpZW0sICA1LiBKdWwgMjAwNiwgMTc6MTI6MDMpOgp+IyEgcm49UnVtYXRhIHJ0PTExNTIxMDEyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1MjA5MDU2NQpKYSwgZGFzIGdlaHQsIGlzdCBudXIgZXR3YXMgdHJpY2t5IHVudGVyIFVtc3RhZW5kZW4uIEljaCBoYWIgZGFzIG5ldWxpY2ggbWFsCm5hY2ggZWluZXIgTmV1aW5zdGFsbGF0aW9uIGF1ZiBkZW0gTm90ZWJvb2sgbWVpbmVyIEZyZXVuZGluIHVwZ2VkYXRlZCAoYWxzbwpOZXRzY2FwZSBuYWNoIFRodW5kZXJiaXJkICsgRmlyZWZveCksIGdlaGVuIHR1dCBlcyBhdWYgamVkZW4gRmFsbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvcmQtRG9rdW1lbnQgbWl0IEt5cmlsbGlzY2hlbiBaZWljaGVuIChab29rLCAxMC4gSnVsIDIwMDYsIDE1OjIzOjE2KToKSGksIGljaCBoYWJlIGVpbiBXb3JkLURva3VtZW50LCB3byBreXJpbGxpc2NoZSBaZWljaGVuIGRyaW4gc2luZC4gSWNoIAptb2VjaHRlIGRhcmF1cyBnZXJuZSBlaW4gUERGLUZpbGUgbWFjaGVuLiBEZXIgQWNyb2JhdCBQREYtV3JpdGVyIGhpZXIKYW4gZGVyIFVuaSBtYWNodCBudXIgRnJhZ2V6ZWljaGVuOyBPcGVuT2ZmaWNlIHplaWd0IG1pciBzY2hvbiBhbSBCaWxkc2NoaXJtCmtlaW5lIFNjaHJpZnR6ZWljaGVuIGFuLiBJcmdlbmRqZW1hbmQgbmUgSWRlZSBvZGVyIGthbm4gZXMgamVtYW5kLCBzbyBkYXNzCmljaCBkZW1qZW5pZ2VuIHZpZWxsZWljaHQgZGllIERhdGVpIHp1c2NoaWNrZW4ga2Fubj8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmQtRG9rdW1lbnQgbWl0IEt5cmlsbGlzY2hlbiBaZWljaGVuIChab29rLCAxMC4gSnVsIDIwMDYsIDE1OjMyOjQ2KToKfiMhIHJuPVpvb2sgcnQ9MTE1MjUzNzc5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTUyNTM3Nzk2CkFoLCB1bmQgaGF0IGplbWFuZCBuZW4gTGluayB6dSBuZXIgU2VpdGUsIHdvIHN0ZWh0LCB3aWUgaWNoIGt5cmlsbGlzY2gKaW4gSFRNTCBzY2hyZWliZT8KCkFoLiBVbmQga2xlaW5lIEFubWVya3VuZzogSWNoIGJyYXVjaGUgZGFzIGZ1ZXIgdWtyYWluaXNjaCwgbmljaHQgZnVlcgpydXNzc2ljaC4gOikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvcmQtRG9rdW1lbnQgbWl0IEt5cmlsbGlzY2hlbiBaZWljaGVuIChLbnVycHMsIDEwLiBKdWwgMjAwNiwgMTU6MzQ6MzQpOgp+IyEgcm49Wm9vayBydD0xMTUyNTM4MzY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTI1Mzc3OTYKaHR0cDovL3d3dy51bmljb2RlLm9yZy9jaGFydHMvUERGL1UwNDAwLnBkZgoKdW5kIGRhbm4gJiM5ODcxOyAoZGV6aW1hbCkgb2RlciAmI3gyNjhGOyAoaGV4YWRlemltYWwpIAoKVmllbCBTcGFzcyAqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdvcmQtRG9rdW1lbnQgbWl0IEt5cmlsbGlzY2hlbiBaZWljaGVuIChQcmEsIDEwLiBKdWwgMjAwNiwgMTU6Mzk6NTMpOgp+IyEgcm49S251cnBzIHJ0PTExNTI1Mzg0NzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1MjUzNzc5NgpXb3JkIGtsaW5ndCBqYSBuYWNoIFdpbmRvd3MuIEhhc3QgZHUgbWFsIHZlcnN1Y2h0LCBVa3JhaW5pc2NoIGFscyBTcHJhY2hlIGJlaQpkaXIgenUgaW5zdGFsbGllcmVuPyBBbHNvIFN0YXJ0IC0+IEVpZ2VudHNjaGFmdGVuIC0+IFN5c3RlbSAtPiAKUmVnaW9ucy0gdW5kIFNwcmFjaG9wdGlvbmVuIC0+IFNwcmFjaGVuIC0+IERldGFpbHMgLT4gRWluc3RlbGx1bmdlbiAtPiAKSGluenVmdWVnZW4gLT4gRWluZ2FiZWdlYmlldHNzY2hlbWEgLT4gVWtyYWluaXNjaAoKT2RlcnNvYWVobmxpY2guLi4gLi0pCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXb3JkLURva3VtZW50IG1pdCBLeXJpbGxpc2NoZW4gWmVpY2hlbiAoWm9vaywgMTAuIEp1bCAyMDA2LCAxNTo0MDo0Nyk6Cn4jISBybj1QcmEgcnQ9MTE1MjUzODc5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTUyNTM3Nzk2CkFsc28gZGFzIFdvcmQgemVpZ3QgZGFzIGt5cmlsbGlzY2ggc2Nob24gcmljaHRpZyBhbi4gTnVyIGJla29tbWUgaWNoCmRhcmF1cyBlYmVuIGtlaW5lIFBERi1EYXRlaS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXb3JkLURva3VtZW50IG1pdCBLeXJpbGxpc2NoZW4gWmVpY2hlbiAoR2xvaW5zb24sIDEwLiBKdWwgMjAwNiwgMTU6NDE6MjgpOgp+IyEgcm49Wm9vayBydD0xMTUyNTM4ODQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTI1Mzc3OTYKVmllbGxlaWNodCBrYW5uIGRlciBQREZpc2llcmVyIGRpZSBTY2hyaWZ0ZW4gbmljaHQgZWluYmV0dGVuPyBJcmdlbmQgZWluCkZpbmV4eHgga29ubnRlIGRhcyAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXb3JkLURva3VtZW50IG1pdCBLeXJpbGxpc2NoZW4gWmVpY2hlbiAoWm9vaywgMTAuIEp1bCAyMDA2LCAxNTo0NToyNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTUyNTM4ODg4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTI1Mzc3OTYKQWguIEN1dGVQREYga2FubiBlcyB3b2hsIGF1Y2guIFp1bWluZGVzdCBkYXMgdm9uIEhhc2VuZnVzcy4gQmVzdGVuCkRhbmsuCgpWbGwuIGlzdCBudXIgdW5zZXIgVW5pIFBERldyaXRlciBuaWNodCBhdWYgVUEgZWluZ2VzdGVsbHQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmQtRG9rdW1lbnQgbWl0IEt5cmlsbGlzY2hlbiBaZWljaGVuIChNdWFkaWIsIDEwLiBKdWwgMjAwNiwgMTY6MzU6MDIpOgp+IyEgcm49Wm9vayBydD0xMTUyNTM3Nzk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTI1Mzc3OTYKaWNoIGJpbiBkZXIgbWVpbnVuZywgZGFzcyBkaWVzZXMgN2VyIHByb2Zlc3Npb25hbCBhZG9iZSB0ZWlsIGRhcyBrYW5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcGVuT2ZmaWNlIFdyaXRlcjogQnJpZWZ2b3JsYWdlbiBmLiBtZWhyc2VpdGlnZSBCcmllZmUgKEFuYXRvbCwgMzEuIEp1bCAyMDA2LCAxMDowNTo0Nik6CkhhbGxvLAp3aWUga2FubiBpY2ggZGVubiBtaXQgZGVtIFdyaXRlciB2b24gT09vIHNjaG9lbmUgQnJpZWZ2b3JsYWdlbgpmdWVyIG1laHJzZWl0aWdlIEJyaWVmZSBlcnN0ZWxsZW4/IERhcyBUZXN0ZmVsZCBmdWVyIGRlbiBCcmllZmtvZXJwZXIKc29sbHRlIGF1ZiBTZWl0ZSAyIGZmLiBuaWNodCBlcnN0IGltIHp3ZWl0ZW4gRHJpdHRlbCBkZXIgU2VpdGUKYW5mYW5nZW4gKGF1ZiBTZWl0ZSAxIHNpbmQgZGEgQW5zY2hyaWZ0IHVzdy4pLiBJY2ggaGFiIGF1ZiBkaWUKU2NobmVsbGUgbmljaHRzIGVyZ29vZ2VsdCAtIHdlaXNzIGplbWFuZCBhZCBob2MgZWluZSBMb2VzdW5nPwoKQW5hdG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYXN0YXR1ci1Tb25kZXJzb25kZXJ0YXN0ZW4gdW1iZWxlZ2VuPyAoQW5hdG9sLCAxNS4gQXVnIDIwMDYsIDE3OjQ3OjU3KToKCkVpZ2VudGxpY2ggdGlwcHQgc2ljaCBkaWUgTG9naXRlY2hzdGFuZGFyZHRhc3RhdHVyIG1pdCBLYWJlbCAoc2ljIQpTb3dhcyBnaWJ0IGVzIG5vY2ghKSByZWNodCBndXQsIGFlaG5saWNoIHdpZSBlaW5lIE5vdGVib29rdGFzdGF0dXIsCm51ciBlYmVuIGltIE5vcm1hbGZvcm1hdC4gTHVzdGlnZXJ3ZWlzZSBoYXQgc2llIHVlYmVyIGRlbiBGLVRhc3Rlbgpub2NoIHNlY2hzIHdlaXRlcmUsIGRpZSBpbnp3aXNjaGVuIGF1Y2ggdWVibGljaGVuICJNZWRpZW4tVGFzdGVuIi4KCkdpYnQgZXMgZWluZW4gV2VnLCBkaWVzZSBUYXN0ZW4genUgbm9ybWFsZW4gVGFzdGVuIHp1IG1hY2hlbiwgZC5oLgpzaWUgaW4gQXBwbGlrYXRpb25lbiB6dSB2ZXJ3ZW5kZW4sIHN0YXR0IGRpcmVrdCBkZW0gQmV0cmllYnNzeXN0ZW0KKFhQKSB6dSBzYWdlbjogSG9lLCBtYWNoIG1hIHdpbmFtcCBhdWYhID8KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhc3RhdHVyLVNvbmRlcnNvbmRlcnRhc3RlbiB1bWJlbGVnZW4/IChHcmltbWJvcm4sIDE1LiBBdWcgMjAwNiwgMTg6Mzk6MjQpOgp+IyEgcm49QW5hdG9sIHJ0PTExNTU2NTY4Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NTY1Njg3NwpFaW5mYWNoIGRlbiBUYXN0YXR1cnRyZWliZXIgaW5zdGFsbGllcmVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRhc3RhdHVyLVNvbmRlcnNvbmRlcnRhc3RlbiB1bWJlbGVnZW4/IChBbmF0b2wsIDE1LiBBdWcgMjAwNiwgMTg6NTA6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTU2NTk5NjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NTY1Njg3NwpCbGVpYiBEdSBiZWkgTGludXguIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGFzdGF0dXItU29uZGVyc29uZGVydGFzdGVuIHVtYmVsZWdlbj8gKEdyaW1tYm9ybiwgMTUuIEF1ZyAyMDA2LCAxODo1NDowNSk6Cn4jISBybj1BbmF0b2wgcnQ9MTE1NTY2MDYyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU1NjU2ODc3CkphLCBlcnN0ZW5zIGthbm4gbWFuIGRhIG1pdCBCb3JkbWl0dGVsbiByZWxhdGl2IGVpbmZhY2ggZGllc2UgVGFzdGVuCmFuc3ByZWNoZW4sIHVuZCB6d2VpdGVucyBoYXQgbWlyIGRhIHZvcmhpbiBlcnN0IGVpbiBLb2xsZWdlIGRhcyBjaGVycnkKbXVsdGltZWRpYSBrZXlib2FyZCBlbXBmb2hsZW4sIGRhcyBkYSB3b2hsIGJyYXVjaGJhciBzZWluIHNvbGwuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoWm9vaywgMjAuIEF1ZyAyMDA2LCAxMTo1MjowMyk6CkhpLCBpY2ggbXVzcyBnZ2YuIGJhbGQgZWlubWFsIGF1ZiBlaW5lbiBuZXVlbiBMYXB0b3AgdW1zdGVpZ2VuIHVuZCB1ZWJlcmxlZ2UsCmRvcnQgZWluIExpbnV4IHp1IGluc3RlbiwgZmFsbHMgaWNoIGRhbWl0IHp1cmVjaHQga29tbWUgdW5kIGVzIG5pY2h0IHp1CnNjaHdlciB6dSBhZG1pbmlzdHJpZXJlbiBpc3QuIEFuZm9yZGVydW5nZW4gd2FlcmVuIGRhaGVyOiBMZWljaHRlIApJbnN0YWxsYXRpb24sIExhcHRvcGhhcmR3YXJlIHNvbGx0ZSB3ZWl0Z2VoZW5kIHVudGVyc3R1ZXR6dCB3ZXJkZW4sIAppcmdlbmR3aWUgYXVjaCBlaW5lIGdnZi4gZWluZ2ViYXV0ZSBXTEFOLUthcnRlLCBlcyBzb2xsdGUgZWluIFBha2V0LQpvZGVyIFBvcnRzLSAoc28gaGVpc3N0IGRhcyBiZWkgRnJlZUJTRCktU3lzdGVtIHp1bSAiZWluZmFjaGVuIiBJbnN0ZW4Kdm9uIFNvZnR3YXJlIGdlYmVuLiAKCldlbGNoZSBEaXN0cmlzIGJlbnV0enQgZGVubiBJaHIgc28gZnVlciBMYXB0b3BzIHVuZCB3aWUgenVmcmllZGVuIHNlaWQKSWhyIGRhbWl0PyAKCkFoLCBub2NoIG5lIEFuZm9yZGVydW5nOiBJY2ggaGFiZSBrZWluZSBMdXN0LCBkZW4gUmVjaG5lciBhbGxlIHp3ZWkgV29jaGVuCmtvbXBsZXR0IHp1IHVwZGF0ZW4gOykKCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChIaWdobGFuZGVyLCAyMC4gQXVnIDIwMDYsIDEyOjQyOjIxKToKfiMhIHJuPVpvb2sgcnQ9MTE1NjA2NzUyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCkljaCBoYWJlIHNlbGJlciBrZWluZW4gTGFwdG9wLCBob2VyZSBhYmVyIHJlbGF0aXYgZ3V0ZSBNZWludW5nZW4genUKU3VTRS4gTmVpbiwgZGFzIGhlaXNzdCBuaWNodCwgZGFzcyBpY2ggenUgYW5kZXJlbiBEaXN0cmlzIG5lZ2F0aXZlCkF1c3NhZ2VuIGhvZXJlLiBHZ2YgZ2lidCdzIGhpZXIgYXVjaCBqZW1hbmRlbiwgZGVyIERpciBkYSBiZXN0aW1tdCBtZWhyCmRhenUgc2FnZW4ga2FubiA6KQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKE11YWRpYiwgMjAuIEF1ZyAyMDA2LCAyMDoxMjoyNCk6Cn4jISBybj1ab29rIHJ0PTExNTYwNjc1MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwprYXVmIGRpciBuZW4gbWFjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChHcmltbWJvcm4sIDIxLiBBdWcgMjAwNiwgMDc6MzQ6MzUpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYwOTc1NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpTY2hsZWNodGVyIFRpcC4gSWNoIGhhYiBoaWVyIEtvbGxlZ2VuIG1pdCBNYWMgTGFwdG9wcywgZGllIGhhYmVuIGRvY2ggZWluaWdlClZlcnJlbmt1bmdlbiBtYWNoZW4gbXVlc3NlbiBkYW1pdCBkYXMgYW5zdGFlbmRpZyB1bnRlciBMaW51eCBsaWVmLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoTW9udGFudXMsIDIxLiBBdWcgMjAwNiwgMTA6NTY6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTYxMzg0NzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpNYW5jaG1hbCBzaXR6dCBkYXMgUHJvYmxlbSBhdWNoIHZvciBkZW0gTGFwdG9wLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEdyaW1tYm9ybiwgMjEuIEF1ZyAyMDA2LCAxMDo1ODo1Nik6Cn4jISBybj1Nb250YW51cyBydD0xMTU2MTUwNTY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKR2VuZXJlbGwgamEsIGFiZXIgaGllciBpbSBHZWJhZXVkZWZsdWVnZWwgdGVuZGVuemllbGwgZWhlciBzZWx0ZW5lci4gWnVtaW5kZXN0Cm5pY2h0IGZ1ZXIgbGFlbmdlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKE1vbnRhbnVzLCAyMS4gQXVnIDIwMDYsIDExOjAxOjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU2MTUwNzM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKQWxzbyBVYnVudHUgbGFldWZ0LCBzb3ZpZWwgaWNoIHdlaXNzLCBzZWhyIHByaW1hIGF1ZiBkZW0gTWFjLgpVbmQgYWIgRnJ1ZWhqYWhyIDIwMDcgZ2lidCBlcyBtaXQgTGVvcGFyZCBqYSBhdWNoIGVpbiBuZXVlcyBPUywgdW50ZXIgZGVtIG1hbgpzb2dhciBtaXQgQm9vdENhbXAgV2luRG9vZiBsYXVmZW4gbGFzc2VuIGthbm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoTXVhZGliLCAyMS4gQXVnIDIwMDYsIDE1OjI3OjQ3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNTYxNTA4OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpib290Y2FtcCBsYWV1ZnQgbnUgYXVjaCBzY2hvbgpnaWJ0IGFiZXIgYWx0ZXJuYXRpdmVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoWm9vaywgMjEuIEF1ZyAyMDA2LCAxNTozMTozMyk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjE2Njg2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCnZsbC4gbm9jaG1hIHp1cnVlY2sgenVtIG5pY2h0LW1hYy1sYXB0b3AgdW5kIGVycHJvYnRlbiBsaW51eC1kaXN0cmlzLi4uCmptZC4gd2FzIHp1IGJlcmljaHRlbiB2b24gc2VpbmVuIGxhcHRvcGVyZmFocnVuZ2VuPyB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKE1vbnRhbnVzLCAyMS4gQXVnIDIwMDYsIDE1OjMxOjU3KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjE2NzA5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCldhcyBpc3QgZGVubiBhbiBVYnVudHUgbmljaHQtZXJwcm9idD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChNdWFkaWIsIDIxLiBBdWcgMjAwNiwgMTU6MzM6MDcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTE1NjE2NzExNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCmd1dGUgZnJhZ2UKaWNoIGVycHJvYnRlIGVzIHVuZCBlcyB2ZXJzYWd0ZSBrbGFlZ2xpY2ggYmVpIGVpbmVtIDMgamFocmUgYWx0ZW4gcmVjaG5lcgpzcHJpY2gsIGRlciBiaWxkc2NoaXJtIGJsaWViIGR1bmtlbCBiZWkgc3RhcnQgdm9uIHgKc29taXQgZnVlciBtaWNoIGVpbiBmYWxsIGZ1ZXIgZGllIG11ZWxsdG9ubmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyMS4gQXVnIDIwMDYsIDE1OjM2OjM5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExNTYxNjcxMTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpoYXQgZGFzIGplbWFuZCBiZWhhdXB0ZXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKFpvb2ssIDIxLiBBdWcgMjAwNiwgMTU6MzY6NTUpOgp+IyEgcm49Wm9vayBydD0xMTU2MTY3Mzk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKYWguIG11YWRpYiBoYXQgZXMgYmVoYXVwdGV0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChNdWFkaWIsIDIxLiBBdWcgMjAwNiwgMTU6Mzg6MTkpOgp+IyEgcm49Wm9vayBydD0xMTU2MTY3NDE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKaGFsdGhhbHQKaWNoIGhhYmUgdWJ1bnR1IGF1c2RydWVja2xpY2ggYWxzIGVycHJvYnQgYmV6ZWljaG5ldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyMS4gQXVnIDIwMDYsIDE1OjQwOjMwKToKfiMhIHJuPU11YWRpYiBydD0xMTU2MTY3NDk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKYWguCgppaHIgdmVyd2lycnQgbWljaC4Ka29lbm50ZSBtYW4gZGVuIG1hYy1vcGEgdmllbGxlaWNodCBtYSBhdXNtIHRocmVhZCB3ZXJmZW4/IDspIAoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoTXVhZGliLCAyMS4gQXVnIDIwMDYsIDE1OjQxOjU4KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjE2NzYzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCndlciBpc3QgZGVyIG1hYy1vcGE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKFpvb2ssIDIxLiBBdWcgMjAwNiwgMTU6NDM6MDYpOgp+IyEgcm49TXVhZGliIHJ0PTExNTYxNjc3MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpzY2hyaWViIGljaCBvcGE/IGljaCBtZWludGUgbmF0dWVybGljaCByZW50bmVyLiB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChNdWFkaWIsIDIxLiBBdWcgMjAwNiwgMTU6NDU6MzQpOgp+IyEgcm49Wm9vayBydD0xMTU2MTY3Nzg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKdW5kIHdlbiBtZWluc3QgZHUgbnVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChHcmltbWJvcm4sIDIxLiBBdWcgMjAwNiwgMTU6NDY6MDYpOgp+IyEgcm49Wm9vayBydD0xMTU2MTY3Nzg2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKV2FzIGRpZSBIVy1VbnRlcnN0dWV0enVuZyBvaG5lIGdyb3NzYXJ0aWdlcyBIYW5kZ2VwZnVzY2hlIGFuZ2VodCBpc3QgU3VzZQpyZWxhdGl2IGd1dC4gTmF0dWVybGljaCB3aXJzdCBEdSBpbW1lciBoYXJkd2FyZSBmaW5kZW4gZGllIFByb2JsZW1lIG1hY2h0LCB1bmQKaW1tZXIgTGV1dGUgZGllIEhvcnJvcnN0b3JpZXMgZXJ6ZmleSF5IemFlaGxlbi4gU2lubnZvbGwgaXN0LCBiZWkgZGVyCkhhcmR3YXJlYXVzd2FobCBzY2hvbiBkaWUgTGludXhmcmV1bmRsaWNoa2VpdCBpbSBIaW50ZXJrb3BmIHp1IGhhYmVuLgpXZWl0ZXJoaW4gZW1wZmVobGUgaWNoIHN0YXJrIGRlbiBFbnRlcnByaXNlIERlc2t0b3Agdm9uIFN1c2UsIG5pY2h0IGRhcwpvcGVuU1VTRS4gRGllIHBhYXIgS3JvZXRlbiBVbnRlcnNjaGllZCBzaW5kIElNTyBndXQgYW5nZWxlZ3QuIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEppbWRpZ3JpeiwgMjEuIEF1ZyAyMDA2LCAxNTo1MTo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1NjE2Nzk2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCkljaCBoYWIgZ2FueiBndXRlIEVyZmFocnVuZyBtaXQgUmVkIEhhdCBFbnRlcnByaXNlIGxpbnV4LCB1bmQKaGFiIG1pY2ggaW56d2lzY2hlbiBhdWNoIGFuIFN1U0UgKFNMRVMpIGdld29lbnQuIE5hdHVlcmxpY2ggYnJhdWNoc3QKRHUgbmljaHQgZGVuIEVudGVycHJpc2Ugc2VydmVyLCBkZXIgZWggbnVyIGluIGRlciBQYWtldGFrdHVhbGl0YWV0CnN5c3RlbWltbWFuZW5udCBoaW50ZXJoZXJoYWVuZ3QuClVidW50dSBoYXQgYmVpIG1laW5lbiBUZXN0cyBsZWlkZXIgYXVjaCB2ZXJzYWd0LCBuaWNodCBiZWkKYWx0ZXIsIHNvbmRlcm4gYmVpIGJyYW5kbmV1ZXIgaGFyZHdhcmUgKEFUQS1SQUlEIGNvbnRyb2xsZXIKbmljaHQgZXJrYW5udCkuCkZ1ZXIgZGVuIEhlaW1nZWJyYXVjaCBiaW4gaWNoIG5hY2ggd2llIHZvciB2b24gRnJlaUJTRQp1ZWJlcnpldWd0LCB3ZXIgZGllIFdlbHQgbmljaHQgYmF1ZW4gd2lsbCwga2FubiBqYQogL3Vzci9wb3J0cy9zZWN1cml0eS9mcmVlYnNkLXVwZGF0ZSBiZW51dHplbiAoYmluYXJ5IHNlY3VyaXR5IHVwZGF0ZXMKYXVmIGJhc2lzIHZvbiBjcnlwdG9ncmFwaGlzY2ggc2lnbmllcnRlbiBkZWx0YXMpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyMS4gQXVnIDIwMDYsIDE1OjU0OjAwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTU2MTY4MzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKbWVpbiBob2ZmbnVuZyB3YXIgbnVyLCBkYXNzIGVzIG1pdCBsaW51eCBldnRsLiBsZWljaHRlciBtaXQgd2xhbmQgdW5kIHNvCm5lbSBrcmFtIGdlaHQuLi4uIHpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEppbWRpZ3JpeiwgMjEuIEF1ZyAyMDA2LCAxNTo1NTozNik6Cn4jISBybj1ab29rIHJ0PTExNTYxNjg0NDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpNZWkgZGllIEhvZmZudW5nIGthbm4gbWFuIGltbWVyIGhhYmVuLgpJY2ggaGF0dGUgaGFyZHdhcmUgZGllIHdhciBiZWkgTGludXggYmVzc2VyIHVuZCBzaW1wbGVyCnVudGVyc3R1ZXR6dCB1bmQgaWNoIGhhdHRlIGhhcmR3YXJlIGRpZSBnaW5nIG51ciBtaXQgRnJlaUJTRS4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoTXVhZGliLCAyMS4gQXVnIDIwMDYsIDE1OjU2OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjE2ODQ0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCmljaCBtb2VjaHRlIG5vY2htYWwgZGVuIG1hYyBpbnMgc3BpZWwgYnJpbmdlbgpuaWNodCB1bSBkYXJhdWYgbGludXggbGF1ZmVuIHp1IGxhc3Nlbiwgc29uZGVybiBhbHMgZWlnZW5zdGFlbmRpZ2UKYWx0ZXJuYXRpdmUuIGFsbGVyZGluZ3Mga2VubmUgaWNoIGRlaW5lIGFuZm9yZGVydW5nZW4gbmF0dWVybGljaCBuaWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChHcmltbWJvcm4sIDIxLiBBdWcgMjAwNiwgMTU6NTc6MDYpOgp+IyEgcm49SmltZGlncml6IHJ0PTExNTYxNjg1MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpKZXBwLCBzb3dhcyBpc3QgaW1tZXIgaGFyZHdhcmVzcGV6aWZpc2NoLiBEYXMgbWVpc3RlIGdlaHQgbWl0IGFsbGVtLCBhYmVyIGltCkV4dHJlbWZhbGwgaGFzdCBEdSBoYWx0IGVpbiBTeXN0ZW0gYmVpIGRlbSB3ZWRlciBQbGF0dGUsIG5vY2ggR3JhcGhpa2thcnRlLApXTEFOLCBOSUMgbm9jaCBtb2RlbSB1bnRlcnN0dWV0enQgc2luZC4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoR3JpbW1ib3JuLCAyMS4gQXVnIDIwMDYsIDE1OjU3OjUwKToKfiMhIHJuPU11YWRpYiBydD0xMTU2MTY4NTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKVW5kIGljaCBrYW5uIFpvb2sgbnVyIHdhZXJtc3RlbnMgVm9sdm8gZW1wZmVobGVuLCBwcmltYSBBdXRvcy4KQWJlciB2aWVsbGVpY2h0IGhhbHRlbiB3aXIgdW5zIGRhbm4gZG9jaCBsaWViZXIgYW4gWm9va3MgQW5mb3JkZXJ1bmdzcHJvZmlsLApobW0/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoTXVhZGliLCAyMS4gQXVnIDIwMDYsIDE1OjU4OjI0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU2MTY4NjI2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKaG1tCmluIGRlbSBmYWxsZSBoYWV0dGUgbWFuIGFiZXIgcGVjaCBnZWhhYnQuCmdpYnQgZXMgZGVubiBlaW5lIGVpbmZhY2hlIG1vZWdsaWNoa2VpdCB6dSBwcnVlZmVuLCBpbndpZXdlaXQgZGllIHppZWxodwp1bnRlcnN0dWV0enQgd2lyZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoWm9vaywgMjEuIEF1ZyAyMDA2LCAxNTo1ODo0OCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjE2ODcwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCmFoamEsIGljaCB3aWxsIGF1ZiBkZXIga2lzdGUgZ2VsZWdlbnRsaWNoIGF1Y2ggd2luZG9vZiB4cCBsYXVmZW4gbGFzc2VuIDspCgp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChNdWFkaWIsIDIxLiBBdWcgMjAwNiwgMTU6NTk6MjIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTYxNjg2NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwp3aXIgbW9lZ2VuIGRhcyBnZXJuZSB0dW4KdW5kIHdpciBtb2VnZW4gYXVjaCBnZXJuZSBkaWUgbHVmdCBhbmhhbHRlbiB1bmQgYmxhdSBhbmxhdWZlbgppY2ggbmVobWUgbWlyIGRhbm4gZG9jaCBkaWUgZnJlaWhlaXQgZWluZSBlbXBmZWhsdW5nIHp1IGFldXNzZXJuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEppbWRpZ3JpeiwgMjEuIEF1ZyAyMDA2LCAxNjowMTowMik6Cn4jISBybj1NdWFkaWIgcnQ9MTE1NjE2ODc2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCnZpZWxsZWljaHQgcG9zdGVzdCBEdSBtYWwgZGllIFNwZWNzIGRlciBIYXJkd2FyZSB1bmQKZGFubiB3aXNzZW4gd2lyIHNjaG9uIG1laHIsIHp1bWluZGVzdCBrcmllZ3QgbWFuIGVpbmUKQWhudW5nIHdpZSBleG90aXNjaCBkYXMgVGVpbCBpc3QuLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChNdWFkaWIsIDIxLiBBdWcgMjAwNiwgMTY6MDI6MzgpOgp+IyEgcm49SmltZGlncml6IHJ0PTExNTYxNjg4NjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwppY2ggaGFiZSBkb2NoIGdhciBrZWluZSBoYXJkd2FyZQppY2ggbW9lY2h0ZSBibG9zcyB3aXNzZW4sIHdlbGNoZSBpY2ggbWlyIGthdWZlbiBtdWVzc3RlLCBkYW1pdCBpY2ggZGVubgplcmZvbGdyZWljaCBlaW5lIGxpbnV4LWRpc3RyaSBpbnN0YWxsaWVyZW4ga29lbm50ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyMS4gQXVnIDIwMDYsIDE2OjA0OjMyKToKfiMhIHJuPU11YWRpYiBydD0xMTU2MTY4OTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKYWxzbyBlcyBzb2xsIGlyZ2VuZGVpbiBuaWNodCBnYW56IHNvIGZ1ZXJjaHRlcmxpY2ggdGV1cmVzIGV4ZW1wbGFyCnZvbiBmdWppdHN1LXNpZW1lbnMgd2VyZGVuLiB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChHbG9pbnNvbiwgMjEuIEF1ZyAyMDA2LCAxNjowNToxNCk6Cn4jISBybj1ab29rIHJ0PTExNTYxNjkwNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpBYmVyLCBhYmVyLCBhYmVyIC4uLiBkaWUgaGFiZW4gZG9jaCBnYXIga2VpbmVuIFRyYWNrc3RpY2sgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEdyaW1tYm9ybiwgMjEuIEF1ZyAyMDA2LCAxNzoyNjowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTU2MTY5MTE0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKRXMgZ2lidCBMYXB0b3BzIG1pdCB2b3JpbnN0YWxsaWVydGVtIExpbnV4IHp1IGthdWZlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChBcmssIDIxLiBBdWcgMjAwNiwgMTg6MjI6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTYxNjg2MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1NjA2NzUyMwpEZXNoYWxiIGF1ZiBkaWUgRGlzdHJpYnV0aW9uZW4gYWNodGVuIC4uLiBSSEVTIHVuZCBTTEVTIHNpbmQgU2VydmVyCkJldHJpZWJzc3lzdGVtIG9wdGltaWVydC4gRHUgd2lyc3Qga2F1bSBIQkEgVHJlaWJlciBicmF1Y2hlbiBmdWVyIERlaW5lbgpEZXNrdG9wLCB3b2hsIGFiZXIgdmVybnVlbmZ0aWdlbiBHcmFwaGlra2FydGVuIFN1cHBvcnQsIHdhcyB3aWVkZXJ1bSBlaW5lbQpTZXJ2ZXIgc2NobnVwcGUgc2VpbiBrYW5uLgpFcmdvIGRpZSBEZXNrdG9wdmVyc2lvbmVuIHdhZWhsZW4sIGRhIGdlYmVuIHNpY2ggUkggdW5kIFN1U0Ugd29obCBkaWUgSGFuZCB1bmQKc2luZCB2b3IgYWxsZW0gcmVjaHQgd2VpdCB2ZXJicmVpdGV0LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoQXJrLCAyMS4gQXVnIDIwMDYsIDE4OjIzOjU3KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjE2ODcyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCkRhIGdpYnRzIGRvY2ggZGVuIFZNV2FyZSBQbGF5ZXIgZnVlciwgZGFubiBrYW5uc3QgRHUgYmVpZGUgYnJhdiBuZWJlbmVpbmFuZGVyCmxhdWZlbiBsYXNzZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyMS4gQXVnIDIwMDYsIDE4OjI0OjQzKToKfiMhIHJuPUFyayBydD0xMTU2MTc3NDM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKZ2lidHMgZGVuIGVpZ2VudGxpY2ggbWl0dGxlcndlaWxlIGF1Y2ggZnVlciBsYXU/Cnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEdyaW1tYm9ybiwgMjEuIEF1ZyAyMDA2LCAxODoyNDo0OSk6Cn4jISBybj1BcmsgcnQ9MTE1NjE3NzM3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCkRlc3dlZ2VuIGhhYiBpY2ggYXVjaCBkZW4gU0xFRCBlbXBmb2hsZW4sIG5pY2h0IGRlbiBTTEVTICh3dWVyZCBpY2ggZnVlciBkZW4KRGVza3RvcCBuaWUgZW1wZmVobGVuLCBrZWluZSBGcmFnZSkuIFVuZCBEdSB3dWVyZGVzdCBEaWNoIHd1bmRlcm4gd2FzIGZ1ZXIKZWluZW4gQXVmc3RhbmQgZGllIEdyYXBoaWtrYXJ0ZW51bnRlcnN0dWV0enVuZyBhdWYgZWluZW0gU2VydmVyIGF1c2xvZXNlbgprYW5uLiBPZGVyIGRpZSBGcmFnZSwgb2IgZGEgbnVuIEtERSBvZGVyIGdub21lIHBlciBkZWZhdWx0IGluc3RhbGxpZXJ0IHdpcmQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoQXJrLCAyMS4gQXVnIDIwMDYsIDE4OjI1OjU4KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjE3NzQ4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCmh0dHA6Ly93d3cudm13YXJlLmNvbS9wcm9kdWN0cy9mcmVlX3ZpcnR1YWxpemF0aW9uLmh0bWwKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogVmxsLiBtYSBMaW51eCBwcm9iaWVyZW4uLi4gKEFub3JpcywgMjIuIEF1ZyAyMDA2LCAxNTowOToxNSk6Cn4jISBybj1BcmsgcnQ9MTE1NjE3NzU1OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCkJlc3RlbiBEYW5rIGFuIEFyayBmdWVyIGRlbiBMaW5rLiBXaW5kb3dzIFhQIGFscyBCYXNpcyB1bmQgZWluZQpWTVdhcmUgbWl0IERlYmlhbiBHTlUgTGludXggMy4xcjIgdW5kIGRhcyBnYW56ZSBhdWYgZWluZW0KRnVqaXRzdSBTaWVtZW5zIExpZmVib29rIEU4MDIwLiBTb3VuZCwgR3JhZmlrLCBUb3VjaHBhZCwgV0xBTiB1bmQgTklDLAplcyBmdW5rdGlvbmllcnQgYWxsZXMgZWlud2FuZGZyZWkuCgotIEFub3JpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChab29rLCAyOS4gQXVnIDIwMDYsIDIxOjI0OjMzKToKfiMhIHJuPUFyayBydD0xMTU2MTc3NTU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKSG0uIFNvIHJpY2h0aWcgaW50dWl0aXYgaXN0IGRhcyBhYmVyIG5pY2h0Li4uLiAqa3JhdHogYW0gS29wcCogCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IFZsbC4gbWEgTGludXggcHJvYmllcmVuLi4uIChBcmssIDMwLiBBdWcgMjAwNiwgMDk6Mjk6MDIpOgp+IyEgcm49Wm9vayBydD0xMTU2ODc5NDczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTYwNjc1MjMKSG0sIHdhaHJzY2hlaW5saWNoIEZlaGxlciAzMCBvZGVyIHNvPwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoWm9vaywgMzAuIEF1ZyAyMDA2LCAwOToyOTo1Mik6Cn4jISBybj1BcmsgcnQ9MTE1NjkyMjk0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCk5hLCBzbyBsYW5nc2FtIGZ1bmt0aW9uaWVydCBldHdhcy4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWbGwuIG1hIExpbnV4IHByb2JpZXJlbi4uLiAoS251cnBzLCAzMC4gQXVnIDIwMDYsIDIzOjExOjM5KToKfiMhIHJuPVpvb2sgcnQ9MTE1NjA2NzUyMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU2MDY3NTIzCk5pbW0gS3VidW50dSwgc28gZHUgS0RFIHdpbGxzdCwgb2RlciBVYnVudHUgZnVlciBHbm9tZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRWLUthcnRlIFBWUiAyNTAgKEdub21lLCAyNS4gU2VwIDIwMDYsIDExOjU5OjQxKToKaGFsbG8sCgpoYWJlIGVpbmUgaGF1cHBhdWdlIFdpblRWIFBWUjI1MCB6dSB2ZXJrYXVmZW4uCgpmdWVyIHdlaXRlcmUgaW5mb3JtYXRpb25lbjogd3d3LmhhdXBwYXVnZS5kZS9wYWdlcy9wcm9kdWN0cy9kYXRhXzI1MC5odG1sCgpwcmVpcyBWQi4KCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGF0ZW5yZXR0dW5nIHNlcnZlcnBsYXR0ZSBzZXJ2ZXIubWVzaXJpaS5kZSAoTWVzaXJpaSwgMjUuIFNlcCAyMDA2LCAxNDowNzoxNik6CkhhbGxvLApkYW5rIGRlcyB1bmZhZWhpZ2VuIERhdGVucmV0dGVycyBoYWJlIGljaCBqZXR6dCBhbGxlIERhdGVuIGRlcyBTZXJ2ZXJzIHdpZWRlciwKd2VyIHNlaW5lCkRhdGVuIHdpZWRlciBoYWJlbiBtb2VjaHRlLCBtb2VnZSBzaWNoIGJlaSBtaXIgbWVsZGVuLiBBbnNvbnN0ZW4gd3VlcmRlIGljaApkaWUgaW4gamVkZW0gSG9tZSB1bnRlciBvbGQgYWJsZWdlbi4KR3J1c3MgTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhdGVucmV0dHVuZyBzZXJ2ZXJwbGF0dGUgc2VydmVyLm1lc2lyaWkuZGUgKFpvb2ssIDI1LiBTZXAgMjAwNiwgMTg6MTc6MjIpOgp+IyEgcm49TWVzaXJpaSBydD0xMTU5MTg2MDM2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxODYwMzYKd2llc28gaXN0IGVyIHVuZmFlaGlnLCB3ZW5uIGVyIGRvY2ggZGllIGRhdGVuIHdpZWRlcmdlaG9sdCBoYXQ/IHpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhdGVucmV0dHVuZyBzZXJ2ZXJwbGF0dGUgc2VydmVyLm1lc2lyaWkuZGUgKE1lc2lyaWksIDI1LiBTZXAgMjAwNiwgMTk6MjE6MTcpOgp+IyEgcm49Wm9vayBydD0xMTU5MjAxMDQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxODYwMzYKZXIgaGF0IG51ciBlaW4gaW1hZ2UgZ2V6b2dlbiB2b24gZGVyIFBsYXR0ZSAoYXVmIG1laW5lbiB3dW5zY2ggbWl0IGRkX3Jlc2N1ZSkKbmFjaGRlbSBhbGwKc2VpbmUgUmV0dHVuZ3N2ZXJzdWNoZSBmZWhsZ2VzY2hsYWdlbiB3YXJlbi4gb2ZmZW5zaWNodGxpY2ggaGF0IGVyIHNpY2gKbmljaHRtYWwKZGllc2VzIEltYWdlIGFuZ2VzY2hhdXQsIGFiZXIgaWNoIDopIFVuZCBhbGxlcyB3YXIgd2llZGVyIGRhLgptZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEVkItVCBVU0ItS2FydGUgZnVlciBMaW51eCAoS251cnBzLCAyNS4gU2VwIDIwMDYsIDIzOjE2OjIwKToKSWNoIGhhYmUgbWlyIGVpbmUgSGF1cHBhdWdlIFdpbi1UViBOb3ZhLVQgZ2VrYXVmdCwgZGllIGVpbmVuIFREQTEwMDQ1SCBQaGlsaXBzClR1bmVyIGhhdCB1bmQgaWNoIGhhYiBkaWUgU2NobmF1emUgZGF2b24gdm9sbC4gRXMgaXN0IGdsdWVja3NhY2hlLCBvYiBlaW4KU3RyZWFtIGdlbG9ja3Qgd2VyZGVuIGthbm4gdW5kIGRhcyBLYW5hbHdlY2hzZWxuIGlzdCBhdWNoIG51ciBiZWkgVm9sbG1vbmQKbW9lZ2xpY2guIEljaCB3aWxsIG1pciBqZXR6dCBlaW5lbiBVU0IyIFN0aWNrIGthdWZlbiwgaGF0IGRhIGplbWFuZApFcmZhaHJ1bmdlbi9FbXBmZWhsdW5nZW4/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRWLUthcnRlIFBWUiAyNTAgKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDA2LCAwMDowNDozMSk6Cn4jISBybj1Hbm9tZSBydD0xMTU5MTc4MzgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKSG1tLCB3YXMgZ2VuYXUgbWVpbnN0IER1IG1pdCAicHJlaXMgVkIiPyBXb2Z1ZXIgc3RlaHQgZGFzICJWQiI/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVFYtS2FydGUgUFZSIDI1MCAoR25vbWUsIDI2LiBTZXAgMjAwNiwgMDA6MDY6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNTkyMjE4NzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpWZXJoYW5kbHVuZ3NCYXNpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVFYtS2FydGUgUFZSIDI1MCAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDYsIDAwOjA5OjMxKToKfiMhIHJuPUdub21lIHJ0PTExNTkyMjE5OTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpVbmQgIlByZWlzIFZlcmhhbmRsdW5nc2Jhc2lzIiBzb2xsIHdhcyBzZWluPyBJY2gga2VubmUgIlByZWlzClZlcmhhbmRsdW5nc3NhY2hlIiwgdW5kICJQcmVpcyA1MDAgRE0gVmVyaGFuZGx1bmdzYmFzaXMiLiBBYmVyIGluIGRlbQpadXNhbW1lbmhhbmcgaXN0IG1pciBuaWNodCBrbGFyIHdhcyBkYXMgYmVkZXV0ZW4gc29sbC4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRWLUthcnRlIFBWUiAyNTAgKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDA2LCAwMDoxMTo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE1OTIyMjE3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU5MTc4MzgxCkFoLCBpY2ggc2VoIGdlcmFkZSB1bnRlciBkZW0gTGluayBkYXNzIG1laW4gT1MgbmljaHQgdW50ZXJzdHVldHp0IGlzdCwgZGFubgpoYXQgc2ljaCBkYXMgZWggZXJsZWRpZ3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFRWLUthcnRlIFBWUiAyNTAgKEdub21lLCAyNi4gU2VwIDIwMDYsIDAwOjEzOjEzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTU5MjIyMTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKaWNoIGtlbm5lIGVzIGFscyBhYmt1ZXJ6dW5nIHNvd29obCBmdWVyIGRhcyBlaW5lIGFscyBhdWNoIGZ1ZXIgZGFzIGFuZGVyZS4KZnVlciBtaWNoIGJlZGV1dGV0IFZCIG9obmUgemFobCBkYWhpbnRlciwgZGFzcyBkZW0gdmVya2FldWZlciBub2NoIGtlaW5lCmtvbmtyZXRlIHphaGwgdm9yc2Nod2VidC4gZGVyIHBvdGVudGllbGxlIGthZXVmZXIgbmVubnQgaGFsdCBlaW5lbiBzdGFydC0Kd2VydCB1bmQgZGFubiBrb21tdCBtYW4gc2ljaCBpcmdlbmR3aWUgbmFlaGVyLgoKYWxzbyBpbiBkZWluZW0gZGV1dHNjaDogdmVyaGFuZGx1bmdzc2FjaGUuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVFYtS2FydGUgUFZSIDI1MCAoR3dlbiwgMjYuIFNlcCAyMDA2LCAxMDowODo1NCk6Cn4jISBybj1Hbm9tZSBydD0xMTU5MjIyMzkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKc29sYW5nZSBtYW4gbmljaHQgdmlzdWFsIGJhc2ljIGxlcm5lbiBtdXNzLCB3ZW5uIG1hbiBkYXMgdGVpbCBoYWJlbiB3aWxsLi4Kc2NuciwgR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRWLUthcnRlIFBWUiAyNTAgKE9ya3RvZXRlciwgMjYuIFNlcCAyMDA2LCAxODowMjoyNik6Cn4jISBybj1Hbm9tZSBydD0xMTU5MjIyMzkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKVW5kIHdhcyBzb2xsdGUgZGFubiBkaWUgQmFzaXMgaGVpc3Nlbj8gVkIgc2V0enQgbWFuLCB3ZW5uIG1hbiBlaW5lbiBiZXN0aW1tdGVuCkJldHJhZyBoYWJlbiBtb2VjaHRlLCBhYmVyIGJlcmVpdCBpc3QsIHNpY2ggdm9uIGRlbSAodW50ZXIgd2VsY2hlbiBCZWRpbmd1bmdlbgphdWNoIGltbWVyKSBoZXJ1bnRlciBoYW5kZWxuIHp1IGxhc3NlbiwgYW5zb25zdGVuIGhhdCBtYW4ga2VpbmUgQmFzaXMgZnVlcgplaW5lIFZlcmhhbmRsdW5nIGdlYm90ZW4sIGVyZ28gZ2lidCBlcyBrZWluZSBWZXJoYW5kbHVuZ3NiYXNpcyB1bmQgZXJnbyBtYWNodApWQiBrZWluZW4gU2lubi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBUVi1LYXJ0ZSBQVlIgMjUwIChIdW1uaSwgMjYuIFNlcCAyMDA2LCAxODowNjozMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE1OTI4NjU0NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU5MTc4MzgxCk1hZyBwcmluemlwaWVsbCByaWNodGlnIHNlaW4sIGRlbm5vY2ggaGF0IHNpY2ggZGllc2UgQXVzc2FnZSBpbiBLbGVpbmFuemVpZ2VuCnNvIGVpbmdlYnVlcmdlcnQuIEViZW5zbyB3aWUgIlVua29zdGVuIiBhdWNoIGVpZ2VudGxpY2ggZmFsc2NoIGlzdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUVi1LYXJ0ZSBQVlIgMjUwIChIdW1uaSwgMjYuIFNlcCAyMDA2LCAxODowODowNik6Cn4jISBybj1IdW1uaSBydD0xMTU5Mjg2NzkyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKT2ssIFpvb2sga29ycmlnaWVydCBtaWNoIGdlcmFkZTogVW5rb3N0ZW4gaXN0IG5pY2h0IGZhbHNjaC4gU29ycnksIGljaCBoYWIgZGFzCm51ciBhdWZnZXNjaG5hcHB0IHVuZCBkYW5uIHdlaXRlcmdlcGxhcHBlcnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogVFYtS2FydGUgUFZSIDI1MCAoT3JrdG9ldGVyLCAyNi4gU2VwIDIwMDYsIDE4OjExOjIzKToKfiMhIHJuPUh1bW5pIHJ0PTExNTkyODY3OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpFcnN0ZW5zIGthbm4gaWNoIGRhcyBtaXQgZGVtICJoYXQgc2ljaCBzbyBlaW5nZWJ1ZXJnZXJ0IiBuaWNodCBiZXN0YWV0aWdlbiB1bmQKendlaXRlbnMgd3VlcmRlIGVzIGltbWVyIG5vY2gga2VpbmVuIFNpbm4gbWFjaGVuIHVuZCBtYW4ga29lbm50ZSBlcyBnZW5hdSBzbwpndXQgd2VnbGFzc2VuLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRWLUthcnRlIFBWUiAyNTAgKEh1bW5pLCAyNi4gU2VwIDIwMDYsIDE4OjEyOjEzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTU5Mjg3MDgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKQWxzbyBndXQsIER1IGthbm5zdCBkYXMgbmljaHQuIEljaCBrYW5uIGRhcyBzY2hvbi4gVW5kIGpldHp0PwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFRWLUthcnRlIFBWUiAyNTAgKFZhbmhlbHNpbmcsIDI2LiBTZXAgMjAwNiwgMTg6MTM6MTMpOgp+IyEgcm49Q3JvZnQgcnQ9MTE1OTI4NzE0OSByZz1zY2htYXJybgp+IyEgdGlkPTExNTkxNzgzODEKR2lidCBlcyBuZSBBYmt1ZXJ6dW5nIHdpZSAiVlMiIGZ1ZXIgIlZlcmhhbmRsdW5nc3NhY2hlIj8KClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBUVi1LYXJ0ZSBQVlIgMjUwIChPcmt0b2V0ZXIsIDI2LiBTZXAgMjAwNiwgMTg6MjU6MzUpOgp+IyEgcm49SHVtbmkgcnQ9MTE1OTI4NzEzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU5MTc4MzgxCj5JY2gga2FubiBkYXMgc2Nob24uIFVuZCBqZXR6dD8KSmV0enQgbWFjaHQgZXMgaW1tZXIgbm9jaCBrZWluZW4gU2lubi4gRHUga2FubnN0IGRhIGF1Y2ggT3N0ZXJtb250YWcgb2RlcgpBdXRvdW5mYWxsIGhpbnNjaHJlaWJlbiB1bmQgZGFtaXQgbWVpbmVuLCBkYXNzIGR1IEFuZ2Vib3RlIGZ1ZXIgZGFzIGhhYmVuCm1vZWNodGVzdCwgd2FzIGR1IGFuYmlldGVzdC4gU2lubiBtYWNodCBkYXMgZ2VuYXVzb3dlbmlnIHdpZSBWQiB6dSBzY2hyZWliZW4Kb2huZSBlaW5lIGVudHNwcmVjaGVuZGUgQmFzaXMgZ2VnZWJlbiB6dSBoYWJlbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogVFYtS2FydGUgUFZSIDI1MCAoSHVtbmksIDI2LiBTZXAgMjAwNiwgMTg6MzA6NTIpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNTkyODc5MzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpJY2ggaGFiZSBuaWNodCBiZWhhdXB0ZXQsIGRhc3MgZXMgU2lubiBlcmdpYnQuIEljaCBoYWJlIG51ciBnZXNhZ3QsIGRhc3MgZWluZQpLbGVpbmFuemVpZ2UgbWl0ICJQcmVpcyBWQiIgdWVibGljaCBpc3QsIGF1Y2ggb2huZSBkYXNzIGVpbmUgWmFobCBkYSBzdGVodC4KVW5kIHdlbm4gRHUgZWluZmFjaCBtYWwgZWluIHdlbmlnIGhpbnNjaGF1c3QsIHNpZWhzdCBEdSBkYSB2aWVsZS4gR29vZ2xlIG1hbApkYW5hY2gsIGRhbm4gZmluZGVzdCBEdSB2aWVsZSBBbnplaWdlbiwgZGllIGtlaW5lbiBQcmVpcyBuZW5uZW4gdW5kCnN0YXR0ZGVzc2VuIFByZWlzIFZCIGhpbnNjaHJlaWJlbiAtIHVuZCBuYXR1ZXJsaWNoIGdpYnRzIGF1Y2ggdmllbGUsIHdvIGRpZQpaYWhsIGRhIHN0ZWh0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBUVi1LYXJ0ZSBQVlIgMjUwIChab29rLCAyNi4gU2VwIDIwMDYsIDIxOjM1OjEwKToKfiMhIHJuPUh1bW5pIHJ0PTExNTkyODgyNTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpEYSB3dWVyZGUgT3JrVCBiZXN0aW1tdCBuaWUgYW5ydWZlbiwgc2VsYnN0IHdlbm4gZXMgaXJnZW5kd2VsY2hlIHRvbGxlbgpHbGFlc2VyIG9kZXIgd2F0dGllcnRlIEJyYXRlbiBnaWJ0LCB3ZWlsIC4uLiBqYSwgd2VpbCBlaW4gIlByZWlzIFZCIiAKZG9jaCBlYmVuIEtFSU5FTiBTSU5OIE1BQ0hUISEhITExMSEhISEgOykKClpvb2ssIGtpcmNoZXJuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBUVi1LYXJ0ZSBQVlIgMjUwIChab29rLCAyNi4gU2VwIDIwMDYsIDIxOjM1OjE2KToKfiMhIHJuPVpvb2sgcnQ9MTE1OTI5OTMxMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU5MTc4MzgxCmtpY2hlcm5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBUVi1LYXJ0ZSBQVlIgMjUwIChKaW1kaWdyaXosIDI5LiBTZXAgMjAwNiwgMTQ6Mjc6MDQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNTkyODcwODMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQpBYWFhYWgsIER1IGdlaHN0IG1pdCBleHRyZW0gc2NobGVjaHRlbiBCZWlzcGllbCB2b3JhbiwKICIuLi4gd3VlcmRlIGVzIGltbWVyIG5vY2gga2VpbmVuIFNpbm4gbWFjaGVuIC4uLiIgaXN0CnNwcmFjaGxpY2ggZ2VuYXVzbyBmYWxzY2ggd2llICJWQiIgb2huZSBQcmVpc2FuZ2FiZS4gRWluZQpTYWNoZSBrYW5uIGhvZWNoc3RlbnMgIlNpbm4gZXJnZWJlbiIgb2RlciAic2lubnZvbGwgc2VpbiIsIG5pY2h0CmFiZXIgIlNpbm4gbWFjaGVuIi4gSmEgZGFzIGhhdCBzaWNoIGF1Y2ggZWluZ2VidWVyZ2VydCwgYWJlciBzb2xjaGUKRWluYnVlcmdlcnVuZ2VuIGhhc3QgRHUgamEgZ3JhZGUga3JpdGlzaWVydC4KClZCIHN0ZWh0IHVlYnJpZ2VucyBpbiBXYWhyaGVpdCBmdWVyICJWaWN0b3JpYSBCaXR0ZXIiLCBkZW0gZWluemlnCmhhbGJ3ZWNocyBnZW5pZXNzYmFyZW4gQmllciBhdXMgQXVzdHJhbGllbi4KCkpkQgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogVFYtS2FydGUgUFZSIDI1MCAoTXVhZGliLCAzMC4gU2VwIDIwMDYsIDEyOjM1OjI1KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTU5NTMyODI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKbWlyIGhhdCBYWFhYIGF1Y2ggZ2VzY2htZWNrdAphYmVyIFZCIGlzdCBhdWNoIG5ldHQuIGRhcyBzdGltbXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBUVi1LYXJ0ZSBQVlIgMjUwIChKaW1kaWdyaXosIDMwLiBTZXAgMjAwNiwgMjE6MzU6MjUpOgp+IyEgcm49TXVhZGliIHJ0PTExNTk2MTI1MjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE1OTE3ODM4MQoqZ3J1c2VsKgpNZWluIEVpbmRydWNrIHZvbiBYWFhYIHdhciBpbiBldHdhIDMgVGFnZSBhbHRlcwpXZWlzc3d1cnNjaHRrb2Nod2Fzc2VyIGR1cmNoIGVpbmVuIHNjaG9uIHNjaGltbWVsaWdlbgpLYWZmZWVmaWx0ZXIgZ2llc3NlbiB1bmQgbWl0IFNwdWVsd2Fzc2VyIG5vY2ggZXR3YXMKYW5mcmlzY2hlbi4gKm5hY2tlbmhhYXJlYXVmc3RlbGwqCktsYXIgZGllIEF1c3NpZXMgc2NodWV0dGVuIHNpY2ggWFhYWCByZWluIGFscyB3YWVycwpkYXMgTWFubmEgc2VsYnN0LCBhYmVyIHNvdmllbCBBbnBhc3N1bmcgd2FyIGZ1ZXIgbWljaApkYW5uIGRvY2ggenV2aWVsIHZlcmxhbmd0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFRWLUthcnRlIFBWUiAyNTAgKE1hcmN1cywgMzAuIFNlcCAyMDA2LCAyMTozNjoxMyk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE1OTY0NDkyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTU5MTc4MzgxCk1pciBiaXR0ZSBlaW4gVkIgd2VubiB1ZWJlcmhhdXB0LgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogVFYtS2FydGUgUFZSIDI1MCAoR3JpbW1ib3JuLCAzMC4gU2VwIDIwMDYsIDIxOjQxOjE3KToKfiMhIHJuPU1hcmN1cyBydD0xMTU5NjQ0OTczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNTkxNzgzODEKTGFzcyBEaWNoIG5pY2h0IGF1ZmhhbHRlbiwgVmlzdWFsIEJhc2ljIGlzdCBmdWVyIGFsbGUgZGEuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZXMgbmV1ZSBIYW5keT8gKFNoYXJpYSwgMTIuIE9rdCAyMDA2LCAxNjo1NzoyMyk6CgpXYXMgd3VlcmRldCBpaHIgbWlyIHp1cnplaXQgZnVlciBlaW4gSGFuZHkgZW1wZmVobGVuPyAKR2lidCBlcyBlaW4gSGFuZHkgd2FzIHZlcmdsZWljaGJhciAob2RlciBiZXNzZXIpIGFscyBkYXMgTm9raWEgNjIzMCBpc3QgPwoKU2hhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VsY2hlcyBuZXVlIEhhbmR5PyAoWm9vaywgMTIuIE9rdCAyMDA2LCAxNzoyMDowNSk6Cn4jISBybj1TaGFyaWEgcnQ9MTE2MDY2NTA0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYwNjY1MDQzCngtcG9zdGVuIGlzdCB3ZWljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlbGNoZXMgbmV1ZSBIYW5keT8gKEtudXJwcywgMTMuIE9rdCAyMDA2LCAxMzoxOTo0Myk6Cn4jISBybj1TaGFyaWEgcnQ9MTE2MDY2NTA0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYwNjY1MDQzCk5pbW0gZGFzIEU3MCwgZGllIEUtU2VyaWUgaXN0IHRvbGwuIFVuZCB3ZW5uIGR1IGRpciBlaW4gTm9raWEgaG9sc3QsIG5pbW0gZWlucwptaXQgU2VyaWVzNjAgYWxzIEJldHJpZWJzeXN0ZW0uIChodHRwOi8vczYwLmNvbS9saWZlL3M2MHBob25lcykgCgpEZXIgU0lQLUNsaWVudCBpbSBFNzAgKyBXbGFuIG1hY2h0IGRhcyB6dSBlaW5lbSBWb0lQLVRlbGVmb24uIFdlbm4gZHUgV2xhbgp6dWhhdXNlIGhhc3QsIGthbm5zdCBkdSBkaXIgZGVpbmUgZWlnZW5lICJIb21lem9uZSIgYmFzdGVsbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhdGEtUmFpZC1Db250cm9sbGVyIGZ1ZXIgTGludXggKEZlaWdsaW5nLCAxNi4gT2t0IDIwMDYsIDEzOjI1OjUwKToKSGFsbG8sCgppY2ggc3VjaGUgZWluZW4gU0FUQS1SYWlkLUNvbnRyb2xsZXIgZGVyIHVudGVyIExpbnV4IGxhZXVmdC4KRGVyIFByZWlzIGlzdCBoaWVyIG5hdHVlcmxpY2ggZWluIHdpY2h0aWdlciBQdW5rdCwgZXIgc29sbHRlCm5pY2h0IHp1IHRldWVyIHNlaW4sIHNvbGx0ZSBhYmVyIGVpbiBlY2h0ZXMgSGFyZHdhcmUtUmFpZCBzZWluLgpEaWUsIGRpZSBpY2gga2VubiBzaW5kIGFsbGVzIEZha2UtUmFpZHMgdW5kIHVudGVyIExpbnV4IG11c3MgaWNoCmRhbm4gZWluIFNvZnR3YXJlLVJhaWQgZmFocmVuICh3YXMgaGllciBpbW1lcndpZWRlciB6dSBQcm9ibGVtZW4KZnVlaHJ0KS4KCkZlaWdsaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2F0YS1SYWlkLUNvbnRyb2xsZXIgZnVlciBMaW51eCAoUnVtYXRhLCAxNi4gT2t0IDIwMDYsIDEzOjMxOjM3KToKfiMhIHJuPUZlaWdsaW5nIHJ0PTExNjA5OTc5NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2MDk5Nzk1MApEYXMgaGllciBpc3QgZWluIGd1dGVyIFN0YXJ0cHVua3Q6IE9GaHR0cDovL2NkYi5zdXNlLmRlLwpPZGVyIGh0dHA6Ly93d3cudHV4aGFyZHdhcmUuZGUKb2RlciBhdWNoIGh0dHA6Ly93d3cudHV4ZnV0dGVyLmRlL3dpa2kvS2F0ZWdvcmllOkxpbnV4X0hhcmR3YXJlCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXRhLVJhaWQtQ29udHJvbGxlciBmdWVyIExpbnV4IChSdW1hdGEsIDE2LiBPa3QgMjAwNiwgMTM6MzI6MjUpOgp+IyEgcm49UnVtYXRhIHJ0PTExNjA5OTgyOTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2MDk5Nzk1MAooZGFzIG1pdHRsZXJlIGlzdCBlaW4gSGFlbmRsZXIsIGRhIGRhcmZzdCBEdSB0cmV0ZW4sIHdlbm5zIGRlbm4KZG9jaCBuaWNodCBnZWh0KQpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFwdG9wIHVuZCBCZWFtZXIgKEJhbWJ1bGtvLCAgOS4gTm92IDIwMDYsIDEwOjQ3OjIwKToKSWNoIGhhYmUgZWluIFByb2JsZW0gbWl0IG1laW5lbSBMYXB0b3AuIEljaCBrYW5uIG9obmUgUHJvYmxlbWUgZWluZW4gTW9uaXRvcgphbnNjaGxpZXNzZW4uIFdlbm4gaWNoIGplZG9jaCBlaW5lbiBCZWFtZXIgYW4gZGVuIGdsZWljaGVuIEF1c2dhbmcKYW5zY2hsaWVzc2UsIGVya2VubnQgZGVyIExhcHRvcCBkaWVzZW4gbmljaHQuIERhcyBnZWh0IHNvIG1pdCBqZWRlbSBCZWFtZXIuCkhhdCBpcmdlbmRqZW1hbmQgZWluZSBlcmtsYWVydW5nIGRhZnVlcj8KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFwdG9wIHVuZCBCZWFtZXIgKEFyaywgIDkuIE5vdiAyMDA2LCAxNDoyMjowOCk6Cn4jISBybj1CYW1idWxrbyBydD0xMTYzMDY1NjQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjMwNjU2NDAKV2VubiBlcyBlaW4gYWVsdGVyZXIgTGFwdG9wIGlzdCwgbWFsIHNjaGF1ZW4sIG9iIGRhcyBOZXR6dGVpbCBub2NoIGdlbnVnIFNhZnQKbGllZmVydC4gSXN0IGVpbmVtIEtvbGxlZ2VuIG1pdCBlaW5lbSBhZWx0ZXJlbiBMYXB0b3AgcGFzc2llcnQgLi4uIHVuZ3VlbnN0aWcKYmVpIG5lciBQcmFlc2VudGF0aW9uLiBNb25pdG9yIHVuZCBOb3JtYWxiZXRyaWViIHdhcmVuIGFiZXIgcHJvYmxlbWxvcywgZXMgbGFnCmFtIGF1c2dlbGFzdGV0ZW4gTmV0enRlaWwuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYXB0b3AgdW5kIEJlYW1lciAoQmFtYnVsa28sICA5LiBOb3YgMjAwNiwgMTU6MDI6MTUpOgp+IyEgcm49QXJrIHJ0PTExNjMwNzg1Mjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2MzA2NTY0MApEZXIgTGFwdG9wIGlzdCAxLjUgSmFocmUgYWx0LgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkd1ZW5zdGlnZW4gQmVhbWVyIGthdWZlbiAoQmFtYmksIDExLiBOb3YgMjAwNiwgMDc6NTU6NDYpOgpEYSBlcyBnZXJhZGUgZWggdW0gQmVhbWVyIGdlaHQuCkljaCBzcGllbGUgbWl0IGRlbSBHZWRhbmtlbiwgbWl0IGVpbmVuIFZpZGVvYmVhbWVyIGZ1ZXJzIFdvaG56aW1tZXIgenUga2F1ZmVuLAptaXQgZGVtIGljaCBkYW5uICh2b20gUEMgYXVzKSBEVkRzIHVuZCBWaWRlb3MgKHZvbSBWSFMtUmVrb3JkZXIgYXVzKSBzY2hhdWVuCmthbm4uIERhIGljaCBudW4gYWJlciBrZWluIFNwZXppYWxpc3QgaW4gZGllc2VtIEJlcmVpY2ggYmluLCB3dWVyZGUgaWNoIGdlcm5lCndpc3Nlbiwgd29yYXVmIG1hbiBrZW5uemFobGVudGVjaG5pc2NoIGJlaW0gS2F1ZiBlaW5lcyBCZWFtZXJzIGFjaHRlbiBzb2xsLgpTcG9udGFuIGZhbGxlbiBtaXIgZGllIGZvbGdlbmRlbiBTYWNoZW4gZWluOgoKMS4gV2llIGhlbGwgaXN0IGRhcyBCaWxkPwoyLiBXaWUgaG9jaCBpc3QgZGllIG1heGltYWxlIEF1ZmxvZXN1bmc/CjMuIFdlbGNoZSBBdWZsb2VzdW5nZW4ga2FubiBtYW4gYmVudXR6ZW4/CjQuIFdpZSBsYW5nZSBoYWVsdCBlaW5lIEJpcm5lICh1bmQgd2lldmllbCBrb3N0ZXQgZWluZSBFcnNhdHpiaXJuZSk/CjUuIFdpZSB0ZXVlciBpc3QgZGVyIEJlYW1lcj8KNi4gSXN0IGVzIGVpbmUgYmVrYW5udGUgTWFya2U/CjcuIElzdCBkaWUgR2VyYWV1c2NoLSB1bmQgV2Flcm1lZW50d2lja2x1bmcgZGVzIEJlYW1lcnMgbmVubmVuc3dlcnQ/CjguIFdlbGNoZSBFaW5nYWVuZ2UgYmVzaXR6dCBkZXIgQmVhbWVyPwoKSWNoIHJlY2huZSBtaXQgZWluZXIgQXVzbGFzdHVuZyB2b24gZXR3YSAxMCBTdHVuZGVuIHBybyBXb2NoZS4gTG9obnQgZXMgc2ljaApkYW5uIHNjaG9uLCBlaW5lbiB0ZXVyZXJlbiBCZWFtZXIgenUga2F1ZmVuLCBvZGVyIGJpbiBpY2ggbWl0IDQwMC01MDAgRVVSIG5vY2gKaW4gZWluZXIgc2lubnZvbGxlbiBQcmVpc3NwYXJ0ZT8KCk1mRywgQmFtYmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmdhZW56dW5nZW4gZnVlciBHbnUgRW1hY3MgKFpvb2ssIDE2LiBOb3YgMjAwNiwgMTA6MDg6NTUpOgpPYnNrdXJlIEZyYWdlOiBIYXQgamVtYW5kIHZvbiBFdWNoIHNjaG9uIG1hbCBlaW5lIEVyZ2Flbnp1bmcgZnVlcgpHbnUgRW1hY3MgZ2VzY2hyaWViZW4gdW5kIGRhYmVpIGRhbm4gYXVjaCBpcmdlbmR3aWUgZWluZSBCZW51dHplcnNjaG5pdHQtCnN0ZWxsZSBnZXN0cmlja3Q/IEljaCBzdWNoIGdyYWQgbmVuIExlaXRmYWRlbiwgd2llIG1hbiBkYXMgd29obApiZXdlcmtzdGVsbGlndCAoS25vZXBmZSwgRWluZ2FiZWZlbGRlciB1bmQgc28gU2FjaGVuIHp1bSBBdWZrbGFwcGVuIApoaWVyYXJjaGlzY2hlciBEYXRlbikuIEhhdCBkYSBqZW1hbmQgbmVuIEhPV1RPIG9kZXIgbmUgSWRlZSBvZGVyIG5lbgpCZWthbm50ZW4sIGRlciBuZSBJZGVlIG9kZXIgbmVuIEhPV1RPIGhhdC4uLj8gCgpKZWRlIEhpbGZlIGVyd3VlbnNjaHQuIDspCgpaLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2hudW5nZW4uLi4gKEh1bW5pLCAxNi4gTm92IDIwMDYsIDE3OjE3OjA5KToKSHVodSwKCmZvbGdlbmRlciBGYWxsOgoKRWluIElULUJldHJpZWIgaGF0IHVucyBpbiBkZXIgU2NodWxlIGRpZSBSZWNobmVyIGF1Zmdlc3RlbGx0LiBEaWVzZSBoYWJlbgpGZXN0cGxhdHRlbiBlaW5nZWJhdXQsIHVuZCBkYXJhdWYgZ2lidCBlcyBHYXJhbnRpZSAobiBKYWhyZSkuIDIgZGVyIFBsYXR0ZW4Kc2luZCBudW4gYWJnZXJhdWNodC4gRGFyYXVmaGluIGhhYmVuIHdpciBhbHMgR2FyYW50aWUgbmV1ZSBQbGF0dGVuIGJla29tbWVuCihpbmtsLiBFaW5iYXUpLiBTb3dlaXQsIHNvIGd1dC4KCk51biBoYXQgZGFzIElULVVudGVybmVobWVuIGFiZXIgZGllIE5ldWluc3RhbGxhdGlvbiBkZXIgUmVjaG5lciBpbiBSZWNobnVuZwpnZXN0ZWxsdCAobmljaHQgdWViZXJ0ZXVlcnQsIGF1Y2ggbmljaHQgZ2VyYWRlIGJpbGxpZyAtIDI5IEV1cm8gcHJvIFJlY2huZXIKcGx1cyBTdGV1ZXIgLSBkZXIgUHJlaXMgaXN0IGFuIHNpY2ggSU1ITyBvaykuIERpZSBGcmFnZSBsYXV0ZXQ6IEtvZW5udGUgbWFuCmZ1ZXIgZGllc2UgS29zdGVuIGF1Y2ggZGllIFBsYXR0ZW5oZXJzdGVsbGVyIHZlcmFudHdvcnRsaWNoIG1hY2hlbj8KCkljaCBoYWJlIG1laW5lbSBDaGVmIGdlZ2VudWViZXIgc28gYXJndW1lbnRpZXJ0OiBXZW5uIGF1ZiBkZXIgUGxhdHRlIGVpbiBCdWNoCndhZXJlLCBkYXMgaWNoIGdlc2NocmllYmVuIGhhYmUsIHVuZCBkYXMgei5CLiBtZWhyZXJlIHRhdXNlbmQgRXVybyB3ZXJ0IHNlaSwKZGFubiB3dWVyZGUgaWNoIGRpZSBqYSBhdWNoIG5pY2h0IHdpZWRlcmtyaWVnZW4uIEljaCB3ZWlzcyBhYmVyIG5pY2h0LCBvYgpkaWVzZSBBcmd1bWVudGF0aW9uIHNjaGx1ZXNzaWcgaXN0LiBEZXIgRmFsbCBhbiBzaWNoIGlzdCBnZWtsYWVydCwgd2lyIHdlcmRlbgpkYXMgd29obCB6YWhsZW4sIGFiZXIgaWNoIHdlaXNzIG5pY2h0LCBvYiBzaWNoIGplbWFuZCB2b24gRXVjaCBtaXQgc293YXMKYXVza2VubnQuCgpXZXIgc2ljaCBhbHNvIGJlZmxlaXNzaWd0IGZ1ZWhsdCwgZGF6dSB3YXMgenUgc2FnZW4sIHdhZXJlIGljaCBkYW5rYmFyIGZ1ZXIKenVrdWVuZnRpZ2UgYWVobmxpY2hlIEZhZWxsZS4KCkthbm4gamEgYXVjaCBtYWwgdW0gbWVociBhbHMgMngyOSBFdXJvIGdlaGVuLi4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2hudW5nZW4uLi4gKFJ1bWF0YSwgMTYuIE5vdiAyMDA2LCAxNzoyNDo1MCk6Cn4jISBybj1IdW1uaSBydD0xMTYzNjkzODI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjM2OTM4MjkKRGVpbmUgQXJndW1lbnRhdGlvbiBpc3QgamVkZW5mYWxscyBuaWNodCBzY2hsdWVzc2lnLCB3ZWlsIG1hbiBkYSBtaXQgZWluZW0KaGVyemxpY2hlbiAiVGphLCB3ZW5uIER1IGtlaW5lIEJhY2t1cHMgbWFjaHN0IiBrb250ZXJuIGthbm4uCgpBYmVyIGRhcyBiZWFudHdvcnRldCBEZWluZSBGcmFnZSBuYXR1ZXJsaWNoIG5vY2ggbmljaHQgLi4uCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWNobnVuZ2VuLi4uIChIdW1uaSwgMTYuIE5vdiAyMDA2LCAxNzoyOTozOSk6Cn4jISBybj1SdW1hdGEgcnQ9MTE2MzY5NDI5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYzNjkzODI5Ck9laCwgbWVpbmUgQXJndW1lbnRhdGlvbiB3YXIgZWJlbiwgZGFzcyBpY2ggamEgYXVjaCBrZWluIFJlY2h0IGF1ZgpTY2hhZGVuc2Vyc2F0eiBoYWJlLiBVbmQgZXMgaXN0IGphIHNvenVzYWdlbiBlaW4gU2NoYWRlbiAocmVjaHQgZ2VyaW5nLCBkYQplaW5mYWNoIHdpZWRlcmF1ZnNwaWVsYmFyKSBkdXJjaCBkZW4gUGxhdHRlbmRlZmVrdCBlbnRzdGFuZGVuLiAoRGVyIENoZWYKd29sbHRlIG5hZW1saWNoIG5pY2h0IHphaGxlbiwgaWNoIHdhciBlcnN0bWFsIGRlciBNZWludW5nLCBlciBtdWVzc2UgemFobGVuLApkZXJ6ZWl0IGJpbiBpY2ggYWJlciBlYmVuIG5pY2h0IG1laHIgc2ljaGVyLCBvYiBtZWluZSBBcmd1bWVudGF0aW9uIGhhbHQKc2NobHVlc3NpZyBpc3QpLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWNobnVuZ2VuLi4uIChBcmssIDE2LiBOb3YgMjAwNiwgMTc6MzM6NTQpOgp+IyEgcm49SHVtbmkgcnQ9MTE2MzY5MzgyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYzNjkzODI5CkZlc3RwbGF0dGVuIGhhYmVuIEdhcmFudGllLCBuaWNodCBkaWUgRGF0ZW4gb2RlciBkYXMgT1MuIEZ1ZXIgRWluYmF1IHVuZApOZXVpbnN0YWxsYXRpb24gYmlzdCBEdSBhbHMgS3VuZGUgenVzdGFlbmRpZywgbmljaHQgZGVyIEhlcnN0ZWxsZXIgb2RlcgpQYXJ0bmVyLCBkZXIgdmVya2F1ZnQuIEFsbGVyZGluZ3Mga2FubiBlciBuYXR1ZXJsaWNoIGRhZnVlciBEaWVuc3RsZWlzdHVuZwphbmJpZXRlbi4gRGFzIGlzdCBkZXIgUHJlaXMgdm9uIHNhdWJpbGxpZyAoYWJlciBuaWNodCBtZWhyKS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWNobnVuZ2VuLi4uIChBcmssIDE2LiBOb3YgMjAwNiwgMTc6MzU6NDIpOgp+IyEgcm49SHVtbmkgcnQ9MTE2MzY5NDU3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYzNjkzODI5CkVyIG11c3MgbmljaHQgemFobGVuLCBudXIgd2VubiBpaHIgZGllIEZpcm1hIG1pdCBOZXVpbnN0YWxsYXRpb24gYmVhdWZ0cmFndApoYWJ0IHVuZCBlaW4gVmVydHJhZyB6dXN0YW5kZSBnZWtvbW1lbiBpc3QgKG9kZXIgZnJ1ZWhlciBiZWkgZGVyCkdhcmFudGllZmFsbHJlZ2VsdW5nKS4gRGFubiBpc3QgYWJlciBkaWUgRGlza3Vzc2lvbiBlaCBtdWVzc2lnLiBVbmQgZGFzIEJhY2t1cApBcmd1bWVudCB6aWVodCAuLi4gZGEgd2FlcmUgZGllIEZpcm1hIGdsZWljaCBkYWJlaSB1bmQgd3VlcmRlIGVpbgpCYWNrdXBrb256ZXB0IHZvcnN0ZWxsZW4gd29sbGVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlY2hudW5nZW4uLi4gKEppbWRpZ3JpeiwgMTYuIE5vdiAyMDA2LCAxODoyODozOCk6Cn4jISBybj1BcmsgcnQ9MTE2MzY5NDk0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYzNjkzODI5CkRhcyBpc3QgZWluIGtsYXJlciBGYWxsLiBEaWUgR2FyYW50aWUgZXJzdHJlY2t0IHNpY2ggYXVmIGRpZQpIYXJ3YXJlLiBEaWUgTmV1aW5zdGFsbGF0aW9uIGtvZW5udCBJaHIgc2VsYmVyIG1hY2hlbiAodW5kIG5pY2h0CnphaGxlbikgb2RlciBlYmVuIG1hY2hlbiBsYXNzZW4gKHdpZSBwYXNzaWVydCkgdW5kIGJlemFobGVuLgpEYSBEdSBhbHMgVmVyYnJhdWNoZXIgZGFtaXQgcmVjaG5lbiBtdXNzdCBkYXNzIGRpZSBQbGF0dGUKa2FwdXR0IGdlaHQgdW5kIGdnZi4gZGllIERhdGVuIHZlcmxvcmVuIGdlaGVuLCBpc3QgZXMgYXVjaApEZWluZSBBdWZnYWJlIFZvcmtlaHJ1bmdlbiB6dSB0cmVmZmVuICh3aWUgekIgQmFja3VwKS4KRGVpbiBBcmd1bWVudCBnZWdlbnVlYmVyIERlaW5lbSBDaGVmIGlzdCBhbHNvIG5hdHVlcmxpY2gKa29ycmVrdCwgaGF0IGVycyBkZW5uIGdlc2NobHVja3Q/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUmVjaG51bmdlbi4uLiAoT3JrdG9ldGVyLCAxNi4gTm92IDIwMDYsIDIwOjAwOjQzKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTYzNjk4MTE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjM2OTM4MjkKSWNoIGRlbmtlIGRhcyBpc3QgZ2VuYXUgZGVyIFB1bmt0OiBNdXNzIGljaCBhbHMgS3VuZGUgZGFtaXQgcmVjaG5lbiwgZGFzcwppbm5lcmhhbGIgZGVyIEdhcmFudGllemVpdCAgZGllIFBsYXR0ZSBrYXB1dHQgZ2VodCB1bmQgZGllIERhdGVuIHdlZyBzaW5kCihvaG5lIEJhY2t1cCksIG9kZXIga2FubiBpY2ggbWljaCBhdWYgZGllIEdhcmFudGllIHZlcmxhc3NlbiB1bmQgYmVrb21tZSBkYW5uCmF1Y2ggRGF0ZW52ZXJsdXN0ZSwgYnp3LiBLb3N0ZW4gZnVlciBOZXVpbnN0YWxsYXRpb24sIGVyc2V0enQ/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUmVjaG51bmdlbi4uLiAoQXJrLCAxNi4gTm92IDIwMDYsIDIwOjA5OjI1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTYzNzAzNjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjM2OTM4MjkKRHUgd2lsbHN0IGRpZSBIYXJkd2FyZWZpcm1lbiBydWluaWVyZW4sIHdpZT8gR3V0LCBkYXNzIHdpciBzb2xjaGUgR2VzY2hhZWZ0ZQptaXQgRm9sZ2VzY2hhZWRlbiAodW5iZWdyZW56dGVyIEhhZnR1bmcpIGFibGVobmVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJlY2hudW5nZW4uLi4gKEdub21lLCAxNy4gTm92IDIwMDYsIDAxOjU5OjQ3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTYzNzAzNjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjM2OTM4MjkKKmxhY2gqCgpkdSBrcmllZ3N0IGRpZSBnYXJhbnRpZSwgZGFzcywgd2VubiBkaWUgZmVzdHBsYXR0ZSBpbiBlaW5lciBiZXN0aW1tdGVuCnplaXQga2FwdXR0Z2VodCB1bmQgYW4gZGllc2VtIGRlZmVrdCBkdSBfbmljaHRfIHNjaHVsZCBiaXN0LCBlaW5lIG5ldWUKYmVrb21tc3QuIG5pY2h0IG1laHIgdW5kIG5pY2h0IHdlbmlnZXIuCnNvbnN0IHdhZXJlbiBtYW5jaGVuIHNjaG9uIHppZW1saWNoIHJlaWNoLgoKInNlaHIgZ2VlaHJ0ZXIgaGVyciBoZXJzdGVsbGVyLCBhdWYgZGllc2VyIHBsYXR0ZSB3YXJlbiBtZWluZQogdW52ZXJvZWZmZW50bGljaHRlbiB3ZXJrZSwgaWNoIGtyaWVnZSB2b24gaWhuZW4gamV0enQgJEFTVFJPTk9NSVNDSEVfU1VNTUUuIgoKc2Nob24ga2xhci4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJnYWVuenVuZ2VuIGZ1ZXIgR251IEVtYWNzIChab29rLCAxNy4gTm92IDIwMDYsIDExOjM2OjMyKToKfiMhIHJuPVpvb2sgcnQ9MTE2MzY2ODEzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTYzNjY4MTM1CldvaGwgdHV0IGRhcyBQYWtldCAid2lkZ2V0IiB3YXMgaWNoIHdpbGw7IGFsbGVpbiwgZXMgaXN0IG5vY2ggZXR3YXMKbXVlaHNhbS4gU2Nob24gbWFsIGplbWFuZCBtaXQgenUgdHVuIGdlaGFidD8KWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWC1XaW5kb3dzIFByb2JsZW0gKEJhbWJ1bGtvLCAyNC4gTm92IDIwMDYsIDE4OjA0OjM4KToKS2FubiBqZW1hbmQgbWl0IGRlciBGZWhsZXJtZWxkdW5nIGV0d2FzIGFuZmFuZ2VuPwoKWCBFcnJvciBvZiBmYWlsZWQgcmVxdWVzdDogIEJhZFdpbmRvdyAoaW52YWxpZCBXaW5kb3cgcGFyYW1ldGVyKQogIE1ham9yIG9wY29kZSBvZiBmYWlsZWQgcmVxdWVzdDogIDE4IChYX0NoYW5nZVByb3BlcnR5KQogIFJlc291cmNlIGlkIGluIGZhaWxlZCByZXF1ZXN0OiAgMHgwCiAgU2VyaWFsIG51bWJlciBvZiBmYWlsZWQgcmVxdWVzdDogIDEzNAogIEN1cnJlbnQgc2VyaWFsIG51bWJlciBpbiBvdXRwdXQgc3RyZWFtOiAgMTM1CgpFaWdlbnRsaWNoIHNvbGx0ZSB2b24gZWluZW0gUHJvZ3JhbW0gZWluIHh0ZXJtIHN0YXJ0ZW4sIHdhcyBlcyBqZWRvY2ggbmljaHQKdHV0LiBTdGFydGV0IG1hbiBqZWRvY2ggdm9uIGVpbmVtIGFuZGVyZW4gUmVjaG5lciBkaWVzZXMgUHJvZ3JhbW0gYmVrb21tdCBtYW4KZG9ydCBvaG5lIFByb2JsZW1lIGRhcyBnZXd1ZW5zY2h0ZSB4dGVybS4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWC1XaW5kb3dzIFByb2JsZW0gKFJ1bWF0YSwgMjQuIE5vdiAyMDA2LCAyMTozMjozNSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTY0Mzg3ODc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjQzODc4NzgKRGFzIGtsaW5ndCBuYWNoIGVpbmVtIFByb2JsZW0gbWl0IGRlciBFbnZpcm9ubWVudHZhcmlhYmxlIERJU1BMQVkgb2RlcgpkZW4gRWluc3RlbGx1bmdlbiBpbiAieGhvc3QiIChtYW4geGhvc3QpClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eHByb2JsZW1lIChLZWxseWJ1bmR5LCAyNC4gTm92IDIwMDYsIDIxOjQ5OjE5KToKCk1pciBpc3Qgdm9yIDMgV29jaGVuIG9obmUgb2ZmZW5zaWNodGxpY2hlbiBGZWhsZXJncnVuZCBtZWluZSBTVVNFIGtyZXBpZXJ0LAphdWNoIG1laW5lIDIgUGh5c2lrZXJkb2t0b3JhbmRlbiBhdWYgZGVyIEFyYmVpdCBrb25udGVuIGtlaW5lbiBGZWhsZXIgZmluZGVuCnVuZCBoYWJlbiBtaXIgaWhuIGRlc2hhbGIgbmV1IGF1Zmdlc2V0enQgKGFsbGUgRGF0ZW4gd2FyZW4gYXVmIGRlcgpGQVQzMi1QYXJ0aXRpb24sIGRlbmVuIGlzdCBhbHNvIG5peCBwYXNzaWVydCkgbWl0IGt1YnVudHUsIHdhcyBpY2ggc2Vocgprb21mb3J0YWJlbCBmaW5kZSwgdm9yIGFsbGVtLCBkYSBlcyBlaWdlbnRsaWNoIEFMTEVTIGthbm4sIHdvZnIgbWFuIHNvbnN0CmdlZ2ViZW5lbmZhbGxzIGltbWVyIG5vY2ggZGFzIHdpbmRvb2YgZHJhdWYgbHNzdCAoRFZEJ3MgZ3Vja2VuK3Nocmlua2VuLCBNUDMncwpocmVuLCBUVikuIAoKa3VidW50dSBmaW5kZXQgamV0enQgd2VkZXIgbWVpbmUgU291bmRrYXJ0ZSwgbm9jaCBkaWUgU3RlcmVvYW5sYWdlLCBiZWhhdXB0ZXQKZGllIEdyYWZpa2thcnRlIHNlaSBuaWNodCB0YXVnbGljaCBmciBHb29nbGUtZWFydGggKERBUyBpc3Qgc2llIGFiZXIgdW50ZXIKd2luISksIGZpbmRldCB3ZWRlciBUVi1LYXJ0ZSAoPyksIG5vY2ggU2VuZGVyICghKSB1bmQgc2VpdCBnZXN0ZXJuIHdpbGwgZXMgbWlyCm5vY2ggbmljaHQgbWFsIG1laHIgZGllIGdyYXBoaXNjaGUgQmVudXR6ZXJvYmVyZmxjaGUgYW56ZWlnZW4sIHNvbmRlcm4gYmxlaWJ0CmF1ZiBiZWF0ZSRiZWF0ZTogaG5nZW4uLi4gCgphdWYgbWVpbmVtIExhcHRvcCAocmVsYXRpdiBhbHRlcyBQYW5hc29uaWMgVG91Z2hib29rKSBsdWZ0IGRhc3NlbGJlIGt1YnVudHUKYWJlciBzdGFiaWwgdW5kIG1hbmNoZSBiencuIGVpZ2VudGxpY2ggQUxMRSEpIEZlaGxlciBzaW5kIGRhIGRyYXVmCmJlcmhhdXB0Z2FybmljaHQgcmVwcm9kdXppZXJiYXIhIAoKZ3JycnIhISEgCgpIaSBKb2NoZW4hCgpWb3IgbGF1dGVyIEZydXN0IC0gaWNoIGJla2FtIHRlbGVmb25pc2NoZSAib25saW5lIi1MaW51eGFkbWluaXN0cm9yZW5iZXJhdHVuZwphdXMgT3NuYWJyY2sgdW5kIGtvbm50ZSBtaWNoIG5vY2ggbmljaHQgbWFsIG1laHIgYWxzIEFkbWluaXN0cmF0by9zdXBlcnVzZXIKZWlubG9nZ2VuIC0gYmluIGljaCBqZXR6dCAKX19fX19fX19fXwogCkJsaWNrc3RlIGRlbiBNaXN0PyBTaWUgYnJhdWNoIGF1Y2ggbm9jaCB3YXMgYW0gTW9uaXRvciBnZWx0ZXQsIGRhcyB3ZXJkIGljaAp3b2hsIHNjaGFmZmVuICggZmFsbHMgaWNoIG1laW5lbiBLb2xiZW4gZmluZGUuLi4uKQoKSmVtYW5kIG5lIElkZWU/IEljaCBoYWIgbWlyIGRhcyBhbmdlc2NoYXV0IHVuZCBmaW5kZSBhdWNoIG5peC4KV2FlcmUgZGFua2JhciBmdWVyIFRpcHBzLgpLZWxseUJ1bmR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXhwcm9ibGVtZSAoR3JpbW1ib3JuLCAyNi4gTm92IDIwMDYsIDEzOjEyOjQwKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTE2NDQwMTM1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY0NDAxMzU5Ck5hamEsIHp1bWluZGVzdCBtaXQgVW1sYXV0ZW4gc2NoZWludCBEZWluIFN5c3RlbSBQcm9ibGVtZSB6dSBoYWJlbi4gQW5zb25zdGVuCnZlcnN0ZWhlIGljaCBEZWluZSBQcm9ibGVtZSBuaWNodC4gRGEgRHUgc2VsYmVyIHNhZ3N0IER1IGZpbmRlc3QgZGFzCmtvbWZvcnRhYmVsLCB3b3J1ZWJlciBiZXNjaHdlcnN0IER1IERpY2ggZGEgZWlnZW50bGljaD8gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGludXhwcm9ibGVtZSAoS2VsbHlidW5keSwgMjYuIE5vdiAyMDA2LCAxNzozOToxMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE2NDU0MzE2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY0NDAxMzU5CkRlciBwb3N0IGlzdCBuaWNodCB2b24gbWlyLiBpY2ggaGFiIG1pciBkYXMgbnVyIGFuZ2VzZWhlbiB1bmQgd2Vpc3MgYXVjaCBuaWNodAp3YXJ1bXMgdXJwbG9ldHpsaWNoIHNwaW5uZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWxpbmdsaXN0ZS4gKFpvb2ssICAxLiBEZXogMjAwNiwgMTM6MDc6MDApOgpIaSwgaWNoIGhhYmUgaXJnZW5kd2llIGVpbmVuIDEmMS1XZWJzcGFjZSB6dSB2ZXJ3YWx0ZW47IHdlaXNzIG5pY2h0LCB3YXMKZGEgYWxsZXMgYW4gUGFrZXRlbiBkcmluIGlzdC4gSWNoIGJyYXVjaGUgYWxsZXJkaW5ncyBtYWwgZWluZSBMb2VzdW5nCmZ1ZXIgZWluZSBNYWlsaW5nLUxpc3RlOyBtb2VnbGljaHN0IGtvc3RlbmZyZWkuIEdpYnRzIHNvd2FzIGltIGdyb3NzZW4KWndpc2NoZW5uZXR6PyBIYWIgendhciBzY2hvbiBlaW4gYmlzc2NoZW4gd2FzIGdlZnVuZGVuLCBhYmVyIHNvIHJlY2h0Cnp1ZnJpZWRlbiBzdGVsbHQgbWljaCBkYXMgbm9jaCBuaWNodC4gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1haWxpbmdsaXN0ZS4gKEFudGhlYSwgIDEuIERleiAyMDA2LCAxMzozMDo0Myk6Cn4jISBybj1ab29rIHJ0PTExNjQ5NzQ4MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMApUamEuIDEmMSBiaWV0ZXQgd29obCBlcnN0IG1hbCBrZWluZSBNQWlsaW5nbGlzdGVuIGFuLiBXYXMgd2VsY2hlcyBQYWtldAplbnRoYWVsdCwgc28gRHUgd2Vpc3N0LCB3ZWxjaGVzIFBha2V0IER1IGRhIHZlcndhbHRlc3QsIHNpZWh0IG1hbiB6LkIuIHVudGVyCmh0dHA6Ly93d3cuMXVuZDEuaW5mby94bWwvb3JkZXIvSG9zdGluZ092ZXJ2aWV3Cm9kZXIgdW50ZXIgaHR0cDovL3d3dy4xdW5kMS5pbmZvL3htbC9vcmRlci9Nc0hvc3RpbmdPdmVydmlldwoKVW5kIG1pdCBkZW4gd2VuaWdlbiB1bnRlcnN0dWV0enRlbiBDR0ktT3B0aW9uZW4gaXN0IGVzIHdvaGwgYXVjaCBzY2h3aWVyaWcsCmVpbmUgImZyZWllIiBNYWlsaW5nbGlzdGUgYXVmenVzZXR6ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWxpbmdsaXN0ZS4gKEdsb2luc29uLCAgMS4gRGV6IDIwMDYsIDEzOjU2OjU4KToKfiMhIHJuPUFudGhlYSBydD0xMTY0OTc2MjQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjQ5NzQ4MjAKTWFpbGluZ3NsaXN0ZW5zY2huaWNrc2NobmFjayBnaWJ0IGVzIGJlaSBZYWhvbyAuLi4gZnVlciBZYWhvby1BZHJlc3Nlbi4gRmFlbGx0CmRlc2hhbGIgdmllbGxlaWNodCBhdWNoIHJhdXMgOikKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFpbGluZ2xpc3RlLiAoQW50aGVhLCAgMS4gRGV6IDIwMDYsIDE0OjAxOjQ3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNjQ5Nzc4MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMApNaXQgZGVyIERvbWFpbiB6dSBhbGwtaW5jbC5jb20gdW16aWVoZW4uIERhIGlzdCBkYW5uIGVpbiBNYWpvckRvbW8gbWl0IGRyaW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1haWxpbmdsaXN0ZS4gKFpvb2ssICAxLiBEZXogMjAwNiwgMTQ6MTM6MzcpOgp+IyEgcm49QW50aGVhIHJ0PTExNjQ5NzgxMDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMAptaXQgeWFob28hIGhhdCBpY2ggZXMgYXVjaCBtYWwgcHJvYmllcnQsIGthbSBhbGxlcmRpbmdzIGRpZSBrbGllbnRlbCBuaWNodApzbyAxMDAlaWcgbWl0IGtsYXIuIHVtemllaGVuIC4uLiBpY2ggd2Vpc3MgbmljaHQsIGljaCBtYWNoIGRhcyBudXIgdWViZXItCmdhbmdzd2Vpc2UgOykgegoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyYWdiYXJlciBGZXN0cGxhdHRlbiBPR0ctUGxheWVyIChDcm9mdCwgIDEuIERleiAyMDA2LCAxNjo1NzoxNyk6Cktlbm50IGplbWFuZCBhdXNzZXIgaVJpdmVyIG5vY2ggYW5kZXJlIEZpcm1lbiBkaWUgRmVzdHBsYXR0ZW4tT2dncGxheWVyCm1pdCA+PTMwR0IgaGVyc3RlbGxlbj8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJhZ2JhcmVyIEZlc3RwbGF0dGVuIE9HRy1QbGF5ZXIgKFplc3N0cmEsICAxLiBEZXogMjAwNiwgMTg6MzA6MjgpOgp+IyEgcm49Q3JvZnQgcnQ9MTE2NDk4ODYzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY0OTg4NjM3CkljaCBoYWIgZWluZW4gdm9uIENvd29uIChpYXVkaW8gWDUgbWl0IDYwR0IpOgpodHRwOi8vd3d3LmNvd29uZ2xvYmFsLmNvbS9wcm9kdWN0L3Byb2R1Y3RfWDVfZmVhdHVyZS5waHAKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHJhZ2JhcmVyIEZlc3RwbGF0dGVuIE9HRy1QbGF5ZXIgKE1hcmN1cywgIDEuIERleiAyMDA2LCAxOToxODoyMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjQ5OTQyMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk4ODYzNwpXaWUgc2Nod2VyIGlzdCBzb3dhcz8KCkljaCBoYWJlIG5lbiA4R0IgWmVuIE1pY3JvLCBhYmVyIG9obmUgT0dHIHN1cHBvcnQuIDovCgpEZXIgaXN0IGFtIExpbWl0IHNlaW5lciBTY2h3ZXJlIGZ1ZXIgbWVpbmUgSmFja2VudGFzY2hlLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWlsaW5nbGlzdGUuIChLZWxseWJ1bmR5LCAgMi4gRGV6IDIwMDYsIDEwOjI3OjMwKToKfiMhIHJuPUFudGhlYSBydD0xMTY0OTc4MTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjQ5NzQ4MjAKSnVwcCwgYWxsLWluY2wuY29tIGlzIGd1dC4gZGVyIHN1cHBvcnQgaXN0IHByaW1hIHVuZCBmaXggdm9yIGFsbGVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYWlsaW5nbGlzdGUuIChLZWxseWJ1bmR5LCAgMi4gRGV6IDIwMDYsIDEwOjI4OjA2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNjQ5Nzc4MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMApXYXMgaGFidCBJaHIgYWxsZSBnZWdlbiB5YWhvbz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1haWxpbmdsaXN0ZS4gKEFtYXJ5bGxpcywgIDIuIERleiAyMDA2LCAyMjowMjozOSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNjUwNTE2NTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMApLYW5uIGljaCBuaWNodCBiZXN0YWV0aWdlbi4gRGllIGhhYmVuIHVucyBrb250YWt0ZXQgd2VnZW4gZWluZW0gYW5nZWJsaWNoZW4KIkJsYWNrbGlzdGluZyIuIE5hY2ggbWVpbmVyIE5hY2hmcmFnZSBhbGEgIkdsYXNrdWdlbCB2ZXJsZWd0LCB1bSB3ZWxjaGUgSVAocykKZ2VodHM/IiBpc3Qgc2VpdCBlaW5lciBXb2NoZSBGdW5rc3RpbGxlLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVHJhZ2JhcmVyIEZlc3RwbGF0dGVuIE9HRy1QbGF5ZXIgKFplc3N0cmEsICAzLiBEZXogMjAwNiwgMTI6NTg6MjcpOgp+IyEgcm49TWFyY3VzIHJ0PTExNjQ5OTcxMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk4ODYzNwpIYWIgbWVpbmVuIGdlcmFkZSBtYWwgYXVmIGRpZSBLdWVjaGVud2FhZ2UgZ2VsZWd0LiAxNzAtMTgwZyB3aWVndCBkZXIuClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWlsaW5nbGlzdGUuIChPZ28sICA1LiBEZXogMjAwNiwgMDA6NDQ6MjMpOgp+IyEgcm49Wm9vayBydD0xMTY0OTc0ODIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjQ5NzQ4MjAKRmFsbHMgZHUgbmljaHQgYXVmIGtvbXBsZXR0IGVpZ2VuZXMgQ0kgYW5nZXdpZXNlbiBiaXN0LiBHaWJ0IGVzIGJlaSBHb29nbGUKdW50ZXIgR29vZ2xlLUdyb3VwcyBudW4gYXVjaCBlaWdlbmUgTWFpbGluZ2xpc3RlbiwgZGFzIEludGVyZmFjZSBpc3QgcmVjaHQKbmV0dCB1bmQgZHUga2FubnN0IGRhcyBMYXlvdXQgaW4gVGVpbGVuIHNvZ2FyIGFucGFzc2VuLiAKCmh0dHA6Ly9ncm91cHMuZ29vZ2xlLmNvbS9pbnRsL2VuL2dvb2dsZWdyb3Vwcy90b3VyMy9pbmRleC5odG1sCgpGYWxscyBkdSBkYXMgcHJvYmllcnN0LCB3dWVyZGUgbWljaCBlaW4ga2xlaW5lciBFcmZhaHJ1bmdzYmVyaWNodCBmcmV1ZW4uCgpXZW5uIGRpZSBNYWlsaW5nbGlzdCBhYmVyIGRlZmluaXRpdiB1bnRlciBkZWluZXIgRG9tYWluIGxhdWZlbiBzb2xsLCBrb21tc3QgZHUKd29obCB1bSBlaW4gTWFpbG1hbi9NYWpvcmRvbW8gbmljaHQgaGVydW0uIE5vdGZhbGxzIGthbm5zdCBkdSBqYSAoc28gZXMgZGllCkROUy1WZXJ3YWx0dW5nIHp1bGFlc3N0KSBlaW5lIFN1YmRvbWFpbiBsaXN0Lnh5ei5kZSBhdWYgZWluZW4gYW5kZXJlbiBSZWNobmVyCm1pdCBlbnRzcHJlY2hlbmRlbSBNYWlsaW5nbGlzdGVuZmVhdHVyZSBsZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFpbGluZ2xpc3RlLiAoWm9vaywgIDUuIERleiAyMDA2LCAxMDowNTo0Nyk6Cn4jISBybj1PZ28gcnQ9MTE2NTI3NTg2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY0OTc0ODIwCkFoamEsIGJlaSBkZW4gR29vZ2xlLUdydXBwZW4gaXN0IGRlciBCZWl0cml0dCBmdWVyIExldXRlIHdvaGwgcmVjaHQgCmVpbmZhY2guIEljaCBnbGF1YmUsIGljaCBzdGFydGUgZGFtaXQgbWFsIGVpbmVuIFZlcnN1Y2guIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCidVU0ItRGlzayB1bnRlciBMaW51eCcgKEJhbWJ1bGtvLCAgNi4gRGV6IDIwMDYsIDEyOjM4OjQxKToKSWNoIGhhYmUgZWluZSBVU0ItRmVzdHBsYXR0ZSB1bnRlciBMaW51eCBhbmdlc2NobG9zc2VuLiBEaWUgRGF0ZW5yYXRlIGlzdCBhYmVyCnNlaHIgbGFuZ3NhbSwgd2VubiBpY2ggZWluIEZpbGUgbWl0IGNwIGtvcGllcmUgKH4xIE1CL3MpLiBXZW5uIGljaCBlaW4gRmlsZQp2b24gZWluZW0gRmVuc3RlciwgaW4gZGFzIEZlbnN0ZXIgZGVyIFVTQi1QbGF0dGUgc2NoaWViZSwgYmVrb21tZSBpY2gKRGF0ZW5yYXRlbiB2b24gMi03IE1CL3MuIEVpZ2VudGxpY2ggc29sbHRlbiBlcyBqZWRvY2ggfjMwIE1CL3Mgc2VpbiAoV2FzIGFuCmVpbmVtIGFuZGVyZW4gUmVjaG5lciBtaXQgV2luZG93cyBhdWNoIGtsYXBwdCkuIEhhdCBpcmdlbmR3ZXIgZWluZSBJZGVlIHdhcwpkYXMgUHJvYmxlbSBzZWluIGthbm4/CgpBY2hqYSwgYW5kZXJlIFVTQi1QbGF0dGVuIGZ1bmt0aW9uaWVyZW4gYW4gZGVtIExpbnV4LVJlY2huZXIuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICdVU0ItRGlzayB1bnRlciBMaW51eCcgKEdyaW1tYm9ybiwgIDYuIERleiAyMDA2LCAxMjozOTozNSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTY1NDA1MTIxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjU0MDUxMjEKU2NoYXUgRGlyIGRpZSBtb3VudC1vcHRpb25lbiBhbiwgZGEgd2lyZCBpcmdlbmR3byBlaW4gJ3N5bmMnIHNlaW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogJ1VTQi1EaXNrIHVudGVyIExpbnV4JyAoQmFtYnVsa28sICA2LiBEZXogMjAwNiwgMTI6NDA6MzMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNjU0MDUxNzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NTQwNTEyMQoKVW5kIHdhcyBoZWlzc3QgZGFzPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICdVU0ItRGlzayB1bnRlciBMaW51eCcgKEJhbWJ1bGtvLCAgNi4gRGV6IDIwMDYsIDEyOjQwOjU3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNjU0MDUyMzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NTQwNTEyMQpvaDogL2Rldi9zZGMxIG9uIC9tZWRpYS91c2JkaXNrLTEgdHlwZSBleHQzCihydyxub3N1aWQsbm9kZXYsc3luYyxkYXRhPW9yZGVyZWQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAnVVNCLURpc2sgdW50ZXIgTGludXgnIChHcmltbWJvcm4sICA2LiBEZXogMjAwNiwgMTI6NDE6MzMpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE2NTQwNTIzMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1NDA1MTIxCkRhc3MgZXIgbmFjaCBqZWRlbSBiaXQgZXJzdG1hbCBndWNrdCBkYXNzIGRhcyBhdWNoIGFuZ2Vrb21tZW4gaXN0LiBNYWNodCBkYXMKcmljaHRpZyBsYW5nc2FtLCBkYWZ1ZXIga2FubiBtYW4gamVkZXJ6ZWl0IGF1c3N0b2Vwc2Vsbi4gT2huZSBzeW5jIHdpbGxzdCBEdQpuYWNoIGRlbSBTY2hyZWliZW4gZWluIHBhYXIgbXMgd2FydGVuLCBkYW1pdCBhdWNoIGFsbGVzIGFuZ2Vrb21tZW4gaXN0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAnVVNCLURpc2sgdW50ZXIgTGludXgnIChCYW1idWxrbywgIDYuIERleiAyMDA2LCAxMjo0MjoxOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE2NTQwNTI5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1NDA1MTIxCkFoLCB1bmQgd2llIGFlbmRlcnQgbWFuIGRhcz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICdVU0ItRGlzayB1bnRlciBMaW51eCcgKEdsb2luc29uLCAgNi4gRGV6IDIwMDYsIDEyOjQ4OjQxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNjU0MDUzMzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NTQwNTEyMQpVbmQgZ3VjayBuYWNoLCBldmVudHVlbGwgbXVzc3QgZHUgcGVyIEhhbmQgZGFzIFVTQjEuMS1Nb2R1bCByYXVza2lja2VuLgpadW1pbmRlc3QgdW50ZXIgS25vcHBpeCB3b2xsdGUgbWVpbiBSZWNobmVyIG1laW5lIFVTQi1QbGF0dGUgaW1tZXIgYWxzIDEuMQplcmtlbm5lbiAtIG5ldHRlcndlaXNlIGhhdCBtZWluZSBQbGF0dGUgZGEgV2FybmxhZW1wY2hlbiBmdWVyIGRlbiBNb2R1cyBwYXJhdAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6ICdVU0ItRGlzayB1bnRlciBMaW51eCcgKFplc3N0cmEsICA2LiBEZXogMjAwNiwgMTI6NTY6MTYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE2NTQwNTMzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1NDA1MTIxCm1vdW50IC1vIHJlbW91bnQsYXN5bmMgL21lZGlhL3VzYmRpc2stMQpGdWVyIGRhdWVyaGFmdGUgQWVuZGVydW5nIGR1ZXJmdGUgZWluIEJsaWNrIGluIC9ldGMvZnN0YWIgZW1wZmVobGVuc3dlcnQgc2VpbiwKdW0gZG9ydCBkaWUgT3B0aW9uIG5hY2h6dXRyYWdlbi4KV2VpdGVyZXMgdmVycmFldCBtYW4gbW91bnQgdW5kIG1hbiBmc3RhYgoKWmVzc3RhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogJ1VTQi1EaXNrIHVudGVyIExpbnV4JyAoQmFtYnVsa28sICA2LiBEZXogMjAwNiwgMTI6NTg6MjQpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY1NDA2MTc2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjU0MDUxMjEKRGFua2UuIEpldHp0IG11c3MgaWNoIG51ciBub2NoIGVpbmVuIHJvb3QgZmluZGVuLiBEZXIga29ubnRlIGViZW4gZGFzIFByb2JsZW0KbmljaHQgc2VsYmVyIGJlaGViZW4uLi4uCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogJ1VTQi1EaXNrIHVudGVyIExpbnV4JyAoTWFyY3VzLCAgNi4gRGV6IDIwMDYsIDEzOjEwOjM5KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNjU0MDYzMDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NTQwNTEyMQpVU0IgMS4xIG11c3MgbWFuIG5pY2h0IHJhdXNraWNrZW4sIGRhcyBVU0IgMiBlaGNpIE1vZHVsIHNvbGx0ZSBhYmVyIGdlbGFkZW4Kc2Vpbi4KCkRhcyBncmVpZnQgc2ljaCBVU0IgMiBEZXZpY2VzIHNjaG9uIGF1dG9tYXRpc2NoLgoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiAnVVNCLURpc2sgdW50ZXIgTGludXgnIChHbG9pbnNvbiwgIDYuIERleiAyMDA2LCAxMzoxNDoxNyk6Cn4jISBybj1NYXJjdXMgcnQ9MTE2NTQwNzAzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1NDA1MTIxCkljaCBoYWIgZGFzIGVpbmUgdm9yIGRlbSBhbmRlcmVuIGdlbWFjaHQuIERhc3MgbWFuIGRhbm4gZWluIE1vZHVsIGJyYXVjaHQKbWVya3QgbWFuIGRhbm4gZWluZmFjaCBiZXNzZXIgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAnVVNCLURpc2sgdW50ZXIgTGludXgnIChCYW1idWxrbywgIDYuIERleiAyMDA2LCAxNTowOTowMSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjU0MDYxNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NTQwNTEyMQpEYXMgbW91bnQgLW8gcmVtb3VudCxhc3luYyAvbWVkaWEvdXNiZGlzay0xIGhhdCBnZWtsYXBwdC4gSXN0IG5hdHVlcmxpY2ggbmljaHQKZGF1ZXJoYWZ0LiBNdXNzIG1hbCBzY2hhdWVuLCBvYiBkaWUgcm9vdHMgaGllciBkYXMgZGF1ZXJoYWZ0IGVpbnJpY2h0ZW4Ka29lbm5lbi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4IGF1ZiBEZWxsIEluc3Bpcm9uIDY0ME0gKEJhbWJ1bGtvLCAgOC4gRGV6IDIwMDYsIDE3OjM4OjA5KToKSGF0IHNjaG9uIG1hbCBqZW1hbmQgTGludXggKFN1c2UpIGF1ZiBlaW5lbSBEZWxsIEluc3Bpcm9uIDY0ME0gaW5zdGFsbGllcnQ/CkdhYiBlcyBpcmdlbmR3ZWxjaGUgUHJvYmxlbWUgZGFiZWk/CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4IGF1ZiBEZWxsIEluc3Bpcm9uIDY0ME0gKEdyYWxrb3IsICA5LiBEZXogMjAwNiwgMTU6MTY6NDUpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE2NTU5NTg4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1NTk1ODg5Cmh0dHA6Ly93d3cubGludXgtbGFwdG9wLm5ldC9kZWxsLmh0bWwKaGFiZW4gZGllIEp1bmdzIGJpc2hlciBudXIgbWl0IFVidW50dSBnZXRlc3RldC4KVGlwcywgVHJpY2tzIHVuZCBIaW53ZWlzZSBmaW5kZXN0ZSBzaWNoZXIgYXVjaCB1bnRlciBodHRwOi8vbGludXguZGVsbC5jb20KCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4IGF1ZiBEZWxsIEluc3Bpcm9uIDY0ME0gKEdyYWxrb3IsICA5LiBEZXogMjAwNiwgMTU6MjI6MTApOgp+IyEgcm49R3JhbGtvciBydD0xMTY1NjczODA1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjU1OTU4ODkKd2VyIGxlc2VuIGthbm4sIGlzdCBrbGFyIGltIFZvcnRlaWw6Cmh0dHA6Ly9ob21lcGFnZXMuaW5mLmVkLmFjLnVrL2diZXR0L2RlbGw2NDBtLmh0bWwKKE9wZW5zdXNlMTAuMSkKCkcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaW51eCBhdWYgRGVsbCBJbnNwaXJvbiA2NDBNIChHcmltbWJvcm4sIDEwLiBEZXogMjAwNiwgMTI6NDQ6NTYpOgp+IyEgcm49R3JhbGtvciBydD0xMTY1Njc0MTMwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjU1OTU4ODkKQWxsZ2VtZWluLCBvaG5lIG1pY2ggbWl0IGRpZXNlbSBzcGV6aWVsbGVuIEZhbGwgYmVmYXNzdCB6dSBoYWJlbjoKTGFwdG9waGVyc3RlbGxlciwgdW5kIGRhIGJlc29uZGVycyBEZWxsLCBuZWlnZW4gZ2VybmUgbWFsIGRhenUgS29tcG9uZW50ZW4genUKYWVuZGVybiwgZGllIFR5cGVuYmV6ZWljaG51bmcgYWJlciBnbGVpY2ggenUgbGFzc2VuLiBELmguIGVpbiBMYXB0b3AgUzg4LVhHCmthbm4gZXMgbWl0IGRyZWkgdmVyc2NoaWVkZW5lbiBHcmFwaGlra2FydGVuLCBmdWVuZiBXTEFOLWNoaXBzIHVuZCAxMwpCSU9TLXJldmlzaW9uZW4gZ2ViZW4uIFVuZCBtYWwga2xhcHB0IHN1c3BlbmQgdG8gZGlzaywgbWFsIHN1c3BlbmQgdG8gUkFNLCBtYWwKYmVpZGVzLCB1bmQgbWFsIGtlaW5zLiBBYiB1bmQgenUga2FubiBlaW5lbiBzb3dhcyBiZWlzc2VuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdHJvbXZlcnNvcmd1bmcgaGluPyAoQWxib2luLCAxMS4gRGV6IDIwMDYsIDExOjAxOjMzKToKSGFsbG8gTGV1dGUsCmljaCBoYWJlIGZvbGdlbmRlcyBQcm9ibGVtOiBiZWltIFN0YXJ0ZW4gZGVzIENvbXB1dGVycyBzdHVlcnp0ZSBzZWxiaWdlciBpbW1lcgp3aWVkZXIgYWIuIE5hY2ggZGVtIGljaCBkZW4gSGF1cHRzY2hhbHRlciBhdXNzY2hhbHRldGUgdW5kIGRlbm4gU3RhcnR2b3JnYW5nCndpZWRlcmhvbHRlIGdpbmdzIHdpZWRlci4KTnVuIG51ZXR6dCBkYXMgYXVjaCBuaWNodCBtZWhyLiBTY2hvbiB3ZW5uIGljaCBkZW4gSGF1cHRzY2hhbHRlciBhbnNjaGFsdGUKZmxpbW1lcnQgZGFzIGdydWVuZSBMRUQgTGFlbXBjaGVuIGFuIGRlciBWb3JkZXJzZWl0ZSBkZXMgUmVjaG5lcnMuIEhpbnp1a29tbXQKZGFzIGF1Y2ggZGllIEtvbnRyb2xsYW1wZSBhdWYgZGVtIEJvYXJkIG5pY2h0IG1laHIuIE1laW5lIFZlcm11dHVuZyBkZXNoYWxiCmlzdCBkYXMgZGllIFN0cm9tdmVyc29yZ3VuZyBoaW4gaXN0LiBJc3QgZGFzIHNpY2hlciB1bmQgd2VubiBqYSB3aWUga2FubiBpY2gKZGFzIGhlcmF1c2ZpbmRlbi4KZGFua2UgaW0gdm9yYXVzIGFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3Ryb212ZXJzb3JndW5nIGhpbj8gKENyb2Z0LCAxMS4gRGV6IDIwMDYsIDExOjMwOjUxKToKfiMhIHJuPUFsYm9pbiBydD0xMTY1ODMxMjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjU4MzEyOTMKQm9hcmQgb2RlciBOZXR6dGVpbC4gIFdpZSBkdSBlcyByYXVzZmluZGVzdDogQm9hcmQgb2RlciBOZXR6dGVpbCBhdXN0YXVzY2hlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHN0cm9tdmVyc29yZ3VuZyBoaW4/IChBbGJvaW4sIDExLiBEZXogMjAwNiwgMTM6Mjg6NTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTE2NTgzMzA1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY1ODMxMjkzClRqYSBlcyB3YXIgdGF0c2FlY2hsaWNoIGRhcyBOZXR6dGVpbC4gVmllbGxlaWNodCBzb2xsdGUgaWNoIG1laHIgbWVpbmVyCmVpZ2VuZW4gRGlhZ25vc2UgdHJhdWVuIHVuZCBoYW5kZWxuIHN0YXR0IGV1Y2ggbm9jaCBtYWwgdm9sbHp1bGFiYmVybjstKQpUcm90emRlbSB2aWVsZW4gRGFuayBhbiBDcm9mdCB1bmQgSGlnaGxhbmRlci4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwcmFjaGVya2VubnVuZyAoQWxib2luLCAxOC4gRGV6IDIwMDYsIDE2OjUzOjIwKToKSGFsbG9lbGUsIGRhIG1laW5lIEFyYmVpdHNwbGF0enN1Y2hlIG9mdCBhbiBtZWluZXIgVW5mYWVoaWdrZWl0IHp1ClRlbGVmb25pZXJlbiBzY2hlaXRlcnQsIGlzdCBtaXIgamV0enRlIGRpZSBJZGVlIGdla29tbWVuIG1pY2ggYmVpClNwcmFjaGVya2VubnVuZ3Nzb2Z0d2FyZSB1bXp1c2NoYXVlbi4gTGVpZGVyIGhhYmUgaWNoIGRhIG51ciBkYXMgdWVibGljaGUKRGlrdGllcnpldWdzIGdlZnVuZGVuLiBMZWRpZ2xpY2ggZWluZSBTb2Z0d2FyZSB2b24gUGhpbGlwcyBlcm1vZWdsaWNodAphYnNwZWljaGVybiB1bmQgIHdlaXRlcnZlcmFyYmVpdHVuZyBkZXMgZ2VzcHJvY2hlbmVuIFRleHRlcy4gV2FzIGljaCBhYmVyCmJyYXVjaGUgaXN0LCBkYXMgTGl2ZS1BdWRpb3N0cmVhbXMgc29mb3J0IGluIFRleHQgdW1nZXdhbmRlbHQgd2VyZGVuIGtvZW5uZW4uCldlaXNzIGplbWFuZCB2aWVsbGVpY2h0IG9iIGVzIHNvIGV0d2FzIHNjaG9uIGdpYnQ/CkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3ByYWNoZXJrZW5udW5nIChDcm9mdCwgMTguIERleiAyMDA2LCAxNzozMDoxNCk6Cn4jISBybj1BbGJvaW4gcnQ9MTE2NjQ1NzIwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY2NDU3MjAwCk9obmUgbWljaCBnZW5hdWVyIGRhbWl0IGF1c3p1a2VubmVuOiBhZmFpayBzaW5kIGRpZSBiaXNoZXIgdmVyZnVlZ2JhcmVuCkxvZXN1bmdlbiBhbGxlcyB0cmFpbmllcnRlIFN5c3RlbWUsIGQuaC4gYXVmIGRpZSBqZXdlaWxpZ2VuIFNwcmVjaGVyCnZvcmJlcmVpdGV0LiAgT2IgZXMgZGFzIGdld3VlbnNjaHRlIGF1Y2ggaW4gZWluZXIgYWxsZ2VtZWluIHRhdWdsaWNoZW4KVmVyc2lvbiBnaWJ0LCB3ZWlzcyBpY2ggbmljaHQsIHd1ZXJkZSBtaWNoIGFiZXIgdWViZXJyYXNjaGVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcHJhY2hlcmtlbm51bmcgKE9ya3RvZXRlciwgMTguIERleiAyMDA2LCAxOTowNjo1MCk6Cn4jISBybj1BbGJvaW4gcnQ9MTE2NjQ1NzIwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTY2NDU3MjAwCkRhIGdpYnQgZXMgd29obCBsZWlkZXIgbnVyIGRpZSBMb2VzdW5nOiBTa3JldGFlcmluIDEuMApBbGxlcyBhbmRlcmUgaW4gUmljaHR1bmcgU3ByYWNoZXJrZW5udW5nIGR1ZXJmdGUgbmljaHQgd2lya2xpY2ggZ2VlaWduZXQgc2VpbiwKc29ycnkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1haWxpbmdsaXN0ZS4gKFpvb2ssIDIxLiBEZXogMjAwNiwgMTE6NDc6MzMpOgp+IyEgcm49T2dvIHJ0PTExNjUyNzU4NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NDk3NDgyMApWZXJzdWNoIG5haGV6dSBnZWdsdWVja3QsIGRpZSBtZWlzdGVuIGhhYmVuIGRpZSBBbm1lbGR1bmcgaXJnZW5kd2llCmdlc2NoYWZmdC4gV2lyIG51dHplbiBhYmVyIG51ciBkYXMgTWFpbGluZ2xpc3Rlbi1GZWF0dXJlLCBhYmVyIGRhcwpmdW5rdGlvbmllcnQgZ2FueiBndXQuIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaW5pLUlUWC1IYXJkd2FyZSAoQXJhdGhvcm4sIDI3LiBEZXogMjAwNiwgMjI6MTU6NDYpOgpIYWxsbyB6dXNhbW1lbiwKCndpZSBkZXIgVGl0ZWwgc2Nob24gc2FndCwgYmluIGljaCBhdWYgZGVyIFN1Y2hlIG5hY2ggSW5mb3JtYXRpb25lbiB6dW0gVGhlbWEKTWluaS1JVFguIEhpbnRlcmdydW5kIGlzdCwgZGFzcyBpY2ggZWluZW4gcGFzc2l2IGdla3VlaGx0ZW4gUmVjaG5lciBhdWZiYXVlbgp3aWxsLCBkZXIgcnVoaWcgd2VuaWcgTGVpc3R1bmcgaGFiZW4gZGFyZiwgYWJlciBkYWZ1ZXIgZWluaWdlIGFuZGVyZQpCZWRpbmd1bmdlbiBlcmZ1ZWxsZW4gc29sbDoKCm8gcGFzc2l2IGdla3VlaGx0Cm8gTWFpbmJvYXJkIGltIE1pbmktSVRYLUZvcm1mYWt0b3IsIHpCIFZJQSBFUElBIG9kZXIgdmVyZ2xlaWNoYmFyZXMKbyBOZXR6dGVpbCBrYW5uIGFrdGl2IGdla3VlaGx0IHNlaW4KbyBQcm96ZXNzb3IgY2EgNTAwLTYwMCBNSHogaXN0IHZvZWxsaWcgYXVzcmVpY2hlbmQKbyAyeCBMQU4gT25ib2FyZCBlcmZvcmRlcmxpY2ggKG1vZWdsaWNoc3QgMSBHQml0LCAxMDAgTWJpdCBNaW5pbXVtKQpvIHdlaXRlcmUgQW5zY2hsdWVzc2Ugdm9lbGxpZyBlZ2FsCm8gR2VoYWV1c2Ugc29sbCBmdWVyIGVpbiA1LjI1Ii1MYXVmd2VyayBtaXQgbm9ybWFsZXIgQmF1Zm9ybSAobmljaHQgU2xpbWxpbmUpCiAgZ2VlaWduZXQgc2VpbgoKbyBHZWhhZXVzZSBzb2xsIEVpbmJhdSBlaW5lciAzLjUiLUZlc3RwbGF0dGUgZXJtb2VnbGljaGVuCgpXYXMgbWljaCBpbnRlcmVzc2llcnQgaXN0IGZvbGdlbmRlczoKCm8gRXJmYWhydW5nZW4gbWl0IGRpZXNlciBBcnQgZGVyIEhhcmR3YXJlIGFsbGdlbWVpbgpvIEVtcGZlaGx1bmdlbiBmdWVyIG9kZXIgd2lkZXIgYmVzdGltbXRlIEtvbmZpZ3VyYXRpb25lbi9Lb21wb25lbnRlbgpvIGdlZWlnbmV0ZSBCZXp1Z3NxdWVsbGVuIGZ1ZXIgSGFyZHdhcmUgdW5kIEdlaGFldXNlIGV0Yy4KbyBFcmZhaHJ1bmdlbiBtaXQgTGludXggYXVmIGRpZXNlciBBcnQgdm9uIEhhcmR3YXJlICh3ZWxjaGUgRGlzdHJpIG1hbiBuZWhtZW4KICBrYW5uLCB3YXMgdWViZXJoYXVwdCBuaWNodCBnZWh0KQoKRnVlciBIaW53ZWlzZSB1bmQgSW5mb3JtYXRpb25lbiBqZWRlciBBcnQgYmluIGljaCBkYW5rYmFyLCB3ZWlsIGRpZSAKTW9lZ2xpY2hrZWl0ZW4gZG9jaCBkZXJ6ZWl0IG5vY2ggcmVjaHQgdW51ZWJlcnNpY2h0bGljaCBzaW5kLCB2b3IgYWxsZW0sIHdhcwpkaWUgQmV6dWdzbW9lZ2xpY2hrZWl0ZW4gYW5nZWh0LgoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pbmktSVRYLUhhcmR3YXJlIChBcmF0aG9ybiwgMjcuIERleiAyMDA2LCAyMjoxNzo1Mik6Cn4jISBybj1BcmF0aG9ybiBydD0xMTY3MjU0MTQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjcyNTQxNDYKQWgsIGRpZSBNYXNjaGluZSBzb2xsIHVlYnJpZ2VucyBlaW4gUm91dGVyIHdlcmRlbiAoY2YuIDJ4IExBTiwgd2VuaWcgTGVpc3R1bmcpCgpEYXMgbnVyIG1hbCBhbHMgRXJnYWVuenVuZy4KCkdydXNzLCBBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWluaS1JVFgtSGFyZHdhcmUgKE9nbywgMjguIERleiAyMDA2LCAwMDozMToxNSk6Cn4jISBybj1BcmF0aG9ybiBydD0xMTY3MjU0MjcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjcyNTQxNDYKCk1hZyBlaW5lIGV0d2FzIHVub3J0aG9kb3hlIEhlcmFuZ2VoZW53ZWlzZSBzZWluLCBhYmVyIGljaCBzY2hsYWdlIGVpbiBTeW5vbG9neQpEUzEwMUcrIHZvci4KClNwZWNzOgoyNjZNSHogUG93ZXJQQyAoRnJlZXNjYWxlKQo2NE1CIDEzM01IeiBTRFJBTQoxNk1CIEZsYXNoCjF4IGludGVybmVyIFNBVEExNTAgUG9ydCB1bmQgUGxhdHogZnVlciBlaW5lIEZlc3RwbGF0dGUKM3ggVVNCIDIuMCBQb3J0cwoxeCBOZXR6d2VyayAxMC8xMDAvMTAwMEJhc2VUCgpEYXJhdWYgbGFldWZ0IGRhbm4gZGllIERlYmlhbiwgUFBDIGlzdCBpbiBEZWJpYW4gbWFpbnN0cmVhbSBzdXBwb3J0ZWQuCgpKZXR6dCBuaWNodCBlcnNjaHJlY2tlbiwgZGFzIERpbmcgd2lyZCBhbHMgTkFTLUxvZXN1bmcgdmVya2F1ZnQuIApodHRwOi8vd3d3Lm1lZGlhLWRhdGEtbmV0LmRlL3Nob3Avc3RhcnQuaHRtP2RfMTYwMTYzMDFfU1lOT0xPR1lfRFNfMTAxZ19fTkFTX0QKaXNrU3RhdGlvbl9TX0FUQTI5MDg2Lmh0bSAKZGEgZ2lidHMgZGFzIERpbmcgZnVlciAyNDkgRVVSLCBtdXNzdCBkdSBudXIgbm9jaCBlaW5lIEZlc3RwbGF0dGUgcmVpbnN0ZWNrZW4uCgpJY2ggaGFiIGRhcyBuaWUgYXVzcHJvYmllcnQsIGFiZXIgYWxzIGljaCBkYW1hbHMgbWl0IG1laW5lbSBOU0xVMiBydW1nZWJhc3RlbHQKaGFiZSwgaGF0dGVuIGRpZSBnYW56ZW4gRGV2cyBkaWVzZSBTeW5vbG9neWtpc3Rlbi4KCkFubGF1ZnN0ZWxsZW4gZGFmdWVyIHdhZXJlbjogCmh0dHA6Ly90ZWNoLmdyb3Vwcy55YWhvby5jb20vZ3JvdXAvZHMxMDEtbGludXgvCmh0dHA6Ly93d3cubnNsdTItbGludXgub3JnL3dpa2kvRFMxMDEvCmh0dHA6Ly93d3cubnNsdTItbGludXgub3JnL3dpa2kvRFMxMDEvRGViaWFuCmh0dHA6Ly93d3cubnNsdTItbGludXgub3JnL3dpa2kvRFMxMDEvRFMxMDFCb290U3RyYXAKdXN3Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaXJlZm94IChCYW1idWxrbywgMjguIERleiAyMDA2LCAyMjowMDo0NCk6CkljaCBoYWJlIGdlcmFkZSBGaXJlZm94IGF1ZiBtZWluZW0gTGFwdG9wIChXaW5kb3dzKSBpbnN0YWxsaWVydC4gTGVpZGVyIHdpbGwKZXIga2VpbmUgQm9va21hcmtzIHNwZWljaGVybi4gSmVkZXMgbWFsLCB3ZW5uIGljaCBGaXJlZm94IG5ldSBzdGFydGUsIGlzdAphbGxlcyB3ZWcuIERhZ2VnZW4gd2VyZGVuIEhvbWVwYWdlLCBIaXN0b3J5IHVuZCBQYXNzd29lcnRlciBhYmdlc3BlaWNoZXJ0LiBIYXQKaXJnZW5kamVtYW5kIGVpbmUgSWRlZSwgd29yYW4gZGFzIGxpZWdlbiBrYW5uPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaXJlZm94IChCYW1idWxrbywgMjguIERleiAyMDA2LCAyMjoyMjoyOCk6Cn4jISBybj1CYW1idWxrbyBydD0xMTY3MzM5NjQ0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjczMzk2NDQKV2VubiBpY2ggZWluIG5ldWVzIFByb2ZpbCBhbmxlZ2UsIGthbm4gaWNoIGdlbmF1IGVpbmUgQm9va21hcmsgYWVuZGVybiwgdW5kCmRhbm4gaXN0IFNlbnNlLi4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpcmVmb3ggKEppbWRpZ3JpeiwgMjguIERleiAyMDA2LCAyMjoyMzo1MSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTY3MzQwOTQ4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjczMzk2NDQKaXJnZW5kd2VsY2hlIFJlY2h0ZSBrb21pc2NoIGltIFByb2ZpbHZlcnplaWNobmlzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmlyZWZveCAoQmFtYnVsa28sIDI5LiBEZXogMjAwNiwgMDA6Mjk6MzApOgp+IyEgcm49SmltZGlncml6IHJ0PTExNjczNDEwMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NzMzOTY0NApIbW0sIGphLiBFcyBnaWJ0IGplZGVzbWFsIGVpbmUgbmV1ZSBib29rbWFyay0xLCBib29rbWFyay0yIHVzdyBEYXRlaS4KSXJnZW5kd2llIGthbm4gZXIgZGllIGFsdGUgbmljaHQgdWViZXJzY2hyZWliZW4uIEFiZXIgd2llIGthbm4gbWFuIGRhcwphZW5kZXJuPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZpcmVmb3ggKEJhbWJ1bGtvLCAyOS4gRGV6IDIwMDYsIDAwOjU3OjE3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNjczNDg1NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE2NzMzOTY0NApBaGEsIGluIGRlbSBWZXJ6ZWljaG5pc3MgZ2FiIGVzIGVpbmUgYm9va21hcmtzLGh0bWwubW96dG1wIERhdGVpLCBkaWUKc2NocmVpYmdlc2NodWV0enQgd2FyLiBOYWNoZGVtIGljaCBkaWUgZ2Vsb2VzY2h0IGhhYmUgZ2VodCBlcy4uLi4uCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmlyZWZveCAoQXBvcGhpcywgIDguIEphbiAyMDA3LCAxMDoyOTo1Myk6Cn4jISBybj1CYW1idWxrbyBydD0xMTY3MzUwMjM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjczMzk2NDQKc2llaGUgYXVjaDoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvODMxMTkKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9mZmljZSAyMDA3IChab29rLCAgOS4gSmFuIDIwMDcsIDE1OjEwOjMxKToKU2Nob24gbWFsIGplbWFuZCBtaXQgT2ZmaWNlIDIwMDcgaGVydW1nZXNwaWVsdCB1bmQga2FubiB3YXMgenUgZGVyIG5ldWVuCkJlbnV0emVyZnVlaHJ1bmcgc2FnZW4/IFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT2ZmaWNlIDIwMDcgKFNoYWtlZGJlZXIsIDE4LiBKYW4gMjAwNywgMjM6MjE6NDQpOgp+IyEgcm49Wm9vayBydD0xMTY4MzUxODMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNjgzNTE4MzEKSmEuIEljaC4gU3ByaWNoIG1pY2ggZWluZmFjaCBtYWwgZHJhdWYgYW4uIEhhYiBnZXJhZGUga2VpbmVuIHZlcm51ZW5mdGlnZW4KQ2xpZW50IHp1bSBQb3N0ZW4uIDstKQoKU2hha3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWJUZVgtRmVhdHVyZSAoWm9vaywgIDUuIEZlYiAyMDA3LCAxMDo0NTo0OCk6CkljaCBtb2VjaHRlIGdlcm5lIG1pdCBCaUJUZVggZm9sZ2VuZGVzIGVycmVpY2hlbjoKCkVpbiBFaW50cmFnIG1pdCBlaW5lbSBhdXRobz0idm9uIEhheWVrLCBGcmllZHJpY2ggQXVndXN0IiBzb2xsIGltCkxpdGVyYXR1cnZlcnplaWNobmlzZSBlcnNjaGVpbmVuIG1pdCAidm9uIEhheWVrLCBGLiBBLiAuLi4iIChzb3dlaXQKdHV0IGRhcyBhdWNoKS4gSWNoIG1vZWNodGUgYWJlciwgZGFzcyBlciBiZWkgZGVuIGRldXRzY2hlbiAidm9uInMgZGllIAp1bnRlciBkZW0gQnVjaHN0YWJlbiBkZXMgbmFlY2hzdGVuIE5hbWVuc2Jlc3RhbmR0ZWlscyAoaW4gZGllc2VtIEZhbGwgYWxzbwpIIGZ1ZXIgSGF5ZWspIGVpbnNvcnRpZXJ0LiAKCkhhdCBqZW1hbmQgbmUgc2NobmVsbGUgTG9lc3VuZyBncmVpZmJhcj8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdG9vbCAoQWxib2luLCAgNS4gRmViIDIwMDcsIDIwOjIzOjExKToKaWNoIHN1Y2ggZWluIFRvb2wgd28gaWNoIGFuIGVpbmVtIFZpZGVvZmlsZSAoYW0gYmVzdGVuIGF2aS1Gb3JtYXQpCnJ1bXNjaG5pcHBlbG4ga2FubiwgbW9lZ2xpY2hzdCBmcmVld2FyZS4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0b29sIChBbGJvaW4sICA1LiBGZWIgMjAwNywgMjA6MjQ6NDUpOgp+IyEgcm49QWxib2luIHJ0PTExNzA3MDMzOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE3MDcwMzM5MQpXZWlsIGdlcmFkZSBuYWNoIGRlbSBCUyBnZWZyYWd0IHdpcmQ6IFdpblhQLCBhYmVyIGRlbW5hZWNoc3QgaGFiZSBpY2ggYXVjaApTdXNlTGludXgKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0b29sIChHbG9pbnNvbiwgIDUuIEZlYiAyMDA3LCAyMDoyNzoyMik6Cn4jISBybj1BbGJvaW4gcnQ9MTE3MDcwMzM5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTcwNzAzMzkxClZpcnR1YWxEdWJNb2QKCmh0dHA6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvVmlydHVhbER1YgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhUUy1Nb3RvciAoVmFuaW9uLCAxMi4gRmViIDIwMDcsIDA4OjU3OjQ3KToKSGFsbG8sCgppY2ggd2VyZGUgZGVtbmFlY2hzdCBlaW5lbiBWb3J0cmFnIHp1bSBUaGVtYSBIb2NodGVtcGVyYXR1cnN1cHJhbGVpdGVyIGluCkVsZWt0cm9tb3RvcmVuIGhhbHRlbiB1bmQgc3VjaGUgbm9jaCBlaW4gYmlzY2hlbiBNYXRlcmlhbCwgZGFzIHVlYmVyCmtsYXNzaXNjaGUgUHJlc3NlYmVyaWNodGUgaGluYXVzZ2VodC4KCk1laW5lciBLZW5udG5pcyBuYWNoIGJhc3RlbHQgU2llbWVucyBhbiBlaW5lbSBzb2xjaGVuIE1vdG9yIHJ1bSwgaW4gZGVtIEZhbGwKaXN0IGVzIGVpbmUgU3luY2hyb25tYXNjaGluZSBtaXQgbWVociBhbHMgNDAwa1cuIFdhcyBtaWNoIGRhYmVpIHd1bmRlcnQgaXN0LApkYXNzIHNpZSB2b24gZWluZXIgUm90b3JrdWVobHVuZyBzcHJlY2hlbi4gQmlzaGVyIHdhciBpY2ggZGVyIE1laW51bmcsIGRhc3MKbWFuIGVzIHRlY2huaXNjaCB3b2hsIGhhbGJ3ZWdzIGluIGRlbiBHcmlmZiBiZWtvbW1lbiBrb2VubnRlLCBkaWUgU3RhdG9yc3B1bGVuCm1pdCBIVFMgYXVzenVzdGF0dGVuLiBCZWltIFJvdG9yIHNhZWhlIGljaCBkYSBQcm9ibGVtZSwgZGllIEt1ZWhsbGVpdHVuZ2VuCmF1c3p1bGVnZW4gdW5kIGhhdHRlIGRhaGVyIHZlcm11dGV0LCBkYXNzIG1hbiBkYXMgUm90b3JmZWxkIG1pdApQZXJtYW5lbnRtYWduZXRlbiBlcnpldWd0LgoKV2llIGdlc2FndCwgd2VubiBpaHIgZGEgTWF0ZXJpYWwgaGFidCwgd2FlcmUgaWNoIGZ1ZXIgSGlud2Vpc2UgZGFua2Jhci4KCkdydWVzc2UsClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkYXQtZGF0ZWkgKEFsYm9pbiwgMTUuIEZlYiAyMDA3LCAwODoyMzo0OCk6CkRhcyBMb2cgbWVpbmVzIEFudGl2aXJlbnByb2dyYW1tcyBpc3QgZWluZSBEYXRlaSBtaXQgZGVyIEVuZHVuZyBkYXQuIEJpc2hlcgprb25udGUgaWNoIGRpZSBpbW1lciBtaXQgV29yZHBhZCBsZXNlbi4gTmV1ZXJkaW5ncyB6ZWlndCBtaXIgZGVyIFZpZXdlciBhYmVyCmxhdXRlciBOVUwgdW5kIEVPVC1aZWljaGVuIGFuIHNvIGRhcyBkYXMgZ2FuemUga2F1bSBub2NoIGxlc2JhciBpc3QuIFdlaXNzCmplbWFuZCBBYmhpbGZlPyBEYW5rZSBpbSBWb3JhdXMgCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGF0LWRhdGVpIChKaW1kaWdyaXosIDE1LiBGZWIgMjAwNywgMTA6NTg6MDMpOgp+IyEgcm49QWxib2luIHJ0PTExNzE1MjQyMjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE3MTUyNDIyOApLbGluZ3QgZGFuYWNoIGFscyBoYWV0dGVuIHNpZSBkYXMgTG9nZm9ybWF0IGdlYWVuZGVydCB1bmQgLmRhdApkZXV0ZXQgZGFyYXVmIGhpbiwgZGFzcyBlcyBuaWUgZGFmdWVyIGdlZGFjaHQgd2FyIGRpcmVrdApnZWxlc2VuIHp1IHdlcmRlbi4gRGFubiBtdWVzc3RlIGFiZXIgZGFzIEFWIFByb2dyYW1tIGVpbmVuIGxvZ2ZpbGUKdmlld2VyIGludGVncmllcnQgaGFiZW4uIEZhbGxzIER1IG5peCBmaW5kZXN0LCB3dWVyZGUgaWNoIG1pY2ggYW4KZGVuIFN1cHBvcnQgZnVlciBkaWUgU29mdHdhcmUgd2VuZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKFZhbmlvbiwgIDkuIE1hciAyMDA3LCAxNjowNzo1OCk6CkhpIExldXRlLAoKdmllbGxlaWNodCBrb2VubnQgaWhyIG1pciBoZWxmZW4uIEljaCBzdWNoZSBuYWNoIEVuZXJnaWVzcGFybGFtcGVuIGZ1ZXIgZGllc2UKRGVja2Vuc3RyYWhsZXIsIGRpZSBkaWVzZSBrbGVpbmVuIExhbXBlbiBoYWJlbi4gSWNoIGhhYiBpbiBlaW5pZ2VuIFppbW1lcm4Kc29sY2hlIFN0cmFobGVyIHVuZCBiaW4gdW5nbHVlY2tsaWNoIGRhbWl0LCBkYXNzIGRpZSBzbyB2aWVsIFN0cm9tIGZyZXNzZW4uCkRpZSBXYWVybWUgbnV0enQgZWluZW0gamEgYW4gZGVyIFppbW1lcmRlY2tlIGF1Y2ggbml4LiA6LyBCaXNoZXIgaGFiZSBpY2ggYWJlcgpub2NoIGtlaW5lIExhbXBlbiBnZWZ1bmRlbiwgZGllIGluIGRpZXNlIGtsZWluZW4gRmFzc3VuZ2VuIHBhc3Nlbi4gV2VubiBlcwpzY2hvbiB3ZWxjaGUgc2luZCwgZGllIGRpZXNlIGtsZWluZW4gRmFzc3VuZ2VuIGhhYmVuLCBpc3QgbWVpc3RlbnMgaXN0IGRlcgpTb2NrZWwgc28gYnJlaXQsIGRhc3MgZGFzIG5pY2ggcGFzc3QuIEhhdCBqZW1hbmQgZWluIGFlaG5saWNoZXMgUHJvYmxlbT8gT2RlcgplcyBzb2dhciBnZWxvZXN0PwoKR3J1ZXNzZSwKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbmVyZ2llc3BhcmxhbXBlbiBmdWVyIFN0cmFobGVyIC4uLiAoSmltZGlncml6LCAgOS4gTWFyIDIwMDcsIDE2OjEzOjM1KToKfiMhIHJuPVZhbmlvbiBydD0xMTczNDUyODc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNzM0NTI4NzgKSWNoIGZ1ZXJjaHRlIGRpZSBnaWJ0cyBuaWNodC4gRGllc2UgSGFsb2dlbi1TdHJhaGxlciBhcmJlaXRlbgpqYSBtaXQgTmllZGVyc3Bhbm51bmcgKDEyViBHbGVpY2hzdHJvbSkgZnJlc3NlbiBhYmVyIGNhIDIwIFdhdHQKcHJvIFN0cmFobGVyLgpEYXMga2xlaW5zdGUgYW4gRW5lcmdpZXNwYXJsYW1wZW4gd2FzIGljaCBnZWZ1bmRlbiBoYWIsCndhcmVuIHNvIFN0cmFobGVyIG1pdCBFMTQgU2NocmF1YmZhc3N1bmcgKG5hdHVlcmxpY2ggMjMwViksCmRhIHdhciBlaW5lIExldWNodHN0b2Zmcm9laHJlIGVpbiBwYWFybWFsIGdlZmFsdGV0IHZvcgpkZW0gUmVmbGVrdG9yLiA3VyBnbGF1YiBpY2guIFNpY2hlciBzbyBoZWxsIHdpZSBuZSA0MFcKQmlybmUsIGFiZXIgZGllIGthbm5zdGUgbmF0dWVybGljaCBhdWNoIG5pY2h0IGluIGRlbgpUcmFmby1MYW1wZW4gdmVyd2VuZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbmVyZ2llc3BhcmxhbXBlbiBmdWVyIFN0cmFobGVyIC4uLiAoSmltZGlncml6LCAgOS4gTWFyIDIwMDcsIDE2OjE4OjI2KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTczNDUzMjE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNzM0NTI4NzgKSGFiIGdyYWRlIG1hbCBiZWkgV2lraXBlZGlhIHJlY2hlcmNoaWVydCwgZG9ydCBzaW5kIG5vY2gKc29nZWFubnRlIElSQy1IYWxvZ2VuZ2x1ZWhsYW1wZW4gZXJ3YWVobnQgCihJbmZyYS1SZWQtQ29hdGluZykgZGllIGVpbmVuIGhvZWhlcmVuIFdpcmt1bmdzZ3JhZApoYWJlbiB1bmQgZGFoZXIgZGllIEVuZXJnaWVhdWZuYWhtZSBiaXMgenUgNDUlIHJlZHV6aWVyZW4Ka29lbm5lbi4gRGllc2Uga29lbm50ZW4gd29obCBkaXJla3QgZWluZ2VzZXR6dCB3ZXJkZW4sCmsuYS4gb2Igc293YXMgc2Nob24gYmVpIE9iaSB6dSBrYXVmZW4gZ2lidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKFZhbmlvbiwgIDkuIE1hciAyMDA3LCAxNjoyMToyMSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE3MzQ1MzIxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4ClNvcnJ5LCBpY2ggbWVpbmUgZGllIERlY2tlbnN0cmFobGVyLCBkaWUgZXMgc2Nob24gc2VpdCBKYWhyZW4gZ2lidC4gRGllIGhhYmVuCmVpbmUgZ2FueiBub3JtYWxlIExhbXBlIG1pdCBHbHVlaGZhZGVuIHVuZCBzaW5kIGF1ZiBkZXIgUnVlY2tzZWl0ZSB2ZXJzaWxiZXJ0LgoKaHR0cDovL3d3dy5pa2VhLmNvbS9QSUFpbWFnZXMvNTUwOTJfUEUxNjAwOTJfUzIuanBnCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKFZhbmlvbiwgIDkuIE1hciAyMDA3LCAxNjoyNDo0Myk6Cn4jISBybj1WYW5pb24gcnQ9MTE3MzQ1MzY4MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4CkhhLCBlaW4gYmVzc2VyZXMgQmlsZDogCmh0dHA6Ly93d3cubXRtLW9mZmljZXRyYWRlcnMuZGUvaW1hZ2VzL09TUl9IYWxvbHV4X1I2My5qcGcKCldpZSBnZXNhZ3QsIGRpZSBFbmVyZ2llc3BhcmVyIG1pdCBFMTQtRmFzc3VuZywgZGllIGljaCBiaXNoZXIgZ2VmdW5kZW4gaGFiZSwKaGFiZW4gZWluZW4gZGlja2VyZW4gSGFscyB1bmQgcGFzc2VuIHNvbWl0IG5pY2h0IGluIGRpZSBTdGFuZGFyZHN0cmFobGVyLiBTZWhyCm5lcnZpZywgZmluZCBpY2guCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKEppbWRpZ3JpeiwgIDkuIE1hciAyMDA3LCAxNjoyODoxNCk6Cn4jISBybj1WYW5pb24gcnQ9MTE3MzQ1Mzg4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4CkFoIG9rLCBqYSBmdWVyIGRpZSBoYWIgaWNoIEVuZXJnaWVzcGFybGFtcGVuCmdlZnVuZGVuLCBpbiBkaWVzZXIgU3RyYWhsZXJmb3JtLCB3YXIgZ2xhdWIgaWNoIHNvZ2FyCmJlaSBJS0VBLiBJY2ggc2NoYXUgbWFsLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFbmVyZ2llc3BhcmxhbXBlbiBmdWVyIFN0cmFobGVyIC4uLiAoSmltZGlncml6LCAgOS4gTWFyIDIwMDcsIDE2OjM0OjM3KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTczNDU0MDk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExNzM0NTI4NzgKSGllcgpodHRwOi8vd3d3LmlrZWEuY29tL1BJQWltYWdlcy8yODg1NF9QRTExNTY5NV9TMi5qcGcKCmFiZXIgaWNoIGZpbmQgZGFzIHp1Z2Vob2VyaWdlIFByb2R1a3QgbmljaHQgbWVociwKbXVlc3N0ZSAiU3BhcnNhbSIgUmVmbGVrdG9ybGFtcGUgUjUwIChtaXQgRTE0IFNvY2tlbCkKc2Vpbi4gS2FubiBhYmVyIHNlaW4sIGRhc3MgZGllIGF1c20gU29ydGltZW50IGdlZmxvZ2VuIGlzdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVuZXJnaWVzcGFybGFtcGVuIGZ1ZXIgU3RyYWhsZXIgLi4uIChWYW5pb24sICA5LiBNYXIgMjAwNywgMTY6Mzc6NDYpOgp+IyEgcm49SmltZGlncml6IHJ0PTExNzM0NTQ0Nzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE3MzQ1Mjg3OApEYW5rZSBEaXIuIE11c3MgaWNoIG1hbCBtb3JnZW4gYmVpbSBJa2VhIGd1Y2tlbi4KCkJpcyBkZW5uLApWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFbmVyZ2llc3BhcmxhbXBlbiBmdWVyIFN0cmFobGVyIC4uLiAoSmFtZXNvbiwgIDkuIE1hciAyMDA3LCAxNzo1Mjo1Mik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE3MzQ1MzIxNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4Ck5lYmVuYmVpOiBFcyBnaWJ0IGZ1ZXIgZGllIEhhbG9nZW52YXJpYW50ZSBzb3dvaGwgSG9jaC0gKDIzMFYpICphbHMgYXVjaCoKTmllZGVydm9sdC0gKDEyVikgTGV1Y2h0ZW4uIFdvbGx0ZSBtaXIgYXVjaCBtYWwgc293YXMgenVsZWdlbiwgd2VpbCBkYXMKZWlnZW50bGljaCBuaWNodCBnYW56IGhhZXNzbGljaCBpc3QsIGFiZXIgZGEgaXN0IGVzIGdlbmF1c28gd2llIGJlaSBWYW5pb25zCkxhbXBlbi4uLiBicmF1Y2hlbiBzbyB2aWVsIFN0cm9tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKEdsb2luc29uLCAxMC4gTWFyIDIwMDcsIDAwOjE3OjAwKToKfiMhIHJuPUphbWVzb24gcnQ9MTE3MzQ1OTE3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4Ckd1Y2sgbWFsIGJlaSB3d3cubWVnYW1hbi5kZS4gRGllIGhhYmVuIHJlbGF0aXYgdmllbGUgdW5kIGF1Y2gga2xlaW5lcmUgRVNMLApkaWUgaW4gZGl2ZXJzZSBGYXNzdW5nZW4gcGFzc2VuLiBJY2ggaGFiIGdyYWQgbmljaHQgZ2VudWcgTmV0eiB1bSBoaWVyIHZpZWwgenUKZXJzdXJmZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRW5lcmdpZXNwYXJsYW1wZW4gZnVlciBTdHJhaGxlciAuLi4gKFdpbGxvdywgMTIuIE1hciAyMDA3LCAxMjoyOTowMSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE3MzQ1NDQ3NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTczNDUyODc4Cnl1cCwgZ2liYmV0IG5vY2ggLSB3YXIgc2Ftc3RhZyBpbSBJS0VBIHVuZCBoYWIgZGllc2UgYmlybmVuIGF1Y2ggYmVzdGF1bnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFdm9sdXRpb24gKEJhbWJ1bGtvLCAxNi4gTWFyIDIwMDcsIDEzOjM0OjEwKToKS2FubiBpY2ggaXJnZW5kd2llIG1laW5lIG1haWwtZm9sZGVyIHZvbiBtb3ppbGxhIHVuIGV2b2x1dGlvbiBpbXBvcnRpZXJlbj8KRGFtaXQgbWVpbmUgaWNoIGF1Y2ggZGllIExva2FsZW4gRGF0ZWllbi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3dlcm1hbmFnZW1lbnQgdW50ZXIgTGludXggKE9ya3RvZXRlciwgMjIuIEFwciAyMDA3LCAxODo1ODoyMik6CkhhbGxvIQoKU3VzZSAoMTAuMSkgc2NoYWx0ZXQgc3RhZW5kaWcgbmFjaCBlaW4gcGFhciBNaW51dGVuIGlkbGVuIGRlbiBNb25pdG9yIGF1cywKZGFiZWkgaXN0IGltIFlhc3QgZWluZ2VzdGVsbHQsIGRhc3MgaWNoIG1heGltYWxlIHBlcmZvcm1hbmNlIGhhYmVuIG1vZWNodGUKKGRlciBCaWxkc2NoaXJtc2Nob25lciBnZWh0IGVyc3QgZWluIHBhYXIgTWludXRlbiBzcGFldGVyIHVlYmVyaGF1cHQgYW4pLgoKV2FzIGlzdCBkYXMsIGRhcyBkZW4gTW9uaXRvciBhYnNjaGFsdGV0IHVuZCB3aWUgc3RlbGxlIGljaCBkYXMgYXVzPwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyNjQxMzogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoUnVtYXRhLCAyMi4gQXByIDIwMDcsIDIyOjE0OjE2KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE3NzI2MDc1OSByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKS2xpbmd0IG5hY2ggZWluZXIgWDExIGVpbnN0ZWxsdW5nLiBLYW5uIG1hbiBtaXQgInhzZXQiIGFlbmRlcm4uCihtYW4geHNldCkgVmVybXV0bGljaCB3aWxsc3QgRHUgInhzZXQgZHBtcyBvZmYiIG9kZXIKInhzZXQgZHBtcyBmb3JjZSBvZmYiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI2NDE0OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChLbnVycHMsICAyLiBNYWkgMjAwNywgMjE6NDM6NDEpOgp+IyEgcm49UnVtYXRhIHJ0PTExNzcyNzI4NTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgyMzI4Mjc4CkhhYiBqZXR6dCBuaWNodCBuYWNoZ2VndWNrdCwgYWJlciBzY2hhbHRldCAieHNldCBkcG1zIGZvcmNlIG9mZiIgbmljaHQgZGVuCk1vbml0b3IgbWl0dGVscyBkcG1zIHNvZm9ydCBhdXM/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI2NDE1OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChSdW1hdGEsICAzLiBNYWkgMjAwNywgMDc6NDc6NDcpOgp+IyEgcm49S251cnBzIHJ0PTExNzgxMzUwMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9OTgyMzI4Mjc4Cmthbm4gc2Vpbi4gZW50d2VkZXIgc2NoYWx0ZXQgZXMgZGFzIGRwbXMgb2RlciBkZW4gbW9uaXRvciBhYiwgYWJlcgpqZWRlbmZhbGxzIGlzdCB4c2V0IGRhcyBrb21tYW5kbyBtaXQgZGVtIG1hbiBkYXMgZHBtcyBzdGV1ZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9rYWxlciBOZXR6d2Vya2RydWNrZXIgKE9ya3RvZXRlciwgMjUuIE1haSAyMDA3LCAyMjo0NjowNyk6CkljaCBoYWJlIGdlcmFkZSB1bnRlciBTdXNlIDEwLjIgZWluZSBOZXR6d2Vya2thcnRlIGVpbmdlYmF1dCB1bmQgZGFzIFN5c3RlbQpoYXQgc2llIGdsZWljaCBnZWZ1bmRlbiAodWViZXIgREhDUCBlaW5nZXJpY2h0ZXQpLiBOdW4gaGFiZSBpY2ggYW4gZGllc2UgS2FydGUKZWluZW4gTGFzZXJkcnVja2VyIGFuZ2VzY2hsb3NzZW4uIFdpZSBnZWJlIGljaCBkZW0gU3lzdGVtIG51biBkZW4gRHJ1Y2tlcgpiZWthbm50PwoKRGFua2UgaW0gVm9ycmF1cyBmdWVyIEhpbndlaXNlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFwdG9wIGdlc3VjaHQgKEh1bW5pLCAgNC4gSnVuIDIwMDcsIDAxOjQzOjM4KToKSHVodSwKCmljaCBzdWNoZSBmdWVyIGRpZSBuYWVjaHN0ZSBaZWl0IGVpbmVuIExhcHRvcC4KCkljaCB3aWxsIGRlbiB6dW0gYXJiZWl0ZW4gbnV0emVuLCBkYSBpY2ggdmVybXV0bGljaCBhYiBBdWd1c3QgYW4gQXJiZWl0c3RhZ2VuCnRhZWdsaWNoIDJoIGltIFp1ZyB2ZXJicmluZ2VuIHdlcmRlLgoKRGEgYmVnaW5udCBhbHNvIGF1Y2ggZGFzIFByb2JsZW06IEdlYnJhdWNodGUgaGFiZW4gb2Z0IG51ciBlaW5nZXNjaHJhZW5rdGUKRnVua3Rpb25hbGl0YWV0IGltIEFra3UuIEljaCBoYWV0dGUgZGFubiBhYmVyIGRvY2ggZ2VybmUgMmggdW5kIG1laHIKQWtrdWxhdWZ6ZWl0LCBvaG5lIGluIGVpbmVtIEphaHIgZWluZW4gbmV1ZW4ga2F1ZmVuIHp1IG11ZXNzZW4uCgpEYW5uOiBEaWUgbWVpc3RlbiBMYXB0b3BzIHdlcmRlbiBtaXQgVmlzdGEgYXVzZ2VsaWVmZXJ0LiBJY2ggd2lsbCBrZWluIFZpc3RhLgpFaWdlbnRsaWNoIHdpbGwgaWNoIExpbnV4LiBWb3IgYWxsZW0gd2lsbCBpY2ggYWJlciBuaWNodCBmdWVyIGVpbiBPUyBhdWNoIG5vY2gKR2VsZCBiZXphaGxlbiwgd2FzIGF1ZmdydW5kIHZvbiBEUk0tIHVuZCBUcmVpYmVyY2hlY2tzIGRpZSBMZWlzdHVuZ3NmYWVoaWdrZWl0CmRlcyBHZXJhZXRzIHJ1bnRlcnppZWh0LiBJY2ggd3VlcmRlIGFsc28gbmljaHQgc2NocmVpZW4sIHdlbm4gWFAgZHJhdWYKaW5zdGFsbGllcnQgd2FlcmUuIEFiZXIgdmVybXV0bGljaCBnZWh0IGRhcyBlaCBuaWNodCBtZWhyLCBtYW4ga2FubiB3b2hsIGVoCm51ciBub2NoIFZpc3RhIGthdWZlbi4gTnVuIGd1dCwgZGFubiB0dSBpY2ggVWJ1bnR1IGRyYXVmLgoKU28uIFNvbnN0aWdlIEFuZm9yZGVydW5nZW46IDUwMCBNQiBvZGVyIGxpZWJlciBlaW4gR2lnIFJhbSB3YWVyZW4gc2Nob24gdG9sbCwKZWluaWdlcm1hc3NlbiByb2J1c3QsIGFscyBQbGF0dGUgc29sbHRlbiBkaWUgZGVyemVpdCB1ZWJsaWNoZW4gODAgR2lnIGxvY2tlcgpyZWljaGVuICh2ZXJtdXRsaWNoIHd1ZXJkZW5zIGF1Y2ggNDAgdHVuLCBkaWUga3JpZWd0IG1hbiB3b2hsIG51ciBuaWNodCBtZWhyKS4KCkhhdXB0a3JpdGVyaXVtOiBCaWxsaWcgKGphamEsIGljaCB3ZWlzcywgTWFjYm9vayB3YWVyZSB0b2xsIHVuZCB3dWVyZGUgZ2VuYXUKcGFzc2VuLCBhYmVyIGZpbmFuemllbGwgd29obCBlaW5lIE51bW1lciB6dSBncm9zcyBkZXJ6ZWl0KS4KCldlbm4gamVtYW5kIGVpbmVuIGd1dGVuIEhhZW5kbGVyIHdlaXNzIGZhZW5kZSBpY2ggZGFzIHRvbGwuCgpIdW1uaSAobmFjaCAyIEJpZXIsIGJpdHRlIHNpbm5sb3NlIFNhZXR6ZSBhbHMgV2FocmhlaXQgYW5uZWhtZW4pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhcHRvcCBnZXN1Y2h0IChHbG9pbnNvbiwgIDQuIEp1biAyMDA3LCAwMTo1NzoxNik6Cn4jISBybj1IdW1uaSBydD0xMTgwOTE0MjE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODA5MTQyMTgKRGVsbCBsaWVmZXJ0IG1pdHRsZXJ3ZWlsZSBhdWNoIG9obmUgV2luZG93cyBhdXMuIExhcyBpY2ggdW5sYWVuZ3N0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYXB0b3AgZ2VzdWNodCAoSmFtZXNvbiwgIDQuIEp1biAyMDA3LCAxMToyNjowMSk6Cn4jISBybj1IdW1uaSBydD0xMTgwOTE0MjE4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODA5MTQyMTgKSW4gZWluZXIgZGVyIGxldHp0ZW4gYyd0cyBnYWIncyBhdWNoIGVpbmVuIEJlcmljaHQgIk5vdGVib29rcyB1bmQgTGludXgiIG9kZXIKc28uIFNpbmQgbWVpbmVzIFdpc3NlbnMgYXVjaCBrb25rcmV0ZSBHZXJhZXRlIGdlbmFubnQgd29yZGVuLgoxIEdCIFJBTSBpc3QgZWlnZW50bGljaCBoZXV0ZSBmYXN0IFN0YW5kYXJkLCBlYmVuc28gPj0gODAgR0IgUGxhdHRlLCBlcyB3ZXJkZW4KYXVjaCBkdXJjaGF1cyBzY2hvbiB3ZWxjaGUgbWl0IExpbnV4IGF1c2dlbGllZmVydC4KS2FubiB6dWhhdXNlIG1hbCBHZW5hdWVyZXMgbmFjaHNjaGF1ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhcHRvcCBnZXN1Y2h0IChJbm51ZW5kbywgIDQuIEp1biAyMDA3LCAxNTowMzo0NSk6Cn4jISBybj1KYW1lc29uIHJ0PTExODA5NDkxNjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4MDkxNDIxOAphdWYgd3d3LmdlaXpoYWxzLmRlIHNpbmQgdW5oZWltbGljaCB2aWVsZSBhbmdlYm90ZSBnZWxpc3RldC4gaWNoIGhhYiBtaXIgZWluZW4Kb2huZSB3aW5kb3dzIGdla2F1ZnQgdm9uIGhwLCB3YXIgZ2xhdHRlIDEzMCBldXJvIGJpbGxpZ2VyLCBhbHMgZGVyIHJlc3QuIGdpYnQKZGEgYXVjaCBuZSBuZXR0ZSBzdWNoZnVua3Rpb24gZ2xhdWIgaWNoLCB3byBkdSBkZWluZSB3fG5zY2hlIHNvIHVuZ2VmaHIKYW5nZWJlbiBrYW5uc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExhcHRvcCBnZXN1Y2h0IChPcmt0b2V0ZXIsICA0LiBKdW4gMjAwNywgMjA6NDQ6MTApOgp+IyEgcm49SW5udWVuZG8gcnQ9MTE4MDk2MjIyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTgwOTE0MjE4ClNjaGF1IGF1Y2ggbWFsIGF1ZiBnZWl6aGFscy5hdCwgZGllIGJlaWRlbiBTZWl0ZW4gaGFiZW4gbmljaHRzIG1pdGVpbmFuZGVyIHp1CnR1bgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2hld2JhY2NhcyBSZWxpZ2lvbiAuLi4gKElubnVlbmRvLCAgNS4gSnVuIDIwMDcsIDAxOjAzOjA3KToKfiMhIHJuPUFsYm9pbiBydD0xMTgwOTg2MjUzIHJnPXd3dwp+IyEgdGlkPTExODA5NjMxMDcKc3RpbW10LCBlcyB3YXIgYXVjaCAuYXQgaWNoIHZlcndlY2hzZWwgZGFzIGltbWVyLCB3ZWlsIG1hbiBkYSBhdWYgZGV1dHNjaGxhbmQKa2xpY2tlbiBrYW5uLi4uKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGFwdG9wIGdlc3VjaHQgKFRhcHNpLCAgOS4gSnVuIDIwMDcsIDE3OjA5OjEyKToKfiMhIHJuPUh1bW5pIHJ0PTExODA5MTQyMTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4MDkxNDIxOApIYWxsbyBIdW1uaSwgCmJlaSBEZWxsIGdpYnQgZXMgbm9jaCB4cCBtZWRpYWNlbnRlci4uLiBoYWIgZG9ydCBtYWwgZnVlciBtaWNoIHNlbGJlciBnZWZyYWd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCAtPiBMYXB0b3AgKFpvb2ssIDE3LiBKdW4gMjAwNywgMTI6MjI6MzMpOgpXZXIgc2ljaCBlcmlubmVybiBtYWcsIGljaCBoYWIgZWlubWFsIG5hY2ggcHJha3Rpc2NoZW4gTGludXgtVmFyaWFudGVuCmZ1ZXIgTm90ZWJvb2tzIGdlZnJhZ3QuIE51biBzY2huZWl0ZSBzbyBuZSBTY2hhY2h0ZWwgaGVyZWluIChGdXNpCkxpZmVib29rIDgyMTAgb2RlciBzbyB1bSBkZW4gRHJlaCkgdW5kIGRhcyBGcmVlQlNFIHppY2t0ZSBzY2hvbiBiZWltClBhcnRpdGlvbnNsYXlvdXQgaXJnZW5kd2llIGhlcnVtLiBNaXQgRmVkb3JhIGhhdHRlIGljaCBuaWNodCBzbyAKdmllbCBGcmV1ZGUgdW5kIGhhYiBtaWNoIGRhbm4gYW4gS251cnBzJyBWb3JzY2hsYWcgb3JpZW50aWVydCwKa3VidW50dSBlaW56dXNldHplbi4gRkRhcyBnaW5nIGF1Y2ggdGF0c2FlY2hsaWNoIHNlaHIgc2Nob2VuIHVuZApnZW11ZXRsaWNoIHp1IGluc3RhbGxpZXJlbiwgV0xBTiBnaW5nIGF1Y2ggc29mb3J0LCBudXIgZnVlciBkaWUKQVRJIEdyYWZpa2thcnRlIHVuZCBkaWUgcmljaHRpZ2UgQmlsZHNjaGltYXVmbG9lc3VuZyBtdXNzdGUgaWNoCmVpbiB3ZW5pZyBydW1iYXN0ZWxuLCB0dXQgbnVuIGF1Y2ggYWxsZXMuIEVpbnppZyBkZXIgU3VzcGVuZC0KTW9kcyBnZWh0IHdnLiBkZXMgQVRJLVRyZWliZXJzIHdvaGwgbmljaHQuLi4gTmFqYS4gCgpCZXN0ZW4gRGFuayBqZWRlbmZhbGxzIGZ1ZXIgRXVyZSBUaXBzIQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldMQU4gdW5kIGt1YnVudHUuLi4gKFpvb2ssIDE5LiBKdW4gMjAwNywgMjI6NDk6NTkpOgpIaSwgaXJnZW5kd2llIGJpbiBpY2ggd29obCB6dSBibG9lZCwgZGFzIGVpbnp1c3RlbGxlbiwgc2VsYnN0IHdlbm4gaWNoIHp1CkhhdXNlCmJpbiB1bmQgZG9ydCBzZWhyIGd1dGVuIEVtcGZhbmcgaGFiZSwgc3R1ZXJ6dCBtaXIgZGllIExlaXR1bmcgZ2VsZWdlbnRsaWNoIAphYi4gQW4gZGVyIFVuaSBpc3Qgbm9jaCBzY2hsaW1tZXIsIGRhIHplcnNlbW1lbHQgc2ljaCBkaWUgTGVpdHVuZyBhbGxlCjEtMiBNaW51dGVuIGZ1ZXIgbmUgaGFsYmUgTWludXRlLiBadSBIYXVzZSBiZW51dHplIGljaCBrbmV0d29ya21hbmFnZXIKdW5kIGFuIGRlciBVbmkgZGlyZWt0IHdwYV9zdWRpbmdlbnMuIEplbWFuZCB2b24gRXVjaCBuZSBJZGVlLCB3b3JhbiBkYXMKbGllZ2VuIGtvZW5udGUgb2RlciB3aWUgaWNoIGRpZSBGZWhsZXJxdWVsbGUgaGVyYXVzZmluZGVuIGthbm4/IEplZGVuLQpmYWxscyB0YXVndCBkYXMgc28gbml4LiAKCihCZWkgVmlzdGEgaXN0IG1pciBkaWVzZXMgVmVyaGFsdGVuIHp1bWluZGVzdCB6dSBIYXVzZSBuaWNodAphdWZnZWZhbGxlbi0tLWFuIGRlciBVbmkgd2FyIGRhcyBnYXIgbmljaHQgYW5zIExhdWZlbiB6dSBiZWtvbW1lbgp2b24gd2VnZW4gUHJvdG9rb2xsLSwgQXV0aGVudGlmaXppZXJ1bmdzLSB1bmQgVmVyc2NobHVlc3NlbHVuZ3MtCnpvbywgZGVuIGljaCBuaWNodCBlbnR3aXJyZW4ga29ubnRlLikKCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRodW5kZXJiaXJkIHVuZCByZWloZW5mb2xnZSBkZXIga29udGVuIChab29rLCAxOS4gSnVuIDIwMDcsIDIyOjU3OjA1KToKaWNoIGJlbnV0emVyIHRodW5kZXJiaXJkIHZlcnNpb24gMS41LmlyZ2VuZHdhcyB1bmQgaGFiZSB6d2VpIGtvbnRlbgphbmdlbGVndDogZWluIGxva2FsZXMga29udG8gdW5kIGVpbiBpbWFwIGtvbnRvLiBhdXMgaXJnZW5kZWluZW0gCmdydW5kIHN0ZWh0IGRhcyBpbWFwIGtvbnRvIG51biBpbiBkZXIgbGlua2VuIHNwYWx0ZSBnYW56IG9iZW47IGljaCB3dWVyZGUKZGllIHJlaWhlbmZvbGdlIGdlcm5lIHRhdXNjaGVuLC4gd2Vpc3MgamVtYW5kLCBvYiB1bmQgd2llIGRhcyBnZWh0Pwp6LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdMQU4gdW5kIGt1YnVudHUuLi4gKFpvb2ssIDIwLiBKdW4gMjAwNywgMDA6MTk6NTcpOgp+IyEgcm49Wm9vayBydD0xMTgyMjg2MTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODIyODYxOTkKZWluIGJsaWNrIGlucyBsb2lnIHplaXQgZWluZW4gZGlzY291bm5lY3QgYWxsZSAzMCBtaW51dGVuIHVuZCBkYW5uIApodWVwcGVsdCBlciB6d2VpbWFsIGluIDIgbWludXRlbiBtaXQgY29ubmVjdC1kaXNjb25uZWN0IHJ1bSB1bmQgCmRhbm4gaGF0IGVyIGVzIHdpZWRlci4gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWt0ZW5rb2ZmZXIgLi4uIChWYW5pb24sIDIxLiBKdW4gMjAwNywgMTE6NDE6NDEpOgpIaSwgCgpmcnVlaGVyIGdhYnMgZG9jaCB1bnRlciBXaW5kb3dzIHNvIGVpbmVuIHRvbGxlbiBBa3RlbmtvZmZlciwgbWl0IGRlbSBtYW4gMgpWZXJ6ZWljaG5pc3NlIHN5bmNocm9uaXNpZXJlbiBrYW5uLiBJcmdlbmR3aWUgZmluZGUgaWNoIGRlbiBuaWNodCBtZWhyLiBTb3dhcwpicmF1Y2h0IHNjaGVpbmJhciBuaWVtYW5kIG1laHIgLi4uCgpXZWlzcyBqZW1hbmQgd2FzIG1hbiBkYSBhbiBUb29scyBiZW51dHplbiBrYW5uPyBJY2ggYmluIHp1ciBaZWl0IG9mdCBtaXQgZGVtClN0aWNrIHVudGVyd2Vncywgd2lsbCB6dWhhdXNlIGFiZXIgbmljaCBhdWYgZGVtIGFyYmVpdGVuLCB3ZWlsIGVzIGJlaW0gTGFkZW4KZ3Jvc3NlciBEYXRlaWVuIGRvY2ggZ3V0IGJyZW1zdC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWt0ZW5rb2ZmZXIgLi4uIChSdW1hdGEsIDIxLiBKdW4gMjAwNywgMTI6MjM6MDApOgp+IyEgcm49VmFuaW9uIHJ0PTExODI0MTg5MDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4MjQxODkwMQpyc3luYyAtIGdpYnRzIHNvZ2FyIGZ1ZXIgV2luZG93cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ0QtUmlwcGVyIChWYW5pb24sIDEyLiBKdWwgMjAwNywgMTA6NTU6NTUpOgpHcnVlc3NlLCAKCmRhIGljaCBhYiBrb21tZW5kZXIgV29jaGUgd2llZGVyIGV3aWcgd2VpdCB2b24gbWVpbmVyIGhlaW1hdGxpY2hlbiBDRC1TYW1tbHVuZwplbnRmZXJudCBzZWluIHdlcmRlLCB3dWVyZGUgaWNoIGdlcm4gbm9jaCBlaW4gcGFhciBDRHMgYXVmIG1laW5lIEZlc3RwbGF0dGUKYmFubmVuLiAKCldlbGNoZSBUb29scyBiZW51dHp0IGlociBkZW5uIHNvLCB1bSBhdXMgZWluZXIgQ0QgZWluIE1QMy1CYWNrdXAgenUgbWFjaGVuPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRC1SaXBwZXIgKFZhbmlvbiwgMTIuIEp1bCAyMDA3LCAxMDo1NjoxMyk6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDIzMDU1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CkFrdHVlbGxlIEFuZm9lcmRlcnVuZyBpc3QgbGVpZGVyLCBkYXNzIGVzIHVudGVyIFdpbmRvd3MgZ2VzY2hlaGVuIG11c3MuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENELVJpcHBlciAoRGVtb25sb3JkLCAxMi4gSnVsIDIwMDcsIDEwOjU2OjQ3KToKfiMhIHJuPVZhbmlvbiBydD0xMTg0MjMwNTU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQyMzA1NTUKQ0RleCAKenUgZmluZGVuIHVudGVyIGh0dHA6Ly9jZGV4b3Muc291cmNlZm9yZ2UubmV0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDRC1SaXBwZXIgKERlbW9ubG9yZCwgMTIuIEp1bCAyMDA3LCAxMDo1ODo1OCk6Cn4jISBybj1EZW1vbmxvcmQgcnQ9MTE4NDIzMDYwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1Cnp1IHNjaG5lbGwgYmVlbmRldC4KRGFzIFByb2dyYW1tIGhhdCBuZSBPbmxpbmUtRGF0ZW5iYW5rLCB3YXMgdmVyc3VjaHQsIGRhc3MgZWluZ2VsZWd0ZSBNZWRpdW0genUKZXJrZW5uZW4gdW5kIHdlbm4gZXMgYmVrYW5udCBpc3QsIGxlZ3QgZXMgZGllIGZpbGVzIGVudHNwcmVjaGVuZCBkZW0KSW50ZXJwcmVkZW4sIEFsYnVtbmFtZSB1bmQgVGl0ZWwgYWxzIG1wMyBhbi4gU2VociBuZXR0ZXMgVG9vbCwgaGFiIGRhbWl0IGF1Y2gKbWVpZW4gZ2VzYW10ZSBDRC1TYW1tbHVuZyBhdWYgRmVzdHBsYXR0ZSBnZWJyYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENELVJpcHBlciAoTWVzaXJpaSwgMTIuIEp1bCAyMDA3LCAxMTowMDo0Nik6Cn4jISBybj1EZW1vbmxvcmQgcnQ9MTE4NDIzMDczOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CkRpZXNlIE9ubGluZS1EYXRlbmJhbmsgaGVpc3N0IGNkZGIgb2RlciBmcmVlZGIuIERpZSBoYXQgbmljaHQgbnVyIGRpZXNlcwpUb29sLCBzb25kZXJuIHdpcmQgdm9uIGZhc3QgamVkZW0gUmlwcGVyIGJlbnV0enQuCkljaCBoYWIgYXVjaCB1ZWJlciAzIFdvY2hlbiBjYS4gMjAgR0IgbXAzIGRhbWl0IGdlYnJhbm50LiBEYW5rIFJhbmEgZ2FicyBhdWNoCmltbWVyIGVpbmVuIGt1cnplbiBIaW53ZWlzIGF1ZiBmZXJ0aWdlIENEcy4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ0QtUmlwcGVyIChNYWhhcmV0LCAxMi4gSnVsIDIwMDcsIDExOjAwOjU4KToKfiMhIHJuPURlbW9ubG9yZCBydD0xMTg0MjMwNzM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQyMzA1NTUKSm8sIGRhcyBoYWIgaWNoIGF1Y2ggaW1tZXIgYmVudXR6dCwgYWxzIGljaCBkZW4gV2luZG93cy1SZWNobmVyIGhhdHRlLgpLbGFwcHQgcHJpbWEgdW5kIGlzdCBsZWljaHQgenUgYmVkaWVuZW4uIEhhYiBzZWxic3QgaWNoIGdlc2NoYWZmdCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENELVJpcHBlciAoTWFoYXJldCwgMTIuIEp1bCAyMDA3LCAxMTowMTozMCk6Cn4jISBybj1NZXNpcmlpIHJ0PTExODQyMzA4NDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpSYW5hIHZlcmxlaWhlbiB3aXIgYWJlciBudXIgZ2VnZW4gaG9oZSBHZWJ1ZWhyZW4sIGRhcyBtdXNzIGV4dHJhIHZlcmVpbmJhcnQKd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ0QtUmlwcGVyIChCb2luZywgMTIuIEp1bCAyMDA3LCAxMTowNDoyNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExODQyMzA4OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpXYWVyZSBlaW4gVGF1c2NoaGFuZGVsIG1hY2hiYXI/IDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRC1SaXBwZXIgKEdub21lLCAxMi4gSnVsIDIwMDcsIDExOjA1OjA3KToKfiMhIHJuPVZhbmlvbiBydD0xMTg0MjMwNTU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQyMzA1NTUKYXVkaW9ncmFiYmVyMS44MyAoaHR0cDovL3d3dy5hdWRpb2dyYWJiZXIuZGUvKQpzZWhyIHZpZWxlIGVpbnN0ZWxsbW9lZ2xpY2hrZWl0ZW4sIGxlaWNodCB6dSBiZWRpZW5lbiwgZXh0ZXJuZXIgY29kZWMKa2FubiBlaW5nZWJ1bmRlbiB3ZXJkZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBDRC1SaXBwZXIgKE1lc2lyaWksIDEyLiBKdWwgMjAwNywgMTE6MDc6MjYpOgp+IyEgcm49R25vbWUgcnQ9MTE4NDIzMTEwNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CnNlbGJlIGZyYWdlIGZ1ZXIgZHZkLXJpcHBlciwgd2lyIG11ZXNzZW4gdW5iZWRpbmd0IGRpZSBkdmRzIHZvbSBCYWxnIGtvcGllcmVuCmRhcyB3aXJkIHNvbnN0IHp1IHRldWVyIG1pdCBkZW4gemVya3JhdHp0ZW4vemVyYnJvY2hlbmVuIE9yaWdpbmFsLURWRHMuCkRWRHNocmluayA/LCBoYXQgbWFsIHdlciBjbGFkRFZEIGF1c3Byb2JpZXJ0PwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDRC1SaXBwZXIgKFZhbmlvbiwgMTIuIEp1bCAyMDA3LCAxMTowODowNSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExODQyMzA4OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpTb2dhciBhbiBtaWNoPyBJY2ggZGFjaHRlLCBpY2gga3JpZWcgZGllIHNvLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IENELVJpcHBlciAoTWFoYXJldCwgMTIuIEp1bCAyMDA3LCAxMTowODo0Nik6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDIzMTI4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CkFiZXIgZXJzdCwgd2VubiBzaWUgdm9sbGphZWhyaWcgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ0QtUmlwcGVyIChCb2luZywgMTIuIEp1bCAyMDA3LCAxMTowODo1Nik6Cn4jISBybj1NZXNpcmlpIHJ0PTExODQyMzEyNDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpadSBkZW0gVGhlbWEgaGFiIGljaCBhdWNoIGdsZWljaCBuZSBGcmFnZTogZ2lidCBlcyBTVyBtaXQgZGVyIGljaCB2b24gCmVpbmVyIERWRCBkaWUgVG9uc3B1ciByaXBwZW4ga2Fubj8gSXN0IGJlaSBNdXNpay1EVkRzIGlyZ2VuZHdpZSB1bnNjaG9lbgpkYXNzIGljaCBkaWUgbmljaHQgaW0gQXV0byBob2VyZW4ga2FubiAob2RlciBzb25zdHdvKS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQ0QtUmlwcGVyIChHbm9tZSwgMTIuIEp1bCAyMDA3LCAxMTowOToxNik6Cn4jISBybj1NZXNpcmlpIHJ0PTExODQyMzEyNDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpnaWJ0IGltaG8gbmljaHRzIGJlc3NlcmVzIGFscyBkdmRTaHJpbmszLjIsIGJla29tbXQgbWFuIGFiZXIKdmVyc3RhZW5kbGljaGVyd2Vpc2UgbmljaHQgbWVociBzbyBvaG5lIHdlaXRlcmVzLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IENELVJpcHBlciAoR2xvaW5zb24sIDEyLiBKdWwgMjAwNywgMTE6MjE6MjYpOgp+IyEgcm49TWVzaXJpaSBydD0xMTg0MjMwODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQyMzA1NTUKVW5kIHdlaWwgZHUgc2VsYnN0dmVyZnJlaWxpY2ggbmVyZGlnIGJpc3QsIHdpcnN0IGR1IGRpciBzZWxic3R2ZXJmcmVpbGljaCBkZW4KcGFzc2VuZGVuIEVuY29kZXIgKGZhbGxzIGVzIG1wMyBzZWluIHNvbGwpIHNlbGJlciB1ZWJlcnNldHplbjoKaHR0cDovL2xhbWUuc291cmNlZm9yZ2UubmV0L2luZGV4LnBocAoKRExMIG51ciBub2NoIGlucyBlbnRzcHJlY2hlbmRlIFZlcnplaWNobmlzIGtvcGllcmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IENELVJpcHBlciAoWmVzc3RyYSwgMTIuIEp1bCAyMDA3LCAxMTozMzoxOCk6Cn4jISBybj1NZXNpcmlpIHJ0PTExODQyMzEyNDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpNYWNUaGVSaXBwZXIgdW5kIEhhbmRCcmFrZSwgbGV0enRlcmVzIGZ1ZXIgTWFjIHVuZCBMaW51eGVzCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDRC1SaXBwZXIgKEFsYm9pbiwgMTIuIEp1bCAyMDA3LCAxMTozNzozNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExODQyMzI3OTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpNdXNpayBDRHMgYXJjaGl2aWVyZSBpY2ggaW1tZXIgdmVybHVzdGZyZWkgbWl0IEVBQyB1bmQgZWluZ2VidW5kZW5lbSBmbGFjCmtvbnZlcnRlci4gS2xhcHB0IHByaW1hLgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQ0QtUmlwcGVyIChWYW5pb24sIDEyLiBKdWwgMjAwNywgMTE6Mzk6NTUpOgp+IyEgcm49QWxib2luIHJ0PTExODQyMzMwNTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDIzMDU1NQpMZWlkZXIgaGFiZSBpY2ggbnVyIDYwIEdCIFBsYXR6IGF1ZiBtZWluZW0gTVAzLVBsYXllci4gRmxhYyBzY2hlaWRldCBkYWR1cmNoCmF1cy4gTWVpbiBHZWhvZXIgaXN0IGVoIG5pY2h0IHNvIGdlc2NodWx0LiBBYmVyIENEZXggc2NoZWludCBndXRlIERpZW5zdGUgenUKdHVuLgoKRGFua2UsClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDRC1SaXBwZXIgKEFsYm9pbiwgMTIuIEp1bCAyMDA3LCAxMTo0NToyMCk6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDIzMzE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CkRlciBWb3J0ZWlsIGlzdCBhdWNoIGVoZXIgZWluZSBleGFrdGUgS29waWUgc2NobmVsbCB6dXIgaGFuZCB6dSBoYWJlbiBmYWxscwpkaWUgb3JpZ2luYWwgQ0QgbmljaHQgbWVociB6dW0gYWJzcGllbGVuIHRhdWd0OiBlaW5mYWNoIG1pdCBCdXJycm4hIGRpZSBmbGFjCkRhdGVpIGF1ZnJ1ZmVuLCBicmVubmVuIHVuZCBmZXJ0aWNoLiAKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IENELVJpcHBlciAoWmVzc3RyYSwgMTIuIEp1bCAyMDA3LCAxMTo0NjozOSk6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDIzMzE5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0MjMwNTU1CmlUdW5lcyBrYW5ucyB1ZWJyaWdlbnMgYXVjaCBndXQsIGZhbGxzIG1hbiBlcyBlaCBiZW51dHp0LiBNYW4ga2FubiBpaG0gc29nYXIKb2dnIGJlaWJyaW5nZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBDRC1SaXBwZXIgKE1haGFyZXQsIDEyLiBKdWwgMjAwNywgMTI6MTM6NTcpOgp+IyEgcm49WmVzc3RyYSBydD0xMTg0MjMzNTk5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQyMzA1NTUKSmEsIGlUdW5lcyBuZWhtZSBpY2ggamV0enQgaW1tZXIuIEFiZXIgbnVyIGRhZnVlciBpc3QgZXMgd2FocnNjaGVpbmxpY2ggenUKZ3Jvc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrdXBzIGJhc3RlbG4gbWl0IExpbnV4IChab29rLCAxNS4gSnVsIDIwMDcsIDE2OjM3OjA1KToKSGkgenVzYW1tZW4sCgpJaHIgZXJuc3RoYWZ0ZW4gTGludXgtQmVudXR6ZXIsIGRpZSBJaHIgRXVyZSBEYXRlbiBhdWNoIHNpY2hlcnQsIAp3b21pdCBtYWNodCBJaHIgZGFzPyBJY2ggc3VjaGUgbWVpbmUgRnJlZUJTRS1QZW5kZW50IHp1IGR1bXAvcmVzdG9yZSwKZmluZGUgZXMgYWJlciBuaWNodCB1bmQgZGFzIGxhdWZlbmRlICJ0YXIiIGZpbmRlIGljaCBlaW4gYmlzc2NoZW4KbGFlc3RpZy4gSXJnZW5kamVtYW5kIG1pdCBndXRlbiB1bmQgcHJheGlzdGF1Z2xpY2hlbiBUaXBzPyBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhY2t1cHMgYmFzdGVsbiBtaXQgTGludXggKEd3ZW4sIDE1LiBKdWwgMjAwNywgMTY6NDE6MjQpOgp+IyEgcm49Wm9vayBydD0xMTg0NTEwMjI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQ1MTAyMjUKYW1hbmRhPwpHd2VuLgosCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhY2t1cHMgYmFzdGVsbiBtaXQgTGludXggKEFsa29ob2wsIDE1LiBKdWwgMjAwNywgMTY6NDI6MjYpOgp+IyEgcm49R3dlbiBydD0xMTg0NTEwNDg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQ1MTAyMjUKZGllIGF1cyB3aWxsaWJ1cmcsIGRpZSBrYW5uIGRhIGhlbGZlbj8KCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYWNrdXBzIGJhc3RlbG4gbWl0IExpbnV4IChab29rLCAxNS4gSnVsIDIwMDcsIDE2OjQ3OjUxKToKfiMhIHJuPVpvb2sgcnQ9MTE4NDUxMDIyNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg0NTEwMjI1CkFoLCBpY2ggc2VoIGdyYWQgZHVtcC9yZXN0b3JlIGdpYnRzIGF1Y2ggZnVlciBMaW51eC4gTWFsIHNlaGVuLCBvYiAKaWNoIGRhbWl0IHp1cmVjaHQga29tbWUgdW5kIG1laW5lIGFsdGVuIEJhY2t1cHNrcmlwdHMgCndlaXRlciB2ZXJ3ZW5kZW4ga2FubiA7KSBaCmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFja3VwcyBiYXN0ZWxuIG1pdCBMaW51eCAoQ2hhZ2FsbCwgMTUuIEp1bCAyMDA3LCAxNjo0OToyNCk6Cn4jISBybj1ab29rIHJ0PTExODQ1MTA4NzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDUxMDIyNQpJY2ggaGFiZSBlaW5lIGZsZXhiYWNrdXAgZ2VudXR6dCB1bSBtZWluZSBEYXRlbiB6dSBzaWNoZXJuLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhY2t1cHMgYmFzdGVsbiBtaXQgTGludXggKFpvb2ssIDE4LiBKdWwgMjAwNywgMTA6MTY6NDEpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTg0NTEwOTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQ1MTAyMjUKZmVpbiBmZWluLiBpY2ggcHJvYmllcnMgbnVuIG1hbCBtaXQgbWVpbmVtIHNrcmlwdCB1bmQgZGVtCmR1bXAvcmVzb3RyZSBmdWVyIGxpbnV4LiBtYWwgc2NoYXVlbiwgb2IgbWFuIGRpZSBlcnN0ZWxsdGVuCmJhY2t1cHMgYXVjaCB6dW0gcnVlY2tzaWNoZXJuIG51dHplbiBrYW5uIDspICpnKgp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCYWNrdXBzIGJhc3RlbG4gbWl0IExpbnV4IChNYXJjdXMsIDE4LiBKdWwgMjAwNywgMTA6Mzk6MTYpOgp+IyEgcm49Wm9vayBydD0xMTg0NzQ2NjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQ1MTAyMjUKZXZ0IHdpbGxzdCBkdSB3aXJrbGljaCBuaWNodCBkaWUgaGFyZGNvcmUgbG93bGV2ZWwgdmVyc2lvbiwgc29uZGVybiBlaGVyCmV0d2FzIGhvZWhlcmxldmVsaWdlcyB3aWUgYW1hbmRhLiA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYWNrdXBzIGJhc3RlbG4gbWl0IExpbnV4IChab29rLCAxOC4gSnVsIDIwMDcsIDEwOjQzOjUwKToKfiMhIHJuPU1hcmN1cyBydD0xMTg0NzQ3OTU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODQ1MTAyMjUKd2FzIG1laW5zdCBkdSBtaXQgImxldmVsIj8gOykgCgphbHNvIGljaCBmaW5kIGR1bXAvcmVzdG9yZSBnYW56IGZlaW4sIGVpZ2VudGxpY2guIAoKegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgbWFpbmJvYXJkIChHbm9tZSwgMTguIEp1bCAyMDA3LCAyMzoyODowOSk6CmhpLAoKc3VjaGUgbWFpbmJvYXJkIG1pdCBmb2xnZW5kZW4gZWlnZW5zY2hhZnRlbjoKLSBzb2NrZWwgOTM5LCA0eGRpbW0gZGRyNDAwIChiencuIGR1YWxjaGFubmVsLWZhZWhpZyksIDIwMC9IVDEwMDAKLSBwYXNzaXZlIGt1ZWhsdW5nLCBBR1AsIG1pbmQuIDN4UENJCgpmaXJld2lyZSB1bmQgZ2JpdC1sYW4gd2FlcmUgbmV0dCwgYWJlciBrZWluIG11c3MuCgphbGxlcyBhbmRlcmUgZWdhbCwgaGF1cHRzYWNoZSB0ZWNobmlzY2ggb2sgdW5kIHN0YWJpbCAqc2V1ZnoqCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQmFja3VwcyBiYXN0ZWxuIG1pdCBMaW51eCAoWm9vaywgMjMuIEp1bCAyMDA3LCAxMjowNzo0OSk6Cn4jISBybj1ab29rIHJ0PTExODQ3NDgyMzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NDUxMDIyNQpmdW56dCBtaXQgZHVtcC9yZXN0b3JlLiBldnRsLiBzY2hhdWUgaWNoIG1pciBhYmVyIGF1Y2ggbWFsIApkYXMgZmxleGJhY2t1cCBhbi4gYW1hbmRhIGlzdCBpcmdlbmR3aWUgb3ZlcmtpbGwgZnVlciBtZWluZQpkcmVpIGZpbGVzLiB6CgouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9sbHRleHRzdWNoZSB1ZWJlciBQREZzIChab29rLCAyMy4gSnVsIDIwMDcsIDEzOjEyOjM5KToKR2lidHMgZWlnZW50bGljaCBpcmdlbmRlaW4gbmV0dGVzIFRvb2wsIG1pdCBkZW0gaWNoIFBERnMgKGFsc28gbWVocmVyZSAKVmVyemVpY2huaXNzZSBtaXQgZWluIHBhYXIgaHVuZGVydCBQRFNzKSB2b2xsdGV4dGR1cmNoc3VjaGVuIGthbm4/IEljaCAKc3RlbGwgbWlyIGRhcyBzbyBhZWhubGljaCB3aWUgYmVpIGRlciBHb29nbGUtU3VjaGUgdm9yLiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9sbHRleHRzdWNoZSB1ZWJlciBQREZzIChab29rLCAyMy4gSnVsIDIwMDcsIDEzOjE2OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTE4NTE4OTE1OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg1MTg5MTU5CnNpbmQga25hcHAgNTAwbWIgZGF0ZW4uIHVuZCBtZWhyZXJlIGh1bmRlcnQgZGF0ZWllbiBkZW5rZSBpY2guIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9sbHRleHRzdWNoZSB1ZWJlciBQREZzIChab29rLCAyMy4gSnVsIDIwMDcsIDE2OjQ4OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTE4NTE4OTM2NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg1MTg5MTU5Cm5hbWF6dSBzY2hlaW50IHp1IHR1biwgd2FzIGljaCBnZXN1Y2h0IGhhdHRlLS0tZmFsbHMgamVtYW5kIGF1Y2ggCnNvd2FzIGJyYXVjaHQuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb2xsdGV4dHN1Y2hlIHVlYmVyIFBERnMgKFdoaXRldGlnZXIsIDIzLiBKdWwgMjAwNywgMjE6MDA6MTQpOgp+IyEgcm49Wm9vayBydD0xMTg1MTg5MTU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODUxODkxNTkKSGFjazogbWl0ICwscGRmdGsgKi5wZGYgb3V0cHV0IGFsbC5wZGYnJyBhbGxlIERhdGVpZW4genVzYW1tZW5mdWVnZW4gdW5kIG1pdApiZWxpZWJpZ2VtIFBERi1CZXRyYWNodGVyLCB6Qi4geHBkZiwgZGFubiBtaXQgZWluZW0gTWFsIGRhcmluIHN1Y2hlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb2xsdGV4dHN1Y2hlIHVlYmVyIFBERnMgKERlbW9ubG9yZCwgMjMuIEp1bCAyMDA3LCAyMTo0NzozNyk6Cn4jISBybj1ab29rIHJ0PTExODUxODkxNTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NTE4OTE1OQpuaW1tIGRvY2ggZ29vZ2xlIDoKCmh0dHA6Ly9kZXNrdG9wLmdvb2dsZS5jb20vZGUvZmVhdHVyZXMuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb2xsdGV4dHN1Y2hlIHVlYmVyIFBERnMgKEd3ZW4sIDIzLiBKdWwgMjAwNywgMjM6MjI6MDApOgp+IyEgcm49RGVtb25sb3JkIHJ0PTExODUyMjAwNTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE4NTE4OTE1OQpodGRpZyBrYW5uIHBkZnMgaW5kaXppZXJlbiBpaXJjLgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVm9sbHRleHRzdWNoZSB1ZWJlciBQREZzIChab29rLCAyNC4gSnVsIDIwMDcsIDExOjQyOjM3KToKfiMhIHJuPUd3ZW4gcnQ9MTE4NTIyNTcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTg1MTg5MTU5CldpZSBnZXNjaHJpZWJlbjogSWNoIGhhYnMgbWFsIG1pdCBOYW1henUgKGh0dHA6Ly93d3cubmFtYXp1Lm9yZykKcHJvYmllcnQsIGRhcyBrYW5uIG5lIFJlaWhlIHZvbiBGb3JtYXRlbiBpbmRpemllcmVuIHVuZCBoYXQgYXVjaCAKZWluIFdlYi1Gcm9udGVuZC4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRydWNrZXJpbnN0YWxsYXRpb24gdW50ZXIgTGludXggKFZhbmhlbHNpbmcsICAzLiBBdWcgMjAwNywgMTM6NTM6MTgpOgpIdWh1LAoKaWNoIHdpbGwgZWluZW4gbmV1ZW4gTmV0endlcmtkcnVja2VyIGluc3RhbGxpZXJlbiwgYWJlciBrb21tIG5pY2ggd2VpdGVyLgpXaWUga2FubiBpY2ggZWluZW4gX25ldWVuXyBEcnVja2VyIGluc3RhbGxpZXJlbiwgZGVyIG5vY2ggbmljaHQgaW4gZGVyIExpc3RlCmRlciBiZWthbm50ZW4gRHJ1Y2tlcnR5cGVuIHN0ZWh0PyBJY2ggaGFiZSBkZW4gZW50c3ByZWNoZW5kZW4gVHJlaWJlciwgbnVyCmtlaW5lIElkZWUgbWVociwgd2llIGljaCBkZW4gZWluYmluZGVuIHNvbGwuIERhIHN0ZWh0IGF1Y2gsIGRhc3MgaWNoIGVpbmVuCiJhZWhubGljaGVuIiBuZWhtZW4gc29sbCwgYWJlciB3b2hlciBzb2xsIGljaCB3aXNzZW4sIHdlbGNoZXIgImFlaG5saWNoIiBpc3Q/CkljaCBmaW5kZSBkYSBrZWluZW4gVHlwLCBkZXIgYXVjaCBudXIgaW0gZW50ZmVybnRlc3RlbiBkZW0gZW50c3ByaWNodCwgd2FzIGljaApzdWNoZS4gKEZpbmRlIHVudGVyIFNhbXN1bmcgbnVyIHNvd2FzIHdpZSAiTUpQLCBNTFAgdXN3LiIgYWJlciBoYWJlIGVpbgoiQ0xQLTMwMCIpLgoKS2FubiBtaXIgZGEgamVtYW5kIGhlbGZlbj8KCkNVCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERydWNrZXJpbnN0YWxsYXRpb24gdW50ZXIgTGludXggKFZhbmhlbHNpbmcsICAzLiBBdWcgMjAwNywgMTQ6MDI6MTApOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMTg2MTQxOTk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExODYxNDE5OTgKV2VpbCBpY2ggZ2VyYWRlIG5lbiBIaW53ZWlzIGJla2FtLgoKSWNoIGJlbnV0emUgTWFuZHJpdmEgT25lIG1pdCBLREUgMy41IHVuZCBtb2VjaHRlIGVpbmVuIFNhbXN1bmcgQ0xQLTMwMAppbnN0YWxsaWVyZW4uCldlbm4gbm9jaCB3YXMgZmVobHQsIHNhZ3QgQmVzY2hlaWQuClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBVTVRTIC8gdWJ1bnR1IC8gTm90ZWJvb2sgKFpvb2ssIDI4LiBOb3YgMjAwNywgMTU6MDQ6MDApOgpIYXQgc293YXMgamVtYW5kIHNjaG9uIG1hbCBhbnMgTGF1ZmVuIGJla29tbWVuPyBBbHNvIGVpbgpTaWVycmEgKGhlaXNzdCBkZXIgSGVyc3RlbGxlciB3aXJrbGljaCBzbz8pIFVNVFMtTW9kdWwKbWl0IHVidW50dT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogVU1UUyAvIHVidW50dSAvIE5vdGVib29rIChWYW5pb24sIDI4LiBOb3YgMjAwNywgMTg6MDI6NTMpOgp+IyEgcm49Wm9vayBydD0xMTk2MjU4NjQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExOTYyNTg2NDAKQmVpIG1pciBsYWV1ZnQgZGllIE9wdGlvbi1HMy1LYXJ0ZSB1bnRlciBVYnVudHUuIERpZSBtZWxkZXQgc2ljaCBmdWVyIGRhcwpMaW51eCBhbHMgQW5hbG9nLU1vZGVtIHVuZCB3aXJkIHVlYmVyIHBwcCBhdWNoIHNvIGFuZ2VzdGV1ZXJ0LiBXYXIgZWluIGJpc2NoZW4KZ2VmcmllbWVsLCBhYmVyIGVzIGdlaHQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlnaXRhbGVyIFZpZGVvcmVjb3JkZXIgZnVlciBQYXktVFYtS2FiZWwgKFZhbmlvbiwgIDMuIEphbiAyMDA4LCAxMTozODozOCk6Ckd1dGVuIE1vcmdlbiwKCmljaCBzdWNoZSBmdWVyIG1laW4gV29obnppbW1lciBuYWNoIGVpbmVtIGRpZ2l0YWxlbiBWaWRlb3JlY29yZGVyLCBtaXQgZGVtIGljaAphdWNoIHZlcnNjaGx1ZXNzZWx0ZSBQcm9ncmFtbWUgKGRhcyBtYWNoZW4gZGllIEthYmVsYWJ6aWUuLiBhZWggQmV0cmVpYmVyIGphCnNjaG9uIG1pdCBkZW4gbm9ybWFsZW4gUHJpdmF0c2VuZGVybiBzbykgZWluZW4gRmVzdHBsYXR0ZW52aWRlb3JlY29yZGVyLiBXZW5uCmRlciBiZWkgQmVkYXJmIHNlaW5lbiBJbmhhbHQgYXVjaCBub2NoIGF1ZiBEVkQgYWJsZWdlbiBrb2VubnRlLCB3YWVyZSBkYXMKZG9wcGVscGx1c2d1dC4gSXJnZW5kd2llIGZlaGxlbiBtaXIgZGEgYWJlciB6dW0gc2VsYmVyc2NobGF1bGVzZW4gZGllCkZhY2hiZWdyaWZmZS4gSWNoIGthbm4gbWljaCBkdXJjaCBkZW4gRHNjaHVuZ2VsIG5pY2ggc28gZ3V0IGR1cmNoZ3JhYmVuCmdlcmFkZS4gSWNoIHdlaXNzIGRhc3MgZGVyIE1lZGlhbWFya3QgaW4gS29ibGVueiBzbyBlaW4gVGVpbCBoYXQgKGF1Y2ggd2VubgppY2ggbmljaHQgZ2VuYXUgd2Vpc3MsIG9iIG1pdCBEVkQtUk9NKSwgaWNoIGhhYmUgbnVyIGtlaW5lIEFobnVuZyBvYiA0MDAgRXVybwpmdWVyIHNvIGVpbiBUZWlsIGFuZ2VtZXNzZW4gaXN0LiBIYXQgamVtYW5kIG1pdCBzb2xjaGVuIFRlaWxlbiBFcmZhaHJ1bmc/CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZ2l0YWxlciBWaWRlb3JlY29yZGVyIGZ1ZXIgUGF5LVRWLUthYmVsIChBbnRoZWEsICA0LiBKYW4gMjAwOCwgMDE6NDc6NTkpOgp+IyEgcm49VmFuaW9uIHJ0PTExOTkzNTY3MTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE5OTM1NjcxOApEaWUgUFZSLUdlcmFldGUgbWl0IGludGVncmllcnRlbSBEVkQtQnJlbm5lciwgZGllIGljaCBrZW5uZSwgbWFjaGVuIGFsbGUgZnVlcnMKRFZELUJyZW5uZW4gZWluZSBrb21wbGV0dGUgTmV1Y29kaWVydW5nIGRlcyBNYXRlcmlhbHMsIHdvYmVpIGRhbm4gZXRsaWNoZQpJbmZvcm1hdGlvbmVuIG5hdHVlcmxpY2ggdmVybG9yZW4gZ2VoZW4uCgpJY2ggc2VsYmVyIHNldHplICh6d2FyIGZ1ZXIgU2F0LCBhYmVyIGRhcyBnaWJ0IGVzIGZ1ZXIgS2FiZWwgZ2VuYXVzbykgZWluZW4KVG9wZmllbGQgVEY1MDAwUFZSIGVpbiwgdW5kIHVlYmVydHJhZyBkaWUgRGF0ZW4gZGFubiBwZXIgVVNCLUthYmVsIHp1bQpDb21wdXRlciwgdW5kIGJhc3RlbCBtaXIgZGllIERWRCBkYW5uIGRvcnQuIERhcyBpc3QgendhciBlaW4gYmlzc2NoZW4KSGFuZGFyYmVpdCA7KSBhYmVyIGRhZnVlciBsZWlkZXQgZGllIFF1YWxpdGFldCBuaWNodCBub2NoIG1laHIuCgpJbmZvcyBkYXp1IHVudGVyIGh0dHA6Ly93d3cudG9wZmllbGQtZXVyb3BlLmNvbS8gYnp3LiBkb3J0IGltIEZvcnVtIG1hbApyZWlubGVzZW4uIEZ1ZXIgZGllIEtvbXBsZXhpdGFldCBkZXIgVWViZXJ0cmFndW5nc2dlc2NoaWNodGUgZXZ0bC4gbWFsIGluCm1laW5lbSBXaWtpIGh0dHA6Ly90b3BmaWVsZC5hYm9jay5kZS93aWtpLyBuYWNoc2NoYXVlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZ2l0YWxlciBWaWRlb3JlY29yZGVyIGZ1ZXIgUGF5LVRWLUthYmVsIChHcmltbWJvcm4sICA2LiBKYW4gMjAwOCwgMTI6MzA6MTUpOgp+IyEgcm49QW50aGVhIHJ0PTExOTk0MDc2Nzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE5OTM1NjcxOApTY2hhZGUsIGRpZSBUaXBzIGltIHdpa2kgc2NoZWluZW4gamEgYXVzbmFobXNsb3Mgd2luZG93c2xhc3RpZyB6dSBzZWluLiBJc3Qgc28KZWluIFRvcGZpZWxkIHVlYmVyaGF1cHQgc2lubnZvbGwgd2VubiBtYW4gYXVmIGRlbSBQQyBMaW51eCB2ZXJ3ZW5kZXQ/IE9kZXIKc2luZCBkYW5uIGRpZSBNb2VnbGljaGtlaXRlbiB6dSBlaW5nZXNjaHJhZW5rdD8gRGFubiB3dWVyZGUgc2ljaCBqYSBkb2NoCndpZWRlciBkaWUgRHJlYW1ib3ggdHJvdHogZGVzIGRldXRsaWNoIGhvZWhlcmVuIFByZWlzZXMgbG9obmVuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWdpdGFsZXIgVmlkZW9yZWNvcmRlciBmdWVyIFBheS1UVi1LYWJlbCAoVmFuaW9uLCAgNi4gSmFuIDIwMDgsIDE0OjIwOjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTk5NjE5MDE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExOTkzNTY3MTgKSWNoIGhhYiBtaWNoIGpldHp0IGZ1ZXIgZGVuIFRlY2huaXNhdCBLMiBlbnRzY2hpZWRlbi4gRGVyIGhhdCB6d2FyIGtlaW5lbgpEVkQtUmVjb3JkZXIgZWluZ2ViYXV0LCBhYmVyIGVpbmUgVVNCLVNjaG5pdHRzdGVsbGUuIE5pY2h0IHp1bGV0enQgZGFzcyBlaW4KdGVjaG5pa3ZlcmxpZWJ0ZXIgQmVrYW5udGVyIHZvbiBtaXIgbWl0IGRlciBTYXRlbGl0ZW52ZXJzaW9uIGd1dGUgRXJmYWhydW5nZW4KZ2VtYWNodCBoYXQsIHdhciBhdXNzY2hsYWdnZWJlbmQuCgpodHRwOi8vd3d3LnRlY2huaXNhdC5kZS9pbmRleDM1NzguaHRtbD9uYXY9S2FiZWxfRFZCX0NfLGRlLDY3LTE2LTM3CgpSZWNpZXZlciBrcmllZ2UgaWNoIGZ1ZXIgMzk1LCBkYXMgQ0ktTW9kdWwgZnVlciBldHdhIDcwIEV1cm8uCgpTY2hhZGUgaXN0LCBkYXNzIGVzIG5pY2h0IGVpbmUgVmVyc2lvbiBnaWJ0LCBkaWUgbWlyIGRlbiBEVkQtUGxheWVyIGVyc2V0enQuCkRhcyB3YWVyZSBkYXMgU2FobmVoYWV1YmNoZW4gZ2V3ZXNlbi4gSXJnZW5kd2llIHNjaGVpbnQgZGVyIE1hcmt0IGZ1ZXIgc29sY2hlCldvaG56aW1tZXJrb21iaWdlcmFldGUgaW1tZXIgbm9jaCBzZWhyIGxlZXIgenUgc2Vpbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWdpdGFsZXIgVmlkZW9yZWNvcmRlciBmdWVyIFBheS1UVi1LYWJlbCAoQW50aGVhLCAgNy4gSmFuIDIwMDgsIDEwOjMxOjI4KToKfiMhIHJuPVZhbmlvbiBydD0xMTk5NjI1NjI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTExOTkzNTY3MTgKTmEgZ3V0LCBkYW5uIGlzdCBlcyBqYSBlaCB6dSBzcGFldCwgYWJlciBtaXQgZGVtIEhpbndlaXMgIkxpbnV4IiBoYWV0dGUgaWNoCkRpciBlaW5lIGFuZGVyZSBTZWl0ZSB2b3JnZXNjaGxhZ2VuLiBXZWlsIGdlaGVuIHR1dCBlcy4gUmVsYXRpdiBwcm9ibGVtbG9zCnNvZ2FyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGlnaXRhbGVyIFZpZGVvcmVjb3JkZXIgZnVlciBQYXktVFYtS2FiZWwgKEdyaW1tYm9ybiwgIDcuIEphbiAyMDA4LCAxMDozMzoxNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTE5OTY5ODI4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTk5MzU2NzE4ClNlaSBkb2NoIHNvIGd1dCB1bmQgYnJpbmcgZGllIEF1dG9yZW4gZGVyIEFydGlrZWwgbmljaHQgZHVyY2hlaW5hbmRlciB1bmQgZ2liCm1hbCBkaWUgYW5kZXJlIFNlaXRlLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzQxODY6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKEFudGhlYSwgIDcuIEphbiAyMDA4LCAxMDo0NDoxOSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTk5Njk4MzgzIHJnPW1lZ2FzY2htYXJybgp+IyEgdGlkPTk4MjMyODI3OApKYSwgc29ycnkuIE1lZ2FzY2htYXJybi1LcmFua2hlaXQuCkltIGVyc3RlbiBBbmxhdWYga2FubiBtYW4gZXJzdCBtYWwgaGllcmhlciBzY2hhdWVuLCBkYSBzaW5kIHp1bWluZGVzdCBkaWUKRGluZ2UsIGRpZSBtYW4gYnJhdWNodCwgdW0gRGF0ZW4genUgdWViZXJ0cmFnZW4uCmh0dHA6Ly93d3cubnNsdTItbGludXgub3JnL3dpa2kvUHVwcHkvSG9tZVBhZ2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzNDE4NjogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoQW50aGVhLCAgNy4gSmFuIDIwMDgsIDEwOjQ2OjU3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExOTk2OTgzODMgcmc9bWVnYXNjaG1hcnJuCn4jISB0aWQ9OTgyMzI4Mjc4CkFjaCBqYSwgdW5kIHNwZXppZWxsIGZ1ZXIgdWJ1bnR1IGhhdCBzaWNoIGplbWFuZCBtYWwgbWVociBNdWVoZSBnZW1hY2h0LCBhYmVyCmRhcyBzb2xsdGUgamEgZnVlciBEaWNoIGtlaW4gZ3JvZXNzZXJlcyBQcm9ibGVtIHNlaW4sIGRhcyBhdWYgZWluZSBhbmRlcmUKTGludXh2ZXJzaW9uIHVtenVzZXR6ZW4uCmh0dHA6Ly93aWtpLnVidW50dXVzZXJzLmRlL1RvcGZpZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBBbnBhc3N1bmcgZnVlciBQTVdpa2kgKFpvb2ssICA4LiBKYW4gMjAwOCwgMTU6Mzg6MzcpOgpJY2ggaGFiIGRhIG1hbCBuZSBGcmFnZToKCkljaCBtb2VjaHRlIGluIGVpbmVtIFBNV2lraSBnZXJuZSBhdWYgYmVzdGltbXRlbiBTZWl0ZW4KZWluZSBiZXN0aW1tdGUgWmVpY2hlbmtldHRlIGhpbnRlcmxlZ2VuIChzYWdlbiB3aXIgbWFsICMjIykuCgpEYW5uIG1vZWNodGUgaWNoIGVpbmUgIlVlYmVyc2ljaHRzc2VpdGUiIGhhYmVuLCBpbiBkZXIKYWxsZSBTZWl0ZW4sIGluIGRlbmVuIGRpZSBaZWljaGVua2V0dGUgdm9ya29tbXQsIGF1ZmdlbGlzdGV0CndlcmRlbiB1bmQgaW5zYmVzb25kZXJlIGRpZSBlaW5lIFplaWxlLCB3byBkaWUgWmVpY2hlbmtldHRlCnZvcmtvbW10LCBtaXQgYW5nZWdlYmVuZW4gd2lyZC4KCkthbm4gbWFuIGRhcyBtaXQgQm9yZG1pdHRlbG4gYmV3ZXJrc3RlbGxpZ2VuPwoKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogQW5wYXNzdW5nIGZ1ZXIgUE1XaWtpIChNZXNpcmlpLCAgOC4gSmFuIDIwMDgsIDE5OjAzOjA2KToKfiMhIHJuPVpvb2sgcnQ9MTE5OTgwMzExNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMTk5ODAzMTE3CkhtbSB2bGx0IG1pdCBkZXIgZWluZ2ViYXV0ZW4gc3VjaGU/IE9kZXIga2F0ZWdvcmllbj8KTXVzcyBpY2ggbWFsIG5hY2hndWNrZW4sIGFuc29uc3RlbiBoYWx0IG1pdCBuZW0ga2xlaW5lbiBwaHAgc2NyaXB0LgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFM6IEFucGFzc3VuZyBmdWVyIFBNV2lraSAoWm9vaywgIDkuIEphbiAyMDA4LCAwMDowMTo1MSk6Cn4jISBybj1NZXNpcmlpIHJ0PTExOTk4MTUzODYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE5OTgwMzExNwpNaXQgZGVyIFN1Y2hlIGhhYiBpY2ggbWFsIGV4cGVyaW1lbnRpZXJ0LCBhYmVyIG5pY2h0IHNvIAplcmZvbGdyZWljaC4gCgpwaHAga2FubiBpY2ggSm9mIHNlaSBEYW5rIG5pY2h0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IEFucGFzc3VuZyBmdWVyIFBNV2lraSAoTWVzaXJpaSwgIDkuIEphbiAyMDA4LCAwMDoxNTozNyk6Cn4jISBybj1ab29rIHJ0PTExOTk4MzMzMTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTE5OTgwMzExNwpodHRwOi8vd3d3LnBtd2lraS5vcmcvd2lraS9Db29rYm9vay9Tb3J0QnlTY29yZQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2ggRG9vZiBvZGVyIGxpY3EgZG9vZj8gKFpvb2ssICAxLiBGZWIgMjAwOCwgMTU6Mzg6NDEpOgpCaXNoZXIgdGF0IGRpZXNlcyBsaWNxIHVudGVyIG1laW5lbSBrdWJ1bnR1LiBEaWUgVmVyc2lvbiBpc3QKMS4zLjQuIE51biBzY2htaWVydCBkYXMgZ3V0ZSBTdHVlY2sgdm9uIGVpbmVtIFRhZyBhdWYgZGVuIGFuZGVyZW4sCmFsc28gdm9uIGdlc3Rlcm4gYmlzIGhldXRlIGFiIG1pdDoKCi0tCkxpY3EgU3BlaWNoZXJ6dWdyaWZmc2ZlaGxlciBlbnRkZWNrdC4KbGljcShsaWNxX2hhbmRsZV9zaWdzZWd2KzB4YzIpIFsweDgwZjIxYTJdClsweGZmZmZlNDIwXQpsaWNxKF9aTjEwQ0lDUURhZW1vbjE3UHJvY2Vzc1ZhcmlvdXNGYW1FUjdDQnVmZmVydCsweDIwMTIpIFsweDgwYmU3YzJdCmxpY3EoX1pOMTBDSUNRRGFlbW9uMThQcm9jZXNzRGF0YUNoYW5uZWxFUjdDQnVmZmVyKzB4Y2EpIFsweDgwYzI5Y2FdCmxpY3EoX1pOMTBDSUNRRGFlbW9uMTZQcm9jZXNzU3J2UGFja2V0RVI3Q0J1ZmZlcisweDE1OSkgWzB4ODBjMmJiOV0KbGljcShfWjE4TW9uaXRvclNvY2tldHNfdGVwUHYrMHgzYmYpIFsweDgwYzNjYWZdCi9saWIvdGxzL2k2ODYvY21vdi9saWJwdGhyZWFkLnNvLjAgWzB4YjdkYTMzMWJdCi9saWIvdGxzL2k2ODYvY21vdi9saWJjLnNvLjYoY2xvbmUrMHg1ZSkgWzB4YjdiZDE1N2VdCkVpbmUgQ29yZS1EYXRlaSB3aXJkIGVyc3RlbGx0LgpBYm9ydGVkIChjb3JlIGR1bXBlZCkKCi0tCgpKZW1hbmQgbmUgSWRlZSBvZGVyIGVpbmZhY2ggZGFzIFByb2dyYW1tIGluIGRpZSBUb25uZSB0cmV0ZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBEb29mIG9kZXIgbGljcSBkb29mPyAoWmVzc3RyYSwgIDEuIEZlYiAyMDA4LCAyMDoxMToyMik6Cn4jISBybj1ab29rIHJ0PTEyMDE4NzY3MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwMTg3NjcyMQpPaG5lIGRlbiBTb3VyY2UgenUga2VubmVuLCBuZWluLiA7LSkKTWFuIG11ZXNzdGUgZGVuIGNvcmUgZHVtcCBtaXQgZGVtIGRhenUgcGFzc2VuZGVuIFNvdXJjZSBtYWwgaW0gRGVidWdnZXIKYmVhcmJlaXRlbiwgdW0gcmF1c3p1ZmluZGVuLCB3YXMgZ2VuYXUgZXIgZWlnZW50bGljaCBkYSBtYWNodC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNoIERvb2Ygb2RlciBsaWNxIGRvb2Y/IChab29rLCAgNC4gRmViIDIwMDgsIDEwOjMyOjIxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTIwMTg5MzA4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjAxODc2NzIxClNwYW5uZW5kOiBMb2VzY2hlIGljaCBtZWluIC5saWNxLVZlcnplaWNobmlzIChhbHNvIGJlbm5lbmUgZXMgdW0pLApzdGFydGV0IGVyIHdpZWRlci4gTnVuIGthbm4gaWNoIHJ1bXN1Y2hlbiwgbWl0IHdlbGNoZW4gc2VpbmVuCnNlbGJzdCBhbmdlbGVndGVuIERhdGVpZW4gc2ljaCBkYXMgUm90emRpbmcgdmVyc2NobHVja3Q/IApTYWZ0c29mdHdhcmUuIFoKLiwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggRG9vZiBvZGVyIGxpY3EgZG9vZj8gKEppbWRpZ3JpeiwgIDQuIEZlYiAyMDA4LCAxOToxMDo0NSk6Cn4jISBybj1ab29rIHJ0PTEyMDIxMTc1NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwMTg3NjcyMQpOdW4gZGFzIGtsaW5ndCBuYWNoIGVpbmVtIGJ1ZyBpbiBsaWNxLCBkZW4gaXJnZW5kZWluZQpFaW5zdGVsbHVuZyB2ZXJ1cnNhY2h0IGhhdC4gRmFsbHMgbGljcSBLb250YWt0bGlzdGVuCmRvcnQgVmVyd2FsdGV0IHVuZC9vZGVyIGVpbmUgSGlzdG9yaWUgbWl0c2NocmVpYnQsIGtvZW5udGUKZGFzIGF1Y2ggZWluIEhpbndlaXMgYXVmIGVpbmVuIEtvbXBvbWl0dGllcnVuZ3N2ZXJzdWNoCnNlaW4uIHp1bSBCZWlzcGllbCBrb2VubnRlIERpciBqZW1hbmQgZWluZSBLb250YWt0YW5mcmFnZSBtaXQgZWluZW0KInNlbHRzYW1lbiIgTmlja25hbWUgKG1pdCBTb25kZXJ6ZWljaGVuLCBld2lnIGxhbmcsIHNvbnN0d2FzKQpnZXNjaGlja3QgaGFiZW4gaW4gZGVyIEFic2ljaHQgZGVpbmVuIGxpY3EgenVtIEFic3R1cnogenUgYnJpbmdlbiBvZGVyCnNvbnN0d2VsY2hlbiBTY2hhZGNvZGUgYXVzenVmdWVocmVuLiBJY2ggd3VlcmRlIGxpY3EgYXVmIGplZGVuZmFsbAp1cGdyYWRlbiBmYWxscyBtb2VnbGljaCB1bmQgZ2dmLiBuYWNoIEhpbndlaXNlbiBhdWYgZWluZW4gSGFja3ZlcnN1Y2gKYXVzc2NoYXUgaGFsdGVuIChzb2xsdGUgamEgZGFubiBhdWYgRGVpbmVuIHVzZXJhY2NvdW50IGJlZ3Jlbnp0CnNlaW4sIGF1c3NlciBkdSBoYXN0ICJzdWRvIiBvaG5lIHBhc3N3b3J0IGVuYWJsZWQgdW5kIGRlcmdsZWljaGVuKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEljaCBEb29mIG9kZXIgbGljcSBkb29mPyAoVmFuaW9uLCAgNC4gRmViIDIwMDgsIDIwOjI0OjUwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjAyMTQ4NjQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDE4NzY3MjEKSWNoIGdsYXViZSBkYXNzIGltIE1vbWVudCBhdWNoIHdhcyBhbSBJQ1EtUHJvdG9rb2xsIG5pY2h0IHN0aW1tdCwgd2llIGdlc2FndCwKd2VyZGVuIG1pciBzZWl0IGVpbmlnZW4gTW9uYXRlbiBkaWUgTGV1dGUgbmljaHQgbWVociBhbHMgb25saW5lIGFuZ2V6ZWlndC4KQmVpbSBTdWNoZW4gaW0gTmV0eiBiaW4gaWNoIGF1ZiBkaWVzZXMgUHJvYmxlbSBtZWhyZmFjaCBnZXN0b3NzZW4sIGFiZXIgaGFiCm5pZW1hbmRlbiBnZWZ1bmRlbiBkZXJzIGVya2xhZXJlbiBvZGVyIGdhciBmaXhlbiBrYW5uLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEljaCBEb29mIG9kZXIgbGljcSBkb29mPyAoWmVzc3RyYSwgIDQuIEZlYiAyMDA4LCAyMDozMjo0MCk6Cn4jISBybj1WYW5pb24gcnQ9MTIwMjE1MzA5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjAxODc2NzIxCkJlaSBtaXIgd2VyZGVuIGF1Y2ggbnVyIG5vY2ggdmVyZWluemVsdCBMZXV0ZSBpbSBJQ1EgZWluZ2V6ZWlndC4gRWlnZW50bGljaAprYW5uIGljaCBtaWNoIG51ciBhbiBlaW5lbiBLb250YWt0IGVyaW5uZXJuLCBkZXIgaW4gZGVuIGxldHp0ZW4gV29jaGVuIG1hbCBhbHMKb25saW5lIGFuZ2V6ZWlndCB3dXJkZS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEljaCBEb29mIG9kZXIgbGljcSBkb29mPyAoR2xvaW5zb24sICA0LiBGZWIgMjAwOCwgMjA6NDU6MzEpOgp+IyEgcm49WmVzc3RyYSBydD0xMjAyMTUzNTYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDE4NzY3MjEKSG0uIEljaCBiaW4gbWl0IFBpZGdpbiBpbSBOZXR6IHVuZCBoYWJlIHdlbmlnIFByb2JsZW1lIG1pdCBTaWNodC4gTWluZGVzdGVucwpUcmlsbGlhbiB1bmQgZWluIG9ic2t1cmVyIGFuZGVyZXIgQ2xpZW50IHNpbmQgZGFiZWkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYnMgbWl0IERTTC1BbmJpZXRlcm4gKFpvb2ssICA3LiBGZWIgMjAwOCwgMDg6MjA6NTQpOgpIYWxsbywgaXJnZW5kd2VyIGVyd2FlaG50ZSBuZXVsaWNoLCBkYXNzIGVzIGVpbmVuIEFydGlrZWwKYmVpIGhlaXNlIG9kZXIgaW4gZGVyIGN0IGdhYiwgd2FzIG1hbiBtaXQgdW53aWxsaWdlbiBEU0wtCkFuYmlldGVybiB0dW4ga2FubiAoVW16dWVnZSwgTmljaHR2ZXJmdWVnYmFya2VpdCBldGMuKS4gCkhhdCBkYXMgdmllbGxlaWNodCBqZW1hbmQgenVyIEhhbmQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JzIG1pdCBEU0wtQW5iaWV0ZXJuIChHd2VuLCAgNy4gRmViIDIwMDgsIDA5OjE2OjEyKToKfiMhIHJuPVpvb2sgcnQ9MTIwMjM2ODg1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjAyMzY4ODU0CkljaCBoYXR0ZSBudXIgZWluZW4gdW53aWxsaWdlbiBBbmJpZXRlciAoQWxpY2UpLgpXYXMgaWNoIHR1biBrb25udGUgd2FyOiBXYXJ0ZW4gb2RlciBrdWVuZGlnZW4uCk5hY2hkZW0gZGllIERhbWUgdm9uIGRlciBIb3RsaW5lIG1laW50ZSwgaWNoIGtvZW5uZSBqYSB6dXIgVGVsZWtvbSBnZWhlbiwKdWViZXJsZWd0ZSBpY2ggZGllcyB1bmQga3VlbmRpZ3RlLgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFByb2JzIG1pdCBEU0wtQW5iaWV0ZXJuIChBcmF0aG9ybiwgIDcuIEZlYiAyMDA4LCAxODoyMToxMSk6Cn4jISBybj1ab29rIHJ0PTEyMDIzNjg4NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwMjM2ODg1NApJY2ggd2FyIGRhczogYyd0IDI1LzIwMDcsIFMuIDIwMiwgIkZhdWxlcyBEU0wiLgoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGVsbmV0IG1pdCBoaXN0b3J5IHVuZCBsaW5lIGVkaXQgKE1lc2lyaWksICA5LiBNYXIgMjAwOCwgMjM6Mjg6NDApOgpFcyBnaWJ0IGVpbmVuIG9wZW5zb3VyY2Ugd3JhcHBlciBmdWVyIGFsbGUgc2hlbGxzIG9obmUgaW5saW5lIGVkaXQgdW5kIGhpc3RvcnkKYWxzbyBhdWNoIGZ1ZXIgdGVsbmV0LiBXZW5zIGludGVyZXNzaWVydCBybHdyYXAuc2YubmV0LiBLbGFwcHQgc3VwZXIgYXVjaApmdWVyIGRpdi4gYW5kZXJlIHByb2dyYW1tc2hlbGxzLgpybHdyYXAgdGVsbmV0IG1nLm11ZC5kZQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdGVsbmV0IG1pdCBoaXN0b3J5IHVuZCBsaW5lIGVkaXQgKE1hc3VsLCAxMi4gTWFyIDIwMDgsIDA3OjQ1OjA5KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTIwNTEwMTcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA1MTAxNzIwClNvdXJjZWZvcmdlIGtlbm50IGRpZSBVUkwgbmljaHQ6IHJsd3JhcC5zZi5uZXQuCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyBMaW51eCAoVmFuaGVsc2luZywgMTYuIE1hciAyMDA4LCAxNzozOToxNyk6Ckh1aHUsCmljaCB3aWxsIGF1ZiBtZWluZW0gTGFwcHkgKEFjZXIgRXh0ZW5zYSAyNjAwKSBlaW4gbmV1ZXMgTGludXggaW5zdGFsbGllcmVuLgpNZWluIFByb2JsZW0gaXN0LCBkYXMgZGllIGVpbmdlYmF1dGUgTmV0endlcmtrYXJ0ZSBuZW4gImdlbWVpbmVuIiBUcmVpYmVyIGhhdCwKZGVuIExpbnV4IG5pY2h0IGthcGllcnQuIEljaCBoYWIgbmVuIHBhc3NlbmRlbiBXaW5kb3dzdHJlaWJlciBkYWZ1ZXIsIGFiZXIgaWNoCmthbm4gaW4ga2VpbmVyIFZlcnNpb24sIGRpZSBpY2ggcHJvYmllcnQgaGFiZSwgZGVuIGlyZ2VuZHdpZSBlaW5iaW5kZW4uCk5kaXN3cmFwcGVyIGhhYiBpY2ggYXVjaCB2ZXJzdWNodCwgYWJlciBlbnR3ZWRlciBlcyBrbGFwcHQgZGFzIEVpbmJpbmRlbgpuaWNodCwgb2RlciBkYXMgTGludXgga2VubnQga2VpbiBOZGlzd3JhcHBlciAodW5kIGxhZXNzdCBlcyBhdWNoIG5pY2h0Cm5hY2hpbnN0YWxsaWVyZW4pLgpEYXMgTGludXgsIGRhc3MgaWNoIGdlcmFkZSBiZW51dHplIChNYW5kcml2YSBPbmUpIGlzdCBkYXMgZWluemlnZSwgZGFzcyBpY2gKZ2VmdW5kZW4gaGFiZSwgd28gaWNoIGRlbiBUcmVpYmVyIGFuZ2ViZW4ga2Fubi4gRGFzIGlzdCBqYSBzY2hvbiBuaWNodApzY2hsZWNodCwgbnVyIGthbm4gZXMgc29uc3Qga2F1bSB3YXMuIEljaCBrYW5uIGtlaW5lIFNvZnR3YXJlIGluc3RhbGxpZXJlbiwgZGEKdS5hLiBkZXIgQmVmZWhsICJtYWtlIiBuaWNodCBleGlzdGllcnQsIHVuZCBhdWNoIG5pY2h0IG5hY2h6dWxhZGVuIGlzdC4KVmxsdCBrYW5uIG1pciBqZW1hbmQgaGVsZmVuLgoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlcyBMaW51eCAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDgsIDE3OjQzOjIyKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIwNTY4NTU1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA1Njg1NTU3CkVzIGdpYnQgUENNQ0lBLU5ldHp3ZXJra2FydGVuIGRpZSBuYXRpdiB1bnRlcnN0dWV0enQgd2VyZGVuLiBXZW5uIGFsbGVzLCB3YXMKRGlyIHp1bSBUaGVtYSAiU29mdHdhcmUgaW5zdGFsbGllcmVuIiBlaW5mYWVsbHQgIm1ha2UiIGlzdCwgZGFubiBzb2xsdGVzdCBEdQpkaWUgRW50d2lja2x1bmcgZGVyIExpbnV4ZGlzdHJpYnV0aW9uZW4gZGVyIGxldHp0ZW4gZWluZWluaGFsYiBKYWhyemVobnRlCnJla2FwaXR1bGllcmVuLiBXYXMgZ2VuYXUgRHUgbWl0ICJrYW5uIG1hbiBkZW4gVHJlaWJlciBhbmdlYmVuIiBtZWluc3QgaXN0IG1pcgpuaWNodCBnYW56IGtsYXIsIG5vcm1hbGVyd2Vpc2UgbXVzcyBtYW4gZ29hbmlzY2h0IGFuZ2ViZW4uIEFiZXIgaWNoIGhhYmUgbWl0Ck1hbmRyaXZhIGF1Y2gga2VpbmUgRXJmYWhydW5nLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVzIExpbnV4IChHcmltbWJvcm4sIDE2LiBNYXIgMjAwOCwgMTc6NDc6MjcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMDU2ODU4MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNTY4NTU1NwpIbW0sIGRhcyBrbGluZ3Qgd29obCBlaW4gYmlzc2NoZW4ga3J5cHRpc2NoLCBhbHNvOgotIFdlbm4gRGVpbmUgTmV0endlcmtrYXJ0ZSBuaWNodCB0dXQsIGtvZW5udGUgZGVyIGJlcXVlbXN0ZSBXZWcgc2VpbiBkYXMgenUKICBiZWhlYmVuIGVpbmUgdW50ZXJzdHVldHp0ZSBQQ01DSUEtS2FydGUgc2Vpbi4KLSBTb2Z0d2FyZSB3aXJkIGhldXR6dXRhZ2UgbWVpc3QgdWViZXIgUGFrZXRlIG1pdHRlbHMgZWluZXIgUGFrZXRtYW5hZ2VtZW50LQogIHNvZnR3YXJlIGluc3RhbGxpZXJ0LiBIYWVuZGlzY2ggenVtaW5kZXN0IGFiZXIgcGVyIHJwbS4gV2VubiBEdSBtYWtlCiAgYnJhdWNoc3Qgd2Vpc3N0IER1IGVudHdlZGVyIG5pY2h0IHdhcyBEdSB0dXN0LCBvZGVyIER1IHZlcnN1Y2hzdCBzZWhyIAogIHVudWVibGljaGUgU29mdHdhcmUgenUgaW5zdGFsbGllcmVuLiBFaW4gbWFrZSBuYWNoenVpbnN0YWxsaWVyZW4gKG1pdCBkZW4KICBub2V0aWdlbiBkZXZlbC1QYWtldGVuKSBzb2xsdGUgdWViZXIgZGFzIGJvcmRlaWdlbmUgUGFrZXRtYW5hZ2VtZW50c3lzdGVtCiAgbmljaHQgd2VpdGVyIHNjaHdlciBzZWluLgotIEV0bGljaGUgRGlzdHJpYnV0aW9uZW4gZXJsYXViZW4gZGFzIEVpbmJpbmRlbiBleHRlcm5lciBUcmVpYmVyIHdhZWhyZW5kCiAgZGVyIEluc3RhbGxhdGlvbi4gRGFzIGlzdCBhbGxlcmRpbmdzIG5pY2h0IGltbWVyIHNlaHIgaW50dWl0aXYsIHZvbiBkZXIKICBGcmFnZSB3byBtYW4gZGVuIFRyZWliZXIgaGVyYmVrb21tdCBnYW56IGFiZ2VzZWhlbi4gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV1ZXMgTGludXggKFZhbmhlbHNpbmcsIDE2LiBNYXIgMjAwOCwgMTc6NDg6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMDU2ODU4MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNTY4NTU1NwpIdWh1LAoKaWNoIGhhYmUgbWl0ICJtYWtlIiBhdWNoIG51ciBlaW4gQmVpc3BpZWwgZ2ViZW4gd29sbGVuLgoKCkljaCBrYW5uLCB3ZW5uIGljaCBiZWkgbWVpbmVtIF9qZXR6aWdlbl8gTGludXggZGllIE5ldHp3ZXJra2FydGUga29uZmlndXJpZXJlCih6LkIuIGFuZ2ViZW4sIHdlbGNoZXMgTmV0endlcmsgZXIgbmVobWVuIHNvbGwpIGF1Y2ggc2FnZW4sIHdhcyBmdWVyIGVpbmVuClRyZWliZXIgZXIgYmVudXR6ZW4gc29sbC4gRGFzIGhvZXJ0IHNpY2gga29taXNjaCBhbiwgYWJlciBlcyBpc3QgYmVpIGRlbSBzby4KVW5kIGRhIGthbm4gaWNoIHouQi4gYXVjaCBzYWdlbiwgZGFzcyBlciBlaW5lbiBXaW5kb3dzdHJlaWJlciBkYWZ1ZXIgYmVudXR6ZW4Kc29sbC4gVW5kIGRhcyBrbGFwcHQgamEgZGFubi4KCk1laW4gYWt0dWVsbGVzIExpbnV4IGhhdCBhYmVyIGF1Y2ggbm9jaCBhbmRlcmUgIkZlaGxlciIsIHdlc2hhbGIgaWNoIG5lbiBuZXVlcwp2ZXJzdWNoZW4gbW9lY2h0ZS4KQ1UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWVzIExpbnV4IChWYW5oZWxzaW5nLCAxNi4gTWFyIDIwMDgsIDE3OjUxOjAzKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIwNTY4NjA4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA1Njg1NTU3CkFjaHNvLCBub2NoIGVpbnMuCgpJY2ggaGFiZSwgc293ZWl0IGljaCBkYXMgc2VoZSwgc2FlbXRsaWNoZSwgbWlyIHZvbiBtZWluZW0gTGludXggYW5nZWJvdGVuZGVuClBha2V0ZSBoZXJ1bnRlcmdlbGFkZW4gdW5kIGluc3RhbGxpZXJ0LiBIYXQgc2ljaCBhYmVyIHRyb3R6ZGVtIG5pY2h0CnZlcmFlbmRlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlcyBMaW51eCAoQW1hcnlsbGlzLCAxNi4gTWFyIDIwMDgsIDE5OjI2OjI3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjA1Njg2MDQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDU2ODU1NTcKRXMgZ2lidCBhdWNoIG5vY2ggYW5kZXJlIEdydWVuZGUgZnVlciAiYW0gUGFrZXQgdm9yYmVpIi1JbnN0YWxsYXRpb24gbWl0dGVscwptYWtlLgpaLkIuIG5ldWUgZmVhdHVyZXMsIGRpZSBpbiBkZXIgbWVpc3QgdmVyYWx0ZXRlbiBEaXN0cmktVmVyc2lvbiBuaWNodCB2b3JoYW5kZW4Kc2luZCwgb2RlciB6LkIuIHNwZXppZWxsZSBtYWtlLVBhcmFtZXRlciwgbWl0IGRlbmVuIGRpZQpTdGFuZGFyZC1EaXN0cmktVmVyc2lvbiBuaWNodCBnZWZ1ZXR0ZXJ0IGlzdC4KCkljaCBoYWx0ZSBtYWtlIGltIHRhZWdsaWNoZW4gQWRtaW4tQWxsdGFnIGZ1ZXIgbWVociBhbHMgdWVibGljaCwgYXVjaCB3ZW5uIGljaApoaWVyIG51ciBtZWluZW4gdW5kIGRlciBLb2xsZWdlbiBBbGx0YWcgYWxzIEJlaXNwaWVsIGhlcmFuemllaGVuIGthbm4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlcyBMaW51eCAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDgsIDE5OjM1OjAxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMjA1NjkxOTg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDU2ODU1NTcKSG1tLiBXZW5uIER1IHVuZCBEZWluZSBLb2xsZWdlbiBpbSBBZG1pbi1BbGx0YWcgU29mdHdhcmUgcGVyIG1ha2UgaW5zdGFsbGllcnQKc3RhdHQgUGFrZXRlIHp1IGJhdWVuIGJyYXVjaHQgaWhyIGV1Y2ggdWViZXIgaXJnZW5kd2FubiBzY2h3ZXIgenUgd2FydGVuZGUKU3lzdGVtZSBuaWNodCB6dSBiZXNjaHdlcmVuLiBBYmVyIGplZGVyIHdpZSBlciB3aWxsLCB1bmQgaWNoIHdlaXNzIG5hdHVlcmxpY2gKc2VsYmVyIGF1Y2ggd2llIHZlcmZ1ZWhyZW5kIGVzIGluIGRlciB0YWVnbGljaGVuIEFyYmVpdHModWViZXIpbGFzdCBpc3QgIm51cgptYWwgZWJlbiBzY2huZWxsIiB3YXMgenUgbWFjaGVuIHVuZCBkYWR1cmNoIGluIGRlciBadWt1bmZ0IHZlcmxhZ2VydGUgUHJvYmxlbWUKenUgaWdub3JpZXJlbi4gCkFiZXIgYWJnZXNlaGVuIGRhdm9uIGdpbmcgZXMgdW0gZWluIG5ldWluc3RhbGxpZXJ0ZXMgTGFwdG9wIG1pdCBkZXIKUHJvYmxlbXN0ZWxsdW5nIGRpZSBOZXR6d2Vya2thcnRlIGFucyBMYXVmZW4genUga3JpZWdlbi4gVW5kIGFuIGRlciBTdGVsbGUKc29sbHRlIGtlaW4gbWFrZSBub2V0aWcgc2Vpbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZXMgTGludXggKEFtYXJ5bGxpcywgMTYuIE1hciAyMDA4LCAxOTozOToyMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIwNTY5MjUwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA1Njg1NTU3CkljaCBiYXVlIFBha2V0ZSBmdWVyIHVuc2VyZSBTUEFSQyBvLmFlLiBTeXN0ZW1lIG5hdHVlcmxpY2ggc2VsYnN0LCBzb2JhbGQgc2llCm9lZnRlcnMgYmVub2V0aWd0IHdlcmRlbi4gQXVzIGRlciBGcmFnZSBkZXMgT1Agc2NobG9zcyBpY2ggYWxsZXJkaW5ncywgZGFzcwpkaWVzIGtlaW5lIE9wdGlvbiBpc3QuCgpVbmQgamEsIGljaCBrZW5uZSBEaXN0cmlidXRpb25lbiwgYmVpIGRlbmVuIG5ldWUgVHJlaWJlciBlcnN0IGVpbm1hbApzZWxic3Rjb21waWxpZXJ0IGVpbmdlYnVuZGVuIHdlcmRlbiBtdXNzLiBVbmQgamEsIGljaCBzZXR6ZSBkaWVzZSBkYW5uIG1laXN0CmF1cyBkaWVzZW4gR3J1ZW5kZW4gYXVjaCBuaWNodCBtZWhyIGVpbi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWVzIExpbnV4IChWYW5oZWxzaW5nLCAxNi4gTWFyIDIwMDgsIDE5OjQyOjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjA1NjkyNTAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDU2ODU1NTcKSWNoIGhhYiBhdWNoIG5pY2h0IGdlc2FndCwgZGFzcyBpY2ggbWFrZSBmdWVyIGRpZSBJbnN0YWxsYXRpb24gZGVyIEthcnRlCm5laG1lbiB3aWxsLiBEZW4gQmVmZWhsIGJyYXVjaHRlIGljaCAobGF1dCBBbmxlaXR1bmcgZGVyIFByb2dyYW1tZSkgYW4gYW5kZXJlbgpTdGVsbGVuLiBJY2ggZ2ViIGphIHp1LCBkYXNzIGljaCBMaW51eCBub2NoIG5pY2h0IHNvIHdpcmtsaWNoIGR1cmNoc2NoYXVlIGJ6dy4KYmVoZXJyc2NoZS4gQWJlciBpY2ggd29sbHQgaGFsdCBtYWwgYW5mYW5nZW4sIGRhbWl0IHp1cmVjaHQgenUga29tbWVuLiBBYmVyCndlbm4gaWNoIHNjaG9uLCB0cm90eiBzdHVuZGVubGFuZ2VyIHN1Y2hlIGltIEludGVybmV0IHVuZCB2ZXJzY2guIEZvcmVuLCBiZWltCkluc3RhbGxpZXJlbiBkZXIgV0xhbi1LYXJ0ZSBzY2hlaXRlcmUsIGRpZSB1bnRlciBXaW5kb3dzIF9zb2ZvcnRfIGVya2FubnQsCmluc3RhbGxpZXJ0IHVuZCBicmF1Y2hiYXIgaXN0LCB6d2VpZmxlIGljaCBlaHJsaWNoZ2VzYWd0IGFuIGRlbSBUb2xsZW4gYW4KTGludXguIEFiZXIgaWNoIHdpbGwgZXMgamEgd2VpdGVyaGluIGJlbnV0emVuLCB3ZWlsIGljaCBlcyBzY2hvbiBuZXR0IGZpbmRlLgpEYXMgbXVzcyBkb2NoIG1vZWdsaWNoIHNlaW4sIGVpbmVtIEt1YnVudHUvVWJ1bnR1L0tub3BwaXgvT3BlblN1c2UgZXRjLiBrbGFyCnp1IG1hY2hlbiwgX3dlbGNoZW5fIFRyZWliZXIgZXIgYmVudXR6ZW4gc29sbC4KCkNVCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlcyBMaW51eCAoR3JpbW1ib3JuLCAxNi4gTWFyIDIwMDgsIDE5OjUzOjAyKToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTIwNTY5Mjk2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA1Njg1NTU3CkljaCBrZW5uZSB3aWUgZ2VzYWd0IE1hbmRyaXZhIG5pY2h0LCBiZWkgb3BlblNVU0UgbGFlc3N0IHNpY2ggZGFzIGFuZ2ViZW4uIERhcwpncm9lc3NlcmUgUHJvYmxlbSBpc3QgbWVpc3Qgc29sY2hlIGV4dGVybmVuIFRyZWliZXIgdmVybnVlbmZ0aWcgenUKaW5zdGFsbGllcmVuLCBkLmguIHNpY2hlcnp1c3RlbGxlbiBkYXNzIGRhcyBTeXN0ZW0gZGllc2VuIFRyZWliZXIgYXVjaCBmaW5kZXQKdW5kIHZlcndlbmRlbiBrYW5uLiBEYWZ1ZXIgZ2lidHMgYmVpIFN1c2UgZGllIEtNUCAoa2VybmVsIG1vZHVsZSBwYWNrYWdlcywgZGllCmF1Y2ggaW0gRmFsbGUgZWluZXMga2VybmVsIHVwZGF0ZXMgc2VociBoaWxmcmVpY2ggc2luZCksIGFsbGVyZGluZ3MgbXVzcyBlcwpmdWVyIGRlbiBUcmVpYmVyIGF1Y2ggZWluIHNvbGNoZXMgS01QIGdlYmVuLi4uCldMQU4tS2FydGVuIHNpbmQgbm9jaCB2b3IgM0QtR3JhcGhpa2thcnRlbiBkZXIgZ3JvZXNzdGUgU2NobWVyeiB1bnRlciBMaW51eC4KWndhciBnaWJ0IGVzIG1laHIgdW50ZXJzY2hpZWRsaWNoZSBHZXJhZXRlIGRpZSB1bnRlciBMaW51eCB1bnRlcnN0dWV0enQgd2VyZGVuCmFscyB1bnRlciBXaW5kb3dzLCBhYmVyIGRpZSBsZXR6ZW4gaGlnaCBlbmQgc3BlY2lhbCBzdG9yYWdlIFRyZWliZXIgc2luZCBmdWVyCk5vcm1hbG51dHplciBoYWx0IGVoZXIgdW5pbnRlcmVzc2FudC4gV2llIGljaCBzY2hyaWViOiB1LlUuIGlzdCBlaW5lClBDTUNJQS1LYXJ0ZSBmdWVyIDEyIEVVUiBkaWUgZWluZmFjaGVyZSBMb2VzdW5nLiAKCkFkIEFtYSo6IE1pciBpc3QgbmljaHQgZ2FueiBrbGFyIHdhcyBEdSBtaXQgIlRyZWliZXIgbXVzcyBzZWxic3Rrb21waWxpZXJ0CmVpbmdlYnVuZGVuIHdlcmRlbiIgbWVpbnN0LiBIZWlzc3QgZGFzIGRhc3MgRHUgU3lzdGVtZSBuaWNodCBlaW5zZXR6dCBmdWVyIGRpZQpkZXIgSGFyZHdhcmVoZXJzdGVsbGVyIGtlaW5lbiBmZXJ0aWcga29tcGlsaWVydGVuIFRyZWliZXIgbWl0bGllZmVydD8gCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJsb2dnZW4gdXN3IChBbGJvaW4sICAzLiBBcHIgMjAwOCwgMDA6MTg6MTcpOgpTZWl0IGVpbmlnZXIgWmVpdCBiZXJsZWdlIGljaCBpbiBkaWUgQmxvZ2dlcnN6ZW5lIGVpbnp1c3RlaWdlbi4gVW5kIHd1ZXJkZQpnZXJuZSB3aXNzZW4gd2VsY2hlIGJsb2ctQW5iaWV0ZXIgZW1wZmVobGVuc3dlcnQgc2luZC4gTWlyIGdlaHQgZXMgdm9yIGFsbGVuCkRpbmdlbiBkYXJ1bSBkYXMgc2ljaCBkaWUgV2VyYnVuZyBtaW5pbWFsIGhhZWx0LCBhdXNyZWljaGVuZCBXZWJzcGFjZSBkYSBpc3QgCmVzIG1vZWdsaWNoIHdlbmlnIGtvc3RldCB1bmQgdmVyc3RhZW5kbGljaCBpc3QuCgpHcnVlc3NlIEFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmxvZ2dlbiB1c3cgKE1hcmN1cywgIDMuIEFwciAyMDA4LCAxMDowNzozNyk6Cn4jISBybj1BbGJvaW4gcnQ9MTIwNzE3NDY5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MTc0Njk3CkljaCBiZW51dHplIHNlbGJlciBMaXZlam91cm5hbCwgYWJlciBpbnp3aXNjaGVuIGtvc3RldCBkYSBlaW4gV2VyYmVmcmVpZXIKQWNjb3VudCB3b2hsIGltbWVyIHdhcy4KCkFsdGVybmF0aXYgaW4gZGVyIEdvb2dsZSBNYWNoaW5lcnkgaXN0IHd3dy5ibG9nZ2VyLmNvbSwgd2FzIGF1Y2ggdm9uCktvbGxlZ2VuIHZlcndlbmRldCB3aXJkLi4uCgpjaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBibG9nZ2VuIHVzdyAoQXJrLCAgMy4gQXByIDIwMDgsIDExOjEyOjQzKToKfiMhIHJuPUFsYm9pbiBydD0xMjA3MTc0Njk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcxNzQ2OTcKaHR0cDovL3JvYmluaG9iYi5jb20vcmFudC5odG1sCkRlbSB3dWVyZGUgaWNoIGF1Y2ggYWxzIE5pY2h0LUF1dG9yIHZvbGwgdW5kIGdhbnogenVzdGltbWVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYmxvZ2dlbiB1c3cgKEtlc3NhLCAgMy4gQXByIDIwMDgsIDEyOjE5OjA1KToKfiMhIHJuPUFyayBydD0xMjA3MjEzOTYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcxNzQ2OTcKRGFzIGlzdCBlaW5lciBkZXIgYmVzdGVuIEVzc2F5cyB1ZWJlciBkYXMgU2NocmVpYmVuLCBkaWUgaWNoIGplIGdlbGVzZW4gaGFiZS4KRGFua2UgZnVlciBkZW4gTGluayA6KQoKS2Vzc2EsIGtpY2hlcm5kIHVuZCBpbiBzaWNoIGdlaGVuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmxvZ2dlbiB1c3cgKEFyaywgIDMuIEFwciAyMDA4LCAxMjozNzozNCk6Cn4jISBybj1LZXNzYSBydD0xMjA3MjE3OTQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcxNzQ2OTcKR2VmdW5kZW4gYmVpIC4uLiBuaWNodCBsYWNoZW4gLi4uIEdlb3JnZSBSLlIuIE1hcnRpbnMgSG9tZXBhZ2UgLi4uIE5vdCBBIEJsb2cKOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXBwbGUtRGlza2V0dGVuIGF1ZiBuZW0gV2luZG93cy1SZWNobmVyIGVpbmxlc2VuPyE/ISAoUGVyZGl0YSwgIDMuIEFwciAyMDA4LCAxNjoxNDo1Myk6CkJpbiBncmFkIGFtIEF1ZnJhZXVtZW4gdW5kIGhhYmUgaGllciBhdXMgdXJhbHRlbiBaZWl0ZW4gbm9jaCBlaW4gcGFhcgpBcHBsZS1EaXNrZXR0ZW4gZ2VmdW5kZW4uIEJldm9yIGljaCBkaWUgd2Vnc2NobWVpc3NlLCB3dWVyZCBpY2ggamEgc2Nob24gZ2Vybgpub2NobWFsIGd1Y2tlbiwgd2FzIGRhIGVpZ2VudGxpY2ggZHJhdWYgaXN0LiBIYWJlIGFiZXIgaGV1dHp1dGFnZSBrZWluZW4gQXBwbGUKbWVociwgc29uZGVybiBuZW4gYmFuYWxlbiBXaW5kb3dzLVJlY2huZXIuCgpHaWJ0cyBkYSBpcmdlbmRlaW5lIE1vZWdsaWNoa2VpdCwgZGllIGF1ZiBkZW0gV2luZG93cy1SZWNobmVyIGVpbnp1bGVzZW4/IChKYSwKbWVpbiBSZWNobmVyIGhhdCBpbW1lcmhpbiBub2NoIGVpbiBEaXNrZXR0ZW5sYXVmd2VyaykuCk9kZXIgbXVzcyBpY2ggbWlyIGplbWFuZGVuIG1pdCBuZW0gTWFjIHN1Y2hlbiwgZGVyIG5vY2ggZWluIERpc2tldHRlbmxhdWZ3ZXJrCmluIHNlaW5lbSBSZWNobmVyIGhhdD8KClVlYmVyIFRpcHBzIHVuZCBUcmlja3Mgd3VlcmQgaWNoIG1pY2ggc2VociBmcmV1ZW4uClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcHBsZS1EaXNrZXR0ZW4gYXVmIG5lbSBXaW5kb3dzLVJlY2huZXIgZWlubGVzZW4/IT8hIChaZXNzdHJhLCAgMy4gQXByIDIwMDgsIDIxOjM1OjM4KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTIwNzIzMjA5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MjMyMDkzCk1obW0sIGljaCB3dWVyZGUgbWFsIHZlcm11dGVuLCBkYXNzIER1IGFuIG5lbSBMaW51eHJlY2huZXIgYXVjaCBncm9zc2UgQ2hhbmNlbgpoYXN0LCB3ZWlsIGRhIG1laXN0IGFsbGUgbW9lZ2xpY2hlbiBGaWxlc3lzdGVtZSB1bnRlcnN0dWV0enQgd2VyZGVuLiBBYmVyCmVpZ2VuZSBFcmZhaHJ1bmdlbiBoYWIgaWNoIGRhIG5pY2h0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogYmxvZ2dlbiB1c3cgKEh1bW5pLCAgNC4gQXByIDIwMDgsIDE4OjM1OjM3KToKfiMhIHJuPUFyayBydD0xMjA3MjE5MDU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcxNzQ2OTcKSmEsIEdlb3JnZVJSTWFydGluIG1hZyBSb2JpbiBIb2JiLiBJY2ggaGFiIHp3ZWkgQnVlY2hlciB2b24gUm9iaW4gSG9iYgpnZWxlc2VuLCB1bmQgYXVjaCBuYWNoIGRlbSBBcnRpa2VsIGJpbiBpY2ggbWlyIG5pY2h0IHNpY2hlciwgb2IgaWNoIFJvYmluIEhvYmIKbWFnLiBKZWRlbmZhbGxzIHNpY2hlciBuaWNodCBzbyBnZXJuZSB3aWUgaWNoIEdlb3JnZVJSTWFydGluIG1hZy4KCkh1bW5pClBTOiBXZXIgaXN0IGRlbm4gQXV0b3IgaGllcj8gT2ssIEFyaywgd2VyIG5vY2g/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogYmxvZ2dlbiB1c3cgKEFsa29ob2wsICA0LiBBcHIgMjAwOCwgMTg6Mzg6MjEpOgp+IyEgcm49SHVtbmkgcnQ9MTIwNzMyNjkzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MTc0Njk3CndhcyBnZW5hdSBpc3QgZGVubiBlaW4gYXV0b3I/CgphbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBibG9nZ2VuIHVzdyAoSHVtbmksICA0LiBBcHIgMjAwOCwgMTg6Mzg6NTUpOgp+IyEgcm49QWxrb2hvbCBydD0xMjA3MzI3MTAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcxNzQ2OTcKRGllIEJlc2NocmVpYnVuZyBhdWYgZGVyIGFuZ2VzcHJvY2hlbmVuIFNlaXRlIGJldHJpZmZ0IEF1dG9yZW4sIG5pY2h0IExldXRlLApkaWUgbW9yZ2VucyBlaCB6dXIgQXJiZWl0IGdlaGVuLCBkaWUgZHVlcmZlbiBhdWNoIGJsb2dnZW4uIFNvIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGJsb2dnZW4gdXN3IChBcmssICA0LiBBcHIgMjAwOCwgMTg6NDc6MTkpOgp+IyEgcm49SHVtbmkgcnQ9MTIwNzMyNzEzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MTc0Njk3CkRpZSBQYXJhbGxlbGUgenUgTVBBIEdlc2Nod2FldHogaXN0IG5pY2h0IGRhLCBvZGVyPyA7KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGJsb2dnZW4gdXN3IChIdW1uaSwgIDQuIEFwciAyMDA4LCAxODo0OTowMyk6Cn4jISBybj1BcmsgcnQ9MTIwNzMyNzYzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MTc0Njk3CkRvY2gsIGtsYXIuIEtlaW5lIEZyYWdlLiBVbmQgaWNoIGZpbmQgZWluaWdlcyBkYXZvbiB3aWVkZXIsIGF1Y2gga2VpbmUgRnJhZ2UsCndhcyBlaW5lbiBzb25zdCBtYWwgdWViZXIgbGFuZ3dlaWxpZ2UgVGFnZSBnZXJldHRldCBoYXQsIGFuIGRlcmVuIEVuZGUgbWFuCm5pY2h0cyBnZXNjaGFmZnQgaGF0LiBEZW5ub2NoIGlzdCBkZXIgQmV6dWcgenVtIHNjaHJlaWJlbiB6dSBlaW5zZWl0aWcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogYmxvZ2dlbiB1c3cgKEtlc3NhLCAgNC4gQXByIDIwMDgsIDE4OjU0OjIwKToKfiMhIHJuPUh1bW5pIHJ0PTEyMDczMjc3NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzE3NDY5NwpFaW5zZWl0aWcgamEsIGFiZXIgd2FydW0gX3p1XyBlaW5zZWl0aWc/IE11c3MgbWFuIGFsbGVzIGFienVkZWNrZW4sIHdvdm9uCkJsb2dnZW4gZWluZW4gYWJsZW5rZW4ga2FubiwgdW0gZWluZW4gc2lubnZvbGxlbiBLb21tZW50YXIgZGF6dSBhYnp1Z2ViZW4/IERpZQpzY2hyZWlidCBhdXMgaWhyZXIgU2ljaHQgYWxzIEJ1Y2hhdXRvcmluIHVuZCBoaW5zaWNodGxpY2ggZGVzCkJ1ZWNoZXJzY2hyZWliZW5zLCBpY2gga2FubiBkYSBuaXggYmVpIGZpbmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBibG9nZ2VuIHVzdyAoUnVtYXRhLCAgNC4gQXByIDIwMDgsIDIwOjU2OjM4KToKfiMhIHJuPUtlc3NhIHJ0PTEyMDczMjgwNjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzE3NDY5NwpJY2ggZmluZGUsIGRhc3MgSG9iYnMgKHp1bWluZGVzdCBpbiBzZWluZW0ga2xpbWF0aXNjaGVuIFppdGF0KSBzaWNoIGF1ZiBCbG9ncwpsZXNlbiBiZXppZWh0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFwcGxlLURpc2tldHRlbiBhdWYgbmVtIFdpbmRvd3MtUmVjaG5lciBlaW5sZXNlbj8hPyEgKE1hc3VsLCAgNS4gQXByIDIwMDgsIDA5OjIzOjM4KToKfiMhIHJuPVBlcmRpdGEgcnQ9MTIwNzIzMjA5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MjMyMDkzCkhtLCBpY2ggaGFiIGRhIG5vY2ggZWluZW4gdXJhbHRlbiBBcHBsZSBdWyAoQ2xvbmUpIG1pdCBEb3BwZWxsYXVmd2VyayB1bmQKQmVybnN0ZWlubW9uaXRvciEgTWFubiwgd2FzIHdhciBpY2ggc3RvbHosIGRhbWFscywgMTk4Mi4uLgpLZWluZSBBaG51bmcsIHdhcyBwYXNzaWVydCwgd2VubiBpY2ggaWhuIGVudG1vdHRlIHVuZCBlaW5zY2hhbHRlLiBWZXJtdXRsaWNoCnNjaGxhZ2VuIGRpZSBFbGtvcyBpbSBMaW5lYXJuZXR6dGVpbCBkdXJjaCwgb2RlciBlcyBrb21tdCBlaW5mYWNoIG5peC4gRWluZW4KVmVyc3VjaCB3YWVyZSBlcyBqYSBtYWwgd2VydC4KCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFwcGxlLURpc2tldHRlbiBhdWYgbmVtIFdpbmRvd3MtUmVjaG5lciBlaW5sZXNlbj8hPyEgKENyb2Z0LCAgNS4gQXByIDIwMDgsIDA5OjMzOjEyKToKfiMhIHJuPU1hc3VsIHJ0PTEyMDczODAyMTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpHZWh0cyB1bSA1LjI1IG9kZXIgdW0gMy41ZXI/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXBwbGUtRGlza2V0dGVuIGF1ZiBuZW0gV2luZG93cy1SZWNobmVyIGVpbmxlc2VuPyE/ISAoR3JpbW1ib3JuLCAgNS4gQXByIDIwMDgsIDA5OjQxOjU2KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMDczODA3OTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpWZXJtdXRsaWNoIHVtIDhlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXBwbGUtRGlza2V0dGVuIGF1ZiBuZW0gV2luZG93cy1SZWNobmVyIGVpbmxlc2VuPyE/ISAoTWFzdWwsICA1LiBBcHIgMjAwOCwgMDk6NTI6NTYpOgp+IyEgcm49Q3JvZnQgcnQ9MTIwNzM4MDc5MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MjMyMDkzCkFsc28sIGljaCBrb2VubnRlIG51ciBmdWVuZmVpbnZpZXJ0ZWwgYmlldGVuLgoKTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcHBsZS1EaXNrZXR0ZW4gYXVmIG5lbSBXaW5kb3dzLVJlY2huZXIgZWlubGVzZW4/IT8hIChNYXN1bCwgIDUuIEFwciAyMDA4LCAxMDowNDozMik6Cn4jISBybj1QZXJkaXRhIHJ0PTEyMDcyMzIwOTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpBaCwgbmFjaGRlbSBpY2ggZGVuIEFydGlrZWwgbm9jaCBlaW5tYWwgZ2VsZXNlbiBoYWJlLCB2ZXJtdXRlIGljaCwgZGFzcyBkaWUKRGlza2V0dGVuIGF1cyB1cmFsdGVuIFplaXRlbiBNYWMtRGlza2V0dGVuIGF1cyBkZXIgTWl0dGUgZGVyIDgwZXIgSmFocmUgZGVzCmxldHp0ZW4gSmFocmh1bmRlcnRzIGRlcyBsZXR6dGVuIEphaHJ0YXVzZW5kcyBzaW5kLiBEYXMgd2FlcmVuIGRhbm4KZHJlaWVpbmhhbGItWm9sbC1EaXNrZXR0ZW46IEltIHN0YWJpbGVuIEhhcnRwbGFzdGlrZ2VoYWV1c2UgbWl0IHZlcnNjaGllYmJhcmVtClZlcnNjaGx1c3MuIE1hbiBrYW5uIHNpZSBndXQgendpc2NoZW4gRGF1bWVuIHVuZCBaZWlnZWZpbmdlciBncmVpZmVuLgoKTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXBwbGUtRGlza2V0dGVuIGF1ZiBuZW0gV2luZG93cy1SZWNobmVyIGVpbmxlc2VuPyE/ISAoT3JrdG9ldGVyLCAgNS4gQXByIDIwMDgsIDExOjIzOjU2KToKfiMhIHJuPU1hc3VsIHJ0PTEyMDczODI2NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpJY2ggZGVua2UgTWFzdWwgd2lyZCBSZWNodCBoYWJlbi4gR3JpbW1ib3JucyBWZXJtdXR1bmcgZXMga29lbm50ZSBzaWNoIHVtIDhlcgpoYW5kZWxuIGlzdCBlaGVyIGFscyBmYWxzY2ggZWluenNjaGFldHplbiwgZGEgZGVyIEFQUExFIF1bIGphIGRhbWFscyBiZXJlaXRzCmVuaSBtb2Rlcm5lciBSZWNobmVyIHdhciB1bmQgbmljaHQgbWVociBkaWUgYWx0ZW4gOCItRGlza2V0dGVuIHZlcndlbmRldCBoYXQKc29uZGVybiBiZXJlaXRzIGRpZSBtb2Rlcm5lbiA1LDI1IiBGbGV4aWRpc2suCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXBwbGUtRGlza2V0dGVuIGF1ZiBuZW0gV2luZG93cy1SZWNobmVyIGVpbmxlc2VuPyE/ISAoQ3JvZnQsICA1LiBBcHIgMjAwOCwgMTE6MjY6NTMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMDczODc0MzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpTY2hvZW4gdW5kIGd1dCwgYWJlciB3YXMgaGF0IE1hc3VscyBkZXIgQXBwbGUgMiBtaXQgUGVyZGl0YXMgdW5iZWthbm50ZW0gTWFjCnp1IHR1bj8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBcHBsZS1EaXNrZXR0ZW4gYXVmIG5lbSBXaW5kb3dzLVJlY2huZXIgZWlubGVzZW4/IT8hIChNYXN1bCwgIDUuIEFwciAyMDA4LCAxMjo0MDo1Mik6Cn4jISBybj1Dcm9mdCBydD0xMjA3Mzg3NjEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDcyMzIwOTMKSGFsbG9lbGUsCmVzIGdpbmcgbWlyIHdlbmlnZXIgZGFydW0sIFJlY2h0IHp1IGhhYmVuLCBhbHMgZGFydW0sIFBlcmRpdGEgZWluIEFuZ2Vib3QgenUKbWFjaGVuLiBCZWltIHp3ZWl0ZW4gTGVzZW4gdm9uIFBlcmRpdGEncyBBcnRpa2VsIGlzdCBtaXIgZGFubiBhdWZnZWZhbGxlbiwgZGFzCmljaCB2aWVsbGVpY2h0IGV0d2FzIGFuZGVyZXMgbWl0ICJ1cmFsdCIgdmVyYmluZGUsIGFscyBQZXJkaXRhIGRpZXMgdHVuIG1hZwp1bmQgZGEgZGVyIE1hYyB2ZXJicmVpdGV0ZXIgd2FyIGFscyBkZXIgQXBwbGUgXVsgKHVuZCBQZXJkaXRhIGp1ZW5nZXIgaXN0IGFscwppY2gpLCBnZWhlIGljaCBlaGVyIGRhdm9uIGF1cywgZGFzcyBzaWUgZHJlaW5laW52aWVydGVsIFpvbGwgRGlza2V0dGVuIG1laW50LgpEYW1pdCBrYW5uIGljaCBuaWNodCBkaWVuZW47IGFiZXIgZXMgZ2lidCBiZXN0aW1tdCBub2NoIGplbWFuZGVuIG1pdCBlaW5lbQpzb2xjaGVuIE1hYy4KCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFwcGxlLURpc2tldHRlbiBhdWYgbmVtIFdpbmRvd3MtUmVjaG5lciBlaW5sZXNlbj8hPyEgKE1pcmlsLCAgOS4gQXByIDIwMDgsIDIzOjA4OjM0KToKfiMhIHJuPU1hc3VsIHJ0PTEyMDczODAyMTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzIzMjA5MwpBdSBqYSwgZW50bW90dGUgZGVuIG1hbC4gTm9jaCBlaW5tYWwgVHJhbnNzeWx2YW5pYSBvZGVyIE1hc3F1ZXJhZGUgc3BpZWxlbgprb2VubmVuLCBoYWNoIGlzdCBkYXMgbGFuZyBoZXIgOykKCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoT3JrdG9ldGVyLCAxMC4gQXByIDIwMDgsIDIxOjM1OjIwKToKU3VjaGUgZWluZW4gV2luZG93c21hbmFnZXIsIG1vZWdsaWNoc3Qga2xlaW4sIGVpbnppZ2UgQmVkaW5ndW5nOiBTb2xsIE9wZW4KT2ZmaWNlIGRhcnN0ZWxsZW4ga29lbm5lbiAobmFqYSB1bmQgbW9lZ2xpY2hzdCB3ZW5pZyBSZXNvdXJjZW4gYnJhdWNoZW4pLgoKR2VnZWJlbiBzaW5kIFJlY2huZXIgbWl0IDIwMCBiaXMgNDAwTUh6IChhbHQpIHVuZCBnZXN1Y2h0IGlzdCBhdWNoIG5vY2ggZWluCkxpbnV4LCBkYXMgYXVmIGRpZXNlbiBSZWNobmVybiBsYXVmZW4gc29sbCAodW5kIGViZW4gb2JlbiBnZWZyYWd0ZXIKV2luZG93c21hbmFnZXIgdW5kIE9PKS4gV2llIHZpZWwgUmFtIHdpcmQgbWFuIGZ1ZXIgc28gZWluZW4gUmVjaG5lciBjYS4KYnJhdWNoZW4/IFJlaWNoZW4gMjU2IE1CPwoKT3JrVC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTGludXggdW5kIFdpbmRvd3NtYW5hZ2VyIGdlc3VjaHQgKFplc3N0cmEsIDEwLiBBcHIgMjAwOCwgMjI6MDg6NTkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMDc4NTYxMjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzg1NjEyMApJY2ggYmluIGRhIHNlaHIgc2tlcHRpc2NoLiBFcyBtYWcgbmljaHQgd2lya2xpY2ggdmVyZ2xlaWNoYmFyIHNlaW4sIGFiZXIgZGVyCk9wZW5PZmZpY2UtUHJvemVzcyBiZWkgbWlyIGF1ZiBNYWNPUyBYIGhhdCBtb21lbnRhbiBlaW4gVlNJWkUgdm9uIDEyNDhNIHVuZAplaW4gUlNJWkUgdm9uIDM0OU0uIEljaCBkZW5rLCBkYXMgaXN0IG1laHIgYWxzIGVzIG1pbmltYWwgYmVsZWd0LCBhYmVyIGRhcyBPUywKWCB1bmQgT08gd2lyZCBJTUhPIG5pY2h0IGluIDI1Nk0gcmVpbnBhc3Nlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoQW1hcnlsbGlzLCAxMC4gQXByIDIwMDgsIDIyOjE5OjE1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjA3ODU2MTIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKSW1obyBpc3QgZXMgemllbWxpY2ggZWdhbCwgd2VsY2hlbiBXaW5kb3dzbWFuYWdlciBEdSB2ZXJ3ZW5kZXN0LCB3ZWlsIGFsbGUKZ2FlbmdpZ2VuIGRhbm4gYXVjaCBPTyBkYXJzdGVsbGVuIGtvZW5uZW4gKGRhcyBpc3QgaW1obyB2b20gV00gdW5hYmhhZW5naWcpLgpJY2ggc2NobGllc3NlIG1pY2ggWmVzc3RyYSBhYmVyIGFuLCBkYXNzIDI1Nk1HIHdpcmtsaWNoIGVuZyBpc3QuCgpBbmRlcmUgRnJhZ2U6IFJBTSBldGMuIGtvc3RldCBqYSBuaWNodHMgbWVoci4gTG9obnQgZXMgc2ljaCB3aXJrbGljaCwgc29sY2hlCnVyYWx0ZSBIYXJkd2FyZSBtaXQgdS5VLiBpbW1lbnNlbSBBdWZ3YW5kIHdlaXRlcnp1YmV0cmVpYmVuPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoUnVtYXRhLCAxMC4gQXByIDIwMDgsIDIyOjE5OjM3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIwNzg1ODEzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCk1laW4gYWx0ZXIgTGFwdG9wIGhhdCAyNTZNIHVuZCBkYXJhdWYgbGF1ZmVuIEtERStPTyBlaWdlbnRsaWNoIGdhbnoKenVmcmllZGVuc3RlbGxlbmQuIEhhdCBhbGxlcmRpbmdzIDY1ME1Iei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoSmltZGlncml6LCAxMS4gQXByIDIwMDgsIDAyOjI3OjQ5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjA3ODU2MTIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKSGkgT3JrdG9ldGVyLAoKamVkZXIgV00gc29sbHRlIE9PbyBkYXJzdGVsbGVuIGtvZW5uZW4sIGRhcyBoYXQgZGFtaXQgbml4Cnp1IHR1bi4gUmVpbiB0aGVvcmV0aXNjaCBzb2xsdGUgZXMgc29nYXIgZ2FueiBvaG5lIFdNIGdlaGVuLAphbGxlcmRpbmdzIGhvZWNoc3QgdW5rb21mb3J0YWJlbCB3ZW5uIHNpY2ggZGFubiBkaWUgbmV1ZW4gRmVuc3Rlcgp1ZWJlcmxhcHBlbiB1bmQgbWFuIG5peCBydW1zY2hpZWJlbiBrYW5uLgpEYXMgbmFlY2hzdHNwYXJ0YW5pc2NoZSB3YWVyZSAidHdtIi4gRGVyIGlzdCBiZWkgZGVyIFgxMSBkaXN0cmlidXRpb24KZGFiZWkgdW5kIGthbm4gZGFzIGFsbGVybm9ldGlnc3RlLiBTb2xsdGUgYWJzb2x1dCBhdXNyZWljaGVuLgoKSWNoIHBlcnNvZW5saWNoIHZlcndlbmRlIHNlaXQgMTk5MyBjdHdtLCBkZXIga2FubiBhbGxlcyB3YXMgaWNoCmJyYXVjaGUgdW5kIGhhdCBhdWNoIG51ciBjYSAzMDBrLgoKSWNoIHZlcm11dGUgRHUgaGFzdCBtaXQgRGVpbmVyIEZyYWdlIGVoZXIgaW4gUmljaHR1bmcKIkRlc2t0b3AgRW52aXJvbm1lbnQiIChLREUsIEdub21lLCBldGMuKSBnZXppZWx0LiBXaWUgZ2VzYWd0CmljaCBkZW5rZSBEdSBicmF1Y2hzdCBrZWluZXMgZnVlciBPT28gZWluIHNpbXBsZXIgV00gcmVpY2h0LgoKRGllIEZyYWdlIG5hY2ggZGVtIExpbnV4IHVuZCBkZW0gUmFtIGlzdCBzY2hvbiBzY2h3aWVyaWdlciwKd2VubiBPT28gbGF1ZmVuIHNvbGwuIEtlaW5lIEFobnVuZyB3YXMgZGFzIGFuIFJlc291cmNlbiBzY2hsdWNrdCwKYWJlciAyNTZNIGthZW1lbiB3aXIgZGFubiBldHdhcyBrbmFwcCB2b3IuIE11c3MgYWJlciBuaWNodCBzZWluLgpXZWlzcyBuaWNodCB3aWUgYXVzdWZlcm5kIGluendpc2NoZW4gTGludXgtRGlzdHJvcyBnZXdvcmRlbiBzaW5kLAphYmVyIGljaCBkZW5rZSAyMDAtNDAwTWh6IGtsaW5ndCBuYWNoIGk2ODYgdW5kIGRhcyBzb2xsdGVuIGVpZ2VudGxpY2gKYWxsZSBtaXRtYWNoZW4sIGF1Y2ggZGllIHJlc3RsaWNoZSBhZWx0ZXJlIGhhcmR3YXJlIHNvbGx0ZSBwcm9ibGVtbG9zCmxhdWZlbiwgbWFnIHNlaW4gZGFzcyBtYW4gZWluIHBhYXIgdHJlaWJlciBtYW51ZWxsIGhpbmJpZWdlbiBtdXNzCnVuZCBmYWxscyBEdSBub2NoIElTQSBLYXJ0ZW4gaGFzdCwgaGFzdCBEdSBoYWx0IElSUS9JTy1SYW5nZXMgZGllCmR1IGdnZi4gbWFudWVsbCBpbSBUcmVpYmVyIGtvbmZpZ3VyaWVyZW4gbXVzc3QuCgpBbGxlIExpbnV4LURpc3Ryb3Mgc29sbHRlbiBlaW5lIExpc3RlIHN1cHBvcnRlciBIYXJkd2FyZQphdWYgSWhyZW4gV2Vic2VpdGVuIGhhYmVuLCBkaWUgd3VlcmRlIGljaCBoYWx0IG1hbApjcm9zcy1jaGVja2VuIG1pdCBEZWluZXIgTXVlaGxlLiBGYW5nIGhhbHQgbWl0IG5lbSBha3R1ZWxsZW4KRmVkb3JhIG9kZXIgT3BlblN1U0UgYW4uCgpXaWUgZ2VzYWd0LCBkYXMgZ3JvZXNzdGUgSGluZGVybmlzIHNlaCBpY2ggYW4gd2VuaWcgUkFNCm1pdCBPcGVuT2ZmaWNlLgoKVmllbCBFcmZvbGcsCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcHBsZS1EaXNrZXR0ZW4gYXVmIG5lbSBXaW5kb3dzLVJlY2huZXIgZWlubGVzZW4/IT8hIChQZXJkaXRhLCAxMS4gQXByIDIwMDgsIDEyOjQwOjQxKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTIwNzIzMjA5MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3MjMyMDkzCkRhbmtlIGZ1ZXIgZXVyZSByZWdlIEJldGVpbGlndW5nIHp1IGRpZXNlbSBUaGVtYSA7LSkKCkhhYmUgbWl0dGxlcndlaWxlIGRhcyBQcm9ibGVtIGdlbG9lc3QsIGluZGVtIGljaCBlaW5lIFRlc3R2ZXJzaW9uIGRlcwpQcm9ncmFtbXMgIk1hY2RyaXZlIiBydW50ZXJnZWxhZGVuIGhhYmUuIE1pdCBkZW0ga2FubiBtYW4gTWFjIERpc2tldHRlbiBtaXQKV2luZG93cy1SZWNobmVybiBhdXNsZXNlbi4gRGEgaWNoIGRhcyBudXIgZnVlciBlaW4gcGFhciBEaXNrZXR0ZW4gYnJhdWNodGUsCndhciBkaWUgVGVzdHZlcnNpb24gdm9lbGxpZyBhdXNyZWljaGVuZC4KKGZhbGxzIGplbWFuZCBtYWwgZGFzIGdsZWljaGUgUHJvYmxlbSBoYXQsIGRhcyBQcm9ncmFtbSBnaWJ0J3MgaGllcjoKaHR0cDovL3d3dy5tZWRpYWZvdXIuY29tL3Byb2R1Y3RzL21hY2RyaXZlL2ZyZWV0cmlhbC8pCgpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpbnV4IHVuZCBXaW5kb3dzbWFuYWdlciBnZXN1Y2h0IChIdW1uaSwgMTEuIEFwciAyMDA4LCAyMTo0NDo1Nik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIwNzg3MzY2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCkVpbiBzaW1wbGVzIChrbGVpbmVzKSBVYnVudHUgbWl0IHh1YnVudHUgdW5kIE9PIGtyaWVnc3QgRHUgZGFyYXVmIGxvY2tlciB6dW0KbGF1ZmVuLiBMZXV0ZSEgMjU2IE1CISBKYSwgRXVyZSBLaXN0ZW4gaGFiZW4gamV0enQgYWxsZSBtZWhyLCBqYSwgZXMgc2luZCAxLTIKR0IgdWVibGljaCBkZXJ6ZWl0LCBhYmVyIHdpciBoYWJlbiBkYW1hbHMgbWl0IDRNQiBUZXh0dmVyYXJiZWl0dW5nIGJldHJpZWJlbi4KClVuZCBqYSwgaWNoIHdlaXNzIHdvdm9uIGljaCByZWRlLCBpY2ggc2l0emVuIGFuIGVpbmVtIDI1Ni1NQi1SZWNobmVyIG1pdApFZHVidW50dSAtIHVuZCBHbm9tZS4gTmljaHQgaHlwZXJzY2huZWxsLCBhYmVyIGdlaHQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXggdW5kIFdpbmRvd3NtYW5hZ2VyIGdlc3VjaHQgKFZhbmlvbiwgMTEuIEFwciAyMDA4LCAyMTo1NzozMik6Cn4jISBybj1IdW1uaSBydD0xMjA3OTQzMDk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKRGFtYWxzIGtvbm50ZW4gZGllIExldXRlIGF1Y2ggbm9jaCBwcm9nZ2VuIHVuZCBlcyBnYWIga2VpbgpjcmVhdGUoKSB7IGFsbG9jYXRlIDJHQiAvKiBtYW4gd2Vpc3MgamEgbmllICovIDsgZXRjIDsgcCA7IHAgfQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpbnV4IHVuZCBXaW5kb3dzbWFuYWdlciBnZXN1Y2h0IChBbGtvaG9sLCAxMi4gQXByIDIwMDgsIDA5OjU5OjIzKToKfiMhIHJuPVZhbmlvbiBydD0xMjA3OTQzODUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKYWxzbyBhdWYgbWVpbmVtIGFsdGVuIFNjaGxlcHAgbGllZiBlaW4ga3VidW50dSA3LjA0LCBuaWNodCBzY2huZWxsIGFiZXIgb2suIFVuCmRlciBoYXQgbnVyIDEyOCBNQiBBcmJlaXRzc3BlaWNoZXIgdW5kIGVpbmVuIENlbGVyb24gNzAwIGFscyBQcm96ZXNzb3IuCgpPcGVub2ZmaWNlIGhhYmUgaWNoIG1hbCBnZXN0YXJ0ZXQgdW5kIGRhcyBnaW5nLCB3aWUgZ3V0IHdlaXNzIGljaCBuaWNodCwKc2NocmVpYmVuZCB3YXIgaWNoIGF1ZiBkZW0gRGluZyBudXIgbWl0IHZpbSB0YWV0aWcgdW5kIGRhcyBsaWVmIG9wdGltYWwuCgpBbGsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExpbnV4IHVuZCBXaW5kb3dzbWFuYWdlciBnZXN1Y2h0IChHbG9pbnNvbiwgMTIuIEFwciAyMDA4LCAyMDo1NzozMik6Cn4jISBybj1BbGtvaG9sIHJ0PTEyMDc5ODcxNjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzg1NjEyMApHZ2YuIG1pdCBkZXIga2xlaW5lbiBBbHRlcm5hdGl2ZSBPTyAxLjE1IHp1ZnJpZWRlbmdlYmVuLiBEYXMgbGFldWZ0IGF1Y2ggYXVmCmVpbmVtIFAxNjYgTU1YIG1pdCA4ME0gUkFNIHp1ZnJpZWRlbnN0ZWxsZW5kLiBEaWUgS2VybmtvbXBvcyBzaW5kIGlyZ2VuZHdhbm4KZ2VsYWRlbiB1bmQgZGFubiBrYW5uIG1hbiBhdWNoIHNjaHJlaWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoUm9hZHJ1bm5lciwgMTQuIEFwciAyMDA4LCAxOToyNjo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjA4MDI2NjUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKLi4uIGFsc28gZGllIHdpbmRvd21hbmFnZXIgZGllIGF1ZiBtZWluZXIgYWx0ZW4gaGFyZHdhcmUgKHAxMDAgbWl0IDM2ME1iIG9kZXIKc28gbGllZiBoaWVzcyBkYW1hbHMgZnZ3bSAuLi4gcmVjaHQgbmV0dC4gb2RlciBuaW1tIHZpZWxsZWljaHQgYmxhY2tib3ggLiB0d20KaXN0IGF1Y2ggcmVjaHQgc2NobGFuaywgYWJlciB2aWVsbGVpY2h0IGRvY2ggZXR3YXMgc3BhcnRhbmlzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExpbnV4IHVuZCBXaW5kb3dzbWFuYWdlciBnZXN1Y2h0IChab29rLCAxNS4gQXByIDIwMDgsIDA5OjM1OjEwKToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTIwODE5NDAwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCndlciB0d20gbmV0dCBmaW5kZXQsIGFiZXIgbmljaHQgc28gZG9sbGUsIGRlciBrYW5uIGN0d20gcHJvYmllcmVuOwpkYSBrYW5uIG1hbiB2aWVsIGVpbnN0ZWxsZW4gdW5kIG1hY2hlbi4gaXMgZ2FueiBzY2hpY2sgdW5kIGhhdHRlCmljaCBqYWhyZWxhbmcgaW0gZWluc2F0ei4gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTGludXggdW5kIFdpbmRvd3NtYW5hZ2VyIGdlc3VjaHQgKEppbWRpZ3JpeiwgMTUuIEFwciAyMDA4LCAxMzo1Mjo0Nyk6Cn4jISBybj1ab29rIHJ0PTEyMDgyNDQ5MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIwNzg1NjEyMApIZWhlLCBpY2ggZ2xhdWIgWm9vayB1bmQgaWNoIHNvbGx0ZW4gbWFsIG1pdCBDbGF1ZGUgTGVjb21tYW5kZXVyIGVpbiBCaWVyCnRyaW5rZW4gZ2VoZW4uCkZ1ZXIgMTUgSmFocmUgY3R3bSwgaW1tZXIgbm9jaCAyIHVzZXIuIDstKSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoWm9vaywgMTUuIEFwciAyMDA4LCAxNTo1MjowNCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIwODI2MDM2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCkhleSwgZGFzIERpbmcgaXN0IHppZW1saWNoIGNvb2wuIDspICpnKiAKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IExpbnV4IHVuZCBXaW5kb3dzbWFuYWdlciBnZXN1Y2h0IChSdW1hdGEsIDE1LiBBcHIgMjAwOCwgMTY6MDI6MTgpOgp+IyEgcm49Wm9vayBydD0xMjA4MjY3NTI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMDc4NTYxMjAKQWNoLCBkYXMgaXN0IG5pY2h0IGRlciBIYXVzLVdNIHZvbSBIZWlzZXZlcmxhZz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBMaW51eCB1bmQgV2luZG93c21hbmFnZXIgZ2VzdWNodCAoSmltZGlncml6LCAxNS4gQXByIDIwMDgsIDE4OjA2OjQxKToKfiMhIHJuPVpvb2sgcnQ9MTIwODI2NzUyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCkViZW4sIHNpZWhlIEFydGlrZWwgMjgsIDIuIEFic2F0ei4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTGludXggdW5kIFdpbmRvd3NtYW5hZ2VyIGdlc3VjaHQgKEppbWRpZ3JpeiwgMTUuIEFwciAyMDA4LCAxODowNzozNSk6Cn4jISBybj1SdW1hdGEgcnQ9MTIwODI2ODEzOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjA3ODU2MTIwCldvaGVyIHNvbGxlbiB3aXIgZGFzIHdpc3Nlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIG5ldWVzIEhhbmR5IChWYW5pb24sIDI2LiBBcHIgMjAwOCwgMTQ6NDI6MjApOgpIaSwKCmRpZXNlciBUYWdlIGxhZXVmdCBzb3dvaGwgbWVpbiBUZWxlZm9uLSBhbHMgYXVjaCBtZWluIFVNVFMtVmVydHJhZyBhdXMuIERhaGVyCnVlYmVybGVnZSBpY2ggZ3JhZGUsIHdhcyBpY2ggbWlyIGZ1ZXIgZWluIG5ldWVzIFRlbGVmb24gaG9sZS4gQW0gbGllYnN0ZW4KaGFldHRlIGljaCBqZXR6dCBuYWVtbGljaCBiZWlkZXMgaW4gZWluZW0gR2VyYWV0LgoKSWNoIGhhYiBzbyBmb2xnZW5kZSBWb3JzdGVsbHVuZ2VuOgotIFVNVFMgKEhTRFBBIGlzdCBuaWNodCBub2V0aWcsIGFiZXIgYXVjaCBuaWNoIHNjaGxpbW0pCi0gRGFzIEdlcmFldCBtdXNzIGF1Y2ggdW50ZXIgTGludXggYWxzIE1vZGVtIGZ1bmt0aW9uaWVyZW4gKG1laXN0IGVtdWxpZXJlbgogIGRpZXNlIEdlcmFldGUgamEgZWggQW5hbG9nbW9kZW1zIHVuZCBzbyBpcyBkYXMgbWVpbmVyIE1laW51bmcgbmFjaCBrZWluZQogIHNvIGdyb3NzZSBIdWVyZGUpCi0gRGVyIEthbGVuZGVyIHNvbGx0ZSBicmF1Y2hiYXIgc2Vpbi4KLSBVbmQgYWxzIFdlY2tlciBudXR6ZSBpY2ggbWVpbiBUZWxlZm9uIGF1Y2ggb2Z0LgotIEFjaGphLCB3ZW5uIG1hbiBkYW1pdCB0ZWxlZm9uaWVyZW4ga2Fubiwgd2FlciBkYXMgYXVjaCBuaWNoIHNjaGxlY2h0LiBWb3IKICBhbGxlbSB3ZW5uIG1hbiBhdWNoIG1hbCBpbiBlaW5lciBsYXV0ZW4gVW1nZWJ1bmcgKEJhaG5ob2YpIHRlbGVmb25pZXJlbgogIGthbm4uIERhcyBSYXpyIGtvbW10IGRhIHNjaG5lbGwgYW4gc2VpbiBMYXV0c3ByZWNoZXJsaW1pdC4KCkJpc2hlciBzY2hlaW50IG1pciBkYXMgTm9raWEgRTUxIGRpZXNlIEJlZGluZ3VuZ2VuIGdhbnogZ3V0IGFienVkZWNrZW4uIEFscwpCb251cyBnaWJ0cyBkYXMgYXVjaCBub2NoIGFscyBWZXJzaW9uIG9obmUgS2FtZXJhLCB3YXMgbWVpbmVtIEFyYmVpdGdlYmVyIHNlaHIKZW50Z2VnZW4ga29tbXQuCgpBbiBUYXJpZmVuIGRlbmtlIGljaCBkZXJ6ZWl0IGFuIGRlbiBWb2RhZm9uZSBLb21iaUtvbWZvcnQgV29jaGVuZW5kZSArIGVpbmVtCnplaXRiYXNpZXJ0ZW4gRGF0ZW50YXJpZiAoVm9kYWZvbiBoYXQgZGEgc28gZWluIEtvbnplcHQsIHdvIG1hbiBzaWNoCmhhbGJzdHVuZGVuLCBzdHVuZGVuLSBvZGVyIFRhZ2V3ZWlzZSBlaW4gRmxhdC1UaWNrZXQga2F1ZmVuIGthbm4gLSBpY2ggaGFiCmRhbWl0IGFiZXIgbm9jaCBrZWluZSBFcmZhaHJ1bmcsIGJpc2hlciBoYWIgaWNoIGRpZSBGYWlyRmxhdCB2b24gVm9kYWZvbmUsCmFiZXIgZGllIGlzIG1pciBlaWdlbnRsaWNoIG1pdCA1NyBFdXJvIHp1IHRldWVyKQoKRGFmdWVyIGlzIGRhcyBWb2RhZm9uZS1VTVRTLU5ldHogaW4gRGV1dHNjaGxhbmQga2xhc3NlIChJY2ggYmFkZSBnZXJhZGUgbWVpbmUKSGFlbmRlIGRhcmluIC0gaW0gWnVnKQoKU2llaHQgamVtYW5kIEZhbGxzdHJpY2tlLCBoYXQgRXJmYWhydW5nZW4gZGllIG1pciBiZWkgbWVpbmVyIEVudHNjaGVpZHVuZwp3ZWl0ZXJoZWxmZW4/CgpJY2ggd2FlciBmdWVyIFRpcHMgZGFua2JhciA6KQpWKgpQUzogSWNoIGJpbiB0ZW5kZW56aWVsbCBlaGVyIGtlaW4gSGFuZHktUG93ZXItVXNlciwgenUgSGF1cyBoYWIgaWNoIERTTCB1bmQKZWluZSBGZXN0bmV0ei1UZWxlZm9uaWVyLUZsYXQuIE1pciBnZWh0IGVzIGVoZXIgdW0gZGllIFZlcmZ1ZWdiYXJrZWl0LCBkYXNzCmljaCBhdWNoIG1hbCBpbSBadWcgb2RlciBpbSBIb3RlbCBtdWRkZW4ga2FubiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIktsZWluZXIiIE5vdGVib29rIChab29rLCAyMC4gSnVuIDIwMDgsIDA5OjMyOjM0KToKVGphLCBkYSBoYXQgbWljaCBkb2NoIGVpbiBCZWthbm50ZXIgbWFsIGdlZnJhZ3QsIHdhcyBtYW4gc28gYWxzClByaXZhdGFud2VuZGVyIGFscyAia2xlaW5lbiBOb3RlYm9vayIgc28ga2F1ZmVuIHNvbGwuIEFuZm9yZGVydW5nCmlzdCB3b2hsIHNvIGVpbiBiaXNzY2hlbiBJbnRlcm5ldCB1bmQgZWluIHdlbmlnIE9mZmljZS4gVW5kIGRhbWl0CmlzdCBlcyBkYW5uIHdvaGwgZXJzdCBlaW5tYWwgZ3V0LiBJcmdlbmRqZW1hbmQgZGEgbmUgSWRlZSwgd2FzCmRhIHRhdWdsaWNoIGlzdD8gKEJpbiBtaXQgZGVtIFRlaWxtYXJrdCBuaWNodCBzbyBnYW56IHZlcnRyYXV0LikKWi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAiS2xlaW5lciIgTm90ZWJvb2sgKFplc3N0cmEsIDIwLiBKdW4gMjAwOCwgMDk6MzU6MjQpOgp+IyEgcm49Wm9vayBydD0xMjEzOTQ3MTU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMTM5NDcxNTQKTmFqYSwgamUgbmFjaGRlbSwgd2llIGRhcyAna2xlaW4nIGdlbWVpbnQgaXN0LiA7LSkgRXMgZ2lidCB6LkIuIHNvd2FzIHdpZSBkaWUKQXN1cyBFRVBDcyAoZGEgc29sbCBlcyBiYWxkIGF1Y2ggbm9jaCBLb25rdXJyZW56IGdlYmVuKS4gRGllIHNpbmQgcGh5c2lzY2gKa2xlaW4gdW5kIGF1Y2ggbmljaHQgYmVzb25kZXJzIHNjaG5lbGwsIGRhZnVlciByZWNodCBndWVuc3RpZy4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAiS2xlaW5lciIgTm90ZWJvb2sgKFJ1bWF0YSwgMjAuIEp1biAyMDA4LCAwOTozNTo1OCk6Cn4jISBybj1ab29rIHJ0PTEyMTM5NDcxNTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApEYSBrb21tdCBnZXJhZGUgZGllIE1vZGV3ZWxsZSAiTmV0Ym9va3MiKHNpYyEpIGF1ZiB1bnMgenUuCmh0dHA6Ly93d3cuZWVlcGNuZXdzLmRlLwooZ3V0ZXIgc3RhcnRwdW5rdC4gaGFuZGVsdCBhdWNoIHZvbiBhbmRlcmVuIG1vZGVsbGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAiS2xlaW5lciIgTm90ZWJvb2sgKFpvb2ssIDIwLiBKdW4gMjAwOCwgMDk6MzY6MjQpOgp+IyEgcm49WmVzc3RyYSBydD0xMjEzOTQ3MzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMTM5NDcxNTQKTmFqYSwgYWxzbyBkYXMgImtsZWluIiBiZXpvZyBzaWNoIG1laHIgYXVmOiBNdXNzIG5pY2h0IGRhcwpIaWdoZW5kZ2VyYWV0IHNlaW4uIEFsc28gbmljaHQgImtsZWluIiBpbSBTaW5uZSB2b24ga2xlaW5lcwpHZWhhZXVzZS4gU29uZGVybiBrbGVpbiBpbSBTaW5uZSB2b24ga2xlaW5lIExlaXN0dW5nLiBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAiS2xlaW5lciIgTm90ZWJvb2sgKE9ya3RvZXRlciwgMjAuIEp1biAyMDA4LCAxMDozMToxMCk6Cn4jISBybj1ab29rIHJ0PTEyMTM5NDczODQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApJY2ggaGFiZSBtaXIgdm9yIGVpbmlnZXIgWmVpdCBlaW4gQWNlciBUcmF2ZWxtYXRlIDI5MCBnZWthdWZ0IChnZWJyYXVjaHQpLgpBa2t1IGlzdCBub2NoIHZvbGwgT0sgKHVlYmVyIDMgU3R1bmRlbiBsYXVmemVpdCkuIEZ1ZXIgSW50ZXJuZXQsIERWRCBzY2hhdWVuLApCdWVyb2Fud2VuZHVuZ2VuIHJlaWNodCBkYXMgRGluZyB2b2VsbGlnIGF1cy4gQWxzIEdlYnJhdWNodGdlcmFldCB3YXIgZXMgc2VocgpndWVuc3RpZy4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAiS2xlaW5lciIgTm90ZWJvb2sgKFpvb2ssIDIwLiBKdW4gMjAwOCwgMTA6Mzk6MTgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMTM5NTA2NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApHbmEuIFVuZCBkaWVzZXIgUHJvemVzc29yZW4tWm9vIHZvbiBBTUQgdW5kIEludGVsIGdlaHQgbWlyIGF1Y2gKYXVmbiBaZWlnZXIuIEdpYnRzIGRhIG5pY2ggbWEgaXJnZW5kd28gbmVuIGVpbmZhY2hlcyBVZWJlcnNpY2h0cy0KYmxhdHQsIHdhcyBkYSB3YXMgaXN0PyBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAiS2xlaW5lciIgTm90ZWJvb2sgKFJ1bWF0YSwgMjAuIEp1biAyMDA4LCAxMDo0NTo0MSk6Cn4jISBybj1ab29rIHJ0PTEyMTM5NTExNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApWZXJzdWNoIGVpbmZhY2ggbWFsLCBkaWUgTGVpc3R1bmdzZGF0ZW4gZGVyIEdyYWZpa2thcnRlbnByb3plc3NvcmVuCnp1IHZlcnN0ZWhlbi4gRGFuYWNoIGZpbmRlc3QgRHUgZGVuIENQVSBEanVuZ2VsIGVhc3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAiS2xlaW5lciIgTm90ZWJvb2sgKFpvb2ssIDIwLiBKdW4gMjAwOCwgMTA6NDU6NTcpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMTM5NTE1NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApab29rIGhtcGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogIktsZWluZXIiIE5vdGVib29rIChHbG9pbnNvbiwgMjAuIEp1biAyMDA4LCAxMDo0NzoyMyk6Cn4jISBybj1ab29rIHJ0PTEyMTM5NTE1NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApXaWxsIGVyIGRhbWl0IHpvY2tlbj8gTmVlLCBkYW5uIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogIktsZWluZXIiIE5vdGVib29rIChab29rLCAyMC4gSnVuIDIwMDgsIDEwOjUwOjU0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTM5NTE2NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApOZWluLCBuaWNodCB3aXJrbGljaC4gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogIktsZWluZXIiIE5vdGVib29rIChHbG9pbnNvbiwgMjAuIEp1biAyMDA4LCAxMDo1NDozMik6Cn4jISBybj1ab29rIHJ0PTEyMTM5NTE4NTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxMzk0NzE1NApEYW5uIG11c3N0IGR1IGF1Y2gga2VpbmUgR1BVcyB2ZXJzdGVoZW4uIEdlYnJhdWNodCBrYXVmZW4gaXN0IGJlaSBOb3RlYm9va3MKbWVpbmVyIE1laW51bmcgbmFjaCBlaGVyIHJpc2lrb3JlaWNoLiBadXZpZWwgYmV3ZWdsaWNoZSB1bmQgYmllZ3NhbWUgVGVpbGUgYmVpCmRlbmVuIG1hbiBkaWUgTnV0enVuZ3NkYXVlciBuaWNodCBrZW5udC4KClZpZWxsZWljaHQgc29sbHRlIGRlciBCZWthbm50ZSBlcnN0bWFsIHNlaW5lIEJpbGRzY2hpcm1ncm9lc3NlIHVuZApHZXdpY2h0c29iZXJncmVuemUgZmVzdGxlZ2VuLiBBYiBkYSBrYW5uIG1hbiBpaG4gZGFubiBhdWYgZGllIERlbGwtU2VpdGVuCnNjaGlja2VuIHVuZCB3ZW5uIGVzIGRhbm4gYW5zcHJ1Y2hzdm9sbGVyIHdpcmQgbWl0IGRlbiBiaXNoZXIgZ2VzYW1tZWx0ZW4KRWNrZGF0ZW4gd2llIFNwZWljaGVyLCBUb3VjcGFnZCB2cyBUcmFja3N0aWNrLCBQbGF0dGUsIEFibWVzc3VuZ2VuLCBnZ2YuIENQVQp3b2FuZGVycyAoU3VjaG1hc2NoaWVuIHdpZSBpZGVhbG8pIHdlaXRlcnN1Y2hlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogIktsZWluZXIiIE5vdGVib29rIChHcmltbWJvcm4sIDIwLiBKdW4gMjAwOCwgMjI6MjY6MTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxMzk1MjA3MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjEzOTQ3MTU0CkRlbiBDUFUtWm9vIHp1bWluZGVzdCB2b24gSW50ZWwgaGFiIGljaCBtaXIgbWFsIHZvbiB3aWtpcGVkaWEgZXJrbGFlcmVuCmxhc3Nlbi4gQW5zY2hsaWVzc2VuZCBoYWIgaWNoIGJlc2NobG9zc2VuIHNvIHNlaHIgaW50ZXJlc3NpZXJ0IG1pY2ggZGFzIG5pY2h0CnVuZCBtaXIgd2FyIG5lIFdvY2hlIGxhbmcgc2NobGVjaHQuIFdhcyBmdWVyIGVpbiBIYXVmZW4gaW5rb21wZXRlbnRlcgpNYXJrZXRpbmdmcml0emVuLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOTc3MTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoR3JpbW1ib3JuLCAxMS4gSnVsIDIwMDgsIDEyOjQ1OjMzKToKfiMhIHJuPUFudGhlYSBydD0xMjE1NzcwODcwIHJnPW1lZ2FzY2htYXJybgp+IyEgdGlkPTk4MjMyODI3OApJY2ggYmluIGF1ZiBkZXIgU3VjaGUgbmFjaCBlaW5lbSBicmF1Y2hiYXJlbiBERUNUIFRlbGVmb24gKGdlcm5lIFNpZW1lbnMsIHdlaWwKZGVyZW4ga3J1ZGUgQmVudXR6ZXJmdWVocnVuZyBrZW5uZSBpY2ggd2VuaWdzdGVucyBzY2hvbikuIERhcyBzb2xsIGFuIGVpbmVuCklTRE4tQW5zY2hsdXNzLCBlaW5lIEdyb2Vzc2UgaGFiZW4gZGllIG5pY2h0IGltIEdlaG9lcmdhbmcgdmVyc2Nod2luZGV0LCB1bmQKenVtaW5kZXN0IHJ1ZGltZW50YWVyIGdydW5kbGVnZW5kZSBIYW5keWZ1bmt0aW9uZW4gYmlldGVuIChBbnJ1ZmVybGlzdGUsCm1ha3Jvc2tvcGlzY2hlcyBBZHJlc3NidWNoIC0gbXAzIHBsYXllciBuaWNodCBlcmZvcmRlcmxpY2gpLiAKVW5kIGJlemFobGJhciBzb2xsdGUgZXMgYXVjaCBub2NoIHNlaW4uIEhhdCBkYSBqZW1hbmQgRXJmYWhydW5nZW4vCldhcm51bmdlbi9FbXBmZWhsdW5nZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZXMgRGluZ2Vuc3JlY2huZXJjaGVuLi4uIChab29rLCAyNS4gQXVnIDIwMDgsIDA3OjM3OjMzKToKSWNoIGhhdHRlIGphIG5ldWxpY2ggc2Nob24gbWFsIG5hY2ggZGVuIEFzdXMgRWVlZWVlZWVlUEMtCkVyZmFocnVuZ2VuIGdlZnJhZ3QuIE51biBtYWwgZXR3YXMga29ua3JldGVyOiBIYXQgamVtYW5kIHNvCmVpbmVuIE1TSSBXaW5kIG1pdCBMaW51eCB1bmQga2FubiB3YXMgdWViZXIgc2VpbmUKRXJmYWhydW5nZW4gYmVyaWNodGVuPyAKCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhwIDU1MCBub3RlYm9vayBtYWNodCB6aWNrZW4gYmVpIGRlciB3aW5kb29mIGluc3RhbGxhdGlvbiAoSW5udWVuZG8sIDI1LiBBdWcgMjAwOCwgMTU6NTg6MDkpOgpoaSB6dXNhbW1lbgppY2ggdmVyc3VjaCBncmFkIGF1ZiBuZW4gbmV1ZW4gbGFwdG9wIHdpbiB4cCB6dSBpbnN0YWxsaWVyZW4gdW5kIGVyaGFsdGUgbmFjaApkZXIgYXVmZm9yZGVydW5nIHp1ciBpbnN0YWxsYXRpb24gaW1tZXIgZGllIG1lbGR1bmcsIGRhc3MgZXIga2VpbmUgaGFyZGRpc2sKZ2VmdW5kZW4gaGF0IHVuZCBkaWUgaW5zdGFsbGF0aW9uIHNvbWl0IGFiZ2Vicm9jaGVuIHdpcmQuIGF1ZiBkZW0gcmVjaG5lciBpc3QKZWluZSBmcmVlIGRvcyBwYXJ0aXRpb24gZHJhdWYsIHVuZCBkaWUgZmVzdHBsYXR0ZSBpc3QgZWluZGV1dGlnIGRhLiBpY2gga29tbQppbnMgZG9zIHJlaW4gdW5kIGthbm4gZGEgYXVjaCB6ZXVncyBtYWNoZW4uLi4gd2llIGVya2xhZXIgaWNoIGRlbSB3aW5kb3dzCmpldHp0LCBkYXNzIGVzIHNwaW5udD8gaGF0IHdlciBuZSBpZGVlPyBkYXMgaHAga3VuZGVuemVudGVyIGhhdCBtaWNoIGdyYWQgbmUKZ2VzY2hsYWdlbmUgc3R1bmRlIGluIGRlciB3YXJ0ZXNjaGxhbmdlIGhhZW5nZW4gbGFzc2VuLi4uIGpldHogdG1hZyBpY2ggbmljaHQKbWVoci4KbGcgZGVyIGlubnUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBocCA1NTAgbm90ZWJvb2sgbWFjaHQgemlja2VuIGJlaSBkZXIgd2luZG9vZiBpbnN0YWxsYXRpb24gKEdsb2luc29uLCAyNS4gQXVnIDIwMDgsIDE2OjE1OjI0KToKfiMhIHJuPUlubnVlbmRvIHJ0PTEyMTk2NzI2ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxOTY3MjY4OQpWaWVsbGVpY2h0IGlyZ2VuZCBlaW4gc2NocmFlZ2VyIFRyZWliZXIgbm9pdHdlbmRpZyB1bSBkaWUgUGxhdHRlIHp1IHNlaGVuPwpSQUlEPyBTQ1NJPyBJcm5rd2FTPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaHAgNTUwIG5vdGVib29rIG1hY2h0IHppY2tlbiBiZWkgZGVyIHdpbmRvb2YgaW5zdGFsbGF0aW9uIChJbm51ZW5kbywgMjUuIEF1ZyAyMDA4LCAxNjoyMToxMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjE5NjczNzI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMTk2NzI2ODkKZGEgc3RlaHQgYmVpIGRlciBpbnN0YWxsYXRpb24gdGF0c2FlY2hsaWNoIHdlbm4gc2llIGVpbmVuIHNjc2kgb2RlcgpyYWlkdHJlaWJlciBlaW5lcyBkcml0dGFuYmlldGVycyBpbnN0YWxsaWVyZW4gbW9lY2h0ZW4gZHJ1ZWNrZW4gc2llIGY2Li4uIG5hamEKaHAgYmlldGV0IGRpZSB0cmVpYmVyIGF1ZiBkZXIgd2Vic2l0ZSBhbiwgZGEgaXN0IGVpbmVyIGRhYmVpLCBkZXIgc2ljaApzcGVpY2hlci10cmVpYmVyIG5lbm50Li4uIG9iIGRlciB3b2hsIGRhbWl0IGdlbWVpbnQgaXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaHAgNTUwIG5vdGVib29rIG1hY2h0IHppY2tlbiBiZWkgZGVyIHdpbmRvb2YgaW5zdGFsbGF0aW9uIChDcm9mdCwgMjUuIEF1ZyAyMDA4LCAxNjoyODo0Myk6Cn4jISBybj1Jbm51ZW5kbyBydD0xMjE5Njc0MDcyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMTk2NzI2ODkKR2dmIG11c3N0IGR1IG5lIHBhc3NlbmRlIFhQLUluc3RhbGxpb25zLUNEIG1pdCBhbGxlbiBUcmVpYmVybiB6dXNhbW1lbmtvY2hlbi4KVW5kIFNwZWljaGVyLVRyZWliZXIga2xpbmd0IGVoZXIgbmFjaCBIYXVwdHNwZWljaGVyLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBocCA1NTAgbm90ZWJvb2sgbWFjaHQgemlja2VuIGJlaSBkZXIgd2luZG9vZiBpbnN0YWxsYXRpb24gKE9nYXIsIDI1LiBBdWcgMjAwOCwgMjA6NDQ6MzIpOgp+IyEgcm49SW5udWVuZG8gcnQ9MTIxOTY3MjY4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjE5NjcyNjg5CkV2ZW50dWVsbCBBSENJLU1vZHVzIGFrdGl2aWVydD8gIERlbiBrYW5uIFdpblhQIHZvbiBIYXVzIGF1cyBuaWNodC4KCk9nYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaHAgNTUwIG5vdGVib29rIG1hY2h0IHppY2tlbiBiZWkgZGVyIHdpbmRvb2YgaW5zdGFsbGF0aW9uIChJbm51ZW5kbywgMjUuIEF1ZyAyMDA4LCAyMTozMToxNyk6Cn4jISBybj1PZ2FyIHJ0PTEyMTk2ODk4NzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTIxOTY3MjY4OQpqZWRlbmZhbGxzIGdpYnRzIG5lbiB0cmVpYmVyIGZ1ZXIgYWhjaSBhdWYgZGVyIGhwLXdlYnNpdGUgdmVyc3VjaCBtb3JnZW4gbWFsCmRlbiB6dSBpbnN0YWxsaWVyZW4uLi4gYWJlciB3YXMgaXN0IGRhcyB1ZWJlcmhhdXB0IHVuZCB3byBzdGVsbCBpY2ggc293YXMgdW0/CmltIGJpb3M/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBCZW51dHp0IGplbWFuZCBNb3ppbGxhL1hVTC9KYXZzU2NyaXB0IHUuYWUuIC4uLiAoWm9vaywgIDUuIEphbiAyMDA5LCAxMjo0NDo0Nyk6Ci4uLiBmdWVyIHNlaW5lIGVpZ2VuZSBBbndlbmR1bmdzZW50d2lja2x1bmc/IFd1ZXJkIG1pY2ggbWFsIAppbnRlcmVzc2llcmVuLCBvYiBkYXMgc2Nob24gc2VpbmVuIE5pZWRlcnNjaGxhZyBnZWZ1bmRlbiBoYXQuLi4KCk9kZXIgaGF0IGplbWFuZCBuZSAodW4pbWFzc2dlYmxpY2hlIE1laW51bmcgZGF6dT8KCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBCZW51dHp0IGplbWFuZCBNb3ppbGxhL1hVTC9KYXZzU2NyaXB0IHUuYWUuIC4uLiAoUnVtYXRhLCAgNS4gSmFuIDIwMDksIDE1OjU0OjAxKToKfiMhIHJuPVpvb2sgcnQ9MTIzMTE1NTg4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjMxMTU1ODg3CkphdmFzY3JpcHQgaGllciB1ZG4gZGEgc2Nob24gLSBhYmVyIG51ciwgd28gZXMgTk9FVElHIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogQmVudXR6dCBqZW1hbmQgTW96aWxsYS9YVUwvSmF2c1NjcmlwdCB1LmFlLiAuLi4gKEFteW50aG9yLCAgNi4gSmFuIDIwMDksIDAxOjIzOjM2KToKfiMhIHJuPVJ1bWF0YSBydD0xMjMxMTY3MjQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMzExNTU4ODcKRGFzIGJlemllaHQgc2ljaCB3b2hsIGVoZXIgYXVmIEphdmFTY3JpcHQgYWxzIEJlc3RhbmR0ZWlsIGVpbmVyIEFud2VuZHVuZywKRmlyZWZveC9UaHVuZGVyYmlyZCBzaW5kIGphIHp1IGVpbmVtIGd1dGVuIFRlaWwgaW4gSmF2YVNjcmlwdCBnZXNjaHJpZWJlbi4KCkljaCBoYWJlIG1pY2ggbWFsIGF1c2Z1ZWhybGljaGVyIGRhbWl0IGJlc2NoYWVmdGlndCwgYW0gRW5kZSBpc3QgZGFiZWkgbnVyIAplaW5lIEZpcmVmb3gtRXJ3ZWl0ZXJ1bmcgaGVyYXVzZ2Vrb21tZW4sIGZ1ZXIgZWluZSBrb21wbGV0dGUgZWlnZW5lIEFud2VuZHVuZwpzY2hpZW4gbWlyIGRhcyBnYW56ZSAoYSkgT3ZlcmtpbGwsIChiKSB6dSBsYWJpbCwgKGMpIG5pY2h0IG1laHIgdWViZXJzY2hhdWJhciAKdW5kIChkKSBub2NoIG5pY2h0IGF1c2dlcmVpZnQuIEt1cnosIGljaCBoYWJlIGVzIGJsZWliZW5nZWxhc3Nlbi4KCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUzogQmVudXR6dCBqZW1hbmQgTW96aWxsYS9YVUwvSmF2c1NjcmlwdCB1LmFlLiAuLi4gKFpvb2ssICA3LiBKYW4gMjAwOSwgMTc6MjQ6MTkpOgp+IyEgcm49QW15bnRob3IgcnQ9MTIzMTIwMTQxNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjMxMTU1ODg3ClVuZCBkaWUgRXJ3ZWl0ZXJ1bmcgYmVzdGFuZCBkaWUgZGFubiBoYXVwdHNhZWNobGljaCBhdXMgSmF2YVNjcmlwdC1HZW11ZXNlPwpVbmQgd2FzIHdhciBsYWJpbCByZXNwZWt0aXZlIG5vY2ggbmljaHQgYXVzZ2VyZWlmdD8gRGVyIEZpcmVmb3ggdHV0IGRvY2gsCm9kZXI/CgooQWxzbyBtYWwgYWxzIEJlaXNwaWVsYW53ZW5kdW5nKQoKVW5kIHVudWViZXJzaWNodGxpY2ggZmluZGUgaWNoIGVzIGF1Y2gsIGphLgoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVNJIFdpbmQgbWl0IFVidW50dSA4LjEwIChab29rLCAgOS4gSmFuIDIwMDksIDEyOjI1OjM3KToKS2xlaW5lciBFcmZhaHJ1bmdzYmVyaWNodDogSWNoIGhhYmUgbWlyIHNvIGVpbmVuIE1TSSBXaW5kClUxMDAgenVnZWxlZ3QsIHZvcmluc3RhbGxpZXJ0IG1pdCBXaW5kb3dzIFhQIEhvbWU7IGFsbGVyZGluZ3MKaGFiZW4gc2llIGZyZXVuZGxpY2hlcndlaXNlIGVpbmUgZ3Jvc3NlIFBhcnRpdGlvbiBnYW56IGZyZWkgCmdlbGFzc2VuLgoKRGEgaGFiZSBpY2ggZGFubiBVYnVudHUgOC4xMCBkcmF1ZiBnZXdvcmZlbi4gRWluaWdlIAprbGVpbmVyZSBWb3JhcmJlaXRlbiAoYm9vdGJhcmVuIFVTQi1TdGljayBiYXN0ZWxuKSB1bmQgZGFubgpmbHV0c2NodGUgZXMuIEluc3RhbGxhdGlvbiB3ZWl0Z2VoZW5kIHByb2JsZW1sb3MsIGRhcyBlaW56aWdlCkFlcmdlcm5pcyBpc3QgZGllIFdsYW4tS2FydGUvQ2hpcHMsIGRpZSBpbSBTdGFuZGFyZC1LZXJuZWwgbmljaHQKZHJpbiBzaW5kIHVuZCBkaWUgbXVzcyBtYW4gc2ljaCBkYW5uIHZvbiBkZXIgSG9tZXBhZ2UgZGVzCkhlcnN0ZWxsZXJzIHJ1bnRlcmxhZGVuIHVuZCBpcmdlbmR3aWUgaW4gZGVuIEtlcm5lbCBzY2huaXBzZWxuLgoKR2luZyBkYW5uIGF1Y2ggYWxsZXMuIFNvZ2FyIFN0YW5kYnkgdW5kIFJ1aGVtb2R1cyBmdW56dC4gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1TSSBXaW5kIG1pdCBVYnVudHUgOC4xMCAoR2xvaW5zb24sICA5LiBKYW4gMjAwOSwgMTI6Mjc6MzYpOgp+IyEgcm49Wm9vayBydD0xMjMxNTAwMzM3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMzE1MDAzMzcKR3JhdHMuIEljaCB6b2VnZXIgamEgbm9jaCwgaWNoIG11c3MgbWFsIGVpbiBwYWFyIE5ldGJvb2tzIGFuZ3JhYmJlbG4uIEFiZXIKbW9iaWwgd2FlciBtYWwgd2llZGVyIHNjaG9lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1TSSBXaW5kIG1pdCBVYnVudHUgOC4xMCAoWm9vaywgIDkuIEphbiAyMDA5LCAxMjozMDoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjMxNTAwNDU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMzE1MDAzMzcKRXMgZ2lidCB3b2hsIGF1Y2ggYmFsZCBlaW5lbiBNU0kgV2luZCBtaXQgZWluZ2ViYXV0ZW0gVU1UUy4gCgpBbnNvbnN0ZW4gaGF0IGRhcyBzZWhyIGFlaG5saWNoZSBTYW1zdW5nIE5DZGluZ2VucyBhdWNoIGVpbmVuIApyZWNodCBvcmRlbnRsaWNoZW4gRWluZHJ1Y2sgaGludGVybGFzc2VuLgoKQW0gTVNJIG1hZyBpY2gsIGRhc3MgZXMgZWluIDEwIFpvbGwtU2NoaXJtY2hlbiBoYXQgdW5kIGRpZSBUYXN0YXR1cgpmdWVyIG1pY2ggYWxzIERhdWVydGlwcGVyIGhhbGJ3ZWdzIHp1IGJlZGllbmVuIGlzdC4gCgpIYWIgZGEgYXVjaCBzY2hvbiBsYWVuZ2VyZSBUZXh0ZSBtaXQgZ2VzY2hyaWViZW4uCgpOdXIgZGVyIFByb3plc3NvciwgZGVyIGlzdCB3b2hsIG1pdCBtYW5jaGVuIFNhY2hlbiBhYmVudGV1ZXJsaWNoCnVlYmVybGFzdGV0LiBLb21waWxpZXJlbiB2b24gU291cmNlLUNvZGUgcmVpc3N0IGluIHJlZ2VsbWFlc3NpZwpoaW51bnRlci4uLgoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTVNJIFdpbmQgbWl0IFVidW50dSA4LjEwIChaZXNzdHJhLCAgOS4gSmFuIDIwMDksIDEyOjM1OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTIzMTUwMDYxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjMxNTAwMzM3Ck1obW0sIGphLCBkaWUgSW50ZWwgQXRvbSBEaW5nZXIgc2luZCBuaWNodCBzb29vIGZpeC4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNU0kgV2luZCBtaXQgVWJ1bnR1IDguMTAgKEdsb2luc29uLCAgOS4gSmFuIDIwMDksIDEyOjM2OjMxKToKfiMhIHJuPVpvb2sgcnQ9MTIzMTUwMDYxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjMxNTAwMzM3CkphLCB1ZWJlciBkYXMgU2Ftc3VuZyBuYzEwIGhhdHRlIGljaCBtaWNoIG1hbCBtaXQgVGVuYXIgdW50ZXJoYWx0ZW4sIGRlcgp3b2xsdGUgc2ljaCBlaW4gQXN1cyBob2xlbi4gU2Nod3VwcHMsIGhhdHRlIGVyIGVpbiBTYW1zdW5nLiBEaWUgVGFzdGF0dXIgdm9uCmRlbSBpc3Qgc2VociBhbmdlbmVobSwgYWJlciBkYXMgRGlzcGxheSBpc3QgbWlyIGVpbiB3ZW5pZyB6dSBkdW5rZWwuIFdpZWRlcgplaW5tYWwgZGllIFN1Y2hlIG5hY2ggZGVyIGVpZXJsZWdlbmRlbiBXb2xsbWlsY2hzYXUuCgpNaXQgZGVtIFByb3plc3NvciBrYW5uIGljaCBtaWNoIHNpY2hlciBhYmZpbmRlbi4gRGVyIFByb3plc3NvciBzZWxic3QgaXN0IHdvaGwKc28gc2NobmVsbCB3aWUgbWVpbiBkZXJ6ZWl0aWdlciBpbSA0IEphaHJlIGFsdGVuIExhcHRvcC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNU0kgV2luZCBtaXQgVWJ1bnR1IDguMTAgKFpvb2ssICA5LiBKYW4gMjAwOSwgMTI6NDE6MzYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIzMTUwMDk5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjMxNTAwMzM3CmFsc28gZGFzIG1zaSBkaXNwbGF5IGlzdCBzZWhyIGhlbGwgdW5kIGhlbGxlciBhbHMgbWVpbiAKZnVzaSBub3RlYm9vayBkaXNwbGF5LiB6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb2Qgd3JvdGUgaW4gTElTUCAoTWVzaXJpaSwgMTMuIEphbiAyMDA5LCAwMDo0MDo0MCk6CkltbWVyIHdpZWRlciBzY2hvZW46Cmh0dHA6Ly93d3cucHJvbWV0aGV1cy1tdXNpYy5jb20vYXVkaW8vZXRlcm5hbGZsYW1lLm1wMwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpha3R1ZWxsZSBQcm96ZXNzb3JlbiBwYXNzaXYga3VlaGxlbiAoTWVzaXJpaSwgMTMuIEphbiAyMDA5LCAwMDo0NDowOSk6CkljaCBoYWIgbWlyIGVpbiBBbnRlYyBTa2VsZXRvbiBHZWhhZXVzZSB6dWdlbGVndCBtaXQgMjVjbSBMdWVmdGVyIG9iZW5kcmF1Zi4KTnVyIGtyaWVnIGljaCBkZW4gQ1BVIEx1ZWZ0ZXIgbmljaHQgbWl0IHJlaW4uIE51biBmcmFnZSBpY2ggbWljaCwgb2IKaWNoIGRlbiBDb3JlMkR1byAzR0h6IGF1Y2ggdWViZXIgZGVuIGdyb3NzZW4ga3VlaGxrb2VycGVyIChBc3VzIFRyaXRvbiA3NSkKdW5kIGRlbSBncm9zc2VuIEx1ZWZ0ZXIgZ2VrdWVobHQga3JpZWdlIChkZXIgc2l0enQgYWJlciBudXIgdmVyc2V0enQgZHJ1ZWJlcikuCklkZWVuPwpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYWt0dWVsbGUgUHJvemVzc29yZW4gcGFzc2l2IGt1ZWhsZW4gKFZhcmRpb24sIDE1LiBKYW4gMjAwOSwgMjE6MjI6MjMpOgp+IyEgcm49TWVzaXJpaSBydD0xMjMxODAzODQ5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyMzE4MDM4NDkKSW50ZWwgQ1BVcyBzZWl0IFBlbnRpNCBrb2VubmVuIGRvY2ggZWggbmljaHQgbWVociBiaXMgenVyIFplcnN0b2VydW5nCnVlYmVyaGl0emVuLCB3ZWlsIHNpZSBiZWkgVWViZXJoaXR6dW5nIGF1dG9tYXRpc2NoIGlocmUgVGFrdGZyZXF1emVueiBzZW5rZW4uCkluc29mZXJuIGthbm5zdGUgZXMgZWluZmFjaCBhdXNwcm9iaWVyZW4sIHVuZCBuZWJlbmJlaSBDUFUtVGFrdCB1bmQgVGVtcGVyYXR1cgptb25pdG9yZW4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmZhaHJ1bmcvTWVpbnVuZyB6dSBRb3NtaW8gWDMwMC0xMUwgKEd3ZW4sICAyLiBNYWkgMjAwOSwgMTI6MTI6MDEpOgpIaSwKaGF0IHdlciB2b24gRXVjaCBFcmZhaHJ1bmdzYmVyaWNodGUgb2RlciBnZW5lcmVsbCBuZSBNZWludW5nIHp1bSBRb3NtaW8KWDMwMC0xMUw/Cmh0dHA6Ly9hdC5jb21wdXRlcnMudG9zaGliYS1ldXJvcGUuY29tL2lubm92YXRpb24vcHJvZHVjdC9Rb3NtaW8tWDMwMC0xMUwvMTA1Nwo2MzMvdG9zaGliYVNob3AvZmFsc2UvCkdydWVzc2UsIEd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXJmYWhydW5nL01laW51bmcgenUgUW9zbWlvIFgzMDAtMTFMIChHbG9pbnNvbiwgIDIuIE1haSAyMDA5LCAxMjoxNDoyNik6Cn4jISBybj1Hd2VuIHJ0PTEyNDEyNTkxMjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpNZWludW5nOiBFaW4gImhlcnVtdHJhZ2JhcmVzIiBHZXJhZXQgbWl0IDE3IiBCaWxkc2NoaXJtIGlzdCBlaW4gV2l0ei4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVyZmFocnVuZy9NZWludW5nIHp1IFFvc21pbyBYMzAwLTExTCAoQ3JvZnQsICAyLiBNYWkgMjAwOSwgMTI6MTU6MjQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0MTI1OTI2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjQxMjU5MTIxCkhleSwgZGFzIGlzdCBNb2JpbGUgQ29tcHV0aW5nL0dhbWluZyA7LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmcvTWVpbnVuZyB6dSBRb3NtaW8gWDMwMC0xMUwgKEdsb2luc29uLCAgMi4gTWFpIDIwMDksIDEyOjE2OjM4KToKfiMhIHJuPUNyb2Z0IHJ0PTEyNDEyNTkzMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpBY2hzbywgZGFoZSBkYXMgU2NobWlua3NwaWVnZWxkaXNwbGF5LCBkYW1pdCBtYW4gc2ljaCBiZWltIEhlYWRzaG90IHNlbGJzdAp2ZXJkYXR0ZXJ0IGFuZ3Vja2VuIGthbm4gOykKCkdld2ljaHQ6IDQuMyBrZy4gU293YXMgc3RlbGx0IG1hbiBzaWNoIGluIEVpbnplbHRlaWxlbiB1bnRlciB1bmQgYXVmIGRlbgpUaXNjaCwgZGFubiBzdGltbXQgYXVjaCBkaWUgQXJiZWl0c3BsYXR6ZXJnb25vbWllIHdpZWRlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFcmZhaHJ1bmcvTWVpbnVuZyB6dSBRb3NtaW8gWDMwMC0xMUwgKEd3ZW4sICAyLiBNYWkgMjAwOSwgMTI6MTY6NDIpOgp+IyEgcm49Q3JvZnQgcnQ9MTI0MTI1OTMyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjQxMjU5MTIxCk1laW4gTWFjIHdhciBrZWluIFdpdHogc29uZGVybiBzdXBlci4uLgpVbmQgYWJnZXNlaGVuIHZvbiBkZXIgR2V3aWNodHNhbmdhYmUgdW5kIEFra3VsYXVmemVpdD8KR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVyZmFocnVuZy9NZWludW5nIHp1IFFvc21pbyBYMzAwLTExTCAoR3dlbiwgIDIuIE1haSAyMDA5LCAxMjoyNTo0OSk6Cn4jISBybj1Hd2VuIHJ0PTEyNDEyNTk0MDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpQUzogRWluIE5vdGVib29rIGlzdCBlaW4gTm90ZWJvb2sgaXN0IGVpbiBOb3RlYm9vay4KTWljaCBpbnRlcmVzc2llcmVuIG51ciBFcmZhaHJ1bmdzYmVyaWNodGUgb2RlciBBbHRlcm5hdGl2ZW4gaW0KTm90ZWJvb2tiZXJlaWNoLgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRXJmYWhydW5nL01laW51bmcgenUgUW9zbWlvIFgzMDAtMTFMIChHbG9pbnNvbiwgIDIuIE1haSAyMDA5LCAxMjoyNzowMyk6Cn4jISBybj1Hd2VuIHJ0PTEyNDEyNTk5NDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpJY2ggaGFiZSBrZWluZSBFcmZhaHJ1bmcgbWl0IDE3Ii1Ob3RlYm9va3Mgb2RlciBOb3RlYm9va3MgdWViZXIgMi41a2cuIE1pdApBYnNpY2h0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRXJmYWhydW5nL01laW51bmcgenUgUW9zbWlvIFgzMDAtMTFMIChHd2VuLCAgMi4gTWFpIDIwMDksIDEzOjIyOjA3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDEyNjAwMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpEaWUgaGllciBzaW5kIHNvbnN0IG5vY2ggTm90ZWJvb2tzLCBkaWUgbWVpbiBha3V0ZWxsZXMgSW50ZXJlc3NlIGdld2Vja3QKaGF0dGVuOgpodHRwOi8vd3d3Lm5vdGVib29ram91cm5hbC5kZS90ZXN0cy9ocC1wYXZpbGlvbi1oZHgxNi0xMDYwLTcwMC8yCmh0dHA6Ly93d3cubm90ZWJvb2tqb3VybmFsLmRlL3Rlc3RzL3Rvc2hpYmEtcW9zbWlvLWc1MC0xMGktNjc4LzUKCkdydWVzc2UsIEd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFcmZhaHJ1bmcvTWVpbnVuZyB6dSBRb3NtaW8gWDMwMC0xMUwgKFJ1bWF0YSwgIDQuIE1haSAyMDA5LCAwOTowNzoxMyk6Cn4jISBybj1Hd2VuIHJ0PTEyNDEyNjMzMjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0MTI1OTEyMQpadW0gVGhlbWEgU2NobWlua3NwaWVnZWwgZW1wZmVobGUgaWNoIGRpZSBha3R1ZWxsZSBjJ3QgKDEwLzIwMDkgUy4xNTIpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRXJmYWhydW5nL01laW51bmcgenUgUW9zbWlvIFgzMDAtMTFMIChHd2VuLCAgNC4gTWFpIDIwMDksIDIzOjEzOjAxKToKfiMhIHJuPVJ1bWF0YSBydD0xMjQxNDIwODMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNDEyNTkxMjEKSWNoIGhhYiBkYXMgVGVpbCBoZXV0ZSBnZXNlaGVuIHVuZCBhdXNwcm9iaWVydC4KQWxsZWluIGRpZSBUYXN0YXR1ciB3YXIgZWluIEhpbmRlcnVuZ3NncnVuZC4KQXVjaCBmdWVyIHNlaHIgdmllbCB3ZW5pZ2VyIEdlbGQgd3VlcmRlIGljaCBkYXMgVGVpbCBkYXJ1bSBuaWNodCBrYXVmZW4uLi4KR3dlbi4KLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJhdWNoZSBpY2ggZWluICJFaW53ZWcgV2luZG93cyI/IChSdW1hdGEsICAyLiBKdWwgMjAwOSwgMTI6NDk6NDUpOgoKSGFsbG8sIGljaCBoYWJlIG1pdCBtZWluZW0gRGVsbCBMYXB0b3AgZWluIFByb2JsZW0uIERpZSBGaXJtd2FyZSBmdWVyCmRhcyBCbHVldG9vdGggTW9kdWwgZnVua3Rpb25pZXJ0IG51ciBtaXQgV2luZG93cyBWaXN0YS4gVW0gZWluZQphbmRlcmUgRmlybXdhcmUgYXVmenV6cGllbGVuLCBsaWVmZXJ0IERlbGwgZWluIFByb2dyYW0sIGRhcyBudXIgdW5kZXIKV2luZG93cyBYUCBsYWV1ZnQuCgpOdW4gaGF0IGRpZSBGZXN0cGxhdHRlIGRpZXNlcyBSZWNobmVycyBuaWUgZXR3YXMgYW5kZXJlcyBhbHMgTGludXgKKHVuZCBGcmVlRG9zLCBkYXMgZGV0cmVmZmVuZGVuIFVwZGF0ZXIgbmljaHQgYXVzZnVlaHJlbiBrYW5uKSBnZXNlaGVuCnVuZCBhdWYgZGVyIFBsYXR0ZSBpc3QgYXVjaCBrZWluIFBsYXR6IGZ1ZXIgc293YXMsIGdlc2Nod2VpZ2UgZGVubiwgZGFzcwppY2ggZWluZSBXaW5kb3dzLUxpemVueiBmdWVyIGVpbmUgSW5zdGFsbGF0aW9uIGhhZXR0ZS4KCkdlcnVlY2h0ZW4genVmb2xnZSBzb2xsIG1hbiBtaXQgZWluZW0gVk1XYXJlIG1pdCBYUCBHYXN0IHdhcyByZWlzc2VuIGtvZW5uZW4uClZNV2FyZSBnYWViZSBlcyBqYSB6dW0gcHJvYmllcmVuIGZyZWksIGFiZXIgZWluZSBYUCBpbWFnZSBnaWJ0IGVzIHdvaGwKbmljaHQgZnJlaSwgb2Rlcj8KClNlaGUgaWNoIGRhcyBSaWNodGlnLCBkYXNzIGljaCBpcmdlbmR3aWUgZXJzdG1hbCBlaW5lIFdpblhQIExpemVueiBlcndlcmJlbgptdXNzPyEKCkdydW1tZWwuClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyYXVjaGUgaWNoIGVpbiAiRWlud2VnIFdpbmRvd3MiPyAoWmVzc3RyYSwgIDIuIEp1bCAyMDA5LCAxMzowNjo0Nik6Cn4jISBybj1SdW1hdGEgcnQ9MTI0NjUzMTc4NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjQ2NTMxNzg1Cldlbm4gRHUgRGljaCBuaWNodCBhbHMgUmF1YmtvcGllcmVyIGJlc2NoaW1wZmVuIGxhc3NlbiB3aWxsc3QsIHZlcm11dGxpY2ggamEuCkljaCB3ZWlzcyBuaWNodCwgb2IgZXMgbGVnYWxlIE1vZWdsaWNoa2VpdGVuIGRlcyBrdXJ6ZnJpc3RpZ2VuIExlaWhlbnMgZ2lidCwKYWJlciBpY2ggYmluIGVoZXIgc2tlcHRpc2NoLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcmF1Y2hlIGljaCBlaW4gIkVpbndlZyBXaW5kb3dzIj8gKFJ1bWF0YSwgIDIuIEp1bCAyMDA5LCAxMzozMTowNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNDY1MzI4MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI0NjUzMTc4NQpNYWwgZ3VjaGVuLCBvYiBEZWxsIGVpbmUgSWRlZSBoYXQuClVuZCBGaXJtZW4gaGFiZW4gZG9jaCBzbyBuZXR6d2Vya2luc3RhbGxhdGlvbnMtQ0RzIG1hbCBndWNrZW4gb2IKdW5zZXJlIElUIHNvd2FzIGhhdC4KCldpZXNvIGhhYmVuIG5pY2h0IG5pY2h0IHNvIGVpbiBGcmVlRG9zIHNjaG51bGxpcHJvZ3JhbW0sIHdpZSBiZWltIEJJT1MKdXBncmFkZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJyYXVjaGUgaWNoIGVpbiAiRWlud2VnIFdpbmRvd3MiPyAoTWluaSwgIDIuIEp1bCAyMDA5LCAyMjoyNzo0NSk6Cn4jISBybj1SdW1hdGEgcnQ9MTI0NjUzNDI2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjQ2NTMxNzg1CkhhbGxvIFJ1bWF0YSwKCmljaCBoYWIgaGllciBlaW5lbiAoYWVsdGVyZW4pIERlbGwgaW5zcGlyaW9uLCBtaXQgTGludXggbGF1ZmVuLgpJbiBkZW4gS2VybmVsbWVsZHVuZ2VuIChkbWVzZykgd2FyIGRpcmVrdCBlaW4gSGlud2VpcyBhdWYgZGllIHVybCwgd28gbWFuIGRlbgpUcmVpYmVyIGhlcnVudGVybGFkZW4ga2FubiB1bmQgYXVjaCB3ZWxjaGUgVmVyc2lvbiBtYW4gbmVobWVuIHNvbGwuLi4gQWxzbywKV2luZG93cyAqbXVzcyogbmljaHQgZHJhdWYuCgpCZWkgSW50ZXJlc3NlIHN1Y2ggaWNoIG5vY2htYWxzIGdlbmF1ZXIsIHdlbGNoZSBTZWl0ZSAvIFZlcnNpb24gZGFzIGJlaSBtaXIKd2FyCgpWaWVsIGVyZm9sZywgd3VlbnNjaHQgClRhcHNpIC8gTWluaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyYXVjaGUgaWNoIGVpbiAiRWlud2VnIFdpbmRvd3MiPyAoT3JrdG9ldGVyLCAgMi4gSnVsIDIwMDksIDIyOjM4OjE2KToKfiMhIHJuPVJ1bWF0YSBydD0xMjQ2NTMxNzg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNDY1MzE3ODUKSWNoIGhhYmUgbWlyIGdlcmFkZSBlaW4gQXV0byBkZXIgTWFya2UgeHkgZ2VrYXVmdCwgZGllc2VzIGxhZXVmdCBudXIgbWl0CkJlbnppbiBkZXIgRmlybWEgeHosIHdpZSBrYW5uIGljaCBtZWluIEF1dG8gbnVuIG1pdCBCZW56aW4gZGVyIEZpcm1hIHl4CmJldHJlaWJlbj8KKHNvbGwgaGVpc3Nlbjogd2FzIGthdWZzdCBkdSBkaXIgZWluIFByb2R1a3QsIGRhc3MgZGljaCBhbiBlaW5lbiBnZXdpc3NlbgpMaWVmZXJhbnRlbiBiaW5kZXQ/KQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnJhdWNoZSBpY2ggZWluICJFaW53ZWcgV2luZG93cyI/IChLZXNzYSwgIDIuIEp1bCAyMDA5LCAyMjo0Njo1Nik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTI0NjU2NzA5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjQ2NTMxNzg1CldpZSB1ZWJlcmF1cyBoaWxmcmVpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCcmF1Y2hlIGljaCBlaW4gIkVpbndlZyBXaW5kb3dzIj8gKFJ1bWF0YSwgIDMuIEp1bCAyMDA5LCAwOTowMDozOCk6Cn4jISBybj1LZXNzYSBydD0xMjQ2NTY3NjE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNDY1MzE3ODUKQXVzc2VyZGVtOiBuaWNodCBhbGxlcyB3YXMgaGlua3QsIGlzdCBlaW4gdmVyZ2xlaWNoLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJyYXVjaGUgaWNoIGVpbiAiRWlud2VnIFdpbmRvd3MiPyAoQW5hdG9sLCAxNS4gSnVsIDIwMDksIDAxOjI2OjA2KToKfiMhIHJuPVJ1bWF0YSBydD0xMjQ2NjA0NDM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNDY1MzE3ODUKRGllIEZyYWdlIGJ6Z2wuIERlbGwgaXN0IGluendpc2NoZW4gZXR3YXMgaGVyIC0gZ2FiJ3MgZGEgZWluZSBBbnR3b3J0PwpXdWVyZCBtaWNoIGludGVyZXNzaWVyZW4sIGljaCBoYWJlIG1pdCBkZW0gRGVsbCBTdXBwb3J0IGJpc2xhbmcgbnVyIGd1dGUKRXJmYWhydW5nZW4gZ2VtYWNodC4KCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJyYXVjaGUgaWNoIGVpbiAiRWlud2VnIFdpbmRvd3MiPyAoUnVtYXRhLCAxNS4gSnVsIDIwMDksIDA4OjQzOjE4KToKfiMhIHJuPUFuYXRvbCBydD0xMjQ3NjEzOTY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNDY1MzE3ODUKRXMgZ2FiIGVpbmUgQW50d29ydCBkaWUga2VpbmUgd2lya2xpY2hlIHdhciAtIHVuZCBlaW4gQW5ydWYgdnVtCjJuZCBMZXZlbCBTdXBwb3J0ICh2bXRsIHdlaWwgRmlybWVua3VuZGUpLCBkYXNzIGljaCBhYmVyIGdlcm5lIHdpZWRlcgphbnJ1ZmVuIGRhcmYuCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIEtleWJvYXJkIChFbm5veCwgMTguIEF1ZyAyMDA5LCAxMTozOTowNSk6CkljaCBoYWIgbWlyIG1hbCBlaW4gIkRhcyBLZXlib2FyZCIgYmVzdGVsbHQsIG1hbCBndWNrZW4gd2llIGRhcyBzbyBpc3QuIFdvbGx0ZQplcyBlaWdlbnRsaWNoIE1vZ3VyIGVtcGZlaGxlbiwgd2VpbCBkZXIgdWViZXIgc2VpbmUgVGFzdGF0dXIgZ2VmbHVjaHQgaGF0LCB1bmQKZGllIGZlaGxlbmRlIEJlc2NocmlmdHVuZyBiZWkgaWhtIHNpY2hlciBjb29sIGtvbW10LCBhYmVyIGVyIGhhdCBuZW4gTm90ZWJvb2suCk1lc2ksIGdlc3Bhbm50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIEtleWJvYXJkIChIaWdobGFuZGVyLCAxOC4gQXVnIDIwMDksIDExOjUwOjQ2KToKfiMhIHJuPUVubm94IHJ0PTEyNTA1ODgzNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI1MDU4ODM0NQpXZW5uIER1J3MgaGFzdCwgYml0dGUgbmFjaCBlaW5lciBXZWlsZSBtYWwgc2NocmVpYmVuLCB3aWUgZXMgRGlyCmdlZmFlbGx0LiBJY2ggZmluZCdzIGphIGF1Y2ggd2l0emlnLCBhYmVyIGF1Y2ggdW52ZXJzY2hhZW10IHRldWVyLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhcyBLZXlib2FyZCAoTWFoYXJldCwgMTguIEF1ZyAyMDA5LCAyMDo0OTo0NCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEyNTA1ODkwNDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI1MDU4ODM0NQpBaGEsIGFsc28gZXJmYWhyZSBpY2ggZXJzdCBpbiBkZXIgTVBBLCB3b2hpbiBtZWluIEhhdXNoYWx0c2dlbGQgdmVyc2Nod2luZGV0Ci4uLiBpc2phdW5nbGF1YmxpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhcyBLZXlib2FyZCAoTWFyY3VzLCAxOS4gQXVnIDIwMDksIDE5OjA1OjA0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTI1MDYyMTM4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjUwNTg4MzQ1CkdyaW1tYm9ybiBoYXQgc28gZWluZXMsIGlzdCB3b2hsIHJlY2h0IGdsdWVja2xpY2ggZGFtaXQuCgpBbSBBbmZhbmcgaGF0IGVyIG1hbmNobWFsIGRhbmViZW4gZ2V0aXBzZWx0LiA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYVRlWDogdHlwZWFyZWEgLyBmYW5jeWhkciAoWm9vaywgIDQuIFNlcCAyMDA5LCAxMTozNDozNik6Ckthbm4gc2VpbiwgZGFzcyBkaWUgendlaSBQYWtldGUgbmljaHQgZ3V0IHp1c2FtbWVuIGZ1bnplbj8KSmVkZW5mYWxscyBtb3R6dCBmYW5jeWhkciB1ZWJlciBkZW4gU2F0enNwaWVnZWwgdm9uCnR5cGVhcmVhIHVuZCBmdW1tZWx0IGRhIG5hY2h0cmFlZ2xpY2ggcnVtLiBJcmdlbmRqZW1hbmQgZGF6dQpuZSBMb2VzdW5nc2lkZWU/CgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbml4IFBvd2VyIFRvb2xzIChFbm5veCwgMTQuIFNlcCAyMDA5LCAwMDoxOToxMyk6CkRhIEtvbGxlZ2VuIGJlaSBtaXIgYXVmIEFyYmVpdCBpbW1lciBQcm9ibGVtZSBoYWJlbiBkaWUgTWFlY2h0aWdrZWl0IGRlcgpiZWthbm50ZW4gVW5peC1Ub29scyB6dSBudXR6ZW4sIGhhYiBpY2ggbWFsIGFuZ2VmYW5nZW4gZGllIHdpY2h0aWdzdGVuCkluZm9zIHBlciBNaW5kTWFwIHp1IHNhbW1lbG4sIHdlbm4gRHUgZGFzIGF1Y2ggZ2VicmF1Y2hlbiBrYW5uc3QsIG9kZXIKd2FzIGVyZ2FlbnplbiBtb2VjaHRlc3QsIHd1ZXJkZSBpY2ggRGljaCBiaXR0ZW4sIERpciBkYXMgbWFsIGFuenVndWNrZW4uCkRhbmtlIE1lc2kKaHR0cDovL3d3dy5taW5kbWVpc3Rlci5jb20vMjkyNTgyMjMvdW5peC1wb3dlci10b29scwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIGVjaHRlciBaYXViZXJzdGFiIChNZXNpcmlpLCAxNC4gT2t0IDIwMDksIDIyOjEyOjIxKToKTmFjaGRlbSBpY2ggZHVyY2hzIE11ZCBkcmF1ZiBnZWtvbW1lbiBiaW4sIGhhYiBpY2ggamV0enQgZmFzdCB0YWVnbGljaGVuCktvbnRha3QgenUgZGVuIFdhbmRtYWtlcm4sIGRpZSBkZW4gIkt5bWVyYSBXYW5kIiBoZXJzdGVsbGVuLCBlaW5lbiBaYXViZXJzdGFiCmRlciBHZXN0ZW4gZXJrZW5uZW4ga2FubiB1bmQgZnVlciBkaWVzZSBiZWxpZWJpZ2UgSVItQ29kZXMgbGVybmVuIHVuZCBkYW5uCmFic3BpZWxlbiBrYW5uLgpJY2ggbWFjaCBuYWVtbGljaCBkaWUgQ29tbXVuaXR5LVNpdGUgZnVlciBkaWU6CldlciBMdXN0IHp1bSBndWNrZW4gaGF0OiBodHRwOi8vd2FuZC1jb250cm9sLmNvbQpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIGVjaHRlciBaYXViZXJzdGFiIChBbnRoZWEsIDE1LiBPa3QgMjAwOSwgMDk6NDI6MzYpOgp+IyEgcm49TWVzaXJpaSBydD0xMjU1NTUxMTQxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNTU1NTExNDEKVW5kIGRhcyBEaW5nZW4gaXN0IGF1Y2ggZWNodCBjb29sIDspCk51ciBmaW5kIGljaCBkaWUgMTMgQmVkaWVudW5nZW4gZXR3YXMgd2VuaWcuIEljaCB3aWxsIG1laHIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW4gZWNodGVyIFphdWJlcnN0YWIgKEFudGhlYSwgMTUuIE9rdCAyMDA5LCAxMTo0Njo1NSk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNTU1NTExNDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI1NTU1MTE0MQpCdHc6IFJhZXVtIG1hbCBpbSBGb3J1bSBhdWYuIElociBoYWJ0IGRhIGVpbmVuIE1lZGlrYW1lbnRlbnNwYW1tZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbiBlY2h0ZXIgWmF1YmVyc3RhYiAoQmFtYnVsa28sIDE5LiBPa3QgMjAwOSwgMDk6Mzc6MjYpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTU2MDAwMTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI1NTU1MTE0MQpXYXMga29zdGV0IGRlbm4gZGVyIFZlcnNhbmQgbmFjaCBEZXV0c2NobGFuZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbiBlY2h0ZXIgWmF1YmVyc3RhYiAoTWVzaXJpaSwgMjkuIE9rdCAyMDA5LCAyMzozODoyNyk6Cn4jISBybj1CYW1idWxrbyBydD0xMjU1OTM3ODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyNTU1NTExNDEKMTAgUGZ1bmQuCnVuZCBkaWUgU3BhbW1lciBzaW5kIHdpciBsb3MgOikKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWluIGVjaHRlciBaYXViZXJzdGFiIChHbG9pbnNvbiwgMjkuIE9rdCAyMDA5LCAyMzo0MDoyOSk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNTY4NTU5MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI1NTU1MTE0MQpBaCwgamV0enQgd2lyZCBpbiBHb2xkIGdlemFobHQ/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmF1YmVyc3RhYi1XZWlobmFjaHRzZ2VzY2hlbmsgKE1lc2lyaWksICA2LiBEZXogMjAwOSwgMDg6NDM6MDgpOgpJY2ggaGFiIEV1Y2ggamEgaW1tZXIgbWFsIHZvbiBtZWluZW0gU3Bhc3MgbWl0IGRlbSBLeW1lcmEgV2FuZCAoSW5mcmFyb3QKVW5pdmVyc2FsZmVybmJlZGllbnVuZyBpbiBGb3JtIGVpbmVzIFphdWJlcnN0YWJzKSBzb3dpZSBkZW0gbmV0dGVuIEtvbnRha3QgbWl0CmRlbiBXYW5kbWFrZXJzIGJlcmljaHRldC4gSmV0enQgaGFiZW4gc2ljaCBkaWUgYmVpZGVuIGF1Y2ggZGF6dSBkdXJjaHJpbmdlbgpsYXNzZW4sIFJlc2FsZSB6dSBlcmxhdWJlbi4KQWxzbyB3ZXIgbm9jaCBlaW4gR2VzY2hlbmsgYnJhdWNodDogaHR0cDovL3RoZXdhbmRjb21wYW55LmNvbQpPZGVyIGJlaSBtaXI6IGh0dHA6Ly9reW1lcmEtd2FuZC5jb20KCldhcyBhdWNoIGdlaWwgaXN0IGZ1ZSBhbGxlIEZhbnRhc3ktQmVnZWlzdGVydGVuOiBodHRwOi8vZWxiZW5sYW5kLmRlCgpMRwoKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFphdWJlcnN0YWItV2VpaG5hY2h0c2dlc2NoZW5rIChIaWdobGFuZGVyLCAgNy4gRGV6IDIwMDksIDExOjE2OjMwKToKfiMhIHJuPU1lc2lyaWkgcnQ9MTI2MDA4NTM4OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjYwMDg1Mzg4CiJNZWludGVuIFNpZTogd3d3LmVsYmVud2FsZC5kZSA/IgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFphdWJlcnN0YWItV2VpaG5hY2h0c2dlc2NoZW5rIChNZXNpcmlpLCAgNy4gRGV6IDIwMDksIDIxOjAxOjIzKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTI2MDE4MDk5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjYwMDg1Mzg4CkphLCBzb3JyeSA6KSB3YXIgZXR3YXMgaW4gRWlsZSAtIGRpZSBoYWJlbiBtaXIgamV0enQgbmUgbmV0dGUKSGFlbmRsZXJwcmVpc2xpc3RlIGdlZ2ViZW4gKmZyZXUqCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmFocnVuZ2VuIG1pdCBUaWNrZXRzeXN0ZW1lbiAoaW5zYi4gb3Rycy5jb20pPyAoWm9vaywgIDEuIEFwciAyMDEwLCAxMjoyNToyMyk6CkhpLCBoYXQgamVtYW5kIHZvbiBFdWNoIEVyZmFocnVuZ2VuIG1pdCBPcGVuU291cmNlIFRpY2tldHN5c3RlbWVuLAppbnNiLiBtaXQgT1RSUyB1bmQga2FubiBkYXp1IHdhcyBiZXJpY2h0ZW4/IEd1dCwgc2NobGVjaHQsIHNpbm52b2xsCmRhZW1saWNoIG9kZXIgc293YXM/IFRoeCBhIGxvdC4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcmZhaHJ1bmdlbiBtaXQgVGlja2V0c3lzdGVtZW4gKGluc2IuIG90cnMuY29tKT8gKEppbWRpZ3JpeiwgIDEuIEFwciAyMDEwLCAxODo0ODo1Nyk6Cn4jISBybj1ab29rIHJ0PTEyNzAxMTc1MjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI3MDExNzUyMwpXaXIgaGFiZW4gZGFzIGltIEVpbnNhdHouIEVzIHNjaGVpbnQgdm9tIEZ1bmt0aW9uc3VtZmFuZwpnYW56IG9rIHp1IHNlaW4uIFZvbiBkZXIgRXJnb25vbWlrIGJpbiBpY2ggbmljaHQgc28gYmVnZWlzdGVydCwKYWJlciBkYXMgbWFnIGF1Y2ggZGFyYW4gbGllZ2VuLCBkYXNzIGRpZSBiaXNoZXJpZ2UgS29uZmlndXJhdGlvbgpuaWNodCBnZXJhZGUgdm9uIGtvbXB0ZXRlbnRlbiBQZXJzb25lbiBhdWZnZXNldHp0IHd1cmRlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBIaWxmZSBtaXQgc291bmQgYmVpIG9wZW5zdXNlIDExLjIgKE9ya3RvZXRlciwgIDIuIERleiAyMDEwLCAyMjoxNTowMCk6CkhhbGxvIQoKRGVyIFNvdW5kIGxpZWYgdW5kIGF1Y2ggZGFzIE1pa3JvIHd1cmRlIG9yZGVudGxpY2ggZXJrYW5udCAoU2t5cGUgbGllZiB6LkIuKS4KRGFubiBoYWJlIGljaCB2ZXJzdWNodCwgZGVuIDUuMS1Tb3VuZCBkZXMgTW90aGVyYm9hcmRzIHp1IHN0YXJ0ZW4gdW5kIGhhYmUKZGFiZWkgaW0gS01peCB2ZXJzY2hpZWRlbnN0ZSBTYWNoZW4gYXVzcHJvYmllcnQuCgpBbHMgRXJnZWJuaXMgaGFiZSBpY2ggbnVuIG5pY2h0IG51ciBrZWluZW4gNS4xLXNvdW5kLCBzb25kZXJuIGF1Y2gga2VpbgpNaWtyb2Zvbi4KCldlciB3ZWlzLCB3aWUgaWNoIGRhcyBFcmdiZW5pcyB2ZXJiZXNzZXJuIGthbm4sIGJ6dy4gd28gaWNoIEluZm9zIGRhenUgZmluZGU/CgpBbnR3b3J0ZW4gZ2VybmUgaGllciwgb2RlciBwZXIgbXVkbWFpbC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXTEFOIFBlaW4gdW50ZXIgTG9zaXggKEppbWRpZ3JpeiwgMTIuIERleiAyMDEwLCAyMDo1OTowNyk6Ck1vaW4sCmhhYmUgenVtIEdsb3R6ZW4gZWluZW4gU2h1dHRsZVBDIChsdWVmdGVybG9zKSBtaXQgS2FwdXR0dS0xMC4xMCB1bmQgWEJNQy4KQWxsZXMgZ2VodCBlaWdlbnRsaWNoIHN1cGVyIHd1bmRlcmJhciwgYmlzIGF1ZiBkYXMgRHJlY2tzLVdMQU4uCgpEYXMgRGluZyBoYXQgZWluZSBpbnRlcm5lIFdMQU4gS2FydGUgKE1pbmlQQ0lFeHByZXNzIHNsb3Qgb2RlciBzbyl1bmQgendhcgpzbyBlaW4gUmVhbFRlay1TY2hyb3R0IChydGw4MTkyKSBvZGVyIHNvLiBEYW1pdCBnaW5nIGVyc3RtYWwgZ2FyIG5peC4KRGVyIExvc2l4LWVpZ2VuZSBSVEwtVHJlaWJlciBoYXQgZGFzIERpbmcgendhciBlcmthbm50LCBhYmVyIGRlciBrZXJuZWwKaGF0IHN0YWVuZGlnIHNvd2FzIHdpZSBwb3dlci1vbi1wb3dlci1vZmYgaW5zIGxvZyBnZWJsYXNlbiBhbGxlIDIgc2VrdW5kZW4KdW5kIG5hdHVlcmxpY2ggZ2luZyBuaXggdWViZXJzIE5ldHosIGFsc28gc3RhZW5kaWcgZGlzY29ubmVjdGVkIHVzdy4KCk9rLiBWZXJzdWNoIDIuIE1pdCBVU0IgU3RpY2sgTmV0Z2VhciBXTkEzMTAwICh2MyBvZGVyIHNvLCBtaXQgQnJvYWRjb20KY2hpcHNhdHopLgpJY2ggaGFiIE5ldGdlYXIgZ2VrYXVmdCwgd2VpbCBtZWluIFJvdXRlciBOZXRnZWFyIGlzdC4gSW4gZGVyIGlycmlnZW4gSG9mZm51bmcKZGFzIHd1ZXJkZSB2aWVsbGVpY2h0IHdhcyBoZWxmZW4uCk51bmphLiBOYWNoIDItMyBUYWdlbiB2aWVsIHJ1bXByb2JpZXJlbnMgaGF0cyBkYW5uIHBlciBuZGlzd3JhcHBlciB1bmQgV2luWFAKVHJlaWJlciBnZWtsYXBwdC4gCkRhcyBnaW5nIGRhbm4gZ2FueiBvayBmdWVyIGVpbmlnZSBXb2NoZW4sIGJpcyBoZXV0ZS4gRXMgaGF0IHNvZ2FyIGRlbgpLZXJuZWx1cGRhdGUgdm9tIFR1bnR1bnR1IHVlYmVybGVidCwgZGVyIHdhciBjYSAzIFRhZ2Ugdm9yaGVyLgoKSGV1dGUgaGFiZSBpY2ggbmVuIG5ldWVybiBXTEFOIFJvdXRlciBhdWZnZXN0ZWxsdC4gU3RhdHQgV05SMzUwMHYxIG51bgpXTlIzNzAwLgpEaWUgc2luZCBzaWNoIHppZW1saWNoIGFlaG5saWNoLiBBbHNvIGFsbGVzIGdsZWljaCBrb25maWd1cmllcnQgYWxsZSBkZXZpY2VzCmNvbm5lY3RlbiBhdWNoIHNjaG9lbiwgbnVyIGRhcyBTY2hsdW1wZnVtcGZ1LUxvc2l4IG5pY2h0LiAKSGFiIGRlbiBnYW56ZW4gVGFnIHJ1bXByb3BpZXJ0IHVuZCBrZWluZSBDaGFuY2UuIEVzIGdpYnQgaW1tZXIgdGltZW91dHMKYmVpbSBhc3NvemlpZXJlbiBuYWNoIGRlciBBdXRoZW50aWZpemllcnVuZyBhYmVyIGdlaHQgYXVjaCBuaWNodCBnYW56IApvaG5lIEVuY3J5cHRpb24gdW5kIG9obmUgTWFjRmlsdGVyLiBBbnl3YXkuCgpJY2ggd3VlcmRlIG5vY2htYWwgbmVuIGFuZGVyZW4gVVNCLVdMQU4gc3RpY2sgZ2VybmUgdGVzdGVuIHVuZCBoaWVyCmViZW4gZGllIEZyYWdlLgoKS2VubnQgd2VyIGVpbiBQcm9kdWt0IHdhcyBiZWkgRXVjaCBpZGVhbGVyd2Vpc2UgZnVua3Rpb25pZXJ0Pz8/CgpBbHNvIGVzIHNvbGx0ZSBBL0IvRy9OIHVuZCBEdWFsQmFuZCAoMi40R2h6ICsgNSBHaHopIGtvZW5uZW4sClVTQiBzZWluICh6dXIgTm90IGFiZXIgYXVjaCBNaW5pUENJRXhwcmVzcykgdW5kIGViZW4gcHJvYmxlbWxvcwpvaG5lIHZpZWwgR2Vmcmlja2VsIHVudGVyIEJsdW10dW1wZnUtMTAuMTAtTG9zaXggbGF1ZmVuLgoKTWVyY2ksCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVyZmFocnVuZ2VuIG1pdCAiUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbiJzPyAoWm9vaywgMTUuIERleiAyMDEwLCAxNDoxNzoyNSk6CkhvaSwgaGF0IGplbWFuZCB2b24gRXVjaCBFcmZhaHJ1bmdlbiBtaXQgc28gU2FjaGVuIHdpZSAKRG9qbywgRXh0MiwgZGllc2VzIFlhaG9vIEtpdCwgUW9veGRvbyBvLmFlLiBnZXNhbW1lbHQ/IFdlbm4gamEsCndlbGNoZT8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyZmFocnVuZ2VuIG1pdCAiUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbiJzPyAoWm9vaywgMTUuIERleiAyMDEwLCAxNDoyODowNyk6Cn4jISBybj1ab29rIHJ0PTEyOTI0MTkwNDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQxOTA0NQpFeHRKUyBtZWluIGljaC4KWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGYgdW5kIHVtbGF1dGUgKFpvb2ssIDE1LiBEZXogMjAxMCwgMTU6MDk6MzApOgpnaWJ0IGVzIGVpZ2VudGxpY2ggbmUgbW9lZ2xpY2hrZWl0IG1pdCBkZW0gbWcsIGRhc3MgaWNoIHVtbGF1dGUgaW4gbmVuIAp0ZiBoaW5laW5nZWJlIHVuZCBkYXMgcGFzc2VuZCBoaWVyIGltIG1nIGFua29tbXQgYWxzICJhZSIgc3RhdHQgZGVtIHVtbGF1dAp1bmQgc28/IAoKaGFiZSBsaW51eC4KCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZiB1bmQgdW1sYXV0ZSAoVmFyZGlvbiwgMjIuIERleiAyMDEwLCAxODoxNzozNyk6Cn4jISBybj1ab29rIHJ0PTEyOTI0MjIxNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MApKYSwgZGFzIGdlaHQgbWl0IEtleWJpbmRpbmdzLiBCZWlzcGllbCAvZGVmIC1iIioiIGJpbmRfc3RhciA9IC9pbnB1dCBTdGVybgpEYW1pdCBrYW5uIG1hbiBiZWxpZWJpZ2UgVGFzdGVuZHJ1ZWNrZSBkdXJjaCBiZWxpZWJpZ2UgU3RyaW5ncyBlcnNldHplbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdGYgdW5kIHVtbGF1dGUgKFpvb2ssIDIzLiBEZXogMjAxMCwgMDg6MTE6MTMpOgp+IyEgcm49VmFyZGlvbiBydD0xMjkzMDM4MjU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTI0MjIxNzAKQWguIFByaW1hLiBNYWwgYXVzcHJvYmllcmVuIQpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB0ZiB1bmQgdW1sYXV0ZSAoWm9vaywgMjMuIERleiAyMDEwLCAwODoxMTo0OSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyOTMwMzgyNTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MApHbmEsIGlyZ2VuZHdpZSBrYW5uIGljaCBnYXIga2VpbmVuIFVtbGF1dCBpbSB0ZiBlaW5nZWJlbiAuLi4gCiprcmF0eiBhbSBLb3BmKiBNdXNzIG1hbiBkYSBub2NoIGlyZ2VuZHdhcyBlaW5zdGVsbGVuPyBaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB0ZiB1bmQgdW1sYXV0ZSAoR2xvaW5zb24sIDIzLiBEZXogMjAxMCwgMDk6MTI6MzcpOgp+IyEgcm49Wm9vayBydD0xMjkzMDg4MzA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTI0MjIxNzAKVEVSTSByaWNodGlnIGVpbnN0ZWxsZW4/IHRmIHVuZCBzaGVsbCBhdWYgVWVtbGFldXRlIHZvcmJlcmVpdGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHRmIHVuZCB1bWxhdXRlIChab29rLCAyMy4gRGV6IDIwMTAsIDEwOjAwOjQ2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyOTMwOTE5NTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MAp3aWUgYmVyZWl0ZSBpY2ggInRmIiBhdWYgdW1sYXV0ZSB2b3I/IGljaCBnbGF1YiwgZGEgaGFrdCAKbWVpbiB0Zi4KegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogdGYgdW5kIHVtbGF1dGUgKFplc3N0cmEsIDIzLiBEZXogMjAxMCwgMTA6NDM6MDIpOgp+IyEgcm49Wm9vayBydD0xMjkzMDk0ODQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTI0MjIxNzAKU2NocmVpYiBEaXIgZGllc2UgL2RlZiBkb2NoIG1hbCBpbiBlaW5lIERhdGVpLCBkaWUgRHUgbWl0IC9sb2FkIGxhZWRzdC4gRGFubgptdXNzIG51ciBEZWluIEVkaXRvciBkZXIgV2FobCBtaXQgVW1sYXV0ZW4ga2xhcmtvbW1lbiwgd2FzIGljaCBtYWwKdm9ycmF1c3NldHplLiA7LSkKQWxsZXJkaW5ncyB2ZXJtdXRlIGljaCwgZGFzcyBEdSBpbiBkYXMgUHJvYmxlbSBsYXVmZW4gd2lyc3QsIGRhc3MgVW1sYXV0ZSBpbgp2ZXJzY2hpZWRlbmVuIEVuY29kaW5ncyBrb21tZW4ga29lbm5lbi4gRHUgbWFnc3QgZGFubiBkZW4gVW1sYXV0IGluIGlzbzg4NTktMTUKZXJzZXR6ZW4sIGFiZXIgbmljaHQgZGVuIGluIFVURjguIEQuaC4gRHUgbXVlc3N0ZXN0IGZ1ZXIgZWluZW4gVW1sYXV0IGV2dGwuCnZlcnNjaGllZGVuZSAvZGVmIGJhc3RlbG4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB0ZiB1bmQgdW1sYXV0ZSAoWm9vaywgMjMuIERleiAyMDEwLCAxMDo0ODozMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyOTMwOTczODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MApIbS4gR3V0ZXIgVGlwLCBkYXJhdXMgd3VyZGUgbnVuIGVpbiAKL2RlZiAtYidcXDB4ZmZmZmZmZTQnIGJpbmRfYWUgPSAvaW5wdXQgYWUKU28gcmVjaHQgdHV0IGVzIGFiZXIgbm9jaCBuaWNodC4gR25hcmdzZWwuIApaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB0ZiB1bmQgdW1sYXV0ZSAoWmVzc3RyYSwgMjMuIERleiAyMDEwLCAxMTowNTozNyk6Cn4jISBybj1ab29rIHJ0PTEyOTMwOTc3MTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MApJY2gga29lbm50ZSBtaXIgYXVjaCB2b3JzdGVsbGVuLCBkYXNzIG5lbiBhZWx0ZXJlcyBURiBQcm9ibGVtZSBtaXQgVVRGOCBoYXQKdW5kIE11bHRpYnl0ZS1DaGFycyBuaWNodCByaWNodGlnIG1hdGNodC4KQWJlciAweGZmZmZmZmU0IGtvbW10IG1pciBhdWNoIG1lcmt3dWVyZGlnIHZvci4gV2VsY2hlcyBFbmNvZGluZyB3YWVyIGRhcz8KVVRGLTggaGF0IGRlbiBhLXVtbGF1dCBhbHMgQzMgQTQuCkJUVzogaHR0cDovL3d3dy5sdGcuZWQuYWMudWsvfnJpY2hhcmQvdXRmLTguY2dpP2lucHV0PSVFNCZtb2RlPWNoYXIKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHRmIHVuZCB1bWxhdXRlIChab29rLCAyMy4gRGV6IDIwMTAsIDE1OjQ3OjUwKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI5MzA5ODczNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjkyNDIyMTcwCmFoLiBndXRlciB0aXA7IGljaCBoYWJlIDQuMCBzdGFibGUgMSAuLi4gdmxsLiBpc3QgZGFzIHp1IGFsdC4KegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogdGYgdW5kIHVtbGF1dGUgKFJ1bWF0YSwgMjMuIERleiAyMDEwLCAxODowMzowNSk6Cn4jISBybj1ab29rIHJ0PTEyOTMxMTU2NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTI5MjQyMjE3MApEYXMgJmF1bWw7IGlzdCBpbiBVbmljb2RlIGVpbiAwMGU0LCB3ZW5uIGRhcyBURiBkZW4gY2hhciBhbHMgYnl0ZQppbnRlcnByZXRpZXJ0IHVuZCBpbiBzaG9ydCB1bXdhbmRlbHQsIGtvbW10IGRhIGhhbHQgZmZmZmZmZTQgcmF1cy4gVVRGLTggaGF0CmRhIG5peCBtaXQgenUgdHVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHRmIHVuZCB1bWxhdXRlIChWYXJkaW9uLCAyOC4gRGV6IDIwMTAsIDE5OjEwOjMzKToKfiMhIHJuPVJ1bWF0YSBydD0xMjkzMTIzNzg1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTI0MjIxNzAKVEY0IGtvbW10IGdydW5kc2FldHpsaWNoIHNjaGxlY2h0IG1pdCBVbmljb2RlIGtsYXIuIER1IHZlcm1laWRlc3QgdmVybXV0bGljaAp2aWVsIEFlcmdlciwgd2VubiBEdSBkYXMgVEYtWHRlcm0gYXVmIExhdGluMSBvZGVyIDkgbGF1ZmVuIGxhZXNzdC4gT2IgZWluClplaWNoZW4gdWViZXJoYXVwdCBpbSBURiBhbmtvbW10LCBiZXN0aW1tZW4gVEVSTSwgTG9jYWxlIHVuZCBzaWNoZXIgbm9jaCBlaW4KcGFhciB3ZWl0ZXJlIEZha3RvcmVuLiBJbiBlaW5lbSByZWd1bGFlcmVuIFh0ZXJtIChrZWluIEtERS1UZXJtL3dhc2F1Y2hpbW1lcikKbGFlZnQgVEYgYWJlciB6aWVtbGljaCBndXQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcnVlY3J5cHQgKFpvb2ssIDI4LiBGZWIgMjAxMSwgMTg6NTU6MjMpOgpHaWJ0IGVzIGVpZ2VudGxpY2ggaXJnZW5kd28gbmUgQW5sZWl0dW5nLCB3aWUgaWNoIGluIG5lbSAKTXVsdGktQm9vdC1TemVuYXJpbyAoTGludXgrV2luNykgZGllc2Uga29tcGxldHRlIEZlc3RwbGF0dGV2ZXJzY2hsdWVzc2xuLQpGdW5rdGlvbiB2b24gVHJ1ZWNyeXB0IGVpbnNldHplbiBrYW5uPyBEaWVzZXMgSW5zdGFsbGF0aW9ucy0KUHJvZ3JhbW0gbWFnIGRhcyBTZXR0aW5nIHdvaGwgbmljaHQgdW5kIGljaCBoYWIgZ3JhZCBrZWluZW4gUGxhbiwgd2llIGljaApkYXMgYW0gYmVzdGVuIHVtc2V0emUuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3R1bm5lbCAvIHRmIChab29rLCAgMS4gTWFyIDIwMTEsIDA4OjQ1OjQ5KToKSG0uIEljaCBoYWJlIGhpZXIgYXVmIGVpbmVtIG5ldWVuIFVidW50dSAxMC4wNCBzdHVubmVsIHVuZCB0ZgppbnN0YWxsaWVydC4gV2VubiBpY2ggYXVmIGRlciBLb25zb2xlICJ0ZWxuZXQgbG9jYWxob3N0IDEyMzQiIAplaW5nZWJlLCBrb21tZSBpY2ggYmVxdWVtIGlucyBNdWQgdW5kIGhhYmUgYXVjaCBlaW5lIFNTTC0KVmVyYmluZHVuZy4gCgpOdXIgd2VubiBpY2ggZGFzIHZpYSAvY29ubmVjdCBsb2NhbGhvc3QgMTIzNAphdXMgZGVtIHRmIG1hY2hlLCBkYW5uIGZ1bnp0IGRhcyBpcmdlbmR3aWUgbmljaHQsIHVuZCBkZXIgc3R1bm5lbApnaWJ0IGFuLCBkYXNzIGRhcyB0ZiBuaWNodCB2b24gbG9jYWxob3N0LCBzb25kZXJuIHZvbiBkZXIgSVAKZGVzIE5ldHp3ZXJrZGV2aWNlcyBnZWtvbW1lbiB3YWVyZS4KCklyZ2VuZG5lbiBUaXA/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN0dW5uZWwgLyB0ZiAoUnVtYXRhLCAgMS4gTWFyIDIwMTEsIDA5OjEzOjM5KToKfiMhIHJuPVpvb2sgcnQ9MTI5ODk2NTU0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjk4OTY1NTQ5Ckthbm4gZGFzIGlyZ2VuZGVpbmUgaXB2NCB2cy4gaXB2NiBnZXNjaGljaHRlIHNlaW4/ClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHN0dW5uZWwgLyB0ZiAoWm9vaywgIDEuIE1hciAyMDExLCAwOToxNDozNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTI5ODk2NzIxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMjk4OTY1NTQ5CkphLCBpY2ggdmVybXV0ZSBkYXM7IGlyZ2VuZHdvIHN0ZWh0IG5hZW1saWNoICJmcm9tIDo6MSIgLi4uIAoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc3R1bm5lbCAvIHRmIChSdW1hdGEsICAxLiBNYXIgMjAxMSwgMDk6MTY6MjMpOgp+IyEgcm49Wm9vayBydD0xMjk4OTY3Mjc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTg5NjU1NDkKRGFubiB0cmFnIGRvY2ggbWFsIGluIGRlaW5lIEhvc3RzIDEyNy4wLjAuMSBsb2NhbGhvc3QuaXB2NCBlaW4gdW5kIGNvbm5lY3RlCmRhcnVlYmVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc3R1bm5lbCAvIHRmIChab29rLCAgMS4gTWFyIDIwMTEsIDA5OjE4OjQxKToKfiMhIHJuPVJ1bWF0YSBydD0xMjk4OTY3MzgzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEyOTg5NjU1NDkKV3VuZGVycnVtYXRhISBQcm9ibGVtIGdlbG9lc3QhClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVYnVudHUgT25lPyAoWm9vaywgMjcuIE1hciAyMDExLCAxMTo1NTowNCk6CkhhdCBqZW1hbmQgdm9uIEV1Y2ggZGllc2VzIFVidW50dSBPbmUgc2Nob24gbWFsIGJlbnV0enQgb2RlciAKaGF0IGVpbmUgTWVpbnVuZyBkYXp1LCB3YXMgZGFzIHRhdWd0L25pY2h0IHRhdWd0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVYnVudHUgT25lPyAoQ2hhZ2FsbCwgMjcuIE1hciAyMDExLCAxMTo1OToyNCk6Cn4jISBybj1ab29rIHJ0PTEzMDEyMTk3MDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMwMTIxOTcwNApKYSwgaWNoIGhhYiBkYXMgZ2VudXR6dCB1bSBtZWluZSBNdWQtVG9kb2xpc3RlbiBwZXIgVG9tYm95IHp1IHZlcndhbHRlbiB1bmQKZGllc2UgYXVmIHVudGVyc2NoaWVkbGljaGVuIFJlY2huZXJuIHp1IHN5bmNocm9uaXNpZXJlbi4gRnVua3Rpb25pZXJ0LCBpc3QKYWJlciBldHdhcyB1bXN0YWVuZGxpY2guCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVYnVudHUgT25lPyAoSHVtbmksIDI3LiBNYXIgMjAxMSwgMTE6NTk6NDUpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMzAxMjE5OTY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMDEyMTk3MDQKWnVtIHN5bmNocm9uaXNpZXJlbiBnaWJ0IGVzIGRvY2ggZ2l0PwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvc3RlciAgKFpvb2ssICAxLiBBcHIgMjAxMSwgMTU6NTg6NTcpOgpIb2khIEljaCBoYWJlIGphIHp3aXNjaGVuemVpdGxpY2ggZGVuIFVlYmVyYmxpY2sgdmVybG9yZW4uIEFiZXIgYmVpIHdlbQp3dWVyZGV0IElociAob2RlciBtYWNodCBJaHIpIGVpbmVuIExpbnV4LVNlcnZlciBmdWVyIG5lIEdlc2NoYWVmdHMtCmFud2VuZHVuZyBob3N0ZW4gbGFzc2VuPyBEYXJmIHZpcnR1ZWxsIHNlaW4sIGRhcmYgYWJlciBhdWNoIHBoeXNpa2FsaXNjaApzZWluLiBJcmdlbmR3aWUgc2NodWV0dGVuIG1pY2ggYWxsZSBtaXQgQW5nZWJvdGVuIHp1IHVuZCBpY2ggd2Vpc3MgbmljaHQKc28gcmVjaHQsIHdlbSBpY2ggZ2xhdWJlbiBkYXJmLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb3N0ZXIgIChaZXNzdHJhLCAgMS4gQXByIDIwMTEsIDE2OjAyOjIxKToKfiMhIHJuPVpvb2sgcnQ9MTMwMTY2NjMzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzAxNjY2MzM3Ck1obW1tLCBhbHNvLCBpY2ggdmVyd2VuZGUgcHJpdmF0IHp1ciBaZWl0IFN0cmF0by4gRGFzIGxhZXVmdCBhbiBzaWNoIGF1Y2ggc2VpdAozIEphaHJlbiBvZGVyIHNvIHppZW1saWNoIGd1dC4gQWJlciB3aWUgZ2VzYWd0LCBiZWkgbWlyIGlzdHMgbnVyIHByaXZhdGUKJ1NwaWVsZXJlaScgdW5kIHRlaWx3ZWlzZSBLcmFtcyBmdWVyIExETXVkIChCdWd0cmFja2VyKS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9zdGVyICAoQW1hcnlsbGlzLCAgMS4gQXByIDIwMTEsIDIwOjI2OjIzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTMwMTY2NjU0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzAxNjY2MzM3Ck1laW5lIEtpc3RlIHN0ZWh0IGJlaSBzZXJ2ZXI0eW91LmRlLiA0MCBUYWNrZW4gZnVlciBlaW5lIHBoeXNpa2FsaXNjaGUKTWFzY2hpbmUgcHJvIE1vbmF0LiBiaXNoZXIga2F1bSBwcm9kdWt0aXYsIGFiZXIgaW1obyBzdGFiaWwgdW5kIGd1dGVyIFNlcnZpY2UKKEFua3VlbmRpZ3VuZ2VuIHZvbiBTZXJ2aWNlYXJiZWl0ZW4gZXRjLikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb3N0ZXIgIChHd2VuLCAgOS4gQXByIDIwMTEsIDE2OjU2OjM4KToKfiMhIHJuPVpvb2sgcnQ9MTMwMTY2NjMzNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzAxNjY2MzM3CkhldHpuZXIuCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhvc3RlciAgKE1lc2lyaWksIDEyLiBBcHIgMjAxMSwgMTA6MTA6MzQpOgp+IyEgcm49R3dlbiBydD0xMzAyMzYwOTk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMDE2NjYzMzcKKzEgZnVlciBoZXR6bmVyCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlYmlhbiB2cy4gVWJ1bnR1IChNaXJha2EsIDI1LiBPa3QgMjAxMSwgMTY6Mzk6MDUpOgpLYW5uIG1pciBlaW5lciBzYWdlbiwgd2llIHNpY2ggZGllIGJlaWRlbiBEaXN0cmlzIHRlY2huaXNjaCB1bnRlcnNjaGVpZGVuCih3ZW5uIHVlYmVyaGF1cHQpLCB3YXMgbWFuIHNvIGxpZXN0LCBiYXV0IFVidW50dSBqYSBhdWYgRGViaWFuIGF1ZiwgYmVkZXV0ZXQKZGFzLCBkYXNzIEZpeGVzIHVuZCBVcGRhdGVzIGRpZSBnbGVpY2hlbiBzaW5kIHVuZCBkZXIgVW50ZXJzY2hpZWQgbWVociBpbQpCZXJlaWNoIGRlciB1bnRlcnN0dWV0enRlbiBIYXJkd2FyZSBsaWVndD8gTS5hLlcuIHdhZXJlIGVpbmUgZml4ZSBIVyBVbWdlYnVuZywKZGllIGluIGRlciBlaW5lbiBEaXN0cmlidXRpb24gbGFldWZ0IHVuZCBzdXBwb3J0ZWQgaXN0LCBzaWUgYXVjaCBpbiBkZXIKYW5kZXJlbiB1bnRlciBkZXIgYW5kZXJlbiB1bnRlcnN0dWV0enQ/IE9kZXIgbXVzcyBtYW4gZGEgZ2VuYXUgaGluc2NoYXVlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZWJpYW4gdnMuIFVidW50dSAoUnVtYXRhLCAyNS4gT2t0IDIwMTEsIDE2OjU0OjA2KToKfiMhIHJuPU1pcmFrYSBydD0xMzE5NTUzNTQ1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMTk1NTM1NDUKRGVyIEhhdXB0dW50ZXJzY2hpZWQgaXN0LCBkYXNzIFVidW50dSBhdWNoIFBha2V0ZSBpbSBSZXBvIGhhdCwgZGllIGNsb3NlZApzb3VyY2UgKG9kZXIgYW5kZXJ3ZWl0aWcgImJvZXNlIikgc2luZC4KCkF1c3NlcmRlbSBiYXV0IFVidW50dSBtaXR0bGVyd2VpbGUgc28gZWluaWdlcyBhbiBlaWdlbmVuIFBha2V0ZW4gKHdpZQp6QiB1bml0eSkuCgpBdXNzZXJkZW0gaGF0IFVidW50dSBvZnQgbmV1ZSBWZXJzaW9uZW4gZGVyIFBha2V0ZSwgd2FlcmVuZCBEZWJpYW4gbm9jaApsYWVuZ2VyIGJlaSBkZW4gYWx0ZW4sIGJ1Z2ZyZWllcmVuIFBha2V0ZW4gYmxlaWJ0LgoKQWxzIEZhdXN0cmVnZWwga2FubiBtYW4gendhciBzYWdlbiwgZGFzcyBhbGxlcywgd2FzIHVudGVyIERlYmlhbiBsYWV1ZnQsCmF1Y2ggdW50ZXIgVWJ1bnR1IGdlaHQsIGFiZXIgdW1nZWtlaHJ0IGlzdCBkYXMgYmVpIHZvciBhbGxlbSBiZWkgbmV1ZXJlcgpIYXJkd2FyZSBmcmFnbGljaC4KCkFtIGdyb2Vzc3RlbiBzaW5kIGRpZSBVbnRlcnNjaGllZGUgYmVpIE11bHRpbWVkaWFhbndlbmR1bmdlbi4KM0QgSFcgQmVzY2hsZXVuaWd1bmcsIFZpZGVvIGNvZGVjcyB1bmQgc29uIFpldWNoLgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN1cGVybWVjaGFuaWNhbD8gKFJ1bWF0YSwgMjcuIEphbiAyMDEyLCAxNToxNTo0MSk6CkhpLAoKaWNoIGhhYmUgZGllc2UgU2VpdGUgaGllciBnZWZ1bmRlbjoKaHR0cDovL3d3dy5raWNrc3RhcnRlci5jb20vcHJvamVjdHMvc3VwZXJtZWNoYW5pY2FsL3R3aW5lLWxpc3Rlbi10by15b3VyLXdvcmxkCi10YWxrLXRvLXRoZS1pbnRlcm5ldAoKaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vY3lhZW05cwoKRGFzIGRpbmcgc2llaHQgamEgc2VociBpbnRlcmVzc2FudCBhdXMsIGFiZXIgaWNoIHdlaXNzIG5pY2h0IHNvIHJlY2h0LApvYiBpY2ggZGEgYXVmIFZlcmRhY2h0IGVpbmZhY2ggd2FzIGJlc3RlbGxlbiBzb2xsLiBIYXQgamVtYW5kIGVyZmFocnVuZwptaXQgc29sY2hlbiBLaWNrc3RhcnRlci1HZXNjaGljaHRlbiwgdW5kIGthbm4gc2FnZW4sIHdpZSBtYW4gZGEgZGFzClJpc2lrbyBlaW5zY2hhZXR6ZW4gc29sbHRlPwoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vbml0b3JpbmctV2Vya3pldWdlIChab29rLCAzMC4gTWFyIDIwMTIsIDEyOjQ5OjAzKToKRG9vZmUgRnJhZ2U6IFdhcyBzZXR6dCBJaHIgZGEgc28gZWluPyBJbW1lciBub2NoIE5hZ2lvcyBvZGVyIGhhdCBtYW4KZGF2b24gc2Nob24gQWJzdGFuZCBnZW5vbW1lbj8gQmluIGFtIHVlYmVybGVnZW4sIHdpZSBpY2ggbWVpbmUgCkxpbnV4IFNlcnZpY2VzIGltIEF1Z2UgYmVoYWx0ZW4gbWFnLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG5lbGxlcyBLb3BpZXJlbiB1bnRlciBXaW5kb29mIChBbWFyeWxsaXMsICA4LiBBcHIgMjAxMiwgMjI6MDg6MzIpOgpIaSwKCndlciB3aWUgaWNoIG1hbCBncm9zc2UgRGF0ZW5tZW5nZW4gdW50ZXIgV2luZG93cyBoaW4tIHVuZCBoZXJzY2hhdWZlbG4gbXVzcywKa29lbm50ZSBzaWNoIG1hbCBUZXJhQ29weSBhbnNjaGF1ZW4uCgpJc3QgZnJlaSwgdm9uIGVpbmVtIE1TLU1pdGFyYmVpdGVyIGVudHdpY2tlbHQgKHNvIHdhciB6dW1pbmRlc3QgYXVmIGVpbmVyClNlaXRlIHp1IGxlc2VuKSwgdW5kIGtvcGllcnQgd2lya2xpY2ggZGV1dGxpY2ggc2NobmVsbGVyIGFscyBkaWUKaGVya29lbW1saWNoZW4gYmVrYW5udGVuIE1pdHRlbC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2huZWxsZXMgS29waWVyZW4gdW50ZXIgV2luZG9vZiAoR2xvaW5zb24sICA5LiBBcHIgMjAxMiwgMjE6MTU6NTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEzMzM5MTU3MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzMzkxNTcxMgo+IC4uLiBjb21tb24gY29tcGxhaW50cyBhYm91dCBuZXdlciB2ZXJzaW9ucyBvZiBXaW5kb3dzIGlzIHRoZSBzbG93IGNvcHlpbmcKPiBzcGVlZCBlc3BlY2lhbGx5IHdoZW4gdHJhbnNmZXJyaW5nIGxvdHMgb2YgZmlsZXMgb3ZlciB0aGUgbmV0d29yawoKV2VubiBlaW5lciBkZXIgYmVpZGVuIFJlY2huZXIgbmljaHQgdW5iZWRpbmd0IHNjaG5lbGwgaXN0IGJ6dyBkdXJjaCBhbmRlcmVuCktyYW0gYXVzZ2VsYXN0ZXQsIHNvbGx0ZSBtYW4gbWFuIFJlbW90ZSBEaWZmZXJlbnRpYWwgQ29tcHJlc3Npb24gYWJzY2hhbHRlbi4KRGFubiB3aXJkIG5hZW1saWNoIG5pY2h0IGVyc3QgZXdpZyBhbiBIYXNoZXMgYmVpbSBLb3BpZXJlbiB1bmQgTG9lc2NoZW4gKCEpCmhlcnVtZ2VyZWNobmV0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJvb2ttYXJrIE1hbmFnZXIgZnVlciBGaXJlZm94IChBbWFyeWxsaXMsICAxLiBNYWkgMjAxMiwgMDE6MTQ6MTUpOgpIaSwKCmljaCBudXR6ZSBGaXJlZm94IDEyIHVudGVyIFdpbjcgNjRCaXQuCkluIGFlbHRlcmVuIEZGLVZlcnNpb25lbiBrb25udGUgbWFuIG1pdHRlbHMgIkN0cmwtU2hpZnQtQiIgZWluZW4gTWFuYWdlcgphdWZydWZlbiwgYmVpIGRlbSBtYW4gdS5hLiBCb29rbWFya3MgbWl0dGVscyBEcmFnJkRyb3AgaW4gYW5kZXJlIE9yZG5lcgp2ZXJzY2hpZWJlbiBrb25udGUuIEJlaSBtaXIgdHV0cyBkYXMgaW4gRkYxMiBudW4gbmljaHQgbWVoci4KCkhhdCBqZW1hbmQgbmVuIFRpcCBmdWVyIGVpbmVuIGd1dGVuIEJvb2ttYXJrLU1hbmFnZXIsIG1pdCBkZW0gbWFuIHp1bWluZGVzdApPcmRuZXJzdHJ1a3R1cmVuIHBmbGVnZW4gdW5kIEJvb2ttYXJrcyBsZWljaHQgcGVyIERyYWcmRHJvcCB2ZXJzY2hpZWJlbiBrYW5uPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJvb2ttYXJrIE1hbmFnZXIgZnVlciBGaXJlZm94IChHd2VuLCAgMS4gTWFpIDIwMTIsIDIyOjM4OjM2KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzM1ODI3NjU1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzU4Mjc2NTUKQmVpIGRlciBOaWdodGx5IHR1dCBlcyBiZWkgbWlyLgpWaWVsbGVpY2h0IGVpbmZhY2ggbWFsIG1pdCBCdWd6aWxsYSBvZGVyIGltIEZvcnVtIGJlaSBkZW5lbiBhbmZyYWdlbj8KR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQm9va21hcmsgTWFuYWdlciBmdWVyIEZpcmVmb3ggKFpvb2ssICAyLiBNYWkgMjAxMiwgMDk6MTU6MDQpOgp+IyEgcm49R3dlbiBydD0xMzM1OTA0NzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzU4Mjc2NTUKQW5zaWNodC1TaWRlYmFyLUxlc2V6ZWljaGVuPwpEYSBnaWJ0IGVzIGRhcyBiZWkgbWlyIHp1bWluZGVzdC4KWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFja3VwIE9ubGluZSBtaXQgZHVwbGljaXR5L2R1cGxpY2F0aSAoWm9vaywgMzAuIE1haSAyMDEyLCAxMzoxMzo1NCk6CkhhdCBkYXMgc2Nob24gbWFsIGplbWFuZCBiZW51dHp0IHVuZCBrYW5uIHp1ciBlaW5nZXNldHp0ZW4KVGVjaG5payAoaW5zYi4gVmVyc2NobHVlc3NlbHVuZykgaXJnZW5kd2FzIHNhZ2VuPwoKQWxzbyBrYW5uIG1hbiBlcyAiZ2V0cm9zdCIgZWluc2V0emVuIGF1Y2ggZnVlcgpzZW5zaWJsZSBEYXRlbj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFja3VwIE9ubGluZSBtaXQgZHVwbGljaXR5L2R1cGxpY2F0aSAoQW1hcnlsbGlzLCAzMC4gTWFpIDIwMTIsIDIwOjMyOjI3KToKfiMhIHJuPVpvb2sgcnQ9MTMzODM3NjQzNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4Mzc2NDM0ClB1c3RldCBkaWUgU2FjaGVuIGRvY2ggaW4gZGllIFdvbGtlISA7KSAKClNDTlIsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFja3VwIE9ubGluZSBtaXQgZHVwbGljaXR5L2R1cGxpY2F0aSAoWm9vaywgMzEuIE1haSAyMDEyLCAxNDo0MTo1OCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTMzODQwMjc0NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4Mzc2NDM0CkphaGEuLi4uIGRhcyBpc3QgamEgZGllIElkZWUhIDspICpHKgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaTUgdnMgaTcgKEhpZ2hsYW5kZXIsIDMxLiBNYWkgMjAxMiwgMTQ6NDQ6MzgpOgpHaWJ0IGVzIGVpZ2VudGxpY2ggZWluZW4gdmVybnVlbmZ0aWdlbiBHcnVuZCBkYWZ1ZXIsIHN0YXR0IGVpbmVzIGk1IGVpbmVuIGk3Cnp1IG5laG1lbiBmdWVyIGVpbmUgS2lzdGUsIGRpZSBtYW4gc2ljaCB6dWhhdXNlIGhpbnN0ZWxsZW4gd2lsbD8KCk4uQi46IFNjaHdhbnp2ZXJnbGVpY2hzemVuYXJpZW4gc2luZCBrZWluIHZlcm51ZW5mdGlnZXIgR3J1bmQgOikKCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGk1IHZzIGk3IChBbnRoZWEsIDMxLiBNYWkgMjAxMiwgMTQ6NDU6MDQpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMzM4NDY4MjM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyMzUKV2VubiBEdSBWaWRlb2JlYXJiZWl0dW5nIG9kZXIgUmVuZGVyaW5nIG9kZXIgYWVobmxpY2hlcyBtYWNoZW4gd2lsbHN0LCB1bmQgZGFzClByb2dyYW1tIGVjaHRlcyBNdWx0aXRocmVhZGluZyB1bnRlcnN0dWV0enQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaTUgdnMgaTcgKFpvb2ssIDMxLiBNYWkgMjAxMiwgMTQ6NTE6MzcpOgp+IyEgcm49QW50aGVhIHJ0PTEzMzg0NjgzMDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpadW0gTXVkZGVuIHd1ZXJkIHdvaGwgYXVjaCBlaW4gaTUgcmVpY2hlbiwgdmVybXV0ZSBpY2guCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaTUgdnMgaTcgKEFudGhlYSwgMzEuIE1haSAyMDEyLCAxNDo1MjowOCk6Cn4jISBybj1ab29rIHJ0PTEzMzg0Njg2OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpXZW5uIG1hbiBuaWNodCBnZXJhZGUgZWluIGdyYWZpc2NoZXMgTXVkIG5pbW10LCBkYW5uIGF1Y2ggZWluIGkzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBpNSB2cyBpNyAoSGlnaGxhbmRlciwgMzEuIE1haSAyMDEyLCAxNDo1MzozNyk6Cn4jISBybj1ab29rIHJ0PTEzMzg0Njg2OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQondmVybGVnZSBhcnRpa2VsIDYgbmFjaCBzY2htYXJybicKLi4uIGRhbm4gbGFuZGUgaWNoIGJlaSB3aWV2aWVsPyAxMD8gMjA/IFByb3plbnQgbWVociBMZWlzdHVuZyBJSVJDLgpXb2hsZ2VtZXJrdCwgd2VubiBkaWUgU29mdHdhcmUgZXMgdW50ZXJzdHVldHp0LgpLb3N0ZW4gdHV0J3MgZmFzdCA1MCUgbWVociAoMzE1IHN0YXR0IDIxNSBFdXJvIGhhYmUgaWNoIHZvcmhpbiBnZXNlaGVuKS4KQWxzbyBzZWxic3Qgd2VubiBtYW4gZGFzIG1hY2h0LCBuaWNodCBzbyBkaWUgV2VsdCwgb2RlciB3ZWlzcyBkYSBqZW1hbmQKbWVociBkYXp1PwoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBpNSB2cyBpNyAoQW1hcnlsbGlzLCAzMS4gTWFpIDIwMTIsIDE0OjU0OjI4KToKfiMhIHJuPVpvb2sgcnQ9MTMzODQ2ODY5NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4NDY4MjM1CkRpZSBGcmFnZSBpc3QsIG9iIGRpZSBlaW5nZXNldHp0ZSBTb2Z0d2FyZSB1ZWJlcmhhdXB0IGluIGRlciBMYWdlIGlzdCwgbWVocmVyZQpDb3JlcyB6dSB1bnRlcnN0dWV0emVuIHVuZCBkYW1pdCBkZW4gUHJvemVzc29yIG9wdGltYWwgYXVzenVsYXN0ZW4uIAoKSWNoIHRlc3RlIGRlcnplaXQgZWluIFRvb2wsIGRhc3MgZGllIGxhdWZlbmRlbiBQcm96ZXNzZSBhdXRvbWF0aXNpZXJ0IGF1ZiBkaWUKdW50ZXJzY2hpZWRsaWNoZW4gVGhyZWFkcyBhZWggQ29yZXMgbWVpbmVzIEludGVsIHZlcnRlaWx0LiBCaXNsYW5kIG1lcmtlIGljaAphYmVyIGVoZXIgZWluZSBob2VoZXJlIENQVS1BdXNsYXN0dW5nIChnZW5uIGljaCBkaWUgVGVtcGVyYXR1ciBiZXRyYWNodGUpIGRlbm4KZWluZSBuaWRyaWVnZXJlLgoKU29ycnkgZnVlciBUeXBvcywgcGxhaW4gVGVsbmV0IGhlcmUgYXQgdGhlIG1vbWVudC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGk1IHZzIGk3IChSdW1hdGEsIDMxLiBNYWkgMjAxMiwgMTU6MDM6MTgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEzMzg0Njg4Njggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpXaWV2aWVsIFdhdHQgemllaHQgc28gZWluIERlc2t0b3AgaGV1dHp1Z2UsIHdlbm4gZXIgZ2VyYWRlIHNvIHZvciBzaWNoCmhpbmlkZWx0LgooQmluIEdlcmFkZSBhbSB1ZWJlcmxlZ2VuLCBlaW5lbiAyMDA2ZXIgRGVza3RvcCwgZGVyIDIzMFcgaW4gZGllc2VtIFp1c3RhbmQKd2lsbCwgZHVyY2ggZXR3YXMgenUgZXJzZXR6ZW4sIHdhcyBhbiAzRCBMZWlzdHVuZyAoamFqYSwgZGFzIGlzdCBuaWNodCBpZGVsbikKTWluZWNyYWZ0IHRhdWdsaWNoIGlzdC4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBpNSB2cyBpNyAoWm9vaywgMzEuIE1haSAyMDEyLCAxNTowNTozMSk6Cn4jISBybj1SdW1hdGEgcnQ9MTMzODQ2OTM5OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4NDY4MjM1CjIzMFdBVFQ/Clpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGk1IHZzIGk3IChBbWFyeWxsaXMsIDMxLiBNYWkgMjAxMiwgMTU6MDU6MzMpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMzg0NjkzOTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpNZWluZXIgZXR3ZWEgMzAgV2F0dCwgd2VubiBpY2ggZGVyIEF1c3NhZ2UgbWVpbmVzIFN0cm9tbWVzc2dlcmFldGVzIGdsYXViZW4KZGFyZi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGk1IHZzIGk3IChSdW1hdGEsIDMxLiBNYWkgMjAxMiwgMTU6MDk6MDMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEzMzg0Njk1MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpBdSwgamV0enQgd28gZHUgZXMgc2Fnc3QsIGZhZWxsdCBlcyBtaXIgYXVjaCBhdWYsIGRhc3MgZGFzIERpbmcgCm5hY2ggZGVtIEVpbnNjaGFsdGVuIGVyc3RtYWwgbnVyIGRpZSBTcGFubnVuZyBhbnplaWd0LiAxMDBXIHNpbmQgZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBpNSB2cyBpNyAoQXJrLCAzMS4gTWFpIDIwMTIsIDIwOjAyOjU0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzM4NDY4ODY4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyMzUKSXN0IGRhcyBuaWNodCBsb2dpc2NoLCBkYXNzIGJlaSBob2VoZXJlciBBdXNsYXN0dW5nIGFsbGUgQ29yZXMgYnJhdiBhcmJlaXRlbgp1bmQgZGVzaGFsYiBkaWUgR2VzYW10YXVzbGFzdHVuZyBiZXNzZXIgaXN0IC0+IGhvZWhlcmUgUHJvemVzc29yYmVsZWd1bmcgLT4KUGFyYWxsZWxpdGFldCAtPiB3ZW5pZ2VyIElkbGV0aW1lIHZzLiBrZWluZSBQYXJhbGxlbGl0YWV0IC0+IGVpbiBUaHJlYWQgZnVlcgphbGxlIENvcmVzIC0+IGdlcmluZ2UgQXVzbGFzdHVuZyAtPiBnZXJpbmdlcmUgVGVtcGVyYXR1ci4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBpNSB2cyBpNyAoQW1hcnlsbGlzLCAzMS4gTWFpIDIwMTIsIDIwOjA4OjAxKToKfiMhIHJuPUFyayBydD0xMzM4NDg3Mzc0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyMzUKSW0gUHJpbnppcCBqYS4KCkRhZHVyY2ggc3RlaWd0IGRpZSBnZWZ1ZWhsdGUgKHRtKSBQZXJmb3JtYW5jZSBhbGxlcmRpbmdzIG5pY2h0IHdpcmtsaWNoIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBpNSB2cyBpNyAoQW1hcnlsbGlzLCAzMS4gTWFpIDIwMTIsIDIwOjA5OjIwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzM4NDg3NjgxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyMzUKSW5ncmlkOgoKQWNoamEsIGljaCB2ZXJnYXNzLi4uIGRpZSBEYXVlcmJlbGFzdHVuZyBkZXIgQ1BVIHNjaGVpbnQgdm9uIGRpZXNlbSBUb29sCmVyaG9laHQgenUgd2VyZGVuLiBzZWxic3QgaW0gSWRsZS1Nb2RlIG1pdCBudXIgZ2VvZWZmbmV0ZW4gQW53ZW5kdW5nZW4sIGluCmRlbmVuIG5pY2h0cyBwYXNzaWVydC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IGk1IHZzIGk3IChBcmssIDMxLiBNYWkgMjAxMiwgMjA6MTY6NDUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEzMzg0ODc3NjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQpBYmVyIGRhcyBNdWx0aXRocmVhZGluZyBiZWhlcnJzY2h0IGRpZSBBbndlbmR1bmcgc2Nob24gd2lya2xpY2gsIHVuZCBuaWNodCBudXIKZ2VmdWVobHQsIGphPyA6RAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGk1IHZzIGk3IChBbWFyeWxsaXMsIDMxLiBNYWkgMjAxMiwgMjI6MzQ6MjcpOgp+IyEgcm49QXJrIHJ0PTEzMzg0ODgyMDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODIzNQphbnNjaGVpbmVuZCBuaWNoLCBkcnVtIGhhYmUgaWNoIHNpZSBoZXV0ZSBuYWNoIGVpbmlnZW4gdGVzdC10YWdlbgpoZXJ1bnRlcmdlc2NobWlzc2VuLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGk1IHZzIGk3IChHbm9tZSwgMzEuIE1haSAyMDEyLCAyMzowNjoxMyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEzMzg0NjgyNzggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODI3OApEYXMga29tbXQgZ2FueiBkYXJhdWYgYW4sIHdhcyBEZWluZSBBbndlbmR1bmdzZ2ViaWV0ZSBzaW5kLiBHcnVuZHNhZXR6bGljaAp1bnRlcnNjaGVpZGVuIHNpY2ggaTMvNS83IGR1cmNoIGZlYXR1cmVzIHVuZCBkaWUgVERQLiBEZW5ub2NoIGlzdCB2aWVsCndpY2h0aWdlciwgd2VsY2hlIEFyY2hpdGVrdHVyIER1IERpciBkYW1pdCBlaW5rYXVmZW4gd2lsbHN0OiBTYW5keSBCcmlkZ2UKc29sbHRlIGVzIHNjaG9uIGVpbiwgZGllIEl2eXMgZ2lidHMgbWl0dGxlcndlaWxlIGF1Y2ggc2Nob24gZnVlciBJNy1Nb2JpbC4KCldlbm4gRHUgYmVpbSBUaGVtYSAiTW9iaWwiIGJsZWliZW4gd2lsbHN0IHVuZCBkYXMgdHlwaXNjaGUgT2ZmaWNlLVN6ZW5hcmlvCnp1IERpciBwYXNzdCAoSW50ZXJuZXQvVGV4dC9FeGNlbC9NdWQpLCBrYW5uIG1hbiBhdWNoIHNlaHIgZ2V0cm9zdCBub2NoIHp1CmRlbiBDb3JlMkR1b3MgZ3JlaWZlbi4gSW4gZGllc2VtIEJlcmVpY2ggZ2lidCBlcyBnZWJyYXVjaHRlIHVuZCBnZW5lcmFsLQp1ZWJlcmhvbHRlIExhcHRvcHMsIGRpZSBfaW0gZ2FuemVuXyBudXIgd2VuaWcgbWVociBrb3N0ZW4gYWxzIGVpbmUgaTctQ1BVLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaTUgdnMgaTcgKEhpZ2hsYW5kZXIsICAxLiBKdW4gMjAxMiwgMDk6MDc6MjIpOgp+IyEgcm49R25vbWUgcnQ9MTMzODQ5ODM3MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4NDY4Mjc4ClZvbiAnbW9iaWwnIGhhdHRlIGljaCBhbiBzaWNoIG5pY2h0cyBnZXNjaHJpZWJlbiwgZXMgZ2VodCBtaXIgdW0gZWluZW4KZGVza3RvcC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogaTUgdnMgaTcgKEdsb2luc29uLCAgMS4gSnVuIDIwMTIsIDEwOjExOjA2KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTMzODUzNDQ0MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM4NDY4Mjc4CktlaW5lIEFobnVuZyBvYiBkaXIgZGFzIEh5cGVyIFRocmVhZGluZyAoYXVmIGRlbSBQNCBmYW5kIGljaCBlcyBmdWVyCkRldmVsb3BtZW50IG5pY2h0IHdpcmtsaWNoIGhpbGZyZWljaCwgRmxhc2NoZW5oYWxzIHdhcmVuIGRhbWFscyBlaGVyIElPKSB1bmQKZGllIHBhYXIgTWhaL01CIEwzIG1laHIgd2ljaHRpZyBzaW5kLiBHaWJ0IGhhbHQgd2VuaWdlciBCYW5nIGZvciB0aGUgQnVjayBhYmVyCm1laHIgQmFuZy4KCldlbm4gZXMgYXJnIGdyZW56d2VydGlnIHNlaW4gc29sbCwgbGVnIGRpciBlaW5lbiBpNyBhdWYgZWluZW0gMjAxMWVyIFNvY2tlbAp6dSwgbWl0IFF1YWQtQ2hhbm5lbC1NZW1vcnkuIEljaCBwZXJzb2VubGljaCBsaWViYWV1Z2VsIHNjaG9uIGRpZSBnYW56ZSBaZWl0CmVoZXIgbWl0IGVpbmVtIGk3LCBhbGxlcmRpbmdzIGlzdCBtYW5jaGVyIEJpbGRlcmtyYW0gKHdlc3dlZ2VuIGljaCB1cGdyYWRlbgptdXNzKSBhdWNoIHNlaHIgdGhyZWFkZWQ6IFJhdyBLb252ZXJzaW9uLCBQYW5vcmFtZW4gc3RpdGNoZW4sIFtWaWRlbyBmdWVyCkxldXRlIG1pdCBhbHRlbiBQbGF0dGZvcm1lbiBrbGVpbm1hdHNjaGVuXS4gRnVlcnMgRGV2ZWxuIHdpcmQgZXMgdmllbGxlaWNodAptaXQgZWluZXIgU1NEIHdhcyBicmluZ2VuLiBBaCAuLi4gdW5kIG5hdHVlcmxpY2ggSXZ5IEJyaWRnZSwgZGFtaXQgbWFuIHNpY2ggYW0KQW5mYW5nIGZ1ZXJzIFNwaWVsZW4gZGllIEdyYWZpa2thcnRlIHNwYXJlbiBrYW5uIChkaWUgbmV1ZW4gSEQ0MDAwK1RyZWliZXIKc2luZCBuYWNoIFRlc3RzIGFlaG5saWNoIGVpbmUgRWluc3RlaWdlci1TdGFuZGFsb25lLUthcnRlOiBhbHNvIGVyc3RhdW5saWNoCmd1dCkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogaTUgdnMgaTcgKEFudGhlYSwgIDEuIEp1biAyMDEyLCAxMDoxNDoyMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzM4NTM4MjY2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyNzgKSmEsIGRhcyBhbHRlIEhUIGF1ZiBkZW0gUDQgd2FyIGVoZXIga29udHJhcHJvZHVrdGl2LiBEYXMgaGF0IGRpZSBDUFUtTGVpc3R1bmcKYmVpIGVjaHRlbSBNdWx0aVRocmVhZGluZyB3aXJrbGljaCBnZWRyb3NzZWx0LiBBYmVyIGF1ZiBtZWluZW0gaTcgODYwIChqYWphLAppc3QgYXVjaCBzY2hvbiBlaW4gcGFhciBUYWdlIGFsdCkgaGllciBhdWYgZGVyIEFyYmVpdCBoYWIgaWNoIG5vY2gga2VpbmUKUHJvYmxlbWUgZGFtaXQgZ2VoYWJ0LiBEYSBicmluZ3QgZGFzIEhUIHdpcmtsaWNoIG5vY2ggbWFsIGVpbiBiaXNzY2hlbgpVbnRlcnN0dWV0enVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGk1IHZzIGk3IChab29rLCAgMS4gSnVuIDIwMTIsIDEyOjM2OjUwKToKfiMhIHJuPUFudGhlYSBydD0xMzM4NTM4NDYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyNzgKSGFyZHdhcmUtSnVua2llcyEKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGk1IHZzIGk3IChHbm9tZSwgIDEuIEp1biAyMDEyLCAyMTozOTozNSk6Cn4jISBybj1ab29rIHJ0PTEzMzg1NDcwMTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzODQ2ODI3OApXYXMgaXN0IGRlbm4gZWluIEhhcmR3YXJlLUp1bmtpZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaTUgdnMgaTcgKFJ1bWF0YSwgIDEuIEp1biAyMDEyLCAyMjowMDo0Nyk6Cn4jISBybj1Hbm9tZSBydD0xMzM4NDk4MzczIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzg0NjgyNzgKSmVtYW5kLCBkZXIgbWVociBhbHMgZHJlaW1hbCBpbiBkaWVzZW0gVGhyZWFkIHBvc3RldC4KClJ1bSoqLCBhYiBqZXR6dCBkaWUgS2xhcHBlIGhhbHRlbmQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZWJpYW4gKyBNdWx0aW1lZGlhIChSdW1hdGEsIDEyLiBKdW4gMjAxMiwgMTA6MjI6MzApOgpIYWxsaWhhbGxvLAoKbmFjaGRlbSBpY2ggbWl0IFVidW50dSB6aWVtbGljaCB1bnpmcmllZGVuIGJpbiAoZGllc2VzIHVuaXR5IHNhdWd0IHdpZSB3aWxkKQp3b2xsdGUgaWNoIG1hbCB3aWVkZXIgZGViaWFuIHByb2JpZXJlbi4gaWNoIGJpbiBkYW1hbHMgdm9uIGRlYmlhbiB3ZWcsCndlaWwgZGllIG11bHRpbWVkaWFmYWVoaWdrZWl0ZW4genUgcnVlY2tzdGFlbmRpZyB3YXJlbiAoZW50d2VkZXIgd2FyZW4KZGllIHBha2V0ZSBlaW5mYWNoIFpVIGFsdCBvZGVyIGZlaGx0ZW4gZ2FueiB3ZWdlbiBpcmdlbmR3ZWxjaGVyIGxpemVuegpnZXNjaGljaHRlbikKCm51biBtZWluZSBmcmFnZSwgd2llIGlzdCBkYSBtaXR0bGVyd2VpbGUgZGVyIHN0YW5kIGRlciBkaW5nZT8gZGllIGRlYmlhbgpzZWl0ZSAoRGViaWFuTXVsdGltZWRpYSkgZXJrbGFlcnQgbnVyLCBkYXNzIHNpZSBtaXQgZGViaWFuLW11bHRpbWVkaWEKbml4IHp1IHR1biBoYWJlbi4gKHNwYWx0ZXIhKSA7LSkKClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGViaWFuICsgTXVsdGltZWRpYSAoWm9vaywgMTIuIEp1biAyMDEyLCAxMToxMDoxOCk6Cn4jISBybj1SdW1hdGEgcnQ9MTMzOTQ4OTM1MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM5NDg5MzUwCkthbm4gaWNoIERpciBuaWNodCBoZWxmZW4uCkljaCBmaW5kIFVuaXR5IGFiZXIgZWlnZW50bGljaCBzZWhyIHNjaGljay4KWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZWJpYW4gKyBNdWx0aW1lZGlhIChDcm9mdCwgMTIuIEp1biAyMDEyLCAxMToxNjo0Nyk6Cn4jISBybj1ab29rIHJ0PTEzMzk0OTIyMTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzOTQ4OTM1MApLb25udGUgbWFuIFVidW50dSBuaWNodCBhdWNoIG5vY2ggYW5kZXJlIE9iZXJmbGFlY2hlbnZhcmlhbnRlbiB2b24gR25vbWUKYnp3IEtERSBiZWlicmluZ2VuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlYmlhbiArIE11bHRpbWVkaWEgKFJ1bWF0YSwgMTIuIEp1biAyMDEyLCAxMToxODo0MCk6Cn4jISBybj1Dcm9mdCBydD0xMzM5NDkyNjA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzk0ODkzNTAKamEsIGRhcyB3YWVyZSBub2NoIGVpbmVuIHZlcnN1Y2ggd2VydCwgbWFsIGd1Y2tlbiwgb2IgZGFzIHh0ZXJtIGRhIG9obmUKcmVkcmF3ZmVobGVyIGtvbW10LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGViaWFuICsgTXVsdGltZWRpYSAoWm9vaywgMTIuIEp1biAyMDEyLCAxMToyOTozMik6Cn4jISBybj1SdW1hdGEgcnQ9MTMzOTQ5MjcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM5NDg5MzUwCkVpbmZhY2ggR25vbWUgb2RlciBMWERFIG9kZXIgd2VuIGF1Y2ggaW1tZXIgRHUgYXVzcHJvYmllcmVuIAptYWdzdCwgdmlhIGFwdC1nZXQgaW5zdGFsbGllcmVuLiBEYW5uIGJlaSBkZW0gRWlubG9nZy1GZW5zdGVyLApkYSBpc3QgdWViZXIgZGVtIE5hbWVuIHNvIGVpbiBrbGVpbmVzICJSYWQiIChpbiBoZWxsZXIgRmFyYmUpLCAKZGEgZHJhdWZkcnVlY2tlbiwgZGEga2FubnN0IER1IGRhbm4gYWxsZSB2ZXJmdWVnYmFyZW4gIlVtZ2VidW5nZW4iCmF1c3dhZWhsZW4uCgpJY2ggaGFiIGRhIGZ1ZXIgbWFuY2hlIEVpbnNhdHpiZXJlaWNoZSBhdWNoIE9wZW5ib3ggYnp3LiBMWERFIApoZXJ1bWxpZWdlbiwgd2VubiBpY2ggU3BlaWNoZXIgdW5kIENQVSBzcGFyZW4gbWFnLgoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGViaWFuICsgTXVsdGltZWRpYSAoQ2hhZ2FsbCwgMTIuIEp1biAyMDEyLCAxMTozMjowNCk6Cn4jISBybj1ab29rIHJ0PTEzMzk0OTMzNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzOTQ4OTM1MApXb2JlaSBpY2ggamEgR25vbWUzIGtlaW5lbiBkZXV0IGJlc3NlciBmaW5kZSBhbHMgVW5pdHkuIEJlaWRlcyBTY2hyb3R0CmlyZ2VuZHdpZS4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEZWJpYW4gKyBNdWx0aW1lZGlhIChSdW1hdGEsIDEyLiBKdW4gMjAxMiwgMTI6MDQ6NDIpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMzM5NDkzNTI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzk0ODkzNTAKc29sYW5nZSBkZXIgc2Nob3R0ICBuaWNodCBkZW4gcmVjaG5lciBhdXNicmVtc3QuLi4KYmluIGRhbm4gbWFsIHRlc3RlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERlYmlhbiArIE11bHRpbWVkaWEgKFJ1bWF0YSwgMTIuIEp1biAyMDEyLCAxNDoxNzoyNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTMzOTQ5NTQ4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzM5NDg5MzUwCkJvYWggaXN0IGx4ZGUgc2NobmVsbC4gOi0pCk51ciBkYXNzIG1hbiB6dW0gYW5sZWdlbiBlaW5lcyBob3RrZXlzIGRpZSBzZXNzZW4gbmV1IHN0YXJ0ZW4gbXVzcywKaXN0IGRvb2YuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEZWJpYW4gKyBNdWx0aW1lZGlhIChSdW1hdGEsIDEyLiBKdW4gMjAxMiwgMTk6MTE6MjQpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMzk1MDM0NDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTMzOTQ4OTM1MApBYmVyIG5hY2ggZGVyIEVuZGVja3VuZyB2b24gIm9wZW5ib3ggLS1yZWNvbmZpZ3VyZSIgYmluIGljaCBnbHVlY2tsaWNoLgoodmllbGxlaWNodCBzb2xsdGUgaWNoIG51biBkb2NoIG5vY2ggcGFuZ29saW4gYXVzcHJvYmllcmVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEZWJpYW4gKyBNdWx0aW1lZGlhIChab29rLCAxMy4gSnVuIDIwMTIsIDA4OjE4OjEzKToKfiMhIHJuPVJ1bWF0YSBydD0xMzM5NTIxMDg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzMzk0ODkzNTAKSmEsIExYREUgaXN0IHppZW1saWNoIHJlc3NvdXJjZW5zY2hvbmVuZCB1bmQgZGFzIG1laXN0ZSwgd2FzIG1hbiAKc28gdm9uIG5lciBPYmVyZmxhZWNoZSBtYWcgdW5kIGJyYXVjaHQgdHV0IGdhbnogZ3V0LCBmaW5kZSBpY2guCgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNVURjbGllbnQgQW5kcm9pZCAoR2xvaW5zb24sIDI3LiBGZWIgMjAxMywgMTU6MDQ6MjkpOgpNb21lbnRhbiBiZW51dHplIGljaCBkZW4gIkJsb3dUb3JjaCItQ2xpZW50LCB3ZWlsIGRlciBwZXIgWE1MIGFucGFzc2JhcmUKQWN0aW9uLUJ1dHRvbnMgZnVlciBkZW4gVG91Y2hzY3JlZW4gdW5kIGdhbnogdmVybnVlbmZ0aWdlIEVpbnN0ZWxsdW5nZW4gaGF0LgpJZGVhbGVyd2Vpc2Ugc3VjaGUgaWNoIG5hdHVlcmxpY2ggdGYgbWl0IFRvdWNoc2NyZWVuYnV0dG9ucyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRWQ1MgKGdpdCkgLSBHdXRlIEFyYmVpdHN3ZWlzZW4sIFRlaWwgMSAoR2xvaW5zb24sIDEyLiBKdW4gMjAxMywgMDI6MTA6NTYpOgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWRZQmpWVE1VUVkwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERWQ1MgKGdpdCkgLSBHdXRlIEFyYmVpdHN3ZWlzZW4sIFRlaWwgMSAoWmVzc3RyYSwgMTIuIEp1biAyMDEzLCAyMjozMToyNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzcwOTk1ODU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzNzA5OTU4NTYKU2VociBzY2hvZW4sIGRhbmtlLiA6LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpcmVmb3ggemVpZ3QgVVJMIG5pY2h0IG1laHIgYW4gKEFtYXJ5bGxpcywgIDUuIEphbiAyMDE0LCAwMzowMDo0Myk6CkhpLAoKc2VpdCBlaW5pZ2VuIFRhZ2VuIGhhYmUgaWNoIGRhcyBQcm9ibGVtLCBkYXMgbWVpbiBha3R1ZWxsZXIgRmlyZWZveCB1bnRlciBXaW43CjY0Qml0IGRpZSBha3R1ZWxsZSBVUkwgbmljaHQgbWVociBhbnplaWd0LgpTcHJpY2g6IHdlbm4gaWNoIHd3dy5nb29nbGUuZGUgZWluZ2ViZSB1bmQgZG9ydCBzdWNoZSBiencuIHdlaXRlcmtsaWNrZSwKYmxlaWJ0IGdvb2dsZS5kZSBhbHMgVVJMIGltIGZlbnN0ZXIgc3RlaGVuLgoKSWNoIGthbm4gbmljaHQgbmFjaHZvbGx6aWVoZW4sIGRhc3MgaWNoIGlyZ2VuZGV0d2FzIGFtIFN5c3RlbSBnZWFlbmRlcnQKaGFldHRlLiBOYXR1ZXJsaWNoIGhhdCBlaW4gVHJvamFuZXIvVmlyZW4vTWFsd2FyZXNjYW4gYXVjaCBuaWNodHMgZXJnZWJlbi4KCkFueSBpZGVhcywgd2llIG1hbiBkZW0gUHJvYmxlbSBhdWYgZGllIFNjaGxpY2hlIGtvbW10IHVuZCBlcyB2b3IgYWxsZW0gYmVoZWJ0PwoKQW1hKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaXJlZm94IHplaWd0IFVSTCBuaWNodCBtZWhyIGFuIChNdXBmZWwsICA1LiBKYW4gMjAxNCwgMTI6Mjc6MDQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEzODg4ODcyNDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM4ODg4NzI0MwpEdSBoYXN0IHZpZWxsZWljaHQgbmljaHRzIGdlYWVuZGVydCwgYWJlciBGaXJlZm94IHVuZC9vZGVyIGVpbiBBZGRPbgp2aWVsbGVpY2h0PyBBbHNvIGljaCBzZWhlIGJlaSBtZWluZW0gKGF1Y2ggVzcvNjQpIGJlaSBEZWluZW0gQmVpc3BpZWwKImdvb2dsZS5kZSIgaW4gc2Nod2Fyeiwgd2FlaHJlbmQgImh0dHBzOi8vd3d3LiIgaW4gc2VociBoZWxsZW0gZ3JhdSBlcnNjaGVpbnQuClZpZWxsZWljaHQgaXN0IGRhcyBoZWxsZSBncmF1IGJlaSBEaXIgamEgZmFzdCB3ZWlzcz8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmlyZWZveCB6ZWlndCBVUkwgbmljaHQgbWVociBhbiAoWmVzc3RyYSwgIDUuIEphbiAyMDE0LCAxNDozMjozOCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTM4ODg4NzI0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzg4ODg3MjQzCkV2dGwuIHZlcnN1Y2hzd2Vpc2UgbWFsIGFsbGUgQWRkb25zIGFic2NoYWx0ZW4gdW5kIGd1Y2tlbiwgb2IgZGFzIHdhcyBhZW5kZXJ0PwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaXJlZm94IHplaWd0IFVSTCBuaWNodCBtZWhyIGFuIChBbWFyeWxsaXMsICA2LiBKYW4gMjAxNCwgMDE6NTE6MzgpOgp+IyEgcm49TXVwZmVsIHJ0PTEzODg5MjEyMjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM4ODg4NzI0MwpMZWlkZXIgbmVpbi4uLiBpY2ggaGFiIHVlYmVyIEdvb2dsZSBnZXJhZGUgZGllIFNlaXRlIG1laW5lciBCYW5rIGF1ZmdlcnVmZW4sCnVuZCBvYmVuIHN0ZWh0IGltbWVyIG5vY2ggInd3dy5nb29nbGUuZGUiIGRyaW4uLi4gOi8KCkFtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaXJlZm94IHplaWd0IFVSTCBuaWNodCBtZWhyIGFuIChBbWFyeWxsaXMsICA2LiBKYW4gMjAxNCwgMDI6MjQ6MTYpOgp+IyEgcm49WmVzc3RyYSBydD0xMzg4OTI4NzU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzODg4ODcyNDMKSm8uLi4KCm5hY2ggZXR3YXMgdHJ5JmVycm9yIGhhYmUgaWNoIG51biBkZW4gYm9lc2V3aWNodCBnZWZ1bmRlbjogRXh0ZW5zaW9uICJHTVgKTWFpbENoZWNrIi4KRGVpbnN0YWxsaWVydCB1bmQgR01YIGRlbiBGZWhsZXIgZ2VtZWxkZXQuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGaXJlZm94IHplaWd0IFVSTCBuaWNodCBtZWhyIGFuIChaZXNzdHJhLCAgNi4gSmFuIDIwMTQsIDExOjUxOjIwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzg4OTcxNDU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzODg4ODcyNDMKV2FlaCwgZmllcy4KR3V0IHp1IHdpc3Nlbi4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGaXJlZm94IHplaWd0IFVSTCBuaWNodCBtZWhyIGFuIChab29rLCAgNi4gSmFuIDIwMTQsIDE2OjEzOjQ5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM4OTAwNTQ4MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzg4ODg3MjQzCkRhcyBrbGluZ3QgZ2VuZXJlbGwgbmFjaCBuZW0gZmllc2VuIEFkZG9uLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRmlyZWZveCB6ZWlndCBVUkwgbmljaHQgbWVociBhbiAoQW1hcnlsbGlzLCAgNy4gSmFuIDIwMTQsIDAyOjMzOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTM4OTAyMTIyOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzg4ODg3MjQzCkplcHAuCgpVbm5vZXRpZy4KCklyZ2VuZHdpZSBoYWIgaWNoIHdvaGwgZGFtYWxzIG5pY2h0IGF1ZmdlcGFzc3QsIGFscyBkYXMgRGluZ2VuIG5hY2ggRWlucmljaHRlbgpkZXIgTWFpbGFkcmVzc2Ugc2ljaCBpbnN0YWxsaWVydCBoYXQ/IT8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRpcHMgZnVlciBJbi1FYXItS29wZmhvZXJlciBnZXN1Y2h0IChBcmF0aG9ybiwgMjMuIEZlYiAyMDE0LCAxOTowMDozNSk6Ck1vaW4genVzYW1tZW4sCgp3aWUgZGVyIFRpdGVsIHNjaG9uIHNhZ3QsIGJpbiBpY2ggZ3JhZCBhdWYgZGVyIFN1Y2hlIG5hY2ggSW4tRWFyLUtvcGZob2VyZXJuLAprdXJ6IElFTSAoaW4tZWFyIG1vbml0b3JzKSBnZW5hbm50LiBWb20gS2xhbmcgaGVyIGJpbiBpY2ggbmljaHQgc2ljaGVyLCB3YXMKaWNoIGJldm9yenVnZW4gd3VlcmRlIC0gbW9tZW50YW4gaGFiZSBpY2ggaGllciBlaW5mYWNoZSBJRU1zIHZvbiBTYW1zdW5nLApkaWUgYmVpbSBTbWFydHBob25lIGRhYmVpbGFnZW4sIHVuZCB3ZWxjaGUgdm9uIFBoaWxpcHMuIEJlaSBiZWlkZW4gd2Vpc3MKaWNoIGRlbiBnZW5hdWVuIFR5cCBuaWNodCwgYWJlciBhdWNoIGRpZSBQaGlsaXBzIHNpbmQgZWhlciBpbiBkZXIgS2F0ZWdvcmllCkdyYWJiZWx0aXNjaCBhbnp1c2llZGVsbi4gRGllIFNhbXN1bmcgZ2VmYWxsZW4gbWlyIGltIFZlcmdsZWljaCBiZXNzZXIsIHdlaWwKZGllIGlyZ2VuZHdpZSBtZWhyIEJ1bXMgaGFiZW4sIGRpZSBQaGlsaXBzLURpbmdlciBrbGluZ2VuIG1pciBpcmdlbmR3aWUgenUKZHVlbm4uCgpJY2ggaGFiIG1pY2ggZGllIGxldHp0ZW4gVGFnZSBtYWwgZWluIHdlbmlnIHNjaGxhdWdlbWFjaHQgdW5kIHVtZ2VzY2hhdXQKdW5kIGJpbiBpbSBHcnVuZGUgYmVpIGRlciBmb2xnZW5kZW4gQXVzd2FobCBnZWxhbmRldDoKLSBTaHVyZSBTRTIxNQotIEV0eW1vdGljIEhGNQotIFBhbmFzb25pYyBSUC1ISkU5MDAKLSBWc29uaWMgR1IwNgotIEJyYWlud2F2eiBCMgotIEpWQyBIQS1GWFQ5MCAobnVyIGFscyBKYXBhbi1JbXBvcnQgenUga3JpZWdlbikKLSBUaGlua3NvdW5kIE1TMDEKCkF1c3Byb2JpZXJlbiB3ZXJkZSBpY2ggd29obCBhdWNoIFBoaWxpcHMgU0hFMzU4MC8yOCBtYWwsIHdlaWwgZGllIGZ1ZXIgZGVuClByZWlzICh1bSBkaWUgMTIgRXVybykgZWluZW4gZmFudGFzdGlzY2hlbiBLbGFuZyBoYWJlbiBzb2xsZW4uIFdhcyBpY2ggCmplZGVuZmFsbHMgbmljaHQgd2lsbCwgc2luZCBzbyBrb21pc2NoZSAiRWFyYnVkcyIsIGRpZSBudXIgbG9zZSBpbSBPaHIKcnVtYmF1bWVsbiB1bmQga2VpbmVuIHN0YWJpbGVuIEtsYW5nIGxpZWZlcm4uIEVpbmUgb3JkZW50bGljaGUgQWJzY2hpcm11bmcKZGFyZidzIGF1Y2ggZ2VybmUgc2Vpbi4gSGF1cHRzYWVjaGxpY2ggd3VlcmRlbiBkaWUgSG9lcmVyIGFtIFZlcnN0YWVya2VyCmJldHJpZWJlbiwgZWluZSBldHdhcyBob2VoZXJlIEltcGVkYW56IGlzdCBhbHNvIG5pY2h0IHNjaGxpbW0sIHp1IHZpZWwgc29sbHRlCmVzIGFiZXIgYXVjaCBuaWNodCB3ZXJkZW4sIHdlaWwgZGllIGdnZi4gYXVjaCBtYWwgbW9iaWwgZWluZ2VzZXR6dCB3ZXJkZW4uCgpBYnNwaWVsZW4gc29sbGVuIGRpZSBUZWlsZSBkYW5uIGhhdXB0c2FlY2hsaWNoIEUtR2l0YXJyZW5sYXN0aWdlcywgdW5kIGRhIAptZWluZSBNdXNpa3NhbW1sdW5nIHp1IGVpbmVtIGRldXRsaWNoZW4gVGVpbCBub2NoIGF1cyBNYXRlcmlhbCBtYWVzc2lnZXIKUXVhbGl0YWV0IGJlc3RlaHQgKGxpZXM6IDEyOGstTVAzcyksIHd1ZXJkZSBpY2ggZXR3YXMgbmFjaHNpY2h0aWdlcmUKSUVNcyBndXRoZWlzc2VuLCBkaWUgbmljaHQgYWxsenUgZGV1dGxpY2ggZGFydWViZXIgamFtbWVybiwgd2VubiBzaWUgc293YXMKYWJzcGllbGVuIG11ZXNzZW4uIDstKQoKV2llIGVpbmdhbmdzIHNjaG9uIGFuZ2VkZXV0ZXQsIGVpbiBiaXNzY2hlbiBCYXNzLUJ1bXMgZHVlcmZ0ZSBuaWNodCB2ZXJrZWhydApzZWluLCB1bmQgd2VubiBtaXIgamVtYW5kIGRlbiBlaW5lbiBvZGVyIGFuZGVyZW4gVGlwIGdlYmVuIGthbm4sIHd1ZXJkZSBtaXIgCmRhcyBzZWhyIHdlaXRlcmhlbGZlbi4KCkdydXNzLCBBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktuYWNrc2VuIHVlYmVycyBCbHVlUmF5LUxhdWZ3ZXJrPyAoQW5hdG9sLCAxNi4gTWFyIDIwMTQsIDEwOjUzOjU5KToKCmljaCBiaW4gamEgaGlucmVpY2hlbmQgdW5iZWRhcmYsIHdhcyBIYXJkd2FyZSBhbmdlaHQuIEFiZXIgd2VubiBpY2ggZWluCm5ldWVzIExhdWZ3ZXJrIGVpbmJhdWUsIGhvZXJlIGljaCBzY2hvbiBtYWwgUHJvYmUuIERhcyBuZXVlIEFzdXMgQkMtMTJEMkhUCmhvZXJ0IHNpY2ggZGFubiBsZWlkZXIgc2VociBuYWNoIFZpbnlsIGFuLCBkLmguIGVzIGtuYWNrc3QgaG9lcmJhciBpbQpIaW50ZXJncnVuZC4gCgppc3QgZGFzIGVpbmUgS29uZmlndXJhdGlvbnNnZXNjaGljaHRlPyBPZGVyIGJlc3NlciBnbGVpY2ggenVydWVja3NjaGlja2VuPwpPZGVyIHNpbmQgQmx1ZVJheS1MYXVmd2Vya2UgZnVlciBBdWRpby1DRHMgZ2VuZXJlbGwgbml0IHNvIGRvbGw/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtuYWNrc2VuIHVlYmVycyBCbHVlUmF5LUxhdWZ3ZXJrPyAoWmVzc3RyYSwgMTYuIE1hciAyMDE0LCAxMToxMDowNik6Cn4jISBybj1BbmF0b2wgcnQ9MTM5NDk2MzYzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzk0OTYzNjM5CkFsc28sIG1pciBmYWVsbHQgamEgamV0enQga2VpbiBHcnVuZCBlaW4sIHdhcnVtIGVzIGJlaW0gQWJzcGllbGVuIHZvbiBCUnMKa25hY2tlbiBzb2xsdGUuLi4gRGllIEZyYWdlIGlzdCBhYmVyLCB3byBtYW4gZGllc2UgdXJzYWNoZSBqZXR6dCB2ZXJvcnRldDoKTGF1Zndlcmsgc2VsYmVyIG9kZXIgZWhlciBQcm9ibGVtZSBtaXQKQ2hpcHNhdHovVHJlaWJlci9PUy9XaWVkZXJnYWJlZ2VyYWV0Li4uPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbmFja3NlbiB1ZWJlcnMgQmx1ZVJheS1MYXVmd2Vyaz8gKEFuYXRvbCwgMTYuIE1hciAyMDE0LCAxMToxMjoxNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzOTQ5NjQ2MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM5NDk2MzYzOQpObyBpZGVhLiBBdWZnZWZhbGxlbiBpc3QgZXMgaW0gZ2VyaXBwdGVuIC5mbGFjLiBEaXJla3R3aWVkZXJnYWJlIHVlYmVyCmRlbiBTdGFuZGFyZC1NZWRpYXBsYXllciBlYmVuZmFsbHMgbWl0IEtuYWNrZW4uIENEIGluIGRpZSBub3JtYWxlIFN0ZXJlby0KQW5sYWdlIGdld29yZmVuOiBUb2xsZXIgS2xhbmcsIG9obmUgS25hY2tzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS25hY2tzZW4gdWViZXJzIEJsdWVSYXktTGF1Zndlcms/IChSdW1hdGEsIDE2LiBNYXIgMjAxNCwgMTk6MzM6NTMpOgp+IyEgcm49QW5hdG9sIHJ0PTEzOTQ5NjQ3MzUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM5NDk2MzYzOQpTdGVjayBkZW4gUmVjaG5lciBtYWwgYW4gZGllIEhJSEkgYW5sYWdlLiBXdWVyZGUgbWljaCBuaWNodCB1ZWJlcnJhc2NoZW4sIHdlbm4KZGFzIEtuYWNrZW4gZG9ydCB3ZWdnZWZpbHRlciB3aXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS25hY2tzZW4gdWViZXJzIEJsdWVSYXktTGF1Zndlcms/IChBbmF0b2wsIDE3LiBNYXIgMjAxNCwgMTE6NTM6NTYpOgp+IyEgcm49UnVtYXRhIHJ0PTEzOTQ5OTQ4MzMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM5NDk2MzYzOQpFaW5lIHNvIGhvY2h3ZXJ0aWdlIEhJSEktQW5sYWdlIGhhYiBpY2ggbmljaHQuIFdlbm4gZGFzIGtsZWluZSBCT1NFIGRhcwpLbmFja3NlbiBzZWxic3RzdGFlbmRpZyB3ZWdrcmllZ3QsIG11ZXNzdGUgRUFDIGRvY2ggYXVjaCBlaW5lIHNvbGNoZSAKT3B0aW9uIGhhYmVuICpncnVlYmVsKiAqZXJ3YXJ0dW5nc2hhbHR1bmdoYWIqLiBEYXMgLmZsYWMgYXVmIGVpbmVtIGFuZGVyZW4KUGxheWVyIGFic3BpZWxlbiBrb21tdCAtIG5hdHVyZ2VtYWVzcyAtIHp1bSBzZWxiZW4ga25hY2tzZW5kZW4gRXJnZWJuaXMuCgpEaWUgQ0QgaXN0LCBoYWJlIGljaCBqZXR6dCBnZW1lcmt0LCBnZW5lcmVsbCBuaWNodCB1bnByb2JsZW1hdGlzY2guIApLYW5uIHNlaW4sIGRhc3MgZGFzIGFsbGVzIG51ciBTb25kZXJmYWVsbGUgc2luZC4gVHJvdHpkZW0gd2lsbCBpY2ggZGllCkxhZ2VyZmV1ZXJyb21hbnRpayBhdXMgZGVyIFRvY2NhdGEgZC1tb2xsIHJhdXNoYWJlbi4gRGFzIHBhc3N0IGRhIGVpbmZhY2gKbmljaHQgKHVuZCBqYSwgYW5nZWJsaWNoIERERCkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS25hY2tzZW4gdWViZXJzIEJsdWVSYXktTGF1Zndlcms/IChWYXJkaW9uLCAyNy4gTWFyIDIwMTQsIDA3OjI2OjE4KToKfiMhIHJuPUFuYXRvbCBydD0xMzk0OTY0NzM1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzOTQ5NjM2MzkKSGFzdCBEdSBkaWUgYXVmIERlaW5lbSBSZWNobmVyIGVyemV1Z3RlbiBGTEFDcyBtYWwgYXVmIGVpbmVtIGFuZGVyZW4gUmVjaG5lcgpnZWhvZXJ0PyBLbmFja2VuIHNpZSBkYT8KRUFDIHJpcHB0IG1pdCBjZHBhcmFub2lhLCBkYXMgdmVybWVpZGV0IGVpZ2VudGxpY2ggamVnbGljaGVuIEppdHRlci4gSWNoCnZlcm11dGUgZGFoZXIgZWhlciwgZGFzcyBkZXIgU291bmQtVGVpbCBkZXMgTm90ZWJvb2tzIG5lIE1hY2tlIGhhdCB1bmQgbmljaHQKZGFzIExhdWZ3ZXJrLgpCencuIGFuZGVyZSBHZWdlbnByb2JlOiB3aWUga2xpbmdlbiBhdWYgZGVtIE5vdGVib29rIEZMQUNzL01QM3MsIGRpZSBpcmdlbmR3bwphbmRlcnMgaGVya29tbWVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS25hY2tzZW4gdWViZXJzIEJsdWVSYXktTGF1Zndlcms/IChBbmF0b2wsIDI4LiBNYXIgMjAxNCwgMDg6MjE6MjIpOgp+IyEgcm49VmFyZGlvbiBydD0xMzk1OTAxNTc4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTEzOTQ5NjM2MzkKRGllIEZsYWNzIHdvIGFuZGVycyBhYnNwaWVsZW46IEtuYWNrdC4KQWx0ZSBGbGFjcyBhYnNwaWVsZW46IEtuYWNrZW4gbmljaHQuCgpJY2ggaGFiZSBlaW4gd2VuaWcgbWl0IGRlbiBFaW5zdGVsbHVuZ2VuIGhlcnVtZ2VzcGllbHQgdW5kIGRpZSBGZWhsZXJ1cnNhY2hlCmF1ZiBMYXllciA4IChwZWJrYWMpIHZlcm9ydGV0LiBFQUMgaGF0IGRyZWkgTW9kaTogRGllc2UgZWluZSBDRCBsYWVzc3Qgc2ljaAppbSBzaWNoZXJzdGVuIGdhciBuaWNodCBlaW5sZXNlbjsgaW0gQnVyc3QgTW9kZSBpc3QgZGFzIEtuYWNrZW4gZHJpbiB1bmQgaW4KZGVyIG1pdHRsZXJlbiBFaW5zdGVsbHVuZyBrbGFwcHQgZXMuLi4gb2huZSBLbmFja2VuLgoKU3Bhbm5lbmRlcndlaXNlIGhhdHRlbiBDRC1TcGllbGVyIG1pdCBkaWVzZXIgQ0QgKGFldXNzZXJsaWNoIGtlaW5lIFNjaGFlZGVuLAphdXMgZGVyIFplaXQgdm9yIGRlciBLb3BpZXJzY2h1dHpzY2h3ZW1tZSkgbmllbWFscyBQcm9ibGVtZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbmFja3NlbiB1ZWJlcnMgQmx1ZVJheS1MYXVmd2Vyaz8gKFJ1bWF0YSwgMjguIE1hciAyMDE0LCAwOTozMTowMSk6Cn4jISBybj1BbmF0b2wgcnQ9MTM5NTk5MTI4MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xMzk0OTYzNjM5CkNldGVydW0gY2Vuc2VvOiBEYXMgd2FyIG5pZSBlaW4ga29waWVyc2NodXR6LCBzb25kZXJuIGVpbiBBYnNwaWVsc2NodXR6LgpJY2gga29ubnRlIGRpZSBkaW5nZXIgaW1tZXIgcmlwcGVuL2tvcGllcmVuLCBudXIgYWJzcGllbGVuIGdpbmcgbmllLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS25hY2tzZW4gdWViZXJzIEJsdWVSYXktTGF1Zndlcms/IChBbmF0b2wsIDI4LiBNYXIgMjAxNCwgMDk6Mzg6NDApOgp+IyEgcm49UnVtYXRhIHJ0PTEzOTU5OTU0NjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTM5NDk2MzYzOQpPY2ggbm9lIER1LCBiZWkgZWluIHBhYXIgQ0RzIG11c3N0ZSBpY2ggbWl0IG5lbSBmb2xpZW5zY2hyZWliZXIgZWluZW4gUmluZyBhdWYKZGllIFJpbGxlbiBtYWxlbi4uLiBkYW1pdCBkYXMgZGFubiBnaW5nLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVQQy9TTVBQIChab29rLCAgMi4gSnVuIDIwMTQsIDEwOjMwOjAzKToKSHVodSwgamVtYW5kIHNjaG9uIG1hbCB3YXMgbWl0IFVQQyBvZGVyIFNNUFAgZ2VtYWNodCB1bmQgRXJmYWhydW5nZW4KaW0gRW1wZmFuZy9WZXJzYW5kIHZvbiBTTVNlbj8gR2lidCdzIEJpYmxpb3RoZWtlbiBmdWVyPyBXYXMgc2luZApTY2htZXJ6ZW4/IFdlbGNoZXMgUHJvdG9rb2xsIGZ1bnp0IGFtIGVoZXN0ZW4/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBIYW5keSAoQW1hcnlsbGlzLCAxMy4gU2VwIDIwMTQsIDIzOjIxOjU3KToKSGksCgpmdWVyIGVpbmVuIEJla2FubnRlbiB2b24gbWlyIHN1Y2hlIGljaCBlaW4gbmV1ZXMgSGFuZHkuIEVyIGhhdCBhbmdlYmxpY2gKaXJnZW5kbmVuIEJ1c2luZXNzdmVydHJhZyB1bmQgYmVrb21tdCBqZWRlcyBIYW5keSBiZWkgZGVyClZlcnRyYWdzdmVybGFlbmdlcnVuZywgd2FzIGVyIHdpbGwsIGlzdCBhbHNvIG5pY2h0IGhlcnN0ZWxsZXJnZWJ1bmRlbi4KQmlzbGFuZCBoYXQgZXIgZWluIFNvbnkgWFBlcmlhLiBEYXMgbmV1ZSBIYW5keSBzb2xsdGUgVGFzdGVuIGhhYmVuLCBkaWUgbWluZC4KZ2VuYXVzbyBncm9zcyBzaW5kIChnZXJuZSBhYmVyIHVlYmVyIFRvdWNoc2NyZWVuIHdpZSBiZWltIFhQZXJpYSkuCiJLb2VubmVuIiBzb2xsdGUgZGFzIERpbmcgYWxsZXMsIHdhcyBkYXMgYWx0ZSBhdWNoIGthbm4gOykKCklyZ2VuZHdlbGNoZSBUaXBzLCBFbXBmZWhsdW5nZW4/CgpHcnVzcywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IEhhbmR5IChab29rLCAxNC4gU2VwIDIwMTQsIDEzOjU4OjAwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNDEwNjQzMzE3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MTA2NDMzMTcKV2VubiBlcyBuZW4gQW5kcm9pZCBzZWluIHNvbGwsIGljaCBnbGF1YiwgaW4gZGVyIG9iZXJlbiBLbGFzc2UKZGVyIGpld2VpbGlnZW4gSGVyc3RlbGxlciAoU2Ftc3VuZywgTEcsIFNvbnkgZXRjLikgdHVuIGRpZSBzaWNoIGFsbGUKbmljaHQgdmllbC4KCkljaCBrb2VubnRlIGFuc29uc3RlbiBhYmVyIG5vY2ggbmVuIEx1bWlhIG1pdCBXaW5kb3dzIFBob25lCmVtcGZlaGxlbjsgZGllIHNpbmQgYXVjaCBnYW56IHNjaGljayB1bmQga29lbm5lbiBhdWNoIGVpZ2VudGxpY2ggCmFsbGVzIHVuZCBkYXMgc2VociBhbmdlbmVobSBtaXQgbmVyIGluIHNpY2ggc2NobHVlc3NpZ2VuIApVSS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogSGFuZHkgKEFtYXJ5bGxpcywgMTQuIFNlcCAyMDE0LCAxNzo0MjowNyk6Cn4jISBybj1ab29rIHJ0PTE0MTA2OTU4ODAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQxMDY0MzMxNwpBbHNvIGVpbiBXaW5kb3dzIFBob25lIHp1IGVtcGZlaGxlbiB3aWRlcnN0cmVidCBtaXIgZGFubiBkb2NoIDspCgpBYmVyIGRhbmtlIGZ1ZXIgZGllIGFuZGVyZW4gVGlwcyEKClZHLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBIYW5keSAoWm9vaywgMTQuIFNlcCAyMDE0LCAxODo0NjoxMCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQxMDcwOTMyNyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDEwNjQzMzE3CkVocmxpY2ggZmluZGUgaWNoIGRhcyBXaW5kb3dzIFBob25lIGRldXRsaWNoIGJlc3Nlci9jb29sZXIvbWVocgphdWYgZGllIE51dHplciBhdXNnZXJpY2h0ZXQgYWxzIEFuZHJvaWQuIEFiZXIgZGFzIGlzdCBuYXR1ZXJsaWNoCkdlc2NobWFja3NzYWNoZS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTOiBIYW5keSAoQ3JvZnQsIDE0LiBTZXAgMjAxNCwgMTg6NDc6MjApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MTA3MDkzMjcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQxMDY0MzMxNwpJY2ggYmluIG1pdCBtZWluZW0gSFRDIE9uZSBtNyBzZWhyIHp1ZnJpZWRlbi4gIE1pdCBIZXJzdGVsbGVydW50ZXJzdHVldHp1bmcKenUgbW9kZGVuIG1hY2h0IGRhcyBHYW56ZSB2aWVsIGFuZ2VuZWhtZXIgKEN5YW5vZ2VubW9kKS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTOiBIYW5keSAoR2xvaW5zb24sIDE1LiBTZXAgMjAxNCwgMTI6MjQ6MjQpOgp+IyEgcm49Q3JvZnQgcnQ9MTQxMDcxMzI0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDEwNjQzMzE3Ck1vZGJhcmtlaXQgaGFsdGUgaWNoIGF1Y2ggZnVlciBlaW4gS3JpdGVyaXVtLiBTYW1zdW5nIHVuZCBDbyBzaW5kIG5vdG9yaXNjaApmYXVsIG1pdCBkZW4gVXBkYXRlcyBuYWNoIGVpbmVtIEphaHIuIFdhZWhyZW5kIG1laW4gMjAxMiBOZXh1cyA3IGJyYXYgZWluCkFuZHJvaWQgNC40LjQgKFBhdGNoIHZvbiBDVkUtMjAxNC0wMjI0KSBhbmdlYm90ZW4gYmVrYW0sIGhhZW5ndCBtZWluIGVpbiBKYWhyCmFsdGVzIFNhbXN1bmcgYmVpIDQuMS4yLCB2b20gZHJlaSBKYWhyZSBhbHRlbiBTYW1zdW5nIE1hcnRpbmFzICgyLjMuNykgZ2FueiB6dQpzY2h3ZWlnZW4gKGVpbmVyc2VpdHMgaGFldHRlIGRhcyBnZXJhZGUgZ2VudWcgU3BlaWNoZXIgZnVlciA0LngsIGFuZGVyZXJzZWl0cwp3ZXJkZW4gZGllIDIueC1ad2VpZ2UgaGFsdCBnYXIgbmljaHQgbWVociBnZXBhdGNodCkuCgpKZSBuYWNoZGVtIHdhcyBtYW4gYWxsZSBtaXQgZGVtIEhhbmR5IHVlYmVyIGRhcyBUZWxlZm9uaWVyZW4gaGluYXVzIGJldHJlaWJ0LAprb2VubnRlIGVpbmVtIGRpZXNlciBTaWNoZXJoZWl0c2dld2lubiB3aWNodGlnIHNlaW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVjaG5lciBrb25maWd1cmllcmVuIC4uLiAoWm9vaywgIDkuIE5vdiAyMDE0LCAxNjozNDoxNik6CkhtbS4uLiBnaWJ0IGVzIGhpZXIgaXJnZW5kd2VsY2hlIExldXRlLCBkaWUgZnVuZGllcnQgb2RlciBhdXMgCkVyZmFocnVuZyB3YXMgenUgUHVwcGUsIENoZWYsIFNhbHQgb2RlciBBbnNpYmxlIHNhZ2VuIGtvZW5uZW4/IApJY2ggYmluIG1pciBuaWNodCBzbyBzaWNoZXIsIHdlbGNoZW4gZGllc2VyIFBmdWhsZSBpY2ggYmV0cmV0ZW4KbW9lY2h0ZS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClM6IEdlYnJhdWNodGVuIExlbm92byBOb3RlYm9vayAoWm9vaywgMTAuIE5vdiAyMDE0LCAwOTo0NjoyMik6Ckh1aHUsIGljaCBzdWNoZSBuZW4gZ2VicmF1Y2h0ZXMgTGVub3ZvLU5vdGVib29rOyBrZW5udCBqZW1hbmQKImd1dGUiIFF1ZWxsZW4sIHdvIG1hbiBMZW5vdm8tTm90ZWJvb2tzIGJla29tbWVuIGthbm4/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcmdhbmlzYXRpb24gIk1vcmdlbkdyYXVlbiIgYmVpIEdpdGh1YiAoWm9vaywgMTcuIE1hciAyMDE1LCAwOTozODo0OSk6Ckh1aHUgenVzYW1tZW4sCgppY2ggaGFiZSBlaW5tYWwgYmVpIEdpdGh1YiBlaW5lIE9yZ2FuaXNhdGlvbiAiTW9yZ2VuR3JhdWVuIiBhbmdlbGVndCwgdW0gCmRhcyBrb2xsYWJvcmF0aXZlIEVudHdpY2tlbG4gdm9uICJLcmFtIiB6dSBlcmxlaWNodGVybi4KCkFscyBlcnN0ZXMgUHJvamVrdCBoYWJlbiB3aXIgZG9ydCBkaWUgU2tyaXB0ZSB6dSBNdWRsZXQgZWluZ2VmdWVndC4gCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPblRvcFJlcGxpY2EgKEFtYXJ5bGxpcywgIDkuIE1haSAyMDE1LCAwMDoxNjo0NCk6CkhpLAoKaW4gaXJnZW5kZWluZW0gVGhyZWFkIChpbWhvIGluIE1lZ2FzY2htYXJybikgaGF0IGplbWFuZCBkYXMgUHJvZ3JhbW0KT25Ub3BSZXBsaWNhIGVyd2FlaG50LiBEYSBkaWVzZSBSdWJyaWsgbmljaHQgamVkZXIgbGllc3QgdW5kIGljaCBkZW4gQXJ0aWtlbAphdWNoIGdlcmFkZSBuaWNodCB3aWVkZXIgZmluZGUsIGFiZXIgZGFzIFByb2dyYW1tIHNlaHIgbnVldHpsaWNoIGZpbmRlLCBnZWJlCmljaCBlcyBoaWVyIG1hbCBhbHMgVGlwIHdlaXRlci4KCkxhZXVmdCBsZWlkZXIgbnVyIHVudGVyIFdpbmRvd3MsIGlzdCBhYmVyIGdlbmlhbC4gTWFuIGthbm4gZGFtaXQgZWluCmJlbGllYmlnZXMgRmVuc3RlciBhbHMga2xlaW5lICJLb3BpZSIgZXJzdGVsbGVuIHVuZCBPblRvcCAoZC5oLiBpbW1lcgpzaWNodGJhciwgZWdhbCB3ZWxjaGVzIGFuZGVyZSBGZW5zdGVyIG5vY2ggb2ZmZW4gaXN0KSBsYXVmZW4gbGFzc2VuLiBEYXp1IG1pdApzbyBudWV0emxpY2hlbiBFaW5zdGVsbHVuZ2VuIHdpZSBPcGFjaXR5IGFucGFzc2VuLCBzb2Rhc3MgZGFzIEZlbnN0ZXIgbGVpY2h0CmJpcyBnYXIgbmljaHQgZHVyY2hzY2hlaW5iYXIgaXN0IGV0Yy4gcHAuCgpTcHJpY2gsIG1hbiBrYW5uIGRhbm4gei5CLiBpbiBkZXIgT25Ub3BSZXBsaWNhIGVpbmUgQVNDSUktS2FydGUsIGRpZSBtYW4gaW4KbmVtIFRleHRlZGl0b3Igb2ZmZW4gaGF0LCBhbHMga2xlaW5lcyBGZW5zdGVyIG9iZW4gcmVjaHRzIG9kZXIgc28KcG9zaXRpb25pZXJlbiwgaGF0IGRhcyBpbW1lciBpbSBCbGljaywgdW5kIGthbm4gdHJvdHpkZW0gYWt0aXYgaW0gTXVkZmVuc3Rlcgoob2huZSBkYXNzIG1hbiBpbW1lciBydWViZXIgenVyIEthcnRlIHdlY2hzZWxuIG11c3MpIHNpY2ggYW4gZGllc2VyCm9yaWVudGllcmVuLgoKQXVjaCBmdWVyIG5pY2h0LW11ZHRlY2huaXNjaGUgRGluZ2Ugc2VociBudWV0emxpY2gsIGZpbmRlIGljaC4gRWluZXMgZGVyCmdlbmlhbHN0ZW4ga2xlaW5lbiBUb29scywgZGllIGljaCBiaXNoZXIgc28gaW5zdGFsbGllcnQgaGFiZSEKClZHLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT25Ub3BSZXBsaWNhIChHbm9tZSwgMTMuIE1haSAyMDE1LCAxNToxMToxNCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQzMTEyMzQwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDMxMTIzNDA0CiJZb3UgbXVzdCBlbmFibGUgZGVza3RvcCBjb21wb3NpdGlvbiwgYnkgc2VsZWN0aW5nICdXaW5kb3dzIEFlcm8nIGFzIHRoZQp0aGVtZSB1c2VkIGJ5IFdpbmRvd3MuIgoKKk1PRVAqIERhbmtlIGZ1ZXJzIE1pdHNwaWVsZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPblRvcFJlcGxpY2EgKEJhbWJ1bGtvLCAxMy4gTWFpIDIwMTUsIDE1OjMzOjEwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNDMxMTIzNDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MzExMjM0MDQKSmEsIGljaCBoYXR0ZSBkYXMgaW4gbWVnYXNjaG1hcnJuIGVyd2FlaG50LiBJY2ggc3VjaGUgc28gZXR3YXMgZnVlciBMaW51eCwgZGFzCnd1ZXJkZSBtZWluIExlYmVuIGRldXRsaWNoIGVpbmZhY2hlciBtYWNoZW4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9uVG9wUmVwbGljYSAoR25vbWUsIDEzLiBNYWkgMjAxNSwgMjE6Mzc6MjEpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTQzMTUyMzk5MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDMxMTIzNDA0Ci4uLiB1bmQgZmFsbHMgZHUgYmVpIGRlaW5lciBTdWNoZSBzb3dhcyBhZWhubGljaGVzIGZ1ZXIgV2luZG93cyBpbgoidmVybnVlbmZ0aWcgcHJvZ3JhbW1pZXJ0IiBmaW5kZXN0LCBzYWcgQmVzY2hlaWQuIERpZSBJZGVlIGlzdCBqZWRlbmZhbGxzCmJlc3RlY2hlbmQuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT25Ub3BSZXBsaWNhIChBbWFyeWxsaXMsIDE0LiBNYWkgMjAxNSwgMjA6MDU6MzQpOgp+IyEgcm49R25vbWUgcnQ9MTQzMTU0NTg0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDMxMTIzNDA0CkljaCB2ZXJtdXRlIG1hbCwgZGFzcyBkYXMgQWVyby1HZWRvZW5zIGZ1ZXIgZGllIE9wYWNpdHktRnVua3Rpb24gYmVub2V0aWd0CndpcmQgKGRpZSBpY2ggYWxzIHNlaHIgaGlsZnJlaWNoIGVtcGZpbmRlKS4KV2VubiBkYXMgRGlyIG5pY2h0ICJ2ZXJudWVuZnRpZyBwcm9ncmFtbWllcnQiIGlzdCAoaWNoIGRlbmtlLCBEdSBoYXN0IGRlbgpTb3VyY2UgZ2VsZXNlbiwgd2VubiBEdSBkYXMgYmVoYXVwdGVzdCA7KSksIGhhYmUgaWNoIGxlaWRlciBkZXJ6ZWl0IGtlaW5lCkFsdGVybmF0aXZlIGZ1ZXIgRGljaC4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9uVG9wUmVwbGljYSAoR25vbWUsIDE0LiBNYWkgMjAxNSwgMjA6NTI6MTEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MzE2MjY3MzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQzMTEyMzQwNApNb2VnbGljaCwgZGFzcyBlcyBkYW1pdCBlaW5mYWNoZXIgZ2VodCwgYWJlciBiZXN0aW1tdCBuaWNodCB1bm1vZWdsaWNoIG9obmUuCkFiZXIgbmV0dCwgZGFzcyBkdSBkaWNoIHNvIGJlbXVlaHN0IHVtIG1laW5lIFd1ZW5zY2hlLiA7KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE9uVG9wUmVwbGljYSAoVmFyZGlvbiwgMjMuIE1haSAyMDE1LCAxNzoxMjoyNSk6Cn4jISBybj1Hbm9tZSBydD0xNDMxNjI5NTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MzExMjM0MDQKQWVybyBtYWNodCBub2NoIHZpZWwgbWVoci4gSW0ga2xhc3NpY2hlbiBXaW5kb3dzIHVlYmVybWFsdGVuIHNpY2ggYWxsZQpBbndlbmR1bmdlbiwgc28gd2llIGRhcyBoYWx0IHVudGVyIFgxMSBhdWNoIGlzdC4gV2VubiBlaW4gZmVuc3RlciB2ZXJzY2hvYmVuCnd1cmRlLCB3dXJkZSBkZW0gZHJ1bnRlcmxpZWdlbmRlbiBGZW5zdGVyIGdlc2FndCAiRHUgbXVzc3QgUmVjaHRlY2sgdm9uIGJpcwpuZXUgbWFsZW4sIGRhIHd1cmRlc3QgZHUgZ2VyYWRlIHNpY2h0YmFyIi4gUmVpY2hsaWNoIGluZWZmaXppZW50LgpJbiBBZXJvIGlzdCBqZWRlIEFud2VuZHVuZywgd2FzIGRlbiBCaWxkc2NoaXJtIGFuZ2VodCwgZXJzdCBtYWwgYWxsZWluLiBTaWUKbWFsdCBuaWNodCBhdWYgZGVuIERlc2t0b3Agc29uZGVybiBpbiBlaW5lIFRleHR1ci4gVW5kIGluIGRpZXNlIFRleHR1ciBtYWx0CnNpZSBnYW56IGFsbGVpbi4gVW5kIGRlciBEZXNrdG9wIFdpbmRvdyBNYW5hZ2VyIChEV00gLSBlaW5lIEtlcm5rb21wb25lbnRlIHZvbgpBZXJvKSBiYXN0ZWx0IGRhbm4gZGllc2UgVGV4dHVyZW4gdWViZXJlaW5hbmRlciwgc28gd2llIGRpZSBBbndlbmR1bmdlbiBnZXJhZGUKenVyZWNodGdlc2Nob2JlbiBzaW5kLCBnZ2YuIG1pdCBUcmFuc3BhcmVuei4gV2VubiBtYW4gbnVuIGVpbiBGZW5zdGVyCnZlcnNjaGllYnQsIG11c3MgZGllICJmcmVpd2VyZGVuZGUiIEFud2VuZHVuZyAqZ2FyIG5pY2h0cyogbWFjaGVuLCBkYSBpaHIKa29tcGxldHRlcyBGZW5zdGVyIGplZGVyemVpdCBpbiBkZXIgdGV4dHVyIGJlcmVpdCBsaWVndC4gRGVyIERXTSBiYXN0ZWx0CmVpbmZhY2ggbnVyIGRlbiBCaWxkc2NoaWVtIGF1cyBhbmRlcmVuIFRleHR1cnN0dWVja2VuIHp1c2FtbWVuLgpVbmQgbnVuIHdpcmQgZXVjaCBzaWNoZXIgYXVjaCBrbGFyLCB3YXJ1bSBkYXMgdm9uIEFtYSBnZW5hbm50ZSBQcm9ncmFtbSBBZXJvCndpbGwgLSB3ZWlsIG51ciBtaXQgQWVybyBkZXIga29tcGxldHRlIEJpbGRzY2hpcm1pbmhhbHQgZGVyIHZlcmRlY2t0ZW4KQW53ZW5kdW5ndWViZXJoYXVwdCBleGlzdGllcnQuIE9obmUgQWVybyBrb2VubnRlIG1hbiBzaWNoIGRlbiB2ZXJkZWNrdGVuIFRlaWwKbmlyZ2Vud28gaG9sZW4sIHdlaWwgZXIgZ2VyZW5kZXJ0IHNjaGxpY2h0d2VnIG5pY2h0IGV4aXN0aWVyZW4gd3VlcmRlLgpVbmQgTWVpbnVuZ2VuIHNpbmQgamEgdmVyc2NoaWVkZW4sIGFiZXIgZGFzIHdhcyBBZXJvIGRhIG1hY2h0LCBmaW5kZSBpY2ggbmljaHQKdW52ZXJudW5mdGlnLCBzb25kZXJuIGFic29sdXQgcmljaHRpZy4gTW9kZXJuZSBHcmFmaWtrYXJ0ZSBoYWJlbiBlaCBqZWRlIE1lbmdlClNwZWljaGVyIGZ1ZXIgVGV4dHVyZW4sIGRhIG11c3MgbWFuIG5pY2h0IGJlaSBqZWRlciBGZW5zdGVydmVyc2NoaWVidW5nIHppZwpQcm96ZXNzZSBhdWZ3ZWNrZW4gZGFtaXQgZGlyIGVpbiBwYWFyIE1pbGxpbWV0ZXIgQmlsZHNjaGlybSBuYWNoemVpY2huZW4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaWx0ZXJyZWdlbG4gTW9yZ2VuZ3JhdWVuLVRlbG5ldCAoPykgKEFuYXRvbCwgMzAuIEp1biAyMDE1LCAwOTowMToyOSk6CgpIYWxsbyAtCgp2b24gbWVpbmVtIHVyZWlnZW5lbiB2aXJ0dWFsIFNlcnZlciBrb21tZSBpY2ggbGVpZGVyIG5pY2h0Cm1laHIgYXVmIGRlbiBNb3JnZW5ncmF1ZW4tUmVjaG5lci4gRGVyICJtdHIiIGVycmVpY2h0IGRlbiBIb3N0CnVubWl0dGVsYmFyIHZvciBkZW0gTUctUmVjaG5lciAoc3dydC1zdG8xLXZsNTAwLm5ldGNvbG9nbmUuZGUpCm5vY2gsIHZvbSBNRy1SZWNobmVyIGtvbW10IGRhbm4gKHdlbm4gZGllIFBhZWNrY2hlbiBpaG4gZGVubgplcnJlaWNoZW4pIG5peCB6dXJ1ZWNrLgoKRmlsdGVydCBoaWVyIGRlciBNRy1SZWNobmVyPyBOZXRDb2xvZ25lIHdpcmQgZGEgYXVmIEhpbndlaXMKdm9uIGF1c3NlbiBlaGVyIG5pY2h0IHRhZXRpZyAoZGllIEtvbnRha3Rob3RsaW5lIHZlcndlaXN0IGF1ZgpkaWUgU3RvZXJ1bmdzaG90bGluZSwgdW5kIGRpZSBTdG9lcnVuZ3Nob3RsaW5lIHZlcndlaWdlcnQgamVkZQpBa3Rpdml0YWV0IC0gaWNoIHNlaSBqYSBuaWNodG1hbCBOZXRDb2xvZ25lLUt1bmRlIHVuZCB2ZXJ3ZWlzdAptaWNoIGlocmVyc2VpdHMgYXVmIGRpZSBhYnVzZS1NYWlsYm94LiBEYSBrYW0sIGJpcyBhdWYgZGFzCkF1dG9yZXBseSwgbml4IHp1cnVlY2s7IGFuIGRlciBTaXR1YXRpb24gaGF0IHNpY2ggYXVjaCBuaWNodHMKZ2VhZW5kZXJ0LgoKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpbHRlcnJlZ2VsbiBNb3JnZW5ncmF1ZW4tVGVsbmV0ICg/KSAoQW5hdG9sLCAzMC4gSnVuIDIwMTUsIDExOjA5OjU2KToKfiMhIHJuPUFuYXRvbCBydD0xNDM1NjQ3Njg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MzU2NDc2ODkKTm90d2VuZGlnZXMgU2VsYnN0cmVwbHksIGRhbWl0IGRpZSBLb3Bmc2NobWVyemVuCmF1c2Zob2VyZW4uIAoKKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaWx0ZXJyZWdlbG4gTW9yZ2VuZ3JhdWVuLVRlbG5ldCAoPykgKFZhbmlvbiwgMzAuIEp1biAyMDE1LCAyMzoxNDoxNyk6Cn4jISBybj1BbmF0b2wgcnQ9MTQzNTY1NTM5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDM1NjQ3Njg5CkhhYmUgc2VsYnN0IGtlaW5lIFByb2JsZW1lIHZvbiBlaW5lbSBTdHJhdG8gdnNlcnZlci4KCkhhc3RlIHZsbHQgSVB2NiBhbj8gRGFzIHdhciBtYWwgbWVpbiBGZWhsZXIuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpbHRlcnJlZ2VsbiBNb3JnZW5ncmF1ZW4tVGVsbmV0ICg/KSAoWmVzc3RyYSwgIDEuIEp1bCAyMDE1LCAwMDowMjo1MCk6Cn4jISBybj1BbmF0b2wgcnQ9MTQzNTY0NzY4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDM1NjQ3Njg5CkljaCB3ZWlzcywgZGFzcyBJUC1CZXJlaWNoZSBhdWNoIGF1ZiBkZW0gTUctUmVjaG5lciBnZWZpbHRlcnQgd2VyZGVuLCBhYmVyCmZ1ZXIgZGVmaW5pdGl2ZSBBdXNrdWVuZnRlIHdhZXJlIEFtYXJ5bGxpcyBkaWUgZ2VlaWduZXRlIFBlcnNvbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmlsdGVycmVnZWxuIE1vcmdlbmdyYXVlbi1UZWxuZXQgKD8pIChBbWFyeWxsaXMsICAxLiBKdWwgMjAxNSwgMjA6NTg6MDIpOgp+IyEgcm49WmVzc3RyYSBydD0xNDM1NzAxNzcwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MzU2NDc2ODkKWnUgZGVtIFRoZW1hIHNhZ2UgaWNoIGluIGVpbiBwYWFyIFRhZ2VuIGV0d2FzLiBJY2ggYmluIGRhIG1vbWVudGFuIGluCiJHZXNwcmFlY2hlbiIgdW5kIHNlaHIgenV2ZXJzaWNodGxpY2guCgpHcnVzcywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmlsdGVycmVnZWxuIE1vcmdlbmdyYXVlbi1UZWxuZXQgKD8pIChBbmF0b2wsICAyLiBKdWwgMjAxNSwgMTE6MTI6MzQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MzU3NzcwODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQzNTY0NzY4OQpEYW5rZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSU8gdW50ZXIgTGludXggYmVvYmFjaHRlbiAoWm9vaywgIDguIEp1bCAyMDE1LCAwOToyNToyMSk6CkhpLCBpcmdlbmR3aWUgaGFiZSBpY2ggYXVmbSBOb3RlYm9vayBtYW5jaG1hbCBzZWhyIHZpZWwgSU8gdW5kIGRhbm4gCmF1Y2ggYm9lcyBMb2FkOyB3YXMgaXN0IGRlbm4gZGFzIFRvb2wgZGVyIFdhaGxbdG1dLCB1bSBkYXMgZWluIGJpc3NjaGVuCmluIGRlbiBCbGljayB6dSBuZWhtZW4/IChBdWNoIHVtIGRpZSBQcm96ZXNzZSB6dSBmaW5kZW4gZXRjLikgSWNoIApzdGVsbGUgbWljaCBkYSBldHdhcyBkb29mIGFuIGltIE1vbWVudC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJTyB1bnRlciBMaW51eCBiZW9iYWNodGVuIChDaGFnYWxsLCAgOC4gSnVsIDIwMTUsIDEyOjQwOjI2KToKfiMhIHJuPVpvb2sgcnQ9MTQzNjM0MDMyMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDM2MzQwMzIxCk9obmUgZ3Jvc3MgZ2V0ZXN0ZXQgenUgaGFiZW46IGlvdG9wLiBaZWlndCB0b3AtbWFlc3NpZyBkaWUgSU8gZGVyIGVpbnplbG5lbgpQcm96ZXNzZSBhbi4gCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJTyB1bnRlciBMaW51eCBiZW9iYWNodGVuIChaZXNzdHJhLCAgOC4gSnVsIDIwMTUsIDE5OjUxOjUwKToKfiMhIHJuPUNoYWdhbGwgcnQ9MTQzNjM1MjAyNiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDM2MzQwMzIxCkVzIGthbm4gc2VpbiwgZGFzcyBEZWluIGtlcm5lbCB3ZWdlbiB2aWVsIFNwZWljaGVyIGRlbiBCbG9jay1DYWNoZSBzZWhyIGdyb3NzCndhZWhsdCwgZC5oLiBlciB3YXJ0ZXQgYmlzIHZpZWwgenUgc2NocmVpYmVuZGUgRGF0ZW4gZGEgc2luZCwgYmV2b3IgZXIgYXVmIGRpZQpQbGF0dGVuIHdlZ3NjaHJlaWJ0LiBXZW5uIGRpZSBkYW5uIGF1Y2ggbmljaHQgc28gZmxvdHQgc2luZCwgd2FydGV0IHUuVS4gYWxsZXMKYW5kZXJlIGF1ZiBkYXMuIERhcyBoYXR0ZW4gd2lyIHNlbGJzdCBiZWltIE11ZHJlY2huZXIgc2Nob24sIGRlciBoYWx0IHZpZWwKU3BlaWNoZXIgaGF0LiAxMCUgdm9uIDE2IEdCIHNpbmQgei5CLiBuZSBnYW56ZSBNZW5nZSwgd2VubiBlcyBhdWYgbmUgbGFobWUKUGxhdHRlIG11c3MuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGaWx0ZXJyZWdlbG4gTW9yZ2VuZ3JhdWVuLVRlbG5ldCAoPykgKEFuYXRvbCwgMTUuIEp1bCAyMDE1LCAwNzowMTowMyk6Cn4jISBybj1BbmF0b2wgcnQ9MTQzNTgyODM1NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDM1NjQ3Njg5ClNpdHVhdGlvbiBoaWVyIHVudmVyYWVuZGVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBGaWx0ZXJyZWdlbG4gTW9yZ2VuZ3JhdWVuLVRlbG5ldCAoPykgKENoYWdhbGwsIDE1LiBKdWwgMjAxNSwgMDg6MDU6MDApOgp+IyEgcm49QW5hdG9sIHJ0PTE0MzY5MzY0NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQzNTY0NzY4OQpBbmJpZXRlcndlY2hzZWw/CgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmlsdGVycmVnZWxuIE1vcmdlbmdyYXVlbi1UZWxuZXQgKD8pIChBbmF0b2wsIDE1LiBKdWwgMjAxNSwgMDg6MDk6MTEpOgp+IyEgcm49Q2hhZ2FsbCBydD0xNDM2OTQwMzAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0MzU2NDc2ODkKSWNoIHNvbGwgbWVpbmUgVk1zIHZvbiBkZXIgMSYxIHdlZ3ppZWhlbiwgd2VpbCBkZXJlbiBJUHMgaXJnZW5kd28gdm9tCk1HLUhvc3Qgb2RlciBlaW5lbSBOZXR6ZWxlbWVudCBkYXZvciBnZWZpbHRlcnQgd2VyZGVuPyBPaG5lIGRpZSBHcnVlbmRlCnp1IGtlbm5lbj8gT2huZSBhdWNoIG51ciBBbmhhbHRzcHVua3RlIHp1IGhhYmVuLCBkYXNzIGRhcyBhbmRlcnN3byBuaWNodAphdWNoIHBhc3NpZXJlbiBrYW5uIHNvbmRlcm4gaW0gR2VnZW50ZWlsIGdlbGVzZW4genUgaGFiZW4sIGRhc3MgZXMgYXVzCmFuZGVyZW4gTmV0emVuIGF1Y2ggU2Nod2llcmlna2VpdGVuIGdpYnQ/CgpWb24gZGVyYXJ0aWdlbSBTdWNodGdlYmFyZW4gYmluIGljaCBpbnp3aXNjaGVuIGt1cmllcnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRmlsdGVycmVnZWxuIE1vcmdlbmdyYXVlbi1UZWxuZXQgKD8pIChBbmF0b2wsIDE2LiBKdWwgMjAxNSwgMDE6MDQ6MjIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MzY5ODgyMDIgcmc9YmVrYW5udG1hY2h1bmdlbgp+IyEgdGlkPTE0MzU2NDc2ODkKCk9obmUgZWluZSBoYW5kZmVzdGUgQW50d29ydCB2b24gZGVyIE5DICgiV2lyIGhhYmVuIGRhcyBnZXNwZXJydCwgd2VpbC4uLiIpCmhhYmUgSUNIIFBFUlNPRU5MSUNIIGtlaW5lIEhhbmRoYWJlIGdlZ2VudWViZXIgZGVyIDEmMS4gRGllIFNwZXJyZSwgc28gCmJlZ3J1ZW5kZXQgc2llIHNlaW4gbWFnLCBoYXQgbnVubWFsIGRpZSBOQyBnZXNldHp0LCB1bmQgbmljaHQgbWVpbiBQcm92aWRlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2Z0d2FyZSBmdWVyIE1lc3NhZ2UgUXVldWUgKFpvb2ssIDE1LiBEZXogMjAxNSwgMTI6MDI6NTUpOgpIaSwgCgppY2ggd2lsbCBtYWwgc28gbmVuIE1RLURpZW5zdCBhdWZzZXR6ZW4gdGVzdHdlaXNlOyB3YXMgbmltbXQgbWFuIApkZW5uIGRhIGhldXRlIHNvIGZ1ZXIgZWluZW4gRGllbnN0PyBSYWJiaXRNUT8KClNvbGx0ZSBuaWNodCBzb29vbyByZXNzb3VyY2VuaHVuZ3JpZyBzZWluLCBpY2ggd3VlcmRlIGRhcyBEaW5nCmF1Y2ggZ2VybmUgYXVmIG5lbSBSYXNwYmVycnkgUGkyIG1hbCBpbnN0YWxsaWVyZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29mdHdhcmUgZnVlciBNZXNzYWdlIFF1ZXVlIChab29rLCAxNS4gRGV6IDIwMTUsIDE0OjIwOjA1KToKfiMhIHJuPVpvb2sgcnQ9MTQ1MDE3NzM3NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDUwMTc3Mzc1CkFlaCwgZGFzIERpbmcgc29sbHRlIGlyZ2VuZHdpZSAodWViZXIgUGx1Z2lucyBvZGVyIHNvIHZvbiBIYXVzIGF1cykgTVFUVAp1bmQgU1RPTVAgc3ByZWNoZW4ga29lbm5lbi4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU29mdHdhcmUgZnVlciBNZXNzYWdlIFF1ZXVlIChab29rLCAxOC4gRGV6IDIwMTUsIDEwOjI3OjExKToKfiMhIHJuPVpvb2sgcnQ9MTQ1MDE4NTYwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDUwMTc3Mzc1CkVzIHd1cmRlIGRlciBSYWJiaXRNUSwgYXVmbSBOb3RlYm9vayBoYWJlIGljaCBkZW4gc2Nob24gbWFsIG9yZGVudGxpY2ggYW5zCmxhdWZlbiBiZWtvbW1lbjsgbWFsIHNlaGVuLCB3aWUgZXIgc2ljaCBzbyBhdWYgZGVtIFBpIG1hY2h0LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxwaW5lIExpbnV4IChab29rLCAxOC4gRGV6IDIwMTUsIDEwOjI5OjA1KToKU2VydnVzLCBzY2hvbiBtYWwgamVtYW5kIG1pdCBkZW0gQWxwaW5lIExpbnV4IGdlYmFzdGVsdD8gSXJnZW5kd2llIGlzdCBkYXMKamEgemllbWxpY2ggY29vbCAod2VpbCBuZW4gUGFrZXQgTWFuYWdlciBkYWJlaSksIGFsbGVyZGluZ3MgaGFiZSBpY2ggZGFzCmVpbmUgb2RlciBhbmRlcmUgUHJvZ3JhbW0sIGRhcyBkaWVzZSBtdXNsIGxpYmMgYXVzIGlyZ2VuZHdlbGNoZW4gR3J1ZW5kZW4KbmljaHQgbWFnLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFscGluZSBMaW51eCAoWm9vaywgMTguIERleiAyMDE1LCAxMTo0Mjo1Nik6Cn4jISBybj1ab29rIHJ0PTE0NTA0MzA5NDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQ1MDQzMDk0NQpIbW0uLi4gQWgsIG1laW5lIEFud2VuZHVuZyBtYWcgdWNvbnRleHQgaGFiZW4sIGRhcyBpc3QgYWJlciB3b2hsIG5pY2h0Cm1laHIgaW4gUE9TSVggdW5kIGRhIG11c2wgc2ljaCBkcmFuIGhhZWx0LCBrbmFsbHQncy4gSG0uIFpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVU0ItUGxhdHRlIHdpcmQgdW50ZXIgV2luOC4xIG5pY2h0IGVya2FubnQgKEFtYXJ5bGxpcywgMjIuIERleiAyMDE1LCAwMjoxOTo0Mik6CkhpLAoKSWNoIGhhYmUgZWluZW4gbmV1ZW4gTGFwdG9wLCBiZWkgZGVtIHNhZW10bGljaGUgZXh0ZXJuZW4gVVNCLVBMYXR0ZW4gYW5mYW5ncwpwcm9ibGVtbG9zIGVya2FubnQgd3VyZGVuLiBOdW4ga2xhcHB0IGRhcyBwbG9ldHpsaWNoIG5pY2h0IG1laHIuIERpZSBEaW5nZXIKbGV1Y2h0ZW4sIGhhYmVuIFN0cm9tLCBldGMuLCBhYmVyIFdpbmJsb2VkIHZlcndlaWdlcnQgZGllIEVSa2VubnVuZy4KSW0gRGV2aWNlIE1hbmFnZXIgc2luZCBrZWluZXJsZWkgRmVobGVyIGVya2VubmJhci4gRGllIFBMYXR0ZW4gdGF1Y2hlbiBlaW5mYWNoCm5pY2h0IGF1Zi4KRXMgaGFuZGVsdCBzaWNoIHNvd29obCB1bSBlaW5lIGFsdGUgKD4zIEphaHJlKSBQbGF0dGUgYWxzIGF1Y2ggdW0gZWluZQp0b3Bha3R1ZWxsZSBQbGF0dGUgbWl0IFVTQjMuMC1TdGVja2VyLi4uIG5peCB3aXJkIGVya2FubnQuCgpIYXQgamVtYW5kIG5lbiBUaXA/CgpEYW5rZSB1bmQgVkcsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVU0ItUGxhdHRlIHdpcmQgdW50ZXIgV2luOC4xIG5pY2h0IGVya2FubnQgKFJob2Fra2EsIDIyLiBEZXogMjAxNSwgMTY6NDg6MjkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0NTA3NDcxODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQ1MDc0NzE4MgpIbW0gemVpZ3QgZGllIERhdGVudHJhZWdlcnZlcndhbHR1bmcgYXVjaCBuaXggYW4sIGV2ZW50dWVsbCB3aXJkIGphIG51ciBrZWluCkxhdWZ3ZXJrc2J1Y2hzdGFiZSB6dWdld2llc2VuLiBBbnNvbnN0ZW4gZXZlbnR1ZWxsIFN0cm9tc3Bhcm1vZHVzIG9kZXIgc28gbmVuCmdlZG9lbnNlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVU0ItUGxhdHRlIHdpcmQgdW50ZXIgV2luOC4xIG5pY2h0IGVya2FubnQgKFpvb2ssICAzLiBKYW4gMjAxNiwgMjA6MzQ6NTkpOgp+IyEgcm49UmhvYWtrYSBydD0xNDUwNzk5MzA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0NTA3NDcxODIKSWNoIGhhYmUgZGllc2VzIFBoYWVub21lbiBhdWNoIGdlbGVnZW50bGljaCBtYWwgYmVvYmFjaHRldDsgZGEgaWNoIGtlaW5lClRlc3RtYXNjaGluZSBtaXQgZGVtIE9TIGhhYmUsIGtvbm50ZSBpY2ggZGFzIGFiZXIgbmljaHQgd2VpdGVyCmFuc2VoZW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVU0ItUGxhdHRlIHdpcmQgdW50ZXIgV2luOC4xIG5pY2h0IGVya2FubnQgKEFtYXJ5bGxpcywgIDMuIEphbiAyMDE2LCAyMzo0NzoxOSk6Cn4jISBybj1ab29rIHJ0PTE0NTE4NDk2OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQ1MDc0NzE4MgpJY2ggYmluIG1pdHRsZXJ3ZWlsZSBhdWNoIGFtIFZlcnp3ZWlmZWxuLi4uIGZvbGdlbmRlIExpbmtzIGhhYmVuIE5JQ0hUCmdlaG9sZmVuLCBoYWJlIGFsbGVzIGF1c3Byb2JpZXJ0OgpodHRwOi8vd3d3LmJlc3NyLmRlLzIwMTQvMDMvMjkvd2luZG93cy04LTEtZXJrZW5udC1rZWluZS11c2ItZmVzdHBsYXR0ZW4tbWVoci8KCmh0dHA6Ly93d3cuZHJ3aW5kb3dzLmRlL3dpbmRvd3MtOC1hbGxnZW1laW4vNzM5NzItd2luLTgtMS1lcmtlbm50LWV4dGVybmUtdXNiLQpmZXN0cGxhdHRlLmh0bWwKCldlaXNzIG5vY2ggamVtYW5kIFJhdD8gSWNoIGtvZW5udGUga29zdGVubG9zIGF1ZiBXaW4xMCB1cGRhdGVuLCBhYmVyIGljaApmdWVyY2h0ZSwgZGEgaGFuZGxlIGljaCBtaXIgbWVociBQcm9ibGVtZSBhbHMgTG9lc3VuZ2VuIGVpbi4uLj8KClZHLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVU0ItUGxhdHRlIHdpcmQgdW50ZXIgV2luOC4xIG5pY2h0IGVya2FubnQgKEFtYXJ5bGxpcywgIDMuIEphbiAyMDE2LCAyMzo0OTowMSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQ1MTg2MTIzOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDUwNzQ3MTgyCkFjaGphLCBJbmdyaWQuLi4gbm9jaCB3YXMgdmVyZ2Vzc2VuLgpJY2ggaGFiZSBkaXZlcnNlIFJldHR1bmdzdG9vbHMgdmVyc3VjaHQsIHVuZCB0YXRzYWVjaGxpY2ggaGF0IGVpbgpUcmVpYmVydXBkYXRlIGF1Y2ggZWluZW4gR0VuZXJpYy1VU0ItVHJlaWJlciBpbnN0YWxsaWVydC4gc2VpdGRlbSBzaW5kIHp3ZWkKVHJlaWJlciBmdWVyIGRpZSBiZWlkZW4gUGxhdHRlbiBpbSBHZXJhZXRlbWFuYWdlciBhdWYgImdlbGIiIGdlc2V0enQuCmFrdHVhbGlzaWVyZW4gbGFzc2VuIHNpY2ggZGllc2UgbmljaHQgLSBrZWluZSBUcmVpYmVyIGdlZnVuZGVuLi4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcGVuU3RyZWV0TWFwIChab29rLCAyNC4gSmFuIDIwMTYsIDIxOjM5OjI5KToKSGksIGhhdCBpcmdlbmRqZW1hbmQgdm9uIEV1Y2ggRXJmYWhydW5nIG1pdCBkZW0gQXVmc2V0emVuIGVpbmVzClNlcnZlcnMgZnVlciBLYWNoZWxuIG1hbGVuIChnZXJuIGF1Y2ggUm91dGluZykgZnVlciAKT3BlblN0cmVldE1hcC4gSWNoIGhhYmUgendhciBlaW5lbiwgYWJlciBkZXIgaXN0IGlyZ2VuZHdpZQp2b24gZGVyIFBlcmZvcm1hbmNlIGtvbWlzY2ggdW5kIGtvbW10IG5pY2h0IGhpbnRlciBkaWUKQWVuZGVydW5nZW4gaGludGVyaGVyLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZ2xla3Jha2UgKEFtYXJ5bGxpcywgMjMuIEFwciAyMDE2LCAwMzoyOTowMyk6CkhhbGxvIHp1c2FtbWVuLAoKaWNoIGhhYmUgZWluZSBGcmFnZSBiemdsLiBHb29nbGUvQW5kcm9pZC9XaGF0c0FwcC4KCkJpc2hlciBoYWJlIGljaCBtaWNoIGltbWVyIHVtIFdoYXRzQXBwIGhlcnVtZ2VkcnVlY2t0LCBrYW5uIGRpZXMgbGVpZGVyIGFiZXIKbWl0dGxlcndlaWxlIG5pY2h0IG1laHIuCgpEYSBqYSBXaGF0c0FwcCBlcnN0bWFsIHNhZW10bGljaGUgS29udGFrdGRhdGVuIGV0Yy4sIGRpZSBiZWkgbWlyIGF1ZmdydW5kCmdlc2NoYWVmdGxpY2hlciBUYWV0aWdrZWl0IHJlY2h0IHNlbnNpYmVsIHNpbmQsIHp1IHNpY2ggcnVudGVybGFlZHQsIGljaCB6dW0KendlaXRlbiBlaCBzY2hvbiBsYW5nZSBhbiBlaW5lbSBUYWJsZXQgbWl0IElOZXQtWnVnYW5nICJydW1tYWNoZSIsIHVuZCB6dW0KZHJpdHRlbiBtZWluIGdlc2NoYWVmdGxpY2hlcyBIYW5keSBudXIgZWluZW4gVGVsZWZvbnZlcnRyYWcgdW5kIGtlaW4KSU5ldC1adWdhbmcKYmVpbmhhbHRldGUsIGRhY2h0ZSBpY2ggbWlyIGZvbGdlbmRlIFN0cmF0ZWdpZSBhdXM6CgoxLiBIYW5keSBhdWYgIlRlbGVwaG9uZSBvbmx5IiBiZWxhc3Nlbi4KMi4gVGFibGV0IG1pdCBJbmV0LVZlcnRyYWcga2F1ZmVuLCB3b2JlaSBJTmV0IHVlYmVyIGVpbmVuIGFuZGVyZW4gUHJvdmlkZXIgYWxzCiAgIGRhcyBIYW5keSBsYWV1ZnQuCiAgIApHZXNhZ3QsIGdldGFuLiBUYWJsZXQgZ2VrYXVmdCwgVmVydHJhZyBnZW1hY2h0LCBiZWkgZGVyIEluc3RhbGxhdGlvbiAoU2Ftc3VuZwpUYWJsZXQsIEdvb2dsZSBBbmRyb2lkKSBhdWNoIGJyYXYgZWluZW4gYW5kZXJlbiBBY2NvdW50IGVpbmdlcmljaHRldCwgYWxzIGRlciwKZGVyIGljaCBhdWYgbWVpbmVtIEhhbmR5IChmdWVyIGZyZWUgV0xhbikgaGFiZS4KCk51biBrb21tdCBkZXIgS25hbGxlcjogTmFjaCBkZXIgSW5zdGFsbGF0aW9uIGZyYWd0IG1pY2ggR29vZ2xlLCBvYiBpY2ggZGllCktvbnRha3RlIChlcyBzaW5kIHp1bSBHbHVlY2sgbnVyIGNhLiA1IHZvbiAyMDAsIGRpZSBpY2ggdm10bC4gbWFsIHZlcmtlaHJ0ZXItCndlaXNlIGluIGRpZSBDbG91ZCBnZWxhZGVuIGhhYikgYXVmIGRhcyBUYWJsZXQgc3luY2VuIHdpbGwuCgpKZXR6dCBtZWluZSBGcmFnZTogV29oZXIgenVtIEdlaWVyICJ3ZWlzcyIgR29vZ2xlIGRhcz8gSWNoIGhhYmUgZWhybGljaApnZXNhZ3QgbW9tZW50YW4gbnVyIGRpZSBJZGVlLCBkYXNzIHouYi4gaXJnZW5kZWluZSBBcHAgbWl0IEJlenVnIGF1ZiBFbWFpbApkZW4gZG9wcGVsdGVuIExvZ2luIHZlcmlmaXppZXJlbiBrYW5uLCB3ZWlsIGljaCBkYSBnZ2YuIG1hbCBkZW4gRmVobGVyIGdlbWFjaHQKaGFiZSwgZGFzIGZyZWUgV0xhbiB2b20gSGFuZHkgYXVzIGZ1ZXIgTWFpbGFicnVmIHp1IG51dHplbi4KCkZyYWdlIGRhaGVyOiBIYXQgamVtYW5kIG5vY2ggbmUgSWRlZSBiemdsLiBhbmRlcmVuIE1vZWdsaWNoa2VpdGVuPyBBdXNzZXJkZW0KbXVlc3N0ZSBpY2ggbGVpZGVyIGF1ZiBkZW0gVGFibGV0IG51biBXaGF0c0FwcCBpbnN0YWxsaWVyZW4sIG1vZWNodGUgZGllcyBhYmVyCmVyc3QgZGFubiB0dW4sIHdlbm4gZGFzIERpbmcgY2xlYW4gdW5kIHdpcmtsaWNoIHZvbSBIYW5keSBnZXRyZW5udCBpc3QuLi4KCkRhbmtlIGZ1ZXIgRXVyZSBUaXBzLgoKVkcsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHb29nbGVrcmFrZSAoQXJhdGhvcm4sIDIzLiBBcHIgMjAxNiwgMTE6MzI6MjgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0NjEzNzQ5NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQ2MTM3NDk0MwpFcyBnaWJ0IGRhIGRvY2ggc28gbmV0dGUgRnJhbWV3b3JrcywgbWl0IGRlbmVuIG1hbiBkaWUgUmVjaHRlIHZvbiBBcHBzCmRldGFpbGxpZXJ0IGVpbnNjaHJhZW5rZW4ga2FubiwgWHByaXZhY3kgdW5kIFNSVCBBcHBHdWFyZC4gS29tbXN0IGR1IGRhbWl0Cm5pY2h0IHp1bSBaaWVsPyBELmguIHNvIGVpbiBEaW5nIGluc3RhbGxpZXJlbiwgV2hhdHNBcHAgaW5zdGFsbGllcmVuLCAKWnVncmlmZiBhdWZzIEFkcmVzc2J1Y2ggdmVyYmlldGVuLCBLb250YWt0ZSBtYW51ZWxsIGluIFdoYXRzQXBwIHZlcndhbHRlbj8KCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHb29nbGVrcmFrZSAoR2xvaW5zb24sIDIzLiBBcHIgMjAxNiwgMTE6Mzg6NTcpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTQ2MTQwMzk0OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDYxMzc0OTQzCihOdXIgYW5zY2hsaWVzc2VuZCBhdWYgQXJhdGhvcm46IG9kZXIgQ3lhbm9nZW5tb2QuIEhhdCBkYXMgZWluZ2ViYXV0LikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHb29nbGVrcmFrZSAoQW1hcnlsbGlzLCAyNS4gQXByIDIwMTYsIDAyOjUwOjQzKToKfiMhIHJuPUdsb2luc29uIHJ0PTE0NjE0MDQzMzcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTQ2MTM3NDk0MwpBdWYgZGVtIEhhbmR5IGhhYiBpY2ggamEgQ00uLi4gZGFzIGlzdCBqYSBkYXMgbHVzdGlnZS4gYWJlciBkYW5rZSwgd2VyZCBpY2gKbWFsIHdlaXRlciBzY2hhdWVuLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR29vZ2xla3Jha2UgKEJhbWJ1bGtvLCAyNS4gQXByIDIwMTYsIDEwOjU3OjA5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNDYxNTQ1NDQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0NjEzNzQ5NDMKSWNoIGRhY2h0ZSBpbW1lciBXaGF0c0FwcCBsYXVlZnQgZ2FyIG5pY2h0IGF1Y2ggVGFibGV0cy4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdvb2dsZWtyYWtlIChDcm9mdCwgMjUuIEFwciAyMDE2LCAxMToyMTowOCk6Cn4jISBybj1CYW1idWxrbyBydD0xNDYxNTc0NjI5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0NjEzNzQ5NDMKRHUgbXVzc3QgV2hhdHNhcHAgbnVyIGVpbmUgSGFuZHludW1tZXIgenVvcmRuZW4uICBJY2ggaGF0dGUgdm9yIDIgSmFocmVuCkJsdWUgU3RhY2tzIGF1ZiBkZW0gTGFwdG9wIChlaW5lIEFuZHJvaWQgVk0pLiAgRGEgaGFiIGljaCBkYW5uIG1laW5lCk5pY2h0LVNtYXJ0LVBob25lLU51bW1lciBhbmdlZ2ViZW4gdW5kIFdoYXRzYXBwIGxpZWYgZGFubiBudXIgdWViZXIKKFcpTEFOLgoKQENNOiBTY2hhdSBtYWwgb2IgZHUgZGllIFByaXZhY3kgR3VhcmQgcGFzc2VuZCBrb25maWd1cmllcnQgaGFzdC4KQW0gQmVzdGVuIGF1Y2ggZXJzdG1hbCBkaWUgRGVmYXVsdHMgYXVmIEltbWVyIGZyYWdlbiBvZGVyIEltbWVyCmFibGVobmVuIHNldHplbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDeWd3aW4gdW5kIENobW9kIChHbG9pbnNvbiwgIDQuIEp1biAyMDE2LCAxMjozMTo1NSk6CkNobW9kIGlzdCBkZXJ6ZWl0IHVudGVyIEN5Z3dpbiBicm9rZW4uIFdhcyBkYXp1IGZ1ZWhydCwgZGFzcyBtYW4gYmVpClp1Z3JpZmZzcmVjaHRhZW5kZXJ1bmdlbiBtaXQgZ2l0IE5lcnYgaGF0LiBTdGFja292ZXJmbG93IGhhbGYgYWI6CgokIGdldGZhY2wuZXhlIDxmaWxlPi5jIAojIGZpbGU6IDxmaWxlPi5jCiMgb3duZXI6IEdsb2luc29uCiMgZ3JvdXA6IEdsb2luc29uCnVzZXI6OnJ3eApncm91cDo6ci14ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2VmZmVjdGl2ZTpyLS0KZ3JvdXA6cm9vdDpyd3ggICAgICAgICAgICAgICAgICAgICAgICAgICNlZmZlY3RpdmU6cnctCmdyb3VwOlNZU1RFTTpyd3ggICAgICAgICAgICAgICAgICAgICAgICAjZWZmZWN0aXZlOnJ3LQpncm91cDpIb21lVXNlcnM6cnd4ICAgICAgICAgICAgICAgICAgICAgI2VmZmVjdGl2ZTpydy0KbWFzazpydy0Kb3RoZXI6ci0tCgokIHNldGZhY2wuZXhlIC1tIHU6OnJ3LSxnOjpyLS0sbzpyLS0gPGZpbGUyPi5jCgpOdXIgZmFsbHMgamVtYW5kIGF1Y2ggZGFuYWNoIHN1Y2h0IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTkzMTcyOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChab29rLCAxMi4gSnVuIDIwMTYsIDE2OjQ4OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTQ2NTc0MjI1MSByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKTGludXg6IEltbWVyIG1hbCBrdXJ6ZSBIYWVuZ2VyIGluIFNTSC9UZWxuZXQtU2l0enVuZ2VuCkhpLCBpY2ggaGFiZSBhdWYgZWluZW0gVWJ1bnR1IE1hdGUgMTYuMDQgZWluIGtvbWlzY2hlcwpQaGFlbm9tZW4sIGRhc3MgZXMgaW4gU1NILVNpdHp1bmdlbiBpbW1lciBtYWwgenUgSGFlbmdlcm4Ka29tbXQ7IG1hbmNobWFsIGJlb2JhY2h0ZSBpY2ggZGFzIGF1Y2ggaGllciBpbiBkZW4gVmVyYmluZHVuZ2VuCnp1bSBNdWQuIElyZ2VuZHdlciBuZSBJZGVlLCB3byBpY2ggZGEgdWViZXJoYXVwdCBzdWNoZW4ga2FubiwKd29yYW4gZGFzIGxpZWdlbiBrb2VubnRlPwoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTkzMTczOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChab29rLCAxMi4gSnVuIDIwMTYsIDE3OjQ2OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTQ2NTc0MjkxNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD05ODIzMjgyNzgKV29obCBXTEFOLiAKRGFua2UsIE11cGZlbC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5MzE3NDogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoQ3JvZnQsIDEyLiBKdW4gMjAxNiwgMTg6MDA6MjcpOgp+IyEgcm49Wm9vayBydD0xNDY1NzQ2MzY0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MjMyODI3OApUaHJlYWQgRXhwb3J0IQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5MzE3NTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoWm9vaywgMTIuIEp1biAyMDE2LCAxODowMTo1MCk6Cn4jISBybj1Dcm9mdCBydD0xNDY1NzQ3MjI3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTk4MjMyODI3OApNUEEtQmVkaWVuLURpbmdlbnMtUHJvYmxlbWUuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXg6IEltbWVyIG1hbCBrdXJ6ZSBIYWVuZ2VyIGluIFNTSC9UZWxuZXQtU2l0enVuZ2VuIChaYXBob2IsIDEyLiBKdW4gMjAxNiwgMjE6MzU6MzIpOgpEaWVzZXIgQXJ0aWtlbCBleGlzdGllcnQgbnVyLCBkYW1pdCBtYW4gYXVjaCBpbiBkZXIgVWViZXJzaWNodCBkaXJla3Qgc2VoZW4Ka2Fubiwgd2VsY2hlcyBBbmxpZWdlbiBkZXIgZ29ldHRsaWNoZSBab29rIGFuaGVpbWJyYWNodGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZW51dHp0IGhpZXIgd2VyIEJvb3RzdHJhcD8gKFpvb2ssIDExLiBGZWIgMjAxNywgMTg6MjY6NTIpOgpBbHNvIGRhcyBDU1MtRGluZ2Vucy1UcmFsYWxhbGEgKHd3dy5nZXRib290c3RyYXAuY29tKTsgaWNoIGJlZnVlcmNodGUsCmljaCBtdXNzIGRhbWl0IG1laHIgdHVuIGFscyBtaXIgbGllYiBpc3QuIAoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlbnV0enQgaGllciB3ZXIgQm9vdHN0cmFwPyAoUnVtYXRhLCAxMS4gRmViIDIwMTcsIDE5OjUyOjU5KToKfiMhIHJuPVpvb2sgcnQ9MTQ4NjgzNDAxMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDg2ODM0MDEyCkNTUyBpbiBlaW5lbSAoYW5pbWllcnRlbikgQmlsZDogaHR0cHM6Ly9pbWd1ci5jb20vZ2FsbGVyeS9RM2NVZzI5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlbnV0enQgaGllciB3ZXIgQm9vdHN0cmFwPyAoWm9vaywgMTMuIEZlYiAyMDE3LCAxMjo0NzowMyk6Cn4jISBybj1SdW1hdGEgcnQ9MTQ4NjgzOTE3OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDg2ODM0MDEyClJhdGUgbWFsLCB3aWUgaWNoIG1pY2ggZnVlaGxlIHVuZCB3YXJ1bSBpY2ggdW0gSGlsZmUgcnVmZS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbjEwIChBcmssIDI2LiBGZWIgMjAxNywgMDg6NDc6MzEpOgpTbywgaWNoIGhhYiBtaXIgamV0enQgZ2VkYWNodCwgbW9kZXJuaXNpZXIgZGVuIGFsdGVuIFNjaGVpc3MgbWFsLCBhbGxlaW4gYXVzClN1cHBvcnRncnVlbmRlbiwgc2Nod3VwcHMsIGVpbmUga2xlaW5lIEhQIE1vZWhyZSBtaXQgV2luMTAgUHJlaW5zdGFsbCBnZWthdWZ0CnVuZCBzb2ZvcnQgaW4gZWluZW4gbHVzdGlnZW4gRW5kbG9zd2FydGVzY3JlZW4gbWl0ICJFaW5lbiBNb21lbnQgYml0dGUiCmdlbGF1ZmVuLiBEaXZlcnNlIFNlaXRlbiBpbSBOZXR6IHRyb2VzdGV0ZW4gbWljaCwgaWNoIGJpbiBuaWNodCBhbGxlaW4uIERvY2gsCmJpbiBpY2gsIGRpZSBWb3JzY2hsYWVnZSwgaXJnZW5kd2llIGF1cyBkZW0gRWxlbmQgbWl0IHNlbHRzYW1lbgpUYXN0ZW5rb21iaW5hdGlvbmVuIHJhdXN6dWtvbW1lbiwgc2NoZWl0ZXJ0ZW4uCkRhIGljaCB3ZWRlciBEaXNram9ja2V5IG5vY2ggRnJlaXplaXRiYXN0bGVyIHNlaW4gd2lsbCAuLi4gd2Vpc3MgaGllciBlaW5lciwKd2llIGljaCBkZW0gRWxlbmQgZW50a29tbWU/CkRhbmtlIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW4xMCAoWmVzc3RyYSwgMjYuIEZlYiAyMDE3LCAxMToxNTo1Mik6Cn4jISBybj1BcmsgcnQ9MTQ4ODA5NTI1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNDg4MDk1MjUxCk1obW0sIG5lZWUsIGRhIGhhYmUgaWNoIGtlaW5lIElkZWUuIEF1c3NlciBuZW4gYW5kZXJlcyBPUyB6dSBpbnN0YWxsaWVyZW4uICpnKgpIYWVuZGxlciBvZGVyIEhQLVN1cHBvcnQgbWFsIGhvZWNoc3Rub3RwZWlubGljaCBmcmFnZW4/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbjEwIChBcmssIDI2LiBGZWIgMjAxNywgMTE6MzM6MzkpOgp+IyEgcm49WmVzc3RyYSBydD0xNDg4MTA0MTUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE0ODgwOTUyNTEKSmEsIHdpcmQgd29obCBuaWNodHMgYW5kZXJlcyB1ZWJyaWcgYmxlaWJlbi4KQWxzbyBuaWNodCBhbmRlcmVzIE9TLCBzb25kZXJuIGRhcyBhbmRlcmUgOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZXN0bXVkczogU2F2ZWZpbGUtU3BlaWNoZXJvcnQgdmVyYWVuZGVydCEgKEdsb2luc29uLCAgNS4gTWFyIDIwMTcsIDIxOjQ1OjUzKToKTW9pbiwKCmRpZSBTYXZlZmlsZXMgbGllZ2VuIGltIE1VRCBzZWl0IGNpcmNhIGVpbmVtIE1vbmF0IG51biBpbiAvZGF0YS8sIG9obmUgZGFzcwpkYXMgamVtYW5kIG1lcmtlbiBrb2VubnRlLiBXZW5uIGlociBhYmVyIGVpbiBiZXN0ZWhlbmRlcyBUZXN0bXVkIG1pdApiZXN0ZWhlbmRlbiBDaGFyYWt0ZXJlbiB2aWEgZ2l0IHVwZGF0ZXQsIHNvbGx0ZXQgaWhyIHZvciBkZW0gU3RhcnRlbiBldXJlClNhdmUtT2JqZWt0ZSBoYWVuZGlzY2ggbmFjaCAvZGF0YS8gc2NoaWViZW46CgoqIG1rZGlyIG11ZGxpYi9kYXRhCiogbWtkaXIgbXVkbGliL2RhdGEvc2VjdXJlCiogbXYgbXVkbGliL3NhdmUgbXVkbGliL2RhdGEvCiogbXYgbXVkbGliL3NlY3VyZS9zYXZlIG11ZGxpYi9kYXRhL3NlY3VyZS8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBBbmRyb2lkLU1vYmlsdGVsZWZvbiAgKFpvb2ssICA3LiBKYW4gMjAxOCwgMjA6Mzc6NDIpOgpIZXksIGljaCBzdWNoZSBlaW4gQW5kcm9pZC1iYXNpZXJ0ZXMgTW9iaWx0ZWxlZm9uIHNvIGluIGRlcgpHZXJhZXRla2xhc3NlIDIwMC0zMDAgRVVSIG1pdCBhbSBiZXN0ZW4gZ3V0ZXIgS2FtZXJhIHVuZCAuLgp3byBtYW4gZGFzIEdlcmFldCBhdWNoIGVudHNwZXJyZW4gdW5kIG1pdCBlaWdlbmVtIFJPTSAKYmVzdHVlY2tlbiBrYW5uLgoKV2FzIGJlbnV0enQgSWhyIGRhZnVlcj8KClpvb2suCgpQUzogQWxzbyBlbnRzcGVycmVuIG1pdCBIZXJzdGVsbGVycyBIaWxmZSB1bmQgbmljaHQgamFpbGJyZWFrZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFM6IEFuZHJvaWQtTW9iaWx0ZWxlZm9uICAoQ3JvZnQsICA3LiBKYW4gMjAxOCwgMjE6MjQ6MjIpOgp+IyEgcm49Wm9vayBydD0xNTE1MzUzODYyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1MTUzNTM4NjIKSWNoIGhhYiBoaWVyIGVpbiBIVEMgMTAgbWl0IExpbmVhZ2UgYW0gU3RhcnQuICBCaW4gc2VociB6dWZyaWVkZW4gbWl0LgpVZWJlciBkaWUgS2FtZXJhIGthbm4gaWNoIG5peCBzYWdlbi4KCmh0dHBzOi8vd2lraS5saW5lYWdlb3Mub3JnL2RldmljZXMvcG1lLwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTOiBBbmRyb2lkLU1vYmlsdGVsZWZvbiAgKFJ1bWF0YSwgIDguIEphbiAyMDE4LCAwNzozMzowMSk6Cn4jISBybj1ab29rIHJ0PTE1MTUzNTM4NjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTUxNTM1Mzg2MgpEaWUgTW90byBHIFJlaWhlIHNvbGx0ZW4gZWluZW4gQmxpY2sgd2VydCBzZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTOiBBbmRyb2lkLU1vYmlsdGVsZWZvbiAgKFpvb2ssICA5LiBKYW4gMjAxOCwgMTA6NDA6MzApOgp+IyEgcm49UnVtYXRhIHJ0PTE1MTUzOTMxODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTUxNTM1Mzg2MgpJY2ggc2VsYnN0IGhhYmUgc28gZWluIFNvbnkgWHBlcmlhIFggYXVzIGRlbSBTb255IE9wZW4gRGV2aWNlIFByb2dyYW07IApiaW4gZGFtaXQgcmVjaHQgenVmcmllZGVuLCBkYXMgaXN0IGFiZXIgZGFzIFZvcmphaHJlc21vZGVsbC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFM6IEFuZHJvaWQtTW9iaWx0ZWxlZm9uICAoWm9vaywgIDkuIEphbiAyMDE4LCAxMDo0MTowMik6Cn4jISBybj1ab29rIHJ0PTE1MTU0OTA4MzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTUxNTM1Mzg2MgpBaCwgbmljaHQgZ2FueiBmZXJ0aWcgZ2VzY2hyaWViZW4uIEljaCB3b2xsdGUgbm9jaCBlcmdhZW56ZW46CgpLYW5uIGF1cyBkZXIgU2VyaWUgamVtYW5kIG5vY2ggd2FzIGVtcGZlaGxlbj8gSWNoIGJlbnV0emUgZGFzClhwZXJpYSBYIGhhbHQgbmljaHQgZnVlciBBbmRyb2lkLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVybnNlaGFuc2NobHVzcyAoQW1hcnlsbGlzLCAyMS4gSnVuIDIwMTgsIDE0OjI1OjU0KToKSGksCgppY2ggYmluIHZvciBrdXJ6ZW0gdW1nZXpvZ2VuLgoKSW4gbWVpbmVyIGFsdGVuIFdvaG51bmcgbGFnIGVpbiBLYWJlbGFuc2NobHVzcywgZGVuIG1hbiB1ZWJlciBkaWUgTmViZW5rb3N0ZW4KbWl0ZmluYW56aWVydCBoYXQuCgpJbiBtZWluZXIgV29obnVuZyBzaWVodCBtYW4gZGEgaXJnZW5kd2VsY2hlICJGZXJuc2VoYW5zY2hsdWVzc2UiLCBhYmVyIG5hY2gKbWVpbmVyIEFuZnJhZ2UgYmVrYW0gaWNoIGZvbGdlbmRlcyB2b24gZGVyIEhhdXN2ZXJ3YWx0dW5nIHp1IGhvZXJlbjoKZXMgZ2lidCwgamUgbmFjaCBCZWRhcmYgZGVzIE1pZXRlcnMgKHdlbGNoZSBQcm9ncmFtbWUgc2luZCB3aWNodGlnKSwgZGllCmZvbGdlbmRlbiBNb2VnbGljaGtlaXRlbiwgRmVybnNlaGVuIHp1IGVtcGZhbmdlbjoKKiB1ZWJlciBTYXRlbGxpdC0gQW5zY2hsdXNzIChSZWNlaXZlciBub2V0aWcpCiogdWViZXIgRFZCLVQgQW50ZW5uZSAoUmVjZWl2ZXIgbm9ldGlnKQoqIG1pdCBlaW5lbSBBbmJpZXRlciBJaHJlciBXYWhsICh6LkIuIFVuaXR5bWVkaWEgb2RlciBUZWxla29tKSBlaW5lbgpwZXJzCk1vbmF0bGljaGUgTWVocmtvc3RlbiBtb2VjaHRlIGljaCBuYXR1ZXJsaWNoIHZlcm1laWRlbi4gRGEgaWNoIGF1cyBkaWVzZW0KVGhlbWEgbGVpZGVyIHJhdXMgYmluLCB3b2xsdGUgaWNoIGhpZXIgZnJhZ2VuLCBmYWxscyBzaWNoIGplbWFuZCBkYW1pdAphdXNrZW5udDoKCiogdm9uIHdhcyBmdWVyIGVpbmVtICJSZWNlaXZlciIgcmVkZW4gd2lyIGhpZXI/IFdhcyBrb3N0ZXQgZGVyIFNwYXNzPwoqICJwZXJzb2VubGljaGVyIFZlcnRyYWciIC0gd2FzIGthbm4gbWFuIGhpZXIgbmVobWVuLCB3YXMgaXN0IHByZWlzbGljaApub2NoIG9rPwoqIGFuc2NoZWluZW5kIGdpYnQgZXMgamEgbmFjaCBBbnNjaGx1c3MgdW50ZXJzY2hpZWRsaWNoZSBQcm9ncmFtbWUuIFdpZQprcmllZ2UgaWNoIHJhdXMsIHdlbGNoZSBQcm9ncmFtbWUgZW1wZmFuZ2VuIHdlcmRlbj8KKiBzdGltbXQgZXMsIGRhc3MgZGVyIFJlY2VpdmVyIGRhbm4gZGVuIEFuc2NobHVzcyBpbiBkZXIgV29obnVuZyBudXR6dCAtCm9kZXIgbXVzcyBpY2ggbWlyIG5lIFNjaHVlc3NlbCBhdWZzIERhY2ggc3RlbGxlbj8KCkZyYWdlbiB1ZWJlciBGcmFnZW4uLi4KClZpZWxlbiBEYW5rIHNjaG9ubWFsIGZ1ZXIgUmF0c2NobGFlZ2UuCgpCZXN0ZSBHcnVlc3NlLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmVybnNlaGFuc2NobHVzcyAoQW50aGVhLCAyMS4gSnVuIDIwMTgsIDE1OjA3OjIxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTI5NTgzOTU0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1Mjk1ODM5NTQKU2F0LVJlY2VpdmVyIGdpYnQgZXMgaW4gdmllbGVuIEF1c2Z1ZWhydW5nZW4sIHZvbSAyOS1FdXJvLU1vZGVsbCwgdm9uIGRlbSBtYW4KbmljaHQgdmllbCBlcndhcnRlbiBkYXJmLCBiaXMgenVyIDEwMDAtRXVyby1IaWdoLUVuZCBNYXNjaGluZS4KVmllbGVzIGlzdCBkYWJlaSBkYXZvbiBhYmhhZW5naWcsIHdhcyBtYW4gaGFiZW4gbW9lY2h0ZS4gTW9lY2h0ZSBtYW4gZWluZmFjaApudXIgImxpdmUiIEZlcm5zZWggc2NoYXVlbiwgZGFubiB0dXQgZXMgZWluIGVpbmZhY2hlcmVzIE1vZGVsbC4gT2RlciB3aWxsIG1hbgp6LkIuIGVpbiBNb2RlbGwgbWl0IEZlc3RwbGF0dGUsIGRhc3MgbWFuIFNhY2hlbiBkaXJla3QgYXVmbmVobWVuIGthbm4gdW5kCnNwYWV0ZXIgc2NoYXVlbiwgb2RlciAod2VubiBtYW4gbWFsIGF1ZnMgS2xvIG11c3MpIGRpZSBQYXVzZXRhc3RlIGRydWVja2VuIHVuZApkYW5uIGRhbmFjaCB3ZWl0ZXJzY2hhdWVuLiBEYW5uIHdpcmQgZXMgZXR3YXMgdGV1cmVyLiBBbHMgbGFuZ2phZWhyaWdlciBBZG1pbgpkZXMgVG9wZmllbGQtU3VwcG9ydC1Gb3J1bXMgc29sbHRlIGljaCBlaWdlbnRsaWNoIGRpZSBSZWNlaXZlciBlbXBmZWhsZW4sCmxlaWRlciBpc3QgZGVyIEhlcnN0ZWxsZXIgc296dXNhZ2VuIGthcHV0dC4gRGllIGFrdHVlbGxlbiBHZXJhZXRlCihTUlAyNDAxQ0krRWNvKSBzaW5kIHp3YXIgZ3V0LCB1bmQgZHVyY2ggWnVzYXR6cHJvZ3JhbW1lIG5haGV6dSB1bnNjaGxhZ2JhciwKYWJlciB3ZW5uIG1hbCB3YXMgYW4gZGVyIEhhcmR3YXJlIGthcHV0dCBnZWh0LCBzaWVodCBlcyBoYWx0IHNjaGxlY2h0IGF1cy4KRGFmdWVyIGthbm4gbWFuIGRpZSBhdWZnZW5vbW1lbmVuIFNlbmR1bmdlbiBlaW5mYWNoIHNvIHdlaXRlcnZlcmFyYmVpdGVuLCBkaWUKa3JpZWd0IG1hbiBhbHMgbm9ybWFsZW4gTVBFRy1UcmFuc3BvcnRTdHJlYW0gZGEgcmF1cyA7KQpBa3R1ZWxsZXIgc2luZCBkaWUgVlUrIEdlcmFldGUsIGRpZSBnaWJ0IGVzIGRhbm4gYXVjaCBtaXQgVUhELVN1cHBvcnQsIGFiZXIKZGFzIGJyYXVjaHQgZGV1dGxpY2ggbWVociBFaW5hcmJlaXR1bmdzemVpdCwgZXZlbnR1ZWxsIGdlcmluZ2VyZXIgV0FGIDspCldhcyBEdSBhdWZuZWhtZW4ga2FubnN0IGhhZW5ndCBhYiwgd2VsY2hlciBTYXRlbGxpdCBlaW5nZXNwZWlzdCB3aXJkCih3YWhyc2NoZWlubGljaCBBc3RyYSwgZXZ0bCBub2NoIG1laHI/IEZyYWdlbi4uLikgRGEga2FubiBtYW4gei5CLiBhdWYKTHluZ1NhdC5jb20gbmFjaHNjaGF1ZW4sIHdhcyBlcyBkZXJ6ZWl0IGdpYnQuCmh0dHBzOi8vd3d3Lmx5bmdzYXQuY29tL0FzdHJhLTFLUi0xTC0xTS0xTi5odG1sClZpZWxlcyBkYXZvbiBzaW5kIGFiZXIgYXVjaCBQYXktVFYtQW5nZWJvdGUsIHdpZSBTa3kgKHZvbiBkZW5lbiBrcmllZ3QgbWFuCmVpbmVuIFJlY2lldmVyIHp3YW5nc3dlaXNlIG1pdCBkYXp1KSBvZGVyIEhEKy4KV2FzIGRpZSBLYWJlbC1BbmdlYm90ZSBhbmdlaHQsIGRhIG11c3MgbWFuIG1pdCBlaW5lbSBBbmJpZXRlciBlaW5lbiBWZXJ0cmFnCnNjaGxpZXNzZW4sIHphaGx0IG1vbmF0bGljaCBkYWZ1ZXIsIHVuZCBrcmllZ3QgbWVpc3QgZGllIHBhc3NlbmRlIEVtcGZhbmdzLUJveAptaXQgKG1laXN0IGFscyBNaWV0Ym94IGltIFByZWlzKS4gRGFubiBtdXNzIG1hbiBkYSBuYWNoc2NoYXVlbiwgd2FzIGRpZSBzbyBhbgpLYW5hZWxlbiBhbmJpZXRlbi4gT2Z0IGdpYnQgZXMgZGEgZGFubiBJbmtsdXNpdi1QYWtldGUsIGRhc3MgbWFuIEludGVybmV0LApUZWxlZm9uIHVuZCBGZXJuc2VoZW4gYXVzIGVpbmVyIEhhbmQga3JpZWd0LgoKRFZCLVQgKGJ6dy4gRFZCLVQyKSBpc3QuLi4gbmFqYS4gU2VociB1ZWJlcnNjaGF1YmFyIGltIEFuZ2Vib3QuIFVuZCBoYWVuZ3QKZGF2b24gYWIsIG9iIHVuZCB3YXMgaW4gZGVyIFN0YWR0LCBpbiBkaWUgRHUgemllaHN0LCBhbmdlYm90ZW4gd2lyZC4KCkFjaCBqYSwgdmllbGUgbmV1ZSBGZXJuc2VoZXIgaGFiZW4gYXVjaCBFbXBmYW5nc3RlaWxlIGZ1ZXIgYWxsZSBFbXBmYW5nc2FydGVuCihTYXRlbGxpdCwgS2FiZWwsIFRlcnJlc3RyaXNjaCkgZWluZ2ViYXV0IHVuZCBicmF1Y2hlbiBkYW5uIGZ1ZXIgZGllCkdydW5kZnVua3Rpb24gZWlnZW50bGljaCBrZWluZW4genVzYWV0emxpY2hlbiBSZWNlaXZlci4KQmVpIGRlbiBTYXRlbGxpdGVuLUVtcGZhbmxhZ2VuIGluIFdvaG5hbmxhZ2VuIGdpYnQgZXMgb2Z0IHNwZXppZWxsZQpWZXJ0ZWlsLUZ1bmt0aW9uZW4sIGVpbmVzIGRhdm9uIGlzdCAiVW5pQ2FibGUiLCB3b21pdCBtZWhyZXJlIEVtcGZhZW5nZXIgYW4KZWluZW0gS2FiZWwgdmVyc29yZ3Qgd2VyZGVuIGtvZW5uZW4sIHNvbnN0IGlzdCBTYXRlbGxpdCBpbW1lciBlaW4KU3Rlcm4tVmVydGVpbGVyLiBEYXMgbXVzcyBkYW5uIGRhcyBlbnRzcHJlY2hlbmRlIEVtcGZhbmdzZ2VyYWV0IHVudGVyc3R1ZXR6ZW4sCmRhcyBtYWNoZW4gdmllbGUgRmVybnNlaGVyIHouQi4gbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZlcm5zZWhhbnNjaGx1c3MgKEFyaywgMjEuIEp1biAyMDE4LCAxNjoyMDoyOCk6Cn4jISBybj1BbnRoZWEgcnQ9MTUyOTU4NjQ0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTI5NTgzOTU0CkRWQi1UKDIpIHNvbGx0ZSBlaWdlbnRsaWNoIGluIGRlbiBuZXVlcmVuIFRWIE1vZGVsbGVuIFN0YW5kYXJkIHNlaW4uIFdvIG1hbgp3YXMgZW1wZmFuZ2VuIGthbm4sIGJla29tbXQgbWFuIHouQi4gaGllcjoKaHR0cHM6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvTGlzdGVfZGVyX0RWQi1ULVNlbmRlcl9pbl9EZXV0c2NobGFuZApodHRwOi8vd3d3LmR2YnQyaGQuZGUvCmh0dHBzOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0RWQi1UX2luX0RldXRzY2hsYW5kCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGZXJuc2VoYW5zY2hsdXNzIChBbWFyeWxsaXMsIDIxLiBKdW4gMjAxOCwgMjE6NTc6NDApOgp+IyEgcm49QW50aGVhIHJ0PTE1Mjk1ODY0NDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTUyOTU4Mzk1NApIaSwKCmFsc28gbWVpbiBGZXJuc2VoZXIgaXN0IHJlY2h0IGFrdHVlbGwgdW5kIGthbm4gYW5nZWJsaWNoIGVpbmVuIFNlbmRlcgphbnNjaGF1ZW4sIHdhZWhyZW5kIGVpbiB6d2VpdGVyIGltIEhpbnRlcmdydW5kIGF1Zmdlbm9tbWVuIHdpcmQuLi4KSGVpc3N0IGRhcywgaWNoIGJyYXVjaGUga2VpbmVuIFJlY2VpdmVyPwoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZlcm5zZWhhbnNjaGx1c3MgKEFudGhlYSwgMjIuIEp1biAyMDE4LCAwODoyODo1NSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTUyOTYxMTA2MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTI5NTgzOTU0Cldlbm4gZGVyIGVpbmVuIERWQi1TMiBUdW5lciBoYXQsIHVuZCBuaWNodCBudXIgRFZCLVQoMikgdW5kIERWQi1DLCBkYW5uCmJyYXVjaHN0IER1IG5pY2h0IHp3aW5nZW5kIGVpbmVuIFJlY2VpdmVyIGRhenUsIGphLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU21hcnRwaG9uZSB1bmQgV0xBTiAoQW1hcnlsbGlzLCAyMy4gSnVuIDIwMTgsIDIyOjE2OjM2KToKSGksCgppY2ggaGFiZSBtaXIgZWluIFNhbXN1bmcgR2FsYXh5IFM3IER1YWwtU0lNIGdlaG9sdC4gU0lNMSBoYXQgbnVyIG5lbgpUZWxlZm9udmVydHJhZywga2VpbiBJbnRlcm5ldC4gU0lNMiBoYXQgbnVyIEludGVybmV0IHVuZCBrZWluIFRlbGVmb24uCkZvbGdlbmRlcyBrYW5uIGljaCBtaXIgbmljaHQgZXJrbGFlcmVuOgpXaWUga2FubiBpY2ggZWluc3RlbGxlbiwgZGFzcyBlciBiZWkgb2ZmZW5lbiBXTEFOcyBkaWVzZSBiZW51dHp0IHVuZCBuaWNodAptZWluZSBJbnRlcm5ldC1TSU0/CkF1c3NlcmRlbSBoYWJlIGljaCBkYXMgc2VsdHNhbWUgUGhhZW5vbWVuLCBkYXNzIGVyIG5hY2ggZWluZW0gTmV1c3RhcnQgbnVyCmZ1ZXIgZGllIFRlbGVmb24tU0lNICgxKSBlaW5lIFBJTiB2ZXJsYW5ndC4gRXIga29tbXQgYWJlciBkZW5ub2NoIG9obmUKUHJvYmxlbWUgdWViZXIgZGllIFNJTTIgb25saW5lLCBvaG5lIFBhc3N3b3J0Li4uIE1hbiBlcmtsYWVydGUgbWlyLCBkYXNzIGViZW4KYXVmIGRlciBLYXJ0ZSBrZWluZSBQSU4gZHJhdWYgc2VpLiBEaWVzIGlzdCBpcmdlbmR3aWUga29taXNjaCwgZGEgaWNoLCB3ZW5uCmljaCBkaWUgS2FydGUgei5iLiBpbiBlaW4gYW5kZXJlcyBHZXJhZXQgc3RlY2tlLCBzZWhyIHdvaGwgZWluZ2ViZW4gbXVzcy4KWnVtIERyaXR0ZW4gaXN0IGRhcyBzb2dhciBiZWkgbWVpbmUgRnJpdHpib3ggc28sIG9id29obCBkaWUgZGVmaW5pdGl2Cmdlc2ljaGVydCBpc3QgbWl0IFBhc3N3b3J0IC0gd2VsY2hlcyB1ZWJlciBkaWUgU0lNIG5pZSBhYmdlZnJhZ3Qgd3VyZGUhCk1JY2ggd3VlcmRlIGVzIGZyZXVlbiwgd2VubiBkYSBqZW1hbmQgZWluIGJpc3NjaGVuIExpY2h0IGlucyBEdW5rZWwgYnJpbmdlbgprb2VubnRlLi4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmRyb2lkIEZyYWdlIChBbWFyeWxsaXMsIDE0LiBPa3QgMjAxOCwgMjI6MDE6MTkpOgpIaSwKCmljaCBoYWJlIGVpbiBuZXVlcyAoQW5kcm9pZC0pSGFuZHkuCk51biBoYWJlIGljaCBkYXMgUHJvYmxlbSwgZGFzcyBiZWltIERlaW5zdGFsbGllcmVuIHZvbiBBcHBzICJMb2VjaGVyIiBpbiBkZXIKSWNvbi1MaXN0ZSBhdWYgZGVtIERlc2t0b3AgenVydWVja2JsZWliZW4sIHVuZCBhdXNzZXJkZW0gd2VyZGVuIGRpZSBBcHBzIG5pY2h0CmFscGhhYmV0aXNjaCBzb3J0aWVydC4gRXMgc2llaHQgYXVzIHdpZSBLcmF1dCB1bmQgUnVlYmVuLgpIYWJlIGJpc2xhbmcgbm9jaCBuaWNodCBoZXJhdXNnZWZ1bmRlbiwgd2llIG1hbiBkYXMgYmVyZWluaWdlbiBrYW5uLgpHZWh0IGRhcyBpcmdlbmR3aWUsIG9kZXIgbXVzcyBpY2ggbWlyIGRhIGVpbmVuIDNyZC1DbGllbnQgRGVza3RvcCBydW50ZXJsYWRlbgp1bmQgaW5zdGFsbGllcmVuPwoKRGFuayB1bmQgR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmRyb2lkIEZyYWdlIChaZXNzdHJhLCAxNS4gT2t0IDIwMTgsIDA5OjIzOjM1KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTM5NTQ3Mjc5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1Mzk1NDcyNzkKSWNoIHNvcnRpZXIgZXMgdGF0c2FlY2hsaWNoIHBlciBIYW5kLi4uIEF1ZiBkZXIgU3RhcnRzZWl0ZSBrb21tdCBtaXIgZGFzIGF1Y2gKZW50Z2VnZW4uIEFiZXIgaWNoIGhhYmUgbm9jaCBuZSBBbnNpY2h0LCBkaWUgYWxwaGFiZXRpc2NoIHNvcnRpZXJ0IGlzdCwgZGEKc2NoYWx0ZSBpY2ggZGFubiBkcmF1Ziwgd2VubiBpY2ggd2FzIHZvbiBuaWNodC1TdGFydHNlaXRlbiBicmF1Y2hlbiBvZGVyCnN1Y2hlLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbmRyb2lkIEZyYWdlIChBbnRoZWEsIDE5LiBPa3QgMjAxOCwgMTM6NDE6NTgpOgp+IyEgcm49WmVzc3RyYSBydD0xNTM5NTg4MjE1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1Mzk1NDcyNzkKRGFzIGlzdCBqYSBhdWNoIGRhcyBTdGFuZGFyZCBBbmRyb2lkIHZlcmhhbHRlbi4gRXMgZ2lidCBkaWUgbm9ybWFsZW4KRGVza3RvcC1TZWl0ZW4sIGF1ZiBkZW5lbiBtYW51ZWxsIGRpZSBJY29ucyBoaW5rb25maWd1aWVydCB3ZXJkZW4uIFVuZCBlcyBnaWJ0CmRpZSBBcHAtTGlzdGUsIGluIGRlciBkaWUgZ2FuemVuIFByb2dyYW1tZSBzb3J0aWVydCBhYmdlbGVndCBzaW5kLgpWaWVsZSBIZXJzdGVsbGVyIGVyc2V0emVuIGRlbiBTdGFuZGFyZC1MYXVuY2hlciBkdXJjaCBlaW5lbiwgZGVyIHNpY2ggYW5kZXJzCnZlcmhhZWx0LCBvZGVyIGFuZGVyZSBWb3JlaW5zdGVsbHVuZ2VuIGhhdC4gTWFuY2hlIGZ1ZWdlbiB6LkIuIGplZGVzIG5ldQppbnN0YWxsaWVydGUgUHJvZ3JhbW0genVtIERlc2t0b3AgaGluenUuIE1hbmNoZSAoei5CLiBIdWF3YWkpIHN0ZWxsZW4gZ2FyCmtlaW5lIEFwcC1MaXN0ZSB6dXIgVmVyZnVlZ3VuZywgc29uZGVybiBoYWJlbiBudXIgQXBwbGUtYWVobmxpY2ggZWluZW4KRGVza3RvcCwgYXVmIGRlbSBhbGxlcyB3YXMgaW5zdGFsbGllcnQgaXN0IHp1IHNlaGVuIGlzdC4gSmUgbmFjaCBBbnphaGwgZGVyClByb2dyYW1tZSBuZXJ2aWcgYmlzIHVucHJha3Rpc2NoIDspLgpJY2ggbmVobSBzZWl0IGV0bGljaGVuIEhhbmR5cyBkZW4gIk5vdmEgTGF1bmNoZXIiLCBkZW4ga2FubiBzZWhyIHNjaG9lbiBpbgp2aWVsZSBSaWNodHVuZ2VuIGtvbmZpZ3VyaWVyZW4sIHdpZSBlcyBlaW5lbSBnZWZhZWxsdC4gQXVzc2VyZGVtIGhpYiBpY2ggZGEKbWl0ICJUZXNsYSBVbnJlYWQiIGVpbmUgZ3V0IGtvbmZpZ3VyaWVyYmFyZSBPcHRpb24genVtIEFuemVpZ2VuIHZvbgoiUGxha2V0dGVuIiAoWmFobCBhbSBJY29uIHdpZSB2aWVsZSB1bmdlbGVzZW5lIE5hY2hyaWNodGVuIGVzIGdpYnQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5kcm9pZCB1bmQgQWtrdS1WZXJicmF1Y2ggKFpvb2ssIDIyLiBPa3QgMjAxOCwgMTY6NTM6NDMpOgpIYWxsbywgaWNoIGhhYmUgc2VpdCBjYS4gNC01IE1vbmF0ZW4gZWluIEFuZHJvaWQtTW9iaWx0ZWxlZm9uCihDdWJvdCBSYWluYm93IDIpLiBEYXMgaGF0IGVpbmUgUHJlcGFpZC1LYXJ0ZSwgZ2VodCBudXIgcGVyIApXTEFOIGlucyBOZXR6IHVuZCBsaWVndCBkaWUgbWVpc3RlIFplaXQgbnVyIGhlcnVtLiAoSXN0IGVpbiBad2VpdGdlcmFldApmdWVyIGJlc3RpbW10ZSBLb21tdW5pa2F0aW9uc3BhcnRuZXIpLiBBbHMgQXBwcyBzaW5kIGRpZSBCYWhuLUFwcCwKZGVyIGdvb2dsZSBBdXRoZW50aWNhdG9yLCBETEYgQXVkaW90aGVrLCBETEYgMjQsIEZpcmVmb3gsIEhFUkUsIApLQVJXQVJOLCBOSU5BLCBQYXNzQW5kcm9pZCwgU2lnbmFsLCBUZWxlZ3JhbSwgV2hhdHNBcHAgbmViZW4KZGVtIEdvb2dsZS1QYWtldCBhbiBBcHBzIGluc3RhbGxpZXJ0LiAKCkluIGRpZXNlbSBTZXR1cCBsYWV1ZnQgZGFzIERpbmcgbm9ybWFsZXJ3ZWlzZSBtZWhyZXJlIFRhZ2UgYmlzIHp1IAplaW5lciBXb2NoZSwgZGEgaWNoIGVzIGthdW0gYmVudXR6ZXIgdW5kIGF1Y2ggc2VsdGVuIGRhcyBEaXNwbGF5IAphbm1hY2hlLgoKQW0gU2V0dXAgaGFiZSBpY2ggbmljaHRzIHZlcmFlbmRlcnQuIEVpbmdlc3RlbGx0IHNpbmQgYXV0b21hdGlzY2hlClVwZGF0ZXMgZnVlciBkaWUgQXBwcy4KClNlaXQgY2EuIDQgVGFnZW4gaXN0IGRlciBBa2t1IGlubmVydCBlaW5lbSBUYWcgcHJha3Rpc2NoIGxlZXIuIAoKQmVpc3BpZWw6IEFscyBpY2ggaGV1dGUgbW9yZ2VuIHVtIDcuMDAgVWhyIGRhcyBHZXJhZXQgdm9tIEFra3UKZ2Vub21tZW4gaGFiZSwgaGF0dGUgZXMgOTclOyBqZXR6dCB1bSAxNi40NSBVaHIgc2luZCBlcyBub2NoCjMxJS4KCklyZ2VuZGplbWFuZCBlaW5lIElkZWUsIHdhcyBkYXMgc2VpbiBrYW5uLCB3aWUgaWNoIGRlbiBVZWJlbHRhZXRlcgpmaW5kZT8KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoWm9vaywgMjIuIE9rdCAyMDE4LCAxNjo1ODoyNik6Cn4jISBybj1ab29rIHJ0PTE1NDAyMjAwMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpJY2ggYmluIHVlYmVyIEVpbnN0ZWxsdW5nZW4tQXBwcy1BbGxlIEFwcHMgbWFsIGFsbGUgaW5zdGFsbGllcnRlbgpBcHBzIGR1cmNoZ2VnYW5nZW4gdW5kIGljaCBoYWJlIGtlaW5lIGdlZnVuZGVuLCBkaWUgbWVociBhbHMgMCUgCkFra3Ugc2VpdCBkZW0gbGV0enRlbiBMYWRlbiB2ZXJicmF1Y2h0IGhhdC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5kcm9pZCB1bmQgQWtrdS1WZXJicmF1Y2ggKFphcGhvYiwgMjIuIE9rdCAyMDE4LCAxNzowMTozMyk6Cn4jISBybj1ab29rIHJ0PTE1NDAyMjAzMDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpFaW5zdGVsbHVuZ2VuIC0gQmF0dGVyaWUgcGxvdHRldCBkZW4gemVpdGxpY2hlbiBWZXJsYXVmIGRlcyBGdWVsbHN0YW5kZXMgdW5kCmxpc3RldCBkaWUgZ3JvZXNzdGVuIFZlcmJyYXVjaGVyIGluIGFibmVobWVuZGVyIFVlYmVsa2VpdC4gTGVpZGVyIHN0ZWh0IGJlaQptaXIgbnVyIFN5c3RlbSB1bmQgYWVobmxpY2ggbnV0emxvc2UgQmV6ZWljaG51bmdlbiwgd3Vlc3N0ZSBhdWNoIGdlcm5lLCB3aWVzbwpkZXIgVmVyYnJhdWNoIG1hbmNobWFsIHNvIHN0YXJrIHNjaHdhbmt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5kcm9pZCB1bmQgQWtrdS1WZXJicmF1Y2ggKFpvb2ssIDIyLiBPa3QgMjAxOCwgMTc6MDM6NDQpOgp+IyEgcm49WmFwaG9iIHJ0PTE1NDAyMjA0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpOdW4gbnVyIG5vY2ggMjg1LCBkYSBzdGVodCBEaXNwbGF5IDYlLCBCbHVldG9vdGggNiUsCldMQU4gMSUsIE1vYmlsZnVua3N0YW5kYnkgMSUuCgpXZW5uIGljaCBhdWYgZGVuIFBsb3QgZHJ1ZWNrZSwgc2VoZSBpY2ggCk1vYmlsZnVua3NpZ25hbCwKV0xBTiAobnVyIGFtIG1vcmdlbiBhbikKQmlsZHNjaGlybSBhbiAoZmFzdCBpbW1lciBhdXMpLgoKQWxsZXJkaW5ncyBpc3QgZGEgZXR3YXMgZGllIGdhbnplIFplaXQgYW4gKEJhbGtlbiksIGRhcwpuZW5udCBzaWNoICJBa3RpdiIuIFdhcyBpc3QgZGVubiBkYXM/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoUnVtYXRhLCAyMi4gT2t0IDIwMTgsIDE3OjA5OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTU0MDIyMDYyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTQwMjIwMDIzCkRhIGlzdCBlaW5lIEFwcCwgZGllIHZlcmhpbmRlciwgZGFzcyBkYXMgR2VyYWV0IGluIGRlbiBTdGFuZGJ5IGdlaHQuCihEaWUgbnV0enQgZGFzIHNvZ2VuYW5udGUgV0FLRV9MT0NLKSBWZXJtdXRsaWNoIHZlcnN1Y2h0IGRpZSBBcHAKd2FlaHJlbmQgZGFzIEdlcmFldCBlaWdlbnRsaWNoIGltIFN0YW5kYnkgaXN0IChhbHNvIGtlaW4gV0xBTiBhbiBoYXQpCmVpbmUgVmVyYmluZHVuZyBhdWZ6dWJhdWVuIHVuZCBwb2xsdCBudW4gd2llIGJsb2VkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEFuZHJvaWQgdW5kIEFra3UtVmVyYnJhdWNoIChHdWxhaHIsIDIyLiBPa3QgMjAxOCwgMTc6MjY6MDgpOgp+IyEgcm49UnVtYXRhIHJ0PTE1NDAyMjA5NzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpEdSBrb2VubnRlc3QgaW0gUGxheVN0b3JlIGJlaSBkZW4gQWt0dWFsaXNpZXJ1bmdlbiBtYWwgc2NoYXVlbiwgd2FzIGRhIGluIGRlbgpsZXR6dGVuIDQgVGFnZW4gYWt0dWFsaXNpZXJ0IHd1cmRlIHVuZCBlcyBpbSBad2VpZmVsIHp1bSBUZXN0IG1hbApkZWluc3RhbGxpZXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEFuZHJvaWQgdW5kIEFra3UtVmVyYnJhdWNoIChSdW1hdGEsIDIyLiBPa3QgMjAxOCwgMTg6NTA6MjUpOgp+IyEgcm49R3VsYWhyIHJ0PTE1NDAyMjE5Njggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpMZWlkZXIgaXN0IGVzIG5pY2h0IHRyaXZpYWwsIHNvbGNoZSBBcHBzIGF1c2ZpbmRpZyB6dSBtYWNoZW4uCkhpZXIgaXN0IGVpbmUgbW9lZ2xpY2hrZWl0IChtaXQgZWluZXIgS2F1ZmFwcCkKaHR0cHM6Ly93d3cueGRhLWRldmVsb3BlcnMuY29tL3N0b3Atd2FrZWxvY2tzLWFuZHJvaWQtd2l0aG91dC1yb290LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5kcm9pZCB1bmQgQWtrdS1WZXJicmF1Y2ggKFplc3N0cmEsIDIyLiBPa3QgMjAxOCwgMTg6NTc6NDApOgp+IyEgcm49WmFwaG9iIHJ0PTE1NDAyMjA0OTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpEYXMgaXN0IGJlaSBtaXIgYXVjaCBzby4uLiBBYiB1bmQgYW4ga3JpZWd0IGRhcyBEaW5nIG5lbiBSYXBwZWwgdW5kIHppZWh0IGRhbm4KKHouQi4gbWl0IFdMQU4pIGlubmVyaGFsYiB2b24gTWludXRlbiBkZW4gQWtrdSBuZW5uZW5zd2VydCBsZWVyLiBEYWJlaSB3aXJkcwphdWNoIHJlY2h0IG9yZGVudGxpY2ggd2FybS4gOy0pIFdlbm4gaWNoIGVzIHJlY2h0emVpdGlnIGJlbWVya3QsIGhpbGZ0cyBtZWlzdCwKZGVuIEZsdWd6ZXVnbW9kdXMgZnVlciBuZW4gcGFhciBNaW51dGVuIHJlaW56dWhhdWVuLiBBbnNvbnN0ZW4gbGFldWZ0IGVzIGF1Y2gKTmV1c3RhcnQgaGluYXVzLi4uIEhhdHRlIGljaCB1ZWJyaWdlbnMgbGV0enRlIFdvY2hlIGF1Y2guCkFsbGVzIGluIGFsbGVtOiB6aWVtbGljaGVzIFJvdHouIE1hbiBrb2VubnRlIHNpY2ggYXVjaCBmcmFnZW4sIG9iIGRhIGplbWFuZAplaW5lIGRlemVudHJhbGUgS29waWUgbWFjaHQuLi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZHJvaWQgdW5kIEFra3UtVmVyYnJhdWNoIChBcmF0aG9ybiwgMjIuIE9rdCAyMDE4LCAxOToxMzowNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1NDAyMjc0NjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU0MDIyMDAyMwpJY2ggaGFiZSBiZWkgZWluZW0gdW5zZXJlciBBbmRyb2lkLVRlbGVmb25lIGVyZm9sZ3JlaWNoIG1pdCBkZXIgQXBwIE9TLU1vbml0b3IKZWluIHNvbGNoZXMgUHJvYmxlbSBsb2thbGlzaWVydC4gRGFzIERpbmcgbXVlc3N0ZSByZWxhdGl2IHByYWV6aXNlIGRlbgpTdHJvbXZlcmJyYXVjaCBhbGxlciBQcm96ZXNzZSBlaW56ZWxuIGFuemVpZ2VuLCBzbyBkYXNzIG1hbiBkYW5uLCBnZ2YuIG1pdApldHdhcyBHb29nbGUtSGlsZmUgZGVuIFVlYmVsdGFldGVyIGF1c2ZpbmRpZyBtYWNoZW4ga2Fubi4KCkt1cmlvc2Vyd2Vpc2Ugd2FyIGVzIGJlaSBkZW0gYmVzYWd0ZW4gVGVsZWZvbiBkYW1hbHMgZWluIFByb2JsZW0gbWl0IGRlciAKZWluZ2VzdGVja3RlbiBTRC1LYXJ0ZS4gTmFjaGRlbSBkaWUgcmF1cyB3YXIsIHdhciBhbGxlcyB3aWVkZXIgZ3V0LgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoR2xvaW5zb24sIDIyLiBPa3QgMjAxOCwgMjA6MDQ6MjApOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTU0MDIyODM4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTQwMjIwMDIzCkJlaW0gTmV4dXM3IHdhciBlcyBkYW1hbHMgZWluIFdMQU4tS2VybmVsLU1vZHVsLiBJY2ggZnVlcmNodGUsIGJlaSBkaWVzZW0KTVQ2NTgwIGlzdCBhdWNoIG5pY2h0IGdlcmFkZSBlaW4gcGFzc2VuZGVyIEtlcm5lbCBkYWJlaS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoWm9vaywgMjMuIE9rdCAyMDE4LCAxMTowMjoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNTQwMjMxNDYwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKSWNoIG11c3MgYXVjaCBpbW1lciB3aWVkZXIgTmV1c3RhcnQgbWFjaGVuLCBkZW5uIGJpcyBjYS4gMTggVWhyIApoYXQgZGFzIFRlbGVmb24gZGVuIEFra3UgbGVlciB1bmQgZ2VodCBkYW5uIGF1cy4KCkljaCB2ZXJzdWNoZSBtYWwgbWVpbiBHbHVlY2sgbWl0IGRlciBTdWNoZS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEFuZHJvaWQgdW5kIEFra3UtVmVyYnJhdWNoIChSdW1hdGEsIDIzLiBPa3QgMjAxOCwgMTI6MDI6MDApOgp+IyEgcm49Wm9vayBydD0xNTQwMjg1MzQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKVm9uIHdvIGhhc3QgZHUgZGllIEFwcHMgZGVubiBoZXJ1bnRlcmdlbGFkZW4/CkFsbGVzIGF1c20gR29vZ2xlIFBsYXlzdG9yZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEFuZHJvaWQgdW5kIEFra3UtVmVyYnJhdWNoIChab29rLCAyMy4gT2t0IDIwMTgsIDEyOjU5OjE4KToKfiMhIHJuPVJ1bWF0YSBydD0xNTQwMjg4OTIwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKRWluZSBpc3QgZWluZSBFbnR3aWNrbHVuZ3MtVGVzdC1BcHAsIGRpZSBoYWJlIGljaCBhYmVyCnNjaG9uIHJ1bnRlciBnZXdvcmZlbi4gRGFubiBoYWJlIGljaCBub2NoIEYtRHJvaWQgdW5kIHZvbiBkb3J0CmRpZSBBcHAgIkRhdGVpbWFuYWdlciIuCgpSZXN0IGF1c20gUGxheXN0b3JlLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQW5kcm9pZCBGcmFnZSAoVmFyZGlvbiwgMjMuIE9rdCAyMDE4LCAxOTozODoxMSk6Cn4jISBybj1BbnRoZWEgcnQ9MTUzOTk0OTMxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTM5NTQ3Mjc5CkljaCBudXR6ZSBhdWNoIHNlaXQgSmFocmVuIGRlbiBOb3ZhIExhdW5jaGVyIHVuZCBrYW5uIGRlbiBudXIgZW1wZmVobGVuLiBBbHMKQm9udXMgaGF0IG1hbiBzbyBhdWNoIHNlaW4gZ2V3b2hudGVzIFVJIHdlbm4gbWFuIG1hbCBkZW4gSGVyc3RlbGxlciB3ZWNoc2VsdC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFuZHJvaWQgRnJhZ2UgKFJ1bWF0YSwgMjMuIE9rdCAyMDE4LCAyMToyNzozNCk6Cn4jISBybj1WYXJkaW9uIHJ0PTE1NDAzMTYyOTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTUzOTU0NzI3OQpKYXUsIE5vdmEgaXN0IHN1cGVyLiBVbmQgYWxzIERhdGVpbWFuYWdlciBlbXBmZWhsZSBpY2gKIlNvbGlkRXhwbG9yZXIiLiBLb3N0ZXQgendhciwgYWJlciBkZXIgZnVuenQgenV2ZXJsYWVzc2lnIGF1Y2ggbWl0CnNmdHAgdW5kIHNvLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQW5kcm9pZCBGcmFnZSAoQW1hcnlsbGlzLCAyMy4gT2t0IDIwMTgsIDIxOjU1OjE3KToKfiMhIHJuPVZhcmRpb24gcnQ9MTU0MDMxNjI5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTM5NTQ3Mjc5CkphLCBkYW5rZSBmdWVyIEV1cmUgVGlwcywgaWNoIGhhYmUgbWlyIGRlbiBhdWNoIG1hbCBpbnN0YWxsaWVydC4KCkFtYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQW5kcm9pZCB1bmQgQWtrdS1WZXJicmF1Y2ggKFpvb2ssIDI0LiBPa3QgMjAxOCwgMDg6NDI6MTgpOgp+IyEgcm49Wm9vayBydD0xNTQwMjkyMzU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKSG0uIERpZXNlciAiT1MgTW9uaXRvciIgd2lsbCBzaWNoIG5pY2h0IGluc3RhbGxpZXJlbiBsYXNzZW47CmFuZ2VibGljaCBpc3QgbWVpbiBHZXJhZXQgZGFmdWVyIG5pY2h0IGdlZWlnbmV0LCBzYWd0IGRlciAKUGxheSBTdG9yZS4KCkFuc29uc3RlbiBoYWJlIGljaCBudW4gbWFsIGFsbGUgQXBwcyBub2NobWFscyBha3R1YWxpc2llcnQKdW5kIHNjaGF1ZSBoZXV0ZSBtYWwsIHdhcyBkYXMgR2VyYWV0IHR1dC4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoR2xvaW5zb24sIDI0LiBPa3QgMjAxOCwgMTk6MDY6MzQpOgp+IyEgcm49Wm9vayBydD0xNTQwMzYzMzM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKTWFsIG1pdCBlaW5lbSBUb29sIHdpZSBLZXJuZWwgQWRpdXRvciBvZGVyIG1laW5ldHdlZ2VuIHRlcm11eCB1bmQgdW50ZXIKL3N5cy8uLi4gZXJzdG1hbCBuYWNoc2NoYXVlbiwgd2FzIGRlaW5lIENQVSB1bXRyZWlidC4gV2VubiBlciBkaXJla3QgbmFjaCBkZW0KTmV1c3RhcnQgc2Nob24ga2VpbmVuIHNsZWVwLW1vZHVzIG5hY2ggZWluZXIgV2VpbGUgc2NoYWZmdCwga2FubnN0IGR1IGphIGRpZQpBdXRvbG9hZGVyIGdlemllbHQgd2Vnc2NoaWVzc2VuIHVuZCBnZ2YgZGllIEhhZW5kZSBob2Nod2VyZmVuIHVuZCBkaWUKTWVkaWF0ZWstUHJvemVzc29yZW4gdW5kIGlocmUgVHJlaWJlciB2ZXJmbHVjaGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBBbmRyb2lkIHVuZCBBa2t1LVZlcmJyYXVjaCAoWm9vaywgMjYuIE9rdCAyMDE4LCAwOToyMTowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNTQwNDAwNzk0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NDAyMjAwMjMKSG0uIE51biBoYXQgZXMgMjRoIGltbWVyIG51ciBtYWwgZ2FueiBrdXJ6ICJha3RpdiIgYW5nZXplaWd0IHVuZCBkZXIKQWtrdSBoYWVsdCB3aWVkZXIuCgpXYWhuc2lubmlnIHByZWRpY3RhYmxlIGRhcyBnYW56ZS4gCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ibGVtZSBtaXQgTm90ZWJvb2stTmV0enRlaWwgKEFtYXJ5bGxpcywgMTMuIERleiAyMDE4LCAyMjowNzozNCk6CkhpLAoKdmxsdC4gaXN0IGhpZXIgZWluZXIsIGRlciBzaWNoIG1pdCBFbGVrdHJpayBhdXNrZW5udCB1bmQgbWlyIHNhZ2VuIGthbm4sIHdvcmFuCmVzIGJlaSBmb2xnZW5kZW0gUHJvYmxlbSBoYXBlcnQuCgpJY2ggbnV0emUgc2Nob24gc2VpdCBNb25hdGVuIGVpbiBOb25hbWUtTmV0enRlaWwgZnVlciBtZWluIE5vdGVib29rLCB3ZWlsIGRhcwpvcmlnaW5hbGUgZGl2ZXJzZSBLYWJlbGJydWVjaGUgYXVmd2Vpc3QgbmFjaCBkZW4gZ2FuemVuIEphaHJlbiBkZXIgbW9iaWxlbgpOdXR6dW5nLgpEYXMgbmV1ZSBOZXR6dGVpbCBpc3QgZWluZXMsIGRhcyBzb3dvaGwgdm9uIGRlciBBdXNnYW5nc3NwYW5udW5nIGFscyBhdWNoIGRlcgpnZWxpZWZlcnRlbiBMZWlzdHVuZyBkYXMgYnJpbmd0LCB3YXMgZGFzIGFsdGUgYXVjaCBoYXR0ZS4KCk51biB0cml0dCBzZWl0IGVpbmlnZW4gVGFnZW4gKG5pY2h0IGltbWVyKSBmb2xnZW5kZXMgYXVmOgpEZXIgU3RlY2tlciwgZGVyIGlucyBOb3RlYm9vayBnZWh0LCB3aXJkIGlycmUgaGVpc3MgKGRhcyBNZXRhbGwgZGVzIFN0ZWNrZXJzCmxhZXNzdCBzaWNoIGdhciBuaWNodCBtZWhyIGFuZmFzc2VuISkuIFNlbHRzYW1lcndlaXNlIHdpcmQgZGFzIE5vdGVib29rCnRyb3R6ZGVuICghKSBnZWxhZGVuLCBlcyBzY2hlaW50IGtlaW4gS3VyenNjaGx1c3MgenUgc2VpbiAtIGJpc2xhbmcgd2VkZXIKU2ljaGVydW5nIHJhdXNnZWZsb2dlbiwgbm9jaCBOZXR6dGVpbCBvZGVyIE5vdGVib29rIGlyZ2VuZHdpZSBrYXB1dHQgZ2VnYW5nZW4uCkRhcyBQcm9ibGVtIGlzdCBsZWlkZXIgX25pY2h0XyByZXByb2R1emllcmJhciwgd2FzIGljaCBhbSBBZXR6ZW5kc3RlbiBmaW5kZS4KTWFsIHRyaXR0IGVzIGF1ZiwgZGFubiBoYWJlIGljaCB3aWVkZXIgdGFnZWxhbmcgUnVoZSwgZGFubiBwYXNzaWVydCBlcyB3aWVkZXIuCkVpbmUgRnJhZ2UgYmVpbSBIYXJkd2FyZS1IZXJzdGVsbGVyIG1laW5lcyBWZXJ0cmF1ZW5zIGJyYWNodGUgbnVyIGRpZQpWZXJtdXR1bmcsIGRhc3MgZGFzIE5ldHp0ZWlsIGF1ZiBkYXMgTm90ZWJvb2sgZWluZmFjaCBuaWNodCBwYXNzdCBiencuIG5pY2h0CmRpZSBlcmZvcmRlcmljaGUgTGVpc3R1bmcgYnJhZWNodGUuIEthbm4gYWJlciBpcmdlbmR3aWUgYXVjaCBuaWNodCBzZWluLCBkYQppY2ggZXMgamEgc2Nob24gbGFlbmdlciBwcm9ibGVtbG9zIG51dHp0ZSB1bmQgZXMgdm9uIFNQYW5udW5nLCBTdHJvbXN0YWVya2UKZXRjLiBmdWVyIG1laW4gTm90ZWJvb2sgbG9ja2VyIGF1c2dlbGVndCBpc3QuCgpIYXQgZGEgZWluZXIgZWluZSBJZGVlLCB3YXMgZGEgc2NoaWVmbGF1ZmVuIGtvZW5udGU/IEdnZi4gZWluIEtyaWVjaHN0cm9tCm8uYWUuPyBJY2gga29tbWUgaGllciBkZXJ6ZWl0IGxlaWRlciBuaWNodCB3ZWl0ZXIuLi4KCkRBbmtlLApBbWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRzY2hpcm1hdWZsb2VzdW5nZW4gKEFtYXJ5bGxpcywgMjAuIE1haSAyMDE5LCAyMzoxNjozNik6ClByb3N0IEdlbWVpbmRlLAoKaWNoIGhhYmUgaGllciBtYWwgZWluZSBGcmFnZSB6dSBCaWxkc2NoaXJtYXVmbG9lc3VuZyB1bnRlciBXaW5kb3dzIDEwLgoKSGFiZSBoaWVyIGVpbmVuIHNjaG51Y2tsaWdlbiBERUxMIExhdGl0dWRlIEU3NDQwLCBkZXIgdHJvdHogc2VpbmVyCmtvbXBha3RlbiBNYXNzZSBlaW5lIGhvZWhlcmUgQXVmbG9lc3VuZyBmYWVocnQgKG5hZW1saWNoIDE5MjB4MTA4MCkKYWxzIG1laW4gYWVsdGVyZXMsIGFiZXIgZ3JvZXNzZXJlcyBOb3RlYm9vay4KCk51biBpc3QgZGFzIFBoYWVub21lbiwgZGFzcyBkaWUgbWVpc3RlIFNvZnR3YXJlIGF1ZiBkaWVzZXIgaG9oZW4KQXVmbG9lc3VuZyBzZWhyIGd1dCB1bmQgZGV0YWlsbGllcnQgYW5nZXplaWd0IHdpcmQsIGZhc3Qgc2Nob24genUKa2xlaW4uIEFsbGVyZGluZ3MgZ2lidCBlcyBiZXN0aW1tdGUgUHJvZ3JhbW1lLCBkaWUgYW5zY2hlaW5lbmQgbmljaHQKZGFtaXQga2xhcmtvbW1lbiwgdW5kIGRhbm4gc2VoZW4gZGllc2UgdW50ZXIgYmVzYWd0ZXIgQXVmbG9lc3VuZwoidW5zY2hhcmYiIGJ6dy4gInNjaHdhbW1pZyIgYXVzLgoKTGFlc3N0IHNpY2ggaGllciBpcmdlbmR3aWUgQWJoaWxmZSBzY2hhZmZlbj8KCkRhbmtlLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZHNjaGlybWF1ZmxvZXN1bmdlbiAoR2xvaW5zb24sIDI1LiBNYWkgMjAxOSwgMjA6NDc6NTYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1NTgzODY5OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU1ODM4Njk5NgpGdWVyIGVudHNwcmVjaGVuZGUgUHJvZ3JhbW1lIG1hbCBkaWUgRWlnZW5zY2hhZnRlbiBhdWZydWZlbiwgZGEgZ2lidCBlcyB1bnRlcgoiS29tcGF0aWJpbGl0YWV0IiBlaW5lbiBFaW50cmFnIGZ1ZXIgZGllIERQSS1Ta2FsaWVydW5nLCBkaWUgZGFzIFRoZW1hCmFuc3ByaWNodCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmlsZHNjaGlybWF1ZmxvZXN1bmdlbiAoQW1hcnlsbGlzLCAyNi4gTWFpIDIwMTksIDIwOjIzOjE3KToKfiMhIHJuPUdsb2luc29uIHJ0PTE1NTg4MTAwNzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU1ODM4Njk5NgpJY2ggZGFua2UgRGlyIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZHNjaGlybWF1ZmxvZXN1bmdlbiAoQmFtYmksICAyLiBKdW4gMjAxOSwgMTc6NTU6MzUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1NTgzODY5OTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU1ODM4Njk5NgpLYW0gZGEgd2FzIGJlaSByYXVzPyBJY2gga2VubiBkYXMgc29uc3QgbnVyIHZvbiBTbWFydHBob25lcywgZGFzcyBkaWUgZWluZW0KZGllIFBpeGVsZGljaHRlIG1pdHRlaWxlbi4gS2FubiBuYXR1ZXJsaWNoIHNlaW4sIGRhc3MgV2luMTAKInNtYXJ0cGhvbmV0YXVnbGljaCIgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkc2NoaXJtYXVmbG9lc3VuZ2VuIChBbWFyeWxsaXMsICAyLiBKdW4gMjAxOSwgMjE6NDE6NTEpOgp+IyEgcm49QmFtYmkgcnQ9MTU1OTQ5MDkzNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTU4Mzg2OTk2CkJlaSBlaW5lciBBbndlbmR1bmcgaGF0cyB3YXMgZ2VicmFjaHQsIGJlaSBkZXIgYW5kZXJlbiBsZWlkZXIgbmljaHQgLSBsZXR6dGVyZQppc3QgYWJlciBzY2hvbiBhZWx0ZXIgdW5kIGRlc2hhbGIgbmljaHQgZnVlciBob2VoZXJlIEF1ZmxvZXN1bmdlbiBnZXRlc3RldAp3b3JkZW4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkc2NoaXJtYXVmbG9lc3VuZ2VuIChBbWFyeWxsaXMsICAzLiBKdW4gMjAxOSwgMTk6MTY6MDgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1NTk1MDQ1MTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU1ODM4Njk5NgpJY2ggbWFjaCBoaWVyIG1hbCBkaWUgSW5ncmlkLi4uOgoKQmVpIFdpbjEwIGdpYnQgZXMgaW4gZGVuIEVpbnN0ZWxsdW5nZW4gdW50ZXIgIkFuemVpZ2UiIGRlbiBQdW5rdCAiZXJ3ZWl0ZXJ0ZQpTa2FsaWVydW5nc2VpbnN0ZWxsdW5nZW4iLgpEb3J0IGthbm4gbWFuICJTa2FsaWVydW5nIGZ1ZXIgQXBwcyBrb3JyaWdpZXJlbiIgYWt0aXZpZXJlbi4gRGFzIHR1dHMgYmVpIG1pcgpub2NoIGJlc3NlciBhbHMgZGFzIGhhZW5kaXNjaGUgR2Vmcmlja2VsIHVlYmVyIGRpZSBBcHAtUHJvcGVydGllcy4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVTQi1Qcm9ibGVtIGJlaSBXaW5kb3dzIDEwIChBbWFyeWxsaXMsICA2LiBKdWwgMjAxOSwgMjE6MzU6MzIpOgpIaSwKCmljaCBoYWJlIGVpbiBuZXVlcyBOb3RlYm9vayBtaXQgV2luMTAgKHp1bSBab2NrZW4gdW5kIGZ1ZXIgQmFja3VwcykuIEVzIGlzdAphbGxlcyBhdWYgZGVuIG5ldWVzdGVuIFN0YW5kIGdlcGF0Y2h0LgpOdW4gaGFiZSBpY2ggZm9sZ2VuZGVzIFBoYWVub21lbjogQmVpbSBBbnNjaGxpZXNzZW4gZWluZXMgZXh0ZXJuZW4gR2VyYWV0ZXMKdWViZXIgVVNCIHdpcmQgZGllc2VzIG5pY2h0IGVya2FubnQuIEdlaGUgaWNoIGluIGRlbiBHZXJhZXRlbWFuYWdlciB1bmQgd2FlaGxlCmRvcnQgIlVTQiIgc293aWUgIm5hY2ggZ2VhZW5kZXJ0ZXIgSGFyZHdhcmUgc3VjaGVuIiwgd2lyZCBzb2ZvcnQgYWxsZXMgcmljaHRpZwplcmthbm50LgpJY2ggaGFiZSBiZXJlaXRzIFRyZWliZXIgdXBnZWRhdGV0IGV0Yy4gcHAsIGRpZSBTdWNobWFzY2hpbmUgbWVpbmVyIFdhaGwgaGlsZnQKYXVjaCBuaWNodCB3aXJrbGljaCB3ZWl0ZXIuCkF1ZiBlaW5lbSBhbmRlcmVuIE5vdGVib29rIHRyaXR0IGRpZXNlcyBQaGFlbm9tZW4gbmF0dWVybGljaCBuaWNodCBhdWYuLi4KCkhhdCBnZ2YuIGplbWFuZCBuZSBJZGVlPwoKVkcKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVTQi1Qcm9ibGVtIGJlaSBXaW5kb3dzIDEwIChBbWFyeWxsaXMsIDIwLiBKdWwgMjAxOSwgMjE6MzE6MTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1NjI0NDE3MzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU2MjQ0MTczMgpJY2ggbWFjaGUgaGllciBtYWwgZGllIEluZ3JpZCwgZGEgZXMgZ2dmLiBmdWVyIGFuZGVyZSBhdWNoIGludGVyZXNzYW50IGlzdDoKSWNoIGhhYmUgaW0gR2VyYWV0ZW1hbmFnZXIgYWxsZSBVU0ItSHVicyB1bmQgd2FzIG5vY2ggZGEgc29uc3QgdW50ZXIgIlVTQiIgenUKZmluZGVuIGlzdCwgdW50ZXIgZGVuICJFbmVyZ2lldmVyd2FsdHVuZyIgc28ga29uZmlndXJpZXJ0LCBkYXNzIEFic2NoYWx0ZW4genVtClN0cm9tc3BhcmVuIG5pY2h0IG1laHIgZXJsYXVidCBpc3QgLSBzZWl0ZGVtIGlzdCBhbGxlcyBvaywgdW5kIGljaCBkZW5rZSwgaWNoCndlcmRlIGRhIGtlaW5lIG5lbm5lbnN3ZXJ0ZSBzY2hsZWNodGVyZSBBa2t1bGF1ZnplaXQgZXJrZW5uZW4uLi4KCkRhcyBHYW56ZSBpc3QgdWVicmlnZW5zIG5pY2h0IGF1ZiBtZWluZW0gTWlzdCBnZXdhY2hzZW4sIGRlc2hhbGIgbGllYmVuIERhbmsKYW4gTWFjcSBmdWVyIGRlbiBWb3JzY2hsYWcvSGlud2VpcyA6LSkKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClB1dHR5L1BTRlRQIHVuZCBIb3N0IEtleSAoWm9vaywgMjkuIEF1ZyAyMDE5LCAxMjo1OTo1NCk6CkhhbGxvLCAKCmljaCBzY2hyZWliZSBtYWwgaGllciwgZGEgaWNoIGtlaW5lbiBQbGFuIGhhYmUsIHdhcyBiZWkgZWluZW0gClByb2JsZW0gdm9uIG1pciBkaWUgVXJzYWNoZSB3YXI6CgpJY2ggaGFiZSBlaW4gUHJvZ3JhbW0sIGRhcyBydWZ0IHBzdGZ0cCB2b24gUHV0dHkgYXVmIHVuZCAKdWViZXJnaWJ0IGRlbiBIb3N0a2V5IGFscyBQYXJhbWV0ZXIuIEVudHdpY2tlbHQgdW50ZXIgTGludXgsCmF1c2dlcm9sbHQgdW50ZXIgV2luZG93cy4gTGFldWZ0IGJpc2hlciBzZWl0IEphaHJlbiBvaG5lCkJlYW5zdGFuZHVuZ2VuLgoKTnVuIFVtenVnIHp1IGVpbmVtIG5ldWVuIFNGVFAtU2VydmVyLiBJY2ggcHJ1ZWZlIGRlbiBuZXVlbiAKS2V5LCBzdGltbWUgZGVuIGF1Y2ggYWIuIE1laW5lIFRlc3RzIGZ1bmt0aW9uaWVyZW4gaGVydm9ycmFnZW5kLAphdWNoIGRpZSBLb2xsZWdpbiBiZXN0YWV0aWd0IGRlbiBLZXkuCgpOdW4gcm9sbGUgaWNoIGRhcyBhdWYgV2luZG93cyBhdXMgdW5kIGJla29tbWUgZWluICJIb3N0IGtleQpkaWQgbm90IGFwcGVhciBpbiBtYW51YWxseSBjb25maWd1cmVkIGxpc3QiLiBTdGVsbHQgc2ljaCByYXVzLAphdWYgZGVtIFByb2R1a3RpdnN5c3RlbSB3aXJkIHZvbSBTRlRQLVNlcnZlciBlaW4gYW5kZXJlciBLZXkKKEZpbmdlcnByaW50KSBhbmdlemVpZ3QuIERlbiBrZW5udCBuaWVtYW5kLiAKCk5hY2hkZW0gaWNoIG51biBkZW4gaW4gZGllIEtvbmZpZ3VyYXRpb24gZWluZ2V0cmFnZW4gaGFiZSwKZ2VodCBlcyB1bmQgZXMgaXN0IGF1Y2ggaW4gZGVyIFRhdCBkZXIgcmljaHRpZ2UgU0ZUUC1TZXJ2ZXIuCgpOdW4gbWVpbmUgRnJhZ2U6IFdpZSBrYW5uIHNvd2FzIHBhc3NpZXJlbj8KCklyZ2VuZGplbWFuZCBpcmdlbmRlaW5lIElkZWU/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHV0dHkvUFNGVFAgdW5kIEhvc3QgS2V5IChaZXNzdHJhLCAyOS4gQXVnIDIwMTksIDEzOjA2OjI2KToKfiMhIHJuPVpvb2sgcnQ9MTU2NzA3NjM5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTY3MDc2Mzk0ClNTSC1TZXJ2ZXIga29lbm5lbiBqYSBnbGVpY2h6ZWl0aWcgdmVyc2NoaWVkZW5lIEhvc3RrZXlzIGZ1ZXIgdmVyc2NoaWVkZW5lCkNpcGhlcnN1aXRlcyBoYWJlbiAoei5CLiBmdWVyIFJTQSB1bmQgZWQyNTUxOSkuIEljaCB2ZXJtdXRlLCBkYXNzIGRlciBDbGllbnQKYXVmIFdpbmRvd3MgYmVpbSBDb25uZWN0IGVpbmUgYW5kZXJlIGF1c2dlaGFuZGVsdCBoYXQgYWxzIGRlciBMaW51eC1DbGllbnQuCkxhc3N0IGV1Y2ggZGFzIGRvY2ggbWFsIGFuemVpZ2VuLCB3ZWxjaGUgamV3ZWlscyBiZW51dHp0IHdpcmQuIFZlcm11dGxpY2gKYmxlaWJ0IG51ciB1ZWJyaWcsIGFsbGUgSG9zdGtleXMgYW56dXNjaGF1ZW4gdW5kIGJla2FubnQgenUgbWFjaGVuLiBPZGVyIGRpZQpDaXBoZXJzdWl0ZSBmZXN0enVsZWdlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHV0dHkvUFNGVFAgdW5kIEhvc3QgS2V5IChab29rLCAyOS4gQXVnIDIwMTksIDE0OjMxOjU1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTU2NzA3Njc4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTY3MDc2Mzk0CkRhcyB3YXIgZXMuIERhbmtlLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFzcGJlcnJ5UGkgdW5kIFNjcmF0Y2ggdW5kIGkyYyAoWm9vaywgIDIuIFNlcCAyMDE5LCAxMTo1ODoxOCk6CkhleSwgaGF0IHNjaG9uIG1hbCB3ZXIgbWl0IFNjcmF0Y2ggdW5kIGRlbSAKUmFzcGJlcnJ5UGkgd2FzIGdlbWFjaHQ/IEZyYWdlIHZvbiBtaXIgaXN0OiBLYW5uCmljaCBkYSBvaG5lIGdyb3NzZSBVbXN0YWVuZGUgYXVjaCBkZW4gaTJjLUJ1cyBhbnN0ZXVlcm4/CgpaT29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzc2gtUHJvYmxlbWUgKEh1bW5pLCAgNi4gTm92IDIwMTksIDA2OjI4OjQzKToKSGFsbG8gaWhyLAoKZWluIGludGVyZXNzYW50ZXMgUHJvYmxlbTogSWNoIGhhYmUgZWluZW4gTGludXhyZWNobmVyIChNaW50LCBvYiB3aWNodGlnLAprZWluZSBBaG51bmcpLiBWb24gZGVtIGF1cyB3aWxsIGljaCBhdWYgZWluZW4gU2VydmVyIHp1Z3JlaWZlbiwgYXVmIGRlbSBpY2gKZWluZW4gS2V5IGVpbmdldHJhZ2VuIGhhYmUuCgpXZW5uIGljaCB2b24gbWVpbmVtIExhcHRvcCBtaXQgZGVtc2VsYmVuIEtleSBhdXMgYXVmIGRlbiBTZXJ2ZXIgenVncmVpZmVuIHdpbGwKKHBlciBzc2gpIGtyaWVnZSBpY2ggIk5ldHp3b3JrIGlzIHVucmVhY2hhYmxlIi4KVm9uIG1laW5lbSBIZWltLVBDIGltIHNlbGJlbiBOZXR6d2VyayBhdXMga29tbWUgaWNoIG1pdCBkZW1zZWxiZW4gS2V5IGF1ZiBkZW4KU2VydmVyLgpWb24gbWVpbmVtIExhcHRvcCBhdXMga29tbWUgaWNoIG1pdCBzc2ggcmF1cyAoei5CLiBpbnMgTUcpLCBwcm9ibGVtbG9zLgpOdXIsIHdlbm4gaWNoIHZvbSBMYXB0b3AgYXVzIGF1ZiBkaWVzZW4gU2VydmVyIHdpbGwsIGlzdCBkYXMgTmV0endlcmsgbmljaHQKZXJyZWljaGJhci4KCkhhdCBqZW1hbmQgZWluZSBJZGVlPyBJY2ggYmluIGxhbmdzYW0gZWhlciBzbyByYXRsb3MuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNzaC1Qcm9ibGVtZSAoUnVtYXRhLCAgNi4gTm92IDIwMTksIDA4OjEzOjI1KToKfiMhIHJuPUh1bW5pIHJ0PTE1NzMwMTgxMjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU3MzAxODEyMwpEYXMga2xpbmd0IHNvLCBhbHMgd3VlcmRlIGRlciBTZXJ2ZXIgdm9tIEhlaW0gUEMgYXVzIHZpYSBWUE4KZXJyZWljaHQgd2VyZGVuLCB3ZWxjaGVzIGJlaW0gTGFwdG9wIG5pY2h0IChiencuIGFuZGVycykKa29uZmlndXJpZXJ0IGlzdC4KCk9kZXIgZGVyIEhvc3RuYW1lIExvb2t1cCBpc3QgYmVpIGJlaWRlbiB1bnRlcnNjaGllZGxpY2guCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzc2gtUHJvYmxlbWUgKFplc3N0cmEsICA2LiBOb3YgMjAxOSwgMDk6Mjc6MjkpOgp+IyEgcm49UnVtYXRhIHJ0PTE1NzMwMjQ0MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU3MzAxODEyMwpJbiBqZWRlbSBGYWxsIGlzdCBkaWUgRmVobGVybWVsZHVuZyBlaWdlbnRsaWNoIGtlaW4gc3NoLVByb2JsZW0sIHNvbmRlcm4gbmVuCmdydW5kbGVnZW5kZXMgUm91dGluZy9Lb25uZWt0aXZpdGFldHNwcm9ibGVtLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc3NoLVByb2JsZW1lIChBcmF0aG9ybiwgIDYuIE5vdiAyMDE5LCAyMDo1NzowNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTE1NzMwMjg4NDkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU3MzAxODEyMwpNYWwgc28gZ3J1bmRzYWV0emxpY2ggZ2VmcmFndDogV2llIGlzdCBkZW5uIGRpZSBOZXR6dG9wb2xvZ2llIHVlYmVyaGF1cHQ/CkRpZSBCZXNjaHJlaWJ1bmcgaXN0IGZ1ZXIgbWljaCBiaXNoZXIgbmljaHQgYXVzcmVpY2hlbmQsIHVtIHVlYmVyaGF1cHQKZWluZSBNZWludW5nIHp1IGhhYmVuLiBTaW5kIGFsbGUgUmVjaG5lciBpbmtsLiBTZXJ2ZXIgaW0gZ2xlaWNoZW4gU3VibmV0ej8KV2VsY2hlIFZlcm1pdHRsdW5nc3N0ZWxsZW4gc2luZCBkYXp3aXNjaGVuPyBBbGxlcyB1ZWJlciBLYWJlbCBvZGVyIExhcHRvcAp1ZWJlciBXTEFOPwoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzc2gtUHJvYmxlbWUgKEFtYXJ5bGxpcywgIDYuIE5vdiAyMDE5LCAyMTozOToxMik6Cn4jISBybj1BcmF0aG9ybiBydD0xNTczMDcwMjI0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKU2Nob25tYWwgdHJhY2Vyb3V0ZSwgcGluZyB1bmQgY28uIHByb2JpZXJ0PyBLYW5uIGVyIGRhcyByaWNodGlnZSBHYXRld2F5CmFucGluZ2VuPwoKSnVzdCBndWVzc2luZwpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzc2gtUHJvYmxlbWUgKEh1bW5pLCAxMC4gTm92IDIwMTksIDIwOjA3OjI3KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNTczMDcyNzUyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKQWxzbywgaWNoIGhhYiBtaXR0bGVyd2VpbGUgcmF1cywgZGFzcyBkZXIgU2VydmVyIGFtIGFuZGVyZW4gRW5kZSBvZmZlbmt1bmRpZwpkZW4gZWluZW4gUmVjaG5lciBhYmxlaG50IChDb25uZWN0aW9uIHJlZnVzZWQpLCB1bmQgZGFzIGJlaW0gYW5kZXJlbiBuaWNodAp0dXQuCgpJY2ggaGFiZSBtaXR0bGVyd2VpbGUgZWluZW4gZ3Jvc3NhcnRpZ2VuIFdvcmthcm91bmQ6IEljaCBuZWhtZSBlaW5lbiBhbmRlcmVuClNlcnZlci4gSWNoIGhhYmUgbnVyIGtlaW5lIElkZWUsIHdhcnVtIGRlciBkYXMgYmVpIGRlbSBlaW5lbiBha3plcHRpZXJ0LCBiZWkKZGVtIGFuZGVyZW4gbmljaHQuCgpOdW4gZGVubi4gVmllbGxlaWNodCBoYWJlIGljaCBpcmdlbmR3YW5uIHZvbiBkZW0gZWluZW4gYXVzIG1hbCBkYXMgZmFsc2NoZQpQYXNzd29ydCBlaW5nZWdlYmVuLCB1bmQgZGVyIHdpcmQgZGlyZWt0IGdlYmxvY2t0LiBLZWluZSBBaG51bmcuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogc3NoLVByb2JsZW1lIChBcmF0aG9ybiwgMTAuIE5vdiAyMDE5LCAyMDoxMDo1Nik6Cn4jISBybj1IdW1uaSBydD0xNTczNDEyODQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKV2FzIHNhZ3Qgc3NoIC12dnY/IERhIG11ZXNzdGVuIGRvY2ggZWlnZW50bGljaCBHcnVlbmRlIHp1IGZpbmRlbiBzZWluLgpTaW5kIGRhcyBhbGxlcyBkZWluZSBTZXJ2ZXI/CgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHNzaC1Qcm9ibGVtZSAoSHVtbmksIDEwLiBOb3YgMjAxOSwgMjA6MTk6MDApOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTU3MzQxMzA1NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTczMDE4MTIzCk5laW4sIGRpZSBTZXJ2ZXIgZ2Vob2VyZW4gYWxsZSBuaWNodCBtaXIuIERlciBoaWVyIGtvbmtyZXQgZ2Vob2VydCAxJjEuCgpJY2ggaGFiIG51biBnZXJhZGUgbWFsLCBlaW5lciBFaW5nZWJ1bmcgZm9sZ2VuZCwga29tcGxldHRlIENoYW5jZW5nbGVpY2hoZWl0CmRlciBSZWNobmVyIGhlcmdlc3RlbGx0IHVuZCBkZW4gTGFwdG9wIChiZWkgZGVtIGRhcyBuaWNodCBnaW5nKSBtaXQgZGVtCkxBTi1LYWJlbCB2ZXJidW5kZW4uIFVuZCBqZXR6dCBnZWh0IGF1Y2ggZGFzLgoKc3NoIC12dnYgbWFjaHQgKG9obmUgTEFOLUthYmVsKSBmb2xnZW5kZXM6IEVyc3Qgc2FndCBlciwgZXIgdmVyc3VjaHQgZWluZQpJUDQtQWRyZXNzZSB6dSBlcnJlaWNoZW4sIHVuZCBzYWd0IGRhbm4gIkNvbm5lY3Rpb24gcmVmdXNlZCIsIGRhbm4gdmVyc3VjaHQKZXIsIGVpbmUgSVA2LUFkcmVzc2UgenUgZXJyZWljaGVuLCB1bmQgc2FndCBOZXR3b3JrIHVucmVhY2hhYmxlLiBWb24gZGVtCkxBTi1SZWNobmVyIGF1cyB2ZXJzdWNodCBlciBoaWVyIGRpcmVrdCBkaWUgSVA2LUFkcmVzc2UsIHVuZCBkYXMgZ2VodCBkYW5uCmF1Y2guCgpWaWVsbGVpY2h0IGdlaHQga2VpbiBJUDYgdWViZXIgV2xhbj8gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogc3NoLVByb2JsZW1lIChBcmF0aG9ybiwgMTAuIE5vdiAyMDE5LCAyMDoxOTo1Nik6Cn4jISBybj1IdW1uaSBydD0xNTczNDEzNTQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKQWVobS4gRGFubiBtdWVzc3RlbiBhYmVyIGRvY2gsIHdlbm4gaWNoIG1pY2ggbmljaHQga29tcGxldHQgaXJyZSwgYXVjaCBzbwpCYXNpc2RpbmdlIHdpZSBwaW5nIG9kZXIgYWVobmxpY2hlcyBmZWhsc2NobGFnZW4/CgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHNzaC1Qcm9ibGVtZSAoSHVtbmksIDEwLiBOb3YgMjAxOSwgMjA6MjI6MzcpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTU3MzQxMzU5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNTczMDE4MTIzCk5laW4sIGRlbm4gcGluZyBnZWh0IHdvaGwgdWViZXIgSVA0LiBEYXMgZ2VodC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogc3NoLVByb2JsZW1lIChBcmF0aG9ybiwgMTAuIE5vdiAyMDE5LCAyMDozMDowMSk6Cn4jISBybj1IdW1uaSBydD0xNTczNDEzNzU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKRHUga2FubnN0IGphIG1hbCBwaW5nIC02IG1hY2hlbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogc3NoLVByb2JsZW1lIChIdW1uaSwgMTAuIE5vdiAyMDE5LCAyMDozMjoyOCk6Cn4jISBybj1BcmF0aG9ybiBydD0xNTczNDE0MjAxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKSWNoIHdlaXNzIG5pY2h0LCB3aWUgaWNoIGRhcyBzYWdlbiBzb2xsLCBhdXNzZXIgLi4uIAoKamV0enQgZ2VodHMuIEF1Y2ggdWViZXIgV0xBTi4KCkljaCBiaW4gZ2VyYWRlIGVpbiB3ZW5pZyBmYXNzdW5nc2xvcyB1bmQgaGFiZSBrZWluZSBJZGVlLCB3YXJ1bS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogc3NoLVByb2JsZW1lIChab29rLCAxMC4gTm92IDIwMTksIDIwOjM2OjU5KToKfiMhIHJuPUh1bW5pIHJ0PTE1NzM0MTQzNDggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU3MzAxODEyMwpFRFYuIEVuZGUgZGVyIFZlcm51bmZ0LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IHNzaC1Qcm9ibGVtZSAoSHVtbmksIDEwLiBOb3YgMjAxOSwgMjA6Mzg6MTcpOgp+IyEgcm49Wm9vayBydD0xNTczNDE0NjE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1NzMwMTgxMjMKRGFua2UgZXVjaCBhbGxlbiBmdWVyIGRlbiB2aWVsZW4gSW5wdXQuIEVzIGdlaHQsIGFiZXIgaWNoIGhhYmUgaW1tZXIgbm9jaAprZWluZW4gR3J1bmQsIHdhcnVtIC4uLiBtYWwgc2NoYXVlbiwgb2IgZGFzIG1pdCBkZW0gUGkgaW4gZGVyIFNjaHVsZSBnZW5hdXNvCmdlaHQgd2llIGpldHp0IGFtIExhcHRvcCB1bmQgd2FzIGF1cyBkZW0gU2NodWxuZXR6IHBhc3NpZXJ0IC4uLgoKRmFzc2VuIGthbm4gaWNoIGRhcyBpbW1lciBub2NoIG5pY2h0LiBBYmVyIHNpY2hlciBnaWJ0IGVzIGVpbmVuIGdhbnogbG9naXNjaGVuCkdydW5kIGRhZnVlci4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogc3NoLVByb2JsZW1lIChaZXNzdHJhLCAxMC4gTm92IDIwMTksIDIyOjU3OjMyKToKfiMhIHJuPUh1bW5pIHJ0PTE1NzM0MTQ2OTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU3MzAxODEyMwpEZXIgZWluZmFjaHN0ZTogZGVyIGJldHJlZmZlbmRlIFNlcnZlciBrb2VubnRlIGphIGF1Y2ggZWluaWdlIFRhZ2UKZmVobGtvbmZpZ3VyaWVydCBnZXdlc2VuIHNlaW4gdW5kIGFsbGUgSVB2NC1WZXJiaW5kdW5nZW4gYWJnZWxlaG50IGhhYmVuLi4uCk9kZXIgbWVpbnN0IER1LCBkYXNzIG51biBpbSBXTEFOIGF1Y2ggSVB2NiBnZWh0PwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKamF2YXNjcmlwdCAoUnVtYXRhLCAxMC4gRmViIDIwMjAsIDExOjE0OjU3KToKSWNoIGZhbGxlIGRhIGF1Y2ggamVkZXNtYWwgZHJhdWYgcmVpbiwgZGFzcyBtYW4gdmlhIGZvciggZSBpbiBhcnIgKQpOSUNIVCB1ZWJlciBlaW4gYXJyYXkgaXRlcmllcmVuIGthbm4uLi4uCgpNb250YWcsIGljaHdlaXNzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZUNyeXB0RlMgKEFyYXRob3JuLCAyMi4gRmViIDIwMjAsIDExOjU5OjMyKToKSGFsbG8genVzYW1tZW4sCgp3aXIgaGFiZW4gZG9jaCBlaW4gcGFhciB2ZXJzaWVydGUgVGVjaG5pay1HdXJ1cyBoaWVyLiBWaWVsbGVpY2h0IGhhdCBqYQpqZW1hbmQgZWluZSBJZGVlLgoKSWNoIGhhYmUgYXVmIG1laW5lciBLVWJ1bnR1LUluc3RhbGxhdGlvbiBkYXMgSG9tZS1WZXJ6ZWljaG5pcyBtaXQgZUNyeXB0RlMKdmVyc2NobHVlc3NlbHQuIERhcyBpc3Qgc2Nob24gc2VpdCBkZXIgSW5zdGFsbGF0aW9uIHZvciBkcm9lbGZ6aWcgSmFocmVuCmRyYXVmLCBkLmguIG5pY2h0IG5ldS4gSWNoIHN0b2xwZXJlIGFiZXIgc2VpdCBlaW5lciBXZWlsZSB1ZWJlciBkYXMgUHJvYmxlbSwKZGFzcyBzaWNoIGRhcyBlQ3J5cHRGUy1WZXJ6ZWljaG5pcyBvaG5lIG1laW4gWnV0dW4gZWluZmFjaCBzbyB1bm1vdW50ZXQuCkljaCBrYW5uIGVzIG1pdCBlY3J5cHRmcy1tb3VudC1wcml2YXRlIHdpZWRlciBlaW5iaW5kZW4sIGVzIGZhaHJlbiBhYmVyCmRhbm4gbmF0dWVybGljaCBpbiBkZXIgWndpc2NoZW56ZWl0IGhhdWZlbndlaXNlIGFuZGVyZSBQcm96ZXNzZSBhbiBkaWUgCldhbmQuIERhcyBQcm9ibGVtIHRyaXR0IHVlYnJpZ2VucyAqbmFjaCogZGVtIExvZ2luIGF1ZiwgZC5oLiBkYXMgVmVyemVpY2huaXMKd2lyZCBvaG5lIFByb2JsZW1lIGdlbW91bnRldCwgYWxsZSBGaWxlcyBzaW5kIHp1Z2FlbmdsaWNoLCB1bmQgZGllCkVpbmJpbmR1bmcgdmVyc2Nod2luZGV0IGF1Y2ggbmljaHQgaW4gWmVpdGVuLCB3ZW5uIGRpZSBNYXNjaGluZSBpZGxlIGlzdCwKc29uZGVybiB3ZW5uIGljaCBkcmFuc2l0emUgdW5kIGFrdGl2IHdhcyBtYWNoZS4KCkljaCBoYWJlIG5pY2h0IGRpZSBnZXJpbmdzdGUgSWRlZSwgd28gaWNoIGFuZmFuZ2VuIGtvZW5udGUsIGRhcyB6dSAKZGlhZ25vc3RpemllcmVuLCBpY2ggd2lsbCBlcyBhYmVyIGRlZmluaXRpdiBiZXNlaXRpZ2VuLgoKT1M6IExpbnV4IFhZWiA1LjMuMC00MC1nZW5lcmljICMzMi1VYnVudHUgU01QIEZyaSBKYW4gMzEgMjA6MjQ6MzQgVVRDIDIwMjAKICAgIHg4Nl82NCB4ODZfNjQgeDg2XzY0IEdOVS9MaW51eAoKUGFrZXRlOgplY3J5cHRmcy11dGlscyAxMTEtMHVidW50dTUKbGliZWNyeXB0ZnMwICAgMTA3LTB1YnVudHUxLjIKbGliZWNyeXB0ZnMxICAgMTExLTB1YnVudHU1Cgpqb3VybmFsY3RsIGxpZWZlcnQga2VpbmUgSGlud2Vpc2UsIGRtZXNnIHVuZCBkYXMgc3lzbG9nIGF1Y2ggbmljaHQuCgpCaW4gZnVlciBqZWRlbiBIaW53ZWlzIGRhbmtiYXIuIDotKQoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVDcnlwdEZTIChaZXNzdHJhLCAyMi4gRmViIDIwMjAsIDIwOjM0OjA2KToKfiMhIHJuPUFyYXRob3JuIHJ0PTE1ODIzNjkxNzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU4MjM2OTE3MgpNYWwgZWluIGdhbnogZ3J1bmRsZWdlbmRlciBTY2h1c3MgaW5zIEJsYXVlOiB3aWUgd2lyZCBkYXMgZGVubiB1cnNwcnVlbmdsaWNoCmdlbW91bnRldCwgYnp3LiB3ZWxjaGVyIHByb3plc3MgaXN0IGRhZnVlciB6dXN0YWVuZGlnPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlQ3J5cHRGUyAoQXJhdGhvcm4sIDIzLiBGZWIgMjAyMCwgMjE6MDk6NDIpOgp+IyEgcm49WmVzc3RyYSBydD0xNTgyNDAwMDQ2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE1ODIzNjkxNzIKSWNoIGhhYmUgdGF0c2FlY2hsaWNoIGtlaW5lIEFobnVuZywgd2VsY2hlciBQcm96ZXNzIGRhcyBlaW5iaW5kZXQuIEljaCBoYWJlCmtlaW5lIFN5c3RlbWQtVW5pdHMgZ2VmdW5kZW4sIGRpZSBlaW5lbiBwYXNzZW5kZW4gTmFtZW4gaGFldHRlbiwgbnVyIGVpbmUKUEFNLUxpYnJhcnkgdW5kIGlyZ2VuZHdhcyBpbSBadXNhbW1lbmhhbmcgbWl0IGRlbSBLZXJuZWwuCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVDcnlwdEZTIChaZXNzdHJhLCAyNC4gRmViIDIwMjAsIDEwOjU1OjIzKToKfiMhIHJuPUFyYXRob3JuIHJ0PTE1ODI0ODg1ODIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU4MjM2OTE3MgpwYW1fZWNyeXB0ZnM/IFdhZXJlIG5haGVsaWVnZW5kLi4uIFZpZWxsZWljaHQgc28gd2llIGluCmh0dHBzOi8vd2lraS5hcmNobGludXgub3JnL2luZGV4LnBocC9FQ3J5cHRmcyNBdXRvLW1vdW50aW5nCmJlc2NocmllYmVuPwpEYSBnaWJ0IGVzIGVpbmUgV2FybnVuZy4uLgoiV2FybmluZzogVW5mb3J0dW5hdGVseSB0aGUgYXV0b21hdGljIHVubW91bnRpbmcgaXMgc3VzY2VwdGlibGUgdG8gYnJlYWsgd2l0aApzeXN0ZW1kIGFuZCBidWdzIGFyZSBmaWxlZCBhZ2FpbnN0IGl0LlsyXSBbM10gWzRdIFs1XSBJZiB5b3UgZXhwZXJpZW5jZSB0aGlzCnByb2JsZW0sIHlvdSBjYW4gdGVzdCBpdCBieSBjb21tZW50aW5nIG91dCAtc2Vzc2lvbiBvcHRpb25hbCBwYW1fc3lzdGVtZC5zbyBpbgovZXRjL3BhbS5kL3N5c3RlbS1sb2dpbi4gSG93ZXZlciwgdGhpcyBpcyBubyBzb2x1dGlvbiBiZWNhdXNlIGNvbW1lbnRpbmcgb3V0CndpbGwgYnJlYWsgb3RoZXIgc3lzdGVtZCBmdW5jdGlvbmFsaXRpZXMuIgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG9ja2xlciAoQW1hcnlsbGlzLCAgMy4gQXByIDIwMjAsIDEwOjEzOjA4KToKTW9pbiwKCmljaCBoYWJlIG1hbCBlaW5lbiBUaXAgZnVlciBkaWVqZW5pZ2VuLCBkaWUgdmxsdC4gZGVyemVpdCBhdWNoIG51ciBpbQpIb21lb2ZmaWNlIHNpdHplbiB1bmQgaXJnZW5kd2llIGlocmUgWmVpdGVuIHNpbm52b2xsIGVyZmFzc2VuIG11ZXNzZW4vd29sbGVuOgpUb2NrbGVyLgoKT3BlbiBTb3VyY2UsIFdpbmRvd3MsIExpbnV4LCBNYWNPUy4KClNwaWVsZSBnZXJhZGUgZWluIGJpc3NjaGVuIGRhbWl0IGhlcnVtIHVuZCBmaW5kZSBlcyByZWNodCBicmF1Y2hiYXIgYnp3LgplcnN0YXVubGljaCwgd2FzIGRhIGFuIGdyYWZpc2NoZXIgQXVmYmVyZWl0dW5nIGJ6dy4gU3RhdGlzdGlrZW4gZnVlciBtaWNoCnJhdXNrb21tdCA7KQoKaHR0cHM6Ly9naXRodWIuY29tL01heUdvL3RvY2tsZXIKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyYWZpa2thcnRlbiBiYWNrZW4gKFplc3N0cmEsIDE4LiBBcHIgMjAyMCwgMTc6NDg6MTcpOgpXaXIgaGFiZW4gaGV1dGUgZWluZSBHcmFmaWtrYXJ0ZSAoZWluZSBBTUQvQVRJIFJhZGVvbiBIRCA0ODUwKSBnZWJhY2tlbi4gRWluCk1hYyBoYXR0ZSBlaW4gdHlwaXNjaGVzIEZlaGxlcmJpbGQgKHZlcnRpa2FsZSBTdHJlaWZlbiwgZWluZ2Vmcm9yZW5lcyBCaWxkLApIYWVuZ2VuIGJlaW0gQm9vdGVuKSwgd2FzIHZpZWxlIExldXRlIHNjaG9uIGZ1ZXIgZGllIE1vZGVsbHNlcmllIHZvbiAyMDA5IGJpcwoyMDEyIGJlc2NocmllYmVuIGhhYmVuLiBMYXV0IGFsbHdpc3NlbmRlciBNdWVsbGhhbGRlIGxhZXNzdCBzaWNoIGRhcyBQcm9ibGVtCm1pdCBkZW0gQmFja2VuIGRlciBHcmFmaWtrYXJ0ZSBmdWVyIDEwbWluIGJlaSAyMDBDIGJlaGViZW4uCgpXaXIgaGFiZW4gYWxzbyBkYXMgRGluZyBhdXNlaW5hbmRlciBnZWJhdXQsIGRpZSBHcmFrYSByYXVzIHVuZCBnZWJhY2tlbi4KTnVuIGlzdCBkZXIgTWFjIGlzdCB3aWVkZXIgenVzYW1tZW4gZ2ViYXV0LiBVbmQgb2ggd3VuZGVyOiBlcyBoYXQgCmZ1bmt0aW9uaWVydC4gRGllIEdyYWZpa2thcnRlIHR1dCB3aWVkZXIsIGVyIHplaWd0IHdpZWRlciBEaW5nZSBhbiB1bmQgYm9vdGV0IAp3aWVkZXIuIEdyYWZpa2thcnRlbiBiYWNrZW4gZnVua3Rpb25pZXJ0LgoKRXMgaGF0IGxlaWRlciBzY2hvbiAzaCBnZWRhdWVydCwgZGllIEJhc3RlbGVpLCB3ZWlsIGFsbGVzIHNlaHIga29tcGFrdCB2ZXJiYXV0CmlzdC4gVW5kIG1hbiBicmF1Y2h0ZSBadWJlaG9lciAoZGllIHJpY2h0aWdlbiBTY2hyZWliZW5kcmVoZW4sIFRvcngsIFNhdWdoZWJlcgpldGMuKSB1bmQgc3BlemllbGxlIFdhZXJtZWxlaXRwYXN0ZW4gZXRjLiBFcyBoYXQgbnVuIDM1IEV1cm8gZ2Vrb3N0ZXQgcGx1cyBuZQpNZW5nZSBaZWl0IGZ1ZXIgU3VjaGVuIHVuZCBCYXN0ZWxuLiBCZXNzZXIgYWxzIG5lbiBuZXVlbiBtYWMga2F1ZmVuLgoKS3VyaW9zZXJ3ZWlzZSBpc3QgZWluIGVyaGVibGljaCB6ZWl0YXVmd2VuZGlnZXIgU2Nocml0dCBkYXMgc3RhdWJmcmVpZQpSZWluaWdlbiB2b24gRGlzcGxheSB1bmQgR2xhc2FiZGVja3VuZy4KCkFubGVpdHVuZ2VuOgpodHRwczovL2RlLmlmaXhpdC5jb20vQW5sZWl0dW5nL2lNYWMrSW50ZWwrMjctSW5jaCtFTUMrMjM3NCtBTUQrUmFkZW9uK0hEKzQ4NTAKK1ZpZGVva2FydGUrdGF1c2NoZW4vNzg3NzEKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj12MURYQkxraXFGTQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUzogUmVjb3JkaW5nLVNvZnR3YXJlIChBbWFyeWxsaXMsIDMwLiBBdWcgMjAyMCwgMTE6NTE6MDkpOgpIaSwKCmljaCBzdWNoZSBlaW5lIFJlY29yZGluZy1Tb2Z0d2FyZSBmdWVyIFdpbmRvd3MsIGRpZSBxdWFzaSBkYXMsIHdhcyBhbQpLb3BmaG9lcmVyLUF1c2dhbmcgYW5saWVndCwgMToxIG1pdHNjaG5laWRldC4KTGV0enRlcmVzIGlzdCBlbnRzY2hlaWRlbmQuIEF1ZGFjaXR5IHVuZCBDby4gbmVobWVuIHp3YXIgYnJhdiBhdWYsIGFiZXIgaWNoCm1vZWNodGUgZGFzIFNpZ25hbCwgZGFzIEFtIEtvcGZob2VyZXItQXVzZ2FuZyBhbmxpZWd0LCAxOjEgbWl0c2NobmVpZGVuIChkYSBlcwpic3B3LiBkdXJjaCB3ZWl0ZXJlIEZpbHRlciB2ZXJhZW5kZXJ0IHdpcmQpLgoKSGF0IGRhIHdlciBuZW4gVGlwcCBmdWVyIG1pY2g/CgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogUmVjb3JkaW5nLVNvZnR3YXJlIChBbWFyeWxsaXMsIDMwLiBBdWcgMjAyMCwgMTg6MzQ6MzApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE1OTg3ODEwNjkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTU5ODc4MTA2OQpJY2ggbWFjaCBtYWwgd2llZGVyIGRpZSBJbmdyaWQuLi4KCkhhYiBtaXR0bGVyd2VpbGUgZWluZW4gY29vbGVuIFRyZWliZXIgZ2VmdW5kZW46Cmh0dHBzOi8vd3d3LnZiLWF1ZGlvLmNvbS9DYWJsZS9pbmRleC5odG0KClZpZWxsZWljaHQgaXN0IGVzIGphIGZ1ZXIgZGVuIGVpbiBvZGVyIGFuZGVyZW4gaW50ZXJlc3NhbnQuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb2RhZm9uZSB2cy4gVW5pdHlNZWRpYTogRFMtTGl0ZT8gKEFyYXRob3JuLCAgNy4gT2t0IDIwMjAsIDE4OjU0OjQzKToKTW9pbiB6dXNhbW1lbiwKCmljaCBoYXR0ZSBnZXJhZGUgQmVzdWNoIHZvbiBlaW5lbSBUeXBlbiB2b24gVm9kYWZvbmUsIGRlciBtZWludGUsIHNpZSB3b2xsdGVuCmdlcm5lIHVlYmVyIGt1cnogb2RlciBsYW5nIHZvbiBkZXIgbGV0enRlbiBNZWlsZSBLdXBmZXJsZWl0dW5nIHZvbiBkZXIgVGVsZWtvbQp3ZWcgdW5kIGRhaGVyIHNvIHZpZWxlIERTTC1LdW5kZW4gd2llIG1vZWdsaWNoIGF1ZiAoVFYtKUthYmVsIHVtc3RlbGxlbi4gU2llCmhhZXR0ZW4gZGllIExlaXR1bmdlbiBlcnNldHp0IHVuZCBhdWNoIGRpZSBFbXBmYWVuZ2VyIGltIEhhdXMsIHVuZCBiZWkgS3VuZGVuCm1pdCBWZXJiaW5kdW5nc3Byb2JsZW1lbiB3dWVyZGVuIHNpZSBkaWUgVW5pdHltZWRpYS1Sb3V0ZXIgZXJzZXR6ZW4gZHVyY2ggaWhyZQplaWdlbmVuLCB1bmQgZGFzIHd1ZXJkZSBkaWUgUHJvYmxlbWUgYmVzZWl0aWdlbi4KCkpldHp0IG1laW5lIEZyYWdlIGFuIGRpZSBMZXV0ZSwgdm9uIGRlbmVuIGljaCBpbW1lciB3aWVkZXIgbWFsIHVlYmVyIFByb2JsZW1lCmJlaSBVbml0eW1lZGlhIGhvZXJ0ZSwgb2IgZGFzIGluendpc2NoZW4gd2VnIGlzdD8gSWNoIG1laW5lIG1pY2ggaW5zYmVzb25kZXJlCmFuIERTLUxpdGUgYWxzIFZlcnVyc2FjaGVyIGluIGRlbSBadXNhbW1lbmhhbmcgenUgZXJpbm5lcm4uIEtvZW5udCBpaHIgbWljaCBkYQphdWYgZGVuIGFrdHVlbGxlbiBTdGFuZCBicmluZ2VuPyAKCldlbm4gaWNoIG5hZW1saWNoIGlyZ2VuZHdhcyBoYXNzZSwgdW5kIGRhcyBoYWIgaWNoIGRlbSBGdXp6eSBhdWNoIGdlc2FndCwgZGFubgppc3QgZGFzLCB3ZW5uIG1laW4gU1NIIG9kZXIgVGVsbmV0IGFsbGUgMTUgbWluIHZlcnJlY2t0LiBVbmQgc29sYW5nZSBkYXMgbmljaHQKbmFjaGhhbHRpZyB3ZWcgaXN0IGJlaSBkZW5lbiwga29lbm5lbiBzaWUgc2ljaCBhdWZuIEtvcGYgc3RlbGxlbiwgZGFubiB3aWxsCmljaCBkZXJlbiB0b2xsZXMgbmV1ZXMgTmV0eiBuaWNodC4gOy0pCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb2RhZm9uZSB2cy4gVW5pdHlNZWRpYTogRFMtTGl0ZT8gKFpvb2ssICA4LiBPa3QgMjAyMCwgMTQ6NDE6MjkpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYwMjA4OTY4MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyMDg5NjgzCkljaCBrYW5uIG51ciB2b24gZGVtIFVtc3RhbmQgYmVyaWNodGVuLCBkYXNzIGljaCwgd2VubiBpY2ggbWljaCAKZGlyZWt0IGlucyBNRyBlaW5sb2dnZSwgcmVnZWxtYWVzc2lnZSBWZXJiaW5kdW5nc2FiYnJ1ZWNoZQpoYWJlLiBTU0gtVmVyYmluZHVuZ2VuIHNjaGVpbmVuIHN0YWJpbGVyLiBPYiBkaWUgVXJzYWNoZSBEUy1MaXRlCmlzdCwgdmVybWFnIGljaCBuaWNodCB6dSBzYWdlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvZGFmb25lIHZzLiBVbml0eU1lZGlhOiBEUy1MaXRlPyAoQnVnZml4LCAgOC4gT2t0IDIwMjAsIDE0OjQ2OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTYwMjE2MDg4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyMDg5NjgzCkFsc28gaWNoIGJpbiBhdWNoIGJlaSBVbml0eW1lZGlhLCBoYWIgRFMgTGl0ZSB1bmQga2VpbmVybGVpIFByb2JsZW1lIG1pdApWZXJiaW5kdW5nc2FiYnJ1ZWNoZW4uIFdpciBoYXR0ZW4gbWFsIGt1cnp6ZWl0aWcgbmVuIGFuZGVybiBSb3V0ZXIgdm9uIGRlbmVuCmJla29tbWVuLCBtaXQgZGVtIGhhdHRlIGljaCBkaWUgYXVjaCBzdGFlbmRpZywgZGFoZXIgaGFiIGljaCBkZW4gZ2xlaWNoCnp1cnVlY2tnZXNjaGlja3QgdW5kIGRlbmVuIGdlc2FndCwgc2llIHNvbGxlbiBkZW4gYWx0ZW4gd2llZGVyIGFrdGl2aWVyZW4uCk1pdHRsZXJ3ZWlsZSBzdGVodCBoaWVyIGVpbmUgc2VsYnN0IGJlc2NoYWZmdGUgRnJpdHpib3gsIGFsc28gYXVjaCBtaXQKT3JpZ2luYWxzb2Z0d2FyZSB1bmQgbmljaHQgZHVyY2ggVU0gZ2VicmFuZGV0ZXIgdW5kIGdnZi4gc29uc3Qgd2llCm1vZGlmaXppZXJ0ZXIsIHVuZCBkYW1pdCBnZWh0IGRhcyBhdWNoIHByb2JsZW1sb3MuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvZGFmb25lIHZzLiBVbml0eU1lZGlhOiBEUy1MaXRlPyAoWm9vaywgIDguIE9rdCAyMDIwLCAxNDo0OToyMyk6Cn4jISBybj1CdWdmaXggcnQ9MTYwMjE2MTE4NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyMDg5NjgzCkVpZ2VuZW4gUm91dGVyIG1pdGJyaW5nZW4gZ2luZyBiZWkgdW5zIG1pdCBVbml0eW1lZGlhIGF1Y2gKcHJvYmxlbWxvcy4gQmlzIGhhbHQgYXVmIGRpZXNlcyBNRy1WZXJiaW5kdW5nc2FiYnJ1Y2gtUHJvYmxlbS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFZvZGFmb25lIHZzLiBVbml0eU1lZGlhOiBEUy1MaXRlPyAoQnVnZml4LCAgOC4gT2t0IDIwMjAsIDE0OjU2OjA1KToKfiMhIHJuPVpvb2sgcnQ9MTYwMjE2MTM2MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyMDg5NjgzCkpvLCBlaWdlbmVuIFJvdXRlciByZWdpc3RyaWVyZW4gbGFzc2VuIHdhciBrZWluIFByb2JsZW0uIEJpcyBhdWYgZGllIERva3UsIGRhCnNjaHJpZWJlbiBzaWUgbmFlbWxpY2ggZXhwbGl6aXQsIG1hbiBzb2xsZSBzaWNoIGFtIGJlc3RlbiB2b3JoZXIgc2Nob24gZGllCkRhdGVuIGZ1ZXIgZGllIFJlZ2lzdHJpZXJ1bmcgZGVyIFRlbGVmb25udW1tZXIgYW0gUm91dGVyIG5vdGllcmVuIC4uLiBoYWIgaWNoCmRhbm4gYXVjaCB2ZXJzdWNodCwgd2VpbCBpY2ggZmFuZCwgZGFzIGtsYWVuZ2UgbG9naXNjaC4gTnVyIGthbm4gbWFuIGRpZSBlcnN0CmVpbnNlaGVuLCB3ZW5uIG1hbiBkZW4gbmV1ZW4gUm91dGVyIHJlZ2lzdHJpZXJ0IGhhdC4gOy0pCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1pa3JvcGhvbiAoUnVtYXRhLCAxNC4gT2t0IDIwMjAsIDEwOjAwOjE4KToKSGFsbG8sCkZhbGthbiB1bmQgaWNoIHdvbGxlbiBmdWVyIGVpbmVuIFZvcnRyYWcsIGRlciBnZXN0cmVhbXQgd2VyZGVuIHNvbGwsCnVucyB1bSBkaWUgVGVjaG5payBrdWVtbWVybi4gRGVyIFZvcnRyYWdlbmRlIHNvbGwgZ2Vob2VydCB3ZXJkZW4uCkljaCBkZW5rZSBkYXMgTWlrcm8gZGVyIHdlYmNhbSBpc3QgZnVlciBzbyBlaW4gc2V0dGluZyBuaWNodCBnZWVpZ25ldAp1bmQgd2lsbCBkZXNoYWxiIGV0d2FzIHBhc3NlbmRlcyBleHRyYSBiZXNjaGFmZmVuLgpNZWluZSBJZGVlOiBBbnN0cmVja21pa3JvLCBEcmFodGxvcy4gTGludXhrb21wYXRpYmVsLiBFcyBtdXNzIG5pY2h0CmdsZWljaCBkYXMgUmhvZGVzZXQgZnVlciAyMDBFVVIgc2Vpbi4gCgpLYW5uIGplbWFuZCBldHdhcyBlbXBmZWhsZW4/CgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pa3JvcGhvbiAoWmVzc3RyYSwgMTQuIE9rdCAyMDIwLCAxMDowOTo1MSk6Cn4jISBybj1SdW1hdGEgcnQ9MTYwMjY2MjQxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyNjYyNDE4CkljaCBoYWJlIGJpc2hlciBsZWlkZXIga2VpbmUgZ3V0ZW4gRXJmYWhydW5nZW4gbWl0IEJsdWV0b290aC1FcXVpcG1lbnQKZ2VtYWNodC4gQW5kZXJlcnNlaXRzIG5haG1lbiBLb2xsZWdlbiBqZXR6dCBpaHJlIFZvcnRyYWVnZSB0YXRzYWVjaGxpY2ggbWl0CmRlbSBpbnRlZ3JpZXJ0ZW4gTWlrcm8gZGVyIFdlYmNhbSBhdWYgdW5kIG1laW5lbiwgZXMgc2VpIGF1Y2ggbmljaHQgc2NobGVjaHRlcgphbHMgbWl0IGVpbmVtIGthYmVsZ2VidW5kZW5lbiBIZWFkc2V0LiBJY2ggd2VyZGUgZGFzIGhldXRlIGViZW5mYWxscyBwcm9iaWVyZW4KLSBpY2ggbXVzcyBqZXR6dCBlaW5lbiBhdWZnZXplaWNobmV0ZW4gVm9ydHJhZyBlaW5yZWljaGVuIC0gZGFubiBrYW5uIGljaCB6dXIKV2ViY2FtIHVuZCBkZXJlbiBNaWtybyB2aWVsbGVpY2h0IHdhcyBzYWdlbi4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNaWtyb3Bob24gKFpvb2ssIDE0LiBPa3QgMjAyMCwgMTA6MTE6MjYpOgp+IyEgcm49WmVzc3RyYSBydD0xNjAyNjYyOTkxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDI2NjI0MTgKSWNoIGhhYmUgZWluIGd1ZW5zdGlnZXMgSGVhZHNldCB1bmQgZGFtaXQgZ2VodCBlcyBiaXNoZXIgZ2FueiBndXQ7IAppY2ggZmluZGUgbnVyLCBlcyBuaW1tdCBldHdhcyB2aWVsIFJhdXNjaGVuIGRydW0gaGVydW0gYXVmLCBhYmVyCmRhcyBtYWcgYXVjaCBhbiBtZWluZXIgZmVobGVuZGVuIEtlbm50bmlzIGJlaW0gQXVmbmVobWVuIGxpZWdlbi4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1pa3JvcGhvbiAoUnVtYXRhLCAxNC4gT2t0IDIwMjAsIDEwOjMzOjM1KToKfiMhIHJuPVpvb2sgcnQ9MTYwMjY2MzA4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyNjYyNDE4CkdlbmF1IGRpZXNlcyBSYXVzY2hlbiB3b2xsZW4gd2lyIHZlcm1laWRlbiB1bmQgamEsIEJUIHNlaGUgaWNoIGF1Y2gKc2tlcHRpc2NoLiBJY2ggbWFncyBiZWkgTWFldXNlbiB1bmQgVGFzdGF0dXJlbiBzY2hvbiBuaWNodCAod2VpbCBkYQp3ZWdlbiBFbmVyZ2llc3Bhcm1vZGkgbWFuY2htYWwgbHVzdGlnZSBEaW5nZSBwYXNzaWVyZW4pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWlrcm9waG9uIChBbnRoZWEsIDE0LiBPa3QgMjAyMCwgMTE6NTg6MjEpOgp+IyEgcm49UnVtYXRhIHJ0PTE2MDI2NjQ0MTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwMjY2MjQxOApCZWltIEhlYWRzZXQgaGFzdCBEdSBtZWlzdCBlaW4gZ2VyaWNodGV0ZXMgTWlrcm9waG9uLCB3YXMgYXVmIERpY2ggemVpZ3QuClZpZWxlIFdlYmNhbXMgaGFiZW4gZWluIFJhdW1taWtyb3Bob24uIERhbWl0IGhhYmVuIFdlYmNhbXMgb2Z0IHNlaHIgdmllbGUKUnVuZHVtZ2VyYWV1c2NoZSBpbiBkZXIgQXVmbmFobWUgbWl0IGRyYXVmLiBEYXMga2FubiwgamUgbmFjaCBVbWdlYnVuZywKc3RvZXJlbmQgd2lya2VuLiBXZW5uIGljaCBlaW5lbiBzdGFiaWxlbiBBYnN0YW5kIHp1bSBNaWtybyBoYWJlLCB3dWVyZGUgaWNoCnVuYmVkaW5ndCBkYXJhdWYgYWNodGVuLCBkaWUgRW1wZmluZGxpY2hrZWl0IHNlbGJlciB2b3JoZXIgYXVmIGVpbmVuIGZlc3RlbgpXZXJ0IGVpbnp1c3RlbGxlbiwgdW5kIG1pY2ggbmljaHQgYXVmIGRpZXNlbiBBdXRvLVBlZ2VsLVNjaHJvdHQgZWlubGFzc2VuLiBEYQp3aXJkLCB3ZW5uIER1IG5pY2h0cyBzYWdzdCwgZGllIEVtcGZpbmRsaWNoa2VpdCBob2NoZ2VkcmVodCwgd2FzIGRhbm4gYXVjaCB6dQp1ZWJlcmhvZWh0ZW0gUmF1c2NoZW4gZnVlaHJ0LiAKRGllIEJsdWV0b290aC1VZWJlcnRyYWd1bmcgaGF0IGZ1ZXIgQXVkaW8tU2lnbmFsZSBlaW5lIHppZW1saWNoZSBLb21wcmltaWVydW5nCmFrdGl2LCBkYSBnZWh0IG5hdHVlcmxpY2ggYXVjaCBzY2hvbiBlaW5pZ2VzIHZlcmxvcmVuLiBNYW4ga2FubiBuYXR1ZXJsaWNoCmF1Y2ggZnVlciB3aXJrbGljaCBndXRlbiBLbGFuZyBlaW4gYnVlaG5lbnRhdWdsaWNoZXMgRnVua21pa3JvIHZlcndlbmRlbiwgYWJlcgpmdWVyIGRpZSBtZWlzdGVuIGJyYXVjaHQgbWFuIGRhbm4gYXVjaCBub2NoIGVpbmVuIEVRLCB1bSBkYXMgZWluaWdlcm1hc3NlbiBhdWYKZGllIFppZWxzdGltbWUgYW56dXBhc3Nlbi4gR2VyYWRlIGd1ZW5zdGlnZXIgU2V0cyBoYWJlbiBkYSBvZnQgZWluIG5pY2h0IGdhbnoKYXVzZ2V3b2dlbmVzIEtsYW5nYmlsZC4gRGFubiBtdXNzIG1hbiBhdWNoIG5vY2ggZHJhdWYgYWNodGVuLCB3aWUgbGFuZ2Ugc2llCmR1cmNoaGFsdGVuLCBtYW5jaGUgYXVmbGFkYmFyZSBHZXJhZXRlIGdlYmVuIHouQi4gc2Nob24gbmFjaCAxNSBNaW51dGVuIGF1Zi4KSGF0IGFsbGVzIHNvIHNlaW5lIFZvci0gdW5kIHZvciBhbGxlbSBOYWNodGVpbGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNaWtyb3Bob24gKEFudGhlYSwgMTQuIE9rdCAyMDIwLCAxMjowODo1NCk6Cn4jISBybj1BbnRoZWEgcnQ9MTYwMjY2OTUwMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjAyNjYyNDE4CkpldHp0IGhhYmUgaWNoIGRpZSBPcmlnaW5hbGZyYWdlIG5vY2htYWwgZ2VsZXNlbi4gRHUgZ2Voc3QgZSBkYXZvbiBhdXMuIE51bgpqYSwgZGFzIFJob2RlIGlzdCBuaWNodCBzY2hsZWNodC4gTWFuIG11c3MgZGEgYXVjaCB1bnRlcnNjaGVpZGVuLCBvYiBEdSBmdWVyClNwcmFjaGUgb2RlciBmdWVyIHJlaW5lcyBTcHJlY2hlbiB3YXMgc3VjaHN0LiBSZWxhdGl2IGd1dGUgRXJmYWhydW5nZW4gaGFiZQppY2ggYXVjaCBtaXQgQUtHIG9kZXIgc29nYXIgZGVtIFRob21hbm4gdC5ib25lIGdlbWFjaHQuCnouQi4gc293YXM6IGh0dHBzOi8vd3d3LnRob21hbm4uZGUvZGUvYWtnX3dtc180MF9taW5pX2hlYWRtaWtlZF9pc20yX3NldC5odG0KSGFidCBpaHIgZGVubiBNaXNjaHB1bHQgbWl0IEVRIG9kZXIgYWVobmxpY2hlcyBhdWNoIHp1ciBWZXJmdWVndW5nPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWlrcm9waG9uIChSdW1hdGEsIDE0LiBPa3QgMjAyMCwgMTI6MzA6MDYpOgp+IyEgcm49QW50aGVhIHJ0PTE2MDI2NzAxMzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwMjY2MjQxOApXaXIgd29sbGVuIGRhIG5peCBncm9zc2VzIG1hY2hlbi4gRXMgZ2VodCBkYXJ1bSwgZWluZW4gVmVyZWluc3ZvcnRyYWcsCihkZXIgd2VnZW4gQ29yb25hIG51ciB2b24gd2VuaWdlbiBMaXZlIGdlc2VoZW4gd2VyZGVuIGthbm4pLCBlaW5pZ2VybWFzc2VuCmdlc3RyZWFtdCB1bmQvb2RlciBmdWVyIHNwYWV0ZXJlbiB1cGxvYWQgZ2VzcGVpY2hlcnQgYmVrb21tZW4uCgpEYXMgZ2FuemUgc29sbCBzbyBsYXVmZW4sIGRhc3Mgd2lyIGRlbiBWb3J0cmFnIHBlciBIRE1JIGdyYWJiZXIKdW5kIGRlbiBWb3J0cmFnZW5kZW4gcGVyIHdlYmNhbSBhdWZuZWhtZW4gdW5kIGRhcyBnYW56ZSBkYW5uIHZpYSBvdnMtc3R1ZGlvCmFiZ2VtaXNjaHQgd2VyZGVuLiBwb3N0IHdvbGxlbiB3aXIgc293ZWl0IGlyZ2VuZCBtb2VnbGljaCB2ZXJtZWlkZW4uCih3ZW5uIGRhcyBtaXQgZGVtIHN0cmVhbSBrbGFwcHQgZ2VodCBkYXMgamEgZWggbmljaHQgOi0pCgpFcyBzb2xsIGhhbHQgYmVzc2VyIHdlcmRlbiBhbHMgbWl0IGRlbSBXZWJjYW1taWtyby4KClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNaWtyb3Bob24gKFplc3N0cmEsIDE0LiBPa3QgMjAyMCwgMTI6NDc6NDIpOgp+IyEgcm49UnVtYXRhIHJ0PTE2MDI2NzE0MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwMjY2MjQxOApBbHNvLCBkYXMgV2ViY2FtLU1pa3JvIGRlciBMb2dpdGVjaC1XZWJjYW0sIGRpZSBpY2ggaGllciBsZWlod2Vpc2UgaW0gQnVlcm8KaGFiZSwgZnVua3Rpb25pZXJ0IGF1c3JlaWNoZW5kIGd1dCBmdWVyIGVpbmVuIFZvcnRyYWcsIHdlbm4gbWFuIG1pdCBldHdhcwpSYXVta2xhbmcgKEhhbGwpIGxlYmVuIGthbm4uIEFuc29uc3RlbiBoYWJlbiBpY2ggZWluIGthYmVsZ2VidW5kZW5lcyBlaW5mYWNoZXMKTG9naXRlY2gtSGVhZHNldCAoMjAtMzAgRXVybykgaGllciwgZGFzIGdlaHQgYXVjaC4KQmVpIEJULUhlYWRzZXRzIGlzdCBkYXMgQmlsZCBnZW1pc2NodCwgZGFzIGthbm4gZ3V0IGZ1bmt0aW9uaWVyZW4uIE1pdCAia2VpbmUKZ3V0ZW4gZXJmYWhydW5nZW4iIHdhciBnZW1laW50LCBkYXNzIGVzIG5pY2h0IGtvbnNpc3RlbnQgaXN0LiBEYXNzZWxiZSBHZXJhZXQKdHV0IGhldXRlIGd1dCB1bmQgbW9yZ2VuIGlzdCBudXIgS3JhZWNoemVuIGRyYXVmIC0gaWNoIG5laG1lIHN0YXJrIGFuLCBkYXNzIGVzCmRhcmFuLCB3ZWxjaGUgVmVyYmluZHVuZ3NwYXJhbWV0ZXIgZnVlciBhdXNoYW5kZWxuLiAoVWVicmlnZW5zIG1pdCBpY2ggbWl0CldpZWRlcmdhYmUgYmVpIGRlbiBCVC1HZXJhZXRlbiBpbiBkZXIgUmVnZWwgenVmcmllZGVuLiBEYSBoYWJlIGljaCB6d2VpCkdlcmFldGUgYXVzIGRlbSBQcmVpc3NlZ21lbnQgendpc2NoZW4gMTAwIHVuZCAyMDAgRXVybywgZGllIGhhYmVuIGVpbmUgZnVlcgptZWluZSBOaWNodC1Qcm9maS1PaHJlbiBlaW5lIGF1c3JlaWNoZW5kIGd1dGUgUXVhbGl0YWV0cyBmdWVyIGRpZSBXaWVkZXJnYWJlCnZvbiBNdXNpay4pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYXNwaXNwZWljaGVyIGVyd2VpdGVybi4gKFJ1bWF0YSwgMzEuIE9rdCAyMDIwLCAxMzo1MDo0NSk6CkhhbGxvLAppY2ggaGFiZSBlaW5lbiByYXNwaTQgbWl0IDE2R0Iga2FydGUsIGRpZSBpY2ggZ2VybmUgZHVyY2ggZWluZSA2NGVyCmVyc2V0emVuIHdpbGwuCgpIYWJlIGRpZSBrYXJ0ZSBkZCBydWViZXJrb3BpZXJ0LCBkYW5uIGhhdCBzaWUgYWJlciBudXIgMTZnYi4KCnJhc3BpLWNvbmZpZyBtYWcgZGllIGthcnRlIG5pY2h0IGVyd2VpdGVybiAtIHZtdGwgd2VpbCBzaWUgc2Nob24Kdm9uIGRlciBpbnN0ZWxsYXRpb24gaGVyIGVyd2VpdGVydCBpc3QuCgpsZXR6dGUgcGFydGl0aW9uIHZlcmdyb2Vzc2VybiBnZWh0IG5pY2h0LCB3ZWlsIHNpZSB0ZWlsIGVpbmVyIGV4dGVuZGVkCnBhcnRpdGlvbiBpc3QuCgpudW4gZmFlbGx0IG1pciBudXIgbm9jaCBlaW4sIGF1ZiBkZXIgbmV1ZW4ga2FydGUgbmV1IHp1IGluc3RhbGxpZXJlbiwKdW5kIGRhbm4gZGllIGxldHp0ZSBwYXJ0aXRpb24gbWl0IGRlbSBpbmhhbHQgZGVyIGFsdGVuIGthcnRlIHp1CnVlYmVyc2NocmVpYmVuLgoKaXN0IGRhcyBlcmZvbGd2ZXJzcHJlY2hlbmQ/CmdpYnQgZXMgZWluZSBlbGVnYW50ZXJlIGxvZXN1bmc/CgpydW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhc3Bpc3BlaWNoZXIgZXJ3ZWl0ZXJuLiAoWmVzc3RyYSwgMzEuIE9rdCAyMDIwLCAxNTowMDo0NCk6Cn4jISBybj1SdW1hdGEgcnQ9MTYwNDE0ODY0NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0MTQ4NjQ1Ck5hamEsIHBlciBkZCBrb3BpZXJzdCBEdSBqYSBhbGxlIFZlcndhbHR1bmdzZGF0ZW4gbWl0LiBJY2ggd3VlcmRlIGF1ZiBkZXIKbmV1ZW4gU0QtS2FydGUgZGllIHBhcnRpdGlvbmVuIHVuZCBGaWxlc3lzdGVtZSB3aWUgZ2V3dWVuc2NodCBuZXUgYW5sZWdlbiB1bmQKZGFubiBkZW4gSW5oYWx0IGRlciBQYXJ0aXRpb25lbiBrb3BpZXJlbiwgZGVuayBpY2guCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhc3Bpc3BlaWNoZXIgZXJ3ZWl0ZXJuLiAoUnVtYXRhLCAzMS4gT2t0IDIwMjAsIDE5OjQxOjAyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTYwNDE1Mjg0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0MTQ4NjQ1ClByb2JsZW0gaXN0IGltbWVyIGRlciBCb290dm9yZ2FuZywgZGVtIGljaCBuaWNodCBzbyByZWNodCB0cmF1ZSwgb2IKZGVyIG5pY2h0IGlyZ2VuZHdlbGNoZSBzZWt0b3JudW1tZXJuIG5pbW10LCB1bSBzZWluZSBEYXRlbiB6dSBmaW5kZW4uLi4KKHJlbWViZXIgbGlsbyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJhc3Bpc3BlaWNoZXIgZXJ3ZWl0ZXJuLiAoWmVzc3RyYSwgMzEuIE9rdCAyMDIwLCAxOTo0MzowOSk6Cn4jISBybj1SdW1hdGEgcnQ9MTYwNDE2OTY2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0MTQ4NjQ1CmphLCBnZ2YuIG11c3MgbWFuIGRhIGRlbiBib290bG9hZGVyIG5vY2htYWwgbWFjaGVuIGRhbmFjaC4gV2Vpc3MgbmljaHQgd2llIGRlcgpyYXNwaSB1bmQgZGFzIGJlaSBEaXIgZGFzIGhhbmRoYWJ0Li4uCkFiZXIgZ3J1YiB6LkIuIGJyaW5ndCBBRkFJSyBuZW4gVHJlaWJlciBmdWVyIHp1bWluZGVzdCBlaW5pZ2UgRlMgbWl0IG9kZXI/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYXNwaXNwZWljaGVyIGVyd2VpdGVybi4gKEFudGhlYSwgIDIuIE5vdiAyMDIwLCAxMjo1NTozMSk6Cn4jISBybj1SdW1hdGEgcnQ9MTYwNDE2OTY2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0MTQ4NjQ1CkRlciBSYXNwYmVycnkgaXN0IGRhIGF1Y2ggaW50ZXJlc3NhbnQsIGRlciBuaW1tdCB6dW0gU3RhcnRlbiBkaWUgR1BVLCBkaWUgZGFubgpkYXMgSW1hZ2UgbGFlZHQgdW5kIGRhbm4gZGllIENQVSBzdGFydGV0LgpEYXp1IGJyYXVjaHQgRGVpbmUgU0QgbWluZGVzdGVucyAyIFBhcnRpdGlvbmVuOiBlaW5lIGtsZWluZSwgY2EgODBNQiwgRkFUCmZvcm1hdGllcnQuIERpZSBoYXQgZGVuIEdQVS1Db2RlLiBXZW5uIER1IGRpZXNlIFBhcnRpdGlvbiBhdWYgZGllIG5ldWUgU0QKZGlyZWt0IGNsb25zdCwgZGFubiBzb2xsdGUgZGFzIFN0YXJ0ZW4gYW4gc2ljaCBzY2hvbiBtYWwgZnVua3Rpb25pZXJlbi4gRXZ0bC4KbXVzc3QgRHUgYXVmIGRlciBQYXJ0aXRpb24gZGllICJjbWRsaW5lLnR4dCIgYW5wYXNzZW4sIGRpZSBlbnRoYWVsdCBzbyBlaW5lClplaWxlIHdpZSAicm9vdD0vZGV2L21tY2JsazBwMiIsIGRpZSBtdXNzIGFuIGRpZSBQYXJ0aW9uIGFuZ2VwYXNzdCB3ZXJkZW4sIGRpZQpkYW5uIGRhcyBlaWdlbnRsaWNoZSByb290LUZTIGVudGhhZWx0LgpJbiBkaWVzZSB6d2VpdGUgUGFydGl0aW9uLCBkaWUgRHUgcGVyIEhhbmQgZGFubiBhbmxlZ2VuIGthbm5zdCwga29waWVyc3QgRHUKZGVuIEluaGFsdCBkZXIgYWx0ZW4gSGF1cHRwYXJ0aXRpb24gcmVpbi4KRGFtaXQgc29sbHRlIGRhcyBEaW5nZW4gZGFubiB3aWVkZXIgc3RhcnRlbiBrb2VubmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmFzcGlzcGVpY2hlciBlcndlaXRlcm4uIChSdW1hdGEsICAzLiBOb3YgMjAyMCwgMTk6MzM6MzApOgp+IyEgcm49QW50aGVhIHJ0PTE2MDQzMTgxMzEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNDE0ODY0NQpKYXUsIGRhc3MgbWl0IGRlciBHUFUgaXN0IGRyb2xsaWcgKGRhcyBtYWNodGUgZGllIFdJSSBhdWNoIHNvIGtvbWlzY2ggaWlyYykuCkVpbiBwYXJ0aXRpb25zd2Vpc2VyIHJzeW5jIGhhdCBhbSBFbmRlIGdlaG9sZmVuLgoKRGFua2UuClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTOiBOb3RlYm9vayB2b24gTGVub3ZvICAoWm9vaywgIDkuIE5vdiAyMDIwLCAxNzoxMDo0MSk6CgpIaSwgCgppY2ggd2VyZGUgZGFubiBkb2NoIG1hbCB3aWVkZXIgZWluIG5ldWVzIE5vdGVib29rIGthdWZlbiwgYWxzbyBuZXUgCmltIFNpbm5lIHZvbiAiZmFicmlrbmV1IjsgZGVyIEdlYnJhdWNodG1hcmt0IGlzdCBncmFkIG5pY2h0IHNvIGdlaWwsCmRhaGVyIG11c3MgZXMgbWFsIG5lbiBuZXVlcyBzZWluLgoKQmlzaGVyIGhhYmUgaWNoIG5lbiByZWNodCBhbHRleCBYMSBDYXJib24gdW5kIGhhdHRlIG1pciBudW4Kdm9uIExlbm92byBlaW4gVCBoZXJhdXNnZXN1Y2h0OiBUMTQgQU1EIChtaXQgd29obCAxNiBHQiBSQU0KdW5kIDUxMiBHQiBIREQpLgoKSGF0IGRhIGplbWFuZCBuZSBNZWludW5nIHp1IG9kZXIgRXJmYWhydW5nIG1pdCBkZW4gYWt0dWVsbGVuClQtTW9kZWxsZW4gdm9uIExlbm92bz8KCihBaGphLCBMaW51eCBzb2xsIGRyYXVmIGxhdWZlbi4pCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogTm90ZWJvb2sgdm9uIExlbm92byAgKFh1dGVsaXVzLCAgOS4gTm92IDIwMjAsIDE3OjUxOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTYwNDkzODI0MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0OTM4MjQxCkFsc28gZWluZXIgdm9uIEFrYXMgQnJ1ZWRlcm4gaGF0dGUgQmVydWZsaWNoIG5lbiBmcnVlaGVuIFZvcmdhZW5nZXIgZGF2b24gdW5kCndhciBkYSBzZWhyIHp1ZnJpZWRlbiBtaXQsIGRhcmF1ZiBoaW4gaGF0IGVyIHNpY2ggcHJpdmF0IGxldHp0ZXMgSmFociBkZW4KZGlyZWt0ZW4gVm9yZ2FlbmdlciBnZWthdWZ0IHVuZCBpc3QgZGEgaW1tZXJub2NoIHp1ZnJpZWRlbiBtaXQuIEJlaSBkZW0gZmFuZAppY2ggZXR3YXMgZG9vZiwgZGFzIGVpbm1hbCA4IEdCIFJBTSB2ZXJsb2V0ZXQgd2FyZW4gdW5kIG51ciBlaW4gU2xvdCBmcmVpIHdhciwKa2VpbmUgQWhudWduLCB3aWUgZGFzIGJlaSBkZW0gYWt0dWVsbGVuIGF1c3NpZWh0LgoKQW5zb25zdGVuIGlzdCBkZXIgZWluemlnZSBHcnVuZCwgZGFzcyBpY2ggbiBMIHVuZCBrZWluIFQgaGFiLCBkYXNzIGljaCBmdWVyCmRpZSBwYWFyIEdyYW1tIHdlbmlnZXIgdW5kIG5lIGRlZGl6aWVydGUgR3JhZmlra2FydGUsIHZvbiBkZXIgaWNoIG5pY2h0CndpcmtsaWNoIHdhcyBoYWIsIGtlaW5lIDMwMCBFdXJvIG1laHIgYXVmIGRlbiBUaXNjaCBsZWdlbiBtYWcuIDstKQoKWHV0ZWxpdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUzogTm90ZWJvb2sgdm9uIExlbm92byAgKFJ1bWF0YSwgIDkuIE5vdiAyMDIwLCAxOToxODoyNik6Cn4jISBybj1YdXRlbGl1cyBydD0xNjA0OTQwNjg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDQ5MzgyNDEKSGFiZSBoaWVyICJoYWxid2VncyIgYWt0dWVsbCBlaW4gVDQ4MHMgdW5kIGVpbiBMNDkwIGFtIHN0YXJ0LgpCaW4gbWl0IGRlbmVuIHp1ZnJpZWRlbi4gVm9uIGRlciBWLVJlaWhlIHd1ZXJkZSBpY2ggZGllIEZpbmdlciBsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUzogTm90ZWJvb2sgdm9uIExlbm92byAgKEFtYXJ5bGxpcywgIDkuIE5vdiAyMDIwLCAyMDo0Mjo1MCk6Cn4jISBybj1ab29rIHJ0PTE2MDQ5MzgyNDEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNDkzODI0MQpMZW5vdm8gaGF0dGUgbWFsIG5lbiBTa2FuZGFsLCBkYXNzIGRpZSBhbnNjaGVpbmVuZCBTY2hudWVmZmVsc29mdHdhcmUKaGFyZHdhcmVtYWVzc2lnIHZlcmJhdXQvdmVyZHJhaHRldCBoYWJlbi4KT2IgZGEgd2FzIGRyYW4gd2FyIG9kZXIgYWt0dWVsbCBub2NoIGlzdCwgd2Vpc3MgaWNoIG5pY2h0LCBhYmVyIGVzIGhhdCBtaWNoCnNlaXRkZW0gZGF2b24gYWJnZWhhbHRlbiwgTGVub3ZvIHp1IGthdWZlbi4uLgoKKEphLCBpY2ggd2Vpc3MsIGRhc3MgZGFzIGJlaSBhbmRlcmVuIEhlcnN0ZWxsZXJuIGF1Y2ggc2VpbiBrYW5uLCBkYSBkaWUgamEKcXVhc2kgYWxsZSBDaGluYWNoaXBzIHZlcmJhdWVuLi4uKQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTOiBOb3RlYm9vayB2b24gTGVub3ZvICAoWHV0ZWxpdXMsICA5LiBOb3YgMjAyMCwgMjA6NDk6NTApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2MDQ5NTA5NzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNDkzODI0MQpBbHNvIGFuIEhBcmR3YXJlIGthbm4gaWNoIG1pY2ggZGEgbmljaHQgZXJpbm5lcm4uIERpZSBoYXR0ZW4gbWFsIHdhcwp2b3JpbnN0YWxsaWVydCwgZGFzIHdhciBhYmVyIGdhbnogbm9ybWFsIGRlaW5zdGFsbGllcmJhciwgd2VubiBpY2ggbmljaHRzCnZlcmdlc3NlbiBoYWIuCgpYdXRlbGl1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUzogTm90ZWJvb2sgdm9uIExlbm92byAgKEdsb2luc29uLCAgOS4gTm92IDIwMjAsIDIyOjE2OjI0KToKfiMhIHJuPVh1dGVsaXVzIHJ0PTE2MDQ5NTEzOTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNDkzODI0MQpEZXIgVDQ4MHMgYmVnbGVpdGV0IG1pY2ggamV0enQgc2VpdCBlaW5lbSBKYWhyLiBIYWIgbWFsIGRhcyBEaXNwbGF5IGdla25hY2t0LAp3YXIgYWJlciByZXBhcmllcmJhci4gU28gZ2FueiBhbmdlbmVobSwgZGVuIEdlbjgtSW50ZWwga2FubiBtYW4gYXVjaCBldHdhcyBtaXQKWFRVIHVuZGVydm9sdGVuIHVuZCBkYW5uIGlzdCBkZXIgbm9jaCBrdWVobGVyIHVuZCBsZWlzZXIuCgpadW0gWm9ja2VuIGZ1ZXIgRWxpdGUgRGFuZ2Vyb3VzIHVuZCBNVUQgcmVpY2h0IGVzIG5hdHVlcmxpY2ggYXVjaC4gTnVyIGRlcgpLbnViYmVsIHNjaGVpbnQgbWlyIGlyZ2VuZHdpZSBldHdhcyBzY2h3ZXJnYWVuZ2lnZXIgYWxzIGRpZSBWb3JnYWVuZ2VyIHp1CnNlaW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUzogTm90ZWJvb2sgdm9uIExlbm92byAgKEFtYXJ5bGxpcywgIDkuIE5vdiAyMDIwLCAyMjoxODo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xNjA0OTU2NTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDQ5MzgyNDEKIlVuZGVydm9sdGVuIj8/PyBPaCB3ZWlhLi4uIGthdWYgRGljaCBtYSBuZSBUeXRlIERvaXRzY2ggOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFM6IE5vdGVib29rIHZvbiBMZW5vdm8gIChYdXRlbGl1cywgIDkuIE5vdiAyMDIwLCAyMjoxOToyOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xNjA0OTU2NTg0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDQ5MzgyNDEKSG0gamEsIGRpZSBoYWJlbiBpcmdlbmR3YW5uIHp3aXNjaGVuIGRlciB2aWVyemlnZXIgdW5kIGRlciBuZXVuemlnZXItU2VyaWUgZGllCk1lY2hhbmlrIGdlYWVuZGVydCwgc3RvZXJ0IG1pYyBobmF0dWVybGljaCBuaWNodCwgYWJlciBmYWVsbHQgYXVmLCBkYSBpY2ggZGVuCktudWJiZWwgaW1tZXIgYWJtb250aWVyZSB3ZWlsIGVyIHN0b2VydCAuLi4gdW5kIGRhIGRydW50ZXIgc2llaHRzIGFuZGVycyBhdXMuCjstKQoKWHV0ZWxpdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFM6IE5vdGVib29rIHZvbiBMZW5vdm8gIChEZWFkZHksIDEwLiBOb3YgMjAyMCwgMTY6MTA6MDkpOgp+IyEgcm49WHV0ZWxpdXMgcnQ9MTYwNDk1Njc2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0OTM4MjQxCkhhYmVuIGhpZXIgYXVjaCBnZXJhZGUgbmVuIHNlaHIgYWt0dWVsbGVzIEwxNCAobGVpZGVyIGRlciBtaXQgSW50ZWwtQ1BVKSB1bmQKZGFzIGlzdCBkYXMgdGhpbmtwYWRpZ3N0ZSBUaGlua3BhZCB3YXMgaWNoIHNlaXQgZGVyIFQ0MC1SZWloZSBpbiBkZXIgSGFuZApoaWVsdCAoc28gdm9uIGRlciBIYXB0aWsgaGVyIHVuZCBhbGxlbSkgdW5kIHd1ZXJkIG1pciBkYWhpbmdlaGVuZCBhdWNoIGRpZQpULVNlcmllIG5vY2htYWwgdWViZXJsZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFM6IE5vdGVib29rIHZvbiBMZW5vdm8gIChab29rLCAxMi4gTm92IDIwMjAsIDE0OjQ3OjMyKToKfiMhIHJuPURlYWRkeSBydD0xNjA1MDIxMDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDQ5MzgyNDEKVmllbGVuIERhbmsgYW4gRXVjaCBhbGxlIGZ1ZXIgZGllIEJlcmljaHRlIHVuZCBIaW53ZWlzZS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFM6IE5vdGVib29rIHZvbiBMZW5vdm8gIChab29rLCAxNy4gTm92IDIwMjAsIDE4OjA2OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTYwNTE4ODg1MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA0OTM4MjQxCkljaCBtYWcgZXMgbnVuIGRvY2ggc2Nob24gc2VociwgZGFzIG5ldWUuIAoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVhZHNldCB1bmQgTGludXggKFpvb2ssIDE3LiBOb3YgMjAyMCwgMTg6MDg6MjcpOgpTZXJzZW4hCgpCZWkgbWVpbmVtIE5vdGVib29rIGhhYmUgaWNoIG51biBmb2xnZW5kZXMga29taXNjaGVzIFBoYWVub21lbjogRGFzCkRpbmcgaGF0IGlyZ2VuZHdpZSBtZWhyZXJlIEVpbmdhZW5nZSBmdWVyIEF1ZGlvLiBXZW5uIGljaCBhbiBkaWVzZW4gCmtvbWJpbmllcnRlbiBBdWRpby1TdGVja2UgbWVpbiBIZWFkc2V0IGFuc3RvZXBzZWwsIGRhbm4gYmVrb21tZSBpY2ggendhcgpkZW4gVG9uIGluIGRlciBBdXNnYWJlLCBhYmVyIGljaCBzY2hhZmZlIGVzIG5pY2h0LCBkYXMgSGVhZHNldCBkYXMKTWlrcm8genUgYmVudXR6ZW4uIEljaCBoYWJlIHNjaG9uIGFsbGUgZHJvZWxmemlnIEdlcmFldGUgaW4gZGVyCkF1ZGlvLUVpbnN0ZWxsdW5nZW4gYW5nZWtsaWNrdCwga2VpbmUgQWVuZGVydW5nLgoKTWVpbmUgTG9lc3VuZyBudW4gaXN0OiBVU0ItSGVhZHNldCBrYXVmZW4uIE9kZXIgaGF0IGplbWFuZApzb25zdCBlaW5lIElkZWU/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVhZHNldCB1bmQgTGludXggKERlYWRkeSwgMTcuIE5vdiAyMDIwLCAxODowOTo1Nik6Cn4jISBybj1ab29rIHJ0PTE2MDU2MzI5MDcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNTYzMjkwNwpGYW5nZW4gd2lyIG1pdCBkZW4gRHVtbWllZnJhZ2VuIGFuLCBoYXQgRGVpbiBIZWFkc2V0IGRlbm4gYXVjaCBkcmVpIHVuZCBuaWNodApudXIgendlaSBSaW5nZSBhdWYgZGVyIEtsaW5rZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZWFkc2V0IHVuZCBMaW51eCAoQXJhdGhvcm4sIDE3LiBOb3YgMjAyMCwgMTg6MTA6NDcpOgp+IyEgcm49Wm9vayBydD0xNjA1NjMyOTA3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU2MzI5MDcKSWNoIGdlaGUgbWFsIGRhdm9uIGF1cywgZGFzcyBkdSBlaW5lbiBkZXIgdWVibGljaGVuLCBhbmFsb2dlbiAzLDUKbW0tS2xpbmtlbnN0ZWNrZXIgbWVpbnN0LiBXZW5uIGphOiBoYXN0IGR1IGdlcHJ1ZWZ0LCBvYiBkaWUgUG9sdW5nIHJpY2h0aWcKaXN0PyBCZWkgZGllc2VuIHZpZXJwb2xpZ2VuIEtvbWJpLVN0ZWNrZXJuLCBkaWUgaGV1dGUgdmllbCB2ZXJ3ZW5kZXQgd2VyZGVuLApzaW5kIG1hbmNobWFsIGRpZSBCZWxlZ3VuZ2VuIGFuZGVycyBhbHMgZGllIGRlciBCdWNoc2UuIEdnZi4gbWFsIGVpbiBhbmRlcmVzCkhlYWRzZXQgdmVyd2VuZGVuLCB6dW0gVGVzdGVuIHR1dCdzIGphIGF1Y2ggZWlucyBkaWVzZXIgSGVhZHNldHMsIGRpZSBiZWltCkhhbmR5IGRhYmVpbGllZ2VuLgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlYWRzZXQgdW5kIExpbnV4IChab29rLCAxNy4gTm92IDIwMjAsIDE4OjExOjM5KToKfiMhIHJuPURlYWRkeSBydD0xNjA1NjMyOTk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU2MzI5MDcKSWNoIGthbm4gYW5iaWV0ZW4sIGRpZSBEdW1teWZyYWdlbiB2aWEgdGVpbGUtbWl0IHp1IGtsYWVyZW4sCnVtIG1pY2ggbmljaHQgdm9lbGxlbmRzIHp1IGJsYW1pZXJlbi4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEhlYWRzZXQgdW5kIExpbnV4IChBcmF0aG9ybiwgMTcuIE5vdiAyMDIwLCAxODoxMzozNSk6Cn4jISBybj1ab29rIHJ0PTE2MDU2MzMwOTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNTYzMjkwNwpEYWZ1ZXIgbXVzcyBtYW4gbmF0dWVybGljaCBhdWNoIHdpc3Nlbiwgd2VsY2hlIEJ1Y2hzZW5hcnQgaW0gR2VyYWV0IHZlcmJhdXQKaXN0LiA6LSkKCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZWFkc2V0IHVuZCBMaW51eCAoWm9vaywgMTcuIE5vdiAyMDIwLCAxODoxMzo1Mik6Cn4jISBybj1BcmF0aG9ybiBydD0xNjA1NjMzMDQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU2MzI5MDcKSmEsIGdhbnogZ2VuYXUuIERpZSAzLjVtbSBLbGlua2UuIEhtLiBEYXMgSGVhZHNldCB0dXQgc2VpdCBKYWhyZW4Kb2huZSBNdWNrZW4uIElzdCBzbyBlaW4gU2VubmhlaXNlciBQQzMgb2RlciBzbyB1bSBkaWUgS2FudGUuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBIZWFkc2V0IHVuZCBMaW51eCAoQXJhdGhvcm4sIDE3LiBOb3YgMjAyMCwgMTg6MTY6MTApOgp+IyEgcm49Wm9vayBydD0xNjA1NjMzMjgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU2MzI5MDcKQWxzbyBkYXMgU2VubmhlaXNlciBoYXQgMiBTdGVja2VyLCBNaWtybyB1bmQgS29wZmhvZXJlciBzZXBhcmF0LiBXYXMgaGF0IGRlaW4KTGFwdG9wIGZ1ZXIgZWluZSBCdWNoc2U/CgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEhlYWRzZXQgdW5kIExpbnV4IChab29rLCAxNy4gTm92IDIwMjAsIDE4OjE3OjI3KToKfiMhIHJuPUFyYXRob3JuIHJ0PTE2MDU2MzMzNzAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNTYzMjkwNwpJY2ggaGFiZSBzbyBlaW5lbiBBZGFwdGVyLCBkYXMgTm90ZWJvb2sgaGF0IGVpbmVuIFN0ZWNrZXIuIEljaCBzY2hhdWUgCm1hbCBuYWNoLCBvYiBpY2ggZGFzIHJhdXNiZWtvbW1lLiAKClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEhlYWRzZXQgdW5kIExpbnV4IChSdW1hdGEsIDE4LiBOb3YgMjAyMCwgMDg6MTY6MzkpOgp+IyEgcm49Wm9vayBydD0xNjA1NjMzNDQ3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU2MzI5MDcKRGFzIGtsaW5ndCBqYSBmYXN0IG5hY2ggZWluZXIgT01UUDwtPkNUSUEgSW5rb21wYXRpYmlsaXRhZXQuClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBIZWFkc2V0IHVuZCBMaW51eCAoQXJhdGhvcm4sIDE4LiBOb3YgMjAyMCwgMTU6NDE6MzcpOgp+IyEgcm49UnVtYXRhIHJ0PTE2MDU2ODM3OTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNTYzMjkwNwpEYXMga2FubiBndXQgc2VpbiwgYmVpc3BpZWxzd2Vpc2UgYXVjaCBpbSBBZGFwdGVyLiBFaWdlbnRsaWNoIGhhZXR0ZSBpY2gKZXJ3YXJ0ZXQsIGRhc3MgZGllIGhldXRpZ2UgSGFyZHdhcmUgc293YXMgZXJrZW5uZW4ga2FubiwgYWJlciB3ZW5uIGVzIGRhcmFuCmxpZWd0LCB0dXQgc2llIGRhcyBvZmZlbmJhciBuaWNodC4gV2lyIGhhYmVuIGplZGVuZmFsbHMgc2Nob29uIGZlc3RnZXN0ZWxsdCwKZGFzcyBBdWRpb2F1c2dhYmUgZWlud2FuZGZyZWkgZnVua3Rpb25pZXJ0LCB3ZW5uIG1hbiBudXIgZGVuIGdydWVuZW4gU3RlY2tlcgpvaG5lIEFkYXB0ZXIgZWluc3RvZXBzZWx0LgoKSW5zb2Zlcm4ga2FubiBlcyBkdXJjaGF1cyBzZWluLCBkYXNzIGVzIGVpbmUgVmVycG9sdW5nIGJlaSBLb250YWt0ZW4gMys0IGdpYnQuCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFic3R1ZXJ6ZSB1bnRlciBXaW4xMCB2ZXJmb2xnZW4gKEFtYXJ5bGxpcywgMjEuIE5vdiAyMDIwLCAyMjoxMTowOCk6CkhpLAoKaWNoIGhhYmUgZWluIFByb2JsZW0gbWl0IG1laW5lciBXaW4xMC1JbnN0YWxsYXRpb24gKGphLCBpY2ggd2Vpc3MsIFJlZHVuZGFuegppbiBkZXIgQXVzc2FnZSA7KSkuCgpOYWNoIGxhZW5nZXJlciBVcHRpbWUgc3R1ZXJ6ZW4gaXJnZW5kd2FubiB6aWVtbGljaCBnZW5hdSBnbGVpY2h6ZWl0aWcgMwpQcm9ncmFtbWUgYWIsIGRpZSBhbnNvbnN0ZW4gaW0gSGludGVyZ3J1bmQgYnp3LiBhbHMgVG9vbHMgaW4gZGVyIFRyYXliYXIKbGF1ZmVuLiBFcyBzaW5kIGltbWVyIGRpZXNlbGJlbiAzLCB1bmQgaWNoIGthbm4gd2VkZXIgZWluZSBTeXN0ZW1hdGlrIGVya2VubmVuCih6LkIuIEFic3R1cnosIHdlbm4gaWNoIGVpbmUgYmVzdGltbXRlIEFud2VuZHVuZyBudXR6ZSkgbm9jaCB0cml0dCBlcyB0YWVnbGljaAphdWYsIGFiZXIgbWluZC4gamVkZW4gMi4gVGFnLgoKSGF0IGplbWFuZCBFcmZhaHJ1bmcgbWl0IFdpbiwgd2FzIERlYnVnZ2luZyBvZGVyIEZvcmVuc2lrIGRpZXNiZXp1Z2xpY2gKYW5nZWh0PyBXbyBrb2VubnRlIG1hbiBkYSBhbnNldHplbj8gRGFzIHVlYmxpY2hlIFByb3plZGVyZSAoTmV1aW5zdGFsbGF0aW9uLApSZXBhaXJ0b29scyBsYXVmZW4gbGFzc2VuLCBzZmMgL3NjYW5ub3cgZXRjLiBoYWJlIGljaCBhbGxlcyBzY2hvbiBlcmdlYm5pc2xvcwpkdXJjaC4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFic3R1ZXJ6ZSB1bnRlciBXaW4xMCB2ZXJmb2xnZW4gKFpvb2ssIDIyLiBOb3YgMjAyMCwgMTE6NDM6NTApOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2MDU5OTMwNjggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNTk5MzA2OApFcyBnaWJ0IHNvIGVpbmUgV2Vya3pldWctU3VpdGUgbmFtZW5zICJzeXNpbnRlcm5hbHMiOyBtZ2wuIGlzdCBkYSBldHdhcwpkYWJlaSwgdW0gYnNwdy4gZGllIFByb3plc3NlIHp1IGJlb2JhY2h0ZW4gdW5kIExvZ2ZpbGVzIHp1IHNjaHJlaWJlbi4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWJzdHVlcnplIHVudGVyIFdpbjEwIHZlcmZvbGdlbiAoQW50aGVhLCAyMy4gTm92IDIwMjAsIDA5OjIxOjQwKToKfiMhIHJuPVpvb2sgcnQ9MTYwNjA0MTgzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA1OTkzMDY4Cldlbm4gRHUgRGljaCBtaXQgZGVtIExlc2VuIHZvbiBEdW1wRmlsZXMgYXVza2VubnN0ICh6LkIuIG1pdCBXaW5kYmcpLCBkYW5uCmthbm5zdCBEdSBpbiBkZXIgUmVnaXN0cnkgZGFzIFNjaHJlaWJlbiB2b24gRHVtcGZpbGVzIGJlaW0gQWJzdHVyeiBiZXN0aW1tdGVyClByb2dyYW1tZSBha3RpdmllcmVuLgpJbiBIS0VZX0xPQ0FMX01BQ0hJTkVcU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3NcV2luZG93cyBFcnJvcgpSZXBvcnRpbmdcTG9jYWxEdW1wcyBsZWd0IG1hbiBlaW5lbiBTY2hsdWVzc2VsIG1pdCBkZW0gRGF0ZWluYW1lbiBkZXIKYXVzZnVlaHJiYXJlbiBEYXRlaSBhbiAoaW5jbC4gRXJ3ZWl0ZXJ1bmcsIGFsc28gei5CLiAiVGVzdC5leGUiKS4gRGFiZWkKYXVmcGFzc2VuIGRhc3MgbWFuIGJlaSA2NC1iaXQtU3lzdGVtZW4gd2lya2xpY2ggaW0gNjRiaXQtQnJhbmNoIGJsZWlidCwgYXVjaApmdWVyIDMyYml0LVByb2dyYW1tZSEKRG9ydCBsZWd0IG1hbiBub2NoIGVpbiBwYWFyIEtleXMgYW46CkR1bXBDb3VudCBSRUdfRFdPUkQgKHdpZSB2aWVsZSBEdW1wcyBtYXhpbWFsIGdlc2NocmllYmVuIHdlcmRlbikKRHVtcEZvbGRlciBSRUdfU1ogKE9yZG5lciwgaW4gZGVuIGRpZSBEdW1wcyBnZXNjaHJpZWJlbiB3ZXJkZW4pCkR1bXBUeXBlIFJFR19EV09SRCAoQXJ0IGRlcyBEdW1wcywgc29sbHRlIGhpZXIgZWluIE1pbmlEdW1wIHNlaW4sIGFsc28gMSkKQ3VzdG9tRHVtcEZsYWdzIFJFR19EV09SRCAoRmxhZ3MgZW50c3ByZWNoZW5kIGRlciBNSU5JRFVNUF9UWVBFIGZsYWdzCmVudW1lcmF0aW9uLCB3YXMgYWxsZXMgZ2VzY2hyaWViZW4gd2lyZC4gRWluIGd1dGVzIFN0YXJ0LVNldCBpc3QgMHgxNzUpCgpCZWltIG5hZWNoc3RlbiBBYnN0dXJ6IGRlcyBQcm9ncmFtbXMgc29sbHRlIGRhbm4gbWl0Z2VzY2hyaWViZW4gd2VyZGVuLCB3byBkaWUKQWJzdHVyei1CZWRpbmd1bmcgYXVmZ2V0cmV0ZW4gaXN0LCBtaXQgd2VsY2hlbiBCZWRpbmd1bmdlbi4gRGFzIEludGVycHJldGllcmVuCmRlciBEdW1wcyBpc3QgYWJlciBvZnQgZWluIGJpc3NjaGVuIFZvb2RvbyA7KQpBY2ggamEsIFRlaWxlIGRlcyBSZWdpc3RyeSBLZXlzIG11ZXNzZW4gbmljaHQgdW5iZWRpbmd0IGJlcmVpdHMgZXhpc3RpZXJlbiwKdm9yIGFsbGVtIGRhcyAiTG9jYWxEdW1wcyIgaXN0IG51ciBkYSwgd2VubiBzaWNoIHNjaG9uIG1hbCBlaW4gUHJvZ3JhbW0gZG9ydApyZWdpc3RyaWVydCBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBYnN0dWVyemUgdW50ZXIgV2luMTAgdmVyZm9sZ2VuIChab29rLCAyMy4gTm92IDIwMjAsIDEwOjEyOjQ4KToKfiMhIHJuPUFudGhlYSBydD0xNjA2MTE5NzAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU5OTMwNjgKV2llZGVyIHdhcyBnZWxlcm50IQoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWJzdHVlcnplIHVudGVyIFdpbjEwIHZlcmZvbGdlbiAoQW1hcnlsbGlzLCAyMy4gTm92IDIwMjAsIDIxOjQ0OjA1KToKfiMhIHJuPUFudGhlYSBydD0xNjA2MTE5NzAwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDU5OTMwNjgKV293LCBkYW5rZSwgZGFzIHByb2JpZXIgaWNoIG1hbCA7KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3R1bm5lbCAoQW1hcnlsbGlzLCAyNS4gTm92IDIwMjAsIDAyOjQ1OjU3KToKSGksCgpoYWJlIGdlcmFkZSBkZW4gYWt0dWVsbGVuIFdpbi1DbGllbnQgdm9uIHN0dW5uZWwub3JnIGhlcnVudGVyZ2VsYWRlbi4gU0hBLTI1NgpwYXNzdCBhYmVyIG5pY2h0Li4uCldvbGx0ZSBkYSBudXIgbWFsIHdhcm5lbiAtIHZpZWxsZWljaHQgY2hlY2t0IGlociBkYXMgdm9yIGVpbmVtIFVwZGF0ZSBzZWxic3QKbWFsLiBLYW5uIG5hdHVlcmxpY2ggYXVjaCBlaW4gRmVobGVyIGJlaSBtaXIgc2VpbiwgYWJlciBpY2ggaGFiIG1pdHRsZXJ3ZWlsZQpkZW4gZHJpdHRlbiBEb3dubG9hZHZlcnN1Y2ggaGludGVyIG1pci4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBXbEFOIERydWNrZXIgTGludXggKE9ya3RvZXRlciwgMjUuIE5vdiAyMDIwLCAyMToyMDoyNCk6CkljaCBoYWJlIGVpbmVuIFdMQU4tZHJ1Y2tlciB1bmQgZWluZW4gTGludXhyZWNobmVyLgpJY2gga2FubiBkZW4gRHJ1Y2tlciB2b20gUEMgYXVzIHBpbmdlbi4gSWNoIGthbm4gYXVjaCBtaXQgQ3VwcyBkZW4gRHJ1Y2sgZWluZXIKU2VsYnN0dGVzdHNlaXRlIGFuc3Rvc3Nlbi4gV2FzIGljaCBuaWNodCBrYW5uIGlzdCwgaXJnZW5kZXR3YXMgc29uc3QgenUKZHJ1Y2tlbi4KRGVuIHJpY2h0aWdlbiBEcnVja2VydHJlaWJlciBzb2xsdGUgaWNoIGVpbmdlc3RlbGx0IGhhYmVuICh2b20gSGVyc3RlbGxlciBkZXMKRHJ1Y2tlcnMgaGVydW50ZXJnZWxhZGVuKS4KCldvcmFuIGthbm4gZXMgbGllZ2VuLCBkYXNzIGVzIHRyb3R6ZGVtIG5pY2h0IGtsYXBwdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIFdsQU4gRHJ1Y2tlciBMaW51eCAoWm9vaywgMjYuIE5vdiAyMDIwLCAxNzowMjozOCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTYwNjMzNTYyNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA2MzM1NjI0CkljaCBoYXR0ZSBzbyBlaW4gUGhhZW5vbWVuIGF1Y2ggbWFsIGVpbmlnZSBKYWhyZS4gRGEga29ubnRlIGljaApub2NoIG5pY2h0IGVpbm1hbCBlaW5lIFRlc3RzZWl0ZSBkcnVja2VuLiBOdW4gaGFiZSBpY2ggVWJ1bnR1CjIwLjEwIG1hbCBhdWYgbmVtIG5ldWVuIFJlY2huZXIgaW5zdGFsbGllcnQgdW5kIGhhYmUgbnVyIGx1c3Rsb3MKbWFsIGdlZ3Vja3QsIG9iIGljaCBudW4gZHJ1Y2tlbiBrYW5uLiBVbmQgc2llaGUgZGE6IEVzIGdlaHQuCgpEcnVja2VuIGlzdCAuLi4gc2VsdHNhbS4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBYnN0dWVyemUgdW50ZXIgV2luMTAgdmVyZm9sZ2VuIChNYXN1bCwgMjkuIE5vdiAyMDIwLCAxMTo0MjoyOSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTYwNTk5MzA2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA1OTkzMDY4CkhpLApIaSwKc2NoYXUgbWFsIGluIGRpZSAiRXJlaWduaXNhbnplaWdlIiBiencuIGRlbiAiRXZlbnQgVmlld2VyIiAoZmFsbHMgRHUgZWluCmVuZ2xpc2NoZXMKV2luZG93cyBiZW51dHp0LiBEb3J0IGZpbmRlc3QgRHUgSW5mb3JtYXRpb25zLSwgV2FybnVuZ3MtIHVuZCBGZWhsZXJtZWxkdW5nZW4KYXVmIApBcHBsaWthdGlvbnMtIHVuZCBTeXN0ZW1lYmVuZS4gRXMgbWFnIGphIHNlaW4sIGRhc3MgZGllIFByb2dyYW1tZSBvZGVyIGRhcwpTeXN0ZW0gdm9yIApkZW0gQWJzdHVyeiBub2NoIGVpbmUgTWVsZHVuZyBhYnNldHplbi4KZGVtIEFic3R1cnogbm9jaCBlaW5lIE1lbGR1bmcgYWJzZXR6ZW4uCk1hc3VsCk1hc3VsCk1hc3VsCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhdXRzdGFlcmtlcHJvYmxlbSBiZWkgQW5kcm9pZC1TbWFydHBob25lIChBbWFyeWxsaXMsICAyLiBEZXogMjAyMCwgMTA6MDg6MzMpOgpIYWxsbywKCnNlaXQga3VyemVtIGxhZXNzdCBzaWNoIGRpZSBHZXNwcmFlY2hzbGF1dHN0YWVya2UgYmVpIG1laW5lbSBBbmRyb2lkLUhhbmR5Cm5pY2h0IG1laHIgYWVuZGVybi4gU2llIGJsZWlidCBhdWYgIm1pbmltYWwiIChob2VydGVjaG5pc2NoKSwgYXVjaCB3ZW5uIGljaAp3YWVocmVuZCBkZXMgR2VzcHJhZWNoZXMgZGllIExhdXRzdGFlcmtlIGdhbnogaG9jaGRyZWhlLiBEZXIgZXh0ZXJuZQpMYXV0c3ByZWNoZXIgZnVua3Rpb25pZXJ0IHdpZSBnZXdvbGx0LCBhYmVyIG1hbiB3aWxsIGphIG5pY2h0IGltbWVyLCBkYXNzIGFsbGUKbWl0aG9lcmVuLi4uIDovCkljaCBoYWJlIGFsbGUgRWluc3RlbGx1bmdlbiBkdXJjaGZvcnN0ZXQsIGRhcyBEZXZpY2UgbmV1Z2VzdGFydGV0LCBzb2dhciBtYWwKZWluZW4gUmVzZXQgZGVyIEVpbnN0ZWxsdW5nZW4gZHVyY2hnZWZ1ZWhydCAtIG5peCBoaWxmdCA6KAoKSXN0IGRhcyB3aXJrbGljaCBlaW4gSGFyZHdhcmVkZWZla3Qgb2RlciBnaWJ0cyBub2NoIHdhcywgd2FzIGljaCBhdXNwcm9iaWVyZW4Ka29lbm50ZT8KCkdydXNzCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVtcGZlaGx1bmcgV2ViY2FtIChab29rLCAgMy4gRGV6IDIwMjAsIDEzOjQwOjMyKToKSGV5LCBpY2ggc3VjaGUgZWluZSBXZWJjYW0gZnVlciBlaW5lbiBOdXR6ZXIgbWl0IE5vdGVib29rLCB3byAKZXMga2VpbmUgaW50ZXJuZSBnaWJ0LiBBbHNvIGlyZ2VuZHdpZSBVU0IgQW5zY2hsdXNzIHVuZCBkYXNzIG1hbiBzaWUKZ2dmLiBhdWZzdGVja2VuIGthbm4sIHdhZXJlIGRvbGwuIFdpcmQgbnVyIGZ1ZXIgVmlkZW9rb25mZXJlbnplbgpnZWJyYXVjaHQsIG11c3MgYWxzbyBuaWNodCBob2VsbGVuZ3V0IHNlaW4uIFpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbXBmZWhsdW5nIFdlYmNhbSAoQW50aGVhLCAgMy4gRGV6IDIwMjAsIDE0OjEwOjIyKToKfiMhIHJuPVpvb2sgcnQ9MTYwNjk5OTIzMiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjA2OTk5MjMyCkdpYnQgZXMgdmllbGUgOykKV29yYXVmIG1hbiBhY2h0ZW4gc29sbHRlLiBFcyBnaWJ0IG1laXN0ICJ3aWRlc2NyZWVuIiBLYW1lcmFzIG1pdCAxMTDCsApBdWZuYWhtZXdpbmtlbCwgdW5kIHJlbGF0aXYgcmVndWxhZXJlIG1pdCA2NcKwLTc1wrAgQXVmbmFobWV3aW5rZWwuIERpZSBtaXQgMTEwwrAKaGFiZW4gendhciBlaW4gd3VuZGVyYmFyIGJyZWl0ZXMgQmlsZCwgc29yZ2VuIGFiZXIgYXVjaCBmdWVyIGhlZnRpZ2UKVmVyemVycnVuZ2VuIGltIEhpbnRlcmdydW5kIGRlcyBCaWxkZXMuIEljaCBoYXR0ZSBqZXR6dCBlaW4gcGFhciBnZXRlc3RldCwKIkJFTkVXWSIgbWl0IDExMMKwLCAiWkxJTksiIG1pdCA3NcKwLCAiVkVTU1RUIiBtaXQgMTAwwrAuIEFsbGUgc28gdW0gZGllIDIwLTQwCkV1cm8uIFZvbiBkZXIgQmlsZC0gdW5kIFRvbnF1YWxpdGFldCBmYW5kIGljaCBhbGxlIHZvbGxrb21tZW4gaW4gT3JkbnVuZy4gRGFzCkJpbGQgYW4gc2ljaCBoYXQgbWljaCBpbSBHZWdlbnNhdHogenUgZGVuIGFsdGVuIENhbXMgYmVnZWlzdGVydCwgbWl0IEZ1bGwtSEQsCmV4dHJlbSBndXRlciBMaWNodGF1c2JldXRlLCBrZWluIFByb2JsZW0gbWl0IEdlZ2VubGljaHQuLi4gZGFzIHdhciBhYmVyIGF1Y2gKYmVpIGFsbGVuIHNvLiBEaWUgWkxJTksgaGF0IGJlaSBBdWZuYWhtZW4gaW4gZGVuIFJhdW0gaGluZWluIGRlbiBWb3J0ZWlsLCBkYXNzCmRpZSBnZXJhZGVuIFdhZW5kZSBlaW5pZ2VybWFzc2VuIGdlcmFkZSBibGVpYmVuLCBkaWUgV2FuZC9EZWNrZS1LYW50ZSB3YXIgYmVpCmRlbiBhbmRlcmVuIHNlaHIgbWVya2xpY2ggZ2Vib2dlbi4gRGllIEJFTkVXWSB1bmQgZGllIFpMSU5LIGhhYmVuIGJlaWRlIGFuIGRlcgpIYWx0ZXJ1bmcgZWluIFN0YW5kYXJkLVNjaHJhdWJnZXdpbmRlIGZ1ZXIgU3RhdGl2ZSwgZGFzIGVyd2VpdGVydCBkaWUKTnV0enVuZ3MtIHVuZCBBdWZzdGVsbHVuZ3Ntb2VnbGljaGtlaXQgZGFubiBub2NoIG1hbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRW1wZmVobHVuZyBXZWJjYW0gKFpvb2ssICAzLiBEZXogMjAyMCwgMTQ6MjA6MjkpOgp+IyEgcm49QW50aGVhIHJ0PTE2MDcwMDEwMjIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYwNjk5OTIzMgpQcmltYSEgRGFzIGlzdCBtaXIgZWluZSBncm9zc2UgSGlsZmUuIERhbmtlIQoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVtcGZlaGx1bmcgV2ViY2FtIChWYW5pb24sICA3LiBEZXogMjAyMCwgMjI6Mjk6MDIpOgp+IyEgcm49Wm9vayBydD0xNjA2OTk5MjMyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MDY5OTkyMzIKSWNoIGhhYiBkaWVzZXMgSmFociBuZSBMb2dpdGVjaCBDMjcwIGdla2F1ZnQuIE1pdHRsZXJlIEF1ZmxvZXN1bmcgKDcyMHApLApmZXN0ZSBCcmVubndlaXRlLCBhbSBNb25pdG9yIGVpbmhhZW5nYmFyLCBVU0IgMi4wLiBSZWljaHQgZnVlciBCQkIgdW5kIGNvLgpHYWJzIG1hbCBmdWVyIDMwIEV1cm8uIERlcnplaXQgZWhlciBmdWVyIDUwLiBHaWJ0IHdvaGwgZXJob2VodGVuIEJlZGFyZi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp4cHJhPyAoUnVtYXRhLCAyNi4gSmFuIDIwMjEsIDExOjM3OjA4KToKSGFsbG8sCmhhdCBqZW1hbmQgdm9uIEV1Y2ggc2Nob25tYWwgeHByYSAodW50ZXIgTGludXgpIGFucyBMYXVmZW4gZ2VicmFjaHQuCkJlaSBtaXIgc3RhdGV0IGRhcyBEaW5nIHp3YXIsIGFiZXIgd2VubiBpY2ggbWl0IGVpbmVtIEJyb3dzZXIgZGFyYXVmCnp1Z3JlaWZlbiB3aWxsLCBiZWtvbW1lIGljaCBudXIgZWluZW4gRmVobGVyOgogIGludmFsaWQgcGFja2V0IGhlYWRlciwgSFRUUCBHRVQgcmVxdWVzdApEYWZ1ZXIsIGRhc3MgZGFzIHNvIGxlaWNodCB6dSBzZWluIGJlaGF1cHRldCwga2FubiBpY2ggbnVyIGV0d2FzIGR1bW1lcwp1ZWJlcnNlaGVuIGhhYmVuOgoKTWVpbmUgU3RhcnR6ZWlsZSBpc3QgInhwcmEgc3RhcnQgLS1iaW5kLXRjcD0wLjAuMC4wOjEwMDAwIC0taHRtbD1hdXRvCi0tc3RhcnQtY2hpbGQ9eHRlcm0iCgpodG1sPW9uIG1hY2h0IGRhIGtlaW5lbiBVbnRlcnNjaGllZC4gQnJ3b3Nlcnp1Z3JpZmYgd2VkZXIgbWl0IGNocm9tZQpub2NoIG1pdCBmaXJlZm94IGhpbmJla29tbWVuLgoKUnVtLXJhdGxvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdXVyBnZWh0ISBCaXMgYXVmIC4uLiBlaW5lIFNlaXRlLiAoSHVtbmksIDEwLiBGZWIgMjAyMSwgMTk6MzY6MTYpOgp+IyEgcm49SHVtbmkgcnQ9MTYxMjk4MTc2OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTgxNzY5ClNvcnJ5LCBub2NobWFsIHNvcnRpZXJ0OgoKSGFsbG8gaWhyLAoKUGhhZW5vbWVuIGRlcyBIb21lc2Nob29saW5nczogSWNoIGhhYiBlaW5lbiBTY2h1ZWxlciwgZGVyIHNvbnN0IGlucyBXV1cga29tbXQsCmFiZXIgZ2VuYXUgYXVmIGVpbmUgU2VpdGUgbmljaHQgKHVuc2VyIFNjaHVsbW9vZGxlLCBkYXMgYWJlciBnZXJhZGUgZWNodApzY2huZWxsIHVuZCBzdGFiaWwgbGFldWZ0KS4gRGEga3JpZWd0IGVyIGltbWVyIGVpbmVuIFRpbWVvdXQuCgpKYSwgbm9ybWFsZXJ3ZWlzZSB3dWVyZGUgaWNoIGF1Y2ggZGVua2VuICJEYSB2ZXJzdWNodCBzaWNoIGVpbmVyIHZvciBkZXIKQXJiZWl0IHp1IGRydWVja2VuIi4gQmVpIGRlbSBrb25rcmV0ZW4gU2NodWVsZXIgZ2xhdWJlIGljaCBkYXMgYWJlciBlcnN0bWFsCm5pY2h0LgoKVmVyc2NoaWVkZW5lIEJyb3dzZXIgaGF0IGVyIHNjaG9uIGF1c3Byb2JpZXJ0LiBFcyBnZWh0IHNlaXQgendlaSBXb2NoZW4gd29obApuaWNodCwgZGFydW0gdmVybXV0ZSBpY2gsIGRhc3MgZGEgYXVjaCBzY2hvbiBkaWUgZWlnZW5lIElQIGdld2VjaHNlbHQgaGF0LgoKSWNoIGhhYiBrZWluZSBJZGVlLCB3aWUgc293YXMgcGFzc2llcmVuIGthbm4uIEtlbm50IGplbWFuZCBkYXMgUHJvYmxlbSB1bmQgaGF0CmVpbmUgSWRlZSBkYXp1PyBGcmFnZW4gYmVhbnR3b3J0ZSBpY2ggZ2VybmUuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXV1cgZ2VodCEgQmlzIGF1ZiAuLi4gZWluZSBTZWl0ZS4gKFplc3N0cmEsIDEwLiBGZWIgMjAyMSwgMjE6MDQ6NDcpOgp+IyEgcm49SHVtbmkgcnQ9MTYxMjk4MjE3NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTgxNzY5CkRhcyBrYW5uIGphIGFsbGVzIG1vZWdsaWNoZSBzZWluLiBGZWhsa29uZmlndXJhdGlvbiBpbSBSZWNobmVyLCBpbSBSb3V0ZXIsCmJlaW0gUHJvdmlkZXIgKGVoZXIgdW53YWhyc2NoZWlubGljaCkuIEJpcyBoaW4genVtIFNwYXNzdm9nZWwsIGRlciBldXJlCklQL0ROUy1OYW1lbiBpbiBuZW4gbG9rYWxlbiBGaWx0ZXIgZWluZ2V0cmFnZW4gaGF0Li4uCk1laW4gQW5zYXR6IHdhZXJlIGRhbm4gZXJzdG1hbDogYSkgd2lyZCBkZXIgRE5TLW5hbWUga29ycmVrdCBhdWZnZWxvZXN0PyBiKQpnZWh0IGVpbiBwaW5nPyBjKSB3YXMgc2FndCB0cmFjZXJvdXRlPyBkKSBmdW5rdGlvbmllcnQgZWluZSBWZXJiaW5kdW5nIHp1bQpQb3J0IDgwIHVuZCA0NDMgZXVyZXMgV2Vic2VydmVycz8gKGIpIGJpcyBkKSBnZ2YuIG1pdCBlaW5lbSBhbmRlcmVuLApmdW5rdGlvbmllcmVuZGVuIFdlYmRpZW5zdCBhdXNwcm9iaWVyZW4sIG1hbmNoZSBBbmJpZXRlciBtYWNoZW4gcGluZyB1bmQKdHJhY2Vyb3V0ZSBnZW5lcmVsbCBrYXB1dHQuKSBJc3QgZXVlciBNb29kbGUgbG9rYWwgYXVmIG5lbSBiZXN0aW1tdGVuIFJlY2huZXIKb2RlciB3aXJkcyB2aWEgZWluZXMgQ0ROIGF1c2dlbGllZmVydC4uLj8gT2J3b2hsIGljaCBsZXR6dGVyZXMgbmljaHQgYW5uZWhtZS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdXVyBnZWh0ISBCaXMgYXVmIC4uLiBlaW5lIFNlaXRlLiAoSHVtbmksIDEwLiBGZWIgMjAyMSwgMjE6NDU6MTMpOgp+IyEgcm49WmVzc3RyYSBydD0xNjEyOTg3NDg3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5ODE3NjkKRGFua2Ugc2Nob2VuISBJY2ggaGFiIHNjaG9uIGVpbmlnZXMgdmVyc3VjaHQsIEFtYSogaGF0IGF1Y2ggc2Nob24gSWRlZW4KZ2VoYWJ0LiBFciBrYW5uIHouQi4gd3d3LmJvZXNlci1kcmFjaGUuZGUgYW5waW5nZW4sIGVrcy5tb29kbGVzY2h1bGUuZGUgKGRhcwppc3QgdW5zZXIgTW9vZGxlKSBhYmVyIG5pY2h0LiBFYmVuc28gZ2VodCBlaW4gdGVsbmV0IGF1ZiBQb3J0IDgwIGRhIG5pY2h0LApzb25zdCBrb21tdCBlciBhYmVyIG5vcm1hbCBpbnMgTmV0ei4gSWNoIGhhYiBkZW4gU3VwcG9ydCBkZXMgUmVjaGVuemVudHJ1bXMKbWFsIGFuZ2VtYWlsdCwgZGEgZ2FiIGVzIGRpZSBUYWdlIGRkb3MtQW5ncmlmZmUgKGF1ZiBkaWUgTW9vZGxlc2VydmVyKSwKdmllbGxlaWNodCBoYWJlbiBkaWUgZGEgZWluZmFjaCBzZWluZSBJUCBnZWJsb2NrdC4gRXIgaGF0IGVpbmUgSVB2NCB1bmQga2VpbmUKSVB2Ni1BZHJlc3NlLCBhYmVyIGljaCB3ZWlzcyBuaWNodCwgb2IgZGFzIGVpbiBQcm9ibGVtIHNlaW4ga2Fubi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXV1cgZ2VodCEgQmlzIGF1ZiAuLi4gZWluZSBTZWl0ZS4gKFplc3N0cmEsIDEwLiBGZWIgMjAyMSwgMjI6MDg6MjkpOgp+IyEgcm49SHVtbmkgcnQ9MTYxMjk4OTkxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTgxNzY5CmVrcy5tb29kbGVzY2h1bGUuZGUgaXN0IGVpbiBBbGlhcyBhdWYgbG1zLnNlcnZpY2Uuc2NodWxvbi5vcmcgdW5kIGxvZXN0IGJlaQptaXIgenUgMjE3LjIzOS4yMjUuMTk0IGF1Zi4gRGllc2UgSVAga2FubiBpY2ggZWJlbmZhbGxzIG5pY2h0IGFucGluZ2VuCihSZXF1ZXN0IHRpbWVvdXQgZm9yIGljbXBfc2VxIDApLiBFaW4gdHJhY2Vyb3V0ZSBlbmRldCBiZWkKZi1lYjQtaS5mLmRlLm5ldC5kdGFnLmRlICg2Mi4xNTQuMTYuMjE4KS4gSWNoIHZlcm11dGUsIGRvcnQgb2RlciBkYWhpbnRlciB3aXJkCklDTVAgenVtaW5kZXN0IHp1bSBUZWlsIHdlZ2dld29yZmVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV1dXIGdlaHQhIEJpcyBhdWYgLi4uIGVpbmUgU2VpdGUuIChaZXNzdHJhLCAxMC4gRmViIDIwMjEsIDIyOjExOjAyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTYxMjk5MTMwOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTgxNzY5CkFjaHNvLCBkZXIgVm9sbHN0YWVuZGlna2VpdCBoYWxiZXI6IGljaCBiZWtvbW1lIGFiZXIgZWluZSBIVFRQLVZlcmJpbmR1bmcgenUKZWtzLm1vb2RsZXNjaHVsZS5kZTo0NDMuIE51ciBicmluZ2VuIHBpbmcvdHJhY2Vyb3V0ZSBpbiBkZXIgS29uc3RlbGxhdGlvbiB6dXIKRmVobGVyZWluZ3Jlbnp1bmcgZGVzIFByb2JsZW1zIGRlcyBTY2h1ZWxlcm4gdmVybXV0bGljaCBsZWlkZXIgbmljaHQgdmllbC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1ZGlvaGFyZHdhcmUgZnVlciBQQ3MgKEFyYXRob3JuLCAxMC4gRmViIDIwMjEsIDIzOjQzOjMzKToKTW9pbiwKCndlaXNzIGplbWFuZCwgb2IgbmUgc3BlemlhbGlzaWVydGUgQXVkaW8tU3RlY2trYXJ0ZSBmdWVybiBQQyBlaW5lbiBkZXV0bGljaGVuCk1laHJ3ZXJ0IGJyaW5ndCBnZWdlbnVlYmVyIGRlciBPbmJvYXJkLUhhcmR3YXJlPwoKSWNoIGhhYmUgbW9tZW50YW4gZWluZW4gVmVyc3RhZXJrZXIgYW0gUEMgaGFlbmdlbiB1bmQgZGEgaXN0IGF1ZiAobS5FLikKYnJhdWNoYmFyZW4gT2hyaG9lcmVybiBkb2NoIG1lcmtsaWNoIFJhdXNjaGVuIHp1IGhvZXJlbiwgd2VubiBzb25zdCBuaWNodHMKbGFldWZ0LgoKSGF0IGplbWFuZCBFcmZhaHJ1bmdzd2VydGUsIG9iIGRlZGl6aWVydGUgSGFyZHdhcmUgaW5zZ2VzYW10IG5lbm5lbnN3ZXJ0CmJlc3NlcmUgS2xhbmdxdWFsaXRhZXQgYnJpbmd0IGFscyBkYXMgT25ib2FyZC1aZXVnPyBEYXMgUmF1c2NoZW4gaXN0IGpldHp0Cm5pY2h0IHNvIGRlciBLZXJucHVua3QsIHdlaWwgZGFzIG5pY2h0IHp1IGhvZXJlbiBpc3QsIHNvbGFuZ2UgVG9uIGRyYXVmIGlzdCwKYWJlciBlcyBicmFjaHRlIG1pY2ggZHJhdWYsIGRhc3MgdmllbGxlaWNodCBkaWUgSGFyZHdhcmViYXNpcyBuaWNodCBzbyBnZW5pYWwKaXN0LgoKR3J1c3MsIEFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1ZGlvaGFyZHdhcmUgZnVlciBQQ3MgKFJ1bWF0YSwgMTEuIEZlYiAyMDIxLCAwODozMDo1OCk6Cn4jISBybj1BcmF0aG9ybiBydD0xNjEyOTk3MDEzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5OTcwMTMKQmVpbSBSYXNwaSBtYWNodCBlaW5lIFVTQiBTb3VuZGthcnRlIG1hc3NpdiBVbnRlcnNjaGllZGUuCkFuZGVycyBoZXJ1bSBoYXR0ZSBpY2ggbWFsIGVpbmVuIDEzM01IeiBQQyBtaXQgZWluZXIgU291bmRrYXJ0ZSwgZGVyZW4KU291bmRrYXJ0ZSBkdXJjaCBuaWNodHMgenUgdG9wcGVuIHdhciAtIGRlbiBoYXR0ZSBpY2ggYW0gTGViZW4gZ2VoYWx0ZW4sCm51ciB1bSBtZWluZSBNQ3MgenUgZGlnaXRhbGlzaWVyZW4uCk1vcmFsZTogaXQgZGVwZW5kcyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoRGVhZGR5LCAxMS4gRmViIDIwMjEsIDA5OjEyOjMyKToKfiMhIHJuPVJ1bWF0YSBydD0xNjEzMDI4NjU4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5OTcwMTMKSGFlbmd0IG0uVy4gc3RhcmsgZGF2b24gYWIsIHdhcyBkYWhpbnRlciBoYWVuZ3QgdW5kIGRhcyBaaWVsIHZvbiBuZXIgZ3V0ZW4KU291bmRrYXJ0ZSBpc3QsIGRhcyBQcm9jZXNzaW5nIHp1IG1pbmltaWVyZW4uIFdlbm4gZGEgZWggc2Nob24gWC5pcmdlbmR3YXMKaGludGVyIHN0ZWh0LCBpc3QgZGFzIEtpbmQgd29obCBzY2hvbiBpbiBkZW4gQnJ1bm5lbiBnZWZhbGxlbiwgaGF0IG1hbiBuZW4Kc2F1YmVyZW4gVmVyc3RhZXJrZXIgdW5kIFN0ZXJlb2JveGVuLCBoYXQgZGFzIHdvaGwgbm9jaCBuZW4gRWZmZWt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1ZGlvaGFyZHdhcmUgZnVlciBQQ3MgKFZhcmRpb24sIDEyLiBGZWIgMjAyMSwgMTc6NTI6MzkpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYxMjk5NzAxMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTk3MDEzCkljaCB2ZXJzdGVoZSBkZWluIFNldHVwIGFsczoKUEMgKGxpbmUtb3V0KSAtPiBBbXAgLT4gS29wZmhvZXJlcgp1bmQgZGFzIHJhdXNjaHQuCgpSYXVzY2h0IFBDIC0+IEtvcGZob2VyZXIgYXVjaD8KV2VubiBkZW0gc28gaXN0LCBpc3QgZGFzIE9uYm9hcmRhdWRpbyB2ZXJtdXRsaWNoIGRpZSBVcnNhY2hlLiBCZWkgaGV1dGlnZXIKU291bmRoYXJkd2FyZSBiZXN0aW1tZW4gZGVyIERBQyB1bmQgaW5zYmVzb25kZXJlIGRpZSBhbmFsb2dlIFNlaXRlIGRhbmFjaCBkaWUKTWF0ZXJpYWxrb3N0ZW4sIGRlciBkaWdpdGFsZSBLcmFtcyB2b3IgZGVtIERBQyBrb3N0ZXQgbmljaHRzLgpCZWkgZWluZW0gRmlybWVubm90ZWJvb2sgaGF0dGUgaWNoIGR1cmNoIGVpbmUgMzBFdXIgVVNCLUxvZXN1bmcgKEFzdXMgWG9uYXIKVTMpIGVyaGVibGljaGUgVmVyYmVzc2VydW5nZW4gZXJyZWljaHQuCldlbm4gZHUgbWl0IHRldXJlbiBLb3BmaG9lcmVybiAoMzAwLTYwME9obSwgQmVpc3BpZWxlIEJleWVyZHluYW1pYwo4MDBlci85MDBlciwgU2VubmhlaXNlciBIRDg1MCBldGMuKSBob2VyZW4gd2lsbHN0LCBtdXNzIGVoIGVpbiByaWNodGlnZXIKS29wZmhvZXJlcnZlcnN0YWVybGVyIGFuIFVTQiBvZGVyIGF1ZiBlaW5lciBQQ0llIFNvdW5ka2FydGUgaGVyLgoKRmFsbHMgZHUgdWViZXIgZWluZW4gUmVjZWl2ZXIgaG9lcnN0LCBrYW5uc3QgZHUgZGlyIGRlbiBhbmFsb2dlbiBUZWlsIGltIFBDCmF1Y2gga29tcGxldHQgc2NoZW5rZW4gdW5kIHVlYmVyIFMvUERJRiBvZGVyIEhETUkgaG9lcmVuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdWRpb2hhcmR3YXJlIGZ1ZXIgUENzIChBcmF0aG9ybiwgMTIuIEZlYiAyMDIxLCAxNzo1OTo0Nik6Cn4jISBybj1WYXJkaW9uIHJ0PTE2MTMxNDg3NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYxMjk5NzAxMwpEYW5rZSA6LSkKCkVpbiBlaWdlbmVyIFZlcnN0YWVya2VyIG11c3MgbmljaHQgZHJhbiwgSW1wZWRhbnogdm9uIGRlbiBEaW5nZXJuIGlzdCBudXIgMTYKT2htLiBSYXVzY2hlbiBkZXIgUEMtSGFyZHdhcmUgbXVzcyBpY2ggYmVpIEdlbGVnZW5oZWl0IG5vY2htYWwgY2hlY2tlbi4KCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoQXJhdGhvcm4sIDEyLiBGZWIgMjAyMSwgMTg6Mjg6MzEpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYxMzE0OTE4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTk3MDEzCkFoLCBndXQsIG1hbCBEaW5nZSB6dSB0ZXN0ZW4uIFBDIC0+IEtvcGZob2VyZXIgcmF1c2NodCBnYXIgbmljaHQuIEhhZXR0ZSBpY2gKYXVjaCBtYWwgc2VsYmVyIGRyYXVmIGtvbW1lbiBrb2VubmVuLgoKSWNoIGhhYmUgaW50ZXJlc3NhbnRlcndlaXNlIGF1Y2ggZGVuIEVpbmRydWNrLCBkYXNzIGRlciBWZXJzdGFlcmtlciwgZGVuIGljaApkYXp3aXNjaGVuIGhhYmUsIGRlbiBLbGFuZyBpcmdlbmR3aWUgIndlaWNoemVpY2huZXQiIG9kZXIgc28uCgpBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEF1ZGlvaGFyZHdhcmUgZnVlciBQQ3MgKFZhcmRpb24sIDEyLiBGZWIgMjAyMSwgMTg6NTk6MDMpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTYxMzE0OTE4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjEyOTk3MDEzCkRhbm4gc29sbHRlIGVpbmUgZ3VlbnN0aWdlIFVTQi1Tb3VuZGthcnRlIGV2dGwuIGhlbGZlbi4gRGllIGhhdCBkYW5uIGRlbgpWb3J0ZWlsLCBkYXNzIGlociBhbmFsb2dlciBUZWlsIHdlaWwgd2VnIHZvbSBJbm5lcmVuIGRlcyBQQ3MgaXN0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoVmFyZGlvbiwgMTIuIEZlYiAyMDIxLCAxODo1OTo1Nyk6Cn4jISBybj1WYXJkaW9uIHJ0PTE2MTMxNTI3NDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYxMjk5NzAxMwpPaywgdmVyZ2lzcyBBcnRpa2VsIDEzLiBJY2ggaGF0dGUgdWViZXJzZWhlbiBkYXNzIGR1IHp3ZWkgQXJ0aWtlbCBnZXNjaHJpZWJlbgpoYXN0LiBNaXQgZGVuIEluZm9ybWF0aW9uZW4gYXVzIEFydGlrZWwgMTIgZXJ1ZWJyaWd0IHNpY2ggZGllIDEzLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoQXJhdGhvcm4sIDEyLiBGZWIgMjAyMSwgMTk6MDM6MDkpOgp+IyEgcm49VmFyZGlvbiBydD0xNjEzMTUyNzk3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5OTcwMTMKS2xpbmd0LCBhbHMgc29sbHRlIG1hbiBkZW4gVmVyc3RhZXJrZXIgbWFsIGF1cyBkZXIgS2V0dGUgcmF1c25laG1lbi4KQW5kZXJlcnNlaXRzIG1hZyBpY2ggZGVuIEtsYW5nLCB3ZWlsIGRpZSBJbi1FYXJzIHNjaG9uIGRldXRsaWNoICJ6aXNjaGVuIiwgdW5kCmRhIGRhcyBtaXQgZGVtIFZlcnN0YWVya2VyIGdlZnVlaGx0IHdlbmlnZXIgd2lyZCwgZmluZCBpY2ggZGFzIGFuIHNpY2ggZ3V0Lgo6LSkKCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoVmFyZGlvbiwgMTQuIEZlYiAyMDIxLCAxODozMDowNCk6Cn4jISBybj1BcmF0aG9ybiBydD0xNjEzMTUyOTg5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5OTcwMTMKTnV0enQgZHUgZGllIEluLUVhcnMgd2VpbCBkYXMgc28gbW9lY2h0ZXN0LCBvZGVyIHdlaWwgZGllIG1hbCBpcmdlbmR3byAiZGFiZWkiCndhcmVuPyBJY2ggaG9lcmUgVG9uL011c2lrIGFtIFBDIGF1c3NjaGxpZXNzbGljaCBtaXQgS29wZmhvZXJlcm4gdW5kIGhhYmUKaXJnZW5kd2FubiBtYWwgZW50c2NoaWVkZW4sIGRhc3MgZXMgZGFubiBhdWNoIHdhcyByaWNodGlnZXMgc2VpbiBrYW5uLiBVbmQKamV0enQgc2l0emUgaWNoIGhpZXIgc2VpdCBKYWhyZW4gbWl0IGVpbmVtIEJleWVyZHluYW1pYyBEVC04ODAgKDYwMCBPaG0pIHVuZApLb3BmaG9lcmVydmVyc3RhZXJrZXIgdW5kIGRhcyBUaGVtYSBpc3QgZnVlciBpbW1lciBlcmxlZGlndC4gRGEgemlzY2h0IHVuZApicnVtbXQgbmljaHRzLCB1bmQgZGllIEhhcmR3YXJlIGlzdCBrbGFuZ2xpY2ggbmV1dHJhbC4gV2VubiBtYW4gZGFzIGluCmlyZ2VuZGVpbmUgUmljaHR1bmcgdmVyYWVuZGVybiB3aWxsIChiYXNzbGFzdGlnZXIgb2RlciBkaWUgYWxsc2VpdHMgYmVsaWVidGUKIkJhZGV3YW5uZSIpIGtvbW10IGhhbHQgZGVyIGRpZ2l0YWxlIEVRIHp1bSBFaW5zYXR6LiBTbyBlaW4gZ3Jvc3NlciwKa3VzY2hlbGlnZXIgS29wZmhvZXJlciBtYWNodCB3YXJtZSBPaHJlbiwgaW5zYmVzb25kZXJlIGltIFNvbW1lci4gRGFzIG11c3MgbWFuCnRvbGVyaWVyZW4ga29lbm5lbiBvZGVyIHdhcyBvZmZlbmVyZXMga2F1ZmVuLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQXVkaW9oYXJkd2FyZSBmdWVyIFBDcyAoQXJhdGhvcm4sIDE0LiBGZWIgMjAyMSwgMTg6NTc6MzcpOgp+IyEgcm49VmFyZGlvbiBydD0xNjEzMzIzODA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTI5OTcwMTMKRGllIEluLUVhcnMgc2luZCBBYnNpY2h0LCBqYS4gRGFzIHNpbmQga2VpbmUgSGFuZHktQmlsbGlncG9lcHBlbCwgc29uZGVybgplaWdlbnRsaWNoIHppZW1saWNoIGFuc3RhZW5kaWcuIEljaCB3aWxsIGF1c3NlcmRlbSBhdWNoIGtlaW5lIGdyb3NzZXMKS29wZmhvZXJlciBoaWVyIHJ1bWxpZWdlbiBoYWJlbi4KCkFyYXRob3JuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGU6IENhbSB6dXIgVWViZXJ3YWNodW5nIGluIFJhZXVtZW4gKFpvb2ssICAzLiBNYXIgMjAyMSwgMDk6Mjg6MDApOgpIaSwga2FubiBqZW1hbmQgZWluZSBDYW0gKGthbm4gcGVyIFVTQiBvZGVyIGF1Y2ggcGVyIElQL1dMQU4KYW5nZXNjaGxvc3NlbiBzZWluLCBkYXMga2FubiBpY2ggYmVpZGVzIGJlcmVpdCBzdGVsbGVuKSwgbWl0IGRlbmVuCm1hbiBSYWV1bWUgdWViZXJ3YWNoZW4ga2Fubj8gSW5zYi4gbmFjaHRzIGhhZXR0ZSBpY2ggZGEgZ2VybmUgZWluCkJpbGQuCgpCaW4gdm9tIEFuZ2Vib3QgZXR3YXMgZXJzY2hsYWdlbi4KClpvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvZGFmb25lL1VuaXR5bWVkaWEgKFpvb2ssIDIwLiBNYXIgMjAyMSwgMTQ6NDk6MTQpOgpIZXksIGhhdCBqZW1hbmQgdm9uIEV1Y2gsIGRlciBhdWNoIGJlaSBWb2RhZm9uZS9Vbml0eW1lZGlhIGlzdApnZWxlZ2VudGxpY2ggUHJvYmxlbWUgZWluZW4gVGVpbCB2b24gV2Vic2VpdGVuL1NlcnZlcm4genUgZXJyZWljaGVuPwpCZWkgbWlyIGtvbW1lIGljaCBtYW5jaG1hbCBudXIgenUgZWluZW0gUlogdm9uIExpYmVydHkgR2xvYmFsCnVuZCB2b24gZG9ydCBnZWh0IGVzIG5pY2h0IHdlaXRlci4gVHlwaXNjaGUgWmllbGUsIHdvIGVzIG5pY2h0IGdlaHQsIAppc3Qgc3BpZWdlbC5kZSB1bmQgYW5kZXJlIE1lZGllbnNlaXRlbiB3aWUgRkFaLm5ldCB1bmQgc28uCgpJY2ggZmluZGUgZGEgaXJnZW5kd2llIGluIGRlbiBTdG9lcnVuZ3NtZWxkdW5nZW4gbmljaHRzLgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZvZGFmb25lL1VuaXR5bWVkaWEgKFphcGhvYiwgMjMuIE1hciAyMDIxLCAxOTozMDo0NCk6Cn4jISBybj1ab29rIHJ0PTE2MTYyNDgxNTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYxNjI0ODE1NApOZWluLCBkYXMgaXN0IGhpZXIgbm9jaCBuaWNodCBhdWZnZWZhbGxlbi4KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9kYWZvbmUvVW5pdHltZWRpYSAoR2xvaW5zb24sIDI0LiBNYXIgMjAyMSwgMDk6NTg6MTQpOgp+IyEgcm49WmFwaG9iIHJ0PTE2MTY1MjQyNDQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYxNjI0ODE1NAorMQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsb3dTY2FwZSBieSBQaXhlbEZvcmVzdCAoWmFwaG9iLCAyNS4gTWFyIDIwMjEsIDIzOjUxOjMzKToKS2VubnQgaWhyIHNjaG9uIGh0dHBzOi8vcGl4ZWxmb3Jlc3QuaXRjaC5pby9mbG93c2NhcGUgPwpGbG93U2NhcGUgYnkgUGl4ZWxGb3Jlc3QgLSBMZXQgTmF0dXJlIEZsb3cgZnJvbSB5b3VyIEJydXNoCgpUaGlzIGlzIG51dHMuIFBlb3BsZSBhcmUgdXNpbmcgaXQgdG8gY3JlYXRlIHNjZW5lcyBhbmQgbWFwcyBmb3IgdGFibGV0b3AuCkJ1aWxkIGEgc2FuZGJveCB3b3JsZCBhbmQgdGhlbiBzY3JlZW5zaG90IHRoZSBwYXJ0cyB0aGF0IGFyZSByZWxldmFudCB0byB0aGUKZ2FtZSBvbiB0aGUgZGF5CkFuZCBpdCBjb3N0cyBvbmx5ICQxMApJIGFzc3VtZSB0aGV5J3JlIHVzaW5nIGl0IGZvciBvdGhlciBzdHVmZiB0b28sIGJ1dCB0aGUgZmFjdCBpdCBjYW1lIHVwIHdoaWxlIEkKd2FzIHNlYXJjaGluZyBmb3IgdG9vbHMgdG8gbWFrZSByZWdpb24gbWFwcyBibGV3IG15IG1pbmQuCgpEaWUgVmlkZW9zIHNpbmQgc2Nob24gYmVlaW5kcnVja2VuZC4gVmllbGxlaWNodCBicmF1Y2h0IGphIGplbWFuZCBzb3dhcz8KRGFubiBtYWwgdmllbCBTcGFzcyBkYW1pdCEKClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGbG93U2NhcGUgYnkgUGl4ZWxGb3Jlc3QgKEh1bW5pLCAyOC4gTWFyIDIwMjEsIDEwOjEwOjQzKToKfiMhIHJuPVphcGhvYiBydD0xNjE2NzEyNjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2MTY3MTI2OTMKSWNoIGhhYiBkYXMgYXVjaCB1bmQgaGFiIG1hbCBlcm5zdGhhZnQgdWViZXJsZWd0LCBkYXMgZnVlciBCdWNoY292ZXIgenUKdmVyd2VuZGVuLiBEYXMgQnVjaCwgd2FzIGljaCBkYWZ1ZXIgZ2VzY2hyaWViZW4gaGF0dGUsIHdhciBudXIgenUgc2NobGVjaHQsCmRhcnVtIGdpYnRzIGRhcyBuaWNodC4gQWJlciB3ZXIgc293YXMgYnJhdWNodDogRGFzIGlzdCBjb29sLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSB2ZXJzb3JnZSBpY2ggZWluZW4gRVNQODI2NiBtaXQgU3Ryb20/IChSdW1hdGEsIDE5LiBNYWkgMjAyMSwgMjM6MzI6NDYpOgoKSHVodSwKCmljaCBoYWJlIG1pciBlaW4gRVNQODI2NiBUaGVybW9tZXRlciBnZWJhdXQuIERhcyB0dXRzIGVzIGF1Y2gsIHVuZCBpY2gKaGFiZSBkYXMgUHJvZ3JhbW0gYXVjaCB2ZXJicmF1Y2hzb3B0aW1pZXJ0LCBpbmRlbSBlcyBtaXQgRGVlcHNsZWVwIHNjaGxhZmVuCmdlaHQuCgpBYmVyIGljaCBiZWtvbW1lIGVzIG5pY2h0IGhpbiwgZGFzcyBkYXMgR2VyYWV0IG1pdCBlaW5lciBCYXR0ZXJpZSBnZXNwZWlzdAp3ZXJkZW4ga2Fubi4KCiogSWNoIGhhYmUgbWVpbiBOb2RlIE1DRjEyRiBNb2R1bCBtaXQgOVYgQWtrdSB1bmQgdmlhIEJ1Y2stS29udmVydGVyIGF1ZgogIDMuM1YgcnVudGVyZ2VyZWdlbHQuIERhcyBzYWV1ZnQgZGVuIEFra3UgaW4gZWluZW0gVGFnIGxlZXIgKFZlcmJyYXVjaCBpbQogIEtvbnZlcnRlcj8gb2RlciBpbiBkZXIgVVNCIFNjaG5pdHRzdGVsbGU/KQoKKiBCZXRyaWViIG1pdCBlaW5lciBQb3dlcmJhbmsgZ2VodCBuaWNodCwgZGEgaW0gU2xlZXAgZGVyIFZlcmJyYXVjaCB6dQogIG5pZWRyaWcgaXN0LCBkYXNzIGRpZSBQb3dlcmJhbmsgYWJzY2hhbHRldC4KCiogU3RhdHQgZGVzIE5vZGVzIGVpbmUgRVNQIDAxIHp1IG5laG1lbiAoc28gd2lyZCBlcyBhdWYgWW91dHViZSB2b3JnZW1hY2h0KSwKICBrb21tdCBuaWNodCBpbiBGcmFnZSwgd2VpbCBpY2ggZG9ydCBkZW4gUmVzZXQgUElOIGRvcnQgbWFuZ2VscwogIEZpbmdlcmZlcnRpZ2tlaXQgbmljaHQgYW5sb2V0ZW4ga2Fubi4KCldhcyBrb2VubnRlIGljaCB2ZXJzdWNoZW4/IEdpYnQgZXMgRVNQIEJvYXJkcywgZGllIGljaCBtaXQgbWFlc3NpZ2VuCkxvZXRmYWVoaWdrZWl0ZW4gbWl0IFN0cm9tIHZlcnNvcmdlbiBrYW5uPwoKUnVtLCByYXRsb3MKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIHZlcnNvcmdlIGljaCBlaW5lbiBFU1A4MjY2IG1pdCBTdHJvbT8gKFJob3ZhbiwgMjAuIE1haSAyMDIxLCAwODo1NDozOCk6Cn4jISBybj1SdW1hdGEgcnQ9MTYyMTQ1OTk2NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjIxNDU5OTY2Ckh1aHUsCkRpZSBTZWl0ZSBpc3QgYWZhaWsgbmljaHQgc2NobGVjaHQKaHR0cHM6Ly9kaXlpMHQuY29tL2Jlc3QtYmF0dGVyeS1mb3ItZXNwODI2Ni8KCkFuc29uc3RlbiBzY2hhdSBkaXIgbWFsIGRlbiBUUDUwMDAgbWl0IGVpbmVyIExpRmVQTzQgenVzYW1tZW4gYW4uCgpJY2ggd2VpcyBmZXJ0aWcsIGRvb2YgdW5kIFppZ0JlZSBhYmVyIGRpZSBTb25vZmYgU05aQi0wMiBrb3N0ZW4gaGFsdCBhdWNoIG51cgo3IEV1cm8gdW5kIGJyaW5nZW4gVGVtcGVyYXR1ciwgTHVmdGZldWNodGlna2VpdCB1bmQgQmF0dGVyaWUgenVzdGFuZCBtaXQuCgpHcnVzcwpSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llIHZlcnNvcmdlIGljaCBlaW5lbiBFU1A4MjY2IG1pdCBTdHJvbT8gKFJ1bWF0YSwgMjcuIE1haSAyMDIxLCAxNTo1NzoxMSk6Cn4jISBybj1SaG92YW4gcnQ9MTYyMTQ5MzY3OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjIxNDU5OTY2CkRhcyBtaXQgZGVuIExpRmVQTzQgd2FyIGVpbmUgc3VwZXIgSWRlZS4gSGFiIG1pciBkaWUgSGFyZHdhcmUgYmVzb3JndAp1bmQgbnVuIHNjaGF1ZW4gd2lyIG1hbC4gOy0pCgpHZWdlbiBkaWUgWmlnQmVlIHNwcmljaHQgZGVyIE1hbmdlbCBhbiBCYXNpc3N0YXRpb24gdW5kIGljaCB3b2xsdGUKbmF0dWVybGljaCBkZW4gQmFzdGVsc3Bhc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQREYrUE5HLVByb2JsZW1lIHVudGVyIFdpbjEwIChBbWFyeWxsaXMsICA5LiBBdWcgMjAyMSwgMTk6NDI6MDEpOgpIYWxsbywKCmlyZ2VuZGV0d2FzIGlzdCBhbiBtZWluZXIgV2luMTAtSW5zdGFsbGF0aW9uIGthcHV0dCBnZWdhbmdlbiA6KAoKU3ltcHRvbWU6IFZlcnNhbmQgdm9uIFBERi1EYXRlaWVuIG1pdCBUaHVuZGVyYmlyZCBnZWh0IG5pY2h0IG1laHIsIFRCCnNjaGxpZXNzdCBzaWNoIGVpbmZhY2guIEljaCBtdXNzIGRpZSBEYXRlaSB6aXBwZW4sIGRhbWl0IGljaCBzaWUgdmVyLQpzZW5kZW4ga2Fubi4KCkRlc3dlaXRlcmVuIGRhcyBnbGVpY2hlIFNwaWVsIG1pdCBwbmctRGF0ZWllbi4gRWluaWdlIFByb2dyYW1tZSBzdHVlcnplbgpvaG5lIEZlaGxlcm1lbGR1bmcgYmVpIGRlciBCZWFyYmVpdHVuZyBlaW5mYWNoIGFiICh6LkIuIHBhaW50Lm5ldCksCmFuZGVyZSAoei5CLiBHSU1QKSBmdW5rdGlvbmllcmVuIG5vY2guCgpJY2ggdmVybXV0ZSBpcmdlbmR3aWUga2FwdXR0ZSBCaWJsaW90aGVrZW4gaW0gU3lzdGVtIG9kZXIgYWVobmxpY2hlcy4KSGFiZSBiZXJlaXRzIGVpbmUga29tcGxldHRlIFR3ZWFraW5nLmNvbS1SZXBhaXJzZXNzaW9uIGxhdWZlbiBsYXNzZW4sCm9obmUgRXJnZWJuaXMuCgpIYXQgaGllciBqZW1hbmQgdmxsdC4gbm9jaCBuZW4gSGlud2Vpcywgd2FzIGhlbGZlbiBrb2VubnRlPyBHb29nbGUgaXN0Cm5pY2h0IHNlaHIgZXJnaWViaWcsIHVuZCBpY2gga2FubiBpbSBNb21lbnQgZGVuIFJlY2huZXIgbmljaHQgZWluZmFjaApuZXUgYXVmc2V0emVuLgoKRGFua2UgdW5kIEdydWVzc2UKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBERitQTkctUHJvYmxlbWUgdW50ZXIgV2luMTAgKFpvb2ssIDE4LiBBdWcgMjAyMSwgMTc6NDQ6NDIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2Mjg1MzA5MjEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTYyODUzMDkyMQpXaWUgd2VpdCBrb21tc3QgRHUgYmVpIFRodW5kZXJiaXJkPyBTaWVoc3QgRHUgZGllIERhdGVpIHNjaG9uIGFscwoiYW5nZWhhZW5ndCIgb2RlciBzdHVlcnp0IGVyIGRpcmVrdCBuYWNoIGRlciBBdXN3YWhsIGFiPwoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQREYrUE5HLVByb2JsZW1lIHVudGVyIFdpbjEwIChBbWFyeWxsaXMsIDE4LiBBdWcgMjAyMSwgMTk6MDE6MjEpOgp+IyEgcm49Wm9vayBydD0xNjI5MzAxNDgyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2Mjg1MzA5MjEKRXIgc3R1ZXJ6dCBkaXJla3QgbmFjaCBkZXIgQXVzd2FobCBhYi4gQmlzaGVyIGhhYmUgaWNoIG1pciBzbyBnZWhvbGZlbiwgZGFzcwppY2ggZGFzIFBERiBkYW5uIGluIGVpbmUgWklQLURhdGVpIGdlcGFja3QgaGF0dGUsIGRhcyBsaWVmIHByb2JsZW1sb3MuIE1pcgpnZWh0IGRhcyBhYmVyIG1pdHRsZXJ3ZWlsZSBzbyBhdWYgZGVuIFNlbmtlbCwgZGFzcyBpY2ggd29obCBkZW4gUmVjaG5lciBuZXUKYXVmc2V0enRlbiB3ZXJkZS4uLgoKVElBCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpcnR1YWxCb3ggUHJvYmxlbSAoQW1hcnlsbGlzLCAgMS4gSmFuIDIwMjIsIDE5OjMwOjEyKToKSGFsbG8sCgpoYXQgaGllciBqZW1hbmQgRXJmYWhydW5nIG1pdCBWaXJ0dWFsQm94PwoKSWNoIGhhYmUgZWluZW4gTFVidW50dS1Ib3N0IGluIFZCLCBkZXIgdWViZXIgTkFUIGRpZSBJUC1BZHJlc3NlIDEwLjAuMi4xNQplcmhhbHRlbiBoYXQuIFZvbiBkaWVzZW0gSG9zdCBhdXMga29tbWUgaWNoIHd1bmRlcmJhciBpbnMgTmV0eiB1bmQga2FubiBhbGxlcwptYWNoZW4uCk51biBtb2VjaHRlIGljaCBhYmVyIGRpZXNlbiBIb3N0IGF1Y2ggcGVyIFNTSCB2b24gbWVpbmVyIFdpbmRvd3MtTWFzY2hpbmUgYXVzCmVycmVpY2hlbiAtIHVuZCBkYXMga2xhcHB0IG5pY2h0LgpKZWRlcyB6d2VpdGUgSG93dG8gZXJ6YWVobHQsIGRhc3MgbWFuIGRhcyBOZXR6d2VyayBhdWYgQnJpZGdlZCBlaW5zdGVsbGVuIHNvbGwKLSBkYW5uIGtvbW1lIGljaCB3ZWRlciB2b20gSG9zdCByYXVzIG5vY2ggYXVmIGRlbiBIb3N0IHJlaW4uCkhhdCBqZW1hbmQgbmUgQWhudW5nLCB3YXMgaWNoIGVpbnN0ZWxsZW4gbXVzcywgZGFzcyBiZWlkZSBSaWNodHVuZ2VuIGdlaGVuPwpJY2ggaGFiZSBlcyBhdWNoIHNjaG9uIG1pdCBlaW5lciBzdGF0aXNjaGVuIEhvc3Ryb3V0ZSB2ZXJzdWNodCwgYWJlciBkaWUgRnJhZ2UKaXN0LCB1ZWJlciB3ZWxjaGVzIEdhdGV3YXkuLi4/CgpHcnVzcwpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmlydHVhbEJveCBQcm9ibGVtIChHdWxhaHIsICAxLiBKYW4gMjAyMiwgMTk6NDg6MjUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2NDEwNjE4MTIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY0MTA2MTgxMgpNb2luLCBiaW4gbWlyIG5vY2ggbmljaHQgZ2FueiBzaWNoZXIsIG9iIGljaCBkYXMgU2V0dXAgcmljaHRpZyB2ZXJzdGVoZS4gSXN0CmRpZSBXaW5kb3dzLUtpc3RlIGRlciBIb3N0LCBhdWYgZGVtIFZpcnR1YWxCb3ggbGFldWZ0PyBVbmQgaW4gZWluZXIgVk0gZGFubgpkYXMgTFVidW50dT8gT2RlciBpc3QgZGFzIFdpbmRvd3MsIGRhcyBadWdyaWZmIHBlciBTU0gga3JpZWdlbiBzb2xsLCBub2NoIGF1ZgplaW5lbSBnYW56IGFuZGVyZW4gUEM/CgpGYWxscyBkYXMgV2luZG93cyBkZXIgSG9zdCBpc3QsIGtvZW5udGVzdCBkdSBlaW5mYWNoIG5vY2ggZWluZW4KSG9zdC1Pbmx5LUFkYXB0ZXIgaGluenVmdWVnZW4sIGRhbm4gaGFzdCBkdSBlaW4gendlaXRlcyBOZXR6d2VyayBmdWVyIGRpZQpLb21tdW5pa2F0aW9uIHp3aXNjaGVuIFZNIHVuZCBIb3N0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWaXJ0dWFsQm94IFByb2JsZW0gKEFtYXJ5bGxpcywgIDEuIEphbiAyMDIyLCAxOTo0OTozMSk6Cn4jISBybj1HdWxhaHIgcnQ9MTY0MTA2MjkwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjQxMDYxODEyCkphLCBXSW5kb3dzIGlzdCBkZXIgSG9zdCwgdW5kIEx1YnVudHUgZGllIFZNLiBTdGltbXQsIGhhdHRlIG1pY2gKbWlzc3ZlcnN0YWVuZGxpY2ggYXVzZ2VkcnVlY2t0Li4uCkljaCBwcm9iaWVyIGRhcyBtYWwsIGRhbmtlLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVmlydHVhbEJveCBQcm9ibGVtIChSaG9ha2thLCAgNC4gSmFuIDIwMjIsIDAwOjA2OjUyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjQxMDYyOTcxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NDEwNjE4MTIKTmFqYSBpbSBQcmluemlwIGlzdCBkYXMgZG9jaCBnYW56IGVpbmZhY2guIER1IGthbm5zdCBpbiBWQiBkaXZlcnNlIE5ldHp3ZXJrCiJNb2RpIiBiZXRyZWliZW4uIGVpbm1hbCBOQVQsIGVpbm1hbCBJdGVybmFsIE9ubHkgdW5kIEJyaWRnZWQuIEJlaSBCcmlkZ2VkCndpcmQgZGFubiBlaW4gdmlydHVlbGxlcyBJbnRlcmZhY2UgYXVmIGRlaW5lbSBIb3N0IGVyc3RlbGx0IHVuZCBkZWluZSBWTQpsYW5kZXQgaW0gc2VsYmVuIE5ldHp0IHdpZSBkZWluIEhvc3QtUmVjaG5lci4gRC5oLiBESENQIHVuZCBzbyB3ZWl0ZXIgbGFldWZ0CnVlYmVyIGRlaW5lIGxva2FsZXMgTmV0eiB1bmQgZGllIFZNIHZlcmhhZWx0IHNpY2ggd2llIGVpbiBSZWNobmVyIGluIGRlaW5lbQpsb2thbGVuIE5ldHp3ZXJrLgoKTW9lY2h0ZXN0IGR1IGRpZSBWTSBoaW50ZXIgZWluIE5BVCBzdGVsbGVuLCBhYmVyIGRlbm5vY2ggZWluIFBvcnQKd2VpdGVybGVpdGVuLCBkYW5uIGthbm5zdCBkdSBnbGF1YmUgaWNoIGluIFZCIGVpbiBQb3J0Zm9yd2FyZGluZyBtYWNoZW4uIERhbm4Ka2FubnN0IGR1IGF1ZiBkZW0gR2F0ZXdheSBpbnRlcmZhY2UgKGRhcyBhdWYgZGVtIEhvc3QpIGRlaW5lIFZNIGVycmVpY2hlbi4KVmVybXV0bGljaCBnZWh0IGRhIGFiZXIgbnVyIHZvbiBkZWluZW0gSG9zdHJlY2huZXIgYXVzLCBhdXNzZXIgZGVpbgpob3N0cmVjaG5lciBtYWNodCBzZWxiZXIgZWluIEZvcndhcmRpbmcgYXVmIGRhcyBOQVQgR2F0ZXdheS4KCgoKSGllciB6d2VpIEJlaXNwaWVsZToKCkJyaWRnZWQ6Ckhvc3QgMTkyLjE2OC4wLjIKVk0gMTkyLjE2OC4wLjMKYWxzbyBpbSBnbGVpY2hlbiBOZXR6IHdpZSBkZWluIEhvc3QKCk5BVCAoSG9zdC1vbmx5KToKVk0gMTAuMC4yLjIKSG9zdCBMQU4gMTkyLjE2OC4wLjIgdW5kIHp1c2FldHpsaWNoIGVpbiBOQVQgbG9rYWxlcyBpbnRlcmZhY2UgMTAuMC4yLjEgZnVlcgpkaWUgVk0sIHdhcyBhdWNoIGluIGRlciBWTSBhdXMgZ2F3dHdheSBkaWVudC4KTWFjaHN0IGR1IGFsc28gZWluIFBvcnRmb3J3YXJkaW5nIGZ1ZXIgZGllIFZNIGthbm5zdCBkdSB1ZWJlciAxMC4wLjIuMSArIFBvcnQKKEhPU1QtSW50ZXJmYWNlKSBkZWluZSBWTSBlcnJlaWNoZW4uIEFsbGVyZGluZ3Mgbm9jaCBuaWNodCB2b24gZGVpbmVtIExBTgoxOTIuMTY4LjAuWC4gRGEgbXVzc3QgZHUgZGFubiBlaW4gd2VpdGVyZXMgUG9ydGZvcndhcmRpbmdzIGF1ZiBkZWluZW0gSG9zdCB2b24KMTkyLjE2OC4wLjIgYXVmIDEwLjAuMi4xIGVpbnJpY2h0ZW4uCgpLdXJ6IHVuZCBrbmFwcCwgbW9lY2h0ZXN0IGR1IG51ciB2b24gZGVpbmVtIEhvc3QgYXVmIGRpZSBWTSB6dWdyZWlmZW4ga2FubnN0CmR1IE5BVCAoSG9zdC1vbmx5KSB3YWVobGVuLCBtb2VjaHRlc3QgZHUgZGllIFZNIHdpZSBlaW5lbiBub3JtYWxlbiBSZWNobmVyIGltCkxBTiBiZWhhbmRlbG4sIGRhbm4gd2FlaGxlIGVpbiBCcmlnZWQtTmV0endlcmsuCgpJY2ggZ2xhdWJlIFZCIGhhdHRlIG5vY2ggZWluZSBkcml0dGUgVmFyaWFudGUgIkludGVybmFsLU5ldHdvcmsiIG9kZXIgc28sIGRhcwp3YXIgZGFubiB3aXJrbGljaCBudXIgZWluIG5ldHp3ZXJrIGlubmVyaGFsYiB2b24gZGVuIFZNcyBtaXQga2VpbmVuIHp1Z3JpZmYKbmFjaCBBdXNzZW4uCgpBY2hqYSBpbiBkZXIgVkIgU3RhbmRhcmRrb25maWd1cmF0aW9uIGtvZW5uZW4gc2ljaCBWTXMgdW50ZXJlaW5hbmRlciBpbW1lcgpnZWdlbnNlaXRpZyBlcnJlaWNoZW4sIGVnYWwgd2VsY2hlciBuZXR6d2Vya3R5cCBnZXdhZWhsdCB3dXJkZSwgenVtaW5kZXN0IHNpbmQKbWVpbmUgRXJpbm51bmdlcm4gc28uCgpXZW5uIGR1IG5vY2ggRnJhZ2VuIGhhc3Qgc2NocmVpYiBtaWNoIGVpbmZhY2ggZml4IGFuLgoKUmhvYWtrYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVmlydHVhbEJveCBQcm9ibGVtIChBbWFyeWxsaXMsICA0LiBKYW4gMjAyMiwgMDE6MDk6MjEpOgp+IyEgcm49UmhvYWtrYSBydD0xNjQxMjUxMjEyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NDEwNjE4MTIKRGFua2UgZnVlciBkaWUgYXVzZnVlaHJsaWNoZSBBbnR3b3J0IDspCgpJY2ggbWVsZGUgbWljaCBnZXJuZSBiZWkgQmVkYXJmLgoKVkcKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS0RFLUxvY2tzY3JlZW4gaWdub3JpZXJ0IFRhc3RhdHVyIChBcmF0aG9ybiwgMTMuIEZlYiAyMDIyLCAxNjo1MzoyNSk6Ck1vaW4genVzYW1tZW4sCgppY2ggaGFiZSBoaWVyIGVpbiBtZXJrd3VlcmRpZ2VzIFBoYWVub21lbiwgZGVzc2VuIFVyc2FjaGUgaWNoIGJpc2hlciBuaWNodApzaW5udm9sbCBlcmdydWVuZGVuIHVuZCBhYnN0ZWxsZW4ga29ubnRlOiBpY2ggYmVudXR6ZSBLdWJ1bnR1LCBkLmguIEtERSBhbHMKRGVza3RvcC4gU2VpdCBlaW5lciBXZWlsZSAobW9lZ2xpY2hlcndlaXNlIHNlaXQgZGVtIGxldHp0ZW4gS0RFLVVwZGF0ZSkKcmVhZ2llcnQgZGVyIExvY2tzY3JlZW4gbmljaHQgbWVociBhdWYgVGFzdGF0dXJlaW5nYWJlbi4KCktvbmtyZXQgYmVkZXV0ZXQgZGFzOiBpY2gga2FubiBkZW4gQmlsZHNjaGlybSBkdXJjaCBEcnVlY2tlbiB2b24gVGFzdGVuCnJlYWt0aXZpZXJlbiwgYWJlciBrYW5uIGtlaW4gUGFzc3dvcnQgZWluZ2ViZW4sIHdlaWwgZGFzIEVpbmdhYmVmZWxkICh1bmQgYXVjaApkaWUgc29uc3RpZ2VuIEJlZGllbmVsZW1lbnRlLCBkLmguIGVpZ2VudGxpY2ggZGFzIGtvbXBsZXR0ZSBMb2Nrc2NyZWVuLUdVSSkKbmljaHQgYW5nZXplaWd0IHdpcmQuIEVyc3Qgd2VubiBpY2ggZGllIE1hdXMgYmV3ZWdlLCBlcnNjaGVpbnQgZXMsIHVuZCBkYW5uCmthbm4gaWNoIGF1Y2ggZGFzIFBhc3N3b3J0IG5vcm1hbCBlaW5nZWJlbi4KCkhhdCBpcmdlbmR3ZXIgaGllciBlaW5lIElkZWUsIHdvcmFuIGRhcyBsaWVnZW4ga29lbm50ZT8KCkdydXNzLCBBcmF0aG9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLREUtTG9ja3NjcmVlbiBpZ25vcmllcnQgVGFzdGF0dXIgKFJob2Fra2EsIDEzLiBGZWIgMjAyMiwgMjI6NTg6NTgpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTY0NDc2NzYwNSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjQ0NzY3NjA1Cmh0dHBzOi8vYnVncy5rZGUub3JnL3Nob3dfYnVnLmNnaT9pZD00MzMwNTQKR2FueiB1bnRlbiB3aXJkIGRhcyBQcm9ibGVtIGJlc2NocmllYmVuLCBkYXNzIGR1IGhhc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtERS1Mb2Nrc2NyZWVuIGlnbm9yaWVydCBUYXN0YXR1ciAoQXJhdGhvcm4sIDEzLiBGZWIgMjAyMiwgMjM6Mjc6MTcpOgp+IyEgcm49UmhvYWtrYSBydD0xNjQ0Nzg5NTM4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NDQ3Njc2MDUKQWgsIHNlaHIgZ3V0LCBkYW5rZS4gOi0pIE9mZmVuYmFyIHdhcyBnYW56IGZyaXNjaGVzLCBkZXNoYWxiIGZpbmRldCBtYW4gZGF6dQphdWNoIG5peC4gRGFubiBzY2hhdWVuIHdpciBtYWwsIHdpZSBzaWNoIGRhcyBlbnR3aWNrZWx0LgoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXJzdGF0aW9uZW4gKEJhbWJ1bGtvLCAxNS4gTWFyIDIwMjIsIDE0OjIwOjU5KToKSWNoIGJpbiBtaXIgbmljaCBzaWNoZXIsIG9iIGRhcyBkaWUgcmljaHRpZ2UgUnVicmlrIGlzdCwgYWJlciBoYXQgaGllcgp6dWFmYWVsbGlnIGplbWFuZCBBaG51bmcgdm9uIFByaXZhdGVuIFdldHRlcnN0YXRpb25lbj8gSWNoIHd1ZXJkZSBtaXIgZ2VyZW4KZXR3YXMga2F1ZmVuLCBhYmVyIGljaCBoYWJlIGtlaW5lIEFobnVuZyB3byBpY2ggZGEgYW5mYW5nZW4ga2Fubi4gSWNoIGhhZXR0ZXIKZ2VybmUgZXR3YXMgd2FzIGF1c2JhdWZhZWhpZyBpc3QsIHVuZCBiZWkgZGVtIG1hbiBwZXIgRnVuayBUZW1lcmF0dXJlbiBhbgp2ZXJzY2hpZWRlbmVuIE9ydGVuIGF1ZnplaWNobmVuIGthbm4uIEF1Y2ggd2FlcmUgZXMgd2ljaHRpZywgZGFzcyBkaWUgRGF0ZW4KaXJnZW5kd28gZ2VzcGVjaWhlcnQgd2VyZGVuLCB1bmQgbWFuIHNpZSBhbHMgLmNzdiBvZGVyIHNvbnN0IGlyZ2VuZHdpZQpydW50ZXJsYWRlbiBrYW5uLiBVYmVyIFRpcHBzIGJpbiBpY2ggZGFua2Jhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXJzdGF0aW9uZW4gKEFudGhlYSwgMTUuIE1hciAyMDIyLCAxNjoxODozNCk6Cn4jISBybj1CYW1idWxrbyBydD0xNjQ3MzUwNDU5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NDczNTA0NTkKVGphLCBndXRlIEZyYWdlLiBJY2ggaGF0dGUgdWViZXIgZGllIEphaHJlIG1laHJlcmUgZ3Jvc3NlIFN0YXRpb25lbiwgZGllCmVyc3RlbiBub2NoIG1pdCBzZXJpZWxsZXIgU2Nobml0dHN0ZWxsZSwgZGllIGFsbGUgMTQgVGFnZSBhdXNnZWxlc2VuIHdlcmRlbgptdXNzdGUgKHNvbnN0IGdpbmdlbiBEYXRlbiB2ZXJsb3JlbikuLi4gQWxsZSBoYXR0ZW4gc28gaWhyZSBQcm9ibGVtY2hlbi4KSGFldWZpZyBnaW5nZW4gZGllIEF1c3Nlbm1vZHVsZSBrYXB1dHQsIGJlaSBlaW5lciBrb25udGUgaWNoIGRpZSBFcnNhdHp0ZWlsZQpudXIgbm9jaCBhdXMgRnJhbmtyZWljaCBiZXN0ZWxsZW4sIGJlaSBhbmRlcmVuIGdhciBuaWNodCBtZWhyLCBvZGVyIGRlcgppbnRlcm5lIFNwZWljaGVyIHZlcmxvciBzdGFlbmRpZyBEYXRlbiwgb2RlciBkaWUgUEMtU29mdHdhcmUgc2NocmVkZGVydGUKZGllLi4uIFZvciBlaW4gcGFhciBKYWhyZW4gYmluIGljaCBkYW5uIGF1ZiBkYXMgTmV0QXRtby1TeXN0ZW0gdW1nZXN0aWVnZW4uCkVpbm1hbCBnaW5nZW4gYmVpIGRlbiBpbnRlcm5lbiBNb2R1bGVuIHVlYmVyYWxsIGRpZSBDTzItU2Vuc29yZW4ga2FwdXR0LCBkYXMKd2FyIHdvaGwgZWluIFN5c3RlbWZlaGxlciwgdW5kIGlzdCBiZWkgZGVuIEVyc2F0emdlcmFldGVuIG5pY2h0IG1laHIgcGFzc2llcnQuCkRvcnQgd2VyZGVuIGRpZSBEYXRlbiBhdWYgZWluZW0gU2VydmVyIHZvbiBOZXRhdG1vIGdlc3BlaWNoZXJ0LCBtYW4ga2FubiBzaWUKdm9uIHVlYmVyYWxsIGhlciBhYnJ1ZmVuIChtaXQgQmVudXR6ZXJuYW1lL1Bhc3N3b3J0KSwgb2RlciBhdWNoIGFuZGVyZSBMZXV0ZQp6dW0gTnV0emVuIGVpbmxhZGVuLiBEaWUgU29mdHdhcmUgYmlldGV0IGVpbmVuIENTVi1FeHBvcnQgdWViZXIgZGllIGxldHp0ZW4gMwpNb25hdGUsIG1hbiBrYW5uIGFiZXIgYXVjaCBkaWUgV2ViIEFQSSB2ZXJ3ZW5kZW4gdW5kIGRpZSBEYXRlbiBhbHMgSlNPTiBQYWtldApob2xlbiAoIGh0dHBzOi8vZGV2Lm5ldGF0bW8uY29tICkuIERhcyBTeXN0ZW0gaXN0IG5pY2h0IGRhcyBiaWxsaWdzdGUsIGFiZXIKZnVlciBtaWNoIGJpc2hlciBkYXMgc3RyZXNzZnJlaWVzdGUsIHdhcyBpY2ggYXVzcHJvYmllcnQgaGFiZS4KTmFqYSwgU3RyZXNzZnJlaT8gRWlubWFsIHdvbGx0ZSBpY2ggaW0gU2tpdXJsYXViIE1pdHJlaXNlbmRlbiB6ZWlnZW4sIHdhcyBkYXMKYWxsZXMga2FubiwgdW5kIGRhYmVpIGZlc3RnZXN0ZWxsdCwgZGFzcyB3b2hsIHZvciAzIFRhZ2VuIGRpZSBIZWl6dW5nCmF1c2dlZmFsbGVuIHdhciB1bmQgZGllIElubmVudGVtcGVyYXR1ciBpbW1lciB3ZWl0ZXIgcnVudGVyIGdpbmcuIERhcyBoYXQgZGFubgpiZWkgbWlyIGRvY2ggZnVlciBTdHJlc3MgZ2Vzb3JndCA7KSBJbW1lcmhpbiBrb25udGUgdW5zZXIgS2F0emVuc2l0dGVyIGRpZQpIZWl6dW5nIG5ldSBzdGFydGVuLCB1bmQgZGVyIFRlcm1pbiBtaXQgZGVtIE1vbnRldXIgd2FyIGRhbm4gYXVjaCBzY2hvbgphYmdlc3Byb2NoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdldHRlcnN0YXRpb25lbiAoQmFtYnVsa28sIDE1LiBNYXIgMjAyMiwgMTY6MzM6NTQpOgp+IyEgcm49QW50aGVhIHJ0PTE2NDczNTc1MTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY0NzM1MDQ1OQpOZXRBdG1vIGhhYmUgaWNoIGF1Y2ggc2Nob24gZ2VzZWhlbi4gRGFzIHNpZWh0IGF1Y2ggc2NoaWNrIGF1cywgd2FzIGRpZQpBa3plcHRhbnogaW4gZGVyIEZhbWlsaWUgZXJob2VoZW4gd3VlcmRlLiBBYmVyIGRhcyBnYW56ZSBmdW5rdGlvbmllcnQgbnVyCnVlYmVyIGRlcmVuIFNlcnZlcj8gV2VubiBkaWUgbWFsIHBsZWl0ZSBnZWhlbiwgb2RlciBkZXJlbiBTZXJ2ZXIgYXVzZmFlbGx0LApmdW5rdGlvbmllcnQgZXMgbmljaHQgbWVocj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdldHRlcnN0YXRpb25lbiAoQW50aGVhLCAxNS4gTWFyIDIwMjIsIDE2OjQxOjMyKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTE2NDczNTg0MzQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY0NzM1MDQ1OQpKYSwgbWVpbmVzIFdpc3NlbnMgaXN0IG1hbiBkYSBhbiBkZW4gTmV0QXRtby1TZXJ2ZXIgZ2VidW5kZW4uIERhIGRpZSBuaWNodCBudXIKZGllICJrbGVpbmVuIiBLbGltYW1lc3NnZXJhZXRlLCBzb25kZXJuIGF1Y2ggU2ljaGVyaGVpdHNzYWNoZW4gaW0gUHJvZ3JhbW0KaGFiZW4sIHNpbmQgZGllIG1pdCBoaW5yZWljaGVuZGVyIFdhaHJzY2hlaW5saWNoa2VpdCB1ZWJlciBkaWUgbmFlY2hzdGVuCnZpZWxlbiBKYWhyZSByZWNodCBzaWNoZXIgYXVmZ2VzdGVsbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2V0dGVyc3RhdGlvbmVuIChab29rLCAxNi4gTWFyIDIwMjIsIDExOjM4OjQzKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTE2NDczNTA0NTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY0NzM1MDQ1OQpNYWwgYmVpIEthY2hlbG1hbm53ZXR0ZXIgc2NoYXVlbj8gRGVyIHNwZWlzdCBqYSBhdWNoIERhdGVuIHZvbiAKIkFtYXRldXJlbiIgZWluIHVuZCB2aWVsbGVpY2h0IGdpYnQgZXMgZGEgZWluIHBhYXIgVGlwcyBmdWVyCldldHRlcnN0YXRpb25lbj8gKEF1ZiBkZW4gZXJzdGVuIEJsaWNrIGhhYmUgaWNoIG5pY2h0IHNvIHZpZWwgCmdlZnVuZGVuLCBhYmVyIGdnZi4gaW0gQmxvZyBvZGVyIHRpZWYgdmVyc3RlY2t0KS4gWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG9ja2VyIHVudGVyIFdpbmRvd3MgKEJhbWJ1bGtvLCAzMS4gTWFyIDIwMjIsIDE4OjAwOjU0KToKS2VubnQgc2ljaCBqZW1hbmQgbWl0IERvY2tlciB1bnRlciBXaW5kb3dzIGF1cz8gS2FubiBpY2ggZWluZW4gUHJvemVzcyBpbQpIaW50ZXJncnVuZCBsYXVmZW4gbGFzc2VuLCBhdWNoIHdlbm4gaWNoIHZvbSBSZWNobmVyIGFiZ2VtZWxkZXQgYmluPyBVbmQgYXVjaApuZXUgc3RhcnRlbiwgd2VubiBkZXIgUmVjaG5lciBuZXUgIHN0YXJ0ZXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXJrZG93bi1FZGl0b3JlbiBmdWVyICJOby1Db2RlciIgKFpvb2ssIDE5LiBBcHIgMjAyMiwgMjE6NDM6MjkpOgpIZXksIAoKaWNoIHN1Y2hlIGRlcnplaXQgbmFjaCBndXRlbiBQcm9kdWt0ZW4sIG1pdCBkZW5lbiBtYW4gTWFya2Rvd24gc2NoaWNrIHVuZCAKbmV0dCBzY2hyZWliZW4ga2FubiB1bmQgd2FzIHNpY2ggbmljaHQgYW4gQ29kZXIgcmljaHRldCwgc29uZGVybiAiYW4gZGVuIApSZXN0IGRlciBXZWx0Ii4gS2VubnQgZGEgamVtYW5kIHdhcyB1bmQga2FubiBlcyBlbXBmZWhsZW4/CgpJY2ggd2VyZGUgbWFsIGV0d2FzIGluIGRpZSBSdW5kZSwgd2FzIGljaCBzZWxic3QgYW5nZXNjaGF1dCBoYWJlOiBaZXR0bHIuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChaYXBob2IsIDIxLiBBcHIgMjAyMiwgMjI6MDQ6MTApOgp+IyEgcm49Wm9vayBydD0xNjUwMzk3NDA5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NTAzOTc0MDkKSWNoIHNjaHJlaWJlIE1hcmtkb3duIHpCIGF1ZiBHaXRodWIgbWl0IGRlbSBlaWdlbmVuIFd5c2l3eWcgRWRpdG9yLCBhYmVyCnVua2xhciwgb2IgZGVyIGZyZWkgdmVyZnVlZ2JhciBpc3QuIE9kZXIgbWVpbnRlc3QgZHUgT2ZmbGluZSBQcm9kdWt0ZT8KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChab29rLCAyNi4gQXByIDIwMjIsIDE3OjQ5OjI3KToKfiMhIHJuPVphcGhvYiBydD0xNjUwNTcxNDUwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NTAzOTc0MDkKU293b2hsIGFscyBhdWNoLiBWaWVsZSBJREVzL0VkaXRvcmVuIHNpbmQgaGFsdCBlaGVyIGZ1ZXIgClByb2dyYW1taWVyZXIgdW5kIGljaCBzdWNoZSBldHdhcywgbWl0IGRlbSBhdWNoIGVpbiBOaWNodC1Qcm9ncmFtbWllcmVyCmd1dCB6dXJlY2h0IGtvbW10LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChaZXNzdHJhLCAyNi4gQXByIDIwMjIsIDIwOjQ0OjQ5KToKfiMhIHJuPVpvb2sgcnQ9MTY1MDk4ODE2NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUwMzk3NDA5CldpciBoYWJlbiBhbSBGb3JzY2h1bmdzemVudHJ1bSBlaW5lbiBXZWJlZGl0b3IsIGljaCBtdXNzIHRhZ3PDg3VlYmVyIG1hbApzY2hhdWVuLCB3aWUgZGFzIERpbmcgaGVpc3N0IHVuZCBvYiBkYXMgb2VmZmVudGxpY2ggaXN0Li4uIERhcyBmaW5kZSBpY2gKamVkZW5mYWxscyBnYW56IGd1dCwgaGF0IG5lbiBQYW5lbCBsaW5rcyBtaXQgTWFya2Rvd24gdW5kIGVpbnMgcmVjaHRzIG1pdApmb3JtYXRpZXJ0ZXIgQXVzZ2FiZSB1bmQga2FubiBlcyAodmVybXV0bGljaCBkdXJjaCBwYW5kb2MgdW50ZXIgZGVyIEhhdWJlKSBpbgp2ZXJzY2hpZWRlbmVuIEF1c2dhYmVmb3JtYXRlbiBydW50ZXJsYWRlbiB1bmQgbWl0IGFuZGVyZW4gdGVpbGVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChab29rLCAyNi4gQXByIDIwMjIsIDIwOjU0OjQ2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTY1MDk5ODY4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUwMzk3NDA5CldhaHJzY2hlaW5saWNoIEhlZGdlRG9jIG9kZXIgZnJ1ZWhlciBoaWVzcyBkZXIgQ29kaU1EPwoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVocnN0b2Vja2lnZXMgV0xBTiBhdWZiYXVlbiAoWmFwaG9iLCAxNS4gTWFpIDIwMjIsIDE5OjM5OjQ3KToKSHVodSwKSWNoIHdpbGwgdWViZXIgMyBFdGFnZW4gZWluIFdMQU4gYW5iaWV0ZW4sIHdpZSBnZWh0IG1hbiBkYSBhbSBiZXN0ZW4gdm9yPyBFaW4KZWluemVsbmVzIE1vZGVtIHNjaGVpbnQgenUgc2Nod2FjaCwgdW0gYWxsZSBFdGFnZW4gYWJ6dWRlY2tlbi4gTWVocmVyZSBNb2RlbXMKYXVmc3RlbGxlbiBrbGluZ3QgZHVtbSwgd2VpbCBkYW5uIGphIG1laHJlcmUgdmVyc2NoaWVkZW5lIFdMQU4gc2luZCB1bmQgZGllCkdlcmFldGUgZGF1ZXJuZCB1bWdlc3RlbGx0IG11ZXNzZW4sIHdlbm4gc2llIHNpY2ggZGEgZHVyY2ggYmV3ZWdlbi4gSGF0IGRhCnZpZWxsZWljaHQgd2VyIEVyZmFocnVuZ2VuL0VtcGZlaGx1bmdlbj8KClphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZWhyc3RvZWNraWdlcyBXTEFOIGF1ZmJhdWVuIChCdWdmaXgsIDE1LiBNYWkgMjAyMiwgMjA6MDA6NTkpOgp+IyEgcm49WmFwaG9iIHJ0PTE2NTI2MzYzODcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY1MjYzNjM4NwpEYXMga29tZm9ydGFiZWxzdGUgdW5kIHN0YWJpbHN0ZSBkYWZ1ZXIgaXN0IGVpbiBNZXNoLVN5c3RlbSB6dSBudXR6ZW4sIGRhYmVpCmhhc3QgZHUgbWVocmVyZSBBY2Nlc3Nwb2ludHMsIGRpZSBhYmVyIGFsbGUgZGFzIGdsZWljaGUgTmV0endlcmsgYXVmYmF1ZW4gdW5kCmRlbiBDbGllbnRzIGF1Y2ggbWl0dGVpbGVuLCB3YW5uIHNpZSBmdWVyIGJlc3NlcmVuIEVtcGZhbmcgZGVuIEFjY2Vzc3BvaW50CndlY2hzbGVuIG11ZXNzZW4uIERpZXNlIGVpbnplbG5lbiBBY2Nlc3Nwb2ludHMga2FubnN0IGR1LCBqZSBuYWNoIGRlbgpWb3JhdXNzZXR6dW5nZW4gaW0gVW1mZWxkLCBwZXIgV0xBTiwgTGFuIG9kZXIgUG93ZXJuZXQgKGFsc28gTmV0endlcmsgdWViZXIKU3Ryb21sZWl0dW5nKSBtaXQgRGF0ZW4gdmVyc29yZ2VuLiBGdWVyIEhlaW1hbndlbmRlciBmaW5kIGljaCBkYSBkaWUKQVZNLVByb2R1a3RlIGdhbnogc2NoaWNrLCBhYmVyIGlzdCBuYXR1ZXJsaWNoIGVpbiBwcm9wcml0YWVyZXMgU3lzdGVtLCB3ZW5uCmVpbmVuIGRhcyBuaWNodCBzdG9lcnQgaGF0IG1hbiBkYW1pdCBhYmVyIGVpbiB6dXZlcmxhZXNzaWdlcyB1bmQgbGVpY2h0IHp1CmtvbmZpZ3VyaWVyZW5kZXMgU3lzdGVtLgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVocnN0b2Vja2lnZXMgV0xBTiBhdWZiYXVlbiAoWm9vaywgMTYuIE1haSAyMDIyLCAxNToxOTo1Nyk6Cn4jISBybj1aYXBob2IgcnQ9MTY1MjYzNjM4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUyNjM2Mzg3CkhhYmUgaWNoIG1pdCBVYmlxdXRpIGdlbG9lc3QgdW5kIGZpbmRlIGRhcyB6aWVtbGljaCBzY2hpY2suCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVocnN0b2Vja2lnZXMgV0xBTiBhdWZiYXVlbiAoWmVzc3RyYSwgMTYuIE1haSAyMDIyLCAyMDo0OTowMik6Cn4jISBybj1aYXBob2IgcnQ9MTY1MjYzNjM4NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUyNjM2Mzg3CldpciBoYWJlbiBkaWUgZWluZmFjaGUgVmFyaWFudGUgZ2Vub21tZW46IGVpbmUgRnJpdHpib3ggdW5kIGltIFN0b2Nrd2VyawpkcsODdWViZXIgbmVuIEZyaXR6cmVwZWF0ZXIsIGRpZSBiZWlkZW4gbWFjaGVuIGRhbm4gZWluIGdlbWVpbnNhbWVzIE1lc2huZXR6LgpGdW5rdGlvbmllcnQgdW5kIGJyYXVjaHQgZ2VmdWVobHQgbmUgTWludXRlIHp1bSBTZXR1cC4gSXN0IG51ciBuaWNodCBkaWUKYmlsbGlnc3RlIFZhcmlhbnRlLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNZWhyc3RvZWNraWdlcyBXTEFOIGF1ZmJhdWVuIChIdW1uaSwgMTguIE1haSAyMDIyLCAxODozMjowMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTE2NTI3MjY5NDIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY1MjYzNjM4NwpIaWVyIGRpZXNlbGJlIExvZXN1bmcgd2llIGJlaSBaZXNzdHJhLiBGdW5rdGlvbmllcnQuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFuZHkgdG8gU3RlcmVvYW5sYWdlIChBbWFyeWxsaXMsIDExLiBKdWwgMjAyMiwgMDE6MzI6MzEpOgpIaSwKCmljaCBmcmFnZSBtaWNoIGdlcmFkZSwgd2VpbCBpY2ggbWVpbmUgU3RlcmVvYW5sYWdlIG5pY2h0IHZlcmdhbW1lbG4gbGFzc2VuCndpbGwgdW5kIGF1Y2ggbmljaHQgaW1tZXIgZGVuIEtvcGZob2VyZXIgc2NoYWV0emUsIHdhcyBlcyBmdWVyIE1vZWdsaWNoa2VpdGVuCmdpYnQsIG1laW5lIE1QMy1TYW1tbHVuZywgZGllIHNpY2ggc293b2hsIGF1ZiBtZWluZW0gTGFwdG9wIGFiZXIgYXVjaCBhdWYKbWVpbmVtIEhhbmR5IGJlZmluZGV0LCBkZXIgQW5sYWdlIHp1IGZ1ZXR0ZXJuLgpHaWJ0IGVzIGRhIHBhc3NlbmRlIEJsdWV0b290aC1BbmhhZW5nc2VsIGZ1ZXIgZGllIEFubGFnZSwgb2RlciB3aWUga2FubiBtYW4KZGFzIGxvZXNlbj8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYW5keSB0byBTdGVyZW9hbmxhZ2UgKFJ1bWF0YSwgMTEuIEp1bCAyMDIyLCAwODo0NzoyMyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTY1NzQ5NTk1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjU3NDk1OTUxCkljaCBtYWNoZSBkYXMgbWl0IGVpbmVyIENocm9tZWNhc3QgQXVkaW8gKGRpZSB3aXJkIGFiZXIgbS5XLiBuaWNodCBtZWhyCnZlcnRyaWViZW4pLiBIYWJlIGF1Y2ggbWFsIG1pdCBkZW0gUmFzcGkgYWxzIERMTkEgUGxheWVyIGV4cGVyaW1lbnRpZXJ0LAphYmVyIGRhcyBpc3Qgc2Nob24gaGVyIHVuZCBkYW1hbHMgd2FyIGRpZSBBdWRpb2F1c2dhYmUgbmljaHQgZ2VyYWRlIEhpRmkuCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbmR5IHRvIFN0ZXJlb2FubGFnZSAoQmFtYnVsa28sIDExLiBKdWwgMjAyMiwgMDk6NDQ6NTEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE2NTc0OTU5NTEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY1NzQ5NTk1MQpJY2ggaGFiZSBzbyBlaW4gQmx1ZXRvb3RoIERpbmcsIG5lbm50IHNpY2ggJ1Vub3RlYyBBaXJqYWNrJy4gSWNoIGhhYmUgYWJlciBkYQpqZXR6dCBhdWYgZGllIHNjaG5lbGxlIGJlaSBBbWF6b24gbmljaHRzIGdlZnVuZGVuLiBGdW5rdGlvbmllcnQgZWlnZW50bGljaApnYW56IGd1dCwgYWJlciBtYW4gbXVzcyBlcyBpbW1lciBtYW51ZWxsIEVpbnNjaGFsdGVuLCB3ZWlsIGRhcyBuYWNoIGVpbmVyIFplaXQKaW4gZWluZW4gUnVoZW1vZHVzIGdlaHQuIFVuZCBtYW4gc29sbHRlIHNpY2ggbmljaHQgenUgd2VpdCBkYXZvbiBlbnJmZXJuZW4uCkR1cmNoIG1laHJlcmUgV2FlbmRlIGhhdCBlcyBpcmdlbmR3YW5uIGtlaW5lbiBFbXBmYW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbmR5IHRvIFN0ZXJlb2FubGFnZSAoUmhvYWtrYSwgMTIuIEp1bCAyMDIyLCAwMjoxNToyNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTY1NzQ5NTk1MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjU3NDk1OTUxCnZlcm11dGxpY2ggaXJnZW5kd2llIHNvd2FzLCBoYWIgaWNoIGFiZXIgbmllIHNlbGJlciBiZW51dHp0LgpodHRwczovL3d3dy5hbWF6b24uZGUvcz9rPWFwdHgrYmx1ZXRvb3RoK2VtcGZhZW5nZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSGFuZHkgdG8gU3RlcmVvYW5sYWdlIChBbWFyeWxsaXMsIDEyLiBKdWwgMjAyMiwgMDI6NDQ6MDkpOgp+IyEgcm49UmhvYWtrYSBydD0xNjU3NTg0OTI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NTc0OTU5NTEKamEsIGRhbmtlIEV1Y2ggZnVlciBkaWUgU3VjaGFuc3RvZXNzZSEKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1hcmtkb3duLUVkaXRvcmVuIGZ1ZXIgIk5vLUNvZGVyIiAoWmFwaG9iLCAxMS4gQXVnIDIwMjIsIDE2OjUyOjM2KToKfiMhIHJuPVpvb2sgcnQ9MTY1MDk5OTI4NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUwMzk3NDA5Ck1pciB3dXJkZSBqZXR6dCBPYnNpZGlhbiBlbXBmb2hsZW4uIFZpZWxsZWljaHQgaXN0IGRhcyB3YXMgZnVlciBldWNoPwoKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChab29rLCAxMS4gQXVnIDIwMjIsIDE2OjU4OjE2KToKfiMhIHJuPVphcGhvYiBydD0xNjYwMjI5NTU2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NTAzOTc0MDkKRGFua2UgZnVlciBkZW4gVGlwLiBEYXMgaGF0IHRhdHNhZWNobGljaCBtaXR0bGVyd2VpbGUgZWluZSBLb2xsZWdlCm1hbCBzbyBpbSBUZXN0LgoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFya2Rvd24tRWRpdG9yZW4gZnVlciAiTm8tQ29kZXIiIChDaGFnYWxsLCAxMi4gQXVnIDIwMjIsIDA4OjMyOjExKToKfiMhIHJuPVpvb2sgcnQ9MTY2MDIyOTg5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjUwMzk3NDA5CkZhbGxzIGVzIHdlYmJhc2llcnQgc2VpbiBkYXJmLCBkYW5uIGlzdCB2aWVsbGVpY2h0IG1hbCBlaW4gQmxpY2sgYXVmCmhlZGdlZG9jLm9yZyB3ZXJ0LiBLYW5uIG1hbiBhdWNoIHNlbGJlciBhdWYgZWlnZW5lciBJbmZyYXN0cnVrdHVyIGhvc3Rlbi4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTU0hEIExlZ2FjeSBQcm9ibGVtIChBbWFyeWxsaXMsIDEyLiBBdWcgMjAyMiwgMTk6Mjk6MjUpOgpIaSwKCmluIGRlbiBsZXR6dGVuIFRhZ2VuIHNjaGx1Z2VuIGJlaSBtaXIgdmVyc3RhZXJrdCBIaWxmZXN1Y2h1bmdlbiB6dW0gVGhlbWEKIlNTSEQga2V5IGV4Y2hhbmdlIHByb2JsZW0iIGF1Zi4gSGllciBkYXJ1bSBkaWUgTG9lc3VuZywgZGllIGJlaSBtaXIgZ2Vob2xmZW4KaGF0OgoKVGhlIGNoYW5nZSBmcm9tIG9wZW5zc2g2IC0+IG9wZW5zc2g3IGRpc2FibGVkIGJ5IGRlZmF1bHQgdGhlCmRpZmZpZS1oZWxsbWFuLWdyb3VwMS1zaGExIGtleSBleGNoYW5nZSBtZXRob2QuCgpBZnRlciByZWFkaW5nIGh0dHBzOi8vd3d3Lm9wZW5zc2guY29tL2xlZ2FjeS5odG1sIGFuZCBodHRwczovL3d3dy5ob3d0b2ZvcmdlLmMKb20vY29tbXVuaXR5L3RocmVhZHMvZW5hYmxlLWRpZmZpZS1oZWxsbWFuLWdyb3VwMS1zaGExLW9uLWplc3NpZS43MDc2NC8jcG9zdC0zCjM3MDMzIEkgY2FtZSB1cCB3aXRoIHRoZSBjaGFuZ2VzIEkgbmVlZGVkIHRvIGRvIHRvIHRoZSAvZXRjL3NzaC9zc2hkX2NvbmZpZwpmaWxlOgoKI0xlZ2FjeSBjaGFuZ2VzCktleEFsZ29yaXRobXMgK2RpZmZpZS1oZWxsbWFuLWdyb3VwMS1zaGExCkNpcGhlcnMgK2FlczEyOC1jYmMKCkJ1dCBhIG1vcmUgd2lkZSBsZWdhY3kgc2V0IG9mIGNoYW5nZXMgaXMgKHRha2VuIGZyb20gaHR0cHM6Ly93d3cuaG93dG9mb3JnZS5jbwptL2NvbW11bml0eS90aHJlYWRzL2VuYWJsZS1kaWZmaWUtaGVsbG1hbi1ncm91cDEtc2hhMS1vbi1qZXNzaWUuNzA3NjQvI3Bvc3QtMzMKNzAzMykKCiNMZWdhY3kgY2hhbmdlcwpLZXhBbGdvcml0aG1zIGRpZmZpZS1oZWxsbWFuLWdyb3VwMS1zaGExLGN1cnZlMjU1MTktc2hhMjU2QGxpYnNzaC5vcmcsZWNkaC1zaGEKMi1uaXN0cDI1NixlY2RoLXNoYTItbmlzdHAzODQsZWNkaC1zaGEyLW5pc3RwNTIxLGRpZmZpZS1oZWxsbWFuLWdyb3VwLWV4Y2hhbmdlCi1zaGEyNTYsZGlmZmllLWhlbGxtYW4tZ3JvdXAxNC1zaGExCkNpcGhlcnMgM2Rlcy1jYmMsYmxvd2Zpc2gtY2JjLGFlczEyOC1jYmMsYWVzMTI4LWN0cixhZXMyNTYtY3RyCgpIVEgKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNTSEQgTGVnYWN5IFByb2JsZW0gKEJ1Z2ZpeCwgMTIuIEF1ZyAyMDIyLCAxOTozODoyNik6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTY2MDMyNTM2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYwMzI1MzY1CkRlbiB6dXIgQXV0aGVudGlmaXppZXJ1bmcgYW0gU2VydmVyIGdlbnV0enRlbiBSU0EtS0V5IGdlZ2VuIGVpbmVuIGVkMjU1MTktS2V5Cnp1IHRhdXNjaGVuIGZ1bmt0aW9uaWVydCBhdWNoLiBVbmQgaXN0IGJlaSB3ZWl0ZW0gc2lubnZvbGxlciwgYWxzIGF1cyBndXRlbQpHcnVuZCBuaWNodCBtZWhyIHZlcndlbmRldGUgQWxnb3JpdGhtZW4gaGFlbmRpc2NoIHdpZWRlciBmcmVpenVnZWJlbi4KCkJ1Z2ZpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTU0hEIExlZ2FjeSBQcm9ibGVtIChBbWFyeWxsaXMsIDEyLiBBdWcgMjAyMiwgMTk6NDA6NDUpOgp+IyEgcm49QnVnZml4IHJ0PTE2NjAzMjU5MDYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2MDMyNTM2NQpFcyBzb2xsIGF1Y2ggRmFlbGxlIGdlYmVuLCB3byBzbyBldHdhcyBuaWNodCBzbyBvaG5lIHdlaXRlcmVzIGdlaHQuIEFiZXIgZXMKc3RpbW10OiBNYW4ga2FubiBhdWNoIGRlbiBLZXkgdGF1c2NoZW4uIEhhYiBpY2ggc2VsYnN0IGdlc3Rlcm4gYmVpIG1laW5lbQpMdWJ1bnR1LVVwZ3JhZGUgZ2VtYWNodC4gRGFua2UgZnVlciBkZW4gSGlud2Vpcy4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbnV4IFNTRCAoT3JrdG9ldGVyLCAyNi4gQXVnIDIwMjIsIDE0OjI0OjU1KToKSWNoIGhhYmUgZWluZW4gZXgtd2luZG93c2xhcHRvcCBiZWtvbW1lbiwgb2huZSBPUy4KCldlbm4gaWNoIHZlcnN1Y2hlLCBlaW4gTGludXggenUgaW5zdGFsbGllcmVuLCB3aXJkIGRpZSBTU0QgbmljaHQgZ2VmdW5kZW4uIEltCkJpb3Mgd2lyZCBzaWUgYWJlciBhbmdlemVpZ3QuCgpXaWUgYmVrb21tZSBpY2ggZGllIFNTRCB1bnRlciBMaW51eCBlaW5nZWJ1bmRlbj8KCkJpbiBmciBqZWRlbiBUaXAgZGFua2Jhci4KCkxHCk9ya3RvZXRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExpbnV4IFNTRCAoVmFyZGlvbiwgMjYuIEF1ZyAyMDIyLCAxNjozNTozMyk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTY2MTUxNjY5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYxNTE2Njk1Ck5vdGVib29rbW9kZWxsPyBCb290IHVlYmVyIEJJT1Mgb2RlciBVRUZJPyBXYXMgZnVlciBlaW5lIFNTRD8gV2llIGlzdCBzaWUKYW5nZWJ1bmRlbj8gTlZNZT8gU0FUQT8gV2VsY2hlIExpbnV4LURpc3RyaWJ1dGlvbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTGludXggU1NEIChPcmt0b2V0ZXIsIDI2LiBBdWcgMjAyMiwgMjM6MzI6NTUpOgp+IyEgcm49VmFyZGlvbiBydD0xNjYxNTI0NTMzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjE1MTY2OTUKRGVsbCBMYXRpdHVkZSwKWnUgZGVyIFNTRCBoYWJlIGljaCBnZWZ1bmRlbjogTS4yIFBDSWUgU1NELTAgIDM3UlMxMEVLVEZDVApCZWltIEJvb3RlbiBnZWhlIGljaCBtYWwgdm9uIFVlZmkgYXVzLgpBbHMgbmV1ZXMgU3lzdGVtIGlzdCBPcGVuc3VzZSBnZXBsYW50LgoKV2VkZXIgbWl0IGRlbiBJbnN0YWxsLVVTQiBub2NoIG1pdCBlaW5lbSBVU0ItbGl2ZXN5c3RlbSBzZWhlIGljaCBkaWUgU1NELgoKTEcKT3JrVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGludXggU1NEIChWYXJkaW9uLCAyNy4gQXVnIDIwMjIsIDEwOjM0OjU5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xNjYxNTQ5NTc1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjE1MTY2OTUKVGF1Y2h0IHNpZSBiZWkgImxzcGNpIiB1bmQvb2RlciBiZWkgImNhdCAvcHJvYy9zY3NpL3Njc2kiIGF1Zj8gRGEgc29sbHRlIGRhbm4KYXVjaCBkZXIgSGVyc3RlbGxlciBkZXIgU1NEIHN0ZWhlbi4gRmFsbHMgamEsIGhhc3QgZHUgbmViZW4gZGVyIE9wZW5zdXNlIG1hbApub2NoIGVpbmUgYW5kZXJlIERpc3RyaSB3aWUgei5CLiAiTWludCAyMSIgcHJvYmllcnQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMaW51eCBTU0QgKE9ya3RvZXRlciwgMjguIEF1ZyAyMDIyLCAxODoxMDo1OCk6Cn4jISBybj1WYXJkaW9uIHJ0PTE2NjE1ODkyOTkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2MTUxNjY5NQpsc3BjaSBsaWVmZXJ0CjAwOjAwLjAgSG9zdCBicmlkZ2U6IEludGVsIENvcnBvcmF0aW9uIFhlb24gRTMtMTIwMCB2Ni83dGggR2VuIENvcmUgUHJvY2Vzc29yCkhvc3QgQnJpZGdlL0RSQU0gUmVnaXN0ZXJzIChyZXYgMDIpCjAwOjAyLjAgVkdBIGNvbXBhdGlibGUgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gSEQgR3JhcGhpY3MgNjIwIChyZXYgMDIpCjAwOjA0LjAgU2lnbmFsIHByb2Nlc3NpbmcgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gWGVvbiBFMy0xMjAwCnY1L0UzLTE1MDAgdjUvNnRoIEdlbiBDb3JlIFByb2Nlc3NvciBUaGVybWFsIFN1YnN5c3RlbSAocmV2IDAyKQowMDoxNC4wIFVTQiBjb250cm9sbGVyOiBJbnRlbCBDb3Jwb3JhdGlvbiBTdW5yaXNlIFBvaW50LUxQIFVTQiAzLjAgeEhDSQpDb250cm9sbGVyIChyZXYgMjEpCjAwOjE0LjIgU2lnbmFsIHByb2Nlc3NpbmcgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gU3VucmlzZSBQb2ludC1MUApUaGVybWFsIHN1YnN5c3RlbSAocmV2IDIxKQowMDoxNS4wIFNpZ25hbCBwcm9jZXNzaW5nIGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIFN1bnJpc2UgUG9pbnQtTFAKU2VyaWFsIElPIEkyQyBDb250cm9sbGVyICMwIChyZXYgMjEpCjAwOjE1LjEgU2lnbmFsIHByb2Nlc3NpbmcgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gU3VucmlzZSBQb2ludC1MUApTZXJpYWwgSU8gSTJDIENvbnRyb2xsZXIgIzEgKHJldiAyMSkKMDA6MTYuMCBDb21tdW5pY2F0aW9uIGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIFN1bnJpc2UgUG9pbnQtTFAgQ1NNRSBIRUNJCiMxIChyZXYgMjEpCjAwOjE2LjMgU2VyaWFsIGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIFN1bnJpc2UgUG9pbnQtTFAgQWN0aXZlCk1hbmFnZW1lbnQgVGVjaG5vbG9neSAtIFNPTCAocmV2IDIxKQowMDoxNy4wIFJBSUQgYnVzIGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIDgyODAxIE1vYmlsZSBTQVRBIENvbnRyb2xsZXIKW1JBSUQgbW9kZV0gKHJldiAyMSkKMDA6MWMuMCBQQ0kgYnJpZGdlOiBJbnRlbCBDb3Jwb3JhdGlvbiBTdW5yaXNlIFBvaW50LUxQIFBDSSBFeHByZXNzIFJvb3QgUG9ydAojMSAocmV2IGYxKQowMDoxYy4yIFBDSSBicmlkZ2U6IEludGVsIENvcnBvcmF0aW9uIFN1bnJpc2UgUG9pbnQtTFAgUENJIEV4cHJlc3MgUm9vdCBQb3J0CiMzIChyZXYgZjEpCjAwOjFmLjAgSVNBIGJyaWRnZTogSW50ZWwgQ29ycG9yYXRpb24gU3VucmlzZSBQb2ludCBMUEMgQ29udHJvbGxlci9lU1BJCkNvbnRyb2xsZXIgKHJldiAyMSkKMDA6MWYuMiBNZW1vcnkgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gU3VucmlzZSBQb2ludC1MUCBQTUMgKHJldiAyMSkKMDA6MWYuMyBBdWRpbyBkZXZpY2U6IEludGVsIENvcnBvcmF0aW9uIFN1bnJpc2UgUG9pbnQtTFAgSEQgQXVkaW8gKHJldiAyMSkKMDA6MWYuNCBTTUJ1czogSW50ZWwgQ29ycG9yYXRpb24gU3VucmlzZSBQb2ludC1MUCBTTUJ1cyAocmV2IDIxKQowMDoxZi42IEV0aGVybmV0IGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIEV0aGVybmV0IENvbm5lY3Rpb24gKDQpIEkyMTktTE0KKHJldiAyMSkKMDE6MDAuMCBVbmFzc2lnbmVkIGNsYXNzIFtmZjAwXTogUmVhbHRlayBTZW1pY29uZHVjdG9yIENvLiwgTHRkLiBSVFM1MjVBIFBDSQpFeHByZXNzIENhcmQgUmVhZGVyIChyZXYgMDEpCjAyOjAwLjAgTmV0d29yayBjb250cm9sbGVyOiBJbnRlbCBDb3Jwb3JhdGlvbiBXaXJlbGVzcyA4MjY1IC8gODI3NSAocmV2IDc4KQoKbGludXhAbG9jYWxob3N0On4+IGNhdCAvcHJvYy9zY3NpL3Njc2kKQXR0YWNoZWQgZGV2aWNlczoKSG9zdDogc2NzaTEgQ2hhbm5lbDogMDAgSWQ6IDAwIEx1bjogMDAKICBWZW5kb3I6IFVTQiAyLjAgIE1vZGVsOiBGbGFzaCBEaXNrICAgICAgIFJldjogMTEwMAogIFR5cGU6ICAgRGlyZWN0LUFjY2VzcyAgICAgICAgICAgICAgICAgICAgQU5TSSAgU0NTSSByZXZpc2lvbjogMDAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMaW51eCBTU0QgKFZhcmRpb24sIDMwLiBBdWcgMjAyMiwgMTg6MTU6NDApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTE2NjE3MDMwNTggcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2MTUxNjY5NQpLYW5uIGVzIHNlaW4sIGRhc3MgTlZNZSBvZGVyIGRpZSBTU0QgaW0gQmlvcyBhdWYgaXJnZW5kZWluZSBXZWlzZSBkZWFrdGl2aWVydAppc3Q/IFNpZSBpc3QgaW4gZGVpbmVtICJsc3BjaSIgbmljaHQgZW50aGFsdGVuLCBkYW1pdCBpc3Qgc2llIGZ1ZXIgTGludXgKc2NobGljaHR3ZWcgbmljaHQgYXVmIGRlbSBQQ0llIEJ1cyBzaWNodGJhciwgYWxzbyBxdWFzaSB3aWUgbmljaHQgZWluZ2ViYXV0LgpJbSAibHNwY2kiIHNvbGx0ZSBlaW4gR2VyYWV0IG1pdCBncm9iZXIgQmV6ZWljaG51bmcgIk5vbi1Wb2xhdGlsZSBtZW1vcnkKY29udHJvbGxlciIgc3RlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTGludXggU1NEIChBbWFyeWxsaXMsIDMwLiBBdWcgMjAyMiwgMTk6NDA6NTcpOgp+IyEgcm49VmFyZGlvbiBydD0xNjYxODc2MTQwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjE1MTY2OTUKQWJlciBiZWkgL3Byb2Mvc2NzaS9zY3NpIGhhdCBtYW4gZG9jaCBlaW5lIFBsYXR0ZSBnZXNlaGVuPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTGludXggU1NEIChWYXJkaW9uLCAzMC4gQXVnIDIwMjIsIDE5OjUwOjQ5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xNjYxODgxMjU3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjE1MTY2OTUKRGFzIGlzdCBlaW4gVVNCLVN0aWNrIG9kZXIgZWluIFNELUthcnRlbmxlc2VyLiBFaW5lIE5WTWUgd2lyZCBuaWNodCBhbHMgIlVTQgoyLjAiIGFuZ2V6ZWlndC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IExpbnV4IFNTRCAoQW1hcnlsbGlzLCAzMC4gQXVnIDIwMjIsIDE5OjUyOjUxKToKfiMhIHJuPVZhcmRpb24gcnQ9MTY2MTg4MTg0OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYxNTE2Njk1CkFjaGphLiBJY2ggZG9vZi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IExpbnV4IFNTRCAoQ2hhZ2FsbCwgMzAuIEF1ZyAyMDIyLCAyMDo1MjozNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTY2MTg4MTk3MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYxNTE2Njk1Ck9iIGVyIG1hbCBkYXMgaGllciBhdXNwcm9iaWVyZW4gc29sbHRlPwoKaHR0cHM6Ly93d3cuZGVsbC5jb20vc3VwcG9ydC9rYmRvYy9kZS1kZS8wMDAxMzE5MDEvbG9hZGluZy11YnVudHUtb24tc3lzdGVtcy11CnNpbmctcGNpZS1tMi1kcml2ZXMKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTGludXggU1NEIChWYXJkaW9uLCAgMS4gU2VwIDIwMjIsIDE3OjM0OjI4KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTY2MTg4NTU1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYxNTE2Njk1CkRlciBUcmVpYmVyIGJyaW5ndCBhYmVyIG51ciB3YXMsIHdlbm4gZGFzIEdlcmFldCBmdWVyIGlobiBhdWYgZGVtIFBDSWUgQnVzCnNpY2h0YmFyIGlzdC4gRGEgImxzcGNpIiBuaWNodHMgemVpZ3QsIHNpZWh0IGRhcyB3b2hsIGVoZXIgc2NobGVjaHQgYXVzLgpBYmVyIFZlcnN1Y2ggc2NoYWRldCBuYXR1ZXJsaWNoIG5pY2h0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IExpbnV4IFNTRCAoT3JrdG9ldGVyLCAgMS4gU2VwIDIwMjIsIDIxOjMxOjUxKToKfiMhIHJuPVZhcmRpb24gcnQ9MTY2MjA0NjQ2OCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjYxNTE2Njk1CkRhbmtlIGV1Y2ghCgpVbXN0ZWxsZW4gYXVmIEFIQ0kgaGF0IGdlaG9sZmVuLgoKCjAzOjAwLjAgTm9uLVZvbGF0aWxlIG1lbW9yeSBjb250cm9sbGVyOiBUb3NoaWJhIENvcnBvcmF0aW9uIFhHNCBOVk1lIFNTRApDb250cm9sbGVyIChyZXYgMDEpCgoKCkpldHp0IHdpcmQgZGllIFNTRCBhdWNoIGVya2FubnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb3VuZGthcnRlbnByb2JsZW1lIERlbGwgTGF0aXR1ZGUgNTI4MCAoT3JrdG9ldGVyLCAyNS4gU2VwIDIwMjIsIDIzOjQ4OjMwKToKSWNoIGhhYmUgZWluZW4gRGVsbCBMYXRpdHVkZSA1MjgwLCBhdWYgZGVtIGlzdCBudXIgT3BlbnN1c2UgVHVtYmxld2VlZAppbnN0YWxsaWVydC4KQmlzIGpldHp0IGlzdCBlcyBtaXIgbm9jaCBuaWNodCBnZWx1bmdlbiwgZGllIFNvdW5ka2FydGUgenUgYWt0aXZpZXJlbi4KRXMgZ2lidCBzbyBlaW5pZ2UgVGhyZWFkcyBpbSBJbnRlcm5ldCwgYWJlciBrZWluZXIgdm9uIGRlbmVuIGhhdCBnZWhvbGZlbi4KSGlud2Vpc2Ugc2luZCB3aWxsa29tbWVuLgoKTEcKT3JrVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvdW5ka2FydGVucHJvYmxlbWUgRGVsbCBMYXRpdHVkZSA1MjgwIChSdW1hdGEsIDI2LiBTZXAgMjAyMiwgMDg6MjE6NDMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTE2NjQxNDI1MTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2NDE0MjUxMApLb21tdCBudXIga2VpbiBTb3VuZCBvZGVyIHNpZWh0IGRhcyBzeXN0ZW0gZGllIHNvdW5ka2FydGUgbmljaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvdW5ka2FydGVucHJvYmxlbWUgRGVsbCBMYXRpdHVkZSA1MjgwIChPcmt0b2V0ZXIsIDI2LiBTZXAgMjAyMiwgMTM6MzA6MjUpOgp+IyEgcm49UnVtYXRhIHJ0PTE2NjQxNzMzMDMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2NDE0MjUxMApZYXN0IHplaWd0IGFuOiBTdW5yaXNlIFBvaW50LUxQIEhEIEF1ZGlvIChuaWNodCBrb25maWd1cmllcnQpLiBXZW5uIGljaCBhdWYKYmVhcmJlaXRlbiBnZWhlIHVuZCBzY2huZWxsZXMgYXV0b21hdGlzY2hlcyBzZXR1cCBhdXN3QyRobGUsIGtvbW10OgpEYXMgS2VybmVsbW9kdWwgc25kLXNvYy1za2wgZkM8ciBkaWUgU291bmR1bnRlcnN0Qzx0enVuZyBrb25udGUKbmljaHQgZ2VsYWRlbiB3ZXJkZW4uIEVpbiBtQzZnbGljaGVyIEdydW5kIGRhZkM8ciBrQzZubmVuIGZhbHNjaGUKTW9kdWxwYXJhbWV0ZXIgc2Vpbiwgc293aWUgdW5nQzxsdGlnZSBJTy0gb2RlciBJUlEtUGFyYW1ldGVyLgoKKHNvcnJ5IGZ1ZXIgZGllIFVtbGF1dGUpLgoKCkxHCk9ya1QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU291bmRrYXJ0ZW5wcm9ibGVtZSBEZWxsIExhdGl0dWRlIDUyODAgKFJ1bWF0YSwgMjYuIFNlcCAyMDIyLCAxNTowNToyMik6Cn4jISBybj1SdW1hdGEgcnQ9MTY2NDE3MzMwMyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNjY0MTQyNTEwCkluIGRpZXNlbSBGYWxsIHd1ZXJkZSBpY2ggbWFsIGxpdmUgc3lzdGVtICghPSBzdXNlKSBhdXNwcm9iaWVyZW4sIG9iCm1hbiBkYSBkaWUgS2FydGUgYW5zIGxhdWZlbiBiZWtvbW10LgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvdW5ka2FydGVucHJvYmxlbWUgRGVsbCBMYXRpdHVkZSA1MjgwIChDaGFnYWxsLCAyNi4gU2VwIDIwMjIsIDIxOjA1OjQyKToKfiMhIHJuPVJ1bWF0YSBydD0xNjY0MTk3NTIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjQxNDI1MTAKR2lidHMgZWluZSBGZWhsZXJtZWxkdW5nLCB3ZW5uIGR1IGRhcyBlbnRzcHJlY2hlbmRlIEtlcm5lbG1vZHVsIG1pdHRlbHMKbW9kcHJvYmUgbWFudWVsbCBsYWRlbiB3aWxsc3Q/CgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU291bmRrYXJ0ZW5wcm9ibGVtZSBEZWxsIExhdGl0dWRlIDUyODAgKFJob2Fra2EsIDI4LiBTZXAgMjAyMiwgMTY6MzE6MTYpOgp+IyEgcm49Q2hhZ2FsbCBydD0xNjY0MjE5MTQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NjQxNDI1MTAKSGV5LApkYXMga2FubnN0IGR1IG1hbCBwcm9iaWVyZW46CkRpZXNlIERhdGVpIGVkaXRpZXJlbiwgYW5sZWdlbjogL2V0Yy9tb2Rwcm9iZS5kL2ludGVsZHNwLmNvbmYgbWl0Cm9wdGlvbnMgc25kLWludGVsLWRzcGNmZyBkc3BfZHJpdmVyPTEKCmRhbm4gZGFzIHN5c3RlbSBuZXVzdGFydGVuOiBiZXNjaHJpZWJlbiBpc3QgZGFzIGhpZXIsIGdnZi4gaGlsZnQgZXMgYXVjaCBiZWkKZGlyOgpodHRwczovL2Jicy5hcmNobGludXgub3JnL3ZpZXd0b3BpYy5waHA/aWQ9MjY1MjExCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb3J0d2VpdGVybGVpdHVuZyBGcml0emJveCAoQmFtYnVsa28sIDMxLiBPa3QgMjAyMiwgMTY6MTQ6MDApOgpJY2ggaGFiZSBmb2xnZW5kZXMgUHJvYmxlbTogSWNoIGhhYmUgenVoYXVzZW4gZWluIHJhc3BiZXJyeSBwaSwgdW5kIHZvbiBtZWluZXIKRnJpdHpib3ggZWluZSBQb3J0d2VpdGVybGVpdHVuZywgZGllIGRlbiBwb3J0IDE5MDIyIGF1ZiBkZW4gUG9ydCAyMiBkZXMgcGkKdW1sZWl0ZXQsIGRhbWl0IGljaCBtaWNoIHZvbiBhdXNzZXJoYWIgcGVyIHNzaCBlaW5sb2dnZW4ga2Fubi4gRGFzIGhhdCBhdWNoCmltbWVyIGd1dCBmdW5rdGlvbmllcnQuIEFsbGVyZGluZ3MgZ2FiIGVzIHZvciBlaW4gcGFhciBUYWdlbiBlaW5lbgpLdXJ6c2NobHVzcywgdW5kIHNlaXRkZW0ga2xhcHB0IGRpZSBQb3J0d2VpdGVybGVpdHVuZyBuaWNodCBtZWhyLiBXZW5uIGljaCBiZWkKZGVyIEZyaXR6Ym94IFBvcnQgMjIgYXVmIFBvcnQgMjIgYW0gcGkgdW1sZWl0ZSBrYW5uIGljaCBtaWNoIHZlcmJpbmRlbi4gQWJlcgpiZWkgYWxsZW4gYW5kZXJlbiBQb3J0cyBrbGFwcHQgZGFzIGF1ZiBlaW5tYWwgbmljaHQgbWVoci4KCkthbm4gc2ljaCBpcmdlbmRqZW1hbmQgZXJrbGFlcmVuLCB3YXJ1bSBkYXMgc28gaXN0PyBWaWVsbGVpY2h0IGlzdCBkZXIKemVpdGxpY2hlIFp1c2FtbWVuaGFuZyBtaXQgZGVtIFN0cm9tYXVzZmFsbCBudXIgWnVmYWxsLiBBbGxlcmRpbmdzIGhhdCBlcyBhbQpNb3JnZW4gdm9yIGRlbSBTdHJvbWF1c2ZhbGwgbm9jaCBnZWtsYXBwdC4gVW5kIGFscyBpY2ggbWljaCBuYWNoIGRlbQpTdHJvbWF1c2ZhbGwgd2llZGVyIHZlcmJpbmRlbiB3b2xsdGUsIGhhdCBlcyBuaWNodCBtZWhyIGdla2xhcHB0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvcnR3ZWl0ZXJsZWl0dW5nIEZyaXR6Ym94IChSaG9ha2thLCAxMi4gTm92IDIwMjIsIDEyOjQ0OjQxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTE2NjcyMjkyNDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2NzIyOTI0MApIZXksIHB1aCBnZ2YuIGlzdCBkaWUgZmlyZXdhbGwgYXVmIGRlciBmcml0emJveCBha3RpdiBhdWYgZGVtIHdhbiB1bmQgZnVlcgpzc2goMjIpIGZyZWlnZWdlYmVuLiBJY2ggaGFiIGxhZW5nZXIgbmljaHRzIG1laHIgbWl0IGVpbmVyIEZyaXR6Ym94IGdlbWFjaHQKdW5kIHdlaXNzIG5pY2h0LCBvYiBkaWUgYmVpbSBQb3J0Zm9yd2FyZGluZyBhdXRvbWF0aXNjaCBhdWNoIGZpcmV3YWxsIFJlZ2VsbgphbmdlbGVndCBoYXQuIEV2ZW50dWVsbCBoYXQgZGVyIFJQaSBzaWNoIGF1Y2ggZWluZSBuZXVlIElQIHVlYmVyIGRoY3AgZ2V6b2dlbiwKd2VpbCBhbGxlcyB3ZWcgd2FyIHVuZCBkaWUgYWx0ZSByZWdlbCBpc3Qgbm9jaCBhdWYgZWluZSBhbHRlIGlwIGVpbmdlc3RlbGx0LgoKVW5hYmhhZW5naWcgZGF2b24gd2FlcmUgZXMga29taXNjaCwgd2VubiAyMiBmdW5rdGlvbmllcnQgdW5kIDE5MDIyIG5pY2h0LgpGYWxscyBkaWUgdm9tIFByb3ZpZGVyIGdlc3RlbGx0IHdhciwga2FubiBnZ2YuIGVpbiBkdXJjaHN0YXJ0ZW4gZGVyIEJveCBtaXQKZGVtIFByb3ZpZGVyIGVpbiByZXByb3Zpc2lvbmluZyBnZW1hY2h0IHdvcmRlbiBzZWluLiBNZWludGUgbWVpbiBhbHRlcgpQcm92aWRlciBoYXR0ZSBkYW1hbHMgaW1tZXIgVXBkYXRlcy9Db25maWcgYmVpbSBEU0wgYXVmYmF1IGFuIGRpZSBGcml0emJveAphdXNnZWxpZWZlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBvcnR3ZWl0ZXJsZWl0dW5nIEZyaXR6Ym94IChCYW1idWxrbywgMTIuIE5vdiAyMDIyLCAxOTozMToxOCk6Cn4jISBybj1SaG9ha2thIHJ0PTE2NjgyNTM0ODEgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY2NzIyOTI0MApEYW5rZSwgaWNoIHNjaGF1IG1hbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1ZGlvIGF1ZiBtZWhyZXJlbiBHZXJhZXRlbiBuYWNoZWluYW5kZXIgaG9lcmVuIChaYXBob2IsIDE0LiBEZXogMjAyMiwgMjM6MDk6NTgpOgpIYWxsbyBMZXV0ZSwKCkljaCBzdWNoZSBlaW5lIE1vZWdsaWNoa2VpdCwgbWVpbmUgbXAzIHNvIGF1ZiBtZWhyZXJlbiBEZXZpY2VzIGFienVzcGllbGVuLApkYXNzIGljaCBtaXR0ZW5kcmluIHN0b3BwZW4gdW5kIGFtIGFuZGVyZW4gR2VyYWV0IHNwYWV0ZXIgZ2VuYXUgYW4gZGVyCmdsZWljaGVuIFN0ZWxsZSB3ZWl0ZXIgaG9lcmVuIGthbm4uIFdlciBrZW5udCBkYWZ1ZXIgcGFzc2VuZGUgU3VjaGJlZ3JpZmZlCm9kZXIgZ2FyIExvZXN1bmdlbj8gU3VjaGUgc2VpdCB1ZWJlciBlaW5lciBTdHVuZGUgZXJmb2xnbG9zIGhlcnVtLgoKR3J1ZXNzZSwKWmFwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1ZGlvIGF1ZiBtZWhyZXJlbiBHZXJhZXRlbiBuYWNoZWluYW5kZXIgaG9lcmVuIChaZXNzdHJhLCAxNC4gRGV6IDIwMjIsIDIzOjE3OjA5KToKfiMhIHJuPVphcGhvYiBydD0xNjcxMDU1Nzk4IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2NzEwNTU3OTgKaXJnZW5kd2VsY2hlIGNsb3VkLWJhc2llcnRlbi8tZ2VzeW5jdGVuIFBvZGNhdGNoZXIgd3VlcmRlIGljaCBhbnNjaGF1ZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpncmVwIHp1bSB0ZXh0ZSBoZXJ2b3JoZWJlbiAoUnVtYXRhLCAyMS4gRGV6IDIwMjIsIDIwOjQ5OjAwKToKd2VubiBlaW4gbW9kZXJuZXMgZ3JlcCBpbiBlaW4gdGVybWluYWwgYXVzZ2lidCwga2FubiBlcyBkaWUgdHJlZmZlcgpoZXJ2b3JoZWJlbi4gR2lidCBlcyBlaWdlbnRsaWNoIGVpbiBhZWhubGljaGVzIHRvb2wsIGRhc3MgbWVocmVyZQpUcmVmZmVyIGluIHVudGVyc2NoaWVkbGljaGVuIEZhcmJlbiBoZXJ2b3JoZWJlbiBrYW5uICh1bmQgZGllIHplaWxlbgpvaG5lIHRyZWZmZXIgZGFubiAxOjEgZHVyY2hyZWljaHQpLiBLYW5uIG1hbiByZWxhdGl2IHNjaG5lbGwgc2VsYmVyCnNjaHJlaWJlbiwgc2Nob24ga2xhci4gQWJlciBpY2ggd2lsbCBkaWVzZSB3b2NoZSBuaWNodCBlaW4gendlaXRlcwptYWwgZWluIFJhZCBuZXUgZXJmaW5kZW4gOy0pClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZ3JlcCB6dW0gdGV4dGUgaGVydm9yaGViZW4gKENoYWdhbGwsIDIyLiBEZXogMjAyMiwgMDk6MjM6MTkpOgp+IyEgcm49UnVtYXRhIHJ0PTE2NzE2NTIxNDAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY3MTY1MjE0MApodHRwczovL3VuaXguc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzEwNDM1MC9tdWx0aWNvbG9yZWQtZ3JlcCBpc3QgZGFzCmVpbnppZ2Ugd2FzIGljaCBmaW5kZS4gCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBLSUxMISAoUnVtYXRhLCAyNy4gTWFyIDIwMjMsIDA4OjU4OjQyKToKRGFzcyBkYXMgc2hlbGwgYnVpbHRpbiBraWxsIGRpZSBzaWdzcGVjIGFuZGVycyB3aWxsIGFscyBkYXMgIm5vcm1hbGUiCktvbW1hbmRvLCBpc3QgZGFzIGV0d2FzLCB3YXMgbWFuIGluIGRlbiBMaW51eC1aZXJ0aWZpemllcmt1cnNlbiBsZXJudD8KCkljaCBmcmFnZSBmdWVyIGVpbmVuIE1vbnRhZ3NnbmFyZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIEtJTEwhIChSaG9ha2thLCAyOS4gTWFyIDIwMjMsIDIyOjM0OjA0KToKfiMhIHJuPVJ1bWF0YSBydD0xNjc5OTAwMzIyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2Nzk5MDAzMjIKcHVoIGljaCBiaW4gbmljaHQgc2ljaGVyIHdhcyBkdSBnZW5hdSBtZWluc3QsIG9kZXIgd2FzIHVudGVyc2NoaWVkbGljaCBpc3QsCmFiZXIgZ2dmLiBpc3QgZGFzIG5lbiBhbGlhcyBhdWYgZWluIGFsdGVybmF0aXYgdG9vbCB3aWUgcGtpbGwsIG9kZXIgZ2xlaWNoZW4uCmd1Y2sgZG9jaCBtYWwgb2IgbmVuIGFsaWFzIGdlc2V0enQgaXN0LiA6KQoKZ2dmIHplaWcgYXVjaCBpcmdlbmR3YXMgd2llICJraWxsIC0tdmVyc2lvbiIgYW4gb2IgZXMgc2ljaCB1bSBkYXMgIm5vcm1hbGUiCmtpbGwgaGFuZGVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyYXRpcyBTaGFyZXBvaW50L0NvdWRsb2VzdW5nPyAoQmVuZGVpZ2lkLCAxMy4gQXByIDIwMjMsIDE1OjM4OjE2KToKSGkgenVzYW1tZW4sCmljaCB3dWVyZGUgZ2VybiBlaW5lbiBDbG91ZGRpZW5zdCBudXR6ZW4sIHVtIGVpbmVuIFNoYXJlcG9pbnQgZnVlciB2aWVyClBlcnNvbmVuIGF1Znp1c2V0emVuLiBEYSBnaWJ0IGVzIGphIHZlcnNjaGllZGVuZSBBbmJpZXRlci4gV2VsY2hlbiBoYWx0ZXQgaWhyCmZ1ZXIgZ2VlaWduZXQvYW0gYmVzdGVuPwpBbmZvcmRlcnVuZ2VuIHNpbmQgbWluaW1hbDogQWxsZSB2aWVyIExldXRlIHNvbGxlbiBadWdyaWZmIGhhYmVuLApEYXRlaWVuL09yZG5lciBhbmxlZ2VuIHZlcnNjaGllYmVuIGtvZW5uZW4uIFNwZWljaGVyYmVkYXJmIGlzdCBhdWNoIG1pbm1hbCwgZXMKZ2VodCBpbSB3ZXNlbnRsaWNoZW4gdW0gZWluIFJ1ZGVsIFBERiB1bmQgRE9DLURhdGVpZW4sIGtlaW5lIEZpbG1lIHVuZCBudXIgYWIKdW5kIGFuIEZvdG9zICh2ZXJtdXRsaWNoIGlzdCBlaW4gR0Igc2Nob24gc2F0dCB1bmQgZ2VudWcpLgpJcmdlbmRlaW5lIEVtcGZlaGx1bmcgaXJnZW5kd2VyPwpKZSB3ZW5pZ2VyIEFubWVsZHVuZ3NkYXRlbiBlcmZvcmRlcmxpY2ggc2luZCwgZGVzdG8gYmVzc2VyLiBWZXJzY2hsdWVzc2VsdW5nCmF1dG9tYXRpc2NoIHdhZXJlIGF1Y2ggbmV0dCwgYWJlciBrZWluIE11c3MuClZpZWxlbiBEYW5rLApCZW5kZWlnaWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmF0aXMgU2hhcmVwb2ludC9Db3VkbG9lc3VuZz8gKFplc3N0cmEsIDE0LiBBcHIgMjAyMywgMTA6MjI6MDYpOgp+IyEgcm49QmVuZGVpZ2lkIHJ0PTE2ODEzOTMwOTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY4MTM5MzA5NgpXaWxsc3QgRHUgRGljaCBhdWYgU2hhcmVwb2ludCAoZGFzIE1pY3Jvc29mdC1Qcm9kdWt0KSBmZXN0bGVnZW4/Cldlbm4gbmljaHQsIGdpYnRzIHZlcnNjaGllZGVuZSBPcHRpb25lbi4gTmUgZWNodGUgRW1wZmVobHVuZyBrYW5uIGljaCBEaXIKbmljaHQgbmVubmVuLCB3ZWlsIG1pciBkZXIgVmVyZ2xlaWNoIGZlaGx0IChiZW51dHogZGFzIHByaXZhdCBuaWNodCksIGFiZXIKei5CLiBzb3dhcwpodHRwczovL21haWxib3gub3JnL2VuL3NlcnZpY2VzI2Nsb3VkLXN0b3JhZ2UKQW5zb25zdGVuIGthbm4gbWFuIHNlbGJlciBlaW4gb3duY2xvdWQgKG8uYWUuKSBob3N0ZW4sIHdlbm4gZGllIGVpZ2VuZQpOZXR6YW5iaW5kdW5nIGVpbmVtIGd1dCBnZW51ZyBpc3QgdW5kIG1hbiB6LkIuIG9obmVoaW4gZWluIE5BUyB6dWhhdXNlIHN0ZWhlbgpoYXQuIERhcyBpc3QgZGFzIGd1ZW5zdGlnc3RlLCBhYmVyIG1hbiBoYXQgZGFubiBzZWxiZXIgZGVuIEFlcmdlci4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JhdGlzIFNoYXJlcG9pbnQvQ291ZGxvZXN1bmc/IChab29rLCAxNC4gQXByIDIwMjMsIDExOjQ1OjMyKToKfiMhIHJuPUJlbmRlaWdpZCBydD0xNjgxMzkzMDk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2ODEzOTMwOTYKV2VubiBJaHIgTWljcm9zb2Z0IDM2NSBoYWJ0LCBpc3QgZG9jaCBkYSBuZSBTaGFyZXBvaW50LUdlc2NoaWNodGUKc2Nob24gbWl0IGRyaW4sIG9kZXI/Cgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyYXRpcyBTaGFyZXBvaW50L0NvdWRsb2VzdW5nPyAoWmVzc3RyYSwgMTQuIEFwciAyMDIzLCAxNzozNTo1MSk6Cn4jISBybj1ab29rIHJ0PTE2ODE0NjU1MzIgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY4MTM5MzA5NgpqYSwgZGFzIGlzdCBkYSB3dmVybXV0bGljaCBkcmluLCBrbm4gbWljaCBhYmVyIG1pdCBkaWVzZW4gTGl6ZW56ZW4gbmljaHQgYXVzLgpTaGFyZXBvaW50LUluc3RhbnplbiBoYWIgaWNoIGJlcnVmbGljaCB2ZXJ3ZW5kZW4gbXVlc3NlbiwgbW9lZ2VuIHR1ZSBpY2ggZXMKbmljaHQgYmVzb25kZXJzLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR3JhdGlzIFNoYXJlcG9pbnQvQ291ZGxvZXN1bmc/IChEZWFkZHksIDE3LiBBcHIgMjAyMywgMDk6MTg6NDYpOgp+IyEgcm49WmVzc3RyYSBydD0xNjgxNDg2NTUxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE2ODEzOTMwOTYKSWNoIGJpbiBqYSBlaWdlbnRsaWNoIFRlYW0gb3duQ2xvdWQgKHVuZCBTT1dBUyBWT04gQUxMSUFOWiAiRU5EIFNIQVJFUE9JTlQiKSwKYWJlciBOZXh0Y2xvdWQgaGF0IGF1Y2ggZWluZSBzY2hvZW5lIExpc3RlIHZvbiBIb3N0aW5nYW5iaWV0ZXJuOgpodHRwczovL2dpdGh1Yi5jb20vbmV4dGNsb3VkL3Byb3ZpZGVycyNwcm92aWRlcnMKCkljaCBrYW5uIGRhIGtlaW5lIEVtcGZlaGx1bmcgZ2ViZW4sIGFiZXIgenVtaW5kZXN0IGRhcyBBbmdlYm90IHZvbiBob3N0aW5nLmRlCnNpZWh0IElNSE8gZmFpciBpbSBQcmljaW5nIGF1cyB1bmQgZGllIFdlYnNlaXRlIHdpcmt0IGFiZ2VzZWhlbiB2b20KVFVFVi1TaWVnZWwgZ2FueiBvay4KCldlbm4gZWluZXIgdm9uIEV1Y2ggYW4gZWluZXIgSG9jaHNjaHVsZSBpbiBOUlcgYmVzY2hhZWZ0aWd0IGlzdCwgZ2lidCBlcyBkYQpkYW5uIG5vY2ggZGllc2VuIGdydWVuZW4gRWxlZmFudGVuLi4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3JhdGlzIFNoYXJlcG9pbnQvQ291ZGxvZXN1bmc/IChEZWFkZHksIDE3LiBBcHIgMjAyMywgMDk6MTk6NTQpOgp+IyEgcm49RGVhZGR5IHJ0PTE2ODE3MTU5MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY4MTM5MzA5NgpBY2hqYSwgZGEgRHUgbmFjaCBhdWYgbGF1IGdlZnJhZ3QgaGFzdDogSG9zdGluZy5kZSBoYXQgbmUgRnJlZSBUaWVyIHVuZApnZW5lcmVsbCBzb2xsdGUgZXMgbW9lZ2xpY2ggc2VpbiBhdWNoIERhdGVuIG1pdCBhbmRlcmVuIExldXRlbiB6dSB0ZWlsZW4sIGQuaC4Kd2VubiBqZWRlciBlaW5lbiBhdWYtbGF1LUFjY291bnQgaGF0LCBnZWh0IGRhcyB2bXRsLiB1ZWJlciBGcmVpZ2FiZW4gZ2FueiBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmF0aXMgU2hhcmVwb2ludC9Db3VkbG9lc3VuZz8gKFplc3N0cmEsIDE3LiBBcHIgMjAyMywgMTA6NDU6NDQpOgp+IyEgcm49RGVhZGR5IHJ0PTE2ODE3MTU5MjYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTY4MTM5MzA5NgpEZW4ga2xlaW5lbiBFbGVmYW50ZW4gbWFnIGljaCBhdWNoLiA6LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhbnNvbXdhcmUtUHJvb2YgQmFja3VwPyAoUnVtYXRhLCAxNS4gQXByIDIwMjQsIDA5OjQxOjQ4KToKSWNoIGdydWVibGUgZ2VyYWRlIGRhcnVlYmVyIG5hY2gsIHdpZSBtYW4gZWluIEJhY2t1cCAobmFjaCBtb2VnbGljaGtlaXQKZWluIElua3JlbWVudGVsbGVzKSBtYWNoZW4ga2Fubiwgb2huZSBkYXNzIGRpZSBSYW5zb213YXJlIGRhcyBCYWNrdXAKemVyc2NoaWVzc2VuIGthbm4uIEluIGRlbSBNb21lbnQsIHdvIGljaCBhdWYgZGllIGV4dHJlbmUgUGxhdHRlIG9kZXIKZGVuIENsb3Vkc3RvcmFnZSB6dWdyZWlmZSwga2FubiBlcyBkaWUgYm9lc2UgUmFuc29tZXdhcmUgamEgYXVjaCB1bmQKdmVyZ2FuZ2VuZSBCYWNrdXBzIGthcHV0dG1hY2hlbi4gVW5kIGlua3JlbWVudGVsbGUgQmFja3VwcyBoYWJlbgplcyBudW4gbWFsIGluIHNpY2gsIGRhc3Mgc2llIGF1ZiBhbHRlIEJhY2t1cHMgenVncmVpZmVuIG11ZXNzZW4uCgpXaWUgaGFsdGV0IGlociBkYXMgc28/CgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJhbnNvbXdhcmUtUHJvb2YgQmFja3VwPyAoWm9vaywgMTUuIEFwciAyMDI0LCAxMDo0NjowNSk6Cn4jISBybj1SdW1hdGEgcnQ9MTcxMzE2NjkwOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNzEzMTY2OTA4Ck1laW5lIEFubmFobWUgKGthbm4gbmF0dWVybGljaCBmYWxzY2ggc2Vpbik6IFJhbnNvbXdhcmUgd2lyZAphbSBlaGVzdGVuIHZlcnN1Y2hlbiwgZWluZSB1ZWJlciBkYXMgRGF0ZWlzeXN0ZW0gdmVyZnVlZ2JhcmUgClBsYXR0ZSAvIEZpbGUgU2hhcmUgYmVzY2hyZWliZW4uIAoKTWVpbmUgTG9lc3VuZyB3YXIgZGFubjogRGFzIEJhY2t1cCBlcmZvbGd0IG5pY2h0IGF1ZiBlaW4gRmlsZSBTaGFyZSwKc29uZGVybiBtaXQgaXJnZW5kZWluZW0gYW5kZXJlbiBOZXR6d2Vya3Byb3Rva29sbCBhdWYgZWluZW4gCmVudGZlcm50ZW4gUmVjaG5lciAoekIgbWl0IFNTSCkgdW5kIGRlciBoYXQgYXVzc2VyIGRpZXNlciBWZXJiaW5kdW5nCmF1Y2gga2VpbmUgVmVyYmluZHVuZyB6dW0gUmVzdCBkZXIgSVQuIAoKRnVua3Rpb25pZXJ0IG5hdHVlcmxpY2ggbmljaHQsIHdlbm4gZGllIFJhbnNvbWV3YXJlIG1laW5lIApCYWNrdXAtU29mdHdhcmUga2VubnQgdW5kIGRpZSBiZW51dHp0LCB1bSBsYXV0ZXIgdmVyc2NobHVlc3NlbHRlCkJhY2t1cHMgenUgZXJ6ZXVnZW4uCgpFaW56aWdlIHdlaXRlcmUgTG9lc3VuZywgZGllIG1pciBlaW5mYWVsbHQsIHNpbmQgdW52ZXJhZW5kZXJsaWNoZQpCYWNrdXBzLiBEYW1pdCBrZW5uZSBpY2ggbWljaCBhdXNzZXIgdWViZXIgU2NocmVpYmUtRWlubWFsLURhdGVudHJhZWdlcgpuaWNodCBzb25kZXJsaWNoIGd1dCBhdXMuCgpEZXIgQlNJLUJhdXN0ZWluIENPTi4zIGdpYnQgZWluZW0gZGEgYXVjaCBuaWNodCBzbyBzb25kZXJsaWNoIHZpZWxlClRpcHMsIGZpbmRlIGljaDoKCmh0dHBzOi8vd3d3LmJzaS5idW5kLmRlL1NoYXJlZERvY3MvRG93bmxvYWRzL0RFL0JTSS9HcnVuZHNjaHV0ei9JVC1HUy1Lb21wZW5kaQp1bV9FaW56ZWxfUERGc18yMDIzLzAzX0NPTl9Lb256ZXB0ZV91bmRfVm9yZ2VoZW5zd2Vpc2VuL0NPTl8zX0RhdGVuc2ljaGVydW5nc2sKb256ZXB0X0VkaXRpb25fMjAyMy5wZGY/X19ibG9iPXB1YmxpY2F0aW9uRmlsZSZ2PTMjZG93bmxvYWQ9MQoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSYW5zb213YXJlLVByb29mIEJhY2t1cD8gKEJ1Z2ZpeCwgMTUuIEFwciAyMDI0LCAxMTowMDoyMCk6Cn4jISBybj1ab29rIHJ0PTE3MTMxNzA3NjUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9MTcxMzE2NjkwOApFcyBpc3QgZW1wZmVobGVuc3dlcnQgZGllIEJhY2t1cHNvZnR3YXJlIHNlcnZlcnNlaXRpZyBzbyB6dSBrb25maWd1cmllcmVuLApkYXNzIGRlciBCYWNrdXAtVXNlciBudXIgRGF0ZW4gaGluenVmdWVnZW4sIG5pY2h0IGxvZXNjaGVuIG9kZXIgdmVyYWVuZGVybgpkYXJmLiBEYW1pdCBkYXMgd2lya2xpY2ggc2ljaGVyIGlzdCwgc29sbHRlIG1hbiBzaWNoIGRhbm4gbmF0dWVybGljaCBhdWYgZGVtCkJhY2t1cC1TZXJ2ZXIgbmljaHQgcmVtb3RlIG1pdCBlaW5lbSBVc2VyIGVpbmxvZ2dlbiwgZGVyIGRpZSBNb2VnbGljaGtlaXQgaGF0CmRhcyBkb2NoIHp1IHR1biwgd2VpbCBkaWUgUmFuc29td2FyZSBqYSBhdWNoIGRpZXNlIExvZ2luLURhdGVuIG1pdHNjaG5laWRlbgprb2VubnRlLgoKQW5zb25zdGVuIGthbm4gbWFuIG5hdHVlcmxpY2ggbm9jaCBmdWVyIGRhcyBzb3dpZXNvIHNpbm52b2xsZXJ3ZWlzZQphbnp1ZmVydGlnZW5kZSBvZmZsaW5lLUJhY2t1cCBtZWhyZXJlIERhdGVudHJhZWdlciB2ZXJ3ZW5kZW4gdW5kIGRpZXNlCnJvdGllcmVuLCBkYXMgZXJob2VodCBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCBkYXNzIHp1bWluZGVzdCBlaW4gZXR3YXMKYWVsdGVyZXMgQmFja3VwIHVudmVyc2NobHVlc3NlbHQgYmxlaWJ0LgoKQnVnZml4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYW5zb213YXJlLVByb29mIEJhY2t1cD8gKFJ1bWF0YSwgMTYuIEFwciAyMDI0LCAxODowNDo1MSk6Cn4jISBybj1CdWdmaXggcnQ9MTcxMzE3MTYyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNzEzMTY2OTA4CkBCdWdmaXg6IGdpYnQgZXMgZGVubiBiYWNrdXAgc29mdHdhcmUsIGRpZSBzb3dhcyBrYW5uPwpAWm9vazogQXVzc2VyIGRpZSBrZW5udCBrYXVtIGplbWFuZCBtZWluZSBCYWNrdXBzb2Z0d2FyZSBpbnNvZmVybiBpc3QgZGEgZWluZQpyZW1vdGUtdm9sdGUgZWluZSBrbHVnZSBpZGVlLiAKClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSYW5zb213YXJlLVByb29mIEJhY2t1cD8gKEJ1Z2ZpeCwgMTYuIEFwciAyMDI0LCAyMDowNToyNSk6Cn4jISBybj1SdW1hdGEgcnQ9MTcxMzI4MzQ5MSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNzEzMTY2OTA4CkpvLiBJY2ggYmVudXR6ZSBCb3JnQmFja3VwICh3d3cuYm9yZ2JhY2t1cC5vcmcpLCBlaW4gRm9yayB2b24gQXR0aWMsIGRhcwp1bnRlcnN0dWV0enQgZGFzLiBJc3QgYXVjaCBzb25zdCB6aWVtbGljaCBzY2hpY2ssIHVudGVyc3R1ZXR6dCByZW1vdGUgQmFja3Vwcwp2aWEgc3NoLCBuYXR1ZXJsaWNoIGlua3JlbWVudGVsbGUgQmFja3VwcyB1bmQgVmVyc2NobHVlc3NlbHVuZyB1bmQgZGllCmpld2VpbGlnZW4gQmFja3VwLVN0YWVuZGUgbGFzc2VuIHNpY2ggZWluZmFjaCBhbHMgTGF1ZndlcmsgZWluaGFlbmdlbi4gQWxzbwpiaW4gZGEgYmlzaGVyIGtvbXBsZXR0IHp1ZnJpZWRlbiBtaXQuCgpCdWdmaXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJhbnNvbXdhcmUtUHJvb2YgQmFja3VwPyAoQW50aGVhLCAxOC4gQXByIDIwMjQsIDE1OjEzOjQ4KToKfiMhIHJuPUJ1Z2ZpeCBydD0xNzEzMjkwNzI1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE3MTMxNjY5MDgKSWNoIGdlaGUgZGVyemVpdCAyIHBhcmFsbGVsZSBTYWNoZW4uIFp1bSBlaW5lbiBlaW5pZ2VybWFzc2VuIHJlZ2VsbWFlc3NpZ2UKbWFudWVsbGUgVm9sbC1CYWNrdXBzLCBiZWkgZGVuZW4gaW1tZXIgZWluIGFlbHRlcmVyIFN0YW5kIHVuZCBlaW4gYWt0dWVsbGVyClN0YW5kIHBybyBSZWNobmVyIGdlc3BlaWNoZXJ0IHdpcmQsIHVuZCBkYXMgTWVkaXVtIGlzdCBhdXNzZXIgYmVpbSBCYWNrdXAKbmljaHQgYW5nZXNjaGxvc3Nlbi4gVW5kIGZ1ZXIgZGllIERhdGVuIG51dHplIGljaCBkYXMgU3lub2xvZ3ktQmFja3VwLVRvb2wsCmRhcyBhdWYgZGVtIE5BUyBlaW5lbiBlaWdlbmVuIE51dHplciBoYXQsIGF1ZiBkYXMgbWVpbiByZWd1bGFlcmVzIExvZ2luIGdhcgprZWluZW4gWnVncmlmZiBoYXQuIERhZHVyY2gsIGRhc3MgZGFzIGF1Y2ggZHJhdWYga29uZmlndXJpZXJ0IGlzdCwgZGllIGxldHp0ZW4KNSBWZXJzaW9uZW4gZWluZXIgRGF0ZWkgYXVmenVoZWJlbiwgbXVzcyBpY2ggaW0gRmFsbCBkZXMgRmFsbGVzIGhhbHQgbmljaHQgZGllCm5ldWVzdGUgVmVyc2lvbiB6ZXJzdG9lcnRlIFZlcnNpb24gbmVobWVuLCBzb25kZXJuIGVpbmUgZXR3YXMgYWVsdGVyZS4gRnVlcgpkZW4gSGVpbWdlYnJhdWNoIGhpbnJlaWNoZW5kIHNpY2hlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFJhbnNvbXdhcmUtUHJvb2YgQmFja3VwPyAoWmVzc3RyYSwgMjAuIEFwciAyMDI0LCAxMDo1ODozOSk6Cn4jISBybj1BbnRoZWEgcnQ9MTcxMzQ0NjAyOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNzEzMTY2OTA4CmphLCBkaWVzZSBMb2VzdW5nLCBkYXNzIG1laW4gVXNlciBuaWNodCBkcmF1ZiB6dWdyZWlmZW4gZGFyZiwgaGFiIGljaCBiZWkKVGltZU1hY2hpbmUtU3lub2xvZ3ktQ29tYm8gYXVjaC4gQmVzc2VyIGFscyBuaXguLi4KRHUga29lbm50ZXN0IERpciBhdWNoIHJlc3RpYyBhbnNjaGF1ZW4gLSBkYXMgaGF0IGF1Y2ggZGl2LiBiYWNrZW5kcyB1bmQgZXZ0bC4Ka2FubiBtYW4gZGFzIGF1Y2ggc28gZWlucmljaHRlbiwgenVtaW5kZXN0IGhhdCBlcyBpbiBiZXN0aW1tZW4gS29uZmlndXJhdGlvbmVuCmVpbiAtLWFwcGVuZC1vbmx5LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmFuc29td2FyZS1Qcm9vZiBCYWNrdXA/IChSdW1hdGEsIDIyLiBBcHIgMjAyNCwgMDg6MjA6NTcpOgp+IyEgcm49WmVzc3RyYSBydD0xNzEzNjAzNTE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTE3MTMxNjY5MDgKdmVybXV0bGljaCBpc3Qgc293YXMgd2llIHJzeW5jK3NzaCBhdWYgZWluIHJlbW90ZXN5c3RlbSAobWl0IGtleSBuaWNodApnZXJhZGUgdW50ZXIgLnNzaC9pZF8qKSBzY2hvbiByZWNodCByb2J1c3QuLi4gc29sbHRlIG1pciBtYWwgd2llZGVyCmVpbmVuIHJhc3BpIHp1bGVnZW4gOy0pClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSYW5zb213YXJlLVByb29mIEJhY2t1cD8gKERlYWRkeSwgMjIuIEFwciAyMDI0LCAxMDowMzoyMik6Cn4jISBybj1SdW1hdGEgcnQ9MTcxMzc2Njg1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD0xNzEzMTY2OTA4CnJkaWZmLWJhY2t1cCBpc3QgYW5zb25zdGVuIGF1Y2ggc2VociBndXQuCgpad2Vja3MgU2NocmVpYnNjaHV0eiB3dWVyZCBpY2ggaW0gcHJpdmF0ZW4gQmVyZWljaCBkYXMgdm9yZ2VzY2hsYWdlbmUKcGh5c2lzY2hlIGR1cmNocm90aWVyZW4gZGVyIFBsYXR0ZW4gbnV0emVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoK