W0Fubm91bmNlXSBSZWdpb25lbiBpbSBXV1cgKEJhbnphaSwgMzAuIE5vdiAxOTk0LCAwMjo0MjoxMyk6CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiAgICAgICAgICAgICAgICAgICAgICBSZWdpb25lbi1JbmZvcyBpbSBXV1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpKZXR6dCBpc3QgZXMgZW5kbGljaCBzb3dlaXQ6IElociBrb2VubnQgbnVuIFdpc3NlbnN3ZXJ0ZXMgdWViZXIgZXVyZQpSZWdpb24gaW0gV1dXIHZlcmV3aWdlbi4gRXJyZWljaGJhciBpc3QgZGFzIGdhbnplIHZpYSBXV1cgdW50ZXIKaHR0cDovL3NhbnRhbmEudW5pLW11ZW5zdGVyLmRlL35tdWQvcmVnaW9uZW4vcmVnaW9uc25hbWUvLCBiencuIGltIE1VRAppbSBWZXJ6ZWljaG5pcyArcmVnaW9uL1dXVy4gCgpWZXJhbnR3b3J0bGljaCBmdWVyIGRpZSBlaW56ZWxuZW4gQmVpdHJhZWdlIHNpbmQgZGllIGpld2VpbGlnZW4gUmVnaW9ucy0KbWFnaWVyIGJ6dy4gZGVyZW4gVmVydHJldHVuZ2VuLiBXZW5uIGlociBhbHNvIEJlaXRyYWVnZSBoYWJ0IGRpZSBpaHIgZ2VybmUgCnZlcm9lZmZlbnRsaWNoZW4gd29sbHQsIHNvIHdlbmRldCBldWNoIGJpdHRlIGFuIGV1cmVuICJWb3JnZXNldHp0ZW4iIDstKS4KCkJlaXNwaWVsZSB3YXMgcmVpbiBrb2VubnRlOgoKICAqIGF1cyBkZXIgR2VzY2hpY2h0ZSB2b24gTW9yZ2VuR3JhdWVuLCB3aWUgaXN0IGRpZSBSZWdpb24gZW50c3RhbmRlbgogICogZXZ0bC4ga2xlaW5lIEthcnRlbiwgIlNpZ2h0c2VlaW5nIiwgLi4uCiAgKiBGYW1pbGllbmdlc2NoaWNodGVuIGRlciBSZWdpb25zbWFnaWVyIChzaWVoZSB6LkIuIFdvZWxrY2hlbiwgRGFuY2VyICsKICAgIEhpZ2hsYW5kZXIsIGV0Yy4pLCBTdGFtbWJhdW0sIFdobyBpcyB3aG8/CiAgKiBOZXdzLCB3YXMgaXN0IGdlcmFkZSBzbyBsb3M/IFdlcmRlbiBHZWJpZXRlIHZlcnNjaG9iZW4sIG5ldWUgUXVlc3RzIAogICAgYW5nZXNjaGxvc3Nlbj8gR3Jvc3MgYW5nZWxlZ3RlIFJlZ2lvbnNmZXN0ZSAmIFBhcnRpZXM/IDstKQogICogV2FzIGVpbmVtIGhhbHQgbm9jaCBzbyBkYXp1IGVpbmZhZWxsdCA7LSkKCldhcyBuaWNodCByZWluc29sbHRlOgoKICAqIE1lZ2FieXRlcyBhbiBHSUYncywgUG9zdHNjcmlwdC1kYXRlaWVuLCBldGM7IFBsYXR0ZW5wbGF0eiBpc3Qga25hcHAsIGFsc28KICAgIHNvbGx0ZSBtYW4gc2VpbmUgRGF0ZW5tZW5nZW4gZXR3YXMgcmVkdXppZXJlbi4gRGEgei5CLiBNb3NhaWMgc293aWVzbwogICAgbnVyIDUwIEZhcmJlbiBwcm8gQmlsZCBkYXJzdGVsbHQga2FubiBtYW4gR0lGJ3Mgd3VuZGVyYmFyIHZlcmtsZWluZXJuLAogICAgei5CLiBtaXQgWFYgb2RlciBhbmRlcmVuIGdlZWlnbmV0ZW4gUHJvZ3JhbW1lbiAoNWtCIHN0YXR0IDMwa0Igc2luZCBrZWluZSAKICAgIFNlbHRlbmhlaXQpLiAKICAqIFByaXZhdGVyIEtyYW0gZWluemVsbmVyIE1hZ2llcjsgbGVpZGVyIGtvZW5uZW4gd2lyIGhpZXIga2VpbmUgcGVyc29lbi0KICAgIGxpY2hlbiBWaXNpdGVua2FydGVuIGplZGVzIGVpbnplbG5lbiBNYWdpZXJzIGVyc3RlbGxlbi4KICAqIGFsbGVzIHdhcyBuaWNodCBkaXJla3Qgb2RlciBpbmRpcmVrdCBtaXQgZGVyIFJlZ2lvbiB6dSB0dW4gaGF0OyAKICAgIHVlYmVycmVnaW9uYWxlIEluZm9zIHNvbGx0ZW4gYXVjaCBzbyBnZWhhbHRlbiB3ZXJkZW4sIGFsbGVpbiBzY2hvbiBkZXIKICAgIFVlYmVyc2ljaHQgaGFsYmVyLgoKSW4gTW9tZW50IGthbm4gZXMgbm9jaCBlaW5pZ2UgUHJvYmxlbWUgbWl0IGRlbiBadWdyaWZmc3JlY2h0ZW4gZ2ViZW4sIGFiZXIgZGFzIApzb2xsdGUgZWlnZW50bGljaCBpbiBkZW4gbmFlY2hzdGVuIFRhZ2VuIGJlaG9iZW4gc2Vpbi4gCgoKVHNjaHVlc3NsZSwKICAgICAgIEJhbnphaSBkZXIgV1dXLUJhc3RsZXIgdm9tIERpZW5zdAoKUC5TLjogRmxhbWVzLCBWb3JzY2hsYWVnZSwgU2NoZWNrcywgQmllcmthZXN0ZW4gZXRjLiBhbSBiZXN0ZW4gYW4gbWljaCA7LSkKCgoKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldXVy1BZHJlc3NlIChKb2YsIDMwLiBOb3YgMTk5NCwgMDM6MjQ6MDIpOgogRnVlciBhbGxlLCBkaWUgc2llIG5pY2h0IGtlbm5lbiBvZGVyIG5vY2ggJ25lIEFMVEUgQWRyZXNzZSBiZW51dHplbjogZGllCkFLVFVFTExFIEFkcmVzc2UgZGVyIE1vcmdlbkdyYXVlbi1XV1ctU2VpdGUgaXN0CgogaHR0cDovL211ZC51bmktbXVlbnN0ZXIuZGU6NDcxMS8KCiBOdXIgRElFU0UgQWRyZXNzZSBzb2xsdGUgYmVudXR6dCB3ZXJkZW4gLSBzaWUgc29sbHRlIGF1ZiBEYXVlciBndWVsdGlnCnNlaW4sCndhZWhyZW5kIGFsbGUgYW5kZXJlbiBBZHJlc3NlbiBmdWVyIGRpZXNlIFNlaXRlLCBkaWUgc28gaW0gVW1sYXVmIHNpbmQsCmF1ZiBsYWVuZ2VyZSBTaWNodCBldnRsIG5pY2h0IG1laHIgZnVua3Rpb25pZXJlbiB3ZXJkZW4uCgogVmllbCBTcGFzcywKCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBbQW5ub3VuY2VdIFJlZ2lvbmVuIGltIFdXVyAoQ2FyYWRocmFzLCAgMS4gRGV6IDE5OTQsIDAxOjA5OjU1KToKIyEgcm49QmFuemFpIHJ0PTc4NjE1OTczMwpTZWl0IHdhbm4gaXN0IFdvZWxrY2hlbiBkZW5uIFJlZ2lvbnNtYWdpZXI/ICpzdGF1bioKCiAgICAgICAgICAgICAgQ2FyYWRocmFzIGRlciBld2lnZSBQcm9waGV0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFtBbm5vdW5jZV0gUmVnaW9uZW4gaW0gV1dXIChCYW56YWksICAxLiBEZXogMTk5NCwgMDE6MzE6NTYpOgojISBybj1DYXJhZGhyYXMgcnQ9Nzg2MjQwNTk1CkFlaG0uLiA6LSkgTmFqYSwgZWlnZW50bGljaCBtZWludGUgaWNoIGRhbWl0IGRpZSBGYW1pbGllbnN0cmVpdGlna2VpdGVuCmRpZSBtYWwgYXVmIGQud3Vlc3RlIHZlcm9lZmZlbnRsaWNodCB3dXJkZW4gOy0pCgpUc2NodWVzc2xlLAogICAgQmFuemFpLCBXV1ctQmFzdGxlciB2b20gRGllbnN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWlsIHZvbSBXV1cgYXVzPyAoQ2hyaXMsICA2LiBEZXogMTk5NCwgMDg6MDU6MzUpOgpIaSwKCkVpbmUgRnJhZ2UgenUgZGVtIFdXVyB2b24gTW9yZ2VuZ3JhdWVuLiBLYW5uIG1hbiB2b24gZGEgYXVzLCBkaXJla3QgTWFpbAphbiBqZW1hbmRlbiBpbSBNdWQgc2NoaWNrZW4/IElzdCBzbyBldHdhcyBnZXBsYW50PyBLYW5uIGljaCBkYW1pdAppcmdlbmR3YW5uIHJlY2huZW4/IEt1ZW1tZXJ0IHNpY2ggamVtYW5kIGRhZHJ1bT8gV29sbGVuIHdpciBkYXM/CgpDaHJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1haWwgdm9tIFdXVyBhdXM/IChCYW56YWksICA2LiBEZXogMTk5NCwgMTA6NDg6MDEpOgojISBybj1DaHJpcyBydD03ODY2OTc1MzUKPkhpLAo+Cj5FaW5lIEZyYWdlIHp1IGRlbSBXV1cgdm9uIE1vcmdlbmdyYXVlbi4gS2FubiBtYW4gdm9uIGRhIGF1cywgZGlyZWt0IE1haWwKPmFuIGplbWFuZGVuIGltIE11ZCBzY2hpY2tlbj8gSXN0IHNvIGV0d2FzIGdlcGxhbnQ/IEthbm4gaWNoIGRhbWl0Cj5pcmdlbmR3YW5uIHJlY2huZW4/IEt1ZW1tZXJ0IHNpY2ggamVtYW5kIGRhZHJ1bT8gV29sbGVuIHdpciBkYXM/CgpIbW0gaXN0IG5lIG5ldHRlIElkZWUsIGlzdCBhYmVyIG5pY2h0IHNvIGVpbmZhY2ggenUgcmVhbGlzaWVyZW4sIGRhIE1VRCB1bmQKV1dXIGVpZ2VudGxpY2ggc3RyaWt0IHZvbmVpbmFuZGVyIGdldHJlbm50IHNpbmQgYnp3LiBzZWluIHNvbGx0ZW4uIE1hbgprb2VubnRlCnNvIGV0d2FzIGhvZWNoc3RlbnMgdWViZXIgZGllIE11ZGxpbmsgcmVhbGlzaWVyZW4gKEludGVybXVkLW1haWwgZXhpc3RpZXJ0IGphCnNjaG9uIGluIGVpbmlnZW4gTVVEJ3MpLCBhYmVyIGRhbm4gbXVzcyBtYW4gZGFzIGdhbnplIG5pY2h0IG1laHIgdWViZXJzIFdXVwptYWNoZW4gc29uZGVybiBrYW5uIHNpY2ggZGlyZWt0IHZpYSBJbnRlcm5ldCAoei5CLgpCYW56YWklTW9yZ2VuR3JhdWVuQG11ZC51bmktbXVlbnN0ZXIuZGUsIGlzdCBudXIgbmUgRnJhZ2UgZGVzIHNlbmRtYWlsLmNmCipzaGl2ZXIqIHVuZCBlaW5pZ2VyIGtsZWluZXIgVG9vbHMgOy0pIG9kZXIgYXVzIG5lbSBhbmRlcmVuIE1VRCBhbm1haWxlbgpsYXNzZW4uIE51ciBvYiBtYW4gZGFzIHVlYmVyaGF1cHQgd2lsbCBpc3QgbmUgZ2FueiBhbmRlcmUgRnJhZ2UuCgpUc2NodWVzc2xlLAogICAgICAgIEJhbnphaSwgV1dXLUJhc3RsZXIgdm9tIERpZW5zdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgU29uZ3MgbWl0IEdpdGFycmVuZ3JpZmZlbiAoU2NobG9ueiwgIDYuIERleiAxOTk0LCAxNzoyNjozNSk6CgpIYWxsbywKCndlciBrYW5uIG1pciBXV1ctU2VpdGVuIGFuZ2ViZW4sIHdvIG1hbiBTb25ncyBtaXQgR2l0YXJyZW5ncmlmZmVuIGZpbmRldD8gQW0KYmVzdGVuIE9sZGllcy4KCkRhbmtlICwgU2NobG9uegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3VjaGUgU29uZ3MgbWl0IEdpdGFycmVuZ3JpZmZlbiAoSGF3aywgIDYuIERleiAxOTk0LCAxNzozNjoxNyk6Ck1pciBnZWh0J3Mgc28gd2llIFNjaGxvbnouIFdlbm4gamVtYW5kIHdhcyB3ZWlzcyAtLT4gYml0dGUgbWVsZGVuIHVudGVyOgpocHdAZG11bXBpd2gubXBwbXUubXBnLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaXRhcnJlbmdyaWZmZSBtaXQgU29uZ3Mgb2RlciBzby4gKEplZGVybWFubiwgIDYuIERleiAxOTk0LCAxOToxMzo0Nyk6CkhhbGxvZWNoZW4sCgppY2ggaGFiJyBkYSBtYWwgd2FzIGdlZnVuZGVuLCBwcm9iaWVydCBkb2NoIG1hbDoKCmZ0cDovL21iaXR1bTIuYmlvbC5jaGVtaWUudHUtbXVlbmNoZW4uZGUvcHViL1NvbmdCb29rCgpvZGVyIHNvLgoKR3J1c3MsIEplZGVybWFubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaW5saW5lZCBpbWFnZXMgKFNtYXVnLCAxMi4gRGV6IDE5OTQsIDEzOjE1OjQ5KToKaG1tCm1pY2ggd3VlcmRlIGludGVyZXNzaWVyZW4gd2llIGljaCBhbiBkaWUgaW5saW5lZCBpbWFnZXMgdm9uIG1vc2FpYy1kb2t1bWVudGVuCnJhbmtvbW1lLgppY2gga2FubiBkaWUgdGV4dGUgYWxzIGh0dHAtZG9rdW1lbnQsIHBvc3Qtc2NyaXB0LWRhdGVpIG9kZXIgcGxhaW4gdGV4dApzcGVpY2hlcm4gKGJlaW0gbGV0enRlcmVuIHNpbmQgc293aWVzbyBrZWluZSBiaWxkZXIgZGFiZWkpCndpZSBiZWtvbW1lIGljaCBhYmVyIGF1cyBodHRwLSBiencgcHMtZGF0ZWllbiBkaWUgYmlsZGVyIHJhdXM/CgpzbWF1ZwouLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGlubGluZWQgaW1hZ2VzIChNYXRlZXNlLCAxMi4gRGV6IDE5OTQsIDE4OjI4OjM5KToKPiBtaWNoIHd1ZXJkZSBpbnRlcmVzc2llcmVuIHdpZSBpY2ggYW4gZGllIGlubGluZWQgaW1hZ2VzIHZvbgptb3NhaWMtZG9rdW1lbnRlbgo+IHJhbmtvbW1lLgoKSWNoIG1hY2hlIGVzIGltbWVyIHNvLCBkYXNzIGljaCBtaXIgZGllIFNlaXRlIGFscyBodHRwLVRleHQgYWJzcGVpY2hlcmUgdW5kCmRhbm4gZGFyaW4gbmFjaCBkZW0gUGZhZG5hbWVuIGRlciBJbmxpbmVzIHN1Y2hlLiBIYWJlIGljaCBkZW4sIGZvcmRlcmUKaWNoIGRhcyBJbmxpbmUtSW1hZ2UgZGlyZWt0IGFuLgpBbHNvOiBkaWUgU2VpdGUgaXN0IGh0dHA6Ly95b3lvZHluZS5jb20vZm9vYmFyLCB1bmQgaW4gZGVyIFNlaXRlIHRhdWNodAplaW4gSW5saW5lIG1pdCBkZW0gUGZhZCAnaW1nL2dsaXR6eS5naWYnIGF1ZiwgZGFubiBmb3JkZXJlIGljaCBhbHMKbmFlY2hzdGVzIGh0dHA6Ly95b3lvZHluZS5jb20vZm9vYmFyL2ltZy9nbGl0enkuZ2lmCm9kZXIgaHR0cDovL3lveW9keW5lLmNvbS9pbWcvZ2xpdHp5LmdpZiBhbi4KSWNoIGhvZmZlLCBlcyBnaWJ0IG5vY2ggZWluZSBiZXNzZXJlIE1ldGhvZGUgc293aWUgamVtYW5kZW4sIGRlciBzaWUgdW5zCnZlcnJhZXQuCiAtLSBNYXRlZXNlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogV29scGVydGluZ2VyY2x1YiBpbiBXV1cgKEtldG9zLCAxMy4gRGV6IDE5OTQsIDE0OjEwOjM0KToKSGV1dGUgaGF0IGRlciBDbHViIGVpbmUgV1dXLVNlaXRlIGJla29tbWVuLgpadSBmaW5kZW4gaXN0IGRpZSBTZWl0ZSBpbgpodHRwOi8vc2FudGFuYS51bmktbXVlbnN0ZXIuZGUvJTdFbXVkL3JlZ2lvbmVuL2dlYmlyZ2Uvd29scC93b2xwLmh0bWwKb2RlciBkaXJla3Qgdm9uIGRlciBHZWJpcmdzcmVnaW9uc3NlaXRlIGF1cy4KClZpZWwgU3Bhc3MhIC0gS2V0b3MgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICBXb2xwZXJ0aW5nZXJjbHViIGluIFdXVyAoS2lyaywgMTMuIERleiAxOTk0LCAxNzoyNTozMyk6CiMhIHJuPUtldG9zIHJ0PTc4NzMyNDIzNApIaSEKCkljaCBzZWggZGFzIGpldHp0IGluIHp3ZWkgYXVmZWluYW5kZXJmb2xnZW5kZW4gQXJ0aWtlbG4sIGRlc2hhbGIgbWVpbmUgQml0dGU6ClZlcmdlc3N0LCBkYXNzIGRlciBSZWNobmVyIHNhbnRhbmEgaGVpc3N0LiBCZW51dHp0IGJpdHRlIGltbWVyCm11ZC51bmktbXVlbnN0ZXIuZGUKRGllcyBpc3QgYXVjaCBkYW5uIG5vY2ggcmljaHRpZywgd2VubiB3aXIgbWFsIHVtemllaGVuIChtdWVzc2VuKS4KCktpcmsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFkcmVzc2Ugdm9uIG1vcmdlbmdyYXVlbj8gKEtldG9zLCAxNS4gSmFuIDE5OTUsIDIwOjQ2OjQxKToKV2FzIGlzdCBkaXIgcmljaHRpZ2UgV1dXIGFkcmVzc2Ugdm9uIE1vcmdlbmdyYXVlbj86Cmh0dHA6Ly9tdWQudW5pLW11ZW5zdGVyLmRlL35tdWQvCmh0dHA6Ly9tdWQudW5pLW11ZW5zdGVyLmRlOjQ3MTEvCmh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS8lN0VtdWQvClVuZCB3YXJ1bSBrb21tdCBiZWkgaHR0cDovL211ZC51bmktbXVlbnN0ZXIuZGU6NDcxMS9yZWdpb25lbi8gby5hZS4KaW1tZXIgZGllIExlaXRzZWl0ZSB1bmQgbmljaHQgZGllIGVudHNwcmVjaGVuZGUgU2VpdGUgd2llIG1pdCBkZW4KYmVpZGVuIEFkcmVzc2VuYW5mYWVuZ2VuPwotIEtldG9zIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBZHJlc3NlIHZvbiBtb3JnZW5ncmF1ZW4/IChIYXRlLCAxNS4gSmFuIDE5OTUsIDIxOjUyOjA4KToKIyEgcm49S2V0b3MgcnQ9NzkwMTk5MjAxCmh0dHA6Ly9tdWQudW5pLW11ZW5zdGVyLmRlOjQ3MTEvIGlzdCBkaWUgcmljaHRpZ2UgYWRyZXNzZSBmdWVyIGRpZSBIYXVwdHNlaXRlCkFsbGVzIGFuZGVyZSBrbGFwcHR5IG5pY2h0LCB3ZWlsIGRhIG51ciB1bWdlbGVua3Qgd2lyZC4uCkRhIG11c3MgbWFuIGh0dHA6Ly93d3cudW5pLW11ZW5zdGVyLmRlL35tdWQvLi4uIGJlbnV0em5lCkhhdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBZHJlc3NlIHZvbiBtb3JnZW5ncmF1ZW4/IChSb2NodXMsIDE2LiBKYW4gMTk5NSwgMTI6MDI6NTApOgpTZWl0IGRhcyBSWiBkZW4gV1dXLVNlcnZlciAid3d3IiB1ZWJlcm5vbW1lbiBoYXQgZ2VodCBmdWVyIGRpZSB3ZWl0ZXJlbgpTZWl0ZW4gbnVyIG5vY2ggImh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS9+bXVkLy4uLiIKKERhcyBSWiBlcmxhdWJ0IH51c2VyIGxlaWRlciBuaWNodCBtZWhyIDotKCApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogKEtlcm1pdCwgMTYuIEphbiAxOTk1LCAxNzozOTozMyk6CkhpIExldXRlIQoKRnVlciBJbnRlcmVzc2llcnRlIHVuYWJoYWVuZ2lnZXIgTXVzaWsoSW5kZXBlbmRlbnQ/KSBnaWJ0cyBuZSBzY2hvZW5lCldXVy1TZWl0ZS4KaHR0cDovL3N1bnNpdGUudW5jLmVkdS9pYW5jL2luZGV4Lmh0bWwKRGEgc2luZCBkYW5uIHZlcnNjaGllZGVuZSBWaWRlb3MgZHJhdWYgdW5kIEluZGllLU5ld3MgZXRjLgpEYXMgYmVzdGUgaXN0KGljaCBoYWJzIG5vY2ggbmljaHQgZ2VmdW5kZW4pIGVpbiBDbGlwIHZvbgpUaGUgRnV0dXJlIFNvdW5kIE9mIExvbmRvbihHcmVhdCEpLi4uLgpTY2hhdXQgbWFsIHJlaW4uLi4KCkNpYW8sIEtFUk1JVCwga2FlbXBmdCBtaXQgZGVtIEVEOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBZHJlc3NlIHZvbiBtb3JnZW5ncmF1ZW4/IChCYW56YWksIDE2LiBKYW4gMTk5NSwgMjM6MzQ6MjUpOgojISBybj1LZXRvcyBydD03OTAxOTkyMDEKQWxzbywgZGllIHJpY2h0aWdlIEFkcmVzc2UgZGVzIE1vcmdlbkdyYXVlbiBXV1cgaXN0OgoKICAgICAgICBodHRwOi8vbXVkLnVuaS1tdWVuc3Rlci5kZTo0NzExLwoKCkRhcyBpc3QgamVkZW5mYWxscyBkaWUgb2ZmaXppZWxsZS4gV2VubiBkdSBqZWRvY2gKYXVmIGVpbmUgYW5kZXJlIGFscyBkaWUgVGl0ZWxzZWl0ZSBnZWhlbiB3aWxsc3QKdmVyc3VjaHMgbWl0IGh0dHA6Ly9tdWQudW5pLW11ZW5zdGVyLmRlL35tdWQvd2FzX2F1Y2hfaW1tZXIvCkF1ZiBodHRwOi8vbXVkLnVuaS1tdWVuc3Rlci5kZTo0NzExLyBzaXp0IGVpbiBSZWxvY2F0b3IsIGRlciBhdWYgZGllCmFrdHVlbGxlIFdXVy1hZHJlc3NlIHplaWd0LiBkYXMgaGF0IGRlbiBWb3J0ZWlsIGRhc3MKZGllIG5hdHVlcmxpY2ggaW1tZXIgYWt0dWVsbCBpc3QgKGF1Y2ggYmVpIFVtenVlZ2VuLCBldGMuKQoKQ2lhbywKICAgQmFuegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBZHJlc3NlIHZvbiBtb3JnZW5ncmF1ZW4/IChCYW56YWksIDE2LiBKYW4gMTk5NSwgMjM6MzU6MzgpOgojISBybj1IYXRlIHJ0PTc5MDIwMzEyOApBZWhtLi4gaHR0cDovL3d3dy51bmktbXVlbnN0ZXIuZGUvfm11ZC8gaXN0IGRvY2ggYXVjaCBlaW5lClVtbGVpdHVuZy4uIHJpY2h0aWcgaXN0IGh0dHA6Ly9tdWQudW5pLW11ZW5zdGVyLmRlL35tdWQvCgpDaWFvLAogIEJhbnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgKEdsdWNrcywgMTguIEphbiAxOTk1LCAwOToyNzo0Mik6CiMhIHJuPUtlcm1pdCBydD03OTAyNzQzNzMKd2llIGthbm4gaWNoIGRlbm4gZGllIHNvZnR3YXJlIHp1bSBhYnNwaWVsZW4gZGVyIHZpZGVvcyB1bmQgZGVyIG11c2lrCmJla29tbWVuPwoKZ3J1c3Mgdm9uIGdsdWNrcywgZGllIGdlaXN0bGljaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVpZ2VuZSBQYWdlIChIZXJiYXJ1bSwgMjAuIEphbiAxOTk1LCAxNzowODo1Myk6CkhhbGxvLAppY2ggaGFiZSBlaW4ga2xlaW5lcyBQcm9ibGVtIG1pdCBtZWluZXIgUGFnZQpJY2ggbW9lY2h0ZSBlaW4gRm9ybXVsYXIgcmVpbnBhY2tlbiwgbWl0IGRlbSBtYW4gbWlyIG1haWxlbiBrYW5uCkdpYnQgZXMgaGllciBlaW4gUHJvZ3JhbW0sIGRhc3MgZGFzIG1hY2h0PwooYWxzbzogd2FzIG11c3MgYmVpPGZvcm0gbWV0aG9kPSJQT1NUIiBhY3Rpb249IiIgLi4uIHN0ZWhlbj8pCgpIZXJiYXJ1bSwgZGVyIHBvc3QtaW4tYWxsZS13ZWx0LWFiZXItbmljaHQtZGEtd28tc2llLWhpbi1zb2xsIFZlcnNjaGlja2VuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlaWdlbmUgUGFnZSAoQmFuemFpLCAyMC4gSmFuIDE5OTUsIDE3OjUyOjAyKToKIyEgcm49SGVyYmFydW0gcnQ9NzkwNjE4MTMzCkRhZnVlciBnaWJ0cyBkYXMgbWFpbHRvOiBQcm90b2tvbGwuIEJlaXNwaWVsOgo8QSBIUkVGPSJtYWlsdG86bW9zYWljQHpkdi51bmktdHVlYmluZ2VuLmRlIj5NYWlsIGFuIGRpZSBNb3NhaWMtVHVlVgpOYXNlbjwvQT4KRGFzIGthbm4gZWlnZW50bGljaCBqZWRlciBoYWxid2VncyB2ZXJudWVuZnRpZ2UgV2ViLWJyb3dzZXIuIChOYWphLCBOQ1NBCk1vc2FpYyAyLjQga2FubnMgbmljaHQsIGFiZXIgd2VyIHNhZ3QgZGFzcyBkYXMgdmVybnVlbmZ0aWcgaXN0PyA7LSkKLS0+IE1vc2FpYy1UdWVWIG5laG1lbi4KCkNpYW8sCiAgIEJhbnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haWwgLi4uIE1haWwgLi4uIE1haWwgKEhlcmJhcnVtLCAyMC4gSmFuIDE5OTUsIDE4OjM0OjI3KToKTmFqYSwgZXJzdG1hbCBEYW5rZSwgQmVuemFpLCBBQkVSOgpMZWlkZXIgaXN0IGRlciBOQ1NBIDIuNCBkZXIgd2VpdGVydmVyYnJlaXRldGUgQnJvd3NlciBoaWVyLgpVbmQgaWNoIHdpbGwgaWNoIHdpbGwgaWNoIHdpbGwgIGVpbiA8Zm9ybT4gdmVyd2VuZGVuISEhCkVybnN0aGFmdDogZXMgbXVzcyBkb2NoIG1vZWdsaWNoIHNlaW4sIGVpbiAiYWN0aW9uIiBsb2NhbAphYnp1c2V0emVuIC4uLiBvZGVyIG5pY2h0ID8KSGVyYmFydW0sIGltbWVyIG5vY2ggbmljaHQgenVmcmllZGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmlubmVydW5nIHp1bSBSZWdpb25lbi1XV1cgKEJhbnphaSwgIDIuIEZlYiAxOTk1LCAyMzoyOTo0Myk6Ck1vaW4gbW9pbiBKdW5ncyAmIE1hZWRlbHMhCgpOb2NoIGVpbm1hbCB6dXIgRXJpbm5lcnVuZzogQml0dGUgc2NoYXVmZmVsdCBrZWluZSBwZXJzb2VubGljaGVuClZpc2l0ZW5rYXJ0ZW4Kb2RlciBhZWhubGljaGVzIGlucyBNb3JnZW5HcmF1ZW4tV1dXLiBEaWUgUmVnaW9uZW4tUnVicmlrIGlzdCBkYXp1IGdlZGFjaHQKV2lzc2Vuc3dlcnRlcyB1bmQgU2VoZW5zd2VydGVzIGF1cyBkZXIgamV3ZWlsaWdlbiBSZWdpb24genUgdmVybWl0dGVsbiB1bmQKc29sbCBuaWNodCBNaXR0ZWwgenVyIFNlbGJzdGRhcnN0ZWxsdW5nIGVpbnplbG5lciBNYWdpZXIvUGVyc29uZW4gc2Vpbi4KQmVzY2hyZWlidW5nZW4gZGVyIFJlZ2lvbnNtaXRhcmJlaXRlciBrb2VubmVuIGRhIHNvIGdyYWQgbm9jaCBkdXJjaGdlaGVuLAphYmVyCm5pY2h0IGRlcmVuIFJMLWNoYXJhY3RlciEgQWxzbywgc29mZXJuIGRhIG5vY2ggdW5rb3NjaGVyZSBJbmZvcyBpbSBXV1cKYmVmaW5kZW4sIHNvIG5laG10IGRpZSBiaXR0ZSByYXVzIChhbnNvbnN0ZW4gbXVzcyBpY2ggbWFsIG5lbiBEYW1wZmhhbW1lcgpzY2h3aW5nZW4uLi4gOy0pCgoKQ2lhbywKICBCYW56YWksIFdXVy1CYXN0bGVyIHZvbSBEaWVuc3QKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5sb2d2ZXJzdWNoc3ZlcnRlaWx1bmdzZGlhZ3JhbW0gKFllbmRpLCAxMy4gRmViIDE5OTUsIDE5OjQ3OjE0KToKClRvbGxlciBUaXRlbCwgd2FzPwoKVGphLCBpY2ggd29sbHRlIGVpZ2VudGxpY2ggYmxvc3Mgd2lzc2VuLCB2b24gd2FubiBkaWVzZXMgc2Nob2VuZSBEaWFncmFtbQp1ZWJlciBkaWUgdGFnZXN6ZWl0bGljaGUgVmVydGVpbHVuZyBkZXIgRWlubG9ndmVyc3VjaGUgc3RhbW10LCBkZW5uIGljaCBoYWIKZGEgc28gbWVpbmUgU2Nod2llcmlna2VpdGVuOgpGdWVyIGRlbiBaZWl0cmF1bSB2b24gMTI6MDAgYmlzIDEzOjAwIHNpbmQgOTYgRWlubG9ndmVyc3VjaGUgZ2V6YWVobHQsIHdhcwpzZWxic3QgYmVpIGVpbmlnZW4gdmVyZ2VibGljaGVuIFZlcnN1Y2hlbiB6dSBmYXN0IGh1bmRlcnQgU3BpZWxlcm4gZXh0cmEKZnVlaHJ0LCBhYnp1ZWdsaWNoIGRlciBhdXNsb2dnZW5kZW4gbGF0dWVybmljaC4uLiB1bmQgZGEgbXVlc3N0ZSBtYW4gZGFubiBkb2NoCmF1ZiBkZXV0bGljaCBtZWhyIGFscyBkaWUgbGFlcHBpc2NoZW4gMTQwIGtvbW1lbiwgZGllIHNvbnN0IHNvIHVtIGRpZXNlIFplaXQKZWluZ2Vsb2dndCBzaW5kLCBvZGVyIG5pY2h0PwoKQW5kZXJlcnNlaXRzOiBGYWxscyBkaWUgR3JhZmlrIG5pY2h0ICJWZXJzdWNoZSIgc29uZGVybiB0YXRzYWVjaGxpY2gKZWluZ2Vsb2dndGUgU3BpZWxlciB6ZWlndCwgbXVzcyBzaWUgd29obCBzY2hvbiB6aWVtbGljaCBhbHQgc2Vpbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaWNyb1NvZnQgSGF0ZSBwYWdlIChSdW1hdGEsICA1LiBBcHIgMTk5NSwgMTA6NTg6NDIpOgpodHRwOi8vd3d3Lm9laC51bmktbGluei5hYy5hdDo4MDAxL35jaHJpcy9IQVRFL2hhdGUuaHRtbApEaWVzZSBTZWl0ZSBoYXQgTklDSFRTIG1pdCBkZW0gZ2xlaWNobmFtaWdlbiBNYWdpZXIgenUgdHVlbi4KU0llIGhhdCBhdWNoIE5JQ0hUUyBtaXQgbWlyIHp1IHR1ZW4uClNvbyBndXQgZmluZGUgaWNoIHNpZSBhdWNoIG5pY2h0LgpBYmVyIHJlaW5zY2hhdWVuIGthbm4gbWFuIGphIG1hbC4KClJ1bWF0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmU6IE1pY3JvU29mdCBIYXRlIHBhZ2UoUnVtYXRhICAgICApIChIYXdrLCAgOC4gQXByIDE5OTUsIDAxOjU1OjQ2KToKU2VsdHNhbWVyIFRpcHAuIERhIHdhciBtaXIgZGVyIEhpbndlaXMgYXVmIGh0dHA6Ly93d3cucGxheWJveS5jb20uLyBzY2hvbgpsaW9lYmVyIDopCkhBV0ssIGRlciBzZWluZW4gSGFyZW0gbWFsIHdpZWRlciBhdXNiYXVlbiBzb2xsdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDYXJhKiwgbWFjaCBtYWwgd2FzIDstKSAoSGFyZGlsLCAxMC4gQXByIDE5OTUsIDE2OjAwOjE5KToKCkljaCBoYWIgZ2VyYWRlIG1hbCBkaWUgTW9uc3RlcnNlaXRlIGltIFdXVyBkdXJjaGdlZ3Vja3QsIHVuZCBiZWltIFNlbnNpIHN0ZWh0Cm5peCwgYWJlciBhdWNoIGdhciBuaXggZHJpbi4gTmljaHRzIHZvbiB3ZWdlbiB6LkIuOgpbQWxsZ2VtZWluOkNhcmFkaHJhc10gSGF0IG5vY2ggamVtYW5kIFBvc3QgZnVlciBkZW4gU2Vuc2k/CnVuZCBhdWNoIHNvbnN0IG5peC4gTml4IHZvbSBVbXp1ZywgZ2FyIG5pY2h0cy4KRGFzIG11c3MgZG9jaCBuaWNodCBzZWluLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENhcmEqLCBtYWNoIG1hbCB3YXMgOy0pIChDYXJhZGhyYXMsIDEwLiBBcHIgMTk5NSwgMTk6MzY6MzEpOgojISBybj1IYXJkaWwgcnQ9Nzk3NTIyNDE5CiAgICAgICAgICAgICAgICAgICAgICAgIEh1Y2ghCgpFcnN0dHR0dGVucyBoZWlzc3QgZGFzOiBbQWxsZ2VtZWluOkNhcmFkaHJhc10gSGF0IGplbWFuZCBQb3N0IGZ1ZXIgZGVuIFNlbnNpPwp1bmQKWndlZWlpaWl0ZW5zIGhhYiBpY2ggamVtYWxzIGlucyB3d3cgdm9uIE1HIGdla3Vja3Q/IEphLCBlaW5tYWwgOikKICAgICAgICAgICAgIGFiZXIgbmljaHQgbGFuZ2UuLi4KCkVyc3QgbWFsIHdhcyB1ZWJlcmxlZ2VuLCBkYW5uIHdhcyBtYWNoZW4uLi4KS2FubiBub2NoIGVpbiBwYWFyIEphaHJlIGRhdWVybi4gOi0pKQoKICAgICAgICAgIENhcmFkaHJhcyAtIGhldXRlIG1hbCBmYXVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWl0dW5nc3NlaXRlIGRlcyBNRy1XV1cgKEdhc3QxLCAyNC4gQXByIDE5OTUsIDE4OjA2OjUzKToKRUluIGt1cnplciBFaW5kcnVjayB2b24gbWVpbmVtIE5ldHN1cmZpbmcgaW0gV1dXICh3YXMgZnVlciB0b2xsZSBXb3J0ZSBpY2gKa2FubiwgZ2VsbD8pOiBEYXMgTUctV1dXIGlzdCBnYW56IG5ldHQgc293ZWl0LiBOdXIgYmVpIGRlciBaZWl0dW5nc3NlaXRlCnN0b2VydCBtaWNoIGVpbnM6CkRJZSBEaWFsb2cgKG9kZXIgd2llIGF1Y2ggaW1tZXIpIC0gRmVuc3RlciBrb21tZW4gIF9kaXJla3RfIG5hY2ggZGVtIGxldHotCnRlbiBXb3J0LiBEYXMgdmVyd2lycnQgZWluIHdlbmlnIHVuZCBzaWVodCBhdWNoIG4gYmlzc2NoZW4ga29taXNjaCBhdXMuCgpBbnNvbnN0ZW46IFdlaXRlciBzbywgbGllYmUgV1dXLUtyZWF0b3JlbiEKCk1mRwogICBBcmFueWEgKG51ciBtYWwgZWJlbiBhbHMgR2FzdCBlaW5nZWxvZ2d0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyb2VmZmVudGxpY2h1bmcgZGVyIEhBLVJlc3VsdGF0ZSBpbSBXV1cgKFNoaW5vYmksIDI1LiBBcHIgMTk5NSwgMTE6MTQ6MTgpOgpTbywgdW5zZXJlIEhBIHVlYmVyIGRhcyBNb3JnZW5HcmF1ZW4gaXN0IGVuZGxpY2ggZmVydGlnLiBEaWUgUmVzdWx0YXRlCmtvZW5uZW4KdWViZXIgZWluZSBXV1ctU2VpdGUgKGRpZSBhbiBkaWUgTUctU2VpdGUgdW50ZXIgTmV1aWdrZWl0ZW4gdW5kIEFlbmRlcnVuZ2VuCmFuZ2VoYWVuZ3QgaXN0CmFuZ2VoYWVuZ3QgaXN0KSBlaW5nZXNlaGVuIHdlcmRlbi4KClNoaW5vYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgRkFRIChpbiBodG1sKSBpbSBNRy1XV1cgdmVyZnVlZ2JhciAoUGlsZ3JpbSwgIDkuIE1haSAxOTk1LCAxMzoxMTozNSk6CkhpLApkaWUgVWViZXJzY2hyaWZ0IHNhZ3QgYWxsZXMgKGRlbmtlIGljaCkuLi5kaWUgVGV4dHZlcnNpb24ga29tbXQgaW4gZWluIGJhcgp0YWdlbi4KClBpbGdyaW0KYWVobSAtIGVpbiBwYWFyIFRhZ2VuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaHR0cCAoUnVtYXRhLCAxMi4gTWFpIDE5OTUsIDEwOjA1OjI1KToKW1ZlcmxlZ3Qgdm9uIGFsbGdlbWVpbmVzLCBLYWlnLCAxMi4gTWFpIDE5OTUsIDA1OjE1OjIyXToKCgpIaSwKCmljaCBoYWInIGpldHp0IGF1Y2ggbmUgaG9tZXBhZ2U6CgpodHRwOi8vd2ViLm1pdC5lZHUvZ3JpZWJlbm8vd3d3L2hvbWVwYWdlLmh0bWwKClZpZWwgU3Bhc3MKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXcmFwcGVkIFJlaWNoc3RhZzogaHR0cDovL3d3dy5rdWx0dXJib3guZGUgKEtldG9zLCAyNC4gSnVuIDE5OTUsIDEwOjQ3OjIzKToKTGF0ZXN0IHBpY3R1cmVzIGFib3V0IHRoZSBSZWljaHN0YWcgd3JhcHBpbmcgaW4gQmVybGluLgoKSWYgeW91IGFyZSBib3JlZCBsb29rIGF0OgoKaHR0cDovL3d3dy5rdWx0dXJib3guZGUvY2hyaXN0by9yZWljaHNfZS5odG0KCk1heWJlIG9uZSBkYXkgd2Ugd3JhcHBlZCBNRyA/CgotIEtldG9zIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlaWNoc3RhZyAoUnluZSwgMjYuIEp1biAxOTk1LCAxNDo0Mzo0MCk6CldlciBzY2hyZWlidCBkYSwgUmVpY2hzdGFnc3Zlcmh1ZWxsdW5nIHNlaSBfU2Nod2FjaHNpbm5fID8KCkFsc28sIGljaCBmaW5kZSBkaWVzZSBEaXNrdXNzaW9uIHVlYmVyIGRpZSBSZWljaHN0YWdzdmVyaHVlbGx1bmcgZWhlcgphZXJtbGljaC4KSWNoIGdsYXViZSBuaWNodCwgZGFzcyBhbiBkaWVzZXIgU3RlbGxlIGRhcnVlYmVyIGRpc2t1dGllcnQgd2VyZGVuIG11c3MsIHdhcwpfS3Vuc3RfIHVlYmVyaGF1cHQgaXN0OyBpY2ggZGVua2UsIHNvIHRvbGVyYW50IHdpcmQgd29obCBqZWRlciBzZWluLCBDaHJpc3RvCnp1enVnZXN0ZWhlbiwgZGFzcyBkYXMgVmVyaHVlbGxlbiBlaW5lcyBPYmpla3RlcyAodW0gZGllc2UgRGlza3Vzc2lvbiBuaWNodApudXIgYXVmIGRlbiBSZWljaHN0YWcgenUgcmVkdXppZXJlbikgZ3J1bmRzYWV0emxpY2ggS3Vuc3QgaXN0LiBXZXIgZGFyYW4KWndlaWZlbCBoYXQsIGthbm4gc2ljaCBnZXJuZSBpbiBlaW5lbSB4LUJlbGllYmlnZW4gU3RhbmRhcmRsZXhpa29uCmluZm9ybWllcmVuLCB3YXMgZnVlciBLdW5zdGJlZ3JpZmZlIGV4aXN0aWVyZW4gLSB1bnRlciBmYXN0IGFsbGUgbGFlc3N0CnNpY2ggZWluZSBWZXJodWVsbHVuZyBzdWJzdW1pZXJlbi4gVW5kIGRhc3MgZXMgZGFiZWkgbmljaHQgZGFyYXVmIGFua29tbXQsCm9iIGVpbmVtIGRhcyBLdW5zdHdlcmsgZ2VmYWVsbHQsIHNvbGx0ZSB2b2VsbGlnIGtsYXIgc2Vpbi4gSWNoIGthbm4gbmljaHQKZ2VyYWRlIGJlaGF1cHRlbiwgZGFzcyBkaWUgTW9uYSBMaXNhIG1pciBiZXNvbmRlcnMgdmllbCBnaWJ0OyBpbSBHZWdlbnRlaWwsCmRhIGZuZGUgaWNoIGRlbiBSZWljaHN0YWcgZXJoZWJsaWNoIHNwYW5uZW5kZXIgLSBkZW5ub2NoIGlzdCBiZWlkZXMgS3Vuc3QuClp1bSB2aWVsZmFjaCB2b3JnZXRyYWdlbmVuIEFyZ3VtZW50IGRlciBHZWxkdmVyc2Nod2VuZHVuZzogYWxzbywgMS4gKHNjaG9uCm9mdCBnZXNhZ3QpIGZpbmFuemllcnQgQ2hyaXN0byBkYXMgUHJvamVrdCBzZWxic3QsIHdhcyBhYmVyIF9uaWNodF8gYmVkZXV0ZXQsCmRhc3MgZXIgZGllc2VzIEdlbGQgYXVjaCBhbmRlcnMgKHVuZCBmdWVyIHp1Z2VnZWJlbmVybWFzc2VuIHNpbnZvbGxlcmUKQXVmZ2FiZW4pIGhhZXR0ZSBhbmxlZ2VuIGtvZW5uZW4uIERlbm4gQ2hyaXN0b3MgUHJvamVrdGUgd2VyZGVuIHN0ZXRzIGR1cmNoCmRlbiBWZXJrYXVmIHZvbiBQb3N0ZXJuIHVuZCBhbmRlcmVuIFByaW50am9icyBmaW5hbnppZXJ0LCBkaWUgc2ljaCBqZWRvY2gKZWJlbiBudXIgdmVybnVlbmZ0aWcgdmVya2F1ZmVuLCB3ZWlsIGRhcyBPYmpla3QgcmVhbGlzaWVydCB3dXJkZSAoYXVjaCB3ZW5uCmRhcyBpbSBFaW56ZWxmYWxsIGFuZGVycyB3YXIsIGljaCB3ZWlzcykuIEluc29mZXJuIHNpbmQgZGllIDE1IE1pbywgZGllIGRpZQpWZXJodWVsbHVuZyBkZXMgUmVpY2hzdGFnZXMgZ2Vrb3N0ZXQgaGFiZW4sIHp1bSBHcm9zc3RlaWwgX2R1cmNoXyBkaWUKVmVyaHVlbGx1bmcgZGVzIFJlaWNoc3RhZ2VzIHZlcmRpZW50IHdvcmRlbi4gQWxzbyBrb25udGUgbWFuIGRpZXNlcyBHZWxkCmF1Y2ggbmljaHQgYW5kZXJzIHZlcndlbmRlbiwgd2VpbCBlcyBzb25zdCBnYXIgbmljaHQgZGFnZXdlc2VuIHdhZXJlLgpadW0gQXJndW1lbnQgZGVzIGFrdHVlbGxlbiBWZXJrZWhyc2NoYW9zIGluIEJlcmxpbiwgZGFzIGR1cmNoIGRlbiBBbnN0dXJtCnJ1bmQgdW0gZGVuIFBvdHNkYW1lciBQbGF0eiBlbnRzdGVodDogU28gZXR3YXMgX2thbm4gbWFuIG5pY2h0XyBhbHMgQXJndW1lbnQKZ2VnZW4gZWluIGhhcHBlbmluZyBkaWVzZXIgQXJ0IGdlbHRlbiBsYXNzZW4hIEdpYiBkZXIgV2llZGVydmVyZWluaWd1bmcgZGllClNjaHVsZCwgc2NoaWVicyBkZXIgQXV0b21vYmlsaW5kdXN0cmllIGluIGRpZSBTY2h1aGUsIG1lY2tlciB1ZWJlciBkaWUKUG9saXRpa2VyLCBkaWUgdW5iZWRpbmd0IG5hY2ggQmVybGluIHVtemllaGVuIHdvbGx0ZW4gLSBCZXJsaW4gd2lyZCBub2NoCmxhbmdlIHVudGVyIFZlcmtlaHJzcHJvYmxlbWVuIGxlaWRlbiwgdW5kIGRhIHNpbmQgZGllc2UgendlaSBXb2NoZW4gZWluClRyb3BmZW4gYXVmIGRlbiBoZWlzc2VuIFN0ZWluLgpPYiBlaW5lbSBkYXMgS3Vuc3R3ZXJrIFJlaWNoc3RhZyBudW4gZ2VmYWVsbHQgb2RlciBuaWNodCwgaWNoIGZpbmRlIGRpZXNlCkFrdGlvbiBhdXMgZWluZW0gR3J1bmQgd2ljaHRpZzogRXMgd2lyZCBlbmRsaWNoIG1hbCB3aWVkZXIgZWluIGtsZWluZXMKU3R1ZWNrIF90b2xlcmFudGVzXyBEZXV0c2NobGFuZCBuYWNoIGF1c3NlbiB2ZXJicmVpdGV0LiBUb2xlcmFudCBkZXNoYWxiLAp3ZWlsIHNpY2hlcmxpY2ggbmljaHQgamVkZXIgU3RhYXQgbWl0IGVpbmVtIGhpc3RvcmlzY2hlbiBHZWJhZXVkZSBzbyBldHdhcwptYWNoZW4gbGllc3NlICh3aWUgamEgYXVjaCBkaWUgaGVmdGlnZW4gRGlza3Vzc2lvbmVuIGltIEJ1bmRlc3RhZyBnZXplaWd0CmhhYmVuKS4gRGllcyBpc3QgZWluIEJpbGQgZGFzcyB1bnMgd2lya2xpY2ggbmljaHQgc2NoYWRlbiBrYW5uLCB3ZW5uIGljaCBhbgpkaWUgc2NocmVja2xpY2hlbiBVZWJlcmdyaWZmZSBhdWYgQXVzbGFlbmRlciBpbiBkZXIgbmFlaGVyZW4gVmVyZ2FuZ2VuaGVpdApkZW5rZS4KSGluenUga29tbXQsIGRhc3MgZGFzIGhpc3RvcmlzY2ggYmVsYXN0ZXRlIEdlYmFldWRlIFJlaWNoc3RhZyBudW4gc2ljaGVybGljaAphdWNoIHBvc2l0aXZlIEFzc296aWF0aW9uZW4gd2Vja2VuIHdpcmQsIHdlbm4gZG9ydCBpbiB3ZW5pZ2VuIEphaHJlbiB1bnNlcmUKSGVycmVuIFBvbGl0aWtlciBlaW56aWVoZW4uIFNpY2hlcmxpY2ggaGF0IEhhdGUgUmVjaHQsIHdlbm4gZXIgZGF2b24KYXVzZ2VodCwgZGFzcyBkaWUgUG9saXRpa2VyIHNlbGJzdCBlaWdlbnRsaWNoIGZ1ZXIgZWluIGJlc3NlcmVzIEJpbGQKRGV1dHNjaGxhbmRzIG5hY2ggYXVzc2VuIHNvcmdlbiBtdWVzc3RlbjsgYWJlciAxLiBzY2hhZGV0IGVzIG5pY2h0cywgd2VubiBkYQp6dXNhZXR6bGljaGUgQWt0aW9uZW4gd2llIGViZW4gZGllc2Ugdm9uIENocmlzdG8gaGluenV0cmV0ZW4sIHVuZCAyLgp2ZXJtaXR0ZWx0IGRpZXNlIEFrdGlvbiBlYmVuIGVpbmUgYW5kZXJlIEZvcm0gZWluZXMgcG9zaXRpdmVuIEJpbGRlcywgYWxzCnNpZSBQb2xpdGlrZXIgc2NoYWZmZW4ga29lbm5lbi4KClNjaHdhY2hzaW5uID8gTmVpbiwgZGllIFZlcmh1ZWxsdW5nIGlzdCBzY2hsaWNodCBnZW5pYWwuCgpSeW5lCi0gd3VlbnNjaHQsIGVyIGhhZXR0ZSBkaWUgWmVpdCBuYWNoIEJlcmxpbiB6dSBmYWhyZW4gLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlaWNoc3RhZyAoQW5ha2luLCAyNi4gSnVuIDE5OTUsIDE0OjQ3OjAyKToKIyEgcm49UnluZSBydD04MDQxNzA2MjAKSGlobywKCkhtbSBSZWljaHRhZ3N2ZXJodWVsbHVuZyBpc3QgbWlyIGVnYWwsIGFiZXIgd2VubiAxMDAuMDAwZW5kZSB1ZWJlcgpCZXJsaW4gaGVyZmFsbGVuLCBkaWUgZ2FuemUgSW5uZW5zdGFkdCB6dSBpc3QgdW5kIGRhcyBzaWNoIGJpcwpuYWNoIFByZW56bEJlcmcgc3RhdXQsIGRhbm4gaXN0IGRhcyBmdWVyIGRpZSBBbndvaG5lciBuaWNodCBzbwpzZWhyIHByaWNrZWxuZC4KCkFuYWtpbiAod29obnQgaW4gUHJlbnplbGJlcmcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlaWNoc3RhZyAoRmVsYWd1bmQsIDI2LiBKdW4gMTk5NSwgMTc6NDc6MzkpOgojISBybj1BbmFraW4gcnQ9ODA0MTcwODIyCmFsc28gaWNoIGJpbiBqYSBub3JtYWxlcndlaXNlIGF1Y2ggbmljaHQgc29vIGZ1ZXIga3Vuc3QgenUgaGFiZW4gYWJlciBtaXIKZ2VodHMgYXVjaCBqZXR6dCBtYWwgdW0gZGVuIHZvcnd1cmYgZGVyIHZlcnNjaHdlbmR1bmcuLi5kZW5uIHdvIGdlaHQgZGVubgpjaHJpc3RvcyBnZWxkIG51IGhpbj8/IGRlciBzY2htZWlzc3QgZGFzIGphIG5pY2h0IHdlZywgc29uZGVybiBkYXMgZ2VodCBhbiBkaWUKZmlybWVuLCBkaWUgbWF0ZXJpYWwgbGllZmVybiB1bmQgY2hyaXN0byBiZWkgZGllc2VyIGFrdGlvbiB1bnRlcnN0dWV0emVuLi51bmQKaXN0IHNvbWl0IHdvaGwga2F1bSB2ZXJzY2h3ZW5kZXQgOykKRmVsYSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9tZXBhZ2VzIChBbmFraW4sIDI2LiBKdW4gMTk5NSwgMjE6MDA6NDApOgpIaWhvLAoKRGFtaXQgaGllciBuaWNodCBudXIgdWViZXIgUmVpY2hzdGFnIGRpc2t1dGllcnQgd2lyZCwgd3VlcmRlCm1pY2ggbWFsIGludGVyZXNzaWVyZW4gb2IgaWhyLCBtZWluZSBfbGllYmVuXyBNaXRtdWRkZXIKZXZ0LiBwZXJzb2VubGljaCBXV1ctSG9tZVBhZ2VzIG1pdCBldnQuIGF1Y2ggbmVuIEJpbGQgaGFidC4KRGFzIHd1ZXJkZSBtaWNoIGRvY2ggbWFsIHNlaHIgaW50ZXJlc3NpZXJlbi4gTWFpbHQgbWlyIG1hbAp3YXMuIFdlbm4gZ2VudWcgenVzYW1tZW5rb21tdCBrYW5uIGljaCBqYSBtYWwgbmUgWnVzYW1tZW4tCmZhc3N1bmcgaW4gZGVyIG1wYSBicmluZ2VuLgoKQW5ha2luIChqYWphIHdlYmVuIG1hY2h0IGxhZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWljaHN0YWcgKExpLCAyNy4gSnVuIDE5OTUsIDEwOjAzOjAzKToKIyEgcm49UnluZSBydD04MDQxNzA2MjAKWnVzdGltbXVuZyBpbiBhbGxlbmIgUHVua3RlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGxvbnogb24gV1dXIChTY2hsb256LCAyNy4gSnVuIDE5OTUsIDE3OjE3OjEzKToKSGFsbG8sCgp3ZW4gZXMgaW50ZXJlc3NpZXJ0IDogU2NobG9ueiArIEZyZXVuZGluIGF1ZiBXV1cKCmh0dHA6Ly9ydW1tZWxwbGF0ei51bmktbWFubmhlaW0uZGUvfnN3ZWJlcgoKR3J1c3MgU2NobG9uegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvbWVwYWdlcyAoS2V0b3MsICA4LiBKdWwgMTk5NSwgMjM6MTg6MDApOgojISBybj1BbmFraW4gcnQ9ODA0MTkzMjQwCldlciBpbSBXb2xwZXJ0aW5nZXJjbHViIGlzdCBrYW5uIHNlaW5lIGhvbWVwYWdlIGVpbnRyYWdlbiBsYXNzZW4gdW5kIGVpbiBsaW5rCnZvbiBzZWluZW0gTmFtZW4gaW4gZGVyIFdvbHBlcnRpbmdlciBjbHViIG1pdGdsaWVkZXIgbGlzdGUgd2lyZCBhdWYgc2VpbmUKaG9tcGFnZSBlcnlldWd0LgotIEtldG9zIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFrdHVlbGxlIFdXVy1zZWl0ZW4gPyAoSmltZGlncml6LCAxMS4gSnVsIDE5OTUsIDE2OjU4OjIwKToKCkhhbGxvICEKQWxzIGljaCBtaXIgbWFsIHdpZWRlciBkaWUgTUctd3d3LXNlaXRlbiBhbmdzY2hhdXQgaGFiLAppcyBtaXIgZWluaWdlcyBhdWZnZWZhbGxlbi4KQWxzbyB3ZW5pZ3N0ZW5zIGRpZSBMaXN0ZSBkZXIgMjAgZXJmb2xncmVpY2hzdGVuIE1vbnN0ZXIsCmthbm4gd29obCBuaW1tZXIgYWt0dWVsbCBzZWluLAp2aWVsbGVpY2h0IHNpZWh0IHNpY2ggamEgbWFsIGplbWFuZCBiZXJ1ZmVuLCBhbGxlcyBhdWYgYWt0dWFsaXRhZXQKZHVyY2h6dWNoZWNrZW4sIHVuZCBkYXMgbmFjaCB1bmQgbmFjaCBhbnp1cGFzc2VuLgoKY3UsCiBKYW1lcyBCb2xpdmFyIGRpR3J6CiAgICAgICAgICAgICAgICAgICAgLi4uR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFrdHVlbGxlIFdXVy1zZWl0ZW4gPyAoSGF0ZSwgMTMuIEp1bCAxOTk1LCAxNjoyNzoxMyk6CiMhIHJuPUppbWRpZ3JpeiBydD04MDU0NzQ3MDAKVGphLCBpY2ggaGFiZSBzY2hvbiBtZWhybWFscyBhdWZydWZlIGluIGRpZSBaZWl0dW5nIGdlc2NocmllYmVuLCBtaXIgenUgZGVuCk1vbnN0ZXJuIGV0Yy4gTWVpbnVuZyB6dSBzY2hpY2tlbi4gT2huZSBJbmZvcm1hdGlvbmVuIGthbm4gbWFuIGtlaW5lIHVwZGF0ZXMKbWFjaGVuLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIE1vcmdlbkdyYXVlbiBXV1cgU2VpdGUgKEhhdGUsIDIwLiBKdWwgMTk5NSwgMTI6MDg6NDMpOgpEaWUgTW9yZ2VuR3JhdWVuIFdXVyBTZWl0ZSBpc3Qga29tcGxldHQgdW1nZXN0ZWxsdCB3b3JkZW4sIHVtIHNpZSBldHdhcwpzY2hvZW5lciB6dSBtYWNoZW4uIFdlciBhbHNvIG5vY2ggQm9va21hcmtzIGF1ZiBiZXN0aW1tdGUgU2VpdGVuIGhhdCBzb2xsdGUKbWFsIGVpbmUga2xlaW5lIFJldmlzaW9uIG1hY2hlbiB1bSB3aWVkZXIgdXAtdG8tZGF0ZSB6dSBzZWluLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZSQVUgV0FSRiBNQU5OIChMd2F4YW5hLCAyMC4gSnVsIDE5OTUsIDE4OjE2OjQyKToKIyEgcm49S2V0b3MgcnQ9ODA2MjUzODgzCkhpZXIgd2ltbWVsc3Qgdm9uIE1hY2hvcywgYXVzc2VyZGVtIGdlaG9lcnQgZGVyIEFydGlrZWwgZGVubiBuaWNodCB1bnRlcgp3aXR6ZT8KCk9rIE9rIG5pY2h0IHNjaGxhZ2VuLCBpY2ggYmluIGphIHNjaG9uIHN0aWxsLi4uIDo9KQpMd2F4IC0gZWlnZW50bGljaCBnYW56IGZyaWVkbGljaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBNb3JnZW5HcmF1ZW4gV1dXIFNlaXRlIChMZXVzZWwsIDIwLiBKdWwgMTk5NSwgMTg6NTQ6MzkpOgojISBybj1IYXRlIHJ0PTgwNjIzNDkyMwpIaSAhCgpLb2VubnRlIG1hbiBkZW4gQnV0dG9uIChvZGVyIHdhcyBpbW1lciBkYXMgaXN0KSB6dW0gU3BpZWxlbiB2b24gTUcgbmljaHQKd2llZGVyIGF1ZiBkaWUgU3RhcnRzZWl0ZSBwYWNrZW4gPwoKTGV1c2VsIChrb21tdCB6LlouIG51ciB1ZWJlciBXV1cgW2lucyBNRyByZWluIG1laW5lIGljaCBuYXR1ZXJsaWNoXSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgTW9yZ2VuR3JhdWVuIFdXVyBTZWl0ZSAoQWxpbmUsIDIxLiBKdWwgMTk5NSwgMTE6NDA6MDYpOgojISBybj1IYXRlIHJ0PTgwNjIzNDkyMwoKSGFsbG8gSGF0ZSwKCmRhbmtlIGZ1ZXIgZGllIG5ldWUgSG9tZXBhZ2UgZGVzIE1HLiBNaXIgc2luZCBkYSBudXIgZWluIHBhYXIgRGluZ2UKYXVmZ2VmYWxsZW4uIEFsc28gZGllIE1HLVplaXR1bmcga2FubiBtYW4gc293ZWl0IGljaCBzZWhlIG5pY2h0IG1laHIKZGlyZWt0IGFuc2VoZW4gKGVzIHNlaSBkZW5uIG1hbiBnZWh0IHp1ciBQYXJ0eXNlaXRlIHVuZCB3YWVobHQgdm9uIGRhCmF1cyBkaWUgUnVicmlrIFRyZWZmZW4gdW5kIGlzdCBkYW5uIGF1Y2ggaW4gZGVyIFplaXR1bmcpLiBVbmQgZGllCkJpbGRlciB2b24gZGVyIGRyaXR0ZW4gTUctUGFydHkgc2luZCB1ZWJlciBkZW4gYW5nZWdlYmVuZW4gTGluayBuaWNodAp6dSBlcnJlaWNoZW4gKEVycm9yIDQwNCBmaWxlIGRvZXMgbm90IGV4aXN0KS4KU28gZGFzIHdhciBkYXMgd2FzIG1pciBzbyBhdWZnZWZhbGxlbiBpc3QuCgpBbGluZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBTZWl0ZSAoQXJhbnlhLCAyMS4gSnVsIDE5OTUsIDE0OjAxOjE0KToKVGphLCBkaWUgS2FydGUgYXVmIGRlciBXV1ctU2VpdGUgaXN0IGphIHdvaGwgZWluc2FtZSBTcGl0emUuIFZvciBhbGxlbSBkaWUKbGEtCnRlaW5pc2NoZW4gTmFtZW4uIFZpZWxsZWljaHQgc29sbHRlIG1hbiBzaWNoIGZ1ZXIgUG9ydCBWYWluIHVuZCBEcmFjaGVuemlubmVuCmF1Y2ggbm9jaCBOYW1lbiBhdXNkZW5rZW4uLi4KQ2l2aXRhcyBQb3J0aSBWaWFuaW51bSB1bmQgLi4uIEhtbW0sIFppbm5lbiBhdWYgTGF0ZWluLi4uIFZpZWxsZWljaHQgRHJhZ28tCmNhc3RydW0uCkFyYW55YQogICAgICBsYWVzc3QgaGV1dCBuZSBNZW5nZSBTaGVrZWwgaGllci4gRGFzIHNpbmQgaW5zZ2VzYW10IG51biAxNSBOSVMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBTZWl0ZSAoQXJhbnlhLCAyMS4gSnVsIDE5OTUsIDE0OjAyOjM2KToKIyEgcm49QXJhbnlhIHJ0PTgwNjMyODA3NApBY2ggamEsIHVuZCBTY2hyZWNrZW5zc3BpdHplLi4uIE1vbnMgaG9ycm9yaXMuCgpBcmFueWEKICAgICAgaGF0IHVuaXZlcnNpdGFlciBhbmVya2FubnRlIExhdGVpbmtlbm50bmlzc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBNb3JnZW5HcmF1ZW4gV1dXIFNlaXRlIChIYXRlLCAyMi4gSnVsIDE5OTUsIDE3OjEzOjUzKToKIyEgcm49TGV1c2VsIHJ0PTgwNjI1OTI3OQpJcmdlbmR3aWUga29tbXQgbWlyIHNvd2FzIGtvbWlzY2ggdm9yLCBkZW5uIHdlbm4gbWFuIHBlciBXV1cgaW5zIE1HIGtvbW10LAppc3QgZGFzIGF1Y2ggZGlyZWt0IHVlYmVyIGRhcyBURUxORVQgYXVmIGRlbSBSZWNobmVyLCB3byBkZXIgV1dXIEJyb3dzZXIKbGFldWZ0IG1vZWdsaWNoLiBEZXIgV1dXIEJyb3dzZXIgbWFjaHQgbmFlbWxpY2ggbmljaHRzIGFuZGVyZXMsIGFscwpkYXMgVGVsbmV0IGF1Znp1cnVmZW4hCkZBbGxzIGVzIHRyb3R6ZGVtIG5pY2h0IGdlaHQsIHNvbGx0ZXN0IER1IG1hbCBmb2xnZW5kZSBBZHJlc3NlIGluIERlaW5lCkJvb2ttYXJrcyBlaW50cmFnZW46IDxBIEhSRUY9InRlbG5ldDovL211ZC51bmktbXVlbnN0ZXIuZGUvIj5NRzwvQT4KRGFubiBrb21tc3QgRHUgZGlyZWt0IHZvbiBkb3J0IGF1cyBuYWNoIE1HLiBJY2ggd2VyZGUgZXMgdHJvdHpkZW0gZGlyZWt0Cm5vY2ggaW4gZGllIFN0YXJ0c2VpdGUgZWludHJhZ2VuLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIE1vcmdlbkdyYXVlbiBXV1cgU2VpdGUgKFNvY3JhdGUsIDIyLiBKdWwgMTk5NSwgMTc6MjE6NDYpOgojISBybj1IYXRlIHJ0PTgwNjQyNjAzMwpIYWxsbyEKQWxzbyB3aWUgZGllIFNhY2hsYWdlIGhpZXIgaW4gZGVtIGJlc3Byb2NoZW5lbiBGYWxsIGlzdCB3ZWlzcyBpY2ggbmljaHQuCkFiZXIsIEhhdGUsIHZpZWxsZWljaHQgaXN0IGVzIHNvIHdpZSBoaWVyIGluIE11ZW5zdGVyLiBIaWVyIGthbm4gbWFuIG5hZW1saWNoCmlucyBXV1cgb2huZSBzaWNoIHZvcmhlciBpbnMgSW50ZXJuZXQgZWluZ2Vsb2dndCB6dSBoYWJlbi4gREFzIGVya2xhZXJ0IHdhcnVtCmplbWFuZCBudXIgdWViZXJzIFdXVyBpbnMgTXVkIGthbm47IHdlaWwgZXIgZXZ0bC4ga2VpbmVuIEFjY291bnQgaGF0LgpHcnVzcwpDYW1wZXNpbm8gU29jcmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgTW9yZ2VuR3JhdWVuIFdXVyBTZWl0ZSAoSGF0ZSwgMjIuIEp1bCAxOTk1LCAxNzoyOTozMik6CiMhIHJuPUxldXNlbCBydD04MDYyNTkyNzkKTWFuIGthbm4gamV0enQgZGFzIE1vcmdlbkdyYXVlbiBhdWYgZGVyIFN0YXJ0c2VpdGUgaW0gZXJzdGVuIEFic2F0egphbmtsaWNrZW4gdW0gZGlyZWt0IHp1IHNwaWVsZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBNb3JnZW5HcmF1ZW4gV1dXIFNlaXRlIChIYXRlLCAyMi4gSnVsIDE5OTUsIDE3OjM0OjEzKToKIyEgcm49QWxpbmUgcnQ9ODA2MzE5NjA2ClNvLCBkZXIgRmVobGVyIG1pdCBkZXIgUGFydHkgSUlJIFNlaXRlIGlzdCBiZWhvYmVuLgpXZWl0ZXJoaW4gaXN0IGRpZSBaZWl0dW5nIHNjaG9uIGRpcmVrdCB6dSBlcnJlaWNoZW4sIHdlbm4gbWFuIHNpY2ggdWViZXIKU3BpZWxlcmlzY2hlcyB1bmQgTXVkV1dXIHp1ciBaZWl0dW4gdm9yc2NobGFlZ3QuCmljaCBoYWJlIGFiZXIgbm9jaCBkaXJla3QgYXVmIGRlciBTZWl0ZSBTcGllbGVyaXNjaGVzIGVpbmVuIExpbmsgenVyClplaXR1bmcgZ2VzZXR6dC4gQXVmIGRpZXNlciBTZWl0ZSBpc3QgdWVicmlnZW5zIGF1Y2ggZWluIGRpcmtldGVyIExpbmsgenVtClNQSUVMRU4sIGdsZWljaCBhbSBBbmZhbmcuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBTZWl0ZSAoSGF0ZSwgMjIuIEp1bCAxOTk1LCAxNzozNTo1NSk6CiMhIHJuPUFyYW55YSBydD04MDYzMjgwNzQKRGllc2Ugc2Nob2VuZSBLYXJ0ZSB3YXIgZWluZSBBdWZ0cmFnc2FyYmVpdCB2b24gU2lxdWUgZnVlciBkYXMgTUcuCkljaCBoYWJlIHZvciBldmVudHVlbGwgZnVlciBkaWUgZWluemVsbmVuIFJlZ2lvbmVuIHNvbGNoZSBLYXJ0ZW4gYW4tCmZlcnRpZ2VuIHp1IGxhc3Nlbi4gVGphLCBMYXRlaW5rZW5udG5pc3NlIHdhZXJlbiBkYSBzY2hvbiB2b24KVm9ydGVpbCA6KQpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIE1vcmdlbkdyYXVlbiBXV1cgU2VpdGUgKEhhdGUsIDIyLiBKdWwgMTk5NSwgMTc6Mzc6NTApOgojISBybj1Tb2NyYXRlIHJ0PTgwNjQyNjUwNgppY2ggZ2xhdWJlIGljaCB3dXJkZSBuaWNodCB2ZXJzdGFuZGVuLiBXZW5uIG1hbiBXV1cgbWFjaGVuIGthbm4sIGthbm4gbWFuCmF1Y2ggZGlyZWt0IHRlbG5ldCBtYWNoZW4sLiBkZW5uIGRhcyB0ZWxuZXQgcnVmdCBBVUYgREVNIFNFTEJFTiBSZWNobmVyCmVpbmZhY2ggbnVyIGRhcyBUZWxuZXQgbWl0IGRlciBBZHJlc3NlIGRlcyBNVURzIGF1ZiEKV2VubnMgYWxzbyBlaW4gUEMgaXN0LCBzb2xsdGUgbWFuIHVudGVyIFdpbmRvd3MgZWluZmFjaCBtYWwgZGFzIFRlbG5ldApzdWNoZW4gdW5kIGF1ZnJ1ZmVuLgpIYXRlLgosCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdG9wIG51Y2xlYXIgdGVzdHMgKFNsYXNoLCAyNC4gSnVsIDE5OTUsIDEwOjMyOjAwKToKSGFsbG8sIGJpbiB1ZWJlciBlaW5lbiBLZXR0ZW5icmllZiBhdWYgZm9sZ2VuZGUgU2VpdGUgYXVmbWVya3NhbSBnZXdvcmRlbjoKCmh0dHA6Ly93d3cuaWNlcHAucy51LXRva3lvLmFjLmpwL35rZXNoaS8KCndlbm4gSWhyIGViZW5mYWxscyBFdWVyZW4gTWlzbXV0IHVlYmVyIGRpZSBnZXBsYW50ZW4gQXRvbWJvbWJlbnZlcnN1Y2hlIGluCm11cnVyb2Ega3VuZHR1biB3b2xsdCwKa29lbm50IElociBldWNoIGRhIGF1Y2ggaW4gZWluZSBMaXN0ZSBlaW50cmFnZW4sIGRpZSBhbiBDaGlyYWMgZ2VzY2hpY2t0CndlcmRlbiBzb2xsLgoKc2xhc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpbGJlcnQgSG9tZSBQYWdlIChDZXJlYnVzLCAyNC4gSnVsIDE5OTUsIDEzOjI0OjE1KToKTW9pbiEKCktlbm5zdCBEdSBEaWxiZXJ0PyBOZWluPyBEYW5uIHNjaGF1IG1hbCBpbiBkaWVzZSBXV1ctUGFnZSByZWluLi4uOgoKIHd3dy51bml0ZWRtZWRpYS5jb20vY29taWNzL2RpbGJlcnQKClRBZWdsaWNoIGVpbiBuZXVlciBzdHJpcC4uLiB1bmQgYXVjaCBub2NoIGd1dGUgZGF6dS4uLgoKCldpbmtlLCBXaW5rZSwgQ2VyZWJ1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChMb2N1dHVzLCAyNy4gSnVsIDE5OTUsIDE0OjIxOjU0KToKSGFsbG8gTXVkZGllcyEKCkljaCBtb2VjaHRlIG1hbCBldHdhcyB6dXIgRGlza3Vzc2lvbiBzdGVsbGVuLCB3YXMgbWlyIGdlcmFkZSBwYXNzaWVydCBpc3Q6CgpJY2ggaGFiZSBnZXJhZGUgZWluZSBuZXVlIFdXVy1TZWl0ZSBnZXNjaHJpZWJlbiB1bmQgd29sbHRlIHNpZSBhbnNjaGxpZXNzZW4KbGFzc2VuLCBkYQpzYWd0ZSBtYW4gbWlyLCBkaWVzZSBXV1ctU2VpdGUgc2VpIHp1IHBlcnNvZW5saWNoIHVuZCBpY2ggc29sbGUgbWl0IG1laW5lbQpSZWdpb25zLQpNYWdpZXIgYmVzcHJlY2hlbiwgb2Igc28gZWluZSBTZWl0ZSBhbmdlc2NobG9zc2VuIHdlcmRlbiBrb2VubmUsIG9kZXIgbmljaHQuCkRhIGljaCBhbiB1bnNlcmVyIFVuaSBuaWNodCBkaWUgTW9lZ2xpY2hrZWl0IGhhYmUgZWluZSBlaWdlbmUgV1dXLVNlaXRlIHp1CmVyc3RlbGxlbiwgaGFiIGljaCBoYWx0IGluIG1laW5lIE1vcmdlbmdyYXVlbi1TZWl0ZSBlaW4gcGFhciBzY2hvZW5lCkxpbmtzIGdlcGFja3QsIHZvbiBkZW5lbiBpY2ggbWVpbmUsIGRhc3Mgc2llIGF1Y2ggbm9jaCB2aWVsZQphbmRlcmUgTXVkZGVyIGludGVycmVzc2llcmVuIGtvZW5udGVuLiBEYXMgZ2FsdAp3b2hsIHNjaG9uIGFscyB6dSBwcml2YXQuIERhIHN0ZWxsdCBzaWNoIGZ1ZXIgbWljaCBkaWUgRnJhZ2UsIHdhcnVtIHNvbGwKbWFuIHNvbnN0IGVpbmUgV1dXLVNlaXRlIHNjaHJlaWJlbiwgd2VubiBkb3J0IG5pY2ggbm9jaCB3ZWl0ZXJlIExpbmtzCmF1ZiBhbmRlcmUgc2Nob2VuZSBTZWl0ZW4gdW50ZXJnZWJyYWNodCBzaW5kLiBJcmdlbmR3aWUgbmltbXQgZGFzIGVpbmVtIGRpZQpNb3RpdmF0aW9uLiBWaWVsbGVpY2h0IHVlYmVybGVnZW4gc2ljaCB1bnNlcmUgbGllYmVuIEdvZXR0ZXIgdW5kIEVyem1hZ2llcgptYWwsIG9iIHNpZQpuaWNodCBkb2NoIHByaXZhdGUgRGluZ2UgKG5hdHVlcmxpY2ggYWxsZXMgbWFzc3ZvbGwpIGluCk1vcmdlbmdyYXVlbi1XV1ctU2VpdGVuIHp1bGFzc2VuLiBJY2ggZmluZGUsIGRhZHVyY2gKa2FubiBkYXMgTW9yZ2VuZ3JhdWVuIG51ciBzY2hvZW5lciB1bmQgdmllbGZhZWx0aWdlciB3ZXJkZW4hCgpMb2N1dHVzIChkZXIgbm9jaG1hbCBhbGxlcyBpbiBSdWhlIHZlcm51ZW5mdGlnIG1pdCBTaWx2YW5hIGJlc3ByZWNoZW4gd2lyZCkKClAuUy4gRW50c2NodWxkaWd0IGRpZSBGb3JtYXRpZXJ1bmcsIGFiZXIgaWNoIGhhYiB2ZXJnZXNzZW4sIGRpZSBLYW5hZWxlCmFienVzdGVsbGVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdXVy1TZWl0ZW4gZGVyIE1hZ2llciAoSGF0ZSwgMjcuIEp1bCAxOTk1LCAyMDoyNDo1OSk6CiMhIHJuPUxvY3V0dXMgcnQ9ODA2ODQ3NzE0Ck51bmRlbm4sIGRhIGVzIG5pY2h0IGdlcmVpY2h0IGhhdCwgZXMgRGlyIHByaXZhdCB6dSBlcmtsYWVyZW4gaGllciBub2NobWFsCmZ1ZXIgYWxsZToKCkRpZSBXV1cgU2VpdGVuIHZvbiBNb3JnZW5HcmF1ZW4gc2luZCBuaWNodCB6dXIgU2VsYnN0ZGFyc3RlbGx1bmcgZGVyIE1hZ2llcgpnZWRhY2h0ISBXZW5uIG1hbiBlaW5lIGVpZ2VuZSBTZWl0ZSBhbmxlZ2VuIGRhcmYgaW4gc2VpbmVyIFJlZ2lvbiBzb2xsdGUKbWFuIHNpY2ggYml0dGUgYW4gZGllIFJlZ2lvbiB1bmQgSW5mb3JtYXRpb25lbiBkYXJ1ZWJlciBoYWx0ZW4uIEplZ2xpY2hlcgpUZXh0LCB3ZWxjaGVyIG1pdCBkZXIgUmVnaW9uIG9kZXIgZGVtIENoYXJha3RlciBpbiBNb3JnZW5HcmF1ZW4genUgdHVuIGhhdAppc3QgZXJsYXVidCwgYWJlciBiaXR0ZSBrZWluZSBwZXJzb2VubGljaGVuIExpbmtzIG9kZXIgc29uc3RpZ2VzLgpEYXMgaGF0IGF1Y2ggc2VpbmVuIEdydW5kIQphKSBTaW5kIGRpZSBSZWdpb25zc2VpdGVuLCBnZW5hdSBkYXMgd2FzIHNpZSBoZWlzZW4sIG5hZW1saWNoIGZ1ZXIgZGllCiAgIFJlZ2lvbmVuIGRhIHVuZApiKSB2ZXJzdWNoZW4gd2lyIGVpbmUgRmx1dCB2b24gU2VpdGVuLCB1ZWJlciBkaWUgd2lyIGtlaW5lcmxlaSBFaW5mbHVzcwogICBoYWJlbiB6dSB2ZXJoaW5kZXJuLiBNYW5jaGUgZW50d2lja2VsbiBkYWJlaSBuYWVtbGljaCBlaW5lIGVyc3RhdW5saWNoZQogICBTY2hyZWlid3V0LgpEaWUgd2lsbCBpY2ggamV0enQga2VpbmVtIHVudGVyc3RlbGxlbiwgYWJlciBkYXMgVmVyZnVlZ2Jhcm1hY2hlbiB2b24gZWlnZW5lbgpJbmZvcm1hdGlvbmVuIHp1IHNlaW5lbiBNVUQtU3BlemlmaXNjaGVuIFNhY2hlbiBpc3QgZ2VudWchIFdpciBzaW5kIGtlaW4KQW5iaWV0ZXIgdm9uIFdXVyBJbmZvcm1hdGlvbmVuIGZ1ZXIgamVkZXJtYW5uLCB3aXIgc2luZCBlaW4gTVVELiBVbmQgZGF6dQpnZWhvZXJ0IGF1Y2gsIGRhc3Mgd2lyIGhpZXIgbWl0IGJlc3RpbW10ZW4gQ2hhcmFrdGVyZW4gYXJiZWl0ZW4gdW5kIG5pY2h0Cm1pdCBkZW4gUkwgUGVyc29uZW4uIEdlbmF1IHNvIHNvbGwgc2ljaCBkaWUgV1dXIFNlaXRlIGF1Y2ggZGFyc3RlbGxlbi4KSWNoIG1vZWNodGUgbmljaHQgZGllIFJlZ2lvbnNzZWl0ZW4gbm9jaCBwZXJzb2VubGljaCBtb2RlcmllcmVuIG11ZXNzZW4hCkFsc28gaGFsdGV0IEV1Y2ggZGFyYW4sIGJpdHRlIQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChTaWx2YW5hLCAzMS4gSnVsIDE5OTUsIDA3OjUxOjE1KToKIyEgcm49SGF0ZSBydD04MDY4Njk0OTkKRGEgSGF0ZSBvZmZlbmJhciBkZXIgZWluemlnZSBITE0gaXN0LCBkZXIgTHVzdCBoYXQsIHNpY2ggdWViZXJoYXVwdCB1bQpXV1cgenUga3VlbW1lcm4sIHNvbGwgZXIgYXVjaCBkYXMgbGV0enRlIFdvcnQgaGFiZW4uIDspCkZ1ZXIgZGVuIFdhbGQgaGVpc3N0IGRhcyBrb25rcmV0LCBkYXNzIGVzIGFiIHNvZm9ydCBLRUlORSBwZXJzb2VubGljaGUKV1dXLVNlaXRlIG1laHIgZ2ViZW4gd2lyZC4gV2VyIGVpbiBTdHVlY2sgYW5nZXNjaGxvc3NlbmVzIEdlYmlldCBoYXQsCmVyc2NoZWludCBpbiBkZXIgTWl0YXJiZWl0ZXJzZWl0ZSB1bmQga2FubiBzaWNoIGRvcnQgZWluZW4ga2xlaW5lbgpBYnNhdHogenUgbXVkc3BlemlmaXNjaGVuIERpbmdlbiBlaW50cmFnZW4gbGFzc2VuLiBBdWNoIGVpbmVuIExpbmsgYXVmCmVpbmUgYW4gYW5kZXJlciBTdGVsbGUgYmVmaW5kbGljaGUgcGVyc29lbmxpY2hlIFdXVy1TZWl0ZSByaWNodGUgaWNoCmRhIGdlcm5lIGVpbi4gRWluZSBwZXJzb2VubGljaGUgV1dXLVNlaXRlIGltIE1HIHdpcmQgZXMgYWJlciBpbSBXYWxkCm5pY2h0IG1laHIgZ2ViZW4uCgpTaWx2YW5hLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChCbG9vZHloYXJyeSwgIDEuIEF1ZyAxOTk1LCAwMzo1Mzo0NSk6CiMhIHJuPVNpbHZhbmEgcnQ9ODA3MTY5ODc1CkljaCBtb2VjaHRlIEhhdGVzIFZlcmRpZW5zdGUgaGllciBhbiBrZWluZXIgU3RlbGxlIHNjaG1hZWxlcm4sIGFiZXIgZWluIHBhYXIKV29ydGUgbW9lY2h0ZSBpY2ggYXVmIGplZGVuIEZhbGwgaGllcnp1IHZlcmxpZXJlbi4KSWNoIHNlaGUgYW4ga2VpbmVyIFN0ZWxsZSwgZGFzcyBMb2N1dHVzIHNpY2ggaXJnZW5kd2llIGFuIGVpbmVyIFN0ZWxsZQoiU2VsYnN0ZGFyc3RlbGx0IiAoc28gYmVzY2hyaWViZW4pLgpXZW5uIGVyIGRpZXMgbmljaHQgaW4gZGVuIE1HLVNlaXRlbiB0dXQsIGRhbm4gZ2FueiBzaWNoZXIgYXVjaCBuaWNodCBhbiBlaW5lcgphbmRlcmVuIFN0ZWxsZSwgZGEgZXIsIHdpZSBlciBzY2hvbiBiZXJpY2h0ZXRlLCBrZWluZSBNb2VnbGljaGtlaXQgYXVmIGVpZ2VuZQpTZWl0ZSBhbiBkZXIgVW5pRG8gdmVyZnVlZ3QuClNpbHZhbmEgaGluZ2VnZW4gbGFlc3N0IGF1c2RydWVja2xpY2ggZWluIHNvbGNoZXMgTGluayBhdWYgZWluZSBwZXJzb2VubGljaGUKZXh0ZXJuZSBTZWl0ZSB6dS4KSWNoIGhhYmUgamEgYXVjaCBuaWNodCBkZW4gdm9sbGVuIER1cmNoYmxpY2sgYmVpIFdXVywgYWJlciBlaW5lcyBpc3QgbWlyCnZvZWxsaWcga2xhcjogTGlua3MgU0lORCBkYXMgQSB1bmQgTyBiZWltIFdXVy4gVW5kIHdlciB2ZXJzdWNodCwgZGllc2UKenUgdW50ZXJiaW5kZW4sIGhhdCBXV1cgbmljaHQgdmVyc3RhbmRlbi4KV2VubiBlcyBhbHNvIGVpbmUgVU50ZXJzY2hlaWR1bmcgZ2lidCwgZGFubiBiaXR0ZSBpbiBsb2thbGUgdW5kIGV4dGVybmUKTGlua3MuIERlbm4gbGV0enRlcmUgYmVub2V0aWdlbiB3ZWRlciBTcGVpY2hlciBub2NoIFJlY2hlbnplaXQgYXVmIGRlbQphdWZnZXJ1ZmVuZW4gUmVjaGVuZXIgKHNvbGx0ZSBkb2NoIGJla2FubnQgc2Vpbiwgb2Rlcj8pCkljaCBiaW4gbWlyIHNpY2hlciwgd2lyIGZpbmRlbiBoaWVyIGVpbmVuIHp1IGJlaWRlbiBTZWl0ZW4gYWt6ZXB0YWJsZW0KS29tcHJvbWlzcy4KCmNpYW8KICAgIEJsb29keSBIYXJyeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChIYXRlLCAgMS4gQXVnIDE5OTUsIDIxOjEyOjE4KToKIyEgcm49Qmxvb2R5aGFycnkgcnQ9ODA3MjQyMDI1CkFsc28gbm9jaG1hbDoKICogRGllIFJlZ2lvbnNzZWl0ZW4gc2luZCBmdWVyIGRpZSBEYXJzdGVsbHVuZyBkZXIgUmVnaW9uZW4gdW5kIGRlcyBNVURzCiAgIGRhLgogKiBMaW5rcyBzaW5kIG1vZWdsaWNoc3QgZGVtIFRoZW1hIGVudHNwcmVjaGVuZCB6dSBsZWdlbiwgYWxzbyBLRUlORQogICAiY29vbGVuIiBMaW5rcyBpcmdlbmR3b2hpbi4KICogTWFuIGthbm4gc2VpbmVuIENoYXJha3RlciBiZXNjaHJlaWJlbiwgYWJlciBpbSBNb21lbnQgYWt6ZXB0aWVyZSBpY2gKICAga2VpbmUgInBlcnNvZW5saWNoZSIgRGFyc3RlbGx1bmcgaW0gU2lubmUgdm9uIEluZm9ybWF0aW9uZW4gdWViZXIgZGVuCiAgIFJMIENoYXJha3Rlci4gRGF6dSBJU1QgRVJMQVVCVCBlaW5lbiBMaW5rIGF1ZiBzZWluZSBlaWdlbmUgSE9NRSBQQUdFCiAgIHp1IG1hY2hlbi4gV2VyIGRpZXNlIE1vZWdsaWNoa2VpdCBpbSBNb21lbnQgbmljaHQgaGF0IGlzdCBsZWlkZXIKICAgc2NobGVjaHQgZHJhbiwgYWJlciBkYXJhbiBrYW5uIGljaCBpbSBNb21lbnQgbmljaHRzIGFlbmRlcm4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChIYXRlLCAgMS4gQXVnIDE5OTUsIDIxOjE0OjQwKToKIyEgcm49SGF0ZSBydD04MDczMDQzMzgKV2VyIGRhcyBhbGxlcyBub2NobWFsIGdlbmF1IHdpc3NlbiB3aWxsLCBzb2xsIHNpY2ggZGFzIFN0eWxlIEd1aWRlIGZ1ZXIKZGllIE1HIFdXVyBTZWl0ZW4gZHVyY2hsZXNlbi4KICBodHRwOi8vc2FudGFuYS51bmktbXVlbnN0ZXIuZGUvfm11ZC9JbmZvcm1hdGlvbi9XV1cvZ3VpZGUuaHRtbApXZXIgc2ljaCBkYXJhbiBuaWNodCBoYWx0ZW4ga2FubiwgbXVzcyBhbHNvIGltIE1vbWVudCBkYXJhdWYgdmVyemljaHRlbiwKU2VpdGVuIHp1IHNjaHJlaWJlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdXVy1TZWl0ZW4gZGVyIE1hZ2llciAoUHVtYSwgMTYuIEF1ZyAxOTk1LCAxNDoxNDoxNyk6CiMhIHJuPUhhdGUgcnQ9ODA3MzA0NDgwCkxpbmtzIGltIFdXVyBzaW5kIGRpZSBSdWVja2tlaHIgenVyIGFsdGVuIEdPVE8tUHJvZ3JhbW1pZXJ1bmcuLi4uCgpQdW1hIQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXV1ctU2VpdGVuIGRlciBNYWdpZXIgKEtldG9zLCAxNy4gQXVnIDE5OTUsIDEzOjMwOjEzKToKIyEgcm49UHVtYSBydD04MDg1NzUyNTcKWWVhaCwgYmFjayB0byB0aGUgQkFTSUMgcm9vdHMKCi0gS2V0b3MgLSBodHRwOi8vd3d3LmtldG9zLzspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOVVIgZnVlciBZYW50cm8gOykgKEhhcmRpbCwgMTguIEF1ZyAxOTk1LCAxMzoyMzoxOCk6CllhbnRybywKd2VubiBEaXIgRWluc0xpdmUgZG9jaCBtYWwgdWViZXIgc2VpbiBzb2xsdGUsIHZlcnN1Y2hzIGRvY2ggbWl0CgpodHRwOi8vc3dmLmlyYS51a2EuZGUvU1dGMy9wZW9wbGUvRS5TZWliZXJ0Lmh0bWwKCklzdCBlaW5mYWNoIGJlc3Nlci4gOikKCi1IYXJkaWwKClBTOiBOZWluLCBkYXMgc3RlaHQgYWJzaWNodGxpY2ggaGllciB1bmQgbmljaHQgaW4gZGVyIHBlcnNvZW5saWNoZW4gbWFpbC4gSWNoCmRlbmtlLCBkaWUgbWVpc3RlbiB3aXNzZW4gQkVzY2hlaWQgOikgU29uc3Qga2FubiBtYW4gZ2VybmUgbmFjaGZyYWdlbiA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdXVy1TZWl0ZW4gZGVyIE1hZ2llciAoUmFmZmksIDE4LiBBdWcgMTk5NSwgMjA6NDQ6MTYpOgojISBybj1LZXRvcyBydD04MDg2NTkwMTMKQ2FuJ3QgbG9jYXRlIHJlbW90ZSBob3N0OiB3d3cua2V0b3MuCjotKAoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdXVy1TZWl0ZW4gZGVyIE1hZ2llciAoQW50aGVhLCAyNi4gQXVnIDE5OTUsIDIyOjQyOjI0KToKIyEgcm49S2V0b3MgcnQ9ODA4NjU5MDEzClllcCwgZGFzIG1laW4gaWNoIGF1Y2guLi4uIHNjaGxpZXNzbGljaCBoYWJlIGljaCBlbmRsaWNoIGRlbiBmdW5rdGlvbmllcmVuZGVuCkM2NC1FbXVsYXRvciB6dSBIYXVzZS4uLiB1bmQgZWluIEZyZXVuZCB2b24gbWlyIGhhdCBzZWluZSAxNTQxIGFuIGRlbiBQQwpnZWtvcHBlbHQuIEVuZGxpY2gga2FubiBpY2ggd2llZGVyIFBpdGZhbGxJSSB1bmQgTG9kZXJ1bm5lciBzcGllbGVuOikKICAgICAgIEFudGhlYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV1dXLVNlaXRlbiBkZXIgTWFnaWVyIChZZW5kaSwgMjguIEF1ZyAxOTk1LCAxNTo0MjozNik6CiMhIHJuPUFudGhlYSBydD04MDk0Njk3NDQKCk9oaGguLi4gS2FubiBpY2ggZGVtIEVtdSBhdWNoIGhhYmVuPyBVbmQgc2FlbXRsaWNoZSBTcGllbGUgYXVmIDMuNSBab2xsPwpEYW5rZSEgICA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXV1ctU2VpdGVuIGRlciBNYWdpZXIgKFN0YWhsZG9ybiwgIDkuIFNlcCAxOTk1LCAxNjoxMjowMCk6CiMhIHJuPVllbmRpIHJ0PTgwOTYxNzM1NgpQQVJBRFJPSUQhISAgIEljaCBzYWcgbnVyIFBBUkFEUk9JRCEKKnNjaHdlbGcqCgogU1RBSExpICA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGhhZXR0IGRhIG5lbiBrbGVpbmVuIFZvcnNjaGxhZy4uLiAoUm9uZGEsIDExLiBTZXAgMTk5NSwgMTQ6NDU6MTIpOgpXYWVyZSBlcyBtb2VnbGljaCwgZGFzcyBJaHIgYXVmIGRlciBFaW5zdGllZ3NzZWl0ZSBuZW4gVmVyd2VpcyBhdWYgZGllClBhcnR5YmlsZGVyIG1hY2h0IC0gb2RlciBhdWYgZGVyIFNlaXRlIE5ldWVzPyBJY2ggc3VjaGUgbWljaCBpbW1lciBoYWxiIHRvdCwKYmlzIGljaCBkaWUgQmlsZGVyIGdlZnVuZGVuIGhhYmUuClVuZCBlcyB3YWVyZSBpbnRlcmVzc2FudCwgYXVmIGRlbiBTZWl0ZW4gc3RlaGVuIHp1IGhhYmVuLCB3ZXIgc2llIGdlc2NocmllYmVuCmhhdCAtIGRhbWl0IGV0d2FpZ2UgRmxhbWVzIG9kZXIgR3JhdHMgYmVpbSBSaWNodGlnZW4gYW5rb21tZW4uCkp1c3QgbXkgdHdvIFllbiBvZGVyIHNvLAogICAgICAgIFJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGhhZXR0IGRhIG5lbiBrbGVpbmVuIFZvcnNjaGxhZy4uLiAoRXRhaCwgMTEuIFNlcCAxOTk1LCAxNToxNzoxNCk6CiMhIHJuPVJvbmRhIHJ0PTgxMDgyMzUxMgpFcyBleGlzdGllcnQgZWluIFZlcndlaXMgdm9uIGRlciBBZW5kZXJ1bmdlbiB1bmQgTmV1aWdrZWl0ZW4gU2VpdGUuCkUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNWVJBIChHd3luZG9uLCAyNS4gU2VwIDE5OTUsIDE2OjEzOjA4KToKCkhhbGxvIElociEKCkljaCBmcmV1ZSBtaWNoIHNvLCBkYXNzICJtZWluZSIgV1dXLVNlaXRlbiB1ZWJlciB1bnNlcmUgRmFudGFzeS1XZWx0IE1ZUkEKamV0enQgLWVuZGxpY2gtIHdpZWRlciBPbmxpbmUgc2luZCwgZGFzcyBpY2ggRXVjaCBkYXMgdW5iZWRpbmd0IG1pdHRlaWxlbgptdXNzLgoKIERlcnplaXQgZXJyZWljaGJhciB1bnRlciBodHRwOi8vYW5hcmNoeS50dWUuc2Nod2FiZW4uZGUvbXlyYS9NQUlOLmh0bWwKCkRvcnQgZmluZGVuIHNpY2ggc2VociB2aWVsZSBJbmZvcm1hdGlvbmVuIHp1bSBQcm9qZWt0IE15cmEsIHVuZCBkZW4KTW9lZ2xpY2hrZWl0ZW4sIHNpY2ggT25saW5lIHVuZCBPZmZsaW5lIGRhcmFuIHp1IGJldGVpbGlnZW4uIFdlciBtYWwgZWluZQphbmRlcmUgV2VsdCBrZW5uZW5sZXJuZW4gbW9lY2h0ZS4uLiAgOi0pKQoKWW91cnMgR3d5bmRvbiAoYWthIElyYXMpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcmFueWFzIEhvbWVQYWdlIChBcmFueWEsIDI2LiBPa3QgMTk5NSwgMTY6MTk6MjQpOgpbVmVybGVndCB2b24gYW56ZWlnZW4sIEFyYW55YSwgMjYuIE9rdCAxOTk1LCAxNjoxMjo1MF06CkljaCBoYWIncyB0YXRzYWVjaGxpY2ggZ2VzY2hhZmZ0ISBJY2ggYWxzIERBVSAoRHVlbW1zdGVyIEFuenVuZWhtZW5kZXIgVXNlcikKaGFiIGRvY2ggaW5kZXJ0YWF0IGVpbmUgZWlnZW5lIFdXVy1TZWl0ZSB6dXN0YW5kZWdla3JpZWd0LgpEaWVzZSBpc3QgYWIgamV0enQgZWluenVzZWhlbi4gQml0dGUhCmh0dHA6Ly93d3cuZ2VvcGFnZXMuY29tL1BhcmlzLzE0NDkuCgpGcmV1IG1pY2ggYXVmIFJlYWt0aW9uZW4vRmxhbWVzL0xvYiBldGMuCkFyYW55YQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpc2VuZm9yc2NodW5nIChSYXR6LCAyOC4gT2t0IDE5OTUsIDE4OjUwOjU2KToKSWNoIG1vZWNodGUgbnVyIGJla2FubnQgZ2ViZW4sIGRhc3MgZGllIEFidGVpbHVuZyB1bnNlcmVzIEluc3RpdHV0ZXMgaW4gZGVtCmljaCBhcmJlaXRlIGVpbmUgd3d3LVNlaXRlIHp1c2FtbWVuZ2VzdGVsbHQgaGF0LgpEYXMgSW5zdGl0dXQgc3RlaHQgaW4gRHVlc3NlbGRvcmYKTWF4IFBsYW5jayBJbnN0aXR1dCBmdWVyIEVpc2VuZm9yc2NodW5nIEdtYkgKQWJ0ZWlsdW5nIE1ldGFsbHVyZ2llCnd3dyBBZHJlc3NlOiBtdC5tcGllLWR1ZXNzZWxkb3JmLm1wZy5kZQpFcyBpc3Qgbm9jaCBuaWNodCBhbGxlcyBmZXJ0aWcgYWJlciBtYW4gc29sbCBqYSBhdWNoIG5pY2h0cyB1ZWJlcnN0dWVyemVuLgpWaWVsIFNwYXNzIHd1ZW5zY2h0IHJhdHpmYXR6IFJhdHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlZ2lvbnMtV1dXLVNlaXRlbiAoSGF0ZSwgMTEuIERleiAxOTk1LCAxMTozNDo0MCk6CkRhcmYgaWNoIG5vY2htYWxzIGRhcmF1ZiBIaW53ZWlzZW4sIGRhc3MgZXMgZnVlciBkaWUgRXJzdGVsbHVuZyBkZXIgV1dXClNlaXRlbgplaW4gU3R5bGUgR3VpZGUgZ2lidDoKIGh0dHA6Ly9zYW50YW5hLnVuaS1tdWVuc3Rlci5kZS9+bXVkL0luZm9ybWF0aW9uL1dXVy9ndWlkZS5odG1sCkRpZXNlcyBzb2xsdGUgYml0dGUgYmVhY2h0ZXQgd2VyZGVuLCB3ZW5uIFNlaXRlbiBmdWVyIE1HIGdlc2NocmllYmVuIHdlcmRlbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgQWRyZXNzZT8gKElzbm9nb29kLCAyNy4gRGV6IDE5OTUsIDA0OjA2OjM4KToKU29sbHRlIG1pciBlbnRnYW5nZW4gc2VpbiwgZGFzcyBkaWUgV1dXLVNlaXRlIGVpbmUgbmV1ZSBBZHJlc3NlIGhhdD8KaHR0cC8vOm11ZC51bmktbXVlbnRzZXIuZGU6NDcxMS8gZ2VodCBiZWkgbWlyIGplZGVuZmFsbHMgbmljaHQgbWVoci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIEFkcmVzc2U/IChSZWluZWxkZSwgMjcuIERleiAxOTk1LCAxMTo1NTo0Nyk6Cn4jISBybj1Jc25vZ29vZCBydD04MjAwMzM1OTgKfiMhIHRpZD04MjAwMzM1OTgKYWxzbyBiZWltIGVpbmxvZ2dlbiBzdGVodCBodHRwOi8vc2FuYXRhLnVuaS1tdW5zdGVyLmRlL35tdWQvIGFiZXIgc2FudGFuYQpzY2hlaW50IGF1cyB6dSBzZWluLiBidHcuIDQ3MTEgaXN0IGRlciBtdWRwb3J0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV1ZSBBZHJlc3NlPyAoT3JrdG9ldGVyLCAgNC4gSmFuIDE5OTYsIDE2OjIzOjExKToKfiMhIHJuPUlzbm9nb29kIHJ0PTgyMDAzMzU5OAp+IyEgdGlkPTgyMDAzMzU5OAphbHNvIHdlbm4gZHUgZXMgZXhha3Qgc28gdmVyc3VjaHQgaGFzdCwgaXN0IGRhcyBkb2NoIGF1Y2gga2xhci4uLiBtdWVudHNlci4uLgpoaWhpaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laW5lIFdXVy1TZWl0ZSAoSGFyLCAyNy4gTWFyIDE5OTYsIDE4OjE1OjI5KToKSGFsbG8gTXVkZGVycy4uLi4KSWNoIGhhYmUgbWlyIGVpbmUgd3d3LXNlaXRlIGdlYmFzdGVsdCAoaXN0IGphIE1vZGUgamV0eikgdW5kIG5lbgpaYWVobGVyIGRyYXVmZ2VwYXBwdCAoaXN0IGF1Y2ggTW9kZSBqZXR6dCkuCnVudGVuIGF1ZiBkZXIgU2VpdGUgYmVmaW5kZXQgc2ljaCBlaW4gbGluayBhdWYgZGllIGJhbmQsCmluIGRlciBpY2ggc3BpZWxlIChpc3QgZGllIGF1Y2ggaW4gTW9kZT8pLgpEYSBkZXIgemFlaGxlciBhdWYgZGllc2VyIFNlaXRlIHppZW1saWNoIG1pZXMgYXVzc2llaHQgbWl0IDkgKCEpIFp1Z2FlbmdlbiBpbgpkZXIgbGV0enRlbiB3b2NoZSwga29lbm50ZXQgaWhyIGV1Y2ggZGllIFNlaXRlIGphIG1hbCB1bnRlcgpodHRwOi8vd3d3LnRlY2hlbS5ydWhyLXVuaS1ib2NodW0uZGU3c2lndXJkIGFuc2NoYXVlbgp3c2EgdWViZXIgbWVpbmUgS2FwZWxsZSBnaWJ0IGVzIHVudGVyIC4uLi9zaWd1cmQvYW5nZWxzLmh0bWwKClZpZWwgU3Bhc3MgZGFtaXQsCgpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZWluZSBXV1ctU2VpdGUgKEd1bGR1a2F0LCAyOC4gTWFyIDE5OTYsIDE5OjI2OjE0KToKfiMhIHJuPUhhciBydD04Mjc5NDY5MjkKfiMhIHRpZD04Mjc5NDY5MjkKCkFBQWhoaGhoIFdlcmJ1bmcgaW0gTmV0enQsIEJveWtvdHQhIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzcGllbGVyLWhvbWVwYWdlcyAoQmVldGxlLCAyOC4gTWFyIDE5OTYsIDE5OjQ2OjM1KToKaGkKCndlbm4gaWhyIGZlcnRpZyBzZWlkLCBldWNoIHdpZWRlcm1hbCBnZWdlbnNlaXRpZyBhbnp1cG9lYmJlbG4sIGhhZXR0ZSBpY2ggbWFsCmVpbmVuIFZvcnNjaGxhZy9CaXR0ZS9BbnJlZ3VuZzoKCktvZW5udCBpaHIgYXVmIGRlciBNRy1Ib21lIFBhZ2UgbmljaHQgbWFsICduZSBTZWl0ZSBtaXQgTGlua3MgenUgU3BpZWxlci1Ib21lClBhZ2VzIGFubGVnZW4/CkRhIGtvZW5udGUgbWFuIHNpY2ggZW50d2VkZXIgZGlyZWt0IGVpbnRyYWdlbiBvZGVyIG1hbiBzY2hpY2t0IGhhbHQgaXJnZW5kd2VtCiduZSBtYWlsIG1pdCBkZXIgQWRyZXNzZS4KCldlbm4gZXMgZGFzIHNjaG9uIGdpYnQgKHdhcyBtaXIgc2VociBwZWlubGljaCB3YWVyZSksIGRhbm4gdmVyc3RlY2t0IGRpZQpTZWl0ZSBiaXR0ZSBuaWNodCBzbyBndXQgOy0pCgpieWVieWUsIGJlZXRsZQoKUFM6IEtvZW5udCBpaHIgenVyIEFid2VjaHNsdW5nIG5pY2h0IGVpbmZhY2ggbWFsIG5ldHQgenVlaW5hbmRlciBzZWluPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNwaWVsZXItaG9tZXBhZ2VzIChSYWZmaSwgMjguIE1hciAxOTk2LCAxOTo1MTo0Nik6Cn4jISBybj1CZWV0bGUgcnQ9ODI4MDM4Nzk1Cn4jISB0aWQ9ODI4MDM4Nzk1CgpOZWluLCBpY2ggd2VyZGUgamV0enQgbmljaHQgc2FnZW4gZGFzIGRlciBWb3JzY2hsYWcgc2Nob25tYWwgZGEgd2FyIDopCgpJbSBFcm5zdCAtIGljaCBoYWx0ZSBkZW4gVm9yc2NobGFnIGZ1ZXIgc2ludm9sbCAtIHdpZSB3YWVyZSBlcyBtaXQgZWluZXIgZnJlaQpTZXR6YmFyZW4gUHJvcCBmdWVyIGRpZSBTcGllbGVyIChzbyB3aWUgTGFuZ3RleHQsIG9kZXIgV1dlZykgaW4gZGVyIG1hbiBzZWxiZXIKc2VpbmUgSG9tcGFnZSBlaW50cmFnZW4ga2FubiBvZGVyIGF1Y2ggbmljaHQsIHdlbm4gbWFuIHNpZSBuY2lodAp2ZXJvZWZmZW50bGljaGVuIHdpbGwuCgpoYXRlcyBnZW5pYWxlIFdlYi1TZWl0ZW4tQXVmYmF1LVJvdXRpZW5lbiBtdWVzc3RlbiBkYW5uIG51cm5vY2ggZWluZW4gTGluawp6dXIgU3BpZWxlci1ob21wYWdlIGRhcmF1cyBtYWNoZW4uICh1bmQgdmllbGVpY2h0IGF1Y2ggbm9jaCBpbSBmaW5nZXIKYW56ZWlnZW4pCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzcGllbGVyLWhvbWVwYWdlcyAoSmFzcGVyLCAyOC4gTWFyIDE5OTYsIDE5OjU3OjQwKToKfiMhIHJuPVJhZmZpIHJ0PTgyODAzOTEwNgp+IyEgdGlkPTgyODAzODc5NQppY2ggZ2xhdWIgZGFzIHdhciBzY2hvbm1hbCBkYSwgZGFzcyBlcyB2b24gZGVyIG11ZCB3d3ctcGFnZSBrZWluZSBsaW5rcyB6dQpwcml2YXRlbiBwYWdlcyBnaWJ0LCBhYmVyIGRhcyBpbSBmaW5nZXIgbWl0YW56dXplaWdlbiB3YWVyIG5pY2h0IHZlcmtlaHJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogc3BpZWxlci1ob21lcGFnZXMgKEhhdGUsIDI4LiBNYXIgMTk5NiwgMjA6MDI6MzMpOgp+IyEgcm49SmFzcGVyIHJ0PTgyODAzOTQ2MAp+IyEgdGlkPTgyODAzODc5NQpEZXIgR3J1bmQgd2FydW0gZXMgbmljaHQgZGFiZWkgaXN0PwpDREEgLT4gU2llaGUgQmx1ZSBSaWJib24gQ2FtcGFpZ24uCkVpbiBGYWxsIGluIE11ZW5jaGVuIGFtIExlaWJuaXotUmVjaGVuemVudHJ1bS4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1YnJpayBiZWxlYnQuLi4uLiAoSGFyLCAyOS4gTWFyIDE5OTYsIDA4OjMwOjA4KToKTmphLCBvYiBkYXMgbnVuIFdlcmJ1bmcgd2FyIG9kZXIgbmNodCBHdWxkdWthdCAoKmdyaW5zKikKYXVmIGplZGVuIEZhbGwgaGF0IGVzIGRpZSBSdWJyaWsgYSBiaXNzZXJsIGJlbGVidCA6LSkKCkhhciAoc2NobGVpY2h3ZXJiZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc3BpZWxlci1ob21lcGFnZXMgKEhpZ2hsYW5kZXIsIDI5LiBNYXIgMTk5NiwgMTE6MjM6MzkpOgp+IyEgcm49SGF0ZSBydD04MjgwMzk3NTMKfiMhIHRpZD04MjgwMzg3OTUKV29iZWkgaWNoIG1pY2ggZGFiZWkgaW1tZXIgZnJhZ2UsIG9iIGVpbiBkaXNjbGFpbWVyIGRhcyBQcm9ibGVtIG5pY2h0CmxvZXNlbiB3dWVyZGUuCiJGdWVyIGRlbiBJbmhhbHQgZGVyIGhvbWVwYWdlcyBzaW5kIGFsbGVpbiBkZXJlbiBBdXRvcmVuIHZlcmFudHdvcnRsaWNoLiIKRGFzIHNpbmQgc2llIHp3YXIgc293aWVzbywgYWJlciBtYW5jaGVuIG11c3MgbWFuIGVzIHdvaGwgYW5zY2hlaW5lbmQKc2FnZW4uClVuZCB3aXIgaGFldHRlbiBqYSBhdWNoIG51ciBsaW5rcyBhdWYgaG9tZXBhZ2VzLApuaWNodCBhdWYgRGluZ2UsIGRpZSB2aWVsbGVpY2h0IGplbWFuZCBhbnN0b2Vzc2lnIGZpbmRlbiBrb2VubnRlLiBBZWgsCnN0cmVpY2hlIGRhcywgZGFzIGthbm4gc293aWVzbyBwYXNzaWVyZW4sIHdlaWwgc2ljaCBtYW5jaGUgTGV1dGUgdWViZXIKamVkZW4gRHJlY2sgYXVmcmVnZW4gYnp3LiB1ZWJlciBhbGxlcywgd2FzIG5pY2h0CmluIGlociBXZWx0YmlsZCBwYXNzdCwgYWJlciBlcyBzb2xsdGUga2xhciBzZWluLCB3YXMgaWNoIG1laW5lLiA6PgogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaG9tZXBhZ2UtbGlua3MuLi4uIChIYXIsIDI5LiBNYXIgMTk5NiwgMTM6MjM6NDMpOgpJQ2ggZmluZGUgbGlua3MgYXVmIHNwaWVsZXItcGFnZXMgemllbWxpY2ggc2lubmxvcy4gQXVmZ3J1bmQgZGVyIGhvaGVuCkZsdWt0YXRpb24gaGllciB3ZXJkZW4gZXMKYSkgemllbWxpY2ggdmllbGUgbGlua3MKYikgYmxlaWJlbiBkaWUgbmljaHQgbGFuZ2UgYmVzdGVoZW4KYykgbXVlc3N0ZSBpc2NoIGphIGVpbmVyIGRpZSBtdWVoZSBtYWNoZW4sIGRpZSBnYW56ZW4gbGlua3MgenUgc2V0emVuLCB1biBkYXMKa2FubiBtYW4ga2VpbmVtIHp1bXV0ZW4KCmhhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGhvbWVwYWdlLWxpbmtzLi4uLiAoSGlnaGxhbmRlciwgMjkuIE1hciAxOTk2LCAxMzoyODoxMSk6Cn4jISBybj1IYXIgcnQ9ODI4MTAyMjIzCn4jISB0aWQ9ODI4MTAyMjIzCmEpIFN0aW1tdCAtIHZpZWxlIGxpbmtzCmIpIFdpZXNvIG5pY2h0PwpjKSBIYXRlIGhhdCBlaW4gSGFlbmRjaGVuIGZ1ZXIgYXV0b21hdGlzY2hlIEVyc3RlbGx1bmcsIHdlbm4KICAgbWFuIGFsc28gZGFzIGlyZ2VuZHdpZSBhdXRvbWF0aXNpZXJlbiBrb2VubnRlLCBrZWluIFByb2JsZW0KICBIclQKbm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc3BpZWxlci1ob21lcGFnZXMgKE11cGZlbCwgMjkuIE1hciAxOTk2LCAxNjozMjo1Mik6Cn4jISBybj1SYWZmaSBydD04MjgwMzkxMDYKfiMhIHRpZD04MjgwMzg3OTUKR2lidHMgc2Nob24uIFNhbXQgenVnZWhvZXJpZ2VyIFByb3BlcnR5LiBJbW1lcmhpbiBzY2hvbiBzZWl0IGRlbSAxNS4gSmFudWFyCjotKS4gVm9uIEhhdGUgKHdlbSBzb25zdCkuIERlciBCZWZlaGwgaGVpc3N0ICd1cmwnLiBTY2hlaW50IGFiZXIga2VpbmUgRG9rdQpkYXp1IHp1IGdlYmVuLiBNdXBmZWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzcGllbGVyLWhvbWVwYWdlcyAoUmFmZmksIDI5LiBNYXIgMTk5NiwgMTY6NDY6MTgpOgp+IyEgcm49TXVwZmVsIHJ0PTgyODExMzU3Mgp+IyEgdGlkPTgyODAzODc5NQpGYW5rZSBNdXBmZW4gLSBEb2t1IHZpZWxlaWNodCBuaWNodCwgYWJlciBuZSBIaWxmZSBoYXQgZXIgdGF0c2FlY2hsaWNoCmdlbWFjaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KS09NTUFORE86CiAgICAgICAgdXJsIFs8YWRyZXNzZT5dCgpBUkdVTUVOVDoKICAgICAgICA8YWRyZXNzZT4gZGllIG5ldWUgQWRyZXNzZQoKRlVOS1RJT046CiAgICAgICAgT2huZSBBcmd1bWVudGUgZ2lidCB1cmwgZGllIGFrdHVlbGxlIEhvbWVQYWdlIFVSTC1BZHJlc3NlIGF1cy4gTWl0CiAgICAgICAgQXJndW1lbnQgd2lyZCBzaWUgYXVmIGRpZSBuZXVlIGdlc2V0enQuCiAgICAgICAgU2FlbXRsaWNoZSBIVE1MIHRhZ3Mgd2VyZGVuIGVudGZlcm50IQoKICAgICAgICBadSBmaW5kZW4gc2luZCBkaWVzZSBJbmZvcm1hdGlvbmVuOgogICAgICAgICAgaHR0cDovL21nLnVuaS1tdWVuc3Rlci5kZS8KICAgICAgICAgIC0+IEluZm9ybWF0aXZlcwogICAgICAgICAgICAtPiAgU3BpZWxlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCihpY2ggc2V0eiBlcyBlaW5mYWNoIGhpZXJoZXIsIGRhbWl0dCBkaWUgTGV1dGUgZXMgYXVjaCBzZWhlbiB1bmQgaGVybmVobWVuISkKClVuZCBpY2ggaGFicyBnbGVpY2ggYXVzcHJvYmllcnQgLSB1bmQgd2FzIHNvbGwgaWNoIGV1Y2ggc2FnZW4gOgoKPiB1cmwgaHR0cDovL3d3dy5zY24uZGUvfmZyYW5rZS8KRGVpbmUgb2ZmaXppZWxsZSBVUkwtQWRyZXNzZSB3dXJkZSBnZWFlbmRlcnQuClNpZSBsYXV0ZXQgamV0enQ6IGh0dHA6Ly93d3cuc2NuLmRlL35mcmFua2UvCgpJc3QgZGFzIG5pY2h0IHJpZXNpZyAtIHNvbGwgZWluZXIgbWFsIG1lY2tlcm4gOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVpbmUgV1dXLVNlaXRlIChBY3JpbW9uLCAyOS4gTWFyIDE5OTYsIDE3OjIzOjE3KToKfiMhIHJuPUhhciBydD04Mjc5NDY5MjkKfiMhIHRpZD04Mjc5NDY5MjkKQUFBQUFSUlJSUlJSUlJSUkdHR0dHR0dHR0dMTExMTExMTExMTExMTExMISEhISEhISEhISEhCgpUdSB1bSBHb3R0ZXMgV2lsbGVuIGRlbiBaYWVobGVyIHdpZWRlciByYXVzIQoKRGllIFVuc2l0dGUsIFdXVy1TZWl0ZW4genUgaGFiZW4sIGlzdCBqYSBzY2hvbiBzY2hsaW1tIGdlbnVnIC0gamVkZXIgaG9sdApzaWNoIGRpZSBCaWxkZXIgdWViZXJzIE5ldHosIE5VUiB1bSBzaWUgRUlOTUFMIGFuenVzY2hhdWVuLCBhYmVyIC0KZGVyIFphZWhsZXIgdmVyaGluZGVydCBqYSBhdWNoIG5vY2gsIGRhc3ogZGllIFdXVy1TZWl0ZSBpbSBXV1ctQ2FjaGUgZ2VoYWx0ZW4Kd2lyZCwgdW5kIGRpZSBTZWl0ZSB3aXJkIEpFREVTTUFMIHVlYmVycyBOZXR6IGdlem9nZW4sIHdlbm4gc2llIGVpbmVyCmFuc2NoYXV0IQoKRGllc2UgWmFlaGxlciBzaW5kIGFic29sdXQgbmV0enRvZXRlbmQsIHVuZCB3ZW5uIGRpZSBNb2RlIGRhaGluIGdlaHQsIGVpbmVuClN0YXUgaW0gTmV0eiBhdWYgdW5zaW5uaWdlIFdlaXNlIHp1IGVyemV1Z2VuIC0gZGFubiBzcHJpY2h0IGVzIGZ1ZXIgZGVpbmVuCnZlcmRhbW10IHNjaGxlY2h0ZW4gQ2hhcmFjdGVyIChvZGVyIFVud2lzc2VuaGVpdCksIHdlbm4gZHUgZGEgbWl0bWFjaHN0LgoKU28gZGFzIG11c3N0ZSBtYWwgZ2VzYWd0IHdlcmRlbi4KVW5kIGljaCB3aWxsIGRlbiBaYWVobGVyIE5JQ0hUIE1FSFIgU0VIRU4hCgpBY3JpbW9uIGRlciBSb3RlIFJpdHRlciwgZXJzY2hsYWVndCB6YWVobGVuZGUgTmV0enRvZXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWVpbmUgV1dXLVNlaXRlIChIYXIsIDMxLiBNYXIgMTk5NiwgMTk6NDU6NTcpOgp+IyEgcm49QWNyaW1vbiBydD04MjgxMTY1OTcKfiMhIHRpZD04Mjc5NDY5MjkKSG1tbW0sIGZsYW1lIGZsYW1lIGZsYW1lIEFjcmltb24/CldhcyB3aWxsc3QgRHUgbWlyIHNhZ2VuPyBWZXJzdGVoZSBpY2ggbmljaHQsIGVocmxpY2ggbmljaHQuLi4uCndhcnVtIHNvbGx0ZSBkaWUgU2VpdGUgaW0gQ2FjaGUgZ2VoYWx0ZW4gd2VyZGVuLCB3ZW5uIEpFREVSIEpFREVTIEJpbGQgbnVyCkVJTk1BTCBhbnNjaGF1dD8KVW5kIHdlbm4gRHUgZGVuIFphZWhsZXIgbmljaHQgc2VoZW4gd2lsbHMgLT4gbHlueCBvZGVyIHJ1ZmUga2VpbmUgU2VpdGVuIG1laHIKYXVmLCBkaWUgRGljaCBzbyBpbiBFcnJlZ3VuZyB2ZXJzZXR6ZW4uLi4uCgpIYXIgKHN0YXVuZW5kIHVlYmVyIGRpZXNlIEphbW1lcmVpKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1laW5lIFdXVy1TZWl0ZSAoSGF0ZSwgMzEuIE1hciAxOTk2LCAyMToxODozMik6Cn4jISBybj1IYXIgcnQ9ODI4Mjk0MzU3Cn4jISB0aWQ9ODI3OTQ2OTI5ClRqYSwgQWNyaW1vbiBoYXQgbGVpZGVyIHJlY2h0OgoKWmFlaGxlciAtPiBTcGllbGVyZWkgLT4gQkFEIFNUWUxFIQoKRHUgbWFjaHN0IERpY2ggbWl0IHNvIGVpbmVyIFNlaXRlIG51ciBsYWVjaGVybGljaC4KRGVubiBzb2xjaGUgU2VpdGVuIHNjaGF1ZW4gc2ljaCBkaWUgbWVpc3RlbiB3aXJrbGljaCBOVVIgRUlOTUFMIGFuLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWVpbmUgV1dXLVNlaXRlIChDaGVhc3ksIDMxLiBNYXIgMTk5NiwgMjE6MjE6NTgpOgp+IyEgcm49SGF0ZSBydD04MjgyOTk5MTIKfiMhIHRpZD04Mjc5NDY5MjkKTnVuamEsIFphZWhsZXIgYXVmIHdlYi1zZWl0ZW4uLi4gaGFiIGljaCBhdWNoLiBpbnRlcm4uIHdlcmRlbiBfbmljaHRfIGF1ZiBkZW4KU2VpdGVuIHNlbGJzdCBhbmdlemVpZ3QgLS0gd2VuIGludGVyZXNzaWVydCBzY2hvbiwgZGFzcyBlciBkZXIgNDcxMSBpc3QsIGRlcgpkZW4gbXVlbGwgbGllc3QuCgotQ2hlYXN5CihhdWNoIGJla2FubnQgdW50ZXIgd2VibWFzdGVyQHdlYi5kZSkKCmZsYW1lcz8gLT4gL2Rldi9udWxsLy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1laW5lIFdXVy1TZWl0ZSAoQWNyaW1vbiwgMzEuIE1hciAxOTk2LCAyMjowMjozNyk6Cn4jISBybj1DaGVhc3kgcnQ9ODI4MzAwMTE4Cn4jISB0aWQ9ODI3OTQ2OTI5ClVuZCBudXIgZGVzaGFsYiAtIHdlaWwgRHUgc2VoZW4gd2lsbHN0LCBkYXN6IDQ3MTEgTGV1dGUgRGVpbmUgU2VpdGUKYXVmZ2VydWZlbiBoYWJlbiAtIG11c3ogYmVpIGplZGVtIE1hbCBkZXIgNDcxMSBBdWZydWZlIGVpbmUgVmVyYmluZHVuZyB6dQpEZWluZW0gUmVjaG5lciwgd28gRHUgZGllIFNlaXRlIGhhc3QsIGF1ZmdlYmF1dCB3ZXJkZW4/CkRhcyBpc3QgZGllIGdhbnplIE5ldHpsYXN0IG5pY2h0IHdlcnQsIGRpZXNlIHNhdWJsb2VkZSBaYWhsIQoKU2NobWVpc3ogZGllIFphaGwgcmF1cyAoYXVjaCB3ZW5uIGRpZSB1bnNpY2h0YmFyIGlzdCksIHVuZCBpbSBNRyBnaWJ0cwp3ZW5pZ2VyIExhZy4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWVpbmUgV1dXLVNlaXRlIChDaGVhc3ksIDMxLiBNYXIgMTk5NiwgMjI6MTA6MzIpOgp+IyEgcm49QWNyaW1vbiBydD04MjgzMDI1NTcKfiMhIHRpZD04Mjc5NDY5MjkKQWNyaW1vbiwgcmljaHRpZyBsZXNlbjogZGllIFphaGwgaXMgTklDSFQgaW4gZGVyIFNlaXRlLCBkaWUgaXN0IGluIG1laW5lbgpTZXJ2ZXItc3RhdHMuIHdlbm4gbWFuIHdlaXNzIHdvLCBrYW5uIG1hbiBzaWUgYWJydWZlbiA7LSkgYXVmIGVpbmVyIHNwZXppZWxsZW4KbmljaHRvZWZmZW50bGljaGVuIHphZWhsZXJzZWl0ZS4KaWNoIGJpbiB2aWVsbGVpY2h0IHdlYm1hc3RlciwgYWJlciBibG9lZCBiaW4gaWNoIG5ldCA7LSkKLUNoZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWctd2VnLXNlaXRlIGltIE1vcmdlbm1hZ2F6aW4gKEhha2tpa2t0LCAgMS4gQXByIDE5OTYsIDEwOjE4OjI1KToKSGksCmFscyBpY2ggaGV1dGUgbW9yZ2VuIGJlaW0gQXVmd2FjaGVuIG5vY2ggbWFsIHNjaG5lbGwgZGVuIEZlcm5zZWhlcgphbmdlc2NoYWx0ZXQgaGFiZSAoLi4uaXN0IGVpbmUgc2NobGVjaHRlIEFuZ2V3b2huaGVpdCAuLmljaCB3ZWlzcy4uLmFiZXIgZXMKd2FyZW4gamEgYXVjaCBudXIgNSBNaW51dGVuIDtfKSwgZGEgc2FoIGljaCBkb2NoIGFscyBlcnN0ZXMgZWluZW4gQmVyaWNodAp1ZWJlciBTcGllbGUgaW0gSW50ZXJuZXQuClVuZCB3YXMgbWVpbnQgSWhyLCBlcyBnaW5nIHp3aXNjaGVuZHVyY2ggYXVjaCBtYWwgdW0gTXVkcyB1bmQgZXMgd3VyZGUKYXVzZ2VyZWNobmV0IGRpZSBNRy1TdGFydHNlaXRlIGdlemVpZ3QuIElzdCBkb2NoIEludGVyZXNzYW50LCBPZGVyPwpCaXMgZGVubmUsIEhha2tpa2t0CgpQUyBmdWVyIGRpZSB2aWVsZW4gdHlwb3MgdWViZXJuZWhtZSBpY2gga2VpbmUgVmVyYW50d29ydHVuZyA6XykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtZy13ZWctc2VpdGUgaW0gTW9yZ2VubWFnYXppbiAoQmFyb24sICAxLiBBcHIgMTk5NiwgMTE6MTg6NDMpOgp+IyEgcm49SGFra2lra3QgcnQ9ODI4MzQ2NzA1Cn4jISB0aWQ9ODI4MzQ2NzA1CkhhYnMgYXVjaCBnZXNlaGVuIC4uLiA6KS4gQXVzc2VyZGVtIGluIGVpbmVtIFRleHRmZW5zdGVyIHp1IGJldHJhY2h0ZW4gZGllClJhdW1iZXNjaHJlaWJ1bmcgZGVyIEthcGVsbGUgKmdyaW5zKi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1laW5lIFdXVy1TZWl0ZSAoUmFmZmksICAxLiBBcHIgMTk5NiwgMTQ6MzY6MzUpOgp+IyEgcm49SGF0ZSBydD04MjgyOTk5MTIKfiMhIHRpZD04Mjc5NDY5MjkKTGllYmVyIEhhdGUsIGF1Y2ggd2VubiBEdSBlcyBmdWVyICdCYWQgU3R5bGUnIGhhZWx0c3QgKHdhcyBpbW1lciBkYXMgaXN0LCBpY2gKa2VubmUgbnVyIEJhZGVzdHVobCkgc28gbGFzc3QgSGFyIGRvY2ggZGVuIFphZWhsZXIgLSBJY2ggZmluZCBlcyBuaWVkbGljaCB1bmQKbXVzcyB6dWdlYmVuLCBkYXNzIGljaCBhdWNoIGVpbmVuIGF1ZiBtZWluZXIgRWluZ2FuZ3NzZWl0ZSBoYWJlLgoKVW5kIGFscyBMb2VzdW5nIGJpZXRldCBzaWNoIGltbWVyIG5vY2ggYW4gZGllIE9wdGlvbiAnQmlsZGVyIGF1dG9tYXRpc2NoCmxhZGVuJyBhdXN6dXNjaGFsdGVuIC0gZGFzIGlzdCBkZXIgYmVzdGUgQ2FjaGVzY2h1dHouIEVpbmUgZ3V0IGdlc3RhbHRldGUKU2VpdGUgaXN0IGRhbm4sIGdlbmF1c28gd2llIGltIEx5bngoISkgaW1tZXJub2NoIHp1IGxlc2VuLiBEYXMgaXN0IGZ1ZXIgbWljaAplbnRzY2hlaWRlbmRlci4gIEVzIGdpYnQgdmllaGwgbWVociBMeW54LVVzZXIgYWxzIG1hbiBkZW5rdCAoanVodSBVbHVsYTopLgoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndhcyAoQXNtb2RpcywgMjcuIEp1biAxOTk2LCAyMToxNjo1Nik6CkhpZXIgc2NocmVpYnQgd29obCBhdWNoIG5pZSBqZW1hbmQgd2FzLCB3b3p1IGlzdCBkaWVzZSBSdWJyaWsgdWViZXJoYXVwdCA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2FzIChKYXNwZXIsIDI3LiBKdW4gMTk5NiwgMjE6MTg6MDEpOgp+IyEgcm49QXNtb2RpcyBydD04MzU5MDMwMTYKfiMhIHRpZD04MzU5MDMwMTYKb2theSBhc21vZGlzLCB3ZW5ucyB1bmJlZGluZ3Qgc2VpbiBtdXNzLCBkYW5uIGdlYmVuIHdpciBkZW4KemVuc29yZW4vYXJ0aWtlbHZlcmxlZ2VybiBldHdhcyB6dSB0dWVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhcyAoTW9yZ290aCwgMjguIEp1biAxOTk2LCAwNzoyMjowOSk6Cn4jISBybj1KYXNwZXIgcnQ9ODM1OTAzMDgxCn4jISB0aWQ9ODM1OTAzMDE2CmljaCBtdXNzIGZ1ZXJuIG1laW5lbiBjaGVmIGpldHp0IHdlYnNlaXRlbiBwcm9nZ2VuLiAKd2VyIHNpY2ggbWFsIHNvIHppZW1saWNoIGVrbGlnZXMgemV1ZyByZWluemllaGVuIHdpbGwgc29sbHRlIG1hbApiZWkgaHR0cDovL3d3dy5jaGVtaWUudW5pLWRvcnRtdW5kLmRlL2dyb3Vwcy9rZWxsZXIvIGFuZmFuZ2VuLgpkaWUgaWRlZSBpc3QgbmljaHQgdm9uIG1pci4gdmllbCBzcGFzcyBiZWltIGFlaC4uYW5zY2hhdW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YXMgKEVsdm5paywgMjguIEp1biAxOTk2LCAwNzoyNzoxOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTgzNTkzOTMyOQp+IyEgdGlkPTgzNTkwMzAxNgpBZWhoIE1vcmdvdGggLi4uIGdpYnRzIG5pY2ggaXJnZW5kd28gbmVuIFRpdGVsICdTY2hsZWNodGVzdGUgV2Vic2VpdGUnIG9kZXIgc28KLi4uCm1lbGRlIGRpZSBtYWwgYW4sIGRpZSBoYWJlbiBHVVRFIENoYW5jZW4gLi4uCkVsdm5paywgYWIgbmFjaCBzY2htYXJybiAob2RlciBhdWNoIG5pY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2FzIChNdXBmZWwsIDI4LiBKdW4gMTk5NiwgMTQ6NDM6MDYpOgp+IyEgcm49QXNtb2RpcyBydD04MzU5MDMwMTYKfiMhIHRpZD04MzU5MDMwMTYKaWNoIGtvZW5udGUgaGllciBkZW4gVVJMIHZvbiBkZWluZXIgaG9tYXBhZ2UgZWludHJhZ2VuLCBhc21vZGlzLi4uCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd2FzIChTbnVnZ2xlLCAyOC4gSnVuIDE5OTYsIDE1OjMyOjU4KToKfiMhIHJuPUVsdm5payBydD04MzU5Mzk2MzgKfiMhIHRpZD04MzU5MDMwMTYKd2F5LCBzbyBsb2IgaWNoIG1pciBkYXMuIFNvIG11ZXNzZW4gd2ViLXNlaXRlbiBhdXNzZWhlbiwga2VpbiB1ZWJlcmZsdWVzc2lnZXIKc2Nobmlja3NjaG5hY2ssIGtlaW5lIHJla2xhbWUgdXN3LiBudXIgZGVyIHRleHQgendpc2NoZW5kdXJjaCBzdG9lcnQgbm9jaC4gbWFuCmtvZW5udGUgZGllIG5ldHpsYXN0IHZlcnJpbmdlcm4sIHdlbm4gbWFuIGRlbiB3ZWdsYWVzc3QuCgpzbnVnZ2xlIDotKQouLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3YXMgKEFzbW9kaXMsIDI4LiBKdW4gMTk5NiwgMTc6MjM6MzQpOgp+IyEgcm49TXVwZmVsIHJ0PTgzNTk2NTc4Ngp+IyEgdGlkPTgzNTkwMzAxNgpPY2ggbm9lLCBsaWViZXIgbmljaHQsIGRpZSBpc3QgbmljaHQgZ3V0IHVuZCBpY2ggaGFiIHNjaG9uIHNlaXQgZWluZW0gaGFsYmVuCkphaHIgbml4IG1laHIgZHJhbiBnZW1hY2h0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsICAyLiBKdWwgMTk5NiwgMjA6MjA6MDIpOgpFcyBpc3QgamV0enQgbW9lZ2xpY2ggZGlyZWt0IGF1cyBkZW0gV1dXIGhlcmF1cyAob2huZSBleHRyYSBUZWxuZXQpCmlucyBNRyB6dSBrb21tZW4uIEphdmEgbWFjaHRzIG1vZWdsaWNoIQoKaHR0cDovL21nLnVuaS1tdWVuc3Rlci5kZS9JbnRlcmFrdGl2L3RlbG5ldC5odG1sCgpWaWVsIFNwYXNzLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEphdmEgVGVsbmV0IFp1Z2FuZyAoQmFicywgIDMuIEp1bCAxOTk2LCAwMjozODoxMCk6Cn4jISBybj1IYXRlIHJ0PTgzNjMzMTYwMgp+IyEgdGlkPTgzNjMzMTYwMgpQcmluemlwaWVsbCBpc3QgZWluIEphdmEgWnVnYW5nIHp1IGJlZ3J1ZXNzZW4uIExlaWRlciBpc3QgZGFzIEFwcGxldApoaW50ZW4gdW5kIHZvcm5lIG5vY2ggYnVnZ3kuCi0gVW50ZXIgTmV0c2NhcGUgMi4wMSAvV2luZG9vZk5UIHVlYmVybGFwcGVuIHNpY2ggZGllIEJ1Y2hzdGFiZW4KICB2ZXJ0aWthbCwgc2luZCBhbHNvIGthdW0genUgbGVzZW4uIDooCi0gWmVpbGVuIG1pdCBVZWJlcmxhZW5nZSAoei5CLiBiZWkgIndlciIpIG1hY2hlbiBQcm9ibGVtZQotIFRleHRlaW5nYWJlbiBzaW5kLCBvYndvaGwgenVuYWVjaHN0IGRpZSBMb2dpbnNlcXVlbnogZ2VzdGFydGV0IHdpcmQsCiAgZXJzdCBkYW5uIG1vZWdsaWNoLCB3ZW5uIGVybmV1dCBhdWYgImNvbm5lY3QiIGdla2xpY2t0IHdpcmQuIChhbHNvCiAgZWluIGVybmV1dGVyIEVpbmxvZ3ZlcnN1Y2ggZ2VtYWNodCB3aXJkKQotIG1hY2h0IG1hbiBlaW5lIEVpbmdhYmUsIHdhZWhyZW5kIGRlciBCaWxkc2NoaXJtIGdlcmFkZSBzY3JvbGx0CiAgKHVuZCBkYXMgTUcgc2Nyb2xsdCBudW4gd2lya2xpY2ggZGF1ZXJuZCEpIGtvbW10IGVzIHp1bSBlbmRndWVsdGlnZW4KICBBYnN0dXJ6IGRlcyBBcHBsZXRzLiA6KAoKRGFuZWJlbiBzaW5kIGdyb2Vzc2VyZSBUZWlsZSBkZXIgTUctV2Vic2VpdGVuIG9mZmVuYmFyIGJlaSBkZXIgSW1wbGVtZW50aWVydW5nCnVlYmVyIGRlbiBKb3JkYW4gZ2VnYW5nZW4sIHouQi4gYWxsZSBGdW5rdGlvbmVuIGRlciBTZWl0ZSAiSW50ZXJha3RpdmVzIi4KWmVpdHVuZ2xlc2VuLCBXV1ctWnVnYW5nIHVuZCBJbnRlcm11ZCBzdHVlcnplbiBtaXQgInVybCBub3QgZm91bmQiIGFiLgpEaWUgVG9wbGlzdGUgbWVsZGV0IGZlaGxlbmRlIFp1Z3JpZmZzcmVjaHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYXZhIFRlbG5ldCBadWdhbmcgKEphcmllbCwgIDMuIEp1bCAxOTk2LCAwNTo0MjowOCk6Cn4jISBybj1CYWJzIHJ0PTgzNjM1NDI5MAp+IyEgdGlkPTgzNjMzMTYwMgpIaQpJY2gga29ubnRlIGVzIG1pciBuaWNoIHZlcmtuZWlmZW4sIHRyb3R6IHRmIG1hbiBkYXMgYXBwbGV0IGF1c3p1cHJvYmllcmVuLgpOYWphLCBNZWluIExpbnVYLVJlY2huZXIgbWl0IE5ldHNjYXBlIDMuMGI0IGx1ZCBkaWUgRGF0ZW4gaGVydW50ZXIsIGFiZXIKbGVpZGVyIHNjaGVpdGVydGUgZGllIEF1c2Z1ZWhydW5nIG1pdCBkZXIgTWVsZHVuZzoKQXBwbGV0IHRlbG5ldCBjYW4ndCBzdGFydCBlcnJvZTogamF2YS5sYW5nLk91dE9mTWVtb3J5RXJyb3IKClRqYSBzY2hhZCBhdWNoLCB3byBsaWVndCBudW4gZGFzIFByb2JsZW0/IEhhYiBpY2ggenUgd2VuaWcgU3BlaWNoZXIgaW0KUmVjaG5lciAod2FzIGljaCBtaXIgYmVpbSBiZXN0ZW4gV2lsbGVuIG5pY2ggdm9yc3RlbGxlbiBrYW5uKSBvZGVyIGhhYgppY2ggd2llZGVybWFsIGVpbmUga29uZmlndXJhdGlvbnNkYXRlaSB1ZWJlcnNlaGVuLCB3byBpY2ggZGVuIFNwZWljaGVyCmZ1ZXIgSmF2YSBhbGxvY2llcmVuIG11c3M/IG5hamEsIHZpZWxsZWljaHQgd2Vpc3MgamVtYW5kIHdlaXRlciB1bmQKa2FubiBtaXIgaGVsZmVuLgoKSmFyaWVsIC0gd29sbHRlIHNpY2ggYWJlciBlaCBub2NoIFNwZWljaGVyIGthdWZlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsICAzLiBKdWwgMTk5NiwgMTI6MTE6NTQpOgp+IyEgcm49QmFicyBydD04MzYzNTQyOTAKfiMhIHRpZD04MzYzMzE2MDIKV2VyIE5ldHNjYXBlIHVuZCBXaW5kb29mIGJlbnV0enQgaXN0IHNlbGJlciBzY2h1bGQhQApEaWUgRm9udHMgc3RpbW1lbiBiZWkgV2luZG93cyBuaWNodCwgd2VubiBzaWUgenUga2xlaW4gd2VyZGVuLCBzaW5kIHNpZQpuaWNodCB3aXJrbGljaCBrbGVpbmVyIHNvbmRlcm4gbnVyIGRlciBaZWlsZW5hYnN0YW5kIHdpcmQgcmVkdXppZXJ0LgpEYXMgZ2VodCBkYW5uIGJpcyBoaW4genVyIFVlYmVybGFwcHVuZy4gU2NocmVpYiBhbiBLbGVpbndlaWNoIQpaZWlsZW5sYWVuZ2VucHJvYmxlbWUgc2luZCBiZWthbm50LgpEdSBoYWV0dGVzdCB2aWVsbGVpY2h0IG1hbCBwcm9iaWVyZW4gc29sbHRlbiwgZGllIE1hdXMgYXVmIGRhcyBGZW5zdGVyCnp1IHNldHplbiB1bmQgZGFubiB6dSBrbGlja2VuPyBJbiBkZXIgbmV1ZW4gVmVyc2lvbiBpc3QgYXV0b2ZvY3VzIGRyaW4uClp1bSBsZXR6dGVuIHB1bmt0IG1vZWNodGUgaWNoIGRhcyBsb2cgZGVyIEphdmEgQ29uc29sZSBoYWJlbiEKCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphdmEgVGVsbmV0IFp1Z2FuZyAoSGF0ZSwgIDMuIEp1bCAxOTk2LCAxMjoxNzowNSk6Cn4jISBybj1CYWJzIHJ0PTgzNjM1NDI5MAp+IyEgdGlkPTgzNjMzMTYwMgpOYWNodHJhZzoKRGFzIEFwcGxldCBpc3Qgd2VzZW50bGljaCBidWdmcmVpZXIgYWxzIGplZGUgYW5kZXJlCnRlbG5ldCBpbXBsZW1lbnRpZXJ1bmcgZGllIGF1ZiBkZW0gSmF2YSBNYXJrdCBlcmhhZWx0bGljaCBpc3QuIFdlaXRlcmhpbgppc3QgZGllc2UgaW1wbGVtZW50aWVydW5nIGltbWVyIG5vY2ggYmVzc2VyIGFscyBkYXMgdGVsbmV0IHp1IFdpbmRvd3MgOTUvTlQ/Clp1IGRlbiBVUkxzLCBkYXMgaGF0IHdhcyBkYW1pdCB6dSB0dW4sIGRhc3MgS2lyayBlaW5lbiBuZXVlbiBodHRwZAphdWYgc2FudGFuYSBpbnN0YWxsaWVydCBoYXQgdW5kIGRhbWl0IGRpZSBQZmFkZSBnZWFlbmRlcnQgd3VyZGVuLCBmdWVyCmNnaSBiaW5hcnlpZXMuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSmF2YSBUZWxuZXQgWnVnYW5nIChIYXRlLCAgMy4gSnVsIDE5OTYsIDEyOjIyOjUzKToKfiMhIHJuPUphcmllbCBydD04MzYzNjUzMjgKfiMhIHRpZD04MzYzMzE2MDIKQWxzbyBTcGVpY2hlcnByb2JsZW1lIHd1ZXJkZSBpY2ggTmV0c2NhcGUgenVzY2hpZWJlbi4KQmlzaGVyIGhhdHRlIGljaCBrZWluZSBQcm9ibGVtZSBkYW1pdC4gU2NoYXUgRG9jaCBtYWwgbmFjaCwgd2lldmllbApTcGVpY2hlciBkYXMgTmV0c2NhcGUgc2VsYnN0IHZlcmJyYWVkdD8KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsICAzLiBKdWwgMTk5NiwgMTM6MTE6MzgpOgp+IyEgcm49SGF0ZSBydD04MzYzODg3MTQKfiMhIHRpZD04MzYzMzE2MDIKTm9jaCBlaW4gTmFjaHRyYWc6CiAgRGVyIFplaWxlbnVtYnJ1Y2gsIHNvd2llIGRpZSBGb250Z3JvZXNzZSBzdGltbWVuIHVudGVyIFNvbGFyaXMsIFN1bk9TIHVuZApMaW51eCBuYWNod2Vpc2xpY2guIEFsc28gaXN0IGVzIGVpbiBlaW5kZXV0aWdlcyBLbGVpbndlaWNoLVByb2JsZW0uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBKYXZhIFRlbG5ldCBadWdhbmcgKFJhZmZpLCAgMy4gSnVsIDE5OTYsIDEzOjQyOjA5KToKfiMhIHJuPUhhdGUgcnQ9ODM2MzkyMjk4Cn4jISB0aWQ9ODM2MzMxNjAyCkRhcyAgWmVpY2hlbnNhdHpwcm9ibGVtIGthbm4gaWNoIHVudGVyIFdpbmRvb2ZOVCBtaXQgSG90amF2YSBuYWNodm9sbHppZWhlbiAtCkxlaWRlciBpc3QgZGFzIGFiZXIgZWluZSB2b24gU1VOIGFiZ2VzZWduZXRlIFJlZmVyZW56a29uZmlndXJhdGlvbi4uLi4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKYXZhIFRlbG5ldCBadWdhbmcgKE1hcmN1cywgIDQuIEp1bCAxOTk2LCAwMDoyNTozMyk6Cn4jISBybj1SYWZmaSBydD04MzYzOTQxMjkKfiMhIHRpZD04MzYzMzE2MDIKRHUgZGFyZnN0IHVucyBnZXJuZSBlaW5lIFdpbmRvd3MgTlQgQm94IHVuZCBkaWUgUXVlbGxlbiBkYXp1IHp1ciBWZXJmdWVndW5nCnN0ZWxsZW4sIGRhbm4gd2VyZGVuIEhhdGUgdW5kIGljaCBkYXMgUHJ0b2JsZW0gZGVidWdnZW4uCgpTb3JyeS4gCgpNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEphdmEgVGVsbmV0IFp1Z2FuZyAoQmFyb24sICA0LiBKdWwgMTk5NiwgMDA6MzU6MDMpOgp+IyEgcm49UmFmZmkgcnQ9ODM2Mzk0MTI5Cn4jISB0aWQ9ODM2MzMxNjAyCkljaCBzZWggZGVuIFNpbm4gbmljaHQgc28gZ2Fueiwgc292aWVsIEFyYmVpdCBpbiBlaW4gSmF2YS1EaW5ncyB6dSBzdGVja2VuLi4uCldlciBwZXIgTmV0c2NhcGUgbXVkZGVkIGlzdCBzY2hsaWNodCBzZWxiZXIgc2NodWxkLgoKUmVkIC0gbWVpbnQsIG1hbiBrYW5uIHNpY2ggYXVjaCB1ZWJlcmZsdWVzc2lnIGFyYmVpdCBtYWNoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKYXZhIFRlbG5ldCBadWdhbmcgKEFjcmltb24sICA0LiBKdWwgMTk5NiwgMDU6MDQ6NDIpOgp+IyEgcm49QmFyb24gcnQ9ODM2NDMzMzAzCn4jISB0aWQ9ODM2MzMxNjAyClZlcm51ZW5mdGlnZSBTaXRlcyBoYWJlbiBKYXZhIHNvd2llc28gYWJnZXNjaGFsdGV0LCBkYSBKYXZhIGVpbmUKc2Nod2Vyd2llZ2VuZGUgU2ljaGVyaGVpdHNsdWVja2UgaXN0LgpFcyBsb2hudCBzaWNoIGFsc28gZ2FyIG5pY2h0LgoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsICA0LiBKdWwgMTk5NiwgMDk6NTg6MTkpOgp+IyEgcm49QmFyb24gcnQ9ODM2NDMzMzAzCn4jISB0aWQ9ODM2MzMxNjAyCkphdmEgYmlldGV0IGhpZXIgZnVlciBkaWVqZW5pZ2VuIGVpbmUgTW9lZ2xpY2hrZWl0LCBkaWUgbmljaHQgc28gZWluZmFjaAptaXQgVGVsbmV0IHVtZ2VoZW4ga29lbm5lbiBvZGVyIGVpbmZhY2gga2VpbiBUZWxuZXQgaGFiZW4hIEVzIGdpYnQgenVtCkJlaXNwaWVsIG9mdCBJbnRlcm5ldCBDYWZlJ3MsIGRpZSBoYWJlbiB6d2FyIFdXVyBhYmVyIEtFSU4gVGVsbmV0LgpBdXNzZXJkZW0gdHJldGVuIGRpZSBQcm9ibGVtZSB3aXJrbGljaCBudXIgdW50ZXIgV2luZG93cyBYWFggYXVmLgpBdWYgamVkZXIgYW5kZXJlbiBtaXIgenVnYWVuZ2xpY2hlbiBNYXNjaGluZSBsYWV1ZnQgZGFzIGdhbnplIHByb2JsZW1sb3MuCldlaXRlcmhpbiBoYWJlIGljaCBqZXR6dCBlaW5lbiBGb250IGVpbmdlc3RlbGx0IChDb3VyaWVyIDEzcHQpLCB3ZWxjaGUKYXVjaCB1bnRlciBXaW5kb3dzIFhYWCBkaWUgcmljaHRpZ2VuIEZvbnRpbmZvcm1hdGlvbmVuIGxpZWZlcnQuCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsICA0LiBKdWwgMTk5NiwgMTA6MDE6MjkpOgp+IyEgcm49QWNyaW1vbiBydD04MzY0NDk0ODIKfiMhIHRpZD04MzYzMzE2MDIKV3VuZGVydm9sbC4gRHUgc29sbHRlc3QgdmllbGxlaWNodCBtYWwgYW5mYW5nZW4gRGljaCBtaXQgZGVyIE1hdGVyaWUKYXVzZWluYW5kZXJ6dXNldHplbi4gSmF2YSBoYXQgdW5kIGhhdHRlIGVpbmlnZSBCdWdzLiBKYXZhIGlzdCBOSUNIVApKYXZhU2NyaXB0LiBEaWUgYWt0dWVsbGUgVmVyc2lvbiBpc3QgZHVyY2hhdXMgc293ZWl0IHNpY2hlciwgd2llIG1hbgplcyBzaWNoIHd1ZW5zY2h0LiBIYXVwdGJ1ZyBpc3QgZGFiZWkgTmV0c2NhcGUuIERpZXNlcyBQcm9ncmFtbSBzZW5kZXQKbmFlbWxpY2ggdW5rb25maWd1cmllcnQgaGF1ZmVud2Vpc2UgWnVzYXR6aW5mb3JtYXRpb25lbiAobG9naW4gbmFtZSwKcmVmZXJyZWQgcGFnZSBldGMpIGFuIGRlbiBTZXJ2ZXIuIERhcyBoYXQgd2VuaWcgbWl0IEphdmEgenUgdHVuLgpTYWVtdGxpY2hlIGJpc2hlciBiZWthbm50ZW4gU2ljaGVyaGVpdHNsdWVja2VuIHNpbmQgc293ZWl0IApiZXNlaXRpZ3Qgd29yZGVuLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSmF2YSBUZWxuZXQgWnVnYW5nIChQaWxncmltLCAgNC4gSnVsIDE5OTYsIDE3OjI2OjU4KToKfiMhIHJuPUhhdGUgcnQ9ODM2NDY3Mjg5Cn4jISB0aWQ9ODM2MzMxNjAyCkFsc28KaWNoIGZpbmRlIGRhcyBKYXZhLVRlbG5ldCBnYW56IGd1dCAuLi4KTm9jaCBzY2hvZW5lciBmYWVuZCBpY2gsIHdlbm4gbWFuIGRpZSBzdGFuZGFyZHJpY2h0dW5nZW4gKG4scyx3LG8sbncsbm8sc3csc28pCmF1Y2ggbm9jaCBwZXIgYnV0dG9uIHVuZCBtYXVzCmFua2xpY2tlbiBrb2VubnRlIC0gc28gaW4gZm9ybSB2b24gMyBtYWwgMyBidXR0b25zIC4uLiA7LSkKRGFubiBrb2VubnRlIG1hbiBzaWNoIHF1YXNpIHBlciBjbGljayBkdXJjaCBtdWQgYmV3ZWdlbiAuLi4gOy0pCgpQaWxncmltCihudXIgc29ubmUgSWRlZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEphdmEgVGVsbmV0IFp1Z2FuZyAoQmFicywgIDQuIEp1bCAxOTk2LCAyMjo0MDowMik6Cn4jISBybj1IYXRlIHJ0PTgzNjQ2NzA5OQp+IyEgdGlkPTgzNjMzMTYwMgpJY2ggaGF0dGUgZGFzIGF1Y2ggc28gdmVyc3RhbmRlbiwgZGFzcyBkYXMgSmF2YSBUZWxuZXQgYWxzIFp1Z2FuZyBmdWVyClVzZXIgb2huZSBncm9zc2UgQ29tcHV0ZXJrZW5udG5pc3NlIGdlZGFjaHQgaXN0LiBBbGxlcmRpbmdzIGZpbmRlIGljaCBlcwpkYW5uIHdpZGVyc2lubmlnLCBkYXNzIGRhcyBBcHBsZXQgbnVyIHVudGVyIFVOSVggRGlhbGVrdGVuIGxhZXVmdC4KVU5JWCBpc3QgZWluIEJldHJpZWJzc3lzdGVtIGF1c3NjaGxpZXNzbGljaCBmdWVyIFByb2ZpcyB1bmQgSG9iYnlndXJ1cy4KV2VyIHNpY2ggZGFzIGFudHV0LCBoYXQgbWl0IFNpY2hlcmhlaXQgYXVjaCBkaWUgS2VubnRuaXNzZSwgZWluZW4gZWNodGVuCk1VRGNsaWVudCBvZGVyCndlbmlnc3RlbnMgZWluIHJpY2h0aWdlcyBUZWxuZXQgenUgbnV0emVuLgpXZW5uIGFsc28gZGFzIEFwcGxldCBTaW5uIG1hY2hlbiBzb2xsLCBkYW5uIG11c3MgZXMgdW50ZXIgV2luZG9vZiB1bmQKTmV0c2NhcGUgbGF1ZmVuLiBFdHdhcyBhbmRlcmVzIGtvbW10IG5hZW1saWNoIGluIGRlciBQcmF4aXMgZnVlciAKbm9ybWFsZSBVc2VyIGthdW0gdm9yLgoKTGVpZGVyIHR1dCBlcyBkYXMgaW1tZXIgbm9jaCBuaWNodC4KRGVyIEZvbnRidWcgaGF0IHNpY2ggbmljaHQgdmVyYWVuZGVydC4gWm9vbWVuIChBdXRvZm9jdXMpIGdlaHQgbmljaHQuClZvcmFsbGVtIHN0dWVyenQgZGFzIEFwcGxldCBpbW1lciBub2NoIG1laXN0IHNjaG9uIG5hY2ggendlaSwgZHJlaQpCZWZlaGxlbiBhYi4gKEFscyBGZWhsZXJtZXNzYWdlcyBrb21tZW4gIkphdmEgZXhjZXB0aW9uIiB1bmQgdmVyc2NoaWVkZW5lCk51bW1lcm4pICA6LSgKCkJlaSBOb3RzY2FwZSBpc3QgZXMgbWlyIGJlZGF1ZXJsaWNoZXJ3ZWlzZSBuaWNodCBnZWx1bmdlbiwgZGFzCkphdmEtY29uc29sIExvZyBpbSBUZXh0bW9kdXMgenUgcGFzdGVuLCBpY2gga2FubiBkYWhlciBrZWluCkZlaGxlcnByb3Rva29sbCBzY2hpY2tlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVyYWt0aXZlcyAoQmFicywgIDQuIEp1bCAxOTk2LCAyMjo0NDo0NCk6CkRpZSBGdW5rdGlvbmVuIGRlciBTZWl0ZSAiSW50ZXJha3RpdmVzIiBnZWhlbiBpbW1lciBub2NoIG5pY2h0IHdpZWRlci4KSWNoIHZlcm1pc3NlIGJlc29uZGVycyBkaWUgTW9lZ2xpY2hrZWl0LCBpbiBSdWhlIHBlciBXV1cgZGllIFplaXR1bmcgenUKbGVzZW4uClZpZWxsZWljaHQgaGF0IHdlbmlnc3RlbnMgamVtYW5kIEJhY2t1cHMgZGVyIGFsdGVuIEtvbmZpZ3VyYXRpb24sIGRpZQplciB3aWVkZXIgYXVmc3BpZWxlbiBrb2VubnRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSmF2YSBUZWxuZXQgWnVnYW5nIChIYXRlLCAgNS4gSnVsIDE5OTYsIDExOjAxOjA5KToKfiMhIHJuPUJhYnMgcnQ9ODM2NTEyODAyCn4jISB0aWQ9ODM2MzMxNjAyCldpZSBpY2ggc2Nob24gc2FndGUgbGllZ3QgZGFzIFByb2JsZW0gbmljaHQgYW0gQXBwbGV0LiBEYXMgUHJvYmxlbSBpc3QKZWluZGV1dGlnIGF1ZiBkZXIgV2luZG93cyBTZWl0ZSEKRGVyIEZvbnRidWcgTVVTUyByYXVzIHNlaW4sIHdlaWwgaWNoIGVpbmdlc3RlbGx0IGhhYmUsIGRhc3MgamV0enQgSU1NRVIKZWluIEZvbnQgdm9uIDEzIFB1bmt0ZW4gKENvdXJpZXIpIGJlbnV0enQgd2lyZC4gRGVyIEZvbnQgd2lyZCBzaWNoIGRhbm4KYXVjaCBzZWxic3QsIHdlbm4gZXIgbmljaHQgaW5zIEZlbnN0ZXIgcGFzc3QgTklDSFQgdmVyYWVuZGVybi4KQXV0b2ZvY3VzIGhhdCB1ZWJlcmhhdXB0IG5pY2h0cyBtaXQgWm9vbWVuIHp1IHR1bi4gQXV0b2ZvY3VzIGhlaXNzdCBudXIsCmRhc3Mgd2VubiBtYW4gbWl0IGRlciBNYXVzIGF1ZiBkaWUgc2Nod2FyemUgVGVybWluYWxmbGFlY2hlIGdlaHQsIGRhbm4KamVkZXIgVGFzdGVuZHJ1Y2sgYXVjaCBkb3J0aGluIGdlbGFuZ3QuIFdlbm4gZGFzIGJlaSBEaXIgbmljaHQgZnVua3Rpb25pZXJ0LAp2ZXJzdWNoIG1hbCBqZWR3ZWRlbiBjYWNoZSBhdXN6dXNjaGFsdGVuIG9kZXIgenUgbG9lc2NoZW4gdW5kIGRhcyBhcHBsZXQKbmV1IHp1IGxhZGVuIChpbiBOZXRzY2FwZSBTaGlmdC1SZWxvYWQpLiBNYW5jaG1hbCBtdXNzIG1hbiBuYWNoIGRlbSAKQXVzdHJhZ2VuIGRlcyBjYWNoZS9wcm94eSBuZXRzY2FwZSBuZXUgc3RhcnRlbiEKCkRpZSBFeGNlcHRpb25zIHRyZXRlbiBzY2hlaW5iYXIgbnVyIGJlaSBEaXIgYXVmIEJhYnMsIGplZGVuZmFsbHMgaXN0IGVzCm1pciBhdWNoIGR1cmNoIG1hc3NpdmVzIHNjcm9sbGVuIG5pY2h0IGdlbHVuZ2VuIGVpbmVuIEZlaGxlciB6dSBwcm9kdXppZXJlbi4KCkhhdGUuClAuUy46IE1hY2ggZWluZW4gU2NyZWVuc2hvcnQgdm9uIGRlciBKYXZhIGNvbnNvbGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1dXIEFjY2VzcyAoSGF0ZSwgMTAuIEp1bCAxOTk2LCAxMjoyOTo0Myk6CltsZW9AYXVncmFdd3d3YyBzYW50YW5hLnVuaS1tdWVuc3Rlci5kZSAvc2hhcmUvV1dXL3NlcnZlcl9yb290L2xvZ3MvYWNjZXNzX2xvZwptdWQgPiBtdWQuYWNjZXNzCkNvbm5lY3RpbmcgdG8gc2FudGFuYS51bmktbXVlbnN0ZXIuZGUgYXMgbXVkIC4uLgpDb3VudGluZyBhY2Nlc3MgLi4uIDxleHRlcm5hbD4gWyAxMjQ3XSBwYWdlcwpEb25lLgpbbGVvQGF1Z3JhXWhlYWQgbXVkLmFjY2VzcyAKICAxICAgNjQ4IC9MaW5ndWlzdGlrL3dlYmNoYXQuaHRtbAogIDIgICA0NjcgL35tdWQvCiAgMyAgIDI0NiAvfm11ZC9JbnRlcmFrdGl2L3RlbG5ldC5odG1sCiAgNCAgIDIwMyAvCiAgNSAgIDE2MiAvfm11ZC9JbmZvcm1hdGlvbi8KICA2ICAgMTIyIC9+bXVkL0ludGVyYWt0aXYvCiAgNyAgIDExNCAvJTdFbXVkLwogIDggICAxMDQgLyU3RW11ZC9JbnRlcmFrdGl2L3RlbG5ldC5odG1sCiAgOSAgICA5OCAvfm11ZC9JbmZvcm1hdGlvbi9UcmVmZmVuL1BhcnR5LwogMTAgICAgNzEgL0dJRy8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXV1cgQWNjZXNzIChNb3Jnb3RoLCAxMC4gSnVsIDE5OTYsIDE0OjI4OjExKToKfiMhIHJuPUhhdGUgcnQ9ODM2OTk0NTgzCn4jISB0aWQ9ODM2OTk0NTgzCmFlaG0uLi53YXMgc29sbCBkYXMgYmVkZXV0ZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdXVyBBY2Nlc3MgKEhhdGUsIDEwLiBKdWwgMTk5NiwgMTU6MDE6NTkpOgp+IyEgcm49TW9yZ290aCBydD04MzcwMDE2OTEKfiMhIHRpZD04MzY5OTQ1ODMKRGFzIHNpbmQgZGllIEFuemFobCBkZXIgWnVncmlmZmUgYXVmIGRpZSBXV1cgU2VpdGVuIGF1ZiBTYW50YW5hLgpEYXMgTVVEIHN0ZWh0IGF1ZiBQbGF0eiAyLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdXVyBBY2Nlc3MgKFRpcm9zLCAxMC4gSnVsIDE5OTYsIDIxOjQ4OjAxKToKfiMhIHJuPUhhdGUgcnQ9ODM3MDAzNzE5Cn4jISB0aWQ9ODM2OTk0NTgzCkRhcyB3ZXJkZW4gd2lyIG1hbCBnYW56IHNjaG5lbGwgYWVuZGVybiA6KQoKVGlyb3MgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBKYXZhIFRlbG5ldCBadWdhbmcgKEJhYnMsIDExLiBKdWwgMTk5NiwgMjM6NDM6MjEpOgp+IyEgcm49SGF0ZSBydD04MzY1NTcyNjkKfiMhIHRpZD04MzYzMzE2MDIKTmV1ZXJkaW5ncyBrb21tdCBudXIgbm9jaCAiZmFpbGVkIHRvIGNvbm5lY3QiIGJlaW0gS2xpY2tlbiBhdWYgSmF2YXRlbG5ldC4gOiggCkRhZnVlciBpbW1lciBub2NoIE1JVCBaZWljaGVuZ3JvZXNzZWJ1Zy4KCldhcnVtIHVlYmVybmVobXQgaWhyIG5pY2h0IGVpbmZhY2ggZGllIFZlcnNpb24sIGRpZSBkYXMgRkluYWxGcm9udGllcgppbnN0YWxsaWVydCBoYXQgPwpEaWUgZnVubGt0aW9uaWVydCBlaW53YW5kZnJlaSwgc29sYW5nZSBtYW4gbmljaHQgdmVyc3VjaHQsIHp1cnVlY2t6dWJsYWV0dGVybi4KQXVjaCBnYW56IHNpbXBlbCB1bnRlciBOZXRzY2FwZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBKYXZhIFRlbG5ldCBadWdhbmcgKEhhdGUsIDEyLiBKdWwgMTk5NiwgMTI6MzA6MDcpOgp+IyEgcm49QmFicyBydD04MzcxMjE0MDEKfiMhIHRpZD04MzYzMzE2MDIKRGFzIGZhaWxlZCB0byBjb25uZWN0IGlzdCBiZWhvYmVuLCBkYSB3YXIgZGVyIHRlbG5ldC1yZWRpcmVjdG9yIGF1c2dlZmFsbGVuLgpEYXMga2FubiBqYSBtYWwgcGFzc2llcmVuLiBVbmQgaWNoIGdsYXViZSBpbW1lciBub2NoIG5pY2h0LCBkYXNzIGRlcgpCdWcgaW4gZGVyIFplaWNoZW5ncm9lc3NlIG5vY2ggZGEgaXN0LiBJY2ggaGFiZSBkYXMgbWVocmZhY2ggZ2V0ZXN0ZXQhCkVzIHNpZWh0IGltbWVyIG5vY2ggZGFuYWNoIGF1cywgYWxzIG9iIER1IGVpbmVuIENhY2hlIGJlbnV0enQgdW5kIGVpbmZhY2gKbmljaHQgZGF6dSBrb21tc3QgZGllc2VuIG1hbCB6dSBsb2VzY2hlbiBvZGVyIGF1c3p1c2NoYWx0ZW4uClNjaGljayBtaXIgZG9jaCBhKSBlaW4gbG9nIHZvbiBkZXIgSmF2YSBDb25zb2xlISEhISB1bmQgYikKZWluZW4gU2NyZWVuc2hvdCEhISEKV2FzIHNvbGwgaWNoIG1pdCBzbyB3YWdlbiBBZXVzc2VydW5nZW4gQW5mYW5nZW4/Pz8/CkRpZSBWZXJzaW9uIHZvbSBGaW5hbCB1bnRlcnNjaGVpZGV0IHNpY2ggbnVyIG1pbmltYWwgdm9uIGRlciBoaWVyIGJlbnV0enRlbiEKRXMgaXN0IGRpZSBnbGVpY2hlIFNvZnR3YXJlIQoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhbnRhc3ktUGljdHVyZXMgaW0gV1dXIChQaWxncmltLCAxNy4gSnVsIDE5OTYsIDE1OjAzOjMwKToKSGlobywKCmljaCBoYWIgbWFsIChtaXQgS2lya3MgSGlsZmUpIGVpbiBwYWFyIEJpbGRlciBhdXMgZGVtIEJlcmVpY2hlbgpGYW50YXN5LCBBIEQgYW5kIEQsIERyYWdvbmxhbmNlLCAuLi4gYXVmIGRlbSBXV1ctU2VydmVyIGFiZ2VsZWd0LgoKRGllIGVyc3RlbiA2MCAoOy0pKSBCaWxkZXIgaGFiIGljaCBtYWwgdGVzdC1oYWxiZXIgdWViZXIgTUctV1dXIC0+IFJlZ2lvbmVuIC0+ClBvbGFyIC0+IFRlc3RQYWdlcyAKenVnYWVuZ2xpY2ggZ2VtYWNodC4KClBpbGdyaW0KClBzOiBtZWhyLCB3ZW5ucyBuZSB2ZXJudWVuZnRpZ2UgU2VpdGUgZ2lidCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGYW50YXN5LVBpY3R1cmVzIGltIFdXVyAoTGksIDE3LiBKdWwgMTk5NiwgMTU6MDk6NTEpOgp+IyEgcm49UGlsZ3JpbSBydD04Mzc2MDg2MTAKfiMhIHRpZD04Mzc2MDg2MTAKVGphIHNjaG9lbmUgYmlsZGVyIGFiZXIgbGVpZGVyIFN0YW5kYXJ0LCBkaWUgZ2lidHMgc2Nob24gYXVmIHRhdXNlbmRlbgpXV1ctU2VpdGVuLi4uIC4tKQpTY2hhdXQgZXVjaCBsaWViZXIgZGllIEJpbGRlciBkZXIgUmVnaW9uIEZlcm53ZXN0IGFuIQoqZ3JpbnMqCkxpIChzY2hsZWljaHdlcmJlbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZhbnRhc3ktUGljdHVyZXMgaW0gV1dXIChQaWxncmltLCAxNy4gSnVsIDE5OTYsIDE1OjI4OjA4KToKfiMhIHJuPUxpIHJ0PTgzNzYwODk5MQp+IyEgdGlkPTgzNzYwODYxMAoqZ3J1bW1lbCoKCgpuYXR1ZXJsaWNoIHNpbmQgZGllIHN0YW5kYXJkIC4uLiBhYmVyIGRpZSBtZWlzdGVuIFdXVy1TZXJ2ZXIsIGF1ZiBkZW5lbgpkaWVzZSBCaWxkZXIgbGllZ2VuLCBzaW5kIGhhbHQgaW0gQVVTTEFORCAuLi4gb2RlciBuaWNodCA/Pz8KClVuZCBlaHJsaWNoIGdlc2FndCBiaW4gaWNoIG5pZSBhdWYgZGllIElkZWUgZ2Vrb21tZW4sIG5hY2ggZmFudGFzeS1iaWxkZXJuIHp1CnN1Y2hlbiwgYmlzcyBpY2ggbWFsIGVpbiBwYWFyIE9ya3MgZnVlciBtZWluZSBXV1ctU2VpdGUgd29sbHRlIC4uLiB1bmQgc2llaGUKZGEsIC4uLiAKClZpZWxlIE1vdGl2ZSBoYWJlbiBtaWNoIHNwb250YW4gYW4gT3J0ZSBpbSBNRyBlcmlubmVydCwgdW5kIGRlc2hhbGIgbWFjaCBpY2gKc2llIGhpZXIgaW4gTVMgbWFsIHp1Z2FlbmdsaWNoIC4uLiBJaHIga3JpZWd0IGF1Y2ggZGllIGxpbmtzIGF1ZiBlaW4gcGFhciBlY2h0Cmd1dGUgYW5kZXJlIFVSTHMsIHdvIG5vY2ggdmllbHZpZWwgbWVociBydW1saWVndCwgYWJlciBlcnN0bWFsIG11c3MgZGllIHNlaXRlCnN0ZWhlbiA7LSkKCgoKUGlsZ3JpbQoKUFM6IEJlc3VjaHQgZGVuIEhvaGVuIE5PcmRlbiAoUG9sYXIpIC0gZGFzIGlzdCBrZWluZSAoU2NobGVpY2gtKSwgc29uZGVybgogICBuZSBlY2h0ZSBXZXJidW5nICEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYW50YXN5LVBpY3R1cmVzIGltIFdXVyAoSGFyZGlsLCAxOC4gSnVsIDE5OTYsIDEwOjU2OjIyKToKfiMhIHJuPUxpIHJ0PTgzNzYwODk5MQp+IyEgdGlkPTgzNzYwODYxMAoKQmlsZGVyIHZvbiBTdGFuZGFydGVuLCBMaT8KV2llIHdvIHdhcz8KCi1IYXJkaWwgRHVkZW4uIEJydWRlciB2b24gS29ucmFkLgpHcmluc3Qgc2ljaCBlaW5zLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmFudGFzeS1QaWN0dXJlcyBpbSBXV1cgKFBpbGdyaW0sIDE4LiBKdWwgMTk5NiwgMTE6MzU6NDIpOgp+IyEgcm49SGFyZGlsIHJ0PTgzNzY4MDE4Mgp+IyEgdGlkPTgzNzYwODYxMApIdWNoLAoKbWFuIG1hY2h0IG1pY2ggZ2VyYWRlIGRhcmF1ZiBhdWZtZXJrc2FtLCBkYXNzIGRpZSBzZWl0ZSAoYmlzIGpldHp0KSBudXIgbWl0Ck5ldFNjYXBlIHR1dHMgLi4uIG5peCBNb3NhaWMgLi4uICpncnVtbWVsIHVlYmVyIGZlaGxlbmRlIHN0YW5kYXIqICA7LSkKCkFiZXIgZXMgZ2lidCBuZSBNb2VnbGljaGtlaXQsIC4uLiBnaWx0IGF1Y2ggZnVlciBOZXRTY2FwZSAuLgoKZWluZmFjaApodHRwOi8vc2FudGFuYS51bmktbXVlbnN0ZXIuZGUvcGljcy9mYW50YS8KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZhbnRhc3ktUGljdHVyZXMgaW0gV1dXIChHcmltbWJvcm4sIDE4LiBKdWwgMTk5NiwgMTY6MDQ6MjQpOgp+IyEgcm49UGlsZ3JpbSBydD04Mzc2ODI1NDIKfiMhIHRpZD04Mzc2MDg2MTAKCi4uLnVuZCBtYWNodCBldWNoIGtlaW5lIFNvcmdlbiB1ZWJlciBkaWUgTmV0emxhc3QsIGRpZSBMZWl0dW5nZW4gaGFsdGVuIGRpZQpwYWFyIE1CIGZ1ZXIgZGllIEJpbGRlciBzY2hvbiBub2NoIGF1cy4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGYW50YXN5LVBpY3R1cmVzIGltIFdXVyAoR3VsZHVrYXQsIDE4LiBKdWwgMTk5NiwgMTc6MTE6NTApOgp+IyEgcm49UGlsZ3JpbSBydD04Mzc2ODI1NDIKfiMhIHRpZD04Mzc2MDg2MTAKU2NoYXUgbWFsIGZhbnRhYm95LCBlaW5lIHNlaXRlIG51ciBmdWVyIGRpY2ghIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRmFudGFzeS1QaWN0dXJlcyBpbSBXV1cgKFllbmRpLCAyMi4gSnVsIDE5OTYsIDE0OjU0OjAwKToKfiMhIHJuPUhhcmRpbCBydD04Mzc2ODAxODIKfiMhIHRpZD04Mzc2MDg2MTAKCj4gV2llIHdvIHdhcz8KCkRpZXNlciB3ZWRlciBTdWJzdGFudGl2IG5vY2ggVmVyYiEKCkdvdHRmcmllZCBEdWRlbiwgQnJ1ZGVyIGZvbiBLb25yYWQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFpbGluZ2xpc3QgTURVLmRlIChCYWJzLCAyNC4gSnVsIDE5OTYsIDAxOjU2OjMzKToKQWxzbywgZXJzdG1hbCBuIExvYjoKSWNoIGZpbmRzIHN1cGVyLCBkYXNzIGRpZSBNRyBXZWJzZWl0ZSBqZXR6dCBhdWNoIGRpZSBNYWlsaW5nbGlzdCBtdWQuZGUKc3BpZWdlbHQhIFZpZWxlbiBEYW5rLgoKV3Vuc2NoOgp3YWVyZSBlcyBuaWNodCBtb2VnbGljaCwgZGllc2UgTGlzdGUgYXVjaCBpbiBkZW4gcmVndWxhZXJlbiBNRyBOZXdzIGFscwpSdWJyaWsgenVyIHZlcmZ1ZWd1bmcgenUgc3RlbGxlbiA/ClZpZWxlIE11ZGRlciBnYWJlbiBoYWx0IGtlaW5lbiBlaWdlbmVuIGVtYWlsIFp1Z2FuZyB6dW0gSW50ZXJuZXQsIHVuZCBkYXMKTGVzZW4gcGVyIFdXVyBpc3QgYXVmIERhdWVyIGFyZyB1bXN0YWVuZGxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFpbGluZ2xpc3QgTURVLmRlIChIYXRlLCAyNC4gSnVsIDE5OTYsIDEwOjQyOjI2KToKfiMhIHJuPUJhYnMgcnQ9ODM4MTY2MTkzCn4jISB0aWQ9ODM4MTY2MTkzCk1hbCBzZWhlbiwgd2FzIHNpY2ggbWFjaGVuIGxhZXNzdC4gV2lyIHNpbmQgamEgZXJzdCBkYWJlaSBNdWQuREUgZWluIGJpc3NjaGVuCmF1Znp1cGFlcHBlbG4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWlsaW5nbGlzdCBNRFUuZGUgKEFjcmltb24sIDI0LiBKdWwgMTk5NiwgMjA6MjI6MzcpOgp+IyEgcm49SGF0ZSBydD04MzgxOTc3NDYKfiMhIHRpZD04MzgxNjYxOTMKTnVuLCBtYWNodCBzaWUgZG9jaCBhbHMgbXBhLVJ1YnJpaywgZGFubiBnaWJ0cyBrZWluZSBQcm9ibGVtZSBtZWhyIHdlZ2VuCnp1d2VuaWcgQnJpZWZlIGluIGRlciBNYWlsaW5nbGlzdGUgOi0pCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1haWxpbmdsaXN0IE1EVS5kZSAoSGF0ZSwgMjUuIEp1bCAxOTk2LCAxNjowNjoxNSk6Cn4jISBybj1BY3JpbW9uIHJ0PTgzODIzMjU1Nwp+IyEgdGlkPTgzODE2NjE5MwpNdWQuREUgc29sbCBldHdhcyBzZWluLCB3YXMgdW5hYmhhZW5naWcgdm9uIGVpbmVtIGVpbnplbG5lbiBNVUQgaXN0LgpEZXNoYWxiIGhhbHRlIGljaCBlcyBmdWVyIHNpbm52b2xsZXIgZXMgYXVmIGRlciBXV1cgRWJlbmUgenUgYmxlaWJlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEb2t1bWVudGF0aW9uc3NlaXRlIChIYXRlLCAyNi4gSnVsIDE5OTYsIDE5OjE0OjM0KToKRG9ydCBiZWZpbmRldCBzaWNoIGpldHp0IGF1Y2ggZWluZSBTdWNobWFzY2hpbmUuCgpoYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFpbGluZ2xpc3QgTURVLmRlIChNYXNvLCAzMC4gSnVsIDE5OTYsIDA5OjEzOjU2KToKfiMhIHJuPUhhdGUgcnQ9ODM4MzAzNTc1Cn4jISB0aWQ9ODM4MTY2MTkzCkhtbSwgdWQgZ2lidHMgZWluZW4gdmVybnVlbmZ0aWdlbiBHcnVuZCwgd2llc28gbWFuIHN0YXR0IGRlLmFsdC5tdWQgZGllCk1haWxpbmdzbGlzdGUgYmVudXR6ZW4gc29sbHRlPwoKTWFzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWlsaW5nbGlzdCBNRFUuZGUgKEhhdGUsIDMwLiBKdWwgMTk5NiwgMTA6MDM6MDkpOgp+IyEgcm49TWFzbyBydD04Mzg3MTA4MzYKfiMhIHRpZD04MzgxNjYxOTMKTmllbWFuZCBoYXQgZ2VzYWd0LCBkYXNzIGplZGVyIGRpZSBNYWlsaW5nc2xpc3RlIGJlbnV0emVuIHNvbGwuCkRpZXNlIExpc3RlIGlzdCBmdWVyIGRlbiBadXNhbW1lbnNjaGx1c3MgZGVyIE1VRHMgaW4gZWluZW0gVmVyZWluIGVyLQpvZWZmbmV0IHdvcmRlbiB1bmQgbmljaHQgZnVlciBkaWUgZGFlbWxpY2hlbiBGbGFtZXdhcnMgaW4gZC5hLm0KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1haWxpbmdsaXN0IE1EVS5kZSAoQmFicywgMzEuIEp1bCAxOTk2LCAwMjo0MTowOSk6Cn4jISBybj1IYXRlIHJ0PTgzODcxMzc4OQp+IyEgdGlkPTgzODE2NjE5MwpOYWphLCBkYXMgbmltbXQgc2ljaCBpbSBQcmluemlwIG5peC4KU2NobGlzc2xpY2ggaXNzZXMgamEgbmljaCBfdmVyYm90ZW5fICwgbWFsIHdhcyBFcm5zdHp1bmVobWVuZGVzIGluCmRlLmFsdC5tdWQgenUgcG9zdGVuLiA7LSkKCkFiZXIgb2IgZGVyIEZsYW1ld2FyICJ3b3p1IHVtIGFsbGVzIGluIGRlciBXZWx0IGJyYXVjaGVuIHdpciBlaW5lbgpNVUQtRGFjaHZlcmJhbmQiIGpldHp0IGluIGRlbiBVc2VuZXQtTmV3cyBvZGVyIGluIGRlciBNYWlsaW5nbGlzdApzdGF0dGZpbmRldCwgaXN0IG51biB3aXJrbGlvY2ggd3Vyc2NodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1haWxpbmdsaXN0IE1EVS5kZSAoSGF0ZSwgMzEuIEp1bCAxOTk2LCAxMTowNTowMSk6Cn4jISBybj1CYWJzIHJ0PTgzODc3MzY2OQp+IyEgdGlkPTgzODE2NjE5MwpEZXIgUHVua3QgaXN0IGVpbmZhY2ggenUgYmVhbnR3b3J0ZW46CgpPYiB3aXIgZWluZW4gYnJhdWNoZW4gb2RlciBuaWNodCB3dXJkZSBzY2hvbiBnZWtsYWVydCB1bmQgZGllIExpc3RlCmJlc2NoYWVmdGlndCBzaWNoIGpldHp0IG1pdCBkZXIgVW1zZXR6dW5nIHVuZCBkYXp1IGdlaG9lcnQgbWVociAKS29uc3RydWt0aXZlcyBhbHMgRmxhbW1lbmRlcy4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcGRhdGVzIChIYXRlLCAgMi4gQXVnIDE5OTYsIDEyOjA5OjU0KToKSWNoIGhhYmUgYXVmIGRlciBQYXJ0eSBXV1cgU2VpdGUgbGlua3MgenUgQmVybGluIGVpbmdlYmF1dC4KV2VyIGRpZXNlIFNlaXRlIG5pY2h0IGZpbmRldCwgYmV0cmFjaHRlIGJpdHRlIGRpZSBvYmVyc3RlIFplaWxlIGRlcgpNRyBIYXVwdHNlaXRlIChodHRwOi8vbWcudW5pLW11ZW5zdGVyLmRlLykKCkRpZSBTdGFtbXRpc2Noc2VpdGUgaXN0IGFrdHVhbGlzaWVydCB3b3JkZW4uIE1haWwgYW4gQWxpbmUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgSTogQklsZGVyIChIYXRlLCAxMy4gQXVnIDE5OTYsIDE2OjU5OjExKToKSWNoIGhhYnMgbnVuIGVuZGxpY2ggZ2VzY2hhZmZ0IGRpZSBCaWxkZXIgdm9uIExvY28gZWluenViaW5kZW4uCkZ1ZXIgZGllIEZlYiA5NSBQYXJ0eSB1bmQgYW5kZXJlIGFubGFlc3NlIGtvbW10IG5vY2ggd2FzLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRvcGxpc3QuaHRtbCAoS2lyaywgMTQuIEF1ZyAxOTk2LCAwMjozMzo1NCk6CkhpIQoKRGFzIFByb2JsZW0gbWl0IGRlciBuaWNodCBsZXNiYXJlbiB0b3BsaXN0ZSBpbSBXV1cgc29sbHRlIGdlbG9lc3Qgc2Vpbi4KRG9rdW1lbnRlLCBkaWUgdm9uIFNhbnRhbmEgYXVzIHJlZmVyZW56aWVydCB3ZXJkZW4gbXVlc3NlbiwgYWJlciB2b20gTXVkCm9kZXIgZWluZW0gc2VpbmVyICJTZXJ2aWNlcmVjaG5lciIgYXVzIGVyemV1Z3Qgd2VyZGVuLCBzb2xsdGVuIG5hY2gKL3UvbXVkLy5XV1cvIGdlbGVndCB3ZXJkZW4gdW5kIGF1ZiBTYW50YW5hIGVpbiBlbnRzcHJlY2hlbmRlciBMaW5rIGFuZ2VsZWd0CndlcmRlbi4KClNvd2VpdHNvZ3V0IC4uLgoKS2lyawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcnR5IEk6IEJJbGRlciAoUmFmZmksIDE5LiBBdWcgMTk5NiwgMTc6MDE6MTgpOgp+IyEgcm49SGF0ZSBydD04Mzk5NDgzNTEKfiMhIHRpZD04Mzk5NDgzNTEKQWVoIHVuZCB3byBoYXN0IGR1IHNpZSBlaW5nZWJ1bmRlbiA/IEljaCBmaW5kIHNpZSBuaWNodCAtIGtvZW5udGVzdCBkRHUgZGEKdmllbGVpY2h0IHVudGVyIEFlbmRlcnVuZ2VuIGVpbmVuIExpbmsgcmVpbm1hY2hlbiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKREcncyBQYXJ0eWJpbGRlciB1bmQgYW5kZXJlcyAoSGF0ZSwgMjEuIEF1ZyAxOTk2LCAwOToyMzo0Nyk6CkhpLAoKCmFsc28gaWNoIGhhYmUgZGllIEJpbGRlciB2b24gSmltZGlHcml6IG1hbCBhdWYgZGVyIFBhcnR5c2VpdGUgdW50ZXJnZWJyYWNodC4KV2VpdGVyaGluIGhhYmUgaWNoIG1hbCBkZW4gRlRQIFNlcnZlciBldHdhcyBhdWZnZXJhZXVtdC4gSWNoIHN1Y2hlIGltbWVyIG5vY2gKZGFzIE1vdGl2IGRlciBkcml0dGVuKD8pIFBhcnR5LCBhbHNvIGRhcyBPdmFsZSBCaWxkIG1pdCBkZW0gTWFnaWVyIGltIApNb3JnZW5ncmF1ZW4uCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgR3J1ZnQgKFNjaHJ1bXBmaSwgMjIuIEF1ZyAxOTk2LCAwMDoyNzo1Nyk6CkRpZSBHcnVmdCB1bmQgTGlsaXRoIGthbm4gbWFuIGpldHp0IGF1Y2ggaW4gZGVyIE1HLUhvbWVwYWdlIGJld3VuZGVybiA6LSkKVmllbGVuIERhbmsgYW4gUGlsZ3JpbSBmdWVyIGRpZSBNdWVoZSB1bmQgQXJiZWl0IDotKQpTY2hydW1wZmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKREcncyBQYXJ0eWJpbGRlciB1bmQgYW5kZXJlcyAoR3JpbW1ib3JuLCAyMi4gQXVnIDE5OTYsIDEzOjEwOjEzKToKfiMhIHJuPUhhdGUgcnQ9ODQwNjEyMjI3Cn4jISB0aWQ9ODQwNjEyMjI3CgpNYWdpZXI/IFNhZ3Rlc3QgRHUgTWFnaWVyIGltIE1vcmdlbmdyYXVlbiwgb3ZhbGVzIEJpbGQ/ClJlZGVuIHdpciBiZWlkZSB2b24gZGVtLCB3YXMgYXVmIGRlbSBULVNoaXJ0IHdhciwgZGVyIEtlcmwgaW4gS3V0dGUgbWl0IFNlbnNlPwpKdW5ncywgc2NoaWNrdCBMYXJzIGluIFBlbnNpb24sIHdpciBNYWdpZXIgdWViZXJuZWhtZW4hCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcnR5YmlsZGVyLi4uIChXb29keSwgMjIuIEF1ZyAxOTk2LCAxNToxNDozMSk6CgpNZWluZSBQYXJ0eWJpbGRlciBzaW5kIGpldHp0IGFtIFdXVyBhYnJ1ZmJhciwgbmF0dWVybGljaCBpbgpPZXN0ZXJyZWljaCwgZGFzIGhlaXNzdCBhdXMgLmRlIHdlcmRldCBpaHIgZWluIHdlbmlnIExhZyBoYWJlbiA6KQpVUkw6IGh0dHA6Ly9hdHBmb3Jlc3QudHV3aWVuLmFjLmF0L35hYy9tdWQvCgpsZwp3b29keS4tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFydHliaWxkZXIuLi4gKFJhZmZpLCAyMi4gQXVnIDE5OTYsIDE2OjMzOjI4KToKfiMhIHJuPVdvb2R5IHJ0PTg0MDcxOTY3MQp+IyEgdGlkPTg0MDcxOTY3MQoKS29taXNjaCBpY2ggaGFiIGhpZXIgd2VuaWdlciBMYWcgenUgZGVpbmVuIEJpbGRlcm4gYWxzIHp1bSBNRyAhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJ0eWJpbGRlci4uLiAoR3JpbW1ib3JuLCAyMy4gQXVnIDE5OTYsIDAxOjIzOjQ2KToKfiMhIHJuPVJhZmZpIHJ0PTg0MDcyNDQwOAp+IyEgdGlkPTg0MDcxOTY3MQoKTmFqYSwgQmF5ZXJuLCBPZXN0ZXJyZWljaGVyLCB3byBpc3QgZGEgc2Nob24gZGVyIFVudGVyc2NoaWVkLi4uICpncmlucyoKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgRmlzY2hrb3BwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQYXJ0eWJpbGRlci4uLiAoU2NocnVtcGZpLCAyMy4gQXVnIDE5OTYsIDAxOjI1OjI1KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NDA3NTYyMjYKfiMhIHRpZD04NDA3MTk2NzEKRHVlc3NlbGRvcmYsIEtvZWxuLCB3byBpcyBEQSBkZXIgVW50ZXJzY2hpZWQ/IElzIGRvY2ggYWxsZXMgUnVocnBvdHQhCkR1bW1kaWR1bW0gOikKU2NocnVtcGZpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlci4uLiAoWWFudHJvLCAyMy4gQXVnIDE5OTYsIDA4OjI1OjI0KToKfiMhIHJuPVNjaHJ1bXBmaSBydD04NDA3NTYzMjUKfiMhIHRpZD04NDA3MTk2NzEKSGF0dGUgU2NocnVtcGZpIG5pY2h0IG1hbCB2ZXJzcHJvY2hlbiwgc2ljaCB6dXJ1ZWNrenV6aWVoZW4gb2RlciBnYXIgenUKbG9lc2NoZW4/IEFsc28gaWNoIGZpbmRlIGRhcyBnZWh0IHNvIHdlaXQgdW50ZXIgZGllIEd1ZXJ0ZWxsaW5pZSwgZGFzcyBpY2gKbmljaHQgd2Vpc3MsIG9iIGljaCBkYSBuaWNodCBzYW5rdGlvbmllcmVuIG11c3MhISEgSWNoIGdlYmUgU2NocnVtcGZpIGhpZXJtaXQKZnVlciBhbGxlIGdlc2l0dGV0ZW4sIGxpZWJlbiB1bmQgdm9yIGFsbGVtIGVocmJhcmVuIFJoZWlubGFlbmRlciAoYWxzbwpLb2VsbmVyKSB6dW0gQWJzY2h1c3MgZnJlaS4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlhbnRybywgS29wZmdlbGRqYWVnZXIsIFJhZWNoZXIgZGVzIEtFQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGFydHliaWxkZXIuLi4gKEhhciwgMjMuIEF1ZyAxOTk2LCAxMDoyOToxNSk6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODQwNzU2MzI1Cn4jISB0aWQ9ODQwNzE5NjcxCkR1ZXNzZWxkb3JmLCBLb2VsbiBSdWhyLVBvdHQ/Pz8/Pz8/CkRpZSB0cmlua2UgQWx0YmllciB1bmQgS29lbHNjaCwgdW5kIGRlciBGbHVzcyBhbiBkZW0gZGllIGxpZWdlbiBzaXQgYXVjaCBuaWNodApkaWUgUnVociBzb25kZXIgZGVyIFJoZWluLi4uLgpBdXNzZXJkZW0gc2luZCBkaWUga29lbG5lciB1bmQgRHVlc2VsZG9yZmVyIHNjaGVpc3NlIHVuZCBrZWluIGJpc3NrZW4KUnVocnBvdHQsIG1hbiBzY2hhdWUgc2ljaCBudXIgZGllIEZ1c3NiYWx2ZXJlaW5lIGFuIQoKCkhhciAoc2VpdCAyMCBKYWhyZSBQb3R0ZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQYXJ0eWJpbGRlci4uLiAoQ2hlYXN5LCAyMy4gQXVnIDE5OTYsIDExOjA5OjI1KToKfiMhIHJuPVNjaHJ1bXBmaSBydD04NDA3NTYzMjUKfiMhIHRpZD04NDA3MTk2NzEKT29vb2NoIFNjaHJ1bXBmaS4uLiBCb25uLCBCZXJsaW4sIEhhbWJ1cmcuLi4gaXMgZG9jaCBhbGxlcwpOb3Jkc2VldWViZXJmbHV0dW5nc2dlYmlldCA6LSkKCi1DaGVhc3kKLi4ud29obnQgd2VpdGVyIHN1ZWRsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGFydHliaWxkZXIuLi4gKEFjcmltb24sIDIzLiBBdWcgMTk5NiwgMTI6MjA6MjIpOgp+IyEgcm49Q2hlYXN5IHJ0PTg0MDc5MTM2NQp+IyEgdGlkPTg0MDcxOTY3MQpEYWZ1ZXIga29lbm5lbiBzaWUgcmVnZWxtYWVzemlnIGRhcyBQb2xhcmxldWNodGVuIGJlb2JhY2h0ZW4gOi0pCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBhcnR5YmlsZGVyLi4uIChHcmltbWJvcm4sIDIzLiBBdWcgMTk5NiwgMTI6NTU6MjYpOgp+IyEgcm49SGFyIHJ0PTg0MDc4ODk1NQp+IyEgdGlkPTg0MDcxOTY3MQoKSG1tLCBGdXNzYmFsbHZlcmVpbmU/IFRqYSwgd2VubiBpY2ggQm9jaHVtIHVuZCBLb2VsbiB2ZXJnbGVpY2hlIG11c3MgaWNoCnp1Z2ViZW4sIGRhcyBpc3QgbmljaHQgZGllIGdsZWljaGUgS2xhc3NlLiBBYmVyIG5pY2h0IHdlaW5lbiwgdmllbGxlaWNodApzY2hhZmZ0cyBCb2NodW0gamEgZG9jaCBub2NoLCBuaWNodCBhYnp1c3RlaWdlbi4uLgpBbnNvbnN0ZW4sIHVtIGhpZXIgbWFsIGRpZSBHZW9ncmFwaGllIGtsYXJ6dXN0ZWxsZW46IEFiIER1ZXNzZWxkb3JmIG5vZXJkbGljaAppc3QgV2F0dGdlYmlldCwgc3VlZGxpY2ggdm9uIEtvYmxlbnogYmVmaW5kZW4gd2lyIHVucyBpbiBCYXllcm4gdW5kCnJlY2h0c3JoZWluaXNjaCBpc3QgZGllIFNjaGFlbCBTaWNrLCBkaWUgZGFubiBhYiAyMGttIG9lc3RsaWNoIG5haHRsb3MgaW4KT3N0c2liaXJpZW4gdWViZXJnZWh0Li4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKREcncyBQYXJ0eWJpbGRlciB1bmQgYW5kZXJlcyAoQm9pbmcsIDIzLiBBdWcgMTk5NiwgMTM6NTU6MzApOgp+IyEgcm49SGF0ZSBydD04NDA2MTIyMjcKfiMhIHRpZD04NDA2MTIyMjcKSWNoIGhhYiBub2NoIGRhcyBlaW56aWcgV2FocmUgQmlsZCwgZGFzIG1pdCBkZW0gU2Vuc2VubWFubiEgUGFzc3QgaXJnZW5kd28KYmVzc2VyIHp1bSBNRy4gOikgCkRhcyBhbmRlcmUgaGF0IG1pciBuaWUgc28gZ2VmYWxsZW4gLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBhcnR5YmlsZGVyLi4uIChSYWZmaSwgMjMuIEF1ZyAxOTk2LCAxNjo1NDo0NSk6Cn4jISBybj1BY3JpbW9uIHJ0PTg0MDc5NTYyMgp+IyEgdGlkPTg0MDcxOTY3MQoKSm9vIEFjcmltb24sIGFiZXIgYXVjaCBudXIgd2VpbHMgc28gRmxhY2ggaXN0LCBkYXNzIGRpZSBhdWYgamVkZW4gTWlzdGhhdWZlbgplaW4gR2lwZmVsa3JldXogc3RlbGxlbiB3b2xsZW4hCgpHcnVzcwpILgooRnVlciBILiBnZWhvZXJ0IGVpZ2VudGxpY2ggc2Nob24gRnJhbmtmdXJ0IHp1bSBwb3R0LikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSkRHJ3MgUGFydHliaWxkZXIgdW5kIGFuZGVyZXMgKENhcmFkaHJhcywgMjMuIEF1ZyAxOTk2LCAxOTozNTo1Nik6Cn4jISBybj1Cb2luZyBydD04NDA4MDEzMzAKfiMhIHRpZD04NDA2MTIyMjcKRWluIEZyb3NjaCBzaW5ndDogRWluIEZyZXVuZCwgZWluIGd1dGVyIEZyZXVuZC4uLiB1bmQga251ZGRlbCBlaW5lbgpTZW5zZW5tYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHliaWxkZXIuLi4gKENhcmFkaHJhcywgMjMuIEF1ZyAxOTk2LCAxOTozNzoxNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODQwNzk3NzI2Cn4jISB0aWQ9ODQwNzE5NjcxCkFjaCB3YXMsIFRlZWZyb3NjaCwgYWxsZXMgbm9lcmRsaWNoIGRlciBEb25hdSBpc3QgUHJlaXNzbi4KCiAgR29sZGZyb3NjaCBDYXJhZGluZ3MgLSBzdWVkbGljaCBkZXIgRG9uYXUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5YmlsZGVyLi4uIChSYWZmaSwgMjMuIEF1ZyAxOTk2LCAyMDozOTozOCk6Cn4jISBybj1DYXJhZGhyYXMgcnQ9ODQwODIxODM1Cn4jISB0aWQ9ODQwNzE5NjcxCgpOb2VyZGxpY2ggZGVyIERvbmF1IGtvbW10IGVyc3RtYWwgRnJhbmtlbiwgdW5kIGRhcyBpc3QgQmF5ZXJpc2NoZXMKS29sb25pYWxnZWJpZXQgKGRhIGhhYmVuIHdpciBkYXMgRXhwZXJpbWVudCBhbSBsYXVmZW4gb2IgbWFuIGF1cyBQcmVpc3NlbiBhdWNoCk1lbnNjaGVuIG1hY2hlbiBrYW5uKS4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQYXJ0eWJpbGRlci4uLiAoU2NocnVtcGZpLCAyMy4gQXVnIDE5OTYsIDIxOjA3OjQ2KToKfiMhIHJuPUhhciBydD04NDA3ODg5NTUKfiMhIHRpZD04NDA3MTk2NzEKT2hvLCBoYWIgaWNoIGRhIGV0d2EgZWluIHBhYXIgTG9rYWxwYXRyaW90ZW4gZ2VvdXRldD8gOy0pClNjaG9lbiEgOikKVWVicmlnZW5zIGJpbiBpY2ggc2VsYmVyIGF1cyBEdWVzc2VsZG9yZiB1bmQgd2Vpc3Mgd2FzIHp1bSBQb3R0IGdlaG9lcnQgdW5kCndhcyBuaWNodCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGFydHliaWxkZXIuLi4gKENhcmFkaHJhcywgMjMuIEF1ZyAxOTk2LCAyMToxOToxOSk6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODQwODI3MjY2Cn4jISB0aWQ9ODQwNzE5NjcxCktvZWxuPyBEdXNzZWxkb3JmPyBJc3QgZG9jaCBlaCBlaW4gS2FmZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBhcnR5YmlsZGVyLi4uIChNdXBmZWwsIDIzLiBBdWcgMTk5NiwgMjE6MjM6MzIpOgp+IyEgcm49Q2FyYWRocmFzIHJ0PTg0MDgyNzk1OQp+IyEgdGlkPTg0MDcxOTY3MQoKSWNoIGdsYXViZSBkYXMgaXN0IG5lIHRvZWRsaWNoZSBCZWxlaWRpZ3VuZyBmdWVyIEtvZWxuZXIgdW5kIER1ZXNzZWxkb3JmZXIuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQYXJ0eWJpbGRlci4uLiAoU2NocnVtcGZpLCAyMy4gQXVnIDE5OTYsIDIxOjI1OjAxKToKfiMhIHJuPU11cGZlbCBydD04NDA4MjgyMTIKfiMhIHRpZD04NDA3MTk2NzEKQWNoPyBOZSBhbHNvIHdlbm4gaWNoIERBUyBnZXd1c3N0IGhhZXR0ZSwgZGFubiBoYWV0dCBpY2ggc293YXMgbmF0dWVybGljaApuaWNodCBnZXNjaHJpZWJlbiEgOy0pKQpTY2hydW1wZmkga3JpZWd0IHNpY2ggbmljaHQgbWVociBlaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBhcnR5YmlsZGVyLi4uIChUYXNoYSwgMjYuIEF1ZyAxOTk2LCAxOTo0MzoyMyk6Cn4jISBybj1NdXBmZWwgcnQ9ODQwODI4MjEyCn4jISB0aWQ9ODQwNzE5NjcxCkFsc28gZGllIER1ZXNzZWxkb3JmZXIgc2luZCBkb2NoIHNvIHBlcnZlcnMgdW5kIHNhZ2VuICdIZWxhdScuIFNvd2FzIG1pdCBuZW0KS29lbG5lciB6dSB2ZXJnbGVpY2hlbiBpc3Qgc2Nob24gZmFzdCBlaW4gTG9lc2NodW5nc2dydW5kLgoKVGFzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBhcnR5YmlsZGVyLi4uIChTY2hydW1wZmksIDI2LiBBdWcgMTk5NiwgMjM6NTM6MTYpOgp+IyEgcm49VGFzaGEgcnQ9ODQxMDgxNDAzCn4jISB0aWQ9ODQwNzE5NjcxClVuZCB3YXMgc29sbCBhbiBBbGFhYWFhYWFhYWFhYWFhYWFhYWYgYmVzc2VyIHNlaW4/ClNjaHJ1bXBmaSBzYWd0OiBLb2VsbGUgQWxvYWFhaCAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkZXJpbmRleCAoSGF0ZSwgMjcuIEF1ZyAxOTk2LCAwODo0MTozMik6CkFuIGFsbGUsIGRpZSBub2NoIHZvcmhhYmVuLCBCaWxkZXIgZWluenVzY2FubmVuLgpFcyB3YWVyZSBzZWhyIHByYWt0aXNjaCwgd2VubiBpaHIgZWluZW4gSW5kZXggbWl0IGZvbGdlbmRlbSBGb3JtYXQKZGF6dSBwYWNrZW4ga29lbm50ZXQ6CmZpbGVuYW1lXHREZXJUZXh0LCBkZXIgZGEgc3RlaGVuIHNvbGwKXHQgPT0gVGFidWxhdG9yCkRlciBSZXN0IHdpcmQgZGFubiBhdXRvbWF0aXNjaCBlcnpldWd0LgoKRGFua2UsIEhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZGVyaW5kZXggKEhhdGUsIDI3LiBBdWcgMTk5NiwgMDk6MTA6NDYpOgp+IyEgcm49SGF0ZSBydD04NDExMjgwOTIKfiMhIHRpZD04NDExMjgwOTIKTkFjaHRyYWc6CkluIGRlbSBUZXh0IGtvZW5uZW4gcnVoaWcgSFRNTCB0YWdzIGRyaW4gc2Vpbi4KSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBhcnR5YmlsZGVyLi4uIChOYXNpbSwgMjkuIEF1ZyAxOTk2LCAxMTo1NDoyNCk6Cn4jISBybj1TY2hydW1wZmkgcnQ9ODQwNzU2MzI1Cn4jISB0aWQ9ODQwNzE5NjcxClRyaW5rIGRhcyBvZXJ0bGljaGUgIkJpZXIiIGdlbmFubnRlIEdldHJhZW5rIHVuZCBEdSB3aXJzdCBpaG4gYmVtZXJrZW4hCgpQcm9zdCwgTmFzaW0gKFBpbHN0cmlua2VyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBCaWxkZXIgKEhhdGUsICA5LiBTZXAgMTk5NiwgMDk6MzQ6MDEpOgpFcyBnaWJ0IGpldHp0IG5ldWUgQmlsZGVyIHZvbiBGYXRpbWEsIFBhcmFjZWxzdXMgdW5kIGJlc3NlcmUgUXVhbGl0YWV0IHZvbgpUYXNoYSdzIEJpbGRlcm4uCgpIYXRlLgpodHRwOi8vbWcudW5pLW11ZW5zdGVyLmRlL0luZm9ybWF0aW9uL1RyZWZmZW4vUGFydHkuNi8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZGxpc3RlIChNb2hhbW1lZCwgIDEuIE9rdCAxOTk2LCAxNzoxODoyNCk6CgpIYWxsbywKdmllbGxlaWNodCBlcnJlaWNodCBpY2ggaGllciBqZW1hbmRlbiwgZGVyIGZ1ZXIgZGllIFdXVy1TZWl0ZW4genVzdGFlbmRpZyBpc3QuCkljaCBoYWIgendhciBzY2hvbiBuZSBtYWlsIGdlc2NoaWNrdCAoYW4gbXVkKSBhYmVyIGJpc2hlcgprZWluZSBBbnR3b3J0L1JlYWt0aW9uIGVyaGFsdGVuLgoKQWxzbzogd2FlcmUgZXMgbWFsIG1vZWdsaWNoIGluIGRlciBNdWRsaXN0ZSBkZW4gbGluayBhdWYgZGllIEhvbWVwYWdlCmRlcyBXdW5kZXJsYW5kZXMgYXVmIGRlbiBuZXVlc3RlbiBTdGFuZCB6dSBicmluZ2VuPwoKbmV1OiBodHRwOi8vd2lsbWEucnoudW5pLWxlaXB6aWcuZGUvbXVkCnRlbG5ldDogd2lsbWEucnoudW5pLWxlaXB6aWcuZGU6NDcxMQoKCk1vaGFtbWVkCgpQUzogSWNoIGdsYXViIGthdW0sIGRhc3Mgd2lyIGV1Y2ggbWl0IGRlciBLb3JyZWt0dXIgIFNwaWVsZXIKICAgIGFid2VyYmVuIHdlcmRlbi4gOyopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkbGlzdGUgKEhhdGUsICAxLiBPa3QgMTk5NiwgMTk6NDk6MTEpOgp+IyEgcm49TW9oYW1tZWQgcnQ9ODQ0MTgzMTA0Cn4jISB0aWQ9ODQ0MTgzMTA0CkljaCBoYWJlIGRpZSBBZW5kZXJ1bmcgbWFjaGVuIHdvbGxlbiwgYmVrYW0gYWJlciBkYW5uIGVpbmVuIEZpbGVTeXN0ZW0gRnVsbApGZWhsZXIuCldpcmQgYWxzbyBub2NoIGV0d2FzIGRhdWVybi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKYXZhIFRlbG5ldCBBcHBsZXQgKEhhdGUsIDI4LiBPa3QgMTk5NiwgMDk6MzY6MDMpOgpIaSwKCmxhbmdzYW0gd2VyZCBpY2ggZXMgbXVlZGUsIE1haWxzIHp1IGxlc2VuIG1pdCBmb2xnZW5kZW0gSW5oYWx0OgoKLS0gcXVvdGUgLS0KRGFzIEphdmEtVGVsbmV0IGF1ZiBkZXIgTVVELVdXVy1TZWl0ZSBhcmJlaXRldCBub2NoIG1pdCBQb3J0IDQ3MTEgISEhIQotLSBxdW90ZSAtLQoKV2VubiBqZW1hbmQgZGFzIEFwcGxldCBiZW51dHp0LCBzbyBtb2VjaHRlIGVyL3NpZSBkb2NoIGJpdHRlIG1hbCBnZW5hdQpoaW5zY2hhdWVuLCB3YXMgZGEgc3RlaHQ6CgpUcnlpbmcgc2FudGFuYS51bmktbXVlbnN0ZXIuZGUgNDcxMSAuLi4KICAgICAgIF5eXl5eXl4KCkRlciBSZWNobmVyLCBtaXQgZGVtIGF1ZiBQb3J0IDQ3MTEgZWluZSBWZXJiaW5kdW5nIGF1ZmdlYmF1dCB3aXJkLCBpc3QKc2FudGFuYSEgRGFzIGdlc2NoaWVodCBkZXNoYWxiLCBkYSBKYXZhIG51ciBlaW5lIFZlcmJpbmR1bmcgbWl0IGRlbQpXV1ctU2VydmVyIGVybGF1YnQuIEF1ZiBzYW50YW5hIGxhZXVmdCBkYW5uIGVpbiBQcm9ncmFtbSwgd2VsY2hlcyBkaWUKVmVyYmluZHVuZyBkYW5uIGFuIGRhcyBNVUQgd2VpdGVybGVpdGV0LgoKQWxzbyBiaXR0ZSwga2VpbmUgc29sY2hlbiBNYWlscyBtZWhyLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYXZhIFRlbG5ldCBBcHBsZXQgKEd1bGR1a2F0LCAyOC4gT2t0IDE5OTYsIDEzOjAwOjU3KToKfiMhIHJuPUhhdGUgcnQ9ODQ2NDkxNzYzCn4jISB0aWQ9ODQ2NDkxNzYzCkpvLCBhYmVyIGRhIGRhcyB0ZWxuZXQgYXVmIGRlciBzYW50YW5hIG5pY2h0IGdlaHQsIGlzdCBkZXIgZXJzdGUgZ2VkYW5rZQpuYXR1ZXJsaWNoOiBkaWUgcG9ydG51bW1lciBzdGltbXQgbmljaHQhIEVyc3QgYmVpIGVpbmdlaGVuZGVyZXIgYmV0cmFjaHR1bmcKZGVzIGNvZGVzIGtvbW10IG1hbiBkYWhpbnRlciwgd2llIGRhcyBnZW5hdSBsYWV1ZnQuCkdECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphdmEgVGVsbmV0IEFwcGxldCAoSGF0ZSwgMjguIE9rdCAxOTk2LCAxMzowOToyMyk6Cn4jISBybj1HdWxkdWthdCBydD04NDY1MDQwNTcKfiMhIHRpZD04NDY0OTE3NjMKQWxzbyBkYW5uIGZyYWdlIGljaCBtaWNoLCB3YXMgaGllciBhbGxlIGFuZGVyZW4gYXVzc2VyIG1pciBmdWVyIFByb2JsZW1lCmhhYmVuPwoKSWNoIGhhYmUgaW4gZGVuIGxldHp0ZW4gNSBUYWdlbiBkaWUgU2VpdGUgbWl0IGRlbSBBcHBsZXQgYXVmZ2VydWZlbjoKICB2b24gU29sYXJpcyBhdXMgbWl0IE5ldHNjYXBlIDMuMAogIHZvbiBMaW51eCBhdXMgbWl0IE5ldHNjYXBlIDMuMAogIHZvbiBJcml4IGF1cyBtaXQgTmV0c2NhcGUgMy4wCgp1bmQgdm9uIGFsbGVuIGhhdHMgZnVua3Rpb25pZXJ0LiBJc3QgZG9jaCBrb21pc2NoIG9kZXI/ClVuZCBkYWJlaSBoYXR0ZSBpY2ggaW1tZXIgQWNjb3VudHMgdW5kIEVpbnN0ZWxsdW5nZW4gZGVyIGpld2VpbGlnZW4gTGV1dGUuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSmF2YSBUZWxuZXQgQXBwbGV0IChIYXIsIDI4LiBPa3QgMTk5NiwgMTU6MjI6MTgpOgp+IyEgcm49SGF0ZSBydD04NDY1MDQ1NjMKfiMhIHRpZD04NDY0OTE3NjMKQmVpIG1pciBsaWVmIGVzIGF1Y2ggb2huZSBQcm9ibGVtZSBhbSBGcmVpdGFnLCBkYWJlaSBrYW5udGUgaWNoIGRpZQpSZWNobmVyZnVua3Rpb24gbm9jaCBuaWNodCBlaW5tYWwgOi0pCgpIYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEphdmEgVGVsbmV0IEFwcGxldCAoSXNub2dvb2QsIDI4LiBPa3QgMTk5NiwgMjM6MjU6MDcpOgp+IyEgcm49SGF0ZSBydD04NDY1MDQ1NjMKfiMhIHRpZD04NDY0OTE3NjMKS29taXNjaCBiZWkgbWlyIGdpbmcgZXMgbmllIG1pdCBOZXRzY2FwZSAzLjAgdW5kIFdpbmRvd3MgOTUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEphdmEgVGVsbmV0IEFwcGxldCAoSGF0ZSwgMjkuIE9rdCAxOTk2LCAwODoyOToyOSk6Cn4jISBybj1Jc25vZ29vZCBydD04NDY1NDE1MDcKfiMhIHRpZD04NDY0OTE3NjMKQmVpIG1pciBzY2hvbiwgaGF0dGUgaWNoIG51ciB2ZXJnZXNzZW4genUgZXJ3YWVobmVuLgoKaWNoIGdsYXViZSBpY2ggaGFiIGluendpc2NoZW4gZGllIFVyc2FjaGUgZ2VmdW5kZW4uClNjaGVpbmJhciBoYWJlbiBhbGxlLCBkaWUgZGFzIFByb2JsZW0gaGFiZW4gZWluZW4gUHJveHkgendpc2NoZW4gc2ljaCB1bmQgZGVtCk1HLgpEYW1pdCBnaWJ0cyBkYW5uIFByb2JsZW1lLCB3ZWlsIGZ1ZXIgZGVuIFdXVyBCcm93c2VyIGRhcyBhcHBsZXQgdm9tIFByb3h5Ckhvc3QgZ2VsYWRlbiB3dXJkZSB1bmQgbmljaHQgdm9uIHNhbnRhbmEuIERhbWl0IGdpYnRzIG5hdHVlcmxpY2ggYXVjaApuZSBzZWN1cml0eSBleGNlcHRpb24gYmVpbSBWZXJzdWNoIGVpbmVzIGNvbm5lY3QuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSmF2YSBUZWxuZXQgQXBwbGV0IChZZW5kaSwgMzEuIE9rdCAxOTk2LCAxMDoyNDowNSk6Cn4jISBybj1IYXRlIHJ0PTg0NjU3NDE2OQp+IyEgdGlkPTg0NjQ5MTc2MwoKV293Li4uIGRlaW4gbGV0enRlciBBcnRpa2VsIGVyaW5uZXJ0IG1pY2ggc2Nod2VyIGFuIEpvZjoKCkpvZiBzYWd0IHp1IENhdHdlYXpsZTogV2lyIGhhYmVuIGpldHp0IGVpbmVuIHNub29wIGNoYW5uZWwgYXZhaWxhYmVsdCwgZGEKSm9mIHNhZ3QgenUgQ2F0d2VhemxlOiB3ZXJkZW4gamV0enQgYWxsZSBzbm9vcHMgZGlyZWt0IGdlYnJvYWRjYXN0ZXQuCgpKYWphYS4uLiB1bmQgLT5zY2htYXJybi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklzdCBkYXMgbm9ybWFsIHNvID8gKEl2bywgMzAuIEphbiAxOTk3LCAxMTozNTozNik6CkFuIGFsbGUgVmVyYW50d29ydGxpY2hlbiAhCgpTZWl0IGxhZW5nZXJlciBaZWl0IGZ1bmt0aW9uaWVydCBkZXIgV1dXLU5ld3NyZWFkZXIgenVyIE1QQSBuaWNodCBtZWhyCnJpY2h0aWcuIEV0bGljaGUgR3J1cHBlbiBrYW5uIG1hbiBnYXJuaWNodCBtZWhyIGF1ZnNjaGxhZ2VuIHVuZCBsZXNlbi4gRXMgaXN0Cnp3YXIgcmljaHRpZywgZGFzcyBkYXMgTGVzZW4gZGVyIFplaXR1bmcgaW0gTW9yZ2VuZ3JhdWVuIHZpZWxlIFZvcnRlaWxlCmJpZXRldCwgbWFuIGFiZXIgaGFldWZpZyBuaWNodCBkaWUgUnVoZSBoYXQsIHZvciBhbGxlbSBsYWVuZ2VyZSBUaXRlbApmZXJ0aWd6dWxlc2VuLiAKQXVjaCBpbSBJbnRlcmVzc2UgZGVyIFB1Ymxpa3Vtc2ZyZXVuZGxpY2hrZWl0IGZ1ZXIgbmljaHQgZGF6dWdlaG9lcmlnZQpNVUQtSW50ZXJlc3NlbnRlbiBiaXR0ZSBpY2ggZGFydW0sIGRpZXNlIFByb2JsZW0gbWFsIHp1IGJlaGViZW4uCgpJY2ggaG9mZmUgYXVmIGVpbiBiYWxkaWdlcyBGdW5rdGlvbmllcmVuICEhCgoKSXZvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSXN0IGRhcyBub3JtYWwgc28gPyAoSGF0ZSwgMzAuIEphbiAxOTk3LCAxNzo0ODozNik6Cn4jISBybj1Jdm8gcnQ9ODU0NjIwNTM2IHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgpTb2JhbGQgaWNoIG1hbCBaZWl0IGRhZnVlciBoYWIsIGJlc2NoYWVmdGlnZSBpY2ggbWljaCBkYW1pdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElzdCBkYXMgbm9ybWFsIHNvID8gKEhhdGUsICAxLiBGZWIgMTk5NywgMTk6MDQ6NDApOgp+IyEgcm49SGF0ZSBydD04NTQ2NDI5MTYgcmc9d3d3Cn4jISB0aWQ9ODU0NjIwNTM2ClNvLCBkaWUgV1dXIFplaXR1bmcgc29sbHRlIHdpZWRlciBmdW5rdGlvbmllcmVuLi4uLgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSXN0IGRhcyBub3JtYWwgc28gPyAoQmFicywgIDQuIEZlYiAxOTk3LCAwMjo1OToyNyk6Cn4jISBybj1IYXRlIHJ0PTg1NDgyMDI4MCByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKU2Nob2VuZW4gRGFuayBkYWZ1ZXIsIGRhc3MgZGVyIHNwb3JhZGlzY2hlIEluZGV4IG91dCBvZiBCb3VuZHMgRXJyb3IgCmVuZGxpY2ggd2VnIGlzdC4KTGVpZGVyIGhhdCBzaWNoIGRhZHVyY2ggYWxsZXJkaW5ncyBlaW5pZ2VzIFZlcnNjaGxpbW1iZXNzZXJ0LgpUaHJlYWRzIHdlcmRlbiBqZXR6dCBudXIgbm9jaCBlaW5tYWwsIG1pdCBkZW0gRGF0dW0gZGVzIGVyc3RlbiBBcnRpa2VscwphdWZnZWZ1ZWhydC4gRGFkdXJjaCBpc3QgZXMga2F1bSBub2NoIG1vZWdsaWNoLCBmZXN0enVzdGVsbGVuLCBvYiBlcyBoaWVyenUKbmV1ZSBCZWl0cmFlZ2UgZ2lidC4KTm9jaCB3ZXNlbnRsaWNoIHNjaGxpbW1lciBpc3QsIGRhc3MgbWFuIHBlciBXV1cgYXVjaCBuY2lodCBtZWhyIGF1ZiBlaW56ZWxuZQpBcnRpa2VsIGRpcmVrdCB6dWdyZWlmZW4ga2Fubi4gRXMgYmxlaWJ0IGVpbmVtIG5pY2h0IGVyc3BhcnQsIHp3ZWkgZHV0emVuZAphbHRlIEFydGlrZWwgenVtIFRoZW1hIG5vY2htYWwgZHVyY2h6dWxlc2VuLCBiaXMgbWFuIGFuIGRlbiBlaW5lbiBnZWxhbmd0LApkZW4gbWFuIGxlc2VuIHdpbGwuIDotKApEYXMgX25lcnZ0XyAhCgpCaXMgZGFzIGJlaG9iZW4gaXN0LCB3YWVyZSBlcyB2aWVsbGVpY2h0IGRvY2ggYmVzc2VyLCBkaWUgYWx0ZSBWZXJzaW9uIHdpZWRlcgp6dSBpbXBsZW1lbnRpZXJlbiwgZGllIG51ciBnZWxlZ2VudGxpY2ggZWluZSBSdWJyaWsgdmVyd2VpZ2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IElzdCBkYXMgbm9ybWFsIHNvID8gKEhhdGUsICA0LiBGZWIgMTk5NywgMTM6NTc6NDcpOgp+IyEgcm49QmFicyBydD04NTUwMjE1Njcgcmc9d3d3Cn4jISB0aWQ9ODU0NjIwNTM2CkhpLAoKaWNoIGhhdHRlIGRpZSB3ZWl0ZXJlbiBBZW5kZXJ1bmdlbiBub2NoIG5pY2h0IGZlcnRpZyBkcmluLgpBYiBzb2ZvcnQgc2llaHQgbWFuIGFtIExpbmssIG9iIGluIGRlbSBUaHJlYWQgZWluIG5ldWVyIEFydGlrZWwgaXN0LgpEZXIgTGluayBtdWVzc3RlIGRhbm4gd2llICJuaWNodCBnZWxlc2VuIiBhbmdlemVpZ3Qgd2VyZGVuLCBkYSBpY2ggZGFzCkRhdHVtIGRlcyBuZXVlc3RlbiBBcnRpa2VscyBtaXQgaW4gZGVuIExpbmsgZWluZ2VmdWVndCBoYWJlLgpXZWl0ZXJoaW4gd2VyZGVuIGFsbGUgQXJ0aWtlbCB2b20gYWt0dWVsbGVuIGltIFRocmVhZCBhYndhZXJ0cyBtaXQgYW5nZXplaWd0LgoKSGF0ZS5cCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJc3QgZGFzIG5vcm1hbCBzbyA/IChCYWJzLCAgNS4gRmViIDE5OTcsIDAzOjI5OjM1KToKfiMhIHJuPUhhdGUgcnQ9ODU1MDYxMDY3IHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgpOb2NobWFscyBEYW5rZSBmdWVyIGRpZSBBZW5kZXJ1bmdlbi4KSmV0enQgc2llaHQgZXMgc2Nob24gZGV1dGxpY2ggYmVzc2VyIGF1cy4KClRyb3R6ZGVtIHdhZXJlIGVzIHNjaG9lbiwgd2VubiBtYW4gYmVpIGRlbiBUaHJlYWRzIG5pY2h0IGRhcyBEYXR1bSBkZXMKYWVsdGVzdGVuLCBzb25kZXJuIGRlcyBqdWVuZ3N0ZW4gQXJ0aWtlbHMgc2VoZW4ga29lbm50ZSwgc28gd2llIGRhcyBiZWkgZGVuClJ1YnJpa2VuIGRlciBGYWxsIGlzdC4KTmljaHQgYWxsZSBCcm93c2VyIGVybGF1YmVuIGVpbmUgb3B0aXNjaGUgVW50ZXJzY2hlaWR1bmcgdm9uICJiZW51dHp0ZW4iIHVuZAoibmV1ZW4iIExpbmtzLCB1bmQgaW4gTmV0endlcmt1bWdlYnVuZ2VuIGlzdCBkaWVzZSBPcHRpb24gbWVpc3QgbmljaHQgdm9tClVzZXIgZWluc3RlbGxiYXIuCkRhcyBEYXR1bSBkZXMgYWVsdGVzdGVuIG5vY2ggdm9yaGFuZGVuZW4gQXJ0aWtlbHMgenVtIFRocmVhZCBoYXQgb2huZWhpbiBpbgpkZXIgVWViZXJzaWNodCBrZWluZW4gbmVubmVuc3dlcnRlbiBJbmZvcm1hdGlvbnN3ZXJ0LCB1bmQgZGllIHVuZ2xlaWNoZQpWZXJ3ZW5kdW5nIGRlcyBEYXR1bXMgZnVlciBSdWJyaWtlbiB1bmQgVGhyZWFkcyBpc3QgaW5rb25zaXN0ZW50IHVuZAppcnJpdGllcmVuZC4KCkJhYnMgIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGFydHkgKEFzdGFyLCAgNS4gRmViIDE5OTcsIDA5OjIzOjE5KToKSXN0IGVzIHZpZWxsZWljaHQgbW9lZ2xpY2ggaW4gZGVyIE1vcmdlbmdyYXVlbi1XV1ctU2VpdGUgZGllIFdlZ2Jlc2NocmVpYnVuZwp1bmQgZWluIHBhYXIgSW5mb3MgenVyIFdpbnRlcmZldGUgcmVpbiB6dSBzZXR6ZW4gKHNvZmVybiBlcyBkaWUgc2Nob24gZ2lidCkuCgpBc3RhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSXN0IGRhcyBub3JtYWwgc28gPyAoSGF0ZSwgIDUuIEZlYiAxOTk3LCAxNDo0MzowMSk6Cn4jISBybj1CYWJzIHJ0PTg1NTEwOTc3NSByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKRXMgaXN0IHNpbm52b2xsLCBkZW4gQXJ0aWtlbCBhbnp1emVpZ2VuLCBkZXIgZGVuIFRocmVhZCBiZWdpbm50LCBkYW1pdCBtYW4KZG9ydCBiZWdpbm5lbiBrYW5uLiBEYW1pdCB3aXJkIGF1Y2ggZGVzc2VuIERhdHVtIGFuZ2V6ZWlndC4gV2VubiBEdSBlaW5lbgpCcm93c2VyIGhhc3QsIGRlciBkaWUgTGlua3MgbmljaHQgdW50ZXJzY2hlaWRlbiBrYW5uLCBzY2htZWlzcyBpaG4gd2VnLgpJY2gga2VubmUga2VpbmVuIEJyb3dzZXIgbWVociwgZGVyIGRhcyBuaWNodCBrYW5uIChMeW54IHZpZWxsZWljaHQpLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IElzdCBkYXMgbm9ybWFsIHNvID8gKEtyZXRlaywgIDUuIEZlYiAxOTk3LCAxNToyMTozMik6Cn4jISBybj1IYXRlIHJ0PTg1NTE1MDE4MSByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKR2VuYXUuIEJlaSBMeW54IGlzdCBkYXMgc28uCgoKICAgICAgIHwgLyAgfFwgIHwtLSAgLS0tICB8LS0gIHwgLwogICAgICAgfDwgICB8LyAgfC0gICAgfCAgIHwtICAgfDwKICAgICAgIHwgXCAgfFwgIHwtLSAgIHwgICB8LS0gIHwgXAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSXN0IGRhcyBub3JtYWwgc28gPyAoRnl0LCAgNS4gRmViIDE5OTcsIDIzOjI1OjA1KToKfiMhIHJuPUhhdGUgcnQ9ODU1MTUwMTgxIHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgoKTHlueCBrYW5uIGVzIG5pY2h0LiBadW1pbmRlc3QgbmljaHQgaW4gZGVyICdOb3JtYWxrb25maWd1cmF0aW9uJywKa29lbm50ZSBhYmVyIHNlaW4sIGRhc3MgbWFuIGRhIHdhcyBkcmVoZW4ga2Fubi4KCkZ5dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IElzdCBkYXMgbm9ybWFsIHNvID8gKEJhYnMsICA2LiBGZWIgMTk5NywgMDM6MzE6MTgpOgp+IyEgcm49SGF0ZSBydD04NTUxNTAxODEgcmc9d3d3Cn4jISB0aWQ9ODU0NjIwNTM2CkljaCBmaW5kZSBlcyBuaWNodCBzaW5udm9sbCwgaW4gZGVyIFRocmVhZFVFQkVSU0lDSFQgZGFzIERhdHVtIGRlcyBhZWx0ZXN0ZW4KQXJ0aWtlbHMgYW56dWdlYmVuLgpXZW5uIG1hbiBkZW4gVGhyZWFkIGFua2xpY2t0LCBzaWVodCBtYW4gb2huZWhpbiBkaWUgQ2hyb25vbG9naXNjaGUgUmVpaGVuZm9sZ2UKZGVyIEVpbnplbHBvc3RpbmdzLiBNYW4gYXJiZWl0ZXQgc2ljaCBhbHNvIGF1dG9tYXRpc2NoIGluIGRlciByaWNodGlnZW4KUmVpaGVuZm9sZ2UgZHVyY2gsIGZhbGxzIG1hbiBuaWNodCB6dSBlaW5lbSBiZXN0aW1tdGVuIERhdHVtIHNwcmluZ2VuIHdpbGwuCgpEYWdlZ2VuIG5lcnZ0IGVzLCBhbGxlIFRocmVhZHMgZXJzdG1hbCBhbmtsaWNrZW4genUgbXVlc3NlbiwgdW0gZmVzdHp1c3RlbGxlbiwKb2Igc2llIG5ldWUgQmVpdHJhZWdlIGVudGhhbHRlbi4gS29lbm50ZSBtYW4gZGFzIGJpdHRlIGRvY2ggbm9jaCBhZW5kZXJuPwoKQmFicyAtIGJlbnV0enQgTmV0c2NhcGUgMywgaGF0IGFiZXIgd2llIGRpZSBtZWlzdGVuIGRldXRzY2hlbiBVc2VyIGtlaW5lClNjaHJlaWJyZWNodGUgaW0gT3B0aW9uZW5tZW51ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSXN0IGRhcyBub3JtYWwgc28gPyAoR3JpbW1ib3JuLCAgNy4gRmViIDE5OTcsIDEwOjEwOjI2KToKfiMhIHJuPUJhYnMgcnQ9ODU1MTk2Mjc4IHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgpIbW0sIHdpciBoYWJlbiBoaWVyIGRhcyBQcm9ibGVtLCBkYXNzIHdpciBkZW4gdXNlcm4gbmljaHQgdmVyYmlldGVuIGtvZW5uZW4sCmRpZSBPcHRpb25lbiB6dSB2ZXJzdGVsbGVuLiBNYW4ga2FubiBkaWUgT3B0aW9uZW4gaW1tZXIgYWVuZGVybiwgZGFzIGxhZXNzdApzaWNoIGF1Y2ggdW50ZXIgTGludXggbmljaHQgdmVyaGluZGVybi4gTGVkaWdsaWNoIGRhcyBBYnNwZWljaGVybiBrYW5uIG1hbgp2ZXJoaW5kZXJuLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0IHN1Y2h0IHNjaG9uIGV3aWcgbmFjaCBlaW5lciBNb2VnbGljaGtlaXQsIE5ldHNjYXBlIGltCiJLaW9zayItTW9kdXMgbGF1ZmVuIHp1IGxhc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IElzdCBkYXMgbm9ybWFsIHNvID8gKEhhdGUsICA3LiBGZWIgMTk5NywgMTE6MDE6MDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg1NTMwNjYyNiByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKQXVzc2VyZGVtIHNvbGx0ZSBtYW4gZGF6dSBzYWdlbiwgZGFzcyBkaWUgQnJvd3NlciBzdGFuZGFyZG1hZXNzaWcgZGVuCkxpbmsgYW5kZXJzIGRhcnN0ZWxsZW4sIHdlbm4gZXIgbmV1IG9kZXIgYWx0IGlzdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogSXN0IGRhcyBub3JtYWwgc28gPyAoQmFicywgIDguIEZlYiAxOTk3LCAwNjowMTowMCk6Cn4jISBybj1IYXRlIHJ0PTg1NTMwOTY2NiByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKU2NoYWRlIDotKCgKClNjaGVpbnRzIHNpbmQgZGllIFN5c29waXMgYmVpIHVucyBoYWx0IHNjaGxhdWVyIHVuZCBnZW1laW5lciBhbHMgYmVpIEV1Y2guIDsoClZpZWxsZWljaHQgbGllZ3RzIGF1Y2ggbnVyIGRhcmFuLCBkYXNzIE5ldHNjYXBlIG5pY2h0IGF1ZiBkZW0gbG9rYWxlbiBQQywKc29uZGVybiBhdWYgZWluZW0gTlQtTmV0emxhdWZ3ZXJrIGxpZWd0LiBTZWxic3Qgd2VubiBpY2ggZnVlciBkaWUgYWx0ZW4KTGlua3MgZGllIE9wdGlvbiAiZXhwaXJlIG5ldmVyIiBhdXN3YWVobGUsIHdlcmRlbiBzaWUgdW5taXR0ZWxiYXIgbmFjaCAKZGVtIExhZGVuIHJlc2V0dGV0LiBTZWlzZHJ1bS4KU2VsYnN0IHdlbm4gaWNoIG1pciBkZW4gTXVlbGxTYWZ0SW50ZXJuZXRFeHBsb3JlciBhbnR1LCB3ZXJkZW4gZGllCmJla2FubnRlbiBMaW5rcyBudXIgYXVmIGRlbSBqZXdlaWxpZ2VuIFBDIGdlc3BlaWNoZXJ0LiBEaWUgV2FocnNjaGVpbmxpY2hrZWl0LApkYXNzIGdlcmFkZSBkZXJzZWxiZSBSZWNobmVyIHdpZWRlciBmcmVpIGlzdCwgbGllZ3QgYmVpIDE6NjAgIDooCkljaCBkZW5rZSwgdmllbGVuIFN0dWRpcyBnZWh0cyBkYSBhZWhubGljaC4KCkJhYnMsIGVpbmZhY2ggbmljaHQgZGF2b24genUgdWViZXJ6ZXVnZW4sIGRhc3MgVGhyZWFkcyBtaXQgZGVtIERhdHVtIGlocmVzCmFlbHRlc3RlbiBBcnRpa2VscyBhdWZnZWxpc3RldCB3ZXJkZW4gbXVlc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBJc3QgZGFzIG5vcm1hbCBzbyA/IChBY3JpbW9uLCAgOC4gRmViIDE5OTcsIDE2OjI1OjQ0KToKfiMhIHJuPUJhYnMgcnQ9ODU1Mzc4MDYwIHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgpVbmQgU09XQVMgbmVubnQgc2ljaCBVbmksIGRpZSBkZW4gU3R1ZGVudGVuIGtlaW5lIHZlcm51ZW5mdGlnZW4gVW5peC1SZWNobmVyCnp1ciBWZXJmdWVndW5nIHN0ZWxsZW4ga29lbm5lbj8KV2llIHNvbGwgbWFuIGRlbm4gYmVpIHNvbGNoZXIgU2NodW5kc29mdHdhcmUgd2FzIGxlcm5lbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBJc3QgZGFzIG5vcm1hbCBzbyA/IChNb3Jnb3RoLCAgOC4gRmViIDE5OTcsIDIwOjUwOjIzKToKfiMhIHJuPUFjcmltb24gcnQ9ODU1NDE1NTQ0IHJnPXd3dwp+IyEgdGlkPTg1NDYyMDUzNgpXYXMgaGF0IHN1cmZlbiBtaXQgbGVybmVuIHp1IHR1bj8gRGllIFN0dWRlbnRlbnNhZWNrZSwgZGllIGljaCBoaWVyIGFuIGRlciBVbmkKc2VoZSwgc2NoYXVlbiBzaWNoIGxpZWJlciBCaWtpbmktKG9kZXIgd2VuaWdlciktV2VpYmVyIGFuLCBhbHMgaWhyZW4gU3R1ZGllbgpuYWNoenVnZWhlbiB1bmQgc2ljaCBldnRsLiBtYWwgaW4gZGllIGd1dGUgYWx0ZSBCaWJsaW90aGVrIHNldHplbi4KTWlyIGlzdCBzY2hvbiBrbGFyLCBkYXNzIGRhcyBOZXR6IG5lIE1lbmdlIEluZm9zIGVudGhhZWx0LCBtYW4gbXVzcyBzaWUgbnVyCnJpY2h0aWcgbnV0emVuLiBBYmVyIG0uRS4gaGFiZW4gZGllIHdlbmlnc3RlbiBJbnRlcmVzc2UgZHJhbiwgZXR3YXMgc2lubnZvbGxlcwphdXMgZGVtIE5ldHogenUgc2F1Z2VuLgpNb3Jnb3RoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogSXN0IGRhcyBub3JtYWwgc28gPyAoSGF0ZSwgMTAuIEZlYiAxOTk3LCAxMjowMTo0NSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg1NTQzMTQyMyByZz13d3cKfiMhIHRpZD04NTQ2MjA1MzYKQWJnZXNlaGVuIGRhdm9uLCBoYWJlIGljaCAod2FocnNjaGVpbmxpY2ggenVyIEZyZXVkZSB2b24gQmFicyA7LSkgZGFzCkRhdHVtIGRlcyBsZXR6dGVuIEFydGlrZWxzIGluIGVpbmVtIFRocmVhZCBtaXQgaW4gZGVyIEFydGlrZWxsaXN0ZQphbmdlaGFlbmd0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IElzdCBkYXMgbm9ybWFsIHNvID8gKE5hc2ltLCAxMy4gRmViIDE5OTcsIDIzOjM0OjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD04NTUzMDY2MjYgcmc9d3d3Cn4jISB0aWQ9ODU0NjIwNTM2ClNjaG9ubWFsICJuZXRzY2FwZSAtayIgcHJvYmllcnQ/IEdpbiB6dW1pbmRlc3QgbWl0IGRlciAyLjAyIHVudGVyIFdpbjMgbm9jaC4KQW5zb25zdGVuOiBSZXNvdXJjZSBFZGl0b3IuCgpHcnVzcywgTmFzaW0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgVGVsbmV0IGFwcGxldCAoSGF0ZSwgMTQuIEZlYiAxOTk3LCAxNToxOTo1NSk6CmljaCBoYWJlIGVpbmUgbmV1ZSB2ZXJzaW9uIGlucyB3d3cgZ2VwYWNrdC4gUHJpbnppcGllbGwgc29sbHRlIHNpY2ggbmljaHRzCmFlbmRlcm4sIGRhIGljaCBudXIga2xlaW5lcmUgU2FjaGVuIGJlaG9iZW4gaGFiZS4KQWxsZXJkaW5ncyBrYW5uIG1hbiBqZXR6dCBkaWUgZm9udGdyb2Vzc2UgdmVyYWVuZGVybiBpbmRlbSBtYW4gZGFzIEJyb3dzZXItCkZlbnN0ZXIgZ3JvZXNzZXIgbWFjaHQsIGRhIHNpY2ggZGFzIGFwcGxldCBhbiBkaWUgbmV1ZSBncm9lc3NlIGFucGFzc3QuCgpJY2ggYml0dGUgdW0gcnVlY2ttZWxkdW5nZW4gd2llcyBzbyBmdW5rdGlvbmllcnQuIFZvbSBERVRBQ0ggcmF0ZSBpY2ggaW0KTW9tZW50IG5vY2ggYWIsIGFiZXIgZGFzIHdpcmQgaW4gZGVyIG5hZWNoc3RlbiBWZXJzaW9uIGZ1bmt0aW9uaWVyZW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1dXIFRlbG5ldCBBcHBsZXQgKEhhdGUsIDE3LiBGZWIgMTk5NywgMTQ6NTQ6MDYpOgpIaSwKCmljaCBoYWJlIGVpbmUgbmV1ZSBWZXJzaW9uIGVpbmdlc3BpZWx0LiBEaWVzZSBWZXJzaW9uIHNvbGx0ZSBlaW4gcGFhciBCdWdzCmJlaGViZW4gdW5kIGJlc3NlciB6dSBiZWRpZW5lbiBzZWluLgoKMSkgSWNoIGhvZmZlIGRpZSBGb250cmVzaXppbmcgUHJvYmxlbWUgc2luZCB3ZWl0Z2VoZW5kIGJlaG9iZW4sIHdvYmVpIGljaAogICBsZWlkZXIga2VpbmUgR2FyYW50aWUgYWJnZWJlbiBrYW5uLgoyKSBEYXMgSGVyYXVzaGViZW4gZGVzIEZlbnN0ZXIgYXVzIGRlbSBCcm93c2VyIGZ1bmt0aW9uaWVydCBqZXR6dC4gQWxsZXJkaW5ncwogICB3YXJuZSBpY2ggZGF2b3IsIGRhbmFjaCBpbSBXZWIgYnJvd3NlciBkaWUgU2VpdGUgbWl0IFNoaWZ0LVJlbG9hZCBuZXUKICAgenUgbGFkZW4gKG5vcm1hbGVzIGxhZGVuIHNjaGFkZXQgbm9ybWFsZXJ3ZWlzZSBuaXgpLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWUgRHNjaHVuZ2VsLVdXVy1TZWl0ZW4gKFF1aW5vbGluLCAxNC4gTWFyIDE5OTcsIDEyOjA0OjA2KToKenVyIEluZm86CkRpZSBEc2NodW5nZWxzZWl0ZW4gd3VyZGVuIG5hY2ggZXRsaWNoZXIgWmVpdCBtYWwgd2llZGVyIHVlYmVyYXJiZWl0ZXQKYnp3LiBuZXVlIHNpbmQgZGF6dWdla29tbWVuLiBJY2ggd3VlcmRlIG1pY2ggZnJldWVuLCB3ZW5uIGVpbmlnZSB2b24KRXVjaCBzaWUgbWFsIGJlc3VjaGVuIHVuZCBtaXIgbWFpbGVuLCB3YXMgc2llIGRhdm9uIGhhbHRlbi4KTG9iLCBLcml0aWsgdW5kIEFucmVndW5nZW4gc2luZCB3aWxsa29tbWVuLgogIFF1aW5vbGluIFdFQmJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1Z2FuZyB6dW0gTUcgV1dXIChJbnRlcmFrdGl2ZXMpIChIYXRlLCAxNy4gQXByIDE5OTcsIDA5OjAyOjE0KToKV2llIGVzIGF1c3NpZWh0IGt1ZW5kaWdlbiB1bnMgZGllIExpbmd1aXN0ZW4gZGVuIFdlYiB6dWdhbmcuLi4KSW56d2lzY2hlbiBrb25udGUgaWNoIGRpZSBTZWl0ZW4gaW5rbCBkZXIgUGFydHliaWxkZXIgcmV0dGVuLCBhYmVyIGRpZQpjZ2ktc2NyaXB0ZSBzaW5kIHdvaGwgZ2Vsb2VzY2h0IHdvcmRlbi0KCmFsc28gd2VubnMgUHJvYmxlbWUgZ2lidCwgaW0gbW9tZW50IGthbm4gaWNoIG5peCB0dW4uCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1Z2FuZyB6dW0gTUcgV1dXIChJbnRlcmFrdGl2ZXMpIChJc3NvbWFkLCAxNy4gQXByIDE5OTcsIDEzOjUyOjIzKToKfiMhIHJuPUhhdGUgcnQ9ODYxMjYwNTM0IHJnPXd3dwp+IyEgdGlkPTg2MTI2MDUzNApCYWVoLCB3YXJ1bSBnZXJhZGUgZGllIFBhcnR5YmlsZGVyLCBkaWUgUGFydHliaWxkZXJndWNrZXIKdmVyc3RvcGZlbiBkb2NoIGRhdWVybmQgZGllIExlaXR1bmcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoSmltZGlncml6LCAxNy4gQXByIDE5OTcsIDE2OjA3OjA2KToKfiMhIHJuPUhhdGUgcnQ9ODYxMjYwNTM0IHJnPXd3dwp+IyEgdGlkPTg2MTI2MDUzNApIYWxsbywKCnZlcnN0ZWggaWNoIGRhcyBqZXR6dCByaWNodGlnLCBkYXNzIERpZSBkYXMgWmV1ZyBlaW5mYWNoCm9obmUgQW5rdWVuZGlndW5nIGdlbG9lc2NodCBoYWJlbiA/CkljaCBtZWluZSwgYW5zb25zdGVuIGhhZXR0ZSBtYW4gZG9jaCBsb2NrZXIgYWxsZXMgcmV0dGVuIGtvZW5uZW4gb2RlciA/CgpVbmQgbmVuIHdlYnNlcnZlciBzb2xsdGUgbWFuIGRvY2ggYXVjaCBsb2NrZXIgYXVjaCBhdWYKZGVtIE1HIFJlY2huZXIgbGF1ZmVuIGxhc3NlbiBrb2VubmVuLgpEZXIgYXBhY2hlIGlzIGphIHByb2JsZW1sb3MgaW5zdGFsbGllcnQuIFVuZCBzb3ZpZWxlIEhpdHMga3JpZWd0CmVyIHdvaGwgIG5pY2h0LCBkYXNzIGVyIG1hc3NpZyBTcGVpY2hlciB1bmQgQ1BVIHdlZ2ZyaXNzdAooZGVuayBpY2ggenVtaW5kZXN0KQoKSmltIERpR3JpegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoSGF0ZSwgMTcuIEFwciAxOTk3LCAxNzoxMToxNSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9ODYxMjg2MDI2IHJnPXd3dwp+IyEgdGlkPTg2MTI2MDUzNApBbHNvIGRlbW5hZWNoc3Qgd2VyZGUgaWNoIGRhcyBaZXVnIHRlc3R3ZWlzZSBhdWYgTUcgdW16aWVoZW4gbGFzc2VuLi4uCldlbm4gYWxsZXJkaW5ncyBkdXJjaCBCaWxkZXIgby5hZS4gdmllbCBsb2FkIGVudHN0ZWh0IHdpcmRzIGRhCmVpbnNjaHJhZW5rdW5nZW4KZ2ViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoSXNzb21hZCwgMTcuIEFwciAxOTk3LCAxNzoxMzowMSk6Cn4jISBybj1IYXRlIHJ0PTg2MTI4OTg3NSByZz13d3cKfiMhIHRpZD04NjEyNjA1MzQKSG1tLCB3ZXIgd2lsbCBkZW5uIEJpbGRlciBzZWhlbiA/IEljaCBkZW5rZSwgZGllIEdlc2Nod2luZGlna2VpdApkZXMgTVVEcyBnZWh0IHZvciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1Z2FuZyB6dW0gTUcgV1dXIChJbnRlcmFrdGl2ZXMpIChHcmltbWJvcm4sIDE3LiBBcHIgMTk5NywgMTc6MzU6MzApOgp+IyEgcm49SGF0ZSBydD04NjEyNjA1MzQgcmc9d3d3Cn4jISB0aWQ9ODYxMjYwNTM0Ck5vY2htYWwgenVtIE1pdGRlbmtlbjogRGllIGhhYmVuIG5pY2h0IGdla3VlbmRpZ3Qgc29uZGVybiBhdXMgaGVpdGVyZW0gSGltbWVsCmdlbG9lc2NodD8gU2FnIG1hbCwgd28gYmluIGljaCBkZW5uIGhpZXI/IEJpbiBpY2ggd2lya2xpY2ggc28gbmFpdiB3ZW5uIG1pY2gKc293YXMgdm9lbGxpZyB1ZWJlcnJhc2NodD8gV2FzIGlzdCBibG9zcyBhdXMgc28gc2Nob2VuZW4gU2FjaGVuIHdpZSAiU3RpbCIsCiJBbnN0YW5kIiwgImd1dGVzIEJlbmVobWVuIiBnZXdvcmRlbj8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdCwgZGllc21hbCBhbHMgV2Fpc2Vua25hYmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFp1Z2FuZyB6dW0gTUcgV1dXIChJbnRlcmFrdGl2ZXMpIChNdXJrZXMsIDE4LiBBcHIgMTk5NywgMTE6MTc6MzkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTI5MTMzMCByZz13d3cKfiMhIHRpZD04NjEyNjA1MzQKU293ZWl0IGljaCB3ZWlzcywgaXN0IHVuc2VyZSBLb250YWt0cGVyc29uIGJlaSBkZW4gTGluZ3Vpc3RlbiBhdXNnZXNjaGllZGVuLgpEZXIgbmV1ZSBTeXNhZG0gbWFjaHQgZGFzIHp1ciBaZWl0ciBudXIgbmViZW5iZWkgdW5kIGhhdCBkaWUgU2FjaGVuIGJlc3RpbW10Cm5pY2h0IGdlbG9lc2NodCB1bSB1bnMgenUgYWVyZ2Vybiwgc29uZGVybiBoYXR0ZSBQbGF0dGVucGxhdHpwcm9ibGVtZSB1bmQKa29ubnRlIHZlcm11dGxpY2ggbWl0IGRlbSBnYW56ZW4gS3JlbXBlbCBuaXggYW5mYW5nZW4uIEVpZ2VudGxpY2ggaGFldHRlbiB3aXIKdm9uIHNlbGJzdCBkcmF1ZiBrb21tZW4ga29lbm5lbiwgZGFzcyBlaW4gVW16dWcgbm90d2VuZGlnIHdlcmRlbiB3dWVyZGUuCgpNdXJrZXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWnVnYW5nIHp1bSBNRyBXV1cgKEludGVyYWt0aXZlcykgKEFjcmltb24sIDE4LiBBcHIgMTk5NywgMTc6MTk6NDQpOgp+IyEgcm49SmltZGlncml6IHJ0PTg2MTI4NjAyNiByZz13d3cKfiMhIHRpZD04NjEyNjA1MzQKSGllbWl0IGhhYnQgaWhyIG1laW5lIHZpcnR1ZWxsZSBHZWdlbnN0aW1tZS4KV2Vic2VydmVyIGF1ZiBkZW0gTXVkcmVjaG5lciBpc3QgbWVpbmVyIE1laW51bmcgbmFjaCB2ZXJmZWhsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFp1Z2FuZyB6dW0gTUcgV1dXIChJbnRlcmFrdGl2ZXMpIChHcmltbWJvcm4sIDE4LiBBcHIgMTk5NywgMTc6Mzg6MzYpOgp+IyEgcm49QWNyaW1vbiBydD04NjEzNzY3ODQgcmc9d3d3Cn4jISB0aWQ9ODYxMjYwNTM0CkRhbmtlIGZ1ZXIgZGllIEdlZ2Vuc3RpbW1lLgpGaW5kZXQgc2ljaCBqZW1hbmQsIGRlciBzZWxiaWdlIGZ1ZXIgcmVsZXZhbnQgaGFlbHQ/IDstKQoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoUmFmZmksIDE4LiBBcHIgMTk5NywgMTc6Mzk6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg2MTM3NzkxNiByZz13d3cKfiMhIHRpZD04NjEyNjA1MzQKRWluaWdlbiB3aXIgdW5zIGF1ZiAnVmlydHVlbGwgUmVsZXZhbnQnID8KCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoR3JpbW1ib3JuLCAxOC4gQXByIDE5OTcsIDE3OjQyOjExKToKfiMhIHJuPVJhZmZpIHJ0PTg2MTM3Nzk2NCByZz13d3cKfiMhIHRpZD04NjEyNjA1MzQKTmVpbiwgd2FzIGljaCBtZWluZSBpc3QgbmljaHQsIGRhc3MgZXMgZWluZSBTdXBlcmlkZWUgaXN0LCBhdWYgbWcgYXVjaCBub2NoCmVpbmVuIHd3dy1zZXJ2ZXIgbGF1ZmVuIHp1IGxhc3Nlbi4gVmllbGxlaWNodCBrYW5uIG1hbiBzaWNoIGRhcmF1ZiBlaW5pZ2VuLAp3ZW5uIG1hbiBpaG4gYmlzIHp1bSBFcmJyZWNoZW4gbmljZWQuCk51cjogRmluZGV0IGVzIGplbWFuZCByZWxldmFudCwgd2llIEFjcmltb24gc3RpbW1lbiB3dWVyZGUsIHdlbm4gbWFuIGlobgpmcmFnZW4gd3VlcmRlPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBadWdhbmcgenVtIE1HIFdXVyAoSW50ZXJha3RpdmVzKSAoQWNyaW1vbiwgMTguIEFwciAxOTk3LCAxOTo0MDoxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODYxMzc4MTMxIHJnPXd3dwp+IyEgdGlkPTg2MTI2MDUzNApKYS4KCkFjcmltb24sIGRlciBSb3RlIFJpdHRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWnVnYW5nIHp1bSBNRyBXV1cgKEludGVyYWt0aXZlcykgKEtyZXRlaywgMjEuIEFwciAxOTk3LCAwNDowODozMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODYxMzc3OTE2IHJnPXd3dwp+IyEgdGlkPTg2MTI2MDUzNApXYXIgZGFzIGpldHp0IGlyb25pc2NoIG9kZXIgc28/IE51ciwgZGFtaXQgZGEga2VpbmUgTWlzc3ZlcnN0YWVuZG5pc3NlCmF1ZmtvbW1lbi4uLgoKSy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN1Y2hlIEFzaWEtbmV3cyAoQ2VyZWJ1cywgMjEuIEFwciAxOTk3LCAxODo0MTo0Nyk6Ckh1aHUsCmljaCBzdWNoZSBmdWVyIGVpbiBwYXBlciBlaW5lIEluZm9ybWF0aW9uc3F1ZWxsZSBmdWVyIE5ld3MgYXVzIGRlbSBhc2lhdGlzY2hlbgpSYXVtLCBpbnNiZXNvbmRlcmUgQ2hpbmEuIEZhbGxzIGlyZ2VuZHdlciB6dWZhZWxsaWcgbWFsIGF1ZiBzbyBlaW5lIFNlaXRlCmdlc3Rvc3NlbiBzZWluIHNvbGx0ZSwgYml0dGUgaWNoIHVtIG1haWwgYW4gbWljaC4KCmNlcmVidXMKcC5zLiBqYSwgaWNoIHdlcmRlIG1pdCBZYWhvbyB1bmQgQWx0YVZpc3RhIHNlbGJlciBhdWYgZGllIFN1Y2hlIGdlaGVuLi46LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyZS1hc2lhLW5ld3MgKE1hZ251cywgMTEuIE1haSAxOTk3LCAxMzo0OTozMSk6CmljaCB3YWVyZSBlYmVuZmFsbHMgaW50ZXJlc3NpZXJ0LgpEYW5rZS4KCk1hZ251cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBXZWJzZWl0ZW4uLi4gKEhhdGUsIDEzLiBKdW4gMTk5NywgMDk6MTg6MDYpOgpIaSwKCmdlc3Rlcm4gaGF0dGUgaWNoIG1hbCB3aWVkZXIgTXVzc2UgdW5kIGhhYmUgZGllIFdlYnNlaXRlbiBlcm5ldWVydC4KRGFzIHdhciBzb3dpZXNvIG5vdHdlbmRpZywgZGEgd2lyIGphIHZvbiB1bnNlcmVtIGFsdGVuIFdlYi1zZXJ2ZXIgYXVmCk1HIHVtZ2V6b2dlbiBzaW5kLiBBbiBlaW5pZ2VuIFN0ZWxsZW4gd2lyZCBub2NoIGdlZmVpbHQuCgogICogRGllIFBhcnR5c2VpdGVuIHNpbmQgbm9jaCBuaWNodCB2b3JoYW5kZW4sIHdlZ2VuIHJpZXNpZ2VyIERhdGVubWVuZ2VuLgogICogRGllIER1cmNoc2Nobml0dHNzcGllbGVyc3RhdGlzdGlrZW4gd2VyZGVuIGpldHp0IGplZGVuIE1pdHR3b2NoIHVuZAogICAgU29ubnRhZyBhdXRvbWF0aXNjaCBlcnN0ZWxsdC4KICAqIEVpbmlnZSBCaWxkY2hlbiBzaW5kIG5vY2ggenUgZ3Jvc3MgOi0pCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG9rdW1lbnRhdGlvbiAoSGF0ZSwgMTYuIEp1biAxOTk3LCAxMzozMDo0NCk6CkRpZSBPbmxpbmUtV1dXLURva3VtZW50YXRpb24gZnVua3Rpb25pZXJ0IGpldHp0IHdpZWRlci4KQmVzc2VyIGFscyB2b3JoZXIsIGRlbmtlIGljaC4gRWluZmFjaCBlaW4gU3RpY2h3b3J0IGVpbmdlYmVuIHVuZCB3YXJ0ZW4gOi0pCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgV2Vic2VpdGVuLi4uIChMaSwgMjUuIEp1biAxOTk3LCAxMTo1MDowNSk6Cn4jISBybj1IYXRlIHJ0PTg2NjE4NjI4NiByZz13d3cKfiMhIHRpZD04NjYxODYyODYKTGVpZGVyIGhhdCBEdSBvZmZlbnNpY2h0bGljaCB3b2hsIGF1Y2ggZGllIGFsdGVuIEljb25zIHZlcmdlc3NlbiwgZGllIGF1ZiBkZW4KUmVnaW9uc3NlaXRlbiBhbHMgZnVzc25vdGVuIHN0YW5kZW4gKHp1bSBzY2huZWxsZW4genVydWVja2tsaWNrZW4gYXVmIGRpZQpIYXVwdHNlaXRlbikuIFNjaGF1IG1hbCBpbiBlaW5lIFJlZ2lvbnNzZWl0ZSwgZGFubiBzaWVoc3QgZHUsIHdhcyBpY2ggbWVpbmUuLi4KTGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZXLVVwZGF0ZSAoTGksIDI1LiBKdW4gMTk5NywgMTE6NTA6NTApOgpOaSBoYW8hCmRpZSBXV1ctU2VpdGVuIGRlciBSZWdpb24gRmVybndlc3Qgd3VyZGVuIGV0d2FzIHVlYmVyYXJiZWl0ZXQuClNjaGF1dCBkb2NoIG1hbCByZWluIQpMaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUctWnVnYW5nIG1pdCBKYXZhIChIYXRlLCAgMS4gSnVsIDE5OTcsIDE2OjM1OjQyKToKSGksCgppY2ggaGFiIGdlcmFkZSBtaXQgTWFyY3VzIG5lIG5ldWUgSmF2YSBUZWxuZXQgQXBwbGV0IHJlbGVhc2UgZ2VtYWNodCB1bmQKZGllc2UgaXN0IGpldHp0IGF1Y2ggaW0gTUcgdmVyZnVlZ2Jhci4gQWIgc29mb3J0IG11c3MgbWFuIGhhbHQgbm9jaCBlaW5lbgpCdXR0b24gZHJ1ZWNrZW4gYmV2b3IgbWFuIGlucyBNRyBrb21tdC4gRGFzIHNwYXJ0IHZvcnJhbmdpZyBkb3dubG9hZCB6ZWl0LAp3ZW5uIG1hbiBhdXMgdmVyc2VoZW4gYXVmIGRpZSBPbmxpbmUgU2VpdGUga29tbXQgdW5kIGF1c3NlcmRlbSBpc3Qgc28KZWluIGV4dHJhIEZlbnN0ZXIgc293aWVzbyBwcmFrdGlzY2hlci4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1GQVEgKEludGVyaW1zLVJlbGVhc2UpIChQaWxncmltLCAgMy4gQXVnIDE5OTcsIDE5OjE1OjEyKToKSEksCgpzb2ViZW4gaGFiZSBpY2ggZGllIFZlcnNpb24gMi4wMCAoaHRtbCB1bmQgdHh0KSBpbnMgV2ViLCBhdWYgZGVuIGZ0cC1zZXJ2ZXIKdW5kIGluIE1VRCB1ZWJlcnNwaWVsdCAuLi4KCldpZSBkZXIgVGl0ZWwgc2Nob24gdmVybXV0ZW4gbGFlc3N0LCBrb21tdCBub2NoIGVpbmUgdm9sbHN0YWVuZGlnZXJlIFZlcnNpb24KaGludGVyaGVyIC0gc29iYWxkIGljaCBkaWUgZmVobGVuZGVuIEluZm9zIGhhYmUgLi4uCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1GQVEgdjIuMDIgdHh0L2h0bWwgZWluZ2VzcGllbHQgKFBpbGdyaW0sIDExLiBBdWcgMTk5NywgMTE6NTU6NTMpOgpIaSwKCmljaCBoYWIgZGllIEZBUSBub2NobWFsIGdldXBkYXRldCAuLi4gamV0enQgaW5jbC4gZWluZW0gKGhhbGJ3ZWdzKQpha3R1ZWxsZW4gR2VzYW1tdG1hZ2llclZlcnplaWNobmlzIC4uLiBhdXNzZXJkZW0gaGF0IGRpZSB0eHQtVmVyc2lvbiBqZXR6dAphdWNoIGRhcyBLYXBpdGVsIDMgKGRhcyB3YXIgd29obCBpcmdlbmR3aWUgdW50ZXIgZGVuIFRpc2NoIGdlZmFsbGVuIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hyb25payAoSGlnaGxhbmRlciwgMTkuIEF1ZyAxOTk3LCAxNDozOToyNik6CkRpZSBGYW1pbGllbmNocm9uaWsgdm9uIERhbmNlciB1bmQgbWlyIHVudGVyIHRhdGtyYWVmdGlnZXIgSGlsZmUgdm9uIEFudGhlYQpoYWIgaWNoIGF1ZiBkZW4gTUcgU2VpdGVuIHVudGVyIEt1bHR1ciBlaW5nZWhhZW5ndC4KICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsdGUgTVBBIEFydGlrZWwgc3VjaGVuPyEgKEhhdGUsICAzLiBGZWIgMTk5OCwgMjI6NTM6MjYpOgpodHRwOi8vbWcubXVkLmRlL2NnaS1iaW4vbXBhLnBsCgpSdWZ0IGRhcyBlaW5mYWNoIHVuZCB0ZXN0ZXQhCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx0ZSBNUEEgQXJ0aWtlbCBzdWNoZW4/ISAoU211cmYsICAzLiBGZWIgMTk5OCwgMjI6NTY6NDIpOgp+IyEgcm49SGF0ZSBydD04ODY1NDI4MDYgcmc9d3d3Cn4jISB0aWQ9ODg2NTQyODA2CkJpdHRlIGJlaW0gU3VjaGVuIEdST1NTL2tsZWluIGlnbm9yaWVyZW4uCgpBbnNvbnN0ZW46IEZpbmRlIGljaCBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx0ZSBNUEEgQXJ0aWtlbCBzdWNoZW4/ISAoQ2F0d2VhemxlLCAgNC4gRmViIDE5OTgsIDExOjI2OjUwKToKfiMhIHJuPUhhdGUgcnQ9ODg2NTQyODA2IHJnPXd3dwp+IyEgdGlkPTg4NjU0MjgwNgpTY2hpY2shCgpXaWUgd2FlcnMsIHdlbm4gbWFuIGZ1ZXIgZWluZW4gYXVzZ2VzdWNodGVuIEFydGlrZWwgZGVuIGNocm9ub2xvZ2lzY2hlbgpadXNhbW1lbmhhbmcgYmVrb21tZW4gd3VlcmRlLiBPZGVyIGRlbiBrb21wbGV0dGVuIFRocmVhZC4gVW5kIHZpZWxsZWljaHQgbmVtClplaXRmaWx0ZXIuCgpBYmVyIGZ1ZXIgZGVuIEFuZmFuZyBuaWNodCBzY2hsZWNodCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHRlIE1QQSBBcnRpa2VsIHN1Y2hlbj8hIChIYXRlLCAgNC4gRmViIDE5OTgsIDEyOjMzOjI5KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODY1ODgwMTAgcmc9d3d3Cn4jISB0aWQ9ODg2NTQyODA2CkRhcyB3YXIgZ2VzdGVybiBlaW4gU2NobmVsbGhhY2sgd2FlaHJlbmQgZGVyIEVNIFNpdHp1bmcgOi0pCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWx0ZSBNUEEgQXJ0aWtlbCBzdWNoZW4/ISAoUmluZ29yLCAgNC4gRmViIDE5OTgsIDEyOjQ0OjI0KToKfiMhIHJuPUhhdGUgcnQ9ODg2NTkyMDA5IHJnPXd3dwp+IyEgdGlkPTg4NjU0MjgwNgpLYW5uIGphIG5pY2h0IHNvbmRlcmxpY2ggYXVmcmVnZW5kIGdld2VzZW4gc2VpbiwgZGllIFNpdHp1bmcuCgpSaW5nb3IuIERhY2h0ZSBiaXNoZXIsIEVNcyBoYWV0dGVuIHdpY2h0aWdlIFNhY2hlbiB6dSBiZXNwcmVjaGVuLiA7XikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsdGUgTVBBIEFydGlrZWwgc3VjaGVuPyEgKFJvY2h1cywgIDQuIEZlYiAxOTk4LCAxNToxMzozOSk6Cn4jISBybj1SaW5nb3IgcnQ9ODg2NTkyNjY0IHJnPXd3dwp+IyEgdGlkPTg4NjU0MjgwNgpEYWNodGUgaWNoIGJpc2hlciBhdWNoIDotKQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsdGUgTVBBIEFydGlrZWwgc3VjaGVuPyEgKEJvaW5nLCAgNC4gRmViIDE5OTgsIDE2OjU0OjAxKToKfiMhIHJuPVJpbmdvciBydD04ODY1OTI2NjQgcmc9d3d3Cn4jISB0aWQ9ODg2NTQyODA2CkhhdGUgaGF0IGltbWVyaGluIGVpbiBvZGVyIHp3ZWkgbWFsIHdhcyBnZXNhZ3QgLi4uIDopIEJlaW0gZXJzdGVuCm1hbCB3YXIgZXMgJ2ljaCBiaW4gbmljaHQgaWRsZScgdW5kIGJlaW0gendlaXRlbiBtYWwgaXJnZW5kd2FzIHVlYmVyCnNlaW4gd3d3LXRlaWwuIFRoZW1lbmJlem9nZW4gd2FyIGJlaWRlcyBuaWNodCAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQWx0ZSBNUEEgQXJ0aWtlbCBzdWNoZW4/ISAoSGF0ZSwgIDQuIEZlYiAxOTk4LCAxODowNTowMik6Cn4jISBybj1Cb2luZyBydD04ODY2MDc2NDEgcmc9d3d3Cn4jISB0aWQ9ODg2NTQyODA2CkljaCBoYWIgc2Nob24gbm9jaCBlaW4ga2xlaW4gd2VuaWcgbWVociBnZXNhZ3QsCgpTbywgaWNoIGhhYmUgZGFzIE1HIE1lbnVlIGV0d2FzIGVyd2VpdGVydC4gVW50ZXIgQXJjaGl2IGZpbmRldCBtYW4gZGllClN1Y2htYXNjaGluZSBqZXR6dC4gV3VlbnNjaGUgcGVyIEVtYWlsIGFuIG1pY2guCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2FlYmlzY2ggKEdyaW1tYm9ybiwgMTAuIEZlYiAxOTk4LCAyMTozOToxNyk6Cn4jISBvbj1EaWVkZXIgb3Q9ODg3MTM0MzAzIG9nPWFsbGdlbWVpbmVzCkhhbGxvIQoKV2Vpc3MgendhciBuaWNodCwgb2IgZXMgaGllciBoaW5nZWhvZXJ0LCBhYmVyIGV0bGljaGUgdm9uIEV1Y2ggd29sbHRlbiB2b24gbWlyCndpc3Nlbiwgd2FubiBtZWluIFNjaHdhZWJpc2NoLUt1cnMgZW5kbGljaCBmZXJ0aWcgaXN0Li4uIERhIGljaCBkaWUgTmFtZW4KbmljaHQgbWVociBhbGxlIHdlaXNzLCBwb3N0ZSBpY2ggZXMgaGllci4gRXIgaXN0IGZlcnRpZyB1bmQgbGllZ3QgdW50ZXIKIkFrdHVlbGxlcyIgYXVmIG1laW5lciBIb21lcGFnZQoKaHR0cDovL2hvbWUucGFnZXMuZGUvfkRpZWRlcgoKUFM6IFNvbGwga2VpbmUgV2VyYnVuZyBzZWluLCB1bmQgaWNoIGJlaGF1cHRlIGF1Y2ggbmljaHQsIGRhc3MgZGllIFNlaXRlIGd1dAppc3QsIGFiZXIgdW50ZXJicmVpdGUgZGVubm9jaCBtYWwgZGVuIFZvcnNjaGxhZywgaW4gZGVyIE1QQSBlaW5lIFJ1YnJpawoiV2VidGlwIiBlaW56dWZ1ZWhyZW4uLi4gV2llIHdhZXJlIGRhcz8gOi0pCgpHcnVzcyB1bmQga251ZGRlbHosCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHdhZWJpc2NoIChHcmltbWJvcm4sIDEwLiBGZWIgMTk5OCwgMjE6Mzk6MjEpOgp+IyEgb249R3JpbW1ib3JuIG90PTg4NzE0MzE1MSBvZz1hbGxnZW1laW5lcwp+IyEgcm49RGllZGVyIHJ0PTg4NzEzNDMwMyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4NzEzNDMwMwpHaWJ0cyBkb2NoLiBIZWlzc3QgInd3dyIuIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaHdhZWJpc2NoIChEaWVkZXIsIDEzLiBGZWIgMTk5OCwgMTI6NDQ6MjEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4NzE0MzE2MSByZz13d3cKfiMhIHRpZD04ODcxMzQzMDMKcGVpbmxpY2ggKnNjaGFlbSoKCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5mYWVuZ2VyZ3VpZGUgaW0gV1dXIChTaGFubmFyYSwgMjEuIEFwciAxOTk4LCAxMjo0MzoxMik6CkhhbGxvIEFuZmFlbmdlciB1bmQgTmV1bGluZ2UgaW0gTW9yZ2VuR3JhdWVuLAoKaWNoIGhhYmUgZWluZW4ga2xlaW5lbiBBbmZhZW5nZXJndWlkZSBmdWVyIGRpZSBlcnN0ZSBPcmllbnRpZXJ1bmcgaGllciBpbSBNdWQKZXJzdGVsbHQuIFdlbm4gaWhyIGludGVyZXNzaWVydCBzZWlkIHNjaGF1dCBkb2NoIG1hbCBhdWYKCiAgaHR0cDovL21lbWJlcnMubWFnbmV0LmF0L3B1bGFza2kvbWcvZ3VpZGUuaHRtCgpJY2ggaG9mZmUsIGRhc3MgZ2lidCBldWNoIGVpbmVuIGd1dGVuIFN0YXJ0IDopCgpTaGFubmFyYQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdlbkdyYXVlbiBBbmZhZW5nZXJoaWxmZSAoU2hhbm5hcmEsIDI1LiBBcHIgMTk5OCwgMTk6NDc6MDgpOgoKTWVpbmUgQW5mYWVuZ2VyaGlsZmUgd3VyZGUgdXBnZWRhdGV0LCBMaW5rIGlzdAogIGh0dHA6Ly9tZW1iZXJzLm1hZ25ldC5hdC9wdWxhc2tpL21nL2d1aWRlLmh0bQoKRGFuayBhbiBhbGxlLCBkaWUgbWlyIGlocmUgTWVpbnVuZyBnZXNjaHJpZWJlbiBoYWJlbi4KClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZhZW5nZXJndWlkZSB1cGdlZGF0ZXQgKFNoYW5uYXJhLCAyOC4gTWFpIDE5OTgsIDIxOjA2OjMyKToKTWVpbmUgQW5mYWVuZ2VyaGlsZmUgZXJmdWhyIGVpbiBVcGRhdGUsIGxpZWd0IG51biBhdWYKaHR0cDovL21lbWJlcnMubWFnbmV0LmF0L3B1bGFza2kvbWcvaW5kZXguaHRtLgoKU2hhbm5hcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2Vyc2VpdGVuIChaYXJuaXlhLCAyNC4gSnVsIDE5OTgsIDEwOjEwOjI2KToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkwMTIyOTE5MyByZz13d3cKfiMhIHRpZD05MDEyMjkxOTMKYXVzIFNoYW5uYXJhcyBXZWJwYWdlIHp1bSBUaGVtYSAic296aWFsZXMgVmVyaGFsdGVuIjoKCiguLi4pCkVzIHdpcmZ0IGVpbiBmcmFnd3xyZGlnZXMgTGljaHQgYXVmIHNlaW5lbiBSTC1DaGFyYWt0ZXIsIHdlbm4gbWFuIHNpY2ggZnxyCnNlaW4gc2NobGVjaHRlcyBCZW5laG1lbiBoaW50ZXIgZGVuIEZlaWdlbmJsYXR0ICJFcyBpc3QgamEgbnVyIGVpbiBTcGllbCAvCmVpbmUgUm9sbGUiIHZlcnN0ZWNrdC4KKC4uLikKCk1hbCBBYmdlc2VoZW4gdm9uIGRlciBHcmFtbWF0aWssIGRpZSBlaW5lbSBkYSBlbnRnZWdlbnNjaHJlaXQ6IEthbm4gZGFzIHNlaW4sCmRhc3MgZGEgZWluZXIga2VpbmVybGVpIEFobnVuZyB1ZWJlciBSb2xsZW5zcGllbCBoYXQ/IFdhZXIgUm9sbGVuc3BpZWwgbmljaHQKbGFuZ3dlaWxpZywgd2VubiB3aXIgdW5zIGFsbGUgbGllYmVuIHVuZCBoYWV0c2NoZWxuIHVuZCBrdXNjaGVsbiB3dWVyZGVuPyBFcwptdXNzIGluIGplZGVtIFJvbGxlbnNwaWVsLCB3aWUgYXVjaCBpbiBSTCwgZWluIEZlaW5kYmlsZCBnZWJlbiwgc29uc3QgaXN0IGRhcwpMZWJlbiBvZWRlLiBXZW5uIG51IGVpbiBTcGllbGVyIGVpbiBBcnNjaGxvY2ggc3BpZWx0IChmcmFndCBqZXR6dCBrZWluZXIgbmFjaApZYW50cm8gOikpLCBkYW5uIG11c3MgZXIgendhciBtaXQgZGVtIEVjaG8gbGViZW4sIGRhc3MgZXIgdm9uIGRlbiBhbmRlcmVuCmJla29tbXQsIGFiZXIgaGVpc3N0IGRhcywgZGFzcyBlciBmYWxzY2ggc3BpZWx0PyBJY2gga2VubmUgdmllbGUgQ2hhcmFjdGVyZQpoaWVyIHVuZCBpY2ggbXVzcyBzYWdlbiwgZGFzcyBtaXIgZGllIGthbnRpZ2VuIHVuZCBzY2hyb2ZmZW4gaW1tZXIgbGllYmVyCndhcmVuIGFscyBkaWUgV2VpY2hzcHVlbHNwaWVsZXIuIAoKV2VubiBudW4gYWJlciBnZWhhdXB0ZXQgd2lyZCwgZGFzcyBtYW4gYXVzIGRlbSBTcGllbCBkZXMgQ2hhcmFrdGVycyBhdWYgZGllClJMLVBlcnNvbiBzY2hsaWVzc2VuIGthbm4sIGRhbm4gaXN0IGRhcyB3b2hsIG1laHIgYWxzIGVpbiBBcm11dHN6ZXVnbmlzLiBHZW5hdQpkYXMgYmVoYXVwdGV0IFNoYW5uYXJhIGFiZXIuIAoKV2VubiBpY2ggZGllc2UgRWluc3RlbGx1bmcgc2VoZSwgZGFubiB3ZWlzcyBpY2gsIHdpZXNvIFNoYW5uYXJhIHNpY2ggaW4gZWluZW0Kd29obCB3aXJrbGljaCBndXRlbiBQSy1NdWQsIHdpZSBkZW0gSG9seU1pc3Npb24gbmljaHQgd29obCBnZWZ1ZWhsdCBoYXQuIEVzCmlzdCBoYWx0IGltbWVyIGVpbiBQcm9ibGVtLCB3ZW5uIG1hbiBSTCB1bmQgU3BpZWwgdmVybWlzY2h0IChpY2ggd2Vpc3MsIGRhc3MKaWNoIGRhIGVpbiBnZWJyYW5udGVzIEtpbmQgYmluIHVuZCBhdWNoIGRpZXNlbiBGZWhsZXIgZ2VtYWNodCBoYWIsIGFiZXIgaWNoCnN0ZWggd2VuaWdzdGVucyB6dSBtZWluZW4gRmVobGVybikuIFZpZWxsZWljaHQgd2FlcmVuIHNvbGNoZQpXZWljaHNwdWVsc3BpZWxlciwgZGllIGFsbGVzIHp1IGVybnN0IHVuZCB6dSBSTCBuZWhtZW4sIGJlc3NlciBpbiBlaW5lbSBNVVNICndpZSBJbWJyaXMgYXVmZ2Vob2Jlbi4gCgpaYXJuaXlhCgpQLlMuOiBJY2ggd2Vpc3MsIGRhc3MgZGFzIGVpZ2VudGxpY2ggaW4gZXRpa2V0dGUgZ2Vob2VydCwgYWJlciBudSBzdGVodHMgaGFsdApoaWVyLiAqZ3JpbnMgR3JpbW1ib3JuKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2Vyc2VpdGVuIChHcmltbWJvcm4sIDI0LiBKdWwgMTk5OCwgMTA6MTU6MTgpOgp+IyEgcm49WmFybml5YSBydD05MDEyNjc4MjYgcmc9d3d3Cn4jISB0aWQ9OTAxMjI5MTkzCkljaCBzZWhlIGRlbiBQdW5rdCBuaWNodC4gSWNoIGJpbiBybCBnZW5hdXNvIHdpZSBoaWVyLiBOdXIgZGFzcyBtaXIgcmwgZGllIG1wYQp6dW0gdmVybGVnZW4gZmVobHQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW9yZ2VuR3JhdWVuIEFuZmFlbmdlcnNlaXRlbiAoS29vbWksIDI0LiBKdWwgMTk5OCwgMTg6MDQ6MzMpOgp+IyEgcm49WmFybml5YSBydD05MDEyNjc4MjYgcmc9d3d3Cn4jISB0aWQ9OTAxMjI5MTkzCkhtbS4uLi4gaWNoIGhhYiBkYSBiZWkgZGVyIGVyc3RlbiBWZXJvZWZmZW50bGljaHVuZyBkaWVzZXIgQW5mYWVuZ2Vyc2VpdGVuCmF1Y2ggc28gdm9uIGplbWFuZGVuIGVpbmUgRmxhbWUtTWFpbCBpbiBCZXp1ZyBhdWYgR3JhbW1hdGlrIGJla29tbWVuLiBPYndvaGwKbWlyIGRhcyBlaWdlbnRsaWNoIGVnYWwgaXN0LCBzZWhlIGljaCBkYSBrZWluZSBWZXJiaW5kdW5nIHp3aXNjaGVuIGRlbiBJbmhhbHQKZGVyIFNlaXRlbiB1bmQgZGVyIGF1ZXNzZXJlbiBGb3JtLiBOYSBqYSwgZWluZSBGbGFtZSBoYWx0LCB1bSBtaWNoIHp1CnByb3ZvemllcmVuLgoKRWluZSBrbGVpbmUgRmxhbWUgenVydWVjaywgd2VpbCBkb2NoIFphcm5peWEgc28gZ2VybiBkYXMgTWF1bCBhdWZyZWlzc3QKKHNvcnJ5KTogRGFzIFdvcnQgImdlaGF1cHRldCIgZXhpc3RpZXJ0IGluIG1laW5lbiBXb3J0c2NoYXR6IG5pY2h0LiBXYXMgZGFzCndvaGwgYmVkZXV0ZW4gbWFnPyAqZ3JpbnMqCgpOZWluLCBpY2ggbWFnIEhvbHlNaXNzaW9uIG5pY2h0LCB3ZWlsIG1pY2ggZGFzIGdlZ2Vuc2VpdGlnZSBBYnNjaGxhY2h0ZW4gbWljaAphbmVrZWx0IHVuZCBhdXNzZXJkZW0gaXN0IGVzIG5pY2h0IGx1c3RpZywgaW1tZXIgYWxzIFN0dWZlIDEgU3BpZWxlciBkb3J0CndlZ2VuIGplZGVyIEtsZWluaWdrZWl0IGdlamFndCB1bmQgYWJnZXNjaGxhY2h0ZXQgenUgd2VyZGVuLiBEYXMgaXN0IGF1Y2ggZWluZQpGb3JtIHZvbiBTcGllbGVyIHJhdXNla2Vsbi4KCkRhenUga29tbXQgbm9jaCwgZGFzcyBpY2ggZGlyIGRlaW4gIlJvbGxlbnNwaWVsIiBhbHMgZ3JvYmthbnRpZ2VyIFR5cCBuaWNodAphYmthdWZlLCB3YXMgZGllc2VyIEFydGlrZWwgdW5kIGF1Y2ggbm9jaCBmcnVlaGVyZSBiZXN0YWV0aWdlbi4gWmFybml5YSBoYXQgamEKcmVjaHQsIGRhcyBlcyBsYW5nd2VpbGlnIGlzdCwgd2VubiB3aXIgdW5zIG51ciBnZWdlbnNlaXRpZyBoaWVyICJhYmt1c2NoZWxuLApsaWViZW4gdW5kIGhhZXRzY2hlbG4iLiBJY2ggd2lsbCBkaWVzZSBzb3ppYWxlbiAiVmVyaGFsdGVuc3JlZ2VsbiIgbmllbWFuZGVuCmF1Znp3aW5nZW4sIHNpZSBzaW5kIG51ciBGaW5nZXJ6ZWlnZSwgd2llIG1hbiBzaWNoIF9pZGVhbGVyd2Vpc2VfIGluIG1laW5lcgpWb3JzdGVsbHVuZyB2ZXJoYWVsdCwgZWJlbiBndXRhcnRpZy4gU2VsYnN0IGFscyBhYnNvbHV0ICdib2VzZScgZ2VzcGllbHRlCkZpZ3VyIChpY2ggaGFiIHNlbGJlciBtYWwgZWluZSBnZWhhYnQsIFRhbmFyaSAodmllbGxlaWNodCBlcmlubmVydCBzaWNoIGVpbmVyCmRhcmFuLCBtb2VnZSBzaWUgaW4gRnJpZWRlbiBydWhlbikpLiBTaWUgd2FyIGFscyBib2VzZSwgdW5rb29wZXJhdGl2IGV0YwphdXNnZWxlZ3QsIGFscyBlaW5lIEdlZ2VucG9sIHp1IFNoYW5uYXJhLiAKCkZsYW1lIGxpZWJlciBqZW1hbmQgYW5kZXJlbiBhbiwgWmFybml5YS4KClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChLb29taSwgMjQuIEp1bCAxOTk4LCAyMTowNTo1OCk6CgpEaWUgYWVyZ3N0ZW4gTWFlbmdlbCBzaW5kIG51biBhbGxlIGF1c2dlbWVyenQgdW5kIGRpZSBTZWl0ZW4gd3VyZGVuIGxlaWNodCBuZXUKc3RydWt0dXJpZXJ0LgoKS29vbWkKClBTOiBGdWVyIHphcm55aWEgaGFiIGljaCBlaW5lbiBIVE1MLVZpcnVzIGluc3RhbGxpZXJ0IDotKSAqbGFjaCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChHYW5kbywgMjQuIEp1bCAxOTk4LCAyMzoxOTozNCk6Cn4jISBybj1Lb29taSBydD05MDEzMDcxNTggcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CkRlbiBoYWV0dGUgaWNoIGdlcm4gbWFsIGdlc2Vobi4gZ2VuYXVzbyB3aWUgZWluZW4gZW1haWwtdmlydXMuCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKEdyaW1tYm9ybiwgMjYuIEp1bCAxOTk4LCAxMDoyNjozMSk6Cn4jISBybj1HYW5kbyBydD05MDEzMTUxNzQgcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CkhtbSwgZGFyZiBpY2ggSmF2YVNjcmlwdCBiZW51dHplbiB1bmQgRGVpbiBCZXRyaWVic3N5c3RlbSBiZXN0aW1tZW4/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVXBkYXRlIE5yIDIgZGVyIE1HLUFuZmFlbmdlcnNlaXRlbiAoU29uZ29rdSwgMjcuIEp1bCAxOTk4LCAxMTozNzo0MCk6Cn4jISBybj1HYW5kbyBydD05MDEzMTUxNzQgcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CkVtYWlsdmllcmVuIGdpYnQgZXMgb2RlciBoYXN0IGR1IG5vY2ggbmllIHZvbSAiR29vZC1UaW1lcyIgZ2Vob2VydCAoaWNoIG1laW5lCmRhcyBlcm5zdCEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChCYWJvb24sIDI3LiBKdWwgMTk5OCwgMTE6NDE6MTMpOgp+IyEgcm49U29uZ29rdSBydD05MDE1MzIyNjAgcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CkRhcyBiZWZ1ZXJjaHRlIGljaC4KCkJhQk9PbigpCgpQLnM6IEdpYnQgZXMgZWlnZW50bGljaCBzY2hvbiBnZXNpY2hlcnRlIEVya2VubnRuaXNzZQp1ZWJlciBkaWUgVWViZXRyYWd1bmcgdm9uIFZpcmVuIHZvbSBDb21wdXRlciBhdWYgZGVuIE1lbnNjaGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVXBkYXRlIE5yIDIgZGVyIE1HLUFuZmFlbmdlcnNlaXRlbiAoSmFzb25yaWdpZCwgMjcuIEp1bCAxOTk4LCAxMjoxMToxOCk6Cn4jISBybj1CYWJvb24gcnQ9OTAxNTMyNDczIHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApLbGFyIGdpYnQgZXMgZGllLgoKSmFzb24sIGxlaWRldCBzY2hvbiBzZWl0IEphaHJlbiBzZWxiZXIgYW4gTWljaGVsYW5nZWxvLCBlaW56ZWxlbmQgLT4gc2NobWFycm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKFNvbmdva3UsIDI3LiBKdWwgMTk5OCwgMTI6MTc6MzApOgp+IyEgcm49QmFib29uIHJ0PTkwMTUzMjQ3MyByZz13d3cKfiMhIHRpZD05MDEzMDcxNTgKSWNoIHNpdHplIG1pdCBuZW0gU2NobnVwZmVuIHZvciBuZW0gUmVjaG5lci4gV2VubiBkZXIgYmFxbGQgbmVuIFZpcnVzIGhhdCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKFlhcmVuLCAyNy4gSnVsIDE5OTgsIDE2OjA4OjExKToKfiMhIHJuPVNvbmdva3UgcnQ9OTAxNTMyMjYwIHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApZZXAuIERpZSBNYWlsIGlzdCBkZXIgVmlydXMuCgpZYXJlbiAtIGt1cnogdW5kIGtuYXBwIHdpZSBzZWluZSBIYWFyZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKFNoYW5uYXJhLCAyNy4gSnVsIDE5OTgsIDE4OjI4OjIwKToKfiMhIHJuPVNvbmdva3UgcnQ9OTAxNTMyMjYwIHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApFTWFpbC1WaXJlbiBzaW5kIGVpbiBCbG9lZHNpbm4sIHNvbGFuZ2UgbWFuIG5pY2h0IFNjaG5pY2tzY2huYWNrIHdpZQpKYXZhU2NyaXB0IG9kZXIgbmUgYW5kZXJlIFNjcmlwdHNwcmFjaGUgaW4gTWFpbHByb2dyYW1tZW4gYmVudXR6dC4KClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChHYW5kbywgMjcuIEp1bCAxOTk4LCAxODozNTozMyk6Cn4jISBybj1TaGFubmFyYSBydD05MDE1NTY5MDAgcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CkphdmEoc2NyaXB0KSBpbiBlbWFpbCdzIApEaW5nZSBiYXVuIGRpZSBsZXV0ZSAuLiBrYW5uIGVjaHQgbmljaHQgd2FyIHNlaW4uIApFbWFpbCBzb2xsdGUgZG9jaCBkZXIgaW5iZWdyaWZmIHZvbiBBTlNJIHNlaW4uIHNlbGJzdCBuIGF0dGFjaGVtZW50IGlzIHNjaG9uCmhhcnQgYW0gbGltaXQuIGZ1ZXIgc293YXMgZ2lidCBlcyBhbmRlcmUgdW5kIGJlc3NlcmUgbWVkaWVuLgoKR2FuZG8gLT4gTmltbXQgZW1haWwncyBudXIgYWxzIFRleHQgYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChKZWhvdmEsIDI3LiBKdWwgMTk5OCwgMTg6Mzc6MjQpOgp+IyEgcm49R2FuZG8gcnQ9OTAxNTU3MzMzIHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OAp1bmQgc2VsYnN0IGRhIGthbm4gbWFuIHN0ZXVlcnplaWNoZW4gcmVpbm1pc2NoZW4sIGRpZSBkaWNoIHNvZ2FyIGF1c2xvZ2dlbgprb2VubmVuIDopCgpqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVXBkYXRlIE5yIDIgZGVyIE1HLUFuZmFlbmdlcnNlaXRlbiAoR2FuZG8sIDI3LiBKdWwgMTk5OCwgMTg6Mzc6NDgpOgp+IyEgcm49SmVob3ZhIHJ0PTkwMTU1NzQ0NCByZz13d3cKfiMhIHRpZD05MDEzMDcxNTgKY29vb2wKc2NoaWNrIG1pciBtYWwgZWluZSAuLiBtaWNoIGludGVyZXNzaWVydCBkYXMgbWFsIDspCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChBbmF0b2wsIDI3LiBKdWwgMTk5OCwgMjA6MDM6NTkpOgp+IyEgcm49R2FuZG8gcnQ9OTAxNTU3NDY4IHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApFcyBnaWJ0IHdpcmtsaWNoIEVtYWlsLVZpcmVuLCBkaWUgZHVyY2ggcHVyZXMgTGVzZW4gbWl0ICJwaW5lIiBTY2hhZGVuCnZlcnVyc2FjaGVuIGtvZW5uZW4sIHp1bWluZGVzdCBrYW0gZGFzIHZvbiBzZXJpb2VzZXIgU3RlbGxlLiBBbHMgR2VnZW4tCm1hc3NuYWhtZSB3dXJkZSB2b3JnZXNjaGxhZ2VuLCBNYWlscyBtaXQgZWluZXIgU3ViamVjdC1aZWlsZSB2b24gdWViZXIKNTAwIFplaWNoZW4gKk5JQ0hUKiBtaXQgYmVzYWd0ZW0gTWFpbHByb2dyYW1tIHp1IG9lZmZuZW4gOykKCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogVXBkYXRlIE5yIDIgZGVyIE1HLUFuZmFlbmdlcnNlaXRlbiAoU2lsdmFuYSwgMjcuIEp1bCAxOTk4LCAyMDoyNToxNCk6Cn4jISBybj1BbmF0b2wgcnQ9OTAxNTYyNjM5IHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApOZSB3aXJrbGljaCBuZXR0ZSBWZXJzaW9uIHZvbiBlbWFpbC1WaXJ1cyBpc3QgZm9sZ2VuZGU6Cldlbm4gbWFuIHdlaXNzLCBkYXNzIGRhcyBPcGZlciBtaXQgT3V0bG9vayBhcmJlaXRldCBuZW4gV2luV29yZC0KRG9rdW1lbnQgbWl0IE1ha3JvVmlydXMgc2NoaWNrZW4uIE91dGxvb2sgc3RhcnRlbiBXaW53b3JkIHp1bSBsZXNlbiwKZGVyIE1ha3JvLVZpcnVzIG5pbW10IHNlaW5lbiBKb2IgYXVmLi4uIFNjaGFkZSwgTSQuLi4uClNvbGFuZyBtYW4gbWFpbCBtaXQgbmljaHQgbWVociBhbHMgYXNjaWktbWFpbC1wcm9ncmFtbSBsaWVzdCwga2FubiAKZWluZW0gYWJlciBuaWNodCB2aWVsIHBhc3NpZXJlbi4uLgoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBVcGRhdGUgTnIgMiBkZXIgTUctQW5mYWVuZ2Vyc2VpdGVuIChHcmltbWJvcm4sIDI3LiBKdWwgMTk5OCwgMjM6MjA6MTQpOgp+IyEgcm49R2FuZG8gcnQ9OTAxNTU3MzMzIHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApEdSBtZWluc3QgQVNDSUkuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKEdyaW1tYm9ybiwgMjcuIEp1bCAxOTk4LCAyMzoyMToyNSk6Cn4jISBybj1BbmF0b2wgcnQ9OTAxNTYyNjM5IHJnPXd3dwp+IyEgdGlkPTkwMTMwNzE1OApFaW4gdmVybnVlbmZ0aWdlcyBzZW5kbWFpbCBuaW1tdCBzb2xjaGUgbWFpbHMgYXVjaCBuaWNodCBhbi4gV2FzIGtlaW5lCkVudHNjaHVsZGlndW5nIGZ1ZXIgcGluZSBpc3QsIGFiZXIgd29mdWVyIGdpYnRzIG11dHQuIFVuZCBuYXR1ZXJsaWNoIHNpbmQKbmV1ZXJlIFZlcnNpb25lbiB2b24gcGluZSBhdWNoIG5pY2h0IG1laHIgZW1wZmluZGxpY2guCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFVwZGF0ZSBOciAyIGRlciBNRy1BbmZhZW5nZXJzZWl0ZW4gKE1hcmN1cywgMzAuIEp1bCAxOTk4LCAxODoxNDo0NSk6Cn4jISBybj1HYW5kbyBydD05MDE1NTczMzMgcmc9d3d3Cn4jISB0aWQ9OTAxMzA3MTU4CktsYXIsIGR1IGthbm5zdCBhdWNoIGphdmEgYXBwbGV0cyByZWlubWFjaGVuLiBPZGVyIG51ciBuZW4gdmVyd2VpcyBkcmF1Zi4KU3RhdHQgbmVyIE1VRCBBbnplaWdlIG1pdCBpcmdlbmR3ZWxjaGVuIGxhbWUgcG9pbnRlcnMgZWluZmFjaCBlaW5lIHRleHQvaHRtbApTZWl0ZSBtaXQgbmVtIDxBUFBMRVQgPiB0YWcgdW5kIHJlZmVyZW56IGF1ZiBUZWxuZXQgQXBwbGV0IGRyaW4gcG9zdGVuIDspCgpNYXJjdXMgKGthbm4gbWFuIGF1Y2ggYWxzIE1haWwgdmVyc2NoaWNrZW4sIG9kZXIgaW4gZGVuIE1haWxmb2xkZXIgdHVuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJc3QgSmVzdXMgZWluIERhcmtXYXZlLUhlaW5pPyAqcm90ZmwqIChLb29taSwgMzAuIEp1bCAxOTk4LCAxODoxNjo1Nik6CkFlaG0sIHByb2JpZXJ0IG1hbCBkaWVzZW4gTGluazoKCiAgIGh0dHA6Ly9mb3gubnN0bi5jYS9+ZGF2ZW1hbi9qZXN1cy8KCklzdCBnYW56IHdpdHppZyA6KQoKKmxhY2gqCgpLb29taQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2Vyc2VpdGVuIChBY3JpbW9uLCAzMC4gSnVsIDE5OTgsIDIxOjQyOjA5KToKfiMhIHJuPVphcm5peWEgcnQ9OTAxMjY3ODI2IHJnPXd3dwp+IyEgdGlkPTkwMTIyOTE5MwpEYXMgTUcgaXN0IGtlaW4gcmljaHRpZ2VzIFJvbGxlbnNwaWVsLgpBbmRlcnMgYWxzIGltIFJvbGxlbnNwaWVsIGhhdCBkYXMgTUcgYXVjaCBSTC1Bc3Bla3RlLCB6dW0gQmVpc3BpZWwgaXN0IGVzCm5pY2h0IGF1c2dlc2NobG9zc2VuLCBkYXN6IGVpbiBSTC1TcGllbGVyIHNpY2ggbWlzZXJhYmVsIGZ1ZWhsdCwgd2VubiBzZWluClZMLUNoYXJha3RlciBzY2hsZWNodCBiZWhhbmRlbHQgd2lyZCAoZGFzIGlzdCBuaWNodCBlaW5tYWwgc2VsdGVuKS4KRGFzIFZMLVZlcmhhbHRlbiBpbSBNRyBoYXQgQXVzd2lya3VuZ2VuIGF1ZnMgUkwgdW5kIGlzdCBzb21pdCBuaWNodCBtZWhyCmtvbXBsZXR0IFJvbGxlbnNwaWVsLiBEYXMgbGllZ3Qgdm9yIGFsbGVtIGF1Y2ggZGFyYW4sIGRhc3ogbWFuIGltIE1HIG5pY2h0CnN0cmlrdCB6d2lzY2hlbiBWTCB1bmQgUkwgdHJlbm50ICh6LkIuIHdlcmRlbiBpbSBNRyBvZnQgYXVjaCBSTC1TYWNoZW4KYmVzcHJvY2hlbiwgdW5kIG1hbmNobWFsIHdlaXN6IG1hbiBuaWNodCBzbyByZWNodCwgb2IgbWFuIG1pdCAiaWNoIiBkZW4gVkwtCm9kZXIgUkwtQ2hhcmFrdGVyIG1laW50LikKSW1icmlzIGlzdCBhbHMgTVVTSCB3ZWl0IHJvbGxlbnNwaWVsb3JpZW50aWVydGVyIHVuZCBkYWhlciBmdWVyIGRpZWplbmlnZW4KYmVzc2VyIGdlZWlnbmV0LCBkaWUgJ3JpY2h0aWcnIHJvbGxlbnNwaWVsZW4gd29sbGVuLCBkLmguIHdlc2VudGxpY2ggc3RyaWt0ZXIKendpc2NoZW4gVkwgdW5kIFJMIHRyZW5uZW4gd29sbGVuIGFscyBoaWVyLgpJbSBNRyBtdXN6IG1hbiBkYSBtZWhyIFJ1ZWNrc2ljaHQgbmVobWVuLCBkYXMgZ2VodCBuaWNodCBhbmRlcnMsIHdlaWwgaGllcgphdWNoIFNwaWVsZXIgcmVpbmtvbW1lbiwgZGllIHZvbiBSb2xsZW5zcGllbCBub2NoIG5pZSB3YXMgZ2Vob2VydCBoYWJlbi4KRmVpbmRiaWxkZXIgbXVzeiBlcyBmdWVyIGd1dGVzIFJvbGxlbnNwaWVsICpuaWNodCogZ2ViZW4uIEVzIHNpbmQgendhcgpIaWxmc21pdHRlbCB6dW0gUm9sbGVuc3BpZWwsIGFiZXIgZXMgZ2VodCBhdWNoIHNlaHIgZ3V0IG9obmUuClZvciBhbGxlbSB2b3Igc3RhdGlzY2hlbiBGZWluZGJpbGRlcm4gc29sbHRlIG1hbiBzaWNoIGh1ZXRlbiAoYmVzb25kZXJzIFJMKS4KClR1dCBtaXIgbGVpZCwgYWJlciBkYXMgTUcgaGF0IGRlZmluaXRpdiB3ZW5pZ2VyIG1pdCBSb2xsZW5zcGllbCB6dSB0dW4sIGFscyBEdQptZWluc3QuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJc3QgSmVzdXMgZWluIERhcmtXYXZlLUhlaW5pPyAqcm90ZmwqIChHYW5kbywgMzAuIEp1bCAxOTk4LCAyMjoyNjoyOCk6Cn4jISBybj1Lb29taSBydD05MDE4MTU0MTYgcmc9d3d3Cn4jISB0aWQ9OTAxODE1NDE2CkdhbmRvIHZlcndlaXN0IGF1ZiA6IGh0dHA6Ly93d3cuamVzdXNmcmVha3MuY29tLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTW9yZ2VuR3JhdWVuIEFuZmFlbmdlcnNlaXRlbiAoWnVlcmlsZXUsIDMxLiBKdWwgMTk5OCwgMDQ6NDc6MDApOgp+IyEgcm49QWNyaW1vbiBydD05MDE4Mjc3Mjkgcmc9d3d3Cn4jISB0aWQ9OTAxMjI5MTkzCkhpLApOdW4gaWNoIHN0aW1tZSBkaXIgZGEgbmljaHQgZ2VyYWRlIHp1LiBEdSBoYXN0IHNpY2hlciByZWNodCB3ZW5uIGR1IHNhZ3N0IGRhcwppbSBNZyBzZWhyIHZpZWwgYXVjaCByZWFsZSBBc3Bla3RlIGVpbmZsaWVzc2VuLiBBYmVyIGRlbm9jaCBpc3QgTUcgZWluClJvbGxlbnNwaWVsLCB3ZWlsIGVzIGdlaHQgZGFydW0gZWluZW4gQ2hhcmFrdGVyIGhvY2ggenUgYXJiZWl0ZW4sIHJhZXR6ZWwgenUKbG9lc2VuIHVuZCB3aWUgaW4gamVkZW0gYW5kZXJlIHJvbGxlbnNwaWVsIGluIERvdW5nZW5zIGVpbnp1ZHJpbmdlbiB1bmQgYWxlcwpwbGF0dCB6dSBoYXVlbi4gTnVyIGlzdCBlaW4gTVVEIGhhbHQgbWVociwgaWNoIGJldGl0bGUgZXMgZ2VybiBhbHMKIkludGVyYWN0aXZlcyBCdWNoIiB3ZWlsIGljaCBrYW5uIHNlbGJlciBiZXN0aW1tZW4gd29oaW4gaWNoIGdlaGUgdW5kIHdhcyBpY2gKaW4gZGllc2VyIHZpcnR1ZWxlbiBXZWx0IHV1bnRlcm5laG1lLiBVbmQgZGVyIHZvcnRlaWwgaW4gamVkZW0gTXVkIGlzdApuYXR1ZXJsaWNoIGRhcyBlcyBzaWNoIHRhZWdsaWNoIGVyd2VpdGVydC4gSmVkZXIga2FubiBoaWVyIHNlbGJlciBoZWxmZW4gZXR3YXMKbmV1ZXMgenUgbWFjaGVuLCBuZXVlIHJSZWdpb25lbiBhdXMgZGVtIG5pY2h0cyB6dSBlcnNjaGFmZmVuIHVuZAphbnp1c2NobGllc3Nlbi4gV2FzIGluIGVpbmVtIFJvbGxlbnNwaWVsIGRhcyBkdSBpbiBlaW5lbSBMYWRlbiBrYXVmc3QsCm5hdHVlcmxpY2ggbmljaHQgbW9lZ2xpY2ggaXN0LiBTZWxic3QgVWx0aW1hIE9ubGluZSAoZGFzIGphIGF1ZiBkZXIgSWRlZSB2b24KTXVkcyBwYXNzaWVydCkgaXN0IG5pY2h0IHNvIGtvbXBsZXggZGFzIG1hbiBzZWxiZXIgZGFyYW4gcnVtcHJvZ3JhbW1pZXJlbgpkYXJmLgpXYXMgZHUgbmF0dWVybGljaCByZWNodCBoYXN0LCBpc3QgZGFzIGluIGVpbmVtIE11ZCBoYWx0IHJlYWxlIFBlcnNvbmVuIGhpbnRlcgpqZWRlbSBlaW56ZWxuZW4gQ2hhcmFrdGVyIHN0ZWNrdCB1bmQgZGllcyBkaWUgU2FjaGUgc2VociBpbnRyZXNzYW50IG1hY2h0LgpTaWNoZXIga2FubiBqZWRlciBzaWNoIHZlcnN0ZWxsZW4sIGFiZXIgZWluZSBnZXdpc3NlIFBlcnNvZWhubGljaGtlaXQga29tbXQKYmVpIGplZGVtIGlyZ2VudHdpZSBkdXJjaC4gVW5kIHdpZSBkYXMgaGFsdCBhdWNoIGluIGRlciByZWFsZW4gd2VsdCBzbyBpc3QsCnNpbmQgZGlyIGdld2lzc2UgTGV1dGUgc3ltcGF0aXNjaGVyIGFscyBhbmRlcmUuIFVuZCBlcyBrb21tZW4gYXVjaCByZWFsZQpUaGVtZW4genVyIHNwcmFjaGUsIHVuZCByZWFsZSBpbnRyZXNzZW4gZmxpZXNzZW4gaW5zIFNwaWVsIGVpbiB1bmQgZGEgZ2lidCBlcwpkYW5uIGhhbHQgYXVjaCBvZnQga29uZmxpa3RlLgoKVHNjaGF1IEFsYWluCgpwczogQWNyaW1vbiwgc2Nob24ga2xhciBkYXMgZHUgaW4gYWx0LWRldXRzY2ggc2NocmVpYnN0LiBBYmVyIGRhcyAic3oiIGlzdAplY2h0IG11ZWhzYW0genVtIGxlc2VuIHVuZCBlYmVuICJhbHQiIHNvd2FzIHZlcndlbmRldCBoZXV0ZSAoc29ycnkpIGtlaW4Kc2Nod2VpbiBtZWhyLiBBZWhtbS4uIGRhenUgaXN0IGRvY2ggYmVpIGVpbmVtIGRvcHBlbCBzIGVpbmZhY2hlciB1bmQgc2NobmVsbGVyCjJ4IGRhcyAicyIgYW56dWtsaWNrZW4gc3RhdHQgInN6IiA9OikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1vcmdlbkdyYXVlbiBBbmZhZW5nZXJzZWl0ZW4gKFNvbmdva3UsIDMxLiBKdWwgMTk5OCwgMTI6Mjg6MjApOgp+IyEgcm49WnVlcmlsZXUgcnQ9OTAxODUzMjIwIHJnPXd3dwp+IyEgdGlkPTkwMTIyOTE5MwpEYXMgc3ogaXN0IG5pY2h0IHNvbyB1bnVlYmxpY2ggdW5kIHNpZWh0IChpbWhvKSBiZXNzZXIgYXVzIGFscyBkYXMgc3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2Vyc2VpdGVuIChIaWdobGFuZGVyLCAzMS4gSnVsIDE5OTgsIDEyOjMzOjUxKToKfiMhIHJuPVNvbmdva3UgcnQ9OTAxODgwOTAwIHJnPXd3dwp+IyEgdGlkPTkwMTIyOTE5MwpJY2ggbWFnIGphIGpldHp0IGRhbmViZW5saWVnZW4sIGFiZXIgQUZBSUsgaXN0IGRhcyBzeiBudXIgYmVpCkdyb3NzYnVjaHN0YWJlbiB6dSB2ZXJ3ZW5kZW4uIFVuZCByZWxhdGl2IHVuZ2V3b2VobmxpY2ggaXN0IGVzIHNjaG9uIC0KaWNoIGRlbmtlIG5pY2h0LCBkYXNzIGljaCBkZXIgZWluemlnZSBiaW4sIGRlciB1ZWJlciBlaW4gc3ogcmVnZWxyZWNodApzdG9scGVydCBiZWltIExlc2VuIChlcyBicmVtc3QgZGVuIExlc2VmbHVzcykuIElNTyBzaWVodCBlcyBvYmVuZHJlaW4KYXVjaCBub2NoIGRvb2YgYXVzIDs+CgogIEhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTW9yZ2VuR3JhdWVuIEFuZmFlbmdlcnNlaXRlbiAoUHJhLCAzMS4gSnVsIDE5OTgsIDEyOjQxOjEyKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9OTAxODgxMjMxIHJnPXd3dwp+IyEgdGlkPTkwMTIyOTE5MwpBdWNoIGRlciBEdWRlbiBzYWd0IGdhbnogZWluZGV1dGlnLCBkYXNzIGRhcyBMaWdhdHVyLWVzc3pldHQgaW4gZGVyCk1hc2NoaW5lbnNjaHJpZnQgZHVyY2ggJ3NzJyB6dSBlcnNldHplbiBpc3QuIFNlbGJzdCBiZWkgR3Jvc3NidWNoc3RhYmVuLgpVbmQgbnVyLCB3ZW5uIE1pc3N2ZXJzdGFlbmRuaXNzZSBlbnRzdGVoZW4ga29lbm5lbiwgd2lyZCBlcyBkdXJjaAonU1onIGVyc2V0enQgKHVuZCBkYXMgYXVjaCBudXIgYmVpIEdyb3NzYnVjaHN0YWJlbikuCgpBYmVyIGFiIG1vcmdlbiBpc3QgZGVyIER1ZGVuIGphIG5pY2h0IG1laHIgYmVzdGltbWVuZC4uLiA6LSkKClByYS4gTWFnIGRlbiBTdHJlaXQgdW0gZGllIFJlY2h0c2NocmVpYnJlZm9ybS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1vcmdlbkdyYXVlbiBBbmZhZW5nZXJzZWl0ZW4gKFNvbmdva3UsIDMxLiBKdWwgMTk5OCwgMTI6NDM6MTEpOgp+IyEgcm49UHJhIHJ0PTkwMTg4MTY3MiByZz13d3cKfiMhIHRpZD05MDEyMjkxOTMKSWNoIGhhbHRlIG1pY2ggc293aWVzbyBhbiBtZWluZSBlaWdlbmUgcmVjaHRzY2hyZWlicmVmb3JtLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1vcmdlbkdyYXVlbiBBbmZhZW5nZXJzZWl0ZW4gKEdsb2luc29uLCAzMS4gSnVsIDE5OTgsIDE0OjA2OjE4KToKfiMhIHJuPVByYSBydD05MDE4ODE2NzIgcmc9d3d3Cn4jISB0aWQ9OTAxMjI5MTkzCklNSE8gKGphamFqYSAuLi4gaWNoIGhhYiBhdWNoIGVpbmUgQWJrdWVyenVuZyB2ZXJ3ZW5kZXQgOikgKSBpc3QgZGFzIGltCkR1ZGVuIG51ciBlaW5lIEFlbXBmYWVobHVuZyAuLi4gdW4gYXVzc2FkZW0gc2NocmVpcHQgaGlhIGphIGVoIGplZGEgd2llYQp3aWxsLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb3Rva29sbCBkZXIgVk9sbHZlcnNhbW1sdW5nIHZvbSAyOC4wMy4xOTk4IChIYXRlLCAgMy4gQXVnIDE5OTgsIDE2OjQ5OjQ2KToKaHR0cDovL21nLm11ZC5kZS9WZXJlaW4vdnYtMjMwMzk4Lmh0bWwKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN1Y2hlIChHcmltbWJvcm4sICAzLiBPa3QgMTk5OCwgMTI6MDM6MjApOgpMZWlkZXIgZ2lidHMgaGllciBrZWluZSB1c2VuZXQtU3VjaGUuLi4gCkljaCBzdWNoZSBlaW5lIE1vZWdsaWNoa2VpdCwgZnVlciBlaW4gYmVzdGltbXRlcyBUaGVtYSByZWxldmFudGUgbmV3c2dyb3Vwcwp5enUgZmluZGVuLiBVbmQgZGFzIG1vZWdsaWNoc3QsIG9obmUgYXVmIHNwYW0tdG9vbHMgenVydWVja2dyZWlmZW4genUgbXVlc3NlbgooZGVyZW4gUmVzdWx0YXRlIGtlbm50IG1hbiBqYSkuIEFsc28gYWxzIEJlaXNwaWVsOiBJY2ggYmluIFdlaW5saWViaGFiZXIgdW5kCnN1Y2hlIGpldHp0IHdlbHR3ZWl0IGRpZSBHcnVwcGVuLCBkaWUgc2ljaCBtaXQgc293YXMgYmVzY2hhZWZ0aWdlbi4gVW5kIG5laW4sCmVpbmUgU3VjaGUgYmVpIGRlamFuZXdzIHNjaGVpbnQgbmljaHQgc2lubnZvbGwgenUgc2VpbiwgZGllIGxpZWZlcm4gbWlyIGRhbm4KbGF1dGVyIEFydGlrZWwsIGluIGRlbmVuIGRhcyBXb3J0IFdlaW4gKG9kZXIgd2luZSkgZHJpbiB2b3Jrb21tdC4gVW5kIGRhcyBpc3QKZXJzdGVucyBzZWhyIHVuc2NoYXJmIHVuZCB6d2VpdGVucyBtdWVzc3RlIGljaCBtaXIgZGFubiBhdXMgNTAwMCBBcnRpa2VsbiBkaWUKZHJlaSByZWxldmFudGVuIEdydXBwZW4gcmF1c3BpY2tlbi4KSmVtYW5kIG5lIElkZWUgb2RlciBFcmZhaHJ1bmc/CgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZSAoWWVuZGksICA1LiBPa3QgMTk5OCwgMTA6MjY6MTUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwNzQxNjIwMCByZz13d3cKfiMhIHRpZD05MDc0MTYyMDAKQmVpIG1laW5lbSBOZXRzY2FwZTQuPyBrYW5uIG1hbiBpbSBOZXRzY2FwZSBNZXNzYWdlIENlbnRlciB1bnRlciAiQWRkCkRpc2N1c3Npb24gR3JvdXAiIGVpbmVuIFB1bmt0IGZpbmRlbiwgZGVyICJTZWFyY2ggRm9yIEEgR3JvdXAiIGhlaXNzdC4KRGEga2FubnN0IER1IGRhbm4gYmVxdWVtIG5hY2ggIldlaW4iLCAidmluIiwgIndpbmUiLCAidmlubyIgb2RlciAib2VuIgpzdWNoZW4uLi4KCgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOiBTdWNoZSAoQmlyZHksICA2LiBPa3QgMTk5OCwgMTU6NTA6NTgpOgpJbiBQSU5FIGthbm4gbWFuIGF1Y2ggbmFjaCBiZXN0aW1tdGVuIE5ld3NncnVwcGVuIHN1Y2hlbi4gV29iZWkgZGVyIE5hbWUgbmljaHQKdm9sbHN0YWVuZGlnIGFuZ2VnZWJlbiB3ZXJkZW4gbXVzcywgZXIgc3VjaHQgZGFubiBhbGxlIHJlbGV2YW50ZW4gR3J1cHBlbgpyYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VjaGUgKFphcm5peWEsICA2LiBPa3QgMTk5OCwgMTY6Mzg6MDQpOgp+IyEgcm49QmlyZHkgcnQ9OTA3Njg5MDU4IHJnPXd3dwp+IyEgdGlkPTkwNzY4OTA1OAphbGxlcyB1bnNpbm4sIHdlaWxzIGVpZ2VudGxpY2ggYXVmIGVpbmVuIG5ld3NzZXJ2ZXIgYmVncmVuenQuLi4gaWNoIHNhZyBudXI6CgpodHRwOi8vamFtbWVkLmNvbS9+bmV3emJvdC8gdW5kIGRhIGF1ZiBzZWFyY2guCgpaYXJuaXlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGUgKFByYSwgIDguIE9rdCAxOTk4LCAxMDo0ODozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTA3NDE2MjAwIHJnPXd3dwp+IyEgdGlkPTkwNzQxNjIwMApFaW5lIGFuZGVyZSBNb2VnbGljaGtlaXQgaXN0IGVzLCBpbiBkZW4gQ2hhcnRhcyB6dSBzdWNoZW4uIFp1bWluZGVzdCBkaWUKQ2hhcnRhcyBkZXIgZGUuKi1HcnVwcGVuIGZpbmRlc3QgRHUgdW50ZXIKaHR0cDovL3d3dy5zdHVkLnVuaS1tdWVuY2hlbi5kZS9+d29sZmdhbmcua29wcC9kZS1jaGFydGFzLnR4dAoKRGFtaXQga2FubnN0IER1IGRhbm4gYXVjaCBHcnVwcGVuIGZpbmRlbiwgZGllIGRhcyBTdGljaHdvcnQgbmljaHQgaW0KVGl0ZWwsIGFiZXIgenVtIEluaGFsdCBoYWJlbi4KClByYS4KClAuUy4gR2lidCBlcyBpcmdlbmR3byBkaWUgQ2hhcnRhcyBmdWVyIHdlbHR3ZWl0ZSBOZXdzLUdydXBwZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRyBXV1cgLSBOZXVlIGFsdGUgRmVhdHVyZXMgKEhhdGUsICAzLiBEZXogMTk5OCwgMTU6MzU6MDcpOgpIaSwKCmljaCBoYWJlIHp3ZWkgYWx0ZSBGZWF0dXJlcyBuZXUgZWluZ2ViYXV0LiAKCjEuIERlbiBXZWJWb3lldXIgLSBFaW5lIE1vZWdsaWNoa2VpdCBUZWlsZSB2b24gTUcgdm9tIFdXVyBhdXMgenUgYmV0cmFjaHRlbi4KICAgRGVyIFNlcnZpY2UgaXN0IGJlc2NocmFlbmt0IHVuZCBtYW4ga2FubiB3aXJrbGljaCBudXIgbWFsIHJlaW5zY2hudXBwZXJuLgoKMi4gSW50ZXJNVUQgLSBFaW5lIE1vZWdsaWNoa2VpdCB2b20gV1dXIGF1cyBpbiBmYXN0IGFsbGVuIE1VRHMgKFdlbHR3ZWl0KQogICBEaWUgU3BpZWxlcmxpc3RlIChvbmxpbmUpIHVuZCBkaXJla3QgSW5mb3JtYXRpb25lbiB6dSBlaW5lbSBTcGllbGVyCiAgIHp1IGJla29tbWVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJyYXRzY2hlcndpdHplIGV0YyAoR3JpbW1ib3JuLCAxNC4gRGV6IDE5OTgsIDE3OjExOjE4KToKfiMhIG9uPUtlbGx5YnVuZHkgb3Q9OTEzNTk1NzQ0IG9nPXdpdHplCmh0dHA6Ly93d3cuTHVlbmVDb20uZGUvV2VuZGxhbmQtU2luZm9uaWUtT3JjaGVzdGVyL211c3dpdHplLmh0bWwKCkR1bXBmYmFja2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HIEFuZmFlbmdlcnNlaXRlbiAoS29vbWksIDI4LiBKYW4gMTk5OSwgMjE6MDY6MDApOgpJY2ggaGFiZSBkaWUgVVJMIGRlciBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2VyaGlsZmUgYXVmIGZvbGdlbmRlIEFkcmVzc2UgdmVybGVndDoKCmh0dHA6Ly93d3cuYXJteS5uZXQvaG9tZS9wdWxhc2tpQGljZWxhbmQuYXJteS5uZXQvbWcvCgpFcmtsYWVydW5nOiBEYXMgaXN0IGVpbmUgVVJMLUZvcndhcmRpbmcgQWRyZXNzZSwgZGllIGRlcnplaXQgbm9jaCB6dXIgJ2FsdGVuJwpBZHJlc3NlIGh0dHA6Ly9tZW1iZXJzLm1hZ25ldC5hdC9tZyBmdWVocnQsIGFiZXIgZGllc2Uga2FubiBzaWNoIGJhbGQgYWVuZGVybgoodW5zaWNoZXIpLgoKT2gsIG5vY2ggZXR3YXM6IEljaCBoYWJlIGltIEZlYnJ1YXIgdm9yLCBkaWUgTUcgU2VpdGVuIHp1IHVlYmVyYXJiZWl0ZW4sIGZhbGxzCmljaCBkYXp1IGtvbW1lLCB1bmQgYXVzc2VyZGVtIHdpcmQgZXMgZnVlciBkaWUgS2F0emVua3JpZWdlciBlaW5lIEdpbGRlbnNlaXRlCmdlYmVuLgoKaW0gQXVmdHJhZyBTaGFubmFyYXMsCkhhbGJlbGYgS29vbWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktLcmllZ2VyIEhvbWVwYWdlIChLb29taSwgIDkuIEZlYiAxOTk5LCAyMjo1MTo0MSk6CkhhbGxvLAoKaWNoIGhhYmUgZnVlciBkaWUgS2F0emVua3JpZWdlciBlaW5lIGtsZWluZSBHaWxkZW5zZWl0ZSBnZXNjaHJpZWJlbiwgZGllCnVudGVyIGh0dHA6Ly9tZW1iZXJzLm1hZ25ldC5hdC9wdWxhc2tpL21nL2trcmllZ2VyL2luZGV4Lmh0bWwgYWJydWZiYXIgc2luZC4KCk9oLCBkaWUgQW5mYWVuZ2VyaGlsZmUgaXN0IGRlcnplaXQgb2ZmbGluZSAoZnVlciBlaW5lIFdvY2hlKSwgZGEgaWNoIHNpZQpkZXJ6ZWl0IHVtc2NocmVpYmUuCgpLb29taS4KCiAgLS0gSGFsYmVsZiBLb29taS4gCiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLS3JpZWdlciBIb21lcGFnZSAoQXJrLCAgOS4gRmViIDE5OTksIDIzOjA4OjAwKToKfiMhIHJuPUtvb21pIHJ0PTkxODYwMDcwMSByZz13d3cKfiMhIHRpZD05MTg2MDA3MDEKTmV0dCwgYmVzb25kZXJzIGRpZSBzY2hvZW5lIEFuaW1hdGlvbiBsaW5rcyBvYmVuLiBBYmVyIGRpZSBLcml0aWtwdW5rdGUKc29sbHRlc3QgRHUgRGlyIHZpZWxsZWljaHQgc3BhcmVuLCBkYSBkZW5rZW4gdmllbGxlaWNodCBuaWNodCBhbGxlIHNvIGRydWViZXIuClNjaGxpZXNzbGljaCBpc3QgZGllIFNlaXRlIGphIGFscyAnV2VyYmVzZWl0ZScgZ2VkYWNodCwgb2Rlcj8gV2VubiB3YXMgc2Nod2FjaApzZWluIHNvbGx0ZSwga2FubiBtYW4gamEgYXVmIGVpbmVyIERpc2t1c3Npb25zc2VpdGUgZGVtIGludGVyZXNzaWVydGVuIExlc2VyCmVpbiBGb3J1bSBmdWVyIEtyaXRpayBiaWV0ZW4gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLS3JpZWdlciBIb21lcGFnZSAoQW5hdG9sLCAxMC4gRmViIDE5OTksIDAwOjE2OjQyKToKfiMhIHJuPUFyayBydD05MTg2MDE2ODAgcmc9d3d3Cn4jISB0aWQ9OTE4NjAwNzAxCk9jaCwgaWNoIGZpbmRlIHp1bWluZGVzdCBkaWUgR2lsZGVuZmliZWwgaW0gQW5oYW5nIHNlaHIgYXVzc2FnZWtyYWVmdGlnIC0gCmRpZSBLYXR6ZW5rcmllZ2VyLXR5cGlzY2hlIGVpbmZhZWx0aWdlIFNpY2h0IGRlciBEaW5nZSB3dXJkZSBnbGFlbnplbmQKaGVyYXVzZ2VhcmJlaXRldC4KCkdyb3NzZXMgTG9iLApBbmF0b2wKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEQVVzIGRpZSB4LnRlICprbGFjayogKFp3b2NrbGh1YmVyLCAxMC4gRmViIDE5OTksIDAyOjM3OjEwKToKaHR0cDovL3d3dy5yaW5rd29ya3MuY29tL3N0dXBpZC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZmFlbmdlcmhpbGZlIChIYXRlLCAxMC4gRmViIDE5OTksIDEwOjA2OjE2KToKSGksCgpkYSBkaWUgQW5mYWVuZ2VyaGlsZmUgdWViZXJhcmJlaXRldCB3aXJkIGlzdCBkZXIgTGluayBhdWYgZGVyIE1HIFNlaXRlIGltCk1vbWVudApudXIgZWluIFBsYXR6aGFsdGVyLiBBdXNzZXJkZW0gaGFiZSBpY2ggZGllIFdlYnNlaXRlbiBmdWVyIGRpZSBLYXR6ZW5rcmllZ2VyCmF1ZiBkZXIgR2lsZGVuc2VpdGUgZWluZ2ViYXV0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipraWNoZXIqIChLZWxseWJ1bmR5LCAgMS4gTWFyIDE5OTksIDA1OjAxOjM4KToKaHR0cDovL3d3dy5kaW5nb2xmaW5nLm9yZy9tZW1iZXJzL0ZlcmlkQi9wc2kvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWcgQnJvdGhlciAoUmluZ29yLCAgNC4gTWFyIDE5OTksIDEzOjI3OjMzKToKV2VyIGdlcmFkZSBtYWwgd2llZGVyIGV0d2FzIExhbmdld2VpbGUgaGF0LCBrYW5uIGphIG1hbCBhdWYKCiAgICAgICAgICAgIGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2ZyLTAzLjAzLjk5LTAwMi8KCnZvcmJlaXNjaGF1ZW4uIAoKS29zdGV0IHNpY2hlcmxpY2gga2F1bSBtZWhyIFplaXQsIGFscyB6dW0gNDkyMS4gTWFsIGRpZSBGZXVlcmViZW5lCmF1c3p1cmFldW1lbi4gVW5kIGhpbnRlcmhlciBrYW5uIG1hbiB3ZW5pZ3N0ZW5zIGJlaGF1cHRlbiwgZGFnZWdlbiBnZXdlc2VuIHp1CnNlaW4uIDstKQoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadWt1bmZ0IHZvbiBNJC4uIChUcnVnLCAgNC4gTWFyIDE5OTksIDIyOjM2OjAzKToKaHR0cDovL3d3dy56ZG5ldC5kZS9uZXdzL2FydGlrZWwvMTk5OS8wMi8xNjAwOC13Zi5odG0KCkhtbW1tIGRpZSBadWt1bmZ0IHZvbiBNaWNyb3NvZnQgd2lyZCBpbnRlcmVzc2FudCAoVGlwOiBhdWNoIGRpZSBMaW5rcyBsZXNlbiwKaW5zYmVzb25kZXJlIGRpZSBtaXQgZGVuIFpldWdlbikgOikpCgpUcnVnLCBmaWVzIGdyaW5zZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJnaCwgd2FydW0gbnVyIChLb29taSwgMTUuIE1hciAxOTk5LCAxNzoxODowMik6CgpodHRwOi8vd3d3Lm9yZi5hdC9vcmZvbi90aWNrZXIvc3RvcnkxMjE1MzE2MjUuaHRtbGh0dHA6Ly93d3cub3JmLmF0L29yZm9uL3RpY2sKZXIvc3RvcnkxMjE1MzE2MjUuaHRtbHd3dy5vcmYuYXQvb3Jmb24vdGlja2VyL3N0b3J5MTIxNTMxNjI1Lmh0bWwKCihuaWNodHMgZnVlciBuaWNodC1rYXRob2xpa2VuKQoKSGFsYmVsZiBLb29taSBhcmdlbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb25mZXNzaW9ucyBvZiBhbiBBcmNoIFdpemFyZCAoU2hhbm5hcmEsIDI3LiBNYXIgMTk5OSwgMjM6NDQ6MjkpOgpIYWJlIGVpbiBwYWFyICduZXR0ZScgVGV4dGUgd2FlaHJlbmQgZGVzIFN0b2ViZXJucyBpbSBXV1cgZ2VmdW5kZW4sIGRpZSBnYW56CndpdHppZyBzaW5kOgoKQ29uZmVzc2lvbnMgb2YgYW4gQXJjaHdpemFyZApodHRwOi8vd3d3Lm5lb3NvZnQuY29tL2dlbmVzaXMvdHJpdmlhL2NvbmZlc3Npb25zLmh0bWx3d3cubmVvc29mdC5jb20vZ2VuZXNpcy8KdHJpdmlhL2NvbmZlc3Npb25zLmh0bWwKCkZyZXF1ZW50IEZsYW1lZCBTdHVmZiBsaXN0IDopCmh0dHA6Ly93d3cubmVvc29mdC5jb20vZ2VuZXNpcy90cml2aWEvZmxhbWUuaHRtbAoKT2gsIGRhcyBpc3QgVGVpbCBkZXMgTFBNVURzIEdlbmVzaXMuLi4uIAoKU2hhbm5hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29uZmVzc2lvbnMgb2YgYW4gQXJjaCBXaXphcmQgKFNoYW5uYXJhLCAyNy4gTWFyIDE5OTksIDIzOjQ1OjE3KToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkyMjU3NDY2OSByZz13d3cKfiMhIHRpZD05MjI1NzQ2NjkKSG0sIGRpZSBlcnN0ZSBVcmwgaXN0IG9mZmVuc2ljaHRsaWNoIGthcHV0dCA6KQoKaHR0cDovL3d3dy5uZW9zb2Z0LmNvbS9nZW5lc2lzL3RyaXZpYS9jb25mZXNzaW9ucy5odG1sCgpOYWphLCB0ZWxuZXQgZWJlbi4uLgoKU2hhbm55CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLS3JpZWdlci1HaWxkZW5zZWl0ZSB1bmQgQW5mYWVuZ2VyaGlsZmUgKFNoYW5uYXJhLCAgMi4gQXByIDE5OTksIDE2OjMyOjI2KToKSWNoIGhhYmUgZGllIEthdHplbmtyaWVnZXItR2lsZGVuc2VpdGUgdW5kIGRpZSBNb3JnZW5HcmF1ZW4gQW5mYWVuZ2VyaGlsZmUgdm9tCldXVyBlbnRmZXJudC4gCgpXYXJ1bSB1bmQgd2llc28/IERhcyBoYXQgcGVyc29lbmxpY2hlIEdydWVuZGUsIGRhIGljaCBnZXdpc3NlIFNhY2hlbiBhYnNvbHV0Cm5pY2h0IGVpbnNlaGUgdW5kIG1pciBzaW5kIGxhbmdzYW0gZGllIGdhbnplbiBCZWxlaWRpZ3VuZ2VuIHVuZCBOYWNoc3RlbGx1bmdlbgpoaWVyIGltIE1vcmdlbkdyYXVlbiBzZWl0ZW5zIGdld2lzc2VyIFBlcnNvbmVuIGxlaWQuIEJlZGFua3QgZXVjaCBiZWkgaWhuZW4uIAoKRGFzIEdhbnplIGhhdCBhYmVyIHJlaW4gZ2FyIG5pY2h0cyBtaXQgZGVtIHp1IHR1biwgd2FzIEtvb21pIHdpZGVyZmFocmVuIGlzdC4KClNoYW5uYXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtLcmllZ2VyLUdpbGRlbnNlaXRlIHVuZCBBbmZhZW5nZXJoaWxmZSAoU3RpbmcsICAyLiBBcHIgMTk5OSwgMTc6Mjg6NDkpOgp+IyEgcm49U2hhbm5hcmEgcnQ9OTIzMDYzNTQ2IHJnPXd3dwp+IyEgdGlkPTkyMzA2MzU0NgoqbGFjaCogZGFzIGlzdCBhYnNvbHV0IExBRUNIRVJMSUNIISB2b3IgYWxsZW0gZGVyIGxldHp0ZSBzYXR6Li4uCgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS0tyaWVnZXItR2lsZGVuc2VpdGUgdW5kIEFuZmFlbmdlcmhpbGZlIChaaWxsdXMsICAyLiBBcHIgMTk5OSwgMTc6MzA6NDEpOgp+IyEgcm49U3RpbmcgcnQ9OTIzMDY2OTI5IHJnPXd3dwp+IyEgdGlkPTkyMzA2MzU0NgpHZWhvZXJ0IGRvY2ggZWhlciBpbiBkaWUgUnVicmlrICJXaXR6ZSIgOy0pID8KWmlsbHVzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtLcmllZ2VyLUdpbGRlbnNlaXRlIHVuZCBBbmZhZW5nZXJoaWxmZSAoU2hhbm5hcmEsICAyLiBBcHIgMTk5OSwgMTg6MjA6MDQpOgp+IyEgcm49U3RpbmcgcnQ9OTIzMDY2OTI5IHJnPXd3dwp+IyEgdGlkPTkyMzA2MzU0NgpWaWVsbGVpY2h0IHZlcnN0ZWhzdCBkdSBuaWNodCBkaWUgSGludGVyZ3J1ZW5kZSwgYWJlciBkYXJhdXMgd2lyZCB3b2hsIHNvbnN0CndpZWRlciBudXIgbm9jaCBlaW4gZHVzc2VsaWdlciBGbGFtZXdhci4KCkxhY2ggcnVoaWcuCgogICBTaGFubmFyYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLS3JpZWdlci1HaWxkZW5zZWl0ZSB1bmQgQW5mYWVuZ2VyaGlsZmUgKEtleSwgIDIuIEFwciAxOTk5LCAyMzo1OToyNCk6Cn4jISBybj1TaGFubmFyYSBydD05MjMwNjM1NDYgcmc9d3d3Cn4jISB0aWQ9OTIzMDYzNTQ2ClR1IGRvY2ggbmV0IHNvIQpJY2ggaGFiIGRpZXNtYWwgZ2FyIG5peCBnZXNhZ3QgOikKCkphamEgaWNoIHN0cmVuZyBtaWNoIGRlbW5hZWNoc3QgbWVociBhbiA6KQoKS2V5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS0tyaWVnZXItR2lsZGVuc2VpdGUgdW5kIEFuZmFlbmdlcmhpbGZlIChBc21vZGlzLCAgMy4gQXByIDE5OTksIDAxOjUzOjIwKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkyMzA2MzU0NiByZz13d3cKfiMhIHRpZD05MjMwNjM1NDYKdHlwaXNjaCBmZWxsYnVlbmRlbCwgaW1tZXIgZ2xlaWNoIGVpbmdlc2NobmFwcHQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtLcmllZ2VyLUdpbGRlbnNlaXRlIHVuZCBBbmZhZW5nZXJoaWxmZSAoTmV2b2ssICAzLiBBcHIgMTk5OSwgMDE6NTQ6MjIpOgp+IyEgcm49QXNtb2RpcyBydD05MjMwOTcyMDAgcmc9d3d3Cn4jISB0aWQ9OTIzMDYzNTQ2CmtvbWlzY2guLi4uLi4uICd0eXBpc2NoIGZlbGxidWVuZGVsLCBpbW1lciBnbGVpY2ggZWluZ2VzY2huYXBwdCA6LSknIGlzIG5lCnVuZ3VlbHRpZ2UgVVJMLi4uLi5mYWxzY2ggZ2Vwb3N0ZWQ/CgoqZGFjaHRlIGRhc3MgaGllciB3YWVyZSBkaWUgV1dXIFJ1YnJpay4uLioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLS3JpZWdlci1HaWxkZW5zZWl0ZSB1bmQgQW5mYWVuZ2VyaGlsZmUgKFBhdHJ5biwgIDUuIEFwciAxOTk5LCAxODo0MToyNSk6Cn4jISBybj1TaGFubmFyYSBydD05MjMwNjM1NDYgcmc9d3d3Cn4jISB0aWQ9OTIzMDYzNTQ2Cmluendpc2NoZW4ga2FubiBhdWNoIGljaCBudXIgbm9jaCBzYWdlbjogbG9lc2NoIGRpY2gsIChjKSBsdWcKCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS0tyaWVnZXItR2lsZGVuc2VpdGUgdW5kIEFuZmFlbmdlcmhpbGZlIChTaGFubmFyYSwgIDYuIEFwciAxOTk5LCAxNDoxMDoxNik6Cn4jISBybj1QYXRyeW4gcnQ9OTIzMzMwNDg1IHJnPXd3dwp+IyEgdGlkPTkyMzA2MzU0NgpVbmQgaWNoIGthbm4gbnVyIGF1ZiBkZWluZSBBbnR3b3J0IHNhZ2VuOgoKIExvZXNjaCBkaWNoLCBtaXRzYW10IGRlaW5lciBaYXViZXJlcmdpbGRlLgoKQmVpZGVzIChkaWVzZSBSZWFrdGlvbikgdW5kIGRlaW5lIG5ldHRlIEFudHdvcnQgemVpZ3QgZWlnZW50bGljaCBzbyBlaW5pZ2VzClBhdHJ5bi4KClNoYW5uYXJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS0tyaWVnZXItR2lsZGVuc2VpdGUgdW5kIEFuZmFlbmdlcmhpbGZlIChIb29kLCAgNi4gQXByIDE5OTksIDE0OjU5OjMzKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTkyMzQwMDYxNiByZz13d3cKfiMhIHRpZD05MjMwNjM1NDYKamV0enQgYmluIGljaCBkb2NoIGFiZXIgbWFsIGdlc3Bhbm50LCB3YXMgZGlyIGRhcyBzbyB6ZWlndC4uLgpUSUEKCi0tLS0tLQpwYXRyeW4KClBTOiBtYWwgc2VoZW4sIG9iIGVyIG1laHIgenVzYW1tZW5iZWtvbW10LCBhbHMgZXR3YXMgcG9sZW1payArIG9lZGVzCiAgICBuYWNoZ2VwbGFwcGVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLS3JpZWdlci1HaWxkZW5zZWl0ZSB1bmQgQW5mYWVuZ2VyaGlsZmUgKEdyaW1tYm9ybiwgIDcuIEFwciAxOTk5LCAyMzoyOToxOCk6Cn4jISBybj1Ib29kIHJ0PTkyMzQwMzU3MyByZz13d3cKfiMhIHRpZD05MjMwNjM1NDYKR2FueiBlaW5mYWNoOiBIZXVsc3VzZW4gZ2Vob2VyZW4gYmVpIEJvcnVzc2lhIERvcnRtdW5kIGlucyBNaXR0ZWxmZWxkLCBuaWNodAppbnMgTUcuCgpVbmQgYW5zb25zdGVuLCBTaGFubmFyYSwga2FubnN0IER1IGthdW0gZXJ3YXJ0ZW4sIHNvd2FzIGFlaG5saWNoZXMgd2llIFJlc3Bla3QKenUgZXJudGVuLCB3ZW5uIER1IHNjaHJlaWJzdCAiaWNoIGJpbiBiZWxlaWRpZ3QsIHNhZyBhYmVyIG5pY2h0IHdpZXNvLCBlcyBoYXQKd2FzIG1pdCBpcmdlbmR3ZWxjaGVuIHBlcnNvZW5saWNoZW4gU2FuZGZvZXJtY2hlbiB6dSB0dW4iIHVuZCBkYW5uIGFuZGVyZW4Kdm9yd2lyZnN0LCBkaWUgSGludGVyZ3J1ZW5kZSBuaWNodCB6dSBrZW5uZW4uIFdlbm4gRHVzIG5pY2h0IGVyemFlaGxlbiB3aWxsc3QKKHdhcyBpY2ggaG9mZmUsIG1pY2ggaW50ZXJlc3NpZXJ0IGRhcyB6aWVtbGljaCBzaWNoZXIgbmljaHQpOiBtYWNocyBwZXIgbWFpbC4KClVuZCBhbnNvbnN0ZW46IEhldWwgZG9jaC4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS0tyaWVnZXItR2lsZGVuc2VpdGUgdW5kIEFuZmFlbmdlcmhpbGZlIChMZW5hLCAgOC4gQXByIDE5OTksIDEwOjQ2OjIzKToKfiMhIHJuPUdyaW1tYm9ybiBydD05MjM1MjA1NTggcmc9d3d3Cn4jISB0aWQ9OTIzMDYzNTQ2CkljaCB3ZWlzcyB6d2FyIG5lZCBnZW5hdSB1bSB3YXMgZXMgZ2VodCwgd2VpbDogZXMgc2FndCBqYSBuaWVtYW5kLCBhYmVyIG5lZAptYWwgaWNoIGJpbiBzbyBibG9lZCwgaGllciBuZSBwZXJzb2VubGljaGUgRGlza3Vzc2lvbiBpbiBkZXIgTVBBIHp1IGZ1ZWhyZW4uCkhvZWNoc3RlbnMgYXVzIFNwYXNzIG1pdCBMdWcuIDspCkFiZXIgZGFzIHdhZXJlIHdvaGwgYXVmIERhdWVyIGF1Y2ggbmljaHQgc3Bhc3NpZywgb2Rlcj8KCkxlbmEgZnJhZWd0IHNpY2ggbGFuZ3NhbSwgb2IgaXJnZW5kd2VsY2hlIExldXRlIGhpZXIgbWFsIG5lIFJMLUZyZXVuZGluCmJyYWV1Y2h0ZW4sIHVtIHNpY2ggYXVzenVoZXVsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyB2b24gTWlja3lzb2Z0IChOZXZvaywgIDguIEFwciAxOTk5LCAxNjo1OTozMyk6CkhtcGYgdW5kIGRhIGRhY2h0ZSBtYW4gZGFzIHdhZXJlIGVpbiBBcHJpbHNjaGVyegoKaHR0cDovL3d3dy5uZXdzLmNvbS9OZXdzL0l0ZW0vMCw0LDM0NzM2LDAwLmh0bWw/c2FzLm1haWwKClNjaG9lbmUgTmV1ZSBDb21wdXRlcndlbHQuLi4KCnNjaG9lbmVzIFdvY2hlbmVuZGUKCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLS3JpZWdlci1HaWxkZW5zZWl0ZSB1bmQgQW5mYWVuZ2VyaGlsZmUgKEtleSwgIDkuIEFwciAxOTk5LCAwMTowMzo1NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTIzNTIwNTU4IHJnPXd3dwp+IyEgdGlkPTkyMzA2MzU0NgpNaWNoIGludGVyZXNzaWVydHMhIFVuZCBlcyBzb2xsIGluIGRlciBaZWl0dW5nIHN0ZWhlbiA6KQoKSmVkZXIgaGF0IG5lbiBSZWNodCBhdWYgTGFjaGVuIDopCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3aWVkZXIgd2FzIHVtIGRlbiBsZWlkaWdlbiBLcmllZyAoU2hhbm5hcmEsIDEwLiBBcHIgMTk5OSwgMDA6NDg6NDUpOgpodHRwOi8vZGVyc3RhbmRhcmQuYXQvYWt0dWVsbC9zZWl0ZTFfYXJ0aWNsZS5hc3A/MjQ0MDAKCkRhcmluIGdlaHQgZXMgdW0gZWluZW4gQmVpdHJpdHRzYW5zdWNoZW4gSnVnb3NsYXdpZW5zIGluIGRpZQpSdXNzaXNjaC1XZWlzc3J1c3Npc2NoZSBVbmlvbiA6PgoKKHZlcnJ1ZWNrdCkKClNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIHdpZWRlciB3YXMgdW0gZGVuIGxlaWRpZ2VuIEtyaWVnIChBbHBoYSwgMTAuIEFwciAxOTk5LCAwMzo0NzozNyk6Cn4jISBybj1TaGFubmFyYSBydD05MjM2OTgxMjUgcmc9d3d3Cn4jISB0aWQ9OTIzNjk4MTI1Ck5hIGRpZSBzcGlubmVuIGRvY2ggZWggYWxsZSwgYWJlciBzb2xsZW4gc2llIGRvY2ggUnVzc2xhbmQgYmVpdHJldGVuLCBhYmVyIGRlcgpLb3Nvdm8gZ2Vob2VydCBqYSBlaCBuaWNodCBtZWhyIHp1IEp1Z29zbGF3aWVuLiBBYmVyIHdhcyBwYXNzaWVydCBkZW5uIHdlbm4KUnVzc2xhbmQgZWluIE5hdG9wcm90ZWtvcmlhdCBhbmdyZWlmdD8gRnJhZ2VuIHVlYmVyIEZyYWdlbiBzbyBzcGFldCBpbm5lcgpOYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFsIHdpZWRlciB3YXMgdW0gZGVuIGxlaWRpZ2VuIEtyaWVnIChHcmltbWJvcm4sIDEyLiBBcHIgMTk5OSwgMDE6MTM6MDIpOgp+IyEgcm49QWxwaGEgcnQ9OTIzNzA4ODU3IHJnPXd3dwp+IyEgdGlkPTkyMzY5ODEyNQpEYXMgaXN0IGtlaW5lIEZyYWdlLiBEYXMgaXN0IGRlciBOYXRvLVZlcnRlaWRpZ3VuZ3NmYWxsLiBEYSBzaW5kIGRpZQpOYXRvdmVydHJhZWdlIHdvaGwgemllbWxpY2ggZWluZGV1dGlnIHVuZCB6aWVtbGljaCB1bmZsZXhpYmVsOiBXZW5uIE5hdG9nZWJpZXQKYW5nZWdyaWZmZW4gd2lyZCBsb2VzdCBkYXMgYmVpIGFsbGVuIE1pdGdsaWVkZXJuIHp3YW5nc2xhZXVmaWcgZWluICJ3aWV2aWVsZQpUcnVwcGVuIGhhc3QgRHU/IC0gU2NoaWNrZSBbQW50d29ydCBhdWYgRnJhZ2UgMV0gZGFoaW4iIGF1cy4gQWxsZXMgbm9jaCBFcmJlCmF1cyBkZW0gS2FsdGVuIEtyaWVnLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcmJ1bmcgKFRydWcsIDE1LiBBcHIgMTk5OSwgMTM6MDI6MjYpOgpUamEsIGRpZSBXZXJidW5nIGluIFNwaWVsZW4gd2lyZCB3b2hsIGJhbGQgUmVhbGl0YWV0Li4uIDooCgpWaWVsbGVpY2h0IGJlaSBRdWFrZTogRGllc2VyIExldmVsIHd1cmRlIGlobmVuIHZvbiBkZXIgTmF0aW9uYWwgUmlmbGUKQXNzb2NpYXRpb24gZ2VzcG9uc2VydCA6KQoKaHR0cDovL2RlcnN0YW5kYXJkLmF0L2FrdHVlbGwvd2ViX2FydGljbGUuYXNwPzI0NzYwCgpUcnVnLiBTcGllbHQgc28gb2RlciBzbyBudXIgYWx0ZSBTcGllbGUsIGRpZSBzaW5kIGJlc3Nlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXJidW5nIChBc21vZGlzLCAxNS4gQXByIDE5OTksIDIzOjExOjA0KToKfiMhIHJuPVRydWcgcnQ9OTI0MTc0MTQ2IHJnPXd3dwp+IyEgdGlkPTkyNDE3NDE0NgpTb2xhbmdlIGVzIG5pY2h0IHp1IGF1ZmRyaW5nbGljaCBvZGVyIHN0b2VyZW5kIGlzdCB1bmQgZGllIFNwaWVsZSBiaWxsaWdlcgptYWNodCwgaXNzZXMgaW4gb3JkbnVuZyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VyYnVuZyAoSmlkZHUsIDE2LiBBcHIgMTk5OSwgMDI6NDc6MDApOgp+IyEgcm49QXNtb2RpcyBydD05MjQyMTA2NjQgcmc9d3d3Cn4jISB0aWQ9OTI0MTc0MTQ2Ck11ZXNzZW4gc2llIGphIHdvaGwgbGFuZ3NhbSBtYWNoZW4uIEluIEQtTGFuZCBsaWVndCBkaWUgU2Nod2Fyei1icmVubi1yYXRlCihpaHIgd2lzc3Qgc2Nob24pIGJlaSAzMCUgb2RlciBzb3dhcywgd2VubiBkYXMgc28gd2VpdGVyZ2VodCBnaWJ0IGVzIGJhbGQKa2VpbmUgbWVociwgd2VpbCBlcyBzaWNoIGZ1ZXIgZGllIEZpcm1lbiBuaWNodCBtZWhyIGxvaG50Li4gCkluIFVTQSBpc3Qgc2llIHVlYnJpZ2VucyBhbmdlYmxpY2ggbnVyIGJlaSAxJSwgZGEgc2luZCBkaWUgU3BpZWxlIGFiZXIgYXVjaApiaWxsaWdlci4uCkppZGR1LCB3aXJmdCBtaXQgSW5mb3JtYXRpb25lbiBhdXMgeC10ZXIgSGFuZCB1bSBzaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VyYnVuZyAoTmV2b2ssIDE2LiBBcHIgMTk5OSwgMDM6MjU6NTQpOgp+IyEgcm49SmlkZHUgcnQ9OTI0MjIzNjIwIHJnPXd3dwp+IyEgdGlkPTkyNDE3NDE0NgpiaWxsaWdlcmUgU3BpZWxlPyBEYXMgd2FlcmUgbWlyIGdsYXViIGljaCBhdWZnZWZhbGxlbi4uLgplaW4gYW4gZGVyIFF1ZWxsZSBzaXR6ZW5kZXIKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphYWEgZGFzIEdlaGVpbW5pcyBpc3QgZ2VsdWVmdGV0ISAoQXBzdSwgMTguIEFwciAxOTk5LCAwNDozMToyOSk6Cmh0dHA6Ly93d3cuZ2FtZXByb2cuY29tL2h1bW9yMS5odG0KCkFwc3UgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlcmJ1bmcgKEtleSwgMTguIEFwciAxOTk5LCAyMTo1OToyNik6Cn4jISBybj1KaWRkdSBydD05MjQyMjM2MjAgcmc9d3d3Cn4jISB0aWQ9OTI0MTc0MTQ2CjElIGluIGRlbiBVc2E/IDopCgoqa2ljaGVyKiBIYXQgZGVyIFdlaWhuYWNodHNtYW5uIE1hZXJjaGVuIGVyemFlaGx0PyBBbHNvIGljaCBnbGF1YiBkYSBuZXQgZHJhbiwKbmFjaGRlbSB3YXMgaWNoIHNvIGFtIFJhbmRlIG1pdGJla29tbWUgOykKCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VubidzIG1hbCB3aWVkZXIgbGFlbmdlciBkYXVlcnQuLi4gKE5ldm9rLCAyMC4gQXByIDE5OTksIDE5OjI3OjQ3KToKaHR0cDovL3d3dy5sZW8ub3JnL2Z1bi9mdW5nZXIuaHRtbAoKYW5nZW5laG1lcyBkdXJjaGtsaWNrZW4uLi4KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplbmRsaWNoIGVpbmVyLi4uIDopIChKYXNwZXIsIDIxLiBBcHIgMTk5OSwgMTY6MjQ6MjkpOgpodHRwOi8vd3d3LmloYXRlc3RhcndhcnMuY29tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbmZhZW5nZXJzZWl0ZW4sIEthdHplbmtyaWVnZXIgKFNoYW5uYXJhLCAyNC4gQXByIDE5OTksIDEyOjU0OjU2KToKSGFsbG8sCmljaCBoYWIgbWljaCBkb2NoIGVudHNjaGxvc3NlbiwgZGFzcyBpY2ggd2llZGVyIGRpZSBBbmZhZW5nZXJzZWl0ZW4KenVydWVja3NwaWVsZSwgZGllIGFtIGFsdGVuIE9ydAooaHR0cDovL21lbWJlcnMubWFnbmV0LmF0L3B1bGFza2kvbWcvYWZoL2luZGV4Lmh0bWwpIGVycmVpY2hiYXIgc2luZC4gCkRpZSBHaWxkZW5zZWl0ZSBpc3QgYXVjaCB3aWVkZXIgdW50ZXIgLi4uL21nL2trcmllZ2VyL2luZGV4Lmh0bWwgbGVzYmFyLgoKQWx0ZXJuYXRpdiBmdWVocmVuIGRpZSBlbnRzcHJlY2hlbmRlbiBMaW5rcyB2b24gZGVyIE1HLUhvbWVwYWdlIGF1cyB3aWVkZXIgenUKaWhyZW4gYmVzdGltbXRlbiBPcnQgdW5kIG5pY2h0IG1laHIgaW5zIExlZXJlLgoKU2hhbm5hcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmZhZW5nZXJzZWl0ZW4sIEthdHplbmtyaWVnZXIgKEFzbW9kaXMsIDI0LiBBcHIgMTk5OSwgMTU6MDU6MjkpOgp+IyEgcm49U2hhbm5hcmEgcnQ9OTI0OTUxMjk2IHJnPXd3dwp+IyEgdGlkPTkyNDk1MTI5NgpBaGEsIHdhbm4gbGFlc3N0IGR1IGRpY2ggcmVzdGF1cmllcmVuID8gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmcmlzY2hlcmUgTVMtam9rZXMgKEFwc3UsICA4LiBNYWkgMTk5OSwgMDM6MTk6MDQpOgoKaHR0cDovL3ByaXZhdC5zY2hsdW5kLmRlL3Ivcm9zZS93aXR6ZS9pbmRleC5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipzY2hlbmtlbGtsb3BmKiAoQXBzdSwgMjQuIE1haSAxOTk5LCAwMzowMzozMCk6CgpTY2hhdXQgRXVjaCBtYWwgZGllIEltYU5ld2JpZSBUb29ucyBhbiBhdWY6CgpodHRwOi8vd3d3LmltYW5ld2JpZS5jb20vZnJhbWVpZHguaHRtbAoKQXVjaCBhbHMgbmljaHQtVWx0aW1hLVNwaWVsZXIgenVtIFNjaGllc3NlbiA6KSkKCkFwc3UsIERhdW1lbiBob2NoaGFsdGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVpc3NlcyBFaXMhOykgKEFwc3UsIDI0LiBNYWkgMTk5OSwgMDM6MDQ6MTApOgp+IyEgcm49V29vZHkgcnQ9OTI3NTA3MTUzIHJnPXNjaG1hcnJuCn4jISB0aWQ9OTI3NTA1NzUwCmFscyA9IGZ1ZXIKCipncnVtbWVsIGVpbmVuIGVkaXRvciBhbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFyYnVyZ2VyIEJpbGRlciAoSGF0ZSwgMTcuIEp1biAxOTk5LCAxMTowNTozMCk6Cn4jISBybj1IYXRlIHJ0PTkyOTUzNzkyOSByZz13d3cKfiMhIHRpZD05Mjk1Mzc3OTEKVmllbGVpY2h0IG5vY2ggbWFsIGFscyBFcmlubmVydW5nOiBVbSBkYXMgYWJsZWdlbiBkZXIgQmlsZGVyIGF1ZiBkZW0gTUcKU2VydmVyIHp1IHZlcmVpbmZhY2hlbiB1bmQgRXVjaCBhdWNoIGV0d2FzIGFyYmVpdCB6dSBlcnNwYXJlbiBzb2xsdGV0CmlociBlaW5lIERhdGVpIElOREVYIGVyemV1Z2VuIGluIGRlciBpbiBlaW5lciBaZWlsZSBqZXdlaWxzIGRlciBEYXRlaW5hbWUKZGVzIEJpbGRlcyBzdGVodCwgZGFubiBlaW4gVGFidWxhdG9yIHVuZCBkYW5uIGluIGRlcmdsZWljaGVuIFplaWxlIGRlcgpCZXNjaHJlaWJ1bmdzdGV4dC4gRGFubiBnZWh0IGRhcyBtaXQgZGVtIEhUTUwgZXJ6ZXVnZW4gbmFlbWxpY2ggcnVja3p1Y2sKcGVyIHNjcmlwdC4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNYXJidXJnZXIgQmlsZGVyIChTaGFyaWEsIDE3LiBKdW4gMTk5OSwgMTI6NTU6MzEpOgp+IyEgcm49SGF0ZSBydD05Mjk2MTAzMzAgcmc9d3d3Cn4jISB0aWQ9OTI5NTM3NzkxCnNjcmlwdGVuIGlzdCBkb2NoIHZlcmJvdGVuICEhISEKClNoYXJpYSwgZW50cnVlc3RldCB1ZWJlciBkaWUgRXJ6aWVzICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvbXB1dGVyIFNleCAmIERyb2dlbiAoT3JpZ2luYWx0aXRlbCkgKFNhbXRwZm90ZSwgMTcuIEp1biAxOTk5LCAxMzozNzozNyk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2VtLTE3LjA2Ljk5LTAwMC8KCkJpbGwgR2F0ZXMgdW5kIFN0ZXZlIEpvYnMgYWxzIEZpbG0gKmFyZ2wqIDopCgpTYW10cGZvdGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmNoZXNzIChHbm9tZSwgMjIuIEp1biAxOTk5LCAyMjoyNTozOCk6CndlciBzaWNoIGZ1ZXIgc2NoYWNoIGludGVyZXNzaWVydCwgc29sbHRlIHZpZWxsZWljaHQgbWFsIGF1ZgpodHRwOi8vd3d3LnpvbmUuY29tL2thc3Bhcm92L2pvaW4uYXNwCnZvcmJlaXNjaGF1ZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VoZW5zd2VydCA7KSkpIChOZWIsIDMwLiBKdW4gMTk5OSwgMTA6MjQ6NTcpOgpIaSwgaGllciBkaWUgbWl0IEFic3RhbmQgZ2VzY2htYWNrdm9sbHN0ZSwgaW5mb3JtYXRpdnN0ZSB1bmQKc2Nob2Vuc3RlO0hvbWVwYWdlLCBkaWUgaWNoIGplIGdlc2VoZW4gaGFiZToKCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvS2FybC5Gcml0c2NoLwoKTmViLCB3aW1tZXJ0IG51ciBub2NoLCB3ZWlsIGlobSBkZXIgQmF1Y2ggdm9yIExhY2hlbiBzbyB3ZWggdHV0LgoKUC5TLjogU2V0enQgRXVjaCB2b3IgZGVtIExlc2VuIGRpZXNlciBTZWl0ZSBuZSBTb25uZW5icmlsbGUgYXVmIDspKSkKClAuUC5TLjogQmVzb25kZXJzIHp1IGVtcGZlaGxlbiBzaW5kIGRpZSBVcmxhdWJzYmVyaWNodGUgdW5kIGRhcyBHYWVzdGVidWNoIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZW5zd2VydCA7KSkpIChCYWJvb24sIDMwLiBKdW4gMTk5OSwgMTA6NDg6MzMpOgp+IyEgcm49TmViIHJ0PTkzMDczMTA5NyByZz13d3cKfiMhIHRpZD05MzA3MzEwOTcKRHUgaGFldHRlc3QgYWJlciBkZXV0bGljaGVyIHdhcm5lbiBzb2xsZW46IE5pbnRlbmRvLWtpZHMKbWl0IGRlciBOZWlndW5nIHp1IGVwaWxlcHRpc2NoZW4gQW5mYWVsbGVuIG11ZXNzZW4gc2ljaAp2b24gZGllc2VyIFNlaXRlIHVuYmVkaW5ndCBmZXJuaGFsdGVuLgpXdXNzdGUgZ2FybmljaHQsIGRhc3MgZnVlciBIVE1MIG5lYmVuIGRlbSBCTElOSyBhdWNoIG5vY2gKZWluIEZMSUNLRVItVGFnIGV4aXN0aWVydC4KQW5zb25zdGVuIGlzdCBkaWUgU2VpdGUgd2lya2xpY2gga2xhc3NlLiBVbmQgZGFuawpVZWJlcnNldHp1bmcgcGVyIGFsdGFWaXN0YSBmdWVyIEVuZ2xhZW5kZXIgc2ljaGVyCmRvcHBlbHQgc28gbHVzdGlnLgoKPEJMSU5LPkJhQk9PbigpPFxCTElOSz4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VoZW5zd2VydCA7KSkpIChCaWVsZWZlbGQsIDMwLiBKdW4gMTk5OSwgMTE6MTg6MjUpOgp+IyEgcm49QmFib29uIHJ0PTkzMDczMjUxMyByZz13d3cKfiMhIHRpZD05MzA3MzEwOTcKT2phLCBzZWhyIGtsYXNzZS4uLndlciBub2NoIG1laHIgc29sY2hlciB0b2xsZW4gU2VpdGVuIHNlaGVuIHdpbGwsCnNvbGx0ZSBtYWwgbmVuIEJsaWNrIGF1ZiB3d3cud2FybWR1c2NoZXIuZGUgd2VyZmVuIAooU3RpY2h3b3J0ICdXYXJtZHVzY2hlciBkZXIgV29jaGUnKS4KCi1CaWVsZWZlbGQKKHdlaXNzIG5pY2h0IHNvIHJlY2h0LCBvYiBlciBsYWNoZW4gb2RlciB3ZWluZW4gc29sbC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWhlbnN3ZXJ0IDspKSkgKExlaWJuaXosIDMwLiBKdW4gMTk5OSwgMTc6NDc6NTIpOgp+IyEgcm49TmViIHJ0PTkzMDczMTA5NyByZz13d3cKfiMhIHRpZD05MzA3MzEwOTcKIHppdGF0OgoKQXVlcmRlbSBiaW4gaWNoIGltIEJlc2l0eiB2b24gNTM2IFNjaHJpZnRhcnRlbiwKZGF2b24gd2VyZGVuIDI2IGluIG1laW5lciBIb21lcGFnZSBnZW51dHp0IQoKCipraWNoZXIqCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZWhlbnN3ZXJ0IDspKSkgKEFwc3UsIDMwLiBKdW4gMTk5OSwgMTk6MzU6MDYpOgp+IyEgcm49TGVpYm5peiBydD05MzA3NTc2NzIgcmc9d3d3Cn4jISB0aWQ9OTMwNzMxMDk3CkFwc3UsIGVpbnplaWxlcm5kIG1pdCBkZW0gJ05pZWRlciBtaXQgYW5pbWllcnRlbiBHSUZzISctRmFlaG5jaGVuIHdlZGVsbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWhlbnN3ZXJ0IDspKSkgKFN0aW5nLCAzMC4gSnVuIDE5OTksIDE5OjM1OjM0KToKfiMhIHJuPUFwc3UgcnQ9OTMwNzY0MTA2IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpBbmltaWVydGUgR0lGcyBrb2VubmVuIHNjaG9lbiBzZWluLgoKU3RpbmcsIEZhbiB2b24gd3d3Lndhcm1kdXNjaGVyLmRlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTZWhlbnN3ZXJ0IDspKSkgKEFwc3UsIDMwLiBKdW4gMTk5OSwgMTk6MzY6NDgpOgp+IyEgcm49U3RpbmcgcnQ9OTMwNzY0MTM0IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpOYWphIGFiZXIgYXVzZ2V3b2dlbiBzb2xsdGUgZXMgc2Nob24gc2Vpbi4gR2lidHMgaXJjaGVuZHdvIG5lIFNhbW1sdW5nIGRlcgphZXR6ZW5kc3RlbiBIb21lcGFnZXM/IERpZSB2b24gRnJpdHNjaCBpc3QgR29sZGFud2FlcnRlciA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VoZW5zd2VydCA7KSkpIChTb25nb2t1LCAzMC4gSnVuIDE5OTksIDE5OjM3OjA2KToKfiMhIHJuPUFwc3UgcnQ9OTMwNzY0MTA2IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpTb25Hb2t1IG1pdCBkZW0gIk1laHIgQW5pbWllcnRlIEJhbm5lciItRmFlaG5jaGVuIHdlZGVsbmQhCgpTYXlvdW5hcmEhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VoZW5zd2VydCA7KSkpIChNYWdlbmJyb3QsIDMwLiBKdW4gMTk5OSwgMjI6MDg6MzgpOgp+IyEgcm49UHJhIHJ0PTkzMDc1MDI0MiByZz13d3cKfiMhIHRpZD05MzA3MzEwOTcKCmljaCBicmVjaCBhYi4uLgpkYXMgaXN0IGRvY2ggbmljaHQgZXJuc3RnZW1laW50LCBvZGVyPwpLYXJsIEZyaXRzY2ggc29sbHRlIHdpcmtsaWNoIG5lbgp1bHRyYS1zdXBlci1ibGluay1hbGxlcy1kZW4tc3VyZmVyLWVyc2NobGFnLUF3YXJkIGJla29tbWVuISEKCk1hZ2VuYnJvdCAqd2FlbHoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VoZW5zd2VydCA7KSkpIChHYXN0NSwgMzAuIEp1biAxOTk5LCAyMzoxOTowNyk6Cn4jISBybj1OZWIgcnQ9OTMwNzMxMDk3IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpPZWhtIC4uLiAKCkNoYXQtVGltZSB0YWVnbGljaCB2b24gMTc6MDAgLSAxNzowNSwgdm9uIDE4OjAwIC0gMTg6MDUsIHZvbiAxOTowMCAtIDE5OjA1IHVuZAp2b24gMjA6MDAgLSAyMDowNSA/Pz8KV2FocnNjaGVpbmxpY2ggaGFiJyBpY2ggZGFzIG5pY2h0IHJpY2h0aWcgdmVyc3RhbmRlbi4gOy0pCgpBYmVyIG1hbiBrYW5uIGF1Y2ggRnJlaXRhZ3Mgdm9uIDIwOjAwIC0gMjE6MDAgVWhyIGluIGRlciBIYXVwdC1DaGF0LVRpbWUgbWl0CktBUkwgRlJJVFNDSCBwZXJzb2VubGljaCBjaGF0dGVuLiA7LSkgVmllbGxlaWNodCB3YWVyZSBkYXMgbWFsIGVpbmVuIFZlcnN1Y2gKd2VydD8gKmcqCgpBY2gsIGphIHVuZCBkZW5rdCBkcmFuLCBkYXNzIGVyIG51ciBFaW50cmFlZ2UgbWl0ICdub3JtYWxlbScgSW5oYWx0IGluIHNlaW5lbQpHYWVzdGVidWNoIHN0ZWhlbiBsYWVzc3QuIEFuZGVyZSBJbmhhbHRlIHdlcmRlbiBzb2ZvcnQgZ2Vsb2VzY2h0LiAqZyoKRGEgZnJhZ2UgaWNoIG1pY2ggZGFubiBhbGxlcmRpbmdzLCB3YXJ1bSBkaWVzZSBIb21lcGFnZSBub2NoIGV4aXN0aWVydCAuLi4KCiAgICAoRXgtKUxpYXJhLCBrdWdlbHQgc2ljaCBkYW5rIE5lYiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNlaGVuc3dlcnQgOykpKSAoQ2F0d2VhemxlLCAgMS4gSnVsIDE5OTksIDEwOjQ0OjM4KToKfiMhIHJuPUFwc3UgcnQ9OTMwNzY0MjA4IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpodHRwOi8vbXVlbGxzZWl0ZS5kZQoKS3VyeiBhYmVyIHJpY2h0aWcsCiAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpcmQgQWwgWWFua292aWNoIG1lZXRzIFN0YXIgV2FycyBFcGlzb2RlIEkgKE5ldm9rLCAgMS4gSnVsIDE5OTksIDExOjI4OjE3KToKCgplaW5lIGV0d2FzIGFuZGVyZSBWZXJzaW9uLi4uc2VoZW5zd2VydCA7KQoKCmh0dHA6Ly93d3cuc2FnYWJlZ2lucy5jb20vCgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXIgV2FycyBJIChHcmltbWJvcm4sICAxLiBKdWwgMTk5OSwgMTM6NTY6NTQpOgp+IyEgb249Q2F0d2VhemxlIG90PTkzMDc0NDg1NSBvZz1hbGxnZW1laW5lcwpXZXIgc2Nob24gaW1tZXIgbWFsIFByaW56ZXNzaW4gTGVpYSBtaXQgS2xhbW1lcmFmZmVuIHN0YXR0IG1pdCAgU2NobmVja2VuLQp0ZWlsY2hlbiBhbiBkZW4gT2hyZW4gc2VoZW4gd29sbHRlLCBkZW0gZW1wZmVobGUgaWNoIAoJaHR0cDovL3d3dy5hc2NpaW1hdGlvbi5jby5uegoKSXN0IHp3YXIgbmljaHQgdm9sbHN0YWVuZGlnLCBhYmVyIF9zZWhyXyBjb29sIGdlbWFjaHQuCgpZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgbmV0dGUgdXJsIDopIChHcmltbWJvcm4sICAxLiBKdWwgMTk5OSwgMTQ6MTI6MTYpOgp+IyEgb249VW5hc2FpIG90PTkzMDc2NDA5OCBvZz13aXR6ZQpoaWVyIGlzdCBtYWwgZGllIEFkZHkgdm9ibiBkZXIgU2VpdGUsIHZvbiBkZXIgaWNoIGRlbiB2b3JoZXJpZ2VuICJXaXR6IiBoYWJlCjopIHNjaGF1dCBoYWx0IG1hbCByZWluIHdlbm5zIGV1Y2ggaW50ZXJlc3NpZXJ0IDopCgpodHRwOi8vd3d3LmF0bGFudGlzb25saW5lLmNoLwoKVW5hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKamFyamFyYmlua3MgKEdyaW1tYm9ybiwgIDEuIEp1bCAxOTk5LCAyMzozMToyMyk6Cn4jISBvbj1KYXNwZXIgb3Q9OTMwODQ0OTgxIG9nPXdpdHplCmh0dHA6Ly93d3cubGFuZG92ZXJiYXB0aXN0Lm9yZy9uZXdzMDg5OS9qYXIuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlaGVuc3dlcnQgOykpKSAoRnJpdHNjaCwgIDIuIEp1bCAxOTk5LCAwMDoyNTo1NCk6Cn4jISBybj1OZWIgcnQ9OTMwNzMxMDk3IHJnPXd3dwp+IyEgdGlkPTkzMDczMTA5NwpHdXRlbiBUYWchCgpJY2ggaGFiZSB2b3Iga3VyemVuIGVpbmVuIG5ldWVuIEZyZXVuZCBrZW5uZW5sZXJudC4gRGVyIGhhdCBhdWNoIHNvIGVpbmUgdG9sbGUKSG9tZXBhZ2Ugd2llIGRpZSBtZWluZSwgbmFlbWxpY2ggaHR0cDovL2hvbWUuay10b3duLmRlL35ibG9lZG93LyAuIElzdCBlcgpuaWNodCBlaW4gbGllYmVyIGtlcmw/IEVyIGhhdCBkaWVzZSBTZWl0ZSBnYW56IG1pciBnZXdpZG1ldC4KCkthcmwgRnJpdHNjaAoKUFM6IERpZXNlciBUZXh0IGlzdCBDb3B5cmlnaHQgS2FybCBGcml0c2NoIChmYWxscyBkYXMgQ29weXJpZ2h0IGtlaW5lbiBhbmRlcmVuCmdlaG9lcnQpIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciB1bnNlcmUgV2luZG93cydhbmhhZW5nZXInIChUcnVnLCAgNC4gSnVsIDE5OTksIDIyOjE1OjE3KToKaHR0cDovL2hvbWUucGxhbmV0aW50ZXJuZXQuYmUvfmhvbmNoby9idWcvCgpEYXMgTGViZW4gaXN0IHNjaG9uIGJ1Z2d5Li4uLiA6KQoKVHJ1Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpZWwgU3Bhc3MgOikgKFRydWcsICA1LiBKdWwgMTk5OSwgMTQ6MDQ6MTEpOgpodHRwOi8vd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvc3BlY2lhbC9rbG9uLzY0MjEvMS5odG1sCgpEaWUgWnVrdW5mdCBrb21tdCB3b2hsIGluIFJpZXNlbnNjaHJpdHRlbiBhdWYgdW5zIHp1LgoKc2V1ZnosIApUcnVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJUCBUcmFmZmljIChIYXRlLCAxMi4gSnVsIDE5OTksIDEzOjE1OjQ4KToKRnVlciBkaWUsIGRpZXMgSW50ZXJlc3NpZXJ0OiAKCmh0dHA6Ly93d3cubWcubXVkLmRlL3N0YXQvaXAvCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2l6YXJkcyBvZiBPUyAoR3JpbW1ib3JuLCAxMy4gSnVsIDE5OTksIDEzOjIxOjMyKToKfiMhIG9uPVhlbm9uIG90PTkzMTg2MzIzOSBvZz1hbGxnZW1laW5lcwpXZXIgc2ljaCBtYWwgbmljaHQgbnVyIG1pdCB2aS12ZXJzdXMtZW1hY3MtdGhyZWFkcyBiZXNjaGFlZnRpZ2VuIHdpbGwsIG1hZwp2aWVsZWljaHQgZm9sZ2VuZGUgVmVyYW5zdGFsdHVuZyBpbnRlcmVzc2llcmVuCgpodHRwOi8vd3d3Lm1pa3JvLm9yZy9FdmVudHMvT1MvCgpYZW5vbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIG1hbCBkaWUgZW5nbGlzY2hlIFZhcmlhbnRlIHNwaWVsZW4gd2lsbCAoVHJ1ZywgMTMuIEp1bCAxOTk5LCAxNTo1MDo1OSk6CldlciBtYWwgZGllIGVuZ2xpc2NoZSBWYXJpYW50ZSB2b24gJ0JlZnJlaWUgZGVuIEZyaWVkaG9mJyBzcGllbGVuIG1vZWNodGUgYnp3CnNpY2ggYW50dW4gd2lsbCAqZyosIGthbm4gc2ljaCBtYWwgaW0gTmFubnlNVUQgKHRlbG5ldCBtdWQubHlzYXRvci5saXUuc2UKMjAwMCkgc2ljaCBlaW5sb2dnZW4uCgpEaWUgQmVzY2hyZWlidW5nIHp1ciBRdWVzdCBnaWJ0cyB1bnRlcgpodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL25hbm55L3F1ZXN0cy9rcnova3J6Lmh0bWwuCgpUcnVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIG1hbCBkaWUgZW5nbGlzY2hlIFZhcmlhbnRlIHNwaWVsZW4gd2lsbCAoSG9ibywgMTMuIEp1bCAxOTk5LCAxNjo0MTo1MCk6Cn4jISBybj1UcnVnIHJ0PTkzMTg3Mzg1OSByZz13d3cKfiMhIHRpZD05MzE4NzM4NTkKQXVzc2VyZGVtIGdpYnQgZXMgZWluZSB3ZWl0ZXJlIGVuZ2xpc2NoZSAnVmFyaWFudGUnIGluIFRhcHBNdWQuCkFsbGVyZGluZ3MgaXN0IGRhcyB3ZW5pZ2VyIFF1ZXN0IHVuZCBtZWhyIE1ldHplbG4gOikKCiAgSG9ibyAtIGtlbm50IGRpZSBWZXJicmVjaGVuIGlocmVzIE1hbm5lcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FybCBGcml0c2NoIG1hbCB3aWVkZXIuLi4gKEdyaW1tYm9ybiwgMTUuIEp1bCAxOTk5LCAyMzowMTo0Nik6Cn4jISBvbj1OZXZvayBvdD05MzE4OTg4Mzcgb2c9c2NobWFycm4KT2ssIG51biBpcyBhYmVyIGd1dC4uLi5lciBoYXQgc2VpbmUgUGFnZSB1ZWJlcmFyYmVpdGV0Li4uLi4uc28gaXMgZWluIHZvcndvcnQKbmFjaCBkZXIgc3RhcnRwYWdlIHp3aXNjaGVuZ2VzY2hhbHRldC4uLi4udW5kIGVyIHdpZG1ldCBzaWNoIHNlaW5lbiBmYW5zLi4uLi4uCm5vY2ggbWFsIHp1ciBlcmlubmVydW5nCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvS2FybC5Gcml0c2NoLwoKdW0genVtIHN0YXJ0IHp1IGtvbW1lbgoKRGllIGZhbnBhZ2UgbWl0IGZhbmZvdG9zLCBmYW4gdC1zaGlydHMgdW5kIGZhbi10cmVmZiAKCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvS2FybC5Gcml0c2NoL2ZhbnBhZ2UuaHRtCgppY2gga2FubiBuaWNodCBtZWhyLi4uLi4KCk5ldm9rIGRlciB3b2hsIGRlbW5hZWNoc3QgbWl0IG5lbSBMZWJlcnJpc3MgYXVmZ3J1bmQgZGVzIHZpZWxlbiBsYWNoZW5zCmVpbmdlbGllZmVydCB3ZXJkZW4gbXVzcwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsZWluZSBLb250ZXh0YWVuZGVydW5nIC4uLiAoSGF0ZSwgMTYuIEp1bCAxOTk5LCAwOTo1MDoxNSk6CkRlciBXV1cgU2VydmVyIGlzdCBqZXR6dCB3aWVkZXIgYXVmIGh0dHA6Ly9tZy5tdWQuZGUvCmh0dHA6Ly93d3cubWcubXVkLmRlLyBnZWh0IGltbWVyIG5vY2ggd2lyZCBhYmVyIHBlcm1hbmVudCBhdWYKZGllIGFuZGVyZSBBZHJlc3NlIHVtZ2VsZWl0ZXQuIERhbWl0IHNpbmQgd2lyIGVpZ2VudGxpY2ggZGVtCk5ldHpzdGFuZGFyZCB3aWVkZXIgZWluIFN0dWVjayBuYWVoZXIgOi0pIEF1c3NlcmRlbSBuZXJ2dCBkYXMgd3d3LgppbW1lciBlaW50aXBwZW4genUgbXVlc3Nlbi4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2FybCBGcml0c2NoIG1hbCB3aWVkZXIuLi4gKFByYSwgMTYuIEp1bCAxOTk5LCAxMjozMToxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTMyMDcyNTA2IHJnPXd3dwp+IyEgdGlkPTkzMjA3MjUwNgpLYXJsIEZyaXRzY2ggZnVlciBpbWVyISAKCkVpbiBLbGFpbm9kaWUgYXVzIHNhaW5lciBSYWljaGhhbHRpZ2UgU2FtbHVuZzoKRGFzIHNlbGJzdGFubmltaWVydGUgR2lmIHp1IFZpc2l0ZW5rYXJ0ZToKCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvS2FybC5Gcml0c2NoL3ZjYXJkLmdpZgoKRnVlciBuaWNodC13d3dsZXI6CgpNb2VjaHRlbiBTaWUgbWVpbmUgVmlzaXRlbmthcnRlIGhhYmVuPyBEYW5uIGtsaWNrZW4gU2llIGhpZXIgZHJhdWYhCkhhdmUgeW91IG15IFZpc2l0LUNhcmQ/IFBsZWFzZSBwcmVzcyB0aGUgYnV0dG9uIQoKUHJhLiBHcm9laGxlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXhpbWFsbnV0emVyc3RhdGlzdGlrIChIYXRlLCAyMC4gSnVsIDE5OTksIDExOjU5OjM5KToKSGksIHdlbiBpbnRlcmVzc2llcnQgd28gdW5zZXJlIE1heGltYSBsaWVnZW4gc2NoYXVlIGJpdHRlIGF1ZiBmb2xnZW5kZQpTZWl0ZTogaHR0cDovL21nLm11ZC5kZS9zdGF0LwoKSGF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RlcGlmeSAoQ2F0d2VhemxlLCAzMC4gSnVsIDE5OTksIDEwOjM2OjQzKToKfiMhIG9uPVRydWcgb3Q9OTMzMzI4NDExIG9nPWFuemVpZ2VuCihEYSB3d3cgdm9sbCBpc3QsIGtvbW10cyBoaWVyIHJlaW4pCgpGdWVyIGFsbGUgTGV1dGUsIGRpZSBnZXJuZSBpaHIgWCBtZWhyIGluIFJpY2h0dW5nIE5leHQvT3BlblN0ZXAgdHVuZW4gd29sbGVuLApnaWJ0IGVzIGVpbiBSZXBsYWNlbWVudCBmdWVyIGRpZSBBdGhlbmEtV2lkZ2V0IG5hbWVucyBOZVh0QXcuCgpodHRwOi8vd20uY3VycmVudC5udS9zdGVwaWZ5L2luZGV4Lmh0bWwKClZpZWwgU3Bhc3MsIHNjaGF1dCB3aXJrbGljaCBuZXR0IGF1cyA6KQoKVHJ1Zy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipsYWNoKiAoR3JpbW1ib3JuLCAxNy4gQXVnIDE5OTksIDIwOjU4OjI1KToKfiMhIG9uPVN0aW5nIG90PTkzNDkwNzAzNSBvZz1zY2htYXJybgpzY2hhdXQgbWFsIGF1ZiBodHRwOi8vd3d3LmR1bWJsYXdzLmNvbQoKU3RpbmcsIHRlaWx3ZWlzZSBzaWNoIHdhZWx6ZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKmxhY2gqIChKYXNwZXIsIDI0LiBBdWcgMTk5OSwgMDI6NDQ6MTQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkzNDkyMzUwNSByZz13d3cKfiMhIHRpZD05MzQ5MjM1MDUKJ0l0IGlzIGNvbnNpZGVyZWQgYW4gb2ZmZW5zZSB0byBvcGVuIGFuIHVtYnJlbGxhIG9uIGEgc3RyZWV0LCBmb3IgZmVhciBvZiBpdApzcG9va2luZyBob3JzZXMuJyAKCkphc3BlciB3aWxsIGF1Y2ggc28gZWluIGdlc2V0egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWluZmFjaCByZWluc2NoYXVuIChBcHN1LCAgMi4gU2VwIDE5OTksIDEzOjQxOjQxKToKaHR0cDovL3d3dy5jLXBsdXNwbHVzLmRlL2NfX19odW1vcl8uaHRtCj4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIHVuZW5kbGljaGUgR2VzY2hpY2h0ZSwgVGVpbCBDQ1hYViAoU2hhbm5hcmEsICAyLiBTZXAgMTk5OSwgMTg6MTQ6NTYpOgpEaWUgQW5mYWVuZ2VyaGlsZmUgdW5kIGRpZSBHaWxkZW5zZWl0ZW4gZGVyIEthdHplbmtyaWVnZXIgZnVua3Rpb25pZXJlbgp3aWVkZXIuIFdhcmVuIGVpbmUgV2VpbGUgbmljaHQgdmVyZnVlZ2JhciwgZGEgaWNoIFByb2JsZW1lIG1pdCBtYWduZXQuYXQKZGllc2JlenVlZ2xpY2ggaGF0dGUgdW5kIG11c3N0ZSBzaWUgdW1zaWVkZWxuLgoKU2hhbm5hcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdWVjaGVyIHp1IFNjaGxldWRlcnByZWlzZW4gKFBmZWlmZSwgIDIuIFNlcCAxOTk5LCAxOToyNjowMCk6CgpTY2hhdXQgbWFsIGJlaSB3d3cuU29mdC1ib29rLmRlIHJlaW4sIGRhcyBsb2hudCBzaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgaW0gU3RydXYgKEd1YXJkLCAxMy4gU2VwIDE5OTksIDEzOjQxOjA5KToKaGkgbGV1dGUsIGhpIGthZW1wZmVycwoKaWNoIHNjaHJlaWIgZGVuIGFydGlrZWwgbWFsIGhpZXJoaW4sIHdlaWwgZXMgdmllbGxlaWNodCBhdWNoIG5pY2h0a2FlbXBmZXIKZ2lidCwgZGllIGRhcyBmb2xnZW5kZSBpbnRlcmVzc2llcnQ6CgphdWYgZGVuIEthZW1wZmVyLXNlaXRlbiBoYXQgc2ljaCB3YXMgZ2V0YW4uIEFuZ2VzaWNodHMgZGVyIGFrdHVlbGxlbgpFcmVpZ25pc3NlIHVuZCBkZW0gVGhyZWFkIGluIGRlciBaZWl0dW5nIGhhYmUgaWNoIG1pciBlcmxhdWJ0LCBkYW1pdAphbnp1ZmFuZ2VuLCB3aWNodGlnZSBFcGlzb2RlbiBvYiB0cmF1cmlnIG9kZXIga3VyaW9zIG1hbCBpbSB3d3cgYWJ6dWJpbGRlbi4KbWl0IGdvbGFzIGJlcmljaHQgaGFiZSBpY2ggYW5nZWZhbmdlbiwgd2VpdGVyZSB3ZXJkZW4gZm9sZ2VuLiB6dSBmaW5kZW4gdW50ZXIKSGlzdG9yaWUgLi4uCkF1Y2ggZGllIG5ldWUgR2lsZGVucXVlc3QgaXN0IGpldHp0IHp1IGZpbmRlbiAoendhciBuaWNodCBhbSBzY2h3YXJ6ZW4gYnJldHQKYWJlciBpbiBkZW4gRGV0YWlsc2VpdGVuCgpiaXMgZGVubmUKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXJhZGUgZGFydWViZXJnZXN0b2xwZXJ0IChUYXJub3MsIDIzLiBTZXAgMTk5OSwgMTU6NDg6MzcpOgpodHRwOi8vd3d3LnBhbnRoZW9uLm9yZy9teXRoaWNhL2FydGljbGUvcC9wYXJhLmh0bWwKClRhcm5vcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXJhZGUgZGFydWViZXJnZXN0b2xwZXJ0IChBbmF0b2wsIDIzLiBTZXAgMTk5OSwgMTY6NTU6MjApOgp+IyEgcm49VGFybm9zIHJ0PTkzODA5NDUxNyByZz13d3cKfiMhIHRpZD05MzgwOTQ1MTcKVHlwaXNjaCBLbGVyaWtlciwga2VpbiBBdWdlIGZ1ZXIgRGV0YWlscy4gCkRlciBMaW5rIG11c3MgaGVpc3NlbjogaHR0cDovL3d3dy5wYW50aGVvbi5vcmcvbXl0aGljYS9hcnRpY2xlcy9wL3BhcmEuaHRtbAoKQWJlciBzcGFydCBldWNoIGRpZSBNdWVoZSwgZGEgc3RlaHQgbnVyOiAiUGFyYSAtIEFuY2llbnQgRmlubmlzaCBob3VzZWhvbGQKc3Bpcml0cyB3aG8gYXBwZWFyIGluIHRoZSBzaGFwZSBvZiBhIGNhdCwgc25ha2UsIGhhcmUsIG9yIGZyb2cuIFRoZXkgZW5sYXJnZQp0byBhbW91bnQgb2YgZm9vZCBhbmQgbW9uZXkgd2l0aCB3aGF0IHRoZXkgc3RvbGUgZWxzZXdoZXJlLiIKCk5laG10IFBhcmFjZWxzdXMgZGFzIEthdHplbmZ1dHRlciB3ZWchIFNDSE5FTEwhIDopCgpBbmF0b2wgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hsYWVnZXJlaS4uLiAoTWFnZW5icm90LCAyNi4gU2VwIDE5OTksIDE2OjMxOjAyKToKCmhhYnQgaWhyIEZlaW5kZT8KCmRpZXNlIFBhZ2UgbG9lc3QgRXVyZSBQcm9ibGVtZToKIGh0dHA6Ly93d3cuc2NobGFlZ2VyZWkuZGUKCk1hZ2VuYnJvdCA7KSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCUE1TdHVkaW8gKFNlYmFzdGlhbiwgIDYuIE9rdCAxOTk5LCAwMjoyNDo1Nik6CkRlbm9uIDIwMDBmIGVtdWxhdG9yCjIgQ0QgUGxheWVyIG1pdCBwaXRjaCBjb250cm9sICBjcm9zc2ZhZGVyIGV0Yy4KZWluZ2VzY2hyYWVuZ3RlIGZyZWV3YXJldmVyc2lvbgp3d3cuYnBtc3R1ZGlvLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQlBNU3R1ZGlvIChOZXZvaywgIDYuIE9rdCAxOTk5LCAwNTozMDo1NCk6Cn4jISBybj1TZWJhc3RpYW4gcnQ9OTM5MTY5NDk2IHJnPXd3dwp+IyEgdGlkPTkzOTE2OTQ5NgpzY2hhZGUgZGFzcyBlcyBudXIgbmUgZWluZ2VzY2hyYWVuZ3RlIHZlcnNpb24gaXN0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCUE1TdHVkaW8gKE9sbGksICA3LiBPa3QgMTk5OSwgMDE6NDI6NTkpOgp+IyEgcm49TmV2b2sgcnQ9OTM5MTgwNjU0IHJnPXd3dwp+IyEgdGlkPTkzOTE2OTQ5NgpTY2hhZGUsIGRhc3MgZGllIFNvZnR3YXJlIChtaXQgZGVtIGV4dGVybmVuIEJlZGllbnRlaWwpIHNvIHNjaHdlaW5ldGV1ZXIgaXN0LgoKT2xsaSwgaGF0dGUgZXMgc2Nob24gZmFzdCBiZXN0ZWxsdCwgdW5kIGRhbm4gZGllIHZpZWxlbiBOdWxsZW4gYW0gUHJlaXMKZ2VzZWhlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTyBUZW1wb3JhIE8gTW9yZXMgKE5ldm9rLCAxMy4gT2t0IDE5OTksIDIxOjQzOjQ2KToKV2VyIGdlZGFjaHQgaGF0LCBkYXNzIGVzIHNjaG9uIHNjaGxpbW0gZ2VudWcgd2FyLCBkYXNzIFdvdEMgVFNSIHVlYmVybm9tbWVuCmhhdCwgd2lyZCBudW4gZWJlbnNvIHdpZSBpY2ggbGFtZW50aWVyZW4gdW5kIHNpY2ggZGllIEhhYXJlIHJhdWZlbi4uLgpRdW8gVmFkaXMsIGlociBSb2xsZW5zcGllbGVyLCB3ZW5uIG51biwgenVtIDI1LiBHZWJ1cnRzdGFnIHZvbiBUU1IgSGFzYnJvIFdvdEMKYXVma2F1ZnQ/IAozMjUgTWlsbGlvbmVuIERvbGxhciBoYXQgZGVyIGdhbnplIFNwYXNzIGFuc2NoZWluZW5kIGdla29zdGV0IHVuZCB3YXMgcGFzc2llcnQKa2FubiBtYW4gYXVmIGRlciBIb21lcGFnZSB2b24gVFNSIHNlaGVuLi4uLgpEJkQgRGlhYmxvIDIgLSBEYXMgQWR2ZW50dXJlIEdhbWUuLi4uLi4ud2VubiBkYXMgc28gd2VpdGVyIGdlaHQgd2lyZHMgd29obAphdWNoIGJlaSBHZWxlZ2VuaGVpdCBQb3dlciBSYW5nZXJzLSBkYXMgUm9sbGVuc3BpZWwgZ2ViZW4uLi4uLi5vZGVyClBPS0VNT04uLi4uLgoKV2VyIHNpY2ggZGFzIG1hbCBkdXJjaGxlc2VuIG1vZWNodGUuLi4uCgpodHRwOi8vd3d3LndpemFyZHMuY29tL05ld3MvcHJlc3NyZWxlYXNlLmFzcD8xOTk5MDkwOWEKCk5ldm9rLCBkZXIgc2VpbmUgV3VyemVsbiBpbSBndXRlbiBhbHRlbiBEJkQgaGF0IHVuZCBsYW5nc2FtIGFiZXIgc2ljaGVyCndpcmtsaWNoIGFuIGRhcyBFbmRlIGRlciBSb2xsZW5zcGllbGUgZ2xhdWJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTyBUZW1wb3JhIE8gTW9yZXMgKFd1cnplbCwgMTMuIE9rdCAxOTk5LCAyMTo1NTo0OSk6Cn4jISBybj1OZXZvayBydD05Mzk4NDM4MjYgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CmFuIGRhcyBlbmRlIGRlciByb2xsZW5zcGllbGUgZ2xhdWJlIGljaCBqZWRlbmZhbGxzIG5pY2h0LiBqZWRlbmZhbGxzIG5pY2h0LApzb2xhbmdlIGljaCBub2NoIGRhcyB6ZXVnIHJlZ2FsZXdlaXNlIHJ1bXN0ZWhlbiBoYWIgOikKaW0gdWVicmlnZW4gaGF0IHdvdGMgZnVlciBuYWVjaHN0ZXMgamFociBkaWUgZHJpdHRlIGF1ZmxhZ2UgYW5nZWt1ZW5kaWd0LCBtYWwKc2VoZW4gb2IgZGFzIHdhcyB3aXJkLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTyBUZW1wb3JhIE8gTW9yZXMgKEJpZWxlZmVsZCwgMTMuIE9rdCAxOTk5LCAyMjo1MDoxMik6Cn4jISBybj1OZXZvayBydD05Mzk4NDM4MjYgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CldlbGNoZXMgRW5kZS4uLmRpZSBTemVuZSBpc3QgaW4gRGV1dHNjaGxhbmQgZG9jaCBzY2hvbiBzZWl0CmRlciBLYXJ0ZW5zcGllbGVyZWkgdG90LgoKLUJpZWxlZmVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPIFRlbXBvcmEgTyBNb3JlcyAoR3JpbW1hbiwgMTQuIE9rdCAxOTk5LCAwMjozMzo0MCk6Cn4jISBybj1CaWVsZWZlbGQgcnQ9OTM5ODQ3ODEyIHJnPXd3dwp+IyEgdGlkPTkzOTg0MzgyNgpIbW1tbW0gLi4uIGhhc3QgZHUgZGljaCBtYWwgYW4gZGVyIEthcnRlbnNwaWVsZXJlaSBiZXRlaWxpZ3Q/IApJY2ggZGVua2UsIGRhcyBpc3Qga2VpbiBFcnNhdHogZnVlcnMgUm9sbGVuc3BpZWwsIHNvbmRlcm4gZWhlciBuZSBFcmdhZW56dW5nLApvZGVyIGVpbiBaZWl0dmVydHJlaWIgZnVlciBad2lzY2hlbmR1cmNoIC4uLiAKT2RlciAtIHdpZSBmdWVyIHZpZWxlIGluIERldXRzY2hsYW5kIHVuIGRlciBXZWx0IC0gZWluZSBUdXJuaWVyJ3Nwb3J0J2FydCAuLi4KSWNoIGRlbmtlLCBrZWluZXMgZGVyIENDRyBrYW5uIGVpbmVtIEdVVEVOIFJvbGxlbnNwaWVsIGRhcyBXYXNzZXIgcmVpY2hlbiwgdW5kCnNlaGUgZGEga2VpbmUgS29ua3VycmVueiAob2RlciB3aWUgc2NocmVpYnQgbWFuIGRhcz8/KQoKR3JpbU1hbiAsIHNwaWVsdCBNYWdpYyBzZWl0IGRlbSBFcnNjaGVpbmVuIGluIERldXRzY2hsYW5kIHVuZCBhdXNzZXJkZW0gQURELApTaGFkb3dydW4sIEJhdHRsZXRlY2gsIEN0aHVsaHUgdW5kIG1hbmNobWFsIERTQSAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPIFRlbXBvcmEgTyBNb3JlcyAoTHVnLCAxNS4gT2t0IDE5OTksIDAwOjQ4OjU1KToKfiMhIHJuPU5ldm9rIHJ0PTkzOTg0MzgyNiByZz13d3cKfiMhIHRpZD05Mzk4NDM4MjYKClRqYWUgTmV2b2ssCgpudXIgZGFzIERlY2FkZW50cyAmIERldmlhbnRzIG5pZSByaWNodGlnIGd1dCB3YXIuLi4KCkF1Y2ggZGFtaXQgYmVnb25uZW4gaGFiZW5kCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPIFRlbXBvcmEgTyBNb3JlcyAoV3VyemVsLCAxNS4gT2t0IDE5OTksIDE5OjQyOjAwKToKfiMhIHJuPUx1ZyBydD05Mzk5NDEzMzUgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2Cm9iIGVpbiByb2xsZW5zcGllbCBndXQgaXN0IG9kZXIgbmljaHQsIGxpZWd0IG5pZSBhbiBkZW0gdmVyd2VuZGV0ZW4gcmVnZWx3ZXJrLApzb25kZXJuIGFuIGRlbiBsZXV0ZW4gZGllIGRhYmVpIG1pdG1hY2hlbi4gd2VyIHNpY2ggenUgc2VociBhdWYgZGllIHJlZ2VsbgpzdHVldHp0LCBtYWNodCBlaCB3YXMgZmFsc2NoLgoKd3VyemVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPIFRlbXBvcmEgTyBNb3JlcyAoQXJrLCAxNS4gT2t0IDE5OTksIDIwOjIwOjE4KToKfiMhIHJuPVd1cnplbCBydD05NDAwMDkzMjAgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2ClJpY2h0aWcsIGljaCBoYWJlIGF1Y2ggMTAgSmFocmUgbGFuZyBkaWUgQUQmRC1SZWdlbG4gZ2ViZXVndCwgYWJzaWNodGxpY2gKZmVobGludGVycHJldGllcnQsIG1pc3NicmF1Y2h0LCBnZXNjaGFlbmRldCB1bmQgZXJ3ZWl0ZXJ0LiBVbmQsIGhhdCdzIG1pciBldHdhCmdlc2NoYWRldD8KTmVlZSwgYXVjaCBtZWluZW4gTWl0c3BpZWxlcm4gbmV0LCBkaWUgaGFtIHp1bSBUZWlsIG1pdGdlZmVpbHNjaHQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTyBUZW1wb3JhIE8gTW9yZXMgKFllbmRpLCAxOC4gT2t0IDE5OTksIDE2OjIyOjMxKToKfiMhIHJuPVd1cnplbCBydD05NDAwMDkzMjAgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CkphLCBhYmVyIGdlbGVnZW50bGljaCBoYWV0dGUgbWFuIHNjaG9uIGVpbiBwYWFyIHBsYXVzaWJsZSBSZWdlbG4gYWxzIFNMLi4uCgpZZW5kaQogICAgICB3aXJmdCBTaGFkb3dydW4gVjIuMDFEIGVpbiBwYWFyIGZpbnN0ZXJlIEJsaWNrZSB6dQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE8gVGVtcG9yYSBPIE1vcmVzIChOZXZvaywgMTguIE9rdCAxOTk5LCAxOTo1MTo1OSk6Cn4jISBybj1ZZW5kaSBydD05NDAyNTY1NTEgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CndhZXIgc2ljaCBhdWYgZGllIHNjaGxlY2h0ZXN0ZW4gVWViZXJzZXR6dW5nZW4gZGllc2VzIEphaHJ0YXVzZW5kcyB2b24gRmFuUHJvCnZlcmxhZXNzdCBpc3QgYXVjaCBzZWxiZXIgU2NodWxkCkxldXRlLCBkaWUgc2VsYnN0IHp1IGJsb2VkIHNpbmQsIGRpZSBXZXJ0ZSBiZWkgQXJjaGV0eXBlcyByaWNodGlnCmFienVzY2hyZWliZW4uLi4ubmFqYSBsYXNzZW4gd2lyIGRhcwoKTmV2b2ssIGRlciB2aWVsIHR1dCwgYWJlciBuaWNodCBGYW5Qcm8gZXJuc3QgbmltbXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE8gVGVtcG9yYSBPIE1vcmVzIChXdXJ6ZWwsIDE4LiBPa3QgMTk5OSwgMTk6NTM6NTcpOgp+IyEgcm49TmV2b2sgcnQ9OTQwMjY5MTE5IHJnPXd3dwp+IyEgdGlkPTkzOTg0MzgyNgpkaWUgc2NobGVjaHRlc3RlIHVlYmVyc2V0enVuZyB3YXIgd29obCBkaWUgdm9uIGFkJmQgaW4gZGVyIGVyc3RlbiBhdWZsYWdlLgp3ZXIgInRvcmNoIiBtaXQgInRhc2NoZW5sYW1wZSIgdWViZXJzZXR6dCwgdW5kIGRhcyBub2NoIGluIGVpbmVtIGZhbnRhc3ktd2VyaywKaXN0IGthdW0gbm9jaCB6dSB1ZWJlcnRyZWZmZW4gOikKCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTyBUZW1wb3JhIE8gTW9yZXMgKE5ldm9rLCAxOC4gT2t0IDE5OTksIDE5OjU4OjI4KToKfiMhIHJuPVd1cnplbCBydD05NDAyNjkyMzcgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2Ck1hbCBkaWUgJ1dhc3Nlcm51ZXNzZScgYWxzIFdhZmZlbiBmdWVyIFphdWJlcmVyIGltIGRldXRzY2hlbiBBRCZEIGdlc2VoZW4/IFVtCjIwLjAwMCBFY2tlbiBydW0gaGFiZW4gd2lyIHJhdXNnZWZ1bmRlbiwgZGFzcyBkYXMgQ2FsdHJvcHMgc2VpbiBzb2xsZW4uLi5hdWNoCnNvbnN0IGdpYnQgZXMgdmllbGUgbmV0dGUgU2FjaGVuLi4uJ0JveCBvZiBMZWF2ZXMnIC0+IFBhcGllcmtpc3RlCk5lIGFiZXIgRmFuUHJvIGhhdCBlcyB3aXJrbGljaCBnZXNjaGFmZnQsIGdlcmFkZSBpbSBTUiB0b3RhbCB1bnRlcnNjaGllZGxpY2hlClJlZ2VsbiBtaXQgaWhyZW4gJ1VlYmVyc2V0enVuZ2VuJyBoaW4genUga3JpZWdlbi4gU2VsYmlnZSBiZWhhdXB0ZW4gaW4gZWluZW0Kc2VsYnN0IGdlc2NocmllYmVuZW4gQWJlbnRldWVyYnVjaCAoU2NobGFnc2NoYXR0ZW4gb2RlciBzbykgZGFzcyBnZWNsb250ZQpCaW93YXJlIE1hZ2llcm4ga2VpbmUgRXNzZW56IGFiemllaGVuLi4udW5kIHNvIFNjaGVyemUuCldlbm4ncyBuYWNoIG1pciBnZWh0LCBnZWhvZXJ0IGRlbiBIZXJyZW4gZWJlbnNvIGRpZSBMaXplbnogZW50em9nZW4gd2llIGRlbQpBRCZEIFJlZGFrdGV1ciBkZXIgZnVlciA5MCUgZGVyIEZlaGxlciB6dXN0YWVuZGlnIGlzdCwgd2VsY2hlciBpbiBTdC4gQXVndXN0aW4KYmVpIEJvbm4gc2l0enQuLi4uCgpOZXZvaywgZGVyIGJlaSBzb3dhcyBudXIgbm9jaCBkZW4gS29wZiBzY2h1ZXR0ZWx0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPIFRlbXBvcmEgTyBNb3JlcyAoTHVnLCAyMC4gT2t0IDE5OTksIDAwOjI5OjQ3KToKfiMhIHJuPVd1cnplbCBydD05NDAwMDkzMjAgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CgpLb3JyZWt0ZSBBbmFseXNlIGltIFByaW56aXAuIEFsbGVyZGluZ3MgdW50ZXJzdHVldHplbiBtYW5jaGUgU3lzdGVtZSBkYXMKQXVma29tbWVuIHZvbiBBdG1vc3BoYWVyZSBiZXNzZXIgYWxzIGFuZGVyZS4uLgoKSnVzdCBteSBldGMuCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTyBUZW1wb3JhIE8gTW9yZXMgKFllbmRpLCAyMC4gT2t0IDE5OTksIDE2OjQxOjM5KToKfiMhIHJuPVd1cnplbCBydD05NDAyNjkyMzcgcmc9d3d3Cn4jISB0aWQ9OTM5ODQzODI2CkhleSwgZ2VuYXUgZGllc2UgVWViZXJzZXR6dW5nIGhhYmUgaWNoIGxldHp0ZW5zIGJlaW0gIkhvYmJpdCIgZ2VmdW5kZW4uLi4KCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTEVJQ0hFTiAhISEgKE1vcmdvdGgsIDI3LiBPa3QgMTk5OSwgMTA6MTk6NDMpOgp+IyEgcm49SG9ibyBydD05NDEwMTIwMDYgcmc9d3d3Cn4jISB0aWQ9OTQwOTgxOTQxCkljaCBoYWIgbWlyIGRpZSBTZWl0ZSBhdWNoIG1hbCBhbmdlc2NoYXV0IHVuZCBkYW5uIGluIEFic3ByYWNoZSBtaXQgSG9ibyBkZW4KQXJ0aWtlbCBnZWxvZXNjaHQuIERpZXNlciBMaW5rIHdhciB3aXJrbGljaCB1bnRlciBqZWRlciBHdWVydGVsbGluaWUuCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTEVJQ0hFTiAhISEgKEdyaW1tYW4sIDI3LiBPa3QgMTk5OSwgMTM6Mjc6MDIpOgp+IyEgcm49TW9yZ290aCBydD05NDEwMTIzODMgcmc9d3d3Cn4jISB0aWQ9OTQwOTgxOTQxCkRlc3dlZ2VuIGF1Y2ggZGllIGF1c2RydWVja2xpY2hlIFdhcm51bmcsIGRhcyBlcyBuaWNodHMgZnVlciBzZW5zaWJsZSBpc3QgLi4uCm9raSwga29tbXQgbmljaHQgbWVociB2b3IgOikKCkdyaW1NYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVyZXNzYW50ICEgKE1vcmdvdGgsIDI3LiBPa3QgMTk5OSwgMTM6NDc6MDEpOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9vZGktMjcuMTAuOTktMDAxLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTEVJQ0hFTiAhISEgKEthcmljLCAyNy4gT2t0IDE5OTksIDE2OjA0OjIxKToKfiMhIHJuPUdyaW1tYW4gcnQ9OTQxMDIzNjIyIHJnPXd3dwp+IyEgdGlkPTk0MDk4MTk0MQpzb24gbGluayBnaWJ0IG1hbiB0cm90emRlbSBuZXQgd2VpdGVyICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExFSUNIRU4gISEhIChHcmltbWFuLCAyNy4gT2t0IDE5OTksIDE4OjAyOjUyKToKfiMhIHJuPUthcmljIHJ0PTk0MTAzMzA2MSByZz13d3cKfiMhIHRpZD05NDA5ODE5NDEKSmEgaWNoIGhhYiBhdWNoIG5lbiBzY2hsZWNodGVzIEdld2lzc2VuLCBoYWIgbWVpbmVuIFJ1ZWZmZWwgd2VnIHVuZCBtYWNoZSBlcwpuaWUgd2llZGVyIEVocmVud29ydCEKCkdyaW1NYW4gIHNjaGllYnQgZGFzIGF1ZiBkZW4gQWxrb2hvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVyZXNzYW50ICEgKEJvaW5nLCAyNy4gT2t0IDE5OTksIDIwOjAxOjU3KToKfiMhIHJuPU1vcmdvdGggcnQ9OTQxMDI0ODIxIHJnPXd3dwp+IyEgdGlkPTk0MTAyNDgyMQpXZW5uIGR1IHdlbmlzdGVucyBlaW5lIGtsaXR6ZWtsZWluZSBLbGVpbmlna2VpdCBkYXp1IHNjaHJlaWJlbiBrb2VubnRlc3QKdW0gd2FzIGVzIGRhIGdlaHQgdW5kIG9iIG1pY2ggZGFzIGludGVyZXNzaWVyZW4gc29sbHRlLCB3YWVyZSBkYXMgc2Nob24KZ3Jvc3NlIEtsYXNzZSAuLi4gOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlcmVzc2FudCAhIChKYXNwZXIsIDI3LiBPa3QgMTk5OSwgMjI6NTU6MTkpOgp+IyEgcm49Qm9pbmcgcnQ9OTQxMDQ3MzE3IHJnPXd3dwp+IyEgdGlkPTk0MTAyNDgyMQpnZWh0IGJlc3RpbW10IHVtIHdlYnNlaXRlbiBkaWUgbmljaHRzIGZ1ZXIgbGV1dGUgbWl0IHNlbnNpYmxlbSBtYWdlbiBvZGVyCmd1dGVtIGdlc2NobWFjayBzaW5kLgoKamFzcGVyIGRlbmt0IC5vTyggd3d3LmFudXMuY29tKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSW50ZXJlc3NhbnQgISAoWmFybml5YSwgMjguIE9rdCAxOTk5LCAwOToyOTo0Nik6Cn4jISBybj1KYXNwZXIgcnQ9OTQxMDU3NzE5IHJnPXd3dwp+IyEgdGlkPTk0MTAyNDgyMQpKYXNwZXIsIGRpZSB2b24gRGlyIGVyZGFjaHRlIFNlaXRlIGlzdCBqYSBudW4gZGFzIEhpbnRlcmxldHp0ZS4uLiBpY2ggZmluZGUgZXMKdW52ZXJzY2hhZW10LCBkYXNzIG1hbiBpbiBlaW5lbSBzbyBha3R1ZWxsZW4gRm9ydW0gd2llIGRlbSBXV1cgZGFzIG5ldXN0ZQpBbGJ1bSB2b24gU2xheWVyIG5pY2h0IGJlc3ByaWNodCwgd28gZXMgZG9jaCBzb29vIG5ldHRlIEJpbGRjaGVuIGltIElubGF5IGhhdC4KCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1bWFlbmlzY2hlIEhhY2tlciBlcmZpbmRlbiBEdW1taGVpdHNzdGV1ZXIgKmJydWVsbCogKE1vcmdvdGgsICAzLiBOb3YgMTk5OSwgMTU6MDY6MTEpOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9hZC0wMy4xMS45OS0wMDEvCgpNKiBsYWNodCBzaWNoIGhhbGJ0b3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBlcyBkb2NoIGZ1ZXIgTGV1dGUgZ2lidC4uLi4gKE5ldm9rLCAgMy4gTm92IDE5OTksIDIxOjUzOjUzKToKQXVzIGVpbmVyIEJpZXJsYXVuZSBoZXJhdXMgKG4gcGFhciBMZXV0ZSBuZWJzdCBtZWluZXIgZWluZXIgc2Fzc2VuIHp1c2FtbWVuCnVuZCBoYWJlbiBkYXJ1ZWJlciBnZXNwcm9jaGVuLCB3YXMgTGV1dGUgYWxsZXMgYXVmIGVCYXkgdmVyc3RlaWdlcm4uIEljaCBoYWIKaW0gU3Bhc3MgZ2VtZWludCwgZGFzcyBpY2ggbmUgdXJhbHRlLCBsYWVuZ3N0IG5ldCBtZWhyIGdlbnV0enRlIElDUSBOdW1tZXIgaW0KdW50ZXJzdGVuIDYtc3RlbGxpZ2VuIEJlcmVpY2ggaGFiZS4gTmFqYSBsYW5nZSByZWRlLCBrdXJ6ZXIgVW5zaW5uLi4uLmljaCBoYWIKc2llIGZ1ZXIgZGllIEdlYnVlaHIgaW4gSG9laGUgZWluZXMgVVMgRG9sbGFycyB6dXIgVmVyc3RlaWdlcnVuZyBmcmVpIGdlZ2ViZW4uCkxhdWZ6ZWl0IGRlciBBdWt0aW9uIDggVGFnZSkgaXN0IGRpZXNlIFNhY2hlIGVudHN0YW5kZW4uCkVzIHNpbmQgbm9jaCAzIFRhZ2UgdWVicmlnLCBkYXMgZGVyemVpdGlnZSBHZWJvdCBsaWVndCBiZWkgNjEgVVMgRG9sbGFyIHdhcwppY2ggbmllbWFscyBmdWVyIG1vZWdsaWNoIGdlaGFsdGVuIGhhZXR0ZSB1bmQgZXMgaGFiZW4gTGV1dGUgc293b2hsIGF1cwpBbWVyaWthIGFscyBhdWNoIGF1cyBEZXV0c2NobGFuZCBnZWJvdGVuLi4uCkljaCB2ZXJsaWVyIHNvbGFuZ3NhbSBlY2h0IGRlbiBHbGF1YmVuIGFuIGRpZSBNZW5zY2hoZWl0Li4uCgpodHRwOi8vY2dpLmViYXkuY29tL2F3LWNnaS9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MTg5Njk1MDEzCgpOZXZvaywgZGVyIHNpY2ggdWViZXIgZGFzIEdlbGQgc28gcmljaHRpZyBmcmV1dC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgZXMgZG9jaCBmdWVyIExldXRlIGdpYnQuLi4uIChTdWJsaW1lLCAgMy4gTm92IDE5OTksIDIyOjA5OjQ1KToKfiMhIHJuPU5ldm9rIHJ0PTk0MTY2MjQzMyByZz13d3cKfiMhIHRpZD05NDE2NjI0MzMKSG1tLCBhbHNvIGRhcyBkaWUgTGV1dGUgZnVlciBVbHRpbWEtSGVsZGVuIGF1cwpVbHRpbWEgT25saW5lIDYwMDAgRG9sbGFyIGJlemFobGVuLCBmaW5kZSBpY2gKc2Nob24ga3JhbmtoYWZ0LCBhYmVyIGZ1ZXIgZWluZSA2c3RlbGxpZ2UgSUNRCk51bW1lciB6dSB6YWhsZW4sIGdyZW5zdCBlaWdlbnRsaWNoIGFuCnZvZWxsaWdlciBWZXJibG9lZHVuZy4gV29sbGVuIGRpZSBqZXR6dCBkYW1pdAp2b3IgaWhyZW4gRnJldW5kZW4gYW5nZWJlbiB1bmQgc2NocmVpZW4gOgoiSHVodSwgc2NoYXUgaGVyLGljaCBiaW4gdG9sbCAhIEljaCBoYWJlIGVpbmUKNnN0ZWxsaWdlIE51bW1lciAhIiBvZGVyIHdpZSA/IDspIEhhYiBpY2ggZGVuClRyZW5kIHZlcnBhc3N0ID8gVW5kIHdpZXZpZWwgTnVtbWVybiBoYXQgZWluZQpJQ1EgTnVtbWVyIGRlbm4gaGV1dGUgPyBEYXMgc2luZCBGcmFnZW4gZGllIGRpZQpXZWx0IGJld2VnZW4gdW5kIGhvZmZlbnRsaWNoIGJhbGQgYXVmZ2VrbGFlcnQKc2VpbiwgZGFtaXQgYXVjaCBkZXIgbGV0enRlIERpbm9zYXVyaWVyIGF1Zgp1bnNlcmVyIEVyZGUgc2VpbmUgNnN0ZWxsaWdlIChvZGVyIGhvZWNoc3RlbnMKN3N0ZWxsaWcpIElDUSBOdW1tZXIgaGF0LgoKU3VibGltZSwgb2VobWVuZCB1bmQgdG9kZXJuc3QgCjspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBlcyBkb2NoIGZ1ZXIgTGV1dGUgZ2lidC4uLi4gKFN0aW5nLCAgMy4gTm92IDE5OTksIDIyOjE2OjEwKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQxNjYzMzg1IHJnPXd3dwp+IyEgdGlkPTk0MTY2MjQzMwpOYSB1bmQgPyBlcyB3ZXJkZW4gc2NobGllc3NsaWNoIGF1Y2ggbWVuc2NobGljaGUgT3JnYW5lIChndXQgZ2VicmF1Y2h0ZSBOaWVyZSwKbWFlbm5saWNoLCA1MCBKLiksIE1lbnNjaGVuIHNlbGJlciBvZGVyIFNhbWVuIHZvbiBNb2RlbHMgdmVyc3RlaWdlcnQuLi4gV2VyCndlaXNzIHNjaG9uIHdvIGRhcyBub2NoIGhpbmZ1ZWhydCwgYWJlciBhYmdlc2VoZW4gZGF2b24gc29sbHRlIG1hbiBhdWNoIG5pY2h0CmltbWVyIGFsbGVzIGdsYXViZW4uLi4gR2VyYWRlIGJlaSBPbmxpbmUtQXVrdGlvbmVuIGlzdCBrZWluZSBncm9zc2UgS29udHJvbGxlCmdlZ2ViZW4sIGplZGVyIGthbm4gc2ljaCB1bnRlciBmYWxzY2hlbSBOYW1lbiB1bmQgZW1haWwtQWRyZXNzZSBpcmdlbmR3bwphbm1lbGRlbiB1bmQgYmVpIGFsbGVtIG1vZWdsaWNoZW0gbWl0YmlldGVuLgoKU3RpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcyBlcyBkb2NoIGZ1ZXIgTGV1dGUgZ2lidC4uLi4gKFN1YmxpbWUsICAzLiBOb3YgMTk5OSwgMjI6MjQ6MDkpOgp+IyEgcm49U3RpbmcgcnQ9OTQxNjYzNzcwIHJnPXd3dwp+IyEgdGlkPTk0MTY2MjQzMwpBdSBqYSwgZGFua2UgZnVlciBkaWUgZ3V0ZSBJZGVlIDspCkljaCBwcm9iaWVyIGRhcyBnbGVpY2htYWwgYXVzIC4uLgp3aWUgd2FyIG5vY2ggbWFsIGRpZSBBZGRpLCBOZXZvayA/Cgo7PSkpKQpTdWJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDKysgU3RhbmRhdCBDbGFzc2VuIChXaWRld2l0dCwgIDQuIE5vdiAxOTk5LCAxNzowMDowOSk6ClRBY2ggYXVjaCwKCkRhIHVuc3RlciBTeXNhZG1pbiB6dSBkb29mIGlzdCBkaWUgSGlsZmVkYXRlaW4genUgaW5zdGFsbGllcmVuLCBzdWNoZSBpY2ggbmUKU2VpdGUgbWl0IGVpbmVtIGd1dGVuIEMrKyBLdXJzIC4uLiBpbmtsdXNpdmUgZGVuIFN0YW5kYXJ0IENsYXNzZW4gIQoKQWxzbyB3ZW5uIGVpbmVyIGVpbiBrZW5udCBiaXR0ZSBtZWxkZW4gOikKCkdydWVzc2xlIFdpZGV3aXR0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEMrKyBTdGFuZGF0IENsYXNzZW4gKEphc3BlciwgIDUuIE5vdiAxOTk5LCAwMzowNDo1NCk6Cn4jISBybj1XaWRld2l0dCBydD05NDE3MzEyMDkgcmc9d3d3Cn4jISB0aWQ9OTQxNzMxMjA5CnZpZWxsZWljaHQgaGFzdCBkdSBkaWNoIGphIGF1Y2ggYXVmIGRlciBzdWNoZSBuYWNoIGRlbiAnSGlsZmVkYXRlaW4nIG9kZXIgCmRlbiAnU3RhbmRhcnQgQ2xhc3NlbicgZWluZmFjaCBudXIgdmVydGlwcHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDKysgU3RhbmRhdCBDbGFzc2VuIChZYXJlbiwgIDUuIE5vdiAxOTk5LCAxMDoxOTo0Nik6Cn4jISBybj1XaWRld2l0dCBydD05NDE3MzEyMDkgcmc9d3d3Cn4jISB0aWQ9OTQxNzMxMjA5CmljaCBuZWhtZSBtYWwgYW4sIGRhc3MgZHUgZWluIGMrKy0gdW5kIGVpbiBzdGwtdHV0b3JpYWwgaGFiZW4gd2lsbHN0LiBoaWVyCnNpbmQgZWluIHBhYXIgbGlua3MgZGF6dToKCmh0dHA6Ly91dS1nbmEubWl0LmVkdTo4MDAxL3V1LWduYS90ZXh0L2NjL2luZGV4Lmh0bQpodHRwOi8vYnN1bnNydjEua2VrLmpwL35zb2Z0d2FyZS9jKysvc3RsL3N0bC10dXRvcmlhbC90dXRvcmlhbC5odG1sCmh0dHA6Ly9kZXZjZW50cmFsLmlmdGVjaC5jb20vbGVhcm5pbmcvdHV0b3JpYWxzL3N1YmNwcC5hc3AKaHR0cDovL2hvYmJlcy5qY3QuYWMuaWwvfm5haW1hbi9jKystaW50cm8vCgpZYXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQysrIFN0YW5kYXQgQ2xhc3NlbiAoQ2F0d2VhemxlLCAgNS4gTm92IDE5OTksIDEzOjA5OjQ5KToKfiMhIHJuPUphc3BlciBydD05NDE3Njc0OTQgcmc9d3d3Cn4jISB0aWQ9OTQxNzMxMjA5Ck9vb2NoLCBzbyBsYW5nc2FtIHNvbGx0ZSAnc3RhbmRhcnQnIG1hbCBvZmZpemllbGwgaW4gZGVuIER1ZGVuCmF1Zmdlbm9tbWVuLiBHaWIgbWFsIHN0YW5kYXJ0IGJlaSBlaW5lciBiZWxpZWJpZ2VuIFN1Y2htYXNjaGluZQppbSBXZWIgYWxzIFN1Y2hrcml0ZXJpdW0gZWluLiBEdSBrcmllZ3N0IGdhYWFueiBzY2huZWxsIGRhcyAKa2FsdGUgR3JhdXNlbiB3aWV2aWVsZSBkYXMgV29ydCBuaWNodCByaWNodGlnIHNjaHJlaWJlbiBrb2VubmVuLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEMrKyBTdGFuZGF0IENsYXNzZW4gKEdyaW1tYm9ybiwgIDUuIE5vdiAxOTk5LCAxMzoxNzowOSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTQxODAzNzg5IHJnPXd3dwp+IyEgdGlkPTk0MTczMTIwOQpVbSBkYXMga2FsdGUgRnJhdXNlbiB6dSBrcmllZ2VuIGJyYXVjaGUgaWNoIG51biB3aXJrbGljaCBrZWluZSBTdWNobWFzY2hpbmVuLgpEYSByZWljaGVuIG9mZmVuZSBBdWdlbiB1bmQgT2hyZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEMrKyBTdGFuZGF0IENsYXNzZW4gKFdpbSwgIDUuIE5vdiAxOTk5LCAxMzoyMDowOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTQxODAzNzg5IHJnPXd3dwp+IyEgdGlkPTk0MTczMTIwOQpJY2ggaGFiZSBlcyBtaXIgYmlzbGFuZyB2ZXJrbmlmZmVuLCBkaWVzZW4gRmVobGVyIGFuenVrcmVpZGVuLi4uIGFiZXIgbGFzcyBEaXIKZ2VzYWd0IHNlaW46IE1pciBrcmluZ2VsbiBzaWNoIGplZGVzIG1hbCBkaWUgRnVzc25hZWdlbC4uIGJycnJyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEMrKyBTdGFuZGF0IENsYXNzZW4gKEhvdXNlaG9sZGVyLCAgNi4gTm92IDE5OTksIDAwOjU3OjUzKToKfiMhIHJuPUphc3BlciBydD05NDE3Njc0OTQgcmc9d3d3Cn4jISB0aWQ9OTQxNzMxMjA5CmdlbmF1IGRhcyBoZWlzc3Qgc3RhbmRhY2h0a2xhc3NuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDKysgU3RhbmRhdCBDbGFzc2VuIChBcHN1LCAgNi4gTm92IDE5OTksIDIxOjAyOjM3KToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTk0MTg0NjI3MyByZz13d3cKfiMhIHRpZD05NDE3MzEyMDkKU3RhbmRhY2h0PyB3aWUgQW5kYWNodD8gU3RhbmRhcnRlPyBTdGFlbmRlcj8gOikKcGZmZmZmdCBJaHIgaGFidCBQcm9ibGVtZSA6KQpBcHN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEMrKyBTdGFuZGF0IENsYXNzZW4gKFdpZGV3aXR0LCAgOS4gTm92IDE5OTksIDEwOjM3OjM4KToKfiMhIHJuPUphc3BlciBydD05NDE3Njc0OTQgcmc9d3d3Cn4jISB0aWQ9OTQxNzMxMjA5ClNjaG9lbiBkYXMgaWhyIHdhcyB6dSBsYWVzdGVybiBoYWJ0IDspCgpBbSB2ZXJ0aXBwZW4gbGFnIGVzIGFiZXIgbGVpZGVyIG5pY2h0IC4uLiBoaWVyIGdpYmJldCBlaW5mYWNoIF9rZWluZV8KSGlsZmVkYXRlaWVuIDooKAoKV2lkZXdpdHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgZXMgZG9jaCBmdWVyIExldXRlIGdpYnQuLi4uIChOZXZvaywgIDkuIE5vdiAxOTk5LCAyMjo1NjoxOCk6Cn4jISBybj1OZXZvayBydD05NDE2NjI0MzMgcmc9d3d3Cn4jISB0aWQ9OTQxNjYyNDMzCk5hamEgbnVyIG1hbCBzbyBuZSBrdXJ6ZSBOYWNoYmVtZXJrdW5nLi4uCkRpZSBBdWt0aW9uIGlzIFNvbm50YWcgenUgRW5kZSBnZWdhbmdlbi4uLi51bmQgZWluIFNjaGVjayB1ZWJlciA3NiQgaXN0IGdlcmFkZQphdWYgZGVtIFdlZyB6dSBtaXIuLi4uCkJpbiBlaWdlbnRsaWNoIG1laHIgYWxzIHp1ZnJpZWRlbiBtaXQgZGVyIFNhY2hlLi4ubnVyIGhhYiBpY2ggdm9yIHppZyBKYWhyZW4KbWVpbmUgQ2FwdGFpbiBGdXR1cmUgSGVmdGUgZnVlciBuZW4gc2F1Z3V0ZW4gUHJlaXMgYXVmIGRlbSBGbG9obWFya3QKbG9zZ2VoYXVlbiB1bSBHZWxkIGZ1ZXIgbmVuIFJlY2huZXIgenVzYW1tZW4genUga3JpZWdlbi4uLi5iZWkgZGVtIGhldXRpZ2VuClByZWlzIGZ1ZXIgZGllIEhlZnRjaGVuIGhhZXR0ZSBpY2ggbWlyIGVpbiBwYWFyIG1laHIgUmVjaG5lciBrYXVmZW4Ka29lbm5lbi4uLi4KSWNoIGZ1ZXJjaHRlLCBkYXNzIGJlaSBtZWluZW0gR2x1ZWNrIGluIG4gcGFhciBKYWhyZW4gZWluIEtsZWlud2FnZW4gZnVlciBkaWUKTnVtbWVyIGFic3ByaW5nZW4gd3VlcmRlLi4uCnRyb3R6ZGVtLi4uLi5zY2hvZW5lcyBHZWxkIGZ1ZXIgbml4dHVuIDspCgpOZXZvawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgZXMgZG9jaCBmdWVyIExldXRlIGdpYnQuLi4uIChTdWJsaW1lLCAgOS4gTm92IDE5OTksIDIzOjAwOjMyKToKfiMhIHJuPU5ldm9rIHJ0PTk0MjE4NDU3OCByZz13d3cKfiMhIHRpZD05NDE2NjI0MzMKNzYgJCBoZWlzc3QgZG9jaCBzb3ZpZWwgd2llLCBobW0sIGtuYXBwIDEyMCAtIDEzMCBNYWVya2VyCmluIEdvb2Qnb2wnR2VybWFueSA/IFVuZCBkYXMgZnVlciBlaW5lIE51bW1lciA/IDs9KSBBbHNvCmVpbmUgSUNRIE51bW1lciA/IE5hamEsIGVzIGJlZmluZGVuIHNpY2ggaGFsdCBuaWNodCBudXIKRGVwcGVuIGF1ZiBkZXIgU3RyYXNzZSAoc2llaGUgYWxsZ2VtZWluKSBzb25kZXJuIGF1Y2ggYmVpCkF1a3Rpb25lbiA7KQoKR3JhdHVsaWVyZSAuLi4KClN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcyBlcyBkb2NoIGZ1ZXIgTGV1dGUgZ2lidC4uLi4gKE5ldm9rLCAgOS4gTm92IDE5OTksIDIzOjAzOjM2KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQyMTg0ODMyIHJnPXd3dwp+IyEgdGlkPTk0MTY2MjQzMwoqZyogTmFqYSBhbHMgRGVwcGVuIHd1ZXJkJyBpY2ggZGVuIG5pY2h0IGJlemVpY2huZW4uLi4uYWJlciBhcm0gaXNzZXIgbmV0CmRhcyBpcyBlaW4gVHlwIGRlciBoaWVyIHNvIEJ1ZWNoZXIgYSBsYSBKYXZhIDEuMyBpbiAzIE1vbmF0ZW4gdW5kIHNvIHNjaHJlaWJ0CmJlaSBuZW0gcmVsYXRpdiBncm9zc2VuIFZlcmxhZyBoaWVyIGluIEFtZXJpa2EgKFNhbSdzIFRlYWNoIFlvdXJzZWxmIFJlaWhlKQpEZXIgd29sbHRlIHdvaGwgZWluZmFjaCBuZSBuaWVkcmlnZSBOdW1tZXIgaGFiZW4uLi4udW5kIGFuIExldXRlIG1pdCBHZWxkCnZlcmthdWYgaWNoIHNvd2FzIGRvY2ggZ2VybmUuLi4uLnVuZCBLb2hsZXRlY2huaXNjaCBpc3QgZGFzIGtuYXBwIDE2MApETS4uLi4uZnJhZyBtaWNoIG5ldCB3YXMgZGFzIGluIEV1cm8gaXMuLi4uLmljaCB3ZWlzcyBEQVNTIGVzIGRlbiBFdXJvIGdpYnQsCm1laHIgYWJlciBhdWNoIG5ldCA7KQoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3V0ZSBDKysgU2VpdGUgKFJvY2h1cywgMTIuIE5vdiAxOTk5LCAxNjoxOToxMyk6Cn4jISBybj1QcmEgcnQ9OTQyNDE5ODc2IHJnPXd3dwp+IyEgdGlkPTk0MjQxOTgyMgpSb2NodXMgYmVuZW5udCBkYW5uIG1hbCAiUHJhIiBpbiAiUmEiIHVtLgooSXJnZW5kd28gbXVzcyBkYXMgJ3AnIGphIGhlcmtvbW1lbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcndpbiBBd2FyZHMgKEJhbWJ1bGtvLCAxMi4gTm92IDE5OTksIDE2OjM0OjMyKToKV2VubiBqZW1hbmQgZGllIGR1ZW1tc3RlbiBNZXRob2RlbiwgdW0gc2ljaCBzZWxic3QgdW16dWJyaW5nZW4sIGtlbm5lbmxlcm5lbgptb2VjaHRlOgoKd3d3LmRhcndpbmF3YXJkcy5kZQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnRlbG5ldCBwZXIgd3d3ID8gKFNlYmFzdGlhbiwgMTQuIE5vdiAxOTk5LCAwMDoyODoxMSk6CkhhbGxvCktlbm50IGplbWFuZCBlaW5lIE1vZWdsaWNoa2VpdCB1ZWJlciBIVFRQICAgVGVsbmV0IHp1IGJlbnV0emVuID8KYWxzbyBlaW5lIHd3dy1zZWl0ZSBtaXQgZm9ybXVsYXJlbiwgd2llIGVpbiB3d3cgY2hhdAooamF2YSBhcHBsZXR6IG51ZXR6ZW4gZGEgd2VuaWcsIGRpZSBiZW51dHplbiBqYSBhdWNoIGRlbiBUZWxuZXQgcG9ydC4uLikKZGFzIG11c3MgZXMgZG9jaCBpcmdlbmR3byBnZWJlbiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZWxuZXQgcGVyIHd3dyA/IChHcmltbWJvcm4sIDE0LiBOb3YgMTk5OSwgMTA6MTc6NTgpOgp+IyEgcm49U2ViYXN0aWFuIHJ0PTk0MjUzNTY5MSByZz13d3cKfiMhIHRpZD05NDI1MzU2OTEKV2llIHN0ZWxsc3QgRHUgRGlyIGRhcyB2b3I/IFRlbG5ldCBpc3QgcG9ydCAyMSwgaHR0cCBwb3J0IDgwLiBEdSBrYW5uc3QgbmljaHQKcG9ydCAyMSBudXR6ZW4sIGluZGVtIER1IHBvcnQgODAgbnV0enQuCkRhcyBzaW5kIG5hdHVlcmxpY2ggU3RhbmRhcmR3ZXJ0ZSwgd2VubiBEdSB3aWxsc3Qga2FubnN0IER1IG5hdHVlcmxpY2ggYXVjaAplaW5lbiBSZWNobmVyIHNvIGtvbmZpZ3VyaWVyZW4sIGRhc3MgZXIgdGVsbmV0IGF1ZiBwb3J0IDgwIG1hY2h0IHVuZCBkYW5uIGRhcwphcHBsZXQgc28gYWVuZGVybiwgZGFzcyBlcyBhdWNoIHBvcnQgODAgbnV0enQsIGFiZXIgZGFubiBrYW5uc3QgRHUgZGVuIFJlY2huZXIKYXVjaCBtaXQgZWluZW0gc2ltcGxlbiAidGVsbmV0IHJlY2huZXIgODAiIGVycmVpY2hlbi4KCkNldGVydW0gY2Vuc2VvLCBzc2ggaXN0IGRhcyBNaXR0ZWwgZGVyIFdhaGwuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB0ZWxuZXQgcGVyIHd3dyA/IChIYXRlLCAxNC4gTm92IDE5OTksIDE0OjU0OjMzKToKfiMhIHJuPVNlYmFzdGlhbiBydD05NDI1MzU2OTEgcmc9d3d3Cn4jISB0aWQ9OTQyNTM1NjkxCkZhbGxzIER1IGR1IGRhbWl0IGVpbmVuIEZpcmV3YWxsIHVlYmVyd2luZGVuIHdpbGxzdCB3aXJzdCBEdSBuaWNodAp2aWVsIEdsdWVjayBoYWJlbi4KCmEpIGlzdCBtZWlzdCBlaW4gcHJveHkgYXVmIGRlbSBmaXJld2FsbCwgc28gZGFzcyBEdSBzb3dpZXNvIG5pY2h0CiAgIGRpcmVrdCBuYWNoIGRyYXVzc2VuIGtvbW1zdApiKSB3ZW5uIER1IGVpbiBUZWxuZXQgdWViZXIgcG9ydCA4MCBtYWNoc3QgZmFlbGx0IGF1Y2ggZGFzIGF1ZiwgZGEgaW0KICAgR2VnZW5zYXR6IHp1IGh0dHAgdGVsbmV0IGRpZSB2ZXJiaW5kdW5nIG9mZmVuIGhhZWx0IHVuZCBuaWNodCBuYWNoCiAgIGplZGVyIHplaWxlL2FrdGlvbiBzY2hsaWVzc2VuIHVuZCBkYW5uIG5ldSBhdWZtYWNodC4KCk5hamEsIHVuZCBkYXMgZ2FuemUgd2llIGJlaSBlaW5lbSB3ZWJjaGF0IHp1IG1hY2hlbiBkdWVyZmUgZ3JvZXNzZXJlClByb2JsZW1lIGJyaW5nZW4sIHdlbm4gdmllbGUgRGF0ZW4gdWViZXJ0cmFnZW4gd2VyZGVuLCBkZW5uIGRhbm4gaXN0CmRlciBSZWFsemVpdC1FZmZla3QgbmFlbWxpY2ggd2VnLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIHRlbG5ldCBwZXIgd3d3IChTZWJhc3RpYW4sIDE0LiBOb3YgMTk5OSwgMjM6MjE6MDgpOgogIFNvIG1laW50ZSBpY2ggZGFzIGVpZ2VudGxpY2ggbmljaHQuCkljaCBkYWNodGUgYW4gZWlud24gV1dXLVNlcnZlciBkZXIgKHouYiB1ZWJlciBlaW5lIFBlcmwtU2NyaXB0KSBTZWxic3QgZGllClRlbG5ldCB2ZXJiaW5kdW5nIGF1ZmJhdXQgIHVuZCBkaWUgdGV4dGUgYXVzIGRlbSBGb3JtdWxhciBkb3J0IHJlaW5sZWl0ZXQgIHVuZApkaWUgQXVzZ2FiZ2VuIHBlciA8bWV0YSBpcmdlbmR3YXMtZXFpcC1yZWZyZXNoPiBhdWYgZGVuIFNjaGlybSBicmluZ3QuCgooIGRlciBSKCB2b24gUmVhbHRpbWUgRWZmZWt0IGhhYiBpY2ggYmVpbSBNdWRkZW4gYXVjaCBub2NoIG5pY2h0cyBnZW1lcmt0IDopICAKKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlIHRlbG5ldCBwZXIgd3d3IChNeXN0ZXJpb3VzLCAxNS4gTm92IDE5OTksIDE2OjIxOjEwKToKfiMhIHJuPVNlYmFzdGlhbiBydD05NDI2MTgwNjggcmc9d3d3Cn4jISB0aWQ9OTQyNjE4MDY4Cm5pIGhhbyEKCmd1Y2sgZG9jaCBtYWwgYmVpIGh0dHA6Ly93d3cucGRudGRyLmRlCmRpZSBoYW0gc29uIHd3dy1jaGF0Li4uIGZpbmQgaWNoIGFiZXIgc2VociBhZXR6ZW5kLCBuYWphLCB3YXMgc29sbHMuLi4KCmJpcyBkZW5uZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlIHRlbG5ldCBwZXIgd3d3IChXdXJ6ZWwsIDE1LiBOb3YgMTk5OSwgMjI6MTA6MTEpOgp+IyEgcm49U2ViYXN0aWFuIHJ0PTk0MjYxODA2OCByZz13d3cKfiMhIHRpZD05NDI2MTgwNjgKZ2liIGVzIHp1OiBkdSB3aWxsc3QgbnVyIG11ZGRlbiB2b24gZWluZW0gb3J0IGF1cywgd28gZXMgbmljaHQgZXJ3dWVuc2NodCBpc3QuCm5pY2h0cyBhbmRlcmVzIHRyZWlidCBkaWNoIGFuIDopCgp3dXJ6ZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIHRlbG5ldCBwZXJwZXIgd3d3IChTZWJhc3RpYW4sIDE1LiBOb3YgMTk5OSwgMjM6NDU6MzEpOgpiaW5nbyAgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlOiBtb2NobWFsIEJQTSAoU2ViLCAxNi4gTm92IDE5OTksIDIyOjU2OjUyKToKCkVudGdlZ2VuIEJlaGF1cHR1bmdlbiBiaW4gaWNoIG5pY2h0IGZ1ZXIgZGllIGFuZ2VnZWJlbmUgQWRyZXNzZSAKVmVyYW50d29ydGxpY2guICBJY2ggYmluIHdlZGVyIEluaGFiZXIgZGVzIFVSTCdzLCBCZXRyZWliZXIgZGVzClNlcnZlcnMgb2RlciBnYXIgQXV0b3IgZGVyIEluaGFsdGUsIG5vY2gga2VubmUgaWNoIGRpZXNlIExldXRlLiAKRGllIGRvcnQgZ2V6ZWlndGVuIEluaGFsdGUgc2luZCBuYWNoIG1laW5lciBBbnNpY2h0IG5pY2h0IHBvcm5vLQpncmFmaXNjaCwgcmFzc2lzdGlzY2gsIGRpc2tyaW1pbmllcmVuZCBnZXNjaG1hY2tsb3Mgb2RlciAKYWVobmxpY2hlcy4gRGFzcyBlcyBzaWNoIGJlaSBlaW5lciBEYXRlaSwgYXVmIGRpZSBkb3J0IHZlcndpZXNlbiAKd2lyZCwgdW0gZWluZSBSYXVia29waWUgZWluZXIgS29tbWVyemllbGxlbiBTb2Z0d2FyZSBIYW5kZWx0LCBpc3QgCk9mZmVuc2ljaHRsaWNoLCBkYXNzIGRpZSBQcml2YXRlIE51dHp1bmcgZGllc2VyIEtvcGllIGVpbmUgU3RyYWYtCnRhdCBkYXJzdGVsbHQsIGFsbGdlbWVpbiBiZWthbm50LCBlYmVuc28gd2llIGRhcyBQcm9ibGVtICdSYXViLQprb3BpZW4nLiBJbndpZXdlaXQgamVtYW5kIFNFTEJTVCBkaWVzZSBLb3BpZSBudXR6dCwodW5kIGRhbWl0IApTdHJhZmZhZWxsaWcgd2lyZCkgbXVzcyBqZWRlciBmdWVyIFNpY2ggZW50c2NoZWlkZW4uKFp1dm9yIGhhdHRlCmljaCBhdWYgZGllIEFkcmVzc2UgZGVyIE9yaWdpbmFsLVNvZnR3YXJlIGhpbmdld2llc2VuLikgSWNoIHNlaGUKbWljaCBkZXNoYWxiIG5pY2h0IGRlcyAndmVydHJlaWJlbnMgdm9uIFJhdWJrb3BpZW4nIHNjaHVsZGlnLgooenVkZW0gZ2xhdWJlIGljaCB3ZWRlciwgZGFzcyBSYXVwa29waWVyLUdlZ25lciBkaWUgS29waWUgZ2UtCm51dHp0LCBub2NoIGRhcyBSYXVia29waWVyZXIgZGFzIE9yaWdpbmFsIGdla2F1ZnQgSGFldHRlbi4pCgoKKGV4KSBTZWJhc3RpYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByZTogbm9jaG1hbCBCUE0gKE5ldm9rLCAxNi4gTm92IDE5OTksIDIzOjI3OjE1KToKfiMhIHJuPVNlYiBydD05NDI3OTExNzggcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMTc4Cm5ldCBydW1oZXVsZW4gdW5kIHRpcHBlbiBsZXJuZW4uLi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJlIG5vY2htYWwgQlBNIChTZWIsIDE2LiBOb3YgMTk5OSwgMjM6Mjg6MzcpOgoKCnBzLgpCZWkgZGVtIEFuZ2VnZWJlbmVuIFByb2dyYW1tIGhhbmRlbHQgZXMgU2ljaCB1bSBlaW5lbiBNcDMgCkRvcHBlbHBsYXllciBtaXQgQ0QtUmlwcGVyIHVuZCBFbmNvZGVyLiBFcyBsYWVkdCBhbHNvIGdyYWRlLQp6dSB6dXIgTnV0enVuZyB2b24gaWxsZWdhbGVuIE11c2lrLVJhdWJrb3BpZW4gZWluLCB1bmQgd2lyZAp6d2VpZmZlbGxvcyB6dSBkZXJlbiBWZXJicmVpdHVuZyBiZWl0cmFnZW4gKGJlc29uZGVycyBpbSAKcHJvZmVzc2lvbmVsbGVuIEJlcmVpY2ggZXJvZWZmbmV0IGVzIG5ldWUgTW9lZ2xpY2hrZWl0ZW4pLgpTaW5kIGRpZSBTb2Z0d2FyZWhlcnN0ZWxsZXIgamV0enQgJ1ZlcnRyZWliZXIgdm9uIFJhdWJrb3BpZW4nID8KCgpmcmFndCBzaWNoIFNlYiAoZXggU2ViYXN0aWFuKSAgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiByZSBub2NobWFsIEJQTSAoTmV2b2ssIDE2LiBOb3YgMTk5OSwgMjM6Mjk6NDcpOgp+IyEgcm49TmV2b2sgcnQ9OTQyNzkxMzUxIHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpndXQgdW5kIGFuIGRlbSBuaWNoIHJ1bWhldWxlbiBUZWlsIHVlYnN0IER1IGpldHp0IG5vY2ggJ24gYmlzY2hlbiB3ZWl0ZXIsIG9rPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmUgbm9jaG1hbCBCUE0gKFNlYiwgMTYuIE5vdiAxOTk5LCAyMzo0MDoyNSk6CldpZXNvIHVlYmVuID8gIFdhciBkYXMgbm9jaCBuaWNodCBndXQgZ2VudWcgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJlIG5vY2htYWwgQlBNIChQaWxncmltLCAxNy4gTm92IDE5OTksIDEyOjAwOjAxKToKfiMhIHJuPVNlYiBydD05NDI3OTEzMTcgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3Cj4gcHMuCj4gQmVpIGRlbSBBbmdlZ2ViZW5lbiBQcm9ncmFtbSBoYW5kZWx0IGVzIFNpY2ggdW0gZWluZW4gTXAzIAo+IERvcHBlbHBsYXllciBtaXQgQ0QtUmlwcGVyIHVuZCBFbmNvZGVyLiBFcyBsYWVkdCBhbHNvIGdyYWRlLQo+IHp1IHp1ciBOdXR6dW5nIHZvbiBpbGxlZ2FsZW4gTXVzaWstUmF1YmtvcGllbiBlaW4sIHVuZCB3aXJkCj4gendlaWZmZWxsb3MgenUgZGVyZW4gVmVyYnJlaXR1bmcgYmVpdHJhZ2VuIChiZXNvbmRlcnMgaW0gCj4gcHJvZmVzc2lvbmVsbGVuIEJlcmVpY2ggZXJvZWZmbmV0IGVzIG5ldWUgTW9lZ2xpY2hrZWl0ZW4pLgo+IFNpbmQgZGllIFNvZnR3YXJlaGVyc3RlbGxlciBqZXR6dCAnVmVydHJlaWJlciB2b24gUmF1YmtvcGllbicgPwpWZXJ0cmVpYmVyIHdvaGwga2F1bSAuLi4gbWFuIGtvZW5udGUgZGllIEZyYWdlIG5hY2ggIkJlZ3VlbnN0aWdlciIKc3RlbGxlbiAuLi4gdW5kIGluIGRlciBUYXQgaGF0IG1hbiAoZGllIEFtZXJpa2FuaXNjaGUgUGhvbm9JbmR1c3RyaWUpCmRhcyBhdWNoIHZlcnN1Y2h0IChiZWkgZGVyIEVpbmZ1ZWhydW5nIGRlciBEaWFtbW9uZCBSSU8ncykgLi4uIHVuZCBkZW4gUHJvemVzcwp2ZXJsb3JlbiAuLi4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmUgbm9jaG1hbCBCUE0gKEFscGhhLCAyMy4gTm92IDE5OTksIDEzOjMyOjI2KToKfiMhIHJuPVBpbGdyaW0gcnQ9OTQyODM2NDAxIHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpXYXMgcmVndCBzaWNoIGRlbm4gaGllciBpbSBNRyB1ZWJlcmhhdXB0IGplbWFuZCBkcnVlYmVyIGF1Ziwgd2VubiBqZW1hbmQKcmF1YmNvcGllcnQuIFVuZCB1ZWJlcmhhdXB0LCBzZWl0IHdhbm4gaXN0IGRhcyBkZW5uIEdydW5kIHp1ciBMb2VzY2h1bmcgZWluZXMKU3BpZWxlcnM/IFdpcmQgbWFuIGRlbW5hZWNoc3QgZ2Vsb2VzY2h0LCB3ZW5uIG1hbiBhdWYgLWEgenVnaWJ0LCBkYXNzIG1hbiBDRHMKYnJlbm50PyBLb21tdCBiZWltIEVpbmxvZ2dlbiBkZW1uYWVjaHN0IGVpbiA+Q29weUtpbGxzTXVzaWM8IFNwb3Q/IE5hIGFiZXIuClNvbGFuZyBoaWVyIGtlaW5lciBlaW4gcmF1YmNvcGllcnRlcyBNRyBhbnByZWlzdCwgc29sbHRlIG1hbiBudSB3aXJrbGljaCBuaWNodApnZWxvZXNjaHQgd2VyZGVuLgpBbHBoYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHJlIG5vY2htYWwgQlBNIChCb2luZywgMjMuIE5vdiAxOTk5LCAxMzozNzo0OCk6Cn4jISBybj1BbHBoYSBydD05NDMzNjAzNDYgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3Clt4XSBEdSBoYXN0IGVzIG5pY2h0IGthcGllcnQKCkVzIGdlaHQgaGllciBuaWNodCBkYXJ1bSBvYiBqZW1hbmQgcmF1YmtvcGllcnQgb2RlciBuaWNodCwgZGFzIGlzdCBtaXIKdm9sbGtvbW1lbiBlZ2FsIHVuZCBnZWh0IG1pY2ggYXVjaCBuaXggYW4uCkRlciBTcGFzcyBmdWVyIGRhcyBNRyBob2VydCBpbiBkZW0gTW9tZW50IGF1Ziwgd2VubiBoaWVyIGVpbmUgUGxhdHRmb3JtCmZ1ZXIgUmF1YmtvcGllbmhhbmRlbCAob2RlciB3aWUgYXVjaCBpbW1lciBtYW4gZGFzIG5lbm5lbiB3aWxsKSBnZWJvdGVuCndpcmQuIElyZ2VuZHdhbm4gc3RlaHQgdW5zIGRhbm4gbWFsIGVpbiBKdXJpc3QgYXVmIGRlbiBGdWVzc2VuIHVuZCBkYXMKTUcgaXN0IHdlZy4gVG90LiBGaW5pdG8uCgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiByZSBub2NobWFsIEJQTSAoQXBzdSwgMjMuIE5vdiAxOTk5LCAxNDowMjozNik6Cn4jISBybj1BbHBoYSBydD05NDMzNjAzNDYgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3CkZhbHNjaC4gUmF1YmtvcGllcmVuIGlzdCBudW4gbWFsIGlsbGVnYWwsIHVuZCBkZW0gTXVkIGthbm4gc2VociBzY2huZWxsIGRlcgpoYWhuIHp1Z2VkcmVodCB3ZXJkZW4sIHdlbm4gc2ljaCBkZXIgZmFsc2NoZSBvZGVyIGRpZSBmYWxzY2hlIGFuIGRlciByaWNodGlnZW4Kc3RlbGxlIGF1ZnJlZ3QuIGRhc3MgOTkgJSBkZXIgbGV1dGUgaGllciBkZW0gZnJvZWhsaWNoZW4gcmF1YmtvcGllcmVuCmZyb2VobmVuLCBpc3QgZGVyZW4gcHJpdmF0dmVyZ251ZWdlbi4gZGFzIHNpbmQgMiBnYW56IHZlcnNjaGllZGVuZSBkaW5nZS4KCkFwc3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJlIG5vY2htYWwgQlBNIChFbmRlciwgMjMuIE5vdiAxOTk5LCAxNDoyMTo1Nik6Cn4jISBybj1BcHN1IHJ0PTk0MzM2MjE1NiByZz13d3cKfiMhIHRpZD05NDI3OTEzMTcKSWNoIGJpbiBiZXN0aW1tdCBkYXMgZWluZSBQcm96ZW50LgpFbmRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJlIG5vY2htYWwgQlBNIChTdWJsaW1lLCAyMy4gTm92IDE5OTksIDE5OjA0OjA5KToKfiMhIHJuPUVuZGVyIHJ0PTk0MzM2MzMxNiByZz13d3cKfiMhIHRpZD05NDI3OTEzMTcKU2VuZiA6CgpBbHNvLCBlcnN0bWFsIGRhenUsIGRhc3Mgc2ljaGVyIChmYXN0KSBqZWRlciwgYWxzbyA5OSAlCmlyZ2VuZGVpbmUgZ2VicmFubnRlIENkIGltIFJlZ2FsIHN0ZWhlbiBoYXQsIHNlaSdzIG51bgpNdXNpayBvZGVyIGlyZ2VuZGVpbiBQcm9ncmFtbS4gU2VpIGVzIG51biBlaW5lIGFsdGUgRGlzLQprZXR0ZSBtaXQgZGVtIGd1dGVuIGFsdGVuIE1zLURvcyBkcmF1ZiBvZGVyIGRlbSAoZG9vZmVuKQpNUyBPZmZpY2UgMjAwMCBQcm9mLiBFZGl0aW9uLgpEYXp1IDogRGVtIEhlcnN0ZWxsZXIgbWFjaHQgZGllcyBzb2xhbmdlIGtlaW5lbiBTY2hhZGVuLApzb2xhbmdlIGVzIG5pY2h0IGVpbmVuIFR5cGVuIGdpYnQsIGRlciBwcm8gVGFnIHNvIHVtIGRpZQoxMDAwIEtvcGllbiBtYWNodCB1bmQgZGF2b24gbWVociBhbHMgZGllIEhhZWxmdGUgcHJvIE1vbmF0CnZlcmthdWZ0LiBXZW5uIGplbWFuZCBzaWNoIHp1IEhhdXNlIGVpbmUgcHJpdmF0ZSBLb3BpZQptYWNodCB1bmQgZGFzIFRlaWwgbmljaHQgd2VpdGVyIHZlcmJyZWl0ZXQsIGRhbm4gc2NoYWRldCBlcwpkZW0gSGVyc3RlbGxlciBhdWNoIG51ciBtaW5pbWFsICEgT2Z0bWFscyBrYXVmdCBtYW4gc2ljaApqYSBhdWNoIGRhbm4gZGFzIE9yaWdpbmFsLXByb2dyYW1tLCB1bSB2aWVsbGVpY2h0IGRpZSBEb2N1cwppbiBIZWZ0Zm9ybSB6dSBoYWJlbiBvZGVyIHNvd2FzIGluIGRlciBBcnQuCgpadW0gTXVkOiBFcyBpc3QgcmljaHRpZywgZGFzcyBtYW4gc2VsYnN0IGRlbSBIZWltLQphbndlbmRlciBoaWVyIGtlaW5lIFBsYXR0Zm9ybSBiaWV0ZW4ga2FubiwgdWViZXIKUmF1YmtvcGllbiB6dSB2ZXJoYW5kZWxuIHVuZCBpcmdlbmRlaW5lbSBNdWRkZXIgZWluZQpLb3BpZSBtYWNodC4gU2Nob24gZ2FyIG5pY2h0IHNvbGx0ZW4gaGllciBkaWUgCnNvZ2VuYW5udGVuIFByb2ZpLWtvcGllcmVyIG1pdCBtZWhyIGFscyAxMDAwIEtvcGllbgpwcm8gVGFnIHp1IFdvcnQga29tbWVuLgpBYmVyIHdhcyByZWd0IHNpY2ggYWxsZSBXZWx0IGF1ZiwgZXMgaXN0IGhhbHQgYWxsZXMKaW0gTUcgdW5nZXJuIGdlc2VoZW4sd2FzIGVpbiBzY2hsZWNodGVzIExpY2h0IGhpZXJhdWYKd2VyZmVuIGtvZW5udGUsIGFsc28gei5Cc3AuIGRlbSBnYW56ZW4gTmF6aXNjaGVpc3MsIApkaWUgZ2FuemVuIE5hemluYW1lbiBzaW5kIGphIG5pY2h0IHVtc29uc3QgZ2ViYW5pc2h0LgpBbHNvIGthbm4gbWFuIGVzIGRvY2ggZ3V0IHZlcnN0ZWhlbiwgZGFzcyBkYXMgTUcKa2VpbmUgUGxhdHRmb3JtIGZ1ZXIga3JpbWluZWxsZSBBa3Rpdml0YWV0ZW4gb2RlcgpyZWNodHNsYXN0aWdlIEFldXNzZXJ1bmdlbiBzZWluIGthbm4uCgpBY2hzbywgZWlucyBub2NoICEgSWNoIHdpbGwgbnVyIG5vY2htYWwgZHJhdWYKaGlud2Vpc2VuLCBkYXNzIHdvaGwgdmllbGUgdWViZXJtYWVzc2lnIGtvcnJla3QgCnR1bi4gU28gbmFjaCBkZW0gTW90dG86IEljaCB1bmQgUmF1YmtvcGllbiA/Pz8KTmllbWFscyAhISEKQWJlciBhbHMgaWNoIGVpbmVyIGdld2lzc2VuIFBlcnNvbiBlcnphZWhsdCBoYXR0ZQooaWNoIG5lbm5lIHNpZSBoaWVyIG5pY2h0IG5hbWVudGxpY2gpLCBkYXNzIGhpZXIKYmVpIG1pciB6dSBIYXVzZSBkZXIgbmV1ZSBTdGFyIFdhcnMgRmlsbSBhdWYgMiBDZHMKKHZvbiBuZW0gRnJldW5kIGF1c2dlbGllaGVuKSBsaWVnZW4sIGRhIHd1c3N0ZQpkYXMgcGxvZXR6bGljaCBqZWRlciB1bmQgbWluZGVzdGVucyAyMCBMZXV0ZSBoYWJlbgptaWNoIGF1Y2ggZGFyYXVmIGFuZ2VzcHJvY2hlbiwgb2Igc2llIGlobiB2aWVsbGVpY2h0CmhhYmVuIGtvZW5udGVuLiBJbW1lcmhpbiBoYWJlbiBtaXIgZGllIExldXRlIFVuc3VtbWVuCihiaXMgMTUwLC0gTWFlcmtlciksIGhhYmUgbWljaCBkYXZvbiBhYmVyIG5pY2h0IGJlLQppcnJlbiBsYXNzZW4gdW5kIGRpZSBUZWlsZSBuaWNodCB2ZXJ2aWVsZmFlbHRpZ3QgIQoKc2VuZl9lbmRlCmxpZWJlIGdydWVzc2UKc3VibAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogcmUgbm9jaG1hbCBCUE0gKFBhbXBlcnMsIDIzLiBOb3YgMTk5OSwgMTk6MzU6MDYpOgp+IyEgcm49RW5kZXIgcnQ9OTQzMzYzMzE2IHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpTY2hvZW4sIFNjaG9lbiBmdWVyIERpY2gsIFNjaG9lbiBmdWVyIGRpZSBTb2Z0d2FyZWluZHVzdHJpZS4KCkFiZXI6IFdlbiBzb25zdCwgbWVpbnN0IER1LCBpbnRlcmVzc2llcnQgZXMgYXVjaCBudXIgZWluZW4geHh4LCBvYiBvZGVyIG9iIER1Cm5pY2h0IHJhdWJrb3BpZXJzdD8KCgpQYW1wZXJzLiBJbnRlcmVzc2llcnQgc2ljaCBuaWNodC4gRGFmdWVyLiBVbmQgZnVlciBhbmRlcmUgV2VzZW50bGljaGtlaXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlIG5vY2htYWwgQlBNIChTdWJsaW1lLCAyMy4gTm92IDE5OTksIDE5OjM4OjU4KToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQzMzgwMjQ5IHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpIYWIgaWNoIG5pY2h0IGF1c2RydWVja2xpY2ggbWVpbmVuIEFydGlrZWwgbWl0CiJTZW5mIiBnZXN0YXJ0ZXQgdW5kIG1pdCAic2VuZl9lbmRlIiB3aWVkZXIgZWluCkVuZGUgZ2VzZXR6dCA7PSkKCnN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlIG5vY2htYWwgQlBNIChHcmltbWJvcm4sIDIzLiBOb3YgMTk5OSwgMjA6NTk6MzkpOgp+IyEgcm49U3VibGltZSBydD05NDMzODAyNDkgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3CkRlaW5lIEFuc2ljaHRlbiBkYXJ1ZWJlciwgd2FzIG51biBTY2hhZGVuIGlzdCBvZGVyIG5pY2h0IHVuZCB3YXMgbnVuCkNvcHlyaWdodHZlcmxldHp1bmcgaXN0IG9kZXIgbmljaHQgc2luZCBqYSBzZWhyIGludGVyZXNzYW50LCBkZWNrZW4gc2ljaApqZWRvY2ggbmljaHQgbWl0IGRlciBha3R1ZWxsZW4gUmVjaHRzcHJlY2h1bmcuCgpOYXR1ZXJsaWNoIGJpbiBpY2ggZGVyIE1laW51bmcsIGRhc3MgbWFuIFNvZnR3YXJlLCBkaWUgbWFuIGJlbnV0enQsIGF1Y2gKYmV6YWhsZW4gc29sbCwgdW5kIG5hdHVlcmxpY2ggaGFiZSBpY2ggYWxsZSBmYWVsbGlnZW4gR2VidWVocmVuIGZ1ZXIgZGllClByb2dyYW1tZSwgZGllIGljaCBudXR6ZSwgYXVjaCBiZXphaGx0LCBhYmVyIGdlYnJhbm50ZSBDRHMgZ2lidHMgbmF0dWVybGljaAplaW5lLiBEYXJ1bnRlciBhdWNoIHNvIGx1c3RpZ2UgRGluZ2Ugd2llIGVpbmUsIGRpZSBwZXIgYXV0b3J1bi5pbmYgYWxsZQpGZXN0cGxhdHRlbiBvaG5lIFJ1ZWNrbWVsZHVuZyBmb3JtYXRpZXJ0LiBEYXNzIG1pY2ggZGFzIG5pY2h0IHJldHRldCwgZGFzcyBpY2gKZGllIGtvc3RlbnBmbGljaHRpZ2VuIEtvcGllbiBuaWNodCBlaW5zZXR6ZSBpc3QgbWlyIG5hdHVlcmxpY2ggYXVjaCBrbGFyLiBBYmVyCmljaCBiZWhhdXB0ZSBuaWNodCwgZGFzcyBkYXMgdm9lbGxpZyBvayBzZWkgc293YXMgenUgaGFiZW4uIERhcyBpc3QgcGZ1aSBiYWguCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJlIG5vY2htYWwgQlBNIChHcmltbWJvcm4sIDIzLiBOb3YgMTk5OSwgMjE6MDE6MzQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0MzM4NzE3OSByZz13d3cKfiMhIHRpZD05NDI3OTEzMTcKRGFzICJlaW5lIiBpbiBkZXIgTWl0dGUgZGVzIHp3ZWl0ZW4gQWJzYXR6ZXMgc29sbHRlICJlaW4gcGFhciIgaGVpc3Nlbi4gQWxzCktvcnJla3R1ciwgd2VpbCBlcyBkZW4gU2lubiBiZWVpbmZsdXNzdCAoUkZDIDE4NTUsIGFiZXIgZGFzIGtlbm50IGlociBqYQphbGxlKSwgdW5kIGFscyBlaWdlbmVyIEFydGlrZWwsIHdlaWwgaWNoIHp1IGZhdWwgYmluIGRhcyB6dSBsb2VzY2hlbiB1bmQgbmV1Cnp1IG1hY2hlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZSBub2NobWFsIEJQTSAoU3VibGltZSwgMjMuIE5vdiAxOTk5LCAyMTowMjozOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTQzMzg3MTc5IHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpEYW5uIHNvbGx0ZXN0IER1IHZpZWxsZWljaHQgYXVmIGRpZXNlIENkIG1pdCBkZXIKYXV0b3J1bi5pbmYsIGRpZSBhbGxlIEZlc3RwbGF0dGVuIG9obmUgUnVlY2ttZWwtCmR1bmcgZm9ybWF0aWVydCBldHdhcyBvZWZ0ZXIga29waWVybiwgTWljcm9zb2Z0Ck5UIFNlcnZlciBvZGVyIE1TIE9mZmljZSAyMDAwIFByb2YuIEVkaXRpb24gZHJhdWYtCnNjaHJlaWJlbiB1bmQgdW50ZXIgZGllIExldXRlIGJyaW5nZW4uCkRhcyB3YWVyZSBhdWYgamVkZW4gRmFsbCBsdXN0aWdlciwgYWxzIGRlciB4LXRlIFZpcnVzIDspCgpsaWViZSBncnVlc3NlClN1YmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IHJlIG5vY2htYWwgQlBNIChHcmltbWJvcm4sIDIzLiBOb3YgMTk5OSwgMjE6MTY6MzcpOgp+IyEgcm49U3VibGltZSBydD05NDMzODczNTggcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3Clp1IGxlaWNodCB6dXJ1ZWNrenV2ZXJmb2xnZW4uIFp1IHBsdW1wLiBJY2ggemllaGUgZXMgdmllbCBlaGVyIHZvciwgd2VubiBkaWUKTGV1dGUgdGF0c2FlY2hsaWNoIE5UIFNlcnZlciBvZGVyIE9mZmljZSAyMDAwIGF1ZiBkZXIgUGxhdHRlIGhhYmVuLiBEYXMgaXN0CnZpZWwgYmVzc2VyIGFscyBoZXJrb2VtbWxpY2hlIFZpcmVuLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IHJlIG5vY2htYWwgQlBNIChTdWJsaW1lLCAyNC4gTm92IDE5OTksIDIxOjMzOjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NDMzODgxOTcgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3ClN0aW1tdCwgaGFzdGUgYXVjaCB3aWVkZXIgcmVjaHQgOz0pCkFiZXIgaXN0IERpciBrbGFyLCBkYXNzIEJpbGwgR2F0ZXMKdW5kIHNlaW5lIFByb2dyYW1taWVyZXIgZGFkdXJjaCBnYW56CnZpZWxlIE1pbGxpb25lbiBBcmJlaXRzcGxhZXR6ZSBhdWYKZGVyIFdlbHQgdm9uIFZpcmVucHJvZ2dlcm4gZ2VmYWVocmRlbiA/CgpTdWJsaW1lLCBzY2hvY2tpZXJ0IHVlYmVyIGRhcyBNU01vbm9wb2wuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHJlIG5vY2htYWwgQlBNIChBcHN1LCAyNS4gTm92IDE5OTksIDAwOjU3OjIzKToKfiMhIHJuPVN1YmxpbWUgcnQ9OTQzMzgwMjQ5IHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpBdXNzZXJkZW0gaXN0IGF1Y2ggZGllIEtvcGllIGRlcyBPcmlnaW5hbHMgZWluZXMgRnJldW5kZXMgc2Nob24gUmF1YmtvcGllCihyZWluIHJlY2h0bGljaCBnZXNlaGVuKSB1bmQgc29taXQgaXN0IDk5JSBzY2hvbiB1bnRlcnRyaWViZW4sIG1pdCA5OSUgbWVpbmUKaWNoIG5hdHVlcmxpY2ggbmljaHQsIGRhc3MgOTklIGRlciBNdWRkZXIgaGllciBwcm9mZXNzaW9uZWxsIFJhdWJrb3BpZW4KdmVydGVpbGVuLCBhYmVyIGltIGVuZ2VyZW4gU2lubmUgaXN0IGhpZXIga2VpbmVyIGdhbnogc2F1YmVyIChpY2ggYXVjaCBuaWNodDoKImFlaCB0amEgenVmYWVsbGlnIGhhYiBpY2ggZGFzIE9yaWdpbmFsIHZlcnNjaGxhbXB0IHVuZCBkdW1tZXJ3ZWlzZSBhdWNoIG5vY2gKZGFzIFNpY2hlcmhlaXRzYmFja3VwIC4uLiIgdXN3IHVzZi4gOikpCgpadSBFbmRlcjogRHUga2FubnN0IG1pciBfbmljaHRfIGVyemFlaGxlbiwgZGFzcyBEdSBudXIgMTAwJSBsZWdhbGUgU2FjaGVuIGF1ZgpkZW0gQ29tcGkgaGFzdC4gSGV1Y2hlbGVpIGlzdCBlaW5lIFNhY2hlLCBzaWNoIGF1Y2ggbm9jaCBvZWZmZW50bGljaCB6dQpibGFtaWVyZW4gZWluZSBhbmRlcmUuCgpBcHN1LCBkZW0gdWVibGljaGVuIEZsYW1lbiwgS29yaW50aGVua2Fja2VuIHVuZCBIYWFyZXNwYWx0ZW4gbWFsIHZvcmJldWdlbmQsCmJldm9yIGRpZXMgZWluIG5ldWVyIFJpZXNlbnRocmVhZCB3aXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZSBub2NobWFsIEJQTSAoRm9vYmFyLCAyNS4gTm92IDE5OTksIDA1OjU1OjAyKToKfiMhIHJuPUFwc3UgcnQ9OTQzNDg3ODQzIHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpUYWNoLgoKS2FubiBlciBEaXIgZG9jaCBlcnphZWhsZW4sIEFwc3UsIGhhYiBpY2ggbmFlbWxpY2ggYXVjaC4gTWVpbiBQcml2YXQtUEMgbGFldWZ0CmF1c3NjaGxpZXNzbGljaCBtaXQgTGludXggdW5kIGlzdCBpbnNvZmVybiAxMDAlICJsZWdhbCIuCgpHcnVzcywKCiAgICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiByZSBub2NobWFsIEJQTSAoRW5kZXIsIDI1LiBOb3YgMTk5OSwgMDc6MTI6NTcpOgp+IyEgcm49QXBzdSBydD05NDM0ODc4NDMgcmc9d3d3Cn4jISB0aWQ9OTQyNzkxMzE3CkljaCBrYW5uIGRpciBkYXMgbmljaHQgZXJ6YWVobGVuLCBoYWhhLgpJQ0ggSEFCRSBFUyBESVIgRVJaQUVITFQuCjotKQpFbmRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmUgbm9jaG1hbCBCUE0gKEVuZGVyLCAyNS4gTm92IDE5OTksIDA3OjM1OjU2KToKfiMhIHJuPUFwc3UgcnQ9OTQzNDg3ODQzIHJnPXd3dwp+IyEgdGlkPTk0Mjc5MTMxNwpOb2NobWFsIGltIEVybnN0LCBtYW4ga2FubiBiZWltIENvbXB1dGVya2F1ZiBhdWNoIGRpZSBub3R3ZW5kaWdlIFNvZnR3YXJlCmdsZWljaCBtaXRiZWtvbW1lbiwgd2VubiBtYW4gbmljaHQgYmVpbSBiaWxsaWdzdGVuIEFuYmlldGVyIHdhZWhsdCwgbmFlY2hzdGVucwpiaW4gaWNoIG5vY2ggU3R1ZGVudCwgZGFydW0gaXN0IGVzIGtlaW4gUHJvYmxlbSwgc2VsYnN0IGJlaQpNUy0iQmV0cmllYnNzeXN0ZW0iIGRpZSBwYXNzZW5kZW4gUHJvZ3JhbW1lIHp1bSBicmF1Y2hiYXJlbiBQcmVpcyB6dSBiZWtvbW1lbiwKdW5kIHdhcyBtYW4gYW4gc3BlemllbGxlbiBzYWNoZW4gYnJhdWNoLCBkYSBnaWJ0IGVzIG1laXN0IG5lIGFiZ2VzcGVja3RlCkRlbHBoaS1WYXJpYW50ZSB1bmQgZGFubiBzZWxic3QgaXN0IGRlciBNYW5uIChvZGVyIGRpZSBGcmF1LCB1bSBuZXV0cmFsIHp1CnNlaW4pLgpadSBMaW51eCwgaWNoIGhhYmUgc2lldCBrdXJ6ZW0gZXJzdCBMaW51eCB1bmQgZmluZGUgZXMgaXN0IGVpbmUgQWx0ZXJuYXRpdmUKdW5kIGluc2Jlc29uZGVyZSBkaWUgU3RhbmRhcmRhbndlbmR1bmdlbiBzaW5kIGRvcnQgYmlsbGlnIHp1IGJla29tbWVuLgpTcGV6aWVsbGVzIGthbm4gbWFuIHNlbGJlciBwcm9nZ2VuLgpNYW4ga2FubiBuYXR1ZXJsaWNoIG5pY2h0IGFsbGVzIHNlbGJlciBwcm9nZ2VuLCBhYmVyIGVpbmVzIGlzdCBzaWNoZXIsIHdlbm4KbWFuIGtlaW4gR2VsZCBoYXQsIHVuZCBtYW4gd2lsbCBkaWUgbmV1ZXN0ZSBiZXN0ZSBTb2Z0d2FyZSB0cm90emRlbSBudXR6ZW4sCmRhbm4ga2FubiBpY2ggdmVyc3RlaGVuLCBkYXNzIG1hbiBhbSByYXVia29waWVyZW4gbmljaHQgdm9yYmVpa29tbXQuIEFiZXIgaWNoCmJyYXVjaGUgbmljaHQgZGllIG5ldWVzdGUgYmVzdGUgU29mdHdhcmUsIGVzIGdlaHQgYXVjaCBtZWlzdCBtaXQgYWVsdGVyZW4KVmVyc2lvbmVuLgpVbmQgd2VubiBlcyBuaWNodCBnZWh0LCBkYW5uIGdpYnQgZXMgbWVpc3QgbmUgYW5kZXJlIExvZXN1bmcgb2huZSBrbGF1ZW4sIHp1bQpCZWlzcGllbCBrYXVmZW4gOi0pLgpJY2ggZGVua2UgaWNoIGhhYmUgbWljaCBuaWNodCBibGFtaWVydCwgaWNoIHdlaXNzIG51ciBiZXNzZXIgYWxzIGR1LCB3YXMgaWNoCmF1ZiBkZXIgUGxhdHRlIGhhYmUuCgpFbmRlcgoKUFM6IGdpYnQgZXMgZWlnZW50bGljaCBuZSBXV1ctU2VpdGUgYWVobmxpY2ggZGllIGF1ZnphZWhsdCwgd28gbWFuIHdlbGNoZQpzb2Z0d2FyZSBndWVuc3RpZ2VyIGJla29tbXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp4YmlsbCwgSmF2YXZlcnNpb24gKENhdHdlYXpsZSwgMjYuIE5vdiAxOTk5LCAxNDowNDoxOSk6Cn4jISBvbj1FcmRiZWVyZSBvdD05NDM1NjE3NDkgb2c9d2l0emUKKGRhIHd3dyByYW5kdm9sbCBpc3QsIGtvbW10IGVzIGhpZXIgcmVpbikKCmh0dHA6Ly93d3cueGJpbGwub3JnL2FwcGxldC9hcHBsZXQuaHRtbAoKRXJkYmVlcmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2Z0d2FyZSAoU2ViLCAyOC4gTm92IDE5OTksIDAzOjAxOjIxKToKCi4uLm5hamEgaW1tZXJoaW4gaXN0IGhpZXIgd2llZGVyIHdhcyBMb3MsICAgZnJldXQgbWljaCAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb3ZlIHRoeSBuZWlnaGJvciEgKFNpbHZhbmEsIDI5LiBOb3YgMTk5OSwgMTQ6NTI6MTUpOgpBYnNvbHV0IHdpY2h0aWdlbiBJbmZvcm1hdGlvbmVuIGZyIGplZGVuIFJvbGxlbnNwaWVsZXIgdW5kIE11ZGRlcjoKCmh0dHA6Ly93d3cuY28uanl1LmZpL35ucC9ycGcvRG5EL2xvdmVnYW1lLmh0bWwKCkdlaHQgaW4gRXVpY2gsIGJlcmV1aGV0IQoKQW1lbiAtIFNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb3ZlIHRoeSBuZWlnaGJvciEgKEx1ZywgMzAuIE5vdiAxOTk5LCAyMzoyNjo0OSk6Cn4jISBybj1TaWx2YW5hIHJ0PTk0Mzg4MzUzNSByZz13d3cKfiMhIHRpZD05NDM4ODM1MzUKSG0/IFdpZT8KClVuZnVnLgoKRnVjayB0aGUgbmVpZ2hib3Vycy4uLgoKCkx1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMb3ZlIHRoeSBuZWlnaGJvciEgKEdyaW1tYm9ybiwgMzAuIE5vdiAxOTk5LCAyMzo0Nzo0Mik6Cn4jISBybj1MdWcgcnQ9OTQ0MDAwODA5IHJnPXd3dwp+IyEgdGlkPTk0Mzg4MzUzNQpEdSBzY2hlaW5zdCBkZXV0bGljaCBhdHRyYWt0aXZlcmUgTmFjaGJhcm4genUgaGFiZW4gYWxzIGljaC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTG92ZSB0aHkgbmVpZ2hib3IhIChMdWcsICAxLiBEZXogMTk5OSwgMDE6MjM6MzIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk0NDAwMjA2MiByZz13d3cKfiMhIHRpZD05NDM4ODM1MzUKCktsYXIgZG9jaCwgU2Nobml0dGVuIGVuIG1hc3NlLi4uCgoKVHNzdHNlbmQKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGVFAgKEhhdGUsICAxLiBEZXogMTk5OSwgMTY6MTU6NDIpOgpQYXNzdCBpcmdlbmR3aWUgdGhlbWVubWFlc3NpZyBlaGVyIGhpZXJoZXIgYWxzIHdvYW5kZXJzaGluOgoKQXVmIGZ0cC5tdWQuZGUvcHViL21pcnJvci9tZy5tdWQuZGUKd2lyZCBkZXIgTUcgZnRwIHdvZWNoZW50bGljaCBnZXNwaWVnZWx0LgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb3ZlIHRoeSBuZWlnaGJvciEgKEFjcmltb24sICA2LiBEZXogMTk5OSwgMjE6MDU6MDQpOgp+IyEgcm49U2lsdmFuYSBydD05NDM4ODM1MzUgcmc9d3d3Cn4jISB0aWQ9OTQzODgzNTM1Cj4gaHR0cDovL3d3dy5jby5qeXUuZmkvfm5wL3JwZy9EbkQvbG92ZWdhbWUuaHRtbAoKTmljaHQgenUgdmVyZ2Vzc2VuIGRpZSBBdWZsb2VzdW5nc3NlaXRlOgpodHRwOi8vd3d3LmNvLmp5dS5maS9+bnAvcnBnL0RuRC9hbnN3ZXJzLmh0bWwKCkFjcmltb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthZW1wZmVyc2VpdGVuIChHdWFyZCwgIDkuIERleiAxOTk5LCAxODozNjo1Nyk6CmhvaSwKCnB1ZW5rdGxpY2ggenVyIFBhcnR5IGhhYiBpY2ggbm9jaG4gVXBkYXRlIGRlciBTZWl0ZW4gZWluZ2VzcGllbHQuIFZpZWxlIEZpeGVzCnVuZCB3YXMgbmV1ZXMgOi0pCgp2aWVsIFNwYXNzIGJlaW0gbGVzZW4KCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYWV0c2VsIChTZWIsIDE1LiBEZXogMTk5OSwgMDA6MjU6MjcpOgoKSGVmdGlnZSBSYWV0c2VsIGJlaToKd3d3Lml0a3AudW5pLWJvbm4uZGUvfndpY2htYW5uLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVU4gSHVuZ2Vyc2l0ZSAoQmFtYnVsa28sIDE2LiBEZXogMTk5OSwgMTA6MjM6MzQpOgoKRGVhciBBbGwsClF1aXRlIGNsZXZlciBvZiB0aGUgVU4gdG8gZG8gdGhpcy4gR28gdG8gdGhlIEh1bmdlclNpdGUgYXQgdGhlClVOLiBBbGwgeW91IGRvIGlzIGNsaWNrIGEgYnV0dG9uIGFuZCBzb21ld2hlcmUgaW4gdGhlIHdvcmxkIHNvbWUKaHVuZ3J5IHBlcnNvbiBnZXRzIGEgbWVhbCB0byBlYXQsIGF0IG5vIGNvc3QgdG8geW91LgpUaGUgZm9vZCBpcyBwYWlkIGZvciBieSBjb3Jwb3JhdGUgc3BvbnNvcnMgKHdobyBnYWluIGFkdmVydGlzaW5nCmluIHRoZSBwcm9jZXNzIGJlY2F1c2UgeW91IHNlZSB0aGVpciBsb2dvKS4gQWxsIHlvdSBkbyBpcyBnbyB0byB0aGUgc2l0ZSBhbmQgCmNsaWNrLiBCdXQgeW91J3JlIG9ubHkgYWxsb3dlZCBvbmUgY2xpY2sgcGVyIGRheS4gU28gc3ByZWFkIHRoZSB3b3JkIHRvIApvdGhlcnMuIFZpc2l0IHRoZSBzaXRlIGFuZCBwYXNzIHRoZSB3b3JkLgpodHRwOi8vd3d3LnRoZWh1bmdlcnNpdGUuY29tIDxodHRwOi8vd3d3LnRoZWh1bmdlcnNpdGUuY29tPgoKCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhcndpbiBBd2FyZHMgKEphc3BlciwgMTcuIERleiAxOTk5LCAxMDozMToxMyk6Cn4jISBybj1CYW1idWxrbyBydD05NDI0MjA4NzIgcmc9d3d3Cn4jISB0aWQ9OTQyNDIwODcyCm51amEgdW1icmluZ2VuIG11c3MgbWFuIHNpY2ggbmV0IGdsZWljaCB1bSBkZW4gZGFyd2luIGF3YXJkIHp1IGVyaGFsdGVuLCBlcwpyZWljaHQgc2Nob24gd2VubiBtYW4gc2ljaCBub2NoIG5ldCBmb3J0Z2VwZmxhbnp0IGhhdCB1bmQgZGFubiBkYWZ1ZXIgc29yZ3QKZGFzcyBtYW4gc2ljaCBhdWNoIG5ldCBtZWhyIGZvcnRwZmxhbnplbiBrYW5uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMb3ZlIHRoeSBuZWlnaGJvciEgKEphc3BlciwgMTcuIERleiAxOTk5LCAxMDo1MDoyMik6Cn4jISBybj1TaWx2YW5hIHJ0PTk0Mzg4MzUzNSByZz13d3cKfiMhIHRpZD05NDM4ODM1MzUKaGVoZSBiZXNvbmRlcnMgZ2VmYWVsbHQgbWlyIHRlaWwgCgogIi4uLk1VRFMsIEdBbWVzIG9mIFNJTiEgLi4uRmlyc3QgaSB0cmllZCBab21iZW11ZCB3aGljaCBpcyBvYnZpb3VzbHkgdm9vZG8Kd29yc2hpcCEgVGhlbiBpIHdlbnQgdG8gQmF0bXVkIHdoaWNoIHNlZW1zIHRvIGJlIGFib3V0IHNlcmlhbCBraWxsZXJzISEhLi4uIgpkYWJlaSBzaW5kIGRhcyBnYW56IG5vcm1hbGUgbXVkcyBhZWhubGljaCB3aWUgZGFzIG1nIGhhbHQgbnVyIG1pdCBlaW4gd2VuaWcKbWVociBwbGF5ZXIga2lsbGluZywgZGFzIGthbm4gbWFuIG1hbCB3aWVkZXIgbnVyIHZvbiBzbyBlaW5lbSBleHRyZW1lbgpyZWxpZ2lvbnNmYW5hdGlrZXIga29tbWVuLgoKdGVsbmV0IHpvbWJpZW11ZC5tZWdhYmF1ZC5maSAzMDAwICA6KSBkYSBnaWJ0cyBhdWNoIGZyZXVuZGxpY2ggdW5kCm5vbi12b29kb28td29yc2hpcHBlcnMgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWRpY2h0ZS1HZW5lcmF0b3IgKEJlZWx6ZWJ1YiwgMTcuIERleiAxOTk5LCAxMjo1MzozNSk6CgpXZXIgbWFsIHZpZWwgU3Bhc3MgaGFiZW4gd2lsbDoKCmh0dHA6Ly93d3cuaW4tY2hlbW5pdHouZGUvZ3VlbnRlci5nZWhsL3Bvc3RldS5odG1sCgpoYXR0ZSBhbHMgVm9yZ2FiZW4gIkJlZWx6ZWJ1YiwgTW9uc3RlciwgbWV0emVsbiwga3VlaG4iCgpFaW4gbHVzdGlnZXMgRXJnZWJuaXMgd2FyOgoKT2RlIGZ1ZXIgQmVlbHplYnViCgogICAgICAgICAgICAgICAgIEJlZWx6ZWJ1Yi4KICAgICAgICAgTWVpbiBydW5kZXMgRnJ1ZWNodGNoZW4gZHUhCiAgICAgICAgTW9uc3RlciwgbWVpbiByZWljaGVyIEJhZ2dlci4KICAgICAgICAgIEltIEZsdXIgaW4gYWxsZW4gV2VsdGVuIQogICAgICAgICAgICAgICAgIEljaCBtZXR6ZWwhCiAgICAgICAgICAgICAgIEljaCBiZXRhdHNjaGUhCiAgICAgICAgICAgICBEdSBkdWVtbGljaGUgTmFjaHQhCiAgICAgICAgICAgICAgICBCZWVsemVidWIgZHUuCiAgICAgICAgIEVyZnVlaG4gaW4gZWluc2FtZXIgTmFjaHQuCiAgQmVlbHplYnViIHp3aXNjaGVuIEVpZmVybiB1bmQgQmV0YXRzY2hlbi4KICAgICAgICAgICAgICBNb25zdGVyIHNvIGt1ZWhuLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvZXRyb24gNC4xCgoKClAuUy46IGh0dHA6Ly93d3cuaW4tY2hlbW5pdHouZGUvZ3VlbnRlci5nZWhsL3BvZXRyb24uaHRtbAppc3QgZGllIG9yaWdpbmFsLXZlcnNpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWRpY2h0ZS1HZW5lcmF0b3IgKEVuZGVyLCAxNy4gRGV6IDE5OTksIDEzOjE2OjMwKToKfiMhIHJuPUJlZWx6ZWJ1YiBydD05NDU0MzE2MTUgcmc9d3d3Cn4jISB0aWQ9OTQ1NDMxNjE1CkljaCBoYWJzIHByb2JpZXJ0ClZvcmdhYmUgOiBXdXJzdCwgRmV0dCwgdHJpZWZlbiwgc2NobWF0emVuCkVyZ2ViaXM6CkxlZ2VuZGUgdm9uIGRlciBSb3NlCgpXdXJzdCwKT2ggV3Vyc3QgZHUKT2ggUXVhbGVuIGRlciBIb2VsbGUhClJvc2UgaW4gZmV0dGlnZXIgV2VobXV0CnRyaWVmZW4gdW5kIGtsZWJlbgp3b2xsZW4KQWNoIFJvc2UKc28gbGF1dApVbmQgV3Vyc3QgLSBkdSwgc28gdmVydHJhdXQKVmVyc2lua2UgaW0gZXdpZ2VuIExlaWQuCgpFbmRlcgpwczogV3Vyc3QgdmVyemVpaCBtaXIuCnp1ciBBZHJlc3NlOiB1bmJlZGluZ3QgenUgZW1wZmVobGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWRpY2h0ZS1HZW5lcmF0b3IgKEFwb2xsb25pYSwgMTcuIERleiAxOTk5LCAxMzoyMToyNik6Cn4jISBybj1FbmRlciBydD05NDU0MzI5OTAgcmc9d3d3Cn4jISB0aWQ9OTQ1NDMxNjE1ClJvc2UgaW4gZmV0dGlnZXIgV2VobXV0Pz8/PyAgQWNoIER1IGxpZWJlcyBMaWVzY2hlbiwgd2FzIGhhYiBpY2ggZGEgZGVubgpnZWhlaXJhdGV0Pz8/IDtvKQoKQXBvKiAoZGllIHNpY2ggR2VkaWNodGUgaXJnZW5kd2llIGFuZGVycyB2b3JzdGVsbHQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWRpY2h0ZS1HZW5lcmF0b3IgKEVuZGVyLCAxNy4gRGV6IDE5OTksIDEzOjMxOjQ1KToKfiMhIHJuPUFwb2xsb25pYSBydD05NDU0MzMyODYgcmc9d3d3Cn4jISB0aWQ9OTQ1NDMxNjE1Ck51biBhdWYgQm9pbmcKCkJhbGxhZGUgdm9uIGRlbSBNb25zdGVyCgpCb2luZwpPaCBCb2luZyBEdQpXZWxjaCBmcm9laGxpY2hlciBUYWchCk1vbnN0ZXIgaW4gZ2V3YWx0aWdlciBOYWNoCmlkbGVuIHVuZCB6YXBwZW4KcHVtcGVuCkFjaCBNb25zdGVyCnNvIGdld2FsdGlnClVuZCBCb2luZyAtIGR1LCBzbyBtYWVjaHRpZwpXb3p1IGRpZSBWZXJpcnJ0ZW4gbm9jaCB6YXBwZW4/CgpodHRwOi8vd3d3LmluLWNoZW1uaXR6LmRlL2d1ZW50ZXIuZ2VobApwcyBrZWluZSBhbnNwaWVsdW5nLCBuaWNodHMgYm9lc2VzLCBudXIgZ2FnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWRpY2h0ZS1HZW5lcmF0b3IgKEJvaW5nLCAxNy4gRGV6IDE5OTksIDEzOjMyOjUxKToKfiMhIHJuPUVuZGVyIHJ0PTk0NTQzMzkwNSByZz13d3cKfiMhIHRpZD05NDU0MzE2MTUKU2VociB0cmVmZmVuZCAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBGQVEgKFBpbGdyaW0sIDMxLiBEZXogMTk5OSwgMjM6MTQ6MzEpOgpIaSwKCnB1ZW5rdGxpY2ggenVtIEphaHJlc3dlY2hzZWwgaXN0IGRpZSBNRy1GQVEgYXVmIGVpbmVuCihob2ZmZW50bGljaCkgYWt0dWVsbGVuIFN0YW5kIChWZXJzaW9uIDIuMDMpIGdlYnJhY2h0CndvcmRlbi4gR3Jvc3NlciBEYW5rIGJlaSBkZXIgVWViZXJhcmJlaXR1bmcgZ2VidWVocnQKdm9yIGFsbGVtIEplbmFuZHJhLCBzb3dpZSBTY2hsZWljaGVyIHVuZCBUaWFtYWssIGRpZQpoaWVyYmVpIG1hc3NnZWJsaWNoIGdlaG9mZW4gaGF0IChoYWJlbikuCgpJY2gga2FubiAobnVuIHdpZWRlciBndXRlbiBHZXdpc3NlbnMgOy0pICkgYWxsZW4KLSBpbnNiZXNvbmRlcmVzIGRlbiAiTmV1ZW4iIC0gZW1wZmVobGVuLCBiZWkgRnJhZ2VuCmRvcnQgbWFsIGVpbmVuIEJsaWNrIHJlaW56dXdlcmZlbi4KClp1IGZpbmRlbiBpc3QgZGllIE1HLUZBUSB3aWUgaW1tZXIgYXVmIGRlcgpNb3JnZW5HcmF1ZW4gV1dXLVNlaXRlICh1bmQgaW0gTUcgYWxzIGNhIDEwMGsgZ3Jvc3NlcwpUZXh0ZmlsZSBiZWltIE9ya2xhZ2VyIFt3YXMgaWNoIGFiZXIgbmljaHQgZ2VyYWRlIAplbXBmZWhsZSA7LSkgKS4KCkZyb2hlcyBuZXVlcyBKYWhyIHd1ZW5zY2hlbgpQaWxncmltIHVuZCAoaS5BLikgSmVuYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlZGljaHRlLUdlbmVyYXRvciAoTHVnLCAgNC4gSmFuIDIwMDAsIDIzOjI1OjQ3KToKfiMhIHJuPUFwb2xsb25pYSBydD05NDU0MzMyODYgcmc9d3d3Cn4jISB0aWQ9OTQ1NDMxNjE1CgpXYXMgYWVoIFNpZSBnZWhlaXJhdGV0IGhhYmVuPwoKTmUgZmV0dGUgQm9ja3d1cnN0LgoKV2FzIHNvbnN0PwpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCidhbiBvcGVuIGxldHRlciB0byB0aGUgeTJrIGJ1ZycgKEplbmFuZHJhLCAxMC4gSmFuIDIwMDAsIDA5OjIwOjU5KToKZnVlciBhbGxlLCBkaWUgd2VnZW4geTJrIGFuIHNpbHZlc3RlciBhcmJlaXRlbiBtdXNzdGVuOgpodHRwOi8vd3d3LnBldHNvbnByb3phYy5jb20vbWFuaWZlc3Rvcy9EZWFyWTJLLmh0bWwKCkplbmFuZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJiZWJhbm5lciBmdWVyIE1HIGdlc3VjaHQhIChIYXRlLCAyMS4gSmFuIDIwMDAsIDExOjMxOjQwKToKSGksCgp3aWUgaWhyIGF1ZiB3d3cubXVkLmRlIHNlaGVuIGtvZW5udCwga29lbm5lbiBtdWRzIHNpY2ggZG9ydCB1ZWJlciBCYW5uZXIKZGFyc3RlbGxlbi4gQWxsZXJkaW5ncyBpc3QgdW5zZXIgTUcgQmFubmVyIG5vY2ggbmljaHQgc28gaHVlYnNjaC4gTWFjaHQKZG9jaCBtYWwgVm9yc2NobGFlZ2UgdW5kIG1haWx0IGRpZSBhbiBsZW9AbXVkLmRlLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmEgTVVEIEZyb250ZW5kIChIYXRlLCAyNS4gSmFuIDIwMDAsIDE1OjEyOjA4KToKSGkgTGV1dGUsCgppY2ggbW9lY2h0ZSBkYXMgVGVsbmV0IEFwcGxldCBhdWYgdW5zZXJlciBXZWJzZWl0ZSBkZW5tYWVjaHN0IG1hbCBhdWYKZGllIG5ldWVzdGUgVmVyc2lvbiBicmluZ2VuLiBEYSBpY2ggc293aWVzbyBnZXJhZGUgYW0gcGx1Z2luIHNjaHJlaWJlbgpiaW4sIGtvZW5udGUgbWFuIGF1Y2ggZWluIHBhYXIga2xlaW5lIFp1c2F0emZlYXR1cmVzIGVpbmJhdWVuLiBBbHNvCnNjaHJlaWJ0IG1pciBkb2NoIG1hbCBlaW5mYWNoIEZlYXR1cmVzLCB3aWUgaWhyIGdlcm5lIHNlaGVuIHd1ZXJkZXQuCkljaCBrYW5uIGtlaW4gVEYgb2RlciBaTXVkIG5hY2hiYXVlbiwgYWxzbyBzY3JpcHRlbiBpc3QgYmVzY2hyYWVua3QsCmFiZXIgZWluaWdlIFNhY2hlbiBkaWUgZGFzIExlYmVuIHVuZCBzcGllbGVuIGVybGVpY2h0ZXJuIGthbm4gbWFuCnNjaG9uIGVpbmJhdWVuLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFuZmFlbmdlcmhpbGZlLCBmaW4gKFRydWcsIDI2LiBKYW4gMjAwMCwgMjM6Mzc6NDIpOgpEaWUgQW5mYWVuZ2VyaGlsZmUgaGFiIGljaCB0ZW1wb3JhZXIgYWJnZWtsZW1tdCwgZGEgaWNoIGFuIGVpbmVuIHJld3JpdGUgenVyCnplaXQgc2NocmVpYmUuIAoKR3J1bmQ6IGVpbmlnZXMgc3RpbW10IG5pY2h0IG1laHIgZGFyaW4gYnp3IGRpZSBzYWNoZSBtaXQgZGVuIFNrcmlwdHMgemIgaXN0CnZlcmFsdGV0LgoKVHJ1Zy4KClBTOiBEYXMgZ2xlaWNoZSBnaWx0IGZ1ZXIgZGllIEthdHplbmtyaWVnZXJnaWxkZS4gZWJlbmZhbGxzIGVpbiByZXdyaXRlLgoKd2VyIGRpZSBhbHRlIGhhYmVuIHdpbGwsIGthbm4gc2llIGJlaSBodHRwOi8vbWlyLmF0L35wdWxhc2tpLyAoYWxzbyBkZXIKYmFzaXNzZWl0ZSkgc2ljaCBob2xlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbHR1bnRlcmdhbmcgKEhyZWlkbWFyLCAgMS4gRmViIDIwMDAsIDE1OjE4OjAzKToKRnVlciBhbGxlLCBkaWUgd2lzc2VuIHdvbGxlbiwgd2llIG9mdCBkaWUgV2VsdCBiZXJlaXRzIHVudGVyZ2VnYW5nZW4gaXN0LCBvZGVyCm5vY2ggdW50ZXJnZWhlbiB3aXJkLCBpc3QgZGllc2VyIExpbmsgR0VOQVUgZGVyIHJpY2h0aWdlOgpodHRwOi8vd3d3LmltcGVyaXVtLmRlL2ZyZXVuZGUvZ2Fuc2VsL3dlbHR1bnRlcmdhbmcuaHRtCgpIcmVpZG1hciwgc2ljaCBrb2VzdGxpY2ggYW11ZXNpZXJlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgRW5kZSB2b24gQ2hhcmxpZSBCcm93biwgU25vb3B5IHVuZCBhbGxlbiBhbmRlcmVuIChOZXZvaywgMTMuIEZlYiAyMDAwLCAxODoxNzo0MCk6CkNoYXJsZXMgU2NodWx6LCAnVmF0ZXInIHZvbiBkZXIgUGVhbnV0cyBHYW5nLCBpc3QgdWViZXJyYXNjaGVuZCBpbiBkZXIgTmFjaHQKYXVmIFNvbm50YWcgZ2VzdG9yYmVuLgpFciBrdWVuZGlndGUgc2VpbmVuIFNjaHJpdHQgaW4gZGVuIFJ1aGVzdGFuZCBpbSBOb3ZlbWJlciBhbiwgc2FndGUsIGRhc3MgZXIKc2VpbmVuIGxldHp0ZW4gQ2FydG9vbiBoZXV0ZSwgYW0gU29ubnRhZyB2b3IgZGVtIFZhbGVudGluc3RhZyB2ZXJvZWZmZW50bGljaGVuCnd1ZXJkZSB1bmQgdmVyc3VjaGVuIHd1ZXJkZSwgc2ljaCBhdWYgc2VpbmUgR2VuZXN1bmcgc2VpbmVzIEtyZWJzbGVpZGVucyB6dQprb256ZW50cmllcmVuLgpBbHMgb2IgZXMgaW4gd2Vpc2VyIHZvcmF1c3NpY2h0IHdhciBvZGVyIGVpbmZhY2ggbnVyIGRhcyByaWNodGlnZSAoPykgdGltaW5nLApqZWRlbmZhbGxzIGthbSBoZXV0ZSBiZWkgbWVpbmVyIGJpc2hlcmlnZW4gc29ubnRhZWdsaWNoZW4gUm91dGluZSAoWmVpdHVuZwpyZWluaG9sZW4sIENvbWljcyBsZXNlbiwgaGVpc3NlIFNjaG9rb2xhZGUgdW5kIGlyZ2VuZHdlbGNoZQpGcnVlaHN0dWVja3NmbG9ja2VuIGVzc2VuKSBtZWluIEJsaWNrIGF1ZiBlaW5lbiBOYWNocnVmIHp1IHJ1aGVuLiBJY2ggZGFjaHRlCnp1ZXJzdCBkYXNzIGRhcyBudXIgZWluICdTY2hhZGUsIGtlaW4gQ2hhcmxpZSBCcm93biBtZWhyJyBOYWNocnVmIHdhZXJlLAptdXNzdGUgYWJlciBsZXNlbiwgZGFzIGt1cnogdm9yIERydWNrIGRlciBaZWl0dW5nIENoYXJsZXMgU2NodWx6IHVlYmVycmFzY2hlbmQKc2VpbmVtIEtyZWJzbGVpZGVuIGVybGVnZW4gaXN0LiAKCkF1ZmdydW5kIGRlciBUYXRzYWNoZSwgZGFzcyBTY2h1bHogbmljaHQgd29sbHRlLCBkYXNzIGplbWFuZCBhbmRlcmVzIGRlbgpDYXJ0b29uIHdlaXRlcnplaWNobmV0LCBpc3QgZGllcyBudW4gZWluIGRlZmluaXRpdmVyIEFic2NoaWVkIHZvbiBkZW4gUGVhbnV0cywKd2VyIGRlbiBzdHJpcCBsZXNlbiBtb2VjaHRlIGthbm4gZGllcyB1bnRlcgpodHRwOi8vd3d3LnBlYW51dHMuY29tL2NvbWljcy9wZWFudXRzL2xhc3RvcmlnLmh0bWwKdHVuLiBEaWUgRnJhZ2UsIG9iIENoYXJsaWUgc2ljaCBudW4gamVtYWxzIHVlYmVyd2luZGVuIGthbm4gZGFzIGtsZWluZQpyb3RoYWFyaWdlIE1hZWRjaGVuIHVlYmVyaGF1cHQgbnVyIGFuenVzcHJlY2hlbiBibGVpYnQgdW5iZWFudHdvcnRldCwgRmlyc3QKV29ybGQgV2FyIEFjZSB3aXJkIGtlaW5lIG5ldWVuIERvZ2ZpZ2h0cyBmbGllZ2VuIHVuZCBTY2hyb2VkZXIgaXN0IHdvaGwKZW5kZ3VlbHRpZyBzaWNoZXIgdm9yIEx1Y3kncyBOYWNoc3RlbGx1bmdlbi4KCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIEVuZGUgdm9uIENoYXJsaWUgQnJvd24sIFNub29weSB1bmQgYWxsZW4gYW5kZXJlbiAoTHVnLCAxNS4gRmViIDIwMDAsIDAxOjA1OjI3KToKfiMhIHJuPU5ldm9rIHJ0PTk1MDQ2MjI2MCByZz13d3cKfiMhIHRpZD05NTA0NjIyNjAKClVuZCBkYXMgaXN0IGd1dCBzby4gRGVubiB3ZW5uIG1hbiBzaWVodCB3YXMgYXVzIEhhZWdhciB3dXJkZTogVXJycmdzc3MuLi4uCgpHb29kYnllIHNhZ2VuZApMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFVVFNDSCEgZGFzIHR1dCB3ZWguLi4gKFphcGhvYiwgMjIuIEZlYiAyMDAwLCAxODowODo1MSk6Cmh0dHA6Ly93d3cuYXV0c2NoLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQVVUU0NIISBkYXMgdHV0IHdlaC4uLiAoSGlnaHQsIDIyLiBGZWIgMjAwMCwgMjA6MDY6MzMpOgp+IyEgcm49WmFwaG9iIHJ0PTk1MTIzOTMzMSByZz13d3cKfiMhIHRpZD05NTEyMzkzMzEKb2NoIG5vZSAuLi4gZGllIGlzIHNvIGFsdCAsbykgCgphYmJhIGltbWVyd2llZGVyIGd1dCAsbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgQXV0b2ZhaHJlci4uLiAoQXBvcGhpcywgMjQuIEZlYiAyMDAwLCAyMToyOTozOCk6CiBodHRwOi8vd3d3Lnp5bi5kZS9wdWIvc3RvcnkuY2lwcD9pZD00MyZ0aWNrZXQ9CgpBcG9waGlzIC0gc2ljaCBpbW1lciBub2NoIGRlbiBCYXVjaCBoYWx0ZW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiYWJvb24gb3Igbm90IGJhYm9vbiAoQmFib29uLCAyOC4gRmViIDIwMDAsIDExOjIyOjMzKToKSWNoIGhhYmUgZ2VyYWRlIGVudGRlY2t0LCBkYXNzIHVudGVyIGIgd2llIGJhYm9vbgpkYXMgYmlsZCBodHRwOi8vbWcubXVkLmRlL1BhcnR5L1BhcnR5LjgvZm90b3MuYmVvcm5fdGFuZ2FsdXIvMDEtMjRhLmpwZwphYmdlaGVmdGV0IGlzdC4gRGVyIEtlcmwgaW0gd2Vpc3NlbiBTaGlydCBiaW4gCmFiZXIgbmljaHQgaWNoLCBzb25kZXJuIGplbWFuZCBhbmRlcnMgKFRhbmdhbHVyPykKV2VubiBpY2ggbWljaCByZWNodCBlcmlubmVyZSBnaWJ0cwphYmVyIG5vY2ggZWluIGFuZGVyZXMgQmlsZCB2b24gbWlyLCB3byBpY2ggZ2VyYWRlIG1hbAprZWluZSBLYW1lcmEgdm9yIGRlbSBHZXNpY2h0IGhhYi4KCkJhQk9PbigpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmFib29uIG9yIG5vdCBiYWJvb24gKEJvaW5nLCAyOC4gRmViIDIwMDAsIDExOjI3OjM5KToKfiMhIHJuPUJhYm9vbiBydD05NTE3MzMzNTMgcmc9d3d3Cn4jISB0aWQ9OTUxNzMzMzUzCkRlciBLZXJsIGltIHdlaXNzZW4gU2hpcnQgaXN0IGF1Y2ggbmljaHQgVGFuZ2FsdXIsIHNvbmRlcm4gVHJveS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBiYWJvb24gb3Igbm90IGJhYm9vbiAoQmFib29uLCAyOC4gRmViIDIwMDAsIDEyOjA1OjM2KToKfiMhIHJuPUJvaW5nIHJ0PTk1MTczMzY1OSByZz13d3cKfiMhIHRpZD05NTE3MzMzNTMKc3RpbW10LCBoYWIgZGllIG5hbWVuIHZlcnd1ZXJmZWx0LiBhYmVyIGRlbgphbmZhbmdzYnVjaHNydGFiZW4gaGF0dGUgaWNoIGltbWVyaGluIHJpY2h0aWcuCgpCYUJPT24oKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdmVybWVpZGVuIHZvbiBidWVjaGVybGlua3MgYmVpIHN1Y2hlcm4gKEFsYm9pbiwgMjkuIEZlYiAyMDAwLCAxOTo0MzoxNyk6CkphIGRhcyBUaGVtYSBpc3Qgc2Nob24gd2llIGRlciBUaXRlbCBzYWd0LCBkYXMgbWFuIGJlaSBTdWNobWFzY2hpbmVuCm5ldWVyZGluZ3MgZ2VzY2hpY2t0IGF1ZiBhbWF6b24gdW1nZWxlbmt0IHdpcmQgZHVyY2ggdXJsJ3Mgd2llCmh0dHA6Ly93d3cuM3ctZmFjaGxpdGVyYXR1ci5kZQpodHRwOi8vd3d3LmdydXNlbHJvbWFuLmRlCmh0dHA6Ly93d3cubGVocndlcmtlLmRlCnVzdy4KRGllc2UgQXJ0IGtvbW1lcnppZWxsZW4gVW1sZW5rZW5zIGhhbHRlIGljaCBmdWVyIGVpbmUgUmllc2VuZnJlY2hoZWl0IHVuZAp3dWVyZGUgZ2VybmUgd2lzc2VuLCBvYiBtYW4gZGFzIGlyZ2VuZHdpZSB2ZXJoaW5kZXJuIGthbm4gYnp3LiBvYiBlcyBndXRlClN1Y2htYXNjaGluZW4gZ2lidCBzb3dhcyBhdXRvbWF0aXNjaCByYXVzZmlsdGVybi4KCkdydWVzc2UgQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdmVybWVpZGVuIHZvbiBidWVjaGVybGlua3MgYmVpIHN1Y2hlcm4gKFBpbGdyaW0sIDI5LiBGZWIgMjAwMCwgMjI6MDA6MDkpOgp+IyEgcm49QWxib2luIHJ0PTk1MTg0OTc5NyByZz13d3cKfiMhIHRpZD05NTE4NDk3OTcKPiBEaWVzZSBBcnQga29tbWVyemllbGxlbiBVbWxlbmtlbnMgaGFsdGUgaWNoIGZ1ZXIgZWluZSBSaWVzZW5mcmVjaGhlaXQgdW5kCj4gd3VlcmRlIGdlcm5lIHdpc3Nlbiwgb2IgbWFuIGRhcyBpcmdlbmR3aWUgdmVyaGluZGVybiBrYW5uIGJ6dy4gb2IgZXMgZ3V0ZQo+IFN1Y2htYXNjaGluZW4gZ2lidCBzb3dhcyBhdXRvbWF0aXNjaCByYXVzZmlsdGVybi4KClZvciBuaWNodCBhbGx6dWxhbmdlciBaZWl0IGhhYicgaWNoIHZvbiBFSU5FTSBHZXJpY2h0c3VydGVpbCBnZWxlc2VuLApiZWkgZGVtIGVzIHVtIHNvd2FzIGdpbmcgLi4uIEZheml0IChhdXMgbWVpbmVyIEVyaW5uZXJ1bmcpIC4uLgphdXMgKHVubGF1dGVybikgd2V0dGJld2VyYmxpY2hlbiBHcnVlbmRlbiBrYW5uIG1hbiBpbiBEZXV0c2NobGFuZApkYWdlZ2VuIHZvcmdlaGVuLCB3ZW5uIGFsbGdlbS4gQmVncmlmZmxpY2hrZWl0ZW4sIGF1ZiBkaWVzIFNlaXRlCkVJTkVTIEhFUlNURUxMRVJTIGdlbGlua3Qgd2lyZCAuLi4gb2IgbWFuIGRhcyBhdWYgc3VjaG1hc2NoaWVuZW4KdWViZXJ0cmFnZW4ga2FubiA/Pz8gKGJlemVpZmVsIGljaCBlaWdlbnRsaWNoKS4KClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthZW1wZmVyc2VpdGVuIChHdWFyZCwgIDIuIE1hciAyMDAwLCAxMTo0Mzo1Myk6CkhpLAoKZGllIFNlaXRlbiBoYWJlbiBqZXR6dCBuZW4gbmV1ZXMgSG9tZS4gTGluayBpbSBNRyB3dXJkZSBha3R1YWxpc2llcnQgdW5kIHZvbgpkZXIgYWx0ZW4gU3RlbGxlIHdpcmQgbm9jaCBhdXRvbWF0aXNjaCB1bWdlbGVpdGV0LgpFZmZla3QgZGVzIGdhbnplbiwgaWNoIGtvbW0gamV0enQgcGVyc29lbmxpY2ggYW4gZGllIFNlaXRlbiB1bmQga2FubiBVcGRhdGVzCnZpZWwgc2NobmVsbGVyIGVpbnNwaWVsZW4gKGJlc29uZGVycyBhbmdlc2ljaHRzIGRlciBPZmZpemllcnNmbHV0IGlzdCBkYXMgamEKYW5nZWJyYWNodCA6LSkKCnNvIGxvbmcKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVbHRpbWEgT25saW5lLVNoYXJkIChHb3JvZywgIDYuIE1hciAyMDAwLCAyMToxNToxNCk6CkhvZWhvZQoKSGllciBuZSBBcmRlc3NlIHZvbiBuZW0ga29zdGVuZnJlaWVuIE9VLVNoYXJkLiBBbHMgaWNoIG1pciBkaWUgUmVnZWxuIHVuZCBkYXMKQW5tZWxkZWZvcm11bGFyIGR1cmNoZ2VsZXNlbiBoYXR0ZSwgaGFldHRlIGljaCBtaWNoIGZhc3QgdG9kZ2VsYWNodCAoOyAuIERpZQpzY2hlaW5lbiBlcyBkYSBtaXQgZGVtIFJQRyBleHRyZW0gZXJuc3QgenUgbmVobWVuLiBOYWphIHNlaHIgYW11ZXNhbnQsIGFiZXIKd29obCBhdWNoIHJlY2h0IGludGVyZXNzYW50LCBkYSBncmFwaGlzY2hlcyBNVUQgb2huZSBFeHRyYWtvc3Rlbi4KCnd3dy5vbGR3b3JsZC5kZQoKVmllbCBTcGFzcyBiZWltIGxlc2VuCgpHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVsZXR1YmJpcyBraWxsZW4gKEdvcm9nLCAgNi4gTWFyIDIwMDAsIDIxOjQ5OjUzKToKCldlciBzY2hvbiBpbW1lcm1hbCBUZWxldHViYmlzIHVtbmlldGVuIHdvbGx0ZSB1bmQgc2ljaCBuaWNodCBzdG9lcnQsIGRhc3MgbWFuCm51ciBMYWxhIGtpbGxlbiBrYW5uIHNvbGx0ZSBtYWwgdW50ZXIgCgp3d3cuY3BvaW50LmRlCgpuYWNoc2NoYXVuLiBEYSBnaWJiZXQgd2FzIG5ldHRlcyBrbGVpbmVzLCBmYXN0IHNvIGNvb2wgd2llIE1vb3JodWhuLi4uCgpHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlbGV0dWJiaXMga2lsbGVuIChBcHN1LCAgNy4gTWFyIDIwMDAsIDEzOjQ0OjQxKToKfiMhIHJuPUdvcm9nIHJ0PTk1MjM3NTc5MyByZz13d3cKfiMhIHRpZD05NTIzNzU3OTMKSG1tbSBkYSBnYWJzIGRvY2ggbmVuIGxpbmsgbWl0IGxhdXRlciBzbyBGaWVzaGVpdGVuLCB3ZWlzcyBub2NoIHdlciBkaWUgVVJMPwo6KQpBcHN1LCBiZWtlbm5lbmRlciBGaWVzbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVsdGltYSBPbmxpbmUtU2hhcmQgKEFuYWtpbiwgMTAuIE1hciAyMDAwLCAxNDo0NDowMik6Cn4jISBybj1Hb3JvZyBydD05NTIzNzM3MTQgcmc9d3d3Cn4jISB0aWQ9OTUyMzczNzE0CgpKYSwgaWNoIGhhYiBlcyBtYWwgYXVzcG9yYmllcnQsIG51ciBSUEcgZ2VyZWNodGVzIFZlcmhhbHRlbi4gU2VociAKbWVya3d1ZXJkaWcuIEJ0dy4gc28gZWluZW4gU2VydmVyIGthbm4gbWFuIGF1Y2ggc2VsYnN0IGF1ZnNldHplbi4uLgpIYXQgamVtYW5kIEx1c3Q/CgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVsdGltYSBPbmxpbmUtU2hhcmQgKEFyaywgMTAuIE1hciAyMDAwLCAyMTowMjo0Myk6Cn4jISBybj1BbmFraW4gcnQ9OTUyNjk1ODQyIHJnPXd3dwp+IyEgdGlkPTk1MjM3MzcxNApTb3dhcyBzb2xsdGVuIHdpciBoaWVyIGF1Y2ggbWFsIGVpbmZ1ZWhyZW4sIHNjaG9uIHdhZXJlbiB3aXIgZGFzIGdhbnplIFByb2JsZW0KbG9zLCBzaW5kIGRvY2ggYWxsZXMgUG93ZXJnYW1lciwgTmljaHRyb2xsZW5rb25mb3JtZSwgU2VsdHNhbWV6ZWljaGVuYmVudXR6ZXIKaGllci4gQWxsZSBsb2VzY2hlbiwgZGFzIGZyZXV0IGRlbiBTZXJ2ZXIgO14pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFtc3RlciB0YW56ZW4gZ2VybmUgKEhpZ2h0LCAxMS4gTWFyIDIwMDAsIDAwOjE1OjA0KToKaHR0cDovL3d3dy50aGV3b3JsZC5jaC9vZmZ1bi9TcGVjaWFscy9IYW1zdGVyL2luZGV4Lmh0bWwKCmhpZ2h0IG11bnRlciBhbSBicnVlbGxlbiAqYmF1Y2hoYWxkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmxhc2ggaXNzIGNvb2wuLi4gKEFwb3BoaXMsIDE0LiBNYXIgMjAwMCwgMjM6MDA6MDcpOgoKIGh0dHA6Ly93d3cudGVzdGJpbGQuY29tL2ZsYXNoL2luZGV4Lmh0bQoKemllbWxpY2ggZ2VpbGUgZ3JhZmlrCmFsbGVyZGluZ3MgbnVyIG1pdCBuZW0gc2hvY2t3YXZlL2ZsYXNoIHBsdWdpbiBmdWVybiBicm93c2VyLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZsYXNoIGlzcyBjb29sLi4uIChGcmVpdGFnLCAxNS4gTWFyIDIwMDAsIDExOjUxOjI2KToKfiMhIHJuPUFwb3BoaXMgcnQ9OTUzMDcxMjA3IHJnPXd3dwp+IyEgdGlkPTk1MzA3MTIwNwpuYWphLCBmbGFzaCBfaXN0XyBpbiBkZXIgdGF0IGNvb2wsIGF1Y2ggd2VubiBkaWVzZSBzZWl0ZSBuaWNodCBnZXJhZGUgdm9yCm9yaWdpbmFsaXRhZXQgZ2xhZW56dCAqZ2FlaG4qIDpvKSAuLi4Kc2llIGlzdCBpbiBkZXIgdGF0IGVoZXIgemllbWxpY2ggbWl0dGVsbWFlc3NpZywgYWJlciBzY2hhdScgZGlyIGRvY2ggbWFsIGRpZQpoaWVyIChpbiBydWhlIHVuZCBtaXQgbXVzc2UgOi0pIGFuLCBkYW5uIHNpZWhzdGVtYWwsIHdhcyBfd2lya2xpY2hfIGNvb2wgaXMnCi0tLT4KCmh0dHA6Ly93d3cueXVnb3AuY29tL3Nob2NrZWQvaW5kZXguaHRtbAoKPC0tLQoKCmthcmwgZnJlaXRhZywgc21hcnQgcmVmbGVjdG9yLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGbGFzaCBpc3MgY29vbC4uLiAoUGFsZSwgMTUuIE1hciAyMDAwLCAxNToyMToyNSk6Cn4jISBybj1GcmVpdGFnIHJ0PTk1MzExNzQ4NiByZz13d3cKfiMhIHRpZD05NTMwNzEyMDcKamEgc3RpbW10IGlzdCBlY2h0IGdlbmlhbCBkaWUgc2l0ZS4KWmVpdCBtdWVzc3RlIG1hbiBoYWJlbiAuLi4KClBpdHR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcmFkZSBnZWZ1bmRlbi4uLiAoWm9vaywgMjEuIE1hciAyMDAwLCAxMjo1NjoxMSk6ClNlaHIgaW50ZXJlc3NhbnQgZmFuZCBpY2ggZGVuIFRleHQgdW50ZXIgZGVtIGZhbnRhc3Rpc2NoZW4gQmlsZAphdWYgZGVyIFNlaXRlIHd3dy53aW5oZWxsZXIuZGUsIHNvbGx0ZSBtYW4gc2ljaCBhbnNlaGVuIDspCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmFkZSBnZWZ1bmRlbi4uLiAoRmVobGVyLCAyMi4gTWFyIDIwMDAsIDE0OjM5OjU5KToKfiMhIHJuPVpvb2sgcnQ9OTUzNjM5NzcxIHJnPXd3dwp+IyEgdGlkPTk1MzYzOTc3MQpXZXIgdm9uIFBhZHJlaWMgLSBzbyBvZGVyIHNvIC0gZ2VudWcgZ2VzZWhlbiBoYXQsIGthbm4gamEgbWFsIAp6dXIgRXJoZWl0ZXJ1bmcgZGEgcmVpbnNjaGF1ZW46IGh0dHA6Ly93d3cubWljcm9zb2Z0LmV1Lm9yZy9saW51eC8KLSBLYW0gZWJlbiB2aWEgTGlzdGVubWFpbCwga29lc3RsaWNoIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFrZT8/Pz8gKE5ldm9rLCAgNS4gQXByIDIwMDAsIDA1OjE3OjIxKToKSWNoIHdlaXNzIG5ldCwgYWJlciBkYXMgc2llaHQgZnVlciBtaWNoIHp1IHNlaHIgbmFjaCBuZW0gRmFrZSBhdXMuIERpZSBTY2hyaWZ0CmRpZSBhbmdlYmxpY2ggdm9uIEx1Y2FzIHNlaW4gc29sbCBpcyBtaXIgZXR3YXMgenUgc2VsdHNhbSwgZ2xlaWNoZXJtYXNzZW4gZGllClN0b3J5LCBhbHMgb2Igc2ljaCBuZXQgbmFjaHZlcmZvbGdlbiBsaWVzc2UsIHdlciBkZW4gZG9ydCBiZXNjaHJpZWJlbmVuIEpvYgpoYXR0ZSB1bmQgZXMgZGVzaGFsYiBsYW5nZW4gd3VlcmRlIGRlbiBOYW1lbiBuZXQgYW56dWdlYmVuLi4uLgoKaHR0cDovL3d3dy5wb2ludGxlc3N3YXN0ZW9mdGltZS5jb20vc3RhcndhcnMuaHRtbAoKTmV2b2sKUC5TLjogSmFyIEphciBCaW5rcyBtdXN0IERJRSEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHcmFkZSBnZWZ1bmRlbi4uLiAoUHJhLCAgNS4gQXByIDIwMDAsIDExOjI3OjQ2KToKfiMhIHJuPUZlaGxlciBydD05NTM3MzIzOTkgcmc9d3d3Cn4jISB0aWQ9OTUzNjM5NzcxClNjaGFkZSwgaW56d2lzY2hlbiBpc3QgaHR0cDovL3d3dy5taWNyb3NvZnQuZXUub3JnIGdlc2NobG9zc2VuLiBXZWlzcwpqZW1hbmQgbmFlaGVyZXMgZGFydWViZXI/CgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmFkZSBnZWZ1bmRlbi4uLiAoQW1hcnlsbGlzLCAgNS4gQXByIDIwMDAsIDExOjM2OjQwKToKfiMhIHJuPVByYSBydD05NTQ5MjY4NjYgcmc9d3d3Cn4jISB0aWQ9OTUzNjM5NzcxCk5peCBnZW5hdWVyZXMgd2Vpc3MgaWNoIG5pY2h0LCBhYmVyIHdpZXNvIGJpdHRlc2Nob2VuIHNvbGwgZGFzIHNjaGFkZSBzZWluLApkYXNzIGRpZSBTZWl0ZSB6dSBpc3Q/IDotKSkKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyYWRlIGdlZnVuZGVuLi4uIChQcmEsICA1LiBBcHIgMjAwMCwgMTE6Mzc6NDQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTk1NDkyNzQwMCByZz13d3cKfiMhIHRpZD05NTM2Mzk3NzEKZGFzIGlzdCBzY2hhZGUsIHdlaWwgZGFzIGVpbmUgc2VociBzY2hvZW5lIFZlcmFyc2NodW5nIHZvbiBNaWNyb3NvZnQgd2FyLgoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR3JhZGUgZ2VmdW5kZW4uLi4gKEFuYXRvbCwgIDUuIEFwciAyMDAwLCAxMTo0MzoxOSk6Cn4jISBybj1QcmEgcnQ9OTU0OTI3NDY0IHJnPXd3dwp+IyEgdGlkPTk1MzYzOTc3MQpEaWUgU2VpdGUgbGFnIGF1ZiBlaW5lbSBnZWhhY2t0ZW4gU2VydmVyIHVuZCB3dXJkZSwgbmFjaGRlbSBkZXIgCmRhZnVlciB6dXN0YWVuZGlnZSBBZG1pbiB3aWVkZXIgQmVzaXR6IHZvbiBkZXIgU2l0ZSBlcmdyaWZmLCBhdWYKZWluZSBwcml2YXRlIEhvbWVwYWdlIGdlc2Nob2Jlbi4KCkFuYXRvbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3JhZGUgZ2VmdW5kZW4uLi4gKENhdHdlYXpsZSwgIDUuIEFwciAyMDAwLCAxNTozMDo0NSk6Cn4jISBybj1BbmF0b2wgcnQ9OTU0OTI3Nzk5IHJnPXd3dwp+IyEgdGlkPTk1MzYzOTc3MQpJY2ggd2Vpc3MgbmljaHQsIG9icyBoaWVyIG5pY2h0IHNjaG9uIG1hbCBzdGFuZCwgYWJlciBkaWUgClNlaXRlbiBzaW5kIGltbWVyIG5vY2ggdmVyZnVlZ2JhciB1bnRlciBiZXJvLmV4aXQuZGUKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaHR0cDovL3d3dy5ieXJuZS5kaXJjb24uY28udWsvZmFlY2VzL2dhdGVzLmh0bSAoR3JpbW1ib3JuLCAxMy4gQXByIDIwMDAsIDE3OjI3OjM5KToKfiMhIG9uPUd1aWxkbyBvdD05NTU2Mzk1Mzcgb2c9d2l0emUKR3J1c3MsCkd1aWxkbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWNodGUgcHJvZ3JhbW1pZXJlciBtYWwgd2llZGVyIChQcmEsIDE0LiBBcHIgMjAwMCwgMTE6MDE6MzcpOgpNb2luIQoKRWhlciB3YXMgZnVlciBkaWUgZ2VzdGFuZGVuZW4gTWFlbm5lciwgb2RlciBhdWNoIE9wYS1TZWhlciBnZW5hbm50LgoKaHR0cDovL3d3dy5sZW8ub3JnL2Z1bi9wYXNjYWwuaHRtbAoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGJpbiBqYSBwbGF0dC4uLiAoTmV2b2ssIDE4LiBBcHIgMjAwMCwgMDE6NTc6MzYpOgpCYWNrIHRvIHRoZSByb290cz8KRXMgZ2lidCB2b24gU1NJIGltIDQuIFF1YXJ0YWwgZGllc2VuIEphaHJlcyBuZW4gU2VxdWVsIHp1IFBvb2wgb2YgUmFkaWFuY2UsClBvb2wgb2YgUmFkaWFuY2UgSUk6IFJ1aW5zIG9mIE15dGggRHJhbm5vci4KRGFzIGdhbnplIHNpZWh0IHNjaG9uIG1hIHJlY2h0IHBvc3NpZXJsaWNoIGF1cy4uLi5zb2xsdGUgZXMgZXR3YSBhdWNoIG1hbAp3aWVkZXIgb2huZSBzdXBlci1kdXBlci1oeXBlci1tZWdhLWVmZmVrdGUgZ2VoZW4gdW5kIGRhZnVlciBtYWwgd2llZGVyIG5lCm9yZGVudGxpY2hlIFN0b3J5bGluZSBleGlzdGllcmVuPyBNYSBndWNrZW4uLi4KCmh0dHA6Ly93d3cucG9vbG9mcmFkaWFuY2UuY29tLwoKTmV2b2ssIHNjaGxhZmxvc2UgTmFlY2h0ZSBiZWZ1ZXJjaHRlbmQuIFVuZCB2ZXJ6d2VpZmVsdCBTcGllbHN0YWVuZGUgdm9uCmZydWVoZXIgc3VjaGVuZC4uLi5vYiBpY2ggbWVpbmUgYWx0ZSBQYXJ0eSBkYSBpbXBvcnRpZXJlbiBrYW5uPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGJpbiBqYSBwbGF0dC4uLiAoTW9yZ290aCwgMTguIEFwciAyMDAwLCAwNzozNDozNyk6Cn4jISBybj1OZXZvayBydD05NTYwMTU4NTYgcmc9d3d3Cn4jISB0aWQ9OTU2MDE1ODU2CkdFSUwgISEKCkljaCBob2ZmZSBudXIsIGRhc3Mgc2llIG5pY2h0IHp1dmllbCBzY2huaWNrZXMgZWluZ2ViYXV0IGhhYmVuIHVuZCBkYXNzIGljaAptZWluZSBDaGFyYWt0ZXJlIHVlYmVybmVobWVuIGthbm4gOy0pKSAKU29uc3QgbXVzcyBpY2ggZG9jaCBnbGF0dCBkaWUgZXJzdGVuIDQgVGVpbGUgbm9jaG1hbCBzcGllbGVuIDstKQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2ggYmluIGphIHBsYXR0Li4uIChCb2luZywgMTguIEFwciAyMDAwLCAwODo1NjoyOCk6Cn4jISBybj1OZXZvayBydD05NTYwMTU4NTYgcmc9d3d3Cn4jISB0aWQ9OTU2MDE1ODU2Cldlbm4gRHUgbmUgb3JkZW50bGljaGUgU3RvcnlsaW5lIG1vZWNodGVzdCwgZGFubiBrYW5uIGljaCBEaXIKUGxhbmVzY2FwZSBUb3JtZW50IGVtcGZlaGxlbi4gRGFzIGhhdCBhbGxlcmRpbmdzIGF1Y2ggZWluIHBhYXIKRWZmZWt0ZSwgYWJlciBkYXMgbXVzcyBqYSBuaWNodCB1bmJlZGluZ3Qgc3RvZXJlbmQgc2VpbiAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2ggYmluIGphIHBsYXR0Li4uIChHb3JvZywgMTguIEFwciAyMDAwLCAxNjoyODo1MCk6Cn4jISBybj1Cb2luZyBydD05NTYwNDA5ODggcmc9d3d3Cn4jISB0aWQ9OTU2MDE1ODU2Ckp1cCBUb3JtZW50IGlzIGVjaHQga2xhc3NlLi4uIEJlc29uZGVycyBkaWUgZXR3YXMgbW9yYmlkZSBIYWx0dW5nIGRlcwpIYXVwdGNoYXJha3RlcnMgaXMgbWFsIHdhcyBhbmRlcmVzICg7CgpHaWJ0cyBkYXMgZWlnZW50bGljaCBhdWNoIGF1ZiBEVkQ/IAoKR29yb2cgZGVyIHNlaXQgQW1pZ2F6ZWl0ZW4gZGFzIERpc2tldHRlbndlY2hzZWxuIGhhc3N0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWNoIGJpbiBqYSBwbGF0dC4uLiAoTXVhZGliLCAyMC4gQXByIDIwMDAsIDEyOjIyOjAyKToKfiMhIHJuPUdvcm9nIHJ0PTk1NjA2ODEzMCByZz13d3cKfiMhIHRpZD05NTYwMTU4NTYKb2VoIG51ciBtYWwgdW0gc2ljaGVyIHp1Z2VoZW4sIGR1IGhhc3QgZGFzIGF1ZiBkaXNrZXR0ZW4gPz8/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2ggYmluIGphIHBsYXR0Li4uIChCYWJvb24sIDIwLiBBcHIgMjAwMCwgMTI6NTU6MDQpOgp+IyEgcm49R29yb2cgcnQ9OTU2MDY4MTMwIHJnPXd3dwp+IyEgdGlkPTk1NjAxNTg1NgpXYXJ1bSBzb2xsIGVyIGVzIG5pY2h0IGF1ZiBkaXNrZXR0ZSBoYWJlbj8gU292aWVsIFBsYXR6Cm5laG1lbiBkaWUgY2EuIDMwMDAgRGlza3MgamEgZG9jaCBuaWNodCB3ZWcuCgpCYUJPT24gKG1hY2h0IGRlbW5hZWNoc3QgbWFuZ2VscyBDRC1CcmVubmVyIGVpbiBCYWNrdXAKc2VpbmVyIDEwR0ItRmVzdHBsYXR0ZSBhdWYgREQtRGlza3MuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSWNoIGJpbiBqYSBwbGF0dC4uLiAoWWVuZGksIDIwLiBBcHIgMjAwMCwgMTQ6NTI6MDEpOgp+IyEgcm49QmFib29uIHJ0PTk1NjIyODEwNCByZz13d3cKfiMhIHRpZD05NTYwMTU4NTYKRmFsbHMgRHUgbm9jaCBlaW4gcGFhciBmdWVuZmVpbnZpZXJ0bGVyIGJyYXVjaHN0Li4uCgpZVFkKCi4uLiB1bmQgYWIgbmFjaCBzY2htYXJybi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUDNzIHZvbiBTZXJpZW4gKFRydWcsIDIxLiBBcHIgMjAwMCwgMTA6MjA6MjkpOgpXZXIgaW4gTm9zdGFsZ2llIHNjaG1vZWtlcm4gd2lsbCwgZGVyIGthbm4gamEgbWFsIGJlaQpodHRwOi8vaGFtbWVyLnByb2hvc3RpbmcuY29tL35tYXJrYW50L3R2LWt1bHQvc291bmQuaHRtbCBuYWNoc2NoYXVlbiwgZG9ydApnaWJ0cyBNUDNzIHZvbiBCYXJiYXBhcGEsIE1jR3l2ZXIsIEthcmxsc29uIGF1ZiBkZW0gRGFjaCwgUGluayBQYW50aGVyIHVuZAphZWhubGljaGVuIC4uLi4KClRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpa2luZ2VyIChOZXZvaywgMzAuIEFwciAyMDAwLCAyMTo1ODozMCk6CkRpZSBMZXV0ZSBkZXMgU21pdGhzb25pYW5zIGhhYmVuIG1hbCB3aWVkZXIgbmUgbmV1ZSBBdXNzdGVsbHVuZyBmYWJyaXppZXJ0LAp2b24gZ2V3b2hudGVyIHF1YWxpdGFldCB3aWUgZXMgZGVuIEFuc2NoZWluIGhhdC4gVW5kIG5hdHVlcmxpY2gsIHdpZSBpbW1lciwKa29zdGVubG9zLiBTY2hvZW4gc293YXMuCgpodHRwOi8vd3d3Lm1uaC5zaS5lZHUvdmlraW5ncy8KCldlcmQgbWlyIGRhcyB3b2hsIG5hZWNoc3RlcyBXb2NoZW5lbmRlIGFuc2NoYXVlbi4uLgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvb2xlIFNpdGUgKFN0aW5nLCAxNC4gTWFpIDIwMDAsIDE1OjIwOjMwKToKaHR0cDovL3NvZGFwbGF5LmNvbS9jb25zdHJ1Y3Rvci9pbmRleC5odG0gCgpHcnVzcwpTdGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENvb2xlIFNpdGUgKFNseWZveCwgMTYuIE1haSAyMDAwLCAyMTozMTo0OSk6Cn4jISBybj1TdGluZyBydD05NTgzMTA0MzAgcmc9d3d3Cn4jISB0aWQ9OTU4MzEwNDMwCkdpYnQncyBkYXMgQXBwbGV0IG5pY2h0IHNjaG9uIGV3aWcgYWxzIFgtQW53ZW5kdW5nIHVudGVyIFVuaXg/CgogIFNseWZveAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaHR0cDovL3d3dy5yaG9uZS5jaC9mb3h0b3duL3NwYXNzL1ZlcmtlaHIuZ2lmIChTbHlmb3gsIDMxLiBNYWkgMjAwMCwgMjA6MjQ6NTMpOgpTZWx0ZW4gc28gZ2VsYWNodAoKICAgU2x5Zm94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZWluIFZlcnRyYXVlbiBmdWVyIEFPTC1Vc2VyIChWYW5pb24sIDMxLiBNYWkgMjAwMCwgMjI6Mzc6NTMpOgpOYWNoZGVtIGljaCBlYmVuIGJlaSBodHRwOi8vd3d3LmV2ZW5kaS5kZS8gZWluZSBQcmVpc2FuZnJhZ2UgZ2VzdGVsbHQgaGFiZSwKa2FtIGZvbGdlbmRlIEluZm9zZWl0ZS4KCi4uLgpIaW53ZWlzIGFuIEFPTC1OdXR6ZXI6IAoKSWhyZSBlTWFpbC1BZHJlc3NlIGxhdXRldCBAQU9MLkNPTS4gQml0dGUgdmVyd2VuZGVuIFNpZSBrZWluZSBMZWVyemVpY2hlbi4KQmVpc3BpZWw6IEF1cyBkZW0gQU9MLU5hbWVuIEZyYW5rIE1laWVyIHdpcmQgRnJhbmtNZWllckBhb2wuY29tIAouLi4KClNpbmQgZGllIEFPTGVyIGRlbm4gd2lya2xpY2ggc28gc2NobGVjaHQ/ClZhbmlvbiAtIGdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaWNyb3NvZnQgVXJ0ZWlsIChUcnVnLCAgNy4gSnVuIDIwMDAsIDIyOjU3OjMxKToKaHR0cDovL3Vzdm1zLmdwby5nb3YKCkhpZXIga2FubiBtYW4gZGFzIFVydGVpbCB1ZWJlciBkZW4gTWljcm9zb2Z0IEZhbGwgbmFjaGxlc2VuIGFscyBIVE1MLCBQREYgb2RlcgphdXNnZWRydWNrdCBmdWVyIDkgVVNELgoKRGllIEZpcm1hIHdpcmQgbGF1dCBkZW0gVXJ0ZWlsIGluIGVpbmVuIE9TLXRlaWwgdW5kIGVpbmVuICJBcHBsaWthdGlvbmVuIi1UZWlsCmF1ZmdldGVpbHQuIAoKdHJ1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pY3Jvc29mdCBVcnRlaWwgKEhvb2QsICA3LiBKdW4gMjAwMCwgMjM6NDQ6MzMpOgp+IyEgcm49VHJ1ZyBydD05NjA0MTE0NTEgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCm1pdCBkZW0gdXJ0ZWlsIHdlcmRlbiBzaWUgc2ljaCB3b2hsIGdyYWQgZGVuIGhpbnRlcm4gd2lzY2hlbiA6KQptYWwgc2VoZW4sIG9iIGRpZSBzb25zdCBzbyBoeXN0ZXJpc2NoIHJlYWdpZXJlbmRlIGJvZXJzZSBzaWNoIGRhdm9uCnVlYmVyaGF1cHQgd2VpdGVyIGJlZWluZHJ1Y2tlbiBsYWVzc3QuLi5kaWUgYmVydWZ1bmcgbGFlc3N0IGdydWVzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pY3Jvc29mdCBVcnRlaWwgKFRydWcsICA3LiBKdW4gMjAwMCwgMjM6NDY6MjMpOgp+IyEgcm49SG9vZCBydD05NjA0MTQyNzMgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCkljaCBoYWIgZGEgaW4gZGVuIEFydGlrZWwgKm5pY2h0KiBnZXNjaHJpZWJlbiBkYXMgaWNoIGRhIG1pY2ggZnJldWUgb2RlcgpkYXJ1ZWJlciB3ZWluZSBvZGVyIGlyZ2VuZGVpbmUgdmVyZGFtbXRlIGVtb3Rpb24gYXVzZ2VkcnVlY2t0LiBFYmVuIG51ciBlaW5lCmluZm9ybWF0aW9uIGZ1ZXIgaW50ZXJlc3NpZXJ0ZSwgZGllIGRhcyB1cnRlaWwgZGlyZWt0IGxlc2VuIHdvbGxlbi4gcHVua3QuCgp0cnVnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWljcm9zb2Z0IFVydGVpbCAoSG91c2Vob2xkZXIsICA3LiBKdW4gMjAwMCwgMjM6NDc6MjkpOgp+IyEgcm49VHJ1ZyBydD05NjA0MTQzODMgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCmhvaWwgZW5kbGljaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWljcm9zb2Z0IFVydGVpbCAoWmFybml5YSwgIDguIEp1biAyMDAwLCAxMTo0OToyMCk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD05NjA0MTQ0NDkgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCmFsc28gaWNoIGhhYiBkYXMgdXJ0ZWlsIG5pY2h0IHNlbGJzdCBnZWxlc2VuLCBzb25kZXJuIG51ciBnZXN0ZXJuIHRhZ2VzdGhlbWVuCmdlc2VoZW4gKHVlYnJpZ2VucyBtaXQgZWluZW0gZ2VpbGVuIFdlcmJlZmlsbSBmdWVyIGxpbnV4IGRyaW4pIHVuZCBkYSB3dXJkZQpnZXNhZ3QsIGRhc3MgaW0gVXJ0ZWlsIHN0ZWh0LCBkYXNzIE1TIHNpY2ggc2VsYnN0IHVlYmVybGVnZW4ga2Fubiwgd2llIHVuZCBpbgp3YXMgZXMgc2ljaCB6ZXJzY2hsYWdlbiBsYWVzc3QuLi4gbWFsIGFiZ2VzZWhlbiBkYXZvbiwgZGFzcyBtaXQgbm9jaCAyCmtvbW1lbmRlbiBJbnN0YW56ZW4gaW5uZXJoYWxiIGRlciBVUy1KdXN0aXogbWl0IGVpbmVyIFplcnNjaGxhZ3VuZywgd2Vubgp1ZWJlcmhhdXB0LCBlcnN0IGluIDMgSmFocmVuIHp1IHJlY2huZW4gaXN0LiAKClRoZW1hIEJvZXJzZTogQW5nZWJsaWNoIGhhdCBSZWRIYXQgamEga3JhZWZ0aWcgenVnZWxlZ3QuIDopCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNaWNyb3NvZnQgVXJ0ZWlsIChQcmEsICA4LiBKdW4gMjAwMCwgMTI6MzY6MTkpOgp+IyEgcm49WmFybml5YSBydD05NjA0NTc3NjAgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCmRlbiBUYWdlc3RoZW1lbmJlcmljaHQgenVtIFRoZW1hIGthbm4gbWFuIHNpY2ggdW50ZXIgd3d3LnRhZ2VzdGhlbWVuLmRlCm5vY2ggYWxzIHJlYWxwbGF5ZXItZGluZ3MgYW5zZWhlbi4gRWJlbnNvIGRpZSBXZXJidW5nIGZ1ZXIgTGludXggOy0pCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbiBhbGxlIFdlaWNoZWllciAoTWF0aXMsICA4LiBKdW4gMjAwMCwgMTk6MDY6MjcpOgpIdWh1IGxpZWJlIE1pdGdlbm9zc2VuLAoKZGllIGlociBkYSBhdWNoIGxpZWJlciB3YXJtIGR1c2NodCBzbyB3aWUgaWNoLiBVbnRlcgoKICAgd3d3LmhhcnRlaWVyLmRlCgpmaW5kZW4gd2lyIG51biBlbmRsaWNoIEhpbGZlIHp1ciBTZWxic3RoaWxmZSAtIHNwcmljaCB6dW0KR2VnZW5hbmdyaWZmLgoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1pY3Jvc29mdCBVcnRlaWwgKEtvYmF5YXNoaSwgIDkuIEp1biAyMDAwLCAxMjowNjo0Mik6Cn4jISBybj1aYXJuaXlhIHJ0PTk2MDQ1Nzc2MCByZz13d3cKfiMhIHRpZD05NjA0MTE0NTEKRXMgZ2lidCBlaW4gR2VzZXR6IGluIGRlbiBVU0EgZHVyY2ggZGFzIGVzIG1vZWdsaWNoIGlzdCwgYmVpIEZhZWxsZW4gd2llCmRpZXNlbSBlaW5lIEluc3RhbnogenUgdWViZXJzcHJpbmdlbiB1bmQgZXMgZGlyZWt0IGJlaW0gU3VwcmVtZSBDb3VydCB2ZXItCmhhbmRlbG4genUgbGFzc2VuLiBVbmQgd2VubiBkZXIgUmljaHRlciBkYXMgdm9yc2NobGFlZ3QsIHdhcyB6dSBlcndhcnRlbiBpc3QsCndpcmQgZGFzIHdvaGwga3VyeiB2b3IgZGVyIFdhaGwgZG9ydCB2ZXJoYW5kZWx0IHdlcmRlbi4gRC5oLiBtYW4ga29lbm50ZSBub2NoCmRpZXNlcyBKYWhyIG1pciBlaW5lbSBlbnRndWVsdGlnZW4gVXJ0ZWlsIHJlY2huZW4uClVlYnJpZ2VucyBrYW5uIE0kIHp3YXIgc2VsYnN0IGVudHNjaGVpZGVuLCB3aWUgZXMgZ2V0ZWlsdCB3ZXJkZW4gd2lsbCwgYWJlcgpkYXMgR2VyaWNodCBtdXNzIGRlbSB6dXN0aW1tZW4uIEFsc28gd2lyZCBlcyB3b2hsIGltIEVuZGVmZmVrdCBzbyBhdXNzZWhlbiwKd2llIGRlciBSaWNodGVyIGRhcyB2b3JnZXNjaGxhZ2VuIGhhdC4gQWJlciBhdXNzZXJkZW0gbXVzcyBNaWNyb3NvZnQgZGVuCmtvbXBsZXR0ZW4gU291cmNlIHZvbiBXaW5kb3dzIG9mZmVubGVnZW4sIGRhcmYga2VpbmUgTGl6ZW56ZW4gZGFmdWVyCnZlcmxhbmdlbiwKd2VubiBhbmRlcmUgRW50d2lja2xlciBkZW4gU291cmNlIG51dHplbiB1bSBiZXNzZXJlIFByb2dyYW1tZSBzY2hyZWliZW4gdW5kCmRhcmYgMTAgSmFocmUgbGFuZyBuaWNodCBtaXQgZGVtIGFiZ2V0cmVubnRlbiBGaXJtZW50ZWlsIGRpcmVrdCB6dXNhbW1lbi0KYXJiZWl0ZW4uCgpqdXN0IG15IDAuMDIgRVVSCiBLb2JheWFzaGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE1pY3Jvc29mdCBVcnRlaWwgKFBhZHJlaWMsICA5LiBKdW4gMjAwMCwgMTI6Mzg6NTUpOgp+IyEgcm49S29iYXlhc2hpIHJ0PTk2MDU0NTIwMiByZz13d3cKfiMhIHRpZD05NjA0MTE0NTEKQWxzbyBpY2ggaGFiZSB2b24gS2VubmVybiBkZXMgYW1lcmlrYW5pc2NoZW4gUmVjaHRzIG51ciBnZWhvZXJ0LCBkYXMgdm9yIDMKV29jaGVuIGRpZSBTYWNoZSBub2NoIGdsYXNrbGFyIHdhciwgYWJlciBSaWNodGVyIEphY2tzb24gZWluaWdlIGdyb2JlClZlcmZhaHJlbnNmZWhsZXIgZ2VtYWNodCBoYXQsIGRpZSB3b2hsIGRhenUgZnVlaHJlbiB3ZXJkZW4sIGRhcyBNaWNyb3NvZnQgZGllCkJlcnVmdW5nIGdld2lubnQuIERhcyBlciBNaWNyb3NvZnQgei5iLiBuaWNodCBub2NobWFsIDYgV29jaGVuIFplaXQgZ2VnZWJlbgpoYXQgdW0gR2VnZW5hcmd1bWVudGUgdm9yenV0cmFnZW4gd2FyIGVpbiBncm9iZXIgRmVobGVyIHVuZCBkYXMgZXIgZXJzdCBlaW4KaG9laGVyZXMgU3RyYWZtYXNzIGFscyBkaWUgQW5rbGFnZSB2ZXJoYWVuZ2VuIHdvbGx0ZSBlaW4gSW5kaXogZnVlcgpCZWZhbmdlbmhlaXQuClVudGVyIFVtc3RhZW5kZW4ga29tbXQgZXMgYWxzbyB6dSBGcmVpc3BydWNoIGF1ZmdydW5kIHZvbiBWZXJmYWhyZW5zZmVobGVybi4KClBhZHJlaWMsIGRlciBhbGxtYWVobGljaCBnbGF1YnQgZGFzIGRlciBSaWNodGVyIGdla2F1ZnQgd2FyLCB3ZWlsIHNvb28gZHVtbQprYW5uIG1hbiBlaWdlbnRsaWNoIGdhciBuZXQgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmEtVGVsbmV0IChIYXRlLCAgOS4gSnVuIDIwMDAsIDE0OjI5OjAxKToKSWNoIGhhYmUgbWFsIGRpZSBuZXVlc3RlIFZlcnNpb24gZGVzIEphdmEgVGVsbmV0IEFwcGxldCBlaW5nZXNwaWVsdC4gV2VyCmRhbWl0IFByb2JsZW1lIGhhdCwgc2NocmVpYmUgYW4ganRhQG11ZC5kZS4KCkhhdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNaWNyb3NvZnQgVXJ0ZWlsIChIb29kLCAgOS4gSnVuIDIwMDAsIDE0OjM5OjA4KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTYwNTQ3MTM1IHJnPXd3dwp+IyEgdGlkPTk2MDQxMTQ1MQppbnRlcnByZXRhdGlvbmVuLCBnZWdlbmludGVycHJldGF0aW9uZW4sIGtsdWdzY2hpc3MsIGJlc3NlcnJ3aXNzLi4uCndlciBrYW5uIGRhcyBhbGxlcyBub2NoIGF1c2VpbmFuZGVyaGFsdGVuLgpnZW5hdXNvIG9mdCB3aWUgenUgbGVzZW4gd2FyLCBkYXNzIGRpZSB6dSBrbmFwcCBiZW1lc3NlbmUgemVpdCBlaW4KZ3JvYmVyIGZlaGxlciBpbSB2ZXJmYWhyZW4gd2FyLCBnZW5hdXNvIG9mdCB3YXIgYXVjaCB6dSBsZXNlbiwKZGFzcyBkZXIgcmljaHRlciBpbnNnZXNhbXQgYWV1c3NlcnN0IGNsZXZlciBoYW5kZWx0ZSwgaW0gdmVyZmFocmVuIHNlbGJzdAp1bmQgYXVjaCBpbiBkZXIgdXJ0ZWlsc2JlZ3J1ZW5kdW5nLgphdWYgamVkZW4gZmFsbCBoYXNzZSBpY2ggZWluZXMgYW4gZGVyIGdhbnplbiBqdXJpc3RlcmVpOgogIHdlbm4gZWluZXIgd2VnZW4gdmVyZmFocmVuc2ZlaGxlcm4gZnJlaWdlc3Byb2NoZW4gd2lyZCwgd2VubiBlciBnYW56Cm9mZmVuc2ljaHRsaWNoIHNjaHVsZGlnIGlzdCwgdW5kIGRhcyBzZWkgamV0enQgbmljaHQgbnVyIGF1ZiBNUyBiZXpvZ2VuLgphbndhbHQgbXVzcyBuZW4gZGVwcmltaWVyZW5kZXIgam9iIHNlaW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1pY3Jvc29mdCBVcnRlaWwgKEdyaW1tYm9ybiwgIDkuIEp1biAyMDAwLCAxNToyMTowNik6Cn4jISBybj1Ib29kIHJ0PTk2MDU1NDM0OCByZz13d3cKfiMhIHRpZD05NjA0MTE0NTEKQXVjaCB3ZW5uIGljaCBEZWluZW4gU2NobWVyeiB2ZXJzdGVoZSAodW5kIHRlaWxlKSwgc28gaXN0IGRvY2ggZGllClJlY2h0c3NpY2hlcmhlaXQgZWluIHNlaHIgaG9oZXMgZ3V0LiBFaW4gZmFpcmVyIFByb3plc3MgaXN0IGV4dHJlbXN0IHdpY2h0aWcsCndlbm4gamVtYW5kIGRlbiBuaWNodCBrcmllZ3QgKGFsc28gVmVyZmFocmVuc2ZlaGxlciBhdWZ0cmV0ZW4pIGdpbHQgaW0KRW5kZWZmZWt0ICJpbiBkdWJpbyBwcm8gcmVvIjogd2VubiBpY2ggbmljaHQgaW4gZGVyIExhZ2UgYmluLCBqZW1hbmRlbiBtaXQKZmFpcmVuIE1pdHRlbG4genUgdmVydXJ0ZWlsZW4sIGRhbm4gd2lyZCBlciBlYmVuIG5pY2h0IHZlcnVydGVpbHQuIAoKVW5kIGRpZSBKdXJpc3RlbiBzb2xsdGVuIHNpY2ggbmljaHQgaW4gRGVwcmVzc2lvbmVuIHZlcmdyYWJlbiwgc29uZGVybiBsaWViZXIKenVzZWhlbiwgZGFzcyBzaWUgZGllIFZlcmZhaHJlbiBhbnN0YWVuZGlnIGZ1ZWhyZW4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1pY3Jvc29mdCBVcnRlaWwgKEdub21lLCAgOS4gSnVuIDIwMDAsIDE1OjQzOjExKToKfiMhIHJuPUdyaW1tYm9ybiBydD05NjA1NTY4NjYgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCndhcnVtIHdpcmQgZGFubiBkZXIgcHJvemVzcyBuaWNodCB3aWVkZXJob2x0IF9vaG5lXyB2ZXJmYWhyZW5zZmVobGVyPwppc3QgZG9jaCBuaWNodCBzbyBzY2h3ZXIsIG9kZXI/Cgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTWljcm9zb2Z0IFVydGVpbCAoSGlnaHQsICA5LiBKdW4gMjAwMCwgMTU6NTY6MTEpOgp+IyEgcm49SG9vZCBydD05NjA1NTQzNDggcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCmZ1ZXIgbWljaCBsaWVndCBkYXMgcHJvYmxlbSBkYXJpbiBkYXMgTVMsIHdlbm4gZXMgZnJlaWdlc3Byb2NoZW4gd2lyZCwga29lbm5lbgpiaWxseSBib3kgdW5kIHNlaW5lIG1hbm5lbiAKaW4gcmljaHR1bmcgYXVzbnV0enVuZyBkZXMgbW9ub3BvbHMgbWVociBvZGVyIG1pbmRlciBtYWNoZW4gd2FzIHNpZSB3b2xsZW4uCnNvd2VpdCBpY2ggbWljaCBlcmlubmVyZSBpc3QgZXMgaW4gZGVuIHVzYSBzbywgZGFzcyBtYW4gd2VnZW4gZGVyIHNlbGJlbiBzYWNoZQpuaWNoIDIgbWFsIGFuZ2VrbGFndCB3ZXJkZW4ga2FubiAKCmhpZ2h0IG1hbCBhdWYgbmVuIHNjaHVsZHNwcnVjaCBob2ZmZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTWljcm9zb2Z0IFVydGVpbCAoSG9vZCwgIDkuIEp1biAyMDAwLCAxNTo1NjozOSk6Cn4jISBybj1Hbm9tZSBydD05NjA1NTgxOTEgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCmxlaWRlciBnZWh0IGRhcyBkYW5uIG5pY2h0IG1laHIsIG9kZXIgbGllZyBpY2ggZGEgZmFsc2NoPwp2ZXJmYWhyZW5zZmVobGVyIHVuZCBtYW4gaXN0IGZlaW4gcmF1cy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1pY3Jvc29mdCBVcnRlaWwgKFBhZHJlaWMsICA5LiBKdW4gMjAwMCwgMTg6MTg6MjEpOgp+IyEgcm49SG9vZCBydD05NjA1NTg5OTkgcmc9d3d3Cn4jISB0aWQ9OTYwNDExNDUxCkp1cCwgbmFjaCBlaW5lbSBWZXJmYWhyZW5zZmVobGVyIGlzdCBlbmRlLCBrZWluZSBlcm5ldXRlIEFua2xhZ2UgbWVoci4KV2FzIER1IGRhIHNhZ3N0IGlzdCBmYWxzY2gsIGF1Y2ggZWluIGVpbm1hbCB2ZXJ1cnRlaWx0ZXIgTW9lcmRlciwgZGFyZiBmdWVyCmVpbmVuIHdlaXRlcmVuIE1vcmQgZXJuZXV0IHZlcnVydGVpbHQgd2VyZGVuLiBTaWUgZHVlcmZlbiBudXIgZnVlciBkYXMgaW4gZGVyCnZlcmdhbmdlbmhlaXQgYmVnYW5nZW5lIHVuZCBkYW1pdCBkZW4gQXVmYmF1IHVuZCBlcmhhbHQgaWhyZXMgTW9ub3BvbHMgbmljaHQKbWVociBiZXN0cmFmdCB3ZXJkZW4uIFNvbGx0ZW4gc2llIG5hY2ggZGVtIE1vdHRvICJ3ZWl0ZXIgc28hIiBoYW5kZWxuIHVuZCBzaWNoCmdlbmF1c28gZHVtbSBhbnN0ZWxsZW4gd2llIGRhbWFscyB1bmQgc292aWVsZSBCZXdlaXNlIGhpbnRlcmxhc3NlbiwgZGFubgprb2VubmVuIHNpZSBlcm5ldXQgYW5nZWtsYWd0IHdlcmRlbiAod29iZWkgZGVyIFByb3plc3MgYXVjaCBkYW5uIHdpZWRlciBlcnN0IDIKSmFocmUgZGF1ZXJuIHdpcmQuLi4pCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTWljcm9zb2Z0IFVydGVpbCAoQW5vcmlzLCAgOS4gSnVuIDIwMDAsIDE5OjExOjM3KToKfiMhIHJuPVBhZHJlaWMgcnQ9OTYwNTY3NTAxIHJnPXd3dwp+IyEgdGlkPTk2MDQxMTQ1MQpBYmVyIGZ1ZXIgZGVuIHNlbGJlbiBNb3JkIG5pY2h0IG9kZXI/IFdvbGx0ZSBoZXV0ZSBBYmVuZCBub2NoIGlucyBLaW5vIC4uIElocgpNYW5uIHZlcnNjaHdpbmRldC4gSnVzdGl0eiB2ZXJ1cnRlaWx0IDogTW9yZC4gRnJhdSBzaXR6dCBTdHJhZmUgYWIuIEVyCmJlZ2VnbmV0IGlociBuYWNoIGFiZ2VzZXNzZW5lciBTdHJhZmUuIFNpZSB3aWxsIGlobiB1bWJyaW5nZW4gdW5kIGthbm4gZnVlcgpkaWVzIG5pY2h0IG5vY2htYWwgYmVzdHJhZnQgd2VyZGVuLiBSaWNodGlnPyAqbmV1Z2llcioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvbWVwYWdlIChXaW0sIDExLiBKdW4gMjAwMCwgMjA6MjA6MzgpOgp+IyEgb249QXBvcGhpcyBvdD05NjA3NDcwMjEgb2c9Z2lsZGVuLnphdWJlcmVyCmh1aHUsCgppY2ggc3VjaGUgZWluZW4gV2Vic3BhY2VhbmJpZXRlciwgZGVyIGtlaW5lIFdlcmJ1bmcgZWluYmxlbmRldCwga29zdGVubG9zIHVuZApzZWx0ZW4gZG93biBpc3QuIERlcnplaXRpZyBsaWVndCBkaWUgSG9tZXBhZ2UgYmVpIEZyZWVwYWdlLiBEaWUgc2luZCBhYmVyCm11ZWxsLCBkYSBkaWUgb2VmdGVyIGRvd24gYWxzIHVwIHNpbmQuIEtlbm50IGplbWFuZCB3YXMgR3V0ZXMsIGJ6dy4ga2FubiBtaXIKc2VsYmVyIHdhcyB6dXIgVmVyZnVlZ3VuZyBzdGVsbGVuPwpEYW5rZSBzY2hvbm1hbCA6KQoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE1pY3Jvc29mdCBVcnRlaWwgKEdyaW1tYm9ybiwgMTMuIEp1biAyMDAwLCAwNzoyNDo0Nyk6Cn4jISBybj1Bbm9yaXMgcnQ9OTYwNTcwNjk3IHJnPXd3dwp+IyEgdGlkPTk2MDQxMTQ1MQpLb3JyZWt0LgpBbGxlcmRpbmdzIGlzdCBkZXIgRmlsbSBNdWVsbC4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwZXRpdGlvbiBmb3IgYSBzb2Z0d2FyZSBwYXRlbnQgZnJlZSBldXJvcGUgKEplbmFuZHJhLCAxOS4gSnVuIDIwMDAsIDAyOjEwOjA2KToKaHR0cDovL3BldGl0aW9uLmV1cm9saW51eC5vcmcvaW5kZXhfaHRtbAoKSmVuYW5kcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwZXRpdGlvbiBmb3IgYSBzb2Z0d2FyZSBwYXRlbnQgZnJlZSBldXJvcGUgKEFub3JpcywgMTkuIEp1biAyMDAwLCAwMjoxMzoxMik6Cn4jISBybj1KZW5hbmRyYSBydD05NjEzNzM0MDYgcmc9d3d3Cn4jISB0aWQ9OTYxMzczNDA2CkJpbiBpY2ggYmxpbmQgb2RlciBpcyBTY2h3ZWl6IG5lZCBlaW5nZXRyYWdlbj8gTmUgZGEgaXMgZXMgamEgLi4gQ29uZmVkZXJhdGlvbgpIZWx2ZXRpY2EgPyE/IDopIG5lIHZlcmFzY2h1bmcgKlRTKiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBldGl0aW9uIGZvciBhIHNvZnR3YXJlIHBhdGVudCBmcmVlIGV1cm9wZSAoVGlhbWFrLCAxOS4gSnVuIDIwMDAsIDA5OjQ1OjU1KToKfiMhIHJuPUplbmFuZHJhIHJ0PTk2MTM3MzQwNiByZz13d3cKfiMhIHRpZD05NjEzNzM0MDYKU2luZCBkYXMgZGllLCBkaWUgc2ljaCBzZWxiZXIgb2IgaWhyZXIgU29yZ2ZhbHQgaW4gYmV6dWcgYXVmIERhdGVuc2NodXR6CnJ1ZWhtZW4sIGRpZSBhYmVyIGRpZSBEYXRlbiB2b24gamVkZW0gVW50ZXJ6ZWljaG5lciAoamFqYSwgbmljaHQgKmFsbGUqLCBhYmVyCnppZW1saWNoIHZpZWxlKSBhdWYgaWhyZW4gV2Vic2VpdGVuIHZlcm9lZmZlbnRsaWNoZW4gdW5kIGVpbmVtIHp3YW5nc3dlaXNlCmVpbmVuIE5ld3NsZXR0ZXIgYXVmJ3MgQXVnZSBkcnVlY2tlbiwgZWdhbCBvYiBtYW4gd2lsbCBvZGVyIG5pY2h0IC0gc28gcXVhc2kKYWxzIEJlbG9obnVuZyBkYWZ1ZXIsIGRhc3MgbWFuIHVudGVyc2NocmllYmVuIGhhdD8KCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGV0aXRpb24gZm9yIGEgc29mdHdhcmUgcGF0ZW50IGZyZWUgZXVyb3BlIChHcmltbWJvcm4sIDIwLiBKdW4gMjAwMCwgMTk6MTI6MDcpOgp+IyEgcm49VGlhbWFrIHJ0PTk2MTQwMDc1NSByZz13d3cKfiMhIHRpZD05NjEzNzM0MDYKRGllIERhcnN0ZWxsdW5nIGlzdCB0ZW5kZW56aW9lcywgYWJlciBrb3JyZWt0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEQVUtU2VsYnN0dGVzdCAoVHJ1ZywgIDMuIEp1bCAyMDAwLCAyMzozNDoxNSk6Cmh0dHA6Ly93d3cua2xpY2tpYnVudGkub3JnL2RhdXRlc3QuaHRtbAoKVHJ1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERBVS1TZWxic3R0ZXN0IChQcmEsICA0LiBKdWwgMjAwMCwgMTI6MDk6NDgpOgp+IyEgcm49VHJ1ZyBydD05NjI2NjAwNTUgcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1Cnd1bmRlcmJhciEgQmVpbSB3ZWl0ZXJlbiBrbGlja2lrbGlja2ktbWFjaGVuIGJpbiBpY2ggYXVmCmh0dHA6Ly93d3cudW5pLW1haW56LmRlL2Vzc3IwMDAvZGF1Mi5odG1sCmdlc3Rvc3Nlbi4gWnVtIEJydWVsbGVuIQoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEQVUtU2VsYnN0dGVzdCAoR3JpbW1ib3JuLCAgNC4gSnVsIDIwMDAsIDEyOjE1OjA2KToKfiMhIHJuPVByYSBydD05NjI3MDUzODggcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1CkFsc28sIGljaCB3ZWlzcyBuaWNodCB3YXMgRHUgYW4gZGllc2VyIG1vZGlmaXppZXJ0ZW4gIjQwNCAtIGRvY3VtZW50IG5vdApmb3VuZCIgc28ga2xhc3NlIGZpbmRlc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERBVS1TZWxic3R0ZXN0IChQcmEsICA0LiBKdWwgMjAwMCwgMTI6MTc6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk2MjcwNTcwNiByZz13d3cKfiMhIHRpZD05NjI2NjAwNTUKbXVya3MuIGJsb2VkZXMgY3V0JnBhc3RlLiBEYSBmZWhsdGUgZWluICd+Jy4gZnVlZyBlcyBlaW4gdm9yICdoZXNzcjAwMCcuCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEQVUtU2VsYnN0dGVzdCAoVGlhbWFrLCAgNC4gSnVsIDIwMDAsIDEyOjIxOjQ5KToKfiMhIHJuPVByYSBydD05NjI3MDU4NDQgcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1CkRhbm4gZmVobHRlIHdvaGwgYXVjaCBlaW4gJ2gnLiA7LSkKClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogREFVLVNlbGJzdHRlc3QgKFByYSwgIDQuIEp1bCAyMDAwLCAxMjoyNTowMSk6Cn4jISBybj1QcmEgcnQ9OTYyNzA2MTg1IHJnPXd3dwp+IyEgdGlkPTk2MjY2MDA1NQpvaywgb2ssIHNvcnJ5LiBNZWEgY3VscGEgb2RlciBmYXN0IHNjaG9uIERBVS4gSGllciBub2NobWFsIGRpZSBnYW56ZSBBZHJlc3NlOgoKaHR0cDovL3d3dy51bmktbWFpbnouZGUvfmhlc3NyMDAwL2RhdTIuaHRtbAoKUHJhLgoKUC5TLiBCZW51dHp0IGplbWFuZCB0ZiB1bnRlciBXaW4kJSYgdW5kIGtvbW10IG1pdCBUaWxkZW4gdW5kIGVja2lnZW4gdW5kCmdlc2Nod2VpZnRlbiBLbGFtbWVybiBrbGFyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogREFVLVNlbGJzdHRlc3QgKFRpYW1haywgIDQuIEp1bCAyMDAwLCAxMjoyNTo1NSk6Cn4jISBybj1QcmEgcnQ9OTYyNzA2MzAxIHJnPXd3dwp+IyEgdGlkPTk2MjY2MDA1NQpURiBoYXQgZGFtaXQgZWlnZW50bGljaCBrZWluZSBQcm9ibGVtZS4gRGFzIGhvZXJ0IHNpY2ggZWhlciBuYWNoIHpNdWQgYW4gLi4uCgpUaWFtYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERBVS1TZWxic3R0ZXN0IChTaWx2YW5hLCAgNC4gSnVsIDIwMDAsIDEyOjI2OjU3KToKfiMhIHJuPVRpYW1hayBydD05NjI3MDYzNTUgcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1ClpNdWQgaGF0IGRhbWl0IGF1Y2gga2VpbmUgUHJvYmxlbWUsIHdlbm4gbWFuIGVzIG9yZGVudGxpY2ggZWluc3RlbGx0LiA7LSkKClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IERBVS1TZWxic3R0ZXN0IChQcmEsICA0LiBKdWwgMjAwMCwgMTI6Mjc6NDEpOgp+IyEgcm49U2lsdmFuYSBydD05NjI3MDY0MTcgcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1CmhleSwgc28gZG9vZiBiaW4gaWNoIG5pY2h0LiBJY2ggd2Vpc3MgZ2FhYWFueiBzaWNoZXIsIGRhc3MgaWNoIHRmIApiZW51dHplLCB1bmQgbmljaHQgem11ZC4uLgoKUC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEQVUtU2VsYnN0dGVzdCAoU2lsdmFuYSwgIDQuIEp1bCAyMDAwLCAxMjoyODoxOSk6Cn4jISBybj1QcmEgcnQ9OTYyNzA2NDYxIHJnPXd3dwp+IyEgdGlkPTk2MjY2MDA1NQpIYWIgaWNoIHdhcyBhbmRlcmVzIGJlaGF1cHRldD8KClNpbHZhbmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEQVUtU2VsYnN0dGVzdCAoVGlhbWFrLCAgNC4gSnVsIDIwMDAsIDEyOjI5OjQzKToKfiMhIHJuPVByYSBydD05NjI3MDY0NjEgcmc9d3d3Cn4jISB0aWQ9OTYyNjYwMDU1Ck51bmphLCB3byB3aXIgZG9jaCBnZXJhZGUgYmVpIERBVXMgd2FyZW4gLi4uIF06LT4KClRpYW1hawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VpbmUgREFVLXNpdGUgYWJlciBhdWNoIGdhbnogbmV0dCA7LSkgKEFwc3UsICA1LiBKdWwgMjAwMCwgMTQ6NDM6MzEpOgoKaHR0cDovL3d3dy5pa3MtamVuYS5kZS9taXRhcmIvbHV0ei91c2VuZXQvRmFjaGJlZ3JpZmZlLmRlci5JbmZvcm1hdGlrLmh0bWwKCkVuam95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbGFuZXRhcmlvbiAoQ2F0d2VhemxlLCAxMy4gSnVsIDIwMDAsIDA5OjE2OjUxKToKV2VubiBFdWNoIG1hbCB3aWVkZXIgbGFuZ3dlaWxpZyBpc3Q6IGh0dHA6L3d3dy5wbGFuZXRhcmlvbi5jb20KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdHYga3VsdCAoQWxib2luLCAxOC4gSnVsIDIwMDAsIDEyOjEwOjU1KToKSGFsbGloYWxsbywKd2VyIGVyaW5uZXJ0IHNpY2ggbmljaHQgZ2VybmUgYW4gZGllIGd1dGVuIGFsdGVuIFNlcmllbiB2b20gWkRGLUZlcmllbgpQcm9ncmFtbSBkaWUgaGV1dGUgS3VsdHN0YXR1cyBlcnJlaWNodCBoYWJlbiB1bmQgZGVyZW4gRmlndXJlbiBoaWVyIGltIE11ZApqYSBhdWNoIGFuenV0cmVmZmVuIHNpbmQgKEdyaXN1LCBBbmF0b2wsIENhdHdlYXpsZSAuLikuIEplZGVuZmFsbHMgYWxzIGljaCBtYWwKbmFjaCBIZXJybiBSb3NzaSAoSGVyciBSb3NzaSBzdWNodCBkYXMgR2x1ZWNrLCBlciB3aWxsIG51ciB2b20gR2x1ZWNrIGVpbgpTdHVlY2spIHN1cmZ0ZSBlbnRkZWNrdGUgaWNoIHp3ZWkgaW50ZXJlc3NhbnRlIFNlaXRlbjoKaHR0cDovL3d3dy5mZXJuc2Voc2VyaWVuLmRlLwpodHRwOi8vd3d3LnR2LWt1bHQuZGUvCgpkb3J0IGdpYnRzIG5pY2h0IG51ciBCaWxkY2hlbiB1bmQgS3VyemJlc2NocmVpYnVuZ2VuIGRlciBTZXJpZW4gc29uZGVybiBhdWNoCmFrdHVlbGxlIFNlbmRldGVybWluZS4gQWNoamEgdW5kIHdlciBnZXJuZSB3aWxsIGRhcyBzZWluZSBMaWVibGluZ3NzZXJpZSBtYWwKd2llZGVyIGltIFRWIGxhZXVmdCBrYW5uIG1hbAphdWY6Cmh0dHA6Ly93d3cub3NuYWJydWVjay5uZXRzdXJmLmRlOjgwODAvfnJfc2Nob2VuZmVsZHQvdHYuaHRtbApzY2hhdWVuLCBkb3J0IGthbm4gbWFuIG5hZW1saWNoIGFic3RpbW1lbiB1ZWJlciBkYXMgd2FzIGRlbW5hZWNoc3QgaW0KZmVybnNlaGVuIHNvIGxhdWZlbiBzb2xsLgpWaWVsIFNwYXNzIHd1ZW5zY2h0CgpBbGJvaW4sIGRlciBpbW1lciBtYWwgZ2VybmUgaGVpbWxpY2ggV2VzdGVuIGd1Y2t0ZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbHRlbiBzbyBnZWxhY2h0IChDYXNlLCAyMC4gSnVsIDIwMDAsIDE2OjI2OjA4KToKd3d3LnVybGF1YmFtYmF1ZXJuaG9mLmNvbS9DbGljay5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJJRkkgKFByYSwgMjEuIEp1bCAyMDAwLCAxMjo0MzoyMik6ClVuZCBpaHIgZGFjaHRldCwgZGllIEJpZmktS2FtcGFnbmUgaXN0IG51ciBlaW4gU2NoZXJ6PyBOZWluLCBuZWluLApaT01URUMgZ2lidCBlcyB3aXJrbGljaCwgc2NoYXV0IG5hY2ggYXVmIHd3dy56b210ZWMuZGUgdW5kIGlocgp3ZXJkZXQgS2FybCBGcml0c2NoIGFscyBBbmZhZW5nZXIgYWJ0dW4hCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQklGSSAoUm9uZGEsIDIxLiBKdWwgMjAwMCwgMTk6MTY6NTMpOgp+IyEgcm49UHJhIHJ0PTk2NDE3NjIwMiByZz13d3cKfiMhIHRpZD05NjQxNzYyMDIKKnJvdGZsKiBEYXMgaXN0IGVjaHQgV2FobnNpbm4uIERpZSBoYWJlbiBnYXJhbnRpZXJ0IEZyaXRzY2ggYWxzIFdlYmRlc2lnbmVyCmFuZ2VzdGVsbHQuIEJlc29uZGVycyBrbGFzc2UgZGllIFdlYnNpdGUgZGVzIGVpbmVuIE1pdGFyYmVpdGVycywgZGVyIGRpZSBnYW56ZQpaZWl0IEZvdG9zIG1hY2h0LiBOdXIgbGVpZGVyIGFsbGUga29tcGxldHQgZmFsc2NoIHZlcmtudWVwZnQgLSBzcHJpY2h0OiBicm9rZW4KTGlua3MuLi4KKGhlaXNzZW4gdWVicmlnZW5zIGFsbGUgZHVtbXkuZ2lmIDstKSApCktsYXNzZS4uLiBzZWhlbnN3ZXJ0IQoKUm9uZGEgKmxhY2h0IG5vY2ggaW1tZXIuLi4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogTm9jaCBldHdhcyBmdWVyIGRpZSBIb21lcGFnZSAoT3JrdG9ldGVyLCAyMS4gSnVsIDIwMDAsIDE5OjU1OjE5KToKCldpZSB3YWVyZSBlcywgd2VubiBhdWYgZGVyIEhvbWVwYWdlIGVpbiBWZXJ3ZWlzIGF1ZiBlaW5lIEFkcmVzc2UgbWl0IEluZm9zIHp1cgpLbm9jaGVubWFya3NwZW5kZSBzdHVlbmRlID8gVmlsZWljaHQgbWl0IGVpbmVtIEtsZWluZW4gSGlud2VpcyB3YXJ1bS4KCk9ya1QuCgpQUyBpY2gga2VubmUgbWluZGVzdGVucyBlaW5lbiBNdWRkZXIsIGRlciBkYXMgZ2FuemUgcHJvemVkZXJlIGJlcmVpdHMgaGludGVyCnNpY2ggaGF0LCBpc3QgYWxzbyBhdWNoIG5pY2h0IHNvb28gc2VsdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKOikgKEFwc3UsIDIyLiBKdWwgMjAwMCwgMTU6MDU6MTUpOgoKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL0F0aGVucy9Gb3J1bS83MDkxLwoKTm8gY29tbWVudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmFuZCBpY2ggZ2FueiBuZXR0Li4gKFNreSwgMjMuIEp1bCAyMDAwLCAyMjowNDowMCk6CgotLT53d3cubGFuZ3NjaHdlcnQuZGU8LS0KClAuUy46QWV4dGUgc2luZCBkb2NoIG5peCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi4udW5kIHp1bSB0YWVnbGljaGVuIFNhdWViZXJtYWNoZW4uLi4gKFRyb3ksIDI0LiBKdWwgMjAwMCwgMDg6MzE6MTApOgouLi5naWJ0cyBkaWUgWmFobmJ1ZXJzdGUgZnJlaSBoYXVzIHVudGVyIHd3dy56YWhiby5kZSA7LSkKClRyb3kKClAuUy4gZnVlciBVZmllcyB1bmQgRnJldW5kZSB2b24gRGlsYmVydDogc2NoYXV0IGRvY2ggbWFsIGJlaQp3d3cuZ3BmLWNvbWljcy5jb20gcmVpbiA4LT4gU2VsdGVuIHNvIGdlbGFjaHQgOC0+fQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHliYSAoUHJhLCAyNS4gSnVsIDIwMDAsIDEzOjI5OjU2KToKWnVyIGFrdHVlbGxlbiBEaXNrdXNzaW9uIGluICdhbnplaWdlbicsICdzY2htYXJybicgdW5kIC0gYWVoIC0gJ2Rpc2t1c3Npb24nCmtvbW10IGpldHp0IGRpZSBha3R1ZWxsZSBLYXJpa2F0dXIsIGRhbWl0IGFsbGUgYXVjaCBzY2hvbiB3ZWl0ZXIKZGlza3V0aWVyZW4ga29lbm5lbjoKCmh0dHA6Ly93d3cudGF6LmRlL3RwbC8yMDAwLzA3LzI1L2thcmkuZ2lmLmZyL2ltZwoKUHJhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT25saW5lLU11c2lraGFuZGVsICAoVmFuaW9uLCAyNy4gSnVsIDIwMDAsIDE3OjE1OjEzKToKSGksCgprZW5udCBqZW1hbmQgZGllIEFkcmVzc2UgZWluZXMgT25saW5lLU11c2lraGFlbmRsZXJzLCB1bmQgaGF0IG1pdCBkaWVzZW0gc2Nob24KZ3V0ZSBFcmZhaHJ1bmdlbiBnZW1hY2h0PwoKSWNoIHN1Y2hlIHNwZXppZWxsIGVpbmVuIEhhZW5kbGVyLCBkZXIgbWlyIHp1IGVpbmVtIHZlcm51ZW5mdGlnZW4gUHJlaXMgZGllCkNEcyB2b24gSW9uYSBiZXNjaGFmZmVuIGthbm4uCgpEYW5rZSBmdWVyIGV1cmUgSGlsZmUsClZhbmlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9ubGluZS1NdXNpa2hhbmRlbCAgKEx1ZywgMjguIEp1bCAyMDAwLCAwMTo1OToxMyk6Cn4jISBybj1WYW5pb24gcnQ9OTY0NzEwOTEzIHJnPXd3dwp+IyEgdGlkPTk2NDcxMDkxMwoKSW9uYSBhbHMgTGFiZWw/IEQuaC4gc28gc2Nob2VuZSBTYWNoZW4gd2llIE9zc2lhbiBvZGVyIGRpZSBrZWx0ZWt2ZXJraXRzY2h0ZQpQc2V1ZG9iYW5kPwoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9ubGluZS1NdXNpa2hhbmRlbCAgKFZhbmlvbiwgMjguIEp1bCAyMDAwLCAxNTo0NTo0MSk6Cn4jISBybj1MdWcgcnQ9OTY0NzQyMzUzIHJnPXd3dwp+IyEgdGlkPTk2NDcxMDkxMwpEaWUgUHNldWRvYmFuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBTdXJmZW4gYnkgU3Ryb21rYWJlbCAuLi4gKFZhbmlvbiwgIDQuIEF1ZyAyMDAwLCAwODozOTo1MSk6Cmh0dHA6Ly93d3cuemRmLm1zbmJjLmRlL25ld3MvNTg0NTEuYXNwCgpIbW1tLCBkYSBpY2ggbmljaCB3ZWlzcywgd2llIGxhbmdlIG1zbiBkaWVzZSBOYWNocmljaHRlbiBhbmJpZXRldCwgZGVyIExpbmsKenVtIGludGVydmlld3RlbiBBbmJpZXRlcjoKaHR0cDovL3d3dy5tdnYuZGUvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCBTdXJmZW4gYnkgU3Ryb21rYWJlbCAuLi4gKE5pY2t0YXIsICA0LiBBdWcgMjAwMCwgMDg6NDk6NTQpOgp+IyEgcm49VmFuaW9uIHJ0PTk2NTM3MTE5MSByZz13d3cKfiMhIHRpZD05NjUzNzExOTEKTmV0dGUgRmVobGVybWVsZHVuZ2VuIGJpZXRlbiBkaWUgYXVmIGlocmVyIFBhZ2UuLi4KaW5jbC4ga29tcGxldHRlbiBCYWNrdHJhY2UgZHVyY2ggaWhyZSBDR0lzLi4uLi4KCk5pY2t0YXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJlc3RvZi5odG1sIChCaXJkeSwgIDcuIEF1ZyAyMDAwLCAxNjo1NToyNCk6CmJlc3RvZi5odG1sIGF1ZiBkZW0gbWctc2VydmVyOiBGb3JiaWRkZW4gISBhZW5kZXJ0IGRhcyBtYWwgYml0dGUKCm1mZyAKYmlyZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiZXN0b2YuaHRtbCAoVGlhbWFrLCAgNy4gQXVnIDIwMDAsIDE4OjE0OjQ0KToKfiMhIHJuPUJpcmR5IHJ0PTk2NTY2MDEyNCByZz13d3cKfiMhIHRpZD05NjU2NjAxMjQKRXJsZWRpZ3QuCgoKVGlhbWFrLiBOaW1tdCBCdWdyZXBvcnRzIGFiZXIgaW1tZXIgbm9jaCBhbSBsaWVic3RlbiBwZXIgTWFpbCBlbnRnZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndvcnN0IG9mIGludGVybmV0LCBwdCBJSSAoUHJhLCAxMC4gQXVnIDIwMDAsIDE1OjU0OjUwKToKTW9pbm1vaW4sCgpuYWNoZGVtIG1laW4gQXVnZW5hcnp0IG1pciB2ZXJib3RlbiBoYXQsIHdlaXRlcmhpbiBhdWYgZGllIFNlaXRlCnZvbiBLYXJsIEZyaXRzY2ggenUgc3VyZmVuIChmdWVyIGRpZWplbmlnZW4sIGRpZSBkaWVzZSBBdXNnZWJ1cnQKZGVzIFdhaG5zaW5ucyBub2NoIG5pY2h0IGtlbm5lbjogaHR0cDovL2hvbWUudC1vbmxpbmUuZGUvaG9tZS9LYXJsLkZyaXRzY2gpLApzdXJmZSBpY2ggaW4gcnVoaWdlcmUgR2VmaWxkZSB1bmQgZW1wZmVobGUgZXVjaCBhbHMgendlaXRzY2hsZWNodGVzdGUKU2VpdGUgaHR0cDovL3d3dy5icmV1ZXIuZGUuIEJpdHRlIGJlaW0gZXJzdGVuIE1hbCBKYXZhIGF1c3NjaGFsdGVuLApkYW5uIGRhcyBnYW56ZSBub2NobWFsIG1pdCBKYXZhIHVuZCBkYW5uIG1hbCBhbGxlIChkcmVpKSBMaW5rcyBhYmtsYXBwZXJuLi4uCgpQcmEuIERpZSBIYWVuZGUgdWViZXIgZGVtIEtvcGYgenVzYW1tZW5zY2hsYWdlbmQ6ICdXb2Z1ZXIgZ2lidCBlcyBodG1sPycKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3b3JzdCBvZiBpbnRlcm5ldCwgcHQgSUkgKEJhbWJpLCAxMC4gQXVnIDIwMDAsIDE5OjE0OjUzKToKfiMhIHJuPVByYSBydD05NjU5MTU2OTAgcmc9d3d3Cn4jISB0aWQ9OTY1OTE1NjkwCi4uLiB3YXMgZnVlciBtaWNoIGFtIFVudmVyc3RhZW5kbGljaHN0ZW4gYXVmIGRlciBTZWl0ZSB3YXIsIHdhcmVuIG5pY2h0IGRpZQpqcGdzLCBzb25kZXJuIGRpZSBUYXRzYWNoZSwgZGFzcyBkaWUga2VpbmUgYW5pbWF0ZWQgZ2lmcywgc29uZGVybiBhcHBsZXRzCnZlcndlbmRlbi4gSWNoIGZyYWcgbWljaCBudXIgZWluczogV2VubiBlaW5lciBBcHBsZXRzIGtsYXVlbiB1bmQgbW9kaWZpemllcmVuCm9kZXIgZ2FyIHNlbGJzdCBzY2hyZWliZW4ga2Fubiwgd2llc28ga3JpZWd0IGVyL3NpZSBlcyBkYW5uIG5pY2h0IGhpbiwgZGllCkRhdGVuIGVpbmZhY2ggYWJ6dXRpcHBlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkplc3VzMjAwMCAoU2lsdmFuYSwgMjIuIEF1ZyAyMDAwLCAxNDowMzoyOSk6Ck9LLCBpY2ggd2Vpc3MsIGljaCB3ZXJkZSBkYW1pdCBqZXR6dCBuZW4gRmxhbWV3YXIgYW5zdGlmdGVuLCBhYmVyLi4uCkFsc28sIGljaCBoYWIgZGllc2UgU2VpdGUgZ2VmdW5kZW4gdW5kIHdlaXNzIGVocmxpY2ggbmljaHQsIG9iIGljaCBsYWNoZW4gb2Rlcgp3ZWluZW4gc29sbDoKCmh0dHA6Ly93d3cuY2xvbmVqZXN1cy5jb20vCgpEaWUgVVJMIHNhZ3Qgc2Nob24gZWluaWdlcy4uLiBNaWNoIGludGVyZXNzaWVyZW4gRXVyZSBNZWludW5nZW4gZGF6dSwgYWJlcgp2aWVsbGVpY2h0IGJlc3NlciBpbiBkZXIgUnVicmlrIERpc2t1c3Npb24uIDstKQoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hpZd9lbmRlciBSb2JvdGVyIGJldW5ydWhpZ3QgRXhwZXJ0ZW4gKE1vcmdvdGgsIDMxLiBBdWcgMjAwMCwgMTQ6NTU6NDgpOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS93c3QtMzEuMDguMDAtMDAxLwoKTSogYXVjaCBiZXVucnVoaWd0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoaWXfZW5kZXIgUm9ib3RlciBiZXVucnVoaWd0IEV4cGVydGVuIChQaWxncmltLCAzMS4gQXVnIDIwMDAsIDE3OjM3OjU2KToKfiMhIHJuPU1vcmdvdGggcnQ9OTY3NzI2NTQ4IHJnPXd3dwp+IyEgdGlkPTk2NzcyNjU0OAoKTmEgZGFubiBsaWVzIGRvY2ggZXJzdG1hbCBkYXM6CkRpZSBLYXRob2xpc2NoZSBLaXJjaGUgbWlzY2h0IGltIEludGVybmV0IG1pdApodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9qay0zMS4wOC4wMC0wMDEvCgoKUGlsZ3JpbQooaG9mZnQsIGRhc3MgZGVyICdTZXJ2ZXIgaW0gSGltbWVsJyBuaWUgZWluZW4gUGxhdHRlbkNyYXNoIGhhdAp1bmQgZnJhZ3Qgc2ljaCwgd2llIGRlciBTZXJ2ZXIgaW4gZGVyIEhvZWxsZSB3b2hsIGdla3VlaGx0IHdpcmQgOy0pICkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ1ZXIgYWxsZSBhbWF6b24tYmVzdGVsbGVyLi4uIChTaGFubmFyYSwgIDIuIFNlcCAyMDAwLCAxMTowMDoyOSk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2FkLTAxLjA5LjAwLTAwMC8KClNjaG9lbmVuIFRhZyBub2NoLi4uIHVuZCBwYXNzdCBhdWYgZXVyZSBEYXRlbiBhdWYgOykKCnNoYW5uYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZnVlciBhbGxlIGFtYXpvbi1iZXN0ZWxsZXIuLi4gKE1hZ2ljdHV4LCAgMi4gU2VwIDIwMDAsIDE2OjIyOjQwKToKfiMhIHJuPVNoYW5uYXJhIHJ0PTk2Nzg4NTIyOSByZz13d3cKfiMhIHRpZD05Njc4ODUyMjkKU3RpY2h3b3J0OiBBbWF6b24uCkljaCBmaW5kZSBzb3dpZXNvIGh0dHA6Ly93d3cubG9iLmRlIGJlc3Nlci4KU2luZCBhdWNoIGdyb2Vzc2VyZSBMaW51eC1GYW5zIGJlaSBMZWhtYW5uJ3MgOykKCk1hZ2ljVHV4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoiVGhlIFdpemFyZCdzIGJ1c3kgZG93bmxvYWRpbmcgcG9ybi4uLi4gKE5ldm9rLCAgMi4gU2VwIDIwMDAsIDE5OjAxOjM3KToKLi4uSSBhbSB0aGUgQk9GSCBvZiBPWgoKZGFzIHVuZCBhbmRlcmUgcmVsYXRpdiBuZXR0ZSBkYWlseSBjYXJ0b29ucyBnaWJ0cyB1bnRlcgoKaHR0cDovL21ldGFsYWIudW5jLmVkdS9EYXZlL0RyLUZ1bi9kZjIwMDAwOC9kZjIwMDAwODA4LmpwZwoKYW56dXNjaGF1ZW4uCgp3d3cuc2xhZ29vbi5jb20ga2VubnQgaG9mZmVudGxpY2ggamVkZXIsIGVpbmUgd2ljaHRpZ2UgRnJhZ2Ugd2lyZCBkYSBhbSAyOC4KQXVndXN0IGdlc3RlbGx0Li4uLgoKTmV2b2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZnVlciBhbGxlIGFtYXpvbi1iZXN0ZWxsZXIuLi4gKFRyb3ksICA1LiBTZXAgMjAwMCwgMDk6MDE6MDEpOgp+IyEgcm49TWFnaWN0dXggcnQ9OTY3OTA0NTYwIHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpIbW0sCgo+IFNVQ0hFUkdFQk5JUwo+ICAgID4+TElOVVhTUEFSQzw8Cj4gS2VpbmUgVGl0ZWwgZ2VmdW5kZW4hCgpmaW5kZSBpY2ggYmVpIExlaG1hbm5zIGVpbiB3ZW5pZyBzY2h3YWNoLiBJbiBkZXIgQnVjaGhhbmRsdW5nIGhhbSBzZSBtaWNoCmJlaSBkZXIgRnJhZ2UgbmFjaCBsaW51eFNQQVJDIHp1cnVlY2tnZWZyYWd0ICJXaWUgc2NocmVpYnQgbWFuIFNjaHBhcmNrPyIKClRyb3kgLSBhdWYgbWVociBLb21wZXRlbnogaG9mZmVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZnVlciBhbGxlIGFtYXpvbi1iZXN0ZWxsZXIuLi4gKE1hZ2ljdHV4LCAgNS4gU2VwIDIwMDAsIDE5OjQ4OjE2KToKfiMhIHJuPVRyb3kgcnQ9OTY4MTM3MjYxIHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpOYSBnZW5hdXNvIHdpZSBtYW4gU2NocG9jayB2b24gU2NodGFyIFRyZWsgc2NocmVpYnQgOikKQWJlciBpY2ggZmluZGUgdHJvdHpkZW0gTGVobWFubnMgcmVjaHQgZ3V0IDspCgpNdXNzIGphIG5pY2h0IGplZGVyIGRlciBzZWxiZW4gTWVpbnVuZyBzZWluIQoKTWFnaWNUdXgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGZ1ZXIgYWxsZSBhbWF6b24tYmVzdGVsbGVyLi4uIChQcmEsICA3LiBTZXAgMjAwMCwgMTU6MzY6MTcpOgp+IyEgcm49VHJveSBydD05NjgxMzcyNjEgcmc9d3d3Cn4jISB0aWQ9OTY3ODg1MjI5Ck11c3N0IER1IFN1Y2htYXNjaGluZW5laW5nYWJlIHVlYmVuOiBMaW51eCBTcGFyYyAtPiAyIFRyZWZmZXIuCgpQcmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBmdWVyIGFsbGUgYW1hem9uLWJlc3RlbGxlci4uLiAoVHJveSwgIDguIFNlcCAyMDAwLCAxMToyNjoyOCk6Cn4jISBybj1QcmEgcnQ9OTY4MzMzNzc3IHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpEYXMga2FubiBqYSBqZWRlci4uLiBJY2ggYnJhdWNoIGxlaWRlciBuZSBoYW5kZmVzdGUgRGlzdHJpIHp1bSBrYXVmZW4uCkltIEluZXQgZmluZGV0IG1hbiBudXIga29zdGVubG9zZSB6dW0gRG93bmxvYWQuCgpEYXMgaG9lcnQgc2ljaCB2ZXJtdXRsaWNoIGtvbWlzY2ggYW4uLi4gTWVpbmUgRmlybWEgd2lsbCBhYmVyIG5lIFJlY2hudW5nCnNlaGVuLi4uCgpUcm95ICh1ZWJlcmxlZ3QsIG9iIGVyIGRpZSBSZWNobnVuZyBuaWNodCBzZWxiZXIgc2NocmVpYnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmdWVyIGFsbGUgYW1hem9uLWJlc3RlbGxlci4uLiAoQWNyaW1vbiwgIDguIFNlcCAyMDAwLCAxODoxOTowOCk6Cn4jISBybj1Ucm95IHJ0PTk2ODQwNTE4OCByZz13d3cKfiMhIHRpZD05Njc4ODUyMjkKTmFqYS4uLiBkaWUgbXVlc3p0ZSB3b2hsIGV0d2Egc28gYXVzc2VoZW46CgoxICogTGludXggZG93bmdlbG9hZGV0IC0tPiAwLDAwIERNCnh4JSBNZWhyd2VydHN0ZXVlciAgICAgLS0+IDAsMDAgRE0KR0VTQU1UICAgICAgICAgICAgICAgICAtLT4gMCwwMCBETQoKQml0dGUgdWViZXJ3ZWlzZW4gU2llIGRlbiBHZXNhbXRiZXRyYWcgdm9uIDAsMDAgRE0gYW4gS29udG8gMDEyMzQ1NiBCTFoKMDEyMzQ1Ni4KQmVpIFVudGVybGFzc3VuZyBkZXIgVWViZXJ3ZWlzdW5nIG11ZXNzZW4gU2llIG1pdCBlaW5lbSBHZXJpY2h0c3ZlcmZhaHJlbgpyZWNobmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvcnN0IG9mIEludGVybmV0LCBwdC4gMyAoUHJhLCAxMS4gU2VwIDIwMDAsIDEyOjI1OjM2KToKSGFsbG9lY2hlbiwgCgpoZXV0ZSBtYWwgZWluZSBMZWt0aW9uIGluIGFic29sdXRlciBQb3NpdGlvbmllcnVuZyB1bmQgQnJvd3NlcnZpZWxmYWx0OgoKSWNoIG1vZWNodGUsIGRhc3MgYmVpIGFsbGVuIEJlbnV0emVybiBhbGxlcyBnZW5hdSBzbyBhdXNzaWVodCwgd2llIGJlaQptaXIgenUgSGF1c2UuIFdhcz8gRXMgZ2lidCBhbmRlcmUgQnJvd3NlciBhbHMgSUU/IE5pZSBnZWhvZXJ0Li4uCgpodHRwOi8vd3d3LmluZm9kaWVuc3RlLmRlL05pZWRlcnNhY2hzZW4vTGFuZGtyZWlzX0hhbm5vdmVyL1NlZWx6ZS9Ib3RlbF9TY2hhcGUKcl8xLmh0bWwKCihOdXIgaW50ZXJlc3NhbnQgb2huZSBNJCBJRSkKClByYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb3JzdCBvZiBJbnRlcm5ldCwgcHQuIDMgKFBhcmFjZWxzdXMsIDExLiBTZXAgMjAwMCwgMjE6MjA6NDcpOgp+IyEgcm49UHJhIHJ0PTk2ODY2NzkzNiByZz13d3cKfiMhIHRpZD05Njg2Njc5MzYKTmFqYSAuLi4gbWl0IE9wZXJhIGdlaHRzIHNvIGVpbmlnZXJtYXNzZW4gLi4uCgpQYXJhKiAtIHd1bmRlcnQgc2ljaCBpbSBXV1cgZWggdWViZXIgbml4IG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvcnN0IG9mIEludGVybmV0LCBwdC4gMyAoQWNyaW1vbiwgMTEuIFNlcCAyMDAwLCAyMToyNDoyNik6Cn4jISBybj1QYXJhY2Vsc3VzIHJ0PTk2ODcwMDA0NyByZz13d3cKfiMhIHRpZD05Njg2Njc5MzYKV2FocnNjaGVpbmxpY2ggaGFzdCBEdSBPcGVyYSB6dWZhZWxsaWcgbWl0IGdlcmFkZSBzb2xjaGVuIEZvbnRncm9lc3plbgprb25maWd1cmllcnQsIGRhc3ogZGllIEJpbGRlciBuaWNodCBkaWUgU2NocmlmdCB2ZXJkZWNrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgZXMgYmlzaGVyIG5pY2h0IGdlZ2xhdWJ0IGhhdCAoVmFuaW9uLCAxMi4gU2VwIDIwMDAsIDA3OjU4OjI4KToKaHR0cDovL3d3dy56ZGYubXNuYmMuZGUvbmV3cy82MDY5NC5hc3AKClYqLCBuaWNodCBzdWVjaHRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3YXMgZ2FueiBhbmRlcmVzIDopIChNYWdpY3R1eCwgMTQuIFNlcCAyMDAwLCAwMDowNjoyNyk6Ckd1Y2t0IGV1Y2ggZG9jaCBtYWwKaHR0cDovL3d3dy5mdXJuaXR1cmVwb3JuLmNvbSAKYW4sIGlzdCBtYWwgd2FzIGdhbnogb3JpZ2luZWxsZXMgOikKCk1hZ2ljVHV4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBmdWVyIGFsbGUgYW1hem9uLWJlc3RlbGxlci4uLiAoVHJ1ZywgMjMuIFNlcCAyMDAwLCAxOTo1OTowNyk6Cn4jISBybj1Ucm95IHJ0PTk2ODQwNTE4OCByZz13d3cKfiMhIHRpZD05Njc4ODUyMjkKTmEsIGRhbm4gZ2VoIGRvY2ggaW4gZWluZW4gQnVjaGxhZGVuIG9kZXIgaW4gZWluIHgtYmVsaWViaWdlcyBHZXNjaGFlZnQgdW5kCnZlcnN1Y2ggZG9ydCBtYWwgZWluZSBEaXN0cmlidXRpb24genUga2F1ZmVuLiBEYW5uIGdpYnRzIGF1Y2ggZWluZSBSZWNobnVuZwo6bykKCi0tIHRydWcgLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGZ1ZXIgYWxsZSBhbWF6b24tYmVzdGVsbGVyLi4uIChUcm95LCAyNS4gU2VwIDIwMDAsIDE1OjM0OjQzKToKfiMhIHJuPVRydWcgcnQ9OTY5NzMxOTQ3IHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpIYWVoPyBEYXMgaGFiIGljaCBkb2NoIHZlcnN1Y2h0Pz8/CgpEaWUgaW4gZGVuIEJ1Y2hsYWVkZW4gaGFiZW4ga2VpbmUgRGlzdHJpYnV0aW9uZW4uCgouLi4gdmllbGxlaWNodCBoYXN0IER1IGVzIGphIG5pY2h0IG1pdGdla3JpZWd0OiBlcyBnZWh0IHVtIExpbnV4U1BBUkMgZnVlcgpTdW4gVWx0cmFTcGFyYyBXb3Jrc3RhdGlvbnMuIEFuZGVyZSBEaXN0cmlidXRpb25lbiBnaWJ0cyBkYSBuYXR1ZXJsaWNoLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogZnVlciBhbGxlIGFtYXpvbi1iZXN0ZWxsZXIuLi4gKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDAwLCAxNDo0MjozNik6Cn4jISBybj1Ucm95IHJ0PTk2OTg4ODg4MyByZz13d3cKfiMhIHRpZD05Njc4ODUyMjkKRnJhZyBkb2NoIG1hbCBiZWkgU3VTRSBhbjoKaHR0cDovL3d3dy5zdXNlLmRlL2RlL25ld3MvUHJlc3NSZWxlYXNlcy9TcGFyYy5odG1sClNvd2VpdCBpY2ggZ2Vob2VydCBoYWJlIHNvbGwgZGllIFZlcnNpb24gendhciBrZWluIGJveGVkIHByb2R1Y3Qgd2VyZGVuLCBpbQpSYWhtZW4gdm9uIGVudHNwcmVjaGVuZGVuIChzdXBwb3J0LSlWZXJ0cmFlZ2VuIHN0ZWxsdCBTdVNFIGRhIHNpY2hlciBnZXJuZQplaW5lIFJlY2hudW5nIGF1cy4KCkFuc29uc3RlbiBmaW5kZXQgc2ljaCwgd2llIHNjaG9uIHZvcmhlciBhbmdlZGV1dGV0LCBzaWNoZXIgamVtYW5kIGRlciBEaXIgZWluZQplbnRzcHJlY2hlbmRlIENEIGJyZW5udCB1bmQgRGlyIGVpbmUgUmVjaG51bmcgc2NocmVpYnQgLSBmdWVyIGRpZSBuYWNrdGUKU29mdHdhcmUsIG9obmUgR2FyYW50aWUgdW5kIFN1cHBvcnQsIGJpbiBpY2ggYXVjaCBnZXJuZSBiZXJlaXQgZGllc2VuIERpZW5zdApmdWVyIE9wZW5MaW51eCAyLjMgc3BhcmMgenUgbGVpc3Rlbi4gWnUgdm9yenVlZ2xpY2hlbiBQcmVpc2VuLCBuYXR1ZXJsaWNoLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBmdWVyIGFsbGUgYW1hem9uLWJlc3RlbGxlci4uLiAoVHJveSwgMjYuIFNlcCAyMDAwLCAxNjoyMjozNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTY5OTcyMTU2IHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpJY2ggaGFiIGRhcyBqZXR6dCBzZWxiZXIgZ2VicmFubnQgdW5kIGRhZnVlciBlaW5mYWNoIG5lIFJlY2hudW5nIGdlc3RlbGx0LgpEYXMgd2FyIGVpbmZhY2hlciB1bmQgbWFuIG11c3MgbmljaHQgdm9uIFBvbnRpdXMgenUgUGlsYXR1cyByZW5uZW4uCgpBdXNzZXJkZW0ga2FubiBpY2ggbWlyIGRhbm4gZGllIERpc3RyaSBhdXNzdWNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGZ1ZXIgYWxsZSBhbWF6b24tYmVzdGVsbGVyLi4uIChUcm95LCAyNi4gU2VwIDIwMDAsIDE2OjIzOjI3KToKfiMhIHJuPVRyb3kgcnQ9OTY5OTc4MTU1IHJnPXd3dwp+IyEgdGlkPTk2Nzg4NTIyOQpBcmdsLiBEYSB3YXIgZWluIC4genUgZnJ1ZWguIEljaCB3aWxsdGUgbm9jaCB1bnRlcnNjaHJlaWJlbi4uLgoKTmFyZi4gd2lsbHRlID0+IHdvbGx0ZS4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVybmV0IEV4cGxvcmVyIGVybW9lZ2xpY2h0IFNwaW9uaWVyZW4gaW4gRGF0ZWllbiAoTW9yZ290aCwgMjguIFNlcCAyMDAwLCAwODozMDowNyk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3BhYi0yNy4wOS4wMC0wMDAvCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmdpIChKZW5hbmRyYSwgIDQuIE9rdCAyMDAwLCAwNzozNjo1Mik6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2xsLTAzLjEwLjAwLTAwMC8KCmludGVyZXNzYW50IGZ1ZXIgYWxsZSBuZ2ktdXNlciwgZGVyIHJlc3Qga2FubnMgZ2V0cm9zdCB1ZWJlcmdlaGVuIDotKQoKLSBKZW5hbmRyYSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXVlIHN0ZWxsdW5nbmFobWUgdm9uIG5naSAoSmVuYW5kcmEsICA1LiBPa3QgMjAwMCwgMDk6NDU6MzApOgpxdWVsbGU6IGh0dHA6Ly93d3cubmdpLmRlL25ldC9zdG9lcnVuZy5odG1sCgpuZ2ktZmxhdCBtb21lbnRhbiBuaWNodCB2ZXJmdWVnYmFyCgpEYSBlcyB1bnMgbmljaHQgbW9lZ2xpY2ggd2FyLCBlaW5lIEVpbmlndW5nIG1pdCBkZXIgRGV1dHNjaGVuIFRlbGVrb20gQUcKenUgZXJ6aWVsZW4sIGthbm4gZWluZSBFaW53YWhsIHVlYmVyIHVuc2VyZSBiaXNoZXJpZ2UgRWlud2FobHJ1Zm51bW1lcgpuaWNodCBtZWhyIGVyZm9sZ2VuLgoKRGFtaXQgaGF0IGRpZSBEZXV0c2NoZSBUZWxla29tIEFHIGVpbmUgTW9ub3BvbHN0ZWxsdW5nIElocmVyIFRvY2h0ZXIKVC1PbmxpbmUgaW0gQmVyZWljaCBkZXIgRmxhdHJhdGV0YXJpZmUgZmFrdGlzY2ggZXJyZWljaHQuIE5HSSBrb25udGUgCnNpY2ggaW5uZXJoYWxiIGt1cnplciBaZWl0IHp1bSB6d2VpdGdyb2Vzc3RlbiBGbGF0cmF0ZWFuYmlldGVyIGluCkRldXRzY2hsYW5kIGVudHdpY2tlbG4uCgpEYSBpbm5lcmhhbGIgdm9uIHdlbmlnZW4gVGFnZW4gZGllIGZ1ZXIgdW5zZXJlbiBUYXJpZiBuZ2ktZmxhdCBiZW5vZXRpZ3RlCk5ldHppbmZyYXN0cnVrdHVyIGF1c3NlcmhhbGIgZGVyIERUQUcgbmljaHQgenVyIFZlcmZ1ZWd1bmcgenUgZ2VzdGVsbHQKd2VyZGVuIGthbm4sIHN0ZWh0IHVuc2VyZSBuZXVlIEVpbndhaGxydWZudW1tZXIgZnVlciBkaWVzZW4gVGFyaWYKbW9tZW50YW4gbmljaHQgenVyIFZlcmZ1ZWd1bmcuIE1pdCBkZXV0bGljaCBtZWhyIGFscyA1MDAgTWlsbGlvbmVuCk9ubGluZW1pbnV0ZW4gcHJvIE1vbmF0IGtvbm50ZSBlaW4gVm9sdW1lbiBlcnJlaWNodCB3ZXJkZW4sIHdlbGNoZXMgCmVpbmUgc29mb3J0aWdlIEFrdGl2aWVydW5nIGVpbmVzIGFsdGVybmF0aXZlbiBDYXJyaWVycyB1bnJlYWxpc2llcmJhciBtYWNodC4KCldpciBiZW11ZWhlbiB1bnMsIHNjaG5lbGxzdG1vZWdsaWNoIGRpZSBlcmZvcmRlcmxpY2hlbiBLYXBheml0YWV0ZW4gZnVlcgplaW5lbiB1bnNlcmVtIHRlY2huaXNjaGVuIFN0YW5kYXJkIGVudHNwcmVjaGVuZGVuIEJldHJpZWIgYmVyZWl0enVzdGVsbGVuIAp1bmQgbW9lY2h0ZW4gdW5zIGJlaSBhbGxlbiBCZXRyb2ZmZW5lbiBmdWVyIGRpZSBVbmFubmVobWxpY2hrZWl0ZW4KZW50c2NodWxkaWdlbi4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmV1ZSBzdGVsbHVuZ25haG1lIHZvbiBuZ2kgKEplbmFuZHJhLCAgNS4gT2t0IDIwMDAsIDIwOjQwOjU4KToKfiMhIHJuPUplbmFuZHJhIHJ0PTk3MDczMTkzMCByZz13d3cKfiMhIHRpZD05NzA3MzE5MzAKYWNoamEsIG5vY2ggd2FzIHVuYmVzdGFldGlndGVzLCB3YXMgdmVyc2NoaWVkZW5lIGxldXRlIGluIHZlcnNjaGllZGVuZW4KZGlza3Vzc2lvbnNmb3JlbiBnZWFldXNzZXJ0IGhhYmVuOgoKYWIgaGV1dGUvbW9yZ2VuIHNvbGwgYXVjaCBmdWVyIGZsYXRrdW5kZW4gZGllIGVpbndhaGwgdWViZXIgZGllCmNhbGwtYnktY2FsbC1udW1tZXIgbW9lZ2xpY2ggc2VpbiAoMDE5MTYxKSwgZGF6dSBtdXNzIG1hbiBkZW4gdXNlcm5hbWVuIHZvbgpuZ2kva3VuZGVubnVtbWVyIGF1ZiBrdW5kZW5udW1tZXJAbmdpLmRlIGFlbmRlcm4uIGtvc3RlbjogMSw4cGYvbWluLgoKLSBKZW5hbmRyYSAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG5ldWUgc3RlbGx1bmduYWhtZSB2b24gbmdpIChHbm9tZSwgIDUuIE9rdCAyMDAwLCAyMTo1OTowNyk6Cn4jISBybj1KZW5hbmRyYSBydD05NzA3NzEyNTggcmc9d3d3Cn4jISB0aWQ9OTcwNzMxOTMwCmZhbHNjaC4KZGFzIGlzdCBkaWUgenVrdWVuZnRpZ2UgbnVtbWVyICsgYWNjb3VudCBmdWVyIGRpZSBmbGF0cmF0ZS1rdW5kZW4uCnNvIGplZGVuZmFsbHMgc3RhbmQgZXMgaW4gZGVyIG5naS1tYWlsLgpmdW56dCBibG9zcyBub2NoIG5ldCA7LSkKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBuZXVlIHN0ZWxsdW5nbmFobWUgdm9uIG5naSAoSmVuYW5kcmEsICA1LiBPa3QgMjAwMCwgMjI6MDA6MzUpOgp+IyEgcm49R25vbWUgcnQ9OTcwNzc1OTQ3IHJnPXd3dwp+IyEgdGlkPTk3MDczMTkzMAphdWNoIG5pY2h0IGdhbnogcmljaHRpZy4KZXMgaXN0IGRpZSBha3R1ZWxsZSBudW1tZXIgZnVlciBjYWxsLWJ5LWNhbGwta3VuZGVuLCBkaWUgYWJlciBmdWVyIGZsYXRyYXRlCm5vY2ggbmljaHQgZnJlaWdlc2NoYWx0ZXQgaXN0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbmV1ZSBuZ2ktaW5mb3MgKEplbmFuZHJhLCAgNy4gT2t0IDIwMDAsIDAxOjE1OjUwKToKbmdpIGhhYmVuIGF1ZiB3d3cubmdpLmRlL25ldC9ha3R1ZWxsMi5odG1sIG5ldWUgaW5mb3MgdmVyb2VmZmVudGxpY2h0LiBkYSBkZXIKd2Vic2VydmVyIHdvaGwgemVpdHdlaXNlIHVlYmVybGFzdGV0IGlzdCwgaGllciBkZXIgdGV4dDoKCkFtIDA0LjEwLjIwMDAgaGFiZW4gd2lyIFNpZSB1ZWJlciBkaWUgQWVuZGVydW5nIGRlciBFaW53YWhscnVmbnVtbWVyIHVuZApkaWUgVW1zdGVsbHVuZyBJaHJlcyBCZW51dHplcm5hbWVucyBpbmZvcm1pZXJ0LgpVbnMgaXN0IGRhcmFuIGdlbGVnZW4sIHVuc2VyZW4gVXNlcm4gZGllIEdydWVuZGUgZnVlciBkZW4gV2VjaHNlbCB6dSBlaW5lbQpuZXVlbSBDYXJyaWVyIGRhcnp1bGVnZW4sIHVuZCB3aXIgbW9lY2h0ZW4gdW5zZXJlbiBGbGF0cmF0ZS1LdW5kZW4gZWluZQpzY2huZWxsZSB1bmQgdW5rb21wbGl6aWVydGUgTG9lc3VuZyBhbmJpZXRlbi4KCkd1dGVyIEt1bmRlbnNlcnZpY2UgYmlsZGV0IGF1Y2ggaW4gWnVrdW5mdCBkaWUgQmFzaXMgdW5zZXJlcgpGaXJtZW5waGlsb3NvcGhpZS4KRHVyY2ggZGllc2UgUGhpbG9zb3BpZSwga29tYmluaWVydCBtaXQgZGVtIHp1dmVybGFlc3NpZ2VuIERpZW5zdCwgZGVyIHVucwp2b24gdW5zZXJlbSBQYXJ0bmVyLCBkZXIgRGV1dHNjaGVuIFRlbGVrb20gQUcsIHp1ciBWZXJmdWVndW5nIGdlc3RlbGx0Cnd1cmRlLCBrb25udGUgZGllIEZpcm1hIE5HSSBzaWNoIHZvbiBhbmRlcmVuIFByb3ZpZGVybiBwb3NpdGl2IGFiaGViZW4uCgpMZWlkZXIgc2luZCBpbiBkZW4gbGV0enRlbiBXb2NoZW4gRGlmZmVyZW56ZW4gbWl0IGRlciBEZXV0c2NoZW4gVGVsZWtvbQphdWZnZXRyZXRlbiwgZGllIHVucyB6dW0gV2VjaHNlbCBkZXMgQ2FycmllcnMgdmVyYW5sYXNzdCBoYWJlbi4KCkRhIGJpcyB6dW0gaGV1dGlnZW4gVGFnIGtlaW5lIGZ1ZXIgYmVpZGUgU2VpdGVuIHp1ZnJpZWRlbnN0ZWxsZW5kZSBMb2VzdW5nCmdlZnVuZGVuIHdlcmRlbiBrb25udGUsIHNhaCBzaWNoIE5HSSB2ZXJhbmxhc3N0LCBhYiBkZW0gMDQuMTAuMjAwMCBkaWUKRGllbnN0ZSBkZXMgQ2FycmllcnMgTWVkaWF3YXlzIGluIEFuc3BydWNoIHp1IG5laG1lbi4KTWVkaWF3YXlzLCBlaW4gVW50ZXJlaG1lbiBkZXIgQmVydGVsc21hbm4tR3J1cHBlLCB2ZXJmdWVndCBkZXJ6ZWl0IHVlYmVyCmVpbmVzIGRlciBwZXJmb3JtYW50ZXN0ZW4gTmV0emUgaW4gRXVyb3BhLCBzbyBkYXNzIE5HSSBmdWVyIHNlaW5lIEt1bmRlbgpuYWNoIGRlciBVbXN0ZWxsdW5nIHdlaXRlcmhpbiBkZW4gZ2V3b2hudCBob2hlbiBTZXJ2aWNlLUxldmVsCmJlcmVpdHN0ZWxsZW4gd2lyZC4KV2llIHdpciB1bnNlcmVuIEt1bmRlbiBiZXJlaXRzIG1pdGdldGVpbHQgaGFiZW4sIHN0ZWh0IElobmVuIHp1ciBaZWl0IGRpZQpuZXVlIEVpbndhaGxydWZudW1tZXIgZnVlciBkZW4gRmxhdC1UYXJpZiBub2NoIG5pY2h0IHp1ciBWZXJmdWVndW5nLgoKVW0gdW5zZXJlbiBGbGF0cmF0ZWt1bmRlbiBzY2huZWxsZSB1bmQgdW5rb21wbGl6aWVydGUgQWx0ZXJuYXRpdmVuIGZ1ZXIgZGVuClVlYmVyZ2FuZyBhbnp1YmlldGVuLCBoYXQgTkdJIHp3ZWkgTG9lc3VuZ2VuIHZvcmdlc2VoZW46CgogICAxLgogICBBYiBkZW0gMDkuMTAuMjAwMCB3aXJkIGVzIGZ1ZXIgdW5zZXJlIEZsYXRyYXRlLUt1bmRlbiBtb2VnbGljaCBzZWluLCB6dW0KICAgTWludXRlbnByZWlzIHZvbiAxLDg5IFBmIGlucyBJbnRlcm5ldCB6dSBnZWhlbiwgZGFmdWVyIHdpcmQgZGllCiAgIFZlcnRyYWdzYmluZHVuZyBkZXIgbmdpLWZsYXQgdm9uIFNlaXRlbiBkZXIgRmlybWEgTkdJCiAgIHNlbGJzdHZlcnN0YWVuZGxpY2ggYXVmZ2Vob2Jlbi4gWnVzYWV0emxpY2hlIEtvc3RlbiBlbnRzdGVoZW4gbmF0dWVybGljaAogICBuaWNodC4gRnVlciBkZW4gdW5rb21wbGl6aWVydGVuIFdlY2hzZWwgc3RlaHQgSWhuZW4gYWIgZGVtIDA5LjEwLjIwMDAKICAgZWluIFdlYmZvcm11bGFyIHVudGVyIHd3dy5uZ2kuZGUgenVyIFZlcmZ1ZWd1bmcuCiAgIEJlcmVpdHMgYmV6YWhsdGUgTW9uYXRzdGFyaWZlIHdlcmRlbiBpbiBkaWVzZW0gRmFsbCBhbnRlaWxpZyBhYmdlcmVjaG5ldAogICB1bmQgYWxzIEd1dGhhYmVuIGJlaSB1bnMgbWl0IGRlbSBuZXVlbiBUYXJpZiB2ZXJyZWNobmV0LgoKICAgMi4KICAgQXVmIFd1bnNjaCBrYW5uIGRlciBGbGF0cmF0ZS1UYXJpZiB2b24gSWhuZW4gZ2VrdWVuZGlndCB3ZXJkZW4uIERpZXNlcwogICBzb2xsdGUgc2NocmlmdGxpY2gsIHBlciBQb3N0IGFuIHVuc2VyZSBBZHJlc3NlIGVyZm9sZ2VuLgoKICAgTkdJIE5leHQgR2VuZXJhdGlvbiBJbnRlcm5ldCBBRwogICBXYXJidXJnc3RyYXNzZSA1CiAgIDIwMzU0IEhhbWJ1cmcKCiAgIEltIEZhbGxlIElocmVyIEt1ZW5kaWd1bmcgd2lyZCBOR0kgZWluIGV2dGwuIHZvcmhhbmRlbmVzIFJlc3RndXRoYWJlbgogICBhdXRvbWF0aXNjaCB6dXJ1ZWNrdWViZXJ3ZWlzZW4uIEF1c3NlcmRlbSBiZXN0ZWh0IGRpZSBNb2VnbGljaGtlaXQsCiAgIElocmVuIEFuc2NobHVzcyB1bmQgSWhyIGV2ZW50dWVsbGVzIEd1dGhhYmVuIHZvcmxhZXVmaWcgZGVha3RpdmllcmVuCiAgIHp1IGxhc3NlbiwgYmlzIHdpciBmdWVyIGRpZXNlbiBUYXJpZiBlaW5lIEFsdGVybmF0aXZlIGZ1ZXIgU2llCiAgIGJlcmVpdHN0ZWxsZW4ga29lbm5lbi4KCiAgIERpZSBlbmRndWVsdGlnZSBMb2VzdW5nIGZ1ZXIgZGllIG5naS1mbGF0IGlzdCB2b24gZGVyIEVudHNjaGVpZHVuZyBkZXIKICAgUmVndWxpZXJ1bmdzYmVob2VyZGUgKFJlZ1RQKSBhYmhhZW5naWcsIGRpZSBhbSAxNS4xMS4yMDAwIGVyd2FydGV0IHdpcmQuCgogICBXaXIgd2VyZGVuIFNpZSB1ZWJlciBhbGxlIGFrdHVlbGxlbiBOZXVlcnVuZ2VuIGFuIGRpZXNlciBTdGVsbGUsIHNvd2llCiAgIHBlciBQb3N0IGluZm9ybWllcmVuLgogICBGdWVyIGVudHN0YW5kZW5lIFVuYW5uZWhtbGljaGtlaXRlbiBiaXR0ZXQgTkdJIFNpZSB1bSBFbnRzY2h1bGRpZ3VuZyB1bmQKICAgZGFua3QgZnVlciBJaHIgVmVyc3RhZW5kbmlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VpbGUgUGFnZXMgISAoTW9yZ290aCwgMTMuIE9rdCAyMDAwLCAyMjoyMTozNik6CkljaCBiaW4gamEgc29uc3QgbmljaHQgc28gYXVmIEtpcmNoZW50cmlwLCBhYmVyIHdhcyBESUVTRSBNb2VuY2hlIGJpZXRlbiBpc3QKZWluemlnYXJ0aWcgISEKd3d3LmFuZGVjaHMuZGUKCk0qICh3aXJkIE1vZW5jaD8/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlaWxlIFBhZ2VzICEgKFJvbmRhLCAxNS4gT2t0IDIwMDAsIDIzOjMwOjUzKToKfiMhIHJuPU1vcmdvdGggcnQ9OTcxNDY4NDk2IHJnPXd3dwp+IyEgdGlkPTk3MTQ2ODQ5NgpTb3JyeSBNb3Jnb3RoLCBhYmVyIHdlbm5zIHVtIEdlaWxlIFBhZ2VzIGdlaHQgLSBkYSBrb21tdCBlY2h0IG51ciBlaW5lIGluCkZyYWdlOgoKaHR0cDovL3d3dy5wdXNzeWJpbGRlci5kZQoKVW5kIEtFSU5FIGFuZGVyZSBQYWdlLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWlsZSBQYWdlcyAhIChSb2NodXMsIDE2LiBPa3QgMjAwMCwgMDA6MjE6NTMpOgp+IyEgcm49Um9uZGEgcnQ9OTcxNjQ1NDUzIHJnPXd3dwp+IyEgdGlkPTk3MTQ2ODQ5NgpXaXJrbGljaCBnZWlsZSBTZWl0ZSwgUm9uZGEsIHNvZ2FyIHJhc2llcnRlIFB1c3N5cyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlaWxlIFBhZ2VzICEgKEx1cHVzLCAxOC4gT2t0IDIwMDAsIDA5OjQ3OjAyKToKfiMhIHJuPVJvY2h1cyBydD05NzE2NDg1MTMgcmc9d3d3Cn4jISB0aWQ9OTcxNDY4NDk2CklzIGphIHdpZWRlcmxpY2ghCgpMdXB1cywgZnVlciBtZWhyIFNjaG11dHogdW5kIFNjaHVuZCBpbSBNRyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVnaWVydW5nc2Vya2xhZXJ1bmcgTXVlbGxlci1NYWd1aG4gKENhdHdlYXpsZSwgMTkuIE9rdCAyMDAwLCAxMToyMDoyNik6CkljaCBtb2VjaHRlIEV1Y2ggZGllIFdlYnNlaXRlCmh0dHA6Ly93d3cuZGF0ZW5yZWlzZW4uZGUvQWt0dWVsbC9SZWdpZXJ1bmdzZXJrbGFlcnVuZy5odG1sIGFucwpIZXJ6IGxlZ2VuLiBTZWhyIGVtcGZlaGxlbnN3ZXJ0Li4uLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiaXR0ZXIgKFNwZWxsZmlyZSwgMTkuIE9rdCAyMDAwLCAxNzozNDoyMSk6Cnd3dy5hbWlob3Rvcm5vdC5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClA9TlAhIChQYWRyZWljLCAyMS4gT2t0IDIwMDAsIDE3OjQwOjEzKToKd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS90cy0xNi4xMC4wMC0wMDEvCgpBbGxlIG1hbCBEYXVtZW4gRHJ1ZWNrZW4gZGFzIGluIGRlbSBCZXdlaXMga2VpbiBGZWhsZXIgaXN0LCBkYW5uIGtvbW0gaWNoIGRvY2gKbm9jaCB1bSBkaWUgVGhlb3JpZXBydWVmdW5nIGRydW0gcnVtIDpvKQoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFA9TlAhIChSb2NodXMsIDIyLiBPa3QgMjAwMCwgMDA6MDQ6MzMpOgp+IyEgcm49UGFkcmVpYyBydD05NzIxNDI4MTMgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzCkljaCBWRVJNVVRFIGRhc3MgaW4gZGVtIEJld2VpcyBlaW4gRmVobGVyIGlzdCwgbXVzcyBhYmVyCmRhenUgc2FnZW4sIGRhc3MgaWNoIGlobiBtaXIgbm9jaCBuaWNodCBhbmdlc2VoZW4gaGFiZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUD1OUCEgKFBhdHJ5biwgMjIuIE9rdCAyMDAwLCAwMTowNDoyOSk6Cn4jISBybj1Sb2NodXMgcnQ9OTcyMTY1ODczIHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwpuYWNoIGRlbSBwcm8tIG9kZXIga29udHJhLWJld2VpcyBzdWNodCBtYW4gc2Nob24gc28gbGFuZ2UsIGRhc3MgaWNoIGdhcgpuaWNodCBlcnN0IHZlcnN1Y2hlLCBkYXMgenUga2FwaWVyZW4gOikKaXN0cyBuZW4gNS16ZWlsZXIsIGlzdCBlciBlaCBmYWxzY2ggbmFjaCBzbyBsYW5nZXIgc3VjaGUsCmlzdHMgbmVuIGhhbGJlcyBidWNoLCBpc3RzIG1pciBlaCB6dSBob2NoICpnKgoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQPU5QISAoSXNpcywgMjIuIE9rdCAyMDAwLCAwMTo1Mzo0OCk6Cn4jISBybj1Sb2NodXMgcnQ9OTcyMTY1ODczIHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwpEYXMgaGFiZW4gYmVpbSBCZXdlaXMgZGVyIEZlcm1hdHNjaGVuIFZlcm11dHVuZyBhdWNoIHZpZWxlIGdlc2FndC4uLjstKQoKSGVyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUD1OUCEgKFJvY2h1cywgMjIuIE9rdCAyMDAwLCAwODo1OTo1OSk6Cn4jISBybj1Jc2lzIHJ0PTk3MjE3MjQyOCByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKTnVyIGJlaSBkZXIgRmVybWF0c2NoZW4gVmVybXV0dW5nIHd1cmRlIHZlcm11dGV0IGRhc3Mgc2llIHN0aW1tdCwKaGluZ2VnZW4gd2FlcmUgUD1OUCB6aWVtbGljaCB1bmVyd2FydGV0Li4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUD1OUCEgKFBhZHJlaWMsIDIyLiBPa3QgMjAwMCwgMTA6NDY6MTkpOgp+IyEgcm49Um9jaHVzIHJ0PTk3MjE5Nzk5OSByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKVW5lcndhcnRldD8gQWxzbyBpY2gga2VubmUgZWluZSBSZWloZSBuYW1oYWZ0ZXIgUHJvZmVzc29yZW4gZGllIGdsYXViZW4gZGFzClA9TlAgaXN0IHVuZCBpY2ggZ2xhdWJlIGVzIHNpbmQgbmljaHQgd2VuaWdlciBkaWUgaWhyIGdhbnplcyBMZWJlbiBkYW1pdAp6dWJyaW5nZW4gUD1OUCB6dSBiZXdlaXNlbiwgYWxzIHdlbGNoZSBkaWUgZGFzIEdlZ2VudGVpbCB6dSBiZXdlaXNlbgp2ZXJzdWNoZW4uIERhcyBnYW56ZSBpc3QgYmlzaGVyIGRvY2ggZWluZSByZWluZSBHbGF1YmVuc2ZyYWdlIHVuZCBlcyBnaWJ0CmtlaW5lcmxlaSBBcmd1bWVudGUgZGFmdWVyIHVuZCBrZWluZSBkYWdlZ2VuLiBadWdlYmVuIGltIEFsbHRhZyB2ZXJnaXNzdCBtYW4KZGFzIGltbWVyIG1laHIgdW5kIHZlcmxhZXNzdCBzaWNoIGRhcmF1ZiBkYXMgUCE9TlAgaXN0LCBnZXJhZGUgZGVzaGFsYiBmaW5kCmljaCBkaWVzZSBBcmJlaXQgc28gc3Bhbm5lbmQuIFNlbGJzdCBfd2Vubl8gaW4gZGVtIGV0d2EgMjUgc2VpdGlnZW4gQmV3ZWlzIGVpbgooaW1tZXJoaW4gc2VpdCBlaW5lciBXb2NoZSBub2NodCBuaWNodCBnZWZ1bmRlbmVyKSBGZWhsZXIgZW50aGFsdGVuIHNlaW4Kc29sbHRlLCB6dW1pbmRlc3Qgd2lyZCBtYW4gbm9jaG1hbCB6dW0gZ3J1ZWJlbG4gdmVyYW5sYXNzdC4KClBhZHJlaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFA9TlAhIChIdW1uaSwgMjMuIE9rdCAyMDAwLCAwMDowMDo1MCk6Cn4jISBybj1QYWRyZWljIHJ0PTk3MjIwNDM3OSByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKSWNoIGhvZmZlIGVpbmZhY2ggbWFsLCBkYXNzIGVpbiBGZWhsZXIgZHJpbiBpc3QuCgpVbmQgZGVyIGthbm4gc2ljaCBpbiBBbGdvcml0aG1lbiBzZWhyIGxlaWNodCB1bmQgc2NobmVsbCBlaW5zY2hsZWljaGVuLApvZGVyIGVpbmZhY2ggYXVjaCBudXIgaW4gZGVyIFplaXRrb21wbGV4aXRhZXQuLi4KCkFiZXIgZGEgaWNoIGRhcyB3b2hsIGtlaW5lc2ZhbGxzIGthcGllcmUgd2FydGUgaWNoIGVpbmZhY2ggbWFsIGFiLAppbW1lcmhpbiBoYXQgYmlzaGVyIGF1Y2ggbm9jaCBuaWVtYW5kIGJlc3RhZXRpZ3QsIGRhc3MgZGVyIEFsZ29yaXRobXVzCnNvIHJpY2h0aWcgaXN0LgoKSHVtbmksIGdsYXVidCBpbW1lciBub2NoIGFuIFAhPU5QCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQPU5QISAoUGF0cnluLCAyMy4gT2t0IDIwMDAsIDAxOjQ2OjE3KToKfiMhIHJuPUh1bW5pIHJ0PTk3MjI1MjA1MCByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKd2FzIGJpc3QgZHUgc28gZXJwaWNodCBkYXJhdWY/CmljaCBnYWx1YmUgendhciBhdWNoIG5vY2ggbmljaCBzbyByZWNodCBhbiBQPU5QIGFiZXIgaWNoIGhvZmZlIGVzIGdhbnoKZG9sbC4gZGllIGtvbXBsZXhpdGFldCBiZWlzc3QgdW5zIGFuIGdhbnogdmllbGVuIGRpbmdlbiBpbiBkZW4gaGludGVybiwKdW5kIHVtIGlyZ2VuZHNvIGVpbmVuIGNyeXB0by1rcmFtIG1pdCBwdWJsaWMga2V5IHVuZCBzbyB3ZWl0ZXIgdHV0cwptaXIgZGEgd2lya2xpY2ggbmljaHQgbGVpZC4gZGEgZ2lidHMgZXJzYXR6IGZ1ZXIuCmFiZXIgZGVzd2VnZW4gYXVmIFAhPU5QIGhvZmZlbiwgZGFzIHNpbmQgZWluZmFjaCBrZWluZSByZWxhdGlvbmVuIHVuZAp6ZXVnZW4gbmljaHQgdm9uIHZpZWwgdWViZXJsZWd1bmcuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQPU5QISAoSHVtbmksIDIzLiBPa3QgMjAwMCwgMTE6MTE6MjcpOgp+IyEgcm49UGF0cnluIHJ0PTk3MjI1ODM3NyByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKSWNoIHdlaXNzIG5pY2h0LCBpY2ggaGFiIGplZGUgTWVuZ2UgVm9ybGVzdW5nZW4gbWl0IHNlaHIgaW50ZXJlc3NhbnRlbgpUaGVtZW4gZ2Vob2VydCwgZGllIGFsbGUgdW5ndWVsdGlnIHdlcmRlbiB3ZW5uIFA9TlAgZ2lsdCwgei5CLiAKYXBwcm94aW1hdGl2ZSBLb21wbGV4aXRhZXRzdGhlb3JpZSBvZGVyIGFlaG5saWNoZXMuIFVuZCBpY2ggZmFlbmRzCmhhbHQgZG9vZiwgd2VubiBkaWUgZ2FuemVuIEJld2Vpc2UgKGRpZSBpY2ggaW0gR2VnZW5zYXR6IHp1CmFuZGVyZW4gaW4gYW5kZXJlbiBWb3JsZXN1bmdlbiBnYW56IGx1c3RpZyBmYW5kKSBhbGxlIHVuZ3VlbHRpZwpzaW5kLCBkYSBkaWUgVm9yYXVzc2V0enVuZyBQIT1OUCBuaWNodCBlcmZ1ZWxsdCB3YXIuCgpVbmQgaW4gZGVyIFRhdCBmYWVuZCBpY2hzIHVtIFBHUCBzZWhyIHNjaGFkZS4KClNvLiBNZWludW5nLgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUD1OUCEgKENhdHdlYXpsZSwgMjMuIE9rdCAyMDAwLCAxMToyMzoxNSk6Cn4jISBybj1IdW1uaSBydD05NzIyOTIyODcgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzClNvLCBpaHIgTWF0aGVtYXRpa2VyaGVsZGVuLgpJY2ggdmVyc3RlaCBudWVzY2h0LCB1bmQgaWNoIGJpbiBuaWNodCBkZXIgZWluemlnZS4gCldlbm4gaWhyIHdpcmtsaWNoIHNvIFVlYmVybWF0aGVtYXRpa2VyIHNlaWQsIHNjaGFmZnQgaWhyIGVzIGRvY2ggCmJlc3RpbW10IGF1Y2ggbWlyIGVpbmZhY2ggdW5kIHNjaGxpY2h0IHp1IGVya2xhZXJlbiwgd2FydW0gUD1OUApQR1Aga2FwdXR0IG1hY2h0LgpZVEMgKG5ldWdpZXJpZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFA9TlAhIChIdW1uaSwgMjMuIE9rdCAyMDAwLCAxMjowNjo0OSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTcyMjkyOTk1IHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwpPSyBkaWUgQW50d29ydCBmb2xndCAoaWNoIGhvZmZlIGF1Y2gga2xhcikgaW0gbmFlY2hzdGVuCkFydGlrZWwuIERlciB3aXJkIGFiZXIgZWluIHdlbmlnIGxhZW5nZXIsIGFsc28gd2VyIG5pY2h0CndpbGwsIGJldHJhY2h0ZSBkaWVzIGFscyBWb3J3YXJudW5nLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFA9TlAhIChIdW1uaSwgMjMuIE9rdCAyMDAwLCAxMjowODowMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9OTcyMjkyOTk1IHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwpIaSBDYXR0eSwKCmhhc3QgUmVjaHQuIFNvbGx0ZSBtYWwgZXJrbGFlcnQgd2VyZGVuLiBXaWxsIGljaApoaWVybWl0IHR1bi4KCkRlciBBcnRpa2VsIGlzdCBrZWluZXNmYWxscyB2b2xsc3RhZW5kaWcgdW5kIGtvbXBsZXR0ICxyaWNodGlnJwppbSBTaW5uZSBlaW5lciBpbmZvcm1hdGlzY2gvbWF0aGVtYXRpc2NoZW4gRGVmaW5pdGlvbiB1c3cuIGRhCmljaCBrZWluZSBMdXN0IGhhYmUgaGllciBMZXV0ZSBtaXQgVHVyaW5nbWFzY2hpbmVuIHp1IGxhbmd3ZWlsZW4Kb2RlciBhZWhubGljaGVtLgoKUCBpc3QgZGllIEtsYXNzZSBhbGxlciBQcm9ibGVtZSwgZGllIER1IGluIHBvbHlub21pYWwgc2NobmVsbGVyClplaXQgKGJlenVlZ2xpY2ggZGVyIEdyb2Vzc2UgZGVyIEVpbmdhYmVuKSBsb2VzZW4ga2FubnN0LiBadW0gCkJlaXNwaWVsIGthbm5zdCBEdSB6d2VpIGdhbnplIFphaGxlbiBuZWhtZW4gdW5kIGRpZSBzaWNoZXJsaWNoCnBvbHlub21pYWwgc2NobmVsbCBtdWx0aXBsaXppZXJlbiAoZGFzcyBoZWlzc3QsIGVzIGdpYnQgbmUgClBvbHlub21mdW5rdGlvbiBpbiBkZXIgTGFlbmdlIGRlciBFaW5nYWJlbiwgZGllIGRpZSBaZWl0IG5hY2gKb2JlbiBiZXNjaHJhZW5rdCkuIEtlbm50IG1hbiBqYSBzaWNoZXJsaWNoOiBNYW4gbXVzcyBqZWRlIFppZmZlcgphdXMgZGVyIGVyc3RlbiBaYWhsIG1pdCBqZWRlciBaaWZmZXIgYXVzIGRlciB6d2VpdGVuIFphaGwKbXVsdGlwbGl6aWVyZW4gdW5kIGRhbm4gZGllIEVyZ2Vibmlzc2UgKHVtIGlyZ2VuZHdlbGNoZSBTdGVsbGVuCnZlcnNjaG9iZW4pIGF1ZmFkZGllcmVuLCBkYXMgZ2VodCBzaWNoZXJsaWNoIHBvbHlub21pYWwgc2NobmVsbC4KClNvd2VpdCwgc28gZWluZmFjaC4KCk5QIHdpcmQgbm9ybWFsZXJ3ZWlzZSBtaXQgbmljaHRkZXRlcm1pbmlzdGlzY2hlbiBNYXNjaGluZW4gCmVya2xhZXJ0LCBkaWUgcmF0ZW4gZWluZSBMb2VzdW5nIGZ1ZXIgZWluIFByb2JsZW0uIEVpbmZhY2hlcgprYW5uIG1hbiBzaWNoIGRhcyBtZWluZXIgTWVpbnVuZyBuYWNoIHZvcnN0ZWxsZW4sIGRhc3MgZGFzCmRpZSBLbGFzc2UgYWxsZXIgUHJvYmxlbWUgaXN0LCBkaWUgbWFuIHBvbHlub21pYWwgc2NobmVsbAp2ZXJpZml6aWVyZW4ga2Fubiwgd2VubiBtYW4gc296dXNhZ2VuICxkaWUgTG9lc3VuZyBrZW5udCcuCgpOaW1tIGFscyBCZWlzcGllbCBkYXMgYmVydWVobXRlIFRyYXZlbGxpbmcgU2FsZXNtYW4gUHJvYmxlbToKRWluIEhhbmRsdW5nc3JlaXNlbmRlciB3aWxsIG4gU3RhZWR0ZSBtaXQgdmVyc2NoaWVkZW5lbgpFbnRmZXJudW5nZW4gYmVzdWNoZW4uIEdpYnQgZXMgZWluZSBSb3V0ZSwgc28gZGFzcyBlciBqZWRlClN0YWR0IGJlc3VjaHQsIGRpZSB3ZW5pZ2VyIGFscyBlaW5lIGdld2lzc2UgTGFlbmdlIG0gaGF0PwoKRHUga2FubnN0IG51biBkYXMgUHJvYmxlbSBlaW5mYWNoIGxvZXNlbiwgaW4gZGVtIER1IGFsbGVzCmF1c3Byb2JpZXJzdCAod2FzIG5hdHVlcmxpY2ggYWxsZSBLb21iaW5hdGlvbmVuIGJlaW5oYWx0ZXQsCmFsc28gbiEgTW9lZ2xpY2hrZWl0ZW4sIHNlaHIgc2VociB2aWVsIHVuZCBtZWhyIGFscyBEdSBtaXQKZWluZW0gUG9seW5vbSBhdXNkcnVlY2tlbiBrYW5uc3QpLiBBYmVyIHdlbm4gaWNoIERpciBlaW5lIApSZWloZW5mb2xnZSBkZXIgU3RhZWR0ZSB2b3JnZWJlLCBrYW5uc3QgRHUgc2FnZW4gLGphLCBkYXMKc3RpbW10LCBkYXMgaXN0IGVpbmUgUm91dGUgZGVyIExhZW5nZSA8bScgb2RlciBlYmVuCm5pY2h0LCB1bmQgZGFzIG5hdHVlcmxpY2ggcG9seW5vbWlhbCBzY2huZWxsLgoKRGllIEtsYXNzZSBkaWVzZXIgUHJvYmxlbWUgaGVpc3N0IE5QLiBVbmQgbmF0dWVybGljaCBsaWVndApkYXMgUHJvYmxlbSwgZWluZSBaYWhsIGluIGlocmUgVGVpbGVyIHp1IHplcmxlZ2VuIGF1Y2ggaW4gTlAsCmRlbm4gbWFuIGdpYnQgZWluZmFjaCBlaW5lbiAob2RlciBiZWlkZSkgVGVpbGVyIHZvciwgdW5kIGtyaWVndAplaW4gLGphLCBkYXMgZ2VodCcgb2RlciBlaW4gLG5laW4nLiBEYXMgaXN0IG5pY2h0IGdhbnoga29ycmVrdApzbywgZGEgZXMgaW4gZGVyIEtvbXBsZXhpdGFldHN0aGVvcmllIG51ciB1bSBGcmFnZW4gd2llICxHZWh0IApkYXMgb2RlciBnZWh0IGRhcyBuaWNodCcgZ2VodCwgYWJlciBkYXMga2FubiBtYW4gaGlua3JpZWdlbgooU3RpY2h3b3J0IGJpbmFlcmUgU3VjaGUsIGdpYnQgZXMgZWluZSBQcmltemFobCBrbGVpbmVyIGFscyBtCmRpZSBkaWVzZSBaYWhsIHRlaWx0KS4KClBHUCB1bmQgYWVobmxpY2hlIFB1YmxpY0tleS1WZXJmYWhyZW4gYmVydWhlbiBkYXJhdWYsIGRhc3MgbWFuCmVpbmUgWmFobCBuaWNodCBlaW5mYWNoIHNvIGluIGlocmUgVGVpbGVyIHplcmxlZ2VuIGthbm4uIApKZWRlbmZhbGxzIGdhYiBlcyBiaXNoZXIga2VpbmVuIEFsZ29yaXRobXVzLCBkZXIgZWluZSBaYWhsCmluIHBvbHlub21pYWxlciBaZWl0IGJlenVlZ2xpY2ggaWhyZXIgTGFlbmdlIGluIGlocmUgVGVpbGVyIApzcGxpdHRldC4gV2VubiBhYmVyIFA9TlAgZ2lsdCwgZGFubiBnaWJ0IGVzIGRpZXNlbiBBbGdvcml0aG11cy4KClVuZCBkYW1pdCBpc3QgdWViZXIga3VyeiBvZGVyIGxhbmcgUEdQIHVuZCBjbyBoaW5mYWVsbGlnLiBPZGVyIGRhcyAKUG9seW5vbSBpc3Qgc28gZ3Jvc3MsIGRhcyBkYXMgaW1tZXIgbm9jaCB1bmJyYXVjaGJhciBpc3QsIG1hbAphYndhcnRlbi4gSWNoIGhvZmZlIGphIGltbWVyIG5vY2gsIGRhc3MgZGFzIG5pY2h0IHN0aW1tdC4KCkRhbmtlIGZ1ZXIgZGllIEF1Zm1lcmtzYW1rZWl0LAoKT2JlcmxlaHJlciBIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFA9TlAhIChHbm9tZSwgMjMuIE9rdCAyMDAwLCAxNTozODoyMSk6Cn4jISBybj1IdW1uaSBydD05NzIyOTU2ODMgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzClBHUCB1bmQgYWVobmxpY2hlcyB6ZXVncyB3ZXJkZW4gZWggaGluZmFlbGxpZywgc29iYWxkIGRpZSBlcnN0ZW4Kd2lya2xpY2hlbiBxdWFudGVuY29tcHV0ZXIgaW4gc2VyaWUgZ2VoZW4uIDUgcXViaXQgc2luZCBzY2hvbiBnZXRlc3RldAp3b3JkZW4uLi4KZGEgd2VyZGVuIGRhbm4gaGFsdCBhbGxlIG4hIG1vZWdsaWNoa2VpdGVuIGluIGVpbmVtIGZpbmdlcnNjaG5pcHBlbgpkdXJjaGdlZ2FuZ2VuIHVuZCBndXQgaXMuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFA9TlAhIChIdW1uaSwgMjMuIE9rdCAyMDAwLCAxNTo0MjoyOCk6Cn4jISBybj1Hbm9tZSBydD05NzIzMDgzMDEgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzClBhaC4gSWNoIHdhcnRlIGphIGltbWVyIG5vY2ggYXVmIGRpZSBlcnN0ZW4gUmVjaG5lciwgZGllCmFyYmVpdGVuIHdpZSBhbHRlcm5pZXJlbmRlIFR1cmluZ21hc2NoaW5lbiA7LSkKCkRhbm4gaXN0IFplaWtvbXBsZXhpdGFldD1TcGVpY2hlcmtvbXBsZXhpdGFldCwgdW5kIGRhcyBpc3QKd2lya2xpY2ggc2NobmVsbC4KCkh1bW5pLCB3aWxsIG51ciBhbmdlYmVuICgtPiBzY2htYXJybikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFA9TlAhIChQYXRyeW4sIDIzLiBPa3QgMjAwMCwgMTg6MzI6MTMpOgp+IyEgcm49SHVtbmkgcnQ9OTcyMjkyMjg3IHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwp3ZW5uIGR1IHd1ZXNzdGVzdCB3aWUgZWdhbCBQR1AgdW5kIGRlaW5lIHZvcmxlc3VuZ2VuIG1pciB3YWVyZW4sIHdlbm4gc2llCnZvbiBmYWxzY2hlbiB2b3JhdXNzZXR6dW5nZW4gYXVzZ2VoZW4uIGljaCBiaW4gbWF0aGVtYXRpa2VyIDopCmhhc3QgamEgd2FzIGdlbGVybnQgZGFiZWkuCgotLS0tLS0KcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQPU5QISAoSHVtbmksIDIzLiBPa3QgMjAwMCwgMTg6NTI6MDgpOgp+IyEgcm49UGF0cnluIHJ0PTk3MjMxODczMyByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKSW0gUHJpbnppcCBzZWggaWNoIGRhcyBnZW5hdXNvLgpVbmQgamEsIGljaCBoYWIgd2FzIGdlbGVybnQgZGFiZWkuCk51ciBmaW5kIGljaCBQR1AgZWlnZW50bGljaCBnYW56IGx1c3RpZywgYWJlciBkYXMgaGF0IHdvaGwga2VpbmVuClNpbm4gbWVociBoaWVyIHdlaXRlcnp1ZGlza3V0aWVyZW4uClVuZCBNYXRoZW1hdGtlciBiaW4gaWNoIGF1Y2ggOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUD1OUCEgKFJvY2h1cywgMjMuIE9rdCAyMDAwLCAxOToyNTo1Myk6Cn4jISBybj1QYXRyeW4gcnQ9OTcyMjU4Mzc3IHJnPXd3dwp+IyEgdGlkPTk3MjE0MjgxMwpFcnNhdHogZnVlciBwdWJsaWMga2V5IGNyeXB0b2dyYXBoeT8KRHUgbWVpbnN0IGpldHp0IGRvY2ggaG9mZmVudGxpY2ggbmljaHQgUXVhbnRlbmtyeXB0b2dyYXBoaWUsCmRpZSBoYXQgbmFlbWxpY2ggc28gZWluaWdlIE5hY2h0ZWlsZSAoei5CLiBkYXNzIG1hbiBlaW5lCkRVUkNIR0VIRU5ERSBHbGFzZmFzZXJsZWl0dW5nIGJyYXVjaHQpLi4uCnVuZCB3aWUgYmxpbmRlIFNpZ25hdHVyZW4gKGRpZSB3ZXNlbnRsaWNoIHouQi4gZnVlciBhbm9ueW1lcwpCZXphaGxlbiBzaW5kKSBkYW1pdCBnZWhlbiBzb2xsZW4gbW9lY2h0ZSBpY2ggYXVjaCBzZWhlbi4uLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFA9TlAhIChQYXRyeW4sIDIzLiBPa3QgMjAwMCwgMTk6MzM6MjEpOgp+IyEgcm49Um9jaHVzIHJ0PTk3MjMyMTk1MyByZz13d3cKfiMhIHRpZD05NzIxNDI4MTMKc29sYW5nZSBuZW4gZ2FuemVyIHNhY2sgdm9sbGVyIHByb2JsZW1lIGRhbWl0IGhvZmZudW5nIGdlYmVuLCBsb2VzYmFyCnp1IHdlcmRlbiwgb2huZSBkYXMgaHlwb3RoZXRpc2NoZSBxdWFudGVucmVjaG5lciBicmFjaGlhbGVzIGR1cmNocHJvYmllcmVuCmFud2VuZGVuLCBzb2xhbmdlIGlzdCBtaXIgZGllIHp1a3VuZnQgaGV1dGlnZXIgY3J5cHRvcmFwaGllIG9iZXJzY2hudXBwZS4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFA9TlAhIChQYWRyZWljLCAyMy4gT2t0IDIwMDAsIDIxOjExOjAzKToKfiMhIHJuPVJvY2h1cyBydD05NzIzMjE5NTMgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzCkZ1ZXIgU2lnbmF0dXJlbiBnaWJ0IGVzIENoaXBrYXJ0ZW4gbWl0IGVpZ2VuZW0gUHJvemVzc29yLCBTaWNoZXJoZWl0IGR1cmNoCmF1c2dlbGFnZXJ0ZSBIYXJkd2FyZSBpcyBlaCBkYXMgYmVzdGUuLi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFA9TlAhIChSb2NodXMsIDIzLiBPa3QgMjAwMCwgMjE6MTQ6MzIpOgp+IyEgcm49UGFkcmVpYyBydD05NzIzMjgyNjMgcmc9d3d3Cn4jISB0aWQ9OTcyMTQyODEzClRoZW1hIHZlcmZlaGx0LCBQYWRyZWljLgpEaWUgU2lnbmF0dXJlbiBtaXQgQ2hpcGthcnRlIHdlcmRlbiBnZW5hdXNvIGVyc3RlbGx0IHdpZQpkaWUgU29mdHdhcmUtTG9lc3VuZ2VuLCBhbHNvIGdlbHRlbiBkaWUgZ2xlaWNoZW4KSW1wbGlrYXRpb25lbiB2b24gUD1OUCBiencuIFAhPU5QLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG5ELUZpbG0gKEdvcm9nLCAyNC4gT2t0IDIwMDAsIDAyOjE1OjQ4KToKRGllIG9mZml6aWVsbGUgU2l0ZSBtaXQgbmV1ZW0gVHJhaWxlciB6dW0gRG5ELUZpbG0gb2VmZm5ldCBhbSAyNS4xMC4gYWxzbyBhbQpNaXR0d29jaC4gRGllIEFkcmVzc2U6Cnd3dy5zZWVkbmQuY29tCgpNYWwgc2VobiBvYiBkZXIgd2FzIHRhdWd0LiBEZXIgRmlsbSBsYWV1ZnQgdWVicmlnZW5zIGFtIDguMTIuMDAgYW4gbGVpZGVyIHdpZQptZWlzc3QgenVuYWVjaHN0IGluIEFtaWxhbmQuCgpHb3JvZyBnZXNwYW5udCBhdWYgZGVuIExlY2tlcmJpc3NlbiBhdWYgZGVtIFdlZyB6dSBMb3RSLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERuRC1GaWxtIChOZXZvaywgMjQuIE9rdCAyMDAwLCAwOTo0ODowMik6Cn4jISBybj1Hb3JvZyBydD05NzIzNDY1NDggcmc9d3d3Cn4jISB0aWQ9OTcyMzQ2NTQ4CipraWNoZXIqClNvbGwgaWNoIG1hbCB3aWVkZXIgbmUgcmV2aWV3IHBvc3Rlbj8gOikKCk5ldm9rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmZWluZSBzYWNoZW4gc2VsYmVyIG1hY2hlbiAoSGlnaHQsIDI2LiBPa3QgMjAwMCwgMjI6MDM6NDIpOgpodHRwOi8vY29ja3RhaWxyZWNpcGUuY29ja3RhaWwuY28uemEKCkhpZ2h0IHNlaW4gZ2V0cmFlbmtlbGFnZXIgbmFjaCB6dXRhdGFuIGFic3VjaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEbkQtRmlsbSAoR29yb2csIDMwLiBPa3QgMjAwMCwgMjI6Mzg6MTUpOgp+IyEgcm49TmV2b2sgcnQ9OTcyMzczNjgyIHJnPXd3dwp+IyEgdGlkPTk3MjM0NjU0OApIbW1tIHNlaHIgZmVpbmUgVHJhaWxlciB6dSBlcmhhbHRlbiB1bnRlcjoKd3d3LnNlZWRuZC5jb20KCkdvcm9nIGV4dHJlbSBnZXNwYW5udC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWRvbm5hIGltIE5ldHogKFRhbmdhbHVyLCAyMC4gTm92IDIwMDAsIDA5OjU3OjMxKToKTWFkb25uYSBPbmxpbmUgRXZlbnQgLSAxMC4yOC4yMDAwCgo8PCBORVdTRkxBU0ggPj4KCkl0J3Mgc2xhdGVkIHRvIGJlIHRoZSBiaWdnZXN0IG9ubGluZSBldmVudCBpbiBoaXN0b3J5OgoKaHR0cDovL3d3dy5tc24uY28udWsvbWFkb25uYQoKIk1TTiB3aWxsIGJlIHByb21vdGluZyB0aGUgd2ViY2FzdCBhY3Jvc3MgdGhlIHdvcmxkXnMgYmlnZ2VzdCBvbmxpbmUgbmV0d29yawp3aXRoIHNpdGVzIGFjcm9zcyBzaXggY29udGluZW50cywgMTcgbGFuZ3VhZ2VzIGFuZCAyMTAgbWlsbGlvbiB1c2VycywKaW5jbHVkaW5nIDgwIE1pbGxpb24gSG90bWFpbCB1c2VycywgMzMgbWlsbGlvbiB1c2VycyBvZiBNU04gSW5zdGFudApNZXNzZW5nZXIsIHRoZSB3b3JsZCdzIGJpZ2dlc3Qgb25saW5lIEdhbWluZyBOZXR3b3JrIFpvbmUuY29tIGFuZCB0aGUKd29ybGQncyBiaWdnZXN0IG9ubGluZSBuZXdzIHNpdGUgTVNOQkMuY29tLiIKCmFueWJvZHkga25vdyBob3cgbWFueSBzaW11bHRhbmVvdXMgdGhleSdyZSBleHBlY3Rpbmc/IE9idmlvdXNseSwgdGhleSdyZQpvbmx5IGdvaW5nIHRvIHN1cHBvcnQgV01ULCBzbyB0aGF0J2xsIGxpbWl0IHRoZSB1c2VyIGJhc2UgKHJpZ2h0PykuIE9uIHRoZQpzYW1lIG5vdGUsIGl0J3Mgb2J2aW91cyB0aGF0IHRoaXMgaXMgYW4gZWZmb3J0IHRvIGZvcmNlIHRob3NlIHdobyBoYXZlbid0Cmluc3RhbGxlZCA2LjQgb3IgNyB5ZXQgdG8gZG8gc28uCgpBbnlvbmUgZWxzZSBoYXZlIGFueSBpZGVhcyBvbiBob3cgdGhleSdsbCB0cnkgdG8gcmVjb3VwIHRoZSBjYXBpdGFsIHRoZXkncmUKcHV0dGluZyBpbnRvIHRoaXMgZXZlbnQ/IEFkIGluc2VydGlvbj8gQmFubmVyIGFkcz8gUHJvZHVjdCBwbGFjZW1lbnQ/IERvZXMKV01QIDcuMCBzdXBwb3J0IFNNSUwgb3IgdGhlIGxpa2UgeWV0PyBPciBhcmUgdGhleSBzdGlsbCB0cnlpbmcgdG8gZGV2ZWxvcAp0aGVpciBvd24gcHJvcHJpZXRhcnkgbGFuZ3VhZ2U/IC0tIGFuIGV4ZXJjaXNlIGluIGZ1dGlsaXR5IGlmIHlvdSBhc2sgbWUuCgotLSBhbmQgSSdtIGFsc28gd29uZGVyaW5nIHdobydzIGdvdCB0aGUgY29udHJhY3QuIEFrYW1haT8gREk/IEludGVsPwpQcm9iYWJseSBhbGwgdGhyZWUgKG9yIGhhcyBNUyBidWlsdC9ib3VnaHQgdGhlaXIgb3duIENETiB0aGF0IEknbSBub3QgYXdhcmUKb2Y/KS4KCndvbmRlciBpZiBNaWNyb3NvZnQgd2lsbCBiZSBhYmxlIHRvIHB1bGwgaXQgb2ZmLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClVzZXJzIEd1aWRlIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vd29ya3Nob3AvZXNzZW50aWFscy9tYWlsLmFzcApjb250YWlucyBpbXBvcnRhbnQgaW5mbyBpbmNsdWRpbmcgaG93IHRvIHVuc3Vic2NyaWJlLiAgU2F2ZSB0aW1lLCBzZWFyY2gKdGhlIGFyY2hpdmVzIGF0IGh0dHA6Ly9kaXNjdXNzLm1pY3Jvc29mdC5jb20vYXJjaGl2ZXMvaW5kZXguaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc28gYmxvZWQga29lbm5lbiBkaWUgYmVpIHNtYWxsIHNpc3RlciBkb2NoIGdhciBuaWNodCBzZWluIC4uLiAoR3JpbW1ib3JuLCAyMy4gTm92IDIwMDAsIDE0OjI2OjA2KToKfiMhIG9uPUFsYm9pbiBvdD05NzQ5ODM4Mzggb2c9c2NobWFycm4KaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwxMDQyMDMsMDAuaHRtbAoKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2xsdGUgamVkZXIgTWFubiBrZW5uZW4uLi4gKEZvb2JhciwgIDIuIERleiAyMDAwLCAyMToxMDozNSk6Ci4uLmZhbGxzIER1IHNpZSBhYmVyIG5pY2h0IGtlbm5zdDoKCmh0dHA6Ly93d3cubWFlbm5lcnNlaXRlbi5kZQoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29sbHRlIGplZGVyIE1hbm4ga2VubmVuLi4uIChHbm9tZSwgIDMuIERleiAyMDAwLCAxNToyNzozNyk6Cn4jISBybj1Gb29iYXIgcnQ9OTc1Nzg3ODM1IHJnPXd3dwp+IyEgdGlkPTk3NTc4NzgzNQoqZ3JpbnMqCgpkZXIgQkgtVHJpY2sgZ2VmYWVsbHQgbWl0IDgpCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRCZEIFRyYWlsZXIgKEdvcm9nLCAgNS4gRGV6IDIwMDAsIDIyOjAwOjIwKToKRXMgZ2lidCBuZW4gbmV1ZW4gVHJhaWxlciB2b20gRCZELUZpbG0uIExpZWd0IHdpZSBkZXIgYW5kZXJlIGF1Y2ggYXVmCnd3dy5zZWVkbmQuY29tIChkZW5rIGljaCkgdW5kIGlzdCBudXIgaW0gSW50ZXJuZXQgenUgYmV3dW5kZXJuLgpWaWVsIHNwYXNzIGJlaW0gRG93bmxvYWQgKG1laW5lciBsYWV1ZnQgbm9jaCBuZSBTdHVuZGUpCgptZkdvcm9nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRCZEIFRyYWlsZXIgKEZldWVyd2VociwgIDUuIERleiAyMDAwLCAyMjowMzo1Myk6Cn4jISBybj1Hb3JvZyBydD05NzYwNTAwMjAgcmc9d3d3Cn4jISB0aWQ9OTc2MDUwMDIwCgpBZWhtLCBhbGxlIHJlZGVuIHZvbiBkaWVzZW0gVHJhaWxlci4gSWNoIGhhYiBkJmQgZ2VzcGllbHQsIHdpcmQgZGFzIGVpbmUKSGFjayZTbGF5LU9yZ2llPyA6KQoKR3J1c3MsIEZldWVyd2Voci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRCZEIFRyYWlsZXIgKEdvcm9nLCAgNS4gRGV6IDIwMDAsIDIyOjA1OjUxKToKfiMhIHJuPUZldWVyd2VociBydD05NzYwNTAyMzMgcmc9d3d3Cn4jISB0aWQ9OTc2MDUwMDIwCkRhIGJpbiBpY2ggbWlyIG5pY2h0IHNpY2hlciwgc2NoZWludCBhYmVyIG1hbCBlbmRsaWNoIG4gc29saWRlciBGYW50YXN5LUZpbG0KenUgd2VyZGVuIG1pdCBQcnVlZ2VsZWllbiwgRHJhY2hlbiwgTWFnaWUgdW5kIGJvZXNlbiBUeXBlbiBkaWUgendhciBuaWNodCBkaWUKV2VsdGhlcnJzY2hhZnQgYWJlciB6dW1pbmRlc3QgZGllIGVpbmVzIEtvZW5pZ3JlaWNoZXMgd29sbGVuLiAKCkdvcm9yIGthbm4gbnVyIGVtcGZlaGxlbiBzaWNoIGRlbiBUcmFpbGVyIG1hbCBhbnp1c2VobiwgZmVpbiBmZWluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEJkQgVHJhaWxlciAoQmlyZHksICA1LiBEZXogMjAwMCwgMjI6MDc6MTkpOgp+IyEgcm49R29yb2cgcnQ9OTc2MDUwMzUxIHJnPXd3dwp+IyEgdGlkPTk3NjA1MDAyMAp1bmQgamV0enQgbGFkZW4gd2lyIGVyc3RtYWwgYWxsZSAuLi4KdW5kIGRhcyB3aXJkIGpldHp0IGRhdWVybiAuLi4KCjspKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEQmRCBUcmFpbGVyIChUcm95LCAgNi4gRGV6IDIwMDAsIDA5OjIyOjI2KToKfiMhIHJuPUJpcmR5IHJ0PTk3NjA1MDQzOSByZz13d3cKfiMhIHRpZD05NzYwNTAwMjAKZGFzIGRhdWVydCB1ZWJlcmhhdXB0IG5pY2h0Li4uCgpUcm95IChoYXQgbiBUMy1MQU4tQW5zY2hsdXNzKQoKUC5TLiBJc3QgYWJlciB3aWVkZXIgc28nbiB1bmdsYXVibGljaCBraXRzY2hpZ2VyIGd1dC1ib2VzZSBBbWktU2NoaW5rZW4uCk1pdCBlaW5lciBmaXN0ZWxuZGVuIFByaW56ZXNzaW4uIExlZGlnbGljaCBKZXJlbXkgSXJvbnMgZ2VmYWVsbHQgbWlyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRCZEIFRyYWlsZXIgKExpbmZsYXMsICA2LiBEZXogMjAwMCwgMTA6NTg6MTEpOgp+IyEgcm49VHJveSBydD05NzYwOTA5NDYgcmc9d3d3Cn4jISB0aWQ9OTc2MDUwMDIwCmljaCBzdGltbWUgZGlyIGluIGFsbGVuIGJlbGFuZ2VuIHp1LgoKTGluZmxhcywgYXVjaCBMQU4gaGFiZW5kLgoKUC5TLiBBdXMgaXJnZW5kZWluZW0gR3J1bmQgaGF0dGUgaWNoIGJlaW0gVHJhaWxlciBkYXMgR2VmdWVobCBTdGFyIFdhcnMgLQpQaGFudG9tIE1lbmFjZSB6dSBzY2hhdWVuLiBLYW5uIG1pciBkYXMgamVtYW5kIGVya2xhZXJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEQmRCBUcmFpbGVyIChaYXJuaXlhLCAgNi4gRGV6IDIwMDAsIDEyOjQ0OjMwKToKfiMhIHJuPUxpbmZsYXMgcnQ9OTc2MDk2NjkxIHJnPXd3dwp+IyEgdGlkPTk3NjA1MDAyMApKYS4uLiB3aWVkZXIgZWluIEZpbG0gbWl0IGVpbmVyIGtpbmRsaWNoZW4gUHJpbnplc3Npbi4uLiAKCkJUVzogV2VyIFRSYWlsZXIgbWFnLCBkaWUgYWJlciB3aXJrbGljaCBkb3dubG9hZGVuIHdpbGwgdW5kIG5pY2h0IG51ciBpbSBXV1cKYW5zZWhlbiwgZGVyIGlzdCBiZWkgd3d3LnRyYWlsZXItaW5zaWRlLmRlIHJpY2h0aWcuLi4uIGRhIGdpYnQgZXMgYmVpZGUKRG5ELVRyYWlsZXIgdW5kIGltbWVyIG5ld3MgenUgU3RhcnRyZWsxMCB1bmQgRXBpc29kZTIuLi4uIHVuZCBlaW4gc2VociBndXRlcwpUcmFpbGVyYXJjaGl2IGhhYmVuIGRpZS4uLiAKCk1hcmMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1Y2ggbmV0dCAoTW9udGFudXMsICA2LiBEZXogMjAwMCwgMTM6MDc6NTkpOgoKPGh0dHA6Ly93d3cudGhld29ybGQuY2gvb2ZmdW4vU3BlY2lhbHMvcGFyYW5vaWEuaHRtbD4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsYWNoIChBbGJvaW4sICA3LiBEZXogMjAwMCwgMTI6NTY6MDQpOgpHZXdpc3NlIExldXRlIGtvZW5uZW4gZXMgbmljaHQgbGFzc2VuIG5pY2h0IG51ciBzaWNoIHNlbGJzdCB1bmQgaWhyIEF1dG8gaW0KV2ViIHZvcnp1c3RlbGxlbiBzb25kZXJuIGF1Y2ggZGllIGJlc3NlcmUgSGFlbGZ0ZS4gRWluZSBBdXN3YWhsIHNvbGNoZXIKRXJndWVzc2UgYmlldGV0CgpodHRwOi8vc2l0ZXMuaW5rYS5kZS9zaXRlcy9mcmF3ZWkvZnJldW5kaW5uZW4vaW5kZXguaHRtbAoKTGllc3QgbWFuIGRpZSBLb21tZW50YXJlIHp1IGRlbiBTZWl0ZW4gbGFjaHQgbWFuIGdsZWljaCBub2NoIG1hbCBzbyBzY2hvZW4uCkVpbmVyIGRlciBIb2VoZXB1bmt0ZTogRWluIERldXRzY2hlciBzdGVsbHQgc2ljaCB1bmQgc2VpbmUgYW1lcmlrYW5pc2NoZQpGcmV1bmRpbiB2b3IuIFVudGVyIGVpbmVtIEJhbm5lciBsaWVzdCBtYW4gZGFubiAoT3JpZ2luYWwtWml0YXQpOiBQbHMgdmlzaXQgbXkKU3BvbnNvciwgYmVjYXVzZSBJIGNhbiBmbHkgZWFzeWVyIHRvIG15IGdpcmxmcmllbmQhCgpWaWVsbGVpY2h0IHNvbGx0ZSBkZXIgTGllYmVzaHVuZ3JpZ2UgZXJzdG1hbCBkYXMgR2VsZCBmdWVyIGVpbmVuIEVuZ2xpc2NoLUt1cnMKYW4gZGVyIFZIUyB2ZXJ3ZW5kZW4gOy0pCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGVzZW5zd2VydGUgR2xvc3NlIChEaWVkZXIsICA4LiBEZXogMjAwMCwgMTE6MTg6NDEpOgoKaHR0cDovL3d3dy5oZWlzZS5kZS90cC9kZXV0c2NoL2luaGFsdC9nbG9zc2UvNDIzNy8xLmh0bWwKCkRpZWRlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRCZEIFRyYWlsZXIgKFRyb3ksIDExLiBEZXogMjAwMCwgMDk6NDI6MDQpOgp+IyEgcm49TGluZmxhcyBydD05NzYwOTY2OTEgcmc9d3d3Cn4jISB0aWQ9OTc2MDUwMDIwClRqYS4gRGFzIEVwaXNvZGUtSS1HZWZ1ZWhsIGthbSBhdWNoIGJlaSBtaXIgYXVmLiBNYW4gaGF0IHdvaGwgZ2VkYWNodCwgZGllCkt1bGlzc2VuIHVuZCBLb3N0dWVtZSBub2NobWFsIHZlcndlbmRlbiB6dSBrb2VubmVuIHVuZCBHZWxkIHp1IHNwYXJlbiAtIHVuZCB3bwp3aXIgZ2VyYWRlIGRhYmVpIHNpbmQsIG5laG1lbiB3aXIgZGllIGh1ZWJzY2hlIEdlc2NoaWNodGUgZG9jaCBhdWNoIGdsZWljaAp1bmQgbWFjaGVuIHNpZSBhdWYgRmFudGFzeS4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWRvbm5hIGltIE5ldHogKEFwc3UsIDExLiBEZXogMjAwMCwgMTM6MzQ6MDgpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9OTc0NzEwNjUxIHJnPXd3dwp+IyEgdGlkPTk3NDcxMDY1MQpUamEgTWFkb25uYSBpcyB0b2xsLCBNYWRvbm5hIGlzIGtsYXNzZSwgYWJlciB3YXJ1bSBtZWludCBkaWUgZWlnZW50bGljaCBzaW5nZW4KenUgbXVlc3Nlbj8gSWhyZSBRdWFsaXRhZXRlbiBsaWVnZW4gd29obCBkb2NoIGVoZXIgdW50ZXJoYWxiIGlocmVyClN0aW1tYmFlbmRlci4uLgoKQXBzdSwgbGVpY2h0IGdlbmVydnQgdm9tIE1hZG9ubmFydW1tZWwgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hZG9ubmEgaW0gTmV0eiAoU2NobGVpY2hlciwgMTEuIERleiAyMDAwLCAxMzo0NTozMSk6Cn4jISBybj1BcHN1IHJ0PTk3NjUzODA0OCByZz13d3cKfiMhIHRpZD05NzQ3MTA2NTEKV2hvIHRoZSBmdWNrIGlzIE1hZG9ubmE/Pz8gSWNoIGtlbm4gbnVyIHNvIFN0YXR1ZW4uLi4gQWJlciBTY2hlcnogYmVpc2VpdGUgZGVuCnNvZy4gTWFkb25uYXJ1bW1lbCBiZWtvbW10IG1hbiBkb2NoIHdvaGwgbnVyIG1pdCB3ZW5uIG1hbiBzaWNoIGRlbiBnYW56ZW4KTWVpbnVuZ3NiaWxkZW5kZW4gRmVybnNlaC0gdW5kIFJhZGlvc2VuZGVybiBhdXNzZXR6dC4gSW4gbWVpbmVyIFdvaG51bmcgd2FyCk1hZG9ubmEgd2lzc2VudGxpY2ggZGFzIGxldHp0ZSBtYWwgaW4gZGVuIDgwZXJuIHp1IEdhc3QgOy0pRXMgc2NoZWludCBhbHNvIHp1CmtsYXBwZW4gZGFzIG1hbiBzb2xjaGVtIFJ1bW1lbCBhdXMgZGVtIFdlZ2UgZ2VodC4gT2RlciBhdWNoIG5pY2h0IC0ga2VpbmUKQWhudW5nLi4uIGJlaSBtaXIgcnVtbWVsdCBlcyBqZWRlbmZhbGxzIG5pY2h0IDstKQoKU2NobGVpY2hlciBkZXIgbnVyIGhvZXJ0IHdhcyBlciBhdWNoIGhvZXJlbiB3aWxsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWFkb25uYSBpbSBOZXR6IChPcmt0b2V0ZXIsIDExLiBEZXogMjAwMCwgMTM6NDk6MDgpOgp+IyEgcm49U2NobGVpY2hlciBydD05NzY1Mzg3MzEgcmc9d3d3Cn4jISB0aWQ9OTc0NzEwNjUxCkljaCBsZXNlIGltbWVyIFN0aW1tYmFlbmRlci4uIHdhcyBzb2xsIGRlbm4gZGFzIHVuZCB1ZWJlcmhhdXB0LCB3YXJ1bSBtYWNodAppaHIgYWxsZSBkZW4gZ2xlaWNoZW4gVHlwbz8gICAgICAKRGllZ28gaXN0LCBiencuIHdhciBlaW4gYmVnbmFkZXRlciBGdXNzYmFsbGVyLCBrbGFyIGxpZWdlbiBzZWluZSAod2llc28KdWViZXJoYXVwdCBpaHJlPykgUXVhbGl0YWV0ZW4gdW50ZXJoYWxiIGRlciBTdGltbWJhZW5kZXIsIG9id29obCBlciB0cm90eiBlaGVyCmdlcmluZ2VyIGdyb2Vzc2UgYXVjaCBtaXQgZGVtIEtvcGYgbmljaHQgc2NobGVjaHQgd2FyIQoKT3JrVCwgRnVzc2JhbGxleHBlcnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFkb25uYSBpbSBOZXR6IChTaWx2YW5hLCAxMS4gRGV6IDIwMDAsIDE0OjM2OjU4KToKfiMhIHJuPU9ya3RvZXRlciBydD05NzY1Mzg5NDggcmc9d3d3Cn4jISB0aWQ9OTc0NzEwNjUxCnZvbiBkZXIgSGFuZCBtYWwgZ2FueiB6dSBzY2h3ZWlnZW4uLi4gOy0pCgpTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWRvbm5hIGltIE5ldHogKEdyaW1tYm9ybiwgMTEuIERleiAyMDAwLCAxNDo1NjowMyk6Cn4jISBybj1TaWx2YW5hIHJ0PTk3NjU0MTgxOCByZz13d3cKfiMhIHRpZD05NzQ3MTA2NTEKUGVyc29lbmxpY2ggZmFuZCBpY2ggc2VpbmUgQWt0aW9uZW4gbWl0IEx1ZnRnZXdlaHJlbiBhbSBiZXN0ZW4uIFRqYSwgaGFldHRlbnNlCmlobSBtYWwgZnJ1ZWggZ2VudWcgZGFzIEhhYXIgZ2VzY2huaXR0ZW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRCZEIGlzdCBrbGFzc2UhIChUc3VuYW1pLCAxMi4gRGV6IDIwMDAsIDA3OjAyOjUyKToKSHVodSwKCmtvbW0gZ3JhZCB2ZXJnbnVlZ3Qgdm9tIEtpbm8genVydWVjay4gU2FlbXRsaWNoZSBSZXZpZXdzIGF1ZiBhbGxlbgplaW5zY2hsYWVnaWdlbiBJbnRlcm5ldC1LaW5vc2VpdGVuIG1hY2hlbiBiZWthbm50bGljaCBkaWVzZW4gRmlsbSAoenUgVW5yZWNodCkKcnVudGVyLiBOaWNodCBhdWYgc2llIGhvZXJlbiB1bmQgZnJldWVuLCB3ZW5uIGRlciBGaWxtIGluIEQgYW5sYWV1ZnQhCgpUc3VuYW1pLCBiZWlkZSBEYXVtZW4gbmFjaCBvYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEQmRCBpc3Qga2xhc3NlISAoT2JpLCAxNC4gRGV6IDIwMDAsIDAyOjUyOjE5KToKfiMhIHJuPVRzdW5hbWkgcnQ9OTc2NjAwOTcyIHJnPXd3dwp+IyEgdGlkPTk3NjYwMDk3MgpKYSwgaG9mZmVudGxpY2ggYmFsZCBtYWwuLi4KCkF1ZiBlaW5pZ2VuIFNlaXRlbiB3dXJkZSBpbW1lciB2b24gZWluZW0gIndvcmxkd2lkZSByZWxlYXNlIiBhbSA4LiBEZXoKZ2VzcHJvY2hlbi4uLiBEYXMgemVpZ3QgbWFsIHdpZWRlciB3YXMgZGllIEFtaXMgZnVlciBkaWUgV2VsdCBoYWx0ZW4gOi0pCgooIHp1bWluZGVzdCA5Ny44NSUgKHNvcnJ5LCBpbnNpZGVyIDotKSAgKSkKCk9CSSAtIHdhcnRldCBzaWNoIG5lbiBXb2xmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEQmRCBpc3Qga2xhc3NlISAoVHJveSwgMTQuIERleiAyMDAwLCAwODo1NzoxMCk6Cn4jISBybj1PYmkgcnQ9OTc2NzU4NzM5IHJnPXd3dwp+IyEgdGlkPTk3NjYwMDk3MgpXYXMgd2lsbHN0IER1IHZvbiBMZXV0ZW4gbWl0IGVpbmVtIGRva3RyaW5hZXIgYW5nZXBhc3N0ZW4gV2VsdGJpbGQgc2Nob24KZXJ3YXJ0ZW4/CgpUcm95IC0gd2FydGV0IGF1Y2gKCihsYWV1ZnRzIGRlbm4gZGFubiBpbiBVdGFoPyAoaW1tZXJub2NoIGluc2lkZXIpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZmxhc2ggKEJpcmR5LCAxNi4gRGV6IDIwMDAsIDE5OjUzOjU3KToKZ2VpbGUgc2l0ZSA6Cnd3dy5kcmVhbXMyLmNvbQoKYXVzc2VyZGVtIHNjaGF1dCBldWNoIG1hbCB3d3cudG9wLmRlIGFuCnVudGVyIHdlYi9ncmFwaGljIGZpbmRldCBpaHIgbm9jaCBtZWhyIDopCgpiaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKndhZWx6KiAoSGlnaHQsIDE3LiBEZXogMjAwMCwgMDQ6MTk6MjkpOgpodHRwOi8vd3d3Lnp5bi5kZS91cmllbGxhCgpoaWdodCBzaWNoIGRlbiBCYXVjaCBoYWx0ZW5kIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKmcqICAoSGlnaHQsIDE3LiBEZXogMjAwMCwgMDU6MDA6MDcpOgplbmRsaWNoIGlzIGRhcyBnZWhlaW1uaXNzIHVtIGRpZSB1cy13YWhsIGdlbHVlZnRldCAubykKCmh0dHA6Ly9zdGFyb25lLnVwYi5kZTo4MDgwL2hpcnNlL2NvbXB0YWdlLmdpZgoKaGlnaHQga3JhbXBmaGFmdCB6YWVobGVuZCAsbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5vY2htYWwgenluIChIaWdodCwgMTcuIERleiAyMDAwLCAwNTowNTowOSk6CndlciB6ZWl0IHVuZCBtdXNzIGhhdCBzb2xsdGUgc2ljaCBtYWwgZGllIGJlaWRlbiB0ZXh0ZSB2b24gdmFtcAood3d3Lnp5bi5kZS9mb3JzY2h0X3BoeXNpayB1bmQgd3d3Lnp5bi5kZS8zMTkpIGR1cmNobGVzZW4KCnNpbmQgdmllbGUgcmljaHRpZyBnZWlsZSBkaW5nZXIgZHJhdWYgYWJiYSBkaWUgemFlaGxlbiB6dSBtZWluZW4gZmF2b3JpdGVuCgpoaWdodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKeWVhaCAoV3VyemVsLCAxOS4gRGV6IDIwMDAsIDIyOjU5OjA1KToKd2VyIG5vY2ggbmljaHQgd2Vpc3MsIHdhcyBlciB2ZXJzY2hlbmtlbiBzb2xsOgpodHRwOi8vZG9nZG9vLmNvbS9EZWZhdWx0LmFzcAoKKGVoZXIgZ2VlaWduZXQgZnVlciBsZXV0ZSwgZGllIGVpbmVtIG5pY2h0IHNvb28gc2VociBhbnMgaGVyeiBnZXdhY2hzZW4Kc2luZC4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9yZ2VuR3JhdWVuIC0gZWluZSBwaGFudGFzdGlzY2hlIE9ubGluZS1TcGllbHdlbHQgIChNeXN0aXhvLCAyMS4gRGV6IDIwMDAsIDAwOjI2OjI3KToKSGFiIGhldXRlIGVpbiBiaXNzY2hlbiBpbSB3d3cgZ2VzdG9lYmVydCB1bmQgZGllc2VuIEJlcmljaHQgYXVmIGRlciBzZWl0ZSB2b24KVHYtVG9kYXkgZ2VmdW5kZW46Ck1vcmdlbkdyYXVlbiBEYXMgZ3JvZXNzdGUgZGV1dHNjaGUgTVVEIC0gZWluZSBwaGFudGFzdGlzY2hlIE9ubGluZS1TcGllbHdlbHQgCk1vcmdlbkdyYXVlbiBpc3QgZWluZSBrb21wbGV4ZSBTcGllbHdlbHQgbWl0CnZlcnNjaGllZGVuZW4gUmVnaW9uZW4gd2llIERzY2h1bmdlbCwgVW50ZXJ3ZWx0LCBJbnNlbG4Kb2RlciBHZWJpcmdlLiBadXN0YWVuZGlnIGZ1ZXIgZGllIGVpbnplbG5lbiBHZWJpZXRlIHVuZCBpaHJlClByb2dyYW1taWVydW5nIHNpbmQgZGllIE1hZ2llciwgZGllIHNpY2ggbWl0IFNlaGVybiB1bmQKU3BpZWxlcm4gaW4gZGVtIGludGVyYWt0aXZlbiBHYW1lIHR1bW1lbG4uIEFiZW50ZXVlcmx1c3RpZ2UKZmluZGVuIGF1ZiBkZXIgU2l0ZSBUaXBzIHp1ciBwYXNzZW5kZW4gU29mdHdhcmUuIFdlciBudXIgbWFsCnJlaW5zY2hudXBwZXJuIG1vZWNodGUsIGVyaGFlbHQgdW1mYXNzZW5kZSBJbmZvcyB1bmQgZWluZW4KZXJzdGVuIEVpbmJsaWNrIHBlciBXV1cuIApzY2hhdQpCZXdlcnR1bmcgSW5mbzogKyArIERlc2lnbjogKyArICwgRnVuOiArICsKL1wvXHlzdGl4bwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZXJuYXRpdmUgU3BpZWxtb2VnbGljaGtlaXQgKEhhdGUsIDIxLiBEZXogMjAwMCwgMTE6MTE6MzIpOgpIaSwKCmljaCBoYWJlIG1hbCB0ZXN0d2Vpc2UgbWVpbiBTaG9ja3dhdmUgRmxhc2ggVGVsbmV0IGF1ZiBkaWUgT25saW5lClNlaXRlIGdlcGFja3QuIFByb2JpZXJ0IHJ1bS4gQWxsZXJkaW5ncyB3aXJkIGRpZSBJbnRyb3NlaXRlIGFtIEFuZmFuZwpuaWNodCB2b2xsc3RhZW5kaWcgYW56ZWlndC4gVGlwcHQgZWluZmFjaCBFdXJlbiBOYW1lbiBlaW4hIFVuZApiZWFjaHRldCwgZGFzcyBpbSBtb21lbnQgbm9jaCBkYXNzIFBhc3N3b3J0IGltIEtsYXJ0ZXh0IGFuZ2V6ZWlndAp3aXJkLgoKSGF0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxhbnBhcnR5IGluIHVsbSAoTmljb2xhaSwgMjEuIERleiAyMDAwLCAxNjowNDoyNSk6Cgp3d3cubmV1amFocnN6b2NrZW4uZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnJpbmRlci0uLi5hZWguLi4gS2luZGVyd2FobnNpbm4gYXVzIC5hdCAoTmV2b2ssIDIyLiBEZXogMjAwMCwgMTM6MDQ6MTApOgpqYWphLCBpY2ggd2Vpc3MsIHZpZWxlIGxlc2VuIGRhIHNvd2llc28gc2Nob24uIGFiZXIgZXMgc29sbCBqYSBhdWNoIGVpbiBvZGVyCnp3ZWkgTGV1dGUgdW50ZXIgZGVuIE11ZGRlcm4gZ2ViZW4gZGllIHNlbGJpZ2VzIGViZW4gbmljaHQgdHVuIChsZXNlbiBtZWluZQppY2gpCmlzIGVpbmZhY2ggenUgaGVycmxpY2guLi4KaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvcHN6LTIyLjEyLjAwLTAwMC8KCgpLaW5kZXJzcGllbCBkYXMgYWxsZXMuLi4KCgpOZXZvawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJpbmRlci0uLi5hZWguLi4gS2luZGVyd2FobnNpbm4gYXVzIC5hdCAoV29vZHksIDIyLiBEZXogMjAwMCwgMTM6MDg6MTgpOgp+IyEgcm49TmV2b2sgcnQ9OTc3NDg2NjUwIHJnPXd3dwp+IyEgdGlkPTk3NzQ4NjY1MApEdSBzb2xsdGVzdCAiSyoqZGVyc3BpZWwiIG5pY2h0IHp1IGxhdXQgc2FnZW4uIEZ2RyBzdGVodApzaWNoZXIgc2Nob24gaW4gZGVuIFN0YXJ0bG9lY2hlcm4gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdW50ZXJuZWhtZW4gY2Fwcmljb3JuIHdhaHI/IChBbGJvaW4sICA0LiBKYW4gMjAwMSwgMTE6NDM6MTIpOgpXZXIgZXJpbm5lcnQgc2ljaCBuaWNodCBhbiBkZW4gRmlsbSAnVW50ZXJuZWhtZW4gQ2Fwcmljb3JuJyBkZXIgdm9uIGVpbmVyCmdlZmFrdGVuIE1vbmRsYW5kdW5nIGJlcmljaHRldGUsIGRlcmVuIERhcnN0ZWxsZXIgZGFubiBsb2dpc2NoZXJ3ZWlzZSBlaW5lbgpXZXR0bGF1ZiBtaXQgZGVtIFRvZCBsaWVmZW4uIFNjaGVpbmJhciBpc3QgZGFzIGdhbnplIG51biBzb2dhciBSZWFsaXRhZXQgZGVubgphdWY6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvZGV1dHNjaC9zcGVjaWFsL3JhdW0vNDYwNS8xLmh0bWwKCnNwZWt1bGllcnQgbWFuIGRhcnVlYmVyIG9iIGRpZSBlcnN0ZSB1bmQgdmllbGxlaWNodCBuaWNodCBtYWwgbnVyIGRpZSBlcnN0ZQpNb25kbGFuZHVuZyB2b24gQXBvbGxvIGdlZmFrZXQgd2FyLiBBdWNoIHdlbm4gZXMgaGV1dHp1dGFnZSB6aWVtbGljaCBtb2Rlcm4KaXN0IGRpZSBHZXNjaGljaHRlIG1pdCBpaHJlbiBQZXJzb2VubGljaGtlaXRlbiBkdXJjaCBUaWVmZW5wc3ljaG9sb2dpZSwKZXNvdGVyaXNjaGVtIEJsYWZhc2VsIHVuZCBkdXJjaCBnZXJuZWdyb3NzZSBTcGVrdWxhbnRlbiB3aWUgekIgRGFlbmlrZW4genUKemVyc2V0emVuLCBzbyBzb2xsdGUgbWFuIHNpY2ggZGllIFNlaXRlIG1hbCBhbnNjaGF1ZW4sIGRpZSBBcmd1bWVudGUgc2NoZWluZW4Kc3RpY2hoYWx0aWcgenUgc2Vpbi4KCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW50ZXJuZWhtZW4gY2Fwcmljb3JuIHdhaHI/IChUcm95LCAgNS4gSmFuIDIwMDEsIDA5OjQwOjA3KToKfiMhIHJuPUFsYm9pbiBydD05Nzg2MDQ5OTIgcmc9d3d3Cn4jISB0aWQ9OTc4NjA0OTkyClRqYS4gRXMgZ2lidCBkYXp1IGFsbGVyZGluZ3MgYXVjaCBub2NoIGVpbmUgYW5kZXJlIFRoZXNlOiBNZXJjaGFuZGlzaW5nLgpEYSBzaWNoIGVpbmUgZHVyY2ggYXVzIGhldXRpZ2VyIFNpY2h0IHF1YWxpdGF0aXYgc2NobGVjaHRlIFRlY2huaWsgbmljaHQKc2lubnZvbGwgdmVybWFya3RiYXJlIE1vbmRsYW5kdW5nIGltIEZlcm5zZWhlbiBuaWNodCBiZXdhZWhydCBoYWV0dGUsIG11c3N0ZQplYmVuIG5hY2hnZWJlc3NlcnQgd2VyZGVuLiBEZXIgZHVyY2hzY2huaXR0bGljaGUgQ291Y2hwb3RhdG8gbWVya3QgZGVuClVudGVyc2NoaWVkIHdvaGwgZWggbmljaHQuCgpBdXNzZXJkZW06IFNlbGJzdCB3ZW5uIGVzIHRhdHNhZWNobGljaCBnZWZha2VkIHdhciwgd2FyIGVzIGltbWVyaGluIHNvIGd1dCwKZGFzcyBlcyBzZWluZW4gWndlY2sgZXJmdWVsbHRlLiBNaWNoIHN0b2VydCBkYXMgZWhlciB3ZW5pZ2VyLiBJbiBkZXIKU29mdHdhcmVlbnR3aWNrbHVuZyBnZWh0IG1hbiBkb2NoIGdhbnogYWVuaGxpY2hlIFdlZ2UuIExpZWJlciBuIGd1dGVzIEZha2UKcHJhZXNlbnRpZXJlbiwgdW0gZGllIFByb2pla3RmaW5hbnppZXJ1bmcgenUga3JpZWdlbiwgYWxzIGVpbiBzY2hsZWNodGVzCk9yaWdpbmFsLi4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdW50ZXJuZWhtZW4gY2Fwcmljb3JuIHdhaHI/IChBbmd1cywgMjAuIEphbiAyMDAxLCAxNjowMDo1NCk6Cn4jISBybj1BbGJvaW4gcnQ9OTc4NjA0OTkyIHJnPXd3dwp+IyEgdGlkPTk3ODYwNDk5MgoKKnBydXV1c3QqIDotKSBOZXR0ZSBTdG9yeSEgQWJlciBkYXNzIGVzICh6dW0gR2x1ZWNrKSBhdWNoIGFuZGVyZQpNZWludW5nZW4gZ2lidCwga2FubiBtYW4gbmFjaGxlc2VuIHVudGVyOgogICB3d3cucmVkemVyby5kZW1vbi5jby51ay9tb29uaG9heApOdXIgZGVyIFZvbGxzdGFlbmRpZ2tlaXQgaGFsYmVyLi4uIHVlYnJpZ2VucyBhdWNoIHJlY2h0IHN0aWNoaGFsdGlnLApkaWUgZG9ydCBhbmdlZnVlaHJ0ZW4gQXJndW1lbnRlLiA7LSkKYnllLCBBbmd1cy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnd3d2ZpbmdlciAoVmFuaW9uLCAyNS4gSmFuIDIwMDEsIDE5OjA5OjIwKToKd3d3Lmdvb2dsZS5kZQotPiBTdWNod29ydDogVmFuaW9uCgpFaW5yYWcgNjoKTW9yZ2VuR3JhdWVuOiBbdGVsbmV0IE1HLk11ZC5ERV0KLi4uIFdlciBpc3QgVmFuaW9uPyBWYW5pb24gaXN0IG5pY2h0IGFud2VzZW5kLiBadWxldHp0CmVpbmdlbG9nZ3Qgdm9uOiBXaWxoZWxtc2hhdmVuICh1ZWJlciBULU9ubGluZSAuLi4gCm1nLm11ZC5kZS9jZ2ktYmluL211ZHd3dz9SRVE9ZmluZ2VyJlVTRVI9VmFuaW9uIC0gM2sgLSBJbSBBcmNoaXYgLSBBZWhubGljaGUKU2VpdGVuCgpWKiwgZmluZGV0IGNvb2wsIGRhc3MgZXIgd2ljaHRpZyBpcyA7LVAKClBTOiBmcmFndCwgbmljaCB3aWUgbWFuIGF1ZiBzbyBlaW5lIFN1Y2hhbmZyYWdlIGtvbW10IC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgKERhbnRlLCAyNy4gSmFuIDIwMDEsIDExOjA5OjMyKToKIEJpbGRlciBlaW5lcyAiQmVyZ2VzIiBuYW1lbnMgRGV2aWxzIFRodW1iLiAoVVNBKQpGaW5kZSBzaWUgYWJlciBuaWNodC4uLgpTb2xsdGUgamVtYW5kIHNvd2FzIGtlbm5lbiwgYnp3IG1hbCBkcmF1ZnN0b3NzZW4sIGF1ZiBkaWUgQmlsZGVyIG5pY2h0CmF1ZiBkZW4gQmVyZywgd2FlcnMgbmV0dCBtaXIgZGFzIHp1IHNhZ2VuLgpEYW5rZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1Y2hlIChUcm95LCAyOS4gSmFuIDIwMDEsIDExOjQxOjIxKToKfiMhIHJuPURhbnRlIHJ0PTk4MDU5MDE3MiByZz13d3cKfiMhIHRpZD05ODA1OTAxNzIKSGksCgppY2ggaGFiIG1hbCBHb29nbGUgZ2VmcmFndCB1bmQgZGEga2FtIGFuIDMuIFN0ZWxsZSBkaWUgVVJJOgpodHRwOi8vcmVzb3VyY2VhbmFseXNpcy5jb20vdHJhaWxzL3RyYWlsMzcvdHIzNy5odG1sCgpEb3J0IGlzdCBlaW4gQmlsZCAqZWluZXMqIEJlcmdlcyBkcmF1Zi4gSWNoIHdlaXNzIGFsbGVyZGluZ3MgbmljaHQsIG9icyBkZXIKRGV2aWwncyBUaHVtYiBpc3QuIEZhbGxzIG5pY2h0LCBzb2xsdGVzdCBEdSBhYmVyIHZvbiBkb3J0IGF1cyB3ZWl0ZXJrb21tZW4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1Y2hlIChTY2h3dWJiZWwsIDI5LiBKYW4gMjAwMSwgMjE6NDk6NDMpOgp+IyEgcm49VHJveSBydD05ODA3NjQ4ODEgcmc9d3d3Cn4jISB0aWQ9OTgwNTkwMTcyCkthbm4gZXMgc2VpbiwgZGFzcyBzdGF0dCBEZXZpbCdzIFRodW1iIHZpZWxsZWljaHQgRGV2aWwncyBUb3dlciBnZW1laW50IGlzdD8gCkRlciBzdGVodCBuYWVtbGljaCBpbiBXeW9taW5nIHVuZCB3YXIgZGFzIGVyc3RlIE5hdGlvbmFsIE1vbnVtZW50IGRlciBVU0EuCkJla2FubnRsaWNoIGJlaSBTcGllbGJlcmdzICIzLiBCZWdlZ251bmciIGJlbnV0enQgd29yZGVuLiBEYW1hbHMgZGFjaHRlIGljaCwKc28gZWluIEJlcmcgaXN0IG51ciBuZSBGaWt0aW9uLiBXYXJzIGFiZXIgbmV0LgoKS2xldHRlcmdlaWwsClNjaHd1YmJlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3VjaGUgKFRyb3ksIDMwLiBKYW4gMjAwMSwgMDk6MjE6MTApOgp+IyEgcm49U2Nod3ViYmVsIHJ0PTk4MDgwMTM4MyByZz13d3cKfiMhIHRpZD05ODA1OTAxNzIKRXMgZ2lidCBiZWkgQm91bGRlciBpbiBDb2xvcmFkbyB0YXRzYWVjaGxpY2ggZWluZW4gQmVyZyBuYW1lbnMgRGV2aWwncyBUaHVtYgooc2llaGUgVVJMIHZvbiBnZXN0ZXJuKS4gSmUgbmFjaGRlbSBvYiBhbHNvIENvbG9yYWRvIG9kZXIgV3lvbWluZyBnZXd1ZW5zY2h0CndpcmQuLi4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN1Y2hlIChUcm95LCAzMC4gSmFuIDIwMDEsIDA5OjI3OjMwKToKfiMhIHJuPVRyb3kgcnQ9OTgwODQyODcwIHJnPXd3dwp+IyEgdGlkPTk4MDU5MDE3MgouLlAuUy46IFdvIHdpciBzY2hvbiBiZWkgRGV2aWwncyBCbGFibGEgc2luZDoKRGV2aWxzIENvcm5lciwKTWljaGlnYW4sIFVuaXRlZCBTdGF0ZXMgW1BsYWNlXSBpcyBpbiBEZWx0YSBDb3VudHk7IGxvY2F0aW9uIGlzIDQ1NDQnMTUiTiA4NgpEZXZpbCdzIFBsYXlncm91bmQgZ2lidHMgaW4gVGFzbWFuaWVuICh3d3cudGFzc2llLm5ldC5hdS9kZXZpbHNwbGF5Z3JvdW5kLykKRGV2aWwncyBQb3N0cGlsZSBOYXRpb25hbCBNb251bWVudCBpbiBkZXIgTmFlaGUgdm9uIE1hbW1vdGggTGFrZSwgQ2FsaWZvcm5pYQoKVW0gRGV2aWwncyBDb3JuZXIgbm9jaCB6dSB2ZXJ2b2xsc3RhZW5kaWdlbjogZW50d2VkZXIgNDU0NCcxNSJOIDg2MzYnMTgiVyBpbgpNaWNoaWdhbiBvZGVyIDQ0MzAnMzkiTiA5MjgnNiJXIGluIFdpc2NvbnNpbi4uLgoKd2VpdGVyZSBWb3JzY2hsYWVnZT8KCnRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZSAoTXVhZGliLCAzMC4gSmFuIDIwMDEsIDExOjU5OjUzKToKfiMhIHJuPURhbnRlIHJ0PTk4MDU5MDE3MiByZz13d3cKfiMhIHRpZD05ODA1OTAxNzIKaGksCgplaW4gYmlsZCB1bnRlciBodHRwOi8vcmVzb3VyY2VhbmFseXNpcy5jb20vdHJhaWxzL3RyYWlsMzcvdHIzNy5odG1sCmludGVyZXNzYW50ZSBpbmZvcm1hdGlvbmVuIHVudGVyCmh0dHA6Ly93d3czLmNhbGxlLmNvbS9pbmZvLmNnaT9sYXQ9NTcuMDgzMyZsb25nPS0xMzIuMzY2NyZuYW1lPURldmlscyUyMFRodW1iJgpjdHk9Q2FuYWRhJmFsdD01ODk4CndlaXRlcmUgYmlsZGVyIHVudGVyIGh0dHA6Ly93d3cudG9ieW5vcnJpcy5jb20vdHJhdnBpY3MvYXNzb3J0ZWQvLApodHRwOi8vd2ViLndlYmFjY2Vzcy5uZXQvfmZyYW5rZi9oaWtlcy5odG1sCmhvcGUgaXQgaGVscHMKCmdydXNzCgptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3d3dmaW5nZXIgKEZpcmVoYXdrLCAzMS4gSmFuIDIwMDEsIDIwOjI0OjE1KToKfiMhIHJuPVZhbmlvbiBydD05ODA0NDYxNjAgcmc9d3d3Cn4jISB0aWQ9OTgwNDQ2MTYwCkRhcyBuZW5uc3QgRHUgd2ljaHRpZz8gTmFjaCBtaXIgaGF0IG1hbiBlaW4gQXV0byBiZW5hbm50IHVuZCBkYXMgc2Nob24KRXdpZ2tlaXRlbiBiZXZvciBpY2ggenUgbXVkZGVuIGFuZ2VmYW5nZW4gaGFiLiA7KQoKRmlyZWhhd2sgLT5zY2htYXJybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2FzIGFuZGVyZXMgOm8pIChQYWRyZWljLCAgNy4gRmViIDIwMDEsIDAxOjEyOjI1KToKd3d3Lndhc2FuZGVyZXMuZGUvaXJyaXRhdGlvbmVuL3RlY2gvdGJlZ3JpZmZlLmh0bWwKCkZhY2hiZWdyaWZmZSBlaW5tYWwgYW5kZXJzLi4uIDpvKQoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdWNoZSAoRGFudGUsICA5LiBGZWIgMjAwMSwgMDk6MDg6NDgpOgp+IyEgcm49TXVhZGliIHJ0PTk4MDg1MjM5MyByZz13d3cKfiMhIHRpZD05ODA1OTAxNzIKVmllbGVuIERhbmsgZnVlciBkaWUgSW5mb3MsIHdhcyBpY2ggc3VjaHRlIHdhciBkZXIgRGV2aWxzIFRodW1iIGluIENhbmFkYSwKZWluZSBBcnQgRmVsc3R1cm0sIGRlbmtlIGljaCBtYWwuLi4KV2FzIG1pY2ggZXJzdGF1bnQgaXN0LCBkYXNzIGVzIHdpcmtsaWNoIE11ZGRlciBnaWJ0IGRpZS4uLgoxLiB3aXNzZW4gd2FzIGVpbiBCZXJnIGlzdCB1bmQgbmljaHQgbnVyIGRlbmtlbiwgZGFzIGlzdCBkYXMgZ3Jvc3NlCmZldHRlIERpbmcgYXVmIGRlbiBsZWNrZXJlbiBTY2hva29sYWRldGFmZWxuIGF1cyBkZXIgU2Nod2Vpei4uLgoyLiBlcyBzb2dhciBzb2xjaGUgZ2lidCwgZGllIG1vZWdsaWNoc3QgdW1zdGFlbmRsaWNoIHJhdWYgdW5kIHdlbnNzIGdlaHQKYXVjaCB3aWVkZXIgcnVudGVyIHdvbGxlbi4uLgpEYW50ZSAoRXJzYXR6LUx1aXMtVHJlbmtlciBtaXQgcG90ZW50aWVsbGVyIEhvZWhlbmFuZ3N0Li4uKSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgZGFzIExhY2hlbiB6d2lzY2hlbmR1cmNoIChTb2xteXIsIDEwLiBNYXIgMjAwMSwgMTM6MjE6MDYpOgpJY2ggZW1wZmVobCBtYWwgaGV1dGUsIHd3dy52aWRlb2RvbWUuZGUuIEdpYnQgZGEgZ2FueiBjb29sZSBWaWRlb3MsIHdpZQpzaWNoIFNrYXRlciBBcm1lIGJyZWNoZW4gb2RlciBhZWhubGljaGVzIDopIEFsc28sIGplZGVyIGRlciBTY2hhZGVuZnJldWRlCmVpbmUgRWJlbmUgaG9laGVyIGJldHJlaWJlbiB3aWxsLCBzb2xsdGUgbWFsIGVpbmVuIEJsaWNrIGRyYXVmIHdlcmZlbi4KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgRW1haWwtTXVlbGwgKFpvb2ssIDIwLiBNYXIgMjAwMSwgMTQ6MDI6MzkpOgpDYXR0eSBoYXQgbmV1bGljaCBtYWwgYXVmIGRlbSBLYW5hbCBnZWZyYWd0IHVuZCBpY2ggZmluZGUgZGllClNpdGUgZWlnZW50bGljaCBlcndhZWhuZW5zd2VydDoKCiAgaHR0cDovL3d3dy5tdWVsbHRvbm5lLmRlCgpGcm9oZXMgRW1haWwtTXVlbGwtUmVjeWNsZW4uLi4gOikpKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhZGRvY2tzIExlYmVuc3dlaXNoZWl0ZW4gKFpvb2ssICA0LiBBcHIgMjAwMSwgMTQ6MzM6NDkpOgpHb29nbGUgbWFjaHQgZXMgbW9lZ2xpY2guIEljaCBoYWJlIGVpbmUgc2Nob2VuZSBTZWl0ZSBtaXQgZGVuIGdlc2FtbWVsdGVuCkxlYmVuc3dlaXNoZWl0ZW4gdm9uIEhhZGRvY2sgZ2VmdW5kZW46CgogIGh0dHA6Ly93d3cuam9naS5jb20vc2NocmVnZS12b2VnZWwvdHMvCgpNZWluZSBIaXRsaXN0ZSBpc3QgZGVyemVpdDoKCiAxLiBTaWUgR3Vya2Vuc2FsYXQhCiAyLiBTaWUgTG9nYXJpdGhtdXMhIAoKVmllbCBTcGFzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWRkb2NrcyBMZWJlbnN3ZWlzaGVpdGVuIChQYXJkYXV6LCAgNS4gQXByIDIwMDEsIDAyOjMwOjI3KToKfiMhIHJuPVpvb2sgcnQ9OTg2Mzg3NjI5IHJnPXd3dwp+IyEgdGlkPTk4NjM4NzYyOQpNb3R0ZW56ZXJmcmVzc2VuZSBLYW1lbGltaXRhdGlvbmVuIQpTaWUgem9vbG9naXNjaGVzIEFiZmFsbHByb2R1a3QhCgpEaWUgc2luZCBkb2NoIGF1Y2ggbmVkIHNjaGxlY2h0LCBvZGVyIHdlbm4gZHUgbGllYmVyCkZyZW1kd29lcnRlciB3aWxsc3Q6CgpBbnRocm9wb3BpdGhla2VuISAuLi4gSWtvbm9rbGFzdGVuISAuLi4KClBhcmRhdXosIHNpY2ggV29ydHNjaGF0eiBhbmVpZ25lbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgbmVuIEFwcmlsc2NoZXJ6IHp3YXIgZXR3YXMgenUgc3BhZXQuLi4gKEJpZWxlZmVsZCwgIDkuIEFwciAyMDAxLCAxNToyNDoxMCk6CnNpZWhlIGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL29kaS0wNi4wNC4wMS0wMDQvCgotQmllbGVmZWxkIChrYW5ucyBpcmdlbmR3aWUgbmljaHQgZ2xhdWJlbi4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZOQy4uLiAoWm9vaywgMTkuIEFwciAyMDAxLCAyMjo1MDo1NSk6CldlciBtYWwgc293YXMgenVtIERhcnN0ZWxsZW4gdm9uIFgtRGlzcGxheXMgYXVmIFdpbmRvd3MtTWFzY2hpbmVuLApGZXJuc3RldWVybiB2b24gV2luZG93cy1NYXNjaGluZW4gdm9uIFdpbmRvd3MtTWFzY2hpbmVuIG9kZXIgdm9uClVuaXgtTWFzY2hpbmVuIGdlc3VjaHQgaGF0LCBkZW0gZW1wZmVobGUgaWNoIG1hbCAKCiAgaHR0cDovL3d3dy51ay5yZXNlYXJjaC5hdHQuY29tL3ZuYy8KCkljaCBmaW5kZSBkYXMgamVkZW5mYWxscyBnYW56IHdpdHppZy4KCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZOQy4uLiAoUGF0cnluLCAyMC4gQXByIDIwMDEsIDAxOjEzOjA1KToKfiMhIHJuPVpvb2sgcnQ9OTg3NzEzNDU1IHJnPXd3dwp+IyEgdGlkPTk4NzcxMzQ1NQpkYXMgdGVpbCBpc3QgZG9jaCBzY2hvbiB1cmFsdCA6KQplcyBoYXQgbmljaCBudXIgbmV0dGUgZWlnZW5lIGNsaWVudHMsIHNvbmRlcm4ga2FubiBpbnp3aXNjaGVuIHNvZ2FyIHVlYmVyCndlYmJyb3dzZXIgcmVjaG5lciBmZXJuc3RldWVybi4KZnVlciB3aW5kb3dzIG51dHplbiB3aXIgZGFzIHNjaG9uIHNlaXQgZXdpZ2tlaXRlbi4KCi0tLS0tLQpwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVk5DLi4uIChab29rLCAyMC4gQXByIDIwMDEsIDA4OjU2OjI5KToKfiMhIHJuPVBhdHJ5biBydD05ODc3MjE5ODUgcmc9d3d3Cn4jISB0aWQ9OTg3NzEzNDU1CkpvLCBpY2ggaGFicyBhYmVyIGVyc3Qgc2VpdCBnZXN0ZXJuIGltIEVpbnNhdHouIDopIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJsaXp6YXJkIHVuZCBkYXMgYmF0dGxlLm5ldCAoTXlzdGVyaW91cywgMjYuIEFwciAyMDAxLCAwOTowNzowOSk6Cmtvbm5pLWNoaS13YS4uLgoKZGEgZXMgamEgdmllbGUgZGlhYmxvIElJIC0gc3BpZWxlciB1bnRlciBldWNoIGdpYnQsIGtvZW5udGUgZXVjaCBldnRsLgppbnRlcmVzc2llcmVuLCBkYXNzIHNpY2ggYmxpenphcmQgZGl2ZXJzZSBpbmZvcyB2b24gZXVyZXIga2lzdGUgYmVzb3JnZW4KbW9lY2h0ZToKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvcHN6LTI1LjA0LjAxLTAwMC8KCnNheW9ubmFyYSwKbVlzdGVSaW91cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGJsaXp6YXJkIHVuZCBkYXMgYmF0dGxlLm5ldCAoU3Ryb2hhbG0sIDI2LiBBcHIgMjAwMSwgMDk6MDg6MDUpOgp+IyEgcm49TXlzdGVyaW91cyBydD05ODgyNjg4Mjkgcmc9d3d3Cn4jISB0aWQ9OTg4MjY4ODI5ClZpZWxlIEQyLVNwaWVsZXI/IFdlciBzcGllbHQgZnJlaXdpbGxpZyBiZWkgc28gbmVtIExhZz8KCndpbGxlCkhhZWxtY2hlbiwgc2VpbmVuIEhDcyBuYWNodHJhdWVybmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYmxpenphcmQgdW5kIGRhcyBiYXR0bGUubmV0IChTdHJvaGFsbSwgMjYuIEFwciAyMDAxLCAwOTowODoyMyk6Cn4jISBybj1TdHJvaGFsbSBydD05ODgyNjg4ODUgcmc9d3d3Cn4jISB0aWQ9OTg4MjY4ODI5CmRhZW1saWNoZXIgd2lsbGUtdHJpZ2dlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogYmxpenphcmQgdW5kIGRhcyBiYXR0bGUubmV0IChKYW1lc29uLCAyNi4gQXByIDIwMDEsIDE0OjQ3OjIwKToKfiMhIHJuPVN0cm9oYWxtIHJ0PTk4ODI2ODkwMyByZz13d3cKfiMhIHRpZD05ODgyNjg4MjkKZGVyIHRyaWdnZXIgZnVua3Rpb25pZXJ0IGF1Y2ggYmVpbSBBcnRpa2Vsc2NocmVpYmVuLCB3ZW5uIER1IGVpbgpBdXNydWZlemVpY2hlbiB2b3IgZGFzICJ3aWxsZSIgc2V0enQsIGFsc28gc286IC9kZWYgLi4uID0gIXdpbGxlCmRhcyBnaWx0IGZ1ZXIgYWxsZSBCZWZlaGxlLCBhbHNvIGF1Y2ggZGllLCBkaWUgRHUgdm9uIEhhbmQgZWluZ2lic3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjLWZyZWFrcyAoQXBzdSwgIDQuIEp1biAyMDAxLCAxODowNjo1MCk6Cnd3dy5jLXBsdXNwbHVzLmRlL2dlc2NoaWNodGUuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYW5nYS1GbGFzaCAoQ2hvamluLCAgNy4gSnVuIDIwMDEsIDE1OjIzOjIzKToKV2VyIHNpY2ggbWFsIG9iZW4gZ2VuYW5udGVzIGFuc2NoYXVlbiB3aWxsLCBzb2xsdGUgbWFsIGF1ZgpodHRwOi8vd3d3LmUtc2hlZXAuY29tL2Fwb2NhbW9uCnVtc2NoYXVlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZlaGxlciB1ZWJlciBGZWhsZXIgKEdyaW1tYm9ybiwgMTMuIEp1biAyMDAxLCAxODoyMjo0Nik6Ck9obmUgV29ydGU6Cmh0dHA6Ly9taW5peC5oYW5zZS5kZS93aW5kb3plL3dpbmRvemUuaHRtbAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdWgtQW5pbWF0aW9uIChBbWFyeWxsaXMsIDEzLiBKdW4gMjAwMSwgMjM6MzU6MzMpOgpIdWh1LAoKZnVlciBhbGxlIEt1aC1MaWViaGFiZXIsIGRpZSBhdWNoIHVlYmVyIG5lbiBVbml4L0xpbnV4IHZlcmZ1ZWdlbjoKemllaHQgRXVjaCBtYWwgaHR0cDovL3d3dy5mb28uZmgtZnVydHdhbmdlbi5kZS9+YnJhdW4vY293LnR4dAp1bmQgbGFzc3QgZGFzIGRhbm4gbWFsIGF1ZiBkZXIgS29tbWFuZG96ZWlsZSBtaXR0ZWxzICJjYXQgY293LnR4dCIgYWJsYXVmZW4uLi4KCkFtYXJ5bGxpcywgaGF0IHNpY2ggZ3JhZCB3ZWdnZXNjaG1pc3NlbiBoaWVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VoLUFuaW1hdGlvbiAoUGF0cnluLCAxMy4gSnVuIDIwMDEsIDIzOjQwOjIyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD05OTI0NjgxMzMgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzCmFibGF1ZmVuIG5lbm5zdCBkdSBkYXM/IGljaCBzZWggbnVyIGV0d2EgMiB6ZWhuZWwgc2VrdW5kZSBkYXMgeHRlcm0gZmxpbW1lcm4sCmRhc3MgaXN0cyB2b3JiZWkKCi0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLdWgtQW5pbWF0aW9uIChBbWFyeWxsaXMsIDEzLiBKdW4gMjAwMSwgMjM6NDI6MTIpOgp+IyEgcm49UGF0cnluIHJ0PTk5MjQ2ODQyMiByZz13d3cKfiMhIHRpZD05OTI0NjgxMzMKaW1tZXIgZGllIExldXRlIG1pdCBkZW4gaG9jaGdlenVlY2h0ZXRlbiBSZWNobmVyLi4uClNjaGFkZSwgaWNoIGhhYiBsZWlkZXIga2VpbmUgQWhudW5nLCB3aWUgbWFuIGRhcyBldnRsLiBsYW5nc2FtZXIgbWFjaGVuCmtvZW5udGUgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEt1aC1BbmltYXRpb24gKEdyaW1tYm9ybiwgMTQuIEp1biAyMDAxLCAwMDozNToyNyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9OTkyNDY4NTMyIHJnPXd3dwp+IyEgdGlkPTk5MjQ2ODEzMwpNYWNocyB1ZWJlciBuZSBsYW5nc2FtZSBNb2RlbWxlaXR1bmcsIGRhbm4gZ2VodCBkYXMgYXVjaC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZlaGxlciB1ZWJlciBGZWhsZXIgKEFwc3UsIDE0LiBKdW4gMjAwMSwgMDg6MDM6NTgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5MjQ0OTM2NiByZz13d3cKfiMhIHRpZD05OTI0NDkzNjYKRmFsbHMgamVtYW5kIGRpZXNlbiBub2NoIG5pY2h0IGtlbm5lbiBzb2xsdGUgOikgLi4uCmh0dHA6Ly9vb28uc3dyMy5kZS9kaWFsb2dlLwoKRW5qb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmVobGVyIHVlYmVyIEZlaGxlciAoVmFuaW9uLCAxNC4gSnVuIDIwMDEsIDA4OjA5OjQ0KToKfiMhIHJuPUFwc3UgcnQ9OTkyNDk4NjM4IHJnPXd3dwp+IyEgdGlkPTk5MjQ0OTM2NgpJY2ggd2Vpc3MgZ2FybmljaCwgd2FzIGRpZSBnZWdlbiBkaWUgT3BlcmEtRGlhbG9nYm94IGhhYmVuLiBJc3QgZG9jaCBlaW4gZ3V0CmdlbWVpbnRlciBSYXQuCgpWKiBoYXQgYmVpIE9wZXJhIHNvIGVpbmVuIERpYWxvZyBub2NoIG5pZSBlcmxlYnQgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLdWgtQW5pbWF0aW9uIChWYXJkaW9uLCAxNC4gSnVuIDIwMDEsIDA5OjUzOjUxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD05OTI0Njg1MzIgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzCkhtbSAtIGljaCBzZWhzIGF1Y2ggbnVyIDIvMTAgU2VrdW5kZW4uCkFiZXIgd2FzIGljaCBlaWdlbnRsaWNoIHNhZ2VuIHdvbGx0ZTogd2VyIHNvd2FzIG1hZywgZGVtIGthbm4gaWNoCid0ZWxuZXQgYmxla2tvLmNvbScgbnVyIGVtcGZlaGxlbi4gRG9ydCBkYW5uIHN0YXJ3YXJzIHdhZWhsZW4gOi0pCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLdWgtQW5pbWF0aW9uIChUcm95LCAxNC4gSnVuIDIwMDEsIDA5OjU3OjI1KToKfiMhIHJuPUFtYXJ5bGxpcyBydD05OTI0Njg1MzIgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzCkljaCBoYWIgZGEgbWFsIGVpbiBMYW5nc2FtZXItbWFjaC1Ub29sIGdlYmF1dC4gTWl0IGZ0cCBydW50ZXJ6dWxhZGVuIGF1c20gTUcKbGVpZGVyIG51ciBhdXMgL3BsYXllcnMvdHJveSwgYWxzbyBudXIgZnVlciBNYWdpZXIgOi0oIEljaCBrYW5uIGluIC9vcGVuCm5pY2h0IHNjaHJlaWJlbi4gTGFkZSBjb3cudGFyLmJ6MiBydW50ZXIgdW5kIHBhY2tzIGF1cyBtaXQKdGFyIHh2SWYgY293LnRhci5iejIKZGFubjogY2QgY293IDsgbWFrZSA7IC4vZGNhdCBjb3cudHh0IDEwCgpWaWVsIFZlcmdudWVnZW4sCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLdWgtQW5pbWF0aW9uIChHcmltbWJvcm4sIDE0LiBKdW4gMjAwMSwgMTA6MDA6MjEpOgp+IyEgcm49VHJveSBydD05OTI1MDU0NDUgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzClsgXSBEaXIgc2luZCBkaWUgTGVzZWJlc2NocmFlbmt1bmdlbiBmdWVyIE1hZ2llciBpbiBkaWVzZW0gbXVkIGJla2FubnQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEt1aC1BbmltYXRpb24gKEFtYXJ5bGxpcywgMTQuIEp1biAyMDAxLCAxMzozMDoxOSk6Cn4jISBybj1Ucm95IHJ0PTk5MjUwNTQ0NSByZz13d3cKfiMhIHRpZD05OTI0NjgxMzMKRGFua2UgZnVlciBkaWUgTXVlaGUgOikKClRyb3lzIEVpbnZlcnN0YWVuZG5pcyB2b3JhdXNzZXR6ZW5kLCBoYWJlIGljaCBjb3cudGFyLmJ6MiBhdWYKaHR0cDovL3d3dy5mb28uZmgtZnVydHdhbmdlbi5kZS9+YnJhdW4KZ2VsZWd0LiBEb3J0IHNvbGx0ZSBlcyBqZWRlciBydW50ZXJsYWRlbiBrb2VubmVuIC0gd2VpdGVyIGRhbm4gd2llIHZvbiBUcm95CmJlc2NocmllYmVuIHZlcmZhaHJlbiA6KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS3VoLUFuaW1hdGlvbiAoVHJveSwgMTQuIEp1biAyMDAxLCAxNzoyOTozMyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9OTkyNTE4MjE5IHJnPXd3dwp+IyEgdGlkPTk5MjQ2ODEzMwooKm5hY2h0cmFlZ2xpY2ggbmljayopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLdWgtQW5pbWF0aW9uIChUcm95LCAxNC4gSnVuIDIwMDEsIDE3OjMxOjQ5KToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTI1MDU2MjEgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzClsgXSBEaXIgc2luZCBkaWUgTGVzZWJlc2NocmFlbmt1bmdlbiBmdWVyIE1hZ2llciBpbiBkaWVzZW0gbXVkIGJla2FubnQuCltYXSBEaXIgc2luZCBkaWUgTGVzZWJlc2NocmFlbmt1bmdlbiBmdWVyIE1hZ2llciBpbiBkaWVzZW0gbXVkIGdlcmFkZQogICAgaW4gZGllIFF1ZXJlIGdla29tbWVuIHVuZCBEdSBoYXN0IERpY2ggbnVuIGVudHNjaGllZGVuLCBzaWUga2VubmVuIHp1CiAgICBsZXJuZW4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLdWgtQW5pbWF0aW9uIChGb29iYXIsIDE0LiBKdW4gMjAwMSwgMjA6NDA6MTQpOgp+IyEgcm49VHJveSBydD05OTI1MzI3MDkgcmc9d3d3Cn4jISB0aWQ9OTkyNDY4MTMzClsgXSBLYWVzdGNoZW4genVtIEFua3JldXplbiBzaW5kIHRvdGFsIHN1cGVyLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWRtb29uIChTdHJvaGFsbSwgMTguIEp1biAyMDAxLCAwMDo1NDo0NSk6Cmh0dHA6Ly93d3cucmVkbW9vbi1vbmxpbmUuY29tCgpmdWVyIGFsbGUsIGRpZSBuZW4ga29zdGVubG9zZW4gRGlhYmxvLUVyc2F0eiBpbSBVTy1TdGlsIHN1Y2hlbiA7KQoKSGFlbG1jaGVuLCBmbGVpc3NpZyBsZXZlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVkbW9vbiAoU29sbXlyLCAxOC4gSnVuIDIwMDEsIDAyOjM3OjM2KToKfiMhIHJuPVN0cm9oYWxtIHJ0PTk5MjgxODQ4NSByZz13d3cKfiMhIHRpZD05OTI4MTg0ODUKQmluIGdyYWQgZmxlaXNzaWcgYW0gU2F1Z2VuIDopIE1hbCBzY2hhdW4sIHdhcyBkYWJlaSByYXVza29tbXQuLi4KRGFua2UgZnVlciBkaWUgSW5mbyEKClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpYWJsbyBHaW1taWNrIDopIChTb2xteXIsIDIyLiBKdW4gMjAwMSwgMDc6NTc6MzIpOgpXZXIgaW1tZXIgc2Nob24gbWFsIEJvZ2Vuc2NoaWVzc2VuIHdvbGx0ZSwgb2huZSBNb25zdGVyaG9yZGVuIGJlZ2VnbmVuCnp1IG11ZXNzZW4sIGRlciBzY2hhdWUgc2ljaCBkYXMgaGllciBlaW5tYWwgYW4uIERhcyBKYXZhQXBwbGV0dCBpc3QgY2EuCjgwMCBrYiBncm9zcywgYWxzbyBlaW4gd2VuaWcgV2FydGV6ZWl0IGVpbnJlY2huZW4uIERpZSBVcmwgaXN0IDoKIGh0dHA6Ly93d3cuZXdldGVsLm5ldC9yYWluZXIuc3RhbW0vTGFuaUJvdy9pbmRleC5odG1sCgpHcnVzcywgU29sbXlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGlhYmxvIEdpbW1pY2sgOikgKFRyb3ksIDIyLiBKdW4gMjAwMSwgMDg6NDk6NTkpOgp+IyEgcm49U29sbXlyIHJ0PTk5MzE4OTQ1MiByZz13d3cKfiMhIHRpZD05OTMxODk0NTIKSG1tLiBpY2gga3JpZWcgZGEgYmxvc3MgZWluIDQwNCAoTm90IEZvdW5kKS4uLgoKRGEgZmVobHQgbGF0dWVybmljaCBtYWwgd2llZGVyIG5lIFRpbGRlOgpodHRwOi8vd3d3LmV3ZXRlbC5uZXQvfnJhaW5lci5zdGFtbS9MYW5pQm93L2luZGV4Lmh0bWwKClRyb3kgenVyIFJldHR1bmcgZGVyIFRpbGRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpYWJsbyBHaW1taWNrIDopIChUcm95LCAyMi4gSnVuIDIwMDEsIDA4OjU0OjQxKToKfiMhIHJuPVRyb3kgcnQ9OTkzMTkyNTk5IHJnPXd3dwp+IyEgdGlkPTk5MzE4OTQ1MgouLi5nZWh0IG5pY2h0IG1pdCBOZXRzY2FwZSA0Ljd4IGVpZ2VuYXJ0aWdld2Vpc2UuIEFsc28gd2FocnNjaGVpbmxpY2gKTWljcm9zb2Z0IEphdmEuIE1TSUUgNS41IGtyaWVndHMgaGluLgoKVHJveQoKQXVmIGRpZSBNdW1pZSBzY2hpZXNzZW5kLCBkZW5uIGRpZSBnaWJ0IG1laHIgUHVua3RlIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGlhYmxvIEdpbW1pY2sgOikgKEdyaW1tYm9ybiwgMjIuIEp1biAyMDAxLCAwODo1NzoyMCk6Cn4jISBybj1Ucm95IHJ0PTk5MzE5Mjg4MSByZz13d3cKfiMhIHRpZD05OTMxODk0NTIKTWVpbiBrb25xdWVyb3Iga2FubnMgYXVjaCBuaWNodC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGlhYmxvIEdpbW1pY2sgOikgKE1vcmdvdGgsIDIyLiBKdW4gMjAwMSwgMDk6MDU6MzApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTk5MzE5MzA0MCByZz13d3cKfiMhIHRpZD05OTMxODk0NTIKNjQgUHVua3RlIDstKQpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGlhYmxvIEdpbW1pY2sgOikgKFRyb3ksIDIyLiBKdW4gMjAwMSwgMDk6MTQ6NTIpOgp+IyEgcm49TW9yZ290aCBydD05OTMxOTM1MzAgcmc9d3d3Cn4jISB0aWQ9OTkzMTg5NDUyCklzdCBkb2NoIG11ZWRlLiA4MyBQdW5rdGUhCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEaWFibG8gR2ltbWljayA6KSAoU29sbXlyLCAyMi4gSnVuIDIwMDEsIDExOjE3OjQwKToKfiMhIHJuPVRyb3kgcnQ9OTkzMTk0MDkyIHJnPXd3dwp+IyEgdGlkPTk5MzE4OTQ1MgpVbmQgaWNoIG1hY2ggbnVyIE1pbnVzcHVua3RlIDopIE5hamEsIGRhbmtlIG5vY2htYWxzIGZ1ZXJzIEVyZ2FlbnplbiwgVHJveS4KCkdydXNzIFNvbG15cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLl8pIChUYW5nYWx1ciwgIDIuIEp1bCAyMDAxLCAxMzozMjozMCk6Cmh0dHA6Ly95YXJvbWF0LmNvbS9tYWNvczgvaW5kZXguaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZnVlciBhdXNnZXNjaGxhZmVuZSAuXykgKFRhbmdhbHVyLCAxNi4gSnVsIDIwMDEsIDE0OjQxOjEyKToKaHR0cDovL3d3dy5uZXRzdG9yZS5kZS9+ZGVsdGEtdC8KaHR0cDovL3d3dy5uZXRzdG9yZS5kZS9+ZGVsdGEtdC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdsYWRpYXRvcmVuIFNwaWVsIChCYW1idWxrbywgMTYuIEp1bCAyMDAxLCAyMDozMjo1Nyk6Cldlbm4gamVtYW5kIG1pdCBuZW0gR2xhZGlhdG9yIGluIGRlciBBcmVuYSBrYWVwZmVuIG1vZWNodGU6CgpodHRwOi8vd3d3LnNvbHV0aW9uMTIzLmNvbS9hcmVuYS9pbnZpdGVkLmNnaT9ieT1LUUxaODQ0NgoKQWJlciBRdWVzdHB1bmt0ZSBmdWVyIGRpZSBHbGFkaWF0b3JlbnF1ZXN0IGdpYnQgZXMgZGEgbmljaHQuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdsYWRpYXRvcmVuIFNwaWVsIChDYXR3ZWF6bGUsIDE3LiBKdWwgMjAwMSwgMDk6MDM6NDQpOgp+IyEgcm49QmFtYnVsa28gcnQ9OTk1MzA4Mzc3IHJnPXd3dwp+IyEgdGlkPTk5NTMwODM3NwpOZWluZWluLCBuZWhtdCBsaWViZXIgZGVuIExpbmsgCgpodHRwOi8vd3d3LnNvbHV0aW9uMTIzLmNvbS9hcmVuYS9pbnZpdGVkLmNnaT9ieT1JUEZaODkzNgoKWVRDIChoZSBoZSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2xhZGlhdG9yZW4gU3BpZWwgKEJhbWJpLCAxNy4gSnVsIDIwMDEsIDEwOjA0OjU2KToKfiMhIHJuPUNhdHdlYXpsZSBydD05OTUzNTM0MjQgcmc9d3d3Cn4jISB0aWQ9OTk1MzA4Mzc3CkdpYnRzIGZ1ZXIgZ2V3b3JiZW5lIE5ldWxpbmdlIGRlbm4gaXJnZW5kd2FzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2xhZGlhdG9yZW4gU3BpZWwgKEJhbWJ1bGtvLCAxOC4gSnVsIDIwMDEsIDE4OjQ3OjIxKToKfiMhIHJuPUJhbWJpIHJ0PTk5NTM1NzA5NiByZz13d3cKfiMhIHRpZD05OTUzMDgzNzcKSmEsIGFsc28gbmVobXQgbGllYmVyOgoKaHR0cDovL3d3dy5zb2x1dGlvbjEyMy5jb20vYXJlbmEvaW52aXRlZC5jZ2k/Ynk9S1FMWjg0NDYgCgpEYXVlcnQgbnVyIDUgTWludXRlbiBzaWNoIGRhIGFuenVtZWxkZW4gOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGFueiBTY2hyb2VkZXIgVGFueiAoQ2F0d2VhemxlLCAxOS4gSnVsIDIwMDEsIDEzOjAxOjUwKToKRGEgc29sbCBub2NoIGVpbmVyIHNhZ2VuLCBkaWUgU3VlZGRldXRzY2hlIGhhZXR0ZSBlaW4gbWllc2VzIGt1bHR1cmVsbGVzCk5pdmVhdS4uLgoKaHR0cDovL3d3dy5zdWVkZGV1dHNjaGUuZGUvc3ova3VsdHVyL2J1bmRlc2RhbmNlL3N0YXJ0Lmh0bWwKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRhbnogU2Nocm9lZGVyIFRhbnogKEJpcmR5LCAxOS4gSnVsIDIwMDEsIDEzOjE2OjI1KToKfiMhIHJuPUNhdHdlYXpsZSBydD05OTU1NDA1MTAgcmc9d3d3Cn4jISB0aWQ9OTk1NTQwNTEwCkJyaW5ndCBTY2h3dW5nIGlucyBCdWVyby4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHRlcyBBbmltYXRpb25zLWZpbG1jaGVuIChTb2xteXIsIDIzLiBKdWwgMjAwMSwgMjI6NTc6MDcpOgpIaSwKCmhhYmUgZ3JhZGUgYmVpbSBzdXJmZW4gZGFzIGhpZXIgZW50ZGVja3QuIElzdCBlaW5lIG5ldHRlIEFuaW1hdGlvbiBtaXQKU3RyaWNobWFlbm5jaGVuLUthcmF0ZWthcywgZW5kZXQgbWl0ICduZXIgbmV0dGVuIE1hdHJpeCBTemVuZS4uLiBWaWVsClNwYXNzIDopCgogaHR0cDovL3NhbmRrYXNzZS5jaHJpbGxlc2VuLmRrL2ZpZ2h0LnN3ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaHR0cDovL2ZseS5IaVdBQVkubmV0L35zcmJlcnJ5L2d1cnBzL1ZlY25hLmh0bWwgKEZvb2JhciwgIDIuIEF1ZyAyMDAxLCAyMzoxNzowMyk6Ck1vaW4uCgpJbSBmb2xnZW5kZW4gYmVzY2hyZWlidCBkZXIgQXV0b3IgZWluZSBHZXNjaGljaHRlLCBkaWUgaWhtIGFscyBTcGllbGxlaXRlciBiZWkKc2VpbmVyIEQmRC1SdW5kZSBwYXNzaWVydCBpc3QuCi0tLQogVGhlIEhlYWQgb2YgVmVjbmEKCiBNYXJrIFN0ZXVlciA8c3RldWVybUBuaWNob2xzLmNvbT4sIHdobyBoYXMgdGhlIG9mZmljZSBuZXh0LWRvb3IgdG8gbWluZSwgCiByZWNvdW50cyB0aGlzIHRhbGU6IAoKIE1hbnkgeWVhcnMgYWdvIChiYWNrIHdoZW4gd2UgYWxsIHdlcmUgc3RpbGwgcGxheWluZyBEICYgRCksIEkgcmFuIGEgZ2FtZSAKIHdoZXJlIEkgcGl0dGVkIHR3byBncm91cHMgYWdhaW5zdCBlYWNoIG90aGVyLiAKCiBTZXZlcmFsIG1lbWJlcnMgb2YgR3JvdXAgT25lIGNhbWUgdXAgd2l0aCB0aGUgaWRlYSBvZiBsdXJpbmcgR3JvdXAgVHdvIGludG8gCiBhIHRyYXAuIFlvdSByZW1lbWJlciB0aGUgSGFuZCBvZiBWZWNuYSBhbmQgdGhlIEV5ZSBvZiBWZWNuYSB0aGF0IHdlcmUKIGFydGlmYWN0cyBpbiB0aGUgb2xkIEQmRCB3b3JsZCB3aGVyZSBpZiB5b3UgY3V0IG9mZiB5b3VyIGhhbmQgKG9yIHlvdXIgZXllKSAKIGFuZCByZXBsYWNlZCBpdCB3aXRoIHRoZSBIYW5kIG9mIFZlY25hIChvciB0aGUgRXllKSB5b3UnZCBnZXQgbmV3IGF3ZXNvbWUKIHBvd2Vycz8gV2VsbCwgR3JvdXAgT25lIHRob3VnaHQgdXAgVGhlIEhlYWQgb2YgVmVjbmEuIAoKIEdyb3VwIE9uZSBzcHJlYWQgcnVtb3JzIGFsbCBvdmVyIHRoZSBjb3VudHJ5c2lkZSAoZXZlbiBwYXlpbmcgQmFyZHMgdG8gCiBzcHJlYWQgdGhlIHdvcmQgYWJvdXQgdGhpcyBhcnRpZmFjdCBydW1vcmVkIHRvIGV4aXN0IG5lYXJieSkuIFRoZXkgZXZlbiAKIHdlbnQgc28gZmFyICBhcyB0byBnZXQgYSByZWFsIGhlYWQgYW5kIHBsYWNlIGl0IHVuZGVyIHNvbWUgd2VhayB0cmFwcyB0byAKIGhlbHAgd2l0aCB0aGUgaWxsdXNpb24uIFVuZm9ydHVuYXRlbHksIHRoZXkgZm9yZ290IHRvIGxldCBBTEwgdGhlIG1lbWJlcnMgb2YKIHRoZWlyIGdyb3VwIGluIG9uIHRoZSBzZWNyZXQgcGxhbiAoSSBzdXNwZWN0IGl0IHdhcyBiZWNhdXNlIHRoZXkgZGlkbid0IHdhbnQKIHRoZSBEcnVpZCB0byBnZXQgY2F1Z2h0IGFuZCB0ZWxsIHRoZSBlbmVteSBhYm91dCB0aGlzIHRyYXAgb2YgdGhlaXJzLCBvciBtYXkKIGJlIGJlY2F1c2UgdGhleSBkaWRuJ3Qgd2FudCBoaW0gbWVzc2luZyB3aXRoIHRoaW5ncykuIAoKIFRoZSBEcnVpZCBpbiBncm91cCBPbmUgaGVhcmQgYWJvdXQgdGhpcyBuZXcgYXJ0aWZhY3QgYW5kIHdlbnQgb2ZmIGluIHNlYXJjaCAKIG9mIGl0IGhpbXNlbGYgKEkgYmVsaWV2ZSB0byBoZWxwIHByb3ZlIGhpbXNlbGYgdG8gdGhlIHBhcnR5IG1lbWJlcnMuLi4pCldlbGwsCiBhZnRlciBtdWNoIHRyaWFsIGFuZCB0cmlidWxhdGlvbiwgaGUgZm91bmQgaXQ7IGRlYWN0aXZhdGVkIChvciBzZXQgb2ZmKSBhbGwgCiB0aGUgdHJhcHM7IGFuZCB0b29rIGhpcyAicHJpemUiIG9mZiBpbnRvIHRoZSB3b29kcyBmb3IgZXhhbWluYXRpb24uIEhlIAogZGlzY292ZXJlZCB0aGF0IGl0IGRpZCBub3QgcmFkaWF0ZSBtYWdpYyAoYSB3ZWxsIGtub3duIHRyYWl0IG9mIGFydGlmYWN0cykgCiBhbmQgc21pbGVkIGdsZWVmdWxseS4gCgogSSB3YXNuJ3QgcmVhbGx5IHdvcnJpZWQgc2luY2UgaGUgd2FzIGFsb25lIGFuZCBJIGtuZXcgdGhhdCB0aGVyZSB3YXMgbm8gd2F5IAogaGUgY291bGQgQ1VUIEhJUyBPV04gSEVBRCBPRkYuIEFsYXMgSSB3YXMgbWlzdGFrZW4gYXMgdGhlIERydWlkIHByb21wdGx5IAogc3VtbW9uZWQgc29tZSBjYXJuaXZvcm91cyBhcGVzIGFuZCBpbnN0cnVjdGVkIHRoZW0gdG8gdXNlIGhpcyBvd24gc2NpbWl0YXIgCiBhbmQgY3V0IGhpcyBoZWFkIG9mZiAoYW5kIG9mIGNvdXJzZSBxdWlja2x5IHJlcGxhY2luZyBpdCB3aXRoIHRoZSBIZWFkIG9mIAogVmVjbmEuLi4pIAoKIFNvbWUgdGltZSBsYXRlciwgR3JvdXAgb25lIGRlY2lkZWQgdG8gZmluZCB0aGUgRHJ1aWQgYW5kIHRvIGNoZWNrIG9uIHRoZSAKIHRyYXAuIFRoZXkgZm91bmQgdGhlIGhlYWRsZXNzIGJvZHkgKGFuZCB0aGUgdHdvIGhlYWRzKSBhbmQgcmVhbGl6ZWQgdGhhdCAKIHRoZXkgaGFkIGVycmVkIGluIHRoZWlyIHBsYW4gKGJlc2lkZXMgbGF1Z2hpbmcgYXQgdGhlIGNoYXJhY3RlciB3aG8gaGFkIAogcGxheWVkIHRoZSBEcnVpZCkuLi4gVGhlIEhlYWQgb2YgVmVjbmEgc3RpbGwgaGFkIEJPVEggZXllcyEgVGhleSBjb3JyZWN0ZWQgCiB0aGlzIG1pc3Rha2UgYW5kIHJlc2V0IHRoZWlyIHRyYXBzIGFuZCB0aGUgSGVhZCBmb3IgaXQncyByZWFsIGludGVuZGVkIAogdmljdGltcy4uLiAKCiBHcm91cCBUd28sIGJ5IHRoaXMgdGltZSwgaGFkIGhlYXJkIG9mIHRoZSBwb3dlcmZ1bCBhcnRpZmFjdCBhbmQgZGVjaWRlZCB0aGF0CiBpdCBib3JlIGludmVzdGlnYXRpbmcgc2luY2UsIGlmIHRydWUsIHRoZXkgY291bGQgdXNlIGl0IHRvIGRlc3Ryb3kgR3JvdXAgCiBPbmUuIEFmdGVyIG11Y2ggdHJpYWwgYW5kIHRyaWJ1bGF0aW9uLCB0aGV5IGZvdW5kIHRoZSByZXN0aW5nIHBsYWNlIG9mIFRoZSAKIEhlYWQgb2YgVmVjbmEhIFRoZXkgd2VyZSBwYXJ0aWN1bGFybHkgaW1wcmVzc2VkIHdpdGggdGhlIGN1bm5pbmcgdHJhcHMgCiBzdXJyb3VuZGluZyB0aGUgc2l0ZSAob25lIGFsbW9zdCBtaXNzZWQgaGlzIHNhdmUgYWdhaW5zdCB0aGUgd2Vha2VzdCBwb2lzb24KIGtub3duIHRvIG1hbikuIFRoZXkgcmVjb3ZlcmVkIHRoZSBIZWFkIGFuZCBtYWRlIG9mZiB0byBhIHNhZmUgYXJlYS4gCgogR3JvdXAgVHdvIGFjdHVhbGx5IENBTUUgVE8gQkxPV1MgKHNldmVyYWwgcm91bmRzIG9mIGZpZ2h0aW5nKSBhZ2FpbnN0IGVhY2ggCiBvdGhlciBhcmd1ZWluZyBvdmVyIFdITyBXT1VMRCBHRVQgVEhFSVIgSEVBRCBDVVQgT0ZGISBTZXZlcmFsIGdyZWVkeSBwbGF5ZXJzCiBoYWQgdG8gYmUgaHVydCBhbmQgcmVzdHJhaW5lZCBiZWZvcmUgaXQgd2FzIGRlY2lkZWQgd2hvIHdvdWxkIGJlIHRoZSAKIHJlY2lwaWVudCBvZiB0aGUgZ3JlYXQgcG93ZXJzIGJlc3Rvd2VkIGJ5IHRoZSBIZWFkLi4uIFRoZSBtYWdpY2lhbiB3YXMgCiBzZWxlY3RlZCBhbmQgb25lIG9mIHRoZW0gcHJvbXB0bHkgY3V0IGhpcyBoZWFkIG9mZi4gQXMgdGhlIHBsYXllciB3YXMgCiBsaWZ0aW5nIFRoZSBIZWFkIG9mIFZlY25hIHRvIGVtcGxhY2UgaXQgb24gaXQncyBuZXcgYm9keSwgYW5vdGhlciBhcmd1bWVudCAKIGJyb2tlIG91dCBhbmQgdGhleSBzcGVudCBzZXZlcmFsIG1pbnV0ZXMgc2hvdXRpbmcgYW5kIHllbGxpbmcuIFRoZW4sIAogZmluYWxseSwgdGhleSBwdXQgdGhlIEhlYWQgb250byB0aGUgY2hhcmFjdGVyLiAKCiBXZWxsLCBvZiBjb3Vyc2UsIHRoZSBIZWFkIHNpbXBseSBmZWxsIG9mZiB0aGUgbGlmZWxlc3MgYm9keS4gQWxsIG1lbWJlcnMgb2YgCiBHcm91cCBUd28gYmVnYW4geWVsbGluZyBhbmQgc2NyZWFtaW5nIGF0IGVhY2ggb3RoZXIgKGFuZCBhdCBtZSkgYW5kIHRoZW4sIG9uCiB0aGVpciBvd24sIGRlY2lkZWQgdGhhdCB0aGV5IGhhZCBsZXQgdG9vIG11Y2ggdGltZSBwYXNzIGJldHdlZW4gY3V0dGluZyBvZmYgCiB0aGUgaGVhZCBvZiBhIGhvcGVmdWwgcmVjaXBpZW50IGFuZCBwdXQgdGhlIEhlYWQgb2YgVmVjbmEgb250byB0aGUgYm9keS4gCgogU08gVEhFWSBESUQgSVQgQUdBSU4hLi4uIFtraWxsaW5nIGFub3RoZXIgUENdIAoKIEluIGNsb3NpbmcsIGl0IHNob3VsZCBiZSBzYWlkIHRoYXQgSSBuZXZlciBldmVuIGNyYWNrZWQgYSBzbWlsZSBhcyBhbGwgdGhpcyAKIHdhcyBnb2luZyBvbi4gQWZ0ZXIgdGhlIHNlY29uZCBQQyB3YXMgc2xhdWdodGVyZWQsIEkgaGFkIHRvIGdpdmUgaW4gKG15IAogc2lkZSB3YXMgaHVydGluZykuLi4gCgogQW5kIEdyb3VwIFR3byBibGFtZWQgTUUgW01hcmtdIGZvciBhbGwgb2YgdGhhdC4uLiAKLS0tCgpGb29iYXIgLSBoYXQgaGVyemxpY2ggZ2VsYWNodAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBodHRwOi8vZmx5LkhpV0FBWS5uZXQvfnNyYmVycnkvZ3VycHMvVmVjbmEuaHRtbCAoV3VyemVsLCAgMi4gQXVnIDIwMDEsIDIzOjU2OjQ3KToKfiMhIHJuPUZvb2JhciBydD05OTY3ODcwMjMgcmc9d3d3Cn4jISB0aWQ9OTk2Nzg3MDIzCmpvLiB6d2VpIGdydXBwZW4gZ2VnZW5laW5hbmRlciBpc3QgendhciBzbyB6aWVtbGljaCBkYXMgc3RyZXNzaWdzdGUsIHdhcwptYW4gdmVyYW5zdGFsdGVuIGthbm4sIGFiZXIgc2VociBoaWxmcmVpY2ggd2VubiBtYW4gc2ljaCBnZXJuIGF1ZiBrb3N0ZW4KYW5kZXJlciBhbXVlc2llcmVuIG1vZWNodGUuIG5ldHRlIHN0b3J5IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWhlbnN3ZXJ0IChHcmltbWJvcm4sICA1LiBBdWcgMjAwMSwgMTg6NTI6MjcpOgp+IyEgb249Um9sYW5kIG90PTk5NzAzMDMxOSBvZz1hbGxnZW1laW5lcwoKU2NoYXV0IGRvY2ggbWFsIGFsbGUgaGl1ZXIgZGFydWYgaXMgcmVjaHQgbnVldHpsaWNoIQoKIHd3dy52ZXJnbGVpY2hkb2NoLmRlCgptZmcgcm9sYW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV0FOVEVEISEhIChLYXJpcywgIDcuIEF1ZyAyMDAxLCAxNDo0NDo1NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9OTk3MTg2Mzk4IHJnPXd3dwp+IyEgdGlkPTk5NzE4NjM5OApXYXJ1bSBzb2xsIGljaCBWZXJicmVjaGVuIGVpbmVyIFRhbmtzdGVsbGUgbWVsZGVuPz8/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgV2FocmhlaXQuLi4gKEZvb2JhciwgMTMuIEF1ZyAyMDAxLCAwMDoyMDoyNik6Cmh0dHA6Ly93d3cuZnJhdS1hbS1zdGV1ZXIuZGUvCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyb3NzIGFiZXIgLi4uIChBbm9yaXMsIDE0LiBBdWcgMjAwMSwgMTE6NDY6NDMpOgpodHRwOi8vd3d3LmVkZW4ucnV0Z2Vycy5lZHUvfmppb25pbi9kb2dzb3V0LnN3ZgoKLSBBbm9yaXMgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBnYW56ZSB3YWhyaGVpdCAoUm9sYW5kLCAxNC4gQXVnIDIwMDEsIDE2OjM3OjA0KToKaHR0cDovL3d3dy52ZXJnbGVpY2hkb2NoLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3chIChHbG9pbnNvbiwgMjQuIEF1ZyAyMDAxLCAwMToyOTo0Nik6Cmh0dHA6Ly93d3cucmlkZGxlbWUuY29tL2h0bWwvY293Lmh0bWwKCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb25zIG9mIENvdyAoVHJveSwgMjQuIEF1ZyAyMDAxLCAwOTowMjoxMSk6Cn4jISBybj1Ucm95IHJ0PTk5ODYzNjQ0MCByZz1zY2htYXJybgp+IyEgdGlkPTk5ODYzNjQ0MApEYXp1IGdhZWJzIG5vY2g6CgpodHRwOi8vd3d3LmZsaW5ndGhlY293LmNvbS8KClZpZWwgU3Bhc3MgOi0pClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbmRvd3MgUkcgKEdyaW1tYm9ybiwgMjcuIEF1ZyAyMDAxLCAxODoxNDozMSk6CkhpZXIgZ2lidHMgZWluIERlbW8gdm9uIFdpbmRvd3MgUkcgKCJyZWFsIGdvb2QiKToKaHR0cDovLzEyOC4yNDEuMjQ0Ljk2L3BvcnRhbC91cGxvYWRzLzI3MDAwLzI3NTQ5X3dpbnJnLnN3ZgoKSXN0IGZsYXNoLCBhYmVyIGRlciBOZXRzY2FwZSB2b24gQ2FsZGVyYSBPcGVuTGludXggMy4xIGtyaWVndHMgcHJvYmxlbWxvcwpoaW4uLi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbmRvd3MgUkcgKEFuYWNyaW9uLCAyNy4gQXVnIDIwMDEsIDE4OjE1OjIzKToKfiMhIHJuPUdyaW1tYm9ybiBydD05OTg5Mjg4NzEgcmc9d3d3Cn4jISB0aWQ9OTk4OTI4ODcxCndpbmRvd3MgUkcgPyBob2VydCBzaWNoIG5hY2ggS0RFMiBhbiA6bykKYW5hYyogKGluIGFsbGVuIHJ1YnJpa2VuIG1lZ2FzY2htYXJybmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHQsIGFiZXIgaW1tZXIgd2llZGVyIGd1dC4uLiAoR3JpbnVyLCAgNC4gU2VwIDIwMDEsIDIyOjI5OjM4KToKaHR0cDovL3d3dy5pa3MtamVuYS5kZS9taXRhcmIvbHV0ei91c2VuZXQvRmFjaGJlZ3JpZmZlLmRlci5JbmZvcm1hdGlrLmh0bWwKCkdyaW51cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd3d3LmJsb2VkZW5hbWVuLmRlIChHYWJpLCAxNC4gU2VwIDIwMDEsIDIwOjA2OjExKToKRGllIE5hbWVuLCBkaWUgbWFuIGRhIGZpbmRldCBzaW5kIHRlaWxzIHp1bSBUb3RsYWNoZW4uCgpQYWFyIEJlaXNwaWVsZToKRHIuIEdpc2VsYSB2b24gSGludGVuLCBGcmF1ZW5hZXJ6dGluIHVuZCBTZXh1YWxiZXJhdGVyaW4sIFJhdmVuc2J1cmcKV2lsbWEgRmlja2VuLCBSaXR0ZXJodWRlCkRyLiBFY2toYXJkIEVpY2hlbCwgRnJhdWVuYXJ6dApSb2VzbGkgSG9lc2xpLCBPYmVyZG9yZiwgU2Nod2VpegpBcmNoaXRla3RlbiBCaWVyIHVuZCBLb3JuLCBNVUVOQ0hFTgpWZXJzaWNoZXJ1bmdzbWFrbGVyIEFiemllaGVyLCBTY2h3YWViaXNjaCBHbXVlbmQKTmluYSBWYWdpbmEsIFJhZGViZXVsCnVuZCB1bmQgdW5kLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FsbHBhcGVycyAoSGlnaHQsIDE5LiBTZXAgMjAwMSwgMTQ6MjE6NDQpOgp3ZW5uIHdlciB3YXMgc3VjaHQgd2FzIGVyIHNpY2ggaW4gaGludGVyZ3J1bmQga2xhdHNjaGVuIGthbm46CgpodHRwOi8vd3d3LnZlbG9jaXR5LmRlL35kaWdpdGFsCgpoaWdodCBlbmRsaWNoIG5pbW1lciBsaWxhIHNlaGVuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhbGxwYXBlcnMgKEhpZ2h0LCAxOS4gU2VwIDIwMDEsIDE0OjI4OjQ1KToKfiMhIHJuPUhpZ2h0IHJ0PTEwMDA5MDIxMDQgcmc9d3d3Cn4jISB0aWQ9MTAwMDkwMjEwNAphcmdsIGZlaGxlciAuLi4gaHR0cDovL3d3dy52ZWxvY2l0eS5uZXQvfmRpZ2l0YWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FsbHBhcGVycyAoS2FyaXMsIDE5LiBTZXAgMjAwMSwgMjI6NDU6NDApOgp+IyEgcm49SGlnaHQgcnQ9MTAwMDkwMjUyNSByZz13d3cKfiMhIHRpZD0xMDAwOTAyMTA0CkFjaGphLi4gd2VubiB3aXIgc2Nob24gYmVpIEhpbnRlcmdydWVuZGVuIHNpbmQuLi4gaWNoIHN1Y2hlIHZlcnp3ZWlmZWx0IGRhcwpuZXR0ZSBCaWxkLAphdWYgZGVtIG1hbiBkYXMgSW5uZW5sZWJlbiBlaW5lcyBzZWhyIGFsdGVuLCBrYXB1dHRlbiBGZXJuc2VoZXJzIHNpZWh0Li4gbm9jaAptaXQKUm9laHJlbiAuLi4gdmllbGxlaWNodCB3YXJzIGF1Y2gga2VpbiBGZXJuc2VoZXIuLi4gd2Vpc3MgZGEgamVtYW5kIG5lIFVSTCBvZGVyCnNvd2FzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FsbHBhcGVycyAoR3JpbW1ib3JuLCAxOS4gU2VwIDIwMDEsIDIyOjQ4OjA1KToKfiMhIHJuPUthcmlzIHJ0PTEwMDA5MzIzNDAgcmc9d3d3Cn4jISB0aWQ9MTAwMDkwMjEwNApBcHJvcG9zIEhpbnRlcmdydW5kYmlsZGVyOiBpY2ggaGFldHRlIGdlcm5lIGRhcyBCaWxkIHZvbSBGZXVlcmJhbGwsIGFscyBkYXMKRmx1Z3pldWcgaW4gZGVuIHp3ZWl0ZW4gV1RDLXRvd2VyIGdlcmFzdCBpc3QuIERpZSBBbnNpY2h0IG1pdCBkZW0gZXJzdGVuLApyYXVjaGVuZGVuIFRvd2VyIGltIFZvcmRlcmdydW5kLCB3ZW5uIG1vZWdsaWNoLiBJbiAxMjAweDE2MDAuIFdlaXNzIGplbWFuZCB3bwppY2ggZGFzIGhlcmtyaWVnZT8KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FsbHBhcGVycyAoS2FyaXMsIDE5LiBTZXAgMjAwMSwgMjI6NDg6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDA5MzI0ODUgcmc9d3d3Cn4jISB0aWQ9MTAwMDkwMjEwNApDTk4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYWxscGFwZXJzIChHcmltbWJvcm4sIDE5LiBTZXAgMjAwMSwgMjI6NDk6MDgpOgp+IyEgcm49S2FyaXMgcnQ9MTAwMDkzMjUxNSByZz13d3cKfiMhIHRpZD0xMDAwOTAyMTA0CkljaCBzYWd0ZSAxMjAweDE2MDAuIER1IGtlbm5zdCBzbyBpbiBldHdhIGRpZSBBdWZsb2VzdW5nIGRlcyBGZXJuc2VoYmlsZGVzPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWxscGFwZXJzIChLYXJpcywgMTkuIFNlcCAyMDAxLCAyMjo1MDo0OSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwMDkzMjU0OCByZz13d3cKfiMhIHRpZD0xMDAwOTAyMTA0CjU3Nng0MzIgLi4gb2RlciBzby4gQWJlciBkYXMga2FubiBtYW4gYmVzdGltbXQgaW50ZXJwb2xpZXJlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBaGE/IT8gKE1hcmN1cywgMjAuIFNlcCAyMDAxLCAxMToxNzoxMyk6Cn4jISBybj1BbGJvaW4gcnQ9MTAwMDk3NzIzNyByZz1kaXNrdXNzaW9uCn4jISB0aWQ9MTAwMDkyMTc3MAp+bW0vd2hvYS5qcGcgaXN0IGFiZXIgbnVyIDMzMHgyNDUKCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWhhPyE/IChDYXR3ZWF6bGUsIDIwLiBTZXAgMjAwMSwgMTE6MTk6MjUpOgp+IyEgcm49TWFyY3VzIHJ0PTEwMDA5Nzc0MzMgcmc9d3d3Cn4jISB0aWQ9MTAwMDkyMTc3MApTaW5kIGVoIGFsbGVzIG51ciBWaWRlb2F1Zm5haG1lbiwgZGllIGhhYmVuIHNvIG5lIGhvaGUgQXVmbG9lc3VuZyBuaWNodC4gCldlbm4gRHUgZGEgZWluZSBtaXQgaG9laGVyZXIgQXVmbG9lc3VuZyBiZWtvbW1zdCBpc3QgZGFzIGdhcmFudGllcnQgaXJnZW5kd2FubgppcmdlbmR3byBpbnRlcnBvbGllcnQgd29yZGVuLiBJY2ggYnp3ZWlmZWwgZGFzIGRhIGplbWFuZCBhdXMgZGVyIHJpY2h0aWdlbgpSaWNodHVuZyB6dW0gRXhwbG9zaW9pbnN6ZWl0cHVua3QgbWl0IHNlaW5lciBLYW1lcmEgZHJhdWZnZWhhbHRlbiBoYXQuCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWhhPyE/IChHcmltbWJvcm4sIDIwLiBTZXAgMjAwMSwgMTE6NDI6MTgpOgp+IyEgcm49TWFyY3VzIHJ0PTEwMDA5Nzc0MzMgcmc9d3d3Cn4jISB0aWQ9MTAwMDkyMTc3MApIbW0sIG1laW4gUGFsbSBrYW5uIGRvY2gga2VpbmUgSGludGVyZ3J1bmRiaWxkZXIuIE9kZXIgaXN0IGRhcyBlaGVyIGZ1ZXIgZWluCkhhbmR5PwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBaGE/IT8gKEdyaW1tYm9ybiwgMjAuIFNlcCAyMDAxLCAxMTo0NTozNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAwMDk3NzU2NSByZz13d3cKfiMhIHRpZD0xMDAwOTIxNzcwCkJlendlaWZlbHN0IER1PyBOYWNoZGVtIHNhZW10bGljaGUgKGpvdXJuYWxpc3Rpc2NoZW4pIEthbWVyYXMgaW0gd2VpdGVyZW4KVW1rcmVpcyB6dSBkZW0gWmVpdHB1bmt0IGF1ZiBkaWVzZXMgR2ViYWV1ZGUgZ2VyaWNodGV0IHdhcmVuIHVuZCBzaWNoIGRhcwpOYWVoZXJuIGVpbmVzIEZsdWd6ZXVncyBqYSBudW4gYXVjaCBlaW4gYmlzY2hlbiBiZW1lcmtiYXIgbWFjaHQ/CkljaCBiaW4gbWlyIGRhIG5pY2h0IHNvIHNpY2hlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2VpbmVuIEFydGlrZWwgKEZvb2JhciwgMjAuIFNlcCAyMDAxLCAxNTozNjoyNyk6Cmh0dHA6Ly93d3cuYmllcmJhdWNodHJhZWdlci5kZS9zdGFydC5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtlaW4gdGl0ZWwgKERpbWl0cmksIDI1LiBTZXAgMjAwMSwgMTI6NTI6MzcpOgoKaHR0cDovL3d3dy5oZWxmdGthaS5kZQoKRGltaXRyaSBsaWVndCBpbW1lciBub2NoIHVudGVybSBUaXNjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBrZWluIHRpdGVsIChCYW1iaSwgMjUuIFNlcCAyMDAxLCAxNTowMDo0Nyk6Cn4jISBybj1EaW1pdHJpIHJ0PTEwMDE0MTUxNTcgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1NwpodHRwOi8vd3d3LmRlbmljLmRlL3NlcnZsZXQvV2hvaXMKRGFubiBtYWwgaW4gZGVtIHNjaG9lbmVuIEthZXN0Y2hlbiAiaGVsZnRrYWkiIGVpbmdlYmVuLi4uCgpVbmQgamV0enQgc2FndCBtaXIgbmllbWFuZCwgaGllciB3aWxsIHNpY2gga2VpbmUgRmlybWEgbWl0IFdlcmJlYmFubmVybgpzcG9uc29ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZToga2VpbiB0aXRlbCAoQW5hdG9sLCAyNS4gU2VwIDIwMDEsIDE1OjExOjU2KToKfiMhIHJuPUJhbWJpIHJ0PTEwMDE0MjI4NDcgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1NwpLb2VubnRlIGF1Y2ggZWluZmFjaCBBYnpvY2tlIHNlaW4gLSBkLmguIGVpbiAiSG9zdGVyIiwgZGVyIG5pY2h0IGRlbgpBdWZ0cmFnZ2ViZXIgYWxzIEVpZ25lciBhbm1lbGRldCwgc29uZGVybiBzaWNoIHNlbGJzdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBrZWluIHRpdGVsIChBbmF0b2wsIDI1LiBTZXAgMjAwMSwgMTU6MTk6MDgpOgp+IyEgcm49QW5hdG9sIHJ0PTEwMDE0MjM1MTYgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1NwpXYXMgbmF0dWVybGljaCBuaWNodCBoZWlzc3QsIGRhc3MgZXMgdm9uIGRpZXNlciBKdWxpYSBuaWNodCBldHdhcyBhbGJlcm4KaXN0LCBtaXQgS2FpIGlucyBCZXR0IHp1IHN0ZWlnZW4sIHdlbm4gZGllIFNlaXRlIHVlYmVyIDExMSBNaWxsaW9uZW4gbWFsCmFuZ2VrbGlja3Qgd3VyZGUuIE1hbiBzZXR6ZSBkaWVzZSBaYWhsIG1hbCBpbiBSZWxhdGlvbiB6dXIgZGV1dHNjaGVuCkdlc2FtdGJldm9lbGtlcnVuZy4uLiA7KQoKQW5hKiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGtlaW4gdGl0ZWwgKENhdHdlYXpsZSwgMjUuIFNlcCAyMDAxLCAxNToyMzo0Nyk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwMTQyMzk0OCByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CkFsc28gd2VubiBpY2ggZGFzIHJpY2h0aWcgZWluc2NoYWV0emUsIGRhbm4gd2lyZCBLYWkgZGFubiwgd2VubiBlciBkZW5uCmVuZGxpY2ggc2VpbmUgMTExTWlvLiBIaXRzIHp1c2FtbWVuIGhhdCwgbnVyIG5vY2ggYWV1c3NlcnN0IGdlcmluZ2VzIEludGVyZXNzZQphbSBCZXR0YmVzdWNoIHZvbiBKdWxpYSBoYWJlbiB3aXJkLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGtlaW4gdGl0ZWwgKE11YWRkaWIsIDI1LiBTZXAgMjAwMSwgMTY6MjQ6NTApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDE0MjQyMjcgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1NwpEYSBzb2xsdGUgbWFuIGRlbSBhcm1lbiBLYWkgdW5kIHNlaW5lciBiZWtsKnBwdGVuIEFuZ2ViZXRldGVuIHdpcmtsaWNoIGhlbGZlbgp1bmQgSWhuZW4gZWluZSBQc3ljaGF0ZXJzZXNzaW9uIGluIGRlciBLbGFwc211ZWhsZSBzY2hlbmtlbi4gKmJycnJyKiAKCk11YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjoga2VpbiB0aXRlbCAoQW5hdG9sLCAyNS4gU2VwIDIwMDEsIDE2OjI4OjM1KToKfiMhIHJuPU11YWRkaWIgcnQ9MTAwMTQyNzg5MCByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CkR1IHdpbGxzdCBpaG4genVtIE11ZGRlbiBiZXdlZ2VuPyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzoga2VpbiB0aXRlbCAoTXVhZGRpYiwgMjUuIFNlcCAyMDAxLCAxNjoyOToyNik6Cn4jISBybj1BbmF0b2wgcnQ9MTAwMTQyODExNSByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CktyYW5rIGdlbnVnIHNjaGVpbnQgZXIgenUgc2Vpbi4gR3Jvc3NlcyBQb3RlbnRpYWwgd3VlcmQgaWNoIHNhZ2VuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBrZWluIHRpdGVsIChab29rLCAyNS4gU2VwIDIwMDEsIDE2OjI5OjQwKToKfiMhIHJuPU11YWRkaWIgcnQ9MTAwMTQyODE2NiByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CldpcmQgYmVzdGltbXQgbWFsIG5lbiBTdXBlci1TZWhlci4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBrZWluIHRpdGVsIChBbmF0b2wsIDI1LiBTZXAgMjAwMSwgMTY6MzA6MDgpOgp+IyEgcm49Wm9vayBydD0xMDAxNDI4MTgwIHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKQXJtZSBKdWxpYS4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBrZWluIHRpdGVsIChNdWFkZGliLCAyNS4gU2VwIDIwMDEsIDE2OjMwOjQ2KToKfiMhIHJuPUFuYXRvbCBydD0xMDAxNDI4MjA4IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKVmllbGxlaWNodCBnZWh0IHNpZSBkYW5uIG5vY2htYWwgbWl0IGlobSBpbnMgQmV0dCwgd2VubiBlciAxMTExIG1hbCBrcmVwaWVydAppc3QuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IGtlaW4gdGl0ZWwgKFpvb2ssIDI1LiBTZXAgMjAwMSwgMTY6MzE6MDYpOgp+IyEgcm49TXVhZGRpYiBydD0xMDAxNDI4MjQ2IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKT2RlciBiZWkgU3BpZWxlcmxldmVsIDExMT8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjoga2VpbiB0aXRlbCAoR3JpbW1ib3JuLCAyNS4gU2VwIDIwMDEsIDE2OjMxOjU2KToKfiMhIHJuPVpvb2sgcnQ9MTAwMTQyODI2NiByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CldoYXRldmVyLiBJY2ggaG9mZmUgbnVyIGRhc3Mgc2llIGJlaSBkZXIgR2VsZWdlbmhlaXQgZGllIHdlYmNhbSBhdXNzY2hhbHRlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzoga2VpbiB0aXRlbCAoQmllbGVmZWxkLCAyNS4gU2VwIDIwMDEsIDE2OjMyOjI5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDAxNDI4MzE2IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKTmEsIHNvbGwgZXIgSnVsaWEgaGFsdCBoaWVyaGVyIG1pdGJyaW5nZW4sIGRhbm4gd2lyZCBlciBkaWUgc2Nob24Kc2NobmVsbCBnZW51ZyBhbiBpcmdlbmR3ZW4gaGllciBsb3MuCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDoga2VpbiB0aXRlbCAoQW5hdG9sLCAyNS4gU2VwIDIwMDEsIDE2OjMyOjQ5KToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMDAxNDI4MzQ5IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKSWNoIHBhc3NlLiBdOl4+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDoga2VpbiB0aXRlbCAoWm9vaywgMjUuIFNlcCAyMDAxLCAxNjozMzowNik6Cn4jISBybj1CaWVsZWZlbGQgcnQ9MTAwMTQyODM0OSByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CldvYmVpPyAxOSBzb2xsIEphaHJlIHNvbGwgZGVyIGFsdCBzZWluPyBOYWphLi4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBrZWluIHRpdGVsIChQYWxlLCAyNS4gU2VwIDIwMDEsIDE2OjMzOjIyKToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMDAxNDI4MzQ5IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKUGFsZSB3ZWRlbHQgbWl0IGVpbmVtICJKdWxpYSBmdWVyIFBhbGUiLUZhZWhuY2hlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBrZWluIHRpdGVsIChab29rLCAyNS4gU2VwIDIwMDEsIDE2OjMzOjM0KToKfiMhIHJuPVBhbGUgcnQ9MTAwMTQyODQwMiByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3Ckd1dGUgR3VldGUuLi4uCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBrZWluIHRpdGVsIChCaWVsZWZlbGQsIDI1LiBTZXAgMjAwMSwgMTY6MzM6MzgpOgp+IyEgcm49UGFsZSBydD0xMDAxNDI4NDAyIHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKcS5lLmQuCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNToga2VpbiB0aXRlbCAoTXVhZGRpYiwgMjUuIFNlcCAyMDAxLCAxNjozNDowNCk6Cn4jISBybj1QYWxlIHJ0PTEwMDE0Mjg0MDIgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1NwpNYWNoIGRvY2ggbmUgS29ua3VycmVuenNlaXRlLCBQYWxlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjoga2VpbiB0aXRlbCAoWm9vaywgMjUuIFNlcCAyMDAxLCAxNjozNDowNik6Cn4jISBybj1CaWVsZWZlbGQgcnQ9MTAwMTQyODQxOCByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3CldvYmVpLi4uIHdpciBrb2VubnRlbiB2aWVsIHdlaXRlciBzZWluLCB3ZW5uIHdpciBkaWVzZSBzY2hpY2tlbiAKQXVzd2FuZGVydW5nc3RocmVhZHMgZ2xlaWNoIGluICdtZWdhc2NobWFycm4nIGVpbnBmbGVnZW4gd3VlcmRlbi4KCgpab29rLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBrZWluIHRpdGVsIChDYXR3ZWF6bGUsIDI1LiBTZXAgMjAwMSwgMTY6MzQ6NTQpOgp+IyEgcm49Wm9vayBydD0xMDAxNDI4NDQ2IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKaGFsdGhhbHRoYWFhYWFhYWFhYWFhYWx0Li4uLi4KCld1ZXJkZXQgaWhyIGJpdHRlIG5hY2ggbWVnYXNjaG1hcnJuIGF1c3dhbmRlcm4sIGlociB2ZXJzY2h3ZW5kZXQgc2Nob24gd2llZGVyCi4uLi4KWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODoga2VpbiB0aXRlbCAoS2FpLCAyNS4gU2VwIDIwMDEsIDE2OjM1OjMyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDAxNDI4NDk0IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKSGVlLCBGaW5nZXIgd2VnIHZvbiBKdWxpYSEgRGllIHdpbGwgaWNoIGRvY2ggZmljXldiaXMgaW4gYWxsZSBFd2lna2VpdCBzbwpyaWNodGlnIGxpZWJoYWJlbiEKCkthaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IGtlaW4gdGl0ZWwgKEFuYWNyaW9uLCAyNS4gU2VwIDIwMDEsIDE2OjUxOjQxKToKfiMhIHJuPUthaSBydD0xMDAxNDI4NTMyIHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKV2VubiB3aXIgS2FpIGluIGRpZSBLbGFwc211ZWhsZSBzdGVja2VuIHVuZCBKdWxpYSBtdWRkZXQgaGFiZW4gd2lyIGVpbgpQcm9ibGVtOgoKTWl0IGhvaGVyIFdhaHJzY2hlaW5saWNoa2VpdCB3ZXJkZW4gc2ljaCBpbiBkZW0gaWhyIGdlbGllaGVuZW4gU2VoZXJoYXVzIAoobmFjaCBpaHJlbiB3dWVuc2NoZW4gdm9sbGJlc2NocmllYmVuKSBmYXN0IGFsbGUgdW5pcXVlcyB1bmQgcmllc2lnZQphdXNydWVzdHVuZ3NiZXJnZSB0dWVybWVuLgoKQkFMQU5DRSEgOm8pCgphbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IGtlaW4gdGl0ZWwgKE1hdGlzLCAyNS4gU2VwIDIwMDEsIDE2OjUzOjE0KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDE0Mjk1MDEgcmc9d3d3Cn4jISB0aWQ9MTAwMTQxNTE1Nwo6d2lzY2h0IGRlbiBTYWJiZXIgaGludGVyIEFuYWMqIHdlZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBrZWluIHRpdGVsIChTdmV0bGFuYSwgMjUuIFNlcCAyMDAxLCAxNjo1NDozNCk6Cn4jISBybj1NYXRpcyBydD0xMDAxNDI5NTk0IHJnPXd3dwp+IyEgdGlkPTEwMDE0MTUxNTcKTWlzdC4uLmljaCBrYW5uIGRpZSBzZWl0ZSAiV2FydW0iIG5pY2h0IGxlc2VuIDotKCBXYXMgc3RlaHQgZGE/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMToga2VpbiB0aXRlbCAoQW5hY3Jpb24sIDI1LiBTZXAgMjAwMSwgMTY6NTQ6NDQpOgp+IyEgcm49TWF0aXMgcnQ9MTAwMTQyOTU5NCByZz13d3cKfiMhIHRpZD0xMDAxNDE1MTU3ClNhYmJlciA/CgpEZXIgaXN0IGFuZGVycyBiZWdydWVuZGV0IC4uLiBpbiBudXIgMjUwIE1pbnV0ZW4gc3RlaWd0IFJvYW5hIGluIFRvcm9udG8gYXVzCmRlbSBGbHVnemV1ZyA6LSkKCmFuYWMqCgpQLlMuIEljaCBoYWJlIG1pY2ggbnVyIGFuIGFlbHRlcmUgZGVyYXJ0aWdlIFBoYWVub21lbmUgZXJpbm5lcnQgdW5kIHdvbGx0ZQpuaWNodCBtZWluIGVpZ2VuZXMgVmVyaGFsdGVuIGJlc2NocmVpYmVuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgQm95Z3JvdXBoYXNzZXIgOykgKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDAxLCAwNzowNjo0Myk6Cn4jISBvbj1Tb2xteXIgb3Q9MTAwMTQ2MjgzOCBvZz1hbGxnZW1laW5lcwpEYSAnd3d3J3ZvbGwgaXMsICBwb3N0ZSBpY2ggbWEgaGllci4gV2VubnMgd2llZGVyIGxlZXIgaXMsIGRhcmYgR3JpbW1ib3JuCmhlcnpsaWNoICBnZXJuZSB2ZXJzY2hpZWJlbi4gVmllbCBTcGFzcyBoaWVyYmVpOgoKIGh0dHA6Ly9ob21lLnN3aXBuZXQuc2Uva2FsbGVsYXJzc29uL2JzYi8KClNvbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlc3Qgb2YgV1dXIChNYWdpY29sbGksIDI3LiBTZXAgMjAwMSwgMTI6MTQ6NDgpOgoKaHR0cDovL3d3dy5zY29wZXN5cy5jb20vZ2VybWFuCmh0dHA6Ly93d3cubW9ub2Nocm9tZS5jb20vaG9nb3Jvay9kZS9pbmRleC5odG1sCmh0dHA6Ly93d3cuMTJ0cnkuZGUKaHR0cDovL3d3dy5maWVzZS1zY2hlaXRlbC5kZQpodHRwOi8vd3d3LmhhaXJjcmltZXMuZGUKaHR0cDovL2JyaXR0YS5oYXQuZ2VsaXR0ZW4ub3JnCmh0dHA6Ly93d3cuc3VwZXJncmVnLmNvbQpodHRwOi8vd3d3LmJhbHRvci5kZQpodHRwOi8vd3d3LnJ1c3Npc2NoLWlua2Fzc28uZGUvCmh0dHA6Ly93d3cuZ2hldHRvc2Nvb3Rlci5jb20KaHR0cDovL3d3dy5jcmVhdGVhZmFydC5jb20KaHR0cDovL3d3dy5wYWNpZmljdHJhZGVzLmNvbS9ob21lLmh0bWwKaHR0cDovL2RyZXcuY29ycnVwdC5uZXQvbHAvaW5kZXguaHRtbApodHRwOi8vd3d3LmNhdGhvbGljc3VwcGx5LmNvbS9jaHJpc3RtYXMvc3BvcnRzLmh0bWwKaHR0cDovL3d3dy5ib3JudG9kZXN0cm95LmNvbQpodHRwOi8vd3d3LkdlaWxlLUhvbWVwYWdlLmRlCmh0dHA6Ly93d3cucmF2ZW5mdWxsLmRlL3Jpa3MvRWhlYW5iYWhudW5nL2Jld2VyYnVuZy5odG1sCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphLCBzbyBzaW5kIHNpZSAoUmFnbmFyb2VrLCAgNC4gT2t0IDIwMDEsIDIwOjU5OjU1KToKCi4uLmRpZSBBbWlzLi4uCgpodHRwOi8vd3d3Lm93bnouZGsva2l3aS9taXNjL2RpcGxvbWFjeS5zd2YKCjpvKQotcmFnbmEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHYWxheHlXYXJzIChWaXZpLCAgNS4gT2t0IDIwMDEsIDE3OjIxOjE3KToKSGlobwoKZGEgUGxhbmV0YXJpb24gamEgamV0enQgS29zdGVuIHZlcnVyc2FjaHQsIGhhYiBpY2ggbWljaCBtYWwgYXVmIGRpZSBTdWNoZSBuYWNoCmVpbmVyIEFsdGVybmF0aXZlIGdlbWFjaHQgdW5kIGJpbiBiZWkgaHR0cDovL3d3dy5nYWxheHl3YXJzLmRlLyBmdWVuZGlnCmdld29yZGVuLgpTY2hhdXQgbWFsIHZvcmJlaSwgaXN0IHNwYXNzaWcgOikKClZpdmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHYWxheHlXYXJzIChDYXR3ZWF6bGUsICA2LiBPa3QgMjAwMSwgMDA6Mzg6NTQpOgp+IyEgcm49Vml2aSBydD0xMDAyMjk1Mjc3IHJnPXd3dwp+IyEgdGlkPTEwMDIyOTUyNzcKSG0sIHd3dy5kYXJrZ2FsYXh5LmNvbS4KVW5kIGpldHp0IGdlaCBpY2ggenUgZ2FsYXh5d2FycyBndWNrZW4gOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2FsYXh5V2FycyAoR2xvaW5zb24sICA2LiBPa3QgMjAwMSwgMDA6NTY6MjEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDIzMjE1MzQgcmc9d3d3Cn4jISB0aWQ9MTAwMjI5NTI3NwpodHRwOi8vd3d3LmZyZWVwb3J0LmRlL1NvbC9XZWxjb21lLmUuaHRtbAoKV2VubiBtYW4gbml4IHphaGx0IGtyaWVndCBtYW4gd2VuaWdlciBUdXJucywgYWJlciBkYW1pdCBrYW5uIGljaCBndXQgbGViZW4KKGtvbm50ZSBpY2ggYXVjaCB2b3IgNSBKYWhyZW4pLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2FsYXh5V2FycyAoQ2F0d2VhemxlLCAgNi4gT2t0IDIwMDEsIDAxOjAzOjA5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMDIzMjI1ODEgcmc9d3d3Cn4jISB0aWQ9MTAwMjI5NTI3NwpKYWphLCB1bmQgc29sMiBnaXBwcyBpbW1lciBub2NoIG5pY2h0LiBIYWIgaWNoIHZvciBKYWhyZW4gc2Nob24gZHJhbmdlZ2ViZW4sCmhhYmVuIGRpZSBtaXR0bGVyd2VpbGUgbWFsIGdlcmVzZXRldD8gSXN0IGFiZXIgaW1tZXIgbm9jaCB6dW0gQW50ZXN0ZW4gZ3V0LApoYXQgYmlzIHp1ciBOZXVrb2xvbmlzYXRpb24gU3Bhc3MgZ2VtYWNodCwgZGFubiB3dXJkcyBpcmdlbmR3aWUgenUgYXVmd2VuZGlnCi4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdhbGF4eVdhcnMgKEdsb2luc29uLCAgNi4gT2t0IDIwMDEsIDAxOjA4OjE0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDAyMzIyOTg5IHJnPXd3dwp+IyEgdGlkPTEwMDIyOTUyNzcKV2Vzc25pY2ggb2Igc2llIHJlc2V0dGV0IGhhYmVuLiBJY2ggd2FyIGRyZWkgSmFocmUgbmljaHQgZGEgdW5kIGhhYiBkYXMgYWx0ZQpQVyB2ZXJnZXNzZW4uIERhcyBlcyBhYiBlaW5lbSBiZXN0aW1tdGVuIFB1bmt0IHNlaHIgYXVmd2VuZGlnIHdpcmQgLSBkZW0ga29tbXQKZGllIEJlc2NocmFlbmt1bmcgZGVyIFR1cm5zIHBybyBUYWcgZGllIGRhbm4gaXJnZW5kd2FubiBlaW5nZWZ1ZWhydCB3dXJkZSBzZWhyCmVudGdlZ2VuIDspCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHYWxheHlXYXJzIChNYXJjdXMsICA3LiBPa3QgMjAwMSwgMDk6MjI6MzIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwMjMyMjU4MSByZz13d3cKfiMhIHRpZD0xMDAyMjk1Mjc3Ck9oIEdvdHQsIAoKU29sIGVyaW5uZXJ0IG1pY2ggc28gYW4gWmVpdGVuIHZvbiB2b3IgNCBKYWhyZW4gLi4uIAoKTWFyY3VzIGhhdCBkaWUgU3VjaHQgYWJlciBuYWNoIDMgTU9uYXRlbiBpbiBkZW4gR3JpZmYgYmVrb21tZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlcyBBdHRlbnRhdD8/IChSYWduYXJvZWssIDIyLiBPa3QgMjAwMSwgMjI6MTQ6MzcpOgoKaHR0cDovL3d3dy5waGF6ZTUuZGUvbmV1L25iL1dHXy5qcGcKCjo6cmFnbmFyb2VrKCkgLi4uZXJzY2h1ZXR0ZXJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqZ3JpbiogKEhpZ2h0LCAyNC4gT2t0IDIwMDEsIDE5OjM5OjExKToKaHR0cDovL3d3dy5tYWRibGFzdC5jb20vb3NrYS9odW1vcl9iaW4uc3dmCgpoaWdodCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVXJhbHRlIFNlaXRlbiAuLi4gKFZhbmlvbiwgMjQuIE9rdCAyMDAxLCAyMTo0NzoxMSk6Ci4uLgoxMC4gV2hhdCB3aWxsIGFsbCB0aGlzIGNvc3QgbWU/CgpQcmljaW5nIHZhcmllcyBjb25zaWRlcmFibHkgZGVwZW5kaW5nIHdoZXJlIHlvdSBsaXZlLCBldGMuIGJ1dCBoZXJlIGFyZSBzb21lCnJvdWdoIGVzdGltYXRlcyBpbiBVUyQ6CgpDRCBSZWNvcmRlcjogJDgwMCAtICQyMDAwCkNvbW1lcmNpYWwgUHJlLW1hc3RlcmluZyBTb2Z0d2FyZTogJDIwMC0kMjAwMApCbGFuayBDRCdzOiAkOC0xNQotLQpRdWVsbGU6IGh0dHA6Ly9zdW5zaXRlLnR1dC5maS9TUEFSQ0xpbnV4L35qaW0vY2Qtci1mYXEuaHRtbAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqZ3JpbiogKFN3b29wLCAyNS4gT2t0IDIwMDEsIDE3OjU1OjU4KToKfiMhIHJuPUhpZ2h0IHJ0PTEwMDM5NDUxNTEgcmc9d3d3Cn4jISB0aWQ9MTAwMzk0NTE1MQpodHRwOi8vcmVpbWFyaS5zYXVuYWxhaHRpLmZpL35qeWxwcHk2OS9kaXBsb21hY3kuc3dmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICpncmluKiAoSGlnaHQsIDI1LiBPa3QgMjAwMSwgMTk6NTM6MzApOgp+IyEgcm49U3dvb3AgcnQ9MTAwNDAyNTM1OCByZz13d3cKfiMhIHRpZD0xMDAzOTQ1MTUxCmtlbm4gaWNoIHNjaG9uICxvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogKmdyaW4qIChFbGNpZCwgMjUuIE9rdCAyMDAxLCAyMzoyNzo0Nyk6Cn4jISBybj1IaWdodCBydD0xMDA0MDMyNDEwIHJnPXd3dwp+IyEgdGlkPTEwMDM5NDUxNTEKSG1tbW1tLCBkYXMgaXN0IG1laHIgYWxzIGZpbnN0ZXIuIGhhdCBkZW4gZXJzdGVuIFByZWlzIGZ1ZXIgc2NobGVjaHRlbgpnZXNjaG1hY2sgdmVyZGllbnQuCkVsY2lkLCBtZWhyIGFscyBuYWNoZGVua2xpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJPZkggKFRoZSBCYXN0YXJkIE9wZXJhdG9yIGZyb20gSGVsbCkgKFdoaXRldGlnZXIsICAzLiBOb3YgMjAwMSwgMTY6MTY6MjkpOgoKaHR0cDovL2hvbWUucGFnZXMuZGUvfmJvZmgvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJPZkggKFRoZSBCYXN0YXJkIE9wZXJhdG9yIGZyb20gSGVsbCkgKFZhbmlvbiwgMTAuIE5vdiAyMDAxLCAxMzo1MDo1Mik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwMDQ4MDA1ODkgcmc9d3d3Cn4jISB0aWQ9MTAwNDgwMDU4OQpXZW5uIHdpciBncmFkIGRhYmVpIHNpbmQ6Cnd3dy5iYXMudW5pLW11ZW5jaGVuLmRlL01pdGFyYi9CYXN0YXJkCgpWKiBmcmV1dCBzaWNoIGF1ZiBqZWRlbiBuZXVlbiBOZXdzbGV0dGVyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQVNDSUkgKFRlcnJvcmlzdCwgMTIuIE5vdiAyMDAxLCAxODo1NTozNik6CkhtbSBva2kgZXMgaXN0IGtlaW4gd3d3LCBhYmVyIGljaCBmaW5kcyBzdXBlcjoKdGVsbmV0IHRvd2VsLmJsaW5rZW5saWdodHMubmwKCkhvZmZlIGRhcyBpcyBuaWNodCB1cmFsdCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFTQ0lJIChBbmF0b2wsIDEyLiBOb3YgMjAwMSwgMTg6NTY6MTApOgp+IyEgcm49VGVycm9yaXN0IHJ0PTEwMDU1ODc3MzYgcmc9d3d3Cn4jISB0aWQ9MTAwNTU4NzczNgpUcnlpbmcgNjIuMjUwLjcuMTAxLi4uCkNvbm5lY3RlZCB0byB0b3dlbC5ibGlua2VubGlnaHRzLm5sLgpFc2NhcGUgY2hhcmFjdGVyIGlzICdeXScuCkNvbm5lY3Rpb24gY2xvc2VkIGJ5IGZvcmVpZ24gaG9zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQVNDSUkgKEZvb2JhciwgMTIuIE5vdiAyMDAxLCAxOToxMzoxOSk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwNTU4Nzc3MCByZz13d3cKfiMhIHRpZD0xMDA1NTg3NzM2CnRlbG5ldCB0b3dlbC5ibGlua2VubGlnaHRzLm5sIDIzIHdhZXJlIGtvcnJla3QgZ2V3ZXNlbiA6bykKClVuZCBqYSwgZXMgaXN0IHVyYWx0IDtvKQoKQWJlciB0cm90emRlbSBzY2hvZW4uCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFTQ0lJIChBbmF0b2wsIDEyLiBOb3YgMjAwMSwgMTk6MTM6NTcpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDU1ODg3OTkgcmc9d3d3Cn4jISB0aWQ9MTAwNTU4NzczNgpJbnp3aXNjaGVuIGdpbmcgZXMgYXVjaCBiZWkgbWlyIG1hbC4gSWNoIHNjaGF1IG1pciAoZGFzIGFsdGUpIERpbmcgCm5vY2htYWwgYW4sIHNvbGx0ZSBpY2ggamUgRFNMIGhhYmVuLi4uIDopCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFTQ0lJIChWYXJkaW9uLCAxMi4gTm92IDIwMDEsIDE5OjE0OjE0KToKfiMhIHJuPUZvb2JhciBydD0xMDA1NTg4Nzk5IHJnPXd3dwp+IyEgdGlkPTEwMDU1ODc3MzYKMjMgaXN0IGRlciBEZWZhdWx0cG9ydCBmdWVyIFRlbG5ldC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFTQ0lJIChGb29iYXIsIDEyLiBOb3YgMjAwMSwgMTk6MTU6MjApOgp+IyEgcm49VmFyZGlvbiBydD0xMDA1NTg4ODU0IHJnPXd3dwp+IyEgdGlkPTEwMDU1ODc3MzYKSWNoIHdlaXNzLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBU0NJSSAoQmFtYmksIDEyLiBOb3YgMjAwMSwgMjE6NDc6MTcpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDU1ODg5MjAgcmc9d3d3Cn4jISB0aWQ9MTAwNTU4NzczNgp3YXJ1bSBzb2xsdGUgbWFuIGlobiBkYW5uIGFuZ2ViZW4/IFVuZCBiZWkgbWlyIGdlaHRzIHdlZGVyIG1pdCBub2NoIG9obmUuIEhhdApkYXMgU3lzdGVtPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQVNDSUkgKEdyaW1tYm9ybiwgMTIuIE5vdiAyMDAxLCAyMTo0ODoyNyk6Cn4jISBybj1CYW1iaSBydD0xMDA1NTk4MDM3IHJnPXd3dwp+IyEgdGlkPTEwMDU1ODc3MzYKTmVpbiwgVWViZXJsYXN0dW5nLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBBU0NJSSAoTGluZmxhcywgMTMuIE5vdiAyMDAxLCAxNDo0Mjo0NSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNTU5ODEwNyByZz13d3cKfiMhIHRpZD0xMDA1NTg3NzM2CkFjaCwgZGllIGxpZWJlbiBBc2NpaSwgcGVyZmVrdCBmdWVyIE1vbm9jaHJvbWUgTW9uaXRvcmUgYXVzIGRlbSBsZXR6ZW4KSmFocmh1bmRlcnQuIFVtIHNvIGJlc3NlciwgamUgZ3JvZXNzZXIgZGVyIEJpbGRzY2hpcm06Cnd3dy5jY2MuZGUveHhjY2MvYmxpbmtlbmxpZ2h0cy5odG1sCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoQW5hY3Jpb24sIDE0LiBOb3YgMjAwMSwgMDI6MjI6MjcpOgoKSG9pIC4uCgpmdWVyIGFsbGUgcG9saXRpa2ludGVyZXNzaWVydGVuIGdlbmVpZ3RlbiBMZXNlciBoaWVyIG1hbCBlaW4gaW50ZXJlc3NhbnRlcgpMaW5rLiBJc3QgZWluZSBEaXNrdXNzaW9uIG1pdCBlaW5lbSBQcm9mLiBhbSBNSVQgZnVlciBTb3ppb2xvZ2llOgoKaHR0cDovL3d3dy56bWFnLm9yZy9HbG9iYWxXYXRjaC9jaG9tc2t5bWl0Lmh0bQoKVmllbCBTcGFzcwoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChIdW1uaSwgMTQuIE5vdiAyMDAxLCAwOToxOTowOSk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDA1NzAwOTQ3IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKTmFqYSBkYXMgaXN0IG5pY2h0IGlyZ2VuZCBlaW4gUHJvZiwgc29uZGVybiBOb2FtIENob21za3ksIGRlciBqZWRlbQpJbmZvcm1hdGlrZXIgYWxzIGRlciBWYXRlciBkZXIgQ2hvbXNreS1IaWVyYXJjaGllIGRlciBmb3JtYWxlbiBTcHJhY2hlbgpiZWthbm50IGlzdC4gVW5kICduZWJlbmJlaScgc2VpdCBKYWhyemVobnRlbiBGcmllZGVuc2FrdGl2aXN0LgoKQWJlciBkYW5rZSBmdWVyIGRlbiBMaW5rLCBzdWNoIHNjaG9uIGxhZW5nZXIgbWFsIHdhcyB2b24gaWhtIHp1IGRlbgpkZXJ6ZWl0aWdlbiBFcmVpZ25pc3Nlbi4KCkh1bW5pClBTOiBTb3ppb2xvZ2llPyBJc3QgZGVyIG5pY2h0IExpbmd1aXN0PyBJY2ggd2Vpc3MgZXMgYWJlciBuaWNodCwga2FubiBzZWluCmRhc3MgRHUgUmVjaHQgaGFzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoVHJveSwgMTQuIE5vdiAyMDAxLCAxMDoyMjoyNCk6Cn4jISBybj1IdW1uaSBydD0xMDA1NzI1OTQ5IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKbS4gRS4gaXN0IE5vYW0gQ2hvbXNreSBMaW5ndWlzdC4KClRyb3kgLSBrZW5udCBpaG4gdm9uIGRlciBDaG9tc2t5LU5vcm1hbGZvcm0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChHcmltbWJvcm4sIDE0LiBOb3YgMjAwMSwgMTA6MzA6MjgpOgp+IyEgcm49VHJveSBydD0xMDA1NzI5NzQ0IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKRGFzIGlzdCBuaWNodCBudXIgRC5FLiBzbywgc29uZGVybiB0YXRzYWVjaGxpY2guIEljaCBkYXJmIGhpbnp1ZnVlZ2VuOiBlaW4gb2IKc2VpbmVyIEFic3RyYWt0aW9uIHVuZCBLb21wbGV4aXRhZXQgZ2VmdWVyY2h0ZXRlciBzb2xjaGVyIChCZXVydGVpbHVuZyB2b24KYW5nZWhlbmRlbiBMaW5ndWlzdGVuIHVlYmxpY2hlcndlaXNlOiAiRGVyIGhhdCBlaW4gUmFkIGFiLCB2aWVsIHp1CmtvbXBsaXppZXJ0IikuIApXaWUgdmllbGUgaGVyYXVzcmFnZW5kZSBMZXV0ZSBkaWxsZXReV3NwaWVsdCBlciB3b2hsIGF1Y2ggYXVmIGFuZGVyZW4gR2ViaWV0ZW4KcnVtLiBJY2ggaGF0dGUgbmV1bGljaCBlaW4gQnVjaCB2b24gRXJ3aW4gU2Nocm9lZGluZ2VyIHVlYmVyIGRpZSBhbnRpa2VuCkdyaWVjaGVuIGluIGRlciBIYW5kLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChQYXRyeW4sIDE0LiBOb3YgMjAwMSwgMTA6MzI6NTcpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDU3MzAyMjggcmc9d3d3Cn4jISB0aWQ9MTAwNTcwMDk0NwpoaWVyYmVpIG1vZWNodGUgaWNoIGF1Y2ggbWFsIGVpbiBldHdhcyBhZWx0ZXJlcyB3ZXJrIGVtcGZlaGxlbiwKY29tcHV0ZXJkZW5rZW4gdm9uIHJvZ2VyIHBlbnJvc2UsCmRhcyBpc3QgbWFsIHBoaWxvc29waGllIGdlZGFjaHQgdm9uIGVpbmVtIGRlciBncm9lc3N0ZW4gcGh5c2lrZXIgdW5zZXJlcgp6ZWl0IHVuZCBuaWNodCB2b24gbW9lY2h0ZWdlcm4tdGVjaG5pa3BoaWxvc29waGVuIG1pdCAwIGR1cmNoYmxpY2suCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChHcmltbWJvcm4sIDE0LiBOb3YgMjAwMSwgMTA6NTA6MDgpOgp+IyEgcm49UGF0cnluIHJ0PTEwMDU3MzAzNzcgcmc9d3d3Cn4jISB0aWQ9MTAwNTcwMDk0NwpBcHJvcG9zLCBpbSBha3R1ZWxsZW4gTWF0aGVtYXRpY2FsIEludGVsbGlnZW5jZXIgZmluZGV0IHNpY2ggZWluZSBEaXNrdXNzaW9uCnVlYmVyIGRpZSBtYXRoZW1hdGlzY2hlbiBBc3Bla3RlIHZvbiBTY2hvZXBmdW5nIHVuZCBFdm9sdXRpb24uIENyZWF0aW9uaXNtdXMKZWlubWFsIGFuZGVycywgaXN0IG1hbiB2ZXJzdWNodCB6dSBzYWdlbi4gSXJnZW5kd2llIHNjaGVpdGVybiBkaWVzZSBMZXV0ZQpyZWdlbG1hZXNzaWcgYW4gaWhyZXIgVW5rZW5udG5pcyBkYXJ1ZWJlciB3YXMgRW50cm9waWUgZGVubiBudW4gZWlnZW50bGljaAppc3QuIElzdCBnYW56IGFtdWVzYW50IHp1IGxlc2VuLCB6dW1pbmRlc3Qgd2VubiBtYW5zIGJlc3NlciB3ZWlzcy4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChMaWFyYSwgMTQuIE5vdiAyMDAxLCAyMDoyODowMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNTczMTQwOCByZz13d3cKfiMhIHRpZD0xMDA1NzAwOTQ3CkF1amEsIGVya2xhZXIgbWFsISA6LSkKClpaTCwgaGF0IGlocmVuIFBDLVNjaGVpbiBoYXJ0IGVya2FlbXBmdCwgYWJlciB3aXJrbGljaCB2ZXJkaWVudD8gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChHcmltbWJvcm4sIDE0LiBOb3YgMjAwMSwgMjM6NDk6MDApOgp+IyEgcm49TGlhcmEgcnQ9MTAwNTc2NjA4MiByZz13d3cKfiMhIHRpZD0xMDA1NzAwOTQ3Ck5hamEsIHZlcnNjaGllZGVuZSAocGFydGllbGxlLCBpc3QgbWFuIGphIHZlcnN1Y2h0IHp1IHNhZ2VuKQpFbnRyb3BpZWdsZWljaHVuZ2VuIGdpYnRzIGluIGplZGVtIG1pdHRlbG1hZXNzaWdlbiBQQy1CdWNoLiBEaWUgRXJrbGFlcnVuZywKZGllIG0uRS4gZGFzIFByaW56aXAgYW0gYW5zY2hhdWxpY2hzdGVuIHZlcmRldXRsaWNodCBpc3QgaW4gZXR3YSAiRW50cm9waWUKc2FndCBldHdhcyBkYXJ1ZWJlciBhdXMsIHdpZSBzZWhyIGRpZSBFbmVyZ2llIGF1ZiBfYWxsZV8gZXJyZWljaGJhcmVuCkZyZWloZWl0c2dyYWRlIHZlcnRlaWx0IGlzdCIuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChBbmFjcmlvbiwgMTUuIE5vdiAyMDAxLCAwMDowODozNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwNTc3ODE0MCByZz13d3cKfiMhIHRpZD0xMDA1NzAwOTQ3CkhtbWphIC4uLgoKRGllIEVya2xhZXJ1bmcga29lbm50ZSBhdXMgbmVtIHVudmVyc3RhZW5kbGljaGVuIExlaHJidWNoIHNlaW4gKmcqCgpBbmFjKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoR3JpbW1ib3JuLCAxNS4gTm92IDIwMDEsIDAwOjE4OjA2KToKfiMhIHJuPUFuYWNyaW9uIHJ0PTEwMDU3NzkzMTYgcmc9d3d3Cn4jISB0aWQ9MTAwNTcwMDk0NwooVGF0c2FlY2hsaWNoKSB6dWZhZWxsaWcgYXVmZ2VzY2hsYWdlbmUgU2VpdGUgZWluZXMgc29sY2hlbiBCdWNoZXMgKEZpbmRlbmVnZzoKU3RhdGlzdGlzY2hlIFRoZXJtb2R5bmFtaWssIFN0ZWlua29wZmYsMTk4NSwgUy4gNzIpOgpFbnRyb3BpZSBlaW5lcyBlaW5hdG9taWdlbiwgaWRlYWxlbiBHYXNlczoKClMgPSAzLzIgTmsgKyBOayBsblsgKCAoMnBpbWtUKS8oaF4yKSApXigzLzIpIChWZSkvTl0gKyBTX2VsCgpLZWluZSBMdXN0IGRhcyBodWVic2NoIGluIExhVGVYIHp1IHNldHplbiwgaWNoIGJpbiBkYSBlaW4gYmlzY2hlbiBhdXMgZGVyClVlYnVuZy4gVW5kIGRhcyBpc3Qgc2Nob24gZWluZSBWZXJzaW9uIG1pdCBldGxpY2hlbiBWZXJlaW5mYWNodW5nZW4KKGVpbmF0b21pZywgaWRlYWwsIEdhcywgU19lbCBnZWh0IGV4dHJhKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdhcyBzbyBpbiBkZXIgV2VsdCBwYXNzaWVydCAuLi4gKEFuYWNyaW9uLCAxNS4gTm92IDIwMDEsIDAwOjE5OjQyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA1Nzc5ODg2IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKSG1tamEuCk9rLgpTYWdlbiB3aXIsIGRhcyBlcnN0ZSB3YXMgYmVzc2VyIHp1IHZlcnN0ZWhlbiBmdWVyIExhaWVuIDotKQoKQW5hYyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChHcmltbWJvcm4sIDE1LiBOb3YgMjAwMSwgMDA6MjA6MTYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDU3Nzk4ODYgcmc9d3d3Cn4jISB0aWQ9MTAwNTcwMDk0NwpBY2ggamE6ICJwaW1rVCIgPT0gKHBpKSBtYWwgTWFzc2UgbWFsIEJvbHR6bWFubi1Lb25zdGFudGUgbWFsIFRlbXBlcmF0dXIKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdhcyBzbyBpbiBkZXIgV2VsdCBwYXNzaWVydCAuLi4gKEFuYWNyaW9uLCAxNS4gTm92IDIwMDEsIDAwOjIxOjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA1NzgwMDE2IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKQWNoc28uIERhbm4gaXN0IGVzIGphIGdhbnogZWluZmFjaCA7LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoR2xvaW5zb24sIDE1LiBOb3YgMjAwMSwgMDQ6MDE6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMDU3ODAwMTYgcmc9d3d3Cn4jISB0aWQ9MTAwNTcwMDk0NwpVbmQgZGFubiBrb21tdCBlcyBub2NoIGF1ZiBkZW4gS29udGV4dCB2b24gIkVudHJvcGllIiBhbiwgd2llIHNjaGxhdW1laWVyaXNjaAptYW4gZGEgenUgV2Vya2UgZ2VoZW4gZGFyZi4gSW5mb3JtYXRpa2VyIGxlcm5lbiBkYXMgenVzYWV0emxpY2ggdW50ZXIgIkgoUCkgLQpHcmFkIGRlciBVbmJlc3RpbW10aGVpdCBlaW5lcyBFcmVpZ25pc3NlcyIgcmVsYXRpdiBwcmFnbWF0aXNjaCBpbiBkZXIKSW5mb3JtYXRpb25zdGhlb3JpZSBrZW5uZW4uCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoUGF0cnluLCAxNS4gTm92IDIwMDEsIDA3OjQ4OjU3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA1Nzc5ODg2IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKZW50cm9waWUgaXN0IGVpbiBtYXNzIGZ1ZXIgZGllIHVuYmVzdGltbXRoZWl0IHVuZCBsYWVzc3Qgc2ljaCBhdXMgZWluCnBhYXIgZ3J1bmRhbm5haG1lbiBoZXJsZWl0ZW4uCndlbm4gbWFuIGRpZSB3YWhyc2NoZWlubGljaGtlaXRlbiB3X2kgenUgZGVuIGVyZWlnbmlzc2VuIEFfaSBoYXQsIGRhbm4KZ2lsdCB6YjoKd19uaT0xIC0+IFMoe3dfbml9KT0wLCBhbHNvIHdlbm4gZWluIGVyZWlnbmlzIHNpY2hlciBpc3QsIGlzdCBlbnRyb3BpZSAwCiAoc3VtbWUgYWxsZXIgd2t0bi4gaXN0IDEsIG5pIHdfbmk9MSBiZWRldXRldCBlcmVpZ25pcyBBX25pIHRyaWZmdCAxMDAlaWcKICBlaW4uLi5zbyBwb3B1bGFlcndpc3NlbnNjaGFmdGxpY2gpClMoey4uLix3X24xLHdfbjIsLi4ufSk9Uyh7Li4uLHdfbjIsd19uMSwuLi59KSwgZW50cm9waWUgc29sbCBhbHNvIGtlaW5lCndlcnR1bmcgZGVyIHdrdG4uIHZvcm5laG1lbiwgaXN0IGluIGdld2lzc2VtIHNpbm5lIHN5bW1ldHJpc2NoLgp1bmQgYWxzIDMuIHB1bmt0OgpTKHt3X25tfSk9Uyh7d19ufSkrc3VtbWVVZWJlcl9uIFMoe3dfbXxufSksCndfbXxuIGlzdCBiZWRpbmd0ZSB3a3QuLCB3X25tIHdrdC4gZnVlciBnbGVpY2h6ZWl0aWdlcyBlaW50cmV0ZW4gdm9uIEFfbi9BX20KbnVuIGthbm4gbWFuIGhlcmxlaXRlbjoKUyA9IC1rIHN1bW1lX24gd19uKmxuKHdfbikKd2llIGtvbW10IG1hbiBudW4genUgb2JpZ2VyIGZvcm1lbD8KZGFmdWVyIGJyYXVjaHQgbWFuIGRpZSBheGlvbWUgZGVyIHRoZW1vZHluYW1paywgemIKaW5uZXJlIGVuZXJnaWUgZFUgPSBkZWx0YV9RICsgZGVsdGFfQSwKdGhlcm1vZHluYW1pc2NoZSBlbnRyb3BpZTogZFMgPSBkZWx0YV9RIC8gVCAoYWJzb2x1dGUgdGVtcGVyYXR1cikKd2VubiBtYW4gamV0enQgcnVtcmVjaG5ldCBrYW5uIG1hbiBiZWlkZXMgZ2xlaWNoc2V0emVuIHVuZCBlcmhhZWx0CmJlemllaHVuZ2VuLgpmdWVyIGRhcyBlaW5hdG9taWdlIGdhcyBicmF1Y2h0IG1hbiBkYW5uIG5vY2ggaGFtaWx0b24tZnVua3Rpb24sCmRhbWl0IGthbm4gbWFuIHp1c3RhbmRzc3VtbWUgYXVzcmVjaG5lbiwgZGFtaXQgZXJoYWVsdCBtYW4gZnJlaWUgZW5lcmdpZSB1bmQKZGFtaXQgYWxsZSB0aGVtb2R5bmFtaXNjaGVuIGdyb2Vzc2VuIHVuZCBlbnRyb3BpZS4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChaYXJuaXlhLCAxNS4gTm92IDIwMDEsIDA4OjQ5OjEwKToKfiMhIHJuPVBhdHJ5biBydD0xMDA1ODA2OTM3IHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKUGF0cnluLCB1bmQgaWNoIGRhY2h0ZSwgaWNoIGhhZXR0ZSBlaW5lbiBIYW5nIHp1bSBLbHVnc2NoZWlzc2VybiEKCk1hcmMgbWVpbnQsIGRhc3MgZXMgc28gYXVzZnVlaHJsaWNoIHdpcmtsaWNoIGhpZXIga2VpbmVuIGludGVyZXNzaWVydCBoYWV0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoQmFtYmksIDE1LiBOb3YgMjAwMSwgMDg6NTc6MDYpOgp+IyEgcm49WmFybml5YSBydD0xMDA1ODEwNTUwIHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKSWNoIGhhYiBrZWluZSBkZXIgZHJlaSBCZWlzcGllbGUvRXJrbGFlcnVuZ2VuIHZlcnN0YW5kZW4uIExlcm50IG1hbiBkYXMgbnVyIGFuCmRlciBVTkkgb2RlciBhdWNoIGFuIGRlciBGSD8gVW5kIG11c3MgbWFuIGRhcyB2ZXJzdGVoZW4sIHdlbm4gbWFuIEluZm9ybWF0aWtlcgpzZWluIHdpbGwgb2RlciBkYXJmIG1hbiBzaWNoIGRhcyB6dSBnZWdlYmVuZW0gWmVpdHB1bmt0IG1pdHRlbHMgZWluZXMKZ2VlaWduZXRlcmVuIE1lZGl1bXMgYWxzIGRlciBNUEEgYmVpYnJpbmdlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXYXMgc28gaW4gZGVyIFdlbHQgcGFzc2llcnQgLi4uIChHcmltbWJvcm4sIDE1LiBOb3YgMjAwMSwgMDk6MTA6NTIpOgp+IyEgcm49QmFtYmkgcnQ9MTAwNTgxMTAyNiByZz13d3cKfiMhIHRpZD0xMDA1NzAwOTQ3ClBhdHJ5biwgaWNoIGhhYmUgLSBlcnN0IHJlY2h0IHVtIGRpZXNlIFVocnplaXQgLSBrZWluZSBMdXN0IGRhIGFuZ2VzdGF1YnRlCkJ1ZWNoZXIgenUgam9uZ2xpZXJlbi4gSW0gd2VzZW50bGljaGVuIHNpZWh0IGRhcyByaWNodGlnIGF1cywgd29iZWkgRHUKdmVybXV0bGljaCBXYWhyc2NoZWlubGljaGtlaXQgYW5kZXJzIGRlZmluaWVyZW4gbXVzc3QuIChNYXhpbWFsZSkKTWlzY2h1bmdzZW50cm9waWUgaXN0IHNvd2FzIHdpZSBlaW5lIGtvbGxpZ2F0aXZlIEVpZ2Vuc2NoYWZ0LCBoYWVuZ3QgYWxzbyBudXIKdm9uIGRlciBBbnphaGwgZGVyIFRlaWxjaGVuIGFiLiBEZW5ub2NoIGlzdCBkaWUgV2FocnNjaGVpbmxpY2hrZWl0IGltCmhlcmtvZW1tbGljaGVuIFNpbm5lLCBkYXNzIHNpY2ggendlaSBHYXNlIG1pc2NoZW4sIHdlc2VudGxpY2ggaG9laGVyIGFscyBkYXNzCmRhcyB6d2VpIEZlc3RzdG9mZmUgdHVuLiBJbnNvZmVybiB3aXJkIGlpcmMgZWluIGVoZXIga29tYmluYXRvcmlzY2hlciBBbnNhdHosCnNvd2FzIHdpZSBTdW1tZSB1ZWJlciAiQW56YWhsIGRlciBtb2VnbGljaGVuIFp1c3RhZW5kZSIgbWl0ICJFbmVyZ2llIGRlcwpqZXdlaWxpZ2VuIFp1c3RhbmRlcyIsIGJldm9yenVndC4gVW5kIGRhc3MgUz0wIGlzdCBiZWkga2VpbmVuCldhaGxtb2VnbGljaGtlaXRlbiAoPT0gYWJzb2x1dGVyIE51bGxwdW5rdCwgcmVpbmVyIFN0b2ZmKSBpc3QgZWluZSBEZWZpbml0aW9uCihvZGVyLCB3aWUgTWF0aGVtYXRpa2VyIHdvaGwgc2FnZW4gd3VlcmRlbiwgZWluZSBOb3JtaWVydW5nKS4gRGFoZXIKYmVzY2hhZWZ0aWd0IG1hbiBzaWNoIG1laXN0IG1pdCBFbnRyb3BpZWFlbmRlcnVuZ2VuLCB1bmQgZGllIGtvZW5uZW4gc2FmdGlnCnNlaW4gKHNpbmQgei5CLiBkYWZ1ZXIgdmVyYW50d29ydGxpY2ggc2VpbiBkYXNzIHNpY2ggYmVpbSBMb2VzZW4gYmVzdGltbXRlcgpTYWx6ZSBpbiBXYXNzZXIgZGllIFRlbXBlcmF0dXIgZXJuaWVkcmlndCkuIAoKQmFtYmk6IGlzdCBkb2NoIGdhbnogZWluZmFjaC4gRW50cm9waWUgaXN0IGluIGdld2lzc2VyIFdlaXNlIGVpbiBNYXNzIGZ1ZXIgZGllClVub3JkbnVuZy4gV2VubiBpY2ggei5CLiBlaW5lbiBTdG9mZiBlcndhZXJtZSBmdWVocmUgaWNoIGlobSBFbmVyZ2llIHp1LCBkaWVzZQptdXNzIHZlcnRlaWx0IHdlcmRlbi4gRC5oLiBqZWRlcyAoR2FzLSkgVGVpbGNoZW4gd2lyZCBlaW4gYmlzY2hlbiBzY2huZWxsZXIsCndlaWwgc28gZGllIEVuZXJnaWUgYW0gZ2xlaWNobWFlc3NpZ3N0ZW4gdmVydGVpbHQgd2lyZC4gV2VubiBudXIgZGllIEhhZWxmdGUKZGVyIFRlaWxjaGVuIGRvcHBlbHQgc28gc2NobmVsbCB3YWVyZSBoYWV0dGUgaWNoIHp3YXIgZ2VuYXVzbyB2aWVsIEVuZXJnaWUKenVnZWZ1ZWhydCwgYWJlciBkaWUgIlVub3JkbnVuZyIgd2FlcmUgbWFzc2l2IGdlcmluZ2VyLCB1bSB3aWV2aWVsIHJlY2huZXQgRGlyClBhdHJ5biBzaWNoZXIgZ2VybmUgYXVzLiA7LSkgV2VubiBpY2ggd2VpdGVyIEVuZXJnaWUgenVmdWVnZSBzdGVsbGVuIGRpZQpUZWlsY2hlbiBmZXN0LCBkYXNzIHNpZSB2aWVsbGVpY2h0IGF1Y2ggbm9jaCByb3RpZXJlbiBrb2VubmVuLCBvZGVyIHNjaHdpbmdlbgood2VubiBzaWUgei5CLiBnZXdpbmtlbHQgc2luZCB3aWUgZGFzIFdhc3Nlcm1vbGVrdWVsKS4gQXVjaCBpbiBkaWVzZQpCZXdlZ3VuZ2VuIGthbm4gbWFuIEVuZXJnaWUgc3RlY2tlbiwgdW5kIGRhcyBwYXNzaWVydCBhdWNoLCBzbyBkYXNzIGxldHp0bGljaAppbiBqZWRlciBNb2VnbGljaGtlaXQsIGRpZSBFbmVyZ2llIGF1Zm5laG1lbiBrYW5uICgiRnJlaWhlaXRzZ3JhZCIpIGdsZWljaHZpZWwKRW5lcmdpZSBzdGVja3QuIFdhZXJlIGVzIG5pY2h0IGdsZWljaHZpZWwgd2FlcmUgZGllIEVuZXJnaWUgbmljaHQKZ2xlaWNobWFlc3NpZyB2ZXJ0ZWlsdCB1bmQgZGFtaXQgZGllIFVub3JkbnVuZyBrbGVpbmVyLiAKRGllc2UgIlVub3JkbnVuZyIgamV0enQgcXVhbnRpdGF0aXYsIG5vY2ggZGF6dSBuaWNodCBudXIgYmVpbSBHYXMsIHNvbmRlcm4KYXVjaCBub2NoIGFsbGdlbWVpbiwgenUgZXJmYXNzZW4gaXN0IGF1cyB2ZXJzY2hpZWRlbmVuIEJsaWNrd2lua2VsbiBtb2VnbGljaC4KVW5kIGJlbGllYmlnIGtvbXBsaXppZXJ0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2FzIHNvIGluIGRlciBXZWx0IHBhc3NpZXJ0IC4uLiAoR3JpbW1ib3JuLCAxNS4gTm92IDIwMDEsIDA5OjEyOjA1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA1ODExODUyIHJnPXd3dwp+IyEgdGlkPTEwMDU3MDA5NDcKWmVpbGUgNzogcy9rb21iaW5hdG9yaXNjaC9zdGF0aXN0aXNjaC8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BhY2VkIFBlbmd1aW4hIChXb29keSwgMTkuIE5vdiAyMDAxLCAyMjoyMTowMik6Cmh0dHA6Ly93d3cuYmlnaWRlYS5jb20vcGVuZ3VpbnMva2lkcy9rX3NwYWNlZHBlbmd1aW4uaHRtCgooVm9yc2ljaHQuIFN1Y2h0Z2VmYWhyLikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BhY2VkIFBlbmd1aW4hIChCaXJkeSwgMjAuIE5vdiAyMDAxLCAwMDowNzowNik6Cn4jISBybj1Xb29keSBydD0xMDA2MjA0ODYyIHJnPXd3dwp+IyEgdGlkPTEwMDYyMDQ4NjIKbHVzdGlnLiA6KSBtZWluIHBpbmd1aW4gc2Nod2VidCBzY2hvbiBzZWl0IDEwIG1pbnV0ZW4gcnVtLCBpY2ggaGFiIGRhIGVpbmUKa3VydmUgZ2VmdW5kZW4sIHdvIGVyIHp3aXNjaGVuIGRlbiBwbGFuZXRlbiBoaW4gdW5kIGhlciB0cmVpYnQuIGljaCBnbGF1YiwgZGFzCndpcmQgbml4IG1laHIuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGFjZWQgUGVuZ3VpbiEgKFdvb2R5LCAyMC4gTm92IDIwMDEsIDAwOjE2OjQ3KToKfiMhIHJuPUJpcmR5IHJ0PTEwMDYyMTEyMjYgcmc9d3d3Cn4jISB0aWQ9MTAwNjIwNDg2MgpKYS4gRGFzIGthbm4gZHVyY2hhdXMgcGFzc2llcmVuIChuZW5ucyBiaXR0ZSBPcmJpdCwgdW5kIG5pY2h0IEt1cnZlIDspICkuCkFuc29uc3RlbiBrYW5uIG1hbiBzbyBhYmVyIG5lIE1lbmdlIFB1bmt0ZSBlaW5zYWNrZW4uIEljaCBzdGVoIGR6dC4KYmVpIDEuNyBNaW8uIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTEFJRU5IQUZURSBOT0NLRU4hIChMaWFyYSwgMjAuIE5vdiAyMDAxLCAxMjoyOToyOSk6Ck1vaW5zIDstKQoKU29lYmVuIGhhYmUgaWNoIGVpbmUgTWFpbCB2b24gamluYmlhQGJlcmxpbi5kZSBiZWtvbW1lbi4gRGVyIEJldHJlZmYgKHMuClRpdGVsKSBzYWd0ZSBtaXIgenVuYWVjaHN0IG1hbCBnYXIgbml4LiAqZyoKTmFjaGRlbSBzaWNoIGRlciBFeHBsb3JlciBnZW9lZmZuZXQgaGF0dGUsIHdhciBlcyBkYW5uIGtsYXIsIG1hbiBzYWggZGl2ZXJzZQpNYWVkZWxzIG1pdCBkaXZlcnNlbiBPYmVyd2VpdGVuIC4uLgoKUHJpbnppcGllbGwgaXN0IHNvd2FzIHdvaGwgcmVpY2hsaWNoIHVuaW50ZXJlc3NhbnQsIGFiZXIgZGllIFNlaXRlIGhhdCBkb2NoIHNvCnNlaW5lbiBlaWdlbmVuIENoYXJtZSB3ZWdlbiBkZXIgVWViZXJzZXR6dW5nIDstKToKCkRpZSBiZXN0ZW4gQWJiaWxkdW5nZW4gZGVyIGhlaXNzZXN0ZW4ganVuZ2VuIGp1Z2VuZGxpY2ggTWFlZGNoZW4uLiBHZXJhZGVzCkRvd25sb2FkIHVuc2VyZSBXZWItTm9ja2VuIHNvZnR3YXJlIQoKUmVpbmUgSnVnZW5kbGljaCBTaXRlcyBkZXIgU3Vlc3NpZ2tlaXRPYmVyc2VpdGUgMTAwIC4uLgoKRWluaWdlIGRlciBNYWVkY2hlbiBuaWNodCBzb2dhciBrZW5uZW4gSWhyIFVlYmVyd2FjaGVuISAoZXMgcGxvcHB0ZSBlaW4KRmVuc3RlciBhdWYgZnVlciBlaW5lIFdlYmNhbS1Tb2Z0d2FyZSkKCgoKU29sbCBpY2ggZGVuIExpbmsgcG9zdGVuPyA7LSkpCgpaWkwsIGthbm4gc2ljaCBncmFkZSBub2NoIGJlaGVycnNjaGVuCgpQLiBTLjogV2VuIHd1bmRlcnQgZXMsIGFuIGRpZSBBZHJlc3NlIGthbm4gbWFuIGF1Y2ggbml4IHNjaGlja2VuLCB1bSBzaWNoIHp1CmJlc2Nod2VyZW4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3BhY2VkIFBlbmd1aW4hIChXdXJ6ZWwsIDIwLiBOb3YgMjAwMSwgMjM6NTM6MzMpOgp+IyEgcm49V29vZHkgcnQ9MTAwNjIxMTgwNyByZz13d3cKfiMhIHRpZD0xMDA2MjA0ODYyCndlaXNzIG5pY2h0IGdlbmF1IHdvIGljaCBzdGVoZS4gd2VyZGUgbW9yZ2VuIGZydWVoIG1hbCBuYWNoc2VoZW4sIG9iIGVyIG5vY2gKaW1tZXIgc2VpbmUga3JlaXNlIHppZWh0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXJhZGUgYXVmIEhlaXNlIGdlc2VoZW4uLiAoT3JrdG9ldGVyLCAyMS4gTm92IDIwMDEsIDE1OjEzOjE3KToKCmh0dHA6Ly93d3cuaGVpc2UuZGUvCgpTTVMgZXJpbm5lcnQgYW4gRHJvZ2VuIHVuZCBCYWJ5cwoKT2IgZGllIGRhcyBuaWNodCBsaWViZXIgaW0gb3JpZ2luYWwgZ2VsYXNzZW4gaGFldHRlbj8KCk9ya1QsIGtvcGZzY2h1ZXR0ZWxuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMQUlFTkhBRlRFIE5PQ0tFTiEgKFNjaHd1YmJlbCwgMjEuIE5vdiAyMDAxLCAxOTowMjozNyk6Cn4jISBybj1MaWFyYSBydD0xMDA2MjU1NzY5IHJnPXd3dwp+IyEgdGlkPTEwMDYyNTU3NjkKSmEsIGphLCBkaWUgTm9ja2VuLi4uLgoKU292aWVsIGljaCB3ZWlzcywgZHVlcmZ0ZSBkZXIgQmFiZWxmaXNjaCB2ZXJzYWd0IGhhYmVuLiBXZWIgQ2FtID0gV2Vibm9ja2VuLAp2b24gd2VnZW4gQ2Ftc2hhZnQgPSBOb2NrZW53ZWxsZS4KClZpZWxsZWljaHQgc29sbHRlIG1hbiBBbHRhdmlzdGEgbWFsIG5lbiBUaXAgZ2ViZW4sIGRhc3MgZnVlciBkaWUgRmlja3NlaXRlbgpTcGV6aWFsd29lcnRlcmJ1ZWNoZXIgbm9ldGlnIHNpbmQuCgpTY2h3dWJiZWwsCm5vY2ssIG5vY2ssIGhvb3MgdGhlcmU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTEFJRU5IQUZURSBOT0NLRU4hIChBenp1cm8sIDIyLiBOb3YgMjAwMSwgMTI6MDg6MjYpOgp+IyEgcm49TGlhcmEgcnQ9MTAwNjI1NTc2OSByZz13d3cKfiMhIHRpZD0xMDA2MjU1NzY5CkhhdCBqZW1hbmQgbmUgQWhudW5nIG9iIGVzIHNpY2ggYmVpIGRpZXNlciBTcGFtbWFpbCBuaWNodCB1bSBlaW5lbiBWaXJ1cwpoYW5kZWx0PwpIYWJlIGJlc2FndGUgTWFpbCBoZXV0ZSBhdWNoIGJla29tbWVuLiBIaW56dWthbSwgZGFzcyBpY2ggZWluZQpCZW5hY2hyaWNodGlndW5nIGJla2FtLCBkYXNzIGVpbmUgTWFpbCB2b24gbWlyIG5pY2h0IGdlc2VuZGV0IHdlcmRlbiBrb25udGUsCmRhIGRlciBBYnNlbmRlciBuaWNodCBiZWthbm50IHdhci4gRGllc2UgTWFpbCBoYXR0ZSBkZW4gc2VsYmVuIFRleHQgenUgSW5oYWx0CnVuZCBpY2ggaGFiZSBzaWUgd2Vpc2dvdHQgbmljaHQgZ2VzY2hpY2t0LgpEYW5uIGhhYmUgaWNoIG1laW5lbiBSZWNobmVyIGhvY2hnZWZhaHJlbiB1bmQgd2llIGR1cmNoIFp1ZmFsbCBnZWh0IGdlbmF1CmRpZXNlIE5vY2tlbnNlaXRlIGF1Ziwgb2J3b2hsIGljaCBpbiBsZXR6dGVyIFplaXQgd2VnZW4genUgdmllbCBBcmJlaXQKa2VpbmVybGVpIFdlYnNpdGVzIG1pdCBuaWNodCBqdWdlbmRmcmVpZW0gSW5oYWx0IGF1Zmdlc3VjaHQgaGFiZS4KVmVyd3VuZGVydCBtaWNoIGVpbiB3ZW5pZywgZGllc2UgQW5laW5hbmRlcnJlaWh1bmcgdm9uIFp1ZmFlbGxlbi4KV2Vpc3MgZGEgamVtYW5kIG1laHIgZHJ1ZWJlcj8KQXp6dXJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExBSUVOSEFGVEUgTk9DS0VOISAoQW1hcnlsbGlzLCAyMi4gTm92IDIwMDEsIDEyOjE2OjEyKToKfiMhIHJuPUF6enVybyBydD0xMDA2NDI3MzA2IHJnPXd3dwp+IyEgdGlkPTEwMDYyNTU3NjkKRGFzcyBEdSBlaW5lbiBCb3VuY2UgYmVrb21tZW4gaGFzdCwgZC5oLiBlaW5lIE1haWwsIGRhc3MgZWluZSBNYWlsIHZvbiBEaXIKbmljaHQgZ2VzZW5kZXQgd2VyZGVuIGtvbm50ZT8KR3JhdHVsYXRpb24uIERpZXNtYWwgaGF0IGVzIGViZW4gRGljaCBlcndpc2NodC4KRGVyIFNwYW1tZXIgaGF0IGFscyBBYnNlbmRlYWRyZXNzZSB3b2hsIG1hbCBEZWluZSBBZHJlc3NlIGVpbmdldHJhZ2VuLCBzb2Rhc3MKRHUgenVzYWV0emxpY2ggenVtIFNwYW0gYXVjaCBub2NoIG1pdCBlaW5lbSBvZGVyIG1laHJlcmVuIEJvdW5jZXMgYmVlaHJ0CndpcnN0LgoKR3J1c3MsCkFtYSosIGRlciBkYXMgYXVjaCBhYiB1bmQgYW4gcGFzc2llcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMQUlFTkhBRlRFIE5PQ0tFTiEgKEF6enVybywgMjIuIE5vdiAyMDAxLCAxMjozNDo1OCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAwNjQyNzc3MiByZz13d3cKfiMhIHRpZD0xMDA2MjU1NzY5CkhtbW0uLi4gaGFiZSBtaXIgbWFsIGRpZSBnZWxvZXNjaHRlIE1haWwgbm9jaG1hbCB6dSBHZW11ZWh0ZSBnZWZ1ZWhydC4gU2llCmJlaW5oYWx0ZXQgSmF2YSBTa3JpcHQuIFF1b3RlIG1hbCBkaWUgZXJzdGVuIHBhYXIgWmVpY2hlbiwgZGEgZGFzIEdhbnplIHVlYmVyCmVpbiBwYWFyIHNlaXRlbiBmdWVsbHQgKGFsbGVyZGluZ3MgbmFjaCBkZW0gc2VsYmVuIE11c3Rlcik6CjxzY3JpcHQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPmZ1bmN0aW9uIHVybGdyZXkoKQp7Zkk5bXh5NVpkPSJESj1URj8yMzo8TVRCZT9DNT9YPTZURkU2Mzs4TjpHU0lIRyI7Zkk5bVh5NVpkPSI0NTZISEhUSChONjUuLCY0NSUKXiAuLi4KRGFuYWNoIGdlaHQgZXMgZGFubiB3aWVkZXIgbG9zIG1pdCA+c2NyaXB0IExBTkdVQUdFIC4uLi4gYWJlciBhbmRlcmUKWmFobGVua29sb25uZW4uCgpTZWxic3Qgd2VubiBpY2ggbnVyIGRlbiBQYXBpZXJrb3JiIGF1Zm1hY2hlIHZvbiBOZXRzY2FwZSBNYWlsLCBwb3BwdCBzb2ZvcnQKZGllIFNleHNlaXRlIGF1Zi4KVW5kIE5ldHNjYXBlIE1vc3RlciBkYXMgZWluIGFwcGxpY2F0aW9uL3gtZ2liLWNoYXJnaXRwbHVnIC0gUGx1Z2luIGZlaGx0LCBkYXNzCmljaCBhYmVyIGdlcm5lIGJlemllaGVuIGthbm4uCndlaXRlcmUgTWVpbnVuZ2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTEFJRU5IQUZURSBOT0NLRU4hIChJbWRhLCAyMi4gTm92IDIwMDEsIDEzOjE0OjE3KToKfiMhIHJuPUF6enVybyBydD0xMDA2NDI4ODk4IHJnPXd3dwp+IyEgdGlkPTEwMDYyNTU3NjkKaG1tLCB3ZW5pZ3N0ZW5zIGhhYmUgaWNoIGhldXRlIG1vcmdlbiBlcmxlaWNodGVydCBmZXN0Z2VzdGVsbHQsIGRhc3MgIklocgpLZW5ud29ydCBpc3QgdmFsaWRpZXJ0IHdvcmRlbiBmdWVyIDMwIFRhZ2VzZ2VzY2hsZWNodHp1Z3JpZmYiIDspCmltIHVlYnJpZ2VuIG1pdCBkZW0gZ2xlaWNoZW4gamF2YWtyYW0uIGlzIGRhcyBtb2RlID8gCgpJbWRhLiBqZXR6dCB2YWxpZGllcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBMQUlFTkhBRlRFIE5PQ0tFTiEgKE1hcmN1cywgMjIuIE5vdiAyMDAxLCAxNTo0MzoyNCk6Cn4jISBybj1JbWRhIHJ0PTEwMDY0MzEyNTcgcmc9d3d3Cn4jISB0aWQ9MTAwNjI1NTc2OQp4LWdpYi1jaGFyZ2l0cGx1ZyBwbHVnaW4/IGJlc3RpbW10IGlzdCBkYXMgcGx1Z2luIGVpbiAwMTkwIGRpYWxlci4KClVuZCBkZXIgamF2YXNjcmlwdCBjb2RlIGlzdCBudXIgZnVlcnMgZW50c2NobHVlc3NlbG4gZGVyIHNleHBhZ2UKdmVyYW50d29ydGxpY2gKZGVua2UgaWNoIG1hbC4KCkNpYW8sIE1hcmN1cwo6MEIKKiAuKihTQ1JJUFQuKkxBTkdVQUdFLipqYXZhc2NyaXB0KQovZGV2L251bGwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExBSUVOSEFGVEUgTk9DS0VOISAoVHJ1ZywgMjIuIE5vdiAyMDAxLCAxNzozNzo0NCk6Cn4jISBybj1Benp1cm8gcnQ9MTAwNjQyODg5OCByZz13d3cKfiMhIHRpZD0xMDA2MjU1NzY5CkRlciBrb21pc2NoZSBaYWhsYXNhbGF0IGlzIGVpbiBqYXZhc2NyaXB0IC8gbmUgdXJsIGRpZSBkYSBoYWx0IGR1cmNoIGVpbgphbmRyZXMgYW4gZWluZXIgYW5kZXJlbiBzdGVsbGUgJ2Rla29kaWVydCcgd2lyZC4gaXN0IG5pY2h0IG1laHIgYWxzIGVpbiB4b3IKb2RlciBzb3dhcy4KCnRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IExBSUVOSEFGVEUgTk9DS0VOISAoQXp6dXJvLCAyNS4gTm92IDIwMDEsIDAwOjQ4OjQzKToKfiMhIHJuPVRydWcgcnQ9MTAwNjQ0NzA2NCByZz13d3cKfiMhIHRpZD0xMDA2MjU1NzY5Clp1ciBBYndlY2hzbHVuZyBtYWwgZWluIFJhZXN0ZWwgYXVzIGRlbSBCYWJlbGZpc2gtS29udGV4dDoKCldhcyB3aWxsIHVucyBkaWVzZSBVZWJlcnNldHp1bmcgc2FnZW4gKERldXRzY2ggLT4gRnJhbnogLT4gRW5nbGlzY2ggLT4KRGV1dHNjaCkKVGlwcDogSGF0IHdhcyBtaXQgZGVtIE1HIHp1IHR1bi4KRGllIEFydCwgZGllIGFtIGFuZ2VuZWhtc3RlbiBpc3QsIGRhcyBuZXVlcmUgaW1tZXIgenUgbGVzZW4sIGlzdCBkaWUgRnVua3Rpb24KJyBubiwgJywgZGFzIGRpZXNlIEZ1bmt0aW9uIGRpZSBmb2xnZW5kZW4gdW5jdWx0aXZhdGVkIGJlaXp1YmVoYWx0ZW5lbgpJbmZvcm1hdGlvbmVuIGRlcyBRdWFsaXRhZXRzc3VjaHZvcmdhbmdlcyBtdXNzIHNpY2ggaW4gZGVyIGluIGFuZGVyZW4KS29wZnRleHRlbiBpbW1lciBhdXRvbWF0aXNjaCBlbmdhZ2llcmVuIHVuZCwgZGllIGVpbmVyIGJlcmVpdHMgZ2VsZXNlbi4gV2VubgptYW4gbmljaHQgZGVubm9jaCBlaW5lbiBLb3BmdGV4dCBsZXNlbiBtb2VjaHRlLCAnIHZlcm5hY2hsYWVzc2lndCA8IGVpbmUgRG9zZQonICcgd2llIGRlbiBLb3BmdGV4dCwgPiAnLCBkYXMgZGVyIHZvbGxzdGFlbmRpZ2UgS29wZnRleHQgaGluc2ljaHRsaWNoIGJlcmVpdHMKTWFya2llcnVuZyBnZWxlc2VuZW4gJyBhbGxlcyAnIGdlcmFkZSB3aWUgZ2VsZXNlbiB3aXJkIGdla2VubnplaWNobmV0ICcgZnVlaHJ0CicuIERhcyBlbXBmaWVobHQgc2ljaCB1bmQgdW5kIHdlbm4gbWFubiBkYXMgZXJzdGUgZXJyZWljaHQgd3VyZGVuLAprZW5uemVpY2huZXQgamVuZXMgbXBhLiBFaW4ga2FubiBlaW5lbiBLb3BmdGV4dCBiZWVuZGVuIHZvbGxzdGFlbmRpZyAnIGJlZW5kZXQKPCBkZW4gS29wZnRleHQgPiAnLiBlaW5lIERvc2UgJywgZGllIGRhbm4gaW1tZXIgJyBvZGVyIGRpZSAnIEFydGlrZWwnIExpcmEKZ2VsZXNlbiB3aXJkLCBhYmVyICcgbm4sICcsIGRhcyBkZXIgS29wZnRleHQgdmVybmFjaGxhZXNzaWd0LiBOb3JtYWxlCkFud2VuZHVuZzogTWl0IGRlbSBubiBkZXIgcmVnZWxtYWVzc2lnZW4gQWJzdGFlbmRlIHp1bSBlaW5mYWNoIEF1c251dHplbiB2b24KWmVpdC4gRWluIGthbm4gbmljaHQgYW4gZ2FueiBlaW5mYWNoIGFsbGUgS29wZnRleHRlIGZvcnRzZXR6ZW4uLi4sIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTEFJRU5IQUZURSBOT0NLRU4hIChTaWx2YW5hLCAyNS4gTm92IDIwMDEsIDAxOjQ1OjQyKToKfiMhIHJuPUF6enVybyBydD0xMDA2NjQ1NzIzIHJnPXd3dwp+IyEgdGlkPTEwMDYyNTU3NjkKS2xpbmd0IG5hY2ggZGVuIGVyc3RlbiBBYnNhZXR6ZW4gYXVzICJoaWxmZSB6ZWl0dW5nIi4KCiAgU2lsdmFuYSAoaGF0IHNvd2FzIGlyZ2VuZHdhbm4gbWFsIGdlbGVzZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcml2YWN5LUNhcmQgKFRpYW1haywgMjUuIE5vdiAyMDAxLCAyMTo1Mjo1MSk6Cmh0dHA6Ly93d3cuZm9lYnVkLm9yZy90ZXh0ZS9ha3Rpb24vcHJpdmFjeS1jYXJkL2luZGV4Lmh0bWwKCgpUaWFtYWsgc2FndDogbmV0dGUgSWRlZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1bnRlIEJpbGRjaGVuIChMaW5mbGFzLCAyNi4gTm92IDIwMDEsIDE3OjMwOjEzKToKWndhciB3aXNzZW5zY2hhZnRsaWNoLCBhYmVyIG1hbmNoZXMgaHVlYnNjaCBhbnp1c2VoZW46Cgp3d3cuaWNhMS51bmktc3R1dHRnYXJ0LmRlL21vdmllcwoKTC4sIGRlbmt0IGdyYWRlIGFuIGRhcyBndXRlIGFsdGUgSUNBIGF1ZiBkZW0gQzY0IHp1cnVlY2suLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdW50ZSBCaWxkY2hlbiAoQW5hdG9sLCAyNi4gTm92IDIwMDEsIDE3OjMzOjM1KToKfiMhIHJuPUxpbmZsYXMgcnQ9MTAwNjc5MjIxMyByZz13d3cKfiMhIHRpZD0xMDA2NzkyMjEzCkRhcyAibSIgaW4gIm1vdmllcyIgaGFldHRlIGVpbiAiTSIgc2VpbiBzb2xsZW4sIG9kZXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCdW50ZSBCaWxkY2hlbiAoTGluZmxhcywgMjYuIE5vdiAyMDAxLCAxNzozNTozMik6Cn4jISBybj1BbmF0b2wgcnQ9MTAwNjc5MjQxNSByZz13d3cKfiMhIHRpZD0xMDA2NzkyMjEzCkphLCBtZWluIEZlaGxlciwgdmVyemVpaHQgSWhyIG1pcj8KCnd3dy5pY2ExLnVuaS1zdHV0dGdhcnQuZGUvTW92aWVzCgpNaXQgTSwgdW5kIG5pY2h0IG0uCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi5rb2VubnRlIGF1Y2ggaW4gcnVicmlrIHdpdHplLi4gKE5penpsLCAyNi4gTm92IDIwMDEsIDIzOjA0OjAzKToKaHR0cDovL3d3dy5oYW5uaW5nZXIuZGUudnUvCldlciB6dSBMYWNoa3JhZW1wZmVuIG5laWd0LCBkaWVzZSBTZWl0ZSB1bmJlZGluZ3QgbWVpZGVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC4ua29lbm50ZSBhdWNoIGluIHJ1YnJpayB3aXR6ZS4uIChBbGJvaW4sIDI3LiBOb3YgMjAwMSwgMTU6NTY6NTQpOgp+IyEgcm49Tml6emwgcnQ9MTAwNjgxMjI0MyByZz13d3cKfiMhIHRpZD0xMDA2ODEyMjQzCm9oamUgd2llZGVyIGVpbmUgRmFrZXNlaXRlIGRpZSBkYXMgQ2hyaXN0ZW50dW0gZHVyIGggZGVuIEtha2FvIHppZWhlbiBzb2xsCndlbm4gZHUgd2lya2xpY2ggd2FzIHp1bSBhYmxhY2hlbiB3aWxsc3QsIGRhbm4gZ3VjayBEaXIgZXJuc3RnZW1laW50ZSBTZWl0ZW4KaXJnZW5kd2VsY2hlciBmdW5kYW1lbnRhbGVyIENocmlzdGVuIGFuLCB6Qgp3d3cuaGpwLmNoL3RleHRlCmh0dHA6Ly93d3cuY2hpY2stZ29zcGVsLmRlL2h0bWwvaW5kZXguaHRtCm9kZXIgYXVjaCBTZWl0ZW4gdm9uIGRlbiBaZXVnZW4gSmUqYXJncyBpY2ggaGFiIGRvY2ggc2Nob24gZ2VudWcgU3RlaW5lIGhldXRlCmFiYmVrb21tZW4qCgpPYndvaGwgbWVpc3RlbnMgc2luZCBzb2xjaGUgU2VpdGVuIGRhbm4gZWhlciB6dW0gYWJoZXVsZW4gYWxzIHp1bSBhYmxhY2hlbi4KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBMQUlFTkhBRlRFIE5PQ0tFTiEgKEF6enVybywgMjguIE5vdiAyMDAxLCAwNToxNjozOSk6Cn4jISBybj1TaWx2YW5hIHJ0PTEwMDY2NDkxNDIgcmc9d3d3Cn4jISB0aWQ9MTAwNjI1NTc2OQpzdGltbXQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWNrZWxhbGxlcmdpa2VyIHVudGVyIHVucz8gKExpbmZsYXMsIDI4LiBOb3YgMjAwMSwgMTY6MzM6MzgpOgp3d3cuaGVpc2UuZGUvdHAvZGV1dHNjaC9pbmhhbHQvZ2xvc3NlLzExMjE1LzEuaHRtbAoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhtbW0sIG9kZXIgRGlza3Vzc2lvbiwgb2RlciBTY2htYXJybiBvZGVyIHdhcz8gKExpbmZsYXMsIDI5LiBOb3YgMjAwMSwgMTU6MjU6MDApOgpVUy1IaWxmc3Bha2V0IGVyc2NobGFlZ3QgendlaSBBZmdoYW5lbgoKV2FzIGhpZXIgc28gbWFrYWJlciBrbGluZ3QgZmluZGV0IHNpY2ggdW50ZXI6Cgp3d3cuc3BpZWdlbC5kZS9kcnVja3ZlcnNpb24vMCwxNTg4LDE3MDE4NiwwMC5odG1sCgpJY2ggZXJpbm5lcmUgbm9jaG1hbCBkYXJhbiwgZGFzcyBkaWUgTGViZW5zbWl0dGVscGFrZXRlIGRpZSBzZWxiZSBncm9lc3NlIHVuZApkaWUgc2VsYnNlIEZhcmJlIGhhYmVuIHdpZSBkaWUgU3RyZXVib21iZW4uIFNvdmllbCB6dW0gVGhlbWEgY2hpcnVyZ2lzY2guCgpMLiwgZnJhZ3Qgc2ljaCwgb2IgZXMgZGVubiBuaWNodCBlaWdlbmFydGlnIGlzdCwgaW4gZWluZW0gRmFzdGVubW9uYXQKTGViZW5zbWl0dGVscGFrZXRlIGFienV3ZXJmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG1tbSwgb2RlciBEaXNrdXNzaW9uLCBvZGVyIFNjaG1hcnJuIG9kZXIgd2FzPyAoR2xvaW5zb24sIDI5LiBOb3YgMjAwMSwgMTU6MjY6MTMpOgp+IyEgcm49TGluZmxhcyBydD0xMDA3MDQzOTAwIHJnPXd3dwp+IyEgdGlkPTEwMDcwNDM5MDAKS29sbGF0ZXJhbGVyIEZyYXNzc2NoYWRlbi4gSW0gdWVicmlnZW4gaGVpc3N0IEZhc3Rlbm1vbmF0IG5pY2h0IGRhc3MKZWluZ2Vkb3N0ZSBMZWJlbnNtaXR0ZWwgdmVyZGVyYmVuIG9kZXIgZGllIExldXRlIGdhciBuaWNodHMgZXNzZW4gd3VlcmRlbi4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIbW1tLCBvZGVyIERpc2t1c3Npb24sIG9kZXIgU2NobWFycm4gb2RlciB3YXM/IChNYXRpcywgMjkuIE5vdiAyMDAxLCAxNTozMjo0Mik6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMDcwNDM5MDAgcmc9d3d3Cn4jISB0aWQ9MTAwNzA0MzkwMApEaWUgQW1lcmlrYW5lciBoYWJlbiBsYWVuZ3N0IG1pdGJla29tbWVuLCBkYXNzIE5haHJ1bmcgdW5kIEJvbWJlbiBhbmZhbmdzIGRpZQpzZWxiZSBGYXJiZSBoYXR0ZW4sIHVuZCBoYWJlbiBzY2hvbiB2b3IgV29jaGVuIHJlYWdpZXJ0IC4uLgoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG1tbSwgb2RlciBEaXNrdXNzaW9uLCBvZGVyIFNjaG1hcnJuIG9kZXIgd2FzPyAoR2xvaW5zb24sIDI5LiBOb3YgMjAwMSwgMTU6MzQ6MDQpOgp+IyEgcm49TWF0aXMgcnQ9MTAwNzA0NDM2MiByZz13d3cKfiMhIHRpZD0xMDA3MDQzOTAwClNpZSBoYWJlbiBhdWYgYWxsZSBCb21iZW4gIkJPTUIiIGdlc2NocmllYmVuIHVuZCBhdWYgZGllIE5haHJ1bmcgIkVBVCBNRSI/IDopCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXNoIGlzIHRoZSBraW5nISAoTGluZmxhcywgMjkuIE5vdiAyMDAxLCAxNTozNjozOSk6CldpZSB3YXIgZGFzOiBXaWUgd2FlcmUgZXMsIHdlbm4gZGVyIFNjaHdhbnogbWl0IEh1bmQgd2Fja2VsdD8iIC0gV2FnIHRoZSBEb2c6CgpCdXNoIGhhdCBtaXR0bGVyd2VpbGUgODkgUHJvemVudCBkZXIgVVMtQmV2b2Vsa2VydW5nIGhpbnRlciBzaWNoLgoKd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvaW5oYWx0L2NvLzExMjM3LzEuaHRtbAoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdXNoIGlzIHRoZSBraW5nISAoR3JpbW1ib3JuLCAyOS4gTm92IDIwMDEsIDE1OjM3OjA1KToKfiMhIHJuPUxpbmZsYXMgcnQ9MTAwNzA0NDU5OSByZz13d3cKfiMhIHRpZD0xMDA3MDQ0NTk5CldhciAiZGVyIFNjaHdhbnoiIG5pY2h0IGVoZXIgQ2xpbnRvbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1c2ggaXMgdGhlIGtpbmchIChJbWRhLCAyOS4gTm92IDIwMDEsIDE1OjQ2OjM4KToKfiMhIHJuPUxpbmZsYXMgcnQ9MTAwNzA0NDU5OSByZz13d3cKfiMhIHRpZD0xMDA3MDQ0NTk5CkpvLCBkaWUgZ2FuemUgQWt0aW9uIGVyaW5uZXJ0IG1pY2ggaXJnZW5kd2llIGltbWVyIHdpZWRlciB2aWVsIHp1IHN0YXJrIGFuCidXYWcgdGhlIERvZycuCihJbSB1ZWJyaWdlbiBlaW5lciBkZXIgZ2FueiB3ZW5pZ2VuIEZpbG1lLCBkaWUgYmVzc2VyIHNpbmQgYWxzIGRhcwpkYXp1Z2Vob2VyaWdlIEJ1Y2gpCgpJbWRhLiBJY2ggd3VlcmQgamEgbGFjaGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJ1c2ggaXMgdGhlIGtpbmchIChMaW5mbGFzLCAyOS4gTm92IDIwMDEsIDE1OjQ5OjMxKToKfiMhIHJuPUltZGEgcnQ9MTAwNzA0NTE5OCByZz13d3cKfiMhIHRpZD0xMDA3MDQ0NTk5CkxhY2ggZWluZmFjaCwgZGllIDg5IFByb3plbnQgaGFiZW4gZXMgbmljaHQgYW5kZXJzIHZlcmRpZW50LgoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIbW1tLCBvZGVyIERpc2t1c3Npb24sIG9kZXIgU2NobWFycm4gb2RlciB3YXM/IChQYXRyeW4sIDI5LiBOb3YgMjAwMSwgMTY6MzI6NTUpOgp+IyEgcm49TGluZmxhcyBydD0xMDA3MDQzOTAwIHJnPXd3dwp+IyEgdGlkPTEwMDcwNDM5MDAKWyBdIER1IHdlaXNzdCB3YXMgZGVyIGZhc3Rlbm1vbmF0IGlzdC4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJyYWluRipjayAoTXVhZGRpYiwgMzAuIE5vdiAyMDAxLCAxMzoxODozOSk6CkhpLAoKa3VyaW9zZXMgYXVzIGRlciBXZWx0IGRlciBDb21wdXRlcnNwcmFjaGVuOiBCcmFpbmYqY2sKaHR0cDovL3d3dy5jYXRzZXllLm1iLmNhL2Vzb3RlcmljL2JmCgpFcyBnaWJ0IGVjaHQgZWluZW4gQ29tcGlsZXIgZGFmdWVyLCBkaWUgU3ByYWNoZSBoYXQgbnVyIDggQmVmZWhsZSB1bmQgZXMgbWFjaHQKbWljaCBnbHVlY2tsaWNoLCBkYXNzIGljaCBzb2xjaGUgUHJvZ3JhbW1lIG5pY2h0IHdhcnRlbiBtdXNzLi4uCgpNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcmFpbkYqY2sgKEVsYWluZSwgMzAuIE5vdiAyMDAxLCAxMzoyMToxMyk6Cn4jISBybj1NdWFkZGliIHJ0PTEwMDcxMjI3MTkgcmc9d3d3Cn4jISB0aWQ9MTAwNzEyMjcxOQpFcyBnYWIgenUgQnJhaW5mdWNrIGF1Y2ggZGl2ZXJzZSBQcm9qZWt0ZSBkZXMgQ0NDLiBXZW4gZXMgaW50ZXJlc3NpZXJ0OgoKaHR0cDovL2tvZWxuLmNjYy5kZS9wcm9qZWt0ZS9icmFpbmZ1Y2svIAoKRG9ydCBnaWJ0IGVzIGF1Y2ggZGl2ZXJzZSBDb21waWxlciB1bmQga2xlaW5lcmUgYmlzIGdyb2Vzc2VyZSBQcm9ncmFtbWUuCgpHcnVzcywKRWxhaW5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcmFpbkYqY2sgKEZvb2JhciwgMzAuIE5vdiAyMDAxLCAxMzoyOToxMyk6Cn4jISBybj1FbGFpbmUgcnQ9MTAwNzEyMjg3MyByZz13d3cKfiMhIHRpZD0xMDA3MTIyNzE5CldvIHdpciBnZXJhZGUgYmVpbSBUaGVtYSBzaW5kIDtvKQoKaHR0cDovL3d3dy50dXhlZG8ub3JnL35lc3IvamFyZ29uL2h0bWwvZW50cnkvVEVDTy5odG1sCgouLi4KQXMgYW4gZXhhbXBsZSBvZiBURUNPJ3Mgb2JzY3VyaXR5LCBoZXJlIGlzIGEgVEVDTyBwcm9ncmFtIHRoYXQKICAgdGFrZXMgYSBsaXN0IG9mIG5hbWVzIHN1Y2ggYXM6CgpMb3NlciwgSi4gUmFuZG9tClF1dXgsIFRoZSBHcmVhdApEaWNrLCBNb2J5CnNvcnRzIHRoZW0gYWxwaGFiZXRpY2FsbHkgYWNjb3JkaW5nIHRvIHN1cm5hbWUsIGFuZCB0aGVuIHB1dHMgdGhlCiAgIHN1cm5hbWUgbGFzdCwgcmVtb3ZpbmcgdGhlIGNvbW1hLCB0byBwcm9kdWNlIHRoZSBmb2xsb3dpbmc6CgpNb2J5IERpY2sKSi4gUmFuZG9tIExvc2VyClRoZSBHcmVhdCBRdXV4CgpUaGUgcHJvZ3JhbSBpcwoKWzEgSl5QJEwkJApKIDwuLVo7IC4sKFMsJCAtRCAuKUZYMSBARl5CICRLIDpMIEkgJCBHMSBMPiQkCgood2hlcmUgXkIgbWVhbnMgYENvbnRyb2wtQicgKEFTQ0lJIDAwMDAwMTApIGFuZCAkIGlzIGFjdHVhbGx5CiAgIGFuIGFsdCBvciBlc2NhcGUgKEFTQ0lJIDAwMTEwMTEpIGNoYXJhY3RlcikuCi4uLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCcmFpbkYqY2sgKE11YWRkaWIsIDMwLiBOb3YgMjAwMSwgMTM6NDI6NTMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMDcxMjMzNTMgcmc9d3d3Cn4jISB0aWQ9MTAwNzEyMjcxOQpBY2hqYSwgZGFubiB3YXIgZGEgbm9jaCBJbnRlcmNhbC4uLgpodHRwOi8vd3d3LnR1eGVkby5vcmcvfmVzci9pbnRlcmNhbC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJyYWluRipjayAoVHJveSwgMzAuIE5vdiAyMDAxLCAxNDo1Nzo0NCk6Cn4jISBybj1NdWFkZGliIHJ0PTEwMDcxMjQxNzMgcmc9d3d3Cn4jISB0aWQ9MTAwNzEyMjcxOQpBY2ggTGV1dGUuCgpEYXMgbWVpc3RlIHdhcyBzaWNoIH5lc3IgKEVyaWMgU3RldmVuIFJheW1vbmQpIGZpbmRldCBpc3QgZG9jaCBlaCBhYmdlc3BhY2VkCmJpcyB6dW0gRGVsaXJpdW0gVHJlbWVucyB1bmQgZGFydWViZXIgaGluYXVzLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmF2YXNjcmlwdC9KYXZhIChBbmF0b2wsICAxLiBEZXogMjAwMSwgMTQ6NDg6MzMpOgoKR2lidCBlcyBlaWdlbnRsaWNoIGlyZ2VuZHdvIFN0dWRpZW4gZGF6dSwgd2lldmllbGUgT3R0b25vcm1hbHN1cmZlciAKbWl0IGFrdGl2aWVydGVtIEphdmFzY3JpcHQvSmF2YSBzdXJmZW4/IAoKQW5hdG9sIChuZXVnaWVyaWcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmF2YXNjcmlwdC9KYXZhIChHbG9pbnNvbiwgIDEuIERleiAyMDAxLCAxNTowMzo1OCk6Cn4jISBybj1BbmF0b2wgcnQ9MTAwNzIxNDUxMyByZz13d3cKfiMhIHRpZD0xMDA3MjE0NTEzCk1oIDk1JSA/IDopIFNpY2hlcmxpY2ggaGFiZW4gRmlybWVuIGRhIFN0YXRpc3Rpa2VuLCBhYmVyIGRhcnVlYmVyaGluYXVzIG1hY2h0CnNpY2ggZG9jaCBrZWluZSBkaWUgTXVlaGUgZWluZSByZXByYWVzZW50YXRpdmVuIFN0dWRpZSwgb2Rlcj8KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSmF2YXNjcmlwdC9KYXZhIChNYW5kcmFnb24sICAxLiBEZXogMjAwMSwgMTc6NTc6NTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwNzIxNTQzOCByZz13d3cKfiMhIHRpZD0xMDA3MjE0NTEzCld1ZXJkZSBhdWNoIG1pdCA5NSUgcmVjaG5lbiAuLi4gaWNoIGRlbmtlIGRpZSB3ZW5pZ3N0ZW4gbWFjaGVuIHNpY2ggR2VkYW5rZW4KdWViZXIgU2ljaGVyaGVpdHNyaXNpa2VuICgiSWNoIGhhYiBlaCBuaXggd2ljaHRpZ2VzIGF1ZiBkZW0gUmVjaG5lciIpCgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BhY2VkIFBlbmd1aW4hIChCb2luZywgIDMuIERleiAyMDAxLCAxMToyNTowOCk6Cn4jISBybj1Xb29keSBydD0xMDA2MjA0ODYyIHJnPXd3dwp+IyEgdGlkPTEwMDYyMDQ4NjIKVW0gZGFzIFRoZW1hIG5vY2htYWwgYW56dXNwcmVjaGVuIC4uLiBoYXQgZWlnZW50bGljaCBtYWwgamVtYW5kIGJlaQpMZXZlbCA4IG5lIHZlcm51ZW5mdGlnZSBMb2VzdW5nIGdlc2NoYWZmdD8gRC5oLiBpbmtsdXNpdmUgYWxsZXIgQm9uaS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEphdmFzY3JpcHQvSmF2YSAoVGlhbWFrLCAgMy4gRGV6IDIwMDEsIDIwOjEzOjQyKToKfiMhIHJuPUFuYXRvbCBydD0xMDA3MjE0NTEzIHJnPXd3dwp+IyEgdGlkPTEwMDcyMTQ1MTMKVW50ZXIgd2ViaGl0cy5kZSAodm9yc2ljaHQ6IHRvbm5lbndlaXNlIEphdmFTY3JpcHQtRmVobGVyKSBnaWJ0IGVzIG1laHJlcmUKU3RhdGlzdGlrZW4gZGF6dSAoaW0gQmVyZWljaCAiRnJpZW5kcyIgc3VjaGVuKS4gQWxsZXJkaW5ncyB3dWVyZGUgbWljaCBtYWwKZ2VuYXVlciBpbnRlcmVzc2llcmVuLCB3aWUgZGllIGRpZSBTdGF0aXN0aWtlbiBlcnN0ZWxsdCBoYWJlbi4gCgoKVGlhbWFrLiBHbGF1YnQgZGllIG5pY2h0IHdpcmtsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKY29mZmVlISBpIHdhbnQgbXkgY29mZmVlISAoTXVhZGRpYiwgMTEuIERleiAyMDAxLCAxMDo0OTo0Myk6Cmh0dHA6Ly93d3cuYm13ZmlsbXMuY29tCgpCZXNvbmRlcnMgZ2VuaWFsOiBTdGFyCgpNdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG9lbmVzLCBzYXViZXJlcyBEZXV0c2NobGFuZCAoTGluZmxhcywgMTEuIERleiAyMDAxLCAxNToyMDoxOSk6ClRoZW1hOiBCcmVjaG1pdHRlbGVpbnNhdHogZ2VnZW4gRHJvZ2VuZGVhbGVyIGluIEhhbWJ1cmc6Ck11dG1hc3NsaWNoZXIgRHJvZ2VuZGVhbGVyIHdpcmQgd2FocnNjaGVpbmxpY2ggbmljaHQgdWViZXJsZWJlbi4Kd3d3LnNwaWVnZWwuZGUvcG9saXRpay9kZXV0c2NobGFuZC8wLDE1MTgsMTcyMTM5LDAwLmh0bWwKCkRhbmtlIFJvbmFsZCBCYXJuYWJhcywgZW5kbGljaCBoYWJlbiB3aXIgYWxsZSB3aWVkZXIgU2ljaGVyaGVpdCwgT3JkbnVuZyB1bmQKZWluIHNhdWJlcmVzIEdld2lzc2VuLgoKTC4sIGVyaW5uZXJ0IGFuIGRpZSBBYnNjaGllYnVuc3RvdGVuIGJlaSBkZXIgTHVmdGhhbnNhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F1ZXJlaWVuIGF1cyBkZW0gV3VuZGVybGFuZDogKEdsb2luc29uLCAxMy4gRGV6IDIwMDEsIDAzOjQwOjIyKToKaHR0cDovL3d3dy44dW5nLmF0L3Nvbm5lMTIzNDkvUGljcy9FaWNoZWxwaWVyY2luZy5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNtYXJ0LXF1ZXN0aW9ucyAoQ2F0d2VhemxlLCAxMy4gRGV6IDIwMDEsIDEwOjU0OjA3KToKV2FydW0gc2NocmVpYnQgZWlnZW50bGljaCBuaWVtYW5kIGluIE1lZ2FzY2htYXJybi4KbmEgZ3V0LCBzY2hyZWliIGljaHMgaGFsdCBoaWVyaGluIHdvcyBoaW5nZWhvZXJ0LgoKRmFsbHMgaWhyIG1hbCB3aWVkZXIgUHJvYmxlbWUgbWl0IG5vZXJnZWxuZGVuIHVuZCBkcmFlbmdlbG5kZW4gVXNlciBoYWJlbgpzb2xsdGVzdCwgZW1wZmVobHQgaWhuZW4gZWluZmFjaCBmb2xnZW5kZSBMZWt0dWVyZToKCmh0dHA6Ly93d3cudHV4ZWRvLm9yZy9+ZXNyL2ZhcXMvc21hcnQtcXVlc3Rpb25zLmh0bWwKCkRvcnQgc2luZCByZWluZSBXYWhyaGVpdGVuIGZvcm11bGllcnQuIER1ZXJmdGUgekIgZnVlciBHcmltbWJvcm4gYmVzb25kZXJzCmludGVyZXNzYW50IHNlaW4uIEFiZXIgZHUga2VubnN0IGRhcyBiZXN0aW1tdCBzY2hvbiA6LSkKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VzY2hpY2h0ZSBkZXMgVXNlbmV0IChNdWFkZGliLCAxMy4gRGV6IDIwMDEsIDE2OjM2OjEzKToKaHR0cDovL3d3dy5nb29nbGUuY29tL2dvb2dsZWdyb3Vwcy9hcmNoaXZlX2Fubm91bmNlXzIwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcHB5IEJpcnRoZGF5LCBXV1chIChMaW5mbGFzLCAxMy4gRGV6IDIwMDEsIDE3OjQ4OjI1KToKWnVtIEdlYnVydHN0YWcgdmllbCBHbHVlY2ssIHp1bSBHZWJ1cnRzdGFnLi4uLgoKdW5zZXIgYWxsZXIgYmFiYXkgd2lyZCBoZXV0ZSAxMCwgZGVubiB2b3IgMTAgSmFocmVuIGdpbmcgZGllIGVyc3RlIGFtZXJpay4Kd2Vic2l0ZSBvbmxpbmUuIERhcyBmZWllcm4gd2lyIGRvY2ggZ2xhdHQsIG9kZXI/Cgp3d3cuaGVpc2UuZGUvdHAvZGV1dHNjaC9pbmhhbHQvY28vMTEzMjkvMS5odG1sCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIHNuaWZmdCBkZW5uIGRhPyAoTGluZmxhcywgMTMuIERleiAyMDAxLCAxNzo1NjowNCk6CkRhcyBGQkkgc2NobnVlZmZlbHQgZGVtbmFlY2hzdCBhdWNoIGF1ZiBEZWluZW0gUmVjaG5lcjoKd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvaW5oYWx0L3RlLzExMzMzLzEuaHRtbAoKTmEgZGFzIHJlaWh0IHNkaWNoIGphIHd1bmRlcmJhciBlaW4gaW4gRWNob2xvbiB1bmQgQ2Fybml2b3JlLiBLbGVpbmUgTGVzZXRpcAphbSBSYW5kZTogQ3liZXJjcmltZSBDb252ZW50aW9uIGRlcyBldXJvcC4uIFJhdGVzLgoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXNjaGljaHRlIGRlcyBVc2VuZXQgKE1hcmN1cywgMTMuIERleiAyMDAxLCAxOTo0MzoyNSk6Cn4jISBybj1NdWFkZGliIHJ0PTEwMDgyNTc3NzMgcmc9d3d3Cn4jISB0aWQ9MTAwODI1Nzc3MwpJY2ggaGFiZSBnZXJhZGUgZWluaWdlIGRpZXNlciBUaHJlYWRzIGFuZ2VsZXNlbi4KCkVyc2NodWV0dGVybmQuIEljaCBtZXJrZSBlY2h0IHdpZSBhbHQgaWNoIGJpbiA6KAoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlc2NoaWNodGUgZGVzIFVzZW5ldCAoQW50aGVhLCAxMy4gRGV6IDIwMDEsIDIwOjA1OjA4KToKfiMhIHJuPU1hcmN1cyBydD0xMDA4MjY5MDA1IHJnPXd3dwp+IyEgdGlkPTEwMDgyNTc3NzMKQWNoIGtvbW0sIE1hcmN1cywgZ2liIG5pY2h0IHNvIGFuLiBFcyBnaWJ0IGhpZXIgZXRsaWNoZSwgZGllIHZpaWlpZWwgYWVsdGVyCnNpbmQgYWxzIGR1LiBNaWNoIGVpbmdlc2NobG9zc2VuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIFVtZnJhZ2UgKFpvb2ssIDE2LiBEZXogMjAwMSwgMjE6NDY6NTEpOgpIYWxsbyB6dXNhbW1lbiwKCmRpZSBUYWdlIGVycmVpY2h0IG1pY2ggZGllIE1haWwgdm9uIGVpbmVtIFN0dWRlbnRlbiwgSGVycm4gQmFzdGlhbgpKZW5kZXJlayBhdXMgTGVpcHppZy4gCgpFciBhcmJlaXRldCBhbiBlaW5lciBNYWdpc3RlcmFyYmVpdCBpbSBCZXJlaWNoIEtvbW11bmlrYXRpb25zLSB1bmQKTWVkaWVud2lzc2Vuc2NoYWZ0IHVlYmVyIGRlbiBadXNhbW1lbmhhbmcgendpc2NoZW4gTVVEcyB1bmQgTVVELVVzZXJuLiAKSGllcnp1IGhhdCBlciBlaW5lbiBGcmFnZWJvZ2VuIGVudHdpY2tlbHQgdW5kIGlucyBJbnRlcm5ldCBnZXN0ZWxsdC4gRXIKd3VlcmRlIHNpY2ggc2VociBmcmV1ZW4sIHdlbm4gc2ljaCBtb2VnbGljaHN0IHZpZWxlIHZvbiBFdWNoIGRhYmVpCmJldGVpbGlnZW4uIERpZSBVUkwgaXN0CgogIGh0dHA6Ly93d3cudW5pLWxlaXB6aWcuZGUvfm11ZAoKCldlaXRlcmhpbiBiYXQgZXIgbWljaCwgRXVjaCBkaWVzIGFsbGVzIG1pdHp1dGVpbGVuLiBIaWVybWl0IGdlc2NoZWhlbi4gCgpHcnVzcywgWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5lIFVtZnJhZ2UgKEtyZWxsamEsIDE4LiBEZXogMjAwMSwgMTI6MzA6NDEpOgp+IyEgcm49Wm9vayBydD0xMDA4NTM1NjExIHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKTW9pbiwKCm9obmUgbnVuIGFsbHp1IGJvZXMga2xpbmdlbiB6dSB3b2xsZW4sIGRlciBGcmFnZWJvZ2VuIGlzdCBtYWwgd2llZGVyIGVpbgp3dW5kZXJ2b2xsZXMgQmVpc3BpZWwgZGFmdWVyLCB3aWUgbWFuIFN0dWRpZW4gTklDSFQgZGVzaWduZW4gc29sbHRlIDooKAoKSWNoIHp1bWluZGVzdCBoYWIgc2Nob24gYW4gZGVyIGVyc3RlbiBTZWl0ZSBlaWdlbnRsaWNoIGRpZSBMdXN0IHZlcmxvcmVuIHVuZAphbiBkZXIgMi4gU2VpdGUgd2FyIGVuZGd1ZWx0aWcgU2NobHVzcyA6KCgKCktyZWxsamEKLAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW5lIFVtZnJhZ2UgKENhdHdlYXpsZSwgMTguIERleiAyMDAxLCAxMjozMjoxNyk6Cn4jISBybj1LcmVsbGphIHJ0PTEwMDg2NzUwNDEgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpXaWVzbywgaWNoIGZhbmQgaWhuIGdhbnogb2suIER1cmNobGVzZW4sIGFua2xpY2tlbiwgZmVydGlnLiAKV2FzIGdlbmF1IGhhdCBkaWNoIGRlbm4gZGFkcmFuIGdlc3RvZXJ0PyAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWluZSBVbWZyYWdlIChDYXNzYW5kcmEsIDE4LiBEZXogMjAwMSwgMTI6MzQ6MjYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDg2NzUxMzcgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpJY2ggaGFiIG1pciBkZW4gZ3JhZCBhbmdlc2NoYXV0LiBhYmVyIGRpZXNlIGdhbnplbiBtZW51ZWxlaXN0ZW4genVtIGF1c3dhZWhsZW4Kc2luZCBtaXIgYXVjaCB6dSBuZXJ2aWcsIGVpbmZhY2hlIGthZXN0Y2hlbiB6dW0gYW5rbGlja2VuIHdhZXJlbiBiZXNzZXIuCkNhc3NhbmRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWluZSBVbWZyYWdlIChHcmltbWJvcm4sIDE4LiBEZXogMjAwMSwgMTI6NDk6MDEpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwMDg2NzUyNjYgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpHZXNjaG1hY2tzc2FjaGUuIEFscyBHcm9ibW90b3Jpa2VyIGJpbiBpY2ggaS5hLiBuaWUgaW4gZGVyIExhZ2UgZGllc2UKS2Flc3RjaGVuIGFuc3RhZW5kaWcgenUgdHJlZmZlbiwgYmVpIGRlbiBMZWlzdGVuIG11c3MgaWNoIG1pY2ggbnVyIHVtIGVpbmUKRGltZW5zaW9uIGt1ZW1tZXJuLiBBbnNvbnN0ZW4gd2FyIGRhcyBoYWx0IGluaGFsdGxpY2ggdGVpbHdlaXNlLi4uIHNpbm5mcmVpLgpOYWphLCBtYW4ga2FubnMgbmljaHQgYWxsZW4gcmVjaHQgbWFjaGVuLCB1bmQgZGVyIEtuYWJlIHdpbGxzIG5hdHVlcmxpY2gKcHJpbWFlciBzZWluZW0gQ2hlZiByZWNodCBtYWNoZW4sIGdlbGw/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmUgVW1mcmFnZSAoTW9yZ290aCwgMTguIERleiAyMDAxLCAxMjo1MToxNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAwODY3NjE0MSByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExClNvbGwgZXIgaWhtIGRvY2ggZWluZW4gQmxhc2VeSF5IdWVuIEh1bmQgc2NoZW5rZW4gOikKCk0qIE9UCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW5lIFVtZnJhZ2UgKENhdHdlYXpsZSwgMTguIERleiAyMDAxLCAxMjo1MTo0NSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAwODY3NTI2NiByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExCk5hamEsIG9iIG1hbiBkYW5uIGxpZWJlciBBbmtsaWNrLUthZXN0Y2hlbiBvZGVyIFNjcm9sbC1MaXN0ZW4gaGF0LCBzb2xsdGUgZG9jaApqZWRlbSBzZWxiZXIgdWViZXJsYXNzZW4gYmxlaWJlbi4gQWJlciBkZW4gRnJhZ2Vib2dlbiBkYW5uIGdsZWljaCBhbHMKYmVpc3BpZWxsb3Mgc2NobGVjaHQgZGVzaWdudCB6dSBiZXplaWNobmVuIGhhbHRlIGljaCBldHdhcyBmdWVyIHVlYmVydHJpZWJlbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRWluZSBVbWZyYWdlIChHcmltbWJvcm4sIDE4LiBEZXogMjAwMSwgMTM6MDI6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDg2NzYzMDUgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpIYXQga2VpbmVyIGdlbWFjaHQuIERpZSBBdXNzYWdlIHdhciAiZGllIFN0dWRpZSBpc3Qgc2NobGVjaHQgZGVzaWduZWQiLCB1bmQKZGFzIGJlemllaHQgc2ljaCBmdWVyIG1pY2ggZXJzdGVucyBuaWNodCAocHJpbWFlcikgYXVmcyBMYXlvdXQgdW5kIGIpIGthbm4gaWNoCmRlbSBkYW5uIHNvIHp1c3RpbW1lbi4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluZSBVbWZyYWdlIChBcmssIDE4LiBEZXogMjAwMSwgMTM6MTQ6MTIpOgp+IyEgcm49S3JlbGxqYSBydD0xMDA4Njc1MDQxIHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKTWFjaHQgZXMgRGlyIGtlaW5lbiBTcGFzcywgU3R1ZGllbiB6dSBtYW5pcHVsaWVyZW4/IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbmUgVW1mcmFnZSAoT3JrdG9ldGVyLCAxOC4gRGV6IDIwMDEsIDEzOjIxOjQ0KToKfiMhIHJuPUFyayBydD0xMDA4Njc3NjUyIHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKS09tbXQgaW1tZXIgYXVjaCBzZWhyIGF1ZiBkaWUgU3R1ZGllIGFuLi4uIGxldHplbnMgbWFjaHRlIGVpbmUgZ3Jvc3NlIEtvZWxuZXIKVGFnZXN6ZWl0dW5nIGF1ZiBpaHJlciBXV1ctU2VpdGUgcGVyIFJhbmRvbSBlaW4gVW1mcmFnZS4gQWxzIGljaCBkaWUgenVtCmVyc3RlbiBtYWwgc2FoIGZpbmcgaWNoIGF1Y2ggZ2FueiBicmF2IGFuLCBkaWUgRnJhZ2VuIHp1IGJlYW50d29ydGVuLiBBbHMgYWJlcgppbW1lciBtZWhyIEZyYWdlbiBrYW1lbiB1bmQgYXVjaCByZWNodCBwZXJzb2VubGljaGUgRnJhZ2VuIHVuZCBlcyBrZWluZQpNb2VnbGljaGtlaXQgZ2FiLCBkaWUgRnJhZ2VuIHp1IHVlYmVyZ2VoZW4gaGFiZSBpY2ggZGFzIGRhbm4gYWJnZWJyb2NoZW4gdW5kCmFscyBzcGFldGVyIGRlciBGcmFnZWJvZ2VuIG5vY2ggbWFsIGthbSBoYWJlIGljaCBkZW5lbiBhdWNoIGRpZQppbnRlcmVzc2FudGVzdGVuIERhdGVuIGdlZ2ViZW4uIFp1bWFsIGJpcyB6dWxldHp0IG5pcmdlbmR3byBnZXNhZ3Qgd2lyZCwgZGFzCnNpZSBkaWUgdm9uIGRpciBnZW1hY2h0ZW4gQW5nYWJlbiBuaWNodCBnZWdlbiBkaWUgdmVyd2VuZGVuLi4uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWluZSBVbWZyYWdlIChPcmt0b2V0ZXIsIDE4LiBEZXogMjAwMSwgMTM6MjM6MDgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMDg2NzgxMDQgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpzY2hsZWNodGVyIHN0aWwsIGFiZXIgaW0gbGV0enRlbiBTYXR6IG11c3MgZXMgcmljaHRpZyBoZWlzc2VuOiAiIC4uLiBuaWNodApnZWdlbiBkaWNoIHZlcndlbmRlbi4uLiIKCgpPcmtULgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmUgVW1mcmFnZSAoQXJrLCAxOC4gRGV6IDIwMDEsIDEzOjM3OjIxKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDA4Njc4MTA0IHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKSWNoIGhhYmUgc28gYXVzZ2V3YWVobHQsIGRhc3MgaWNoIG5hY2hoZXIgd29obCB6dSBkZXIgS2F0ZWdvcmllICJJY2gKYmV3YWVsdGlnZSBtZWluZSBSTCBQcm9ibGVtZSB1ZWJlciBkYXMgTVVELCBiaW4gZWlnZW50bGljaCBlaW5lCkF1dG9yaXRhZXRzcGVyc29uIHVuZCBtYWcgTWFjaHRzcGllbGNoZW4sIGRpZSBpY2ggYWJlciBudXIgVkwgc28gcmljaHRpZwphdXNsZWJlbiBrYW5uIiBnZWhvZXJlLiBGZWhsdCBtaXIgbm9jaCBkZXIgZ2VzdHJlc3N0ZSBCbGljayB1bmQgZGllIGRpY2tlCk5pY2tlbGJyaWxsZSBzb3dpZSBkaWUgYWJnZWthdXRlbiBGaW5nZXJuYWVnZWwuIFNwYXNzIGJlaXNlaXRlLCB3ZW5uIG1hbiBiZWkKZGVtIEZyYWdlYm9nZW4gZGllIEFic2ljaHQgc28gc2VociAoenUpIGVya2VubnQoZW4gZ2xhdWJ0KSwgZGFubiBpc3QgZGEgd2FzCm5pY2h0IHJpY2h0aWcgZGVzaWduZWQuIE9kZXIgaWNoIGxpZWdlIHZvZWxsaWcgZGFuZWJlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW5lIFVtZnJhZ2UgKElzaSwgMTguIERleiAyMDAxLCAxNDowNDo0Nyk6Cn4jISBybj1BcmsgcnQ9MTAwODY3OTA0MSByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExCmRhcyBlcmlubmVydCBtaWNoIGFuIGVpbmUgZnJhZ2UgYm9nZW4gZGVyIG1pciBtYWwgdW50ZXJrYW0KenVtIHRoZW1hIHZsLWdlc2NobGVjaHQnIHVuZCBybCBnZXNjaGxlY2h0LgpkaWUgZnJhZ2UgbWFjaHRlbiBtaXIgc2hlciBkZW4gZWluZHJ1Y2sgYWxzIHdhZXIgZGVyIGF1dG9yIGRlcgptZWl1bmcgZGFzcyBudXIgbGV1dGUgZGllIGhvbW9zZXh1ZWxsIHNpbmQgb2RlciBlaWdlbnRsaWNoCmVpbmUgZ2VzY2hsZWNodHN1bXdhbmRsdW5nIHdvbGxlbiwgdmwgd2FzIGFuZGVyZXMgc2luZC4KaXNpIChtb3Vzc2V3ZXJmZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRWluZSBVbWZyYWdlIChHbG9pbnNvbiwgMTguIERleiAyMDAxLCAxNDowNTowMSk6Cn4jISBybj1BcmsgcnQ9MTAwODY3OTA0MSByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExCkluIGRlciBSaWNodHVuZyBmdWVobHRlIGljaCBtaWNoIGF1Y2ggYmVmcmFndC4gQWxsZXJkaW5ncyBmYWxsZSBpY2ggZWhlciBpbgpkaWUgUnVicmlrICJiZXdhZWx0aWdlIGtlaW5lIFJMLVByb2JsZW1lIGltIE1VRCwgYmluIGFiZXIgcG90ZW50aWVsbAptYWNodGJlc2Vzc2VuIHdlbm4gYXVjaCBuaWNodCBza3J1cGVsbG9zIHVuZCBmaW5kZSBkZXZvdGUgU2tsYXZlbgooaW50ZXJlc3NhbnRlIExldXRlKSBlaGVyIFZMIGFscyBSTCIuCgpHbG9pbihzb24pCgpQUzogVmFuaW9uISBTaXR6IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRWluZSBVbWZyYWdlIChBcmssIDE4LiBEZXogMjAwMSwgMTQ6MDc6MTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAwODY4MDcwMSByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExClRqYSwgbGVpZGVyIGZlaGx0IGJlaSBkZW0gRnJhZ2Vib2dlbiBkYXMgS29tbWVudGFya2Flc3RjaGVuIChvYmxpZ2F0b3Jpc2NoKS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW5lIFVtZnJhZ2UgKEtyZWxsamEsIDE4LiBEZXogMjAwMSwgMTQ6MTE6MTkpOgp+IyEgcm49QXJrIHJ0PTEwMDg2NzkwNDEgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpJY2ggYW50d29ydGUgaGllciBlaW5mYWNoIGF1ZiBkZW4gYmlzaGVyIGxldHp0ZW4gQXJ0aWtlbCB6dW0gVGhlbWEuCgpXYXJ1bSBoYWJlIGljaCBkZW4gRnJvZ2Vib2dlbiBhbHMgQmVpc3BpZWwgZnVlciBzY2hsZWNodGVzIERlc2lnbiBiZXplaWNobmV0PwoKVW1zIG1hbCBrdXJ6IHp1IG1hY2hlbjogRXMgZmVobHQgZGllIE1vZWdsaWNoa2VpdCBhdWYgVGVpbGZyYWdlbiBnYXIgbmljaHQgenUKYW50d29ydGVuIChkYW5uIGtvbW10IG51ciBlaW5lIEZlaGxlcm1lbGR1bmcpIG9kZXIgS29tbWVudGFyZSB6dSBBbmdhYmVuCmFienVnZWJlbi4gCgpWZXJtdXRsaWNoIG51ciBlaW4gdGVjaG5pc2NoZXMgUHJvYmxlbSBpc3QsIGRhc3MgZGllIEUtTWFpbC1BZHJlc3NlIGF1ZiBkZXIKU2VpdGUgbmljaHQgZnVua3Rpb25pZXJ0LiBJY2ggaGFiIHZlcnN1Y2h0LCBkZW0gTWVuc2NoZW4gZWluZSBsYWVuZ2VyZSBNYWlsCm1pdCBkZW4gZXR3YXMgYXVzZnVlaHJsaWNoZXJuIEtyaXRpa3B1bmt0ZW4genUgc2NoaWNrZW4sIGRhcyBpc3QgYWJlciBsZWlkZXIKZmVobGdlc2NobGFnZW4uIERpZXNlciBQdW5rdCBpc3QgYWJlciBuaWNodCB3aXJrbGljaCByZWxldmFudC4KCktyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVpbmUgVW1mcmFnZSAoQW5hdG9sLCAxOC4gRGV6IDIwMDEsIDE0OjEyOjQ1KToKfiMhIHJuPUtyZWxsamEgcnQ9MTAwODY4MTA3OSByZz13d3cKfiMhIHRpZD0xMDA4NTM1NjExCkR1IGhhc3QgbmF0dWVybGljaCB3YWVocmVuZCBEZWluZXMgU3R1ZGl1bXMgdW5kL29kZXIgQXVzYmlsZHVuZyBlaW5nZWhlbmRlCkVyZmFocnVuZ2VuIHVlYmVyIGdyb3NzZmxhZWNoaWdlIERhdGVuZXJoZWJ1bmcgdW5kIGF1dG9tYXRpc2NoZSBBdXN3ZXJ0dW5nCmdlbWFjaHQsIEtyZWxsamE/CgpBbmF0b2wgLSB2ZXJkcmVodCBvYiBkZXIgIkljaCB3aWxsIGtvbW1lbnRpZXJlbiEiLUxhdW5lIGRpZSBBdWdlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVpbmUgVW1mcmFnZSAoR2xvaW5zb24sIDE4LiBEZXogMjAwMSwgMTQ6MTM6NDMpOgp+IyEgcm49S3JlbGxqYSBydD0xMDA4NjgxMDc5IHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKQXVmIFRlaWxmcmFnZW4gbmljaHQgYW50d29ydGVuIGtsYXBwdCBzZWhyIGd1dDogIndlaXNzIG5pY2h0IgpFaW5lIEZvcm11bGllcnVuZyBkaWUgbWlyIGF1c3Nlcm9yZGVudGxpY2ggZ3V0IGdlZmllbCBpbSBHZWdlbnNhdHogenVtCnNvbnN0aWdlbiAidGVpbHMvdGVpbHMiIG9kZXIgNTAlLgoKR2xvaW4oc29uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRWluZSBVbWZyYWdlIChLcmVsbGphLCAxOC4gRGV6IDIwMDEsIDE0OjE4OjM2KToKfiMhIHJuPUFuYXRvbCBydD0xMDA4NjgxMTY1IHJnPXd3dwp+IyEgdGlkPTEwMDg1MzU2MTEKRnVlciBBbmF0b2w6IEphIHVuZCBuZWluLgoKSWNoIHZlcmJyaW5nZSBtZWluIFplaXQsIHdlbm4gaWNoIG5pY2h0IGdlcmFkZSBhbSBNdWRkZW4gYmluIGhpZXIgaW0KRmFjaGJlcmVpY2ggU3RvY2hhc3Rpay4KCldpciBoYWJlbiBoaWVyIHp1c2FtbWVuIG1pdCBkZW4gUHN5Y2hvcyBlaW4gUHJvamVrdCB6dSAiVW1mcmFnZW4gdW5kCnN0YXRpc3Rpc2NoZSBEYXRlbmFuYWx5c2U6IFdhcyBrb2VubmVuIHNpZSB1bmQgd2FzIG5pY2h0PyIgTy5rLiBpY2ggc2NocmVpYgptZWluZSBEaXBsb21hcmJlaXQgbmljaHQgaW0gZGVtIFByb2pla3QsIGJlZ3V0YWNodGUgZXMgYWJlciBtaXQgZ3Jvc3NlbgpJbnRlcmVzc2UgdW5kIHJlZGUgdmllbCBkYXJ1ZWJlciBtaXQgZGVuIGJldGVpbGlndGVuLgoKS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VsZHByb2JsZW1lPyAoQ2F0d2VhemxlLCAxOS4gRGV6IDIwMDEsIDE0OjMxOjM5KToKCk1hbCBvaG5lIFdvcnRlOiB3d3cuZHViaW9zYS5kZQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphdmFzY3JpcHQvSmF2YSAoU2FtdGtyYWxsZSwgMTkuIERleiAyMDAxLCAyMjoyMzoyNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDA3MjE1NDM4IHJnPXd3dwp+IyEgdGlkPTEwMDcyMTQ1MTMKU28gZWluZSBTdGF0aXN0aWsgZ2lidCBzb2dhciB2b24gb2ZmaXppZWxsZXIgU2VpdGUKCmh0dHBzOi8vY2hlY2subGZkLm5pZWRlcnNhY2hzZW4uZGUvU2VsYnN0dGVzdC9zZXJ2aWNlL2F1c3dlcnR1bmdfZXJnZWJuaXNfMS5odAptbAoKT2IncyByZXByYWVzZW50YXRpdiBpc3QgPyBXZXIgd2Vpcy4uLi4gSW1tZXJoaW4sIG1hbiBrYW5uIHNlaW4gU3lzdGVtIGF1ZgpyZWNodCBndXQgYXVmIFNjaHdhY2hzdGVsbGVuIHBydWVmZW4KClNhbXRrcmFsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbmUgVW1mcmFnZSAoRGFyaWEsIDIwLiBEZXogMjAwMSwgMTY6MTg6MzEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMDg2NzYzMDUgcmc9d3d3Cn4jISB0aWQ9MTAwODUzNTYxMQpNaXIgZmVobHRlIHouYi4gZGllIG5pY2h0IGtvbXBsaXppZXJ0ZSBBbmdhYmUgd2llIHdlaXQgaWNoIHNjaG9uIGJpbiBtaXQgZGVtCkF1c2Z1ZWxsZW4uLi4KSGFiIGFiZXIgc2Nob24gc2NobGltbWVyZXMgZ2VzZWhlbi4KRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCld1bmRlcmtlcnplbiEgKERhcmlhLCAyMC4gRGV6IDIwMDEsIDE2OjIwOjAxKToKSHVodSwKZXMgZ2lidCBhdWNoIHd3dy53dW5kZXJrZXJ6ZS5kZSAuIApQYXNzZW5kIHp1ciBKYWhyZXN6ZWl0IDstKQpEYXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F1Z2VpbGVzIEZsYXNoIChNb3Jnb3RoLCAyMC4gRGV6IDIwMDEsIDE2OjQ5OjEyKToKaHR0cDovL3d3dy5hbnRyYS5kay9maWdodDMuc3dmCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhciBXYXJzIG1hbCBhbmRlcnMgKE1vcmdvdGgsIDIxLiBEZXogMjAwMSwgMTQ6MDc6MzMpOgpQcm9iaWVydCBtYWwgInRlbG5ldCB0b3dlbC5ibGlua2VubGlnaHRzLm5sIgpJc3Qgc3VwZXJnZWlsICEhIQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGFyIFdhcnMgbWFsIGFuZGVycyAoR3JpbW1ib3JuLCAyMS4gRGV6IDIwMDEsIDE0OjA4OjI0KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAwODk0MDA1MyByZz13d3cKfiMhIHRpZD0xMDA4OTQwMDUzCkR1IGJpc3QgenUgZnJ1ZWgsIGRhcyBnYWJzIGRvY2ggdm9yIGVpbiBvZGVyIGhvZWNoc3RlbnMgendlaSBNb25hdGVuIHNjaG9ubWFsLgpEYW1pdCBpc3QgZXMgZnJ1ZWhlc3RlbnMgaW4gdmllciBNb25hdGVuIHdpZWRlciBhbiBkZXIgUmVpaGUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RhciBXYXJzIG1hbCBhbmRlcnMgKFphbmFjLCAyMS4gRGV6IDIwMDEsIDE0OjIzOjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDA4OTQwMTA0IHJnPXd3dwp+IyEgdGlkPTEwMDg5NDAwNTMKKm5pY2sqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQb25nIChWYW5pb24sICAyLiBKYW4gMjAwMiwgMTE6NTA6NTEpOgpodHRwOi8vd3d3LnlvdW5ncHJpbWl0aXZlLmN6L3BvbmcuaHRtbAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpdHppZ2VzIFZpZGVvIDotKSAoQW1hcnlsbGlzLCAgNi4gSmFuIDIwMDIsIDE1OjU0OjI4KToKaHR0cDovL3d3dy5uZXdsYWJvdXIuY28udWsvcGVuZ3Vpbi5odG0KCkFtYSosIGhhcidlbmQgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZXJyIGRlciBSaW5nZSBtYWwgYW5kZXJzIChIaWdodCwgIDcuIEphbiAyMDAyLCAxNDoyNDo0Myk6Cmh0dHA6Ly93d3cuZGFzLXNjaHdhcnplLW9oci5kZS9ob2Vyc3BpZWwvaW5kZXguaHRtCgpoaWdodCBzaWNoIGltbWVybm9jaCBrdWdlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGFtbWVycyB1bmRvbmUgKENhdHdlYXpsZSwgIDkuIEphbiAyMDAyLCAxNToxNTo1Nyk6CgpHYW56IGZyaXNjaCBhdWYgZGVuIFRpc2NoLCB3YXMgZnVlciBkaWUgUGF1c2Ugendpc2NoZW5kdXJjaDoKCmh0dHA6Ly9wZXRlbW9zcy5jb20vc3BhbWZsYW1lcy9TaGlmbWFuSXNBTW9yb25TcGFtbWVyLmh0bWwKCkVpbmZhY2gga29lc3RsaWNoIDopIEJpbiBnZXNwYW5udCB3ZXIgZ2V3aW5udC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BhbW1lcnMgdW5kb25lIChBbm9yaXMsICA5LiBKYW4gMjAwMiwgMTg6MDA6MzUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTA1ODU3NTcgcmc9d3d3Cn4jISB0aWQ9MTAxMDU4NTc1NwpJbnRlcmVzc2FudCBkYXp1IGRpZSBVZWJlcnNldHp1bmcgdm9uIGJhYmVsZmlzaC4gKEF1c3NjaG5pdCkKCmh5cG9jcml0aWNhbCwgZ2llcmlnLCBoZWZ0aWcsIGJvc2hhZnQsIHZlbmdlZnVsLCBjb3dhcmRseSwgdGRsaWNoLCBtZW5kYWNpb3VzLAptZXJldHJpY2lvdXMsIGxvYXRoc29tZSwgZGVzcGljYWJsZSwga3JpZWdmfGhyZW5kLCBvcHBvcnR1bmlzdGljLCBiYXJyYXRyb3VzLApjb250ZW1wdGlibGUsIGtyaW1pbmVsbCwgZmFzY2lzdGljLCBiaWdvdGVkLCBkZXIgUmFzc2lzdCwgc2V4aXN0LCBhdmFyaWNpb3VzLApnZXNjaG1hY2tsb3MsIGlkaW90aWMsIGhpcm5nZXNjaGRpZ3QsIGltYmVjaWxpYywgZ2Vpc3Rlc2tyYW5rLCBhcnJvZ2FudCwKYmV0cnxnZXJpc2NoLCBkZW1lbnRlZCwgbGhtdCwgc2VsZi1yaWdodGVvdXMsIGJ5emFudGluZSwgY29uc3BpcmF0b3JpYWwsCnNhdGFuaWMsIGJldHJ8Z2VyaXNjaCwgbGliZWxvdXMsIGJpbGlvdXMsIHNwbGVuZXRpYywgc3Bhc3Rpc2NoLCB1bndpc3NlbmQsCmNsdWVsZXNzLCB1bmdlc2V0emxpY2gsIHNjaGRsaWNoLCB6ZXJzdHJlbmQsIGR1bWIsIGF1c3dlaWNoZW5kLApkb3BwZWx0LWRvdWJsZS10YWxraW5nLCBmYWxzY2gsIHJldmlzaW9uaXN0LCBFbmdlLCBNYW5pcHVsYXRpb25zLApwYXRlcm5hbGlzdGljLCBmdW5kYW1lbnRhbGlzdGlzY2gsIGRvZ21hdGlzY2gsIGlkb2xhdHJvdXMsIHVuZXRoaWNhbCwgY3VsdGljLAprcmFuaywgdW50ZXJkcnxja2VuZCwgZGllIFN0ZXVlcnVuZywgZWluc2Nocm5rZW5kLgoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBTdG9yeSBvZiBGb29iYXIgKEZvb2JhciwgIDkuIEphbiAyMDAyLCAxODo1MDowMyk6Cmh0dHA6Ly93d3cucmFiYml0Lm9yZy9saW5rcy9zdG9yeS1vZi1mb29iYXItMS5odG1sCgpLYW5uIHdhcyBkYXVlcm4sIHNpbmQgemllbWxpY2ggdmllbGUgQmlsZGVyIHZvbiBtaXIgZHJpbiA7bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBTdG9yeSBvZiBGb29iYXIgKENhdHdlYXpsZSwgMTAuIEphbiAyMDAyLCAxMDo0MjoxMCk6Cn4jISBybj1Gb29iYXIgcnQ9MTAxMDU5ODYwMyByZz13d3cKfiMhIHRpZD0xMDEwNTk4NjAzCldhcyBmdWVyIG5lIGhhZXNzbGljaGUgUmF0dGUgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGhlIFN0b3J5IG9mIEZvb2JhciAoQXJrLCAxMC4gSmFuIDIwMDIsIDEwOjQ2OjQ3KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDEwNjU1NzMwIHJnPXd3dwp+IyEgdGlkPTEwMTA1OTg2MDMKR2VuYXUsIG5lbm5lbiB3aXIgaWhuIGpldHp0IEZvb2JhYSwgZGVuIERzd2FlcnNjaCBtaWRkbiBIYXNlZHNhZW5zY2hlLgpLbmFiYmVyLCBtdWVtbWVsLCBuYWcsIHNjaG51ZWZmZWwuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFkZW5odWV0ZXIuLi4gKFRyb3ksIDExLiBKYW4gMjAwMiwgMTc6MTY6MDMpOgpodHRwOi8vd3d3LnRoZW9uaW9uLmNvbS9vbmlvbjM3NDYvZW50cmVwcmVuZXVyX3N0dWNrX3dpdGguaHRtbAoKdHJveSA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbGJzdHNjaHV0eiBiZWltIFN1cmZlbiAuLi4gKFNhbXRrcmFsbGUsIDEyLiBKYW4gMjAwMiwgMDQ6MTI6MzIpOgpodHRwOi8vd3d3LmthdHRlbmhvZWZlci5kZQoKSW1tZXIgb3JkZW50bGljaCBkZXNlbnNpYmlsaXNpZXJlbiwgYmV2b3IgbWFuIGR1cmNocyBOZXR6IGJyYXVzdCAqZyoKClNhbXRrcmFsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggZWluZSBTdWNodCAuLi4gKExpYXJhLCAxMi4gSmFuIDIwMDIsIDE3OjUzOjIxKToKSWNoIGJpbiBqYSBoaWVyIHNjaG9uIGFuZ2VzdGVja3Qgd29yZGVuLCBhYmVyIGZhbGxzIGVzIGplbWFuZCBub2NoIG5pY2h0CmF1c3Byb2JpZXJ0IGhhYmVuIHNvbGx0ZTogCmh0dHA6Ly9wcnVlZ2VscGF1c2UubHljb3MuZGUvZGVmYXVsdC5hc3AKClZpZWwgU3Bhc3MhCgpaWkwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIGVpbmUgU3VjaHQgLi4uIChab29rLCAxMi4gSmFuIDIwMDIsIDE3OjU0OjQ3KToKfiMhIHJuPUxpYXJhIHJ0PTEwMTA4NTQ0MDEgcmc9d3d3Cn4jISB0aWQ9MTAxMDg1NDQwMQpab29rIGhhdCBiZXJlaXRzIGRpdmVyc2UgTmllZGVybGFnZW4gZ2VnZW4gTXVhZGliIGVpbnN0ZWNrZW4gbXVlc3Nlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggZWluZSBTdWNodCAuLi4gKExpYXJhLCAxMi4gSmFuIDIwMDIsIDE3OjU1OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTAxMDg1NDQ4NyByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkhlaGUsIGljaCBrbm9lcGZlIG1pciBnZXR6IGdsZWljaCBtYSBTcGVsbGkgdm9yISA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIGVpbmUgU3VjaHQgLi4uIChMaWFyYSwgMTIuIEphbiAyMDAyLCAxODoxNToxNCk6Cn4jISBybj1MaWFyYSBydD0xMDEwODU0NDAxIHJnPXd3dwp+IyEgdGlkPTEwMTA4NTQ0MDEKTGVpZGVyIGZpZWwgaW4gZGVtIE1vbWVudCwgYWxzIGljaCBkZW4gTGluayBwb3N0ZXRlLCBkaWUgU2VpdGUgYXVzLiBBbHNvCnNjaG9lbiBqYW1tZXJuLCBhYmVyIHdlaXRlciB2ZXJzdWNoZW4hIElzdCBsZWlkZXIgc293aWVzbyBldHdhcyBsYWdneSwgd2VpbCBzbwpmcmVxdWVudGllcnQhClNwcmljaDogZGVyIExpbmsgaXN0IHNjaG9uIHJpY2h0aWcuIDotKQoKClpaTCwga3JpZWd0IFNwZWxsaSBzY2hvbiBub2NoIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOb2NoIGVpbmUgU3VjaHQgLi4uIChTcGVsbGZpcmUsIDEzLiBKYW4gMjAwMiwgMTA6MzQ6MDcpOgp+IyEgcm49TGlhcmEgcnQ9MTAxMDg1NTcxNCByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCj4gWlpMLCBrcmllZ3QgU3BlbGxpIHNjaG9uIG5vY2ggLi4uCkhhaGFoIGplZGVzbWFsIGF1ZiBkZW4gU2FjayBrcmllZyBpY2ggc2llIDs+IGxhc3MgdW5zIGxpZWJlciBpbm5lIEFyZW5hIGdlaGVuLgpCZWkgZGllc2VtIG5ldW1vZGlzY2hlbiBncmFmaWsgU2Nobmljay1TY2huYWNrIGJuIGljaCB1ZWJlcmZvcmRlcnQuCgpTcGVsbGZpcmUsIG5pY2h0IHVlYmVyIGVpbiBVbmVudHNjaGllZGVuIGhlcmF1c2tvbW1lbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5vY2ggZWluZSBTdWNodCAuLi4gKExpYXJhLCAxMy4gSmFuIDIwMDIsIDEzOjUzOjQ0KToKfiMhIHJuPVNwZWxsZmlyZSBydD0xMDEwOTE0NDQ3IHJnPXd3dwp+IyEgdGlkPTEwMTA4NTQ0MDEKQWxzIFdhcm1kdXNjaGVyIGVpbiBVbmVudHNjaGllZGVuIGdlZ2VuICduZW4gV2FkZW5iZWlzc2VyIHp1IHNjaGFmZmVuLCBpc3QKbWVociBhbHMgZ3V0LiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJvYm9yYWxseWVzZWl0ZW4gKERhcmlhLCAxMy4gSmFuIDIwMDIsIDE1OjA4OjQ5KToKSHVodSwKd29pZSB2ZXJzcHJvY2hlbjoKd3d3LnJhbmRvbWRpY2UuY29tL2dhbWVzL3JvYm9yYWxseS9ycmdhbWVib2FyZHMuYXNwCgpEYXMgaXN0YWJlciBudXIgZWluIEJlaXNwaWVsLiBXZXIgbWVociBzdWNodCwgc29sbHRlIGVpbmZhY2ggbWFsIHVudGVyCnlhaG9vLmNvbSByb2JvcmFsbHkgZWluZ2ViZW4uCkRhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOb2NoIGVpbmUgU3VjaHQgLi4uIChDdWNodWxsaW4sIDEzLiBKYW4gMjAwMiwgMjM6MTc6NTkpOgp+IyEgcm49TGlhcmEgcnQ9MTAxMDkyNjQyNCByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkdlc2NoaWNrdCB2b24gTHljb3MgZWluZ2VmYWVkZWx0LiBVbSBXYWZmZSBYIGJlbnV0emVuIHp1IGtvZW5uZW4sIAptdXNzIG1hbiBZIExldXRlIGVyZm9sZ3JlaWNoIHp1bSBEdWVsbCBnZWZvcmRlcnQgaGFiZW4sIGRpZSB2b3JoZXIKbm9jaCBuaWNodCBtaXRnZXNwaWVsdCBoYWJlbi4KCkJpbm5lbiB3ZW5pZ2VyIE1vbmF0ZSB3ZXJkZW4gVGF1c2VuZGUgYW4gYmVzdGFldGlndGVuIEVtYWlsYWRyZXNzZW4KenVzYW1tZW5nZXNhbW1lbHQsIG1pdCBkZW5lbiBtYW4gdmVybXV0bGljaCBlYmVuc292aWVsIHRvbGxlIERpbmdlCnR1biBrYW5uLiBQcm9jbWFpbCBpc3QgdW5zZXIgRnJldW5kLgoKQ3VjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTm9jaCBlaW5lIFN1Y2h0IC4uLiAoTW9udGFudXMsIDE0LiBKYW4gMjAwMiwgMDI6MjA6MDgpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMTA5NjAyNzkgcmc9d3d3Cn4jISB0aWQ9MTAxMDg1NDQwMQpEdSBoYXN0IHJlY2h0IHVuZCB1bnJlY2h0LiBTb2xhbmdlIGljaCBkYSBlaW5lIGJlbGllYmlnZQp5YWhvby5kZS1lTWFpbC1BZHJlc3NlIGFuZ2ViZW4ga2FubiwgZGllIHJlY2h0emVpdGlnIHZvciBkZXIgU1BBTS1XZWxsZSB3aWVkZXIKYXVmZ2VnZWJlbiB3aXJkLCBpc3QgZGFzIGRvY2ggZ2FyIGtlaW4gUHJvYmxlbS4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUm9ib3JhbGx5ZXNlaXRlbiAoQWhhYiwgMTQuIEphbiAyMDAyLCAxMDo1MDowNik6Cn4jISBybj1EYXJpYSBydD0xMDEwOTMwOTI5IHJnPXd3dwp+IyEgdGlkPTEwMTA5MzA5MjkKSWNoIGthbm4gYXVjaCBkdXJjaGF1cyBkaWUgUm9iby1GYWN0b3J5IGVtcGZlaGxlbjoKd3d3LnJvYm8tZmFjdG9yeS5kZSwKZGEgZ2lidHMgYXVjaCBOYWNoc2NodWIgYW4gQm9hcmRzIHVuZCBPcHRpb25za2FydGVuLgoKQWhvaSwKICAgQWhhYi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vY2ggZWluZSBTdWNodCAuLi4gKEJhbWJpLCAxNC4gSmFuIDIwMDIsIDEyOjM5OjMzKToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDEwOTYwMjc5IHJnPXd3dwp+IyEgdGlkPTEwMTA4NTQ0MDEKTWl0IGVpZ2VuZXIgVVJMIHVuZCBlaW5lbSBxdWFzaSB1bmVuZGxpY2hlbiBTY2hhdHogYW4gZS1tYWlsLUFsaWFzc2VuIGthbm5zdApEdSB6dW1pbmRlc3QgaGFsYndlZ3Mgc2ljaGVyIHp1cnVlY2t2ZXJmb2xnZW4sIHdlciBEZWluZSBFLU1haWwgd2VpdGVyZ2VnZWJlbgpoYXQuIFdlbm5nbGVpY2ggRHUgZGllIHN0ZC1NYWlsLUFkcmVzc2VuIChtYWlsQCwgcG9zdG1hc3RlckApIG5hdHVlcmxpY2ggbmljaHQKc28gZWluZmFjaCBhdWZnZWJlbiBrYW5uc3QsIHdpZSBmYW5nLWFsaWFzc2UgbmFjaCAvZGV2L251bGwgbGF1ZmVuIHp1IGxhc3Nlbi4KCihKYSwgaWNoIGhhYiBkZW4gVGhyZWFkIHp1ZW5kZSBnZWxlc2VuLikKTWZHLCBCYW1iaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5vY2ggZWluZSBTdWNodCAuLi4gKFNpbHZhbmEsIDE0LiBKYW4gMjAwMiwgMTQ6MjU6NDYpOgp+IyEgcm49TGlhcmEgcnQ9MTAxMTAxNDQ3MSByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkljaCBuZWhtZSBlaW5mYWNoIG1hbCBhbiwgZGFzIG1pdCBkZW0gd2VpdGVyZ2ViZW4gYmV6b2cgc2ljaCBtZWhyIGF1ZiBMeWNvcwphbHMgYXVmIGRlbiBwb3RlbnRpZWxsZW4gU3BpZWwtR2VnbmVyLiA6KQoKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOb2NoIGVpbmUgU3VjaHQgLi4uIChDdWNodWxsaW4sIDE0LiBKYW4gMjAwMiwgMTU6Mzc6MDgpOgp+IyEgcm49QmFtYmkgcnQ9MTAxMTAwODM3MyByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkRlciBXaXR6IGlzdCwgQmFtYmkgLSBuaWNodCBEVSBlbnRzY2hlaWRlc3QsIHdlbGNoZSBFbWFpbGFkcmVzc2UgYW4KTHljb3Mgd2VpdGVydmVybWl0dGVsdCB3aXJkLCBzb25kZXJuIGRlciwgZGVyIERpY2ggZm9yZGVydC4gVW5kIGRlciAKbmltbXQgbW9lZ2xpY2hlcndlaXNlIG5pY2h0IHNwYW1AcmVoYnJhdGVuLmRlIHNvbmRlcm4gcmVoQGJhbWJpLmRlLgpEYW1pdCBpc3QgZGllIEVNYWlsYWRyZXNzZSB6d2FyIG5vY2ggbmljaHQgYmVzdGFldGlndCAoaXN0IHNpZSBqYSBlcnN0LAp3ZW5uIER1IGF1ZiBkaWUgRm9yZGVydW5nIGVpbmdlaHN0IG9kZXIgc29uc3R3aWUgYXVmIHNpZSByZWFnaWVyc3QgKER1Cmthbm5zdCB2aWEgS2xpY2sgYXVjaCBrdW5kdHVuLCBuaWUgd2llZGVyIGdlZm9yZGVydCB3ZXJkZW4genUgd29sbGVuLCAKd29taXQgRGVpbmUgRW1haWxhZHJlc3NlICpnYW56IHNpY2hlciogaXJnZW5kd28gZ2VzcGVpY2hlcnQgd2lyZCA7KSkpLCAKYWJlciBoYWJlbiB0dW4gc2llIHNpZSBzY2hvbm1hbC4KCkN1Y2h1bGxpbiAtIGRlc3NlbiBVbmktRW1haWxhY2NvdW50IGluIGVpbiBwYWFyIE1vbmF0ZW4gaG9mZmVudGxpY2gKICAgICAgICAgICAgc293YXMgdm9uIGJlZGV1dHVuZ3Nsb3MgaXN0LCBkYXNzIGVzIG5peCBhdXNtYWNodC4uLiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5vY2ggZWluZSBTdWNodCAuLi4gKExpYXJhLCAxNC4gSmFuIDIwMDIsIDE1OjM5OjE0KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDExMDE5MDI4IHJnPXd3dwp+IyEgdGlkPTEwMTA4NTQ0MDEKV0FTIG1hY2h0IG5peCBhdXMsIGhtPz8/IExvcywgc2FnIGVzLCBzYWcgZXMgLi4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTm9jaCBlaW5lIFN1Y2h0IC4uLiAoQ3VjaHVsbGluLCAxNC4gSmFuIDIwMDIsIDE1OjUxOjI4KToKfiMhIHJuPUxpYXJhIHJ0PTEwMTEwMTkxNTQgcmc9d3d3Cn4jISB0aWQ9MTAxMDg1NDQwMQpFcyBtYWNodCBuaWNodHMgYXVzLCBkYXNzIGljaCBpbiBlaW5lbSBBbmZsdWcgZ2Vpc3RpZ2VyIFVtbmFjaHR1bmcgYXVmCmRpZSBFTWFpbCByZWFnaWVydCBoYWJlLCBhbnN0YXR0IGRlbSBGb3JkZXJuZGVuIHp1IHNhZ2VuLCBlciBzb2xsZSBkb2NoCmJpdHRlIG1laW5lIFlhaG9vLUVtYWlsYWRyZXNzZSBkYXp1IGFuc2NocmVpYmVuLgoKU2F1ZXJlaSB1ZWJyaWdlbnMuIFVFQkVSQUxMIGJla29tbXQgbWFuIGF1ZidzIEF1Z2UgZ2VkcnVlY2t0LCB3aWUgdG9sbAplcyBpc3QsIG5ldWUgTGV1dGUgYW56dXdlcmJlbiAoIkV4dHJhIFB1bmt0ZSB1bmQgTXVlbnplbiB2ZXJkaWVuZW46IApXdXNzdGVzdCBkdSwgZGFzcyBkdSA1IFp1c2F0enB1bmt0ZSB1bmQgNzAwIFp1c2F0em11ZW56ZW4gdmVyZGllbmVuIAprYW5uc3QsIHdlbm4gZHUgZWluZSBQZXJzb24gaGVyYXVzZm9yZGVyc3QsIGRpZSBub2NoIG5pZSBMeWNvcyAKUHJ1ZWdlbHBhdXNlIGdlc3BpZWx0IGhhdD8iKSwgYWJlciBuaXJnZW5kd28gZ2lidCBlcyBlaW5lbiBIaW53ZWlzCmRhenUsIHdpZSBtYW4gZGllc2VuICJadWdhbmciIGluY2wuIGdlc3BlaWNoZXJ0ZXIgRGF0ZW4gd2llZGVyIGxvZXNjaHQuCgpOZWluLCBrZWluZSBTYXVlcmVpLiBHZXNjaGlja3QgZWluZ2VmYWVkZWx0LiBBYmVyIGRhcyBzYWd0ZSBpY2ggc2Nob24uCgpDdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBOb2NoIGVpbmUgU3VjaHQgLi4uIChMaWFyYSwgMTQuIEphbiAyMDAyLCAxNTo1NTowOSk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTAxMTAxOTg4OCByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkhlaGVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZS4gOi0pIER1IG1hY2hzdCBuaWNodCBldHdhIGF1Y2ggbWl0IGJlaSBkaWVzZW0KdmVyZGFtbXVuZ3N3dWVyZGlnZW4gU3BpZWw/IDstKQoKVHJvZXN0ZSBEaWNoLCBtaXIgZ2luZyBlcyBnZW5hdXNvLiBJY2ggaGFiZSBhdWNoIG5pY2h0IHJlYWdpZXJ0LCB1bm51IHN0ZWh0IGRhCmZ1ZXIgamVkZW4gc2ljaHRiYXIgYXVjaCBub2NoIG1laW5lIEVNYWlsIG1pdCBtZWluZW0gUkwtTmFtZW4gLi4uIHp1bSBHbHVlY2sKbmljaHQgYXVjaCBub2NoIG1pdCBVbmktQm9ubiBkYWhpbnRlciwgZGVubiBzb25zdCBoYWV0dGUgbWFuIGphIGdsZWljaCBkaWUKQWRyZXNzZSBtaXRnZWxpZWZlcnQuIChEYXMgZmluZGUgaWNoIGVpbiB3ZWl0YXVzIGdyb2Vzc2VyZXMgUHJvYmxlbSBhbHMgZGllCm1vZWdsaWNoZSBXZWl0ZXJnYWJlIGR1cmNoIEx5Y29zLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOb2NoIGVpbmUgU3VjaHQgLi4uIChDdWNodWxsaW4sIDE0LiBKYW4gMjAwMiwgMjA6MTk6NDkpOgp+IyEgcm49TGlhcmEgcnQ9MTAxMTAyMDEwOSByZz13d3cKfiMhIHRpZD0xMDEwODU0NDAxCkljaCBoYWJlIGpldHp0IGF1Y2ggZWluZW4gbmV1ZW4gTWl0c3BpZWxlciBiZXdvcmJlbjogYWJ1c2VAbHljb3MuZGUKCk1hbCBzY2hhdWVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSb2JvcmFsbHllc2VpdGVuIChNb250YW51cywgMTQuIEphbiAyMDAyLCAyMDoyNDowMik6Cn4jISBybj1BaGFiIHJ0PTEwMTEwMDE4MDYgcmc9d3d3Cn4jISB0aWQ9MTAxMDkzMDkyOQpSb2JvcmFsbHkgb25saW5lIHNwaWVsZW4gYXVmIGdsb21vZXIuZGUgb2RlciBzbyBhZWhubGljaC4KSWNoIGtyaWVnIGRhdWVybmQgdm9uIGRlbmVuIG5vY2ggZGVuIE5ld3NsZXR0ZXIsIG9id29obCBpY2ggbmllIHJpY2h0aWcgWmVpdApoYXR0ZSwgbWl0enVzcGllbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIGtlbm50IG5vY2ggIkJhcmQncyBUYWxlIiA/IChNb3Jnb3RoLCAxNS4gSmFuIDIwMDIsIDEzOjQxOjI2KToKU2NoYXV0IG1hbCBhdWYgaHR0cDovL3d3dy5iYXJkc2xlZ2FjeS5jb20vIG5hY2guIERhcyBlcmlubmVydCBtaWNoIGRvY2gKdmVyZGFtbXQgZGFyYW4uIEhvZmZlbnRsaWNoIGJyaW5nZW4gZGllIGJhbGQgbmUgRGVtbyByYXVzICpzYWJiZXIqCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlciBrZW5udCBub2NoICJCYXJkJ3MgVGFsZSIgPyAoT3JrdG9ldGVyLCAxNS4gSmFuIDIwMDIsIDE0OjE5OjMxKToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxMTA5ODQ4NiByZz13d3cKfiMhIHRpZD0xMDExMDk4NDg2CldlbGNoZXIgVGVpbCB3YXIgZGFzIG5vY2ggbWFsIG1pdCBkZW0gZWluZW4gUmF1bSBtaXQgdmllciBHcnVwcGVuIGEgOTkKQmVyc2Vya2Vybj8gCkljaCBlcmlubmVyZSBtaWNoIG5vY2gsIGRhcyBpY2ggYmVpIG1laW5lbSBBdGFyaSBkYW1hbHMgdm9yIGRlbSBLYW1wZgp2ZXJnZXNzZW4gaGFiZSwgZGllIHNjcm9sbGdlc2Nod2luZGlna2VpdCBhdWYgbWF4aW1hbCB6dSBzZXR6ZW4gdW5kIGVyc3QgbWFsCmVpbmUgaGFsYmUgU3R1bmRlIGF1ZiBkYXMgRW5kZSBkZXIgZXJzdGVuIEthbXBmcnVuZGUgZ2V3YXJ0ZXQgaGFiZSAqZyoKCk9ya1QsIGluIEVyaW5uZXJ1bmdlbiBzY2h3ZWxnZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZXIga2VubnQgbm9jaCAiQmFyZCdzIFRhbGUiID8gKEJvaW5nLCAxNS4gSmFuIDIwMDIsIDE0OjIxOjIzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDExMTAwNzcxIHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKSWNoIGdsYXViZSBkYXMgd2FyIEJhcmQncyBUYWxlIDEsIGltIHZvcmxldHp0ZW4gRHVuZ2Vvbi4gSGFiIGRlbiBOYW1lbgp2ZXJnZXNzZW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlciBrZW5udCBub2NoICJCYXJkJ3MgVGFsZSIgPyAoWm9vaywgMTUuIEphbiAyMDAyLCAxNDoyMTo0NSk6Cn4jISBybj1Cb2luZyBydD0xMDExMTAwODgzIHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKT2gsIGRhIGVyaW5uZXJlIGljaCBtaWNoIGF1Y2ggbm9jaCBkcmFuLi4uIDotKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlciBrZW5udCBub2NoICJCYXJkJ3MgVGFsZSIgPyAoQ2F0d2VhemxlLCAxNS4gSmFuIDIwMDIsIDE0OjIyOjAyKToKfiMhIHJuPUJvaW5nIHJ0PTEwMTExMDA4ODMgcmc9d3d3Cn4jISB0aWQ9MTAxMTA5ODQ4NgpFQU1BIGhhdCBzY2huZWxsIGdlaG9sZmVuIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZXIga2VubnQgbm9jaCAiQmFyZCdzIFRhbGUiID8gKEJvaW5nLCAxNS4gSmFuIDIwMDIsIDE0OjIzOjQ5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDExMTAwOTIyIHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKSWNoIGxpZWJlIEdvb2dsZSAuLi4gZXMgd2FyIGluIEhhcmt5bidzIENhc3RsZSAuLi4gYWxzbyBkZXIgZHJpdHRsZXR6dGUKRHVuZ2Vvbi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VyIGtlbm50IG5vY2ggIkJhcmQncyBUYWxlIiA/IChBbmFjcmlvbiwgMTUuIEphbiAyMDAyLCAxNDozODowNSk6Cn4jISBybj1Cb2luZyBydD0xMDExMTAxMDI5IHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKSG1tbS4gRGVyIEVuZGthbXBmIHZvbiBCVDIgYmVpIExhZ290aCBaYW50YSAoRXIgc2VsYmVyICsgNCBHcnVwcGVuIHZvbiBYWApTb25zdHdhcyBHaWFudHMgKGxhbmdlIGhlcikpIHdhciBhdWNoIHVlYmVsIC4uLi4gdHJvdHogbWFzc2l2IGVpbmdlc2V0enRlcgpNQU1BJ3MgKG1hbmdhcidzIG1hbGxldCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlciBrZW5udCBub2NoICJCYXJkJ3MgVGFsZSIgPyAoTW9yZ290aCwgMTUuIEphbiAyMDAyLCAxNDo0MDowOCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAxMTEwMDc3MSByZz13d3cKfiMhIHRpZD0xMDExMDk4NDg2ClRlaWwgMSwgaW4gZGVtIFRvd2VyIGltIE5vcmRvc3RlbiAoSGFya3luJ3MgPyksIEViZW5lIDMsIDExIE5vcmQsIDEzIE9zdAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlciBrZW5udCBub2NoICJCYXJkJ3MgVGFsZSIgPyAoQW5hY3Jpb24sIDE1LiBKYW4gMjAwMiwgMTQ6NDA6NDgpOgp+IyEgcm49TW9yZ290aCBydD0xMDExMTAyMDA4IHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKS3lsZWFyYW4ncwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VyIGtlbm50IG5vY2ggIkJhcmQncyBUYWxlIiA/IChCb2luZywgMTUuIEphbiAyMDAyLCAxNDo0MTo0NCk6Cn4jISBybj1BbmFjcmlvbiBydD0xMDExMTAyMDQ4IHJnPXd3dwp+IyEgdGlkPTEwMTEwOTg0ODYKTm9lLCBIYXJreW4ncy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luZG93cyA5OCdzIHNlY3JldCAoQW50aGVhLCAxNy4gSmFuIDIwMDIsIDE0OjAzOjU5KToKaHR0cDovL3d3dy5kYXQuZHR1LmRrL35mYS93aW45NS5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2luZG93cyA5OCdzIHNlY3JldCAoTWFuZHJhZ29uLCAxNy4gSmFuIDIwMDIsIDE0OjA3OjEwKToKfiMhIHJuPUFudGhlYSBydD0xMDExMjcyNjM5IHJnPXd3dwp+IyEgdGlkPTEwMTEyNzI2MzkKSGVoZS4gSGF0IHdhcyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2luZG93cyA5OCdzIHNlY3JldCAoTGluZmxhcywgMTcuIEphbiAyMDAyLCAxNzoyNzozNSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAxMTI3MjgzMCByZz13d3cKfiMhIHRpZD0xMDExMjcyNjM5Ck1pc3QsIGljaCBoYWJlIGtlaW5lIE1pa3Jvd2VsbGUuLi5nZWh0IGF1Y2ggZWluIEJhY2tvZmVuPwoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdlbmdyYXVlbi1Ib21lcGFnZSAoQmlyZHksIDIwLiBKYW4gMjAwMiwgMTA6Mjk6NTcpOgpIaWhvIQoKV2FlcmUgZXMgbmljaHQgaW50ZXJlc3NhbnQsIGF1ZiB1bnNlcmVyIEhvbWVwYWdlIGVpbmUga2xlaW5lIEJlc2NocmVpYnVuZwp1bnNlcmVzIE11ZHMgaW4gRW5nbGlzY2ggenUgaGFiZW4/IFdlciB3aXIgc2luZCwgd2FzIHdpciBoaWVyIG1hY2hlbiwgd2llIGRhcwphYmxhZXVmdCB1bmQgd2FzIHdpciBoaWVyIHNvIGFsbGVzIGFuIEluaGFsdGVuIGhhYmVuLiBFaW4gSGlud2VpcyBkYXJhdWYgd2FlcmUKZnVlciB2aWVsZSBlbmdsaXNjaHNwcmVjaGVuZGVuIExldXRlIGVpbmUgZ3JvZXNzZXJlIEhpbGZlLCBhbHMgaXJnZW5kd2VsY2hlCkVya2xhZXJ1bmdzdmVyc3VjaGUgaW4gZ2Vicm9jaGVuZW0gb2RlciBzY2hsZWNodGVtIEVuZ2xpc2NoLiBXZXIgc2VociBndXQKRW5nbGlzY2gga2FubiwgaXN0IHZpZWxsZWljaHQgbm9jaCBuaWUgYXVmIGRpZXNlIElkZWUgZ2Vrb21tZW4sIGRhIGVyIGphIG1pdApkZW4gRXJrbGFlcnVuZ2VuIGluIEVuZ2xpc2NoIGtlaW5lIFNjaHdpZXJpZ2tlaXRlbiBoYXQuIDopCgpCaXJkeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5oYW5nIChCaXJkeSwgMjAuIEphbiAyMDAyLCAxMDozNDo0Nik6CkljaCBiaW4gYXVjaCBncmFkIG1hbCB3aWVkZXIgdWViZXIgdW5zZXJlIEhvbWVwYWdlIGdlc3VyZnQuCkRhIGdpYnRzIGVpbmlnZXMsIHdhcyB1cmFsdCBpc3QuIEFtIGtyYXNzZXN0ZW4gZmFuZCBpY2ggIk5ldWVzIi4KV2VyIHdhcnRldCB1bmVzZXJlIEhvbWVwYWdlPyBab29rIG9kZXIgSGF0ZSBvZGVyIFJvY2h1cyBvZGVyIHdlcj8KRWluZSBJbmZvcm1hdGlvbiBkYXp1IGlzdCBub2V0aWcsIGRhbWl0IG1hbiBJZGVlbiwgdm9yc2NobGFlZ2UsIEVyaW5uZXJ1bmdlbgpnbGVpY2ggcGVyIE1haWwgYW4gZGVuamVuaWdlbiBzY2hpY2tlbiBrYW5uLgoKQmlyZHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW5ncmF1ZW4tSG9tZXBhZ2UgKFpvb2ssIDIxLiBKYW4gMjAwMiwgMTI6Mjc6MzgpOgp+IyEgcm49QmlyZHkgcnQ9MTAxMTUxODk5NyByZz13d3cKfiMhIHRpZD0xMDExNTE4OTk3CkphLCBkYXMgd2FlcmUgZmVpbiwgd2VubiBqZW1hbmQgbmUgS3VyemJlc2NocmVpYnVuZyBtYWNoZW4ga29lbm50ZS4gTWVpbgpFbmdsaXNjaCBpc3QgbGVpZGVyIGV0d2FzIGFyZyBob2xwcmlnIGRhZnVlci4uIDotKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmhhbmcgKFpvb2ssIDIxLiBKYW4gMjAwMiwgMTI6Mjg6MzApOgp+IyEgcm49QmlyZHkgcnQ9MTAxMTUxOTI4NiByZz13d3cKfiMhIHRpZD0xMDExNTE5Mjg2CkljaCB6ZWljaG5lIG1pY2ggbnVyIGVpbnNwcmluZ2VuZGVyd2Vpc2UgZnVlciBQYXJ0eS1CaWxkZXIgdmVyYW50d29ydGxpY2hlbjsKYW5zb25zdGVuIG5laG1lIGljaCBBbnJlZ3VuZ2VuLCBBZW5kZXJ1bmdlbiBldGMuIGF1Y2ggZW50Z2VnZW4sIHdlbm4gc2llIApzaWNoIHNjaG5lbGwgdW1zZXR6ZW4gbGFzc2VuLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFuaGFuZyAoQmFtYmksIDIxLiBKYW4gMjAwMiwgMTQ6MTE6MTQpOgp+IyEgcm49Wm9vayBydD0xMDExNjEyNTEwIHJnPXd3dwp+IyEgdGlkPTEwMTE1MTkyODYKRGllIFJlZ2lvbnNzZWl0ZW4gd2VyZGVuIHZvbiBkZW4gamV3ZWlsaWdlbiBSTSBnZXdhcnRldCwgYnp3LiBzb2xsdGVuIGVzCndlcmRlbi4KRGllIFNlaXRlbiBkZXMgR2ViaXJnZXMgdWViZXJhcmJlaXRlIGljaCAodmllbGxlaWNodCkgbmFjaCBtZWluZW4gS2xhdXN1cmVuLAphbHNvIE1pdHRlIEZlYnJ1YXIgb2RlciBzby4gVWViZXIga29uc3RydWt0aXZlIEFucmVndW5nZW4gb2RlciBuZXVlIFRleHRlIGJpbgppY2ggbmF0dWVybGljaCBkYW5rYmFyLiBEaWVzIGdpbHQgYXVjaCBmdWVyIEhpbndlaXNlIGF1ZiBuZXVlIEdlYmlldGUsIGRpZQpkb3J0IG5pY2h0IGVyd2FlaG50IHNpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXZhKyAoVmFuaW9uLCAyMy4gSmFuIDIwMDIsIDIyOjUyOjIwKToKaHR0cDovL3d3dy53dW5zY2hsaXN0ZS5kZS8KVW50ZW4gcmVjaHRzIGF1ZiBkZXIgU2VpdGUgaXMgZWluZSBVbWZyYWdlLCBkYXMgWndpc2NoZW5lcmdlYm5pcyBpcwp2aWVsc2FnZW5kLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWaXZhKyAoVHJveSwgMjMuIEphbiAyMDAyLCAyMjo1NjowMCk6Cn4jISBybj1WYW5pb24gcnQ9MTAxMTgyMjc0MCByZz13d3cKfiMhIHRpZD0xMDExODIyNzQwCjotKSA2Myw4JSBmdWVyIHVuZ2VudWVnZW5kIHVuZCBtZWhyIGFscyA4MCUgbWFuZ2VsaGFmdCt1bmdlbnVlZ2VuZC4gTWVocgprYW5uIG1hbiBuaWNodCB3b2xsZW4uCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFzaFRlbG5ldCB3aWVkZXIgYWt0aXZpZXJ0LiAoSGF0ZSwgMjUuIEphbiAyMDAyLCAxMToyOTo0OCk6CkhhbGxvLAoKaWNoIGhhYmUgZGFzIEZsYXNoVGVsbmV0IHdpZWRlciBha3RpdmllcnQuCgpIYXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXVyby1CaWxsLVRyYWNrZXIgKEJhbWJ1bGtvLCAyNS4gSmFuIDIwMDIsIDEzOjMwOjMzKToKSGFsbG8sCgp1bnRlcjogaHR0cDovL3d3dy5ldXJvYmlsbHRyYWNrZXIuY29tL2luZGV4LnBocD9yZWZlcmVyPTIxOQoKZmluZGV0IGlociBuZSBTZWl0ZSwgd28gbWFuIGRpZSBTZXJpZW5udW1tZXJuIHNlaW5lciBFdXJvLUJhbmtub3RlbiBlaW5nZWJlbgprYW5uIHVuZCBzcGFldGVyIG5hY2hzY2hhdWVuIGthbm4sIG9iIGRpZSBpcmdlbmR3b2FuZGVycyBhdWZ0YXVjaGVuLgoKVW53YWhyc2NoZWlubGljaCwgZGFzcyBlcyBkYSB2aWVsZSBUcmVmZmVyIGdpYnQsIGFiZXIga2VpbmUgc2NobGVjaHRlIElkZWUuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEV1cm8tQmlsbC1UcmFja2VyIChOYWRkbCwgMjUuIEphbiAyMDAyLCAxMzozMjo0Nik6Cn4jISBybj1CYW1idWxrbyBydD0xMDExOTYxODMzIHJnPXd3dwp+IyEgdGlkPTEwMTE5NjE4MzMKS2xhc3NlIElkZWUgdW0gYXVjaCBub2NoIGdhbnoga2xhcmUgTW9lZ2xpY2hrZWl0ZW4gZnVlciBqZWRlcyBHZXNjaGFlZnQgenUKc2NoYWZmZW4gbmFjaHp1c2VoZW4gd2VsY2hlIEUtTWFpbCB3byBmdWVyIHdpZXZpZWwgZWlua2F1ZmVuIGdlaHQuCgppLkEuIEdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXVyby1CaWxsLVRyYWNrZXIgKEJhbWJ1bGtvLCAyNS4gSmFuIDIwMDIsIDEzOjU2OjEyKToKfiMhIHJuPU5hZGRsIHJ0PTEwMTE5NjE5NjYgcmc9d3d3Cn4jISB0aWQ9MTAxMTk2MTgzMwpFcyBnaWJ0IGRvY2ggaW1tZXIgd2llZGVyIExldXRlLCBkaWUgaGludGVyIGFsbGVtIGVpbmUgVmVyc2Nod29lcnVuZwp2ZXJtdXRlbi4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFdXJvLUJpbGwtVHJhY2tlciAoTmFkZGwsIDI1LiBKYW4gMjAwMiwgMjA6MDM6MTApOgp+IyEgcm49QmFtYnVsa28gcnQ9MTAxMTk2MzM3MiByZz13d3cKfiMhIHRpZD0xMDExOTYxODMzCkRhIG11c3MgaWNoIGtlaW5lIFZlcnNjaHdvZXJ1bmcgdmVybXV0ZW4gc29uZGVybiBudXIgZWluZSBXZWl0ZXJnYWJlIGRpZXNlcgpEYXRlbiB6dXIgd2VpdGVyZW4gTWFya2V0aW5nc2FuYWx5c2UuIEljaCBkcnVlY2sgenVzYWV0emxpY2ggenVtIEZpbHRlciBzY2hvbgpnZW51ZyBhdWYgZGllICdEJy1UYXN0ZSBpbSBQaW5lLgoKaS5BLiBHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQSVNBIDopIChWYW5pb24sIDI4LiBKYW4gMjAwMiwgMjA6NTU6MTEpOgpKYXBhbiBoYXQgaW4gZGVyIFBJU0EtU3R1ZGllIGRldXRsaWNoIGJlc3NlciBhYmdlc2Nobml0dGVuIGFscyBEZXV0c2NobGFuZC4KSWNoIGZyYWcgbWljaCBtYW5jaG1hbDogV2FydW0/CgpodHRwOi8vd3d3LmVuZ3Jpc2guY29tCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBJU0EgOikgKFpvb2ssIDI4LiBKYW4gMjAwMiwgMjE6MTg6MzEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMTIyNDc3MTEgcmc9d3d3Cn4jISB0aWQ9MTAxMjI0NzcxMQpXaWVzbyBmcmFnc3QgRHUgRGljaCBkYXM/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRFNBIDEsIDIgTUlESSwgQWxpY2UgaW0gRmFzaGlvbmxhbmQgKFRydWcsIDI4LiBKYW4gMjAwMiwgMjE6NDA6MjYpOgpodHRwOi8vYXJodS5jamIubmV0LwoKRG9ydCBnaWJ0cyBuZWJlbiBlaW5lbSAnUmVpc2ViZXJpY2h0JyBmdWVyIGRhcyBDb21wdXRlcnNwaWVsIERTQSAxIC0KU2NoaWNrc2Fsc2tsaW5nZSBhdWNoIGRpZSBNSURJcyAgZnVlciBUZWlsIDEgdW5kIDIuCgpUcnVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZXRpdGlvbjogTGludXggaW4gZGVuIEJ1bmRlc3RhZyAoVmFuaW9uLCAyOS4gSmFuIDIwMDIsIDIyOjQ1OjQ3KToKV2VyIHNpY2ggaW50ZXJlc3NpZXJ0OgpodHRwOi8vd3d3LmJ1bmRlc3R1eC5kZS8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGV0aXRpb246IExpbnV4IGluIGRlbiBCdW5kZXN0YWcgKENhdHdlYXpsZSwgMzAuIEphbiAyMDAyLCAwODozODoxNik6Cn4jISBybj1WYW5pb24gcnQ9MTAxMjM0MDc0NyByZz13d3cKfiMhIHRpZD0xMDEyMzQwNzQ3CkljaCBiZXp3ZWlmZWwgZGllIFNpbm5oYWZ0aWdrZWl0IGVpbmVyIHNvbGNoZW4gJ1VudGVyc2NocmlmdGVuYWt0aW9uJy4gRWluClBhZ2Vjb3VudGVyIGhhdHRzIHdhaHJzY2hlaW5saWNoIGF1Y2ggZ2V0YW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGV0aXRpb246IExpbnV4IGluIGRlbiBCdW5kZXN0YWcgKEdyaW1tYm9ybiwgMzAuIEphbiAyMDAyLCAwOTowNjo1OCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMjM3NjI5NiByZz13d3cKfiMhIHRpZD0xMDEyMzQwNzQ3CkFlaCwgZGllIE1ldGhvZGUsIHdpZSBkYSBnZXphZWhsdCB3aXJkLCB1bnRlcnNjaGVpZGV0IHNpY2ggc2VociBtYXNzaXYgdm9uCmVpbmVtIHBhZ2UgY291bnRlci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGV0aXRpb246IExpbnV4IGluIGRlbiBCdW5kZXN0YWcgKFBhdHJ5biwgMzAuIEphbiAyMDAyLCAwOToyMDo1Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxMjM3ODAxOCByZz13d3cKfiMhIHRpZD0xMDEyMzQwNzQ3Cmthbm4gbWFuIHNpY2ggZHJ1ZWJlciBzdHJlaXRlbiwgbGV0enRsaWNoIHNwcmluZ2VuIGRpZXNlIHNlaXRlIGVoIGZhc3QKYXVzbmFobXNsb3MgbGludXgtbmVyZHMgdW5kIG1vZWNodGVnZXJuLWZyZWFrcyBhbiwgZGllIHNpY2ggYXVjaCBodW5kZXJwcm8KZWludHJhZ2VuLiBkZW4gcmVzdCBkZXIgd2VsdCBpbnRlcmVzc2llcnQgZGFzIHNjaGxpY2h0d2VnIG5pY2h0LgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGV0aXRpb246IExpbnV4IGluIGRlbiBCdW5kZXN0YWcgKEN1Y2h1bGxpbiwgMzAuIEphbiAyMDAyLCAwOToyNTo0MSk6Cn4jISBybj1QYXRyeW4gcnQ9MTAxMjM3ODg1NiByZz13d3cKfiMhIHRpZD0xMDEyMzQwNzQ3Ck1hY2h0IGFiZXIgZWlucyBkZXV0bGljaDogRGllIEVudHNjaGVpZHVuZyB3aXJkIHZvbiBkZW4gdGVjaG5pc2NoZW4KQXNwZWt0ZW4gd2VuaWdlciBiZWVpbmZsdXNzdCBhbHMgdm9uIGRlbiBwb2xpdGlzY2hlbi4gS2FubiBtYW4gZXMgc2ljaApsZWlzdGVuLCBSZWRtb25kIGVpbmUgQWJmdWhyIHp1IGVydGVpbGVuIG9kZXIgbXVzcyBtYW4gZGVuIFZhbXBpciBpbnMKSGF1cyBiaXR0ZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZXRpdGlvbjogTGludXggaW4gZGVuIEJ1bmRlc3RhZyAoSG9ibywgMzAuIEphbiAyMDAyLCAxMDowNToxNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTAxMjM3NjI5NiByZz13d3cKfiMhIHRpZD0xMDEyMzQwNzQ3CkFiZXIgbnVyLCB3ZW5uIHRhdHNhZWNobGljaCBqZWRlciwgZGVyIGRpZXNlIFNlaXRlIGxpZXN0LCBhdWNoIGRlciBNZWludW5nCmlzdCwgZGFzcyAuLi4uCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFBldGl0aW9uOiBMaW51eCBpbiBkZW4gQnVuZGVzdGFnIChWYW5pb24sIDMwLiBKYW4gMjAwMiwgMTM6NDg6MTEpOgp+IyEgcm49UGF0cnluIHJ0PTEwMTIzNzg4NTYgcmc9d3d3Cn4jISB0aWQ9MTAxMjM0MDc0NwpEYXMgYmVpIFBldGl0aW9uZW4gaW1tZXIgbnVyIGRpZSBMZXV0ZSB1bnRlcnNjaHJlaWJlbiwgZGllIGFuIGRlciBFcmZ1ZWxsdW5nCmRlciBGb3JkZXJ1bmcgZGVyIGVudHNwcmVjaGVuZGVuIFBldGl0aW9uIGludGVyZXNzZSBoYWJlbiwgbGllZ3QgaW4gZGVyIE5hdHVyCmRlciBTYWNoZS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJidW5nIGluIEdvb2dsZSAtLSBQb3B1cHMuIChUcnVnLCAzMC4gSmFuIDIwMDIsIDIwOjU0OjQ0KToKaHR0cDovL3d3dy5nb29nbGUuY29tL2hlbHAvbm9wb3B1cGFkcy5odG1sCmh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9hZHMvCgpTbyB0ZXh0YmFzaWVydGUgV2VyYnVuZyBpc3QgaW1obyB2aWVsIGFuZ2VuZWhtZXIgYWxzIG5lcnZpZ2J1bnRlLApiYW5kYnJlaXRlbnZlcnNjaHdlbmRlbmRlIEJhbm5lciAnS2lsbCB0aGUgTW9ua2V5JyBHSUZzLi4uCgpUcnVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWlzdGVza3JhbmsgKEFudGhlYSwgIDEuIEZlYiAyMDAyLCAxNToyNjozMCk6CkFsc28sIG1pY2ggd3VlcmRlIGludGVyZXNzaWVyZW4sIHdlciB2b24gZXVjaCBhbGxlbiBnZWlzdGVza3JhbmsgaXN0LiBEYXp1Cm1hY2h0IGlociBhbSBiZXN0ZW4gZm9sZ2VuZGVuIFRlc3Q6Cmh0dHA6Ly93d3cua2F0dW5rLmNvbS9pbnNhbml0eS8KSWhyIG11ZXNzdCBlaW4gd2VuaWcgR2VkdWxkIGhhYmVuLCBiaXMgZGVyIFNvdW5kIGdlbGFkZW4gaXN0LiBPYiBkZW4gamVtYW5kCmJlc3RlaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2Vpc3Rlc2tyYW5rIChWYW5pb24sICAxLiBGZWIgMjAwMiwgMTY6Mjg6MDEpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTI1NzM1OTAgcmc9d3d3Cn4jISB0aWQ9MTAxMjU3MzU5MApHaWx0IG1pbGRlIGxhZWNoZWxuIGFscyAnc3RhcnQgbGF1Z2hpbmcnPwoKViosIGZpbmRldCdzIGFsYmVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWlzdGVza3JhbmsgKEZpcmVoYXdrLCAgMy4gRmViIDIwMDIsIDE3OjAwOjA1KToKfiMhIHJuPUFudGhlYSBydD0xMDEyNTczNTkwIHJnPXd3dwp+IyEgdGlkPTEwMTI1NzM1OTAKT2tpLCBkYW5rZSBkYXNzIER1IG1laW5lIFZlcnJ1ZWNrdGhlaXQgc28gb2ZmZW5zaWNodGxpY2ggYmVzdGFldGlnc3QgOykKCkZpcmVoYXdrLCBkYXMgZWlnZW50bGljaCBzY2hvbiBpbW1lciBnZXd1c3N0IGhhYmVuZCAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51ciBmdWVyIEJlc2l0emVyIGVpbmVzIEJ1ZWdlbGVpc2VucyAoVGlsbHksICA0LiBGZWIgMjAwMiwgMTU6MzI6MTEpOgpEaWUgbmV1ZSBJTi1TcG9ydGFydDogaHR0cDovL3d3dy5leHRyZW1laXJvbmluZy5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnd3dy5waWNrZWxmcmVpLmRlIChCYW1idWxrbywgIDguIEZlYiAyMDAyLCAxMzozMzo1Mik6CkdhbnogbmV0dGUgR2VzY2hpY2h0ZSBhdWY6Cgp3d3cucGlja2VsZnJlaS5kZQoKS2VpbmUgQWhudW5nIG9iIGRpZSBlY2h0IGlzdCwgYWJlciBzaWUgaXN0IGx1c3RpZy4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDRCB1bmQgS29waWVyc2NodXR6IChPcmt0b2V0ZXIsIDEwLiBGZWIgMjAwMiwgMjE6MDc6NDApOgpVbnRlciBmb2xnZW5kZXIgVVJMIGlzdCBlaW4gQXVmcnVmLCBQaGlsbGlwcyBkYWJlaSB6dSB1bnRlcnN0dWV0emVuLCBkYXMKS29waWVyZ2VzY2h1ZXR6dGUgQ0RzIG5pY2h0IG1laHIgYWxzIENEcyBiZXplaWNobmV0IHdlcmRlbiBkdWVyZmVuIHVuZCBuaWNodAptZWhyIG5lYmVuICJlY2h0ZW4iIENEcyBzdGVoZW4gZHVlcmZlbi4gU2NoYXV0IHNlbGJzdCB1bmQgbWFpbHQsIHdlbm4gaWhyCm1laW50LCBkYXMgZXMgSGlsZnQ6CgpodHRwOi8vd3d3LmVmZi5vcmcvYWxlcnRzLzIwMDIwMjA2X2VmZl9waGlsaXBzX2FsZXJ0Lmh0bWwKCk9ya1QsIGRlciBrZWluZSBrb3BpZXJnZXNjaHVldHp0ZW4gQ0RzIG1hZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCipSb3RmbCogKE1vcmdvdGgsIDExLiBGZWIgMjAwMiwgMTU6MjQ6MTcpOgpodHRwOi8vd3d3LnN2ZW4ta29tbXQuZGUvIAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDRCB1bmQgS29waWVyc2NodXR6IChDdWNodWxsaW4sIDEyLiBGZWIgMjAwMiwgMDA6Mjk6MTQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMTMzNzE2NjAgcmc9d3d3Cn4jISB0aWQ9MTAxMzM3MTY2MApOYWNoZGVtIER1IGF1Y2ggYW5kZXJlIE11ZHMgZGFtaXQgYmVsYWVzdGlnc3Q6IERlaW5lIFdvcnR3YWhsIGlzdCB1bnRlcgphbGxlciBTYXUgdW5kIHJ1ZWNrdCBQaGlsaXBzIGluIGVpbiBmYWxzY2hlcyBMaWNodC4gT2RlciB1ZWJlcnNldHpzdCBEdQpldHdhICJkeXNmdW5jdGlvbmFsIiB0YXRzYWVjaGxpY2ggbWl0ICJrb3BpZXJnZXNjaHVldHp0Ij8KCkN1Y2gKClBTOiBKYSwgaWNoIHdlaXNzLCBkYXNzIGRhcyB2b24gZGVyIFdpcmt1bmcgaGVyIGRhc3NlbGJlIGlzdC4gQWJlciBpY2gKICAgIHNhZ2UgenUgRGlyIGphIGF1Y2ggbmljaHQgImhpcm5hbXB1dGllcnRlciBWb2xsdHJvdHRlbCIgc29uZGVybiAKICAgICJrb2duaXRpdiBwZXJtYW5lbnQgdWViZXJleHRlbmRpZXJ0ZXIgU3lzdGVtLU1pdG51dHplciIuIEF1Y2ggd2VubgogICAgZXMgcGhhZW5vdHlwaXNjaCBwcmluemlwaWVsbCBpZGVudGlzY2ggaXN0LiBEdSBoYXN0IGphIHNjaGxpZXNzbGljaAogICAgRGVpbiBIaXJuIG5vY2guCgpQUFM6IC4uLiBPZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICpSb3RmbCogKFphcGhvYiwgMTIuIEZlYiAyMDAyLCAxNzo1NDoxNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTM0Mzc0NTcgcmc9d3d3Cn4jISB0aWQ9MTAxMzQzNzQ1NwpTaWVodCBqYSBsdXN0aWcgYXVzLCBhYmVyOgoKV28gaXN0IGRlciBMaW5rIHp1bSBTcGllbD8KClphcGhvYiBoYXQgc2NoZWluYmFyIGVpbmlnZSBQcm9ibGVtZSwgenVtIFNwaWVsIGR1cmNoenVkcmluZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAqUm90ZmwqIChCb2luZywgMTIuIEZlYiAyMDAyLCAxNzo1NTowOSk6Cn4jISBybj1aYXBob2IgcnQ9MTAxMzUzMjg1NyByZz13d3cKfiMhIHRpZD0xMDEzNDM3NDU3CkljaCBnbGF1YiBkYXMgaXN0IG51ciBuZSBBbmt1ZW5kaWd1bmcsIHVuZCBpbiBlaW4gcGFhciBUYWdlbiBpc3QgZGFubgpEb3dubG9hZCBtb2VnbGljaC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogKlJvdGZsKiAoQmlyZHksIDEyLiBGZWIgMjAwMiwgMTg6MzA6NDIpOgp+IyEgcm49Qm9pbmcgcnQ9MTAxMzUzMjkwOSByZz13d3cKfiMhIHRpZD0xMDEzNDM3NDU3CmRhcyBpc3QgZGVyIG5hY2hmb2xnZXIgenUgIm1vb3JodWhuIiwgZGFzIHNpZSBkYSBhbmt1ZW5kaWdlbi4Kc3RhdHQgc2NoaWVzc2VuLCBrYW5uc3QgZHUgamV0enQgc2NoYWZlIHBvcHBlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAqUm90ZmwqIChSb2NodXMsIDEyLiBGZWIgMjAwMiwgMjA6MzU6NTEpOgp+IyEgcm49TW9yZ290aCBydD0xMDEzNDM3NDU3IHJnPXd3dwp+IyEgdGlkPTEwMTM0Mzc0NTcKVmllbGxlaWNodCBzb2xsdGVzdCBEdSBkYXp1IGVyd2FlaG5lbiwgZGFzcyBEdQpSTCBhdWNoIFN2ZW4gaGVpc3N0IHVuZCBTY2hhZmUgbWFnc3QuLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKlJvdGZsKiAoTW9yZ290aCwgMTMuIEZlYiAyMDAyLCAwNzo1NjozNCk6Cn4jISBybj1Sb2NodXMgcnQ9MTAxMzU0MjU1MSByZz13d3cKfiMhIHRpZD0xMDEzNDM3NDU3CklDSCBCSU4gREVSIEdST1NTRSwgQk9FU0UgTU9SR09USCBVTkQgSUNIIE1BRyBLRUlORSBTQ0hBRkUgISEhCgpNKiBdOi1FCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAqUm90ZmwqIChOb25uZSwgMTMuIEZlYiAyMDAyLCAwOTowMzo1NSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMTM1ODMzOTQgcmc9d3d3Cn4jISB0aWQ9MTAxMzQzNzQ1NwpFcnNjaHdlcmVuZCBrb21tdCBoaW56dSwgZGFzcyBlaW5lciBkZXIgUHJvZ3JhbW1pZXJlciBkaWVzZXMgU2NoYWYtU3BpZWxzCk1vcmdvdGggKFJMKSBhdWNoIG5vY2gga2VubnQuIE9iIGVyIGRhcyBWb3JiaWxkIGZ1ZXIgZGFzIHNjaHdhcnplIFNjaGFmIHdhcj8KCk5vbm5lLCBncmluc2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9sZFNjaG9vbCBGaW5hbCBGYW50YXN5IENvbWljIChHb3JvZywgMjAuIEZlYiAyMDAyLCAyMTo1MToxOSk6CkhvZXJldCBIb2VyZXQhCkF1ZiBodHRwOi8vd3d3Lm51a2xlYXJwb3dlci5jb20vY29taWMvIGZpbmRldCBtYW4gbiB6aWVtbGljaCBnZW5pYWxlbgooYWxsZXJkaW5ncyBtaXR0bGVyd2VpbGUgcmVjaHQgbGFuZ2VuKSBDb21pYywgZGVyIGF1ZiA4Qml0IEZpbmFsIEZhbnRhc3kKQ2hhcmFrdGVyZW4gYmVydWh0LiBLbGFzc2UgU3RvcnkgdW5kIHNvLiBBdWYgZGVyIFNlaXRlIGVpbmZhY2ggImZpcnN0IENvbWljIgphbmtsaWNrZW4gdW5kIGRhbm4gZGllIGJlcmVpdHMgMTIwIFN0cmlwcyBkdXJjaGZvcnN0ZW4uIAoKbWZHb3JvZyBkZW5rdCAuIG8gTyAoSEFET0tFTiEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWNoIERlaW4gQmFieWJpbGQgaW0gSW50ZXJuZXQhIChBbnRoZWEsIDIyLiBGZWIgMjAwMiwgMTI6MDY6MTEpOgpodHRwOi8vd3d3LmJhYnlkYXRlbmJhbmsuZGUvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLcmllZ3NoYW1zdGVyIChGb29iYXIsIDI2LiBGZWIgMjAwMiwgMDA6NDU6MjQpOgpNb2luLgoKV2VyIHNjaG9uIGltbWVyIG1hbCBlaW4gQmlsZCB2b20gYmVydWVobXQtYmVydWVjaHRpZ3RlbiBLcmllZ3NoYW1zdGVyIHNlaGVuCndvbGx0ZSwga2FubiBqYSBtYWwgYXVmCgpodHRwOi8vd3d3LmdhbWVzcHkuY29tL2NvbWljcy9rb3ZhbGljL3dhcmhhbXN0ZXIvaW5kZXguaHRtbAoKdm9yYmVpc3VyZmVuIDtvKQoKR3J1c3MKCiAgICAgRm9vYmFyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtyaWVnc2hhbXN0ZXIgKEJpcmR5LCAyNi4gRmViIDIwMDIsIDA4OjExOjM4KToKfiMhIHJuPUZvb2JhciBydD0xMDE0NjgwNzI0IHJnPXd3dwp+IyEgdGlkPTEwMTQ2ODA3MjQKd2VubiBlcyBkaWUgc2VpdGUgbm9jaCBnZWJlbiB3dWVyZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS3JpZWdzaGFtc3RlciAoQm9pbmcsIDI2LiBGZWIgMjAwMiwgMDg6NDQ6NTkpOgp+IyEgcm49QmlyZHkgcnQ9MTAxNDcwNzQ5OCByZz13d3cKfiMhIHRpZD0xMDE0NjgwNzI0CkJlaSBtaXIgaGF0IHNpZSBlaW53YW5kZnJlaSBmdW5rdGlvbmllcnQgLi4uIHNjaG9lbmVzIEhhbXN0ZXJjaGVuIC4uLiA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWNodCBtaXQgVGFiYWsga29jaGVuISAoTGluZmxhcywgMjYuIEZlYiAyMDAyLCAxNjo1OTozNCk6Ck1hbmNobWFsIHN0ZWxsdCBzaWNoIGRvY2ggZGllIEZyYWdlLCB3aWVzbyBkZXIgRGFyd2luLUF3YXJkIG51ciBmdWVyCmVyZm9sZ3JlaWNoZSBVbnNpbm5pZ2tlaXRlbiB2ZXJnZWJlbiB3aXJkLi4uCgpXYXJudW5nOiBOaWNodCBtaXQgVGFiYWtibGFldHRlcm4ga29jaGVuIQoKaHR0cDovL2RlLm5ld3MueWFob28uY29tLzAyMDIyNi8xODAvMm50cmIuaHRtbAoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiBXZXIgZGVyIERNIG5hY2h0cmF1ZXJ0Li4uIChab29rLCAyNi4gRmViIDIwMDIsIDE3OjAwOjU1KToKLi4uIHVuZ2VmYWhlciB3ZWlzcywgd28gTWFyYnVyZyBsaWVndCwgU3Bhc3MgYW4gdW5zaW5uaWdlbiBSZWtvcmRlbiBoYXQsCmthbm4gbWFsIHd3dy5kbTVrZXR0ZS5kZSBhdWZydWZlbi4gRGFzIGlzdCBlaW5lIEFrdGlvbiwgZGllIGVpbiBCZWthbm50ZXIKdm9uIG1pciBmdWVyIGRpZSBCZXR0aW5hLVNjaHVsZSBpbiBNYXJidXJnIHZlcmFuc3RhbHRldC4KCkdydXNzLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS3JpZWdzaGFtc3RlciAoR25vbWUsIDI2LiBGZWIgMjAwMiwgMTk6NDg6NDgpOgp+IyEgcm49Qm9pbmcgcnQ9MTAxNDcwOTQ5OSByZz13d3cKfiMhIHRpZD0xMDE0NjgwNzI0CnNlaHIgbmV0dCwgYWJlciBkaWVzZXIgc2NoZWludCBzY2hvbiBldHdhcyBhbSB2ZXJodW5nZXJuIHp1IHNlaW4sCmplZGVuZmFsbHMgc3B1Y2t0IGVyIGtlaW4gZmV1ZXIgKG1laHIpLi4uIDopCgpnbk9tZSwgd2lsbCB2b24gc2VpbmVtIGhhbXN0ZXIgZW5kbGljaCBnZWtudWRkZWx0IHdlcmRlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2V0IEEgR2lybCAoQW50aGVhLCAyOC4gRmViIDIwMDIsIDA5OjU2OjMzKToKaHR0cDovL3d3dy5sb3N0aW5zcGFjZS5kZS9nZXRhZ2lybC90YWJsZWNvbi5odG0KCktsZWluZSBBbmxlaXR1bmcgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51IGhhbW1lcnMgOikgKEFyaywgMjguIEZlYiAyMDAyLCAxODoxNDoxMCk6CiBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9vZGktMjguMDIuMDItMDAwLwoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlaWwgISA6KSAoTW9yZ290aCwgIDUuIE1hciAyMDAyLCAwODoyNzo1Mik6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3BhYi0wNC4wMy4wMi0wMDEvCgpXaWUgc2Nob2VuLCBkYXNzIHdpciBkZW4gZ2FuemVuIEZhY2hiZXJlaWNoIGdyYWQgYXVmIE0kLVJhdXNrdWNrIHVtZ2VzdGVsbHQKaGFiZW4gKmJydWVsbCpyb3RmbCogOikKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VpbCAhIDopIChBbWFyeWxsaXMsICA1LiBNYXIgMjAwMiwgMDg6MzA6MTApOgp+IyEgcm49TW9yZ290aCBydD0xMDE1MzEzMjcyIHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKT2NoLCBzb3dhcyBrb21tdCBkb2NoIGJlaSBNZWlzdGVyU2Nocm90dCBtaXR0bGVyd2VpbGUgamVkZW4gTW9uYXQgcmF1cy4KVmllbCBuZXR0ZXIgZmluZGUgaWNoIGRhCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3dzdC0wNC4wMy4wMi0wMDEvCgpXZW5uIHNpZSBlcyBudXIgaW4gZGllIFRhdCB1bXNldHplbiB3dWVyZGVuLi4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlaWwgISA6KSAoQ2F0d2VhemxlLCAgNS4gTWFyIDIwMDIsIDA4OjUxOjA5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDE1MzEzNDEwIHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKSGF0IE1TIG5pY2h0IGVyc3QgbmV1bGljaCBpbiBkZXIgYnVuZGVzdHV4LURpc2t1c3Npb24gYmVoYXVwdGV0LCBXaW5kb3dzIHdhZXJlCmluIEFuYmV0cmFjaHQgc29sY2ggdmVyaGVlcmVuZGVyIExvZWNoZXIgd2llIHpCIERDQyBiZWkgSVJDIHZpZWwgdmllbCBzaWNoZXJlcgphbHMgVW5peD8KClNvbGx0ZSBpY2ggZ3JpbnNlbiwga2ljaGVybiBvZGVyIGxhdXRoYWxzIGxhY2hlbiwgbGllZ3QgZGFzIHRhdHNhZWNobGljaCBhbgptZWluZSBCZWx1c3RpZ3VuZyA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VpbCAhIDopIChBbWFyeWxsaXMsICA1LiBNYXIgMjAwMiwgMDg6NTM6NTkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMTUzMTQ2Njkgcmc9d3d3Cn4jISB0aWQ9MTAxNTMxMzI3MgpKYSwgaGFiZW4gc2llOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9hbnctMjcuMDIuMDItMDA4LwoKTmFqYSwgU2lyZW5lbmdlc2FlbmdlIHNpbmQgamEgYmVpIFNla3RlbiBzZWhyIGJlbGllYnQuLi4KCkFtYSosIHdlaXNzIGF1Y2ggbmljaHQgb2Igc2llIGRhIGxhY2hlbiBvZGVyIHdlaW5lbiBzb2xsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZWlsICEgOikgKEhvdXNlaG9sZGVyLCAgNS4gTWFyIDIwMDIsIDA5OjIzOjMyKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDE1MzEzNDEwIHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKd29obCBlaGVyIGplZGUgd29jaGUgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VpbCAhIDopIChPcmt0b2V0ZXIsICA1LiBNYXIgMjAwMiwgMTA6MDQ6NTUpOgp+IyEgcm49TW9yZ290aCBydD0xMDE1MzEzMjcyIHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKTmFqYSwgd2FzIHdpbGxzdCBkdT8gRGFzIEJTIG5lbm50IHNpY2ggZG9jaCBXaW5kb3dzIHVuZCBkdXJjaCBGZW5zdGVyIGthbm4gbWFuCmhhbHQgbmljaHQgbnVyIHJhdXNzY2hhdWVuLCBzb29uZGVybiBhdWNoIGhpbmVpbi4uLiAqZyoKCk9ya1QsIGxlaWRlciBrZWluIHNvIHNpY2hlcmVzIE0kIGhhYmVuZCwgc29uZGVybiBudXIgZWluIHNlaHIgdW5zaWNoZXJlcwpMaW51eC4uICpiaWJiZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlaWwgISA6KSAoQmFib29uLCAgNS4gTWFyIDIwMDIsIDEzOjQ4OjE3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDE1MzE5MDk1IHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKTWFjaHMgd2llIGljaDogS2F1ZiBkaXIgZWluZW4gYW1pZ2EgbWl0IEFtaWdhT1MuCkRhIGJpc3QgZHUgdm9yIEhhY2tlci1BdHRhY2tlbiBzaWNoZXIuIFVuZCBtYW5nZWxzCk91dGJyZWFrRXhwcmVzcyB1bmQgc29uIEtyYW0gaGFzdCBkdSBhaWNoIFJ1aGUgdm9yCk1haWx3dWVybWVybiB1bmQgMDE5MC1EaWFsZXJuLgoKQmFib29uCgpwLnMuIFdpZXNvIHdlcmQgaWNoIGVpZ2VudGxpY2ggaW1tZXIgc28ga29taXNjaCBhbmdlZ3Vja3Qgd2VubgppY2ggc2FnZSwgZGFzIGljaCBlaW5lbiBBbWlnYSBoYWJlPyA6LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZWlsICEgOikgKFBhdHJ5biwgIDUuIE1hciAyMDAyLCAxMzo1MzoyOCk6Cn4jISBybj1CYWJvb24gcnQ9MTAxNTMzMjQ5NyByZz13d3cKfiMhIHRpZD0xMDE1MzEzMjcyCmhhdCBkYXMgaW56d2lzY2hlbiBldHdhIHNwZWljaGVyc2NodXR6IHVuZCBtdWx0aXVzZXItdmVyd2FsdHVuZz8KaWNoIGVyaW5uZXJlIG1pY2ggbnVyIGFuIG1laW5lIGFsdGVuIGFtaWdhLXplaXRlbiwgdW5kIGRhIGtvbm50ZSBqZWRlciBkZXBwCnZlcmhlZXJlbmRlIHZpcmVuIHNjaHJlaWJlbiBtYW5nZWxzIGVsZW1lbnRhcnN0ZXIgc2ljaGVyaGVpdHNiYXJyaWVyZW4uCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWlsICEgOikgKEdyaW1tYm9ybiwgIDUuIE1hciAyMDAyLCAxMzo1NjoyMik6Cn4jISBybj1QYXRyeW4gcnQ9MTAxNTMzMjgwOCByZz13d3cKfiMhIHRpZD0xMDE1MzEzMjcyCkphLCBhYmVyIGRhcyBtYWNodCBoZXV0enV0YWdlIGtlaW5lciBtZWhyIC0gbWFuZ2VscyBtYWtyb3Nrb3Bpc2NoZXIgWmFobGVuIGFuClppZWxwbGF0dGZvcm1lbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlaWwgISA6KSAoQmFtYmksICA1LiBNYXIgMjAwMiwgMTg6MTA6MzYpOgp+IyEgcm49TW9yZ290aCBydD0xMDE1MzEzMjcyIHJnPXd3dwp+IyEgdGlkPTEwMTUzMTMyNzIKSWNoIGZpbmRzIGphIG5ldHQsIGRhc3Mgc29sY2hlIE1lbGR1bmdlbiBhYiB1bmQgenUgaGllciBnZWJyYWNodCB3ZXJkZW4uIFdlbm4KaWNoIGRhbm4gYWJlciBkaWVzZSBIZWlzZS1UZXN0cyBwcm9iaWVyLCBkYW5uIHBhc3NpZXJ0IGJlaSBtaXIgbmllIGRhcywgd2FzIGRhCmFuZ2VrdWVuZGlndCB3aXJkLiBJbiBkZW0gc3BlemllbGxlbiBGYWxsIHouQi4sIGRhc3MgZGVyIElFIGVpbiBQcm9ncmFtbQphdXNmdWVocnQuIEljaCBoYWIgZWluIHBhYXIgU2FjaGVuIHByb2JpZXJ0IChqYXZhLmV4ZSwgYXV0b2V4ZWMuYmF0LCAuLi4pLAphYmVyIGtlaW4gbmV1ZXMgUHJvZ3JhbW0gZ2VzZWhlbi4KVmVyc3RlaCh0KSBtaWNoIG5pY2h0IGZhbHNjaC4gSWNoIGZpbmRzIGd1dCwgZGFzcyBtZWluIE0kIGRhIG5pY2h0IGF1ZiBzb2xjaGUKQXR0YWNrZW4genUgcmVhZ2llcmVuIHNjaGVpbnQuIEljaCBmcmFnIG1pY2ggYWJlciBkb2NoLCB3aWVzbyAiYWxsZSBXZWx0IgpQYW5payB2b3Igc29sY2hlbiBTYWNoZW4gaGF0IHVuZCBtZWluIFJlY2huZXIsIGRlciBudW4gd2lya2xpY2ggbmljaHQgYXVmIGRlbQpuZXVlc3RlbiBQYXRjaC1TdGFuZCBpc3QsIG5pY2h0cyBhYmtyaWVndC4gU2luZCBtZWluZSBTaWNoZXJoZWl0c2VpbnN0ZWxsdW5nZW4KenUgcmVzdHJpa3RpdiBvZGVyIGlzdCBkYSBzY2hvbiBlaW4gIlNjaHV0ei1WaXJ1cyIgZHJhdWY/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gKE1pcmFrYSwgIDcuIE1hciAyMDAyLCAxMTozMzowMik6Cmh0dHA6Ly93d3cuZGllc2VzZWl0ZWhhdHp1cnplaXRrZWluZW5ib2NrLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdHYgaW0gbmV0eiAoQmlyZHksIDExLiBNYXIgMjAwMiwgMTU6NTE6NTgpOgp3d3cuYXV0c2NoLnR2CgpiaXJkeSBncmluc3QgaW1tZXIgbm9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc29sbCBtYW4gZGEgZ3JpbnNlbiBvZGVyIG5pY2h0ID8gKFRhbmdhbHVyLCAxMy4gTWFyIDIwMDIsIDA5OjQzOjU0KToKSGksCmZ1ZXIgYWxsZSBkaWUgS2FybCBGcml0c2NoIG5vY2gga2VubmVuLiBIaWVyIGVpbiAgS29sbGVnZSB2b24gSWhtCmh0dHA6Ly93d3cuaGVtbWVybGluZy5jb20vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc29sbCBtYW4gZGEgZ3JpbnNlbiBvZGVyIG5pY2h0ID8gKEJpcmR5LCAxMy4gTWFyIDIwMDIsIDE0OjE3OjM0KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTEwMTYwMDkwMzQgcmc9d3d3Cn4jISB0aWQ9MTAxNjAwOTAzNApBQUFBaCEgSW4gc2VpbmVtIExlYmVuc2xhdWY6IFRvbnRlY2huaWtlciBiZWltIEtyYW5rZW5oYXVzZnVuayBCaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxvdFIgKEFudGhlYSwgMTQuIE1hciAyMDAyLCAxNjowMTo0Myk6Cmh0dHA6Ly93d3cubGV0aGFsZG9zZXMuY29tL2luZGV4LnBocD9zdHJpcF9pZD0yLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlyZW4gbGFzc2VuIGdydWVzc2VuIChBbnRoZWEsIDE4LiBNYXIgMjAwMiwgMTY6MDY6MDQpOgpXb2xsdGVzdCBEdSBzY2hvbiBpbW1lciBtYWwgd2lzc2VuLCB3aWUgVmlyZW4gYXVzc2VoZW4sIGFiZXIgRHUgaGFzdCBMaW51eApkcmF1Zj8gSGllciBpc3QgZGllIENoYW5jZSA7KQpodHRwOi8vd3d3LnNvcGhvcy5kZS9wcmVzc29mZmljZS9pbWdnYWxsZXJ5L3ZpcnVzaW1nLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd3d3LmZyYWdlbm9obmVhbnR3b3J0LmRlIChCaXJkeSwgMTguIE1hciAyMDAyLCAyMzowNTo1OCk6Cnd3dy5mcmFnZW5vaG5lYW50d29ydC5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWkFLIDIgKEdvcm9nLCAxOS4gTWFyIDIwMDIsIDIyOjI4OjE3KToKVGFkYSwgbmFjaCAxMywxNCBvZGVyIG1laHIgSmFocmVuIGlzIGVzIGRhISBaYWsgTWMgS3JhY2tlbiAyLiBLYXVtIHp1IGdsYXViZQphYmVyIHdhaHIuIEtlaW4gM0Qgc2Nobmlja3NjaG5haywgcmVpbmVzIG9sZHNjaG9vbCBBZHZlbnR1cmUuIEFsbGVyZGluZ3MgbmljaHQKdm9uIEx1a2FzIEFydHMsIHNvbmRlcm4gZWluIEZhbiBQcm9qZWt0LCBkYWZ1ZXIgYWJlciBrb3N0ZW5mcmVpLiBBbHNvIGF1ZiB6dToKaHR0cDovLzE5NS4xNDUuMTE5LjE3MC9kb3dubG9hZDMvc3BlY2lhbC96YWsyL1phazIuZXhlCgpWaWVsIFNwYXNzIGJlaW0gbGFkZW4sIHNpbmQgdWVicmlnZW5zIGtuYXBwIDVNYgoKbWZHb3JvZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpBSyAyIChCYW1iaSwgMjAuIE1hciAyMDAyLCAwNzo1MDo1OSk6Cn4jISBybj1Hb3JvZyBydD0xMDE2NTczMjk3IHJnPXd3dwp+IyEgdGlkPTEwMTY1NzMyOTcKTnVyIHNvIGF1cyBJbnRlcmVzc2UuLi4KMS4gRGFzIGlzdCBvaywgZGFzcyBkZXIgTmFtZSB2ZXJ3ZW5kZXQgd2lyZD8KMi4gRHUgZ2FyYW50aWVyc3QgbWlyLCBkYXNzIGRhcyBQcnJvZ3JhbW0gbmFjaCBiZXN0ZW0gV2lzc2VuIHVuZCBHZXdpc3Nlbgp2aXJlbmZyZWkgaXN0ICh3aWUgbWFuIHNvIHNjaG9lbiBzYWd0KT8KMy4gVW50ZXIgd2VsY2hyZSBQbGF0Zm9ybSBsYWV1ZnQgZGFzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaQUsgMiAoQW1hcnlsbGlzLCAyMC4gTWFyIDIwMDIsIDA5OjA4OjAwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMTY2MDcwNTkgcmc9d3d3Cn4jISB0aWQ9MTAxNjU3MzI5Nwp3ZW5ucyBuZSBFeGUgaXN0LCB1bnRlciB3ZWxjaGVyIFBsYXR0Zm9ybSB3aXJkIGRhcyB3b2hsIGxhdWZlbj8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFpBSyAyIChHcmltbWJvcm4sIDIwLiBNYXIgMjAwMiwgMDk6MTI6MzgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMTY2MTE2ODAgcmc9d3d3Cn4jISB0aWQ9MTAxNjU3MzI5NwpVbnRlciBMaW51eCBtaXQgd2luZT8gVW50ZXIgTWFjIG1pdCBkaWVzZW0gdmlydHVhbCBQQz8gRE9TPyBXaW4zLjF4PyBUdXQgbmljaHQKbWl0IFdpbk5UL1dpbjIwMDA/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFpBSyAyIChCYW1iaSwgMjAuIE1hciAyMDAyLCAwOTo0NTowNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAxNjYxMTk1OCByZz13d3cKfiMhIHRpZD0xMDE2NTczMjk3CkRhbmtlLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzdCBoaWVyIGZhbHNjaD8gKEFudGhlYSwgMjAuIE1hciAyMDAyLCAxMDowNDoyOSk6Cmh0dHA6Ly9ob21lLmNhbWVsb3QuZGUvZGFuaWVsdC93aGF0c3dyb25nLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFpBSyAyIChQaXRmYWxsLCAyMC4gTWFyIDIwMDIsIDEwOjA1OjQxKToKfiMhIHJuPUJhbWJpIHJ0PTEwMTY2MTM5MDQgcmc9d3d3Cn4jISB0aWQ9MTAxNjU3MzI5Nwp3byBnaWJ0cyBkaWUga2w/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBaQUsgMiAoQW1hcnlsbGlzLCAyMC4gTWFyIDIwMDIsIDEwOjE1OjQzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDE2NjExOTU4IHJnPXd3dwp+IyEgdGlkPTEwMTY1NzMyOTcKVW50ZXIgIlBsYXR0Zm9ybSIgdmVyc3RlaGUgaWNoIHp1bWluZGVzdCBrZWluZSAiRW11bGF0b3JlbiIgLSBhYmVyIHdpcmtsaWNoCmtlaW5lIEx1c3QgYXVmIGVpbmVuIEdsYXViZW5za3JpZWcgLSBhdWNoIHdlbm5zIG1hbCB3YXMgYW5kZXJlcyB3YWVyZSBhbHMgZGFzCmV3aWdlICJtZWluIExpbnV4IGlzdCBiZXNzZXIgYWxzIERlaW4gV2luZG9vZiIgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFpBSyAyIChHcmltbWJvcm4sIDIwLiBNYXIgMjAwMiwgMTA6NDE6MDIpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwMTY2MTU3NDMgcmc9d3d3Cn4jISB0aWQ9MTAxNjU3MzI5NwpBY2ggc28sIER1IHJlZGVzdCB2b24gUGxhdHRmb3JtZW4uIERhbm4gd2lyZHMgd29obCBmdWVyIGkzODYgc2Vpbiwgc2NoYWV0emUKaWNoLCBkYSBNUyBkaWUgdm9sbG11bmRpZ2UgQW5rdWVuZGlndW5nIE5UIGZ1ZXIgdmllciBQbGF0dGZvcm1lbiBiYXVlbiB6dQp3b2xsZW4gc3Rla3VtIGF1ZiBlaW5lIHJlZHV6aWVydCBoYXQuIApOaWNodHNkZXN0b3Ryb3R6IGthbm4gaWNoIERpciBtaXQgZWluZW0gZWluZmFjaGVuIGNwIHouQi4gZWluIGJhc2guZXhlCmdlbmVyaWVyZW4gZGFzcyBhdWYgc3BhcmMgbGFldWZ0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaQUsgMiAoVmFyZGlvbiwgMjAuIE1hciAyMDAyLCAxMTowOToyMik6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTAxNjYxMTY4MCByZz13d3cKfiMhIHRpZD0xMDE2NTczMjk3Clp1bWluZGVzdCBET1MgdW5kIFdpbk5UIGJhc2llcnRlIFN5c3RlbWUgdmVyd2VuZGVuIGJlaWRlIC5leGUgdW5kIHNpbmQKenVlaW5hbmRlciB6aWVtbGljaCBpbmtvbXBhdGliZWwuIEFsc28gQmFtYmlzIHVyc3BydWVuZ2xpY2hlIEZyYWdlIGZhbmQgaWNoCmR1cmNoYXVzIGJlcmVjaHRpZ3QuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWJsYXlvdXRwcm9ibGVtZSAoU2VyYXBoaW5hLCAzMC4gTWFyIDIwMDIsIDE3OjExOjE2KToKCkljaCB2ZXJzdWNoZSwgZWluIE1lbnVlIGFuIGRlciBGcmFtZXVudGVya2FudGUgYXVzenVyaWNodGVuLiBCaXNoZXIgdGF0IGljaApkaWVzIG1pdHRlbHMgPHRhYmxlIC4uLiBoZWlnaHQ9IjEwMCUiPjx0cj48dGQgLi4uICJhbGlnbj1ib3R0b20iPiAuLi4sIG11c3MKYWJlciBmZXN0c3RlbGxlbiwgZGFzcyAnaGVpZ2h0JyBpbiBodG1sNC4wIGdhciBrZWluIFRhYmxlLUF0dHJpYnV0IGlzdC4KCldpZSBlcnJlaWNoZSBpY2ggbWVpbiBaaWVsIHNvbnN0PwoKU2VyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGVoZSAoRWxpemFiZXRoLCAzMS4gTWFyIDIwMDIsIDEzOjA1OjMyKToKd3d3LmZpZXNlbC1zY2hlaXRlbC5kZSA7KSBzZWhyIGFtdWVzYW50Li4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWJsYXlvdXRwcm9ibGVtZSAoTGluZmxhcywgMzEuIE1hciAyMDAyLCAyMzo0MDowMyk6Cn4jISBybj1TZXJhcGhpbmEgcnQ9MTAxNzUwNDY3NiByZz13d3cKfiMhIHRpZD0xMDE3NTA0Njc2ClN0ZWZhbiBNdWVueiBoYXQgZGEgZWluZSBmZWluZSBTYW1tbHVuZyBnZXNjaGFmZmVuIHVudGVyOgp3d3cubmV0endlbHQuY29tL3NlbGZodG1sLwoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VibGF5b3V0cHJvYmxlbWUgKFNlcmFwaGluYSwgIDIuIEFwciAyMDAyLCAwMDoyMTo0MSk6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMTc2MTA4MDMgcmc9d3d3Cn4jISB0aWQ9MTAxNzUwNDY3NgoiUlRGTSIgZGFyZiBudXIgc2FnZW4sIGRlciB3ZWlzcywgd2FzIGltICJNIiBkcmluc3RlaHQuIDotKSAKClNlcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlYmxheW91dHByb2JsZW1lIChMaW5mbGFzLCAgMi4gQXByIDIwMDIsIDEzOjU4OjE2KToKfiMhIHJuPVNlcmFwaGluYSBydD0xMDE3Njk5NzAxIHJnPXd3dwp+IyEgdGlkPTEwMTc1MDQ2NzYKR2VuYXUuIEFsc28gbm9jaG1hbDoKaHR0cDovL3d3dy5uZXR6d2VsdC5jb20vc2VsZmh0bWwvCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VibGF5b3V0cHJvYmxlbWUgKFNlcmFwaGluYSwgIDIuIEFwciAyMDAyLCAxNjo0ODowNik6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMTc3NDg2OTYgcmc9d3d3Cn4jISB0aWQ9MTAxNzUwNDY3NgpXdW5kZXJiYXIuIERhIHN0ZWh0IGFsc28gZHJpbiwgd2llIG1hbiBFbGVtZW50ZSBhbiBkZXIgVW50ZXJrYW50ZSBlaW5lcwpFbGVtZW50ZXMgYXVzcmljaHRldCwgb2huZSA8dGFibGUgaGVpZ2h0PTEwMCU+IHp1IG51dHplbj8gVWksIG11c3MgaWNoCmRhcyBkb2NoIG5vY2htYWwgbGVzZW4uLi4KClNlcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4tKSAoVGFuZ2FsdXIsICAzLiBBcHIgMjAwMiwgMDk6NDk6NTUpOgpodHRwOi8vd3d3LnNjaHdlaW5laW13ZWx0YWxsLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVzc2JhbGwgZHVyY2ggU3RldWVyZ2VsZGVyIHNwb25zb3JuPyAoQW50aGVhLCAgNC4gQXByIDIwMDIsIDE2OjE4OjAwKToKRHVyY2ggZGllIGFic2VoYmFyZSBQbGVpdGUgZGVzIEtpcmNoTWVkaWEtS29uemVybnMgd2VyZGVuIGpldHp0IHBsb2V0emxpY2ggZGllCkZ1c3NiYWxsZXIgaGVsbGhvZXJpZyB1bmQgc2VoZW4gaWhyZSBNaWxsaW9uZW4tVmVydHJhZWdlIGluIEdlZmFoci4gRGVzaGFsYgpzb2xsZW4gamV0enQgZGllIFByb2ZpLVZlcmVpbmUgZHVyY2ggU3RldWVyZ2VsZGVyIGdlc3BvbnNvcnQgd2VyZGVuLiBBdWYKbi10di5kZSBnaWJ0IGVzIGVpbmUgVW1mcmFnZSwgd2llIGRpZSBMZXV0ZSBkYXp1IHN0ZWhlbi4gRGllIG1laXN0ZW4gbGVobmVuIGVzCmJpc2hlciBzY2hvbiBhYiA7KQpodHRwOi8vd3d3Lm4tdHYuZGUvSW50ZXJha3Rpdi9VbWZyYWdlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEJvaW5nLCAgNC4gQXByIDIwMDIsIDE2OjI5OjExKToKfiMhIHJuPUFudGhlYSBydD0xMDE3OTI5ODgwIHJnPXd3dwp+IyEgdGlkPTEwMTc5Mjk4ODAKU2VsYnN0IFVsaSBIb2VuZXNzIGxlaG50IGRhcyBhYiAuLi4gOykKQWJlciBtYWwgenVyIFVtZnJhZ2U6IERhcyBpc3QgamEgd29obCBlaW4gV2l0ej8gRGllIEFsdGVybmF0aXZlbiBBIHVuZCBCCihKYSBvZGVyIE5laW4pIGthbm4gaWNoIGphIHZlcnN0ZWhlbiwgYWJlciB3YXMgaGF0IEMgKFdlbm4gaWNoIFNwaWVsZQpzZWhlbiB3aWxsLCBnZWhlIGljaCBpbnMgU3RhZGlvbikgZGFtaXQgenUgdHVuPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEFudGhlYSwgIDQuIEFwciAyMDAyLCAxNjozMjoxNCk6Cn4jISBybj1Cb2luZyBydD0xMDE3OTMwNTUxIHJnPXd3dwp+IyEgdGlkPTEwMTc5Mjk4ODAKS2VpbmUgQWhudW5nLiBXYWhyc2NoZWlubGljaCA6Ikxhc3N0IGRhcyBGdXNzYmFsbCBpbSBTdGFkaW9uLCBkYXMgaGF0IGltCkZlcm5zZWhlbiBuaXggdmVybG9yZW4iIERBTk4gd3VlcmRlIGljaCB3YWhyc2NoZWlubGljaCBkYXMgYW53YWVobGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdXNzYmFsbCBkdXJjaCBTdGV1ZXJnZWxkZXIgc3BvbnNvcm4/IChCb2luZywgIDQuIEFwciAyMDAyLCAxNjozMjo1NCk6Cn4jISBybj1BbnRoZWEgcnQ9MTAxNzkzMDczNCByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCkRhcyBoYXQgYWJlciBtaXQgYmVzdGVoZW5kZW4gVmVydHJhZWdlbiwgSW5zb2x2ZW56dmVyZmFocmVuIHVuZCBCdWVyZ3NjaGFmdGVuCm5pY2h0cyB6dSB0dW4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEFudGhlYSwgIDQuIEFwciAyMDAyLCAxNzo0NTo1Mik6Cn4jISBybj1Cb2luZyBydD0xMDE3OTMwNzc0IHJnPXd3dwp+IyEgdGlkPTEwMTc5Mjk4ODAKTmFqYSwgbWFuY2hlICJJbnNpZGVyIiBvcmRuZW4gZGllc2VuIFZvcnNjaGxhZyBhdWNoIHNjaG9uIHJpY2h0aWcgZWluOgoKRGVyIGZydWVoZXJlIFdlcmRlci1CcmVtZW4tTWFuYWdlciB1bmQgamV0emlnZSBCcmVtZXIgQmlsZHVuZ3NzZW5hdG9yLCBXaWxsaQpMZW1ia2UsIHNhZ3RlIGRlciBkcGEsIGVyIGhpZWx0ZSBlaW5lIHNvbGNoZSBCdWVyZ3NjaGFmdCBmdWVyIGVpbmVuClJpZXNlbnNrYW5kYWwuIExlbWtlIHNhZ3RlIHZvciBkZW0gSGludGVyZ3J1bmQga2xhbW1lciBvZWZmZW50bGljaGVyIEthc3NlbjoKIkVzIGthbm4gZG9jaCBudXIgZWluIFNjaGVyeiBzZWluLCB3ZW5uIFN0ZXVlcmdlbGRlciB6dXIgRmluYW56aWVydW5nIHZvbgpGdXNzYmFsbC1Qcm9maXMgaGVyYW5nZXpvZ2VuIHdlcmRlbiBzb2xsZW4uIEVzIHJhZWNodCBzaWNoIGpldHp0IGJpdHRlciwgZGFzcwpkZW4gU3BpZWxlcm4gZGFzIEdlbGQgaW4gZGVuIFJhY2hlbiBnZXdvcmZlbiB3b3JkZW4gaXN0ICIuIERpZXNlIHNvbGx0ZW4KdmllbG1laHIgYXVmIGVpbmVuIFRlaWwgaWhyZXIgR2VoYWVsdGVyIHZlcnppY2h0ZW4uCgpEaWUgTGFuZGVzcmVnaWVybmcgaW4gQnJlbWVuIHdlcmRlIHNpY2ggYW4gZWluZXIgQnVlcmdzY2hhZnQgbmljaHQgYmV0ZWlsaWdlbi4KCgpCYWRlbi1XdWVydHRlbWJlcmdzIFdpcnRzY2hhZnRzbWluaXN0ZXIgV2FsdGVyIERvZXJpbmcgKEZEUCkgcnVlY2t0ZSBkZW4KVm9yc2NobGFnIGRlbm4gYXVjaCBnbGVpY2ggaW4gZGllIHJpY2h0aWdlIEVja2U6ICJEYXMgaXN0IGVpbmUgdHlwaXNjaGUKV2FobGthbXBmLVNjaG5hcHNpZGVlIiwgc2FndGUgZGVyIHN0ZWxsdmVydHJldGVuZGUgUmVnaWVydW5nc2NoZWYuIEVzIHNlaQpuaWNodCBkaWUgQXVmZ2FiZSBkZXIgU3RldWVyemFobGVyLCBpbiBkaWUgQnJlc2NoZSB6dSBzcHJpbmdlbiwgZmFsbHMgZnVlciBkaWUKVmVyZWluZSBlaW5lIGRlciBIYXVwdGVpbm5haG1lcXVlbGxlbiBhdXMgZGVuIFJlY2h0ZW4gZnVlciBkaWUKRmVybnNlaHVlYmVydHJhZ3VuZyB3ZWdmYWxsZS4gIlNvIGxhbmdlIE11bHRpbWlsbGlvbmFlcmUgYXVmIGRlciBCYW5rIHNpdHplbiwKaGFiZW4gZGllIFZlcmVpbmUgRWluc3Bhcm1vZWdsaWNoa2VpdGVuIGdlbnVnIiwgZnVlZ3RlIGRlciBXaXJ0c2NoYWZ0c21pbmlzdGVyCmhpbnp1LiAKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnVzc2JhbGwgZHVyY2ggU3RldWVyZ2VsZGVyIHNwb25zb3JuPyAoQm9pbmcsICA0LiBBcHIgMjAwMiwgMTc6NTg6MjMpOgp+IyEgcm49QW50aGVhIHJ0PTEwMTc5MzUxNTIgcmc9d3d3Cn4jISB0aWQ9MTAxNzkyOTg4MApXb2JlaSBkZXIgTGVta2UgZnVlciBtaWNoIGVpbiBEdW1tc2Nod2FldHplciBpc3QuIFZvciBrdXJ6ZW0gd2FyCmVyIG5vY2ggTWFuYWdlciB2b24gV2VyZGVyIEJyZW1lbiwgdW5kIGRhIHd1cmRlbiBzaWNoZXIgYXVjaCBuaWNodApudXIgVGFzY2hlbmdlbGRlciBiZXphaGx0LiBVbmQgd2VpdGVyIHJlZ3QgZXIgc2ljaCBqYSBkYXJ1ZWJlcgphdWYsIGRhc3MgZGVyIFN0ZXVlcnphaGxlciBkYW5uIGRpZSBHZWhhZWx0ZXIgZGVyIFNwaWVsZXIgdm9uCkJheWVybiBNdWVuY2hlbiB1bmQgQm9ydXNzaWEgRG9ydG11bmQgemFobGVuIG11c3MgKHdhcyBuYXR1ZXJsaWNoCkFVQ0ggZGVyIEZhbGwgd2FlcmUpLiBEaWVzZSBWZXJlaW5lIHNpbmQgYWJlciBhbSBlaHN0ZW4gaW4gZGVyCkxhZ2UgZWluZSBLaXJjaC1JbnNvbHZlbnogenUgdWViZXJsZWJlbi4gQWxzIGVyc3RlcyBtdWVzc3Rlbgpkb2NoIGRpZSBrbGVpbmVuIFZlcmVpbmUgd2llIFN0LiBQYXVsaSBvZGVyIGplZGVyIFp3ZWl0bGlnYWNsdWIKZHJhbiBnbGF1YmVuLgpJbSBQcmluemlwIGdlaHQncyBqYSBudXIgdW0gZWluZXM6IERpZSBBbmdzdCwgZGFzcyBkaWUgQnVuZGVzbGlnYQpwbG9ldHpsaWNoIGluIEV1cm9wYSBudXIgbm9jaCBNaXR0ZWxtYXNzIGlzdCwgd2VpbCBoaWVyIGRpZSBob2hlbgpHZWhhZWx0ZXIgbmljaHQgbWVociBnZXphaGx0IHdlcmRlbiBrb2VubmVuLCBpbiBMYWVuZGVybiB3aWUKU3BhbmllbiBvZGVyIEVuZ2xhbmQgYWJlciBzY2hvbi4gCkljaCBwZXJzb2VubGljaCBoYWx0ZSBuaWNodHMgZGF2b24gaGllciB6dSBzdWJ2ZW50aW9uaWVyZW4gYnp3LgpCdWVyZ3NjaGFmdGVuIHp1IHN0ZWxsZW4sIGFiZXIgbWFuIG11c3MgaGFsdCBhdWNoIHNlaGVuLCBkYXNzIGRpZQpCdW5kZXNsaWdhIGF1Y2ggenVtIEltYWdlIHZvbiBEZXV0c2NobGFuZCBiZWl0cmFlZ3QuIFVuZCBGdXNzYmFsbAppc3QgbmFjaCB3aWUgdm9yIFNwb3J0YXJ0IE51bW1lciAxIGluIERldXRzY2hsYW5kLCBhdWNoIHdlbm4gaGllcgpqZXR6dCB3aWVkZXIgdmllbGUgRnVzc2JhbGwtSGFzc2VyIGF1ZnNjaHJlaWVuIHdlcmRlbiAuLi4gOykKCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKFJvbmRhLCAgNC4gQXByIDIwMDIsIDE4OjA2OjI4KToKfiMhIHJuPUJvaW5nIHJ0PTEwMTc5MzU5MDMgcmc9d3d3Cn4jISB0aWQ9MTAxNzkyOTg4MAouLi4gbGllYmUgTGV1dGUuIFN0ZWh0IGRhIGlyZ2VuZHdvLCB2b24gd2FubiBkaWUgTWVsZHVuZyBpc3Q/IERpZSBpc3QgbmljaHQKenVmYWVsbGlnIGF1Y2ggdm9tIDEuIEFwcmlsPwoKUm9uZGEuLi4KLi4uIG1pc3N0cmF1aXNjaCwgc2VpdGRlbSBzaWUgaW0gWkRGIFRlbGV0ZXh0IGRhcyBtaXQgZGVtIFBWQwpEYXRlbnVlYmVydHJhZ3VuZ3N2ZXJmYWhyZW4gZnVlciBWaWRlb3MgZ2VsZXNlbiBoYXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEFudGhlYSwgIDQuIEFwciAyMDAyLCAxODowNzozMik6Cn4jISBybj1Sb25kYSBydD0xMDE3OTM2Mzg4IHJnPXd3dwp+IyEgdGlkPTEwMTc5Mjk4ODAKTm9lLCBoZXV0ZSwgTi1UVgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnVzc2JhbGwgZHVyY2ggU3RldWVyZ2VsZGVyIHNwb25zb3JuPyAoTWF0aXMsICA0LiBBcHIgMjAwMiwgMTg6MTY6MTMpOgp+IyEgcm49Qm9pbmcgcnQ9MTAxNzkzNTkwMyByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCk51ciB6dXIgQmVydWhpZ3VuZzogaW4gRW5nbGFuZCBwYXNzaWVydCBpbSBNb21lbnQgZGFzIGdsZWljaGUgLSBkZXIgcHJpdmF0ZQpGZXJuc2Voc2VuZGVyIGlzdCBxdWFzaSBwbGVpdGUgdW5kIGthbm4gbmljaHQgbWVociByaWNodGlnIHphaGxlbi4gV2lyIAp3ZXJkZW4gYWxzbyBuaWNodCBzb28gd2VpdCBpbiBFdXJvcGEgaGludGVyaGVyaGlua2VuIC4uLgoKTWF0aXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKFJvYWRydW5uZXIsICA0LiBBcHIgMjAwMiwgMTg6MzY6MzEpOgp+IyEgcm49TWF0aXMgcnQ9MTAxNzkzNjk3MyByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCkZ1c3NiYWxsPyB3YXMgaXN0IGRhcz8KO28pCm1lZXBtZWVwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnVzc2JhbGwgZHVyY2ggU3RldWVyZ2VsZGVyIHNwb25zb3JuPyAoV3VyemVsLCAgNy4gQXByIDIwMDIsIDE4OjQxOjEyKToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTAxNzkzODE5MSByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCmltIHVlYnJpZ2VuOiBkaWUgdmVyZWluZSBoYWJlbiBkaWUgc2VuZGVyZWNodGUgYW4ga2lyY2ggdmVya2F1ZnQuIGRhc3Mgc2llCmRhbm4sIHdlbm4ga2lyY2ggbmljaHQgbWVociBiZXphaGx0LCBkaWUgcmVjaHRlIGF1Y2ggYW4gamVtYW5kIGFuZGVyZXMKdmVya2F1ZmVuIGtvZW5udGVuLCBzY2hlaW50IGplZGVyIHp1IHVlYmVyc2VoZW4uLi4gYmVpIHNjaHJvZWRlciB3dW5kZXJ0IG1pY2gKamEgbmljaHRzIG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGdXNzYmFsbCBkdXJjaCBTdGV1ZXJnZWxkZXIgc3BvbnNvcm4/IChab29rLCAgNy4gQXByIDIwMDIsIDE5OjIwOjU5KToKfiMhIHJuPVd1cnplbCBydD0xMDE4MTk3NjcyIHJnPXd3dwp+IyEgdGlkPTEwMTc5Mjk4ODAKV29iZWkgZGEgYXVzIFNpY2h0IGRlciBWZXJlaW5lIGZyYWdsaWNoIGlzdCwgZGFzcyBzaWUgamVtYW5kZW4gZmluZGVuLApkZXIgc292aWVsIGRhZnVlciBiZXphaGx0OyBpbnNiZXNvbmRlcmUsIGRhIHdvaGwgZWluaWdlIFNlbmRlciAoei5CLiBkaWUKQVJEKSBpaHJlIFNwb3J0LUJ1ZGdldHMgc2Nob24gdmVycGxhbnQgaGFiZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEdyaW1tYm9ybiwgIDcuIEFwciAyMDAyLCAxOToyMjo0OSk6Cn4jISBybj1ab29rIHJ0PTEwMTgyMDAwNTkgcmc9d3d3Cn4jISB0aWQ9MTAxNzkyOTg4MApUamEsIGRhcyBpc3QgaGFsdCBNYXJrdHdpcnRzY2hhZnQ6IFdlbm4gRHUgbmljaHQgaW4gZGVyIExhZ2UgYmlzdCBEZWluIFByb2R1a3QKd2lya2xpY2ggdm9ydGVpbGhhZnQgenUgdmVya2F1ZmVuIGtyaWVnc3QgRHUgaGFsdCB3ZW5pZ2VyIEdlbGQuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRnVzc2JhbGwgZHVyY2ggU3RldWVyZ2VsZGVyIHNwb25zb3JuPyAoV3VyemVsLCAgNy4gQXByIDIwMDIsIDE5OjIzOjQ5KToKfiMhIHJuPVpvb2sgcnQ9MTAxODIwMDA1OSByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCndpZSB3YXIgZGFzIG5vY2g/IGFuZ2Vib3QgdW5kIG5hY2hmcmFnZT8gbmFqYSwgd29obCBuaWNodCB3aXJrbGljaC4uLgppbSB1ZWJyaWdlbiBpc3QgZGFzIHdvaGwgamV0enQgZW5kZ3VlbHRpZyB2b20gdGlzY2gsIGVzIHNvbGwgZWluZSBsb2VzdW5nCmZ1ZXIga2lyY2ggZ2ViZW4gaW4gZm9ybSBlaW5lciBhdWZmYW5nZ2VzZWxsc2NoYWZ0LiBzY2hhZGUgZWlnZW50bGljaCwgaGFldHRlCmVzIGx1c3RpZyBnZWZ1bmRlbiB3ZW5uIGRpZSBhcm1lbiBmdXNzYmFsbG1pbGxpb25hZXJlIGhhZXR0ZW4gYmV0dGVsbiBtdWVzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKFpvb2ssICA3LiBBcHIgMjAwMiwgMTk6MjQ6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMTgyMDAxNjkgcmc9d3d3Cn4jISB0aWQ9MTAxNzkyOTg4MApLb3JyZWt0LiA6LSkgQXVzIFNpY2h0IGRlciBWZXJlaW5lIHNjaGllbiBlcyBudXIgZGllIGJlc3NlcmUgQWx0ZXJuYXRpdmUKenUgc2VpbiwgZGVyIFBvbGl0aWsgYXVmIGRlbiBHZWlzdCB6dSBnZWhlbiAoSG9sem1hbm4tU3luZHJvbSkgdW5kIGRpZSBhbHRlClN1bW1lIHp1IGVyaGFsdGVuLiAKClpvb2suCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEhvYm8sICA4LiBBcHIgMjAwMiwgMTA6NTA6MDgpOgp+IyEgcm49V3VyemVsIHJ0PTEwMTgyMDAyMjkgcmc9d3d3Cn4jISB0aWQ9MTAxNzkyOTg4MApadW1pbmRlc3QgYmVpIHVucyBpbSBMb2thbGJsYWV0dGNoZW4gc3RhbmQsIGRhc3MgZWJlbmRpZXNlIEF1ZmZhbmdnZXNlbGxzY2hhZnQKUHJlbWllcmUgdmVya2F1ZmVuIHdpbGwuIE9kZXIgYXVmbG9lc2VuPyBXaWUgYXVjaCBpbW1lciwgZnVlciBkaWUgYXJtZW4KQmFsbHRyZXRlciBpc3QgZGFtaXQgbm9jaCBuaWNodHMgZ2VyZWdlbHQgOykKCiAgIEhvYm8Kc2NoYXV0IFByZW1pZXJlIHVuZCB3dWVyZGUgZXMgdmVybWlzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIdWVic2NoZSBTZWl0ZW4gKE5vbm5lLCAgOC4gQXByIDIwMDIsIDE0OjE5OjQ2KToKaHR0cDovL3d3dy5tZXllcndlYi5jb20vZXJpYy9jc3MvZWRnZS8KCkVpbmZhY2ggbnVyIGdlaWxlIERlbW9zZWl0ZW4sIHdpZSBtYW4gbnVyIG1pdCBjc3MvY3NzMiB1bmQgb2huZSBKYXZhU2NyaXB0CnN1cGVyIFNlaXRlbiBtYWNoZW4ga2Fubi4gRnVua3Rpb25pZXJlbiBhbGxlcmRpbmdzIG51ciBtaXQgTW96aWxsYQp2b2xsc3RhZW5kaWcgKHNpbmQgYWJlciB3M2MgemVydGlmaXppZXJ0KS4gQW0gbHVzdGlnc3RlbiBzaW5kIHNpZSBtaXQgZGVtIElFCihodHRwOi8vd3d3Lm1leWVyd2ViLmNvbS9lcmljL2Nzcy9lZGdlL2NvbXBsZXhzcGlyYWwvZGVtbzIuaHRtbCB1bmQgZGFubiBtYWwKc2Nyb2xsZW4gKmtpY2hlciopCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtpbmRoZWl0IGh1cnJhIDopIChOaXp6bCwgIDguIEFwciAyMDAyLCAyMzoxNzowMik6Cmh0dHA6Ly93d3cuaGUtbWFuLmRlL2NnaS1iaW4vbmV3cy9mdWxsbmV3cy5jZ2k/bmV3c2lkMTAxNzAwMzA4OCwyODgyOSwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZ1c3NiYWxsIGR1cmNoIFN0ZXVlcmdlbGRlciBzcG9uc29ybj8gKEVuZGVyLCAxMC4gQXByIDIwMDIsIDAwOjExOjM5KToKfiMhIHJuPVJvYWRydW5uZXIgcnQ9MTAxNzkzODE5MSByZz13d3cKfiMhIHRpZD0xMDE3OTI5ODgwCkphIGdlbmF1LCB3ZXIgbWFjaHQgc2ljaCBkZW5uIGRpZSBNdWVoZSB1bmQga2lja3QgbmVuIEJhbGwgbWl0IGRlbiBGdXNzIGluCmVpbmVuIHVlYmVyIDIgTWV0ZXIgaG9jaCBhdWZnZWhhbmdlbmVuIEtvcmIsIGRhcyBnZWh0IG1pdCBkZXIgSGFuZCBkb2NoIHZpZWwKYmVzc2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2VpemVyaXNjaGUgVm9sa3Nmcm9udCBnZWdlbiBkYXMgTVVIISAoQW5vcmlzLCAxMS4gQXByIDIwMDIsIDE0OjU4OjQ2KToKMS4gTmV3c2xldHRlciBkZXIgU2Nod2VpemVyaXNjaGVuIFZvbGtzZnJvbnQgZ2VnZW4gZGFzIE1VSCEKCkhldXRlOiBBU0NJSSBBcnRzClVSTDogaHR0cDovL3VzZXJwYWdlcy51bWJjLmVkdS9+ZHNjaG1pMS90ZXh0L25ld2Nvd3MudHh0CgotIEFub3JpcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvbW1lck1VRHBhcnR5IGluIEJlcmxpbiA/PyAoR2xvaW5zb24sIDE1LiBBcHIgMjAwMiwgMTk6Mjg6MjIpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwMTg4OTExNDYgcmc9cGFydHkKfiMhIHRpZD0xMDE4ODkxMTQ2Cmh0dHA6Ly93d3cuaHUtYmVybGluLmRlL3Zvcmxlc3VuZ3N2ZXJ6ZWljaG5pcy9mcmlzdGVuLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjaHdlaW5jaGVuIChFbGl6YWJldGgsIDE2LiBBcHIgMjAwMiwgMTQ6MzQ6MjQpOgp3d3cuc2Nod2VpbmUubmV0CkxPTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGxlY2tlcmVzIGZ1ZXIgZGllIE1pdHRhZ3NwYXVzZSAoTW9yZ290aCwgMTguIEFwciAyMDAyLCAxMzoxMTo1MSk6Cmh0dHA6Ly9tZW1iZXJzLmZvcnR1bmVjaXR5LmNvbS9wZXJmZWN0d29tZW4vbWFpbi5odG0KCk0qIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGxlY2tlcmVzIGZ1ZXIgZGllIE1pdHRhZ3NwYXVzZSAoTWFyY3VzLCAxOC4gQXByIDIwMDIsIDEzOjE0OjI5KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxOTEyODMxMSByZz13d3cKfiMhIHRpZD0xMDE5MTI4MzExCldhcm51bmc6IEVudGhhZWx0IHZpZWwgbmFja3RlcyBGbGVpc2NoPyA6KQoKQ2lhbywgTWFydWNzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBsZWNrZXJlcyBmdWVyIGRpZSBNaXR0YWdzcGF1c2UgKEJhbWJpLCAxOC4gQXByIDIwMDIsIDEzOjE1OjEzKToKfiMhIHJuPU1hcmN1cyBydD0xMDE5MTI4NDY5IHJnPXd3dwp+IyEgdGlkPTEwMTkxMjgzMTEKSWNoIHdvbGx0IGphIGVyc3QgbmljaHQgZnJhZ2VuLCBhYmVyIG5hY2ggd2FzIHN1Y2hzdCBEdSBpbiBkZWluZXIKTWl0dGFnc3BhdXNlLCBNb3Jnb3RoPwpEZW5ub2NoOiBuZXR0ZXMgQmlsZC4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcyBsZWNrZXJlcyBmdWVyIGRpZSBNaXR0YWdzcGF1c2UgKE1vcmdvdGgsIDE4LiBBcHIgMjAwMiwgMTM6MTg6NTkpOgp+IyEgcm49QmFtYmkgcnQ9MTAxOTEyODUxMyByZz13d3cKfiMhIHRpZD0xMDE5MTI4MzExClN1Y2hlbj8gV2llc28gc3VjaGVuPyBTb3dhcyBiZWtvbW10IG1hbiBnZXNjaGlja3QgKHdlbm4gbWFuIG5ldHRlbiBLb2xsZWdlbiBuZQpTdWNoZW4/IFdpZXNvIHN1Y2hlbj8gU293YXMgYmVrb21tdCBtYW4gZ2VzY2hpY2t0ICh3ZW5uIG1hbiBuZXR0ZW4gS29sbGVnZW4gbmUKU291bmRrYXJ0ZSBlaW5yaWNodGV0KSA6KSkKCk0qIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FzIGxlY2tlcmVzIGZ1ZXIgZGllIE1pdHRhZ3NwYXVzZSAoU3BlbGxmaXJlLCAxOC4gQXByIDIwMDIsIDE4OjE2OjI4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAxOTEyODczOSByZz13d3cKfiMhIHRpZD0xMDE5MTI4MzExCkhlaGVoIGFuIHNvd2FzIGdld29laG50IG1hbiBzaWNoIGF1Y2ggbmFjaCA0IE1vbmF0ZW4gbmljaHQgd2lya2xpY2guLi4ud2lsbAp6dXJ1ZWNrIG5hY2ggUmlvICpqYW1tZXIqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjYzODA6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKE1vbnRhbnVzLCAxOS4gQXByIDIwMDIsIDE3OjIxOjUxKToKfiMhIHJuPUltZGEgcnQ9MTAxOTExMzA0NSByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKRXMgaXN0IGRvY2ggbmV0dCwgd2llIFBvbGl0aWtlciBzaWNoIGRlcyBJbnRlcm5ldHMgYmV3dXNzdCBzaW5kLgpGb2xnZW5kZXMgaXN0IGVpbiBBdXN6dWcgZWluZXIgZU1haWwgdm9uIFNlbmF0b3IgUGF0dHkgTXVycmF5OgoKIkknbSBwcm91ZCB0aGF0IFdhc2hpbmd0b24gc3RhdGUgaGFzIGhlbHBlZCBkZXZlbG9wIHRlY2hub2xvZ2llcyAKbGlrZSAKICAgICB0aGUgSW50ZXJuZXQgYW5kIGVtYWlsLCB3aGljaCBjaXRpemVucyBsaWtlIHlvdSBhcmUgdXNpbmcgdG8gc2hhcmUgCiAgICAgeW91ciBjb25jZXJucyB3aXRoIGVsZWN0ZWQgb2ZmaWNpYWxzLiIKCkhlaGUuIFdvcmF1ZiBtYW4gYWxzIFNlbmF0b3JpbiBlaW5lcyBCdW5kZXNzdGFhdHMgYWxsZXMgc3RvbHogc2VpbiBtdXNzIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjYzODE6IEhhY2guLi4gbnUgaXMgd2FzIGRyaW4sIGlubmVyIE1QQS4gKFd1cnplbCwgMjEuIEFwciAyMDAyLCAyMTozODo0OCk6Cn4jISBybj1Nb250YW51cyBydD0xMDE5MjI5NzExIHJnPXd3dwp+IyEgdGlkPTk4MjMyODI3OAp2ZXJ3dW5kZXJ0IGRpY2ggZGFzIGJlaSBkZW4gc3Bpbm5lcm4/CmFsbGVzIHdhcyBndXQgaXN0IGF1ZiBkZXIgd2VsdCBoYWJlbiBhbWVyaWthbmVyIGdlc2NoYWZmZW4sIGRlciByZXN0IGlzdApwdXJlciB0ZXJyb3Jpc3RlbmtyYW0uIG9kZXIgc28gYWVobmxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmdWVyIGFsbGUgbGludXggdXNlciA6KSAoTGVpYm5peiwgMjguIEFwciAyMDAyLCAxMTo1NjoxNyk6CgplYmVuIGdlc2VobjoKICBodHRwOi8vbWl0Z2xpZWQubHljb3MuZGUvYnVtYnVtcmFsbGUvRmxhc2gva2ltYmxlX3RoZW1vdmllLnN3ZgoKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaXN0IER1IGlycmUgPyAoTW9yZ290aCwgMzAuIEFwciAyMDAyLCAxNTo1MzozMik6CklzdCB2aWVsbGVpY2h0IHNjaG9uIGFlbHRlciwgYWJlciBzYXVnZWlsICEKCmh0dHA6Ly93d3cuZ2FzaS5jaC9vay5odG1sCgpNKiB3dWVuc2NodCBmcm9oZXMgU2Nod2VpZ2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3d3cubmljaHQtcmVnaWVydW5nc2ZhZWhpZy5kZSAoQmFtYnVsa28sICAzLiBNYWkgMjAwMiwgMTI6MDc6MTIpOgpIZWhlIDotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByaXZhdHNwaGFlcmUgaW0gaW4gZGVuIFN0YWF0ZW4gLi4uIChWYW5pb24sICA1LiBNYWkgMjAwMiwgMTc6Mzg6NDgpOgpJbW1lciB3aWVkZXIgZWluIHNwYW5uZW5kLCB3aWUgaW0gTGFuZCBkZXIgVW5iZWdyZW56dGVuIE1vZWdsaWNoa2VpdGVuIFJlY2h0Cmdlc3Byb2NoZW4gd2lyZDoKCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2VjcC0wNC4wNS4wMi0wMDEvCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHd3dy5uaWNodC1yZWdpZXJ1bmdzZmFlaGlnLmRlIChBbmFjcmlvbiwgIDUuIE1haSAyMDAyLCAxOToxMzoxNik6Cn4jISBybj1CYW1idWxrbyBydD0xMDIwNDIwNDMyIHJnPXd3dwp+IyEgdGlkPTEwMjA0MjA0MzIKTmFqYS4gQWxzbyBpY2ggZmluZGUgZGllIFNlaXRlIHJlY2h0IHJlaXNzZXJpc2NoIHVuZCBkZXV0bGljaCB1bnRlciBkZW0KcG9saXRpc2NoZW4gTml2ZWF1LCBkYXMgaWNoIG1pciB2b24gZWluZXIgRGV1dHNjaGVuIFBhcnRlaSB3dWVuc2NoZW4gd3VlcmRlCi4uLi4gYWJlciBuYWNoZGVtIGljaCBkYXMgKGMpIFNQRC5kZSBnZXNlaGVuIGhhdHRlIC4uLiBrZWluZSB3ZWl0ZXJlIEZyYWdlCkV1ZXIgRWhyZW4gLi4uLiAgCgphbmFjKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkV4cGVydGVuIC4uLiAoVmFuaW9uLCAxMi4gTWFpIDIwMDIsIDEzOjA0OjAxKToKCldpZSBzY2hvZW4gbWFuIHNpY2ggZG9jaCB1ZWJlciBLbGVpbmtyYW0gYXVmcmVnZW4ga2FubiAuLi4KaHR0cDovL3d3dy50ZWNjaGFubmVsLmRlL2hhcmR3YXJlLzg0OC9pbmRleC5odG1sCgpWKiwgbWVpbnQgZGVyIEFydGlrZWwgaGFldHRlIGFtIDEuNC4gcmF1c2tvbW1lbiBzb2xsZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXhwZXJ0ZW4gLi4uIChHcmltbWJvcm4sIDEyLiBNYWkgMjAwMiwgMTM6MTI6MzcpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMjEyMDE0NDEgcmc9d3d3Cn4jISB0aWQ9MTAyMTIwMTQ0MQpEYXMgaXN0IGtlaW4gQXByaWxzY2hlcnosIGRlciBNaXNzYnJhdWNoIHZvbiBzY2hvbiB2b3IgSmFocmh1bmRlcnRlbgplaW5nZWZ1ZWhydGVuIEJlZ3JpZmZlbiB1bmQgS29udmVudGlvbmVuIGR1cmNoIGRpZSBJVCBpc3QgdHJhdXJpZ2UgUmVhbGl0YWV0LgpVbmQgbnVyIGplbWFuZCwgZGVzc2VuIFVuaXZlcnN1bSBoaW50ZXIgZGVyICJlaW5zIiBlbmRldCBrYW5uIGRhcyBtaXQgZWluZW0KIm5hIHVuZD8iIHF1aXR0aWVyZW4sIHdlaWwgZXIgZGllIFRyYWd3ZWl0ZSBuaWNodCB3aXJrbGljaCBlcmZhc3NlbiBrYW5uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFyIFdhcnMgbWFsIGFuZGVycyAoSmFtZXNvbiwgMTYuIE1haSAyMDAyLCAwMTo0OTo0OCk6Cmh0dHA6Ly93d3cubGVnby5jb20vZW5nL3N0dWRpb3Mvc2NyZWVuaW5nL21vdmllLmFzcD90aXRsZT1zdGFyd2FycwooYnJhdWNodCBDb29raWVzKQpEYSBoYXQncyBhdWNoIG5vY2ggYW5kZXJlIHNlaGVuc3dlcnRlIEZpbG1jaGVuLgpIYWIgaWNoIGF1ZiBodHRwOi8vdGhlZm9yY2UubmV0LyBlbnRkZWNrdCwgZGFzIHdpZWRlcnVtIGluCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2Fudy0xNS4wNS4wMi0wMDUvIGVyd2FlaG50IHd1cmRlIC0gc2NoYXV0Cm1hbCByZWluLCBkYSBnaWJ0J3Mgbm9jaCB2aWVsIG1laHIgenUgZW50ZGVja2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHUgd2lsbHN0IGFsc28gSmFwYW5pc2NoIGxlcm5lbiAuLi4gKFZhbmlvbiwgMjEuIE1haSAyMDAyLCAxOTo0ODozNik6Cmh0dHA6Ly9hbnRvbi5hdGguY3gvamFwYW5lc2UuaHRtbCAKCkhlcnJsaWNoIHdpdHppZy4KViouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWdlbmtlYnMgZ2FyYW50aWVydCEgKEJhbWJ1bGtvLCAyMy4gTWFpIDIwMDIsIDA5OjMzOjQ2KToKaHR0cDovL3Jhc3B1dGluLmRlL0NGL0p1Z2VuZC9pbmRleC5odG1sCgpXZXIgc2VpbmUgQXVnZW4gdmVyZGVyYmVuIG1vZWNodGUgd2VpbCBlciBuaWNodCB6dW0gQnVuZCB3aWxsIHNvbGx0ZSBoaWVyCnJlaW5zY2hhdWVuLiBFaW4gTGFjaGVyIGlzdCBhdWNoIGdhcmFudGllcnQuLi4uLgoKQmFtYnVsa28KClAuUy46IEZ1ZXIgZXR3YWlnZSBHZXN1bmRoZWl0c3NjaGFlZGVuIHVlYmVybmVobWUgaWNoIGtlaW5lIEhhZnR1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbmRsaWNoISBFcmZ1cnQgdW5kIGRpZSBGb2xnZW4uLi4gKExpbmZsYXMsIDI0LiBNYWkgMjAwMiwgMTc6NDE6MTMpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvcG9saXRpay8wLDE1MTgsMTk3MzYxLDAwLmh0bWwKClVTLUFybXk6IFJla3J1dGVuZmFuZyBwZXIgRWdvc2hvb3RlcgoKSGlybndhc2NoZW5kZSBFZmZla3RlIHZlcnNwcmljaHQgc2ljaCB6dW1pbmRlc3QgZGllIFVTLUFybXkgdm9uIEVnby1TaG9vdGVybiwKZGVuIGFscyAiS2lsbGVyc3BpZWxlbiIgaW4gVmVycnVmIGdlcmF0ZW5lbiBCYWxsZXJzcGllbGVuLiBKZXR6dCBicmluZ3Qgc2llCmdhciBlaW5lbiBlaWdlbmVuIFNob290ZXIgYXVmIGRlbiBNYXJrdDogIkFtZXJpY2EncyBBcm15IgoKRGluZ2UsIGRpZSBlaW5lIFdlbHQgX1VOQkVESU5HVF8gYnJhdWNodC4uLgoKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vIE1hJ2FtISAoUm9uZGEsIDI2LiBNYWkgMjAwMiwgMDA6MzQ6NTApOgouLi4gaWNoIGthbm50ZSBkaWUgVC1TaGlydHMgamEgc2Nob24gdm9uIGVpbmVyIEhvY2h6ZWl0IChpcmdlbmR3aWUgaGF0dGUgaWNoCmRhcyBHZWZ1ZWhsLCBkaWUgRnJldW5kZSBkZXMgQnJhZXV0aWdhbXMga29ubmVuIGRpZSBCcmF1dCBuaWNodCBhdXNzdGVoZW4/KSwKYWJlciBkaWVzZSBTaXRlIGthbm50ZSBpY2ggbm9jaCBuaWNodDoKCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvY2hyLmJyYW5kL25vbWFhbS8KCi4uLiBudXIgZnVlciBNYWVubmVyLiBFQ0hURS4gVW5kIE11cGZlbCBpc3QgU2NodWxkIQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBObyBNYSdhbSEgKFRla3R1a28sIDI2LiBNYWkgMjAwMiwgMDk6MzA6NTMpOgp+IyEgcm49Um9uZGEgcnQ9MTAyMjM2NjA5MCByZz13d3cKfiMhIHRpZD0xMDIyMzY2MDkwClZvbiBlaW5lciBIb2NoemVpdD8gTm9ybWFsZXJ3ZWlzZSBrZW5udCBtYW4gTm8gTWEnYW0gamEgZWhlciB2b24gQWwgQnVuZHkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm8gTWEnYW0hIChUcnVnLCAyNi4gTWFpIDIwMDIsIDIyOjM3OjExKToKfiMhIHJuPVJvbmRhIHJ0PTEwMjIzNjYwOTAgcmc9d3d3Cn4jISB0aWQ9MTAyMjM2NjA5MApBY2ggc28uLiBkYXMgaXN0IGVpbmUgU3R1ZGVudGVucGFydGVpIGF1ZiBkZXIgVW5pdmVyc2l0YWV0IExpbnouLiBrb21tdCB2b20KZG9ydC4uIHdhciB1bnRlciBhbmRyZW0gYXVjaCBlaW4gV2FobHZlcnNwcmVjaGVuIGVpbiBmcmVpZXMgbGViZXJrYWVzc2VtbWVybApmdWVyIGFsbGUuCgpTaWUgaGF0IGF1ZiBBbmhpZWIgemllbWxpY2ggdmllbGUgU3RpbW1lbiBiZWtvbW1lbiwgdW5kIGRhcyBULVNoaXJ0IGJla29tbXQKbWFuIGF1Y2ggdm9uIGRvcnQgOykKCmh0dHA6Ly93d3cubm8tbWFhbS5hdC8gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVzc2JhbGwuLi4gKERpZWRlciwgMzEuIE1haSAyMDAyLCAyMjoxNTowNSk6Cmh0dHA6Ly93d3cudml6ZWt1c2VuLmRlLnZ1LwoKRGllZGVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWhyc2NodWxlISAoQmFtYnVsa28sICA3LiBKdW4gMjAwMiwgMTM6MzQ6MjcpOgpodHRwOi8vdXNlcnMucGFuZG9yYS5iZS9tYW5zaWUvcmlqc2Nob29sLnN3ZgoKOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhaHJzY2h1bGUhIChSb25kYSwgIDcuIEp1biAyMDAyLCAyMzoyNzo0MCk6Cn4jISBybj1CYW1idWxrbyBydD0xMDIzNDQ5NjY3IHJnPXd3dwp+IyEgdGlkPTEwMjM0NDk2NjcKRGFua2UgQmFtYnVsa28sIGRlciBMaW5rIHdhciBlY2h0IGdlbmlhbCA7LSkKCkljaCBiaW4gZWluIGJpc3NjaGVuIGF1ZiBTdWNoZSBnZWdhbmdlbiAtIGRlciAiRmlsbSIgaXN0IHZvbiBCcnVubyBCb3p6ZXR0bwooamEsIGRhcyBpc3QgZGVyIFplaWNobmVyIHZvbiAiSGVyciBSb3NzaSIpLiBVbmQgaGllciBnaWJ0cyBub2NoIG1laHIgRmxhc2gKdm9uIGlobToKaHR0cDovL3d3dy5mdXR1cmVmaWxtZmVzdGl2YWwuY29tL2JvenpldHRvL2luZGV4Lmh0bQpMaW5rcyBiZWkgRXBpc29kaSBhbmtsaWNrZW4uLi4gdW5kIHNpY2ggbmljaHQgdm9uIGRlciBFaW5nYW5nc3NlcXVlbnogYnp3Lgpad2lzY2hlbnNlcXVlbnogdmVyd2lycmVuIGxhc3NlbiwgZXMga29tbXQgbm9jaCBtZWhyLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2Nod29lcnVuZyEgKE5vbm5lLCAxMC4gSnVuIDIwMDIsIDA4OjU0OjE3KToKaHR0cDovL3d3dy5hbmRyZWFzLWhlaWRlbWFubi5kZS92ZXJzY2h3b2VydW5nLmh0bWwKClZvciBhbGxlbSBCaWVsZWZlbGQgc29sbHRlIGRhcyBtYWwgbGVzZW4gKGM7CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWZXJzY2h3b2VydW5nISAoVHJveSwgMTAuIEp1biAyMDAyLCAwODo1NjoxOCk6Cn4jISBybj1Ob25uZSBydD0xMDIzNjkyMDU3IHJnPXd3dwp+IyEgdGlkPTEwMjM2OTIwNTcKU3RlaHQgc2Nob24gc2VpdCAoaWNoIGdsYXViZSkgMTk5NSBhdWYgQmllbGVmZWxkJ3MgSG9tZXBhZ2UuLi4KCihmaW5nZXIgQmllbGVmZWxkKQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3BhbmsgdGhlIG1vbmtleSAoTXVhZGliLCAxMS4gSnVuIDIwMDIsIDE1OjMzOjU2KToKaHR0cDovL3d3dy50ZWt6b25lZC5jb20vc3BhbmsvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzcGFuayB0aGUgbW9ua2V5IChCb2luZywgMTEuIEp1biAyMDAyLCAxODoyNzozOCk6Cn4jISBybj1CaXJkeSBydD0xMDIzODEyODQwIHJnPXd3dwp+IyEgdGlkPTEwMjM4MDI0MzYKSmFqYSwgaXN0IGphIGd1dCAuLi4gRHUgYmlzdCBkZXIgR3JvZXNzdGUuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IHNwYW5rIHRoZSBtb25rZXkgKEJpcmR5LCAxMS4gSnVuIDIwMDIsIDE4OjM0OjE1KToKfiMhIHJuPUJpcmR5IHJ0PTEwMjM4MTI4ODggcmc9d3d3Cn4jISB0aWQ9MTAyMzgwMjQzNgo2MTkgbXBoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBzcGFuayB0aGUgbW9ua2V5IChNdWFkaWIsIDEyLiBKdW4gMjAwMiwgMTA6NTA6MjEpOgp+IyEgcm49QmlyZHkgcnQ9MTAyMzgxMzI1NSByZz13d3cKfiMhIHRpZD0xMDIzODAyNDM2Cm5hIGRhbm4gdWViIG1hbCBub2NoIGVpbiB3ZW5pZy4gd2VubiBkdSBsaWNodGdlc2Nod2luZGlna2VpdCB1ZWJlcnNjaHJlaXRlc3QKZ2lidHMgbmUgc2Nob2VuZSBhbmltYXRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZ1c3NiYWxsIChCaXJkeSwgMjAuIEp1biAyMDAyLCAxNjoyNTo0Myk6Cnd3dy5ibHV0Z3JhZXRzY2hlLGRlCipsb2wqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKYWphLi4uIChUcm95LCAyNS4gSnVuIDIwMDIsIDA4OjIwOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI0OTMyNzY5IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9MTAyNDkzMTgyNgpEYW5uIHNjaGF1dCBkb2NoIG1hbCBkYSByZWluOgoKaHR0cDovL3d3dy5rdXJvNWhpbi5vcmcvP29wPWRpc3BsYXlzdG9yeTtzaWQ9MjAwMi82LzIxLzEwNjU0LzQwNjQKClNvIHZvbiB3ZWdlbiBuYWNodHJhZ2VuZC4uLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob2VuZXIgRnVzc2JhbGxhcnRpa2VsIChCaXJkeSwgMjUuIEp1biAyMDAyLCAxODoyMjowMyk6CmJpcyB6dW0gc2NobHVzcyBkdXJjaGxlc2VuIDopCnd3dy5zdGVybi5kZS9zcG9ydC1tb3Rvci9zcGV6aWFsL3dtMjAwMi9hcnRpa2VsLz9pZD0yNDU4OTUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhYmJpdCAoTmliZWwsIDI2LiBKdW4gMjAwMiwgMTE6MjQ6MDkpOgpodHRwOi8vd3d3LmVzdS5sdC9hbmRyaXVzLzEwL2dvLmh0bQogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWhhIChOaXp6bCwgMjguIEp1biAyMDAyLCAyMDowODowNCk6Cmh0dHA6Ly93d3cucC11LXQtei5kZS9zdHVmZi9kZXJfd2FocmVfZ3J1bmQuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb2QgYmxlc3MgQW1lcmljYS4uLi4gKEJhbWJ1bGtvLCAxNS4gSnVsIDIwMDIsIDEyOjUwOjM1KToKaHR0cDovL3NlbmQuZ3JlZXRpbmdzLnlhaG9vLmNvbS9ncmVldC9zZW5kPy5pZD0xNTIwNTYxNzEKClVuZ2xhdWJsaWNoIGFiZXIgd2Foci4uLm5lIGVjaHRlIEdydXNza2FydGUgdm9uIFlhaG9vLkJhbWJ1bGtvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW1lcmlrYW5pc2NoZSBUaXRhbmlrIDotKSAoQmFtYnVsa28sIDE1LiBKdWwgMjAwMiwgMTY6MzQ6MzkpOgpIaWVyIGlzdCB3b2hsIGVpbmUgYW1lcmlrYW5pc2NoZSBWZXJzaW9uIGRlciBUaXRhbmlrLi4uLi4KCmh0dHA6Ly93d3cudGhlb25pb24uY29tL29uaW9uMzczNC9pbmRleC5odG1sCgpCZXNvbmRlcnMgenUgZW1wZmVobGVuOiAnR29kIEFuZ3JpbHkgQ2xhcmlmaWVzICdEb24ndCBLaWxsJyBSdWxlCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2hlcmUncyBXYWxkbz8gKFBob2JvcywgMTguIEp1bCAyMDAyLCAwMToxMzoyMik6CgpodHRwOi8vd3d3LmRvZ2JvbWIuY28udWsvZGlzcGxheS5waHA/cGFnZT13YWxkbwoKVmllbCBTcGFzcyBiZWltIFN1Y2hlbiA6KQoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCbGF1YmFlciBpbSBSYWRpbyAoS2F0emVudGFudGUsIDE4LiBKdWwgMjAwMiwgMTM6MTU6MzUpOgpIaSxIaW53ZWlzIGF1ZiBCbGF1YmFlcmVuIGltIFJhZGlvIDotKQpRdWVsbGU6Cmh0dHA6Ly93d3cuaHItb25saW5lLmRlL2hmL2hyMi9ya3MyMDAyL2xlc3VuZ2VuLmh0bWwjYmxhdWJhZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpbmtzIHVuZCBEaXNjbGFpbWVyIChWYW5pb24sIDIwLiBKdWwgMjAwMiwgMDk6MTk6NDQpOgpIaSwgCgppY2ggaGFiIGhpZXIgbWFsIGVpbmUgaW50ZXJlc3NhbnRlIFNlaXRlIGdlZnVuZGVuLCBkaWUgc2ljaCBtaXQgZGVyCnJlY2h0bGljaGVuIERldXR1bmcgdW5kIEJlZGV1dHVuZyBkZXIgb2Z0IHVlYmVybGVzZW5lbgpIYWZ0dW5nc2F1c3NjaGx1c3MtVGV4dGUgYXVmIHByaXZhdGVuIFdlYnNlaXRlbiBiZXNjaGFlZnRpZ3QuIE1hY2h0IGV1Y2gKc2VsYnN0IGVpbiBCaWxkOgoKIGh0dHA6Ly93d3cuZGFuaWVsLXJlaGJlaW4uZGUvdXJ0ZWlsLWxhbmRnZXJpY2h0LWhhbWJ1cmcuaHRtbAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmdlbHNhZWNoc2lzY2ggLi4uIChNdWFkaWIsIDI2LiBKdWwgMjAwMiwgMTA6MTg6NTEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMjc2MzEyODYgcmc9d3d3Cn4jISB0aWQ9MTAyNzYzMTI4NgphIGhpc3Rvcnkgb2YgZW5nbGlzaCB2b24gYmFyYmFyYSBmZW5uZWxsCmxleGljYWwgcGhvbm9sb2d5IGFuZCB0aGUgaGlzdG9yeSBvZiBlbmdsaXNoIHZvbiBBcHJpbCBNY01haG9uCgp6dW1pbmRlc3QgaGFiIGljaCBtaXIgZGFzIHNhZ2VuIGxhc3NlbiB2b24gamVtYW5kIGRlciBhdWYgZGVtIHRyaXAgdm9uIGJlb3d1bGYKenUgY2FudGVyYnVyeSB0YWxlcyB3YXIuCgpncnVzcwoKbXVhZGliCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPaCBIYXBweSBkYXkhIChBbnRoZWEsIDI2LiBKdWwgMjAwMiwgMTQ6MzE6MDQpOgpUb24gYW4gdW5kIGF1ZiBkaWUgVGFzc2Uga2xpY2tzZW4uCgpodHRwOi8vd3d3LmZsb3dnby5jb20vZ3JlZXRpbmdzL0FfQ3VwX09mX0pveS9BX0N1cF9PZl9Kb3kuc3dmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb3VsZXR0ZSEgKFphcGhvYiwgMjcuIEp1bCAyMDAyLCAxNzo1MjoyOSk6ClZpZWwgU3Bhc3M6Cmh0dHA6Ly9tZW1iZXJzLmFvbi5hdC9yaWFsc2thZWRkYS5odG1sL2dpbXByb3VsZXR0ZS5zd2YKCktvcGxvawpkZXIgVW50ZXJzY2hyaWZ0ZW5mYWVsc2NoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5pY2h0IG1hbCBGdXNzYmFsbCBrYW5uIGVyLi4uIChDcml0dGVyLCAyOC4gSnVsIDIwMDIsIDEzOjAyOjUyKToKZ3Vja3QgbWFsIHVudGVyIGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjA3MTMxLDAwLmh0bWwKYy4KYWJlciBsZWlkIHR1dCBtaXIgZGllIG9tYSBzY2hvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOaWNodCBtYWwgRnVzc2JhbGwga2FubiBlci4uLiAoQmFtYmksIDI4LiBKdWwgMjAwMiwgMTM6MjQ6NDIpOgp+IyEgcm49Q3JpdHRlciBydD0xMDI3ODU0MTcyIHJnPXd3dwp+IyEgdGlkPTEwMjc4NTQxNzIKIktvbGxhdGVyYWxzY2hhZWRlbiIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5pY2h0IG1hbCBGdXNzYmFsbCBrYW5uIGVyLi4uIChDdWNodWxsaW4sIDI4LiBKdWwgMjAwMiwgMTU6NDQ6MDgpOgp+IyEgcm49QmFtYmkgcnQ9MTAyNzg1NTQ4MiByZz13d3cKfiMhIHRpZD0xMDI3ODU0MTcyCkRpZSBCaWxkdW50ZXJzY2hyaWZ0IGlzdCBzZWhyIHRyZWZmZW5kOgoiR2VmYWVocmxpY2hlciByZWNodGVyIFNjaHVzczogRWRtdW5kIFN0b2liZXIgYW0gQmFsbCIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOaWNodCBtYWwgRnVzc2JhbGwga2FubiBlci4uLiAoQm9pbmcsIDI4LiBKdWwgMjAwMiwgMTY6MDg6MjUpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjc4NjM4NDggcmc9d3d3Cn4jISB0aWQ9MTAyNzg1NDE3MgpOYWphLCB6dXIgWmVpdCBpc3QgZGllIHBvbGl0aXNjaGUgS29ua3VycmVueiBqYSB1ZWJlciBqZWRlIG5vY2ggc28ga2xlaW5lClNjaGxhZ3plaWxlIGZyb2gsIGRpZSBzaWUgZWluIGJpc3NjaGVuIGF1cyBkZXIgU2NodXNzbGluaWUgbmltbXQgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vIGJyYWluLCBubyBnYWluLiAoTGluZmxhcywgMjguIEp1bCAyMDAyLCAxODo1Njo1Mik6Cmh0dHA6Ly9kZS5uZXdzLnlhaG9vLmNvbS8wMjA3MjcvMTIvMnZueWguaHRtbAoKd2VuaWdzdGVucyBzYW1tZWx0IHNpY2ggZGllIHNpcHBlIGRlciB2b2xsdHJvdHRlbCBpbiBkZXIgc2NoaWxsLXBhcnRlaSB1bmQKbmljaHQgdm9yIG1laW5lciBoYXVzdHVlci4KCmwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm8gYnJhaW4sIG5vIGdhaW4uIChHbG9pbnNvbiwgMjguIEp1bCAyMDAyLCAyMDowMDoxMik6Cn4jISBybj1MaW5mbGFzIHJ0PTEwMjc4NzU0MTIgcmc9d3d3Cn4jISB0aWQ9MTAyNzg3NTQxMgpHYW56IGZhbHNjaCBsaWVnZW4gc2llIG5pY2h0IC0gbnVyIGRpZSBNYXNzbmFobWVuIHNpbmQgZXR3YXMgdWViZXJ6b2dlbi4gV2FlcgpqYSBuaWNodCBzY2hsZWNodCwgd2VubiBFaW53YW5kZXJlciBnbGVpY2ggZWluZW4ga29tcGxldHRlbiBHZXN1bmRoZWl0c2NoZWNrCnNhbXQgSW1wZnVuZ2VuIGVyaGFsdGVuLiBEZW5uIHdpZSBnZXNjaHJpZWJlbiAtIHNpZSBsaWVnZW4gbmljaHQgZmFsc2NoLiBCZWkKdW5zIGltIEhhdXMgZ2FiIGVzIHZvciB6d2VpIE1vbmF0ZW4gendlaSBUQkMtRmFlbGxlIHVuZCBlaW4gR3V0dGVpbCBzb2xjaGVyCkZhZWxsZSBlbnRzdGVoZW4gZHVyY2ggRWluc2NobGVwcGVuIGF1cyBPc3RldXJvcGEuCgpHbG9pbihzb24pIG1hZyBzaWNoIG5pY2h0IGplZGVzIEphaHIgcm9lbnRnZW4gbGFzc2VuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vIGJyYWluLCBubyBnYWluLiAoQ3VjaHVsbGluLCAyOC4gSnVsIDIwMDIsIDIwOjAxOjI4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjc4NzkyMTIgcmc9d3d3Cn4jISB0aWQ9MTAyNzg3NTQxMgpXZW5uIGRlbm4gYWxsZSBicmF2ZW4gZGV1dHNjaGVuIEJ1bmRlc2J1ZXJnZXIgYnJhdiB6dW0gSW1wZmVuIGdlaGVuIHd1ZXJkZW4uCk13YWhhaGFoYSwgd2lsbCBuaWNodCB3aXNzZW4sIHdhcyBPdHRvIE4uIHNvIGFsbGVzIHZvbSBLdXJ6dXJsYXViIG1pdGJyaW5ndC4KCkMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5vIGJyYWluLCBubyBnYWluLiAoR2xvaW5zb24sIDI4LiBKdWwgMjAwMiwgMjA6MDQ6MTQpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwMjc4NzkyODggcmc9d3d3Cn4jISB0aWQ9MTAyNzg3NTQxMgoqa2Flc3RjaGVudWViZSogRHUgaGFzdCB2b24gVEJDIGFsc28ga2VpbmUgQWhudW5nLiBEaWUgSW1wZnVuZyBmdWVocnQgbnVyIHp1CjgwJSB6dXIgSW1tdW5pc2llcnVuZyB1bmQgaXN0IGRlc2hhbGIgbmljaHQgZW1wZm9obGVuLCBlcyBzZWkgbWFuIGJlZ2lidCBzaWNoCmluIEdlZmFocmVuZ2ViaWV0ZS4KCkdsb2luKHNvbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vIGJyYWluLCBubyBnYWluLiAoTm9ubmUsIDI4LiBKdWwgMjAwMiwgMjA6MDc6MTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNzg3OTQ1NCByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCktvbW1lbiBkYW5uIGFsbGUgS2luZGVyZmlja2VyLCBkaWUgYXVzIFRoYWlsYW5kIHp1cnVlY2trb21tZW4sIGF1Y2ggZXJzdG1hbCAzCk1vbmF0ZSBpbiBRdWFyYW50ZW5lPyBPZGVyIEJvcmRlbGwtQmVzdWNoZXI/IEtlaW5lIEFobnVuZywgd28gZGllCkFuc3RlY2t1bmdzZ2VmYWhyIGZ1ZXIgVEJDIGhvY2ggaXN0LCBhYmVyIGRpZSBzb2xsdGVuIGRhbm4gYXVjaCBhbGxlCndlZ2dlc2NobG9zc2VuIHdlcmRlbi4gQW0gYmVzdGVuIG1hY2hlbiB3aXIgZGllIEdyZW56ZW4gZ2xlaWNoIGdhbnogenUhIEtlaW5lcgpyYXVzLCBrZWluZXIgcmVpbiEgRGFzIGlzdCBkaWUgTG9lc3VuZy4gV2llIHdhciBkZW5uIGRpZSAnRHVyY2hzZXVjaHVuZycgbWl0CnNvbGNoZW4gS3JhbmtoZWl0ZW4gaW4gZGVyIGVoZW1hbGlnZW4gRERSPyBTb2xsdGUgZGFubiBkb2NoIHN1cGVybmllZHJpZwpnZXdlc2VuIHNlaW4uIERhIGdhYnMgYmVzdGltbXQgbmNodCBtYWwgU2NobnVwZmVuIQoKTm9ubmUsIGtvcGZzY2h1ZXR0ZWxuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vIGJyYWluLCBubyBnYWluLiAoR2xvaW5zb24sIDI4LiBKdWwgMjAwMiwgMjA6MTc6NTgpOgp+IyEgcm49Tm9ubmUgcnQ9MTAyNzg3OTYzMSByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCk9rLCBqZXR6dCBrYW5uIGljaCBkaWUgS2Flc3RjaGVuOgpbIF0gRHUgaGFzdCBtZWluZSBTYXR6ZSBnZW5hdSBnZWxlc2VuLgpJY2ggc2NocmllYiB3YXMgdm9uICJ1ZWJlcnpvZ2VuIiB1bmQgIkdlc3VuZGhlaXRzY2hlY2sgc2lubnZvbGwiLiBFcyBnaWJ0IGVpbgpwYWFyIEtyYW5raGVpdGVuLCBiZWkgZGVuZW4gaWNoIG5pY2h0IGdlcm4gaGFiIHdlbm4gc2llIGplbWFuZCBpbiBtZWluZXIgTmFlaGUKc2llIG1pdCBzaWNoIHJ1bXNjaGxlcHB0LgpEYXp1IGdlaG9lcnRlIGJpcyB2b3Iga3VyemVtIG5vY2ggTXVtcHMuIERlcnplaXQgZ2Vob2VyZW4gbm9jaCBIZXBhdGl0aXMKKEltcGZ1bmcga29zdGV0IDE1MCBFdWxlbikgdW5kIFRCQyBkYXp1LiBVbmQgZGllIEhhdXB0aW5mZWt0aW9uc3F1ZWxsZSBmdWVyCmJlaWRlcyBzaW5kIGRlZmluaXRpdiBuaWNodCBkaWUgTWlsbGlvbmVuIHZvbiBkZXV0c2NoZW4gU2V4dG91cmlzdGVuLiBFcmdvIC0Kd2VubiBkaWUgU2NoaWxsLVBhcnRlaSBmdWVyIEVpbndhbmRlcmVyIGRlbiBHZXN1bmRoZWl0c2NoZWNrIGlyZ2VuZHdpZQpiZXphaGxlbiBrYW5uIHVuZCBtb2VjaHRlIGJpbiBpY2ggZHVyY2hhdXMgZGFmdWVyIHp1IGhhYmVuLiBKZXR6dCB6ZWlnIG1pcgpiaXR0ZSBub2NobWFsLCB3byBpY2ggbWljaCBwYXVzY2hhbCBmdWVyIFF1YXJhbnRhZW5lIGF1c2dlc3Byb2NoZW4gaGFiZSAoYmVpCm9mZmVuZXIgVEJDIHdpcnN0IGF1Y2ggRFUgUXVhcmFudGFlbmUgdmVybGFuZ2VuLCBkYSBzaW5kIGRpZSBDaGFuY2VuIG1laHIgYWxzCmRpZSB1ZWJsaWNoZW4gNSUpLgoKTGVvbmlkYXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vIGJyYWluLCBubyBnYWluLiAoR2xvaW5zb24sIDI4LiBKdWwgMjAwMiwgMjA6MjA6MDQpOgp+IyEgcm49Tm9ubmUgcnQ9MTAyNzg3OTYzMSByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyClBTOiBKYSwgZGllICJEdXJjaHNldWNodW5nIiBtaXQgYXJtdXRzYmVkaW5ndGVuIEtyYW5raGVpdGVuIG9kZXIgaW1wZmJhcmVuCktyYW5raGVpdGVuIHdhciBpbiBkZXIgVGF0IGluIGRlciBERFIgc2VociBnZXJpbmcuIEhhdHRlIGFiZXIgYXVjaCB3YXMgbWl0IGRlbgpQZmxpY2h0aW1wZnVuZ2VuIHp1IHR1bi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5vIGJyYWluLCBubyBnYWluLiAoTGluZmxhcywgMjkuIEp1bCAyMDAyLCAxNjoyMDo0Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDI3ODgwNDA0IHJnPXd3dwp+IyEgdGlkPTEwMjc4NzU0MTIKSmFoYWFhLi4uLmhtbW1iZi4gRGFubiBuZWhtZSBpY2ggZG9jaCBnbGVpY2ggbGllYmVyIHdpZWRlciBkZW4gVm9yc2NobGFnIGF1ZiwKc3BvbnRhbiBhbGxlIEdyZW56ZW4gZGljaHQgenUgbWFjaGVuLiBVbmQgd2lyIHN0ZWNrZW4gYXVjaCBtYWwgYWxsZSBBdXNsYWVuZGVyCnBhdXNjaGFsIGluIEludGVybmllcnVuZ3NsYWdlciwgd28gc2llIGRhbm4gZXJzdG1hbCBCcmVjaG1pdHRlbCB2ZXJhYnJlaWNodApiZWtvbW1lbiAoZGFzIG5lbm50IHNpY2ggZGFubiAibmF0dWVybGljaGUgQXVzbGVzZSIsIGluIEhhbWJ1cmcgc3RlcmJlbiBqYQpiZWthbm50bGljaCBNZW5zY2hlbiBkYXJhbiksIHdlaWwgZGllIHNpbmQgamEgcGVyIGRlZmF1bHQgc293aWVzbyBhbGxlCmtyaW1pbmVsbC4gVW5kIHdlbm4gc2llIGRhbm4gbmFjaCBkcmVpIE1vbmF0ZW4gUXVhcmFudGFlbmUgaW1tZXIgbm9jaCBuaWNodCBhbgppcmdlbmRlaW5lciBLcmFua2hlaXQgZGFoaW5nZXNpZWNodCBzaW5kIHVuZCBiZXdpZXNlbiBoYWJlbiwgZGFzcyBzaWUgc2ljaCB2b24KUmVnZW53YXNzZXIgdW5kIEtvbWlzc2Jyb3QgZXJuYWVocmVuIGtvZW5uZW4gKGVpbmUgZGV1dHNjaGUgU3BlemlhbGl0YXRldCwgaW4KendlaSBncm9zc2VuIEtyaWVnZW4gdm9uIGhpbmdlYnVuZ3N2b2xsZW4gZnJlaXdpbGxpZ2VuIGJpcyB6dW0gZXJicmVjaGVuCmdldGVzdGV0KSwgZGFubiBkdWVyZmVuIHNpZSB6dW0gZXJzdGVuIE1hbCB3aWVkZXIgYW5zIFNvbm5lbmxpY2h0LCBhYmVyIG51cgp1bnRlciBCZXdhY2h1bmcuIE1pdCBkZXV0c2NoZW4gU2NoYWVmZXJodW5kZW4gdW5kIEdld2VocmVuLCB2ZXJzdGVodCBzaWNoLgpTb2Zlcm4gZGFubiBub2NoIGRpZSBHZXJ1Y2hzYmVsYWVzdGlndW5nIGR1cmNoIEtub2JsYXVjaCB1bmQgQ28uIG5pY2h0IHp1IHdlaXQKZ2VodCB1bmQgZGllIGJpb21ldHJpc2NoZW4gTWVya21hbGUgenUgbWluZGVzdGVucyA4MCAlIGFyaXNjaCBzaW5kLCBiZWtvbW1lbgpzaWUgRnVzc2Zlc3NlbG4gdW5kIGR1ZXJmZW4gc2ljaCBpbm5lcmhhbGIgZWluZXMgVW1rcmVpc2VzIHZvbiBtYXguIDIga20gdW0KZGFzIEludGVybmllcnVuZ3NsYWdlciB6dSBTdHJhc3NlbmJhdWFyYmVpdGVuLCByZXNwZWt0aXZlIGluIGRlciBsb2thbAphbnNhZXNzaWdlbiBSdWVzdHVuZ3NpbmR1c3RyaWUgZnVlciAyIGNlbnQgYW0gVGFnIHZlcmRpbmdlbi4gVW5kIHdlaWwgc2llIGRhbm4KZ2FyYW50aWVydCBpbW1lciBub2NoIG5pY2h0IHdpc3Nlbiwgd2FzIGRpZSBkZXV0c2NoZSBMZWl0a3VsdHVyIHNvbnN0IG5vY2gKZnVlciBsZWNrZXJlIFNhY2hlbiB1ZWJyaWcgaGF0LCBiZWtvbW1lbiBzaWUgbm9jaG1hbCBkcmVpIE1vbmF0ZSBiZWkgV2Fzc2VyCnVuZCBCcm90LCB1bnRlcmJyb2NoZW4gdm9uIExlaHJzdHVuZGVuIGluIFNhY2hlbiAiRGV1dHNjaGxhbmQgdW5kIGRpZQpEZW1va3JhdGllOiBFaW5lIEVyZm9sZ3JlaWNoZSBHZXNjaGljaHRlIiB1bmQgIkRlciBsYW5nZSBMYXVmIHp1IG1pciBzZWxic3QiCihGaXNjaGVyKSB1bmQgWndhbmdzdmVybWVzc3VuZ2VuIGFsbGVyIEtub2NoZW4gdW5kIEFiZHJ1ZWNrZSB1bmQgSXJpc3NjYW4gdW5kCnVlYmVyaGF1cHQuClVuZCBkYW5uLCBqYSBkYW5uIHNjaG1laXNzdCBtYW4gc2llIHJhdXMsIHdlaWwgZGllIG5laG1lbiBqYSBudXIKQXJiZWl0c3BsYWV0emUgd2VnLCBicmluZ2VuIEtyYW5raGVpdGVuIGlucyBzYXViZXJlIExhbmQgdW5kIHNpbmQgc293aWVzbwpuaWNodCBzbyB0b2xsZSBNZW5zY2hlbiwgd2llIHdpciBhbGxlLiBUamFqYS4uLgoKbC4KCnBzLiBiaXR0ZSBrZWluZSBpbmhhbHRsaWNoZW4gZGViYXR0ZW4sIGhvZWNoc3RlbnMgb2IgZXMgaXJvbmllIG9kZXIgc2F0aXJlIGlzdAo7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5vIGJyYWluLCBubyBnYWluLiAoR2xvaW5zb24sIDI5LiBKdWwgMjAwMiwgMTg6MzU6MTApOgp+IyEgcm49TGluZmxhcyBydD0xMDI3OTUyNDQ3IHJnPXd3dwp+IyEgdGlkPTEwMjc4NzU0MTIKPiBKYWhhYWEuLi4uaG1tbWJmLiBEYW5uIG5laG1lIGljaCBkb2NoIGdsZWljaCBsaWViZXIgd2llZGVyIGRlbiBWb3JzY2hsYWcKPiBhdWYKCk5hamEsIG1hbiBrb2VubnRlIHN0YXR0ICJJcm9uaWUgPC0+IFNhdGlyZSIgYXVjaCB1ZWJlcmxlZ2VuIG9iIER1IGdlbmF1c28Kc3RhcnJzaW5uaWcgdW5kIGV4dHJlbSBiaXN0IHdpZSBNaXRnbGllZGVyIGRlciBTY2hpbGwtUGFydGVpLCBhdWYgRGVpbmUgV2Vpc2UKZWJlbi4gQWJlciB3ZWlsIGplbWFuZCBleHRyZW0gZGVua3Qga2FubiBlciBqYSB0cm90emRlbSBhdWYgYmVzdGVoZW5kZQpQcm9ibGVtZSBoaW53ZWlzZW4gLSBiZWkgRGlyIGlzdCBlcyBkZXIgYm9lc2UgRXh0cmVtaXNtdXMgZGVyIGFuZGVyZW4sIGJlaSBkZW0KQWJnZW9yZG5ldGVuIFhZWiBkaWUgQW5zdGVja3VuZ3NnZWZhaHIgdW50ZXJtYXVlcnQgZHVyY2ggV0hPLVN0YXRpc3Rpa2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTm8gYnJhaW4sIG5vIGdhaW4uIChHcmltbWJvcm4sIDI5LiBKdWwgMjAwMiwgMTg6NDY6MDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNzk2MDUxMCByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCk5hIGtvbW0sIHdlbm4gZXMgZGVuIExldXRlbiB1bSBSaXNpa29taW5pbWllcnVuZyBnaW5nZSB3dWVyZGVuIHNpZSBkYXMKQVV0b2ZhaHJlbiBvZGVyIGRhcyBSYXVjaGVuIHZlcmJpZXRlbi4gRXMgZ2lidCB6aWVtbGljaCB1bnphZWhsaWcgdmllbGUKdmVybWVpZGJhcmUgVXJzYWNoZW4gYW4gZGVuZW4gbWVociBMZXV0ZSBzdGVyYmVuIGFscyBhbiBlaW5nZXNjaGxlcHB0ZW4KU2V1Y2hlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTm8gYnJhaW4sIG5vIGdhaW4uIChHbG9pbnNvbiwgMjkuIEp1bCAyMDAyLCAxOToxMDozMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNzk2MTE2NiByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyClNvbGwgTGV1dGUgZ2ViZW4gZGVuZW4gQXV0b2ZhaHJlbiB1bmQgUmF1Y2hlbiBTcGFzcyBtYWNodC4gRGFzIGthbm4gaWNoIG1pcgpub2NoIHZhZ2Ugdm9yc3RlbGxlbiwgYWJlciBTcGFzcyBhbiBLcmFua2hlaXRlbj8gWndlaXRmYWt0b3IuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogTm8gYnJhaW4sIG5vIGdhaW4uIChHcmltbWJvcm4sIDI5LiBKdWwgMjAwMiwgMTk6MTM6MTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNzk2MjYzMSByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyClNwYXNzIGRhcmFuLCBrZWluZSBRdWFyYW50YWVuZSB1bmQgbWVuc2NoZW51bnd1ZXJkaWdlIEJlaGFuZGx1bmcgenUgZXJmYWhyZW4uCkhhbHRlIGljaCBuaWNodCBmdWVyIHNvIHVud2FocnNjaGVpbmxpY2gsIGphLgpBY2ggamEsIEx1bmdlbmtyZWJzIGR1cmNoIGFrdGl2LSBvZGVyIHBhc3NpdnJhdWNoZW4gaXN0IGlyZ2VuZHdpZSBhdWNoIGVpbmUKS3JhbmtoZWl0LCBvZGVyIG5pY2h0PyBXbyBhbHNvIGlzdCBkYW5uIGJlaW0gUmVzdWx0YXQgZGVzIFJhdWNoZW5zIGRlciB2b24gRGlyCnByb3BhZ2llcnRlIFNwYXNzZmFrdG9yPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTm8gYnJhaW4sIG5vIGdhaW4uIChHbG9pbnNvbiwgMjkuIEp1bCAyMDAyLCAxOToyMjo1Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNzk2Mjc5NiByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCkxpZXMgZXMgYXVzIG1laW5lbiBaZWlsZW4gLSBwYXVzY2hhbGUgUXVhcmFudGFlbmUgYmVncnVlc3NlIGljaCBkb3J0IG5pcmdlbmRzLgpBbGxlcmRpbmdzIGVpbmVuIEdlc3VuZGhlaXRzY2hlY2sgdm9uIEVpbndhbmRlcmVybi4gV2VubiBTdGFhdCBkYWZ1ZXIgbWVpbgpTdGV1ZXJnZWxkIGF1c2dpYnQsIGhhYiBpY2ggbmljaHRzIGRhZ2VnZW4uIFNwYXJlbiB3aXIgYW4gZGVuCkJlaGFuZGx1bmdza29zdGVuIHdpZWRlciBlaW4uCldhcyBhbiBlaW5lciBHZXN1bmRoZWl0c3VlYmVycHJ1ZWZ1bmcgbWVuc2NoZW51bnd1ZXJkaWcgaXN0LCB3ZWlzcyBpY2ggbm9jaApuaWNodCBzbyBnYW56LiBIYXQgc2ljaCBnbGF1YiBpY2gsIGF1Y2ggbm9jaCBrZWluIEVsdGVybnBhYXIgdWViZXIgc293YXMKYmVzY2h3ZXJ0LgpEYXMgdW5zZXIgR2VzdW5kaGVpdHNzeXN0ZW0gYmVpIGRlbiBGb2xnZW4gdm9uICJTcGFzcyItQWt0aXZpdGFldGVuIGtlaW5lCmJlc29uZGVycyBncm9zc2VuIFN0cmFmZW4gdmVyaGFlbmd0IHN0ZWh0IGF1ZiBlaW5lbSBhbmRlcmVuIEJsYXR0IFBhcGllci4gRGVyClZlcmdsZWljaCBoaW5rdCBpbW1lciBub2NoLiBBdG1lbiB1bmQgTWVuc2NoZW4gZGllIEhhbmQgcmVpY2hlbiBtYWNodCBJTUhPCm1laHIgYWxzIG51ciBTcGFzcywgaXN0IGFiZXIgYmVpIEFuc3RlY2t1bmcgdW5kIEtyYW5raGVpdGVuIHdpZSBIZXBhdGl0aXMgQQp1bmQgVEJDIHN0YXJrIGludm9sdmllcnQuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTm8gYnJhaW4sIG5vIGdhaW4uIChHcmltbWJvcm4sIDI5LiBKdWwgMjAwMiwgMjE6MDk6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAyNzk2MzM3MiByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCkhtbS4gRHUgYmVmdWVyd29ydGVzdCBkYXMgZnVlciBhbGxlIEJlc3VjaGVyIGF1cyBkaXZlcnNlbiwgbm9jaCBuYWVoZXIgenUKYmVzdGltbWVuZGVuIExhZW5kZXJuPyBPZGVyIG51ciBmdWVyIHdlbGNoZSwgZGllIGRhdWVyaGFmdCBoaWVyIGhlciB3b2xsZW4/Cldlbm4gbGV0enRlcmVzOiBJbndpZXdlaXQgaXN0IGRpZSBBbnN0ZWNrdW5nc2dlZmFociBiZWkgZWluZW0gendlaS0sCmRyZWl3b2VjaGlnZW4gQmVzdWNoIHNvIGdlcmluZyBkYXNzIER1IGVpbmVuIFZlcnppY2h0IGF1ZiBlaW5lIFVudGVyc3VjaHVuZwpyZWNodGZlcnRpZ3N0ICg1MCB6d2Vpd29lY2hpZ2UgQmVzdWNoZSBzaW5kIGF1Y2ggZWluIEF1ZmVudGhhbHRzamFocik/IFdlbm4KZXJzdGVyZXM6IERhcyB3aXJkIHdlZGVyIGRlbSBLb2VuaWcgdm9uIEJ1cmdhc2lzdGFuIGF1ZiBTdGFhdHNiZXN1Y2ggKHdvYmVpCmRhcyBkaWUgR2VzdW5kaGVpdCB1bnNlcmVzIGFlbHRsaWNoZW4gQnVuZGVzcHJhZXNpZGVudGVuIHNjaHVldHplbiB3dWVyZGUpLApub2NoIGRlbSBHZXNjaGFlZnRzbWFubiBhdXMgU3VyZ2VzaWVuLCBkZXIgaGllciBHZXNjaGFlZnRlIGFic2NobGllc3NlbiB3aWxsLApvZGVyIGRlbSBUb3VyaXN0ZW4gYXVzIE1lbHV0c2NoaWVuLCBkZXIgaGllciBHZWxkIGF1c2dlYmVuIHdpbGwKKEFyYmVpdHNwbGFldHplISkuCk5hamEsIGdlZ2VuIGVpbmUgVW50ZXJzdWNodW5nIGFtIChGbHVnKUhhZmVuIGlzdCBzaWNoZXIgbmljaHRzIHp1IHNhZ2VuLCBkaWUKaGFsYmUgU3R1bmRlIGxhZW5nZXIgYmVpIGRlciBFaW5yZWlzZSBrYW5uIGphIHNvIGRyYW1hdGlzY2ggbmljaHQgc2Vpbi4gRWluZQpRdWFyYW50YWVuZSBhdWYgVmVyZGFjaHQgaGFsdGUgaWNoIGFsbGVyZGluZ3MgZnVlciBtZW5zY2hlbnVud3VlcmRpZywgamEuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTm8gYnJhaW4sIG5vIGdhaW4uIChHbG9pbnNvbiwgMjkuIEp1bCAyMDAyLCAyMTo0ODoyMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAyNzk2OTc0NSByZz13d3cKfiMhIHRpZD0xMDI3ODc1NDEyCkljaCBiZWZ1ZXJ3b3J0ZSBkYXMgZnVlciBFaW53YW5kZXJlciwgZGllIGhpZXIgZGF1ZXJoYWZ0IHVudGVyIGFsbGVuIGFuZGVyZW4Kd29obmVuLiBVbmQgaWNoIGhhbHRlIGRhcyBSaXNpa28gZnVlciBBbnN0ZWNrdW5nIGR1cmNoIGVpbmVuIG5ldWVuIE1pdGJ1ZXJnZXIKYXVzIGVpbmVtIEdlZmFlaHJkdW5nc2dlYmlldCBmdWVyIGhvZWhlciBhbHMgZHVyY2ggZWluZW4gZGVyIHZpZWxlbgpEdXJjaHJlaXNlbmRlbi4gU28gcmVpbiBzdGF0aXN0aXNjaCBkdWVyZnRlIGF1Y2ggZGVyIFNhdHogZGVyCjUzLVdvY2hlbi0xLVdvY2hlLVVybGF1YmVyIHp1IGdlcmluZyBzZWluIHVtIGRpZXNlIHp1IGJlcnVlY2tzaWNodGlnZW4gc28gZGFzcwptYW4gZGllIGVpZ2VuZW4gQmV2b2Vsa2VydW5nIHNpbm52b2xsIHNjaHVldHp0LgpXaWVzbyBpY2ggZGEgc28gc2Vuc2liZWwgcmVhZ2llcmU/IE51biwgendlaSBtZWluZXIgS29tbWlsaXRvbmVuIGluIGRpZXNlbQpIYXVzIGF1cyBkZW0gQXVzbGFuZCB3YXJlbiBhbiBUQkMgZXJrcmFua3QuIERhcyBHZXN1bmRoZWl0c2FtdCBoYXQgdW5zCm5hdHVlcmxpY2ggZWluZW4gUm9lbnRnZW5idXMgdm9yIGRpZSBUdWVyIGdlc3RlbGx0LiBJY2ggc2NoYWV0emUgZGVyIEVpbnNhdHoKd2FyIHRldWVyIGFscyBkZXIgZnVlciBkZW4gKFN0dWRpZW4pZWlud2FuZGVyZXIga29zdGVubG9zZSBhYmVyIG9ibGlnYXRvcmlzY2hlCkNoZWNrdXAgZGVuIGljaCBtaXIgaGllciB2b3JzdGVsbGUuCgpHbG9pbihzb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTm8gYnJhaW4sIG5vIGdhaW4uIChDYWRyYWNoLCAzMC4gSnVsIDIwMDIsIDA5OjI5OjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjc5NzIxMDAgcmc9d3d3Cn4jISB0aWQ9MTAyNzg3NTQxMgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gbmljaHQgZ2FueiBzbyBlbmdzdGlybmluZyBzZWluIHVuZCBkdXJjaGF1cyBkZW4KWnVzYW1tZW5oYW5nIGFuIHNvbGNoZW4gRXJrcmFudW5nZW4gdW5kIGRlbiBmaW5hbnppZWxsZW4gVmVyaGFlbHRuaXNzZW4gc2VoZW4KLSBvYnMgZWluZW0gcGFzc3Qgb2RlciBuaWNodC4gRWluIGphcGFuaXNjaGVyIFVybGF1YmVyIHN0ZWxsdCB6dW5hZWNoc3QgZWlubWFsCmVpbmUgd2VpdGF1cyBnZXJpbmdlcmUgQW5zdGVja3VuZ3NnZWZhaHIgZGFyLCBhbHMgZWluIGFybWVyIEZsdWVjaHRsaW5nIGF1cwpTY2h3YXJ6YWZyaWthLiBJbnNvZmVybiBrYW5uIGljaCBtaXIgZHVyY2hhdXMgZGVuIFNpbm4gdm9yc3RlbGxlbiBFaW53YW5kZXJlcgplaW5lbSBHZXN1bmRoZWl0c2NoZWNrIHp1IHVudGVyemllaGVuIHVuZCBmdWVyIGRlbiBGYWxsIF9kYXNfIHNpZSBlcmtyYW5rdApzaW5kLCB6dW5hZWNoc3QgaW4gZWluZSBRdWFyYW50YWVuZXN0YXRpb24gaW5zIEtyYW5rZW5oYXVzIHp1IGxlZ2VuICh3ZW5ucwpzZWluIG11c3MgYXVjaCBiZXdhY2h0KS4KU2Nod2llcmlnZXIgZmluZGUgaWNoIGRhYmVpIHNjaG9uIEtyYW5raGVpdGVuIGRpZSBuaWNodCAiZGlyZWt0IiBhbnN0ZWNrZW5kCnNpbmQgd2llIEhJVi4gRW1vdGlvbmFsIHd1ZXJkZSBpY2ggc2FnZW4gZGFzIGljaCBlaW5lbiBUZXN0IGF1Y2ggaGllciBuaWNodCBzbwp2ZXJrZWhydCBmaW5kZW4gdW5kIGVpbmUgZWlucmVpc2Ugd2VubnMgbmljaHQgdW0gQXN5bCBnZWh0IHZlcmJpZXRlbiB3dWVyZGUuCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTm8gYnJhaW4sIG5vIGdhaW4uIChHcmltbWJvcm4sIDMwLiBKdWwgMjAwMiwgMDk6NTg6MTApOgp+IyEgcm49Q2FkcmFjaCBydD0xMDI4MDE0MTc4IHJnPXd3dwp+IyEgdGlkPTEwMjc4NzU0MTIKRGFzIGlzdCBtaXIgaW4gbWVpbmVyIEVuZ3N0aXJuaWdrZWl0IGpldHp0IG5pY2h0IHNvIGtsYXIuCkR1IHdpbGxzdCBhbHNvIGVpbmVuIEdlc3VuZGhlaXRzY2hlY2sgdm9uIGRlciBIYXV0ZmFyYmUgKEphcGFuZXIgLQpTY2h3YXJ6YWZyaWthbmVyKSBhYmhhZW5naWcgbWFjaGVuPyBPZGVyIHZvbiBkZXIgRWlua29tbWVuc3RldWVyZXJrbGFlcnVuZyAod28KdW5kIHdpZSB3aWxsc3QgRHUgZGllIEdyZW56ZSBzZXR6ZW4/IFdpZSBrb250cm9sbGllcmVuPyBJbmRpdmlkdWVsbCBuYWNoIExhbmQ/CkFiIHdlbGNoZW0gRWlua29tbWVuIGlzdCBtYW4gaW1tdW4gZ2VnZW4gYWxsZ2VtZWluIGFuc3RlY2tlbmRlIEtyYW5raGVpdGVuPyk/Ck9kZXIgZWluZmFjaCBlaW5lICJibGFja2xpc3QiIGdlbmVyZWxsIHp1IHVudGVyc3VjaGVuZGVyIExhZW5kZXI/CldlciBlbnRzcHJlY2hlbmRlIEtyYW5raGVpdGVuIGhhdCB3aXJkIGlzb2xpZXJ0LCBkYWZ1ZXIgZ2lidHMgZGFzCkJ1bmRlc3NldWNoZW5nZXNldHp0LiBVbmFiaGFlbmdpZyB2b24gSGVya3VuZnQsIEVpbmtvbW1lbiB1bmQgSGF1dGZhcmJlLgpVbmFiaGFlbmdpZyBkYXZvbiBvYiBlciB6dSBCZXN1Y2ggaXN0LCBoaWVyIHNlaW4gTGViZW4gbGFuZyBnZXdvaG50IGhhdCBvZGVyCmhpZXIgZGVuIFJlc3Qgc2VpbmVzIExlYmVucyB3b2huZW4gd2lsbC4gSGllciBnaWx0IGRhbm4gZWluZXIgdW5zZXJlcgp3aWNodGlnc3RlbiBSZWNodHNncnVuZHNhZXR6ZSwgYW4gZGVtIER1IGhpZXIgdW5ub2V0aWdlcndlaXNlICgiLi4udm9yc3RlbGxlbiwKRWlud2FuZGVyZXIgZWluZW0uLi4iKSB2ZXJzdWNoc3Qgdm9yYmVpIHp1IGFyZ3VtZW50aWVyZW46IEdsZWljaGVzIFJlY2h0IGZ1ZXIKYWxsZS4gCk1pciBpc3QgbmljaHQga2xhciB3YXMgRHUgbWl0ICJuaWNodCBkaXJla3QgYW5zdGVja2VuZCIgbWVpbnN0LCBtZWluZXIgTWVpbnVuZwpuYWNoIGlzdCBISVYgZHVyY2hhdXMgZGlyZWt0IGFuc3RlY2tlbmQuIERhc3MgRHUgSElWLUluZml6aWVydGUgbmljaHQKZWlucmVpc2VuIGxhc3NlbiB3aWxsc3QgaXN0IGxvZWJsaWNoLiBXaWUgd2FlcnMsIHdhcnVtIG5pY2h0IGdsZWljaCBhbGxlCkluZml6aWVydGVuIChOaWNodGRldXRzY2hlbi4gS2VpbmUgRGlza3JpbWluaWVydW5nLCBhYmVyIERldXRzY2hlIGthbm4gbWFuIGphCm5pY2h0IGF1c3dlaXNlbikgYXVzd2Vpc2VuPyBEYXMgd2FlcmUgZG9jaCBrb25zZXF1ZW50PwoKSWNoIHVudGVyc3RlbGxlIERpciBqYSBnYXIgbmljaHQgbWFsIG1laHIgYWxzIG51ciBkaWUgdWVibGljaGUgbGF0ZW50ZQpGcmVtZGVuZmVpbmRsaWNoa2VpdCwgYWJlciB3ZW5uIER1IGRhcyBzY2hvbiBhdXNsZWJlbiBtdXNzdCBkYW5uIGRlbmsgZGFzIGRvY2gKYml0dGUgdm9yaGVyIGtvbnNlcXVlbnQgZHVyY2gsIGphPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTm8gYnJhaW4sIG5vIGdhaW4uIChMaW5mbGFzLCAzMC4gSnVsIDIwMDIsIDE1OjQ2OjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI4MDE1ODkwIHJnPXd3dwp+IyEgdGlkPTEwMjc4NzU0MTIKOm5pY2t0IHp1c3RpbW1lbmQuCgpJbSBVZWJyaWdlbiBmaW5kZSBpY2ggZXMgd2l0emlnLCBhdWZncnVuZCBlaW5lcyBkb2NoIGVoZXIgc2F0aXJpc2NoZW4gQXJ0aWtlbHMKYXVmIGVpbmUgZXh0cmVtZSBQb3NpdGlvbiBzY2hsaWVzc2VuIHp1IGtvZW5uZW4sIG9kZXIgbmljaHQuIEFiZXIgZGEgaWNoIGtlaW5lCkx1c3QgaGFiZSwgbWljaCB6dSByZWNodGZlcnRpZ2VuLCB3ZWlzZSBpY2ggbnVyIGRhcmF1ZiBoaW4sIGRhc3MgQXVzbGFlbmRlciBpbgpkZXIgQlJEIG5pY2h0IGdyYWRlIGVpbmVuIFN0YXR1cyBpbm5lIGhhYmVuLCBkZXIgaWhuZW4gZWluIGdsZWljaGJlcmVjaHRpZ3Rlcwp1bmQgc2VsYnN0YmVzdGltbXRlcyBMZWJlbiBnYXJhbnRpZXJ0OyBldHdhcywgd29mdWVyIHZpZWxlIGRldXRzY2hlIGplZG9jaCBhdWYKZGllIFN0cmFzc2UgZ2VoZW4gd3VlcmRlbiwgc29sbHRlIGVzIGJlc2Nobml0dGVuIHdlcmRlbi4gUmVjaHRzZ3J1bmRzYWV0emUKZ2VsdGVuIGdlZ2VudWViZXIgQXVzbGFlbmRlcm4gbmljaHQgc28sIHdpZSBnZWdlbnVlYmVyIFN0YWF0c2J1ZXJnZXJuCihiZXNvbmRlcnMgbmFjaCBkZW0gIkdlc2V0eiB6dXIgQmVrYWVtcGZ1bmcgZGVzIFRlcnJvcm1pc211czoKaHR0cDovL2RhdGVuc2NodXR6LmluLWJlcmxpbi5kZS9vdHRvLmh0bWwpLCBlaW5lIFVuc2NodWxkc3Zlcm11dHVuZyB3aXJkCmdla2lwcHQsIEF1c2xhZW5kZXIgd2VyZGVuIHZlcm1lc3NlbiB1bmQgZGllIERhdGVuIHplbnRyYWwgZ2VzcGVpY2hlcnQKKEVyaW5uZXJ1bmdlbiBhbiBLb3BmbWVzc3VuZ2VuIGxpZWdlbiBuaWNodCBmZXJuKSB1bmQgamV0enQga29tbXQgc28gZWluCkhlbXBlbCBoZXIgdW5kIGZvcmRlcnQsIG5laW4sIG5pY2h0IG51ciBRdWFyYXRhZW5lIGZ1ZXIgcG90ZW50aWVsbCBrcmFua2UKQXVzbGFlbmRlciwgc29uZGVybiBnbGVpY2ggSU5URVJOSUVSVU5HU0xBR0VSLiBUamEsIGplZGVtIEJlcmxpbi1CZXN1Y2gKZW1wZmVobGUgaWNoIGVpbmZhY2ggbWFsIGVpbmVuIEF1c2ZsdWcgaW4gZGFzIEp1ZWRpc2NoZSBNdXNldW0uIFdlbm4KdGF0c2FlY2hsaWNoIGRhcyBFaW5zcGVycmVuIHZvbiBNZW5zY2hlbiBlaW5lIExvZXN1bmcgc2VpbiBzb2xsLCBkYW5uIHNlaGUgaWNoCmluIGVpbmUgemllbWxpY2ggZHVlc3RlcmUgWnVrdW5mdC4gCgpCaXMgZGFoaW4ga29lbm5lbiB3aXIgdW5zIGphIEdlZGFua2VuIHVlYmVyIFVyc2FjaGUgdW5kIFdpcmt1bmcgbWFjaGVuLi4uCgpsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBhbGxlIGF1cyBpbiB1bmQgdW0gVGh1ZXJpbmdlbiAoUm9sYW5kLCAzMS4gSnVsIDIwMDIsIDIzOjQyOjI4KToKCmh0dHA6Ly93d3cueW9tb2NvLmRlCgphbmQgdGhlIHBhcnR5IG5ldmVyIHN0b3AKCjopIFBhcnR5d2lzZWwgUm9sYW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWVzZW4gTGluayBOSUNIVCBhbmtsaWNrZW4hIChCYW1idWxrbywgIDIuIEF1ZyAyMDAyLCAxNTozNDo0Myk6CkJpdHRlIGF1ZiBrZWluZW4gRmFsbCBkaWVzZW0gTGluayBoaWVyIGZvbGdlbjoKCmh0dHA6Ly93d3cucnl0ZXIuY2gvcGFyYW5vaWEuaHRtCgpCYW1idWxrbyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWVzZW4gTGluayBOSUNIVCBhbmtsaWNrZW4hIChNb3Jnb3RoLCAgMi4gQXVnIDIwMDIsIDIyOjAxOjIzKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwMjgyOTUyODMgcmc9d3d3Cn4jISB0aWQ9MTAyODI5NTI4MwpPSwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllc2VuIExpbmsgTklDSFQgYW5rbGlja2VuISAoWm9vaywgIDIuIEF1ZyAyMDAyLCAyMjowMjo1OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMjgzMTg0ODMgcmc9d3d3Cn4jISB0aWQ9MTAyODI5NTI4MwpKYSwgd2FyIGVzIGZ1ZXIgRGljaCBhdWNoIGVpbiBsZWljaHRlcywgaWhuIG5pY2h0IGFuenVrbGlja2VuPyA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZXNlbiBMaW5rIE5JQ0hUIGFua2xpY2tlbiEgKE5pYmVsLCAgMi4gQXVnIDIwMDIsIDIyOjAzOjQ1KToKfiMhIHJuPVpvb2sgcnQ9MTAyODMxODU3OSByZz13d3cKfiMhIHRpZD0xMDI4Mjk1MjgzCkFuZ2VrbGlja3QgaGFiIGljaCBpaG4sIG51ciBnaW5nIGlyZ2VuZHdpZSBuaXguLi4KOikKICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZXNlbiBMaW5rIE5JQ0hUIGFua2xpY2tlbiEgKEJvaW5nLCAgMi4gQXVnIDIwMDIsIDIyOjA5OjIwKToKfiMhIHJuPU5pYmVsIHJ0PTEwMjgzMTg2MjUgcmc9d3d3Cn4jISB0aWQ9MTAyODI5NTI4MwpEYXMgd2FyIGphIGRlciBJbnRlbGxpZ2VuenRlc3QgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9ubGluZS1BbmxlaXR1bmcgenVtIEdyYUthLVRhdXNjaCAoQW50aGVhLCAgNy4gQXVnIDIwMDIsIDE0OjIyOjMwKToKaHR0cDovL2F1dHNjaC5ydGwuZGUvYml0c3RlbGxlci9iaXRfc3VwZXJkYXUvZ2tfYXVzdGF1c2NoLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZSBMaW51eC1EaXN0cmlidXRpb24gaXN0IGRpZSBiZXN0ZT8gKFJvbmRhLCAxNS4gQXVnIDIwMDIsIDAwOjA5OjE4KToKQWxzbywgbmFjaCBkZW0gZG9jaCByZWNodCBwb2xpdGlzY2hlbiBCZXJpY2h0IGluIGRlciBDVCwgZGllIG1laW5lCkxpZWJsaW5ncy1EaXN0cmlidXRpb24gbmljaHQgYXVmZ2VmdWVocnQgaGF0ICh3byBiZXNjaHdlcnQgbWFuIHNpY2ggZWlnZW50bGljaApiZWkgSGVpc2UgZGFnZWdlbj8pLCBmaW5kZXQgSWhyIGhpZXI6CgpodHRwOi8vd3d3Lm1zbGludXgub3JnLwoKVmVyZ2Vzc3QgU3VzZS4gVmVyZ2Vzc3QgRGViaWFuLiBWZXJnZXNzdCBNYW5kcmFrZS4gRGllIHZpZXJ0ZSBoYWIgaWNoIHNjaG9uCnZlcmdlc3Nlbi4uLgoKUm9uZGEgKnNjaHVzc2VsaWcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VsY2hlIExpbnV4LURpc3RyaWJ1dGlvbiBpc3QgZGllIGJlc3RlPyAoR3JpbW1ib3JuLCAxNS4gQXVnIDIwMDIsIDAwOjEyOjAxKToKfiMhIHJuPVJvbmRhIHJ0PTEwMjkzNjI5NTggcmc9d3d3Cn4jISB0aWQ9MTAyOTM2Mjk1OApQb2xpdGlzY2hlciBCZXJpY2h0IHVlYmVyIExpbnV4ZGlzdHJpYnV0aW9uZW4/IFdhcyBoYWIgaWNoIGRhIHNjaG9uIHdpZWRlcgp2ZXJwYXNzdD8gTXVzcyB3b2hsIGRvY2ggd2llZGVyIGFuZmFuZ2VuIGF1Y2ggRWluc3RlaWdlcnplaXRzY2hyaWZ0ZW4genUKYmVhY2h0ZW4uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWxjaGUgTGludXgtRGlzdHJpYnV0aW9uIGlzdCBkaWUgYmVzdGU/IChUcm95LCAxNS4gQXVnIDIwMDIsIDA5OjI2OjE0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDI5MzYzMTIxIHJnPXd3dwp+IyEgdGlkPTEwMjkzNjI5NTgKTGVpZGVyIHNjaG9uIGV0d2FzIGFlbHRlci4uLgoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTm8gYnJhaW4sIG5vIGdhaW4uIChBcHN1LCAxNy4gQXVnIDIwMDIsIDIyOjM2OjMxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMjc4ODAyNzggcmc9d3d3Cn4jISB0aWQ9MTAyNzg3NTQxMgpCZXNvbmRlcnMgZXJ3YWVobmVuc3dlcnQgc2luZCBkaWUgbXVsdGlyZXNpc3RlbnRlbiBCZXVsZW5wZXN0c3RhZW1tZSBhdXMgZGVuClVTQS4gQWxzbyBBbWlzIHJhdXMgYXVzIEV1cm9wYS4gZW5kbGljaC4KCkFwc3UuIFZvbGwgYmVnZWlzdGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkV2aWwgT3ZlcmxvcmQsIEluYy4gKFdoaXRldGlnZXIsIDE4LiBBdWcgMjAwMiwgMTI6MTg6NTEpOgpodHRwOi8vd3d3LmV2aWxvdmVybG9yZC5jb20vbGlzdHMvb3ZlcmxvcmQuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdXNlciBmcmllbmRseSAoV2hpdGV0aWdlciwgMjUuIEF1ZyAyMDAyLCAxMTowMzo1OCk6Cnd3dy51c2VyZnJpZW5kbHkub3JnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdXNlciBmcmllbmRseSAoRWxpemFiZXRoLCAyNS4gQXVnIDIwMDIsIDExOjA0OjEwKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTAzMDI2NjIzOCByZz13d3cKfiMhIHRpZD0xMDMwMjY2MjM4CjopIGlzdCBzY2hvbiBiZWthbm50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVnc2J1cmdlciBQdXBwZW5raXN0ZSBpbSBCdW5kZXN0YWcgKExpbmZsYXMsIDI5LiBBdWcgMjAwMiwgMjA6MzM6MTQpOgpFaW4gTGljaHRibGljayBpbiBkZXIgc29uc3QgZHJvZWdlbiBTY2hyZWliZXJlaSB2b24gU3BpZWdlbC1PbmxpbmU6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9kZXV0c2NobGFuZC8wLDE1MTgsZHJ1Y2stMjExNTA3LDAwLmh0bWwKCkwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcmVpc3NpZWdlciBmdWVyIGRhcyBuZXJ2aWdzdGUgVXNlci1JbnRlcmZhY2UgKExpbmZsYXMsIDMxLiBBdWcgMjAwMiwgMjE6MjI6MTQpOgpodHRwOi8veW91cnRyaXAub2N0YS5uZXQvYnVzcmFpbC90cmlwcGxhbi95b3VydHJpcF90cmlwcGxhbi5hc3AKCktyZW1wZWwgZWludGlwcGVuIHVuZCBzaWNoIGdlbmVydnQgZnVlaGxlbi4KCkwuLCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkh1ZWJzY2hlIDNELUJpbGRjaGVuIChMaW5mbGFzLCAzMS4gQXVnIDIwMDIsIDIxOjMxOjM5KToKRGllIFVTLUFybXkgbWFjaHQgdG9sbGUgM0QtQmlsZGVycyB2b20gR3JvdW5kIFplcm86CgpodHRwOi8vd3d3Lm5vYWFuZXdzLm5vYWEuZ292L3N0b3JpZXMvczc5OGIuaHRtCgpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEh1ZWJzY2hlIDNELUJpbGRjaGVuIChHcmltbWJvcm4sIDMxLiBBdWcgMjAwMiwgMjE6MzU6MjApOgp+IyEgcm49TGluZmxhcyBydD0xMDMwODIyMjk5IHJnPXd3dwp+IyEgdGlkPTEwMzA4MjIyOTkKSmEsIHZvciBhbGxlbSBkYXMgRm90byBpc3Qgc2NoaWNrLiBBYmVyIG5ldSBzaW5kIGRpZSBCaWxkZXIgbnVuIGF1Y2ggbmljaHQsCmRpZSB3YXJlbiB2b3Iga25hcHAgbmVtIEphaHIgc2Nob24gaW0gTmV0ei4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIdWVic2NoZSAzRC1CaWxkY2hlbiAoTGluZmxhcywgMzEuIEF1ZyAyMDAyLCAyMjoxMDo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMDgyMjUyMCByZz13d3cKfiMhIHRpZD0xMDMwODIyMjk5Ck5hIHdlbm4gZGFzIHNvIGlzdCwgZm9yZGVyZSBpY2ggaGllcm1pdCBlaW5lIFJ1YnJpayB3d3cuYWx0ZS5rYW1lbGxlbiBpbiBkaWUKaWNoIHJlaW5wb3N0ZW4ga2Fubi4KCkwuICgtPiBNdWVsbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEh1ZWJzY2hlIDNELUJpbGRjaGVuIChHcmltbWJvcm4sIDMxLiBBdWcgMjAwMiwgMjI6NDE6MTApOgp+IyEgcm49TGluZmxhcyBydD0xMDMwODI0NjQ0IHJnPXd3dwp+IyEgdGlkPTEwMzA4MjIyOTkKR2VodCBuaWNodCwgZG9ydCB3dWVyZGVuIGphIGRhbm4gbG9ja2VyIGd1dCA4NSUgZGVyIEFydGlrZWwgYXVzIGRlciBtcGEKbGFuZGVuLiBVbmQgenUgZ3Jvc3NlIFJ1YnJpa2VuIHZlcnVyc2FjaGVuIG5pY2h0IHVuZXJoZWJsaWNoZXMgbGFnICh3aXIgaGF0dGVuCm1hbCB6dS4uLiBUZXN0endlY2tlbiBtZWdhc2NobWFycm4gbWl0IHVtIGRpZSAxMDAwIEFydGlrZWxuLCBpaXJjKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSHVlYnNjaGUgM0QtQmlsZGNoZW4gKEFudGhlYSwgIDMuIFNlcCAyMDAyLCAwOTo1NDo0Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMDgyNjQ3MCByZz13d3cKfiMhIHRpZD0xMDMwODIyMjk5CkVzIGdpYnQgd2lya2xpY2ggZ3JhdXNhbWUgVWViZXJzZXR6dW5nZW4uIFdlciBtYWwgd2lzc2VuIHdpbGwsIHdhcyBtYW4gYmVpCiJIYXBweSBCdXJnZXIiIGluIEthbGlmb3JuaWVuIHNvIGlzc3QgKG9kZXIgYXVjaCBuaWNodCk6Cmh0dHA6Ly93d3cudmlzaXRtYXJpcG9zYS5uZXQvaGFwcHlidXJnZXIvZ2VybWFuLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEh1ZWJzY2hlIDNELUJpbGRjaGVuIChCb2luZywgIDMuIFNlcCAyMDAyLCAwOTo1NzozNSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAzMTAzOTY4NyByZz13d3cKfiMhIHRpZD0xMDMwODIyMjk5CkljaCBuZWhtIGRhbm4gZWluIDMvNCBQZnVuZCBnbHVlY2tsaWNoZW4gQnVyZ2VyIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBIdWVic2NoZSAzRC1CaWxkY2hlbiAoQW50aGVhLCAgMy4gU2VwIDIwMDIsIDA5OjU4OjQzKToKfiMhIHJuPUJvaW5nIHJ0PTEwMzEwMzk4NTUgcmc9d3d3Cn4jISB0aWQ9MTAzMDgyMjI5OQpNaXQgIlNlaXRlIGRlciBCcmF0a2FydG9mZmVsbiBvZGVyIGRlcyBUcmkgVGF0b3JzIiB1bmQKIlB1dHpmcmF1LUdlZmx1ZWdlbHNhbGF0IFRlcml5YWtpIj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEh1ZWJzY2hlIDNELUJpbGRjaGVuIChHcmltbWJvcm4sICAzLiBTZXAgMjAwMiwgMTA6MTk6MzcpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzEwMzk5MjMgcmc9d3d3Cn4jISB0aWQ9MTAzMDgyMjI5OQpBbHMgR2V0cmFlbmsgZ2lidHMgZGEgdWVicmlnZW5zIERpYWV0S29rcy4gVW5kIGRhcyBhYmdlZnVlbGx0ZSBXYXNzZXIgaG9lcnQKc2ljaCBhdWNoIG5pY2h0IG5hY2ggIldhc3NlciBwdXIiIGFuLgpJc3QgZGFzIGVpZ2VudGxpY2ggbGVnYWw/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEh1ZWJzY2hlIDNELUJpbGRjaGVuIChUcm95LCAgMy4gU2VwIDIwMDIsIDEwOjI3OjI1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMxMDQxMTc3IHJnPXd3dwp+IyEgdGlkPTEwMzA4MjIyOTkKUGVyc29lbmxpY2ggZ2VmYWVsbHQgbWlyIGRlciAiSGVpc3NlIFVuc2lubiIgYW0gYmVzdGVuIDotKQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSHVlYnNjaGUgM0QtQmlsZGNoZW4gKEJhbWJ1bGtvLCAgMy4gU2VwIDIwMDIsIDEyOjI2OjA0KToKfiMhIHJuPUJvaW5nIHJ0PTEwMzEwMzk4NTUgcmc9d3d3Cn4jISB0aWQ9MTAzMDgyMjI5OQpOZWUsIHdlbm4gZGFubiBkZW46IEJVUkdFUlMgZGllbnRlIG1pdCB0YXVzZW5kIEluc2VsLCBLb3Bmc2FsYXQKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3YWhsb21hdCAoQmFtYnVsa28sICAzLiBTZXAgMjAwMiwgMTM6MDI6NTApOgpXZWxjaGUgUGFydGVpIGlzdCBldWNoIGFtIG5hZWNoc3Rlbj8gTWFuY2htYWwgdWViZXJyYXNjaGVuZCA6LSkKCnd3dy53YWhsb21hdC5kZQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3YWhsb21hdCAoTm9ubmUsICAzLiBTZXAgMjAwMiwgMTM6Mjk6MjUpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTAzMTA1MDk3MCByZz13d3cKfiMhIHRpZD0xMDMxMDUwOTcwCkRpZSBTdGF0aXN0aWsgaXN0IHJlY2h0IGludGVyZXNzYW50OgoKRkRQIDI3ICUKU1BEIDI3JQpHcnVlbmUgMjIlCkNEVS9DU1UgMTMlClBEUyAxMSUKCk1pdCBBdXNuYWhtZSBkZXIgRkRQIGdlZmllbGUgbWlyIGRhcyAqZyoKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3YWhsb21hdCAoR3JpbW1ib3JuLCAgMy4gU2VwIDIwMDIsIDEzOjMyOjU5KToKfiMhIHJuPU5vbm5lIHJ0PTEwMzEwNTI1NjUgcmc9d3d3Cn4jISB0aWQ9MTAzMTA1MDk3MApNaWNoIHd1bmRlcnQgZGFzcyBkaWUgSGFsdHVuZyBkZXIgRi5ELlAuIHp1bSBUaGVtYSBMZWdhbGlzaWVydW5nIHdlaWNoZXIKRHJvZ2VuIG5lZ2F0aXYgaXN0LiBJbW1lcmhpbiBpc3QgZGFzIGRpZSBQYXJ0ZWkgbWl0IGRlbSAtIGxhdXQgZWluZXIgVW1mcmFnZSAtCmhvZWNoc3RlbiBQcm96ZW50c2F0eiBhbiBQYXJ0ZWltaXRnbGllZGVybiBtaXQgRHJvZ2VuZXJmYWhydW5nLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3YWhsb21hdCAoT3JrdG9ldGVyLCAgMy4gU2VwIDIwMDIsIDEzOjMzOjQ0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMxMDUyNzc5IHJnPXd3dwp+IyEgdGlkPTEwMzEwNTA5NzAKVmllbGxlaWNodCBqYSBnZXJhZGUgZGVzd2VnZW4/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd2FobG9tYXQgKFphcm5peWEsICAzLiBTZXAgMjAwMiwgMTM6MzQ6MzQpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMzEwNTI4MjQgcmc9d3d3Cn4jISB0aWQ9MTAzMTA1MDk3MApGRFAtRHJvZ2VuID09IEFsa29ob2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHdhaGxvbWF0IChHcmltbWJvcm4sICAzLiBTZXAgMjAwMiwgMTM6NDU6MjEpOgp+IyEgcm49WmFybml5YSBydD0xMDMxMDUyODc0IHJnPXd3dwp+IyEgdGlkPTEwMzEwNTA5NzAKTmVpbiwgZXMgZ2luZyBpbiBkZXIgVW50ZXJzdWNodW5nIGRlZmluaXRpdiB1bSBFcmZhaHJ1bmdlbiBtaXQgQ2FubmFiaXMuIERpZQpLaWZmZXJwYXJ0ZWkgc2luZCBnYXIgbmljaHQgZGllIEdydWVuZW4sIGVzIGlzdCBkaWUgRi5ELlAuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZWxpbmVuIC4uLiAoR2xvaW5zb24sICAzLiBTZXAgMjAwMiwgMTg6Mzk6NDMpOgpodHRwOi8vcG9ldHJ5LnJvdHRlbi5jb20vc2hhdmVkcHVzc3kvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2FobG9tYXQgKFZhbmlvbiwgIDMuIFNlcCAyMDAyLCAxODozOTo0NSk6Cn4jISBybj1CYW1idWxrbyBydD0xMDMxMDUwOTcwIHJnPXd3dwp+IyEgdGlkPTEwMzEwNTA5NzAKSW50ZXJlc3NhbnQsIGRhc3MgZGllIEZEUCBhdWYgMjglIGtvbW1lbiB3dWVyZGUgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhaGxvbWF0IChNYW5kcmFnb24sICAzLiBTZXAgMjAwMiwgMjA6NDY6MzMpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzEwNzExODUgcmc9d3d3Cn4jISB0aWQ9MTAzMTA1MDk3MApUaGVtZW5tYWVzc2lnLiBFcyBnZWh0IE5JQ0hUIGRhcnVtLCB3YXMgZGllIGxldXRlIHRhdHNhZWNobGljaCB3YWVobGVuLiBIaWVyCmltIE11ZCBnaWJ0IGVzIG5lIE1lbmdlIExldXRlLCBkZW5lbiBiZWkgZGVuIGdlbmFubnRlbiBGcmFnZW4gRkRQIGFtIG5hZWNoc3RlbgpzdGVodCwgZGllIHNpZSBhYmVyIGF1cyBkaXYuIEdydWVuZGVuIG5pY2h0IHdhZWhsZW4uCgpXYXMgaGFsdGV0IGlociBlaWdlbnRsaWNoIHZvbiBTdG9pYmVycyBSZWZvcm12b3JzY2hsYWVnZW4gKHd3dy5zcGllZ2VsLmRlLApnYW56IG9iZW4pLiBIb2VjaHN0ZSBaZWl0LCBtZWluZSBpY2ggLi4uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IHdhaGxvbWF0IChSb2xhbmQsICAzLiBTZXAgMjAwMiwgMjA6NTY6NTcpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzEwNzExODUgcmc9d3d3Cn4jISB0aWQ9MTAzMTA1MDk3MAphanUgbmltbXMgZWluZmFjaCBkZW4gZ3J1ZW5uZW4gd2VnIC4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHYW1pbmcgUHJvaGliaXRpb24gKEFudGhlYSwgIDQuIFNlcCAyMDAyLCAxMjozNTo1OCk6CkRpZSBzcGlubmVuLCBkaWUuLi4gR3JpZWNoZW4/Pz8gSmF3b2hsLgpJbiBHcmllY2hlbmxhbmQgc2luZCBzZWl0IEp1bGkgYWxsZSBuaWNodCByZWluIG1lY2hhbmlzY2hlbiBTcGllbGUgdmVyYm90ZW4uCkFsc28gamVkZXIsIGRlciBlaW4gSGFuZHkgbWl0IGludGVncmllcnRlbSBTcGllbCBoYXQsIGthbm4gaW4gR3JpZWNoZW5sYW5kCmplZGVyemVpdCBpbiBkZW4gS25hc3Qgd2FuZGVybi4KaHR0cDovL25ld3MuemRuZXQuY28udWsvc3RvcnkvMCwsdDI2OS1zMjEyMTY5MiwwMC5odG1sCgpEZXIgR2VzZXR6ZXN0ZXh0OiBodHRwOi8vd3d3LmdhbWVsYW5kLmdyL2xhd2VuZ2xpc2guaHRtCgpEYXMgaGVpc3N0IGFsc28gd29obCBhdWNoLCBkYXNzIEdyaWVjaGVuIG5pY2h0IG1laHIgbXVkZGVuIGR1ZXJmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2FtaW5nIFByb2hpYml0aW9uIChaYXJuaXlhLCAgNC4gU2VwIDIwMDIsIDEyOjU2OjM1KToKfiMhIHJuPUFudGhlYSBydD0xMDMxMTM1NzU4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKc2luZCBkYW5uIGFsbGUgV2luZG93cyBSZWNobmVyIHZlcmJvdGVuLCB3ZWlsIGRhIGphIGZhc3QgaW1tZXIgZWluIFNvbGl0YWVyCm1pdCBpbnN0YWxsaWVydCBpc3Q/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHYW1pbmcgUHJvaGliaXRpb24gKEh1bW5pLCAgNC4gU2VwIDIwMDIsIDEzOjA3OjQzKToKfiMhIHJuPVphcm5peWEgcnQ9MTAzMTEzNjk5NSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkphLCBkYXMgZ2lsdCB3b2hsIHRhdHNhZWNobGljaC4KClRqYSwgaWNoIG1hY2ggZGEgZGFubiBsaWViZXIga2VpbmVuIFVybGF1YiBtZWhyLi4uIG1laW4gSGFuZHkga2FubiBTb2xpdGFpci4uLgoKSHVtbmksIHdvbGx0ZSBkYSB1cnNwcnVlbmdsaWNoIG5vY2htYWwgaGluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHYW1pbmcgUHJvaGliaXRpb24gKE9ya3RvZXRlciwgIDQuIFNlcCAyMDAyLCAxMzoyMTowNSk6Cn4jISBybj1IdW1uaSBydD0xMDMxMTM3NjYzIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKRXMgc2luZCBuaWNodCBhbGxlIHNvbGNoZW4gU3BpZWxlIHZlcmJvdGVuLiBFcyBpc3QgdmVyYm90ZW4sIHNpZSBvZWZmZW50bGljaAphbnp1YmlldGVuLiBQcml2YXQgZGFyZnN0IGR1IHNvIGV0d2FzIGF1ZiBkZWluZW0gSGFuZHkgc3BpZWxlbiwgc28gbGFuZ2UgZHUKbmllbWFuZCBhbmRlcmVuIHNwaWVsZW4gbGFlc3N0ICh3aWUgZXMgbWl0IHp1c2NoYXVlbiBhdXNzaWVodCB3ZWlzIGljaCBuaWNodCkKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHYW1pbmcgUHJvaGliaXRpb24gKEFudGhlYSwgIDQuIFNlcCAyMDAyLCAxMzoyMjozNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAzMTEzODQ2NSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck5laW4uIE1laW5lIEtvbGxlZ2luIChrb21tdCBhdXMgR3JpZWNoZW5sYW5kKSBoYXQgc2ljaCBkYXMgYWxsZXMgbm9jaCBtYWwKZHVyY2hnZWxlc2VuLiBFcyBpc3QgYXVjaCBkZXIgQmVzaXR6IHVuZCBkYXMgU3BpZWxlbiBzb2xjaGVyIFNwaWVsZSBpbQpvZWZmZW50bGljaGVuIHVuZCBhdWNoIGltIHByaXZhdGVuIEJlcmVpY2ggdmVyYm90ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHYW1pbmcgUHJvaGliaXRpb24gKE1hYXJnLCAgNC4gU2VwIDIwMDIsIDEzOjI4OjM3KToKfiMhIHJuPUFudGhlYSBydD0xMDMxMTM4NTU1IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKV2llIHNpZWh0IGVzIG1pdCBub3JtYWxlbiBQblAtUlBHcyBhdXM/IFNpbmQgZGllICJyZWluIG1lY2hhbmlzY2giPwoKR3J1c3MsCgogICBNYWFyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR2FtaW5nIFByb2hpYml0aW9uIChHcmltbWJvcm4sICA0LiBTZXAgMjAwMiwgMTM6MzQ6NTgpOgp+IyEgcm49TWFhcmcgcnQ9MTAzMTEzODkxNyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck51ciB3ZW5uIER1IGVjaHRlIFd1ZXJmZWwgdW5kIGtlaW5lbiBadWZhbGxzemFobGVuZ2VuZXJhdG9yIHZlcndlbmRlc3QuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdhbWluZyBQcm9oaWJpdGlvbiAoT3JrdG9ldGVyLCAgNC4gU2VwIDIwMDIsIDEzOjM1OjA0KToKfiMhIHJuPU1hYXJnIHJ0PTEwMzExMzg5MTcgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApXZW5uIGR1IG5pY2h0IG5lbiBDb21wdXRlciBudXR6dCB1bSBkaWUgQnVjaGhhbHR1bmcgenUgZXJsZWRpZ2VuIHVuZCBkaWUKWnVmYWxsc3phaGxlbiByZWluIG1pdCBXdWVyZmVsbiBlcm1pdHRlbHN0OiBqYQoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEdhbWluZyBQcm9oaWJpdGlvbiAoTWFhcmcsICA0LiBTZXAgMjAwMiwgMTM6Mzg6MzgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMzExMzkzMDQgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApadW1pbmRlc3QgSU1ITyBlcmZvcmRlcm4gc29sY2hlIFNwaWVsZSAtIHdpZSB1ZWJyaWdlbnMgYXVjaCBlaW5lIE1lbmdlIGFuZGVyZXIKU3BpZWxlIC0gZWluIE1pbmRlc3RtYXNzIGFuIFBoYW50YXNpZSwgdW0gdWViZXJoYXVwdCB6dSBmdW5rdGlvbmllcmVuLgoKSWNoIGZyYWdlIG1pY2ggbnVyLCBvYiBkaWUgamV0enQgYWxsZSBvZWZmZW50bGljaCB2ZXJicmFubnQgd2VyZGVuLCB3ZWlsIG1hbgpkYWJlaSBzZWluZSBlaWdlbmUgVm9yc3RlbGx1bmdza3JhZnQgZ2VicmF1Y2hlbiBtdXNzIHVuZCBkaWVzZSBkZXN3ZWdlbiBuaWNodApyZWluIG1lY2hhbmlzY2ggZnVua3Rpb25pZXJlbi4KCldpcmQgaW4gR3JpZWNoZW5sYW5kIGpldHp0IG51ciBub2NoIE1pa2FkbyBnZXNwaWVsdD8gOm8pCgpHcnVzcywKCiAgIE1hYXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHYW1pbmcgUHJvaGliaXRpb24gKEdyaW1tYm9ybiwgIDQuIFNlcCAyMDAyLCAxMzo0MDoxNCk6Cn4jISBybj1NYWFyZyBydD0xMDMxMTM5NTE4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKSG1tLCB2aWVsbGVpY2h0IHNlaGVuIHdpciBkYXMgYWxsZSBudXIgZmFsc2NoPyBEZXIgUGh5c2lrZXIgd2Vpc3MgbmF0dWVybGljaApkYXNzIGJlaSBob2VoZXJlbiBUZW1wZXJhdHVyZW4gYWxsZSBLcmFlZnRlIGluZWluYW5kZXIgdWViZXJnZWhlbiwgc2ljaAp2ZXJlaW5pZ2VuLiBEYSBnaWJ0cyBkYW5uIGtlaW5lbiBVbnRlcnNjaGllZCB6d2lzY2hlbiB6LkIuIG1lY2hhbmlzY2ggdW5kCmVsZWt0cm9uaXNjaC4gTmFqYSwgdW5kIEdyaWVjaGVubGFucyBsaWVndCBqYSB3ZWl0ZXIgaW0gU3VlZGVuLCBkYSBpc3RzCnNjaGxpZXNzbGljaCB3YWVybWVyIGFscyBoaWVyLi4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdhbWluZyBQcm9oaWJpdGlvbiAoWmFybml5YSwgIDQuIFNlcCAyMDAyLCAxMzo0MDozMCk6Cn4jISBybj1NYWFyZyBydD0xMDMxMTM5NTE4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKd2FzIG1pciBiZWkgZGVyIFNhY2hlIG5vY2ggZmVobHQgaXN0IGVpbmUgQmVncnVlbmR1bmcsIHdpZXNvIGRpZSBkYXMgZ2VtYWNodApoYWJlbi4uLiB3ZWlzcyBkYSBlaW5lciB3YXMgZHJ1ZWJlcj8gTXVzcyBkb2NoIG5lIG9mZml6aWVsbGUgRXJrbGFlcnVuZyBkYXp1CmdlYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogR2FtaW5nIFByb2hpYml0aW9uIChBbnRoZWEsICA0LiBTZXAgMjAwMiwgMTM6NDE6NTgpOgp+IyEgcm49WmFybml5YSBydD0xMDMxMTM5NjMwIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKRGVyIHVyc3BydWVuZ2xpY2hlIEdydW5kIHdhciwgZGFzIEdsdWVja3NzcGllbCBlaW56dWRhZW1tZW4uIERlbm4gYXVjaCBpbgpJbnRlcm5ldC1DYWZlZXMgd3VyZGUgdW50ZXIgZGVtIExhZGVudGlzY2ggdW0gR2VsZCBnZXNwaWVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBHYW1pbmcgUHJvaGliaXRpb24gKFZhbmlvbiwgIDQuIFNlcCAyMDAyLCAxNjozNzoyNSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAzMTEzOTcxOCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck1pdCBWZXJsYXViLCBkYSBoYWJlbiBzaWNoIGRpZSBHcmllY2hlbiBqYSBkZW4gYmxvZWRlc3RlbiBXZWcgYXVzZ2VzdWNodCwgaWhyClppZWwgenUgZXJyZWljaGVuLiBBbGxlIFNwaWVsZSB6dSB2ZXJiaWV0ZW4gaXN0IGltaG8gd2VpdCBtZWhyIGFscyBudXIKc2F1ZG9vZiwgc29uZGVybiB6dW1pbmRlc3QgWmVuc3VyLiBXYXMgbWFjaGVuIGRpZSBlaWdlbnRsaWNoIGluIGRlciBFVT8KClYqIC0gb2IgZGVyIEJlY2tzdGVpbiBkYXMgZ2xlaWNoIGluIHNlaW5lIG5hZWNoc3RlIFNjaG1hZWhyZWRlIHVlYmVybmltbXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogR2FtaW5nIFByb2hpYml0aW9uIChDYWRyYWNoLCAgNC4gU2VwIDIwMDIsIDE3OjU5OjU5KToKfiMhIHJuPVZhbmlvbiBydD0xMDMxMTUwMjQ1IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKTWFuIG1hZyBkaWUgTWV0aG9kaWsgZnVlciB1ZWJlcnpvZ2VuIGhhbHRlbiwgYWJlciBpY2ggd3VlcmRlIG1pciBoaWVyIG5pY2h0CmFubWFzc2VuIGRhcnVlYmVyIHp1IHVydGVpbGVuIChvYndvaGwgaWNoIHNvd2FzIGphIG5vcm1hbCBnYW56IGdlcm5lIG1hY2hlCjpvKS4KWnVtIGVpbmVuIGdsYXViZSBpY2ggbWFsIGRhcyBkaWUgd2VuaWdzdGVuIGhpZXIgKGlua2wuIG1pcikgZWluZW4gRWluZHJ1Y2sKZGF2b24gaGFiZW4sIHdpZSBncm9zcyBkaWUgUHJvYmxlbWF0aWsgZGVzIEdsdWVja3NzcGllbHMgaW4gR3JpZWNoZW5sYW5kIGlzdC4KTm9jaCB3aXNzZW4gd2lyIGRlbmtlIGljaCBhbGxlc2FtdCBuaWNodCwgd2FzIGRpZSBHcmllY2hlbiB2b3JoZXIgc2Nob24gYWxsZXMKdmVyc3VjaHQgaGFiZW4gZGFzIFByb2JsZW0gaW4gZGVuIEdyaWZmIHp1IGtyaWVnZW4uCkljaCBnbGF1YmUgdWVicmlnZW5kcyBkYXMgZXMgd2VpdGF1cyBzY2hsaW1tZXJlcyBhbHMgZWluIFZlcmJvdCB2b24KQ29tcHV0ZXJzcGllbGVuIGdpYnQuIFZpZWxsZWljaHQgdWViZXJob2xuIHVucyBkaWUgR3JpZWNoZW4gYXVjaCBiYWxkIG5vY2gsCndlaWwgYmVpIElobmVuIG51biBlaW5lIEdlbmVyYXRpb24gdm9uIEtpbmRlcm4gcmFud2FlY2hzdCBkaWUgc2ljaCBhdWNoIG5vY2gKYW5kZXJ3ZWl0aWcgenUgYmVzY2hhZWZ0aWdlbiB3ZWlzcy4KCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBHYW1pbmcgUHJvaGliaXRpb24gKEdsb2luc29uLCAgNC4gU2VwIDIwMDIsIDE4OjAzOjQzKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMTE1NTE5OSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck1hbiBrb2VubnRlIEFsa29ob2wgYXVjaCBub2NoIHZlcmJpZXRlbiwgZGFubiBoYXQgbWFuIGF1Y2ggZWluZSBzdWNodGZyZWkKaGVyYW53YWNoc2VuZGUgSnVnZW5kIGRpZSB1bnMgdWViZXJob2xlbiBrYW5uIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEdhbWluZyBQcm9oaWJpdGlvbiAoVmFuaW9uLCAgNC4gU2VwIDIwMDIsIDE4OjA0OjE5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzExNTU0MjMgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApEYSBmYWVsbHQgbWlyIGVpbiwgZGFzcyBpY2ggbm9jaHdhcyBlaW5rYXVmZW4gbXVzcyA6KQoKViogLSBEYW5rZSBmdWVyIGRhcyBTdGljaHdvcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogR2FtaW5nIFByb2hpYml0aW9uIChWYW5pb24sICA0LiBTZXAgMjAwMiwgMTg6MTE6MDYpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMxMTU1MTk5IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKQWxzbywgaWNoIGRlbmtlIGRhc3MgbWFuIHVlYmVyIEpFREVTIHBhdXNjaGFsZSBWZXJib3Qgc2VociBpbnRlbnNpdiBuYWNoZGVua2VuCm11c3MuIEdlaGVuIHdpciBtYWwgc28gYW4gZGllIFNhY2hlIHJhbi4gR2lidCBlcyBlaW4gQmV0cmllYnNzeXN0ZW0sIGRhc3MgaW4KZGVyIFN0YW5kYXJkLUVkaXRpb24ga2VpbmUgU3BpZWxlIGVudGhhZWx0PyBTZWxic3QgQmVPUyBvZGVyIExpbnV4LURpc3RyaXMKaGFiZW4gaW1tZXIgZWluIHBhYXIgS2xlaW5pZ2tlaXRlbiBkYWJlaS4gSGllciB3dXJkZSBhbHNvIG9mZmVuYmFyIG5pY2h0CmdlcHJ1ZWZ0LCB3ZWxjaGUgQXVzd2lya3VuZ2VuIGVpbiBHZXNldHogaGF0LiBNYW4gaGF0IHNjaGxpZXNzbGljaCBqZWRlbiwgZGVyCmRpZ2l0YWxlcyBTcGllbHpldWcgYmVzaXR6dC9iZW51dHp0IGtyaW1pbmFsaXNpZXJ0IC0gZGFzIGR1ZXJmdGUsIHdlbm4gZXMKYWVobmxpY2ggd2llIGluIEQgaXN0LCB3b2hsIDEvMyBiaXMgMS8yIGRlciBCZXZvZWxrZXJ1bmcgc2Vpbi4KCkpldHp0IG11c3MgaWNoIHdlZywgZGVzaGFsYiBibGVpYnQgZGVyIEFydGlrZWwgYXVjaCB1bnRlciBkZXIgdm9uIG1pciBpbW1lcgplaW5nZWZvcmRlcnRlbiAnRWluZSBCaWxkc2NoaXJtc2VpdGUnLUdyZW56ZSA6KSAoamFqYSwgc3RlbGwgbnVyIGRlaW5lIFplaWxlbgphdWYgMiB1bmQgbGFlc3RlcmUsIEdsb2luc29uIDopCgpWKiBoYWVsdCBFbnRmYWx0dW5nc2ZyZWloZWl0IGZ1ZXIgd2ljaHRpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBHYW1pbmcgUHJvaGliaXRpb24gKE9ya3RvZXRlciwgIDQuIFNlcCAyMDAyLCAxODoxMjo1MSk6Cn4jISBybj1WYW5pb24gcnQ9MTAzMTE1NTg2NiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkltbWVyIGxhbmdzYW0hIEluIGRlbSBBcnR6aWtlbCBkZW4gaWNoIGdlbGVzZW4gaGFiZSBzdGFuZCBudXIgZXR3YXMgdm9uCm9lZmZlbnRsaWNoZW0gYW5iaWV0ZW4uIERhIHdhciBuaWNodCBkaWUgUmVkZSB2b24gZ2VuZXJlbGxlbSBWZXJib3QuIFNvIGxhbmdlCmljaCBkYXMgbmljaHQgaW4gZWluZXIgc2VyaW9lc2VuIFF1ZWxsZSBsZXNlIGdsYXViZSBpY2ggZGEgbm9jaCBuaWNodCBkcmFuLgpBbHNvLi4uIEJhbGwgZmxhY2ggaGFsdGVuLi4uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEdhbWluZyBQcm9oaWJpdGlvbiAoVmFuaW9uLCAgNC4gU2VwIDIwMDIsIDE4OjE2OjEzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDMxMTU1OTcxIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKWml0YXQgYXVzIGRlbSBhbmdlZ2ViZW5lbiBBcnRpa2VsOgpMYXcgTnVtYmVyIDMwMzcsIGVuYWN0ZWQgYXQgdGhlIGVuZCBvZiBKdWx5LCBleHBsaWNpdGx5IGZvcmJpZHMgZWxlY3Ryb25pYwpnYW1lcyB3aXRoICdlbGVjdHJvbmljIG1lY2hhbmlzbXMgYW5kIHNvZnR3YXJlJyBmcm9tIHB1YmxpYyBhbmQgcHJpdmF0ZQpwbGFjZXMsIGFuZCBwZW9wbGUgaGF2ZSBhbHJlYWR5IGJlZW4gZmluZWQgdGVucyBvZiB0aG91c2FuZHMgb2YgZXVyb3MgZm9yCnBsYXlpbmcgb3Igb3duaW5nIGdhbWVzLgoKR2VzZXR6ZXN0ZXh0IGthbm4gaWNoIGdyYWQgbmljaHQgZXJyZWljaGVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBHYW1pbmcgUHJvaGliaXRpb24gKEVsYmVyZXQsICA0LiBTZXAgMjAwMiwgMTg6MTk6NDkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzExNTYxNzMgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApobW0sIGFsc28gc293YXMgaXN0IGltbWVyIHNjaHdlciBpbiBVZWJlcnNldHp1bmcgdW5kIG9obmUgR2VzZXR6ZXN2b3JsYWdlLiAKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBHYW1pbmcgUHJvaGliaXRpb24gKEdsb2luc29uLCAgNC4gU2VwIDIwMDIsIDE4OjI4OjQzKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMTE1NjM4OSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkdlbmF1LiBIYWJlbiBkaWUgYXVjaCBlaW5lIG9yZGVudGxpY2hlIExhbmRlc3NwcmFjaGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogR2FtaW5nIFByb2hpYml0aW9uIChHcmltbWJvcm4sICA0LiBTZXAgMjAwMiwgMTk6NDU6MDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMTE1NjkyMyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkhhdHRlbiBzaWUgbWFsLCBpc3QgYWJlciBzZWl0IGd1dCAxNzAwIEphaHJlbiBlaW4gYmlzY2hlbiBhdXMgZGVyIE1vZGUKZ2VyYXRlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEdhbWluZyBQcm9oaWJpdGlvbiAoTGlhcmEsICA0LiBTZXAgMjAwMiwgMjA6MDM6MDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMTE1NTQyMyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkdlbmF1LiBzbyB3aWUgZGFtYWxzIHp1ciBaZWl0IGRlciBQcm9oaWJpdGlvbiBpbiBkZW4gVVNBLiBEYSBoYXR0ZW4gZGllIExldXRlLApkaWUgZXMgdmVyYm90ZW4gaGFiZW4sICduZSBEZXN0aWxsZSBpbSBLZWxsZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogd2FobG9tYXQgKEVsZGFyb24sICA0LiBTZXAgMjAwMiwgMjA6Mjg6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzEwNTM1MjEgcmc9d3d3Cn4jISB0aWQ9MTAzMTA1MDk3MAokIHdob2lzIGJla2lmZnQtZmlja2VuLmRlCgpFbGRhcm9uLCBzY2htdW56ZWxuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEdhbWluZyBQcm9oaWJpdGlvbiAoVmFuaW9uLCAgNC4gU2VwIDIwMDIsIDIwOjI5OjEyKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMTE1NjM4OSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck9rLCBudSBoYWIgaWNoIGRpZSBTZWl0ZSBtaXQgZGVyIGVuZ2wuIFVlYmVyc2V0enVuZyBkZXMgR2VzZXR6ZXN0ZXh0ZXMKZXJyZWljaGVuIGtvZW5uZW4sIGRhIGRpZSBuaWNoIHNvIGVpbmZhY2ggenUgZXJyZWljaGVuIGlzdCwgaGllciBtYWwgZGVyCkF1c3NjaG5pdHQsIHdhcyBnZW5hdSB2ZXJib3RlbiBpc3Q6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0KQXJ0aWNsZSAxCkdhbWUgY2F0ZWdvcmllcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0KQWNjb3JkaW5nIHRvIG5vdGlvbiBvZiB0aGUgY29tbWFuZHMgb2YgdGhlIGN1cnJlbnQgbGF3OgphLiBNZWNoYW5pY2FsIGdhbWVzIGFyZSB0aG9zZSwgdGhhdCBkZXBlbmQgb24gb25lJ3MgbXVzY2xlIGZvcmNlLgpiLiBFbGVjdHJpY2FsIGdhbWVzIGFyZSB0aG9zZSwgdGhhdCBkZXBlbmQgb24gZWxlY3RyaWNhbCBtZWNoYW5pc21zLgpjLiBFbGVjdHJvbWVjaGFuaWNhbCBnYW1lcyBhcmUgdGhvc2UgdGhhdCBkZXBlbmQgb24gZWxlY3RyaWNhbCBtZWNoYW5pc21zIGFuZAp0aGUgdXNlIG9mIG9uZSdzIG11c2NsZSBmb3JjZS4KZC4gRWxlY3Ryb25pYyBnYW1lcyBhcmUgdGhvc2UsIHRoYXQgZGVwZW5kIG9uIGJvdGggZWxlY3RyaWNhbC1lbGVjdHJvbmljCm1lY2hhbmlzbXMgYW5kIHNvZnR3YXJlLgplLiBFbnRlcnRhaW5tZW50IHRlY2huaWNhbCBnYW1lcyBhcmUgdGhvc2UsIHdob3NlIHJlc3VsdCBkZXBlbmRzIGV4Y2x1c2l2ZWx5Cm9uIHRoZSBhYmlsaXR5IGFuZCBza2lsbCBvZiB0aGUgCiAgICBwbGF5ZXIsIGFuZCBhcmUgdXNlZCBzb2xlbHkgZm9yIGVudGVydGFpbm1lbnQuCgpUaGUgY2F0ZWdvcnkgKGUpIGFsc28gaW5jbHVkZXMgYWxsIGNhcmQgZ2FtZXMgd2hpY2ggaGFkIGJlZW4gY2hhcmFjdGVyaXNlZCBhcyAKInRlY2huaWNhbCIgZ2FtZXMsIGFjY29yZGluZyB0byB0aGUgc3RhdGVtZW50IG9mIGxhdyBGLkUuSyBBMjEuIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQXJ0aWNsZSAyCkdhbWUgcHJvaGliaXRpb24KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMS4gT3BlcmF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgYW55IGdhbWUgb2YgdHlwZSAoYiksIChjKSBhbmQgKGQpIG9mCkFydGljbGUgMSwgaW5jbHVkaW5nIGNvbXB1dGVyIGdhbWVzLAogcGxhY2VkIGluIHB1YmxpYyBwbGFjZXMgc3VjaCBhcyBob3RlbHMsIGNhZmV0ZXJpYXMsIG9yZ2FuaXphdGlvbiBoYWxscyBhbmQKaW4gYW55IG90aGVyIHB1YmxpYyBvciBwcml2YXRlCiBwbGFjZSwgaXMgcHJvaGliaXRlZC4KIDIuIE9wZXJhdGlvbiBvZiBnYW1lcyBvZiB0eXBlIChlKSBpcyBhbGxvd2VkIGluIGRldmljZXMgb2YgdHlwZSAoYSkuClJlZ2FyZGluZyB0aGVzZSBnYW1lcywgaXQgaXMgcHJvaGliaXRlZCB0byBwbGFjZSBiZXRzLgogU3VjaCBiZXRzIHdpbGwgYXR0cmFjdCBwZW5hbHRpZXMgZGVzY3JpYmVkIGluIEFydGljbGVzIDQgYW5kIDUuICAKCi0tCgpEZXIgR2VzZXR6ZXN0ZXh0IGlzdCBub2NoIGxhZW5nZXIgdW5kIGdpYnQgVmVyaGFsdGVuc3JlZ2VsbiBmdWVyCkludGVybmV0Y2FmZXMsIHNjaHJlaWJ0IFN0cmFmZW4gdm9yIHVuZCBlbnRoYWVsdCBBdXNmdWVocnVuZ3NiZXN0aW1tdW5nZW4uIAoKViosIEZha3RlbiB6ZXJzdG9lcmVuIGplZGUgZ3V0ZSBEaXNrdXNzaW9uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogR2FtaW5nIFByb2hpYml0aW9uIChHcmltbWJvcm4sICA0LiBTZXAgMjAwMiwgMjA6MzY6NDYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzExNjQxNTIgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApIbW0sIGhhdCBIdW1uaSBkYXMgRnVzc2JhbGwtV00gV2V0dGJ1ZXJvIGFiZ2VoYWVuZ3QsIG9kZXIgbXVlc3NlbiB3aXIgaWhuCmRlbW5hZWNoc3QgaW4gQXRoZW4gaW0gS25hc3QgYmVzdWNoZW4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBHYW1pbmcgUHJvaGliaXRpb24gKEFudGhlYSwgIDUuIFNlcCAyMDAyLCAwOTo1NTo1OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMTE2NDYwNiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkRlbiBrb21wbGV0dGVuIEdlc2V0emVzdGV4dCAoYXVmIGVuZ2xpc2NoKSBmaW5kZXQgaWhyIGhpZXI6Cmh0dHA6Ly93d3cuZ2FtZWxhbmQuZ3IvbGF3ZW5nbGlzaC5odG0KClVuZCB3ZXIgc2ljaCBkYXMgT3JpZ2luYWwgYW50dW4gd2lsbC9rYW5uLCBzY2hhdXQgaGllciBuYWNoOgpodHRwOi8vdXNlcnMuZm9ydGhuZXQuZ3IvdGhlL2dlb2FuYXMvbGF3LnBkZgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBHYW1pbmcgUHJvaGliaXRpb24gKEVsYmVyZXQsICA1LiBTZXAgMjAwMiwgMTA6NTE6MjMpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzExNjQxNTIgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApobW0gaWNoIGJpbiBlY2h0IGtlaW4gSnVyaXN0LCBhYmVyIGZvbGdlbmRlcyBpbSBIZWlzZSBUaWNrZXIgdmVyc3RlaCBpY2ggbmljaHQKZ2FuejoKCiAgQW5zY2hlaW5lbmQgZ2lsdCBkaWVzIGF1Y2ggZnVlciBkYXMgU3BpZWxlbiBpbiBkZXIgZWlnZW5lbiBXb2hudW5nIG9kZXIgbWl0CkZyZXVuZGVuIC0tIHVua2xhciBpc3QgZGFiZWksIG9iIG51ciBmdWVyIGRlbiBGYWxsICwgZGFzcyBkaWVzIG9lZmZlbnRsaWNoCmFuZ2Vib3RlbiB3aXJkLgoKV2Vpc3MgZGEgaXJnZW5kZWluIGp1cmlzdGlzY2ggdmVyc2llcnRlciBNZW5zY2ggYmVzY2hlaWQ/IFNsYXllciBzYWcgbWFsIHdhcwp1bmQgdWViIG5pY2h0IHNvdmllbCA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IEdhbWluZyBQcm9oaWJpdGlvbiAoS3JlbGxqYSwgIDUuIFNlcCAyMDAyLCAxNTowNDo0OCk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzEyMTU4ODMgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApIYXQgc2ljaCBlaWdlbnRsaWNoIHNjaG9uIG1hbCB3ZXIgZ3JpZWNoaXNjaGt1bmRpZ2VzIGRvcnQgaW0gTGFuZGUKb2RlciBhdWYgb2ZmaXppZWxsZW4gU2VpdGVuIHVtZ2V0YW4/CgpNaXIga29tbXQgc28gbGFuZ3NhbSBkZXIgVmVyZGFjaHQsIGRhc3MgZGFzIGdhbnplIGVpbiBleHRyZW0gZ3V0IGdlbWFjaHRlcgpIb2F4IGlzdC4KCktyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBHYW1pbmcgUHJvaGliaXRpb24gKEtyZWxsamEsICA1LiBTZXAgMjAwMiwgMTU6MDY6NDcpOgp+IyEgcm49S3JlbGxqYSBydD0xMDMxMjMxMDg4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKSG1tLCBkYXMgc2NoZWludCBqYSB0YXRzYWVjaGxpY2ggZXJuc3QgenUgc2Vpbi4KCktyZWxsamEsIHZlcndpcnJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogR2FtaW5nIFByb2hpYml0aW9uIChNdWFkaWIsICA1LiBTZXAgMjAwMiwgMTU6MDg6MzMpOgp+IyEgcm49S3JlbGxqYSBydD0xMDMxMjMxMjA3IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKaWNoIGJpbiBhbmZhbmcgb2t0b2JlciBmdWVyIG5lIHdvY2hlIGRvcnQsIGljaCBiZXJpY2h0ZSBnZXJuZSBiZWkgcnVlY2trZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IEdhbWluZyBQcm9oaWJpdGlvbiAoTWFuZHJhZ29uLCAgNS4gU2VwIDIwMDIsIDE1OjA5OjM0KToKfiMhIHJuPU11YWRpYiBydD0xMDMxMjMxMzEzIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKQW0gYmVzdGVuIGdsZWljaCBkYXMgSGFuZHkgbWl0IFNwaWVsZW4genVsYWRlbiwgZGFzcyBEdSBhdWNoIGJlcmljaHRlbiBrYW5uc3QsCndpZSBkaWUgRHVyY2hzZXR6dW5nIHNvIGdlaGFuZGhhYnQgd2lyZCAuLi4gOy0pCgpHbyBTaGVyaWZmIEdvIDpvKQoKbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogR2FtaW5nIFByb2hpYml0aW9uIChIdW1uaSwgIDUuIFNlcCAyMDAyLCAxNToxMDoxMCk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMTIzMTM3NCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck5hamEgb2IgaW1tZXIgYWxsZXMgc3RpbW10IHdhcyBkaWUgc2FnZW4gd2Vpc3MgaWNoIG5pY2h0LCBhYmVyIHNwaWVnZWwuZGUgaGF0cwpudW4gYXVjaDoKCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9wb2xpdGlrLzAsMTUxOCwyMTI1NjEsMDAuaHRtbAoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBHYW1pbmcgUHJvaGliaXRpb24gKFpvb2ssICA1LiBTZXAgMjAwMiwgMTU6MTM6MTYpOgp+IyEgcm49SHVtbmkgcnQ9MTAzMTIzMTQxMCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4ClNvd2FzLCBnZW5hdSBkYXMgd29sbHRlIGljaCBhdWNoIGdyYWQgcG9zdGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBHYW1pbmcgUHJvaGliaXRpb24gKFpvb2ssICA1LiBTZXAgMjAwMiwgMTU6MTg6MjgpOgp+IyEgcm49Wm9vayBydD0xMDMxMjMxNTk2IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKV2FzIG1pciBudXIgbmljaHQga2xhciB3aXJkIGlzdCwgd2FydW0gZGFzIEdlc2V0eiB6d2FyIEVuZGUgSnVsaSBpbiBLcmFmdApnZXRyZXRlbiBpc3QsIGluIGRlciBQcmVzc2UgYWJlciBlcnN0IGpldHp0LCBBbmZhbmcgU2VwdGVtYmVyIGxhbmRldC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogR2FtaW5nIFByb2hpYml0aW9uIChPcmt0b2V0ZXIsICA1LiBTZXAgMjAwMiwgMTU6MjQ6MTgpOgp+IyEgcm49Wm9vayBydD0xMDMxMjMxOTA4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKQkJDIGJlcmljaHRldCBhdWNoIGhldXRlIGRhcnVlYmVyLi4gZHVlcmZ0ZSBhbHNvIGtlaW4gSG9heCBzZWluLgoKT2Igc3BhZXRlc3RlbnMgZGVyIEVVLWdyaWNodHNob2YgZGVuIEdyaWVjaGVuIGtsYXJtYWNodCBkYXMgZGllIG5pY2h0IGFsbGVzCmFscyBHZXNldHp0IGJlc2NobGllc3NlbiBrb2VubmVuPwoKSWNoIGhvZmZlIGVzIHNlaHIhCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEdhbWluZyBQcm9oaWJpdGlvbiAoS3JlbGxqYSwgIDUuIFNlcCAyMDAyLCAxNToyNToxNCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAzMTIzMjI1OCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CldpZXNvIHNvbGxlbiBzaWUgZGFzIG5pY2h0IGJlc2NobGllc3NlbiBkdWVyZmVuPwoKS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjc6IEdhbWluZyBQcm9oaWJpdGlvbiAoT3JrdG9ldGVyLCAgNS4gU2VwIDIwMDIsIDE1OjI5OjQyKToKfiMhIHJuPUtyZWxsamEgcnQ9MTAzMTIzMjMxNCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CldlaWwgZGFzIFZlcmJvdCB6dW1pbmRlc3QgaW0gcHJpdmF0ZW4gQmVyZWljaCBlaW4genUgc3RhcmtlciBFaW5ncmlmZiBpbiBkaWUKcGVyc29lbmxpY2hlbiBGcmVpaGVpdGVuIHVuZCBkYW1pdCBpbiBkaWUgTWVuc2NoZW5yZWNodGUgZGFyc3RlbGx0PwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBHYW1pbmcgUHJvaGliaXRpb24gKEJvaW5nLCAgNS4gU2VwIDIwMDIsIDE1OjMwOjI5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDMxMjMyNTgyIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKTWl0IGRlciBzZWxiZW4gQXJndW1lbnRhdGlvbiBrb2VubnRlc3QgRHUgYWJlciBhdWNoIGJlbGllYmlnZSBEcm9nZW4KbGVnYWxpc2llcmVuIC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogR2FtaW5nIFByb2hpYml0aW9uIChPcmt0b2V0ZXIsICA1LiBTZXAgMjAwMiwgMTU6MzM6MTApOgp+IyEgcm49Qm9pbmcgcnQ9MTAzMTIzMjYyOSByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck5laW4sIGRlciBHZXNldHpnZWJlciBpc3QgamEgZHVyY2hhdXMgYmVyZWNodGlndCBpbiBkaWUgcGVyc29lbmxpY2hlbgpmcmVpaGVpdGVuIGVpbnp1Z3JlaWZlbiAoZHUgZGFyZnN0IGF1Y2ggenVoYXVzZSBuaWVtYW5kZW4gdW1icmluZ2VuLCBhdWNoIHdlbm4KZHUgbW9lY2h0ZXN0KSwgYWJlciBnZW5lcmVsbCBhbGxlIENvbXB1dGVyc3BpZWxlIGF1Y2ggZnVlciBkZW4gUHJpdmF0bWVuc2NoZW4KZGFoZWltIHp1IHZlcmJpZXRlbiBpc3Qgc2ljaGVybGljaCBuaWNodCBtaXQgZGVuIE1lbnNjaGVucmVjaHRlbiBrb25mb3JtIGRpZQp3aXIgaW4gZGVyIEVVIGhhYmVuLgoKT3JrVCBob2ZmdCBkYXMgZG9jaCBzZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IEdhbWluZyBQcm9oaWJpdGlvbiAoRWxiZXJldCwgIDUuIFNlcCAyMDAyLCAxNTozNTowMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAzMTIzMjc5MCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Cm1vbWVudCwgYWxzbyB3ZW5uIGljaCBkZW4gaGVpc2V0aWNrZXIgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUsIGlzdCBkYXMgc29vb28Kc2ljaGVyIG5jaWh0IG9iIGVzIGF1Y2ggZnVlciBkZW4gcHJpdmF0ZW4gZ2VicmF1Y2ggZ2lsdCwgZGVzd2VnZW4gaGFiIGljaCBqYQpnZXJhZGUgbmFjaCBuZW0gSnVyaXN0ZW4gZ2VydWZlbiA7KQoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IEdhbWluZyBQcm9oaWJpdGlvbiAoWm9vaywgIDUuIFNlcCAyMDAyLCAxNjowODoxMCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTAzMTIzMjI1OCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CldhcnVtIHNvbGx0ZSBlcj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogR2FtaW5nIFByb2hpYml0aW9uIChCYW1iaSwgIDUuIFNlcCAyMDAyLCAxNjoxMDoxNCk6Cn4jISBybj1ab29rIHJ0PTEwMzEyMzQ4OTAgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApEYXMgZXJpbm5lcnQgbWljaCBkYXJhbiwgZGFzcyBzbyBlaW5lIDxpY2ggc2NocmVpYiBoaWVyIG5pY2h0LCB3ZWxjaGVzCkFkamVrdGl2IHBhc3NlbiB3dWVyZGU+IEZyYXUgdm9uIGRlciBTUEQgbWFsIGVpbmVuIEdlc2V0emVzZW50d3VyZiBlaW5icmluZ2VuCndvbGx0ZSwgZGVyIFdhc3NlcnNwcml0enBpc3RvbGVuIHVuZGVyIGRhcyBLcmllZ3N3YWZmZW5yZWNodCBzdGVsbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogR2FtaW5nIFByb2hpYml0aW9uIChab29rLCAgNS4gU2VwIDIwMDIsIDE2OjExOjIwKToKfiMhIHJuPUJhbWJpIHJ0PTEwMzEyMzUwMTQgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApPcmtULCB3YXMgbnVuPyBFdUdIIG9kZXIgZGVuIGV1cm9wYWlzY2hlbiBHZXJpY2h0c2hvZiBmdWVyIE1lbnNjaGVucmVjaHRlPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBHYW1pbmcgUHJvaGliaXRpb24gKEh1bW5pLCAgNS4gU2VwIDIwMDIsIDE2OjEzOjMxKToKfiMhIHJuPVpvb2sgcnQ9MTAzMTIzNTA4MCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkluIGRlbiBVU0Egd3VyZGUgZ2VyYWRlIGVpbiBHZXNldHogZ2VnZW4gS2luZGVycG9ybm9nYXBoaWUgZGVzaGFsYiBnZXJhZGUgbm9jaAphYmdld2VuZGV0LCB3ZWlsIGRhbm4gYXVjaCBvZWZmZW50bGljaGUgVm9yZnVlaHJ1bmdlbiB2b24gUm9tZW8gdW5kIEp1bGlhCnZlcmJvdGVuIHdlcmRlbiBtdWVzc3RlbiAoendlaSBNaW5kZXJqYWVocmlnZSBoYWJlbiBTZXgsIHdlbm4gYXVjaCBuaWNodAphdXNnZXNwaWVsdC4uLikuCgpEZXMgd2VpdGVyZW4gc29sbHRlIG1hbCBpbiBlaW5lbSBCdW5kZXNzdGFhdCBkaWUgWmFobCBQaSBhdWYgMywyIGZlc3RnZWxlZ3QKd2VyZGVuLiBJc3QgYXVjaCBpbiBsZXR6dGVyIFNla3VuZGUgdmVyaGluZGVydCB3b3JkZW4uCgpTb2xhbmdlIGRhcyBhbHMgRW50d3VyZiByZWlua29tbXQgaXN0IGRhcyBwZWlubGljaCBnZW51Zywgd2VubidzIGR1cmNoZ2VodCBoYXQKbWFuIHdhcyBncnVuZGxlZ2VuZCBmYWxzY2ggZ2VtYWNodC4uLgoKSW4gZGllc2VtIEZhbGwgc2NoZWluZW4gZWluaWdlIExldXRlIGVpbmZhY2ggbmljaHQgYXVmZ2VwYXNzdCB6dSBoYWJlbiwgd2FzCnNpZSBkYSB2ZXJiaWV0ZW4uIEljaCBiaW4gZWlnZW50bGljaCBnYW56IG9wdGltaXN0aXNjaCBkYXNzIHNpZSBkYSBmcnVlaGVyCm9kZXIgc3BhZXRlciBkcmF1ZiBrb21tZW4sIGRhc3MgZGFzIHNvIEh1bWJ1ZyBpc3QuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IEdhbWluZyBQcm9oaWJpdGlvbiAoRWxiZXJldCwgIDUuIFNlcCAyMDAyLCAxNjoxNjo0OCk6Cn4jISBybj1IdW1uaSBydD0xMDMxMjM1MjExIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKb2NoIGVzIGdpYnQgbmUgZ2FuemUgbWVuZ2UgbHVzdGlnZXIgc2FjaGVuLCBpY2ggbWVpbiBpbiBpbmRpYW5hIG11c3MgbWFuCnNvbm50YWdzIG5lIHdhZmZlIG1pdCB6dXIga2lyY2hlIGJyaW5nZW4gdW5kIGluIGFyaXpvbmEgZGFyZiBtYW4ga2VpbmUga3JvZXRlbgphYmxlY2tlbiB1c3cgOykKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBHYW1pbmcgUHJvaGliaXRpb24gKFpvb2ssICA1LiBTZXAgMjAwMiwgMTY6MTc6NTQpOgp+IyEgcm49RWxiZXJldCBydD0xMDMxMjM1NDA4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKd3d3LmR1bXBsYXdzLmNvbSBvZGVyIHMuLi4KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogR2FtaW5nIFByb2hpYml0aW9uIChBbnRoZWEsICA1LiBTZXAgMjAwMiwgMTY6MTc6NTYpOgp+IyEgcm49RWxiZXJldCBydD0xMDMxMjM1NDA4IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKS29tbSwgcmVhZ2llciBiaXR0ZSBtaXQgR2VzZXR6ZW4gYXVzIExhZW5kZXJuLCBkaWUgZXJuc3QgenUgbmVobWVuIHNpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogR2FtaW5nIFByb2hpYml0aW9uIChFbGJlcmV0LCAgNS4gU2VwIDIwMDIsIDE2OjIwOjU2KToKfiMhIHJuPUFudGhlYSBydD0xMDMxMjM1NDc2IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKd2FzIGhlaXNzdCBoaWVyIGVybnN0enVuZWhtZW4/CmljaCBtZWluIHNjaGF1IG1hbCBpbiBkaWUgdmVyb3JkbnVuZ2VuIGFuLCBkaWUgZGFzIEt1bHR1c21pbmlzdGVyaXVtIHNvIGFsbGUKcmF1c2JyaW5ndCwgZGllIHdpZGVyc3ByZWNoZW4gc2VociBvZnQgZ2VsdGVuZGVtIFJlY2h0IGFiZXIgZGFzIHN0b2VydCBkYQprZWluZW4uIE9kZXIgYW5kZXJlcyBCZWlzcGllbCwgZGFzcyBlaWdlbnRsaWNoIGVpbiBQcm9mIGJlaSB1bnMgYWxsZSA1MDAKVm9yZGlwbG9tc2tsYXVzdXJlbiBhbGxlaW5lIGtvcnJpZ2llcmVuIG11c3MsIHdlaWwgZXIgYWxzIGVpbnppZ2VyCmJld2VydHVuZ3NkZmFlaGlnIGlzdCwgZGFzIGhhZXR0ZSB6dXIgRm9sZ2UgZGFzcyBkZXIgTml4IG1laHIgbWFjaHQgYXVzc2VyCmtvcnJpZ2llcmVuLiBJc3QgYWxzbyBTY2h3YWNoc2lubiBzb25kZXJnbGVpY2hlbi4gSW50ZXJlc3NpZXJ0IGRhcyBkaWUKZGV1dHNjaGVuIEdlcmljaHRlPyAgTmljaHQgZGllIEJvaG5lLgoKQWxzbyBrb21tIG5jaWh0IG1pdDogZGllIGFtZXJpa2FuZXIgc2VpZW4gbmljaHQgZXJuc3R6dW5laG1lbi4gRGFzIGlzdCBoaWVyIGluCkRldXRzY2hsYW5kIGVjaHQgdWViZXJoYXVwdCBuY2lodCBiZXNzZXIKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBHYW1pbmcgUHJvaGliaXRpb24gKEFudGhlYSwgIDUuIFNlcCAyMDAyLCAxNjoyMzowOSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzEyMzU2NTYgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApOYWphLCBpc3QgbWlyIGphIGF1Y2ggc2Nob24gbmFjaCBkZW0gUG9zdGVuIGdla29tbWVuLCBkYXNzIGltIERldXRzY2hlbiBSZWNodApub2NoIGV0bGljaGUgUGFzc2FnZW4gMToxIGF1cyBkZW0gSFJSRE4gdWViZXJub21tZW4gc2luZC4gVW5kIGRpZSBtdXRlbgpoZXV0enV0YWdlIGF1Y2ggZXR3YXMgZ2VsaW5kZSBnZXNhZ3Qgc2VsdHNhbSBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBHYW1pbmcgUHJvaGliaXRpb24gKEVsYmVyZXQsICA1LiBTZXAgMjAwMiwgMTY6MjU6MjApOgp+IyEgcm49QW50aGVhIHJ0PTEwMzEyMzU3ODkgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OAp3aWUgd2FyIGRhcyBub2NoLCBtYW4gZGFyZiB1bmdlZnJhZ3QgaW4gTmFjaGJhcnMgR2FydGVuIGVpbnN0ZWlnZW4sIHdlbm4gbWFuCmVpbmVuIEJpZW5lbnNjaHdhcm0gdmVyZm9sZ3Q/IE9kZXIgaXN0IGRhcyBnZWFlbmRlcnQgd29yZGVuPyA7KQoKVW5kIGphIGJlc29uZGVycyBnYW56IG5ldWUgYWt0dWVsbGUgVmVyb3JkbnVuZ2VuIGRpZSBTY2h1bGVuIHVuZCBIb2Noc2NodWxlbgpiZXRyZWZmZW5kLCBzaW5kIHdpcmtsaWNoIHNjaHdhY2hzaW5uIHdlbm4gbWFuIGFuIGRpZSBQcmF4aXMgZGVua3QuIAoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIG1hZyBLYXR6ZW4/IChSb25kYSwgIDUuIFNlcCAyMDAyLCAxODoyNjoxNik6CkhtLiBFaGVyIHdhcyBmdWVyIEh1bmRlZmFucy4uLgoKaHR0cDovL3d3dy5zdGFydGVydXBzdGV2ZS5jb20vc3dmL2Nob3dtZWluLmh0bWwKCi4uLiBUb24gYW5zY2hhbHRlbiBuaWNodCB2ZXJnZXNzZW4uCgpSb25kYSAqaGFhcmlnZSBTYWNoZSwgZGFzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFyYnNwaWVsIChaYXBob2IsICA2LiBTZXAgMjAwMiwgMDc6Mzg6NTApOgpodHRwOi8vd3d3LmdyYWZma2luZy5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgZGllIGFuZ2xvcGhpbGVuIE1vYmlsbmFjaHJpY2h0ZW5zY2hpY2tlciAoWmFwaG9iLCAgNi4gU2VwIDIwMDIsIDA4OjAzOjI1KToKaHR0cDovL3d3dy50cmFuc2w4aXQuY29tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdW5kZXN0YWdzd2FobCAtIGludGVyZXNzYW50ZSBTaXRlIChKb3NodWEsICA2LiBTZXAgMjAwMiwgMTA6NTU6NTUpOgpIaSwKd2VyIG1pdCBlcm5zdGhhZnRlciBNb3RpdmF0aW9uIHp1IEJ1bmRlc3RhZ3N3YWhsIHdpbGwsIHNvbGx0ZSBzaWNoIG1hbApodHRwOi8vd3d3LmJ1bmRlc3RhZ3N3YWhsLTIwMDIuaW5mby8KYW5zY2hhdW4uIEljaCBmYW5kIGRhcyBnYW56IGludGVyZXNzYW50LCBqdXN0IEZZSS4KCkpvc2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkR1bGR1bmdzc3RhcnJlIChOb25uZSwgIDYuIFNlcCAyMDAyLCAxMjoyODozOSk6Cmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvZnJlZC5sYW5nL2ZyZWQzLmh0bSNOci4yCgpWaWVsIFNwYXNzICpnKgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM1OiBHYW1pbmcgUHJvaGliaXRpb24gKENhc3NhbmRyYSwgIDYuIFNlcCAyMDAyLCAxMjo0OTozNSk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzEyMzU5MjAgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApkYXMgbWl0IGRlbSBiaWVuZW5zY2h3YXJtIGlzdCB3b2hsIGltIG5ldWVuIEJHQiBuaWNodCBtZWhyIGRyaW4gKGRpZSBoYXR0ZW4KYW5mYW5nIGRlcyBKYWhyZXMgb2RlciBzcCBuZSBrb21wbGV0dGUgUmVmb3JtKS4KQWJlciBpY2ggZGVua2UgYXVjaCBkYXMgZGFzIGltIHp3ZWlmZWxzZmFsbCB2b20gRXVHSCBnZWtpcHB0IHdpcmQgdW5kIHp3YXIKd2VuaWdlciB3ZWdlbiBkZW4gTWVuc2NoZW5yZWNodGVuICh1ZWJlciBkaWUgZGVyIEV1R0ggYXVjaCBlbnRzY2hlaWRlbiBkYXJmCnVuZCBkaWVzIGF1Y2ggdHV0KSBhbHMgYXVjaCBhdXMgd2V0dGJld2VyYnNyZWNodGxpY2hlbiBHcnVlbmRlbi5EZW4gd2VubiBkaWUKZGFzIGluIEdyaWVjaGVubGFuZCB0YXRzYWVjaGxpY2ggZHVyY2hzYWV0enRlbiB3ZXJkZW4gc2ljaCBiZXN0aW1tdCBpbmhhYmVyCnZvbiBlbnRzcHJlY2hlbmRlbiBmaXJtZW4sIFByb2R1emVudGVuIGV0Yy4gZmluZGVuIGRpZSBkYWdlZ2VuIGtsYWdlbiBkYXMgc2llCnNvIGlubmVyZXVyb3BhZWlzY2ggYmVuYWNodGVpbGlnIHdlcmRlbiBvaG5lIGRhcyBkYWZ1ZXIgZWluIHNjaHdlcndpZWdlbmQKZ2VudWVnZW5kZXIgR3J1bmQgdm9ybGllZ3QuCgpDYXNzYW5kcmEKUC5TLiBuZWluIGljaCBiaW4ga2VpbmUgSnVyaXN0aW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM2OiBHYW1pbmcgUHJvaGliaXRpb24gKFpvb2ssICA2LiBTZXAgMjAwMiwgMTM6MDQ6MjcpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwMzEzMDkzNzUgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApEaWUgaW4gRnJhZ2Ugc3RlaGVuZGVuIFBhcmFmZW4genVtIEJpZW5lbnNjaHdhcm0gKFBhci4gOTYxIEJHQikgaXN0IG5hY2ggCndpZSB2b3IgZHJpbiwgZGFzIHd1cmRlIGphIGJlaSBkZXIgIlNjaHVsZHJlY2h0cyJyZWZvcm0gYXVjaCBuaWNodCBnZWFlbmRlcnQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IEdhbWluZyBQcm9oaWJpdGlvbiAoR3JpbW1ib3JuLCAgNi4gU2VwIDIwMDIsIDEzOjExOjI1KToKfiMhIHJuPVpvb2sgcnQ9MTAzMTMxMDI2NyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkljaCBzZWhlIGRpZSBBdWZyZWd1bmcgdW0gZGllIEJpZW5lbnJlZ2VsdW5nIG5pY2h0LiBEYXMgaXN0IGRvY2ggZ2VzdW5kZXIKTWVuc2NoZW52ZXJzdGFuZDogV2VubiBlaW4gQmllbmVuc2Nod2FybSBpbiBtZWluZW0gR2FydGVuIGlzdCBnZWJlIGljaCBkZW0KSW1rZXIgZG9jaCBhdWNoIG5vY2ggZnVlbXBmIEV1cm8gdW5kIGVpbmVuIFNjaG5hcHMsIHdlbm4gZXIgZGllIFZpZWNoZXIgbnVyCndpZWRlciBlbnRmZXJudC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IEdhbWluZyBQcm9oaWJpdGlvbiAoR2xvaW5zb24sICA2LiBTZXAgMjAwMiwgMTM6MTU6MDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzEzMTA2ODUgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApXYXMgZnVlciBlaW4gYmlsbGlnZSBBdXNyZWRlLiBTaWVoc3QgRHUgbmljaHQgZGVtIGltbWVuc2VuIFNjaGFkZW4sIGRlciBoaWVyCmFuIFBlcnNvZW5saWNoa2VpdGVuIGVudHN0ZWhlbiBrYW5uPyBTa3J1cGVsbG9zZSBJbWtlciB6dWVjaHRlbiBzY2hvbiBzZWl0CmVpbmVyIFdlaWxlIFZvZWxrZXIgbWl0IGxlbmtiYXJlbiBTY2h3YWVybWVuLCBkaWUgc2llIGRhbm4gaW4gZGllIFNhdW5lbgpPZ2dlcnNoZWltcyBvZGVyIHVlYmVyIGRlbiBLYW56bGVyZ2FydGVuIHNjaGlja2VuIHdvbGxlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM4OiBHYW1pbmcgUHJvaGliaXRpb24gKFpvb2ssICA2LiBTZXAgMjAwMiwgMTM6MTU6NDYpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzEzMTA2ODUgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApEYSBnaWJ0cyBkb2NoIGdhciBrZWluZSBBdWZyZWd1bmcgZHJ1bSwgb2Rlcj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOTogR2FtaW5nIFByb2hpYml0aW9uIChHcmltbWJvcm4sICA2LiBTZXAgMjAwMiwgMTM6MTc6MDEpOgp+IyEgcm49Wm9vayBydD0xMDMxMzEwOTQ2IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKTmEgc2ljaGVyLiBXZW5uIGRpZXNlcyBudWV0emxpY2hlLCB2ZXJudWVuZnRpZ2UgdW5kIHByYXhpc3JlbGV2YW50ZSBTdHVlY2sKUmVjaHRzc3lzdGVtIGFscyBCZWlzcGllbCBmdWVyIHNrdXJyaWxlIHVuZCBvYnNvbGV0ZSBHZXNldHplIGhlcmhhbHRlbiBtdXNzCmlzdCBkYXMgZHVyY2hhdXMgIkF1ZnJlZ3VuZyIuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MDogR2FtaW5nIFByb2hpYml0aW9uIChab29rLCAgNi4gU2VwIDIwMDIsIDEzOjI2OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMxMzExMDIxIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKTmEsIGRhbm4gdmVyc3RlaGUgaWNoIGRpZSBBdWZyZWd1bmcgYXVjaCBuaWNodC4gOi0pKSkKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MTogR2FtaW5nIFByb2hpYml0aW9uIChFbGJlcmV0LCAgNi4gU2VwIDIwMDIsIDE0OjAwOjE5KToKfiMhIHJuPVpvb2sgcnQ9MTAzMTMxMTU2NiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CgppY2ggZmluZCBkZW4gUGFyYWdyYXBoZW4gbnVyIHdpdHppZywgYXVmcmVnZW4gdHUgaWNoIG1paGMgdWViZXIgZ2FueiBhbmRlcmUKRGluZ2UgZGV1dHNjaGVyIFJlY2h0c2F1c2xlZ3VuZy4KCgoKRWxiaQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCdW5kZXN0YWdzd2FobCAtIGludGVyZXNzYW50ZSBTaXRlIChCYW1idWxrbywgIDYuIFNlcCAyMDAyLCAxNjoxMDowMCk6Cn4jISBybj1Kb3NodWEgcnQ9MTAzMTMwMjU1NSByZz13d3cKfiMhIHRpZD0xMDMxMzAyNTU1CkludGVyZXNzYW50LCBnYW56IGJlc29uZGVycyBkZXIgVGVpbCBtaXQgZGVuIFVlYmVyaGFuZ21hbmRhbnRlbi4gSGFiZSBzZWxiZXIKbmljaHQgZ2V3dXNzdCBkYXMgZWluZSBQYXJ0ZWkgZHVyY2ggbWVociBTdGltbWVybiBNYW5kYXRlIGltIEJ1bmRlc3RhZwp2ZXJsaWVyZW4ga2Fubi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNzogR2FtaW5nIFByb2hpYml0aW9uIChQaWxncmltLCAgOC4gU2VwIDIwMDIsIDE2OjU5OjE3KToKfiMhIHJuPVpvb2sgcnQ9MTAzMTMxMDI2NyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkBab29rCnd3dy5kdW1ibGF3cy5jb20KCkBBbGwKSW50ZXJlc3NhbnRlIFNlaXRlIDstKQpXYXMgc28gYWxsZXMgVmVyYm90ZW4gaXN0IGluIGRlbiBVU0EgKGFuZ2VmYW5nZW4gdWViZXIgc2V4dWVsbGUgUHJha3Rpa2VuIC0KYXVjaCB2b24gRWhlbGV1dGVuIC0gYmlzIGhpbiB6dSBFcyBpc3QgdmVyYm90ZW4gRmlzY2hlIG1pdCBibGFua2VuIEhhZW5kZW4genUKZmFuZ2VuIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IEdhbWluZyBQcm9oaWJpdGlvbiAoUGlsZ3JpbSwgIDguIFNlcCAyMDAyLCAxNzowNDozMik6Cn4jISBybj1QaWxncmltIHJ0PTEwMzE0OTcxNTcgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApJY2ggZmluZCBkZW4gQmV6dWcgbmljaHQgbWVociA7LSkgLi4uIGFiZXIgaW4gSW5kaWFuYS9VU0EgZ2lsdCBwZXIKU3RhdHNHZXNldHo6IFRoZSB2YWx1ZSBvZiBQaSBpcyA0LCBhbmQgbm90IDMuMTQxNS4gCgpQaWxncmltClBTOiBWaWVsbGVpY2h0IHNpbmQgS3JlaXNlIGluIEluZGlhbmEgamEgYXVjaCB2aWVyZWNraWcgLSBwZXIgR2VzZXR6PyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBHYW1pbmcgUHJvaGliaXRpb24gKEh1bW5pLCAgOC4gU2VwIDIwMDIsIDE3OjA2OjM1KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAzMTQ5NzQ3MiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CklzdCBkYXMgd2lya2xpY2ggd2Focj8gSWNoIGhhYiBtYWwgbmVuIEJlcmljaHQgZ2VsZXNlbiwgbmFjaGRlbSBpbSB2b3JpZ2VuCkphaHJodW5kZXJ0IGluIGVpbmVtIEJ1bmRlc3N0YWF0IChvYnMgSW5kaWFuYSB3YXIgd2Vpc3MgaWNoIG5pY2h0KSBkZXIgV2VydAphdWYgMy4yIGZlc3RnZXNldHp0IHdlcmRlbiBzb2xsdGUsIHVtIGRlbiBLaWRkaWVzIGluIGRlciBTY2h1bGUgKGphamEgZGFtYWxzCndhcmVuIGRhcyBub2NoIEtpbmRlciB1bmQga2VpbmUgS2lkZGllcywgc3RpbW10IHNjaG9uLi4uKSBkYXMgUmVjaG5lbiB6dQplcmxlaWNodGVybiwgdW5kIGRhc3MgZGFzIGdhbnplIGluIGxldHp0ZXIgU2VrdW5kZSBkdXJjaCBkYXMgenVmYWVsbGlnZQpFcnNjaGVpbmVuIGVpbmVzICwsZWNodGVuJycgTWF0aGVtYXRpa2VycyBpbSBQYXJsYW1lbnQgdmVyaGluZGVydCB3ZXJkZW4Ka29ubnRlLiBJc3Qgc293YXMgd2lya2xpY2ggaXJnZW5kd28gR2VzZXR6IG9kZXIgc28gbmUgR2VzY2hpY2h0ZSBhIGxhICwsU3Bpbm5lCmluIGRlciBZdWNjYXBhbG1lJyc/CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzk6IEdhbWluZyBQcm9oaWJpdGlvbiAoUGlsZ3JpbSwgIDguIFNlcCAyMDAyLCAxNzoxMzo0MCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMzE0OTc0NzIgcmc9d3d3Cn4jISB0aWQ9MTAzMTEzNTc1OApBcml6b25hIFN0YXRlIExhdzogWW91IG1heSBub3QgaGF2ZSBtb3JlIHRoYW4gdHdvIGRpbGRvcyBpbiBhIGhvdXNlLiAKTE9MCgpBcmthbnNhcyBTdGFlIExhdzogQSBtYW4gY2FuIGxlZ2FsbHkgYmVhdCBoaXMgd2lmZSwgYnV0IG5vdCBtb3JlIHRoYW4gb25jZSBhCm1vbnRoLiAKCipzcHJhY2hsb3MqCgpDYWxpZm9ybmlhIFN0YXRlIExhdzogU3Vuc2hpbmUgaXMgZ3VhcmFudGVlZCB0byB0aGUgbWFzc2VzLiAKClBpbGdyaW0KUFM6IFBvbGVuLCBLcmFrYXU6IFZvbSBUYWcgdm9yIGRlbSBQYXBzdGJlc3VjaCBiaXMgenUgc2VpbmVyIEFicmVpc2UgZ2FsdDoKYSkgRXMgaXN0IHZlcmJvdGVuIEFsa29ob2wgenUgdmVya2F1ZmVuLgpiKSBEYXMgVmVyemVociB2b24gU2FobmVrdWNoZW4gaW0gRnJlaWVuIGlzdCB1bnRlcnNhZ3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOTogR2FtaW5nIFByb2hpYml0aW9uIChQaWxncmltLCAgOC4gU2VwIDIwMDIsIDE3OjQwOjE1KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAzMTQ5NzQ3MiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4ClNvcnJ5IC4uLiBpY2ggbXVzcyBtaWNoIGtvcnJpZ2llcmVuOiBQSSBpc3QgZ2xlaWNoIDQhCk5hY2h6dWxlc2VuIHVudGVyCmh0dHA6Ly93d3cuc3R1ZC51bmktaGFtYnVyZy5kZS91c2Vycy90aGllcy9pNzRfcGkuaHRtCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MDogR2FtaW5nIFByb2hpYml0aW9uIChSb2NodXMsICA4LiBTZXAgMjAwMiwgMTg6MTM6MjkpOgp+IyEgcm49UGlsZ3JpbSBydD0xMDMxNDk4MDIwIHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKV2lsYnVyLCBXYXNoaW5ndG9uOiBZb3UgbWF5IG5vdCByaWRlIGFuIHVnbHkgaG9yc2UKQ2FsaWZvcm5pYTogTm8gdmVoaWNsZSB3aXRob3V0IGEgZHJpdmVyIG1heSBleGNlZWQgNjAgbXBoCkhhcmRmb3JkLCBDb25uZWN0aWN1dDogSXRzIGlsbGVnYWwgZm9yIGEgbWFuIHRvIGtpc3MgaGlzIHdpZmUgb24gc3VuZGF5cwpOZXcgQnJpdGFpbiwgQ29ubmVjdGljdXQ6IEl0cyBpbGxlZ2FsIGZvciBmaXJlIHRydWNrcyB0byBleGNlZWQgMjUgbXBoLAogIGV2ZW4gd2hlbiBnb2luZyB0byBhIGZpcmUKRmxvcmlkYTogSXRzIGNvbnNpZGVyZWQgYW4gb2ZmZW5zZSB0byBzaG93ZXIgbmFrZWQKQ2hpY2FnbywgSWxsaW5vaXM6IExhdyBmb3JiaWRzIGVhdGluZyBpbiBhIHBsYWNlIHRoYXQgaXMgb24gZmlyZQpJb3dhOiBPbmUtYXJtZWQgcGlhbm8gcGxheWVycyBtdXN0IHBlcmZvcm0gZm9yIGZyZWUKTWFyc2hhbGx0b3duLCBJb3dhOiBIb3JzZXMgYXJlIGZvcmJpdHRlbiB0byBlYXQgZmlyZSBoeWRyYW50cwpNYWluZTogWW91IG1heSBub3Qgc3RlcCBvdXQgb2YgYSBwbGFuZSBpbiBmbGlnaHQKTmVicmFza2E6IElmIGEgY2hpbGQgYnVycHMgZHVyaW5nIGNodXJjaCwgaGlzIHBhcmVudHMgbWF5IGJlIGFycmVzdGVkClBhdWxkaW5nLCBPaGlvOiBBIFBvbGljZW1hbiBtYXkgYml0ZSBhIGRvZyB0byBxdWlldCBoaW0KRGFudmlsbGUsIFBlbnN5bHZhbmlhOiBBbGwgZmlyZSBoeWRyYW50cyBtdXN0IGJlIGNoZWNrZWQgb25lCiAgaG91ciBiZWZvcmUgYWxsIGZpcmVzLgpbTmEsIGRhbm4gaXN0IGphIGd1dCwgZGFzcyBmb2xnZW5kZXMgR2VzZXR6IG5pY2h0IGltIGdsZWljaGVuIFN0YWF0IGdpbHQ6XQpZYW1oaWxsLCBPcmVnb246IEl0cyBpbGxlZ2FsIHRvIHByZWRpY3QgdGhlIGZ1dHVyZQoKV2VpdGVyZTogZHVtYmxhd3MuY29tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40MDogR2FtaW5nIFByb2hpYml0aW9uIChDYWRyYWNoLCAgOC4gU2VwIDIwMDIsIDE4OjE1OjIyKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTAzMTQ5ODAyMCByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkFsYWJhbWEKCkl0IGlzIGlsbGVnYWwgZm9yIGEgaHVzYmFuZCB0byBiZWF0IGhpcyB3aWZlIHdpdGggYSBzdGljayBsYXJnZXIgdGhhbiB0aGUKZGlhbWV0ZXIgb2YgaGlzIHRodW1iLgoKTWFjaHQgZG9jaCBkdXJjaGF1cyBTaW5uIC0gdW5kIGdpbHQgc29nYXIgaW4gRGV1dHNjaGxhbmQuCgpDYWQqIChzb28gc2NobGltbSBzaW5kIHNpZSBkb2NoIGdhciBuaWNoIGRpZSBhbWlzLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDE6IEdhbWluZyBQcm9oaWJpdGlvbiAoR3JpbW1ib3JuLCAgOC4gU2VwIDIwMDIsIDIwOjUzOjU3KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTAzMTUwMTcyMiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkludGVyZXNzYW50LiBEYXNzIGVzIGluIERhZW5lbWFyayBlaW4gUGZhbmQgYXVmIFBsYXN0aWtmbGFzY2hlbiBnaWJ0IHdpcmQgYWxzCiJkdW1iIGxhdyIgYW5nZXNlaGVuLiBXaWUgd2FyIGRhcyBub2NoIG5ldWxpY2ggaW4gSm9oYW5uZXNidXJnLCB3YXJlbiBkaWUgQW1pcwpkYWZ1ZXIgb2RlciBkYWdlZ2VuLi4uPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb3ZpZWwgenUgR3JpZWNoZW5sYW5kIHVuZCBkZW0gU3BpZWxldmVyYm90IChDcml0dGVyLCAxMS4gU2VwIDIwMDIsIDE0OjM2OjI2KToKCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9wb2xpdGlrLzAsMTUxOCwyMTM0NjMsMDAuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJ1ZWNrYmxpY2s6IENTVS1Tb2VkZXIgaW0gT25saW5lLUNoYXQgKEFudGhlYSwgMTIuIFNlcCAyMDAyLCAxMDo1Njo0Myk6Cmh0dHA6Ly93d3cub25saW5la29zdGVuLmRlL25ld3MvYXJ0aWtlbC5waHAzP2lkPTk4OTgmcGFnZT0wCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVlY2tibGljazogQ1NVLVNvZWRlciBpbSBPbmxpbmUtQ2hhdCAoQmFtYmksIDEyLiBTZXAgMjAwMiwgMTE6NDg6MTQpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzE4MjEwMDMgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwpFcyBpc3QgZWluZSBTY2hhbmRlLCBkYXNzIGVpbiBNaXRnbGllZCBkZXIgU2Nod2VzdGVycGFydGVpICJtZWluZXIiIFBhcnRlaSBzbwplaW5lbiBTY2h1bmQgdm9uIHNpY2ggZ2lidC4gQXVjaCB3ZW5uIGljaCBtaXIgbWl0IGRpZXNlciBBdXNzYWdlIHZlcm11dGxpY2gKZWluZW4gUGFydGVpYXVzc2NobHVzcyBlaW5mYW5nZSwgcmF0ZSBpY2ggYWxsZW4sIGRpZSB6dWZhZWxsaWcgaW0gV2FobGtyZWlzCnZvbiBIZXJybiBTb2VkZXJkaW5nc2J1bXMgd29obmVuLCBsaWViZXIgZGllIFBEUyBvZGVyIHNvd2FzIGluIGRlciBBcnQgenUKd2FlaGxlbiwgYWxzIGRpZXNlbiBNZW5zY2hlbi4KCk1mRywgQmFtYmkuIEJhbGQgX0V4X0pVLU1pdGdsaWVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChHcmltbWJvcm4sIDEyLiBTZXAgMjAwMiwgMTE6NTQ6MDUpOgp+IyEgcm49QmFtYmkgcnQ9MTAzMTgyNDA5NCByZz13d3cKfiMhIHRpZD0xMDMxODIxMDAzCkRhcyBpc3QgZG9jaCBlaWdlbnRsaWNoIG5pY2h0IHNvIHZlcnd1bmRlcmxpY2gsIHNvbmRlcm4gZWhlciBlaW5lIG5hdHVlcmxpY2hlCkZvbGdlIGRpZXNlciBMYXctYW5kLU9yZGVyIFJlZ3VsaWVydW5nc3d1dC4KCj4gTWZHLCBCYW1iaS4gQmFsZCBfRXhfSlUtTWl0Z2xpZWQuCkFoLCBzY2hvbiBzbyBhbHQ/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1ZWNrYmxpY2s6IENTVS1Tb2VkZXIgaW0gT25saW5lLUNoYXQgKENhZHJhY2gsIDEyLiBTZXAgMjAwMiwgMTI6MzU6MDgpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzE4MjQ0NDUgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwpFcyB6ZWlndCBtaXIgbnVyIGVybmV1dCB3YXMgZXMgZG9jaCBmdWVyIHVuc2VyaW9lc2Ugb25saW5lLU1hZ2F6aW5lIGdpYnQuClNvbGFuZ2UgZXMgZGllIHdlaXR2ZXJicmVpdGV0ZSBNZW50YWxpdGFldCBnaWJ0IEZsYXRyYXRlcyBhbHMgU3RhbmRsZWl0dW5nIHp1Cm1pc3NicmF1Y2hlbiwga29lbm5lbiBzaWUgc2ljaCBhdXMgdGVjaG5pc2NoZXIgU2ljaHQgenUgcmVhbGlzdGlzY2hlbiBQcmVpc2VuCm5pY2h0IHJlbnRpZXJlbi4gRWluemlnZSBNb2VnbGljaGtlaXQgZnVlciBJU0ROLUZsYXRyYXRlcyB6dSAiYXR0cmFrdGl2ZW4KUHJlaXNlbiIgaXN0IGVpbmUgc3RhYXRsaWNoZSBTdWJ2ZW50aW9uaWVydW5nIHVuZCBEQVMgd2lsbCB3b2hsIGthdW0gZWluZXIuCkxlc3QgRXVjaCBkZW4gIkJlcmljaHQiIG1hbCBrb21wbGV0dCBkdXJjaCwgaWNoIG11c3Mgc2FnZW4gbmljaHRzCnVucmVhbGlzdGlzY2hlcyBnZXNlaG4genUgaGFiZW4gKG5pY2h0IG1hbCBkYXMgVmVyYm90IGFsbGVyIEVnb3Nob290ZXIpLgoKQ2FkKiwgdWViZXJ6ZXVndGVyIENTbGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUnVlY2tibGljazogQ1NVLVNvZWRlciBpbSBPbmxpbmUtQ2hhdCAoTm9ubmUsIDEyLiBTZXAgMjAwMiwgMTM6MzU6MzIpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDMxODI2OTA4IHJnPXd3dwp+IyEgdGlkPTEwMzE4MjEwMDMKTmFqYSwgZGFzIG1pdCBkZXIgRmxhdHJhdGUgaXN0IHRvdGFsIEJhbmFuZSwgYWxsZWluZSBkaWUgRnJhZ2VzdGVsbHVuZyBzY2hvbi4KQWJlciBkYXMgbWl0IGRlbiBFZ28tU2hvb3Rlcm4sIEdvdGNoYSB1bmQgUGFpbnRiYWxsIGZpbmRlIGljaCBiZWRlbmtsaWNoLgpXaWVzbyB3ZXJkZW4ganVuZ2UgTWFlbm5lciB6dW0gUkwtVG9ldGVuIHN5c3RlbWF0aXNjaCBhdXNnZWJpbGRldCwgbWFuIG11c3MKc2ljaCBzb2dhciBtaXQgc2VpbmVtIEdld2lzc2VuIHJlY2h0ZmVydGlnZW4sIHdlbm4gbWFuIGRhcyBuaWNodCBtb2VjaHRlLAphbmRlcmVyc2VpdHMgZGFyZiBtYW4gYWJlciBWTCBuaWNodCBkaWUgV2VsdCB2b3IgYm9lc2VuIEF1c3NlcmlyZGlzY2hlbgp2ZXJ0ZWlkaWdlbiBvZGVyIEdlaXNlbG4gYXVzIGRlciBIYW5kIHZvbiBUZXJyb3Jpc3RlbiBiZWZyZWllbj8KCk5vbm5lLCBmaW5kZXQgZGllIExvZ2lrIG5pY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUnVlY2tibGljazogQ1NVLVNvZWRlciBpbSBPbmxpbmUtQ2hhdCAoRm9vYmFyLCAxMi4gU2VwIDIwMDIsIDEzOjM3OjE1KToKfiMhIHJuPU5vbm5lIHJ0PTEwMzE4MzA1MzIgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwpVbmQgd2llc28gZHVlcmZlbiBqdW5nZSBNYWVubmVyIGVzIG1pdCBHZXdpc3NlbnNiaXNzZW4gcmVjaHRmZXJ0aWdlbiwgbmljaHQKenVtIEJ1bmQgenUgZ2VoZW4sIGhhYmVuIGFiZXIgaGludGVyaGVyIGtlaW5lIFByb2JsZW1lIGRhbWl0IGluIFNpbXVsYXRpb25lbgphdWYgTWVuc2NoZW4genUgc2NoaWVzc2VuPwoKRGFyZiBtYW4gc29sY2hlIExldXRlIGVpZ2VudGxpY2ggZGVudXppZXJlbiB1bmQgZGllIG11ZXNzZW4gZGFubiBuYWNodHJhZWdsaWNoCnp1bSBCdW5kPyA6bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUnVlY2tibGljazogQ1NVLVNvZWRlciBpbSBPbmxpbmUtQ2hhdCAoSHVtbmksIDEyLiBTZXAgMjAwMiwgMTM6Mzg6NDEpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMzE4MzA2MzUgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwpXZWlsIGRpZXNlIE1lbnNjaGVuIHp3aXNjaGVuIFJlYWxpdGFldCB1bmQgU3BpZWwgdW50ZXJzY2hlaWRlbiBrb2VubmVuPwoKSHVtbmksIEtEViwgUGF6aWZpc3QsIFF1YWtlLXpvY2tlciAobmFqYSwgZnJ1ZWhlciBtYWwsIGJlaSBtZWhyIFplaXQgaGV1dGUKbm9jaCkuClBTOiBNdWRkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChOb25uZSwgMTIuIFNlcCAyMDAyLCAxMzozOTo0MSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAzMTgzMDYzNSByZz13d3cKfiMhIHRpZD0xMDMxODIxMDAzCk1vbWVudCBtYWwgZWJlbiEgSWNoIGhhYmUgc2VociB3b2hsIGVpbiBQcm9ibGVtIGRhbWl0LCBNZW5zY2hlbiB6dQplcnNjaGllc3NlbiwgYXVzIHdlbGNoZW0gR3J1bmQgYXVjaCBpbW1lci4gVW5kIGljaCBtb2VjaHRlIGRhenUgYXVjaCBuaWNodAphdXNnZWJpbGRldCB3ZXJkZW4uIFJMIGlzdCBSTCB1bmQgVkwgaXN0IFZMLiBJY2ggaGFiZSBhbGxlcmRpbmdzIGtlaW4gUHJvYmxlbSwKbWVpbmUgR2VzY2hpY2tsaWNoa2VpdCwgVGFrdGlnIG9kZXIgUmVha3Rpb24gbWl0IGVpbmVtIGFuZGVyZW4gU3BpZWxlciB6dQptZXNzZW4sIGRhIGRhYmVpIG5pZW1hbmQgenUgU2NoYWRlbiBrb21tdC4gSWNoIGthbm4gZGEgVkwgdW5kIFJMIHNlaHIgd29obAp0cmVubmVuLiBTb2xkYXRlbiB3ZXJkZW4gYWJlciBhdXNnZWJpbGRldCBSTCB6dSB0b2V0ZW4uIElzdCBkZXIgVW50ZXJzY2hpZWQKbmljaHQga2xhcj8/PwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChNYW5kcmFnb24sIDEyLiBTZXAgMjAwMiwgMTM6NDA6MDEpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMzE4MzA2MzUgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwpBbHNvIGRpZSBUYXRzYWNoZSwgZGFzcyBkaWUgVVMtQXJteSBkZXJhcnRpZ2UgU3BpZWxlIHp1ciBBdXNiaWxkdW5nIHZlcndlbmRldCwKc3ByaWNodCBJTUhPIEJhZW5kZS4KQXVjaCB3ZW5uIGljaCBhdWNoIHNjaG9uIENTIGdlc3BpZWx0IGhhYmUgKG1pdCBtYWVzc2lnZXIgQmVnZWlzdGVydW5nCmFsbGVyZGluZ3MpLCBmaW5kZSBpY2gsIGRhc3MgZXMgZHVyY2hhdXMgZWluIGxhdGVudGVzCkdld2FsdHN0ZWlnZXJ1bmdzcG90ZW50aWFsLCBkYXMgd2FocnNjaGVpbmxpY2ggbmljaHQgc3RhdGlzdGlzY2ggZXJmYXNzdAp3ZXJkZW4ga2FubiwgYmVpbmhhbHRldC4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUnVlY2tibGljazogQ1NVLVNvZWRlciBpbSBPbmxpbmUtQ2hhdCAoRWxiZXJldCwgMTIuIFNlcCAyMDAyLCAxMzo0MDoyMyk6Cn4jISBybj1IdW1uaSBydD0xMDMxODMwNzIxIHJnPXd3dwp+IyEgdGlkPTEwMzE4MjEwMDMKaWNoIGdsYXViZSBuaWNodCwgZGFzcyBkaWUgTGV1dGUgenVyIEJ1bmRlc3dlaHIgZ2VoZW4gc29sbGVuLCB3ZWlsIHNpZSBkb3J0ClNwYXNzIGhhYmVuIHNvbGxlbiB1bmQgc2ljaCBhYnJlYWdpZXJlbiBzb2xsZW4uCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChGb29iYXIsIDEyLiBTZXAgMjAwMiwgMTM6NDE6MjIpOgp+IyEgcm49SHVtbmkgcnQ9MTAzMTgzMDcyMSByZz13d3cKfiMhIHRpZD0xMDMxODIxMDAzCk1pciBpc3QgbmljaHQgYmV3dXNzdCwgZGFzcyBpY2ggQnVuZCByZWFsIGF1ZiBNZW5zY2hlbiBnZXNjaG9zc3NlbiBoYWV0dGUuCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJ1ZWNrYmxpY2s6IENTVS1Tb2VkZXIgaW0gT25saW5lLUNoYXQgKEJhbWJ1bGtvLCAxMi4gU2VwIDIwMDIsIDEzOjQxOjM4KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMTgzMDgyMyByZz13d3cKfiMhIHRpZD0xMDMxODIxMDAzCkh1cnJhLAoKaWNoIGdsYXViZSB3aXIgaGF0dGVuIGRpZXNlIERlYmF0dGUgc2VpdCBkZW0gVHJvdHRlbCB2b24gRXJmdXJ0IG5pY2h0IG1laHIuCld1cmRlIGxhbmdzYW0gYXVjaCBaZWl0LgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJ1ZWNrYmxpY2s6IENTVS1Tb2VkZXIgaW0gT25saW5lLUNoYXQgKEdsb2luc29uLCAxMi4gU2VwIDIwMDIsIDEzOjQzOjIyKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDMxODMwODAxIHJnPXd3dwp+IyEgdGlkPTEwMzE4MjEwMDMKV2FzIGZ1ZXIgQmFlbmRlIHNwcmljaHQgZGFzPyBEYXMgc2llIGZhZWhpZ2VyIHNpbmQgX1dlcmJ1bmdfIHp1IGJldHJlaWJlbiwKb2RlciBkYXNzIG1hbiBzaWNoIG1pdCBzb2xjaGVuIFNwaWVsZW4gcG90ZW50aWVsbGUgTW9lcmRlciAoU29sZGF0ZW4pCmhlcmFuemllaGVuIGthbm4uIEZ1ZWhyIG1hbCBEZWluZSBCYWVuZGUgaGllciBhdXMgdW5kIGJlbGFzc2UgZXMgbmljaHQgYmVpCnZhZ2VuIEFuZGV1dHVuZ2VuLiBBbnNvbnN0ZW4gUkwgPC0+IFZMLgpVbmQgamEsIGljaCBoYWJlIGF1Y2ggc2Nob24gQ1MgZ2VzcGllbHQsIGhhYmUgYXVjaCBpbiBlaW5lciBBRyBmcnVlaGVyIG51cgpMdWZ0Z2V3aGVyIGdlc2Nob3NzZW4gLi4uIHVuZCBoYWV0dGUgdHJvdHpkZW0gZWluIHJlY2h0IGFyZ2VzIFByb2JsZW0gYXVmCmVpbmVuIE1lbnNjaGVuIGF1Y2ggbnVyIHp1IHppZWxlbi4gQWxsZWluIHdlaWwgaWNoIGVzIG5pY2h0IG1hZyB3ZW5uIGF1ZiBtaWNoCmdlemllbHQgd2lyZCAoZGFoZXIgbWVpbmUgQWJuZWlndW5nIGdlZ2VuIFBhaW50YmFsbCkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChOb25uZSwgMTIuIFNlcCAyMDAyLCAxMzo0MzoyNik6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTAzMTgzMDgwMSByZz13d3cKfiMhIHRpZD0xMDMxODIxMDAzCkRhenUgd3Vlc3N0ZSBpY2ggZ2VybmUgbWFsIGVpbmUgUXVlbGxlLCBkaWUgc293YXMgZXJmYXNzdC4gT2IgTWVuc2NoZW4gbmFjaApDUy1TcGllbGVuIGdld2FsdGJlcmVpdGVyIHNpbmQgYWxzIHZvcmhlciBvZGVyIG5pY2h0LiBJY2gga2FubiBudXIgc2FnZW4sIGRhc3MKaWNoIGtlaW5lIEF1c3dpcmt1bmdlbiB2b24gRWdvLVNob290ZXJuIGJlaSBtaXIgZmVzdHN0ZWxsZS4gWnVtaW5kZXN0IG5pY2h0LAp3YXMgR2V3YWx0YmVyZWl0c2NoYWZ0IGJldHJpZmZ0LCB1bmQgaWNoIHdpbGwgZnVlciBtaWNoIGVudHNjaGVpZGVuIG9iIGljaApFZ28tU2hvb3Rlcm4gc3BpZWxlbiB3aWxsLCBvZGVyIGx1c3RpZ2UgQmFsbG9ucyBhbiBtb2VnbGljaHN0IHZpZWxlIGtsZWluZQpNYWVkY2hlbiB2ZXJ0ZWlsZW4gc29sbCwgdW0gZGVuIEhvZ2hzY29yZSB6dSBrcmllZ2VuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSdWVja2JsaWNrOiBDU1UtU29lZGVyIGltIE9ubGluZS1DaGF0IChHcmltbWJvcm4sIDEyLiBTZXAgMjAwMiwgMTM6NDU6NTMpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwMzE4MzA4MDEgcmc9d3d3Cn4jISB0aWQ9MTAzMTgyMTAwMwo+IGVpbiBsYXRlbnRlcyBHZXdhbHRzdGVpZ2VydW5nc3BvdGVudGlhbCwgZGFzIHdhaHJzY2hlaW5saWNoIG5pY2h0IAo+IHN0YXRpc3Rpc2NoIGVyZmFzc3Qgd2VyZGVuIGthbm4KCkhhc3QgRHUgIkdvdHRlcyBXZXJrIHVuZCBUZXVmZWxzIEJlaXRyYWciIChUaGUgQ2lkZXIgSG91c2UgUnVsZXMpIGdlbGVzZW4/CkRvcnQgd2lyZCBkZXIgQXJ6dCBhbHMgIm5pY2h0cHJha3RpemllcmVuZGVyIEhvbW9zZXh1ZWxsZXIiIGRpZmZhbWllcnQsIHVuZAprYXVtIGplbWFuZCBpbSBlbnRzcHJlY2hlbmRlbiBLcmVpcyB3dW5kZXJ0IHNpY2gsIHdpZSBzaWNoIGRhcyBudW4gZ2VuYXUKYWV1c3Nlcm4gc29sbC4gCkVzIGdpYnQgTGV1dGUgZGllIGhhbHRlbiBlcyBmdWVyIHJlY2h0ZmVydGlnYmFyIGFuZGVyZSBMZXV0ZSB6dSB0b2V0ZW4sIHVuZCBlcwpnaWJ0IExldXRlIGRpZSBhbmRlcmVyIE1laW51bmcgc2luZC4gSWNoIGhhbHRlIGVzIGZ1ZXIgdW53YWhyc2NoZWlubGljaCwgZGFzcwpzb2xjaGUgQ29tcHV0ZXJzcGllbGUgdmllbCBkYW1pdCB6dSB0dW4gaGFiZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM3OiBHYW1pbmcgUHJvaGliaXRpb24gKERhcmlhLCAxNS4gU2VwIDIwMDIsIDEwOjQ2OjI2KToKfiMhIHJuPVpvb2sgcnQ9MTAzMTMxMDI2NyByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4Ck5vY2ggc2Nob2VuZXIgYWxzIDk2MSBpc3QgZG9jaCBlaWdlbnRsaWNoIDk2MywgZGVyIHNpY2ggbWl0IGRlciBWZXJlaW5pZ3VuZwp2b24gQmllbmVuc2Nod2Flcm1lbiBiZXNjaGFlZnRpZ3QuLi4KCkFiIDMwMCBCaWVuZW4gaXN0IGVzIGVpbmUgUGFydGVpPwpEYXJpYSBpc3QgYXVjaCBrZWluZSBKdXJpc3RpbiwgaGF0IGFiZXIgdHJvdHpkZW0gZWluIGFrdHVlbGxlcyBCR0IgenVoYXVzZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHRlcyBCaWtlIC4uLiAoTGlhcmEsIDE2LiBTZXAgMjAwMiwgMTk6Mjk6NDUpOgpodHRwOi8vd3d3LmNvbmZlcmVuY2ViaWtlLmNvbS9Db25mZXJlbmNlL05ld21vZGVsL05ld01vZGVsLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc3RlaWdlcnVuZ2VuIChGb29iYXIsIDE2LiBTZXAgMjAwMiwgMjM6Mzg6NDEpOgpIYWxsby4KCkJpbiBnZXJhZGUgaW4gZGUucmVjLmdldHJhZW5rZSBhdWYgd2FzIGdlc3Rvc3Nlbiwgd2FzIGV2dGwuIGZ1ZXIgZGVuIGVpbmVuCm9kZXIgYW5kZXJlbiBpbnRlcmVzc2FudCBpc3Q6CgpVbnRlcjoKCmh0dHA6Ly96b2xsYXVrdGlvbi5iZmludi5kZS9wZXJsL2F1Y3Rpb24ucGw/Y2F0ZWdvcnk9YTAxJTIwX2FrdGlvbl9ob2Nod2Fzc2VyJgppdGVtPTEwMzIzMjkzODYKCmdpYnQgZXMgZWluZSBTb25kZXJha3Rpb24gZGVzIERldXRzY2hlbiBab2xscyB6dWd1bnN0ZW4gZGVyIEhvY2h3YXNzZXJvcGZlci4KSW4gZGVyIFJ1YnJpayAiU3Bpcml0dW9zZW4vUGFyZnJ1bS9LYWZmZWUiIHRhdWNodCB1bnRlciBhbmRlcmVtIGF1Y2ggZGllIGVpbgpvZGVyIGFuZGVyZSBGbGFzY2hlIFdoaXNreSBhdWYuCgpEYSBpY2ggaWNoIG1pY2ggbWl0IFdoaXNreSBuaWNodCBhdXNrZW5uZSBrYW5uIGljaCBsZWlkZXIgbml4IHVlYmVyIGRpZQpRdWFsaXRhZXQgZGVyIGRvcnQgYW5nZWJvdGVuZW4gR2Vzb2VmZmUgYXVzc2FnZW4uCgpHcnVzcywKCiAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZlcnN0ZWlnZXJ1bmdlbiAoR3JpbW1ib3JuLCAxNi4gU2VwIDIwMDIsIDIzOjQyOjU1KToKfiMhIHJuPUZvb2JhciBydD0xMDMyMjEyMzIxIHJnPXd3dwp+IyEgdGlkPTEwMzIyMTIzMjEKRGVyIFdoaXNrZXkgaXN0Li4uIHVuaW50ZXJlc3NhbnQuIERpZSBBa3Rpb24gaXN0IGhpbmdlZ2VuIG1hbCBlaW5lCmludGVyZXNzYW50ZSBJZGVlLCBmYXN0IHNvIGludGVyZXNzYW50IHdpZSBkaWUgVmVyc3RlaWdlcnVuZyBkZXIKU3RhYXRzZ2VzY2hlbmtlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zODogR2FtaW5nIFByb2hpYml0aW9uIChDdWNodWxsaW4sIDE4LiBTZXAgMjAwMiwgMTc6MDk6MDQpOgp+IyEgcm49RGFyaWEgcnQ9MTAzMjA3OTU4NiByZz13d3cKfiMhIHRpZD0xMDMxMTM1NzU4CkhhdCBpbnp3aXNjaGVuIGVpZ2VudGxpY2ggamVtYW5kIGdlcG9zdGV0LCBkYXNzIGRhcyBHZXNldHogZ2VraXBwdAp3dXJkZT8gKGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9wb2xpdGlrLzAsMTUxOCwyMTM0NjMsMDAuaHRtbCkKCihqZXR6dCByaWNodGlnZXIgVGhyZWFkPyBEYW5rZSwgSHVtbmkgOykpCkN1Y2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM5OiBHYW1pbmcgUHJvaGliaXRpb24gKEh1bW5pLCAxOC4gU2VwIDIwMDIsIDE3OjA5OjI2KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDMyMzYxNzQ0IHJnPXd3dwp+IyEgdGlkPTEwMzExMzU3NTgKSmEsIHd1cmRlIHNjaG9uIGdlcG9zdGV0LiBIYWV0dGUgaWNoIERpciBkaXJla3Qgc2FnZW4ga29lbm5lbiwgc29ycnkgOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKPyA/ID8gKFRhbmdhbHVyLCAxOS4gU2VwIDIwMDIsIDA5OjI4OjQ3KToKaHR0cDovL3d3dy5oYXVzZnJhdWVudm9uaGludGVuLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RvaWJlcnMgR2VzdGFtbWVsdGVzLi4uIChBcG9sbG9uaWEsIDE5LiBTZXAgMjAwMiwgMTk6MDU6MDIpOgpodHRwOi8vc3BkLm11ZW5zdGVyLm9yZy9zdG9pYmVyX3NvdW5kc19uZXUvc3RvaWJlcnNfd29ydGUuaHRtCgpBcG8qCmdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW0gRnJ1ZWh0YXUgKFRyb3ksIDIwLiBTZXAgMjAwMiwgMDk6MDQ6MTkpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzI0NDY2OTQgcmc9d2l0emUKfiMhIHRpZD0xMDMyNDQ2Njk0CnNvbGx0ZXN0IER1IHdlaXRlcmUgMTkyIFN0cm9waGVuIHp1ICJJbSBGcnVlaHRhdSBkaWUgWndlcmdlIiBzdWNoZW4sIHNvCmZpbmRlc3QKRHUgc2llIGhpZXI6Cmh0dHA6Ly93d3cucm9sZWdhbWUuY29tL21pdHRlbGxhbmRlL2xpZWQucGhwMz9pZD0zOQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzIGRlLnJlYy5maWxtLmtyaXRpa2VuIChWYW5pb24sIDIwLiBTZXAgMjAwMiwgMTU6Mzc6MDYpOgpFaW4gQXVzenVnIGF1cyBkZXIgS3JpdGlrIHp1ICdTaWducyc6CgpTaWducyAoVVNBIDIwMDIpCgpSZWdpZTogTS4gTmlnaHQgU2h5YW1hbGFuCgpEYXJzdGVsbGVyOiBNZWwgR2lic29uLCBKb2FxdWluIFBob2VuaXgsIENoZXJyeSBKb25lcywgUm9yeSBDdWxraW4sCkFiaWdhaWwgQnJlc2xpbiwgTS4gTmlnaHQgU2h5YW1hbGFuCgpJbmhhbHQ6IERhcyBLb3JuZmVsZCBlaW5lcyB2b20gR2xhdWJlbiBhYmdlZmFsbGVuZW4gUGZhcnJlcnMgd2lyZAp6ZXJ0cmFtcGVsdC4KCktyaXRpazogLi4uCgpWKiwgbmlja3QgZ3JpbnNlbmQgdWViZXIgZGllIHp1dHJlZmZlbmRlIEJlc2NocmVpYnVuZy4KUFM6IEtvcm5mZWxkIGlzIHdvaGwgZWluIFVlYmVyc2V0enVuZ3NmZWhsZXIuIEVzIHdhciBlaW4gTWFpc2ZlbGQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXRvbXVib290IChCaXJkeSwgMjMuIFNlcCAyMDAyLCAxODoyMDo0Mik6Cnd3dy50b3RhbGZyZWUubmV0L3Vib290L2F0b211Ym9vdC5odG1sCgpCaXJkeSAqdmVybWludCBkaWUgTWVlcmUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGFsbGUgZGllIGdlcm5lIHF1aXp6ZW4uLi4gKENyaXR0ZXIsIDI0LiBTZXAgMjAwMiwgMDE6Mzg6MjMpOgp2aWVsIHNwYXNzCgpodHRwOi8vd3d3LmxvcTEyLmF0L2NoZWNrcG9pbnQuaWh0bWwKCmdydXNzIGMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gKEdsb2luc29uLCAyNC4gU2VwIDIwMDIsIDAyOjQzOjQ5KToKRmFzdCBzbyBndXQgd2llIFdXVzoKQmF5ZXJpc2NoZXIgUnVuZGZ1bmssIDE6MjAgLSA2OjAwIFVocgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVlY2hlciAoR2xvaW5zb24sIDI1LiBTZXAgMjAwMiwgMjA6MTg6MTEpOgpGYWVsbHQgbWlyIG51ciBzbyBhdWYsIGZhbGxzIFdoaXNreWZyZXVuZGUgbWFsIGxlc2VuIHdvbGxlbjoKaHR0cDovL3d3dy5hbWF6b24uZGUvZXhlYy9vYmlkb3MvQVNJTi8zODk5MTAwNDI1L3JlZj1icl9sZl8vMDI4LTE2MjUyMjMtNzQ5MTcwCjgKIkJsZW5kZWQgV2hpc2t5LiBTY290Y2gsIElyaXNoLCBBbWVyaWNhbi4gRGVyIEd1aWRlIGZ1ZXIgS2VubmVyIHVuZApHZW5pZXNzZXIuIgo5LDk1IChSZXN0ZXhlbXBsYXIsIHNvbnN0IHd1ZXJkZSBpY2gga2VpbmUgV2VyYnVuZyBtYWNoZW4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnVlY2hlciAoR3JpbW1ib3JuLCAyNS4gU2VwIDIwMDIsIDIzOjUyOjMwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzI5Nzc4OTEgcmc9d3d3Cn4jISB0aWQ9MTAzMjk3Nzg5MQpFaW4gQnVjaCB1ZWJlciBQYXJhZG94b25lICgiYmxlbmRlZC4uLiBLZW5uZXIgdW5kIEdlbmllc3NlciIpLCBvZGVyIHdhcyBpc3QKZGFzIGZ1ZXIgZWluIEJ1Y2g/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnVlY2hlciAoR2xvaW5zb24sIDI1LiBTZXAgMjAwMiwgMjM6NTM6NTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzI5OTA3NTAgcmc9d3d3Cn4jISB0aWQ9MTAzMjk3Nzg5MQpXYXMgd2Vpc3MgaWNoLCBpY2ggc2FoIG51ciBiZWltIEJyb3dzZW4gVGl0ZWwgdW5kIFByZWlzIHVuZCB3ZWlzcyBkYXNzIGhpZXIKZWluZ2VmbGVpc2NodGUgV2hpc2t5dHJpbmtlciBydW1nYW1tZWxuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQnVlY2hlciAoSHVtbmksIDI2LiBTZXAgMjAwMiwgMDA6MzU6NDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzMjk5MDgzOSByZz13d3cKfiMhIHRpZD0xMDMyOTc3ODkxCkRhbm4gc29sbHRlc3QgRHUgYXVjaCB3aXNzZW4sIGRhc3MgZGFzIFphdWJlcndvcnQgZnVlciBXaGlza3l0cmlua2VyCiwsc2luZ2xlJycgaGVpc3N0IChiencuIFNpbmdsZSBNYWx0KS4KCkFsbGVzIHdhcyBhdXMgQW1pbGFuZCBrb21tdCB0YXVndCB6LkIgLklNSE8gZWggbnVyIGRhZnVlciAsZXMgbWl0IENvbGEgenUKbWlzY2hlbi4uCgpBYmVyIGRhbmtlIGZ1ZXIgZGVuIEhpbndlaXMuIE5laW4sIGljaCB3ZXJkcyBuaWNodCBrYXVmZW4gLi4uIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJ1ZWNoZXIgKEdsb2luc29uLCAyNi4gU2VwIDIwMDIsIDA0OjA0OjE2KToKfiMhIHJuPUh1bW5pIHJ0PTEwMzI5OTMzNDggcmc9d3d3Cn4jISB0aWQ9MTAzMjk3Nzg5MQpOdW4sIGRpZSBlaW56aWdlIFJlemVuc2lvbiBzYWd0IHdhcyB2b24gIkV4cGVydGUgLi4uIHRyYXV0IHNpY2ggQmxlbmRlZCAuLi4KaG9mZmUsIGRhc3MgZWluaWdlIiBzbyBpbiBkZXIgQXJ0LiBTbyB3aWUgaWNoIFJvdHdlaW4sIFdlaXNzd2VpbiwgdHJvY2tlbiwKaGFsYnRyb2NrZW4sIE11ZWxsZXIgVGh1cmdhdSwgUmllc2xpbmcsIFNpbHZhbmVyKGE/IDopICkgbmljaHQgZnVlciBkZXIKV2Vpc2hlaXQgbGV0enRlciBTY2hsdXNzIGhhbHRlIGtvZW5udGVuIGphIGF1Y2ggYW5kZXJlIG5pY2h0IG51ciBkZW0gU2luZ2xlCk1hbHQgdmVyZmFsbGVuLgpVbmQgbmVpbiwgaWNoIHd1ZXJkZSBSb290IEJlZXIgbmllbWFscyBtaXQgQ29sYSBtaXNjaGVuLiBEaWUgYXJtZSBDb2xhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQnVlY2hlciAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDIsIDA3OjQ3OjQ0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzMwMDYxNDEgcmc9d3d3Cn4jISB0aWQ9MTAzMjk3Nzg5MQpEYXMgd2lyZCBqYSBpbW1lciBzY2hsaW1tZXIuIE1pdCBXaGlza2V5LCBkZXIgZGllc2VuIE5hbWVuIHZlcmRpZW50LCBiZXRyaW5rdAptYW4gc2ljaCBuaWNodC4gVW5kIGRhcyBuaWNodCBhdXNzY2hsaWVzc2xpY2ggYXVzIGZpbmFuemllbGxlbiBHcnVlbmRlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQnVlY2hlciAoWmFybml5YSwgMjYuIFNlcCAyMDAyLCAwODo0MDo1MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMzAxOTI2NCByZz13d3cKfiMhIHRpZD0xMDMyOTc3ODkxCkljaCBmaW5kZSBhdWNoLCBkYXNzIGtuYXBwIDEwIEVVUk8genUgdmllbCBzaW5kIGZ1ZXIgZWluIEJ1Y2gsIGluIGRlbQplaWdlbnRsaWNoIG51ciAiVHUgZXMgbmljaHQhISIgZHJpbiBzdGVoZW4gc29sbHRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQnVlY2hlciAoTXVhZGliLCAyNi4gU2VwIDIwMDIsIDEwOjQ0OjQ3KToKfiMhIHJuPVphcm5peWEgcnQ9MTAzMzAyMjQ1MCByZz13d3cKfiMhIHRpZD0xMDMyOTc3ODkxCndhcyBpc3QgYW4gZWluZW0gbWlkZGxldG9uIHZlcnkgcmFyZSB2ZXJrZWhydCA/IApmdWVyIGRpZSAiZXhwZXJ0ZW4iOiBibGVuZGVkIHVuZCBhdWNoIG5vY2ggaXJpc2NoIDopIAphYmVyIGRlbm9jaCBsZWNrZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJ1ZWNoZXIgKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDAyLCAxMToxNDo0Nyk6Cn4jISBybj1NdWFkaWIgcnQ9MTAzMzAyOTg4NyByZz13d3cKfiMhIHRpZD0xMDMyOTc3ODkxCkhtbT8gV2Fzc2VuZGFzIGZ1ZXIgbmUgQXJndW1lbnRhdGlvbj8gRWluIFN0dWVjayBFcG9pc3NlcyBpc3QgYXVjaCBzZWhyCmxlY2tlciwgdHJvdHpkZW0gc2NocmVpYnQgZGEga2VpbiBNZW5zY2ggIldoaXNrZXkiIGRyYW4uIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQnVlY2hlciAoTXVhZGliLCAyNi4gU2VwIDIwMDIsIDEyOjU1OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMzMDMxNjg3IHJnPXd3dwp+IyEgdGlkPTEwMzI5Nzc4OTEKamFqYSAqdGFldHNjaGVsKgphYmVyIGthZXNlIHd1ZXJkZXN0IGR1IGRlbm5vY2ggenUgc2FnZW4gb2RlciA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQnVlY2hlciAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDIsIDEyOjU3OjI3KToKfiMhIHJuPU11YWRpYiBydD0xMDMzMDM3NzA2IHJnPXd3dwp+IyEgdGlkPTEwMzI5Nzc4OTEKSmEuIEFiZXIgenUgZGllc2VuIEd1bW1pc3R1ZWNrZW4gdm9uIEFsZGksIHdvICJHb3VkYSIgZHJhdWZzdGVodCwgbmljaHQKdW5iZWRpbmd0LiBVbmQsIG1hbCBhYmdlc2VoZW4gdm9uIGRlbiBCbGVuZGVkLCBzaW5kIGFtZXJpa2FuaXNjaGUgKGFsc28KQm91cmJvbnMpIHRhdHNhZWNobGljaCBrZWluZSBXaGlza2V5cy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWJzdXJkIDooIChLcmVsbGphLCAyNi4gU2VwIDIwMDIsIDEzOjAxOjAxKToKTW9pbiwKCmVpbmlnZSBMZXV0Y2hlbiBiZWkgU0FQIHNjaGVpbmVuIHVudGVyIFJlYWxpdGFldHN2ZXJsdXN0IHp1IGxlaWRlbi4KV2VyZnQgbWFsIGVpbmVuIEJsaWNrIGF1ZiAod2VubiBkYXMgbmljaHQgZWggc2Nob24gZmFzdCBhbGxlIHR1bik6CgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS90b2wtMjUuMDkuMDItMDAzLwoKRGllIGJvZXNlbiwgYm9zZW4gZGV1dHNjaGVuIEFyYmVpdHNzY2h1dHpnZXNldHplIHNpbmQgYWxzbyBzY2h1bGQsIGRhc3MgU0FQCm5pY2h0IHNvIGVpbmZhY2ggTGV1dGUgcmF1c3dlcmZlbiBkYXJmIHVtIDIxJSBVbXNhdHpyZW5kaXRlIHp1IGVycmVpY2hlbi4gSWNoCmdsYXViZSwgaWNoIGhhYmUgZ2VyYWRlIGdlbGVybnQsIHdvenUgZGllIEdlc2V0emUgZGEgc2luZC4KClRzY2h1ZXNzCiAgS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEJ1ZWNoZXIgKE11YWRpYiwgMjYuIFNlcCAyMDAyLCAxMzoxNTo0OCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTAzMzAzNzg0NyByZz13d3cKfiMhIHRpZD0xMDMyOTc3ODkxCmFmYWlrIGdpYnQgZXMgYXVjaCBhbWVyaWthbmlzY2hlbiBzaW5nbGUgbWFsdCB1bmQgZGVyIGJvdXJib24gaXN0CmhvY2h6dWhhbHRlbi4gCndhcnVtPwp3ZWlsIGRpZSBtZWlzdGVuIHdoaXNreXMgaGV1dHp1Z2FnZSBpbiBib3VyYm9uLWZhZXNzZXIgYXVzIHVzYSBnZWxhZ2VydAp3ZXJkZW4sIGRhbmFjaCBrb21tdCBzaGVycnkgYXVzIHNwYW5pZW4gdW5kIGRhbm4gZXJzdCBkaWUgdmVyc2NoaWVkZW5lbgpzcGV6aWFsZmFlbGxlIHdpZSBwb3J0IHVuZCBhZWhubGljaGVzIDopCmFsc28gZWluIGhvY2ggYXVmIGRlbiBib3VyYm9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogQnVlY2hlciAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDIsIDEzOjM1OjM5KToKfiMhIHJuPU11YWRpYiBydD0xMDMzMDM4OTQ4IHJnPXd3dwp+IyEgdGlkPTEwMzI5Nzc4OTEKSmEsIHVuZCBlaW4gSG9jaCBhdWYgUGZlcmRlbWlzdCwgbWl0IGRlbSBtYW4gaGVydm9ycmFnZW5kIGRlbiBsZWNrZXJlbiBTcGFyZ2VsCihvZGVyIHdhc2F1Y2hpbW1lcikgZHVlbmdlbiBrYW5uLiBUcm90emRlbSBtdXNzIGljaCBrZWluZW4gUGZlcmRlbWlzdCBmcmVzc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogQnVlY2hlciAoTXVhZGliLCAyNi4gU2VwIDIwMDIsIDEzOjU2OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMzMDQwMTM5IHJnPXd3dwp+IyEgdGlkPTEwMzI5Nzc4OTEKZHUgaGFzdCByZWNodCAuLi4KdW5kIGljaCBtZWluZW4gZnJpZWRlbiAKCm11YWRpYiAqc2VsYnN0Z2VyZWNodCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp3ZXJnZSB1bmQgaWhyZSBSZWNodGUuLi4gKENyaXR0ZXIsIDI3LiBTZXAgMjAwMiwgMjI6MDM6NTYpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcGFub3JhbWEvMCwxNTE4LDIxNjA2MiwwMC5odG1sCgp3b2JlaSBpY2ggZGFzIGF1c3NjaGxpZXNzbGljaCBhdWYgZGllIHp3ZXJnZSBoaWVyIGJlemllaGUuLi4gdW5kIG5pY2h0IGltIFJMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWndlcmdlIHVuZCBpaHJlIFJlY2h0ZS4uLiAoRWxpemFiZXRoLCAyNy4gU2VwIDIwMDIsIDIyOjA5OjE2KToKfiMhIHJuPUNyaXR0ZXIgcnQ9MTAzMzE1NzAzNiByZz13d3cKfiMhIHRpZD0xMDMzMTU3MDM2CmxvbCBkYXMgZXJpbm5lcnQgbWljaCBhbiBkZW4gc2F0eiwgZGVuIGdpbWxpIGJyYWNodGUgaW4gSGRSOgonbmllbWFuZCB3aXJmdCBtaXQgZWluZW0gendlcmchJwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBad2VyZ2UgdW5kIGlocmUgUmVjaHRlLi4uIChHbm9tZSwgMjkuIFNlcCAyMDAyLCAwMToyODoyMyk6Cn4jISBybj1FbGl6YWJldGggcnQ9MTAzMzE1NzM1NiByZz13d3cKfiMhIHRpZD0xMDMzMTU3MDM2Cm9obWFubi4gZHUgYmlzdCBzY2hsZWNodC4gZWluZmFjaCBudXIgc2NobGVjaHQuCmthbm4gbWFuIGZyYXVlbiBuaWNodCBlaW5mYWNoIGRpZSBzY2hyZWlicmVjaHRlIGluIGRlciBtcGEgZW50emllaGVuLApkYW1pdCBzaWUgc2ljaCBuaWNodCB6dSBqZWRlciBtb2VnbGljaGVuIGdlbGVnZW5oZWl0IGluIHN6ZW5lIHNldHplbgprb2VubmVuPyB6dW1pbmRlc3QgZGVuIG1pbmRlcmphZWhyaWdlbj8KCmduT21lIGRlbmt0IC4gbyAwICggd2VubiBzaWUgd2VuaWdzdGVucyByaWNodGlnIHppdGllcmVuIGtvZW5udGUuLi4gKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZXJuZXQgYWJzY2hhbHRlbiAoQW50aGVhLCAzMC4gU2VwIDIwMDIsIDE2OjAyOjQxKToKSG9mZmVudGxpY2ggbmljaHQgc2Nob24genUgYWx0Li4uCmh0dHA6Ly93d3cuaW50ZXJuZXRhYnNjaGFsdGVuLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmxhc2ggQXdhcmQgMjAwMiAoTGlhcmEsICAzLiBPa3QgMjAwMiwgMjM6MTc6NTkpOgp3d3cuZmxhc2gtYXdhcmQuY29tCgooTml4IGZ1ZXIgTGV1dGUgbWl0IGxhbmdzYW1lciBMZWl0dW5nLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpc2t1c3Npb24gKFNjaG9rbywgIDUuIE9rdCAyMDAyLCAxMzo1MTowOCk6CgpQYXNzZW5kIHp1IGRlbiBEaXNrdXNzaW9uZW4gaW4gZGVyIE1QQToKCmh0dHA6Ly93d3cuYWxsZWRlZ29kZW5hdm5ldmFyb3B0YWdldC5kay9nYWxsZXJ5L2ltYWdlcGFnZXMvYXJndWluZy5odG1sCgpTY2hva28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaXNrdXNzaW9uIChWYW5pb24sICA1LiBPa3QgMjAwMiwgMTQ6MTc6MDEpOgp+IyEgcm49U2Nob2tvIHJ0PTEwMzM4MTg2Njggcmc9d3d3Cn4jISB0aWQ9MTAzMzgxODY2OApEYXMgVC1TaGlydCBtaXQgZGVtIEF1ZmRydWNrOgogIlRoZXJlIGFyZSBvbmx5IDEwIHR5cGVzIG9mIHBlb3BsZSBpbiB0aGUgd29ybGQ6IFRob3NlIHdobyB1bmRlcnN0YW5kIGJpbmFyeQphbmQgdGhvc2Ugd2hvIGRvbid0IgoKZ2VmYWVsbHQgbWlyIGF1Y2ggZ2FueiBndXQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZUJheSAoVmFyZGlvbiwgIDcuIE9rdCAyMDAyLCAwOTozNjo0Mik6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MjA1NTcxMzIyNAoKRWluIGVjaHRlcyBTY2huYWVwcGNoZW4gOi0pCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZUJheSAoVGFuZ2FsdXIsICA3LiBPa3QgMjAwMiwgMDk6NTI6MjEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDMzOTc2MjAyIHJnPXd3dwp+IyEgdGlkPTEwMzM5NzYyMDIKQmVpIG1pciBmbGllZ2VuIGRpZSBtZWlzdGVuIFZlcnBhY2t1bmdlbiBhdWYgZGVuIE11ZWxsLi4uIHdlbm4gaWNoIHdhcyBpY2ggZGEKZnVlciBXZXJ0ZSB3ZWd3ZXJmZS4KClZpZWxsZWljaHQgamVtYW5kIEludGVyZXNzZSBhbiBlaW4gcGFhciBTYWZ0dHVldGVuIG9kZXIgZGVtIEthcnRvbiB2b24gdW5zZXJtClJhY2VsZXR0ZSA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVCYXkgKFpvb2ssICA3LiBPa3QgMjAwMiwgMTA6MDU6MjQpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTAzMzk3NzE0MSByZz13d3cKfiMhIHRpZD0xMDMzOTc2MjAyCkF1ZiBkZW4gTXVlbGw/IERhcyBzaW5kIGRvY2ggV2VydHN0b2ZmZS4uLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVCYXkgKE9ya3RvZXRlciwgIDcuIE9rdCAyMDAyLCAxMDowODo0NCk6Cn4jISBybj1ab29rIHJ0PTEwMzM5Nzc5MjQgcmc9d3d3Cn4jISB0aWQ9MTAzMzk3NjIwMgpXZXJ0c3RvZmZlPyBXdWVyZGUgaWNoIGF1Y2ggc28gc2VoZW4hICh3YXMga29zdGV0IGRhcyBHZXJhZXQgZWlnZW50bGljaApvcmlnaW5hbD8gW21pdCBvZGVyIG9obmUgVmVycGFja3VuZ10pCgpPcmtULCBzaWNoIGZyYWdlbmQgb2IgZGEgZWluZXIgZnVlciBkaWUgbGVlcmUgVmVycGFja3VuZyBtZWhyIGdlemFobHQgaGF0IGFscwplciBmdWVyIGRpZSBWZXJwYWNrdW5nIG1pdCBJbmhhbHQgaW0gTGFkZW4gemFobGVuIHd1ZXJkZS4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBlQmF5IChBbnRoZWEsICA3LiBPa3QgMjAwMiwgMTI6MzE6NTYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwMzM5NzgxMjQgcmc9d3d3Cn4jISB0aWQ9MTAzMzk3NjIwMgpBZWguLi4ga2VpbmUgQWhudW5nLCB3YXMgZGFzIEdlcmFldCBrb3N0ZXQsIGFiZXIgd2VubiBMZXV0ZSBiZXJlaXQgc2luZCwgZnVlcgpkaWUgVmVycGFja3VuZyAxMDEgRVVSIChFbmRwcmVpcyEpIHp1IGJlemFobGVuLCBkYW5uIG11c3MgZGFzIGVudHdlZGVyIHNlaHIKdG9sbCBzZWluLCBvZGVyIHNpZSB3b2xsZW4gZXMgc2VociBkcmluZ2VuZCBpbiBkZXIgT1ZQIHZlcmthdWZlbi4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGVCYXkgKEZpcmVoYXdrLCAgNy4gT2t0IDIwMDIsIDE5OjA3OjE3KToKfiMhIHJuPUFudGhlYSBydD0xMDMzOTg2NzE2IHJnPXd3dwp+IyEgdGlkPTEwMzM5NzYyMDIKa29udHJvbGxlCkthbm4gamEgc2VpbiwgZGFzcyBtZWluZSBBdWdlbiBtaWNoIGxhbmdzYW0gdmVybGFzc2VuLCBhYmVyIGljaCBnbGF1YmUgYXVmIGRlbQpQcmVpc3NjaGlsZCwgZGFzcyBtYW4gYXVmIGRlciBwYWNrdW5nIHNpZWh0IHN0ZWh0IGlyZ2VuZHdhcyBtaXQgKm5hY2ggTHVwZQpncmVpZiogMzcyLDkzID8gSWNoIGVya2VubiBkYXMgS29tbWEgaXJnZW5kd2llIG5ldCB1bmQgaGFiIGRlc3dlZ2VuIGVpbmZhY2gKbWFsIGRpZSBsZXR6dGVuIGVya2VubmJhcmVuIFppZmZlcm4gYWJnZXpvZ2VuIDspIEtvZW5udGUgYXVjaCBoaW5rb21tZW4gd2VubgppY2ggbWlyIGFuc2NoYXVlLCB3YXMgZnVlciBkaWUgRGluZ2VyIGJlaSBFYmF5IHNvIGdlYm90ZW4gd2lyZCA7KQoKRmlyZWhhd2ssIG5hY2hmb3JzY2hlbmQgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBlQmF5IChOaWNvbGFpLCAgNy4gT2t0IDIwMDIsIDE5OjM5OjM2KToKfiMhIHJuPUZpcmVoYXdrIHJ0PTEwMzQwMTA0Mzcgcmc9d3d3Cn4jISB0aWQ9MTAzMzk3NjIwMgphdWNoIGVpbiBrbGFzc2lrZXI6CgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTEzODA0NjA5MjQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGVCYXkgKFdhcmdvbiwgIDkuIE9rdCAyMDAyLCAxOTo1NToyNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTAzMzk4NjcxNiByZz13d3cKfiMhIHRpZD0xMDMzOTc2MjAyCkJlaSBlQmF5IGdlaGVuIGF1Y2ggd29obCBsZWVyZSBFdXJvLVN0YXJ0ZXItS2l0LVR1ZXRjaGVuIGZ1ZXIgbmVuIEh1bm5pIHdlZy4uLgp3YXMgZWluIGVjaHRlciBTYW1tbGVyIGlzdCwgd2lyZCBkYSB2aWVsbGVpY2h0IGF1Y2ggbm9jaCBldHdhcyBtZWhyIGZ1ZXIKaGlubGVnZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWxkY2hlbnMgKEFudGhlYSwgMTAuIE9rdCAyMDAyLCAxMjozMjowOSk6Cmh0dHA6Ly8yMTYuMTI3Ljg2LjE3Ni9waWNzL2R1bW1pZXMuZ2lmCmh0dHA6Ly8yMTYuMTI3Ljg2LjE3Ni9waWNzL2JpZ19kYWRkLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWViZXJlbWFuemlwYXRpb24gYW4gZGVuIFNjaHVsZW4/IChBbnRoZWEsIDEwLiBPa3QgMjAwMiwgMTQ6NTk6NDEpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvdW5pc3BpZWdlbC93dW5kZXJiYXIvMCwxNTE4LDIxNzIwOSwwMC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWVkZXIgbWFsIGVpbmUgU29ubmVuZXhwbG9zaW9uIChBbnRoZWEsIDE1LiBPa3QgMjAwMiwgMTA6MzA6MTQpOgpodHRwOi8vdHYueWFob28uY29tL25ld3Mvd3duLzIwMDIwOTE4LzEwMzIzNjEyMDAwOS5odG1sCkFiZXIgbmljaHQgZGllICJLb21tZW50YXJzZWl0ZW4iIHZlcmdlc3NlbjogCmh0dHA6Ly9jdXJpb3VzLmFzdHJvLmNvcm5lbGwuZWR1L3F1ZXN0aW9uLnBocD9udW1iZXI9Mjg1Cmh0dHA6Ly9jdXJpb3VzLmFzdHJvLmNvcm5lbGwuZWR1L3F1ZXN0aW9uLnBocD9udW1iZXI9MTU2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEbyB5b3UgcmVtZW1iZXI/IChTY2hsZWljaGVyLCAxNS4gT2t0IDIwMDIsIDE1OjQyOjA3KToKRnVlciBhbGxlIGFsdGVuIFNhZWNrZSBkaWUgc2ljaCBub2NoIGFuIGRpZSA4MGVyIHp1IGVyaW5uZXJuIGdsYXViZW4uIFdlbm4gSWhyCndpc3NlbiB3b2xsdCB3YXMgSWhyIGluIGRlbiBKYWhyZW4gYWxsZXMgdmVyZ2Vzc2VuIGhhYnQgc2NoYXV0IG1hbCB1bnRlcgp3d3cucTgwLmRlIHJlaW4uClNjaGxlaWNoZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChBbnRoZWEsIDE2LiBPa3QgMjAwMiwgMTc6MDg6MTUpOgpodHRwOi8vbXlzaXRlLmZyZWVzZXJ2ZS5jb20vSW50ZXJlb19MaWJlcmkvdGVzdDMuaHRtCgpJY2ggaGFiZSBlcyBuYXR1ZXJsaWNoIHNvZm9ydCB6dXIgIk5lcmVpZCIgZ2VicmFjaHQgKFdhc3Nlcm55bXBoZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgd2FlcnN0IER1IG15dGhvbG9naXNjaCBnZXNlaGVuPyAoTW9yZ290aCwgMTcuIE9rdCAyMDAyLCAwNzo0MzoxNik6Cn4jISBybj1BbnRoZWEgcnQ9MTAzNDc4MDg5NSByZz13d3cKfiMhIHRpZD0xMDM0NzgwODk1CkNoaW1lcmEgOikKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChOb25uZSwgMTcuIE9rdCAyMDAyLCAwOTo0NzowOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwMzQ4MzMzOTYgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpDb25ncmF0cy4uLiBZb3UncmUgQSBEcmFnb24hIQoKTm9ubmUsIGdyaW5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChHbm9tZSwgMTcuIE9rdCAyMDAyLCAxMTo1MDowNSk6Cn4jISBybj1Ob25uZSBydD0xMDM0ODQwODI4IHJnPXd3dwp+IyEgdGlkPTEwMzQ3ODA4OTUKYWxsZXMgbmljaHRzIGdlZ2VuIGVpbmVuIHBob2VuaXguID46KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FzIHdhZXJzdCBEdSBteXRob2xvZ2lzY2ggZ2VzZWhlbj8gKENhc3NhbmRyYSwgMTcuIE9rdCAyMDAyLCAxMTo1MDo0Nyk6Cn4jISBybj1Hbm9tZSBydD0xMDM0ODQ4MjA1IHJnPXd3dwp+IyEgdGlkPTEwMzQ3ODA4OTUKZGEga2FubiBpY2ggbWl0aGFsdGVuIEdub21pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYXMgd2FlcnN0IER1IG15dGhvbG9naXNjaCBnZXNlaGVuPyAoQmlyZHksIDE3LiBPa3QgMjAwMiwgMTI6NTM6MjUpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwMzQ4NDgyNDcgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpHb3Jnb25lIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYXMgd2FlcnN0IER1IG15dGhvbG9naXNjaCBnZXNlaGVuPyAoQXBvbGxvbmlhLCAxNy4gT2t0IDIwMDIsIDEyOjU3OjM1KToKfiMhIHJuPUJpcmR5IHJ0PTEwMzQ4NTIwMDUgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpBY2ggRHUgYXVjaD8gIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2Vic2l0ZXMgKENhc3NhbmRyYSwgMTcuIE9rdCAyMDAyLCAxMjo1ODoyMyk6Ckthbm4gbWlyIGVpbmVyIHNhZ2VuIHdvIG1hbiB3ZWJzaXRlcyByZWdpc3RyaWVyZW4gbGFzc2VuIGthbm4uIG5pY2h0IGluIG5lcgpVbnRlcnJ1YnJpayBzb25kZXIgbWl0IGtvbXBsZXR0ZXIgZG9tYWluLgpTcHJpY2gsIHdvIGthbm4gaWNoIG1pciBuZSBkb21haW4gZ2ViZW4gbGFzc2VuPwoKSGFsdGV0IG1pY2ggYml0dGUgbmljaHQgZnVlciB0b3RhbCBiZXNjaGV1ZXJ0LCBhYmVyIGljaCB3ZWlzIGRhcyBuaWNodC4KCkNhc3NhbmRyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdlYnNpdGVzIChHcmltbWJvcm4sIDE3LiBPa3QgMjAwMiwgMTM6MzA6MTgpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwMzQ4NTIzMDMgcmc9d3d3Cn4jISB0aWQ9MTAzNDg1MjMwMwp3d3cucHVyZXRlYy5kZQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2Vic2l0ZXMgKEplaG92YSwgMTcuIE9rdCAyMDAyLCAxMzozMTo1MCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTAzNDg1MjMwMyByZz13d3cKfiMhIHRpZD0xMDM0ODUyMzAzCkRhcyBrb21tdCBkcmF1ZiBhbiwgd2FzIER1IGZ1ZXIgRG9tYWlucyBoYWJlbiB3aWxsc3QuIEZ1ZXIgZGllIGdhZW5naWdlbiAoZGUsCmNvbSwgbmV0LCBvcmcpIGVtcGZlaGxlIGljaCBEaXIgd3d3LnByb3ZpZGVyZG9tYWluLmRlIC0gZWluIFB1cmV0ZWMtQWJsZWdlcgooYWx0ZXJuYXRpdiBkYXMgdGV1cmVyZSB3d3cudW5pdGVkLWRvbWFpbnMuZGUpLiBBYmVyIGZ1ZXIgZGllc2UgQW5nZWJvdGUKYnJhdWNoc3QgRHUgZWluZW4gZWlnZW5lbiBSZWNobmVyIGltIEludGVybmV0LCB3ZWlsIGRhIG51ciBkaWUgRE5TLUVpbnRyYWVnZQp1bmQgZGllIFJlZ2lzdHJpZXJ1bmcgZGFiZWkgc2luZC4gS2VpbiBQbGF0dGVucGxhdHouIFdlbm4gRHUgV2Vic2VpdGVuIGF1Y2gKaXJnZW5kd28gaGludGVybGVnZW4gd2lsbHN0IHVuZCBuaWNodCBhdWYga29zdGVubG9zZSBBbmdlYm90ZSAoZGllIGFsbGUKaXJnZW5kd2VsY2hlIE1hZW5nZWwgaGFiZW4pIGFuZ2V3aWVzZW4gc2VpbiB3aWxsc3QsIGdlaCBlaW5mYWNoIHp1IHB1cmV0ZWMuZGUuCkJlaSBkZW5lbiBoYWIgaWNoIGluIGRlbiBsZXR6dGVuIEphaHJlbiBpbW1lciBndXRlIEVyZmFocnVuZ2VuIGdlbWFjaHQuIFdlbm4KRHUgZXhwZXJpbWVudGllcmZyZXVkaWcgYmlzdCwga2FubnN0IER1IERpciBhdWNoIGVpbiBwYXNzZW5kZXJlcyBBbmdlYm90CnJhdXNzdWNoZW46IHd3dy53ZWJob3N0bGlzdC5kZS4gRGEgZ2VsYW5ndCBtYW4gYWJlciBhdWNoIHNjaG5lbGwgbWFsIGFuIGVpbmVuCnVuc2VyaW9lc2VuIEFuYmlldGVyLgoKSioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogd2Vic2l0ZXMgKE11YWRkaWIsIDE3LiBPa3QgMjAwMiwgMTU6MDE6NDMpOgp+IyEgcm49SmVob3ZhIHJ0PTEwMzQ4NTQzMTAgcmc9d3d3Cn4jISB0aWQ9MTAzNDg1MjMwMwpBbHRlcm5hdGl2IHp1IHB1cmV0ZWMgaGFiZSBpY2ggbWl0IGRvbWFpbmZhY3RvcnkgKHd3dy5kb21haW5mYWN0b3J5LmRlKSBzZWhyCmd1dGUgRXJmYWhydW5nZW4gZ2VtYWNodCAtIGRhcyBQcmVpcy9MZWlzdHVuZ3N2ZXJoYWVsdG5pcyBzdGltbXQgaGllciBhdWNoLgoKTXVhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiB3ZWJzaXRlcyAoQmFtYnVsa28sIDE3LiBPa3QgMjAwMiwgMTU6MTE6NTEpOgp+IyEgcm49TXVhZGRpYiBydD0xMDM0ODU5NzAzIHJnPXd3dwp+IyEgdGlkPTEwMzQ4NTIzMDMKd3d3LmFkbmV3bWVkaWEtaG9zdGluZy5kZSBpc3Qgc2VociBiaWxsaWcuIFVuZCBiaXNoZXIgaGF0dGUgaWNoIGtlaW5lClByb2JsZW1lLiBBdXNlcmRlbSBiZWtvbW1lIGljaCBmdWVyIG5lbiBnZXdvcmJlbmVuIEt1bmRlbiAzIEV1cm8gOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChUYXJhbmlzLCAxNy4gT2t0IDIwMDIsIDIyOjQzOjA3KToKfiMhIHJuPUFudGhlYSBydD0xMDM0NzgwODk1IHJnPXd3dwp+IyEgdGlkPTEwMzQ3ODA4OTUKWW91J3JlIEFuIEVyaW55ZXMhISAqZyoKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIHdhZXJzdCBEdSBteXRob2xvZ2lzY2ggZ2VzZWhlbj8gKEthcmltYSwgMTguIE9rdCAyMDAyLCAxMzo1OToyNyk6Cn4jISBybj1UYXJhbmlzIHJ0PTEwMzQ4ODczODcgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpXZWVlZWVlZSEKQ29uZ3JhdHMuLi4gWW91J3JlIGEgV3l2ZXJuIQpZb3UndmUgZ290IGEgY29vbGVyIGljb24gdGhhbiB0aGUgRHJhZ29uIF5ffiAKCkthcmltYSB0aGUgbGl0dGxlIEZ1cnJ5LVd5dmVybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgd2FlcnN0IER1IG15dGhvbG9naXNjaCBnZXNlaGVuPyAoV2hpdGV0aWdlciwgMjAuIE9rdCAyMDAyLCAxMzozNDoyMSk6Cn4jISBybj1UYXJhbmlzIHJ0PTEwMzQ4ODczODcgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpkcmFnb24gOikKV1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgd2FlcnN0IER1IG15dGhvbG9naXNjaCBnZXNlaGVuPyAoUGFyZGF1eiwgMjAuIE9rdCAyMDAyLCAxOToyODoxMCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwMzUxMTM2NjEgcmc9d3d3Cn4jISB0aWQ9MTAzNDc4MDg5NQpQaG9lbml4IAouLi4gbnVyIHVtIGRlbiB0aHJlYWQgYW0gbGF1ZmVuIHp1IGhhbHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChWYW5pb24sIDIwLiBPa3QgMjAwMiwgMTk6MzI6MTApOgp+IyEgcm49UGFyZGF1eiBydD0xMDM1MTM0ODkwIHJnPXd3dwp+IyEgdGlkPTEwMzQ3ODA4OTUKTmFndXQsIGljaCBoYXR0ZSBlcyB6d2FyIHNjaG9uIGdlbG9lc2NodCwgd2VpbCdzIGRpZSBmYWxzY2hlIFJ1YnJpayB3YXIsIGFiZXIKd2FzIHNvbGwncyAtIGlzIFNvbm50YWc6CiAgU3VjY3VidXMuCgpWKiwgZ3JpbnN0IHZlcmZ1ZWhyZXJpc2NoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIEdlc3VuZGUgTWFubiAoUm9uZGEsIDIwLiBPa3QgMjAwMiwgMjM6MDU6MjkpOgpFaW5mYWNoIGtsYXNzZSAtIHVuZCBzbyB2b2VsbGlnIG5ldXRyYWwuLi4KCmh0dHA6Ly93d3cuZGVyLWdlc3VuZGUtbWFubi5kZS8KCkJlc29uZGVycyBkZXIgU2VsYnN0dGVzdCBoYXRzIGluIHNpY2ggKApodHRwOi8vd3d3LmRlci1nZXN1bmRlLW1hbm4uZGUvZXJla3Rpb25zc3RvZXJ1bmdlbi9zZWxic3R0ZXN0Lmh0bWwgKSAtIFppdGF0CmdlZmFlbGxpZz8gIkhpbnRlcmdydW5kCkRlciAiRnJhZ2Vib2dlbiB6dXIgc2V4dWVsbGVuIEdlc3VuZGhlaXQgYmVpbSBNYW5uIChJSUVGLTUpICJ3dXJkZSBhdWYgZGVyCkdydW5kbGFnZSBkZXMgIkludGVybmF0aW9uYWwgSW5kZXggb2YgRXJlY3RpbGUgRnVuY3Rpb24gKElJRUYpIiB1bnRlcgpCZWliZWhhbHR1bmcgdm9uIGRlc3NlbiBob2hlciBTZW5zaXRpdml0YWV0IHVuZCBTcGV6aWZpdGFldCBhbHMgdmVya3Vlcnp0ZXMKRGlhZ25vc2VpbnN0cnVtZW50ICg1IEZyYWdlbikgZnVlciBFcmVrdGlsZSBEeXNmdW5rdGlvbiBlbnR3aWNrZWx0LiIKCkVpbmZhY2ggdW13ZXJmZW5kLiBCaXR0ZSBuaWNodCBvaG5lIGF1c3JlaWNoZW5kIEFsa29ob2xrb25zdW0gZ2VuaWVzc2VuLgpEYW5rZS4KClJvbmRhICp6dSBOZWJlbndpcmt1bmdlbiBmcmFnZW4gU2llIGlocmVuIEFyenQgb2RlciBBcG90aGVrZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVyIEdlc3VuZGUgTWFubiAoU3Ryb2hhbG0sIDIwLiBPa3QgMjAwMiwgMjM6MzA6MDApOgp+IyEgcm49Um9uZGEgcnQ9MTAzNTE0NzkyOSByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CldpZSB1bSBIaW1tZWxzIHdpbGxlbiBrb21tdCBtYW4gYXVmIG5vcm1hbHN0ZXJibGljaGVyIFN1cmZlciBhdWYgc29sY2hlClNlaXRlbj8gOykKCkhhZWxtY2hlbiwgc2NoYXV0IFJvbmRhIGVudGdlaXN0ZXJ0IGFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERlciBHZXN1bmRlIE1hbm4gKFJvbmRhLCAyMC4gT2t0IDIwMDIsIDIzOjMyOjA4KToKfiMhIHJuPVN0cm9oYWxtIHJ0PTEwMzUxNDk0MDAgcmc9d3d3Cn4jISB0aWQ9MTAzNTE0NzkyOQpJY2gga2FubiBkYSBuaXggZGFmdWVyISBJY2ggaGFiIG51ciBGZXJuc2VoZW4gZ2VzY2hhdXQuIERhIGthbSBQZWxlLiBVbmQgZGVyCkxpbmsuIERhIG11c3N0ZSBpY2ggZGEgZWluZmFjaCByZWluc2NoYXVlbi4gVW5kIG1laW5zdGUgRHUgbmljaHQgYXVjaCwgZGFzcwp1bnMgZGllIEJyb3NjaHVlcmUgIldhcyBGcmF1ZW4gdWViZXIgTWFlbm5lciB3aXNzZW4gc29sbHRlbiIgLSAiRGllc2Ugc3BlemllbGwKZnVlciBGcmF1ZW4gZ2VzY2hyaWViZW5lIEJyb3NjaHVlcmUgbW9lY2h0ZSBoZWxmZW4sIGRpZSBOb2V0ZSB1bmQgQmVsYXN0dW5nZW4KZGVzIFBhcnRuZXJzIGJlc3NlciB6dSB2ZXJzdGVoZW4gdW5kIHZlcnN0YWVuZG5pc3ZvbGwgZGFtaXQgdW16dWdlaGVuLiIKd2lya2xpY2ggd2VpdGVyIGhpbGZ0PwoKUm9uZGEgKnNjaGllYnRzIGF1ZiBXZWlzc3dlaW4uIEljaCBrYW5uIG5peCBkYWZ1ZXIhKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIEdlc3VuZGUgTWFubiAoU3Ryb2hhbG0sIDIwLiBPa3QgMjAwMiwgMjM6MzU6MzYpOgp+IyEgcm49Um9uZGEgcnQ9MTAzNTE0OTUyOCByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkFsc28gYmVpIGZyYXVlbiBzY2hlaW50IGRpZSBCcm9zY2h1ZXJlIG5peCB6dSBoZWxmZW4sIHZlcnN0ZWhlbiB3b2xsZW4gZGllbWljaApuaWUgOykKCkhhZWxtY2hlbiwgaGF0IGtlaW4gZWluZmFjaCB6dSBiZWRpZW5lbmRlcyB1c2VyLWludGVyZmFjZSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciBHZXN1bmRlIE1hbm4gKEdsb2luc29uLCAyMS4gT2t0IDIwMDIsIDE0OjQzOjE2KToKfiMhIHJuPVJvbmRhIHJ0PTEwMzUxNDk1Mjggcmc9d3d3Cn4jISB0aWQ9MTAzNTE0NzkyOQpEZXIgVGVzdCBpc3QgZ3V0LiBFaW4gZHVyY2hzY2huaXR0bGljaGVyIHVudGVyLTE0LWphZWhyaWdlciBoYXQgZGVtenVmb2xnZQpFcmVrdGlvbnNzdG9lcnVuZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGVyIEdlc3VuZGUgTWFubiAoVmFuaW9uLCAyMS4gT2t0IDIwMDIsIDIyOjAyOjUyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzUyMDQxOTYgcmc9d3d3Cn4jISB0aWQ9MTAzNTE0NzkyOQpGcmFndCBzaWNoIGxldHp0bGljaCB3YXMgZGVyIFZlcmFuc3RhbHRlciBkaWVzZXIgS2FtcGFnbmUgc2ljaCBlaWdlbnRsaWNoCmVyaG9mZnQ/IE1laHIgVTE0IGluIFRoZXJhcGllPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERlciBHZXN1bmRlIE1hbm4gKENhdHdlYXpsZSwgMjIuIE9rdCAyMDAyLCAxMjo0MDoxMCk6Cn4jISBybj1WYW5pb24gcnQ9MTAzNTIzMDU3MiByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkRhcyBpc3QgZWluZSBLYW1wYWduZSB2b24gUGZpemVyLiBWb24gZGFoZXIgaXN0IGRhcyByZWluZSBXZXJidW5nLiAKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFzcyBkaWUgTGV1dGUgZWhlciBnbGF1YmVuLCBzaWUKc2VpZW4gZGFyYW4gZXJrcmFua3QgdW5kIGluIGRlciBIb2ZmbnVuZywgZWluIEFyenQgdmVyc2NocmVpYmUgaWhuZW4gZGFubgpkYXMgdm9uIGlobmVuIGdld3VlbnNjaHRlIE1lZGlrYW1lbnQuIAoKR2lidHMgaXJnZW5kbmUgVW50ZXJzdWNodW5nIHp1LCBRdWVsbGUgaGFiIGljaCB2ZXJnZXNzZW4sIHNjaGllbiBhYmVyIAooYSkgcGxhdXNpYmVsIHVuZCAoYikgaW4gZGVuIHVudGVyc3VjaHRlbiBGYWVsbGVuIHNpZ25pZmlrYW50IHVuZCAoYykKaGFiZW4gZGFzIFBoYXJtYS1MZXV0ZSBhdWNoIGJlc3RhZXRpZ3QuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGVyIEdlc3VuZGUgTWFubiAoR2xvaW5zb24sIDIyLiBPa3QgMjAwMiwgMTU6Mzk6NTMpOgp+IyEgcm49Wm9vayBydD0xMDM1MjkzOTI2IHJnPXd3dwp+IyEgdGlkPTEwMzUxNDc5MjkKU2llaGUgYXVjaCBSaXRhbGluPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGVyIEdlc3VuZGUgTWFubiAoWm9vaywgMjIuIE9rdCAyMDAyLCAxNTo0MDoxNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM1MjkzOTkzIHJnPXd3dwp+IyEgdGlkPTEwMzUxNDc5MjkKV2FzIGlzdCBkYXM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogRGVyIEdlc3VuZGUgTWFubiAoR2xvaW5zb24sIDIyLiBPa3QgMjAwMiwgMTU6NDI6NTkpOgp+IyEgcm49Wm9vayBydD0xMDM1Mjk0MDE1IHJnPXd3dwp+IyEgdGlkPTEwMzUxNDc5MjkKRWluIE1pdHRlbGNoZW4genVyIEtvbnplbnRyYXRpb25zc3RlaWdlcnVuZy4gV2lyZCBpbiBkZW4gVVNBIHRvbm5lbndlaXNlCnZlcnNjaHJpZWJlbiAod2llIG5ldWxpY2ggYXVjaCBpbiBTb3V0aHBhcmsgcGFyb2RpZXJ0KS4gR2VnZW4gQURTIC0gYXR0ZW50aW9uCmRlZmljaWVuY3kgc3luZHJvbWUsIHdlaWwgc28gdmllbGUgemFwcGVsbmRlIEtpbmRlciBkYXJhbiBsZWlkZW4uCklzdCBqYSBhdWNoIHdpcmtsaWNoIHZlcmJyZWl0ZXQgZGllc2UgQXVmbWVya3NhbWtlaXRzc2Nod2FlY2hlLiBOYSBndXQsIGluIGRlcgpERFIgaGF0dGUgbWFuIGtlaW4gUml0YWxpbiwgZGVzaGFsYiBoYXQgZGVyIE5ldXJvbG9nZSB6dSBtZWluZXIgTXV0dGVyIGRhbm4KZ2VtZWludCBpY2ggd2FlcmUgaW0gVW50ZXJyaWNodCBudXIgdW50ZXJmb3JkZXJ0LiBTY2hhZGUsIHNvbnN0IGhhZXR0ZSBpY2gKYXVjaCB3ZWlzc2UgU3B1cmVuIHNjaG5pZWZlbiBrb2VubmVuIChkYXMgaXN0IGRlciBTY2hlcnogYW0gUmFuZGUgLSBkYSBSaXRhbGluCnRhdHNhZWNobGljaCBkaWUgS29uemVudHJhdGlvbnNmYWVoaWdrZWl0IHN0ZWlnZXJ0IHdpcmQgZXMgdWViZXIgZGllIHdhaGxsb3NlClZlcnNjaHJlaWJ1bmcgYW4gS2luZGVyIGhpbmF1cyB2b24gU3R1ZGVudGVuIGdlcm4gbWlzc2JyYXVjaHQpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERlciBHZXN1bmRlIE1hbm4gKFpvb2ssIDIyLiBPa3QgMjAwMiwgMTU6NDQ6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNTI5NDE3OSByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkFoamEsIGdlbmF1LiBJY2ggZXJpbm5lcmUgbWljaCBkYXJhbi4gRGFzIHdhciB3b2hsIGF1Y2ggZWluZXIgZGVyCnVudGVyc3VjaHRlbiBGYWVsbGUgKGRhcyBNYXJrZXRpbmctR2Vkb2VucyBwbHVzIGRpZSBBdXN3ZWl0dW5nIGRlcgpWZXJzY2hyZWlidW5nIHZlcmJ1bmRlbiBtaXQgZWluZXIgcGxvZXR6bGljaGVuIHp1bmFobWUgdm9uIEFEUykuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IERlciBHZXN1bmRlIE1hbm4gKEdsb2luc29uLCAyMi4gT2t0IDIwMDIsIDE1OjQ1OjU2KToKfiMhIHJuPVpvb2sgcnQ9MTAzNTI5NDI1MCByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkRpZXNtYWwgbWFjaGVuIHNpZSBlcyBiZXNzZXIuICJNZWluIEtpbmQgbGVpZGV0IGFuIEFEUyIga2xpbmd0IHNvIGxhbmd3ZWlsaWcuCiJJY2ggaGFiZSBlcmVrdGlsZSBEeXNmdW5rdGlvbmVuIiBrbGluZ3Qgc2Nob24gcmljaHRpZyBmYWNoY2hpbmVzaXNjaCB1bmQKYmVtaXRsZWlkZW5zd2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEZXIgR2VzdW5kZSBNYW5uIChBbnRoZWEsIDIyLiBPa3QgMjAwMiwgMTY6MzY6MTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNTI5NDM1NiByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkFEUyBpc3QgYXVjaCBkYXMgYW0gbWVpc3RlbiBtaXNzYnJhdWNodGUgU3luZHJvbS4gSW1tZXIsIHdlbm4gZGFzIEtpbmQgbmljaHQKYXVmcGFzc2VuIHdpbGwsIGlzdCBlcyBBRFMuIEVnYWwsIG9iIGRhcyB3ZWdlbiBVZWJlcmZvcmRlcnVuZyBpc3QsIG9kZXIgYXVjaApVbnRlcmZvcmRlcnVuZywgb2IgZGVyamVuaWdlIGVpbmUgU2NocmVpYnNjaHdhZWNoZSBoYXQsIG9kZXIgc2ljaCBpZGlvdGlzY2gKdmVyaGFsdGVuZGUgRWx0ZXJuLi4uCkdhbnogZWdhbCwgZXMgaXN0IGVyc3QgbWFsIGFsbGVzIEFEUy4gRGFtaXQgaGF0IG1hbiBlaW4gc2Nob2VuZXMgU2NobGFnd29ydCwKa2FubiBUaGVyYXBpZW4gYW5zZXR6ZW4gKGRpZSBhdWNoIG5peCBicmluZ2VuLCB3ZWlsIHNpZSBmdWVyIEFEUyBnZWRhY2h0IHNpbmQKdW5kIG5pY2h0IGZ1ZXIgZGllIGdlcmFkZSB3aXJrbGljaCBleGlzdGllcmVuZGUgS3JhbmtoZWl0KSwga2FubiBkaWUgS2luZGVyCm1pdCByZWNodCBoYXJ0ZW4gTmVydmVubWl0dGVsbiBydWhpZyBtYWNoZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBEZXIgR2VzdW5kZSBNYW5uIChMaWFyYSwgMjIuIE9rdCAyMDAyLCAyMToxMTo0OSk6Cn4jISBybj1BbnRoZWEgcnQ9MTAzNTI5NzM3MyByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkR1IHNvbGx0ZXN0IGRpZXNlcyB0cmF1cmlnZSBLYXBpdGVsIG1pdCBldHdhcyBtZWhyIFNhY2hsaWNoa2VpdCBiZWhhbmRlbG4uIEVzCmlzdCBuaWNodCBlaW5mYWNoLCBpbiBzb2xjaGVuIEZhZWxsZW4gZGllIHJpY2h0aWdlIE1vZWdsaWNoa2VpdCBlaW5lcgpCZWhhbmRsdW5nIHp1bSBXb2hsIGVpbmVzIEtpbmRlcyB6dSBmaW5kZW4uCkF1c2VyZGVtIGlzdCBSaXRhbGluIF9rZWluXyBOZXJ2ZW5taXR0ZWwgLi4uIG1hbiBrb2VubnRlIGVzIGFscwpBdWZwdXRzY2htaXR0ZWwgYmV6ZWljaG5lbiwgZGVubiBlcyBpc3QgYW1waGV0YW1pbmFlaG5saWNoLiBVbSBzbwppbnRlcmVzc2FudGVyLCBkYXNzIG1hbiBlcyBlaW5zZXR6dCwgdW0gZWluZSBBcnQgQmVydWhpZ3VuZyBkdXJjaHp1ZnVlaHJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEZXIgR2VzdW5kZSBNYW5uIChHbG9pbnNvbiwgMjMuIE9rdCAyMDAyLCAxNjoxMzo1Mik6Cn4jISBybj1MaWFyYSBydD0xMDM1MzEzOTA5IHJnPXd3dwp+IyEgdGlkPTEwMzUxNDc5MjkKRGllIHJpY2h0aWdlIEJlaGFuZGx1bmc/IE1vbWVudCAuLi4gbWVociBaZWl0IGRlciBFbHRlcm4gZnVlciBkaWUgUHJvYmxlbWUKaWhyZXIgS2luZGVyPyBOYWVlZWggLSB6dSBzY2h3aWVyaWcuIERhcyBtdXNzIEFEUyBzZWluLCByaW4gbWl0IGRlbiBQaWxsZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogRGVyIEdlc3VuZGUgTWFubiAoTGlhcmEsIDIzLiBPa3QgMjAwMiwgMjE6MDc6NDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTAzNTM4MjQzMiByZz13d3cKfiMhIHRpZD0xMDM1MTQ3OTI5CkljaCBiaW4gZnJvaCwgZGFzcyBkdSBkaWUgU2FjaGUgbWFsIHNvIGFuc3ByaWNoc3QuIEF1Y2ggd2VubiBlcyBtaWNoIGVpbiB3ZW5pZwplbnR0YWV1c2NodCwgZGVubiBkZWluIEVpbnN0aWVnc2FydGlrZWwgc2NoaWVuIG1pciByZWNodCBzYWNobGljaCB1bmQgZmFjaGxpY2gKZ3V0IHp1IHNlaW4uCkR1IGhhc3QgbWljaCBhbGxlcmRpbmdzIG5pY2h0IHJpY2h0aWcgdmVyc3RhbmRlbi4gRGVubiBpY2ggc3RpbW1lIGRpciBfenVfLAp3YXMgZGllIE1laW4tS2luZC1icmF1Y2h0LWVpbmUtUGlsbGUtTWVudGFsaXRhZXQgdm9uIEVsdGVybiB1c3cuIGJldHJpZmZ0LgpEaWUgVXJzYWNoZW4gdW5kIGVpbmUgcmljaHRpZ2UgQmVoYW5kbHVuZyB6dSBmaW5kZW4sIGlzdCBuaWNodCBsZWljaHQuCkRhcyBiZXRyaWZmdCBFbHRlcm4sIEFlcnp0ZSwgR2VzZWxsc2NoYWZ0IC4uLiBnbGVpY2hlcm1hc3Nlbi4KCkxlaWRlciBzaW5kIHdpciBpbnp3aXNjaGVuIHNvIGVyem9nZW4sIGRhc3MgYWxsZXMgYXVmIEtub3BmLSBiencuCidQaWxsZW4nZHJ1Y2sgcmVwYXJpZXJiYXIvJ2hlaWxiYXInIChoaWVyIHdvaGwgZWhlciBpbSBTaW5uZSB2b24gYW5wYXNzYmFyKQpzZWluIG11c3MuIERhcyB0cmlmZnQgbmF0dWVybGljaCBlcnN0IHJlY2h0IGF1ZiBzbyBldHdhcyBMZWJlbmRpZ2VzIHdpZSBlaW4KS2luZCB6dSwgZGFzIG5pY2h0IG1pdHRlbHMgZWluZXIgQW5sZWl0dW5nIGJlZGllbnQgd2VyZGVuIGthbm4gdW5kIGRlc2hhbGIKbWVuc2NobGljaGUgUXVhbGl0YWV0IGJ6dy4gc28gZWluZmFjaGUgdW5kIGluendpc2NoZW4gbmljaHQgbWVociB2b3JoYW5kZW5lCkRpbmdlIHdpZSBaZWl0IGVyZm9yZGVydC4KCkluIGRlciBQcmF4aXMgc2llaHQgbWFuIHNpY2ggZGFubiBnZWZhbmdlbiB6d2lzY2hlbiBadXN0YWVuZGlna2VpdCB1bmQKbmF0dWVybGljaCBhdWNoIEZhZWhpZ2tlaXQgZGVyIEJldGVpbGlndGVuIHVuZCBBbnNwcnVjaHNkZW5rZW4gZGVyCkdlc2VsbHNjaGFmdCAuLi4KRGllIE1pc2NodW5nLCBkaWUgZGFyYXVzIGVudHN0ZWh0LCBpc3QgdHJhdXJpZ2Vyd2Vpc2UgbWVpc3Qgc2VociBhYmdlaG9iZW4gdm9uCmRlbiB0YXRzYWVjaGxpY2hlbiBIaWxmc21vZWdsaWNoa2VpdGVuIGZ1ZXIgZWluIEtpbmQuIERhZHVyY2ggdWViZXJzaWVodCBtYW4KZGllIHZpZWxlbiBrbGVpbmVuIFNjaHJpdHRlLCBkaWUgamVkZXIgQmV0ZWlsaWd0ZSBnZWhlbiBtdXNzLiBVbmQgendhciBsZWlkZXIKYXVjaCBkYW5uLCB3ZW5uIGdlbnVnIGd1dGVyIFdpbGxlIHZvcmhhbmRlbiBpc3QuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BpZWxldmVyYm90L0dyaWVjaGVubGFuZCAoUGlsZ3JpbSwgMjUuIE9rdCAyMDAyLCAxOTozNToyMSk6CkVVIHJ1ZnQgR3JpZWNoZW5sYW5kIHdlZ2VuIFNwaWVsZXZlcmJvdCB6dXIgT3JkbnVuZwpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9wbXotMjUuMTAuMDItMDAzLwoKV2llc28gd3VuZGVydCBtaWNoIGRhcyBuaWNodCA7LSkgCgpQaWxncmltCgpQUzogRGllIFNwaWVsZWluZHVzdHJpZSBzZXR6dCBtLlcubi4gbmFjaCBpbiBEZXV0c2NobGFuZAptZWhyIHVtLCBhbHMgTXVzaWsgb2RlciBWaWRlbyAuLi4gdmllbGVpY2h0IGF1Y2ggZWluIEdydW5kLAp3YXJ1bSBkZXJuZSBVbXNhdHp0IHp1cnVlY2sgZ2VodC4KKi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcyB3YWVyc3QgRHUgbXl0aG9sb2dpc2NoIGdlc2VoZW4/IChBcmssIDI4LiBPa3QgMjAwMiwgMTA6NTg6NDMpOgp+IyEgcm49Tm9ubmUgcnQ9MTAzNDg0MDgyOCByZz13d3cKfiMhIHRpZD0xMDM0NzgwODk1Ck1pdCwgc293YXMgYWJhIGF1Y2ggOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmUgc2Nob2VuZSBVaHIuLi4gKEh1bW5pLCAyOS4gT2t0IDIwMDIsIDEwOjQ5OjQzKToKZmluZGV0IG1hbiBoaWVyOgoKaHR0cDovL3d3dy55dWdvcC5jb20vdmVyMy9zdHVmZi8wMy9mbGEuaHRtbAoKdW5kIGRlbiBsaW5rIGZhbmQgaWNoIGF1Y2ggenVtIGVpbm1hbCBhbmd1Y2tlbiBnYW56IG5ldHQsIGtlaW5lIEFobnVuZyBvYiBkZXIKc2Nob24gYWx0IGlzdDoKCmh0dHA6Ly93d3cuYjN0YS5jb20vcmVhbGlzdGljLWludGVybmV0LXNpbXVsYXRvci8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDLlkuQi5PLlIuRy4gKFdoaXRldGlnZXIsICAzLiBOb3YgMjAwMiwgMTI6NDc6MDMpOgpodHRwOi8vd3d3LmJydW5jaGluZy5jb20vdG95cy90b3ktY3lib3JnZXIuaHRtbAoKV1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQy5ZLkIuTy5SLkcuIChDdWNodWxsaW4sICAzLiBOb3YgMjAwMiwgMTI6NTE6MDYpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDM2MzI0MDIzIHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKSi5PLkYuOiBKdWRnZSBPcHRpbWl6ZWQgZm9yIEZpZ2h0aW5nCkIuTy5JLk4uRy46IEJlaW5nIE9wdGltaXplZCBmb3IgSW5maWx0cmF0aW9uIGFuZCBOb2N0dXJuYWwgR3JhdGlmaWNhdGlvbgpSLlUuTS5BLlQuQS46IFJvYm90aWMgVW5pdCBNYW51ZmFjdHVyZWQgZm9yIEFzc2Fzc2luYXRpb24gYW5kIFRlcnJhbiBBbmFseXNpcwpaLk8uTy5LLjogWm9tYmllIE9wdGltaXplZCBmb3IgT2JzZXJ2YXRpb24gYW5kIEtpbGxpbmcKCk5hamEuIEljaCBnbGF1YmUsIFpvb2sgc2NobmVpZGV0IGRldXRsaWNoIC4uLiBlaHIgLi4uIHplcnNldHp1bmdmYWVoaWdlciBhYi4KCkMuVS5DLkguOiBDeWJlcm5ldGljIFVuaXQgQ2FsaWJyYXRlZCBmb3IgSGFybQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQy5ZLkIuTy5SLkcuIChXaGl0ZXRpZ2VyLCAgMy4gTm92IDIwMDIsIDEyOjU0OjI0KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDM2MzI0MjY2IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKQy5VLkMuSC5VLkwuTC5JLk4uOiBDeWJlcm5ldGljIFVuaXQgQ2FsaWJyYXRlZCBmb3IgSGF6YXJkb3VzIFV0aWxpdHkvTGlmZWZvcm0KTGltaXRlZCB0byBJbmZpbHRyYXRpb24gYW5kIE51bGxpZmljYXRpb24gLi4uCgpXLlQ6IFdpcmVsZXNzIFRlY2huaWNpYW4uLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDLlkuQi5PLlIuRy4gKEJhbWJpLCAgMy4gTm92IDIwMDIsIDEyOjU1OjAyKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTAzNjMyNDQ2NCByZz13d3cKfiMhIHRpZD0xMDM2MzI0MDIzCklyZ2VuZHdpZSBrb21tdHMgbWlyIHNvIHZvciwgYWxzIHNlaWVuIGRpZSBCb3JnIHppZW1saWNoIGtyaWVnZXJpc2NoLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQy5ZLkIuTy5SLkcuIChMaWFyYSwgIDMuIE5vdiAyMDAyLCAxNDoxNDoyMik6Cn4jISBybj1CYW1iaSBydD0xMDM2MzI0NTAyIHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKTWl0IGVpbmVtIEwuIGFtIEFuZmFuZyBoZWlzc3QgbWFuIGplZGVuZmFsbHMgTGlmZWZvcm0gLi4uIHVuZCBiZWtvbW10CmlyZ2VuZHdhcyB3YXJtZHVzY2hlcm1hZXNzaWdlcy4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDLlkuQi5PLlIuRy4gKEVsZGFyb24sICAzLiBOb3YgMjAwMiwgMTQ6MjU6NDApOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDM2MzI0MDIzIHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKQi5VLkcuOiBCZWluZyBVc2VkIGZvciBHcmF0aWZpY2F0aW9uCgpFbGRhcm9uLCBsYWNoZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEMuWS5CLk8uUi5HLiAoTGlhcmEsICAzLiBOb3YgMjAwMiwgMTQ6MzQ6MjcpOgp+IyEgcm49RWxkYXJvbiBydD0xMDM2MzI5OTQwIHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKVC5JLkwuTC5ZLjogVHJhbnNmb3JtaW5nIEludGVsbGlnZW50IExpZmVmb3JtIExpbWl0ZWQgdG8gWWFyZHdvcmsKCkxpYXJhLCBicmVpdGVzdCBncmluc2VuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQy5ZLkIuTy5SLkcuIChIdW1uaSwgIDMuIE5vdiAyMDAyLCAxNDozODozNyk6Cn4jISBybj1MaWFyYSBydD0xMDM2MzMwNDY3IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKSHVtYW5vaWQgVXNlZCBmb3IgTWF0aGVtYXRpY3MgYW5kIE5vY3R1cmFsIEluZmlsdHJhdGlvbi4KCldvdy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDLlkuQi5PLlIuRy4gKFZhbmlvbiwgIDMuIE5vdiAyMDAyLCAxNDo0MDo0NCk6Cn4jISBybj1IdW1uaSBydD0xMDM2MzMwNzE3IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKV2FzIGluZmlsdHJpZXJzdCBEdSBkZW5uIG5hY2h0cz8gQnJhdWVyZWllbj8KVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEMuWS5CLk8uUi5HLiAoTGlhcmEsICAzLiBOb3YgMjAwMiwgMTQ6NDE6MDYpOgp+IyEgcm49TGlhcmEgcnQ9MTAzNjMzMDQ2NyByZz13d3cKfiMhIHRpZD0xMDM2MzI0MDIzCkhhaDoKCkEuUi5LLjogQW5kcm9pZCBSZXNwb25zaWJsZSBmb3IgS2lsbGluZwoKTS5VLkEuRC5JLkIuOiBNZWNoYW5pY2FsIFVwZ3JhZGVkIEFuZHJvaWQgRGVzaWduZWQgZm9yIEluZmlsdHJhdGlvbiBhbmQgQmF0dGxlCgpMaWFyYSwgd2lyZCBsYW5nc2FtIHNvIGVpbmlnZXMga2xhciAqZ3JpbnMqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBDLlkuQi5PLlIuRy4gKExpYXJhLCAgMy4gTm92IDIwMDIsIDE0OjQ0OjM2KToKfiMhIHJuPVZhbmlvbiBydD0xMDM2MzMwODQ0IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKRXIgZmlsdHJpZXJ0IG5hdHVlcmxpY2gsIFZhbmlvbi4gOykgVW5kIHp3YXIgQmllciBtaXQgSGlsZmUgc2VpbmVyIE5pZXJlbi4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEMuWS5CLk8uUi5HLiAoV2hpdGV0aWdlciwgIDMuIE5vdiAyMDAyLCAxNDo1MTozNik6Cn4jISBybj1MaWFyYSBydD0xMDM2MzMxMDc2IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKTS5VLkQuOiBNYWNoaW5lIFVzZWQgZm9yIERlc3RydWN0aW9uClplcnN0b2VyZW4gdm9uIHdhcyB3b2hsPyAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEMuWS5CLk8uUi5HLiAoTGlhcmEsICAzLiBOb3YgMjAwMiwgMTQ6NTU6MTgpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDM2MzMxNDk2IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKUy5ULlUuUC5TLjogU3ludGhldGljIFRyYW5zZm9ybWluZyBVbml0IFByb2dyYW1tZWQgZm9yIFNhYm90YWdlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBDLlkuQi5PLlIuRy4gKE9sbGksICAzLiBOb3YgMjAwMiwgMTU6MDE6NTQpOgp+IyEgcm49TGlhcmEgcnQ9MTAzNjMzMTcxOCByZz13d3cKfiMhIHRpZD0xMDM2MzI0MDIzCkphamEsIGRhcyBzYWd0IGFsbGVzOgoKU0NSSVBUOiBTeW50aGV0aWMgQ29uc3RydWN0IFJlc3BvbnNpYmxlIGZvciBJbmZpbHRyYXRpb24gYW5kIFBvdGVudGlhbAogICAgICAgIFRyb3VibGVzaG9vdGluZwoKT2xsaSwgZ3JpbnN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogQy5ZLkIuTy5SLkcuIChGb29iYXIsICAzLiBOb3YgMjAwMiwgMTU6MDI6NDApOgp+IyEgcm49T2xsaSBydD0xMDM2MzMyMTE0IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKRS5SLlMuVC5LLkkuTC5MLgoKRWxlY3Ryb25pYyBSb2JvdGljIFNvbGRpZXIgVHJhaW5lZCBmb3IgS2FtaWthemUgSW5maWx0cmF0aW9uIGFuZCBMb2dpY2FsCkxlYXJuaW5nLgoKTmFqYSA6bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEMuWS5CLk8uUi5HLiAoTGlhcmEsICAzLiBOb3YgMjAwMiwgMTU6MDM6NDkpOgp+IyEgcm49TGlhcmEgcnQ9MTAzNjMzMDQ2NyByZz13d3cKfiMhIHRpZD0xMDM2MzI0MDIzCkhtLCBkZXIgZWluZSBFaGVtYW5uIHRhdWd0IG51ciBkYXp1LCB1bSBkZW4gSG9mIHp1IGZlZ2VuIHVuZCBkZXIgYW5kZXJlIGlzdAplaW5lIEFydCB3YW5kZWxuZGVyIE92ZXJraWxsIC4uLiA7KQpGLkkuUi5FLkguQS5XLksuOiBGdW5jdGlvbmFsIEludGVsbGlnZW50IFJlcGxpY2FudCBFbmdpbmVlcmVkIGZvciBIYXphcmRvdXMKQXNzYXNzaW5hdGlvbiBhbmQgV29ybGR3aWRlIEtpbGxpbmcKCkxpYXJhIC4gbyBPIChkYXMgRGluZyBrb21tdCB3b2hsIGJlaSBsYW5nZW4gTmFtZW4gZXJzdCByaWNodGlnIGF1ZiBUb3VyZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEMuWS5CLk8uUi5HLiAoV2hpdGV0aWdlciwgIDMuIE5vdiAyMDAyLCAxNTowOTozOSk6Cn4jISBybj1MaWFyYSBydD0xMDM2MzMyMjI5IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKQy5ILkEuTy5TLjogQ3liZXJuZXRpYyBIeWRyYXVsaWMgQW5kcm9pZCBPcHRpbWl6ZWQgZm9yIFNhYm90YWdlICA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQy5ZLkIuTy5SLkcuIChXaGl0ZXRpZ2VyLCAgMy4gTm92IDIwMDIsIDE1OjE1OjMwKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTAzNjMzMjU3OSByZz13d3cKfiMhIHRpZD0xMDM2MzI0MDIzCmdhbnogc28gZ3V0IGlzdCBkYXMgcHJvZ3JhbW0gd29obCBkb2NoIG5pY2h0Li4uCksuSS5MLkwuRS5SLjogS2luZXRpYyBJbnRlbGxpZ2VudCBMaWZlZm9ybSBMaW1pdGVkIHRvIEV4cGxvcmF0aW9uIGFuZCBSZXBhaXIKLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBDLlkuQi5PLlIuRy4gKEthcmltYSwgIDQuIE5vdiAyMDAyLCAwOTowMzo1Mik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwMzYzMzI5MzAgcmc9d3d3Cn4jISB0aWQ9MTAzNjMyNDAyMwpIbW0uLiBvYiBkYXMgc28gc3RpbW1lbiBrYW5uPwoKVC5SLlYuRS5TLjogVGVjaG5pY2lhbiBSZXNwb25zaWJsZSBmb3IgVmlvbGVuY2UgYW5kIEVmZmljaWVudCBTYWJvdGFnZQoKS2FyaW1hIC0gendlaWZlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBDLlkuQi5PLlIuRy4gKEFyaywgIDQuIE5vdiAyMDAyLCAxMTo1OTowNyk6Cn4jISBybj1MaWFyYSBydD0xMDM2MzMwODY2IHJnPXd3dwp+IyEgdGlkPTEwMzYzMjQwMjMKSWNoIGhhYiBkZW4gbmV0IGdlc2NocmllYmVuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBTdWNoYmlsZCAoTm9ubmUsICA2LiBOb3YgMjAwMiwgMTQ6MzA6MTcpOgpodHRwOi8vY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz9mYWNlcy5qcGcKCkdhbnogc2Nob2VuIGtuaWZmbGlnLCBmaW5kZSBpY2guCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW4gU3VjaGJpbGQgKEFudGhlYSwgIDYuIE5vdiAyMDAyLCAxNDozNTo0Mik6Cn4jISBybj1Ob25uZSBydD0xMDM2NTg5NDE3IHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKSG0uLi4gaWNoIGZpbmRlIGltIE1vbWVudCBudXIgMTAgR2VzaWNodGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbiBTdWNoYmlsZCAoSHVtbmksICA2LiBOb3YgMjAwMiwgMTQ6NTE6MjcpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzY1ODk3NDIgcmc9d3d3Cn4jISB0aWQ9MTAzNjU4OTQxNwpqYSwgYXVmIDEwIGJpbiBpY2ggYXVjaCBnZWtvbW1lbiwgd29iZWkgaWNoIG5lIElkZWUgaGFiIHdvIGRhcyAxMS4gaXN0IGFiZXIKbm9jaCBuaWNodCB3aXJrbGljaCBlcmZhc3N0LiBBYmVyIGludGVyZXNzYW50ZXIgRWZmZWt0LCBlcnN0IGhhYiBpY2ggZ2FyIG5peApnZXNlaGVuIHVuZCBtaXR0bGVyd2VpbGUgc2VoIGljaCBkaWUgMTAgdm9lbGxpZyBrbGFyLi4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWluIFN1Y2hiaWxkIChMaWFyYSwgIDYuIE5vdiAyMDAyLCAxNTozODozNSk6Cn4jISBybj1IdW1uaSBydD0xMDM2NTkwNjg3IHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKSG0sIGljaCBzZWhlIDExIHVuZCBlaW4gQXVnZS4gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIFN1Y2hiaWxkIChMaWFyYSwgIDYuIE5vdiAyMDAyLCAxNTo1OTo0Nyk6Cn4jISBybj1Ob25uZSBydD0xMDM2NTg5NDE3IHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKQWNoLCB1ZWJyaWdlbnMsIHdhcyB6dXIgSG9lbGxlIGlzdCBkYXMgZnVlciBlaW5lIFNlaXRlPyA7KSBIYWJlIG1pciBtYWwgZWluaWdlCmRlciBhbmRlcmVuIEJpbGRlciBhbmdlc2VoZW4uIDspKQoKRGFzIGhpZXIgaXN0IGF1Y2ggbmV0dDoKaHR0cDovL2NyYXp5LmNvZGV0cm9vcC5jb20vcmFuZGltZy8/ZmVsbGF0aW8uanBnCgpMaWFyYSwgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluIFN1Y2hiaWxkIChBbnRoZWEsICA2LiBOb3YgMjAwMiwgMTY6MDE6MTcpOgp+IyEgcm49TGlhcmEgcnQ9MTAzNjU5NDc4NyByZz13d3cKfiMhIHRpZD0xMDM2NTg5NDE3CkljaCBtYWcgZGVuIGhpZXI6Cmh0dHA6Ly9jcmF6eS5jb2RldHJvb3AuY29tL3JhbmRpbWcvP2xpbnV4Y2hpcS5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbiBTdWNoYmlsZCAoTGlhcmEsICA2LiBOb3YgMjAwMiwgMTY6MzA6NDIpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzY1OTQ4Nzcgcmc9d3d3Cn4jISB0aWQ9MTAzNjU4OTQxNwpodHRwOi8vY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz9nb29kX3dpZmUuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW4gU3VjaGJpbGQgKEFudGhlYSwgIDYuIE5vdiAyMDAyLCAxNjozMTozNCk6Cn4jISBybj1MaWFyYSBydD0xMDM2NTk2NjQyIHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKV2FzIGF1Y2ggZnVlciBtYW5jaGUgaGllciB3aWNodGlnIHdhZXJlIChnZXJhZGUgYmVpIE11ZC1UcmVmZmVuKQpodHRwOi8vY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz9kcnVuay5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9uZSByaW5nLi4uIChTY2h3dWJiZWwsICA2LiBOb3YgMjAwMiwgMTc6NDA6NTApOgpBbHNvLCB3ZW5uIGhpZXIgc2Nob24gYWJzdXJkZSBGb3RvcyBkdXJjaGdlem9nZW4gd2VyZGVuLi4uIFNjaG9lbiBpc3QgYXVjaApmb2xnZW5kZXM6CgpodHRwOi8vY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz9vbmVyaW5nLmpwZwoKdW5kIHdpZWRlciB3ZWcsClNjaHd1YmJlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9uZSByaW5nLi4uIChKZWhvdmEsICA3LiBOb3YgMjAwMiwgMDM6MTA6NDgpOgp+IyEgcm49U2Nod3ViYmVsIHJ0PTEwMzY2MDA4NTAgcmc9d3d3Cn4jISB0aWQ9MTAzNjYwMDg1MApBdWNoIG1hbCB3YXMgdm9yc2NobGFnZW46CgpodHRwOi8vY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz90YXR0b29waWMuanBnCgpKKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW4gU3VjaGJpbGQgKEJhbWJ1bGtvLCAgNy4gTm92IDIwMDIsIDE4OjEzOjQxKToKfiMhIHJuPUFudGhlYSBydD0xMDM2NTg5NzQyIHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKSWNoIHNlaGUgYXVjaCBudXIgMTAsIHdlbm4gaWNoIGRpZSBTcGllZ2VsdW5nIHZvbiBtZWluZW0gR2VzaWNodCBhdWYgZGVtCk1vbml0b3IgbWl0emFlaGxlIHNpbmQgZXMgMTEgOi0pCldhcyBpc3QgZWlnZW50bGljaCBtaXQgZGVtIEdlc2ljaHQgdm9uIGRlbSBSZWl0ZXI/IFphZWhsdCBkYXMgYXVjaD8KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaW4gU3VjaGJpbGQgKExpYXJhLCAgNy4gTm92IDIwMDIsIDE5OjU1OjE3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwMzY2ODkyMjEgcmc9d3d3Cn4jISB0aWQ9MTAzNjU4OTQxNwpBbHNvIDExIHNpbmQgZXMgbWl0IFNpY2hlcmhlaXQuCkdydWVzc2UsIExpYXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIeXBub3NlPyAoTW9yZ290aCwgIDguIE5vdiAyMDAyLCAxNToyNjoxNCk6Cmh0dHA6Ly93d3cuZGVyaXZvLmNoL3JhYmFpbGthbC10ZXN0L2h5cG5vc2UvCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPbmUgcmluZy4uLiAoQmlyZHksICA4LiBOb3YgMjAwMiwgMTY6MDk6MDkpOgp+IyEgcm49SmVob3ZhIHJ0PTEwMzY2MzUwNDggcmc9d3d3Cn4jISB0aWQ9MTAzNjYwMDg1MApjcmF6eS5jb2RldHJvb3AuY29tL3JhbmRpbWcvP0V0aGVybmV0S2lsbGVyLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT25lIHJpbmcuLi4gKEJpcmR5LCAgOC4gTm92IDIwMDIsIDE2OjMwOjM2KToKfiMhIHJuPUJpcmR5IHJ0PTEwMzY3NjgxNDkgcmc9d3d3Cn4jISB0aWQ9MTAzNjYwMDg1MApmdWVyIGFsbGUga2F0emVubGllYmhhYmVyISAKY3JhenkuY29kZXRyb29wLmNvbS9yYW5kaW1nLz9jYXQuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbiBTdWNoYmlsZCAoUm9sYW5kLCAgOS4gTm92IDIwMDIsIDAyOjU4OjI1KToKfiMhIHJuPUFudGhlYSBydD0xMDM2NTg5NzQyIHJnPXd3dwp+IyEgdGlkPTEwMzY1ODk0MTcKCkhtbW0gaWNoIGhhYiBkaWUgMTEgZ2VmdW5kZW4gLi4uCmx1c3RpZ2Vyd2Vpc2UsIHdlbm4gbWFuIGRpZSBnYW56ZSBzYWNoZSBhdWYgZGVua29wZiBzdGVsbHQgYmVrb21tdCBtYW4gbm9jaAplaW5zIC4uIGFsc28gd2FlcmVuIGVzIGphIDEyIDopCgpNZkcgUm8uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWljaGVpLmRlIChMaWFyYSwgMTMuIE5vdiAyMDAyLCAyMDoxMzoyOSk6CgpHYXJhZ2VuaGVpemVyCgpBdXNsYWVuZGlzY2hlLUV1cm8tU2FtbWxlcgoKTm9raWFvcmlnaW5hbGtsaW5nZWx0b25iZW51dHplcgoKWndlaXdlY2tlcnN0ZWxsZXIKCkdldHJhZW5rZWthcnRlbi1ld2lnLVN0dWRpZXJlci11bmQtZGFubi1XYXNzZXItQmVzdGVsbGVyCgpXZXJ3aXJkbWlsbGlvbmFlcm1pdHJhdGVyCgoKTGlhcmEsIGxhbmd3ZWlsdCBzaWNoIGdyYWRlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKdW1wJ24nQnVtcCAoV2hpdGV0aWdlciwgMTUuIE5vdiAyMDAyLCAyMzozMjo0Myk6Cnd3dy5qdW1wYnVtcC5taW5lLm51CmNvb2xlcyBzcGllbCwgYmlzIHp1IDQgc3BpZWxlciwgYXVjaCBtdWx0aXBsYXllci1pbnRlcm5ldCwgNCBrbGVpbmUgaGFlc2NoZW4KaW4gZWluZW0gbGV2ZWwsIHppZWw6IGF1ZiBkZW4gZ2VnbmVyIHp1IHNwcmluZ2VuIHVuZCB0b3QgenUgbWFjaGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnVtcCduJ0J1bXAgKE5vbm5lLCAxNi4gTm92IDIwMDIsIDA5OjI2OjE3KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTAzNzM5OTU2MyByZz13d3cKfiMhIHRpZD0xMDM3Mzk5NTYzCkRhcyBpc3QgamEgdm9sbCBTcGxhdHRlciEgRGFzIHNvbGwgZnVlciBkaWUgZ2FuemUgRmFtaWxpZSBzZWluPyBXZW5uIG1laW5lClRvY2h0ZXIgd3Vlc3N0ZSwgZGFzcyBpY2ggc3Vlc3NlLCBrbGVpbmUgSGFlc2NoZW4gdW1nZWJyYWNodCBoYWJlIQoKTm9ubmUsIHp1dGllZnN0IGVyc2NodWV0dGVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFtYXpvbi5kZSAtIDUgRXVybyBHdXRzY2hlaW4gKFJvbmRhLCAxOC4gTm92IDIwMDIsIDAyOjE5OjIyKToKClZpZWxsZWljaHQgd2lsbCBqYSBqZW1hbmQgdm9uIEV1Y2ggenVnZmFlbGxpZyBncmFkZSBiZWkgQW1hem9uLmRlIGVpbmthdWZlbiAtCmRhbm4gcHJvYmllcnQgZG9jaCBtYWwgZGllc2VuIDUgRXVyby1HdXRzY2hlaW46ICJwc2stc3R1ZGVudGVuIi4KVHNjaHVlc3MgdW5kIHZpZWwgU3Bhc3MgYmVpbSBFaW5rYXVmZW4sCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVzb2ZmZW4/IChGb29iYXIsIDE5LiBOb3YgMjAwMiwgMTk6NDY6MjcpOgpodHRwOi8vd3d3LmJldHJ1bmtlbmUtZGVrb3JpZXJlbi5kZQoKRm9vYmFyLCBzdWNodCB2b2xsZXIgQW5nc3QgbmFjaCBGb3RvcyB2b24gc2ljaC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVzc2JhbGwgV00gMjAwNiAoRm9vYmFyLCAxOS4gTm92IDIwMDIsIDIxOjEyOjMzKToKQmVpCgpodHRwOi8vdXMuaTEueWltZy5jb20vdXMueWltZy5jb20vaS9maWZhL2RlL2hwLmdpZgoKc29sbCBlcyBzaWNoIG5hY2ggUG9zdGluZ3MgaW4gZGUucmVjLmZ1c3NiYWxsIHVtIGRhcyBvZmZpemllbGxlIExvZ28gZGVyCkZ1c3NiYWxsLVdNIDIwMDYgaW4gRCBoYW5kZWxuLgoKTWlyIGlzdCBzY2hsZWNodC4KClVuZCBFdWNoPwoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVzc2JhbGwgV00gMjAwNiAoVmFuaW9uLCAxOS4gTm92IDIwMDIsIDIxOjE1OjA3KToKfiMhIHJuPUZvb2JhciBydD0xMDM3NzM2NzUzIHJnPXd3dwp+IyEgdGlkPTEwMzc3MzY3NTMKU2VociAuLi4uIHJvc2EuCgpXaXJkIGRhcyBkaWUgbmV1ZSBGYXJiZSBkZXIgSG9vbGlnYW5zPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVzc2JhbGwgV00gMjAwNiAoQ3JvZnQsIDE5LiBOb3YgMjAwMiwgMjE6MTg6MTEpOgp+IyEgcm49VmFuaW9uIHJ0PTEwMzc3MzY5MDcgcmc9d3d3Cn4jISB0aWQ9MTAzNzczNjc1MwpJbSBkZW4gMjA6MDAgQVJELU5hY2hyaWNodGVuIHN0YW5kIEJlY2tlbmJhdWVyIG1pdCBkZW0gTG9nbyBydW0uICBOdXIKZGVyIEhpbnRlcmdydW5kIHdhciBrb21wbGV0dCB3ZWlzcy4gIEFsc28ga2VpbiByb3QsIHJvc2Egb2RlciBvcmFuZ2Ugb2Rlcgp3YXMgYXVjaCBpbW1lci4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdXNzYmFsbCBXTSAyMDA2IChGb29iYXIsIDE5LiBOb3YgMjAwMiwgMjE6MTk6NTEpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzNzczNzA5MSByZz13d3cKfiMhIHRpZD0xMDM3NzM2NzUzCkphLCBzbyBlaW4gRXhlbXBsYXIgZ2FiJ3MgZGEgYXVjaCwgYWxsZXJkaW5ncyBpbiBrbGVpbjoKCmh0dHA6Ly93d3cuZGZiLmRlL2hwaW1nLzIwMDItMTEtMTktMDYuanBnCgpVbmQgZGF6dSBkYW5uIGRlciBUZXh0LCBsdC4gUG9zdGluZyB2b24gZGVyIERGQi1TZWl0ZToKCiJEZW1lbnRzcHJlY2hlbmQgd2ljaHRpZyB3YXIgZXMgdm9yIGRlciBFbnR3aWNrbHVuZyBkZXMgRW1ibGVtcyBkZXIgRklGQQpGdXNzYmFsbC1XZWx0bWVpc3RlcnNjaGFmdCBEZXV0c2NobGFuZCAyMDA2LCBkZW4gYmVhdWZ0cmFndGVuIEFnZW50dXJlbgplaW5lIGdlbmF1ZSBaaWVsc2V0enVuZyBmdWVyIGRpZSBHZXN0YWx0dW5nIHp1IGdlYmVuLiBEaWUKQW5mb3JkZXJ1bmdzbGlzdGUgd2FyIHVtZmFuZ3JlaWNoLiBEZXV0c2NobGFuZCBhbHMgQXVzcmljaHRlcmxhbmQgc29sbHRlCmdlbmF1c28gYXVmIGRlbiBlcnN0ZW4gQmxpY2sgZXJrZW5uYmFyIHNlaW4gd2llIGRlciBhbmdlc3RyZWJ0ZSBsb2NrZXJlCnVuZCBsZWljaHRlIENoYXJha3RlciBkZXMgVHVybmllcnMgMjAwNi4gVW5rb252ZW50aW9uZWxsIHNvbGx0ZSBlcyBzZWluLAphYmVyIG5pY2h0IHRlY2hub2tyYXRpc2NoIHdpcmtlbiB1bmQgZGFiZWkgYXVjaCBub2NoIGRlbQpFcnNjaGVpbnVuZ3NiaWxkIGRlciBGSUZBIGVudHNwcmVjaGVuLiIKCkljaCBrb21tJyBtaXIgZWNodCB2ZXJhcnNjaHQgdm9yIDpvKQoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdXNzYmFsbCBXTSAyMDA2IChWYW5pb24sIDE5LiBOb3YgMjAwMiwgMjE6MjA6MDEpOgp+IyEgcm49Q3JvZnQgcnQ9MTAzNzczNzA5MSByZz13d3cKfiMhIHRpZD0xMDM3NzM2NzUzCk5hamEsIGRlciBIaW50ZXJncnVuZCBtYWNodCBkYXMgQmlsZCBuaWNoIGJlc3Nlci4gQWJlciBkYXMgd2VnbGFzc2VuIGF1Y2ggbmljaAp3aXJrbGljaCA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdXNzYmFsbCBXTSAyMDA2IChMaWFyYSwgMTkuIE5vdiAyMDAyLCAyMTo0Nzo0NSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAzNzczNjc1MyByZz13d3cKfiMhIHRpZD0xMDM3NzM2NzUzCk5hamEsIGRhIGRpZSBTYWNoZSBzbyBzY2hvZW4gZ3JlbGwgaXN0LCBtZXJrdCBtYW4gd2VuaWdzdGVucyBuaWNodCwgZGFzcyBzaWNoCmRpZSBGYXJiZW4gdG90YWwgbWl0IGRlbSBEZXV0c2NobGFuZGdlc3RyaWNoZWwgYmVpc3Nlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcm1kdXNjaGVyIHNpbmQgb3V0IChBbm9yaXMsIDIwLiBOb3YgMjAwMiwgMDA6MDk6NDEpOgphY2h0bWFubnplbHQtYmVpLXN0dXJtLWF1ZnN0ZWxsZXIKYW4tdGFua3N0ZWxsZS1yYXVjaGVyCmJlaS1kb3dubG9hZC1yZXNldC1kcnVlY2tlcgpiYW5rLW9obmUtbWFza2UtdWViZXJmYWxsZXIKZGllLXBpbGxlLWR1cmNoLXNtaW50LWVyc2V0emVyCm5hY2gtZGVtLWtvdHplbi13ZWl0ZXJzYXVmZXIKb2huZS1wdWJsaWt1bS1zdGFnZS1kaXZlcgpub3JkcG9sLWthbXBlcgpueW1waG9tYW5pbmVuLWJlZnJpZWRpZ2VyCnBvbGl6aXN0ZW4tZHV6ZXIKcGVwZXJvbmktbWl0LXRhYmFzY28tYWJzY2htZWNrZXIKcnVzc2VubWFmaWEtYmVzY2hlaXNzZXIKdGFua2xhc3R6dWctYXVzYnJlbXNlcgpzb25uZW5maW5zdGVybmlzLW9obmUtYnJpbGxlLWd1Y2tlcgplLW1haWwtdm9tLWNoZWYtdW5nZWxlc2VuLWxvZXNjaGVyCmdlaXN0ZXJmYWhyZXItdWViZXJob2xlcgpob29saWdhbnMtc2NodXBzZXIKaG9jaHplaXRzdGFnLXZlcmdlc3NlcgppbnMtZmV1ZXItZnVyemVyCmltLWJldHQtZXJzdGVyLWJydWVsbGVuCnVodS1hbHMtZ2xlaXRtaXR0ZWwtbnV0emVyCmludGVybmV0LWFrdGllbi1rYWV1ZmVyCnN0YWhsLXZlbnRpbGF0b3ItbWl0LWZpbmdlci1zdG9wcGVyCndlaW4tbWl0LXNjaG5hcHMtdmVyZHVlbm5lcgozLWxpdGVyLWJsdXRzcGVuZGVyCnN0YWhsc2VpbC1idW5nZWVzcHJpbmdlcgpzdHJvbWthc3Rlbi1waW5rbGVyCmJlaW0tYW50cmV0ZW4taGFuZHktYW5sYXNzZXIKbWluZW5mZWxkLW9obmUtc3VjaGdlcmFldC1yYWV1bWVyCnRyb3R6LXN0dXJtd2FybnVuZy1zZWdsZXIKbWl0LWRlbS1mZXVlcnpldWctaW4tdGFuay1sZXVjaHRlcgpwZXJzb2VubGljaC1tYWZpYWJvc3Mtc2Nod3VsZXItbmVubmVyCmltLXdpbnRlci1vaG5lLWdyaWZmaGVpenVuZy1mYWhyZXIKbW90b3JyYWQtYmFyZnVzcy1icmVtc2VyCmhlbGxzLWFuZ2VsJ3MtbW90b3JyYWRsZW5rZXItdmVyYmllZ2VyCnBpdGJ1bGwtc3RyZWljaGxlcgppbi1vZXN0ZXJyZWljaC10dW5uZWwtZmFocmVyCnN1cHBlbi13dWVyZmVsLWtpZmZlcgoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXJtZHVzY2hlciBzaW5kIG91dCAoRWxkYXJvbiwgMjAuIE5vdiAyMDAyLCAwMDoxMjo1MSk6Cn4jISBybj1Bbm9yaXMgcnQ9MTAzNzc0NzM4MSByZz13d3cKfiMhIHRpZD0xMDM3NzQ3MzgxCj4gcGl0YnVsbC1zdHJlaWNobGVyCgpEYSBzaW5kIHdvaGwgZWluZGV1dGlnIDIgQnVjaHN0YWJlbiBmYWxzY2gsIG9kZXI/CgpFbGRhcm9uLCB6aXR0ZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXJtZHVzY2hlciBzaW5kIG91dCAoR2xvaW5zb24sIDIwLiBOb3YgMjAwMiwgMDA6MTQ6NDMpOgp+IyEgcm49RWxkYXJvbiBydD0xMDM3NzQ3NTcxIHJnPXd3dwp+IyEgdGlkPTEwMzc3NDczODEKU3RyZWljaGVsbiBkYXJmc3QgRHUgaWhuLCBhYmVyIGtvbW0gaWhtIG5pY2h0IG1pdCBOaWtvdGluIHp1IG5haC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhcm1kdXNjaGVyIHNpbmQgb3V0IChFbGRhcm9uLCAyMC4gTm92IDIwMDIsIDAwOjE1OjIzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzc3NDc2ODMgcmc9d3d3Cn4jISB0aWQ9MTAzNzc0NzM4MQpJY2gga29lbm50ZSBpaG4gamEgbWl0IGVpbmVyIFppZ2FyZXR0ZSBzdHJlaWNoZWxuPwoKRWxkYXJvbiwgZXMgZ3V0IG1laW5lbmQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdQUy1EYXRlbiBnZXN1Y2h0IChDYXR3ZWF6bGUsIDIwLiBOb3YgMjAwMiwgMDk6MzI6MjEpOgpNb2luLgoKR2lidHMgaXJnZW5kd28gbmUgUXVlbGxlIHdvIG1hbiBkaWUgZ2VvZ3JhcGhpc2NoZSBMYWdlCihMYWVuZ2VuZ3JhZCxCcmVpdGVuZ3JhZCwgR1BTPykgdm9uIE9ydGVuIG5hY2hzZWhlbiBrYW5uPyBBbHNvIHpCIGljaCBzYWcKQnJhbmRlbmJ1cmdlciBUb3IgdW5kIHJhdXMga29tbXQsIHdvIGRhcyBleGFrdCBsaWVndD8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdQUy1EYXRlbiBnZXN1Y2h0IChBbnRoZWEsIDIwLiBOb3YgMjAwMiwgMDk6MzY6MzMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwMzc3ODExNDEgcmc9d3d3Cn4jISB0aWQ9MTAzNzc4MTE0MQpKYSwgZ2lidCBlcy4KSWNoIG5laG0genUgc293YXMgZ2VybmUgaHR0cDovL3d3dy5oZWF2ZW5zLWFib3ZlLmNvbS9jb3VudHJpZXMuYXNwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVzc2JhbGwgV00gMjAwNiAoRGFyaWEsIDIwLiBOb3YgMjAwMiwgMTQ6MDc6NDMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwMzc3MzY3NTMgcmc9d3d3Cn4jISB0aWQ9MTAzNzczNjc1MwpNaXIgc3RlaGVuIFRyYWVuZW4gaW4gZGVuIEF1Z2VuLiBOaWNodCB3ZWlsIGVzIG1pY2ggc28gdHJhdXJpZyBtYWNodCAtIGRpZQpGYXJiZW4gc2luZCBzbyBncmVsbC4KCkRhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWNoYnVlY2hlciAtIHBvbGl0aXNjaGUgQmlsZHVuZy4gKFZhbmlvbiwgMjIuIE5vdiAyMDAyLCAwMDowNjo1OCk6CkhpLCAKCkljaCBiaW4ga3VlcnpsaWNoIHVlYmVyIGRpZSBTaXRlIGRlciBCdW5kZXN6ZW50cmFsZSBmdWVyIHBvbGl0aXNjaGUgQmlsZHVuZwpnZXN0b2xwZXJ0LiBEaWUgYmlldGVuIGVpbmUgYnJlaXRlIFBhbGV0dGUgYW4gTWF0ZXJpYWwgenUgZ3VlbnN0aWdlbiBQcmVpc2VuCigyIEV1cm8sIGdlbGVnZW50bGljaCBhdWNoIG1hbCA0IEV1cm8pLgoKRGllIFBhbGV0dGUgaXN0IGVyc3RhdW5saWNoIHdlaXQgZ2VzdHJldXQ6IEVzIGdpYiBNYXRlcmlhbCB6dXIgUm9ja211c2lrIGluCmRlciBERFIsIGFiZXIgYXVjaCBpbnRlcmt1bHR1cmVsbGUvZ2VvZ3JhcGhpc2NoZSBBYmhhbmRsdW5nZW4sIHouQi4gdWViZXIgZGllCmFmcmlrYW5pc2NoZW4gU3RhYXRlbiBvZGVyIGRhcyAnS2xlaW5lIElzbGFtLUxleGlrb24nCgpEZXIgTGluazogd3d3LmJwYi5kZQoKViosIGhhdCBzY2hvbm1hbCB3YXMgenUgTGVzZW4gYmlzIFdlaWhuYWNodGVuIChtZWhyIGFscyBnZW51ZykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGYWNoYnVlY2hlciAtIHBvbGl0aXNjaGUgQmlsZHVuZy4gKENhc3NhbmRyYSwgMjUuIE5vdiAyMDAyLCAxMjo0MjoyNCk6Cn4jISBybj1WYW5pb24gcnQ9MTAzNzkyMDAxOCByZz13d3cKfiMhIHRpZD0xMDM3OTIwMDE4CkphIGRpZSBoYWJlbiBzY2hvZW5lIEJ1ZWNoZXIsIGJpcyB2b3IgbmVyIHdlaWxlIGhhdCBkYXMgbmljaHQgZWlubWFsIHdhcwpnZWtvc3RldC4KRXMgZ2lidCB6dWRlbSBsYW5kZXN6ZW50cmFsZW4sIGRpZSB6dW0gdGVpbCBub2NoIGtvc3RlbmxvcyBzaW5kLgpadSB6YWhsZW4gaXN0IGFiZXIgaW1tZXIgZGFzIFBvcnRvLiBBbHNvIGJpbGRldCBldWNoIDotKSkKCkNhc3NhbmRyYSwgZGF2b24gZWluIGdhbnplcyBSZWdhbCBoYWJlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHRlcyBIYW5keSAoTW9yZ290aCwgMjUuIE5vdiAyMDAyLCAxNTowODoxMSk6Cmh0dHA6Ly93d3cubWFiaWxhLmNvbS51YS9pbWcvbm9raWFfYmlraW5pLmpwZwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXR0ZXMgSGFuZHkgKEJvaW5nLCAyNS4gTm92IDIwMDIsIDE2OjU3OjA0KToKfiMhIHJuPU1vcmdvdGggcnQ9MTAzODIzMzI5MSByZz13d3cKfiMhIHRpZD0xMDM4MjMzMjkxCkhhdCBkYXMgVmlicmF0aW9uc2FsYXJtPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldHRlcyBIYW5keSAoR3JpbW1ib3JuLCAyNS4gTm92IDIwMDIsIDE2OjU4OjQ2KToKfiMhIHJuPUJvaW5nIHJ0PTEwMzgyMzk4MjQgcmc9d3d3Cn4jISB0aWQ9MTAzODIzMzI5MQpHYWViZSBlcyBzb25zdCBlaW5lbiBHcnVuZCBkYXMgZG9ydCBhdWZ6dWJld2FocmVuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9qZWN0IERvbHBoaW4gKEFudGhlYSwgMjYuIE5vdiAyMDAyLCAxMzoyMDoyMik6Cmh0dHA6Ly9wcm9qZWN0LWRvbHBoaW4ubmV0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBTb3V0aCBQYXJrIEZhbnM6IChTZWxldmVuLCAyNi4gTm92IDIwMDIsIDIwOjA2OjI5KToKaHR0cDovL3d3dy5jb21lZHljZW50cmFsLmNvbS9zb3V0aHBhcmtnYW1lcy9jaGFyYWN0ZXIvCgpTZWxldmVuIGlzdCBlaW5lci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRURWLU1pdHRlaWx1bmcgKEdyaW1tYm9ybiwgMjcuIE5vdiAyMDAyLCAyMTowOTozNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDM4NDIxMDUwIHJnPXdpdHplCn4jISB0aWQ9MTAzODM5NjE2NwpXYXJ1bSB1bXN0YWVuZGxpY2ggZXJrbGFlcmVuIHdhcyBzaWNoIGF1Y2ggbWl0IGRlbSBwYXNzZW5kZW4gVC1TaGlydCBlcmxlZGlnZW4KbGFlc3N0PyBodHRwOi8vd3d3LnRoaW5rZ2Vlay5jb20vdHNoaXJ0cy9mcnVzdHJhdGlvbnMvMzg4Yi8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVXNlckZyaWVuZGx5IChXaGl0ZXRpZ2VyLCAzMC4gTm92IDIwMDIsIDEwOjM2OjI3KToKd3d3LnVzZXJmcmllbmRseS5vcmcKV1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWNoIG1hbCBuIFRpcHAgKFphcm5peWEsIDMwLiBOb3YgMjAwMiwgMTQ6MDI6MjkpOgpXZW5uIHdpciBzY2hvbiBiZWkgdmVyYWx0ZXRlbiBUaXBwcyBzaW5kOgoKd3d3Lnp5bi5kZQoKRnVlciBkaWUgTGFuZ2V3ZWlsZSB6d2lzY2hlbmR1cmNoLi4uIGltbWVyIHdpZWRlciBuZXR0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChBbnRoZWEsICAyLiBEZXogMjAwMiwgMTM6MTk6MDEpOgpXYXMgZnVlciBlaW5lIERyYWNoZW5mYXJiZSBoYXN0IER1PwoKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL3RlbzU5Mi9xdWl6L2RyYWdvbi5odG1sCgpQUzogSWNoIGhhYmUgYWxzIEZhcmJlICJUYW4iIChpcmdlbmQgc293YXMgZ2VsYmJyYXVuZXMpIGdlZnVuZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoSHVtbmksICAyLiBEZXogMjAwMiwgMTM6Mjc6MTYpOgp+IyEgcm49QW50aGVhIHJ0PTEwMzg4MzE1NDEgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQogSWYgdGhlcmUgZXZlciB3YXMgYW4gYXBwYXJpdGlvbiBvZiBFdmlsIHRvIHN0cmlrZSB0ZXJyb3IgaW50byB0aGUgaGVhcnRzIG9mCm1hbiBhbmQgYmVhc3QsIHlvdXIgSW5uZXIgRHJhZ29uIGlzIGl0LgoKQkxBQ0suCgpOb2NoIEZyYWdlbj8KCldhcnVtIGdsYXVidCBtaXIga2VpbmVyPyAqamFtbWVyKgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChBcmssICAyLiBEZXogMjAwMiwgMTM6MzU6MjQpOgp+IyEgcm49SHVtbmkgcnQ9MTAzODgzMjAzNiByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCkdvbGQgLi4uIFlvdXIgaW5uZXIgRHJhZ29uIGlzIHRoZSBtb3N0IGhvbm91cmFibGUgb2YgYWxsLiAuLi4gWW91IGFyZSB3aGF0IG9uZQptaWdodCBjYWxsIGEgRHJhY29uaWMgS25pZ2h0LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoTm9ubmUsICAyLiBEZXogMjAwMiwgMTM6NDQ6MDIpOgp+IyEgcm49QXJrIHJ0PTEwMzg4MzI1MjQgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpZb3VyIElubmVyIERyYWdvbiBpcyB0aGUgY2xhc3NpYyBleGFtcGxlIG9mIGRyYWdvbiBldmlsLiBSRUQKCkhhcmhhcmhhcmhhcmhhcgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoQXJrLCAgMi4gRGV6IDIwMDIsIDE0OjA0OjEzKToKfiMhIHJuPU5vbm5lIHJ0PTEwMzg4MzMwNDIgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpIZWhlLCBkYW1pdCBzaW5kIGhpZXIgZGllIEZyb250ZW4gZ2VrbGFlcnQgO14pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGdWVyIGRpZSBEcmFlY2hlbGNoZW4uLi4gKE1vcmdvdGgsICAyLiBEZXogMjAwMiwgMTQ6MDk6MzEpOgp+IyEgcm49SHVtbmkgcnQ9MTAzODgzMjAzNiByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCk1lZXQgdGhlIGV2aWwgaW5zaWRlLiBJJ20gUkVEICEKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGdWVyIGRpZSBEcmFlY2hlbGNoZW4uLi4gKEphZGF3aW4sICAyLiBEZXogMjAwMiwgMTQ6MjU6NTgpOgp+IyEgcm49TW9yZ290aCBydD0xMDM4ODM0NTcxIHJnPXd3dwp+IyEgdGlkPTEwMzg4MzE1NDEKWWVhaCwgZWJlbmZhbGxzIFJFRC4gCidSZWRzIGhhdmUgYSBuYXN0eSB0ZW5kZW5jeSB0b3dhcmRzIGx1cmluZyB5b3UgaW4gd2l0aCBxdWlldCB3b3JkcyBhbmQgc29mdAplbW90aW9ucywgdGhlbiB3cmFwcGluZyB0aGVpciBzY2FseSB0YWlscyBhcm91bmQgeW91IGFuZCBiaXRpbmcgb2ZmIHlvdXIgcHVueQpsaXR0bGUgaHVtYW4gaGVhZC4gRnVuLCBubz8nCkphZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoQmFtYmksICAyLiBEZXogMjAwMiwgMTQ6MjY6MjIpOgp+IyEgcm49SmFkYXdpbiBydD0xMDM4ODM1NTU4IHJnPXd3dwp+IyEgdGlkPTEwMzg4MzE1NDEKSWNoIHRyYXUgbWljaCBqYSBnYXIgbmljaHQsICJyb3QiIHp1IHNjaHJlaWJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChFbGJlcmV0LCAgMi4gRGV6IDIwMDIsIDE0OjM4OjQ5KToKfiMhIHJuPUJhbWJpIHJ0PTEwMzg4MzU1ODIgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQppcmdlbmR3YXMgbWFjaCBpY2ggZmFsc2NoLCBpY2ggYmluIGJsYXUuIE9iIGRhcyBhbiBkZW4gUnVta3VnZWxuIGxpZWd0PyBPZGVyCmRvY2ggZWhlciBhbToKWW91ciBmYXZvcmFibGUgYXR0cmlidXRlcyBhcmUgdGhlIHN1bnNldCwgQXV0dW1uLCB3YXRlciwgY29tcGFzc2lvbiwgcGVhY2UsCmZvcmdpdmVuZXNzLCBsb3ZlLCBpbnR1aXRpb24sIGFuZCBjYWxtbmVzcy4gCgpFbGJpIHRoZSBCbHVlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBGdWVyIGRpZSBEcmFlY2hlbGNoZW4uLi4gKEthcmlzLCAgMi4gRGV6IDIwMDIsIDE0OjM5OjUxKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzODgzNjMyOSByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCldhcnVtIGVyaW5uZXJ0IG1pY2ggZGFzIGpldHp0IGFuIEh1bW5pLi4uCkthcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGdWVyIGRpZSBEcmFlY2hlbGNoZW4uLi4gKE11YWRpYiwgIDIuIERleiAyMDAyLCAxNDo1NDo1Nyk6Cn4jISBybj1LYXJpcyBydD0xMDM4ODM2MzkxIHJnPXd3dwp+IyEgdGlkPTEwMzg4MzE1NDEKcm90IHVuZCBkYXMgaXN0IGd1dCBzbwprZWluIHdpZGVyc3BydWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWZmaW4gKEFudGhlYSwgIDIuIERleiAyMDAyLCAxNTowNDowMik6CkRlciBUeXAgaGF0IHZpZWxsZWljaHQgc2VsdHNhbWUgUXVpei1JZGVlbi4uLi4KaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL3RlbzU5Mi9xdWl6Mi9tdWZmaW4uaHRtbAoKSWNoIGJpbiBlaW4gQ2hvY29sYXRlIENoaXAgTXVmZmluPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZmZpbiAoVmVjdG9yLCAgMi4gRGV6IDIwMDIsIDE3OjA3OjM4KToKfiMhIHJuPUFudGhlYSBydD0xMDM4ODM3ODQyIHJnPXd3dwp+IyEgdGlkPTEwMzg4Mzc4NDIKVGFuLiBZb3VyIElubmVyIERyYWdvbiBpcyB0aGUgdHJ1ZSBkcmFjb25pYyBtYWdpYy11c2VyLiBoci1oci1ocgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoV2hpdGV0aWdlciwgIDIuIERleiAyMDAyLCAxNzozMDowNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTAzODgzMTU0MSByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCkFzIHRoZSBFYXJ0aCdzIGxpZmUtZ2l2aW5nIHNraW4sIHlvdXIgRHJhZ29uIGNvbG9yIGlzLi4uIFRBTi4KaGVoZS4uLgo6bWFnIFphdWJlcnNwcnVlY2hlLgpXVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoQXJrLCAgMi4gRGV6IDIwMDIsIDE4OjI4OjUxKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzODgzNjMyOSByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCkR1IGhhc3Qgd2FocnNjaGVpbmxpY2ggZGllICJCYWV1bWVrbnVkZGVsYW50d29ydGVuIiBhbmdla2xpY2t0IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoTWlyaWwsICAyLiBEZXogMjAwMiwgMTg6NDk6MTcpOgp+IyEgcm49QXJrIHJ0PTEwMzg4NTAxMzEgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpJZiBhbnlvbmUgdGhyZWF0ZW5zIHlvdXIgaHVtYW5zIG9yIHRyaWVzIHRvIGtpbGwgeW91LAogeW91IGNvdWxkIHN0cmlrZSBiYWNrIHdpdGggeW91ciBicmVhdGggd2VhcG9uIC0gRmlyZS4KQnV0IHRoZW4sIG5vIG9uZSdzIHRyaWVkIGFueXRoaW5nIHRoYXQgc3R1cGlkIGluIHRoZSBsYXN0IGNvdXBsZQp0aG91c2FuZCB5ZWFycy4KQXMgdGhlIEhlYXJ0cyBvZiB0aGUgUHVyZSwgeW91ciBEcmFnb24gY29sb3IgaXMuLi5HT0xECgpNaXJpbCBuaWNrdCBBcmsgenUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGdWVyIGRpZSBEcmFlY2hlbGNoZW4uLi4gKEZpcmVoYXdrLCAgMi4gRGV6IDIwMDIsIDIwOjMwOjQ2KToKfiMhIHJuPU1pcmlsIHJ0PTEwMzg4NTEzNTcgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpBcyB0aGUgTmlnaHQgdGhhdCBidXJpZXMgYWxsIGJlZm9yZSBpdCBpbiBEYXJrbmVzcywgeW91ciBEcmFnb24gQ29sb3IgaXMKQkxBQ0suCgoqZmllc2dyaW5zKgoKRmlyZWhhd2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWZmaW4gKEZpcmVoYXdrLCAgMi4gRGV6IDIwMDIsIDIwOjM2OjI0KToKfiMhIHJuPUFudGhlYSBydD0xMDM4ODM3ODQyIHJnPXd3dwp+IyEgdGlkPTEwMzg4Mzc4NDIKSWNoIG11c3MgRGlyIHp1c3RpbW1lbiwgc2VsdHNhbWVzIFF1aXogZGFzIC4uLiB6dW1hbCBpY2ggZGllIFN0YWR0ZnJhZ2UgYW0KQW5mYW5nIHp1IGVpbmdlc2NocmFlbmt0IGZpbmRlIDspCgpXaWUgZGVtIGF1Y2ggc2VpLCBsYXV0IFF1aXogYmluIGljaCBlaW4gU2NvbmUsIHdlbGNoZXIgbGF1dCBCZXNjaHJlaWJ1bmcgaW4KZGVyIE11ZmZpbndlbHQgdW5nZWZhZWhyIGRpZSBnbGVpY2hlIFN0ZWxsZSBlaW5uaW1tdCwgd2llIGVpbiBNMUEyIEFicmFtcwpQYW56ZXIgdW50ZXIgSG9uZGEgQ2l2aWNzIDopCgpGaXJlaGF3awoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChNb3Jnb25hdGUsICAyLiBEZXogMjAwMiwgMjE6Mzg6MTcpOgp+IyEgcm49RmlyZWhhd2sgcnQ9MTAzODg1NzQ0NiByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCkdvbGRlbiwKc29sbCBkYXMgamV0enQgd2FzIGJlc2FnZW4/IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZ1ZXIgZGllIERyYWVjaGVsY2hlbi4uLiAoQmFtYmksICAyLiBEZXogMjAwMiwgMjI6MjA6MjYpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTEwMzg4NjE0OTcgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpKYS4gRGFzIGJlZGV1dGV0OgpJY2ggYnJhdWNoZSBrZWluZW4gU2NoYXR6LCBpY2ggQklOIGRlciBTY2hhdHouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChQYXJkYXV6LCAgMy4gRGV6IDIwMDIsIDE0OjUwOjE3KToKfiMhIHJuPUFudGhlYSBydD0xMDM4ODMxNTQxIHJnPXd3dwp+IyEgdGlkPTEwMzg4MzE1NDEKaG1wZiwgaWNoIHZlcnJhdCBtYWwgYmVzc2VyIG5pY2h0IGRhc3MgZGEgZ29sZCByYXVza2FtIC4uLgpkYSBmbGllZ3QgamEgbWVpbmUgZ2FuemUgVGFybnVuZyBhdWYgOikKClBhKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChNdWFkZGliLCAgMy4gRGV6IDIwMDIsIDIzOjI4OjI2KToKfiMhIHJuPUthcmlzIHJ0PTEwMzg4MzYzOTEgcmc9d3d3Cn4jISB0aWQ9MTAzODgzMTU0MQpDb3BwZXIKClNwZWNpYWwtRm9yY2VzIFdhcnJpb3Iga2luZCBvZiBEcmFnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmVsZ29vRyAoQW50aGVhLCAgNC4gRGV6IDIwMDIsIDA5OjI5OjI2KToKU2Nob24gZGVuIEdvb2dsZS1NaXJyb3IgZWxnb29HIGdlc2VoZW4/Cmh0dHA6Ly93d3cuYWxsdG9vZmxhdC5jb20vZ2Vla3kvZWxnb29nLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZmZpbiAoTXVhZGRpYiwgIDQuIERleiAyMDAyLCAxODo1Mjo0Mik6Cn4jISBybj1BbnRoZWEgcnQ9MTAzODgzNzg0MiByZz13d3cKfiMhIHRpZD0xMDM4ODM3ODQyCkljaCB3ZWlzcyBuaWNodCByZWNodC4gRGllIG1laXN0ZW4gbWVpbmVyIEZyZXVuZGUgc2luZCBjaG9jb2xhdGUgbXVmZmlucyB1bmQKd29sbGVuIGdlcm5lIGluIGVpbmVtIE0xQTEgaW4gTlkgcnVtZmFocmVuLiBEYXMgZ2lidCBtaXIgenUgZGVua2VuLgoKaG1tbQo6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCA2OSAoQ2FkcmFjaCwgIDQuIERleiAyMDAyLCAyMzoxNDozMCk6CkhhZXR0ZSBuaWUgZ2VkYWNodCBkYXMgaWNoIGhpZXIgdGF0c2FlY2hsaWNoIG1hbCB3YXMgcG9zdGVuIHd1ZXJkZSwgYWJlciBkYXMKbXVlc3N0IElociBFdWNoIGVpbmZhY2ggYW5zZWhlbi4uLi4KQm94ZW4gYW5tYWNoZW4gdW5kIGRhbm4gZGllIFBmZXJkZSBhbmtsaWNrZW4uCgpodHRwOi8vc3Z0LnNlL2hvZ2FmZmxhaGFnZS9ob2dhZmZsYUhhZ2Vfc2l0ZS9Lb3IvaGVzdGVrb3Iuc3dmCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFRFYtTWl0dGVpbHVuZyAoQ2F0d2VhemxlLCAgNS4gRGV6IDIwMDIsIDA5OjA0OjM3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDM4NDI3Nzc3IHJnPXd3dwp+IyEgdGlkPTEwMzgzOTYxNjcKSmEsIGF1cyBlaWdlbmVyIEVyZmFocnVuZyBrYW5uIGljaCBkZW4gTnV0emVuIGRpZXNlcyBTaGlydHMgYmVzdGFldGlnZW4gOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3YXMgenUgbGFjaGVuIChOb25uZSwgIDUuIERleiAyMDAyLCAxMjozMzoyNSk6Cmh0dHA6Ly90bGYuY3gvZGVhcnBlbmlzLnN3ZgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaWVmZSBFaW5ibGlja2UgaW4gZGllIEZyYXVlbndlbHQgKEVtbWEhKSAoTm9ubmUsICA1LiBEZXogMjAwMiwgMTI6NDE6NTgpOgpodHRwOi8vd3d3LmVtbWEuZGUvYWt0dWVsbGVzL3RvcHRoZW1hXzAzMDFfMy5odG1sCgpEQVMgbmVubnQgc2ljaCBkYW5uIEVtYW56aXBhdGlvbj8gTWFuIGFjaHRlIGRhcmF1Ziwgd2FzIGhpbnRlciAiRW1tYSIgc3RlaHQ6CkRhcyBwb2xpdGlzY2hlIE1hZ2F6aW4gdm9uIEZyYXVlbi4KCk5vbm5lLCBrb3Bmc2NodWV0dGVsbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGllZmUgRWluYmxpY2tlIGluIGRpZSBGcmF1ZW53ZWx0IChFbW1hISkgKE1vcmdvdGgsICA1LiBEZXogMjAwMiwgMTI6NDk6MDgpOgp+IyEgcm49Tm9ubmUgcnQ9MTAzOTA4ODUxOCByZz13d3cKfiMhIHRpZD0xMDM5MDg4NTE4Ck5hIER1IHNjaGVpbnN0IGphIG5pY2h0IHZpZWwgenUgdHVuIHp1IGhhYmVuLiBMYWV1ZnQgZXVlciBOZXR6d2VyayBqZXR6dAp3aWVkZXIgdmVybnVlbmZ0aWcsIG9kZXIgaGFzdCBEdSBudXIgbWFsIGRpZSAiZ3V0ZW4iIDUgTWludXRlbiBnZW51dHp0IHVtIHp1CnN1cmZlbj8gIAoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaWVmZSBFaW5ibGlja2UgaW4gZGllIEZyYXVlbndlbHQgKEVtbWEhKSAoRm9vYmFyLCAgNS4gRGV6IDIwMDIsIDE4OjE1OjU1KToKfiMhIHJuPU5vbm5lIHJ0PTEwMzkwODg1MTggcmc9d3d3Cn4jISB0aWQ9MTAzOTA4ODUxOApNb2luLAoKZ2FueiB1bnRlbiBzdGVodCBlaW4gbWFpbHRvLUxpbms6ICJNZWxkZXQgRXVjaCBiZWkgRU1NQSEiLiBIYWInIGljaCBnZXJhZGUKZ2VtYWNodCB1bmQgZ2VzY2hyaWViZW4sIGRhc3MgbWVpbmUgTGViZW5zZ2VmYWVocnRpbiBhdWNoIG5hY2ggbWVpbmVuCkVya2xhZXJ1bmdlbiBpbW1lciBub2NoIHp1IGRhZW1saWNoIGlzdCwgYXVjaCBudXIgZGVuIEVpbnNjaGFsdGtub3BmIGRlcwpSZWNobmVycyB6dSBmaW5kZW4uCgpNYWwgc2VoZW4gb2IgZGllIGFudHdvcnRlbiA6bykKCkdydXNzLAoKICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRpZWZlIEVpbmJsaWNrZSBpbiBkaWUgRnJhdWVud2VsdCAoRW1tYSEpIChBcndpbiwgIDUuIERleiAyMDAyLCAyMDowODo0MSk6Cn4jISBybj1Gb29iYXIgcnQ9MTAzOTEwODU1NSByZz13d3cKfiMhIHRpZD0xMDM5MDg4NTE4CkJlc3RpbW10LCBzaWUgd2VyZGVuIHdvaGwgbnVuIGluIGRlciBuZXVlbiBFbW1hIGVpbmVuIEFydGlrZWwgdmVyZmFzc2VuLCBpbgpkZW0gZnJhdSBlcmtsYWVydCB3aXJkLCB3aWUgZGVyIENvbXB1dGVyIGFuenVzY2hhbHRlbiBpc3QuCkRlciBGZWhsZXIgaXN0IGVpbmRldXRpZyBiZWkgRGlyIHVuZCBEZWluZXIgRXJrbGFlcnVuZyB6dSBzdWNoZW4sIEZvb2JhZXIuIDstKQoKQXJ3aW4gLSBzb2ViZW4genVyIHRyZXVlbiBFbW1hLUFib25uZW50aW4gZ2V3b3JkZW4gKmdyaW5zKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKmtyZWlzY2gqIChBcG9sbG9uaWEsICA2LiBEZXogMjAwMiwgMTI6MzA6MjcpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTE5MDI4NTI2MjMKCkFwbyoKYnJlaXQgZ3JpbnNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFkdmVudHNrYWxlbmRlciAoVmFyZGlvbiwgIDYuIERleiAyMDAyLCAxNDozNDo1Nyk6CkhhYiBpY2ggZG9jaCBnbGF0dCB2ZXJnZXNzZW4uLi4gdW5zZXJlIFVuaSBoYXQgZWluZW4gcmVjaHQgbmV0dGVuCkFkdmVudHNrYWxlbmRlci4KCmh0dHA6Ly93d3cudHUtY2hlbW5pdHouZGUvdXJ6L2FkdmVudDIwMDIvCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBPbmUgcmluZy4uLiAoUGlsZ3JpbSwgIDYuIERleiAyMDAyLCAxNzoyNDoxNyk6Cn4jISBybj1CaXJkeSBydD0xMDM2NzY4MTQ5IHJnPXd3dwp+IyEgdGlkPTEwMzY2MDA4NTAKPmNyYXp5LmNvZGV0cm9vcC5jb20vcmFuZGltZy8/RXRoZXJuZXRLaWxsZXIuanBnCgpBY2ggLi4uIEludGVybmV0IGF1cyBkZXIgU3RlY2tkb3NlIDstKQoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFkdmVudHNrYWxlbmRlciAoTWFoYXJldCwgIDYuIERleiAyMDAyLCAxODoxMzo1Nik6Cn4jISBybj1WYXJkaW9uIHJ0PTEwMzkxODE2OTcgcmc9d3d3Cn4jISB0aWQ9MTAzOTE4MTY5NwpJY2ggZmFzcyBlcyBuaWNodC4gQXVmIGRlbSBlcnN0ZW4gQmlsZCBpbiBGZW5zdGVyIE5yLiBlaW5zIHNpbmQgbWVpbmUgRWx0ZXJuLgpJY2gga3JpZWcgaGllciBub2NoIFZlcmZvbGd1bmdzd2Fobi4KCnBhbmlzY2hlIEdydWVzc2UsIE1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWR2ZW50c2thbGVuZGVyIChNYWhhcmV0LCAgNi4gRGV6IDIwMDIsIDE4OjIwOjUyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTAzOTE5NDgzNiByZz13d3cKfiMhIHRpZD0xMDM5MTgxNjk3Ck5laW4sIGljaCBsZXVnbmUgbmF0dWVybGljaCBhbGxlcy4gRGFzIHNpbmQgbWlyIHZvZWxsaWcgZnJlbWRlIE1lbnNjaGVuLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnVlciBkaWUgRHJhZWNoZWxjaGVuLi4uIChCaXJkeSwgMTkuIERleiAyMDAyLCAxNTo0NjoyMCk6Cn4jISBybj1NdWFkaWIgcnQ9MTAzODgzNzI5NyByZz13d3cKfiMhIHRpZD0xMDM4ODMxNTQxCmdyYWQgZXJzdCBnZWxlc2VuIHVuZCBnZXRlc3RldDogR09MRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWJheSA7bykgKEZvb2JhciwgMTkuIERleiAyMDAyLCAyMDoyODoyOSk6Ck1vaW4sCgpnZXJhZGUgaW4gZGUuYWx0LmF1a3Rpb25zaGFldXNlciBnZWZ1bmRlbi4gV2VyIG1hbCBzZWhlbiBtb2VjaHRlIHdhcyBwYXNzaWVyZW4Ka2Fubiwgd2VubiBtYW4gaW4gZGVyIGVpZ2VuZW4gQXVrdGlvbiBhdWYgZnJlbWRlbiBXZWJzcGFjZSBsaW5rdCwgbW9lZ2Ugc2ljaAoKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0maXRlbT0xOTQ2MjQ1MjQwCgphbnNlaGVuIDtvKQoKR3J1c3MsCgogICBGb29iYXIKClBTOiBTZWl0ZSBicmF1Y2h0IHVudGVyIFVtc3RhZW5kZW4gcmVjaHQgbGFuZ2UgenVtIExhZGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIFdlbHR3dW5kZXIgKE5pYmVsLCAyMC4gRGV6IDIwMDIsIDA4OjI5OjA5KToKRWluZSBBYnN0aW1tdW5nIHVlYmVyIDcgbmV1ZSBXZWx0d3VuZGVyIGRlciBsZXR6ZW4gMjAwMCBKYWhyZSBnaWJ0cyB1bnRlcgpodHRwOi8vd3d3Lm5ldzd3b25kZXJzLmNvbS8KICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIFdlbHR3dW5kZXIgKFpvb2ssIDIwLiBEZXogMjAwMiwgMTA6NTc6MzIpOgp+IyEgcm49TmliZWwgcnQ9MTA0MDM2OTM0OSByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck5hamEsIHNvIHJpY2h0aWcgZG9sbGUgaXN0IGRpZSBBdXN3YWhsIGRhIGFiZXIgbmljaHQsIG9kZXI/Cgpab29rIHN1Y2h0IG5vY2ggZGFzIE1hcmJ1cmdlciBTY2hsb3NzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIFdlbHR3dW5kZXIgKE5pbm8sIDIwLiBEZXogMjAwMiwgMTI6Mzg6NTUpOgp+IyEgcm49Wm9vayBydD0xMDQwMzc4MjUyIHJnPXd3dwp+IyEgdGlkPTEwNDAzNjkzNDkKRGFzIE1hcmJ1cmdlciBTY2hsb3NzPyBOYSwgZGEgd3VlcmRlIGRpZSBXZWx0IHNpY2ggYWJlciB3aXJrbGljaCB3dW5kZXJuLi4uCk5pbm8sIGdlc2NodWV0dGVsdCBuaWNodCwgZ2VydWVocnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWl0IEtyc21lc3MgKEFyaywgMjAuIERleiAyMDAyLCAxNzo0MDozNyk6Cmh0dHA6Ly93d3cubGV2aXRhdG9yLmh1L3htYXMvCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIFdlbHR3dW5kZXIgKE5pYmVsLCAyMC4gRGV6IDIwMDIsIDE4OjIyOjAyKToKfiMhIHJuPVpvb2sgcnQ9MTA0MDM3ODI1MiByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck1hbiBrb25udGUgZGEgVm9yc2NobGFlZ2UgYW5icmluZ2VuLi4uCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZXVlIFdlbHR3dW5kZXIgKFpvb2ssIDIwLiBEZXogMjAwMiwgMTg6MjU6NTIpOgp+IyEgcm49TmliZWwgcnQ9MTA0MDQwNDkyMiByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5ClNvIGdlbmF1IGhhYiBpY2ggZGFzIG5pY2h0IGdlbGVzZW4gOykgVW5kLCB3YXMgaGF0dGVzdCBEdSBhbGxlcyB2b3JnZXNjaGxhZ2VuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWl0IEtyc21lc3MgKFZhbmlvbiwgMjAuIERleiAyMDAyLCAxODoyNzozOSk6Cn4jISBybj1BcmsgcnQ9MTA0MDQwMjQzNyByZz13d3cKfiMhIHRpZD0xMDQwNDAyNDM3CkduYSwgc2NocmVpYnQgZG9jaCBkYXp1LCB3ZW5uIGRhcyBGbGFzaCBpc3QuIERhbm4gYnJhdWNoIGljaCBtZWluZW4gQnJhdXNlcgpuaWNoIGF1Zm1hY2hlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlIFdlbHR3dW5kZXIgKE5pYmVsLCAyMC4gRGV6IDIwMDIsIDE4OjI4OjQ5KToKfiMhIHJuPVpvb2sgcnQ9MTA0MDQwNTE1MiByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5CkRpZSBncm9zc2UgTWF1ZXIsIGRlbiBFaWZmZWx0dXJtLCBkYW5uIGRpZXNlIGF6dGVrdGlzY2hlIChvZGVyIHdhcyBhdWNoIGltbWVyKQpQeXJhbWlkZSwgZGllIEFhY2huZXIgS2F0aGVkcmFsZSwgZGVuIHNjaGllZmVuIFR1cm0gdm9uIFBpenphIHVuZCBub2NoIHdhcwphbmRlcmVzLi4uIERpZXNlbiBQYWxhc3QgaW0gRmVscyA6KQogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZSBXZWx0d3VuZGVyIChGb29iYXIsIDIwLiBEZXogMjAwMiwgMTg6Mjk6MzkpOgp+IyEgcm49TmliZWwgcnQ9MTA0MDQwNTMyOSByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck1pciBwZXJzb2VubGljaCBmZWhsdCBqYSBkaWUgIkFyZW5hLUF1Zi1TY2hhbGtlIiA6bykKCkdydXNzLAoKICAgRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXVlIFdlbHR3dW5kZXIgKFZhbmlvbiwgMjAuIERleiAyMDAyLCAxODoyOTo1Myk6Cn4jISBybj1OaWJlbCBydD0xMDQwNDA1MzI5IHJnPXd3dwp+IyEgdGlkPTEwNDAzNjkzNDkKU2VpZCBtYWwga3JlYXRpdi4gV2FzIGlzIG1pdCAnRGFzIEludGVybmV0Jz8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXVlIFdlbHR3dW5kZXIgKE5pYmVsLCAyMC4gRGV6IDIwMDIsIDE4OjMxOjEzKToKfiMhIHJuPVZhbmlvbiBydD0xMDQwNDA1MzkzIHJnPXd3dwp+IyEgdGlkPTEwNDAzNjkzNDkKTnVuLCBiZWkgZGVuIGVyc3RlbiBXZWx0d3VuZGVybiBnaW5ncyBhdWNoIHVtIEJhdXdlcmtlLiBEYWhlciB3dXJkZSBkaWVzZSBJZGVlCndvaGwgdWViZXJub21tZW4uIER1IGthbm5zdCBiZWkgZGVyIE9zY2FydmVybGVpaHVuZyBuaWNodCBhdWNoIHBsb2V0emxpY2ggZGVuClByZWlzIGZ1ZXIgZGllIG1laXN0dmVya2F1ZnRlIFNpbmdsZSBhbmJyaW5nZW4uCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOZXVlIFdlbHR3dW5kZXIgKFZhbmlvbiwgMjAuIERleiAyMDAyLCAxODozMjo0Myk6Cn4jISBybj1OaWJlbCBydD0xMDQwNDA1NDczIHJnPXd3dwp+IyEgdGlkPTEwNDAzNjkzNDkKSWNoIGhhYiBkb2NoIGRhIHZvcmhpbiBlaW5lbiBCZXJnIGdlc2VoZW4gLSBhdWYgZGVyIFNpdGUuIFdlciBoYXQgZGVuIGRlbm4KZ2ViYXV0PwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5ldWUgV2VsdHd1bmRlciAoTmliZWwsIDIwLiBEZXogMjAwMiwgMTg6MzQ6MDUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDA0MDU1NjMgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpBdWYgZGVtIEJlcmcgYmVmaW5kZXQgc2ljaCBlaW5lIElua2EtU3RhZHQuIFVtIGRpZSBnZWh0cyBhdWNoLgogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTmV1ZSBXZWx0d3VuZGVyIChGb29iYXIsIDIwLiBEZXogMjAwMiwgMTg6MzY6MzgpOgp+IyEgcm49TmliZWwgcnQ9MTA0MDQwNTY0NSByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5CkdlcmFkZSBiZWkgZGVyIEZyYWdlIGljaCBtaWNoLCB3YXMgZGllIHVlYmVyaGF1cHQgaW4gZGVyIEF1c3dhaGwgenUgc3VjaGVuCmhhdC4KCiJOZXUiIGlzdCBkaWUgamEgbmljaHQgZ2VyYWRlLCB3ZW5uIGljaCBtaWNoIHJpY2h0aWcgZXJpbm5lciBzcGllbHQgZGllIHZvbQpBbHRlciBoZXIgaW4gZGVyIGdsZWljaGVuIExpZ2Egd2llIGRpZSBzaWViZW4gImFsdGVuIiBXZWx0d3VuZGVyLCB3YXMgZXZ0bC4KYXVjaCBmdWVyIGRpZSBjaGluZXNpY2hlIE1hdWVyIGdpbHQsIG9kZXI/CgpHcnVzcywKCiAgIEZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5ldWUgV2VsdHd1bmRlciAoTmliZWwsIDIwLiBEZXogMjAwMiwgMTg6Mzk6MjMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNDA0MDU3OTggcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpMYXV0IGRlciBTZWl0ZSB3dXJkZSBkaWUgU3RhZHQgdW1zIDE1LiBKYWhyaHVuZGVydCBnZWJhdXQsIGRpZSBjaGluZXNpc2NoZQpNYXVlciB6d2FyIDIyMCB2b3IgQ2hyaXN0dXMsIGRpZSBncm9lc3N0ZW4gVGVpbGUgYWJlciBlcnN0IHp3aXNjaGVuIDEzLiB1bmQKMTYuIEphaHJodW5kZXJ0LiBEYXMgZXJrbGFlcnQgd29obCwgd2FydW0gZGllIGRhbWFscyBuaWNodCBhbmVya2FubnQgd3VyZGUuLi4KICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBOZXVlIFdlbHR3dW5kZXIgKFRoYXJnb3IsIDIwLiBEZXogMjAwMiwgMTk6MDc6NDQpOgp+IyEgcm49TmliZWwgcnQ9MTA0MDQwNTk2MyByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5CmhtbSAuLi4gd2VsY2hlcyBrb21pdGVlIGhhdCBkaWUgYW50aWtlbiB3ZWx0d3VuZGVyIGRlbiBhYmdlc2VnbmV0IC4uIG9kZXIgZ2FiCmVzIGRhIGF1Y2ggc2Nob24gaW50ZXJuZXQgOikKClRoYXJnb3IgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTmV1ZSBXZWx0d3VuZGVyIChOb25uZSwgMjAuIERleiAyMDAyLCAxOTo1NToxMCk6Cn4jISBybj1UaGFyZ29yIHJ0PTEwNDA0MDc2NjQgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpJY2ggZGVua2UgZG9jaCwgZGEgZ2VodHMgdW0gJ3ZvbiBNZW5zY2hlbmhhbmQgZ2VzY2hhZmZlbicgdW5kIGF1cyBkZXIgQW50aWtlCmJsZWliZW4gZGEgbnVyIEdlYmFldWRlLiBPYndvaGwgZGllIHp1bWVpc3QgYXVjaCBuaWNodCBtZWhyIHN0ZWhlbiB1bmQgZGllCndvaGwga2VpbmVyIGF1cyBkZW0gS29taXRlZSBqZSBnZXNlaGVuIGhhdCwgZGllIGRhcyBtYWwgYmVzdGltbXQgaGFiZW4uIEFiZXIKd2VubiBlcyBkYSB1bSBXZWx0d3VuZGUgZ2VodCwgZmluZGUgaWNoIEVpZmZlbHR1cm0gdW5kIEZyZWloZWl0c3N0YXR1ZSBzY2hvbgp6aWVtbGljaCBhbGJlcm4uIERhcyBiYXV0IERpciBkb2NoIGplZGVyIEFyY2hpdGVrdHVyc3R1ZGVudCBpbSAzLiBTZW1lc3Rlci4KUHlyYW1pZGVuIGtvZW5uZW4gc2llIGJpcyBoZXV0ZW4gbmljaHQgYmF1ZW4sIGF1Y2ggbmljaHQgbWl0IGdyb3NzZW4gS3JhZW5lbgp1bmQgQnVsbGRvemVybi4gRGllIEphcGFuZXIgaGFiZW5zIHZlcnN1Y2h0IHVuZCBzaW5kIGdlc2NoZWl0ZXJ0LiBLZWluZXIga2FubgpnZW5hdSBzYWdlbiwgd2llIGRpZSBnZWJhdXQgd3VyZGVuLCBkYXMgaXN0IGluIG1laW5lbiBBdWdlbiBlaW4gV2VsdHd1bmRlci4KCk5vbm5lLCBmYWVsbHQgYWJlciBhdWNoIGtlaW4gbmV1ZXMgZWluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE5ldWUgV2VsdHd1bmRlciAoSHVtbmksIDIwLiBEZXogMjAwMiwgMjA6MDI6NTEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA0MDQxMDUxMCByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck9jaCwgY2hpbmVzaXNjaGUgTWF1ZXIgaXN0IHNjaG9uIG9rLiBVbmQgZnVlciBBYWNoZW4gaGFiIGljaCBuYXR1cmdlbWFlc3MgYXVjaApnZXN0aW1tdCA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTmV1ZSBXZWx0d3VuZGVyIChGb29iYXIsIDIwLiBEZXogMjAwMiwgMjA6MTE6NDQpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MDQxMDk3MSByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck1vaW4sCgoidm9uIE1lbnNjaGVuaGFuZCBnZXNjaGFmZmVuIiBzY2hsaWVzc3QgYWJlciBJTUhPIGRhbm4gYXVjaCBhbmRlcmUgRGluZ2UgYXVzCkt1bnN0LCBLdWx0dXIgdW5kIFBvbGl0aWsgZWluLgoKRGVtb2tyYXRpZSBrb2VubnRlIGRlbW5hY2ggZ2VuYXVzbyBlaW4gV2VsdHd1bmRlciBzZWluIHdpZSBkZXIgIlBsYXlib3kiIDtvKQoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBOZXVlIFdlbHR3dW5kZXIgKENhZHJhY2gsIDIxLiBEZXogMjAwMiwgMTk6MjA6MTYpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNDA0MTE1MDQgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpXaWUgd2FlcnMgZGVubiBtaXQgZGVtIFBldGVyc2RvbSBpbiBSb20gdW5kIGRlciBSYXVtc3RhdGlvbiBNaXI/CkRlciBzY2hpZWZlIFR1cm0gdm9uIFBpc2EgaXMga2VpbiBNZWlzdGVyc3R1ZWNrIHZvbiBCYXVrdW5zdCwgc29uZGVybiBlaW5lClRvdXJpc3RlbmF0dHJha3Rpb24gd2VpbCBlciBzbyBzY2hsZWNodCBnZXBsYW50IHdhciwgZGFzIGJlaW0gQmF1IGRhcwpGdW5kYW1lbnQgZWluc2Fja3RlLi4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTmV1ZSBXZWx0d3VuZGVyIChOb25uZSwgMjIuIERleiAyMDAyLCAwODoyMDo1Mik6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNDA0OTQ4MTYgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpXZW5uIG1hbiBkaWUgV2VsdHd1bmRlciBhbHMgU2lubmJpbGRlciBkZXIgVWViZXJsZWdlbmhlaXQgZGVzIE1lbnNjaGVuIHVlYmVyCmRpZSBOYXR1ciBzaWVodCwgd2FlcmUgZG9jaCBkZXIgVHVybSB2b24gUGlzYSBnZW5hdSBkYXMgUmljaHRpZ2UgKGM7CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpdCBLcnNtZXNzIChDYXR3ZWF6bGUsIDIyLiBEZXogMjAwMiwgMDk6NDM6MjQpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDA0MDUyNTkgcmc9d3d3Cn4jISB0aWQ9MTA0MDQwMjQzNwpOYSBudSBsb2NrZXIgbWFsIGRhcyBQcmluemlwaWVua29yc2V0dC4gTGFkcyBEaXIgaGFsdCBydW50ZXIuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpdCBLcnNtZXNzIChBbWFyeWxsaXMsIDIyLiBEZXogMjAwMiwgMDk6NDU6MzkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNDA1NDY2MDQgcmc9d3d3Cn4jISB0aWQ9MTA0MDQwMjQzNwpOb2UuIERlciB3aWxsIGdsZWljaCBlaW4gQWN0aXZlWCBpbnN0YWxsaWVyZW4gdW5kIHN0YXJ0ZW4uIFNvd2FzIGtvbW10IG5pY2h0CmF1ZiBtZWluZSBLaXN0ZS4gRXhwbG9pdHMsIGxvY2FsIHJvb3QgZXRjLiBnaWJ0cyBiZWkgQWN0aXZlWCBqYSBnZW51Zy4gRWluZQp2ZXJudWVuZnRpZ2UgUGFnZSBrb21tdCBhdWNoIG9obmUgc29sY2hlbiBTY2hyb3R0IGF1cy4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlaXQgS3JzbWVzcyAoQ2F0d2VhemxlLCAyMi4gRGV6IDIwMDIsIDA5OjU0OjQxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDQwNTQ2NzM5IHJnPXd3dwp+IyEgdGlkPTEwNDA0MDI0MzcKQWgsIHZlcnN0ZWhlLCBmYWxzY2hlcyBPUy4gCgpLb21tIHNjaG9uLCBkaWUgUGFyYW5vaWEgdW0gRWluYnJ1Y2hzbW9lZ2xpY2hrZWl0ZW4gaXN0IGRldXRsaWNoIHZlcmFsdGV0LiBXYXMKZnVlciBlaW5lIG5ldHNjYXBlIGZhZWhyc3QgZHUgZGVubi4gMi54PwpBbHNvIGljaCBoYWIgc2Nob24gbGFuZ2Ugbml4IG1laHIgdm9uIEFjdGl2ZVgtZXhwbG9pdHMgZ2Vob2VydCAoenVtaW5kZXN0Cm5pY2h0IGJld3Vzc3Qgd2Focmdlbm9tbWVuKS4gSXN0IGRhcyB0YXRzYWVjaGxpY2ggaW1tZXIgbm9jaCBzbyBzY2hsaW1tPyAKClVuZCBmbGFzaCBpc3Qgc2Nob24gbmUgZmVpbmUgU2FjaGUuIE9rLCBpY2ggbWFncyBhdWNoIG5pY2h0IGJlc29uZGVycywgd2VpbHMKYWIgdW5kIGFuIGJvZXNlIGxhbmdlIGxhZWR0IHVuZCBlaW5lbiBtYWNobWFsIGZ1ZXJjaHRlcmxpY2ggbGFuZ2UgaXJnZW5kd2VsY2hlCkludHJvcyBzZXJ2aWVydCwgYWJlciBkYXMgc2luZCBkYW5uIGRvY2ggZWhlciBkaWUgc2NobGVjaHRlbiBCZWlzcGllbGUuIE1hbgprYW5uIG1pdCBGbGFzaCBhdWNoIHNlaHIgc2Nob2VuZSBTYWNoZSBtYWNoZW4sIHVuZCBpcmdlbmR3aWUgZ2Vob2VydCBlcyBkYW5uCmRvY2ggenUgZWluZW0gbW9kZXJuZW4gQnJvd3NlciBkYXp1LiAKV2VubiBzaWNoIG5hdHVlcmxpY2ggamVtYW5kIGR1cmNoIEFic2NoYWx0ZW4gdm9uIEphdmEsIEphdmFzY3JpcHQgdW5kIEZsYXNoCmVpbmVuIG5pY2h0IHVud2VzZW50bGljaGVuIFRlaWwgdm9uIEludGVybmV0aW5oYWx0ZW4gc3BhcmVuIHdpbGwsIGJpdHRlLApibGVpYnQgbmF0dWVybGljaCBqZWRlbSBzZWxic3QgdWViZXJsYXNzZW4uIEFiZXIgZGFubiB2ZXJ0ZXVmZWx0IGF1Y2ggRmxhc2gKdW5kIGRpZSBkaWUgRmxhc2ggYmVudXR6ZW4gbmljaHQgdW5kIG5vZXNlbHQgbmljaHQgcnVtLgoKTmVpbiwgaWNoIGhhYiBrZWluZSBMdXN0IGF1ZiBGbGFtZXMgOi0pIAoKRnJvaGUgV2VpaG5hY2h0LAogICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlaXQgS3JzbWVzcyAoQW1hcnlsbGlzLCAyMi4gRGV6IDIwMDIsIDEwOjAwOjQyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDQwNTQ3MjgxIHJnPXd3dwp+IyEgdGlkPTEwNDA0MDI0MzcKQ2F0d2VhemxlIHNjaHJ1YjoKCj4gQWgsIHZlcnN0ZWhlLCBmYWxzY2hlcyBPUy4gCgpHZW5hdS4gVW5kIGJpcyBpY2ggbWlyIGltIG5ldWVuIEphaHIgZGllIFNlaXRlIGF1ZiBlaW5lbSAqKi1SZWNobmVyIGluIGRlcgpGaXJtYSBhbnNjaGF1ZW4ga29lbm50ZSwgd2FlcmUgc2VsYmlnZSBlaCBuaWNodCBtZWhyIHplaXRnZW1hZXNzIDopCgo+IE5laW4sIGljaCBoYWIga2VpbmUgTHVzdCBhdWYgRmxhbWVzIDotKQoKSGVlLCBEdSBoYXN0IGdlZm9yZGVydCwgImRhcyBQcmluemlwaWVua29yc2V0dCB6dSBsb2NrZXJuIi4gVW5kIGRhcyB3ZXJkZSBpY2gKbmljaHQuIEF1Y2ggd2VubiBEdSB1cnNwcnVlbmdsaWNoIG5pY2h0IG1pY2ggZ2VtZWludCBoYXR0ZXN0IDopCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWl0IEtyc21lc3MgKFBhdHJ5biwgMjIuIERleiAyMDAyLCAxMTozOTo0NSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA0MDU0NjczOSByZz13d3cKfiMhIHRpZD0xMDQwNDAyNDM3CnZvbiBleHBsb2l0cyBiZWkgYWN0aXZlWCB3ZWlzcyBpY2ggbml4LCB3b3p1CmF1Y2gsIGFjdGl2ZVggaXN0IGRhcyBleHBsb2l0IDspCmFjdGl2ZVggaGF0IGtlaW5lcmxlaSBzaWNoZXJoZWl0c2tvbnplcHQsIHdlbm5zIGVyc3QgbWFsCmF1ZiBkZWluZXIga2lzdGUgbGFldWZ0LgptYW4ga2FubiBoYWx0IG51ciBzYWdlbiwgd2VsY2hlIGFydCB2b24gYWN0aXZlWCBtYW4gbGFlZHQgdW5kIHN0YXJ0ZXQsCmlubmVyaGFsYiBhY3RpdmVYIGdpYnRzIGtlaW5lIGFic2Nob3R0dW5nZW4gbWVociBzbyB3aWUgYmVpIGphdmEuCgotLSAKcGF0cnluCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VpdCBLcnNtZXNzIChXb29keSwgMjQuIERleiAyMDAyLCAwMjo0NjoxMik6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MDU1MzU4NSByZz13d3cKfiMhIHRpZD0xMDQwNDAyNDM3CndhcyBoYXQgZmxhc2ggbWl0IGFjdGl2ZXggenUgdHVuPyBnaWJ0cyBhdWNoIGZ1ZXIgbGludXguCnNlaXQga3VyemVtIGF1Y2ggaW4gdmVyc2lvbiA2LCBsdC4gaGVpc2UuCihuaWNodCBkYXNzIGljaHMgcHJvYmllcnQgaGFldHRlLi4uKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWUgV2VsdHd1bmRlciAoQXJrLCAyNy4gRGV6IDIwMDIsIDEzOjA3OjE1KToKfiMhIHJuPU5pYmVsIHJ0PTEwNDA0MDUzMjkgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpNYWNodSBQaWNjdT8gUGV0cmE/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE5ldWUgV2VsdHd1bmRlciAoQXJrLCAyNy4gRGV6IDIwMDIsIDEzOjA5OjQ4KToKfiMhIHJuPU5vbm5lIHJ0PTEwNDA0MTA1MTAgcmc9d3d3Cn4jISB0aWQ9MTA0MDM2OTM0OQpPY2gsIGZ1ZXIgZGllICJkYW1hbGlnZSIgWmVpdCB3YXJlbiBkYXMgaGVydm9ycmFnZW5kZSBMZWlzdHVuZ2VuLiBJbiBlaW4gcGFhcgpKYWhyZW4gZ2FlaG5lbiB3aXIgYW5nZXNpY2h0cyBkZXMgSHViYmVsdGVsZXNrb3BzIG9kZXIgZGVyIFdlbHRyYXVtc3RhdGlvbgpXaWVoZWlzc3RzaWVkb2NoZ2xlaWNoLiBEYXMgd2FlcmVuIG1laW5lIFZvcnNjaGxhZWdlLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBOZXVlIFdlbHR3dW5kZXIgKEdyaW1tYm9ybiwgMjcuIERleiAyMDAyLCAxODo1MzoxNSk6Cn4jISBybj1BcmsgcnQ9MTA0MDk5MDk4OCByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5CkRpZSBXZWx0cmF1bXN0YXRpb24gaGVpc3N0ICJBbHBoYSIuIFdlaWwgZGllIE5hc2EgZWluIEhhdWZlbiBwaGFudGFzaWVsb3NlcgpJZGlvdGVuIGlzdCwgZGVzd2VnZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBOZXVlIFdlbHR3dW5kZXIgKEdub21lLCAyNy4gRGV6IDIwMDIsIDE5OjEwOjAxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQxMDExNTk1IHJnPXd3dwp+IyEgdGlkPTEwNDAzNjkzNDkKc2llIHNvbGx0ZSBtYWwgImFscGhhIiBoZWlzc2VuLiBzaWUgaGVpc3N0IGpldHp0IGdsYXViZSBpY2ggbnVyIG5vY2ggIklTUyIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTmV1ZSBXZWx0d3VuZGVyIChHcmltbWJvcm4sIDI3LiBEZXogMjAwMiwgMTk6MzA6MDMpOgp+IyEgcm49R25vbWUgcnQ9MTA0MTAxMjYwMSByZz13d3cKfiMhIHRpZD0xMDQwMzY5MzQ5Ck1lYSBjdWxwYSwgRHUgaGFzdCBuYXR1ZXJsaWNoIHJlY2h0LiBEZW5ub2NoIGlzdCBlaW5zIHNvIGRhZW1saWNoIHdpZSBkYXMKYW5kZXJlLiAiSW50ZXJuYXRpb25hbCBTcGFjZSBTdGF0aW9uIiAtIHBhaC4KCkdkQSBtaXQgUmVzdGFsa29ob2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvdGVsdmVyZ2xlaWNoIChEYXJpYSwgMjkuIERleiAyMDAyLCAxNTozODo1NCk6Ckh1aHUsCmVzIGdhYiBtYWwgZWluZSBTaXRlIChuYWphIGljaCBob2ZmZSBkaWUgZ2lidHMgbm9jaCksIGF1ZiBkZXIgbWFuIEhvdGVscwpiZXdlcnRlbiBrb25udGUgYnp3LiBzaWNoIGFuc2NoYXVlbiBqa29ubnRlLCB3aWUgYW5kZXJlIGJlc3RpbW10ZSBIb3RlbHMKYmV3ZXJ0ZW4uIEhhdCB6dWZhZWxsaWcgamVtYW5kIGRpZSB1cmwgcGFyYXQ/CgpEYXJpYSB3aWxsIG5hY2ggR3JhbiBDYW5hcmlhLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVzaCdzIHZlcmJhbGUgQXVzcnV0c2NoZXIgKFRhcmFuaXMsICAzLiBKYW4gMjAwMywgMjE6NTY6NTMpOgpIYWxsbyBhbGxlcnNlaXRzIQpJY2ggaG9mZmUsIGRhc3Mgbm9jaCBuaWNodCBzbyB2aWVsZSBkYXMgaGllciBzY2hvbiBrZW5uZW46Cmh0dHA6Ly9uZXdzLmZvY3VzLm1zbi5kZS9HL0dFL2dlLmh0bT9iaWxkX3RtcD0xOSZzbnI9MTU1NCZzdHJlYW1zbnI9NyZuZQoKVmllbGUgR3J1ZXNzZSwKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1c2gncyB2ZXJiYWxlIEF1c3J1dHNjaGVyIChTY2hva28sICAzLiBKYW4gMjAwMywgMjI6MDQ6MDEpOgp+IyEgcm49VGFyYW5pcyBydD0xMDQxNjI3NDEzIHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKClJlZGVuIGZ1ZWhydCB6dSB1bmtsYXJlbiwgdW5kZXV0bGljaGVuIERpbmdlbi4KCldlbm5zIG5pY2ggYXVzIHNlaW5lbSBNdW5kIHNvIHRyYXVyaWcgd2FlcmUsIHd1ZXJkIGljaCBqYSBub2NoIG1laHIgVHJhZW5lbgpsYWNoZW4gOikpCgpTY2hva28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQnVzaCdzIHZlcmJhbGUgQXVzcnV0c2NoZXIgKFRhcmFuaXMsICAzLiBKYW4gMjAwMywgMjI6MDk6MTQpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDE2Mjc4NDEgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpBdWNoIHNlaHIgc2Nob2VuIGZpbmRlIGljaCBkaWVzIGhpZXIsIGF1Y2ggd2VubiBlcyBuaWNodCB2b24gQnVzaCwgc29uZGVybiB2b24KTGFycnkgSGFnbWFuIHN0YW1tdDoKaHR0cDovL25ld3MuZm9jdXMubXNuLmRlL0cvR0UvZ2UuaHRtP2JpbGRfdG1wPTIxJnNucj0xNTU0JnN0cmVhbXNucj03CipnKiBEZXIgS25hYmUgaXN0IHNjaG9uIG5lbiBWb2xsaWRpb3QgKEJ1c2gsIG5pY2h0IEhhZ21hbikuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoVmFuaW9uLCAgNC4gSmFuIDIwMDMsIDE0OjQwOjI3KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA0MTYyNzQxMyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCgpodHRwOi8vd3d3LnpldGFncmlkLm5ldAoKRGllIHZlcnN1Y2hlbiBkaWUgUmllbWFubi1IeXBvdGhlc2UgenUgYmV3ZWlzZW4uIFNjaGVpbnQgZWluIFByb2pla3QgenUgc2VpbiwKZGFzcyBudXR6YnJpbmdlbmRlciBpc3QsIGFscyBTZXRpLiBFaW5lbiBQcmVpcyBrYW5uIG1hbiB0aGVvcmV0aXNjaCBhdWNoCmdld2lubmVuLiAKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKEZvb2JhciwgIDQuIEphbiAyMDAzLCAxNDo0NDozMyk6Cn4jISBybj1WYW5pb24gcnQ9MTA0MTY4NzYyNyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCldlciBvZGVyIHdhcyBpc3QgZGllIFJpZW1hbm4tSHlwb3RoZXNlPwoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFZhbmlvbiwgIDQuIEphbiAyMDAzLCAxNDo1Mzo0Mik6Cn4jISBybj1Gb29iYXIgcnQ9MTA0MTY4Nzg3MyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzClNlaSB6ZXRhKHMpIDo9IHN1bW1lICggaz0xIC0gdW5lbmRsaWNoICkgMS8oa15zKSAKCkRpZSBIeXBvdGhlc2UgaXN0LCBkYXNzIGFsbGUgbmljaHR0cml2aWFsZW4gTnVsbGVuIGRlciBaZXRhLUZ1bmt0aW9uIGF1ZiBkZXIKa3JpdGlzY2hlbiBMaW5pZSAgMS8yK3QqaSAodCBpc3QgZWluZSByZWFsZSBaYWhsKSBsaWVnZW4uCgpEaWUgSHlwb3RoZXNlIGlzdCBCYXNpcyBmdWVyIGVpbmlnZSBtYXRoZW1hdGlzY2hlIFNwaWVsZXJlaWVuLCBkaWUgd29obAphbGxnZW1laW4gYWxzIHdpY2h0aWcgYW5nZXNlaGVuIHdlcmRlbi4gQmlzaGVyIGdpYnQgZXMga2VpbmVuIEJld2VpcyBkYWZ1ZXIsCmRhc3Mgc2llIHJpY2h0aWcgaXN0LiAKCldlc2VudGxpY2ggaXMgdmllbGxlaWNodCBub2NoLCBkYXNzIGF1ZiBkZW4gQmV3ZWlzIGVpbiBQcmVpcyB2b24gMSBNaW8gVVNECmF1c2dlc2V0enQgaXN0IDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKEdyaW1tYm9ybiwgIDQuIEphbiAyMDAzLCAxNToyMzowNik6Cn4jISBybj1WYW5pb24gcnQ9MTA0MTY4ODQyMiByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkFoYSwgYWxzbyBmYWVsbHQgImF1c3JlY2huZW4iIGpldHp0IG9mZml6aWVsbCB1bnRlciBkaWUgenVnZWxhc3NlbmVuCm1hdGhlbWF0aXNjaGVuIEJld2Vpc2U/IEJlaW0gVmllcmZhcmJlbnByb2JsZW0gd3VyZGUgZGFzIGphIG5vY2ggZGlza3V0aWVydC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFZhbmlvbiwgIDQuIEphbiAyMDAzLCAxNToyNjoyMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0MTY5MDE4NiByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzClp1bWluZGVzdCBzY2hlaXQgZGVyIEF1dGhvciBkZXMgUHJvZ3JhbW1lcyBkcmF1ZiB6dSBiYXVlbiwgZGFzcyBkYXMgYXVzcmVjaG5lbgooenVtaW5kZXN0LCB3ZW5uIGxhbmcgZ2VudWcgZ2VyZWNobmV0IHdpcmQpIGFscyBCZXdlaXMgemFlaGx0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoQXBzdSwgIDQuIEphbiAyMDAzLCAxNTozMjowNSk6Cn4jISBybj1WYW5pb24gcnQ9MTA0MTY4NzYyNyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkVya2xhZXIgbWFsIG1pciBkdW1tZW0gTmljaHRtYXRoZW1hdGlrZXIgZGVuIE51dHplbiwgZGVuIG1hbiBkYXJhdXMgemllaGVuCmthbiwgcHJvIHRhZyA1MCAwMDAgMDAwIG1pbyBOdWxsc3RlbGxlbiB6dSBiZXJlY2huZW4uCgpBcHN1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoU2Nob2tvLCAgNC4gSmFuIDIwMDMsIDE1OjMyOjE1KToKfiMhIHJuPVZhbmlvbiBydD0xMDQxNjkwMzgxIHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKVmllbGVpY2h0IGxpZWdlbiBhdWNoIG51ciBhbGxlIHByYWt0aXNjaCByZWxldmFudGVuIE51bGxzdGVsbGVuIGluIGVpbmVtCihncm9zc2VuIGFiZXIgYmVzY2hyYWVua3RlbikgSW50ZXJ2YWxsLCBkZXNzZW4ga29tcGxldHRlIEJlcmVjaG51bmcgaGllcgphbmdlc3RyZWJ0IHdpcmQ/CgpTY2hva28sIGRlciBiZWkgMU1JbyBQcmVpc2dlbGQgZWhlciBrZWluZSBNYXRoZW1hdGlrZXIgaGludGVyIGRlciBTYWNoZQp2ZXJtdXRldCwgZGVuZW4gZWluIGtvcnJla3RlciBCZXdlaXMgd2ljaHRpZyBpc3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFZhbmlvbiwgIDQuIEphbiAyMDAzLCAxNTozNTozMSk6Cn4jISBybj1BcHN1IHJ0PTEwNDE2OTA3MjUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpGcmFnIGVpbmVuIE1hdGhlbWF0aWtlci4gSWNoIGhhYiBkYXMgbnVyIGlyZ2VuZHdhbm4gbWFsIGlyZ2VuZHdvIGltIFN0dWRpdW0KZ2Vob2VydCB1bmQgbWVpbmUgbWljaCB6dSBlcmlubmVybiwgZGFzcyBkaWVzZSBIeXBvdGhlc2UgZWluZSBTdHVldHplIGVpbmlnZXIKd2ljaHRpZ2VyIE1ldGhvZGVuIGRlciBNYXRoZW1hdGlrIGlzdC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChXYXJnb24sICA0LiBKYW4gMjAwMywgMTU6NDY6MzApOgp+IyEgcm49QXBzdSBydD0xMDQxNjkwNzI1IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKRGFzIGdhbnplIGlzdCBzaWNoZXIgbnVyIGVpbiB3ZWl0ZXJlciBWZXJzdWNoIGRlciBDb21wdXRlcmluZHVzdHJpZSwgZGllCm5ldWVzdGVuIFJlY2huZXIgdW50ZXJzIFZvbGsgenUgYnJpbmdlbi4gU2NobGllc3NsaWNoIGdlaHQgc2VpdCAyMDAxIGRlcgpQQy1VbXNhdHogenVydWVjay4gOykKICBXYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChPbGxpLCAgNC4gSmFuIDIwMDMsIDE2OjM2OjQ1KToKfiMhIHJuPVdhcmdvbiBydD0xMDQxNjkxNTkwIHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKSWNoIGZpbmRlIGRhcyBkb2NoIHNlaHIgZHViaW9zLiBEYXMgZWluemlnZSwgd2FzIGRhbWl0IG1vZWdsaWNoIHdhZXJlLAppc3QsIGRpZSBSaWVtYW5uc2NoZSBWZXJtdXR1bmcgenUgd2lkZXJsZWdlbiwgd2VubiBtYW4gbmVuIEdlZ2VuYmVpc3BpZWwKZmluZGV0LiBEYXMgd2FlcmUgbWF0aGVtYXRpc2NoIHp1bWluZGVzdCB3aWVkZXIga29ycmVrdC4gQWJlciB3YXJ1bQpzY2hyZWlidCBlciBkYW5uIG5pY2h0LCBkYXNzIGVyIGRhcyB2ZXJzdWNodD8KCk9sbGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChHcmltbWJvcm4sICA0LiBKYW4gMjAwMywgMTY6NDA6NDApOgp+IyEgcm49T2xsaSBydD0xMDQxNjk0NjA1IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKSGFzdCBEdSBEaWNoIG1hbCB1bWdlc2VoZW4sIHdpZSB3ZWl0IGRhcyBtYXRoZW1hdGlzY2hlIFZlcnN0YWVuZG5pcyBlbnR3aWNrZWx0CmlzdD8gV2lyIGxlYmVuIGluIGVpbmVyIEdlc2VsbHNjaGFmdCBpbiBkZXIgNzUlIGRlciBMZXV0ZSBlaW5lbiBUYXNjaGVucmVjaG5lcgpicmF1Y2hlbiwgdW0gIjk5ICsgOTkiIGtvcnJla3QgenVzYW1tZW56dXJlY2huZW4sIHVuZCBiZWkgIkRyZWlzYXR6IiBhbgpMZWljaHRhdGhsZXRpayBkZW5rZW4uIFdvIHdpbGxzdCBEdSBkYSBhbmZhbmdlbiwgd2VubiBEdSB3YXMga29ycmVrdCBpbSBEZXRhaWwKZXJrbGFlcmVuIHdpbGxzdD8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFBhdHJ5biwgIDQuIEphbiAyMDAzLCAxNjo0MTo0NCk6Cn4jISBybj1PbGxpIHJ0PTEwNDE2OTQ2MDUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwppbnRlcmVzc2FudGVyd2Vpc2UgZ2lidCBlcyBrZWluZW4gcHJlaXMgZnVlciB3aWRlcmxlZ2VuICpnKgphYmVyIHRyb3R6ZGVtIGxpZWdzdCBkdSBuaWNodCBnYW56IHJpY2h0aWcsIGluc2Jlc29uZGVyZSBpbiBkZXIKa29tYmluYXRvcmlrLCB6YWhsZW50aGVvcmllLCBncmFwaGVudGhlb3JpZSB1bmQgYWVobmxpY2hlcyBnaWJ0IGVzCmluendpc2NoZW4gemFobHJlaWNoZSBjb21wdXRlcmJld2Vpc2UuCmRhYmVpIGdlaHQgbWFuIG1laXN0IHNvIHZvciwgZGFzcyBtYW4gdmVyc3VjaHQgZWluIHByb2JsZW0gaW4Ka2xhc3NlbiB2b24gcHJvYmxlbWluc3RhbnplbiB6dSByZWR1emllcmVuIHVuZCBkaWVzZSBrbGFzc2VuCm1pdCBkZW0gY29tcHV0ZXIgZHVyY2h6dXJlY2huZW4uCmRhcyA0LWZhcmJlbi1sYW5ka2FydGVucHJvYmxlbSB3YXIgZGVyIGVyc3RlIHNlaHIgYmVrYW5udCBiZXdlaXMgZGllc2VyCmZvcm0uIGRhbm4gZ2xhdWIgaWNoIGF1Y2ggZGllc2VzIHJhdW16ZW50cmllcnRlIGt1Z2VscHJvYmxlbSwgYWJlciBhdWNoCm5vY2ggdmllbGUgdW5iZWthbm50ZXJlLgpkaWUgYmV3ZWlzZSBzaW5kIHp3ZWlmZWxsb3MgbmljaHQgZ2VyYWRlIHNlaHIgaHVlYnNjaCwgYWJlciBpbnNiZXNvbmRlcmUKZGllIHphaGxlbnRoZW9yaWUga3Jhbmt0IGRlcnplaXQgZGFyYW4sIHppZW1saWNoIG9mdCBhdWYgc293YXMgenVydWVja2dyZWlmZW4KenUgbXVlc3Nlbi4KZGllIHJpZW1hbm4taHlwb3RoZXNlIGhhdCB6YWhscmVpY2hlIGFlcXVpdmFsZW50ZSBkYXJzdGVsbHVuZ2VuLApkaWUgdW50ZXIgYW5kZXJlbSB6dSBzYWV0emVuIGRlciB6YWhsZW50aGVvcmllIChwcmltemFobGVuKSBmdWVocmVuLAphcmdsLCBuaWNoIHNhZXR6ZSBzb25kZXJuIGF1Y2ggdmVybXV0dW5nZW4gbmF0dWVybGljaCAqZyoKCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChIdW1uaSwgIDQuIEphbiAyMDAzLCAxNjo1NzozNik6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTY5NDkwNCByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkRlbm5vY2ggaXN0IGRlciBCZXdlaXMgZGVzIFZpZXJmYXJiZW5wcm9ibGVtcyBlaW4gRHVyY2hyZWNobmVuIHZvbiBhbGxlbgptb2VnbGljaGVuIEZhZWxsZW4sIGRpZSBtaXQga2x1Z2VuIE1ldGhvZGVuIGF1ZiBlaW5lIGdld2lzc2UgR3J1bmRtZW5nZSB2b24KbW9lZ2xpY2hlbiBGYWVsbGVuIHJlZHVpemllcnQgd3VyZGVuIChpY2gga2VubiBkYXMgenV3ZW5pZywga29ycmlnaWVydCBtaWNoCndlbm4gaWNoIGlycmUpLiBFaW5lIEF1c3NhZ2UgdWViZXIgZWluZSBlbmRsaWNoZSAod2VubiBhdWNoIGdyb3NzZSkgbW9lZ2xpY2hlCkZhbGxhbnphaGwgbWFnIHZvbiBkYWhlciBzbyBhdWNoIHdpcmtsaWNoIGJld2llc2VuIHdlcmRlbiAod2VubiBrZWluZSBGZWhsZXIKaW0gUHJvZ3JhbW0gb2RlciBpbiBkZW4gUmVkdWt0aW9uc3NjaHJpdHRlbiB2b3JsaWVnZW4sIHdvYmVpIGRhcyBiZWkgamVkZW0KYW5kZXJlbiBCZXdlaXMgYXVjaCBzZWluIGthbm4sIGRhc3MgZGEgZWluZmFjaCBlaW4gbG9naXNjaGVyIEZlaGxlciBkcmluIGlzdCkuCkhpZXIgc2NoZWludCBzaWNoIGRpZSBCZWhhdXB0dW5nIGFiZXIgZG9jaCB1ZWJlciB3YXMgdW5lbmRsaWNoZXMgenUKZXJzdHJlY2tlbiwgb2RlciB0YWV1c2NoZSBpY2ggbWljaD8KCkh1bW5pLCBBbGdlYnJhaWtlciwga2VubnQgbnVyIGVpbiBnYW56IGtsZWluZXMgYmlzc2NoZW4gWmFobGVudGhlb3JpZSB1bmQgZGFubgphdWNoIG51ciB1ZWJlciBlbmRsaWNoZW4gU3RydWt0dXJlbi4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFNjaG9rbywgIDQuIEphbiAyMDAzLCAxNzowNjoyMyk6Cn4jISBybj1BcHN1IHJ0PTEwNDE2OTA3MjUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpIaWVyIGdlaHRzIHVtIFByaW16YWhsZW4gKG51bmphIGluZGlyZWt0IDopKSB1bmQgZGVyZW4gSGFuZGhhYi0gYnp3IG5vY2gKc2NobGltbWVyIEJlcmVjaGVuYmFya2VpdC4gSWNoIHdpbGwgamV0enQgbmljaHQgYmxpbmQgenUgd2VpdCBzY2hpZXNzZW4sIGFiZXIKYmVpIFByaW16YWhsZW4gZHJhZW5nZW4gc2ljaCBpbW1lciBWZXJzY2hsdWVzc2VsdW5nIHVuZCBDb2RpZXJ1bmcgYXVmIHVuZCBpY2gKZGVua2Ugc2Nob24sIGRhc3Mgc2ljaCBmdWVyIGRlbiBCZXdlaXMgZGVyIFNpY2hlcmhlaXQgZWluZXMKVmVyc2NobHVlc3NlbHVuZ3NhbGdvcml0aG11cyBiencgZGVzIEdlZ2VudGVpbHMgZGllIEJlcmVjaG51bmcgdm9uIGVpbiBwYWFyCk51bGxzdGVsbGVuIGxvaG50LCBvZGVyIDopCgpTY2hva28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChHcmltbWJvcm4sICA0LiBKYW4gMjAwMywgMTc6MDc6MTMpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDE2OTYzODMgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpXb3p1IE51bGxzdGVsbGVuIGJlcmVjaG5lbj8gRGllIHNpbmQgaW1tZXIgTnVsbCwgYWxsZXNhbXQuIERhIGJyYXVjaHN0ZSBuaWNodApmdWVyIHJlY2huZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChIdW1uaSwgIDQuIEphbiAyMDAzLCAxNzowNzo0OCk6Cn4jISBybj1TY2hva28gcnQ9MTA0MTY5NjM4MyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCktvZW5udGUgbWFuIGRlbm4gYmVpIFdpZGVybGVndW5nIGRlciBSaWVtYW5uLUh5cG90aGVzZSBlaW5mYWNoZXIgZmFrdG9yaXNpZXJlbgpiencuIGltIEdlZ2VuenVnIGJlaSBlaW5lbSBCZXdlaXMgZ2VuYXUgV0FTIGF1c3NhZ2VuPwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChTY2hva28sICA0LiBKYW4gMjAwMywgMTc6MTQ6MTgpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDE2OTYzODMgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpCbHViYgoKU2Nob2tvIAoKClAuUy46IGVyc2V0emUgTnVsbHN0ZWxsZSBiZXJlY2huZW4gaW4gTnVsbHN0ZWxsZW4gZmluZGVuLCBkYW1pdCBhdWNoIEdyaW1tYm9ybgp3ZWlzcywgd29ydW1zIGdlaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoUGF0cnluLCAgNC4gSmFuIDIwMDMsIDIwOjQzOjM3KToKfiMhIHJuPVNjaG9rbyBydD0xMDQxNjk2ODU4IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKaWNoIGhhYiBtaXIgZGVuIGJld2Vpc3ZlcnN1Y2hzIGRlcyB0eXBlbiBuaWNodCBhbmdlc2NoYXV0LCB3ZW5uIGVyIGtlaW5lCnJlZHVrdGlvbiBhdWYgZW5kbGljaCB2aWVsZSBmYWVsbGUgenVzYW1tZW5icmluZ3QsIGRhbm4gYmV3ZWlzdCBlciBtaXQKZGVtIGZpbmRlbiBtb2VnbGljaHN0IHZpZWxlciBudWxsc3RlbGxlbiBuYXR1ZXJsaWNoIHJlaW4gZ2FyIG5peCwKYXVzc2VyIGVyIGZpbmRldCBtaXQgZGVyIG1ldGhvZGUgenVmYWVsbGlnIGVpbiBnZWdlbmJlaXNwaWVsLApmdWVyIGRlc3NlbiBlcmJyaW5ndW5nLCBpY2ggc2NocmllYiBlcyBiZXJlaXRzLCBlcyBzZWx0c2FtZXJ3ZWlzZQprZWluZW4gcGZpZmZlcmxpbmcgZ2lidCAoYXVzc2VyIGV2dGwuIGV0d2FzIHJ1aG0gdW5kIGVocmUgOykKCmljaCBzY2hyaWViIGphIGF1Y2ggc2Nob24gZGFzcyBtYW4gZGFzIHZpZXJmYXJiZW5wcm9ibGVtIGF1Y2ggZHVyY2gKa2F0ZWdvcmlzaWVydW5nIHVuZCBkdXJjaHJlY2huZW4gZ2Vsb2VzdCBoYXQuCgppY2ggYmluIGtlaW4gemFobGVudGhlb3JldGlrZXIsIHdlaXNzIGRlc2hhbGIgbmljaCB3YXMgZ2VuYXUgbWFuCm5hY2ggZGVtIGJld2VpcyBkZXIgdmVybXV0dW5nIHByYWt0aXNjaCBiZXNzZXIvYW5kZXJzIG1hY2hlbiBrYW5uLgpmaW5kZXQgbWFuIGFiZXIgYmVzdGltbXQgbWl0IGdvb2dsZSByYXVzLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFNjaG9rbywgIDQuIEphbiAyMDAzLCAyMzozODo0NSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTcwOTQxNyByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkFsc28gZWluIGJpc3NsIGhhYiBpY2ggZ29vZ2xlIG1hbCBiZWZyYWd0LCBhYmVyIGF1c3NlciBqZWRlcm1lbmdlIFBocmFzZW4gYWxhOgphdWYgZGVyIFdhaHJoZWl0IGRlciBWZXJtdXR1bmcgYmFzaWVydCBlaW5lIFVuemFobCBtYXRoZW1hdGlzY2hlciBBYmxlaXR1bmdlbiwKc28gZGFzcyBkZXIgVmVyaWZpa2F0aW9uIGVpbmUgaW1tZW5zIGdyb3NzZSBCZWRldXR1bmcgenVrb21tdCwgd2FyIGxlaWRlcgp6dW5hZWNoc3QgbmljaHRzIHp1IGZpbmRlbi4KCkVpbnppZ2VyIEhpbndlaXMgaXN0IGF1ZiBkZXIgU2VpdGUgc2VsYmVyOiBkZXIgc2NobmVsbHN0ZSBiZWthbm50ZSBUZXN0IGVpbmVyClphaGwgYXVmIFByaW1oZWl0IChoZWlzc3QgZGFzIHNvPykgLSBkZXIgTWlsbGVyLVJhYmluJ3MgUHJpbWFsaXR5IFRlc3QgLQpiYXNpZXJ0IGF1ZiBkZXIgQW5uYWhtZSwgZGFzcyBkaWUgVmVybXV0dW5nIGdpbHQuCldhcyBpbW1lciB3aWVkZXIgYXVmdGF1Y2h0LCBpc3QgZGllIEFlcXVpdmFsZW56IGRlciBWZXJtdXR1bmcgenVtIFByaW16YWhsClRoZW9yZW0sIG1pdCB3ZWxjaGVtIGRpZSBBbnphaGwgdm9uIFByaW16YWhsZW4gYXN5bXB0b3Rpc2NoIGFiZ2VzY2hhZXR6dAp3ZXJkZW4ga2FubiAtIHdlbGNoZW4ga29ua3JldGVuIE51dHplbiBkZXIgQmV3ZWlzIGRhZnVlciBudW4gaGF0LCBpc3QgbWlyCmFsbGVyZGluZ3Mgc2NobGVpZXJoYWZ0LiBWaWVsZWljaHQga2FubiBzaWNoIGVpbiBNYXRoZW1hdGlrZXIgZGFyYXVmIGVpbmVuClJlaW0gbWFjaGVuPwoKU2Nob2tvCgpQLlMuOiBhYmdla3VwZmVydCBhdXM6Cmh0dHA6Ly9tYXRod29ybGQud29sZnJhbS5jb20vUmllbWFubkh5cG90aGVzaXMuaHRtbApodHRwOi8vd3d3Lm1hdGhzLmV4LmFjLnVrL35td2F0a2lucy96ZXRhL3pldGFmbi5odG0KIC4uLiBpY2gga2FubnMga2F1bSBnbGF1YmVuLCBkYXNzIGljaCBzb3dhcyBnZWxlc2VuIGhhYiwgbmFjaGRlbSBpY2ggbWlyIG5laQptZWhyIE1hdGhlIGdlc2Nod29yZW4gaGF0dGUgOi19CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFBhdHJ5biwgIDQuIEphbiAyMDAzLCAyMzo0Mzo0Mik6Cn4jISBybj1TY2hva28gcnQ9MTA0MTcxOTkyNSByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCk5hIGphLCBkZXIgSGF1cHRzaW5uIGlzdCB3b2hsLCBkYXNzIG1hbiBBYnNjaGFldHp1bmdlbiBnZWJlbiBrYW5uLAp3aWV2aWVsIFByaW16YWhsZW4gaW4gZWluZW0gSW50ZXJ2YWxsIGxpZWdlbi4KQXVzc2VyZGVtIGxpZWd0IGRlciBCZXdlaXMgYW5nZWJsaWNoIGluIGdyZWlmYmFyZXIgTmFlaGUsIHdlaWwgbWFuCmt1ZXJ6bGljaCBnYW56IHZlcmJsdWVmZmVuZGUgQWVobmxpY2hrZWl0ZW4genUgY2hhb3Rpc2NoZW4KUXVhbnRlbnN5c3RlbWVuIGdlZnVuZGVuIGhhdC4KQWJlciBkYXJhdWYgc29sbHRlIG1hbiBuaWNodCB6dSB2aWVsIGdlYmVuLCBtYW5jaCBtYXRoZW1hdGlzY2hlciBCZXdlaXMKbGllZ3Qgc2VpdCBKYWhyemVobnRlbiBpbiBhbmdlYmxpY2ggZ3JlaWZiYXJlciBOYWVoZSA7KQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKEdyaW1tYm9ybiwgIDQuIEphbiAyMDAzLCAyMzo0OToxMik6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTcyMDIyMiByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCk51IGxhZXN0ZXIgbWFuIG5pY2h0LCBkZXIgR3Jvc3NlIEZlcm1hdCBpc3QgamEgd29obCAobmFjaGRlbSBlciBlaW4gcGFhcgpodW5kZXJ0IEphaHJlIGluIGdyZWlmYmFyZXIgTmFlaGUgd2FyKSBpbW1lcmhpbiBiZXdpZXNlbi4gQmxvc3MgZGFzIFByb2JsZW0sCmlobiBhdWYgZWluZW0gQnVjaHJhbmQgdW50ZXJ6dWJyaW5nZW4sIGlzdCBub2NoIHVuZ2Vsb2VzdC4gQWJlciBkYXMgaGF0IGphCm5pY2h0bWFsIEZlcm1hdCBoaW1zZWxmIGdlc2NoYWZmdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFNjaG9rbywgIDQuIEphbiAyMDAzLCAyMzo0OTo0Mik6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTcyMDIyMiByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkRhc3MgZGVyIEhhdXB0c2lubiBpbSBBYnNjaGFldHplbiB2b24gQW56YWhsZW4gdm9uIFByaW16YWhsZW4gbGllZ3QgZ3V0IHVuZApzY2hvZW4uIE51ciBzY2hlaW50IG1pdCBkYXMgc2Nob24gc2VpdCBlaW5lciBXZWlsZSBiZWthbm50IHp1IHNlaW4gdW5kIGF1Y2gKdmVyd2VuZGV0IHp1IHdlcmRlbiAtIGRlbiBCZXdlaXMgYnJhdWNodGUgZGFmdWVyIGJpc2hlciB3b2hsIGF1Y2gga2VpbmVyIDopCgpTY2hva28gKHdpZSBiZWkgUCB1bmQgTlAgZWhlciBhbSBwcmFrdGlzY2hlbiBOdXR6ZW4gaW50ZXJlc3NpZXJ0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKEVsYmVyZXQsICA0LiBKYW4gMjAwMywgMjM6NTM6MzUpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDE3MjA1ODIgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpobW0sIGRhIGtvZW5udGUgaWNoIG1hbCB3aWVkZXIgbWVpbmUgYmVsaWVidGUgZnJhZ2Ugc3RlbGxlbiwgd2FzIGVzIG1pdCBQIHVuZApOUCBudW4gZ2VuYXUgYXVmIHNpY2ggaGF0LiBCaXNoZXIgaGFiZW4gdmllbGUgdmVyc3VjaHQgZXMgbWlyIHp1IGVya2xhZXJlbiB1bmQKaWNoIGhhYiBkYXMgbmllIHZlcnN0YW5kZW4uIE9rIGljaCBiaW4gZG9vZiwgYWJlciB2aWVsbGVpY2h0IGhhYmVuIHdpciBqYQplaW5lbiBndXRlbiBEaWRha3RlbiB1bnRlciB1bnRlciB1bnMuCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoUGF0cnluLCAgNC4gSmFuIDIwMDMsIDIzOjU5OjM1KToKfiMhIHJuPUVsYmVyZXQgcnQ9MTA0MTcyMDgxNSByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkhtbSBqYSwgbWFuIG11c3Mgc2ljaCBzY2hvbiBiaXNzZWwgcmVpbmRlbmtlbiBpbiBQIHVuZCBOUCwKc28gZ2FueiBmYWVsbHQgZXMgZWluZW0gbmljaHQgenUuIERhcyBsaWVndCBhbiBkZXIgZXR3YXMgdW1zdGFlbmRsaWNoZW4KRGVmaW5pdGlvbiB2b24gInNjaHdlcmVyIGFscyBQIi4KRWluIEFsZ29yaXRobXVzIHNvbGwgZWluIGJlc3RpbW10ZXMgUHJvYmxlbSBhdWYgZWluZXIgYmVzdGltbXRlbiBNYXNjaGluZQptaXQgZWluZW0gYmVzdGltbXRlbiBLb2RpZXJ1bmdzc2NoZW1hIGxvZXNlbi4KRWluIFByb2JsZW0gaGF0IG51biB2aWVsZSBQcm9ibGVtaW5zdGFuemVuLCB6LkIuIGlzdCBkYXMgUHJvYmxlbToKIGZpbmRlIGt1ZXJ6ZXN0ZW4gd2VnLCBlaW5lIFByb2JsZW1pbnN0YW56IHdhZXJlIG51biBlaW4KIEVudGZlcm51bmdzYXRsYXMgdm9uIERldXRzY2hsYW5kIHVuZCBlaW4gU3RhcnQgdW5kIFppZWxwdW5rdC4KRGllc2UgUHJvYmxlbWluc3RhbnogaGF0IG51biBlaW5lIGJlc3RpbW10ZSBLb2RpZXJ1bmdzbGFlbmdlCiAoYXVmIHVuc2VyZXIgTWFzY2hpbmUsIG1pdCBkZW0gS29kaWVydW5nc3NjaGVtYSB1LnMudy4pCk51biBkZWZpbmllcnQgbWFuIGVpbmUgTGF1ZnplaXRmdW5rdGlvbiwgd2VsY2hlIGRpZSBtYXhpbWFsZQpMYXVmemVpdCBmdWVyIGVpbmUgUHJvYmxlbWluc3RhbnogZGVyIG1heGltYWxlbiBHcm9lc3NlIG4genVydWVja2dpYnQuClNvd2FzIHdpZSBmKG4pIHdvYmVpIG4gZ2xlaWNoIDxJPiB1bmQgPEk+IGlzdCBLb2RpZXJ1bmdzbGFlbmdlIGRlcgpQcm9ibGVtaW5zdGFueiBJLgpXaWUgc2luZCBudW4gaW4gUCwgd2VubiB3aXIgZGllIExhdWZ6ZWl0IHBvbHlub21pYWwgYWJzY2hhZXR6ZW4ga29lbm5lbiwKYWxzbyBmKG4pPHAobikgbWl0IHAgUG9seW5vbSBiZWxpZWJpZy4KU29sbCBpY2ggamV0enQgZWNodCBiZWkgTlAgd2VpdGVybWFjaGVuPyAqZyoKCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoR3JpbW1ib3JuLCAgNS4gSmFuIDIwMDMsIDAwOjAxOjU0KToKfiMhIHJuPUZvb2JhciBydD0xMDQxNzIxMjA3IHJnPXNjaG1hcnJuCn4jISB0aWQ9MTA0MTYyNzQxMwpOZWluLCBicmF1Y2hzdCBEdSBuaWNodC4gR2VmcmFndCB3YXIgbmFjaCBlaW5lbSBndXRlbiBEaWRha3Rlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChFbGJlcmV0LCAgNS4gSmFuIDIwMDMsIDAwOjAyOjUwKToKfiMhIHJuPVBhdHJ5biBydD0xMDQxNzIxMTc1IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKYml0dGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoUGF0cnluLCAgNS4gSmFuIDIwMDMsIDAwOjAzOjIwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTA0MTcyMTM3MCByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCmVyc3Qgd2VubiBkdSBkZW4gZXJzdGVuIHRlaWwgYWxzIHZlcnN0YW5kZW4gYW5naWJzdCA7KQpkZXIgMi4gd2FlcmUgZWNodCBldHdhcyB1bXN0YWVuZGxpY2hlci4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoRWxiZXJldCwgIDUuIEphbiAyMDAzLCAwMDowNjowNCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTcyMTQwMCByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCm5hamEgZGFzIFAgd2FyIG5pZSBkYXMgcHJvYmxlbSwgZWhlciBkYXMgTlAKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoR3JpbW1ib3JuLCAgNS4gSmFuIDIwMDMsIDAwOjA2OjE2KToKfiMhIHJuPVBhdHJ5biBydD0xMDQxNzIxNDAwIHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKTWlyIGlzdCBEZWluIGYobikgdm9lbGxpZyB1bmtsYXIuIERhcyBpc3Qgd2llIGYoMiksIGFsc28gbmljaHQgZGFzLCB3YXMgaWNoCnVudGVyIGVpbmVyIGFuc3RhZW5kaWdlbiBGdW5rdGlvbiB2ZXJzdGVoZS4gTWVpbnN0IER1IGYoSSksIG9kZXIgaGFiIGljaCBkYXMKc2NobGljaHQgbmljaHQgdmVyc3RhbmRlbj8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChQYXRyeW4sICA1LiBKYW4gMjAwMywgMDA6MTk6MDgpOgp+IyEgcm49RWxiZXJldCBydD0xMDQxNzIxNTY0IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKKnNldWZ6KiAqc2VlZXVmeiogOikKV2lyIEJldHJhY2h0ZW4gZXJzdCBlaW5tYWwgbnVyIEVudHNjaGVpZHVuZ3Nwcm9ibGVtZSwgZGFzIHNpbmQgUHJvYmxlbWUgbWl0CkphL05laW4tQW50d29ydGVuLgpXaWUgaWNoIHNjaG9uIHNhZ3RlLCB2ZXJzdWNodCBtYW4gbnVuIGluIGVpbmVtIGdld2lzc2VuIFNpbm5lCiJzY2h3ZXJlciBhbHMgUCIgbWF0aGVtYXRpc2NoIHp1IGVyZmFzc2VuLCB3b2JlaSBQIHJlY2h0IGVpbmZhY2ggZGVmaW5pZXJ0Cndhci4KSW5mb3JtZWxsIGJlZGV1dGV0IGVzOgogSXN0IGRpZSBBbnR3b3J0IGZ1ZXIgZWluIFByb2JsZW1iZWlzcGllbCBJICJqYSIsIGRhbm4ga2FubiBkaWUgS29ycmVrdGhlaXQKZGVyIEFudHdvcnQgaW4gcG9seW5vbWlhbGVyIFplaXQgdWViZXJwcnVlZnQgd2VyZGVuLgoKTWFuIG1lcmt0IGhpZXJiZWksIGRhc3MgUCBpbiBOUCBzdGVja3QuCgpHZW5hdWVyIGRlZmluaWVydCBtYW46Ci0gRnVlciBlaW4gUHJvYmxlbWJlaXNwaWVsIEkgbWl0IEFudHdvcnQgImphIiBmaW5kZXQgbWFuIGVpbgpadXNhdHpvYmpla3QgWiwgbWl0IGRlc3NlbiBIaWxmZSBkaWUgS29ycmVrdGhlaXQgZ2VwcnVlZnQgd2VyZGVuIGthbm4uCi0gRXMgZ2lidCBlaW5lbiBBbGdvcml0aG11cyxkIGVyIFByb2JsZW1iZWlzcGllbGUgSSB1bmQgWnVzYXR6b2JqZWt0ZSBaCmVudGdlZ2VubmltbXQsIHVuZCBpbiBwb2x5bm9taWFsZXIgWmVpdCBwcnVlZnQsIG9iIFogZWluIE9iamVrdCBpc3QsCmF1ZiBkZXNzZW4gRXhpc3RlbnogaGluIGVpbmUgImphIi1BbnR3b3J0IGZ1ZXIgSSBnZWdlYmVudyBlcmRlbiBtdXNzLgoKRGFzIG11c3MgbWFuIHNpY2ggamV0enQgc2Nob24gZWluaWdlIG1hbGUgZHVyY2hzIEhhYXIgZmFocmVuIGxhc3NlbiA7KQpCc3A6IElzdCBuIHp1c2FtbWVuZ2VzZXR6dCBaYWhsPyBEYXMgaXN0IGVpbiBFbnRzY2hlaWR1bmdzcHJvYmxlbSBpbiBOUC4KTWFuIGtvZW5udGUgYWxzIFp1c2F0em9iamVrdCBaIGVpbmZhY2ggendlaSBaYWhsZW4gdW5nbGVpY2ggMSBhbmdlYmVuLApkZXJlbiBQcm9kdWt0IG4gaXN0LiBEYW5uIGlzdCBkaWUgVWViZXJwcnVlZnVuZyBkZXIgImphIi1BbnR3b3J0CmVpbmUgZWluZmFjaGUgTXVsdGlwbGlrYXRpb24sIHNvbWl0IHBvbHlub21pYWwuCgpFcyB3aXJkIGhpZXJiZWkgbmljaHRzIGRhcnVlYmVyIGF1c2dlc2FndCwgd2llIHNvbGNoIGVpbiBadXNhdHpvYmpla3QgWgp6dSBmaW5kZW4gaXN0ISBVbmQgc29taXQgd2llc3MgbWFuIGF1Y2ggZ2FyIG5pY2ggb2IgZWluIHBvbHlub21pYWxlciBBbGcuCnNvd2FzIGF1c3NwdWNrdC4KCkxldHp0bGljaCBoZWlzc3QgamEgTlAgbmljaHRkZXRlcm1pbmlzdGlzY2ggcG9seW5vbWFpbGVyIEFsZy4sIGVyIGthbm4gaW0KMS4gU2Nocml0dCBlaW5lIExvZXN1bmcgcmF0ZW4gdW5kIGRhbm4gbm9ybWFsIHdlaXRlci4KClVuZCBpbnRlcmVzc2FudCB3aXJkcyBkYW5uIGJlaSBOUC12b2xsc3RhZW5kaWcuLi4gKnNldWZ6KgpFaW4gQnVjaCBpc3Qgd29obCBiZXNzZXIuCgotLSAKcGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKENhZHJhY2gsICA1LiBKYW4gMjAwMywgMTA6MDI6MjkpOgp+IyEgcm49UGF0cnluIHJ0PTEwNDE3MjExNzUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpEYXMgZ2VodCBhYmVyIGF1Y2ggZWluZmFjaGVyOgpFaW4gUHJvYmxlbSBsaWVndCBpbiBQLCB3ZW5uIGVzIGVpbmUgZGV0ZXJtaW5pc3Rpc2NoZSBUdXJpbmdtYXNjaGluZSBnaWJ0LCBkaWUKZGFzIFByb2JsZW0gaW4gcG9seW5vbWllbGxlciBaZWl0IGxvZXN0LgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChIdW1uaSwgIDUuIEphbiAyMDAzLCAxMjoxMzoyNSk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNDE3NTczNDkgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpOdW4gamEgLHdlbm4gRHUgZGVuIExldXRlbiBlcmtsYWVyc3Qgd2FzIGVpbmUgVE0gaXN0IHVuZCB3ZXNzZW5iZXp1ZWdsaWNoIER1CnBvbHlub21pZWxsZSBaZWl0IG5pbW1zdCwgZGFubiBzaWNoZXIgOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChTY2hva28sICA1LiBKYW4gMjAwMywgMTI6MjY6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MTc2NTIwNSByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzClVuZCBuYXR1ZXJsaWNoIGRpZSB1bndlc2VudGxpY2hlIEtsZWluaWdrZWl0LCB3YXMgRHUgdW50ZXIgIlByb2JsZW0gbG9lc2VuIgp2ZXJzdGVoc3QuIERpZSAwOC8xNSBUTSBrYW5uIGphIG51bm1hbCBuaXggYW5kcmVzLCBhbHMgamEgb2RlciBuZWluIHNhZ2VuIC0Kd2VubiBEdSBHbHVlY2sgaGFzdCB1bmQgc2llIG5pY2h0IHVuZW5kbGljaCBsYWV1ZnQgOikKClNjaG9rbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChHcmltbWJvcm4sICA1LiBKYW4gMjAwMywgMTM6MjQ6NTgpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDE3NjU5NzUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpEaWUgRnJhZ2UgaXN0LCBvYiBkYXMgUHJvYmxlbSAiZXJrbGFlcmUgYml0dGUgZGllc2VuIEtyYW1zIGRhIG1pdCBOIHVuZCBOUCB1bmQKc28sIHVuZCB6d2FyIHZlcnN0YWVuZGxpY2giIGluIFAgbGllZ3QsIHVuZCB3ZW5uIGphLCB3aWUgbWFuIGFuIGRpZQpUb3VyaW5nbWFzY2hpbmUgKGtsaW5ndCB3aWUgSmFuIFVsbHJpY2hzIG5ldWVzdGVzIEFyYmVpdHNnZXJhZXQuLi4pIGZpbmRldCBkaWUKZGFzIGxvZXN0IHVuZCBlaW5lbSBkYW1pdCBkaWUgU2FjaGVuIGVya2xhZXJ0LiAKClVuZCBuYWVjaHN0ZSBXb2NoZSBrbGFlcmVuIHdpciBkYW5uIHdhcyBSZWt1cnNpb24gaXN0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKENhZHJhY2gsICA1LiBKYW4gMjAwMywgMTQ6MjI6NDgpOgp+IyEgcm49SHVtbmkgcnQ9MTA0MTc2NTIwNSByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkVpbmUgVHVyaW5nbWFzY2hpbmUgYmVzaXR6dCBlaW5lbiBBcmJlaXRzc3BlaWNoZXIgdW5lbmRsaWNoZXIgTGFlbmdlLiBFcyBnaWJ0CmVpbmVuIExlc2UtL1NjaHJlaWJrb3BmIGRlciB6dSBCZWdpbm4gYXVmIGVpbmVyIGJlc3RpbW10ZW4gUG9zaXRpb24gc3RlaHQuIERpZQpNYXNjaGluZSBiZXNpdHp0IGVpbmUgZW5kbGljaGUgS29udHJvbGxlaW5oZWl0IChlaW5lbiBlbmRsaWNoZW4gQXV0b21hdGVuKSB1bmQKa2FubiBiZWkgamVkZW0gWnVzdGFuZHN1ZWJlcmdhbmcgZGVuIEtvcGYgdW52ZXJhZW5kZXJ0IGxhc3NlbiwgZWluIEZlbGQgbmFjaApyZWNodHMgb2RlciBsaW5rcyBiZXdlZ2VuLCBvZGVyIGVpbmVuIFdlcnQgdm9tIEJhbmQgbGVzZW4gb2RlciBzY2hyZWliZW4uCldlbm4gaWNoIG1pY2ggcmVjaHQgZW50c2lubmUsIGthbm4gbWFuIGplZGVzIFByb2JsZW0gYXVmIGVpbgpFbnRzY2hlaWR1bmdzcHJvYmxlbSB6dXJ1ZWNrZnVlaHJlbiB1bmQgZGllIHp1IHN0ZWxsZW5kZSBGcmFnZSBkYW5uIGluIGRlbgpBcmJlaXRzc3BlaWNoZXIgY29kaWVyZW4uIFdlbm4gZGllIE1hc2NoaW5lIGRldGVybWluaXN0aWNoIGxhZXVmdCB1bmQgenVyCmxhZW5nZSBkZXIgRWluZ2FiZSBlaW5lIHBvbHlub21pZWxsZSBMYXVmemVpdCBiZXNpdHp0IHVtIGVudHdlZGVyIGphIG9kZXIgbmVpbgp6dSBiZWtvbW1lbiwgREFOTiBsaWVndCBkYXMgUHJvYmxlbSBpbiBQLgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFlldCBBbm90aGVyIERpc3RyaWJ1dGVkIENvbXB1dGluZyBQcm9qZWN0IChQYXRyeW4sICA1LiBKYW4gMjAwMywgMTY6MTA6NDkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQxNzcyOTY4IHJnPXd3dwp+IyEgdGlkPTEwNDE2Mjc0MTMKZGFzIGtsYW5nIGpldHp0IGFiZXIgc2Nob24gbmljaHQgbWVociBzbyBlaW5mYWNoIDspCmljaCBoYWIgbmljaHQgYWxsIHp1IHZpZWwgdm9yYXVzZ2VzZXR6dC4KdmllbGxlaWNodCBub2NoIGZ1ZXIgaW50ZXJlc3NlbnRlbjoKbWl0IGhpbGZlIGRlcyBtb2RlbGxzIGRlciB0dXJpbmdtYXNjaGluZSBrb25udGUgZGllIHVubG9lc2JhcmtlaXQgZGVzCmhpbGJlcnRzY2hlbiBwcm9ibGVtcyBtYXRoZW1hdGlzY2ggYmV3aWVzZW4gd2VyZGVuOgogZXhpc3RpZXJ0IGVpbiBtZWNoYW5pc2NoZXMgdmVyZmFocmVuIHp1ciBsb2VzdW5nIGFsbGVyIG1hdGhlbWF0aXNjaGVuCnByb2JsZW1lLCBkaWUgenUgZWluZXIgZ3Jvc3NlbiwgYWJlciB3b2hsZGVmaW5pZXJ0ZW4ga2xhc3NlIGdlaG9lcmVuPwphbHNvIGRpZSBhbnR3b3J0IGlzdCBuZWluLCBiZXdpZXNlbiB3aXJkIGRhcyBkYXJ1ZWJlciwgZGFzcyBtYW4gYWxsZQp0dXJpbmdtYXNjaGluZW4gZHVyY2hudW1lcmllcmVuIGthbm4gdW5kIG9iaWdlcyBhZXF1aXZhbGVudCBtaXQgZGVyIGZyYWdlCmlzdCwgb2IgZWluZSBnZXdpc3NlIHR1cmluZ21hc2NoaW5lIHp1bSBlbmRlIGtvbW10LgpkYW5uIGNhbnRvcnNjaGVzIGRpYWdvbmFsdmVyZmFocmVuLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VpYmxpY2hlIHNleHVlbGxlIERpc2Z1bmt0aW9uIChOb25uZSwgIDYuIEphbiAyMDAzLCAxMDozNjozNCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXJ0c2NoYWZ0LzAsMTUxOCwyMjkxNTEsMDAuaHRtbAoKSWNoIHdlaXNzIHNjaG9uLCB3aWVzbyBpY2ggc28gdW5nZXJuIHp1bSBBcnp0IGdlaGVuIChjOwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGZXJuaHlwbm9zZSB1ZWJlcnMgSW50ZXJuZXQ/IChSYWduYXJvZWssICA2LiBKYW4gMjAwMywgMTI6Mjc6MzUpOgoKaHR0cDovL3d3dy5kZXJpdm8uY2gvcmFiYWlsa2FsLXRlc3QvaHlwbm9zZS8KCjpyYWduYToKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoTm9ubmUsICA2LiBKYW4gMjAwMywgMTQ6MTY6NDYpOgp+IyEgcm49UGF0cnluIHJ0PTEwNDE3Nzk0NDkgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvZGFhLTA2LjAxLjAzLTAwMC8KCkRhcyBpc3QgZG9jaCBtYWwgd2FzIFNpbm52b2xsZXMgKGM7CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBZZXQgQW5vdGhlciBEaXN0cmlidXRlZCBDb21wdXRpbmcgUHJvamVjdCAoQXBzdSwgIDguIEphbiAyMDAzLCAyMzoyMzoxNSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA0MTc3OTQ0OSByZz13d3cKfiMhIHRpZD0xMDQxNjI3NDEzCkpqYSwgc28gc2luZCBzaWUsIGRpZSBNYXRoZW1hdGlrZXIuIFdlaWwgZGVuZW4gZGFzIExlYmVuIG5pY2h0IGtvbXBsaXppZXJ0CmdlbnVnIGlzdCwgZGVua2VuIGRpZSBzaWNoIHVubG9lc2JhcmUgUHJvYmxlbWUgYXVzIHVuZCBicnVldGVuIGphaHJodW5kZXJ0ZQpsYW5nIGRyYW4gaGVydW0uIERhbm4gc2luZCBzaWUgZWluZ2VzY2huYXBwdCwgd2VpbCBzaWNoIGRhcyBQcm9ibGVtIGRhbm4gZG9jaAphbHMgbG9lc2JhciBlbnRwdXBwdCwgdW5kIHNldHplbiBub2NoIGVpbnMgZHJhdWYsIGRhbWl0IHNpY2ggYXVjaCBqYSBfamVkZXJfCmRpZSBaYWVobmUgYXVzYmVpc3N0LiBXZWxjaCBlaW5lIFZlcnNjaHdlbmR1bmcgdm9uIEdlaGlybnNjaG1hbHouIDstKQoKQXBzdSBzY2hpZWx0IG5hY2ggU2NobWFycm4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKFBhdHJ5biwgIDguIEphbiAyMDAzLCAyMzoyNzo1Nyk6Cn4jISBybj1BcHN1IHJ0PTEwNDIwNjQ1OTUgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwpOYWphLCBlcyBnaWJ0IGVpbmUgZ2FuemUgUmVpaGUgdm9uIEdlc3RhbHRlbiBoaWVyLCBkZW5lbiBkYXMgTGViZW4genUKa29tcGxpemllcnQgaXN0LCBhYmVyIGltIEF1ZnN0ZWxsZW4gdm9uIG5ldWVuIFNhZXR6ZW4gc2luZCBzaWUgZ3V0IDspCk9LLi4ud2FyIG51ciBTcGFzcywgaWNoIGRlbmtlIE1hdGhlbWF0aWtlciBzaW5kIG5pY2h0IGdhbnogc28Kd2lya2xpY2hrZWl0c2ZyZW1kIHdpZSBvZnQgYmVoYXVwdGV0LCBlaWdlbnRsaWNoIGVpbmUgcmVjaHQKa29tbXVuaWthdGl2ZSBCYW5kZS4gSW0gc3RpbGxlbiBLYWVtbWVyY2hlbiBrb21tdCBtYW4gYXVjaCBuaWNodCBtZWhyIHdlaXQuCgotLSAKUGF0cnluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogWWV0IEFub3RoZXIgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nIFByb2plY3QgKEVsYmVyZXQsICA5LiBKYW4gMjAwMywgMDg6NTI6MjcpOgp+IyEgcm49UGF0cnluIHJ0PTEwNDIwNjQ4Nzcgcmc9d3d3Cn4jISB0aWQ9MTA0MTYyNzQxMwppY2gga2FubiBudXIgaG9mZmVuLCBkYXNzIFBhdHJ5biByZWNodCBoYXQgOykKCkVsYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQxMTU2OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChDcm9mdCwgMTMuIEphbiAyMDAzLCAyMzoxNDoxMyk6Cn4jISBybj1Nb250YW51cyBydD0xMDQyNDk1ODMwIHJnPW1lZ2FzY2htYXJybgp+IyEgdGlkPTk4MjMyODI3OApJcmdlbmR3aWUgZnVlaGwgaWNoIG1pY2ggYW4gaHR0cDovL2NyYXp5LmNvZGV0cm9vcC5jb20vcmFuZGltZy8/b25lcmluZy5qcGcKZXJpbm5lcnQuICBEaWUgUnVicmlrIHd3dyBsaWVzdCBkdSBuaWNodCB6dWZhZWxsaWc/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVuemluIGJlaSBlYmF5IDotKSAoQmFtYnVsa28sIDE0LiBKYW4gMjAwMywgMTQ6NDk6NDUpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZjYXRlZ29yeT05OTExJml0ZW09MzEwNzIyNTUyNCZyZD0KMQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRocmVhZCB0byBwZWFjZSEgKENhdHdlYXpsZSwgMTYuIEphbiAyMDAzLCAwODoxMTozOCk6CkJlaW0gVGltZSBNYWdhemluZSBrYW5uIG1hbiBhYnN0aW1tZW4sIHdlbGNoZXMgTGFuZCBtYW4genVyIFplaXQgYWxzIGdyb2Vzc2VyZQpHZWZhaHIgZnVlciBkZW4gRnJpZWRlbiBzaWVodC4gWnVyIFdhaGwgc3RlaGVuIEtvcmVhLCBJcmFrIHVuZCBVU0EuIEdvIHZvdGUsCmhhdmUgZnVuLgoKaHR0cDovL3d3dy50aW1lLmNvbS90aW1lL2V1cm9wZS9nZG1sL3BlYWNlMjAwMy5odG1sCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaHJlYWQgdG8gcGVhY2UhIChDdWNodWxsaW4sIDE2LiBKYW4gMjAwMywgMTE6MTE6MjApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNDI3MDEwOTggcmc9d3d3Cn4jISB0aWQ9MTA0MjcwMTA5OApUb3RhbCBWb3RlcyBDYXN0OiAxOTAwNTggLSBkaWUgVVNBIGxpZWd0IG1pdCA4MSwzJSB3ZWl0IGluIEZ1ZWhydW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaHJlYWQgdG8gcGVhY2UhIChDYXR3ZWF6bGUsIDE2LiBKYW4gMjAwMywgMTE6MTI6MzgpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwNDI3MTE4ODAgcmc9d3d3Cn4jISB0aWQ9MTA0MjcwMTA5OApKYSwgaXN0IGF1c3JlaWNoZW5kIGtyYXNzLiBJc3QgYWJlciBhdWNoIFRpbWUgRXVyb3BlIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUaHJlYWQgdG8gcGVhY2UhIChHcmltbWJvcm4sIDE2LiBKYW4gMjAwMywgMTE6MjA6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNDI3MTE5NTggcmc9d3d3Cn4jISB0aWQ9MTA0MjcwMTA5OApBbGxlcyBhbmRlcmUgd2FlcmUgamEgYXVjaCB1bmRlbmtiYXIuIEVpbmUgRGlzemlwbGluIGluIGRlciBkaWUgVVNBIG5pY2h0CmZ1ZWhyZW4sIGRhcyBnaWJ0cyBkb2NoIGF1c3NlciBpbSBTdXBlcmNvbXB1dGluZyBnYXIgbmljaHQuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVzdCBaYWJ1cnplIE9zb2Jvd29jaSAoQ3VjaHVsbGluLCAxNi4gSmFuIDIwMDMsIDEzOjU3OjIwKToKVHJ5IGFuZCBkZW55OiBodHRwOi8vc2lsdmVyLm51bGwucGwvTWFjaWVrL3BzeWNob3Rlc3QvCgpJY2ggZGFyZiBhbmZ1ZWdlbiwgZGFzcyBkZXJlcmxlaSBUZXN0cyBuaWNodCBqZWR3ZWRlciBHcnVuZGxhZ2UgZW50YmVocmVuLAp3ZXIgaWhuIHdhaHJoZWl0c2dlbWFlc3MgYXVzZnVlbGx0IHVuZCBlaW4gcGFhciAiSGlnaCIgYW4gZGVuIEtvcGYgZ2UtCndvcmZlbiBiZWtvbW10LCBkYXJmIHp1bWluZGVzdCBkaWUgVmVybXV0dW5nIGhlZ2VuLCBlaW5lIGV4dHJlbWUgClBlcnNvZW5saWNoa2VpdCB6dSBzZWluLiA6KQpBbiBkZXIgVW5pIE9zbmFicnVlY2sgd3VyZGVuIGViZW5mYWxscyBGcmFnZWJvZWdlbiBlbnR3aWNrZWx0IC0genVyCldpbGxlbnNiaWxkdW5nIHVuZCB6dXIgUGVyc29lbmxpY2hrZWl0c3N0aWwtU3RvZXJ1bmdzLUludGVyYWt0aW9uLgpJbSBOZXR6IG1pdCBhdXRvbWF0aXNjaGVyIEF1c3dlcnR1bmcgaGFiZSBpY2ggZGllIGFsbGVyZGluZ3MgbmljaHQKZ2VmdW5kZW4uLi4KClZpZWwgR2x1ZWNrLCBKaW0uIDspCgpZVEN1CgpQUzogU0wtUHJlc3NlIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlc3QgWmFidXJ6ZSBPc29ib3dvY2kgKEZvb2JhciwgMTYuIEphbiAyMDAzLCAxMzo1OTozNik6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTA0MjcyMTg0MCByZz13d3cKfiMhIHRpZD0xMDQyNzIxODQwCkljaCBrYW5uIGxlaWRlciBrZWluLi4uIFRzY2hlY2hpc2NoPwoKR3J1c3MsCgogICBGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVzdCBaYWJ1cnplIE9zb2Jvd29jaSAoQ3VjaHVsbGluLCAxNi4gSmFuIDIwMDMsIDE0OjAxOjU4KToKfiMhIHJuPUZvb2JhciBydD0xMDQyNzIxOTc2IHJnPXd3dwp+IyEgdGlkPTEwNDI3MjE4NDAKRHUgd2lyc3QgamEgd29obCByYXRlbiBrb2VubmVuLCB3YXMgIlRhayIgdW5kICJOaWUiIGhlaXNzdCwgd2VubiBEdSAKbnVyICJKYSIgdW5kICJOZWluIiBkYXJhdWYgYWJiaWxkZW4gbXVzc3QuIERpZSBGcmFnZW4gc2luZCBqYSB6d2Vpc3ByYWNoaWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGVzdCBaYWJ1cnplIE9zb2Jvd29jaSAoRmxhdXJvcywgMTYuIEphbiAyMDAzLCAxNDowNzoxMyk6Cn4jISBybj1DdWNodWxsaW4gcnQ9MTA0MjcyMjExOCByZz13d3cKfiMhIHRpZD0xMDQyNzIxODQwCkphYWFhYWEsIGljaCB3dXNzdGUgZXMgc2Nob24gaW1tZXIsIGRhc3Mgd2lyIHNoaXpvIHNpbmQhIDopCgpFbmRsaWNoIGRpZSBCZXN0YWV0aWd1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUZXN0IFphYnVyemUgT3NvYm93b2NpIChOb25uZSwgMTYuIEphbiAyMDAzLCAxNDoxOToyMCk6Cn4jISBybj1GbGF1cm9zIHJ0PTEwNDI3MjI0MzMgcmc9d3d3Cn4jISB0aWQ9MTA0MjcyMTg0MApLb21pc2NoLCBpY2ggaGFiZSBhbGxlcyBhdWYgJ2xvdycsIGRhcmYgaWNoIGpldHp0IG5pY2h0IG1laHIgbXVkZGVuPyBPZGVyCm11ZGRlIGljaCB6dSB3ZW5pZz8/PwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBUZXN0IFphYnVyemUgT3NvYm93b2NpIChQYXJkYXV6LCAxNy4gSmFuIDIwMDMsIDAwOjQ1OjI3KToKfiMhIHJuPU5vbm5lIHJ0PTEwNDI3MjMxNjAgcmc9d3d3Cn4jISB0aWQ9MTA0MjcyMTg0MApiZWlkZXMhIDopIGljaCBoYWJzIGltbWVyaGluIGF1ZiA0IGhpZ2ggYmVpIG51ciBlaW5lbSBsb3cgZ2VicmFjaHQgLi4uCmthbm4gYWJlciBzZWluIGRhcyBpY2ggMy00IGZyYWdlbiBuZWQgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYiA6KQoKUGEqIChuZWluIGRlciBhbmRlcmUgUGEqLCBkZXIgZ2FueiBhbmRlcmUgLi4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGVzdCBaYWJ1cnplIE9zb2Jvd29jaSAoRmxhdXJvcywgMTcuIEphbiAyMDAzLCAxMjo0OTo1Nyk6Cn4jISBybj1QYXJkYXV6IHJ0PTEwNDI3NjA3Mjcgcmc9d3d3Cn4jISB0aWQ9MTA0MjcyMTg0MApIaWdoIG51ciBiZWkgU2NoaXpvcGhyZW5pYS4KTXVzcyBpY2ggbWlyIGpldHp0IEdlZGFua2VuIG1hY2hlbj8gOykKTXVzcyBpY2ggbWlyIGpldHp0IEdlZGFua2VuIG1hY2hlbj8gOykKCkZsYXVzY2hpIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJlbnppbiBiZWkgZWJheSA6LSkgKEJhbWJ1bGtvLCAxNy4gSmFuIDIwMDMsIDE2OjI3OjIxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwNDI1NTIxODUgcmc9d3d3Cn4jISB0aWQ9MTA0MjU1MjE4NQpFYmF5IGhhdCBkYXMgQmVuemluIHJhdXNnZXNjaG1pc3NlbiAod2FydW0gYXVjaCBpbW1lciksIGFiZXIgZGllIGhhYmVuIGVzIG5ldQpyZWluZ2VzdGVsbHQ6CgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZjYXRlZ29yeT05OTExJml0ZW09MzEwODM0NDY1MyZyZD0KMQoKSWNoIGZyYWdlIG1pY2ggbnVyIHdhcnVtIGViYXkgZXR3YXMgZGFnZWdlbiBoYXR0ZS4gSXN0IGRhcyBpbGxlZ2FsPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZXN0IFphYnVyemUgT3NvYm93b2NpIChXaGl0ZXRpZ2VyLCAxNy4gSmFuIDIwMDMsIDE4OjQyOjM1KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDQyNzIxODQwIHJnPXd3dwp+IyEgdGlkPTEwNDI3MjE4NDAKaWNoIGhhYiBwYXJhbm9pZCB1bmQgYXZvaWRhbnQgYXVmIGhpZ2gsIHJlaWNodCBkYXM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlbnppbiBiZWkgZWJheSA6LSkgKFZhcmRpb24sIDIwLiBKYW4gMjAwMywgMjI6NDU6NTYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA0MjgxNzI0MSByZz13d3cKfiMhIHRpZD0xMDQyNTUyMTg1CkJlbnppbiBrb2VubnRlIHVudGVyICJDaGVtaWthbGllbiB1bmQgZ2VmYWVocmxpY2hlIEd1ZXRlciIgZmFsbGVuLCBkaWUgZUJheQp2ZXJiaWV0ZXQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZW56aW4gYmVpIGViYXkgOi0pIChPcmt0b2V0ZXIsIDIwLiBKYW4gMjAwMywgMjI6NDc6MzEpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQzMDk5MTU2IHJnPXd3dwp+IyEgdGlkPTEwNDI1NTIxODUKRHUgbWVpbnN0IHNvIHdpZSBkdSB6d2FyIGVpbiBFaW53ZWctKGdhcyktRmV1ZXJ6ZXVnIG1pdCBhbiBCb3JkIGVpbmVzCkZsdWd6ZXVnZXMgbmVobWVuIGRhcmZzdCwgYWJlciBrZWluIEJlbnppbmZldWVyemV1Zz8KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaWJ0cyBkYXMgYXVjaCBmdWVyIExhcHRvcHMgPz8gKE1hbmRyYWdvbiwgMjIuIEphbiAyMDAzLCAxMDozOTo0OCk6CgpodHRwOi8vd3d3LmZyb3plbmNwdS5jb20vY2dpLWJpbi9mcm96ZW5jcHUvY2lnLTAxLmh0bWw/bXZfcGM9MjExCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHaWJ0cyBkYXMgYXVjaCBmdWVyIExhcHRvcHMgPz8gKFZhcmRpb24sIDIyLiBKYW4gMjAwMywgMTE6MDA6MjkpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNDMyMjgzODggcmc9d3d3Cn4jISB0aWQ9MTA0MzIyODM4OApTaWVodCBqYSBodWVic2NoIGF1cywgYWJlciB3ZWlzcyBnZXJhZGUgd2VyLCB3aWV2aWVsIFdhdHQgZWluClN0YW5kYXJkLVppZ2FyZXR0ZW5hbnp1ZW5kZXIgaGF0PwoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHaWJ0cyBkYXMgYXVjaCBmdWVyIExhcHRvcHMgPz8gKFdvb2R5LCAyMi4gSmFuIDIwMDMsIDExOjIzOjI5KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA0MzIyOTYyOSByZz13d3cKfiMhIHRpZD0xMDQzMjI4Mzg4CkRpZSBzaW5kIG1laXN0IG1pdCAxMEEtU2ljaGVydW5nZW4gYWJnZXNpY2hlcnQuIERpZSBNdWx0aXBsaWthdGlvbgpzY2hhZmZzdCBEdSBzaWNoZXIgc2VsYnN0LiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdpYnRzIGRhcyBhdWNoIGZ1ZXIgTGFwdG9wcyA/PyAoVmFyZGlvbiwgMjIuIEphbiAyMDAzLCAxMToyNjoxMik6Cn4jISBybj1Xb29keSBydD0xMDQzMjMxMDA5IHJnPXd3dwp+IyEgdGlkPTEwNDMyMjgzODgKV2FzIGVpbiBHbHVlY2ssIGRhc3MgVEYgbXVsdGlwbGl6aWVyZW4ga2Fubi4uLiA7LSkKT2ssIGFiZXIgaWNoIHd1c3N0ZSBkaWUgMTBBIG5pY2h0LiBOdW4sIGJlaSBkZW4gd2VuaWdzdGVuIFBDcyBkdWVyZnRlbiB3b2hsCm1hbCBlYmVuIG5vY2ggMTIwVyAiTHVmdCIgc2VpbiwgaW5zb2Zlcm4gaGFsdGUgaWNoIGRhcyBUZWlsIGZ1ZXIgemllbWxpY2gKc2lubmxvcy4gRnVlciBkYXMgQXVmbGFkZW4gZWluZXMgSGFuZHlzIGdlaHRzIHNpY2hlciwgYWJlciBkYSBrYW5uIGljaCBhdWNoCmVpbmZhY2ggZGFzIG1pdGdlbGllZmVydGUgTmV0enRlaWwgYmVudXR6ZW4uLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdpYnRzIGRhcyBhdWNoIGZ1ZXIgTGFwdG9wcyA/PyAoSHVtbmksIDIyLiBKYW4gMjAwMywgMTE6MjY6NDgpOgp+IyEgcm49VmFyZGlvbiBydD0xMDQzMjMxMTcyIHJnPXd3dwp+IyEgdGlkPTEwNDMyMjgzODgKS2FubiBtYW4gTGFwdG9wcyBuaWNodCBhbiBaaWdhcmV0dGVuYW56dWVuZGVyIGFuc2NobGllc3Nlbj8gSWNoIGhhYiBkYSBrZWluZQpBaG51bmcgdm9uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdpYnRzIGRhcyBhdWNoIGZ1ZXIgTGFwdG9wcyA/PyAoVmFyZGlvbiwgMjIuIEphbiAyMDAzLCAxMToyODozMik6Cn4jISBybj1IdW1uaSBydD0xMDQzMjMxMjA4IHJnPXd3dwp+IyEgdGlkPTEwNDMyMjgzODgKUHJpbnppcGllbGwgamEuIEFiZXIgYXVjaCBkYSBoYXN0ZSBqYSBlaW4gTmV0enRlaWwgYmVpLiBQb3N0ZW50aWVsbCBzaW5udm9sbAppc3QgZWluZSBzb2xjaGUgWmlnYXJldHRlbmFuenVlbmRlci1Eb3NlIGRvY2ggbnVyIGZ1ZXIgR2VyYWV0ZSwgZGllIG9obmUKTmV0enRlaWwgYWJlciBtaXQgWmlnYXJldHRlbmFuenVlbmRlci1TdGVja2VyIGtvbW1lbi4gVW5kIGRhIGhhdCBtYW4gaW0KSGF1c2hhbHQgZWhlciB3ZW5pZ2UuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5sYW5kLCBGaW5sYW5kLCBGaW5sYW5kLCB0aGUgY291bnRyeSB3aGVyZS4uLiAoV29vZHksIDIyLiBKYW4gMjAwMywgMTI6MDY6NTYpOgpodHRwOi8vd3d3LndlbHQuZGUvZGF0YS8yMDAzLzAxLzIyLzM1MDE1Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZW56aW4gYmVpIGViYXkgOi0pIChCYW1idWxrbywgMjIuIEphbiAyMDAzLCAxNjozNToxOCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNDMwOTkxNTYgcmc9d3d3Cn4jISB0aWQ9MTA0MjU1MjE4NQpLYXVtIHp1IGdsYXViZW4sIGFiZXIgZGFzIEJlbnppbiBzdGVodCBqZXR6dCBiZWkgMTIxIEV1cm8uIERpZSBVZWJlcmdhYmUgc29sbAp2b24gU2F0IDEgZ2VmaWxtdCB3ZXJkZW4uIEFiZXIgaWNoIGdsYXViZSBlcyBnaWJ0IGJpbGxpZ2VyZSBNb2VnbGljaGtlaXRlbgpzaWNoIGxhbmRlc3dlaXQgenUgYmxhbWllcmVuLi4uLkdlaCBpbiBlaW5lIFRhbGtzaG93LCBkYW5uIGJla29tbXN0IER1IHNvZ2FyCkdlbGQgZGFmdWVyLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdpYnRzIGRhcyBhdWNoIGZ1ZXIgTGFwdG9wcyA/PyAoU2Nob2tvLCAyMi4gSmFuIDIwMDMsIDIwOjUwOjIxKToKfiMhIHJuPVZhcmRpb24gcnQ9MTA0MzIzMTMxMiByZz13d3cKfiMhIHRpZD0xMDQzMjI4Mzg4CkRhc3MgZXMgZWluZmFjaCB2ZXJzY2hhZXJmdCBrb21tdCwgd2VubiBtYW4gc2ljaCBiZWkgZGVyIG5hZWNoc3RlbiBMYW5wYXJ0eQplYmVuIG5lIEZsdXBwZSBpbiBNdW5kd2lua2VsIHNjaGllYnQgdW5kIGRhbm4gYXVmIGRlbiBBbnp1ZW5kZXIgZHJ1ZWNrdCwgdW0Kc2llIHNpY2ggZGFtaXQgYW56dXp1ZW5kZW4gLSBkYXMga2FlbWUgbmljaHQgaW4gRnJhZ2U/IDopCgpTY2hva28gKHVlYnJpZ2VuZHMgTmljaHRyYXVjaGVyLCBhYmVyIGZ1ZXIgYWJnZWZhaHJlbmVzIFBDIHR1bmluZyB6dQpiZWdlaXN0ZXJuIDopKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3VsZiBXYXIgMiAoYWthIFdvcmxkIFdhciAyLjUpIChFbGRhcm9uLCAyNC4gSmFuIDIwMDMsIDEzOjQ0OjEwKToKaHR0cDovL3d3dy5pZGxld29ybS5jb20vbndzLzIwMDIvMTEvaXJhcTIuc2h0bWwgPDwtLSAoRmxhc2gpIDw8LS0gKGZ1ZXIgQ3VjaCopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEd1bGYgV2FyIDIgKGFrYSBXb3JsZCBXYXIgMi41KSAoVmFuaW9uLCAyNC4gSmFuIDIwMDMsIDE0OjU0OjU3KToKfiMhIHJuPUVsZGFyb24gcnQ9MTA0MzQxMjI1MCByZz13d3cKfiMhIHRpZD0xMDQzNDEyMjUwCkduYSwga2FubnN0ZSBkYXMgRmxhc2ggbmljaCB2b3IgZGVuIExpbmsgc2NocmVpYmVuPyBEYW5uIG1lcmsgaWNoIGRhcyBuaWNodAplcnN0IG5hY2ggZGVtIE1hcmtpZXJlbi4gOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEd1bGYgV2FyIDIgKGFrYSBXb3JsZCBXYXIgMi41KSAoRWxkYXJvbiwgMjQuIEphbiAyMDAzLCAxNDo1OTowMyk6Cn4jISBybj1WYW5pb24gcnQ9MTA0MzQxNjQ5NyByZz13d3cKfiMhIHRpZD0xMDQzNDEyMjUwCkljaCBnZWxvYmUgQmVzc2VydW5nCgpFbGRhcm9uLCB1bnRyb2VzdGxpY2ggOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9zc2ktUXVpeiAoQWxwaGEsIDI2LiBKYW4gMjAwMywgMDA6MzQ6MTMpOgpodHRwOi8vNjIuMTQxLjQ4LjEwNS9vc3NpcXVpei9zdGFydC5waHAgClZpZWwgU3Bhc3MuIERlbiBXZXNzaXMgYmVpbSBSYXRlbiwgZGVuIE9zc2lzIGJlaW0gTm9zdGFsZ2llcmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChXaGl0ZXRpZ2VyLCAyNi4gSmFuIDIwMDMsIDA5OjA5OjUwKToKVm9yIGVpbmlnZXIgWmVpdCAoYWxzbyAyLCAzIFdvY2hlbiBvZGVyIHNvKSBnYWIgZXMgaGllciBtYWwgZWluZW4gTGluayB6dQplaW5lciBXZWJzaXRlLCBpY2ggZ2xhdWIgZGVyIEZvcm0gaHR0cDovL3d3dy57dW5pfGZofS0qLmRlL35tdWQsIGF1ZiBkZXIgbWFuCmVpbmUgTWFnaXN0ZXJhcmJlaXQgKERhdGVpbmFtZTogbWEuemlwKSBkb3dubG9hZGVuIGtvbm50ZSwgZGllIHNpY2ggbWl0IE1VRHMKYmVzY2VmdGlndC4gV2Vpc3Mgbm9jaCBpcmdlbmRqZW1hbmQgZGllIGdlbmF1ZSBVUkw/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaGU6IFdlYnNpdGUgbWl0IGRvd25sb2FkYmFyZXIgTWFnaXN0ZXJhcmJlaXQgenUgTVVEcyAoQ3JvZnQsIDI2LiBKYW4gMjAwMywgMDk6Mjc6NDUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzNTY4NTkwIHJnPXd3dwp+IyEgdGlkPTEwNDM1Njg1OTAKTWl0IGRlaW5lbSBaZWl0Z2VmdWVobCBpc3QgZXMgamEgZWNodCBuaWNodCB3ZWl0IGhlci4gIERhcyB3YXIgRGV6IDIwMDEuCkFuc29uc3RlbjogZGFzIE1QQS1BcmNoaXYgaXN0IGRlaW4gRnJldW5kLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VjaGU6IFdlYnNpdGUgbWl0IGRvd25sb2FkYmFyZXIgTWFnaXN0ZXJhcmJlaXQgenUgTVVEcyAoR3JpbW1ib3JuLCAyNi4gSmFuIDIwMDMsIDEwOjAyOjQ3KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDM1Njk2NjUgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MApOdSBzZWkgbWFsIG5pY2h0IHNvLiBEYXMgd2FyIHd3dy51bmktbGVqcHpzY2guZGUvfm11ZC4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3VjaGU6IFdlYnNpdGUgbWl0IGRvd25sb2FkYmFyZXIgTWFnaXN0ZXJhcmJlaXQgenUgTVVEcyAoV2hpdGV0aWdlciwgMjYuIEphbiAyMDAzLCAxMDoxMzowNSk6Cn4jISBybj1Dcm9mdCBydD0xMDQzNTY5NjY1IHJnPXd3dwp+IyEgdGlkPTEwNDM1Njg1OTAKbmFqYS4uLiBzdGltbXQgc2Nob24uIHp1bWluZGVzdCBkZXIgZXJzdGUgYXJ0aWtlbCBkYXp1ICgiRWluZSBVbWZyYWdlIiwgdm9uClpvb2spIGlzdCB2b20gMTYuIGRleiAyMDAxLiBhYmVyIGljaCBkYWNodGUsIGRhc3Mga3VlcnpsaWNoIGhpZXIgZGllCnZlcm9lZmZlbnRsaWNodW5nIGRlciBmZXJ0aWdlbiBhcmJlaXQgd2FyLi4uCi0tIFdoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKEdyaW1tYm9ybiwgMjYuIEphbiAyMDAzLCAxMDoyNDo1Nyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM1NzIzODUgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MApOb3BlLCBkYXMgd2FyZW4gdmllbGUsIHZpZWxlIFNlaXRlbi4gRGllIGthbm4gbWFuIG5pY2h0IGVpbmZhY2ggaW4gZGllIG1wYQpzY2hyZWliZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKFdoaXRldGlnZXIsIDI2LiBKYW4gMjAwMywgMTA6MjU6MTMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwNDM1NzMwOTcgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MApuYSBkZXIgbGluayBuYXR1ZXJsaWNoIGJsb3NzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChHcmltbWJvcm4sIDI2LiBKYW4gMjAwMywgMTA6NTk6NTApOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDQzNTczMTEzIHJnPXd3dwp+IyEgdGlkPTEwNDM1Njg1OTAKKnNjaHVsdGVyenVjayogT2ZmZW5iYXIgaXN0IGRhcyBNRy1BcmNoaXYgbmljaHQgd2lya2xpY2ggc29uZGVybGljaCBmYWVoaWcuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKENyb2Z0LCAyNi4gSmFuIDIwMDMsIDExOjAxOjEwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQzNTc1MTkwIHJnPXd3dwp+IyEgdGlkPTEwNDM1Njg1OTAKSWNoIHd1ZXJkZSBlaGVyIGRlciBUaGVvcmllIHp1c3ByZWNoZW4sIGRhcyBXaGl0ZXRpZ2VyIGRhcyBpbiBlaW5lbSBhbmRlcmVuCk11ZCBnZWxlc2VuIGhhdC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChHcmltbWJvcm4sIDI2LiBKYW4gMjAwMywgMTE6MDI6NTgpOgp+IyEgcm49Q3JvZnQgcnQ9MTA0MzU3NTI3MCByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwCkludGVyZXNzYW50Z2UgVGhlb3JpZSwgd2VubiBpY2ggbmljaHQgZGVuIGJlZ3J1ZW5kZXRlbiBWZXJkYWNodCBoYWV0dGUgZGFzcwpkaWVzZXIgbGluayBrdWVyemxpY2ggdm9uIEdyaW1tYm9ybiwgdmVybXV0bGljaCBpbiBhbGxnZW1laW5lcywgZ2Vwb3N0ZXQKd29yZGVuIHdhZXJlLiBNYWwgYWJnZXNlaGVuIGRhdm9uIGRhc3MgZXMgbGFlY2hlcmxpY2ggaXN0IHp1IGJlaGF1cHRlbiwgZXMKaGFldHRlIHZvbiBtaXQgaW0gRGV6ZW1iZXIgbnVyIGVpbmVuIEFydGlrZWwgaW4gbWVnYXNjaG1hcnJuIGdlZ2ViZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKFdoaXRldGlnZXIsIDI2LiBKYW4gMjAwMywgMTE6MDU6MzYpOgp+IyEgcm49Q3JvZnQgcnQ9MTA0MzU3NTI3MCByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwClRqYS4uLiBEYSBpY2ggYWJlciBpbSBNb21lbnQgaW4ga2VpbmVtIGFuZGVyZW4gTVVEIGJpbiwgZHVlcmZ0ZSBkaWVzZSBUaGVvcmllCmF1c3p1c2NobGllc3NlbiBzZWluLi4uCi0tIFdoaXRldGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKFZhbmlvbiwgMjYuIEphbiAyMDAzLCAxMTowNzowNCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNDM1NzU1MzYgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MApJQ2ggaGFiIHp1IGRlbSBUaGVtYSBhdWNoIHdhcyBpbiBkZXIgTVBBIGdlbGVzZW4sIGhhYmUgYXVjaCBwZXIgTWFpbCBkZW4gTGluawp2b20gQXV0aG9yIGJla29tbWVuLiBIYWIgZGllIE1haWwgYWJlciB3b2hsIHNjaG9uIGdlbG9lc2NodC4gOigKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChHcnVtcGYsIDI2LiBKYW4gMjAwMywgMTE6MTA6MjgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNDM1NzU2MjQgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MAp3d3cudW5pLWxlaXB6aWcuZGUvfm11ZAoKR3J1bXBmIGdydW1wZnQhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogU3VjaGU6IFdlYnNpdGUgbWl0IGRvd25sb2FkYmFyZXIgTWFnaXN0ZXJhcmJlaXQgenUgTVVEcyAoV2hpdGV0aWdlciwgMjYuIEphbiAyMDAzLCAxMToxMToyMSk6Cn4jISBybj1HcnVtcGYgcnQ9MTA0MzU3NTgyOCByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwCkljaCBmdWVyY2h0ZSwgZGVyIFVuaS1MZWlwemlnLVNlcnZlciBpc3QgZ3JhZCBkb3duLi4uCgpXaGl0ZVRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogU3VjaGU6IFdlYnNpdGUgbWl0IGRvd25sb2FkYmFyZXIgTWFnaXN0ZXJhcmJlaXQgenUgTVVEcyAoR3JpbW1ib3JuLCAyNi4gSmFuIDIwMDMsIDExOjEyOjQ4KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MzU3NTg4MSByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwCk5hIGtvbW0sIGRpZSBVUkwgaGFiIGljaCBqYSB3b2hsIHNjaG9uIHZvciAxMCBBcnRpa2VsbiBnZXBvc3RldC4gSW4KcGhvbmV0aXNjaGVyIFNjaHJlaWJ3ZWlzZSwgYWxsZXJkaW5ncy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFN1Y2hlOiBXZWJzaXRlIG1pdCBkb3dubG9hZGJhcmVyIE1hZ2lzdGVyYXJiZWl0IHp1IE1VRHMgKENyb2Z0LCAyNi4gSmFuIDIwMDMsIDExOjU1OjA0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MzU3NjA2OCByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwCk1pciBkdWVua3QgZHUga2VubnN0IE1lZ2FzY2htYXJybiBuaWNodC4gIEdyaW1tYm9ybiBoYXQgbnVyIGluIE1lZ2FzY2htYXJybi0KVHJhZGl0aW9uIGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsIGdlcG9zdGV0LCBiZXpvZyBzaWNoIGFiZXIgaW5oYWx0bGljaAphdWYgR3J1bXBmLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChXaGl0ZXRpZ2VyLCAyNi4gSmFuIDIwMDMsIDEyOjAzOjA2KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDM1Nzg1MDQgcmc9d3d3Cn4jISB0aWQ9MTA0MzU2ODU5MApTdGltbXQsIGljaCBoYWIgTWVnYXNjaG1hcnJuIGFiYmVzdGVsbHQuLi4KCldoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTdWNoZTogV2Vic2l0ZSBtaXQgZG93bmxvYWRiYXJlciBNYWdpc3RlcmFyYmVpdCB6dSBNVURzIChBaGFiLCAyNi4gSmFuIDIwMDMsIDE2OjIzOjEyKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA0MzU3NTg4MSByZz13d3cKfiMhIHRpZD0xMDQzNTY4NTkwCktvZW5udGUgZ2VuYXVzb2d1dCBhbiBkZW0gTVMtU1FMLVd1cm0gbGllZ2VuLCBkZXIgZGllc2VzIFdFIGVpbmlnZXMgaW0gTmV0egpkdXJjaGVpbmFuZGVyYnJpbmd0LgpEaWUgRmVobGVybWVsZHVuZyAnTm8gcm91dGUgdG8gaG9zdCcgaXN0IGplZGVuZmFsbHMgdW51ZWJsaWNoLCBmYWxscyBkZXIKU2VydmVyICdkb3duJyBpc3QuLi4KCkFob2ksCkFoYWIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWNodCBnYW56IFdXVy4uLiBVc2VuZXQgKFJvbmRhLCAyNy4gSmFuIDIwMDMsIDAwOjE4OjE3KToKSGksCgphdWNoIGhpZXIgZ2lidHMgRGlza3Vzc2lvbmVuIGEgbGEgTVBBOgoKZGUuYWx0LnNvYy5rbmlnZ2UKCkplcCwgZGFzIGlzdCBlaW5lIE5ld3Nncm91cCwgbml4IFdXVy4KClJvbmRhICpsaWVzdCB1bmQgbGVybnQgZmxlaXNzaWcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWlzZSBTY2hsYWd6ZWlsZSAobWFsIHdpZWRlciBzbyByaWNodGlnIHNjaG9lbikgKE9ya3RvZXRlciwgMjcuIEphbiAyMDAzLCAwODo1MDo0OCk6Cmh0dHA6Ly9oZWlzZS5kZS9jdC9zY2hsYWdzZWl0ZS8wMy8wMy9ncm9zcy5qcGcKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXBweSBUcmVlIEZyaWVuZHMhIChCYW1idWxrbywgMjcuIEphbiAyMDAzLCAxMzo1NzowNik6Ck1hbCB3YXMgZnVlciB1bnNlcmUgS2xlaW5lbjoKCmh0dHA6Ly93d3cubW9uZG9taW5pc2hvd3MuY29tL3Nob3dzL2hhcHB5X3RyZWVfZnJpZW5kcy8KCjotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXBweSBUcmVlIEZyaWVuZHMhIChCYW1idWxrbywgMjcuIEphbiAyMDAzLCAxMzo1Nzo1NCk6Cn4jISBybj1CYW1idWxrbyBydD0xMDQzNjcyMjI2IHJnPXd3dwp+IyEgdGlkPTEwNDM2NzIyMjYKQWNoc28uLi5hbSBiZXN0ZW4gYXVmIEVwaXNvZGUgU2FtcGxlciB1bmQgc2ljaCBkaWUgRXBpc29kZW4gYW5zY2hhdWVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXNoaWcgKEFudGhlYSwgMjkuIEphbiAyMDAzLCAxMDo1MDo1Nik6Cmh0dHA6Ly93d3cubmV3eW9ya3NsaW1lLmNvbS90YXN0ZWxlc3MuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS3JpZWdzcGllbGVuIGxlaWNodCBnZW1hY2h0Li4uIChBbnRoZWEsIDI5LiBKYW4gMjAwMywgMTE6MDU6MjApOgpodHRwOi8vd3d3LmlkbGV3b3JtLmNvbS9ud3MvMjAwMi8xMS9pcmFxMi5zaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2lubmxvc2UgZUJheS1BdWt0aW9uZW4gKEFoYWIsIDI5LiBKYW4gMjAwMywgMTU6Mjc6MjQpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTE5MjIyNDk4MTMKClZvciBhbGxlbSBkaWUgX0JlZ3J1ZW5kdW5nIGRlciBXaXJrdW5nXy4KCkFob2ksCkFoYWIsIGdyYWQgdW50ZXJtIFRpc2NoIHZvcmdla3JvY2hlbiwgdW50ZXIgZGVuIGVyIHZvciBMYWNoZW4gZ2VydXRzY2h0IGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTaW5ubG9zZSBlQmF5LUF1a3Rpb25lbiAoT2xsaSwgMzAuIEphbiAyMDAzLCAwMToxMTowMyk6Cn4jISBybj1BaGFiIHJ0PTEwNDM4NTA0NDQgcmc9d3d3Cn4jISB0aWQ9MTA0Mzg1MDQ0NApOYWphLCBkZXIgV2l0eiBoYXQgamEgc2Nob24gbmVuIHZlcmRhbW10IGxhbmdlbiBCYXJ0LgoKT2xsaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWx2ZW4gYm95cz8gKEN1Y2h1bGxpbiwgMzAuIEphbiAyMDAzLCAxOTowMjo1NCk6Clp3ZXJnZW53dW5zY2h0cmF1bToKaHR0cDovL3d3dy5tdXJsaW4uY29tL35uYW5vb2svbG90ci1ib3lzLmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbHZlbiBib3lzPyAoTm9ubmUsIDMwLiBKYW4gMjAwMywgMjA6NTY6NTgpOgp+IyEgcm49Q3VjaHVsbGluIHJ0PTEwNDM5NDk3NzQgcmc9d3d3Cn4jISB0aWQ9MTA0Mzk0OTc3NApEYXMgaXN0IGF1Y2ggZ3V0IHZvbiBkZXIgU2VpdGUsIHdlbm4gbWFuIENoYWNreSBDaGFuLCBKb2huIFdvbyBvZGVyIE1hdHJpeAptYWc6Cmh0dHA6Ly93d3cubXVybGluLmNvbS9+bmFub29rL2ZpZ2h0LnN3ZiAoRmxhc2ghISEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWx2ZW4gYm95cz8gKFdvb2R5LCAgMy4gRmViIDIwMDMsIDE0OjIzOjE4KToKfiMhIHJuPUN1Y2h1bGxpbiBydD0xMDQzOTQ5Nzc0IHJnPXd3dwp+IyEgdGlkPTEwNDM5NDk3NzQKRGFubiBkb2NoIGxpZWJlciBnbGVpY2ggZGllIEtvbXBsZXR0dWViZXJzaWNodDoKaHR0cDovL3d3dy5zcXVpZGdlLm9yZy9+cHJheGlzdGVycy9UQmxvdHIuaHRtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVzaC1SZWRlIDotKSAoQmFtYnVsa28sICA2LiBGZWIgMjAwMywgMTY6NTE6MDIpOgoKaHR0cDovL2Rvd25sb2Fkcy53YXJwcmVjb3Jkcy5jb20vYnVzaHdoYWNrZWQyLm1wMwoKQnVzaHMgUmVkZSB6dXIgTGFnZSBkZXIgTmF0aW9uIDotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvcm53YWxsQ2FtIChUcnVnLCAgOS4gRmViIDIwMDMsIDE4OjQ5OjQxKToKU2Nob2VuZSBhdG1vc2hwYWVyaXNjaGUgQmlsZGVyICB6dW0gRW50c3Bhbm5lbi4uLiAKaHR0cDovL3d3dy5jb3Jud2FsbGNhbS5jby51ay8KClRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVsZWN0cm9uaWMgQXJ0cyBsb2VzdCBXZXN0d29vZCBhdWYgKFRydWcsICA5LiBGZWIgMjAwMywgMTg6NTM6NDEpOgpodHRwOi8vd3d3LmNvc3Rpay5jb20vd2VibG9nLzIwMDNfMDFfMDFfYmxvZ2NoaXZlLmh0bWwKCnRqYS4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdWNsZW9TVE9QIChBbnRoZWEsIDEwLiBGZWIgMjAwMywgMTU6Mjk6NTYpOgpGdWVyIGRlbiwgZGVyIGVzIGJyYXVjaHQuLi4gOykKaHR0cDovL3d3dy5udWNsZW9zdG9wLm9ubGluZWhvbWUuZGUvaW5kZXguaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2h1dHRsZS1LYXRhc3Ryb3BoZSAoUGhvYm9zLCAxMC4gRmViIDIwMDMsIDE4OjU0OjU4KToKaHR0cDovL3d3dy5iaWxkLnQtb25saW5lLmRlL0JUTy9uZXdzLzIwMDMvZmViLzA0L2NvbHVtYmlhX19yZXR0dW5nL2NvbHVtYmlhX18wCjEsdGVtcGxhdGVJZD1yZW5kZXJLb21wbGV0dC5odG1sCgpQaG9ib3MgLSBudW4gZGllIFdhaHJoZWl0IGtlbm5lbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVcnRlaWwgZ2VnZW4gV2VyYnVuZyBmdWVyIFQtRFNMIChWYXJkaW9uLCAxMS4gRmViIDIwMDMsIDE0OjIwOjI2KToKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvdW1hLTExLjAyLjAzLTAwMS8KClZpZWxsZWljaHQgaXN0IGRhcyBqYSBkaXZlcnNlbiBCZXRyb2ZmZW5lbiBlaW4ga2xlaW5lciBUcm9zdC4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW1wdHkgV2FyaGVhZCBmb3VuZCAoQW50aGVhLCAxMS4gRmViIDIwMDMsIDE1OjMzOjQ2KToKaHR0cDovL3d3dy5lbWJhcnJhc3NpbmcubmV0L2ltYWdlcy9CdXNoRW1wdHlXYXJoZWFkVU5JcmFxWmFwaXIuZ2lmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZnVlciBlaW4gT1MgYmlzdCBEdT8gKEdyaW1tYm9ybiwgMTIuIEZlYiAyMDAzLCAwOTo1NDozOSk6Cmh0dHA6Ly93d3cuYmJzcG90LmNvbS9OZXdzLzIwMDMvMDEvb3NfcXVpei5waHAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VuZHVuZyBtaXQgZGVtIEJ1c2ggKE5vbm5lLCAxMi4gRmViIDIwMDMsIDEwOjQxOjQzKToKaHR0cDovL2p3ZHQuY29tL35wYXlzYW4vYnVzaC5odG1sCgpCaXR0ZXIgYm9lc2UhCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmQtZnJ1c3QgKEFtYXJ5bGxpcywgMTIuIEZlYiAyMDAzLCAxMzozMToxMyk6Cmh0dHA6Ly93d3cuZC1mcnVzdC5kZQoKLi4uIGhhdCB6dW1pbmRlc3QgZWluIHNjaG9lbmVzIFRpdGVsYmlsZCA6LSkKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFtZXJpa2FuaXNjaGUgUHJvcGFnYW5kYS1NYXNjaGluZSBhdWYgSG9jaHRvdXJlbj8gKE5vbm5lLCAxMi4gRmViIDIwMDMsIDE0OjM2OjQ2KToKCmh0dHA6Ly9hdXRzY2gucnRsLmRlL3NjaGFuZG1hZW5uY2hlbi5qcGcKCk5vbm5lLCBrYW5ucyBuaWNodCBmYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQW1lcmlrYW5pc2NoZSBQcm9wYWdhbmRhLU1hc2NoaW5lIGF1ZiBIb2NodG91cmVuPyAoQ2FkcmFjaCwgMTIuIEZlYiAyMDAzLCAxNjozMTowOCk6Cn4jISBybj1Ob25uZSBydD0xMDQ1MDU3MDA2IHJnPXd3dwp+IyEgdGlkPTEwNDUwNTcwMDYKV2lyIHNpbmQgZG9jaCBrZWluZSBPZXN0ZXJyZWljaGVyIQoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VsY2hlIE5hbWVuIGJla29tbWVuIHdvaGwgZGllIEtpbmRlcj8gKE1hZ2ljb2xsaSwgMTIuIEZlYiAyMDAzLCAxOToyNzoxOSk6ClNjaGF1dCBkb2NoIG1hbCBiZWkgd3d3LnRlbGVmb25idWNoLmRlIHZvcmJlaSB1bmQgZ2VidCBmb2xnZW5kZXMgZWluOgoKZHVjawpkYXJtc3RhZHQKCjstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2huZSBXb3J0ZSAoQXBvbGxvbmlhLCAxMy4gRmViIDIwMDMsIDA4OjQ0OjEwKToKd3d3LnRpbS1sZWJ0LmRlCgpBcG8qCnppZW1saWNoIGVyc2NodWV0dGVydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9obmUgV29ydGUgKFphcm5peWEsIDEzLiBGZWIgMjAwMywgMDg6NTM6MjEpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNDUxMjIyNTAgcmc9d3d3Cn4jISB0aWQ9MTA0NTEyMjI1MApJY2ggYmluIGF1Y2ggZXJzY2h1ZXR0ZXJ0LiBadW0gZWluZW4gaXN0IGRhcyBEZXNpZ24gZGVyIFNlaXRlIHdpcmtsaWNoCmdyYXVlbmhhZnQgdW5kIHp1bSBhbmRlcmVuIGRlbmtlIGljaCwgZGFzcyBlcyBlaW5mYWNoZXJlIFdlZ2UgZ2lidCwgc28gbmVuCkJhbGcgbG9zenV3ZXJkZW4uLi4gRWluZmFjaCBpbnMgbmFlY2hzdGUgT3JrbGFnZXIgbGVnZW4gb2RlciBzby4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIGVpbiBJbm5lcmVyLURyYWNoZS1RdWl6IChBbnRoZWEsIDEzLiBGZWIgMjAwMywgMTE6NTE6MzgpOgpodHRwOi8vZHJhZ29uaGFtZS5jb20vcXVpei5odG1sCgphbmQgeW91ciBpbm5lciBkcmFnb24gaXMgYSAuLi4uIAoKU3Bpcml0IERyYWdvbgoKSW4gdGhlIHdhciBiZXR3ZWVuIGdvb2QgYW5kIGV2aWwsIGEgU3Bpcml0IERyYWdvbiB0ZW5kcyB0byB3YWxrIHRoZSBmaW5lIGxpbmUKb2YgTmV1dHJhbGl0eS4KV2hlbiBpdCBjb21lcyB0byB0aGUgcG93ZXJzIG9mIENoYW9zIHZzLiB0aG9zZSBvZiBMYXcgYW5kIE9yZGVyLCB5b3VyIGlubmVyCmRyYWdvbiBpcyBhIHJpc2sgdGFrZXIgYW5kIGFuc3dlcnMgdG8gbm8gb25lLgpBcyBmYXIgYXMgbWFnaWNhbCB0ZW5kYW5jaWVzLCBNYWdpY2FsIHNwZWxscyBjb21lIGFzIG5hdHVyYWwgdG8gdGhlIFNwaXJpdApEcmFnb24gYXMgYnJlYXRoZSBmcm9tIGl0J3MgYm9keS4KRHVyaW5nIGNvbWJhdCBzaXR1YXRpb25zLCBhIHRydWUgU3Bpcml0IERyYWdvbiBwcmVmZXJzIHRvIGRlZmVhdCBvcHBvbmVudHMgYnkKdGhlIHVzZSBvZiBzcGVsbHMgYW5kIG90aGVyIHRhY3RpY3MuCgpEcmFnb24gRGVzY3JpcHRpb246ClRoZSBzcGlyaXQgZHJhZ29uIGlzIGEgdHJ1ZSBjcmVhdHVyZSBvZiBjaGFvcywgaXQgaXMgdmVyeSBub21hZGljIGFuZCBnb2VzCndoZXJldmVyIGl0IHBsZWFzZXMuIER1ZSB0byBpdHMgbm9uLWNvcnBvcmVhbCBuYXR1cmUsIGEgc3Bpcml0IGRyYWdvbiBtb3ZlcwpmcmVlbHkgYW55d2hlcmUgYW5kIGV2ZXJ5d2hlcmUuCgpBIHNwaXJpdCBkcmFnb24gaXMgYSBsaXZpbmcgbXlzdGVyeS4gVGhleSBhcmUgYmFyZWx5IHZpc2libGUgdG8gdGhlIG5ha2VkIGV5ZSwKYXMgdGhlaXIgYm9kaWVzIGFyZSBmb3JtZWQgZnJvbSB0aGUgZ2hvc3QtbGlrZSBtYXRlcmlhbCBvZiB0aGUgc291bC4KCkEgU3Bpcml0IERyYWdvbiBpcyBuZWFybHkgaW1wb3NzaWJsZSB0byBoYXJtIGV4Y2VwdCBieSBtZWFucyBvZiBwb3dlcmZ1bGx5CmVuY2hhbnRlZCB3ZWFwb25zIGFuZCBtYWdpY2FsIHNwZWxscy4gVGhlIHNwaXJpdCBkcmFnb24gaGFzIG5vIHBoeXNpY2FsCnN1YnN0YW5jZSBhbmQgY2Fubm90IG1hbmlwdWxhdGUgdGhlIHBoeXNpY2FsIHdvcmxkIHdpdGhvdXQgdGhlIHVzZSBvZiBTcGVsbHMKYW5kIE1hZ2ljLkhvd2V2ZXIsIGJlIHdhcm5lZCB0aGF0IHRoaXMgZG9lcyBub3QgbWVhbiB0aGUgc3Bpcml0IGRyYWdvbiBpcyBvZgpubyBjb25zZXF1ZW5jZS4gVGhleSBhcmUgbWFzdGVycyBvZiBtYWdpYyBhbmQgdGFrZSBhIGxhcmdlIHBhcnQgaW4gdGhlCmhhcHBlbmluZ3Mgb2YgdGhlIG1vcnRhbCB3b3JsZCBhcm91bmQgdGhlbS4gVGhleSBhcmUgb2Z0ZW4gc2VlbiBhcyBwdXBwZXRlZXJzCmJlaGluZCB0aGUgc3RhZ2Ugb2YgcmVhbGl0eS4KClRoaXMgRHJhZ29ucyBmYXZvcml0ZSBlbGVtZW50cyBhcmU6IFNvdWxzdG9uZSwgSGVtYXRpdGUsIGFuZCBXaW5kCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5vY2ggZWluIElubmVyZXItRHJhY2hlLVF1aXogKEFuYXRvbCwgMTMuIEZlYiAyMDAzLCAxMjowMToxNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTA0NTEzMzQ5OCByZz13d3cKfiMhIHRpZD0xMDQ1MTMzNDk4CmRvd25sb2FkMS4wMTkwLWRpYWxlci5jb20gOiA1LTItMTAwLTE3NS5leGUKCkd1dGVyIFdpdHouLi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9jaCBlaW4gSW5uZXJlci1EcmFjaGUtUXVpeiAoQW50aGVhLCAxMy4gRmViIDIwMDMsIDEyOjIxOjM4KToKfiMhIHJuPUFuYXRvbCBydD0xMDQ1MTM0MDc3IHJnPXd3dwp+IyEgdGlkPTEwNDUxMzM0OTgKRGFzIHNjaGVpbnQgZHVyY2ggZWluZSBkaWVzZXIgV2VyYmVlaW5ibGVuZHVuZ2VuIGF1c2dlbG9lc3QgenUgd2VyZGVuLiBEZXIKa29tbXQgdWVicmlnZW5zIG5pY2h0IGplZGVzIE1hbC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTm9jaCBlaW4gSW5uZXJlci1EcmFjaGUtUXVpeiAoTWFuZHJhZ29uLCAxMy4gRmViIDIwMDMsIDEzOjIzOjMwKToKfiMhIHJuPUFudGhlYSBydD0xMDQ1MTM1Mjk4IHJnPXd3dwp+IyEgdGlkPTEwNDUxMzM0OTgKCmFuZCB5b3VyIGlubmVyIGRyYWdvbiBpcyBhIC4uLi4gCgpNaXRocmlsIERyYWdvbgoKSW4gdGhlIHdhciBiZXR3ZWVuIGdvb2QgYW5kIGV2aWwsIE1pdGhyaWwgRHJhZ29ucyB0YWtlIHRoZSBzaWRlIG9mIHRoZSBub2JsZQphbmQgZ29vZC4KV2hlbiBpdCBjb21lcyB0byB0aGUgcG93ZXJzIG9mIENoYW9zIHZzLiB0aG9zZSBvZiBMYXcgYW5kIE9yZGVyLCB5b3VyIGlubmVyCmRyYWdvbiB3YWxrcyBhIGZpbmUgbGluZSBiZXR3ZWVuIExhdyBhbmQgQ2hhb3MuCkFzIGZhciBhcyBtYWdpY2FsIHRlbmRhbmNpZXMsIE1hZ2ljYWwgc3BlbGxzIGNvbWUgYXMgbmF0dXJhbCB0byB0aGUgTWl0aHJpbApEcmFnb24gYXMgYnJlYXRoZSBmcm9tIGl0J3MgYm9keS4KRHVyaW5nIGNvbWJhdCBzaXR1YXRpb25zLCBhIHRydWUgTWl0aHJpbCBEcmFnb24gcHJlZmVycyB0byBkZWZlYXQgb3Bwb25lbnRzIGJ5CnRoZSB1c2Ugb2Ygc3BlbGxzIGFuZCBvdGhlciB0YWN0aWNzLgoKRHJhZ29uIERlc2NyaXB0aW9uOgoKCk1pdGhyaWwgRHJhZ29ucyBidWlsZCBhbmQgZHdlbGwgaW4gY2FzdGxlcyBvZiBjcnlzdGFsLCBoaWdoIGluIHRoZSBtb3VudGFpbm91cwpyZWdpb25zLiBBIE1pdGhyaWwgRHJhZ29uIGlzIGhvbmVzdCBhbmQgZ2VudGxlLgoKCk1pdGhyaWwgRHJhZ29ucyBhcmUgYXJtb3JlZCB3aXRoIGhpZ2hseSByZWZsZWN0aXZlIHNjYWxlcy4gVG8gc2VlIG9uZSBpbgpicmlnaHQgc3Vuc2hpbmUgaGFzIHRoZSBlZmZlY3Qgb2YgbG9va2luZyBhdCBhIG11bHRpLXRvbiwgMTUwIGZ0LiBsb25nIGRpc2NvCmJhbGwuCgoKVGhleSB0ZW5kIHRvIHNtaWxlIGZyZXF1ZW50bHkgYnV0IHJhcmVseSBsYXVnaCBhbG91ZC4gTWl0aHJpbCdzIGRpc2xpa2UKdmlvbGVuY2UuIEEgTWl0aHJpbCBEcmFnb24gaXMgdmVyeSBzZWxlY3RpdmUgd2hlbiBjaG9vc2luZyBjbG9zZSBmcmllbmRzLCBidXQKaXMgZ2VuZXJhbGx5IGFkbWlyZWQgYnkgYWxsLiBBIE1pdGhyaWwgRHJhZ29uIGxlYWRzIGEgdmVyeSBxdWlldCBhbmQKdW5vYnRydXNpdmUgbGlmZS5OZXZlciBqdWRnbWVudGFsLCB0aGUgZ3JlYXQgTWl0aHJpbCBEcmFnb24ncyBmZWVsaW5ncyBydW4KZGVlcCBhbmQgdHJ1ZS4gTWl0aHJpbCBEcmFnb25zIG1hdGUgZm9yIGxpZmUuCgoKVGhpcyBEcmFnb25zIGZhdm9yaXRlIGVsZW1lbnRzIGFyZTogTWl0aHJpbCwgRWFydGgsIGFuZCBDb3VyYWdlCgpNYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbWVyaWthbmlzY2hlIFByb3BhZ2FuZGEtTWFzY2hpbmUgYXVmIEhvY2h0b3VyZW4/IChCYW1idWxrbywgMTMuIEZlYiAyMDAzLCAxNTozNzo0MSk6Cn4jISBybj1Ob25uZSBydD0xMDQ1MDU3MDA2IHJnPXd3dwp+IyEgdGlkPTEwNDUwNTcwMDYKU2NoYXV0IGV1Y2ggZGllc2Ugd2Vic2VpdGUgbWFsIGdlbmF1ZXIgYW4uIChodHRwOi8vd3d3Lm5ld3NtYXguY29tKS4gRWluZmFjaApncmF1ZW5oYWZ0LgoKRGFzIGhpZXIgaXN0IGd1dDoKU3VyZSwgdGhlIGdyZWVkeSAiQXhpcyBvZiBXZWFzZWwiIHdhbnRzIHRvIHByb3AgdXAgU2FkZGFtIGJlY2F1c2Ugb2YgdGhlCmJpbGxpb25zIGludmVzdGVkIGluIGhpcyBhYnVzaXZlIHJlZ2ltZS4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvIGFsbCBCdFZTIEZhbnMgKE1vcmdvdGgsIDE0LiBGZWIgMjAwMywgMDg6NDg6MTIpOgpodHRwOi8vd3d3LmJ1ZmZ5dmVyc2UuaW5mby9tb2R1bGVzLnBocD9uYW1lPU5ld3MmZmlsZT1hcnRpY2xlJnNpZD0xNjUxCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRvIGFsbCBCdFZTIEZhbnMgKFZhbmlvbiwgMTQuIEZlYiAyMDAzLCAwOTowNjoxNyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNDUyMDg4OTIgcmc9d3d3Cn4jISB0aWQ9MTA0NTIwODg5MgpEaWUgYWt0dWVsbGUgU3RhZmZlbCBpcyBibG9lZC4gRGllIGxldHp0ZSB3YXIgZHVlc3RlcmVyIHVuZCBtZWhyIG5hY2ggbWVpbmVtCkdlc2NobWFjay4KClYqLCB3YXIgbWFsIEJ1ZmZ5LUZhbiB1bmQgc2NoYXV0J3MgbnUgbnVyIG5vY2ggZ2VsZWdlbnRsaWNoIG5lYmVuYmVpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWlzZSBEYWV1Ymxlci1HbWVsaW4gKEFuYXRvbCwgMTQuIEZlYiAyMDAzLCAxMzoxOTo1OSk6CltEaWUgYXVzZXJ3YWVobHRlIEdlbmVyYXRpb24gaW4gZGVyIHZvbiBkZXIgR2VzY2hpY2h0ZSBiZXJ1ZmVuZW4gTmF0aW9uXQpodHRwOi8vd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvc3BlY2lhbC9pcmFrLzE0MTgwLzEuaHRtbAoKU28gZnVyY2h0YmFyIHNjaGxpbW0gd2FyIEhlcnRhIGdhciBuaWNodC4gSWhyIGxvY2tlcmVzIE11bmR3ZXJrIHdhciBkZXIKWmVpdCBudXIgZWluIHdlbmlnIHZvcmF1cy4gRWluIHdlbmlnIHdlbmlnLi4uCgpBbmF0b2wgc2V1Znp0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9obmUgV29ydGUgKFJvY2h1cywgMTUuIEZlYiAyMDAzLCAxMzoxODo0Nik6Cn4jISBybj1aYXJuaXlhIHJ0PTEwNDUxMjI4MDEgcmc9d3d3Cn4jISB0aWQ9MTA0NTEyMjI1MApJY2ggZmluZGUgZXMgdmllbCBlcnNjaHVldHRlcm5kZXIsIGRhc3MgRFUgbWljaCBub2NoIG5lZ2F0aXYKdWViZXJyYXNjaGVuIGthbm5zdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVG8gYWxsIEJ0VlMgRmFucyAoQ2F0d2VhemxlLCAxOC4gRmViIDIwMDMsIDA4OjQwOjAyKToKfiMhIHJuPVZhbmlvbiBydD0xMDQ1MjA5OTc3IHJnPXd3dwp+IyEgdGlkPTEwNDUyMDg4OTIKTmVpbiwgZHUgaGFzdCBudXIgenUgZnJ1ZWggYXVmZ2Vob2VydCB6dSBrdWNrZW4gOi0pCgpZVEMgKGVtcGZpZWhsdCBkaWUgbmFlY2hzdGUgU3RhZmZlbCA6LSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZXN0cyAoTm9ubmUsIDE5LiBGZWIgMjAwMywgMTE6MTY6NDkpOgpGdWVyIGFsbGUsIGRpZSBhdWYgUHN5Y2hvdGVzdHMgYWxsZXIgQXJ0IHN0ZWhlbjoKCnd3dy50ZXN0cmVpY2guY29tCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1c2gtU3BlZWNoIChFbGRhcm9uLCAxOS4gRmViIDIwMDMsIDIxOjA5OjA3KToKKEZsYXNoOikgaHR0cDovL3d3dy5sZW1vbmJvdnJpbC5jby51ay9idXNoc3BlZWNoLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpbmRldCBldXJlIE5hbWVuIHJhdXMgKEVsaXphYmV0aCwgMjAuIEZlYiAyMDAzLCAxNjo1MDowMyk6CkphLCB1bmQgYXVjaCBkdSBoYXNzdCBlaW5lbiBNaXR0ZWxlcmRlbmFtZW4gKmcqCnd3dy5iYXJyb3dkb3ducy5jb20vbWlkZGxlZWFydGhuYW1lLmFzcAoKSWNoIGhlaXNzZSBhdWYgZWxmaXNjaCBtaW5lcmFtaWVsLCBhbHMgaG9iaXR0IGdvbGRpbG9jaywgYWxzIHp3ZXJnaW4gZ29yaW4KZ3Jhbml0ZWZ1cnkgdW5kIGFscyAnb3JraW4nIGJvcnVraCB0aGUgY2x1dGNoZXIgKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluZGV0IGV1cmUgTmFtZW4gcmF1cyAoQ3JvZnQsIDIwLiBGZWIgMjAwMywgMTY6NTE6NTQpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwNDU3NTYyMDMgcmc9d3d3Cn4jISB0aWQ9MTA0NTc1NjIwMwpJcmdlbmR3aWUgaGFiIGljaCBkYXMgR2VmdWVobCwgaWNoIGhhYiBlaW4gRGVqYXZ1ZS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpbmRldCBldXJlIE5hbWVuIHJhdXMgKENhdHdlYXpsZSwgMjAuIEZlYiAyMDAzLCAxNjo1NDozNik6Cn4jISBybj1Dcm9mdCBydD0xMDQ1NzU2MzE0IHJnPXd3dwp+IyEgdGlkPTEwNDU3NTYyMDMKU2NoZWlzc2UsIGRhcyBpc3QgZWluIEZlaGxlciBpbiBkZXIgTWF0cml4LiBOaW1tIGJlc3NlciBkaWUgQmVpbmUgaW4gZGllIEhhbmQKdW5kIGxhdWYgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpbmRldCBldXJlIE5hbWVuIHJhdXMgKEJvaW5nLCAyMC4gRmViIDIwMDMsIDE2OjU2OjAwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDQ1NzU2NDc2IHJnPXd3dwp+IyEgdGlkPTEwNDU3NTYyMDMKQWJlciBzaWUgaGF0IHJlY2h0LCBpY2ggaGFzc2UgZGllc2UgTmFtZW4gLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZpbmRldCBldXJlIE5hbWVuIHJhdXMgKEFyaywgMjAuIEZlYiAyMDAzLCAxNzo1Njo0OSk6Cn4jISBybj1Cb2luZyBydD0xMDQ1NzU2NTYwIHJnPXd3dwp+IyEgdGlkPTEwNDU3NTYyMDMKSG0sIFNhbSBoaWVzcyBhbHNvIGluIFdhaHJoZWl0IFNhYmJlcmtvcHAgUGZsdW56LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1dHNjaCAuLi4gKEplbmFuZHJhLCAyMi4gRmViIDIwMDMsIDIwOjM5OjQwKToKV2lyZWQgTmV3czogTmlnZXJpYW4gU2xhaW4gT3ZlciBFLU1haWwgU2NhbQpodHRwOi8vd3d3LndpcmVkLmNvbS9uZXdzL2N1bHR1cmUvMCwxMjg0LDU3NzYwLDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdXRzY2ggLi4uIChHcmltbWJvcm4sIDIyLiBGZWIgMjAwMywgMjA6NDM6MzcpOgp+IyEgcm49SmVuYW5kcmEgcnQ9MTA0NTk0Mjc4MCByZz13d3cKfiMhIHRpZD0xMDQ1OTQyNzgwClRqYS4gTnVyIGVpbiB0b3RlciBTcGFtbWVyIGlzdCBlaW4gZ3V0ZXIgU3BhbW1lci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhdXRzY2ggLi4uIChKZW5hbmRyYSwgMjIuIEZlYiAyMDAzLCAyMDo0NDo0Nik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0NTk0MzAxNyByZz13d3cKfiMhIHRpZD0xMDQ1OTQyNzgwCmFlaG0gaWNoIGJpbiBtaXIgamV0enQgbmljaHQgc2ljaGVyLCBhYmVyIGljaCBnbGF1YmUgZWhlciB3ZW5pZ2VyCmRhc3MgZGllIG5pZ2VyaWFuaXNjaGUgcmVnaWVydW5nIGlocmUgZmluZ2VyIGluIGRpZXNlbSBzcGFtcHJvamVrdApoYXQgLi4uCgotIEplbmFuZHJhIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGF1dHNjaCAuLi4gKEdyaW1tYm9ybiwgMjIuIEZlYiAyMDAzLCAyMDo0Njo0Mik6Cn4jISBybj1KZW5hbmRyYSBydD0xMDQ1OTQzMDg2IHJnPXd3dwp+IyEgdGlkPTEwNDU5NDI3ODAKT3dlaWFoLiBNZWluIFRpcDogSGFiIGltbWVyIGVpbmVuIGZhbHRiYXJlbiBTdHVobCBkYWJlaSBmdWVyIGRpZQpHZWxlZ2VuaGVpdGVuLCB3byBEaWNoIGRpZSBSZWFsaXRhZXQga29uZnJvbnRpZXJ0LiBEaXIgc3RlaGVuIG1vZWdsaWNoZXJ3ZWlzZQplaW4gcGFhciB6aWVtbGljaCBmaWVzZSBVZWJlcnJhc2NodW5nZW4gYmV2b3IuCgpHcmltbSJ1bmQgc2llIGRyZWh0IHNpY2ggZG9jaCJib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhdXRzY2ggLi4uIChKZW5hbmRyYSwgMjIuIEZlYiAyMDAzLCAyMDo0NzoyNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0NTk0MzIwMiByZz13d3cKfiMhIHRpZD0xMDQ1OTQyNzgwCmljaCB3ZWlzcyBpY2ggd2Vpc3MsIGljaCBiaW4genUgZ3V0IGZ1ZXIgZGllc2Ugd2VsdCA6LSkKCi0gSmVuYW5kcmEgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGF1dHNjaCAuLi4gKEFtYXJ5bGxpcywgMjIuIEZlYiAyMDAzLCAyMDo0ODoxMyk6Cn4jISBybj1KZW5hbmRyYSBydD0xMDQ1OTQyNzgwIHJnPXd3dwp+IyEgdGlkPTEwNDU5NDI3ODAKQmVkYXVlcmxpY2gsIGRhc3MgZXMgd2llZGVyIGVpbiAidW5zY2h1bGRpZ2VzIE9wZmVyIiBtZWhyIGdpYnQuCkRpZSBaYWhsIGRlcmVyLCBkaWUgZGVuIDQ5MS1NdWVsbCBkaWVzZXIgRGVwcGVuIGVydHJhZ2VuIG11ZXNzZW4sIHdpcmQgamEgYXVjaApuaWNodCBrbGVpbmVyLiBOaWdlcmlhcyBSZWdpZXJ1bmcgc2NoZWludCBkcmFuIG1pdHp1dmVyZGllbmVuLCBhbmRlcnMga2FubiBpY2gKbWlyIGRpZXNlIElnbm9yYW56IG5pY2h0IGVya2xhZXJlbiAtIHNjaGxpZXNzbGljaCBsZWlkZXQgZGVyIFJ1ZiBkZXMgZ2FuemVuCkxhbmRlcyB1bnRlciBkaWVzZXIgTWFmaWEuICJXYXMgZmFlbGx0IERpciB6dSBOaWdlcmlhIGVpbj8iICJBY2gsIGRpZXNlICdJY2gKYmluIE1vbWJlc2UgTmJ1dHV0LCBTb2huIGRlcyBLb2VuaWdzIHVuZCBtb2VjaHRlIGRpciAyMiBNaW8gc2NoZW5rZW4iLi4uCgpJY2ggZ2xhdWIgamEgbmljaHQsIGRhc3MgZGVyIFZvcmZhbGwgaW4gTmlnZXJpYSBpcmdlbmR3YXMgYWVuZGVybiB3aXJkLi4uCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBhdXRzY2ggLi4uIChHcmltbWJvcm4sIDIyLiBGZWIgMjAwMywgMjA6NDk6MzMpOgp+IyEgcm49SmVuYW5kcmEgcnQ9MTA0NTk0MzI0NSByZz13d3cKfiMhIHRpZD0xMDQ1OTQyNzgwCk5laW4uIFp1IG5haXYuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGF1dHNjaCAuLi4gKEplbmFuZHJhLCAyMi4gRmViIDIwMDMsIDIwOjQ5OjU3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ1OTQzMzczIHJnPXd3dwp+IyEgdGlkPTEwNDU5NDI3ODAKbWVpbmV0d2VnZW4gYXVjaCBkYXMgOi0pCgotIEplbmFuZHJhIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldHRlcyBTcGllbCA6LSkgKEJhbWJ1bGtvLCAyNC4gRmViIDIwMDMsIDEyOjE3OjM2KToKaHR0cDovLzE5NS45Mi4yMjQuNzMvajIwL2NvbnRlbnQvaG9zdC5hc3AKCkFiZXIgYXVmIGRpZSBTY2h1aGUgYXVmcGFzc2VuIDotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRlciBuZXVzdGUgc2NocmVpPyAoRWxpemFiZXRoLCAyNC4gRmViIDIwMDMsIDE4OjM2OjIzKToKd3d3LnNhcS5jeC9zdHVmZi9qYXBfc2tpcnQuaHRtbAo7KSBpY2ggd2lsbCBlY2h0IHdpc3Nlbiwgd2FubiBkaWUgZXJzdGVuIGRldXRzY2hlbiBkYW1pdCBydW1sYXVmZW4uLi4KdW5kIGdpYnQncyBkYXMgYXVjaCBtaXQgYnJlaXRlcmVtIGhpbnRlcm4/IDgpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWNrIHRvIHRoZSBSb290cyAoTW9yZ290aCwgMjUuIEZlYiAyMDAzLCAwODozODozMyk6Ck5hLCB3ZXIgd2Vpc3Mgbm9jaCB3YXMgV0FELUZpbGVzIHNpbmQ/PwpXZXIgaGF0IG5vY2ggd2VsY2hlPwpodHRwOi8vd3d3LmRvb21zZGF5aHEuY29tLwpIYW1tZXJnZWlsICEgCkRvb20gMSsyLCBIZXhlbiB1bmQgSGVyZXRpYyBtaXQgRUFYLVNvdW5kLCBIaS1SZXMgQXVmbG9lc3VuZyB1bmQgRDNEIGJ6dy4KT3BlbkdMIEdyYWZpay4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgd2FlcnN0IER1IGltIEhkUi1Vbml2ZXJzdW0/IChBbnRoZWEsIDI1LiBGZWIgMjAwMywgMTI6NDE6NDcpOgpodHRwOi8vd3d3LmhvYmJpdGxvcmUuY29tL3BlcnNvbmFsaXR5LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlciB3YWVyc3QgRHUgaW0gSGRSLVVuaXZlcnN1bT8gKE1vcmdvdGgsIDI1LiBGZWIgMjAwMywgMTM6MDc6NDApOgp+IyEgcm49QW50aGVhIHJ0PTEwNDYxNzMzMDcgcmc9d3d3Cn4jISB0aWQ9MTA0NjE3MzMwNwpIbSwgbGFzcyBtaWNoIHVlYmVybGVnZW4uLi4uCk1vcmdvdGggIT8hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlciB3YWVyc3QgRHUgaW0gSGRSLVVuaXZlcnN1bT8gKE5vbm5lLCAyNS4gRmViIDIwMDMsIDE2OjE1OjA4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA0NjE3NDg2MCByZz13d3cKfiMhIHRpZD0xMDQ2MTczMzA3CkRlciBoYXR0ZSByb3NhIFNjaGxlaWZjaGVuIGltIEhhYXI/IElzdCBtaXIgZ2FyIG5pY2h0IGF1ZmdlZmFsbGVuLi4uICpnKgoKTm9ubmUgKEJlcmVnb25kLCBHdWFyZCBvZiB0aGUgQ2l0aWRlbCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYWNrIHRvIHRoZSBSb290cyAoVHJ1ZywgMjUuIEZlYiAyMDAzLCAxOToyNTo1Nyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNDYxNTg3MTMgcmc9d3d3Cn4jISB0aWQ9MTA0NjE1ODcxMwpXZW5uIERPT00gbmljaHQgc2ljaCBhbiBkZXIgU291bmRCbGFzdGVyLUVtdWxhdGlvbiB2b24gZGVyIGRvc2JveCwgVmlydHVhbFBDCnVuZCBLb25zb3J0ZW4gc2ljaCB2ZXJzY2hsdWNrZW4gd3VlcmRlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VuZHVuZyBtaXQgZGVtIEJ1c2ggKEJhbWJ1bGtvLCAyNi4gRmViIDIwMDMsIDEwOjI2OjM5KToKfiMhIHJuPU5vbm5lIHJ0PTEwNDUwNDI5MDMgcmc9d3d3Cn4jISB0aWQ9MTA0NTA0MjkwMwpTY2hhdXQgZXVjaCBkaWUgU2VpdGUgamV0enQgbm9jaG1hbCBhbi4gVm9yIGFsbGVtIGRlciBuZXVlIEFic2Nobml0dCBnYW56CnVudGVuIGlzdCBuZXQgOi0pCgpOb25uZSwgZXMgaXN0IGFsbGVzIGRlaW5lIFNjaHVsZCA6LSkKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcGVuT2ZmaWNlIHZlcndpcnJ0IGRpZSBCU0EgKFZhcmRpb24sIDI4LiBGZWIgMjAwMywgMTM6MTU6NDApOgpXZXIgbm9jaCBuZW4gTGFjaGVyIHp1bSBGcmVpdGFnIG1vZWNodGU6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2hwcy0yOC4wMi4wMy0wMDAvCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJJ20gbG9zaW5nIHBhdGllbmNlIHdpdGggbXkgbmVpZ2hib3VycywgTXIgQnVzaCAoRWxkYXJvbiwgIDEuIE1hciAyMDAzLCAxNjo0MjowMSk6Cmh0dHA6Ly93d3cub2JzZXJ2ZXIuY28udWsvY29tbWVudC9zdG9yeS8wLDY5MDMsODgyNDU5LDAwLmh0bWwKCkVsZGFyb24sIHNjaG11bnplbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3aWUgZ2VtZWluIDspIChFbGl6YWJldGgsICAxLiBNYXIgMjAwMywgMTc6Mzk6MDQpOgpodHRwOi8vbWFkZG94LnhtaXNzaW9uLmNvbS9pcnVsZS5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3aWUgZ2VtZWluIDspIChFbGl6YWJldGgsICAxLiBNYXIgMjAwMywgMTc6NDA6MjgpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwNDY1MzY3NDQgcmc9d3d3Cn4jISB0aWQ9MTA0NjUzNjc0NAorbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3aWUgZ2VtZWluIDspIChNb3Jnb25hdGUsICAyLiBNYXIgMjAwMywgMTA6MDQ6NTgpOgp+IyEgcm49RWxpemFiZXRoIHJ0PTEwNDY1MzY4Mjggcmc9d3d3Cn4jISB0aWQ9MTA0NjUzNjc0NApXdWVyZGUgZXMgbWlyIGphIGdlcm5lIGFuc2VoZW4sIGFiZXIgZ2liYmV0IG5pY2h0LgoKTW9yZ29uYXRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSSdtIGxvc2luZyBwYXRpZW5jZSB3aXRoIG15IG5laWdoYm91cnMsIE1yIEJ1c2ggKEJhbWJpLCAgMi4gTWFyIDIwMDMsIDEyOjM2OjM0KToKfiMhIHJuPUVsZGFyb24gcnQ9MTA0NjUzMzMyMSByZz13d3cKfiMhIHRpZD0xMDQ2NTMzMzIxCkljaCBoYWIgZGllIFNlaXRlIGphIG5vY2ggbmljaHQgZ2VsZXNlbiwgYWJlciBTSUVCRU5VTkRaV0FOWklHIChvZGVyIG1laHIpCkNvb2tpZWFuZnJhZ2VuIHZvbiBFSU5FUiBTZWl0ZSBuZXJ2ZW4gZXh0cmVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJJ20gbG9zaW5nIHBhdGllbmNlIHdpdGggbXkgbmVpZ2hib3VycywgTXIgQnVzaCAoTm9ubmUsICAzLiBNYXIgMjAwMywgMDg6MjY6NTMpOgp+IyEgcm49QmFtYmkgcnQ9MTA0NjYwNDk5NCByZz13d3cKfiMhIHRpZD0xMDQ2NTMzMzIxCldhcnVtIGtsaWNrc3QgRHUgbmljaHQgZWluZmFjaCBhdWYgJ1JlamVjdCBhbGwgY29va2llcyBmcm9tIHRoaXMgc2l0ZSc/CgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11aCEgKEJyb3RuYWVsLCAgNC4gTWFyIDIwMDMsIDIxOjMxOjU0KToKaHR0cDovL3d3dy5laW5lLW11aC5kZS52dQoKKmtpY2hlcioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWghIChCb2luZywgIDQuIE1hciAyMDAzLCAyMTo1OTo1Nyk6Cn4jISBybj1Ccm90bmFlbCBydD0xMDQ2ODA5OTE0IHJnPXd3dwp+IyEgdGlkPTEwNDY4MDk5MTQKQXJnaCwgaWNoIHdlcmRlIGJsaW5kISA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11aCEgKFNjaG9rbywgIDQuIE1hciAyMDAzLCAyMjoyNDo1MSk6Cn4jISBybj1Cb2luZyBydD0xMDQ2ODExNTk3IHJnPXd3dwp+IyEgdGlkPTEwNDY4MDk5MTQKQmVpIG1pciBnZWh0cyBuaXQgOigKClNjaG9rbyAob2huZSBKYXZhU2NyaXB0LCBvaG5lIEZsYXNoIC4uLiBhcm1lIFNhdSA6KSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11aCEgKFpvb2ssICA1LiBNYXIgMjAwMywgMDk6NDg6NTcpOgp+IyEgcm49U2Nob2tvIHJ0PTEwNDY4MTMwOTEgcmc9d3d3Cn4jISB0aWQ9MTA0NjgwOTkxNApFcyBpc3QgZWluZmFjaCBudXIgLi4uLiBncmVsbCEgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNdWghIChCYW1iaSwgIDUuIE1hciAyMDAzLCAxMjozMDo0Myk6Cn4jISBybj1ab29rIHJ0PTEwNDY4NTQxMzcgcmc9d3d3Cn4jISB0aWQ9MTA0NjgwOTkxNApNYW4ga29lbm50ZSBhdWNoIHNhZ2VuOgpFcyBnaWJ0IExldXRlLCBkaWUgd2VyZGVuIGR1cmNoIGplZGVzIG5vY2ggc28gc2VsdGVuIGdlYWV1c3NlcnRlICJNdWgiCmdlbmVydnQuCkVzIGdpYnQgTGV1dGUsIGRpZSB3ZXJkZW4gZHVyY2ggdWViZXJtYWVzc2lnIG9mdCBnZWFldXNzZXJ0ZSAiTXVoInMgZ2VuZXJ2dC4KRXMgZ2lidCBMZXV0ZSwgZGllIGdlYmVuIHVlYmVybWFlc3NpZyBvZnQgIk11aCIgdm9uIHNpY2ggdW5kIHphZWhsZW4gZGFtaXQKZWhlciB6dSBkZW4gbmVydmVuZGVuIExldXRlbi4KRXMgZ2lidCBMZXV0ZSwgZGllIHdvbGxlbiBLaW5kZXIgdm9uIG9kZXIgbWl0IE9yaWdpbmFsLU11aG1hY2hlcm4gaGFiZW4KKGdlc2NoYWV0enQgYW4gZGVyIEFuemFobCBkZXIgZ2VhZXVzc2VydGVuICJNdWgicykuClVuZCBlcyBnaWJ0IGVpbmUgU2VpdGUsIGRpZSBhYnNvbHV0IGplZGUgZGllc2VyIE11aC1CZXRyb2ZmZW5lbiBhYnNjaHJlY2t0LApqZW1hbHMgd2llZGVyIGV0d2FzIG1pdCAiTXVoIiB6dSB0dW4gaGFiZW4genUgd29sbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTXVoISAoR3JpbW1ib3JuLCAgNS4gTWFyIDIwMDMsIDEyOjMyOjA4KToKfiMhIHJuPUJhbWJpIHJ0PTEwNDY4NjM4NDMgcmc9d3d3Cn4jISB0aWQ9MTA0NjgwOTkxNApJY2ggc2VoZSBkYXMgUHJvYmxlbSBuaWNodCwgamVkZXIgc29sbHRlIGRhcyBSZWNodCBoYWJlbiBzZWluIGludGVsbGVrdHVlbGxlcwpOaXZlYXUgbWl0IGRlbiB2b24gaWhtIHNlbGJzdCBnZXdhZWhsdGVuIE1pdHRlbG4gYXVzenVkcnVlY2tlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTXVoISAoRWxiZXJldCwgIDUuIE1hciAyMDAzLCAxMjozMjozOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0Njg2MzkyOCByZz13d3cKfiMhIHRpZD0xMDQ2ODA5OTE0CnVpIHdpciBzaW5kIGVpbmVyIE1laW51bmcgR3JpbW1ib3JuIDopCgpNdWggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11aCEgKEJhbWJpLCAgNS4gTWFyIDIwMDMsIDEyOjMyOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ2ODYzOTI4IHJnPXd3dwp+IyEgdGlkPTEwNDY4MDk5MTQKSWNoIGhhYmUga2VpbmUgV2VydHVuZyBkZXMgSVFzIGRlciBlaW56ZWxuZW4gTGV1dGUgZ2VtYWNodCwgaWNoIGhhYmUgbnVyIGRpZQpBdXNzYWdlIGRlciBTZWl0ZSB3aWVkZXJ6dWdlYmVuIHZlcnN1Y2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZ2x3ZSAoR2FuZG8sICA1LiBNYXIgMjAwMywgMTY6NTI6MDgpOgpodHRwOi8vdHVsaXMuZHNpbmV0Lm9yZy9taXNjL2JhcnQuZ2lmCgpHYW5kbyBncmluc3QgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpadXIgUGlzYS1TdHVkaWUgKEFudGhlYSwgMTAuIE1hciAyMDAzLCAxNzowMToyMCk6Cmh0dHA6Ly93d3cucGhpbG9zb3BoZW5rb2VuaWcuZGUvcGljcy9kb3NlLmpwZwpodHRwOi8vd3d3LnBoaWxvc29waGVua29lbmlnLmRlL3BpY3MvemFlaG5lLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFp1ciBQaXNhLVN0dWRpZSAoU2Nob2tvLCAxMC4gTWFyIDIwMDMsIDE5OjQ2OjAxKToKfiMhIHJuPUFudGhlYSBydD0xMDQ3MzEyMDgwIHJnPXd3dwp+IyEgdGlkPTEwNDczMTIwODAKSG1tbSB6dW0gMS4gTGluazogaGF0dGUgZGllIFN0dWRpZSBuaWNodCBncmFkZSBlcmdlYmVuLCBkYXNzIGRlciBBbnRlaWwgZGVyCkFuYWxwaGFiZXRlbiBzbyBob2NoIGlzPyBEYSB3YWVyICduZSBaZWljaG51bmcgYWJlciBiZXNzZXIgZ2V3ZXNlbiA6KQoKU2Nob2tvIChzY2htdW56ZWxuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkM2NCBydWxleiAoU2Nob2tvLCAxMC4gTWFyIDIwMDMsIDE5OjQ5OjIwKToKCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3BhYi0xMC4wMy4wMy0wMDEvCgpIYWV0dCBpY2ggaWhuIGJsb3NzIG1hbiBhdWZnZWhvYmVuIGRhbWFscy4gTnUgdGF1Z3QgZGllIEtpc3RlIHNvZ2FyIG5vY2ggZnVlcnMKV1dXIDopCgpTY2hva28gKGhhdHRlIDIgdm9uIGRlbiBEaW5nZXJuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEM2NCBydWxleiAoT3JrdG9ldGVyLCAxMC4gTWFyIDIwMDMsIDIyOjEzOjE5KToKfiMhIHJuPVNjaG9rbyBydD0xMDQ3MzIyMTYwIHJnPXd3dwp+IyEgdGlkPTEwNDczMjIxNjAKT3JrVCBydWZ0IGdsZWljaCBtYWwgYmVpIHNlaW5lciBTY2h3ZXN0ZXIgYW4gb2IgZGllIHNlaW5lbiBhbHRlbiBBcHBsZSBdWwpFLW5hY2hiYXUgKGluY2wuIENQTSAhKSBub2NoIGhhdC4uLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBpa2FjaHUgKE11YWRpYiwgMTEuIE1hciAyMDAzLCAxMzoxNDoxNyk6Cmh0dHA6Ly9waWthY2hpemUuZXllLW9mLW5ld3QuY29tL3Bpa2EuY2dpP3VybD1odHRwOi8vbWcubXVkLmRlL2NnaS1iaW4vbXVkd3d3PwpSRVE9d2hvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcGlrYWNodSAoRWxpemFiZXRoLCAxMS4gTWFyIDIwMDMsIDIyOjE1OjUwKToKfiMhIHJuPU11YWRpYiBydD0xMDQ3Mzg0ODU3IHJnPXd3dwp+IyEgdGlkPTEwNDczODQ4NTcKbGFhYWFuZ3dlaWxpZy4udW5kIGtlbm4gaWNoIHNjaG9uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVZWJlcnNldHp1bmdzcHJvZ3JhbW0gKE5vbm5lLCAxNC4gTWFyIDIwMDMsIDEwOjU5OjE2KToKTWFuIHNjaGF1ZSB1bnRlcjogaHR0cDovL3d3dy5zeXN0cmFuc29mdC5jb20vUHJvZHVjdHMvU3RhbmRhcmQuaHRtbCB1bmQKc2NoYWx0ZSBkYW5uIGF1ZiBkZXV0c2NoIHVtLiBJY2gga2FubiBudXIgaG9mZmVuLCBkYXNzIGRpZSBkYXMgbmljaHQgbWl0IGlocmVtClByb2R1a3QgdWViZXJzZXR6dCBoYWJlbiAoYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVlYmVyc2V0enVuZ3Nwcm9ncmFtbSAoQm9pbmcsIDE0LiBNYXIgMjAwMywgMTE6MDQ6NDEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA0NzYzNTk1NiByZz13d3cKfiMhIHRpZD0xMDQ3NjM1OTU2CkRvY2gsIGhhYmVuIHNpZSAuLi4gc3RlaHQgZ2FueiBvYmVuIHJlY2h0cyB1bnRlciBkZW4gRmxhZ2dlbi4gSW0gRGlzY2xhaW1lcgpzdGVodCBkYXNzIGRpZSBRdWFsaXRhZXQgZGVyIFVlYmVyc2V0enVuZyBhdWNoIHN0YXJrIHZvbiBkZXIgUXVhbGl0YWV0CmRlcyBBdXNnYW5nc3RleHRlcyBhYmhhZW5ndCwgd2FzIHNhZ3QgZGFzIGpldHp0IHVlYmVyIGRlbiBBdXNnYW5nc3RleHQgCmF1cz8gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVZWJlcnNldHp1bmdzcHJvZ3JhbW0gKEdyaW1tYm9ybiwgMTQuIE1hciAyMDAzLCAxMTozOToyMik6Cn4jISBybj1Cb2luZyBydD0xMDQ3NjM2MjgxIHJnPXd3dwp+IyEgdGlkPTEwNDc2MzU5NTYKSW1tZXJoaW4gZ2Vob2VydCBkaWUgIlVTIEludGVsbGlnZW56LUdlbWVpbnNjaGFmdCIgenUgaWhyZW4gS3VuZGVuLiBEYXMKZXJrbGFlcnQgZWluaWdlcy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVWViZXJzZXR6dW5nc3Byb2dyYW1tIChab29rLCAxNC4gTWFyIDIwMDMsIDExOjQxOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ3NjM4MzYyIHJnPXd3dwp+IyEgdGlkPTEwNDc2MzU5NTYKRGFzIGhvZXJ0IHNpY2ggc28gZWluIGJpc3NjaGVuIG5hY2ggRXNvcmV0aWstRXJmYWhydW5nc2dydXBwZSBhbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgaW1tZXIgc2Nob24gbWFsIHdpc3NlbiB3b2xsdGUsIHdpZXZpZWwgNjAgR2lnYWJ5dGUgd2lya2xpY2ggc2luZCAoTm9ubmUsIDE0LiBNYXIgMjAwMywgMTQ6NDI6NTApOgpodHRwOi8vZmFjaHNjaGFmdC5waHlzaWsucnVoci11bmktYm9jaHVtLmRlL2VudGRlY2t1bmdlbi82MEdpZ2FieXRlLnNodG1sCgpOb25uZSwga3JpZWd0IER1cnN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW0gSmFudWFyIGdhYiBlcyBpbiBIYW1idXJnIChab29rLCAxNi4gTWFyIDIwMDMsIDIxOjUwOjI3KToKZWluZW4gU3RhdGkuIEJpbGRlciBkYXZvbiBzaW5kIG51biBpbSBOZXR6IChodHRwOi8vbWcubXVkLmRlL1BhcnR5L1RyZWZmZW4gCnVuZCBkYW5uIHN1Y2h0IG1hbCBzY2hvZW4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaXNpbmZvcGVkaWEgKE9nbywgMTguIE1hciAyMDAzLCAxMzoyNzoxNCk6Cmh0dHA6Ly93d3cuZGlzaW5mb3BlZGlhLm9yZy93aWtpLnBodG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2Z0d2FyZXBhdGVudGUuLi4gKFRydWcsIDE4LiBNYXIgMjAwMywgMjA6MjM6MDUpOgpodHRwOi8vd3d3LnByby1saW51eC5kZS9uZXdzLzIwMDMvNTMzMS5odG1sIHVuZCBpbiBGb2xnZQpodHRwOi8vd3d3LmVsdWcuZGUvcHJvamVrdGUvcGF0ZW50LXBhcnR5L3dldHRiZXdlcmIuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvZnR3YXJlcGF0ZW50ZS4uLiAoVHJ1ZywgMTguIE1hciAyMDAzLCAyMDoyOTo1MCk6Cn4jISBybj1UcnVnIHJ0PTEwNDgwMTUzODUgcmc9d3d3Cn4jISB0aWQ9MTA0ODAxNTM4NQpEaWUgU2llZ2VycHJvZ3JhbW1lICh6YiBQYXRlbnQgYXVmIEZvcnRzY2hyaXR0c2JhbGtlbiwgTnV0enVuZyB2b24KRGF0dW1zYW5nYWJlIGJlaSBBcmNoaXZpZXJ1bmcsIFVlYmVyd2FjaHVuZy9Nb25pdG9yaW5nIHZvbiBDb21wdXRlcikgZ2lidHMgZGE6Cmh0dHA6Ly93d3cuZWx1Zy5kZS9wcm9qZWt0ZS9wYXRlbnQtcGFydHkvcGF0ZW50ZS9pbmRleC5odG1sCgp0cnVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNvZnR3YXJlcGF0ZW50ZS4uLiAoV2hpdGV0aWdlciwgMTguIE1hciAyMDAzLCAyMDozMDo0MCk6Cn4jISBybj1UcnVnIHJ0PTEwNDgwMTU3OTAgcmc9d3d3Cn4jISB0aWQ9MTA0ODAxNTM4NQo6ZGVua3QgIC4gbyBPIChXZWlhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTb2Z0d2FyZXBhdGVudGUuLi4gKEVsYWluZSwgMTguIE1hciAyMDAzLCAyMDozMzoyMCk6Cn4jISBybj1UcnVnIHJ0PTEwNDgwMTU3OTAgcmc9d3d3Cn4jISB0aWQ9MTA0ODAxNTM4NQpTY2hvbiB3YXMgYWVsdGVyLCBhdWNoIGF1Y2ggZWluZmFjaCB1bXdlcmZlbmQ6Cmh0dHA6Ly9idXJuYWxsZ2lmcy5vcmcvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9qZWN0IEZyZWVkb20gKFdoaXRldGlnZXIsIDE5LiBNYXIgMjAwMywgMTY6MzU6MzgpOgpodHRwOi8vd3d3LnByb2plY3RmcmVlZG9tLmNuZzEuY29tLwpFaW4gYmlzc2NoZW4gYXJnIHBhcmFub2lkLi4uCi0tIFdoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVU0FtZXJpa2FuaXNjaGUgQmV3ZWlzZS4uLiAoQW5hdG9sLCAxOS4gTWFyIDIwMDMsIDE3OjA1OjMyKToKCmh0dHA6Ly93d3cuaW9sLmllL35mb3JzYWNvc2FudGEvd29ybGRfbmVlZGVkX3Byb29mLmh0bQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBmdWVyIEhUTUwtRW50d2lja2xlciAoVmFuaW9uLCAxOS4gTWFyIDIwMDMsIDE3OjE1OjIyKToKaHR0cDovL3d3dy53My5vcmcvCkJlc29uZGVycyBsZXNlbnN3ZXJ0IGZ1ZXIgTGV1dGUsIGRpZSBpaHIgR2VsZCBtaXQgZGVtIERlc2lnbiB2b24gV2Vic2VpdGVuCnZlcmRpZW5lbiB3b2xsZW4uCgpWKiwgbGVpY2h0IHNhdWVyIGF1ZiBkaWUgV2VsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZ2llIGltIEFyc2NoIDstKSAoVmFyZGlvbiwgMjAuIE1hciAyMDAzLCAxMToyNzoyMCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsZ3Jvc3NiaWxkLTI0NzI3My0yMzg1MzMsMDAuaHRtbAoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBmdWVyIEhUTUwtRW50d2lja2xlciAoTW9yZ29uYXRlLCAyMS4gTWFyIDIwMDMsIDA1OjMxOjIwKToKfiMhIHJuPVZhbmlvbiBydD0xMDQ4MDkwNTIyIHJnPXd3dwp+IyEgdGlkPTEwNDgwOTA1MjIKV28gYmlzdCBkdSBkZW5uIGRydWViZXIgZ2VzdG9scGVydCwgZGFzcyBkdSBkYXMgdzMgcmF1c2tyYW1zdD8gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIGZ1ZXIgSFRNTC1FbnR3aWNrbGVyIChWYW5pb24sIDIxLiBNYXIgMjAwMywgMDc6MzE6NDEpOgp+IyEgcm49TW9yZ29uYXRlIHJ0PTEwNDgyMjEwODAgcmc9d3d3Cn4jISB0aWQ9MTA0ODA5MDUyMgpBbmdlZmFuZ2VuIGhhdCBhbGxlcyBkYW1pdCwgZGFzcyBpY2ggdmVyc3VjaHQgaGFiZSA8cnVieT4tVGFncyB6dSBudXR6ZW4uCkF1ZmdlaG9lcnQsIGRhc3MgYmVpIGVpbmlnZW4gU2VpdGVuIChkaWUgbWl0IE1TSUUgcHJpbWEgbGllZmVuKSBkYXVlcm5kIG1laW4KTW96aWxsYSBhYnNjaG1pZXJ0ZSAuLi4gTW96aWxsYSAxLjMgaXMgYWJlciByZXNpc3RlbnRlciBnZWdlbiB2ZXJrb3Jrc3RlbgpIVE1MLUNvZGUgcnNpc3RlbnRlci4gU28ga2FubiBpY2ggZGFzIFByb2JsZW0gbnUgaWdub3JpZXJlbi4gTGVpZGVyIGlnbm9yaWVydApkZXIgTW96aWxsYSBpbSBHZWdlbnp1ZyA8cnVieT4tVGFncyAoZGEgaXN0IGVyIGFiZXIgaW4gZ3V0ZXIgR2VzZWxsc2NoYWZ0KS4KCkRlciBBcnRpa2VsIGlzIGVpbmVyIE1pc2NodW5nIGF1cyBXdXQgdWViZXIgaW5rb21wZXRlbnRlIFdlYnNlaXRlbnNjaHJlaWJlciwKZHVtbWVyIEZlaGxlciBpbiBtZWluZW0gWEhUTUwgdW5kIEFlcmdlciBkYXJ1ZWJlciwgZGFzcyBhbGxlIG1vZWdsaWNoZW4KWEhUTUwtRWluZnVlaHJ1bmdzc2VpdGVuLVNjaHJlaWJlciB6d2FyIHZvbiBlaW5hbmRlciBhYnNjaHJlaWJlbiwgYWJlciBuaWNodAp3aXJrbGljaCBkYXJzdGVsbGVuLCB3byBkaWUgUHJvYmxlbWUgbGllZ2VuLgoKIk1vZHVsIGZ1ZXIgUnVieS1UZXh0LiBEaWUgZW50c3ByZWNoZW5kZW4gRWxlbWVudGUgc2luZCBuZXUuIFJ1YnktVGV4dCBpc3QKZWluZSBUZXh0Zm9ybSwgZGllIGluIGZlcm5vZXN0bGljaGVuIFNwcmFjaGVuIHZlcndlbmRldCB3aXJkLCB1bSBTaWxiZW4tIG9kZXIKV29ydHplaWNoZW4gbWl0IHp1c2FldHpsaWNoZW4gQmVkZXV0dW5nc2hpbndlaXNlbiB6dSB2ZXJzZWhlbi4iIC0gZGVuIFNhdHogaGFiCmljaCB0YXVzZW5kIG1hbCBnZWxlc2VuLiBTbyBvZGVyIGluIEFid2FuZGx1bmcsIGFiZXIga2VpbiBCZWlzcGllbCwgd2llIG1hbgpkaWUgYW53ZW5kZXQgKGF1c3NlciBhdWYgZGVyIHczLVNlaXRlLCB1bmQgZGEgaGFiZW4gZGllIGVpbmZhY2ggR2lmcyBkYXZvbiBpbnMKTmV0eiBnZXN0ZWxsdCkuIERhcyBYSFRNTCAxLjEgbW9kdWxhciBpc3QsIHdpcmQgYXVjaCBhdWYgamVkZXIgU2VpdGUgc3RvbHoKdmVya3VlbmRldC4gV2llIGRhcyBhYmVyIG1pdCBkZXIgTW9kdWxhcml0YWV0IGZ1bnp0LCBhbHNvIHp1bSBCZWlzcGllbCwgd2llCm1hbiBlaW4gbmV1ZXMgTW9kdWwgYWt0aXZpZXJ0LCBibGVpYnQgYXVjaCBkYXMgR2VoZWltbmlzIHdlbmlnZXIuCgpEdSBzaWVoc3QgYWxzbywgaGF0IHNpY2ggaW4gZGVuIGxldHp0ZW4gVGFnZW4gZWluaWdlcyBhdWZnZXN0YXV0LCBkYXMgZWluZmFjaAptYWwgcmF1cyBtdXNzdGUgOikKClYqLCBtaXR0bGVyd2VpbGUgd2llZGVyIGhhbGJ3ZWdzIHNhY2hsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVzc2lzY2ggSW5rYXNzbyAoVmFuaW9uLCAyMy4gTWFyIDIwMDMsIDIwOjQ2OjI4KToKaHR0cDovL3d3dy5ydXNzaXNjaC1pbmthc3NvLmRlL2luZGV4Lmh0bWwKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZmZlbmVyIEJyaWVmIGFuIEcuVy5CdXNoIChNb3Jnb3RoLCAyNC4gTWFyIDIwMDMsIDE0OjIwOjM1KToKT2ZmZW5lciBCcmllZiBkZXMgd2VsdGJla2FubnRlbiBBdXRvcnMgUGF1bG8gQ29lbGhvIGFuIGRhcyBXZWlzc2UgSGF1czoKIApEYW5rZSwgZ3Jvc3NlciBTdGFhdHNtYW5uIEdlb3JnZSBXLiBCdXNoLgogCkRhbmtlLCBkYXNzIFNpZSBqZWRlbSBnZXplaWd0IGhhYmVuLCB3ZWxjaGUgR2VmYWhyIFNhZGRhbSBIdXNzZWluCmRhcnN0ZWxsdC4gVmllbGUgdm9uIHVucyBoYWV0dGVuIHNvbnN0IHdvbW9lZ2xpY2ggdmVyZ2Vzc2VuLCBkYXNzIGVyCmNoZW1pc2NoZSBXYWZmZW4gZ2VnZW4gc2VpbiBlaWdlbmVzIFZvbGssIGdlZ2VuIGRpZSBLdXJkZW4gdW5kIGRpZSBJcmFuZXIKZWluZ2VzZXR6dCBoYXQuIEh1c3NlaW4gaXN0IGVpbiBibHV0cnVlbnN0aWdlciBEaWt0YXRvciB1bmQgZWluZSBkZXIKYXVnZW5mYWVsbGlnc3RlbiBWZXJrb2VycGVydW5nZW4gZGVzIEJvZXNlbiBpbiBkZXIgaGV1dGlnZW4gV2VsdC4KIApBYmVyIG4gaSBjIGggdCBhbGxlaW4gZGFmdWVyIHdvbGx0ZSBpY2ggSWhuZW4gZGFua2VuLgogCldhZWhyZW5kIGRlciBlcnN0ZW4gendlaSBNb25hdGUgZGllc2VzIEphaHJlcyAyMDAzIGhhYmVuIFNpZSBkZXIgV2VsdCBlaW5lClJlaWhlIGFuZGVyZXIsIHdpY2h0aWdlciBEaW5nZSBnZXplaWd0LgogCkljaCBtb2VjaHRlIG1pY2ggZGFoZXIgaW4gQW5sZWhudW5nIGFuIGVpbiBHZWRpY2h0LCBkYXMgaWNoIGFscyBLaW5kCmdlbGVybnQgaGFiZSwgYmVpIElobmVuIGJlZGFua2VuOgogCkRhbmtlLCBkYXNzIFNpZSBhbGxlbiBnZXplaWd0IGhhYmVuLCBkYXNzIGRhcyB0dWVya2lzY2hlIFZvbGsgdW5kIHNlaW4KUGFybGFtZW50IG5pY2h0IGthZXVmbGljaCBzaW5kLCBhdWNoIG5pY2h0IGZ1ZXIgMjYgTWlsbGlhcmRlbiBEb2xsYXIuCiAKRGFua2UsIGRhc3MgU2llIGRlciBXZWx0IGdlemVpZ3QgaGFiZW4sIHdlbGNoIHRpZWZlIEtsdWZ0IHp3aXNjaGVuIGRlbgpFbnRzY2hlaWR1bmdlbiBkZXIgTWFjaHRoYWJlciB1bmQgZGVuIFd1ZW5zY2hlbiBkZXMgVm9sa2VzIGxpZWd0LgogCkRhbmtlLCBkYXNzIFNpZSB1bnMgdm9yIEF1Z2VuIGZ1ZWhyZW4sIGRhc3Mgd2VkZXIgSm9zZSBNYXJpYSBBem5hciBub2NoClRvbnkgQmxhaXIgaWhyZW4gV2FlaGxlcm4gZGllIGdlcmluZ3N0ZSBBY2h0dW5nIHVuZCBXZXJ0c2NoYWV0enVuZyB6ZWlnZW4uCkF6bmFyIGJyaW5ndCBlcyBmZXJ0aWcsIGRhcnVlYmVyIGhpbndlZ3p1c2VoZW4sIGRhc3MgOTAgUHJvemVudCBkZXIgU3BhbmllcgpnZWdlbiBkZW4gS3JpZWcgc2luZCwgdW5kIEJsYWlyIGlzdCBkaWUgZ3JvZXNzdGUgRGVtb25zdHJhdGlvbiBkZXIKdmVyZ2FuZ2VuZW4gZHJlaXNzaWcgSmFocmUgaW4gRW5nbGFuZCBzY2hsaWNodHdlZyBlZ2FsLgogCkRhbmtlLCBkYXNzIFNpZSBUb255IEJsYWlyIGRhenUgZ2VicmFjaHQgaGFiZW4sIG1pdCBlaW5lbSBEb3NzaWVyLCBkYXMgZWluClBsYWdpYXQgZWluZXIgQXJiZWl0IHdhciwgZGllIGVpbiBTdHVkZW50IHplaG4gSmFocmUgenV2b3IgZ2VzY2hyaWViZW4KaGF0dGUsIHZvciBkYXMgYnJpdGlzY2hlIFBhcmxhbWVudCB6dSB0cmV0ZW4gdW5kIGVzIGFscyB2b20gYnJpdGlzY2hlbgpHZWhlaW1kaWVuc3QgZXJicmFjaHRlbiBzY2hsYWdlbmRlbiBCZXdlaXMgdm9yenVzdGVsbGVuLgogCkRhbmtlLCBkYXNzIFNpZSBDb2xpbiBQb3dlbGwgZ2VzdGF0dGVuLCBzaWNoIHNlbGJzdCB6dW0gTmFycmVuIHp1IG1hY2hlbiwKaW5kZW0gZXIgZGVtIFVOLSBTaWNoZXJoZWl0c3JhdCBGb3RvcyB2b3JsZWd0LCBkaWUgZWluZSBXb2NoZSBzcGFldGVyIHZvbgpIYW5zIEJsaXgsIGRlbSBDaGVmIGRlciBVTi1SdWVzdHVuZ3Nrb250cm9sbC0ga29tbWlzc2lvbiB6dXIgRW50d2FmZm51bmcKZGVzIElyYWssIG9lZmZlbnRsaWNoIGFuZ2Vmb2NodGVuIHdlcmRlbi4KIApEYW5rZSwgZGFzcyBTaWUgbWl0IElocmVyIEhhbHR1bmcgZGFmdWVyIGdlc29yZ3QgaGFiZW4sIGRhc3MgYmVpIGRlcgpVTi1Wb2xsdmVyc2FtbWx1bmcgZGVyIGZyYW56b2VzaXNjaGUgQXVzc2VubWluaXN0ZXIgRG9taW5pcXVlIGRlIFZpbGxlcGluCm1pdCBzZWluZXIgQW50aS0gS3JpZWdzcmVkZSBBcHBsYXVzIGdlZXJudGV0IGhhdCwgd2FzIG1laW5lcyBXaXNzZW5zCnZvcmhlciBudXIgZWlubWFsIGluIGRlciBHZXNjaGljaHRlIGRlciBVTk8sIGltIEFuc2NobHVzcyBhbiBlaW5lIFJlZGUKTmVsc29uIE1hbmRlbGFzLCBnZXNjaGVoZW4gaXN0LgogCkRhbmtlLCBkYXNzIFNpZSBtaXQgYWxsZW4gSWhyZW4gQmVtdWVodW5nZW4sIGRlbiBLIHIgaSBlIGcgdm9yYW56dXRyZWliZW4sCmRhenUgYmVpZ2V0cmFnZW4gaGFiZW4sIGRhc3MgZGllIHNvbnN0IHVudGVyZWluLSBhbmRlciB6ZXJzdHJpdHRlbmVuCmFyYWJpc2NoZW4gTmF0aW9uZW4gc2ljaCBiZWkgaWhyZW0gVHJlZmZlbiBpbiBLYWlybyBpbiBkZXIgbGV0enRlbgpGZWJydWFyd29jaGUgZXJzdG1hbHMgZWluc3RpbW1pZyBnZWdlbiBqZWR3ZWRlIEludmFzaW9uIGF1c2dlc3Byb2NoZW4KaGFiZW4uCiAKRGFua2UsIGRhc3MgU2llIG1pdCBJaHJlciByaGV0b3Jpc2NoZW4gQmVoYXVwdHVuZywgZGllIFVOTyBoYWJlIG51biBkaWUKQ2hhbmNlLCBpaHJlIHdhaHJlIEJlZGV1dHVuZyB6dSB6ZWlnZW4sIHNvZ2FyIGRpZSB6b2VnZXItIGxpY2hzdGVuIExhZW5kZXIKZGF6dSBnZWJyYWNodCBoYWJlbiwgc2ljaCBnZWdlbiBqZWRlIEFydCB2b24gQW5ncmlmZiBnZWdlbiBkZW4gSXJhawphdXN6dXNwcmVjaGVuLgogCkRhbmtlLCBkYXNzIFNpZSBtaXQgSWhyZXIgQXVzc2VucG9saXRpayBkZW4gYnJpdGlzY2hlbiBBdXNzZW5taW5pc3RlciBKYWNrClN0cmF3IHp1IGRlciBFcmtsYWVydW5nIHZlcmxlaXRldCBoYWJlbiwgaW0gMjEuIEphaHJodW5kZXJ0IGtvZW5uZSBlcyBLcmllZ2UKZ2ViZW4sIGRpZSBzaWNoIG1vcmFsaXNjaCByZWNodGZlcnRpZ2VuIGxpZXNzZW4sIHdvZHVyY2ggU3RyYXcgc2VpbmUgZ2FuemUKR2xhdWJ3dWVyZGlna2VpdCB2ZXJsb3IuCiAKRGFua2UgLCBkYXNzIFNpZSB2ZXJzdWNodCBoYWJlbiwgZWluIEV1cm9wYSBhdXNlaW5hbmRlciB6dSBkaXZpZGllcmVuLCBkYXMKZnVlciBzZWluZSBWZXJlaW5pZ3VuZyBrYWVtcGZ0LgogCkVzIHdpcmQgaWhtIGFscyBXYXJudW5nIGRpZW5lbi4KIApEYW5rZSwgZGFzcyBTaWUgZ2VzY2hhZmZ0IGhhYmVuLCB3YXMgbnVyIHdlbmlnZW4gaW4gZGllc2VtIEphaHJodW5kZXJ0CmdlbHVuZ2VuIGlzdDogTWlsbGlvbmVuIE1lbnNjaGVuIGF1ZiBhbGxlbiBLb250aW5lbnRlbiBpbSBLYW1wZiBmdWVyCmRpZXNlbGJlIElkZWUgenUgdmVyZWluZW4sIGF1Y2ggd2VubiBkaWVzZSBJZGVlIG5pY2h0IGlocmUgaXN0LgogCkRhbmtlLCBkYXNzIFNpZSB1bnMgd2llZGVyIGZ1ZWhsZW4gbGFzc2VuLCBkYXNzIHVuc2VyZSBXb3J0ZSwgd2VubiBzaWUKdmllbGxlaWNodCBuaWNodCBnZWhvZXJ0LCBzbyB6dW1pbmRlc3QgYXVzZ2VzcHJvY2hlbiB3dXJkZW4uIERhcyB3aXJkIHVucwppbiBadWt1bmZ0IG5vY2ggbWVociBLcmFmdCBnZWJlbi4KIApEYW5rZSwgZGFzcyBTaWUgdW5zIG1pc3NhY2h0ZW4sIGRhc3MgU2llIGFsbGUgbWFyZ2luYWxpc2llcmVuLCBkaWUgc2ljaApnZWdlbiBJaHJlIEVudHNjaGVpZHVuZyBzdGVsbGVuLCBkZW5uIGRpZSBadWt1bmZ0IGRlciBFcmRlIGdlaG9lcnQgZGVuCkF1c2dlc2NobG9zc2VuZW4uCiAKRGFua2UsIGRlbm4gb2huZSBTaWUgaGFldHRlbiB3aXIgbmljaHQgZXJrYW5udCwgZGFzcyB3aXIgZmFlaGlnIHNpbmQsIHVucyB6dQptb2JpbGlzaWVyZW4uIE1vZWdsaWNoZXJ3ZWlzZSB3aXJkIGVzIHVucyBkaWVzbWFsIG5pY2h0cyBudWV0emVuLCBhYmVyIGdhbnoKc2ljaGVyIHNwYWV0ZXIgZWlubWFsLgogCk51biwgZGEgZXMga2VpbmVuIFdlZyB6dSBnZWJlbiBzY2hlaW50LCBkaWUgVHJvbW1lbG4gZGVzIEtyaWVnZXMgenVtClNjaHdlaWdlbiB6dSBicmluZ2VuLCBtb2VjaHRlIGljaCB3aWUgZWluIGV1cm9wYWVpc2NoZXIgS29lbmlnIGVpbnN0IHp1CnNlaW5lbSBJbnZhc29yZW4gc2FnZW46ICJNb2VnZSBkZWluIE1vcmdlbiBzY2hvZW4gc2VpbiwgbW9lZ2UgZGllIFNvbm5lIGF1ZgpkZW4gUnVlc3R1bmdlbiBkZWluZXIgU29sZGF0ZW4gc3RyYWhsZW4sIGRlbm4gbm9jaCBhbSBOYWNobWl0dGFnIHdlcmRlIGljaApkaWNoIGJlc2llZ2VuLiIKIApEYW5rZSwgZGFzcyBTaWUgdW5zIC0gZWluZXIgQXJtZWUgYW5vbnltZXIgTWVuc2NoZW4sIGRpZSB3aXIgZGllIFN0cmFzc2VuCmZ1ZWxsZW4sIHVtIGVpbmVuIFByb3plc3MgYXVmenVoYWx0ZW4sIGRlciBiZXJlaXRzIGltIEdhbmdlIGlzdAotIGVybGF1YmVuIHp1IGVyZmFocmVuLCB3aWUgbWFuIHNpY2ggZnVlaGx0LCB3ZW5uIG1hbiBtYWNodGxvcyBpc3QsIHVuZCBhdXMKZGllc2VtIEdlZnVlaGwgenUgbGVybmVuIHVuZCBlcyB6dSB2ZXJ3YW5kZWxuLgogCkFsc28sIGdlbmllc3NlbiBTaWUgSWhyZW4gTW9yZ2VuIHVuZCB3ZWxjaGVuIFJ1aG0gZXIgSWhuZW4gYXVjaCBpbW1lcgpicmluZ2VuIG1hZy4KIApEYW5rZSwgZGFzcyBTaWUgdW5zIG5pY2h0IHp1Z2Vob2VydCB1bmQgdW5zIG5pY2h0IGVybnN0IGdlbm9tbWVuIGhhYmVuLgogCkRvY2ggU2llIHNvbGx0ZW4gd2lzc2VuLCBkYXNzIHdpciBJaG5lbiBzZWhyIHdvaGwgenVnZWhvZXJ0IGhhYmVuIHVuZCBJaHJlCldvcnRlIG5pZW1hbHMgdmVyZ2Vzc2VuIHdlcmRlbi4KIAogCkRhbmtlLApncm9zc2VyIFN0YWF0c21hbm4gR2VvcmdlIFcuIEJ1c2guCiAKSGVyemxpY2hlbiBEYW5rLgogCk9mZmVuZXIgQnJpZWYgZGVzIHdlbHRiZWthbm50ZW4KQXV0b3JzIFBhdWxvIENvZWxobwphbiBkYXMgV2Vpc3NlIEhhdXMuCiAKKCBEZXIgYnJhc2lsaWFuaXNjaGUgU2NocmlmdHN0ZWxsZXIgUGF1bG8gQ29lbGhvIHd1cmRlIG1pdCBzZWluZW0gQnVjaAoiRGVyIEFsY2hpbWlzdCIgaW4gZGVyIGdhbnplbiBXZWx0IGJla2FubnQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWcgQnJvdGhlciBpcyB3YXRjaGluZyB5b3UhIChXaGl0ZXRpZ2VyLCAyNC4gTWFyIDIwMDMsIDE5OjAzOjMyKToKaHR0cDovL3VzZXJzLmNoYXJ0ZXJ0bi5uZXQvdG9ueXRlbXBsaW4vRkJJX2V5ZXMvCgpHYW56IHdpdHppZy4uLiA6KSAtLSBXaGl0ZVRpZ2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJpZW5kZW5za2V0dGUgKENhdHdlYXpsZSwgMjcuIE1hciAyMDAzLCAxNToyMzo1OSk6CgpodHRwOi8vd3d3LmZyaWVkZW5za2V0dGUuZGUKCk1lbnNjaGVuIGFsbGVyIDMwLWphZWhyaWdlci1LcmllZ3MtRnJpZWRlbnNzY2hsaWVzc3VuZ3MtSGF1cHRzdGFlZHRlLAp2ZXJlaW5pZ3QgZXVjaCEKCllUQyAoc3RlaHQgTmFlaGUgSG9ybmJhY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJpZW5kZW5za2V0dGUgKE1vbnRhbnVzLCAyNy4gTWFyIDIwMDMsIDE2OjU4OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDQ4Nzc1MDM5IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKUGFzcyBhYmVyIGF1ZiwgZGFzcyBkYXMgbmljaHQgYXVzZ2VodCB3aWUgZGFzIEhvcm5iYWNoZXIgU2NoaWVzc2VuLgoKUFM6IGphamEsIGljaCB3ZWlzcy4gU0NSLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcmllbmRlbnNrZXR0ZSAoR3JpbW1ib3JuLCAyNy4gTWFyIDIwMDMsIDE3OjEyOjE5KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNDg3ODA3MzUgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpJY2ggc3RlbGxlIG1pciBnZXJhZGUgZGVuIFVTLVNhcmRzY2hlbnQgdm9yOiAiSnVuZ3MhIEZldWVyIGVpbnN0ZWxsZW4hIEZldWVyCmVpbnN0ZWxsZW4hIiAiV2FzIGlzdCBkZW4gbG9zLCBTYXJkc2NoPyIgIkRpZSBoYWJlbiB6d2lzY2hlbiBNdWVuc3RlciB1bmQKT3NuYWJydWVjayBpbiBEc2Nob2VybWVuaSBlaW5lIE1lbnNjaGVua2V0dGUgZ2ViaWxkZXQuIiAiT2ggbmVpbiwgZGFzIGRhcmYKZG9jaCBuaWNodCB3YWhyIHNlaW4hIiAiTGVpZGVyIGRvY2gsIGljaCBoYWIgZWJlbiBkaWUgQmVzdGFldGlndW5nIGJla29tbWVuLgpMZXV0ZSwgd2lyIG11ZXNzZW4gYWJicmVjaGVuLCBkaWUgV2VzdGZhbGVuIGhhYmVuIGVpbmUgRnJpZWRlbnNrZXR0ZSBnZWJpbGRldC4KQWJydWVja2VuISBBbGxlcyB6dXJ1ZWNrISIKTmFqYS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJpZW5kZW5za2V0dGUgKE9ya3RvZXRlciwgMjcuIE1hciAyMDAzLCAyMDo0OTozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA0ODc4MTUzOSByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CkljaCBkZW5rZSBuaWNodCBkYXMgYXVjaCBudXIgZWluZXIgRGVyamVuaWdlbiBkaWUgc2ljaCBhbiBkZW4gZGl2ZXJzZW4KRGVtb25zdHJhdGlvbmVuLCBGcmllZGVuc2tldHRlbiB1bmQgd2FzIGVzIG5vY2ggYWxsZXMgZ2FiIHVuZCBnZWJlbiB3aXJkCndpcmtsaWNoIGdsYXVidCBkYXMgZGllIGpld2VpbGlnZSBBa3Rpb24gZGVuIGxhdWZlbmRlbiBLcmllZyBiZWVuZGVuIHdpcmQuCkFiZXIgd2FzIGthbm4gZWluIGVpbnplbG5lciBNZW5zY2ggc29uc3QgdHVuIHVtICJkZW0gZGEgZHJ1ZWJlbiIgenUgemVpZ2VuIGRhcwptYW4gZGVuIEtyaWVnIG5pY2h0IGluIE9yZG51bmcgZmluZGV0PyBXZW5uIGVzIGdlbnVnIE1lbnNjaGVuIHdlbHR3ZWl0IHR1bgp3aXJkIHNpY2ggZGVyIG5hZWNoc3RlIEJ1c2ggZGFzIGV2dGwuIGRvY2ggbm9jaCBtYWwgYW5kZXJzIHVlYmVybGVnZW4sIHdlaWwKYWxsZSBkaWVzZSBGcmllZGVuc2Jld2VndGVuIFdlbHR3ZWl0IGF1Y2ggcG90ZW50aWVsbGUgS3VuZGVuIHZvbiBVUy1Qcm9kdWt0ZW4Kc2luZC4KQWJlciBtYW4ga2FubiBuYXR1ZXJsaWNoIGF1Y2ggaW4gc2VpbmVtIEthZW1tZXJjaGVuIGJsZWliZW4sIHNpY2ggYW5zY2hhdWVuCndpZSBzY2hsZWNodCBkaWUgV2VsdCBkb2NoIGlzdCB1bmQgdWViZXIgZGllIGFybWVuIERlcHBlbiBzcG9ldHRlbG4sIGRpZQptZWluZW4gbWl0IGVpbmVyIE1lbnNjaGVua2V0dGUgZWluZW4gS3JpZWcgYWJicmVjaGVuIHp1IGtvZW5uZW4uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJpZW5kZW5za2V0dGUgKENhZHJhY2gsIDI4LiBNYXIgMjAwMywgMDk6MTk6MzApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDg3OTQ1Nzcgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpVbmQgbnVuIHNjaGFldHogbWFsIGVocmxpY2ggd2lldmllbCBkZXIgRGVtb25zdHJhdGVuIHdlZ2VuIGRlbSBLcmllZyBhdWYgQ29jYQpDb2xhLCBNY0RvbmFsZHMsIExldmlzIEplYW5zIG9kZXIgV2luZG93cyB2ZXJ6aWNodGVuLgpEYXMgQXJndW1lbnQgZ3JlaWZ0IG5pY2h0IC0gc29vb28gZHVtbSBpc3QgQnVzaCBudW4gYXVjaCB3aWVkZXIgbmljaHQuCgpJbiBtZWluZW0gS2FlbW1lcmNoZW4genUgc2l0emVuIHVuZCB1ZWJlciBhcm1lIERlcHBlbiB6dSBzcG9ldHRlbG4sIGRpZSBtZWluZW4KbWl0IERlbW9uc3RyYXRpb25lbiBlaW5lbiBLcmllZyBhYmJyZWNoZW4genUga29lbm5lbiwgbWFjaHQgaGluZ2VnZW4gcmljaHRpZwpTcGFzcywgamEgX2Rhc18gYnJpbmd0IHdhcyA6bykKCgpDYWQqCgpQLlMuOiBBbWVyaWthbmlzY2hlIFByYWVzaWRlbnRlbiBoYXQgbWVpbmVyIE1laW51bmcgbmFjaCBub2NoIG5pZSBpcmdlbmRldHdhcwppbnRlcmVzc2llcnQsIG1pdCBBdXNuYWhtZSBkZXIgTWVpbnVuZyBkZXIgYW1lcmlrYW5pc2NoZW4gT2VmZmVudGxpY2hrZWl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJpZW5kZW5za2V0dGUgKE5vbm5lLCAyOC4gTWFyIDIwMDMsIDA5OjI5OjIwKToKfiMhIHJuPUNhZHJhY2ggcnQ9MTA0ODgzOTU3MCByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5Clp1bSBQUzogR2VsZCB1bmQgTWFjaHQuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZyaWVuZGVuc2tldHRlIChDYXR3ZWF6bGUsIDI4LiBNYXIgMjAwMywgMTA6MDM6MjkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODM5NTcwIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKSWNoIGdlaGUgZGFoaW4sIHdlaWwgaWNoIGVzIExlaWQgYmluIGltbWVyIG51ciB6dSBqYW1tZXJuLCBvaG5lIHNlbGJzdCB3YXMgenUKdHVuLiBJY2ggZ2VoZSBkYWhpbiwgd2VpbCBlcyB2b3IgYWxsZW0gX21pcl8gZGFuYWNoIGJlc3NlciBnZWh0LgpEYXMgbWFuIG1pdCBlaW5lciBEZW1vIG5pY2h0IHZpZWwgYmV3ZWdlbiBrYW5uLCBhdXNzZXIgUG9saXplaXdhZ2VuLCB3ZWlzcyBpY2gKYXVjaC4gQWJlciBpbW1lcmhpbiBoYWIgaWNoIGVzIGdlc2NoYWZmdCwgbWVpbmUgQmllcmRvc2UgYXVzIGRlciBIYW5kIHp1IGdlYmVuCnVuZCBtZWluZW4gQXJzY2ggdm9tIFNlc3NlbCBob2NoenVrcmllZ2VuLiAKV2VubiBtYW4gZGFiZWkgbm9jaCB3YXMgZWluZHJ1Y2tzdm9sbGVzIHp1c3RhbmRlIGJyaW5ndCwgbWFjaHRzIHVtc28gbWVocgpTcGFzcy4KCkFiZXIgYmxlaWIgcnVoaWcgdm9yIGRlaW5lciBHbG90emUgdW5kIGZ1cnogd2VpdGVyIGluIERlaW4gU29mYS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRnJpZW5kZW5za2V0dGUgKFB1aywgMjguIE1hciAyMDAzLCAxMDo1MjozMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA0ODg0MjIwOSByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CmF0CmljaCBmaW5kZSBhdWNoIGVoZXIgZGFzIGRpZSBlaW5zdGVsbHVuZyB6YWVobHQuIGRhcyB3YXMgd2lya2xpY2ggZGFiZWkKcnVta29tbXQgbWFnIG5pY2h0IHZpZWwgc2VpbiwgYWJlciBlcyB6ZWlndCBpbW1lcmhpbiBkYXMgbWFuIHNpY2ggZGFmdWVyCmludGVyZXNzaWVydCB1bmQgZGFnZWdlbiBpc3QuIApVbmQgZGEgZmluZGUgaWNoIGVpbmUgZWluc3RlbGx1bmcgd2llIDoiSW4gbWVpbmVtIEthZW1tZXJjaGVuIHp1IHNpdHplbiB1bmQKdWViZXIgYXJtZSBEZXBwZW4genUgc3BvZXR0ZWxuLCBkaWUgbWVpbmVuCm1pdCBEZW1vbnN0cmF0aW9uZW4gZWluZW4gS3JpZWcgYWJicmVjaGVuIHp1IGtvZW5uZW4sIG1hY2h0IGhpbmdlZ2VuIHJpY2h0aWcKU3Bhc3MsIGphIF9kYXNfIGJyaW5ndCB3YXMgOm8pCgp3aXJrbGljaCBudXIgbm9jaCBhcm0gKnNldWZ6KgoqdGFldHNjaGVsKiBDYWRyYWNoCm1hZyBzZWluIGRhcyBEaXIgZGVyIGdhbnplICdzY2hlaXNzJyBudXIgYWxzIGtsZWluZSBiZWxhbmdsb3NpZ2tlaXQgaW4gZGVpbmVtCkxlYmVuIHZvcmtvbW10IGRlciBudXIgenUgZGVpbmVtIHByaXZhdGVuIHZlcmdudWVnZW4gaW56ZW5pZXJ0IHd1cmRlLiAKUGFzc3QgamEgYXVjaCB6aWVtbGljaCBpbiBkZWluIFdlbHRiaWxkLCBvZGVyID8KClB1aywga29wZnNjaHVldHRlbG5kIHVlYmVyIHNvdmllbCBkdW1taGVpdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRnJpZW5kZW5za2V0dGUgKEh1bW5pLCAyOC4gTWFyIDIwMDMsIDExOjA3OjEyKToKfiMhIHJuPVB1ayBydD0xMDQ4ODQ1MTUyIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKSG1tLi4gaWNoIGRlbmtlIGVzIGthbm4gZHVyY2hhdXMgZWluZSBTYWNoZSBkYWJlaSBydW1rb21tZW46IFJ1ZWNrZW5kZWNrdW5nCmZ1ZXIgZGllamVuaWdlbiBQb2xpdGlrZXIsIGRpZSBzaWNoIGdlZ2VuIGRlbiBLcmllZyBlaW5zZXR6ZW4uIFVuZCBkYXMgaXN0Cm5pY2h0IHp1IHVudGVyc2NoYWV0emVuLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZyaWVuZGVuc2tldHRlIChDcm9mdCwgMjguIE1hciAyMDAzLCAxMToxMjo0Mik6Cn4jISBybj1IdW1uaSBydD0xMDQ4ODQ2MDMyIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKVW5kIGVzIGJlc3RlaHQgSG9mZm51bmcgZGFzIGRpZSBMZXV0ZSwgZGllIGRpZSBEZW1vIHNlaGVuIChzZWlzIGRpcmVrdApvZGVyIHVlYmVyIGRpZSBNZWRpZW4pIGRpZSBHZWxlZ2VuaGVpdCBudXR6ZW4gdW0gc2ljaCBtaXQgZGVyClRoZW1hdGlrIGV0d2FzIG1laHIgenUgYmVzY2hhZWZ0aWdlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGcmllbmRlbnNrZXR0ZSAoU2Nob2tvLCAyOC4gTWFyIDIwMDMsIDExOjI2OjQ3KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNDg4NDYzNjIgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpLYW5uIGVzIGRlbm4gc2VpbiwgZGFzcyBkaWUgTW9lZ2xpY2hrZWl0IG9lZmZlbnRsaWNoIHNlaW5lIE1laW51bmcga3VuZHp1dHVuCndpcmtsaWNoIGRlcmFydGlnIHNpbm5sb3MgdW5kIG51dHpsb3MgaXN0PwoKVW5kIHdhbm4gc3RlbGx0IGlociBkYXMgZGFubiBlbmRsaWNoIGluIGRlciBtcGEgZWluPwoKU2Nob2tvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBGcmllbmRlbnNrZXR0ZSAoQ2FkcmFjaCwgMjguIE1hciAyMDAzLCAxMToyNzowMyk6Cn4jISBybj1QdWsgcnQ9MTA0ODg0NTE1MiByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CkJpbmdvIFB1ay4KCkluIG1laW5lbSBXZWx0YmlsZCBsYXNzZW4gc2ljaCBEaWt0YXRvcmVuICh1bmQgZGFtaXQgbWVpbmUgaWNoIGpldHp0IFNhZGRhbQp1bmQgbmljaHQgQnVzaCA7bykgbmljaHQgdm9uIERlbW9uc3RyYXRpb25lbiB1bmQgRGlwbG9tYXRpZSBiZWVpbmRydWNrZW4uIEF1cwpkaWVzZW0gR3J1bmQgaGFsdGUgaWNoIGRpZXNlbiBLcmllZyBmdWVyIGdlcmVjaHRmZXJ0aWd0IHVuZCBpbiBkZXIgVGF0IGRhcwprbGVpbmVyZSBVZWJlbC4gU2FkZGFtIGhhdCBkb2NoIDEyIEphaHJlIGRpZSBXZWx0IG51ciB2ZXJhcnNjaHQgdW5kIHVlYmVyaGF1cHQKZXJzdCBrb29wZXJpZXJ0IG5hY2hkZW0gMjAwLjAwMCBNYW5uIHZvciBzZWluZXIgSGF1c3R1ZXIgc3RhbmRlbiAodW5kIGF1Y2gKZGFubiBub2NoIGF1ZiBaZWl0IGdlc3BpZWx0KS4gSWNoIGJlendlaWZlbCBkYXMgZGllIEluc3Bla3Rpb25lbgp3ZWl0ZXJnZWdhbmdlbiB3YWVyZW4sIGhhZXR0ZW4gZGllIEFtaXMgaWhyZSBBcm1lZSB3aWVkZXIgKHVuZCBkYW5uIGF1Y2gKZW5kZ3VlbHRpZykgYWJnZXpvZ2VuLgoKTmF0dWVybGljaCBrb2VubnQgaWNoIGpldHp0IGdlZ2VuIHVuc2VyZSBCdW5kZXNyZWdpZXJ1bmcgZGVtb25zdHJpZXJlbiBnZWhuLAphYmVyIHdpZXNvPyBOYWNoZGVtIG1hbiBhbmdlZmFuZ2VuIGhhdCBtaXQgc2VpbmVuIEZyZXVuZGVuIHVlYmVyCldhaGxrYW1wZnZlcmFuc3RhbHR1bmdlbiBhdWYgTWFya3RwbGFldHplbiB6dSByZWRlbiBzdGF0dCBpbiBIaW50ZXJ6aW1tZXJuLApob2VydCBhdWYgZGllIGRvY2ggZWggbmllbWFuZCBtZWhyLgoKCkNhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZyaWVuZGVuc2tldHRlIChOb25uZSwgMjguIE1hciAyMDAzLCAxMTozNDo0Nyk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNDg4NDcyMjMgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpFcmtsYWVyc3QgRHUgbWlyIGF1Y2gsIHdhcnVtIER1IGRlbiBLcmllZyBmdWVyIGdlcmVjaHRmZXJ0aWd0IGhhZWxzdD8gU3RvZXJlbgpEaWNoIGRpZSBNZW5zY2hlbnJlY2h0c3ZlcmxldHp1bmdlbj8gRGVyIE1vcmQgYW4gZGVuIEt1cmRlbj8gRGllIEJlZHJvaHVuZwpmdWVyIGRpZSBVU0E/IERpZSBVbnRlcnN0dWV0enVuZyB2b24gQmluIExhZGVuPwoKTm9ubmUsIGdlc3Bhbm50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRnJpZW5kZW5za2V0dGUgKEdyaW1tYm9ybiwgMjguIE1hciAyMDAzLCAxMTozNjo0Myk6Cn4jISBybj1DYWRyYWNoIHJ0PTEwNDg4NDcyMjMgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQo+IFtFcyBsYXNzZW4gc2ljaF0gRGlrdGF0b3JlbiBuaWNodCB2b24gRGVtb25zdHJhdGlvbmVuIHVuZCBEaXBsb21hdGllIAo+IGJlZWluZHJ1Y2tlbi4gQXVzIGRpZXNlbSBHcnVuZCBoYWx0ZSBpY2ggZGllc2VuIEtyaWVnIGZ1ZXIgZ2VyZWNodGZlcnRpZ3QuCgpKbywgc28gaXN0cyByaWNodGlnLiBXb3p1IGJyYXVjaHQgbWFuIGF1Y2ggVU4sIFNpY2hlcmhlaXRzcmF0IHVuZCBhbGxlCm1vZWdsaWNoZW4gVmVyc3VjaGUgendpc2NoZW4gU3RhYXRlbiB2ZXJudWVuZnRpZyBtaXRlaW5hbmRlciB1bXp1Z2VoZW4/IERpZQpsYXNzZW4gc2ljaCBuaWNodCBiZWVpbmRydWNrZW4sIGFsc28gbmlzY2h0IHdpZSBkcnVmZi4KCktlaW5lIHdlaXRlcmVuIEZyYWdlbiwgRXVlciBFaHJlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRnJpZW5kZW5za2V0dGUgKEthcmlzLCAyOC4gTWFyIDIwMDMsIDExOjM3OjA3KToKfiMhIHJuPU5vbm5lIHJ0PTEwNDg4NDc2ODcgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpEZXIgS3JpZWcgaXN0IHNjaG9uIGRhZHJ1Y2ggZ2VyZWNodGZlcnRpZ3QsIGRhc3MgZGFzIEJ1c2gnc2NoZSBPZWxJbXBlcml1bQptaXQgZGVtIGlyYWtpc2NoZW4gT2VsIGVpbiB3ZW5pZyBuYWVoZXIgYW4gR2F0ZXMnc2NoZSBEaW1lbnNpb25lbgpkZXMgVW50ZXJuZWhtZW5zd2VydGVzIHJhbmtvbW10LiBXaWUgc29sbGVuIGRpZSBkYXMgc29uc3Qgc2NoYWZmZW4/Pz8KS2FyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEZyaWVuZGVuc2tldHRlIChPcmt0b2V0ZXIsIDI4LiBNYXIgMjAwMywgMTE6Mzg6MjcpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODQ3MjIzIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKQ2FkcmFjaCwgYmVncmVpZnN0IGR1IGVpZ2VudGxpY2gsIHdhcyBkaWUgQW1lcmlrYW5lciBtaXQgaWhyZW0gYWxsZWluZ2FuZwphbmdlcmljaHRldCBoYWJlbj8gRGFzIFNhZGRhbSBrZWluIEhlaWxpZ2VyIGlzdCBkdWVyZnRlbiB3b2hsIGFsbGUgd2lzc2VuLgpBYmVyIGRpZSBVTiwgZGllIE9yZ2FuaXNhdGlvbiBpbiBkZXIgZmFzdCBhbGxlIFN0YWF0ZW4genVzYW1tZW5nZXNjaGxvc3NlbgpzaW5kIHVuZCBkaWUgS29uZmxpa3RlIHp3aXNjaGVuIGRlbiBTdGFhdGVuIGZyaWVkbGljaCBsb2VzZW4gc29sbCB3YXIgYmlzbGFuZwpqYSBzY2hvbiBudXIgZWluIFBhcGllcnRpZ2VyLiBEYW5rIEJ1c2ggaXN0IGRpZSBVTiB3b2hsIGVudGd1ZWx0aWcgc28gd2VpdAphYmdlcnV0c2NodCwgZGFzIHNpZSBkaWUgaHVtYW5pdGFlcmUgSGlsZmUgdW5kIGRlbiBXaWVkZXJhdWZiYXUgb3JnYW5pc2llcmVuCmthbm4uIEFuc29uc3RlbiBoZXJyc2NodCBiZWkgWndpc2NoZW5zdGFhdGxpY2hlbiBLb25mbGlrdGVuIHdpZWRlciBkYXMKRmF1c3RyZWNodC4gQWJlciBkYXMgaXN0IGRpciBzY2hlaW5iYXIgamEgZWdhbC4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGcmllbmRlbnNrZXR0ZSAoS2FyaXMsIDI4LiBNYXIgMjAwMywgMTE6Mzk6MzMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDg4NDc5MDcgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpBY2ggT3JrdG9ldGVyLCB3YXMgYmlzdCBkdSB1bnNlbnNpYmVsLiBKZXR6dCBoYXN0IER1IGlobiB2aWVsbGVpY2h0IGdld2Vja3QhCkthcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBGcmllbmRlbnNrZXR0ZSAoQ2FkcmFjaCwgMjguIE1hciAyMDAzLCAxMjowMDoxMCk6Cn4jISBybj1Ob25uZSBydD0xMDQ4ODQ3Njg3IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKMS4gSWNoIGJlendlaWZlbCBkYXMgZXMgZWluZSBWZXJiaW5kdW5nIHp3aXNjaGVuIFNhZGRhbSB1bmQgQmluIExhZGVuIGdpYnQuCjIuIERpZSBNZW5zY2hlbnJlY2h0c3ZlcmxldHp1bmcgc3RvZXJlbiBtaWNoIHNlaHIsIHdhZXJlIGRhcyBqZWRvY2ggZWluCmFsbGVpbmlnZXIgR3J1bmQgZWluZW4gS3JpZWcgYW56dWZhbmdlbiwgbXVlc3N0ZW4gZGllIEFtaXMgZGVyIGhhbGJlbiBXZWx0CihpbmNsLiB6LkIuIENoaW5hIGRlbiBLcmllZyBlcmtsYWVyZW4pLgozLiBNaWNoIHN0b2VydCwgZGFzIGVzIHNpY2ggYmVpbSBpcmFraXNjaGVuIFJlZ2ltZSB1bSBlaW5lcyBkZXIgYnJ1dGFsc3RlbgpSZWdpbWUgZGVyIFdlbHQgaGFuZGVsdCAoZGFnZWdlbiBpc3QgTXVnYWJlIGVpbiBmcmllZGZlcnRpZ2VyIE1lbnNjaCkuCgpEZXIgSXJhayBoYXQgOTEgZGFzIEZhc3MgenVtIHVlYmVybGF1ZmVuIGdlYnJhY2h0IGluZGVtIGVyIEt1d2FpdCBhbmdyaWZmLCBlcgpoYXQgZGFyYXVmZm9sZ2VuZGVuIEtyaWVnIHZlcmxvcmVuIHVuZCBzaWNoIGluIGRlbiBGcmllZGVuc3ZlcmhhbmRsdW5nZW4genVyCnZvbGxzdGFlbmRpZ2VuIEFicnVlc3R1bmcgdmVycGZsaWNodGV0LiBEaWVzZXMgQWJrb21tZW4gaGF0IGVyIG5pY2h0CmVpbmdlaGFsdGVuIChkYXMgYmVzdHJlaXRldCBnbGF1YiBpY2ggYXVjaCBuaWVtYW5kIGVybnN0aGFmdCkuIERlciBJcmFrIGhhdApzb21pdCBlaW5zZWl0aWcgZGVuIEZyaWVkZW5zdmVydHJhZyBnZWJyb2NoZW4gLSB3YXMgYWxsZWluZSBlaWdlbnRsaWNoIHNjaG9uCmVpbmUgS3JpZWdzZXJrbGFlcnVuZyBpc3QuCgpXZW5uIG1hbiBkZW4gSXJhayBzaWNoIGZyZWkgZW50ZmFsdGVuIGxhZXNzdCBpc3QgZXIgbmFjaCBtZWluZXIgVWViZXJ6ZXVndW5nCnNwYWV0ZXN0ZW5zIGluIDUgSmFocmVuIG5pY2h0IG51ciBlaW5lIGVybnN0aGFmdGUgR2VmYWhyIGZ1ZXIgSXNyYWVsIHVuZCBkaWUKUmVnaW9uLCBzb25kZXJuIGZ1ZXIgZGllIGdlc2FtdGUgZnJlaWUgV2VsdC4KClNhZGRhbSB0cmFldW10IHZvbiBlaW5lciBWZXJlaW5pZ3VuZyBkZXIgYXJhYmlzY2hlbiBTdGFhdGVuIChhdWYgbmljaHQgZ2VyYWRlCmZyaWVkbGljaGVtIFdlZykgdW5kIGhhdCBmdWVyIG1pY2ggdmllbGUgcGFyYWxlbGxlbiB6dSBIaXRsZXIuIEVzIHdhciA5MSBzY2hvbgpoYXJ0IGdld2VzZW4gaWhuIGltIEFtdCB6dSBsYXNzZW4sIGFiZXIgbWFuZ2VscyBBbHRlcm5hdGl2ZW4gKGluc2Jlc29uZGVyZSB6dXIKU3RhYmlsaXRhZXQgaW4gZGVyIFJlZ2lvbikgaGFldHRlIG1hbiBtaXQgaWhtIGxlYmVuIGtvZW5uZW4sIHdlbm4gZXIKbWlsaXRhZXJpc2NoIHNvd2VpdCBiZXNjaG5pdHRlbiBnZXdlc2VuIHdhZXJlIGRhcyB6dW1pbmRlc3Qga2VpbmUgYWt1dGUgR2VmYWhyCmZ1ZXIgbmV1ZSBLcmllZ2Ugdm9uIGlobSBhdXNnZWh0IC0gYWJlciBnZW5hdSBkYXMgaGF0IGVyIGphIGF1Zmdla3VlbmRpZ3QuCgpEaWUgVU4gbWFjaHQgc2ljaCBpbiBtZWluZW4gQXVnZW4gdm9sbGtvbW1lbiBsYWVjaGVybGljaCwgd2VubiBzaWUgaWhyZQpCZXNjaGx1ZXNzZSBuaWNodCBkdXJjaHNldHp0IHVuZCB6dWxhZXNzdCwgZGFzIEZyaWVkZW5zdmVydHJhZWdlIGVpbmZhY2gKZ2Vicm9jaGVuIHdlcmRlbi4gQXVjaCB3ZW5uIGRlciBWZXJnbGVpY2ggd2VpdCBoZXJnZWhvbHQgaXN0OiBNYW4gc29sbHRlIGF1Y2gKbmllIG1pdCBUZXJyb3Jpc3RlbiB2ZXJoYW5kZWxuLCBsYWVzc3QgbWFuIHNpY2ggZWlubWFsIGVycHJlc3NlbiB1bmQgbGFlc3N0CnouQi4gR2VmYW5nZW5lIGZyZWkgKHVtIGFuZGVyZSBNZW5zY2hlbmxlYmVuIHp1IHJldHRlbiksIHNvIHZlcmxpZXJ0IG1hbgpzb3ZpZWwgR2xhdWJ3dWVyZGlna2VpdCBkYXMgZXMgaW1tZXIgd2llZGVyIHZlcnN1Y2h0IHdlcmRlbiB3aXJkLgoKTGVpZGVyIGVudHNjaGVpZGVuIHVuZCBoYW5kZWxuIHdlZGVyIGRpZSBVU0Egbm9jaCBkaWUgVU4gYWxsZWluIGF1cyBldGhpc2NoZW4KdW5kIHVlYmVyZ2VvcmRuZXRlbiBJbnRlcmVzc2VuLiBNYW4gc2NoYXVlIHNpY2ggbWFsIGFuIHdlciBkaWUgZ3JvZXNzdGVuCldpcnRzY2hhZnRzYmV6aWVodW5nZW4genVtIElyYWsgaGF0OiBGcmFua3JlaWNoLCBSdXNzbGFuZCwgQ2hpbmEgdW5kCkRldXRzY2hsYW5kIChkYXppd3NjaGVuIGdsYXViIGljaCBub2NoIEpvcmRhbmllbikuIE51biB1ZWJlcmxlZ2UgbWFuIG1hbAp3ZXNoYWxiIGdlcmFkZSBkaWVzZSBMYWVuZGVyIHNvIGV4dHJlbSBnZWdlbiBlaW5lbiBLcmllZyBzaW5kLiBTaWNoZXJsaWNoCm5pY2h0IF9udXJfIGF1cyBtb3JhbGlzY2hlbiBHcnVlbmRlbi4KR2VuYXVzbyBoYW5kZWxuIGF1Y2ggZGllIEFtZXJpa2FuZXIgc2ljaGVyIG5pY2h0IGF1c3NjaGxpZXNzbGljaCBhdXMKbW9yYWxpc2NoZW4gR3J1ZW5kZW4sIGFiZXIgenUgYmVoYXVwdGVuIHNpZSB3dWVyZGVuIGF1c3NjaGxpZXNzbGljaCBhdXMKd2lydHNjaGFmdGxpY2hlbiBHcnVlbmRlbiBoYW5kZWxuIHdpcmQgZGVyIFNhY2hlIGdlbmF1c28gbmljaHQgZ2VyZWNodC4KCkF1ZiBhbGxlbiBTZWl0ZW4gZ2lidCBlcyBlaW4gc293b2hsIGFscyBhdWNoLCBhbHMgR3J1bmQgZnVlciBkaWUgSGFsdHVuZyBkaWUKbWFuIGJlem9nZW4gaGF0LiBFcyBnZWh0IGhpZXIgZGVuIEFtZXJpa2FuZXJuIG5pY2h0IHVtcyBPZWwgKGF1Y2ggd2VubiBkYXMgZWluCm5ldHRlciBOZWJlbmVmZmVrdCBpc3QgLSBkYSBkaWUgZ2VzYW10ZSB3ZXN0bGljaGUgV2VsdCBkYXZvbiBhYmhhZW5naWcgaXN0KSwKCgpDYWQqCgpQLlMuOiBEaWUgVW5mYWVoaWdrZWl0IGRlciBVTiBpbiBkZXIgaGV1dGlnZW4gRm9ybSBoYXQgc2ljaCBiZXJlaXRzIGltCktvc292b2tyaWVnIGdlemVpZ3QgT3JrdHJvZXRlLCBrb21pc2NoIG51ciBkYXMgZGFtYWxzIGRlciBBdWZzY2hyZWkgbmljaHQgc28KZ3Jvc3Mgd2FyIC0gc2FjaGxpY2ggd2FyIGVzIHZvZWxrZXJyZWNodGxpY2ggZGFzc2VsYmUsIGJ6dy4gc29nYXIgbm9jaCB3ZW5pZ2VyCmdlZGVja3QgYWxzIGRlciAydGUgR29sZmtyaWVnIGpldHp0LiBad2VpZmVsdCBoZXV0ZSBlaWdlbnRsaWNoIG5vY2ggaXJnZW5kd2VyCmRhcmFuLCBkYXMgZXMgcmljaHRpZyB3YXIgaW0gS29zb3ZvIGVpbnp1bWFyc2NoaWVyZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBGcmllbmRlbnNrZXR0ZSAoUGF0cnluLCAyOC4gTWFyIDIwMDMsIDEyOjAzOjM2KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTA0ODg0NzIyMyByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CkFsc28gZGllIFVTQSBpc3QgYmVyZWl0cyBpbiB2aWVsZW4gTGFlbmRlcm4gZHJpbiBbZ2V3ZXNlbl0sIHouQi4gS3V3ZWl0LAp3byBzaWUga2VpbmVybGVpIEFtYml0aW9uZW4gdmVyc3B1ZXJ0ZW4sIGlyZ2VuZGV0d2FzIGRlbW9rcmF0aWVhZWhubGljaGVzCnp1IGluc3RhbGxpZXJlbi4gTmljaHQgd2VuaWdlIERpa3RhdG9yZW4gZGllc2VyIFdlbHQga29ubnRlbiBzaWNoIHVlYmVyaGF1cHQKbnVyIG1pdCBIaWxmZSBkZXIgVVNBIGF1ZiBkZW0gUG9zdGVuIGJlaGF1cHRlbi4KCklzcmFlbCBoYXQgaW4gZGVuIGxldHp0ZW4gMTIgSmFocmVuIGdlZ2VuIG1laHIgUmVzb2x1dGlvbmVuIHZlcnN0b3NzZW4gYWxzCmRlciBJcmFrLgoKSW4gS2F0YXIgZ2lidHMgbWVociBDb25uZWN0aW9ucyB6dSBCaW4gTGFkZW4gYWxzIGluIGdhbnogSXJhayB1bmQgVW1nZWJ1bmcuCgpNYW4ga29lbm50ZSBtZWhyIGZ1ZXIgZGllIGlubmVyZSBTaWNoZXJoZWl0IGRlciBVU0EgdHVuLCB3ZW5uIGRpZQpXYWZmZW5sb2JieSB3ZW5pZ2VyIHp1IG1lbGRlbiBoYWV0dGUsIGVpbmUgZGVyIExvYmJpZXMsIGRpZSBzZWl0IEJ1c2gKbm9jaCBuaWUgc28gdmllbCBNYWNodCB3aWUgamV0enQgaGFiZW4uIEplZGVzIEphaHIga29tbWVuIGR1cmNoIGRpZXNlCldhZmZlbmdlc2V0emUgbWVociBMZXV0ZSB1bSBhbHMgYW0gMTEuIFNlcHRlbWJlci4KCnUucy53LiAuLi5tYW4ga2FubiBkaWUgS2V0dGUgbGFuZ2UgZm9ydHNldHplbiB1bSBkYXMgZ3Jvc3NlIEZyYWdlemVpY2hlbgpoaW50ZXIgZGllc2VuIEtyaWVnIHp1IHNldHplbi4KSWNoIHBlcnNvZW5saWNoIGJpbiBuaWNodCBzb25kZXJsaWNoIHBhemlmaXN0aXNjaCBlaW5nZXN0ZWxsdCB1bmQKdmVyYWJzY2hldWUgZGVuIEtyaWVnIG5pY2h0IGFsbGVpbiBkZXMgS3JpZWdlcyB3aWxsZW4uClZpZWwgbWVociBmdWVyY2h0ZSBpY2ggZGVuIFRlc3RmYWxsIGZ1ZXIgZWluZSBuZXVlIFdlbHRvcmRudW5nLCBlaW5lCldlbHRvcmRudW5nIGR1cmNoIGVpbmVuIFN0YWF0IGF1Zmdlend1bmdlbiwgZHVyY2ggZGllIGljaCB3ZWl0YXVzIG1laHIKdW0gZGVuIHp1a3VlbmZ0aWdlbiBXZWx0ZnJpZWRlbiBmdWVyY2h0ZSBhbHMgZHVyY2ggU2FkYW0gdW5kIGNvLgoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEZyaWVuZGVuc2tldHRlIChBcmssIDI4LiBNYXIgMjAwMywgMTI6MTI6MDApOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODQ5MjEwIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKImRhZ2VnZW4gaXN0IE11Z2FiZSBlaW4gZnJpZWRmZXJ0aWdlciBNZW5zY2giCkR1ZW5uZXMgRWlzIC4uLiBtYWVjaHRpZyBkdWVubmVzIEVpcy4KUGVyc29lbmxpY2ggc2VoZSBpY2ggRGljaCBkYSBzY2hvbiB1bnRlciBXYXNzZXIuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBGcmllbmRlbnNrZXR0ZSAoT3JrdG9ldGVyLCAyOC4gTWFyIDIwMDMsIDEyOjI2OjQ3KToKfiMhIHJuPUNhZHJhY2ggcnQ9MTA0ODg0OTIxMCByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CjEuIFNvbGx0ZXN0IGR1IHZpZWxsZWljaHQgbm9jaCBtYWwgZXR3YXMgZ2VuYXVlciBsZXNlbiwgZGFubiBrYW5uc3QgZHUgbWVpbmVuCk5hbWVuIGluIFp1a3VuZnQgdmllbGxlaWNodCBhdWNoIHJpY2h0aWcgc2NocmVpYmVuCjIuIEJlendlaWZlbCBpY2ggaW4gZGVyIFRhdCBkYXMgZGVyIElyYWsgTWFzc2VudmVybmljaHR1bmdzd2FmZmVuIGhhdC4gRGFzCndlcmRlIGljaCBhdWNoIHNvIGxhbmdlIEJlendlaWZlbG4gYmlzIGVzIEJld2Vpc2UgZ2lidC4gRGVubiBhdWNoIGZ1ZXIgZWluZW4KU3RhYXQgc29sbHRlIHdpZSBpbiBqZWRlbSBSZWNodHNzdGFhdCBmdWVyIGplZGVuIEJ1ZXJnZXIgdWVibGljaCBhbHMgZXJzdGVzCm1hbCBnZWx0ZW4gZGFzIGVyIHVuc2NodWxkaWcgaXN0LCBiaXMgZXMgQkVXRUlTRSBnaWJ0LiBFaW4gImljaCBiaW4gbWlyIGFiZXIKZ2FueiBlaHJsaWNoIHdpcmtsaWNoIGFic29sdXQgdW5kIDEwMCVpZyBzaWNoZXIgZGFzIGRlciBJcmFrCk1hc3NlbnZlcm5pY2h0dW5nc3dhZmZlbiBoYXQiIGlzdCBrZWluIEJld2Vpcy4gRGllIFVOLUluc3Bla3RvcmVuIGhhZXR0ZW4Kc29sY2hlIGZpbmRlbiBrb2VubmVuLCBoYWV0dGVuIHNpZSBtZWhyIFplaXQgYmVrb21tZW4uIEljaCBoYWJlIGluIGRlbiBsZXR6ZW4KVGFnZW4gdm9uIHp3ZWkgIkJld2Vpc2UiIGZ1ZXIgTWFzc2VudmVybmljaHR1bmdzd2FmZmVuIGdlbGVzZW4gZGllIGRpZQpBbWVyaWthbmVyIHVuZCBCcml0ZW4gaW4gZGVuIGVyb2JlcnRlbiBHZWJpZXRlbiBnZWZ1bmRlbiBoYWJlbjogRGllIEFtZXJpa2FuZXIKaGFiZW4gZ2VtZWxkZXQgc2llIGhhYmVuIGVpbmUgQ2hlbWllZmFicmlrIGdlZnVuZGVuIGRpZSAiZ2V0YXJudCIgd2FyLCBlaW4Kc2NobGFnZW5kZXIgQmV3ZWlzLiAoaGV1dGUsIHp3ZWkgb2RlciBkcmVpIFRhZ2Ugc3BhZXRlciBoYWJlIGljaCBub2NoIG5pY2h0cwpnZWhvZXJ0IGRhcyBzaWUgaW4gZGllc2VyIEZhYnJpayBhdWNoIG51ciBTcHVyZW4gdm9uIGNoZW1pc2NoZW4gS2FtcGZzdG9mZmVuCmVudGRlY2t0IGhhZXR0ZS4uLiB0b2xsZXIgImJld2VpcyIpLiBEaWUgQnJpdGVuIGhhYmVuIGFsbGVuIGVybnN0ZXMgZ2VtZWxkZXQKc2llIGhhYmVuIGJlaSBpcmFraXNjaGVuIFRydXBwZW4gR2FzbWFza2VuIHVuZCBTY2h1dHphbnp1Z2UgZ2VmdW5kZW4gdW5kIGRhcwphbHMgQmV3ZWlzIGZ1ZXIgaXJha2lzY2hlIEJpb2xvZ2lzY2hlIFdhZmZlbiBhbmdlZnVlaHJ0LiAod2VubiBTY2h1dHphbnp1Z2UKdW5kIEdhc21hc2tlbiBlaW4gQmV3ZWlzIHNpbmQsIGRhbm4gc2luZCBkaWUgS29hbGl0aW9uc3N0cmVpdGtyYWVmdGUgYWxzbyBhdWNoCmltIEJlc2l0eiB2b24gY2hlbWlzY2hlbiB1bmQgYmlvbG9naXNjaGVuIFdhZmZlbj8pLgoKRGVuayBtYWwgdWViZXIgZm9sZ2VuZGVzIG5hY2g6IApBbmdlbm9tbWVuIGVzIGdhZWJlIGluIERldXRzY2hsYW5kIChuaW1tIGplZGVuIGJlbGllYmlnZW4gUmVjaHRzc3RhYXQpIGVpbmVuCmV4dHJlbSBtYWVjaHRpZ2VuIE1hbm4sIHdlaXRlcmhpbiBnYWViZSBlcyBlaW5lIFBlcnNvbiBkaWUgaW0gVmVyZGFjaHQgc3RlaHQKVGVycm9yaXN0IHp1IHNlaW4uIERpZSBzdGFhdGxpY2hlbiBTdGVsbGVuIChQb2xpemVpLCBWZXJmYXNzdW5nc3NjaHV0eikgaGFiZW4Kc2Nob24gdmVyc3VjaHQgZGVtICJ0ZXJyb3Jpc3RlbiIgbmFjaHp1d2Vpc2VuIGRhcyBlciB2ZXJib3RlbmUgU2FjaGVuIGdldGFuCmhhdCwgaGFiZW4gYWJlciAoYmlzbGFuZykga2VpbmUgQmV3ZWlzZSBnZWZ1bmRlbi4gTnVuIGdlaHQgZGllc2VyIG1hZWNodGlnZQpNYW5uIGhpbiB1bmQgc3BlcnJ0IGRlbiBUZXJyb3Jpc3RlbiBlaWdlbm1hZWNodGlnIGVpbiwgd2VpbCBlciBqYSBnZW5hdSB3ZWlzLApkYXMgZGllc2VyIGVpbiBUZXJyb3Jpc3QgaXN0LiBIYWNoIHdhcyBzaW5kIHdpciBhbGxlIGZyb2ggdW5kIGdsdWVja2xpY2gsIGRhcwpkaWVzZXIgSGVsZCB1bnMgYWxsZSB2b3IgZWluZXIgZ3Jvc3NlbiBHZWZhaHIgYmV3YWhydCBoYXQuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEZyaWVuZGVuc2tldHRlIChHbm9tZSwgMjguIE1hciAyMDAzLCAxNDoyMToyMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0ODg1MDgwNyByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5Cm1laW4gZ290dCwgYmlzdCBkdSBuYWl2LgppcmFrIGlzdCB2b24gZGVyIGZsYWVjaGUgaGVyIGRvcHBlbHQgc28gZ3Jvc3Mgd2llIGRldXRzY2hsYW5kLiBtZWluc3QKZHUgd2lya2xpY2gsIGRhc3MgZWluIHBhYXIgaGFuZHZvbGwgJ2luc3Bla3RvcmVuJyBkaWUgZ2VoZWltc3RlbiB3YWZmZW4KZGVzIGlyYWsgZmluZGVuIHd1ZXJkZW4sICd3ZW5uIHNpZSBudXIgZ2VudWVnZW5kIHplaXQnIGdlaGFidCBoYWV0dGVuPwp3aWV2aWVsIGlzdCBkYXM/IDEwMCBqYWhyZT8gMjAwIGphaHJlPwpkaWUgd2FmZmVuLCBkaWUgc2llIGdlZnVuZGVuIGhhYmVuLCBoYWJlbiBzaWUgZGVzaGFsYiBnZWZ1bmRlbiwgd2VpbApzaWUgZ2VmdW5kZW4gd2VyZGVuIHNvbGx0ZW4uIGdpYiBkZW0gYWZmZW4gZWluIGJpc3NjaGVuIHp1Y2tlciwgdW5kIGVyCmlzdCBzY2hvbiAoZmFzdCkgenVmcmllZGVuLgpkaWUgc2N1ZC1yYWtldGVuLCBkaWUgYW5mYW5nIGRlcyBrcmllZ2VzIGltIG5vcmRlbiBrdXdhaXRzIGVpbmdlc2NobGFnZW4Kc2luZCwgc2luZCBkaWUgcmFrZXRlbiwgZGllIGRlciBpcmFrIG9mZml6aWVsbCBnYXIgbmljaHQgbWVociBoYXR0ZS4gaHVwcyEKCmRpZSBlcnN0ZSBfZWNodGVfIGFicnVlc3R1bmcgZGVzIGlyYWsgZ2luZyBhbSAwMS4wMy4yMDAzICghKSBsb3MuIGxlaWRlcgp2aWVsIHp1IHNwYWV0LiBzb3dvaGwgZnVlciBkZW4gdGV4YXMtcmFuZ2VyLCBhbHMgYXVjaCBmdWVyIGRpZSBqZXR6dApsZWlkZW5kZSB6aXZpbGJldm9lbGtlcnVuZy4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRnJpZW5kZW5za2V0dGUgKEVsYmVyZXQsIDI4LiBNYXIgMjAwMywgMTQ6MjQ6NTMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwNDg4NTA4MDcgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQp1bmQgd28gaW4gZGVpbmVtIEJlaXNwaWVsIGdlaHQgZGFzIG1pdCBkZW0gUmVjaHRzc3RhYXQgZWluPwoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEZyaWVuZGVuc2tldHRlIChHcmltbWJvcm4sIDI4LiBNYXIgMjAwMywgMTQ6Mjg6MzgpOgp+IyEgcm49R25vbWUgcnQ9MTA0ODg1NzY4MiByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CldhcmVuIGRhcyB3aXJrbGljaCBTY3Vkcz8gSWNoIGhhYiBhbSBUYWcgZGVzIEVpbnNjaGxhZ2VzIG51ciBHZXJ1ZWNodGUKZ2Vob2VydCwga2FubiBtaWNoIGFuIGtlaW5lIEJlc3RhZXRpZ3VuZyBlcmlubmVybi4gQWJlciBpY2ggdmVyZm9sZ2UgZGFzCkdlc2NoZWhlbiBhdWNoIG5pY2h0IDI0aC9UYWcuCkRpZSBJbnNwZWt0b3JlbiBzaW5kIGphIG5pY2h0IGVpbmZhY2ggdm9uIFR1ZXIgenUgVHVlciBnZWxhdWZlbi4gSGV1dGlnZQpTYXRlbGxpdGVuYmlsZGVyIHNpbmQgcmVjaHQgdGF1Z2xpY2guIEVzIGdpYnQgR2VoZWltZGllbnN0ZSwgZGllIGRlbgpJbnNwZWt0b3JlbiBlaW4gcGFhciBUaXBzIGdlYmVuIGtvZW5uZW4uIAoKTmFqYSwgdW5kIGRpZSBBcmd1bWVudGF0aW9uICJ3aXIgaGFiZW4gbmljaHRzIGdlZnVuZGVuL2ZpbmRlbiBrb2VubmVuLCBkYWhlcgpnZWhlbiB3aXIgZGF2b24gYXVzIGRhc3MgZXIgd2FzIGhhdCIgaXN0IGRlcm1hc3NlbiBkYW5lYmVuLCBkYXNzIGljaCBkYXp1CmVpZ2VudGxpY2ggbmljaHRzIG1laHIgc2FnZW4ga2Fubi4gRGEgZmVobHQgZGVyIGdlbWVpbnNhbWUgQm9kZW4KcmVjaHRzdGFhdGxpY2hlbiBWZXJzdGFlbmRuaXNzZXMsIGF1ZiBkZW0gbWFuIGRpc2t1dGllcmVuIGtvZW5udGUuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRnJpZW5kZW5za2V0dGUgKFZhcmRpb24sIDI4LiBNYXIgMjAwMywgMTQ6NTA6MjcpOgp+IyEgcm49R25vbWUgcnQ9MTA0ODg1NzY4MiByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5Cj5kaWUgc2N1ZC1yYWtldGVuLCBkaWUgYW5mYW5nIGRlcyBrcmllZ2VzIGltIG5vcmRlbiBrdXdhaXRzIGVpbmdlc2NobGFnZW4uLi4KClNvd2VpdCBpY2ggZ2Vob2VydCBoYWJlLCB3YXJlbiBkYXMga2VpbmUgU2N1ZHMuIFdhcnVtIHNvbGx0ZSBkZXIgSXJhayBhdWNoClNjdWRzIG1pdCA+IDUwMGttIFJlaWNod2VpdGUgYmVudXR6ZW4sIHdlbm4gZXIgS3V3YWl0IG1pdCBzZWluZW4gZXJsYXVidGVuCjE1MGVyLVJha2V0ZW4gYmVzY2hpZXNzZW4ga2Fubi4uLgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEZyaWVuZGVuc2tldHRlIChPcmt0b2V0ZXIsIDI4LiBNYXIgMjAwMywgMTU6MzU6NDEpOgp+IyEgcm49RWxiZXJldCBydD0xMDQ4ODU3ODkzIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKRGFzIGdlaHQgZGEgZWluIGxpZWJlciBFbGJlcmV0IHdvIGFsbGUgenVzY2hhdWVuIHdpZSBkZXIgTWFlY2h0aWdlIGRlbgpCb2VzZXdpY2h0IGVpbnNwZXJydCB1bmQgZGFzIGVpbmZhY2ggc28gYWt6ZXB0aWVydCB3aXJkLiBEYW5uIGlzdCBlcyBuYWVtbGljaAphdXMgdW5kIHZvcmJlaSBtaXQgZGVtIHNjaG9lbmVuIFJlY2h0c3N0YWF0LCBhYmVyIG11c3MgaWNoIGRpciBkYXMgd2lya2xpY2gKZXJzdCBub2NoIHNvIEhhYXJrbGVpbiBlcmtsYWVyZW4/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEZyaWVuZGVuc2tldHRlIChFbGJlcmV0LCAyOC4gTWFyIDIwMDMsIDE1OjM3OjMzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDQ4ODYyMTQxIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKdW5kIGhhYmVuIHdpciBlaW5lbiByZWNodHNzdGFhdD8gaGFiZW4gZGllIGFtZXJpa2FuZXIgZWluZW4/IAoKRWxiaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRnJpZW5kZW5za2V0dGUgKEJhbWJ1bGtvLCAyOC4gTWFyIDIwMDMsIDE1OjM5OjQ3KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDQ4Nzk0NTc3IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKV2lyIGtvZW5uZW4gbnVyIG5vY2ggYmVpIFRvdGFsIEZpbmEgRWxmIHRhbmtlbiA6LSkKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRnJpZW5kZW5za2V0dGUgKEJhbWJ1bGtvLCAyOC4gTWFyIDIwMDMsIDE1OjQ5OjU2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDQ4ODU4MTE4IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKTGF1dCBBUkQgZ2lidCBlcyB2ZXJzY2hpZWRlbmUgVHlwZW4gdm9uIFNDVURTLiBEaWUgZGllIGluIEt1d2VpdCBlaW5nZXNjaGFsZ2VuCnNlaW4gc29sbGVuIHdhcmVuIGF1Y2ggdW50ZXIgZGVtIE5hbWVuICdBbC1TYW11ZC0yJyBiZWthbm50IChnZW5hdSBkaWUsIHZvbgpkZW5lbiBlaW5pZ2Ugd2VpdGVyIGFscyAxNTBrbSBmbGllZ2VuKSwgdW5kIGRpZSB3dXJkZW4gZ2VyYWRlIHplcnN0b2VydC4gCgpXZW5uIGljaCBlaW5lcyBpbiBkZW4gbGV0enRlbiBUYWdlbiBnZWxlcm50IGhhYmUsIGlzdCBlcyBkYXNzIGRpZSBQcm9wYWdhbmRhCmRlciAnQ29hbGl0aW9uIEZvcmNlcycgZ2VuYXVzbyB1bmdsYXVid3VlcmRpZyBpc3Qgd2llIGRpZSBkZXMgSXJhay4gRGFzIGJlc3RlCkJlaXNwaWVsIHNpbmQgZGllIGxhdXQgQmxhaXIgJ2hpbmdlcmljaHRldGVuIGJyaXRpc2NoZW4gUE9XJywgb2J3b2hsIGRlcmVuCkthbWVyYWRlbiBzY2h3b2VyZW4sIGRhc3Mgc2llIGltIEthbXBmIGdlZmFsbGVuIHNpbmQuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRnJpZW5kZW5za2V0dGUgKEdyaW1tYm9ybiwgMjguIE1hciAyMDAzLCAxNTo1OToxNSk6Cn4jISBybj1CYW1idWxrbyBydD0xMDQ4ODYyMzg3IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKPiBXaXIga29lbm5lbiBudXIgbm9jaCBiZWkgVG90YWwgRmluYSBFbGYgdGFua2VuIDotKQpJY2ggc2FnIGphIGltbWVyOiBUcmF1ZSBrZWluZW4gRWxmZW4hCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBGcmllbmRlbnNrZXR0ZSAoQ2FkcmFjaCwgMjguIE1hciAyMDAzLCAxODowMzozMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTA0ODg1MDgwNyByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5ClNvcnJ5IGFiZXIgZGVyIFZlcmdsZWljaCBpcyBhYnNvbHV0IGhpcm5yaXNzaWcgT3JrdG9ldGVyLgpXZW5uIER1IHNjaG9uIGdlcm4gZWluZW4gVmVyZ2xlaWNoIGhhYmVuIHdpbGxzdCwgZGFubiBoYWIgaWNoIGF1Y2ggZWluZW46CkVpbiBEaWViIHdpcmQgYmVpbSBrbGF1ZW4gZXJ3aXNjaHQgdW5kIG1hbiB3ZWlzcyBzb2dhciBnYW56IGdlbmF1IHdhcyBlcgpnZWtsYXV0IGhhdCB1bmQgZXIgZ2VzdGVodCBkaWVzIGluIHNlaW5lciBHZXJpY2h0c3ZlcmhhbmRsdW5nLgpUZWlsIGRlcyBVcnRlaWxzIGlzdCBlcywgZGFzIGRlciBEaWViIGFsbGVzIERpZWJlc2d1dCB6dXJ1ZWNrZ2ViZW4gbXVzcy4gRGFzCnR1dCBlciBhYmVyIG5pY2h0IHVuZCBudW4gbXVzcyBtYW4gaWhtIGJld2Vpc2VuLCBkYXMgZXIgZGllIFNhY2hlbiBuaWNodAp6dXJ1ZWNrZ2VnZWJlbiBoYXQ/IFF1YXJrLCBlciBtdXNzIGRlbSBSaWNodGVyIEJld2Vpc2Ugdm9ybGVnZW4sIGRhcyBlciBhbGxlcwpEaWViZXNndXQgYW4gZGVuIEVpZ2VudHVlbWVyIHp1cnVlY2sgZ2VnZWJlbiBoYXQuCgpNYW4gd2Vpc3Mgdm9uIGJlc3RpbW10ZW4gTWVuZ2VuIGFuIENoZW1pc2NoZW4gdW5kIEJpb2xvZ2lzY2hlbiBXYWZmZW4gc293aWUKU2N1cnJha3RlbiBkaWUgZGVyIElyYWsgYmVzZXNzZW4gaGF0IChkaWUgaGFiZW4gZGllIEluc3Bla3RvcmVuIG5hY2ggZGVtIDEuCkdvbGZrcmllZyBnZXNlaGVuKS4gQXVzIEVyZmFocnVuZ2VuIGRlciBSdXNzZW4gdW5kIEFtZXJpa2FuZXIgd2Vpc3MgbWFuLCBkYXMKZXMgbmljaHQgZ2FueiBlaW5mYWNoIGlzdCBCIHVuZCBDIFdhZmZlbiB6dSBlbnRzb3JnZW4uIEZ1ZXIgZGVuIElyYWsgd2FyIGRhcwphYmVyIHNvIGZ1cmNodGJhciBlaW5mYWNoIGRhcyBlciBhKSBuaWNodCBtZWhyIHdlaXNzIFdPIGIpIG5pY2h0IG1laHIgd2Vpc3MKV0lFIHVuZCBjKSBuaWNodCBtZWhyIHdlaXNzIHZvbiBXRU0gZGllIFdhZmZlbiBiZXNlaXRpZ3Qgd3VyZGVuLiBTb3JyeSBhYmVyCmRhcyBpc3QgYWJzb2x1dCB1bmdsYXVid3VlcmRpZy4KCkRpZSBJcmFrZXIgaGFiZW4gZXJzdCBhbmdlZmFuZ2VuIHp1IGtvb3BlcmllcmVuIGFscyBkaWUgQXJtZWVzdGFlcmtlIGRldXRsaWNoCmF1ZiBkaWUgMTAwLjAwMCB6dWdpbmcsIGdsYXVic3QgRHUgaW0gRXJuc3QgZGllIEFtZXJpa2FuZXIgbGFzc2VuIGVpbmUgQXJtZWUKZGllc2VyIEdyb2Vzc2UgZWluZmFjaCBzbyAxLTIgSmFocmUgaW4gS3V3YWl0IHN0YXRpb25pZXJ0IGRhbWl0IFNhZGRhbSBuaWNodAp3aWVkZXIoISkgYXVmaG9lcnQgenUga29vcGVyaWVyZW4uCgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEZyaWVuZGVuc2tldHRlIChPcmt0b2V0ZXIsIDI4LiBNYXIgMjAwMywgMTg6MTQ6MjYpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODcxMDEyIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKSmEgdW5kIHdlbm4gaWNoIGRlaW4gQmVpc3BpZWwgbmVobWUsIGRhbm4gZ2lidCBlcyBkYSBlaW5lIFN0cmFma2FtbWVyIGF1cwptZWhyZXJlbiBSaWNodGVybiBkaWUgZGFydWViZXIgenUgZW50c2NoZWlkZW4gaGFiZW4gb2IgZGVyIERpZWIgbnVuIGFsbGVzCnp1cnVlY2tnZWdlYmVuZSBoYXQgb2RlciBuaWNodC4gVW0gZGFzIHp1IGtsYWVyZW4gYmVhdWZ0cmFnZW4gZGllc2UgUmljaHRlcgpFeHBlcnRlbiBkYXMgenUgdW50ZXJzdWNoZW4uIERpZXNlIHNpbmQgenVnYW5nZSB1bmQgZWluZXIgZGVyIFJpY2h0ZXIgc2FndDoKSWNoIHdlaXMgZWggZGFzIGRlciBuaWNodCBhbGxlcyB6dXJ1ZWNrZ2VnZWJuIGhhdCB1bmQgZGFzIGVyIGVpbmVuIFRlaWwgZGVyClNhY2hlbiB6dXJ1ZWNrZ2VnZWJlbiBoYXQgaXN0IGRlciBiZXN0ZSBCZXdlaXMgZGFzIGVyIG5pY2h0IGFsbGVzCnp1cnVlY2tnZWdlYmVuIGhhdC4gVW5kIGRhbm4gc2NoaWNrdCBlciBhbGxlaW5lIGRlbiBEaWViIGluIGRlbiBLbmFzdCBvYndvaGwKZGllIG1laHJoZWl0IGRlciBhbmRlcmVuIFJpY2h0ZXIgZGFnZWdlbiBpc3QuCgpXZW5uIHdpciBzY2hvbiBiZWkgZGVpbmVtIEJlaXNwaWVsIGJsZWliZW4sIGRhbm4gbGllcyB1bmQgaW50ZXJwcmV0aWVyIGVzIGF1Y2gKbWFsIHJpY2h0aWcuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEZyaWVuZGVuc2tldHRlIChDYWRyYWNoLCAyOC4gTWFyIDIwMDMsIDE4OjIyOjM5KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDQ4ODcxNjY2IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKRGFubiBsaWVzIG1hbCBkZW4gQmxpeHJlcG9ydCByaWNodGlnIE9ya3RvZXRlci4KQmxpeCBoYXQgZ2xhdWIgaWNoIGluIGtlaW5lbSBzZWluZXIgQmVyaWNodGUgaXJnZW5kd2VsY2hlIFp3ZWlmZWwgZGFyYW4KYXVma29tbWVuIGxhc3NlbiwgZGFzIGRhcyBJcmFrZXIgUmVnaW1lIF9uaWNodF8gdm9sbHN0YWVuZGlnIGtvb3BlcmllcnQgaGF0LgpJbnNiZXNvbmRlciBoYXQgZXIgZGllcyBhdWNoIG5hY2ggVmVyYWJzY2hpZWR1bmcgZGVyIFJlc29sdXRpb24gMTQ0MSBuaWNodApnZXRhbiwgc29uZGVybiBlcnN0IGFscyBkaWUgQW1lcmlrYW5lciBpaHJlIEFybWVlIGJlcmVpdHMgaGFiZW4gYXVmbWFyc2NoaWVyZW4KbGFzc2VuLiBEYXMgZXIgZGllIEV4cGVydGVuIGFuZmFuZyBkZXIgOTBlciBlcnN0bWFsIGZha3Rpc2NoIHZvbiBkZXIgQXJiZWl0CmFiZ2VoYWx0ZW4gaGF0IHVudGVyc2NobGFnZSBpY2ggaGllcmJlaSBtYWwuCgoKQ2FkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IEZyaWVuZGVuc2tldHRlIChPcmt0b2V0ZXIsIDI4LiBNYXIgMjAwMywgMTg6MzA6MDkpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODcyMTU5IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKRXJzdGVucyBzYWd0IEJsaXggYWJlciBhdWNoIGhldXRlIG5vY2ggZGFzIG1hbiBpaG0gdW5kIGRlbiBJbnNwZWt0ZXVyZW4gbWVocgpaZWl0IGhhZXR0ZSBnZWJlbiBzb2xsZW4uIFp3ZWl0ZW5zIHdpbGxzdCBkdSBzY2hlaW5iYXIgbmljaHQgc2VoZW4gZGFzIGRhIHVtCmJlaSBkZW0gdm9uIGRpciBnZXdhZWhsdGVuIEJlaXNwaWVsIHp1IGJsZWliZW4gZWluIGVpbnplbG5lciBSaWNodGVyIHNpY2gKdWViZXIgYWxsZSBzZWluZSBLb2xsZWdlbiBoaW53ZWdnZXNldHp0IGhhdC4gV28gaGF0IGRhcyBiaXR0ZXNjaG9lbiBub2NoIGV0d2FzCm1pdCBSZWNodCB6dSB0dW4/IApEYW5uIGthbm4gbWFuIGphIGplZGVuIEtyaWVnIGluIFp1a3VuZnQgZGFtaXQgcmVjaHRmZXJ0aWdlbiBkYXMgbWFuIHNpY2ggbm9jaApnZW5hdSBlcmlubmVybiBrYW5uLCBkYXMgaW4gZGVyIFN0ZWluemVpdCBkZXIgZWlnZW5lbiBTaXBwZSB2b24gZWluZXIgYW5kZXJlbgpTaXBwZSAoZGllIG1hbiBnZXJhZGUgYW5ncmVpZnQpIHVlYmVsIG1pdGdlc3BpZWx0IHd1cmRlIHVuZCBkYXNzIGRhcyBkYW1hbHMKZ2FyIG5pY2h0IGJlZW5kZXQgd3VyZGUuIAoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBGcmllbmRlbnNrZXR0ZSAoRmVsaXgsIDI4LiBNYXIgMjAwMywgMTg6NDg6NDQpOgp+IyEgcm49Q2FkcmFjaCBydD0xMDQ4ODcyMTU5IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKSGFsbG8gQ2FkcmFjaCwKCmxpZXMgZG9jaCBiaXR0ZSwgd2FzIE1yIEJsaXggZGF6dSBoZXV0ZSBzYWd0LiBJc3Qgd2lya2xpY2ggaW50ZXJlc3NhbnQgLi4uCnd3dy5zcGllZ2VsLmRlL3BvbGl0aWsvYXVzbGFuZC8wLDE1MTgsMjQyMzg1LDAwLmh0bWwKd3d3Lmd1YXJkaWFuLmNvLnVrL0lyYXEvU3RvcnkvMCwyNzYzLDkyNDM4NywwMC5odG1sCgpGZWxpeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IEZyaWVuZGVuc2tldHRlIChHcmltbWJvcm4sIDI4LiBNYXIgMjAwMywgMjA6MzU6MDgpOgp+IyEgcm49RmVsaXggcnQ9MTA0ODg3MzcyNCByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5Ck51biBicmluZyBoaWVyIGJpdHRlIG5pY2h0IFBhKiBkdXJjaCBkZW4gSGlud2VpcyBhdWYgRmFrdGVuIHp1bSBTY2h3ZWlnZW4uIEljaApmaW5kZSBzZWluZSBha3R1ZWxsZSBBcmd1bWVudGF0aW9uICJTYWRkYW0gaGF0IGRpZSBBbWlzIGdlend1bmdlbiAxMDAuMDAwClNvbGRhdGVuIGF1Znp1ZmFocmVuLCB1bmQgd28gZGllIHNjaG9ubWFsIGRhIHdhcmVuIG11c3N0ZW4gc2llIGphIGF1Y2ggZ2VudXR6dAp3ZXJkZW4iIHppZW1saWNoIHZpZWx2ZXJzcHJlY2hlbmQuIApFcyBpc3QgamEgbmljaHQgc28gZGFzcyBoaWVyIGJlc3RyaXR0ZW4gd3VlcmRlIGRhc3MgSGVyciBIdXNzZWluIERyZWNrIGFtClN0ZWNrZW4gaGF0dGUgdW5kIGhhdCwgb2RlciBiZWhhdXB0ZXQgd3VlcmRlIGRhc3MgZXIgZWluIHdhaHJoZWl0c2xpZWJlbmRlcwpVbnNjaHVsZHNsYW1tIHdhZXJlLiBFcyBnZWh0IG5vY2ggbmljaHRtYWwgdW0gZGllIEZyYWdlIG9iIGRhcyBhbiBzaWNoIGFscwpLcmllZ3NncnVuZCBhdXNyZWljaGVuIHd1ZXJkZSBvZGVyIG5pY2h0IChtZWluZXIgTWVpbnVuZyBuYWNoIG5vY2ggbGFuZ2UKbmljaHQsIGFiZXIgd2VkZXIgSGVyciBBbm5hbiBub2NoIE1pc3RlciBCdXNoIGhhYmVuIG1pY2ggZ2VmcmFndCkuIERpZSBGcmFnZQppc3QgZWluemlnIHVuZCBhbGxlaW46ICJnZWhvZXJ0IHNpY2ggZGFzIGZ1ZXIgZWluIExhbmQgdm9uIGRlciBCZWRldXR1bmcgdW5kCmRlbSBTZWxic3RhbnNwcnVjaCBkZXIgVVNBIGRlcm1hc3NlbiBkaWUgTWVjaGFuaXNtZW4gZGVyIFVOIHp1IG1pc3NhY2h0ZW4gdW5kCnNpY2ggc2VsYnN0Z2VmYWVsbGlnIHVlYmVyIGRlbiBSZXN0IGRlciBXZWx0IGhpbndlZ3p1c2V0emVuLiIgT2ZmZW5iYXIgaXN0ClBhKidzIEFudHdvcnQgZWluZSBhbmRlcmUgYWxzIHouQi4gbWVpbmUuIFdpciBoYWJlbiBpbiBkaWVzZW0gTGFuZCB1bmQgaW4KZGllc2VtIE11ZCBNZWludW5nc2ZyZWloZWl0LCBqZWRlciBkYXJmIHNpY2ggc28gd2VpdCBkaXNrcmVkaXRpZXJlbiB3aWUgZXIKd2lsbC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEZyaWVuZGVuc2tldHRlIChQYXRyeW4sIDI4LiBNYXIgMjAwMywgMjE6MDE6MzEpOgp+IyEgcm49R25vbWUgcnQ9MTA0ODg1NzY4MiByZz13d3cKfiMhIHRpZD0xMDQ4Nzc1MDM5CkRlbiBlaW5nZXNjaGxhZ2VuZW4gU2N1ZC1SYWtldGVuIGdsYXViZSBpY2ggZXJzdCB3ZW5uIHNpZSBtaXIgZGF2b24KVGVpbGUgdm9yd2Vpc2VuLiBEZXIgU3BpZWdlbCBpc3QgendhciBldHdhcyB1ZWJlcmtyaXRpc2NoLCBhYmVyIG1hbCBmdWVyCmVpbmUgYW5kZXJlIFNpY2h0d2Vpc2U6CiBodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9hdXNsYW5kLzAsMTUxOCwyNDI0MjQsMDAuaHRtbAoKVW5kIGF1Y2ggZGllIHZpZWxlbiB0b2xsZW4gUGF0cmlvdC1BYnNjaHVlc3NlLCBoZXJyZ290dCwgamVkZXIgaW0gQnVuZCB3ZWlzcywKZGFzcyBkYW1pdCBrZWluIEJsdW1lbnRvcGYgenUgdHJlZmZlbiBpc3QuCk5hdHVlcmxpY2ggaXN0IGRhcyB1ZWJlcnRyaWViZW4sIGFiZXIgUmFrZXRlbiBhYnp1c2NoaWVzc2VuIGlzdCByZWNodApzY2h3aWVyaWcsIGluIElzcmFlbCBoYWJlbiBkaWUgZGFtYWxzIG5pY2h0IGVpbmUgZWluemlnZSBTY3VkIGdldHJvZmZlbi4KRGFmdWVyIGRhc3Mgbml4IGFtIFN5c3RlbSBnZW1hY2h0IHd1cmRlLCBoYWJlbiBkaWUgamV0enQgbmUgZXJzdGF1bmxpY2hlClF1b3RlLiBJY2ggZ2xhdWIgZGVyIEF0bGFzLU5hY2hmb2xnZXIgZGVyIEFtaXMgdHV0IGVuZGxpY2ggZGFzLCB3YXMKZGllIHp1ciBCZXJ1aGlndW5nIGRlciBMZXV0ZSBhbmdlc2NoYWZmdGVuIFBhdHJpb3RzIHR1biBzb2xsZW4uCkVpZ2VudGxpY2ggbWFjaGVuIGRpZSBtZWhyIFNjaGFkZW4gYWxzIE51dHplbi4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBGcmllbmRlbnNrZXR0ZSAoT3JrdG9ldGVyLCAyOC4gTWFyIDIwMDMsIDIxOjAzOjA3KToKfiMhIHJuPVBhdHJ5biBydD0xMDQ4ODgxNjkxIHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKWnVtIEFic2NodXNzIGVpbmVzIFRvcm5hZG9zIGhhdHMgaW1tZXJoaW4gZ2VyZWljaHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBGcmllbmRlbnNrZXR0ZSAoUGF0cnluLCAyOC4gTWFyIDIwMDMsIDIxOjA0OjIxKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMDQ4ODgxNzg3IHJnPXd3dwp+IyEgdGlkPTEwNDg3NzUwMzkKRmx1Z3pldWdlIGthbm4gbWFuIHNjaG9uIHNlaXQgMzAgSmFocmVuIG1pdCBSYWtldGVuIGFiZmFuZ2VuLCBkYWZ1ZXIKYnJhdWNodGUgbWFuIGtlaW5lIE1pbGxpb25lbnRldXJlbiBQYXRyaW90cywgZ2xhdWIgbWlyLCBpY2ggc2NocmllYiBqYSwKUmFrZXRlbiBhYnNjaGllc3NlbiBpc3QgKGVpZ2VudGxpY2ggbG9naXNjaCkgbmVuIGdhbnogYW5kZXJlcyBLYWxpYmVyLgoKLS0gCnBhdHJ5biwgaGFzc3QgZXMgbWFuY2hlbiBMZXV0ZW4gamVkZW4gR2VkYW5rZW4gaGludGVyaGVydHJhZ2VuIHp1IG11ZXNzZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBGcmllbmRlbnNrZXR0ZSAoTW9udGFudXMsIDI4LiBNYXIgMjAwMywgMjM6Mjg6NTgpOgp+IyEgcm49UGF0cnluIHJ0PTEwNDg4ODE4NjEgcmc9d3d3Cn4jISB0aWQ9MTA0ODc3NTAzOQpJY2ggaGFiIGRhcyBnZWZ1ZWhsLCBQYWRyZWljIHdpbGwgbmV1ZXIgUHJha3Rpa2FudCBiZWkgR2VvcmdlIFcuIHdlcmRlbi4KU296dXNhZ2VuIGRhcyB3ZXN0ZGV1dHNjaGUgR2VnZW5zdHVlY2sgenUgQW5nZWwgIkEiIE1lcmtlbC4KQWJlciB6aWVoIG5pY2h0IGRlaW4gYmVzdGVzIGJsYXVlcyBLbGVpZCBhbiwgU3Vlc3NlciEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG5lbGxlciBzdXJmZW4gZGFuayBSREQ/IChTY2hva28sICAxLiBBcHIgMjAwMywgMTM6MTE6NDEpOgoKaHR0cDovL3d3dy5zd3IzLmRlL3N0YXJ0cGFnZS9pbmRleC5odG1sPy9pbmZvL21hZ2F6aW4vZXh0cmEzL3JhZGlvZG93bmxvYWQKCkRlciB1bHRpbWF0aXZlIEtudWVsbGVyCgpTY2hva28gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkViYXkgOi0pIChCYW1idWxrbywgIDIuIEFwciAyMDAzLCAxMzoyNToxNik6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzIxNTMyNzg2MSZjYXRlZ29yeT0zNzQwMwoKU2NodXR6IGZ1ZXIgZXVyZSBHZWRhbmtlbiA6LSkKCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWnVyIGFrdHVlbGxlbiBXZWx0bGFnZS4uLiAoSHVtbmksICAzLiBBcHIgMjAwMywgMTE6Mzk6NTQpOgp3d3cua2FybC1lc3Nlci5kZQoKU2NoYXV0IG1hbCB1bnRlciBSZWZlcmVuemVuLCB3YXMgZGVyIGd1dGUgTWFubiBnZWJhdXQgaGF0Li4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGFzZXItU3BpZWxjaGVuIChNb3Jnb3RoLCAgOS4gQXByIDIwMDMsIDEzOjQ3OjQ2KToKRGEgaXN0IGVzIHdpZWRlciAqaHVlcGYqLiBGdWVyIGRlbiBTcGllbHNwYXNzIHdpcmQgRmxhc2g1IGJlbm9ldGlndC4KaHR0cDovL3d3dy5pbnB1dC1lbnRlcnRhaW5tZW50LmRlL2xhc2VyL2xhc2VyLmh0bWwKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXNjaGlnIChBbnRoZWEsICA5LiBBcHIgMjAwMywgMTQ6NTE6MTUpOgpodHRwOi8vd3d3LnN0b3Blc3NvLmNvbS9mdW5zdHVmZi9ub3NlLmh0bWwKaHR0cDovL3d3dy5ncmFkaXMubmV0L1hyYXkveHJheS5zd2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYXNlci1TcGllbGNoZW4gKFBob2JvcywgIDkuIEFwciAyMDAzLCAxODozMjozMSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNDk4ODg4NjYgcmc9d3d3Cn4jISB0aWQ9MTA0OTg4ODg2NgpVbmQgd2VyIGRhbWl0IGR1cmNoIGlzdCwgZmluZGV0IHVudGVyIHd3dy5zaWx2ZXJzcGFjZXNoaXAuY29tCm5vY2ggNTAgbmV1ZSBMZXZlbHMgKENocm9tYXRyb24gMSBpc3QgRnJlZXdhcmUpLgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCT0ZILXN0eWxlIGV4Y3VzZXMgKFdoaXRldGlnZXIsICA5LiBBcHIgMjAwMywgMTk6NTk6MjMpOgpodHRwOi8vY2dpLmNzLndpc2MuZWR1L3NjcmlwdHMvYmFsbGFyZC9ib2Zoc2VydmVyLnBsCi0tIFNlaHIgenUgZW1wZmVobGVuIGZ1ZXIgU3lzYWRtaW5zIDspCi0tIFdoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYW50cml4IChaZXBoeXIsIDEwLiBBcHIgMjAwMywgMjI6NTU6MDIpOgpIaWhvIQoKV2VubiBpaHIgYWxsZSBzbyB2aWVsIEx1c3QgYXVmIGF1c3Nlcm11ZGRlbGlnZSBTdWVjaHRlIGhhYnQsCnNjaGF1dCBkb2NoIG1hbCBiZWkgd3d3LnRhbnRyaXguY29tIHJlaW4gOykKCiprbnVkZGVscyoKQzQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYW50cml4IChCb2luZywgMTEuIEFwciAyMDAzLCAxMDoyMzowNCk6Cn4jISBybj1aZXBoeXIgcnQ9MTA1MDAwODEwMiByZz13d3cKfiMhIHRpZD0xMDUwMDA4MTAyCkdlaGVuIERpciBkaWUgT3BmZXIgYXVzIG9kZXIgd2FzPyA6KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgplQmF5IG1hbCB3aWVkZXIgKEFudGhlYSwgMTUuIEFwciAyMDAzLCAxMTo1OTowOSk6CkludGVyZXNzYW50LCB3YXMgZGllIExldXRlIHNvIGFuYmlldGVuLgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTM0MTM0NzI0NTcmY2F0ZWdvcnk9MTY4CkxhdXQgQmVzY2hyZWlidW5nIGVpbmUgV0QsIGxhdXQgQmlsZCBlaW5lIGdlb2VmZm5ldGUgRnVqaXRzdS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZOT1JEIChXaGl0ZXRpZ2VyLCAxOC4gQXByIDIwMDMsIDE3OjE5OjIyKToKR2FiIGRvY2ggbWFsIGhpZXIgamVtYW5kZW4gZGVyIGZyYWd0ZSB3YXMgRk5PUkQgZWlnZW50bGljaCBpc3Q6Cmh0dHA6Ly93d3cuZm5vcmQub3JnL29jY3VsdC9kaXNjb3JkaWEvdGV4dC93aGF0LmlzLmZub3JkClVuZCBmdWVyIGVpbiBldHdhcyBhbmRlcmVzIE1vbm9wb2x5OgpodHRwOi8vd3d3LmZub3JkLm9yZy9vY2N1bHQvaWxsdW1pbmF0aS9pbGx1bWlub3BvbHkKCi0tIFdoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXJhb2tlOiBNZXRhbCB6dW0gTWl0c2luZ2VuISAoQXBvcGhpcywgMjMuIEFwciAyMDAzLCAxOToxMDo1Nyk6CkZsYXNoIHVuZCBTb3VuZGthcnRlIGJlbm9ldGlndDoKIGh0dHA6Ly93d3cuZHIuZGsvc2t1bS9jaWdhcmZhci9ncm93bC5hc3AKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXJhb2tlOiBNZXRhbCB6dW0gTWl0c2luZ2VuISAoQ3JvZnQsIDIzLiBBcHIgMjAwMywgMjM6NDM6MDkpOgp+IyEgcm49QXBvcGhpcyBydD0xMDUxMTE3ODU3IHJnPXd3dwp+IyEgdGlkPTEwNTExMTc4NTcKTWVya2U6IE1lZ2FzY2htYXJybmxlc2VyIHdpc3NlbiBtZWhyICh1bmQgZnJ1ZWhlciAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJQ0g/IE5pZW1hbHMhIEljaCBrYW5uIGplZGVyemVpdC4uLiAoTm9ubmUsIDI0LiBBcHIgMjAwMywgMDk6MjQ6MDMpOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9zZWUtMjMuMDQuMDMtMDAwLwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZWFyIFBlbmlzIChGU0sgMTggOi0pICkgKEFyZWVsYW5pciwgMjQuIEFwciAyMDAzLCAxNzo1MTo0Nik6Cmh0dHA6Ly93d3cucm9kbmV5Y2FycmluZ3Rvbi5jb20vZGVhcnBlbmlzLmh0bQoKRGFzIGlzdCBtYWwgZWNodCBsdXN0aWcgKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVhciBQZW5pcyAoRlNLIDE4IDotKSApIChQYXRyeW4sIDI0LiBBcHIgMjAwMywgMTg6NDE6MzkpOgp+IyEgcm49QXJlZWxhbmlyIHJ0PTEwNTExOTk1MDYgcmc9d3d3Cn4jISB0aWQ9MTA1MTE5OTUwNgpEYSBnZWh0cyBqYSBub2NoIHp1IHdlaXRlcmVuIHRvbGxlbiBTYWNoZW4gOikKIGh0dHA6Ly9tZWRpYXBpY2tsZS5jb20vb25laGFuZGVkLmh0bQoKLS0gCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaW1tZXIgd2llZGVyIGx1c3RpZyAoU2t5LCAgMi4gTWFpIDIwMDMsIDAyOjM1OjIxKToKaHR0cDovL3d3dy5tb3ZpZXF1b3Rlcy5kZS9xdW90ZXMvTGViZW5EZXNCcmlhbi9MZWJlbkRlc0JyaWFuLUNsZWVzZStDaGFwbWFuK1BhCmxpbi1Qb250aXVzUGlsYXRpdXMubXAzIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGltbWVyIHdpZWRlciBsdXN0aWcgKEdyaW1tYm9ybiwgIDIuIE1haSAyMDAzLCAwOTo0MToyMSk6Cn4jISBybj1Ta3kgcnQ9MTA1MTgzNTcyMSByZz13d3cKfiMhIHRpZD0xMDUxODM1NzIxClRoZSByZXF1ZXN0ZWQgVVJMCi9xdW90ZXMvTGViZW5EZXNCcmlhbi9MZWJlbkRlc0JyaWFuLUNsZWVzZStDaGFwbWFuK1BsaW4tUG9udGl1c1BpbGF0aXVzLm1wMwp3YXMgbm90IGZvdW5kIG9uIHRoaXMgc2VydmVyLiAKSmEsIHdpcmtsaWNoIHRvdGFsIGx1c3RpZy4gSW1tZXIgd2llZGVyLgoKVW5kIGljaCBoYWIgYXVjaCBub2NoIGVpbmUgVVJMOgpodHRwOi8vY2dpLmViYXkuY29tL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0mY2F0ZWdvcnk9MjU2MTgmaXRlbT0yMzE5MTY1NzU4JnIKZD0xCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaW1tZXIgd2llZGVyIGx1c3RpZyAoQW50aGVhLCAgMi4gTWFpIDIwMDMsIDEwOjUyOjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDUxODYxMjgxIHJnPXd3dwp+IyEgdGlkPTEwNTE4MzU3MjEKSWNoIGdsYXViLCBkdSBoYXN0IGF1Y2ggYXVzIGRlbSAiUGFsaW4iIGVpbiAiUGxpbiIgZ2VtYWNodC4gRGFubiBpc3QgZXMga2xhciwKZGFzcyBlciBzaWNoIHdlaWdlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBpbW1lciB3aWVkZXIgbHVzdGlnIChDcm9mdCwgIDIuIE1haSAyMDAzLCAxMDo1MzowMCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA1MTg2NTUyOCByZz13d3cKfiMhIHRpZD0xMDUxODM1NzIxCkMmUCB3aWxsIGdlbGVybnQgc2VpbiA6PgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaW1tZXIgd2llZGVyIGx1c3RpZyAoU2t5LCAgMy4gTWFpIDIwMDMsIDAxOjEzOjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDUxODYxMjgxIHJnPXd3dwp+IyEgdGlkPTEwNTE4MzU3MjEKV2VubiBkdSBkYXMgZWluZ2VnZWJlbiBoYXN0IHdhcyBkdSBxdW90ZXN0LCBkYW5uIGlzdCBlcyBrZWluIFd1bmRlciBkYXMgbml4CmdlZnVuZGVuIHdpcmQuCkFiZXIgSGF1cHRzYWNoZSBlcnN0IG1hbCBkdW1tIHJ1bW1hdWxlbi4KTmljaHQgbnVyIGRpZSBGb3JtLCBhdWNoIGRlciBJbmhhbHQgbXVzcyBzdGltbWVuLgpLYW5uc3QgZW50d2VkZXIgZGVuIEFydGlrZWwgbm9jaG1hbCBsZXNlbiAoc29mZXJuIGVzIGRpciBtb2VnbGljaCBzZWluIHNvbGx0ZSkKdW5kIGRlbiByaWNodGlnZW4gKGtvbXBsZXR0ZW4pIExpbmsgYmVudXR6ZW4gb2RlciBlcyBsYXNzZW4gLgoKTWlyIGlzdCBkYXMgc28gemllbWxpY2ggV2F5bmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXJ2aWdlIFNlaXRlIChUYW5nYWx1ciwgIDYuIE1haSAyMDAzLCAwOTowMDo0MCk6Cmh0dHA6Ly93d3cuZnRob2RlLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VyZmVuIGF1ZiBkZW0gTG9jdXMgKEFudGhlYSwgIDcuIE1haSAyMDAzLCAwOTo0NToxOCk6Cmh0dHA6Ly93d3cuY2hpcC5kZS9uZXdzL2NfbmV3c18xMDQ2MjEzNS5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXNldHplIChLZWtzLCAgNy4gTWFpIDIwMDMsIDIwOjA0OjQ3KToKaHR0cDovL3d3dy5neW1pYncucnYuYncuc2NodWxlLmRlL2Zsb3JpYW4vZ2VzZXR6ZS5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXNldHplIChBbWFyeWxsaXMsICA3LiBNYWkgMjAwMywgMjA6MTM6MjQpOgp+IyEgcm49S2VrcyBydD0xMDUyMzMwNjg3IHJnPXd3dwp+IyEgdGlkPTEwNTIzMzA2ODcKQ29vbCwgZGFzIGlzdCBqYSBtZWluZSBhbHRlIFNjaHVsZS4uLiBsYW5nIGxhbmcgaXN0cyBoZXIuLi4KbGVpZGVyIHppZW1saWNoIG5pY2h0c3NhZ2VuZGUgU2VpdGUsIGRvY2ggZGllIGRlciBTY2h1ZWxlcnplaXR1bmcgaXN0IGdhbnoKbmV0dCAtIHVuZCBiZWltIGRvcnRpZ2VuICJpbnRlcmFrdGl2ZW4gUnVuZGdhbmciIHNlaCBpY2gsIGRhc3Mgc2ljaCBkYSBrYXVtCndhcyB2ZXJhZW5kZXJ0IGhhdC4uLgoKQW1hKiwgaW4gYWx0ZW4gRXJpbm5lcnVuZ2VuIHNjaHdlbGdlbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpZb3UncmUgSW4gQ29udHJvbGUgKEFudGhlYSwgMTIuIE1haSAyMDAzLCAxNTowNToyMSk6Cmh0dHA6Ly93ZWIubWVkaWEubWl0LmVkdS9+aGF5ZXMvbWFzODYzL3VyaW5lY29udHJvbC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEQVUtQWxhcm0hIChBcG9waGlzLCAxMi4gTWFpIDIwMDMsIDE3OjU0OjU4KToKCmh0dHA6Ly93d3cuZGF1LWFsYXJtLmRlCgpNZXJrZTogc2NobGltbWVyIGdlaHRzIGltbWVyIDpQCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGFsbGUgTWF0cml4LUZhbnMuLi4gKFJhZ25hcm9laywgMTMuIE1haSAyMDAzLCAxNTo0NToyMik6CgpodHRwOi8vbWVkaWEudC1vbmxpbmUuZGUvVE9ubGluZVZpc2lvbi9GL3dtL21vdmktMDMwNTA4eG1hdHJ4cDMwMEZXMTAwMDAwMzc1OTYKLmFzeAoKOnJhZ25hOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VpbmVuIEJvY2s/IChEZWVwYmx1ZSwgMTQuIE1haSAyMDAzLCAxMDoxNjoyNCk6Cmh0dHA6Ly93d3cuZGllc2VpdGVoYXR6dXJ6ZWl0a2VpbmVuYm9jay5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZWJheSA6LSkgKEJhbWJ1bGtvLCAxNC4gTWFpIDIwMDMsIDEwOjM3OjIxKToKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0maXRlbT0yMzA3NTg5ODc2JmNhdGVnb3J5PTgxCgpCYW1idWxrbyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVuZCBub2NoIGVpbmVyIChUYW5nYWx1ciwgMTQuIE1haSAyMDAzLCAxNDo0NjoxOSk6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzEzMTA0NzQ2NyZjYXRlZ29yeT0yNzY1NyoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpub2NoZWluZXIgSUkgKFRhbmdhbHVyLCAxNC4gTWFpIDIwMDMsIDE0OjQ3OjMwKToKZGVpIFN0ZXJuY2hlbiBnZWhvZXJlbiBuaWNodCBkYXp1Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVuZCBub2NoIGVpbmVyIChWYW5pb24sIDE0LiBNYWkgMjAwMywgMTY6MTU6NTIpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTA1MjkxNjM3OSByZz13d3cKfiMhIHRpZD0xMDUyOTE2Mzc5Ck9mZmVuYmFyIHZvbSBnbGVpY2hlbiBBdXRob3I6Cmh0dHA6Ly93d3cuZ3JhdmlmbGlnaHQuZGUvUHNldWRvLVBNL3BzZXVkby1wbS5odG1sCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJlaXNhdXNzY2hyZWliZW4gKFZhbmlvbiwgMTQuIE1haSAyMDAzLCAyMzo0NDo1MSk6CkRpZSBTdGlmdHVuZyBMZXNlbiBoYXQgZWluZW4ga2xlaW5lbiBMZXNld2V0dGJld2VyYiBpbnMgTGViZW4gZ2VydWZlbi4gSW4KdmllbGVuIEJ1Y2hsYWVkZW4gc3RvbHBlcnQgbWFuIGRlcnplaXQgdWViZXIgZGllIGdydWVuZW4gUG9zdGthcnRlbiBtaXQgZGVuCkF1ZmdhYmVuLiBGdWVyIExldXRlLCBkaWUgQnVjaGdlc2NoYWVmdGUgbnVyIHZvbSB3ZWdndWNrZW4gdW5kIGhhc3RpZwp2b3JiZWlyZW5uZW4ga2VubmVuLCBnaWJ0cyBkZW4gVGVzdCBhdWNoIGltIFdlYjoKIGh0dHA6Ly93d3cuc3RpZnR1bmdsZXNlbi5kZS93ZWx0dGFnL3F1aXovCgpEb3J0IGF1ZiBkaWUgRnJhZ2UgIk11c3MgbWFuIHp1ZXJzdCBKYXBhbmlzY2ggbGVybmVuPyIga2xpY2tlbi4gRnVlciBkaWUKTW90aXZhdGlvbjogSGF1cHRwcmVpcyBpc3QgZWluIEF1dG8uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF0cml4IChMaWFyYSwgMTYuIE1haSAyMDAzLCAxMjoyMzozNik6CkF1cyBlaW5lbSBBcnRpa2VsIGRlciBGcmFua2Z1cnRlciBSdW5kc2NoYXUgdm9tIDE2LjUuMjAwMzoKCkpvaG4gR2FldGEgd2FyIHZvbiBkZW4gTW9lZ2xpY2hrZWl0ZW4sIGRpZSBzaWNoIGF1cyBkZXIgZm90b3JlYWxpc3Rpc2NoZW4KRGFyc3RlbGx1bmcgdm9uIHZvbGxrb21tZW4gZmlrdGl2ZW4gU3plbmVuIGVyZ2ViZW4sIHNvIGVyc2NocmVja3QsIGRhc3MgZXIKZWluZW4gQnJpZWYgYW4gZGVuIGRhbWFsaWdlbiBVUy1QcmFlc2lkZW50ZW4gQmlsbCBDbGludG9uIHNjaGlja3RlLCB1bSBpaG4gdm9yCk1hc3NlbnRhZXVzY2h1bmdlbiBpbiByaWVzaWdlbSBBdXNtYXNzIHp1IHdhcm5lbi4gQ2xpbnRvbiBoYXQgZGVuIEJyaWVmIG5pZQpiZWFudHdvcnRldC4KCkpvaG4gR2FldGEgaXN0IFNwZWNpYWwtRWZmZWN0cy1DaGVmIGRlciBNYXRyaXggVHJpbG9naWUuIDopCgpBcnRpa2VsLUxpbms6Cmh0dHA6Ly93d3cuZnItYWt0dWVsbC5kZS9yZXNzb3J0cy93aXNzZW4vbmV0endlcmsvP2NudD0yMTMyNDUKClpaTAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIE1hY2h0IGRlcyBNdWggb2RlciBzbyAoR29yb2csIDE2LiBNYWkgMjAwMywgMTc6MzA6MjMpOgpQYXNzZW5kIHp1bSB2aWVsIGdlbGllYnRlbiBvZGVyIGdlaGFzc3RlbiBNdWgsIGdpYnRzIGpldHp0IGJlaSBQVlAgbmVuIG5ldHRlbgpPbmxpbmUgQ29taWMgZGF6dS4KRW50ZXIgdGhlIE11aHRyaXghCmh0dHA6Ly93d3cucHZwb25saW5lLmNvbS9hcmNoaXZlLnBocDM/YXJjaGl2ZT0yMDAzMDUxMgoKVmllbCBTcGFzcwptZkcgR29yb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlaW0gRXVybyBmZWhsdCBkaWUgMTM3LUNlbnQtTXVlbnplIChWaW5jZW50LCAxOS4gTWFpIDIwMDMsIDE2OjQ3OjA4KToKTWlyIHdhciBzY2hvbiBpbW1lciBzbywgYWxzIGhhZXR0ZW4gZGllIGV1cm9wYWVpc2NoZW4gQmFua2VuIGJlaSBkZXIKVW1zdGVsbHVuZyBhdWYgZGVuIEV1cm8gd2FzIHVlYmVyc2VoZW4uCmh0dHA6Ly9kZS5uZXdzLnlhaG9vLmNvbS8wMzA1MTkvMjk1LzNnODR1Lmh0bWwKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZWltIEV1cm8gZmVobHQgZGllIDEzNy1DZW50LU11ZW56ZSAoR3JpbW1ib3JuLCAxOS4gTWFpIDIwMDMsIDE3OjIxOjQxKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA1MzM1NTYyOCByZz13d3cKfiMhIHRpZD0xMDUzMzU1NjI4ClVuZCBkYSBiZWhhdXB0ZSBub2NoIGVpbmVyLCBNYXRoZW1hdGlrZXIga29lbm50ZW4gbmljaHQgbWl0IEdlbGQgdW1nZWhlbi4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXRyaXggUmVsb2FkZWQgKE5pYmVsLCAyMS4gTWFpIDIwMDMsIDEwOjU3OjIwKToKRW5kbGljaCBzaWVodCBoYWNrZW4gbWFsIG5pY2h0IGF1cywgYWxzIHd1ZXJkZSBkZXJqZW5pZ2UgZ3JhZCBlaW4gM0QtU3BpZWwKem9ja2VuLgoKaHR0cDovL3d3dy5pbnNlY3VyZS5vcmcKICAtIE5pYmVsCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjaCB3YXMgd2FyZW4gZGFzIGZ1ZXIgWmVpdGVuIChEZWVwYmx1ZSwgMjEuIE1haSAyMDAzLCAxMTowNDo0Mik6Cmh0dHA6Ly93d3cubmljb2xhZG9lcmluZy5uZXQvSG9ncmVmZS9ib2VsbGluZy5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2ggd2FzIHdhcmVuIGRhcyBmdWVyIFplaXRlbiAoVmVjdG9yLCAyMS4gTWFpIDIwMDMsIDE2OjEyOjE4KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwNTM1MDc4ODIgcmc9d3d3Cn4jISB0aWQ9MTA1MzUwNzg4MgpodHRwOi8vd3d3LmZlcm5zZWhzb3VuZHMuZGUKCmh0dHA6Ly93d3cueXBzZmFucGFnZS5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF0cml4IChOb25uZSwgMjMuIE1haSAyMDAzLCAxMzo1NDo1NSk6Cnd3dy5tYXRyaXgteHAuZGUKCkVpbiBiaXNzY2hlbiBNYXRyaXgtRmFuIHNvbGx0ZSBtYW4gc2VpbiB1bmQgZWluIEZsYXRyYXRlIGhhYmVuLiBEZW4gRmlsbQp1bmJlZGluZ3QgaW4gbWF4IFF1YWxpdGFldCBydW50ZXJsYWRlbiwgZXMgbG9obnQgc2ljaCEKCk5vbm5lLgoKUC5TOiBFciBpc3QgcmFzc2lzdGlzY2ghIERhIHdpcmQgZWluIGR1bmtlbGJyYXVuLUFmcmlrYW5lciBnZWhhdWVuIHVuZCBkZXIKd2VpbnQgZGFubiwgd2llIGVpbmUgTWVtbWUuIEFsc28gbml4IGZ1ZXIgUENsZXIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZSBMaWtlIFRoZSBNb29uIChXaGl0ZXRpZ2VyLCAyNC4gTWFpIDIwMDMsIDA4OjAwOjMxKToKaHR0cDovL3d3dy5yYXRoZXJnb29kLmNvbS9tb29uX3NvbmcvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTd2VkaXMgZnVlciBBbmdlZmFnZW5lbiAuLi4gKFRlcnJ5LCAyNC4gTWFpIDIwMDMsIDExOjAyOjM1KToKRnVlciBhbGxlIEZhbnMgdm9uIGRlciBTV1IzIFJ1YnJpazoKaHR0cDovL3d3dy5zd3IzLmRlL2Z1bi9jb21peC9zd2VkaXMvaW5kZXgucGhwP3N1Y2hlPSZzb3J0aWVydW5nPWRldXRzY2gmd2FzPWU2CjdiMWZmNjdhOTkKClRlcnJ5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2luZ2VuZGUgUGZlcmRlIChNYXRpcywgMjYuIE1haSAyMDAzLCAxMzo0Mzo1NSk6Cmh0dHA6Ly9zdnQuc2UvaG9nYWZmbGFoYWdlL2hvZ2FmZmxhSGFnZV9zaXRlL0tvci9oZXN0ZWtvci5zd2YKCk1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWNoc3R1bXNhbmFseXNlIGRlciBUZWlsbmVobWVyemFobGVuIGluIE1NT0dzIChWaW5jZW50LCAyOC4gTWFpIDIwMDMsIDE1OjA2OjAxKToKRnVlciBJbnRlcmVzc2VudGVuIHZvbiBNYXNzaXZlbiBNdWx0aXBsYXllciBPbmxpbmUgR2FtZXM6Cmh0dHA6Ly9wdzEubmV0Y29tLmNvbS9+c2lyYnJ1Y2UvU3Vic2NyaXB0aW9ucy5odG1sCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FjaHN0dW1zYW5hbHlzZSBkZXIgVGVpbG5laG1lcnphaGxlbiBpbiBNTU9HcyAoSmFkYXdpbiwgMjguIE1haSAyMDAzLCAxNzoxMjowNCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwNTQxMjcxNjEgcmc9d3d3Cn4jISB0aWQ9MTA1NDEyNzE2MQpIbW0sIGRpZSBoYWJlbiBQcm9ncmVzcyBRdWVzdCB2ZXJnZXNzZW4uIFNwaWVsdCBkYXMgZWlnZW50bGljaCBub2NoIGplbWFuZCBkZXIKQW53ZXNlbmRlbj8KSmFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWNoc3R1bXNhbmFseXNlIGRlciBUZWlsbmVobWVyemFobGVuIGluIE1NT0dzIChHcmltbWJvcm4sIDI4LiBNYWkgMjAwMywgMTc6MTM6MTgpOgp+IyEgcm49SmFkYXdpbiBydD0xMDU0MTM0NzI0IHJnPXd3dwp+IyEgdGlkPTEwNTQxMjcxNjEKOmhlYnQgZGllIEhhbmQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBXYWhyaGVpdCB1ZWJlciBTcGlkZXJtYW4uLi4gKFJvbmRhLCAyOC4gTWFpIDIwMDMsIDIzOjA3OjQ3KToKCi4uLiBhYmVyIG51ciBtaXQgVG9uLi4uCgpodHRwOi8vd3d3LnNvZWxsbmVyLmNvbS9zcGlkaTY5LnBocAoKUm9uZGEgKmhhdCBlaW4ga2luZGxpY2hlcyBHZW11ZXQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgbXVzcyBtYW4gZnVlciBzb3dhcyBnZXJhdWNodCBoYWJlbj8gKEFudGhlYSwgIDQuIEp1biAyMDAzLCAxMTo1NzoyMik6Cmh0dHA6Ly93d3cuYm9vaGJhaC5jb20vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGUgR2VlayBUZXN0IChWaW5jZW50LCAgNC4gSnVuIDIwMDMsIDE2OjIxOjM3KToKSWNoIGhvZmZlLCBkYXNzIGRhcyBub2NoIG5pY2h0IHNvIGJla2FubnQgaXN0OgpodHRwOi8vd3d3LmlubmVyZ2Vlay51cy9nZWVrLmh0bWwKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhY2tlciBUYXJvdCAoVGFuZ2FsdXIsICA1LiBKdW4gMjAwMywgMTA6MzY6MzkpOgpodHRwOi8vd3d3LnNjaHJ1dHpraS5uZXQvdGV4dGUvZWlnZW5lL2xhY2gvdGFyb3QucGhwMz9zaWQ9M2VkZWZiZTBhYWQ3ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFsIHdhcyBlcm5zdGVzOiBJbmZvcm1hdGlvbnNkaWVuc3QgV2lzc2Vuc2NoYWZ0IChSb25kYSwgIDcuIEp1biAyMDAzLCAyMjowOTozNik6CkFuZCBub3cgdG8gc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50OiBVbnRlcgpodHRwOi8vaWR3LW9ubGluZS5kZS9wdWJsaWMvYWJvaW5mb3MuaHRtbAprYW5uIG1hbiBzaWNoIGtvc3RlbmxvcyB6dW0gSW5mb3JtYXRpb25zZGllbnN0IFdpc3NlbnNjaGFmdCBlaW50cmFnZW4gdW5kIGthbm4Kc2ljaCBkYWJlaSBmdWVyIHZlcnNjaGllZGVuc3RlIFdpc3NlbnNnZWJpZXRlIE5hY2hyaWNodGVuIHp1c2VuZGVuIGxhc3Nlbi4KRnVlciBhbGxlLCBkaWUgZ2VybiBlaW5lbiBVZWJlcmJsaWNrIGRhcnVlYmVyIGhhYmVuIHdvbGxlbiwgd2FzIHNpY2ggYW4KRGV1dHNjaGxhbmRzIFVuaXZlcnNpdGFldGVuIHNvIHR1dC4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZlaGxlcm1lbGR1bmdlbiBtaXQgU3RpbCAoRm9vYmFyLCAxMC4gSnVuIDIwMDMsIDE1OjI5OjA4KToKaHR0cDovL3d3dy50bWsuY29tL2Z0cC9odW1vci9jb21wdXRlci1lcnJvci1tZXNzYWdlcy50eHQKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIGNvbXBsZXRlIFBhc3RhIFRoZW9yeSBvZiBTb2Z0d2FyZSAoV2hpdGV0aWdlciwgMTAuIEp1biAyMDAzLCAxNjoyODo0MCk6Cmh0dHA6Ly93d3cuZ251Lm9yZy9mdW4vam9rZXMvcGFzdGEuY29kZS5odG1sCgpEaWUgSGF1cHRzZWl0ZSAiTGF1Z2ggYWxvbmcgd2l0aCBHTlUiIGlzdCB1bnRlcgpodHRwOi8vd3d3LmdudS5vcmcvZnVuL2h1bW9yLmh0bWwgenUgZmluZGVuIHVuZCBlbnRoYWVsdCBub2NoIHdlaXRlcmUgbmV0dGUKVGV4dGUuLi4KCldoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2NrIEJvdHRvbSdzIGxpc3Qgb2YgY29ycmVjdGlvbnMgKEthcmltYSwgMTEuIEp1biAyMDAzLCAxOTo0MToyMyk6CkZ1ZXIgYWxsZSwgZGllIGdyYWRlIFNpbXBzb25zIGdlc2VoZW4gaGFiZW4gdW5kIHNpY2ggZnJhZ2VuLCB3YXMgZGEgZWlnZW50bGljaAphbGxlcyB2b24gIlJvY2sgQm90dG9tIiBzbyBrb3JyaWdpZXJ0IHdpcmQ6CgpodHRwOi8vd3d3LnNucHAuY29tL2d1aWRlcy9jb3JyZWN0aW9ucy5odG1sCgpJY2ggZnJhZyBtaWNoIGRhYmVpIG51ciwgd28gZGEgd2FzIHZvbiBIb21lciBzdGVodCA6KCBFbnR3ZWRlciBlbnR0YWV1c2NodAptaWNoIE1hdHQgR3JvZW5pbmcgb2RlciBkaWUgTGlzdGUgc3RpbW10IGVpbmZhY2ggbmljaHQgZ2FueiA7KQoKS2FyaW1hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUm9jayBCb3R0b20ncyBsaXN0IG9mIGNvcnJlY3Rpb25zIChNdWFkaWIsIDEyLiBKdW4gMjAwMywgMDI6MDY6MTUpOgp+IyEgcm49S2FyaW1hIHJ0PTEwNTUzNTMyODMgcmc9d3d3Cn4jISB0aWQ9MTA1NTM1MzI4MwppY2ggd2Vpc3MgbmljaHQgd29ydW0gZXMgZ2VodC4gZGFzIHZvcm5ld2VnLgp1bmQgbnVuIHp1ciBlaWdlbnRsaWNoZW4gYXVzc2FnZTogZHUgaGFzdCBqYSBzb3dhcyB2b24ga2VpbmVyIGtsYXNzc2lzY2hlbgpiaWxkdW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSb2NrIEJvdHRvbSdzIGxpc3Qgb2YgY29ycmVjdGlvbnMgKE11YWRpYiwgMTIuIEp1biAyMDAzLCAwMjowODo0Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NTM3NjM3NSByZz13d3cKfiMhIHRpZD0xMDU1MzUzMjgzCmRhcyBkcml0dGUgcyBpbiBrbGFzc3Npc2NoIHdhciB1ZWJyaWdlbnMgYWJzaWNodCB1bmQgYmVsZWd0IG1laW5lIGF1c3NhZ2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1bnN0IGFtIHZlcmtlaHJzc2NoaWxkIChEZWVwYmx1ZSwgMTMuIEp1biAyMDAzLCAwOTo0NjoxMSk6Cmh0dHA6Ly93d3cucHJvYmUuZnJhbmstYm9rZWxtYW5uLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJtZXIgSGFpIChab29rLCAxMy4gSnVuIDIwMDMsIDEyOjM5OjIxKToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwyNTI3MTAsMDAuaHRtbAoKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaWdlciBUZXJyaXRvcnkgKFdoaXRldGlnZXIsIDE1LiBKdW4gMjAwMywgMTQ6MTQ6MjYpOgpodHRwOi8vd3d3LmxhaXJ3ZWIub3JnLm56L3RpZ2VyLwoKV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXIgV2FycyBLaWQgUmVtaXggKEFudGhlYSwgMTYuIEp1biAyMDAzLCAxMjo1NTowNSk6Cmh0dHA6Ly93d3cuamVkaW1hc3Rlci5uZXQvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZWQgd2lya2xpY2ggZmFpci4uLiAoSW1kYSwgMTcuIEp1biAyMDAzLCAxNzoxMDoxMCk6Cmh0dHA6Ly93d3cuZy1jYXQtY2F0YW1hcmFucy5uZXQvbG92ZXRlc3QvbG92ZXRlc3QucGhwP2lkPXo4N2xnbHRyN2RheTFsQ3RKbGdsdApyN3guZGQyckoKCkVpZ2VudGxpY2ggemllaG1saWNoIHVuZmFpci4gSGFldHQgdm9uIG1pciBzZWluIGtvZW5uZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZWQgd2lya2xpY2ggZmFpci4uLiAoRm9vYmFyLCAxNy4gSnVuIDIwMDMsIDE3OjE1OjA3KToKfiMhIHJuPUltZGEgcnQ9MTA1NTg2MjYxMCByZz13d3cKfiMhIHRpZD0xMDU1ODYyNjEwCiJEdSB3dXJkZXN0IHZvbiBpbWRhQGdteC5kZSByZWluZ2VsZWd0ISIKClNvc28gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5lZCB3aXJrbGljaCBmYWlyLi4uIChJbWRhLCAxNy4gSnVuIDIwMDMsIDE3OjE1OjM1KToKfiMhIHJuPUZvb2JhciBydD0xMDU1ODYyOTA3IHJnPXd3dwp+IyEgdGlkPTEwNTU4NjI2MTAKZGVyIGhlaXNzdCBiZXN0aW1tdCBudXIgZ2FueiB6dWZhZWxsaWcgc28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5lZCB3aXJrbGljaCBmYWlyLi4uIChMZWliaSwgMTcuIEp1biAyMDAzLCAxOToyNjo0OCk6Cn4jISBybj1JbWRhIHJ0PTEwNTU4NjI5MzUgcmc9d3d3Cn4jISB0aWQ9MTA1NTg2MjYxMApkaWUgaGludGVyZ3J1bmRmYXJiZSBwYXNzdCB1ZWJyaWdlbnMgc3VwZXIgOikKCmxlaWJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTQ08gdnMuIExpbnV4IChHcmltbWJvcm4sIDE4LiBKdW4gMjAwMywgMTY6Mzk6MzcpOgpodHRwOi8vd3d3LmxpdmVqb3VybmFsLmNvbS9jb21tdW5pdHkvbGludXgvMzk3NzcxLmh0bWw/dGhyZWFkPTI1MzE3ODcKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGludXggaXN0IHBsZWl0ZSAoQW1hcnlsbGlzLCAxOC4gSnVuIDIwMDMsIDE2OjQ0OjIzKToKQXVjaCB3ZW5ucyB3b2hsIHNjaG9uIGVpbmlnZSBrZW5uZW46CgpodHRwOi8vd3d3LmxpbnV4LWlzdC1wbGVpdGUuZGUKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaW51eCBpc3QgcGxlaXRlIChIb2JvLCAyMC4gSnVuIDIwMDMsIDAzOjM3OjUxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDU1OTQ3NDYzIHJnPXd3dwp+IyEgdGlkPTEwNTU5NDc0NjMKV2VubiBzY2hvbiwgZGFubiAtPiB3aXR6ZSAKCiAgSG9ibyAtIGZpbmRldCdzIG5pY2h0IHdpdHppZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWxpdGUgKENhdHdlYXpsZSwgMjAuIEp1biAyMDAzLCAxNjoyODoxNyk6CgpEYW1pdHMgYXVjaCBtYWwgYWxsZSBtaXRrcmllZ2VuOi0pCgpXZW5ucyBtYWwgd2llZGVyIGxhZW5nZXIgZGF1ZXJ0OgoKaHR0cDovL3d3dy51bGl0ZS5kZQoKRWluIGdhbnogbmV0dGVyIE9ubGluZS1FbGl0ZS1TcGlub2ZmLiBPaG5lIFJ1bWZsaWVnZW4sIHByaW1hZXIgSGFuZGVsbi4KVHJvdHpkZW0gZmFuY3kgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbGl0ZSAoVmFyZGlvbiwgMjAuIEp1biAyMDAzLCAxNjozMTo0OCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1NjExOTI5NyByZz13d3cKfiMhIHRpZD0xMDU2MTE5Mjk3CldvIGJsZWlidCBkZW5uIGRhIGRlciBTcGFzcywgd2VubiBtYW4gc2ljaCBzZWluZSBWZXJrYXVmc3dhcmVuIG5pY2h0IG1laHIgbWl0bQpMYXNlciBhdXMgZnJlbWRlbiBTY2hpZmZlbiByYXVzc2NobmVpZGVuIGthbm4/IDopCgpXZXIgZWluIHJpY2h0aWdlcyBFbGl0ZSB1bnRlciBBa3R1ZWxsZW4gU3lzdGVtZW4gc3BpZWxlbiBtb2VjaHRlLCBkZW0gc2VpCmh0dHA6Ly93d3cuamFqMjIuZGVtb24uY28udWsvIGVtcGZvaGxlbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvZGVzdXJzYWNoZSBNb3JkIChXaGl0ZXRpZ2VyLCAyMS4gSnVuIDIwMDMsIDAxOjMwOjQ3KToKaHR0cDovL3d3dy50b2Rlc3Vyc2FjaGUtbW9yZC5kZS8KClp3ZWkgT25saW5lLUtyaW1pcywgc2VociBuZXR0IGdlbWFjaHQgdW5kIHdpcmtsaWNoIHNwYW5uZW5kLgoKV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb2Rlc3Vyc2FjaGUgTW9yZCAoV2hpdGV0aWdlciwgMjEuIEp1biAyMDAzLCAwMTozMTowNyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNTYxNTE4NDcgcmc9d3d3Cn4jISB0aWQ9MTA1NjE1MTg0NwpadW0gU2VsYmVybG9lc2VuIG5hdHVlcmxpY2guLi4KCldoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaW5kb3dzIChPZ28sIDIzLiBKdW4gMjAwMywgMTA6NTI6MTYpOgpBbmF0b2wsIGRhcyBpc3QgRkxBU0ghISEKaHR0cDovL2luZm8ubGluZG93cy5jb20vTGluZG93c1JvY2svTGluZG93c1JvY2suaHRtbAoKT2dvLCBpcmdlbmR3aWUgYmVzY2hhZW10CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcm9uIChSYWduYXJvZWssIDI0LiBKdW4gMjAwMywgMTI6NTE6NDIpOgpIaWhvIQoKV2VyIGZydWVoZXIgc2Nob24gVHJvbi1GYW4gd2FyIHNvbGx0ZSBzaWNoIGZvbGdlbmRlcyBtYWwgYW5zZWhlbjoKCkxpbnV4OiAKICBodHRwOi8vYXJtYWdldHJvbi5zb3VyY2Vmb3JnZS5uZXQvZG93bmxvYWRfbGludXguaHRtbApXaW5kb3dzOgoKaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9hcm1hZ2V0cm9uL2FybWFnZXRyb24td2luZG93cy0wLjIucHJlNC5leGU/CnVzZV9taXJyb3I9c3dpdGNoCgouLnVuZCB3ZXIgTHVzdCBhdWYgbmUgUnVuZGUgdWViZXJzIE5ldHogaGF0LCBtZWxkZSBzaWNoIGJlaSBtaXIuIDspCgo6cmFnbmE6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJvbiAoV2hpdGV0aWdlciwgMjQuIEp1biAyMDAzLCAxNTozODoxOCk6Cn4jISBybj1SYWduYXJvZWsgcnQ9MTA1NjQ1MTkwMiByZz13d3cKfiMhIHRpZD0xMDU2NDUxOTAyCkljaCBmaW5kZSBHTFRyb24gYmVzc2VyLi4uCmh0dHA6Ly93d3cuZ2x0cm9uLm9yZy8KCkRvd25sb2FkOgpodHRwOi8vd3d3LmdsdHJvbi5vcmcvZG93bmxvYWQuaHRtbAoKV2hpdGVUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHJvbiAoQW5hdG9sLCAyNC4gSnVuIDIwMDMsIDE3OjUwOjU0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA1NjQ2MTg5OCByZz13d3cKfiMhIHRpZD0xMDU2NDUxOTAyClNvd29obCBBcm1hZ2V0cm9uIGFscyBhdWNoIEdMVHJvbiAobGV0enRlcmVzIHJ1Y2tlbHQgYXVmIGVpbmVtIFJlY2huZXIgbWl0Cnp1cnVlY2tnZWJsaWViZW5lciAoPDY0TUIpIEdyYWZpa2FydGUgdW5kIFByb3plc3NvciAoPDgwME1IeikgZGFubiBkb2NoIAphcmcpIGlzdCBwZXIgZGVmYXVsdCBpbiBkZXIgU3VTRS1EaXN0cmlidXRpb24gZWluZ2VwYWNrdC4gSGF0IGVpbmVuIGdld2lzc2VuClN1Y2h0Y2hhcmFrdGVyLCB2b3JzaWNodC4uLiA7KQoKQW5hdG9sIC0gZmFuZCBBcm1hZ2V0cm9uIHVudGVyIGRlbiAiS2FydGVuc3BpZWxlbiIgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUcm9uIChXaGl0ZXRpZ2VyLCAyNC4gSnVuIDIwMDMsIDE4OjAxOjI1KToKfiMhIHJuPUFuYXRvbCBydD0xMDU2NDY5ODU0IHJnPXd3dwp+IyEgdGlkPTEwNTY0NTE5MDIKR0x0cm9uIGhhdCBiZWkgbWVpbmVtIENvdXNpbiBfbmljaHRfIGF1ZiBuZW0gUmVjaG5lciBtaXQgPDY0IE1CIEdyYXBoaWsgdW5kCjw4MDAgTUh6IGdlcnVja2VsdCAuLi4KQWJlciB2aWVsbGVpY2h0IHdhciBkYXMgYXVjaCBuZSBhZWx0ZXJlIFZlcnNpb24uCkljaCBmaW5kIGFsbGVyZGluZ3MsIGRhc3MgR0x0cm9uIGVpbmZhY2ggYmVzc2VyIGF1c3NpZWh0LCBhbHMgQXJtYWdldHJvbi4KVm9uIGRlciBTcGllbHdlaXNlIHNpbmQgZGllIGphIGZhc3QgZ2xlaWNoLgoKV2hpdGVUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlZWZhbGwgKFZhbmlvbiwgMjUuIEp1biAyMDAzLCAxMjo0MzoxNSk6Cmh0dHA6Ly93d3cuZnVycnkuZGUvZnJlZWZhbGwvaW5oYWx0Lmh0bQoKRWluZSBuZXR0ZSBTZXJpZSBpbiBGb3JtIHZvbiBDb21pYyBTdHJpcHMgZGllIHZvbiBkZXIgU3R1bXBmaGVpdCBkZXIKQ2hhcmFrdGVyZSBsZWJ0LiBTZWhyIGFtdWVzYW50IDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZWVmYWxsIChTY2hva28sIDI1LiBKdW4gMjAwMywgMTM6MDc6MjUpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNTY1Mzc3OTUgcmc9d3d3Cn4jISB0aWQ9MTA1NjUzNzc5NQpHb3R0LCBzaW5kIGRpZSBzdHVtcGYgOikKClNjaG9rbyAoa2ljaGVybmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZyZWVmYWxsIChXaGl0ZXRpZ2VyLCAyNS4gSnVuIDIwMDMsIDE1OjIzOjI0KToKfiMhIHJuPVNjaG9rbyBydD0xMDU2NTM5MjQ1IHJnPXd3dwp+IyEgdGlkPTEwNTY1Mzc3OTUKLT1FQz0tIHdpc3NlbiBtZWhyPyA7KQoKV2hpdGVUaWdlciAoYXVjaCAtPUVDPS0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXRvIHp1IHZlcmthdWZlbiA7KSAoUmFnbmFyb2VrLCAyNy4gSnVuIDIwMDMsIDEyOjE2OjU1KToKaHR0cDovL3d3dy5tb2JpbGUuZGUvY2dpLWJpbi9kYS5wbD9iZXJlaWNoPXBrdyZpZD0xMTExMTExMTEyMjQ3NDA4MwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHlwbm9zZS1FeHBlcmltZW50IChWaW5jZW50LCAyNy4gSnVuIDIwMDMsIDE0OjM2OjA0KToKaHR0cDovL3d3dy5kZXJpdm8uY2gvcmFiYWlsa2FsLXRlc3QvaHlwbm9zZS9oeXBub3NlLmh0bQooRmxhc2gtUGxheWVyIGJlbm9ldGlndCkKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIeXBub3NlLUV4cGVyaW1lbnQgKE5vbm5lLCAyNy4gSnVuIDIwMDMsIDE1OjQyOjI1KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA1NjcxNzM2NCByZz13d3cKfiMhIHRpZD0xMDU2NzE3MzY0ClNjaHJlaWIgZG9jaCBkYWJlaSwgZGFzcyBpY2ggYXVjaCBUb2VuZSBicmF1Y2hlLiBEZXIgUHVua3QgYWxsZWluZSBpc3QKemllbWxpY2ggbGFuZ3dlaWxpZy4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIeXBub3NlLUV4cGVyaW1lbnQgKEJvaW5nLCAyNy4gSnVuIDIwMDMsIDE1OjQ1OjM4KToKfiMhIHJuPU5vbm5lIHJ0PTEwNTY3MjEzNDUgcmc9d3d3Cn4jISB0aWQ9MTA1NjcxNzM2NApTdGVodCBkb2NoIGRhLCBkYXNzIG1hbiBkZXIgU3RpbW1lIGxhdXNjaGVuIHNvbGwuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEh5cG5vc2UtRXhwZXJpbWVudCAoTm9ubmUsIDI3LiBKdW4gMjAwMywgMTU6NDc6MzgpOgp+IyEgcm49Qm9pbmcgcnQ9MTA1NjcyMTUzOCByZz13d3cKfiMhIHRpZD0xMDU2NzE3MzY0ClNhZyBpY2ggZG9jaCBtYW4gYnJhdWNodCBUb2VuZS4gRGFzIHN0YW5kIGFiZXIgZXJzdCBhdWYgZGVyIFNlaXRlLCBuaWNodCBpbQpBcnRpa2VsIChjOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIeXBub3NlLUV4cGVyaW1lbnQgKExlaWJpLCAyNy4gSnVuIDIwMDMsIDE2OjEyOjQzKToKfiMhIHJuPU5vbm5lIHJ0PTEwNTY3MjEzNDUgcmc9d3d3Cn4jISB0aWQ9MTA1NjcxNzM2NAp3YWhoaCBpY2ggYmluIGZhc3Qgdm9tIHN0dWhsIGdlZmFsbGVuIQoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlbGRlbi1HZW5lcmF0b3IgKFJhZ25hcm9laywgMjguIEp1biAyMDAzLCAxNjoyNToxNik6Cmh0dHA6Ly93d3cudWdvLmNvbS9jaGFubmVscy9mcmVlc3R5bGUvaGVyb01hY2hpbmUvaGVyb21hY2hpbmUuYXNwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmF1ZW5mdXNzYmFsbCBydWxleiEgKE1vcmdvdGgsIDMwLiBKdW4gMjAwMywgMTU6NDA6NDgpOgpodHRwOi8vd3d3LmxpYS5kay90b3BsZXNzX3BpZ2Vmb2Rib2xkLmh0bWwKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzZWhlcnNlaXRlbiAoR3VhcmQsIDMwLiBKdW4gMjAwMywgMTU6NTQ6MzEpOgpzbywgbmFjaCAxMS1qYWVocmlnZXIgZXhpc3RlbnogZGVzIGNvcnB1cyBkZWxpY3RpIGdpYnQgZXMgbnVuIGF1Y2gKZW50c3ByZWNoZW5kZSBzZWl0ZW4gZGF6dSBpbSB3ZWIgOi0pCgpncnVzcyBndWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVuZGhlcnVtLi4uIChab2NrLCAgMS4gSnVsIDIwMDMsIDEyOjI5OjUyKToKCgpodHRwOi8vd3d3LnN3aW5kb253ZWIuY29tL2xpZmUvbGlmZW1hZ2kwLmh0bQoKClpvY2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVuZGhlcnVtLi4uIChGb29iYXIsICAxLiBKdWwgMjAwMywgMTc6MDg6NTQpOgp+IyEgcm49Wm9jayBydD0xMDU3MDU1MzkyIHJnPXd3dwp+IyEgdGlkPTEwNTcwNTUzOTIKSGllciBiZWkgdW5zIGltIHNjaG9lbmVuIERldXRzY2hsYW5kIHdhZXJlIGVpbiBkZXJhcnRpZ2VyIEtyZWlzdmVya2Vocgp3YWhyc2NoZWlubGljaCBuaWNodCBtb2VnbGljaC4uLgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJ1bmRoZXJ1bS4uLiAoSmFtZXNvbiwgIDEuIEp1bCAyMDAzLCAxNzoyODo1Nyk6Cn4jISBybj1Gb29iYXIgcnQ9MTA1NzA3MjEzNCByZz13d3cKfiMhIHRpZD0xMDU3MDU1MzkyCkVpbiBpbnRlcmVzc2FudGVyIEtvbW1lbnRhciBkYXp1IChzb2dhciBtaXQgQW5pbWF0aW9uZW4sIGRhbWl0IGthbm4gbWFuIGd1dApzZWhlbiwgd2llIHNvd2FzIGZ1bmt0aW9uaWVydCkgZmluZGV0IHNpY2ggYXVmCmh0dHA6Ly93d3cua29udGV4dC1nbWJoLmRlL2V4cGxvcmVtYWcvc2Nob3R0OTgvbWFnaWNyb3VuZC5odG0gLSBhbGxlcmRpbmdzCmdlaHQgZGEgZGVyIEF1dG9yIHppZW1saWNoIGtyaXRpc2NoIHVuZCBtZWluZXIgTWVpbnVuZyBuYWNoIHVuc2FjaGxpY2ggdW5kCm5pY2h0IGdlcmFkZSBvYmpla3RpdiBtaXQgZGVtIFRoZW1hIHVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSdW5kaGVydW0uLi4gKE11YWRpYiwgIDEuIEp1bCAyMDAzLCAxODowMjowOSk6Cn4jISBybj1Gb29iYXIgcnQ9MTA1NzA3MjEzNCByZz13d3cKfiMhIHRpZD0xMDU3MDU1MzkyCnNjaG9uIHdlZ2VuIGRlcyBsaW5rc3ZlcmtlaHJzIG5pY2h0LCBnZWxsZSA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSdW5kaGVydW0uLi4gKEZvb2JhciwgIDEuIEp1bCAyMDAzLCAxODowODo1MCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA1NzA3NTMyOSByZz13d3cKfiMhIHRpZD0xMDU3MDU1MzkyCk1laHIgd2VnZW4gZGVzIExheW91dHMuIDpvKQoKTWljaCB6dW1pbmRlc3QgaGF0IGRhcyBlcnN0ZSBMdWZ0cGhvdG8gc3RhcmsgYW4gZWluIEhha2Vua3JldXogZXJpbm5lcnQuLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIEhlbGRlbiB2b24gQmVybiAoR2FuZG8sICA0LiBKdWwgMjAwMywgMDk6MDg6NDUpOgoKaHR0cDovL3d3dy53bTU0LmRlLnZ1LwoKc2Vuc2F0aW9uZWxsZXJBbWF0ZXVyLUZpbG0gLSBkaWUgd29obCBiZWthbm5zdGVzdGUgRnVzc2JhbGxzemVuZSBpbiBMZWdhCm5hY2hnZXN0ZWxsdC4KCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWFwb25zIG9mIG1hc3MgZGVzdHJ1Y3Rpb24gKFZpbmNlbnQsICA0LiBKdWwgMjAwMywgMTE6MDU6MjkpOgpIaSEKCkVpbmZhY2ggbWFsIGZvbGdlbmRlcyBhdXNwcm9iaWVyZW46Cnd3dy5nb29nbGUuZGUgYXVmcnVmZW4KSW4gZGFzIFN1Y2hmZWxkIGVpbmdlYmVuOiB3ZWFwb25zIG9mIG1hc3MgZGVzdHJ1Y3Rpb24KTmljaHQgYXVmICJHb29nbGUgU3VjaGUga2xpY2tlbiIgc29uZGVybiBhdWYgIkF1ZiBndXQgR2x1ZWNrISIuCkRpZSBGZWhsZXJtZWxkdW5nIHNlaHIgYXVmbWVya3NhbSBsZXNlbi4gOikKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnd3dy5taXQxNi5kZSAoTm9ubmUsICA1LiBKdWwgMjAwMywgMjI6MjI6NDkpOgpFaW5lIFNhbW1sdW5nIHZvbiBaaXRhdGVuIGF1cyBBdWZrbGFlcnVuZ3NidWVjaGVyIGRlciA1MGVyLCA2MGVyIHVuZCA3MGVyLiBEYQprYW5uIG1hbiBub2NoIGVpbmUgTWVuZ2UgbGVybmUsIHZvciBhbGxlbSBkaWUgRnJhdWVuICpnKgoKTm9ubmUsIGtpY2hlcm5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHd3dy5taXQxNi5kZSAoRWxpemFiZXRoLCAgNS4gSnVsIDIwMDMsIDIyOjI4OjE2KToKfiMhIHJuPU5vbm5lIHJ0PTEwNTc0MzY1Njkgcmc9d3d3Cn4jISB0aWQ9MTA1NzQzNjU2OQpoaWhpLi4gZGFzIGphIGVpbiBzY2hpY2tlcyBiaWxkIGFtIGFuZmFuZyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FyIG9mIHRoZSBpY29ucy4uLiAoUmFnbmFyb2VrLCAgOC4gSnVsIDIwMDMsIDEyOjMwOjU1KToKaHR0cDovL3d3dy5hbnljaXRpZXMuY29tL3VzZXIvdm9sa29tZW4vaWNvbndhcnMuaHRtbAoKOnJhZ25hOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llc28gaXN0IGRhcyBNZWVyd2Fzc2VyIHNhbHppZz8gKERlZXBibHVlLCAgOC4gSnVsIDIwMDMsIDEzOjMzOjUxKToKaHR0cDovL3d3dy51Y2cuZGUvYmxhdHQwNS93aXR6MDEzLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXNjaWltYXRyaXggKFZpbmNlbnQsICA4LiBKdWwgMjAwMywgMTc6NTE6MzgpOgpodHRwOi8vMjEyLjE4NC44NS42Ny9hc2NpaS1tYXRyaXguaHRtCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaW5ndWluZSAoR2FuZG8sICA5LiBKdWwgMjAwMywgMTQ6Mzc6MjcpOgpodHRwOi8vd3d3Mi5nYW1lc3ZpbGxlLmx5Y29zLmNvbS9odG1sX3Bva2UvcG9rZV9wZW5ndWluLmh0bQoKR2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCihBKSAoQW5vcmlzLCAxMC4gSnVsIDIwMDMsIDA4OjAxOjU5KToKLSBWaWVsbGVpY2h0IG5pY2h0IHdhZWhyZW5kIGRlciBBcmJlaXQKLSBBY2h0dW5nOiBGTEFTSCEKCmh0dHA6Ly93d3cuc2NobHVjaHRlbnNjaGVpc3Nlci5kZS8KCmh0dHA6Ly93d3cuc2NobHVjaHRlbnNjaGVpc3Nlci5kZS8KCm5vIGNvbW1lbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAoQSkgKENhdHdlYXpsZSwgMTAuIEp1bCAyMDAzLCAwOTozOToyMyk6Cn4jISBybj1Bbm9yaXMgcnQ9MTA1NzgxNjkxOSByZz13d3cKfiMhIHRpZD0xMDU3ODE2OTE5CkthbWVsbGUhCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogKEEpIChNb250YW51cywgMTAuIEp1bCAyMDAzLCAxMDozMDoyMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA1NzgyMjc2MyByZz13d3cKfiMhIHRpZD0xMDU3ODE2OTE5Ck5laW4sIENhdHR5LCBuZWluLgpLYW1lbGxlIGdpYnQgZXMgZXJzdCB3aWVkZXIgaW4gZGVyIEZhc3NlbmFjaHQsIHVuZCBiaXMgZGFoaW4gc2luZCBlcyBub2NoIDQKTW9uYXRlLCAxIFRhZyB1bmQgNDMgTWludXRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBOZVh0IGlzdCBuaWNodCB0b3QuLi4gKFRydWcsIDEyLiBKdWwgMjAwMywgMTk6NDE6NTIpOgouLi4gc29uZGVybiBsZWJ0IGluIE1hYyBPUyBYIHdlaXRlciA7KQoKV2VyIGRlbm5vY2ggYW4gZGVuIFVyYWhuIGludGVyZXNzaWVydCBpc3QsIGthbm4gamEgbWFsIGJlaQpodHRwOi8vbmV4dC56ODAub3JnLyB2b3JiZWlndWdnZW4sIG9kZXIgc2ljaCBkaWUgRXJzdGF1c2dhYmUgZWluZXMgTWFnYXppbnMKZGF6dSAoNTAgU2VpdGVuLCBQREYpIHVudGVyIGh0dHA6Ly9uZXh0ZXppbmUuejgwLm9yZy4vaXNzdWUwMS0yMDAzLnBkZgpkb3dubG9hZGVuLgoKVHJ1ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnV0dG9ucyBnZXN1Y2h0IChEYXJpYSwgMTMuIEp1bCAyMDAzLCAxMzowMjo0Myk6Ckh1aHUsCnZpZWxsZWljaHQgaGF0IGVpbmUocikgdm9uIEV1Y2ggamEgc28gd2FzIGluIGRlbiBCb29rbWFya3MgbGllZ2VuOgpJY2ggc3VjaGUgZWluZSBTaXRlLCBkaWUga29zdGVubG9zIGRhcyBSVW50ZXJsYWRlbiB2b24gQnV0dG9ucywgSEludGVyZ3J1ZW5kZW4KZXRjLiBhbmJpZXRldCwgZGllIG1hbiBmdWVyIGRhcyBFcnN0ZWxsZW4gdm9uIFdlYnNpdGVzIG51dHplbiBrYW5uLiBNdXNzIG5peApzdXBlcmF1ZndhZW5kaWdlcyBzZWluLgpEYW5rZXNjaG9lbiEKRGFyaWEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnV0dG9ucyBnZXN1Y2h0IChHdWFyZCwgMTMuIEp1bCAyMDAzLCAxMzo1MzoyNik6Cn4jISBybj1EYXJpYSBydD0xMDU4MDk0MTYzIHJnPXd3dwp+IyEgdGlkPTEwNTgwOTQxNjMKZ3VjayBtYWwgdW50ZXIgaHR0cDovL3d3dy5mcmVlZ3JhcGhpY3MuY29tLzAxX1dlYl9HcmFwaGljcy9NaXNjX0JCQi8KZGEgc2luZCB2aWVsZSBndXRlIHNhY2hlbiBiZWkKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWhhLiAoRm9vYmFyLCAxMy4gSnVsIDIwMDMsIDE2OjI4OjA1KToKaHR0cDovL3d3dy5yaGFkYW1hbnRoeXMub3JnL3VudGVyaGFsdHVuZy9ncmFmaWtlbi90dXhfaW5fcmVkbW9uZC5qcGcKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXJ0aWtlbCB1ZWJlciBKb2xlbmUgQmxhbG9rIChUJ1BvbCkgKE1vcmdvdGgsIDE0LiBKdWwgMjAwMywgMTE6MjE6MjgpOgpodHRwOi8vd3d3Lm1heGltb25saW5lLmNvbS9hcnRpY2xlcy9hcnRpY2xlXzQyNDQuaHRtbAoKTSogc2FiYmVydAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbWFzc2l2ZWx5IG11bHRpcGxheWVyIG9ubGluZSByb2xlLXBsYXlpbmcgZ2FtZSAoQmFtYnVsa28sIDE0LiBKdWwgMjAwMywgMTQ6Mjg6MjQpOgptYXNzaXZlbHkgbXVsdGlwbGF5ZXIgb25saW5lIHJvbGUtcGxheWluZyBnYW1lOgoKaHR0cDovL3d3dy5nYW1lc3BvdC5jb20vZ2FtZXNwb3QvZmVhdHVyZXMvYWxsL2dhbWVzcG90dGluZy8wNzExMDNtaW51c3dvcmxkLzEuCmh0bWwKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdWhsZWFzaW5nIChEZWVwYmx1ZSwgMTQuIEp1bCAyMDAzLCAxNzozNDoxNCk6Cmh0dHA6Ly93d3cubi10di5kZS8zMTcyNDIxLmh0bWwKTVVIIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2FueiBuZXVlcyBLb256ZXB0OiBOYURhLiAoUm9uZGEsIDE1LiBKdWwgMjAwMywgMDE6Mjc6MTUpOgpXYXMgbWFuIHNjaG9uIGltbWVyIG5pY2h0IGJyYXVjaHRlLi4uCgpodHRwOi8vd3d3LmJlcm5hcmRiZWxhbmdlci5jb20vY29tcHV0aW5nL05hRGEvaW5kZXguaHRtbAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY29yZCBvZiBMb2Rvc3MgV2FyIGFtIDguLzkuIEF1Z3VzdCBhdWYgVk9YIChPZ2FyLCAxNS4gSnVsIDIwMDMsIDE1OjQ4OjMyKToKTWVociBEYXRlbiBkYXp1IHVudGVyCgogIGh0dHA6Ly93d3cuZGN0cC5kZS9hcmNoaXYvMjAwMy9wdzMyL2FuaW1lX25hY2h0X3JlY29yZF9sb2Rvc3Nfd2FyLnNodG1sCgpzb3dpZQoKICBodHRwOi8vd3d3LmFuaW1lLWthbGVuZGVyLmRlL2FuaW1lLnBocC9zMzU3CgpXZXIgUk9MVyBub2NoIG5pY2h0IGdlc2VoZW4gaGF0IHVuZCBkZXNoYWxiIG5vY2ggZ2FyIG5pY2h0IHdlaXNzLCB3aWUKZGFua2JhciB3aXIgUGFyYWNlbHN1cyBzZWluIGR1ZXJmZW4sIGRhc3Mgd2lyIGhpZXIgbmljaHQgZGVuIGVjaHRlbiBOYXJzLApzb25kZXJuIG51ciBzbyBlaW5lbiBiaWxsaWdlbiBBYmtsYXRzY2ggaGFiZW4sIGRlciBzaWNoIG5pY2h0IG51ciBkYXp1CmhlcmFibGFlc3N0LCBtaXQgU3BpZWxlcm4genUga2FlbXBmZW4sIHNvbmRlcm4gZGllc2VuIGF1Y2ggaW1tZXIgbnVyIGVpbmVuCktvcGYgYXVmIGVpbm1hbCBhYmJlaXNzdCwgc29sbHRlIHVuYmVkaW5ndCBpbiBFcndhZWd1bmcgemllaGVuLCBlaW5lbgpWaWRlb3JlY29yZGVyIGZ1ZXIgZGllc2UgU2VuZHVuZyB6dSBwcm9ncmFtbWllcmVuIG9kZXIgc2llIHNpY2ggZGlyZWt0CmFuenVzY2hhdWVuLgoKV29iZWkgZGVyIFZpZGVvcmVjb3JkZXIgZGVuIFZvcnRlaWwgaGFldHRlLCBkYXNzIGRpZSBOYWNoLU1pdHRlcm5hY2h0cy1XZXJidW5nCmltIHNjaG5lbGxlbiBWb3JsYXVmIG51ciBoYWxiIHNvIHVlYmVsIGF1c3NpZWh0IC4uLgoKQWxzbyBzdGFycmluZzogIEthcmxsYSwgVmFnbmFyZCB1bmQgd2VpdGVyZSBVcmRyYWNoZW4KClp1bSBTY2hsdXNzIG5vY2ggZWluIFdvcnQgZGVyIFdhcm51bmc6ICBWb3JzaWNodCB2b3IgRWxmZW4sIGRpZSB2b24gQXN0IHp1CkFzdCBodWVwZmVuIHVuZCBhdXNzZWhlbiB3aWUgRGVlZGxpdCAtIGFrdXRlIFp1Y2tlcnNjaG9ja2dlZmFociEKCi0tIApPZ2FyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJdGFsaWVuIHVuZCBFdXJvcGEgKEdhbmRvLCAxNi4gSnVsIDIwMDMsIDA5OjI5OjQyKToKaHR0cDovL2JldGEueGtvLmN6L2Rhbm55L0VVUk9QRS1JVEFMWS5zd2YKClNlaHIgYW11ZXNhbnQgCgpHYW5kbyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdlYXBvbnMgb2YgbWFzcyBkZXN0cnVjdGlvbiAoQ3JvZnQsIDE2LiBKdWwgMjAwMywgMTA6MDM6NDkpOgp+IyEgcm49VmluY2VudCBydD0xMDU3MzA5NTI5IHJnPXd3dwp+IyEgdGlkPTEwNTczMDk1MjkKaHR0cDovL3d3dy5jb3hhci5wd3AuYmx1ZXlvbmRlci5jby51ay9ibGFpci5odG1sCmlzdCBkZW4gWnVzYW1tZW5oYW5nIGF1Y2ggbmV0dC4gIE1pdHRsZXJ3ZWlsZSBsZWlkZXIgbnVyIG5vY2ggZGVyCnp3ZWl0ZSBIaXQgd2VubiBtYW4gbmFjaCAnaW52ZW50IHN0b3J5JyBzdWNodC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYWtldGVuYWJ3ZWhyIChOb25uZSwgMTcuIEp1bCAyMDAzLCAwODo0MTowMyk6Cmh0dHA6Ly93d3cud2FzaGluZ3RvbnBvc3QuY29tL3dwLWR5bi9hcnRpY2xlcy9BNjEyMzUtMjAwM0p1bDE1Lmh0bWwKCkdvZXR0bGljaCBzaW5kIGRpZSBsZXR6dGVuIGJlaWRlbiBBYnNhZXR6ZS4gQWxzbyB3ZXIgamV0enQgbm9jaCBkZW5rdCwgZGFzcwpkaWUgQW1pcyBhbGxlIFRhc3NlbiBpbSBTY2hyYW5rIGhhYmVuLi4uCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYWtldGVuYWJ3ZWhyIChOb25uZSwgMTcuIEp1bCAyMDAzLCAwODo0OTo1Mik6Cn4jISBybj1Ob25uZSBydD0xMDU4NDI0MDYzIHJnPXd3dwp+IyEgdGlkPTEwNTg0MjQwNjMKU3BpZWdlbCBoYXQgYXVjaCB3YXMgenVtIFRoZW1hLCBhYmVyIHp1ciBUZWNobmlrLCBuaWNodCB6dXIgaGlybnZlcmJyYW5udGVuClJlYWt0aW9uIGRlciBSZWdpZXJ1bmc6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXNzZW5zY2hhZnQvbWVuc2NoLzAsMTUxOCwyNTczMDksMDAuaHRtbAoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGRpZSBpdGFsaWVuaXNjaGVuIG1vbWVudGUgaW0gbGViZW4gKERlZXBibHVlLCAxNy4gSnVsIDIwMDMsIDA5OjM5OjExKToKaHR0cDovL3d3dy5tZWlubGViZW5pc3RzY2hlaXNzZS5kZS9pdnNlLnBocAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJha2V0ZW5hYndlaHIgKEtlbGx5YnVuZHksIDE3LiBKdWwgMjAwMywgMTg6NTE6NTIpOgp+IyEgcm49Tm9ubmUgcnQ9MTA1ODQyNDA2MyByZz13d3cKfiMhIHRpZD0xMDU4NDI0MDYzCmlzIGphIGF1Y2ggc2Nob24gdm9tIG5ldHogYW5zY2hlaW5lbmQuIHdvcnVtIGdpbmdzIGRhPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGEgdHV0IEJlcmxpbiBlaW5tYWwgd2FzIGZ1ZXIgZGllIE1hZW5uZXJ3ZWx0Li4uIChOb25uZSwgMTguIEp1bCAyMDAzLCAxMDowODo1MCk6Ci4uLiB1bmQgZGFubiBzb3dhcy4gKnNldWZ6KgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwyNTc0MzcsMDAuaHRtbAoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaXggZnVlciB6YXJ0ZSBHZW11ZXRlciAoYzsgKEFwb2xsb25pYSwgMTguIEp1bCAyMDAzLCAxMToyODoxMik6Cmh0dHA6Ly8ybHcuZGUvYmlvL2hvbWVwYWdlL2ZsYXNoL21hZG5lc3MuaHRtCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGEgdHV0IEJlcmxpbiBlaW5tYWwgd2FzIGZ1ZXIgZGllIE1hZW5uZXJ3ZWx0Li4uIChCYW1iaSwgMTguIEp1bCAyMDAzLCAxMjowNjo0OCk6Cn4jISBybj1Ob25uZSBydD0xMDU4NTE1NzMwIHJnPXd3dwp+IyEgdGlkPTEwNTg1MTU3MzAKRGVyIEFydGlrZWwgZXJpbm5lcnQgbWljaCBpbW1lciBpcmdlbmR3aWUgYW4gZXJ6a29uc2VydmF0aXZlIExldXRlIGluIGRpdmVyc2VuClBhcnRlaWVuLCBkaWUgbWVpbmVuLCBzaWUgd3Vlc3N0ZW4sIHdhcyBhbSBCZXN0ZW4gZnVlciBhbGxlIHNlaS4gRWluIGtsZWluZXIsCndlbm4gYXVjaCBkZW4gR2VzY2hhZWRpZ3RlbiB6dW5hZWNoc3QgbmljaHRzIGJyaW5nZW5kZXIgVHJvc3QgaXN0IHp1bWluZGVzdCwKZGFzcyBkYSBkaWUgR3J1ZW5lbiBhdWNoIG1hbCBuZWdhdGl2IGJlaSBzb3dhcyBlcndhZWhudCB3ZXJkZW4gdW5kIG5pY2h0IGltbWVyCm51ciAibWVpbmUiIExldXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5peCBmdWVyIHphcnRlIEdlbXVldGVyIChjOyAoVmFuaXIsIDE4LiBKdWwgMjAwMywgMTM6MTg6NDQpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNTg1MjA0OTIgcmc9d3d3Cn4jISB0aWQ9MTA1ODUyMDQ5MgoKRGFzIFZlcmhhbHRlbiBsaWVndCBudXIgYW4gZGVyIE11c2lrLCBvZGVyID8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppc2xhbmQgKEJpcmR5LCAxOC4gSnVsIDIwMDMsIDE4OjQ1OjQ3KToKTXkgaG9tZSBpcyBteSBpc2xhbmQhICpnKgpodHRwOi8vd3d3Lmluc2Vsc3BpZWwuZGU/cmVmPTQ1MDkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgdmVyc2Nod29lcnVuZ3N0aGVvcmV0aWtlciA6KSAoS2VsbHlidW5keSwgMTguIEp1bCAyMDAzLCAyMjoyNDo1NSk6Cmh0dHA6Ly93d3cudG9rby1oYWdlbi5kZS9sZXNlci8yX2VnZ2VydDIuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoqa3JlaXNjaCogKEFwb2xsb25pYSwgMjAuIEp1bCAyMDAzLCAwOTo1NzoyNSk6Cmh0dHA6Ly9sb3ZlLmpoZ3NlcnZlci5kZS8KCkFwbyoKbGFjaHQgaW1tZXIgbm9jaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICprcmVpc2NoKiAoTW9vbnNoaW5lLCAyMC4gSnVsIDIwMDMsIDEzOjE0OjEyKToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDU4Njg3ODQ1IHJnPXd3dwp+IyEgdGlkPTEwNTg2ODc4NDUKWnVlcnN0IGF1ZiBKYSBvZGVyIGF1ZiBOZWluIGdlZHJ1ZWNrdD8gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICprcmVpc2NoKiAoQXBvbGxvbmlhLCAyMC4gSnVsIDIwMDMsIDEzOjE1OjM2KToKfiMhIHJuPU1vb25zaGluZSBydD0xMDU4Njk5NjUyIHJnPXd3dwp+IyEgdGlkPTEwNTg2ODc4NDUKQXVmIEphICpnKiBJbW1lcmhpbiB3YXIgZXIgZWhybGljaCAqbG9sKgoKQXBvKgpnaWJ0IGpldHp0IGFsbGVuIFN0cmFzc2VubmFtZW4gKmJydWVsbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICprcmVpc2NoKiAoTW9vbnNoaW5lLCAyMC4gSnVsIDIwMDMsIDEzOjE2OjI4KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDU4Njk5NzM2IHJnPXd3dwp+IyEgdGlkPTEwNTg2ODc4NDUKU29zbywgRHUgc2NoYXJmZSBMaW5kZW5zdHJhc3NlIER1IQoKTW9vbnNoaW5lIC0gZGllIGF1cyBkZXIgTmFnbGVyZ2Fzc2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdXNjaCB2cyBHb3JpbGxhIChBbnRoZWEsIDIxLiBKdWwgMjAwMywgMTc6NTg6MjIpOgpodHRwOi8vd3d3LmxhY2hzY2hvbi5kZS9mcmFtZS5waHA/c2l0ZT0vc2xpZGUucGhwP2lkPTQ5NTUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNvIHdhcyBrb21tdCBkYWJlaSByYXVzLCB3ZW5uIG1hbi4uLiAoQXBvbGxvbmlhLCAyMi4gSnVsIDIwMDMsIDExOjU3OjIxKToKLi4uIGF1cyBWZXJzZWhlbiBhdWYgInVlYmVyc2V0emVuIiBrbGlja3QgdW5kIGdvb2dsZSBuZW4gVGV4dCB2b24gTWFyaWEgTWNLZWUKaW5zIERldXRzY2hlIHVlYmVyc2V0enQuLi4KCk9yaWdpbmFsOgpJZiBsb3ZlIGlzIGEgcmVkIGRyZXNzIChoYW5nIG1lIGluIHJhZ3MpCgpNeSBoZWFydCBpcyBlbXB0eS4KIFlvdXIgZXllcyBhcmUgZGFyay4KIE9uY2Ugd2Ugd2VyZSBodW5ncnksCiBOb3cgd2UgYXJlIGZ1bGwuCiBUaGVzZSBjaGFpbnMgdGhhdCBiaW5kIHVzLAogQ2FuJ3QgYmVhdCB0aGVzZSBjaGFpbnMuCiBJZiBsb3ZlIGlzIHNoZWx0ZXIsCiBJJ20gZ29ubmEgd2FsayBpbiB0aGUgcmFpbi4KIFlvdSB3ZXJlIG15IGFuZ2VsLgogTm93LCB5b3UgYXJlIHJlYWwuCiBTbyBsaWtlIGEgc3RyYW5nZXIsCiBDb2xkZXIgdGhhbiBzdGVlbC4KIFRoZSBtb3JuaW5nIGFmdGVyLAogWW91IGtub3cgd2hhdCB5b3UgYnJpbmcuCiBJZiBsb3ZlIGlzIGEgcmVkIGRyZXNzLAogV2VsbCwgaGFuZyBtZSBpbiByYWdzLgogQXdheS4KIFRoZXJlIGdvZXMgdGhlIGZhaXJ5IHRhbGUuCiBMb3JkLCBhaW4ndCBpdCBhIHNoYW1lPwogSW4gYWxsIHRoaXMgY29tZm9ydCwKIEkgY2FuJ3QgdGFrZSB0aGUgc3RyYWluLgogSWYgd2UgcGxheWVkIGV2ZW4sCiBJJ2QgYmUgeW91ciBxdWVlbi4KIEJ1dCBzb21lb25lIHdhcyBjaGVhdGluJy4KIEFuZCBpdCB3YXNuJ3QgbWUuCiBJJ3ZlIGxhaWQgaXQgb24gdGhlIHRhYmxlLAogWW91IGhhZCBzb21ldGhpbmcgYmFjay4KIElmIGxvdmUgaXMgQWNlcywKIEdpdmUgbWUgdGhlIEphY2suCgpVZWJlcnNldHp1bmcgKmtpY2hlcioKCldlbm4gTGllYmUgZWluIHJvdGVzIEtsZWlkIGlzdCAoaGFlbmdlbiBTaWUgbWljaCBpbiBkZW4gTGFwcGVuKQoKTWVpbiBIZXJ6IGlzdCBsZWVyLiBJaHJlIEF1Z2VuIHNpbmQgZHVua2VsLiBTb2JhbGQgd2lyIGh1bmdyaWcgd2FyZW4sIGpldHp0CnNpbmQgd2lyIHZvbGwuIERpZXNlIEtldHRlbiwgZGllIHVucyBiaW5kZW4sIGtvZW5uZW4gbmljaHQgZGllc2UgS2V0dGVuCnNjaGxhZ2VuLiBXZW5uIExpZWJlIFNjaHV0eiBpc3QsIHdlcmRlIGljaCBpbiBkZW4gUmVnZW4gZ2VoZW4uIFNpZSB3YXJlbiBtZWluCkVuZ2VsLiBKZXR6dCBzaW5kIFNpZSByZWFsLiBTbyB3aWUgZWluIG1lcmt3dWVyZGlnZXJlcywga2FlbHRlciBhbHMgU3RhaGwuIERlcgpNb3JnZW4gbmFjaCwgd2lzc2VuIFNpZSwgd2FzIFNpZSBob2xlbi4gV2VubiBMaWViZSBlaW4gcm90ZXMgS2xlaWQgZ3V0IGlzdApoYWVuZ2VuIFNpZSBtaWNoIGluIGRlbiBMYXBwZW4uIFdlZy4gR2VodCBkaWUgZmFpcnkgR2VzY2hpY2h0ZS4gTG9yZCwgaXN0Cm5pY2h0IGVzIGVpbmUgU2NoYW5kZT8gSW4gZGllc2VtIGdhbnplbSBLb21mb3J0IGthbm4gaWNoIG5pY2h0IGRpZSBCZWxhc3R1bmcKbmVobWVuLiBXZW5uIHdpciBzb2dhciBzcGllbHRlbiwgd3VlcmRlIGljaCBJaHJlIEtvZW5pZ2luIHNlaW4uIEFiZXIgamVtYW5kCndhciBjaGVhdGluICcuIFVuZCBlcyB3YXIgbmljaHQgaWNoLiBJY2ggaGFiZSBlcyBhdWYgZGllIFRhYmVsbGUsIFNpZSBoYXR0ZQpldHdhcyB6dXJ1ZWNrIGdlbGVndC4gV2VubiBMaWViZSBBc3NlIGlzdCwgZ2ViZW4gU2llIG1pciBkZW4gSmFjay4gCgoKQXBvKgpsYWNodCBpbW1lciBub2NoIChjOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVG9sbGVyIE5hbWUgKEJhbWJ1bGtvLCAyMi4gSnVsIDIwMDMsIDE1OjMyOjI2KToKTmEgd2VubiBkYXMga2VpbiBndXRlciBOYW1lIGZ1ZXIgZWluIEJldHQgaXN0OgpodHRwOi8vd3d3LmlrZWEuZGUvcHJvZHVjdF9wcmVzZW50YXRpb24vc2hvdy5hc3A/cHJvZHVjdG51bWJlcj01NTU0NzYwNSZ0eXBlPUEKUlQmaWQ9MTI2MywxMjM5CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFyZHdhcmV0dW5pbmcgKEdyaW1tYm9ybiwgMjMuIEp1bCAyMDAzLCAxMjo0MTozNSk6CkljaCB3ZWlzcyBqYSBuaWNodCBzbyByaWNodGlnIG9icyBuaWNodCBpbiBoYXJkc29mdHdhcmUgYmVzc2VyIGF1ZmdlaG9iZW4Kd2FlcmUsIGFiZXIgZGEgZGFzIGphIFVSTHMgc2luZC4uLgoKaHR0cDovL25vbHRlLW5ldC5kZS9kZS9hcnRpY2xlL2RlZnJhZy5odG1sCnVuZCB2b3IgYWxsZW06Cmh0dHA6Ly9ub2x0ZS1uZXQuZGUvZGUvYXJ0aWNsZS9sZWdvX2Rpc2suaHRtbAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIFNjaG9lbmhlaXQ/IChNb3Jnb3RoLCAyMy4gSnVsIDIwMDMsIDE0OjEyOjEyKToKaHR0cDovL2NhY2hlLmFuZ2VzYWd0ZXIuZGUvM2MvM2MxY2NjMDAwOWZjOTZhYjhkOTAyOWM1ZGNlMGM2NTEuanBnCgpTQ05SIE0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFtZSBXYXJyaW9ycyAoQW50aGVhLCAyMy4gSnVsIDIwMDMsIDE3OjE0OjI5KToKRGEgc2NoZWludCBqZW1hbmQgZWluZSBVZWJlcmRvc2lzIFVzZW5ldCBvZGVyIEZvcnVtIGdla3JpZWd0IHp1IGhhYmVuIDspCmh0dHA6Ly93d3cud2ludGVybmV0LmNvbS9+bWlrZWxyL2ZsYW1lMS5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbWllcmVyIG1pdCB6dXZpZWwgWmVpdCAoQW50aGVhLCAyNC4gSnVsIDIwMDMsIDEwOjM5OjM3KToKaHR0cDovL3d3dy55ZWxsb3N0cm9tLmRlLwpNaXQgZGVyIFZpcnR1ZWxsZW4gQXNzaXN0ZW50aW4ga2FubiBtYW4gc28gcmljaHRpZ2VuIFNtYWxsdGFsayBtYWNoZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ncmFtbWllcmVyIG1pdCB6dXZpZWwgWmVpdCAoTW9vbnNoaW5lLCAyNC4gSnVsIDIwMDMsIDE1OjE4OjM5KToKfiMhIHJuPUFudGhlYSBydD0xMDU5MDM1OTc3IHJnPXd3dwp+IyEgdGlkPTEwNTkwMzU5NzcKSmV0enQgaGFiZW4gZGllIGRpZSB2aXJ0dWVsbGUgQXNzaXRlbnRpbiB2b20gTmV0eiBnZW5vbW1lbi4gOy0pClNpZSBpc3QgYWJlciBhbnNjaGVpbmVuZCBnbGVpY2ggenVydWVjay4gOm8pCgpNb29uc2hpbmUgbWFnIFNtYWxsdGFsay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ncmFtbWllcmVyIG1pdCB6dXZpZWwgWmVpdCAoQ2FsZHJpbiwgMjQuIEp1bCAyMDAzLCAxNzoyMzo0MCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA1OTAzNTk3NyByZz13d3cKfiMhIHRpZD0xMDU5MDM1OTc3ClNvZ2FyIGJlc3NlciBhbHMgbWl0IHJlYWxlbiBGcmF1ZW4uIEV2ZSBnaWJ0IGtlaW5lIFdpZGVyd29ydGUuIApTaWUgdmVyc3RlaHQgbWljaCB6d2FyIG1laXN0ZW5zIG5pY2h0LCBhYmVyIGRhcyBpc3QgamEgbm9ybWFsIGJlaSBGcmF1ZW4uCgpadW0gU3ViamVrdDogUHJvZ3JhbW1pZXJlciBoYWJlbiBuaWNodCB6dSB2aWVsIFplaXQsIHNvbmRlcm4genUgd2VuaWcKR2VsZWdlbmhlaXQgZnVlciBTbWFsbHRhbGsuIDtvKQoKc28gbG9uZwpDYWxkcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByb2dyYW1taWVyZXIgbWl0IHp1dmllbCBaZWl0IChNYW5kcmFnb24sIDI0LiBKdWwgMjAwMywgMTc6NTE6MDkpOgp+IyEgcm49Q2FsZHJpbiBydD0xMDU5MDYwMjIwIHJnPXd3dwp+IyEgdGlkPTEwNTkwMzU5NzcKQWxzbyBTbWFsbHRhbGsgaXN0IG51biB3aXJrbGljaCBrZWluZSB0b2xsZSBQcm9ncmFtbWllcnNwcmFjaGUgLi4uLgoKTWEqIC0gaGF0IGRhcyAyLDUgSmFocmUgYW4gZGVyIFVuaSB1bnRlcnJpY2h0ZXQgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQcm9ncmFtbWllcmVyIG1pdCB6dXZpZWwgWmVpdCAoUGF0cnluLCAyNC4gSnVsIDIwMDMsIDIwOjE0OjIyKToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDU5MDYxODY5IHJnPXd3dwp+IyEgdGlkPTEwNTkwMzU5NzcKSWNoIGtlbm5lIGVzIG5pY2h0LCBhYmVyIHdlbm4gaWNoIHNvIGluIEMrKyBvZGVyIEphdmEtTmV3c2dyb3VwcyBzY2hhdWUsCndvIExldXRlIHJ1bWhhZW5nZW4sIGRpZSBzaWNoIGRlbiBnYW56ZW4gbGllYmVuIFRhZyBtaXQgbml4IGFuZGVyZW0genUKYmVzY2hhZWZ0aWdlbiBzY2hlaW5lbiwgYWxzIG5ldWUgUHJvZ3JhbW1pZXJzcHJhY2hlbiB6dSBsZXJuZW4sCnNjaHdvZXJlbiBhbGxlc2FtdCBhdWYgU21hbGx0YWxrLCBzb3dvaGwgU3ByYWNoZSBhbHMgYXVjaCBWTS1Wb3JyZWl0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcm9ncmFtbWllcmVyIG1pdCB6dXZpZWwgWmVpdCAoWm9vaywgMjQuIEp1bCAyMDAzLCAyMDo1ODowNSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA1OTA3MDQ2MiByZz13d3cKfiMhIHRpZD0xMDU5MDM1OTc3CkZ1ZWhydCBkYXMgU2Nod29lcmVuIGF1Y2ggenVtIEVpbnNhdHogZGVyIFNwcmFjaGU/IE9kZXIgaXN0IGRhcyBtZWhyIApzbyBlaW4gTGllYmhhYmVyLVNjaHdvZXJlbiBhIGxhICJXaWUgaGFiZW4gamEgbm9jaCB3YXMgSGVpbWVsaWdlcywgd28gCndpciB1bnMgZ3V0IGZ1ZWhsZW4iPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByb2dyYW1taWVyZXIgbWl0IHp1dmllbCBaZWl0IChUcm95LCAyNS4gSnVsIDIwMDMsIDA5OjA3OjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA1OTA3MzA4NSByZz13d3cKfiMhIHRpZD0xMDU5MDM1OTc3CkFsc28gU21hbGx0YWxrIGhpbiBvZGVyIGhlcjsgRXZlIGlzdCB2b24gS2l3aWxvZ2ljIHVuZCBkYWhlciBpbgpDKysgZ2VzY2hyaWViZW4gKHp1bWluZGVzdCBkZXIgQm90OyBkaWUgV2lzc2Vuc2Jhc2lzIGhhdCBuZSBlaWdlbmUKU3ludGF4KS4gWnVyIFplaXQgZ2lidHMgZGEgZ3JhZCBkaWUgVmVyc2lvbiAyLjAsIHdlc2hhbGIgZGVyIHdvaGwgbmljaHQgYW0KTmV0eiBoYWVuZ3QuCgpUcm95IC0gaGF0IGRlbiBCb3RzZXJ2ZXIgYmVpIEtpd2lsb2dpYyBnZXNjaHJpZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFByb2dyYW1taWVyZXIgbWl0IHp1dmllbCBaZWl0IChUcm95LCAyNS4gSnVsIDIwMDMsIDEwOjQ2OjEzKToKfiMhIHJuPVRyb3kgcnQ9MTA1OTExNjg2MiByZz13d3cKfiMhIHRpZD0xMDU5MDM1OTc3ClN0YXR1cyB2b24gRXZlIGlzdDogRXMgZ2lidCBkb3J0IGVpbmUgNTAgUGFyYWxsZWxjb25uZWN0aW9ucy1MaXplbnogdW5kCmRpZSBBdXNsYXN0dW5nIHVlYmVyIGRpZSBsZXR6dGVuIDIgV29jaGVuIHdhciB6d2lzY2hlbiAxMCB1bmQgMjIgVWhyIGJlaQpkdXJjaHNjaG5pdHRsaWNoIDk3JS4gWWVsbG9zdHJvbSBiYXV0IGRpZSBXZWJzZWl0ZSB1bSB1bmQgd2lsbApuZXVlIExpemVuemVuIGhhYmVuLiBBbHNvIGltbWVyIG1hbCB3aWVkZXIgcHJvYmllcmVuLgoKd2VpdGVyZSBCb3RiZWlzcGllbGUgKGZ1ZXIgZGVuIEluaGFsdCBrZWluZSBIYWZ0dW5nKSB1bnRlcjoKaHR0cDovL3d3dy5idW5kZXNrYW56bGVyLmRlLyAoRmluZHVsaW4pCmh0dHA6Ly93d3cuZGlkZGwuZGUvIChEaWRkbCkKaHR0cDovL3d3dy5zY2h3YWViaXNjaC1oYWxsLmRlLyAoQ2hhdGZ1Y2hzKQpBdXNzZXJkZW0gZGVyIEtpd2lsb2dpYy1CZWlzcGllbGJvdDoKaHR0cDovL3d3dy5lbGJvdC5kZS8gKEVsYm90KQoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUHJvZ3JhbW1pZXJlciBtaXQgenV2aWVsIFplaXQgKFBhdHJ5biwgMjUuIEp1bCAyMDAzLCAxMjozOTozNyk6Cn4jISBybj1Ucm95IHJ0PTEwNTkxMjI3NzMgcmc9d3d3Cn4jISB0aWQ9MTA1OTAzNTk3NwpIZWhlLi4uZmluZHVsaW5AYnVuZGVza2FuemxlcjoKRnJhZ2U6IFNpbmQgZGllIEhhYXJlIGRlcyBLYW56bGVycyBnZWZhZXJidD8KQW50d29ydDogTWVpbmUgRmVkZXJuIHNpbmQgamVkZW5mYWxscyBzbyBibGF1LCB3aWUgYW0gZXJzdGVuIFRhZy4KICBEYXMga2FubiBpY2ggSWhuZW4gdmVyc2ljaGVybi4KCkFsc28gd2VubiBkZXIgR2VpZXIgbmljaHQgZGlwbG9tYXRpc2NoIGlzdCwgd2VyIGRhbm4gOikKCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFByb2dyYW1taWVyZXIgbWl0IHp1dmllbCBaZWl0IChSb2NodXMsIDI1LiBKdWwgMjAwMywgMTI6NDQ6MTQpOgp+IyEgcm49UGF0cnluIHJ0PTEwNTkxMjk1Nzcgcmc9d3d3Cn4jISB0aWQ9MTA1OTAzNTk3NwpXZXIgZGFubj8KCldlaXNzIGRlciBHZWllci4uLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZXIgQ2hhcmFrdGVyLi4uIChGb29iYXIsIDI1LiBKdWwgMjAwMywgMTM6MTA6MDUpOgouLi4gYXVzICdBIFNvbmcgb2YgSWNlIGFuZCBGaXJlJyBiaXN0IER1PwoKaHR0cDovL21lbWJlcnMudHJpcG9kLmNvbS9hc29pYWYvY3Rlc3QyLmh0bWwKCkZhbGxzIHdpciBkYXMgc2Nob24gbWFsIGhhdHRlbjogU29ycnkuCgogICBGb29iYXIKClBTOiBJY2ggYmluIE5lZCBTdGFyaywgc29sbCBpY2ggbWljaCBqZXR6dCBmcmV1ZW4gb2RlciBuaWNodD8gO28pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VsY2hlciBDaGFyYWt0ZXIuLi4gKEJvaW5nLCAyNS4gSnVsIDIwMDMsIDEzOjEyOjEyKToKfiMhIHJuPUZvb2JhciBydD0xMDU5MTMxNDA1IHJnPXd3dwp+IyEgdGlkPTEwNTkxMzE0MDUKS29wZiBhYiEgOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWxjaGVyIENoYXJha3Rlci4uLiAoQXBvbGxvbmlhLCAyNS4gSnVsIDIwMDMsIDEzOjI3OjM4KToKfiMhIHJuPUJvaW5nIHJ0PTEwNTkxMzE1MzIgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpBcnlhIFN0YXJrLi4uIHd1bmRlcnQgbWljaCBnYXIgbmljaCAqZyoKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlbGNoZXIgQ2hhcmFrdGVyLi4uIChGb29iYXIsIDI1LiBKdWwgMjAwMywgMTM6Mjg6MTApOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNTkxMzI0NTggcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpIYXQgc2Nob24gd2VyIGRpZSBBcnNjaGthcnRlIG5hbWVzICJIb2RvciIgZ2V6b2dlbj8gO28pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlbGNoZXIgQ2hhcmFrdGVyLi4uIChNb3Jnb3RoLCAyNS4gSnVsIDIwMDMsIDEzOjMxOjQyKToKfiMhIHJuPUZvb2JhciBydD0xMDU5MTMyNDkwIHJnPXd3dwp+IyEgdGlkPTEwNTkxMzE0MDUKVHlyaW9uIExhbm5pc3RlcgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWxjaGVyIENoYXJha3Rlci4uLiAoTXVhZGliLCAyNS4gSnVsIDIwMDMsIDE1OjA1OjM4KToKfiMhIHJuPUZvb2JhciBydD0xMDU5MTMxNDA1IHJnPXd3dwp+IyEgdGlkPTEwNTkxMzE0MDUKd2FhYWFhYWggdHlyaW9uIGxhbm5pc3RlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWxjaGVyIENoYXJha3Rlci4uLiAoTHVnLCAyNS4gSnVsIDIwMDMsIDE1OjMzOjQ5KToKfiMhIHJuPU11YWRpYiBydD0xMDU5MTM4MzM4IHJnPXd3dwp+IyEgdGlkPTEwNTkxMzE0MDUKVG9ldGV0IGFsbGUgTGFubmlzdGVycyEKTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlbGNoZXIgQ2hhcmFrdGVyLi4uIChGb29iYXIsIDI1LiBKdWwgMjAwMywgMTc6NDA6MDYpOgp+IyEgcm49THVnIHJ0PTEwNTkxNDAwMjkgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpXaW50ZXIgZmVsbCBidXQgQ2FzdGVybHkgcm9ja3MuCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlbGNoZXIgQ2hhcmFrdGVyLi4uIChMdWcsIDI2LiBKdWwgMjAwMywgMTY6NDQ6MDYpOgp+IyEgcm49THVnIHJ0PTEwNTkyMzA2MTYgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpXaW50ZXIgaXMgQ29taW5nIQpMLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2VsY2hlciBDaGFyYWt0ZXIuLi4gKFRyb3ksIDI3LiBKdWwgMjAwMywgMTQ6NTA6MDApOgp+IyEgcm49THVnIHJ0PTEwNTkyMzA2NDYgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpKb24gU25vdy4uLiBXZXIgenVtIFRldWZlbCBpc3QgZGFzPwoKVHJveQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VsY2hlciBDaGFyYWt0ZXIuLi4gKEx1ZywgMjguIEp1bCAyMDAzLCAyMjoyNzowNyk6Cn4jISBybj1Ucm95IHJ0PTEwNTkzMTAyMDAgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpTdGFyay4KTC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlbGNoZXIgQ2hhcmFrdGVyLi4uIChNdWFkaWIsIDI5LiBKdWwgMjAwMywgMDk6MzM6MDQpOgp+IyEgcm49THVnIHJ0PTEwNTk0MjQwMjcgcmc9d3d3Cn4jISB0aWQ9MTA1OTEzMTQwNQpsdWcgZHUgYmlzdCBzYW5zYSBzdGFyayA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpnYW56IHZpZWxlIHRvbGxlIE11c2NoaXMgKEFudGhlYSwgMzAuIEp1bCAyMDAzLCAwOTozNTo0OSk6Cmh0dHA6Ly9vbGl2aWVyLmRhdWJ5Lm5ldC9mdW4vY2F0cy5jYXRzLmNhdHMud212CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaW51eCBvbiB0aGUgd2FsbCAoR2FuZG8sIDMxLiBKdWwgMjAwMywgMTQ6Mzk6MTQpOgpodHRwOi8vd3d3LmJvcmRlcmdhdGV3YXlwcm90b2NvbC5uZXQvfmpvbi9odW1vci9pbWFnZXMvbGludXhvbnRoZXdhbGwuanBnCgpHYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKOi0pIChNYWdpY29sbGksICA2LiBBdWcgMjAwMywgMTk6NTg6MDMpOgoKaHR0cDovL3VuaW11dC5mc2sudW5pLWhlaWRlbGJlcmcuZGUvc2Nod29iP3NjaHdvYl91cmw9aHR0cCUzQSUyRiUyRm1nLm11ZC5kZSUyCkZjZ2ktYmluJTJGbXVkd3d3JTNGUkVRJTNEd2FsayUyNlJPT00lM0RNZW5zY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDotKSAoQW1hcnlsbGlzLCAgNi4gQXVnIDIwMDMsIDE5OjU5OjM5KToKfiMhIHJuPU1hZ2ljb2xsaSBydD0xMDYwMTkyNjgzIHJnPXd3dwp+IyEgdGlkPTEwNjAxOTI2ODMKZGVyIFVuaW11dCBzY2h3b2JpZnlpbmcgUHJveHkgaXN0IHNlaHIgZ2VpbCAtIG5hY2ggZGVtIEtvZWxuYSB3ZXJkIGljaCBiZWkgbWlyCmF1Y2ggbm9jaCBzY2h3YWViaXNjaCBlaW5iYXVlbiBpcmdlbmR3YW5uIDotKSkKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogOi0pIChDYWxkcmluLCAgNy4gQXVnIDIwMDMsIDEwOjIyOjEwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDYwMTkyNzc5IHJnPXd3dwp+IyEgdGlkPTEwNjAxOTI2ODMKQXVzc2VyZGVtIGlzdCBlciBkYXMgcGVyZmVrdGUgQmVpc3BpZWwsIHdhcnVtIENvbnRlbnRmaWx0ZXIgbmljaHQKZnVua3Rpb25pZXJlbi4KCnNvIGxvbmcKQ2FsZHJpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx0ZSBDb21wdXRlcnNwaWVsZSAoTmFuc2hlLCAgNy4gQXVnIDIwMDMsIDEzOjEzOjIwKToKSGksCnplaXQKemVpdAp6ZWl0CndlciBzaWNoIG1hbmNobWFsIHdlaG11ZXRpZyBhbiBkaWUgYWx0ZW4gQ29tcHV0ZXJzcGllbCBaZWl0ZW4genVydWVja2VyaW5uZXJ0CmFscyBkaWUgIlJlY2huZXIiIG5vY2ggNjQgYnp3LiA1MTJrQiBTcGVpY2hlciBpaHIgZWlnZW4gbmFubnRlbiB1bmQgZGVyIHNlaW5lCmdhbnplbiBBU00ncywgUG93ZXJwbGF5cyB1bmQgQW1pZ2EgSm9rZXIgTWFnYXppbmUgaXJnZW5kd2FubiBkb2NoIG1hbCBkZW0KQWx0cGFwaWVyIHVlYmVyZ2ViZW4gaGF0LCBkZW0gc2VpIGRpZSBTZWl0ZSBodHRwOi8vd3d3Lmt1bHRwb3dlci5kZSBhbnMgSGVyegpnZWxlZ3QuIEVjaHQgbHVzdGlnIHNpY2ggbWFsIHdpZWRlciB6dXJ1ZWNrenVlcmlubmVybiB1bmQgZGFzIGVpbiB1bXMgYW5kZXJlCk1hbCBhdXMgbm9zdGFsZ2lzY2hlbiBHcnVlbmRlbiBhdWZ6dXNldWZ6ZW4uIFZpZWwgU3Bhc3MgYmVpbSBzY2htb2VrZXJuIQpOYW5zaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHRlIENvbXB1dGVyc3BpZWxlIChOYW5zaGUsICA3LiBBdWcgMjAwMywgMTM6MTQ6NTQpOgp+IyEgcm49TmFuc2hlIHJ0PTEwNjAyNTQ4MDAgcmc9d3d3Cn4jISB0aWQ9MTA2MDI1NDgwMApEYSBtdXNzIGljaCBtaWNoIGphIG5pY2h0IHd1bmRlcm4gd28gbWVpbmUgZ2FuemUgWmVpdCBnZWJsaWViZW4gaXN0IHdlbm4gaWNoCmRpZSBpbiBkZW4gQXJ0aWtlbCBpbnZlc3RpZXJlLi4uCk5hbnNoZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHRlIENvbXB1dGVyc3BpZWxlIChBbm9yaXMsICA3LiBBdWcgMjAwMywgMTM6MzU6MTApOgp+IyEgcm49TmFuc2hlIHJ0PTEwNjAyNTQ4OTQgcmc9d3d3Cn4jISB0aWQ9MTA2MDI1NDgwMApNaXIgcGVyc29lbmxpY2ggd3VlcmRlIGVzIGphIHJlaWNoZW4gd2VubiBET1RUIGlyZ2VuZHdpZSBzcGllbGJhcgp3YWVyZS4gT2RlciBoYXQgbm9jaCB3ZXIgZWluZSBhbHRlIEtpc3RlIHVlYmVyPyA7KQoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsdGUgQ29tcHV0ZXJzcGllbGUgKFR5bGFrLCAgNy4gQXVnIDIwMDMsIDEzOjQyOjIxKToKfiMhIHJuPUFub3JpcyBydD0xMDYwMjU2MTEwIHJnPXd3dwp+IyEgdGlkPTEwNjAyNTQ4MDAKU2NoYXUgZGlyIG1hbCBodHRwOi8vc2N1bW12bS5zb3VyY2Vmb3JnZS5uZXQvIGFuLgoKVHlsYWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFsdGUgQ29tcHV0ZXJzcGllbGUgKFRyb3ksICA3LiBBdWcgMjAwMywgMTU6MzY6MTIpOgp+IyEgcm49VHlsYWsgcnQ9MTA2MDI1NjU0MSByZz13d3cKfiMhIHRpZD0xMDYwMjU0ODAwCjpoYXQgVklDRSBpbnN0YWxsaWVydCB1bmQgc29taXQga2VpbmUgU2Nod2llcmlna2VpdGVuLCB6dW1pbmRlc3QgZGllCkM2NGVyIHVuZCBDMTI4ZXItR2FtZXMgaW1tZXIgbm9jaCB6dSBzcGllbGVuLgoKSWNoIHNhZyBudXIgTS5VLkwuRS4gcnVsZXohCnp3aXNjaGVuemVpdGxpY2ggbGVpZGVyIG51ciBodHRwOi8vZWlkb2xvbi5kbnNhbGlhcy5uZXQvCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZXJrcyAoQXBvbGxvbmlhLCAgNy4gQXVnIDIwMDMsIDIxOjAyOjAwKToKaHR0cDovL3d3dy5tYWxldm9sZS5jb20vbXYvbWlzYy9raWxsZXJxdWl6LwoKSWNoIGhhdHRlIDkgdm9uIDEwIHJpY2h0aWcuCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb3cgVG8gTWFrZSB5b3VyIG93biBLaWRkaWUgU3VycHJpc2UgKFdoaXRldGlnZXIsICA3LiBBdWcgMjAwMywgMjI6MzA6NTQpOgpodHRwOi8vd3d3Lm1hbGV2b2xlLmNvbS9tdi9taXNjL2tpZGRpZXN1cnByaXNlLwoKV2hpdGVUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHVzc2kgb2RlciBUdW50ZSAoTm9ubmUsICA4LiBBdWcgMjAwMywgMDg6MDg6MDEpOgpodHRwOi8vd3d3LnR1c3NpLXR1bnRlbi10ZXN0LmxvZXJja3MubmV0LwoKSGF0dGUgMTUgdm9uIDIwIHJpY2h0aWcuIEVzIGlzdCBzY2h3aWVyaWdlciwgYWxzIGVzIHNpY2ggYW5ob2VydC4uLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHVzc2kgb2RlciBUdW50ZSAoQXBvbGxvbmlhLCAgOC4gQXVnIDIwMDMsIDA4OjIwOjM5KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjAzMjI4ODEgcmc9d3d3Cn4jISB0aWQ9MTA2MDMyMjg4MQpJY2ggaGF0dGUgMTQgdm9uIDIwICpnKgoKQXBvKgpoYXR0ZSBkYWZ1ZXIgZGFzIGJlc3NlcmUgSGFlbmRjaGVuIGJlaSBkZW4gUHN5Y2hvcGF0aGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFR1c3NpIG9kZXIgVHVudGUgKFplcGh5ciwgIDguIEF1ZyAyMDAzLCAyMjo1NTowMyk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTA2MDMyMzYzOSByZz13d3cKfiMhIHRpZD0xMDYwMzIyODgxCjoiQXVmZ3J1bmQgZGVyIGhvaGVuIEJlc3VjaGVyemFobGVuIHVuZCBkZXMgaG9oZW4gVHJhZmZpY3MsIGJpbiBpY2gKOmxlaWRlciBnZXp3dW5nZW4sIGRpZSBXZWJzaXRlIHZvcnVlYmVyZ2VoZW5kIHp1IHNjaGxpZXNzZW4uCjpWaWVsZW4gRGFuayBmdWVyIEV1cmUgdWViZXJycmFnZW5kZSBUZWlsbmFobWUuIFdlbm4gaWNoIGVpbmVuIFNwb25zb3IKOmdlZnVuZGVuIGhhYmUsIHdlcmRlIGljaCBkaWUgU2VpdGUgd2llZGVyIG9lZmZuZW4uIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFwYWxtZWluc2F0eiBpbSBJcmFrIChWYXJkaW9uLCAxMS4gQXVnIDIwMDMsIDEwOjUxOjEyKToKaHR0cDovL3d3dy53ZHIuZGUvdHYvbW9uaXRvci9iZWl0cmFnLnBodG1sP2JpZD01MTMmc2lkPTEwMAoKRnVlciBzb29vbyBzY2hsZWNodCBoYXR0ZSBpY2ggZGllIEFtaXMgZGFubiBkb2NoIG5pY2h0IGdlaGFsdGVuLi4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFwYWxtZWluc2F0eiBpbSBJcmFrIChDcm9mdCwgMTEuIEF1ZyAyMDAzLCAxMDo1ODowMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjA1OTE4NzIgcmc9d3d3Cn4jISB0aWQ9MTA2MDU5MTg3MgpOYWphLiAgU3BpZWx6ZXVnIGF1c3Byb2JpZXJlbi4uLiAgU28gc2luZCBzaWUgaGFsdC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hcGFsbWVpbnNhdHogaW0gSXJhayAoSW1kYSwgMTEuIEF1ZyAyMDAzLCAxMjoyNjoxMCk6Cn4jISBybj1Dcm9mdCBydD0xMDYwNTkyMjgxIHJnPXd3dwp+IyEgdGlkPTEwNjA1OTE4NzIKVmVyYm90ZW4gdW5kIHZvZWxrZXJyZWNodHN3aWRyaWc/IEh1Y2g/IFNlaXQgd2Fubj8gSXMgZGFzIGR1bW1lcwpNb25pdG9yZ2VzY2h3YWV0eiwgb2RlciBoYXQgZGEgenVmYWVsbGlnIGplbWFuZCBuZSBRdWVsbGUgZ3JlaWZiYXI/CgpJbWRhLiBWZXJ3dW5kZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW5kbGljaCBlaW5lIEFsZ2VybmFnaXZlISAoQW50aGVhLCAxMS4gQXVnIDIwMDMsIDE2OjA0OjQ1KToKaHR0cDovL3d3dy5nLW9ubGluZS5vcmcvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcm9qYW5lciAoTm9ubmUsIDEyLiBBdWcgMjAwMywgMTM6NTY6MjApOgpodHRwOi8vd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvaW5oYWx0L3RlLzE1NDIyLzEuaHRtbAoKRGFydWViZXIgc29sbHRlIG1hbiBzaWNoIG1hbCBHZWRhbmtlbiBtYWNoZW4uIFdlaXNzIGF1Y2ggbmljaHQsIHdhcyBpY2ggZGF2b24KaGFsdGVuIHNvbGwsIGFiZXIgZWluIEdydW5kIG1laHIsIHNlaW5lbiBSZWNobmVyIGFienVzaWNoZXJuLgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgQm9yZyBzaW5kIHVudGVyIHVucyEgKEJhbWJ1bGtvLCAxNS4gQXVnIDIwMDMsIDE1OjEyOjMxKToKRGllIEJvcmcgc2luZCBzY2h1biB1bnRlciB1bnM6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvd2lzc2Vuc2NoYWZ0L21lbnNjaC8wLDE1MTgsMjYxMjc4LDAwLmh0bWwKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIHNvIGVpbiAsLFdhcyBiaXN0IER1PycnLi4uIENvbnRlc3QuLi4gKEh1bW5pLCAxNS4gQXVnIDIwMDMsIDE3OjA1OjEzKToKaHR0cDovL3d3dy50azQyMS5uZXQvY2hhcmFjdGVyLwoKSWNoIGJpbiBKb2huIFNoZXJpZGFuIHZvbiBCYWJ5bG9uIDUsIGtlaW5lIEFobnVuZyB3ZXIgZGFzIGlzdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGFsbGUgRnJhdWVuIChOb25uZSwgMTguIEF1ZyAyMDAzLCAxMTowNzo1Mik6Ci4uLiBkaWUgc2ljaCBtYWwgdWViZXIgZGVuIFRpc2NoIHppZWhlbiBsYXNzZW4gd29sbGVuOgpodHRwOi8vd3d3LmJydXN0dmVyZ3JvZXNzZXJ1bmcuaHlwbm9zZS1jZC5jb20vZC9icnVzdHZlcmdyb2Vzc2VydW5nLWNkOS5odG0KCkljaCBoYWJlIHNlaHIgZ2VsYWNodCAqZyoKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbGFuZ2Ugd2VpbGUgaW0gYnVlcm8/IChHYW5kbywgMTguIEF1ZyAyMDAzLCAxMzozMTo0Myk6Cmh0dHA6Ly93d3cuZGVpbmUtb21hLmRlL3BvcC5zd2YKCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpRdWVzdCAoR2xvaW5zb24sIDE5LiBBdWcgMjAwMywgMDI6NDc6MzUpOgpodHRwOi8vd3d3LmZyZXNoc2Vuc2F0aW9uLmNvbS9zYW1vcm9zdC5zd2YKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb21wdXRlcnNwaWVsZSBoZWxmZW4gbmFjaCBTY2hsYWdhbmZhbGwgKFZpbmNlbnQsIDE5LiBBdWcgMjAwMywgMTE6MDI6MDEpOgpodHRwOi8vd3d3LnByZXNzZXRleHQuZGUvcHRlLm1jP3B0ZT0wMzA4MTgwMDcKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlaGVuISBTZWhlbiEgRnJldWVuISAoR2xvaW5zb24sIDIwLiBBdWcgMjAwMywgMDE6MDQ6MzUpOgpodHRwOi8vd3d3Lm9sc2VuYmFuZGUtanVuaW9yLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG9uJ3QgZmFsbCBmb3IgdGhpczogKEdsb2luc29uLCAyMS4gQXVnIDIwMDMsIDE3OjExOjQ0KToKaHR0cDovL2Fycy51c2VyZnJpZW5kbHkub3JnL2NhcnRvb25zL3JlYWQuY2dpP2lkPTIwMDMwODIxJnRpZD04NDg3MDkKCkljaCB3ZWlzcyBuaWNodCB3ZWxjaGUgUnVicmlrIGJlc3NlciBnZWVpZ25ldCBpc3QsICJzY2h3YXJ6ZXJfaHVtb3IiIG9kZXIKInd3dyIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VyIHdhcnN0IGR1IGltIHZvcmlnZW4gTGViZW4/IChBbGJvaW4sIDIyLiBBdWcgMjAwMywgMDg6NDc6NTkpOgpFcyBnaWJ0IGphIGR1cmNoYXVzIGVybnN0aGFmdGUgQW5zaWNodGVuIHp1bSBUaGVtYSBSZWlua2FybmF0aW9uIHVuZCBzbywgZGllc2UKU2VpdGUgaXN0IHdvaGwgZWhlciB6dW0gYW11ZXNpZXJlbi4gRWluZmFjaCBHZWJ1cnRzZGF0dW0gZWludGlwcGVuIHVuZCBzaWNoCnNjaGVja2lnIGxhY2hlbi4KCmh0dHA6Ly93d3cuc3Bpcml0cHJvamVjdC5kZS9vcmFrZWwva2FybWEvCgpJY2ggYmluIHVlYnJpZ2VucyBlaW4gVm9nZWxzY2h1ZXR6ZXIgYXVzIGRlbSAxNyBKaC4gaW4gQ2hpbmEsIHVuZCB2b20gVHlwIGhlcgpyZXZvbHV0aW9uYWVyIHVuZCBoYWJlIFZlcmFlbmRlcnVuZ2VuIGluIFdpcnRzY2hhZnQgdW5kIFBvbGl0aWsgZXJyZWljaHQuIE51bgpzb2xsdGUgaWNoIG1laHIgYXVmIGRpZSBnb2V0dGxpY2hlbiBadXNhbW1lbmhhZW5nZSB2ZXJ0cmF1ZW4uLi4gCkhtbSBkYWJlaSBkYWNodGUgaWNoIGltbWVyIGVpbiBzY2h3YXJ6IGdlc2NoZWNrdGVzIEthbmluY2hlbiBpbiBGcmFua3JlaWNoCmdld2VzZW4genUgc2Vpbi4KCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWNodHJhZyB6dW0gQy1UZWFtIChMaWFyYSwgMjMuIEF1ZyAyMDAzLCAyMzoxNToxNSk6ClZpZWxlIGRlciBhbHRlbiBTYWNoZW4gZ2lidCBlcyBhbHMgTVAzIHVudGVyCgp3d3cuYW5kcmVhcy1zY2h3ZWl6ZXIuZGUKCkFic29sdXQgbG9obmVuc3dlcnQhCgoKQW5rZSB1bmQgS3Jpc3RpYW4gYmVzY2hyZWliZW4gZGllIEVudHN0ZWh1bmcgZGVzIEMtVGVhbXMgaW4gZWluZW0gSW50ZXJ2aWV3CndpZSBmb2xndCAodmVya3Vlcnp0KToKCktyaXN0aWFuOiBKYSwgZGFzIHdhciBuZSBzY2hvZW5lIEdlc2NoaWNodGUuIERhcyB3YXIgZWlnZW50bGljaCB3aWUgYmVpIEhhcnJ5CnVuZCBTYWxseS4uLi4gRXMgd2FyIGRhbWFscy4uLi4gamEgd2lyIHNhc3Nlbi4uLiBpY2ggc2FzcyBlaWdlbnRsaWNoIGFsbGVpbmUKaW0gU3R1ZGlvIHVuZCBwbG9ldHpsaWNoIGthbSBzaWUgaGluenUuIFNpZSBzYWd0ZTogU29sbCBzb2xsIGljaCBkaXIgbm9jaApHZXNlbGxzY2hhZnQgbGVpc3Rlbj8gRXJ6YWVobCBkb2NoIG1hbCwgd2FydW0gZHUgbm9jaCBkYSB3YXJzdC4gIApBbmtlOiBKYSBpY2ggd2FyIG5vY2ggaW0gSGF1cy4gCktyaXN0aWFuOiBFcyB3YXIgaGFsYiAyLiAKQW5rZTogSWNoIHRyaWViIG1pY2ggamVkZW5mYWxscyBub2NoIGhpZXIgcnVtLiAKS3Jpc3RpYW46IER1IHdhcnN0IGRvY2ggc2Nob24gbWFsIHdlZyB1bmQga2Ftc3Qgbm9jaCBtYWwgcmVpbiB1bSBtaWNoIHp1CnNlaGVuLiAgCkFua2U6IE5laW4gaWNoIGhhYiBmdWVyIEtlbGxuZXIgTGl6ZW56ZW4gYXVmZ2VzY2hyaWViZW4uLi4gCktyaXN0aWFuOiAuLi51bmQgd2VpbCBkdSBoZWlzcyBhdWYgbWljaCB3YXJzdCEgCkFua2U6IEphLCBva2F5IGljaCBnZWJzIHp1LCBpY2ggd29sbHRzIG1pdCBkaXIgbWFjaGVuISAKS3Jpc3RpYW46IFNpZSBrYW0gYWxzbyBpbnMgU3R1ZGlvLCBpY2ggaGFiZSB3ZWl0ZXJtb2RlcmllcnQsIHVuZCBzYWdlOiBrb21tLApzZXR6dCBkaXIgYG4gS29wZmhvZXJlciBhdWYgLSB3aXIgbmVobWVuIGVpbiBwYWFyIEhvZXJlciBkcmF1Zi4gTWlrcm8gYW4sCmVpbmZhY2ggZWluIHBhYXIgSG9lcmVyIGZyYWdlbi4gVW5kIGRhbm4gaGFiZW4gd2lyIHNvdmllbCBTcGFzcyBiZWkgZGVuIGVyc3RlbgpIb2VyZXJuLCBkYXNzIHdpciBkaWUgZ2FuemUgTmFjaHQgd2VpdGVyZ2VtYWNodCBoYWJlbi4gCkFua2U6IERhIGlzdCBkZXIgTmFtZSBlbnRzdGFuZGVuLCB3ZWlsIGplbWFuZCBzYWd0ZTogV2FzIHNlaXQgaWhyIGRlbm4gZnVlcgpDaGFvdGVuLi4uLiBTYXNjaGEgKFpldXMpIGhhdHRlIGFtIEFuZmFuZyBhdWNoIG5vY2ggbWl0Z2VtYWNodCwgaXN0IGFiZXIKZ2VzY2hlaXRlcnQuIApLcmlzdGlhbjogRXIgd2FyIHp1IGFydGlnLiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBmdW5rdGlvbmllcnQgSmFwYW4/IChWaW5jZW50LCAyNS4gQXVnIDIwMDMsIDE3OjI1OjE3KToKU28gZnVua3Rpb25pZXJ0IEphcGFuOgpodHRwOi8vd3d3Lm9uZW1pc3Npb24uY29tL2phcGFuLwoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSBmdW5rdGlvbmllcnQgSmFwYW4/IChBcmssIDI1LiBBdWcgMjAwMywgMTc6NTg6MjUpOgp+IyEgcm49VmluY2VudCBydD0xMDYxODI1MTE3IHJnPXd3dwp+IyEgdGlkPTEwNjE4MjUxMTcKSGloaSwga29tbXQgbWlyIGVpbmlnZXMgYmVrYW5udCB2b3IgO14pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5pbWF0ZWQgKENhdHdlYXpsZSwgMjYuIEF1ZyAyMDAzLCAwOTozOTo1OCk6Ck1vaW4uCgpXZWlzcyBqZW1hbmQsIG9iIGVzIGltIFdlYiBpcmdlbmR3byBlaW4gU2FtbWx1bmcgdm9uIEFuaW1hdGVkIGdpZnMgZ2lidCwgZGllCm1hbiBmcmVpIGJlbnV0emVuIGRhcmY/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbmltYXRlZCAoR3J1bXBmLCAyNi4gQXVnIDIwMDMsIDEwOjIwOjIxKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYxODgzNTk4IHJnPXd3dwp+IyEgdGlkPTEwNjE4ODM1OTgKVmVyc3VjaHMgbWFsIGhpZXI6Cmh0dHA6Ly93d3cubmF0aW9uYWx3ZWJob3N0aW5nLmRlL2dpZi9hMTFwYWdlc2l0ZS9hbmltaWVydGVnaWZhdXN3YWhsLmh0bQpodHRwOi8vd3d3LnBjd2dtYmguY2gvYW5pL2RlZmF1bHQuaHRtCnplaXQKR3J1bXBmIGdydW1wZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgc3BhZXQgaXN0IGVzPyAoRGVlcGJsdWUsIDI2LiBBdWcgMjAwMywgMTM6MjI6MTYpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvc3BpZWdlbC8wLDE1MTgsMjYyOTE4LDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNQQU0gYW0gQXJiZWl0c3BsYXR6IChXYXJnb24sIDI2LiBBdWcgMjAwMywgMjI6MTY6NDkpOgpXaWVzbyBTUEFNIGFtIEFyYmVpdHNwbGF0eiBzaWNoIG5lZ2F0aXYgYXVmIGRpZSBQcm9kdWt0aXZpdGFldCBhdXN3aXJrZW4Ka2Fubi4uLgoKaHR0cDovL3d3dy5kaWxiZXJ0LmNvbS9jb21pY3MvZGlsYmVydC9hcmNoaXZlL2ltYWdlcy9kaWxiZXJ0MjAwMzIyODY5MDgyMS5naWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKE11cGZlbCwgMjYuIEF1ZyAyMDAzLCAyMjo1MDoyNyk6Cmh0dHA6Ly9kb2Nob3N0LnJ6Lmh1LWJlcmxpbi5kZS9kaXNzZXJ0YXRpb25lbi9tZWRpemluL2JlaWVyLWJhcmJhcmEvSFRNTC9iZWllcgouaHRtbAoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChWYW5pb24sIDI2LiBBdWcgMjAwMywgMjI6NTQ6NDYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNjE5MzEwMjcgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpTb3dhcy4gV29mdWVyIG1hbiBhbGxlcyBzZWluZW4gRG9rdG9yIGtyaWVnZW4ga2FubiAuLi4KCk5hamEsIGluIGRlciBNZWRpemluIGlzIGRlciBEb2t0b3IgamEgZWggb2Z0IGV0d2FzLCBkdXJjaCBkYXMgbWFuIGhhbHQgZHVyY2gKbXVzcy4gRWluZSAoenVtaW5kZXN0IGdlbGVnZW50bGljaCkgYmVzc2VyZSBTdHVkaWVuYXJiZWl0LgoKViosIHdpcmZ0IGRlbiBlcnN0ZW4gU3RlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoTWVkaWMsIDI2LiBBdWcgMjAwMywgMjM6MzQ6MjYpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNjE5MzEwMjcgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpOYSBzdXBlci4KSWNoIHN1Y2hlIHVlYnJpZ2VucyBub2NoIG5lIERva3RvcmFyYmVpdC4KQWJlciBkYXMgbWl0IGRlbiBNYWVyY2hlbiBpc3QgamEgamV0enQgc2Nob24gd2VnLi4uLmJsZWliZW4gbnVyCnNvIGxhbmd3ZWlsaWdlIFNhY2hlbiB3aWUga2xpbmlzY2hlIG9kZXIgZXhwZXJpbWVudGVsbGUKKHVuZCBLRUlORVNGQUxMUyBzdGF0aXN0aXNjaGUpIERva3RvcmFyYmVpdGVuIDspCgpHcnVzcywKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoTWVkaWMsIDI2LiBBdWcgMjAwMywgMjM6MzQ6NTYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjE5MzEyODYgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpOZWlza2xhciwgVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKFZhbmlvbiwgMjYuIEF1ZyAyMDAzLCAyMzo1NDozOSk6Cn4jISBybj1NZWRpYyBydD0xMDYxOTMzNjk2IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKV2FyIG1pciBrbGFyLCBkYXNzIGRhcyBrbGFyIGlzdC4gSW4gbWVpbmVtIEZhY2hnZWJpZXQgaXN0IGVpbmUgRG9rdG9yYXJiZWl0CmV0d2FzLCB3byBtYW4gbWVocmVyZSBKYWhyZSByZWluc3RlY2t0LiBBbGxlcyB1bnRlciB6d2VpIE1vbmF0ZSBpc3QgZWluZmFjaApudXIgJ25lIFByb2JlIGZ1ZXIgZGllIEQtQXJiZWl0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKE1lZGljLCAyNy4gQXVnIDIwMDMsIDAwOjEwOjAwKToKfiMhIHJuPVZhbmlvbiBydD0xMDYxOTM0ODc5IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKMiBNb25hdGU/CkFsc28sIGljaCBrZW5uIGtlaW5lbiBLb21taWxpdG9uZW4gb2RlciBmZXJ0aWdlbiBEb2MsIGRlciBzZWluZSBBcmJlaXRpbgpkaWVzZXIgWmVpdCBnZXNjaGFmZnQgaGFldHRlLgpNZWluZSBiZXNzZXJlIEhhZWxmdGUgaGF0IGlocmUgKGV4cGVyaW1lbnRlbGxlKSBBcmJlaXQgbmFjaCBmYXN0IDEsNQpqYWhyZW5hdWZnZWdlYmVuCnVuZCBmYWVuZ3QgYmVpIE51bGwgYW4sIG51ciB3ZWlsIGRpZSBNZXRob2RlIG5pY2h0IHNvIGZ1bmt0aW9uaWVydGUgd2llCnZvbSBEb2t0b3J2YXRlciBhbnRpemlwaWVydC4KV29oZXIgaGFzdCBkdSBkYXMgbWl0IGRlbSAiRG9rdG9yYXJiZWl0ZW4gaW4gZGVyIE1lZGl6aW4gc2luZCBrZWluZSByaWNodGlnZW4KRG9rdG9yYXJiZWl0ZW4iIGJsb3NzPyA7LSkKCkdydXNzLApNZWRpYyAoYmlzaGVybnVyIERva3RvcmFyYmVpdGVua29udHJvbGxncnVwcGVucHJvYmFuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKEh1bW5pLCAyNy4gQXVnIDIwMDMsIDAwOjMwOjI4KToKfiMhIHJuPU1lZGljIHJ0PTEwNjE5MzU4MDAgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpJY2ggaGFiIDIsNSBKYWhyZSBuYWNoIG5lbSBUaGVtYSBnZXN1Y2h0LCBkYXNzIGluIG1laW4gUHJvamVrdCBnZXBhc3N0IGhhdAooSW5mb3JtYXRpayBhbiBuZW0gU2Nobml0dHN0ZWxsZW5pbnN0aXR1dCBmdWVyICxJbmZvcm1hdGlrIHVuZCBHZXNlbGxzY2hhZnQnKS4KTWl0IHZvbGxlciBTdGVsbGUgd2FlcmUgbmViZW5oZXIgcHJvbW92aWVyZW4gYW4gd2FzIHZvZWxsaWcgYW5kZXJlbSBzY2h3aWVyaWcKZ2V3b3JkZW4uCgpOdW4gc3VjaCBpY2ggbWlyIGdlcmFkZSB3YXMgYW5kZXJlcy4gSWNoIHdlcmRlIGtlaW4gRG9rdG9yIG1laHIuIFdhcyBzb2xscyAtCmltbWVyaGluIGJpbiBpY2ggRU0gZ2V3b3JkZW4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoTWVkaWMsIDI3LiBBdWcgMjAwMywgMDA6NDI6MzYpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MTkzNzAyOCByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkVNIGlzdCBkb2NoIGF1Y2ggd2FzIDotKQpBYmVyIGltIEVybnN0OiBaaXRhdCB2b24gZWluZW0gRG9jIGF1ZiBkZXIgU3RhdGlvbiwgd28gaWNoIG5lYmVuIGRlbSBTdHVkaXVtCmpvYmJlOiAiTWFjaCBkZWluZSBBcmJlaXQgdm9yIEFic2NobHVzcyBkZXMgU3R1ZGl1bXMuIERhbmFjaCBrYW5uc3QgZHUgZXMgc28KZ3V0IHdpZSB2ZXJnZXNzZW4iLgpNZWluZSBCZW9iYWNodHVuZ3N3ZXJ0ZSB1bnRlcnN0dWV0emVuIGRpZXNlIEF1c3NhZ2UuCk1pciBmZWhsZW4gendhciBWZXJnbGVpY2hzbW9lZ2xpY2hrZWl0ZW4genUgYW5kZXJlbiBTdHVkaWVuZ2FlbmdlbiwKYWJlciBkaWVzZXMgImlubmVyIE1lZGl6aW4gaXNzZXMgbmUgYmVzc2VyZSBIYXVzYXJiZWl0Igptb2VjaHRlIGljaCBkYW5uIGRvY2ggbWFsIGFyZyBpbiBGcmFnZSBzdGVsbGVuLi4uCgpHcnVzcywKTWVkaWMgKE9lc29waGFndXNzb25kZW5taXRlbGVrdHJvc3RpbXVsYXRpb25zY2hsdWNrZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChIdW1uaSwgMjcuIEF1ZyAyMDAzLCAwMDo0MzozMCk6Cn4jISBybj1NZWRpYyBydD0xMDYxOTM3NzU2IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKRGFzIGlzdCBpbiBhbmRlcmVuIEZhZWNoZXJuIGdhciBuaWNodCBtb2VnbGljaC4gRmFrdHVtLiBJc3QgaW4gTWVkaXppbiBhbmRlcnMsCmljaCB3ZWlzcy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChQYXRyeW4sIDI3LiBBdWcgMjAwMywgMDA6NDY6MzgpOgp+IyEgcm49TWVkaWMgcnQ9MTA2MTkzNzc1NiByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkFsc28gZGFzcyBpbiBkZXIgTWVkaXppbiBkZXIgRG9rdG9yIHZvbSBBbnNwcnVjaCBoZXIgbmljaHQgbWl0CmRlbiBEb2t0b3JhcmJlaXRlbiBhbmRlcmVyIFN0dWRpZW5yaWNodHVuZ2VuIHZlcmdsZWljaGJhciBpc3QsIGlzdCBlaW4KZGVyYXJ0IGdhZW5naWdlcyBWb3J1cnRlaWwsIGRhc3MgaWNoIG51ciBzY2h3ZXIgZHJhbiB6d2VpZmVsbiBrYW5uLgpPYmVuZHJlaW4ga2VubiBpY2ggZWluIHBhYXIgRG9rdG9yZW4sIGRpZSBoYWJlbiBzaWNoIGRhZnVlciBrZWluIGdyb3NzZXMKQmVpbiBhdXNnZXJpc3NlbiwgcGFhciBNZXNzcmVpaGVuLCB2aWVsIEF1c3dlcnR1bmcsIGlyZ2VuZHNvbGNoIFpldWdzLgpLbGFyLCBkYSBzdGVja3QgQXJiZWl0IGRyaW4sIGFiZXIgZGVyIEFuc3BydWNoIG5ldWVyIHdpc3Nlc2NoYWZ0bGljaGVyCkVya2VubnRuaXNzZSBpc3Qgc2ljaGVybGljaCBuaWNodCBnZWdlYmVuLCBhdWNoIHdlbm4gZXMgTGV1dGUgZ2ViZW4gbWFnLApkZW5lbiBlcyB0cm90emRlbSBnZWxpbmd0ICpnKgpFcyBnaWJ0IGF1Y2ggZGVyYXJ0IHZpZWwgbWVociBNZWQtRG9rdG9yZW4gYWxzIGFuZGVyZSwgZGFzcyBzY2hvbiBkaWUKU3RhdGlzdGlrIHVuZCBkaWUgQmV0cmFjaHR1bmcgZGVyIExldXRlIGFyZyBkYXp1IHZlcmxlaXRldCwgZGVtIENsaWNoZQpyZWNodCB6dSBnZWJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKE1hbmRyYWdvbiwgMjcuIEF1ZyAyMDAzLCAwMDo1MDozMCk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2MTkzNzk5OCByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkFsc28gaWNoIGtlbm5lIHp3ZWkgTWVkaXppbmVyLCBkaWUgZ2VyYWRlIG5lYmVuaGVyIHByb21vdmllcmVuIC4uLi4gZGllIFByb2ZzCmhhYmVuIGlobmVuIGVpbiBwYWFyIEJ1ZWNoZXIgZ2VuYW5udCwgdW5kIGRhIHNjaHJlaWJlbiBzaWUgamV0enQgd2FzIHp1c2FtbWVuLgoKTmEgZGFua2UgLi4uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChIdW1uaSwgMjcuIEF1ZyAyMDAzLCAwMDo1NDoxOSk6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTA2MTkzODIzMCByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkRhc3MgRHUgZGllIERyLUFyYmVpdCB1ZWJlcmhhdXB0IHZvciBkZW0gQWJzY2hsdXNzIG1hY2hlbiBrYW5uc3QgbGllZ3QgaW4KTWVkaXppbiBkYXJhbiwgZGFzcyBEdSBpbSBnZWdlbnNhdHogenUgYW5kZXJlbiBGYWVjaGVybiBrZWluZQp3aXNzZW5zY2hhZnRsaWNoZSBBYnNjaGx1c3NhcmJlaXQgbWFjaGVuIG11c3N0LiBVbSBlaW4gRGlwbG9tIGluIEJpb2xvZ2llIG9kZXIKZWluZW4gTWFnaXN0ZXIgaW4gU296aW9sb2dpZSB6dSBrcmllZ2VuIG11c3N0IER1IGhhbHQgc2Nob24gZWluZQp3aXNzZW5zY2hhZnRsaWNoZSBBYnNjaGx1c3NhcmJlaXQgZ2VtYWNodCBoYWJlbiAtIHZvcmhlciBrYWVtZSBuaWVtYW5kIGF1ZiBkaWUKSWRlZSwgRGlyIGVpbiBUaGVtYSBvZGVyIGVpbmUgQW5lcmtlbm51bmcgdm9uIGlyZ2VuZCBlaW5lciBBcmJlaXQgYWxzIERpc3MgenUKZ2ViZW4uCgpEaWUgTWVkaXppbmVyIHppZWhlbiAtIGdlbmF1IHdpZSBkaWUgSnVyaXN0ZW4gLSBpaHJlbiBSdWYgYXVzIGRlbiAod2lya2xpY2gKc2NoZXdyZW4gdW5kIHNpY2hlciBzY2h3ZXJlcmVuIGFscyBpbiBhbmRlcmVuIEZhZWNoZXJuKSBFeGFtZW5zcHJ1ZWZ1bmdlbi4gSXN0CmR1Y2F1cyBsZWdpdGltLCB1bmQgZXMgZ2lidCBzaWNoZXIgZ2VudWcgRHItQXJiZWl0ZW4gaW4gZGVyIE1lZGl6aW4gbWl0IGhvaGVtCndpc3NlbnNjaGFmdGxpY2hlbiBBbnNwcnVjaCAtIHdhcyBpY2ggYWJlciBnZWhvZXJ0IGhhYmUgKHVuZCBoZXksIGljaCBiaW4ga2VpbgpNZWRpemluZXIsIHVuZCBpY2gga2FubnMgbmljaHQgYmV1cnRlaWxlbikgdmVybGVpdGV0IG1pY2ggZG9jaCByYXNjaCB6dSBkZXIKQW5uYWhtZSwgZGFzcyBkaWUgbmljaHQgYWxsZSBhdWYgZGVtIE5pdmVhdSBzaW5kLCBkYXMgYW5kZXJlIFdpc3NlbnNjaGFmdGVuCmZvcmRlcm4uCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoTWVkaWMsIDI3LiBBdWcgMjAwMywgMDA6NTQ6NDUpOgp+IyEgcm49UGF0cnluIHJ0PTEwNjE5Mzc5OTggcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpHdXQsIGljaCBtdXNzIG1pY2ggYXVmZ3J1bmQgbWVpbmVyIG1hbmdlbG5kZW4KS2VubnRuaXNzZSBkZXIgYW5kZXJlbiBTdHVkaWVuZ2FlbmdlIGFuIGRpZXNlbSBQdW5rdCBhdXMgZGVyCkRpc2t1c3Npb24genVydWVja3ppZWhlbi4KRGVubm9jaCBrYW5uIGljaCBtaXQgVWViZXJ6ZXVndW5nIGJlaGF1cHRlbiwgZGFzcyBkZXIgVGl0ZWwgaW5kZXIKTWVkaXppbiBuaWNodCBoaW50ZXIgZWluZW0gaGVyIGdld29yZmVuIHdpcmQsIHNvbmRlcm4KZGFzcyBtYW4gZGFmdWVyIHNjaG9uIHdhcyB6dSBsZWlzdGVuIGhhdC4KVWVicmlnZW5zIHd1ZXJkZSBpY2ggZGEgZ2VybmUgbWFsIGRpZSBLdXNjaGVsbm90ZW4gZWluaWdlciBTdHVkaWVuZ29lbmdlIHp1CmRlbgpkdXJjaHNjaG5pdHRsaWNoZW4gRXJnZWJuaXNzZW4gaW4gU3RhYXRzZXhhbWluIGluIGRlciBNZWRpemluIGluIFZlcmdsZWljaApzZXR6ZW4gd29sbGVuLi4ubGllaHQgc2ljaGVyYXVjaCBuaWNodCBhbiBkZW4gdmllbCBzY2hsZWNodGVyZW4KU3R1ZGllbmJld2VyYmVybiA7KQoKR3J1c3MsCk1lZGljIChpbW1lciBub2NoIG5hY2ggZWlnZW5lciBEckFyYmVpdCBzdWNoZW5kIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChNZWRpYywgMjcuIEF1ZyAyMDAzLCAwMDo1Njo1Nyk6Cn4jISBybj1NZWRpYyBydD0xMDYxOTM4NDg1IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKUmVjaHRzY2hyZWliLSB1bmQgSW50ZXJwdW5rdGlvbnNmZWhsZXIgd2FyZW4gaW0gdWVicmlnZW4gZ2V3b2xsdC4KKnVuc2NodWxkaWdwZmVpZmVuc2xhbmdzYW1hdXNkZW1ibGlja2ZlbGRzY2hsZW5kZXIqCgpNZWRpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoUGF0cnluLCAyNy4gQXVnIDIwMDMsIDAwOjU4OjE5KToKfiMhIHJuPU1lZGljIHJ0PTEwNjE5Mzg0ODUgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpEYXMgZ2FuemUgU3R1ZGl1bSB3aXJkIGVpbmVtIGF1Y2ggc2VsdGVuIGhpbnRlcmhlcmdld29yZmVuLCBhdXNzZXIgZXZ0bC4KV2lydHNjaGFmdHMtQmluZGVzdHJpY2gtR2VtYW50c2NoZSwgc29ycnkgOykKVHJvdHpkZW0gaXN0IGVpbmUgRG9rdG9yYXJiZWl0IG1laXN0ZW5zIG5vY2ggZWluIGdhbnogYW5kZXJlcyBLYWxpYmVyLAppbiBkZXIgTWVkaXppbiBqZWRvY2ggbWVpc3QgbnVyIGVpbmUgc2VociBlcmZvbGdyZWljaGUgQmVlbmRpZ3VuZyBkZXMKU3R1ZGl1bXMuCkVzIGdpYnQgZ2VudWcgbmF0dXJ3aXNzZW5zY2hhZnRsaWNoZSBSaWNodHVuZ2VuLCB3byBtYW4gZHVyY2hhdXMgZWluIGdld2lzc2VzClRhbGVudCBicmF1Y2h0LCB1bSBlaW5lIERva3RvcmFyYmVpdCB6dSBiZXN0ZWhlbiwgd29oaW5nZWdlbiBtYW4gZGFzCkRpcGxvbSBmYXN0IGltbWVyIGF1Y2ggbWl0IHB1cmVtIEZsZWlzcyBtZWlzdGVybiBrYW5uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoVHdpbGlnaHQsIDI3LiBBdWcgMjAwMywgMjA6NDE6NDYpOgp+IyEgcm49TWVkaWMgcnQ9MTA2MTkzNTgwMCByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3Ck9obmUgamVtYW5kZW0genUgTmFoZSB0cmV0ZW4genUgd29sbGVuLCBhYmVyIGljaCBzZWggYmVydWZsaWNoIHZlcmRhbW10IHZpZWxlCk1lZGl6aW5lci1Eb2t0b3JhcmJlaXRlbiAtIHVuZCBkaWUgSGFlbGZ0ZSB2b24gZGVuZW4gc2luZCAibnVyIiBTdGF0aXN0aWtlbi4KV2Vpc3MgbmljaHQsIG9iIG1pciBkYXMgYWxzIERva3RvcmFyYmVpdCBzb29vIGdlZmFlbGx0LiBVbmQgZGFubiBub2NoIHN1cGVyCkJlbm90dW5nZW4uIER1bW1lIEZyYWdlIGVpbmVyIEF1c3NlbnNlaXRlcmluOiBXaWV2aWVsIGthbm4gbWFuIGJlaSBTdGF0aXN0aWtlbgpmYWxzY2ggbWFjaGVuLCB1bSBkdXJjaHp1ZmFsbGVuPyA6KSkKClR3aWxpZ2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChNZWRpYywgMjcuIEF1ZyAyMDAzLCAyMjoyNTowMSk6Ci4uLmthbm4gbWFuIGphIHRyb3R6ZGVtIG5vY2ggd2FzIGZpbmRlbiwgdW0gc2ljaCBkcnVlYmVyIGF1Znp1cmVnZW4uCldhZXIgamEgc29uc3QgYXVjaCBsYW5nd2VpbGlnLgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L25ldHprdWx0dXIvMCwxNTE4LDI2MzE1NywwMC5odG1sCgpHcnVzcywKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChHbG9pbnNvbiwgMjcuIEF1ZyAyMDAzLCAyMjo1NzozOSk6Cn4jISBybj1NZWRpYyBydD0xMDYyMDE1OTAxIHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKV2VubiBkZXIga2VpbiBNYXggSGVhZHJvb20tQ2xvbmUgaXN0LCBkYW5uIGthbm4gZXMgamEgbnVyIDkgTWludXRlbiBpbiBkZXIKWnVrdW5mdCBzZWluLiBPZGVyIDUgdm9yIDEyPyBBcmdoLiBVbmQgc28gZWluZSBGaXJtYSB3aWxsIGVpbiBDb3B5cmlnaHQgYXVmCmVpbmVuIEJ1Y2hzdGFiZW4uIFBhc3N0IGphLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoQ3JvZnQsIDI3LiBBdWcgMjAwMywgMjI6NTg6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2MjAxNzg1OSByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxCkhtLiBEaWUgd29sbHRlbiBkb2NoIGF1Y2ggZWluIENvcHlyaWdodCBhdWYgZGllIEZhcmJlLCBvZGVyPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlbm4gZGllIFdlbHQgaW4gT3JkbnVuZyBpc3QuLi4gKE1haGFyZXQsIDI3LiBBdWcgMjAwMywgMjM6MzI6MTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2MjAxNzkzMSByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxCldlciB3aWxsIGRpZSBzY2hvbiBrb3BpZXJlbj8gSWdpdHQuCgpNYWhhLCBTcGlvbiB1bmQgR2lmdG1pc2NoZXIgYUQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoQ2F0d2VhemxlLCAyNy4gQXVnIDIwMDMsIDIzOjU5OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNjIwMTc4NTkgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpBbHNvIGRlciBUZWxla29tYmxvbmRpZSBpc3Qgc293YXMgdm9uIGRldXRsaWNoIGJlaSBNYXggSGVhZHJvb20gZ2VrbGF1dCwgd2VyCmRhIGdlZ2VudGVpbGlnZXMgYmVoYXVwdGV0IGhhdCBzaWNoIGphIHNvd2FzIHZvbiBhbHMgTHVlZ2VuYmFyb24gZ2VvdXRldC4KTmFqYSwgb2ssIE1heCB3YXIgbmljaHQgYmxvbmQuIERhIGdpYnRzIHdvaGwgb2ZmZW5iYXIgZG9jaCAnbWFya2FudGUnClVudGVyc2NoaWVkZSAuLi4gOy0vCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlbm4gZGllIFdlbHQgaW4gT3JkbnVuZyBpc3QuLi4gKE1hbmRyYWdvbiwgMjguIEF1ZyAyMDAzLCAwMDowMTo0OCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2MjAyMTU1OCByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxCkdlaWwgaXN0IGphLCB3aWUgTWF4IEhlYWRyb29tIHp1IHNlaW5lbSBOYW1lbiBrYW0gLi4uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChWYXJkaW9uLCAyOC4gQXVnIDIwMDMsIDAwOjAyOjI0KToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjIwMTc5MzEgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpKYSwgcGluayB1bmQgZGFzIFQgZ2Vob2VyZW4gaWhuZW4uIFVuZCBkYXMgd2VyZGVuIHNpZSB3b2hsIGR1cmNoc2V0emVuIDovCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChNZWRpYywgMjguIEF1ZyAyMDAzLCAwMDowMjo1Nik6Cn4jISBybj1NYW5kcmFnb24gcnQ9MTA2MjAyMTcwOCByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxClVuZCB6d2FyIHdpZT8KCk1lZGljLCBnZXBzYW5udAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoTWFuZHJhZ29uLCAyOC4gQXVnIDIwMDMsIDAwOjA1OjAwKToKfiMhIHJuPU1lZGljIHJ0PTEwNjIwMjE3NzYgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQoKV2Vpc3N0IER1IHdhcyAnTWF4aW1hbGUgRHVyY2hmYWhydHNob2VoZScgKHdpZSBhdWYgZGllc2VuIG5ldHRlbiBTY2hpbGRlcm4KYmVpIFRpZWZnYXJhZ2VuKSBpbiBVU0EgaGVpc3N0PwoKTWF4IEhlYWRyb29tIC4uLgoKTWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChIdW1uaSwgMjguIEF1ZyAyMDAzLCAwMDowNTowMSk6Cn4jISBybj1NZWRpYyBydD0xMDYyMDIxNzc2IHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKTmFqYSwgbmFjaGRlbSBpY2ggZXJmYWhyZW4gaGFiLCBkYXNzIG1hbiBrZWluZSAsLEtpbmRlci1aYWhuYnVlcnN0ZScnIGF1ZiBkZW4KTWFya3QgYnJpbmdlbiBkYXJmLCB3ZWlsIEZlcnJlcm8gZGVuIE5hbWVuICwsS2luZGVyJycgYWxzIFZvcndvcnQgZ2VzY2h1ZXR6dApoYXQgKCwsWmFobmJ1ZXJzdGUgZnVlciBLaW5kZXInJyBpc3QgZHVyY2hhdXMgbm9jaCBsZWdpdGltKSB3dW5kZXJ0IG1pY2ggZ2FyCm5pY2h0cyBtZWhyLgoKSHVtbmkKUFM6IFdhciBkYXMgRmVycmVybz8gTmFqYSwgZGllIG1pdCBkZXIgS2luZGVyc2Nob2tvbGFkZSBlYmVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChGb29iYXIsIDI4LiBBdWcgMjAwMywgMDA6MDU6NDYpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MjAyMTkwMSByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxCkRpZSBhcm1lbiBLaW5kZXJhZXJ6dGUuLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoSHVtbmksIDI4LiBBdWcgMjAwMywgMDA6MDg6MzMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjIwMjE5NDYgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpEYXMgc2luZCBqZXR6dCAsLEFlcnp0ZSBmdWVyIEtpbmRlcicnIC0gZGEgQWVyenRlIGFiZXIgZ2VuZXJlbGwgV2VyYmV2ZXJib3RlCmhhYmVuIGthbm4gbWFuIGRlbmVuIHdvaGwga2F1bSBuYWNoc2FnZW4sIGRhc3Mgc2llIGRhbWl0IHdlcmJlbi4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlbm4gZGllIFdlbHQgaW4gT3JkbnVuZyBpc3QuLi4gKE1lZGljLCAyOC4gQXVnIDIwMDMsIDAwOjA5OjU4KToKfiMhIHJuPUh1bW5pIHJ0PTEwNjIwMjIxMTMgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpIbSwgaGF0IEZlcnJlcm8gZGFubiBpbSBVbWtlaHJzY2hsdXNzIGF1Y2ggZGFzIG5hbWVuc3JlY2h0CmF1ZiAiUGFlZGlhdHJpc2NoZSBTY2hva29sYWRlIj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdlbm4gZGllIFdlbHQgaW4gT3JkbnVuZyBpc3QuLi4gKENhdHdlYXpsZSwgMjguIEF1ZyAyMDAzLCAwMDoxMToxNik6Cn4jISBybj1NZWRpYyBydD0xMDYyMDIyMTk4IHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKQmFoLCBqZXR6dCB3aXJkcyBla2xpZy4gIlBhZWRlcmFzdGVuc2Nob2tvbGFkZSIuIApLaW5kZXIuIGlociBnZWh0IHp1IHdlaXQuIAoKKkh1cHMhKiAKCjotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoTWFuZHJhZ29uLCAyOC4gQXVnIDIwMDMsIDAwOjEzOjA0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYyMDIyMjc2IHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKCkphLiBJY2ggbnV0emUgZGVyemVpdCBhdWNoIG1laW5lIDQsNHFtIHZvbGwgYXVzIC4uLi4KCk1hKiAoUkwgZGVyemVpdCBTdHJvaHdpdHdlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBXZW5uIGRpZSBXZWx0IGluIE9yZG51bmcgaXN0Li4uIChDYXR3ZWF6bGUsIDI4LiBBdWcgMjAwMywgMDA6MTQ6NDIpOgp+IyEgcm49TWFuZHJhZ29uIHJ0PTEwNjIwMjIzODQgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpEYW5lYmVuIDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoTWFuZHJhZ29uLCAyOC4gQXVnIDIwMDMsIDAwOjE1OjIzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYyMDIyNDgyIHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKCkRhbmViZW4/CgpNYSogZ3J1ZWJlbHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoTXVhZGliLCAyOC4gQXVnIDIwMDMsIDAwOjMxOjQ0KToKfiMhIHJuPU1hbmRyYWdvbiBydD0xMDYyMDIyMzg0IHJnPXd3dwp+IyEgdGlkPTEwNjIwMTU5MDEKd2FydW0ga29tbWVuIGRpZSA0LjRxbSBkaXJla3QgbmFjaCBwYWVkZXJhc3RlbnNjaG9rb2xhZGUgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFdlbm4gZGllIFdlbHQgaW4gT3JkbnVuZyBpc3QuLi4gKE1hbmRyYWdvbiwgMjguIEF1ZyAyMDAzLCAwMDozNToxOCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA2MjAyMzUwNCByZz13d3cKfiMhIHRpZD0xMDYyMDE1OTAxCgpLZWluZSBBaG51bmcuIEJpc2hlciBoYWJlbiBpbiBkZW0gQmV0dCBtZWluZXMgd2lzc2VucyBrZWluZSBLaW5kZXIgZ2VsZWdlbi4KCk1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BhbWZpbHRlciAoVmluY2VudCwgMjguIEF1ZyAyMDAzLCAwMDo1NDozMCk6Cmh0dHA6Ly93d3cuZGlsYmVydC5jb20vY29taWNzL2RpbGJlcnQvYXJjaGl2ZS9pbWFnZXMvZGlsYmVydDIwMDMyMjg2OTA4MjEuZ2lmCgpPaG5lIEtvbW1lbnRhci4KCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGFtZmlsdGVyIChUcm95LCAyOC4gQXVnIDIwMDMsIDExOjU5OjQ0KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA2MjAyNDg3MCByZz13d3cKfiMhIHRpZD0xMDYyMDI0ODcwCkRhcyBpc3QgZG9jaCBkZXJzZWxiZSBEaWxiZXJ0LCBkZXIgaGllciBzY2hvbiBtYWwgc3RhbmQuLi4KClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BhbWZpbHRlciAoQm9pbmcsIDI4LiBBdWcgMjAwMywgMTI6MDI6MTgpOgp+IyEgcm49VHJveSBydD0xMDYyMDY0Nzg0IHJnPXd3dwp+IyEgdGlkPTEwNjIwMjQ4NzAKTmFqYSwgYWJlciBkYXMgaXN0IGRvY2ggc2Nob24gendlaSBUYWdlIGhlciAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VubiBkaWUgV2VsdCBpbiBPcmRudW5nIGlzdC4uLiAoVGFyYW5pcywgMjguIEF1ZyAyMDAzLCAxNDoyNDo0OSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjIwMjE3NDQgcmc9d3d3Cn4jISB0aWQ9MTA2MjAxNTkwMQpBYmVyIG5pY2h0IGRvY2gsIGRhcyBpc3QgZG9jaCBrZWluIHBpbmssIHNvbmRlcm4gZ2FueiBrbGFyCihUZWxla29tLSlNQUdFTlRBISEhIERhcyBzaWVodCBtYW4gZG9jaCBhdWYgZGVuIGVyc3RlbiBCbGljaywgZ2FyIG5pY2h0IHp1CnZlcmtlbm5lbiEhIDstKQpTQ05SLApUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3JsZCBDb25zcGlyYWN5Li4uIChWaW5jZW50LCAyOC4gQXVnIDIwMDMsIDE0OjI4OjI1KToKLi4udW5kIGFuZGVyZSBCaWxkZXIuCgpodHRwOi8vd3d3LnN0dWQubnRudS5uby9+c2hhbmUvc3Rhc2ovZGl2X2JpbGRlci8yMzQuaHRtbAoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvcmxkIENvbnNwaXJhY3kuLi4gKE1vbnRhbnVzLCAyOC4gQXVnIDIwMDMsIDE0OjQ3OjE4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA2MjA3MzcwNSByZz13d3cKfiMhIHRpZD0xMDYyMDczNzA1Ci4uLiB1bmQgaGllciBnZWh0IGVzIHdlaXRlcjoKaHR0cDovL3d3dy5zZXlmcmllZC1iZXJsaW4uZGUvZGlhZ3JhbS0yLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoWm9vaywgMjkuIEF1ZyAyMDAzLCAwMTowNzoyMCk6Cn4jISBybj1Ud2lsaWdodCBydD0xMDYyMDA5NzA2IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKTnVuLCBkYXMga29tbXQgZHJhdWYgYW4uIEFiZXIgZGllIE1pdGFyYmVpdGVyIGF1cyBkZW0gRmFjaGdlYmlldCBTdGF0aXN0aWsKdW5zZXJlcyBGYWNoYmVyZWljaHMgYmVrb21tZW4gb2VmdGVyIG1hbCBCZXN1Y2ggdm9uIE1lZGl6aW5lcm4gdW5kIGRhbm4gCmRlbiBTcHJ1Y2g6ICJJY2ggaGFiIGhpZXIgd2FzIGVyaG9iZW4vZ2VtZXNzZW4sIHdpZSBrYW5uIGljaCBkYXMgZGVubgphdXN3ZXJ0ZW4/IgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKE1lZGljLCAyOS4gQXVnIDIwMDMsIDAxOjIxOjA4KToKfiMhIHJuPVpvb2sgcnQ9MTA2MjExMjA0MCByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkphLCBkYXMga2FubiBpY2ggbWlyIHZvcnN0ZWxsZW4uCkluc2Jlc29uZGVyZSBkYWhlciwgZGFzcyBNYXRoZSBpbSBTdHVkaXVtIG5pY2h0CndpcmtsaWNoIHByYWVzZW50IGlzdC4gTWVpbkFiaSBpc3QgZWluIHBhYXIgSmFocmUgbGFlbmdlciBoZXIKdW5kIGljaCB3YXIgZGFtYWxzIHNjaG9uIHNjaGxlY2h0IGluIGRpZXNlbSBmYWNoZ2ViaWV0LgpCaXNoZXIgYmVzY2hyYWVua3RlIGVzIHNpY2ggYXVmIGVpbiBwYWFyIEZvcm1lbG4sIGRpZSBtYW4KYW53ZW5kZW4ga29lbm5lbm11c3N0ZS4gVWViZXIgZGllR3J1bmRyZWNoZW5hcnRlbiBoaW5hdXMgYWV1c3NlcnN0IHdlbmlnLgpVbmQgd2FzbWljaCBpbiBCaW9tYXRoZSBlcndhcnRldCwgZHVlcmZ0ZSBhdWNobmljaHQgdmllbCBtZWhyIGFscwplaW5mYWNoZXMgSGFuZHdlcmt6ZXVnIHNlaW4uCgppY2ggZmluZGUgZGFzIGFiZXIgZHVyY2hhdXMgbGVnaXRpbSwgc2ljaCBmdWVyIGRpZSBBdXN3ZXJ0dW5nIHNlbGJzdApIaWxmZSB6dSBob2xlbi4gRGFiZWkgZ2VodCBlcyBkYW5uIGphIG5pY2h0IHVtIEVyZmFzc3VuZyBvZGVyIEludGVycHJldGF0aW9uCmRlcgpEYXRlbiwgc29uZGVybiBsZWRpZ2xpY2ggdW0gZGllIFZlcmFyYmVpdHVuZyBkZXJzZWxiZW4uCkR1bW0gbmF0dWVybGljaCwgd2VubiBtYW4gZGFubiBmZXN0c3RlbGx0LCBkYXNzIG1hbiBGZWhsZXIgZ2VtYWNodCBoYXQsCmRpZSBkaWUgV2VpdGVydmVyYXJiaWV0dW5nIG5pY2h0IGltIGdld3VlbnNjaHRlbiBTaW5uIHp1bGFzc2VuLgooRmFsc2NoZXMgU2thbGVubml2ZWF1IGV0Yy4uLikKCkdydXNzLApNZWRpYywgTWF0aGV2ZXJzYWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoWm9vaywgMjkuIEF1ZyAyMDAzLCAwMToyNTozMSk6Cn4jISBybj1NZWRpYyBydD0xMDYyMTEyODY4IHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKTmFqYSwgZGllIFZvcmdlaGVuc3dlaXNlICJFcnN0IERhdGVuIHNhbW1lbG4gdW5kIGRhbm4gbWFsIHdlbiBmcmFnZW4sIHdhcyAKbWFuIGRhbWl0IG1hY2hlbiBrYW5uIiBpc3Qgdm9uIGRlciB3aXNzZW5zY2hhZnRsaWNoZW4gTWV0aG9kaWsgendpc2NoZW4KendlaWZlbGhhZnQgdW5kIHVuc2VyaW9lcy0tLWFiZXIgYmVpIE1lZGl6aW5lcm4gc2NoZWluYmFyIG5vcm1hbC4KCihOaWNodCBvaG5lIEdydW5kIGlzdCBqYSBkaWUgU3RhdGlzdGlrLVNjaHdhZWNoZSBkZXMgR3Jvc3N0ZWlscyBkZXIKTWVkaXppbmFydGlrZWwgc29nYXIgc2Nob24gaW4gZGVyIFpFSVQgdGhlbWF0aXNpZXJ0IHdvcmRlbiwgd2FzIG51biBuaWNodAp1bmJlZGluZ3QgZWluIEpvdXJuYWwgZnVlciB3aXNzZW5zY2hhZnRsaWNoZSBNZXRob2RlbmxlaHJlIGlzdC4uLi4gOykpKQoKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChNZWRpYywgMjkuIEF1ZyAyMDAzLCAwMToyOTo1Myk6Cn4jISBybj1ab29rIHJ0PTEwNjIxMTMxMzEgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpEaWVzZSBNZXRob2RlIHdvbGx0ZSBpY2ggYXVjaCBuaWNodCBndXQgaGVpc3Nlbi4KTmF0dWVybGljaCBzb2xsIG1hbiBzaWNoIFZPUkhFUiBmcmFnZW4sIHdlbGNoZSBEYXRlbiBtYW4gd2FydW0gc2FtbWVsdAp1bmQgd2llIHNpZSBhdXNnZXdlcnRldCB1bmQgaW50ZXJwcmV0aWVydCB3ZXJkZW4ga29lbm5lbgpJY2ggbWVpbnRlIGxlZGlnbGljaCwgZGFzcyBkaWUgSGlsZmUgYmVpIGRlciBBdXN3ZXJ0dW5nIHNlbGJzdCAoenVtIEJlaXNwaWVsCmVuZmFjaCBkZXN3ZWdlbiB3ZWlsIGVzIE1lbnNjaGVuIGdpYnQsIGRpZSBtaXQgZGllc2VuIE1ldGhvZGVuCndlc2VudGxpY2ggcm91dGluaWVydGVyIHVtZ2VoZW4ga29lbm5lbiBhbHMgbWFuIHNlbGJzdCkKYXVzIG1laW5lciBTaWNodCBuaWNodCB3aXJrbGljaCBmcmFnbGljaCBpc3QuCgpFaW4gIkljaCBtYWNoIG1hbCAtIHVuIHNjaGF1LCBvYidzIHdhcyB3aXJkIiBpc3Qgc2ljaGVyIEtFSU4Kd2lzc2Vuc2NoYWZ0bGljaGVzIEFyYmVpdGVuIDotLwoKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChab29rLCAyOS4gQXVnIDIwMDMsIDAxOjMxOjExKToKfiMhIHJuPU1lZGljIHJ0PTEwNjIxMTMzOTMgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpWb2VsbGlnZSBVZWJlcmVpbnN0aW1tdW5nLCBhYmVyIGdlbmF1IGRhcyAiSWNoIG1hbCBtYWwgdW5kIHNjaGF1IHdhcyBlcyAKd2lyZCIgaGFiZW4gbWVpbmUgS29sbGVnZW4gZXJsZWJlbiBkdWVyZmVuLiAKClpvb2ssIGRlciBkZW4gVmVyZGFjaHQgbmljaHQgbG9zIHdpcmQsIGRhc3MgZGFzIGtlaW5lIEVpbnplbGZhZWxsZSB3YXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChQYXRyeW4sIDI5LiBBdWcgMjAwMywgMDE6MzU6NTEpOgp+IyEgcm49Wm9vayBydD0xMDYyMTEzNDcxIHJnPXd3dwp+IyEgdGlkPTEwNjE5MzEwMjcKSGF0IHNpY2hlcmxpY2ggYXVjaCB3YXMgZGFtaXQgenUgdHVuLCB3aWUgZGllc2UgRG9rdG9yZWkgaGlzdG9yaXNjaApnZXdhY2hzZW4gaXN0LCBkYXNzIGRpZSBNZWRpemluZXIgZGEgaW0gVmVyaGFlbHRuaXMgbGVpY2h0ZXMgU3BpZWwgaGFiZW4uCkRhZnVlciBpc3QgaWh0IFN0dWRpdW0gc2ljaGVyIG5pY2h0IHp1IHVudGVyc2NoYWV0emVuLCBlaW5lIEFydCB2b24KTGVybmVyZWkgZGllIGljaCBnYXIgbmljaHQgc2NoYWV0emUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRGVyIG5pY2h0IG5hdHVlcmxpY2hlIFRvZC4uLiAoWm9vaywgMjkuIEF1ZyAyMDAzLCAwMTo1MDo0MSk6Cn4jISBybj1QYXRyeW4gcnQ9MTA2MjExMzc1MSByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3CkphLCB3aWUgaXN0IGRlbm4gZGllIERva3RvcmVyZWkgaGlzdG9yaXNjaCBlbnRzdGFuZGVuPyAKCkljaCBoYWJlIGRhIHp3YXIgbmUgVm9yc3RlbGx1bmcgenUsIGFiZXIga2FubiBzZWluLCBkYXNzIGRhcyBuaWNodCAKc3RpbW10LgoKWm9vaywgbGVybmJlZ2llcmlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IERlciBuaWNodCBuYXR1ZXJsaWNoZSBUb2QuLi4gKEdyaW1tYm9ybiwgMjkuIEF1ZyAyMDAzLCAwNzoxOTozMCk6Cn4jISBybj1ab29rIHJ0PTEwNjIxMTQ2NDEgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwoiSWNoIG1hY2ggbWFsIC0gdW4gc2NoYXUsIG9iJ3Mgd2FzIHdpcmQiIGlzdCB1ZWJyaWdlbnMgZWluIHNlaHIgdWVibGljaGVyIHVuZAppbW1lciB3aWVkZXIgc2VociB2aWVsdmVyc3ByZWNoZW5kZXIgd2lzc2Vuc2NoYWZ0bGljaGVyIEFuc2F0ei4gV2VubiBpY2ggc2Nob24Kd2Vpc3Mgd2FzIGVzIHdpcmQgLSB3aWVzbyBzb2xsdGUgaWNocyBkYW5uIG5vY2ggbWFjaGVuLCBkYW5uIGlzdCBkYXMgZG9jaApsYW5nd2VpbGlnLgpEaWUgYmFobmJyZWNoZW5kc3RlbiBFbnRkZWNrdW5nZW4ga3VlbmRpZ2VuIHNpY2ggbmljaHQgZHVyY2ggZWluICJIZXVyZWthISIKYW4sIHNvbmRlcm4gZHVyY2ggZWluICJIdWNoLCB3YXMgc29sbCAqZGFzKiBkZW5uIHNlaW4/Ii4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChDYXR3ZWF6bGUsIDI5LiBBdWcgMjAwMywgMDg6MDI6NTYpOgp+IyEgcm49TWVkaWMgcnQ9MTA2MjExMzM5MyByZz13d3cKfiMhIHRpZD0xMDYxOTMxMDI3Ckhhc3QgZHUgZWluZSBBaG51bmcgd2lldmllbGUgd2lzc2Vuc2NoYWZ0bGljaGUgRHVyY2hicnVlY2hlIG1pdCBnZW5hdSBkaWVzZXIKTWV0aG9kZSBlbnRkZWNrdCB3dXJkZW4/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1ZWhlIChHcmltbWJvcm4sIDI5LiBBdWcgMjAwMywgMTY6MTE6NDEpOgpodHRwOi8vd3d3LnNoYWdyYXQubmV0L0h0bWwvY293cy5odG0KCkdkQSBsYWNodCBpbW1lciBub2NoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS3VlaGUgKE1pcmlsLCAyOS4gQXVnIDIwMDMsIDE2OjQ0OjM5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDYyMTY2MzAxIHJnPXd3dwp+IyEgdGlkPTEwNjIxNjYzMDEKVmVyc3RhZW5kbGljaCA6LSkuIFNlaHIgbmV0dC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvaGluIG1pdCBkZXIgYWx0ZW4gTWF1cz8gKEh1bW5pLCAyOS4gQXVnIDIwMDMsIDIxOjI4OjI3KToKClZvcnNjaGxhZWdlIGRhenU6CgpodHRwOi8vcHlhLmNjL3B5YWltZy9waW1nLnBocD9pbWdpZD00NDcKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGRklJOiBTb2Z0d2FyZSBQYXRlbnRzIGluIEV1cm9wZSAoV2hpdGV0aWdlciwgMzAuIEF1ZyAyMDAzLCAyMzozMzozNSk6Cmh0dHA6Ly9zd3BhdC5mZmlpLm9yZy8KCldoaXRlVGlnZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEZXIgbmljaHQgbmF0dWVybGljaGUgVG9kLi4uIChLZWxseWJ1bmR5LCAzMS4gQXVnIDIwMDMsIDEzOjU2OjI2KToKfiMhIHJuPVR3aWxpZ2h0IHJ0PTEwNjIwMDk3MDYgcmc9d3d3Cn4jISB0aWQ9MTA2MTkzMTAyNwpLYW5uIG1pY2ggZGVtIG51ciBhbnNjaGxpZXNzZW4uIFdhcyBpY2ggKGFscyBEaXBsb21waHlzaWtlcikgYmVpIG1laW5lbgptZWRpemluc3R1ZGllcmVuZGVuIEJla2FubnRlbiBhbHMgIkRva3RvcmFyYmVpdCIga29ycmVrdHVyIGdlbGVzZW4gaGFiZSwKZ2VyZWljaHRlIGluIG1laW5lbSBGYWNoYmVyZWljaCBub2NoIG5pY2h0IG1hbCB6dXIgRGlwbG9tYXJiZWl0LgoKRHVtcGZiYWNrZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIG51bWJlciBvZiB0aGUgYmVhc3QgKE5vbm5lLCAgMS4gU2VwIDIwMDMsIDExOjM1OjA1KToKaXN0IG1pY3Jvc29mdCBib2VzZSBvZGVyIGlzdCBkYXMgYm9lc2UgbWljcm9zb2Z0PyBodHRwOi8vNjYuNi42Ni42LwoKTm9ubmUsIGhhdHMgaW1tZXIgZ2V3dXNzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgbnVtYmVyIG9mIHRoZSBiZWFzdCAoQ3JvZnQsICAxLiBTZXAgMjAwMywgMTE6Mzk6NTUpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MjQwODkwNSByZz13d3cKfiMhIHRpZD0xMDYyNDA4OTA1CmFkc2wtMS0xLTQuZG5ici5jdHRlbC5uZXQKClNpZWh0IG5pY2h0IHdpcmtsaWNoIG9mZml6aWVsbCBhdXMgLC0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmllZGxpY2ggKENhdHdlYXpsZSwgIDIuIFNlcCAyMDAzLCAxMjozMzoyMik6CgpTcHJpbmchOgoKCmh0dHA6Ly9oZWlkaS5wa2t5LmZpL35odW1wcGEvaHVtcHBhY29tX2plbW1hL211c2FuZGVyL2h1bXBfcG90c2RhbV8yMzA0MDMubXAzCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcyBCb2VzZSBHZWxkIChEZWVwYmx1ZSwgIDIuIFNlcCAyMDAzLCAxNDoxMzowNCk6Cmh0dHA6Ly93d3cua2lsbGVyemlucy5kZS9zb3ppYWxzdGFhdC5waHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgQm9lc2UgR2VsZCAoVmFuaW9uLCAgMi4gU2VwIDIwMDMsIDE0OjQ3OjU2KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwNjI1MDQ3ODQgcmc9d3d3Cn4jISB0aWQ9MTA2MjUwNDc4NApJY2ggaGFiIGRhcyBJbnRlcnZpZXcgbWl0IEhlbG11dCBDcmV1dHogYXVjaCBnZWhvZXJ0LiBBdWNoIHdlbm4gZGVyIHp1bSBUZWlsCnJlY2h0IHJhZGlrYWwgaXN0LCBoYXQgZXIgaW4gZGVtIHB1bmt0IHJlY2h0LiAyJSBXYWNoc3R1bSBpc3Qga2VpbiBsaW5lYXJlcwpXYWNoc3R1bSwgZGEgbWFuIGphIGltbWVyIHZvbSBWb3JqYWhyIHVuZCBuaWNoIHZvbiBkZXIgQmFzaXMgYXVzZ2VodC4gU29taXQKbXVzcyBkaWUgV2lydHNjaGFmdCBleHBvbmVudGllbGwgd2FjaHNlbiwgZGFtaXQgZGllIDIlIGdlaGFsdGVuIHdlcmRlbgprb2VubmVuLiBEYXMgZGFzIG51ciBlaW5lbiBiZWdyZW56dGVuIFplaXRyYXVtIGd1dCBnZWh0LCBrYW5uIG1hbiBzaWNoIHNjaG9uCmdsYXViaGFmdCBtYWNoZW4uIEF1Y2ggYWxzIG5pY2h0LVdpcnRzY2hhZnRsZXIuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGF0ZW50dmVybGV0enVuZ3Nwcm9ncmFtbWllcndldHRiZXdlcmIgKE5vbm5lLCAgMy4gU2VwIDIwMDMsIDE0OjM4OjI5KToKRGllIFNpZWdlciBmaW5kZXQgbWFuIGhpZXI6CgpodHRwOi8vd3d3LmVsdWcuZGUvcHJvamVrdGUvcGF0ZW50LXBhcnR5L3BhdGVudGUvaW5kZXguZGUuaHRtbAoKTm9ubmUsIGVyc3RhdW50LCB3YXMgYWxsZXMgcGF0ZW50aWVydCBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKFZhbmlvbiwgIDMuIFNlcCAyMDAzLCAxNDo0NzoyNCk6Cmh0dHA6Ly93d3cuYXJtb3J5LmNvbS90ZXN0cy9uZXJkLmh0bWwKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChWYW5pb24sICAzLiBTZXAgMjAwMywgMTQ6NDg6MDYpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjI1OTMyNDQgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApIZXJlIGlzIHRoZSByZXN1bHQgb2YgeW91ciBOZXJkIFB1cml0eSBUZXN0LgpZb3UgYW5zd2VyZWQgInllcyIgdG8gNDYgb2YgMTAwIHF1ZXN0aW9ucywgbWFraW5nIHlvdSA1NC4wJSBuZXJkIHB1cmUgKDQ2LjAlCm5lcmQgY29ycnVwdCk7IHRoYXQgaXMsIHlvdSBhcmUgNTQuMCUgcHVyZSBpbiB0aGUgbmVyZCBkb21haW4gKHlvdSBoYXZlIDQ2LjAlCm5lcmQgaW4geW91KS4KWW91ciBXZWlyZG5lc3MgRmFjdG9yIChBS0EgVW5pcXVlbmVzcyBGYWN0b3IpIGlzIDM5JSwgYmFzZWQgb24gYSBjb21wYXJpc29uIG9mCnlvdXIgdGVzdCByZXN1bHRzIHdpdGggMzc4Njc1IG90aGVyIHN1Ym1pc3Npb25zIGZvciB0aGlzIHRlc3QuCgpUaGUgYXZlcmFnZSBwdXJpdHkgZm9yIHRoaXMgdGVzdCBpcyA3My43JS4KVGhlIGZpcnN0IHN1Ym1pc3Npb24gZm9yIHRoaXMgdGVzdCB3YXMgcmVjZWl2ZWQgSnVuZSAxNywgMTk5NC4KClYqLCBzaWNoZXIgZGFzcyBqZW1hbmQgdW50ZXIgdW5zIGlzLCBkZXIgZGFzIHRvcHB0IC0gb2huZSB6dSBzY2h1bW1lbG4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChOb25uZSwgIDMuIFNlcCAyMDAzLCAxNTowMTowNSk6Cn4jISBybj1WYW5pb24gcnQ9MTA2MjU5MzI4NiByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CllvdSBhbnN3ZXJlZCAieWVzIiB0byA0OSBvZiAxMDAgcXVlc3Rpb25zLCBtYWtpbmcgeW91IDUxLjAlIG5lcmQgcHVyZSAKCldpZSBoYXN0IER1IGRlbm4gZGllIGxldHp0ZSBGcmFnZSBiZWFudHdvcnRldD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoSHVtbmksICAzLiBTZXAgMjAwMywgMTU6MDE6NDEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MjU5NDA2NSByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CkhlLCBWYW5pb24hIEdsZWljaHN0YW5kIQoKSHVtbmksIDU0JSBuZXJkIHB1cmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKENyb2Z0LCAgMy4gU2VwIDIwMDMsIDE1OjEzOjEyKToKfiMhIHJuPUh1bW5pIHJ0PTEwNjI1OTQxMDEgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApIYWJ0IGlociBhdWNoIGJlaSBkZXIgRnJhZ2UgbmFjaCBkZW0gR2V3aWNodCBiZWFjaHRldCwgZGFzIHZlcm11dGxpY2gKYW1lcmlrYW5pc2NoZSBQZnVuZCBnZW1laW50IHNpbmQ/IDo+CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChWYW5pb24sICAzLiBTZXAgMjAwMywgMTU6MTY6MTQpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MjU5NDA2NSByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0Ck1pdCBOZWluLiBTbywgd29sbGVuIHdpciBqZXR6dCBhdXNkaXNrdXRpZXJlbiwgd2VsY2hlIEZyYWdlIGFtIHBlaW5saWNoc3Rlbgppc3Q/IEJlaSBtaXI6IDM5LiBIYWIgbWl0IG5laW4gZ2VhbnR3b3J0ZXQgLi4uICp3ZWlhKgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoVmFuaW9uLCAgMy4gU2VwIDIwMDMsIDE1OjE2OjQwKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNjI1OTQ3OTIgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApIYXN0ZSB0cm90emRlbSBtaXQgamEgYW50d29ydGVuIGtvZW5uZW4/IAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoQW50aGVhLCAgMy4gU2VwIDIwMDMsIDE1OjIyOjQ0KToKfiMhIHJuPVZhbmlvbiBydD0xMDYyNTk1MDAwIHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKSGVyZSBpcyB0aGUgcmVzdWx0IG9mIHlvdXIgTmVyZCBQdXJpdHkgVGVzdC4KWW91IGFuc3dlcmVkICJ5ZXMiIHRvIDYxIG9mIDEwMCBxdWVzdGlvbnMsIG1ha2luZyB5b3UgMzkuMCUgbmVyZCBwdXJlICg2MS4wJQpuZXJkIGNvcnJ1cHQpOyB0aGF0IGlzLCB5b3UgYXJlIDM5LjAlIHB1cmUgaW4gdGhlIG5lcmQgZG9tYWluICh5b3UgaGF2ZSA2MS4wJQpuZXJkIGluIHlvdSkuIApZb3VyIFdlaXJkbmVzcyBGYWN0b3IgKEFLQSBVbmlxdWVuZXNzIEZhY3RvcikgaXMgNDYlLCBiYXNlZCBvbiBhIGNvbXBhcmlzb24gb2YKeW91ciB0ZXN0IHJlc3VsdHMgd2l0aCAzNzg2NzUgb3RoZXIgc3VibWlzc2lvbnMgZm9yIHRoaXMgdGVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoSHVtbmksICAzLiBTZXAgMjAwMywgMTU6MjQ6MTYpOgp+IyEgcm49QW50aGVhIHJ0PTEwNjI1OTUzNjQgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApBUkdMLiBOYXR1ZXJsaWNoIHNpbmQgZGllIGdlbWVpbnQuIEljaCBoYWIgZ2VkYWNodCAsLG5hamEgSVEgZHVlcmZ0ZSB3b2hsCm1pbmRlc3RlbnMgMTAwIHNlaW4sIGljaCB3aWVnIGNhLiA5MGtnLi4uJycgLSBudW4gZ3V0LCBlaW4gamEgd2VuaWdlciB3YWVycwpnZXdlc2VuLiBPZGVyIGljaCBiaW4gc2VociBrbHVnLi4uIGhtbS4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoRm9vYmFyLCAgMy4gU2VwIDIwMDMsIDE2OjE1OjE4KToKfiMhIHJuPUh1bW5pIHJ0PTEwNjI1OTU0NTYgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApGcmFnZSA5NSBrb25udGUgaWNoIG51ciBiZWFudHdvcnRlbiwgd2VpbCBpY2ggR29yb2cga2VubmUgOm8pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoQ2F0d2VhemxlLCAgMy4gU2VwIDIwMDMsIDE2OjQwOjQ3KToKfiMhIHJuPUZvb2JhciBydD0xMDYyNTk4NTE4IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKSWhyIGhhYnQgbmF0dWVybGljaCBudXIgZGllIEVpbnN0ZWlnZXJ2YXJpYW50ZSBkZXMgTmVyZC1UZXN0cyBnZXdhZWhsdC4gCgpodHRwOi8vd3d3LmxhZ21vbnN0ZXIub3JnL2dhbWVzL3B1cml0eS9uZXJkNTAwLmh0bWwKClZpZWwgU3Bhc3MgZGllIG5hZWNoc3RlbiB6d2VpIFN0dW5kZW4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChHbG9pbnNvbiwgIDMuIFNlcCAyMDAzLCAxNjo0Njo1Nyk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MjU5ODUxOCByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CjQxIG9kZXIgNDIlLCBqZSBuYWNoIHZlcndlbmRldGVtIEdld2ljaHRzc3lzdGVtLiBGcmFnZSA4NSBtaXQgTmVpbiB6dQpiZWFudHdvcnRlbiBpc3QgbWlyIHBlaW5saWNoZXIgYWxzIG1laW4gV2lzc2VuIGluIEVsZWt0cm9keW5hbWlrLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKFZhbmlvbiwgIDMuIFNlcCAyMDAzLCAxNzowNzowMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDYyNjAwNDE3IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKQWxzbywgZGllIGhhYiBpY2ggYXVjaCB2ZXJuZWludC4gTWF4d2VsbCBoYWIgaWNoIG5hY2ggZGVyIFRoZW9yZXRpc2NoZQpFbGVrdHJvdGVjaG5pay1QcnVlZnVuZyBuaWNodCBtZWhyIGdlc2VoZW4uIEVpbmVyIG1laW5lciBQcm9mZXNzb3JlbiBtZWludGUKbWFsOiAiQWxsZXMgd2FzIG1hbiBuaWNodCBnZXRyb3N0IGxpbmVhcmlzaWVyZW4ga2FubiwgdWViZXJsYXNzZW4gd2lyIGRlbgpOYWNocmljaHRlbnRlY2huaWstRnJlYWtzLiIgSWNoIGJpbiBtaXIgbmljaCBnYW56IHNpY2hlciwgd2llIGVybnN0IGVyIGRhcwptZWludGUuIFdhciBpY2ggbWlyIGJlaSBkZW0gbmllIC4uLiBVbmQgU2Nocm9lZGluZ2VyIC4uLiBuYWphLCBkZXIgU2l0enNjaGVpbgppbiBBdG9tcGh5c2lrIHdhciBlaW5lciBkZXIgYmlsbGlnc3RlbiBpbSBnYW56ZW4gU3R1ZGl1bSAuLi4gQWJlciBpY2ggZGVua2UgZXMKcmVpY2h0IGF1cywgenUgd2lzc2VuLCB3YXMgU2Nocm9lZGluZ2VyIG1laW50ZSwgZnVlciBkaWUgR2xlaWNodW5nIGdpYnRzCmltbWVybm9jaCBHb29nbGUgb2RlciBlaW4gYnJhdWNoYmFyZXMgRmFjaGJ1Y2ggLi4uCgpWKiAoaGF0IGJpc2hlciBudXIgZGVuIGt1cnplbiB0ZXN0IGdlbWFjaHQuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoR2xvaW5zb24sICAzLiBTZXAgMjAwMywgMTc6MTM6MzMpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjI2MDE2MjMgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApCZWkgZGVtIHN0ZWh0IG5pY2h0IHZvbiB3YW5uIGVyIGlzdCwgYWxzbyBpc3QgRnJhZ2UgMzQ5IHVuZmFpci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKEdvcm9nLCAgMy4gU2VwIDIwMDMsIDE3OjE0OjM2KToKfiMhIHJuPUZvb2JhciBydD0xMDYyNTk4NTE4IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKUG9laCwgYWxzIHdlbm4gaWNoIERpY2ggamVtYWxzIGluIGRpZSBHZWhlaW1uaXNzZSBkZXIgQnJ1ZGVyc2NoYWZ0IGRlcgpCaW9sb2dlbiBlaW5nZXdlaWh0IGhhZXR0ZSAoOgoKU2NoYWRlIG51ciBkYXMgRHUgZGFzIGF1c3BsYXVkZXJuIG11c3N0ZXN0LiBKZXR6dCBtdXNzIGljaCBsZWlkZXIgYWxsZQp1bWJyaW5nZW4uLi4gTXVhaGFoYWhhaGEgKDsKCk1mRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoTWlyaWwsICAzLiBTZXAgMjAwMywgMTc6MzI6NDYpOgp+IyEgcm49R29yb2cgcnQ9MTA2MjYwMjA3NiByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0ClNjaHJvZWRpbmdlciB1bmQgTWF4d2VsbCBtdXNzdGUgaWNoIHdvaGwgb2RlciB1ZWJlbCBiZWphaGVuLiBTbwp3aWUgNDAgYW5kZXJlIEZyYWdlbiwgZGllIGhpZXIgbmljaHQgd2VpdGVyIHdpY2h0aWcgc2luZCA7LSkuCgpNaXJpbCBoYXQgYXVjaCBudXIgZGVuIGt1cnplbiBUZXN0IGdlbWFjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChIdW1uaSwgIDMuIFNlcCAyMDAzLCAxNzo1MDozNSk6Cn4jISBybj1NaXJpbCBydD0xMDYyNjAzMTY2IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKU28sIDUxJSBOZXJkIGJlaW0gbGFuZ2VuIFRlc3QuIFVuZCBzY2hvbiBkYWZ1ZXIgZGFzcyBpY2ggZGVuIGdlbWFjaHQgaGFiIGhhYgppY2ggZWluIEV4dHJhLSUgdmVyZGllbnQuLi4KCiJIdW1uaSwgRHUgYmlzdCBlaW4gRnJlYWsiIChaaXRhdCBlaW5lcyBtZWluZXIgYmVzdGVuIEZyZXVuZGUpLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChHbG9pbnNvbiwgIDMuIFNlcCAyMDAzLCAxNzo1MjoxMyk6Cn4jISBybj1IdW1uaSBydD0xMDYyNjA0MjM1IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKNTIsNiUgTG9zLCBnZWggaWhuIG5vY2htYWwgbWFjaGVuLCBkYW5uIGthbm5zdCBkdSBlaW5lIEZyYWdlIG1laHIgYW5rcmV1emVuLApIdW1uaSBkdSBGcmVhayA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKFBhdHJ5biwgIDMuIFNlcCAyMDAzLCAxODowODozNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDYyNjA0MzMzIHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKTHVzdGlnLi4ubmEgamEsIGFscyBNYXRoZW1hdGlrZXIgbWl0IHRoZW9yZXRpc2NoZXIgUGh5c2lrIGFscyBOZWJlbmZhY2ggendpbmd0CnNpY2ggdmllbGVzIGF1ZiwgenVtYWwgdm9yaGVyIEluZm8gYW5nZWZhbmdlbiB6dSBzdHVkaWVyZW4gdW5kIGFscyBJbmZvdHlwCkdlbGQgdmVyZGllbmVuOgpZb3UgYW5zd2VyZWQgInllcyIgdG8gNDUgb2YgMTAwIHF1ZXN0aW9ucywgbWFraW5nIHlvdSA1NS4wJSBuZXJkIHB1cmUgKDQ1LjAlCm5lcmQgY29ycnVwdCk7IHRoYXQgaXMsIHlvdSBhcmUgNTUuMCUgcHVyZSBpbiB0aGUgbmVyZCBkb21haW4gKHlvdSBoYXZlIDQ1LjAlCm5lcmQgaW4geW91KS4gCllvdXIgV2VpcmRuZXNzIEZhY3RvciAoQUtBIFVuaXF1ZW5lc3MgRmFjdG9yKSBpcyA0MiUsIGJhc2VkIG9uIGEgY29tcGFyaXNvbiBvZgp5b3VyIHRlc3QgcmVzdWx0cyB3aXRoIDM3ODY3NSBvdGhlciBzdWJtaXNzaW9ucyBmb3IgdGhpcyB0ZXN0LgogCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKENyb2Z0LCAgMy4gU2VwIDIwMDMsIDE4OjEwOjE4KToKfiMhIHJuPVBhdHJ5biBydD0xMDYyNjA1MzE2IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKSW50ZXJlc3NhbnQgZGFzIHNpY2ggZGVyIFZlcmdsZWljaCBuaWNodCBkeW5hbWlzY2ggYW5wYXNzdCAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChNZWRpYywgIDMuIFNlcCAyMDAzLCAyMTo1MTowOCk6Cn4jISBybj1Dcm9mdCBydD0xMDYyNjA1NDE4IHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKSGVyZSBpcyB0aGUgcmVzdWx0IG9mIHlvdXIgTmVyZCBQdXJpdHkgVGVzdC4KWW91IGFuc3dlcmVkICJ5ZXMiIHRvIDQxIG9mIDEwMCBxdWVzdGlvbnMsIG1ha2luZyB5b3UgNTkuMCUgbmVyZCBwdXJlICg0MS4wJQpuZXJkIGNvcnJ1cHQpOyB0aGF0IGlzLCB5b3UgYXJlIDU5LjAlIHB1cmUgaW4gdGhlIG5lcmQgZG9tYWluICh5b3UgaGF2ZSA0MS4wJQpuZXJkIGluIHlvdSkuIApZb3VyIFdlaXJkbmVzcyBGYWN0b3IgKEFLQSBVbmlxdWVuZXNzIEZhY3RvcikgaXMgMzUlLCBiYXNlZCBvbiBhIGNvbXBhcmlzb24gb2YKeW91ciB0ZXN0IHJlc3VsdHMgd2l0aCAzNzg2NzUgb3RoZXIgc3VibWlzc2lvbnMgZm9yIHRoaXMgdGVzdC4KCldhcyBkYXJmIGljaCBkYXZvbiBqZXR6dCBoYWx0ZW4/CgpNZWRpYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoVmFuaW9uLCAgMy4gU2VwIDIwMDMsIDIyOjE0OjE1KToKfiMhIHJuPU1lZGljIHJ0PTEwNjI2MTg2Njggcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApEYXMgRHUgbmljaCBzb25kZXJsaWNoIHVuaXF1ZSBiaXN0LCBvbGxlciBMYW5nd2VpbGVyIDopCgpCdHcgMjQ4LzUwMCBpbSBncm9zc2VuIFRlc3QuICg0OS44JSkKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChHb3JvZywgIDMuIFNlcCAyMDAzLCAyMzo1OTozNyk6Cn4jISBybj1WYW5pb24gcnQ9MTA2MjYyMDA1NSByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CkljaCBnbGF1YiBpY2ggdmVybGllcmUuLi4gbnVyIGtuYXBwIDI1JSBQdXJlTmVyZCBpbiBiZWlkZW4gVGVzdHMuIEFiZXIgZGEgaWNoCmJlaWRlIGdlbWFjaHQgaGFiIHNjaGVuayBpY2ggbWlyIGdsZWljaCBtYWwgbm9jaCAyICg7CgpCdHcuIHdhcyBpc3QgV0Q0MD8KCk1mRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoRm9vYmFyLCAgNC4gU2VwIDIwMDMsIDAwOjA1OjQ3KToKfiMhIHJuPUdvcm9nIHJ0PTEwNjI2MjYzNzcgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApFaW4gU2NobWllcm1pdHRlbC4KCkhtLgoKREFTIFNjaG1pZXJtaXR0ZWwgO28pCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKEltZGEsICA0LiBTZXAgMjAwMywgMDY6MTI6NTMpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjI2MjY3NDcgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApBdWYgZGV1dHNjaCBoZWlzc3QgZGFzIFpldWdzIEthcmFtYmEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogV2lldmllbCBORVJEIHN0ZWNrdCBpbiBEaXI/IChDYXR3ZWF6bGUsICA0LiBTZXAgMjAwMywgMDc6NTU6MDIpOgp+IyEgcm49R29yb2cgcnQ9MTA2MjYyNjM3NyByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CkR1IGJpc3QgcmF1cy4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoTWFyY3VzLCAgNC4gU2VwIDIwMDMsIDA4OjAwOjIzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYyNjU0OTAyIHJnPXd3dwp+IyEgdGlkPTEwNjI1OTMyNDQKNTIlIC4uLiAKCkljaCBoYWIgYWxsZXJkaW5ncyBsZWljaHQga3JlYXRpdiBuYWNoIC5kZSB0cmFuc3BvbmllcnQsIHNvIFJhZGlvIFNoYWNrID0KQ29ucmFkCnVuZCBhZWhubGljaGVzIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKE11YWRpYiwgIDQuIFNlcCAyMDAzLCAxMDozODo1MSk6Cn4jISBybj1NYXJjdXMgcnQ9MTA2MjY1NTIyMyByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CmFiZXIgZXIgaGF0IHJlY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphbmFncmFtbWUgKEFsYm9pbiwgIDQuIFNlcCAyMDAzLCAxNTowMToyNik6Cmh0dHA6Ly93d3cuYW5hZ3JhbW1lLmRlL3Byby5odG0KCihmdWVyIGRpZSBuaWNodGVpbmdld2VpaHRlbjogd29ydHNjaHVldHRlbGVpIG1pdCBQZXJzb25lbm5hbWVuKQoKZmF2b3JpdGVuIGJlaSBtaXI6IERpZXRlciBCb2hsZW4gLT4gZXIgbGllYnQgSG9kZW4sIERpZXRlciBCb2hsZW4gLT4gQlJEIG9obmUKRWxpdGUKCkFsICpraWNoZXJuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNjaGVpc3NlIHVuZCBrdW5zdCAoQWxib2luLCAgNC4gU2VwIDIwMDMsIDE1OjA0OjQ3KToKbWFuIGdlaGUgenUgQW1hem9uLCB0aXBwZSBEaWV0ZXIgUm90aCB1bmQgc2VoZSBzaWNoIGRpZSBsZXR6dGVuIFRyZWZmZXIgYW4uCldlaXRlcmUgTGlua3MgZGVzIEt1ZW5zdGxlcnM6Cmh0dHA6Ly93d3cubGlrZXlvdS5jb20vYXJ0L2RpZXRlcl9yb3RoX3NjaGF1bGFnZXJfMDMuaHRtCmh0dHA6Ly93d3cuc3RhYXRzZ2FsZXJpZS5kZS9mcmFtZS5waHA/cGFnZT0vZGUvc2FtbWx1bmdlbi9hcmMvc29obV9yb3RoLmh0bSZsbwpnbz0wCmh0dHA6Ly93d3cuZW5nZWxlci5kZS9yb3RoLmh0bWwKaHR0cDovL3d3dy5kaWV0ZXItcm90aC1tdXNldW0uZGUvCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFuYWdyYW1tZSAoQ2VpbG8sICA0LiBTZXAgMjAwMywgMTY6MzQ6MzgpOgp+IyEgcm49QWxib2luIHJ0PTEwNjI2ODA0ODYgcmc9d3d3Cn4jISB0aWQ9MTA2MjY4MDQ4NgpNZWluIGxpZWJzdGVzIEFuYWdyYW1tIGJpc2hlcjoKR2VuZXJhbCBQcm90ZWN0aW9uIGZhdWx0IC0gQSBsb3Qgb2YsIGNydWVsLCBwZW5ldHJhdGluZwoKR3J1c3MsCkNlaWxvLApCaWVyc2NodWV0dGVsbWVpc3RlcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBXaWV2aWVsIE5FUkQgc3RlY2t0IGluIERpcj8gKERhcmtsb3IsICA0LiBTZXAgMjAwMywgMjI6NTU6NTEpOgp+IyEgcm49TWFyY3VzIHJ0PTEwNjI2NTUyMjMgcmc9d3d3Cn4jISB0aWQ9MTA2MjU5MzI0NApZb3UgYW5zd2VyZWQgInllcyIgdG8gMjUgb2YgMTAwIHF1ZXN0aW9ucywgbWFraW5nIHlvdSA3NS4wJSBuZXJkIHB1cmUgKDI1LjAlCm5lcmQgY29ycnVwdCk7IHRoYXQgaXMsIHlvdSBhcmUgNzUuMCUgcHVyZSBpbiB0aGUgbmVyZCBkb21haW4gKHlvdSBoYXZlIDI1LjAlCm5lcmQgaW4geW91KS4gCllvdXIgV2VpcmRuZXNzIEZhY3RvciAoQUtBIFVuaXF1ZW5lc3MgRmFjdG9yKSBpcyAzMSUsIGJhc2VkIG9uIGEgY29tcGFyaXNvbiBvZgp5b3VyIHRlc3QgcmVzdWx0cyB3aXRoIDM3ODY3NSBvdGhlciBzdWJtaXNzaW9ucyBmb3IgdGhpcyB0ZXN0LgpUaGUgYXZlcmFnZSBwdXJpdHkgZm9yIHRoaXMgdGVzdCBpcyA3My43JS4gCgpCaW4gaWNoIHJlaW4gb2RlciB3YXM/IC0gV29obCBlaGVyIG9kZXIgd2FzICpHKgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IFdpZXZpZWwgTkVSRCBzdGVja3QgaW4gRGlyPyAoQ2F0d2VhemxlLCAgNC4gU2VwIDIwMDMsIDIyOjU5OjE5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTA2MjcwODk1MSByZz13d3cKfiMhIHRpZD0xMDYyNTkzMjQ0CkRhcyBpc3QgZWNodCBsdXNjaGlnLgoKWVRDIChoYXQgX3NlbGJzdHZlcnN0YWVuZGxpY2hfIFdELTQwIHp1aGF1c2UpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQSVNBLVRlc3QgKEFudGhlYSwgIDUuIFNlcCAyMDAzLCAxMDo0NTo0MSk6Cmh0dHA6Ly93d3cudWxpc3RlaW4uZGUvUElTQV9UZXN0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXIgT3JkbmVyIGdlZmFlbGxpZz8gKEh1bW5pLCAgNS4gU2VwIDIwMDMsIDE3OjIxOjU2KToKCmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzA0NDM5NDQ5MiZjYXRlZ29yeT0xNTM2MQoKSWNoIGZyYWcgbWljaCBvYiBkaWUgR2Vib3RlIGVjaHQgc2luZC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlciBPcmRuZXIgZ2VmYWVsbGlnPyAoVHJveSwgIDYuIFNlcCAyMDAzLCAwOTo1MTo0NSk6Cn4jISBybj1IdW1uaSBydD0xMDYyNzc1MzE2IHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKV2FzIHdhciBkYXMgZGVubj8KClVuZ3VlbHRpZ2VyIEFydGlrZWwgCgpEZXIgYW5nZWZvcmRlcnRlIEFydGlrZWwgKCAzMDQ0Mzk0NDkyICkgaXN0IGVudHdlZGVyIHVuZ3VlbHRpZywgbm9jaCBuaWNodAp2ZXJmdWVnYmFyIG9kZXIgbmljaHQgbWVociBpbiBkZXIgRGF0ZW5iYW5rIHZvcmhhbmRlbi4gQml0dGUgdWViZXJwcnVlZmVuIFNpZQpkaWUgTnVtbWVyLCB1bmQgdmVyc3VjaGVuIFNpZSBlcyBub2NoIGVpbm1hbC4gV2VubiBTaWUgZGllc2UgTWVsZHVuZyB3ZWl0ZXJoaW4KZXJoYWx0ZW4sIGhhdCBlbnR3ZWRlciBkYXMgQW5nZWJvdCBmdWVyIGRpZXNlbiBBcnRpa2VsIG5vY2ggbmljaHQgYmVnb25uZW4sIHNvCmRhc3MgZGVyIEFydGlrZWwgbm9jaCBuaWNodCBhbmdlemVpZ3Qgd2VyZGVuIGthbm4sIG9kZXIgZGVyIEFydGlrZWwgaXN0CmFiZ2VsYXVmZW4gdW5kIG5pY2h0IG1laHIgdmVyZnVlZ2Jhci4gCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVyIE9yZG5lciBnZWZhZWxsaWc/IChWYW5pb24sICA2LiBTZXAgMjAwMywgMTA6MjA6MDIpOgp+IyEgcm49VHJveSBydD0xMDYyODM0NzA1IHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKRHUgd29sbHRlc3QgYmlldGVuPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWVyIE9yZG5lciBnZWZhZWxsaWc/IChUcm95LCAgNi4gU2VwIDIwMDMsIDEwOjQxOjI5KToKfiMhIHJuPVZhbmlvbiBydD0xMDYyODM2NDAyIHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKSWNoIHdvbGx0ZSBlcnN0bWFsIHdpc3NlbiB3YXMgZXMgaXN0LCB3ZWlsIGVCYXkgbnVyIG5vY2ggIlVuZ3VlbHRpZ2VyCkFydGlrZWwiIHNhZ3QuCgpUcm95CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXVlciBPcmRuZXIgZ2VmYWVsbGlnPyAoSHVtbmksICA2LiBTZXAgMjAwMywgMTE6MzM6NTEpOgp+IyEgcm49VHJveSBydD0xMDYyODM3Njg5IHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKSG1tLi4gZGFubiBpc3QgZGllIEF1a3Rpb24gd29obCBhYmdlbGF1ZmVuLiBWaWVsbGVpY2h0IGtyaWVndCBtYW4gZGVuIG5vY2gKdWViZXJzIEFyY2hpdiwgaWNoIHN1Y2ggbWFsLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldWVyIE9yZG5lciBnZWZhZWxsaWc/IChIdW1uaSwgIDYuIFNlcCAyMDAzLCAxMTozNzoyOCk6Cn4jISBybj1IdW1uaSBydD0xMDYyODQwODMxIHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKT0ssIFNlbGJzdHJlcGx5cyBzaW5kIGRvb2YsIGFiZXIgaGllciBpc3QgamEgbmljaHQgbWVnYXNjaG1hcnJuOiBJY2ggYmluIHp1CmJsb2VkIGVCYXkgenUgYmVkaWVuZW4sIG9mZmVuYmFyIGhhYmVuIGRpZSBkZW4gQXJ0aWtlbCBnYW56IHJhdXNnZW5vbW1lbi4KSmVtYW5kIGhhdHRlIGVpbmVuICAsLG5ldSBlcnN0ZWxsdGVuIE9yZG5lcicnIGZ1ZXIgTWFjIE9TIHZlcmthdWZ0LiBXYXIKZWlnZW50bGljaCBlaW4gZ2FueiBuZXR0ZXIgVGV4dCwgc2NoYWRlLCBkYXNzIGRhcyByYXVzIGlzdC4uLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWVyIE9yZG5lciBnZWZhZWxsaWc/IChDcm9mdCwgIDYuIFNlcCAyMDAzLCAxODoxNToxMik6Cn4jISBybj1IdW1uaSBydD0xMDYyODQxMDQ4IHJnPXd3dwp+IyEgdGlkPTEwNjI3NzUzMTYKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L25ldHprdWx0dXIvMCwxNTE4LDI2NDUzNCwwMC5odG1sCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRzogKFNreSwgIDcuIFNlcCAyMDAzLCAwMjowMjo1OSk6Cnd3dy5tZWludmF0ZXJoYXRkb2VuZXJidWRlb2Rlcndhcy5kZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbW9uZGxhbmR1bmcgZGllIHh0ZSwgYWJlciAoQWxib2luLCAgOC4gU2VwIDIwMDMsIDEzOjQwOjA4KToKYmVzdGUhISEgOy0pCgpXZWlsIFZlcnNjaHdvZXJ1bmdzdGhlb3JpZW4gZ3JhZCBpbiBzaW5kOgpodHRwOi8vd3d3LmRjOHAuY29tL2h0bWwvbW9vbmhvYXguaHRtbAoKYWwgaW1tZXIgbm9jaCBraWNoZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1vbmRsYW5kdW5nIGRpZSB4dGUsIGFiZXIgKENhdHdlYXpsZSwgIDguIFNlcCAyMDAzLCAxMzo0MToxMik6Cn4jISBybj1BbGJvaW4gcnQ9MTA2MzAyMTIwOCByZz13d3cKfiMhIHRpZD0xMDYzMDIxMjA4CkphYWFhLCBlbmRsaWNoLCBkZXIgTW9vbmhvYXggbWFsIHdpZWRlci4gSGFzdCBkdSBhdWNoIHNjaG9uIGRlbiBNb29uaG9heGhvYXgKZ2VmdW5kZW4/IDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IG1vbmRsYW5kdW5nIGRpZSB4dGUsIGFiZXIgKEFsYm9pbiwgIDguIFNlcCAyMDAzLCAxMzo0ODoyNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2MzAyMTI3MiByZz13d3cKfiMhIHRpZD0xMDYzMDIxMjA4CmpvIGRhcyBpc3QgZG9jaCBkaWUgbW9vbmFob2F4aG9heCBzb25zdCB3dWVyZGUgaWNoIGphIG5pY2h0IGtpY2hlcm4gZ2VsbAoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1vbmRsYW5kdW5nIGRpZSB4dGUsIGFiZXIgKENhdHdlYXpsZSwgIDguIFNlcCAyMDAzLCAxMzo1MDo0Myk6Cn4jISBybj1BbGJvaW4gcnQ9MTA2MzAyMTcwNyByZz13d3cKfiMhIHRpZD0xMDYzMDIxMjA4Ck5hY2hkZW0gaWNoIGVzIGpldHp0IGdlc2VoZW4gaGFiZSwgZXMgaXN0IGRpZSBNb29uaG9heHZlcmFyc2NoZS4gRXMgZ2lidCBhYmVyCmJlaWRlcyAoTW9vbmhvYXggdW5kIE1vb25ob2F4aG9heCkgaW4gZHVyY2hhdXMgZXJuc3RnZW1laW50ZW4gVmFyaWFudGVuLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXR0ZSBMZW1taW5nZS1TcGllbC1WYXJpYW50ZSAoVmluY2VudCwgIDguIFNlcCAyMDAzLCAxMzo1NTo0Myk6Cmh0dHA6Ly9hdXNicnVjaC5zcGllbC56ZGYuZGUvc3RhcnQucGhwCgo0MCBKYWhyZSBFcm1pdHRsdW5nc2FyYmVpdCBkZXMgWkRGcyBzdGVoZW4gYXVmIGRlbSBTcGllbC4uLiA7LSkKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpdHRlIChDYXR3ZWF6bGUsICA4LiBTZXAgMjAwMywgMTQ6MTA6NDkpOgpodHRwOi8vYmFzaC5vcmcvPzEzODYxNgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbnRlcmVzc2FudGUgYmVtYWx1bmcuLi4gKE11cGZlbCwgIDguIFNlcCAyMDAzLCAyMTo1OTozNSk6Cmh0dHA6Ly93d3cuMzEzMzcucGwvcGhvdG8vaW5kZXgucGhwP2FjdGlvbj12aWV3aW1hZ2UmaW1hZ2U9Y3JvY28uanBnCgo7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkplZGktVGVzdCAoQW50aGVhLCAgOS4gU2VwIDIwMDMsIDE1OjEzOjIxKToKaHR0cDovL3d3dy5qZWRpdGVzdC5jb20vamVkaV90ZXN0Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVzdGUgR0ZYLVRlY2hub2xvZ3kgKEdhbmRvLCAxMC4gU2VwIDIwMDMsIDEwOjQ1OjQ0KToKQVRJIGFyYmVpdGV0IGFuIGltbWVyIGJlc2VyZXIgZ3JhZmlrOgpodHRwOi8vYmJzcG90LmNvbS9OZXdzLzIwMDMvMDIvYXRpX2FzY2lpLmh0bWwKCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZW5uIG5hZGRlbCBzY2hyZWlidCAuLiAoQWxib2luLCAxMC4gU2VwIDIwMDMsIDE2OjE3OjI4KToKd2llZGVyIG1hbCBuZSB3aXR6aWdlIEtvbHVtbmUgdm9uIEhlbnJ5ayBNLiBCcm9kZXI6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUva3VsdHVyL2dlc2VsbHNjaGFmdC8wLDE1MTgsMjY0OTY0LDAwLmh0bWwKCmFsIHNpY2ggZnJhZ2VuZCBvYnMgdWViZXJoYXVwdCBub2NoIHRhYnVzIGdpYnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZW5uIG5hZGRlbCBzY2hyZWlidCAuLiAoR2FuZG8sIDEwLiBTZXAgMjAwMywgMTY6MjE6MDgpOgp+IyEgcm49QWxib2luIHJ0PTEwNjMyMDM0NDggcmc9d3d3Cn4jISB0aWQ9MTA2MzIwMzQ0OApEYXMgc2NoZWludCBqYSBkYXMgaG9lY2hzdGUgTGl0ZXJhdHVyLU5pdmVhdSBhbnp1c3ByZWNoZW4uCkljaCBiaW4gcGVnZWlzdGVydCEKCkdhbmRvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgSGlja3NlciBkZXMgSmFocmVzIChHYW5kbywgMTAuIFNlcCAyMDAzLCAxNjoyNjoxNik6CgpodHRwOi8vd3d3LmJpbGQudC1vbmxpbmUuZGUvQlRPL25ld3MvMjAwMy8wOS8wOC9wcm9taWxsZS9wcm9taWxsZS5odG1sCgpJY2ggbW9lY2h0ZSB3aXNzZW4sIHdvaGVyIGRpZSB3aXNzZW4sIHdhcyBlciBnZW5hdSB3aWV2aWVsIGdldHJ1bmtlbiBoYXQgOykKR2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFyY2hpdi1SZWNoZXJjaGUgKENhdHdlYXpsZSwgMTEuIFNlcCAyMDAzLCAwODo1MjoyOSk6Ck1vaW4hCgpXZWlzcyBub2NoIGplbWFuZCB3aWUgZGllc2VyIGtvbWlzY2hlIGFtZXJpa2FuaXNjaGUgUHNldWRvLUNvc3VsdGFudCBoaWVzcywKZGVyIGRhbWFscyBlaW5lciBkZXIgZXJzdGVyZW4gU3BhbW1lciB3YXIgdW5kIGRlciBkYW5uIGF1ZiBuZXIgV2Vic2VpdGUKemVycGZsdWNrdCB3dXJkZSB1bmQgc2ljaCBtaXQgZGVtIFdlYnNlaXRlbmJldHJlaWJlciBhbmdlbGVndCBoYXQ/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcmNoaXYtUmVjaGVyY2hlIChDYXR3ZWF6bGUsIDExLiBTZXAgMjAwMywgMDg6NTU6NTgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjMyNjMxNDkgcmc9d3d3Cn4jISB0aWQ9MTA2MzI2MzE0OQpIYWJzIHNjaG9uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcnJyIChBbnRoZWEsIDExLiBTZXAgMjAwMywgMTI6MTI6MzkpOgpFeHRyYSBmdWVyIHVuc2VyZSBQaXJhdGVuIGhpZXI6Cmh0dHA6Ly93d3cuZmlkaXVzLm9yZy9xdWl6L3BpcmF0ZS5waHAKRmluZGUgZGVpbmVuIFBpcmF0ZW5uYW1lbiBoZXJhdXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJyciAoQXBvbGxvbmlhLCAxMS4gU2VwIDIwMDMsIDEyOjE3OjUzKToKfiMhIHJuPUFudGhlYSBydD0xMDYzMjc1MTU5IHJnPXd3dwp+IyEgdGlkPTEwNjMyNzUxNTkKKmxhY2gqIEJsb29keSBBbm5lIEtpZGQgKGM6CgpBcG8qCi4uLiB5b3UgZG9uJ3QgaGF2ZSBlbm91Z2ggd2VuY2hlcyBvbiB0aGUgaXNsYW5kLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFycnIgKEFudGhlYSwgMTEuIFNlcCAyMDAzLCAxMjozMjowMSk6Cn4jISBybj1BcG9sbG9uaWEgcnQ9MTA2MzI3NTQ3MyByZz13d3cKfiMhIHRpZD0xMDYzMjc1MTU5CkphamEuCgpNYWQgSmFtZXMgUmVhZApFdmVyeSBwaXJhdGUgaXMgYSBsaXR0bGUgYml0IGNyYXp5LiBZb3UsIHRob3VnaCwgYXJlIG1vcmUgdGhhbiBqdXN0IGEgbGl0dGxlCmJpdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJyciAoRm9vYmFyLCAxMS4gU2VwIDIwMDMsIDEyOjM1OjU3KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDYzMjc1NDczIHJnPXd3dwp+IyEgdGlkPTEwNjMyNzUxNTkKV2lyIHNpbmQgd29obG1vZWdsaWNoIHZlcndhbmR0OiBJcm9uIFJvZ2VyIEtpZGQuCgpGb29iYXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFycnIgKFBhcmRhdXosIDExLiBTZXAgMjAwMywgMTM6MDk6NTIpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjMyNzY1NTcgcmc9d3d3Cn4jISB0aWQ9MTA2MzI3NTE1OQpCbG9vZHkgSmFtZXMgUmFja2hhbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQXJyciAoTXVhZGliLCAxMS4gU2VwIDIwMDMsIDEzOjI0OjA2KToKfiMhIHJuPVBhcmRhdXogcnQ9MTA2MzI3ODU5MiByZz13d3cKfiMhIHRpZD0xMDYzMjc1MTU5CmltbWVyIG5vY2gKaXJvbiBqYWNrIGZsaW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcnJyIChDZWlsbywgMTEuIFNlcCAyMDAzLCAxNToyMTozNyk6Cn4jISBybj1BbnRoZWEgcnQ9MTA2MzI3NjMyMSByZz13d3cKfiMhIHRpZD0xMDYzMjc1MTU5CmRpdG8uICJNYWQgSmFjayBLaWRkIi4KCkNlaWxvLApCaWVyc2NodWV0dGVsbWVpc3RlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZXJlc3NhbnQuLi4gKEFwb2xsb25pYSwgMTEuIFNlcCAyMDAzLCAxNjowOTowMCk6CiBodHRwOi8vd3d3LjIwcS5uZXQvCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW50ZXJlc3NhbnQuLi4gKE1haGFyZXQsIDExLiBTZXAgMjAwMywgMTY6MjI6MDApOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjMyODkzNDAgcmc9d3d3Cn4jISB0aWQ9MTA2MzI4OTM0MApZb3Ugd2VyZSB0aGlua2luZyBvZiBhIGR3YXJmLgpZb3Ugc2FpZCBpdCBpcyBjbGFzc2lmaWVkIGFzIE90aGVyLCBJIHNheSBBbmltYWwuCklzIGl0IHBsZWFzdXJhYmxlPyBZb3Ugc2FpZCBTb21ldGltZXMsIEkgc2F5IE5vLgoKRGFzIFNwaWVsIGlzdCBlbnR3ZWRlciB2b3JlaW5nZW5vbW1lbiBvZGVyIGVyZmFocmVuIC4uLgoKTWFoYSwgU3Bpb24gdW5kIEdpZnRtaXNjaGVyIGFECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVyZXNzYW50Li4uIChNYWhhcmV0LCAxMS4gU2VwIDIwMDMsIDE2OjI3OjI1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA2MzI5MDEyMCByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCkhtbSwgaW50ZXJlc3NhbnQgLi4uCgpadW0gVGhlbWEgRWxmOgpTaW1pbGFyIE9iamVjdHMKYSBnb25kb2xhLCBhIGNsb3duLCBhIG1hcmNoaW5nIGJhbmQsIGEgYmFzZWJhbGwgdGVhbSwgYSByb2NrIGJhbmQsIGEgcGlyYXRlLCBhCnJhZnQsIGEgc3dpbmcgc2V0LCBhIGdub21lLCBhIG1hZ2ljaWFuLCBhIGhpdGNoaGlrZXIsIGEgY2F0YXB1bHQuCgpNaXR0ZW5kcmluIGVpbiBHbm9tZSAuLi4KCk1haGEsIFNwaW9uIHVuZCBHaWZ0bWlzY2hlciBhRApmaW5kZXQgR2VmYWxsZW4gYW4gZGVtIFNwaWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlcmVzc2FudC4uLiAoQ2F0d2VhemxlLCAxMS4gU2VwIDIwMDMsIDE2OjQ5OjE2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA2MzI5MDQ0NSByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwClNlaHIgZ2VpbCwgRmVybmJlZGllbnVuZyBpbiAxOSBGcmFnZW4uIE5pY2h0IHNjaGxlY2h0IDopCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVyZXNzYW50Li4uIChOb25uZSwgMTEuIFNlcCAyMDAzLCAxNjo1MToxNSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2MzI5MTc1NiByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCk1laW5zIGhhdCBlciBuaWNodCByYXVzZ2VmdW5kZW46IEJpdC4gSWNoIGhhYmUgZGFzIGFscyBFaW5oZWl0IGRlciBJbmZvcm1hdGlvbgp2ZXJzdGFuZGVuLiBEYXMgUHJvZ3JhbW0gdmVyc3RlaHQgZGFzIGFscyBpbiBTaWxpeml1bSBnZWdvc3NlbiwgZGFoZXIgd29obCBkaWUKRGlza3JlcGFuei4KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSW50ZXJlc3NhbnQuLi4gKFBhcmRhdXosIDExLiBTZXAgMjAwMywgMTY6NTI6NTEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MzI5MTg3NSByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCllvdSB3ZXJlIHRoaW5raW5nIG9mIGEgZHJhZ29uLgpEb2VzIGl0IGxpdmUgaW4gZ3Jhc3MtbGFuZHM/IFlvdSBzYWlkIFByb2JhYmx5LCBJIHNheSBEb3VidGZ1bC4KQ2FuIGl0IHN3aW0/IFlvdSBzYWlkIFByb2JhYmx5LCBJIHNheSBOby4KRG9lcyBpdCB3ZWlnaCBtb3JlIHRoYW4gMSB0b24/IFlvdSBzYWlkIERvdWJ0ZnVsLCBJIHNheSBZZXMuCgpzb3NvIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJbnRlcmVzc2FudC4uLiAoRm9vYmFyLCAxMS4gU2VwIDIwMDMsIDE3OjA5OjI4KToKfiMhIHJuPVBhcmRhdXogcnQ9MTA2MzI5MTk3MSByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCiJJcyBpdCBoZWF2aWVyIHRoYW4gYSBwb3VuZCBvZiBidXR0ZXI/IgoKSXMnIGtsYXIuLi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSW50ZXJlc3NhbnQuLi4gKEFudGhlYSwgMTEuIFNlcCAyMDAzLCAxNzoyNTo0Myk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2MzI5Mjk2OCByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCllvdSB3ZXJlIHRoaW5raW5nIG9mIGFuIGVsZi4KQ2FuIGl0IGJlIHVzZWQgZm9yIHJlY3JlYXRpb24/IFlvdSBzYWlkIFllcywgSSBzYXkgTm8uCklzIGl0IGNvbWZvcnRpbmc/IFlvdSBzYWlkIFllcywgSSBzYXkgRG91YnRmdWwuCldhcyBpdCB1c2VkIG92ZXIgMTAwIHllYXJzIGFnbz8gWW91IHNhaWQgWWVzLCBJIHNheSBEb3VidGZ1bC4KSXMgaXQgaGVhdnk/IFlvdSBzYWlkIFllcywgSSBzYXkgTm8uCgpZb3Ugd2VyZSB0aGlua2luZyBvZiBhbiBlbGYuCkNhbiBpdCBiZSB1c2VkIGZvciByZWNyZWF0aW9uPyBZb3Ugc2FpZCBZZXMsIEkgc2F5IE5vLgpTaW1pbGFyIE9iamVjdHMKYSBzdXBlcmhlcm8sIGEgZmFpcnkgKGVsZiksIGEgZGlkZ2VyaWRvbywgYSB0cmVlIGhvdXNlLCBhbiBhbHBlbmhvcm4sIGEKY291c2luLCBhIG1lcm1haWQsIGEgY2hpbXBhbnplZSwgYSBwaXJhdGUsIGEgYmFzZWJhbGwgdGVhbS4KCkFsc28gbWl0IFN1cGVyaGVybyB1bmQgTWVybWFpZCBrYW5uIGljaCBqYSBub2NoIHZlcnN0ZWhlbiwgYWJlciBhbHBlbmhvcm4/Ck9kZXIgQmFzZWJhbGwgVGVhbT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEludGVyZXNzYW50Li4uIChCcmFuLCAxMS4gU2VwIDIwMDMsIDE3OjQxOjQ4KToKfiMhIHJuPUFudGhlYSBydD0xMDYzMjkzOTQzIHJnPXd3dwp+IyEgdGlkPTEwNjMyODkzNDAKQmVpZGUgd2FzIGdlbGVybnQuIEljaDoKQSBxdWVzdGlvbiBpcyBub3QgYSBwYXJ0IG9mIHNvbWV0aGluZyBsYXJnZXIKQSBxdWVzdGlvbiBkb2VzIG5vdCBncm93IG92ZXIgdGltZQpBIHF1ZXN0aW9uIGlzIG5vdCBtYWRlIG9mIG11bHRpcGxlIHBhcnRzCkEgcXVlc3Rpb24gaXMgcHJvYmFibHkgbm90IHNtYWxsZXIgdGhhbiBhIGxvYWYgb2YgYnJlYWQuCgpFcjoKQSBsaWUgaXMgZmljdGlvbmFsCkEgbGllIGRvZXMgbm90IGVhdCBzaGVsbGZpc2gKClNvc28gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEludGVyZXNzYW50Li4uIChOb25uZSwgMTEuIFNlcCAyMDAzLCAxNzo0MjozOCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA2MzI5Mzk0MyByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCllvdSB3ZXJlIHRoaW5raW5nIG9mIGEgZmFydC4KIERvIHlvdSBrbm93IGFueSBzb25ncyBhYm91dCBpdD8gWW91IHNhaWQgVW5rbm93biwgSSBzYXkgWWVzLgpEb2VzIGl0IHNlcnZlIGEgcHVycG9zZT8gWW91IHNhaWQgTm8sIEkgc2F5IFByb2JhYmx5LgpJcyBpdCBvcmdhbmljPyBZb3Ugc2FpZCBObywgSSBzYXkgWWVzLgpDYW4geW91IHVzZSBpdCB3aXRoIHlvdXIgZnJpZW5kcz8gWW91IHNhaWQgTm8sIEkgc2F5IFllcy4KSXMgaXQgc21hbGxlciB0aGFuIGEgbG9hZiBvZiBicmVhZD8gWW91IHNhaWQgSXJyZWxldmFudCwgSSBzYXkgWWVzLgoKTm9ubmUsIGtpY2hlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBJbnRlcmVzc2FudC4uLiAoQ2F0d2VhemxlLCAxMS4gU2VwIDIwMDMsIDE5OjA2OjI0KToKfiMhIHJuPU5vbm5lIHJ0PTEwNjMyOTQ5NTggcmc9d3d3Cn4jISB0aWQ9MTA2MzI4OTM0MApBbHNvIGJlaSBBdWZrbGViZXIgaGF0IGVyIGdyYWRlIGtsYWVnbGljaCB2ZXJzYWd0Li4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBJbnRlcmVzc2FudC4uLiAoTm9ubmUsIDExLiBTZXAgMjAwMywgMTk6MDY6NTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNjMyOTk5ODQgcmc9d3d3Cn4jISB0aWQ9MTA2MzI4OTM0MApCZWkgT3JnYXNtdXMgYXVjaCAoYzsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBJbnRlcmVzc2FudC4uLiAoRm9vYmFyLCAxMS4gU2VwIDIwMDMsIDE5OjA3OjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYzMjk5OTg0IHJnPXd3dwp+IyEgdGlkPTEwNjMyODkzNDAKQmVpICJwZW5pcyIgYXVjaCwgYWJlciB3aXR6aWcgd2FyJ3MuICJDYW4geW91IGxpZnQgaXQ/IiAiSXMgaXQgc3RyYWlnaHQ/IiB1c3cuCnVzZi4KCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEludGVyZXNzYW50Li4uIChDYXR3ZWF6bGUsIDExLiBTZXAgMjAwMywgMTk6MDc6NTIpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2MzMwMDAxNCByZz13d3cKfiMhIHRpZD0xMDYzMjg5MzQwCldhcyBpc3QgZGFzLCBrYW5uIG1hbiBkYXMgZXNzZW4/CgpZVEMgKmh1ZXN0ZWwqICpyb2VjaGVsKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBJbnRlcmVzc2FudC4uLiAoQmllbGVmZWxkLCAxMi4gU2VwIDIwMDMsIDExOjMxOjMwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDYzMzAwMDcyIHJnPXd3dwp+IyEgdGlkPTEwNjMyODkzNDAKSW50ZXJlc3NhbnQsIGpldHp0IHdlaXNzIGljaCwgZGFzcyBlaW5lIFBvc3RrYXJ0ZSBaYWVobmUgdW5kCmVpbiBGZWxsIGhhYmVuIGtvZW5udGUgOy0pCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG0uIElyZ2VuZHdpZSBlcmlubmVydCBtaWNoLi4uIChQaXRmYWxsLCAxMy4gU2VwIDIwMDMsIDAxOjA4OjEzKToKfiMhIHJuPVJvbmRhIHJ0PTEwNjM0MDgwNjUgcmc9d3d3Cn4jISB0aWQ9MTA2MzQwODA2NQpOb29uZSB3YW50cyBiYWNrdXAgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYW5uIGRlcyBKYWhyZXMgKE5vbm5lLCAxNS4gU2VwIDIwMDMsIDEwOjE3OjM2KToKfiMhIG9uPU5vbm5lIG90PTEwNjM2MDU3MjYgb2c9bWFnaWVyLmVudHdpY2tsdW5nCldlcmRlbiBkaWUgbWVpc3RlbiBzY2hvbiBrZW5uZW4sIGFiZXIgbWFuKG4pIF9tdXNzXyBkaWVzZSBWb3JiaWxkZXIga2VubmVuOgpodHRwOi8vd3d3LnNreWdnbmlyLmlzL2FoYi9NYW5PZlRoZVllYXJBd2FyZHMuaHRtCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJyciAoRGFyaWEsIDE1LiBTZXAgMjAwMywgMTI6MTc6MTQpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjMyNzU0NzMgcmc9d3d3Cn4jISB0aWQ9MTA2MzI3NTE1OQpEYXMgZ2VodCBuaWNodCBBcG8qLCBzbyBoZWlzcyBpY2ggc2Nob24uIAo7LSkKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcnNvbmFsbWFuYWdlbWVudCAoQ2F0d2VhemxlLCAxNS4gU2VwIDIwMDMsIDE2OjM0OjE0KToKV2VubiBrZWluZXIgaW4gTWVnYXNjaG1hcnJuIHNjaHJlaWJ0LCBtdXNzIGljaCBlcyBoYWx0IGhpZXIgcmVpbiBwYWNrZW46CgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZGF0YS9lbS0xNC4wOS4wMy0wMDEvCgpPZmZlbmJhciBnaWJ0cyBkYSBiYWxkIGdyb2Vzc2VyZSBSZWdyZXNzYW5zcHJ1ZWNoZSBlaW56dWZhaHJlbiBmdWVyIG5pY2h0CnRlcm1pbmdlcmVjaHRlIExpZWZlcnVuZyA6LSkKClNvIHdpZSBzaWNoIGRhcyBsaWVzdCBoYXQgVG9sbCBDb2xsZWN0IHdvaGwgZWhlciBtaXQgU29mdHdhcmVwcm9ibGVtZW4genUKa2FlbXBmZW4sIGhtPyA6LSkKCkVpZ2VudGxpY2ggd29sbHRlIGljaCBldWNoIHBhc3NlbmRlcndlaXNlIG51ciBlaW5lIG1laW5lcgpMaWVibGluZ3NkZWZpbml0aW9uZW4gdm9yIGRpZSBOYXNlIGtsYXRzY2hlbiwgZGllIGZ1ZXIgZGllIFNvZnR3YXJlYnJhbmNoZQp3b2hsIGluIGVyaG9laHRlbSBNYXNzZSB6dXRyaWZmdDoKCiJQZXJzb25hbG1hbmFnZW1lbnQgaXN0IC4uLiB3ZW5uIG1hbiBmdWVyIGVpbmUgSm9iLCBmdWVyIGRlbiBtYW4gMzAwIE1hbm50YWdlCmJyYXVjaHQsIG51ciAyMDAgTWFubnRhZ2UgZWlucGxhbnQsIG9id29obCBtYW4gbnVyIDEwMCBNYW5udGFnZSB6dXIgVmVyZnVlZ3VuZwpoYXQuIgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFycnIgKFRyb3ksIDE2LiBTZXAgMjAwMywgMDk6MTg6MzkpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjMyNzU0NzMgcmc9d3d3Cn4jISB0aWQ9MTA2MzI3NTE1OQpCbG9vZHkgUm9nZXIgUm9iZXJ0cwpFdmVyeSBwaXJhdGUgbGl2ZXMgZm9yIHNvbWV0aGluZyBkaWZmZXJlbnQuIEZvciBzb21lLCBpdCdzIHRoZSBvcGVuIHNlYS4gRm9yCm90aGVycyAodGhlIG1hc29jaGlzdHMpLCBpdCdzIHRoZSBmb29kLiBGb3IgeW91LCBpdCdzIGRlZmluaXRlbHkgdGhlIGZpZ2h0aW5nLgpUd28gdGhpbmdzIGNvbXBsZXRlIHlvdXIgcGlyYXRlIHBlcnNvbmE6IHN0eWxlIGFuZCBzd2FnZ2VyLiBNYXliZSBhIGxpdHRsZSB0b28KbXVjaCBzd2FnZ2VyIHNvbWV0aW1lcyAtLSBidXQgd2hvIHJlYWxseSBjYXJlcz8gQXJyISAKClRyb3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJ0eXBvIiBhYnNjaGFmZmVuPyAoRm9vYmFyLCAxNi4gU2VwIDIwMDMsIDEwOjA5OjE4KToKaHR0cDovL3NjaWVuY2Uuc2xhc2hkb3Qub3JnL3NjaWVuY2UvMDMvMDkvMTUvMjIyNzI1Ni5zaHRtbD90aWQ9MTMzJnRpZD0xMzQmdGlkCj0xODYKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICJ0eXBvIiBhYnNjaGFmZmVuPyAoR2xvaW5zb24sIDE2LiBTZXAgMjAwMywgMTA6MjI6NDgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjM2OTk3NTggcmc9d3d3Cn4jISB0aWQ9MTA2MzY5OTc1OApFaW5lciBkZXIgR3J1ZW5kZSB3YXJ1bSBpY2ggZ2VybiBiZWhhdXB0ZSBkYXNzIHVuc2VyZSBTY2hyaWZ0IGdhciBuaWNodCBzbwp3ZWl0IHZvbiBkZW4gQmlsZHNjaHJpZnRlbiBhbmRlcmVyIFZvZWxrZXIgZW50ZmVybnQgaXN0LiBTaWUgaXN0IGJlc3Nlcgp6ZXJsZWdiYXIgLSBpbiBzb2cuIEJ1Y2hzdGFiZW4gdW5kIGVzIGVyc2NobGllc3N0IHNpY2ggaW4gZmFzdCBhbGxlbiBkaWVzZXMKU3lzdGVtIHZlcndlbmRlbmRlbiBTcHJhY2hlbiBkaWUgQXVzc3ByYWNoZS4gQWJlciBiZWltIExlc2VuIGlzdCBkYW5uIGRvY2gKd2llZGVyIG51ciBNdXN0ZXJlcmtlbm51bmcgYXVmIGRhcyBXb3J0IGFuZ2VzYWd0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1dG93ZXJidW5nIChIdW1uaSwgMTYuIFNlcCAyMDAzLCAxNDo1NzowNSk6Cmh0dHA6Ly93aW5kd2FyZC5ub2RhbHBvaW50Lm5ldC9kb2MvbWVkaWEvRmluYWxfQmlyZC5tcGcKCk1pciBnZWZhZWxsdHMuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1dG93ZXJidW5nIChBbWFyeWxsaXMsIDE2LiBTZXAgMjAwMywgMTc6Mjk6MzcpOgp+IyEgcm49SHVtbmkgcnQ9MTA2MzcxNzAyNSByZz13d3cKfiMhIHRpZD0xMDYzNzE3MDI1CkhlaGUuLi4KCnVuZCBkaWUgZGFyaW4gImJld29yYmVuZSIgV2Vic2l0ZSBodHRwOi8vd3d3LnRoZS1ldmlsdHdpbi5jby51ayBpc3QgaW1obwpkdXJjaGF1cyBuZXR0IGdlbWFjaHQgdW5kIHNlaGVuc3dlcnQgOi0pCgpHcnVzcywKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXJyciAoRGFya2xvciwgMTYuIFNlcCAyMDAzLCAyMTowOToyMSk6Cn4jISBybj1BbnRoZWEgcnQ9MTA2MzI3NjMyMSByZz13d3cKfiMhIHRpZD0xMDYzMjc1MTU5CkJsYWNrIFNhbSBCb25uZXkKCkxpa2UgYW55b25lIGNvbmZyb250ZXMgd2l0aCB0aGUgaGFyc2huZXNzIG9mIHJvYmJlcnkgb24gdGhlIGhpZ2ggc2VhcywgY2FuIGJlCnBlc3NpbWlzdGljIGF0IHRpbWVzLiBZb3UgY2FuIGJlIGEgbGl0dGxlIGJpdCB1biBwcmVkaWN0YWJsZSwgYnV0IGEgcGlyYXRlcwpsaWZlIGlzIGZhciBmcm9tIGZ1bGwgb2YgY2VydGFpbnRpZXMsIHNvIHRoYXQgZml0cyBpbiBwcmV0dHkgd2VsbC4gQXJyIQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGVzZW5zd2VydGUgQnJpZWZlLi4uIChBbWFyeWxsaXMsIDE3LiBTZXAgMjAwMywgMTU6NDU6NDIpOgoKaHR0cDovL3d3dy5waWNrZWxmcmVpLmRlCgpNdWFoYWhhLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW50ZXJlc3NhbnQuLi4gKEJpcmR5LCAxNy4gU2VwIDIwMDMsIDE4OjQ4OjQ5KToKfiMhIHJuPUFwb2xsb25pYSBydD0xMDYzMjg5MzQwIHJnPXd3dwp+IyEgdGlkPTEwNjMyODkzNDAKV2hhdCB5b3Ugd2VyZSB0aGlua2luZyBvZiBpcyBub3QgaW4gbXkga25vd2xlZGdlYmFzZS4KClNJRUchISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWVsZW4gLi4uIChHbG9pbnNvbiwgMTguIFNlcCAyMDAzLCAwMTozMjoyOCk6Cmh0dHA6Ly93d3cud2V3YW50eW91cnNvdWwuY29tL3F1b3RlLnBocAoKLi4uIG1laW5lIGlzdCA2NDI3IFBmdW5kIHdlcnQuIDkwJSBoYWJlbiBlaW5lIHJlaW5lcmUgU2VlbGUgYWxzIGljaC4gTmljaHRzCm5ldWVzIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlZWxlbiAuLi4gKE1vcmdvdGgsIDE4LiBTZXAgMjAwMywgMDE6NDE6NTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2Mzg0MTU0OCByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4CllvdXIgc291bCBpcyB3b3J0aCAxMjU3My4gRm9yIHlvdXIgcGVhY2Ugb2YgbWluZCwgNjglIG9mIHBlb3BsZSBoYXZlIGEgcHVyZXIKc291bCB0aGFuIHlvdS4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlZWxlbiAuLi4gKE1lZGljLCAxOC4gU2VwIDIwMDMsIDA3OjUzOjE1KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA2Mzg0MjExNyByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4CllvdXIgc291bCBpcyB3b3J0aCAzNTU0My4gRm9yIHlvdXIgcGVhY2Ugb2YgbWluZCwgMjIlIG9mIHBlb3BsZSBoYXZlIGEgcHVyZXIKc291bCB0aGFuIHlvdS4KCldhcyBpc3QgZGVubiBkYSBkaWUgQmVtZXNzdW5nc2dydW5kbGFnZT8gVW5kIHZvciBhbGxlbSwgd28ga2FubiBpY2ggbWVpbmVuClNjaGVjayBhYmhvbGVuPwoKTWVkaWMgKGdlbGRnZWlsKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlZWxlbiAuLi4gKEZpcmVoYXdrLCAxOC4gU2VwIDIwMDMsIDExOjE0OjEwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNjM4NDE1NDggcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApZb3VyIHNvdWwgaXMgd29ydGggODk1NS4gODIlIG9mIHBlb3BsZSBoYXZlIGEgcHVyZXIgc291bCB0aGFuIHlvdS4KCkFscyBDaGFvdCBpc3QgZGFzIGVpbiBha3plcHRhYmxlcyBFcmdlYm5pcywgb2J3b2hsIGVzIHJ1aGlnIGhhZXR0ZSBzY2hsZWNodGVyCnNlaW4ga29lbm5lbiAodmllbGVpY2h0IGhhZXR0ZSBpY2ggZGVuIEtyaWVnIGdlZ2VuIGRlbiBUZXJyb3Jpc211cwpiZWZ1ZXJ3b3J0ZW4gc29sbGVuKS4KCkZpcmVoYXdrLCBDaGFvdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VlbGVuIC4uLiAoQW50aGVhLCAxOC4gU2VwIDIwMDMsIDExOjE5OjMyKToKfiMhIHJuPU1lZGljIHJ0PTEwNjM4NjQzOTUgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApHZWxkZ2VpbD8gRGFubiBzaW5rdCBkZXIgV2VydCBzb2ZvcnQgd2llZGVyLgpJY2ggYmluIGltbWVyaGluIGF1ZiAyOTc4NiBnZWtvbW1lbiwgYWxzbyAyOCUgc2luZCByZWluZXIgYWxzIGljaCA7KQpVbmQgaWNoIHdpbGwgZGFzIEdlbGQgbmljaHQsIG1pciBnZWZhZWxsdCBtZWluIFNlZWxjaGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VlbGVuIC4uLiAoSHVtbmksIDE4LiBTZXAgMjAwMywgMTE6MjY6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2Mzg0MTU0OCByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4CkhhLCBpY2ggYmluIG1pdCA2NzcwIFBmdW5kIHVuZCA4OSUgYmVzc2VyZXIgTWVuc2NoZW4gYWxzIG1laW5lcmVpbmVyIHNjaG9ubWFsCmVpbmVyIGRlciA5MCUgYmVzc2VyZW4gTWVuc2NoZW4gYWxzIEdsb2luc29uIDstKQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2VlbGVuIC4uLiAoQW50aGVhLCAxOC4gU2VwIDIwMDMsIDExOjMyOjUzKToKfiMhIHJuPUh1bW5pIHJ0PTEwNjM4NzcxNzQgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OAo2NzcwIFBmdW5kPyBIdW1uaSwgRHUgc29sbHRlc3QgYWJuZWhtZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNlZWxlbiAuLi4gKENyb2Z0LCAxOC4gU2VwIDIwMDMsIDExOjM0OjI3KToKfiMhIHJuPUFudGhlYSBydD0xMDYzODc3NTczIHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKSXN0IGRvY2ggZWluIGd1dGVzIEdld2ljaHQgZnVlciBlaW5lbiBQbHVlc2NoZHJhY2hlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlZWxlbiAuLi4gKEFueXNpZG9yYSwgMTguIFNlcCAyMDAzLCAxMjoxNDo1Mik6Cn4jISBybj1GaXJlaGF3ayBydD0xMDYzODc2NDUwIHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKWW91ciBzb3VsIGlzIHdvcnRoIDEyMTg0LiBGb3IgeW91ciBwZWFjZSBvZiBtaW5kLCA3MCUgb2YgcGVvcGxlIGhhdmUgYSBwdXJlcgpzb3VsIHRoYW4geW91LgoKSXMgZG9jaCBlaWdlbnRsaWNoIG5lIG5ldHRlLCBydW5kZSBaYWhsICpnKgoKQW55CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2VlbGVuIC4uLiAoTmliZWwsIDE4LiBTZXAgMjAwMywgMTI6NTA6NTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2Mzg0MTU0OCByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4Cjg4NDEgUGZ1bmQsIDgyJS4gSWNoIGJpbiBlaW5mYWNoIHp1IG5ldHQuCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlZWxlbiAuLi4gKE5vbm5lLCAxOC4gU2VwIDIwMDMsIDEzOjE1OjIxKToKfiMhIHJuPU5pYmVsIHJ0PTEwNjM4ODIyNTQgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApEYW5uIG11c3N0ZSBpY2ggZG9jaCBhdWNoIG1hbCBzY2hhdWVuLCB3YXMgZGEgZ2VmcmFndCB3aXJkOgpZb3VyIHNvdWwgaXMgd29ydGggNzAzNy4gRm9yIHlvdXIgcGVhY2Ugb2YgbWluZCwgODglIG9mIHBlb3BsZSBoYXZlIGEgcHVyZXIKc291bCB0aGFuIHlvdS4KCkZ1ZXIgZWluZW4gS2xlcmlrZXIgbmljaHQgc2NobGVjaHQsIG9kZXI/CgpOb25uZSwgaGF0IHdhaHJoZWl0c2dlbWFlc3MgZ2VhbnR3b3J0ZXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWVsZW4gLi4uIChBcG9sbG9uaWEsIDE4LiBTZXAgMjAwMywgMTM6MTc6MjEpOgp+IyEgcm49Tm9ubmUgcnQ9MTA2Mzg4MzcyMSByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4CldpZSB3byB3YXM/IE1laW5lIFNlZWxlIGlzdCByZWluZXIgYWxzIERlaW5lPwoKWW91ciBzb3VsIGlzIHdvcnRoIDE0Njc2LiBGb3IgeW91ciBwZWFjZSBvZiBtaW5kLCA2MiUgb2YgcGVvcGxlIGhhdmUgYSBwdXJlcgpzb3VsIHRoYW4geW91LgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2VlbGVuIC4uLiAoQ2FsZHJpbiwgMTguIFNlcCAyMDAzLCAxMzo0NDozNCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA2Mzg3Njc3MiByZz13d3cKfiMhIHRpZD0xMDYzODQxNTQ4ClBmZiwgMTclLCA0MjY1MiBQZnVuZC4gVW5kIGRhcyBudXIgbWl0IGRlbiBEZWZhdWx0d2VydGVuLiBIYWIgYXVmIGRlciB6d2VpdGVuClNlaXRlIGVpbiBiaXNjaGVuIHJ1bWdlc3BpZWx0IHVuZCBiaW4gYXVmIDYlIGdla29tbWVuLiBXaXJrbGljaCBrcmFzcyBpc3QKYWJlciwgd2VubiBtYW4gTXVzaWsgYXVmIHZpbnlsIGthdWZ0LCBzaW5rdCBkZXIgV2VydCBkcmFtYXRpc2NoLgoKc28gbG9uZwpDYWxkcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlZWxlbiAuLi4gKFZhbmlvbiwgMTguIFNlcCAyMDAzLCAxODozNjoyMyk6Cn4jISBybj1IdW1uaSBydD0xMDYzODc3MTc0IHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKWW91ciBzb3VsIGlzIHdvcnRoIDEwNzkwLiBGb3IgeW91ciBwZWFjZSBvZiBtaW5kLCA3NSUgb2YgcGVvcGxlIGhhdmUgYSBwdXJlcgpzb3VsIHRoYW4geW91LgoKSG1tLCBpcmdlbmR3aWUgZ2xhdWIgaWNoLCBkYXNzIG1pY2ggZWhybGljaGtlaXQgZGV1dGxpY2ggcnVudGVyZ2V6b2dlbiBoYXQuIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2VlbGVuIC4uLiAoTWlyaWwsIDE4LiBTZXAgMjAwMywgMTk6Mzk6NTgpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjM5MDI5ODMgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApJY2ggdHJhdSBtaWNoIG5pY2h0LCBkYXMgRXJnZWJuaXMgenUgbmVubmVuLiBEZW1uYWNoIG11ZXNzdGUgaWNoCndvaGwgc29mb3J0IGRpZSBHaWxkZSB3ZWNoc2Vsbiwgd2FzIGljaCBuaWUgdHVuIHd1ZXJkZS4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTZWVsZW4gLi4uIChHbG9pbnNvbiwgMTguIFNlcCAyMDAzLCAyMjoyODoyNyk6Cn4jISBybj1NaXJpbCBydD0xMDYzOTA2Nzk4IHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKTGllZ3Qgd2VuaWdzdGVucyBlaW5lciB1bnRlciBtaXI/IEljaCBiaW4gZWluZmFjaCB6dSBlaHJsaWNoIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2VlbGVuIC4uLiAoTXVhZGliLCAxOC4gU2VwIDIwMDMsIDIzOjE2OjI5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNjM5MTY5MDcgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OAozNTM0IDk2JQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2VlbGVuIC4uLiAoR2xvaW5zb24sIDE4LiBTZXAgMjAwMywgMjM6MTk6MTkpOgp+IyEgcm49TXVhZGliIHJ0PTEwNjM5MTk3ODkgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApVbmQgZHUgYmlzdCBTaGVyaWZmPyBVcmtzIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2VlbGVuIC4uLiAoVmFuaW9uLCAxOC4gU2VwIDIwMDMsIDIzOjMwOjU5KToKfiMhIHJuPU11YWRpYiBydD0xMDYzOTE5Nzg5IHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKRHUgYmlzdCBzY2hsZWNodCwgU2Nod2FyemVyIFNoZXJyaWYhCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJ1c3QgKE1lZGljLCAxOS4gU2VwIDIwMDMsIDAzOjA1OjE1KToKaHR0cDovL3d3dy5mcnVzdGNsdWIuZGUvY2x1Yi90ZXN0Lmh0bWwKCk1lZGljIChnZXNwYW5udCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcnVzdCAoVmFuaW9uLCAxOS4gU2VwIDIwMDMsIDA3OjI2OjA3KToKfiMhIHJuPU1lZGljIHJ0PTEwNjM5MzM1MTUgcmc9d3d3Cn4jISB0aWQ9MTA2MzkzMzUxNQpZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyAvY2x1Yi90ZXN0X2VyZ2VibmlzLnBocDMgb24gdGhpcyBzZXJ2ZXIuCgpIbW0sIG1pc3QsIHdpZWRlciAzIE1pbnV0ZW4gbWVpbmVzIExlYmVucyB2ZXJzY2h3ZW5kZXQuIFVuZCBkYXMgZGlyZWt0IG5hY2htCmF1ZnN0ZWhlbi4gCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGcnVzdCAoQnJhbiwgMTkuIFNlcCAyMDAzLCAxMDo0NDozMik6Cn4jISBybj1WYW5pb24gcnQ9MTA2Mzk0OTE2NyByZz13d3cKfiMhIHRpZD0xMDYzOTMzNTE1CkljaCBrb21tIGF1Y2ggbmljaHQgd2VpdGVyLiBWb3JoZXIgd2FyIGljaCBnYXIgbmljaHQgZnJ1c3RyaWVydC4gU28ga3JpZWdlbgpkaWUgZWluZW4uLi4KQWJlciBkZXIgQWR2ZW50c2thbGVuZGVyIGlzdCBuZXR0IHVuZCBhdWNoIGRhcyBtaXQgZGVuIFNjaG5pdHRibHVtZW4uIFVuZCBkYXMKQmlsZCB1bnRlciBIeXBvY2hvbmRlci1TZWxic3RoaWxmZSwga2FubnRlbiBkaWUgZGFzIG5pY2h0IGJlaW0KTWFuLW9mLXRoZS1ZZWFyLUF3YXJkPwoKQnJhbiwgZ2VodCBqZXR6dCBmcnVzdHBydWVnZWxuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2VlbGVuIC4uLiAoWmFybml5YSwgMTkuIFNlcCAyMDAzLCAxMDo1NTowMSk6Cn4jISBybj1DYWxkcmluIHJ0PTEwNjM4ODU0NzQgcmc9d3d3Cn4jISB0aWQ9MTA2Mzg0MTU0OApqYWphLi4uIHdlaWwgbWFuIFZpbnlsc2FjaGVuIHJ1ZWNrd2FlcnRzIHNwaWVsZW4ga2FubiBmdWVyIGRpZSB2ZXJzdGVja3Rlbgpib3RzY2hhZnRlbi4uLi4gCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQbHVlc2NodGllci1BbnN0YWx0IChSYWduYXJvZWssIDE5LiBTZXAgMjAwMywgMTM6NDQ6MjEpOgpGdWVyIGFsbGUsIGRpZSBpbW1lciBzY2hvbm1hbCBlaW4gbWlzc2hhbmRlbHRlcyBQbHVlc2NodGllciB0aGVyYXBpZXJlbgp3b2xsdGVuOgpodHRwOi8vd3d3LnBhcmFwbHVlc2NoLmRlLwoKVmllbCBTcGFzeiEKOnJhZ25hOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGt3LU1hdXQgKEZvb2JhciwgMTkuIFNlcCAyMDAzLCAxNToyNToxNSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXJ0c2NoYWZ0LzAsMTUxOCwyNjYxNTcsMDAuaHRtbAoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZydXN0IChNZWRpYywgMTkuIFNlcCAyMDAzLCAyMDo0MTo0Mik6Cn4jISBybj1WYW5pb24gcnQ9MTA2Mzk0OTE2NyByZz13d3cKfiMhIHRpZD0xMDYzOTMzNTE1Ck9rLCBuZXVlciBWZXJzdWNoOgoKaGllciBmdW5rdGlvbmllcnQgZGVyIFRlc3QgbWl0IEF1c3dlcnR1bmc6Cmh0dHA6Ly93d3cudGVzdGVkaWNoLmRlL3Rlc3RzL2ZydXN0dGVzdC5waHAzCgpVbmQgZnVlciBkaWUgdmVyc2Nod2VuZGV0ZSBaZWl0IG5vY2ggZWluZW4gb2JlbiBkcmF1ZjoKaHR0cDovL3Rlc3QudGhlc3BhcmsuY29tL2xhenl0ZXN0LwoKTWVkaWMgKGFycnIhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1c3QgKEJyYW4sIDE5LiBTZXAgMjAwMywgMjE6NDE6MzcpOgp+IyEgcm49TWVkaWMgcnQ9MTA2Mzk5NjkwMiByZz13d3cKfiMhIHRpZD0xMDYzOTMzNTE1ClNpZSBoYWJlbiAxODYyIFB1bmt0ZS4gSGF1biBTaWUgYmxvc3MgYWIuCgpBYmVyIG51ciwgd2VpbCBtZWluZSBXb2hudW5nIGhhbGJ3ZWdzIGF1ZmdlcmFldW10IGlzdCAoMTUwMCBQdW5rdGUpLiBVbmQgZGFzCm51ciwgd2VpbCBpY2ggZmF1bCBiaW4gdW5kIEF1ZnJhZXVtZW4gaGFzc2UgdW5kIGVzIGRhcnVtIGdhciBuaWNodCBlcnN0Cm11ZXNzZW4gd2lsbC4gS3JpZWcgaWNoIG5vY2ggbmUgQ2hhbmNlPwoKQnJhbiwgaXN0IGZydXN0cmllcnQgdW5kIHdpbGwgYXVjaCBpbiBkZW4gRnJ1c3RjbHViCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTZWVsZW4gLi4uIChIaWdodCwgMjEuIFNlcCAyMDAzLCAwMTo1Njo0MCk6Cn4jISBybj1NZWRpYyBydD0xMDYzODY0Mzk1IHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKaGFzIGhhZCB0aGVpciBzb3VsIHZhbHVlZCBhdCA4NTkyIHdoaWNoIG1lYW5zIDgzJSBvZiBwZW9wbGUgaGF2ZSBhIHB1cmVyIHNvdWwKdGhhbiBoaW0vaGVyCgpuZXJqYSBiZWltIGd1dGVtZW5zY2h0ZXN0IGF1ZiB0ZXN0cmVpY2guY29tIGhhYiBpY2ggbm9jaCBzY2hsZWNodGVyCmFiZ2VzY2huaXR0ZW4gZGEgd2FyZW5zIGdhbnplIDYlICxvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGF0ZW50dmVybGV0enVuZ3Nwcm9ncmFtbWllcndldHRiZXdlcmIgKFZpbmNlbnQsIDIyLiBTZXAgMjAwMywgMTE6MDk6NDIpOgpXZWlzcyBuaWNodCBnZW5hdSwgb2IgZGVyIExpbmsgbmljaHQgc2Nob24genUgYmVrYW5udCBpc3QuLi5hYmVyIGVnYWwsCmljaCBwb3N0ZSBpaG4gaGllciB0cm90emRlbS4gOykKaHR0cDovL3d3dy5lbHVnLmRlL3Byb2pla3RlL3BhdGVudC1wYXJ0eS93ZXR0YmV3ZXJiLmh0bWwKU2VociBhdXNzYWdla3JhZWZ0aWcgZmluZGUgaWNoIGRpZSBQcm9ncmFtbWJlaXNwaWVsZSBhdWYKaHR0cDovL3d3dy5lbHVnLmRlL3Byb2pla3RlL3BhdGVudC1wYXJ0eS9wYXRlbnRlLwoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmlwcGVuc3ByZWl6ZXIuLi4gKFJvbmRhLCAyNC4gU2VwIDIwMDMsIDIzOjM5OjI0KToKLi4uIG5peCBmdWVyIExldXRlLCBkaWUga2VpbiBCbHV0IHNlaGVuIGtvZW5uZW4uLi4KCkFic29sdXQgZ2VuaWFsZSBDYXJ0b29ucy4uLiBmdWVyIFppdmlzLCBSZXR0dW5nc3NhbmlzIHVuZCBhbmdlaGVuZGUgU2NobGFjaC4uLgpBZXJ6dGU6CgpodHRwOi8vd3d3LnJpcHBlbnNwcmVpemVyLmRlLwoKUm9uZGEgKmJsdXRpZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSaXBwZW5zcHJlaXplci4uLiAoSW1kYSwgMjUuIFNlcCAyMDAzLCAwMDowNDowMyk6Cn4jISBybj1Sb25kYSBydD0xMDY0NDM5NTY0IHJnPXd3dwp+IyEgdGlkPTEwNjQ0Mzk1NjQKTGVpY2hlbnNhZWNrZSwgMTQwY20sIE1pY2tleW1hdXNtb3RpdmU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogInR5cG8iIGFic2NoYWZmZW4/IChGb29iYXIsIDI1LiBTZXAgMjAwMywgMTE6MTY6NDQpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjM2OTk3NTggcmc9d3d3Cn4jISB0aWQ9MTA2MzY5OTc1OApIYWxsbywKCmhpZXJ6dSBtYWwgZWluICJVcGRhdGUiOgoKaHR0cDovL3d3dy5oZWlzZS5kZS90cC9kZXV0c2NoL3NwZWNpYWwvYXVmLzE1NzAxLzEuaHRtbAoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbnRlcmVzc2FudGVyIGFydGlrZWwgKEFsYm9pbiwgMjUuIFNlcCAyMDAzLCAxMjozOTo0MCk6CiBCZWthbm50ZW4gc3RlaHQgZHJpbm4gKENocmlzIFRheWxvcikuIEthdW0genUgZ2xhdWJlbiBkYXMgZXIgenUgZGVuIG51ciBldHdhCjEwMCBNZW5zY2hlbiAgYXVmIGRlciBXZWx0IGdlaG9lcnQgZGllIHp1IGRpZXNlbiBCZWdhYnRlbiBnZWhvZXJlbi4KCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9zcGllZ2VsLzAsMTUxOCwyNjY5NTYsMDAuaHRtbAoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbnRlcmVzc2FudGVyIGFydGlrZWwgKE1vbnRhbnVzLCAyNS4gU2VwIDIwMDMsIDEzOjI2OjE1KToKfiMhIHJuPUFsYm9pbiBydD0xMDY0NDg2MzgwIHJnPXd3dwp+IyEgdGlkPTEwNjQ0ODYzODAKSWNoIGtlbm4gYXVjaCBlaW5lbiBDaHJpcyBUYXlsb3IsIGFiZXIgZGVyIHNpZWh0IGFuZGVycyBhdXMuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhaWxvcidzIChBbnRoZWEsIDI2LiBTZXAgMjAwMywgMDk6NDE6MDMpOgpEZXIgbmV1ZSBEJkQtQ2FydG9vbiBhdWYgRGFpbG9ycyBSb2xsZW5zcGllbC1Ub29ucyBpc3QgbWFsIHdpZWRlciBnZW5pYWwgOykKaHR0cDovL2RhaWxvci5ncm9mYWZvLm9yZy8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvcm5vc3RhciAoTm9ubmUsIDI2LiBTZXAgMjAwMywgMTA6MjQ6NTEpOgp3aWUgaXN0IERlaW4gUG9ybi1TdGFyLU5hbWU/IApXaWUgd2FlcidzIHdlbm4gRGVpbiBMZWJlbiBhbmRlcnMgdmVybGF1ZmVuIHdhZXJlIHVuZCBEdSBudW4gYW5zdGF0dCBpbgpmcmFnd3VlcmRpZ2VuIG5ld3Nncm91cHMgcnVtenVzY2huYXJjaGVuIHZvbGwgaW0gU2V4LWJ1c2luZXNzIGFrdGl2CndhZXJzdD8gV2llIHdhZXIgZGFubiB3b2hsIERlaW4gTmFtZT8KCkZpbmRlIGVzIHJhdXMsIGhpZXI6IApGdWVyIGRpZSBNYWVubmVyOiBodHRwOi8vaG9tZS5iaXAubmV0L3Bhc2gvcG9ybmFsaXplci9tYWxlLmh0bWwgCkZ1ZXIgZGllIEZyYXVlbjogaHR0cDovL2hvbWUuYmlwLm5ldC9wYXNoL3Bvcm5hbGl6ZXIvZmVtYWxlLmh0bWwKClJhbmR5IFJvY2tzdGlmZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQb3Jub3N0YXIgKEh1bW5pLCAyNi4gU2VwIDIwMDMsIDEwOjI2OjUyKToKfiMhIHJuPU5vbm5lIHJ0PTEwNjQ1NjQ2OTEgcmc9d3d3Cn4jISB0aWQ9MTA2NDU2NDY5MQpIYS4gTG9yZW56byBMb3ZlZ3VuLgoKSWNoIGJldm9yenVnZSBkb2NoIGRpZSBUaXRhbmljLVZhcmlhbnRlOiBOYW1lIGRlcyBlcnN0ZW4gSGF1c3RpZXJlcyBrb21iaW5pZXJ0Cm1pdCBOYW1lbiBkZXIgZXJzdGVuIFN0cmFzc2UsIGluIGRlciBtYW4gZ2V3b2hudCBoYXQgLSBkYSBiaW4gaWNoIGRhbm4gTGFzc2llClJpdHRzY2hlaWRlci4gOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQb3Jub3N0YXIgKE1vbnRhbnVzLCAyNi4gU2VwIDIwMDMsIDEwOjMyOjU2KToKfiMhIHJuPUh1bW5pIHJ0PTEwNjQ1NjQ4MTIgcmc9d3d3Cn4jISB0aWQ9MTA2NDU2NDY5MQpXZW5uIG1pciBqZW1hbmQgZWluIFJlaCBnaWJ0LCBzY2hyZWliZSBpY2ggenUgZGVtIFRoZW1hIHdhcyBpbiBkZW0gVEhyZWFkLCBpbgpkZW0gZXIgaGluZWluZ2Vob2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSaXBwZW5zcHJlaXplci4uLiAoSGlnaHQsIDI2LiBTZXAgMjAwMywgMTI6MDE6NDIpOgp+IyEgcm49Um9uZGEgcnQ9MTA2NDQzOTU2NCByZz13d3cKfiMhIHRpZD0xMDY0NDM5NTY0CkdFTklBTCAqd2VjaHNjaG1laXNzKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSaXBwZW5zcHJlaXplci4uLiAoTWVkaWMsIDI2LiBTZXAgMjAwMywgMTQ6MDU6NDgpOgp+IyEgcm49SGlnaHQgcnQ9MTA2NDU3MDUwMiByZz13d3cKfiMhIHRpZD0xMDY0NDM5NTY0CkphdSwgZGllIFJpcHBlbnNwcmVpemVyLUNhcnRvb25zIHNpbmQgZWNodCBzZWhyIGdlbmlhbCA6LSkKTWFuIGZpbmRldCBrYXVtIG5vY2ggZWluZSBTdGF0aW9uIG9kZXIgZWluZW4gT1AsIHdvIG5pY2h0CmF1c3p1ZWdlIGRhdm9uIGhhZW5nZW4uCgpHcnVzcywKTWVkaWMKCihQLlM6IERhIGdpYnRzIGZ1ZXIgMSw5OS9Nb25hdCBhdWNoIGVpbmVuIFByZW1pdW1hY2NvdW50IG1pdCBub2NoIHdlc2VudGxpY2gKbWVociBDYXJ0b29ucy4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoeXBub3NlIChUb2UsIDI3LiBTZXAgMjAwMywgMDA6Mjk6MDEpOgpodHRwOi8vd3d3LmRlcml2by5jaC9yYWJhaWxrYWwtdGVzdC9oeXBub3NlL2h5cG5vc2UuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaHlwbm9zZSAoS3Jpa2tpdCwgMjcuIFNlcCAyMDAzLCAwMjoyOToxOSk6Cn4jISBybj1Ub2UgcnQ9MTA2NDYxNTM0MSByZz13d3cKfiMhIHRpZD0xMDY0NjE1MzQxCk9oIFNjaHJlY2shCgprcmlra2l0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpnZWhlaW1lIENoZW1pZXdhZmZlbmZhYnJpayBpbiBTY2hvdHRsYW5kPz8gKmcqIChUYXJhbmlzLCAyNy4gU2VwIDIwMDMsIDE1OjEwOjMwKToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwyNjc1MzAsMDAuaHRtbApEaWUgQW1pcyBtYWwgd2llZGVyLi4uIFZpZWxsZWljaHQgc29sbHRlbiBkaWUgZGVuIFdoaXNreSBtYWwgbGllYmVyIHByb2JpZXJlbiwKaWNoIGthbm4gc29nYXIgZW1wZmVobGVuLiAqZyoKClRhcmFuaXMKUC5TLiBXZW5uIGRpZSBBbWlzIHNpY2ggamV0enQgYXVmIGRpZSBXZWJjYW1zIGRlciBGYWJyaWtiZXRyZWliZXIKdmVybGFzc2VuLCB1bSByYXVzenVmaW5kZW4sIG9iIGRvcnQgQ2hlbWlld2FmZmVuIHByb2R1emllcnQgd2VyZGVuLApmb2VyZGVydCBkYXMgbmljaHQgZ2VyYWRlIG1laW4gVmVydHJhdWVuIGluIHNpZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BpZGVyd2ViIChXaGl0ZXRpZ2VyLCAyOS4gU2VwIDIwMDMsIDExOjA5OjU2KToKaHR0cDovL3d3dy5zcGlkd2ViLmNvbS8KaHR0cDovL3d3dy5zcGlkZXJ3ZWJzb2Z0d2FyZS5jb20vCgpFaW5lIGtsZWluZSBGaXJtYSwgZGllIFNoYXJld2FyZS1TcGllbGUgcHJvZHV6aWVydCBiencuIHZlcnRyZWlidC4gRGllIG1laXN0ZW4KU3BpZWxlIGdpYnRzIGxlaWRlciBudXIgZnVlciBXaW5kb3dzIHVuZCBNYWNPUyAoYWJnZXNlaGVuIHZvbiBFeGlsZSBJSUkpLCBzaW5kCmFiZXIgd2lya2xpY2ggZ3V0LiBEaWUgbWVpc3RlbiBzaW5kIFJQR3MsIG1pdCB0ZWlsd2Vpc2Ugd2lya2xpY2ggaW50ZXJlc3NhbnRlbgpTcGllbGtvbnplcHRlbiAoei5CLiBiZWkgR2VuZWZvcmdlKS4KS2FubiBpY2ggbnVyIGVtcGZlaGxlbiEKCldoaXRlVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBlcnN0ZSBDb21wdXRlci1CdWcgKERlZXBibHVlLCAyOS4gU2VwIDIwMDMsIDE1OjQ5OjM2KToKaHR0cDovL3d3dy5oaXN0b3J5Lm5hdnkubWlsL3Bob3Rvcy9pbWFnZXMvaDk2MDAwL2g5NjU2NmsuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3BpZGVyd2ViIChNdXBmZWwsIDI5LiBTZXAgMjAwMywgMTk6NDU6MzEpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDY0ODI2NTk2IHJnPXd3dwp+IyEgdGlkPTEwNjQ4MjY1OTYKS29taXNjaCwgaWNoIHZlcmJpbmRlICJzcGlkZXJ3ZWIiIGltbWVyIG5vY2ggbWl0ICJsaXRlcmF0ZSBwcm9ncmFtbWluZyIuIHNvd2FzCjspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGlkZXJ3ZWIgKFdoaXRldGlnZXIsIDMwLiBTZXAgMjAwMywgMDg6NTQ6NDgpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNjQ4NTc1MzEgcmc9d3d3Cn4jISB0aWQ9MTA2NDgyNjU5NgpXYXMgaXMgImxpdGVyYXRlIHByb2dyYW1taW5nIiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGlkZXJ3ZWIgKE11YWRpYiwgMzAuIFNlcCAyMDAzLCAxMDoyNzo1MSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjQ5MDQ4ODggcmc9d3d3Cn4jISB0aWQ9MTA2NDgyNjU5NgplaW4gZXJmb2xnbG9zZXIgc2NocmVpYmVybGluZyBkZXIgZGFzIGZhY2ggd2VjaHNlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNwaWRlcndlYiAoWm9vaywgMzAuIFNlcCAyMDAzLCAxMDo0NTo0Mik6Cn4jISBybj1NdWFkaWIgcnQ9MTA2NDkxMDQ3MSByZz13d3cKfiMhIHRpZD0xMDY0ODI2NTk2CkdlZmFlaHJsaWNoZSBBdXNzYWdlIGluIGVpbmVtIFRleHQtTXVkLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaWEuLi4gKEdydW1wZiwgIDEuIE9rdCAyMDAzLCAxMDozOTozOSk6CkZhZWhydCBoaWVyIGVpbmVyICduZW4gUGFqZXJvIG9kZXIgVW5vPyBXZW5uIGphIHNvbGx0ZXQgSWhyIG1pdCBkaWVzZW4gQXV0b3MKU3BhbmllbiBvZGVyIEZpbm5sYW5kIG1laWRlbiEgV2FydW0/IFNjaGF1dCBzZWxiZXI6Cmh0dHA6Ly9tZW1iZXJzLmFvbC5jb20vcmRlZWNrZS9hbmVrL2FuZWsuaHRtCkdydW1wZiBncnVtcGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW4gQmF5ZXJuIGlzdCBhbGxlcyBhbmRlcnMgKE5vbm5lLCAgMS4gT2t0IDIwMDMsIDEwOjUwOjA3KToKU2VpZW4gYWxsZSBMZXV0ZSBmcm9oLCBkaWUgbmljaHQgaW4gQmF5ZXJuIHdvaG5lbiwgZGVubiBkb3J0IGdpbHQgc2VsYnN0ICdpbgpkdWJpbyBwcm8gcmVvJyBuaWNodCBtZWhyLiBFaW4gcGFhciBmYWxzY2hlIFBvc3RpbmdzIGltIGZhbHNjaGVuIEZvcnVtIHVuZCBtYW4KaXN0IHJ1aW5pZXJ0OiAKCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL3Z6YS0zMC4wOS4wMy0wMDEvCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbiBCYXllcm4gaXN0IGFsbGVzIGFuZGVycyAoRGVlcGJsdWUsICAxLiBPa3QgMjAwMywgMTE6MDA6NDApOgp+IyEgcm49Tm9ubmUgcnQ9MTA2NDk5ODIwNyByZz13d3cKfiMhIHRpZD0xMDY0OTk4MjA3Ck5hIGRhcyBpc3QgamEgbm9jaCBoYXJtbG9zLiBEZXIgQmVrbGFndGUgc29sbCBmcm9oIHNlaW4sIGRhc3MgZXIgbmljaHQgd2VnZW4KdW5wYXRyaW90aXNjaGVuIFZlcmhhbHRlbnMKKGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2prLTAxLjEwLjAzLTAwMS8pIG5hY2ggR3VhdGFtYW5vIG11c3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpYS4uLiAoR3JpbW1ib3JuLCAgMS4gT2t0IDIwMDMsIDExOjA5OjIyKToKfiMhIHJuPUdydW1wZiBydD0xMDY0OTk3NTc5IHJnPXd3dwp+IyEgdGlkPTEwNjQ5OTc1NzkKTmEsIGRhc3MgIlJlZ2F0dGEiIGF1ZiBzY2h3ZWRpc2NoICJOb2VyZ2xlcmluIiBoZWlzc2VuIHd1ZXJkZSB3YWVyIG1pciBhYmVyCm5ldS4gSWNoIGJpbiBkYSBhYmVyIG5hdHVlcmxpY2ggbmljaHQgYXV0b3JpdGF0aXYsIGFiZXIgZ2VicmFldWNobGljaCBpc3QgZXMKc2ljaGVyIG5pY2h0LgoKR2RBW2V4LVJdCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLcmFuay4uLi4uIChCYW1idWxrbywgIDIuIE9rdCAyMDAzLCAxMDoxMjo1NSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXJ0c2NoYWZ0LzAsMTUxOCwyNjc5OTQsMDAuaHRtbAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLcmFuay4uLi4uIChab29rLCAgMi4gT2t0IDIwMDMsIDEwOjU4OjM4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwNjUwODIzNzUgcmc9d3d3Cn4jISB0aWQ9MTA2NTA4MjM3NQpLYW5uIG1hbiBiZWkgZGllc2VuIFNwaWVnZWwgb2RlciBzb25zdHdpZSBVUkxzIG5pY2h0IG5vY2ggZGVuIFRpdGVsIGRlcwpBcnRpa2VsIGFuZ2ViZW4/IERhbm4ga2FubiBpY2ggd2VuaWdzdGVucyBwcnVlZmVuLCBvYiBpY2ggZGFzIHNjaG9uIGdlbGVzZW4KaGFiZS4uLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS3JhbmsuLi4uLiAoQmFtYnVsa28sICAyLiBPa3QgMjAwMywgMTE6MDA6NDQpOgp+IyEgcm49Wm9vayBydD0xMDY1MDg1MTE4IHJnPXd3dwp+IyEgdGlkPTEwNjUwODIzNzUKSWNoIHZlcnN1Y2hlIG51ciBkZW4gdHJhZmZpYyBpbSBOZXR6IHp1IGVyaG9laGVuIDotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjQwNCBSZXNlYXJjaCBMYWIgKFpvb2ssICAyLiBPa3QgMjAwMywgMTM6MTM6NTApOgpodHRwOi8vcGxpbmtvLm5ldC80MDQvCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob2VuZSBEQVUtU2VpdGUuLi4gKFJvbmRhLCAgNC4gT2t0IDIwMDMsIDIwOjQ3OjAxKToKLi4uIGdpYnRzIGhpZXI6CgpodHRwOi8vd3d3LmRhdWpvbmVzLmNvbQoKLi4uIGljaCBob2ZmZSwgZGllIHN0YW5kIGhpZXIgbmljaHQgc2Nob24geCBtYWwgLSBpY2gga2FubnRlIHNpZSBub2NoIG5pY2h0CjstKQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hvZW5lIERBVS1TZWl0ZS4uLiAoUm9jaHVzLCAgNS4gT2t0IDIwMDMsIDE0OjA0OjI3KToKfiMhIHJuPVJvbmRhIHJ0PTEwNjUyOTMyMjEgcmc9d3d3Cn4jISB0aWQ9MTA2NTI5MzIyMQpEaWUgc3RhbmQgbm9jaCBuaWNodCBoaWVyLi4uCmFuIGRpZSBTYWNoZSBtaXQgZGVtIEthbGVuZGVyIGhhZXR0ZSBpY2ggbWljaCBqZWRlbmZhbGxzIGVyaW5uZXJ0Li4uCihLdW5kZSBmcmFndCBuYWNoLCB3aWVzbyBrZWluZSBXZWJzdGF0aXN0aWsKZnVlciBkZW4gMzEuMi4yMDAzIHVuZCBhbmRlcmUgdW5tb2VnbGljaGUgVGFnZSBkYSBpc3QuLi4KVW5kIGJlc2NoaW1wZnQgZGVuIEFkbWluIG5hY2ggZGVyIEFudHdvcnQgYWxzIGZhdWwhKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWJheSBtYWwgd2llZGVyIChjOiAoQXBvbGxvbmlhLCAgOC4gT2t0IDIwMDMsIDEwOjU4OjM5KToKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0maXRlbT0zMDUwODgwMjQ3JmNhdGVnb3J5PTE5Njg0CgpBcG8qCmdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgU2VlZ3Vya2UgdW5kIGRpZSBBbmFsbW90dGUuLi4gKEFwb2xsb25pYSwgIDguIE9rdCAyMDAzLCAxNDo1NDoxMyk6Cmh0dHA6Ly93d3cuZm9ybWVudGVyYS1pbmZvLmRlL2NocmlzL2d1cmtlL2d1cmtlLTEuaHRtbAoKQXBvKgp2b20gU3R1aGwgZ2VmYWxsZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyYXVtLUpvYmZpbmRlciAobHVzdGlnKSAoQWxwaGEsICA5LiBPa3QgMjAwMywgMDQ6MDk6MDcpOgpodHRwOi8vd3d3Lmtld2wuY2gvZnVuL2ZpbmRlX2RlaW5lbl9qb2IuaHRtCgpNaXQgUkwtTmFtZW4gd2FlcmUgaWNoIGlkZWFsZXJ3ZWlzZSBFcm90aWstVGFlbnplcgpNaXQgTXVkLU5hbWVuIFBpbW1lbHN0cmVja2VyLi4ud2llIGF1Y2ggaW1tZXIgZGEgZGFzIEtvbmtyZXRlIEJlcnVmc2JpbGQKYXVzc2llaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJhdW0tSm9iZmluZGVyIChsdXN0aWcpIChCYW1iaSwgIDkuIE9rdCAyMDAzLCAxMTowMzowMCk6Cn4jISBybj1BbHBoYSBydD0xMDY1NjY1MzQ3IHJnPXd3dwp+IyEgdGlkPTEwNjU2NjUzNDcKV28gc2V0enQgbWFuIGF1ZiBkZXIgU2VpdGUgVHlwb3MgYWI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcmdsISAoTWVkaWMsICA5LiBPa3QgMjAwMywgMTM6MDg6MTUpOgpJc3QgZGFzIHp1IGZhc3Nlbj8KCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjY4OTA4LDAwLmh0bWwKCk1lZGljIChrb3Bmc2NodWV0dGVsbmQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVHJhdW0tSm9iZmluZGVyIChsdXN0aWcpIChUb2UsIDEwLiBPa3QgMjAwMywgMTk6MjU6NTYpOgp+IyEgcm49QWxwaGEgcnQ9MTA2NTY2NTM0NyByZz13d3cKfiMhIHRpZD0xMDY1NjY1MzQ3CnZvciBkZXIgZWhlIHdhciBpY2ggbXV0YW50IC0gamV0enQgYmluIGljaCBwZXJ1ZWNrZW50ZXN0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphdmFzY3JpcHQuLiB1dXV1aCAoRWxhaW5lLCAxMC4gT2t0IDIwMDMsIDIxOjMwOjI2KToKaHR0cDovL3NjaWZpLnBhZ2VzLmF0L2hhY2tpdHMvCgpBdWYgZGFzcyBhbGxlIHNvdmllbCBGcmV1ZGUgZGFyYW4gaGFiZW4gd2llIEFuYXRvbAoqa2ljaGVyKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGp1aWNoaS1nYXRzdSBvb3Nha2EgbmkgaWtpbWFzdS4gKFZhbmlvbiwgMTAuIE9rdCAyMDAzLCAyMzo0MDozMSk6Cn4jISBybj1WYW5pb24gcnQ9MTA2NTgyMDMwMCByZz1tYWdpZXIudXJsYXViCn4jISB0aWQ9MTA2NTgyMDMwMApBdWYgdmllbGZhY2hlbiBXdW5zY2ggZWluZXMgZWluemVsbmVuIEFzdWthOiBodHRwOi8vdmFuaW9uLmRlL3VybGF1Yi5odG1sCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEphdmFzY3JpcHQuLiB1dXV1aCAoUGFsZSwgMTEuIE9rdCAyMDAzLCAxMzowNDoxOCk6Cn4jISBybj1FbGFpbmUgcnQ9MTA2NTgxNDIyNiByZz13d3cKfiMhIHRpZD0xMDY1ODE0MjI2CndpbGxlCipsb2wqIDwhLS0gc291cmNlIGNvZGUgZGVuaWVkIC8vLS0+CgpQYWxlIGxhY2h0IG5vY2ggaW1tZXIgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEphdmFzY3JpcHQuLiB1dXV1aCAoV2hpdGV0aWdlciwgMTEuIE9rdCAyMDAzLCAxNDoyMzo1OSk6Cn4jISBybj1QYWxlIHJ0PTEwNjU4NzAyNTggcmc9d3d3Cn4jISB0aWQ9MTA2NTgxNDIyNgpTbywgbWl0IEV0aGVyZWFsIGhhYiBpY2ggMTAgamV0enQgZ2VzY2hhZmZ0Li4uCm1hbiBzb2xsdGUgc293YXMgaGFsdCBkb2NoIF9nbGVpY2hfIHJpY2h0aWcgbWFjaGVuISA6KQoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEphdmFzY3JpcHQuLiB1dXV1aCAoV2hpdGV0aWdlciwgMTEuIE9rdCAyMDAzLCAxNDo0MjoyMyk6Cn4jISBybj1IdXJheHByYXggcnQ9MTA2NTg3NjA3MCByZz13d3cKfiMhIHRpZD0xMDY1ODE0MjI2CldhcyB3YXIgZGVubiBkZXIgVHJpY2sgYmVpICMxMCA/ClVuZCB3aWVzbyBmdWVocnQgR2FsZW9uIGRhcyBKUyBhdXMsIHplaWd0IGFiZXIgbml4IGFuLCB1bmQgd2dldC9uZXRjYXQKYmVrb21tZW4gbnVyIG5lIGZlaGxlcm1zZyA/IT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEphdmFzY3JpcHQuLiB1dXV1aCAoSHVyYXhwcmF4LCAxMS4gT2t0IDIwMDMsIDE0OjQyOjQ3KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMDY1ODc2MDcwIHJnPXd3dwp+IyEgdGlkPTEwNjU4MTQyMjYKSmEsIG1pdCBkZXIgMTAgaGFiZW4gc2llIHVucyBuZXR0IHZlcmFyc2NodCA6KQoxNCBsYW5nd2VpbHQgYWJlciwgZWluZmFjaCBlaW4gSGF1ZmVuIHNjaHJlY2tsaWNoIHVubGVzZXJsaWNoZXIgQ29kZS4uLgoKaHVyYXhwcmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKYXZhc2NyaXB0Li4gdXV1dWggKFJpbmdvciwgMTEuIE9rdCAyMDAzLCAxNTozMzowNSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjU4NzUwMzkgcmc9d3d3Cn4jISB0aWQ9MTA2NTgxNDIyNgpBbHNvIGJpc2hlciAoaGFiIGJlaSBMdmwgMTEgZ2VzdGVybiBtdWVkaWdrZWl0c2JlZGluZ3QgdW50ZXJicm9jaGVuIDstKSBrb21tCmljaCBtaXQgd2dldCBub2NoIHZvbGxrb21tZW4gYXVzLiBOZW4gU25pZmZlciBoYWx0ZSBpY2ggZGFubiBkb2NoIGZ1ZXIgZXR3YXMKdWViZXJ0cmllYmVuLiA6bykKCkFiZXIgYmVpIEx2bCAxMCBoYWJlIGljaCBtaWNoIGtvZXN0bGljaCBhbXVlc2llcnQsIHdpZSBzZWhyIG1hbiBzZWxic3QgZG9jaApzY2hvbiBhdWYgZ2V3aXNzZSAiU3RhbmRhcmRzIiBnZWRyaWxsdCBpc3QsIGRpZSBnYXIga2VpbmUgc2luZC4gCgoKUmluZ29yLiBIYXQgdmllbCBTcGFzcyBtaXQgZGVyIFNlaXRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSmF2YXNjcmlwdC4uIHV1dXVoIChXaGl0ZXRpZ2VyLCAxMS4gT2t0IDIwMDMsIDE1OjM2OjU2KToKfiMhIHJuPVJpbmdvciBydD0xMDY1ODc5MTg1IHJnPXd3dwp+IyEgdGlkPTEwNjU4MTQyMjYKSWNoIGdlYnMgamEgenUsIGljaCB3YXIgenUgYmxvZWQgdW0gZGFzIHp1IGJlbWVya2VuLi4uCldoaXRlVGlnZXIgc3RlbGx0IHNpY2ggaW4gZGllIEVja2UgdW5kIHNjaGFlbXQgc2ljaCwgYmVzb25kZXJzIGZ1ZXJzIFZlcnJhdGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSmF2YXNjcmlwdC4uIHV1dXVoIChXaGl0ZXRpZ2VyLCAxMS4gT2t0IDIwMDMsIDIyOjI4OjI5KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2NTg3OTQxNiByZz13d3cKfiMhIHRpZD0xMDY1ODE0MjI2Cnp1IGRlbiBoYWNraXRzIHZlcndlaXNlIGljaCBkYW5uIG5vY2ggYXVmCmh0dHA6Ly93d3cuaGFja2l0cy5kZS8KClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBKYXZhc2NyaXB0Li4gdXV1dWggKEFuYXRvbCwgMTIuIE9rdCAyMDAzLCAxMjoyMDoxOCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjU5MDQxMDkgcmc9d3d3Cn4jISB0aWQ9MTA2NTgxNDIyNgpBbHNvIGRpZSBHZXNjaGljaHRlIG1pdCBFdGhlcmVhbCBpc3QgaG9mZm51bmdzbG9zIHVlYmVydHJpZWJlbi4gRXMgZ2lidAplaW5lbiBkZXV0bGljaCAoISkgZWluZmFjaGVyZW4gV2VnLiBEZXIga2FtIG1pciBhYmVyIG51ciwgd2VpbCBpY2ggbWl0CkV0aGVyZWFsIG5pY2h0IHNvIHJpY2h0aWcga2xhciBrYW0uLi4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBKYXZhc2NyaXB0Li4gdXV1dWggKFdoaXRldGlnZXIsIDEyLiBPa3QgMjAwMywgMTI6MjE6MjcpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjU5NTQwMTggcmc9d3d3Cn4jISB0aWQ9MTA2NTgxNDIyNgpOYWphLCB3aWUgZ2VzYWd0IHdhciB6dSBkb29mIGRhenUuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBKYXZhc2NyaXB0Li4gdXV1dWggKFZhbmlvbiwgMTIuIE9rdCAyMDAzLCAxNDoxODoyMSk6Cn4jISBybj1SaW5nb3IgcnQ9MTA2NTg3OTE4NSByZz13d3cKfiMhIHRpZD0xMDY1ODE0MjI2CkFsc28sIExldmVsIDE1IGlzIGF1ZiBkZW0gZXJzdGVuIEJsaWNrIGVpbmZhY2guIEF1ZiBkZW0gendlaXRlbiBuaWNodC4gSWNoCmthZW1wZmUgbm9jaCBpbW1lciBkYWdlZ2VuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEphdmFzY3JpcHQuLiB1dXV1aCAoUGhvYm9zLCAxMi4gT2t0IDIwMDMsIDE3OjQxOjI5KToKfiMhIHJuPVZhbmlvbiBydD0xMDY1OTYxMTAxIHJnPXd3dwp+IyEgdGlkPTEwNjU4MTQyMjYKQmVlbiB0aGVyZSwgZG9uZSB0aGF0LCBnb3QgdGhlIFQtU2hpcnQuIE5ldHRlcyBGZXVlcndlcmsgLi4KCldlbSBkaWVzZXIgV2V0dGJld2VyYiBnZWZhZWxsdCwgZGVyIHNvbGx0ZSBzaWNoIG1hbAoKICBFbGVjdHJpY2EgLSBUaGUgUHV6emxlIENoYWxsZW5nZQogIGh0dHA6Ly93d3cuY2Flc3VtLmNvbS9nYW1lL2luZGV4LnBocCAKCmFuc2NoYXVlbi4gRGllIEF1ZmdhYmVuIGRvcnQgc2luZCBoYW1tZXJoYXJ0IHVuZCB2ZXJsYW5nZW4gCmFsbGUgU2tpbGxzLCBkaWUgbWFuIHNvIGltIEJlcmVpY2ggSGFja2luZyAvIEtyeXB0b2xvZ2llIC8KTWF0aGVtYXRpayBlcndlcmJlbiBrYW5uLgoKTWFuIGthbm4gYXVjaCB8YnJpZ2VucyBhdWNoIFRlYW1zIGJpbGRlbi4KCgpQaG9ib3MgYWthIFJ1bnluIChtb21lbnRhbiA0MiB2b24gNDQgQXVmZ2FiZW4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSmF2YXNjcmlwdC4uIHV1dXVoIChWYW5pb24sIDEyLiBPa3QgMjAwMywgMTg6MDQ6MDUpOgp+IyEgcm49UGhvYm9zIHJ0PTEwNjU5NzMyODkgcmc9d3d3Cn4jISB0aWQ9MTA2NTgxNDIyNgo+IHZlcmxhbmdlbgo+IGFsbGUgU2tpbGxzLCBkaWUgbWFuIHNvIGltIEJlcmVpY2ggSGFja2luZyAvIEtyeXB0b2xvZ2llIC8KPiBNYXRoZW1hdGlrIGVyd2VyYmVuIGthbm4uCgpEYW5uIGxvaG50IGVzIG5pY2htYWwsIGRhc3MgaWNoIGRpZSBTZWl0ZSBpbiBtZWluZW4gQnJvd3NlciBrb3BpZXJlLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEphdmFzY3JpcHQuLiB1dXV1aCAoQWxrb2hvbCwgMTIuIE9rdCAyMDAzLCAxODowNzoxMSk6Cn4jISBybj1QaG9ib3MgcnQ9MTA2NTk3MzI4OSByZz13d3cKfiMhIHRpZD0xMDY1ODE0MjI2CmFsbGUgc2tpbGxzPyBobW0gc2NocmVpYnN0IGR1IG1laW5lIGFyYmVpdD8KCkFsawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWJheSBtYWwgd2llZGVyLi4uIChHcnVtcGYsIDE0LiBPa3QgMjAwMywgMDk6NDk6MDYpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTI5NTc2NTY1MjEKR3J1bXBmIGdydW1wZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJldHJpZWJzc3lzdGVtZSBkaWUgZGllIFdlbHQgbm9jaCBicmF1Y2h0IChEZWVwYmx1ZSwgMTQuIE9rdCAyMDAzLCAxNDo0MjowNSk6Cmh0dHA6Ly9xcnh4LjR0LmNvbS9iYXJiaWVPUy5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCZXRyaWVic3N5c3RlbWUgZGllIGRpZSBXZWx0IG5vY2ggYnJhdWNodCAoQWxrb2hvbCwgMTQuIE9rdCAyMDAzLCAxNzo1MToyMik6Cn4jISBybj1EZWVwYmx1ZSBydD0xMDY2MTM1MzI1IHJnPXd3dwp+IyEgdGlkPTEwNjYxMzUzMjUKZGFzIGVyaW5uZXJ0IG1pY2ggYW4gUHJvZ3JhbW1pZXJzcHJhY2hlbiBkaWUgZGllIFdlbHQgbmljaHQgd2lya2xpY2ggYnJhdWNodCwKdW5kIG1pciBmYWVsbHQgc3BvbnRhbiBJbnRlcmNhbCBlaW4uIAoKQWxrIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCZXRyaWVic3N5c3RlbWUgZGllIGRpZSBXZWx0IG5vY2ggYnJhdWNodCAoV2hpdGV0aWdlciwgMTQuIE9rdCAyMDAzLCAxNzo1MjoxMik6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNjYxNDY2ODIgcmc9d3d3Cn4jISB0aWQ9MTA2NjEzNTMyNQpNaXIgd3VlcmRlIGRhIGVoZXIgQnJhaW5GKioqIChha2EuIEJyYWluRnVuY3QpIGVpbmZhbGxlbi4uLiBvZGVyIE1hbGJvbGdlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIi4uLiBNb25zdGVyIHZvbSBQbGFuZXRlbiBLbmFlY2tlIDQgLi4uIiAoR2xvaW5zb24sIDE1LiBPa3QgMjAwMywgMDE6MTE6MTApOgouLi4gb2RlciB3YXJ1bSBpY2ggZ2VybiBtYWwgYmVpbSBLaUthIG5hY2h0cyByZWluemFwcGU6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUva3VsdHVyL2dlc2VsbHNjaGFmdC8wLDE1MTgsMjY5NzE4LDAwLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaW4gOTggbWl0IEZpcmV3YWxsISAoSHVtbmksIDE1LiBPa3QgMjAwMywgMjA6NDU6NTMpOgpodHRwOi8vd3d3LmZ1bi5mcm9tLmhlbGwucGwvMjAwMy0xMC0wOC93aW45OF93aXRoX2ZpcmV3YWxsLmpwZwoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaW4gOTggbWl0IEZpcmV3YWxsISAoR2FuZG8sIDE1LiBPa3QgMjAwMywgMjM6MzQ6MzQpOgp+IyEgcm49SHVtbmkgcnQ9MTA2NjI0MzU1MyByZz13d3cKfiMhIHRpZD0xMDY2MjQzNTUzCmF1ZnB1dHNjaG1pdHRlbCBtaWxjaDoKaHR0cDovL3d3dy5mdW4uZnJvbS5oZWxsLnBsLzIwMDMtMTAtMDgvcGlqLW1sZWtvLWJlZHppZXN6LXdpZWxraS5qcGcKCmdhbmRvIGdyaW5zdCBzaWNoIGVpbgpzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlZWxlbiAuLi4gKERhcmtsb3IsIDE2LiBPa3QgMjAwMywgMjI6MTI6MTkpOgp+IyEgcm49TW9yZ290aCBydD0xMDYzODQyMTE3IHJnPXd3dwp+IyEgdGlkPTEwNjM4NDE1NDgKWFhYWFggaGFzIGhhZCB0aGVpciBzb3VsIHZhbHVlZCBhdCAxMjQ2OCB3aGljaCBtZWFucyA2OSUgb2YgcGVvcGxlIGhhdmUgYQpwdXJlciBzb3VsIHRoYW4gaGltL2hlci4KCkRhcmtsb3IKCipnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnJ1c3QgKERhcmtsb3IsIDE2LiBPa3QgMjAwMywgMjI6NDQ6MzYpOgp+IyEgcm49TWVkaWMgcnQ9MTA2Mzk5NjkwMiByZz13d3cKfiMhIHRpZD0xMDYzOTMzNTE1CkZydXN0OiA0MDAgUHVua3RlIC0gaG1tLi4uIC0ga2FubiBkYXMgaXJnZW5kd2llIG5pY2ggZ2xhdWJlbi4uLiAqZyogCgpMYXp5OiA3MCUgbGF6eSAtIDE4JSBsYXppZXIgLyAyJSB0aGUgc2FtZSAvIDc5JSBsZXNzIGxhenkgLSB5ZWFoLi4uICpnKiAgCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBvcm5vc3RhciAoRGFya2xvciwgMTYuIE9rdCAyMDAzLCAyMzowMzo1MCk6Cn4jISBybj1IdW1uaSBydD0xMDY0NTY0ODEyIHJnPXd3dwp+IyEgdGlkPTEwNjQ1NjQ2OTEKaG1tLi4uIENsaXZlIENvY2tzdGVyIAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lraXBlZGlhIC0gQVNDSUkgY293cyAoV2hpdGV0aWdlciwgMTguIE9rdCAyMDAzLCAxMjo1ODozNCk6Cmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV2lraXBlZGlhOkJhZF9qb2tlc19hbmRfb3RoZXJfZGVsZXRlZF9ub25zZW5zZS9BUwpDSUlfY293cwoKV2hpdGVUaWdlciBoYXQgc2ljaCBrb2VzdGxpY2ggYW11ZXNpZXJ0IGRhYmVpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKFZhbmlvbiwgMTguIE9rdCAyMDAzLCAxMjo1OTowMik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjY0NzQ3MTQgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApNZWhyemVpbGlnZSBMaW5rcyBzaW5kIGRvb2YgdW5kIHN0aW5rZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChXaGl0ZXRpZ2VyLCAxOC4gT2t0IDIwMDMsIDEyOjU5OjI0KToKfiMhIHJuPVZhbmlvbiBydD0xMDY2NDc0NzQyIHJnPXd3dwp+IyEgdGlkPTEwNjY0NzQ3MTQKS2FubiBpY2ggZG9jaCBuaXggZnVlciB3ZW5uIGRpZSBkYXMgc28gbGFuZyBtYWNoZW4uLi4gdW5kIHp1bSBtYWtlYXNob3J0ZXJsaW5rCmhhYiBpY2gga2VpbmUgTHVzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKFZhbmlvbiwgMTguIE9rdCAyMDAzLCAxMzowMDo0Mik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjY0NzQ3NjQgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApCaW4gaWNoIGRlciBlaW56aWdlIGRlbSBkaWUgSW5rb25zaXN0ZW56IGluIGRlciBBdXNzYWdlIGF1ZmZhZWxsdD8KCiJJY2gga2FubiBuaXggZGFnZWdlbiB0dW4uIFdlaWwgaWNoIGtlaW5lIEx1c3QgZGF6dSBoYWIiIC0gdW50ZXJzY2hpZWRsaWNoZQpRdWFsaXRhZXRlbiA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKFdoaXRldGlnZXIsIDE4LiBPa3QgMjAwMywgMTM6MDM6NDkpOgp+IyEgcm49VmFuaW9uIHJ0PTEwNjY0NzQ4NDIgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApJY2ggaGFiIG5pY2h0IGdlc2FndCwgZGFzcyBpY2ggbml4IGRhZ2VnZW4gdHVuIGtvZW5udGUuLi4gaWNoIGhhYmUgZWluZmFjaAprZWluZSBMdXN0IGRhenUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChSb25kYSwgMTguIE9rdCAyMDAzLCAxMzowNjoxOSk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjY0NzUwMjkgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApIbXBmLiBEYWJlaSBpc3QgZGFzIGVjaHQgdHJpdmlhbC4gU2NoYXUgbWFsIGhpZXI6CgpodHRwOi8vdGlueXVybC5jb20vI3Rvb2xiYXIKCkRhIHN0ZWh0LCB3aWUgRHUgVGlueXVybCBpbiBEZWluZW4gQnJvd3NlciBpbnRlZ3JpZXJlbiBrYW5uc3QuIERhbm4gaXN0cyBlaW4KZWluZmFjaGVyIEtsaWNrIGltIEJyb3dzZXIgdW5kIER1IGhhc3QgZGllIGt1cnplIFVSTC4KClJvbmRhICpGYXVsaGVpdCBpc3QgamEgZ2FueiBuZXR0LCBhYmVyIHdhcnVtIHNjaHJlaWJ0IG1hbiBkYW5uIEFydGlrZWwgaW4gZGVyCk1QQT8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChXaGl0ZXRpZ2VyLCAxOC4gT2t0IDIwMDMsIDEzOjA3OjUzKToKfiMhIHJuPVJvbmRhIHJ0PTEwNjY0NzUxNzkgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApTY2hvZW4uIHBvc3RldCBzb3dhcyBkb2NoIGxpZWJlciBnbGVpY2gsIHN0YXR0IGVyc3QgbWFsIHJ1bXp1bWVja2VybiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2lraXBlZGlhIC0gQVNDSUkgY293cyAoV2hpdGV0aWdlciwgMTguIE9rdCAyMDAzLCAxMzowODoxMyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNjY0NzUyNzMgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApBbHNvIGhpZXIgZGllIEt1cnp2YXJpYW50ZToKaHR0cDovL3Rpbnl1cmwuY29tL3JlOGwKClp1ZnJpZWRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKFJvbmRhLCAxOC4gT2t0IDIwMDMsIDEzOjA4OjQ2KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2NjQ3NTI5MyByZz13d3cKfiMhIHRpZD0xMDY2NDc0NzE0CkphdS4gRGVyIEthbmRpZGF0IGVyaGFlbHQgMTAwIEd1bW1pcHVua3RlLgoKUm9uZGEgKnVuZCBhYiBkYW1pdCBuYWNoIFNjaG1hcnJuPyBHcmltbWJvcm4/KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmlsZGVyIChHYW5kbywgMTguIE9rdCAyMDAzLCAxODoxNzoyNCk6CldpZSBtYWNodCBtYW4gS2l3aSdzPyA6Cmh0dHA6Ly9sdXN0aWNoLmRlL3BpY3MvYmlsZGVyL2tpd2kuZ2lmCgpEZXV0c2NobGFuZCB1bmQgRG9zZW5wZmFuZCBpbiAzIEphaHJlbjoKaHR0cDovL2x1c3RpY2guZGUvcGljcy9iaWxkZXIvZG9zZW5wZmFuZC5qcGcKCkF1ZiBBYndlZ2VuOgpodHRwOi8vbHVzdGljaC5kZS9waWNzL2JpbGRlci9sZWJlbnNyZXR0ZW5kZXJhbmhhZW5nZXIuanBnCgpHYW5kbyBncmluc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBiaWxkZXIgKFNjaG9rbywgMTkuIE9rdCAyMDAzLCAwMDo0Mjo0OSk6Cn4jISBybj1HYW5kbyBydD0xMDY2NDkzODQ0IHJnPXd3dwp+IyEgdGlkPTEwNjY0OTM4NDQKQWxzbyB3ZW5uIGx1c3RpY2guZGUsIGRhbm4KaHR0cDovL2x1c3RpY2guZGUvP2JpbGRlcmRiLmJpbGRlci4xLjEzCgpTY2hva28gKnNjaHVldHRlbHQgc2ljaCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJldHJpZWJzc3lzdGVtZSBkaWUgZGllIFdlbHQgbm9jaCBicmF1Y2h0IChLb2JheWFzaGksIDE5LiBPa3QgMjAwMywgMTA6MjU6MzMpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDY2MTQ2NzMyIHJnPXd3dwp+IyEgdGlkPTEwNjYxMzUzMjUKV2llc28gZGllIGRpZSBXZWx0IG5pY2h0IGJyYXVjaHQgLi4uIEJyYWluZnVjayBpc3QgZG9jaCBlaW5mYWNoIGdlbmlhbCwgZGllClR1cmluZ21hc2NoaW5lIGluIFJlaW5mb3JtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmV0cmllYnNzeXN0ZW1lIGRpZSBkaWUgV2VsdCBub2NoIGJyYXVjaHQgKFZhbmlvbiwgMTkuIE9rdCAyMDAzLCAxMjowMzo1Mik6Cn4jISBybj1Lb2JheWFzaGkgcnQ9MTA2NjU1MTkzMyByZz13d3cKfiMhIHRpZD0xMDY2MTM1MzI1CkhtbSwgYWxzbyBnZW5pYWwsIG1hZyBzZWluLiB0dXJpbmcgbWFzY2hpbmUgbmFqYSAobWFsIGFiZ2VzZWhlbiB2b24gZGVtCmVsZW5kZW4gUHJvYmxlbSBtaXQgZGVtIHVuZW5kbGljaCBsYW5nZW4gc2NocmVpYi0vbGVzZS1CYW5kKS4gU293ZWl0IGd1dC4KSmV0enQga29tbWVuIHdpciBtYWwgenUgc28gdW53ZXNlbnRsaWNoZW4gS2xlaW5pZ2tlaXRlbiB3aWU6IGVpbmZhY2gKcHJvZ3JhbW1pZXJiYXIsIHZlcnN0YWVuZGxpY2hlciBjb2RlLCBnZXNjaHdpbmRpZ2tlaXQsICBvZGVyIGFsbGdlbWVpbjoKcHJha3Rpa2FiaWxpdGFldC4gSXJnZW5kd2llIGtvbW10IGRhIEJyYWluZnVjayBlaW4gYmlzY2hlbiBpbnMgaGludGVydHJlZmZlbgooc29nYXIgaW0gVmVyZ2xlaWNoIHp1IGZ1bmt0aW9uYWxlbiBTcHJhY2hlbikuCgpUdXJpbmdtYXNjaGluZW4gc2luZCBlaW5lIG5ldHRlIElkZWUgdW0gVm9yZGlwbG9tLUluZm9ybWF0aWtlciB6dSB2ZXJncmF1bGVuLAphYmVyICJEaW5nZSBkaWUgZGllIFdlbHQgbmljaHQgYnJhdWNodCIgdHJpZmZ0cyBlaWdlbnRsaWNoIGdhbnogZ3V0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2lraXBlZGlhIC0gQVNDSUkgY293cyAoVmFyZGlvbiwgMjAuIE9rdCAyMDAzLCAxMzo1ODozNyk6Cn4jISBybj1WYW5pb24gcnQ9MTA2NjQ3NDc0MiByZz13d3cKfiMhIHRpZD0xMDY2NDc0NzE0ClNvbGFuZ2UgZGVuIExpbmtzIGtlaW4gUHJlZml4IHdpZSAiU293aWVzbyB0ZWlsdCBEaXIgbWl0OiIgdm9ycmFuZ2VzdGVsbHQgaXN0LApzaW5kIG1laHJ6ZWlsaWdlIExpbmtzIGtlaW4gUHJvYmxlbS4gRWluZmFjaCBtaXQgZGVyIE1hdXMgbWFya2llcmVuIHVuZCBkYW5uCm1pdCBkZXIgbWl0dGxlcmVuIE1hdXN0YXN0ZSBpbiBkZW4gTW96aWxsYSBrbGlja2VuIC0gZGFzIGtsYXBwdCBhdWNoIHByaW1hIG1pdAptZWhyemVpbGlnZW4gTGlua3MuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChCb2luZywgMjAuIE9rdCAyMDAzLCAxNDoxNDozNCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNjY2NTExMTcgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApEYXp1IG11ZXNzdGUgaWNoIGphIHp1ZXJzdCBNb3ppbGxhIGluc3RhbGxpZXJlbiwgdW5kIG9iIGRhbm4gZGllIG1pdHRsZXJlCk1hdXN0YXN0ZSB1ZWJlcmhhdXB0IHdhcyB0dXQgaXN0IHp1bWluZGVzdCBmcmFnbGljaC4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2lraXBlZGlhIC0gQVNDSUkgY293cyAoQWxrb2hvbCwgMjAuIE9rdCAyMDAzLCAxNDoxNjoxNik6Cn4jISBybj1Cb2luZyBydD0xMDY2NjUyMDc0IHJnPXd3dwp+IyEgdGlkPTEwNjY0NzQ3MTQKZGFiZWkgaXN0IGRpZSBtaXR0bGVyZSBNYXVzdGFzdGUgc28gdG9sbCA7KSBJY2ggZnJhZyBtaWNoLCB3aWUgbWFuIG9obmUgc2llCmF1c2tvbW1lbiBrYW5uCgpBbGsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKEh1bW5pLCAyMC4gT2t0IDIwMDMsIDE0OjE2OjI4KToKfiMhIHJuPUJvaW5nIHJ0PTEwNjY2NTIwNzQgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApWYXJkaW9uIGdpbmcgdmVybXV0bGljaCBkYXZvbiBhdXMsIGRhc3MgRHUgZWluIEJldHJpZWJzc3lzdGVtIGluc3RhbGxpZXJ0Cmhhc3QuLi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChHb3JvZywgMjAuIE9rdCAyMDAzLCAxNDoyNDoyNCk6Cn4jISBybj1IdW1uaSBydD0xMDY2NjUyMTg4IHJnPXd3dwp+IyEgdGlkPTEwNjY0NzQ3MTQKTmUgZHJpdHRlIE1hdXN0YXN0ZSB3YWVyIGphIGFic29sdXRlciBMdXh1cy4gSWNoIHNpdHogaGllciBhbiBuZW0gQXBwbGUsIGRlcgpoYXQgbmljaHQgZWlubWFsIGVpbmUgendlaXRlICg7CgpNZkcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpa2lwZWRpYSAtIEFTQ0lJIGNvd3MgKEJvaW5nLCAyMC4gT2t0IDIwMDMsIDE0OjI0OjUwKToKfiMhIHJuPUdvcm9nIHJ0PTEwNjY2NTI2NjQgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNApJbW1lcmhpbiBoYXN0IER1IGtlaW4gUHJvYmxlbSBkaWUgbWl0dGxlcmUgenUgdHJlZmZlbiAodm9yYXVzZ2VzZXR6dCBEdQpoYXN0IE1vemlsbGEgaW5zdGFsbGllcnQpLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaWtpcGVkaWEgLSBBU0NJSSBjb3dzIChBbGtvaG9sLCAyMC4gT2t0IDIwMDMsIDE0OjQxOjA0KToKfiMhIHJuPUJvaW5nIHJ0PTEwNjY2NTI2OTAgcmc9d3d3Cn4jISB0aWQ9MTA2NjQ3NDcxNAppY2ggZGVua2UgZXIgaGF0IGRpZSBwcm9ibGVtZSwgZGllIG1pdHRsZXJlIHp1IHRyZWZmZW4gYXVjaCBkYW5uIG5pY2h0LCB3ZW5uCmVyIGtlaW5lbiBtb3ppbGxhIGluc3RhbGxpZXJ0IGhhdCA7KQoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKFQpUmF1bXNjaGlmZiAoR2FuZG8sIDIwLiBPa3QgMjAwMywgMjM6MTA6MjgpOgpEYXMgKFQpUmF1bXNjaGlmZiBrb21tdCB1bnRlciB3d3cucGVyaW9kZTEuZGUKCkRlciBlcnN0ZSBrbGVpbmUgVGVhc2VyIGFscyBWb3JnZXNjaG1hY2sgenUgQnVsbHkncyBuZXVlbiBGaWxtIDspCgpHYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ3JhZGUgYmVpIFNwaWVnZWwgZ2VzZWhlbiAoVGFuZ2FsdXIsIDIxLiBPa3QgMjAwMywgMTM6NTQ6MjUpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvbmV0emt1bHR1ci8wLDE1MTgsMjcwNTc1LDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZGRsLU1hdXMgYmVpIGViYXkgKFZpbmNlbnQsIDIxLiBPa3QgMjAwMywgMTU6NTQ6MDkpOgpIaSEKCkVpbmUgaGVycmxpY2hlIEFydGlrZWxiZXNjaHJlaWJ1bmcuLi4gOykKaHR0cDovL3Blb3BsZS5mcmVlbmV0LmRlL2dmbGFzdGhvcGUvZWJheSUyMGRpZGRsLmh0bQoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdyYWRlIGJlaSBTcGllZ2VsIGdlc2VoZW4gKFRhcmFuaXMsIDIxLiBPa3QgMjAwMywgMTU6NTQ6NDMpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTA2NjczNzI2NSByZz13d3cKfiMhIHRpZD0xMDY2NzM3MjY1CkhhYmUgaWNoIGF1Y2ggdm9yaGluIGdlbGVzZW4uLi4gQXVjaCBuZSBNZXRob2RlLCB1bSB6dSBHZWxkIHp1IGtvbW1lbi4gKmcqIDgwMApFdXJvIGZ1ZXIgbmVuIERlbGZlbnNwaWVsZXIuLi4gV2VubiBtYW4gZGFzIG1hY2h0IHVuZCBtaXQgZ2VudWVnZW5kIEVyZmFocnVuZwp1bmQgdmllbGxlaWNodCB0ZWlsd2Vpc2VyIFNjcmlwdHVudGVyc3R1ZXR6dW5nIG5lIFdvY2hlIGZ1ZXIgbmVuIGd1dGVuIENoYXIKYnJhdWNodCwga2FubiBtYW4gaW1tZXJoaW4gZ3V0IEdld2lubiBtYWNoZW4uLi4gOy0pIEhhdCBlaW5lciBoaWVyIGF1Y2ggc2Nob24KamVtYW5kIGVpbmVuIGVyZmFocmVuZW4gQ2hhciB2ZXJrYXVmdD8gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMYWNoIChHYW5kbywgMjEuIE9rdCAyMDAzLCAxNzowNzozMik6Cmh0dHA6Ly8yMTcuMTk2LjY0LjM3L2Z1bi9pbmRleC5waHA/ZGlyPXZpZGVvLyZmaWxlPVJvc2Vua3JpZWcubXBlZwpodHRwOi8vMjE3LjE5Ni42NC4zNy9mdW4vaW5kZXgucGhwP2Rpcj12aWRlby8mZmlsZT1hbnRlbmExd2hlZWwubXBnCgpHYW5kbyBzY2htZWlzc3Qgc2ljaCBpbiBkaWUgRWNrZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JvayAuLiAoQW5vcmlzLCAyMS4gT2t0IDIwMDMsIDIyOjE1OjExKToKaHR0cDovL3d3dy5hbmltYW11bmRpd2ViLmNvbS9hbmltYW11bmRpL2ZsYXNoL0dyb2suc3dmCgotIEFub3JpcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdyYWRlIGJlaSBTcGllZ2VsIGdlc2VoZW4gKFJvbmRhLCAyMS4gT2t0IDIwMDMsIDIyOjQ3OjI2KToKfiMhIHJuPVRhbmdhbHVyIHJ0PTEwNjY3MzcyNjUgcmc9d3d3Cn4jISB0aWQ9MTA2NjczNzI2NQpPY2ggbGllYmUgTGV1dGUgLSBpY2ggZmluZHMgcHJpbWEsIGRhc3MgSWhyIG5ldHRlIExpbmtzIHBvc3RldC4gQWJlciBrb2VubnQKSWhyIHZpZWxsZWljaHQgZWluZW4gZ2FhYWFueiBncm9iZW4gQW5oYWx0IGRhZnVlciBnZWJlbiwgd2FzIG1hbiBzaWNoIGRhCmFuc2NoYXVlbiBzb2xsPyBEYW1pdCB3ZW5pZ3N0ZW5zIGVpbiBiaXNzY2hlbiBlaW5zY2hhZXR6ZW4ga2Fubiwgb2IgZGVyIExpbmsKZnVlciBlaW5lbiBzZWxic3QgaW50ZXJlc3NhbnQgaXN0Li4uCgpSb25kYSAqZGFzcyBpY2ggYXVmIFRhbmdhbHVycyBBcnRpa2VsIGFudHdvcnRlLCBpc3QgcmVpbmVyIFp1ZmFsbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZ3JhZGUgYmVpIFNwaWVnZWwgZ2VzZWhlbiAoR2xvaW5zb24sIDIxLiBPa3QgMjAwMywgMjI6NTc6MzApOgp+IyEgcm49Um9uZGEgcnQ9MTA2Njc2OTI0NiByZz13d3cKfiMhIHRpZD0xMDY2NzM3MjY1Cnd3dy5nb29nbGUuZGUKCkdlaWwhIEdlaWwhIEdlaWwhIExpbmtmYXJtZW4gdW5kIGFsbGVzIG1vZWdsaWNoZSBuYWNoIGRlbSBtYW4gZ2VzdWNodCBoYWJlbgprb2VubnRlIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGdyYWRlIGJlaSBTcGllZ2VsIGdlc2VoZW4gKFRhbmdhbHVyLCAyMi4gT2t0IDIwMDMsIDA4OjU4OjEwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNjY3Njk4NTAgcmc9d3d3Cn4jISB0aWQ9MTA2NjczNzI2NQpzb2xsIGljaCBkZW4gQXJ0aWtlbCB3aWVkZXIgbHNjaGVuID8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogKFQpUmF1bXNjaGlmZiAoVHJ1ZywgMjIuIE9rdCAyMDAzLCAyMToxNDo0NCk6Cn4jISBybj1HYW5kbyBydD0xMDY2Njg0MjI4IHJnPXd3dwp+IyEgdGlkPTEwNjY2ODQyMjgKIlNpZSBoYWJlbiBrZWluIEZsYXNoIGluc3RhbGxpZXJ0LiBCaXR0ZSBrbGlja2VuIFNpZSBoaWVyLCB1bSBzaWNoIGRlbgpGbGFzaC1QbGF5ZXIgaGVydW50ZXJ6dWxhZGVuLiIKClRvbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IChUKVJhdW1zY2hpZmYgKE9sbGksIDIyLiBPa3QgMjAwMywgMjE6Mjk6MzUpOgp+IyEgcm49VHJ1ZyBydD0xMDY2ODUwMDg0IHJnPXd3dwp+IyEgdGlkPTEwNjY2ODQyMjgKVGVhc2VyMTogaHR0cDovL3d3dy5wZXJpb2RlMS5kZS9maWxtL3BlcmlvZGUxL3Nob3dyb29tXzAxL21vdmllcy9sYXJnZS5tb3YKVGVhc2VyMjoKaHR0cDovL3d3dy5wZXJpb2RlMS5kZS9maWxtL3BlcmlvZGUxL3Nob3dyb29tL21vdmllcy9wZXJpb2RlMV90ZWFzZXIyX2xhcmdlLm1vCnYKCmZ1ZXIgYWxsZSBvaG5lIEZsYXNoCgpPbGxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAoVClSYXVtc2NoaWZmIChXaGl0ZXRpZ2VyLCAyMi4gT2t0IDIwMDMsIDIxOjMwOjUxKToKfiMhIHJuPU9sbGkgcnQ9MTA2Njg1MDk3NSByZz13d3cKfiMhIHRpZD0xMDY2Njg0MjI4CkFiZXIgZGFmdWVyIFF1aWNrdGltZSBNb3ZpZS4uLiBoYXN0ZSBuaXggdmVybnVlbmZ0aWdlcyBtaXQgTVBFR3MgPyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogKFQpUmF1bXNjaGlmZiAoR2FuZG8sIDIyLiBPa3QgMjAwMywgMjI6MjU6NTYpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDY2ODUxMDUxIHJnPXd3dwp+IyEgdGlkPTEwNjY2ODQyMjgKbXBsYXllciBrYW5ucyBkb2NoIGFic3BpZWxlbi4KYWxzbyB3YXMgc29sbHMgLi4uCgpnYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogKFQpUmF1bXNjaGlmZiAoQW5vcmlzLCAyMy4gT2t0IDIwMDMsIDIwOjQ2OjI1KToKfiMhIHJuPUdhbmRvIHJ0PTEwNjY4NTQzNTYgcmc9d3d3Cn4jISB0aWQ9MTA2NjY4NDIyOAptcGxheWVyPyBmdW5rdGlvbmllcnQgYmVpIG1pciBuaWNodCAuLiBrZWluIENvZGVkIGdlZnVuZGVuIC4uCkhhYnQgaWhyIFRvbiBvZGVyIHNjaHdlaWd0IGRlciBGaWxtPwoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvdyBpcyBzaGU/IChOb25uZSwgMjQuIE9rdCAyMDAzLCAwOTowNToxNik6Cmh0dHA6Ly93d3cuZHJrYW5nZWwub3JnL3BpY3R1cmVzL21pc2Mvc3R1ZmYvc3dmL2NlbGVieHh4LnN3ZgoKTm9ubmUsIGZhbmRzIGx1c3RpZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpZ2VudGxpY2ggc29sbHRlIGljaCBkYXMgamEgbmljaHQgcG9zdGVuLi4uLiAoWm9vaywgMjguIE9rdCAyMDAzLCAxMzoyMjowMyk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjcxNjM5LDAwLmh0bWwKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlnZW50bGljaCBzb2xsdGUgaWNoIGRhcyBqYSBuaWNodCBwb3N0ZW4uLi4uIChNYWhhcmV0LCAyOC4gT2t0IDIwMDMsIDEzOjQ1OjM1KToKfiMhIHJuPVpvb2sgcnQ9MTA2NzM0MzcyMyByZz13d3cKfiMhIHRpZD0xMDY3MzQzNzIzCkFiZXI/CgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpZ2VudGxpY2ggc29sbHRlIGljaCBkYXMgamEgbmljaHQgcG9zdGVuLi4uLiAoTXVhZGliLCAyOC4gT2t0IDIwMDMsIDEzOjQ1OjUzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA2NzM0NTEzNSByZz13d3cKfiMhIHRpZD0xMDY3MzQzNzIzCm1hYWFhYWFhZWVlZWVlZWVlZWVlZWVoaGhoaGhoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZXIgdXJrbmFsbCB3YXIgZWluIGZha2UhIChLcmlra2l0LCAzMC4gT2t0IDIwMDMsIDE1OjEwOjQzKToKdG9sbGUgd2lzc2Vuc2NoYWZ0bGVyIGhhYmVuIHJhdXNnZWZ1bmRlbiwgZGFzcyBkZXIgdXJrbmFsbCBnYXIga2VpbiBrbmFsbCB3YXIsCnNvbmRlcm4gZWhlciBlaW4gdGVjaG5vaWRlcyBmaWVwZW4uIGZ1ZXIgbWljaCBrbGluZ3RzIGphLCBhbHMgc2VpIGRhcwp1bml2ZXJzdW0gaW4gZWluZW0ga29zbWlzY2hlbiBmdXJ6IGVudHN0YW5kZW46CgpodHRwOi8vd3d3Lm5wbC53YXNoaW5ndG9uLmVkdS9BVi9hbHR2dzEwNC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlciB1cmtuYWxsIHdhciBlaW4gZmFrZSEgKFdoaXRldGlnZXIsIDMwLiBPa3QgMjAwMywgMTU6MzU6NDMpOgp+IyEgcm49S3Jpa2tpdCBydD0xMDY3NTIzMDQzIHJnPXd3dwp+IyEgdGlkPTEwNjc1MjMwNDMKSXJnZW5kd2llIGtvbW10IGRhIG51ciBlaW4gdGltZW91dC4uLiA6LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkZXIgdXJrbmFsbCB3YXIgZWluIGZha2UhIChLcmlra2l0LCAzMC4gT2t0IDIwMDMsIDE1OjQ3OjA4KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2NzUyNDU0MyByZz13d3cKfiMhIHRpZD0xMDY3NTIzMDQzCmpvLCBpY2ggc2VocyBhdWNoLCBkYSBoYXQgZGVyIHNlcnZlciB3b2hsIHp1IHZpZWwgenUgdHVuIDotKQoKaWNoIGhhYiBkaWUgYXVkaW9kYXRlaSB2b24gZGVtIHVyZnVyeiBtYWwgaGllciBhYmdlbGVndDoKd3d3LmRhdGVuc2NodXR6LmluLWJlcmxpbi5kZS9rb3Ntb3NmdXJ6LndhdgoKZGVuIGVudHNwcmVjaGVuZGVuIHRleHQgZmluZGV0IGlociBhYmVyIGVyc3RtYWwgbnVyIGhpZXI6IApodHRwOi8vd3d3Lm5wbC53YXNoaW5ndG9uLmVkdS9BVi9hbHR2dzEwNC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbnRlcm5ldHByb3ZpZGVyIChBbGJvaW4sIDMwLiBPa3QgMjAwMywgMTY6MDA6MzMpOgpXZWlzcyBqZW1hbmQgd28gbWFuIGRpZSBha3R1ZWxsZW4gQW5nZWJvdGUgdm9uIEludGVybmV0cHJvdmlkZXJuIHZlcmdsZWljaGVuCmthbm4/CkVpbiBGcmV1bmQgdm9uIG1pciBoYXQgc2ljaCBzZWxic3RzdGFlbmRpZyBnZW1hY2h0IHVuZCB3aWxsIGZ1ZXIgc2VpbmUgRmlybWEKYXVjaCBuZSBJbnRlcm5ldHNlaXRlIGhhYmVuLCBkaWUgYWJlciBudXIgcmVpbiBJbmZvcm1hdGlvbnN6d2Vja2VuIGRpZW5lbgpzb2xsLCBkaCBkaWUgS2FwYXppdGFldCBkdWVyZnRlIDEwIE1CIGJpY2h0IHVlYmVyc2NocmVpdGVuLiBVbmQgbmF0dWVybGljaAplaW5lIGRlLURvbWFpbiwgc2VpbiBXdW5zY2huYW1lIGlzdCAtZGEgaGF0IGVyIHNjaG9uIGdlZ3Vja3QgLSBub2NoIG5pY2h0CnJlc2VydmllcnQuCgpHcnVlc3NlIEFsIChkZXIgaG9mZnQgZGFzIGRhcyBkaWUgcmljaHRpZ2UgUnVicmlrIGRhZnVlciBpc3QpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlldGVyIEJvaGxlbiA6LSkgKEJhbWJ1bGtvLCAzMC4gT2t0IDIwMDMsIDE2OjAyOjIxKToKQmVpIGViYXkgZGFyZiBtYW4gZGFzIEJ1Y2ggdm9uIERpZXRlciBCb2hsZW4gYXVjaCBuaWNodCBtZWhyIHZlcmthdWZlbi4gRGFoZXIKdmVya2F1ZmVuIGRpZSBMZXV0ZSBqZXR6dCBHdXRzY2hlaW5lIGZ1ZXIgZGFzIEJ1Y2gsIGRpZSBzaWUgbmFjaGhlciBzb2ZvcnQKYmVpbSBWZXJrYWV1ZmVyIGVpbmxvZXNlbiBrb2VubmVuOgoKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0maXRlbT0zNTYyMTIyNTUxJmNhdGVnb3J5PTMyNzAxCgpJZGVlbiBnaWJ0J3MgOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGludGVybmV0cHJvdmlkZXIgKE1vbnRhbnVzLCAzMC4gT2t0IDIwMDMsIDE2OjExOjAzKToKfiMhIHJuPUFsYm9pbiBydD0xMDY3NTI2MDMzIHJnPXd3dwp+IyEgdGlkPTEwNjc1MjYwMzMKUHJvYmllcnMgYmVpIGVpbnN1bmRlaW5zLCBkYSBoYWIgaWNoIG1laW5lIFNlaXRlIGhpbmdlbGVndCwgdW5kIGJlaSA0OSBjZW50cwpwcm8gTW9uYXQgb2RlciBzbyBhZWhubGljaCBrYW5uIG1hbiBzaWNoIHVlYmVyIGRpZSBLT3N0ZW4gbmljaHQgYmVzY2h3cmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW50ZXJwcmlzZSAoR2FuZG8sIDMwLiBPa3QgMjAwMywgMjA6MTY6MzUpOgpodHRwOi8vd3d3LmFzY2lpcHIwbi5jb20vYXJjaGl2ZS8wMDEzL2Jvbm5pZS9jcmFmdC8KCkdhbmRvIGxhY2h0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGludGVybmV0cHJvdmlkZXIgKFJvbmRhLCAzMS4gT2t0IDIwMDMsIDAwOjQ3OjMzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwNjc1MjY2NjMgcmc9d3d3Cn4jISB0aWQ9MTA2NzUyNjAzMwpGdWVyIGRpZSBQcm92aWRlcnN1Y2hlIGlzdCBodHRwOi8vd3d3LndlYmhvc3RsaXN0LmRlLyBlbXBmZWhsZW5zd2VydC4KIkluZm9ybWF0aW9uc3p3ZWNrZSIgc2FndCBub2NoIG5pY2h0cyBkYXJ1ZWJlciBhdXMsIG9iIHBocCwgY2dpLCBhc3AsIG15c3FsCm9kZXIgd2FzIGF1Y2ggaW1tZXIgZ2V3dWVuc2NodCBpc3QuLi4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGVyIHVya25hbGwgd2FyIGVpbiBmYWtlISAoQmFtYnVsa28sIDMxLiBPa3QgMjAwMywgMTI6MjI6MzMpOgp+IyEgcm49S3Jpa2tpdCBydD0xMDY3NTIzMDQzIHJnPXd3dwp+IyEgdGlkPTEwNjc1MjMwNDMKRGFzIGlzdCB3aXNzZW5zY2hhZnRsaWNoIGdlc2VoZW4gdG90YWxlciBNdXJrcy4gRGllIEZyZXF1ZW56IGRlciBTY2hhbGx3ZWxsZW4KbmFjaCBkZW0gVXJrbmFsbCBzaW5kIHNvIHRpZWYgZGFzcyBzaWUgZnVlciBkZW4gTWVuc2NoZW4gbmljaHQgd2Focm5laG1iYXIKc2luZC4gQWxzbyB3dXJkZSBkaWUgRnJlcXVlbnogdW0gZWluZW4gYmVsaWViaWdlbiBGYWt0b3IgMTBeeCBlcmhvZWh0LCBiaXMgZWluCnRpZWZlcyBCcnVtbWVuIHJhdXNrYW0uIEdlbmF1c29ndXQga2FubnN0IGR1IGFiZXIgZWluZW4gRmFrdG9yIDEwXih4KzIpIG5laG1lbgp1bmQgaGVyYXVzIGtvbW10IGVpbiBob2hlcyBwaWVwc2VuLgoKYmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGVyIHVya25hbGwgd2FyIGVpbiBmYWtlISAoQWxrb2hvbCwgMzEuIE9rdCAyMDAzLCAxMjo0NTo1Nyk6Cn4jISBybj1CYW1idWxrbyBydD0xMDY3NTk5MzUzIHJnPXd3dwp+IyEgdGlkPTEwNjc1MjMwNDMKaWNoIHN0ZWxsIG1hbCBkaWUgQmVoYXVwdHVuZyBhdWYsIGRhc3MgZHUgZGVuIEFydGlrZWwgbmljaHQgYmlzIHp1bSBFbmRlCmdlbGVzZW4gaGFzdCwgb2Rlcj8gSW5zYmVzb25kZXJlIG5pY2h0IGRlbiBBYnNjaG5pdHQsIGluIGRlbSBlciBzY2hyZWlidCwgd2FzCnNpZSBtZXNzZW4uIE5hdHVlcmxpY2gga2FubiBtYW4gc2ljaCBoZXJ2b3JyYWdlbmQgdWViZXIgZGVuIFNpbm4gdW5kIFVuc2lubgpkZXIgS29zbW9sb2dpZSBzdHJlaXRlbiwgYWJlciBkZW5lbiBNdXJrcyB2b3J6dXdlcmZlbiBpc3Qgc2Nob24gZWluIHdlbmlnCmdld2FndCwgenVtaW5kZXN0IG1pdCBkaWVzZXIgdmVybXVya3N0ZW4gQmVncnVlbmR1bmcuCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkZXIgdXJrbmFsbCB3YXIgZWluIGZha2UhIChCYW1idWxrbywgMzEuIE9rdCAyMDAzLCAxMjo1MjoxOCk6Cn4jISBybj1BbGtvaG9sIHJ0PTEwNjc2MDA3NTcgcmc9d3d3Cn4jISB0aWQ9MTA2NzUyMzA0MwpJY2ggYmVoYXVwdGUgbmljaHQsIGRhc3MgZGllIE1lc3N1bmcgZGVyIFNjaGFsbHdlbGxlbiBpbiBkZXIKSGludGVyZ3J1bmRzdHJhaGx1bmcgTXVya3MgaXN0LiBBYmVyIGRpZSBEYXJzdGVsbHVuZyBhbHMgdGllZmVzIEJydW1tZW4gaW4KZWluZXIgQXVkaW9kYXRlaSBpc3QgTXVya3MuIAoKRGVyIGVpbnppZ2UgVm9ydGVpbCBsaWVndCBkYXJpbiwgZGFzcyBkaWUgRm9yc2NodW5nIHNvIGF1ZiBtZWhyIG9lZmZlbnRsaWNoZXMKSW50ZXJlc3NlIHN0b2Vzc3QgKFdpZSBkYXMgQXVmdGF1Y2hlbiBoaWVyIGluIGRlciBNUEEgYmV3ZWlzdCkuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZGVyIHVya25hbGwgd2FyIGVpbiBmYWtlISAoR2xvaW5zb24sIDMxLiBPa3QgMjAwMywgMTU6MTg6MTYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA2NzYwMTEzOCByZz13d3cKfiMhIHRpZD0xMDY3NTIzMDQzCldpZSBkdSBzZWxic3QgZXJ3YWVobnQgaGFzdCwga2FubnN0IGR1IGVzIGRpciBhdWNoIGFscyBGaWVwc2VuIGF1c2dlYmVuCmxhc3Nlbi4gRGlyIHVlYmVybGFzc2VuIHdpZSBkdSBlaW4gRGF0dW0gaW4gZGVuIEJlcmVpY2ggZGVyIG1lbnNjaGxpY2hlbiBTaW5uZQpicmluZ3N0LiBEaWVzZSBMZXV0ZSBoYWJlbiBzaWNoIGZ1ZXIgZWluIEJydW1tZW4gZW50c2NoaWVkZW4uIEhhdXB0c2FjaGUgZHUKbXVzc3QgbmljaHQgc2FnZW46ICJVbmQgaGllciBrb2VubmVuIHNpZSBkaWUgRnJlcXVlbnplbiBhYmxlc2VuLiIgc29uZGVybgprYW5uc3Qgc2FnZW4gIlVuZCBkaWUgRnJlcXVlbnogdW5kIGlocmUgVW50ZXJzY2h3aW5ndW5nZW4gc2luZCBpbSBtZW5zY2hsaWNoZW4KSG9lcmJlcmVpY2ggei5CLiBldHdhIHNvIC4uLiIuIE5vY2ggUHJvYmxlbWU/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogZGVyIHVya25hbGwgd2FyIGVpbiBmYWtlISAoQmFtYnVsa28sIDMxLiBPa3QgMjAwMywgMTU6NDg6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA2NzYwOTg5NiByZz13d3cKfiMhIHRpZD0xMDY3NTIzMDQzCk1laW5lIFJlZGU6IEVpbiBuZXR0ZXIgR2FnIHVtIGVpbiBrb21wbGV4ZXMgVGhlbWEgZGVyIE9lZmZlbnRsaWNoa2VpdCBuYWVoZXIKenUgYnJpbmdlbiwgYWJlciBvaG5lIHdpc3NlbnNjaGFmdGxpY2hlbiBJbmhhbHQuIEVpbiBQbG90IGRlcyBhbmd1bGFyIHBvd2VyCnNwZWN0cnVtICh6LkIuOgpodHRwOi8vd3d3LnBoeXNpY3MudWNzYi5lZHUvfmJvb21lcmFuZy9wcmVzc19pbWFnZXMvcmF3X2ltYWdlcy9zcGVjdHJ1bS5qcGcpCnNhZ3QgZGEgdmllbCBtZWhyIGF1cy4KCkF1c3NlcmRlbSBoYXQgZGVyIEF1dGhvciBuaWNodCB2aWVsIHp1IGRlciBXaXNzZW5zY2hhZnQgYmVpZ2V0cmFnZW4uIEVyIGhhdAplaW5mYWNoIG51ciBEYXRlbiB2b24gYW5kZXJlbiBMZXV0ZW4gaW4gQXVkaW8gRGF0ZWllbiB1bWdld2FuZGVsdC4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChGb29iYXIsICAxLiBOb3YgMjAwMywgMTg6NTE6MjcpOgouLi5hYmVyIGljaCB3YWVyZSBlaW4gUmFwaWVyLgoKV2VsY2hlcyB3YWVyc3QgRHU/CgpodHRwOi8vdGlueXVybC5jb20vZ2Y4MgoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nod2VydGVyIHNpbmQgendhciBuaXgsIC4uLiAoQXBvbGxvbmlhLCAgMS4gTm92IDIwMDMsIDE5OjIyOjU5KToKfiMhIHJuPUZvb2JhciBydD0xMDY3NzA5MDg3IHJnPXd3dwp+IyEgdGlkPTEwNjc3MDkwODcKU2FiZXIgKGM6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaHdlcnRlciBzaW5kIHp3YXIgbml4LCAuLi4gKE1vcmdvdGgsICAxLiBOb3YgMjAwMywgMTk6NDE6MzUpOgp+IyEgcm49QXBvbGxvbmlhIHJ0PTEwNjc3MTA5Nzkgcmc9d3d3Cn4jISB0aWQ9MTA2NzcwOTA4NwpZb3UgYXJlIGEgc2FiZXIhIFlvdSBhcmUgZXh0cmVtZWx5IHNoYXJwIGFuZCBmYXN0LllvdXIgb25seSB3ZWFrbmVzcyBpcyB0aGF0CnlvdSBhcmUgYSBzaW5nbGUtaGFuZGVkIHdlYXBvbiBhbmQgc29tZXRpbWVzIGhhdmUgcG9vciBjb250cm9sLgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaHdlcnRlciBzaW5kIHp3YXIgbml4LCAuLi4gKE11YWRpYiwgIDEuIE5vdiAyMDAzLCAyMTowMDo0OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNjc3MTIwOTUgcmc9d3d3Cn4jISB0aWQ9MTA2NzcwOTA4NwpZb3UgYXJlIGEgcmFwaWVyISBZb3UicmUgZmFzdCBhbmQgdmVyeSBzaGFycC4geW91ciBvbmx5IHdlYWtuZXNzIGlzIHRoYXQgaW4KY2VydGFpbiBzaXR1YXRpb25zIHlvdSBjYW4gYmUgdGhpbiBhbmQgZWFzaWx5IGJyZWFrYWJsZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaHdlcnRlciBzaW5kIHp3YXIgbml4LCAuLi4gKE11YWRpYiwgIDEuIE5vdiAyMDAzLCAyMTowMjowMyk6Cn4jISBybj1BbmF0b2wgcnQ9MTA2NzcxNjg3NSByZz13d3cKfiMhIHRpZD0xMDY3NzA5MDg3CmljaCBkZW5rZSBhdWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChDcm9mdCwgIDEuIE5vdiAyMDAzLCAyMTowNjo0OSk6Cn4jISBybj1NdWFkaWIgcnQ9MTA2NzcxNjkyMyByZz13d3cKfiMhIHRpZD0xMDY3NzA5MDg3CldhcyBkZW5rZW4gQW5hdG9sIHVuZCBkdT8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChDYXR3ZWF6bGUsICAyLiBOb3YgMjAwMywgMTE6MDg6NDcpOgp+IyEgcm49Q3JvZnQgcnQ9MTA2NzcxNzIwOSByZz13d3cKfiMhIHRpZD0xMDY3NzA5MDg3CkhhaCEKCllvdSBhcmUgYSBrYXRhbmEhIFlvdSBhcmUgc2hhcnAsIGZhc3QsIGFuZCBlYXN5IHRvIGNvbnRyb2wuIHNvbWV0aW1lcyB5b3UgYXJlCnRvbyBzaG9ydCBidXQgeW91IG1ha2UgdXAgZm9yIGl0IHdpdGggeW91ciBncmFjZSBhbmQgZWxlZ2FuY2UuClNvIHNvbGxzIHNlaW4gOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNjaHdlcnRlciBzaW5kIHp3YXIgbml4LCAuLi4gKEdvcm9nLCAgMi4gTm92IDIwMDMsIDE0OjE1OjU1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDY3NzY3NzI3IHJnPXd3dwp+IyEgdGlkPTEwNjc3MDkwODcKQ2xheW1vcmUuIApXaWUgZ3V0IGRhcyBpbSBkZW4gUXVpeiBuaWNodCBnZWZyYWd0IHd1cmRlLCBvYiBtYW4gd2FtcGlnIGlzdCwgd2FzIENhdHR5PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKb2hhISAoQXBvbGxvbmlhLCAgMy4gTm92IDIwMDMsIDA5OjU0OjMyKToKaHR0cDovL3d3dy5ib25nc3Rlci5kZS9zY2h3dWwtby1tZXRlci5waHAKCjkyLDclIC0gbXVzcyBpY2ggbWlyIGpldHp0IEdlZGFua2VuIG1hY2hlbj8gKGM6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChCb2luZywgIDMuIE5vdiAyMDAzLCAxMDozMjozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA2Nzc2NzcyNyByZz13d3cKfiMhIHRpZD0xMDY3NzA5MDg3CldhcyBtaWNoIGJlaSBkZXIgS2F0YW5hIGhhbHQgZXR3YXMgaXJyaXRpZXJ0IGlzdCBkYXMgJ2Vhc3kgdG8gY29udHJvbCcgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFNjaHdlcnRlciBzaW5kIHp3YXIgbml4LCAuLi4gKFpvb2ssICAzLiBOb3YgMjAwMywgMTA6MzQ6NDMpOgp+IyEgcm49Qm9pbmcgcnQ9MTA2Nzg1MTk1MyByZz13d3cKfiMhIHRpZD0xMDY3NzA5MDg3Clpvb2sgc2NoYXV0IEhvYm8gZnJhZ2VuZCBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNoaXQgaGFwcGVucyEgKEJhbWJ1bGtvLCAgMy4gTm92IDIwMDMsIDEyOjIyOjE4KToKVmllbCBHZWxkIGZ1ZXIgZWluZSBLcmV1emZhaHJ0IGF1c2dlZ2ViZW4gdW5kIGRhbm4gZGFzOgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3JlaXNlL2FrdHVlbGwvMCwxNTE4LDI3MjAxMCwwMC5odG1sCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbnVuIGJla29tbXQgbWFuIHNvZ2FyIEdyaXBwZSBiZWkgZWJheSAoVGFuZ2FsdXIsICAzLiBOb3YgMjAwMywgMTI6Mzk6MzMpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTIzNTU1NTU2NDMmY2F0ZWdvcnk9NDU5ODUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbmdlbG5kZXMgdGFrdGdlZnVlaGwgKERlZXBibHVlLCAgMy4gTm92IDIwMDMsIDEyOjQ5OjAxKToKaHR0cDovL3dlYnBhZ2VzLmFjcy50dHUuZWR1LyU3RWphbWhpbGRlL2R1YmR1Yi9sYWxhLmh0bWwKKExvaG50IG51ciBtaXQgc291bmRrYXJ0ZSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChEYXJrbG9yLCAgMy4gTm92IDIwMDMsIDEzOjQ5OjEzKToKfiMhIHJuPUZvb2JhciBydD0xMDY3NzA5MDg3IHJnPXd3dwp+IyEgdGlkPTEwNjc3MDkwODcKLi4uZWluIEJyZWl0c3NjaHdlcnQKCkRhcmtsb3IKCkhhY2ggd2llIGludGVyZXNzYW50Li4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW50ZXJwcmlzZSAoV2hpdGV0aWdlciwgIDMuIE5vdiAyMDAzLCAxOTo0NjoyNSk6Cn4jISBybj1HYW5kbyBydD0xMDY3NTQxMzk1IHJnPXd3dwp+IyEgdGlkPTEwNjc1NDEzOTUKSGFzdGUgc2Nob24gbWFsIHNvIGVpbiBUZWlsIGdlYmFzdGVsdC4uLj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2h3ZXJ0ZXIgc2luZCB6d2FyIG5peCwgLi4uIChBcmssICAzLiBOb3YgMjAwMywgMjA6Mzk6NDgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjc3MDkwODcgcmc9d3d3Cn4jISB0aWQ9MTA2NzcwOTA4NwpZb3UgYXJlIGEgTHVoc2VyISBZb3UgYXJlIGV4dHJlbWVseSBzbG93IHdpdHRlZCBhbmQgbWluZGJvZ2dpbmdseSBzdHVwaWQuIFlvdXIKb25seSB3ZWFrbmVzcyBpcyB0aGF0IHlvdSBoYXZlIHNvbWUgbW9yZSB5ZWFycyB0byBsaXZlIGFuZCBwcmV0ZW5kIHRvIHdvcmsKd2hpY2ggZ2l2ZXMgb3RoZXJzIG5vIGNoYW5jZSB0byBnZXQgeW91ciBqb2IuIEJ1ZyBvZmYuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllc21hbCBuaXggTHVzdGlnZXMuLi4gKEFwb2xsb25pYSwgIDQuIE5vdiAyMDAzLCAxNDoyMjo0Nyk6Ci4uLiBzb25kZXJuIFNjaHVuZC4uLiB3aWUgdmVyZHJlaHQgbWFuY2hlIExldXRlIGRvY2ggc2VpbiBrb2VubmVuLi4uCgpodHRwOi8vd3d3LnBvcm5vLWZyZWkuY2gvZ2VzZWxsc2NoYWZ0L2FsbGVzLXBvcm5vLW9kZXItd2FzLnBocAoKTWFuIGJlYWNodGUgZGllIGxldHp0ZW4gYmVpZGVuIEFic2FldHplLgoKQXBvKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmF5cmlzY2hlciBIaW50ZXJncnVuZCAoR3dlbmlsaSwgIDUuIE5vdiAyMDAzLCAwNzoyODo1OSk6CldlciBlaW5lbiBzY2hvZW5lbiBiYXlyaXNjaGVuIEhpbnRlcmdydW5kIHNlaGVuIHdpbGw6Cmh0dHA6Ly90cmMudWNkYXZpcy5lZHUvY2xhcm5ldHQvYmFpcmlzY2gvYmF5cmlzY2hlcl9oaW50ZXJncnVuZC5odG1sCgpJbW1lciBub2NoIGF1ZiBkZXIgU3VjaGUgbmFjaCB3aXJrbGljaCBndXQgZGVzaWdudGVuIFdlYnNlaXRlbgpHd2VuaWxpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJSCEgKERlZXBibHVlLCAgNS4gTm92IDIwMDMsIDE1OjQzOjUzKToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3dpc3NlbnNjaGFmdC9lcmRlLzAsMTUxOCwyNzI2MTgsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNoIGVyaG9laGUhIChHbG9pbnNvbiwgIDUuIE5vdiAyMDAzLCAxNzoxMDowNCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXNzZW5zY2hhZnQvd2VsdHJhdW0vMCwxNTE4LDI3MjY0MiwwMC5odG1sCgpEaWUgU29ubmUgbGVndCBub2NoIGVpbmVuIGRyYXVmLiBXZW5uIGRhcyBub2NoIGVpbiBiaXNzY2hlbiBzbyB3ZWl0ZXIgZ2VodAprcmllZ2VuIHNpY2hlciBhdWNoIGRpZSBBdG1vc3BoYWVyZW5waHlzaWtlciBlaW4gcGFhciBEYXRlbiBtZWhyIGZ1ZXIgaWhyZQpLbGltYW1vZGVsbGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpaG5hY2h0bWFubndlaXR3dXJmIChWaW5jZW50LCAgNy4gTm92IDIwMDMsIDE1OjI4OjUxKToKRGFzIGlzdCB6d2FyIG5vY2ggZXR3YXMgZnJ1ZWggZnVlciBXZWlobmFjaHRlbi4uLmFiZXIgZWdhbC4KaHR0cDovL3d3dy5waGlsaXBwLWdsYW56LmRlL1dlaWhuYWNodHNtYW5uL3dlaWhuYWNodHNtYW5uLmh0bQoKTWFuIGJyYXVjaHQgZGFmdWVyIHVlYnJpZ2VucyBlaW5lbiBGbGFzaC1QbGF5ZXIgenVtIFNwaWVsZW4uCgo6KQoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmllciArIFNpeHBhY2sgYmVpIGViYXkgOi0pIChCYW1idWxrbywgIDcuIE5vdiAyMDAzLCAxNjowMToyMSk6CgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTI5NjE0NjUyODAKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0bWFubndlaXR3dXJmIChCYW1iaSwgIDcuIE5vdiAyMDAzLCAxNjo0MjozOCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwNjgyMTUzMzEgcmc9d3d3Cn4jISB0aWQ9MTA2ODIxNTMzMQpGbGFzaC1QbGF5ZXI/IElzdCBkYXMgZWluZXIgZGllc2VyIG5ldW1vZGlzY2hlbiBNZWdhY2xpZW50cywgYWVobmxpY2ggd2llIHptdWQKb2RlciB0ZiBmdWVycyBtdWQ/CgouLi4gTXVzcyBpY2ggZGFzIG5hY2ggc2NobWFycm4gdmVybGVnZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZXIgd2FyIGljaCBpbSB2b3JpZ2VuIExlYmVuLi4uIChBbGJvaW4sICA3LiBOb3YgMjAwMywgMjM6MzE6NDIpOgpkaWUgbmNoc3RlIFNlaXRlOy0pCkRpZXNlcyBtYWwgbmljaHQgbWl0IEJlcnVmZW4sIGVoZXIgbWl0IGRlbiBMZWJlbnNhdWZnYWJlbiBpbiBkZXIgVmVyZ2FuZ2VuaGVpdAp1bmQgWnVrdW5mdC4KCmh0dHA6Ly93d3cuc3Bpcml0YW5kc291bC5kZS9hc3Ryb2xvZ2llL2thcm1hLwoKQWxib2luIGRlciBzZWluZXIgSW50dWl0aW9uIHZlcnRyYXVlbiBzb2xsIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWJheSEgKEJhbWJ1bGtvLCAgOC4gTm92IDIwMDMsIDA4OjI2OjU2KToKRGFzIHBhc3NpZXJ0IHdlbm4gbWFuIGJlaSBlYmF5IGRpZSBCaWxkZXIgdm9uIGVpbmVtIGZyZW1kZW4gV2Vic3BhY2Uga2xhdXQgOi0pCgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTI3NjMzMzYwMDAmY2F0ZWdvcnk9NDc1NjMKCm9kZXIKCmh0dHA6Ly90aW55dXJsLmNvbS91NjRjCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVELVVtZnJhZ2UgZnVlciBVbmktUHJvamVrdCAoUXdlcnR6LCAxMC4gTm92IDIwMDMsIDEzOjUwOjI3KToKSGFsbG8hCgpXaXIgbWFjaGVuIGZ1ZXIgZWluIFVuaS1Tb2Z0d2FyZS1Qcm9qZWt0IGVpbmUgVW1mcmFnZSB6dW0gVGhlbWEgTVVEcy4KCldhZXJlIG5ldHQsIGZhbGxzIGVpbiBwYWFyIHZvbiBldWNoIFplaXQgaGFldHRlbiwgdW5zZXJlbiBGcmFnZWJvZ2VuCmF1c3p1ZnVlbGxlbi4gQWRyZXNzZSBpc3QgaHR0cDovL3d3dy5tdWQtdW1mcmFnZS5kZS52dQoKVmllbGVuIERhbmshCgpWaWVsZSBHcnVlc3NlLApRd2VydHoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVVELVVtZnJhZ2UgZnVlciBVbmktUHJvamVrdCAoQm9pbmcsIDEwLiBOb3YgMjAwMywgMTQ6MDk6MjEpOgp+IyEgcm49UXdlcnR6IHJ0PTEwNjg0Njg2Mjcgcmc9d3d3Cn4jISB0aWQ9MTA2ODQ2ODYyNwpXYXMgaGF0IGRlbm4gZGllIFNwcmFjaGUgbWl0IGRlciBBbnphaGwgZGVyIFNwaWVsZXIgenUgdHVuIHVuZCB3aWUKa29tbXQgaWhyIGdlcmFkZSBhdWYgZGVuIFp1c2FtbWVuaGFuZyAnZW5nbGlzY2ggPSB2aWVsZSBzcGllbGVyJyB1bmQKJ2RldXRzY2ggPSB3ZW5pZ2Ugc3BpZWxlcic/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVVELVVtZnJhZ2UgZnVlciBVbmktUHJvamVrdCAoUXdlcnR6LCAxMC4gTm92IDIwMDMsIDE0OjIzOjA3KToKfiMhIHJuPUJvaW5nIHJ0PTEwNjg0Njk3NjEgcmc9d3d3Cn4jISB0aWQ9MTA2ODQ2ODYyNwpCZWkgZWluZW0gZW5nbGlzY2hlbiBNVUQga29lbm5lbiBTcGllbGVyIGF1cyBkZXIgZ2FuemVuIFdlbHQgbWl0c3BpZWxlbiwKc28gZGFzcyB6dW1pbmRlc3QgZGllIFppZWxncnVwcGUgdW5kIGRpZSBwb3RlbnRpZWxsZW4gU3BpZWxlcnphaGxlbgpkZXV0bGljaCBob2VoZXIgc2luZCBhbHMgYmVpIGVpbmVtIGRldXRzY2hzcHJhY2hpZ2VuIE1VRCwgd28gamEgdm9yCmFsbGVtIFNwaWVsZXIgYXVzIGRldXRzc3ByYWNoaWdlbiBMYWVuZGVybiBtaXRzcGllbGVuIHd1ZXJkZW4uCgpFbmdsaXNjaCBzcHJlY2hlbiB3ZWx0d2VpdCB2aWVsIG1laHIgTGV1dGUgYWxzIERldXRzY2gsIG1hbCB2b3JhdXNnZXNldHp0LAppcmdlbmRqZW1hbmQgd3VlcmRlIHNpY2ggZnVlciBkZW4gbmV1ZW4gTVVEIGludGVyZXNzaWVyZW4sIGtvZW5udGUKbWFuIGJlaSBlaW5lbSBlbmdsaXNjaGVuIHRoZW9yZXRpc2NoIGhhbHQgbWl0IG1laHIgU3BpZWxlcm4gcmVjaG5lbi4KClZpZWxlIEdydWVzc2UsClF3ZXJ0egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTVVELVVtZnJhZ2UgZnVlciBVbmktUHJvamVrdCAoR3JpbW1ib3JuLCAxMC4gTm92IDIwMDMsIDE0OjI0OjIzKToKfiMhIHJuPVF3ZXJ0eiBydD0xMDY4NDcwNTg3IHJnPXd3dwp+IyEgdGlkPTEwNjg0Njg2MjcKS2xlaW5lciBUaXA6IE1hY2h0IGRvY2ggZWluIGNoaW5lc2lzY2hlcyBtdWQgYXVmLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNVUQtVW1mcmFnZSBmdWVyIFVuaS1Qcm9qZWt0IChTZWxldmVuLCAxMC4gTm92IDIwMDMsIDE0OjI0OjI0KToKfiMhIHJuPVF3ZXJ0eiBydD0xMDY4NDcwNTg3IHJnPXd3dwp+IyEgdGlkPTEwNjg0Njg2MjcKdGlwcGUga3dlcgpSZWljaHQgZGFzIG5pY2h0PyA6TykKClNlbGwgRWx3ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1VRC1VbWZyYWdlIGZ1ZXIgVW5pLVByb2pla3QgKEJvaW5nLCAxMC4gTm92IDIwMDMsIDE0OjM3OjUwKToKfiMhIHJuPVF3ZXJ0eiBydD0xMDY4NDcwNTg3IHJnPXd3dwp+IyEgdGlkPTEwNjg0Njg2MjcKRGVyIHNwcmluZ2VuZGUgUHVua3QgaXN0IG5pY2h0IHdlbGNoZSBTcHJhY2hlIERlaW4gTXVkIGhhdC4gV2ljaHRpZwppc3QgZGllc2UgRnJhZ2U6IGJpZXRldCBEZWluIE11ZCBldHdhcyB2b2VsbGlnIG5ldWVzLCB3YXMgU3BpZWxlciBhbnppZWh0PwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbnRlciB0aGUgQ293dHJpeCAoTWluZ28sIDEwLiBOb3YgMjAwMywgMTY6NTk6NDApOgpodHRwOi8vc3BlZWQuY293cy5hdC9+Y3JlYS92aWRlby9tdWVobHZpZXJ0bGVyX21hdHJpeC5hc2YKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcm9qYW4gR2FtZXMgKE1pbmdvLCAxMC4gTm92IDIwMDMsIDE3OjEyOjI3KToKaHR0cDovL3d3dy50cm9qYW5nYW1lcy5jby51awoKLi4uIGRpZSBldHdhcyBhbmRlcmVuIHVuZCBoZXJhdXNmb3JkZXJuZGVyZW4gU3BpZWxlLiAoaW5kaXJla3RlIFdlcmJlc2VpdGUKZnVlciBlaW5lbiBLb25kb21oZXJzdGVsbGVyLCAzIFZpZGVvcykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW50ZXIgdGhlIENvd3RyaXggKEtyaWtraXQsIDEwLiBOb3YgMjAwMywgMTc6NDM6MTgpOgp+IyEgcm49TWluZ28gcnQ9MTA2ODQ3OTk4MCByZz13d3cKfiMhIHRpZD0xMDY4NDc5OTgwClNlbGJpZ2VzIGdpYnRzIGltIC5tcGctZm9ybWF0IGF1Y2ggaGllcjoKaHR0cDovL21qb2xuZXIua3JhbmsuZGsva28vbWF0cml4X2Nvdy5tcGcKCnVlYmVyaGF1cHQ6IGh0dHA6Ly9tam9sbmVyLmtyYW5rLmRrL2tvLyBmdWVyIG9obmUgZW5kZSBrdWVoZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVudGVyIHRoZSBDb3d0cml4IChBcmssIDEwLiBOb3YgMjAwMywgMTg6MTQ6MDYpOgp+IyEgcm49TWluZ28gcnQ9MTA2ODQ3OTk4MCByZz13d3cKfiMhIHRpZD0xMDY4NDc5OTgwCkRlcyBpc3QgZG9jaCB1cmFsdCA6LSkKKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1VRC1VbWZyYWdlIGZ1ZXIgVW5pLVByb2pla3QgKEFuYXRvbCwgMTAuIE5vdiAyMDAzLCAxODozODozOCk6Cn4jISBybj1Rd2VydHogcnQ9MTA2ODQ3MDU4NyByZz13d3cKfiMhIHRpZD0xMDY4NDY4NjI3Cldlbm4gRHUgZWluIE11ZCBzY2hyZWlic3QsIGRhcyB6aWVtbGljaCBnZW5hdSBhdWYgb2VzdGVycmVpY2hpc2NoZQpob21vc2V4dWVsbGUgQmF1YXJiZWl0ZXIgenVnZXNjaG5pdHRlbiBpc3QsIGthbm4gZXMgRGlyIHRyb3R6ZGVtIHBhc3NpZXJlbiwKZGFzcyBEdSBtZWhyIExldXRlIGRyaW4gaGFzdCBhbHMgZWluZSBNYWluc3RyZWFtLUtvbmt1cnJlbnouCgp0b28gbXVjaCBwcmVzdXBwb3NpdGlvbiBlcnJvci4KCkEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1VRC1VbWZyYWdlIGZ1ZXIgVW5pLVByb2pla3QgKFZpbmNlbnQsIDEwLiBOb3YgMjAwMywgMjM6NDY6MzIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNjg0ODU5MTggcmc9d3d3Cn4jISB0aWQ9MTA2ODQ2ODYyNwpFcyBrYW5uIHBhc3NpZXJlbiwgbXVzcyBlcyBhYmVyIG5pY2h0LiBFcyBpc3Qgd29obCBlaGVyIHdhaHJzY2hlaW5saWNoZXIsCmRhc3MgZWluIE11ZCwgd2VsY2hlcyBlaW5lIG1vZWdsaWNoc3QgZ3Jvc3NlIFppZWxncnVwcGUgaGF0LCBhdWNoIHZpZWxlClNwaWVsZXIgYmVzaXR6dC4KClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtlaW5lbiBCb2NrIChGZWlnbGluZywgMTEuIE5vdiAyMDAzLCAwMDoxMToxOCk6CkhpLAoKc2ljaGVyIHNjaG9uIDEwMCBnZXBvc3RldCAtIGljaCBrYW5udGUgc2llIG5pY2h0OgoKaHR0cDovL3d3dy5kaWVzZWl0ZWhhdHp1cnplaXRrZWluZW5ib2NrLmRlLwoKRmVpZ2xpbmcKUFM6IEJpdHRlIG5pY2h0IGhhdWVuICp6aXR0ZXIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZToga2VpbmVuIEJvY2sgKE1pcmlsLCAxMS4gTm92IDIwMDMsIDA4OjI2OjMwKToKfiMhIHJuPUZlaWdsaW5nIHJ0PTEwNjg1MDU4Nzggcmc9d3d3Cn4jISB0aWQ9MTA2ODUwNTg3OApXaWVzbyBoYXVlbj8gSWNoIGthbm50ZSBzaWUgbmljaHQgdW5kIGhhYiBtaWNoIHppZW1saWNoIGFtdWVzaWVydC4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZXJrZWhyIChOb25uZSwgMTMuIE5vdiAyMDAzLCAxMDoxMzoxMyk6ClZpZWxsZWljaHQga2VubnQgZXMgZGVyIGVpbiBvZGVyIGFuZGVyZSBub2NoIG5pY2h0OgoKaHR0cDovL21hZW5uZXJzZWl0ZW4uZGUvdmVya2Voci5odG0KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RpbGwnc3Rhbm4hIChNaW5nbywgMTMuIE5vdiAyMDAzLCAxMjo1Mjo0NCk6Ci4uLiBvZGVyIHdpZSBkaWUgQnVuZGVzd2VociBkaWUgVmVyaHVldHVuZyBzbyByZWdlbHQ6CgoKaHR0cDovL2Rlcy5nbGF1YnN0Lm5ldC9+Y3JlYS9kaXYvQlcuajFhNDZnLnBkZgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1bmQtV2l0emUgKERlZXBibHVlLCAxMy4gTm92IDIwMDMsIDE0OjU4OjIxKToKaHR0cDovL3ByaXZhdGUuYWRkY29tLmRlL2tsYWhyLW9ubGluZS9idW5kL3dpdHplLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ29sbGVnZSBSb29taWVzIGZyb20gSGVsbCEhISAoV2hpdGV0aWdlciwgMTYuIE5vdiAyMDAzLCAxODoxNzo1NSk6CkVpbiB0b2xsZXIgV2ViY29taWMsIFVwZGF0ZXMgbWVpc3RlbnMgdGFlZ2xpY2ggOgoKaHR0cDovL3d3dy5jcmZoLm5ldC8KClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ29sbGVnZSBSb29taWVzIGZyb20gSGVsbCEhISAoQWthc2hhLCAxNi4gTm92IDIwMDMsIDE4OjE5OjI0KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA2OTAwMzA3NSByZz13d3cKfiMhIHRpZD0xMDY5MDAzMDc1CkF1c3NlciBhbiBXb2NoZW5lbmRlbiAqc29pcGh6KgoKQWthc2hhLCB3aWxsIHdpc3Nlbiwgd2llIGVzIHdlaXRlcmdlaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJldHR1bmcgZnVlciBSYXVjaGVyIChBbGJvaW4sIDE4LiBOb3YgMjAwMywgMTY6MjE6NDkpOgpmdWVyIGFsbGUgZGllIGhldXRlIG5vY2ggbmljaHQgYXVmIGhlaXNlIGJ6dy4gVGVsZXBvbGlzIHdhcmViIDoKCmh0dHA6Ly93d3cucmF1Y2hlcmdlZGljaHQuZGUvCgphbHNvIGVpZWdlbiBXYXJuaGlud2Vpc2UgZXJzdGVsbGVuLCBhdXNkcnVja2VuLCBhdXNzY2huZWlkZW4gdW5kIHJ1ZWJlcmtsZWJlbgoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZXR0dW5nIGZ1ZXIgUmF1Y2hlciAoQXBvcGhpcywgMTguIE5vdiAyMDAzLCAxNjozMjowOSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA2OTE2ODkwOSByZz13d3cKfiMhIHRpZD0xMDY5MTY4OTA5CmRhIGdpYnRzIGF1Y2ggc2Nob24gbiBwYWFyIGx1c3RpZ2UgZmVydGlnZSBUZXh0ZSBhdWYgZGllc2VyIFdlYnNlaXRlOgoKaHR0cDovL3d3dy56aWdhcmV0dGVuZXRpa2V0dGVuLmRlLwoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZXR0dW5nIGZ1ZXIgUmF1Y2hlciAoQWxib2luLCAxOC4gTm92IDIwMDMsIDE2OjMzOjAyKToKfiMhIHJuPUFwb3BoaXMgcnQ9MTA2OTE2OTUyOSByZz13d3cKfiMhIHRpZD0xMDY5MTY4OTA5Cmx1c3RpZ2UgZmVydGlnZSBUZXh0ZSBnaWJzIGF1Y2ggYXVmIG1laW5lciBzZWl0ZSwgbXVzc3QgYmxvc3MgZ2VuYXUgZ3Vja2VuCgphbCAtIHdlciBsZXNlbiBrYW5uIGlzdCBpbSBWb3J0ZWlsIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmV0dHVuZyBmdWVyIFJhdWNoZXIgKFZhbmlvbiwgMTguIE5vdiAyMDAzLCAxNjozNDo0MCk6Cn4jISBybj1BbGJvaW4gcnQ9MTA2OTE2OTU4MiByZz13d3cKfiMhIHRpZD0xMDY5MTY4OTA5Ckxlc2VuIGtvZW5uZW4gd2lyZCB0b3RhbCB1ZWJlcmJld2VydGV0LiA6KQoKT2J3b2hsOiBJY2ggd2FyIGluIEphcGFuIGluIGVpbmVyIEJ1Y2hoYW5kbHVuZy4gU28gYWVobmxpY2ggbXVzcyBzaWNoIGVpbgpBbmFscGhhYmV0IGZ1ZWhsZW4gOi8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZXR0dW5nIGZ1ZXIgUmF1Y2hlciAoQXBvcGhpcywgMTguIE5vdiAyMDAzLCAxNzoyNzo0NSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA2OTE2OTU4MiByZz13d3cKfiMhIHRpZD0xMDY5MTY4OTA5Cmh1Y2gsIG5peCBnZXNlaG4gOikgYWJlciBpcyBqYSB3dXJzdC4gc2luZCBqYSBuaWNoIGRpZSBnbGVpY2hlbiB0ZXh0ZSBhdWYKYmVpZGVuIHNlaXRlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0aWxsJ3N0YW5uISAoWm9vaywgMTkuIE5vdiAyMDAzLCAxNjoxOTozNCk6Cn4jISBybj1NaW5nbyBydD0xMDY4NzI0MzY0IHJnPXd3dwp+IyEgdGlkPTEwNjg3MjQzNjQKS2FubiBtaXIgamVtYW5kIGRpZSBBdXRoZW50aXppdGFldCBkaWVzZXMgU2NocmVpYmVucyBiZXN0YWV0aWdlbj8gSGFiIGRhcyBudW4Kc2Nob24geCBtYWwgZ2VzZWhlbiB1bmQgbWljaCBpbW1lciBnZWZyYWd0LCBvYiBlcyBlY2h0IGlzdC4uLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgSHVtbmkhIChOb25uZSwgMjAuIE5vdiAyMDAzLCAxMzo1MjowNyk6Ckh1bW5pLCBEdSBoYXN0IG5vY2ggR2x1ZWNrIGdlaGFidDoKaHR0cDovL2RlLm5ld3MueWFob28uY29tLzAzMTExOC8zLzNyZWNuLmh0bWwKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FtcGYgZGVuIElkbGVybiA7KSAoRGFya3dpbmcsIDIxLiBOb3YgMjAwMywgMTY6MzA6NTMpOgpodHRwOi8vZnVuLnNkaW5ldC5kZS9waWNzL3NpZ25zL2lkbGUuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0aWxsJ3N0YW5uISAoR2xvaW5zb24sIDIyLiBOb3YgMjAwMywgMDE6Mzc6NDUpOgp+IyEgcm49Wm9vayBydD0xMDY5MjU1MTc0IHJnPXd3dwp+IyEgdGlkPTEwNjg3MjQzNjQKQmFhbCBtZWludCwgZGFzIHNlaSBzbyBpbiBldHdhIGdlbGF1ZmVuLiBBbGxlcmRpbmdzIG9obmUgU3RpY2hwcm9iZW4uIE1hbmNobWFsCmlzdCBCYWFsIGplZG9jaCBlaW4ga2xlaW5lciBTY2hlcnprZWtzLCBpbnNvZmVybiBrYW5uc3QgZHUgamEgYmVpIGRlcgpuYWVjaHN0ZW4gR2VsZWdlbmhlaXQgbWFsIGRpZSBXYWhyaGVpdCBhdXMgaWhtIGhlcmF1cy4uLndhc2F1Y2hpbW1lci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgdmlydHVlbGxlIEdlZGFua2VubGVzZXIhIChOb25uZSwgMjQuIE5vdiAyMDAzLCAxMDowNDoxNik6CktvbW10IGhlcmVpbiB1bmQgc3RhdW50ISBJaHIgd2VyZGV0IGVzIG5pY2h0IGdsYXViZW4hIEluIE9lc3RlcmVpY2gga2FubiBwZXIKSW50ZXJuZXQgR2VkYW5rZW4gZ2VsZXNlbiB3ZXJkZW4hIAoKaHR0cDovL3N0dWQ0LnR1d2llbi5hYy5hdC9+ZTAxMjU2MTQvcmFldHNlbC5odG0KCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciB2aXJ0dWVsbGUgR2VkYW5rZW5sZXNlciEgKEFwb3BoaXMsIDI0LiBOb3YgMjAwMywgMTU6NTQ6MzApOgp+IyEgcm49Tm9ubmUgcnQ9MTA2OTY2NDY1NiByZz13d3cKfiMhIHRpZD0xMDY5NjY0NjU2Cm9laG0sIGthbm4gZWluZXIgZXJrbGFlcmVuLCB3aWUgZGFzIGZ1bmt0aW9uaWVydD8gaGFicyBnbGF1YiBpY2ggc2Nob25tYWwKaXJnZW5kd28gZ2VsZXNlbiwgd2Vpc3MgYWJlciBuaWNodCBtZWhyIHdvLgoKQXBvcGhpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXIgdmlydHVlbGxlIEdlZGFua2VubGVzZXIhIChBbWFyeWxsaXMsIDI0LiBOb3YgMjAwMywgMTU6NTg6MjcpOgp+IyEgcm49QXBvcGhpcyBydD0xMDY5Njg1NjcwIHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKZ2FueiBlaW5mYWNoOiBEaWUgWmFobGVuLCBiZWkgZGVuZW4gZGllIEZvcm1lbCBmdW5rdGlvbmllcnQsIGhhYmVuIGFsbGUKZGFzc2VsYmUgU3ltYm9sIChkYXMgYmVpIGplZGVtIE5ldXN0YXJ0IHVlYnJpZ2VucyBkdXJjaGdld3VlcmZlbHQgd2lyZCwgZGFtaXRzCm5pY2h0IGltbWVyIGdsZWljaCBhdXNzaWVodCkuCgpTZWhyIHNpbXBlbCBhbHNvLCBhZWhubGljaCB3aWUgZGVyIEthcnRlbnRyaWNrIHVudGVyCmh0dHA6Ly93d3cud2luaGFyZC5kZS9naW1taWNrcy9rYXJ0ZW50cmljay9rYXJ0ZW4xLmh0bQoKR3J1c3MsCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciB2aXJ0dWVsbGUgR2VkYW5rZW5sZXNlciEgKE1vbnRhbnVzLCAyNC4gTm92IDIwMDMsIDE1OjU5OjI0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDY5Njg1OTA3IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKSGV5LCBudXIgbWFuZHJhZ29uIGRhcmYgaGllciBhbHRlIFdpdHplIGVya2xhZXJlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciB2aXJ0dWVsbGUgR2VkYW5rZW5sZXNlciEgKENyb2Z0LCAyNC4gTm92IDIwMDMsIDE2OjAwOjUzKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDY5Njg1OTA3IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKV293LiAgRGEgd3VyZGVuIHNvZ2FyIGFsbGUgNiBLYXJ0ZW4gZW50ZmVybnQgZGllIGljaCBtaXIgZ2VtZXJrdCBoYWJlLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgdmlydHVlbGxlIEdlZGFua2VubGVzZXIhIChDcm9mdCwgMjQuIE5vdiAyMDAzLCAxNjowMjo0NSk6Cn4jISBybj1Ob25uZSBydD0xMDY5NjY0NjU2IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKSXJnZW5kd2llIHN0ZWh0IG1laW4gTXVoemlsbGEgMS41IG1pdCBkZW0gSmF2YXNjcmlwdCBkZXIgU2VpdGUKYXVmIEtyaWVnc2Z1c3MuICBOZSBMaXN0ZSBoYXRzIGRhIG5pY2h0IHVuZCBlaW4gRmVsZCB6dW0gQW5rbGlja2VuIGZlaGx0CmF1Y2guCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXIgdmlydHVlbGxlIEdlZGFua2VubGVzZXIhIChOb25uZSwgMjQuIE5vdiAyMDAzLCAxNjo0NTozMCk6Cn4jISBybj1Dcm9mdCBydD0xMDY5Njg2MTY1IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKS29ucXVpIG1hY2h0cyB1bmQgZGVyIGlzdCBkYSBub3JtYWxlcndlaXNlIGtyaXRpc2NoZXIuIE5hamEsIHNvIHdpY2h0aWcgaXN0IGVzCm5pY2h0LiBFaW4gemllbWxpY2ggZWluZmFjaCB6dSBkdXJjaHNjaGF1ZW5kZXIgR2FnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIGtsZWluIHdlbmlnIHNwYWV0LCBhYmVyLi4uIChXaGl0ZXRpZ2VyLCAyNC4gTm92IDIwMDMsIDE4OjU5OjU4KToKLi4uIGRvY2ggbmV0dDogSW1wZXJpYWwgU3Rvcm0gVHVya2V5cyEKaHR0cDovL3d3dy53YW5kZXJpbmdvbmVzLmNvbS9jb21pY3Mvd2FuMjAwMjExMjguZ2lmCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciB2aXJ0dWVsbGUgR2VkYW5rZW5sZXNlciEgKE1vcmdvbmF0ZSwgMjUuIE5vdiAyMDAzLCAwOTowOTowNCk6Cn4jISBybj1Ob25uZSBydD0xMDY5NjY0NjU2IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKRGVyIGlzdCBhYWFhYWFsdCA7KSBVbmQgZWluZmFjaC4gOykKCk1vcmdvbmF0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXIgdmlydHVlbGxlIEdlZGFua2VubGVzZXIhIChNYWhhcmV0LCAyNS4gTm92IDIwMDMsIDA5OjExOjIyKToKfiMhIHJuPU1vcmdvbmF0ZSBydD0xMDY5NzQ3NzQ0IHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKRGFubiBlcmtsYWVycyBtaXIuCgpNYWhhLCBTcGlvbiB1bmQgR2lmdG1pc2NoZXIgYUQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERlciB2aXJ0dWVsbGUgR2VkYW5rZW5sZXNlciEgKE1haGFyZXQsIDI1LiBOb3YgMjAwMywgMDk6MTk6MTApOgp+IyEgcm49TWFoYXJldCBydD0xMDY5NzQ3ODgyIHJnPXd3dwp+IyEgdGlkPTEwNjk2NjQ2NTYKRGFua2UgZnVlciBkaWUgdmllbGVuIE1pdHRlaWx1bmdlbi4gIFNvbGx0ZSBpY2ggbWljaCBtYWwgd2llZGVyIGVpbnNhbSB1bmQKdmVybmFjaGxhZXNzaWd0IGZ1ZWhsZW4sIHdlcmRlIGljaCBoaWVyIG5hY2hmcmFnZW4gOm8pCgpNYWhhLCBTcGlvbiB1bmQgR2lmdG1pc2NoZXIgYUQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlaWhuYWNodHNtYW5ud2VpdHd1cmYgKEFzdWthLCAyNi4gTm92IDIwMDMsIDIwOjU1OjMwKToKVW0gc2ljaCBzY2hvbm1hbCBsYW5nc2FtIGF1ZiBkaWUgV2VpaG5hY2h0c3plaXQgdm9yenViZXJlaXRlbjoKCmh0dHA6Ly93d3cuYm52LWJhbWJlcmcuZGUvaG9tZS9iYTQ3MTcvd2VpaG5hY2h0c21hbm53ZWl0d3VyZi5odG0KCkFzdWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoQW55c2lkb3JhLCAyNi4gTm92IDIwMDMsIDIzOjUwOjQ0KToKfiMhIHJuPUFzdWthIHJ0PTEwNjk4NzY1MzAgcmc9d3d3Cn4jISB0aWQ9MTA2OTg3NjUzMAptaC4uLiBnYW56IG5ldHQsIG51ciBkaWUgTXVzaWsgbmVydnQgbWl0IGRlciBaZWl0IGRvY2ggZXR3YXMuIDspCkljaCBoYWIgMjU1LDYgTWV0ZXIgZ2VzY2hhZmZ0Li4uIGhhdCBzaWNoIGRhcyBXZXJmZW4gbm9jaHdlciBhbmdldGFuIHVuZCBtZWhyPwo7KQoKQW55KgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChBbnlzaWRvcmEsIDI3LiBOb3YgMjAwMywgMDA6MTA6MzQpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjk4ODcwNDQgcmc9d3d3Cn4jISB0aWQ9MTA2OTg3NjUzMApPa2F5LCBpY2ggcmV2aWRpZXJlLCBpY2ggaGFiIDM1MC40IE1ldGVyLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoSGlnaHQsIDI3LiBOb3YgMjAwMywgMDA6NDI6MzYpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNjk4ODgyMzQgcmc9d3d3Cn4jISB0aWQ9MTA2OTg3NjUzMAozNTAsNCBpc3Qgc2NoZWluYmFyIGRhcyBtYXhpbXVtIC4uLiB6dW1pbmRlc3QgYmVpIGRlbiAxNSBsZXV0ZW4gZGllIGRhcyBtaXQKbWlyIG5lbiBuYWNobWl0dGFnbGFuZyBnZXNwaWVsdCBoYWJlbiAsbykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChWaW5jZW50LCAyNy4gTm92IDIwMDMsIDAwOjUxOjM1KToKfiMhIHJuPUFzdWthIHJ0PTEwNjk4NzY1MzAgcmc9d3d3Cn4jISB0aWQ9MTA2OTg3NjUzMApBZWhlbW1tLiBEYXMgaGF0dGVuIHdpciBkb2NoIHNjaG9uIGluIEFydGlrZWwgMzggaW4gZGllc2VyIFJ1YnJpayEgOykKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoQ3JvZnQsIDI3LiBOb3YgMjAwMywgMDA6NTY6MjkpOgp+IyEgcm49VmluY2VudCBydD0xMDY5ODkwNjk1IHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKVW5kIHdhcyBpc3QgZGVpbiBSZWtvcmQ/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoVmluY2VudCwgMjcuIE5vdiAyMDAzLCAwMTowMjozNCk6Cn4jISBybj1Dcm9mdCBydD0xMDY5ODkwOTg5IHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKTWVpbiBSZWtvcmQgbGllZ3QgYXVjaCBiZWkgMzUwLDQuCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChBaGFiLCAyNy4gTm92IDIwMDMsIDAxOjAzOjQ4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA2OTg5MTM1NCByZz13d3cKfiMhIHRpZD0xMDY5ODc2NTMwCk1hbiBrYW5uIGRpZSByb3RiZWZyYWNrdGVuIEp1bmdzIGFsc28gbmljaHQgYmlzIGluIGRlbiBuYWVjaHN0ZW4gQWJncnVuZApzY2htZWlzc2VuPyBXaWUgc2NoYWRlLi4uCgpBaG9pLApBaGFiLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoTWVkaWMsIDI3LiBOb3YgMjAwMywgMDE6NDY6NDMpOgp+IyEgcm49QWhhYiBydD0xMDY5ODkxNDI4IHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKSG1tLApndXQgZGVuIEFydGlrZWwgZ2VsZXNlbiB6dSBoYWJlbi4gTmFjaCAzNTAsNCBoYWIgaWNoIGVzIGV3aWcgd2VpdGVyIHZlcnN1Y2h0CnVuZCBuaWNodCBnZXNjaGFmZnQKT2huZSBkZW4gQXJ0aWtlbCB2ZXJtdXRsaWNoIG5vY2ggZWluIFdlaWxjaGVuIGxhZW5nZXIgOykKCk1lZGljICh3aWxsIGFuIGRlbiBuYWVjaHN0ZW4gQWJncnVuZCEpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChCb2luZywgMjcuIE5vdiAyMDAzLCAwOTo1NToyOCk6Cn4jISBybj1NZWRpYyBydD0xMDY5ODk0MDAzIHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKSWNoIGZ1ZWhsIG1pY2ggc28gc2NobGVjaHQgLi4uIGljaCBoYXR0ZSBudXIgMzQ4LDMgKnNuaWZmKgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChCYW1iaSwgMjcuIE5vdiAyMDAzLCAxMzoyNjoxNCk6Cn4jISBybj1NZWRpYyBydD0xMDY5ODk0MDAzIHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKV2llc28gZGVuIG5hZWNoc3RlbiBBYmdydW5kPyBHYW56IGFtIEFuZmFuZyBpc3QgZG9jaCBzY2hvbiBtYWwgZWluZXIuIFJlaWNodApkZXIgbmljaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZWlobmFjaHRzbWFubndlaXR3dXJmIChNZWRpYywgMjcuIE5vdiAyMDAzLCAxMzozMToyMik6Cn4jISBybj1CYW1iaSBydD0xMDY5OTM1OTc0IHJnPXd3dwp+IyEgdGlkPTEwNjk4NzY1MzAKRXMgaXN0IGRpZXNlcyAiV2FzIHBhc3NpZXJ0IHdvaGwsIHdlbm4gbWFuIGJpcyBkb3JodGluIGtvbW10Ii1QcmluemlwIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2VpaG5hY2h0c21hbm53ZWl0d3VyZiAoQW50aGVhLCAyNy4gTm92IDIwMDMsIDEzOjM0OjU5KToKfiMhIHJuPU1lZGljIHJ0PTEwNjk5MzYyODIgcmc9d3d3Cn4jISB0aWQ9MTA2OTg3NjUzMApFcnJlaWNoIGVpbmZhY2ggbWFsIGRpZSAzNTAsNCwgZGFubiBzaWVoc3QgRHUgYXVjaCBkZW4gMi4gQWJncnVuZCBoaW50ZXIgZGVtCkVsY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmFjaHRzbWFlbm5lciAuLi4gKEdsb2luc29uLCAyNy4gTm92IDIwMDMsIDE0OjI4OjM5KToKLi4uIG1hbCBuaWNodCBnZXdvcmZlbjoKCmh0dHA6Ly9taXRnbGllZC5seWNvcy5kZS9maWVkbGRpL3NhY2todWVwZmVuLmh0bQpodHRwOi8vd3d3LmZ2LWJhZXJlbnp3aW5nZXIuZGUvZ2FsZXJpZS9nYWx0aHVtYnMucGhwMz9LSUQ9NwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmFjaHRzbWFlbm5lciAuLi4gKEFudGhlYSwgMjcuIE5vdiAyMDAzLCAxNDozMDozNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDY5OTM5NzE5IHJnPXd3dwp+IyEgdGlkPTEwNjk5Mzk3MTkKU2VsdHNhbWVzIFNhY2todWVwZmVuLiBVbm1lbmdlbiBhbiBXZXJidW5nLCBhYmVyIHZvbiBkZW4gQmlsZGVybiBrcmllZyBpY2ggbnVyCmRpZSBUaHVtYnMgYW5nZXplaWd0LCBrZWluIGVpbnppZ2VzIGdyb3NzZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlaWhuYWNodHNtYWVubmVyIC4uLiAoR2xvaW5zb24sIDI3LiBOb3YgMjAwMywgMTQ6MzI6MzcpOgp+IyEgcm49QW50aGVhIHJ0PTEwNjk5Mzk4Mzcgcmc9d3d3Cn4jISB0aWQ9MTA2OTkzOTcxOQpNb2VnbGljaGVyd2Vpc2UgaGFzdCBkdSBmdWVyIGRpZSB6d2VpdGVyZSBBZHJlc3NlIGRpZSBmYWxzY2hlIEJyYXVzZS4gRGllCm1hY2hlbiBkYSBlaW4gcGFhciBEaW5nZSBtaXQgQ1NTIGRpZSBiZWkgbWlyIGF1Y2ggbmljaHQga29zY2hlciBhdXNzZWhlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29zY2hlcmVzIEVzc2VuIChHbG9pbnNvbiwgMjcuIE5vdiAyMDAzLCAxNDozOTozNik6Cn4jISBybj1CYW1iaSBydD0xMDY5OTQwMTE0IHJnPXN1Y2hlLWJpZXRlCn4jISB0aWQ9MTA2OTk0MDExNApodHRwOi8vd3d3Lm9wcGlzd29ybGQuZGUvemVpdC9qdWRlbi9qdWRrb3NjaC5odG0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW50ZXMgSG9lbGxlIChGb29iYXIsIDI3LiBOb3YgMjAwMywgMjI6MjA6MjYpOgpodHRwOi8vd3d3LjRkZWdyZWV6LmNvbS9taXNjL2RhbnRlLWluZmVybm8tdGVzdC5tdgoKRm9vYmFyIC0gc2llYnRlIEhvZWxsZSAqZ2FzcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBtYW4gU2NyaXB0LUtpZGRpZXMgZmFlbmd0OiAoRm9vYmFyLCAyNy4gTm92IDIwMDMsIDIyOjQzOjUwKToKaHR0cDovL2Jsb3J0Lm9yZy9+a2dhc3NvL2ltYWdlcy9ob3ctdG8tY2F0Y2gtc2NyaXB0LWtpZGRpZXMuZ2lmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFudGVzIEhvZWxsZSAoVGFyYW5pcywgMjcuIE5vdiAyMDAzLCAyMzo1NTozMyk6Cn4jISBybj1Gb29iYXIgcnQ9MTA2OTk2ODAyNiByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2ClRhcmFuaXMgLSA2LiBIb2VsbGUsIG5pY2h0IGdhbnogc28gZXJmb2xncmVpY2ggOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFudGVzIEhvZWxsZSAoTm9ubmUsIDI4LiBOb3YgMjAwMywgMDg6NDg6NTEpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjk5NjgwMjYgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2ODAyNgpMZXZlbCA2IC0gVGhlIENpdHkgb2YgRGlzCgpEYXMgTGV2ZWwgZGVyIEtldHplciAqaGFyaGFyKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVISEhISEhISEghISAoUGFsZSwgMjguIE5vdiAyMDAzLCAxMjowOTowNCk6Ck1VSEhIIQoKaHR0cDovL3d3dy5xLWx5bXBpY3MuZGUvaXEtbWFyYXRob24vaW5kZXgucGhwCgpQYWxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIG1hbiBTY3JpcHQtS2lkZGllcyBmYWVuZ3Q6IChWYXJkaW9uLCAyOC4gTm92IDIwMDMsIDE0OjE5OjE5KToKfiMhIHJuPUZvb2JhciBydD0xMDY5OTY5NDMwIHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKV2llc28gaXN0IGRhcyByZXN1bHRpZXJlbmRlIEZpbGUgbnVyIHJ1bmQgMUdCIGdyb3NzPyBTZWxic3Qgd2VubiBqZWRlCklQLUFkcmVzcyBpbiBmZW0gRmlsZSBudXIgMSBCeXRlIGJlbGVnZW4gd3VlcmRlLCB3YWVyZW4gZXMgc2Nob24gNEdCLgpJcmdlbmR3aWUgc2NoZWludCBkYXMgZ2VmYWtlZC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llIG1hbiBTY3JpcHQtS2lkZGllcyBmYWVuZ3Q6IChOb25uZSwgMjguIE5vdiAyMDAzLCAxNDoyMToyNyk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNzAwMjU1NTkgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2OTQzMApVbmQgd2VubiBtYW4gZXMgemlwdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpZSBtYW4gU2NyaXB0LUtpZGRpZXMgZmFlbmd0OiAoVmFyZGlvbiwgMjguIE5vdiAyMDAzLCAxNDoyNDoxNik6Cn4jISBybj1Ob25uZSBydD0xMDcwMDI1Njg3IHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKTW9lZ2xpY2guIFdvYmVpIGRhcyBGaWxlIHVua29tcHJpbWllcnQgaXJnZW5kd2FzIHVlYmVyIDUwR0IgaGF0LiBJY2ggYmV6d2VpZmxlCmRvY2gsIGRhc3MgZGFzIHNvd2VpdCB6dXNhbW1lbnNjaHJ1bXBmdCAoc2VsYnN0IHdlbm4gZXMgdmllbGUgV2llZGVyaG9sdW5nZW4KaGF0KS4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpZSBtYW4gU2NyaXB0LUtpZGRpZXMgZmFlbmd0OiAoTm9ubmUsIDI4LiBOb3YgMjAwMywgMTQ6Mjg6MTIpOgp+IyEgcm49VmFyZGlvbiBydD0xMDcwMDI1ODU2IHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKRGllIEVudHJvcGllIGluIHNvIGVpbmVtIEZpbGUgaXN0IHN1cGVyZ2VyaW5nLiBXZW5uIGRhcyBQYWNrcHJvZ3JhbW0KYXVzZ2VmdWNoc3QgaXN0LCBrcmllZ3QgZXMgZGFzIHNjaG9uIG9yZGVudGxpY2gga2xlaW4sIGVpbiByaWNodGlnIGd1dGVzIHNvZ2FyCmtsZWluZXIgYWxzIGRpZSBTb3VyY2UtRGF0ZWkgKGM7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKEZvb2JhciwgMjguIE5vdiAyMDAzLCAxNDozMTo0NSk6Cn4jISBybj1Ob25uZSBydD0xMDcwMDI2MDkyIHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKRGllIFVSTCBoYWJlIGljaCBhdXMgZGUuYWx0LnN5c2FkbWluLnJlY292ZXJ5LgoKRXJ3YXJ0dW5nc2dlbWFlc3MgdHJpZWJlbiBzaWNoIGRhIGF1Y2ggVHlwZW4gcnVtLCBkaWUgenV2aWVsIFplaXQgaGF0dGVuIHVuZApkYXMgUHJvZ3JhbW0gZWluZmFjaCBtYWwgbGF1ZmVuIGxpZXNzZW4uCgpXaWUgVmFyZGlvbiBiZXJlaXRzIHNjaHJpZWIgc2luZCBlcyB1bmtvbXByaW1pZXJ0IHVlYmVyIDUwIEdCLCBnemlwcGVkIGRhbm4gdW0KZGllIDQgR0IuIFdpZSBkaWVzZSBJbmtvbnNpc3RlbnogenVzdGFuZGUga29tbXQgZW50emllaHQgc2ljaCBkZXJ6ZWl0IG5vY2gKbWVpbmVyIEtlbm50bmlzLiA6bykKCkZvb2JhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2llIG1hbiBTY3JpcHQtS2lkZGllcyBmYWVuZ3Q6IChWYXJkaW9uLCAyOC4gTm92IDIwMDMsIDE0OjM0OjUzKToKfiMhIHJuPUZvb2JhciBydD0xMDcwMDI2MzA1IHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKSWNoIGxhc3NlIGVzIGdlcmFkZSBpbiBlaW4gYnppcDIgLTkgbGF1ZmVuLiBNYWwgc2VoZW4sIHdhcyByYXVza29tbXQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKEZvb2JhciwgMjguIE5vdiAyMDAzLCAxNDozNToxNSk6Cn4jISBybj1Gb29iYXIgcnQ9MTA3MDAyNjMwNSByZz13d3cKfiMhIHRpZD0xMDY5OTY5NDMwCkljaCBtdXNzIGJlcmljaHRpZ2VuLCBlcyB3YXJlbiA2NCBHQiB1bmQgOCBHQi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdpZSBtYW4gU2NyaXB0LUtpZGRpZXMgZmFlbmd0OiAoVmFyZGlvbiwgMjguIE5vdiAyMDAzLCAxNDozNjoyNSk6Cn4jISBybj1Gb29iYXIgcnQ9MTA3MDAyNjUxNSByZz13d3cKfiMhIHRpZD0xMDY5OTY5NDMwCk5laW4sIDY0R0Igd3VlcmRlbiBlcyBudXIgd2VyZGVuLCB3ZW5uIGplZGUgSVAgMTYgYnl0ZXMgYmVsZWd0LiBEYXMgdHVuIGFiZXIKbnVyIGRpZSwgYmVpIGRlbmVuIGFsbGUgNCB6YWhsZW4gM3N0ZWxsaWcgc2luZCAoNCBtYWwgMyBaaWZmZXJuICsgMyBQdW5rdGUgKyAxCk5MKS4gRXMgc2luZCBhbHNvIHdlbmlnZXIgYWxzIDY0R0IuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKEZvb2JhciwgMjguIE5vdiAyMDAzLCAxNDozNzowMSk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNzAwMjY1ODUgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2OTQzMApJY2ggeml0aWVydGUgbnVyIGF1cyBkLmEucy5yLCBnbGF1YmUgRGlyIGFiZXIgbmF0dWVybGljaC4gOm8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKE5vbm5lLCAyOC4gTm92IDIwMDMsIDE0OjM4OjU1KToKfiMhIHJuPVZhcmRpb24gcnQ9MTA3MDAyNjQ5MyByZz13d3cKfiMhIHRpZD0xMDY5OTY5NDMwClByb2JpZXJlIGFiZXIgYXVjaCBsaGEsIHJhciB1bmQgd2llIHNpZSBhbGxlIGhlaXNzZW4gKGM7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKFZhcmRpb24sIDI4LiBOb3YgMjAwMywgMTQ6NDE6MTUpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3MDAyNjczNSByZz13d3cKfiMhIHRpZD0xMDY5OTY5NDMwCk1hbiBrb2VubnRlIGF1Y2ggZWluZmFjaCBlbnQgKGh0dHA6Ly93d3cuZm91cm1pbGFiLmNoL3JhbmRvbS8pIGRhcmF1Zgpsb3NsYXNzZW4uLi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJldHRldCBQYXVsIChWaW5jZW50LCAyOC4gTm92IDIwMDMsIDE2OjM0OjMwKToKaHR0cDovL3JldHRldHBhdWwudGltZTJob3N0LmRlLwoKT2huZSB3ZWl0ZXJlbiBLb21tZW50YXIgbWVpbmVyc2VpdHMuIDspCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmV0dGV0IFBhdWwgKENyb2Z0LCAyOC4gTm92IDIwMDMsIDE2OjQwOjAzKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3MDAzMzY3MCByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCk5vY2ggZ2VpbGVyIHNpbmQgZGllIFRyb2xsZSBkaWUgc2ljaCBkYSBpbSBHYWVzdGVidWNoIHZlcnNhbW1lbHQgaGFiZW4gOi0pCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1VSEhISEhISEhIISEgKEZpcmVoYXdrLCAyOC4gTm92IDIwMDMsIDE2OjUyOjU3KToKfiMhIHJuPVBhbGUgcnQ9MTA3MDAxNzc0NCByZz13d3cKfiMhIHRpZD0xMDcwMDE3NzQ0CkFyZ2gsIHdpZSB2aWVsZSBMZXZlbCBoYXQgZGFzIFRlaWw/IEljaCBoYWIgYmVpIExldmVsIDMyIGVyc3RtYWwgYXVmZ2Vob2VydCA7KQoKRmlyZWhhd2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTVVISEhISEhISEghISAoQW50aGVhLCAyOC4gTm92IDIwMDMsIDE2OjU4OjQxKToKfiMhIHJuPUZpcmVoYXdrIHJ0PTEwNzAwMzQ3Nzcgcmc9d3d3Cn4jISB0aWQ9MTA3MDAxNzc0NAo0Miwgd2llIHZpZWxlIGRlbm4gc29uc3Q/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJldHRldCBQYXVsIChCYW1iaSwgMjkuIE5vdiAyMDAzLCAxNToyODozOCk6Cn4jISBybj1Dcm9mdCBydD0xMDcwMDM0MDAzIHJnPXd3dwp+IyEgdGlkPTEwNzAwMzM2NzAKPiBUaGUgZG9tYWluICJyZXR0ZXRwYXVsLnRpbWUyaG9zdC5kZSIgaXMgbm90IGF2YWlsYWJsZS4KVW5kIHdhcyB3YWVyIGRhIGdld2VzZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZXR0ZXQgUGF1bCAoQ3JvZnQsIDI5LiBOb3YgMjAwMywgMTU6Mzc6MTUpOgp+IyEgcm49QmFtYmkgcnQ9MTA3MDExNjExOCByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCk51ciBlaW4gbmV0dGVzIEJpbGQgdm9uIGVpbmVtIEhhc2VuIHVuZCBlaW5lIEZvcmRlcnVuZyBiaXMgU2lsdmVzdGVyCjEgTWlvIEVVUiBhdWYgZWluIGFuZ2VnZWJlbmVzIEtvbnRvIHp1IHVlYmVyd2Vpc2VuLiAgQmVpIE5pY2h0ZXJmdWVsbHVuZwpzb2xsdGUgZGVyIEhhc2UgdmVyc3BlaXN0IHdlcmRlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSZXR0ZXQgUGF1bCAoQmFtYmksIDI5LiBOb3YgMjAwMywgMTU6Mzg6MDEpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3MDExNjYzNSByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCkFoLCBkYW5uIGJlZGV1dGV0IGRpZSBMb2VzY2h1bmcgZGVyIFNlaXRlLCBkYXNzIGplbWFuZCBiZXphaGx0IGhhdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFJldHRldCBQYXVsIChDcm9mdCwgMjkuIE5vdiAyMDAzLCAxNTo0Njo1MSk6Cn4jISBybj1CYW1iaSBydD0xMDcwMTE2NjgxIHJnPXd3dwp+IyEgdGlkPTEwNzAwMzM2NzAKTm9lLiAgV29obCBlaGVyIGRhcyBpcmdlbmR3ZXIgRHJ1Y2sgYXVmIGRlbiBQcm92aWRlciBhdXNnZXVlYnQgaGF0LgpGYW5kZW4gd29obCBlaW5pZ2UgZGVyIEdhZXN0ZWJ1Y2hlaW50cmFnc3NjaHJlaWJlciBzZWhyIGdlc2NobWFja2xvcy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZXR0ZXQgUGF1bCAoQ3JvZnQsIDI5LiBOb3YgMjAwMywgMTU6NDg6MzApOgp+IyEgcm49Q3JvZnQgcnQ9MTA3MDExNzIxMSByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCkFiZXIgZXMgemVpZ3Qgc2Nob24gd2llIGFybSBtYW5jaGUgTGV1dGUgZHJhdWYgc2luZC4gIEljaCBtdXNzdGUKZGEgYW4gZGFzIGVpbmUgZW5nbGlzY2hlKD8pIFNhdGlyZW1hZ2F6aW4gZGVua2VuLCBkYXMgbWFsIGVpbmVuCnJlY2h0IHN1ZXNzZW4gSHVuZCBhdWYgZGVtIENvdmVyIGhhdHRlLCBkZW0gZWluZSBtZW5zY2hsaWNoZSBIYW5kCmVpbmUgUGlzdG9sZSBnZWdlbiBkZW4gS29wZiBoYWVsdC4gIEJpbGR1bnRlcnNjaHJpZnQ6IEthdWZlbiBzaWUKZGllc2VzIE1hZ2F6aW4gb2RlciB3aXIgZXJzY2hpZXNzZW4gZGllc2VuIEh1bmQuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUmV0dGV0IFBhdWwgKFRvZSwgMjkuIE5vdiAyMDAzLCAxNzowMjoxNCk6Cn4jISBybj1Dcm9mdCBydD0xMDcwMTE3MzEwIHJnPXd3dwp+IyEgdGlkPTEwNzAwMzM2NzAKaHR0cDovL3d3dy5yZW50LWEta2lsbGVyLm5ldC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVybmV0enVnYW5nIGRlciBVbmkgQm9ubiAoTGlhcmEsIDMwLiBOb3YgMjAwMywgMTc6MDQ6MDkpOgpNb2luIQoKSWNoIGJlc2l0emUgc2VpdCBsYW5nZXIgWmVpdCBlaW5lbiBJU0ROLVhYTCBBbnNjaGx1c3MgZGVyIFRlbGVrb20uIFNlaXQKZWluaWdlbiBXb2NoZW4gaGFiZSBpY2ggYWJlciBTb25udGFncyBQcm9ibGVtZSwgbWljaCB3aWUgZ2V3b2hudCB1bXNvbnN0IHVlYmVyCkZlc3RuZXR6IGtvc3RlbmxvcyBiZWkgZGVyIFVuaSBlaW56dXdhZWhsZW4uIChGZWhsZXIgNjI5OiBEaWUgVmVyYmluZHVuZyB6dW0KYW5nZXdhZWhsdGVuIENvbXB1dGVyIHd1cmRlIGdldHJlbm50LikgQW5kZXJlIFByb3ZpZGVyIGZ1bnplbiB0YWRlbGxvcy4KS29ua3JldCBzaWVodCBlcyBzbyBhdXMsIGRhc3MgaWNoIGRpZSBsZXR6dGVuIFNvbm50YWdlIGF1Y2ggZnVlciBkYXMgSW50ZXJuZXQKYmV6YWhsZW4gbXVzc3RlLCB3ZWlsIGtlaW5lIFZlcmJpbmR1bmcgenVyIFVuaSB6dXN0YW5kZSBrYW0uIEFuIGRlbgpWZXJiaW5kdW5nc2VpbnN0ZWxsdW5nZW4gaGFiZSBpY2ggbmljaHRzIGdlYWVuZGVydCwgdW5kIG1pciBpc3QgYXVjaCBuaWNodApiZWthbm50LCBkYXNzIGRpZSBVbmkgVmVyYWVuZGVydW5nZW4gdm9yZ2Vub21tZW4gaGF0LgpIYXQgamVtYW5kIGVpbiBhZWhubGljaGVzIFByb2JsZW0/IEljaCB3dWVzc3RlIGdlcm5lLCB3byBkZXIgRmVobGVyIHp1IHN1Y2hlbgppc3QuIChVbmkgb2RlciBUZWxla29tPyBMYW5nc2FtIGhhYmUgaWNoIGRlbiBFaW5kcnVjaywgZGFzcyBzaWUgbWVpbmVuIGFsdGVuClhYTC1BbnNjaGx1c3MgaXJnZW5kd2llIGluIGVpbmVuIG5ldWVuIHZlcm11cmtzdCBoYWJlbiwgYmVpIGRlbSBrZWluZQpPbmxpbmUtTnVtbWVybiBtZWhyIGFscyBrb3N0ZW5sb3NlcyBGZXN0bmV0eiBlcmxhdWJ0IHNpbmQpLgoKR3J1ZXNzZSwgWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBSZXR0ZXQgUGF1bCAoQ2FkcmFjaCwgMzAuIE5vdiAyMDAzLCAxOTo1ODoyOCk6Cn4jISBybj1Ub2UgcnQ9MTA3MDEyMTczNCByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCi4uLm9kZXIgVGl0YW5pYyBBdXNnYWJlIE1hZXJ6IDkzCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSZXR0ZXQgUGF1bCAoVmluY2VudCwgMzAuIE5vdiAyMDAzLCAyMTo0ODoyNyk6Cn4jISBybj1Dcm9mdCBydD0xMDcwMTE3MjExIHJnPXd3dwp+IyEgdGlkPTEwNzAwMzM2NzAKV2FocnNjaGVpbmxpY2guIFdlbm4gZGllIFByb3ZpZGVyIGF1Y2ggc28gc2NobmVsbCBnZWdlbiBTcGFtLUFuYmlldGVyIHVuZApkZXJlbiBOdXR6bmllc3NlciB2b3JnZWhlbiB3dWVyZGVuLi4uaGFjaGphLi4uLgoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmluZGluZyBOZW1vLi4uIChOb25uZSwgIDEuIERleiAyMDAzLCAwODoxNDozMik6Cmh0dHA6Ly93d3cubGFjaHNjaG9uLmRlL2ZyYW1lLnBocD9zaXRlPS9zbGlkZS5waHA/aWQ9NzkzMwoKTm9ubmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW50ZXMgSG9lbGxlIChEYXJrbG9yLCAgMS4gRGV6IDIwMDMsIDEzOjU3OjIwKToKfiMhIHJuPUZvb2JhciBydD0xMDY5OTY4MDI2IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKRGFya2xvciAtIHNlY2hzdGUgSG9lbGxlIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYW50ZXMgSG9lbGxlIChXaGl0ZXRpZ2VyLCAgMS4gRGV6IDIwMDMsIDEzOjU5OjAzKToKfiMhIHJuPURhcmtsb3IgcnQ9MTA3MDI4MzQ0MCByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CkljaCBiaW4gaXJnZW5kd2llIGluIGRlciBlcnN0ZW4gSG9lbGxlIGdlbGFuZGV0LgpVbmQgZGFzIGFscyBDaGFvdCEgOigoKAoKVGlnZXIgc2NoYWVtdCBzaWNoIHdpcmtsaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhbnRlcyBIb2VsbGUgKE1vbnRhbnVzLCAgMS4gRGV6IDIwMDMsIDE0OjA2OjI2KToKfiMhIHJuPUZvb2JhciBydD0xMDY5OTY4MDI2IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKQWNodGUgSG9lbGxlLiBOZWhtdCBkYXMsIGlyaCBBbmZhZW5nZXIhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbnRlcyBIb2VsbGUgKEFsa29ob2wsICAxLiBEZXogMjAwMywgMTQ6MDc6NTQpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MDI4Mzk4NiByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CmlzdCBqYSBpbnRlcmVzc2FudCwgZGFzcyBpaHIgYWxsZSBzbyB1bmJlZGluZ3QgdGllZiBpbiBkaWUgSG9lbGxlIHdvbGx0CgpBbGtvaG9sIGFtdWVzaWVydCBzaWNoIHNlaHIgZGFydWViZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYW50ZXMgSG9lbGxlIChOZWRpbWUsICAxLiBEZXogMjAwMywgMTQ6MTA6NTMpOgp+IyEgcm49QWxrb2hvbCBydD0xMDcwMjg0MDc0IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKVHJvZXN0ZSBEaWNoLCBXaGl0ZXRpZ2VyLCBpY2ggYmluIGF1Y2ggbnVyIDIuIEhvZWxsZS4gVW5kIGRhcyBhbHMKQ2hhb3RlbmNoZWZpbi4KCk1pcmlsIHNjaGFlbXQgc2ljaCBlaW4gYmlzc2NoZW4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEYW50ZXMgSG9lbGxlIChOb25uZSwgIDEuIERleiAyMDAzLCAxNDoxNDoxNyk6Cn4jISBybj1OZWRpbWUgcnQ9MTA3MDI4NDI1MyByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CkFlaCwgd2VubiBpY2ggZGllIFNlaXRlIHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlLCBoYXQgZGVyIExldmVsIG5peCBkYW1pdCB6dQp0dW4sIHdpZSBib2VzZSBtYW4gaXN0LiBFcyBnaWJ0IGZ1ZXIgamVkZSBBcnQgdm9uIGJvZXNlbiBNZW5zY2hlbiBlaW5lIEhvZWxsZS4KSWNoIGJpbiB6LkIuIGVpbiBLZXR6ZXIgdW5kIGtvbW1lIGluIGRpZSBzZWNoc3RlIEhvZWxsZS4gRm9vYmFyIGlzdCBlaW4KZ2V3YWx0dGFldGlnZXIgTWVuc2NoIHVuZCBrb21tdCBkZXN3ZWdlbiBpbiBkaWUgU2llYnRlIChvZGVyIHdhciBlcyBkaWUKQWNodGU/KS4KCk5vbm5lLCBLZXR6ZXIgYXVzIFBhc3Npb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEYW50ZXMgSG9lbGxlIChOZWRpbWUsICAxLiBEZXogMjAwMywgMTQ6MzM6MzgpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3MDI4NDQ1NyByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CkhhY2gsIGxhc3MgdW5zIGRvY2ggdW5zZXJlIFRvcGxpc3RlbiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW50ZXMgSG9lbGxlIChNb3Jnb3RoLCAgMS4gRGV6IDIwMDMsIDE0OjM3OjE4KToKfiMhIHJuPUZvb2JhciBydD0xMDY5OTY4MDI2IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKTmludGggTGV2ZWwgb2YgSGVsbCAtIENvY3l0dXMKClQKaGlzIGlzIHRoZSBkZWVwZXN0IGxldmVsIG9mIGhlbGwsIHdoZXJlIHRoZSBmYWxsZW4gYW5nZWwgU2F0YW4gaGltc2VsZgpyZXNpZGVzLiBIaXMgd2luZ3MgZmxhcCBldGVybmFsbHksIHByb2R1Y2luZyBjaGlsbGluZyBjb2xkIHdpbmRzIHRoYXQgZnJlZXplCnRoZSB0aGljayBpY2UgZm91bmQgaW4gQ29jeXR1cy4gVGhlIHRocmVlIGZhY2VzIG9mIFNhdGFuLCBibGFjaywgcmVkLCBhbmQKeWVsbG93LCBjYW4gYmUgc2VlbiB3aXRoIG1vdXRocyBndXNoaW5nIGJsb29keSBmb2FtIGFuZCBleWVzIGZvcmV2ZXIgd2VlcGluZywKYXMgdGhleSBjaGV3IG9uIHRoZSB0aHJlZSB0cmFpdG9ycywgSnVkYXMsIEJydXR1cywgYW5kIENhc3NpdXMuIFRoaXMgcGxhY2UgaXMKZnVydGhlc3QgcmVtb3ZlZCBmcm9tIHRoZSBzb3VyY2Ugb2YgYWxsIGxpZ2h0IGFuZCB3YXJtdGguIFNpbm5lcnMgaGVyZSBhcmUKZnJvemVuIGRlZXAgaW4gdGhlIGljZSwgZmFjZXMgb3V0LCBleWVzIGFuZCBtb3V0aHMgZnJvemVuIHNodXQuIFRyYWl0b3JzCmFnYWluc3QgR29kLCBjb3VudHJ5LCBmYW1pbHksIGFuZCBiZW5lZmFjdG9ycyBsYW1lbnQgdGhlaXIgc2lucyBpbiB0aGlzIGZyaWdpZApwaXQgb2YgZGVzcGFpci4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmV0dGV0IFBhdWwgKEJhbWJ1bGtvLCAgMS4gRGV6IDIwMDMsIDE1OjQ1OjQ1KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3MDAzMzY3MCByZz13d3cKfiMhIHRpZD0xMDcwMDMzNjcwCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9uZXR6a3VsdHVyLzAsMTUxOCwyNzYyNDUsMDAuaHRtbAoKUGFzc2VuZCB6dW0gVGl0ZWwuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFudGVzIEhvZWxsZSAoRm9vYmFyLCAgMS4gRGV6IDIwMDMsIDE1OjUyOjI3KToKfiMhIHJuPU5vbm5lIHJ0PTEwNzAyODQ0NTcgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2ODAyNgpHZXdhbHR0YWV0aWdlciBad2VyZywgYml0dGUuIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGFudGVzIEhvZWxsZSAoTXVhZGliLCAgMS4gRGV6IDIwMDMsIDE2OjQzOjM4KToKfiMhIHJuPUZvb2JhciBydD0xMDcwMjkwMzQ3IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKRWlndGggTGV2ZWwgb2YgSGVsbCAtIHRoZSBNYWxlYm9sZ2UKSW0gR2VnZW5zYXR6IHp1IE1vbnRhbnVzIHVuZ2VzY2h3aW5kZWx0IGF1c2dlZnVlbGx0IDopClVuZCBNb3Jnb3RoOiBibGVpYiBtaXIgamEgdm9tIFBlbHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW50ZXMgSG9lbGxlIChDYXR3ZWF6bGUsICAxLiBEZXogMjAwMywgMTY6NTE6MjgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwNjk5NjgwMjYgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2ODAyNgpIbSwgYXVjaCBzZWNoc3RlIEhvZWxsZS4gR2FueiBzY2hvZW4gdGllZi4KQWJlciBpY2ggYmluIGRvY2ggaW1tZXIgbGllYiB1bmQgbmV0dCEgX1VuZF8gaWNoIGhhYmUgbm9jaCBuaWUgZ2Vsb2dlbiEgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFudGVzIEhvZWxsZSAoTW9yZ290aCwgIDEuIERleiAyMDAzLCAxNzowMzoyNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3MDI5Mzg4OCByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CkpvLCB1bmQgZGFzIG9obmUgcm90IHdlcmRlbiwgd2FzIENhdHR5IDopCgoKTSogKGhhdCBhdWNoIGVocmxpY2ggZ2VhbnR3b3J0ZXQgKnNjaGF1ZGVyKikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFudGVzIEhvZWxsZSAoQXBvbGxvbmlhLCAgMS4gRGV6IDIwMDMsIDIyOjI4OjEyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwMjkzODg4IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKQmVpIG1pciBpc3NlcyBkaWUgNy4gQWJlciBkYXMgd2FyIG1pciB2b3JoZXIgc2Nob24ga2xhciAoYzoKCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvbXB1dGVyc3BpZWxlIC0gUmV6ZW5zaWVyZW4sIG5pY2h0IHB1bmt0ZW4gKFZpbmNlbnQsICAyLiBEZXogMjAwMywgMTA6MDY6MzcpOgpJbnRlcmVzc2FudGVyIHVuZCBrcml0aXNjaGVyIEFydGlrZWwgenVyIEJld2VydHVuZyB2b24gQ29tcHV0ZXJzcGllbGVuLgoKaHR0cDovL3d3dy5udHJvcGllLmRlL2FyY2hpdi9zcGllbGUvcmV6ZW5zaWVyZW5fbmljaHRfcHVua3Rlbi5waHAKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUmV0dGV0IFBhdWwgKENyb2Z0LCAgMi4gRGV6IDIwMDMsIDEwOjQ5OjA3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwNzAyODk5NDUgcmc9d3d3Cn4jISB0aWQ9MTA3MDAzMzY3MApEZXIgU3BpZWdlbCBoYXQgbm9jaCBuZW4gSW50ZXJ2aWV3IG1pdCBkZW0gRXJzY2hhZmZlciBkZXIgU2VpdGUKaW5zIE5ldHogZ2VzdGVsbHQuICBVbmQgZGFzIEdhZXN0ZWJ1Y2ggZmluZGV0IHNpY2ggdW50ZXIKaHR0cDovLzIwMTg5Lm5ldGd1ZXN0Ym9vay5jb20vCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2Vnd2VyZi1FTWFpbC1BZHJlc3NlIChKYW1lc29uLCAgMi4gRGV6IDIwMDMsIDEzOjA3OjUyKToKaHR0cDovL3d3dy5uZXJ2bWljaC5uZXQvCkRhIGtyaWVndCBtYW4gZWluIDEtMyBUYWdlIGxhbmcgZ3VlbHRpZ2VzICh1bmQgdmVybGFlbmdlcmJhcmVzKSBNYWlsLUFsaWFzIHpCCnp1bSBPbmxpbmUtUmVnaXN0cmllcmVuIHVuZCBtdXNzIHNvIHNlaW5lIGVpZ2VuZSBFTWFpbC1BZHJlc3NlIG5pY2h0CnByZWlzZ2ViZW4uCldlZ2VuIHBvdGVudGllbGxlbSBNaXNzYnJhdWNoIGZyYWd0IG5pY2h0IG1pY2gsIHNvbmRlcm4gc2NoYXV0IGxpZWJlciBhdWYgZGVyClNlaXRlIG5hY2guIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2FmZWwtUHJlaXMgZnVlciBSdW1zZmVsZCA6LSkgKEJhbWJ1bGtvLCAgMi4gRGV6IDIwMDMsIDEzOjQ3OjIxKToKCmh0dHA6Ly90aW55dXJsLmNvbS94Y2sxCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlZ3dlcmYtRU1haWwtQWRyZXNzZSAoVGFyYW5pcywgIDIuIERleiAyMDAzLCAxNjowOTowOCk6Cn4jISBybj1KYW1lc29uIHJ0PTEwNzAzNjY4NzIgcmc9d3d3Cn4jISB0aWQ9MTA3MDM2Njg3MgpCVFc6IEZ1ZXIgV2Vnd2VyZmFkcmVzc2VuIGtlbm5lIGljaCBub2NoIGh0dHA6Ly93d3cuc3BhbWdvdXJtZXQuY29tLCBkZXJlbgpBbmdlYm90IGZpbmRlIGljaCBlaWdlbnRsaWNoIHByYWt0aXNjaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFzdGVyIHVuZCBTbGF2ZSAtIGRpc2tyaW1pbmllcmVuZGUgQmVncmlmZmU/IChWaW5jZW50LCAgMi4gRGV6IDIwMDMsIDE2OjA5OjI2KToKRnVlciBtYW5jaGUgQnVlcmdlciB1bmQgZGVyZW4gVmVyd2FsdHVuZ3NvcmdhbmUgd29obCBzY2hvbjoKaHR0cDovL3Rpbnl1cmwuY29tL3hkNWUKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFudGVzIEhvZWxsZSAoSGlnaHQsICAyLiBEZXogMjAwMywgMTg6Mzk6MjcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MDI4Mzk4NiByZz13d3cKfiMhIHRpZD0xMDY5OTY4MDI2CjYuIC4uLiBhYmVyIGljaCBiaW4gaW4gYWxsZW4gZ2VybiBnZXNlaGVuICxvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEludGVybmV0enVnYW5nIGRlciBVbmkgQm9ubiAoTXVwZmVsLCAgMi4gRGV6IDIwMDMsIDIzOjQ0OjUyKToKfiMhIHJuPUxpYXJhIHJ0PTEwNzAyMDgyNDkgcmc9d3d3Cn4jISB0aWQ9MTA3MDIwODI0OQpHYW56IGVpbmZhY2g6IGRlaW4gVW5pLVpVZ2FuZyBpc3QgImJsYWNrbGlzdGVkIi4gRGFzIG1vZWNodGUgZGllIFRlbGVrb20gdWViZXIKa3VyeiBvZGVyIGxhbmcgbWl0IGFsbGVuIFByb3ZpZGVybiBtYWNoZW4sIGRlbm4gZGVyIFhYTCBUYXJpZiBpc3QgbnVyIGZ1ZXJzClRlbGVmb25pZXJlbiBnZWRhY2h0LCBuaWNodCBmdWVycyBJbnRlcm5ldC4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbnRlcyBIb2VsbGUgKERhcmt3aW5nLCAgMy4gRGV6IDIwMDMsIDAwOjE5OjQ1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwMjkzODg4IHJnPXd3dwp+IyEgdGlkPTEwNjk5NjgwMjYKb2hhLiBEYW5uIGJpc3QgRHUgYWxzbyB0YXRzYWVjaGxpY2ggd2FtcGlnIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEludGVybmV0enVnYW5nIGRlciBVbmkgQm9ubiAoTGlhcmEsICAzLiBEZXogMjAwMywgMDI6Mjk6NTQpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNzA0MDUwOTIgcmc9d3d3Cn4jISB0aWQ9MTA3MDIwODI0OQpOZWluLCBlciBzb2xsdGUgZXMgYWJlciBuaWNodCBzZWluLCBkYSBzaWUgZGVuIGFsdGVuIFhYTC1UYXJpZiBpbSBNb21lbnQgbm9jaApuaWNodCB6d2FuZ3N3ZWlzZSBpbiBkZW4gbmV1ZW4gdWViZXJmdWVocmVuIGR1ZXJmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbnRlcm5ldHp1Z2FuZyBkZXIgVW5pIEJvbm4gKENhZHJhY2gsICAzLiBEZXogMjAwMywgMTM6MTU6MjMpOgp+IyEgcm49TGlhcmEgcnQ9MTA3MDQxNDk5NCByZz13d3cKfiMhIHRpZD0xMDcwMjA4MjQ5CkRhbm4gc2NocmVpYiBJaG5lbiBkYXMsIGRhbm4gd2VyZGVuIHNpZSBEaXIgdmVybXV0bGljaCBzY2hyZWliZW4sICJkYXMgZGFzClRlY2huaXNjaCBsZWlkZXIgbmljaHQgbW9lZ2xpY2ggaXN0IiB3ZW5uIGR1IGVpbmUgc29sY2hlIEFudHdvcnQgYmVrb21tc3QsCmdlaHN0IHp1ciBiZXNjaHdlcmRlc3RlbGxlIGRlciB0ZWxla29tIG9kZXIgZGVyIFJlZ3VsaWVydW5nc2JlaG9lcmRlIC0gd2VubgpEdXMgZ2VzY2hpY2t0IG1hY2hzdCAodW5kIGRhcyB3aXJrbGljaCBzbyBpc3QpIGthbm5zdGUgZGEgc2ljaGVybGljaCAiYXVmCkt1bGFueiIgbmUgbmV0dGUgU29uZGVycmVnZWx1bmcgYXVzaGFuZGVsbiA6bykuCgpvYnMgZGVuIEF1ZndhbmQgd2VydCBpc3QsIGlzdCBhbGxlcmRpbmdzIGVpbmUgYW5kZXJlIFNhY2hlLi4uCgpDYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaWUgbWFuIFNjcmlwdC1LaWRkaWVzIGZhZW5ndDogKFZhcmRpb24sICAzLiBEZXogMjAwMywgMTQ6NTI6NTUpOgp+IyEgcm49VmFyZGlvbiBydD0xMDcwMDI2NDkzIHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKRGllIGdlcGFja3RlIERhdGVpIHdhciB1ZWJyaWdlbnMgNS4yR0IgZ3Jvc3MuIFVuZCBuZWluLCBpY2ggaGFiZSBkaWUgbmljaHQKZGVrb21wcmltaWVydCB1bmQgbWl0IGFuZGVyZW4gUGFja2VybiBhdXNwcm9iaWVydCA6LSkKClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpZSBtYW4gU2NyaXB0LUtpZGRpZXMgZmFlbmd0OiAoR2xvaW5zb24sICAzLiBEZXogMjAwMywgMTQ6NTM6NDMpOgp+IyEgcm49VmFyZGlvbiBydD0xMDcwNDU5NTc1IHJnPXd3dwp+IyEgdGlkPTEwNjk5Njk0MzAKV2llLCBoYXR0ZXN0IGR1IGtlaW4gT3JpZ2luYWwgenVyIFZlcmZ1ZWd1bmc/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2llIG1hbiBTY3JpcHQtS2lkZGllcyBmYWVuZ3Q6IChWYXJkaW9uLCAgMy4gRGV6IDIwMDMsIDE0OjU2OjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwNzA0NTk2MjMgcmc9d3d3Cn4jISB0aWQ9MTA2OTk2OTQzMApJY2ggaGF0dGUgZGllIEF1c2dhYmUgZGVzIEdlbmVyYXRvci1Qcm9ncmFtbXMgZGlyZWt0IGluIGJ6aXAyIGdlcGlwZWQuIERpZQpQYXJ0aXRpb24gZGVzIFVuaS1SZWNobmVycywgZGVuIGljaCBkYWZ1ZXIgdmVyd2VuZGV0IGhhYmUsIGlzdCBuaWNodCBncm9zcwpnZW51ZywgdW0gZGllIHVua29tcHJpbWllcnRlIERhdGVpIHp1IGhhbHRlbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hY2ggc2llIGZlcnRpZyEgKERlZXBibHVlLCAgMy4gRGV6IDIwMDMsIDE1OjUwOjI2KToKaHR0cDovL3Rpbnl1cmwuY29tL3hqNnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNYWNoIHNpZSBmZXJ0aWchIChDYXR3ZWF6bGUsICAzLiBEZXogMjAwMywgMTY6MDQ6MTUpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTA3MDQ2MzAyNiByZz13d3cKfiMhIHRpZD0xMDcwNDYzMDI2CktldHRlbnNhZWdlIGRlciBibHV0aWdlbiBaZXJzdHVlY2tlbHVuZz8KCldhcnVtIGhhYmVuIHdpciBzb3dhcyBub2NoIG5pY2h0IC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hY2ggc2llIGZlcnRpZyEgKFpvb2ssICAzLiBEZXogMjAwMywgMTY6MDU6MTEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzA0NjM4NTUgcmc9d3d3Cn4jISB0aWQ9MTA3MDQ2MzAyNgo6d2FydGV0IGVoIG5vY2ggYXVmIGVpbmUgZ2V3aXNzZSBTY2hhdWZlbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hY2ggc2llIGZlcnRpZyEgKFdoaXRldGlnZXIsICAzLiBEZXogMjAwMywgMTY6MDc6MTkpOgp+IyEgcm49Wm9vayBydD0xMDcwNDYzOTExIHJnPXd3dwp+IyEgdGlkPTEwNzA0NjMwMjYKV2FzIGZ1ZXIgZWluZSBTY2hhdWZlbCA/ClRpZ2VyIHN1Y2h0IG5hY2ggSWRlZW4gZnVlciBJdGVtcy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTWFjaCBzaWUgZmVydGlnISAoQm9pbmcsICAzLiBEZXogMjAwMywgMTY6MDg6NTYpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMDcwNDY0MDM5IHJnPXd3dwp+IyEgdGlkPTEwNzA0NjMwMjYKRGllIFNjaGF1ZmVsIGRlciBicmFjaGlhbGVuIER1ZW1tbGljaGtlaXQgLi4uIGphamEsIGljaCB3ZWlzcyAuLi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTWFjaCBzaWUgZmVydGlnISAoV2hpdGV0aWdlciwgIDMuIERleiAyMDAzLCAxNjoxMzoyNyk6Cn4jISBybj1Cb2luZyBydD0xMDcwNDY0MTM2IHJnPXd3dwp+IyEgdGlkPTEwNzA0NjMwMjYKTWhoaG0uLi4gdW5kIGplZGVyICwgZGVyIGRpZSB6dWVja3QsIGJla29tbXQgZWluZW4gLTUgaW50LW1hbHVzLCB1bmQgKzMKa3JhZnQrYm9udXMgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFjaCBzaWUgZmVydGlnISAoWm9vaywgIDMuIERleiAyMDAzLCAxNjoxNjoyNyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNzA0NjQ0MDcgcmc9d3d3Cn4jISB0aWQ9MTA3MDQ2MzAyNgpEYXMgbGllZ3QgaW4gQm9pbmdzIEhhZW5kZW4uLi4gOikKClpvb2suCgpQUzogT2JqZWt0LUJhbGFuY2UgbWFsIGluIEJvaW5ncyBIYWVuZGUgZWluZ2VzY2hsb3NzZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFjaCBzaWUgZmVydGlnISAoRm9vYmFyLCAgMy4gRGV6IDIwMDMsIDE2OjM2OjUzKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDcwNDYzODU1IHJnPXd3dwp+IyEgdGlkPTEwNzA0NjMwMjYKS2VpbiBCZW56aW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpKdXJpc3RlbiBlcmtsYWVyZW4gZGFzIEludGVybmV0IChGb29iYXIsICAzLiBEZXogMjAwMywgMTg6MjU6MTcpOgpIYWxsbywKCmdlcmFkZSBpbiBkZS5hbHQuc3lzYWRtaW4ucmVjb3ZlcnkgZW50ZGVja3Q6CgpodHRwOi8vZGF1ZmFxLmRlLwoKRm9vYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnVyaXN0ZW4gZXJrbGFlcmVuIGRhcyBJbnRlcm5ldCAoTnl4LCAgNC4gRGV6IDIwMDMsIDIxOjU1OjUxKToKfiMhIHJuPUZvb2JhciBydD0xMDcwNDcyMzE3IHJnPXd3dwp+IyEgdGlkPTEwNzA0NzIzMTcKQmluIGF1Y2ggdWViZXIgd2FzIGdlc3RvbHBlcnQ6CgpodHRwOi8vZ2EuYWR2ZXJ0YWluZXIubmV0L2NoaWxsb3V0em9uZS8wMzA4MDcwMi5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2tpZmFocmVuLi4uIChNdXBmZWwsICA1LiBEZXogMjAwMywgMTI6MDM6MzcpOgpodHRwOi8vd3d3LmhhbW1lcm11ZWhsZS1kaWFldC5kZS9zaG9wL25pa29sYXVzL3NsYWxvbS5odG1sCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNraWZhaHJlbi4uLiAoR3JpbW1ib3JuLCAgNS4gRGV6IDIwMDMsIDEyOjM2OjI5KToKfiMhIHJuPU11cGZlbCBydD0xMDcwNjIyMjE3IHJnPXd3dwp+IyEgdGlkPTEwNzA2MjIyMTcKSG1tLCBpcmdlbmR3aWUgaGFiIGljaCBkYSBrZWluZSBNb2VnbGljaGtlaXQgenUgbGVua2VuLiBUamEsIGRhbm4gaGFsdCBrZWluZQpHZXNjaGVua2UuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTa2lmYWhyZW4uLi4gKE1vbnRhbnVzLCAgNS4gRGV6IDIwMDMsIDEyOjQ5OjEyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDcwNjI0MTg5IHJnPXd3dwp+IyEgdGlkPTEwNzA2MjIyMTcKVmVyc3VjaCBlcyBtYWwgbWl0IGRlbiBDdXJzb3J0YXN0ZW4uIG9kZXIgaGF0IGRlaW5lIFRhc3RhdHVyIGRhcyBzY2hvbiBuaWNodAptZWhyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2tpZmFocmVuLi4uIChHcmltbWJvcm4sICA1LiBEZXogMjAwMywgMTM6MTc6MTIpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3MDYyNDk1MiByZz13d3cKfiMhIHRpZD0xMDcwNjIyMjE3CkhhdCBzaWUsIGFiZXIgZGllIGhhYmVuIGtlaW5lbiBFZmZla3QuIFNjaGxlY2h0IHByb2dyYW1taWVydCwgZGVyIEtyYW0sCm9mZmVuc2ljaHRsaWNoLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCbGF1LCBibGF1LCBibGF1IGJsdWVodCBkZXIgRW56aWFuLi4uIChHcmltbWJvcm4sICA1LiBEZXogMjAwMywgMTQ6MTA6NDkpOgpadW0gVWViZW4gZnVlciBkaWUgbmFlY2hzdGUgV2VpaG5hY2h0c2ZlaWVyOgpodHRwOi8vdmFwYWF0aWxhLm5ldC9hbGtvL3Byb21pbGxlbHVra28vaHV0aWtrYV92MF8xMy5odG1sCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggYXVmIGRlciBTdWNoZSBuYWNoIGVpbmVtIGF1c2dlZmFsbGVuZW4gV2VpaG5hY2h0c2dlc2NoZW5rPyAoR3J1bXBmLCAgOS4gRGV6IDIwMDMsIDE3OjQxOjQxKToKaHR0cDovL3d3dy5iYWQtYmVhcnMuZGUvaW5kZXgyLmh0bWwKR3J1bXBmIGdydW1wZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHRlcm5hdGl2ZW4genUgR01YPyAoVmFyZGlvbiwgMTAuIERleiAyMDAzLCAxNDoxNjo1Nyk6CkhpLgoKR01YIGhhdHRlIGRpZSAidG9sbGUiIElkZWUsIE1haWxzIG1pdCBlaW5lciBHTVgtQWJzZW5kZWFkcmVzc2UgbnVyIG5vY2gKYW56dW5laG1lbiwgd2VubiBzaWUgdWViZXIgZGVuIEdNWC1NYWlsc2VydmVyIHZlcnNjaGlja3Qgd3VyZGVuLiBEYW1pdCBrYW5uCmljaCB2b24gdW5zZXJlciBVbmkgYXVzIHVudGVyIG1laW5lciBHTVgtQWRyZXNzZSB6LkIuIGtlaW5lIEVtYWlscyBtZWhyIGFuCmFuZGVyZSBHTVgtQWRyZXNzZW4gdmVyc2NoaWNrZW4sIGRhIGRpZSBVbmkgZGllIFZlcndlbmR1bmcgZGVzClVuaS1TTVRQLVNlcnZlcnMgZXJ6d2luZ3QuCkljaCBzdWNoZSBkYWhlciBlaW5lbiBNYWlsYW5iaWV0ZXIgbWl0IGZvbGdlbmRlbiBFaWdlbnNjaGFmdGVuOgoKLSBndXRlciBTcGFtZmlsdGVyIChtb2VnbGljaHN0IFNwYW1Bc3Nhc3NpbiBvZC4gYWVobmxpY2hlKQotIE1vZWdsaWNoa2VpdCB6dXIgV2VpdGVybGVpdHVuZyBkZXIgTWFpbCBhbiBlaW5lIGFuZGVyZSBBZHJlc3NlCi0genV2ZXJsYWVzc2lnZSBGdW5rdGlvbgoKRGFzIGdhbnplIHdlbm4gbW9lZ2xpY2gga29zdGVubG9zIG9kZXIgZnVlciA8IDEgRVVSL01vbmF0LgoKVmFyZGlvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFsdGVybmF0aXZlbiB6dSBHTVg/IChSb25kYSwgMTAuIERleiAyMDAzLCAxODo0MTozMik6Cn4jISBybj1WYXJkaW9uIHJ0PTEwNzEwNjIyMTcgcmc9d3d3Cn4jISB0aWQ9MTA3MTA2MjIxNwpIaSBWYXJkaW9uLAoKc29ycnksIGZhbGxzIGljaCBkYSBmYWxzY2ggbGllZ2UgLSBhYmVyIElNSE8gaXN0IGVzIHNpbm52b2xsLCBkYXNzIEdNWCBkYXMKbWFjaHQuIERhbWl0IHdpcmQgZWJlbiBlaW4gZ2FueiBiaXNzY2hlbiB2ZXJoaW5kZXJ0LCBkYXNzIG1hbiB1ZWJlciBuZW4KU01UUC1TZXJ2ZXIgZWluZXIgVW5pIE1haWxzIHJhdXNoYXV0LCBkaWUgbmFjaCBHTVggYXVzc2VoZW4uIFNvbGx0ZSBkZXIKU01UUC1TZXJ2ZXIgZGVyIFVuaSB6dXNhZXR6bGljaCBhdWNoIG5vY2ggZWluICJPcGVuLVJlbGF5IiBzZWluLCBkZXIgb2huZQpBdXRoZW50aWZpemllcnVuZyBldGMuIE1haWxzIG1pdCBiZWxpZWJpZ2VuIEFkcmVzc2VuIHJhdXNoYXV0LCBoYXUgbGllYmVyIGRlbgpBZG1pbnMgZGEgZWluZW4gYXVmIGRpZSBOYXNlLi4uCkxvZXN1bmcga29lbm50ZSBldmVudHVlbGwgc2VpbiwgY2EuIGVpbmVuIEV1cm8gcHJvIE1vbmF0IGFuIEdNWCB6dSBiZXphaGxlbi4KRGFubiBzb2xsdGUgZXMgbW9lZ2xpY2ggc2VpbiwgdWViZXJzIFdlYmludGVyZmFjZSBNYWlscyBvaG5lIFdlcmJ1bmcgdW50ZW5kcmFuCnp1IHZlcnNjaGlja2VuLiBBbHMgTm90bG9lc3VuZyB3YWVyZSBkYXMgdmllbGxlaWNodCBzaW5udm9sbC4KQnp3OiBXaWUgdmVyaGluZGVydCBkaWUgVW5pLCBkYXNzIER1IGRlbiBzbXRwLmdteC5kZSB2ZXJ3ZW5kZXN0PyBTdGVja3QgZGEgbmUKRmlyZXdhbGwgZGF6d2lzY2hlbj8gRXZlbnR1ZWxsIGdhZWJzIGRhIExvZXN1bmdlbj8KClJvbmRhICp3aWUgZ2VzYWd0LiBEYXMgZ2FuemUgbWl0IHZpZWwgSU1ITyB1bmQgc28qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsdGVybmF0aXZlbiB6dSBHTVg/IChNb250YW51cywgMTEuIERleiAyMDAzLCAwODoxMTozMik6Cn4jISBybj1Sb25kYSBydD0xMDcxMDc4MDkyIHJnPXd3dwp+IyEgdGlkPTEwNzEwNjIyMTcKTmltbSB3ZWIuZGUgLSBkYXMga29zdGV0IG5peCBhdXNzZXIgZWluIHBhYXIgVGFnZW4gV2FydGV6ZWl0LCBiaXMgZHUgZGVpbgpBbmZhbmdza2VubndvcnQgcGVyIEJyaWVmcG9zdCBiZWtvbW1zdCAtIGF1Y2ggZWluIGd1dGVyIFNwYW0tRmlsdGVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFsdGVybmF0aXZlbiB6dSBHTVg/IChDYWxkcmluLCAxMS4gRGV6IDIwMDMsIDEyOjQ3OjU1KToKfiMhIHJuPVJvbmRhIHJ0PTEwNzEwNzgwOTIgcmc9d3d3Cn4jISB0aWQ9MTA3MTA2MjIxNwpEaWUgVW5pIHZlcmhpbmRlcnQgZGFzLCBpbmRlbSBzaWUgYW4gZGVyIEZpcmV3YWxsIFRDUCBQb3J0IDI1IHNwZXJydC4gV2VsY2hlCkxvZXN1bmcgZmFlbGx0IGRpciBkYSBlaW4sIGF1c3NlciBkYXMgaGFlc3NsaWNoIGdyYXVlbmhhZnRlIFdlYmludGVyZmFjZSB6dQpiZW51dHplbj8gTGVnYWwgd2FlcmUgc2Nob2VuLCBlaW5lIFNwZXJydW5nIGltIFVSWiBtYWNodCBzaWNoIG5pY2h0IHNvIGd1dC4KT3Blbi1SZWxheSBpc3QgZGllIFVuaSBudXIgbmFjaCBpbnRlcm4sIGQuaC4gamVkZXIsIGRlciBhdXMgZGVtIGVpZ2VuZW4gTmV0egprb21tdCwga2FubiBvaG5lIEF1dGhlbnRpZml6aWVydW5nIG1pdCBiZWxpZWJpZ2VyIEFkcmVzc2Ugc2VuZGVuLiBEYXMgbWFjaHQKZHVyY2hhdXMgU2lubiwgZGEgc2VociB2aWVsZSBTdHVkaWVzIE1haWxhZHJlc3NlbiBhdXNzZXJoYWxiIGRlciBVbmkgaGFiZW4gdW5kCmRpZSBnZXJuIGF1Y2ggenVtIFZlcnNhbmQgbnV0emVuIHdvbGxlbi4gRGFzIFZlcmJvdCB2b24gb3V0Z29pbmctU01UUCBpc3QgYXVjaApzaW5udm9sbCwgZGVubiBqZWRlciBTUEFNLVZlcnNlbmRlciBpbm5lcmhhbGIgZGVyIFVuaSBpc3QgZHVyY2ggc2VpbiBIRUxPCnp1cnVlY2t2ZXJmb2xnYmFyLiAoSVAtU3Bvb2ZpbmcgaW5uZXJoYWxiIGRlcyBVbmktTmV0eiBpc3QgZmFzdCB1bm1vZWdsaWNoKS4KCnNvIGxvbmcKQ2FsJ2FuIGRlciBzZWxiZW4gVW5pIHdpZSBWYXJkaW9uJ2RyaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFsdGVybmF0aXZlbiB6dSBHTVg/IChDYXR3ZWF6bGUsIDExLiBEZXogMjAwMywgMTM6MTM6MTQpOgp+IyEgcm49Q2FsZHJpbiBydD0xMDcxMTQzMjc1IHJnPXd3dwp+IyEgdGlkPTEwNzEwNjIyMTcKTWFsIGdhbnogKHVuKXNwb250YW4gZWluZ2V3b3JmZW46CgpXaXJkIFNNVFAgYXVmIFRDUC1Qb3J0IDI1IGdlZmlsdGVydCBnZWh0IGtlaW4gU01UUC1BVVRIIG1laHIuLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWx0ZXJuYXRpdmVuIHp1IEdNWD8gKFZhcmRpb24sIDExLiBEZXogMjAwMywgMTM6Mjg6MzgpOgp+IyEgcm49Um9uZGEgcnQ9MTA3MTA3ODA5MiByZz13d3cKfiMhIHRpZD0xMDcxMDYyMjE3CkRpZSBGaXJld2FsbCBkZXIgVW5pIGJsb2NrdCBUQ1AtVmVyYmluZHVuZ3NhdWZiYXUgdm9uIGlubmVuIG5hY2ggYXVzc2VuIGF1ZgpQb3J0IDI1IGZ1ZXIgYWxsZSBSZWNobmVyICE9IFVuaS1NYWlsaG9zdC4KVW5kIG5laW4sIGRpZSBBa3Rpb24gdm9uIEdNWCBpc3QgbmljaHQgc2lubnZvbGwuIERhbWl0IHZlcmhpbmRlcm4gc2llIG51ciBlaW5lCkFydCB2b24gU1BBTTogbmFlbWxpY2ggZGVuLCB3byBkZXIgU1BBTS1WZXJzZW5kZXIgenVmYWVsbGlnIGVpbmUgR01YLUFkcmVzc2UKYWxzIEFic2VuZGVyIGVpbnRyYWVndCB1bmQgZGllc2VuIFNQQU0gYXVjaCBub2NoIGFuIGVpbmVuIEdNWC1OdXR6ZXIKdmVyc2VuZGV0LiBXZWxjaGVyIEFudGVpbCBkZXMgd2VsdHdlaXRlbiBTUEFNcyBoYXQgZWluZSBHTVgtQWRyZXNzZSBhbHMKQWJzZW5kZXI/IERhcyBkdWVyZnRlIGVoZXIgZ2VyaW5nIHNlaW4uLi4gRGllIE5hY2h0ZWlsZSBkaWVzZXIgQWt0aW9uCnVlYmVyd2llZ2VuIElNTyBkZXV0bGljaC4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvbWl0IG1hbCBhbGxlcyBHZWxkIG1hY2hlbiBrYW5uLi4uLiAoQmFtYnVsa28sIDExLiBEZXogMjAwMywgMTY6NTU6MjIpOgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvYW53LTExLjEyLjAzLTAwMi8KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXV1ctU2VpdGUgZGVzIHNjaHdlZGlzY2hlbiBLaW5kZXJmZXJuc2VoZW5zIChWaW5jZW50LCAxMi4gRGV6IDIwMDMsIDE0OjMwOjAwKToKS2VpbmUgQWhudW5nIHdpZSBiZWthbm50IGRpZSBTZWl0ZSBpc3QsIGRlc3dlZ2VuIHp1ciBTaWNoZXJoZWl0IGhpZXIKYXVmIGFsbGUgRmFlbGxlIG1hbCBkaWUgVXJsOgoKaHR0cDovL3N2dC5zZS9ob2dhZmZsYWhhZ2UvCgpPaG5lIEZsYXNoIGdlaHQgKGZhc3QpIG5pY2h0cyBhdWYgZGVyIFNlaXRlLi4uCgpHcnVzcwpWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYXRib3kgKFZpbmNlbnQsIDEyLiBEZXogMjAwMywgMTg6MDE6NDkpOgpXYXMgYWxsZXMgc28gV2l0emlnZXMgaW5zIFdXVyBnZXN0ZWxsdCB3aXJkLi4uIHp1bWluZGVzdCwgd2FzIGZ1ZXIKd2l0emlnIGdlaGFsdGVuIHdpcmQuLi4KCmh0dHA6Ly93d3cuZmF0Ym95LmRlLnRjLwoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVEhJIC0gVGhlIEh1bWFuIEludGVyZmFjZSAoV2hpdGV0aWdlciwgMTIuIERleiAyMDAzLCAyMDoxNTo0NCk6CkVpbiB3aXJrbGljaCBpbnRlcmVzc2FudGVyLCBpbm5vdmF0aXZlciBBbnNhdHogZnVlciBlaW5lIG5ldWUgQXJ0IGRlcwpCZW51dHplcmludGVyZmFjZXM6Cmh0dHA6Ly9odW1hbmUuc291cmNlZm9yZ2UubmV0LwoKVW5kIGRhenUgZ2lidHMgZWluZSBGbGFzaC1EZW1vLCBhbGxlcmRpbmdzIHJ1bmQgOCBNQiBncm9zczoKaHR0cDovL2h1bWFuZS5zb3VyY2Vmb3JnZS5uZXQvbWFpbi90aGUvem9vbWRlbW8uc3dmCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRISSAtIFRoZSBIdW1hbiBJbnRlcmZhY2UgKEFrYXNoYSwgMTIuIERleiAyMDAzLCAyMDoyNTo1Nyk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNzEyNTY1NDQgcmc9d3d3Cn4jISB0aWQ9MTA3MTI1NjU0NApHZXdvZWhudW5nc2JlZHVlcmZ0aWcuLi4KCkFrYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRISSAtIFRoZSBIdW1hbiBJbnRlcmZhY2UgKEpvc2h1YSwgMTMuIERleiAyMDAzLCAxMzozMjozNCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNzEyNTY1NDQgcmc9d3d3Cn4jISB0aWQ9MTA3MTI1NjU0NApEYXMgaXN0IGNvb2xlcyBaZXVnIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFjaHQgUG93ZXJQb2ludCBibG9lZD8gKERlZXBibHVlLCAxNS4gRGV6IDIwMDMsIDA5OjU4OjQyKToKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2RhdGEvdG9sLTE0LjEyLjAzLTAwNC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsa29ob2wgYW0gU3RldWVyIHVuZCB3YXMgZXMgYW5yaWNodGVuIGthbm4uLi4gKEFwb2xsb25pYSwgMTUuIERleiAyMDAzLCAxMjoyMjozMCk6ClNjaGF1dCdzIEV1Y2ggbmljaHQgYW4sIHdlbm4gSWhyIHphcnRiZXNhaXRldCBzZWlkLi4uCgpodHRwOi8vd3d3LmJpbi1pY2gtamVzdXMuZGUvZHJpbmtvcmRyaXZlL2luZGV4Lmh0bWwKCkFwbyoKZGVua2VuZCwgZGFzcyBkYXMgZWlnZW50bGljaCBhbSBBdXNnYW5nIGplZGVyIERpc2tvdGhlayB1bmQgamVkZXIgS25laXBlCmhhZW5nZW4gc29sbHRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgbWFjaHQgZGVubiBzb3dhcyBmcmVpd2lsbGlnPyAoTW9yZ290aCwgMTUuIERleiAyMDAzLCAxMzo0MzozMik6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2Fudy0xNS4xMi4wMy0wMDEvCgpNKiBzY2h1ZXR0ZWx0IGRlbiBLb3BmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptYWNoIGRpciBkZWluZSBtb25hIGxpc2EgKEFsYm9pbiwgMTUuIERleiAyMDAzLCAyMzo1NTowMik6CgpodHRwOi8vd3d3LmNpdGVzY2llbmNlcy5mci9lbmdsaXNoL2FsYV9jaXRlL2V4cG8vZXhwbG9yYS9pbWFnZS9tb25hLmh0bWwjCgphbCoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9taWxsZS4uLiAoTWVkaWMsIDE2LiBEZXogMjAwMywgMTI6MzA6MzYpOgpodHRwOi8vdmFwYWF0aWxhLm5ldC9hbGtvL3Byb21pbGxlbHVra28vaHV0aWtrYV92MF8xMy5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWxhZmVsIEtpbmcgLSBEYXMgU3BpZWwgKFZpbmNlbnQsIDE2LiBEZXogMjAwMywgMTM6MzA6NTUpOgpodHRwOi8vd3d3LmZhbGFmZWxnYW1lLmNvbS9lbmcvZmFsYWZlbGhvbWUuaHRtbAoKKEZsYXNoISkKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZSBGYXJiZSBoYWJlbiBkZWluZSBGbHVlZ2VsPyAoQW55c2lkb3JhLCAxNy4gRGV6IDIwMDMsIDE4OjAzOjMyKToKU0NIV0FSWgpEZWluZSBGbHVlZ2VsIHNpbmQgZGllIGVpbmVzIGdlZmFsbGVuZW4gRW5nZWxzLiBTY2h3YXJ6ZSBTY2h3aW5nZW4gdm9sbGVyClRyYXVlciB1bmQgQmx1dC4KCldlbm4gaWhyIHdpc3NlbiB3b2xsdCwgd2FzIGlociBmdWVyIEZsdWVnZWwgaGFidDogCmh0dHA6Ly9ob21lLnQtb25saW5lLmRlL2hvbWUvQm9lc2VyX09ua2VsL2ZsdWVnZWxhcnQuaHRtCgpBbnkqLCBrZWluZSBBaG51bmcgaGFiZW5kLCBvYiBkYXMgaGllciBzY2hvbm1hbCBkcmluIHN0YW5kIG9kZXIgc28gKGFiZXIgaWNoCmthbm50ZSBlcyBub2NoIG5pY2h0IDspKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlbGNoZSBGYXJiZSBoYWJlbiBkZWluZSBGbHVlZ2VsPyAoQmFtYmksIDE3LiBEZXogMjAwMywgMTk6NDI6MzcpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNzE2ODA2MTIgcmc9d3d3Cn4jISB0aWQ9MTA3MTY4MDYxMgpEaWVzZSBTZWl0ZSB3b2hsIG5vY2ggbmljaHQgYWJlciBhbmRlcmUgZGllc2VyIEJhdWFydC4gVmllbGxlaWNodCBzb2xsdGUgbWFuLAplaGUgd2llZGVyIEpvZiB1bmQgZGllIFdlbHQgaGllciBwb3N0ZXQsIHdlbGNoZSBGYXJiZSBzZWluL2lociBGbHVlZ2VsIGhhdCwKZWluZSBlaWdlbmUgUnVicmlrICJ3ZXJfaGF0X2Rlbl9sYWVuZ3N0ZW4iIGVpbmZ1ZWhyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlbGNoZSBGYXJiZSBoYWJlbiBkZWluZSBGbHVlZ2VsPyAoUm9jaHVzLCAxNy4gRGV6IDIwMDMsIDIyOjE1OjE1KToKfiMhIHJuPUJhbWJpIHJ0PTEwNzE2ODY1NTcgcmc9d3d3Cn4jISB0aWQ9MTA3MTY4MDYxMgpWaWVsbGVpY2h0IHNvbGx0ZSBtYW4gZGllIFJ1YnJpayAid2VyX2hhdF9kZW5fa3Vlcnplc3RlbiIKbmVubmVuLCBkYW5uIHNjaHJlaWJlbiBuaWNodCBzbyB2aWVsZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VsY2hlIEZhcmJlIGhhYmVuIGRlaW5lIEZsdWVnZWw/IChNYWhhcmV0LCAxOC4gRGV6IDIwMDMsIDAwOjEwOjIwKToKfiMhIHJuPVJvY2h1cyBydD0xMDcxNjk1NzE1IHJnPXd3dwp+IyEgdGlkPTEwNzE2ODA2MTIKVmllbGxlaWNodCBzY2hyZWliZW4gZGFubiBkaWUgRnJhdWVuLCBkaWUgZXMgamEgaW0gTXVkIG5pY2h0IGdpYnQsIGRpZSBSdWJyaWsKdm9sbCwgdW5kIGRhcyB3YWVyIGRhbm4gbnVyIGZ1ZXIgZWluZW4gVGVpbCBkZXIgTXVkZGVyIGx1c3RpZyA7KQpBbHNvIHdpcmQgZXMgZGllc2VyIFJ1YnJpayB3b2hsIG5pY2h0IGdlYmVuLCBSb2NodXMgOikKCk1haGEsIFNwaW9uIHVuZCBHaWZ0bWlzY2hlciBhRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlbGNoZSBGYXJiZSBoYWJlbiBkZWluZSBGbHVlZ2VsPyAoRGFya2xvciwgMTguIERleiAyMDAzLCAxNjoyNDoyMSk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTA3MTY4MDYxMiByZz13d3cKfiMhIHRpZD0xMDcxNjgwNjEyClNjaHdhcnogLSBXYXMgc29uc3QgOykhCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWxjaGUgRmFyYmUgaGFiZW4gZGVpbmUgRmx1ZWdlbD8gKFJvY2h1cywgMTguIERleiAyMDAzLCAxODowODozMCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNzE3MDI2MjAgcmc9d3d3Cn4jISB0aWQ9MTA3MTY4MDYxMgpTb3NvLCBzbyBpbmRpc2tyZXQgc2luZCBGcmF1ZW4gYWxzby4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29lc3RsaWNoIC4uLiAoUGl0dHksIDE5LiBEZXogMjAwMywgMTQ6MDA6NDcpOgpoZXJ6aGFmdCBnZWxhY2h0IC4uLgoKaHR0cDovL3d3dy5tdXJwaHlzLWdlc2V0ei5kZS9nYW1lLmh0bQoKRkxBU0ghIQoKUGl0dHkgKmFsbGVuIGZyb2hlIFdlaWhuYWNodGVuIHd1ZW5zY2hlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVaS4uLiAoTWVkaWMsIDE5LiBEZXogMjAwMywgMTk6NDM6NTEpOgouLi5pY2ggaGF0dGUgamEga2VpbmUgQWhudW5nLCB3aWUgZ2VmYWVocmxpY2ggZGFzIGlzdC4KV2FzIHNhZ2VuIGRlbm4gZGllIENoZW1pa2VyIHVudGVyIHVucyB6dSBmb2xnZW5kZW0gTGluawptaXQgaG9jaGJyaXNhbnRlbiBJbmZvcm1hdGlvbmVuPwoKaHR0cDovL3d3dy5kaG1vLm9yZwoKSW1tZXIgbm9jaCBncmluc2VuZCwKTWVkaWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVaS4uLiAoTWFoYXJldCwgMTkuIERleiAyMDAzLCAxOTo0NjoxNyk6Cn4jISBybj1NZWRpYyBydD0xMDcxODU5NDMxIHJnPXd3dwp+IyEgdGlkPTEwNzE4NTk0MzEKeWVwLCB1ZWJlbCBkYXMgWmV1ZwoKTWFoYSwgU3Bpb24gdW5kIEdpZnRtaXNjaGVyIGFECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVpLi4uIChLZWxseWJ1bmR5LCAyMC4gRGV6IDIwMDMsIDEzOjM5OjE2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA3MTg1OTU3NyByZz13d3cKfiMhIHRpZD0xMDcxODU5NDMxCkphIGhvY2hicmlzYW50IGRhcyBaZXVnLiBWb3IgYWxsZW0sIHdlaWwgRmlzY2hlIGRyaW4gcG9wcGVuLgoKQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWRuZXNzIENvbWJhdCAzIChWaW5jZW50LCAyOC4gRGV6IDIwMDMsIDE4OjI3OjMwKToKRGllc2UgRmxhc2gtQW5pbWF0aW9uCi0gYnJhdWNodCBldHdhcyBaZWl0IHp1bSBIZXJ1bnRlcmxhZGVuCi0gcGFzc3QgbmljaHQgaW4gZGllIFdlaWhuYWNodHN6ZWl0Ci0gaXN0IGJydXRhbCB1bmQgZXZ0LiBzb2dhciBnZXdhbHR2ZXJoZXJybGljaGVuZAotIGVudGhhZWx0IHNlaHIgdmllbGUgT3BmZXIsIGRpZSBnZXdhbHRzYW0gdW1zIExlYmVuIGtvbW1lbgotIGVudGhhZWx0IEFuc3BpZWx1bmdlbiBhdWYgS2lyY2hlIHVuZCBSZWxpZ2lvbiwgd2FzIHVudGVyIFVtc3RhZW5kZW4KICBhbHMgZ2VzY2htYWNrbG9zIHVuZCBibGFzcGhlbWlzY2ggYW5nZXNlaGVuIHdlcmRlbiBrb2VubnRlLgoKRGFzIHNpbmQgYWxzbyBhbGxlcyBHcnVlbmRlLCBzaWNoIGRlbiBGaWxtIG1pdCBkZXIgZm9sZ2VuZGVuIFVSTCBuaWNodAphbnp1c2NoYXVlbjoKCmh0dHA6Ly91cGxvYWRzLm5ld2dyb3VuZHMuY29tLzEyMTAwMC8xMjE3NDdfTWFkbmVzc19Db21iYXQzLnN3ZgoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluZW4gZ3V0ZW4gUnV0c2NoIGlucyBKYWhyLi4uIChNb3Jnb3RoLCAzMS4gRGV6IDIwMDMsIDE4OjM5OjM4KToKaHR0cDovL3VzZXJzLnBhbmRvcmEuYmUvbWFydGVuc19zdGV2ZW4vYm9ubmUlMjBhbm4lZTllLmpwZwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWxjaGUgRmFyYmUgaGFiZW4gZGVpbmUgRmx1ZWdlbD8gKFNlbGV2ZW4sICA1LiBKYW4gMjAwNCwgMTI6MzQ6MjUpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNzE2ODA2MTIgcmc9d3d3Cn4jISB0aWQ9MTA3MTY4MDYxMgpOYSBndXQgZHUgaGFzdCBlbnR3ZWRlciBhYnNvbHV0IGtlaW5lIFBoYW50YXNpZSBvZGVyIGJpc3QgZWluZmFjaCBudXIgc2NoZWlzc2UKZGllc2UgQW50d29ydGVuIGFuZ2VrcmV1enQgenUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFiZW4gKmhtcGYqLi4uCgogICAgICBBYmVyIGVzIGtvZW5udGUgYXVjaCBzZWluIGRhcyBkdSBkYXMgaGllciBlaW5mYWNoIG51ciBhdXN0ZXN0ZW4Kd29sbHRlc3QgOykgZGFubiBzZWkgZXMgZGlyIHZlcnppZWhlbiA6KQoKUzExLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWxjaGUgRmFyYmUgaGFiZW4gZGVpbmUgRmx1ZWdlbD8gKEh1bW5pLCAgNS4gSmFuIDIwMDQsIDEyOjQyOjE0KToKfiMhIHJuPVNlbGV2ZW4gcnQ9MTA3MzMwMjQ2NSByZz13d3cKfiMhIHRpZD0xMDcxNjgwNjEyClJPVApEZWluZSBGbHVlZ2VsIHNpbmQgZ2VzY2h1cHB0ZSBGbHVlZ2VsIGVpbmVzIERyYWNoZW4uIFJpZXNpZ2Ugc3RvbHplIFNjaHdpbmdlbgp2b2xsZXIgS3JhZnQuCgpIYSwgaWNoIHd1c3N0ZSBlcy4gT2JzY2hvbiBkaWVzZXIgVGVzdCBuaWNodCBudXIgaW4gUHVua3RvIFJlY2h0c2NocmVpYnVuZwpldHdhcyBzZWx0c2FtIGlzdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VsY2hlIEZhcmJlIGhhYmVuIGRlaW5lIEZsdWVnZWw/IChNdWFkaWIsICA1LiBKYW4gMjAwNCwgMTQ6NDA6MjApOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNzE2ODA2MTIgcmc9d3d3Cn4jISB0aWQ9MTA3MTY4MDYxMgpzY2h3YXJ6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYXR0ZW4uLi4gKEZvb2JhciwgIDguIEphbiAyMDA0LCAwMDo1NTozMyk6CiBEaWUgUmF0dGUgYWxzIEJlaXNwaWVsIGZ1ZXIgbWFlbm5saWNoZSBTZXh1YWxpdGFldCAKCiBGb3JzY2hlbmRlcjoKICAgIFByb2YuIEppbSBQZmF1cywgQ2VudHJlIGZvciBTdHVkaWVzIGluIEJlaGF2aW91cmFsIE5ldXJvYmlvbG9neQoKIFN0dWRpZToKICAgIERlciBrYW5hZGlzY2hlIEZvcnNjaGVyIFByb2YuIEppbSBQZmF1cywgZGVyIHNlaXQgSmFocmVuIGhhdXB0c2FlY2hsaWNoCiAgICBkaWUgUGFhcnVuZ3NnZXdvaG5oZWl0ZW4gdm9uIFJhdHRlbiBzdHVkaWVydCwgZmFuZCBoZXJhdXMsIGRhc3MuLi4KCiBFcmdlYm5pczoKICAgIC4uLmRpZSBSYXR0ZSBlaW4gcGVyZmVrdGVzIEJlaXNwaWVsIGZ1ZXIgbWFlbm5saWNoZSBTZXh1YWxpdGFldCBhYmdpYnQ6CiAgICBNYWVubmxpY2hlIFRpZXJlIHNpbmQgc3RhZW5kaWcgYXVmIGRlciBTdWNoZSBuYWNoIG5ldWVuCiAgICBrb3B1bGF0aW9uc3dpbGxpZ2VuIFdlaWJjaGVuIHVuZCB1bnRlciBBbGtvaG9sIGdlc2V0enQgdmVyc3VjaGVuCiAgICBtYWVubmxpY2hlIFJhdHRlbiB1bmVudHdlZ3QsIGdlcmFkZSBkaWUgV2VpYmNoZW4genUgYmVnYXR0ZW4sIHZvbiBkZW5lbgogICAgc2llIHp1dm9yIHp1cnVlY2tnZXdpZXNlbiB3dXJkZW4uIAoKIFZlcm9lZmZlbnRsaWNodCBpbjoKICAgIE1vbnRyZWFsIEdhemV0dGUKICAgIAogTWVociBkYXZvbjogaHR0cDovL3d3dy51bm1vcmFsaXNjaGUuZGUvc3R1ZGllbi5odG0gICAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCKkIgKEZvb2JhciwgIDguIEphbiAyMDA0LCAxNzozNzoxOCk6ClVudGVyCgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTI3Nzg0MzQzOTYKCmthbm4gbWFuIGFuIGVpbmVyIENoYXJpdHktQXVrdGlvbiB6dWd1bnN0ZW4gZWluZXMgRnVzc2JhbGx2ZXJlaW5zIGluIGRlciBOYWVoZQp2b24gTHVlZGVuc2NoZWlkIHRlaWxuZWhtZW4uIDtvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcXVlc3RpbmZvcyAoR3VhcmQsICA5LiBKYW4gMjAwNCwgMTg6NTk6MTkpOgpoaSwKCmljaCBzdHJpY2tlIHp1ciB6ZWl0IG5ldWUgc2VpdGVuIGZ1ZXIgZGFzIG1nLCB2b3IgYWxsZW4gZ2VodCBlcyBkYWJlaSB1bQppbmhhbHRsaWNoZSBrb3JyZWt0dXJlbiB1bmQgZXJnYWVuenVuZ2VuLiBkYXp1IHdlcmQgaWNoIG1laHJlcmUgd3VlbnNjaGUgYW4KZXVjaCBoZXJhbnRyYWdlbiwgdW0gbWlyIGRhcyBzYW1tZWxuIHZvbiBpbmZvcyB6dSBlcmxlaWNodGVybi4KYWxzIGVyc3RlcyBlaW5lIGJpdHRlIGFuIGRpZSBxdWVzdHNjaHJlaWJlcjoKaW4gZGVyIHJ1YnJpayBrdWx0dXIgaW0gd2ViIGdpYmJldCBqYSBuZSBhYnRlaWx1bmcsIHdvIHF1ZWxsZW4gZnVlciBpZGVlbiB1bmQKa29uemVwdGUgZnVlciBkaWUgcXVlc3RzIHVuZCBnZWJpZXRlIGhlcmtvbW1lbi4gZGEgZXMgaW56d2lzY2hlbiB2aWVsZSBuZXVlCnF1ZXN0ZSBnaWJ0LCBtYWlsdCBtaXIgZG9jaCBiaXR0ZSwgd2VubiBpaHIgZXVyZSBpZGVlbiBhdXMgYW5kZXJlbiBtZWRpZW4KZW50bm9tbWVuIGhhYnQgdW5kIG5hdHVlcmxpY2ggd29oZXIgLi0pCgp3ZWl0ZXJlIGJpdHRlbiB3ZXJkZW4gZm9sZ2VuCgpiaXMgZGVubmUKCkd1YXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZWlnZW4gaW0gUmFkaW8gKEJhbWJ1bGtvLCAxMy4gSmFuIDIwMDQsIDIyOjE5OjUyKToKRGFzIGhpZXIgc29sbHRlIG1hbiBtYWwgYXVmIGRpZSBNUEEgdWViZXJ0cmFnZW46CgpodHRwOi8vd3d3LmFyZC5kZS9rdWx0dXIvbXVzaWsvbXVzaWtuZXdzLnBodG1sP3A9MTI0NAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZWxtc2NoZS4uLiAoQXJlbGVpYXMsIDE1LiBKYW4gMjAwNCwgMjI6NTk6MDIpOgpaaWVtbGljaCBrcmFua2UgRmlsbWNoZW4gKGZsYXNoLVplaWNoZW50cmljayk6Cgp3d3cuaGFwcHl0cmVlZnJpZW5kcy5jb20KCkljaCBob2ZmZSwgZGVuIGtlbm5lbiBub2NoIG5pY2h0IHNvIHZpZWxlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlbG1zY2hlLi4uIChNdXBmZWwsIDE1LiBKYW4gMjAwNCwgMjM6MTY6NTUpOgp+IyEgcm49QXJlbGVpYXMgcnQ9MTA3NDIwMzk0MiByZz13d3cKfiMhIHRpZD0xMDc0MjAzOTQyClNlbGJlIFJpY2h0dW5nOiBodHRwOi8vd3d3LmNvdWNoa2FydG9mZmVsc2FsYXQuZGUvCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW50aXR1eCAoRGVlcGJsdWUsIDE3LiBKYW4gMjAwNCwgMDE6NTU6MzQpOgpodHRwOi8vd3d3LjFtb3JlZ2FtZS5jb20vcHJldmlld3MveXAveXAwMTAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFudGl0dXggKE5vbm5lLCAxNy4gSmFuIDIwMDQsIDIzOjI5OjA0KToKfiMhIHJuPURlZXBibHVlIHJ0PTEwNzQzMDA5MzQgcmc9d3d3Cn4jISB0aWQ9MTA3NDMwMDkzNAozMTUuOCAoYzoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW50aXR1eCAoQ3JvZnQsIDE3LiBKYW4gMjAwNCwgMjM6MzI6NDcpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3NDM3ODU0NCByZz13d3cKfiMhIHRpZD0xMDc0MzAwOTM0CjMyMSA6PgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbW10IEV1Y2ggZGFzIExvZ28gYmVrYW5udCB2b3I/IChEZWwsIDE5LiBKYW4gMjAwNCwgMTA6NDk6NDMpOgpodHRwOi8vdWxwYzA4LmdzaS5kZS9+bGFiaS8KCkRlciBhdWZtZXJrc2FtZSBNdWRkZXIgYWNodGUgYXVmIGRhcyBMb2dvIGJ6dy4gZGllIFZpc2l0ZW5rYXJ0ZSB1bmQgcmljaHRlCnNlaW5lbiBBdWdlbm1lcmsgYmVzb25kZXJzIGF1ZiBkaWUgR3JhZmlrLi4uCipncmlucyoKR3J1ZXNzbGlzIERlbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtvbW10IEV1Y2ggZGFzIExvZ28gYmVrYW5udCB2b3I/IChCb2luZywgMTkuIEphbiAyMDA0LCAxMDo1NjowNyk6Cn4jISBybj1EZWwgcnQ9MTA3NDUwNTc4MyByZz13d3cKfiMhIHRpZD0xMDc0NTA1NzgzCkRhcyBMb2dvIHN0YW1tdCBhdXMgZWluZXIgQ2xpcC1BcnQgU2FtbWx1bmcgdm9uIENvcmVsRHJhdyBvZGVyIHNvIHdhcwphZWhubGljaGVtIC4uLiBpc3QgYWxzbyBuaWNodCBhdWYgdW5zZXJlbSBNaXN0IGdld2FjaHNlbi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGdWVsbXNjaGUuLi4gKEFub3JpcywgMTkuIEphbiAyMDA0LCAxNDoyMjoyMik6Cn4jISBybj1NdXBmZWwgcnQ9MTA3NDIwNTAxNSByZz13d3cKfiMhIHRpZD0xMDc0MjAzOTQyCkFyY2hpdiB2aWVsZXIgRXBpc29kZW4gZGVyIEhhcHB5IFRyZWUgRnJpZW5kcyAuLiA7KQoKaHR0cDovL29hc2kudXBjLmVzL35raXVzYXAvZmxhc2gvaGFwcHlfdHJlZV9mcmllbmRzLwoKLSBBbm9yaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRzY2hpcm1wZmxlZ2UgOikgKE1vcmdvdGgsIDE5LiBKYW4gMjAwNCwgMTQ6NTk6NDMpOgpodHRwOi8vbWlycm9yZWQuZmxhYmJlci5ubC9ib29iLmN1cnNvci9jaWFnbmlqY3lja2Euc3dmCgpNKiBwdXR6dCB3aWUgd2lsZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJpbGRzY2hpcm1wZmxlZ2UgOikgKENhdHdlYXpsZSwgMTkuIEphbiAyMDA0LCAxNToxMDo0OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwNzQ1MjA3ODMgcmc9d3d3Cn4jISB0aWQ9MTA3NDUyMDc4MwpSYWFhYWFoIQoKS2FubnN0IGR1IG1pY2ggZGEgbmljaHQgbWFsIHZvcndhcm5lbj8gSWNoIGhhYiBLb2xsZWdlbiwgZGllIG1pciBhdWYgZGVuCkJpbGRzY2hpcm0gc2VoZW4ga29lbm5lbiA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCaWxkc2NoaXJtcGZsZWdlIDopIChDcm9mdCwgMTkuIEphbiAyMDA0LCAxNToxMzozMyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA3NDUyMTQ0OSByZz13d3cKfiMhIHRpZD0xMDc0NTIwNzgzCldhcyBlcndhcnRlc3QgZHUgdm9uIE0qPyA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCaWxkc2NoaXJtcGZsZWdlIDopIChNdWFkaWIsIDE5LiBKYW4gMjAwNCwgMTU6MzI6NTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTA3NDUyMTYxMyByZz13d3cKfiMhIHRpZD0xMDc0NTIwNzgzCmFsc28gbWVpbiBrb2xsZWdlIG1laW50ZSBudXI6IGhlciBtaXQgZGVtIGxpbmshIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHJhY2hlbmJhYnkgKEd1YXJkLCAxOS4gSmFuIDIwMDQsIDIwOjU4OjU2KToKaGkgZm9sa3MsCgppY2ggc3VjaGUgZGVuIEt1ZW5zdGxlciwgZGVyIGRhcyBNRy10c2hpcnQtTW90aXYgbWl0IGRlbSBEcmFjaGVuYmFieSBnZW1hY2h0CmhhdCwgaXN0IGF1ZiBkZW0gbWctc2VydmVyIGxlaWRlciBuaWNodCBtZWhyIHZlcmZ1ZWdiYXIgdW5kIGljaCB3b2xsdGUgZGEKendlY2tzIHdlaXRlcnZlcndlbmR1bmcgbiBwYWFyIGZyYWdlbiBsb3N3ZXJkZW4gLi4uCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2xlaWNoYmVoYW5kbHVuZyAoTWFhcmcsIDE5LiBKYW4gMjAwNCwgMjM6NDU6MzcpOgpodHRwOi8vd3d3LmhlaXNlLmRlL3RwL2RldXRzY2gvaW5oYWx0L2dsb3NzZS8xNjUzNS8xLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljaCBiaW4gZWluIFN0YXIsIGhvbHQgbWljaCBoaWVyIHJhdXMhIChGb29iYXIsIDIwLiBKYW4gMjAwNCwgMTA6MzU6MjApOgpodHRwOi8vYmlsZGVyMjMucGFyc2ltb255Lm5ldC9mb3J1bTUwNDk4L3Jvc3NpLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2xhbiBrYWJlbCAoTXVhZGliLCAyMC4gSmFuIDIwMDQsIDE2OjM4OjA5KToKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0maXRlbT0zMDY5OTc2MDAxJmNhdGVnb3J5PTI2ODAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKEZvb2JhciwgMjIuIEphbiAyMDA0LCAwMToxMjoxNik6Cmh0dHA6Ly93d3cuc3RlcHN0b25lLmRlL29mZmVycy9vZmZlci5jZm0/aWQ9Njc5ODYmYWRtaW49MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKE5vbm5lLCAyMi4gSmFuIDIwMDQsIDA5OjA1OjI4KToKfiMhIHJuPUZvb2JhciBydD0xMDc0NzMwMzM2IHJnPXd3dwp+IyEgdGlkPTEwNzQ3MzAzMzYKTWluZGVzdGVucyBIb2Noc2NodWxhYnNvbHZlbnRlbj8gRGFtaXQgZGllIE1laHJoZWl0IGluIERldXRzY2hsYW5kIGdhciBuaWNodAp2ZXJzdGVodCwgd292b24gZGEgZ2VzcHJvY2hlbiB3aXJkPyE/CgpOb25uZSwgSG9jaHNjaHVsYWJzb2x2ZW50LiAKClAuUzogT2IgaWNoIGRhIG1hbCBhbnJ1ZmU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKFpvb2ssIDIyLiBKYW4gMjAwNCwgMTM6MzM6MTIpOgp+IyEgcm49Tm9ubmUgcnQ9MTA3NDc1ODcyOCByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CkludGVyZXNzYW50LCB3YXMgYnJpbmd0IGVpZ2VudGxpY2ggZWluIEhvY2hzY2h1bGFic29sdmVudCAibWl0IGFrYWRlbWlzY2hlbgpHcmFkIiB6dXNhZXR6bGljaCBmdWVyIGRpZSBTZW5kdW5nIG1pdD8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChBbnRoZWEsIDIyLiBKYW4gMjAwNCwgMTM6MzQ6MDApOgp+IyEgcm49Wm9vayBydD0xMDc0Nzc0NzkyIHJnPXd3dwp+IyEgdGlkPTEwNzQ3MzAzMzYKSG9laGVyZSAiR2VoYWx0cyItYW5zcHJ1ZWNoZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKFpvb2ssIDIyLiBKYW4gMjAwNCwgMTM6MzU6MDgpOgp+IyEgcm49QW50aGVhIHJ0PTEwNzQ3NzQ4NDAgcmc9d3d3Cn4jISB0aWQ9MTA3NDczMDMzNgpXYXJ1bT8gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGllIG5hZWNoc3RlICJCaWcgQnJvdGhlciItU3RhZmZlbC4uLiAoQW50aGVhLCAyMi4gSmFuIDIwMDQsIDEzOjM2OjUwKToKfiMhIHJuPVpvb2sgcnQ9MTA3NDc3NDkwOCByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CldlaWwgZXIgaGFsdCBwcm9tb3ZpZXJ0IGhhdC4gQmVpIHZpZWxlbiBGaXJtZW4gcmVpY2h0IGRhcyBhbHMgR3J1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChab29rLCAyMi4gSmFuIDIwMDQsIDEzOjM3OjIwKToKfiMhIHJuPUFudGhlYSBydD0xMDc0Nzc1MDEwIHJnPXd3dwp+IyEgdGlkPTEwNzQ3MzAzMzYKQWthZGVtaXNjaGVyIEdyYWQgIT0gUHJvbW92aWVydC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChab29rLCAyMi4gSmFuIDIwMDQsIDEzOjM3OjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA3NDc3NTA0MCByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CkJ6dy4gbmljaHQgamVkZXIgYWthZGVtaXNjaGVyIEdyYWQgaXN0IGVpbmUgUHJvbW90aW9uIDspIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKEFudGhlYSwgMjIuIEphbiAyMDA0LCAxMzozODoyNik6Cn4jISBybj1ab29rIHJ0PTEwNzQ3NzUwNjIgcmc9d3d3Cn4jISB0aWQ9MTA3NDczMDMzNgpPSywgaGFzdCBqYSByZWNodC4gQWJlciB2aWVsbGVpY2h0IGdpYnQgZXMgamEgbmljaHRzdHVkaWVydGUgbWl0IEFrYWRlbWlzY2hlbQpHcmFkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGllIG5hZWNoc3RlICJCaWcgQnJvdGhlciItU3RhZmZlbC4uLiAoWm9vaywgMjIuIEphbiAyMDA0LCAxMzozOToxMCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA3NDc3NTEwNiByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2ClVuZCBub2NoIHZpZWwgc2NobGltbWVyOiBFcyBnaWJ0IGF1Y2ggZXJmb2xncmVpY2hlIEhvY2hzY2h1bGFic29sdmVudGVuIG9obmUKYWthZGVtaXNjaGVuIEdyYWQuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKEFudGhlYSwgMjIuIEphbiAyMDA0LCAxMzozOTo1Nik6Cn4jISBybj1ab29rIHJ0PTEwNzQ3NzUxNTAgcmc9d3d3Cn4jISB0aWQ9MTA3NDczMDMzNgpMZWhyZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRGllIG5hZWNoc3RlICJCaWcgQnJvdGhlciItU3RhZmZlbC4uLiAoQWxrb2hvbCwgMjIuIEphbiAyMDA0LCAxMzo0MDoxOCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA3NDc3NTE5NiByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CmZyYWcgbWFsIGh1bW5pLCBkZXIgaXN0IGJhbGQgTGVocmVyIG1pdCBha2FkZW1pc2NoZW0gR3JhZAoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVVNBLVByYWVzaWdlbnRlbndhaGw6IEZsb3JpZGEgSUk/IChUYXJhbmlzLCAyMy4gSmFuIDIwMDQsIDAwOjEzOjQzKToKR2VyYWRlIGdlbGVzZW46IGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9wb2xpdGlrLzAsMTUxOCwyODI5OTIsMDAuaHRtbApLb2VubnRlIHRhdHNhZWNobGljaCBzZWluLCBkYXNzIGRhcyBuYWVjaHN0ZSBVUy1XYWhsZGVzYXN0ZXIgc2Nob24gaW0gQW5mbHVnCmlzdCwgd2VubiBkaWUgZGFzIGluIGRlciBGb3JtIGR1cmNoemllaGVuLgpEZXIga29tcGxldHRlIFJlcG9ydCBpc3QgdWVicmlnZW5zIHVudGVyCmh0dHA6Ly93d3cuc2VydmVzZWN1cml0eXJlcG9ydC5vcmcvcGFwZXIucGRmIGFicnVmYmFyLCBoYWJlIGRhIHp3YXIgbnVyIGRpZQplcnN0ZW4gOCBTZWl0ZW4gdWViZXJmbG9nZW4sIGFiZXIgZXMga29lbm50ZSB0YXRzYWVjaGxpY2ggd2FzIGRyYW4gc2Vpbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWx1bWluaXVtIEZvaWwgRGVmbGVjdG9yIEJlYW5pZSAoVmluY2VudCwgMjMuIEphbiAyMDA0LCAxMjoxNjo1NSk6CkFsbGUgSW5mb3JtYXRpb25lbiB6dSAiQUZEQiIsIGRpZSBtYW4gd2lzc2VuIG11c3MuIDspCgpodHRwOi8vemFwYXRvcGkubmV0L2FmZGIuaHRtbAoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKEh1bW5pLCAyMy4gSmFuIDIwMDQsIDEzOjM1OjU3KToKfiMhIHJuPUFsa29ob2wgcnQ9MTA3NDc3NTIxOCByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CldpZXNvIGJhbGQ/IElzdCBkb2NoIHNjaG9uIHNvLi4uCgp1bmQgaWNoIGhhYiA0IEtvbGxlZ2VuIChtaW5kZXN0ZW5zKSBkaWUgYWxsZSBzb2dhciBwcm9tb3ZpZXJ0IHNpbmQgOy0pCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKFpvb2ssIDIzLiBKYW4gMjAwNCwgMTM6NDQ6MTUpOgp+IyEgcm49SHVtbmkgcnQ9MTA3NDg2MTM1NyByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2ClVuZD8gQmV3ZXJidCBJaHIgZXVjaCBhbGxlPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChBbGtvaG9sLCAyMy4gSmFuIDIwMDQsIDEzOjQ5OjQxKToKfiMhIHJuPUh1bW5pIHJ0PTEwNzQ4NjEzNTcgcmc9d3d3Cn4jISB0aWQ9MTA3NDczMDMzNgpiaXN0IGR1IHNjaG9uIGVjaHRlciBsZWhyZXI/CgpBbGsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChBbGtvaG9sLCAyMy4gSmFuIDIwMDQsIDEzOjUwOjMzKToKfiMhIHJuPVpvb2sgcnQ9MTA3NDg2MTg1NSByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CmZ1ZXIga2VpbiBHZWxkIGRlciBXZWx0IHd1ZXJkIGljaCBkYXMgbWFjaGVuLCBtYWwgYWJnZXNlaGVuIGRhdm9uIGRhc3MgbWljaCBkYQplaCBrZWluZXIgc2VoZW4gd29sbHRlCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRGllIG5hZWNoc3RlICJCaWcgQnJvdGhlciItU3RhZmZlbC4uLiAoQW55c2lkb3JhLCAyMy4gSmFuIDIwMDQsIDEzOjUxOjAzKToKfiMhIHJuPUFsa29ob2wgcnQ9MTA3NDg2MjIzMyByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CldpZSBrb21tc3QgZHUgZGFyYXVmLCBkYXNzIGRpY2ggZGEga2VpbmVuIHNlaGVuIHdvbGxlbiB3dWVyZGU/IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogRGllIG5hZWNoc3RlICJCaWcgQnJvdGhlciItU3RhZmZlbC4uLiAoQWxrb2hvbCwgMjMuIEphbiAyMDA0LCAxMzo1MTo1Mik6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTA3NDg2MjI2MyByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CnVudGVyIGFuZGVyZW0gd2lsbCBrZWluZXIgaG9lcmVuIHdhcyBpY2ggc28gc2Nod2FldHplCgpRQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobGFnIGRlbiBQaW5ndWluISAoQW50aGVhLCAyMy4gSmFuIDIwMDQsIDE1OjIyOjMwKToKaHR0cDovL24uZXRoei5jaC9zdHVkZW50L21rb3MvcGluZ3Vpbi5zd2YKCkVpbm1hbCBLbGljayB1bmQgZGFubiBub2NoIG1hbCBLbGljay4KVW5kIHdpZSBtYW4gc2llaHQsIFNob2NrV2F2ZSBtdXNzIG5hdHVlcmxpY2ggZnVua3Rpb25pZXJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKE1pcmlsLCAyMy4gSmFuIDIwMDQsIDE2OjIwOjQxKToKfiMhIHJuPUFsa29ob2wgcnQ9MTA3NDg2MjE4MSByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2CldhcyBiaXR0ZSBpc3QgZGVubiBlaW4gdW5lY2h0ZXIgTGVocmVyPyBKZW1hbmQsIGRlciBudXIgc28gdHV0LCBhbHMgc2VpCmVyIGRhPwoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEaWUgbmFlY2hzdGUgIkJpZyBCcm90aGVyIi1TdGFmZmVsLi4uIChWYW5pb24sIDIzLiBKYW4gMjAwNCwgMTY6MjE6MTMpOgp+IyEgcm49TWlyaWwgcnQ9MTA3NDg3MTI0MSByZz13d3cKfiMhIHRpZD0xMDc0NzMwMzM2ClNvd2FzIGdpYnRzIGJlc3RpbW10IGltIGRldXRzY2hlbiBCZWFtdGVucmVjaHQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IERpZSBuYWVjaHN0ZSAiQmlnIEJyb3RoZXIiLVN0YWZmZWwuLi4gKE1pcmlsLCAyMy4gSmFuIDIwMDQsIDE2OjIxOjQ3KToKfiMhIHJuPVZhbmlvbiBydD0xMDc0ODcxMjczIHJnPXd3dwp+IyEgdGlkPTEwNzQ3MzAzMzYKV2FlcmUgbWlyIG5ldS4gQWJlciBpY2ggYmluIGRhIGtlaW4gRXhwZXJ0ZSwgYmluIG51ciBlaW5mYWNoZSBCZWFtdGUgOykKCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx1bWluaXVtIEZvaWwgRGVmbGVjdG9yIEJlYW5pZSAoV2hpdGV0aWdlciwgMjMuIEphbiAyMDA0LCAxODo1Njo0MSk6Cn4jISBybj1WaW5jZW50IHJ0PTEwNzQ4NTY2MTUgcmc9d3d3Cn4jISB0aWQ9MTA3NDg1NjYxNQpEYXp1IGVtcGZlaGxlIGljaCBnbGVpY2ggbm9jaCBkZW4gTWluZEd1YXJkIGZ1ZXIgQW1pZ2EsIExpbnV4IHVuZCBGcmVlQlNEOgpodHRwOi8vemFwYXRvcGkubmV0L21pbmRndWFyZC5odG1sCgpUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdpcmxzIGFyZSBldmlsIChEYXJrd2luZywgMjMuIEphbiAyMDA0LCAyMToyODowMik6Cmh0dHA6Ly93d3cuc3R1ZC5udG51Lm5vL35zaGFuZS9zdGFzai9waWNzL2h1bW9yL2Rpdi8yNy5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NobGFnIGRlbiBQaW5ndWluISAoQ2F0d2VhemxlLCAyNC4gSmFuIDIwMDQsIDAwOjUwOjU0KToKfiMhIHJuPUFudGhlYSBydD0xMDc0ODY3NzUwIHJnPXd3dwp+IyEgdGlkPTEwNzQ4Njc3NTAKMzE2LjUgLgoKUGFoIQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKEhvYm8sIDI2LiBKYW4gMjAwNCwgMDI6Mjk6MzgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzQ5MDE4NTQgcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MAozMjMuNAoKICAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NobGFnIGRlbiBQaW5ndWluISAoQ3JvZnQsIDI2LiBKYW4gMjAwNCwgMTE6MzY6MTkpOgp+IyEgcm49SG9ibyBydD0xMDc1MDgwNTc4IHJnPXd3dwp+IyEgdGlkPTEwNzQ4Njc3NTAKSXN0IGRhcyBlaWdlbnRsaWNoIGRhcyBnbGVpY2hlIHdpZSBpbiBBcnRpa2VsIDEyIChBbnRpdHV4KT8KSWNoIGdsYXViIGljaCBoYXR0ZSBncmFkIGVpbiBEZWphdnVlLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVudGVyIGRlciBHdWVydGVsbGluaWUgKFZpbmNlbnQsIDI2LiBKYW4gMjAwNCwgMTQ6NDM6NDkpOgpEaWVzZXIgWmVpdHVuZ3NhcnRpa2VsIGlzdCB6d2FyIHNjaG9uIGV0d2FzIGFlbHRlciwgYWJlciBpY2ggaG9mZmUgZGFzcyBkZW4Kbm9jaCBuaWNodCBzbyB2aWVsZSBrZW5uZW4uIERhcyBnYW56ZSBpc3QgendhciB1bnRlciBkZXIgR3VlcnRlbGxpbmllIHVuZApldHdhcyAiZGVmdGlnIi4gYWJlciBJaHIgbGVzdCBkZW4gTGluayBhdWYgZWlnZW5lIEdlZmFoci4gOykKCmh0dHA6Ly9ydXBwcmlkZXJzLmRlL29oZnVjay5qcGcKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphcGFuZXIgc2luZCBrcmFzcy4uLiAoVmluY2VudCwgMjYuIEphbiAyMDA0LCAxNDo0Nzo1MCk6Ck9iIGRhIHZpZWxlIGRldXRzY2hlIFRvdXJpc3RlbiBlc3NlbiBnZWhlbj8KCmh0dHA6Ly9oNHJkLmMwcjMub3JnL2ltYWdlcy9qYXBhbi5qcGcKCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKE5vbm5lLCAyNi4gSmFuIDIwMDQsIDE1OjQ1OjAzKToKfiMhIHJuPUNyb2Z0IHJ0PTEwNzUxMTMzNzkgcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MApodHRwOi8vd3d3Lm1pY3Jlc3Nvci5jaC9jb250ZW50L2FmdGVydHV4LmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmFsZW50aW5zdGFnIChOb25uZSwgMjcuIEphbiAyMDA0LCAxMjo1NTozNCk6Cmh0dHA6Ly9zY2huaXR6ZWx1bmRibG93am9idGFnLmctc3BvdHRpbmcubmV0LwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcnNjaHJlY2tlbmQuLi4gKFRhcmFuaXMsIDI3LiBKYW4gMjAwNCwgMjA6NDk6NTQpOgpIYWIgaWNoIGdlcmFkZSBnZWxlc2VuLCBkYSB3aXJkIGVpbmVtIGphIHVlYmVsLi4uCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9zcGllZ2VsLzAsMTUxOCwyODM3NDEsMDAuaHRtbAoKKEljaCB3dXNzdGUgZGFzIGJpc2hlciB6dW1pbmRlc3QgbmljaHQuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyc2NocmVja2VuZC4uLiAoR2xvaW5zb24sIDI3LiBKYW4gMjAwNCwgMjI6MTA6MjMpOgp+IyEgcm49VGFyYW5pcyBydD0xMDc1MjMyOTk0IHJnPXd3dwp+IyEgdGlkPTEwNzUyMzI5OTQKRGFzIEV1Z2VuaWsgbmljaHQgdW5iZWRpbmd0IG51ciB2b24gZGVuIE5hemlzIHByYWt0aXppZXJ0IHd1cmRlPyBBY2gsIHNlbGJzdApkaWUgS29uemVudHJhdGlvbnNsYWdlciB3dXJkZW4gbmljaHQgaW0gRHJpdHRlbiBSZWljaCBlcmZ1bmRlbiwgZGEgZ2FiIGVzCnNjaG9uIGZydWVoZXJlIFZhcmlhbnRlbiB6QiBpbiBTdWVkYWZyaWthIG1pdCBHbGFzIGltIEVzc2VuIGZ1ZXIgQnVyZW4uIEhpdGxlcgpoYXQgIm51ciIgaW4gZWluZXIgZ2FueiBuZXVlIERpbWVuc2lvbiBnZWRhY2h0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcnNjaHJlY2tlbmQuLi4gKFR1cmJvLCAyNy4gSmFuIDIwMDQsIDIyOjM1OjU5KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTA3NTIzMjk5NCByZz13d3cKfiMhIHRpZD0xMDc1MjMyOTk0CkhtbSwgbmllIFRoZSBNaXNtZWFzdXJlIG9mIE1hbiB2b24gU3RlcGhlbiBKYXkgR291bGQgZ2VsZXNlbj8gKEdpYnN0CmF1Y2ggYXVmIERldXRzY2gpLiBEYSBzdGFuZCBkYXMgYXVjaCBkcmluLiBEZXIgU3BpZWdlbCBpc3QgbWFsIHdpZWRlcgpndXQgYW5kZXJ0aGFsYiBKYWhyemVobnRlIHp1cnVlY2sgLSBvZGVyIGRhbWFscyB2ZXJib3QgZGllIGF0bGFudGlzY2hlCkdlbmVyYWxsaW5pZSBqZW5lciBaZWl0IGRhcnVlYmVyIHp1IHNjaHJlaWJlbi4KClR1cmJvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMdXN0aWdlcyBTcGllbCAoSW1kYSwgMjcuIEphbiAyMDA0LCAyMzowMTozOSk6Cmh0dHA6Ly9kZWFkcG9vbC5yb3R0ZW4uY29tLwpBYmVyIHNjaG5lbGwsIGFtIDEuIEZlYnJ1YXIgZ2VodHMgbG9zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FhYWFoIDopKSBJcyBkYXMgZ2VpbCA6KSAoTW9yZ290aCwgMjguIEphbiAyMDA0LCAwMDoyNzoxNCk6Cmh0dHA6Ly93d3cub3JlaWxseXMuY29tL0hUTUwvQ2xlYW4lMjBzaXRlL28lMjdyZWlsbHklMjdzJTIwYWRkLm1wZwoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cmlvc2l0YWV0ZW4gKFZpbmNlbnQsIDI4LiBKYW4gMjAwNCwgMTI6MTQ6MzQpOgpodHRwOi8vd3d3Lm1vZ2VscG93ZXIuZGUvZm9ydW0vdGhyZWFkLnBocD82ODYzMwoKR3J1c3MKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NobGFnIGRlbiBQaW5ndWluISAoQW50aGVhLCAyOC4gSmFuIDIwMDQsIDE0OjE5OjA0KToKfiMhIHJuPUhvYm8gcnQ9MTA3NTA4MDU3OCByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCkhtLi4uIHVuZCB3ZXIgdW50ZXJiaWV0ZXQgbWVpbmUgNjguND8gQWxzbyBuaWNodCBtaXQgMCwgc2Nob24gZGVuIFBpbmd1aW4KdHJlZmZlbi4gSXN0IGF1Y2ggZ2FyIG5pY2h0IHNvIGxlaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdXJpb3NpdGFldGVuIChCcmFuLCAyOC4gSmFuIDIwMDQsIDE0OjQxOjQyKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3NTI4ODQ3NCByZz13d3cKfiMhIHRpZD0xMDc1Mjg4NDc0CgpGYXN0IGFtIGJlc3RlbiBmYW5kIGljaCB1bnRlbiBiZWkgZGVuIEtvbW1lbnRhcmVuOiAiZGFzIHN0aW1tdCBhYmVyIHdpcmtsaWNoCmFsbGVzISBpY2ggd2Vpc3MgbmljaHQgd28gZGFzIGhlciBpc3QsIGhhYiBpY2ggcGVyIGdvb2dsZSBnZWZ1bmRlbi4uLiAiCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVyc2NocmVja2VuZC4uLiAoS2VsbHlidW5keSwgMjguIEphbiAyMDA0LCAxNjozOTozOSk6Cn4jISBybj1UYXJhbmlzIHJ0PTEwNzUyMzI5OTQgcmc9d3d3Cn4jISB0aWQ9MTA3NTIzMjk5NApVcmtzLiBKZXR6dCB3ZWlzcyBpY2gsIHdhcnVtIFBoaWxpcCBLLiBEaWNrIHN0YWVuZGlnIFByb2JsZW1lIG1pdCBVbmNsZSBTYW0KaGF0dGUuIGljaCBoaWVsdCBkYXMgYmlzaGVyIGZ1ZXIgZWluZSBzZWluZXIgRXJmaW5kdW5nZW4gYXVzIGRlbSBCdWNoICJFaW5lCmFuZGVyZSBXZWx0Ii4uLgpLZWxseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFcnNjaHJlY2tlbmQuLi4gKEtlbGx5YnVuZHksIDI4LiBKYW4gMjAwNCwgMTY6NDE6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3NTIzNzgyMyByZz13d3cKfiMhIHRpZD0xMDc1MjMyOTk0CkF1Y2ggZGFzIGdhbnplIEFyaWVyZ2VzdWVsemUgaXN0IGF1ZiBkZW0gTWlzdCB2b24gQnJpdGVuIGdld2FjaHNlbiAuLi4gTmUgc28KaW5ub3ZhdGl2IHdhciBBZG9sZiBuaWNodC4KS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdXJpb3NpdGFldGVuIChOb2tpLCAyOC4gSmFuIDIwMDQsIDE3OjIyOjE4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3NTI4ODQ3NCByZz13d3cKfiMhIHRpZD0xMDc1Mjg4NDc0Ci4uLiBtZWhyIGRhdm9uPyBIaWVyOgoKaHR0cDovL2h1YmVydC5zY2hvZWxuYXN0LmF0L2RhdGVuYmFuay5zaHRtbAoKbioqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbGl0ZXVuaXMgKE1lZGljLCAyOC4gSmFuIDIwMDQsIDE4OjM4OjAwKToKSWNoIHd1c3N0ZSBlcyBzY2hvbiBpbW1lcjogQm9jaHVtIGlzdCBFbGl0ZXVuaSB1bmQgZGVyIE5EUiBiZXdlaXN0IGVzOgoKaHR0cDovL3d3dy5ydWhyLXVuaS1ib2NodW0uZGUvYWt0dWVsbC8yMDA0LXZpZGVvX05EUi9VbmktTkRSLUZpbmFsLm1wZwoKKEFjaHR1bmcsIHNpbmQgcnVuZCAzMCBNQikuCgpNZWRpYywgRWxpdGV1bml2ZXJzaXRhZXRzc3R1ZGVudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIGV0d2FzIGFuZGVyZSBTY2hvZW5oZWl0c2lkZWFsLi4uIChGb29iYXIsIDI4LiBKYW4gMjAwNCwgMTk6MDY6MDUpOgpodHRwOi8vbmV3cy5iYmMuY28udWsvMi9oaS9hZnJpY2EvMzQyOTkwMy5zdG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjaGphLi4uIChBcmVsZWlhcywgMjkuIEphbiAyMDA0LCAyMzo0NzowNCk6CktvZW5udGUgbWFuIDYwLVRvbm5lbi1XYWxlIGFscyBFcmdhZW56dW5nIHp1IEJvaW5ncyBIb2VsbGVuZmV1ZXIKaW50ZWdyaWVyZW4/IERpZXNlIFZhcmlhbnRlIGR1ZXJmdGUgZG9jaCB2b3IgYWxsZW0gZGVuIENoYW90ZW4gZ2VmYWxsZW4gOykKCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjg0MTM4LDAwLmh0bWwKCkhhZXR0ZSBuYXR1ZXJsaWNoIGFscyBOZWJlbmJlZGluZ3VuZyAoa2F1bSBkZXIgUmVkZSB3ZXJ0KSwgZGFzcyBtYW4gYW5zdGVsbGUKZGVyIDI1IGtnIGRhbm4gNjAuMDAwIGtnIHRyYWdlbiBrb2VubmVuIG11ZXNzdGUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKEFyaywgMzAuIEphbiAyMDA0LCAxMTozMTo1OCk6Cn4jISBybj1BbnRoZWEgcnQ9MTA3NTI5NTk0NCByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCjU2LjQsIHdlbm4gZGVyIFBpbmd1aW4gYXVmIGRlbSBTY2huZWUgbnVyIHNjaGxpZGRlcnQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2NobGFnIGRlbiBQaW5ndWluISAoQm9pbmcsIDMwLiBKYW4gMjAwNCwgMTE6MzQ6MzkpOgp+IyEgcm49QXJrIHJ0PTEwNzU0NTg3MTggcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MApXb3csIHVuZCBpY2ggZGFjaHRlIDYzLjggd2FlcmUgZ3V0IC4uLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBTY2hsYWcgZGVuIFBpbmd1aW4hIChBcmssIDMwLiBKYW4gMjAwNCwgMTE6NDQ6NDcpOgp+IyEgcm49Qm9pbmcgcnQ9MTA3NTQ1ODg3OSByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCkJpbiBoYWx0IGJhc2ViYWxsbWFlc3NpZyBlaW4gREFVLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKE11YWRpYiwgMzAuIEphbiAyMDA0LCAxMjo0Mzo1Myk6Cn4jISBybj1BcmsgcnQ9MTA3NTQ1OTQ4NyByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCjMyMi45ID8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXJ3YXJzIChPZ28sIDMwLiBKYW4gMjAwNCwgMTg6NDg6MDgpOgpodHRwOi8vd3d3LnJvYWRzcXVhZHJvbi5jb20vQ2Fycy9Id2luZy8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBzaWVodCBEZWluIEFyYmVpdHNwbGF0eiBhdXM/IChGb29iYXIsIDMwLiBKYW4gMjAwNCwgMjM6MzY6NTYpOgpVbnRlcgoKaHR0cDovL2Jhc2gub3JnL21lc3MvCgpnaWJ0J3MgZWluIHBhYXIgUGhvdG9zIHZvbiBuaWNodCBnYW56IHNvIGF1ZmdlcmFldW10ZW4gQXJiZWl0c3BsYWV0emVuLiA7bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWUgc2llaHQgRGVpbiBBcmJlaXRzcGxhdHogYXVzPyAoTW9yZ290aCwgMzEuIEphbiAyMDA0LCAxNToyNjoxNik6Cn4jISBybj1Gb29iYXIgcnQ9MTA3NTUwMjIxNiByZz13d3cKfiMhIHRpZD0xMDc1NTAyMjE2CldpZXNvLCBkaWUgc2VoZW4gZG9jaCBhdWZnZXJhZXVtdCBhdXMuLi4qZ3J1ZWJlbCoKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhcndhcnMgKEdsb2luc29uLCAzMS4gSmFuIDIwMDQsIDE1OjMwOjQ1KToKfiMhIHJuPU9nbyBydD0xMDc1NDg0ODg4IHJnPXd3dwp+IyEgdGlkPTEwNzU0ODQ4ODgKV2VubiBpY2ggZWluIEF1dG8gaGFldHRlIC4uLiBkYW5uIHNvIGVpbmVzIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSBzaWVodCBEZWluIEFyYmVpdHNwbGF0eiBhdXM/IChLZWxseWJ1bmR5LCAzMS4gSmFuIDIwMDQsIDE4OjQ3OjE3KToKfiMhIHJuPUZvb2JhciBydD0xMDc1NTAyMjE2IHJnPXd3dwp+IyEgdGlkPTEwNzU1MDIyMTYKQWxzbyB3ZW5uIGRhcyB1bmF1ZmdlcmFldW10IGlzdCwgZGFubiBzdGVsbCBpY2ggbGllYmVyIGtlaW4gYmlsZCB2b24gbWVpbmVtCmlucyBOZXQuLi4KQmxvbmRjaGVuLCBvdXRlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjYxODg3OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChHbG9pbnNvbiwgIDEuIEZlYiAyMDA0LCAyMTozODoyMCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNzU2NjcyMzUgcmc9bWVnYXNjaG1hcnJuCn4jISB0aWQ9OTgyMzI4Mjc4Cmh0dHA6Ly9ndXRlbmJlcmcuc3BpZWdlbC5kZS9pbmZvL2Nkcm9tLmh0bQoKRGFzIGlzdCBlaW5lIGxlZ2FsIGVyd2VyYmxpY2hlIHVuZCBnYW56IG5ldHRlIEJ1Y2gtQ0QuIFdlbm4gbWFuLCB3aWUgaWNoLApkYXJhbiBnZXdvZWhudCBpc3QgbGFuZ2UgVGV4dGUgYXVmIExDRC1CaWxkc2NoaXJtZW4genUgbGVzZW4gaXN0IGRhcyBhdWNoIGVpbmUKc2VociBnZXdpY2h0c3NwYXJlbmRlIE1ldGhvZGUgQnVlY2hlciBpbiBkZW4gVXJsYXViIHp1IG5laG1lbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2hsYWcgZGVuIFBpbmd1aW4hIChDYXR3ZWF6bGUsICAyLiBGZWIgMjAwNCwgMDk6MDU6MjQpOgp+IyEgcm49SG9ibyBydD0xMDc1MDgwNTc4IHJnPXd3dwp+IyEgdGlkPTEwNzQ4Njc3NTAKNTU4LjEgCgpIYWghIAoKWVRDIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NobGFnIGRlbiBQaW5ndWluISAoQm9pbmcsICAyLiBGZWIgMjAwNCwgMTA6MTE6MDEpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzU3MDkxMjQgcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MApKYWphIC4uLiBkYXMgaXN0IGRpZSBhbmRlcmUgVmFyaWFudGUgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLdXJpb3NpdGFldGVuIChTZWxldmVuLCAgMi4gRmViIDIwMDQsIDExOjMxOjIwKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3NTI4ODQ3NCByZz13d3cKfiMhIHRpZD0xMDc1Mjg4NDc0Ck5ldHQgLSBpY2ggZGFjaHRlIGJpc2hlciBpbW1lciwgZGVyIEtpZWZlciBzZWkgZGVyIHN0YWVya3N0ZSBNdXNrZWwgLSBzbyBrYW5uCm1hbiBzaWNoIGlycmVuLiBOYSBqYSB3ZW5pZ3N0ZW5zIGdlaG9lcmUgaWNoIHp1ciAyNSUgLSBNaW5kZXJoZWl0IGFuLCBkaWUKbmljaHQgdmVyc3VjaHQgaGFiZW4gaWhyZW4gRWxsZW5ib2dlbiB6dSBsZWNrZW4gOikKClMxMSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpbGZlISAoQmFtYnVsa28sICAyLiBGZWIgMjAwNCwgMTI6MDg6NDQpOgoKRGVyIGFybWUgSnVuZ2U6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvbmV0emt1bHR1ci8wLDE1MTgsMjg0NTg5LDAwLmh0bWwKCkJhbWJ1bGtvIDcuMgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2NobGFnIGRlbiBQaW5ndWluISAoWmVwaHlyLCAgMi4gRmViIDIwMDQsIDIzOjUzOjI2KToKfiMhIHJuPUJvaW5nIHJ0PTEwNzU3MTMwNjEgcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MApXbyBzdGVodCBkZW5uIGRlciBSZWtvcmQgYmVpbSBNaXQtZGVtLVNjaG5hYmVsLWltLVNjaG5lZS1zdGVja2VuLWJsZWliZW4/CkM0IC0gMjA3LjYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBzaWUgc2Nob24gaW1tZXIgd2lzc2VuIHdvbGx0ZW4gKE5vbm5lLCAgMy4gRmViIDIwMDQsIDA5OjU1OjE5KToKSWNoIHdlaXNzIG5pY2h0IG1laHIsIHdvIGljaCBkaWUgU2VpdGUgaGVyIGhhYmUsIGljaCBob2ZmZSBuaWNodCBoaWVyLiBBYmVyCndlciBzaW5ubG9zZSBGYWt0ZW4gaW4gc2VpbmVtIEhpcm4gYW5oYWV1ZmVuIHdpbGwsIHVtIGRhbWl0IGRhcyBhbmRlcmUKR2VzY2hsZWNodCB6dSBiZWVpbmRydWNrZW4sIGJpdHRlc2Nob2VuOgoKaHR0cDovL2h1YmVydC5zY2hvZWxuYXN0LmF0L2RhdGVuYmFuay5zaHRtbAoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHNpZSBzY2hvbiBpbW1lciB3aXNzZW4gd29sbHRlbiAoQ2F0d2VhemxlLCAgMy4gRmViIDIwMDQsIDEwOjAxOjIxKToKfiMhIHJuPU5vbm5lIHJ0PTEwNzU3OTg1MTkgcmc9d3d3Cn4jISB0aWQ9MTA3NTc5ODUxOQoiRGVyIE9yZ2FzbXVzIGVpbmVzIFNjaHdlaW5zIGRhdWVydCAzMCBNaW51dGVuLiAiCgpBaCBqYS4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVzaWtlISAoRm9vYmFyLCAgMy4gRmViIDIwMDQsIDEwOjQzOjAzKToKaHR0cDovL3d3dy51bmYtdW5mLmRlL3Nob3cucGhwP2RpZD01MjEKCkFjaHR1bmcsIGlzdCBpcmdlbmRzb2VpbiBGaWxta3JhbXMgb2RlciBzby4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2NobGFnIGRlbiBQaW5ndWluISAoRmlyZWhhd2ssICA0LiBGZWIgMjAwNCwgMTk6NDg6NDApOgp+IyEgcm49WmVwaHlyIHJ0PTEwNzU3NjI0MDYgcmc9d3d3Cn4jISB0aWQ9MTA3NDg2Nzc1MApBbHNvIGljaCBoYWJzIG5pY2h0IHVlYmVyIDMwMy4yIGdlc2NoYWZmdAoKRioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKEphbWVzb24sICA1LiBGZWIgMjAwNCwgMDI6MzY6MTQpOgp+IyEgcm49RmlyZWhhd2sgcnQ9MTA3NTkyMDUyMCByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCjMyMy5pcmdlbmR3YXMuLi4gdW50ZXIgNjcga29tbSBpY2ggYWJlciBuaWNodAppY2ggaGFsdGUgZXMgZnVlciB1bm1vZWdsaWNoLCBnZW5hdSB6dSB0cmVmZmVuLCBkYSBpc3QgdmllbCBHbHVlY2sgZGFiZWkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNjaGxhZyBkZW4gUGluZ3VpbiEgKE1vbnRhbnVzLCAgNS4gRmViIDIwMDQsIDA4OjU2OjA4KToKfiMhIHJuPUphbWVzb24gcnQ9MTA3NTk0NDk3NCByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwClBsdXMtUmVrb3JkIGlzdCA1OTMuNSAtIE1pbnVzLVJla29yZCBpc3QgMTkwLjg6IGljaCBoYXUgYW5zY2hlaW5lbmQgaW1tZXIgenUKZmVzdCBkcmF1Zi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmhhdCBkYXMgamVtYW5kIHNjaG9uIG1hbCBnZXNwaWVsdD8gKERlZXBibHVlLCAgNS4gRmViIDIwMDQsIDE5OjM0OjAwKToKaHR0cDovL2NvbXJhZC5saW51eHN5cy5kZS8/Y29udGVudD0vc3BpZWxlL29wZW5zb3VyY2UvZnJlZWRyb2lkcnBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTY2hsYWcgZGVuIFBpbmd1aW4hIChaZXBoeXIsICA1LiBGZWIgMjAwNCwgMjA6NTQ6MjcpOgp+IyEgcm49TW9udGFudXMgcnQ9MTA3NTk2Nzc2OCByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwClBsdXNyZWtvcmQgaXN0IDMyMy4zLCB1bmQgTWludXMgYmVpIDY1LjUgLSBpY2ggaGFiIHdvaGwgZGllIGdsZWljaGUKVmVyc2lvbiB3aWUgSmFtZXNvbiA6KQpDNCAtIG1pdCBHZWZ1ZWhsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGVsbGEgTGllYmVjayB1bmQgQ28gKEFwc3UsICA2LiBGZWIgMjAwNCwgMTg6NDc6MzUpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvd2lydHNjaGFmdC8wLDE1MTgsMjg0ODQxLDAwLmh0bWwKCkJsb25kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BpZWxjaGVuIChNZWRpYywgIDguIEZlYiAyMDA0LCAwMDozMjozMCk6CkdhbnogbmV0dGVzIFR1ZWZ0ZWxzcGllbCwgaWNoIGhvZmZlLCBlcyBrZW5udCBub2NoIG5pY2h0CmplZGVyIGhpZXI6CgpodHRwOi8vd3d3LnEtbHltcGljcy5kZS9pcS1tYXJhdGhvbi8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNtb2tpbmcga2lsbHMhIChNZWRpYywgIDkuIEZlYiAyMDA0LCAxNjo0NDoxOSk6ClRqYSwgUmF1Y2hlbiBpc3QgaGFsdCBkb2NoIHNjaGFlZGxpY2gsIGFiZXIgU08/IQoKaHR0cDovL3N0YXJ0ZXJ1cHN0ZXZlLnNlcnZlcGljcy5jb20vc3dmL3Ntb2tla2lsbHMuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWlsY2g/IChNb3Jnb3RoLCAxMS4gRmViIDIwMDQsIDA4OjE3OjQxKToKaHR0cDovL3d3dy51bmYtdW5mLmRlL3Nob3cucGhwP2RpZD0yNTkKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWlsY2g/IChQaG9ib3MsIDExLiBGZWIgMjAwNCwgMDk6MjE6NTQpOgp+IyEgcm49TW9yZ290aCBydD0xMDc2NDgzODYxIHJnPXd3dwp+IyEgdGlkPTEwNzY0ODM4NjEKKklST05JRSBPRkYqCkRpZXNlIFNlaXRlIGlzdCBhYnNvbHV0IGVrZWxoYWZ0LiBXZXIgc2llIE5JQ0hUIGFuc2NoYXV0LApoYXQgbWl0IFNpY2hlcmhlaXQgZGllIGJlc3NlcmUgV2FobCBnZXRyb2ZmZW4uCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWlsY2g/IChOb25uZSwgMTEuIEZlYiAyMDA0LCAwOTozNToxMik6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NjQ4NzcxNCByZz13d3cKfiMhIHRpZD0xMDc2NDgzODYxCjEzLzE2IChjOgoKTm9ubmUsIGR1ZXJmdGUgZWlnZW50bGljaCBrZWluZSBBaG51bmcgaGFiZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pbGNoPyAoWmFybml5YSwgMTEuIEZlYiAyMDA0LCAxMDozMzowMSk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NjQ4NzcxNCByZz13d3cKfiMhIHRpZD0xMDc2NDgzODYxCmljaCBmaW5kIEt1aG1pbGNoIGltIEdlc2ljaHQgYXVjaCBla2VsaGFmdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWlsY2g/IChMdWcsIDExLiBGZWIgMjAwNCwgMTU6MzU6MzEpOgp+IyEgcm49WmFybml5YSBydD0xMDc2NDkxOTgxIHJnPXd3dwp+IyEgdGlkPTEwNzY0ODM4NjEKQWxsZSBNaWxjaCBpc3QgZWtlbGlnIQoKTHVnaWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1pbGNoPyAoS2VsbHlidW5keSwgMTEuIEZlYiAyMDA0LCAxODozMTozNCk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NjQ4NzcxNCByZz13d3cKfiMhIHRpZD0xMDc2NDgzODYxCkF1Y2ggbmUgYXJ0LCBlcnN0IHJlY2h0IG5ldWdpZXJpZyB6dSBtYWNoZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTY2hsYWcgZGVuIFBpbmd1aW4hIChTY29ycGlvbiwgMTIuIEZlYiAyMDA0LCAxNjozNTozNik6Cn4jISBybj1aZXBoeXIgcnQ9MTA3NjAxMDg2NyByZz13d3cKfiMhIHRpZD0xMDc0ODY3NzUwCnBsdXNyZWtvcmQgMzMyLDQgbWludXMgYmVpIDY2LjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBTY2hsYWcgZGVuIFBpbmd1aW4hIChTY29ycGlvbiwgMTIuIEZlYiAyMDA0LCAxNjozNjoxNik6Cn4jISBybj1TY29ycGlvbiBydD0xMDc2NjAwMTM2IHJnPXd3dwp+IyEgdGlkPTEwNzQ4Njc3NTAKbWVpbmUgbmF0dWVybGljaCAzMjMsNCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWWV0aXNwb3J0cyBUZWlsIDIgKFBlcmRpdGEsIDE0LiBGZWIgMjAwNCwgMTQ6MjY6MTEpOgp1bnRlciBodHRwOi8veWV0aS5lLW1lZGllbi5jb20veWV0aXNwb3J0czIuemlwIGthbm4gbWFuIGRhcyBuZXVlCllldGlzcG9ydHMtU3BpZWwgcnVudGVybGFkZW4uClRlc3RlIGdlcmFkZSBkaWUgb25saW5lLVZlcnNpb24sIGhhYmUgZGVuIFBpbmd1aW4gYWJlciB1ZWJlcmhhdXB0IGVyc3QgNCBtYWwKZ2V0cm9mZmVuLCB1bmQgZGllIFppZWxzY2hlaWJlIG51ciBlaW5tYWwuIERhYmVpIGthbSBlaW4gV2VydCB2b24gNDcsOCBoZXJhdXMuClZpZWxsZWljaHQgc2VpZCBJaHIgZ2VzY2hpY2t0ZXIhClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBZZXRpc3BvcnRzIFRlaWwgMiAoUGVyZGl0YSwgMTQuIEZlYiAyMDA0LCAxNDozMTozNSk6Cn4jISBybj1QZXJkaXRhIHJ0PTEwNzY3NjUxNzEgcmc9d3d3Cn4jISB0aWQ9MTA3Njc2NTE3MQpoYSwgamV0enQgaGFiIGljaCBpbW1lcmhpbiBhbGxlIFBpbmd1aW5lIGdldHJvZmZlbiwgZGF2b24gaW1tZXJoaW4gNSBvZGVyIHNvCmF1Y2ggYXVmIGRpZSBaaWVsc2NoZWliZS4uLgpIb2VjaHN0d2VydCA1Myw0LCBHZXNhbXR3ZXJ0IDIxMiwyLgpOb2NoIG5pY2h0IHNlaHIgdWViZXJ6ZXVnZW5kCgpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWWV0aXNwb3J0cyBUZWlsIDIgKEtlbGx5YnVuZHksIDE0LiBGZWIgMjAwNCwgMTY6NTE6MDkpOgp+IyEgcm49UGVyZGl0YSBydD0xMDc2NzY1MTcxIHJnPXd3dwp+IyEgdGlkPTEwNzY3NjUxNzEKSGFhYWEhIDUgVHJlZmZlciB1bmQgZWluZW4gc29nYXIgaW0gR2VsYiBpbiBjYSAzIG1pbnV0ZW4uIHdlciBiaWV0ZXQgbWVocj8KQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZW5uIG1hbiBFbGNoZSBtYWc6IChOb25uZSwgMTUuIEZlYiAyMDA0LCAwODowNDoyNyk6Cmh0dHA6Ly93d3cubWFyYy1vLXBvbG8uZGUvbWFpbi5waHA/cmFkX2lkPTIzNjEKCkZsYXNoIQoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZnVlciBkaWUgRnJhdWVuIChOb25uZSwgMTUuIEZlYiAyMDA0LCAwOToyNTo1Mik6Cldlbm4gc2ljaCBoaWVyIGVpbmUgRnJhdSBub2NoIFNvcmdlbiB1bSBkaWUgZWlnZW5lIFp1a3VuZnQgbWFjaHQsIGJpdHRlCnNjaG9lbjoKaHR0cDovL3d3dy5meXBsLmluZm8vCgpOb25uZS4KClAuUzogQmVpIFBpY3R1cmVzIG5pY2h0IHZlcmdlc3NlbiBhdWYgRXJvdGljYSB6dSBrbGlja2VuLiBBYmVyIGVyc3QgZGllIFBsYWVuZQpsZXNlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkt1cmlvc2UgQXVrdGlvbmVuIGJlaSBlQmF5Li4uIChSb25kYSwgMTUuIEZlYiAyMDA0LCAxOTowNjo1NSk6Ci4uLiBnYWJzIGphIGhpZXIgc2Nob24gZWluaWdlLiBBYmVyIGhpZXIgaXN0IGVpbmUgZ2FuemUgU2FtbWx1bmcgZGF2b246CgpodHRwOi8vd3d3LndvcnRmaWx0ZXIuZGUva3VyaW9zLmh0bWwKClJvbmRhICphdWYgQW5yZWd1bmcgZWluZXIga3J1ZW1lbGlnZW4gT2VzdGVycmVpY2hlcmluKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcGluZ3VpbiBJSSAoU2NvcnBpb24sIDE3LiBGZWIgMjAwNCwgMTI6Mjg6MzUpOgogYmVzdDogODIuNCAtIHRvdGFsIDQ5My42CgpteSB0d28gY2VudHMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1hdXQgKE11YWRpYiwgMTcuIEZlYiAyMDA0LCAxNTo0NDoxOCk6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MjQ2MTE0OTc0MiZjYXRlZ29yeT05OTU4CgpuZWluIGljaCB3ZWlnZXJlIG1pY2ggZGFmdWVyIHp1IHRpbnkudXJsIHp1IHRpcHBlbG4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtYXV0IChab29rLCAxNy4gRmViIDIwMDQsIDE1OjQ2OjU1KToKfiMhIHJuPU11YWRpYiBydD0xMDc3MDI5MDU4IHJnPXd3dwp+IyEgdGlkPTEwNzcwMjkwNTgKV29iZWkgZGllIEJydWVja2VuIGRvY2ggdG9sbCBzaW5kOyBkaWUgaGF0IG5lbiBVbnRlcm5laG1lbiBhdXMgZGVyIE5hZWhlCnZvbiBNYXJidXJnIGdlbGllZmVydC4uLiA6LSkgKFB1ZW5rdGxpY2ggdW5kIGRpZSBoYWJlbiBhdWNoIGlociBHZWxkIGJlLQprb21tZW4uLi4uKQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbWF1dCAoTWFoYXJldCwgMTcuIEZlYiAyMDA0LCAxNTo1MToxMCk6Cn4jISBybj1ab29rIHJ0PTEwNzcwMjkyMTUgcmc9d3d3Cn4jISB0aWQ9MTA3NzAyOTA1OApSZWggb2RlciBTYWNrIFplbWVudD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG1hdXQgKE11YWRpYiwgMTcuIEZlYiAyMDA0LCAxNTo1MToyNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwNzcwMjk0NzAgcmc9d3d3Cn4jISB0aWQ9MTA3NzAyOTA1OAp6ZW1lbnRpZXJ0ZXMgcmVoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBtYXV0IChab29rLCAxNy4gRmViIDIwMDQsIDE1OjUxOjQwKToKfiMhIHJuPU11YWRpYiBydD0xMDc3MDI5NDg0IHJnPXd3dwp+IyEgdGlkPTEwNzcwMjkwNTgKaWhyIGRvb2YhCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNaXR0ZWwgZ2VnZW4gU2NobGFmc3RvZXJ1bmdlbiAoVmluY2VudCwgMTcuIEZlYiAyMDA0LCAxNjozNzo1Nyk6Cmh0dHA6Ly9kZS5uZXdzLnlhaG9vLmNvbS8wNDAyMTcvMjg2LzN2eDN0Lmh0bWwKCk9obmUgamVkZW4gd2VpdGVyZW4gS29tbWVudGFyLi4uCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMQkogKFdoaXRldGlnZXIsIDE4LiBGZWIgMjAwNCwgMjM6NDQ6NDIpOgpMaWdodGJ1bGIgSm9rZXMuLi4gaG9mZmUgbWFsLCBkYXNzIGRpZSBub2NoIG5pY2h0IGdhbnogc28gYmVrYW5udCBzaW5kLgpodHRwOi8vd3d3LmJyYWlubG9jay5vcmcvZnVuL2xianMuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcm93IChQaG9ib3MsIDE5LiBGZWIgMjAwNCwgMTg6MTc6MDcpOgpIaWVyIGVpbiBrbGVpbmVzIE11bHRpcGxlLUNob2ljZS1TcGllbDoKICBodHRwOi8vd3d3LmludGVycS5vci5qcC9zaWx2ZXIvZXllL2dyb3cvZ3Jvdy5zd2YKClNjaGFmZnQgamVtYW5kIG1laHIgYWxzIDIwMDAwPyBPZGVyIDIwMDAwIG1pdCBkZW0gVnVsa2FuPwoKCiAgUGhvYm9zICAtICBwcm9iaWVydCBqZXR6dCBhbGxlIDEyISBNb2VnbGljaGtlaXRlbiBkdXJjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyb3cgKEFudGhlYSwgMTkuIEZlYiAyMDA0LCAxODozNTowNyk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NzIxMTAyNyByZz13d3cKfiMhIHRpZD0xMDc3MjExMDI3CkhtLi4uIEltIGVyc3RlbiBWZXJzdWNoIGhhdHRlIGljaCBqZXR6dCAxMzMwMCwgc2NoZWluYmFyIG11c3MgbWFuIGRhIG5vY2gKZXR3YXMgaW4gZGVyIFJlaWhlbmZvbGdlIG9wdGltaWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JvdyAoTWVkaWMsIDE5LiBGZWIgMjAwNCwgMTg6Mzg6MjMpOgp+IyEgcm49UGhvYm9zIHJ0PTEwNzcyMTEwMjcgcmc9d3d3Cn4jISB0aWQ9MTA3NzIxMTAyNwpJcmdlbmR3aWUgdmVyc3RlaGUgaWNoIGRhcyBTcGllbCBuaWNodCwgbXVzcyBpY2ggenVnZWJlbi4uLi4gZWluZmFjaCBpcmdlbmR3YXMKcmVpbnppZWhlbiwgdW5kIGRhbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyb3cgKEFuYXRvbCwgMTkuIEZlYiAyMDA0LCAxOTo1Njo1NCk6Cn4jISBybj1NZWRpYyBydD0xMDc3MjEyMzAzIHJnPXd3dwp+IyEgdGlkPTEwNzcyMTEwMjcKSWNoIGdsYXViZSBuaWNodCwgZGFzcyBtZWhyIGFscyAyMGsgZHJpbiBzaW5kLiBPaG5lIFZ1bGthbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcm93IChQaG9ib3MsIDE5LiBGZWIgMjAwNCwgMTk6NTg6MzkpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNzcyMTcwMTQgcmc9d3d3Cn4jISB0aWQ9MTA3NzIxMTAyNwpKYSBvaywgbWVociBhbHMgYWxsZXMgbWF4LiBnZWh0IHdvaGwgbmljaHQgOikKVW5kIHdhcyBpc3QgbWl0IGRlbSBBbGllbiBpbSBUb3JuYWRvPwoKICBQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyb3cgKEdyaW1tYm9ybiwgMTkuIEZlYiAyMDA0LCAyMDoxMToyMCk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NzIxNzExOSByZz13d3cKfiMhIHRpZD0xMDc3MjExMDI3CkFjaCwgZGFzIHdpcmQgbmljaHRzIGFuZGVyZXMgc2VpbiBhbHMgZGllc2VyIERpbm9zYXVyaWVyIGF1Y2gsIGRlciBkYSBhdXMgZGVtCldhbGQga29tbXQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyb3cgKEFuYXRvbCwgMTkuIEZlYiAyMDA0LCAyMDoxNzowNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NzIxNzg4MCByZz13d3cKfiMhIHRpZD0xMDc3MjExMDI3Ck5ldHRlcyBGZWF0dXJlLCBhYmVyIG1pdCBuZXIgMCBiZWltIFdpbmRyYWQgdW5kIG5lciA0IGJlaW0gUm9ociBpc3QgbmljaHQKZ3V0IHB1bmt0ZW4sIHNjaGFldHplIGljaC4uLiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdyb3cgKFRhcmFuaXMsIDE5LiBGZWIgMjAwNCwgMjE6MzU6MTIpOgp+IyEgcm49QW5hdG9sIHJ0PTEwNzcyMTgyMjcgcmc9d3d3Cn4jISB0aWQ9MTA3NzIxMTAyNwpNaG1tLCBoYWJlIGpldHp0IDEzNDAwIGdlc2NoYWZmdCB1bmQgZGFiZWkgYWxsZXMgYmlzIGF1ZiBkYXMgUm9ociB1bmQgZGVuClZ1bGthbiBhdWYgbWF4LiBFaHJsaWNoIGdlc2FndCwgaXN0IG1pciB0b3RhbCB1bmtsYXIsIHdpZSBtYW4gZGEgYXVmIGRpZQplcndhZWhudGVuIDYwMDAwIGtvbW1lbiBzb2xsLi4uIE5hamEsIGVnYWwsIGljaCBoYWIgZXJzdG1hbCBnZW51Zy4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcm93IChBbmF0b2wsIDE5LiBGZWIgMjAwNCwgMjM6MzE6NTcpOgp+IyEgcm49VGFyYW5pcyBydD0xMDc3MjIyOTEyIHJnPXd3dwp+IyEgdGlkPTEwNzcyMTEwMjcKMjBrLCBuaWNodCA2MGsuIFVuZCBlcyBnaWJ0IDZrIEJvbnVzIHdlbm4gRHUgYWxsZXMgZ2VtYXh0IGhhc3QgLSBkYXMgaXN0CmhhbHQgZGFubiBkZXIgVW50ZXJzY2hpZWQuLi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdW5kZXNyZWdpZXJ1bmcgKE1hcnRpbmksIDIwLiBGZWIgMjAwNCwgMTA6MjY6MzQpOgpPaG5lIEtvbW1lbnRhcjoKCmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzI3MDIyNjU5MAoKTWFydGluaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR3JvdyAoQW50aGVhLCAyMC4gRmViIDIwMDQsIDExOjAzOjUxKToKfiMhIHJuPUFuYXRvbCBydD0xMDc3MjI5OTE3IHJnPXd3dwp+IyEgdGlkPTEwNzcyMTEwMjcKSGEsIG51biBiaW4gaWNoIGF1Y2ggYXVmIDIway4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpbGwgYXVjaCBtYWwgKENhdHdlYXpsZSwgMjAuIEZlYiAyMDA0LCAxMTo1Nzo0OCk6CkJpc3NjaGVuIExhZXJtIGdlZmFlbGxpZz8KCmh0dHA6Ly9zdnQuc2UvaG9nYWZmbGFoYWdlL2hvZ2FmZmxhSGFnZV9zaXRlL0tvci9oZXN0ZWtvci5odG1sCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyb3cgKFNjb3JwaW9uLCAyMC4gRmViIDIwMDQsIDE4OjUwOjM0KToKfiMhIHJuPVBob2JvcyBydD0xMDc3MjE3MTE5IHJnPXd3dwp+IyEgdGlkPTEwNzcyMTEwMjcKaG1tCmFsbGVzIGJpcyBhdWYgZGFzIHJvaHIgdW5kIGRlbiB2dWxrYW4gYXVmIG1heC4gaXJnZW5kd2llIHdvbGxlbiBkaWVzZSBiZWlkZW4KbmljaHQgd2FjaHNlbiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBhc2lhdGVuIChHYW5kbywgMjAuIEZlYiAyMDA0LCAxOTo1MjozNCk6Cmh0dHA6Ly9mdW4uZHJuby5kZS9mbGFzaC9waW5ncG9uZy5zd2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgYXNpYXRlbiAoUm9uZGEsIDIwLiBGZWIgMjAwNCwgMjA6NDg6MTYpOgp+IyEgcm49R2FuZG8gcnQ9MTA3NzMwMzE1NCByZz13d3cKfiMhIHRpZD0xMDc3MzAzMTU0Ci4uLiBkYSBhbiBkZXIgU3RlbGxlIGxpZWdlbiBub2NoIG5lbiBwYWFyIGFuZGVyZSBuZXR0ZSBGbGFzaC4uLiBlaW5mYWNoIG1hbApkYXMgZ2FuemUgVmVyemVpY2huaXMgYW5zY2hhdWVuLi4uCgpEYSBlcyBiZWkgdW5zIGltIEdyb3NzcmF1bWJ1ZXJvIGdyYWQgYXVjaCBoYWV1ZmlnZXIgdmVyZmxpeHQgbGF1dCBpc3QsIHdlaWwKaXJnZW5kd2VsY2hlIExldXRlIHRpZXJpc2NoIGxhdXQgdGVsZWZvbmllcmVuIG11ZXNzZW4sIGdlZmFlbGx0IG1pciBkZXIKYmVzb25kZXJzIGd1dDoKCmh0dHA6Ly9mdW4uZHJuby5kZS9mbGFzaC9zdGZ1LnN3ZgoKKEtpZHMsIGRvbid0IGRvIHRoaXMgaW4geW91ciBvZmZpY2UhKQoKUm9uZGEgKmxhZXJtZ2VzY2hhZWRpZ3QqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQWx1bWluaXVtIEZvaWwgRGVmbGVjdG9yIEJlYW5pZSAoVHJhbmNlLCAyMi4gRmViIDIwMDQsIDEyOjAxOjEzKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3NDg1NjYxNSByZz13d3cKfiMhIHRpZD0xMDc0ODU2NjE1Cmx1c3RpZyA6KQoKS2xlaW5lIEZyYWdlIGFuIGRpZSBhbmdsaXppc3Rpc2NoIEJld2FuZGVydGVuOiBXYXMgbWVpbmVuIEFtZXJpa2FuZXIsIHdlbm4gc2llCnNpY2ggZWluZW4gInRpbiBmb2lsIGhhdCIgYXVmc2V0emVuIHdvbGxlbj8gU293YXMgd2llICJkYSBzdGVsbGUgbWVyIHVucyBlbWFsCmphbnogZG9tbSI/CgpUcmFuY2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWx1bWluaXVtIEZvaWwgRGVmbGVjdG9yIEJlYW5pZSAoSmVuYW5kcmEsIDIyLiBGZWIgMjAwNCwgMTI6MDU6NDEpOgp+IyEgcm49VHJhbmNlIHJ0PTEwNzc0NDc2NzMgcmc9d3d3Cn4jISB0aWQ9MTA3NDg1NjYxNQpuZWluLCBlaGVyIHNvd2FzIHdpZSAnZGFtaXQgc2NodWV0emVuIHdpciB1bnMgZ2VnZW4gRXJkc3RyYWhsZW4sClJhZGlvYWt0aXZpdGFldCwgQXVzc2VyaXJkaXNjaGUgdW5kIHdhcyB1bnMgc29uc3Qgbm9jaCB1ZWJlciBkZW4KV2VnIGxhZXVmdCcuCi0gSmVuYW5kcmEgLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob24gd2llZGVyIG5lIEFPTCBXZXJiZSBDRCBpbSBCcmllZmthc3Rlbj8gKEdydW1wZiwgMjIuIEZlYiAyMDA0LCAxMjo1OTowMik6CkRhbm4gYWIgZGFtaXQ6Cmh0dHA6Ly93d3cubm9tb3JlYW9sY2RzLm9yZy8KR3J1bXBmIGdydW1wZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXBvc3Ryb3BoZXVtIChXaGl0ZXRpZ2VyLCAyMi4gRmViIDIwMDQsIDE4OjExOjE1KToKaHR0cDovL3d3dy5hcG9zdHJvcGguZGUvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcm93IChBbnRoZWEsIDIzLiBGZWIgMjAwNCwgMTE6Mjc6NDIpOgp+IyEgcm49U2NvcnBpb24gcnQ9MTA3NzI5OTQzNCByZz13d3cKfiMhIHRpZD0xMDc3MjExMDI3ClRqYSwgZGFzIFJvaHIgYnJhdWNodCBkZW4gQmVyZy4gVW5kIGRlciBCZXJnIGJyYXVjaHQgZGFzIFJvaHIgdW5kIGRpZXNlbiBCYWxsLgpVbmQgYWxsZXMgbXVzcyB6dW0gcmljaHRpZ2VuIFplaXRwdW5rdCBhbmZhbmdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcm93IChBbnRoZWEsIDIzLiBGZWIgMjAwNCwgMTU6Mzc6MTApOgp+IyEgcm49UGhvYm9zIHJ0PTEwNzcyMTEwMjcgcmc9d3d3Cn4jISB0aWQ9MTA3NzIxMTAyNwpGdWVyIGRpZSwgZGllIGtlaW4gTWVnYXNjaG1hcnJuIGxlc2VuLCBhYmVyIHRyb3R6ZGVtIG5vY2ggZ3JvdyBzcGllbGVuIHdvbGxlbjoKCmh0dHA6Ly9wYWdlLmZyZWV0dC5jb20vZ3JvdzMvCmh0dHA6Ly9ncm93LjU1c3RyZWV0Lm5ldC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwaW5ndWluIElJIChXaGl0ZXRpZ2VyLCAyMy4gRmViIDIwMDQsIDE4OjUwOjQ5KToKfiMhIHJuPVNjb3JwaW9uIHJ0PTEwNzcwMTczMTUgcmc9d3d3Cn4jISB0aWQ9MTA3NzAxNzMxNQo1MzEuNC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcGluZ3VpbiBJSSAoWmVwaHlyLCAyMy4gRmViIDIwMDQsIDIyOjEzOjAwKToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA3NzU1ODY0OSByZz13d3cKfiMhIHRpZD0xMDc3MDE3MzE1CjYzNy4xIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBkZW4gQm9yZGVyIENvbGxpZSBpbiBFdWNoIChHcnVtcGYsIDIzLiBGZWIgMjAwNCwgMjI6Mjg6NTkpOgpodHRwOi8vd3d3LmRhdmlkLWxld2lzLmNvbS9zaGVlcGdhbWUvCkdydW1wZiBncnVtcGZ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBwaW5ndWluIElJIChHdWFyZCwgMjMuIEZlYiAyMDA0LCAyMzoxMDo0Nik6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwNzc1NTg2NDkgcmc9d3d3Cn4jISB0aWQ9MTA3NzAxNzMxNQphbHNvIG5lbiBob2hlbiB3ZXJ0IGhhYiBqYSBuaWNoLCBhYmVyIG1laW4gbWluaW11bSBmaW5kIGljaCBndXQ6CjgwLDYgbWl0IGRlbiAxMCBwaW5ndWluZW4gOy0pCgpHdWFyZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcGluZ3VpbiBJSSAoR3JpbW1ib3JuLCAyMy4gRmViIDIwMDQsIDIzOjEzOjQ4KToKfiMhIHJuPUd1YXJkIHJ0PTEwNzc1NzQyNDYgcmc9d3d3Cn4jISB0aWQ9MTA3NzAxNzMxNQo2NzIuNCAtIGhhYiBpY2ggamV0enQgd2FzIGdld29ubmVuPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBwaW5ndWluIElJIChHdWFyZCwgMjMuIEZlYiAyMDA0LCAyMzoxNzowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NzU3NDQyOCByZz13d3cKfiMhIHRpZD0xMDc3MDE3MzE1CmFjaCBqYSwgenUgWWV0aXNwb3J0cyBwYXJ0MToKTWF4aW11bSB2b24gMzIzLDUgaGFiIGljaCBhdWNoCk1heGltdW0gbWl0IHN0ZWNrZW5ibGVpYmVuLCAyMDcsNgpNaW5pbXVtIG1pdCBzdGVja2VuYmxlaWJlbiwgMTg4LDgKCkd1YXJkLCByZWtvcmRnaWVyaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlbmd1aW4tYmFzaGluZyAoR3JpbW1ib3JuLCAyNC4gRmViIDIwMDQsIDEzOjE1OjMwKToKIGh0dHA6Ly93d3cuZWxlay5ieWRnLnBsL2ZsYXNoL3Bpbmd3aW4xLwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGVuZ3Vpbi1iYXNoaW5nIChCb2luZywgMjQuIEZlYiAyMDA0LCAxMzoxOToyMik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NzYyNDkzMCByZz13d3cKfiMhIHRpZD0xMDc3NjI0OTMwCjcwNS44PyBJc3QgZGFzIGd1dD8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZW5ndWluLWJhc2hpbmcgKEdyaW1tYm9ybiwgMjQuIEZlYiAyMDA0LCAxMzoyMzoxNyk6Cn4jISBybj1Cb2luZyBydD0xMDc3NjI1MTYyIHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKTmljaHQgZ2FueiBzbyBnaXQgd2llIG1laW5lIDkwMC4yIHZvbiBlYmVuLiBBYmVyIGx1c3RpZ2VyIHNpbmQgZWlnZW50bGljaCBkaWUKV2VpdGVuIHVudGVyIDMwLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQZW5ndWluLWJhc2hpbmcgKE1vb25zaGluZSwgMjQuIEZlYiAyMDA0LCAxMzoyNjoxNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA3NzYyNTM5NyByZz13d3cKfiMhIHRpZD0xMDc3NjI0OTMwCk9oLCA4ODksMywgbHVzdGlnZXMgU3BpZWxjaGVuLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBlbmd1aW4tYmFzaGluZyAoQW50aGVhLCAyNC4gRmViIDIwMDQsIDEzOjMxOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDc3NjI1Mzk3IHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKSmF1LCBhdWNoIHdlbm4gbWFuIHJlY2h0IHdlbmlnIGRhdm9uIHNpZWh0LiBBYmVyIGdyYWQga2FtIGljaCBiaXMgMTA0MS43IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZW5ndWluLWJhc2hpbmcgKEJvaW5nLCAyNC4gRmViIDIwMDQsIDE0OjAxOjIyKToKfiMhIHJuPUFudGhlYSBydD0xMDc3NjI1OTEwIHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKMTA1My4xIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFBlbmd1aW4tYmFzaGluZyAoRGFya2xvciwgMjQuIEZlYiAyMDA0LCAxNDo0MTo0Myk6Cn4jISBybj1Cb2luZyBydD0xMDc3NjI3NjgyIHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKU293YXMgd2llIC01NiwzPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGVuZ3Vpbi1iYXNoaW5nIChNYXJ0aW5pLCAyNC4gRmViIDIwMDQsIDE1OjMzOjUzKToKfiMhIHJuPUJvaW5nIHJ0PTEwNzc2Mjc2ODIgcmc9d3d3Cn4jISB0aWQ9MTA3NzYyNDkzMApNZWluIE5lZmZlIGhhdCAxMjE0LjUgZ2VzY2hhZmZ0LiA6KQoKTWFydGluaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGVuZ3Vpbi1iYXNoaW5nIChHbG9pbnNvbiwgMjQuIEZlYiAyMDA0LCAxNjoxMToyOCk6Cn4jISBybj1NYXJ0aW5pIHJ0PTEwNzc2MzMyMzMgcmc9d3d3Cn4jISB0aWQ9MTA3NzYyNDkzMApEZWluIE5lZmZlIGtvZW5udGUgYXVjaCBnbGF0dCBCb2luZ3MgU29obiBzZWluLiBEZXIgaGF0IGtlaW5lbiBBbHRlcnNtYWx1cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQZW5ndWluLWJhc2hpbmcgKEphbWVzb24sIDI0LiBGZWIgMjAwNCwgMTY6MTE6NTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3NzYzNTQ4OCByZz13d3cKfiMhIHRpZD0xMDc3NjI0OTMwCmltbWVyaGluIDExODQsOCBncmFkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQZW5ndWluLWJhc2hpbmcgKERhcmtsb3IsIDI0LiBGZWIgMjAwNCwgMTY6MjM6MTQpOgp+IyEgcm49SmFtZXNvbiBydD0xMDc3NjM1NTE0IHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKaGF0dGUgbmFjaCBuZXIgMjcsNiBhdWNoIHNjaG9uIDExMDAsNyA7KQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIC4uLiAoR2xvaW5zb24sIDI1LiBGZWIgMjAwNCwgMTU6NDE6MjApOgouLi4gRnJ1ZWhtb3JnZW5zcmFkaW9zZW5kdW5nZW4gbWl0ICJTcGFzcyItQW5ydWZlbiBtYWcsIHdpcmQgZGFzIGhpZXIgc2ljaGVyCmF1Y2ggenUgc2NoYWV0emVuIHdpc3NlbjoKaHR0cDovL2ZpbGVzLnBzeWNjby5kZS90ZWxlZm9uX2Z1bGxfbWV0YWxfamFja2V0LnN3ZgoKSWNoIHBvc3RlIGRhcyBudXIsIHdlaWwgaWNoIGVzIG1pciBlaW4gcGFhciBTZWt1bmRlbiBhdXMgVmVyc2VoZW4gYW5nZWhvZXJ0CmhhYmUgdW5kIG5pY2h0IGFsbGVpbiBsZWlkZW4gd2lsbC4gUXVlbGxlOiBTaWxiZXJsYW5kLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBEZWxwaGluZSBzbyBhbGxlcyBtYWNoZW4uLi4gKEFudGhlYSwgMjUuIEZlYiAyMDA0LCAxNzo1NTowOCk6Cmh0dHA6Ly93d3czLjJmbGFzaGdhbWVzLmNvbS9uMzJoOHM4dTlhMTJuMy9mbGFzaC9mLTUzNy5zd2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgRGVscGhpbmUgc28gYWxsZXMgbWFjaGVuLi4uIChNb3Jnb3RoLCAyNS4gRmViIDIwMDQsIDE4OjA1OjE5KToKfiMhIHJuPUFudGhlYSBydD0xMDc3NzI4MTA4IHJnPXd3dwp+IyEgdGlkPTEwNzc3MjgxMDgKCjEuIEJyb3dzZXJjcmFzaAoyLiA1OWsKMy4gNDRrCjQuIEtlaW4gYm9jayBtZWhyIDopCgoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIERlbHBoaW5lIHNvIGFsbGVzIG1hY2hlbi4uLiAoQW50aGVhLCAyNS4gRmViIDIwMDQsIDE4OjA2OjQ1KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA3NzcyODcxOSByZz13d3cKfiMhIHRpZD0xMDc3NzI4MTA4CkphamEsIHNvbmRlcmxpY2ggc3Bhbm5lbmQgaXN0IGVzIG5pY2h0LCB0cm90eiBkZXIgUGlsbGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcmltc29uIFJvb20gKFBob2JvcywgMjUuIEZlYiAyMDA0LCAxODoxODoyNCk6CkhpZXIgZWluIGtsZWluZXMgR3JhZmlrLUFkdmVudHVyZToKCmh0dHA6Ly93d3cuZGF0YWNyYWZ0LmNvLmpwL3Rha2FnaXNtL2luZGV4X2UuaHRtbAoKCiAgUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQ3JpbXNvbiBSb29tIChCb2luZywgMjYuIEZlYiAyMDA0LCAwMDowMDo0MCk6Cn4jISBybj1QaG9ib3MgcnQ9MTA3NzcyOTUwNCByZz13d3cKfiMhIHRpZD0xMDc3NzI5NTA0CldlaXNzIGplbWFuZCB3YXMgbWFuIG1hY2hlbiBtdXNzIHNvYmFsZCBtYW4gZGVuIEZpbG0gbWl0IGRlbSB0YW56ZW5kZW4KVHlwIGdlc2VoZW4gaGF0PwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IENyaW1zb24gUm9vbSAoTWF0aXMsIDI2LiBGZWIgMjAwNCwgMDE6MTk6NTUpOgp+IyEgcm49Qm9pbmcgcnQ9MTA3Nzc1MDA0MCByZz13d3cKfiMhIHRpZD0xMDc3NzI5NTA0CkRlciB0YW56ZW5kZSBUeXAgZGV1dGV0IGF1ZiBldHdhcyAuLi4KCk1hdGlzLCBlc2NhcGVkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBDcmltc29uIFJvb20gKEJvaW5nLCAyNi4gRmViIDIwMDQsIDExOjQ0OjM2KToKfiMhIHJuPU1hdGlzIHJ0PTEwNzc3NTQ3OTUgcmc9d3d3Cn4jISB0aWQ9MTA3NzcyOTUwNApKYSwgaWNoIGhhYiBkYSBpbW1lciBoaW5nZWtsaWNrdCBhbHMgZGVyIEZpbG0gbm9jaCBsaWVmIC4uLiBkYXMgd2FyIGRlcgpGZWhsZXIuCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9yaWdpbmFsLURhbmllbC1MaWVkIChDYXR3ZWF6bGUsIDI2LiBGZWIgMjAwNCwgMTM6NTY6NDMpOgpNb2luIQoKSGllciBoYWJ0IGlociBuZSBOdXNzIHp1IGtuYWNrZW46CgpFaW4gc2Nob2VuZXMgRmlsbWNoZW4gZ2lidHMgdW50ZXIgCmZmMGI6OjQzMjEvMTIzNAoKQW5zZWhlbiBrYW5uIG1hbnMgc2ljaCB6QiBtaXQgZGVtIGFrdHVlbGxzdGVuIFZpZGVvTEFOLWNsaWVudCAidmxjIi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ2VoZWltZSBUYWdlYnVlY2hlci4uLiAoQW5hdG9sLCAyNy4gRmViIDIwMDQsIDExOjI4OjUyKToKTnVuamEsIHNvIGdlaGVpbSBzaW5kIHNpZSBuaWNodCBtZWhyLCBhYmVyIGltbWVybm9jaCBsZXNlbnN3ZXJ0LiBXZXIgYWxzbwp3aXNzZW4gd2lsbCwgd2FzIGRhbWFscywgaW4gQnJ1Y2h0YWwsIHdpcmtsaWNoIHBhc3NpZXJ0ZS4uLiA6KQoKaHR0cDovL3d3dy50b2xraWVud2VsdC5jb20vaW50ZXJwcmV0YXRpb24vaHVtb3IvdGFnZWJ1ZWNoZXIvdGFnZWJ1ZWNoZXIuaHRtbAoKKFZlcndlaXMgYXVmIGVuZ2wuIE9yaWdpbmFsIGViZW5kYSkKCkFuYXRvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFBlbmd1aW4tYmFzaGluZyAoRmlyZWhhd2ssIDI3LiBGZWIgMjAwNCwgMTY6NDU6MDYpOgp+IyEgcm49RGFya2xvciBydD0xMDc3NjM2MTk0IHJnPXd3dwp+IyEgdGlkPTEwNzc2MjQ5MzAKMTM0NS43CgpGaXJlKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTU9UQVMgKFBob2JvcywgMjcuIEZlYiAyMDA0LCAyMDowNTo1NSk6CldlciAiQ3JpbXNvbiBSb29tIiBpbnRlcmVzc2FudCBmYW5kLCB3aXJkIGJlc3RpbW10CmF1Y2ggIlRoZSBNeXN0ZXJ5IE9mIFRpbWUgQW5kIFNwYWNlIiBtb2VnZW46CgogICB3d3cuYWxiYXJ0YXMuY29tL21vdGFzLwoKQXVzIGlyZ2VuZGVpbmVtIEdydW5kIGZ1bmt0aW9uaWVydCBkZXIgTGluayBnZXJhZGUKbmljaHQgYmVpIG1pciwgYWJlciBkYXMgZm9sZ2VuZGUga2xhcHB0IG5vY2ggKG9kZXIKbGllZ3QgZGFzIGRhcmFuLCBkYXNzIGRhcyBBcHBsZXQgbm9jaCBpcmdlbmR3byBiZWkKbWlyIGltIEJyb3dzZXItQ2FjaGUgbGllZ3QgKmdydWViZWwqKQoKLSBCZWkgR29vZ2xlIG5hY2ggIk1PVEFTIiBzdWNoZW4KLSBCZWltIGVyc3RlbiBUcmVmZmVyIChMT0dBTidzIC4uLikgdW50ZW4gYXVmCiAgIkltIENhY2hlIiBrbGlja2VuCi0gQXVmIGRhcyBncm9zc2UgZ2VsYmUgIkVOVEVSIE1PVEFTIiBrbGlja2VuCgpNb21lbnRhbiBzaW5kIDEyIExldmVsIHNwaWVsYmFyLCBGb3J0c2V0enVuZyBmb2xndApldnRsLgoKICBQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldoYWNrISAoQ2F0d2VhemxlLCAgMS4gTWFyIDIwMDQsIDEwOjIzOjE5KToKCldlbm4gaWhyIG1hbCB3aWVkZXIgdm9uIGV1cmVuIEtvbGxlZ2VuIGluIGJlbmFjaGJhcnRlbiBDdWJpY2xlcyBnZW5lcnZ0CndlcmRldCwgbmljaHQgZ2xlaWNoIGF1c3Jhc3RlbiB1bmQgenVyIFNlbGJzdGhpbGZlIGdyZWlmZW4sIHZpZWxsZWljaHQgaGlsZnQKamEgZGllc2VzIGZ1ZXIgZGVuIEFuZmFuZyB3ZWl0ZXIgLi4uCgpodHRwOi8vd3d3LnVzZWxlc3NqdW5rLmNvbS9tb2R1bGVzLnBocD9uYW1lPU5ld3MmZmlsZT1hcnRpY2xlJnNpZD01MTUmbW9kZT1mbGEKdCZvcmRlcj0wJnRob2xkPS0xCgooaHR0cDovL3Rpbnl1cmwuY29tL3lxcHdvKQoKWVRDCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9obmUgV29ydGUhIChCYW1idWxrbywgIDEuIE1hciAyMDA0LCAxNjo1MDo1MCk6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzgwMDY4MDUyMgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPaG5lIFdvcnRlISAoQXBvcGhpcywgIDEuIE1hciAyMDA0LCAxNzoyMDozNCk6Cn4jISBybj1CYW1idWxrbyBydD0xMDc4MTU2MjUwIHJnPXd3dwp+IyEgdGlkPTEwNzgxNTYyNTAKZGEgZ2lidHMgbm9jaCB2aWVsIG1laHIgc28gU3Bpbm5lciwgbXVzcyBtYW4gbnVyIG1hbApuYWNoICJrdWVibGJvZWNrIHVuZmFsbCIgc3VjaGVuLgpNYWthYnJlciBmaW5kIGljaCBhbGxlcmRpbmdzIGRpZXNlbiBBcnRpa2VsIGhpZXI6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09MzkwMDYwNjY5NwpvYndvaGwsIGJlaSBkZW0gU2hpcnQgbXVzc3RlIGljaCBzb2dhciBrdXJ6IGdyaW5zZW4gOykKCkFwb3BoaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlcmFkZSBnZXNlaGVuLi4uIChNZWRpYywgIDIuIE1hciAyMDA0LCAxMToxOToyMyk6Ci4uLmF1ZiBTcGllZ2VsIG9ubGluZSBhdWYgZGVyIFN0YXJ0c2VpdGUsIE1lbGR1bmcgenVtIEFuc2NobGFnIGluIEJhZ2RhZC4KU28gdHJhdXJpZyBkYXMgc2ljaGVyIGlzdCwgc28gYmVmcmVtZGxpY2ggbGFzIHNpY2ggZGVyIFNhdHo6ICJBbGxlaW4gaW4gQmFnZGFkCnN0YXJiZW4gbWVociBhbHMgNzUgVG90ZSIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VyYWRlIGdlc2VoZW4uLi4gKE1lZGljLCAgMi4gTWFyIDIwMDQsIDEyOjQ4OjA2KToKfiMhIHJuPU1lZGljIHJ0PTEwNzgyMjI3NjMgcmc9d3d3Cn4jISB0aWQ9MTA3ODIyMjc2Mwppbnp3aXNjaGVuIGlzdCBlcyBkZW5lbiB3b2hsIHNlbGJzdCBhdWZnZWZhbGxlbi4gbnVyIGd1dCwgZGFzcyBpY2ggbWl0IG1laW5lbQpTY3JlZW5zaG90IHNjaG5lbGxlciB3YXIgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlcmFkZSBnZXNlaGVuLi4uIChDYXR3ZWF6bGUsICAyLiBNYXIgMjAwNCwgMTI6NDk6MTApOgp+IyEgcm49TWVkaWMgcnQ9MTA3ODIyODA4NiByZz13d3cKfiMhIHRpZD0xMDc4MjIyNzYzCldvIGdlbmF1IHdhciBkZXIgRmVobGVyPwoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZXJhZGUgZ2VzZWhlbi4uLiAoQmFtYnVsa28sICAyLiBNYXIgMjAwNCwgMTI6NTg6MjIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwNzgyMjgxNTAgcmc9d3d3Cn4jISB0aWQ9MTA3ODIyMjc2MwpMaWVzIGRpciBkZW4gU2F0eiBub2NobWFsIGdhbnogbGFuZ3NhbSBkdXJjaC4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXJhZGUgZ2VzZWhlbi4uLiAoQ2F0d2VhemxlLCAgMi4gTWFyIDIwMDQsIDEzOjAwOjMyKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwNzgyMjg3MDIgcmc9d3d3Cn4jISB0aWQ9MTA3ODIyMjc2MwpXZXIgbGVzZW4ga2FubiBpc3Qga2xhciBpbSBWb3J0ZWlsIC4uLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHZXJhZGUgZ2VzZWhlbi4uLiAoQW50aGVhLCAgMi4gTWFyIDIwMDQsIDE0OjA1OjQyKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDc4MjI4ODMyIHJnPXd3dwp+IyEgdGlkPTEwNzgyMjI3NjMKV2llc28sIGRhbm4gZ2lidCBlcyBoYWx0IGVpbiBwYWFyIFpvbWJpZXMgd2VuaWdlciBpbiBCYWdkYWQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwYWNlZCBQZW5ndWluIChNdXBmZWwsICA1LiBNYXIgMjAwNCwgMTU6Mzg6MjApOgpodHRwOi8vd3d3LmJpZ2lkZWFmdW4uY29tL3Blbmd1aW5zL2FyY2FkZS9zcGFjZWRfcGVuZ3Vpbi9kZWZhdWx0Lmh0bQoKRGFzIFNwaWVsIG1pdCBkZW0gUGluZ3VpbiwgZGVtIFJhdW1zY2hpZmYgdW5kIGRlciBTY2h3ZXJrcmFmdCA7KQoKQWNoamE6IDk3MjU1LiBZZWFoISA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBzeWNob3RoZXJhcGllIGZ1ZXIgbWlzc2hhbmRlbHRlIEt1c2NoZWx0aWVyZSAoTWVkaWMsICA1LiBNYXIgMjAwNCwgMTU6NTQ6NDApOgpodHRwOi8vd3d3LnBhcmFwbHVlc2NoLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwYWNlZCBQZW5ndWluIChBa2FzaGEsICA1LiBNYXIgMjAwNCwgMTU6NTg6MTMpOgp+IyEgcm49TXVwZmVsIHJ0PTEwNzg0OTc1MDAgcmc9d3d3Cn4jISB0aWQ9MTA3ODQ5NzUwMAoxMDc2NTQKCkFrYXNoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGFjZWQgUGVuZ3VpbiAoWnphcnp6dCwgIDUuIE1hciAyMDA0LCAxNjoxMzo0Nyk6Cn4jISBybj1Ba2FzaGEgcnQ9MTA3ODQ5ODY5MyByZz13d3cKfiMhIHRpZD0xMDc4NDk3NTAwCjI5Mjg0MC4gVW5kIGRhIGlzdCBub2NoIHZpZWwgTHVmdCBuYWNoIG9iZW4gb2ZmZW4gOikKTGFzc3QgaWhuIGtyZWlzZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGFjZWQgUGVuZ3VpbiAoQmllbGVmZWxkLCAgNS4gTWFyIDIwMDQsIDE2OjI2OjI5KToKfiMhIHJuPVp6YXJ6enQgcnQ9MTA3ODQ5OTYyNyByZz13d3cKfiMhIHRpZD0xMDc4NDk3NTAwCkltIGVyc3RlbiBWZXJzdWNoIDEyMTIxMC4uLgoKLUJpZWxlZmVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBzeWNob3RoZXJhcGllIGZ1ZXIgbWlzc2hhbmRlbHRlIEt1c2NoZWx0aWVyZSAoQW55c2lkb3JhLCAgNS4gTWFyIDIwMDQsIDE2OjI4OjExKToKfiMhIHJuPU1lZGljIHJ0PTEwNzg0OTg0ODAgcmc9d3d3Cn4jISB0aWQ9MTA3ODQ5ODQ4MApobW0uLi4gZGFzIHN0YW5kIHNjaG9ubWFsIHZvciBuZW0gaGFsYmVuIEphaHIgb2RlciBzbyBpbiBkZXIgTVBBLCBhYmVyIGRhbWFscwpnaW5nIGRhIG51ciBkYXMgS3Jva29kaWwgenUgaGVpbGVuLCBnbGVpY2ggbWFsIGRpZSBhbmRlcmVuIGJlaWRlbiBwcm9iaWVybiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQc3ljaG90aGVyYXBpZSBmdWVyIG1pc3NoYW5kZWx0ZSBLdXNjaGVsdGllcmUgKEJvaW5nLCAgNi4gTWFyIDIwMDQsIDEwOjIwOjUzKToKfiMhIHJuPUFueXNpZG9yYSBydD0xMDc4NTAwNDkxIHJnPXd3dwp+IyEgdGlkPTEwNzg0OTg0ODAKRGFzIE5pbHBmZXJkIGdlaHQgaW56d2lzY2hlbiBhdWNoIC4uLiBTY2hhZiBub2NoIG5pY2h0LgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQc3ljaG90aGVyYXBpZSBmdWVyIG1pc3NoYW5kZWx0ZSBLdXNjaGVsdGllcmUgKEFueXNpZG9yYSwgIDYuIE1hciAyMDA0LCAxMToyOTozMik6Cn4jISBybj1Cb2luZyBydD0xMDc4NTY0ODUzIHJnPXd3dwp+IyEgdGlkPTEwNzg0OTg0ODAKamEsIGRhcyBoYWIgaWNoIG51IGF1Y2ggdGhlcmFwaWVydCBiZWtvbW1lbi4uLiBiZWltIFNjaGFmIGhhYiBpY2ggbWlyIHNvd2FzCnNjaG9uIGdlZGFjaHQgbmFjaGRlbSBpY2ggZGEga2VpbmUgQXVzd2FobCBiZWtvbW1lbiBoYWIgYXVmbSBCcmV0dCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUHN5Y2hvdGhlcmFwaWUgZnVlciBtaXNzaGFuZGVsdGUgS3VzY2hlbHRpZXJlIChBa2FzaGEsICA2LiBNYXIgMjAwNCwgMTI6NDU6MDYpOgp+IyEgcm49QW55c2lkb3JhIHJ0PTEwNzg1Njg5NzIgcmc9d3d3Cn4jISB0aWQ9MTA3ODQ5ODQ4MApMYXV0IE5ld3NsZXR0ZXIgd2lyZCBkYXMgU2NoYWYgYWIgSnVuaSBvZGVyIEp1bGkgdGhlcmFwaWVyYmFyIHNlaW4uCgpBa2FzaGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3BhY2VkIFBlbmd1aW4gKERhcmtsb3IsICA2LiBNYXIgMjAwNCwgMjE6NTE6MTMpOgp+IyEgcm49QWthc2hhIHJ0PTEwNzg0OTg2OTMgcmc9d3d3Cn4jISB0aWQ9MTA3ODQ5NzUwMApuYWphIDMwNjQwOS4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV293IC4uIChQaG9ib3MsICA4LiBNYXIgMjAwNCwgMjI6MjE6MjIpOgpXYXMgZnVlciBlaW4gVW50ZXJzY2hpZWQ6CgpodHRwOi8vd3d3LnNwYWIuZGsvZnVubnlfcGljcy9jYXJyaWVfYmVmb3JlX25fYWZ0ZXIucG5nCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb3cgLi4gKEJhbWJ1bGtvLCAgOC4gTWFyIDIwMDQsIDIyOjQ2OjEwKToKfiMhIHJuPVBob2JvcyBydD0xMDc4NzgwODgyIHJnPXd3dwp+IyEgdGlkPTEwNzg3ODA4ODIKVW5kIGRhcyBpc3QgaW4gUm9jaHVzIEt1ZWNoZT8KCmh0dHA6Ly93d3cuc3BhYi5kay9mdW5ueV9waWNzL2NvbGEuanBnP3dpZHRoPTgwMAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdvcmVndWluIChNb3Jnb3RoLCAgOC4gTWFyIDIwMDQsIDIzOjMzOjQyKToKV2Vpc3MgbmljaHQsIG9icyBkZW4gTGluayBzY2hvbm1hbCBnYWIuLi4KaHR0cDovL3d3dy55b25raXMuY29tL21lZGlhZmxhc2gveWV0aV9nb3Jlei5zd2YKMTAyMyA6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vbmtleSBJc2xhbmQgQ29taWNzIChWaW5jZW50LCAgOS4gTWFyIDIwMDQsIDEwOjQ5OjA5KToKSGFjaGphLCBkaWUgTW9ua2V5IElzbGFuZCBBZHZlbnR1cmVzLi4uZGFzIHdhcmVuIG5vY2ggQ29tcHV0ZXJzcGllbHplaXRlbi4uLgoqTm9zdGFsZ2llZmxhc2gqCgpodHRwOi8vd3d3Lndvcmxkb2ZtaS5jb20vZmVhdHVyZXMvY29taWNzL3ZpbmsvCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJc3QgZG9jaCBhbGJlcm4gLi4gKFBob2JvcywgMTAuIE1hciAyMDA0LCAwMDoxMjowNSk6CkhtbSwgaGFiIG5vY2ggbmllIGFuIGVpbmVtIExBUlAgdGVpbGdlbm9tbWVuLgpMYWV1ZnQgZGFzIGltbWVyIHNvPwoKaHR0cDovL3d3dy5kYzEwMS5jb20vdmlkZW9zL3NobW9vNi5tcGcgKDEuOCBNQikKCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV293IC4uIChSb2NodXMsIDEwLiBNYXIgMjAwNCwgMjE6NTE6NTUpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA3ODc4MjM3MCByZz13d3cKfiMhIHRpZD0xMDc4NzgwODgyCk5lZSwgaWNoIGthbm4gamEgbWFsIGJlaSBCZWRhcmYgQmlsZGVyIG1laW5lciBLdWVjaGUgemVpZ2VuLi4uCkFiZXIgZGllIEFkcmVzc2UgRElFU0VSIEt1ZWNoZSBoYWV0dGUgaWNoIGdlcm5lIDopCgogIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFyeSBTdWUgKEJhbWJpLCAxMi4gTWFyIDIwMDQsIDEwOjU3OjM1KToKRWluIENvbWljIHp1IE1hcnkgU3VlKHMpLi4uCgpodHRwOi8vcGlyYXRlbW9ua2V5c2luYy5jb20vbXMxLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwYWNlZCBQZW5ndWluIChWYW5pciwgMTMuIE1hciAyMDA0LCAwNToxMzoxNCk6Cn4jISBybj1NdXBmZWwgcnQ9MTA3ODQ5NzUwMCByZz13d3cKfiMhIHRpZD0xMDc4NDk3NTAwCjMwNzAxNyAKOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1haCBKb25nZyAoQXBvcGhpcywgMTUuIE1hciAyMDA0LCAxNToxNTo0OCk6CkZsYXNoLVZhcmlhbnRlIHZvbiBNYWggSm9uZ2cgbWl0IE11bHRpcGxheWVyCihBY2h0dW5nIFN1Y2h0Z2VmYWhyIDopCgpodHRwOi8vaWdlbC50LW9ubGluZS5kZS9tajJtcC9mcmFtZXNldC5odG1sCgpBcG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyYW56b3NlIHZlcnN1Y2h0ZSBCaW4gTGFkZW4genUgdWViZXJmYWhyZW4gKFZpbmNlbnQsIDE4LiBNYXIgMjAwNCwgMTE6MjU6MjEpOgpEaWUgSW5mbyBrYW0gZ2VyYWRlIHJlaW46Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsMjkxMDc1LDAwLmh0bWwKCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFuem9zZSB2ZXJzdWNodGUgQmluIExhZGVuIHp1IHVlYmVyZmFocmVuIChTZWxldmVuLCAxOC4gTWFyIDIwMDQsIDExOjI5OjAxKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA3OTYwNTUyMSByZz13d3cKfiMhIHRpZD0xMDc5NjA1NTIxClNjaG9lbiB6dSBzZWhlbiwgZGFzIGRpZSBUZXJyb3Jpc3RlbiBpaHJlIFppZWxlIGVycmVpY2hlbi4gCgpTMTF3aWUgZGFzIGdlbWVpbnQgaXN0IHNvbGx0ZSBob2ZmZW5kbGljaCBrbGFyIHNlaW4uClMxMS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnJhbnpvc2UgdmVyc3VjaHRlIEJpbiBMYWRlbiB6dSB1ZWJlcmZhaHJlbiAoR2xvaW5zb24sIDE4LiBNYXIgMjAwNCwgMTE6MzA6MDEpOgp+IyEgcm49U2VsZXZlbiBydD0xMDc5NjA1NzQxIHJnPXd3dwp+IyEgdGlkPTEwNzk2MDU1MjEKR2VuYXUsIHdpciB3ZXJkZW4gc2Nob24gYWxsZSBnYW56IHVlYmVybXVlZGV0IHVuZCBwYXJhbm9pZCBkdXJjaCBkaWUKc3RhZW5kaWdlbiBBdHR0ZW50YXRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZyYW56b3NlIHZlcnN1Y2h0ZSBCaW4gTGFkZW4genUgdWViZXJmYWhyZW4gKFNlbGV2ZW4sIDE4LiBNYXIgMjAwNCwgMTE6MzA6NTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA3OTYwNTgwMSByZz13d3cKfiMhIHRpZD0xMDc5NjA1NTIxCjpuaWNrdCBHbG9pc29uIHp1LgoKUzExIG5pZSB3aWVkZXIgaW4gZWluIEZsdWd6ZXVnLyBlaW5lbiBadWcgc3RlaWdlbmQuICh0ZWxuZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBGcmFuem9zZSB2ZXJzdWNodGUgQmluIExhZGVuIHp1IHVlYmVyZmFocmVuIChHcmltbWJvcm4sIDE4LiBNYXIgMjAwNCwgMTE6MzI6NDQpOgp+IyEgcm49U2VsZXZlbiBydD0xMDc5NjA1ODU5IHJnPXd3dwp+IyEgdGlkPTEwNzk2MDU1MjEKQWxzbywgaWNoIGhhbHRlIHRlbG5ldCBmdWVyIHdlc2VudGxpY2ggcmlza2FudGVyIGFscyBGbHVnemV1Z2Ugb2RlciBadWVnZS4gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEZyYW56b3NlIHZlcnN1Y2h0ZSBCaW4gTGFkZW4genUgdWViZXJmYWhyZW4gKFZpbmNlbnQsIDE4LiBNYXIgMjAwNCwgMTE6MzY6MzkpOgp+IyEgcm49U2VsZXZlbiBydD0xMDc5NjA1ODU5IHJnPXd3dwp+IyEgdGlkPTEwNzk2MDU1MjEKSXN0IGVzIG5pY2h0IGVpbiBiaXNzY2hlbiBhcmcgd2VpdCBoZXJnZWhvbHQsIGF1cyBlaW5lbSBhbGxlbmZhbGxzCmFuZWtkb3RlbmhhZnRlbiBBcnRpa2VsIHVlYmVyIEVJTkVOIEZyYW56b3NlbiwgZGVyIHZlcnJ1ZWNrdCBzcGllbHQsIHp1CnNjaGxpZXNzZW4sIGRhc3MgV0lSIHBhcmFub2lkIHNpbmQgdW5kIGRhc3MgZGllIFRlcnJvcmlzdGVuIGlocmUgWmllbGUKZXJyZWljaHQgaGFiZW4/CgpOYWphLiBJY2ggZ2VoZSBkYXZvbiBhdXMsIGRpZSBiZWlkZW4gTVBBLUFydGlrZWwtQXV0b3JlbiwgYXVmIGRlcmVuIEFydGlrZWwKaWNoIG1pY2ggaGllciBiZXppZWhlLCB3b2xsZW4gZWJlbiBkaWVzZSBtaXQgSXJvbmllLVRhZ3MgdmVyc2VoZW4gd2lzc2VuLgotKQoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luWFAgKE9nbywgMTguIE1hciAyMDA0LCAxOTo1Mzo0Myk6Cmh0dHA6Ly93d3cudHdlYWt4cC5jb20vZGlzcGxheS5hc3B4P2lkPTIwNjYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpISEdHIEluZm9jb20gQWR2ZW50dXJlIChWaW5jZW50LCAxOS4gTWFyIDIwMDQsIDE0OjI2OjI2KToKRGFzIEhpdGNoIEhpa2VyJ3MgR3VpZGUgdG8gdGhlIEdhbGF4eSBUZXh0YWR2ZW50dXJlIGdpYnQgZXMgYWxzIEphdmEgQXBwbGV0CnVudGVyCgpodHRwOi8vd3d3LmRvdWdsYXNhZGFtcy5jb20vY3JlYXRpb25zL2luZm9jb21qYXZhLmh0bWwKCiAgIFZpbmNlbnQKClAuUy46IFVuZCBpbW1lciB6dWVyc3QgZGFzIExpY2h0IGVpbnNjaGFsdGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPYnNjdXJlIEZhY3RzIChXaGl0ZXRpZ2VyLCAyMS4gTWFyIDIwMDQsIDEyOjM2OjA1KToKaHR0cDovL3d3dy5jYW50cmlwLm9yZy9mYWN0cy5odG1sCkljaCBoYWJlIG5pY2h0IHVlYmVycHJ1ZWZ0LCBvYiBpcmdlbmRldHdhcyBkYXZvbiBzdGltbXQuLi4gClJlYWQgYXQgb25lJ3Mgb3duIHJpc2suCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9ua2V5IElzbGFuZCAyIE91dHRha2VzLi4uIChXaGl0ZXRpZ2VyLCAyMS4gTWFyIDIwMDQsIDEzOjIyOjA3KToKaHR0cDovL2xuLXMubmV0L1M3CgpUaWdlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSB0cnVlIGFydCBvZiBQaG90b3Nob3AuLi4gKFZpbmNlbnQsIDIyLiBNYXIgMjAwNCwgMTU6MDE6NDYpOgouLi5vZGVyIGF1Y2g6ICJMZXV0ZSwgZGllIGVpbmZhY2ggenUgdmllbCBaZWl0IGhhYmVuLi4uIgoKaHR0cDovL3d3dy51bmYtdW5mLmRlL3Nob3cucGhwP2RpZD01NjYKCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjEuIEFwcmlsIGlzdCBkb2NoIHNwYWV0ZXIsIG9kZXI/IChBaGFiLCAyMi4gTWFyIDIwMDQsIDE4OjQ0OjAzKToKR3Vja3N0IER1OgoKaHR0cDovL21ha2Vhc2hvcnRlcmxpbmsuY29tLz9SMkQxNjJFQzcKCihBcnRpa2VsIGF1cyBkZW0gSGVpc2UtRm9ydW0sIHNlbHRlbiBzbyBnZWxhY2h0LikKCkFob2ksCkFoYWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAxLiBBcHJpbCBpc3QgZG9jaCBzcGFldGVyLCBvZGVyPyAoWm9vaywgMjIuIE1hciAyMDA0LCAxODo0NzoyOSk6Cn4jISBybj1BaGFiIHJ0PTEwNzk5Nzc0NDMgcmc9d3d3Cn4jISB0aWQ9MTA3OTk3NzQ0MwpEb2NoLCBzY2hvZW4uIDopIFdhcyBtYWNoIGljaCBudW4gbnVyIG1pdCBtZWluZW0gYWx0ZW4gUmVjaG5lcj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp5ZXRpIElJSSAoU2NvcnBpb24sIDIyLiBNYXIgMjAwNCwgMjE6MDE6MjYpOgp3ZXJzIG5vY2ggbmljaHQga2VubnQ6CgogaHR0cDovL3d3dy55ZXRpc3BvcnRzLm5ldC95ZXRpc3BvcnRzMy8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSEhHRyBJbmZvY29tIEFkdmVudHVyZSAoQnJhbiwgMjIuIE1hciAyMDA0LCAyMzoyNToxMSk6Cn4jISBybj1WaW5jZW50IHJ0PTEwNzk3MDI3ODYgcmc9d3d3Cn4jISB0aWQ9MTA3OTcwMjc4NgpadW0gUnVudGVybGFkZW4gc28gemllbWxpY2ggYWxsZXIgYWx0ZW4gSW5mb2NvbS1BZHZlbnR1cmVzOgpodHRwOi8vd3d3LmxhdHoub3JnL2dhbWVzL2xpc3RfYWJjLnNodG1sLiBTcGllbGJhciBtaXQgRnJvdHotSW50ZXJwcmV0ZXIsIHouQgpoaWVyOgpodHRwOi8vd3d3LmlmYXJjaGl2ZS5vcmcvaW5kZXhlcy9pZi1hcmNoaXZlWGluZm9jb21YaW50ZXJwcmV0ZXJzWGZyb3R6Lmh0bWwuCkljaCBrYW5uIHNvd2llc28gZW1wZmVobGVuLCBpbSBpZi1hcmNoaXZlIG1hbCBldHdhcyB6dSBzdG9lYmVybiwgZGEgZ2lidCBlcwpzY2hvZW5lIFNhY2hlbiAtIHZpZWwgU3Bhc3MhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhIR0cgSW5mb2NvbSBBZHZlbnR1cmUgKEJyYW4sIDIyLiBNYXIgMjAwNCwgMjM6NDE6NTQpOgp+IyEgcm49QnJhbiBydD0xMDc5OTk0MzExIHJnPXd3dwp+IyEgdGlkPTEwNzk3MDI3ODYKSmFqYSwgc2VsZnJlcGx5Li4uIGFiZXIgd28gaWNoIHNjaG9uIGRhYmVpIGJpbjogd2VubiBpaHIgZXVjaCBtYWwgbGFuZ3dlaWx0LAp2ZXJzdWNodCBldWNoIG1hbCBhbiAiUmVtYXRjaCIsIGRhcyBpc3QgZWluZXIgbWVpbmVyIEZhdm9yaXRlbi4gR2lidHMgYXVmCmh0dHA6Ly93d3cuaWZhcmNoaXZlLm9yZy9pbmRleGVzL2lmLWFyY2hpdmVYZ2FtZXNYdGFkcy5odG1sIChUQURTLUludGVycHJldGVyOgpodHRwOi8vdGVsYWRlc2lnbi5jb20vdGFkcy8pLiBJY2ggaGFiIGd1dCAxMDAgQW5sYWV1ZmUgZ2VicmF1Y2h0IDopCkdydXNzLCBCcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWl0IDIwIEphaHJlbiBmYWxzY2ggaGVydW0gKFZpbmNlbnQsIDIzLiBNYXIgMjAwNCwgMTU6MzA6MzEpOgpPaG5lIEtvbW1lbnRhci4uLgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3dpc3NlbnNjaGFmdC93ZWx0cmF1bS8wLDE1MTgsMjkxOTYyLDAwLmh0bWwKCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWl0IDIwIEphaHJlbiBmYWxzY2ggaGVydW0gKE11YWRpYiwgMjMuIE1hciAyMDA0LCAxODoyNDozMSk6Cn4jISBybj1WaW5jZW50IHJ0PTEwODAwNTIyMzEgcmc9d3d3Cn4jISB0aWQ9MTA4MDA1MjIzMQpkaWUgaGFiZW4gc2ljaCBtaXQgZGVtIGRhdHVtIHZlcnRhbiA/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3d3cubGV0dGVyamFtZXMuZGUgKExpYXJhLCAyNC4gTWFyIDIwMDQsIDIwOjUxOjIzKToKV293ISBLbGFzc2UgZnVlciBlY2FyZHMgZXRjLiAqc3RhdW4qIERpZSBOdWRlbHN1cHBlIGZpbmRlIGljaCB3aXR6aWcuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzcHJ1bmcgaW4gZGVyIHNjaHVlc3NlbD8gKEFwb3BoaXMsIDI1LiBNYXIgMjAwNCwgMTY6MjI6MjMpOgp6aWVtbGljaCB0YWxlbnRpZXJ0IGRpZSBqdW5ncyBkYSA6KQoKaHR0cDovL3d3dy50ZWFtcnlvdWtvLXZpZGVvcy54YXZpb24ubmV0L2ZyaWRheW5pZ2h0bWFkbmVzczMubXBlZwoKaHR0cDovL3d3dy5sZS1wYXJrb3VyLmNvbS9kYXZpZGJlbGxlLmF2aQoKMS4gVmlkZW8gY2EuIDMxIE1CIC0gMi4gVmlkZW8gY2EuIDEzIE1CCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3BydW5nIGluIGRlciBzY2h1ZXNzZWw/IChab29rLCAyNS4gTWFyIDIwMDQsIDE2OjM3OjU0KToKfiMhIHJuPUFwb3BoaXMgcnQ9MTA4MDIyODE0MyByZz13d3cKfiMhIHRpZD0xMDgwMjI4MTQzCkJldm9yIGljaCBtZWluZSBMZWl0dW5nIGRhbWl0IGJlbGFzdGUsIHVtIHdhcyBnZWh0IGVzIHNvIGluIGV0d2E/IDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzcHJ1bmcgaW4gZGVyIHNjaHVlc3NlbD8gKE11YWRpYiwgMjUuIE1hciAyMDA0LCAxNjo0MjoyNSk6Cn4jISBybj1ab29rIHJ0PTEwODAyMjkwNzQgcmc9d3d3Cn4jISB0aWQ9MTA4MDIyODE0MwppbSBlcnN0ZW4gdmlkZW8gd2lyZCBydW1nZWh1ZXBmdAppbSB6d2VpdGVuIGF1Y2gsIGltIGdlZ2Vuc2F0eiB6dW0gZXJzdGVuIG5pY2h0IG51ciBpbiBkZXIgaGFsbGUgc29uZGVybiBhdWNoCmluIGZyZWllciB3aWxkYmFobiBpdCBlc3Qgd2FsZCwga2xldHRlcmFubGFnZSxoYXVzZGFlY2hlciBldGMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHNwcnVuZyBpbiBkZXIgc2NodWVzc2VsPyAoWm9vaywgMjUuIE1hciAyMDA0LCAxNjo1NTozMik6Cn4jISBybj1NdWFkaWIgcnQ9MTA4MDIyOTM0NSByZz13d3cKfiMhIHRpZD0xMDgwMjI4MTQzCkFoLCBOci4gMiBoYWIgaWNoIGFuZ2VzZWhlbi4gU2VociBpbnRlcmVzc2FudC4gSWNoIGZyYWdlIG1pY2ggZ2VyYWRlLCB3aWUgCm1hbiBzb2xjaGUgTGlua3MgaW0gV1dXIGZpbmRldC4uLi4gOi0pCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogc3BydW5nIGluIGRlciBzY2h1ZXNzZWw/IChNdWFkaWIsIDI1LiBNYXIgMjAwNCwgMTY6NTc6MzkpOgp+IyEgcm49Wm9vayBydD0xMDgwMjMwMTMyIHJnPXd3dwp+IyEgdGlkPTEwODAyMjgxNDMKc3BydW5naGFmdGVzIHN1cmZlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogc3BydW5nIGluIGRlciBzY2h1ZXNzZWw/IChBcG9waGlzLCAyNS4gTWFyIDIwMDQsIDIxOjM2OjM2KToKfiMhIHJuPU11YWRpYiBydD0xMDgwMjMwMjU5IHJnPXd3dwp+IyEgdGlkPTEwODAyMjgxNDMKTW9yZ290aCBoYXRzIGVya2FubnQgOnAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1c2ggbWFjaHQgV2l0emUgKEthdHplbnRhbnRlLCAyNi4gTWFyIDIwMDQsIDE4OjI1OjMzKToKaGFiIGljaCBncmFkIGdlZnVuZGVuCmh0dHA6Ly93d3cub3JmLmF0LzA0MDMyNi03MjQ0My9pbmRleC5odG1sCgpHcnVzcyBUYW50Y2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHNjaGVybm9ieWwtV2Vic2l0ZSAoVGFyYW5pcywgMjcuIE1hciAyMDA0LCAxODo1Mjo1OSk6CkhhYmUgaWNoIGdlcmFkZSBnZWZ1bmRlbjoKaHR0cDovL3d3dy5hbmdlbGZpcmUuY29tL2V4dHJlbWU0L2tpZGRvZnNwZWVkLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF0cml4IFhQLi4uIChXaGl0ZXRpZ2VyLCAyOC4gTWFyIDIwMDQsIDEzOjA1OjE2KToKSWNoIGhvZmZlLCBkYXNzIGRhcyBoaWVyIG5vY2ggbmljaHQgenV1dSBiZWthbm50IGlzdC4uLgpodHRwOi8vd3d3Lm1hdHJpeC14cC5jb20vCgp0aWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRzY2hlcm5vYnlsLVdlYnNpdGUgKEtlbGx5YnVuZHksIDI4LiBNYXIgMjAwNCwgMjA6MTk6NDgpOgp+IyEgcm49VGFyYW5pcyBydD0xMDgwNDA5OTc5IHJnPXd3dwp+IyEgdGlkPTEwODA0MDk5NzkKRGEgbXVlc3N0ZSBkZW5uIGF1Y2ggbmVuIGdlZmFocmVuaGlud2VpcyBmdWVyIGRlbiBsYWhtc3RlbiBMaW5rIHNlaXQgZGVyClN0ZWluemVpdCBkYWJlaSBzdGVoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHNjaGVybm9ieWwtV2Vic2l0ZSAoVGFyYW5pcywgMjguIE1hciAyMDA0LCAyMzoyNzo0OCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEwODA0OTc5ODggcmc9d3d3Cn4jISB0aWQ9MTA4MDQwOTk3OQpNaG1tLCB3ZWlzcyBuaWNodCwgZGEga2VubmUgaWNoIHNjaGxpbW1lcmUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVHNjaGVybm9ieWwtV2Vic2l0ZSAoR2xvaW5zb24sIDI5LiBNYXIgMjAwNCwgMDA6MzA6MjApOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDgwNDk3OTg4IHJnPXd3dwp+IyEgdGlkPTEwODA0MDk5NzkKSWNoIGZpbmQgZGllIFNlaXRlIG5ldHQuIFByaXBqYXQgaXN0IGZhc3Qgd2llICJQaWNrbmljayBhbSBXZWdlc3JhbmQiLiBVbmQKZW5kbGljaCB3ZWlzcyBpY2ggYXVjaCwgZGFzcyBlcyBlaGVyICJUc2NoYXJub2J5bCIgaXN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0aWx2b2xsIFN0ZXJiZW4gKFZpbmNlbnQsIDMxLiBNYXIgMjAwNCwgMTY6Mjc6NDcpOgpUb2Rlc2thbW1lcm4gaW0gVmVyZ2xlaWNoCgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9hdXNsYW5kLzAsMTUxOCxncm9zc2JpbGQtMTEzOTA3LTI5MzM2OCwwMC5odG1sCgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvc3B0di9tYWdhemluLzAsMTUxOCxncm9zc2JpbGQtMzQyMDQyLTI5MzIyMiwwMC5odG1sCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHdXJseicgRGF5IChHbG9pbnNvbiwgMzEuIE1hciAyMDA0LCAxOToxNDoxNyk6ClVuZCB3YXMgdHJlaWJlbiBkaWUgSnVuZ2VuIGFuIGRlbSBUYWc/IExhdXRlciBzcGFubmVuZGUgRGluZ2U6IGluIGRlciBTY2h1bGUKc2l0emVuIHVuZCBpbSBOZXR6IHN1cmZlbi4gQWJlciBuZWluLCB2aWVsbGVpY2h0IGtvZW5uZW4gc2llIGphIGF1Y2ggenUKQXVmdHJhZ2dlYmVybiAianVuZ2Vuc3VudHlwaXNjaGVyIiBCZXJ1ZmUgZ2VoZW4gKGRpZSBhYmVyIGdhciBrZWluZSBMdXN0CmhhYmVuLCB3YXMgenUgbWFjaGVuKSBvZGVyIGdhciBpbnMgQXJiZWl0c2FtdC4KCmh0dHA6Ly93d3cuZ2lybHNkYXkuZGUvc2NodWxlbi9pbmRleC5waHA/bWFpbj1qdW5nZW4uaHRtbAoKSWNoIGZpbmQgZGllIEludGVncmF0aW9uc2ZhZWhpZ2tlaXQgZGVyIGdlc2NobGVjaHRzdWViZXJncmVpZmVuZGVuCkJlcnVmc2luZm9ybWF0aW9uc3RhZ2UgZG9jaCBpbW1lciB3aWVkZXIgaW50ZXJlc3NhbnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXByaWwgQXByaWwhIChCYW1idWxrbywgIDEuIEFwciAyMDA0LCAxNToxMzozMCk6CkVpbiBuZXR0ZXMgUXVpeiB6dW0gMS4gQXByaWw6CgpodHRwOi8vc3BpZWwudGFnZXNzY2hhdS5kZS9xdWl6LWFwcmlsYXByaWwuaHRtbAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhY2hlbG9yL01hc3Rlci4uLiAoVGFyYW5pcywgIDEuIEFwciAyMDA0LCAxOToyMjozMCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS91bmlzcGllZ2VsL2pvYnVuZGJlcnVmLzAsMTUxOCwyOTM0NDcsMDAuaHRtbAoKTWhtbSwgbWFuY2htYWwgYmluIGljaCwgb2Igd29obCBpY2ggZGFtaXQgQXVzbGF1Zm1vZGVsbCBiaW4sIGZyb2gsIG5vY2ggZWluCkRpcGxvbSBnZWtyaWVndCB6dSBoYWJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUE1TIHJvY2t0ISAoQW1hcnlsbGlzLCAgMS4gQXByIDIwMDQsIDE5OjMwOjIyKToKaHR0cDovL3d3dy53ZHIuZGUvdGhlbWVuL2NvbXB1dGVyLzEvc3Ryb21wZXJzbXMvcG1zLmpodG1sO2pzZXNzaW9uaWQ9TDBDREVHUE1YCkhOTVhGTzFZT0NVVElRP3J1YnJpa2Vuc3R5bGU9Y29tcHV0ZXIKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdDSEVFU0UgKFdoaXRldGlnZXIsICAxLiBBcHIgMjAwNCwgMjI6Mzc6MzMpOgpHb29nbGUgYmlldGV0IEpvYnMgYXVmIGRlbSBNb25kIGFuIC4uLgpodHRwOi8vd3d3Lmdvb2dsZS5jb20vam9icy9sdW5hcl9qb2IuaHRtbAoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlaGFldXNlIGZ1ZXIgSGFtc3RlciAoT2dvLCAgMS4gQXByIDIwMDQsIDIzOjM0OjE5KToKR2VmdW5kZW4gYXVmIC8uCmh0dHA6Ly93d3cudGhpbmtnZWVrLmNvbS9zdHVmZi80MS9oYWJpY2FzZS5zaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJpdHRlIG5pY2h0IHdlaXRlciBnZWhlbiEgKEdhbmRvLCAgMi4gQXByIDIwMDQsIDIyOjI4OjE3KToKCmh0dHA6Ly93d3cudGVybWluYWxwYWNrZXRsb3NzLmNvbS9waWN0b3ovaW1hZ2VzL0hFTExSQVBFLmdpZgoKR2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcm51bmcgdm9yIGRlbSBWaXJ1cyAuLi4gKFZhbmlvbiwgIDUuIEFwciAyMDA0LCAxODo0Mzo1NSk6CkhpLAoKZGEgZ3JhZCBtYWwgd2llZGVyIGVpbmlnZSBkZXV0c2Noc3ByYWNoaWdlIFZpcmVuIHVudGVyd2VncyBzaW5kLCBlaW5lIFdhcm51bmcsCmRpZSBtYW4gb2ZmZW50c2ljaHRsaWNoIGluIHNlaW5lbSBGcmV1bmRlc2tyZWlzIChvZGVyIGltIEtyZWlzIGRlcmVyLCBkaWUKbWVpbmUgRW1haWwtQWRkeSBzcGVpY2hlcm4pIG5pY2ggb2Z0IGdlbnVnIHNhZ2VuIGthbm46CgpXZW5uIG1hbiBlaW5lIE1haWwgYmVrb21tdCwgZGllIG1hbiBuaWNodCBlcndhcnRldCwgZGllIGVpbmVuIEFuaGFuZyBlbnRoYWVsdCwKZGVuIG1hbiBuaWNodCBrZW5udC4gTmljaHQgYXVzZnVlaHJlbiEgRWdhbCwgb2IgaXJnZW5kd2VsY2hlIGJla2FubnRlbiBRdWVsbGVuCnppdGllcnQgd2VyZGVuIHVuZCBzYWdlbiBkYXMgc2VpIG9rLiAKClJlYWdpZXJ0IGpldHp0IGJpdHRlIG5pY2h0IHp1IGdlc2Nob2NrdDogVmlyZW4tU2tyaXB0LUtpZGRpZXMgbHVlZ2VuIGF1Y2ghCgpGdWVyIGVpbiBzY2hvZW5lcy9ib2VzZXMgQmVpc3BpZWwsIGZvbGdlbmRlbiBBdXN6dWcgYXVzIG1laW5lbSBNYWlsYWNjb3VudDoKLS0KSWhyZSBCZW51dHplcm5hbWVuIHVuZCBQYXNzd3J0ZXIgYmVmaW5kZW4gc2ljaCBpbSBBbmhhbmcgZGllc2VyIEUtTWFpbAoKCisrKysgSW0gd3d3IGVycmVpY2hiYXIgdW50ZXI6IGh0dHA6Ly93d3cuY2dpLmt1bmRlbnNlcnZlci5kZQorKysrIEUtTWFpbDogS3VuZGVuSW5mb0BjZ2kua3VuZGVuc2VydmVyLmRlCgoKCioqKiBNYWlsIFNjYW5uZXI6IEtlaW4gVmlydXMgZ2VmdW5kZW4KKioqIEdNWCBWaXJlbnNjaHV0egoqKiogaHR0cDovL3d3dy5nbXgubmV0Ci0tCkltIEFuaGFuZyBsaWVndCBub2NoIGVpbmUgRGF0ZWkgbWl0IGRlbSB2aWVsc2FnZW5kZW4gYWJlciB3ZW5pZyBtZWluZW5kZW4KTmFtZW4gIkJlbnV0emVyLURhdGVuLnBpZiIuCgpOb2NobWFsIGluIEt1cno6IE5peCBrZW5uZW4gLSBuaXggYW5rbGlja2VuLgoKViosIG1laW50IGRhcyBlaWdlbnRsaWNoIHJlaWNobGljaCBlcm5zdC4KUFM6IEljaCB3ZWlzcy4gRHUgd3VlcmRlc3Qgc293YXMgZWggbmllIG1hY2hlbi4gSWNoIGF1Y2ggbmljaHQuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcm51bmcgdm9yIGRlbSBWaXJ1cyAuLi4gKENyb2Z0LCAgNS4gQXByIDIwMDQsIDE4OjU2OjUwKToKfiMhIHJuPVZhbmlvbiBydD0xMDgxMTgzNDM1IHJnPXd3dwp+IyEgdGlkPTEwODExODM0MzUKQXVjaCBTb2Jlci5GIGdlbmFubnQuICBTaWVoZSBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy80NjI3NgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vcmdlbnN0YWVuZGNoZW4gLi4uIChNYXJ0aW5pLCAgNy4gQXByIDIwMDQsIDA5OjM0OjA5KToKaHR0cDovL2V4Y2EwMDEuZnJlZS5mci9iaXJkLnN3ZgoKTWFydGluaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlydXNkaW5nc2UgKExpYXJhLCAgNy4gQXByIDIwMDQsIDEwOjEwOjE4KToKQWxzbyBpY2ggaGFiZSBlaW5lbiB2b2VsbGlnIHp1Z2VtdWVsbHRlbiB3ZWIuZGUgQWNjb3VudCB1bmQgZWluaWdlIE1haWxzIHZvbgpzZWN1cml0eWZvY3VzLmNvbSBhbiBkaXZlcnNlIEVNYWlsYWRyZXNzZW4gdW50ZXIgZGVyIGVpZ2VuZW4gRG9tYWluLgpJbmhhbHQgaXN0OgpTY2FuTWFpbCBmb3IgTWljcm9zb2Z0IEV4Y2hhbmdlIGhhcyBkZXRlY3RlZCB2aXJ1cy1pbmZlY3RlZCBhdHRhY2htZW50KHMpLgoKU2VuZGVyID0gZnJlbmNoaWV0YUBob3RtYWlsLmNvbQpTY2FubmluZyB0aW1lID0gMDYuMDQuMjAwNCAxMjozNzoxNQoKQWN0aW9uIG9uIHZpcnVzIGZvdW5kOgpUaGUgYXR0YWNobWVudCBzY3JlZW5zYXZlcl9zZi1uZXdzLWV1cm8uemlwIGNvbnRhaW5zIFdPUk1fTkVUU0tZLlAgdmlydXMuClNjYW5NYWlsIGhhcyBEZWxldGVkIGl0LiAKCldhcm5pbmcgdG8gcmVjaXBpZW50LiBTY2FuTWFpbCBoYXMgZGV0ZWN0ZWQgYSB2aXJ1cy4KCk9kZXIgQWVobmxpY2hlcy4KCldhcyBoYXQgZXMgZGFtaXQgYXVmIHNpY2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXBweSBFYXN0ZXIgKFZpbmNlbnQsICA5LiBBcHIgMjAwNCwgMTY6NTA6MjEpOgpGbGFzaCBtaXQgU291bmQ6Cmh0dHA6Ly9pLmZsb3dnby5jb20vZ3JlZXRpbmdzL3JhcGVhc3RlcmJ1bm55L3JhcGVhc3RlcmJ1bm55LnN3ZgoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpcnVzZGluZ3NlIChLZWxseWJ1bmR5LCAgOS4gQXByIDIwMDQsIDE4OjE0OjM0KToKfiMhIHJuPUxpYXJhIHJ0PTEwODEzMjU0MTggcmc9d3d3Cn4jISB0aWQ9MTA4MTMyNTQxOApMYXRleGhhbmRzY2h1aGUgYW56aWVoZW4gdW5kIGRlbiBTZXJ2ZXIgaW4gbmUgV2FubmUgbWl0IFNhZ3JvdGFuIHNjaG1laXNzZW4/CjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaWNoaG9lcm5jaGVuIG1pdCBQZWFudXRzIGJlc2NoaWVzc2VuIChIdW1uaSwgMTAuIEFwciAyMDA0LCAxNDowOTo0Myk6Cmh0dHA6Ly9nYW1lcy5hcHJvcG8ucm8vcGVhbnV0Lmh0bWwKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUDMgKEtlbGx5YnVuZHksIDExLiBBcHIgMjAwNCwgMTQ6MDE6NTcpOgpodHRwOi8vd3d3LmZ1bi1mbGFzaC5kZS9tcDMucGhwCkJsb25kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWN0aW9uIGltIE5hbWVuIGRlcyBWYXRlcnMgKEdhbmRvLCAxMy4gQXByIDIwMDQsIDEyOjU0OjA1KToKaHR0cDovL3d3dy5qZXN1cy1hY3Rpb24tZmlndXJlLmNvbS8KCmRhIGhhYmVuIGRpZSBrbGVpbmVuIHp1IG9zdGVybiB3YXMgenUgc3BpZWxlbgoKZ2FuZG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmtsZWluZXMgR2VkaWNodCAoRGVlcGJsdWUsIDEzLiBBcHIgMjAwNCwgMjM6NDg6NDMpOgpodHRwOi8vaG9tZS52ci13ZWIuZGUvfnVkby1oYW1tL1ZvcndvcnQuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJldHRzcGllbGUgT25saW5lISAoQmFtYnVsa28sIDE0LiBBcHIgMjAwNCwgMTM6NTQ6NDQpOgoKU2llZGxlciwgQmFja2dhbW1vbiB1LnYuYS4gU3BpZWxlIE9ubGluZSBpbSBKYXZhLUFwcGxldCBzcGllbGVuOgoKaHR0cDovL3d3dy5icmV0dHNwaWVsd2VsdC5kZQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCcmV0dHNwaWVsZSBPbmxpbmUhIChab29rLCAxNC4gQXByIDIwMDQsIDE0OjEyOjA0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwODE5NDM2ODQgcmc9d3d3Cn4jISB0aWQ9MTA4MTk0MzY4NApEYSBnaWJ0IGVzIHVlYnJpZ2VucyBhdWNoIGVpbiB0b2xsZXMgRm9ydW0gdW5kIHdlciBldHdhcyBhdWYgZGllIFBocmFzZW4KYWNodGV0LCBrYW5uIGF1Y2ggZWluaWdlIGRlciBNb3JnZW5HcmF1ZW4tU3BpZWxlciBlbnRkZWNrZW4uIEZyb2hlcyBTdWNoZW4hCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcmV0dHNwaWVsZSBPbmxpbmUhIChHbG9pbnNvbiwgMTQuIEFwciAyMDA0LCAxNDo0MTowNyk6Cn4jISBybj1ab29rIHJ0PTEwODE5NDQ3MjQgcmc9d3d3Cn4jISB0aWQ9MTA4MTk0MzY4NApJcmdlbmR3YW5uIGdhYnMgZXMgc293YXMgYXVjaCBtYWwgZ2VnZW5laW5hbmRlciBpbiBncm9zc2VtIFN0aWwuIEJlaSBOZXRzY2FwZT8KR2lidCBlcyBzaWNoZXJsaWNoIG5vY2gsIGFiZXIgbWlyIHdhciBkZXIgQXVmd2FuZCBkZXMgVHVubmVsbnMgZGFubiB6dSBncm9zcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZHZlbnR1cmVzIChNYXRpcywgMTQuIEFwciAyMDA0LCAxNTo1MTo1MSk6CkZ1ZXIgYWxsIGRpZSBhbHRlbiBBZHZlbnR1cmUgRmFucyB1bnRlciBldWNoIGhpZXIgendlaSBpbnRlcmVzc2FudGUgTGlua3M6CjEpIGh0dHA6Ly93d3cuYWdkaW50ZXJhY3RpdmUuY29tLyAtIEtpbmcncyBRdWVzdCBJK0lJIGZ1ZXIgVkdBCjIpIGh0dHA6Ly93d3cuYWR2ZW50dXJlZ2FtZXN0dWRpby5jby51ay8gLSB2aWVsZSBzcGFzc2lnZSBBbWF0ZXVyIEFkdmVudHVyZXMsCiAgIHpUIHNjaGxlY2h0LCB6VCBhYmVyIGF1Y2ggc2VociBndXQKCk1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo5NmtCIGdyb3NzZXIgRUdPLVNob290ZXIgKFZpbmNlbnQsIDE0LiBBcHIgMjAwNCwgMTY6NTA6NDIpOgpVbnRlciBkZXIgVVJMCmh0dHA6Ly9ydWZ1c3VsLmRlL2JwMDQvOTZrJTIwR2FtZS9ra3JpZWdlci1iZXRhLnppcAoKa2FubiBtYW4gc2ljaCBlaW5lbiB2b2xsIGZ1bmt0aW9uc2ZhZWhpZ2VuIHVuZCBkdXJjaGF1cyBrb25rdXJyZW56ZmFlaGlnZW4gCkVnby1TaG9vdGVyIGhlcnVudGVybGFkZW4sIGRlciBudXIgOTZrQiBncm9zcyBpc3QuIERpZSBiZWkgRWdvLVNob290ZXJuCmZ1ZXIgd2ljaHRpZyBlcmFjaHRldGUgR3JhZmlrcXVhbGl0YWV0IGlzdCBhdWNoIGJlaSBkaWVzZW0gTWluaS1TcGllbApkdXJjaGF1cyBiZWFjaHRlbnN3ZXJ0OiBTbyBrb21tZW4gdS5hLiBCdW1wbWFwcGluZyB1bmQgU2NoYXR0ZW5lZmZla3RlIHp1bSAKRWluc2F0eiwgVGV4dHVyZW4gd2VyZGVuIGFlaG5saWNoIHdpZSBGcmFrdGFsZSBhdXMgRm9ybWVsbiBiZXJlY2huZXQuCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogOTZrQiBncm9zc2VyIEVHTy1TaG9vdGVyIChHbm9tZSwgMTQuIEFwciAyMDA0LCAxNjo1NTo0MCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwODE5NTQyNDIgcmc9d3d3Cn4jISB0aWQ9MTA4MTk1NDI0MgphbHNvIGF1ZiBlaW5lciBnYW56IG5vcm1hbGVuIHcyay1tYXNjaGluZSBsYWV1ZnRzIHNjaG9uIG1hbCBuaWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogOTZrQiBncm9zc2VyIEVHTy1TaG9vdGVyIChWaW5jZW50LCAxNS4gQXByIDIwMDQsIDAxOjAyOjE4KToKfiMhIHJuPUdub21lIHJ0PTEwODE5NTQ1NDAgcmc9d3d3Cn4jISB0aWQ9MTA4MTk1NDI0MgpBbHNvIGF1ZiBtZWluZW0gdzJrLVN5c3RlbSBsYWV1ZnQgZXMgc2Nob24gbWFsLgoKSGFzdCBEdSBtYWwgaW4gZGllIHJlYWRtZS50eHQgZ2VzY2hhdXQsIGRpZSBkYWJlaSBpc3Q/IEV2dC4gZmVobHQgRGlyIG51cgpEaXJlY3RYOT8gCgpIbW1tLiBWaWVsbGVpY2h0IGdsYXVic3QgRHUgYXVjaCBudXIsIGVzIHNlaSBlaW4gdzJrLVN5c3RlbSwgdW5kIGVzIGlzdAp0YXRzYWVjaGxpY2ggZWluIE1hYyBPUyBYIDIuMywgZGFyYXVmIGxhZXVmdCBkYXMgU3BpZWwgbmFlbWxpY2ggYXVjaCBuaWNodC4KCi0pCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzaG9wIChHYW5kbywgMTUuIEFwciAyMDA0LCAwOTo1MToxNyk6CkVpZXJzY2hhbGVuc29sbGJydWNoc3RlbGxlbnZlcnVyc2FjaGVyIC0gQ2xhY2sKCmh0dHA6Ly93d3cuaG9nZS5kZS9zaG9wL3Byb2R1Y3Q4MTAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHNob3AgKFRvZSwgMTUuIEFwciAyMDA0LCAwOTo1NDoyNyk6Cn4jISBybj1HYW5kbyBydD0xMDgyMDE1NDc3IHJnPXd3dwp+IyEgdGlkPTEwODIwMTU0NzcKaGF0IGRlbiBzY2hvbiBqZW1hbmQgaW0gS2F1Zmdlc2NoYWVmdCBnZXNlaGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzaG9wIChHcmltbWJvcm4sIDE1LiBBcHIgMjAwNCwgMDk6NTY6MzUpOgp+IyEgcm49VG9lIHJ0PTEwODIwMTU2Njcgcmc9d3d3Cn4jISB0aWQ9MTA4MjAxNTQ3NwpKYS4gSWNoLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc2hvcCAoVG9lLCAxNS4gQXByIDIwMDQsIDA5OjU4OjIxKToKfiMhIHJuPUdhbmRvIHJ0PTEwODIwMTU0Nzcgcmc9d3d3Cn4jISB0aWQ9MTA4MjAxNTQ3NwpodHRwOi8vd3d3LmhvZ2UuZGUvc2hvcC9wcm9kdWt0ZGVzbW9uYXRzLmh0bWwgbWFjaHQgZGFubiBhYmVyIGF1Y2ggc2lubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJyZXR0c3BpZWxlIE9ubGluZSEgKEFueXNpZG9yYSwgMTUuIEFwciAyMDA0LCAxMDoxMDowNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDgxOTQ2NDY3IHJnPXd3dwp+IyEgdGlkPTEwODE5NDM2ODQKaG1tLi4uIGRhcyBicmluZ3QgbWljaCBhdWYgZGllIElkZWUsIGRhc3MgaWNoIG1hbCB3aWVkZXIgaW4gZGllIEJTVwpyZWluc2NoYXVlbiBrb2VubnRlLCBpY2ggZ2xhdWIsIGljaCB3YXIgZGEgc2Nob24gV29jaGVuIG5pY2h0IG1laHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc2hvcCAoTWF0aXMsIDE1LiBBcHIgMjAwNCwgMTA6MTM6MjQpOgp+IyEgcm49VG9lIHJ0PTEwODIwMTU5MDEgcmc9d3d3Cn4jISB0aWQ9MTA4MjAxNTQ3NwpJY2ggaGFiIGRhcyBUZWlsIHNvZ2FyIHNjaG9uIHNlbGJlciBiZW51dHp0LiBGdW5rdGlvbmllcnQgd2lya2xpY2ggc2VociBndXQsCnVuZCBnaWJ0IGRhYmVpIGF1Y2ggbm9jaCBlaW4gd3VuZGVyYmFyZXMgKktsYWNrKiB2b24gc2ljaC4gR2lidCBlcyBhbGxlcmRpbmdzCnNjaG9uIHNlaXQgZXR0bGljaGVuIEphaHJlbi4KCk1hdGlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzaG9wIChNZXNpcmlpLCAxNS4gQXByIDIwMDQsIDExOjQ5OjM3KToKfiMhIHJuPU1hdGlzIHJ0PTEwODIwMTY4MDQgcmc9d3d3Cn4jISB0aWQ9MTA4MjAxNTQ3NwpJY2ggaGFiIGRlbiBndWVuc3RpZyB2b24gbmVtIEZyZXVuZCBiZWtvbW1lbiwgaXN0IHdpcmtsaWNoIG5lIG5ldHRlIFNhY2hlLAp3ZW5uIElociBkaWUgRWllciBiZXNvcmd0IHVuZCBtaWNoIGRyYW4gZXJpbm5lcnQgYnJpbmcgaWNoIGlobiBuYWNoIEhhbGxlCnp1bSBhbGxnZW1laW5lbiBBdXNwcm9iaWVyZW4gbWl0LgpNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzaG9wIChab29rLCAxNS4gQXByIDIwMDQsIDExOjUwOjU1KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTA4MjAyMjU3NyByZz13d3cKfiMhIHRpZD0xMDgyMDE1NDc3CkljaCBoYWJlIG1pciBkYXMgUHJvZHVrdCBuaWNodCBhbmdlc2VoZW4sIGFiZXIgZ2VuYXVnZW5vbW1lbiwgd2lsbCBpY2ggbnVuCmdhciBuaWNodCB3aXNzZW4sIHdhcyBNZXNpcmlpIGRhIHZvcmhhdCAuLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzaG9wIChDYXR3ZWF6bGUsIDE3LiBBcHIgMjAwNCwgMTE6NTg6NDIpOgp+IyEgcm49VG9lIHJ0PTEwODIwMTU2Njcgcmc9d3d3Cn4jISB0aWQ9MTA4MjAxNTQ3NwpKYS4KSGFiIGljaCBtZWluZW4gRWx0ZXJuIG1hbCBnZXNjaGVua3QgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXRpc3Rpa2VuIGltIEludGVybmV0IC0gQUxESSByZWNodHMvbGlua3MgKE1vcmdvdGgsIDE3LiBBcHIgMjAwNCwgMjI6MTY6NTUpOgpodHRwOi8vd3d3LmtvZXZlci5jb20vYWxkaS9kcmVocmljaHR1bmcvd2llcnVtZGVubm51bi5waHAzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCTVcgKE1vcmdvdGgsIDIwLiBBcHIgMjAwNCwgMTQ6MjE6MjQpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTI0NzQyNzE3MzcKCk0qIHBydXN0ZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQk1XIChPZ28sIDIwLiBBcHIgMjAwNCwgMTQ6MjU6MjgpOgp+IyEgcm49TW9yZ290aCBydD0xMDgyNDYzNjg0IHJnPXd3dwp+IyEgdGlkPTEwODI0NjM2ODQKVG9sbGUgTWFzY2hlLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FobHNwb3QgZGVyIFVTLURlbW9rcmF0ZW4gKE9nbywgMjAuIEFwciAyMDA0LCAxNDo1NDo0OSk6CnJ0c3A6Ly9zaGFyZWQuc3RyZWFtaW5nLnRlbGVmb25pY2EuZGUvc3BpZWdlbC92aWRlby80MDkyLnJtCgpTbyBodWVic2NoIGdlbWFjaHQsIGRhc3MgZXMgc2ljaCBsb2hudCwgZGVuIFJlYWxwbGF5ZXIgYW56dXNjaG1laXNzZW4uLi4KCk9nbwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlZ28gaW4gQmV3ZWd1bmcgLSBCcmlja2ZpbG1zIChKYW1lc29uLCAyMi4gQXByIDIwMDQsIDEyOjM5OjM1KToKaHR0cDovL3d3dy5oZWlzZS5kZS90cC9kZXV0c2NoL2luaGFsdC9raW5vLzE2NDcxLzEuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VubiBkZXIgaHVuZCBtaXQgZGVyIGthdHplIC4uLiAoR2FuZG8sIDIyLiBBcHIgMjAwNCwgMjA6NTU6MzIpOgpodHRwOi8vZnVuLmZyb20uaGVsbC5wbC8yMDA0LTA0LTIyL2thcm1hLWRsYS1wc293LmpwZwpHYW5kbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VpdGVuaGllYmUuLi4gKE9nbywgMjIuIEFwciAyMDA0LCAyMDo1OToyMyk6Cmh0dHA6Ly93d3cubm92ZWxsLmNvbS9ldmVudHMvdmlkZW9zL21lZGlhL3dvcm1fbXBnLm1wZwo2LjRNIGdyb3NzCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXVjaCBuZXR0Li4uIChKYXNwZXIsIDI0LiBBcHIgMjAwNCwgMDk6MTQ6MzgpOgpodHRwOi8vY2dpLmViYXkuY29tL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0mY2F0ZWdvcnk9MjA3ODEmaXRlbT0yMzg5Mjg2MTM5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXJpZGlhbiBSb29tIChQaG9ib3MsICAxLiBNYWkgMjAwNCwgMTA6MDg6MjgpOgpTY2hsZWNodGUgTmFjaHJpY2h0IGZ1ZXIgYWxsZSwgZGllIHZvciBlaW5pZ2VyIFplaXQgZGFjaHRlbiwgZXJmb2xncmVpY2gKYXVzIGRlbSAiQ3JpbXNvbiBSb29tIiBlbnRrb21tZW4genUgc2VpbjoKCkRpZSBGbHVjaHQgZW5kZXQgYmVyZWl0cyBpbSBOZWJlbnJhdW0sIGRlbSAiVmlyaWRpYW4gUm9vbSIuIFVuZCBoaWVyIGtvbW10Cm1hbiBuaWNodCBnYW56IHNvIGVpbmZhY2ggcmF1cy4KCmh0dHA6Ly93d3cuZmFzY28tY3MuY29tLwoKRGllIGdsZWljaGUgbmV0dGUgR3JhZmlrIHVuZCBlaW5mYWNoZSBCZWRpZW51bmcgKG1hbiBrYW5uIGFsbGUgUmFldHNlbCBtaXQKZWluZmFjaGVuIE1hdXNrbGlja3MgbG9lc2VuKSwgYWJlciBkaWVzbWFsIGVpbmUgZWNodGUgKE1pbmktKUhhbmRsdW5nLgoKICBQaG9ib3MKCgpQUzoKV2VubiBtYW4gZGllIFR1ZXIgenVtIE5lYmVucmF1bSBvZWZmbmV0LCBiZWtvbW10IG1hbiBlaW5lIHJ1ZWNrd2FlcnRzCmFiZ2VzcGllbHRlIFN0aW1tZSB6dSBob2VyZW4uIEthbm4gZGFzIGplbWFuZCBlbnRzY2hsdWVzc2Vsbj8gTWFuIGthbm4KZGFzIEFiZW50ZXVlciBhdWNoIHNvIGJlZW5kZW4sIGFiZXIgZXMgd3VlcmRlIG1pY2ggdHJvdHpkZW0gaW50ZXJlc3NpZXJlbiwKd2FzIGRhIGdlc2FndCB3dXJkZSAoa29lbm50ZSBhYmVyIGV2dGwuIGF1Y2ggamFwYW5pc2NoIHNlaW4pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFkdmVudHVyZXMgKEJyYW4sICAxLiBNYWkgMjAwNCwgMTA6MzE6NDMpOgp+IyEgcm49TWF0aXMgcnQ9MTA4MTk1MDcxMSByZz13d3cKfiMhIHRpZD0xMDgxOTUwNzExCmh0dHA6Ly9mZWlzYXIuZGUvY29udGVudC9nZnhfZW5fdGV4dGFkdmVudHVyZS5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpcmlkaWFuIFJvb20gKEJvaW5nLCAgMS4gTWFpIDIwMDQsIDEyOjU0OjUzKToKfiMhIHJuPVBob2JvcyBydD0xMDgzMzk4OTA4IHJnPXd3dwp+IyEgdGlkPTEwODMzOTg5MDgKVGphLCBudXIgc2NoYWRlIGRhc3MgZGllIFNlaXRlIG5pY2h0IGVycmVpY2hiYXIgaXN0IC4uLiAqc25pZmYqCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVmlyaWRpYW4gUm9vbSAoV2hpdGV0aWdlciwgIDEuIE1haSAyMDA0LCAxMjo1NToxMyk6Cn4jISBybj1Cb2luZyBydD0xMDgzNDA4ODkzIHJnPXd3dwp+IyEgdGlkPTEwODMzOTg5MDgKUHJvYmllciBlaW5mYWNoIG1laHJtYWxzIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFZpcmlkaWFuIFJvb20gKEh1cmF4cHJheCwgIDEuIE1haSAyMDA0LCAxNTozNjoyNyk6Cn4jISBybj1QaG9ib3MgcnQ9MTA4MzM5ODkwOCByZz13d3cKfiMhIHRpZD0xMDgzMzk4OTA4Ck11c3MgbWFuIGRpZSBqYXBhbmlzY2hlbiBaZWljaGVuIHZlcnN0ZWhlbiBkaWUgbWFuIGRhIGJla29tbXQ/IEljaCBzdGVoIGdyYWQKZXR3YXMgZGEgd2lyIGRlciBPY2hzIHZvcm0gQmVyZy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWaXJpZGlhbiBSb29tIChQaG9ib3MsICAxLiBNYWkgMjAwNCwgMTU6MzY6NTUpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTEwODM0MTg1ODcgcmc9d3d3Cn4jISB0aWQ9MTA4MzM5ODkwOApub2UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsYXNoeSAoTW9yZ290aCwgIDQuIE1haSAyMDA0LCAwODo0MTowMik6Cnd3dy55dWdvcC5jb20KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZWdvLUJpYmVsIChCYW1idWxrbywgIDUuIE1haSAyMDA0LCAxNjozOTo0OSk6Cmh0dHA6Ly93d3cudGhlYnJpY2t0ZXN0YW1lbnQuY29tCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVpcmF0ZW4gKE1haGFyZXQsICA2LiBNYWkgMjAwNCwgMTE6NDY6NDkpOgpEaWUsIGRpZSBiZWltIGxldHp0ZW4gQmVybGluZXIgU3RhdGkgd2FyZW4sIGVyaW5uZXJuIHNpY2ggbWl0IFNpY2hlcmhlaXQgYW4KZGVuIGFybWVuIEtlcmwsIGRlciBiYWxkIGhlaXJhdGVuIHdvbGx0ZSB1bmQgR2VkaWNodGUgdm9yZ2VsZXNlbiBoYXQsIHVtIEdlbGQKZnVlciBzZWluZSBIb2NoemVpdHNyZWlzZSB6dSBzYW1tZWxuLgpFciBoYXR0ZSBlcyBqYSBuaWNodCBsZWljaHQgYW4gdW5zZXJlbSBUaXNjaCwgdW5kIGljaCBnZWIgenUsIGljaCB0cmFnZSBuaWNodAp3ZW5pZyBTY2h1bGQgZGFyYW4uCkFiZXIgaWNoIHdvbGx0ZSBpaG4gbnVyIHdhcm5lbi4gTmljaHQsIGRhc3MgZXIgc28gZW5kZXQgd2llIGRlciBUeXAsIGRlciBoaWVyCmRhcyBIb2NoemVpdHNrbGVpZCBzZWluZXIgRXgtRnJhdSB2ZXJzdGVpZ2VydCAoaGF0KToKCmh0dHA6Ly90aW55dXJsLmNvbS95d3ptYwoKYnp3LgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTQxNDY3NTYzNDMKCk1haGFyZXQsIGdsdWVja2xpY2ggdmVyaGVpcmF0ZXQgbWl0IEx1Zywgb2huZSBIb2NoemVpdHNrbGVpZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhlaXJhdGVuIChCYW1iaSwgIDYuIE1haSAyMDA0LCAxNjoxMzozMik6Cn4jISBybj1NYWhhcmV0IHJ0PTEwODM4MzY4MDkgcmc9d3d3Cn4jISB0aWQ9MTA4MzgzNjgwOQpEYSBoYXQgZWluZXIgMzg1MCBEb2xsYXIgZ2Vib3RlbiBmdWVyIGVpbiBLbGVpZCwgZGFzIGxhdXQgQmVzY2hyZWlidW5nIG5ldQoxMjAwIERvbGxhciBnZWtvc3RldCBoYXQ/IEljaCBzb2xsdGUgbWFsIG1laW5lbiBLbGVpZGVyc2NocmFuayBhdXNtaXN0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlaXJhdGVuIChBbnRoZWEsICA2LiBNYWkgMjAwNCwgMTY6MTQ6MDYpOgp+IyEgcm49QmFtYmkgcnQ9MTA4Mzg1MjgxMiByZz13d3cKfiMhIHRpZD0xMDgzODM2ODA5CldhaHJzY2hlaW5saWNoIGF1cyBNaXRsZWlkIHdlZ2VuIGRpZXNlciB0b2xsZW4gQmVzY2hyZWlidW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVpcmF0ZW4gKE1haGFyZXQsICA2LiBNYWkgMjAwNCwgMTY6MTg6NDgpOgp+IyEgcm49QW50aGVhIHJ0PTEwODM4NTI4NDYgcmc9d3d3Cn4jISB0aWQ9MTA4MzgzNjgwOQpFcyBzb2xsZW4gc29nYXIgc2VociB2aWVsIG1laHIgZ2V3b3JkZW4gc2VpbiwgaWNoIGhhYiB3YXMgdm9uIDI1LjAwMCBnZWxlc2VuCi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGVpcmF0ZW4gKE1vbnRhbnVzLCAgNi4gTWFpIDIwMDQsIDE2OjIwOjI0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA4Mzg1MzEyOCByZz13d3cKfiMhIHRpZD0xMDgzODM2ODA5ClRqYSwgZXMgZ2lidCBpbW1lciBTUGlubmVyLCBkaWUgZGVuIEJldHJhZyBkYW5uIHVuZW5kbGljaCBuYWNoIG9iZW4gdHJlaWJlbi4KU2llaGUgZGllIGVyc3RlIHZlcnN1Y2hldCBWZXJzdGVpZ2VydW5nIGRlcyBJQ0VzIGRlciBCYWhuLCBkZXIgd2VnZW4gYWJzdXJkZW4KR2Vib3RlbiB2b24gSWRpb3RlbiB3aWVkZXJob2x0IHd1cmRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIZWlyYXRlbiAoUm9uZGEsICA3LiBNYWkgMjAwNCwgMDA6Mzc6NTkpOgp+IyEgcm49QmFtYmkgcnQ9MTA4Mzg1MjgxMiByZz13d3cKfiMhIHRpZD0xMDgzODM2ODA5CkFlaG0uLi4gQmFtYmkuLi4gRHUgaGFzdCBpbSBLbGVpZGVyc2NocmFuayBEZWluIEJyYXV0a2xlaWQgaGFlbmdlbj8gRGFubiB3YWVyCmljaCBhdWNoIGF1ZiBEZWluZSBGb3RvcyBnZXNwYW5udC4uLgoKUm9uZGEgKnN0YXVuZW5kKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFyYWNobm9waG9iaWVuZm9lcmRlcnVuZyAoQW50aGVhLCAgNy4gTWFpIDIwMDQsIDE0OjExOjE5KToKaHR0cDovL3d3dy5jYmMuY2EvbmV3cy9mZWF0dXJlcy9zcGlkZXJ3ZWIvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBIZWlyYXRlbiAoQmFtYmksICA3LiBNYWkgMjAwNCwgMTQ6MTc6MjMpOgp+IyEgcm49Um9uZGEgcnQ9MTA4Mzg4MzA3OSByZz13d3cKfiMhIHRpZD0xMDgzODM2ODA5CldlaWwgRHUgaW1tZXIgc28gbmV0dCB6dSBtaXIgYmlzdCwgd3VlcmRlIGljaCBEaXIgamEgYW5iaWV0ZW4sIERpciBkYXMgbWFsIFJMCmFuenVzZWhlbiwgYWJlciBkYSBpY2hzIGphIHZlcnN0ZWlnZXJlLi4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXR0ZXIgS29tbWVudGFyIChNb3Jnb3RoLCAgNy4gTWFpIDIwMDQsIDE2OjIyOjE0KToKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL2ZvcmVuL2dvLnNodG1sP3JlYWQ9MSZtc2dfaWQ9NTYyMTE5NCZmb3J1bV9pZD01CjYxNzAKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0dGVyIEtvbW1lbnRhciAoQ3JvZnQsICA3LiBNYWkgMjAwNCwgMTY6Mzc6MTYpOgp+IyEgcm49TW9yZ290aCBydD0xMDgzOTM5NzM0IHJnPXd3dwp+IyEgdGlkPTEwODM5Mzk3MzQKRGEgc2llaHQgbWFuIG1hbCB3aWVkZXIgd2llIHNjaG5lbGxsZWJpZyBkYXMgSW50ZXJuZXQgaXN0IC4uLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhc2tldGJhbGwgKFBob2JvcywgIDguIE1haSAyMDA0LCAxODoxMzowMyk6CklociBrb2VubnQgbWlyIG1hbCBoZWxmZW46IEF1ZiBkZXIgU2VpdGUKCmh0dHA6Ly92aXNjb2cuYmVja21hbi51aXVjLmVkdS9ncmFmcy9kZW1vcy8xNS5odG1sCgppc3QgZWluIFZpZGVvIHp1IHNlaGVuLiBFcyBnaWJ0IHp3ZWkgVGVhbXMsIGRpZSBzaWNoIChudXIgaW5uZXJoYWxiCmRlcyBlaWdlbmVuIFRlYW1zKSBCYWVsbGUgenV3ZXJmZW4uIERpZSBGcmFnZSBpc3QsIHdpZSBvZnQgZGVyIEJhbGwKZGVzIHdlaXNzZW4gVGVhbXMgZHVyY2ggZGllIEx1ZnQgZmxpZWd0LCBkLmguIGVudHdlZGVyIHZvbiBlaW5lbQpTcGllbGVyIGdld29yZmVuIHdpcmQgb2RlciB2b20gQm9kZW4gYWJwcmFsbHQuCgpFdnRsLiBoaWxmdCBlcywgc2ljaCBkYXMgVmlkZW8gYXVjaCBtZWhyZmFjaCBhbnp1c2VoZW4gLi4KCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYXNrZXRiYWxsIChDcm9mdCwgIDguIE1haSAyMDA0LCAxODoxNzoyMyk6Cn4jISBybj1QaG9ib3MgcnQ9MTA4NDAzMjc4MyByZz13d3cKfiMhIHRpZD0xMDg0MDMyNzgzClF1aWNrdGltZSAuLi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFza2V0YmFsbCAoTml6emwsICA4LiBNYWkgMjAwNCwgMTg6NTA6NDIpOgp+IyEgcm49UGhvYm9zIHJ0PTEwODQwMzI3ODMgcmc9d3d3Cn4jISB0aWQ9MTA4NDAzMjc4MwpkYSBkdSBuaWNodCBnZW5hdSBzYWdzdCB3YXMgamV0enQgYWxsZXMgemFlaGx0LCBkYXJmc3QgZHVzIHNlbGJlciBhdXNyZWNobmVuCjopCgp3bCA9IHdlaXNzIGxhbmdhcm0Kd2sgPSB3ZWlzcyBrdXJ6YXJtCnd3ID0gd2Vpc3Mgd2VpYmxpY2gKClZpZGVvIGZhZW5ndCBtaXQgQm9kZW5rb250YWt0IGRlcyBCYWxscyBhbi4gVm9uIFdMIGdlcHJlbGx0IC4uLgp3ayB3aXJmdCB6dSB3dwp3dyBwcmVsbHQsIHByZWxsdCB3aXJmdCB6dSB3bAp3bCB3aXJmdCB6dSB3ayAod2sgZmFlbmd0IGRhYmVpIHNvIHVuZ2VzY2hpY2t0LCBkYXNzIG1hbiBkYXMgYXVjaCBhbHMgd3VyZgp6YWVobGVuIGtvZW5udGUpCndrIHdpcmZ0IHp1IHd3Cnd3IHByZWxsdCwgcHJlbGx0IHp1IHdsCndsIHdpcmZ0IHp1IHdrCndrIHByZWxsdCwgd2lyZnQgenUgd3cKd3cgcHJlbGx0LCB3aXJmdCB6dSB3bAp3bCB3aXJmdCB6dSB3ayAoZXZ0bC4ga3VyemVyIGtvbnRha3Qgd3csIGFiZXIgbmljaHQgZ2VuYXUgenUgc2VoZW4pCndrIHdpcmZ0IHp1IHd3Cnd3IHByZWxsdCwgd2lyZnQgenUgd2wKd2wgd2lyZnQgenUgd2sKd2sgcHJlbGx0LCB3aXJmdCB6dSB3dwp3dyBwcmVsbHQuIHByZWxsdCB6dSB3bAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFza2V0YmFsbCAoUGhvYm9zLCAgOC4gTWFpIDIwMDQsIDE4OjUzOjQ2KToKfiMhIHJuPU5penpsIHJ0PTEwODQwMzUwNDIgcmc9d3d3Cn4jISB0aWQ9MTA4NDAzMjc4MwpPaywgd2VyIGRhcyB3ZWlzcywgZGFzIGdsZWljaGUgbm9jaG1hbCBmdWVyIGRhcyBzY2h3YXJ6ZSBUZWFtIC4uCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1Z2Vua3JlYnNhbGFybSAuLi4gYWJlciBnZWlsIChNb3Jnb3RoLCAgOS4gTWFpIDIwMDQsIDEyOjM2OjIzKToKaHR0cDovL3d3dy5naXJsemNhbXAuY29tL2tiZHIuaHRtCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYXNrZXRiYWxsIChBcmVlbGFuaXIsICA5LiBNYWkgMjAwNCwgMTM6NDA6MjEpOgp+IyEgcm49Tml6emwgcnQ9MTA4NDAzNTA0MiByZz13d3cKfiMhIHRpZD0xMDg0MDMyNzgzClJlbm50IGRhIGF1Y2ggd2llZGVyIGVpbiBUeXAgaW0gQWZmZW5rb3N0dWVtIGR1cmNocyBCaWxkIHVuZCBrZWluZXIgYmVtZXJrdAppaG4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXZpbCBJbnNpZGUgOikgKE1vcmdvdGgsIDEwLiBNYWkgMjAwNCwgMTk6NDQ6MTIpOgpodHRwOi8vd3d3LmtpcmNoZS1oYW5ub3Zlci5kZS9pbWFnZXMvbWFya3RraXJjaGUuZ2lmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGV2aWwgSW5zaWRlIDopIChKZW5hbmRyYSwgMTAuIE1haSAyMDA0LCAxOTo0Nzo1MCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODQyMTEwNTIgcmc9d3d3Cn4jISB0aWQ9MTA4NDIxMTA1MgpBdWYgMiBkZXIgYW5kZXJlbiBTZWl0ZW4gc2luZCBEYXZpZHNzdGVybmUuIEdvIGZpZ3VyZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJhc2tldGJhbGwgKFZpbmNlbnQsIDExLiBNYWkgMjAwNCwgMDA6NTI6MzEpOgp+IyEgcm49QXJlZWxhbmlyIHJ0PTEwODQxMDI4MjEgcmc9d3d3Cn4jISB0aWQ9MTA4NDAzMjc4MwpIaSEKCkJpZSBkZW0gTGluaywgZGVuIFBob2JvcyBnZXBvc3RldCBoYXQsIGhhbmRlbHQgZXMgc2ljaCB1bSBlaW4gVGVzdC1WaWRlbywKYmVpIGRlbSBkaWUgV2Focm5laG11bmcgdW5kIEF1Zm1lcmtzYW1rZWl0IGRlciBNZW5zY2hlbiBnZXBydWVmdCB3ZXJkZW4gc29sbC4KRGllc2VzIFZpZGVvIHdpcmQgaW5uZXJoYWxiIHZvbiBaYXViZXJrcmVpc2VuIGRhenUgdmVyd2VuZGV0LCB1bSBkYXJ6dWxlZ2VuLAp3aWUgbGVpY2h0IE1lbnNjaGVuIHVuZCBpaHJlIEF1Zm1lcmtzYW1rZWl0IHp1IGJlZWluZmx1c3NlbiBzaW5kLiBJbQpGYWNoamFyZ29uIHNpbmQgWmF1YmVya3VlbnN0bGVyIGphIFdhaHJuZWhtdW5nc3RhZXVzY2h1bmdza3VlbnN0bGVyLCB1bmQKc29sY2hlIFVudGVyc3VjaHVuZ2VuIGJ6dy4gRXhwZXJpbWVudGUgd2llIGluIGRlbSB6aXRpZXJ0ZW4gVmlkZW8KZGVtb25zdHJpZXJlbiBhbnNjaGF1bGljaCB3aWUgZGllIFdhaG5laG11bmcgZGVyIEJlb2JhY2h0ZXIgZ2V0YWV1c2NodCB3ZXJkZW4Ka2FubiwgYXVjaCB3ZW5uIGRhcyAic3RvZXJlbmRlIiBFbGVtZW50IHJlY2h0IGRldXRsaWNoIHNpY2ggaW4gU3plbmUgc2V0enQuClNlbGJzdCBiZWkgWmF1YmVyZXJuIHNlaGVuIG51ciBrbmFwcCBkaWUgSGFlbGZ0ZSBkZW4gR29yaWxsYS4gT2ZmZW5zaWNodGxpY2gKc2NoZWludCBkaWUgQXVmZ2FiZSwgZGllIEJhbGx3ZWNoc2VsIGRlcyB3ZWlzc2VuIFRlYW1zIHp1IHphZWhsZW4sIGdlbnVlZ2VuZApBYmxlbmt1bmcgenUgZXJ6ZXVnZW4gYnp3LiBkaWUgQmVvYmFjaHRlciBzbyBzdGFyayB6dSBiZXNjaGFlZnRpZ2VuLCBkYXNzCmRpZSBVbm5vcm1hbGl0YWV0IGdhciBuaWNodCB3YWhyZ2Vub21tZW4gd2lyZCAtIHp1bWluZGVzdCBuaWNodCB2b24gZGVyCk1laHJoZWl0IGRlciBCZW9iYWNodGVyLgoKQWxsZXJkaW5ncyBmdW5rdGlub2llcnQgZGllc2VyIFRlc3QgbnVyIGluIGRlciBlbnRzcHJlY2hlbmRlbiBVbWdlYnVuZy4gVW5kCmhpZXIgbXVzcyBzaWNoIFBob2JvcyBhbiBkaWUgTmFzZSBmYXNzZW4gbGFzc2VuOiBEaWVzZW4gVGVzdCBpbiBlaW5lbSBGb3J1bQp6dSBwb3N0ZW4gbWFjaHQgZWlnZWJudGxpY2gga2VpbmVuIFNpbm4sIGRlbm4gZGVyIFRlc3QgemllbHQgYXVmIGZvbGdlbmRlClB1bmt0ZSBhYjoKCi0gQWJsZW5rdW5nIGRlcyBadXNjaGF1ZXJzIGR1cmNoIGVpbmUgQXVmZ2FiZSwgZGllIGVyIGluICJFY2h0emVpdCIKYmV3YWVsdGlnZW4gbXVzcy4gRGVyIFp1c2NoYXVlciBtdXNzIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGVyIGtlaW5lCk1vZWdsaWNoa2VpdCBoYXQsIGRpZSBBdWZnYWJlIHp1IHdpZWRlcmhvbGVuLgotIEtvbmt1cnJlbnpnZWRhbmtlIHVudGVyIGRlbiBadXNjaGF1ZXJuOiBEZXIgamV3ZWlsaWdlIFp1c2NoYXVlciB3aWxsCnVuYmVkaW5ndCBkaWUgcmljaHRpZ2UgQW56YWhsIGRlciBCYWxsLVBhZXNzZSBlcm1pdHRlbG4sIHVtIG5pY2h0IGltIGRpcmVrdGVuClZlcmdsZWljaCB6dSBkZW4gYW5kZXJlbiBadXNjaGF1ZXJuIHVudGVybGVnZW4genUgc2VpbiB1bmQgbWl0IGVpbmVyIGZhbHNjaGVuClphaGwgYXVmenVmYWxsZW4uCgpNaXQgYW5kZXJlbiBXb3J0ZW4sIGVzIHdpciBoaWVyIGF1c2dlbnV0enQsIGRhc3MgZGVyIFp1c2NoYXVlciBpbiBlaW5lClN0cmVzcy1TaXR1YXRpb24ga29tbXQuIElubmVyaGFsYiBlaW5lcyBGb3J1bXMgZnVua3Rpb25pZXJ0IGRhcyBuYXR1ZXJsaWNoCm5pY2h0IGluIGRlciBiZXNjaHJpZWJlbmVuIFdlaXNlLgoKR3J1c3MKVmluY2VudAoKUC5TLjogSXN0IGRlbm4gamVtYW5kZW0gYXVmZ2VmYWxsZW4sIGRhc3MgZGVyIGJ6dy4gZGllIEJhZWxsZSB3YWVocmVuZCBkZXMKVmlkZW9zIGF1c2dldGF1c2NodCB3ZXJkZW4/IFVuZCB3ZW5uIGphLCB3aWUgb2Z0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQmFza2V0YmFsbCAoTXVhZGliLCAxMS4gTWFpIDIwMDQsIDExOjE2OjIwKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA4NDIyOTU1MSByZz13d3cKfiMhIHRpZD0xMDg0MDMyNzgzCmVyc3RhdW5saWNoZXJ3ZWlzZSB0YXVjaHQgZGllc2VzIHZpZGVvIGluIGVpbmVyIGZlcm5zZWhkb2t1bWVudGF0aW9uIHVlYmVyCndhaHJuZWhtdW5nc2RlZmVrdGUgYXVmCmFtIGVuZGUgZGVyIHNob3cKdW5kIGZ1ZXIgZGllamVuaWdlbiBkaWUgbmljaHQgZ2xhdWJlbiBrb2VubmVuIGRhc3MgbWFuIGRlbiBnb3JpbGxhIHVlYmVyc2VoZW4Ka29lbm50ZSB3ZXJkZW4gbm9jaG1hbCBhdXNjaG5pdHRlIGF1cyBkZXIgZG9rdW1lbnRhdGlvbiBnZXplaWd0IHVuZCBzaWVoZSBkYSwKaW0gIGhpbnRlcmdydW5kIHRhdWNodCBkZXNvZWZ0ZXJlbiBlaW4gbWFubiBpbSBnb3JpbGxha29zdHVlbSBhdWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEJhc2tldGJhbGwgKEJvaW5nLCAxMS4gTWFpIDIwMDQsIDExOjE5OjAyKToKfiMhIHJuPU11YWRpYiBydD0xMDg0MjY2OTgwIHJnPXd3dwp+IyEgdGlkPTEwODQwMzI3ODMKV2VubiBtaXIgamV0enQgbm9jaCBqZW1hbmQgdmVycmFldCB3aWUgaWNoIGRhcyBWaWRlbyBhdWNoIG1hbCBhbnNjaGF1ZW4gCmthbm4gLi4uIGlyZ2VuZHdpZSBrb21tdCBkYSBiZWkgbWlyIG5pY2h0cy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi4uYWJlciBpY2ggc2NoYWZmIGtlaW4gZ2FuemVzIChNdXBmZWwsIDExLiBNYWkgMjAwNCwgMjE6NDU6MjEpOgpodHRwOi8vd3d3LnRvb25zdGVyLmRlL2ZsYXNoY2FydG9vbnM/cGFnZT0zCgozLiBPaywgd2FyIGRlciBlcnN0ZSBWZXJzdWNoIDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC4uLmFiZXIgaWNoIHNjaGFmZiBrZWluIGdhbnplcyAoUm9uZGEsIDExLiBNYWkgMjAwNCwgMjI6MjE6NTgpOgp+IyEgcm49TXVwZmVsIHJ0PTEwODQzMDQ3MjEgcmc9d3d3Cn4jISB0aWQ9MTA4NDMwNDcyMQpPaywgMzEgS2lkcywgZGFuYWNoIEFic3R1cnogbWl0IEJlbGFkdW5nIC0ga29tbXQgZGEgZWlnZW50bGljaCBub2NobWFsIHdhcwphbmRlcmVzPyA7LSkKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC4uLmFiZXIgaWNoIHNjaGFmZiBrZWluIGdhbnplcyAoUm9uZGEsIDExLiBNYWkgMjAwNCwgMjI6MjU6MDIpOgp+IyEgcm49Um9uZGEgcnQ9MTA4NDMwNjkxOCByZz13d3cKfiMhIHRpZD0xMDg0MzA0NzIxCk5hamEsIG1hbCBuZW4gc2VsYnN0LXJlcGx5IDstKQoKQXVmIGRlciBTaXRlIGdpYnRzIG5vY2ggbmVuIHBhYXIgYW5kZXJlIG5ldHRlIFNhY2hlbiAtIHpCIGRlbiBoaWVyOgpodHRwOi8vd3d3LnRvb25zdGVyLmRlL2ZsYXNoY2FydG9vbnM/cGFnZT01CgpGbGFzaCBub3R3ZW5kaWcsIFNvdW5kIHNpbm52b2xsLi4uCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAuLi5hYmVyIGljaCBzY2hhZmYga2VpbiBnYW56ZXMgKE11cGZlbCwgMTEuIE1haSAyMDA0LCAyMjozNzowOSk6Cn4jISBybj1Sb25kYSBydD0xMDg0MzA2OTE4IHJnPXd3dwp+IyEgdGlkPTEwODQzMDQ3MjEKSWNoIGhhYiAzNiwgZGFubiBBYmJydWNoIDspIFdlbm4gbWFucyBlaW5tYWwgZ2VyYWxsdCBoYXQuLi4uIGxlaWRlciBzY2hlaW50cwprZWluZW4gTGV2ZWwgMiB6dSBnZWJlbiA7KQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdvb2dsZS1XZXR0YmV3ZXJiIChSb25kYSwgMTIuIE1haSAyMDA0LCAwMDoyODoxNyk6CkhpLAoKdmllbGxlaWNodCBoYXQgamEgamVtYW5kIEx1c3QsIHNlaW5lIENoYW5jZW4gYmVpIGVpbmVtIFdldHRiZXdlcmIgKGdlZ2VuKQpHb29nbGUgenUgdGVzdGVuOgoKaHR0cDovL3d3dy5zbWFsbC1idXNpbmVzcy1zb2Z0d2FyZS5uZXQvZ29vZ2xlLWNvbnRlc3QuaHRtCgpFcyBnZWh0IGRhcnVtLCBiZWkgR29vZ2xlIGFscyBlcnN0ZSBTaXRlIGZ1ZXIgZGVuIFN1Y2hiZWdyaWZmICJOaWdyaXR1ZGUKVWx0cmFtYXJpbmUiIGdlZnVuZGVuIHp1IHdlcmRlbiwgZXMgd2lua3QgZWluIGlQb2QgdW5kIGVpbiBURlQtRGlzcGxheS4uLgoKVmllbCBTcGFzcyBiZWltIEdvb2dsZS1GdWV0dGVybiwKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYXNrZXRiYWxsIChWaW5jZW50LCAxMi4gTWFpIDIwMDQsIDEzOjQwOjU5KToKfiMhIHJuPU11YWRpYiBydD0xMDg0MjY2OTgwIHJnPXd3dwp+IyEgdGlkPTEwODQwMzI3ODMKSm8uIERhcyBWaWRlbyB3dXJkZSBmdWVyIGlyZ2VuZGVpbmUgcG9wdWxhZXJ3aXNzZW5zY2hhZnRsaWNoZSBUVi1Eb2t1IGdlZHJlaHQsCmJlaSBkZXIgZXMgYXVjaCB1bSBXYWhybmVobXVuZ3N0YWV1c2NodW5nIGdlaHQuIERhcyBzaW5kIGplZGVuZmFsbHMgZGllCkluZm9zLCBkaWUgaWNoIGF1cyBkZW0gU2VtaW5hciwgaW4gd2VsY2hlbSBkYXMgVmlkZW8gZ2V6ZWlndCB3dXJkZSwgemllaGVuCmtvbm50ZS4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJhc2tldGJhbGwgKE11YWRpYiwgMTMuIE1haSAyMDA0LCAxMDoyNzowMCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwODQzNjIwNTkgcmc9d3d3Cn4jISB0aWQ9MTA4NDAzMjc4Mwp3b2JlaSBpY2ggbWljaCBrb3JyaWdpZXJlbiBtdXNzLiBkYXMgdmlkZW8gaW4gZGVyIGRva3Ugd3VyZGUgYXVmIGVpbmVtCmJhc2tldGJhbGxjb3VydCBvZGVyIHdpZSBtYW4gZGFzIG5lbm50IGF1Zmdlbm9tbWVuLiBtaXQgZWNodGVuIGJhc2tldGJhbGxlcm4KdW5kIG5pY2h0IGlyZ2VuZHdlbGNoZW4gc3R1ZGlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnVlciBkZW4ga2xlaW5lbiBUZXJyb3Jpc3RlbiAoVGFuZ2FsdXIsIDEzLiBNYWkgMjAwNCwgMTM6NDA6MjIpOgpXb21pdCBtYW4gc2ljaCBhbGxlcyBiZXNjaGFlZnRpZ2VuIGthbm4uCgpodHRwOi8vc2NpZmkucGFnZXMuYXQva2ttZWdhc3RvcmUvaHRtbC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmdWVyIGRlbiBrbGVpbmVuIFRlcnJvcmlzdGVuIChBbGJvaW4sIDEzLiBNYWkgMjAwNCwgMTg6MDk6MTkpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTA4NDQ0ODQyMiByZz13d3cKfiMhIHRpZD0xMDg0NDQ4NDIyCkthcnRvZmZlbGthbm9uZW4gc2luZCBkb2NoIG51biB3aXJrbGljaCBuaXggbmV1ZXMsIGxlZGlnbGljaCBkYXMgbWl0IGRlbgp2ZXJzY2hpZWRlbmVuIFp1ZW5kZXJuIGthbm50ZSBpY2ggbm9jaCBuaWNodC4gVW5kOiBuZWluIGljaCBoYWJlIGJpc2hlciBub2NoCmtlaW5lIEthcnRvZmZlbGthbm9uZW4gYXVzcHJvYmllcnQuIEluIG1laW5lciB3aWxkZW4gWmVpdCBoYWJlbiB3aXIgZGFmdWVyCm1laHIgbWl0IFVua3JhdXQtRXggYnp3LiBTY2h3YXJ6cHVsdmVyIGhhbnRpZXJ0LCBpc3QgYWJlciBzY2hvbiBsYW5nZSBoZXIsIHVuZAppY2ggZ2xhdWJlIGJldm9yIGljaCBkdXJjaCBpcmdlbmR3ZWxjaGUgcGFyYW5vaWRlbiBMZXV0ZSBhdWYgbmVyIEthcmliaWtpbnNlbAptaXQgbmVtIFBsYWVzdGV0dWV0Y2hlbiBhdWYgZGVtIEtvcGYgc3BhemllcmVuIGdlaGUsIGxhc3NlIGljaCBsaWViZXIgd2VpdGVyCmRpZSBGaW5nZXIgZGF2b24uCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGZ1ZXIgZGVuIGtsZWluZW4gVGVycm9yaXN0ZW4gKEltZGEsIDE0LiBNYWkgMjAwNCwgMDE6NTE6MzMpOgp+IyEgcm49VGFuZ2FsdXIgcnQ9MTA4NDQ0ODQyMiByZz13d3cKfiMhIHRpZD0xMDg0NDQ4NDIyCkFzbywgbmUgS2FydG9mZmVsd3VtbWUuIERhIGZhZWxsdCBtaXIgZWluLCBtZWluZSB2ZXJzdGF1YnQgZ3JhZCBpbSBLZWxsZXIKbWVpbmVyIHZvcmxldHp0ZW4gV0cuIFZpZWxlaWNodCBzb2xsdCBpY2ggZGllIG1hbCBiZWkgZWJheSB2ZXJrYXVmZW4uIE9kZXIKZnVlciBuZW4gbWVnYXNjaG1hcnJuYXJ0aWtlbCBhdXNzZXR6ZW4uIE9kZXIgd2lsbCBzaWUgaGllciBqZW1hbmQgdW5iZWRpbmd0CmhhYmVuPwpFY2tkYXRlbjogQnJlbm5rYW1tZXIgMTA1bW14MjAwMG1tLCAyIExhZXVmZSB6dW0gd2VjaHNlbG46CjF4IDEwNW1teDQwMDBtbSAoTWl0IEJyZW5ua2FtbWVyKS4gRGFzIGlzdCBkYXMgMS41bCBQRVQgQ29sYWZsYXNjaGVua2FsaWJlci4KSGFsYnZvbGxlIGZsaWVnZW4gYW0gd2VpdGVzdGVuLgoxeCA0NW1teDM1MDBtbS4gS2FydG9mZmVsbiwgRG9zZW4gdW5kIHNvIFpldWdzLiBGbGllZ3Qgd2VpdCwgd2llZGVyaG9sZW4gaXMKbmljaC4KClVuZCB1bmJlZGluZ3QgbWFsIE5hY2h0cyBwcm9iaWVyZW4sIGRhcyBNdWVuZHVuZ3NmZXVlciBpc3QgaW1wb3NhbnQuCkpvLCB3YXMgbWFjaCBpY2ggbnUgZGFtaXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGZ1ZXIgZGVuIGtsZWluZW4gVGVycm9yaXN0ZW4gKEdsb2luc29uLCAxNC4gTWFpIDIwMDQsIDEwOjA3OjA4KToKfiMhIHJuPUltZGEgcnQ9MTA4NDQ5MjI5MyByZz13d3cKfiMhIHRpZD0xMDg0NDQ4NDIyCkF1ZmhlYmVuLCBWYXRlcmxhbmQgdmVydGVpZGlnZW4gd2VubiBkaWUgTW9uZ29sZW4gYW4gZWluZW0gU2Ftc3RhZyBoaWVyIG1hbAplaW5mYWxsZW4gc29sbHRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBmdWVyIGRlbiBrbGVpbmVuIFRlcnJvcmlzdGVuIChNb25nb2xlLCAxNC4gTWFpIDIwMDQsIDEyOjM3OjExKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODQ1MjIwMjggcmc9d3d3Cn4jISB0aWQ9MTA4NDQ0ODQyMgpEYXMgc2luZCB3aXIgZG9jaCBzY2hvbiAtIER1IGhhc3QgZXMgbnVyIG5vY2ggbmljaHQgYmVtZXJrdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRW5kbGljaCBlaW4gYWJzb2x1dCBlbXBmZWhsZW5zd2VydGVyLi4uIChWaW5jZW50LCAxNC4gTWFpIDIwMDQsIDIzOjE4OjExKToKLi4uWm9tYmllLUZpbG0uCgpodHRwOi8vd3d3LmdvcmVob3VuZGluYy5jb20KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkV2ZS4uLiAoTWFhcmcsIDI1LiBNYWkgMjAwNCwgMjI6MzE6MjEpOgpodHRwOi8vd3d3LnllbGxvc3Ryb20uZGUKCkFscyBGcmFnZSBlaW5nZWJlbjogJ3ppZWggZGljaCBhdXMnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXZlLi4uIChNYWFyZywgMjUuIE1haSAyMDA0LCAyMjozMzowMSk6Cn4jISBybj1NYWFyZyBydD0xMDg1NTE3MDgxIHJnPXd3dwp+IyEgdGlkPTEwODU1MTcwODEKUFM6IERhbmFjaCAnbm9jaCBlaW5tYWwnIGVpbmdlYmVuLiA7bykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRXZlLi4uIChDYXR3ZWF6bGUsIDI1LiBNYWkgMjAwNCwgMjM6MDc6MjgpOgp+IyEgcm49TWFhcmcgcnQ9MTA4NTUxNzE4MSByZz13d3cKfiMhIHRpZD0xMDg1NTE3MDgxClBQUzogVW5kIGRhbm4gImJpdHRlIiA6LSkpKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFdmUuLi4gKEdyaW1tYm9ybiwgMjUuIE1haSAyMDA0LCAyMzoyNzo0Myk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4NTUxOTI0OCByZz13d3cKfiMhIHRpZD0xMDg1NTE3MDgxCkRhcyBhbnNjaGxpZXNzZW5kZSAic2NoYWRlIiBkYW5uIG5pY2h0IHZlcmdlc3Nlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHlyb3RlY2huaWMgTWFnaWMgKFJvbmRhLCAyNi4gTWFpIDIwMDQsIDAxOjA1OjExKToKLi4uIG1hbiBiZWFjaHRlIGJpdHRlIGRpZSBXYXJuaGlud2Vpc2UgYXVmIGRlciBTZWl0ZS4uLgoKaHR0cDovL2xhdGVyYWxzY2llbmNlLmNvLnVrL3B5cm9tYWdpYy8KCiJVbmJlbGlldmFibHkgRGFuZ2Vyb3VzIE1hZ2ljIFRyaWNrcyBmb3IgdGhlIE1hZ2ljaWFuIFdpdGggYSBEZWF0aCBXaXNoLCBmcm9tCnRoZSAxOTQ4IGVkaXRpb24gb2YgRm9ydHVuZXMgaW4gRm9ybXVsYXMsIGJ5IEcuRC5IaXNjb3ggJiBQcm9mLiBTbG9hbmUiCgpSb25kYSAqc3RhdW5lbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppcmdlbmR3aWUgbmllZGxpY2guLiA7KSAoRGFya3dpbmcsIDI2LiBNYWkgMjAwNCwgMjI6NTI6MDQpOgp3d3cuamFnYW4uZGUKCkRhcmt3aW5nLCBncmluc2VuZCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKKlBydXN0KiAoTW9yZ290aCwgMjcuIE1haSAyMDA0LCAwNzo0NDo0Mik6Cmh0dHA6Ly93d3cuc21saW5rcy5jb20vc290dy93aHkvCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFsZmxpZmUgMiBDYXNlIE1vZCAoVmluY2VudCwgMjcuIE1haSAyMDA0LCAxNjozNjo1OCk6ClN0eWxpc2ghIFN0eWxpc2ghIDopCgpodHRwOi8vbWVtYmVycy5ob21lLm5sL2dpcy8KCihIaW53ZWlzOiBWaWVsZSBCaWxkZXIhKQoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1RGPyAoUGhvYm9zLCAzMC4gTWFpIDIwMDQsIDEwOjEwOjUxKToKQWNodHVuZywgZGllIGZvbGdlbmRlbiBMaW5rcyBtYWNoZW4gZGV1dGxpY2gsIHdhcnVtIE11c2lrIChpbiBLb21iaW5hdGlvbgptaXQgRHJvZ2VuIG9kZXIgQWxrb2hvbD8pIHNvIGdlZmFlaHJsaWNoIGlzdDoKCmh0dHA6Ly9rcWUuZGUvcHJ1ZWxsL3RlY2huby13YXJudW5nLmpwZwpodHRwLi8vZnVuLmRybm8uZGUvbW92aWVzL21hcmlhLmF2aSAoMTAuNCBNQikKCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXVEY/IChQaG9ib3MsIDMwLiBNYWkgMjAwNCwgMTA6MTM6NTcpOgp+IyEgcm49UGhvYm9zIHJ0PTEwODU5MDQ2NTEgcmc9d3d3Cn4jISB0aWQ9MTA4NTkwNDY1MQp1cHMsIGltIHp3ZWl0ZW4gbGluayBmZWhsdCB2b3JuZSBlaW4gcHVua3QgOikKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU29tZXRoaW5nIEF3ZnVsIChOaWJlbCwgIDMuIEp1biAyMDA0LCAxOTo0NjoyMCk6Cmh0dHA6Ly93d3cuc29tZXRoaW5nYXdmdWwuY29tL2FydGljbGVzLnBocD9hPTYxCiAgLSBOaWJlbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpYT1IgKFBob2JvcywgIDMuIEp1biAyMDA0LCAyMjowNDo1MSk6ClNwaWVsZS1UaXBwOgoKd3d3Lm92aW5lLm5ldC9nYW1lLXhvci5waHAgKERvd25sb2FkLCBXaW5kb29mLCAyLjUgTUIpCnhvci5vdmluZS5uZXQgICAgICAgICAgICAgIChIaWdoc2NvcmUgdXN3LikKCkFwc3VsdWh0IHNjaHdpZXJpZ2VzIEZyZWV3YXJlLVNwaWVsIGRlciBLYXRlZ29yaWUgU29rb2JhbiwgYWJlciBlaW5pZ2UKTnVtbWVybiBoYWVydGVyLiBFcyBnZWh0IGRhcnVtLCBtaXQgbW9lZ2xpY2hzdCB3ZW5pZ2VuIFp1ZWdlbiBhbGxlIE1hc2tlbgplaW56dXNhbW1lbG4gdW5kIGRlbiBBdXNnYW5nIHp1IGVycmVpY2hlbi4gUmVpbmVzIERlbmtzcGllbCAoa2VpbiBUaW1pbmcKZXJmb3JkZXJsaWNoLCBrZWluIFplaXRkcnVjaykuIEJpc2hlciBoYXQgbm9jaCBuaWVtYW5kIGFsbGUgMTUgTGV2ZWwgCmdlbG9lc3QgdW5kIGRhcyB1bHRpbWF0aXZlIFJhZXRzZWwgZ2Vsb2VzdC4KCgpQaG9ib3MgLSBhcmJlaXRldCBkcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9qZWt0IDE2OiBLYXR6ZSBtaXQgVG9hc3QgYXVmIFJ1ZWNrZW4gKFZpbmNlbnQsICA3LiBKdW4gMjAwNCwgMTE6MDU6MzMpOgpFbmRsaWNoIGVpbmUgZnVuZGFtZW50aWVydGUgQWJoYW5kbHVuZyB1ZWJlciBkaWUgRnJhZ2UsIHdhcyBwYXNzaWVydCwgd2VubgoKbWFuIGRlciBsYWJvcmVpZ2VuZW4gS2F0emUgZWluIFRvYXN0IGF1ZiBkZW4gUnVlY2tlbiBiaW5kZXQgdW5kIHNpZSBkYW5uCnZvbiBlaW5lbSBob2VoZXJlbiBQdW5rdCBmYWxsZW4gbGFlc3N0LgpodHRwOi8vd3d3Lml6ZXRpdC5kZS9wcm9qZWt0ZS8xNi9wMTZfMy5odG0KCkdydXNzClZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9qZWt0IDE2OiBLYXR6ZSBtaXQgVG9hc3QgYXVmIFJ1ZWNrZW4gKENhdHdlYXpsZSwgIDcuIEp1biAyMDA0LCAxMToxMTo0NCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwODY1OTkxMzMgcmc9d3d3Cn4jISB0aWQ9MTA4NjU5OTEzMwpEYSBpc3Qgc2NoYWV0enVuZ3N3ZWlzZSBlaW4gXzMgenV2aWVsLiBBYmVyIGRpZSBhbmRlcmVuICJQcm9qZWt0ZSIgc2luZCBhdWNoCmtudWZmaWcgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVybmV0enRlIEt1ZWhlIChDYXR3ZWF6bGUsICA5LiBKdW4gMjAwNCwgMTI6MjY6NTkpOgoKQmVpIEhlaXNlIGdla2xhdXQgbWFsIHdhcyBmdWVyIFBpdCogOikKCmh0dHA6Ly90aW55dXJsLmNvbS8yczJkdQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW56ZWxsZXIgOikgKERhcmt3aW5nLCAxMC4gSnVuIDIwMDQsIDIyOjQyOjEzKToKaHR0cDovL3d3dy5laW56ZWxsZXIudGsvCgpNdWFoYWhhLi4uIGtyYXNzIDopCkRhcmt3aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdG9wLW1vdGlvbiA6KSAoQXBvcGhpcywgMTAuIEp1biAyMDA0LCAyMjo1NToxOSk6Cmh0dHA6Ly93d3cubWFnZW5icm90Lm5ldC9zb25zdGlnZXMvc2Nod2VpbjEuaHRtCgpoZWhlCkFwbyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW56ZWxsZXIgOikgKEdsb2luc29uLCAxMS4gSnVuIDIwMDQsIDAyOjI1OjU0KToKfiMhIHJuPURhcmt3aW5nIHJ0PTEwODY5MDAxMzMgcmc9d3d3Cn4jISB0aWQ9MTA4NjkwMDEzMwoqcHJ1c3QqIERhcyBsb2hudCBzaWNoIGphIHdpcmtsaWNoLiBMZWlkZXIgZ2lidCBlcyBzb2xjaGUgLi4uIExlYmV3ZXNlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbnplbGxlciA6KSAoQmFtYnVsa28sIDExLiBKdW4gMjAwNCwgMTA6MDE6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA4NjkxMzU1NCByZz13d3cKfiMhIHRpZD0xMDg2OTAwMTMzCkphLCBpc3QgendhciBnZXN0ZWxsdCwgYWJlciBkZW5ub2NoIGd1dC4gVm9yIGFsbGVtIGRhcyB6d2VpdGUgIkljaCBiaW4gTWFmaWEiCmlzdCBnZW5pYWwuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWluemVsbGVyIDopIChCYW1iaSwgMTEuIEp1biAyMDA0LCAxMzo1MDo1Nyk6Cn4jISBybj1CYW1idWxrbyBydD0xMDg2OTQwOTE4IHJnPXd3dwp+IyEgdGlkPTEwODY5MDAxMzMKSWNoIGtyaWVnIGRhcyBkaW5nIG5pY2h0IHZvbiBkb3J0IHJ1bnRlcmdlbGFkZW4uIEthbm4gbWlyIHdlciBkYXMgdGVpbApzY2hpY2tlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbnplbGxlciA6KSAoQW1hcnlsbGlzLCAxMS4gSnVuIDIwMDQsIDE0OjI5OjAwKToKfiMhIHJuPUJhbWJpIHJ0PTEwODY5NTQ2NTcgcmc9d3d3Cn4jISB0aWQ9MTA4NjkwMDEzMwppY2gga2FubiBhbGxlIDMgTVAzcyBvbmxpbmUgc3RlbGxlbiwgYWJlciBpY2ggd2Vpc3MgbmljaHQsIG9iIGRhcyBsb2hudC4uLiA6KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRWluemVsbGVyIDopIChHbG9pbnNvbiwgMTEuIEp1biAyMDA0LCAxNDo1NTowMyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA4Njk1Njk0MCByZz13d3cKfiMhIHRpZD0xMDg2OTAwMTMzClNpZSBzaW5kIHdpcnIsIGFiYXJ0aWcgdW5kIHBhc3NlbiBnZW5hdSB6dSB1bnNlcmVyIGdlc3RyaWdlbiBlcnN0ZW4gdW5kCmxldHp0ZW4gV29obnVuZ3NiZXNpY2h0aWd1bmcgaW4gTmV1a29lbGxuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbnplbGxlciA6KSAoQmFtYmksIDExLiBKdW4gMjAwNCwgMTY6MDY6MTYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEwODY5NTY5NDAgcmc9d3d3Cn4jISB0aWQ9MTA4NjkwMDEzMwpCYW1idWxrbyBoYXQgc2llIG1pciBpbnp3aXNjaGVuIGdlbWFpbHQuIFRyb3R6ZGVtIGRhbmtlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU09QIChTY3JpcHQgT3JpZW50ZWQgUHJvZ3JhbW1pbmcpIChPZ28sIDEzLiBKdW4gMjAwNCwgMTM6NDM6MTgpOgpodHRwOi8vbWVyZC5zb3VyY2Vmb3JnZS5uZXQvcGl4ZWwvbGFuZ3VhZ2Utc3R1ZHkvc2NyaXB0aW5nLWxhbmd1YWdlLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyaWxsIGFuenVlbmRlbiAoTWFhcmcsIDEzLiBKdW4gMjAwNCwgMjM6Mjc6MjApOgpQYXBpZXI/ClNwaXJpdHVzPwpCZXppbj8KCgpGbHVlc3NpZ2VyIFNhdWVyc3RvZmYhCgpodHRwOi8vd3d3LmFtYnJvc2lhc3cuY29tL0FtYnJvc2lhX1RpbWVzL1NlcHRlbWJlcl85NS8yLjVIb3dUby5odG1sCgpaaXRhdDogIlRoZSBvbmx5IHByb2JsZW0gbm93IGlzIGdldHRpbmcgZGlubmVyIGNvb2tlZCBiZWZvcmUgdGhlIGJvdHRvbSBvZiB0aGUKZ3JpbGwgYnVybnMgdGhyb3VnaC4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWNlIGNyYXNoIChNb3Jnb3RoLCAxNS4gSnVuIDIwMDQsIDIzOjE5OjUwKToKaHR0cDovL3d3dy53cmVja2VkZXhvdGljcy5jb20vbmV3cGhvdG9zL3dlaXJkL3dlaXJkNDI4LnNodG1sCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5pY2UgY3Jhc2ggKEJhbWJ1bGtvLCAxNS4gSnVuIDIwMDQsIDIzOjMxOjU5KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA4NzMzNDM5MCByZz13d3cKfiMhIHRpZD0xMDg3MzM0MzkwCmh0dHA6Ly93d3cud3JlY2tlZGV4b3RpY3MuY29tL25ld3Bob3Rvcy93ZWlyZC93ZWlyZDE4Ny5zaHRtbAoKSGFiZW4gZGllIEZyYW56b3NlbiBLb2VsbiBlcm9iZXJ0PwoKQmFtYnVsa28KClAuUy46IERlciBGYWhyZXIgaXN0IG5pY2h0IGdlc3RvcmJlbiwgZXIgc2FzcyBuYWVtbGljaCAtIHdpZSBlcyBzaWNoIGdlaG9lcnQgLQphdWYgZGVyIGxpbmtlbiBTZWl0ZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVudGUgZ3V0LCBhbGxlcyBndXQ/IChQaG9ib3MsIDE2LiBKdW4gMjAwNCwgMjM6MjE6NTApOgpIbW0sIGRpZXNlcyBCaWxkIGhhdCBtaWNoIGpldHp0IGVjaHQgYmV0cm9mZmVuIGdlbWFjaHQuCgpodHRwOi8vZnVuLmRybm8uZGUvcGljcy9ub29vb28hLmpwZwoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW50ZSBndXQsIGFsbGVzIGd1dD8gKFJvbGFuZCwgMTcuIEp1biAyMDA0LCAwMDoxOTo1OCk6Cn4jISBybj1QaG9ib3MgcnQ9MTA4NzQyMDkxMCByZz13d3cKfiMhIHRpZD0xMDg3NDIwOTEwCiA6c2NobXVuemVsdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmljZSBjcmFzaCAoQXJlZWxhbmlyLCAxNy4gSnVuIDIwMDQsIDExOjU5OjU0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwODczMzUxMTkgcmc9d3d3Cn4jISB0aWQ9MTA4NzMzNDM5MApodHRwOi8vd3d3LndyZWNrZWRleG90aWNzLmNvbS9uZXdwaG90b3Mvd2VpcmQvd2VpcmQ0MTkuc2h0bWwKCkljaCBmaW5kZSBkZW4gR2VzaWNodHNhdXNkcnVjayBkZXMgUGZlcmRlcyBpbnRlcmVzc2FudCwgbWFuIHN0ZWxsZSBzaWNoIGpldHp0Cm51ciBub2NoIGRhcyBLb3Bmc2NodWV0dGVsbiB2b3IuLi4KQXJlZWxhbmlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgogOm8pIChWZWN0b3IsIDE3LiBKdW4gMjAwNCwgMTQ6NDI6MDApOgpodHRwOi8vd3d3LmViYXVtc3dvcmxkLmNvbS9zbG95ZC5odG1sCgpiaW4gYmVpIDk5IG1vdmVzLCBzb2xsdGUgenUgdW50ZXJiaWV0ZW4gc2Vpbi4KKGphIG1hbiBicmF1Y2h0IGZsYXNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6ICA6bykgKENyb2Z0LCAxNy4gSnVuIDIwMDQsIDE1OjA2OjU5KToKfiMhIHJuPVZlY3RvciBydD0xMDg3NDc2MTIwIHJnPXd3dwp+IyEgdGlkPTEwODc0NzYxMjAKNTkuIFNvbGx0ZSBhdWNoIHp1IHVudGVyYmlldGVuIHNlaW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAgOm8pIChCaWVsZWZlbGQsIDE3LiBKdW4gMjAwNCwgMTU6MDc6MzEpOgp+IyEgcm49Q3JvZnQgcnQ9MTA4NzQ3NzYxOSByZz13d3cKfiMhIHRpZD0xMDg3NDc2MTIwCkphLCA1Ny4KCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICA6bykgKEFueXNpZG9yYSwgMTcuIEp1biAyMDA0LCAxNTo0MDo0Nik6Cn4jISBybj1CaWVsZWZlbGQgcnQ9MTA4NzQ3NzY1MSByZz13d3cKfiMhIHRpZD0xMDg3NDc2MTIwCjU0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAgOm8pIChEYXJrd2luZywgMTcuIEp1biAyMDA0LCAxNzowMDozNik6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTA4NzQ3OTY0NiByZz13d3cKfiMhIHRpZD0xMDg3NDc2MTIwCjQ3IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogIDpvKSAoTW9yZ290aCwgMTcuIEp1biAyMDA0LCAxNzozNjowNSk6Cn4jISBybj1EYXJrd2luZyBydD0xMDg3NDg0NDM2IHJnPXd3dwp+IyEgdGlkPTEwODc0NzYxMjAKNDIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6ICA6bykgKEdyaW1tYm9ybiwgMTcuIEp1biAyMDA0LCAyMzowNjoxNCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODc0ODY1NjUgcmc9d3d3Cn4jISB0aWQ9MTA4NzQ3NjEyMAozNQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyaWxsIGFuenVlbmRlbiAoS2VsbHlidW5keSwgMTkuIEp1biAyMDA0LCAxOToyODoxNCk6Cn4jISBybj1NYWFyZyBydD0xMDg3MTYyMDQwIHJnPXd3dwp+IyEgdGlkPTEwODcxNjIwNDAKSG1tbW0uIFVuZCBkYXMgR3JpbGxndXQgaGF0IGJlc3RpbW10IHNjaG9uIGRhcyBTb25uZW5zeXN0ZW0gdmVybGFzc2VuLgoKU0NOUiwgQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIFNhZW5nZXIgdW5kIGFsbGUgZGllIGVzIHdlcmRlbiB3b2xsZW4uIChHcnVtcGYsIDIxLiBKdW4gMjAwNCwgMDg6NTE6MjIpOgpBdWNoIG51ZXR6bGljaCBmdWVyIGRlbiBuYWVjaHN0ZW4gU3BhbmllbnVybGF1YiB3ZW5uIG1hbiBkYW5uIHNjaG9uIGV0d2FzCnRyYWRpdGlvbmVsbGVzIExJZWRndXQgYXVzIGRlbSBFZmYgRWZmIGJlaGVyc2NodDoKaHR0cDovL3d3dy5nYWxlcmllLXJhaG1lbmxvcy5kZS9rYXJhb2tlLmh0bWwKS2xhdHNjaGVuIGFtIEVuZGUgbmljaHQgdmVyZ2Vzc2VuIQpHcnVtcGYgZ3J1bXBmdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgU2FlbmdlciB1bmQgYWxsZSBkaWUgZXMgd2VyZGVuIHdvbGxlbi4gKFZlY3RvciwgMjEuIEp1biAyMDA0LCAxMzoxODo0Mik6Cn4jISBybj1HcnVtcGYgcnQ9MTA4NzgwMDY4MiByZz13d3cKfiMhIHRpZD0xMDg3ODAwNjgyCm1pc3QsIG9ocnd1cm0uCm5ldHQgaXN0IGF1Y2ggZGVyIGtvbW1lbnRhciBiZWltIGVyc3RlbiByZWZyYWluIHVudGVuIGluIGRlciBtaXR0ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIGxlZ2FsZXMgTVVEIChWaW5jZW50LCAyMS4gSnVuIDIwMDQsIDE0OjUyOjU2KToKRGllc2VzIE1hbCBrZWluZSBVUkwgc29uZGVybiBkaXJla3QgZWluIEZ1bmRzdHVlY2sgYXVzIGRlbSBXV1cuIDopCgogICBWaW5jZW50CgpXZW5uIG1hbiBkaWUgR2VzZXR6ZSAqYWxsZXIqIExuZGVyIGJlcmNrc2ljaHRpZ3QsIHNpZWh0IGRhcyBNVUQgZGFubiBldHdhIHNvCmF1czoKCgoKPT09IExFR0FMRVMgTVVEID09PQoKCgpIZXJ6bGljaCB3aWxsa29tbWVuIGltIExlZ2FsZW4gTVVEIQoKCgpEYXMgZXJzdGUgTVVELCBkYXMgZ2VnZW4ga2VpbiBHZXNldHogYWxsZXIgMTk0IFN0YWF0ZW4gdW5zZXJlcyBzY2hvZW5lbgpQbGFuZXRlbiB2ZXJzdG9lc3N0ISBBdXNzZXJkZW0gYWNodGVuIHdpciBzZWhyIGRhcmF1ZiwgbmllbWFuZGVuIHp1CnZlcmFlcmdlcm4uIFZpZWwgU3Bhc3MhCgoKCj09PT09PT09PT09PT09PT09PT0KCgoKV2FlaGxlIGVpbmVuIE5hbWVuLi4uCgoKCgoKID4+IHN1cGVybWFuCgoKCgoKRGllc2VyIE5hbWUgaXN0IGVpbiByZWdpc3RyaWVydGVzIFdhcmVuemVpY2hlbi4gQml0dGUgd2FlaGxlIGVpbmVuIGFuZGVyZW4KTmFtZW4uCgoKCgoKID4+IGdhbmRhbGYKCgoKCgpEaWVzZXIgTmFtZSBpc3QgZWluIHJlZ2lzdHJpZXJ0ZXMgV2FyZW56ZWljaGVuLiBCaXR0ZSB3YWVobGUgZWluZW4gYW5kZXJlbgpOYW1lbi4KCgoKCgogPj4gY2xhdWRlCgoKCgoKQXVzIFJ1ZWNrc2ljaHQgYXVmIGRpZSBHZWZ1ZWhsZSBkZXIgVVNBIGFremVwdGllcmVuIHdpciBrZWluZSBmcmFuem9lc2lzY2hlbgpOYW1lbiBtZWhyLiBCaXR0ZSB3YWVobGUgZWluZW4gYW5kZXJlbiBOYW1lbi4KCgoKCgogPj4gd2lsbGlhbQoKCgoKCkF1cyBGYWlybmVzcyBnZWdlbnVlYmVyIEZyYW5rcmVpY2ggYWt6ZXB0aWVyZW4gd2lyIGF1Y2gga2VpbmUgZW5nbGlzY2hlbiBOYW1lbgptZWhyLiBCaXR0ZSB3YWVobGUgZWluZW4gYW5kZXJlbiBOYW1lbi4KCgoKCgogPj4gbWF4CgoKCgoKS2Fpc2VyIE1heGltaWxpYW4gSS4gaGF0IDE0OTkgZ2VnZW4gZGllIFNjaHdlaXplciBLcmllZyBnZWZ1ZWhydC4gQXVzClJ1ZWNrc2ljaHQgYXVmIFNjaHdlaXplciBNdWRkZXIgYWt6ZXB0aWVyZW4gd2lyIGRpZXNlbiBOYW1lbiBuaWNodC4gQml0dGUKd2FlaGxlIGVpbmVuIGFuZGVyZW4gTmFtZW4uCgoKCgoKID4+IGdvZHppbGxhCgoKCgoKRGllc2VyIE5hbWUgaXN0IGVpbiByZWdpc3RyaWVydGVzIFdhcmVuemVpY2hlbi4gQml0dGUgd2FlaGxlIGVpbmVuIGFuZGVyZW4KTmFtZW4uCgoKCgoKID4+IHFydnR6amtoa2wKCgoKCgpXaWxsa29tbWVuLCBRcnZ0empraGtsIQoKCgpEdSBzdGVoc3QgaW4gZWluZW0gUmF1bS4gQXVzZ2FlbmdlOiBOb3JkZW4gdW5kIFN1ZWRvc3Rlbi4KCgoKCgogPj4gYmV0cmFjaHRlIGJvZGVuCgoKCgoKRWluIEJvZGVuLgoKCgoKCiA+PiBiZXRyYWNodGUgd2FuZAoKCgoKCkVzIGdpYnQgaGllciBlaW5lIFdhbmQuCgoKCgoKID4+IHJ1ZmUgaGFsbG8KCgoKCgpMZWlkZXIgZ2lidCBlcyBpbSBMRUdBTEVOIE1VRCBrZWluZSBLb21tdW5pa2F0aW9uc2thbmFlbGUuIE1hbiBrb2VubnRlIGphCmV0d2FzIElsbGVnYWxlcyBhZXVzc2Vybi4KCgoKCgogPj4gc2FnZSBtaXN0bXVkCgoKCgoKTGVpZGVyIGdpYnQgZXMgaW0gTEVHQUxFTiBNVUQga2VpbmUgS29tbXVuaWthdGlvbnNrYW5hZWxlLCBkYXp1IGdlaG9lcnQgYXVjaAoic2FnZSIuCgoKCgoKID4+IHNvCgoKCgoKRHUgc3RlaHN0IGluIGVpbmVtIFJhdW0uIEF1c2dhZW5nZTogV2VzdGVuIHVuZCBOb3Jkd2VzdGVuLgoKCgoKCiA+PiB3CgoKCgoKRHUgc3RlaHN0IGluIGVpbmVtIFJhdW0uIEF1c2dhZW5nZTogU3VlZGVuIHVuZCBPc3Rlbi4KCgoKCgogPj4gcwoKCgoKCkR1IHN0ZWhzdCBpbiBlaW5lbSBSYXVtLgoKSGllciBzdGVodCBlaW4gTW9uc3Rlci4KCkF1c2dhZW5nZTogV2VzdGVuIHVuZCBOb3JkZW4uCgoKCgoKID4+IGJldHJhY2h0ZSBtb25zdGVyCgoKCgoKRGFzIGlzdCBlaW4gTW9uc3Rlci4gRXMgaXN0IGdlc2NobGVjaHRzbG9zLCBkYSBlaW4gd2VpYmxpY2hlcyBNb25zdGVyIGdlZ2VuCnNhdWRpLWFyYWJpc2NoZSBHZXNldHplIHZlcnN0b3NzZW4ga29lbm50ZSwgd2lyIGFiZXIgZGVzd2VnZW4gbmljaHQgZGFzCm1hZW5ubGljaGUgR2VzY2hsZWNodCBiZXZvcnp1Z2VuIG1vZWNodGVuLiBFZ2FsIHdlbGNoZXMgQXVzc2VoZW4gd2lyIGlobSBnZWJlbgp3dWVyZGVuLCBlcyBrb2VubnRlIGlyZ2VuZHdvIEFuc3Rvc3MgZXJyZWdlbi4gRGFoZXIgaGF0IGVzIGtlaW4gQXVzc2VoZW4uIFdpcgpiaXR0ZW4gdW0gVmVyc3RhZW5kbmlzLiBEdSBrYW5uc3QgZGVtIE1vbnN0ZXIgenVuaWNrZW4uCgoKCgoKID4+IG5pY2tlIG1vbnN0ZXIKCgoKCgpEYXMgTW9uc3RlciByZWljaHQgZGlyIGVpbmVuIFpldHRlbC4KCgoKCgogPj4gYmV0cmFjaHRlIFpldHRlbAoKCgoKCkR1IGthbm5zdCBpaG4gbGVzZW4uCgoKCgoKID4+IGxpZXMgemV0dGVsCgoKCgoKQXVmIGRlbSBaZXR0ZWwgc3RlaHQ6CgpFbnRzY2h1bGRpZ3VuZywgbGllYmUgU3BpZWxlciAtIHVyc3BydWVuZ2xpY2ggaGF0dGVuIGRpZSBSYWV1bWUgZGVzIExFR0FMRU4KTVVEUyB1bWZhbmdyZWljaGVyZSBCZXNjaHJlaWJ1bmdlbi4gRGEgd2lyIG5pY2h0IGFsbGUgR2VzZXR6ZSBhbGxlciAxOTQKU3RhYXRlbiBrZW5uZW4sIGhhYmVuIHdpciBzaWUgdm9yc2ljaHRzaGFsYmVyIHdlaXRnZWhlbmQgZW50ZmVybnQuIE1hbiB3ZWlzcwpqYSBuaWUhCgoKCgoKID4+IGdydW1tZWwKCgoKCgpEdSBncnVtbWVsc3QuCgoKCgoKID4+IHRvZXRlIG1vbnN0ZXIKCgoKCgpJbSBMRUdBTEVOIE1VRCBrYW5uIG5pZW1hbmQgZ2V0b2V0ZXQgd2VyZGVuLiBXaXIgd29sbGVuIGphIG5pY2h0LCBkYXNzIGVzIGluCkRldXRzY2hsYW5kIGFscyBnZXdhbHR2ZXJoZXJybGljaGVuZCB2ZXJib3RlbiB3aXJkLgoKCgoKCiA+PiBlbmRlCgoKCgoKQXVmIFdpZWRlcnNlaGVuIGltIExFR0FMRU4gTVVEIQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIGxlZ2FsZXMgTVVEIChHcmltbWJvcm4sIDIxLiBKdW4gMjAwNCwgMTU6MDg6MzIpOgp+IyEgcm49VmluY2VudCBydD0xMDg3ODIyMzc2IHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKQXVmIHdlbGNoZXMgR2VzZXR6IHdlbGNoZW4gTGFuZGVzIGdlaGVuIGRlbm4gZGllIGV4emVzc2l2ZW4gTGVlcnplaWxlbgp6dXJ1ZWNrPwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbiBsZWdhbGVzIE1VRCAoRm9vYmFyLCAyMS4gSnVuIDIwMDQsIDE4OjQ1OjIxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDg3ODIzMzEyIHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKc2NobWFycm4ubmV0ZGlnZXN0LUxlc2VyIHdpc3NlbiBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWluIGxlZ2FsZXMgTVVEIChNdWFkaWIsIDIyLiBKdW4gMjAwNCwgMDA6MTI6NDEpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwODc4MzYzMjEgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3Ngp3YXIgZGFzIG5pY2h0IGRlLmFsdC5tdWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbiBsZWdhbGVzIE1VRCAoR2xvaW5zb24sIDIyLiBKdW4gMjAwNCwgMDA6MTQ6MTQpOgp+IyEgcm49TXVhZGliIHJ0PTEwODc4NTU5NjEgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpXYXIgZXMuIEFiZXIgc2NobWFycm4ubmV0ZGlnZXN0IHNhdWd0IGphIGFsbGVzIGF1Zi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW4gbGVnYWxlcyBNVUQgKE11YWRpYiwgMjIuIEp1biAyMDA0LCAwMDoxNToyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDg3ODU2MDU0IHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKbGVzIGljaCBuaWNoLCB6dXZpZWwgdW51bnRlcmhhbHRzYW1lciBzY2h3YWNoc2lubiBmdWVyIG1laW5lbiBnZXNjaG1hY2sgOikKCmRvbid0IGZlZWQgdGhlIHRyb2xsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFaW4gbGVnYWxlcyBNVUQgKEdsb2luc29uLCAyMi4gSnVuIDIwMDQsIDAwOjE4OjU0KToKfiMhIHJuPU11YWRpYiBydD0xMDg3ODU2MTIwIHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKRXMgZ2lidCBqYSBGaWx0ZXIuIFJvbmRhIHVuZCBzby4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFaW4gbGVnYWxlcyBNVUQgKENyb2Z0LCAyMi4gSnVuIDIwMDQsIDAwOjMyOjU5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODc4NTYzMzQgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpEdSBtZWluc3QgUm9uZGEgZmlsdGVydCBzY2htYXJybi5uZXRkaWdlc3QgdW5kIHNjaGlja3QgZGFubiBkaWUgZ2VmaWx0ZXJ0ZW4KQXJ0aWtlbCBnZXppZWx0IG5vY2htYWwgYW4gTGV1dGU/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRWluIGxlZ2FsZXMgTVVEIChHbG9pbnNvbiwgMjIuIEp1biAyMDA0LCAwMDozNDo1Nyk6Cn4jISBybj1Dcm9mdCBydD0xMDg3ODU3MTc5IHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKQmVzdGltbXQuIFVuZCB6dXNhZXR6bGljaCBmaWx0ZXJ0IFJvbmRhIGZ1ZXIgbWljaCBzY2htYXJybi5uZXRkaWdlc3QgaGllcmhlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBFaW4gbGVnYWxlcyBNVUQgKENyb2Z0LCAyMi4gSnVuIDIwMDQsIDAwOjQxOjM3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwODc4NTcyOTcgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpzY2htYXJybi5uZXRkaWdlc3QgbmFjaCB3d3c/IERhcyBpZ25vcmllcmUgaWNoIHdvaGwuIAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBFaW4gbGVnYWxlcyBNVUQgKEdsb2luc29uLCAyMi4gSnVuIDIwMDQsIDAwOjQ1OjU5KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODc4NTc2OTcgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpXYXMgaXN0IGFuICJoaWVyaGVyIiBtaXNzenV2ZXJzdGVoZW4/IEljaCBiZWtvbW1lIGRpZSBBcnRpa2VsIG5hdHVlcmxpY2ggdm9uClJvbmRhIHBlcnNvZW5saWNoIHZvcmdlbGVzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEVpbiBsZWdhbGVzIE1VRCAoQ3JvZnQsIDIyLiBKdW4gMjAwNCwgMDA6NDc6MjcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA4Nzg1Nzk1OSByZz13d3cKfiMhIHRpZD0xMDg3ODIyMzc2CkR1IG1lcmtzdCBlaW5mYWNoIG5pY2h0IGRhcyBkdSBkaWNoIG1laHJkZXV0aWcgYXVzZHJ1ZWNrc3QuICBEYXMgaXN0IHNjaGFkZS4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRWluIGxlZ2FsZXMgTVVEIChHbG9pbnNvbiwgMjIuIEp1biAyMDA0LCAwMDo0OTowNSk6Cn4jISBybj1Dcm9mdCBydD0xMDg3ODU4MDQ3IHJnPXd3dwp+IyEgdGlkPTEwODc4MjIzNzYKTnVuIHdpbGxzdCBkdSBtaXIgbm9jaCBkZWluZSBLb250ZXh0aW5zZW5zaXZpdGFldCBhbHMgRmVobGVyIGFubGFzdGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1c2ggLi4uIChHbG9pbnNvbiwgMjIuIEp1biAyMDA0LCAwMzoyNTo1Nik6Ci4uLiBpbnRlcmVzc2FudGUgTmViZW5zYWVjaGxpY2hrZWl0ZW4gdWViZXIgZGllIFVTQSB1bmQgZWluIGtvbWlzY2hlcyBTcGllbDoKCmh0dHA6Ly93d3cuZW1vZ2FtZS5jb20vYnVzaGdhbWUuaHRtbAoKUFM6IEpvaG4tS2VycnktV2FobHdlcmJ1bmcgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaW4gbGVnYWxlcyBNVUQgKFZpbmNlbnQsIDIyLiBKdW4gMjAwNCwgMjM6MDI6NDgpOgp+IyEgcm49Rm9vYmFyIHJ0PTEwODc4MzYzMjEgcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpzY2htYXJybi5uZXRkaWdlc3QtTGVzZXIgZ2ViZW4gaWhyZW4gU2VuZiB6dSBhbGxlbS4KenVtaW5kZXN0IGVpbmVyIGRhdm9uLgoKVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHIuIFNvbW1lciAmIENvIChSb2NodXMsIDI0LiBKdW4gMjAwNCwgMTU6MTE6NDQpOgpodHRwOi8vY2hyaXNpMDEud2ViNGxvc2UuZGUvbHVzdGkucGhwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIGxlZ2FsZXMgTVVEIChUcnVnLCAyNC4gSnVuIDIwMDQsIDE4OjM2OjE4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA4NzgyMjM3NiByZz13d3cKfiMhIHRpZD0xMDg3ODIyMzc2CldvdywgZGVyIFRleHQgc2NoZWludCBqYSBhdWNoIEVpbmdhbmcgaW4gZGllIEZ1bnNlaXRlbiBnZWZ1bmRlbiB6dSBoYWJlbiAuLi4uCmlzdCBkYXMgbmljaHQgZWhlciBldHdhcyBhdXMgZGUuYWx0Lm11ZD8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluIGxlZ2FsZXMgTVVEIChDcm9mdCwgMjQuIEp1biAyMDA0LCAxODozODoxOCk6Cn4jISBybj1UcnVnIHJ0PTEwODgwOTQ5Nzggcmc9d3d3Cn4jISB0aWQ9MTA4NzgyMjM3NgpKbywgZGFoZXIga29tbXQgZGFzLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjc2IG0gKEF6cmFlbCwgMjUuIEp1biAyMDA0LCAwOTowMDoyNyk6Cmh0dHA6Ly93d3cud2FnZW5zY2hlbmtlLmNoCgpBenJhZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA3NiBtIChDYXR3ZWF6bGUsIDI1LiBKdW4gMjAwNCwgMDk6NTk6NDUpOgp+IyEgcm49QXpyYWVsIHJ0PTEwODgxNDY4Mjcgcmc9d3d3Cn4jISB0aWQ9MTA4ODE0NjgyNwpIbSwgaGF0IHdlciBuZSBIb3Jpem9udGFsbWF1cz8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHVmZi1UdWZmIGVpbnBhcmtlbiA6LSkgKE1vb25zaGluZSwgMjUuIEp1biAyMDA0LCAxMzoyMjoxNik6Cmh0dHA6Ly9hbm51YWlyZS5wZXBlcmUuZnJlZS5mci9hdmVudHVyZXMvdm9pdHVyZTIuc3dmCgpXYXMgZWluZSBiZXNjaGV1ZXJ0ZSBMZW5rdW5nIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiA3NiBtIChNb29uc2hpbmUsIDI1LiBKdW4gMjAwNCwgMTM6MzU6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODgxNTAzODUgcmc9d3d3Cn4jISB0aWQ9MTA4ODE0NjgyNwo4Mm0sIGdlc3Rlcm4gbmFjaHQga2FtIGljaCBhdWYgbWF4aW1hbCA3MiwgZGFiZWkga29ubnRlIGljaCBtaXQgZGVtIGVpZ2VudGxpY2gKbWl0ZnVlaGxlbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb3RhbCBnYWdhIChNZWRpYywgMjUuIEp1biAyMDA0LCAxMzo0MjoyMyk6Cmh0dHA6Ly93d3cubG9zc2VwbGFkc2VuLmRrL2ZpbG0vc2pvdi9UdXJib0ZvcmNlM0RfVGhlX0Fubm95aW5nX1RoaW5nLmF2aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFR1ZmYtVHVmZiBlaW5wYXJrZW4gOi0pIChDYXR3ZWF6bGUsIDI1LiBKdW4gMjAwNCwgMTU6NDQ6MTkpOgp+IyEgcm49TW9vbnNoaW5lIHJ0PTEwODgxNjI1MzYgcmc9d3d3Cn4jISB0aWQ9MTA4ODE2MjUzNgoxMS43MAoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgbWFuIG1pdCBXaW5kb3dzIFN5c3RlbWtsYWVuZ2VuIGFsbGVzIG1hY2hlbiBrYW5uLi4uLiAoVGFuZ2FsdXIsIDI1LiBKdW4gMjAwNCwgMTc6MzE6NTIpOgpodHRwOi8vd3d3LmFsYmlub2JsYWNrc2hlZXAuY29tL2ZsYXNoL25vaXNlcy5waHAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvIHdhciBlcyBmcnVlaGVyIChWaW5jZW50LCAyOC4gSnVuIDIwMDQsIDExOjQzOjQzKToKRnVlciBMZXV0ZSwgZGllIGVpbmVtIE5vc3RhbGdpZS1GbGFzaCBuaWNodCBhYmdlbmVpZ3Qgc2luZDoKTWljcm9zb2Z0IFdpbmRvd3MgMS4wMyB1bmQgTWljcm9zb2Z0IFdpbmRvd3MvMjg2IDIuMTEKenVtIEFuc2NoYXVlbi4KaHR0cDovL3d3dy5kaWdpYmFybi5jb20vY29sbGVjdGlvbnMvc29mdHdhcmUvbWljcm9zb2Z0L3dpbmRvd3MyODYvaW5kZXguaHRtbAoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIDpvKSAoVmVjdG9yLCAzMC4gSnVuIDIwMDQsIDE0OjU2OjQ0KToKaHR0cDovL3d3dy5lYmF1bXN3b3JsZC5jb20vdG9udGllLmh0bWwKCmdyb3NzZXIgc3VjaHRmYWt0b3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgOm8pIChQYXJkYXV6LCAzMC4gSnVuIDIwMDQsIDE1OjI5OjI3KToKfiMhIHJuPVZlY3RvciBydD0xMDg4NjAwMjA0IHJnPXd3dwp+IyEgdGlkPTEwODg2MDAyMDQKc2NvcmUgNTQ5MCAuLiBhYiBsZXZlbCA3IHdpcmRzIG1pciB6dSBzdHJlc3NpZwoKUGFyZGF1egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAgOm8pIChWZWN0b3IsIDMwLiBKdW4gMjAwNCwgMTU6MzA6MjMpOgp+IyEgcm49UGFyZGF1eiBydD0xMDg4NjAyMTY3IHJnPXd3dwp+IyEgdGlkPTEwODg2MDAyMDQKa2xpbmd0IG5hY2ggZGVtIGVyc3RlbiB2ZXJzdWNoLi4uIHdhciBiZWkgbWlyIGdlbmF1c28uCmluIDUgbWludXRlbiBob2Nrc3RlIHdpZWRlciBkcmFuIHVuZCBrb21tc3QgYmlzIGx2bCAxMCBtaXQgOTg1MCBwdW5rdGVuIDopCihuYXR1ZXJsaWNoIGF1Zm0gbnVtbWVybmJsb2NrIG1hY2hlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgOm8pIChEYXJrd2luZywgMzAuIEp1biAyMDA0LCAxOTo0NDo0Myk6Cn4jISBybj1WZWN0b3IgcnQ9MTA4ODYwMDIwNCByZz13d3cKfiMhIHRpZD0xMDg4NjAwMjA0CmxldmVsIDEwLCAxNTY0NiAuLi4gYWJlciBudW4gZHJlaHRzIGVjaHQgYWIgOikKCkRhcmt3aW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICA6bykgKFZlY3RvciwgIDIuIEp1bCAyMDA0LCAxMToyNTowNik6Cn4jISBybj1EYXJrd2luZyBydD0xMDg4NjE3NDgzIHJnPXd3dwp+IyEgdGlkPTEwODg2MDAyMDQKbGV2ZWwgMTAsIDE2MDI1LCBsZXZlbCAxMCBtYWNodCBrZWluZW4gc3Bhc3MgbWVoci4KKGl0ZW0gYXVmIHBvcyA0IHNpbmQgZmx1ZWdlbCBkaWUgbWFjaGVuIGRlbiBoYW1tZXIgc2NobmVsbGVyIDogKSAgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogIDpvKSAoRGFya3dpbmcsICAyLiBKdWwgMjAwNCwgMTY6MjE6NDcpOgp+IyEgcm49VmVjdG9yIHJ0PTEwODg3NjAzMDYgcmc9d3d3Cn4jISB0aWQ9MTA4ODYwMDIwNApidWgsIGxldmVsIDExIGlzdCBkYXMgZ2xlaWNoZSB3aWUgbGV2ZWwgMTAuIE5hamEgd2VnIGRhbWl0LCB3YXIgYWJlciBuZXR0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIDpvKSAoR3VlbiwgIDMuIEp1bCAyMDA0LCAyMzo0Njo0Nyk6Cn4jISBybj1WZWN0b3IgcnQ9MTA4NzQ3NjEyMCByZz13d3cKfiMhIHRpZD0xMDg3NDc2MTIwCjEuIFZlcnN1Y2g6IDU1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICA6bykgKEFuYXRvbCwgIDYuIEp1bCAyMDA0LCAyMjozMjoxMCk6Cn4jISBybj1HdWVuIHJ0PTEwODg4OTEyMDcgcmc9d3d3Cn4jISB0aWQ9MTA4NzQ3NjEyMApJY2gga2VubiBqZW1hbmQsIGRlciBoYXQgZGEgZWJlbiA+IDEwMGsgUHVua3RlIHJhdXNnZWhvbHQuLi4gKnN0b2VobioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb3JuYmFjaCBUVi1XZXJidW5nIChBcG9waGlzLCAgNy4gSnVsIDIwMDQsIDE1OjU3OjA5KToKCldlbSBkaWUgdmVyc2NoaWVkZW5lbiBTcG90cyBnZWZhbGxlbiBrYW5uIGRpZSBhdWNoIHJ1bnRlcmxhZGVuOgoKaHR0cDovL3Rpbnl1cmwuY29tLzI5cTRtCgpBcG8qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSG9tZVJ1biAoQW55c2lkb3JhLCAgOC4gSnVsIDIwMDQsIDA5OjU4OjE1KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA4OTI0MDAwNyByZz13d3cKfiMhIHRpZD0xMDg5MjQwMDA3Cjp3ZWRlbHQgbWFsIG1pdCBBcnRpa2VsIDQ1IHZvciBWaW5jZW50cyBOYXNlIHJ1bS4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9tZVJ1biAoTXVhZGliLCAgOC4gSnVsIDIwMDQsIDEwOjE5OjA1KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMDg5MjczNDk1IHJnPXd3dwp+IyEgdGlkPTEwODkyNDAwMDcKbmEgZGEgd2FyIGVyIG5vY2ggcmwgYmVpbSBob21lcnVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiAgOm8pIChNZWRpYywgMTAuIEp1bCAyMDA0LCAyMjowMzo0OSk6Cn4jISBybj1BbmF0b2wgcnQ9MTA4OTE0NTkzMCByZz13d3cKfiMhIHRpZD0xMDg3NDc2MTIwCj4gMTAwIGs/IFJlc3Bla3QsIHdlbm4gZGFzIHN0aW1tdC4gTWVpbmVyZWluZXIgaGF0IHNlaW4gTGltaXQgYmVpIExldmVsIDExIHVuZAoyMzE2NSBQdW5rdGVuIGJpc2hlci4gVW5kIHZlcmRhbW10LCBkYXMgU3BpZWwgbWFjaHQgc3VlY2h0aWcgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6ICA6bykgKEFuYXRvbCwgMTAuIEp1bCAyMDA0LCAyMjowNDoyMSk6Cn4jISBybj1NZWRpYyBydD0xMDg5NDg5ODI5IHJnPXd3dwp+IyEgdGlkPTEwODc0NzYxMjAKVmVyYWx0ZXQuIEluendpc2NoZW4gaGF0IHNpZSBkaWUgTGF0dGUgYXVmIDE1MGsgZ2VsZWd0LiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HLVNlaXRlbiAoQ2Fzc2FuZHJhLCAxMi4gSnVsIDIwMDQsIDE2OjM5OjQ1KToKRGFzIGVpbmlnZSBHaWxkZW5zZWl0ZW4gbmljaHQgZXJyZWljaGJhciBzaW5kIGRhcmFuIGhhdCBtYW4gc2ljaCBqYSBmYXN0Cmdld29laG50LiBBYmVyIHdhcnVtIGtvbW10IG1hbiBqZXR6dCBzdGF0dGRlc3NlbiBhdWYgbmUgV2VyYnVuZy1TZWl0ZT8KCkNhc3N5LCBkaWUgR2lsZGVuc2VpdGVuIHp1cnVlY2t3b2xsZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctU2VpdGVuIChDcm9mdCwgMTIuIEp1bCAyMDA0LCAxNjo0Mjo1MSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA4OTY0MzE4NSByZz13d3cKfiMhIHRpZD0xMDg5NjQzMTg1CldlbGNoZSBHaWxkZW5zZWl0ZW4gbWVpbnN0IGR1PyAgSWNoIHNlaCBudXIgRm9yYmlkZGVuIHVuZCA0MDNlci4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1HLVNlaXRlbiAoQ2Fzc2FuZHJhLCAxMi4gSnVsIDIwMDQsIDE2OjQ0OjM5KToKfiMhIHJuPUNyb2Z0IHJ0PTEwODk2NDMzNzEgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQplciBjYXNzYW5kcmEgbW9pbgpoYWIgZWJlbiB2ZXJzdWNodCBkaWUgY2hhb3MtU2VpdGVuIHp1IG9lZmZuZW4gdW5kIHd1cmRlIHdlaXRlcmdlbGVpdGV0LgpodHRwOi8vaGVscC5pbnRlcm5ldC1vcHRpbWl6ZXIuY29tLi4uLi4uLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1HLVNlaXRlbiAoQ3JvZnQsIDEyLiBKdWwgMjAwNCwgMTY6NDY6MjkpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwODk2NDM0Nzkgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQpLYW5uIGljaCBuaWNodCBuYWNodm9sbHppZWhlbi4gIERlciBMaW5rIGF1ZiBkZXIgTUctU2VpdGUgbGVpdGV0IGVpbmVuCm5hY2ggaHR0cDovL21nLm11ZC5kZS9HaWxkZW4vY2hhb3MvLiAgVW5kIGRhIGdpYnRzIG5lbiBGb3JiaWRkZW4gKyA0MDMuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTUctU2VpdGVuIChDYXR3ZWF6bGUsIDEyLiBKdWwgMjAwNCwgMTY6NTA6MTMpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwODk2NDM0Nzkgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQpEdSBoYXN0IGVpbmVuIHVudmVyc2NoYWVtdGVuIFByb3ZpZGVyIQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNRy1TZWl0ZW4gKENhc3NhbmRyYSwgMTIuIEp1bCAyMDA0LCAxNjo1MDo1NSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA4OTY0MzgxMyByZz13d3cKfiMhIHRpZD0xMDg5NjQzMTg1Cm1laW4gcHJvdmlkZXIgaXN0IG1laW5lIFVuaS4KRHUgbWVpbnN0IGRpZSBiYXV0IGRlbiBNaXN0PwoKQ2Fzc3ksIHVud2lzc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTUctU2VpdGVuIChDYXR3ZWF6bGUsIDEyLiBKdWwgMjAwNCwgMTY6NTI6MTcpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwODk2NDM4NTUgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQpIdWksIHNwYW5uZW5kIDopCkljaCBnbGF1YiBrYXVtLCBkYXNzIG5lIFVuaSBzb3dhcyBtYWNodC4gCkFiZXIgaXJnZW5kd2VyIGZhZW5ndCBkYSBkZWluZSBodG1sLXJlcXVlc3RzIHdlZyB1bmQgemVpZ3QgZGlyIGRhZnVlciBkYXMgd2FzCmlobSBiZWxpZWJ0IDopIApEdSBoYXN0IG5pY2h0IHp1ZmFlbGxpZyB2ZXJzZWhlbnRsaWNoIGVpbmVuIHRldXJlbiBEaWFsZXIgYXVmIGRlaW5lbSBSZWNobmVyCmluc3RhbGxpZXJ0PyA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTUctU2VpdGVuIChDYXNzYW5kcmEsIDEyLiBKdWwgMjAwNCwgMTY6NTM6MjkpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODk2NDM5Mzcgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQppY2ggc2l0eiBpbiBlaW5lbSBVbmktcG9vbApEYXMgaGVpc3N0IHN0YW5kbGVpdHVuZyB6dW0gUmVjaGVuemVudHJ1bQoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1HLVNlaXRlbiAoWm9vaywgMTIuIEp1bCAyMDA0LCAxNjo1Mzo1NSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA4OTY0NDAwOSByZz13d3cKfiMhIHRpZD0xMDg5NjQzMTg1CkludGVyZXNzYW50LiBOYSwga2xpbmd0IGF1ZiBqZWRlbiBGYWxsIG5hY2ggbmVyIHB1dHppZ2VuIEJyb3dzZXIgb2RlcgpzbyBFaW5zdGVsbHVuZy4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNRy1TZWl0ZW4gKEdyaW1tYm9ybiwgMTIuIEp1bCAyMDA0LCAxNjo1NTowOSk6Cn4jISBybj1ab29rIHJ0PTEwODk2NDQwMzUgcmc9d3d3Cn4jISB0aWQ9MTA4OTY0MzE4NQpTYWdzdCBEdS4gQWJlciB3ZWlzc3QgRHUsIHdhcyBoZXV0enV0YWdlIFVuaXMgbmljaHQgYWxsZXMgdmVyc3VjaGVuLCB1bSBkaWUKa2xhbW1lbiBGaW5hbnplbiBhdWZ6dWJlc3Nlcm4/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE1HLVNlaXRlbiAoQ2Fzc2FuZHJhLCAxMi4gSnVsIDIwMDQsIDE2OjU4OjE3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDg5NjQ0MTA5IHJnPXd3dwp+IyEgdGlkPTEwODk2NDMxODUKc28gamV0enQgZHVlcmZlbiBzaWNoIHVuc2VyZSBhZG1pbnMgbWFsIGRydW0ga3VlbW1lcm4uCmhhYiBkZW4gZmVobGVyIGVpbmZhY2ggbWFsIGdlbWVsZGV0IGF1Y2ggd2VubiBkaWUgZWgga2VpbmUgYWhudW5nIGhhYmVuLgoKQ2Fzc3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBNRy1TZWl0ZW4gKEh1cmF4cHJheCwgMTIuIEp1bCAyMDA0LCAxNzowMzoyOSk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA4OTY0NDI5NyByZz13d3cKfiMhIHRpZD0xMDg5NjQzMTg1CkhvZXJ0IHNpY2ggbmFjaCBTcHl3YXJlIGFuLCB3ZXIgd2Vpc3Mgd2FzIGRpZSBub2NoIGFsbGVzIG1hY2h0LiBJY2ggd2V0dGUgbWFsCmlociBiZW51dHp0IFdpbmRvd3MgdW5kIEludGVybmV0IEV4cGxvcmVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1HLVNlaXRlbiAoWm9vaywgMTIuIEp1bCAyMDA0LCAxNzowNDowMSk6Cn4jISBybj1IdXJheHByYXggcnQ9MTA4OTY0NDYwOSByZz13d3cKfiMhIHRpZD0xMDg5NjQzMTg1Ckh1aWlpaS4uLiB1bmQgbnVuIGdpYnRzIG5lIEFibWFobnVuZyB3ZWdlbiAiTmljaHQgTGVoci1TZWl0ZW4gYW5nZXNjaGF1dCI/CgpaT29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1HLVNlaXRlbiAoQ2Fzc2FuZHJhLCAxMi4gSnVsIDIwMDQsIDE3OjA0OjAzKToKfiMhIHJuPUh1cmF4cHJheCBydD0xMDg5NjQ0NjA5IHJnPXd3dwp+IyEgdGlkPTEwODk2NDMxODUKamEgdHVuIHdpcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE1HLVNlaXRlbiAoSHVyYXhwcmF4LCAxMi4gSnVsIDIwMDQsIDE3OjA3OjM1KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDg5NjQ0NjQzIHJnPXd3dwp+IyEgdGlkPTEwODk2NDMxODUKQmVzY2h3ZXIgZGljaCBiZWkgZGVpbmVtIEFkbWluIHVuZCBzYWcgc2llIHNvbGxlbiBlbnR3ZWRlciBlaW5lbiBhbnN0YWVuZGlnZW4KQnJvd3NlciBpbnN0YWxsaWVyZW4gb2RlciB3ZW5uIHNpZSBlcyBTY2hhZmZlbiBkZW4gSUUgaGFsYndlZ3Mgc2ljaGVyIG1hY2hlbgpkYXNzIG5pY2h0IGplZGVyIEJlbnV0emVyIGRpZSBTcHl3YXJlLCBUcm9qYW5lciB1bmQgVmlyZW4gbWl0YmVrb21tdCBkaWUgZGllCmFuZGVyZW4gaW5zdGFsbGllcmVuLgoKaHVyYXhwcmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3ZpZSBWaWxsaWFuIChNb3Jnb3RoLCAxNC4gSnVsIDIwMDQsIDE0OjAwOjM4KToKaHR0cDovL3d3dy5rb250cmFiYW5kLmNvbS9zaG93L3Nob3cuYXNwP0lEPTE0NzEKCk0qIGFrYSAiQWdlbnQgU21pdGgiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW92aWUgVmlsbGlhbiAoTXVhZGliLCAxNC4gSnVsIDIwMDQsIDE0OjIwOjE4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA4OTgwNjQzOCByZz13d3cKfiMhIHRpZD0xMDg5ODA2NDM4CmhtbQpoYW5uaWJhbCBsZWN0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW92aWUgVmlsbGlhbiAoTWVkaWMsIDE0LiBKdWwgMjAwNCwgMjA6MDQ6MDgpOgp+IyEgcm49TXVhZGliIHJ0PTEwODk4MDc2MTggcmc9d3d3Cn4jISB0aWQ9MTA4OTgwNjQzOApFYmVuZmFsbHMgTXIuIExlY3Rlci4KCk1lICJlYXQgeW91ciBmbGVzaCIgZGljCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW92aWUgVmlsbGlhbiAoVmluY2VudCwgMTUuIEp1bCAyMDA0LCAxMDozOToxOSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwODk4MDY0Mzggcmc9d3d3Cn4jISB0aWQ9MTA4OTgwNjQzOApIYW5uaWJhbCBMZWN0ZXIKCkFsbGVyZGluZ3Mgc3RlaGVuIGluIGRlciBCZXNjaHJlaWJ1bmcgYW0gRW5kZSBEaW5nZSBkcmluLCBkaWUgaWNoIG5pY2h0CmFuZ2VrcmV1enQgaGFiZSAoei5CLiBLbGFzc2lrIHN0YXR0IFBvcCBNdXNpaykuIE1vZWdsaWNoZXJ3ZWlzZSBoYXQgZGFzCkRpbmdlbnMgZWllbiBuaWNodCB6dSB2ZXJuYWNobGFlc3NpZ2VuZGVuIFJhbmRvbS1BbnRlaWwuLi4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcnJ5IFBvdHRlciBpc3QgdG90LiAoQW50aGVhLCAxNi4gSnVsIDIwMDQsIDEzOjI1OjMzKToKaHR0cDovL3d3dy5uLXR2LmRlLzUyOTM0MjUuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhcnJ5IFBvdHRlciBpc3QgdG90LiAoQ2F0d2VhemxlLCAxNi4gSnVsIDIwMDQsIDEzOjUzOjE0KToKfiMhIHJuPUFudGhlYSBydD0xMDg5OTc3MTMzIHJnPXd3dwp+IyEgdGlkPTEwODk5NzcxMzMKU2Nob2NrIG1pY2ggZG9jaCBuaWNodCBzbyAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXJyeSBQb3R0ZXIgaXN0IHRvdC4gKFNreWZpcmUsIDE2LiBKdWwgMjAwNCwgMTQ6MTA6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwODk5Nzg3OTQgcmc9d3d3Cn4jISB0aWQ9MTA4OTk3NzEzMwo6ZmFlbmd0IHdpZWRlciBhbiB6dSBhdG1lbi4gCgpNZWluZSBHdWV0ZS4ub2huZSBzb3dhcyEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgOm8pIChWZWN0b3IsIDIxLiBKdWwgMjAwNCwgMDU6NTI6MDkpOgp+IyEgcm49VmVjdG9yIHJ0PTEwODg2MDAyMDQgcmc9d3d3Cn4jISB0aWQ9MTA4ODYwMDIwNAoKaHR0cDovL3d3dy5wbGF5NHRyYWZmaWMuY29tL2dhbWUucGhwCgpqYSBtYW4gYnJhdWNodCBmbGFzaCBkYXp1CmphIGF1Y2ggd2llZGVyIGhlZnRpZ2VyIHN1Y2h0ZmFrdG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwga2VpbiBTcGllbCwgYWJlciB0cm90emRlbSBGbGFzaCB1bmQgd2l0emlnIChNb3Jnb3RoLCAyMi4gSnVsIDIwMDQsIDA3OjQ1OjM5KToKaHR0cDovL2F0b21maWxtcy5zaG9ja3dhdmUuY29tL2FmL2NvbnRlbnQvdGhpc19sYW5kX2FmCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9uIHJ1bmRlbiBiaXRzLCBHaWdhYml0LUxBTiwgenUgc2NoYXJmZW4gS3VydmVuIHVuZCBhZWhubGljaGVtIChIaWdobGFuZGVyLCAyMy4gSnVsIDIwMDQsIDEzOjI3OjU4KToKaHR0cDovL2ZvcnVtLmNvdW50ZXItc3RyaWtlLmRlL2JiL3RocmVhZC5waHA/VElEPTYwNjYzCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhY2sgdG8gdGhlIHJvb3RzIChQaG9ib3MsIDIzLiBKdWwgMjAwNCwgMTk6MDE6NDApOgpBaCwgZGllc2VyIFRyYWlsZXIga3VlbmRpZ3QgZW5kbGljaCBtYWwgd2llZGVyIGVpbiBndXRlcyBTcGllbCBhbjoKaHR0cDovL3d3dy5ob21lc3RhcnJ1bm5lci5jb20vcHF0cmFpbGVyLmh0bWwKCkhtbSwgaWNoIHNvbGx0ZSBtYWwgd2llZGVyIEtRMS04IGF1c2dyYWJlbiA6KQoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGFsbGUgRGFoZWltZ2VibGllYmVuZW4gKFZpbmNlbnQsIDI2LiBKdWwgMjAwNCwgMTU6MDM6MDQpOgpMdXN0IGF1ZiBVcmxhdWIuLi4gOi0pKQoKenUgZGVtIGhldXRpZ2VuIHN1cGVyIFdldHRlciBoaWVyIGRlciBwYXNzZW5kZSBUaXBwOgoKMS4gRWluIEdsYXMgUm90d2VpbiAtIG1vZWdsaWNoc3Qgc3BhbmlzY2hlbiAtIHJlY2h0cyBuZWJlbiBkaWUKVGFzdGF0dXIgc3RlbGxlbi4KCjIuIFNvbm5lbmJyaWxsZSBhdWZzZXR6ZW4gdW5kIG1vZWdsaWNoc3QgY29vbCBhdXNzZWhlbi4KCjMuIEFuICJVcmxhdWIgYW4gZGVyIENvc3RhIGRlbCBTb2wiIGRlbmtlbiAoU29ubmUsIGJsYXVlciBIaW1tZWwsIE1lZXIsClBhZWxsYSkKCjQuIENvbXB1dGVyIGZ1ZXIgU291bmR3aWVkZXJnYWJlIGVpbnJpY2h0ZW4gdW5kIExhdXRzdGFlcmtlIGF1ZgptaXR0ZWwtbGF1dCBiaXMgc2Voci1sYXV0IGVpbnN0ZWxsZW4uCgo1LiBrcmFlZnRpZyByYWV1c3Blcm4KCjYuIEF1ZiBkaWVzZW4gTGluayBkcnVlY2tlbiB1bmQgZW50c3Bhbm5lbjoKaHR0cDovL3d3dy5ub3RmYWxsbWVkaXppbi5kZS9sZGIvbGlueC9saW5rcy5waHA/Z289NTgyCgo3LiBtaXRzaW5nZW4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIGFsbGUgRGFoZWltZ2VibGllYmVuZW4gKE11YWRpYiwgMjcuIEp1bCAyMDA0LCAxMToyOToyMik6Cn4jISBybj1WaW5jZW50IHJ0PTEwOTA4NDY5ODQgcmc9d3d3Cn4jISB0aWQ9MTA5MDg0Njk4NAppY2ggaGFicyB2ZXJzdWNodCwgYWJlciBtZWluZSBib3hlbiBhbSBhcmJlaXRzcGxhdHogc2luZCBrYXB1dHQKdW5kIG51bj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVlciBhbGxlIERhaGVpbWdlYmxpZWJlbmVuIChWaW5jZW50LCAyNy4gSnVsIDIwMDQsIDExOjQ1OjQxKToKfiMhIHJuPU11YWRpYiBydD0xMDkwOTIwNTYyIHJnPXd3dwp+IyEgdGlkPTEwOTA4NDY5ODQKUnVmIGRpZSBTeXN0ZW1iZXRyZXV1bmcgRGVpbmVyIEZpcm1hIGFuLiBFdmVudHVlbGwga29lbm5lbiBkaWUgaGVsZmVuLgoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnVlciBhbGxlIERhaGVpbWdlYmxpZWJlbmVuIChNdWFkaWIsIDI3LiBKdWwgMjAwNCwgMTE6NDY6MjUpOgp+IyEgcm49VmluY2VudCBydD0xMDkwOTIxNTQxIHJnPXd3dwp+IyEgdGlkPTEwOTA4NDY5ODQKaWNoIGdsYXViZSBkYSBqYSBuaWNodCBkcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3aW5kZWxpZz8gKE1vcmdvdGgsIDI4LiBKdWwgMjAwNCwgMDk6NDc6MjUpOgpodHRwOi8vd3d3LmtvcmV1cy5jb20vZmlsZXMvMjAwNDA2L2pvbmdsYWdlX3N0eWxvX2RvaWd0Lmh0bWwKCklzdCBhbGxlcmRpbmdzIGVpbiBXTVYtRmlsZQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJXZXIgc2luZCBkaWVzZSBMZXV0ZSB1ZWJlcmhhdXB0PyIgRWluIG5ldHRlciBCZXJpY2h0IHVlYmVyIC4uLiAoUGlsZ3JpbSwgIDIuIEF1ZyAyMDA0LCAxNzo1OToyNSk6CmRpZSB0b2xsZW4gQy1LbGFzc2UgU3Rlcm5jaGVuIGRpdmVyc2VyIEFsbS1kdWRsZXIgU2hvd3MgOy0pCgpodHRwOi8vbWFrZWFzaG9ydGVybGluay5jb20vP0g2N0MyNjNGOAoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT2ssIEtpbm5lcnMuLi4ud2VyIHZvbiBldWNoIHdhciBkYXM/IChNZWRpYywgIDIuIEF1ZyAyMDA0LCAyMjozOToyNyk6Cmh0dHA6Ly93d3cubi10di5kZS81Mzg0OTc2Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkltYmlzc2J1ZGVuZGV1dHNjaC4uLiAoTWFhcmcsICAzLiBBdWcgMjAwNCwgMjA6MDM6MDMpOgouLi5mdWVyIEFuZmFlbmdlci4KCmh0dHA6Ly93d3cubXVlbnN0ZXIuZGUvfmtvc3RoL2ltYmlzc2J1ZGVuZGV1dHNjaC5tcDMKKDgyNkspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjb0xpbnV4IChXaGl0ZXRpZ2VyLCAgNC4gQXVnIDIwMDQsIDEzOjE1OjU5KToKLi4uICJJZiBMaW51eCBydW5zIG9uIGV2ZXJ5IGFyY2hpdGVjdHVyZSwgd2h5IHNob3VsZCBhbm90aGVyIG9wZXJhdGluZyBzeXN0ZW0KYmUgaW4gaXRzIHdheT8gIiAuLi4KCmh0dHA6Ly9jb2xpbnV4Lm9yZy8KClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo0MDQgYSBsYSBNYXJ2aW4uLi4gKFJvbmRhLCAgNS4gQXVnIDIwMDQsIDAxOjAzOjAyKToKLi4uIGhhdHRlbiB3aXIgZ2xhdWJlIGljaCBzY2hvbiBtYWwsIGlzdCBhYmVyIHRyb3R6ZGVtIElNSE8gaXJnZW5kd2llIGltbWVyCndpZWRlciBnYW56IG5ldHQ6CgpodHRwOi8vd3d3LmJhc3RlbG1hZmlhLmNvbS9yb25kYXNwYWdlCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGh1bXBtb2JpbGUtWmFwcGVyIChCYW1idWxrbywgIDUuIEF1ZyAyMDA0LCAyMToxNTowOCk6CgpodHRwOi8vd3d3LmhlaXNlLmRlL2N0L1JlZGFrdGlvbi9jbS9UaHVtcG1vYmlsZV9aYXBwZXIuaHRtbAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChQaWxncmltLCAgNi4gQXVnIDIwMDQsIDEzOjA2OjM2KToKCmh0dHA6Ly93d3cud2VsdC5kZS9kYXRhLzIwMDQvMDgvMDYvMzE1NjYxLmh0bWwKCktsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIHdpcmQgYmVpIEF4ZWwgU3ByaW5nZXIgd2llZGVyIG1hc3NnZWJsaWNoCkRpZSBBeGVsIFNwcmluZ2VyIEFHIHVuZCBkZXIgU1BJRUdFTC1WZXJsYWcga2VocmVuIGluIGlocmVuIFByaW50LSB1bmQKT25saW5lLVB1Ymxpa2F0aW9uZW4genVyIGtsYXNzaXNjaGVuIGRldXRzY2hlbiBSZWNodHNjaHJlaWJ1bmcgenVydWVjay4gRGllClZlcmxhZ2UgYXBwZWxsaWVyZW4gYW4gYW5kZXJlIE1lZGllbnVudGVybmVobWVuIHNvd2llIGFuIGRpZQpOYWNocmljaHRlbmFnZW50dXJlbiwgc2ljaCBhbnp1c2NobGllc3NlbiAgLi4uLgoKVW5kIGRhcywgd28gaWNoIGhldXQgbW9yZ2VuIGVyc3QgZGllIE5ldSBEZXV0c2NoZSBSZWNodHNjaHJlaWJ1bmcgaW4gTVMgV29yZAo5NyBpbnN0YWxsaWVydCBoYWIgLi4uIG5lbmVuZSAuLi4ga29lbm5lbiBkaWUgc2ljaCBuaWNoIG1hbCBlbnRzY2hlaWRlbj8KClBpbGdyaW0KfgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChab29rLCAgNi4gQXVnIDIwMDQsIDE0OjE1OjA4KToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA5MTc5MDM5NiByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2CldJY2h0aWcgaXN0IGRvY2ggbnVyLCBkYXNzIER1IERpY2ggZW50c2NoZWlkZXN0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGFzc2lzY2hlIFJlY2h0c2NocmVpYnVuZyAoS2VsbHlidW5keSwgIDYuIEF1ZyAyMDA0LCAyMToxNDoyMSk6Cn4jISBybj1QaWxncmltIHJ0PTEwOTE3OTAzOTYgcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5NgpJY2ggZGVua2UgZWhlciwgX3dlZ2VuXyBkZXMgbmljaHQgZW5kZW4gd29sbGVuZGVuIEhpY2toYWNrcyBtYWNoZW4gU3ByaW5nZXIKdW5kIFNwaWVnZWwgbmUgS2VocnR3ZW5kZS4gTWFuIHN0ZWxsZSBzaWNoIG1hbCB2b3IgKGF1cyBkZXIgU2ljaHQgZGVzClVudGVybmVobWVucykgd2FzIGRpZXNlcyBIaWNraGFjayBrb3N0ZXQsIHVtIGVpbmUgZ3JhbW1hdGlrYWxpc2NoIHBlcmZla3RlCkF1c2dhYmUgaGluenVsZWdlbiwgdW5kIHp3YXIgYWxsZSBoYWxiZSBKYWhyIG5hY2ggYW5kZXJuIEdyYW1tYXRpa3JlZ2Vsbi4gRGllClNldHplciBtdWVzc2VuIHNpY2ggc3RhZW5kaWcgbmV1IGluZm9ybWllcmVuLCB3YXMgdm9uIGlocmVyIEFyYmVpdHN6ZWl0CmFiZ2VodCwgQlpXOiBoZXV0ZSB3aXJkIGRhcyBwZXIgU29mdHdhcmUgZ2VtYWNodC4gRGllIFJlY2h0c2NocmVpYnBydWVmdW5nCmRhdWVybmQgenUgYWt0dWFsaXNpZXJlbiwgaXN0IG1pdCBBdWZ3YW5kLCBnZXJpbmdlcmVyIEVmZmVrdGl2aXRhZXQgZGVyCmFrdHVhbGlzaWVyZW5kZW4gTWl0YXJiZWl0ZXIgdW5kIGV2ZW50dWVsbCwgc28ga29tbWVyemllbGxlIFNvZnR3YXJlIGJldHJvZmZlbgppc3QsIGF1Y2ggZXJoZWJsaWNoZW4gS29zdGVuIHZlcmJ1bmRlbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApQLlMuIE1hbiBlcnNldHplIFNldHplciBkdXJjaCBMZWt0b3IuIEljaCBiaW4genUgZmF1bCBkYXp1LgpCbG9uZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xhc3Npc2NoZSBSZWNodHNjaHJlaWJ1bmcgKFZpbmNlbnQsICA3LiBBdWcgMjAwNCwgMTE6MzQ6NDgpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDkxODE5NjYxIHJnPXd3dwp+IyEgdGlkPTEwOTE3OTAzOTYKSWNoIHZlcm11dGUgaGludGVyIGRlciBBa3Rpb24gbmljaHRzIGFuZGVyZXMgYWxzIGRlbiBrbGFlZ2xpY2hlbiBWZXJzdWNoLAppbiBaZWl0ZW4gcnVlY2tsYWV1ZmlnZXIgQXVmbGFnZW4sIHp1cnVlY2tnZWhlbmRlciBLdW5kZW5yZWljaHdlaXRlbiB1bmQKc2Nod2luZGVuZGVuIFdlcmJldW1zYWV0emUsIHNpY2ggd2VyYmV0ZWNobmlzY2ggdW5kIHZlcm1ha3RlcmlzY2ggaW5zCkdlc3ByYWVjaCB6dSBicmluZ2VuIHVuZCBzbyBkaWUgdmVya2F1ZnRlbiBTdHVlY2t6YWhsZW4genUgZXJob2VoZW4uIERpZQpWZXJsYWdlIHNvbGx0ZW4gYmVpIGlocmVtIEtlcm5nZXNjaGFlZnQgYmxlaWJlbiB1bmQgam91cm5hbGlzdGlzY2gKZnVuZGllcnRlIEFyYmVpdCBhYmxpZWZlcm4sIGFscyBkaWUgUmVjaHRzY2hyZWliZXJlZm9ybSBwYXVzY2hhbCB6dQp2ZXJ0ZXVmZWxuLiBad2VpIEFyZ3VtZW50ZSBkYXp1OiAxLiBTY2h1ZWxlciwgZGllIGRpZSBuZXVlIFJGIGxlcm5lbiwgaGFiZW4KdWViZXJoYXVwdCBrZWluZSBQcm9ibGVtZSBkYW1pdCwgbGF1dCBkZXIgS3VsdHVzbWluaXN0ZXIuIDIuIFdlbGNoZW4KdmVybnVlbmZ0aWdlbiBHcnVuZCBzb2xsdGUgZXMgZ2ViZW4sICJkYXNzIiB3aWVkZXIgbWl0IHNjaGFyZmVtIFMgenUgCnNjaHJlaWJlbj8gRGFzIHdhciBzY2hvbiB2b3IgZGVyIFJGIG51ciBzY2h3ZXIgZXJrbGFlcmJhci4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChab29rLCAgNy4gQXVnIDIwMDQsIDEyOjU5OjQ0KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTA5MTg3MTI4OCByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2CkRlaW5lIGhpZXIgZGFyZ2VsZWd0ZSBBbnNpY2h0IGhhdCBhYmVyIG5pY2h0cyBtaXQgZGVuIEF1ZXNzZXJ1bmdlbiBhbmRlcmVyClZlcmxhZ3NoYWV1c2VyIHp1IGRpZXNlciAiQW5rdWVuZGlndW5nIiB1bmQgZGVyIEF1ZmxhZ2VuIGRlciBlaWdlbmVuClplaXRzY2hyaWZ0ZW4genUgdHVuPyAKClpvb2sgZ3JpbnN0IHNpY2ggZWlucy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChWaW5jZW50LCAgNy4gQXVnIDIwMDQsIDEzOjA1OjUwKToKfiMhIHJuPVpvb2sgcnQ9MTA5MTg3NjM4NCByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2ClZvbGxrb21tZW4gcmljaHRpZywgc2llIGhhdCBuaWNodHMgZGFtaXQgenUgdHVuLiBEYXMgaGFzdCBEdSBnZW5hdSByaWNodGlnCnZlcnN0YW5kZW4uCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBLbGFzc2lzY2hlIFJlY2h0c2NocmVpYnVuZyAoWm9vaywgIDcuIEF1ZyAyMDA0LCAxMzowODoyNCk6Cn4jISBybj1WaW5jZW50IHJ0PTEwOTE4NzY3NTAgcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5NgpPYiB3aXIgZGFzIGdsYXViZW4gc29sbHRlbi4uLiA7KSkpCgpab29rIGdyaW5zdCBicmVpdGVyLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChHbm9tZSwgIDcuIEF1ZyAyMDA0LCAxNDozNTo1Nik6Cn4jISBybj1WaW5jZW50IHJ0PTEwOTE4NzEyODggcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5NgpkYXMgInN6IiBoYXQgc2Nob24gc2VpbmUgYmVyZWNodGlndW5nIGluIGRlciBkZXV0c2NoZW4gc3ByYWNoZS4KdW5kIGljaCBiZWdydWVzc2UgZGllIGFua3VlbmRpZ3VuZyB2b24gc3BpZWdlbCB1bmQgYXhlbCBzcHJpbmdlciBzZWhyLgphdXMgd2VsY2hlbSBncnVuZCBhdWNoIGltbWVyIHNpZSBkaWVzZW4gc2Nocml0dCB0dW46IGljaCBmcmV1ZSBtaWNoCnNjaG9uIGpldHp0LCBlbmRsaWNoIG1hbCB3aWVkZXIgZWluZSBmZWhsZXJmcmVpZSBhdXNnYWJlIGRlcyBTUElFR0VMCmluIGRlbiBoYWVuZGVuIHp1IGhhbHRlbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaW51eCBLZXJuZWwuLi4gKE9nbywgIDcuIEF1ZyAyMDA0LCAxOTo1NDoyNik6Cmh0dHA6Ly90aW55dXJsLmNvbS81ZjhhMgoKb2RlciBhdXNnZXNjaHJpZWJlbjoKaHR0cDovL2xpbnV4LmJrYml0cy5uZXQ6ODA4MC9saW51eC0yLjYvZGlmZnMvZHJpdmVycy9tZC9LY29uZmlnQDEuNz9uYXY9aW5kZXguCmh0bWx8c3JjL3xzcmMvZHJpdmVyc3xzcmMvZHJpdmVycy9tZHxoaXN0L2RyaXZlcnMvbWQvS2NvbmZpZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogS2xhc3Npc2NoZSBSZWNodHNjaHJlaWJ1bmcgKFpvb2ssICA4LiBBdWcgMjAwNCwgMTg6NTc6MzEpOgp+IyEgcm49R25vbWUgcnQ9MTA5MTg4MjE1NiByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2Ck9iIGVzIHdpcmtsaWNoIHdlbmlnZXIgRmVobGVyIHdlcmRlbi4uLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChQaWxncmltLCAgOS4gQXVnIDIwMDQsIDExOjUyOjI2KToKfiMhIHJuPVpvb2sgcnQ9MTA5MTc5NDUwOCByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2Cj4gV0ljaHRpZyBpc3QgZG9jaCBudXIsIGRhc3MgRHUgRGljaCBlbnRzY2hlaWRlc3QuCj4gCj4gWm9vay4KCkJlaSBfbWlyXyBpc3Qgc293aWVzbyBIb3BmZW4gdW5kIE1hbHogdmVybG9yZW4gOy0pCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbGFzc2lzY2hlIFJlY2h0c2NocmVpYnVuZyAoTXVhZGliLCAgOS4gQXVnIDIwMDQsIDExOjU0OjA2KToKfiMhIHJuPUdub21lIHJ0PTEwOTE4ODIxNTYgcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5Ngp3ZWxjaGVuIGdydW5kPwppY2ggZnJhZ2UgbWljaCBkb2NoIHNlaHIgd2FydW0gZXMgZGllIHJmIG5pY2h0IGdld2FndCBoYXQgZGFzIHN6IGVuZGd1ZWx0aWcgenUKYmVncmFiZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJJTEQsIGRpZSBXaXNzZW5zY2hhZnQsIGRpZSBSZWNodHNjaHJlaWJ1bmcgdW5kIGRlciBnYW56ZSBSZXN0IChQaWxncmltLCAgOS4gQXVnIDIwMDQsIDExOjU1OjEwKToKSGllciBub2NoIGVpbiBuZXR0ZXIgbGluay4gRXIgYmV6aWVodCBzaWNoIG1laHIgYXVmIGRlbiBJbmhhbHQgYWxzIGRpZQpSZWNodHNjaHJlaWJ1bmcgYmVpIEJJTEQgdW5kIGlzdCByZWNodCAuLi4gbmV0dCA7LSkKCmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvZGV1dHNjaC9pbmhhbHQvZ2xvc3NlLzE4MDY5LzEuaHRtbAoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2xhc3Npc2NoZSBSZWNodHNjaHJlaWJ1bmcgKEhpZ2hsYW5kZXIsICA5LiBBdWcgMjAwNCwgMTE6NTU6MzQpOgp+IyEgcm49TXVhZGliIHJ0PTEwOTIwNDUyNDYgcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5NgpXZWlsICdpbiBNYXNzZW4nIHVuZCAnaW4gTWEmc3psaWc7ZW4nIGltbWVyIG5vY2ggZWluIFVudGVyc2NoaWVkIGlzdD8KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2xhc3Npc2NoZSBSZWNodHNjaHJlaWJ1bmcgKE11YWRpYiwgIDkuIEF1ZyAyMDA0LCAxMjowMDo1Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEwOTIwNDUzMzQgcmc9d3d3Cn4jISB0aWQ9MTA5MTc5MDM5Ngp1bmQgZGVyIHJlY2h0ZmVydGlndCBkZW4gc3otZWllcnRhbnogZGVyIHJmPwpkYXMgbGV1Y2h0ZXQgbWlyIG5pY2h0IGVpbi4gZWluZSBsYWVuZ2VuYmV0b251bmcgZWluZXMgdm9rYWxzIGxhZXNzdCBzaWNoIGF1Y2gKb2huZSBzeiBlcnJlaWNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEtsYXNzaXNjaGUgUmVjaHRzY2hyZWlidW5nIChab29rLCAgOS4gQXVnIDIwMDQsIDEyOjAyOjU3KToKfiMhIHJuPU11YWRpYiBydD0xMDkyMDQ1MjQ2IHJnPXd3dwp+IyEgdGlkPTEwOTE3OTAzOTYKV2lyIGluIGRlciBTY2h3ZWl6IGhhYmVuIGVzIGF1Y2ggbWl0IGRlciBSRiBuaWNodCBlaW5nZWZ1ZWhydC4gQmVpIHVucyAKZ2lidHMgZGFzIG5hY2ggd2llIHZvciBuaWNodC4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBLbGFzc2lzY2hlIFJlY2h0c2NocmVpYnVuZyAoTXVhZGliLCAgOS4gQXVnIDIwMDQsIDEyOjAzOjQzKToKfiMhIHJuPVpvb2sgcnQ9MTA5MjA0NTc3NyByZz13d3cKfiMhIHRpZD0xMDkxNzkwMzk2Cm9oIGdvdHQgd2llIGtvZW5udCBpaHIgZGFtaXQgbnVyIGxlYmVuCmFlaCBvaG5lIG5hdHVlcmxpY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndvIGlzIGRlciB3ZWlobmFjaHRzbWFubj8gKEFwb3BoaXMsICA5LiBBdWcgMjAwNCwgMTg6MzU6NTkpOgoKaHR0cDovL3d3dy5saXF1aWRnZW5lcmF0aW9uLmNvbS9zYWJvdGFnZS9mcm9zdF9zYWJvdGFnZS5hc3AKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwbG9wICAgIHBsb3AgICAgIHBsb3AgKENhdHdlYXpsZSwgMTAuIEF1ZyAyMDA0LCAwODo1NDo0NSk6Ck1vaW4hCgpFaW5lIGRlciBzY2hvZW5zdGVuIFdlYnNlaXRlbiBzZWl0IGxhbmdlbSA6KSkKCldlbm4gaWhyIG1hbCB3aWVkZXIgbmVydm9lcyBzZWlkLCB1bmQgZGllIEZJbmdlciBuaWNodCBzdGlsbGhhbHRlbiBrb2VubnQ6CgpodHRwOi8vZnVuLmZyb20uaGVsbC5wbC8yMDAzLTExLTI0L2J1YmJsZXdyYXAuc3dmCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBwbG9wICAgIHBsb3AgICAgIHBsb3AgKE11YWRpYiwgMTAuIEF1ZyAyMDA0LCAxMDowMDoxMCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA5MjEyMDg4NSByZz13d3cKfiMhIHRpZD0xMDkyMTIwODg1CmhtbSBtaXN0IGVzIGZlaGxlbiBtaXIgaW1tZXIgbm9jaCBmdW5rdGlvbmllcmVuZGUgbGF1dHNwcmVjaGVyIGFtIHJlY2huZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiBBUlBBTkVUIGxlYnQsIG9kZXIgLi4uIGRhcyBnZWhlaW1uaXNzdm9sbGUgV2lya2VuIGRlciBJbGx1bWluYXRlbj8gKFBpbGdyaW0sIDExLiBBdWcgMjAwNCwgMTM6NDk6MzkpOgoKSWVuIGludGVyZXNhbnRlciBBcnRpa2VsIHVlYmVyIGRpZSBHZXNjaGljaHRlIGRlcyBJbnRlcm5ldHMgdW5kIC4uLiBzZWx0c2FtZQpTYWNoZW4gdWViZXIgIEFSUEFORVQuCgpodHRwOi8vd3d3LmZpcmV3YWxsaW5mby5kZS9pbmRleC5waHA/b3B0aW9uPWNvbnRlbnQmdGFzaz12aWV3JmlkPTE4OTAmSXRlbWlkPTUKMDQKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAgQVJQQU5FVCBsZWJ0LCBvZGVyIC4uLiBkYXMgZ2VoZWltbmlzc3ZvbGxlIFdpcmtlbiBkZXIgSWxsdW1pbmF0ZW4/IChQaWxncmltLCAxMS4gQXVnIDIwMDQsIDEzOjUxOjExKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA5MjIyNDk3OSByZz13d3cKfiMhIHRpZD0xMDkyMjI0OTc5CkFlaCAuLi4gaGllciBkZXIgbGluayBpbiBrdXJ6CiBodHRwOi8va3Vlcnplci5kZS9YelFNOEdRYzAKClBpbGdyaW0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVzZXJmcmllbmRseSAoTXVwZmVsLCAxMS4gQXVnIDIwMDQsIDIyOjA3OjU4KToKaHR0cDovL2Fycy51c2VyZnJpZW5kbHkub3JnL2NhcnRvb25zLz9pZD0yMDA0MDgxMQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVMSVRFIHN0YXJ0ZXQgd2llZGVyISAoVmFuaW9uLCAxMS4gQXVnIDIwMDQsIDIyOjU5OjA5KToKSWNoIGhhYiBmb2xnZW5kZSBNYWlsIGluIG1laW5lbSBBY2NvdW50IGdlZnVuZGVuOgotLQpVTElURSBzdGFydGV0IHdpZWRlciEKClNjaG9uIHNlaHIgZnJ1ZWggaGF0IHNpY2ggZW50c2NoaWVkZW4sIGRhc3MgRHUgZWluIEhhZW5kbGVyIHdlcmRlbiB3aXJzdDoKYmVpbmFoZSBhbGxlIERlaW5lciBWb3JmYWhyZW4gd2FyZW4gSGFlbmRsZXIsIHVuZCBkYWhlciBoYXN0IER1IHNjaG9uCmdld2lzc2UgRmFlaGlna2VpdGVuIHZvbiBHZWJ1cnQgYXVmLCBkaWUgZWluZW4gYXVzZ2V6ZWljaG5ldGVuIEhhZW5kbGVyCmF1c21hY2hlbi4gQWxzIEhhZW5kbGVyIGxhZXNzdCBlcyBzaWNoIHNlaHIgZ3V0IGxlYmVuLCBtYW4gZmxpZWd0Cnp3aXNjaGVuIGRlbiBTdGF0aW9uZW4gdW5kIGVyaGFlbHQgaW1tZXIgYXVzZ2V6ZWljaG5ldGUgUHJlaXNlIGZ1ZXIgc2VpbmUgCldhcmVuLgoKQWxsZXJkaW5ncyBnZWhlbiBmdWVyIGRpZXNlIEZhZWhpZ2tlaXQgYW5kZXJlIEZhZWhpZ2tlaXRlbiB2ZXJsb3Jlbi4KQmVpIGVpbmVtIEthbXBmIGthbm4gbWFuIG51ciB3ZW5pZyBtaXQgZWluZXIgV2FmZmUgYW5mYW5nZW4sIGZ1ZXIKZGllIE5hdmlnYXRpb24gZ3JvZXNzZXJlIFNjaGlmZmUgbXVzcyBleHRyYSBlaW4gS3VycyBiZXN1Y2h0IHdlcmRlbiwKRm9yc2NodW5nIGlzdCBlaW4gRnJlbWR3b3J0LgoKTmVpbiAtIG5vY2ggaXN0IGtlaW4gTWVpc3RlciB2b20gSGltbWVsIGdlZmFsbGVuISBKZWRlciBrYW5uIHNpY2ggCmVudHNjaGVpZGVuLCB3b3JpbiBlciBzaWNoIHNwZXppYWxpc2llcmVuIHdpbGwsIHNlaSBlcyBiZWkgS2FlbXBmZW4sCmltIEhhbmRlbCwgaW4gZGVyIEZvcnNjaHVuZyBvZGVyIGJlaSBhZG1pbmlzdHJhdGl2ZW4gVGFldGlna2VpdGVuOgpVZWJ1bmcgbWFjaHQgZGVuIE1laXN0ZXIuIER1cmNoIFVlYnVuZyBiZWtvbW10IG1hbiBFcmZhaHJ1bmcsIGR1cmNoCkVyZmFocnVuZyBkaWUgRmFlaGlna2VpdC4KCkRvY2ggZGFzIGdyb3NzZSBaaWVsIGRlciBnZXNhbXRlbiBNZW5zY2hoZWl0IGlzdCBrbGFyOiBXaXIgd29sbGVuIGRhcwpuYWVoZXJlIFVuaXZlcnN1bSBlcmt1bmRlbiB1bmQgbmV1ZSBXZWx0ZW4gZXJzY2hsaWVzc2VuLiBFcnN0IHdlbmlnClN5c3RlbSBzaW5kIHZvbGxzdGFlbmRpZyBlcmt1bmRldCB3b3JkZW4sIHZpZWxlcyBsaWVndCBub2NoIGltIFVuYmVrYW5udGVuLgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVWxpdGUgVjMgc3RhcnRldCBhbSBNaXR0d29jaCwgZGVuIDExLiBBdWd1c3QgMjAwNCB1bSAxNiBVaHIuCkFkcmVzc2U6IGh0dHA6Ly93d3cudWxpdGUuZGUKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKClNwZWNpYWwgSGlnaGxpZ2h0IGRlciBWMzogSmVkZXIgU3BpZWxlciBoYXQgMTMgdmVyc2NoaWVkZW5lIFNraWxscy4KSmVkZXIgU2tpbGwgc3RlbGx0IGVpbmUgRmFlaGlna2VpdCBkYSwgZGllIG1hbiBudXIgZHVyY2ggRXJmYWhydW5nIHN0ZWlnZXJuCmthbm4uIFNlaW4gIlN0YXJ0a2FwaXRhbCIgYW4gRmFlaGlna2VpdGVuIGdpYnQgbWFuIGJlaSBkZXIgUmVnaXN0cmF0dXIgaW4KRm9ybSBlaW5lcyBCZXJ1ZmVzIGFuLgotLQpJY2ggdWViZXJsZWcgamEgd2lya2xpY2gsIG9iIGljaCBub2NobWFsIGVpbmUgUnVuZGUgc3BpZWxlLiBNYWwgc2VoZW4uCgpHcnVlc3NlLApWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVMSVRFIHN0YXJ0ZXQgd2llZGVyISAoUGlsZ3JpbSwgMTIuIEF1ZyAyMDA0LCAxNDowMDo1MSk6Cn4jISBybj1WYW5pb24gcnQ9MTA5MjI1Nzk0OSByZz13d3cKfiMhIHRpZD0xMDkyMjU3OTQ5CldhcyBpc3QgVUxJVGUgLSBhdXNzZXIgZWluIG9ubGluZS1zcGllbD8gSWNoIG11ZXNzdGUgbWljaCBlcnN0IHJlZy4sIHVtIG1pcgpkYXMgYW5zZWhlbiB6dSBrb2VubmVuLgoKUGlsZ3JpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBVTElURSBzdGFydGV0IHdpZWRlciEgKENyb2Z0LCAxMi4gQXVnIDIwMDQsIDE0OjAyOjIxKToKfiMhIHJuPVBpbGdyaW0gcnQ9MTA5MjMxMjA1MSByZz13d3cKfiMhIHRpZD0xMDkyMjU3OTQ5CkRpZSBhbHRlIEhpbGZlIHdvbGx0ZXN0IGR1IGRpciBuaWNodCBkdXJjaGxlc2VuPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFVMSVRFIHN0YXJ0ZXQgd2llZGVyISAoQm9pbmcsIDEyLiBBdWcgMjAwNCwgMTQ6NDU6MjQpOgp+IyEgcm49Q3JvZnQgcnQ9MTA5MjMxMjE0MSByZz13d3cKfiMhIHRpZD0xMDkyMjU3OTQ5CkhpbGZlIGxlc2VuIGlzdCBkb2NoIHdhcyBmdWVyIFdlaWNoZWllciAuLi4gZGEgbGFlc3N0IG1hbiBlcyBzaWNoIGxpZWJlcgppbiBhbGxlciBBdXNmdWVocmxpY2hrZWl0IGluIGVpbmVtIEZvcnVtIGJ6dy4gZWluZXIgTmV3c2dyb3VwIGVya2xhZXJlbiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3J0b24gSSwgRW1wZXJvciBvZiB0aGUgVW5pdGVkIFN0YXRlcywgUHJvdGVjdG9yIG9mIE1leGljbyAoVmFuaW9uLCAxNS4gQXVnIDIwMDQsIDEwOjQyOjUxKToKaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9Kb3NodWFfTm9ydG9uCgpDb29sLCAKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgZGllIG5hZWNoc3RlIGtvbnN1bHRhdGl2ZSBQcmFlc2VudGF0aW9uIGJlaW0gSVQgTGVpdGVyIChBcmssIDE2LiBBdWcgMjAwNCwgMjE6Mzk6MDYpOgpodHRwOi8vd3d3LmtsZWluZWJyb2V0Y2hlbi5kZS9zcHJ1Y2hrbG9wZi9mMDY3LWF1ZnJ1Zi1rbG9wZm9tYXQxMDFhdWRpby5odG0KClNvdW5kIGVpbnNjaGFsdGVuLCBkYW1pdCBtYW4gZGVuIHJpY2h0aWdlbiBWb3J0cmFnIGxlcm50LgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFtZXJpa2EgKEFsYm9pbiwgMTYuIEF1ZyAyMDA0LCAyMzo1ODoxMSk6Cmh0dHA6Ly93d3cuYWRidXN0ZXJzLm9yZy9qYW1zL2hpc3RvcnkvdGltZWxpbmUuc3dmCkd1dGUgVWViZXJzaWNodCB1ZWJlciBkaWUgVVMgSW50ZXJ2ZW50aW9uZW4gZGVyIGxldHp0ZW4gMjAwIEphaHJlLgoKVW5kIHp1IG5hdGlvbmFsZW4gVm9ydXJ0ZWlsZW4gaW4gRXVyb3BhIGdlaHRzIGhpZXIgOgpodHRwOi8vd3d3LnJlYWRlcnNkaWdlc3QuY28udWsvbWFnYXppbmUvZXVyb3BlYW5zMDQuaHRtCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbXVoPyAoQXBvcGhpcywgMTcuIEF1ZyAyMDA0LCAxMjoyOTo0Myk6Cmh0dHA6Ly9kYWVtbGljaC5uZXQvZGF0YS9zcGFya2Fzc2Vfa3VoLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgZGllIG5hZWNoc3RlIGtvbnN1bHRhdGl2ZSBQcmFlc2VudGF0aW9uIGJlaW0gSVQgTGVpdGVyIChNdXBmZWwsIDE3LiBBdWcgMjAwNCwgMjE6MTU6MjMpOgp+IyEgcm49QXJrIHJ0PTEwOTI2ODUxNDYgcmc9d3d3Cn4jISB0aWQ9MTA5MjY4NTE0NgpKb3UsIGljaCBnZWIgbWlyIGRhcyBhdWNoIG1hbmNobWFsIDspIFdhcyBpY2ggbWljaCBhbGxlcmRpbmdzIGZyYWdlOiBhbmdlYmxpY2gKc29sbGVuIHNvbGNoZSBXb3J0ZS9TYWV0emUgd2lya2xpY2ggaW4gR2VicmF1Y2ggc2Vpbi4gSWNoIGthbm4gbWlyIGRhcyBnYXIKbmljaHQgdm9yc3RlbGxlbiwgd28gZmluZGV0IG1hbiBzb3dhcz8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgZGllIG5hZWNoc3RlIGtvbnN1bHRhdGl2ZSBQcmFlc2VudGF0aW9uIGJlaW0gSVQgTGVpdGVyIChBc3VrYSwgMTcuIEF1ZyAyMDA0LCAyMToxNzoyNyk6Cn4jISBybj1NdXBmZWwgcnQ9MTA5Mjc3MDEyMyByZz13d3cKfiMhIHRpZD0xMDkyNjg1MTQ2CkR1IG1vZWNodGVzdCBEaWNoIGVpbm1hbCBpbiBlaW5lIHVuc2VyZSBCZXRyaWVic3ZlcnNhbW1sdW5nZW4gc2V0emVuIHVuZApkb3J0IG5lIFdlaWxlIHp1aG9lcmVuLiBPZGVyIGJlc3NlciBuaWNodCwgZGFzIHdpbGwgbWFuIHNpY2ggbmljaHQKZnJlaXdpbGxpZyBhbnR1bi4KCkFzdWthClBTOiBOZWluLCBnYW56IHNvIHNjaGxpbW0gaXN0IGVzIG5pY2h0LCBhYmVyIHdhcyBkYSBhbiBCdXp6d29lcnRlcm4KbWFuY2htYWwgZmFsbGVuIGlzdCBlY2h0IG5pbW1lciBmZWllcmxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYW1sZXQgYWxzIFRleHRhZHZlbnR1cmUgKE1hZ2dpLCAxOC4gQXVnIDIwMDQsIDIwOjQ2OjUxKToKc2llaGUKaHR0cDovL3d3dy5yb2JpbmpvaG5zb24uZjkuY28udWsvYWR2ZW50dXJlL2hhbWxldC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb3VjaGthcnRvZmZlbHNhbGF0IChWaW5jZW50LCAxOS4gQXVnIDIwMDQsIDAwOjEwOjIzKToKS3Jhc3NlIFNlaXRlLCBhbGxlcmRpbmdzIHp1bSBUZWlsIGFsdGUgdW5kIGJla2FubnRlIFdpdHplLCB1bmQgdmllbCBGbGFzaC4gCgpodHRwOi8vd3d3LmNvdWNoa2FydG9mZmVsc2FsYXQuZGUvCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFtbGV0IGFscyBUZXh0YWR2ZW50dXJlIChCcmFuLCAxOS4gQXVnIDIwMDQsIDEwOjMzOjA3KToKfiMhIHJuPU1hZ2dpIHJ0PTEwOTI4NTQ4MTEgcmc9d3d3Cn4jISB0aWQ9MTA5Mjg1NDgxMQpFbmRsaWNoIG1hbCBlY2h0ZSBLdWx0dXIgaGllci4gQXVmIGtlaW5lbiBGYWxsIHZlcnBhc3NlbiEKCkJyYW4gKGFtdXNlZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGFsbG9zIFJhdWNob3MgKEphbWVzb24sIDE5LiBBdWcgMjAwNCwgMTE6NDc6MzkpOgpGdWVyIGFsbGUgRmFucyB2b24gIk5peCB2ZXJzdGVobiBpbiBBdGhlbiI6IGhpZXIgZ2lidCdzIGFsbGUgTmFtZW4gZGVyIEZpZ3VyZW4KYXVmIGVpbm1hbC4Ka3VyejoKaHR0cDovL3Rpbnl1cmwuY29tLzVlam1zCmxhbmc6Cmh0dHA6Ly93d3cuc3dyMy5kZS9zcGVjaWFscy9uaXh2ZXJzdGVobmluYXRoZW4vY29udGVudC93b2VydGVyYnVjaC8/c3VjaGU9JnNvcgp0aWVydW5nPWRldXRzY2gmd2FzPWU2N2IxZmY2N2E5OQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFsIHdhcyBuZXR0ZXMgZnVlciBGcmF1ZW4gKEFjaHR1bmc6IE51ciBmdWVyIDE4KykgKE1vcmdvdGgsIDIwLiBBdWcgMjAwNCwgMjM6NDA6NDApOgpodHRwOi8vd3d3Lnpvb2Z1ci5jb20vdGhvci5odG1sCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCB3YXMgbmV0dGVzIGZ1ZXIgRnJhdWVuIChBY2h0dW5nOiBOdXIgZnVlciAxOCspIChNdXBmZWwsIDIwLiBBdWcgMjAwNCwgMjM6NDE6MzIpOgp+IyEgcm49TW9yZ290aCBydD0xMDkzMDM4MDQwIHJnPXd3dwp+IyEgdGlkPTEwOTMwMzgwNDAKIjE4KyIsIHNvbGwgZGFzIG5lIEdyb2Vzc2VuYW5nYWJlIHNlaW4/IDspCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNYWwgd2FzIG5ldHRlcyBmdWVyIEZyYXVlbiAoQWNodHVuZzogTnVyIGZ1ZXIgMTgrKSAoR2xvaW5zb24sIDIwLiBBdWcgMjAwNCwgMjM6NDQ6MjkpOgp+IyEgcm49TXVwZmVsIHJ0PTEwOTMwMzgwOTIgcmc9d3d3Cn4jISB0aWQ9MTA5MzAzODA0MApEYXMgaXN0IE1vZ2dscyBQYXNzZ3JvZXNzZSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11aCAoT2dvLCAyMS4gQXVnIDIwMDQsIDE3OjIxOjQ0KToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCwzMTQ0MjIsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11aCAoUGhvYm9zLCAyMS4gQXVnIDIwMDQsIDE3OjI3OjA4KToKfiMhIHJuPU9nbyBydD0xMDkzMTAxNzA0IHJnPXd3dwp+IyEgdGlkPTEwOTMxMDE3MDQKaHR0cDovL2Z1bi5kcm5vLmRlL3BpY3MvZ2VybWFuL2t1ZWhlLmpwZwoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11aCAoTXVhZGliLCAyMS4gQXVnIDIwMDQsIDE3OjMxOjI1KToKfiMhIHJuPVBob2JvcyBydD0xMDkzMTAyMDI4IHJnPXd3dwp+IyEgdGlkPTEwOTMxMDE3MDQKYWxzbyBlaW4gc2NobGllc3NtdXNrZWx0cmFpbmVyIGZ1ZXIga3VlaGUgd2FlciBqYSBzY2hvbiB3YXMgZnVlcnMgbWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11aCAoRGFya2xvciwgMjEuIEF1ZyAyMDA0LCAxNzozNTo0Nyk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5MzEwMjI4NSByZz13d3cKfiMhIHRpZD0xMDkzMTAxNzA0CkVpbmUgYmVnZWhiYXJlIFJpZXNlbmt1aD8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11aCAoS2VsbHlidW5keSwgMjEuIEF1ZyAyMDA0LCAxNzozNjo0OSk6Cn4jISBybj1EYXJrbG9yIHJ0PTEwOTMxMDI1NDcgcmc9d3d3Cn4jISB0aWQ9MTA5MzEwMTcwNApSZWljaHQgZG9jaCBzY2hvbiB3ZW5uIER1IGRlbiBZbmFnemV0IGF1c20gQSoqKiBrcmllY2hlbiBrYW5uc3Qgb2Rlcj8gOikKCkJsb25kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VwZXJnZWlsIChNb3Jnb3RoLCAyMi4gQXVnIDIwMDQsIDEzOjEwOjMzKToKaHR0cDovL3d3dy5sYW1lcmthdHouY29tL25vdHF1YWtlL2NhdF90b3lzLnNodG1sCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1cGVyZ2VpbCAoR2xvaW5zb24sIDIyLiBBdWcgMjAwNCwgMTM6NDY6MjgpOgp+IyEgcm49TW9yZ290aCBydD0xMDkzMTczMDMzIHJnPXd3dwp+IyEgdGlkPTEwOTMxNzMwMzMKTm9jaCBiZXNzZXIgZmluZGUgaWNoIGRhczoKCmh0dHA6Ly93d3cubGFtZXJrYXR6LmNvbS9ub3RxdWFrZS9zdGVha2hvdXNlLnNodG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi4uIChHbG9pbnNvbiwgMjMuIEF1ZyAyMDA0LCAxMjowMToxNCk6Cmh0dHA6Ly93d3cuamFtaXJpLmNvbS9qYW1pcmkvaG9tZS9jbXNfY29udGVudC9zaXRlL2NvbWljc19kb3QucGhwP2RvdGNvbT1oZXkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4uIChDcm9mdCwgMjMuIEF1ZyAyMDA0LCAxMjowNDo0Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMDkzMjU1Mjc0IHJnPXd3dwp+IyEgdGlkPTEwOTMyNTUyNzQKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L25ldHprdWx0dXIvMCwxNTE4LGdyb3NzYmlsZC0zODIyODQtMzE0MzI0LDAwLmh0Cm1sCmlzdCBhdWNoIG5ldHQgOi0pCgpDcm9mdCAoc28gZnJ1ZWggbm9jaCBrZWluZSBWb2xsLVZlcnNpb24pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IC4uLiAoTm9ubmUsIDIzLiBBdWcgMjAwNCwgMTI6MDc6MzApOgp+IyEgcm49Q3JvZnQgcnQ9MTA5MzI1NTQ4MiByZz13d3cKfiMhIHRpZD0xMDkzMjU1Mjc0Ck1laW5lIExpZWJsaW5ncy1KYW1pcmlzIHNpbmQgYXVzIGRlciBSZWloZSAnQmVhdGUnLCB6LmI6Cmh0dHA6Ly93d3cuamFtaXJpLmNvbS9qYW1pcmkvaG9tZS9jbXNfY29udGVudC9zaXRlL2NvbWljc19rYW0ucGhwP2thbWlrYXplPWJlYQp0ZTEwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDeXBoZXJwdW5rLi4uIChPZ28sIDIzLiBBdWcgMjAwNCwgMTM6MDg6NDEpOgpXZW5uIG1hbiBhdWYgZGVyIEFyY29yLVNlaXRlIGVpbiBiaXNzY2hlbiBydW1zdG9lYmVydCwgZmluZGV0IG1hbiBpbiBkZXIKUnVicmlrIFNvZnR3YXJlcmF0Z2ViZXIgbmljaHQgbnVyIDEwMDEgdG9sbGUgT2ZmaWNlIFRyaWNrcywgc29uZGVybiBhdWNoIHNvCnVlYmVycmFzY2hlbmRlIEFydGlrZWwgd2llOgpBbm9ueW1lcyBNYWlsZW4gdmlhIEN5cGhlcnB1bmt0IG9kZXIgTWl4bWFzdGVyLVJlbWFpbGVyOgpodHRwOi8vd3d3LmFyY29yLmRlL2NvbnRlbnQvcGNnYW1lcy9zb2Z0d2FyZS9yYXRnZWJlci8xNTY2MDQ3OS5odG1sCgpPZ28sIGFuZ2VuZWhtIHZvbiBkZXIgQXJjb3JzZWl0ZSB1ZWJlcnJhc2NodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRG9pbmcgYSBMeW5uZGllIChBcG9waGlzLCAyMy4gQXVnIDIwMDQsIDE2OjQyOjM0KToKaHR0cDovL2JhZGdhcy5jby51ay9seW5uZGllLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogLi4uIChBbGJvaW4sIDIzLiBBdWcgMjAwNCwgMTY6NDM6NTcpOgp+IyEgcm49Tm9ubmUgcnQ9MTA5MzI1NTY1MCByZz13d3cKfiMhIHRpZD0xMDkzMjU1Mjc0Cm15IGZhdm9yaXRlCgpodHRwOi8vdGlueXVybC5jb20vNnR0NnoKCkFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZWJlbmxlYmVuIGltIEN5cGVyc3BhY2UgKFpvb2ssIDIzLiBBdWcgMjAwNCwgMTc6Mjg6MzQpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvbmV0emt1bHR1ci8wLDE1MTgsMzE0MDc2LDAwLmh0bWwKIkV2ZXJxdWVzdCItV2l0d2VuIG5lbm50IG1hbiBGcmF1ZW4sIGRpZSBpaHJlIE1hZW5uZXIgdW5kIEZyZXVuZGUgYW4gZGFzCkNvbXB1dGVyc3BpZWwgdmVybG9yZW4gaGFiZW4uIE1pdHRsZXJ3ZWlsZSBiZWRldXRlbiBPbmxpbmUtUm9sbGVuc3BpZWxlCkh1bmRlcnR0YXVzZW5kZW4gU3BpZWxlcm4gd2VsdHdlaXQgZWluZSB6d2VpdGUgSGVpbWF0LiBBYmVyIHNpbmQgZGllCnZpcnR1ZWxsZW4gV2VsdGVuIHdpcmtsaWNoIGdlZmFlaHJsaWNoLCBvZGVyIG51ciBkaWUgU3BpZWx3aWVzZSB2b24gbW9yZ2VuPwoKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmViZW5sZWJlbiBpbSBDeXBlcnNwYWNlIChBbGJvaW4sIDIzLiBBdWcgMjAwNCwgMTc6MzM6NTIpOgp+IyEgcm49Wm9vayBydD0xMDkzMjc0OTE0IHJnPXd3dwp+IyEgdGlkPTEwOTMyNzQ5MTQKaW50ZXJlc3NhbnQgYXVmIFNwaWVnZWxvbmxpbmUgYXVjaDoKQnJpdGlzY2hlIFN0dWRlbnRlbiBnZWJlbiBmdWVyIGlociBCaWVyIDMgbWFsIHNvIHZpZWwgYXVzIHdpZSBmdWVyIEJ1ZWNoZXIuCkFsbGVyZGluZ3Mgd2Vpc3MgaWNoIGF1Y2ggbmljaHQgb2IgZGllIGluIEVuZ2xhbmQgc28gZ3V0ZSBCaWJsaW90aGVrZW4gZGEKaGFiZW4gOy0pCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZWJlbmxlYmVuIGltIEN5cGVyc3BhY2UgKENyb2Z0LCAyMy4gQXVnIDIwMDQsIDE3OjM1OjE2KToKfiMhIHJuPUFsYm9pbiBydD0xMDkzMjc1MjMyIHJnPXd3dwp+IyEgdGlkPTEwOTMyNzQ5MTQKRGFzIEJpZXIgaXN0IGRvcnQgamVkZW5mYWxscyBhdWNoIHRldXJlciAuLi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZWJlbmxlYmVuIGltIEN5cGVyc3BhY2UgKEh1bW5pLCAyMy4gQXVnIDIwMDQsIDE4OjQzOjU0KToKfiMhIHJuPUNyb2Z0IHJ0PTEwOTMyNzUzMTYgcmc9d3d3Cn4jISB0aWQ9MTA5MzI3NDkxNApJY2ggYmluIG1pciB6aWVtbGljaCBzaWNoZXIsIGRhc3MgaWNoIGF1Y2ggMyBtYWwgc292aWVsIGZ1ZXIgQmllciBhdXNnZWdlYmVuCmhhYmUgd2llIGZ1ZXIgQnVlY2hlciBhbHMgU3R1ZGVudC4gVW5kIGljaCBmaW5kIGRhcyBuaWNodG1hbCBzY2hyZWNrbGljaC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOZWJlbmxlYmVuIGltIEN5cGVyc3BhY2UgKE5vbm5lLCAyMy4gQXVnIDIwMDQsIDE4OjQ0OjU2KToKfiMhIHJuPUNyb2Z0IHJ0PTEwOTMyNzUzMTYgcmc9d3d3Cn4jISB0aWQ9MTA5MzI3NDkxNApXZW5uIGljaCBhbiBtZWluIFN0dWRpdW0gZGVua2UuLi4gaWNoIGhhYmUgbWVpbmUgTGl0ZXJhdHVyIGJpcyBhdWYKS2xlaW5pZ2tlaXRlbiBmdWVyIGVpbmUgS2lzdGUgQmllciBnZWthdWZ0LCBzaWNoZXIgYWJlciB3ZXNlbnRsaWNoIG1laHIgYWxzCmRyZWkgS2lzdGVuIGluIGRlciBaZWl0IGdldHVua2VuLi4uIGFsc28gaWNoIHppZWhlIGRlbiBTY2huaXR0IHppZW1saWNoIG5hY2gKb2JlbiAoYzsKCk5vbm5lLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmViZW5sZWJlbiBpbSBDeXBlcnNwYWNlIChab29rLCAyMy4gQXVnIDIwMDQsIDE4OjQ1OjM0KToKfiMhIHJuPUh1bW5pIHJ0PTEwOTMyNzk0MzQgcmc9d3d3Cn4jISB0aWQ9MTA5MzI3NDkxNApGdWVyIG1pY2gga2xpbmd0IGRhcyBhdWNoIG5hY2ggZGVtIGtsYXNzaXNjaGVuIFNvbW1lcmxvY2gtQXJ0aWtlbDogRGEgc2l0enQKZWluIGdlbGFuZ3dlaWx0ZXIgUmVkYWt0ZXVyIGFuIHNlaW5lbSBTY2hyZWlidGlzY2gsIGFsbGUgS29sbGVnZW4gaW0gClVybGF1YiwgZXIgd3VlaGx0IGluIHNlaW5lbSBNdWVsbCBoZXJ1bSwgZW50ZGVja3QgendlaSBaYWhsZW4sIHNldHp0IGRpZQppbiBCZXppZWh1bmcgdW5kIHBhZmYhIHNjaG9uIGhhdCBlciBlaW5lbiBBcnRpa2VsIG1pdCBTZW5zYXRpb25zY2hhcmFrdGVyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkthbWEtU3V0cmEgbWFsIGdhbnogYW5kZXJzIChNb3Jnb3RoLCAyMy4gQXVnIDIwMDQsIDE5OjE0OjQ3KToKaHR0cDovL3d3dy5zY291dHdhbGtlci5jb20vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdWdlbmtyZWJzPyAoTW9yZ290aCwgMjMuIEF1ZyAyMDA0LCAxOToyMDowNSk6Cmh0dHA6Ly93d3cuZGV2aWFudGFydC5jb20vdmlldy85OTgyNjczLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWlnZW50bGljaCBuaWNodCB3aXR6aWcgdW5kIGF1Y2ggTlVSIGZ1ZXIgZGllIEhhcnRlbiB1bnRlciB1bnMgKE1vcmdvdGgsIDI0LiBBdWcgMjAwNCwgMDg6MTI6NTMpOgpodHRwOi8vd3d3LnZnY2F0cy5jb20vY29taWNzL2V4dHJhcy9lZWVld3d3LmdpZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpZ2VudGxpY2ggbmljaHQgd2l0emlnIHVuZCBhdWNoIE5VUiBmdWVyIGRpZSBIYXJ0ZW4gdW50ZXIgdW5zIChCYW1idWxrbywgMjQuIEF1ZyAyMDA0LCAwOTowNjoyNCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwOTMzMjc5NzMgcmc9d3d3Cn4jISB0aWQ9MTA5MzMyNzk3MwpJc3QgZ2FyIG5pY2h0IHdpdHppZyB1bmQgTlVSIGZ1ZXIgZGllIEhhcnRlbiB1bnRlciB1bnMuIDotKQoKQmFtYnVsa28sIGpldHp0IG1pdCBsZWVyZW0gTWFnZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZWJlbmxlYmVuIGltIEN5cGVyc3BhY2UgKENhc3NhbmRyYSwgMjQuIEF1ZyAyMDA0LCAxMzoyNjowNyk6Cn4jISBybj1ab29rIHJ0PTEwOTMyNzk1MzQgcmc9d3d3Cn4jISB0aWQ9MTA5MzI3NDkxNApJY2ggdHJpbmtlIHp3YXIgV2VpbiBzdGF0dCBCaWVyLCBhYmVyIGljaCBzY2hhZXR6ZSBkYXMga29lbm50ZSBzb2dhciBpY2ggYWxzCndlbmlnIHRyaW5rZXIgZ2VzY2hhZnQgaGFiZW4uIFdlciBrYXVmdCBzY2hvbiBhbGxlIEJ1ZWNoZXIsIGVzIGdpYnQKQmlibGlvdGhla2VuIHVuZCBLb3BpZXJlci4KCkNhc3N5LCBuaWNodCB3aXJrbGljaCB2aWVsIHRyaW5rZW5kLCBhYmVyIGF1Y2ggbmljaHQgdmllbCBCdWVjaGVyIGthdWZlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IC4uLiAoQm9pbmcsIDI0LiBBdWcgMjAwNCwgMjM6NTc6NTkpOgp+IyEgcm49Tm9ubmUgcnQ9MTA5MzI1NTY1MCByZz13d3cKfiMhIHRpZD0xMDkzMjU1Mjc0CkR1IGhhc3QgZWluZW4gTGllYmxpbmdzLUphbWlyaT8gQWxzbyBlaW5lbiBkZW4gRHUgbHVzdGlnIG9kZXIgaXJnZW5kd2llCmd1dCBmaW5kZXN0PyBTb3dhcyBnaWJ0IGVzPyBWb24gSmFtaXJpPz8/IEljaCBrZW5uIGthdW0gZWluZW4gdW5rb21pc2NoZXJlbgpDYXJ0b29uaXN0IC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiAuLi4gKEFrYXNoYSwgMjUuIEF1ZyAyMDA0LCAwMDoxNToxMCk6Cn4jISBybj1Cb2luZyBydD0xMDkzMzg0Njc5IHJnPXd3dwp+IyEgdGlkPTEwOTMyNTUyNzQKRHUga2VubnN0IGthdW0gZWluZW4gdW5rb21pc2NoZXJlbj8gRHUgd2lsbHN0IGRhbWl0IGRvY2ggbmljaHQgZXR3YSBzYWdlbiwKZGFzcyBkdSBnbGF1YnN0LCBKYW1pcmkgdmVyc3VjaGUgYXVjaCBudXIgYW5zYXR6d2Vpc2Uga29taXNjaCB6dSBzZWluLCBvZGVyPwoKQWthc2hhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiAuLi4gKE5vbm5lLCAyNS4gQXVnIDIwMDQsIDA3OjU4OjUzKToKfiMhIHJuPUFrYXNoYSBydD0xMDkzMzg1NzEwIHJnPXd3dwp+IyEgdGlkPTEwOTMyNTUyNzQKSmFtaXJpIHN0ZWxsdCBkYXMgTGViZW4gZGFyLCBzbyB3aWUgZXMgaXN0LiBJY2ggc2FnIG51cjoKSmFtaXJpIChhbSBGcnVlaHN0dWVja3N0aXNjaCk6ICJSZWljaHN0IGR1IG1pciBtYWwgZGVuIFNhbHpzdHJldWVyPyIKQmVhdGUgKG1pdCBkZW0gU2FsenN0cmV1ZXIgdm9yIGRlciBOYXNlKTogIldhcnVtPyBIYXN0IGR1IGRpciBkZW4gQXJtCmdlYnJvY2hlbj8iCgpOb25uZSwgZmluZGV0IGRhcyBuaWNodCBsdXN0aWcsIGFiZXIgcmVhbGlzdGlzY2ggKGM7CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYW1lcmF1ZWJlcndhY2h0IChPZ28sIDI1LiBBdWcgMjAwNCwgMTI6NTA6MzEpOgpFaW5tYWwga3VyejoKaHR0cDovL3Rpbnl1cmwuY29tLzUybms2CkVpbm1hbCBsYW5nOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUva3VsdHVyL2dlc2VsbHNjaGFmdC8wLDE1MTgsZ3Jvc3NiaWxkLTM4MzYzMC0zMTQ3MzQsMDAuaHQKbWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwc3ljaG9wYXRoZW4gdW5kIHNvIChBbGJvaW4sIDI1LiBBdWcgMjAwNCwgMjA6NDE6NTUpOgp3ZWlsIGljaCB1ZWJlcnpldWd0ZXIgTWVnYXNjaG1hcnJuZXIgYmluIHVuZCBkZXNoYWxiIGtlaW4gU2VsYnN0cmVwbHkgbWFjaGUsCnZlcmxlZ2UgaWNoIGVzIGhpZXJoZXI6CkJpbiBpY2ggZWluIFBzeWNob3BhdGg/IE1hY2ggZGVuIFNlbGJzdHRlc3QhCmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvZm9yZW4vZ28uc2h0bWw/cmVhZD0xJm1zZ19pZD02MzE2NDU0JmZvcnVtX2lkPTYzNDQ0CgpiencuCgpodHRwOi8vdGlueXVybC5jb20vNnQ5Z3MKCkFsIHdhciB3b2hsIGltIEtsb3N0ZXIgOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphdXNydWVzdHVuZ3NmYW5hdGlrZXIgKE11YWRpYiwgMjUuIEF1ZyAyMDA0LCAyMTo0ODoyNSk6CmlyZ2VuZHdpZSBlcmlubmVydCBtaWNoIGRhcyBhbiBzbyBtYW5jaGVuIG11ZGRlcgpodHRwOi8vd3d3LnRlY2hkaXZlcnMtZ2VybWFueS5kZS9pbWFnZXMvcHJvajE5My84LkpQRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHBzeWNob3BhdGhlbiB1bmQgc28gKERlZXBibHVlLCAyNi4gQXVnIDIwMDQsIDA4OjE3OjA2KToKfiMhIHJuPUFsYm9pbiBydD0xMDkzNDU5MzE1IHJnPXd3dwp+IyEgdGlkPTEwOTM0NTkzMTUKVW5mdWcsIER1IGhhc3QgZ2VzY2h1bW1lbHQhCkRlZXAqIChTdGVsbHZlcnRyZXRlbmRlciBLYXJuaWNrZWx6dWVjaHRlcnZlcmVpbnN2b3JzaXR6ZW5kZXIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiAuLi4gKERhcmtsb3IsIDI2LiBBdWcgMjAwNCwgMTY6NDQ6MDgpOgp+IyEgcm49Tm9ubmUgcnQ9MTA5MzQxMzUzMyByZz13d3cKfiMhIHRpZD0xMDkzMjU1Mjc0Ci4uLgoKRGFya2xvciBmaW5kZXRzIGVpbmZhY2ggbnVyIGxhbmd3ZWlsaWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBrYW5uIG1hbiBzb3dhcyB2ZXJvZWZmZW50bGljaGVuPyAoTW9yZ290aCwgMjcuIEF1ZyAyMDA0LCAxODoyNzo0NSk6ClVhcmdoLAoKYWxzbyBpY2ggaGFiIGphIHNjaG9uIHZpZWwgZ2VzZWhlbiB1bmQgZXMgZ2lidCBuaWNodCB2aWVsLCB3YXMgTUlSIGRlbiAKTWFnZW4gdW1kcmVodCwgYWJlciBhbHMgaWNoIGRhcyBnZXNlaGVuIGhhYiAuLi4gKldVRVJHKgoKTm9jaG1hbCBhbHMgV2FybnVuZyBmdWVyIGFsbGUgV2VpY2hlaWVyIHVuZCB6YXJ0ZSBHZW11ZXRlcjoKRGllc2VyIExpbmsgaXN0IG5peCBmdWVyIEV1Y2guLi4KCkZ1ZXIgYWxsZSBhbmRlcmVuOgpHZXQgYSBidWNrZXQgYW5kIGhhdmUgZnVuLi4uCgpodHRwOi8vam9hbi50aXBzbmNoZWF0cy5uZXQvSW1hZ2VzL2FiZC5qcGcKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChCYW1iaSwgMjcuIEF1ZyAyMDA0LCAyMToyNTo1Nyk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTEwOTM2MjQwNjUgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpFaW5lIEthdHplIHRyaW5rdCBXYXNzZXIuIERhcyBoYXQgRGlyIGRlbiBNYWdlbiB1bWdlZHJlaHQ/IE9kZXIgdWViZXJzZWggaWNoCmVpbiBrbGVpbmVzLCBhYmVyIHdpY2h0aWdlcyBEZXRhaWw/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpZSBrYW5uIG1hbiBzb3dhcyB2ZXJvZWZmZW50bGljaGVuPyAoR2xvaW5zb24sIDI3LiBBdWcgMjAwNCwgMjE6MjY6MjUpOgp+IyEgcm49QmFtYmkgcnQ9MTA5MzYzNDc1NyByZz13d3cKfiMhIHRpZD0xMDkzNjI0MDY1CkRpZSBLYXR6ZSBpc3QgbmljaHQgcmFzaWVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKEJyYW4sIDI3LiBBdWcgMjAwNCwgMjE6Mjg6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5MzYzNDc4NSByZz13d3cKfiMhIHRpZD0xMDkzNjI0MDY1CkVya2VubmUgaWNoIGRhIHZpZWxsZWljaHQgZGllIG1lc3NlcnNjaGFyZmUgT2JlcmthbnRlIGRlciBEdXNjaGFidHJlbm51bmcKbmljaHQ/CgpCcmFuLCBoYXQgZXMgYXVjaCBuaWNodCBrYXBpZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChNb3Jnb3RoLCAyNy4gQXVnIDIwMDQsIDIxOjQzOjE0KToKfiMhIHJuPUJyYW4gcnQ9MTA5MzYzNDkyMyByZz13d3cKfiMhIHRpZD0xMDkzNjI0MDY1CklociBoYWJ0IGVzIEFMTEUgbmljaHQga2FwaWVydC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKEJyYW4sIDI3LiBBdWcgMjAwNCwgMjE6NDM6NDQpOgp+IyEgcm49TW9yZ290aCBydD0xMDkzNjM1Nzk0IHJnPXd3dwp+IyEgdGlkPTEwOTM2MjQwNjUKCktsYWVyc3QgZHUgdW5zIGF1Zj8gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpZSBrYW5uIG1hbiBzb3dhcyB2ZXJvZWZmZW50bGljaGVuPyAoRGFya2xvciwgMjcuIEF1ZyAyMDA0LCAyMjozMToyMyk6Cn4jISBybj1CcmFuIHJ0PTEwOTM2MzU4MjQgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpEYWZ1ZXIgYmluIGljaCBhdWNoLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJVC1GcmF1ZW4gKE1vcmdvdGgsIDI4LiBBdWcgMjAwNCwgMTc6MTg6MTcpOgpodHRwOi8vd3d3LmZyYXVlbmZlaW5kbGljaGVzYXJzY2hsb2NoLmRlL2l0ZnJhdWVuLmh0bWwKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKFpvb2ssIDMwLiBBdWcgMjAwNCwgMTA6NDY6MjcpOgp+IyEgcm49RGFya2xvciBydD0xMDkzNjM4NjgzIHJnPXd3dwp+IyEgdGlkPTEwOTM2MjQwNjUKVG9sbC4gRGEgYmluIGljaCBhbSBXRSBuaWNodCBlaW5nZWxvZ2d0IHVuZCBwbG9ldHpsaWNoIGlzdCBkYXMgQmlsZAp3ZWcuIFdhcyB3YXIgZGVubiBudW4gZHJhdWY/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChPZ28sIDMwLiBBdWcgMjAwNCwgMTE6Mjk6MzIpOgp+IyEgcm49Wm9vayBydD0xMDkzODU1NTg3IHJnPXd3dwp+IyEgdGlkPTEwOTM2MjQwNjUKQXVzIGRlbSBHZWRhZWNodG5pczoKCk1hbiBzaWVodCBlaW5lIER1c2Noa2FiaW5lLCBkaWUgbWl0IGVpbmVyIEFjcnlsZ2xhc3dhbmQgenVyIGxpbmtlbiBhYmdldHJlbm50CmlzdC4gWnUgc2VoZW4gaXN0IGxlZGlnbGljaCBkZXIgb2JlcmUgQmVyZWljaCwgcmVjaHRzIGlzdCBlaW4gQnJhdXNlbmtvcGYKYmVmZXN0aWd0LCBhdXMgZGVtIFdhc3NlciBzdHJvZW10LiBEaWUgV2FuZCB3YXIsIHdlbm4gaWNoIG1pY2ggcmVjaHQgZXJpbm5lcmUKZ2VrYWNoZWx0LiBFaW5lIEthdHplIGluIEJlaWdldG9lbmVuKD8pIGhhZW5ndCBtaXQgZGVuIFZvcmRlcmtvZXJwZXIgaW5uZXJoYWxiCmRlciBEdXNjaGthYmluZSwgbWl0IGRlbSBIaW50ZXJrb2VycGVyIGF1c3NlcmhhbGIgdW5kIGhhZW5ndCBzbyB1ZWJlciBkZXIKQWNyeWx3YW5kLiBFcyBlcndlY2t0IGRlbiBBbnNjaGVpbiwgZGFzcyBkaWVzZSBLYXR6ZSB2b24gZGVtIFdhc3NlciB0cmlua2VuCndpbGwuIERhYmVpIGhhdCBkaWUgS2F0emVuIGVudHdlZGVyIGdlc2NobG9zc2VuZSBvZGVyIGhhbGJnZW9lZmZuZXRlIEF1Z2VuLgpEaWUgQmVja2Vua25vY2hlbiBkZXIgS2F0emUgemVpY2huZW4gc2ljaCBndXQgYWIsIGRhIHNpZSBqYSBhdWYgZGVyIFdhbmQKaGFlbmd0LiAKClNvLCBkYXMgaXN0LCB3YXMgbWlyIGltIEdlZGFlY2h0bmlzIGdlYmxpZWJlbiBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKFpvb2ssIDMwLiBBdWcgMjAwNCwgMTE6NDM6MTIpOgp+IyEgcm49T2dvIHJ0PTEwOTM4NTgxNzIgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpUamEsIHVuZCB3aWUga2FubiBtYW4gc293YXMgbnVuIHZlcm9lZmZlbnRsaWNoZW4/IDspIAoKVW5kIHdvIHdhciBkZXIgU3RlaW4gZGVzIEFuc3Rvc3Nlcz8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChCYW1iaSwgMzAuIEF1ZyAyMDA0LCAyMzoyNDo1MCk6Cn4jISBybj1ab29rIHJ0PTEwOTM4NTg5OTIgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpXaXIgd2FydGVuIG5vY2ggZGFyYXVmLCBkYXNzIE1vcmdvdGggdW5zIGVuZGxpY2ggZXJsZXVjaHRldC4gQWJlciBzY2hvZW4sIGRhc3MKYXVjaCBEdSB6dSBkZW5lbiBnZWhvZXJzdCwgZGllIGVzIChub2NoKSBuaWNodCB2ZXJzdGVoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChIdW1uaSwgMzAuIEF1ZyAyMDA0LCAyMzo1OToyNyk6Cn4jISBybj1CYW1iaSBydD0xMDkzOTAxMDkwIHJnPXd3dwp+IyEgdGlkPTEwOTM2MjQwNjUKSWNoIG1lbGRlIG1pY2ggYXVjaCBtYWwgZnJlaXdpbGxpZy4gSWNoIGhhYnMgYXVjaCBuaWNodCB2ZXJzdGFuZGVuLCB1bmQgaWNoCmhhYnMgbm9jaCBnZXNlaGVuLiBWaWVsbGVpY2h0IGthbm4gTW9yZ290aCBuYWNoIGRlbSBlcmtsYWVyZW4gYWJlciBhdWNoCmlyZ2VuZHdhcyBlcnphZWhsZW4sIHouQi4gdW50ZW4gc3RhbmQgZGVyIFRldWZlbCB1bmQgaGF0IGRhcyBNZXNzZXIgZ2V3ZXR6dCB1bQpkaWUgS2F0emUgenUgZnJlc3Nlbiwgd2lyIGtvZW5uZW5zIGphIG5pY2h0IG1laHIgbmFjaHBydWVmZW4gd2VpbCBGb3RvIHdlZy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChab29rLCAzMS4gQXVnIDIwMDQsIDEwOjM2OjA4KToKfiMhIHJuPUh1bW5pIHJ0PTEwOTM5MDMxNjcgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpIYXQgbmljaHQgbm9jaCBqZW1hbmQgZGFzIEJpbGQgaW4gc2VpbmVtIEJyb3dzZXItQ2FjaGU/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSBrYW5uIG1hbiBzb3dhcyB2ZXJvZWZmZW50bGljaGVuPyAoTHVyY2hpLCAzMS4gQXVnIDIwMDQsIDEwOjQyOjUwKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5MzYyNDA2NSByZz13d3cKfiMhIHRpZD0xMDkzNjI0MDY1Cmdvb2dsZSBpc3QgcHJha3Rpc2NoOgoKaHR0cDovL3Zvcmxvbi5jd3J1LmVkdS9+a2FsZWxlL21pcnJvcmVkX2FsYnVtL2Z1bm55L2FiZC5qcGcKCkx1cmNoaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKEJyYW4sIDMxLiBBdWcgMjAwNCwgMTA6NDQ6MDYpOgp+IyEgcm49THVyY2hpIHJ0PTEwOTM5NDE3NzAgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpEYSBpc3QgZXMgamEgd2llZGVyIDopIEthcGllcmVuIHR1IGljaCBlcyBhbGxlcmRpbmdzIGltbWVyIG5vY2ggbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXaWUga2FubiBtYW4gc293YXMgdmVyb2VmZmVudGxpY2hlbj8gKFpvb2ssIDMxLiBBdWcgMjAwNCwgMTA6NDc6MDApOgp+IyEgcm49QnJhbiBydD0xMDkzOTQxODQ2IHJnPXd3dwp+IyEgdGlkPTEwOTM2MjQwNjUKSG0uIEF1Y2ggbmFjaCBBbnNlaGVuIGRlcyBCaWxkZXMgdmVyc3RlaCBpY2ggZXMgbm9jaCBuaWNodCBzbyBnYW56LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdpZSBrYW5uIG1hbiBzb3dhcyB2ZXJvZWZmZW50bGljaGVuPyAoSG9ibywgMzEuIEF1ZyAyMDA0LCAxMzoxNTo1OSk6Cn4jISBybj1ab29rIHJ0PTEwOTM5NDIwMjAgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpBbHNvIExldXRlLCBpaHIgc2VodCBzY2hlaW5iYXIgZGVuIFp1c2FtbWVuaGFuZyBuaWNodC4gRXMgZ2VodCBnYXIgbmljaHQgdW0KZGFzIEJpbGQsIHNvbmRlcm4gdW0gZGllIFN0ZWxsZSwgYW4gZGVyIGRlciBBcnRpa2VsIGluIGRlciBNUEEgc3RlaHQuLi4KCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChHbG9pbnNvbiwgMzEuIEF1ZyAyMDA0LCAxMzoyMToyOSk6Cn4jISBybj1Ib2JvIHJ0PTEwOTM5NTA5NTkgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQpEaXNndXN0aW5nLiBPdXRyYWdlb3VzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxhbmdlIGdlc3VjaHQgdW5kIGVuZGxpY2ggZ2VmdW5kZW46IChCcmFuLCAzMS4gQXVnIDIwMDQsIDIwOjQzOjM1KToKCmh0dHA6Ly92b3Jsb24uY3dydS5lZHUva2FsZWxlL21pcnJvcmVkX2FsYnVtL2Z1bm55L2FhZi5naWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMYW5nZSBnZXN1Y2h0IHVuZCBlbmRsaWNoIGdlZnVuZGVuOiAoQmFtYnVsa28sIDMxLiBBdWcgMjAwNCwgMjA6NDc6MTUpOgp+IyEgcm49QnJhbiBydD0xMDkzOTc3ODE1IHJnPXd3dwp+IyEgdGlkPTEwOTM5Nzc4MTUKVGhlIHJlcXVlc3RlZCBVUkwgL2thbGVsZS9taXJyb3JlZF9hbGJ1bS9mdW5ueS9hYWYuZ2lmIHdhcyBub3QgZm91bmQgb24gdGhpcwpzZXJ2ZXIuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExhbmdlIGdlc3VjaHQgdW5kIGVuZGxpY2ggZ2VmdW5kZW46IChCcmFuLCAzMS4gQXVnIDIwMDQsIDIwOjQ3OjIzKToKfiMhIHJuPUJyYW4gcnQ9MTA5Mzk3NzgxNSByZz13d3cKfiMhIHRpZD0xMDkzOTc3ODE1CkZlaGxlciB2b24gbWlyLiBIaWVyIG5vY2htYWwgcmljaHRpZyAoaG9mZmVudGxpY2gpOgoKaHR0cDovL3Zvcmxvbi5jd3J1LmVkdS9+a2FsZWxlL21pcnJvcmVkX2FsYnVtL2Z1bm55L2FhZi5naWYKCkJyYW4sIHdpbGwgZGFzIGFscyBQb3N0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExhbmdlIGdlc3VjaHQgdW5kIGVuZGxpY2ggZ2VmdW5kZW46IChCYW1idWxrbywgMzEuIEF1ZyAyMDA0LCAyMDo1NDozNyk6Cn4jISBybj1CcmFuIHJ0PTEwOTM5NzgwNDMgcmc9d3d3Cn4jISB0aWQ9MTA5Mzk3NzgxNQpJc3QgYWJlciBldHdhcyB2ZXJhbHRldC4uLi4gOi0pCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTGFuZ2UgZ2VzdWNodCB1bmQgZW5kbGljaCBnZWZ1bmRlbjogKEJyYW4sIDMxLiBBdWcgMjAwNCwgMjA6NTU6MjkpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA5Mzk3ODQ3NyByZz13d3cKfiMhIHRpZD0xMDkzOTc3ODE1CkZpbmRlc3QgZHU/IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMYW5nZSBnZXN1Y2h0IHVuZCBlbmRsaWNoIGdlZnVuZGVuOiAoT2dvLCAzMS4gQXVnIDIwMDQsIDIxOjE3OjUyKToKfiMhIHJuPUJyYW4gcnQ9MTA5Mzk3ODA0MyByZz13d3cKfiMhIHRpZD0xMDkzOTc3ODE1CkRlciBDb3B5c2hvcCBEZWluZXIgV2FobCBkcnVja3QgRGlyIGRhcyBiZXN0aW1tdCBpbiBESU4gQTAgYXVzLiBXZW5uIGRhcyB6dQpoYWVzc2xpY2ggaXN0LCBtdXNzdCBkdSBkaWNoIGhhbHQgMjAgTWludXRlbiBtaXQgU29kaXBvZGkgaGluc2V0emVuIHVuZCBkYXMKdmVrdG9yaXNpZXJlbi4gKEJlaSBlaW5lbSBlbnRzcHJlY2hlbmRlbSBBbmdlYm90LCBrb2VubnRlIGljaCBtaWNoIGF1Y2gKYmVyZWl0c2NobGFnZW4gbGFzc2VuLiA6KQoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMYW5nZSBnZXN1Y2h0IHVuZCBlbmRsaWNoIGdlZnVuZGVuOiAoQWxib2luLCAzMS4gQXVnIDIwMDQsIDIyOjA1OjU5KToKfiMhIHJuPU9nbyBydD0xMDkzOTc5ODcyIHJnPXd3dwp+IyEgdGlkPTEwOTM5Nzc4MTUKamEgaXN0IHZlcmFsdGV0LCBDb21taWVzIG11c3MgZHVyY2ggVGVycm9yaXN0IGVyc2V0enQgd2VyZGVuCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaGFoYSAoQXBvcGhpcywgIDEuIFNlcCAyMDA0LCAxOToxNDo1OCk6CmFybWVzIFNjaHdlaW4gOykKCmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJml0ZW09NDkxMTY5ODY5NgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR1dCdXNoIChHbG9pbnNvbiwgIDIuIFNlcCAyMDA0LCAxNDo0MzozNyk6ClVuZCBub2NoIGVpbmUgaHVlYnNjaGUgU2VpdGUgbWl0dGVuIGF1cyBkZW0gV2FobGthbXBmLiBHZW5hdSBoaW5zY2hhdWVuIQoKaHR0cDovL3d3dy5nZW9yZ2V3YnVzaC5vcmcvCgooUFM6IFNwT25saW5lLUxlc2VyIGtlbm5lbiBkaWUgc2Nob24uKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHV0J1c2ggKFpvb2ssICAyLiBTZXAgMjAwNCwgMTQ6NDQ6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5NDEyOTAxNyByZz13d3cKfiMhIHRpZD0xMDk0MTI5MDE3CmdhYnMgZGllIGVpZ2VudGxpY2ggbmljaHQgYmVyZWl0cyB6dW0gbGV0enRlbiB3YWhsa2FtcGY/Cnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFYmF5IElubm92YXRpb25lbi4uLiAoT2dvLCAgNi4gU2VwIDIwMDQsIDIyOjU1OjE5KToKTGFuZ2VyIExpbms6Cmh0dHA6Ly9jZ2kuZWJheS5kZS93cy9lQmF5SVNBUEkuZGxsP1ZpZXdJdGVtJmNhdGVnb3J5PTQ2NDQ0Jml0ZW09NDMxMjQ4Mzc3OApLdXJ6ZXIgTGluazoKaHR0cDovL3Rpbnl1cmwuY29tLzU3NHdrCgpXaWUgc2Nob24gYW5nZWt1ZW5kaWd0LCBrb2VubnRlIG1hbiBzb3dhcyBmdWVyIEZlbGluZW4gcHJvZ2dlbiwgd2VubiBkYSBCZWRhcmYKd2FlcmUuLi4KCk9nbywgZGVyIHNpY2ggbmFjaCBsYW5nZW0gUmluZ2VuIGRvY2ggZnVlciBkaWUgUnVicmlrIHd3dyBlbnRzY2hpZWRlbiBoYXQuLi4KOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llIGthbm4gbWFuIHNvd2FzIHZlcm9lZmZlbnRsaWNoZW4/IChNdWFkaWIsIDEwLiBTZXAgMjAwNCwgMjA6MTg6MjApOgp+IyEgcm49THVyY2hpIHJ0PTEwOTM5NDE3NzAgcmc9d3d3Cn4jISB0aWQ9MTA5MzYyNDA2NQp3ZW5uIGRpZSBrYXR6ZSBzcHJpbmd0IHdpcmRzIGFiZXIgc2NobWVyemhhZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1c2hiYXNoaW5nIChHbG9pbnNvbiwgMTMuIFNlcCAyMDA0LCAxMTozNzo0Mik6ClNlaHIgYW11ZXNhbnQgenUgbGVzZW4gLi4uIGF1cyB2aWVsZXJsZWkgSGluc2ljaHQ6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvc3BpZWdlbC8wLDE1MTgsMzE3Njg5LDAwLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXV0c2NoZSBXZWxsZSBhdWYgS2xpbmdvbmlzY2ggKEJhbWJ1bGtvLCAxMy4gU2VwIDIwMDQsIDE1OjAyOjU4KToKaHR0cDovL2tsaW5nb24uZHctd29ybGQuZGUva2xpbmdvbi9pbmRleC5waHAKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWlzdGVyc2Nocm90dCwgTGludXggdW5kIGRpZSBOdXR0ZW4uLi4gKEFtYXJ5bGxpcywgMTMuIFNlcCAyMDA0LCAyMzoyNzozOSk6CgpodHRwOi8vd3d3LmV2b2x2ZXIuYXQvZ2FudGFyLXdvcmxkLzIwMDQwMTEwLTAwMTEuaHRtbAoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llIG5pZWRsaWNoIChNb3Jnb3RoLCAxNC4gU2VwIDIwMDQsIDA4OjU0OjE1KToKaHR0cDovL3d3dy53aW5oaXN0b3J5LmRlL21vcmUvMzg2LzM4NnZlcnMuaHRtCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lzc2Vuc2NoYWZ0bGVyIGVudGRlY2tlbiBuZXVlIFRlaWxjaGVuIChXaGl0ZXRpZ2VyLCAxNC4gU2VwIDIwMDQsIDE0OjIwOjQwKToKaHR0cDovL3RyaXMubmV0L2h1bW9yL3RoZW9yeV9vZl9kYXJrbmVzcy5odG1sCgpUaWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1laXN0ZXJzY2hyb3R0LCBMaW51eCB1bmQgZGllIE51dHRlbi4uLiAoS2VsbHlidW5keSwgMTQuIFNlcCAyMDA0LCAxNzozNjo1MSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTA5NTExMDg1OSByZz13d3cKfiMhIHRpZD0xMDk1MTEwODU5ClVpIGtsaW5ndCBmYXN0IHNvLCBhbHMgbW9lY2h0ZSB1bmJlZGluZ3QgamVtYW5kIEJla2FubnRzY2hhZnQgbWl0IGVpbmVtIFJ1ZGVsCmdlbGRyYWZmZW5kZXIgU3BpdHplbmFud2VsdGUgYXVzIGRlbSBzY2hvZW5lbiBSZWRtb25kIG1hY2hlbiA6KQoKQmxvbmRjaGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb2hudW5nc2JvZXJzZW4gIChab29rLCAxNS4gU2VwIDIwMDQsIDE1OjA5OjI4KToKSGksIHdlbGNoZSBXb2hudW5nc2JvZXJzZW4ga2VubnQgSWhyIGltIEludGVybmV0IHVuZCB3ZWxjaGUgRXJmYWhydW5nZW4KaGFidCBJaHIgZGFtaXQgZ2VtYWNodD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29obnVuZ3Nib2Vyc2VuICAoR2xvaW5zb24sIDE1LiBTZXAgMjAwNCwgMTU6MTE6MTMpOgp+IyEgcm49Wm9vayBydD0xMDk1MjUzNzY4IHJnPXd3dwp+IyEgdGlkPTEwOTUyNTM3NjgKaW1tb3Njb3V0MjQuZGUKCkVzIGlzdCBlaW4gbmV0dGVyIEFuaGFsdHNwdW5rdCB1bSB6dSBzdGFydGVuLiBWb24gZG9ydCBhdXMgc29sbHRlIG1hbiBhYmVyIGF1ZgpkZW4gU2VpdGVuIGRlciBqZXdlaWxpZ2VuIFZlcm1pZXRlciByZWNoZXJjaGllcmVuLCBkYW1pdCBtYW4gZWluIHdpcmtsaWNoCm51ZXR6bGljaGUgVm9yYXVzd2FobCB0cmVmZmVuIGthbm4uIEVpbmUgd2lya2xpY2ggZ3V0ZSwgZ2VuZXJlbGxlIGlzdCBtaXIKbmljaHQgYmVrYW5udC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZXNpZ24gUGF0dGVybnMgKE11YWRkaWIsIDE2LiBTZXAgMjAwNCwgMDA6MDc6MDApOgpGdWVyIGRpZSBnYW56ZW4gcmVzaWduaWVyZW5kZW4gRGVzaWduZXIuLi4KaHR0cDovL3d3dy5hZ2NzLmNvbS9zdXBwb3J0djIvdGVjaHBhcGVycy9wYXR0ZXJucy9wYXBlcnMvcmVzcGF0Lmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlc2lnbiBQYXR0ZXJucyAoUm9uZGEsIDE2LiBTZXAgMjAwNCwgMDg6MjY6NTcpOgp+IyEgcm49TXVhZGRpYiBydD0xMDk1Mjg2MDIwIHJnPXd3dwp+IyEgdGlkPTEwOTUyODYwMjAKLi4uIGhhdHMgc2Nob24gamVtYW5kIHZvbiBFdWNoIGdlc2NoYWZmdCwgZGllc2UgV2Vic2VpdGUgYXVmenVydWZlbi4uLj8gQmVpCm1pciBrb21tdCBkYSBlaW5mYWNoIG5pY2h0cy4uLj8KClJvbmRhICpuZXVnaWVyaWcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1TZWl0ZW4gKENhc3NhbmRyYSwgMTcuIFNlcCAyMDA0LCAxMToxMDowMCk6Ckthbm4gZXMgc2VpbiBkYXMgYXVjaCBkaWUgbWctU2VpdGVuIGltIG5ldHogZGVuIGNocmFzaCBuaWNodCB1ZWJlcmxlYnQgaGFiZW4/CgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1HLVNlaXRlbiAoWm9vaywgMTcuIFNlcCAyMDA0LCAxMToxMDo0OCk6Cn4jISBybj1DYXNzYW5kcmEgcnQ9MTA5NTQxMjIwMCByZz13d3cKfiMhIHRpZD0xMDk1NDEyMjAwClNvIGlzdCBlcy4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkb2cgb3V0IChBbGJvaW4sIDE3LiBTZXAgMjAwNCwgMTc6Mzc6MDEpOgp3b2xsdGUgZ3JhZGUgbWFsIGF1ZiBkZXIgaGlwcGllbG9vayBzZWl0ZSBzY2hhdWVuIG9iIGRlciBuZXVlIFRlaWwgdm9uIEZlbGl4CnVuZCBDaWwgc2Nob24gZmVydGlnIGlzdCwgZGFiZWkgc3RpZXNzIGljaCBhdWNoIGF1ZiBkb2dvdXQgd2FzIGljaCBub2NoIG5pY2h0Cmthbm50ZToKCmh0dHA6Ly93d3cuaGlwcGllbG9vay5kZS9kb2dvdXQvaW5kZXguaHRtbAoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndhcyBlcyBuaWNodCBhbGxlcyBnaWJ0IChBbGJvaW4sIDE3LiBTZXAgMjAwNCwgMjE6NTU6MTYpOgpTY2hsb2Vzc2Vya25hY2tlbiBhbHMgU3BvcnQ/IEdpYnRzIHdpcmtsaWNoIQoKaHR0cDovL3d3dy5zc2Rldi5vcmcvCgphbCwgc2ljaCB3dW5kZXJuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKIlRoZSBBd2Z1bCBHZXJtYW4gTGFuZ3VhZ2UiIGJ5IE1hcmsgVHdhaW4gKFdoaXRldGlnZXIsIDE4LiBTZXAgMjAwNCwgMTM6NDM6MDMpOgpodHRwOi8vd3d3LmNyb3NzbXl0LmNvbS9oYy9saW5naGVici9hd2Zncm1sZy5odG1sCgpUaWdlciwga2ljaGVybmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogIlRoZSBBd2Z1bCBHZXJtYW4gTGFuZ3VhZ2UiIGJ5IE1hcmsgVHdhaW4gKEFuYXRvbCwgMTkuIFNlcCAyMDA0LCAxMjozMToyNCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEwOTU1MDc3ODMgcmc9d3d3Cn4jISB0aWQ9MTA5NTUwNzc4MwpVbmQgamV0enQgbm9jaCB1ZWJlcnJhc2NoZW5kIGVpbmVuIExpbmsgYXVmIGRpZSBCaWJlbC4gTG9zLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogIlRoZSBBd2Z1bCBHZXJtYW4gTGFuZ3VhZ2UiIGJ5IE1hcmsgVHdhaW4gKEdsb2luc29uLCAxOS4gU2VwIDIwMDQsIDEzOjExOjM3KToKfiMhIHJuPUFuYXRvbCBydD0xMDk1NTg5ODg0IHJnPXd3dwp+IyEgdGlkPTEwOTU1MDc3ODMKSWNoIGZhbmQgZGVuIExpbmsgZ2FueiBhbXVlc2FudC4gS29lbm50ZSBkYXJhbiBsaWVnZW4sIGRhc3MgaWNoIG5pY2h0IGdlemllbHQKYWxsZXMgdm9uIENsZW1lbnMgYWJnZWdyYXN0IHVuZCBkYW1pdCBkaWVzZW4gVGV4dCBub2NoIG5pZSBnZWxlc2VuIGhhdHRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6ICJUaGUgQXdmdWwgR2VybWFuIExhbmd1YWdlIiBieSBNYXJrIFR3YWluIChab29rLCAxOS4gU2VwIDIwMDQsIDEzOjEyOjIxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwOTU1OTIyOTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTUwNzc4MwpJY2ggaGFiIGlobiBtaXIgZ2FyIG5pY2h0IGFuZ2VzY2hhdXQuIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogIlRoZSBBd2Z1bCBHZXJtYW4gTGFuZ3VhZ2UiIGJ5IE1hcmsgVHdhaW4gKEJhbWJpLCAyMC4gU2VwIDIwMDQsIDE5OjA1OjI3KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTU5MjM0MSByZz13d3cKfiMhIHRpZD0xMDk1NTA3NzgzClVuZCBpY2ggaGFiZSB6dWVyc3QgZGllIERpc2t1c3Npb24gaW4gZWluZXIgYW5kZXJlbiBSdWJyaWsgZGFydWViZXIgbGVzZW4KbXVlc3Nlbi4gVW5kIGljaCBoYWJlIGlobiBtaXIgYXVjaCBuaWNodCBhbmdlc2NoYXV0LiBXYXMgbmljaHQgaGVpc3N0LCBkYXNzCmljaCBkaWUgU2VpdGUgc2Nob24ga2VubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb21lY29tcHV0ZXIgaW0gSmFocmUgMjAwNCAoTXVwZmVsLCAyMC4gU2VwIDIwMDQsIDIwOjI4OjI1KToKaHR0cDovL3VzZXJzLm5ldDFwbHVzLmNvbS9zY290dG0vSG9tZUNvbXB1dGVyLmpwZwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlbWFrZSBkZXMgRnJvbnRpZXItSW50cm9zIChWYXJkaW9uLCAyMS4gU2VwIDIwMDQsIDE3OjUwOjE2KToKSHVodS4KCkV0d2FzLCB3b3J1ZWJlciBpY2ggbmV1bGljaCBnZXN0b2xwZXJ0IGJpbjoKaHR0cDovL3d3dy5wcmVmZXJyZWRpbWFnZS5jby51ay9mcm9udGllci8KSXN0IHZlcm11dGxpY2ggbnVyIGZ1ZXIgTGV1dGUsIGRpZSBFbGl0ZSAyL0Zyb250aWVyIGtlbm5lbiB1bmQgZ2VzcGllbHQgaGFiZW4KaW50ZXJlc3NhbnQuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVtYWtlIGRlcyBGcm9udGllci1JbnRyb3MgKEZvb2JhciwgMjEuIFNlcCAyMDA0LCAxODoxNjo0NCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEwOTU3ODE4MTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTc4MTgxNgpFbGl0ZSAyPwoKTmV1bW9kaXNjaGVyIFNjaG5pY2tzY2huYWNrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSEFMIDkwMDAgKE9nbywgMjEuIFNlcCAyMDA0LCAyMTo0MjoyNyk6Cmh0dHA6Ly9jZ2kuZWJheS5jb20vd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTM4NDAxNjYyMDAmY2F0ZWdvcnk9NjAzNjAmcwpzUGFnZU5hbWU9QURNRTpCOkVGOlVTOjEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIQUwgOTAwMCAoQWxib2luLCAyMS4gU2VwIDIwMDQsIDIzOjU4OjUxKToKfiMhIHJuPU9nbyBydD0xMDk1Nzk1NzQ3IHJnPXd3dwp+IyEgdGlkPTEwOTU3OTU3NDcKbm9jaCBlaW5lciBkZXIgd3d3LnRpbnl1cmwuY29tIG5pY2h0IGtlbm50IAoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSEFMIDkwMDAgKENyb2Z0LCAyMi4gU2VwIDIwMDQsIDAwOjExOjA5KToKfiMhIHJuPUFsYm9pbiBydD0xMDk1ODAzOTMxIHJnPXd3dwp+IyEgdGlkPTEwOTU3OTU3NDcKTnVqYS4gIExpZWJlciBudXIgZGVuIEtsYXJ0ZXh0bGluayBhbHMgbnVyIGRlbiB0aW55dXJsLUxpbmsgLi4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTW9yZ290aCwgMjIuIFNlcCAyMDA0LCAxMDozMDo1Myk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzUxMzMwCgpNKiBrb3R6dCBtYWwgZWluIGJpc2NoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMi4gU2VwIDIwMDQsIDEwOjMyOjQzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5NTg0MTg1MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCk51biwgZGFzIEFuc2lubmVuIGhhdCBIZXJyIEJlY2sgZG9jaCBzY2hvbiBsYWVuZ2VyLCBhYmVyIGljaCBoYWJzIGhldXRlCm1vcmdlbiBhdWNoIGF1cyBkZXIgWmVpdHVuZyBlcmZhaHJlbi4gQmluIG1hbCBnZXNwYW5udCwgd2FzIGRhdm9uIGltIApPa3RvYmVyIHVtZ2VzZXR6dCB3aXJkLgoKWm9vay4KClBTOiBEYXMgd2lyZCBkaWUgSGF1c2hhbHRzcHJvYmxlbWUgZGVyIGVpbmVuIG9kZXIgYW5kZXJlbiBLb2VycGVyc2NoYWZ0CmRldXRsaWNoIHZlcnNjaGFlcmZlbi4uLiBqZSBuYWNoZGVtLCB3aWUgZXMgYXVzZ2VzdGFsdGV0IGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQWxib2luLCAyMi4gU2VwIDIwMDQsIDEyOjE5OjIzKToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg0MTk2MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCndhcyBpY2ggbmljaHQgdmVyc3RlaGU6IGRhcyB3aXJkIGVpbiBKdWJlbGZlc3QgZnVlciBCdWVyb2tyYXRlbi4gRGFubiBzY2hvbgpsaWViZXIgZWluZSBNZWRpZW5zdGV1ZXIgZWluZnVlaHJlbiBvZGVyIGRpZSBHZWJ1ZWh0cmVuIGdhbnogYWJzY2hhZmZlbi4KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoT2dvLCAyMi4gU2VwIDIwMDQsIDEyOjIxOjMzKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5NTg0MTg1MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkludGVyZXNzYW50ZSBBcmd1bWVudGF0aW9uIGlzdCBpbiBkZW0gSGVpc2UgQXJ0aWtlbCB6dSBmaW5kZW46ICIuLi4gLS0KaW1tZXJoaW4gc2VpIGRlciBDb21wdXRlciBpbnp3aXNjaGVuIGFscyBHZXJhZXQgZnVlciBkZW4gUmFkaW8tIHVuZApGZXJuc2VoZW1wZmFuZyBlaW56dXNldHplbiwgaGVpc3N0IGVzIGJlaSBkZW4gVmVyZmVjaHRlcm4uIFNlbGJzdCB3ZW5uIGVpbgpHZXJhZXQgYWt0dWVsbCBub2NoIHVlYmVyIGtlaW5lbiBBbnNjaGx1c3MgIGZ1ZXIgUmFkaW8tIHVuZCBGZXJuc2VoZW1wZmFuZwp2ZXJ1ZWdlIFtzaWNdLCBzZWkgZXMgamVkZXJ6ZWl0IHByb2JsZW0gZGFmdWVyIGF1ZnJ1ZXN0YmFyLiIKCkVzIGdlaHQgYWxzbyBuaWNodCB1bSBldHdhaWdlIE9ubGluZS1Db250ZW50cyAoaGFjaCwgd2FzIGVpbiBzY2hvZW5lcyBXb3J0KQpkZXIgT2VmZmVudGxpY2gtUmVjaHRsaWNoZW4sIHNvbmRlcm4gdW0gZGllLCBzY2hlaW5iYXIgbWl0IHdlbmlnZW4gSGFuZGdyaWZmZW4KaW4gRW1wZmFuZ3NiZXJlaXRzY2hhZnQgdmVyc2V0emJhcmVuIEdlcmFldGUuIEluIGVpbmVyIEJlcmxpbmVyIFZIUyBzdGVoZW4KX3ZpZWxlXyBGZXJuc2VoZXIgb2huZSBUdW5lciBoZXJ1bSwgYW4gZGllIFZpZGVvcmVrb3JkZXIgb2huZSBUdW5lcgphbmdlc2NobG9zc2VuIHdlcmRlbiwgdW0gTGVocm1hdGVyaWFsIGFienVzcGllbGVuLiBEaWVzZSBHZXJhZXRlIHd1cmRlbiBhbGxlCmlocmVyIFR1bmVyIGJlcmF1YnQsIGRhbWl0IHNpZSBuaWNodCBHRVotcGZsaWNodGlnIHNpbmQuIEVzIGlzdCBhbnp1bmVobWVuLApkYXNzIHNpY2ggc29sY2hlIEdlcmFldGUgaW4gdmllbGVuIEJlaG9lcmRlbiwgU2NodWxlbiwgVW5pcyB1c3cgYmVmaW5kZW4uIE51bgppc3QgZXMgYWJlciBpbnRlcmVzc2FudC4gRGEgZGllc2VzIFZlcmZhaHJlbiBha3plcHRpZXJ0IGlzdCwgbXVzcyBlcyBhbHNvIG1pdAoid2VuaWdlciBIYW5kZ3JpZmZlbiIgbW9lZ2xpY2ggc2VpbiwgZWluZW4gQ29tcHV0ZXIgaW4gZWluIEVtcGZhbmdzYmVyZWl0ZXMKR2VyYWV0IHp1IHZlcndhbmRlbG4sIGFscyBlaW5lbiBzb2xjaGVuIEZlcm5zZWhlci4gSW5mb2xnZSBkZXNzZW4gc2NoZWlkZW4Kc2FlbXRsaWNoZSBQQ0ktS2FydGVuIGF1cywgZGEgZGllc2Ugd2VpdCBhdWZ3ZSghKW5kaWdlciBhbnp1c2NobGllc3NlbiBzaW5kLAphbHMgZWluZSBEVkItQm94IG9kZXIgZWluIG5vcm1hbGVyIFZpZGVvcmVrb3JkZXIgbWl0IFR1bmVyLiBCbGVpYmVuIHVucyBudXIKbm9jaCB0b2xsZSBVU0ItRmVybnNlaC0gdW5kIFJhZGlvdHVuZXIuIEdlc2V0enQgZGVuIEZhbGwsIGRhc3MgZGllIEJlc3RlbGx1bmcKZWluZXMgc29sY2hlbiBVU0ItVHVuZXJzIGdlbmF1c28gbGFuZ2UgZGF1ZXJ0LCB3aWUgZGFzIEJlc3RlbGxlbiBlaW5lcwpTY2FydC1WaWRlb3Jla29yZGVycywga29lbm5lbiB3aXIgdW5zZXIgQXVnZW5tZXJrIGRlbSBBbnN0b2Vwc2VsbiB3aWRtZW4uCldhZWhyZW5kIHdpciBiZWltIFZpZGVvcmVrb3JkZXIgU3Ryb20sIFNjYXJ0IChvZGVyIFNWaWRlbykgdW5kIGVpbmUKQW50ZW5uZW5idWNoc2UgaGFiZW4sIG11ZXNzZW4gd2lyIGJlaSBkZW0gVVNCLURpbmdzIFN0cm9tIChzb2Zlcm4gZGllc2VyIG5pY2h0ClVTQiBrb21tdCkgYW5zY2hsaWVzc2VuLCB1bmQgZGFubiBub2NoIGRhcyBuYW1lbnNnZWJlbmRlIFVTQi1LYWJlbCBpbiBkZW4KQ29tcHV0ZXIgc3RvZXBzZWxuLiBBdWNoIGRlciBBbnRlbm5lbmFuc2NobHVzcyB3aWxsIGJlc3R1ZWNrIHdlcmRlbi4gRGVsdGEKQXVmd2FuZCBnZWh0IGFsc28gZ2VnZW4gTnVsbC4gQWxzbyBtdWVzc2VuIHNpY2ggZGllICJ3ZW5pZ2VyZW4gSGFuZGdyaWZmZSIgaW4KZGVyIEVpbnJpY2h0dW5nIHJlc3AuIEluc3RhbGxhdGlvbiBkZXMgVHJlaWJlcnMgd2llZGVyZmluZGVuLiBXYWVocmVuZCBtYW4Kc2ljaCBiZWkgV2luZG93cyBtaXQgZWluZXIgQ0QgKERWRD8pIHJ1bXNjaGxhZWd0LCBzaWNoIGR1cmNoIGlyZ2VuZHdlbGNoZW4Kd3Vlc3RlbiBXaXphcmRzIGthZW1wZnQsIGluIGRlbmVuIG1hbiB1bnplcnRpZml6aWVydGUgVHJlaWJlciBpbnN0YWxsaWVydCwgYmVpCmRlbmVuIGVzIHZvbiBXYXJudW5nZW4gc2VpdGVucyBNUyBudXIgc28gd2ltbWVsdCwgc3RlY2t0IG1hbiBkZW4gVmlkZW9yZWtvcmRlcgppbiBkaWUgU2NhcnQtQnVjaHNlLiBEcnVlY2t0IGF1ZiAiU3VjaGUgU2VuZGVyIiBhbSBHZXJhZXQgdW5kIHdhcnRldC4gSWNoIHdpbGwKYW4gZGllc2VyIFN0ZWxsZSBiZWhhdXB0ZW4sIGRhc3MgZWhlciBqZWRlciBGZXJuc2VoZXIsIGRlciBzZWluZXMgVHVuZXJzCmJlcmF1YnQgd3VyZGUsIEdFWi1wZmxpY2h0aWcgc2VpbiBzb2xsdGUgKGh1aHUgbGllYmUgU3RhYXRzYmVob2VyZGVuKSBhbHMgZWluCkNvCm1wdXRlciwgZGVuIG1hbiBhbmdlYmxpY2ggbWl0IHdlbmlnZW4gSGFuZGdyaWZmZW4gaW4gZWluIGVtcGZhbmdzdGF1Z2xpY2hlcwpSdW5kZnVuZGdlcmFldCB2ZXJ3YW5kZWxuIGthbm4uCgpIYWJlIGljaCBlaW5lbiBEZW5rZmVobGVyIGdlbWFjaHQsIHdlbm4gamEgYml0dGUgemVpZ3QgaWhuIG1pciBhdWYuCgpPZ28sIHZvciBkZW0gZXJzdGVuIEthZmZlZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoR25vbWUsIDIyLiBTZXAgMjAwNCwgMTI6Mzc6MzQpOgp+IyEgcm49T2dvIHJ0PTEwOTU4NDg0OTMgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwppY2ggbW9lY2h0IGphIG5pY2h0IGRlaW5lIHNjaG9lbmUgYXJndW1lbnRhdGlvbnNrZXR0ZSB6ZXJzdG9lcmVuLi4uCmFiZXIgZWluIFBDIGlzdCBuYWNoIHBhY2t1bmdzZW50bmFobWUgZWluZXIgZXRhYmxpZXJ0ZW4gcGNpLVRWLWthcnRlCihoYXVwcGF1Z2UgbWVpbmV0d2VnZW4pIHNwYWV0ZXN0ZW5zIG5hY2ggMTAgbWluIGVtcGZhbmdzYmVyZWl0LgoKaWNoIGJpbiBzZWxic3R2ZXJzdGFlbmRsaWNoIGdlZ2VuIGRpZXNlbiBHRVotbm9uc2VucywgYWJlciBkZXIgYXVzc2FnZQoic2VpIGVzIGplZGVyemVpdCBwcm9ibGVtIGRhZnVlciBhdWZydWVzdGJhciIga2FubiBtYW4gd29obCBuaWNodHMKZW50Z2VnZW5zZXR6ZW4uCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQWxib2luLCAyMi4gU2VwIDIwMDQsIDEyOjM5OjU2KToKfiMhIHJuPUdub21lIHJ0PTEwOTU4NDk0NTQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpEaWUgU2FjaGUgaXN0IGRvY2ggZGllLCBoZXV0enV0YWdlIGtvbW1zdCBEdSBtaXQgZGVtIEFyZ3VtZW50ICJNZWluIEZlcm5zZWhlcgpzdGVodCBqZXR6dCBhdWYgZGVtIEJvZGVuIiBiZWkgZGVuIEdFWiBMZXV0ZW4gZWggbmljaHQgd2VpdCwgZGVzd2VnZW4gd2VyZGVuCnNpZSBEaXIgYmVpICJpbiBtZWluZW0gUEMgaXN0IGtlaW5lIFRWLUthcnRlIGRyaW5uIiBhdWNoIG51ciBlaW4gbXVlZGVzCkxhZWNoZWxuIHNjaGVua2VuLgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFoYXJldCwgMjIuIFNlcCAyMDA0LCAxMjo0MTo0Nik6Cn4jISBybj1BbGJvaW4gcnQ9MTA5NTg0OTU5NiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClZpZWwgQnVlcm9zIGR1ZXJmdGVuIGFiZXIgc28gaW4gU2Nod2llcmlna2VpdGVuIGdlcmF0ZW4sIGRhIGRhIG5lIE1lbmdlClJlY2huZXIgcnVtc3RlaGVuLCBkaWUgYWJlciBudXIgYWxzIGJlc3NlcmUgU2NocmVpYm1hc2NoaW5lbiB2ZXJ3ZW5kZXQgd2VyZGVuLgpTbyBnYW56IGF1c2dlcmVpZnQgaXN0IGRhcyBub2NoIG5pY2h0LCBkYXMgd2lyZCBuZSBNZW5nZSBSZWNodHNhbndhbHRzYnVlcm9zCmtsYWdlZnJldWRpZyBzdGltbWVuLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTm9ubmUsIDIyLiBTZXAgMjAwNCwgMTI6NDI6NDYpOgp+IyEgcm49QWxib2luIHJ0PTEwOTU4NDk1OTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpXaWVzbyB3aWxsc3QgZHUgZGVubiBkYSBhcmd1bWVudGllcmVuPyBXZW5uIGR1IG5pY2h0IGZlcm5zaWVoc3QgdW5kIGtlaW5lbgpGZXJuc2VoZXIgaW4gZGVpbmVyIFdvaG51bmcgaGFzdCwgbWVsZGVzdCBkdSBkZW4gZWluZmFjaCBhYi4gR3J1ZW5kZSBhbmdlYmVuCmJyYXVjaHQgbWFuIGRhIG5pY2h0LgoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChDcm9mdCwgMjIuIFNlcCAyMDA0LCAxMjo0Mjo0OCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwOTU4NDk3MDYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpLbGluZ3QgbmFjaCBBQk0gZnVlciBKdXJpc3RlbiB1bmQgR0VabGVyLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE1haGFyZXQsIDIyLiBTZXAgMjAwNCwgMTI6NDM6MjYpOgp+IyEgcm49Q3JvZnQgcnQ9MTA5NTg0OTc2OCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkRpZSBBbndhZWx0ZSB3ZXJkZW4gc2Nob24gYXVzIEVpZ2VuaW50ZXJlc3NlIGtsYWdlbiwgZGFzIGJyaW5ndCBrZWluIEdlbGQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEFsYm9pbiwgMjIuIFNlcCAyMDA0LCAxMjo0Mzo1Mik6Cn4jISBybj1Ob25uZSBydD0xMDk1ODQ5NzY2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKd2llIGljaCBhdWYgZGl2ZXJzZW4gRm9yZW4gaG9lcnRlIGdlaHQgZGFzIGViZW4gbmljaHQgc28gbGVpY2h0LCBudXIgbWl0IGVpbmVyClBvcnRpb24gSGFlcnRuYWVja2lna2VpdC4KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChOb25uZSwgMjIuIFNlcCAyMDA0LCAxMjo0NToxNik6Cn4jISBybj1BbGJvaW4gcnQ9MTA5NTg0OTgzMiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkVzIGdlaHQgbnVyIG1pdCBIYXJ0bmFlY2tpZ2tlaXQuIEFyZ3VtZW50ZSBicmF1Y2hzdCBkdSBuaWNodCwgZGEgbGllZmVyc3QgZHUKbnVyIERpc2t1c3Npb3NzdG9mZi4gRWluZmFjaCBzY2hyZWliZW46IEhhYmUga2VpbmVuIEZlcm5zZWhlci4gRmVydGlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNdWFkaWIsIDIyLiBTZXAgMjAwNCwgMTI6NDg6NTgpOgp+IyEgcm49T2dvIHJ0PTEwOTU4NDg0OTMgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpkZXIgZmVobGVyIGxpZWd0IGRhcmluIGRhc3MgZHUgdm9uIGRlbiBnZWJ1ZWhyZW4gbmljaHQgcHJvZml0aWVyc3QgdW5kIHNpZQpkYWhlciBuaWNodCBtb2VjaHRlc3QKZ2VoZSBlaW5mYWNoIGRhenUgdWViZXIgbmV1ZSBnZWJhZXVkZSB6dSBiYXVlbiBmdWVyIGRpZSB6YWhscmVpY2hlbiBhbnN0YWx0ZW4KdW5kIGR1IHdpcnN0IG1lcmtlbiwgZGFzcyBlcyBtaXQgbWVociBnZWxkIGVpbmZhY2ggYmVzc2VyIGdlaHQuCgpiZWkgZGVyIGdhbnplbiBnZXotZGlza3Vzc2lvbiBpc3QgZXMgZWlnZW50bGljaCBzY2hhZGUsIGRhc3MgaW1tZXIgbnVyIHVlYmVyCmdlYnVlaHJlbiBkaXNrdXRpZXJ0IHdpcmQgdW5kIG5pY2h0IHVlYmVyIGRpZSBkZWZpbml0aW9uIG9kZXIgcmVkZWZpbml0aW9uIGRlcgpncnVuZHZlcnNvcmd1bmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEJvaW5nLCAyMi4gU2VwIDIwMDQsIDEyOjUxOjQ4KToKfiMhIHJuPU9nbyBydD0xMDk1ODUwMjUyIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRnVzc2JhbGwgaXN0IGRhcyBlaW56aWdlLCB3YXMgaWNoIGJlaSBBUkQvWkRGIHJlZ2VsbWFlc3NpZyBhbnNjaGF1ZS4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoSGlnaGxhbmRlciwgMjIuIFNlcCAyMDA0LCAxMjo1MjozMik6Cn4jISBybj1PZ28gcnQ9MTA5NTg1MDI1MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClZvciBhbGxlbSBlaW4gZ2V3aXNzZXIgZ2lnYW50aXNjaGVyIFdlUmJFYXVmdHJpdHQgaXN0IGphIHdvaGwKdm9lbGxpZyB1bm5vZXRpZy4gQWNoIGljaCB2ZXJnYXNzLCBkZW4gYnJhdWNoZW4gc2llIGphLCBkYW1pdAppaHJlIFdlcmJlbWludXRlbighKSB0ZXVlciB2ZXJrYXVmdCB3ZXJkZW4ga29lbm5lbi4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTGVpYmksIDIyLiBTZXAgMjAwNCwgMTI6NTI6MzQpOgp+IyEgcm49T2dvIHJ0PTEwOTU4NTAyNTIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwppY2ggc2NoYXUgaW1tZXJoaW4gamVkZW4gc29ubnRhZyBkaWUgbGluZGVuc3RyYXNzZS4KamF3b2hsLgoKbGVpYmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEJvaW5nLCAyMi4gU2VwIDIwMDQsIDEyOjUyOjQwKToKfiMhIHJuPUJvaW5nIHJ0PTEwOTU4NTAzMDggcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpCZWkgZ2VuYXVlcmVyIFVlYmVybGVndW5nIGlzdCBlcyBzb2dhciBkYXMgZWluemlnZSB3YXMgaWNoIGRvcnQgdWViZXJoYXVwdAphbnNjaGF1ZS4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTXVhZGliLCAyMi4gU2VwIDIwMDQsIDEyOjUyOjQxKToKfiMhIHJuPU9nbyBydD0xMDk1ODUwMjUyIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKZnVlciBhbGxlIDMgamEKZGllIGZyYWdlIGlzdCBlaGVyOiB3aWUgb2Z0IG11c3N0IGR1IGRpZXNlIDMgZWxlbWVudGUgYW5iaWV0ZW4gYmlzIGRpZQpncnVuZHZlcnNvcmd1bmcgZ2VsZWlzdGV0IGlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoSG91c2Vob2xkZXIsIDIyLiBTZXAgMjAwNCwgMTI6NTc6NTcpOgp+IyEgcm49Tm9ubmUgcnQ9MTA5NTg0OTkxNiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCmljaCBkZW5rZSBhbGwgZGllc2VzIFRyZWliZW4gZGVyIEdFWiBpc3QgbnVyIHZvciBkZW0gSGludGVyZ3J1bmQgZXJ0cmFlZ2xpY2gsCmRhc3MgZXMgZnVlciBHRVonbGVyIGFic29sdXQga2VpbmUgTW9lZ2xpY2hrZWl0IGdpYnQsZWluZSBVZWJlcnBydWVmdW5nIGRlcgpBbnphaGwgYW4gYW5tZWxkZXBmbGljaHRpZ2VuIEdlcmFldGVuIHp1IGVyendpbmdlbiAuLi4gCkVpZ2VudGxpY2ggbXVzcyBtYW4gZWluZSBWZXJmYXNzdW5nc2tsYWdlIGdlZ2VuIGRpZXNlIEFydCBkZXIgQmV6YWhsdW5nIHZvbgpJbmhhbHRlbiBlaW5yZWljaGVuLCBkYSBkaWVzZSBtYW5nZWxuZGUgVWViZXJwcnVlZmJhcmtlaXQgZWluZQpVbmdsZWljaGJlaGFuZGx1bmcgZGVyIGVocmxpY2hlbiBaYWhsZXIgZ2VnZW51ZWJlciBkZW5lbiwgZGllIGRpZSBHRVogZWluZmFjaAppZ25vcmllcmVuLCBnaWJ0LiBTdGV1ZXJnZXNldHplIHouQi4gc2luZCBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCBzY2hvbiBoYWV1ZmlnZXIKcnVlY2t3aXJrZW5kIGF1ZmdlaG9iZW4gd29yZGVuIChzcGVrdWxhdGlvbnNzdGV1ZXIsIGRpdmlkZW5kZW5iZXN0ZXVlcnVuZykKd2VubiBlcyBpbSB6ZWl0cmF1bSBkZXIgYmVzdGV1ZXJ1bmcga2VpbmUgZW50c3ByZWNoZW5kZW4KdWViZXJwcnVlZnVuZ3Ntb2VnbGljaGtlaXRlbiBnYWIuIFdpZXNvIGxhZXNzdCBzaWNoIGRpZSBHRVogbmljaHQgZ2VuYXVzbwphbmdlaGVuID8gCkhIIChnZXNwYW5udCBhdWYgSW5wdXQgdm9uIGVpbmVtIEp1cmlzdGVuKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQWxib2luLCAyMi4gU2VwIDIwMDQsIDEzOjA0OjA3KToKfiMhIHJuPU11YWRpYiBydD0xMDk1ODUwMTM4IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRHUgaGFzdCBzY2hvbiByZWNodC4gTnVyIGljaCBzZWhlIGljaCBiZWkgZGVyemVpdGlnZW0gU3RhbmQgZGVyIERpbmdlIGRpZQpHZWZhaHIgZGFzIGVzIGRhYmVpIGxldHp0ZW5kbGljaCBrZWluZSBFaW5uYWhtZW4gZ2lidCBzb25kZXJuIG51ciBlaW5lCmF1c3VmZXJuZSBHRVotQnVlcm9rcmF0aWUgdW5kIC1TY2hudWVmZmVsZWkuCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChDYXR3ZWF6bGUsIDIyLiBTZXAgMjAwNCwgMTM6MTI6NTgpOgp+IyEgcm49T2dvIHJ0PTEwOTU4NDg0OTMgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJY2ggaGFiIG1pY2ggd29obCBpbiBkZXIgUnVicmlrIHZlcmxhdWZlbi4KCkFsc28gd2VubiBpY2ggZGFoZWltIGF1ZiBtZWluZW0gUmVjaG5lciBhdWYgd3d3Lndkci5kZSBydW13dXNlbCwgdG9lbnQgbmFjaApzcGFldGVzdGVucyAzLTQgS2xpY2tzIGJlc3RlcyBSYWRpb3Byb2dyYW1tLiBVbmQgZGFzIGxpZWd0IG5pY2h0IGFuIG1laW5lbgpDb21wdXRlcmtlbm50bmlzc2VuLCBPdHRvIERhdSBrcmllZ3QgZGFzIG1pdCBzZWluZW0gdm9yaW5zdGFsbGllcnRlbiBBbGRpLVBDLAp3ZW5uIGVyIGRlbm4gZWlubWFsIGZ1ZXJzIEludGVybmV0IGVpbmdlcmljaHRldCBpc3QgKHVuZCB3ZWxjaGVyIENvbXB1dGVyIGlzdApkYXMgaGV1dHp1dGFnZSBuaWNodCBtZWhyKSwgZ2VuYXVzbyBwcm9ibGVtbG9zIGhpbi4KCkVyZ28gbm9jaG1hbDoKRGEgbWFuIGRhcyBJbnRlcm5ldCBoZXJ2b3JyYWdlbmQgYWxzIFJhZGlvL0Zlcm5zZWhlbiBiZW51dHplbiBrYW5uLCBmaW5kZSBpY2gKZWluZSBHZWJ1ZWhyZW5lcmhlYnVuZyBhdWYgQ29tcHV0ZXIgdm9sbGtvbW1lbiBsZWdpdGltLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChIaWdobGFuZGVyLCAyMi4gU2VwIDIwMDQsIDEzOjE2OjI4KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk1ODUxNTc4IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRGEgbWFuIEJlbnppbiBoZXJ2b3JyYWdlbmQgenVtIEhlaXplbiB2ZXJ3ZW5kZW4ga2FubiwgZmluZGUgaWNoCmVpbmUgTWluZXJhbG9lbHN0ZXVlcmVyaGVidW5nIGF1ZiBBdXRvcyB2b2xsa29tbWVuIGxlZ2l0aW0uCgpTb3JyeSwgd2FzIGJlc3NlcmVzIGZhZWxsdCBtaXIgaW0gTW9tZW50IG5pY2h0IGVpbiwgYWJlciBhZnUKYWVoIGF1ZiBkaWUgR2VmYWhyLCBtaWNoIHp1IHdpZWRlcmhvbGVuLCBoaW4gLSBlaW4gQ29tcHV0ZXIgYW4Kc2ljaCBpc3QgbmljaHQgdW5iZWRpbmd0IGludGVybmV0ZmFlaGlnLiBEYXp1IGJyYXVjaHQgZXMgREZVZS0KQXVzcnVlc3R1bmcgaXJnZW5kIGVpbmVyIEFydC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ2F0d2VhemxlLCAyMi4gU2VwIDIwMDQsIDEzOjI3OjA4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTA5NTg1MTc4OCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkRhbm4gemVpZyBtaXIgbWFsIGVpbmVuIEFuYmlldGVyLCBkZXIgbmVuIFJlY2huZXIgb2huZSBOZXR6a2FydGUgdmVya2F1ZnQuCkRGVWUtZmFlaGlnPwoKQWJlciBqYSwgd2VubiBrZWluIE1vZGVtLCBOZXR6a2FydGUsIFRWLUthcnRlIGRyaW4gaXN0LCBhbHNvIGRlciBDb21wdXRlciBhdWNoCm5pY2h0ICJlbXBmYW5nc2ZhZWhpZyIgaXN0LCBicmF1Y2ggZXIgYXVjaCBrZWluZSBHZWJ1ZWhyZW4genUgYmV6YWhsZW4uIEljaApiaW4gc2ljaGVyLCB6dSBkaWVzZW0gU2Nocml0dCBWZXJudW5mdCwgd3VlcmRlbiBzaWNoIHVuc2VyZSBIZXJyZW4gUG9saXRpa2VyCmVpbmxhc3Nlbi4KCk51ciwgZGFzIGlzdCBkYW5uIHdpZSBtaXQgVHVuZXIgYXVzYmF1ZW4sIG9kZXIgU2VuZGVyd2FobCBmZXN0c3RlbGxlbi4KS3J1ZXBwZWxnZXJhZXRlLiBXaWUgd2FyIGRhcz8gU2luZCBkYXMgbnVuIEdFWi1BdXNuYWhtZW4sIG9kZXIgbmljaHQ/CgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEhpZ2hsYW5kZXIsIDIyLiBTZXAgMjAwNCwgMTM6MzI6MDYpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTU4NTI0Mjggcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpSZWR1emllcnRlIFNlbmRlcmF1c3dhaGwgemFlaGx0IGJla2FubnRsaWNoIG5pY2h0LCBiZWkgVFYvVkNSIGV0Yy4KaGlsZnQgbnVyIFR1bmVyYXVzYmF1LiBVbmQgTmV0endlcmtrYXJ0ZSB6YWVobHQgbmF0dWVybGljaCBuaWNodCwKd2VpbCBEdSBEaWNoIGRhbWl0IG5pY2h0IGFuICdkYXMgSW50ZXJuZXQnIGFuaGFlbmdlbiBrYW5uc3QsIGRhCmJyYXVjaHQncyBzY2hvbiBub2NoIGVpbiBEU0wtTW9kZW0gby5hZS4gVW5kIFZlcm51bmZ0PyBJbQpFbnR3dXJmLCBzb3dlaXQgYmVrYW5udCwgc3RlaHQgX2plZGVyXyBDb21wdXRlci4gSXN0IGphIGxlaWNodAphdWZ6dXJ1ZXN0ZW4gKGhleSwgc2VpdCB3YW5uIHphZWhsdCBlaWdlbnRsaWNoIGRpZSBNb2VnbGljaGtlaXQsCmV0d2FzIGRlbWVudHNwcmVjaGVuZCBhdXN6dXJ1ZXN0ZW4gc3RhdHQgZGVyIHRhdHNhZWNobGljaGVuCkZhZWhpZ2tlaXQ/KS4KCkhyVC4gSXN0IGZ1ZXIgZGllIG9lZmZyZWNodC1TdGV1ZXIgdW5kIGRlbiBUb2QgZGVyIEdFWi4KV2VubiBzY2hvbiwgZGVubiBzY2hvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEhvdXNlaG9sZGVyLCAyMi4gU2VwIDIwMDQsIDEzOjMzOjQ4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTA5NTg1MTc4OCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCmRhIG1hbiBzZWluZSB3b2hudW5nIGhlcnZvcnJhZ2VuZCB6dW0gYXVmc3RlbGxlbiBlaW5lcyByYWRpb3MgKHBlciB2ZXJzYW5kCjVtaW4gYXJiZWl0IHp1bSB0dWVyIGF1Zm1hY2hlbiB1bmQgbGllZmVyYW50ZW4gYWJmZXJ0aWdlbiB1bmQgZ2lidCBlcyBzY2hvbgpiaWxsaWdlciBhbHMgZWluZSBwY2ktdHYta2FydGUpIHZlcndlbmRlbiBrYW5uLCBmYWVuZGUgaWNoIEdFWi1HZWJ1ZWhyZW4gYXVmCm9kZXIgZ3J1bmRzdHVlY2tzZWlnZW50dW0gbGVnaXRpbS4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChDYXR3ZWF6bGUsIDIyLiBTZXAgMjAwNCwgMTM6NDQ6MTQpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA5NTg1MjgyOCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkV1cmUgQmVpc3BpZWxlIHdlcmRlbiB1bnNhY2hsaWNoIDotKQoKTmF0dWVybGljaCBtdXNzIG1hbiBkaWUgRW1wZmFuZ3NmYWVoaWdrZWl0IGFuIGVpbmVyIFNhY2hlIGZlc3RtYWNoZW4uIE9iIGRhcwplaW4gUmFkaW8sIGVpbiBGZXJuc2VoZXIsIGVpbiBDb21wdXRlciBvZGVyIG1laW5lIFNlaWZlIGltIEJhZCBpc3QsIGlzdCBkb2NoCmVnYWwuCgpVbmQgZGllIERpc2t1c3Npb24sIHdlbGNoZXMgQmF1dGVpbCBudW4gZnVlciBkZW4gRW1wZmFuZyB2ZXJhbnR3b3J0bGljaCBpc3QsCmlzdCBzbyBhbHQgd2llIGRpZSBHRVotR2VidWVocmVuIHNlbGJzdC4gS2xhciBrYW5uIGljaCBiZWkgbWVpbmVtIEZlcm5zZWhlcgpzYWVtdGxpY2hlIEVpbmdhZW5nZSBtaXQgS2xlaXN0ZXIgenVrbGViZW4sIG1pdCBkZW0gRFZELVBsYXllciBoYXJ0IHZlcmRyYWh0ZW4KdW5kIGRhbm4gc2FnZW4sIGRhc3MgaWNoIGlobiBudXIgenVtIFByaXZhdGZpbG1lIGd1Y2tlbiBiZW51dHplbi4gQWJlciwgd2VyCm1hY2h0IGRhcyBzY2hvbiA6LSkKClZlcmRhbW10LCB3byBpc3QgZWlnZW50bGljaCBBbmF0b2wsIGljaCBmaW5kZSBkaWVzZXIgRGlza3Vzc2lvbiBmZWhsdCBpbW1lcgpub2NoIGVpbiBiaXNzY2hlbiBQb2xlbWlrIHVuZCBHZXdpdHRlciA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQm9pbmcsIDIyLiBTZXAgMjAwNCwgMTM6NDQ6NDgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTU4NTM0NTQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJY2ggZ2xhdWJlIGRlciBhcmJlaXRldC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoSG91c2Vob2xkZXIsIDIyLiBTZXAgMjAwNCwgMTM6NTI6MzApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTU4NTM0NTQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpuYWphIG1hbiBicmF1Y2h0IHNpY2ggbnVyIG1hbCBhbnp1c2NoYXVlbiwgd2lldmllbCBwcm96ZW50IGRlciBiZXNpdHplciBlaW5lcwpmZXJuc2VoZXJzLCBtaXQgZGVtIGdlcmFldCBudXIgdmlkZW9zIGFuc2NoYXVlbiB1bmQgd2lldmllbCBwcm96ZW50IGRlcgpQQy1CZXNpdHplciB3aXJrbGljaCBlaW5lIHR2LSBvZGVyIHJhZGlvLWthcnRlIGVpbmdlYmF1dCBoYWJlbiAuLi4gZGVyIHBjCmdlaG9lcnQgSU1ITyBlaW5mYWNoIG5pY2h0IGluIGRpZSBsaXN0ZSBkZXIgZ2VyYWV0ZSBkaWUgZ2V6LXBmbGljaHRpZyBzZWluCnNvbGx0ZW4sIHNvbGFuZ2Uga2VpbmUgZW50c3ByZWNoZW5kZSBrYXJ0ZSBlaW5nZWJhdXQgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoSG91c2Vob2xkZXIsIDIyLiBTZXAgMjAwNCwgMTM6NTU6NTEpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA5NTg1Mzk1MCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCndlbm4gbWFuIGRlbiBiZXNpdHogZWluZXIga2FydGUgZ2VidWVocmVucGZsaWNodGlnIG1hY2hlbiB0YWV0LCB3dWVyZGUgZGFzCmVoZXIgc2lubiBtYWNoZW4sIGRhIGRpZSBpbW1lcmhpbiB6dSBFbXBmYW5nc3p3ZWNrZW4gZ2VrYXVmdCB3dXJkZS4gQWJlciBlcwppc3QgbnVubWFsIGxlaWNodGVyIHVuZCBlaW50cmFlZ2xpY2hlciBlaW5lbiBSdW5kdW1zY2hsYWcgYXVmIGFsbGUgUEMncyB6dQptYWNoZW4sIGRhIGVzIHZpZWwgc2Nod2VyZXIgZmFlbGx0IHp1IGxldWduZW4sIGRhc3MgbWFuIGVpbmVuIFBDIGJlc2l0enQsIGFscwpkYXNzIG1hbiBlaW5lIHR2LS9yYWRpby0gS2FydGUgYmVzaXR6dC4gCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMi4gU2VwIDIwMDQsIDE0OjI4OjUzKToKfiMhIHJuPUhvdXNlaG9sZGVyIHJ0PTEwOTU4NTQxNTEgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpSdW5kdW5rc3RhYXRzdmVydHJhZyBhdWZoZWJlbiwgSW5oYWx0ZSBmdWVyIG9lZmYtcmVjaHQuIFJ1bmRmdW5rIGZlc3RsZWdlbiwKbmV1ZW4gU3RhYXRzdmVydHJhZyBzY2hsaWVzc2VuLCBwYXJsYW1lbnRhcmlzY2hlIEtvbnRyb2xsZSBhdWYgRWlubmFobWVuCnVuZCBBdXNnYWJlbiBzaWNoZXJzdGVsbGVuLCB1ZWJlcmZsdWVzc2lnZSBMZXV0ZSBlbnRsYXNzZW4uIAoKU28gd3VlcmQgaWNoIGRhcyBhbmdlaGVuLiBadSBhbmRlcmVuIFVlYmVybGVndW5nZW4gdWViZXIgRGV0YWlscyBkZXMKZGVyemVpdGlnZW4gU3lzdGVtcyBrYW5uIGljaCBtaWNoIG5pY2h0IGF1ZnJhZmZlbiwgZGEgaWNoIGRhbm4gR2VmYWhyCmxhdWZlLCBtaWNoIHp1IHNlaHIgenUgZXJyZWdlbi4gRnVlciBUYWdlIG1pdCBzY2hsZWNodGVtIEtyZWlzbGF1ZiBiZWhhbHRlIAppY2ggbWlyIGRhcyBhYmVyIGFscyBUaGVyYXBpZW1hc3NuYWhtZSB2b3IuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjIuIFNlcCAyMDA0LCAxNDozMDoxNyk6Cn4jISBybj1PZ28gcnQ9MTA5NTg1MDQyNCByZz1kaXNrdXNzaW9uCn4jISB0aWQ9MTA5NTg0MTg1MwphKSB1bmQgYykgd2VyZGVuIGphIGVpZ2VudGxpY2ggdWViZXIgZGVuIE1hcmt0IG1laHIgYWxzIGdlbnVnIGFuZ2Vib3Rlbi4gQmVpCmIpIGtvZW5udGUgaWNoIG1pY2ggZXJ3ZWljaGVuIGxhc3NlbiwgZGFzcyBkaWUgdm9uIGRlbiBwcml2YXRlbiBhbmdlYm90ZW5lbgpTZW5kdW5nZW4gZGllc2VzIEdlbnJlcyBkYXMgQVJEL1pERi1OaXZlYXVbc2ljIV0gbmljaHQgZXJyZWljaGVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFBhZHJlaWMsIDIyLiBTZXAgMjAwNCwgMTQ6NTI6NTIpOgp+IyEgcm49QWxib2luIHJ0PTEwOTU4NDk4MzIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpEdSBicmF1Y2hzdCBkYWZ1ZXIgdWViZXJoYXVwdCBrZWluZSBIYXJ0bmFlY2tpZ2tlaXQuIER1IG1lbGRlc3QgRGljaCAtIGRhcyBEdQpkYWZ1ZXIgdWViZXJoYXVwdCBHcnVlbmRlIHJlaW5zY2hyZWliZW4gbXVzc3QgYmV6d2VpZmVsIGljaCAtIHVuZCB3aWRlcnJ1ZnN0CmltIGdsZWljaGVuIEF0ZW16dWcgbWl0IHNvZm9ydGlnZXIgV2lya3VuZyBkaWUgRWluenVnc2VybWFlY2h0aWd1bmcgdW5kCnZlcmxhbmdzdCBBdXNrdW5mdCB1ZWJlciB1bmQgc29mb3J0aWdlIExvZXNjaHVuZyBhbGxlciBwZXJzb25lbmJlem9nZW5lbgpEYXRlbi4KU29sbHRlc3QgRHUgZGFyYXVmaGluIG5vY2ggUG9zdCBiZWtvbW1lbiwgc2NobWVpc3N0ZSBkaWUgZW50d2VkZXIgZGlyZWt0IGluCmRlbiBQYXBpZXJrb3JiIG9kZXIgc2NoaWNrc3Qgc2llIChkaWUgR0VaIHNpdHp0IGdsYXViIGljaCBpbiBrb2VsbikgYW4gZGVuCkRhdGVuc2NodXR6YmVhdWZ0cmFnZW4gdm9uIE5SVyAtIGRlciBzb3JndCBkYW5uIHNjaG9uIGZ1ZXIgZGllIExvZXNjaHVuZwpEZWluZXIgRGF0ZW4uCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQYWRyZWljLCAyMi4gU2VwIDIwMDQsIDE0OjU0OjA2KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NTg1NzU3MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkVzIHNvbGwgbmF0dWVybGljaCBoZWlzc2VuICJtZWxkZXN0IERpY2ggYWIiIHVuZCBuaWNodCAibWVsZGVzdCBEaWNoIi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE9nbywgMjIuIFNlcCAyMDA0LCAxNDo1NjozNik6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTU4NTc1NzIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpEYXMgaXN0IGdyYXVlIFRoZW9yaWUsIGluIGRlciBQcmF4aXMgZ2xlaWNodCBkaWUgR0VaIGRpZSBEYXRlbiBtaXQgc2FlbXRsaWNoZW4KTGFuZGVuZWlud29obmVybWVsZGVhZW10ZXJuIGFiLiBEYXMgZ2VzY2hpZWh0IGFuZ2VibGljaCBqZWRlbiBNb25hdC4gRHUga2FubnN0Cnp3YXIgZGllIExvZXNjaHVuZyBiZWFudHJhZ2VuLCBhYmVyIGVpbmVuIE1vbmF0IHNwYWV0ZXIgaGFiZW4gc2llIGRlaW5lIERhdGVuCmVybmV1dC4gSXN0IGFsbGVzIHJlY2h0bGljaCBXYXNzZXJkaWNodC4gCgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE1haGFyZXQsIDIyLiBTZXAgMjAwNCwgMTQ6NTg6NDgpOgp+IyEgcm49T2dvIHJ0PTEwOTU4NTc3OTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpBY2gsIGRpZSBoYWJlbiBhdWNoIGRlaW5lIERhdGVuLCB3ZW5uIGR1IHdhcyBiZWkgT3R0byBvZGVyIE5lY2tlcm1hbm4gb2RlciBzbwpiZXN0ZWxsc3QuIEljaCBoYWIgZGllIG1hbCBnZWZyYWd0LCB3aWUgZGllIGFuIGVpbmUgQWRyZXNzZSByYW5rYW1lbiwgYmVpIGRlcgppY2ggbmllIGdlbWVsZGV0IHdhci4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFBhZHJlaWMsIDIyLiBTZXAgMjAwNCwgMTQ6NTk6MjApOgp+IyEgcm49T2dvIHJ0PTEwOTU4NTc3OTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpFcyBrYW5uIGd1dCBzZWluLCBkYXNzIFNpZSBkYW5uIGVybmV1dCB2ZXJzdWNoZW4gRGljaCBhbHMgIkt1bmRlbiIgenUKYXF1aXJpZXJlbiwgYWJlciBkaWUgS3VlbmRpZ3VuZyBpc3QgZGFtaXQgZ2FueiB3YXNzZXJmZXN0IGR1cmNoIC0gb2huZSBsYW5nZQpEaXNrdXNzaW9uZW4uIEF1ZiBkaWUgbmV1ZXJsaWNoZW4gS29udGFrdGF1Zm5haG1ldmVyc3VjaGUga2FubnN0IER1IGRhbm4KZ2V0cm9zdCBtaXQgSWdub3JpZXJ1bmcgcmVhZ2llcmVuLgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjIuIFNlcCAyMDA0LCAxNTowMToxMik6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTU4NTc5NjAgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpOYWphLCBnYWVuemxpY2ggaWdub3JpZXJlbiB3dWVyZGUgaWNoIGRhcyBuaWNodC4gS2FubiBqYSBzZWluLCBkYXNzIGVpbiAKbmV1ZXIgR2VidWVocmVuYmVzY2hlaWQgZGFiZWkgaXN0LiA6KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQYWRyZWljLCAyMi4gU2VwIDIwMDQsIDE1OjAzOjAwKToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg1ODA3MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClNvbGFuZyBkZXIgbmljaHQgdm9tIEFtdHNnZXJpY2h0IGtvbW10LCBrYW5uc3RlIGRlbiBhdWNoIGdldHJvc3QgaWdub3JpZXJlbgp3ZW5uIER1IGdla3VlbmRpZ3QgaGFzdCB1bmQgRGlyIGRlbiBFaW5nYW5nIGRlciBLdWVuZGlndW5nIGhhc3QgYmVzdGFldGlnZW4KbGFzc2VuLgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFpvb2ssIDIyLiBTZXAgMjAwNCwgMTU6MjA6MDIpOgp+IyEgcm49UGFkcmVpYyBydD0xMDk1ODU4MTgwIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKTmFqYSwgRGVpbmUgcmVjaHRsaWNoZSBFeHBlcnRpc2UgaW4gYWxsZW4gRWhyZW4sIGFiZXIgdW5hYmhhZW5naWcgdm9uCmRlbiB0YXRzYWVjaGxpY2hlbiBWZXJoYWVsdG5pc3NlbiB3dWVyZGUgaWNoIGRvY2ggaW4gZWluZW0gc29sY2hlbiBGYWxsCmVpbmVuIEZhY2htYW5uIGtvbnN1bHRpZXJlbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjIuIFNlcCAyMDA0LCAxNToyMDo0Mik6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTU4NTgxODAgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpXaWVzbyBzb2xsdGUgZGFzIEFtdHNnZXJpY2h0IGVpbmVuIEdlYnVlaHJlbmJlc2NoZWlkIHZlcnNjaGlja2VuPwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNYWhhcmV0LCAyMi4gU2VwIDIwMDQsIDE1OjIxOjAyKToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg1OTI0MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCldhciBpY2ggYXVjaCBnZXJhZGUgYW0gdGlwcGVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFoYXJldCwgMjIuIFNlcCAyMDA0LCAxNTozMjo1NCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwOTU4NTkyNjIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpOdXIgbWFsIGZ1ZXIgZGllLCBkaWUgc2ljaCB6dSBzY2huZWxsIGF1ZiBtcGEtVGV4dGUgdmVybGFzc2VuOiBCZXNjaGVpZGUgc2luZAp2b2xsc3RyZWNrYmFyLCBkYSBtdXNzIG5pY2h0cyB2b24gR2VyaWNodCBrb21tZW4uClVuZCBzaWUgc2luZCBuaWNodCBuaWNodGlnLCBudXIgd2VpbCBzaWUgcmVjaHRzd2lkcmlnIHNpbmQuIEF1Y2ggcmVjaHRzd2lkcmlnZQpCZXNjaGVpZGUga29lbm5lbiBiZXN0YW5kc2tyYWVmdGlnIHVuZCBkYW1pdCB2b2xsc3RyZWNrYmFyIHdlcmRlbi4KClNvbnN0IGtyaWVnIGljaCBoaWVyIG5vY2ggbiBzY2hsZWNodGVzIEdld2lzc2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ2F0d2VhemxlLCAyMi4gU2VwIDIwMDQsIDE1OjM1OjIyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NTg1OTk3NCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkFiZXIgTWFobnZlcmZhaHJlbiBtYWNodCBkb2NoIGRhcyBBbXRzZ2VyaWNodCwgb2Rlcj8KCihJc3QgZ3VlbnN0aWcsIG1hY2h0IG1laW5lIEtvbGxlZ2luIGdlcmFkZS4gRGVyIGhhdCBlaW4gT25saW5ldmVyc2FuZCBzZWl0Ck1vbmF0ZW4gdW5kIHppZyBlbWFpbHMgZGFzIEdlbGQgbmljaHQgenVydWVja2Vyc3RhdHRldC4gU29sbCBudXIgMTYgRXVybwprb3N0ZW4gLi4uKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFoYXJldCwgMjIuIFNlcCAyMDA0LCAxNTozNjoxMik6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA5NTg2MDEyMiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClppdmlscmVjaHRsaWNoLCBqYS4gQWJlciB3aXIgcmVkZW4gaGllciB2b24gQmVzY2hlaWRlbiBlaW5lcgpvZWZmZW50bGljaHJlY2h0bGljaGVuIEJlaG9lcmRlLiBEYSBoYXQgZGFzIEFtdHNnZXJpY2h0IG5pY2h0cyBtaXQgenUgdHVuLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFpvb2ssIDIyLiBTZXAgMjAwNCwgMTU6NDc6NDkpOgp+IyEgcm49TWFoYXJldCBydD0xMDk1ODU5OTc0IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKSGllciBzcHJpY2h0IGRpZSBGYWNoZnJhdSEgQXVmIGRpZSBob2VyZXQhCgpFaW56aWcgb2ZmZW4gaXN0LCBvYiBkZXIgR2VidWVocmVuYmVzY2hlaWQgZGVyIEdFWiAoZGFzIGlzdCBlaW5lIEtvZXJwZXItCnNjaGFmdCBvZWZmZW50bGljaGVuIFJlY2h0cyB1bmQga2VpbiBVbnRlcm5laG1lbikgYXVmZ3J1bmQgZGVyIGltIApSdW5kZnVua3N0YWF0c3ZlcnRyYWcgdW5kIFJ1bmRmdW5rZ2VidWVocmVuc3RhYXRzdmVydHJhZyAodW5kIG5pY2h0IGF1ZmdydW5kCmVpbmVzIG1pdCBkZXIgR0VaIGdlc2NobG9zc2VuZW4gVmVydHJhZ2VzKSBWZXJ3YWx0dW5nc2FrdC1RdWFsaXRhZXQgaGF0IG9kZXIKbmljaHQuIERhcyBsYWVzc3Qgc2ljaCBhYmVyIHNvIG9obmUgZWluIHNvbGNoZXMgRGluZyBpbiBBdWdlbnNjaGVpbiB6dSAKbmVobWVuIG5pY2h0IG9obmUgd2VpdGVyZXMgc2FnZW4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNYWhhcmV0LCAyMi4gU2VwIDIwMDQsIDE1OjQ5OjE1KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg2MDg2OSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClllcCwgaWNoIGJpbiBoaWVyIGF1Y2ggc2Nob24gYW0gc3VjaGVuLCBhYmVyIGljaCBoYWIgb2ZmZW5iYXIga2VpbmVuIEJlc2NoZWlkCnZvbiBkZXIgR0VaLiAgS2FubiBkYSB3ZXIgYXVzaGVsZmVuPwoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE1haGFyZXQsIDIyLiBTZXAgMjAwNCwgMTU6NDk6NTkpOgp+IyEgcm49TWFoYXJldCBydD0xMDk1ODYwOTU1IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKV29iZWkgbWlyIHNjaG9uIGZhc3QgYXVzcmVpY2hlbiB3dWVyZGUsIHdlbm4gZGEgIkJlc2NoZWlkIiBkcmF1ZnN0ZWh0LCBkYW5uCmlzdCBlcyBuYWVtbGljaCBqZWRlbmZhbGxzIGVpbiBWQSBhdWZncnVuZCBkZXIgRm9ybS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNdWFkaWIsIDIyLiBTZXAgMjAwNCwgMTY6MDI6NTMpOgp+IyEgcm49Wm9vayBydD0xMDk1ODYwODY5IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKUnVuZGZ1bmtnZWJ8aHJlbnN0YWF0c3ZlcnRyYWcgJzcgKDYpCkJlc2NoZWlkZSB8YmVyIHJ8Y2tzdG5kaWdlIFJ1bmRmdW5rZ2VifGhyZW4gd2VyZGVuIGltClZlcndhbHR1bmdzendhbmdzdmVyZmFocmVuIHZvbGxzdHJlY2t0LiBFcnN1Y2hlbiB1bSBWb2xsc3RyZWNrdW5nc2hpbGZlIGdlZ2VuCkdlYnxocmVuc2NodWxkbmVyLCBkaWUgaW4gYW5kZXJlbiBMbmRlcm4gaWhyZW4gV29obnNpdHogb2RlciBzdG5kaWdlbgpBdWZlbnRoYWx0IGhhYmVuLCBrbm5lbiB2b24gZGVyIExhbmRlc3J1bmRmdW5rYW5zdGFsdCwgYW4gZGllIGRpZSBHZWJ8aHIgenUKZW50cmljaHRlbiBpc3QsIHVubWl0dGVsYmFyIGFuIGRpZSBmfHIgZGVuIFdvaG5zaXR6IG9kZXIgc3RuZGlnZW4gQXVmZW50aGFsdAp6dXN0bmRpZ2UgVm9sbHN0cmVja3VuZ3NiZWhyZGUgZ2VyaWNodGV0IHdlcmRlbi4KCkludGVycHJldGF0aW9uIG9ibGllZ3QgRmFjaGtyYWVmdGVuLgoKdW1sYXV0bW90emVyZWllbiBrb2VubnQgaWhyIGJlaGFsdGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFoYXJldCwgMjIuIFNlcCAyMDA0LCAxNjowNToyNyk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5NTg2MTc3MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkRhbmtlIDpvKQpBdWNoLCB3ZW5uIGljaCBuYWNoIGRlbiBtaXIgdm9ybGllZ2VuZGVuIEdlc2V0emVuIHN1YnN1bWllcmUsIGtvbW1lIGljaApkYXJhdWYsIGRhc3MgZGFzIFZlcndhbHR1bmdzYWt0ZSBzZWluIG11ZXNzdGVuLiAgRGllIEdlZ2VuYW5zaWNodCBhdWYgZWluZXIKamVkZW5mYWxscyBuaWNodCBvZmZlbnNpY2h0bGljaCBqdXJpc3Rpc2NoZW4gSW50ZXJuZXRzZWl0ZSBiZWdydWVuZGV0IG1pcgpsZWlkZXIgbmljaHQsIHdhcnVtIHNpZSBkaWUgR0VaIG5pY2h0IGZ1ZXIgZWluZSBCZWhvZXJkZSBoYWVsdC4gIEFsc28gbmVobSBpY2gKZGllIG5pY2h0IHNvbmRlcmxpY2ggZXJuc3QgOykKCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMi4gU2VwIDIwMDQsIDE2OjIzOjExKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NTg2MTkyNyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkZhc3NlbiB3aXIgenVzYW1tZW4genUgZWluZW0gVGlwOgoKV2VyIGVpbmZhY2ggc28gZWluZW4gR0VaLUdlYnVlaHJlbmJlc2NoZWlkIGVyaGFlbHQsIHNvbGx0ZSBkYXJhdWYKcmVhZ2llcmVuIHVuZCBpaG4gbmljaHQgd2llIGRlbiBzb25zdGlnZW4gR0VaLUJyaWVmdmVya2VociBpZ25vcmllcmVuLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChIaWdobGFuZGVyLCAyMi4gU2VwIDIwMDQsIDE2OjI1OjA1KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg2Mjk5MSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkthbm4gbmljaHQgc2NoYWRlbiwgZ2VuYXUuIEVyaGFlbHQgbWFuIGRhZ2VnZW4gZWluZSBOYWNoZnJhZ2UsIG9iIG1hbgphdWNoIHdpcmtsaWNoIGtlaW5lbiBGZXJuc2VoZXIgaGF0LCBrYW5uIG1hbiBkaWVzZSBnZXRyb3N0IGlnbm9yaWVyZW4uCk1hbiBtdXNzIG5vY2ggbmljaHQgbWFsIG1pdCAnbmVpbicgYW50d29ydGVuLiBOZW5udCBzaWNoIGdsYXViIGljaAoncG9zaXRpdmUgQXVza3VuZnRzcGZsaWNodCcgb2RlciBzbyBhZWhubGljaC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEhvdXNlaG9sZGVyLCAyMi4gU2VwIDIwMDQsIDE2OjMyOjQ1KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTA5NTg2MzEwNSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCmFscyBkaWUgYmVpIGRlciBzY2h3ZXN0ZXIgbWVpbmVyIGZyZXVuZGluIHZvciBkZXIgdHVlciBzdGFuZCBoYXQgZGllIHNpZSBtaXQKZGVtIGtvbW1lbnRhciBlbXBmYW5nZW46IGZlcm5zZWhlbiA/IFRldWZlbHN6ZXVnICEhISBydW5kZnVuay0gdW5kCmZlcnNlaGdlcmFldGUgc2luZCBhdXMgcmVsaWdpb2VzZW4gZ3J1ZW5kZW4gYXVzIHVuc2VyZW0gaGF1c2hhbHQgdmVyYmFubnQsCmFiZXIga29tbWVuIHNpZSBkb2NoIG1hbCB6dW0gbmFlY2hzdGVuIHRyZWZmZW4gdW5zZXJlciByZWxpZ2lvbnNnZW1laW5zY2hhZnQKb2RlciBnZWJlbiBzaWUgbWlyIGlocmUgYWRkcmVzc2Ugd2lyIGJyaW5nZW4gaWhuZW4gaW5mb3JtYXRpb25zbWF0ZXJpYWwgbWl0Ci4uLiBzZWl0ZGVtIGhhdCBzaWUgZ2xhdWIgaWNoIHp1bWluZGVzdCB2b3IgZGVuIGRydWVja2VybiBydWhlIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE1vcmdvdGgsIDIyLiBTZXAgMjAwNCwgMTg6MTA6MTUpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA5NTg2MzU2NSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCgpTZWhyIG5ldHRlIElkZWUsIHd1ZXJkZSBhYmVyIHdvaGwgYmVpIG1pciBuaWNodCB3aXJrbGljaCBmdW5rdGlvbmllcmVuLiBFcyBzZWkKZGVubiBpY2gga29lbm50ZSBkZW0gd2lya2xpY2gga2xhcm1hY2hlbiwgZGFzcyBpY2gga2VpbiBGZXJuc2VoZW4gaGFiZW4gd2lsbAp3ZWlsIGRpZSBTb25udGFncyBkYSBpbW1lciBpcmdlbmR3byBpaHJlIFByZWRpZ3RlbiBhdXNzdHJhaGxlbiA6KQoKTSogCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoUGFkcmVpYywgMjIuIFNlcCAyMDA0LCAxODoxNjoxNyk6Cn4jISBybj1ab29rIHJ0PTEwOTU4NTkyNDIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpCZWltIEFtdHNnZXJpY2h0IGhlaXNzdCBkYXMgZGFubiBNYWhuYmVzY2hlaWQgLSBhYmVyIGRhcyBWZXJoYWx0ZW4gaXN0IGltaG8KZGFzc2VsYmUgLSBkdSBtdXNzdCB6YWhsZW4gb2RlciBFaW5zcHJ1bmcgZWlubGVnZW4gLT4gc29uc3Qgdm9sbHN0cmVja2JhcmVyClRpdGVsLiBTb3dlaXQgaWNoIGRhcyBrZW5uZSwgbXVzcyBhdWYgZGVuIGVudHNwcmVjaGVuZGVuIEJlc2NoZWlkZW4gYXVmCldpZGVyc3BydWNoc2ZyaXN0ZW4gZXRjLiBlaW5kZXV0aWcgaGluZ2V3aWVzZW4gd2VyZGVuIC0gaW5zb2Zlcm4gc2llaHQgbWFuIGRhcwpkYW5uIGJlaW0gbGVzZW4gc2Nob24gZWluZGV1dGlnLiBBZW5kZXJ0IGFuIG1laW5lciBBdXNzYWdlIHdpZSBEdSBEaXIgZW5kbG9zZQpEaXNrdXNzaW9uZW4gbWl0IGRlciBHRVogZXJzcGFyZW4ga2FubnN0IGFiZXIgbmljaCB3aXJrbGljaCB3YXMgLSBhdXNzZXIgZGFzCmVpbiBldHdhaWdlciBCZXNjaGVpZCBnZ2YuIGRvY2ggbmljaHQgdm9tIEFtdHNnZXJpY2h0IGtvbW10IC0gYWJlciBlYmVuc28KbGVpY2h0IHp1IGVya2VubmVuIGlzdC4KTGV0emVuZW5kZXMgbXVlc3NlbiBfc2llXyBEaXIgbmFjaHdlaXNlbiBkYXMgRHUgRmVybnNlaG4gYnp3LiBSYWRpbyBiZXNpdHp0CnVuZCBuaWNodCB1bWdla2VocnQgdW5kIG9obmUgYmVncnVlbmRldGVuIFZlcmRhY2h0IGJyYXVjaHN0IHNpZSBhdWNoIG5pY2h0IGluCmRpZSBXb2hudW5nIGxhc3Nlbi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMi4gU2VwIDIwMDQsIDE4OjQwOjUyKToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NTg2OTc3NyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCklzdCBqYSBhbGxlcyByaWNodGlnLiBOdXIsIHdlbm4gRHUgc2NocmVpYnN0LCBtYW4ga29lbm5lIGVpbmVuIGV0d2FpZ2VuCkdlYnVlaHJlbmJlc2NoZWlkICJnZXRyb3N0IGlnbm9yaWVyZW4iIChSZV4xMSwgaGllciBBcnRpa2VsIDExOSksIGRhbm4gCndhciBkYXMgZWJlbiBlcmtsYWVydW5nc2JlZHVlcmZ0aWcuIE5pY2h0cyBhbmRlcmVzIGhhdCBNYWhhcmV0IGdlbWFjaHQuCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTXVhZGliLCAyMi4gU2VwIDIwMDQsIDE4OjQyOjQ0KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg3MTI1MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCmRhcyBtdWQgYWxzIGZhY2hsaWNoZSBiZXJhdHVuZyBpbiBpcmdlbmRlaW5lciBmYWNocmljaHR1bmcgenUgaW50ZXJwcmV0aWVyZW4KdW5kIHp1IG51dHplbiBnZXNjaGllaHQgZWggYXVmIGVpZ2VuZSBnZWZhaHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMi4gU2VwIDIwMDQsIDE4OjQ5OjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg3MTI1MiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkVpbmUga2xlaW5lIEtvcnJla3R1ciBub2NoOiBXZXIgZ2xhdWJ0LCBudXIgd2VpbCBlaW5lbSBWZXJ3YWx0dW5nc2FrdAplaW5lIEJlbGVocnVuZyB1ZWJlciBkaWUgUmVjaHRzYmVoZWxmZSBmZWhsdCwgd2FlcmUgZGllc2VyIG5pY2h0aWcsIGlycnQsCndpZSBlaW4gc2NobmVsbGVyIEJsaWNrIGluIFBhci4gNTggQWJzLiAyIFZ3R08gdW5kIGRpZSBzdGFlbmRpZ2UKUmVjaHRzc3ByZWNodW5nIGRlciBWZXJ3YWx0dW5nc2dlcmljaHRlIHplaWd0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChPcmt0b2V0ZXIsIDIyLiBTZXAgMjAwNCwgMTg6NTA6MzYpOgp+IyEgcm49TXVhZGliIHJ0PTEwOTU4NzEzNjQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpXaWVzbyBoYWJlbiB3aXIgZWlnZW50bGljaCBub2NoIG9lZmZlbnRsaWNoIHJlY2h0bGljaGVuIFJ1bmRmdW5rPyBFcyBnaWJ0IGRvY2gKYXVjaCBrZWluZSBvZWZmZW50bGljaCByZWNodGxpY2hlbiBaZWl0dW5nZW4uLi4gRGFzIHNpZSBpbiBkZXIgQW5mYW5nc3BoYXNlCm5vdHdlbmRpZyB3YXJlbiwgd2VpbCBlcyBrZWluZSBQcml2YXRlbiBnYWIgaXN0IGphIHNjaG9lbiB1bmQgZ3V0LCBhYmVyIG51bgpnaWJ0IGVzIHNlaXQgSmFocmVuIHJlaWNobGljaCBwcml2YXRlIFJ1bmZ1bmthbmJpZXRlciwgZGEgd2lyZCBlcyBtZWluZXIKYmVzY2hlaWRlbmVuIE1laW51bmcgbmFjaCBsYW5nc2FtIFplaXQsIGRhc3Mgc2ljaCBkZXIgU3RhYXQgYXVzIGRlbSBNYXJrdAp6dXJ1ZWNremllaHQuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFpvb2ssIDIyLiBTZXAgMjAwNCwgMTk6MDQ6NTYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwOTU4NzE4MzYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1Mwo+PiBrZWluZSBvZWZmZW50bGljaCByZWNodGxpY2hlbiBaZWl0dW5nZW4KCkFiZXIgc2VociB3b2hsIGdpYnQgZXMgWmVpdHVuZ2VuIGluIFN0YWF0c2Jlc2l0ei4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoT3JrdG9ldGVyLCAyMi4gU2VwIDIwMDQsIDE5OjM0OjU5KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTg3MjY5NiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkR1IG1laW5zdCBkZW4gQnVuZGVzYW56ZWlnZXI/IApCZWtvbW1lIGljaCBkZW4gdW1zb25zdCB6dWdlc3RlbGx0PwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChBbmF0b2wsIDIyLiBTZXAgMjAwNCwgMjE6Mzk6MzYpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEwOTU4NzQ0OTkgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJY2ggaGFiZSBtZWluIFJhZGlvIG1pdCAiQmluIHp1IHNlbHRlbiB6dWhhdXNlIHVuZCBoYWJlIGVzIGFiZ2ViYXV0LiBOZWluLApiZXNpdHplIGF1Y2gga2VpbiBBdXRvIiBhYmdlbWVsZGV0IHVuZCBiZWthbSBwb3N0d2VuZGVuZCBkaWUgQmVzdGFldGlndW5nCmRlciBBYm1lbGR1bmcuIEtlaW5lIFNjaGVyZXJlaWVuLCBuaXguCgpXYXMgUGFkcmVpY3MgSWRlZSBtaXQgVmVybGFuZ2VuIGRlciBTcGVycnVuZy9Mb2VzY2h1bmcgcGVyc29uZW5iZXpvZ2VuZXIKRGF0ZW4gKHp1dmllbCBURkZGRkYgZ2VsZXNlbj8pIGFuZ2VodDogTmV0dGVyIFZlcnN1Y2gsIGFiZXIgd2VpdGdlaGVuZAp3aXJrdW5nc2xvcy4gRGllIEdFWiBrYXVmdCB2b24gdmVyc2NoaWVkZW5lbiBTZWl0ZW4gRGF0ZW4gZWluLiBWb2VsbGlnCmxlZ2l0aW0sIHdlbm5nbGVpY2ggbmVydmlnLgoKRGEgd2FyIGRvY2ggZGVyIHZlcmR1dHp0ZSBLYXR6ZW5iZXNpdHplciwgZGVzc2VuIEhhdXN0dWVyIHp1ciBaYWhsdW5nIApkZXIgUnVuZGZ1bmtnZWJ1ZWhyZW4gYW5nZWhhbHRlbiB3dXJkZS4gTnVyIHdlaWwgZGFzIEhlcnJjaGVuIGluCmVpbmVtIEthdHplbmZ1dHRlcnByZWlzYXVzc2NocmVpYmVuIGRlbiBOYW1lbiBkZXIgS2F0emUgYW5nYWIuLi4KCkEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQaG9ib3MsIDIyLiBTZXAgMjAwNCwgMjI6Mjg6MjkpOgp+IyEgcm49QW5hdG9sIHJ0PTEwOTU4ODE5NzYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpBbHNvIG1laW5lIEhhdXN0dWVyIHNpZWh0IGdhciBuaWNodCBmZXJuIDopCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQYWRyZWljLCAyMi4gU2VwIDIwMDQsIDIzOjUxOjUyKToKfiMhIHJuPUFuYXRvbCBydD0xMDk1ODgxOTc2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKWnVtIGVpbmVuIGthbm5zdCBEdSBhbnN0YXR0IGRlciBMb2VzY2h1bmcgYXVjaCBkaWUgU3BlcnJ1bmcgZGVyIEFkcmVzc2UKYmVhbnRyYWdlbiAtIGFiZXIgZGFydW0gZ2luZyBlcyBlaWdlbnRsaWNoIG5pY2h0LiBFcyBoaWVzcyBkaWUgd29sbGVuIGxhbmdlCm1pdCBEaXIgcnVtZGlza3V0aWVyZW4gdW5kIGVpbmUgQWJtZWxkdW5nIG5pY2h0IHp1ciBLZW5udG5pcyBuZWhtZW4uIFdlbm4gRHUKZGllIExvZXNjaHVuZyBiZWFudHJhZ3N0LCBnZWh0IGRhcyBuaWNodCBzbyBsZWljaHQuClp1bSBlcnN0ZW46IERhcyBnYW56ZSB3aXJkIGF1ZiBlaW5tYWwgdm9uIGdhbnogYW5kZXJlbiBMZXV0ZW4gYmVhcmJlaXRldCB1bmQKbmljaHQgbWVociB2b20gMDgxNSBTYWNoYmVhcmJlaXRlci4gRGVyIEZhbGwgd2lyZCB1ZWJlcnBydWVmdCB1bmQgc2llIG11ZXNzZW4Kc2ljaCB1ZWJlcmxlZ2VuIG9iIFNpZSBkZXIgTWVpbnVuZyBzaW5kIERpciBuYWNod2Vpc2VuIHp1IGtvZW5uZW4gZGFzIER1CnphaGx1bmdzcGZsaWNodGlnIGJpc3QgLSBkZW5uIG5pY2h0IER1IG11c3N0IElobmVuIGV0d2FzIGJld2Vpc2VuLCBzb25kZXJuIHNpZQpEaXIuIEVpbmUgV2VpZ2VydW5nIGRpZSBBZHJlc3NlIHp1IGxvZXNjaGVuIG11ZXNzZW4gU2llIGRlbQpMYW5kZXNkYXRlbnNjaHV0emJlYXVmdHJhZ2VuIGltIFp3ZWlmZWwgZ3V0IGJlZ3J1ZW5kZW4ga29lbm5lbiAtIGRhIGJyYXVjaGVuClNpZSBkYW5uIHNjaG9uIEZha3Rlbi4gS29tbWVuIFNpZSBkZXIgTG9lc2NodW5nIGplZG9jaCBuYWNoLCBpc3QgRGVpbmUKQWJtZWxkdW5nIGVyc3RtYWwga29tcGxldHQgdm9sbHpvZ2VuLCBkZW5uIFNpZSBrb2VubmVuIHNpY2ggbmljaHQgbWVociBkYXJhdWYKYmVydWZlbiAtIGRpZSBEYXRlbiB3dXJkZW4gamEgZ2Vsb2VzY2h0LiBOYXR1ZXJsaWNoIGtvZW5uZW4gU2llIGRpZSBBZHJlc3NlCm5ldSBlaW5rYXVmZW4gLSBhYmVyIGRhbm4gYmlzdCBEdSBpbiBkZXIga29tZm9ydGFibGVuIFNpdHVhdGlvbiBzaWUgZXJzdG1hbApnZXRyb3N0IGlnbm9yaWVyZW4genUga29lbm5lbi4KRGFzIGdhbnplIGlzdCBzaWNoZXIga2VpbiBBbGxoZWlsbWl0dGVsIGFiZXIgZXMgendpbmd0IHNpZSBkYXp1IHNpY2ggenUKZW50c2NoZWlkZW4gb2IgU2llIGEpIGdlcmljaHRsaWNoIGRhcyBnYW56ZSBkdXJjaHNldHplbiB3b2xsZW4gKHdhcyBEdSBuaWNodAp6dSBmdWVyY2h0ZW4gaGFzdCB3ZW5uIER1IGltIFJlY2h0IGJpc3QpIG9kZXIgYikgUnVoZSBnZWJlbi4KCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoUGhvYm9zLCAyMy4gU2VwIDIwMDQsIDExOjAzOjE2KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NTg4OTkxMiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCldhcyBpc3QgZWlnZW50bGljaCBzbyBzY2hsaW1tIGFuIGdlbGVnZW50bGljaGVyIFBvc3Qgdm9uIGRlciBHRVo/CkZ1ZXIgZGllLCBkaWUgZXMgaW50ZXJlc3NpZXJ0LCB3YXMgZGllIEdFWiBzbyBmdWVyIFNjaHJlaWJlbiB2ZXJzY2hpY2t0LApoYWJlIGljaCBtYWwgZWluIHBhYXIgQnJpZWZlIGF1cyBkZW4gbGV0enRlbiBKYWhyZW4gZWluZ2VzY2FubnQuIE1hbiAKYmVhY2h0ZSBkZW4gZ2VzY2hpY2t0ZW4gV2VjaHNlbCBpbSBUb25mYWxsIGRlciBCcmllZmUuCihBZXJnZXJsaWNoIGlzdCBudXIsIGRhc3MgZGllIFJ1ZWNrc2VpdGVuIGltbWVyIGJlc2NocmllYmVuIHNpbmQsIGQuaC4KbWFuIGthbm4gZGFzIG5vY2ggbmljaHQgbWFsIGFscyBTY2htaWVycGFwaWVyIHZlcndlbmRlbi4pCgoKd3d3LnJ1bnluLmRlL2dlei9nZXouaHRtCihqZSBJbWFnZSBjYS4gNTAwa0IpCgpQaG9ib3MgLSBzZWl0IGRyZWkgSmFocmVuIGZlcm5zZWhhYnN0aW5lbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMy4gU2VwIDIwMDQsIDExOjEyOjAzKToKfiMhIHJuPVBob2JvcyBydD0xMDk1OTMwMTk2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKSEloaWhpaGloaS4uLi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFyY3VzLCAyMy4gU2VwIDIwMDQsIDExOjEyOjQ5KToKfiMhIHJuPVBob2JvcyBydD0xMDk1OTMwMTk2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKS2xhc3NlLgoKQWJlciBpY2ggc2VoZSwgZHUgaGF0dGVzdCBub2NoIGtlaW5lIFBvc3Qgdm9uIHp3ZWl0ZXIgSGFuZCBJbmthc3NvClVudGVybmVobWVuLgoKRGllIGhhYiBpY2ggZGFubiBpcmdlbmR3YW5uIGJla29tbWVuIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQYWRyZWljLCAyMy4gU2VwIDIwMDQsIDExOjE5OjM5KToKfiMhIHJuPVBob2JvcyBydD0xMDk1OTMwMTk2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKSWNoIGJlbmVpZGUgRGljaCwgZGFzIGtsaW5ndCBzZWhyIGFtdWVzYW50IC0gbGVpZGVyIGhhYiBpY2ggbmVuIEZlcm5zZWhlci4uLi4KQWJlciBlcyB6ZWlndCB3aWUgd2VuaWcgTWl0dGVsIHNpZSB3aXJrbGljaCBpbiBkZXIgSGFuZCBoYWJlbiwgd2VubiBTaWUgaW1tZXIKd2llZGVyIGJsb3NzIGRyb2hlbi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAyMy4gU2VwIDIwMDQsIDExOjQxOjQ1KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NTkzMTE3OSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClB1dHppZyBmaW5kZSBpY2gsIGRhc3MgdmVyc3VjaHQgd2lyZCwgbWl0IGRlbiAxMDAwIEV1cm8gQnVzc2dlbGQgZnVlciAKZmFsc2NoZSBBbm1lbGR1bmcgZWluZSBBdXNrdW5mdCB6dSBlcnp3aW5nZW4uIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE1lZGljLCAyMy4gU2VwIDIwMDQsIDEyOjAyOjQ1KToKfiMhIHJuPVpvb2sgcnQ9MTA5NTkzMjUwNSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkljaCBiZWtvbW1lIGhpZXIgKG9mZmVuYmFyIHdlaWwgU3R1ZGVudGVud29obmhlaW0pIHNvIGV0d2EgMiogaW0gSmFociBCZXN1Y2gKdm9uIEdFWi1MZXV0ZW4uIFVuYW5nZW1lbGRldCBuYXR1ZXJsaWNoIHVuZCB6dSBkZW4gbHVzdGlnc3RlbiBUYWdlcy0gdW5kCldvY2hlbnplaXRlbiAoenVtIEJlaXNwaWVsIFNvbm50YWdhYmVuZHMgdW0gOC4uLi4pLiBVbmQgcmVnZWxtYWVzc2lnIHRlaWx0IG1hbgptaXIgbWl0LCBpY2ggd3VlcmRlIGtlaW5lIEdFWi1HZWJ1ZWhyZW4gemFobGVuIHVuZCBpbSBIaW50ZXJncnVuZCB3dWVyZGUgbWFuCmRvY2ggZ3JhZGUgZGVuIEZlcm5zZWhlciBsYXVmZW4gaG9lcmVuLgpEYXMga29taXNjaGUgZGFyYW4gaXN0LCBkYXNzIGRpZSBHRVogc2Nob24gc2VpdCBKYWhyZW4gcmVnZWxtYWVzc2lnIGlocmUKQmVpdHJhZWdlIHZvbiBtZWluZW0gS29udG8gYWJidWNodC4gRGFzIGJla29tbWVuIHNpZSBoaW4uIEljaCBoYXR0ZSBtaWNoLCBhbHMKaWNoIGhpZXJoZXIgdW1nZXpvZ2VuIGJpbiwgYXVjaCBicmF2IHVtZ2VtZWxkZXQsIHVuZCB6d2FyIHZpYSBJbnRlcm5ldC4gIkRhbm4Kc2VpIGRhcyB3b2hsIG5pY2h0IGFuZ2Vrb21tZW4iIGJlaGF1cHRldCBtYW4gcmVnZWxtYWVzc2lnLiBLYW5uIG51ciBuaWNodApzZWluLCBkZW5uIHdlbm4gZXMgbmljaHQgYW5nZWtvbW1lbiB3YWVyZSwgaGFldHRlIG1hbiB3b2hsIGthdW0gbWVpbmUgbmV1ZQpLb250b251bW1lciBzbyBzY2hvZW4gcmVnZWxtYWVzc2lnIGJlbGFzdGVuIGtvZW5uZW4uIERhcmF1ZiBmb2xndCBkYW5uIGltbWVyCmRpZSBCaXR0ZSBuYWNoIG1laW5lciBUZWlsbmVobWVybnVtbWVyIHVuZCBlaW5lIHRlbGVmb25pc2NoZSBSdWVja2ZyYWdlIGJlaQpkZXIgWmVudHJhbGUuIE1hbiB3dWVyZGUgZGVuIERhdGVuc2F0eiBrb3JyaWdpZXJlbi4gU2VpdCBkZW0gbGV0enRlbiBCZXN1Y2gKaGFiZSBpY2ggbWlyIGFuZ2V3b2VobnQsIGRpZSBMZXVlIG1pdCAiYmlzIHp1bSBuYWVjaHN0ZW4gTWFsIiB6dQp2ZXJhYnNjaGllZGVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQmllbGVmZWxkLCAyMy4gU2VwIDIwMDQsIDEyOjA1OjIwKToKfiMhIHJuPU1lZGljIHJ0PTEwOTU5MzM3NjUgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJY2ggaGFiIHZvbiBkZW0gVmVyZWluIHNlaXQgMiAxLzIgSmFocmVuIG5peCBtZWhyIGdlaG9lcnQuIEhhYmVuIG1pY2gKd29obCB2ZXJnZXNzZW4uLi4KCi1CaWVsZWZlbGQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChaemFyenp0LCAyMy4gU2VwIDIwMDQsIDEyOjI2OjE4KToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMDk1OTMzOTIwIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKQWNod2FzLiBEaWUgbWFjaGVuIG51ciBzZWl0IDIgMS8yIEphaHJlbiBTaXR6dW5nZW4gd2VnZW4gZGVyCkJpZWxlZmVsZC1WZXJzY2h3b2VydW5nLgoKWnouCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjMuIFNlcCAyMDA0LCAxMjoyOTo1Mik6Cn4jISBybj1NZWRpYyBydD0xMDk1OTMzNzY1IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRGFzIGtvZW5udGUgc2VpbmUgVXJzYWNoZSBpbiBkZXIgZnJlaWJlcnVmbGljaGVuIFN0ZWxsdW5nIGRlcyBHRVotR2VidWVocmVuLQpiZWF1ZnRyYWd0ZW4gaGFiZW4uIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNaW5nbywgMjMuIFNlcCAyMDA0LCAxMzoxOTowMyk6Cn4jISBybj1ab29rIHJ0PTEwOTU5MzUzOTIgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJbnRlcmVzc2FudGUgU2NocmlmdHNhZXR6ZS4gSXJnZW5kd2llIHNpbmQgZGllIEp1bmdzIGJlaSB1bnMgbmllIHNvIGFyZwpncmltbWlnIGdld29yZGVuLCBiZXZvciBzaWUgdW5zIG5hY2ggZGVyIEFibWVsZHVuZyB2b3IgendlaSBKYWhyZW4gdmVyZ2Vzc2VuCmhhYmVuLiBBYmVyIGRlbW5hZWNoc3QgZHVlcmZ0ZW4gc2llIHNpY2hlcmxpY2ggd2llZGVyIGFua2xvcGZlbiwgc28gd2VnZW4KbmV1ZXIgV29obnVuZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjMuIFNlcCAyMDA0LCAxMzoyNTozMyk6Cn4jISBybj1NaW5nbyBydD0xMDk1OTM4MzQzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKQmVrYWVtcGYgc2llIG1pdCBkZW0gUXVpcmwhCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLi4ubWl0IGhlaXNzZW4gSGltYmVlcmVuIHVuZCBTYWhuZSAoTW9yZ290aCwgMjQuIFNlcCAyMDA0LCAwNzo1MjowNSk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzUxNDAzCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IC4uLm1pdCBoZWlzc2VuIEhpbWJlZXJlbiB1bmQgU2FobmUgKE1pbmdvLCAyNC4gU2VwIDIwMDQsIDExOjM4OjEyKToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5NjAwNTEyNSByZz13d3cKfiMhIHRpZD0xMDk2MDA1MTI1CkRlbiB2b24gZG9ydCB2ZXJsaW5rdGVuIFRlbGVwb2xpcy1BcnRpa2VsIGZpbmRlIGljaCByZWNodCBzY2hsdWVzc2lnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBTdWVkZGV1dHNjaGUuLi4gKFJvbmRhLCAyNS4gU2VwIDIwMDQsIDIwOjU2OjM3KToKLi4uIHVuZCBkaWUgQnVzZW5ib3RzY2hhZnQuIEljaCBnbGF1YmUsIHdpciBzb2xsdGVuIGtlaW5lIE1HLVQtU2hpcnRzIG1laHIKaGVyYXVzYnJpbmdlbi4gT2RlciBkb2NoPwoKaHR0cDovL3d3dy5zdWVkZGV1dHNjaGUuZGUva3VsdHVyL2FydGlrZWwvNDg2LzM5NDQ3LwoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgU3VlZGRldXRzY2hlLi4uIChOb25uZSwgMjYuIFNlcCAyMDA0LCAwOTozMToxMik6Cn4jISBybj1Sb25kYSBydD0xMDk2MTM4NTk3IHJnPXd3dwp+IyEgdGlkPTEwOTYxMzg1OTcKV2VubiBzaWNoIGVpbmVuIEZyYXUgZWluZSBULVNoaXJ0IG1pdCBBdWZkcnVjayB0cmFlZ3QsIG5laG1lIGljaCBtaXIgYXVjaApoZXJhdXMsIGRlbiBUZXh0IGluIFJ1aGUgenUgbGVzZW4uIFNjaGF1dCBzaWUgbWljaCB2ZXJuaWNodGVuZCBhbiwgZ3JpbnNlIGljaAppaHIgaW5zIEdlc2ljaHQuIFdhcyBzb2xsIGRhcyBhdWNoPyBXZW5uIHNpZSBuaWNodCB3aWxsLCBkYXNzIG1hbiBpaHIgYXVmIGRpZQpPYmVyd2VpdGUgc3RhcnJ0LCBzb2xsIHNpZSB3YXMgYW5kZXJlcyBhbnppZWhlbi4gSWNoIGhhYmUgZGFtaXQgdWViZXJoYXVwdAprZWluZSBQcm9ibGVtZS4gQWJlciBkZXIgVGV4dCBpc3Qgd2lya2xpY2ggYW11ZXNhbnQgenUgbGVzZW4uIER1IEZyYXUsIGljaApNYW5uLCB3byBCZXR0PwoKTm9ubmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpZSBTdWVkZGV1dHNjaGUuLi4gKEJhbWJpLCAyNi4gU2VwIDIwMDQsIDE0OjA2OjU2KToKfiMhIHJuPU5vbm5lIHJ0PTEwOTYxODM4NzIgcmc9d3d3Cn4jISB0aWQ9MTA5NjEzODU5NwpJY2ggaGFiZSBlaW5lIChlbmdsaXNjaGUpIFNpZ25hdHVyIGdlbGVzZW4sIGRpZSBpY2ggaGllciB1ZWJlcnNldHp0CndpZWRlcmdlYmVuIG1vZWNodGUuIFNpZSBzY2hlaW50IGlyZ2VuZHdpZSB6dW0gVGhlbWEgenUgcGFzc2VuLgoiWnUgYmVoYXVwdGVuLCBKYXZhIHNlaSB0b2xsLCB3ZWlsIGVzIGF1ZiBqZWRlciBQbGF0Zm9ybSBmdW5rdGlvbmllcmUsIGlzdCBkYXMKR2xlaWNoZSwgd2llIHp1IHNhZ2VuLCBBbmFsc2V4IHNlaSB0b2xsLCB3ZWlsIGVzIG1pdCBqZWRlbSBHZXNjaGxlY2h0CmZ1bmt0aW9uaWVyZS4iCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEaWUgU3VlZGRldXRzY2hlLi4uIChab29rLCAyNi4gU2VwIDIwMDQsIDE0OjE5OjEwKToKfiMhIHJuPUJhbWJpIHJ0PTEwOTYyMDA0MTYgcmc9d3d3Cn4jISB0aWQ9MTA5NjEzODU5NwpEYXMgdmVyc3RlaGUgaWNoIG5pY2h0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERpZSBTdWVkZGV1dHNjaGUuLi4gKEJhbWJpLCAyNi4gU2VwIDIwMDQsIDE0OjIwOjQyKToKfiMhIHJuPVpvb2sgcnQ9MTA5NjIwMTE1MCByZz13d3cKfiMhIHRpZD0xMDk2MTM4NTk3CldhcyB2ZXJzdGVoc3QgRHUgbmljaHQ/IERpZSBncnVuZHNhZXR6bGljaGUgQXVzc2FnZSBvZGVyIGRlbiBUaGVtZW5iZXp1Zz8KQWxzbyBUaGVtZW5iZXp1ZzogV2VubiBEdSBtaXQgZGVtIFQtU2hpcnQgKGFscyBNYW5uKSB2b3IgZWluZW0gMi1NZXRlci1NZXR6Z2VyCnN0ZWhzdCB1bmQgZGVyIERpY2ggbHVlc3Rlcm4gYW5ncmluc3QuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IERpZSBTdWVkZGV1dHNjaGUuLi4gKFpvb2ssIDI2LiBTZXAgMjAwNCwgMTQ6MjI6MTYpOgp+IyEgcm49QmFtYmkgcnQ9MTA5NjIwMTI0MiByZz13d3cKfiMhIHRpZD0xMDk2MTM4NTk3CkljaCBzdGVoZSBkaWUgeml0aWVydGUgU2lnbmF0dXIgbmljaHQuIE1pciBsZXVjaHRldCBkYSBpcmdlbmR3aWUgZGllIApBbmFsb2dpZSBuaWNodCBzbyBnYW56IGVpbi4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERpZSBTdWVkZGV1dHNjaGUuLi4gKEdyaW1tYm9ybiwgMjYuIFNlcCAyMDA0LCAxNDoyNToyNik6Cn4jISBybj1ab29rIHJ0PTEwOTYyMDEzMzYgcmc9d3d3Cn4jISB0aWQ9MTA5NjEzODU5NwpOYWphLCBvYiBncmllY2hpc2NoIG9kZXIgc3BhbmlzY2ggLSBkaWUgR2VtZWluc2Fta2VpdCBpc3Qgd29obCBkZXIKTWl0dGVsbWVlcnJhdW0uLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRGllIFN1ZWRkZXV0c2NoZS4uLiAoUm9uZGEsIDI2LiBTZXAgMjAwNCwgMTU6MjU6NDEpOgp+IyEgcm49Wm9vayBydD0xMDk2MjAxMzM2IHJnPXd3dwp+IyEgdGlkPTEwOTYxMzg1OTcKKmh1c3QqIG5hamEsIGRhcyBXb3J0ICJBbmFsb2dpZSIgcGFzc3QgaW4gZGVtIFp1c2FtbWVuaGFuZyBzY2hvbiBpcmdlbmR3aWUKKCJCaW9sb2dpZSIgaXN0IElNSE8gZGllIExlaHJlIHZvbiBkZXIgQmlvc3BoYWVyZSwgb2Rlcj8pLiBVbmQgQmFtYmksIHdlbm4gZGVyCk1ldHpnZXIgZWluZW0gS2VybCBhdWYgZGVuIHByYWVjaHRpZyBhdXNnZWJpbGRldGVuIEJ1c2VuIHNjaGF1ZW4ga2Fubi4uLiBkYW5uCnN0aW1tdCBkYSBhdWNoIHdhcyBuaWNodC4KClJvbmRhCgpQczogU3Bhc3NhbnplaWdlciBiaXR0ZSBzZWxic3QgYW4gZGVuIGVudHNwcmVjaGVuZGVuIFN0ZWxsZW4gZWluZnVlaHJlbi4KRGFua2UuClBQczogTmVpbiwgZGFzIFBTIHdhciBlaWdlbnRsaWNoIGp1Z2VuZGZyZWkgZ2VtZWludC4gRWlnZW50bGljaC4gKmh1c3QqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaW1zLi4uIChPZ28sIDI2LiBTZXAgMjAwNCwgMTk6NTc6NDcpOgpodHRwOi8vd3d3LmxpdmVqb3VybmFsLmNvbS91c2Vycy9uZW1hdG9kZGl0eS8xMzM3MTEuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFja2VyIChQZXJzY2hlaWQpIChWaW5jZW50LCAyNi4gU2VwIDIwMDQsIDIzOjAxOjM5KToKRWluIFBlcnNjaGVpZC1DYXJ0b29uIHp1bSBUaGVtYSBIYWNrZXIuIDopCgpodHRwOi8vaW1nLndlYi5kZS9jLzAwLzUzLzg3Lzc4LjQyMAoKICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPU0NFIHdpcmQgV2FobGJlb2JhY2h0ZXIgaW4gZGVuIFVTQSBzcGllbGVuLi4uIChPZ28sIDI3LiBTZXAgMjAwNCwgMTE6NTY6MzQpOgoiVGhlIGluc3RpdHV0aW9uIG5vcm1hbGx5IG1vbml0b3JzIGVsZWN0aW9ucyBpbiB0aGlyZCB3b3JsZCBjb3VudHJpZXMgaW4KdHJhbnNpdGlvbiwgYW5kIGluIGNyaXNpcyBhcmVhcyBvciByZWdpb25zIHdoZXJlIGNpdmlsIHdhcnMgaGF2ZSBkZXN0YWJpbGl6ZWQKdGhlIHBvbGl0aWNhbCBwcm9jZXNzLiBJbiBub3ZlbWJlciwgdGhlIE9TQ0Ugd2lsbCBiZSBtb25pdG9yaW5nIGxvY2FsIGFuZApzdGF0ZSBlbGVjdGlvbnMgaW4gS2F6YWtoc3RhbiwgU2tvcGplLCBFYXN0ZXJuIENvbmdvLCBPdWFnYWRvdWdvdSBhbmQuLi4gdGhlClVuaXRlZCBTdGF0ZXMuIgoKaHR0cDovL3NsYXNoZG90Lm9yZy9hcnRpY2xlLnBsP3NpZD0wNC8wOS8yNi8yMjE3MjMwCm1pdCB3YWhuc2lubmlnIHZpZWxlbiBLb21tZW50YXJlbgpRdWVsbGUgZGFmdWVyIGlzdDoKaHR0cDovL25ld3MuYmJjLmNvLnVrLzIvaGkvYW1lcmljYXMvMzY2Njg5OC5zdG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPU0NFIHdpcmQgV2FobGJlb2JhY2h0ZXIgaW4gZGVuIFVTQSBzcGllbGVuLi4uIChab29rLCAyNy4gU2VwIDIwMDQsIDEyOjAxOjUwKToKfiMhIHJuPU9nbyBydD0xMDk2Mjc4OTk0IHJnPXd3dwp+IyEgdGlkPTEwOTYyNzg5OTQKV2VpYSwgd2FzIHdpcmQgYmVpIGRlcmVuIEJlcmljaHQgd29obCBoZXJhdXNrb21tZW4uLi4uIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPU0NFIHdpcmQgV2FobGJlb2JhY2h0ZXIgaW4gZGVuIFVTQSBzcGllbGVuLi4uIChBbnRoZWEsIDI3LiBTZXAgMjAwNCwgMTI6MDg6NDQpOgp+IyEgcm49Wm9vayBydD0xMDk2Mjc5MzEwIHJnPXd3dwp+IyEgdGlkPTEwOTYyNzg5OTQKVmllbGxlaWNodCB3aXJkIGRhbm4gYWxzIEZvbGdlIGRlcyBCZXJpY2h0ZXMgaW4gZGVuIFVTQSBkaWUgRGVtb2tyYXRpZQplaW5nZWZ1ZWhydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9TQ0Ugd2lyZCBXYWhsYmVvYmFjaHRlciBpbiBkZW4gVVNBIHNwaWVsZW4uLi4gKEhvdXNlaG9sZGVyLCAyNy4gU2VwIDIwMDQsIDEyOjIyOjAzKToKfiMhIHJuPUFudGhlYSBydD0xMDk2Mjc5NzI0IHJnPXd3dwp+IyEgdGlkPTEwOTYyNzg5OTQKZGFzIGtvZW5udGVuIGRpZSB1c2EgZGFubiBqYSBtaWxpdGFlcmlzY2ggdW50ZXJzdHVldHplbiwgZGllIGhhbSBkYXJpbiBVZWJ1bmcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPU0NFIHdpcmQgV2FobGJlb2JhY2h0ZXIgaW4gZGVuIFVTQSBzcGllbGVuLi4uIChDYXNzYW5kcmEsIDI3LiBTZXAgMjAwNCwgMTI6MjM6MjUpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTA5NjI4MDUyMyByZz13d3cKfiMhIHRpZD0xMDk2Mjc4OTk0Cm9kZXIgZGllIHRyZXRlbiBkYW5uIGF1cyBkZXIgT1NDRSBhdXMgdW5kIGVya2xhZXJlbiBzaWUgenVyClRlcnJvcm9yZ2FuaXN0YXRpb24uCgpDYXNzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT1NDRSB3aXJkIFdhaGxiZW9iYWNodGVyIGluIGRlbiBVU0Egc3BpZWxlbi4uLiAoT2dvLCAyNy4gU2VwIDIwMDQsIDEyOjI2OjE3KToKfiMhIHJuPUNhc3NhbmRyYSBydD0xMDk2MjgwNjA1IHJnPXd3dwp+IyEgdGlkPTEwOTYyNzg5OTQKQWVoLCBkYXMgRSBzdGVodCBmdWVyIEV1cm9wYS4uLi4KCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT1NDRSB3aXJkIFdhaGxiZW9iYWNodGVyIGluIGRlbiBVU0Egc3BpZWxlbi4uLiAoTWluZ28sIDI3LiBTZXAgMjAwNCwgMTI6MjY6MzEpOgp+IyEgcm49Q2Fzc2FuZHJhIHJ0PTEwOTYyODA2MDUgcmc9d3d3Cn4jISB0aWQ9MTA5NjI3ODk5NApJc3Qgc2llIGRhcyBuaWNodD8gU3RhYXRlbiBtaXQgc293YXMgdW5lZmZpemllbnRlbSB3aWUgZGVyIERlbW9rcmF0aWUgenUKYmVsYWVzdGlnZW4uIFdhaHJsaWNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE9TQ0Ugd2lyZCBXYWhsYmVvYmFjaHRlciBpbiBkZW4gVVNBIHNwaWVsZW4uLi4gKENhc3NhbmRyYSwgMjcuIFNlcCAyMDA0LCAxMjoyODo0Myk6Cn4jISBybj1NaW5nbyBydD0xMDk2MjgwNzkxIHJnPXd3dwp+IyEgdGlkPTEwOTYyNzg5OTQKamEgZGFzIEUgc3RlaHQgZnVlciBldXJvcGEgYWJlciBkaWUgbWlzY2hlbiBkYSB0cm90emRlbSBtaXQsIG9iIGFscyBNaXRnbGllZAp3ZWlzIGljaCBuaWNodCBhYmVyIGJldGVpbGlndCBzaW5kIHNpZS4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoR25vbWUsIDI4LiBTZXAgMjAwNCwgMDA6MzA6NTcpOgp+IyEgcm49UGhvYm9zIHJ0PTEwOTU5MzAxOTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1Mwp2b20ganBnLWZvcm1hdCBoYXN0IGR1IGFiZXIgc2Nob24gbWFsIGdlaG9lcnQsIGphPwo1MDBrQiBwcm8gYmlsZC4uLiBhbHNvIG5lZS4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoR3JpbW1ib3JuLCAyOC4gU2VwIDIwMDQsIDAwOjM0OjE1KToKfiMhIHJuPUdub21lIHJ0PTEwOTYzMjQyNTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpPY2gsIHdlbm4gRGljaCBkYXMgenVtIFN0YXVuZW4gYnJpbmd0LCBrYW5uIGljaCBEaXIgZ2VybmUgbWFsIGVpbiBqcGcgemVpZ2VuLApkYXMgd2VpdCB1ZWJlciA1MDBrIGhhdCwgZ2FyIGtlaW4gUHJvYmxlbS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEdub21lLCAyOC4gU2VwIDIwMDQsIDAwOjQwOjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDk2MzI0NDU1IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKZGFzcyBkdSBkYXMgaGFzdCwgYmV6d2VpZmxlIGljaCBuaWNodC4KZXMgZ2luZyBtaXIgYWJlciBnZXJhZGUgbWVociB1bSBkaWUgYmVyZWl0c3RlbGx1bmcgdm9uIGJpbGRlcm4gaW0gbmV0ei4KdW5kIGRhIHNvbGx0ZSBqcGcgbnVubWFsIDEuIHdhaGwgc2Vpbiwgd2VpbCBtYW4gbWl0IGRlbSBmb3JtYXQKZWluZSBtaW5pbWFsZSBkYXRlaWdyb2Vzc2UgYmVpIG1heGltYWxlciBxdWFsaXRhZXQgcmVhbGlzaWVyZW4Ka2Fubi4gYmV0b251bmcgbGllZ3QgYXVmICJrYW5uIi4KCm51ciBzbyBhbHMgZXJrbGFlcnVuZywgZGFtaXQgYXVjaCBkdSBkYXMgdmVyc3RlaHN0LgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNaW5nbywgMjguIFNlcCAyMDA0LCAwMDo0MjowOSk6Cn4jISBybj1Hbm9tZSBydD0xMDk2MzI0ODUzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKQWxzbyBpY2ggbGVpZGUgaW1tZXIgbWl0IG1laW5lbiBCaWxkZXJuLCB3ZW5uIGljaCBmdWVyIGV1Y2ggTW9kZW1mdXp6aXMgZGllCktvbXByZXNzaW9uIGF1ZiAidmVyc2Nod29tbWVuIiBob2Noc2NocmF1YmVuIG11c3MgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWm9vaywgMjguIFNlcCAyMDA0LCAwMDo0MjozNyk6Cn4jISBybj1Hbm9tZSBydD0xMDk2MzI0ODUzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKIm1pbmltYWwgLi4uIGJlaSBtYXhpbWFsIC4uLiAiIGtsaW5ndCBmdWVyIG1pY2ggaW1tZXIgZWluIHdlbmlnIG5hY2ggZGVyCmFsdGVuIGJhZWNrZXItbWF4aW1lOiAiYmFja2UgZGllIG1laXN0ZW4gYnJvZXRjaGVuIG1pdCBkZW0gd2VuaWdzdGVuIG1laGwhIgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNaW5nbywgMjguIFNlcCAyMDA0LCAwMDo0Mjo1Nyk6Cn4jISBybj1ab29rIHJ0PTEwOTYzMjQ5NTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpTYWVnZW1laGw/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKENyb2Z0LCAyOC4gU2VwIDIwMDQsIDA5OjMwOjMwKToKfiMhIHJuPUdub21lIHJ0PTEwOTYzMjQ4NTMgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpKdW5nZSwgZGFzIHNpbmQgLnBuZ3MuICBXaWVzbyB0b2xlcmllcnN0IGR1IFBORyBuaWNodCBhbHMgQWx0ZXJuYXRpdmUKenUgSlBHPyAgQnJhdWNoc3QgZHUgZWluIGtsYWVyZW5kZXMgR2VzcHJhZWNoIG1pdCBlaW5lbSBJbmZvcm1hdGlrZXI/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFBhZHJlaWMsIDI4LiBTZXAgMjAwNCwgMTA6MTQ6NTgpOgp+IyEgcm49R25vbWUgcnQ9MTA5NjMyNDg1MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkVzIHplaWd0IHdpZSB3ZW5pZyBBaG51bmcgRHUgdm9uIEJpbGRmb3JtYXRlbiBoYXN0IHdlbm4gRHUgcGF1c2NoYWwgYmVoYXVwdGVzdApqcGcgaGFiZSBtaW5pbWFsZSBHcm9lc3NlLiBJbiBCaWxkZXJuIG1pdCB3ZW5pZ2VuIEZhcmJlbiBpc3QgLmdpZiBkYXMKR3JhZmlrZm9ybWF0IGRlciBXYWhsIHVuZCBtaXQgQWJzdGFuZCBhbSBrbGVpbnN0ZW4uIEluIGRpZXNlbSBGYWxsIGtvbW1lIGljaAphdWYgcnVuZCAxMDZrYi4gV2VubiBtYW4gTGV1dGVuIGRpZSBzaWNoIGZyZXVuZGxpY2hlcndlaXNlIGRpZSBNdWVoZSBtYWNoZW4Kc29ldHdhcyBpbnMgTmV0eiB6dSBzdGVsbGVuIHNjaG9uIHZvcndpcmZ0LCBkYXMgZmFsc2NoZSBCaWxkZm9ybWF0IHp1CnZlcndlbmRlbiwgc29sbHRlIG1hbiB3ZW5pZ3N0ZW5zIHNlbGJzdCBnZW51ZyBBaG51bmcgaGFiZW4gYXVjaCBkaWUgcmljaHRpZ2UKQWx0ZXJuYXRpdmUgYW56dWdlYmVuLgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE9nbywgMjguIFNlcCAyMDA0LCAxMjo1ODo1NSk6Cn4jISBybj1Hbm9tZSBydD0xMDk2MzI0MjU3IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKSlBHIGlzdCBnYW56IGdhbnogcGZ1aSwgenVtaW5kZXN0IGJlaSBXaW5kb3dzc3lzdGVtZW4sIGRpZSBuaWNodCBha3JpYmlzY2ggYXVmCmRlbSBuZXVzdGVuIFN0YW5kIGdlaGFsdGVuIHd1cmRlbjoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNTE1NDYKaHR0cDovL2l0LnNsYXNoZG90Lm9yZy9pdC8wNC8wOS8yNy8yMzE5MjIyLnNodG1sP3RpZD0xNzImdGlkPTIxOAoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQW50aGVhLCAyOC4gU2VwIDIwMDQsIDE0OjM2OjMzKToKfiMhIHJuPU9nbyBydD0xMDk2MzY5MTM1IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRGFzIHRyaWZmdCBmdWVyIEJNUHMgYWJlciBhdWNoIHp1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFBhZHJlaWMsIDI4LiBTZXAgMjAwNCwgMTU6MDU6MTIpOgp+IyEgcm49T2dvIHJ0PTEwOTYzNjkxMzUgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpVbmQgd2llc28gaXN0IGRlc2hhbGIgZGllIFZlcndlbmR1bmcgdm9uIC5qcGcgcGZ1aT8KV2VyIGRpZSBMdWVja2UgZ2VodCB1bmQgc2ljaGVyZ2VoZW4gd2lsbCB3aXJkIHNpY2ggcGF0Y2hlbiAtIHdlciBzaWUgbmljaHQKa2VubnQgd2lyZCBhdWNoIHdlaXRlcmhpbiBlaW5mYWNoIHNvIC5qcGcgbnV0emVuIC0gd2FzIGF1Y2gga2VpbiBQcm9ibGVtIGlzdApzb2xhbmcgZWJlbiBkaWVzZSBCaWxkZXIgbmljaHQgdmVyc2V1Y2h0IHNpbmQuLi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQaG9ib3MsIDI4LiBTZXAgMjAwNCwgMjA6NTI6MDEpOgp+IyEgcm49R25vbWUgcnQ9MTA5NjMyNDI1NyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkhtbSwgc2luZCBkb2NoIEpQRUdzLCB1bmQgc29nYXIgbnVyIGNhLiAya0IgZ3Jvc3MuIE9kZXIgaGFzdCBEdQpkYSBldHdhIGlyZ2VuZHdvIG1pdCBkZXIgTWF1cyBkcmF1ZiByYXVtZ2VrbGlja3Q/CgpOZWUsIG1hbCBpbSBFcm5zdDogRGllIERhdGVuIGxhZ2VuIGhhbHQgYWxzIFBOR3MgYXVmIGRlbSBSZWNobmVyLCAKd2VpbCBkYXMgdmVybHVzdGZyZWkga29tcHJpbWllcnQuIEljaCBoYWJlIG5pY2h0IGFuIEdyb2Vzc2Vub3B0aS0KbWllcnVuZyBnZWRhY2h0LCBkYSBpY2ggc2VociBzZWx0ZW4gZXR3YXMgaW5zIE5ldHogc3RlbGxlLgoKTmViZW5iZWksIGtlbm50IGplbWFuZCBlaW4gKGdlYnJhZXVjaGxpY2hlcykgRm9ybWF0LCBkYXMgei5CIGF1ZgpzbyBnZXNjYW5udGVuIEltYWdlcyBlaW5lIGJlc3NlcmUgdmVybHVzdGZyZWllIEtvbXByZXNzaW9uIChvZGVyIApoZWlzc3QgZGFzIEtvbXByaW1pZXJ1bmc/KSBhbHMgUE5HIGJpZXRldCAoYWxzbyBuaWNodCBmdWVyIHp1bSBpbnMgCk5ldHogc3RlbGxlbiBzb25kZXJuIGZ1ZXIgenVtIHZlcmx1c3RmcmVpIGF1ZmJld2FocmVuKT8KCgpQUzoKRGFua2UgZnVlciBkZW4gVGlwcCwgd2VubnMgYWxzIHBvc2l0aXZlIEtyaXRpayBnZW1laW50IHdhciwgaGFldHRlc3QgCkR1IG1pciBkYXMgYXVjaCBwZXIgTWFpbCBzY2hpY2tlbiBrb2VubmVuIDopCgpQUFM6CkZ1ZXIgZXZ0bC4gQnVmZmVyIE92ZXJmbG93cyBiZWkgZGVuIGpldHp0IHZlcmZ1ZWdiYXJlbiBKUEVHcwp1ZWJlcm5laG1lIGljaCBrZWluZSBWZXJhbnR3b3J0dW5nIDspCgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ2F0d2VhemxlLCAzMC4gU2VwIDIwMDQsIDA3OjI2OjU3KToKfiMhIHJuPUdub21lIHJ0PTEwOTYzMjQ4NTMgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpOdXIgZnVlciBkaWUgQWt0ZW4gOikKCkVyc3RlIFdhaGwgc29sbHRlIGltbWVyIFBORyBnZWggc2Vpbi4gSlBHIGlzdCBlaWdlbnRsaWNoIGJhaCBiYWgsIHdlaWwgZHUKZGFiZWkgImV4dHJlbSBncm9zc2UiIFZlcmx1c3RlIGVybGVpZGVzdC4gRGFyZiBpY2ggYXVmIGRpZSBNRy1QYXJ0eWJpbGRlciBkZXIKZXJzdGVuIEdlbmVyZWF0aW9uZW4gdmVyd2Vpc2VuLCBkaWUgaW4gZGVyIFZlcmdhbmdlbmhlaXQgYXVmZ3J1bmQgbWFuZ2VsZGVuClBsYXR0ZW5wbGF0emVzIG1hbCByaWdvcm9zIGF1ZiBqcGcga2xlaW5nZXJlY2huZXQgd3VyZGVuPyBFaWdlbnRsaWNoCm1pdHRsZXJ3ZWlsZSB1bmJyYXVjaGJhciwgZGllc2UgQmlsZGVyLiAKCkphLCBzdGltbXQsIFVyYWx0LU1TSUUgdW5kIE5ldHNjYXBlNCBrb21tZW4gbWl0IHBuZyBuaWNodCBrbGFyLiBBYmVyIGRhIGdpbHQKd29obCBtaXR0bGVyd2VpbGUgZWluICd3aG8gY2FyZXMnLSp6dWNrKi4KCkVpbiBwYWFyIEVtcGZlaGx1bmdzY2VudCwKICAgIFlUQwoKUFM6IENvb2wsIGVpbiBTYXR6IG9obmUgUHJhZWRpa2F0LiBVbmQgdHJvdHpkZW0gc2lubmJyaW5nZW5kIDopCiAgICBLYW5uIG1hbiBkZW4gYWxzIEJlaXNwaWVsIHZlcndlbmRlbj8gSXN0IGRhcyBLb21tYSBkYSByaWNodGlnPyAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChQYWRyZWljLCAzMC4gU2VwIDIwMDQsIDEwOjE2OjI5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk2NTIyMDE3IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRmFsc2NoLgpXZW5uIER1IHNjaG9uIGFsbGdlbWVpbmUgQXVzc2FnZW4gbWFjaGVuIHdpbGxzdCwgZGFubiBnaWx0IGF1Y2ggZnVlciBEaWNoOgpiaXR0ZSBuaWNodCBzbyBwYXVzY2hhbC4gRnVlciBCaWxkZXIgbWl0IHdlbmlnZW4gRmFyYmVuICh3aWUgei5CLiBzb2xjaGUKU2NhbnMpIGlzdCAuZ2lmIGVpZ2VudGxpY2ggZGFzIGFkYWVxdWF0ZSBEYXRlaWZvcm1hdC4gQXVjaCAuanBnIGlzdCBuaWNodCB2b24Kdm9ybmhlcmVpbiBiYWggYmFoLCB3ZWlsIER1IGRhYmVpIG5pY2h0ICJleHRyZW0gZ3Jvc3NlIFZlcmx1c3RlIGVybGVpZGVzdCIsCnNvbmRlcm4gZGVuIFZlcmx1c3RncmFkIF9zZWxic3QgYmVzdGltbWVuXyBrYW5uc3QuIEJsb3NzIHdlaWwgZXMgdmllbGUgTGV1dGUKZ2lidCBkaWUgZGFtaXQgbmljaHQgcmljaHRpZyB1bWdlaGVuIGtvZW5uZW4sIGFlbmRlcnQgZGFzIG5pY2h0cyBkYXJhbiBkYXMgZXMKZGVubm9jaCBlaW4gemllbWxpY2ggZ2VuaWFsZXMgRm9ybWF0IGlzdCAtIGRhcyBmdWVyIHZpZWxlIEFud2VuZHVuZ3NmYWVsbGUKb3B0aW1hbCBpc3QuCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ2F0d2VhemxlLCAzMC4gU2VwIDIwMDQsIDEwOjQ1OjExKToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NjUzMjE4OSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCk5pY2h0IGZhbHNjaC4KUGF1c2NoYWwgaXN0IGdhbnoga2xhciBwbmcgcmljaHRpZy4gYmVzdGltbXQgZ2lidCBlcyBTcGV6aWFsZmFlbGxlLCB3byBtYW4gd2FzCmFuZGVyZXMgYmVudXR6ZW4gd2lsbCAoamEsIFRJRiBpc3QgbWFuY2htYWwgZ2FueiBudWV0emxpY2gpLiAKCkdJRiBoYXQgZGllc2UgdWVibGVuIGxpemVuenJlY2h0bGljaGVuIFByb2JsZW1lIChpc3QgZGFzIFBhdGVudCBuaWNodCBiYWxkCmFiZ2VsYXVmZW4/KS4gSGllciBrb21tdCBlcyBkcmF1ZiBhbiwgd2FzIGR1IG1pdCBkZW0gR0lGLUJpbGQgbWFjaGVuIHdpbGxzdC4KV2VubiBpY2hzIGF1ZiBlaW5lIG9mZmVudGxpY2hlIFdlYnNlaXRlIHN0ZWxsZSwgZmFlbmd0IGRhIHNjaG9uIEdyYXV6b25lIGFuPwpJY2ggaGFiIGtlaW5lIEx1c3QgdWViZXIgcmVjaHRsaWNoZSBQcm9ibGVtZSBuYWNoenVkZW5rZW4sIGFsc28gbGFzcyBpY2ggR0lGLgoKSlBHIF9pc3RfIHZlcmx1c3RiZWhhZnRldC4gRm91cmllcnRyYW5zZm9ybWF0aW9uIGlzdCBiZXN0aW1tdCBnYW56IGZhbmN5LCB1bmQKa29tcHJpbWllcnQgYmVzdGltbXQgYXVjaCBnYW56IGd1dCwgYWJlciBkaWUgUXVhbGl0YWV0IHVuZCBPcmlnaW5hbGl0YWV0CmRlaW5lciBCaWxkZXIgaXN0IGZ1dHNjaC4gS2xhciBrYW5uIG1hbiBkZW4gVmVybHVzdGdyYWQgc2VsYnN0IGJlc3RpbW1lbiB1bmQKc29nYXIgZGllIEtvbXByaW1pZXJ1bmcgZ2FueiB3ZWdsYXNzZW4uIEFiZXIgZGFubiB3ZXJkZW4gZGllIEJpbGRlciB3aWVkZXIKcmllc2VuZ3Jvc3MsIHVuZCBzaWUgbW9lZ2xpY2hzdCBrbGVpbnp1a29tcHJpbWllcmVuIHdhciBkb2NoIGRlciBXaXR6IGFuIGRlcgpBbmdlbGVnZW5oZWl0LCBvZGVyPyBNYW4gdGF1c2NodCBWZXJsdXN0IGdlZ2VuIERhdGVpZ3JvZXNzZSBlaW4uIEtlaW5lIGd1dGUKV2FobC4KClNvLCB1bmQgd2VubiBtYW4gdWViZXIgZGVuIGdhbnplbiBSb3R6IG5pY2h0IG5hY2hkZW5rZW4gd2lsbCwgbmltbXQgbWFuIFBORy4KRmVydGlnLiBLZWluIFN0cmVzcy4gRXJzdGUgV2FobCBhbHNvLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWFyY3VzLCAzMC4gU2VwIDIwMDQsIDEwOjU5OjU5KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk2NTMzOTExIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRGFzIEdJRiBQYXRlbnQgaXN0IHZvciBlaW4gcGFhciBXb2NoZW4gYWJnZWxhdWZlbi4gVW5zZXJlIG5hZWNoc3RlIFNVU0UgTGludXgKd2lyZCB3aWVkZXIgR0lGcyByaWNodGlnIGVuY29kZW4ga29lbm5lbiA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ3JvZnQsIDMwLiBTZXAgMjAwNCwgMTE6MDQ6MDEpOgp+IyEgcm49TWFyY3VzIHJ0PTEwOTY1MzQ3OTkgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpTaWVoZSBodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy80ODM1NyAsLSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoUGFkcmVpYywgMzAuIFNlcCAyMDA0LCAxMjoyMDo1Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA5NjUzMzkxMSByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCi53YXYgaXN0IGF1Y2ggZGFzIGVpbnppZyB3YWhyZSBTb3VuZGZvcm1hdCB1bmQgLm1wMyB0b3RhbGVyIE11ZWxsIC0gZGEgaGllcgp2ZXJsdXN0YmVoYWZ0ZXQgbWl0IEZvdXJpZXJ0cmFuc2Zvcm1hdGlvbiBnZWFyYmVpdGV0IHdpcmQsIHJpY2h0aWc/ClNvcnJ5IENhdCogcmljaHRpZyBlaW5nZXNldHp0IGJlcnVoZW4gYWxsZSBkaWVzZSB2ZXJsdXN0YmVoYWZ0ZXRlbiBWZXJmYWhyZW4KZGFyYXVmIGRpZSBVcnNwcnVuZ3NkYXRlbiB6dSB2ZXJmYWVsc2NoZW4gX2FiZXJfIGluIGVpbmVyIEZvcm0gZGllIGZ1ZXIgZGFzCm1lbnNjaGxpY2hlIEF1Z2Ugb2RlciBkYXMgbWVuc2NobGljaGUgT2hyIG5pY2h0IHdhaHJuZWhtYmFyIHNpbmQuIE9iIHNpY2ggaW4KZWluZXIgYmxhdWVuIEZsYWVjaGUgZGVyIFJHQiBGYXJiZSAoMCwgMCwgMjU1KSBlaW4gZWluemVsbmVyIFB1bmt0ICgwLDEsMjU1KQpiZWZpbmRldCBvZGVyIG5pY2h0LCBrYW5uc3QgRHUgc2NobGljaHR3ZWcgbmljaHQgd2Focm5laG1lbiAtIGF1Y2ggd2VubiBEdQpub2NoIHNvIGdlbmF1IGhpbnNjaGF1c3QuIFdlbm4gRHUgZGlnaXRhbGUgRm90b2dyYWZpZSBudXR6dCAtIFVlYmVycmFzY2h1bmcgLQp3aXJkIGViZW5mYWxscyBpLmQuUi4gdmVybHVzdGJlaGFmdGV0IGtvbXByaW1pZXJ0IC0gdW5kIGRpZSBGb3RvcyB3ZXJkZW4gc29nYXIKcHJvZmVzc2lvbmVsIHZlcndlbmRldC4KSW5zYmVzb25kZXJlIGZ1ZXIgQmlsZGVyIGRpZSBtYW4gZnVlciBlaW5lIGJyZWl0ZSBBbndlbmRlcnNjaGFociBpbnMgSW50ZXJuZXQKc3RlbGxlbiB3aWxsLCBpc3QgZWluZSBtb2VnbGljaHN0IGtsZWluZSBEYXRlaWdyb2Vzc2UgZWluIG11c3MuIFNlbGJzdCB3ZW5uCmRpZSBCaWxkZXIgZnVlciBlaW5lIHNwYWV0ZXJlIEZvdG9lbnR3aWNrbHVuZyBkaWVuZW4gc29sbGVuIC0gaXN0IGhpZXIganBlZwpkaWUgYmVzdGUgV2FobCAoc29mZXJuIHdpciB2b24gdmllbGVuIEZhcmJlbiBzcHJlY2hlbikuClVua2VubnRuaXMsIEZlaGxiZWRpZW51bmcgb2RlciBkaWUgTW9lZ2xpY2hrZWl0IGRhcyBtYW4gRGF0ZWllbiB3aXJrbGljaCBiaXMKenVyIHRvdGFsZW4gVmVydW5zdGFsdHVuZyByZWR1emllcmVuIGthbm4gYWxzIEFyZ3VtZW50IGdlZ2VuIHZlcmx1c3RiZWhhZnRldGUKS29tcHJpbWllcnVuZyB2b3J6dWJyaW5nZW4gZmluZGUgaWNoIGFic3VyZC4KSWNoIGJlaGF1cHRlIGRhcyBEdSBlaW4gRm90byB2b24gZWluZW0gLnBuZy1GaWxlIHVuZCBlaW5lciAuanBnIERhdGVpIGhhbGJlcgpHcm9lc3NlIGluIGRlbiBtZWlzdGVuIEZhZWxsZW4gbmljaHQgdW50ZXJzY2hlaWRlbiBrYW5uc3QuIEViZW5mYWxscyBzY2hhZmZlbgplcyBkaWUgd2VuaWdzdGVuIE1lbnNjaGVuIGVpbiBtaXQgMTI4IG9kZXIgc29nYXIgMTkyIGtiaXQgZ2VzYW1wZWx0ZXMgbXAzIEZpbGUKdm9uIGVpbmVyIFNjaGFsbHBsYXR0ZSB6dSB1bnRlcnNjaGVpZGVuLiBWb24gQ0RzIGdhbnogenUgc2Nod2VpZ2VuIC0gZGllIHNpbmQKbmFlbWxpY2ggZWJlbmZhbGxzIHZlcmx1c3RiZWhhZnRldC4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI4OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChNaW5nbywgMzAuIFNlcCAyMDA0LCAxMjoyNjo0Myk6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTY1Mzk2NTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1Mwo+IGRpZSBGb3RvcyB3ZXJkZW4gc29nYXIgcHJvZmVzc2lvbmVsIHZlcndlbmRldC4KCldvPyBBdGVsaWVyZm90b2dyYWZpZSBiZW51dHp0IGltbWVyIG5vY2ggZ3V0ZW4gNng2LVJvbGxmaWxtLgoKVW5kIGhhbHRlIGRpciBrdXJ6IGVpbmVzIHZvciBBdWdlbjogQmlsZGVyLCBhbHNvIEFlcGZlbCwga2FubiBtYW4gdmVyZ3JvZXNzZXJuCnVuZCBtZXJrdCBkYW5uIGRpZSB2b24gZGlyIGtsZWluZ2VyZWRldGVuIFZlcmx1c3RlIGV4dHJlbSBzY2huZWxsIChiaXR0ZQprb25zdWx0aWVyZSBkYXp1IGF1Y2ggRElFIFJ1YnJpaywgaW4gZGVyIGljaCBtaWNoIHZvciBrdXJ6ZW0gdWViZXIgZGllClVuenVsYWVuZ2xpY2hrZWl0ZW4gbWVpbmVyIEthbWVyYSBhdXNsaWVzcykuIEtvbXByZXNzaW9uc3Zlcmx1c3RlIGJlaSBNdXNpaywKc3ByaWNoIEJpcm5lbiwgZmFsbGVuIGVpbmVtIHdlbmlnZXIgZ3V0IGlucyBBdWdlIC4uLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQWxrb2hvbCwgMzAuIFNlcCAyMDA0LCAxMjo0MzozMyk6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTY1Mzk2NTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpBbHNvIGljaCBmaW5kZSBzY2hvbiwgZGFzcyBtYW4gZ2VzYW1wZWx0ZXMgbXAzLWZpbGUgdm9uIGVpbmVyIFNjaGFsbHBsYXR0ZQp1bnRlcnNjaGVpZGVuIGthbm4sIHNlaHIgZ3V0IHNvZ2FyLiBNYWcgYWJlciBzZWluLCBkYXNzIGVzIE11c2lrIGdpYnQsIHdvIGRhcwpuaWNodCBnZWh0LCBhYmVyIHNvbGx0ZSBtYW4gZGFzIE11c2lrIG5lbm5lbiBkYW5uPyA6KQoKQWxrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQ2F0d2VhemxlLCAzMC4gU2VwIDIwMDQsIDEyOjQ4OjU3KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NjUzOTY1NyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkR1IHZlcmdsZWljaHN0IEFlcGZlbCBtaXQgQmlybmVuLgoKV2FlaHJlbmQgYmVpIE1QMyBnZXppZWx0IG5pY2h0IGhvZXJiYXJlIERpbmdlIHJhdXNnZXNjaG5pdHRlbiB3ZXJkZW4sIHdpcmQgYmVpCkpQRyBhbGxlcyB1ZWJlciBlaW5lbiBLYW1tIGdlc2NoZXJ0IHVuZCBkYW5uIG1pdCBlaW5lbSBPZmZzZXQgSW5mb3JtYXRpb24KYWJnZXNhZWJlbHQuIERlbiBPZmZzZXQga2FubiBtYW4gZGVmaW5pZXJlbiwgZGFzIGlzdCBhYmVyIGF1Y2ggc2Nob24gYWxsZXMuIAoKQmVzb25kZXJzIHNjaG9lbiBzaWVodCBtYW4gZGFzIGJlaSBleHRyZW1lbiBCZWRpbmd1bmdlbi4gTWFjaCBkb2NoIG1hbCBlaW4gSlBHCnZvbiBlaW5lbSAxYml0IFMvVy1CaWxkLiBPZGVyIG5lbSBTY2hhY2hicmV0dC1Gb3RvLiBPZGVyIHZvbiBlaW5lbSBGb3RvIG1pdApnZXBmbGFzdGVydGVuIFdlZy4gRGEga2FubiBtYW4gc2ljaCBnYW56IHNjaG5lbGwgImVub3JtZSBWZXJsdXN0ZSIgZWluaGFuZGVsbi4KUmF0ZSBtYWwgd2FydW0gbWFuY2hlIFBob3RvZ3JhcGhlbiBhdWYganBnIGZsdWNoZW4gdW5kIHdhcnVtIGd1dGUgS25pcHNrYW1lcmFzCmVpbiBSYXctRm9ybWF0IGFuYmlldGVuLgoKUE5HIGtvbXByaW1pZXJ0IChzbyB3aWUgdWVicmlnZW5zIGF1Y2ggc2Nob24gR0lGKSBzZWhyIGd1dC4gRGVpbmUgQmVoYXVwdHVuZwoxLzItSlBHID09IFBORyBoYWx0ZSBpY2ggZnVlciBzZWhyIGdld2FndCwgd2VubiBuaWNodCBzb2dhciB1bmhhbHRiYXIuIE5pbW0KRGVpbmUgVmVybHVzdGUgcnVoaWcgaW4gS2F1ZiwgYWJlciBzYWcgbWlyIG5pY2h0IHZlcmx1c3RlYmFmdGV0ZXMgTWF0ZXJpYWwgc2VpCmVyc3RlIFdhaGwsIHdlbm4gZXMgZWluZSB2ZXJsdXN0ZnJlaWUgZ2xlaWNod2VydGlnZSBBbHRlcm5hdGl2ZSBnaWJ0LgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoUGFkcmVpYywgMzAuIFNlcCAyMDA0LCAxMzozNjoyOCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTA5NjU0MTMzNyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkljaCBiaW4gbGVpZGVyIGtlaW4gRmFjaG1hbm4gZnVlciBkZW4gSlBFRy1BbGdvcml0aG11cywgaGFiZSBzZWxic3Qgbm9jaAprZWluZW4gaW1wbGVtZW50aWVydCwgc29uZGVybiBudXIgZXR3YXMgdWViZXIgZGllIHJ1ZGltZW50YWVyZSBGdW5rdGlvbnN3ZWlzZQpnZWxlcm50LCBhYmVyOiBEaWUgQXVzc2FnZSBKUEVHIHd1ZXJkZSBhbGxlcyBiZWxpZWJpZyB1ZWJlciBlaW5lbiBLYW1tCnNjaGVocmVuIGdpbHQgc28gbmljaHQuIEF1Y2ggSlBFRyB2ZXJzdWNodCwgZWJlbnNvIHdpZSBtcDMsIGZ1ZXIgZGVuCm1lbnNjaGxpY2hlbiBCZXRyYWNodGVyIChIb2VyZXIpIHZlcmx1c3RmcmVpIHp1IGtvbXByaW1pZXJlbiAtIGFsc28gZWJlbiBudXIKc28gZ2VyaW5nZnVlZ2lnZSBWZXJhZW5kZXJ1bmdlbiB2b3J6dW5laG1lbiwgd2llIGRlciBCZXRyYWNodGVyIHNpZSBlYmVuIG5pY2h0CndhaHJuZWhtZW4ga2Fubi4KRGFzIGZ1bmt0aW9uaWVydCBuaWNodCBiZWkgamVkZW0gQmlsZCBnbGVpY2ggZ3V0IChqZSBuYWNoIE1vdGl2KS4gSW4gdmllbGVuCkJpbGRlcm4gZm90b2dyYWZpZXJzdCBEdSBhYmVyIGViZW4ga2VpbiBTY2hhY2hicmV0dCBvZGVyIG1hY2hzdCBlaW4gUy9XIEJpbGQKKGhpZXJmdWVyIHNjaGx1ZyBpY2ggamEgYXVjaCAuZ2lmIHZvciksIHNvbmRlcm4gZm90b2dyYWZpZXJzdCBNZW5zY2hlbiwKTGFuZHNjaGFmdCBldGMuIERpZSBXYWhsIGhhZW5ndCBuYXR1ZXJsaWNoIGF1Y2ggbWl0IGRlbSBzcGFldGVyZW4KVmVyd2VuZHVuZ3N6d2VjayB6dXNhbW1lbi4gVW1zbyBncm9lc3NlciBEdSB2ZXJncm9lc3Nlcm4gd2lsbHN0IHVtc28Ka3JpdGlzY2hlciBtYWcgZGFzIGdhbnplIHNlaW4gLSBhYmVyIGV0d2FzIHZlcmx1c3QgaXN0IGltbWVyIGVybGF1YnQgLQphbnNvbnN0ZW4gbXVlc3N0ZXN0IER1IGRhcyBiaWxkIHNvIGRlcm1hc3NlbiBwaXhlbGlnIHZlcmdyb2Vzc2VybiwgZGFzIGVzCm9obmVoaW4gaGFlc3NsaWNoIGlzdC4KTWFjaGVuIHdpciBkb2NoIG1hbCBlaW5lbiBUZXN0IENhdHR5LiBEdSBzdWNoc3QgbWFsIDUgc2Nob2VuZSBwbmcgRm90b3MgbWl0CiJ1ZWJsaWNoZW0iIE1vdGl2IHJhdXMgdW5kIHN0ZWxsc3Qgc2llIG1pciBhbHMgcG5nIHp1ciBWZXJmdWVndW5nIHVuZCBpY2gKcmVuZGVyZSBzaWUgaW4ganBnLCBzbyBkYXNzIGRpZSA1IGpwZ2VzIHp1c2FtbWVuIG51ciBkaWUgaGFsYmUgZ3JvZXNzZSB3aWUgZGllCjUgT3JpZ2luYWxlIGhhYmVuLgpJbiBaZWl0ZW4gd28gZGllIE1laHJ6YWhsIGRlciBkZXV0c2NoZW4gaW1tZXIgbm9jaCB1ZWJlciBNb2RlbSBvZGVyIElTRE4gaW5zCkludGVybmV0IGdlaHQsIGlzdCBkaWUgR3JvZXNzZSBlaW5lcyBCaWxkZXMgZW50c2NoZWlkZW5kLCBvYiBlcyBfdWViZXJoYXVwdF8KVmVyd2VuZHVuZyBmaW5kZW4ga2Fubi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI5OiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChHcmltbWJvcm4sIDMwLiBTZXAgMjAwNCwgMTQ6NTE6MTkpOgp+IyEgcm49QWxrb2hvbCBydD0xMDk2NTQxMDEzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKRGFubiBnaWJ0cyBlaWdlbnRsaWNoIG51ciB6d2VpIE1vZWdsaWNoa2VpdGVuOiBFbnR3ZWRlciBEdSBoYXN0IGVpbmVuCkdlaG9lcmZlaGxlciwgb2RlciBEdSB2ZXJ3ZW5kZXN0IG1wMydzIG1pdCB6dSBnZXJpbmdlciBCaXRyYXRlLiBCZWkgMTI4IGtiaXQKaGFiZW4gc2VsYnN0IGF1c2dld2llc2VuZSBQcm9maXMgKFRvbnRlY2huaWtlciwgRGlyaWdlbnRlbi4uLikgUHJvYmxlbWUgbWl0CmRlciBFcmtlbm51bmcsIGJlaSAyNTYga2JpdCBzaW5kIHRhdHNhZWNobGljaCBrZWluZSBVbnRlcnNjaGllZGUgbWVociBob2VyYmFyLgpBdXNzZXIgZnVlciBkZW4gR2Vob2VyZ2VzY2hhZWRpZ3RlbiBUZXN0dGVpbG5laG1lciwgZGVzc2VuIEdlaG9lciBoYWx0IG5pY2h0CmRlbSBwc3ljaG9ha3VzdGlzY2hlbiBNb2RlbGwgZ2Vob3JjaHRlLiAKRGFzIGxhZXNzdCBpbnRlcmVzc2FudGUgVWViZXJsZWd1bmdlbiB6dSwgd2FzIHdvaGwgQWxpZW5zIGhvZXJlbiwgd2VubiBzaWUgZGllClZveWFnZXIvUGlvbmVlcnMgZWluZmFuZ2VuIHVuZCBkaWUgZG9ydCBlbnRoYWx0ZW5lbiBTY2hhbGxwbGF0dGVuIGFic3BpZWxlbiwKZGVubiBsZXR6dGxpY2ggYmVydWh0IGphIGFsbGUgTXVzaWsgZGFyYXVmLCBkYXNzIHNpZSB2b20gbWVuc2NobGljaGVuIE9ocgplbnRzcHJlY2hlbmQgd2Focmdlbm9tbWVuIHdpcmQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChPZ28sIDMwLiBTZXAgMjAwNCwgMTQ6NTc6MjMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTY1NDg2Nzkgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpEYXMgbWl0IGRlbiAxMjhrYml0IGhhbHRlIGljaCBmdWVyIGVpbiB6aWVtbGljaGVzIEdlcnVlY2h0LgoKT2dvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoT2dvLCAzMC4gU2VwIDIwMDQsIDE0OjU5OjE5KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NjUzOTY1NyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCldhcnVtIHdhdiwgd2VubiBlcyBmbGFjIGdpYnQ/IChmcmVlIGxvc3NsZXNzIGF1ZGlvIGNvbXByZXNzaW9uKSBHb29nbGVuIGtvZW5udAppaHIgc2VsYnN0LiA6bykKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzE6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEdyaW1tYm9ybiwgMzAuIFNlcCAyMDA0LCAxNTowNTo1Nik6Cn4jISBybj1PZ28gcnQ9MTA5NjU0OTA0MyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCkljaCBhdWNoLCBpc3QgcmVpbmVzIEhvZXJlbnNhZ2VuLiBEZXIgVGVzdCB3YXIgdm9yIGxhZW5nZXJlciBaZWl0IGluIGRlciBjJ3QsCmRpZSB2ZXJzY2hpZWRlbmUgTGFpZW4gdW5kIFByb2ZpcyBkYXJhdWZoaW4gZ2V0ZXN0ZXQgaGFiZW4uIEltIFNvdW5kbGFib3Igc28KZWluZXIgSGlGaS1TY2h3ZXN0ZXJ6ZWl0c2NocmlmdC4gSG9lcnRlIHNpY2ggZ2xhdWJ3dWVyZGlnIGFuLCBkZXIgVGVzdCwgYWJlcgpZTU1WLgpJY2ggZ2ViZSBhYmVyIGF1Y2ggenUsIGRhc3MgaWNoIHp1IGRlciBHcnVwcGUgZGVyIEtldHplciBnZWhvZXJlLCBkaWUgZGVuClZvcnRlaWwgYXJtZGlja2VyIE1hc3NpdmdvbGRsYXV0c3ByZWNoZXJrYWJlbCBnZWdlbnVlYmVyIDUgbW1eMgpTaWxiZXJsYXV0c3ByZWNoZXJrYWJlbG4gKGFjaCB3YXM6IDMgbW1eMiBLdXBmZXJsYXV0c3ByZWNoZXJrYWJlbG4pIGJlbGFlY2hlbG4KdW5kIHdlZGVyIHZlcnN0ZWhlbiwgbm9jaCBob2VyZW4sIG5vY2ggdGVjaG5pc2NoIGZ1ZXIgZGV1dGxpY2ggbmFjaHdlaXNiYXIKaGFsdGVuLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFBhZHJlaWMsIDMwLiBTZXAgMjAwNCwgMTY6NDU6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTY1NDk1NTYgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpJbiBkZXIgVGF0IGdpYnQgZXMgd2VuaWdlIE1lbnNjaGVuIGRpZSBkZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gU2NoYWxscGxhdHRlCnVuZCBtcDMgaG9lcmVuIGtvZW5uZW4gLSBkYXMgaGF0IHdhcyBkYW1pdCB6dSB0dW4gZGFzIGdhbnplIEZyZXF1ZW56YmFlbmRlcgpkdXJjaCBlaW5lbiBIb2NocGFzcyB1bmQgVGllZnBhc3NmaWx0ZXIgYWJnZXNjaG5pdHRlbiB3ZXJkZW4uIEFiZXIgZWluZW4KVW50ZXJzY2hpZWQgendpc2NoZW4gQ0QgdW5kIGd1dGVuIG1wM3MgaG9lcmVuIGF1Y2ggZGllc2UgTGV1dGUgbmljaHQhCkluc29mZXJuOiBXZXIgbXBzMyB2ZXJ0ZXVmZWx0IHVuZCBzdGF0dGRlc3NlbiBhdWYgQ0RzIHNldHp0IGhhdCBrZWluZSBBaG51bmcsCndlciBtcHMzIF91bmRfIENEcyB2ZXJ0ZXVmZWx0IHVuZCBhdXNzY2hsaWVzc2xpY2ggU2NoYWxscGxhdHRlbiBmdWVyIGRhcwplaW56aWcgd2FocmUgaGFlbHQgaGF0IF9lbnR3ZWRlcl8ga2VpbmUgQWhudW5nIG9kZXIgYWJlciBpc3QgbWl0IGVpbmVtCnBlcmZla3RlbiBhYnNvbHV0ZW0gR2Vob2VyIGdlc3RyYWZ0LgoKUGFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKEFudGhlYSwgMzAuIFNlcCAyMDA0LCAxNjo0NzowMCk6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTY1NTU1MjQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwouLi51bmQgaGF0IHNpY2ggc2VpbmUgUGxhdHRlbiBpbW1lciBudXIgZWlubWFsIGFuZ2Vob2VydCwgZGEgc2ljaCBkaWUgamEgc29uc3QKenUgc2VociBhYm51dHplbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzM6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKE11YWRpYiwgMzAuIFNlcCAyMDA0LCAxNjo0NzoxNCk6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTY1NTU1MjQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwppY2ggaG9lcmUgZGVuIHVudGVyc2NoaWVkIHp3aXNjaGVuIHBsYXR0ZW4gdW5kIGNkLgppY2ggaGFiZSBuaWNodCBkYXMgYWJzb2x1dGUgZ2Vob2VyLgppY2ggaGFiZSBhYmVyIGF1Y2gga2VpbmVuIHBsYXR0ZW5zcGllbGVyIG1laHIuIGRhcyBtYWNodCBkYXMgZXJrZW5uZW4gZGVzCnVudGVyc2NoaWVkZXMgc2VociBlaW5mYWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoSGlnaGxhbmRlciwgMzAuIFNlcCAyMDA0LCAxNjo0Nzo1OCk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5NjU1NTYzNCByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzClN0aW1tdC4gVm9uIFBsYXR0ZW4gaG9lcnN0IER1IF9uaWNodHNfLiBEYXMgaXN0IGRldXRsaWNoIHdhcyBhbmRlcmVzCmFscyB2b24gZGVuIENEcyA6KQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWluZ28sIDMwLiBTZXAgMjAwNCwgMTY6NDg6MDIpOgp+IyEgcm49TXVhZGliIHJ0PTEwOTY1NTU2MzQgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpQbGF0dGVuPyBNYW4gZ2VodCBpbnMgT3JjaGVzdGVyIHVuZCBub2VsdCBkYW5hY2ggZGllIGF1ZmZhZWxsaWdzdGVuIE11c2lrZXIKdm9sbC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQWxrb2hvbCwgMzAuIFNlcCAyMDA0LCAxNzoxMTo1Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5NjU0OTU1NiByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCmRlbiB0ZXN0YmVyaWNodCBoYWIgaWNoIHNvZ2FyIGdlbGVzZW4gKmcqCgp1bmQgc2FnZW4gd2lyIG1hbCBzbywgaWNoIGdlaCBlaCBsaWViZXIgZGFzIG9yaWdpbmFsIGFuaG9lcmVuLCBkYSBob2VydCAodW5kCmZ1ZWhsdCkgbWFuIGRlbiB1bnRlcnNjaGllZCBudW4gd2lya2xpY2gsIGFiZXIgZGFzIGlzdCBvZmYgdG9waWMKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsb3JpZGEsIGRpZSBXYWhsZW4sIHVuZCBXaXJiZWxzdHVlcm1lLi4uIChBbnRoZWEsIDMwLiBTZXAgMjAwNCwgMTc6NTA6MjYpOgpodHRwOi8vd3d3Lm9yc20ubmV0L3BocC9zaG93bWVtb3JlLnBocD9jb3VudD0xMTMxJmZvbGRlcj0uLi9zaGl0ZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFZhcmRpb24sIDMwLiBTZXAgMjAwNCwgMTc6NTA6NDQpOgp+IyEgcm49UGFkcmVpYyBydD0xMDk2NTQ0MTg4IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKSlBFRyBoYXQgaGF1cHRzYWVjaGxpY2ggbWl0IHNjaGFyZmVuIEthbnRlbiBQcm9ibGVtZSwgd2VpbCBhbiBkaWVzZW4gcmVjaHQKaG9oZSBGcmVxdWVuemVuIGVudHN0ZWhlbiwgZGllIHdpZWRlcnVtIGltIEpQRy1Gb3JtYXQgdmllbCBQbGF0eiBiZW5vZXRpZ2VuLgpXaWxsIG1hbiBKUEdzIGtsZWluIGJla29tbWVuLCBkdWVyZmVuIHNpZSBrZWluZSBoYXJ0ZW4gS2FudGVuIGVudGhhbHRlbiwgb2RlcgphYmVyIGRpZXNlIEthbnRlbiBnZWhlbiBlYmVyIGthcHV0dC4gRnVlciBCaWxkZXIgbWl0IHdlaWNoZW4gRmFyYnZlcmxhZXVmZW4KaXN0IEpQRyBoaW5nZWdlbiByZWNodCBndXQgZ2VlaWduZXQuIEljaCBzZWhlIGVzIGFscyBFbmRmb3JtYXQgZnVlciBCaWxkZXIsCmRpZSBtYW4gZGFuYWNoIG5pZSB3aWVkZXIgaW4gaXJnZW5kZWluZXIgRm9ybSB3ZWl0ZXJiZWFyYmVpdGVuIHdpbGwuIEZ1ZXIKQmlsZGVyLCBtaXQgZGVuZW4gaWNoIG5vY2ggd2FzIHZvcmhhYmUsIG5laG1lIGljaCBQTkcuCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoQm9pbmcsICAxLiBPa3QgMjAwNCwgMTI6NDg6MDEpOgp+IyEgcm49TXVhZGliIHJ0PTEwOTY2MTk2NTcgcmc9d3d3Cn4jISB0aWQ9MTA5NTg0MTg1MwpPZGVyIG5hY2ggZC52bGFuZAogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoWnphcnp6dCwgIDMuIE9rdCAyMDA0LCAwMDo1Mzo0Myk6Cn4jISBybj1Cb2luZyBydD0xMDk2NjI3NjgxIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKQXVjaCwgd2VubiBkaWUgRGlza3Vzc2lvbiBvZmZpemllbGwgYmVlbmRldCB3dXJkZToKS2xpbmVyIE5hY2h0cmFnLgpEaWUgUHN5Y2hvYWt1c3Rpc2NoZW4gTW9kZWxsZSBiZXJ1aGVuIGF1Y2ggYXVmIGVpbiBiaXNzY2hlbiBTdGF0aXN0aWsuClNpZSBiZWhhdXB0ZW4sIGRhc3MgOTUlIGRyIE1lbnNjaGVuIGtlaW5lbiBVbnRlcnNjaGllZCB6d2lzY2hlbiBhIHVuZCBiCmhvZXJlbi4KCkljaCBoYWIgbmVuIFBsYXR0ZW5zcGllbGVyIHVuZG4gbmVuIENELXNwaWVsZXIsIGljaCBob2VyIGRlbiBVbnRlcnNjaGllZC4KVmllbGxlaWNodCBnbGF1YmUgaWNoIGRhcyBhdWNoIG51ci4KSWNoIGhvZXIgYXVjaCBuZW4gdW50ZXJzY2hpZWQgendpc2NoZW4gMTI4IHVkIDI1NmtCaXQgbXAzLiBEYSBiaSBpY2ggbWlyCnNpY2hlci4KWnVtaW5kZXN0IGJlaSBkZW4gYWx0ZW4gRGluZ2Vybi4KSW56d2lzY2hlbiBnaWJ0cyBqYSBGb3JtYXRlLCBkaWUgdWViZXIgMTYwa2JpdC9zIGF1Y2ggbm9jaCA1KzEgcnVlYmVyamFnZW4Kd29sbGVuIGtvZW5uZW4uLi4uCgpaei4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogRGllIGhhYmVuIHdvaGwgZWluZW4gYW4gZGVyIFdhZmZlbCAoTWluZ28sICAzLiBPa3QgMjAwNCwgMDA6NTU6MDcpOgp+IyEgcm49Wnphcnp6dCBydD0xMDk2NzU3NjIzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKV2VyIHp1bSBHZWllciBlbmNvZGVkIGRlbm4gYml0dGUgbm9jaCBtaXQgZmVzdGVyIEJpdHJhdGU/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IERpZSBoYWJlbiB3b2hsIGVpbmVuIGFuIGRlciBXYWZmZWwgKFp6YXJ6enQsICAzLiBPa3QgMjAwNCwgMDA6NTc6NDEpOgp+IyEgcm49TWluZ28gcnQ9MTA5Njc1NzcwNyByZz13d3cKfiMhIHRpZD0xMDk1ODQxODUzCm9oLCBzb3JyeSA6KSkpIGdlbWVpbnQgaXN0IHNlbGJzdHZlcnN0YWVuZGxpY2ggZWluZSBtaXR0bGVyZSBkYXRlbnJhdGUgOikpKQpKZWRlbmZhbGxzIGZ1ZXIgZGllc2VzIHNlbHRzYW1lIDUrMSB6ZXVnLgoKCkFuc29uc3RlbiBob2VyIGljaCBoYWx0IGRvY2ggZ2VybmUgbm9jaCB2b2xsZSBCYW5kYnJlaXRlLi4uLmxpdmUuLi4KClp6LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2l0dHkgUmV2aWV3IChIaWdobGFuZGVyLCAgNC4gT2t0IDIwMDQsIDExOjA2OjU2KToKRWluZSBIYXJkd2FyZS1TZWl0ZSBtaXQgZGVtIGV0d2FzIGFuZGVyZW4gVmVyZ2xlaWNoc3Rlc3Q6Cmh0dHA6Ly93d3cuZGFuc2RhdGEuY29tL2tpdHRlbi5odG0KTWVya2UgLSBLYWV0emNoZW4gaGFiZW4gZGllIGJlc3NlcmVuIEthdWZhcmd1bWVudC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXByaWxzY2hlcnogaW0gT2t0b2Jlcj8gKEJhbWJ1bGtvLCAgNC4gT2t0IDIwMDQsIDE3OjQ0OjQ1KToKS2FubiBkYXMgd2FociBzZWluPyBFcyBob2VydCBzaWNoIHdpcmtsaWNoIHdpZSBlaW4gQXByaWxzY2hlcnogYW4uCkZ1c3Nib2RlbmhlaXp1bmcgdW5kIEt1ZWhsdW5nIGZ1ZXIgU3RyYXNzZW46CgpodHRwOi8vd3d3LmRyYWRpby5kZS9kbGYvc2VuZHVuZ2VuL2ZvcnNjaGFrLzMwODY4My8KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXByaWxzY2hlcnogaW0gT2t0b2Jlcj8gKEdsb2luc29uLCAgNC4gT2t0IDIwMDQsIDE3OjQ5OjQ2KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwOTY5MDQ2ODUgcmc9d3d3Cn4jISB0aWQ9MTA5NjkwNDY4NQpQcmluemlwIFdhZXJtZXB1bXBlLiBXaXJkIHZvbiBkZWluZW0gbG9rYWxlbiBFbmVyZ2lldmVyc29yZ2VyIGF1Y2ggb2Z0CnVudGVyc3R1ZXR6dC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBcHJpbHNjaGVyeiBpbSBPa3RvYmVyPyAoR2xvaW5zb24sICA0LiBPa3QgMjAwNCwgMTg6MDg6MzgpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTA5NjkwNTA1NCByZz13d3cKfiMhIHRpZD0xMDk2OTA0Njg1Cmh0dHA6Ly93d3cuZy1vLmRlL2luZGV4LnBocD9jbWQ9Zm9jdXNfZGV0YWlsMiZmX2lkPTc1JnJhbmc9MTIKCkdhbnogdW50ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQXByaWxzY2hlcnogaW0gT2t0b2Jlcj8gKEdsb2luc29uLCAgNC4gT2t0IDIwMDQsIDE4OjE4OjAwKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwOTY5MDY2MDAgcmc9d3d3Cn4jISB0aWQ9MTA5NjkwNDY4NQpodHRwOi8vd3d3LmJ1bmRlc2JhdWdlc2VsbHNjaGFmdC5kZS9kdC90ZWNobmlrNC5odG0KClBTIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ2xhdWJlIHVuZCBzbyAoQWxib2luLCAgNS4gT2t0IDIwMDQsIDIxOjI4OjM5KToKd2FzIGVzIG5pY2h0IGFsbGVzIGdpYnQ6IHRoZSBiZWxpZWYtby1tYXRpYwpodHRwOi8vYmVsaWVmbmV0LmNvbS9zdG9yeS83Ni9zdG9yeV83NjY1XzEuaHRtbAoKU2FnZSBtaXIgd2FzIER1IGdsYXVic3QgdW5kIGljaCBwYWNrZSBEaWNoIGluIGVpbmUgU2NodWJsYWRlLgpJY2ggaGFicyBtYWwgb2JlcmZsYWVjaGlnIGR1cmNoZ2VzcGllbHQ6IDEwMCUgbGliZXJhbGVyIFByb3Rlc3RhbnQqYWVjaHoqCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGdsYXViZSB1bmQgc28gKEdyaW1tYm9ybiwgIDUuIE9rdCAyMDA0LCAyMTozMTowNyk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5NzAwNDUxOSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5ClVuZCBkYXMgc28gZWluZW0gZG9nbWF0aXNjaGVuIEhhcmRsaW5lciB3aWUgRGlyPyBIYXJ0ZXMgTG9zLCBmdWVyd2Foci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZ2xhdWJlIHVuZCBzbyAoR2xvaW5zb24sICA1LiBPa3QgMjAwNCwgMjE6MzI6NTkpOgp+IyEgcm49QWxib2luIHJ0PTEwOTcwMDQ3NDcgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpUamEsIHNvIGthbm4gbWFuIHNpY2ggYXVjaCBzZWxic3QgdWViZXIgZGVuIGdydWVuZW4gS2xlZSBsb2Jlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGdsYXViZSB1bmQgc28gKEFsYm9pbiwgIDUuIE9rdCAyMDA0LCAyMTozNTo1Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5NzAwNDY2NyByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CmhtbSBkb2dtYXRpc2NoZXIgSGFyZGxpbmVyLCB3b2hlciBoYXN0biBkYXM/CgpFaGVyIGRhY2h0ZSBpY2ggZGFzIG1hbiBtaWNoIGFudGhyb3Bvc29waGlzY2gvdGhlb3NvcGhpc2NoIGVpbm9yZG5ldCwgYWJlcgpkaWVzIFNjaHVibGFkZSBoYWJlbiBzaWUgbmljaHQuCkFiZXIgbWl0IGxpZWJlcmFsZXIgUHJvdGVzdGFudCBrYW5uIGljaCBndXQgbGViZW4uIE5vY2ggYmVzc2VyIGRhbWl0IGRhcyBpY2gKYW0gYWxsZXJ3ZW5pZ3N0ZW4gWmV1Z2UgSmVob3ZhcyB1bmQgQXRoZWlzdCBiaW4uCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZ2xhdWJlIHVuZCBzbyAoR3JpbW1ib3JuLCAgNS4gT2t0IDIwMDQsIDIxOjM2OjU1KToKfiMhIHJuPUFsYm9pbiBydD0xMDk3MDA0OTUzIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKU29sbHRlIERpY2ggbmljaHQgd3VuZGVybi4gRXMgZ2lidCBzZWhyIHdlbmlnZSBMZXV0ZSwgZGllIFpldWdlbiBKZWhvdmFzIHVuZApBdGhlaXN0ZW4gc2luZC4KCkdkQVtleC1SXSBPSGRNdUJkRSAgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBnbGF1YmUgdW5kIHNvIChHcmltbWJvcm4sICA1LiBPa3QgMjAwNCwgMjE6NDA6MjkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTcwMDUwMTUgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpTbywgamV0enQgaGFiZSBpY2hzIGR1cmNoLiBEaWVzZXIgVGVzdCBpc3Qgb2ZmZW5iYXIgdm9uIGplbWFuZGVtLCBkZXIgdm9uCmNocmlzdGxpY2hlbiBLb25mZXNzaW9uZW4gZWluZSB2YWdlIFZvcnN0ZWxsdW5nIGhhdCwgdW5kIG1hbCBkYXZvbiBnZWhvZXJ0CmhhdCwgZGFzcyBhbmRlcmUgUmVsaWdpb25lbiBleGlzdGllcmVuLiBFaW4gSGlud2VpcyBhdWYgZGllIFp1dmVybGFlc3NpZ2tlaXQKbWFnIHNlaW4sIGRhc3MgZXIgbWljaCBhbHMgUXVha2VyIGVpbnN0dWZ0Li4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGdsYXViZSB1bmQgc28gKEdyaW1tYm9ybiwgIDUuIE9rdCAyMDA0LCAyMTo0MTowMSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5NzAwNTIyOSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5Ck9ydGhvZG94ZXIgUXVha2VyLCBhbHNvLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBnbGF1YmUgdW5kIHNvIChHbG9pbnNvbiwgIDUuIE9rdCAyMDA0LCAyMTo0MTowNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5NzAwNTIyOSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5Ck1pY2ggc3R1ZnQgZXIgc3Bhbm5lbmRlcndlaXNlIGFscyBsaWJlcmFsZW4gQ2hyaXN0ZW4gZWluLiBIYWIgaWNoIGlyZ2VuZHdvIGRhcwpIYWVrY2hlbiBmdWVyICJpY2ggZ2xhdWJlIG5pY2h0IiBmYWxzY2ggZ2VzZXR6dD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZ2xhdWJlIHVuZCBzbyAoWm9vaywgIDUuIE9rdCAyMDA0LCAyMTo0MTozOSk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5NzAwNDUxOSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5Ckthbm4gaWNoIGF1Y2ggYW4gbWljaCBzZWxic3QgZ2xhdWJlbj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGdsYXViZSB1bmQgc28gKEdyaW1tYm9ybiwgIDUuIE9rdCAyMDA0LCAyMTo0MjoyOSk6Cn4jISBybj1ab29rIHJ0PTEwOTcwMDUyOTkgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpOZWluLiBBdXMgcHJpbnppcGllbGxlbiBHcnVlbmRlbi4gR2xhdWJlIHNjaGxpZXNzdCBlaW4gIm5pY2h0IHdpc3NlbiIgbWl0IGVpbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZ2xhdWJlIHVuZCBzbyAoR2xvaW5zb24sICA1LiBPa3QgMjAwNCwgMjE6NDM6MzEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTcwMDUzNDkgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpJY2ggZGVua2UsIGFsc28gYmluIGljaCBtaXIgbWVpbmVyIHNpY2hlcj8gT2IgUG9wcGVyIGRhcyBnZWZhbGxlbiBoYWV0dGU/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogZ2xhdWJlIHVuZCBzbyAoS2VsbHlidW5keSwgIDUuIE9rdCAyMDA0LCAyMTo1MToyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk3MDA1MjY1IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRGFzIGlzdCBzbyBlaW5lCnRyZXRldC1pcmdlbmRlaW5lci1iZXRicnVkZXJjb21tdW5pdHktZWdhbC13ZWxjaGVyLWhhdXB0c2FjaGUtY2hyaXN0bGljaC11bmQtbQpvZGVyYXQtZnVuZGFtZW50YWwtYmVpLXNpdGUuIEljaCBiaW4gdWVicmlnZW5zIHVuaXRhcmlzY2hlciBVbml2ZXJzYWxpc3QuIEJlaQpkZXIgRGlza3Vzc2lvbiBkZXIgRXJnZWJuaXNzZSwgYW4gd2FzIGljaCBhbmdlYmxpY2ggc28gYWxsZXMgZ2xhdWJlLCB3b3ZvbiBpY2gKYmlzaGVyIGFiZXIgbmljaHQgd3Vzc3RlLCBkYXNzIGljaCBlcyBnbGF1YmUsIHdpcmQgbWlyIHNjaHdpbmRsaWcuIEljaAp2ZXJtaXNzZSBkYXMgQ29jYUNvbGEtIHVuZCBNY0RvbmFsZHMtU3BvbnNvcmluZyBhdWYgZGVyIFNpdGUuIEp1c3QgTXkgMkMKQmxvbmRpZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogZ2xhdWJlIHVuZCBzbyAoSHVtbmksICA1LiBPa3QgMjAwNCwgMjI6MTk6NDgpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk3MDA1ODgxIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSGUsIGRhIHNpbmQgd2lyIGphIGVpbmUgR2xhdWJlbnNnZW1laW5zY2hhZnQhIEljaCBiaW5hIHVjaCB1bml0YXJpc2NoZXIKVW5pdmVyc2FsaXN0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGdsYXViZSB1bmQgc28gKEdsb2luc29uLCAgNS4gT2t0IDIwMDQsIDIyOjI2OjAyKToKfiMhIHJuPUh1bW5pIHJ0PTEwOTcwMDc1ODggcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpEdSBiZXN0ZWxsIHVucyB1bmQgZGVpbmVuIFNjaHVlbGVybiBsaWViZXIgZWluZSBuZXR0ZSBEVkQgZGVyIEVTQToKCmVzYW11bHRpbWVkaWEuZXNhLmludC9kb2NzL2lzc2tpdC9JU1MtZHZkLWZvcm0uaHRtbAoKKG51ciBmdWVyIExlaHJlci9TY2h1bGVuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGdsYXViZSB1bmQgc28gKE1lZGljLCAgNi4gT2t0IDIwMDQsIDAwOjAxOjM2KToKfiMhIHJuPUh1bW5pIHJ0PTEwOTcwMDc1ODggcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpLZWxseT8gSHVtbmk/IElociwgbWVpbmUgR2xhdWJlbnNicnVlZGVyIHVuZCAtc2Nod2VzdGVybj8KQWIgd2FubiBrYW5uIG1hbiBlaW5lIFJlbGlnaW9uIGFubWVsZGVuIHVuZCBTdGV1ZXJ2b3J0ZWlsZSBzaWNoZXJuPwoKTWVkaWMsIGZyZXV0IHNpY2ggc2Nob24gYXVmIGRpZSBEcmFjaGVuemVyZW1vbmllbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogZ2xhdWJlIHVuZCBzbyAoSGlnaGxhbmRlciwgIDYuIE9rdCAyMDA0LCAwOTo0NjoyNSk6Cn4jISBybj1NZWRpYyBydD0xMDk3MDEzNjk2IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKU2NoZWludCB3ZWl0dmVyYnJlaXRldCB6dSBzZWluLiBJY2ggYmluIGF1Y2ggdW50ZXIKZGVuIHVuaXRhcmlhbiB1bnZlcnNhbGlzdHMuIERhbmFjaCBzZWN1bGFyIGh1bWFuaXNtLgpEYW5uIG5haGVuIHNjaG9uIGRpZSBsaWJlcmFsIHF1YWtlcnMgdW5kIGltbWVyaGluIGFuCmZ1ZW5mdGVyIFN0ZWxsZSBtZWluZSBlaW5nZXRyYWdlbmUgVmFyaWFudGUsCmxpYmVyYWwgdG8gbWFpbnN0cmVhbSBjaHJpc3RpYW4gcHJvdGVzdGFudC4KRGVmaW5pdGl2IG5pY2h0IGJpbiBpY2ggWmV1Z2UgSmVob3ZhcywgTW9ybW9uZSwKU2llYnRlci1UYWctQWR2ZW50aXN0LCBvcnRob2RveGVyIEp1ZGUsIE11c2xpbSwKU2lraCwgcm9lbWlzY2gta2F0aG9saXNjaCwgZ3JpZWNoaXNjaCBvcnRob2RveAoodm9uIHVudGVuIGdlbGlzdGV0KS4gR2FueiBPSyBzbywgZGVua2UgaWNoIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IGdsYXViZSB1bmQgc28gKFBhZHJlaWMsICA2LiBPa3QgMjAwNCwgMTE6MDQ6MDcpOgp+IyEgcm49TWVkaWMgcnQ9MTA5NzAxMzY5NiByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CldhcyBmdWVyIFN0ZXVlcnZvcnRlaWxlPyBJY2ggZ2xhdWIgYXVzc2VyIFNjaWVudG9sb2d5IHphaGx0IGluIERldXRzY2hsYW5kCmtlaW5lICJSZWxpZ2lvbnNnZW1laW5zY2hhZnQiIFN0ZXVlcm4gLSBkYWZ1ZXIgcmVpY2h0IGltIE5vcm1hbGZhbGxkIGllCkdlbWVpbm51ZXR6aWdrZWl0IChnZW5hdSBoaWVyIGhhcGVydCBlcyBtaXQgU2NpZW50b2xvZ3k6IEF1c2JldXRlbiBkZXIKTWl0Z2xpZWRlciB1bmQgR2V3aW5uc3RyZWJlbiB3ZXJkZW4gaW4gYWxsZXIgUmVnZWwgbmljaHQgYWxzIGdlbWVpbm51ZXR6aWcKYW5lcmthbm50KSAtIHVuZCBkYWZ1ZXIgNiBMZXV0ZS4gQW10c2tpcmNoZSB6dSB3ZXJkZW4gc29sbHRlIGRhZ2VnZW4gZGV1dGxpY2gKc2Nod2VyZXIgYmlzIHVubW9lZ2xpY2ggc2VpbiAtIGRhcyBoYWJlbiBiaXNoZXIgbmljaHQgbWFsIGRpZSBNb3NsZW1zIG9kZXIKSnVkZW4gZ2VzY2hhZmZ0IChvYiBzaWUgZXMgdmVyc3VjaHQgaGFiZW4gLSB3ZWlzcyBpY2ggamVkb2NoIG5pY2h0IDpvKS4gQWJlcgpTdGV1ZXJ2b3J0ZWlsZSBmdWVyIGRpZSBNaXRnbGllZGVyIGJyaW5ndCBEaXIgZGFzIGF1Y2ggbmljaHQgLSBpbSBHZWdlbnRlaWwgOikKClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBnbGF1YmUgdW5kIHNvIChNYWhhcmV0LCAgNi4gT2t0IDIwMDQsIDExOjIyOjEwKToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NzA1MzQ0NyByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CldhcyBpc3QgZWluZSBBbXRza2lyY2hlPwoKTWFoYXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IGdsYXViZSB1bmQgc28gKE5vbm5lLCAgNi4gT2t0IDIwMDQsIDExOjI2OjA2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NzA1NDUzMCByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5ClNpbmQgZGFzIG5pY2h0IGRpZSwgZGllIG1hbiB1bnRlciAnS29uZmVzc2lvbicgYXVmIGRlciBTdGV1ZXJrYXJ0ZSBoYWJlbiBrYW5uCnVuZCBkYW5uIGRpZSBLaXJjaGVuc3RldWVybiBrYXNzaWVyZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogZ2xhdWJlIHVuZCBzbyAoUGFkcmVpYywgIDYuIE9rdCAyMDA0LCAxMjo1MzozMSk6Cn4jISBybj1Ob25uZSBydD0xMDk3MDU0NzY2IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSW4gZGllc2VtIFp1c2FtbWVuaGFuZyBoYWJlIGljaCBkZW4gQmVncmlmZiB6dW1pbmRlc3QgYmVudXR6dC4gRGVyIEJlZ3JpZmYgYWxzCnNvbGNoZXMgaXN0IGFiZXIgZGV1dGxpY2ggYWVsdGVyIGFscyBkaWUgQnVuZGVzcmVwdWJsaWNrIERldXRzY2hsYW5kIG9kZXIgYWxsZQpHZXNldHplIGRpZSB3aXIgc28gaGFiZW4uLi4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBnbGF1YmUgdW5kIHNvIChNYWhhcmV0LCAgNi4gT2t0IDIwMDQsIDEyOjU1OjE1KToKfiMhIHJuPVBhZHJlaWMgcnQ9MTA5NzA2MDAxMSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5Cldlbm4gZXMgZGFydW0gZ2VodDogRXMgaXN0IG5pY2h0IHNvbmRlcmxpY2ggc2Nod2llcmlnLCBlaW5lICJBbXRza2lyY2hlIiBpbgpkaWVzZW0gU2lubmUgenUgd2VyZGVuLCBkaWUgbWVpc3RlbiB3b2xsZW4gZXMgbnVyIG5pY2h0LgoKTWFoYXJldAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IGdsYXViZSB1bmQgc28gKFpvb2ssICA2LiBPa3QgMjAwNCwgMTM6MTY6MDcpOgp+IyEgcm49UGFkcmVpYyBydD0xMDk3MDYwMDExIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSW50ZXJlc3NhbnRlIEZyYWdlIHdhZXJlOiBXZWxjaGVzIGlzdCBkYXMgYWVsdGVzdGUgbm9jaCBnZWx0ZW5kZSBHZXNldHogaW4gCmRlciBCUkQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IGdsYXViZSB1bmQgc28gKE1haGFyZXQsICA2LiBPa3QgMjAwNCwgMTM6MTc6MTEpOgp+IyEgcm49Wm9vayBydD0xMDk3MDYxMzY3IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSEdCIG9kZXIgU3RHQj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBnbGF1YmUgdW5kIHNvIChNYWhhcmV0LCAgNi4gT2t0IDIwMDQsIDEzOjE3OjUxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NzA2MTQzMSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CkFjaCBRdWFyaywgU3RHQiB3dXJkZSBqYSBlcnN0IDE5OTkgbmV1IGJla2FubnRnZWdlYmVuLiBBbHNvIEhHQiBpc3QgbWVpbiBUaXBwLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IGdsYXViZSB1bmQgc28gKFpvb2ssICA2LiBPa3QgMjAwNCwgMTM6MTg6MTMpOgp+IyEgcm49TWFoYXJldCBydD0xMDk3MDYxNDMxIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSWNoIHdvbGx0ZSBncmFkIG5vY2ggYW5tZXJrZW4sIGRhc3MgZWluemVsbmUgUGFyYWdyYWZlbiBhdXMgYW5kZXJlbiAKUmVjaHRzcXVlbGxlbiwgZGllIGhldXRlIG5vY2ggZ2VsdGVuLCBuaWNodCBtaXR6YWVobGVuLiBBbHNvIHNjaG9uIHNvIAplaW4gZ2FuemVzIEdlc2V0eiAoc28gc2ljaCBkYXMgYWJncmVuemVuIGxhZXNzdCkuCgpab29rIGhhdCBkYSBub2NoIHdhcyBpbiBFcmlubmVydW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IGdsYXViZSB1bmQgc28gKEhpZ2hsYW5kZXIsICA2LiBPa3QgMjAwNCwgMTM6MTg6MTkpOgp+IyEgcm49TWFoYXJldCBydD0xMDk3MDYxNDcxIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRWluIEdlc2V0eiByZWljaHQgZ2xhdWIgaWNoLCBEdSBtdXNzdCBuaWNodCBnbGVpY2ggZWluIGdhbnplcyBHZXNldHpidWNoCmFuc2NobGVwcGVuIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBnbGF1YmUgdW5kIHNvIChNYWhhcmV0LCAgNi4gT2t0IDIwMDQsIDEzOjE4OjQ3KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTA5NzA2MTQ5OSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CldhcyB2ZXJzdGVoc3QgZHUgamV0enQgdW50ZXIgR2VzZXR6PyBFaW5lbiBlaW56ZWxuZW4gUGFyYWdyYXBoZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogZ2xhdWJlIHVuZCBzbyAoWm9vaywgIDYuIE9rdCAyMDA0LCAxMzoxOToxMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwOTcwNjE0NzEgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpVbmQgQWVuZGVydW5nZW4gc2luZCBzY2hvbiBlcmxhdWJ0LCBhdWNoIE5ldWJla2FubnRtYWNodW5nZW4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IGdsYXViZSB1bmQgc28gKFpvb2ssICA2LiBPa3QgMjAwNCwgMTM6MTk6MjMpOgp+IyEgcm49TWFoYXJldCBydD0xMDk3MDYxNTI3IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRWJlbiBuaWNodC4gCgpab29rLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBnbGF1YmUgdW5kIHNvIChNYWhhcmV0LCAgNi4gT2t0IDIwMDQsIDEzOjE5OjQxKToKfiMhIHJuPVpvb2sgcnQ9MTA5NzA2MTU1MSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5Ck5ldWJla2FubnRtYWNodW5nIGdpbHQgYWxzIE5ldWVybGFzcy4KRGFzIEhHQiBnaWx0IGluIGRlciBGYXNzdW5nIHZvbSAxMC4gTWFpIDE4OTcuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IGdsYXViZSB1bmQgc28gKEJvaW5nLCAgNi4gT2t0IDIwMDQsIDEzOjIwOjA1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NzA2MTU4MSByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CklzdCBiZWkgMjAwIGVpZ2VudGxpY2ggZGllIFJ1YnJpayB2b2xsPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogZ2xhdWJlIHVuZCBzbyAoWm9vaywgIDYuIE9rdCAyMDA0LCAxMzoyMzowOSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEwOTcwNjE3NjMgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpJY2ggYmlldGUgQkdCLCBhdXNnZWZlcnRpZyBhbSAxOC4gQXVndXN0IDE4OTYuClJHQmwgMTg5NiwgMTk1LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBnbGF1YmUgdW5kIHNvIChDZWlsbywgIDYuIE9rdCAyMDA0LCAxMzozMzozMCk6Cn4jISBybj1ab29rIHJ0PTEwOTcwNjE3ODkgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpOZXVtb2Rpc2NoZXIgS3JhbXMsIGRhcy4KCkdld2VyYmVvcmRudW5nIHZvbSAyMS42LjE4NjksIGFsbGVyZGluZ3MgYXVjaCBtaXQgTmV1YmVrYW5udG1hY2h1bmdlbiwgenVsZXR6dAphbSAyMi4yLjE5OTkKCldlbm4ncyBvaG5lIE5ldWJla2FubnRtYWNodW5nIHNlaW4gc29sbDogR2VzZXR6IGJldHJlZmZlbmQgZGllIEluaGFiZXJwYXBpZXJlCm1pdCBQcmFlbWllbiB2b20gOC42LjE4NzEuCgpDZWlsbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IGdsYXViZSB1bmQgc28gKEdyaW1tYm9ybiwgIDYuIE9rdCAyMDA0LCAxMzozMzozMik6Cn4jISBybj1ab29rIHJ0PTEwOTcwNjE3ODkgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpHcmF2aXRhdGlvbnNnZXNldHosIGF1cyBkZW0gMTcgSmhkLiBnbGF1YmUgaWNoLiBHaWx0IG5hY2ggd2llIHZvci4gTmFqYSwgaW0Kd2VzZW50bGljaGVuLCBoYWx0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogZ2xhdWJlIHVuZCBzbyAoQ2F0d2VhemxlLCAgNi4gT2t0IDIwMDQsIDE0OjE4OjQxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDk3MDYyNDEyIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKSWNoIGhhYmUga2VpbmUgTHVzdCBoaWVyIGF1Znp1cmFldW1lbiB1bmQgd2FlaGxlIGRlbiBlaW5mYWNoZW4gV2VnLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNTogZ2xhdWJlIHVuZCBzbyAoR2xvaW5zb24sICA2LiBPa3QgMjAwNCwgMTQ6MTg6NTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTEwOTcwNjUxMjEgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpWb3JiaWxkbGljaC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogZ2xhdWJlIHVuZCBzbyAoUGFkcmVpYywgIDYuIE9rdCAyMDA0LCAxNDoyNzoyMyk6Cn4jISBybj1ab29rIHJ0PTEwOTcwNjEzNjcgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpPayBpY2ggc3RlbGxlIG1hbCBkaWUgVGhlc2UgYXVmIGRlbiBCZWdyaWZmIGRlciBBbXRza2lyY2hlIGdhYiBlcyBtaW5kZXN0ZW5zCmJlcmVpdHMgaW0gMTMgSmFocmh1bmRlcnQgLSBkYSBGcmFueiB2b24gQXNzaXNpIGViZW4gZGllc2UgYW5lcmthbm50IHVuZAp1bnRlcnN0dWV0enQgaGF0LiBBbHNvIGJpdHRlIGtvbW10IG1pciBuaWNodCBtaXQgU3RyYXNzZW52ZXJrZWhyc29kbnVuZyAtCnNvd2FzIGdhYnMgZGFtYWxzIG5vY2ggbmljaHQgOm8pCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogZ2xhdWJlIHVuZCBzbyAoTWFoYXJldCwgIDYuIE9rdCAyMDA0LCAxNDoyODowMyk6Cn4jISBybj1QYWRyZWljIHJ0PTEwOTcwNjU2NDMgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpOYSwgd2VubiBlcyB1bSBCZWdyaWZmZSBnZWh0LCBnaWJ0IGVzIGdhcmFudGllcnQgbm9jaCBhZWx0ZXJlIC4uLgoKTWFoYSwga29wZnNjaHVldHRlbG5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogZ2xhdWJlIHVuZCBzbyAoTWFoYXJldCwgIDYuIE9rdCAyMDA0LCAxNDoyOTo0NSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEwOTcwNjU2ODMgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpJY2ggZ2xhdWIgYXVjaCBuaWNodCwgZGFzcyBab29rIGF1ZiBkZWluZSBBbm1lcmt1bmcgenVtIEFsdGVyIGRlciBBbXRza2lyY2hlCmFuc3BpZWxlbiB3b2xsdGUsIGVyIGhhdCBudXIgZWluIG5ldWVzIFRoZW1hIGF1ZmdlZ3JpZmZlbiwgZGFzcyBkdXJjaCBkaWVzZQpkZWluZSBBbm1lcmt1bmcgbGVkaWdsaWNoIGluc3BpcmllcnQgd2FyLgpXb21pdCB3aXIgd2llZGVyIGJlaW0gVGhlbWEgR2xhdWJlbiB3YWVyZW4gCm8pCgpNYWhhLCBob2VydCBtYWwgbGllYmVyIGF1ZiB6dSBzY2htYXJybmVuLCBqZWRlbmZhbGxzIGluIGRlciBmYWxzY2hlbiBSdWJyaWsKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBnbGF1YmUgdW5kIHNvIChQYWRyZWljLCAgNi4gT2t0IDIwMDQsIDE0OjMwOjA1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NzA2NTY4MyByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CkVzIGdpbmcgZGFydW0sIGRhcyBkZXIgQmVncmlmZiBkZXIgQW10c2tpcmNoZSBhZWx0ZXIgaXN0LCBhbHMgYWxsZSBHZXNldHplIGRlcgpCdW5kZXNyZXB1YmxpayB1bmQgbmljaHQgZGFydW0sIGRhcyBlcyBrZWluZSBhZWx0ZXJlbiBCZWdyaWZmZSBnaWJ0IDpvKS4KClBhZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBnbGF1YmUgdW5kIHNvIChQYWRyZWljLCAgNi4gT2t0IDIwMDQsIDE0OjMyOjA5KToKfiMhIHJuPVpvb2sgcnQ9MTA5NzA2MTM2NyByZz13d3cKfiMhIHRpZD0xMDk3MDA0NTE5CkRhcyBhZWx0ZXN0ZSBTdGV1ZXJnZXNldHogaXN0IGdsYXViIGljaCBkaWUgU2VrdHN0ZXVlci4gWndlY2s6IEZpbmFuemllcnVuZwplaW5lcyBTY2hsYWNodHNjaGlmZmVzIGltIGVyc3RlbiBXZWx0a3JpZWcuCgpQYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogZ2xhdWJlIHVuZCBzbyAoR2xvaW5zb24sICA2LiBPa3QgMjAwNCwgMTQ6MzQ6NTMpOgp+IyEgcm49UGFkcmVpYyBydD0xMDk3MDY1OTI5IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRGllIFRlbGVmb25rcmllZ3NzdGV1ZXIgZGVyIEFtZXJpa2FuZXIgdm9uIDE4OTkgd3VyZGUgamEgbGVpZGVyIGltIGxldHp0ZW4KSmFocnplaG50IG1vZGlmaXppZXJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsbGVzIFRvbWF0ZSwgb2RlciB3YXM/IChDYXR3ZWF6bGUsICA2LiBPa3QgMjAwNCwgMTQ6NTI6NTkpOgp+IyEgb249QmFtYnVsa28gb3Q9MTA5NzA2NzAzOCBvZz1zY2htYXJybgpEYSB3d3cgdm9sbCBpc3Q6CgpodHRwOi8vdGlueXVybC5jb20vNWY4M3QKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBnbGF1YmUgdW5kIHNvIChLZWxseWJ1bmR5LCAgNi4gT2t0IDIwMDQsIDE4OjIzOjI4KToKfiMhIHJuPU1lZGljIHJ0PTEwOTcwMTM2OTYgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpXZW5uIG1hbiBlaW5lbiBTY2hlaXRlcmhhdWZlbnNlcnZpY2Ugb2RlciBlaW5lIElucXVpc2l0aW9uc2JlcmF0dW5nIGF1Zm1hY2h0PwoKQmxvbmRjaGVuLCBtaXQgaW5xdWlzaXRvcmlzY2hlbSBGcmFnZXRvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IGdsYXViZSB1bmQgc28gKEtlbGx5YnVuZHksICA2LiBPa3QgMjAwNCwgMTg6MjY6MzIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwOTcwNjI0MTIgcmc9d3d3Cn4jISB0aWQ9MTA5NzAwNDUxOQpCaWV0ZSBSZWluaGVpdHNnZWJvdCB2b24gMTUxNiwgQWJlciBkYXMgd2FyIGphIEJheWVybiwgb2IgZGFzIHVudGVyIGRldXRzY2hlCkdlc2V0emdlYnVuZyBmYWVsbHQsIGRhcnVlYmVyIGxpZXNzZSBzaWNoIHN0cmVpdGVuIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IGdsYXViZSB1bmQgc28gKFpvb2ssICA2LiBPa3QgMjAwNCwgMTg6MzU6MzgpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk3MDc5OTkyIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRGFzIHNvZ2VuYW5udGUgUmVpbmhlaXRzZ2Vib3QgZ2lsdCBpbiBEZXV0c2NobGFkIG5pY2h0IChtZWhyKSBhbHMgClZvcnNjaHJpZnQsIGVzIGhhdCBlaGVyIGZvbGtsb3Jpc3Rpc2NoZW4gQ2hhcmFrdGVyLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggd2FzIHp1bSBHbGF1YmVuLi4uIChIdW1uaSwgIDYuIE9rdCAyMDA0LCAxOTo1ODowNik6CgpodHRwOi8vYmFzaC5vcmcvR09EdnNCVVNILmdpZgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbGxlcyBUb21hdGUsIG9kZXIgd2FzPyAoQWxib2luLCAgNi4gT2t0IDIwMDQsIDIxOjI2OjMwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMDk3MDY3MTc5IHJnPXd3dwp+IyEgdGlkPTEwOTcwNjcxNzkKaWNoIGhhYmUgbmV1bGljaCBpbSBCaW8tTGFkZW4gbmUgZ2FuemUgU2NoYWNodGVsIHNvbGNoZXIgTWluaXRvbWF0ZW4gZ2VrYXVmdC4KSW4gZGVuIEZhcmJlbiB2YXJpZWllcnRlbiBzaWUgdm9uIEdlbGIgYmlzIGhpbiB6dSBicmF1bnJvdCB1bmQgc2NobWVja3Rlbgp3aXJrbGljaCBndXQuCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbGxlcyBUb21hdGUsIG9kZXIgd2FzPyAoS2VsbHlidW5keSwgIDYuIE9rdCAyMDA0LCAyMToyNzoxOCk6Cn4jISBybj1BbGJvaW4gcnQ9MTA5NzA5MDc5MCByZz13d3cKfiMhIHRpZD0xMDk3MDY3MTc5Ck51ciB3ZW5uIERlaW5lIEJpb3RvbWF0ZW4ga2xlaW5lIGluc2VrdG9pZGUgVW50ZXJtaWV0ZXIgaGFiZW4sIHNpbmQgc2llIGF1Y2gKd2lya2xpY2ggQmlvIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQWxsZXMgVG9tYXRlLCBvZGVyIHdhcz8gKE1haGFyZXQsICA2LiBPa3QgMjAwNCwgMjE6MzA6MzIpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMDk3MDkwODM4IHJnPXd3dwp+IyEgdGlkPTEwOTcwNjcxNzkKU2NobWVja2VuIGRpZSBhdWNoIHdpZSBUb21hdGVuPyBPZGVyIHdhcyBoZWlzc3QgIndpcmtsaWNoIGd1dCI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBBbGxlcyBUb21hdGUsIG9kZXIgd2FzPyAoQWxib2luLCAgNi4gT2t0IDIwMDQsIDIxOjMwOjQ0KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTA5NzA5MDgzOCByZz13d3cKfiMhIHRpZD0xMDk3MDY3MTc5CmFjaGphPwpzdGVsbCBEaXIgdm9yIGVzIGdpYnQgSGF1c21pdHRlbGNoZW4gU2NoYWVkbGluZ2UgbG9zenV3ZXJkZW4uIEVpbmVzIGRhdm9uIGlzdAppbiBkaWUgUGZsYW56dW5nZW4gZWluZmFjaCBQbGFuemVuIGRhendpc2NoZW4genVwZmxhbnplbiBkaWUgdm9uIFNjaGFlZGxpbmdlbgpnZW1pZWRlbiB3ZXJkZW4uCkRhcyBrb2VubmVuIG1pdHVudGVyIHNvZ2FyIEJsdW1lbiBzZWluIHNvIGRhcyBlcyBnYW56IGx1c3RpZyBkb3J0IGF1c3NpZWh0LgoKCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBBbGxlcyBUb21hdGUsIG9kZXIgd2FzPyAoQWxib2luLCAgNi4gT2t0IDIwMDQsIDIxOjMyOjI2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTA5NzA5MTAzMiByZz13d3cKfiMhIHRpZD0xMDk3MDY3MTc5ClNpZSBzY2htZWNrZW4gc28gd2llIGd1dGUgUGFydHl0b21hdGVuIGhhbHQgc2NobWVja2VuOiB3ZXNlbnRsaWNoIGJlc3NlciBpbQpHZXNjaG1hY2sgYWxzIGlocmUgZ3JvZXNzZXJlbiBBcnRnZW5vc3Nlbi4KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBnbGF1YmUgdW5kIHNvIChNaXJpbCwgIDguIE9rdCAyMDA0LCAwODo0MzoxNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk3MDA3OTYyIHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRGFua2UgZnVlciBkZW4gVGlwcCwgR2xvaW5zb24uCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogZ2xhdWJlIHVuZCBzbyAoRGFya2xvciwgIDguIE9rdCAyMDA0LCAyMDoxNDo0MCk6Cn4jISBybj1IdW1uaSBydD0xMDk3MDA3NTg4IHJnPXd3dwp+IyEgdGlkPTEwOTcwMDQ1MTkKRGl0by4uLiAtIFVuaXRhcmlhbiBVbml2ZXJzYWxpc20uLi4KCkRhcmtsb3IgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChPZ28sICA5LiBPa3QgMjAwNCwgMTM6MzM6MzYpOgp+IyEgcm49TW9yZ290aCBydD0xMDk1ODQxODUzIHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKTmljaHQsIGRhc3MgZGVyIFRocmVhZCBoaWVyIGVpbnNjaGxhZWZ0OgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy81MTk4MgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgaGFiZW4gd29obCBlaW5lbiBhbiBkZXIgV2FmZmVsIChab29rLCAgOS4gT2t0IDIwMDQsIDE0OjM4OjIwKToKfiMhIHJuPU9nbyBydD0xMDk3MzIxNjE2IHJnPXd3dwp+IyEgdGlkPTEwOTU4NDE4NTMKQWhqYSwgc293YXMgbGFzIGljaCBoZXV0ZSBhdWNoIGluIGRlciBGQVogOikKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWJlbiB3aWxsISEhMTEgKE9nbywgMTIuIE9rdCAyMDA0LCAyMzo1MTowNik6Cmh0dHA6Ly9vcmlnaW4ud3d3LnNlZ3dheS5jb20vY2VudGF1ci8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWJlbiB3aWxsISEhMTEgKEdsb2luc29uLCAxMi4gT2t0IDIwMDQsIDIzOjU1OjE2KToKfiMhIHJuPU9nbyBydD0xMDk3NjE3ODY2IHJnPXd3dwp+IyEgdGlkPTEwOTc2MTc4NjYKQmFoLiBEb3BwZWx0ZSBSb2xscmVpYnVuZyB1bmQgd2VuaWdlciBGbGV4aWJpbGl0YWV0PyBNYWNoIGVpbmVuIE1vdG9yIHJhbiwKZGFubiB2aWVsbGVpY2h0LCBzbyBpc3QgZGFzIGVpbiBkdW1tZXMgU3BpZWx6ZXVnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWJlbiB3aWxsISEhMTEgKEdsb2luc29uLCAxMi4gT2t0IDIwMDQsIDIzOjU1OjU2KToKfiMhIHJuPU9nbyBydD0xMDk3NjE3ODY2IHJnPXd3dwp+IyEgdGlkPTEwOTc2MTc4NjYKQWgsIGljaCBzZWggZ3JhZC4gSGF0IGVpbmVuIE1vdG9yLiAyMCBtcC9oLiBXaWUgbGFuZ3dlaWxpZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFiZW4gd2lsbCEhITExIChDYXR3ZWF6bGUsIDEzLiBPa3QgMjAwNCwgMDg6MzQ6MDYpOgp+IyEgcm49T2dvIHJ0PTEwOTc2MTc4NjYgcmc9d3d3Cn4jISB0aWQ9MTA5NzYxNzg2NgpFaW4gS2V0dGNhci4gVG9sbC4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW50aXF1YXJpc2NoZSBCdWVjaGVyIChab29rLCAxMy4gT2t0IDIwMDQsIDExOjQ1OjA2KToKSWNoIGVtcGZlaGxlLCBmYWxscyBqZW1hbmQgc293YXMgc3VjaHQsIGRpZSBVUkwgaHR0cDovL3d3dy56dmFiLmRlLApkYSBoYWJlIGljaCBudW4gYXVjaCBuYWNoIFdvY2hlbiBkZXMgU3VjaGVucyBlaW4gQnVjaCBnZWZ1bmRlbi4gOikgCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3ByYWNoZW4gdW5kIGlocmUgRnJlaXplaXQgKEdsb2luc29uLCAxNS4gT2t0IDIwMDQsIDAxOjI4OjQ2KToKS2VpbmUgQWhudW5nLCB3aWUgaWNoIGRhcyBiZXNjaHJlaWJlbiBzb2xsLiBJc3QgYXVmIGplZGVuIEZhbGwgbnVyIGV0d2FzIGZ1ZXIKTGV1dGUgbWl0IGVpbiB3ZW5pZyBBaG51bmcgdm9uIFByb2dyYW1taWVyc3ByYWNoZW4gLi4uCgpodHRwOi8vd2VibG9nLmJ1cm5pbmdiaXJkLm5ldC9hcmNoaXZlcy8yMDAyLzEwLzA4L3RoZS1wYXJhYmxlLW9mLXRoZS1sYW5ndWFnZXMKaHR0cDovL3Rpbnl1cmwuY29tLzNsOW85CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmF0aW9uIFN0YXRlcyAoV2hpdGV0aWdlciwgMTcuIE9rdCAyMDA0LCAxOToxNzo1MCk6Ck1hbCB3aWVkZXIgZWluIE9ubGluZS0vQnJvd3Nlci1TcGllbCwgZGllc21hbCBhYmVyIGVpbmVzLCB3byBudXIgc2VociB3ZW5pZwpaZWl0LCBwcm8gVGFnIG51ciB3ZW5pZ2UgTWludXRlbiwgYmVub2V0aWd0IHdpcmQuLi4KICBOYXRpb25TdGF0ZXMgaXMgYSBmcmVlIG5hdGlvbiBzaW11bGF0aW9uIGdhbWUuIEJ1aWxkIGEgbmF0aW9uIGFuZCBydW4gaXQKYWNjb3JkaW5nIHRvIHlvdXIgb3duIHdhcnBlZCBwb2xpdGljYWwgaWRlYWxzLiBDcmVhdGUgYSBVdG9waWFuIHBhcmFkaXNlIGZvcgpzb2NpZXR5J3MgbGVzcyBmb3J0dW5hdGUgb3IgYSB0b3RhbGl0YXJpYW4gY29ycG9yYXRlIHBvbGljZSBzdGF0ZS4gQ2FyZSBmb3IKeW91ciBwZW9wbGUgb3IgZGVsaWJlcmF0ZWx5IG9wcHJlc3MgdGhlbS4gSm9pbiB0aGUgVW5pdGVkIE5hdGlvbnMgb3IgcmVtYWluIGEKcm9ndWUgc3RhdGUuIEl0J3MgcmVhbGx5IHVwIHRvIHlvdS4KCmh0dHA6Ly93d3cubmF0aW9uc3RhdGVzLm5ldC8KClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmF0aW9uIFN0YXRlcyAoR3JpbW1ib3JuLCAxNy4gT2t0IDIwMDQsIDIxOjI2OjQ3KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTA5ODAzMzQ3MCByZz13d3cKfiMhIHRpZD0xMDk4MDMzNDcwCktsaW5ndCwgYWxzIHNlaSBkYXMgZGFzIExpZWJsaW5nc3NwaWVsIHZvbiBHV0IuLi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYXRpb24gU3RhdGVzIChDZWlsbywgMTcuIE9rdCAyMDA0LCAyMjoxMTo0NCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTA5ODA0MTIwNyByZz13d3cKfiMhIHRpZD0xMDk4MDMzNDcwCkthdW0uIFNjaGxpZXNzbGljaCBpc3QgS3JpZWcgbmljaHQgZWluZ2ViYXV0LgoKQ2VpbG8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgYWxsZSBMb3RSIEZhbnMgKFNhdWVya3JhdXQsIDE4LiBPa3QgMjAwNCwgMTg6MDA6MDUpOgpadW1pbmRlc3QgZGVyIFRyYWlsZXIgaXN0IHNjaG9uIGZlcnRpZzogaHR0cDovL3d3dy5yaW5ndGhpbmcuY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmt2ZXJ3YXJudW5nIC4uLiAoR2xvaW5zb24sIDE5LiBPa3QgMjAwNCwgMTY6MzA6MDYpOgouLi4gZGllIGplZGVyIGZ1ZXIgZGVuIEZhbGwgZGVyIEZhZWxsZSBiZWkgc2ljaCBoYWJlbiBzb2xsdGU6CgpodHRwOi8vcGljcy51bmYtdW5mLmRlL2RldGFpbHMucGhwP2ltYWdlX2lkPTcxCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBhcmt2ZXJ3YXJudW5nIC4uLiAoUGhvYm9zLCAxOS4gT2t0IDIwMDQsIDE5OjA5OjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEwOTgxOTYyMDYgcmc9d3d3Cn4jISB0aWQ9MTA5ODE5NjIwNgpIbW0sIGthbm4gamVtYW5kIGFyYWJpc2NoPyBXdWVyZGUgbWljaCBpbnRlcmVzc2llcmVuLCB3YXMgZGEgbm9jaApuZXR0ZXMgZHJpbiBzdGVodC4KClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQYXJrdmVyd2FybnVuZyAuLi4gKEdsb2luc29uLCAxOS4gT2t0IDIwMDQsIDIwOjE0OjE2KToKfiMhIHJuPVBob2JvcyBydD0xMDk4MjA1Nzc4IHJnPXd3dwp+IyEgdGlkPTEwOTgxOTYyMDYKV2FyIGRhcyBzZWhyIGRldXRsaWNoPyBEYW5uIGxhZCBpY2ggZXMgcnVudGVyIHVuZCBmcmFnIG1hbCBtZWluZSBDaGVmaW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsdXN0aWdlIHdlcmJlZmlsbWNoZW4gKEFsYm9pbiwgMTkuIE9rdCAyMDA0LCAyMDoyOToxMCk6Cmh0dHA6Ly93d3cuZnJlc2hmaWxtcy5kZS9rdXJ6ZmlsbWUva3VyemZpbG1lNS5zaHRtbAoKdmllbCBzcGFzcwoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktyYW5rIChNZWRpYywgMTkuIE9rdCAyMDA0LCAyMzoxODoxNSk6CktyYW5rZSBGbGFzaC1DYXJ0b29uczoKCnd3dy5iYWxsei5kZQoKKFNyeSwgZmFsbHMgZGllIFNpdGUgaGllciBzY2hvbiBtYWwgYXVmZ2V0YXVjaHQgaXN0Li4uKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdG9sbGVzIG9ubGluZSBnYW1lIChNdWFkaWIsIDIwLiBPa3QgMjAwNCwgMTc6MjE6MzEpOgpodHRwOi8vd3d3LmtpcnVuLmNvLnVrL3dlYi9tYWtlYWxvbmdlcmxpbmsvZ290b3RoZWxpbmt0aGF0aXNsb25nZXIucGhwP2xpbms9MTAKNCwxMTYsMTE2LDExMiw1OCw0Nyw0NywxMDksMTAzLDQ2LDEwOSwxMTcsMTAwLDQ2LDEwMCwxMDEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmdlc3VuZGhlaXRzcmlzaWtlbiBiZWltIHNub29rZXIgKE11YWRpYiwgMjAuIE9rdCAyMDA0LCAxNzoyOToyOCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9zcGllZ2VsLzAsMTUxOCwzMjM2NjksMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVXNhYmlsaXR5IChGb29iYXIsIDIwLiBPa3QgMjAwNCwgMTk6MTc6MzMpOgpodHRwOi8vdGhlZGFpbHl3dGYuY29tL2FyY2hpdmUvMjAwNC8wNi8xNy8zMjkuYXNweAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSUtFQSAoQXBvcGhpcywgMjQuIE9rdCAyMDA0LCAxNDoyNzoyNik6Cmh0dHA6Ly90aW55dXJsLmNvbS82cnh5ZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElLRUEgKFRhcmFuaXMsIDI0LiBPa3QgMjAwNCwgMTU6MTY6NTkpOgp+IyEgcm49QXBvcGhpcyBydD0xMDk4NjIwODQ2IHJnPXd3dwp+IyEgdGlkPTEwOTg2MjA4NDYKTWhtbSwgZXJpbm5lcnQgbWljaCBkYXJhbiwgZGFzcyBzaWNoIGVpbiBLb2xsZWdlIHZvbiBtaXIgbmV1bGljaCB1ZWJlciBkYXMKQmV0dCAiTGlsbGVoYW1tZXIiLCBhdWNoIHZvbiBJa2VhLCBsdXN0aWcgZ2VtYWNodCBoYXQuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElLRUEgKEFtYXJ5bGxpcywgMjQuIE9rdCAyMDA0LCAxODo1OToyMSk6Cn4jISBybj1BcG9waGlzIHJ0PTEwOTg2MjA4NDYgcmc9d3d3Cn4jISB0aWQ9MTA5ODYyMDg0Ngpyb3RmbC4KCkVyaW5uZXJ0IG1pY2ggYW4gZGllIFdhc3NlcmJldHRlbi1TemVuZSBnZXN0ZXJuIGJlaSAiVmVyc3RlaGVuIFNpZSBTcGFzcyIgOikKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSUtFQSAoQWxib2luLCAyNC4gT2t0IDIwMDQsIDIyOjUzOjA5KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMDk4NjM3MTYxIHJnPXd3dwp+IyEgdGlkPTEwOTg2MjA4NDYKRGllcyB3dXJkZSBzY2hvbiB2b3IgZWluaWdlciBaZWl0IGluIE1lZ2FzY2htYXJybiBiZW1lcmt0IC4uCkljaCBnbGF1YmUgQ2F0dHkgd2Fycy4gVGphIG9obmUgTWVnYXNjaG1hcnJuIHdhZXJlIGRhcyBuaWNodCBwYXNzaWVydC0KCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbWVyaWthbmlzY2hlciBXYWhsa2FtcGYgKERlZXBibHVlLCAyNS4gT2t0IDIwMDQsIDExOjA2OjA0KToKaHR0cDovL3d3dy5zei1vbmxpbmUuZGUvbmFjaHJpY2h0ZW4vYXJ0aWtlbC5hc3A/aWQ9NzA0MjQ2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgc3Bpbm5lbiwgZGllIEJyaXRlbiAoRGVlcGJsdWUsIDI1LiBPa3QgMjAwNCwgMTE6MzA6MjYpOgpodHRwOi8vd3d3Lm4tdHYuZGUvNTQ0MDk1NC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPUCBDbGFyayBDb3VudHkgKFRhcmFuaXMsIDI1LiBPa3QgMjAwNCwgMjM6MjE6MzkpOgpEaWVzZSBBa3Rpb24gdW5kIGRpZSBSZWFrdGlvbmVuIGRhcmF1ZiBmaW5kZSBpY2ggamEgc2Nob24gd2l0emlnLi4uIDstKQpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9hdXNsYW5kLzAsMTUxOCwzMjQ4MDgsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZnVlciBkaWUgRnJldW5kZSBkZXMgTVVIIGhpZXIuLi4gOykgKEFwb3BoaXMsIDI2LiBPa3QgMjAwNCwgMDk6NTA6MzUpOgoKaHR0cDovL3Rpbnl1cmwuY29tLzUyYWg4CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFkaW9wYW5uZW4gKEFwb3BoaXMsIDI2LiBPa3QgMjAwNCwgMTA6NDg6MzQpOgpsdXN0aWdlIFNhbW1sdW5nIHZvbiBQYW5uZW4gYmVpbSBSYWRpbyArIGJpc3NjaGVuIFRWCgpodHRwOi8vd3d3LnJhZGlvcGFubmVuLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llIGdlaWwgKE1vcmdvdGgsIDI2LiBPa3QgMjAwNCwgMTE6MjY6NDUpOgpodHRwOi8vd3d3LmhhcmR3YXJlbGFicy5kZS9pbmRleC5waHA/c2hvdz1tb3JlbmV3cyYmbmV3c19pZD0zOTUyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIGdlaWwgKEdsb2luc29uLCAyNi4gT2t0IDIwMDQsIDExOjMzOjA3KToKfiMhIHJuPU1vcmdvdGggcnQ9MTA5ODc4MjgwNSByZz13d3cKfiMhIHRpZD0xMDk4NzgyODA1Cldob2FoLCBkYXMgaGF0IGJlc3RpbW10IGF1ZiBlaW5lciBqYXBhbmlzY2hlbiBFcmZpbmRlcm1lc3NlIGhvZWNoc3RlIEVocnVuZ2VuCmFiZ2VyYWV1bXQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTm9jaCBhbGxlIEhhYXJlIGF1ZiBkZXIgUnVlYmU/IChEZWVwYmx1ZSwgMjYuIE9rdCAyMDA0LCAxNTozNzo1MCk6Cnd3dy5nbGF0emVuLXJlY2huZXIuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFtZXJpa2FuaXNjaGUgd2FobG1hc2NoaW5lbiAoQWxib2luLCAyNi4gT2t0IDIwMDQsIDE1OjM5OjA0KToKaHR0cDovL2x1c3RpY2guZGUvdmlkZW9zLwoKdmllbCBTcGFzcwoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2llIGdlaWwgKFZhbmlvbiwgMjYuIE9rdCAyMDA0LCAxNzoyOTo0NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMDk4NzgzMTg3IHJnPXd3dwp+IyEgdGlkPTEwOTg3ODI4MDUKVVNCIGFscyBTdHJvbXF1ZWxsZSBpcyBqYSBvZWQuIElzIGRlciB3ZW5pZ3N0ZW5zIHByb2dyYW1taWVyYmFyPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjNELVNlbmR1bmdlbiAoSmFtZXNvbiwgMjYuIE9rdCAyMDA0LCAyMjowMzowMyk6ClZvbSA3Li0xNC4gTm92ZW1iZXIgYnJpbmd0IEthYmVsMSBkaXZlcnNlIEJlaXRyYWVnZSBpbiAzRC4gRWluZSBUVi1aZWl0c2NocmlmdApicmluZ3QgZGF6dSAzRC1CcmlsbGVuIHVudGVycyBWb2xrLCB1bmQgYmVpbSBPcHRpa2VyIGdpYnQncyBhYiBOb3ZlbWJlciBhdWNoCndlbGNoZSAtIGFuZ2VibGljaCBrb3N0ZW5sb3MuCgpodHRwOi8vd3d3LmthYmVsMS5kZS9pbmZvLzNkLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQm9ociBleSEgKEphbWVzb24sIDI2LiBPa3QgMjAwNCwgMjI6MDg6NTEpOgpodHRwOi8vd3d3LnhnZW5zdHVkaW9zLmNvbS9wbGF5L21vdGhlcmxvYWQvbW90aGVybG9hZC5zd2YKCkxhdXQgU1dSMyAoIGh0dHA6Ly93d3cuc3dyMy5kZS9pbmZvL21hZ2F6aW4vbXVsdGltZWRpYWtvbXBha3QvICkgZWluCkZsYXNoLVNwaWVsIG1pdCBTdWNodHBvdGVudGlhbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCllBU1QgKHlldCBhbm90aGVyIHN0dXBpZCB0ZXN0KSAoR2xvaW5zb24sIDI3LiBPa3QgMjAwNCwgMTI6MzI6NDIpOgpodHRwOi8vaG9tZS5hdHQubmV0L35zbHVnYnV0dGVyL2V2aWwvbmV1dHJhbC5odG0KCkRhcm4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHV0dHktU2ljaGVyaGVpdHNsb2NoIChHbG9pbnNvbiwgMjcuIE9rdCAyMDA0LCAxMzozMTowMyk6CkFuc2NobmFsbGVuLCB1cGRhdGVuOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy81MjYxMwoKKEdpYnQgc2ljaGVyIG5pY2h0IHdlbmlnZXIgaGllciBkaWUgaGVydW1wdXR0eWVuIHVuZCBpaHJlIE5ldHp1bWdlYnVuZyBuaWNodAprb250cm9sbGllcmVuIGtvZW5uZW4uKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcnNiZXJnYmF1IChBcG9waGlzLCAyNy4gT2t0IDIwMDQsIDE4OjA1OjM4KToKRmxhc2gtU3BpZWxjaGVuIG1pdCBTdWNodC1GYWt0b3IgOikKCmh0dHA6Ly93d3cueGdlbnN0dWRpb3MuY29tL3BsYXkvbW90aGVybG9hZC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgZGllIEZyYXVlbiB1bnRlciBldWNoIC4uLiAoT2dhciwgMjcuIE9rdCAyMDA0LCAyMDo1NDoxNSk6Ci4uLiBiencuIGRpZSwgZGllIHNpY2ggYWxzIHNvbGNoZSBhdXNnZWJlbjoKCiAgaHR0cDovL3d3dy5jb25yYWQtc2lzdGVycy5kZS8KCkRhIHNpZWh0IG1hbiBkb2NoIHNvZm9ydCwgd2FzIEZyYXVlbiBpbnRlcmVzc2llcnQuICBCZXNvbmRlcnMgaGVydm9yaGViZW4KbW9lY2h0ZSBpY2ggYW4gZGllc2VyIFN0ZWxsZSBkaWUgVG9wLVByb2R1a3RlIGRlciBXb2NoZSwgbGllYmV2b2xsIGF1ZmdlemFlaGx0CmluIGVpbmVyIFNQQS4uLiBhZWggLi4uIFByb2R1a3RpbmZvcm1hdGlvbnMtTWFpbCwgZGllIGljaCBnZXJhZGUgZXJoYWx0ZW4KaGFiZToKCiAgLSBGb3Jtc2Nob2VuZXIgVGhvbXNvbi1GZXJuc2VoZXIgbWl0IEtpbmRlcnNpY2hlcnVuZwogIC0gU2F1Z3JvYm90ZXIKICAtIFNwcmluZ3NlaWwgbWl0IEthbG9yaWVuemFlaGxlcgogIC0gTXlzdGlzY2hlIE1vbmRwaGFzZW51aHIgIkxVTkEiCiAgLSAiQm9keWd1YXJkIGZ1ZXIgZGllIEhhbmR0YXNjaGUiIChlaW5lIEFsYXJtc2lyZW5lKQoKVW5kIHp1bGV0enQgbm9jaCBldHdhcyBVbnZlcnppY2h0YmFyZXM6CgogIC0gU3Rvc3NzdGFuZ2VuLVNjaG9uZXIgLSBTY2h1ZXR6ZW4gSWhyIEF1dG8gYmVpbSBFaW5wYXJrZW4hCgpEYXMgYWxsZXMgZXJpbm5lcnQgbWljaCBkb2NoIGVpbiB3ZW5pZyBhbiBkaWUgRmVybnNlaHdlcmJ1bmcgenUgUHJpbnplc3NpbgpNb25vbm9rZSAtIGljaCB3ZWlzcyBuaWNodCwgb2IgaWNoIGVzIGFtdWVzYW50IGZpbmRlbiBzb2xsLCBvZGVyIG9iIGljaCBtaXIKU29yZ2VuIG1hY2hlbiBzb2xsdGUsIHdlaWwgZGllIFdlcmJlZmFjaGxldXRlIGlocmUgWmllbGdydXBwZSB2aWVsbGVpY2h0IG51cgp6dSBndXQga2VubmVuLgoKT2dhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgZGllIEZyYXVlbiB1bnRlciBldWNoIC4uLiAoTXVwZmVsLCAyNy4gT2t0IDIwMDQsIDIwOjU2OjI2KToKfiMhIHJuPU9nYXIgcnQ9MTA5ODkwMzI1NSByZz13d3cKfiMhIHRpZD0xMDk4OTAzMjU1CkRpZSBNYWVubmVyIG5laG1lbiBkYW5uIG51ciBkZW4gU2F1Z3JvYm90ZXIgOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVlciBkaWUgRnJhdWVuIHVudGVyIGV1Y2ggLi4uIChIb2JvLCAyNy4gT2t0IDIwMDQsIDIyOjQwOjA0KToKfiMhIHJuPU9nYXIgcnQ9MTA5ODkwMzI1NSByZz13d3cKfiMhIHRpZD0xMDk4OTAzMjU1CkljaCBmaW5kJyBiZXNvbmRlcnMgZGllIEdlc2NoZW5rZSBmdWVyIElITiB0b2xsLiBTbyBlaW5lbiBGbGFjaG1hbm4gYnJhdWNodAptYW4gZG9jaCBlaW5mYWNoLi4uIGdhbnogenUgc2Nod2VpZ2VuIHZvbiBkZW0gcXVhbGl0YXRpdiBzaWNoZXIgdWViZXJhdXMKaG9jaHdlcnRpZ2VuIFdlcmt6ZXVna29mZmVyLiBPZGVyIGRvY2ggbGllYmVyIGRpZSBGZXJyYXJpLUdlc2NoaWNodGU/IApEaWVzZXMgSmFociBnaWJ0J3MgZW5kbGljaCBtYWwgZWluIHNjaG9lbmVzIFdlaWhuYWNodHNnZXNjaGVuayBmdWVyIERpY2gsCkJvaW5nIDspCgogICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgZGllIEZyYXVlbiB1bnRlciBldWNoIC4uLiAoR2xvaW5zb24sIDI4LiBPa3QgMjAwNCwgMDA6MTg6MjQpOgp+IyEgcm49SG9ibyBydD0xMDk4OTA5NjA0IHJnPXd3dwp+IyEgdGlkPTEwOTg5MDMyNTUKVWgsIGFtIFdvY2hlbmVuZGUgZ2lidCBlcyB3aWVkZXIgbGFlbmdlcmVzIEZlcm5zZWhwcm9ncmFtbS4gVmllbGxlaWNodCBpc3QKZGFubiBqYSBtYWwgd2FzIEludGVyZXNzYW50ZXMgZGFiZWkuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VydHZvbGxlIHRpcHMgZnVlciBmcmF1ZW4hIChHbm9tZSwgMzAuIE9rdCAyMDA0LCAyMDoxNzowNyk6Cnd3dy5nbXgubmV0L2RlL3RoZW1lbi9saWZlc3R5bGUvbGllYmUvc2V4LzQ0NTUxMixjYz0wMDAwMDAxNTYzMDAwMDQ0NTUxMjFDMmk3MwouaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXV0c2NoISAoR25vbWUsIDMwLiBPa3QgMjAwNCwgMjE6MTE6MTApOgp3d3cuY291Y2hrYXJ0b2ZmZWxzYWxhdC5kZS9IUC9mbGFzaC9DSEVDS0VSL2NoZWNrZXIwMS5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkd1aWxkd2FycyAoVmFyZGlvbiwgMzEuIE9rdCAyMDA0LCAyMDo0NDoxOSk6CkhpLgoKU2VpdCBGcmVpdGFnIGxhZXVmdCBkZXIgb2VmZmVudGxpY2hlIFRlc3QgZnVlciBlaW4gbmV1ZXMgT25saW5lLVJvbGxlbnNwaWVsLgpVbnRlciB3d3cuZ3VpbGR3YXJzLmNvbSBnaWJ0cyBkZW4gQ2xpZW50LiBEYXMgZ2FuemUgaXN0IHJlY2h0IGhhY2smc2xheSBsYXN0aWcKdW5kIGRpZSBTdG9yeSBlaGVyIGR1ZW5uLiBEaWFibG8yLVNwaWVsZXIgZHVlcmZ0ZW4gZ2VmYWxsZW4gZmluZGVuLiBEZXIgVGVzdApsYWV1ZnQgZXJzdG1hbCBudXIgbm9jaCBoZXV0ZS4gQWxzIE1vZGVtLU51dHplciBrYW5uIG1hbiBzaWNoIGRpZSBTYWNoZSBhdWNoCmVoZXIgc2NoZW5rZW4sIGFtIEFuZmFuZyB3ZXJkZW4gZ2xlaWNoIG1hbCBldHdhIDE1ME1CIGdlem9nZW4uCgpWYXJkaW9uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmdWVyIGZyZXVuZGUgZGVzIGdlcGZsZWd0ZW4gYnVzaC1iYXNoaW5ncyAoQWxib2luLCAzMS4gT2t0IDIwMDQsIDIzOjAxOjI2KToKaHR0cDovL3d3dy5pbWdhZy5jb20vcHJvZHVjdC9mdWxsL2FwLzMwNjc5MDcvZ3JhcGhpYzEuc3dmCgptYW4gcGxhdHppZXJlIGRhcyBHZWhpcm4gZXJmb2xncmVpY2ggaW4gZGllIFJ1ZWJlIGRlcyBob2ZmZW50bGljaCB1ZWJlcm1vcmdlbgphYmdld2FlaGx0ZW4gUHJhZXNpZGVudGVuLiBXZW5ucyBrbGFwcHQgd2lua2VuIEZyYWdtZW50ZSBhdXMgc2VpbmVuIFJlZGVuLgpWaWVsIFNwYXNzCgpBbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU28gd2FlaGxlbiBkaWUgQW1pcyAoSmFtZXNvbiwgIDIuIE5vdiAyMDA0LCAxMToxODo1Nik6CkVpbiBWaWRlbyB2b24gZWluZXIgb3JpZ2luYWxlbiBVUy1XYWhsbWFzY2hpbmUuCgpodHRwOi8vd3d3LmtvcmV1cy5jb20vZmlsZXMvMjAwNDEwL2J1c2gta2Vycnktdm90aW5nLW1hY2hpbmUud212CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU28gd2FlaGxlbiBkaWUgQW1pcyAoRGFya2xvciwgIDIuIE5vdiAyMDA0LCAxMTozNDoxMik6Cn4jISBybj1KYW1lc29uIHJ0PTEwOTkzOTA3MzYgcmc9d3d3Cn4jISB0aWQ9MTA5OTM5MDczNgpJY2ggZ2xhdWIgZGFzIGtvbW10IGRlciBXYWhyaGVpdCBzY2hvbiBnYW56IHNjaG9lbiBuYWguLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU28gd2FlaGxlbiBkaWUgQW1pcyAoR2xvaW5zb24sICAyLiBOb3YgMjAwNCwgMTE6Mzk6MDApOgp+IyEgcm49RGFya2xvciBydD0xMDk5MzkxNjUyIHJnPXd3dwp+IyEgdGlkPTEwOTkzOTA3MzYKRGFubiBmaW5kZSBpY2ggZ3V0LCBkYXNzIGVzIGJlaSBkaWVzZXIgV2FobCBuaWNodCBhbGxlaW4gdW0gZGVpbmVuIG9kZXIgRHVieWFzCkdsYXViZW4gZ2VodCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNvIHdhZWhsZW4gZGllIEFtaXMgKERhcmtsb3IsICAyLiBOb3YgMjAwNCwgMTE6NDA6MDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTA5OTM5MTk0MCByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2CldpciB3ZXJkZW4gc2VoZW4uLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNvIHdhZWhsZW4gZGllIEFtaXMgKEdsb2luc29uLCAgMi4gTm92IDIwMDQsIDExOjQwOjU2KToKfiMhIHJuPURhcmtsb3IgcnQ9MTA5OTM5MjAwMCByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2CldpZSBqZXR6dC4gSWNoIGRlbmtlIGR1IGdsYXVic3Q/IFdhbmt0IGRlciBHbGF1YmVuIHNjaG9uPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNvIHdhZWhsZW4gZGllIEFtaXMgKERlZXBibHVlLCAgMi4gTm92IDIwMDQsIDExOjQzOjIwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwOTkzOTIwNTYgcmc9d3d3Cn4jISB0aWQ9MTA5OTM5MDczNgpFZ2FsLCBlcyBnZXdpbm50IHNvd2llc28gZGVyIE5hZGVyIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU28gd2FlaGxlbiBkaWUgQW1pcyAoTW9udGFudXMsICAyLiBOb3YgMjAwNCwgMTE6NDM6MzQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTA5OTM5MjIwMCByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2ClNvbGFuZ2UgbmljaHQgTmFkZGVsIGdld2lubnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNvIHdhZWhsZW4gZGllIEFtaXMgKERlZXBibHVlLCAgMi4gTm92IDIwMDQsIDExOjQ0OjI2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTEwOTkzOTIyMTQgcmc9d3d3Cn4jISB0aWQ9MTA5OTM5MDczNgpGdWVyIEFtZXJpa2Egd2FlcmUgc2VsYnN0IGRhcyBlaW5lIFZlcmJlc3NlcnVuZy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFNvIHdhZWhsZW4gZGllIEFtaXMgKERhcmtsb3IsICAyLiBOb3YgMjAwNCwgMTE6NDg6MjApOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTA5OTM5MjI2NiByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2Ckd1dCBpY2ggZXJzZXR6ZSBnbGF1YmVuIGR1cmNoIGRlbmtlbiB1bmQgZGEgRGVua2VuIGphIHNvd2llc28gR2x1ZWNrc3NhY2hlIGlzLAp3aWUgbWFuIHNvIHNpZWh0Li4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU28gd2FlaGxlbiBkaWUgQW1pcyAoQWxib2luLCAgMi4gTm92IDIwMDQsIDE1OjA2OjQ1KToKfiMhIHJuPUphbWVzb24gcnQ9MTA5OTM5MDczNiByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2CmRhcyBoYWJlIGljaCBzY2hvbiB2b3IgRGlyIGdlbGlua3QsIHNvZ2FyIGluIGRlcnNlbGJlbiBydWJyaWsgKmFldHNjaCBiYWV0c2NoKgoKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU28gd2FlaGxlbiBkaWUgQW1pcyAoTXVhZGliLCAgMi4gTm92IDIwMDQsIDE2OjE3OjExKToKfiMhIHJuPUFsYm9pbiBydD0xMDk5NDA0NDA1IHJnPXd3dwp+IyEgdGlkPTEwOTkzOTA3MzYKaWNoIGhhYiBlbmRsaWNoIGRhcyBwYXNzZW5kZSB3b3J0IGZ1ZXIgYWxib2lucyBhcnRpa2VsIGdlZnVuZGVuCmluZmFudGlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTbyB3YWVobGVuIGRpZSBBbWlzIChHbG9pbnNvbiwgIDIuIE5vdiAyMDA0LCAxNjoxODo1Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTA5OTQwODYzMSByZz13d3cKfiMhIHRpZD0xMDk5MzkwNzM2CkFsbGUgb2RlciBudXIgZGVuIGVpbmVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBPbmlvbiA6LSkgKEJhbWJ1bGtvLCAgMi4gTm92IDIwMDQsIDIzOjA1OjA2KToKaHR0cDovL3d3dy50aGVvbmlvbi5jb20vbmV3cy9pbmRleC5waHA/aXNzdWU9NDA0NAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaG5hZXBwY2hlbiA6KSAoTW9yZ290aCwgIDQuIE5vdiAyMDA0LCAwOToyOTozMCk6Cmh0dHA6Ly93d3cuaXpldGl0LmRlL3Byb2pla3RlLzEwL2ViYXkuaHRtCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVycm9yaXN0ZW5sYWdlciBpbiBHcnVuZHNjaHVsZSA6LSkgKEJhbWJ1bGtvLCAgNS4gTm92IDIwMDQsIDEyOjA3OjE1KToKaHR0cDovL3Rpbnl1cmwuY29tLzVmc2F4CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlcnJvcmlzdGVubGFnZXIgaW4gR3J1bmRzY2h1bGUgOi0pIChEYXJrbG9yLCAgNS4gTm92IDIwMDQsIDEyOjE3OjMzKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwOTk2NTI4MzUgcmc9d3d3Cn4jISB0aWQ9MTA5OTY1MjgzNQpZZWFoIC0gZW5kbGljaCBoYWJlbiBkaWUgQW1pZXMgZXJrYW5udCwgZGFzcyBkaWUgVGVycm9yaXN0ZW4gaW0gZWlnZW5lbiBMYW5kCmxlYmVuLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGVycm9yaXN0ZW5sYWdlciBpbiBHcnVuZHNjaHVsZSA6LSkgKEJhbWJpLCAgNS4gTm92IDIwMDQsIDE4OjM5OjI4KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEwOTk2NTI4MzUgcmc9d3d3Cn4jISB0aWQ9MTA5OTY1MjgzNQpXYXJuaW5nOiBDYW4ndCBjb25uZWN0IHRvIGxvY2FsIE15U1FMIHNlcnZlciB0aHJvdWdoIHNvY2tldAonL3Zhci9saWIvbXlzcWwvbXlzcWwuc29jaycgKDIpIGluCi92YXIvd3d3L3Zob3N0cy90aW55dXJsLmNvbS9odGRvY3MvZGJfY29ubmVjdC5waHAgb24gbGluZSAzCgpGYXRhbCBlcnJvcjogQ2FsbCB0byB1bmRlZmluZWQgZnVuY3Rpb246IG15c3FsZXJyb3IoKSBpbgovdmFyL3d3dy92aG9zdHMvdGlueXVybC5jb20vaHRkb2NzL2RiX2Nvbm5lY3QucGhwIG9uIGxpbmUgMwoKCgpXaWUgbGF1dGV0ZSBkZW5uIGRpZSBPcmlnaW5hbGFkcmVzc2U/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgZXMgbmljaHQgYWxsZXMgZ2lidC4uIFZlcmdsZWljaCB2b24gRHVyY2hzY2huaXR0cy1JUSBtaXQgV2FobGVyZ2VibmlzIChXaGl0ZXRpZ2VyLCAgNS4gTm92IDIwMDQsIDE4OjQ2OjA0KToKaHR0cDovL3d3dy5ob21sZS5jb20vYWVyLzIwMDRlbGVjdGlvbl9ieV9pcS5wbmcKClRpZ2VyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRlcnJvcmlzdGVubGFnZXIgaW4gR3J1bmRzY2h1bGUgOi0pIChLZWxseWJ1bmR5LCAgNS4gTm92IDIwMDQsIDIxOjU3OjMxKToKfiMhIHJuPURhcmtsb3IgcnQ9MTA5OTY1MzQ1MyByZz13d3cKfiMhIHRpZD0xMDk5NjUyODM1CkJlc2FndGUgR3J1bmRzY2h1bGUgbGFnIG5pY2h0IGV0d2EgX3p1ZmFlbGxpZ18gaW4gZWluZW0gdm9uIEFmcm9hbWVyaWthbmVybgpvZGVyIExhdGlub3MgYmV3b2hudGVuIFN0YWR0dmllcnRlbD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGVycm9yaXN0ZW5sYWdlciBpbiBHcnVuZHNjaHVsZSA6LSkgKEJhbWJ1bGtvLCAgOC4gTm92IDIwMDQsIDEyOjAzOjI5KToKfiMhIHJuPUJhbWJpIHJ0PTEwOTk2NzYzNjggcmc9d3d3Cn4jISB0aWQ9MTA5OTY1MjgzNQpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcGFub3JhbWEvMCwxNTE4LDMyNjUwOSwwMC5odG1sCgpBYmVyIGRpZSB0aW55LXVybCBrbGFwcHQgamV0enQgYXVjaC4gKGJlaSBtaXIgenVtaW5kZXN0KQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRhIG11c3N0IGljaCBlaW4gYmlzc2NoZW4gZ3JpbnNlbi4uLiAoQXBvcGhpcywgMTAuIE5vdiAyMDA0LCAwOTo1ODo0OSk6CnZvbiBkZS53aWtpcGVkaWEub3JnCgpNdWRkZXIgaXN0IGVpbmUgQmV6ZWljaG51bmcgZnVlciBMZXV0ZSwgZGllIGluIGVpbmVtIE1VRCAoTXVsdGktVXNlci1EdW5nZW9uKQpzcGllbGVuLiBCZWdyaWZmZSB3aWUgTVVEZXIgb2RlciBNdWRlciBzaW5kIGVoZXIgdW5nZWJyYWV1Y2hsaWNoLCBrb21tZW4KamVkb2NoIGF1Y2ggdm9yLiBEZXIgdHlwaXNjaGUgRHVyY2hzY2huaXR0c211ZGRlciBpc3QgbWFlbm5saWNoLCBldHdhIDIzIEphaHJlCmFsdCB1bmQgc3R1ZGllcnQgZWluIG5hdHVyd2lzc2Vuc2NoYWZ0bGljaGVzIEZhY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGEgbXVzc3QgaWNoIGVpbiBiaXNzY2hlbiBncmluc2VuLi4uIChDYXR3ZWF6bGUsIDEwLiBOb3YgMjAwNCwgMTA6MjM6MjEpOgp+IyEgcm49QXBvcGhpcyBydD0xMTAwMDc3MTI5IHJnPXd3dwp+IyEgdGlkPTExMDAwNzcxMjkKRmVobHQgZGVyIFp1c2F0ejogIkVzIGdpYnQga2VpbmUgd2VpYmxpY2hlbiBNdWRkZXIuIgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGEgbXVzc3QgaWNoIGVpbiBiaXNzY2hlbiBncmluc2VuLi4uIChLZWxseWJ1bmR5LCAxMC4gTm92IDIwMDQsIDIwOjI2OjAyKToKfiMhIHJuPUFwb3BoaXMgcnQ9MTEwMDA3NzEyOSByZz13d3cKfiMhIHRpZD0xMTAwMDc3MTI5Ci4uLnVuZCBzaW5kIG5hdHVlcmxpY2gga3VyenNpY2h0aWcsIHVlYmVyZ2V3aWNodGlnLCBrdXJ6YXRtaWcgdW5kCmtvbnRha3RzY2hldS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGEgbXVzc3QgaWNoIGVpbiBiaXNzY2hlbiBncmluc2VuLi4uIChEZWVwYmx1ZSwgMTAuIE5vdiAyMDA0LCAyMTozNToyOCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMDAxMTQ3NjIgcmc9d3d3Cn4jISB0aWQ9MTEwMDA3NzEyOQpXb2hlciB3ZWlzc3QgRHUgZGFzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGl0dF5XQnJpdG5leSAoTW9yZ290aCwgMTEuIE5vdiAyMDA0LCAyMjoyNjoxMCk6Cmh0dHA6Ly9tZWdpLmthYmVsMS5jei9zd2YvYnJpdG5leS5zd2YKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGl0dF5XQnJpdG5leSAoSGlnaHQsIDEyLiBOb3YgMjAwNCwgMjE6Mzk6NTUpOgp+IyEgcm49TW9yZ290aCBydD0xMTAwMjA4MzcwIHJnPXd3dwp+IyEgdGlkPTExMDAyMDgzNzAKZGllIHdpZXZpZWx0ZSB2ZXJzaW9uIGlzIGRhcz8gZGllIDkyMzQ4OXN0ZT8gaXJnZW5kd2FubiBpcyBlaW5mYWNoIGRlciB3aXR6CnJhdXMgLi4uCgpjaHJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkYSBtdXNzdCBpY2ggZWluIGJpc3NjaGVuIGdyaW5zZW4uLi4gKFRydWcsIDEzLiBOb3YgMjAwNCwgMDA6MjE6MzcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDAwNzg2MDEgcmc9d3d3Cn4jISB0aWQ9MTEwMDA3NzEyOQpaZWlsZSBuYWNoZ2VsaWVmZXJ0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3YXMgZnVlciBkaWUgZGtlbm5lciAoTXVhZGliLCAxNS4gTm92IDIwMDQsIDE3OjIzOjI5KToKaHR0cDovL3dldHRlci5ydGwuZGUvcmVkYWt0aW9uL2dhbWVjaGFubmVsL2RhcnQvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3YXIgZGFzIG5pY2h0IHNjaG9uIGhpZXI/IChNdWFkaWIsIDE1LiBOb3YgMjAwNCwgMTc6MjU6MTcpOgpodHRwOi8vd3d3LXNjZi51c2MuZWR1L356ZXRsZW4vc29ycnlldmVyeWJvZHkvMi5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb2NoIEZyYWdlbj8gKERlZXBibHVlLCAxNS4gTm92IDIwMDQsIDIyOjI2OjU5KToKaHR0cDovL3d3dy5mcmFnLW11dHRpLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVkaWU6IEFnZ3Jlc3Npb25lbiBnZWdlbiBDb21wdXRlciBzaW5kIG5pY2h0IHNlbHRlbiAoRGVlcGJsdWUsIDE2LiBOb3YgMjAwNCwgMTY6MTU6MjIpOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy81MzMwMwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0dWRpZTogQWdncmVzc2lvbmVuIGdlZ2VuIENvbXB1dGVyIHNpbmQgbmljaHQgc2VsdGVuIChab29rLCAxNi4gTm92IDIwMDQsIDE2OjE2OjM2KToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDA2MTgxMjIgcmc9d3d3Cn4jISB0aWQ9MTEwMDYxODEyMgpOaWNodCB3aXJrbGljaCBlcnN0YXVubGljaC4gQW4gZWluZXIgVHVlciBoaWVyIGFuIGRlciBVbmkgbGFzIGljaCBtYWwKIlRyYXVlIGtlaW5lbSBDb21wdXRlciwgZGVuIER1IG5pY2h0IGF1cyBkZW0gRmVuc3RlciB3ZXJmZW4ga2FubnN0LiIKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0dWRpZTogQWdncmVzc2lvbmVuIGdlZ2VuIENvbXB1dGVyIHNpbmQgbmljaHQgc2VsdGVuIChXdXJ6ZWwsIDE2LiBOb3YgMjAwNCwgMTY6MTc6NDQpOgp+IyEgcm49Wm9vayBydD0xMTAwNjE4MTk2IHJnPXd3dwp+IyEgdGlkPTExMDA2MTgxMjIKYWx0ZXIgc3BydWNoOiAiaWYgeW91IGNhbiBjYXJyeSBpdCBhd2F5LCBpdCdzIG5vIGNvbXB1dGVyIi4gYWxzbyBlaGVyIGVpbgp3ZWd3ZXJmb2JqZWt0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIERhcmsgUm9vbSAoUGhvYm9zLCAxNi4gTm92IDIwMDQsIDIwOjU0OjAwKToKWnUgbWVpbmVuIExpZWJsaW5nc3B1enpsZXMgZ2Vob2VyZW4gdW50ZXIgYW5kZXJlbSBkaWVzZSBtZXJrd3VlcmRpZ2VuIApNYXNjaGluZW4gbWl0IHZpZWxlbiBLbm9lcGZlbiB1bmQgYnVudGVuIExpY2h0ZXJuLCB3byBuaXJnZW5kd28gZWluZSAKQW5sZWl0dW5nIGRhYmVpIHN0ZWh0LCB3YXMgbWFuIGRlbm4gamV0enQgYml0dGUgc2VociBtYWNoZW4gc29sbCAtIGFsc28gCnNvd2FzLCB3YXMgbm9ybWFsZXJ3ZWlzZSBpbiBNeXN0IGFuIGplZGVyIEVja2UgcnVtc3RlaHQuCgpXZXIgZGllIG5vZXRpZ2VuIEJyb3dzZXItVm9yYXVzc2V0enVuZ2VuIGJlc2l0enQgKGtlaW5lIEFobnVuZywgd2VsY2hlCmRhcyBnZW5hdSBzaW5kKSwgc29sbHRlIG1hbCBkaWUgZm9sZ2VuZGUgU2VpdGUgYmVzdWNoZW46CgpodHRwOi8vd3d3Lndvb2x5dGhpbmtpbmcuY29tLyAgCnJlY2h0ZSBTZWl0ZTogICh4KSBQTEFZCgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGhlIERhcmsgUm9vbSAoSGlnaGxhbmRlciwgMTcuIE5vdiAyMDA0LCAxMDoyMDowOCk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwMDYzNDg0MCByZz13d3cKfiMhIHRpZD0xMTAwNjM0ODQwCkhhdCBzaWNoIGRhcyBqZW1hbmQgYW5nZXRhbj8gTmFjaCBkZW0gYmxhdWVuIEtub3BmIHdpcmQncyB1bnZlcnN0YWVuZGxpY2guCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVGhlIERhcmsgUm9vbSAoWm9vaywgMTcuIE5vdiAyMDA0LCAxMDozMTo0Myk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMDA2ODMyMDggcmc9d3d3Cn4jISB0aWQ9MTEwMDYzNDg0MApNZWluIEJyb3dzZXIgemVpZ3QgbWlyIG5pY2h0IHZpZWwgU2lubnZvbGxlcyBhbi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBUaGUgRGFyayBSb29tIChIaWdobGFuZGVyLCAxNy4gTm92IDIwMDQsIDEzOjMzOjEwKToKfiMhIHJuPVpvb2sgcnQ9MTEwMDY4MzkwMyByZz13d3cKfiMhIHRpZD0xMTAwNjM0ODQwClZlcm11dGxpY2ggRmxhc2ggbmljaHQgaW5zdGFsbGllcnQvYWt0aXYuIFNvIGF1ZiBWZXJkYWNodC4KR2VzdWNodCB3aXJkIHVlYnJpZ2VucyBkaWUgTG9lc3VuZyBkZXMgUGxhbmV0ZW4tUHV6emxlcywgc3ByaWNoIHdvCmF1ZiBhbGxlbiBTZWl0ZW4gYW5mYW5ncyBkcmVpIHJvdGUgS3JlaXNlIGtyZWlzZW4uCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmViYXkuLi4uIChCYW1idWxrbywgMTcuIE5vdiAyMDA0LCAxNDozNDoyNyk6Ck1hbiBnZWhlIHp1IGViYXkuY29tIHVuZCBzdWNoZSBuYWNoICJ2aXJnaW4gbWFyeSBjaGVlc2UiLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBlYmF5Li4uLiAoQm9pbmcsIDE3LiBOb3YgMjAwNCwgMTQ6NTU6MjUpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEwMDY5ODQ2NyByZz13d3cKfiMhIHRpZD0xMTAwNjk4NDY3CkphIC4uLiB1bmQgZGFubj8KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBlYmF5Li4uLiAoQmFtYnVsa28sIDE3LiBOb3YgMjAwNCwgMTQ6NTc6MDcpOgp+IyEgcm49Qm9pbmcgcnQ9MTEwMDY5OTcyNSByZz13d3cKfiMhIHRpZD0xMTAwNjk4NDY3CgoKCmh0dHA6Ly9jZ2kuZWJheS5jb20vd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTU1MzU4OTA3NTcmY2F0ZWdvcnk9MTkyNzAmcwpzcGFnZW5hbWU9cnZpOjE6MgoKOi0pIAoKb2RlcgoKaHR0cDovL3Rpbnl1cmwuY29tLzQ3bTd1CgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGhlIERhcmsgUm9vbSAoSGlnaGxhbmRlciwgMTcuIE5vdiAyMDA0LCAxNzoxMDowMSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMDA2OTQ3OTAgcmc9d3d3Cn4jISB0aWQ9MTEwMDYzNDg0MApMb2VzdW5nIGdlZnVuZGVuLCB1bmQgYW0gQW5mYW5nIGlzdCBkYXMgUHV6emxlIG5hdHVlcmxpY2ggbGVlciwKbmljaHQgbWl0IHJvdGVuIFBsYW5ldGVuIGJlc3R1ZWNrdC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogVGhlIERhcmsgUm9vbSAoSGlnaGxhbmRlciwgMTcuIE5vdiAyMDA0LCAxNzoxMDoyOSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMDA3MDc4MDEgcmc9d3d3Cn4jISB0aWQ9MTEwMDYzNDg0MApVbmQgRWhyZSB3ZW0gRWhyZSBnZWJ1ZWhydCAtIEJvaW5nIHdhcidzLCBkZXIgaXJnZW5kd2FubiB2b24Kc2VpbmVyIExlaXR1bmcgcnVudGVyZ2VzdGllZ2VuIGlzdCAqZyoKCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZWJheS4uLi4gKEJhbWJpLCAxOC4gTm92IDIwMDQsIDEwOjA3OjQzKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMDA2OTk4Mjcgcmc9d3d3Cn4jISB0aWQ9MTEwMDY5ODQ2NwpXaWUga29tbXQgbWFuIGVpZ2VudGxpY2ggYXVmIGRpZXNlIFN1Y2hiZWdyaWZmc2xpc3RlPyBOYWNoIHdhcyBoYXN0IER1CnVyc3BydWVuZ2xpY2ggZ2VzdWNodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklzdCBkYXMgbm9jaCBTcG9ydD8gKERlZXBibHVlLCAxOC4gTm92IDIwMDQsIDE3OjMyOjA4KToKaHR0cDovL3d3dy5uLXR2LmRlLzU0NTE0OTMuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9sb2NhdXN0LURhdGVuYmFuayAoR2xvaW5zb24sIDE5LiBOb3YgMjAwNCwgMjM6MjQ6NDkpOgpodHRwOi8vbmFtZXMueWFkdmFzaGVtLm9yZy93cHMvcG9ydGFsL0lZX0hPTl9FbnRyYW5jZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpZWxlZmVsZD8gR2lidHMgbmljaHQhIChBcG9waGlzLCAyMC4gTm92IDIwMDQsIDEzOjQ3OjMxKToKCkxhbmc6Cmh0dHA6Ly93d3cudGFnZXNzY2hhdS5kZS9ha3R1ZWxsL21lbGR1bmdlbi8wLDExODUsT0lEMzgwNDk1Nl9SRUYxLDAwLmh0bWwKCm9kZXIga3VyejoKaHR0cDovL3Rpbnl1cmwuY29tLzZ5YWU3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VyYWRlIGluIGVpbmVyIFNpZ25hdHVyIGdlbGVzZW4uLi4gKEJhbWJpLCAyMS4gTm92IDIwMDQsIDEyOjU0OjQ4KToKSWNoIHd1ZXJkZSBnZXJuZSBkaWUgV2VsdCB2ZXJhZW5kZXJuLCBhYmVyIEdvdHQgZ2lidCBtaXIgZGVuIFF1ZWxsdGV4dCBuaWNodCEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkx1c3QsIERTQSBvbmxpbmUgenUgc3BpZWxlbj8gKERlZXBibHVlLCAyMS4gTm92IDIwMDQsIDIzOjU4OjQ0KToKaHR0cDovL3d3dy5vbmxpbmUtZHNhLmRlLnZ1LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VubmVkeSB1bmQgYW5kZXJlIE9ya3MgKEdsb2luc29uLCAyMi4gTm92IDIwMDQsIDEyOjE4OjAxKToKV2FyIGVzIGFsc28gZG9jaCBkZXIgZ2Fyc3RpZ2UgTGVlIEhhcnZleT8KCmh0dHA6Ly93d3cud2VsdC5kZS9kYXRhLzIwMDQvMTEvMjIvMzYzNzg2Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptdWVlZWRlIChNdWFkaWIsIDIyLiBOb3YgMjAwNCwgMTQ6MjA6MjQpOgpodHRwOi8vd3d3LmVpbnplbGxlci50ay8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBtdWVlZWRlIChNdWFkaWIsIDIyLiBOb3YgMjAwNCwgMTQ6MjE6MTIpOgp+IyEgcm49TXVhZGliIHJ0PTExMDExMjk2MjQgcmc9d3d3Cn4jISB0aWQ9MTEwMTEyOTYyNApnbmEKZmFsc2NoZSB1cmwKaGllciBkaWUgcmljaHRpZ2UKaHR0cDovL3d3dy5nbzJzbGVlcC5iZS9mbGFzaC9pbnRyby5zd2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbXVlZWVkZSAoR2xvaW5zb24sIDIyLiBOb3YgMjAwNCwgMTk6MTM6MzMpOgp+IyEgcm49TXVhZGliIHJ0PTExMDExMjk2NzIgcmc9d3d3Cn4jISB0aWQ9MTEwMTEyOTYyNApBbHNvIFNjaGFmZSBzaW5kIGRhcyBuaWNodCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLZW5uZWR5IHVuZCBhbmRlcmUgT3JrcyAoUGhvYm9zLCAyMi4gTm92IDIwMDQsIDE5OjQ0OjQ4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDExMjIyODEgcmc9d3d3Cn4jISB0aWQ9MTEwMTEyMjI4MQpCYWxkIGhhc3QgRHUgZGllIE1vZWdsaWNoa2VpdCwgZXMgc2VsYnN0IGhlcmF1c3p1ZmluZGVuOgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNTM1MzcKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnVlciBhbGxlLCBkaWUgZGVuIEhvbHptaWNobCBuaWNodCBtZWhyIGhvZXJlbiBrb2VubmVuIChEZWVwYmx1ZSwgMjIuIE5vdiAyMDA0LCAyMDoxNjoxMSk6Cmh0dHA6Ly93d3cucmFkaW8tamFkZS5kZS9maWxlL2Rvd25sb2FkL0FOVElNSUNILm1wMwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgYWxsZSwgZGllIGRlbiBIb2x6bWljaGwgbmljaHQgbWVociBob2VyZW4ga29lbm5lbiAoVmFuaW9uLCAyMi4gTm92IDIwMDQsIDIwOjIxOjMwKToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDExNTA5NzEgcmc9d3d3Cn4jISB0aWQ9MTEwMTE1MDk3MQpEdSBrZW5uc3QgUmFkaW8gSmFkZT8gV2VpLgoKViosIGRlciBkYXMgZ2VsZWdlbnRsaWNoIHZlcnNlaGVudGxpY2ggbWFsIGltIEF1dG9yYWRpbyByZWluYmVrb21tdC4gKGJpc2hlcgpVbmZhbGxmcmVpKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgYWxsZSwgZGllIGRlbiBIb2x6bWljaGwgbmljaHQgbWVociBob2VyZW4ga29lbm5lbiAoQmFtYmksIDIyLiBOb3YgMjAwNCwgMjI6NTc6NTQpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwMTE1MDk3MSByZz13d3cKfiMhIHRpZD0xMTAxMTUwOTcxCkljaCBoYWJlIG1hbCBiZWltIFdhcmNyYWZ0LTMtVEQgc3BpZWxlbiBuZSBLYXJ0ZSByZWluYmVrb21tZW4sIGRhIGhhYmVuIHNpY2gKZGllIFNwaWVsZXIgZGFydWViZXIgdW50ZXJoYWx0ZW4sIHdpZSBtYW4gZGllIE11c2lrIGF1c3NjaGFsdGVuIGtvZW5uZSwKYW5zdGF0dCB6dSBzcGllbGVuLiBEYXMgaGF0IHp3YXIgbWl0IGRlbSBha3R1ZWxsZW4gTGllZCBuaWNodCBkaXJla3QgZXR3YXMgenUKdHVuLCBhYmVyIGljaCB6aXRpZXJlIGVpbmUgQXVzc2FnZSB6dSBkZW0gKGRvcnQgdmVyd2VuZGV0ZW4pIExpZWQsIHdlbGNoZSBoaWVyCm5pY2h0IHVuYW5nZWJyYWNodCBpc3QuIFNvZmVybiBtYW4gZGllIG5vZXRpZ2VuIFNhcmthc211cy0gdW5kIElyb25pZWZsYWdzCnNldHp0Li4uCgoKICAgICAgIkdlaWxlIE11Y2tlLiIKCgpNZkcsIEJhbWJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VzY2hlbmt0IGlzdCBnZXNjaGVua3Q/IE1pdG5pY2h0ZW4hIChEZWVwYmx1ZSwgMjYuIE5vdiAyMDA0LCAxNzowMjozMik6Cmh0dHA6Ly93d3cuc3otb25saW5lLmRlL25hY2hyaWNodGVuL2FydGlrZWwuYXNwP2lkPTcyNjk3NwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc2NoZW5rdCBpc3QgZ2VzY2hlbmt0PyBNaXRuaWNodGVuISAoQWxib2luLCAyNi4gTm92IDIwMDQsIDIyOjIwOjAwKToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDE0ODQ5NTIgcmc9d3d3Cn4jISB0aWQ9MTEwMTQ4NDk1MgpEdSBoYXN0IG5vY2ggdmVyZ2Vzc2VuOiB1bmQgZGVyIFdpbGxlIGRlcyBUb3RlbiB3aXJkIGltbWVyIHJlc3Bla3RpZXJ0LCB2b3IKYWxsZW4gRGluZ2VuIHdlbm4gZXMgdW0gR2VsZCBnZWh0Oy0pCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXNjaGVua3QgaXN0IGdlc2NoZW5rdD8gTWl0bmljaHRlbiEgKFpvb2ssIDI3LiBOb3YgMjAwNCwgMTM6MDU6MTIpOgp+IyEgcm49QWxib2luIHJ0PTExMDE1MDQwMDAgcmc9d3d3Cn4jISB0aWQ9MTEwMTQ4NDk1MgpUamEsIGluIGRlbiBVU0Egd2FlciBkYXMgekIgbmljaHQgcGFzc2llcnQuIERhIGthbm4gbWFuIHdpcmtzYW0gZW50ZXJiZW4uLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJyZWFzdC1UZXN0IChOb25uZSwgMjkuIE5vdiAyMDA0LCAxMDoyNTo1Nik6Cmh0dHA6Ly9mdW4uZHJuby5kZS9waWNzL2VuZ2xpc2gvQnJlYXN0VGVzdC54bHMKCjE5IHZvbiAyMCEKCk5vbm5lLCBFeHBlcnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VuaWFsIGRhbmViZW4gLSBvZGVyPyAoR3dlbmlsaSwgMjkuIE5vdiAyMDA0LCAxNjo0OTozNik6CkZ1ZXIgZGllIERldXRzY2hsYW5ka2VubmVyIHVuZCBkaWUsIGRpZSBlcyB3ZXJkZW4gd29sbGVuOgpodHRwOi8vd2V0dGVyLnJ0bC5kZS9yZWRha3Rpb24vZ2FtZWNoYW5uZWwvZGFydC8KSGFiZXQgRnJldWRlIDopCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VuaWFsIGRhbmViZW4gLSBvZGVyPyAoQm9pbmcsIDI5LiBOb3YgMjAwNCwgMTc6MDE6MzYpOgp+IyEgcm49R3dlbmlsaSBydD0xMTAxNzQzMzc2IHJnPXd3dwp+IyEgdGlkPTExMDE3NDMzNzYKU2llaGUgYXVjaCBBcnRpa2VsIDMyLCBpbiBkaWVzZXIgUnVicmlrIC4uLiA7KQogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlbmlhbCBkYW5lYmVuIC0gb2Rlcj8gKFpvb2ssIDI5LiBOb3YgMjAwNCwgMTc6MDE6NTApOgp+IyEgcm49Qm9pbmcgcnQ9MTEwMTc0NDA5NiByZz13d3cKfiMhIHRpZD0xMTAxNzQzMzc2CnVuZCBuYWNoIHdpZSB2b3IgZ2VodCBkZXIgZmxhc2gtIG9kZXIgc29uc3R3aWUgbWlzdCBiZWkgbWlyIG5pY2h0LgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbmlhbCBkYW5lYmVuIC0gb2Rlcj8gKEJvaW5nLCAyOS4gTm92IDIwMDQsIDE3OjAyOjIwKToKfiMhIHJuPVpvb2sgcnQ9MTEwMTc0NDExMCByZz13d3cKfiMhIHRpZD0xMTAxNzQzMzc2ClNjaGFkZSwgaXN0IG5hY2ggd2llIHZvciByZWNodCB1bnRlcmhhbHRzYW0uIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlbmlhbCBkYW5lYmVuIC0gb2Rlcj8gKENoYWdhbGwsIDI5LiBOb3YgMjAwNCwgMTc6MDI6MjQpOgp+IyEgcm49Wm9vayBydD0xMTAxNzQ0MTEwIHJnPXd3dwp+IyEgdGlkPTExMDE3NDMzNzYKU2NoYWZmIERpciBoYWx0IGVpbiBvcmRlbnRsaWNoZXMgQmV0cmllYnNzeXN0ZW0gYW4uCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VuaWFsIGRhbmViZW4gLSBvZGVyPyAoQ3JvZnQsIDI5LiBOb3YgMjAwNCwgMTc6MDM6MDApOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTAxNzQ0MTQ0IHJnPXd3dwp+IyEgdGlkPTExMDE3NDMzNzYKRW1hY3MgaGF0IGVyIGRvY2ggc2Nob24uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV1RGPyEgKEFwb3BoaXMsIDI5LiBOb3YgMjAwNCwgMjM6MzI6NTYpOgpTdGV2ZSBCYWxtZXIsIGtvbWlzY2hlciBUeXAgOikKCmh0dHA6Ly9mdW4uZHJuby5kZS9tb3ZpZXMvZGV2ZWxvcGVycy5tcGVnCigxLjYgTUIpCmh0dHA6Ly9mdW4uZHJuby5kZS9tb3ZpZXMvZGFuY2Vtb25rZXlib3kubXBnCigzLjAgTUIpCgoqa29wZnNjaHVldHRlbCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXVEY/ISAoQXBvcGhpcywgMjkuIE5vdiAyMDA0LCAyMzozNDowMik6Cn4jISBybj1BcG9waGlzIHJ0PTExMDE3Njc1NzYgcmc9d3d3Cn4jISB0aWQ9MTEwMTc2NzU3NgphY2hqYSwgZmFsbHMgZGVuIGplbWFuZCBuaWNodCBrZW5udC4uIGRhcyBpc3QgZGVyIENoZWYgdm9uIE1pY3Jvc29mdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXVEY/ISAoR2xvaW5zb24sIDI5LiBOb3YgMjAwNCwgMjM6Mzk6NTQpOgp+IyEgcm49QXBvcGhpcyBydD0xMTAxNzY3NjQyIHJnPXd3dwp+IyEgdGlkPTExMDE3Njc1NzYKTmFqYS4gQW1lcmlrYW5pc2NoLCBlbnRodXNpYXN0aXNjaC4gTWljcm9zb2Z0IGJhdXQgc2ljaCBqYSBudW4gbmljaHQgcmVpbiBhdWYKU2NoZWlzc2UgYXVmLCBhdWNoIHdlbm4gbWFuIE9TLUthZW1wZmVyIGRhcyBnZXJuIGFubmVobWVuLgoKTWljaCB3dWVyZGUgbGllYmVyIGRlciBXZXJiZWNsaXAgbWl0IEJhbGxtZXIgYXVzIGRlbiA4MGVybiBpbnRlcmVzc2llcmVuLCBkZXIKaWhuIGRhIHdvaGwgV2luZG93cyAxLjAgdW13ZXJiZW5kIHplaWd0LiBBbmdlYmxpY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV1RGPyEgKEFtYXJ5bGxpcywgMzAuIE5vdiAyMDA0LCAwMDoyODoxNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTAxNzY3OTk0IHJnPXd3dwp+IyEgdGlkPTExMDE3Njc1NzYKSWNoIGtlbm4gbnVyIGRlbiwgYmVpIGRlbSBCaWxseSBkYXMgV2luZG93cyBwcmFlc2VudGllcnQsIGRhcyBkYW5uIG1pdApCbHVlU2NyZWVuIGFic3R1ZXJ6dCA6KQoKQW1hKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlcmJlc3BvdHMgLi4uIChHbG9pbnNvbiwgMzAuIE5vdiAyMDA0LCAwMToxNDoyMCk6CkRlciBUaXRlbCBzYWd0IGFsbGVzOgoKaHR0cDovL2Z1bi5kcm5vLmRlL21vdmllcy9XYXJ1bV9pc3QlMjBfVmVyaCVmY3R1bmdfc29fd2ljaHRpZy5tcGVnCmh0dHA6Ly90aW55dXJsLmNvbS8zcGZldAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdlbmlhbCBkYW5lYmVuIC0gb2Rlcj8gKENhdHdlYXpsZSwgMzAuIE5vdiAyMDA0LCAxMDozOTowNyk6Cn4jISBybj1Dcm9mdCBydD0xMTAxNzQ0MTgwIHJnPXd3dwp+IyEgdGlkPTExMDE3NDMzNzYKUHVoLiBQYXN0IDIwMDBrbSA6KAoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZHZlbnRza2FsZW5kZXIgKEdsb2luc29uLCAzMC4gTm92IDIwMDQsIDE1OjQ0OjMxKToKaHR0cHM6Ly9menQ4NmFkdmVudC5taS5mdS1iZXJsaW4uZGUva2FsZW5kZXIucGhwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyZWFzdC1UZXN0IChHbm9tZSwgMzAuIE5vdiAyMDA0LCAxOToyMTozNyk6Cn4jISBybj1Ob25uZSBydD0xMTAxNzIwMzU2IHJnPXd3dwp+IyEgdGlkPTExMDE3MjAzNTYKMTYvMjAuCgppY2ggZ2xhdWJlIHdvaGwgbm9jaCB6dXZpZWwgYW4gZGFzIGd1dGUgYW0uLi4gYWVoLi4uIGltIG1lbnNjaGVuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTG9UUiBSZXR1cm4gb2YgdGhlIEtpbmcgVHJhaWxlciAoVHJ1ZywgMzAuIE5vdiAyMDA0LCAxOToyMzoxNSk6CkRpcmVrdGVyIExpbmssIGNhIDM4IE1CCmh0dHA6Ly9wcm9ncmVzc2l2ZTIuc3RyZWFtLmFvbC5jb20vbmV3bGluZS9nbC9uZXdsaW5lL2xvcmRvZnRoZXJpbmdzL1JldHVybk9mVApoZUtpbmcvdmlkZW9zL05vTWFuc0V4dG5kQ3V0XzcwMF9kbC5tb3YKCkFsdGVybmF0aXYsIGRpZSBXZWJzZWl0ZToKaHR0cDovL3d3dy5sb3Jkb2Z0aGVyaW5ncy5uZXQvaG9tZXZpZGVvL2ZyYW1lX3NwZWNpYWxfZHZkLmh0bWw/Tm9NYW5zRXh0bmRDdXQKClRydWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2xvY2F1c3QtRGF0ZW5iYW5rIChLZWxseWJ1bmR5LCAzMC4gTm92IDIwMDQsIDIwOjE1OjAwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDA5MDMwODkgcmc9d3d3Cn4jISB0aWQ9MTEwMDkwMzA4OQpIbW1tLiBBbHNvIGluIG1laW5lciBGYW1pbGllIGlzdCBuaWVtYW5kIGluIGRlciBEYXRlbmJhbmsuIG9vb29jaCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGV4dGFkdmVudHVyZXMgKEluZm9jb20gdW5kIE1hZ25ldGljIFNjcm9sbHMpIChCcmFuLCAgNC4gRGV6IDIwMDQsIDIxOjE3OjQ3KToKSGFsbG8sIFRleHRhZHZlbnR1cmUtRnJldW5kZSEKClZvciBlaW5lciBXZWlsZSBoYWJlIGljaCBlaW5lbiBMaW5rIGdlcG9zdGV0LCB1ZWJlciBkZW4gbWFuIGRpZSBhbHRlbgpJbmZvY29tLVNwaWVsZSAoWm9yaywgV2lzaGJyaW5nZXIsIFRyaW5pdHksIEhpdGNoaGlrZXIncyBHdWlkZSB0byB0aGUKR2FsYXh5Li4uKSBoZXJ1bnRlcmxhZGVuIGtvbm50ZS4gTWl0dGxlcndlaWxlIHd1cmRlIGRlbSBCZXRyZWliZXIgZGVyIFNlaXRlCnZvbiBkZXIgRmlybWEgQWN0aXZpc2lvbiAtIGRpZSBJbmZvY29tIDE5ODYgdWViZXJuYWhtIC0gdW50ZXJzYWd0LCBkaWUKRG93bmxvYWRzIHdlaXRlciBhbnp1YmlldGVuLgpBY3RpdmlzaW9uIGhhdCBkaWUgU3BpZWxlIGFscyBTYW1tbHVuZ2VuIG5vY2ggZWlubWFsIG5ldSBoZXJhdXNnZWJyYWNodC4KTWl0dGxlcndlaWxlIHNpbmQgc2llIGFiZXIgbGFlbmdzdCB2ZXJncmlmZmVuLCB3ZXNoYWxiIGljaCBkYXMgVmVyaGFsdGVuIHZvbgpBY3RpdmlzaW9uIG5pY2h0IG5hY2h2b2xsemllaGVuIGthbm4uCgpJY2ggaGFiZSBmb2xnZW5kZSBTZWl0ZSBnZWZ1bmRlbiwgZGllIGRpZSBEb3dubG9hZHMgbm9jaCBhbmJpZXRldC4gRXMgaXN0Cm5hdHVlcmxpY2ggaWxsZWdhbCwgZGllIFNwaWVsZSBoZXJ1bnRlcnp1bGFkZW4uIERvbid0IGRvIGl0LgoKaHR0cDovL3d3dy5iZW5zb24zZC5jb20vc3R1ZmYvaW5mb2NvbS8KCkluZm9ybWF0aW9uZW4sIFdhbGt0aHJvdWdocywgSW52aXNpY2x1ZXMgZXRjLiBnaWJ0IGVzIHdlaXRlcmhpbiBhdWYKCmh0dHA6Ly93d3cubGF0ei5vcmcvZ2FtZXMvCgoobnVyIGViZW4gZGllIFNwaWVsZSBzZWxic3QgbmljaHQgbWVocikuCgpEaWUgLnoqLURhdGVpZW4gc2luZCBzcGllbGJhciBtaXQgRnJvdHouIFdpbkZyb3R6IGdpYnQgZXMgYXVjaCBhdWYKYmVuc29uM2QuY29tIGFtIHNlbGJlbiBPcnQsIHdlaXRlcmUgVmVyc2lvbmVuIChhbGxlIFBsYXR0Zm9ybWVuKSB6LkIuIGhpZXI6CgpodHRwOi8vd3d3LmluZm9ybS1maWN0aW9uLm9yZy96bWFjaGluZS8KCih3byBtYW4gYXVjaCBDb21waWxlciB1bmQgYWxsZXMgd2VpdGVyZSBmaW5kZXQsIHdhcyBtYW4gYnJhdWNodCwgdW0gc2ljaApzZWxic3QgYW4gZWluZW0gei1jb2RlLVRleHRhZHZlbnR1cmUgenUgdmVyc3VjaGVuKS4KCkRpZSBhbHRlbiBNYWduZXRpYy1TY3JvbGwtU3BpZWxlIChHdWlsZCBvZiBUaGlldmVzLCBUaGUgUGF3biwgV29uZGVybGFuZC4uLikKZmluZGV0IG1hbiBoaWVyLCB6dXNhbW1lbiBtaXQgZWluZW0ga2xlaW5lbiBJbnRlcnByZXRlcjoKCnd3dy5pZi1sZWdlbmRzLm9yZy8lN0Vtc21lbW9yaWFsL2xlZ2FjeS9tYWduZXRpYy5odG0KClZpZWwgU3Bhc3MgYmVpbSBTY2h3ZWxnZW4gaW4gYWx0ZW4gWmVpdGVuIQoKR3J1c3MsIEJyYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUZXh0YWR2ZW50dXJlcyAoSW5mb2NvbSB1bmQgTWFnbmV0aWMgU2Nyb2xscykgKFBob2JvcywgIDUuIERleiAyMDA0LCAxMTowNTowOSk6Cn4jISBybj1CcmFuIHJ0PTExMDIxOTE0Njcgcmc9d3d3Cn4jISB0aWQ9MTEwMjE5MTQ2NwpBY2hqYSwgREFTIHdhcmVuIG5vY2ggU3BpZWxlIC4uIERva3VtZW50YXRpb24genUgZGVuIEluZm9jb20tU3BpZWxlbgpmaW5kZXQgbWFuIGF1ZgoKaHR0cDovL2luZm9jb20uZWxzZXdoZXJlLm9yZy9nYWxsZXJ5L2dyZXlib3guaHRtbAoKCkp1c3QgbXkgdHdvIFpvcmttaWRzLApQaG9ib3MgT29nbGUgRmxhdGhlYWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpZWJlIEVsdGVybiwga2xhZXJ0IGV1cmUgS2luZGVyIGF1ZiEgKFRvZGllLCAgNS4gRGV6IDIwMDQsIDEzOjUyOjI3KToKIC4uLiBEYW1pdCBzaWUgbmllbWFscyBlaW5lbiBzb2xjaGVuIE1pc3QgZnJhZ2VuLgoKaHR0cDovL3NmcmFuay5kbnM0Yml6Lm9yZy9mdW4va2lkZGkuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGV4dGFkdmVudHVyZXMgKEluZm9jb20gdW5kIE1hZ25ldGljIFNjcm9sbHMpIChCb2luZywgIDUuIERleiAyMDA0LCAxOTo1MTozOSk6Cn4jISBybj1CcmFuIHJ0PTExMDIxOTE0Njcgcmc9d3d3Cn4jISB0aWQ9MTEwMjE5MTQ2NwpUamEsIGljaCBoYWIgZGllIEFjdGl2aXNpb24gQXVzZ2FiZSBhbHMgT3JpZ2luYWwgaW4gbWVpbmVtIFJlZ2FsCnN0ZWhlbi4gOikgSGl0Y2hoaWtlciBpc3QgbGVpZGVyIG5pY2h0IGRyYXVmLCBkYSBoYXQgQWN0aXZpc2lvbgpuYWVtbGljaCBkaWUgUmVjaHRlIG5pY2h0IGJla29tbWVuLgogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRleHRhZHZlbnR1cmVzIChJbmZvY29tIHVuZCBNYWduZXRpYyBTY3JvbGxzKSAoQnJhbiwgIDYuIERleiAyMDA0LCAwODo0MzoxNyk6Cn4jISBybj1Cb2luZyBydD0xMTAyMjcyNjk5IHJnPXd3dwp+IyEgdGlkPTExMDIxOTE0NjcKCkJyYW4gc2FiYmVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlaWNoIHdlcmRlbiAuLi4gbGVnYWwgKEFyaywgIDYuIERleiAyMDA0LCAxNjowODoxNyk6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzUzOTUyCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyZWFzdC1UZXN0IChIaWdodCwgIDcuIERleiAyMDA0LCAxOTo1NToyMik6Cn4jISBybj1Ob25uZSBydD0xMTAxNzIwMzU2IHJnPXd3dwp+IyEgdGlkPTExMDE3MjAzNTYKMTggLi4uIAoKY2hyaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWljaCB3ZXJkZW4gLi4uIGxlZ2FsIChPZ28sICA5LiBEZXogMjAwNCwgMDM6MjE6MDApOgp+IyEgcm49QXJrIHJ0PTExMDIzNDU2OTcgcmc9d3d3Cn4jISB0aWQ9MTEwMjM0NTY5NwpEYXMgaXN0ICduZSBFbnRlLCB1bmQgbm9jaCBuaWNodCBtYWwgZWluZSBiZXNvbmRlcnMgbmV1ZSBvZGVyIG9yaWdpbmVsbGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJlaWNoIHdlcmRlbiAuLi4gbGVnYWwgKEFyaywgIDkuIERleiAyMDA0LCAxMTo1NzoxNyk6Cn4jISBybj1PZ28gcnQ9MTEwMjU1ODg2MCByZz13d3cKfiMhIHRpZD0xMTAyMzQ1Njk3CkVjaHQ/IE5hIGRhbm4gemllaHQgZXMgc2ljaCBsdXN0aWcgZHVyY2ggZWluaWdlIE9ubGluZSBaZWl0dW5nZW4uCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBCaXR0ZSBNaXRzdGltbWVuISAoT3JrdG9ldGVyLCAgOS4gRGV6IDIwMDQsIDIzOjAzOjE4KToKSGkhCkJpdHRlIHNjaGF1dCBtYWwgYXVmIGRpZSBVUkwgdW50ZW4gdW5kIG5vdGZhbGxzIG5hY2ggbmVyIGtsZWluZW4gS29zdHByb2JlCigubXAzIGdpYnRzIGRvcnQgYXVmIGRlciBTZWl0ZSksIGRhbm4gZnVlciBkaWUgQmFuZCBzdGltbWVuLCBkYW5rZS4KCkhhbGxvIExldXRlIQoKV2lyIHNpbmQgbmV1bGljaCBiZWltIE5ld2NvbWVyYXdhcmQgZGVyIFdlbHNlciBCYW5kYnJlaXRlbiBpbiBkaWUKbmFlY2hzdGUKUnVuZGUgZ2V3YWVobHQgd29yZGVuLGpldHp0IGdlaHQncyBkYXJ1bSxwZXIgb25saW5lLXZvdGluZyBpbiBkaWUKRW5kcnVuZGUgenUKa29tbWVuLGFsc28gd3VlcmQgaWNoIGV1Y2ggYml0dGVuLHdlciBrdXJ6IFplaXQgaGF0LGF1ZiBmb2xnZW5kZXIgU2l0ZQpzZWluZS9paHJlIFN0aW1tZSBmdWVyIHVucyBhYnp1Z2ViZW46Cgp3d3cubmV3Y29tZXJhd2FyZC5hdAoKSWhyIHd1ZXJkZXQgdW5zIHNlaHIgaGVsZmVuIGRhbWl0LGF1c3NlcmRlbSBsYWVzc3Qgc2ljaCBkb3J0LHVuZCB1ZWJyaWdlbnMKYXVjaAphdWYgdW5zZXJlciBob21lcGFnZSBuZXVlcyxha3R1ZWxsZXMgRGVtb21hdGVyaWFsIGFscyBtcDMgcnVudGVybGFkZW4hCkRpZSBQcm96ZWR1ciBpc3Qgc2ltcGVsLGlociBrbGlja3QgbnVyIGJlaSBGcmVlMkZseSBhdWYgZGVuCnZvdGUtYnV0dG9uLHNjaHJlaWJ0IGluIGRpZSBmb2xnZW5kIE1hc2tlIEV1cmUgZW1haWwtQWRyZXNzZSByZWluLGhhYnQKc29nbGVpY2ggZWluIG1haWwgdm9tIG5ld2NvbWVyYXdhcmQgaW4gZXVyZW0gUG9zdGVpbmdhbmcsaW4gZGVtIGlzdCBlaW4KbGluayxhdWYgZGVuIGlociBrbGlja3QsdW5kIEV1cmUgU3RpbW1lIHphZWhsdCEKSWNoIGhhYnMgYXVjaCBnc2NoYWZmdCx1bmQgZGFzIHdpbGwgd2FzIGhlaXNzZW4gOy0pIQpTb25zdGlnZSBOZXdzIHp1IHVucyBmaW5kZXQgaWhyIHdpZSBpbW1lciB1bnRlcgoKd3d3LmZyZWV0b2ZseS5hdAoKQ1Uscm9jayBvbiAmIFRoYW5rIFUgNCB2b3RpbmcsQW5kaS4KCgpQUyBpY2ggaGFiZSBzY2hvbiB2b3JnZXN0ZXJuIG1laW5lIFN0aW1tZSBhYmdlZ2ViZW4gdW5kIGJpbiBub2NoIG5pY2h0IHZvbgpTcGFtIHVlYmVyZmx1dGV0IHdvcmRlbiwgT3JrVC4KClBQUyBhY2ggamEsIGljaCBoYWV0dGUgZGVuIFp3aXNjaGVudGVpbCB3b2hsIGlyZ2VuZHdpZSBhbHMgcXVvdGUga2VubnplaWNobmVuCnNvbGxlbiwgc29ycnkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhcnRpa2VsIEJpdHRlIE1pdHN0aW1tZW4hIChSb25kYSwgMTAuIERleiAyMDA0LCAwMDowMTozNSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTEwMjYyOTc5OCByZz13d3cKfiMhIHRpZD0xMTAyNjI5Nzk4CkhtLiBTb3JyeSBPcmtULCBhYmVyIHdlbm4gaWNoIG5pY2h0IHdlaXNzLCB3YXJ1bSBpY2ggZnVlciBkaWUgc3RpbW1lbiBzb2xsCihuZXR0ZSBCYW5kLCBqb2RlbG5kZSBNdWRkZXIsIEJhbmRsZWFkZXIgaXN0IEJydWRlciBkZXIgRnJhdSwgZnVlciBkaWUgRHUgZ3JhZApzY2h3YWVybXN0IG9kZXIgc28pLCBoYWx0ZSBpY2ggZGFzIGVoZXIgZnVlciBTcGFtLiBXYXMgbWljaCBnZW1laW5lcndlaXNlIGVoZXIKZGF6dSBicmluZ3QsIGZ1ZXIgZGllIGFuZGVyZW4gQmFuZHMgenUgc3RpbW1lbi4uLgoKUm9uZGEgKmV0d2FzIGh1bmdyaWcgdW5kIGRlc3dlZ2VuIGV0d2FzIGtudXJyaWcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGFydGlrZWwgQml0dGUgTWl0c3RpbW1lbiEgKE9ya3RvZXRlciwgMTAuIERleiAyMDA0LCAwMDowMzo1Nyk6Cn4jISBybj1Sb25kYSBydD0xMTAyNjMzMjk1IHJnPXd3dwp+IyEgdGlkPTExMDI2Mjk3OTgKMS4gRGllIG1hY2hlbiBndXRlIE11c2lrCjIuIEljaCBrZW5uZSBlaW5lbiBhdXMgZGVyIEJhbmQKCmF1c3NlcmRlbSBoYWJlIGljaCBkb2NoIGdlc2NocmllYmVuLCBkYXNzIGR1IGRpciBlaW4gUHJvYmVzdHVlY2sgYmVpIGRlciBVUkwKcnVudGVybGFkZW4ga2FubnN0LCBicmF1Y2hzdCBhbHNvIG5pY2h0IG1hbCBtZWluZW0gVXJ0ZWlsIHp1IHZlcnRyYXVlbgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlc2NoZW5rdGlwcCAoUGhvYm9zLCAxMC4gRGV6IDIwMDQsIDIwOjE3OjU1KToKV2VyIG5vY2ggbmljaHQgd2Vpc3MsIHdhcyBlciBkZW4gbGllYmVuIEtsZWluZW4genUgV2VpaG5hY2h0ZW4Kc2NoZW5rZW4gc29sbDoKCmh0dHA6Ly9mdW4uZHJuby5kZS9waWNzL293bmVkLmpwZwoKRGEgbGV1Y2h0ZW4gZGllIEtpbmRlcmF1Z2VuIQoKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdlc2NoZW5rdGlwcCAoRGFya2xvciwgMTAuIERleiAyMDA0LCAyMDoyMToxOSk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwMjcwNjI3NSByZz13d3cKfiMhIHRpZD0xMTAyNzA2Mjc1CklzIGRhcyBuIEVkZGluZz8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VzY2hlbmt0aXBwIChHbG9pbnNvbiwgMTAuIERleiAyMDA0LCAyMDoyODoxNCk6Cn4jISBybj1EYXJrbG9yIHJ0PTExMDI3MDY0Nzkgcmc9d3d3Cn4jISB0aWQ9MTEwMjcwNjI3NQpXYWVjaHN0IHNpY2ggcmF1cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGlsYmx1ZXRlbiB1bSBTcHl3YXJlIC4uLiAoR2xvaW5zb24sIDExLiBEZXogMjAwNCwgMTM6MTE6MjMpOgpTcHl3YXJlLUdyYWJlbmtyaWVnIHVtIDEwLjAwMCBEb2xsYXIgdGFlZ2xpY2g6CgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy81NDE0MAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhaWx5IFplbiAoV2hpdGV0aWdlciwgMTEuIERleiAyMDA0LCAxOTowMjowNik6Cmh0dHA6Ly93d3cuZGFpbHl6ZW4uY29tLwoKVGlnZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxpc3BlcmF0aSAoT2dvLCAxMi4gRGV6IDIwMDQsIDIxOjUwOjU3KToKaHR0cDovL3d3dy5saXNwZXJhdGkuY29tLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGV0ZXIgU2luZ2VyLi4uIChPZ28sIDEzLiBEZXogMjAwNCwgMTg6MDI6MTcpOgpHZXJhZGUgYmVpIHByZXNzZXBvcnRhbC5kZSBnZWZ1bmRlbjoKaHR0cDovL3d3dy5wcmVzc2Vwb3J0YWwuZGUvc3RvcnlfcnNzLmh0eD9ucj02Mjc0MzAKCkVyc2NocmVja2VuZCwgd2VsY2hlciBQb2xlbWlrIHNpY2ggZGllIGV2YW5nZWxpc2NoZSBLaXJjaGUgYmVkaWVudCwgdW0KYW5zY2hlaW5lbmQgdW5yZWZsZWt0aWVydCBzZWluZW4gUHJhZWZlcmVueiBVdGlsaXRhcmlzbXVzIHp1IHZlcnRldWZlbG4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDEzLiBEZXogMjAwNCwgMTg6MDc6MDkpOgp+IyEgcm49T2dvIHJ0PTExMDI5NTczMzcgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpXYXMgZ2VuYXUgZXJzY2hyZWNrdCBEaWNoPyBEaWUgUG9sZW1payBvZGVyIGRhc3MgZGllc2VyIFZlcmJhbmQgZGFnZWdlbgpTdGVsbHVuZyBiZXppZWh0PwoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGV0ZXIgU2luZ2VyLi4uIChPZ28sIDEzLiBEZXogMjAwNCwgMTg6MTQ6MDcpOgp+IyEgcm49Wm9vayBydD0xMTAyOTU3NjI5IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKRGllIFBvbGVtaWsgd2llICJXaXJkIFRvZXR1bmdzcGhpbG9zb3BoIFBldGVyIFNpbmdlciBpbiBEZXV0c2NobGFuZApob2ZmYWVoaWc/IgoKV2FlaHJlbmQgbWVpbmVyIFNjaHVsemVpdCBhbiBlaW5lbSBrYXRob2xpc2NoZW4gR3ltbmFzaXVtIGhhYmVuIHdpciB1bnMgaW4gZGVyCkt1cnNwaGFzZSBpbSBSZWxpZ2lvbnN1bnRlcnJpY2ggdW50ZXIgTGVpdHVuZyBlaW5lcyBQYXRlcnMgZXh0ZW5zaXYgbWl0IGRlbQpVdGlsaXRhcmlzbXVzIGF1c2VpbmFuZGVyZ2VzZXR6dC4gSWNoIG11c3MgenVnZWJlbiwgZGFzcyBkaWVzIGVpbmVyIGRlcgpwaGlsb3NvcGhpc2NoZW4gQW5zYWV0emUgaXN0LCBkaWUgbWljaCBpbiBtZWluZW0gTGViZW4gYW0gbWVpc3RlbiBiZWVpbmRydWNrdApoYWJlbi4gRXMgbWFnIG5hY2h2b2xsemllaGJhciBzZWluLCBkYXNzIHNpY2ggc2VpbmUgVGhlc2VuIHVuZCBIeXBvdGhlc2VuCm5pY2h0IGluIFdvaGxnZWZhbGxlbiBzb2xjaGVyIFN0ZWxsZW4gc29ubmVuLCBhYmVyIG1pdCBkZXIgRm9yZGVydW5nICJrZWluClBvZGl1bSBmdWVyIEFnaXRhdGlvbnN6d2Vja2UiIGZ1ZXIgZGllc2VuICJUb2V0dW5nc3BoaWxvc29waGVuIiB6dXIgVmVyZnVlZ3VuZwp6dSBzdGVsbGVuLCBhZXVzc2VybiBzaWUgZWluIE1pc3MtIHVuZCBVbnZlcnN0YWVuZG5pcyBkZXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDEzLiBEZXogMjAwNCwgMTg6MTc6NDMpOgp+IyEgcm49T2dvIHJ0PTExMDI5NTgwNDcgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpIbW1tLi4uIE5hamEsICJUb2V0dW5nc3BoaWxvc29waCIgdW5kICJQb2RpdW0gZnVlciBBZ2l0YXRpb25zendlY2tlIiBzaW5kCnNjaG9uIHJlY2h0IGZydWNodGlnLCBkYXMgZ2ViZSBpY2ggZ2VybmUgenUuIEFiZXIgZGFzcyBzaWNoIGVpbiBzb2xjaGVyClZlcmJhbmQgcmVjaHQgZGV1dGxpY2ggYWV1c3NlcnQsIGhhbHRlIGljaCBmdWVyIGthbGt1bGllcmJhci4gRGFzcyBzb2xjaGUKUHJlc3NlbWVsZHVuZ2VuIHJlY2h0IHBvaW50aWVydCBiaXMgcG9sZW1pc2NoIGF1c2ZhbGxlbiwgZXJsZWJlIGljaCBhdWNoIApyZWNodCBoYWV1ZmlnLiBVbmQsIGltbWVyaGluIGlzdCBlaW5lIFByZXNzZW1lbGR1bmcgd2FzIGFuZGVyZXMgYWxzIGVpbmUKU2VtaW5hcmFyYmVpdCBpbiBCaW9ldGhpay4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkYXMgZW5kZSBkZXMgaW50ZXJuZXQgKEthdHplbnRhbnRlLCAxMy4gRGV6IDIwMDQsIDE5OjAxOjUyKToKd3d3LmRhcy1lbmRlLWRlcy1pbnRlcm5ldHMuZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkYXMgZW5kZSBkZXMgaW50ZXJuZXQgKFpvb2ssIDEzLiBEZXogMjAwNCwgMTk6MDQ6NDQpOgp+IyEgcm49S2F0emVudGFudGUgcnQ9MTEwMjk2MDkxMiByZz13d3cKfiMhIHRpZD0xMTAyOTYwOTEyCmFsdGVybmF0aXYgYXVjaCB3d3cubXVhZGliLm5ldAoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGFzIGVuZGUgZGVzIGludGVybmV0IChNZWRpYywgMTMuIERleiAyMDA0LCAxOToyNzozMCk6Cn4jISBybj1ab29rIHJ0PTExMDI5NjEwODQgcmc9d3d3Cn4jISB0aWQ9MTEwMjk2MDkxMgoKb2Rlcgp3d3cuZGFzaW50ZXJuZXRhYnNjaGFsdGVuLmRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZXRlciBTaW5nZXIuLi4gKEhvYm8sIDEzLiBEZXogMjAwNCwgMjA6MjQ6MTApOgp+IyEgcm49Wm9vayBydD0xMTAyOTU4MjYzIHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKTWljaCB3dWVyZGUgbWFsIGludGVyZXNzaWVyZW4sIHdpZSBtYW4gaW4gQmVyZWljaGVuIHdpZSBFdGhpayBlaW5lIFRoZXNlCndpZGVybGVnZW4ga2Fubi4gSWNoIGtlbm4gbWljaCBkYSBudXIgbWl0IG1hdGhlbWF0aXNjaGVyIE1ldGhvZGlrIGVpbiBiaXNzY2hlbgphdXMsIGFiZXIgZGFzIGdyZWlmdCBiZWkgRXRoaWsgdS5hZS4gR2ViaWV0ZW4gamEgbnVuIGdhciBuaWNodC4KCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hcmlvIE1hdHJpeCAoUGhvYm9zLCAxMy4gRGV6IDIwMDQsIDIwOjI4OjA1KToKRnVlciBhbGxlIEZsYXNoJ2Vua2luZGVyIGhpZXIgZWluIGtsZWluZXIgRmlsbSAoNC4zNyBNQikKbWl0IFN1cGVyIE1hcmlvIGluIGRlciBIYXVwdHJvbGxlLiBBbHNvIGdyYWZpc2NoIGVpbmRldXRpZwpiZXNzZXIgYWxzIGRhcyBPcmlnaW5hbC4KCmh0dHA6Ly9tZWRpYXgubXVjaG9zdWNrby5jb20vZmxhc2gvbWFyaW9fbWF0cml4X2ZsYXNoLnN3ZgoKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hcmlvIE1hdHJpeCAoWm9vaywgMTMuIERleiAyMDA0LCAyMDozMjoxMyk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwMjk2NjA4NSByZz13d3cKfiMhIHRpZD0xMTAyOTY2MDg1Ck1pdCBvZGVyIG9obmUgUmFldHNlbD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDEzLiBEZXogMjAwNCwgMjA6MzI6MzcpOgp+IyEgcm49SG9ibyBydD0xMTAyOTY1ODUwIHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKU28gcmljaHRpZyBrbGFyIGlzdCBtaXIgYXVjaCBuaWNodCBnZXdvcmRlbiwgd2FzIGRhIGdlbmF1ICJ3aWRlcmxlZ3QiCnd1cmRlLi4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRhcyBlbmRlIGRlcyBpbnRlcm5ldCAoQ2F0d2VhemxlLCAxNC4gRGV6IDIwMDQsIDA4OjAxOjU5KToKfiMhIHJuPUthdHplbnRhbnRlIHJ0PTExMDI5NjA5MTIgcmc9d3d3Cn4jISB0aWQ9MTEwMjk2MDkxMgpXaWUgYWt0dWVsbCA6KQoKR29vZ2xlIG5hY2ggImVuZCBvZiB0aGUgaW50ZXJuZXQiIHVuZCBkaWUgZXJzdGVuIDggc2luZCBhcXVpdmFsZW50ZQpWb2xsdHJlZmZlci4gQXVjaCBpbiBkZXV0c2NoZXIgU3ByYWNoZSB3aXJzdCBkdSBhZWhubGljaGUgZXJ6aWVsZW4ga29lbm5lbiAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGV0ZXIgU2luZ2VyLi4uIChDYWxkcmluLCAxNC4gRGV6IDIwMDQsIDA5OjQwOjM1KToKfiMhIHJuPU9nbyBydD0xMTAyOTU4MDQ3IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKRGFubiBlcmtsYWVyZSBkb2NoIG1hbCwgd2llIG1hbiAgIldlbm4gQWVyenRlIHZvciBkaWUgRW50c2NoZWlkdW5nIGdlc3RlbGx0CndlcmRlbiwgZWluIHNjaHdlcgpiZWhpbmRlcnRlcyBuZXVnZWJvcmVuZXMgS2luZCBvZGVyIGVpbiBnZXN1bmRlcyBTY2hpbXBhbnNlbmJhYnkgenUKcmV0dGVuLCBzbyBoYWx0ZSBpY2ggZXMgZnVlciBsZWdpdGltLCBkYXMgTGViZW4gZGVzIEFmZmVuIGRlbSBkZXMKYmVoaW5kZXJ0ZW4gTWVuc2NoZW4gdm9yenV6aWVoZW4hIiByaWNodGlnIHZlcnN0ZWh0ISBXZW5uIGRpZSBaaXRhdGUgYXVmIGRlcgpTZWl0ZSBrb3JyZWt0IHNpbmQsIGthbm4gbWFuIGRlciBQcmVzc2VtZWxkdW5nIG51ciBlaW5zIHZvcndlcmZlbi4gU2llIGlzdCB6dQpuZXR0IHp1IGRpZXNlbSBUb2V0dW5nc3BoaWxvc29waGVuLiBXaWUgc29uc3Qgc29sbCBtYW4gZWluZW4gTWVuc2NoZW4gbmVubmVuLApkZXIgYW5kZXJlbiBNZW5zY2hlbiBkYXMgUmVjaHQgYXVmIExlYmVuIGFic3ByaWNodD8KCnNvIGxvbmcKQ2FsZHJpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGV0ZXIgU2luZ2VyLi4uIChNb250YW51cywgMTQuIERleiAyMDA0LCAwOTo1Mzo0Nyk6Cn4jISBybj1DYWxkcmluIHJ0PTExMDMwMTM2MzUgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpJY2ggZmluZGUgZGllIFRIZXNlIHByb3Zva2FudCB1bmQgZGFtaXQgZ3V0LgpFcnNldHplIG1hbCB3aWVmb2xndDoKZWluIGJlaGluZGVydGVzIG5ldWdlYm9yZW5lcyB3ZWlzc2VzIEtpbmQgb2RlciBlaW4gZ2VzdW5kZXMgc2Nod2FyemVzIEJhYnkgLQplcyBnaWJ0IGxlaWRlciBpbW1lciBub2NoIGdlbnVnICh3ZWlzc2U/KSBNZW5zY2hlbiwgZGllIGluIGRpZXNlbSBGYWxsCnRyb3R6ZGVtIGRhcyAoSG9laGVyd2VydGlnZT8pIHdlaXNzZSBMZWJlbiByZXR0ZW4gd3VlcmRlbi4KVW5kIGRhIGlzdCBkZXIgS25hY2twdW5rdC4KV2VyIGVudHNjaGVpZGV0LCB3ZWxjaGVzIExlYmVuIGhvZWhlcndlcnRpZ2VyIGlzdD8KRWluIHNjaHdlcmJlc2NoYWVkaWd0ZXIgbWVuc2NobGljaGVyIFNhZXVnbGluZyB1bmQgZWluIFNjaGltcGFuc2VuYmFieSB3ZXJkZW4sCmJlaSBlbnRzcHJlY2hlbmRlbSBUcmFpbmluZy9FcnppZWh1bmcgaWhyIExlYmVuIGF1ZiBlaW5lbSBpZGVudGlzY2hlbiBJUQp2ZXJicmluZ2VuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZXRlciBTaW5nZXIuLi4gKFphcm5peWEsIDE0LiBEZXogMjAwNCwgMTA6NTk6MzIpOgp+IyEgcm49Q2FsZHJpbiBydD0xMTAzMDEzNjM1IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKSWNoIG5lbm5lIGVpbmVuIHNvbGNoZW4gQXJ6dCB1bmQgTWVuc2NoZW4gUmVhbGlzdCB1bmQgdmVyYW50d29ydHVuZ3N2b2xsLi4uCkljaCBiaW4gYWJlciBhdWNoIGRlciBNZWludW5nLCBkYXNzIFZvcnNvcmdldW50ZXJzdWNodW5nZW4gYmVpIGVpbmVyClNjaHdhbmdlcnNjaGFmdCBvayBzaW5kIGluY2wuIGRlciBLb25zZXF1ZW56ZW4sIGRpZSBtYW4gZGFubiBub2NoIHppZWhlbgprYW5uLi4uIGljaCBiaW4gYXVjaCBkZXIgTWVpbnVuZywgZGFzcyBkYXMgTUVOU0NITElDSEUgTGViZW4gbmljaHQgbWl0IGRlcgpCZWZydWNodHVuZyBhbmZhZW5ndCwgc29uZGVybiBlcnN0IHZpZWwgc3BhZXRlci4gCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQZXRlciBTaW5nZXIuLi4gKEdyaW1tYm9ybiwgMTQuIERleiAyMDA0LCAxMTowMzoxNCk6Cn4jISBybj1aYXJuaXlhIHJ0PTExMDMwMTgzNzIgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwouLi5iZWkgbWFuY2hlbiBNZW5zY2hlbiBhdWNoIGVyc3QgZGV1dGxpY2ggbmFjaCBkZW0gMjAuIExlYmVuc2phaHIsIHdlbm4KdWViZXJoYXVwdC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGV0ZXIgU2luZ2VyLi4uIChab29rLCAxNC4gRGV6IDIwMDQsIDEyOjIyOjE0KToKfiMhIHJuPVphcm5peWEgcnQ9MTEwMzAxODM3MiByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3Cldlbm4gc3BhZXRlciwgd2FubiBkZW5uIGRhbm4gc28gaW4gZXR3YT8gVW5kIHdlbGNoZXMgYXVjaCBnZXJpY2h0c2Zlc3RlCktyaXRlcml1bSBrYW5uc3QgRHUgZGFmdWVyIGFuZ2ViZW4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUGV0ZXIgU2luZ2VyLi4uIChHcmltbWJvcm4sIDE0LiBEZXogMjAwNCwgMTI6MjM6MjYpOgp+IyEgcm49Wm9vayBydD0xMTAzMDIzMzM0IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKRGFzIGdlcmljaHRzZmVzdGUgS3JpdGVyaXVtIGlzdCBkZXIgR2VzZXR6ZXN0ZXh0LCBkZXIgc293ZWl0IGljaCB3ZWlzcyBkaWUKR2VidXJ0IGFscyBCZWdpbm4gYW5zaWVodC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUGV0ZXIgU2luZ2VyLi4uIChab29rLCAxNC4gRGV6IDIwMDQsIDEyOjI1OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTAzMDIzNDA2IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKV2VubiBEdSBEaWNoIGRhIG1hbCBuaWNodCB0YWV1c2NodC4uLgoKTWljaCBpbnRlcmVzc2llcnQgamEgYXVjaCBlaGVyIFphcm5peWFzIEtyaXRlcml1bSBhbHMgZGFzLCB3YXMgZGVyemVpdApnaWx0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFBldGVyIFNpbmdlci4uLiAoR3dlbmlsaSwgMTQuIERleiAyMDA0LCAxMjoyNTozNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwMzAyMzQwNiByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3CkltIFppdmlscmVjaHQuIFdvYmVpIHouQi4gYXVjaCBGb2V0ZW4gZXJiZW4ga29lbm5lbiwgc29mZXJuIHNpZSBnZWJvcmVuCndlcmRlbi4KR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBldGVyIFNpbmdlci4uLiAoR3JpbW1ib3JuLCAxNC4gRGV6IDIwMDQsIDEyOjI4OjQwKToKfiMhIHJuPUd3ZW5pbGkgcnQ9MTEwMzAyMzUzNCByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3CkludGVyZXNzYW50LiBXaWUgc3RlbGxzdCBEdSBEaXIgZGVubiBkaWUgR2VidXJ0IGVpbmVzIEZvZXR1cyB2b3I/IEFscwpGZWhsZ2VidXJ0PyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogUGV0ZXIgU2luZ2VyLi4uIChaYXJuaXlhLCAxNC4gRGV6IDIwMDQsIDEyOjI4OjU2KToKfiMhIHJuPUd3ZW5pbGkgcnQ9MTEwMzAyMzUzNCByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3CkhtbW0gaWNoIHdlaXNzIGRpZSBudW4gbmljaHQgaW0gS29wZiwgYWJlciBlcyBnaWJ0IGRvY2ggZWluZSB2ZXJudWVuZnRpZ2UKWmVpdGdyZW56ZSBpbSBNb21lbnQsIGJpcyB6dSBkZXIgYWJnZXRyaWViZW4gd2VyZGVuIGRhcmYuLi4gZnJhZyBtaWNoIG5pY2h0LApiaXMgenUgd2VsY2hlciBXb2NoZS4gRGEgc29sbGVuIHNpY2ggRXhwZXJ0ZW4gR2VkYW5rZW4genUgbWFjaGVuLiAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQZXRlciBTaW5nZXIuLi4gKEd3ZW5pbGksIDE0LiBEZXogMjAwNCwgMTI6MzA6MjgpOgp+IyEgcm49WmFybml5YSBydD0xMTAzMDIzNzM2IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKZm9ldGVuIHdlcmRlbiB6dSBrbGVpbmVuIGJhYmllcyB1bmQgZGllIHdlcmRlbiB2b24ga2xlaW5lbiBrbGFwcGVyc3RvZXJjaGVuCmdlYnJhY2h0IC0KYWJlciBuaWNodCBpbSBaaXZpbHJlY2h0LCBrbGFyIDspCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDE0LiBEZXogMjAwNCwgMTI6MzI6NDApOgp+IyEgcm49WmFybml5YSBydD0xMTAzMDIzNzM2IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKSmEsIGViZW4gbmljaHQuIEVpbiBTY2h3YW5nZXJzY2hhZnRzYWJicnVjaCBrYW5uIHVudGVyIGJlc3RpbW10ZW4gQmVkaW5ndW5nZW4Kc3RyYWZmcmVpIGJsZWliZW4sIGRhcyBpc3QgZXR3YXMgYW5kZXJlcyBhbHMgIlplaXRncmVuemUgYmlzIHp1IGRlciAKYWJnZXRyaWViZW4gd2VyZGVuIGRhcmYiLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUGV0ZXIgU2luZ2VyLi4uIChHcmltbWJvcm4sIDE0LiBEZXogMjAwNCwgMTI6MzI6NTgpOgp+IyEgcm49R3dlbmlsaSBydD0xMTAzMDIzODI4IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKTWl0IGFuZGVyZW4gV29ydGVuOiBFcmJlbiBrb2VubmVuIGRpZSBGb2V0ZW4gbmljaHQsIHNvbmRlcm4gZXJzdCBkYW5uLCB3ZW5uCnNpZSB6dSBCYWJpZXMgZ2V3b3JkZW4gc2luZC4gTXkgcG9pbnQgZXhhY3RseS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFBldGVyIFNpbmdlci4uLiAoWmFybml5YSwgMTQuIERleiAyMDA0LCAxMjozNTozMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwMzAyMzk3OCByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3Clpvb2ssIGVzIGdpYnQgYWJlciBpbiBkZXIgUHJheGlzIGJlaSBkZW4gQWVyenRlbiBlaW5lIFdvY2hlbnphaGwsIG5hY2ggZGVyIG1hbgpuaWNodCBtZWhyIHZvbiBlaW5lciBBYnRyZWlidW5nIGFuIHNpY2ggc3ByaWNodC4gV2llIGdlc2FndCwgZnJhZyBtaWNoIG5pY2h0Cm5hY2ggWmFobGVuLiBJY2ggbWVpbmUsIGVpbmUgRmVobGdlYnVydCBlaW5sZWl0ZW4ga2FubiBtYW4gYXVjaCBub2NoIG5hY2ggOApNb25hdGVuLiBEYXMga2FubiBkaWUgRnJhdSBhdWNoIHNlbGJzdCwgd2VubiBzaWUgZ2VzY2hpY2t0IGlzdCB1bmQga2VpbmVyCnd1ZXJkZSBlcyBtZXJrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGV0ZXIgU2luZ2VyLi4uIChab29rLCAxNC4gRGV6IDIwMDQsIDEyOjM2OjI2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTAzMDIzOTc4IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKQXVjaCBkaWVzIG5pY2h0LCB3aWUgZWluIEJsaWNrIGluIFBhci4gMTkyMyBCR0IgemVpZ3Q6CgooMSkgRXJiZSBrYW5uIG51ciB3ZXJkZW4sIHdlciB6dXIgWmVpdCBkZXMgRXJiZmFsbHMgbGVidC4gCgoKKDIpIFdlciB6dXIgWmVpdCBkZXMgRXJiZmFsbHMgbm9jaCBuaWNodCBsZWJ0ZSwgYWJlciBiZXJlaXRzIGdlemV1Z3Qgd2FyLCBnaWx0CmFscyB2b3IgZGVtIEVyYmZhbGwgZ2Vib3Jlbi4KCiAKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBQZXRlciBTaW5nZXIuLi4gKEd3ZW5pbGksIDE0LiBEZXogMjAwNCwgMTI6Mzc6MjIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDMwMjM5Nzggcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpEZW5ub2NoIG5pY2h0IGtvcnJla3QuCkRhcyBtZW5zY2hsaWNoZSBMZWJlbiAodW0gZGFzIGdpbmcncyBkb2NoPykgaXN0IGR1cmNocyBHcnVuZGdlc2V0eiBhYiBaZXVndW5nCmdlc2NodWV0enQKLSBBRkFJSyBuYXR1ZXJsaWNoLgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBldGVyIFNpbmdlci4uLiAoWm9vaywgMTQuIERleiAyMDA0LCAxMjozOToxOCk6Cn4jISBybj1aYXJuaXlhIHJ0PTExMDMwMjQxMzAgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpNb29vb21lbnQsIER1IGhhc3QgZGllIGV0aGlzY2hlIFBvc2l0aW9uIHZlcnRyZXRlbiwgZGFzIExlYmVuIGJlZ2lubmUgZXJzdAoidmllbCBzcGFldGVyIiBuYWNoIGRlciBCZWZydWNodHVuZywgbnVuIG11c3N0IER1IGRvY2ggYXVjaCBlaW4gS3JpdGVyaXVtCmRhZnVlciBsaWVmZXJuIGtvZW5uZW4sIHdhbm4gZGFzIGlzdC4gVW5kIGVpbiBIaW53ZWlzIGF1ZiBkaWUgMTIuIApTY2h3YW5nZXJzY2hhZnRzd29jaGUgZGVzIFBhci4gMjE4YSBBYnMuIDEgTnIuIDMgU3RHQiB3dWVyZGUgbUUgbnVyIAphdXNyZWljaGVuLCB3ZW5uIER1IERpciBkaWUgZXRoaXNjaGUgUG9zaXRpb24gZGllc2VzIFBhcmFncmFwaGVuIHp1CmVpZ2VuIG1hY2h0ZXN0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBQZXRlciBTaW5nZXIuLi4gKFphcm5peWEsIDE0LiBEZXogMjAwNCwgMTI6NDg6NTkpOgp+IyEgcm49Wm9vayBydD0xMTAzMDI0MzU4IHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKSWNoIG1laW5lIGphIGF1Y2ggZGVuIFplaXRyYWhtZW4gZGVzIFBhcmFncmFwaGVuLi4uIGRhIHN0ZWh0IHdhcyB2b24gbWF4LiAyMgpXb2NoZW4uIElzdCBkb2NoIG9rLi4uIHVuZCBpY2ggZGVua2UsIGRhc3MgQWJzYXR6ICgyKSBhdWNoIGF1ZiBkZW4gRmFsbAp6dXRyaWZmdCwgZGVyIGhpZXIgZGlza3V0aWVydCB3aXJkLiBFcyBnZWh0IGphIG5pY2h0IGRhcmFuLCBkYXNzIGplZGVyCmJlaGluZGVydGUgRm9ldHVzIGFiZ2V0cmllYmVuIHdlcmRlbiBNVVNTLCBhYmVyIGVzIHNvbGx0ZSBpbiBkZXIgRW50c2NoZWlkdW5nCmRlciBFbHRlcm4gdW5kIGRlcyBBcnp0ZXMgbGllZ2VuIHp1IGVudHNjaGVpZGVuLCBvYiBtYW4gYWJ0cmVpYmVuIEtBTk4uIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBQZXRlciBTaW5nZXIuLi4gKEdsb2luc29uLCAxNC4gRGV6IDIwMDQsIDEzOjMwOjEyKToKfiMhIHJuPVphcm5peWEgcnQ9MTEwMzAyNDkzOSByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3Ck1laW4gS3JpdGVyaXVtIHdhZXJlIHVlYnJpZ2VucyBlaW5lIFN0dWZlIGRlciBIaXJuYmlsZHVuZyBhYiBXb2NoZSA5LzEwLCB3ZWlsIAphYiBkYSBsYW5nc2FtIEJld3Vzc3RzZWluIG1vZWdsaWNoIHdpcmQgKG5hY2ggdW5zZXJlciBoZXV0aWdlbiBBdWZmYXNzdW5nKS4KClRvZXR1bmcgdW5kIGRhbWl0IEF1c25haG1lIHp1bSBTY2h1dHogZGVyZXIgZGllIHRvZXRlbiBibGVpYnQgZXMgdHJvdHpkZW0uIFdlcgpkaWVzZSBBdXNuYWhtZSBpbiBBbnNwcnVjaCBuaW1tdCBtdXNzLCB3aWUgYXVjaCBzY2hvbiB1ZWJsaWNoLCBlcyBzZWxic3QgbWl0IApzaWNoIGFibWFjaGVuLiBTZWxic3QgZGV1dGxpY2hlIGdlbmV0aXNjaGUgQW56ZWljaGVuIHZvbiBLcmFua2hlaXRlbiBhbHMgR3J1bmQKZnVlciBkaWUgQWJ0cmVpYnVuZyBsYXVmZW4gZGFyYXVmIGhpbmF1cywgZGFzcyBzaWNoIGRpZSBNdXR0ZXIgZGF2b24gYmVsYXN0ZXQgCmZ1ZWhsdC4gRGVubiBvYiBkYXMgS2luZCBuaWNodCBlaW4gTGViZW4gbGFuZyBnbHVlY2tsaWNoIG1pdCBzZWluZXIgdW5zZXJlciAKTWVpbnVuZyBuYWNoIGJlc2NocmFlbmt0ZW4gU2ljaHQgZGVyIERpbmdlIGlzdCBrb2VubmVuIHdpciBuaWNodCBiZXVydGVpbGVuLgoKV2FzIHdpciBhdXMgU2ljaHQgZGVzIFUuIGJldXJ0ZWlsZW4gd29sbGVuLCBpc3QgZGVyIFp3ZWNrIGRlcyBLaW5kZXMsIHNlaW4gCk51dHplbiwgc2VpbiBST0kuIERhcyBtdXNzIGluIEJldHJhY2h0IGdlem9nZW4gd2VyZGVuLCBhYmVyIG5pY2h0IHZvbiBkZXIgCk11dHRlci4gVW5kIGRpZSBHZXNlbGxzY2hhZnQsIGRpZSBlcyBpbiBCZXRyYWNodCB6aWVoZW4gbXVzcywgZGFyZiBrZWluZW4gCkRydWNrIGRlc2hhbGIgYXVzdWViZW4sIGRhIHNpZSBzb25zdCBkZW4gUk9JIGRlciBBZ2VuaG9lcmlnZW4gcG90ZW50aWVsbCAKYmVlaW50cmFlY2h0aWd0LiBXZW5uIHNjaG9uLCBkYW5uIGFsbGVzIGFuc2VoZW4uCgpXaWUgbWFuIGFiZXIgc2Nob24gYW4gbWVpbmVuIHNjaHdhZWNobGljaGVuIFZlcnN1Y2hlbiBzaWVodCwgaXN0IGRhcyBlaW4gClRoZW1hLCB1ZWJlciBkYXMgYXVjaCBnZXJlZGV0IHdlcmRlbiBzb2xsdGUsIGRlbm4gb2huZSBSZWRlbiB1bmQgRGVua2VuIGtlaW5lIApNZWludW5nc2JpbGR1bmcgc29uZGVybiBudXIgRmVzdGtsYW1tZXJuIGFuIGJlc3RlaGVuZGVuIChlYmVuZmFsbHMgCmludGVycHJldGllcmJhcmVuKSBQYXBpZXJ2ZXJzaW9uZW4gYWx0ZXIgTWVpbnVuZy4gVW5kIGRhcyBzY2hhZXJmdCBuaWNodCAKZ2VyYWRlIGRhcyBCZXd1c3N0c2VpbiBmdWVyIGRhcyBQcm9ibGVtLCBzb25kZXJuIHN0ZWxsdCBlaW5lbiBraXJjaGVuZ2xlaWNoZW4gClJlZ2Vsa2FsZW5kZXIgenVyIFZlcmZ1ZWd1bmcgbmFjaCBkZW0gbWFuIHNlbGJzdGdlcmVjaHQgZHVyY2ggZGVuIFRhZyBlaWVybiAKa2Fubi4KCkFsc28gdW0genVtIFB1bmt0IHp1IGtvbW1lbiAtIGljaCBmaW5kZSBkaWUgeml0aWVydGVuIEFldXNzZXJ1bmdlbiBkZXIgCktpcmNoZW52ZXJ0cmV0ZXIgYWJzY2hldWxpY2guIERpZSA2NC1KYWhyZS1FdXRoYW5hc2llLU5hemktS2V1bGUgaGVyYXVzenVob2xlbgp1bmQgZ2xlaWNoemVpdGlnIGVpbiBmdWVuZnplaG5qYWVocmlnZXMgUmVkZXZlcmJvdHNqdWJpbGFldW0genUgYmVqdWJlbG4gaXN0IApiaWdvdHQuIEFuZ2VibGljaCBlbnRzY2hpZWRlbiBnZWdlbiBzZWluZSBUaGVzZW4genUgcHJvdGVzdGllcmVuLCBhYmVyIApmZXN0enVzdGVsbGVuIGRhc3MgZGVyIEhlaWRlbGJlcmdlciBWb3J0cmFnIF91bmFuZ2Vmb2NodGVuXyBvZWZmZW50bGljaGVzIApHZWhvZXIgZmluZGV0IGlzdCBhYnN1cmQuIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDE0LiBEZXogMjAwNCwgMTU6MzI6MTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwMzAyNzQxMiByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3ClBhc3NlbmQgenVtIFRoZW1hOwoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3dpc3NlbnNjaGFmdC9tZW5zY2gvMCwxNTE4LDMzMjc2MSwwMC5odG1sCk5JRURFUkxBTkRFCgogQWVyenRlIGZvcmRlcm4gU3RlcmJlaGlsZmUgZnVlciBCYWJ5cwogCkluIGRlbiBOaWVkZXJsYW5kZW4gc29sbGVuIGt1ZW5mdGlnIGF1Y2ggU2FldWdsaW5nZSBTdGVyYmVoaWxmZSBiZWtvbW1lbgprb2VubmVuIC0genVtaW5kZXN0IHdlbm4gZXMgbmFjaCBkZW0gV2lsbGVuIHZvbiBBZXJ6dGVuIGdlaHQuIE1lZGl6aW5lciBhbGxlcgphY2h0IFVuaWtsaW5pa2VuIGRlcyBMYW5kZXMgaGFiZW4gZGllIEVybGF1Ym5pcyB2ZXJsYW5ndCwgTmV1Z2Vib3JlbmUgbWl0CnNjaHdlcmVuIE1pc3NiaWxkdW5nZW4gdG9ldGVuIHp1IGR1ZXJmZW4uCiAKICAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogUGV0ZXIgU2luZ2VyLi4uIChNb250YW51cywgMTQuIERleiAyMDA0LCAxNTozNTozMik6Cn4jISBybj1ab29rIHJ0PTExMDMwMzQ3MzYgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpXZW5uIGRhcyBqZXR6dCBuaWNodCB6dW0gR2ViYWVydG91cmlzbXVzIGZ1ZWhydC4uLiBhbGxlIGJheWVyaXNjaGVuCkp1bmdtdWV0dGVyLCBkaWUgc29uc3QgZGVtIFBzeWNob3RlcnJvciBlaW5lbiBrYXRob2xpc2NoZW4gIlNlZWwic29yZ2Vycwp1ZWJlcmxhc3NlbiB3dWVyZGVuLCBrb2VubnRlbiBlaWUgZWlnZW5lIEVudHNjaGVpZHVuZyB0cmVmZmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IFBldGVyIFNpbmdlci4uLiAoRGFya2xvciwgMTQuIERleiAyMDA0LCAxNTozNzowMik6Cn4jISBybj1Nb250YW51cyBydD0xMTAzMDM0OTMyIHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKU2VsYnN0ZW50c2NoZWlkdW5nIGlzIHNvd2llc28gYmVzc2VyLi4uCgpXYXMgdmVyc3RlaGVuIGRpZSBkZW5uIHVudGVyIHNjaHdlcmVuIE1pc3NiaWxkdW5nZW4/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogUGV0ZXIgU2luZ2VyLi4uIChHbG9pbnNvbiwgMTQuIERleiAyMDA0LCAxNTozNzozNik6Cn4jISBybj1EYXJrbG9yIHJ0PTExMDMwMzUwMjIgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpBdXMgU2ljaHQgZGVyIGthdGhvbGlzY2hlbiBLaXJjaGUgZHVlcmZ0ZSBqZWRlcyBnZXN1bmRlIEdlaGlybiBlaW5lCnBvdGVudGllbGxlIHNjaHdlcmUgTWlzc2JpbGR1bmcgc2Vpbi4KCkp1c3Qga2lkZGluZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogUGV0ZXIgU2luZ2VyLi4uIChXdXJ6ZWwsIDE1LiBEZXogMjAwNCwgMTE6NTg6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwMzAzNTA1NiByZz13d3cKfiMhIHRpZD0xMTAyOTU3MzM3CmVzIGlzdCBqYSBwYXNzZW5kLCB3aWUgc2ljaCBkaWUga2lyY2hlIGRhIG1hbCB3aWVkZXIgenUgd29ydCBtZWxkZXQuCnJlZGV2ZXJib3QgKHVuZCBlbnRzcHJlY2hlbmQgZGVua3ZlcmJvdCkgd2FyIGphIHNjaG9uIGltbWVyIGVpbiBiZWxpZWJ0ZXMKbWl0dGVsIHp1ciBkdXJjaHNldHp1bmcgZGVyIGhlcnJyc2NoYWZ0c2Fuc3BydWVjaGUgZGVyIGtsZXJpa2FsZW4uIGtlaW5lCmluaGFsdGxpY2hlIGF1c2VpbmFuZGVyc2V0enVuZywgc293YXMgd2lyZCBpbiAiZmFjaGRpc2t1c3Npb25lbiIgd2lkZXJsZWd0LAp3byBzb3dpZXNvIG51ciBhdXNnZXdhZWhsdGUga2lyY2hlbm1hZW5uZXIgbWl0cmVkZW4gZHVlcmZlbi4gb2VmZmVudGxpY2gKYmVydWZ0IG1hbiBzaWNoIGF1ZiBkYXMgZ3J1bmRnZXNldHosIGRhcyBhbmdlYmxpY2ggYXVmIGNocmlzdGxpY2hlbiB3ZXJ0ZW4KYmFzaWVydC4gZGFzcyBkYSBhdWNoIGRpbmdlIHdpZSBtZWludW5ncy0gdW5kIHJlZGVmcmVpaGVpdCBkcmluIHN0ZWhlbiwKa3VlbW1lcnQgZGllIGhlcnJlbiBtYWwgd2llZGVyIG5pY2h0LiBrb2VubnRlIGtvdHplbi4KbWFuIG1hZyB6dSBwZXRlciBzaW5nZXIgc3RlaGVuIHdpZSBtYW4gd2lsbCwgZGFzIG11c3MgamVkZXIgbWl0IHNpY2ggc2VsYnN0CmF1c21hY2hlbi4gaWhuIGFiZXIgZWluZmFjaCBpbiBiYXVzY2ggdW5kIGJvZ2VuIHp1IHZlcnRldWZlbG4sIGlzdCBkZXIgc2FjaGUKbmljaHQgYW5nZW1lc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDE1LiBEZXogMjAwNCwgMTI6MTg6MjEpOgp+IyEgcm49V3VyemVsIHJ0PTExMDMxMDgzMzMgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpuYWphLCBkaWUgd2VydGVoYWx0dW5nIGRlcyBHRyB6dW0gdW5nZWJvcmVuZW4gbGViZW4gc3RlaHQgbnVuIGF1Y2gKdGF0c2FlY2hsaWNoIGltIGdlZ2Vuc2F0eiB6dSBoZXJybiBzaW5nZXJzIHRoZXNlbiAoenVtaW5kZXN0IHNvd2VpdCBpY2gKZGllc2Uga2VubmUpLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBQZXRlciBTaW5nZXIuLi4gKFd1cnplbCwgMTUuIERleiAyMDA0LCAxMjo0MjoyMSk6Cn4jISBybj1ab29rIHJ0PTExMDMxMDk1MDEgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwplcyBnZWh0IG1pciBuaWNodCB1bSBkZW4gaW5oYWx0IGRlciB0aGVzZW4sIGRhIG1hZyBtYW4gZHJ1ZWJlciBkZW5rZW4gd2FzCm1hbiB3aWxsLiBlcyBnZWh0IG1pciB2aWVsIG1laHIgdW0gcmVkZXZlcmJvdGUsIHdpZSBzaWUgZGllIGtpcmNoZSBmb3JkZXJ0LgpkYXMgaGFsdGUgaWNoIGZ1ZXIgdW5lcnRyYWVnbGljaCB1bmQgZnVlciBub2NoIGRldXRsaWNoIHNjaGxpbW1lciBhbHMgZGFzLAp3YXMgaGVyciBzaW5nZXIgZGEgdm9uIHNpY2ggZ2lidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpZ2VudGxpY2ggZ2Vob2VydCBkYXMgaGllciBuYWNoIE1lZ2FzY2htYXJybiwgYWJlciBkYSBpc3QgZGllIFJ1YnJpayBncmFkIHZvbGwsIHVuZCB3ZXIgTWVnYXNjaG1hcnJuIG5pY2h0IG1hZywgbW9lZ2UgZGllc2VuIFRvcGljIGJpdHRlIGF1Y2ggdWViZXJnZWhlbiAoTW9udGFudXMsIDE1LiBEZXogMjAwNCwgMTI6NDQ6MzMpOgpodHRwOi8vd3d3LmJyb3QtZnVlci1kaWUtZ2V6LmRlLnZ1LwoKTXVzcyBtYW4gbWVociBkYXp1IHNhZ2VuPyBHZW5pYWxlIElkZWUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlnZW50bGljaCBnZWhvZXJ0IGRhcyBoaWVyIG5hY2ggTWVnYXNjaG1hcnJuLCBhYmVyIGRhIGlzdCBkaWUgUnVicmlrIGdyYWQgdm9sbCwgdW5kIHdlciBNZWdhc2NobWFycm4gbmljaHQgbWFnLCBtb2VnZSBkaWVzZW4gVG9waWMgYml0dGUgYXVjaCB1ZWJlcmdlaGVuIChab29rLCAxNS4gRGV6IDIwMDQsIDEyOjQ3OjQ3KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMDMxMTEwNzMgcmc9d3d3Cn4jISB0aWQ9MTEwMzExMTA3MwpJbnRlcmVzc2FudGVyd2Vpc2UgZmFuZCBzaWNoIGltIEtvbGxla3RlbmJldXRlbCBtZWluZXIgZWhlbWFsaWdlbiBLaXJjaGVuLQpnZW1laW5kZSBlaW5lIFNwZW5kZW50dWV0ZSB2b24gIkJyb3QgZnVlciBkaWUgV2VsdCIgbWl0IGRlciBCaXR0ZSB1bQplaW5lIFNwZW5kZW5iZXNjaGVpbmlndW5nIHVuZCBJbmhhbHQgd2FyIGVpbmUgU2NoZWliZSBUb2FzdGJyb3QuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaWdlbnRsaWNoIGdlaG9lcnQgZGFzIGhpZXIgbmFjaCBNZWdhc2NobWFycm4sIGFiZXIgZGEgaXN0IGRpZSBSdWJyaWsgZ3JhZCB2b2xsLCB1bmQgd2VyIE1lZ2FzY2htYXJybiBuaWNodCBtYWcsIG1vZWdlIGRpZXNlbiBUb3BpYyBiaXR0ZSBhdWNoIHVlYmVyZ2VoZW4gKFd1cnplbCwgMTUuIERleiAyMDA0LCAxMjo0ODoyMSk6Cn4jISBybj1ab29rIHJ0PTExMDMxMTEyNjcgcmc9d3d3Cn4jISB0aWQ9MTEwMzExMTA3MwpqZWRlbmZhbGxzIG5lIGtsYXNzZSBpZGVlLiBndXQgZ2VsYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpZ2VudGxpY2ggZ2Vob2VydCBkYXMgaGllciBuYWNoIE1lZ2FzY2htYXJybiwgYWJlciBkYSBpc3QgZGllIFJ1YnJpayBncmFkIHZvbGwsIHVuZCB3ZXIgTWVnYXNjaG1hcnJuIG5pY2h0IG1hZywgbW9lZ2UgZGllc2VuIFRvcGljIGJpdHRlIGF1Y2ggdWViZXJnZWhlbiAoWm9vaywgMTUuIERleiAyMDA0LCAxMjo1NToyMSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTEwMzExMTMwMSByZz13d3cKfiMhIHRpZD0xMTAzMTExMDczCmljaCBoYWIgZGVuIHdpdHogbmljaHQgZ2FueiB2ZXJzdGFuZGVuLCBhYmVyIGljaCBiaW4gZGVyemVpdCBlaCBodW1vcmxvcy4KCnpvb2sgKHZvcmxhZ2UgZ2ViZW5kKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRWlnZW50bGljaCBnZWhvZXJ0IGRhcyBoaWVyIG5hY2ggTWVnYXNjaG1hcnJuLCBhYmVyIGRhIGlzdCBkaWUgUnVicmlrIGdyYWQgdm9sbCwgdW5kIHdlciBNZWdhc2NobWFycm4gbmljaHQgbWFnLCBtb2VnZSBkaWVzZW4gVG9waWMgYml0dGUgYXVjaCB1ZWJlcmdlaGVuIChXdXJ6ZWwsIDE1LiBEZXogMjAwNCwgMTI6NTY6NTApOgp+IyEgcm49Wm9vayBydD0xMTAzMTExNzIxIHJnPXd3dwp+IyEgdGlkPTExMDMxMTEwNzMKZGFzIGlzdCBhdWNoIHRvZGVybnN0LiBzcGVuZGUgZWluZSBzY2hlaWJlIGZ1ZXIgZGllIG5vdGxlaWRlbmRlIGdlei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBQZXRlciBTaW5nZXIuLi4gKFp6YXJ6enQsIDE1LiBEZXogMjAwNCwgMTU6MTg6NDApOgp+IyEgcm49V3VyemVsIHJ0PTExMDMxMTA5NDEgcmc9d3d3Cn4jISB0aWQ9MTEwMjk1NzMzNwpEaWUgS2lyY2hlIChrb21tYSBrYXRob2xpc2NoZSAoYWJlciBhdWNoIGthdW0gZWluZSBhbmRlcmUpKSBpc3QgcGVyCmRlZmluaXRpb25lbSBrZWluIChiYXNpcylkZW1va3JhdGlzY2hlciBWZXJlaW4uIFdvIGthZW1lbiB3aXIgZGVubiBkYSBhdWNoCmhpbiwgd2VubiBoaWVyIGplZGVyIGdsYXViZW4ga29lbm50ZSwgd2FzIGVyIHdvbGx0ZSEKVW5kIGRhbm4gd2lsbHN0IER1IGF1Y2ggbm9jaCBzYWdlbiBrb2VubmVuLCB3YXMgRHUgZGVua3N0IHVuZCBnbGF1YnN0Pz8/CkJpdHRlLiBBYmVyIG5pY2h0IGluIGRpZXNlciBHbGF1YmVuc2dlbWVpbnNjaGFmdC4gRGllIHN0ZWh0IGRvY2ggd2VpdAp1ZWJlciBkZW4gR2VzZXR6ZW4uCgpHbGF1YmVuIHNpZSBqZWRlbmZhbGxzLgpaei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBQZXRlciBTaW5nZXIuLi4gKFpvb2ssIDE1LiBEZXogMjAwNCwgMTU6NTE6MzgpOgp+IyEgcm49Wnphcnp6dCBydD0xMTAzMTIwMzIwIHJnPXd3dwp+IyEgdGlkPTExMDI5NTczMzcKRHUgaGFzdCBub2NoIG1hbCBnZW5hdSBuYWNoZ2VzY2hhdXQsIHdlciBkaWVzZSBQcmVzc2VtZWxkdW5nIHZlcmZhc3N0CmhhdD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlnZW50bGljaCBnZWhvZXJ0IGRhcyBoaWVyIG5hY2ggTWVnYXNjaG1hcnJuLCBhYmVyIGRhIGlzdCBkaWUgUnVicmlrIGdyYWQgdm9sbCwgdW5kIHdlciBNZWdhc2NobWFycm4gbmljaHQgbWFnLCBtb2VnZSBkaWVzZW4gVG9waWMgYml0dGUgYXVjaCB1ZWJlcmdlaGVuIChUYXJhbmlzLCAxNi4gRGV6IDIwMDQsIDIwOjU5OjMzKToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExMDMxMTEwNzMgcmc9d3d3Cn4jISB0aWQ9MTEwMzExMTA3MwpOdXIgZGFzcyBkaWUgVVJMIGluendpc2NoZW4gbGVpZGVyIGF1ZiBodHRwOi8vd3d3LmhvZWxsZS1zYWFsZS5kZS50dC8KdW1nZWxlaXRldCB3dXJkZSAod2FydW0gYXVjaCBpbW1lciBhdXNnZXJlY2huZXQgZGFoaW4pLiBPZmZlbmJhciBoYXQgZGFzCkRpYWtvbmlzY2hlIFdlcmsgZGllIEFrdGlvbiAiQnJvdCBmdWVyIGRpZSBHRVoiIHVudGVyIEhpbndlaXMgYXVmIGRhcwpNYXJrZW5yZWNodCBiZWVuZGVuIGxhc3Nlbi4uLiAKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkViYXkgLi4uIChHbG9pbnNvbiwgMTYuIERleiAyMDA0LCAyMToyMjoxOCk6Ci4uLiBkYXMgUGFyYWRpZXMgZnVlciBWZXJrYWV1ZmVyOgoKaHR0cDovL2NnaS5lYmF5LmRlL3dzL2VCYXlJU0FQSS5kbGw/Vmlld0l0ZW0mY2F0ZWdvcnk9MjA0ODAmaXRlbT00MzQwMTc3NzMwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTIgZGF5cyBvZiBjaHJpc3RtYXMgKEdsb2luc29uLCAxNi4gRGV6IDIwMDQsIDIyOjAyOjQ4KToKLi4uIG1hbCBpbm5vdmF0aXZlciB1bmQgbGVocnJlaWNoZXIuCgpodHRwOi8vZGFlbWxpY2gubmV0LzM4OTEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmRzdHJhaGxlbiB1bmQgSW50ZXJuZXQgKEdsb2luc29uLCAxNy4gRGV6IDIwMDQsIDEwOjMzOjExKToKR2VmYWVocmxpY2gsIGdlZmFlaHJsaWNoIC4uLgoKaHR0cDovL3d3dy5iZWVzaWduLmF0L2VyZHN0cmFobGVuL3JlbG9hZC5odG1sP2dlZmFoci9pbnRlcm5ldC1zdHJhaGxlbi5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2luZyB3aXRoIEhvbWVyIC4uLiAoR2xvaW5zb24sIDE3LiBEZXogMjAwNCwgMTA6Mzk6MTgpOgoKaHR0cDovL2RhZW1saWNoLm5ldC8zNzkwCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xhciBkZW5rZW4uLi4gKEFwb3BoaXMsIDE5LiBEZXogMjAwNCwgMTg6Mjc6NDQpOgpnZW5pYWwgOikKd3d3LmtsYXItZGVua2VuLmNvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZ2xlIG1hbCB3aWVkZXIgKERlZXBibHVlLCAyMS4gRGV6IDIwMDQsIDE0OjA3OjMzKToKaHR0cDovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPWFuc3dlcit0bytsaWZlK3RoZSt1bml2ZXJzZSthbmQrZXZlcnl0aGluZwoKT2RlciBrdXJ6OiBodHRwOi8vdGlueXVybC5jb20vazRlMgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdvb2dsZSBtYWwgd2llZGVyIChFcmtsYWVyYmFlciwgMjEuIERleiAyMDA0LCAxNDoxMzo1OSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTAzNjM0NDUzIHJnPXd3dwp+IyEgdGlkPTExMDM2MzQ0NTMKTWFuIGFjaHRlIGF1ZiBkYXMgZXJzdGUgRXJnZWJuaXMgKGRhcyBhdXMgZGVtIFRhc2NoZW5yZWNobmVyKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIFdlaWhuYWNodHNndXJrZSAoQmFtYnVsa28sIDIyLiBEZXogMjAwNCwgMTM6MDE6MjUpOgpEaWUgU3VjaGUgbmFjaCBkZXIgV2VpaG5hY2h0c2d1cmtlOgoKaHR0cDovL3d3dy50YWdlc3NjaGF1LmRlL2FrdHVlbGwvbWVsZHVuZ2VuLzAsMTE4NSxPSUQzOTA2MTI0X1RZUDZfVEhFX05BVl9SRUZfCkJBQiwwMC5odG1sCgpvZGVyCgpodHRwOi8vdGlueXVybC5jb20vNDRoY3MKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpwYXNzZW5kIHp1ciBXZWlobmFjaHRzemVpdC4uLiAoQXBvcGhpcywgMjIuIERleiAyMDA0LCAxMzo0NDo0Nik6CgpYLU1hcyBTcGVjaWFscyB2b24gYmFsbHouZGUKaHR0cDovL3d3dy5iYWxsei5kZS94bWFzLmh0bWwKCm1laW4gRmF2b3JpdCB2b20gbGV0enRlbiBKYWhyIGlzdCBhYmVyOgpodHRwOi8vd3d3LmJhbGx6LmRlL3NpbmdsZXNob3RzL2hvaG9oby5odG1sCgoqZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvIGdlaHQgZXMgd2VpdGVyPyAoUGhvYm9zLCAyMi4gRGV6IDIwMDQsIDIwOjI4OjA2KToKRnVlciBkaWUgUnVicmlrIHd3dy5wdWl6OgoKV2VyIGJlaSBzZWluZW0gQXp2ZW56a2FsZW5kZXIgc2Nob24gYWxsZSBUdWVyY2hlbiBnZW9lZmZuZXQgaGF0LAprYW5uIGphIG1hbCBwcm9iaWVyZW4sIHdpZXZpZWxlIGVyIGhpZXIgYXVmYmVrb21tdDoKCmh0dHA6Ly9kZWF0aGJhbGwubmV0L25vdHByb24vCgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcmFja2luZyBTYW50YSAoQmFtYnVsa28sIDIzLiBEZXogMjAwNCwgMTQ6MTA6MjgpOgpEaWUgTm9ydGggQW1lcmljYW4gQWVyb3NwYWNlIERlZmVuY2UgQ29udHJvbCAoTk9SQUQpIHdpcmQgYXVjaCBkaWVzZXMgSmFociBkaWUKRmx1Z2JhaG4gZGVzIFdlaWhuYWNodHNtYW5uZXMgdmVyZm9sZ2VuLiBadSBzZWhlbiB1bnRlcjogCgpodHRwOi8vd3d3Lm5vcmFkc2FudGEub3JnCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVpbmUgQ291c2luZSBiZWltIFZvdGluZyB1bnRlcnN0dWV0emVuIC4gLiAuIChNYW5nbywgMjYuIERleiAyMDA0LCAwMDo0NDowMSk6CkhpLAoKbWVpbmUgQ291c2luZSBuaW1tdCBhbiBlaW5lbSBNYW5nYXplaWNoZW53ZXR0YmV3ZXJiIGluIExlaXB6aWcgdGVpbC4KCnNpZWhlOgpodHRwOi8vd3d3LmNvbWljc2lubGVpcHppZy5kZS9NbmdfZ2FsbGVyeS9waWNzZGlzcGwucGhwP2NpZD0yJnBhZ2U9MiZwaWN0dXJlPTIKJnBpY3R1cmVzPTEwJnBhZ2VzPTEKCkVzIHdhZXJlIG5ldHQsIHdlbm4gSWhyIHNpZSBkYWJlaSBlaW4gd2VuaWcgdW50ZXJzdHVldHplbiB3dWVyZGV0IDotKQoKVmllbGVuIERhbmshCgoKTWFuZ28KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVpbmUgQ291c2luZSBiZWltIFZvdGluZyB1bnRlcnN0dWV0emVuIC4gLiAuIChCYW1iaSwgMjYuIERleiAyMDA0LCAxMTo1MDozNSk6Cn4jISBybj1NYW5nbyBydD0xMTA0MDE4MjQxIHJnPXd3dwp+IyEgdGlkPTExMDQwMTgyNDEKV2llIHZvdGV0IG1hbiBkYT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNZWluZSBDb3VzaW5lIGJlaW0gVm90aW5nIHVudGVyc3R1ZXR6ZW4gLiAuIC4gKE11YWRpYiwgMjYuIERleiAyMDA0LCAxODozOToyOSk6Cn4jISBybj1NYW5nbyBydD0xMTA0MDE4MjQxIHJnPXd3dwp+IyEgdGlkPTExMDQwMTgyNDEKaWNoIGhhYiBtaXIgZGllIGFkcmVzc2Ugbm9jaCBuaWNodCBhbmdlc2VoZW4sIGFiZXIgd2VubiBpY2ggZGFzIHR1ZSBkYW5uCmtvZW5udGUgZXMgcGFzc2llcmVuIGRhc3MgbWVpbmUgc3RpbW1lIGFuIGRlbiB0ZWlsbmVobWVyIGdlaHQgZGVyIG1pciBhbQpiZXN0ZW4gc2NoZWludC4gZGFzIGtvZW5udGUgbmljaHQgZGVpbmUgY291c2luZSBzZWluLiBkYXMgcmlzaWtvIGJlc3RlaHQuIHNvbGwKaWNoIHNpZSBtaXIgZGVub2NoIGFuc2NoYXVlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWVpbmUgQ291c2luZSBiZWltIFZvdGluZyB1bnRlcnN0dWV0emVuIC4gLiAuIChNYW5nbywgMjcuIERleiAyMDA0LCAxNzoxNTozNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwNDA4Mjc2OSByZz13d3cKfiMhIHRpZD0xMTA0MDE4MjQxCm5hIHNpY2hlciwgZGVubiBzbyBzY2hsZWNodCBpc3QgZGFzIEJpbGQgamEgd2lya2xpY2ggbmljaHQgOi0pCgpWb3RlbiBrYW5uIG1hbiBudXIgaW4gZGVyIEdyb3NzYW5zaWNodCBkZXIgWmVpY2hudW5nZW4gLiAuIC4gZGEga29tbXQgZGFubgp1bnRlbiBkcnVudGVyIGVpbiBLYWVzdGNoZW4gd28gbWFuIGVpbiBIYWVja2NoZW4gbWFjaGVuIGthbm4gLiAuIC4KClRIWCEKCk1hbmdvCi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNZWluZSBDb3VzaW5lIGJlaW0gVm90aW5nIHVudGVyc3R1ZXR6ZW4gLiAuIC4gKERhcmtsb3IsIDI3LiBEZXogMjAwNCwgMTc6NDA6NTApOgp+IyEgcm49TWFuZ28gcnQ9MTEwNDE2NDEzNCByZz13d3cKfiMhIHRpZD0xMTA0MDE4MjQxCk1hZyBzZWluIGFiZXIgYW5kZXJlIGhhYmVuIG1pciBiZXNzZXIgZ2VmYWxsZW4uLi4KCkRhcmtsb3IgKGhhdCBuaWNoIGdldm90ZXQpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNZWluZSBDb3VzaW5lIGJlaW0gVm90aW5nIHVudGVyc3R1ZXR6ZW4gLiAuIC4gKEJvaW5nLCAyNy4gRGV6IDIwMDQsIDE3OjQyOjUwKToKfiMhIHJuPU1hbmdvIHJ0PTExMDQxNjQxMzQgcmc9d3d3Cn4jISB0aWQ9MTEwNDAxODI0MQpJY2ggd2FyIHVlYmVycmFzY2h0IHdpZSBndXQgZWluaWdlIGRlciBaZWljaG51bmdlbiBzaW5kLiBVbmQgZGFzIGRlaW5lcgpDb3VzaW5lIG11c3Mgc2ljaCBiZXN0aW1tdCBuaWNodCB2ZXJzdGVja2VuLiAKICBCb2luZwpQUzogSWNoIGZyYWcgbWljaCBudXIgd2llc28gc2llIGtlaW5lIE1hbmdvcyB6ZWljaG5ldCAuLi4gKmR1Y2sqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNZWluZSBDb3VzaW5lIGJlaW0gVm90aW5nIHVudGVyc3R1ZXR6ZW4gLiAuIC4gKENhdHdlYXpsZSwgMjguIERleiAyMDA0LCAwOTo1NzowNSk6Cn4jISBybj1Cb2luZyBydD0xMTA0MTY1NzcwIHJnPXd3dwp+IyEgdGlkPTExMDQwMTgyNDEKRGEgc2luZCB3aXJrbGljaCBndXRlIFplaWNodW5nZW4gZGFiZWkuIApNZWluZSBGcmFnZSB3YWVyZSwgc2luZCBkaWUgc2VsYnN0IGVudHdvcmZlbiBvZGVyIGFiZ2V6ZWljaG5ldD8gRnVlciBlcnN0ZXJlcwp3YWVyZW4gZGEgd2lya2xpY2ggZWluaWdlIGhlZnRpZ2UgZGFiZWkuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNEIGNoYW5naW5nIExFR08gcm9ib3QgKEFtYXJ5bGxpcywgMjkuIERleiAyMDA0LCAyMToyNTozNik6Cmh0dHA6Ly93d3cucmVkZnJvbnRkb29yLm9yZy9jZC1jaGFuZ2VyLmh0bWwKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsYXNoLUdhZ3MgKEFtYXJ5bGxpcywgMzAuIERleiAyMDA0LCAyMToxMToxMSk6Cmh0dHA6Ly93d3cua2lsbGZyb2cuY29tCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbWllcnNwcmFjaGVuZXJmaW5kZXIgb2RlciBTZXJpZW5tb2VyZGVyPyAoTWVkaWMsIDMwLiBEZXogMjAwNCwgMjI6Mzc6NDgpOgpodHRwOi8vd3d3Lm1hbGV2b2xlLmNvbS9tdi9taXNjL2tpbGxlcnF1aXovCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjb3N0b2Z3YXIgKFRhcmFuaXMsIDMxLiBEZXogMjAwNCwgMTg6MDY6NDEpOgpOZXR0ZXIgVmVyZ2xlaWNoOiBodHRwOi8vY29zdG9md2FyLmNvbS9pbmRleC1pbW11bml6YXRpb24uaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFhbWEgUm9vbSAoUGhvYm9zLCAgMS4gSmFuIDIwMDUsIDE2OjM1OjI5KToKVGFnLAoKaGllciBkZXIgMzg1c3RlIFJhdW0sIGF1cyBkZW0gbWFuIGVudGtvbW1lbiBtdXNzIChuaWNodCBzbwpzY2h3ZXIgZGllc21hbCk6CgpodHRwOi8vd3d3Lm1hYW1hLmNvbS9kb3dubG9hZC9zb2N1dGUvdmlldy5waHA/aWQ9MDAwMDkxCgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoiTW9kZWxsZmx1Z3pldWdlIiAoT2dvLCAgMy4gSmFuIDIwMDUsIDE5OjEzOjQ2KToKaHR0cDovL3d3dy5taWxsZW5uaXVtamV0LmNvbS90cmVrX2Flcm9zcGFjZV9kcmFnb25mbHlfdW1yMS5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnNjaGVub2VycyAtIEh1bW9yIChHbG9pbnNvbiwgIDUuIEphbiAyMDA1LCAxMjo1OToxMCk6Ci4uLiBrYW5uIGhpZXIgZ2VzdWNodCB3ZXJkZW46CgpodHRwOi8vd3d3LnJlcGFpcmZhcS5vcmcvRUxFL0ZfSHVtb3IuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpvb20gKFBob2JvcywgIDUuIEphbiAyMDA1LCAxODowOToxNik6CkhldXRlIG1hbCBlaW4gQmlsZCwgaW4gZGFzIG1hbiBzbyB0aWVmIGhpbmVpbnpvb21lbiBrYW5uLCBkYSBrb21tdCAKbmljaHQgbWFsIEVTUEVSIGF1cyBCbGFkZSBSdW5uZXIgbWl0OgoKaHR0cDovL3pvb21xdWlsdC5uaWtra2kubmV0LwoKV2VyIGtlaW4gRmxhc2ggaGF0LCBrYW5uIHNpY2ggYXVjaCBlaW56ZWxuZSBKUEVHLUJpbGRlciBhbnNlaGVuIChpc3QKbmljaHQgYW5uYWVoZXJuZCBzbyBlaW5kcnVja3N2b2xsKSBvZGVyIGVpbmVuIFdpbmRvb2YtU2NyZWVuc2F2ZXIgCmhlcnVudGVybGFkZW4gKGhhYmUgaWNoIG5pY2h0IGdldGVzdGV0KS4KClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpvb20gKE5vbm5lLCAgNi4gSmFuIDIwMDUsIDA4OjU0OjU0KToKfiMhIHJuPVBob2JvcyBydD0xMTA0OTQ0OTU2IHJnPXd3dwp+IyEgdGlkPTExMDQ5NDQ5NTYKTmFqYSwgZGlyIGlzdCBhYmVyIHNjaG9uIGF1ZmdlZmFsbGVuLCBkYXNzIGRhcyBuZSBTY2hsZWlmZSBpc3QgdW5kIG1hbiBrYW5uIGphCm51ciBpbiBkaWUgTWl0dGUgem9vbWVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBab29tIChQaG9ib3MsICA2LiBKYW4gMjAwNSwgMTk6NTk6MjgpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwNDk5ODA5NCByZz13d3cKfiMhIHRpZD0xMTA0OTQ0OTU2CkFyZ2gsIGpldHp0IHNlaCBpY2hzIGF1Y2ghIERhbmtlIGZ1ZXIgZGVuIEhpbndlaXMKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFpvb20gKEdsb2luc29uLCAgNi4gSmFuIDIwMDUsIDIwOjA3OjI4KToKfiMhIHJuPVBob2JvcyBydD0xMTA0OTQ0OTU2IHJnPXd3dwp+IyEgdGlkPTExMDQ5NDQ5NTYKTmV0dGUgQXVnZW50YWV1c2NodW5nLCB3ZW5uIG1hbiBkYXVlcmhhZnQgZHVyY2hzY3JvbGxlbiBsYWVzc3QgdW5kIGRhbm4KYW5oYWVsdCBzY2hlaW50IGRhcyBCaWxkIGF1ZiBkaWUgTWl0dGUgenV6dWZsaWVzc2VuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBab29tIChQaG9ib3MsICA2LiBKYW4gMjAwNSwgMjA6MTA6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNTAzODQ0OCByZz13d3cKfiMhIHRpZD0xMTA0OTQ0OTU2CkhtbSwgZGllIEF1Z2VucHJvYmxlbWUgc2luZCB2ZXJuYWNobGFlc3NpZ2JhciwgYWJlciBpY2ggaGFiIHZvbSAKc3R1bmRlbmxhbmdlbSBab29tIHNjaG9uIHZvbGwgZGllIHZlcmtyYW1wZnRlbiBGaW5nZXIuIFp1bSBHbHVlY2sgCmthbm4gaWNoIG1pciBEYW5rIE5vbm5lIGpldHp0IG5lIFBhdXNlIGdvZW5uZW4gOikKClBob2JvcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWm9vbSAoR2xvaW5zb24sICA2LiBKYW4gMjAwNSwgMjA6MTE6MDApOgp+IyEgcm49UGhvYm9zIHJ0PTExMDUwMzg2MTIgcmc9d3d3Cn4jISB0aWQ9MTEwNDk0NDk1NgpIZWhlLCBkYXMgaXN0IGRpciB3aXJrbGljaCBuaWNodCBhdWZnZWZhbGxlbj8gTHVzY2h0aWcgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBab29tIChQaG9ib3MsICA2LiBKYW4gMjAwNSwgMjA6MTQ6MTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNTAzODY2MCByZz13d3cKfiMhIHRpZD0xMTA0OTQ0OTU2Ck5hamEsIHdhciBzY2hvbiBtZXJrd3VlcmRpZywgZGFzcyBlcyBudXIgNDggSlBFRy1CaWxkZXIgZ2FiIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBab29tIChCb2luZywgIDYuIEphbiAyMDA1LCAyMjoyOTozMCk6Cn4jISBybj1QaG9ib3MgcnQ9MTEwNTAzODg1MiByZz13d3cKfiMhIHRpZD0xMTA0OTQ0OTU2CldlciB3aWxsIGpldHp0IGFsbGVzIG5lbiBFcmtsYWVyYmFlcmVuPwogIEJvaW5nCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBab29tIChQaG9ib3MsICA2LiBKYW4gMjAwNSwgMjI6MzM6NTApOgp+IyEgcm49Qm9pbmcgcnQ9MTEwNTA0Njk3MCByZz13d3cKfiMhIHRpZD0xMTA0OTQ0OTU2CldpZSBpY2ggaW0gdXJzcHJ1ZW5nbGljaGVuIEFydGlrZWwgc2NocmllYiwgaGFiZSBpY2ggbWlyCmRpZSBGbGFzaC0gdW5kIGRpZSBKUEVHLVZlcnNpb24gKHNvcnJ5LCB3YXJlbiA0NiwgbmljaHQgNDgKSlBFRy1CaWxkZXIpIGFuZ2VzZWhlbi4gVW5kIGhhYiBtaWNoIGRhbm4gbmF0dWVybGljaCAKYW5zY2hsaWVzc2VuZCBnZWZyYWd0LCB3aWUgZGFzIEJpbGQgdHJvdHpkZW0gc3R1bmRlbmxhbmcKaW4gZWluZSBSaWNodHVuZyBzY3JvbGxlbiBrYW5uLgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphcnRpa2VsIFNwaW5uZW4gZGllIEFtaXMgOykgKEVyZXNjaGksICA3LiBKYW4gMjAwNSwgMDc6MjE6MzgpOgp3YWVyIHdpcmtsaWNoIGF1Y2ggbmljaHRzIG5ldWVzLCBhYmVyIGRpZSBoYWJlbiBrdWVyemxpY2hzdCBuZSAxMCBqYWVocmlnZSBwZXIKcG9saXplaWdld2FsdCB2b24gZGVyIFNjaHVsZSBhYmdlZnVlaHJ0IG51ciB3ZWlsIHNpZSBuZSBTY2hlcmUgaW4gZGVyClNjaHVsdGFzY2hlIGhhdHRlLgoKbGllcyBzZWxic3Q6Cmh0dHA6Ly9uZXdzLm9yZi5hdC9pbmRleC5odG1sP3VybD1odHRwJTNBLy9uZXdzLm9yZi5hdC90aWNrZXIvMTY2ODcxLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGVpYmVucHV0emVyIChBcG9waGlzLCAxMC4gSmFuIDIwMDUsIDE2OjMwOjIzKToKd3d3LmNsZWFuLXlvdXItc2NyZWVuLWZvci1mcmVlLW5vdy5jb20KKGZsYXNoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNodHVuZyBGcmF1ZW5mZWluZGxpY2ggYWJlciBndXV1dXV0IDopIChLZWxseWJ1bmR5LCAxMC4gSmFuIDIwMDUsIDE4OjI1OjA0KToKaHR0cDovL3d3dy5mcmF1ZW5mZWluZGxpY2hlc2Fyc2NobG9jaC5kZS91bWFybWVuLmh0bWwKS2VsbHksIG11ZWhzYW0gbmFjaCBMdWZ0IGphcHNlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBY2h0dW5nIEZyYXVlbmZlaW5kbGljaCBhYmVyIGd1dXV1dXQgOikgKEFyaywgMTAuIEphbiAyMDA1LCAxODoyOTowNCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMDUzNzc5MDQgcmc9d3d3Cn4jISB0aWQ9MTEwNTM3NzkwNApJY2ggZ2xhdWJlLCBkYXMga2VubnQgbWl0dGxlcndlaWxlIGplZGUgRnJhdSwgZGEgdXJhbHQgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29tZXQgTWFjaGhvbHogKEJhbWJ1bGtvLCAxMS4gSmFuIDIwMDUsIDExOjI4OjA1KToKU2Nob2VuZXMgQmlsZCB2b20gS29tZXRlbiBNYWNoaG9sejoKCmh0dHA6Ly9hbnR3cnAuZ3NmYy5uYXNhLmdvdi9hcG9kL2FzdHJvcGl4Lmh0bWwKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS29tZXQgTWFjaGhvbHogKERhcmtsb3IsIDEyLiBKYW4gMjAwNSwgMTc6MzU6MDkpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEwNTQzOTI4NSByZz13d3cKfiMhIHRpZD0xMTA1NDM5Mjg1Ckdhbnogc2Nob2VuIGdyb3NzZXIgJ0tvbWV0Jy4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLb21ldCBNYWNoaG9seiAoQmFtYnVsa28sIDEyLiBKYW4gMjAwNSwgMTc6Mzk6MzcpOgp+IyEgcm49RGFya2xvciBydD0xMTA1NTQ3NzA5IHJnPXd3dwp+IyEgdGlkPTExMDU0MzkyODUKTmFqYSwgZGFzICdBc3Ryb25vbXkgUGljdHVyZSBvZiB0aGUgRGF5JyBpc3QgLSB3aWUgZGVyIE5hbWUgc2Nob24gc2FndCAtIGplZGVuClRhZyBhbmRlcnMuIFVudGVuIGthbm5zdCBEdSBhdWYgJzwnIGtsaWNrZW4gdW5kIGRhcyBCaWxkIHZvbiBnZXN0ZXJuIHNlaGVuLgpNb3JnZW4gbXVzc3QgRHUgbmF0dWVybGljaCB6d2VpbWFsIGF1ZiAnPCcga2xpY2tlbi4gVWViZXJtb3JnZW4gZHJlaW1hbC4gCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS29tZXQgTWFjaGhvbHogKERhcmtsb3IsIDEyLiBKYW4gMjAwNSwgMTc6NDk6MDgpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEwNTU0Nzk3NyByZz13d3cKfiMhIHRpZD0xMTA1NDM5Mjg1CkhtbSAtIG5ldHQsIGhhZXR0ZSBhYmVyIGVyd2FydGV0IG1laHIgdm9tIEtvbWV0ZW4genUgc2VoZW4uLi4gCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBY2h0dW5nISBSb3V0ZW5wbGFuZXIhIChXYXJnb24sIDEyLiBKYW4gMjAwNSwgMjI6MDc6MzIpOgpNYW4gc29sbHRlIG5pY2h0IGplZGVtIFJvdXRlbnBsYW5lciBpbSBJbnRlcm5ldCBiZWRpbmd1bmdzbG9zIHZlcnRyYXVlbjoKCjEuIEF1ZnJ1ZmVuOiA8aHR0cDovL21hcHBvaW50Lm1zbi5jb20vRGlyZWN0aW9uc0ZpbmQuYXNweD4KMi4gYmVpbSBzdGFydDogYWRkcmVzcyBpbjogbm9yd2F5IC8gY2l0eTogaGF1Z2VzdW5kCjMuIGJlaW0gemllbDogIGFkZHJlc3MgaW46IG5vcndheSAvIGNpdHk6IHRyb25kaGVpbQo0LiAiR2V0IERpcmVjdGlvbnMiIGRydWVja2VuCjUuIHd1bmRlcm4uLi4KNi4gWnVydWVjayBnZWhlbiAoWnVydWVjayBpbSBCcm93c2VyKQo3LiBSb3V0ZSB1bXN0ZWxsZW4gdm9uIFF1aWNrZXN0IC0+IFNob3J0ZXN0CjguICJHZXQgRGlyZWN0aW9ucyIgZHJ1ZWNrZW4KOS4gTm9jaG1hbCB3dW5kZXJuICA7KSAgKElzdCBhYmVyIHdpcmtsaWNoIGt1ZXJ6ZXIgOy0pCgpEYXMgZ2FuemUgdHV0IGFsbGVyZGluZ3MgbmljaHQgdW5iZWRpbmd0IG1pdCBqZWRlbSBCcm93c2VyIGJ6dy4gamVkZXIKU2ljaGVyaGVpdHNlaW5zdGVsbHVuZy4uLgoKICAtV2FyZ29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2NreSBpcyBiYWNrISAoQXBvcGhpcywgMTMuIEphbiAyMDA1LCAxMTowNTo1Nik6Cmh0dHA6Ly9kYWVtbGljaC5uZXQvNDQ0NwooZmxhc2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGUsIGRpZSBkaWUgV2VsdCBuaWNodCBicmF1Y2h0Li4uIChBbnlzaWRvcmEsIDE0LiBKYW4gMjAwNSwgMTM6NDM6NDApOgpXYXMgZXMgbmljaHQgYWxsZXMgZnVlciBTcGllbGUgYXVmIGRlciBXZWx0IGdpYnQ6Cmh0dHA6Ly93d3cud2hpdGUtd29sZi5jb20vcGltcC9pbmRleC5waHA/bGluZT1pbnRybwoKQW55LCBrb3Bmc2NodWV0dGVsbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTcGllbGUsIGRpZSBkaWUgV2VsdCBuaWNodCBicmF1Y2h0Li4uIChEZWVwYmx1ZSwgMTQuIEphbiAyMDA1LCAxMzo1NjoyMCk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTEwNTcwNjYyMCByZz13d3cKfiMhIHRpZD0xMTA1NzA2NjIwCkZ1ZXIgZGVuIFplaXR2ZXJ0cmVpYiB6d2lzY2hlbmR1cmNoOgpodHRwOi8vd3d3LmFic29sdXRpc3QuY29tL29ubGluZS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJyb3dzZXJzcGllbGUgKEh1bW5pLCAxNi4gSmFuIDIwMDUsIDE1OjA2OjA4KToKSHVodSwKCnZlcm11dGxpY2ggaGFidCBpaHIgYWxsZSBzY2hvbiBnZW51ZyBtaXQgZGVtIE1HIHp1IHR1biwgdW5kIG1laW4gbGV0enRlcyBaaWVsCmlzdCBlcywgRXVjaCBoaWVydm9uIGFienVoYWx0ZW4sIGFiZXIgZGEgZXMgZWggc2Nob24gZ2VudWcgTGV1dGUgdHVuOgoKd3d3LnVsaXRlLmRlIC0gSGllciB3aXJkIHNvd2FzIHdpZSBFbGl0ZSAoamFqYSwgZXJpbm5lcnQgRXVjaCBhbiBkZW4gQzY0Li4uCndlciBkYXMgbm9jaCB3ZWlzcykgZ2VzcGllbHQuIFNlaHIgc3Bhc3NpZy4gTUdsZXIgZmluZGVuIHNpY2ggZGEgaW4gZGVyCkFsbGlhbnogLCxGb2VkZXJhdGlvbicnIHdpZWRlci4gTWl0dGxlcndlaWxlIGdlaHQgYXVjaCBkZXIgU3RhdGlvbnNiYXUuCgp3d3cuaWNld2Fycy5kZSAtIGVoZXIgZWluICwsa2xhc3Npc2NoZXMnJyBBdWZiYXVzcGllbCBhIGxhIG9nYW1lIG9kZXIKc3BhY2VuYXRpb25zLCBhYmVyIG1pdCBDaXZpbGl6YXRpb24tYXJ0aWdlciBGb3JzY2h1bmcgdW5kIHNlaHIgd2l0emlnZW4KR2ltbWlja3MuIEhpZXIgZ2lidCBlcyBzZWl0IGhldXRlIGRpZSB0b2xsZSBBbGxpYW56ICwsTW9yZ2VuR3JhdWVuJycgKG1pdCBkZW0KQWxsaWFuenRhZyBTU1AsIGRhIGRhcyBUYWcgTUcgc2Nob24gdmVyYnJhdGVuIHdhcikuCgpXZXIgYWxzbyBMdXN0IHVuZCBMYXVuZSBoYXQgdW5kIGltIE1HIHNjaG9uIGFsbGVzIGtlbm50IGRhcmYgdW5zIGF1Y2ggZ2VybmUgZGEKdHJlZmZlbi4gCgpOYXR1ZXJsaWNoIGJsZWliIGljaCB3ZWl0ZXJoaW4gaGllciwgZGllIEJyb3dzZXJnYW1lcyBzaW5kIGphIG1laXN0IGVpbgosLEFud2Vpc3VuZyBnZWJlbiB1bmQgNGggd2FydGVuJyctU3BpZWwuIERhcyBpc3QgaGllciBqYSB6dW0gR2x1ZWNrIGFuZGVycy4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJvd3NlcnNwaWVsZSAoSHVtbmksIDE2LiBKYW4gMjAwNSwgMTU6MDY6NTQpOgp+IyEgcm49SHVtbmkgcnQ9MTEwNTg4NDM2OCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkFjaCBzbywgZGEgaWNoIGdlcmFkZSBnZWZyYWd0IHd1cmRlOiBEaWUgZXJzdGVuIE1HbGVyICh6dW1pbmRlc3QgZGllLCBkaWUgaWNoCmtlbm5lKSBzaW5kIGJlaSBJY2V3YXJzIGluIEdhbGF4aWUgMiA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJyb3dzZXJzcGllbGUgKE11cGZlbCwgMTYuIEphbiAyMDA1LCAxNTozNDoxMik6Cn4jISBybj1IdW1uaSBydD0xMTA1ODg0NDE0IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKSXN0IGRhcyBzb3dhcyB3aWUgIkluc2VsbW9uYXJjaGllIiB1bmQgYWVobmxpY2hlIFNwaWVsY2hlbj8KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCcm93c2Vyc3BpZWxlIChIdW1uaSwgMTYuIEphbiAyMDA1LCAxNTozNToxNCk6Cn4jISBybj1NdXBmZWwgcnQ9MTEwNTg4NjA1MiByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CktlaW5lIEFobnVuZywgSW5zZWxtb25hcmNoaWUga2VubmUgaWNoIG5pY2h0LiBLbGluZ3QgYWJlciBzbyA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCcm93c2Vyc3BpZWxlIChaYXBob2IsIDE2LiBKYW4gMjAwNSwgMTY6MzU6MjEpOgp+IyEgcm49SHVtbmkgcnQ9MTEwNTg4NjExNCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkFuZGVyZSBuZXR0ZSBCcm93c2Vyc3BpZWxlIGJlaW5oYWx0ZW46CgotIHd3dy51Z2EtYWdnYS5vcmcgLSBzdGVpbnplaXRrcmllZ3NzcGllbCAoemVpdGludGVuc2l2KQotIHd3dy5lbmR6ZWl0c3BpZWwuZGUgLSByb2xsZW5zcGllbCAod2VuaWcgemVpdGludGVuc2l2KQoKRG9ydCBzaW5kIG1pciBhYmVyIGtlaW5lIE1HLUFsbGlhbnplbiBiZWthbm50Li4uIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnJvd3NlcnNwaWVsZSAoQ2F0d2VhemxlLCAxNy4gSmFuIDIwMDUsIDEzOjExOjA5KToKfiMhIHJuPUh1bW5pIHJ0PTExMDU4ODQzNjggcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApXYXJ1bSBzY2hyZWliYnN0IGR1IHNvd2FzLiBVbm1vZWdsaWNoLiBNZWluZSBaZWl0IGlzdCBkb2NoIGF1Y2ggbmljaHQKZ2VzdG9obGVuIDopCgpJY2V3YXJzLCBpc3QgZGFzIHdpZWRlciBzb24gIm1laW5lIEZsb3R0ZSBpc3QgZ3JvZXNzZXIgYWxzIGRlaW5lLCBkYXJ1bSBtYWNoCmljaCBkaWNoIGFsbGUgZHJlaSBUYWdlIHBsYXR0Ii1XZWx0cmF1bS1SdW1mbGllZy1TcGllbD8KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCcm93c2Vyc3BpZWxlIChHbG9pbnNvbiwgMTcuIEphbiAyMDA1LCAxMzozNzoyNCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEwNTk2Mzg2OSByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkljaCBmYW5kIGphIFNvbCBnYW56IGtudWZmaWcuIERhcyBoYXR0ZSBlY2h0IENpdi1GZWVsaW5nLiBMZWlkZXIgaXN0Cnd3dy5mcmVlcG9ydC5kZSBuaWNodCBtZWhyIGVycmVpY2hiYXIsIG1vZWdsaWNoIGRhc3MgZGFzIFNwaWVsIGZvcnQgaXN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJyb3dzZXJzcGllbGUgKE1hcmN1cywgMTcuIEphbiAyMDA1LCAxMzozOToxMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA1OTY1NDQ0IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKU29sIC4uLiBpY2ggZXJpbm5lcmUgbWljaCBhbiAyIE1vbmF0ZSBTdWNodC4KCkNpYW8sIE1hcmN1cyAoc2VpdGRlbSBnZWhlaWx0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnJvd3NlcnNwaWVsZSAoR2xvaW5zb24sIDE3LiBKYW4gMjAwNSwgMTM6Mzk6NTApOgp+IyEgcm49TWFyY3VzIHJ0PTExMDU5NjU1NTEgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApTb2JhbGQgbWFuIGRpZSBlcnN0ZW4gTmFjaGJhcnN5c3RlbSBlcmZvcnNjaHQgaGF0dGUgd3VyZGUgZXMgLi4uIGFuZGVycyB1bmQKZXR3YXMgbGFuZ3dlaWxpZy4gCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogQnJvd3NlcnNwaWVsZSAoVmVjdG9yLCAxNy4gSmFuIDIwMDUsIDEzOjQ2OjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDU5NjU1OTAgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OAp3d3cuZC13YXJzLmNvbQoKc3VjaHRwb3RlbnRpYWwgZnVlciAzIGphaHJlIHVuZCBtZWhyICh6ZWl0YXVmd2VuZGlnKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQnJvd3NlcnNwaWVsZSAoSHVtbmksIDE3LiBKYW4gMjAwNSwgMTM6NTY6MzcpOgp+IyEgcm49VmVjdG9yIHJ0PTExMDU5NjU5ODIgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApJY2V3YXJzIGZpbmQgaWNoIGRhcnVtIHRvbGwsIHdlaWwgZGFzIGx1c3RpZ2UgR2ltbWlja3MgaGF0LiAKClp1bSBCZWlzcGllbCBrYW5uIG1hbiAsLEFsdGVybmF0aXZlIFJlc291Y2VubmFtZW4nJyBhbmtsaWNrZW4gdW5kIHByb2R1emllcnQKZGFubiBhbnN0YXR0IEVpc2VuIEVyZGJlZXJlbi4KCkphamEsIGRhcyBpc3QgdG90YWwgYWxiZXJuLiBOYSB1bmQ/IEljaCBoYWIgZWluZW4gSGVpZGVuc3Bhc3MgZ2VoYWJ0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJyb3dzZXJzcGllbGUgKENhdHdlYXpsZSwgMTcuIEphbiAyMDA1LCAxNDoxNTowNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA1OTY1NDQ0IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKSWNoIGVyaW5ucmUgbWljaCBhbiBlaW5lIEV4dHJlbS1QcmFlLUFscGhhIGF1ZiB3d3cuc29sMi5kZS4gR2lidHMgYWJlciB3b2hsCmF1Y2ggbmljaHQgbWVociAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQnJvd3NlcnNwaWVsZSAoS2VsbHlidW5keSwgMTcuIEphbiAyMDA1LCAxNDo1OTo1Nik6Cn4jISBybj1IdW1uaSBydD0xMTA1OTY2NTk3IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKRGVyIHJhYmVuc2Nod2FyemUgSHVtb3Iga29tbXQgYXVjaCBuaWNodCB6dSBrdXJ6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBCcm93c2Vyc3BpZWxlIChBbmF0b2wsIDE3LiBKYW4gMjAwNSwgMjA6NTM6NDIpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTA1OTcwMzk2IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKSmVtYW5kIG5lbiBHQy1TZXJ2ZXIgbGF1ZmVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEJyb3dzZXJzcGllbGUgKE11cGZlbCwgMTcuIEphbiAyMDA1LCAyMjo1MTo0NCk6Cn4jISBybj1BbmF0b2wgcnQ9MTEwNTk5MTYyMiByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4Cmh0dHA6Ly9taXRnbGllZC5seWNvcy5kZS9nYzM1MDAvZ2MyNS5odG1sCgpNYW4gc29sbHMgbmljaHQgZ2xhdWJlbi4uLi4gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogQnJvd3NlcnNwaWVsZSAoVGFyYW5pcywgMTcuIEphbiAyMDA1LCAyMjo1Nzo0OSk6Cn4jISBybj1NdXBmZWwgcnQ9MTEwNTk5ODcwNCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkljaCBtdXNzIEh1bW5pIHp1c3RpbW1lbiwgZWluZXIgZGVyIFJlaXplIHZvbiBJY2V3YXJzIHNpbmQgd2lya2xpY2ggZGllCmFic3VyZGVuIEJlc2NocmVpYnVuZ2VuIHZvbiBHZWJhZXVkZW4gdW5kIFRlY2hub2xvZ2llbi4gOy0pCkFuc29uc3Rlbjoga2VubnQgZWlnZW50bGljaCBub2NoIGplbWFuZCBWR0EtUGxhbmV0cz8gKEF1Y2ggc28gZWluIFBCRU0tU3BpZWwsCndvYmVpIGljaCBlcyBhdXMgYWx0ZW4gTWFpbGJveC1aZWl0ZW4ga2VubmUuLi4pCk1hbmNobWFsIHd1ZXJkZSBpY2ggZGFzIGphIG5vY2htYWwgZ2VybiBzcGllbGVuLiBOZSBNdWQtUnVuZGUgd2FlcmUgZGFmdWVyCnZlcm11dGxpY2ggY29vbC4gOy0pCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogQnJvd3NlcnNwaWVsZSAoR2xvaW5zb24sIDE4LiBKYW4gMjAwNSwgMDA6NTQ6MTcpOgp+IyEgcm49VGFyYW5pcyBydD0xMTA1OTk5MDY5IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKRHUgbWFnc3QgVkdBUD8gRGEga29tbXN0IGR1IGxlaWRlciBlaW4gSmFociB6dSBzcGFldCwgbGV0enRlcyBKYWhyIGhhYmVuIENha2V5CnVuZCBpY2ggZWNodCBha3RpdiBnZXpvY2t0LiBBYmVyIGR1IGJpc3QgamEgbmljaHQgYWxsZWluIGltIE5ldHo6CgpodHRwOi8vd3d3LnhzNGFsbC5ubC9+ZG9ub3Zhbi8gLSBkaWUgSW5mb3NlaXRlCmh0dHA6Ly93d3cucmN3b3JsZC5kZS8gLSBTcGllbGFuemFobGJlZ3Jlbnp1bmcsIGZsZXhpYmVsIGJlaSBVcmxhdWIKaHR0cDovL3d3dy5lY2hvY2x1c3Rlci5jb20vIC0gc2VociB2aWVsZSBTcGllbGUgLSBhdWNoIHZpZWxlIERyb3BwZXIKaHR0cDovL3d3dy5uc2suc3UvfnBhbnRlcmEvIC0gZXhvdGlzY2hlIEtvbmZpZ3VyYXRpb25lbiwgcnVzc2lzY2hlIFNwaWVsZXIKaHR0cDovL3Bob3N0LmRlL35zdGVmYW4vcGNjLmh0bWwgLSBlaW4gZXh6ZWxsZW50ZXIgQ2xpZW50IHVudGVyIERPUywgbGFldWZ0IGltCldpbi1FbXVsYXRvcgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBCcm93c2Vyc3BpZWxlIChHbG9pbnNvbiwgMTguIEphbiAyMDA1LCAwMjo1MToxMyk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMDU5OTkwNjkgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApPaCBub29vIQoKVW0gZGllIExpbmtzIHp1IHVlYmVycHJ1ZWZlbiBtYWwgYWxsZSBhdWZnZXJ1ZmVuIChnZWh0IGphIG1pdCBNYXVzZ2VzdGVuIHNvCnNjaG9lbikgLi4uIG51ciBtYWwgZWJlbiBkaWUgRm9yZW4gZ2VsZXNlbiAuLi4gbnVyIG1hbCBlYmVuIGV0d2FzIEx1c3QgenUKc3BpZWxlbi4gQWxzbyBob2ZmZSBpY2ggdW0gbWVpbmVyIFplaXQgd2lsbGVuIGRyYXVmLCBkYXNzIGljaCBkaWUKaW50ZXJlc3NhbnRlbiBTcGllbGUgdmVycGFzc2UsIGRpZSBkZXJ6ZWl0aWdlbiBzaW5kIGdsdWVja2xpY2hlcndlaXNlIG5pY2h0IHNvCnZlcmxvY2tlbmQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IEJyb3dzZXJzcGllbGUgKFRhcmFuaXMsIDE4LiBKYW4gMjAwNSwgMTE6NDM6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjAxMzA3MyByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkRhcyBpc3QgZGFzIFByb2JsZW0gYmVpIFZHQVAuIEV4dHJlbSB6ZWl0YXVmd2VuZGlnLCB3ZW5uIG1hbiBlcyAicmljaHRpZyIKc3BpZWxlbiB3aWxsLiBJY2ggd2Vpc3MgbmljaHQsIG9iIGljaCBkYXMgUmlzaWtvIGVpbmdlaGVuIHdpbGwsIGRpZSBsaW5rcyBtYWwKYW56dXN1cmZlbi4gVm9yIGVpbiBwYWFyIEphaHJlbiB3YXIgaWNoIHJpY2h0aWcgYWt0aXYgYmVpIFZHQVAgZGFiZWksIGhhYgppbnp3aXNjaGVuIGFiZXIgdmVybXV0bGljaCB2aWVsIHZlcmxlcm50LiBQSG9zdCBrZW5uZSBpY2ggYXVjaCwgd2FyIGRhbWFscwp2aWVsIGJlc3NlciBhbHMgZGVyIE9yaWdpbmFsLUhvc3Qgdm9uIFRpbSBXaXNzZW1hbi4gKmcqCk1obW0sIGZhbGxzIG1hbCBhdXNzZXIgbWlyIGplbWFuZCBoaWVyIGltIE1HIEludGVyZXNzZSBhbiBlaW5lciBNRy1SdW5kZSBoYXQsCnd1ZXJkZSBpY2ggd29obCBhdWNoIG1hbCBtaXRzcGllbGVuLCBuZW4gSG9zdCB3dWVyZGUgc2ljaCBzaWNoZXJsaWNoIGZpbmRlbgpsYXNzZW4uIDstKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IEJyb3dzZXJzcGllbGUgKEdsb2luc29uLCAxOC4gSmFuIDIwMDUsIDEzOjIzOjA2KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEwNjA0NTAyNCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkRlciB6d2VpdGUgYXVmIGRlciBMaXN0ZSwgUmlja3kgYmVpIHJjd29ybGQuZGUgaG9zdGV0IHNvbGNoZSBTcGllbGUgb2huZQpQcm9ibGVtZS4KV2VubiBtYW4gbnVyIGVpbiBTcGllbCB2ZXJmb2xndCBnZWh0IGRhcyBtaXQgZGVyIFplaXQgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdW4gaXN0IGVyIGFsdCB1bmQgYnJhdWNodCBkYXMgR2VsZCBuaWNodCBtZWhyIChPZ28sIDE4LiBKYW4gMjAwNSwgMjI6MzM6MzEpOgpHZWZ1bmRlbiBiZWkgLy4KbGFuZzoKaHR0cDovL3d3dy5taXJyb3Jkb3Qub3JnL3N0b3JpZXMvYjQ1YjU2NGRkOTMyMjJmYWE3ZmMwMzM1ODM2ODM1ZDEvaW5kZXguaHRtbAprdXJ6OgpodHRwOi8vdGlueXVybC5jb20vNWNsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbnplbnRyYXRpb25zdGVzdCAoQmFtYnVsa28sIDE4LiBKYW4gMjAwNSwgMjM6MzU6MDQpOgpodHRwOi8vd3d3Lmlib2dsZWlmLmRrL2RlL3Rlc3QuaHRtbAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClF1ZXJkZW5rZXJtYXRoZW1hdGlrIDspIChHbG9pbnNvbiwgMTguIEphbiAyMDA1LCAyMzozODo0OCk6Cmh0dHA6Ly9jcnV4LmJha2VyLmVkdS9jZGF2aXMwOS9yb3Nlcy5odG1sI2JhY2tncm91bmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogQnJvd3NlcnNwaWVsZSAoR2xvaW5zb24sIDIxLiBKYW4gMjAwNSwgMTg6NDY6MjkpOgp+IyEgcm49VGFyYW5pcyBydD0xMTA2MDQ1MDI0IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKRXMgc3RhcnRldCBnZXJhZGUgZWluIEJlZ2lubmVyLVNwaWVsIGF1ZiByY3dvcmxkIDspCgpodHRwOi8vd3d3LnJjd29ybGQtYmFzZS5kZS92Z2FwL2dhbWU1NjIuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBCcm93c2Vyc3BpZWxlIChUYXJhbmlzLCAyMS4gSmFuIDIwMDUsIDIwOjMwOjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDYzMjk1ODkgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApBY2ggdmVyZGFtbXQuLi4gTWljaCBqdWNrdHMgaW4gZGVuIEZpbmdlcm4sIGRhcyBtYWwgd2llZGVyIHp1IHNwaWVsZW4uLi4KQWJlciBpY2ggaGFiZSBnZXJhZGUgZWlnZW50bGljaCB3aXJrbGljaCBrZWluZSBaZWl0IGRhZnVlci4gOi0oIEF1c3NlcmRlbQp3ZWlzcyBpY2ggZ2FyIG5pY2h0LCB3byBpY2ggbWVpbmUgcmVnLiBWZXJzaW9uIHZvbiBWUEwgdWViZXJoYXVwdCBoYWJlLCBmYWxscwppY2ggc2llIG5vY2ggaGFiZS4uLiBVbmQgZGllIGdhbnplIEFkZG9uLVNhbW1sdW5nLi4uIDotKCBNaG1tLCBQcm9ibGVtCmdlbG9lc3QsIHZpZWxsZWljaHQgd2lyZHMgbmFlY2hzdGVzbWFsIHdhcy4gOy0pCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogQnJvd3NlcnNwaWVsZSAoR2xvaW5zb24sIDIxLiBKYW4gMjAwNSwgMjA6MzU6MTApOgp+IyEgcm49VGFyYW5pcyBydD0xMTA2MzM1ODM0IHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKQWRkT25zIGdpYnQgZXMgaGV1dGUgaW0gTmV0ei4gRHUgbXVzc3QgamEgbnVyIGRlaW5lIERpc2tldHRlIGZpbmRlbiB1bmQgZGllCmZpenouYmluIGtvcGllcmUsIFZQQS9QQ0MgKyBFY2hvdmlldyBmaW5kZXN0IGR1IGRhbm4gb25saW5lIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IEJyb3dzZXJzcGllbGUgKFRhcmFuaXMsIDIxLiBKYW4gMjAwNSwgMjA6NDM6MTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjMzNjExMCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkRpZSBEaXNrZXR0ZS4uLiBKYWFhYWEuLi4uIERhcyBmYWVuZ3QgZXMgamEgbWFsIGFuLiAqZyogSWNoIGhhYmUgbWFsIHByYWt0aXNjaAphbGxlIERpc2tldHRlbiBhdXNzb3J0aWVydC4gSWNoIHNjaGFldHplLCBpY2ggaGFiZSBWUEwgZGFiZWkgYXVmIG5lIENECmtvcGllcnQsIGFiZXIgYmluIG1pciBuaWNodCBzaWNoZXIuIEZyYWd0IHNpY2ggd2VsY2hlIENEPyBNaG1tLCBkaWUgaXN0CmJlc3RpbW10IGluIGVpbmVyIEtpc3RlbiBpbSBLZWxsZXIuLi4gOy0pIG5hamEsIHZpZWxsZWljaHQgZ2VoZSBpY2ggbmFjaGhlcgpub2NobWFsIGt1cnogcnVudGVyLi4uICpnKgoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IEJyb3dzZXJzcGllbGUgKEdsb2luc29uLCAyMS4gSmFuIDIwMDUsIDIwOjQ2OjE4KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEwNjMzNjU5OCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkRpZSBlcnN0ZSB6d2VpIFp1ZWdlIGthbm4gbWFuIGF1Y2ggbWl0IGRlciBTaGFyZXdhcmUtVmFyaWFudGUgbWFjaGVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IEJyb3dzZXJzcGllbGUgKFRhcmFuaXMsIDIxLiBKYW4gMjAwNSwgMjA6NDc6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjMzNjc3OCByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkFjaCBuZWUsIHdlbm4gaWNoIGRhcyBhbmZhbmdlLCB3aWxsIGljaCBhdWNoIHZvcmhlciB3aXNzZW4sIG9iIGljaCBlcyBzaW5udm9sbAp3ZWl0ZXJzcGllbGVuIGthbm4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBCcm93c2Vyc3BpZWxlIChHbG9pbnNvbiwgMjEuIEphbiAyMDA1LCAyMDo0ODowNik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMDYzMzY4NTggcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApOYSBkYW5uIHN1Y2ggc2NobmVsbCwgYmV2b3IgYWxsZSBndXRlbiBSYXNzZW4gd2VnIHNpbmQgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogQnJvd3NlcnNwaWVsZSAoRGVlcGJsdWUsIDIxLiBKYW4gMjAwNSwgMjE6MDg6NTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjMzNjg4NiByZz13d3cKfiMhIHRpZD0xMTA1ODg0MzY4CkljaCB3aWxsIGRpZSBYdGFscyA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBCcm93c2Vyc3BpZWxlIChHbG9pbnNvbiwgMjEuIEphbiAyMDA1LCAyMToxMjoyMCk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTA2MzM4MTMwIHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKRGllIHNpbmQgaW4gZGVtIFNwaWVsIHNjaG9uIHdlZy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogQnJvd3NlcnNwaWVsZSAoVGFyYW5pcywgMjIuIEphbiAyMDA1LCAxNzo1NTozMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2MzM4MzQwIHJnPXd3dwp+IyEgdGlkPTExMDU4ODQzNjgKV2llLCBpY2gga2FubiBkaWUgQ3J5c3RhbHMgbmljaHQgbWVociBrcmllZ2VuPyBPY2ggbm9lLCBkYW5uIGhhYiBpY2gga2VpbmUKTHVzdCwgaWNoIHdhcnRlIGF1ZiBkaWUgbmFlY2hzdGUgUnVuZGUuICpnZyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBCcm93c2Vyc3BpZWxlIChHbG9pbnNvbiwgMjIuIEphbiAyMDA1LCAyMTozMzoyNSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMDY0MTI5MzEgcmc9d3d3Cn4jISB0aWQ9MTEwNTg4NDM2OApEdSBtdXNzdCBqYSBhdWNoIG5pY2h0IGluIG1laW5lciBSdW5kZSBzcGllbGVuLCBkYSBmcmVzcyBpY2ggZGljaCBudXIuIEdpYnQKZ2VudWcgYW5kZXJlIC4uLiB6d2VpIFdvY2hlbiBvZGVyIHNvIGJpcyB6dW0gQmVnaW5uIGRlciBuYWVjaHN0ZW4gTmV3YmllcnVuZGUKYmVpIGRlbSBlaW5lbiBIb3N0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBob2JpZW4gLi4uIChHbG9pbnNvbiwgMjQuIEphbiAyMDA1LCAyMzoxNTo0Nyk6Ci4uLiBmdWVyIGFsbGUhCgpodHRwOi8vYXJiZWl0c2JsYWV0dGVyLnN0YW5nbC10YWxsZXIuYXQvRU1PVElPTi9QaG9iaWVuLnNodG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBob2JpZW4gLi4uIChNYWhhcmV0LCAyNC4gSmFuIDIwMDUsIDIzOjQyOjE1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY2MDQ5NDcgcmc9d3d3Cn4jISB0aWQ9MTEwNjYwNDk0NwpEaWUgZmluZCBpY2ggYmVzc2VyOiBodHRwOi8vd3d3Lmh5cG5vc2UtZ2VzdW5kaGVpdHNwcmF4aXMuZGUvcGhvYmllbmxpc3RlLmh0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQaG9iaWVuIC4uLiAoTXVwZmVsLCAyNC4gSmFuIDIwMDUsIDIzOjUzOjEyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNjYwNjUzNSByZz13d3cKfiMhIHRpZD0xMTA2NjA0OTQ3Ck9kZXIgYXVjaCBodHRwOi8vd3d3LnVudXN1YWxwaG9iaWFzLmNvbQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBob2JpZW4gLi4uIChNdXBmZWwsIDI0LiBKYW4gMjAwNSwgMjM6NTU6NDIpOgp+IyEgcm49TXVwZmVsIHJ0PTExMDY2MDcxOTIgcmc9d3d3Cn4jISB0aWQ9MTEwNjYwNDk0NwpBdXMgaHR0cDovL3d3dy53aXNwb3IuZGUvd3B4LW1lZC5odG06CgpLZXJhdW5vdGhuZXRvcGhvYmllIC0gQW5nc3Qgdm9yIGhlcmFiZmFsbGVuZGVuIFNhdGVsbGl0ZW4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQaG9iaWVuIC4uLiAoVmVjdG9yLCAyNC4gSmFuIDIwMDUsIDIzOjU2OjEyKToKfiMhIHJuPU11cGZlbCBydD0xMTA2NjA3MTkyIHJnPXd3dwp+IyEgdGlkPTExMDY2MDQ5NDcKaG0gd2FzIGJldW5ydWhpZ3QgbWljaCBqZXR6dCBtZWhyPyBkaWUgYW56YWhsIGRlciB2aWVsZW4KcGhvYmllZW4gZGllIGljaCBub2NoIGtyaWVnZW4ga29lbm50ZSBvZGVyIGRpZSB0YXRzYWNoZSwKZGFzIGlociBhbGxlIF9zbyBzY2huZWxsXyBzbyBrb21pc2NoZSBsaW5rcyBwYXJhdApoYWJ0LS0tIHNjaGVpbmJhciBnZWJvb2ttYXJrdD8hIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGhvYmllbiAuLi4gKE11cGZlbCwgMjQuIEphbiAyMDA1LCAyMzo1ODowMik6Cn4jISBybj1WZWN0b3IgcnQ9MTEwNjYwNzM3MiByZz13d3cKfiMhIHRpZD0xMTA2NjA0OTQ3CkJpc3RlIEdvb2dsb3Bob2IsIFZlY3Rvcj8gOykKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQaG9iaWVuIC4uLiAoR3JpbW1ib3JuLCAyNC4gSmFuIDIwMDUsIDIzOjU5OjAyKToKfiMhIHJuPVZlY3RvciBydD0xMTA2NjA3MzcyIHJnPXd3dwp+IyEgdGlkPTExMDY2MDQ5NDcKS2xhciwgc28gZ3Jvc3Mgd2llIGRhcyBJbnRlcm5ldCBpc3QgaGlsZnQgbnVyIGJvb2ttYXJrZW4sIGljaCBoYWIgZGFmdWVyIGVpbmUKZWlnZW5lIFNlaXRlLiBVbmQgd2VpbHMgc28gdW51ZWJlcnNpY2h0bGljaCBpc3QgYXVjaCBnbGVpY2ggbWl0IGVpbmVyIGtsZWluZW4KU3VjaGZ1bmt0aW9uLiBEYXMgZ2FuemUgaGFiZSBpY2ggbWFsIGFsbGdlbWVpbiB6dWdhZW5nbGljaCBnZW1hY2h0LCBzY2hhdXN0IER1CnVudGVyIHd3dy5nb29nbGUuZGUuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFrYWRlbWlzY2hlIFRvZXBmY2hlbnNvbGRhdGVuISAoR2xvaW5zb24sIDI1LiBKYW4gMjAwNSwgMDE6MjY6NTcpOgpPZGVyIHNvLiBEZXV0dW5nIGJsZWlidCBGRFAtb2xvZ2VuIHVlYmVybGFzc2VuLgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3VuaXNwaWVnZWwvc3R1ZGl1bS8wLDE1MTgsMzM4MTcyLDAwLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChIaWdobGFuZGVyLCAyNS4gSmFuIDIwMDUsIDEzOjMyOjAyKToKRnVlciAkMjMsOTUgZ2lidHMgZGVuIFllIE9sZGUgOTZlciBlaW5lbiBTRUNIUyBQRlVORCBCVVJHRVIgYmVpCkRlbm55J3MgQmVlciBCYXJyZWwgUHViIChDTEVBUkZJRUxELCBQYSkgRGVyIEJ1cmdlciBiZXN0ZWh0IGF1cyA2ClBmdW5kIFJpbmRmbGVpY2gsIGVpbmVyIGdyb3NzZW4gWndpZWJlbCwgMiBnYW56ZW4gVG9tYXRlbiwgZWluZW0KaGFsYmVuIFNhbGF0a29wZiwgMSAxLzQgUGZ1bmQgS2Flc2UsIGVpbiBleHRyYSBncm9zc2VzIEJyb2V0Y2hlbiwgdW5kCmplIGVpbmUgVGFzc2UgTWF5b25haXNlLCBLZXRjaHVwLCBTZW5mLCBSZWxpc2gsIGhlbGxlciBQYXByaWthIHVuZAplaW5pZ2VuIEdld3VlcnpndXJrZW4uCgpodHRwOi8vd3d3LnJleGZlYXR1cmVzLmNvbS9mZWF0dXJlcy80NTQ4NDEvaGktcmVzLzQ1NDg0MXIuanBnCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChHcmltbWJvcm4sIDI1LiBKYW4gMjAwNSwgMTM6MzQ6NDApOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTA2NjU2MzIyIHJnPXd3dwp+IyEgdGlkPTExMDY2NTYzMjIKQWNoIHdhcywgZGFzIGlzdCBqYSBkYW5uIGRvY2gga2xlaW5lciBhbHMgZXMgc2ljaCBhbmhvZXJ0LCBlcyBoYW5kZWx0IHNpY2ggdW0KYW1lcmlrYW5pc2NoZSBQZnVuZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKEdsb2luc29uLCAyNS4gSmFuIDIwMDUsIDEzOjM0OjQ4KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEwNjY1NjMyMiByZz13d3cKfiMhIHRpZD0xMTA2NjU2MzIyCkJhaCwgZGFzIGthbm4gZ2FyIG5pY2h0IG1laHIgbGVja2VyIHNlaW4uIEF1c3NlcmRlbSBpc3QgZXMgdW52ZXJzY2hhZW10IHRldWVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWlubWFsIEJ1cmdlciBmdWVyIDEwIExldXRlLCBiaXR0ZSAoSGlnaGxhbmRlciwgMjUuIEphbiAyMDA1LCAxMzozNjo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA2NjU2NDg4IHJnPXd3dwp+IyEgdGlkPTExMDY2NTYzMjIKRGVyIFByZWlzIGlzdCBoZWZ0aWcsIGphLiBXb2JlaSwgd2VubiBEdSBiZWkgQWxkaSBhbGxlaW4gZGFzIEhhY2sKa2F1ZnN0LCBiaXN0IER1IG1pdCBrbmFwcCA4IEV1cm8sIGFsc28gbG9ja2VyIDEwLTExIERvbGxhciwgZGFiZWkuCkFscyBFbmR2ZXJicmF1Y2hlciB6dW1pbmRlc3QuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKEhpZ2hsYW5kZXIsIDI1LiBKYW4gMjAwNSwgMTM6NDQ6MzIpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTA2NjU2NjE2IHJnPXd3dwp+IyEgdGlkPTExMDY2NTYzMjIKTmFjaHRyYWcsIGluIGV0d2EgaW4gZGVyIGdsZWljaGVuIEthdGVnb3JpZToKaHR0cDovL3d3dy5vbGVvbGVvbGUuZGUvYmxvZ2cvaW5kZXgucGhwP3A9MzIyCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKEdsb2luc29uLCAyNS4gSmFuIDIwMDUsIDEzOjQ2OjMyKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEwNjY1NzA3MiByZz13d3cKfiMhIHRpZD0xMTA2NjU2MzIyCkd1dGUgR3VldGUuIEhhc3QgZHUgSHVuZ2VyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKFpvb2ssIDI1LiBKYW4gMjAwNSwgMTM6NDY6NTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNjY1NzE5MiByZz13d3cKfiMhIHRpZD0xMTA2NjU2MzIyCmh1bmdlciBrbGluZ3QgZ3V0LCBpY2ggZ2VoIG1hbCBpbiBkaWUgbWVuc2EuIHpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChHbG9pbnNvbiwgMjUuIEphbiAyMDA1LCAxMzo0NzoxOCk6Cn4jISBybj1ab29rIHJ0PTExMDY2NTcyMTYgcmc9d3d3Cn4jISB0aWQ9MTEwNjY1NjMyMgpNaXN0LiBHZXJhZGUgZ2VnZXNzZW4uIERhbm4gZ2VoIGljaCBoYWx0IGFyYmVpdGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlaG9lcnQgaW4gamVkZXMgQXV0byAoTWVkaWMsIDI1LiBKYW4gMjAwNSwgMTQ6NDg6NDIpOgpXZXIgaGF0IHNpY2ggc28gZXR3YXMgbmljaHQgc2Nob24gZWlubWFsIGdld3VlbnNjaHQ/CgpodHRwOi8vd3d3LnJvYWRyYWdlLmNvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIEVuZGUgdm9uIFFXRVJUWiAoVmluY2VudCwgMjUuIEphbiAyMDA1LCAxNzoxODo0MCk6CkFiZXIgb2IgZGFzIEVuZGUgd2lya2xpY2ggc28gYmVnaW5udD8KCmh0dHA6Ly93d3cudHdlYWtwYy5kZS8/bmV3c19pZD03MTQ5CgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIEVuZGUgdm9uIFFXRVJUWiAoS2lyaWEsIDI1LiBKYW4gMjAwNSwgMTc6MjA6MjgpOgp+IyEgcm49VmluY2VudCBydD0xMTA2NjY5OTIwIHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKTmFqYS4gdGVuZGVudGllbGwgd29obCBuaWNodC4KSGFiZW4gZGllIG5pY2h0IGVpbiBQYXRlbnQgYXVmIGRhcyBMYXlvdXQ/CldpZSBzb2xsIGRhcyBkZW5uIGJpdHRlIGVmZmVrdGl2IGVpbiBTdGFuZGFyZCB3ZXJkZW4sIHdlbm4gZXMgcGF0ZW50aWVydCB1bmQKbmljaHQgZnJlaWdlZ2ViZW4gd2lyZD8KCkljaCByZWNobmUgZGVuZW4gbmljaHQgdmllbGUgRXJmb2xnc2NoYW5jZW4gYXVzLgoKR2FueiBkYXZvbiBhYmdlc2VoZW4sIGRhc3MgZXMgbGFuZ2UgZGF1ZXJuIHd1ZXJkZSwgYmlzIGljaCBtaWNoIGFuIERBUyBMYXlvdXQKZ2V3b2VobnQgaGFiZQoKS2lyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjUyOiBCaWxkdW5nIChab29rLCAyNS4gSmFuIDIwMDUsIDE3OjIxOjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY2MDE3NTcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD0xMTA2MTMwNjYyCkludGVyZXNzYW50IGZpbmRlIGljaCBkYXp1IGRpZSBJbmRpemllcnVuZ3NlbnRzY2hlaWR1bmcgZGVyIEJ1bmRlc3BydWVmc3RlbGxlCnp1IGRpZXNlbSBGaWxtOgoKaHR0cDovL3d3dy56ZW5zdXItaW5mb3MuZGUvZXh0ZXJuL2JwanNzdGFyc2hpcHRyb29wZXJzLmh0bQoKQmVzb25kZXJzIGRpZSBoaW50ZXJlbiBBYnNhZXR6ZSBhYiAiRGllIEFid2FlZ3VuZyBkZXIgS3Vuc3RmcmVpaGVpdC4uLiIKZmluZGUgaWNoIHNwcmFjaGxpY2ggc3Bhbm5lbmQuIEljaCBoYWV0dGUgZ2VkYWNodCwgZGFzcyBkaWUgQmVncnVlbmR1bmcKZGV1dGxpY2ggZm9ybWFsZXIgYnp3LiBzcHJhY2hsaWNoIGRyb2VnZXIgZGFoZXIga29tbWVuIHd1ZXJkZS4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhcyBFbmRlIHZvbiBRV0VSVFogKE11YWRpYiwgMjUuIEphbiAyMDA1LCAxODoxMTozMSk6Cn4jISBybj1LaXJpYSBydD0xMTA2NjcwMDI4IHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKaGloaSwgCgp3aWVkZXIgZWluIHZvcnN0b3NzIGRlciBwYXJraW5zb25rcmFua2hlaXQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFzIEVuZGUgdm9uIFFXRVJUWiAoT2dvLCAyNS4gSmFuIDIwMDUsIDE4OjE3OjA5KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTEwNjY2OTkyMCByZz13d3cKfiMhIHRpZD0xMTA2NjY5OTIwCkRhc3MgZWluZSBhbHBoYWJldGlzY2hlIEFub3JkbnVuZyBhdWNoIG5pY2h0IHNvIHRvbGwgaXN0LCBzb2xsdGUgYmVrYW5udCBzZWluLgpXZXIgd2lya2xpY2ggZGFzIExheW91dCByZWZvcm1pZXJlbiB3aWxsLCB3aXJkIHdvaGwgenUgRHZvcmFrIGdyZWlmZW46Cmh0dHA6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvRHZvcmFrLVRhc3RhdHVyZGVzaWduCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTM6IEJpbGR1bmcgKE11YWRpYiwgMjUuIEphbiAyMDA1LCAxODoxNzo1Myk6Cn4jISBybj1ab29rIHJ0PTExMDY2NzAxMDAgcmc9d3d3Cn4jISB0aWQ9MTEwNjEzMDY2MgpobW0sIGljaCBnbGF1YmUgaWNoIGhhYiBkZW4gZ2xlaWNoZW4gZmlsbSBnZXNlaGVuCm9obmUga2VubnRuaXNzIGRlcyBidWNoZXMga2FubiBtYW4gaXJvbmllLCBkYSB6d2FyIHZlcm11dGVuIGFiZXIgaW1obwpnZW5hdXNvZ3V0IG5pY2h0CmRhc3MgaWNoIGRlbiBmaWxtIGF1c3NlcmRlbSBmdWVyIGVpbmUgemllbWxpY2ggbGFuZ3dlaWxpZ2UgcHJvZHVrdGlvbiBoYWx0ZQprb21tdCBhbGxlcmRpbmdzIG5vY2ggZGF6dSAnOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgRW5kZSB2b24gUVdFUlRaIChHbG9pbnNvbiwgMjYuIEphbiAyMDA1LCAxNTowNzowMyk6Cn4jISBybj1WaW5jZW50IHJ0PTExMDY2Njk5MjAgcmc9d3d3Cn4jISB0aWQ9MTEwNjY2OTkyMApBbmdlYmxpY2ggaXN0IGRpZSBkb3J0IGVyd2FlaG50ZSBCZWdydWVuZHVuZyBmdWVyIGRhcyBRV0VSVFotTGF5b3V0LCB1bmQgendhcgprdWVuc3RsaWNoZXMgVmVybGFuZ3NhbWVuLCBlaW5lIExlZ2VuZGUuCgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvdGVjaG5vbG9naWUvMCwxNTE4LDMzODY0MywwMC5odG1sCgpLYW5uIGljaCBndXQgbmFjaHZvbGx6aWVoZW4sIGRhIG1pciBuaWNodCB3aXJrbGljaCBrbGFyIGlzdCwgd2llIFFXRVJUWiBkYXMKU2NocmVpYmVuIGJlaSBwcm9mZXNzaW9uZWxsZW4gVGlwcHNlbiwgZGllIGVzIGRhbWFscyBhdWNoIHNjaG9uIGdhYiwKdmVybGFuZ3NhbXQuIFdlbm4gZGFzIFZlcmhha2VuIHdpcmtsaWNoIHNvIGVpbiBQcm9ibGVtIGdld2VzZW4gd2FlcmUsIGhhZXR0ZQptYW4gc2ljaGVyIGVpbmUgb3JkZW50bGljaGUgbWVjaGFuaXNjaGUgTG9lc3VuZyB6dW0gVmVybGFuZ3NhbWVuIGdlc3VjaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXMgRW5kZSB2b24gUVdFUlRaIChIaWdobGFuZGVyLCAyNi4gSmFuIDIwMDUsIDE1OjEyOjUxKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDY3NDg0MjMgcmc9d3d3Cn4jISB0aWQ9MTEwNjY2OTkyMApJY2ggaGFiZSBtYWwgZ2Vob2VydC9nZWxlc2VuLCBkYXNzIGRpZSBBbm9yZG51bmcgZnVlciBRV0VSWiBkYWhlciBrYW0sCmRhc3MgdmVybWllZGVuIHdlcmRlbiBzb2xsdGUsIGRhc3MgQnVjaHN0YWJlbiwgZGllIG9mdCB2ZXJ3ZW5kZXQKd2VyZGVuLCBuYWhlIGJlaWVpbmFuZGVyIGxpZWdlbi4gQmVpIGVpbmVyIFNjaHJlaWJtYXNjaGluZSBwYXNzaWVydGUKZXMgbmFlbWxpY2ggZ2VybmUsIGRhc3Mgc2ljaCBuZWJlbmVpbmFuZGVybGllZ2VuZGUgVHlwZW4gdmVya2xlbW10CmhhYmVuLCB3ZW5uIHNpZSBkaXJla3QgbmFjaGVpbmFuZGVyIGJldGFldGlndCB3dXJkZW4uCgpIclQKUFM6IEljaCByZWljaGUgbm9jaCBlaW4gVCBmdWVyIGRpZSBlcnN0ZSBaZWlsZSBuYWNoLiAtSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhcyBFbmRlIHZvbiBRV0VSVFogKEdsb2luc29uLCAyNi4gSmFuIDIwMDUsIDE1OjE2OjA1KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEwNjc0ODc3MSByZz13d3cKfiMhIHRpZD0xMTA2NjY5OTIwCkRhcyBrbGluZ3Qgc2Nob24gbG9naXNjaGVyICh1bmQgaXN0IG1pciB0cm90eiBRV0VSVFogcGFzc2llcnQpLiBIaWVyIGdpYnQgZXMKbm9jaCB3YXMgU3RhdGlzdGlzY2hlcywgaGFiIGljaCBhYmVyIG51ciB1ZWJlcmZsb2dlbjoKCmh0dHA6Ly93d3cuZ29lYmVsLWNvbnN1bHQuZGUvZGUtZXJnby9yb2htZXJ0L1JvaG1lcnQuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhcyBFbmRlIHZvbiBRV0VSVFogKEFudGhlYSwgMjYuIEphbiAyMDA1LCAxNToxNjo1Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMDY3NDg3NzEgcmc9d3d3Cn4jISB0aWQ9MTEwNjY2OTkyMApKYSwgc28gdW5nZWZhZWhyLiBFcyBzb2xsdGUgZGFtaXQgZWluZSB6dSBzY2huZWxsZSBBYmZvbGdlIHZvbiBUYXN0ZW5kcnVlY2tlbgphdWYgZGVuIG1lY2hhbmlzY2hlbiBTY2hyZWlibWFzY2hpbmVuIHZlcm1pZWRlbiB3ZXJkZW4uIFdvYmVpIG1hbiBiZWkgZGVuZW4gamEKYXVjaCBub2NoIGRlbiBtZWNoYW5pc2NoZW4gV2lkZXJzdGFuZCBtaXQgYmVydWVja3NpY2h0aWdlbiBtdXNzLCB3YXMgYXVmIERhdWVyCmVpbmUgZWNodCBndXRlIEZpbmdlcmd5bW5hc3RpayBhYmdpYnQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERhcyBFbmRlIHZvbiBRV0VSVFogKFpvb2ssIDI2LiBKYW4gMjAwNSwgMTU6MjI6MjUpOgp+IyEgcm49QW50aGVhIHJ0PTExMDY3NDkwMTcgcmc9d3d3Cn4jISB0aWQ9MTEwNjY2OTkyMApNZWluZXMgV2lzc2VucyAoaGFiIGRhcyBhYmVyIG5pZSBzbyBnYW56IHVlYmVycHJ1ZWZ0KSwgd2llIGRpZSBRV0VSVFotCkFub3JkbnVuZyBnZXJuZSBhbHMgQmVpc3BpZWwgZnVlciBkYXMgZGF1ZXJoYWZ0ZSBCZWliZWhhbHRlbiBpbmVmZml6aWVudGVyCnRlY2huaXNjaGVyIExvZXN1bmdlbiBoZXJhbmdlem9nZW4uIFNvd2VpdCBpY2ggdm9uIExldXRlbiBlcmZhaHJlbiBoYWJlLApkaWUgc2ljaCBkYW1pdCBmb3JzY2h1bmdzdGVjaG5pc2NoIGJlc2NoYWVmdGlnZW4sIHNpbmQgU3R1ZGllbiwgd2VsY2hlIGRpZQpVbnRlcmxlZ2VuaGVpdCB2b24gUVdFUlRaIGdlZ2VudWViZXIgYWx0ZXJuYXRpdmVuIFRhc3RhdHVybGF5b3V0cyBtZWluZW4KaGVyYXVzZ2VmdW5kZW4genUgaGFiZW4sIHByb2JsZW1hdGlzY2ggYmlzIHVuc2lubmlnLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBEYXMgRW5kZSB2b24gUVdFUlRaIChBbnRoZWEsIDI2LiBKYW4gMjAwNSwgMTU6MjU6MzApOgp+IyEgcm49Wm9vayBydD0xMTA2NzQ5MzQ1IHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKQXVzc2VyZGVtIGhhYmUgaWNoIHp1ciBaZWl0IHVlYmVyaGF1cHQga2VpbmUgTHVzdCwgbWljaCBhbiBlaW4gYW5kZXJlcwpUYXR6dGF0dXJsYXlvdXQgZ2V3b2VobmVuIHp1IG11ZXNzZW4uIFNvbGFuZ2UgaWNoIG1laW5lIGFsdGUgQ2hlcnJ5CndlaXRlcnZlcndlbmRlbiBrYW5uIGJsZWliIGljaCBhdWYgYWxsZSBGYWVsbGUgZGFiZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBEYXMgRW5kZSB2b24gUVdFUlRaIChKYW1lc29uLCAyNi4gSmFuIDIwMDUsIDE1OjM1OjAyKToKfiMhIHJuPUFudGhlYSBydD0xMTA2NzQ5NTMwIHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKSW4gZGVuIG1laXN0ZW4gRmFlbGxlbiBrYW5uIG1hbiB6dXIgTm90IGRpZSBUYXN0ZW5rb2VwZmUgZ2VnZW5laW5hbmRlcgphdXN0YXVzY2hlbiwgZGVyIFJlc3QgaXN0IFNhY2hlIGRlcyBUcmVpYmVycyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERhcyBFbmRlIHZvbiBRV0VSVFogKEdyaW1tYm9ybiwgMjYuIEphbiAyMDA1LCAxNTo0OTowMCk6Cn4jISBybj1KYW1lc29uIHJ0PTExMDY3NTAxMDIgcmc9d3d3Cn4jISB0aWQ9MTEwNjY2OTkyMApEdSB3aXJzdCBqZXR6dCBzaWNoZXIgZnVyY2h0YmFyIGxhY2hlbiwgYWJlciBkZXIgVHJlaWJlciB0dXQgYXVjaCBvaG5lIGRhc3MKbWFuIGRpZSBUYXN0ZW5rb2VwZmUgYXVzdGF1c2NodC4KCkdkQSwgYWt0dWVsbCBtaXQgZGV1dHNjaGVtIFRhc3RhdHVydHJlaWJlciBhbiBVUyBUYXN0YXR1cmxheW91dAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogRGFzIEVuZGUgdm9uIFFXRVJUWiAoSmFtZXNvbiwgMjYuIEphbiAyMDA1LCAxNjowODo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEwNjc1MDk0MCByZz13d3cKfiMhIHRpZD0xMTA2NjY5OTIwCnNpY2hlciwgZGFzIGJyYXVjaHN0IER1IG1pciBuaWNodCB6dSBlcnphZWhsZW4gOikgV2VubiBuaWNodCB6dXZpZWxlIFRhc3RlbgphbmRlcnMgc2luZCwgZ2VodCBkYXMsIGRhcyBtaXQgZGVtIFZlcnRhdXNjaGVuIGRlciBLdXBwZW4gaXN0IGRhbm4gZWJlbiBmdWVyCmRlbiBGYWxsLCBkYXNzIGVzIGVpbmUgc2VociB1bnRlcnNjaGllZGxpY2hlIEJlbGVndW5nIHNlaW4gc29sbCwgd2llIGVpbmlnZQpTdHVkaWVuIHZvcnNjaGxhZ2VuLgoKSmFtZXNvbiwgREUtVGFzdGF0dXIsIFVTLVRyZWliZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktpbGwgU2NobmFwcGkgKERlZXBibHVlLCAyNi4gSmFuIDIwMDUsIDE2OjI3OjU4KToKaHR0cDovL3d3dy5lc3RhdGljYS5kZS9pbmRleC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2lsbCBTY2huYXBwaSAoS2FyaXMsIDI2LiBKYW4gMjAwNSwgMTY6NDQ6MTgpOgp+IyEgcm49RGVlcGJsdWUgcnQ9MTEwNjc1MzI3OCByZz13d3cKfiMhIHRpZD0xMTA2NzUzMjc4Cmh0dHA6Ly9pdnkuYW50dmlsbGUub3JnLwpEYSBnaWJiZXQgbGVja2VyIFNjaG5hcHBpIEd1bGFzY2ggOikKCk1haGx6ZWl0LApLYXJpcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtpbGwgU2NobmFwcGkgKEtlc3NhLCAyNi4gSmFuIDIwMDUsIDE3OjIzOjMxKToKfiMhIHJuPURlZXBibHVlIHJ0PTExMDY3NTMyNzggcmc9d3d3Cn4jISB0aWQ9MTEwNjc1MzI3OApEQU5LRSwgZGFzIHRyaWZmdCBlaW4gSGVyemVuc2JlZHVlcmZuaXMuIExlaWRlciBidWdndCBiZWkgbWlyIGRlciBIYW1tZXIsIGthbm4KbWFsJ24gS2xlcmkga29tbWVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2lsbCBTY2huYXBwaSAoR2xvaW5zb24sIDI2LiBKYW4gMjAwNSwgMTc6MjQ6MTUpOgp+IyEgcm49S2Vzc2EgcnQ9MTEwNjc1NjYxMSByZz13d3cKfiMhIHRpZD0xMTA2NzUzMjc4CjpzdW1tdDogSWNoIGJpbiBwdXR0eSwgZGFzIGtsZWluZSBTaGVsbG9kaWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVubmluZyBXaW5kb3dzIHZpcnVzZXMgd2l0aCBXaW5lIChPZ28sIDI3LiBKYW4gMjAwNSwgMDM6MDk6MTkpOgpodHRwOi8vb3MubmV3c2ZvcmdlLmNvbS9hcnRpY2xlLnBsP3NpZD0wNS8wMS8yNS8xNDMwMjIyJmZyb209cnNzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUnVubmluZyBXaW5kb3dzIHZpcnVzZXMgd2l0aCBXaW5lIChNYXJjdXMsIDI3LiBKYW4gMjAwNSwgMDg6MDk6MDIpOgp+IyEgcm49T2dvIHJ0PTExMDY3OTE3NTkgcmc9d3d3Cn4jISB0aWQ9MTEwNjc5MTc1OQpKYT8KCklzdCBuaWNodHMgbmV1ZXMsIGRlbiB3d3cuc2NvLmNvbSBET1MgV3VybSBoYXR0ZSBpY2ggYmVyZWl0cyBsZXR6dGVzIEphaHIKcHJvYmxlbWxvcyBhbSBMYXVmZW4gdW5kIGVpbmVuIGRlciBlcnN0ZW4gV2luZG93cyBFbWFpbCBXdWVybWVyIChkaWUgc2ljaAphbiBlaW4gYW5kZXJlcyBEb2t1ZW1lbnQgYXR0YWNoZWQgaGFiZW4sIGZyYWcgbWljaCBuZXQgd2llIGRlciBoaWVzcyksIApoYXR0ZSBpY2ggYXVjaCBhbSBsYXVmZW4uCgpDaWFvLCBNYXJjdXMgKHdpbmUgZGV2ZWxvcGVyIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnRlcnZpZXcgYXVzIFJUTCBGcmVpdGFnIE5hY2h0IChBbnRoZWEsIDI3LiBKYW4gMjAwNSwgMDk6MzE6NTIpOgpIYXQgZGFzIGplbWFuZCBhdWNoIGltIE9yaWdpbmFsIGdlc2VoZW4/IElzdCBqYSBzY2hvbiBldHdhcy4uLiBrcmFzcy4KaHR0cDovL2F1dHNjaC5ydGwuZGUvYXBvdGhla2UvX2Z1bm55L2R1bW1faW50ZXJ2aWV3LmFzZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXMgRW5kZSB2b24gUVdFUlRaIChCYW1iaSwgMjcuIEphbiAyMDA1LCAxMDoyNToyNyk6Cn4jISBybj1LaXJpYSBydD0xMTA2NjcwMDI4IHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKRXJrbGFlciBtaXIgbGllYmVyLCB3aWUgaWNoIGRpZSBUYXN0ZW5iZWxlZ3VuZyBmdWVyIFNwaWVsZSBzaW5udm9sbCBkYXJhdWYKbWFwcGVuIHNvbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYXMgRW5kZSB2b24gUVdFUlRaIChHbG9pbnNvbiwgMjcuIEphbiAyMDA1LCAxMToyNjoyOCk6Cn4jISBybj1CYW1iaSBydD0xMTA2ODE3OTI3IHJnPXd3dwp+IyEgdGlkPTExMDY2Njk5MjAKSW0gU3BpZWwgbGF0dWVybmljaC4gRGFzIGtvZW5uZW4gc2VsYnN0IDE0IEphaHJlIGFsdGUgU3BpZWxlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcnZpZXcgYXVzIFJUTCBGcmVpdGFnIE5hY2h0IChHbG9pbnNvbiwgMjcuIEphbiAyMDA1LCAxMTozMToyNCk6Cn4jISBybj1BbnRoZWEgcnQ9MTEwNjgxNDcxMiByZz13d3cKfiMhIHRpZD0xMTA2ODE0NzEyClplaWd0IG51ciwgZGFzcyBlcyBtYW5jaGUgTGV1dGUgZ2lidCwgZGllIGJsb2VkZSBXaXR6ZSBuaWNodCB2ZXJzdGVoZW4gdW5kCnNpY2ggZWluZW4gRHJlY2sgdW0gYWxsZXMgYXVzc2VyaGFsYiBpaHJlciBTdGFkdCBrdWVtbWVybi4gRGFzIGhhYmVuIGRpZQpVUy1BbWVyaWthbmVyIGtlaW4gTW9ub3BvbCBkcmF1Zi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaW9ldGhpay4uLiAoT2dvLCAyNy4gSmFuIDIwMDUsIDE2OjA3OjA2KToKaHR0cDovL25ld3MubmF0aW9uYWxnZW9ncmFwaGljLmNvbS9uZXdzLzIwMDUvMDEvMDEyNV8wNTAxMjVfY2hpbWVyYXMuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoTWFoYXJldCwgMjcuIEphbiAyMDA1LCAyMzowMjoxMik6CkljaCBmaW5kIGphIGRpZXNlIHF1aXp6ZXMgYmVzdGVuZmFsbHMgYW11ZXNhbnQuIEFiZXIgZGFzIGhpZXIgLi4uIGRhIGhhYiBpY2gKbWljaCBnbGF0dCBlcnRhcHB0IGdlZnVlaGx0OgoKaHR0cDovL3F1aXppbGxhLmNvbS91c2Vycy9BbGl0ZWludGhlc2t5L3F1aXp6ZXMvV2hhdCUyMGNvbG9yJTIwYXJlJTIweW91JTNGJTIwCihBbWF6aW5nbHklMjBkZXRhaWxlZCUyMCUyNiUyMGFjY3VyYXRlLS13aXRoJTIwcGljcyEpLwoKaHR0cDovL3Rpbnl1cmwuY29tLzJ2OXU3CgpJY2ggYmluIGFuZ2VibGljaCBvcmFuZ2UgLSB0YXRzYWVjaGxpY2ggYXVjaCBtZWluZSBMaWVibGluZ3NmYXJiZS4KCgpBYmVyIHdhcyBkYSBiZWltIFJlc3VsdCBzdGVodCwgdmVycmF0IGljaCBsaWViZXIgbmljaHQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvbGl0aWtlciB1bmQgQ29tcHV0ZXJ3aXNzZW4gLi4uIChHbG9pbnNvbiwgMjguIEphbiAyMDA1LCAxODowNTozNSk6Ci4uLiBzY2hlaW5lbiBuaWNodCBndXQgenVzYW1tZW56dXBhc3NlbjoKCmh0dHA6Ly93d3cucHJvLWxpbnV4LmRlL25ld3MvMjAwNC82Mzg0Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpoZXJ6bGljaGVuIEdsdWVoc3RydW1wZiAoT2dvLCAyOC4gSmFuIDIwMDUsIDE4OjA2OjA3KToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL2t1bHR1ci9nZXNlbGxzY2hhZnQvMCwxNTE4LDMzODk1NCwwMC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoQ2F0d2VhemxlLCAzMS4gSmFuIDIwMDUsIDExOjIwOjExKToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNjg2MzMzMiByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyClNlaHIgY29vbCA6LSkKRGVyIFRyZWZmZXJxdW90aWVudCBzY2hlaW50IG5pY2h0IHNvIHNjaGxlY2h0IHp1IHNlaW46CgpCbGF1LCBlYmVuZmFsbHMgbWVpbmUgTGllYmxpbmdzZmFyYmUuCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChEYXJrbG9yLCAzMS4gSmFuIDIwMDUsIDEzOjU0OjA3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEwNjg2MzMzMiByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCkFuZ2VibGljaCBHcnVlbiAtIHVuZCBkYWJlaSBtYWcgaWNoIGdydWVuIGdhciBuaWNoIHdpcmtsaWNoCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoQnJhbiwgMzEuIEphbiAyMDA1LCAxMzo1Nzo1Myk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDY4NjMzMzIgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpTY2h3YXJ6LiBQYXNzdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEp1c3QgYW5vdGhlciBxdWl6IC0gQ29sb3IgKFBpdGZhbGwsIDMxLiBKYW4gMjAwNSwgMTM6NTg6NTcpOgp+IyEgcm49QnJhbiBydD0xMTA3MTc2MjczIHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKQmxhdS4gUGFzc3QgYXVjaCA6PgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoV3VyemVsLCAzMS4gSmFuIDIwMDUsIDEzOjU5OjEzKToKfiMhIHJuPVBpdGZhbGwgcnQ9MTEwNzE3NjMzNyByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCnR1ZXJraXMuIHBhc3N0IG5pY2h0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWxtdXQgaXN0IHNjaHVsZCEgKEJhbWJ1bGtvLCAzMS4gSmFuIDIwMDUsIDE0OjA1OjQ5KToKaHR0cDovL3d3dy50aXRhbmljLW1hZ2F6aW4uZGUvc3RhcnRwaWNzL3N0YXJ0Y2FydG9vbi5qcGcKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChBbnRoZWEsIDMxLiBKYW4gMjAwNSwgMTQ6MTQ6NDMpOgp+IyEgcm49V3VyemVsIHJ0PTExMDcxNzYzNTMgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpCbGF1LiBQYXNzdCBzbyB1bmdlZmFlaHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChMaWFyYSwgMzEuIEphbiAyMDA1LCAxNToyMjo1NCk6Cn4jISBybj1BbnRoZWEgcnQ9MTEwNzE3NzI4MyByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyClJvdC4KQmVzY2hyZWlidW5nIHRyZWZmZW5kLCBGYXJidm9ybGllYmUgZWlnZW50bGljaCBibGF1IC4uLiA7KQoKV2FzIGtvbW10IHdvaGwgcmF1cywgd2VubiBuYWNoIGRlbSBlcnN0ZW4gQWJzYXR6IGFsbGVzIGFua3JldXp0PyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoR2xvaW5zb24sIDMxLiBKYW4gMjAwNSwgMTU6Mzc6MTUpOgp+IyEgcm49TGlhcmEgcnQ9MTEwNzE4MTM3NCByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCkFsbGVzIEFua3JldXplbiBtYWNodCBkaWUgU2FjaGUgenUgUm90LCB3aWUgbWljaC4gUGFzc3QgdGVpbHdlaXNlLCB3aWUgbmljaHQKYW5kZXJzIHp1IGVyd2FydGVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoQW5hdG9sLCAzMS4gSmFuIDIwMDUsIDIwOjQxOjU1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDcxODIyMzUgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpUdWVya2lzLiBWb2VsbGlnIGRhbmViZW4uCgpNaCwgb2IgYWxsZSBUdWVya2lzZW4gZGFzIGdsYXViZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoTWFoYXJldCwgMzEuIEphbiAyMDA1LCAyMTowMjowMSk6Cn4jISBybj1BbmF0b2wgcnQ9MTEwNzIwMDUxNSByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCkVzIGdlaHQgamEgYXVjaCBuaWNodCB3aXJrbGljaCBkYXJ1bSwgZGllIExpZWJsaW5nc2ZhcmJlIHp1IGJlc3RpbW1lbi4gTWVocgpkZXIgU3BydWNoLCBkZXIgZGF6dSBzdGVodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEp1c3QgYW5vdGhlciBxdWl6IC0gQ29sb3IgKE1haGFyZXQsIDMxLiBKYW4gMjAwNSwgMjE6MDI6MTkpOgp+IyEgcm49TWFoYXJldCBydD0xMTA3MjAxNzIxIHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKU29ycnkgZnVlciBmYWxzY2hlciBEZXV0c2NoLCBpY2ggaGV1dGUgbmljaHQgZml0IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChHbG9pbnNvbiwgMzEuIEphbiAyMDA1LCAyMjoyMDo0NCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDcyMDE3MjEgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpTY2hvbmtsYXIuIEFiZXIgZmFsbHMgZXMgZG9jaCBmdWVyIHdlbiB3aWNodGlnIGlzdDogSWNoIG1hZyBCbGF1LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChNb250YW51cywgMzEuIEphbiAyMDA1LCAyMzoyMzo0Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTA3MjA2NDQ0IHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKT3JhbmdlLgpTY2huZSBGYXJiZS4gUGFzc3QgYXVjaCB1bmdlZmFlaHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChOb25uZSwgIDEuIEZlYiAyMDA1LCAwOTozNzozNyk6Cn4jISBybj1BbmF0b2wgcnQ9MTEwNzIwMDUxNSByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCkphIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoWm9vaywgIDEuIEZlYiAyMDA1LCAwOTo1MjoxNik6Cn4jISBybj1Ob25uZSBydD0xMTA3MjQ3MDU3IHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKR3J1ZW4uCgpXYXMgc2FndCBtaXIgZGFzIG51bj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoVmVjdG9yLCAgMS4gRmViIDIwMDUsIDA5OjUzOjAyKToKfiMhIHJuPVpvb2sgcnQ9MTEwNzI0NzkzNiByZz13d3cKfiMhIHRpZD0xMTA2ODYzMzMyCmplIG5hZWhlciBkYXMgYW4gZGVpbmVyIHRhdHNhZWNobGljaGVuIGxpZWJsaW5nc2ZhcmJlIGRyYW4gaXN0LApkZXN0byBiZXNzZXIgc2luZCBkZWluZSBlbmdsaXNjaC1rZW50bmlzc2UgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChab29rLCAgMS4gRmViIDIwMDUsIDA5OjUzOjM4KToKfiMhIHJuPVZlY3RvciBydD0xMTA3MjQ3OTgyIHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKQWgsIGd1dC4gQWJlciBkYXNzIGljaCBzY2hsZWNodCBFbmdsaXNoIGthbm4sIGRhcyB3YXIgbWlyIGF1Y2ggdm9yaGVyCm9obmUgVGVzdCBzY2hvbiBiZWthbm50LgoKWm8nZGljdC5sZW8ub3JnJ29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEp1c3QgYW5vdGhlciBxdWl6IC0gQ29sb3IgKE11YWRpYiwgIDEuIEZlYiAyMDA1LCAxMjo0MjoxNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDY4NjMzMzIgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpncmVlbiB1bmQgdm9sbHRyZWZmZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSnVzdCBhbm90aGVyIHF1aXogLSBDb2xvciAoS2lyaWEsICAxLiBGZWIgMjAwNSwgMTI6NDI6NTQpOgp+IyEgcm49TXVhZGliIHJ0PTExMDcyNTgxMzQgcmc9d3d3Cn4jISB0aWQ9MTEwNjg2MzMzMgpXZWlzcwoKVW5kIGRhbWl0IHZvbGwgZGFuZWJlbiA6KQoKRW5nbGlzY2ggaXN0IHdvaGwgZWluZmFjaCBuaWNodCBtZWluZSBTcHJhY2hlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgYmlzdCBEdT8gKEJsdXRnaWVyLCAgMS4gRmViIDIwMDUsIDE5OjQ3OjEwKToKaHR0cDovL3d3dzEuc3BpZWdlbC5kZS9hY3RpdmUvbXVuZGFydHF1aXovZmNnaS9tdW5kYXJ0cXVpei5mY2dpP3R5cD1taXR0ZQoKQWxzbyBiZWkgSGVzc2lzY2ggdm9sbCBkYWJlaSwgYWJlciBLb2Vsc2NoIHVuZCBTYWVjaHNpc2NoIG5vY2ggYXVzYmF1YmFyLiAxMAp2b24gMTggOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBKdXN0IGFub3RoZXIgcXVpeiAtIENvbG9yIChCYW1idWxrbywgIDEuIEZlYiAyMDA1LCAxOTo0ODo0OCk6Cn4jISBybj1LaXJpYSBydD0xMTA3MjU4MTc0IHJnPXd3dwp+IyEgdGlkPTExMDY4NjMzMzIKSWNoIHBsYWVkaWVyZSBkYWZ1ZXIgZWluZSBuZXVlIFJ1YnJpayAid3d3LnF1aXotUmVzdWx0YXRlIiB6dSBlcm9lZmZuZW4uCgpCYW1idWxrbwoKUC5TLjogU2NobWFycm4gdHV0IGVzIGF1Y2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41MzogQmlsZHVuZyAoS2VsbHlidW5keSwgIDEuIEZlYiAyMDA1LCAxOTo1OTowNyk6Cn4jISBybj1ab29rIHJ0PTExMDY2NzAxMDAgcmc9d3d3Cn4jISB0aWQ9MTEwNjEzMDY2MgpCVFcgd3VlcmRlIG1pY2ggbWFsIGludGVyZXNzaWVyZW4sIG5hY2ggd2VsY2hlbiBLcml0ZXJpZW4gZGllIFBvcm5vcyBiZXdlcnRlbi4KV3VlcnplbiBkaWUgaWhyIE1pdHRhZ2Vzc2VuIG1pdCBTYWxwZXRlcj8gKkdHKgpCbG9lXkhuZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcnZpZXcgYXVzIFJUTCBGcmVpdGFnIE5hY2h0IChLZWxseWJ1bmR5LCAgMS4gRmViIDIwMDUsIDIwOjE0OjEwKToKfiMhIHJuPUFudGhlYSBydD0xMTA2ODE0NzEyIHJnPXd3dwp+IyEgdGlkPTExMDY4MTQ3MTIKRGVyIGlzdCBfc29fIGRlcm1hc3Nlbl8gZHVtbSwgZGFzcyBkYXMgSW50ZXJ2aWV3IG51ciBnZWZha2V0IHNlaW4ga2FubiwgT2RlcgphYmVyIGRlciBJbnRlcnZpZXd0ZSBoYXQgZGFzIFN0YW1taGlybiBpbiBHaXBzLiBXYXMgbmFjaHRlaWxpZ2UgS29uc2VxdWVuemVuCmJlenVlZ2xpY2ggZGVzIEF1ZnJlY2h0Z2VoZW5zIHVuZCBhZWhubGljaGVzIGhhZXR0ZS4gRGVzd2VnZW4gYmVoYXVwdGUgaWNoIG1hbAplcnN0ZXJlcy4KCkJsb2VeSG5kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBiaXN0IER1PyAoR3JpbW1ib3JuLCAgMS4gRmViIDIwMDUsIDIwOjM1OjEwKToKfiMhIHJuPUJsdXRnaWVyIHJ0PTExMDcyODM2MzAgcmc9d3d3Cn4jISB0aWQ9MTEwNzI4MzYzMAoxNi8xOCwgYmVpZGUgRmVobGVyIGJlaSBzYWVnZ3NjaCwgZWluIGdlcmF0ZW5lciBCZWdyaWZmIHdhciB6dWZhZWxsaWcgcmljaHRpZy4KTmljaHQgc29uZGVybGljaCBiZWVpbmRydWNrZW5kLCBkYXMgUmFldHNlbC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgYmlzdCBEdT8gKEphbWVzb24sICAxLiBGZWIgMjAwNSwgMjA6NDA6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMDcyODY1MTAgcmc9d3d3Cn4jISB0aWQ9MTEwNzI4MzYzMAppbW1lcmhpbiAxNC8xOCwgdW5kIGViZW5mYWxscyBkaWUgbWVpc3RlbiBGZWhsZXIgYmVpIFNhZWNoc2lzY2guLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgYmlzdCBEdT8gKERhcmtsb3IsICAxLiBGZWIgMjAwNSwgMjI6MzE6MDkpOgp+IyEgcm49Qmx1dGdpZXIgcnQ9MTEwNzI4MzYzMCByZz13d3cKfiMhIHRpZD0xMTA3MjgzNjMwCjExIC0gYmVpbSBLb2Vsc2NoIGRvY2ggZ2FueiBzY2hvZW4gYXVmcyBHbGF0dGVpcyBmdWVocmVuIGxhc3Nlbi4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgYmlzdCBEdT8gKERlZXBibHVlLCAgMi4gRmViIDIwMDUsIDA5OjM1OjM5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEwNzI5MzQ2OSByZz13d3cKfiMhIHRpZD0xMTA3MjgzNjMwClNvbGx0ZSBlcyBtaXIgenUgZGVua2VuIGdlYmVuLCBkYXNzIGljaCBiZWkgaGVzc2lzY2ggbnVyIDF4IGZhbHNjaCBsYWcsIGJlaQpzYWVjaHNpc2NoIGFiZXIgM3g/IChvaywgdWViZXIgS29lbHNjaCByZWRlbiB3aXIgbWFsIGxpZWJlciBuaWNodCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgYmlzdCBEdT8gKFJhbmdvcm4sICAyLiBGZWIgMjAwNSwgMTE6MzQ6NTApOgp+IyEgcm49Qmx1dGdpZXIgcnQ9MTEwNzI4MzYzMCByZz13d3cKfiMhIHRpZD0xMTA3MjgzNjMwCk1lbm5vLCBrZWVuIHBsYXR0LiBOdXIgZGF0IHN1ZWRkZXV0c2NoZS4gQWJlciBkYXMgaGVzc2lzY2ggZG9jaCBub2NoIGVpbiB3ZW5pZwpBZWhubGljaGtlaXQgbWl0IGRlbiBTcHJhY2h3ZXJremV1Z2VuIGVpbmVzIEZpc2Noa29wcHMgaGF0LCB1ZWJlcnJhc2NodCBtaWNoLgpBbnNvbnN0ZW4gc3ByaWNodC92ZXJzdGVodCBtZWluZXJlaW5lciB3b2hsIG51ciByZWluZXMgSG9jaGRldXRzY2guIDggVHJlZmZlcgooaGVzc2lzY2gsIDF4IHNhY2hzZSkKCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaW5nZW5kZXMgRnJldHRjaGVuIG1pdCBTdXBlcmtyYWVmdGVuPyAoUmFuZ29ybiwgIDIuIEZlYiAyMDA1LCAxMTo1MDoxOCk6Ci4uLiBEYXMgLi4uIGlzdCAuLi4ga3JhbmsgLi4uCgpodHRwOi8vd3d3Lmt1ZWJsYm9lY2submV0L2h0bWwvMjAwNS0wMS0yOC1TRC5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvIHdpciBiZWkgRGlhbGVrdGVuIHNpbmQuLi4gKFpvb2ssICAyLiBGZWIgMjAwNSwgMTI6MTE6MDYpOgouLi4gdWViZXIgaHR0cDovL2Fscy53aWtpcGVkaWEub3JnIGhhYmUgaWNoIG1pY2ggc2VociBnZWZyZXV0LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgYmlzdCBEdT8gKEFueXNpZG9yYSwgIDIuIEZlYiAyMDA1LCAxNTowOTo1Nik6Cn4jISBybj1CbHV0Z2llciBydD0xMTA3MjgzNjMwIHJnPXd3dwp+IyEgdGlkPTExMDcyODM2MzAKMTMgdm9uIDE4IC4uLiBhbHNvIGhlc3Npc2NoIGhhYiBpY2ggamEgbm9jaCBhbGxlIHZlcnN0YW5kZW4gdW5kIHJpY2h0aWcsIGFiZXIKc2FlY2hzaXNjaCB1bmQga29lbHNjaCBrb25udCBpY2ggbnVyIHJhdGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBiaXN0IER1PyAoTXVhZGliLCAgMi4gRmViIDIwMDUsIDE1OjE1OjIwKToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTA3MzUzMzk2IHJnPXd3dwp+IyEgdGlkPTExMDcyODM2MzAKMCB2b24gMCwgaWNoIG1hY2ggZG9jaCBrZWluZSBzb2xjaGVuIGJhYmJlbHRlc3RzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgYmlzdCBEdT8gKEJvaW5nLCAgMi4gRmViIDIwMDUsIDE1OjE4OjI0KToKfiMhIHJuPU11YWRpYiBydD0xMTA3MzUzNzIwIHJnPXd3dwp+IyEgdGlkPTExMDcyODM2MzAKV2FyIGRhcyBRdWl6IG5pY2h0IHNjaG9uIGltIERlemVtYmVyIG9kZXIgbm9jaCBmcnVlaGVyIGltIFNwaWVnZWw/ClVuZCBlcyBnaWJ0IGF1Y2ggbm9yZCB1bmQgc3VlZCAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNpbmdlbmRlcyBGcmV0dGNoZW4gbWl0IFN1cGVya3JhZWZ0ZW4/IChWYW5pb24sICAyLiBGZWIgMjAwNSwgMTg6NDE6MTApOgp+IyEgcm49UmFuZ29ybiBydD0xMTA3MzQxNDE4IHJnPXd3dwp+IyEgdGlkPTExMDczNDE0MTgKV2VubiBEdSBkYXMga3JhbmsgZmluZGVzdCwgd2FzIGRlbmtzdCBEdSBkYW5uIGVyc3QgdWViZXIKICBodHRwOi8vd3d3LmRhbmllbC1kZXItemF1YmVyZXIuZGUvCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTaW5nZW5kZXMgRnJldHRjaGVuIG1pdCBTdXBlcmtyYWVmdGVuPyAoR3JpbW1ib3JuLCAgMi4gRmViIDIwMDUsIDE4OjQ3OjE2KToKfiMhIHJuPVZhbmlvbiBydD0xMTA3MzY2MDcwIHJnPXd3dwp+IyEgdGlkPTExMDczNDE0MTgKRGFydWViZXIgZGVua2UgaWNoLCBkYXNzIGljaCB1bmJlZGluZ3QgZGllIERWRCBoYWJlbiBtdXNzLCB3ZW5uIHNpZSBkYSAodW5kCmJlemFobGJhcikgaXN0LiBVbmQgZWluZSBhZGFlcXVhdGUgTWVuZ2UgcGFzc2VuZGVyIERyb2dlbi4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2luZ2VuZGVzIEZyZXR0Y2hlbiBtaXQgU3VwZXJrcmFlZnRlbj8gKEdsb2luc29uLCAgMi4gRmViIDIwMDUsIDE4OjQ4OjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTA3MzY2NDM2IHJnPXd3dwp+IyEgdGlkPTExMDczNDE0MTgKQXUsIGRpZSBEVkQgd3VlcmRlIGljaCBtaXIgYXVjaCBtYWwgLi4uIGFuc2NoYXVlbiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNpbmdlbmRlcyBGcmV0dGNoZW4gbWl0IFN1cGVya3JhZWZ0ZW4/IChEYXJrbG9yLCAgMi4gRmViIDIwMDUsIDE5OjQ2OjU1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDczNjY1MzIgcmc9d3d3Cn4jISB0aWQ9MTEwNzM0MTQxOApKYSwgamEgLSBzbyBzaW5nZW5kZSBGcmV0dGNoZW4gc29sbCBlcyBqYSBuaWNoIG9mdCBnZWJlbiAtIE1hdWxmcm9lc2NoZSB3b2hsCnNjaG9uIGVoZXIuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyb2VvZW9lb2VvZXQhIChWaW5jZW50LCAgMy4gRmViIDIwMDUsIDExOjU2OjMxKToKU29lYmVuIGVycmVpY2h0IG1pY2ggcGVyIEVtYWlsIGZvbGdlbmRlciBUZXh0LCBkZXIgd29obCB6dXIgWmVpdCBpcmdlbmR3bwppbSBXV1cga3Vyc2llcnQuCgpEaWVzZSBCdWV0dGVucmVkZSB3dXJkZSAxOTk1IGluIEZsb2Vyc2hlaW0gYW0gTWFpbiAoS2FybmV2YWxzaG9jaGJ1cmcpCmdlaGFsdGVuOiBEZXIgUmVkbmVyIG11c3N0ZSBuYWNoIGRlbSBWb3J0cmFnIHVudGVyIFBvbGl6ZWlzY2h1dHoKcmF1c2dlYnJhY2h0IHdlcmRlbiB1bmQgZGllIFNpdHp1bmcgd3VyZGUgdm9yemVpdGlnIGJlZW5kZXQsIGFiZXIgZGllIFJlZGUKaXN0IHNlaXRkZW0gS3VsdCEKSGVzc2lzY2hlIEJ1ZXR0ZW5yZWRlCgoKKE5hcmhhbGxhLU1hcnNjaCkKCgoiQWxhYWYgdW5kIEhlbGF1ISAtIFNlaWQgaWhyIGJlcmVpdD8KV2lsbGtvbW1lbiB6dXIgQmVrbG9wcHRlbnplaXQhCk1lciBrZW5uZSBkZXMgYXVzIEFrdGUgWCwKZG9jaCBNdWxkZXIgcnVmZSBoaWxmdCBkYSBuaXgsCmRlcyBrb21tdCBkdXJjaCBTdHJhaGxlIGF1cyBkZW0gQWxsLAp1bmQgcGxvZXR6bGlzY2ggaXN0IGRhbm4gS2FybmV2YWwhCihUdXNjaCkKVWZmIGVpbmVuIFNjaGxhY2ggd2VyZCduIGFsbGUgZGFlbWxpc2NoLApkZW5uIGRhcyBiZWZpZWhsdCBkYXMgRGF0dW0gbmFlbWxpc2NoIQpFcyBpc3QgZGllIFplaXQgZGVyIHRvbGxlbiBUYWdlLApzbyBlaW5lIEFydCBJZGlvdGVucGxhZ2UsCmVpbmUgVmVyc2Nod29lcnVuZywgYmxvZWQgenUgd2VyZGVuLApkaWUgamFlaHJsaWNoIHVtIHNpY2ggZ3JlaWZ0IGF1ZiBFcmRlbi4KRWknIHdhaHJlIEF1c2dlYnVydCBkZXIgSG9lbGxlLAp1bmQgQXVzZ2FuZ3NwdW5rdCBkYXZvbiBpc3QgS29lbGxlIQooVHVzY2gpCgoKRGVubiBkb3J0IGdpYnQncyBuaXNjaCBudXIgUlRMLApkYXMgRmVybnNlaC1FaW5oZWl0c2JyZWktS2FydGVsbCwKc29uZGVybiBhYWNoIGplZGUgTWVuZ2UgSmVja2VuLApkaWUgc2lzY2ggYXVmIE5hc2VuIFBhcHBlIHN0ZWNrZW4sCmluIFRldWZlbHNzZWt0ZW4gc2ljaCBncnVwcGllcmVuLApkYW5hY2ggenVtIEVsZmVycmF0IGZvcm1pZXJlbgp1bmQgZGFubiBtdXNzIHNlbGJzdCBkYXMgZG9lb2Vmc3RlIFNjaHdlaW4sCmRvcnQgYXVmIEtvbW1hbmRvIGZyb2VobGlzY2ggc2Vpbi4KKFR1c2NoKQoKCkF1ZiBlaW5tYWwgdHVuIGluIGFsbGVuIExhZW5kZXJuLApkaWUgTGV1ZGUgc2lzY2ggZ2FueiBzY2hsaW1tIHZlcmFlbmRlcm4uClNpZSBnZWgnbiBzaXNjaCBoZW1tdW5nc2xvcyBiZXNhdWZlCnVuZCBmcmVtZGUgTWVuc2NoZSBGcmVpYmllciBrYXVmZSwKc2NobWVpc3NlIHNpc2NoIEJvbmJvbnMgYW4gZGllIFNjaGFlZGVsLApiZXRhdHNjaGUgSnVuZ2VucyB1bmQgYWFjaCBNYWVkZWwKdW5kIHR1biBlaW0gamVkZSwgZGVuIHNpZSBzZWhlbiwKZ2FueiBmdXNjaHRiYXIgdWZmIGRlIEVpZXIgZ2VoZW4hClNpZSB0dW4gbnVyIG5vY2ggaW4gUmVpbWUgc3ByZWNoZQp1bmQgc2luZCBzbyB3aXR6aXNjaCwgbWFuIGtvZW5udCcgYnJlY2hlLApiZXdlZ2Ugc2lzY2ggaW4gUG9sb25hZXNlbiwKYWxzIHRydWVnZW4gc2llIEdlaGlybnByb3RoZXNlbiwKbWFuIG1vZXNjaHRlIGlobmVuIC0gaW0gVmVydHJhdWVuIC0KYW0gbGllYnN0ZW4gaW4gZGllIEZyZXNzZSBoYXVlbiEKKFR1c2NoIHVuZCBLb25mZXR0aS1LYW5vbmUpCkRvY2ggd2FzIHNvbGwgbWFuIGRhZ2VnZSBtYWNoZT8KU29sbCBtYW4gdmllbGxlaWNodCBub2NoIGRydWViZXIgbGFjaGU/CkVzIGhpbGZ0IGtlaW4gU2NocmVpZSB1bmQga2VpbiBTY2hpbXBmZSwKbWFuIGthbm4gc2lzY2ggbmljaCBtYWwgZ2VnZW4gaW1wZmUsCmRpZSBNYWNodCBkZXIgRG9vZmVuIGlzdCB6dSBzdGFhaywKYWxzIGRhc3MgbWFuIHNpc2NoIHp1IHdlaHInbiB2ZXJtYWchCihrZWluIFR1c2NoKQoKCkFtIGJlc3RlbiBpc3QsIG1hbiBibGVpYnQgenUgSGF1cwp1bmQgc3BlcnJ0IGRlbiBXYWhuc2lubiBhYW5mYWNoIGF1cy4KTWFuIHNjaGxpZXNzdCBzaWNoIGVpbiBwYWFyIFRhZ2UgZWluCnVuZCBsYWVzc3QgZGllIEJsb2VkZW4gYmxvZWRlIHNlaW4hCkRlciBUcmljayBpc3QsIGRhc3MgbWFuIHNpY2ggdmVycGlzc3QKYmlzIHdpZGRlciBBc2NoZXJtaXR0d29jaCBpc3QhCgoKClVuZCBzdGVodCBlaW4gWm9tYmllIHZvciBkZXIgVHVlciwKbWl0IHNvICduZW0gUGFwcG5hc2VuZ2VzY2h3dWVyLAp1bmQgc2FndCBzdGF0dCAiSGFsbG8iIG51ciAiSGVsYXUiLApkYW5uIGRyZWggc2llIHVtLCBkaWUgZHVtbWUgU2F1LAp1bmQgdHJpdHQgaWhyIGtyYWVmdGlzY2ggaW4gZGVuIEFyc2NoCnVuZCBydWYgZGFiZWk6IE5hcnJoYWxsYS1NYXJzY2ghIgoKCiJWaWVsZW4gRGFuayAuLi4iCihUdXNjaCwgTmFyaGFsbGEtTWFyc2NoIG1pdCBzY2huZWxsZW0gV2VnbGF1ZmVuKQoKCgoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvIHdpciBiZWkgRGlhbGVrdGVuIHNpbmQuLi4gKE9nbywgIDMuIEZlYiAyMDA1LCAyMDozODowMSk6Cn4jISBybj1ab29rIHJ0PTExMDczNDI2NjYgcmc9d3d3Cn4jISB0aWQ9MTEwNzM0MjY2NgpJY2ggZmluZGUgZXMgZXR3YXMgYWxiZXJuLCBlaW5lIHVuZGVmaW5pZXJ0ZSBSZWNodHNjaHJlaWJ1bmcgenVyIFVudGVybWFsdW5nCnZvbiBldHdhaWdlbiBMYXV0ZmFlcmJ1bmdlbiBlaW5lciBTcHJhY2hlIHp1IG1pc3NicmF1Y2hlbi4gRGFmdWVyIGdpYnQgZXMgZGllCnBob25ldGlzY2hlIFNjaHJpZnQuIFdlbm4gYXVmIGRlciB0b2xsZW4gU2VpdGUgbnVuIHZvbiBCZWlzY2hwaWVsIHN0YXR0CkJlaXNwaWVsIGRpZSBSZWRlIGlzdCwgZGFubiBpc3QgZGFzIHdlZGVyIGVpbmUgYWxsZW1hbm5pc2NoZSBCZXNvbmRlcmhlaXQgbm9jaAppbiBpcmdlbmRlaW5lciBXZWlzZSBpbnRlcmVzc2FudC4gRXMgaXN0IGphIG9rYXksIHdlbm4gbWFuIGFsbGVtYW5uaXNjaGUKV29lcnRlciBob2NoZGV1dHNjaGVuIEFlcXVpdmFsZW50ZW4gdm9yemllaHQgdW5kIGRvcnQgdW50ZXJicmluZ3QsIGFiZXIgamV0enQKZGFzIHVuc3JpZ2UgQWxwaGFiZXQgYWxzIExhdXRzY2hyaWZ0IHp1IGdlL21pc3NicmF1Y2hlbiB3aXJrdCBldHdhcwphZmZla3RpZXJ0LgoKV28gaXN0IGRlciBJbmZvcm1hdGlvbnNnZWhhbHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvIHdpciBiZWkgRGlhbGVrdGVuIHNpbmQuLi4gKFpvb2ssICAzLiBGZWIgMjAwNSwgMjI6MTI6MDQpOgp+IyEgcm49T2dvIHJ0PTExMDc0NTk0ODEgcmc9d3d3Cn4jISB0aWQ9MTEwNzM0MjY2NgpXYXMgbWVpbnN0IER1IGRlbm4gbWl0IExhdXRmYWVyYnVuZz8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNUDMtUGxheWVyIChHbG9pbnNvbiwgIDQuIEZlYiAyMDA1LCAxMzozMTowNSk6Cn4jISBybj1NaXNjaGllZiBydD0xMTA2NDQxMzMxIHJnPXN1Y2hlLWJpZXRlCn4jISB0aWQ9MTEwNjMxNzY1NwpJbiBkZW0gWnVzYW1tZW5oYW5nOgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L25ldHprdWx0dXIvMCwxNTE4LDM0MDA0NiwwMC5odG1sCgpNSUNST1NPRlQtQ0FNUFVTClNjaG5lbGwgZGVuIGlQb2QgdmVyc3RlY2tlbiEKCk1hbiBiZWFjaHRlIGFsbGVyZGluZ3MgYXVjaCBkYXMgRW5kZSBkZXMgQXJ0aWtlbHMsIGRpZSB1bSA5MCUtTWFya3RhYmRlY2t1bmcKZGVzIEFwcGxlLVBsYXllcnMgaXN0IG1pdHRsZXJ3ZWlsZSBlaGVyIGRlbSBLdWx0IHp1enVzY2hyZWliZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1IGltIEtpbm8gKERlZXBibHVlLCAgNC4gRmViIDIwMDUsIDE1OjAxOjI0KToKaHR0cDovL3d3dy5waWN1cGxvYWQubmV0L2ltYWdlLzJkYWU0MmQ1NTdkMGM5Nzg0YmRjYzZiYTkuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXbyB3aXIgYmVpIERpYWxla3RlbiBzaW5kLi4uIChPZ28sICA0LiBGZWIgMjAwNSwgMTc6MjE6NTkpOgp+IyEgcm49Wm9vayBydD0xMTA3NDY1MTI0IHJnPXd3dwp+IyEgdGlkPTExMDczNDI2NjYKRWluIFZlbGFyIHdpZSAnY2gnIHdpcmQgc2VsYnN0IGltIEhvY2hkZXV0c2NoIGRvY2ggaG9lY2hzdCB1bnRlcnNjaGllZGxpY2gKYXVzZ2VzcHJvY2hlbjsgQmV0cmFjaHRlbiB3aXIgZG9jaCBlaW5tYWwgJ2JldHJhY2h0ZW4nIHVuZCAnd2ljaHRpZycuIFdlbm4gbnVuCmRpZSBTY2h3ZWl6ZXIgZWluICdjaCcgaGFldWZpZ2VyIHdpZSBpbiBkYXMgJ2NoJyBpbiAnYmV0cmFjaHRlbicgYXVzcHJlY2hlbiwKZGFubiBzb2xsdGUgbWFuIG51ciBkaWUgTGF1dHNjaHJpZnQgZGFmdWVyIGhlcmFuemllaGVuLCB1bSBkaWVzZW4gVW50ZXJzY2hpZWQKZGV1dGxpY2ggenUgbWFjaGVuLiAiQmVpc3BpZWwiIHNwcmVjaGUgaWNoIGF1Y2ggYWxzICJCZWlzY2hwaWVsIiBhdXMsIG9obmUKZGFzcyBlcyBzbyBnZXNjaHJpZWJlbiB3ZXJkZW4gbXVlc3N0ZS4KCldlbm4gZHUgZWluIEJ1Y2ggdm9uIGVpbmVtIEJheWVybiwgZWluZW0gU2Nod2VpemVyLCBlaW5lbSBPZXN0ZXJyZWljaGVyIHVzdwp2b3JsZXNlbiBsYWVzc3QsIHdpcnN0IGR1IG1lcmtlbiwgZGFzcyBkZXJzZWxiZSBUZXh0IGRldXRsaWNoIHVudGVyc2NoaWVkbGljaGUKS2xhZW5nZSBoYXQuIFVtIGRpZXNlIFVudGVyc2NoaWVkZSB6dSBlcmtsYWVyZW4sIGJpZXRldCB1bnNlciBBbHBoYWJldCBuaWNodApkYXMgYXVzcmVpY2hlbmRlIEhhbmR3ZXJremV1Z3MuIERlc3dlZ2VuIGlzdCBkZXIgVmVyc3VjaCBkaWUgQXVzc3ByYWNoZSB6dQp2ZXJkZXV0bGljaGVuLCBpbiBkZW0gaWNoIGF1ZiBhbHMud2lraXBlZGlhLm9yZyB2b24gQmFlcm4gc3RhdHQgQmVybiBsZXNlbiwKaW1obyBkb29mLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWxpdGU/IEFjaHdhcywgenVydWVjayB6dSBFbGl0ZSAuLi4gKEdsb2luc29uLCAgNC4gRmViIDIwMDUsIDIzOjU2OjQzKToKLi4uIG9kZXIgZWluZW0gYWVobmxpY2hlbiBTcGllbC4gV2l0emlnOgoKaHR0cDovL3d3dy5zdGFyc29uYXRhLmNvbQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFiZXIgZXMgd2lsbCBqYSBpbW1lciBrZWluZXIgZ2xhdWJlIC4uLiAoR2xvaW5zb24sICA3LiBGZWIgMjAwNSwgMTU6MDk6NDkpOgouLi4gZGFzcyBXYXNzZXIgZ2VmYWVocmxpY2ggaXN0IDspCgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvdW5pc3BpZWdlbC93dW5kZXJiYXIvMCwxNTE4LDM0MDM5OCwwMC5odG1sCgooc2llaGUgdWVicmlnZW5zIGF1Y2g6IEJyaW5naW5nIG91dCB0aGUgZGVhZC4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob24gYWx0LCBhYmVyIGRpZSBCaWxkZXIgc2luZCBuZXR0IChBbnRoZWEsICA4LiBGZWIgMjAwNSwgMTA6NTU6MDUpOgpodHRwOi8vaG9tZS5hcmNvci5kZS9zb21tZXIudC9nYWdzL1RvaWxldHRlbnJlaW5pZ3VuZy5wZGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCBlaW4gcmljaHRpZ2VzIE9ubGluZS1TcGllbCAoTW9yZ290aCwgIDguIEZlYiAyMDA1LCAxNTowODo1NSk6Cmh0dHA6Ly93d3cudHJhbnN0ZWMuZGUvRC9EL3Rvb2xzL1JhY2tNYW4uaHRtbD9mc2lkPWI3YjZjMTY1MGU0OTBlZjhkNWNmMTZiYTFhZgoxN2YxYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBlaW4gcmljaHRpZ2VzIE9ubGluZS1TcGllbCAoQ2F0d2VhemxlLCAgOC4gRmViIDIwMDUsIDE1OjE3OjU1KToKfiMhIHJuPU1vcmdvdGggcnQ9MTEwNzg3MTczNSByZz13d3cKfiMhIHRpZD0xMTA3ODcxNzM1ClVuZCBzbyBpbm5vdmF0aXYgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkF1ZndpZWRlcnNlaGVuIChNdWFkaWIsICA4LiBGZWIgMjAwNSwgMTY6MTQ6NDgpOgpNdWRkZW4gaXN0IG1pciB6dSByaXNrYW50LCBpY2ggaG9lcmUgYXVmLgpXYXJ1bT8KRGFydW06Cmh0dHA6Ly93d3cuYmVlc2lnbi5hdC9lcmRzdHJhaGxlbi8KCk9rLCB2aWVsbGVpY2h0IHBmZWlmIGljaCBhdWNoIGRyYXVmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXVmd2llZGVyc2VoZW4gKEFyaywgIDguIEZlYiAyMDA1LCAyMjo0NToxNSk6Cn4jISBybj1NdWFkaWIgcnQ9MTEwNzg3NTY4OCByZz13d3cKfiMhIHRpZD0xMTA3ODc1Njg4CldvcmFuIGhhc3QgRHUgZXMgZmVzdGdlbWFjaHQ/IFZvcnplaXRpZ2UgRWpha3VsYXRpb24/IDopCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEF1ZndpZWRlcnNlaGVuIChDYXR3ZWF6bGUsICA5LiBGZWIgMjAwNSwgMTA6MDM6NDcpOgp+IyEgcm49TXVhZGliIHJ0PTExMDc4NzU2ODggcmc9d3d3Cn4jISB0aWQ9MTEwNzg3NTY4OApTZWhyIHNjaG9uLiAKRWluIGJlaXNwaWVsaGFmdGVyIEdhZXN0ZWJ1Y2hlaW50cmFnOiAiVmllbGVuIERhbmshIFNlaXQgaWNoIElocmUgU2VpdGUgenUKbWVpbmVyIFN0YXJ0c2VpdGUgZ2VtYWNodCBoYWJlLCBpc3QgbWVpbmUgU2NodXBwZW5mbGVjaHRlIHdpZSB3ZWdnZWJsYXNlbiB1bmQKYXVjaCBtZWluZSBGcmF1IGVuZGxpY2ggd2llZGVyIGdsdWVja2xpY2ghIgoKQXVzZ2V6ZWljaG5ldCA6LSkKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdWZ3aWVkZXJzZWhlbiAoR2xvaW5zb24sICA5LiBGZWIgMjAwNSwgMTA6MDY6MTcpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMDc5Mzk4Mjcgcmc9d3d3Cn4jISB0aWQ9MTEwNzg3NTY4OApJbXBvc2FudGVyIHdhZXJlIGVzIGplZG9jaCwgd2VubiBkZXIgRWludHJhZyB2b24gZWluZXIgRnJhdSB1bmQgZGllClNjaHVwcGVuZmxlY2h0ZSBpaHJlcyBNYW5uZXMgLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXVmd2llZGVyc2VoZW4gKFpvb2ssICA5LiBGZWIgMjAwNSwgMTA6MTE6NTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEwNzkzOTk3NyByZz13d3cKfiMhIHRpZD0xMTA3ODc1Njg4ClNjaG9lbiBhdWNoIGF1ZiBlaW5lciBkZXIgU2VpdGVuIGZvbGdlbmRlIEFuemVpZ2U6CgpFcmRzdHJhaGxlbgpOZXUgdW5kIGdlYnJhdWNodCEKTWlldGJpZXRlbiB1bmQgU29mb3J0a2F1ZmVuCnd3dy5lYmF5LmRlCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0dXBpZGVkaWEgKFZpbmNlbnQsIDEwLiBGZWIgMjAwNSwgMjI6MjU6NDcpOgpodHRwOi8vd3d3LmpnZy5hdC9zdHVwaWRlZGlhL2luZGV4LnBocC9IYXVwdHNlaXRlCgpvaG5lIGplZ2xpY2hlbiBLb21tZW50YXIuIDspCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFYmF5LUdld2lubnNwaWVsIChNZWRpYywgMTEuIEZlYiAyMDA1LCAwNzozNzowOSk6ClVudGVyOgoKaHR0cDovL2RldXRzY2hsYW5kbWFjaHRkdXJjaC5lYmF5LmRlCgpnaWJ0cyBqZWRlIE1pbnV0ZSBlaW5lIEthZmZlZW1hc2NoaW5lIHp1IGdld2lubmVuLiBOYWNobWl0dGFncyBzb2xsIGVzIHdvaGwKcmVjaHQgc2Nod2VyIHNlaW4sIGFiZXIgaGV1dGUgbW9yZ2VuIGhhdHRlIGljaCBHbHVlY2sgKHdvenUgTmFjaHRkaWVuc3QgZG9jaAphbGxlcyBndXQgc2VpbiBrYW5uIDspLgpJY2ggZHJ1ZWNrIGV1Y2ggZGllIERhdW1lbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEViYXktR2V3aW5uc3BpZWwgKFJvbmRhLCAxMS4gRmViIDIwMDUsIDIwOjI1OjE4KToKfiMhIHJuPU1lZGljIHJ0PTExMDgxMDM4Mjkgcmc9d3d3Cn4jISB0aWQ9MTEwODEwMzgyOQpEYW5rZSBmdWVyIGRlbiBUaXBwLiBBYmVyOiB3aWxsIGljaCBlY2h0IG5lIEthZmZlZW1hc2NoaW5lIG1pdCBlaW5lbQpwcm9wcmlldGFlcmVuIE1pbmktS2FmZmVlZmlsdGVyY2hlbiBhIGxhIFNlbnNlbz8KClJvbmRhICpza2VwdGlzY2gqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEViYXktR2V3aW5uc3BpZWwgKEJpZWxlZmVsZCwgMTEuIEZlYiAyMDA1LCAyMDoyNzoxNik6Cn4jISBybj1Sb25kYSBydD0xMTA4MTQ5OTE4IHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKWnVtYWwgZGFzIFNwaWVsIHdvaGwgZWggc2Nob24gd2llZGVyIGdlc2NyaXB0ZXQgd2lyZC4gRGllCkFudHdvcnR6ZWl0ZW4gbGFnZW4gdGVpbHdlaXNlIHVudGVyIGVpbmVyIGhhbGJlbiBTZWt1bmRlLgoKLUJpZWxlZmVsZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWJheS1HZXdpbm5zcGllbCAoV2FyZ29uLCAxMi4gRmViIDIwMDUsIDIxOjE3OjE3KToKfiMhIHJuPUJpZWxlZmVsZCBydD0xMTA4MTUwMDM2IHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKTWl0IEFic2NobHVzcyBuYWNoIGRlbSBNb3R0bzogZHJlaS4uLiB6d2VpLi4uIGVpbnMuLi4gLi4uc2VpbnM/CgogLVdhcmdvbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFYmF5LUdld2lubnNwaWVsIChEZWVwYmx1ZSwgMTMuIEZlYiAyMDA1LCAxMDoyNTo0OCk6Cn4jISBybj1Sb25kYSBydD0xMTA4MTQ5OTE4IHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKWnVtaW5kZXN0IGRlcnplaXQgZ2lidHMgZGEgdm9uIHZlcnNjaGllZGVuZW4gS2FmZmVlLUFuYmlldGVybiBQYWRzIChNZWxpdHRhLApKYWNvYnMsIERvdWdiZXJ0IEVnYmVydCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEViYXktR2V3aW5uc3BpZWwgKE11YWRpYiwgMTMuIEZlYiAyMDA1LCAxNzozOTo1OSk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTA4Mjg2NzQ4IHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKZGllIG1hc2NoaW5lbiBzaW5kIGphIGF1Y2ggYmlsbGlnLCBkaWUga29lbm5lbiBzaWUgYXVjaCB2ZXJsb3NlbiBvZGVyCnZlcnNjaGVua2VuLiBkYXMgZ2VsZCB3aXJkIG1pdCBkZW4gcGFkcyBnZW1hY2h0LiB1bmQgZGllIHNpbmQgaW0gZGlyZWt0ZW4Ka2FmZmVldmVyZ2xlaWNoIG5pY2h0IGdlcmFkZSBiaWxsaWcKZGFzIGhhdCBtYW4gc2ljaCB3b2hsIGJlaSBkZW4gcmFzaWVyZXJuIGFiZ2VzY2hhdXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEViYXktR2V3aW5uc3BpZWwgKE5vbm5lLCAxNC4gRmViIDIwMDUsIDA5OjE2OjQ2KToKfiMhIHJuPU11YWRpYiBydD0xMTA4MzEyNzk5IHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKTWFjaHMgd2llIGljaCwga2F1ZiBkaXIgZWluIFJhc2llcm1lc3Nlci4gRHJ1Y2tlciBoYWJlIGljaCBuaWNodCwgQmVhbWVyIGF1Y2gKbmljaHQsIGdpYnQgbm9jaCBCZXJlaWNoZSwgd28gbWl0IGRlbSBadWJlaG9lciBkYXMgR2VyYWV0IGZpbmFuemllcnQgd2lyZD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEViYXktR2V3aW5uc3BpZWwgKERhcmtsb3IsIDE0LiBGZWIgMjAwNSwgMDk6NDE6MDEpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwODM2OTAwNiByZz13d3cKfiMhIHRpZD0xMTA4MTAzODI5CldhcyBmdWVybiBadWJlaG9lciBnaWJ0cyBkZW5uIGZ1ZXIgZGVuIEJlYW1lcj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEViYXktR2V3aW5uc3BpZWwgKEFsa29ob2wsIDE0LiBGZWIgMjAwNSwgMDk6NDE6NDkpOgp+IyEgcm49RGFya2xvciBydD0xMTA4MzcwNDYxIHJnPXd3dwp+IyEgdGlkPTExMDgxMDM4MjkKZGllIExhbXBlCgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFYmF5LUdld2lubnNwaWVsIChNdWFkaWIsIDE0LiBGZWIgMjAwNSwgMDk6NTg6MjcpOgp+IyEgcm49Tm9ubmUgcnQ9MTEwODM2OTAwNiByZz13d3cKfiMhIHRpZD0xMTA4MTAzODI5CmljaCBoYWJlIGVpbiByYXNpZXJtZXNzZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEViYXktR2V3aW5uc3BpZWwgKEFsa29ob2wsIDE0LiBGZWIgMjAwNSwgMTA6MTc6MjgpOgp+IyEgcm49TXVhZGliIHJ0PTExMDgzNzE1MDcgcmc9d3d3Cn4jISB0aWQ9MTEwODEwMzgyOQpnZWh0IGRhcyBndXQgZGFtaXQ/CmljaCBoYWIgYXVjaCBtYWwgdWViZXJsZWd0IG9iIGljaCBkYXMgbWFjaGUKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEViYXktR2V3aW5uc3BpZWwgKE5vbm5lLCAxNC4gRmViIDIwMDUsIDEwOjIxOjI2KToKfiMhIHJuPUFsa29ob2wgcnQ9MTEwODM3MjY0OCByZz13d3cKfiMhIHRpZD0xMTA4MTAzODI5Ck1hbiBtdXNzIGVpbiBiaXNzY2hlbiB1ZWJlbiwgYWJlciBkYW5uIGdlaHQgZXMgZ3V0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKEppbWRpZ3JpeiwgMTQuIEZlYiAyMDA1LCAxOTo1OTo1Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMDY2NTcwNzIgcmc9d3d3Cn4jISB0aWQ9MTEwNjY1NjMyMgpIbW1tCgppY2ggaGFiIHNvd2FzIGVybGVidCBpbiBkZXIgIkJlcmcgS2xhdXNlIiBpbiBLaWVsLgoKV2VubiBtYW4gYmVzdGVsbHQsIHdpcmQgbWFuIGVyc3Qgdm9tIEtlbGxuZXIKZ2VtdXN0ZXJ0IG9iIG1hbiBkYXMgYmVzdGVsbHRlIGRlbm4gdWViZXJoYXVwdAp6d2luZ2VuIGtvZW5uZS4gV2VubiBkZXIgS2VsbG5lciBuaWNodCB1ZWJlcnpldWd0CmlzdCwga3JpZWd0IG1hbiBudXIgZGVuICJLaW5kZXJ0ZWxsZXIiLgoKRGVyIEtpbmRlcnRlbGxlciBiZXN0ZWh0IChiencuIGJlc3RhbmQgenUgZGVtClplaXRwdW5rdCBhbHMgaWNoIGRvcnQgd2FyLCBpc3Qgc2Nob24gZWluIHBhYXIKSmFocmUgaGVyKSBhdXMgZWluZW0gc2VociBncm9zc2VuIFRlbGxlciwgYXVmIGRlbQpzaWNoIHp1bmFlY2hzdCBtYWwgZWluIEJlcmcgQnJhdGthcnRvZmZlbG4sIG1pdCBlaW4gcGFhciAKd2VuaWdlbiBFcmJzZW4gdW5kIEthcm90dGVuIHR1ZXJtdC4gQXVmIGRpZXNlbSBCZXJnIGxpZWd0CmRhbm4gZWluIEthbGJzc2Nobml0emVsIChvaG5lIFBhbmFkZSEsIGRpZSBzb3JndCBqYQpvZnQgZnVlciBGYWtlLU1hc3NlKSBkYXNzIHZvbSBBdXNzbWFzcyBkZW4gVGVsbGVyIG5vY2gKdWViZXJyYWd0IHVuZCBtaW5kZXN0ZW5zIHVlYmVyYWxsIDFjbSBkaWNrIGlzdC4KCkljaCBoYWIgbWlyIG5vY2ggbmllIHNvIHNjaHdlciBnZXRhbiBhdWZ6dWVzc2VuIHVuZAplaW4gcGFhciBCcmF0a2FydG9mZmVsbiBtdXNzdGVuIGF1Y2ggdWViZXJibGVpYmVuLgoKV2llIGdlc2FndCwgZGFzIHdhciBkZXIgS2luZGVydGVsbGVyLiBBbGxlIGFuZGVyZW4gR2VyaWNodGUKd2FyZW4gbm9jaCBkZXV0bGljaCBncm9lc3Nlci4KCk5ldHQgaXN0IGF1Y2ggZGllIFJlZ2VsOiBXZXIgbmljaHQgYXVmaXNzdAptdXNzIGFuIEJyb3QgZnVlciBkaWUgV2VsdCBzcGVuZGVuLgoKQWNoamEsIGRlciBLaW5kZXJ0ZWxsZXIgaGF0IGRhbWFscyAxMiw1MCBETSBnZWtvc3RldC4KCldlaXNzIG5pY2h0IG9icyBkZW4gTGFkZW4gbm9jaCBnaWJ0LCBhYmVyIGVzIHdhciBlY2h0CmJlZWluZHJ1Y2tlbmQuCgpDaWFvLAogSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChNYWhhcmV0LCAxNC4gRmViIDIwMDUsIDIwOjQwOjEwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTA4NDA3NTk3IHJnPXd3dwp+IyEgdGlkPTExMDY2NTYzMjIKSWNoIGxhc3MgbWljaCBqYSBlaGVyIGR1cmNoIFF1YWxpdGFldCBhbHMgZHVyY2ggUXVhbnRpdGFldCB2b24gZWluZW0KUmVzdGF1cmFudCBiZWVpbmRydWNrZW4uICBVbm1lbmdlbiBhbiBCcmF0a2FydG9mZmVsbiBhdWYgZWluZW4gVGVsbGVyIHN0YXBlbG4Ka2FubiBpY2ggYXVjaC4gIFdlbm4gZWluIEtvY2ggZ2xhdWJ0LCBtaWNoIGRhbWl0IGdld2lubmVuIHp1IGtvZW5uZW4sIGhhdCBlcgpzY2hvbiB2ZXJsb3JlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogRWlubWFsIEJ1cmdlciBmdWVyIDEwIExldXRlLCBiaXR0ZSAoQWxrb2hvbCwgMTQuIEZlYiAyMDA1LCAyMDo0MzoyOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExMDg0MTAwMTAgcmc9d3d3Cn4jISB0aWQ9MTEwNjY1NjMyMgphbHNvIGRhIGthbm4gaWNoIG51ciBkYXMgRmF0YWwgaW4gQnVkYXBlc3QgZXJpbm5lcm4KCmRhcyB3YXIgcmljaHRpZyByaWNodGlnIHJpY2h0aWcgbGVja2VyCnVuZCBpbSBoYWIgbWVpbmUgcG9ydGlvbiBrYXVtIGdlc2NoYWZmdCAqZyoKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVpbm1hbCBCdXJnZXIgZnVlciAxMCBMZXV0ZSwgYml0dGUgKEFsa29ob2wsIDE0LiBGZWIgMjAwNSwgMjA6NDU6MzYpOgp+IyEgcm49SHVtbmkgcnQ9MTEwODQxMDMxNCByZz13d3cKfiMhIHRpZD0xMTA2NjU2MzIyCmpvLCBpY2ggKmcqCnVuZCBkZXIgTWF4IGhhdHMgbmNpaHQgZ2VzY2hhZmZ0CgpBbGtpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChLZWxseWJ1bmR5LCAxNC4gRmViIDIwMDUsIDIxOjQ3OjE4KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTA4NDA3NTk3IHJnPXd3dwp+IyEgdGlkPTExMDY2NTYzMjIKSGVoZSBzb3dhcyBpc3QgbWlyIG1hbCBpbm5lbSBhZXRoaW9waXNjaGVuIFJlc3RhdXJhbnQgaW4gRHVlc3NlbGRvcmYKcGFzc2llcnQuLi4KRGVyIEtlbGxuZXIgbWVpbnRlLCBkaWUgb3JpZ2luYWxlIFd1ZXJ6ZSB3YWVyZSBmdWVyIG1pdHRlbGV1cm9wYWVlciB3b2hsIG5pY2h0CnNvIGRhcy4gV2FlaHJlbmQgbWVpbmUgS29sbGVnZW4gYXVzIGRlbiBPaHJlbiByYXVjaHRlbiBoYWIgaWNoIGF1ZiBlaW5lIHp3ZWl0ZQpQb3J0aW9uIGJlc3RhbmRlbiwgZGllc21hbCBvcmlnaW5hbCBnZXd1ZXJ6dCAqR0cqCgpCbG9uZGNoZW4uIFBha2lzdGFua3VlY2hlbmVycHJvYnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1c2ghISEgKEtlbGx5YnVuZHksIDE0LiBGZWIgMjAwNSwgMjI6MTc6MTEpOgpodHRwOi8vd3d3LmJ1c2hpbm1haW56LmRlL25ld3NfcHJlc3NlLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciB1bHRpbWF0aXZlIEQyIEd1aWRlIChhdWNoIGZ1ZXIgYW5kZXJlIE9ubGluZXNwaWVsZSBnZWVpZ25ldCkgKE11cGZlbCwgMTcuIEZlYiAyMDA1LCAyMToxNTo1Nik6Cmh0dHA6Ly9kaWFibG8yLmluZ2FtZS5kZS90aXBzL2d1aWRlcy9SZW50bmVyLUd1aWRlLwoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgdWx0aW1hdGl2ZSBEMiBHdWlkZSAoYXVjaCBmdWVyIGFuZGVyZSBPbmxpbmVzcGllbGUgZ2VlaWduZXQpIChDYXR3ZWF6bGUsIDE4LiBGZWIgMjAwNSwgMTI6MzI6NTkpOgp+IyEgcm49TXVwZmVsIHJ0PTExMDg2NzEzNTYgcmc9d3d3Cn4jISB0aWQ9MTEwODY3MTM1NgpEaWVzZW4gTGluayBkYXJmIGljaCBtZWluZW0gTGllYmxpbmdzZHJhY2hlbiBhdWYgZ2FyIGtlaW5lbiBGYWxsIHplaWdlbi4gVmllbAp6dSB2aWVsIEluc2lkZXJpbmZvcm1hdGlvbmVuIDotKQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNUyBlcmtsYWVydCBkaWUgKGJvZXNlKSBXZWx0IChNdXBmZWwsIDE5LiBGZWIgMjAwNSwgMDE6Mzk6NDEpOgpodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vYXRob21lL3NlY3VyaXR5L2NoaWxkcmVuL2tpZHRhbGsubXNweAoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNUyBlcmtsYWVydCBkaWUgKGJvZXNlKSBXZWx0IChLZWxseWJ1bmR5LCAyMC4gRmViIDIwMDUsIDEyOjI0OjQ3KToKfiMhIHJuPU11cGZlbCBydD0xMTA4NzczNTgxIHJnPXd3dwp+IyEgdGlkPTExMDg3NzM1ODEKTWVpbiBnZXNlbmRldGVyIGtvbW1lbnRhciBkYXp1OiBidWxsc2hpdC4gYXVjaCB3ZW5ucyBkaWUgYmVpIE0kIGthdW0KaW50ZXJlc3NpZXJlbiB3aXJkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBFaW5tYWwgQnVyZ2VyIGZ1ZXIgMTAgTGV1dGUsIGJpdHRlIChNaW5nbywgMjEuIEZlYiAyMDA1LCAyMzoyNjoyNik6Cn4jISBybj1BbGtvaG9sIHJ0PTExMDg0MTAyMDggcmc9d3d3Cn4jISB0aWQ9MTEwNjY1NjMyMgpFcmlubmVydCBtaWNoIGFuIGVpbmUgTWFlbm5lcnRhZ3N3YW5kZXJ1bmcgb2huZSBLYXJ0ZS4gSXJnZW5kd2FubiBzaW5kIHdpciBpbgpEZWNpbi9UZXRzY2hlbiBnZWxhbmRldCB1bmQgaGF0dGVuIHppZW1saWNoZW4gSHVuZ2VyLiBHZXJhZGUgbm9jaCBzbyBlaW4KSG9zdGluZWMvS25laXBlIG1pdCBLbm9lZGVsK0d1bGFzY2ggKGFiIDE4IG1laXN0IGF1cykgZ2VmdW5kZW4uIEFscyA2IExldXRlCnVuaXNvbm8gZWluZSB6d2VpdGUgUG9ydGlvbiBiZXN0ZWxsdGVuIGhhdCB1bnMgZGVyIFdpcnQgc2Nob24gc2VociBlaWdlbmFydGlnCmdlbXVzdGVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXbyBpc3QgZGEgZGVyIEZlaGxlcj8gKE9ya3RvZXRlciwgMjIuIEZlYiAyMDA1LCAyMDozNTozMSk6Ck1hbiBzY2hhdWUgc2ljaCBmb2xnZW5kZSBNZWxkdW5nIGFuIHVuZCBzdWNoZSBkZW4gRmVobGVyOgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNTY2NzUKCkRpZSBBdWZsb2VzdW5nIGRhbm4gaW0gU2VsYnN0cmVwbHkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV28gaXN0IGRhIGRlciBGZWhsZXI/IChPcmt0b2V0ZXIsIDIyLiBGZWIgMjAwNSwgMjA6MzY6MjApOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMDkxMDA5MzEgcmc9d3d3Cn4jISB0aWQ9MTEwOTEwMDkzMQpFcyBpc3Qgbm9jaCBnYXIgbmljaHQgZGVyIDEuIEFwcmlsLgoKT3JrVCwgZ2VzcGFubnQgb2IgZGllIFVTLVBhdGVudGJlaG9lcmRlIGRhcyBQYXRlbnQgZ2VuZWhtaWd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXbyBpc3QgZGEgZGVyIEZlaGxlcj8gKFRhcmFuaXMsIDIyLiBGZWIgMjAwNSwgMjA6NDM6MjkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMDkxMDA5ODAgcmc9d3d3Cn4jISB0aWQ9MTEwOTEwMDkzMQpEYSBmYWVsbHQgbWlyIG5peCBtZWhyIHp1IGVpbiwgYmluIHNwcmFjaGxvcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdvIGlzdCBkYSBkZXIgRmVobGVyPyAoV3VyemVsLCAyMi4gRmViIDIwMDUsIDIwOjQ4OjM1KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEwOTEwMTQwOSByZz13d3cKfiMhIHRpZD0xMTA5MTAwOTMxCndlbm4gZXMgZGEgbmljaHQgcHJpb3IgYXJ0IGdpYnQsIGhhYiBpY2gga2VpbmUgbWVpbnVuZyBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV28gaXN0IGRhIGRlciBGZWhsZXI/IChNdWFkaWIsIDIyLiBGZWIgMjAwNSwgMjA6NTA6MDEpOgp+IyEgcm49V3VyemVsIHJ0PTExMDkxMDE3MTUgcmc9d3d3Cn4jISB0aWQ9MTEwOTEwMDkzMQpkYXMgc2luZCBkaWUgaGVsZGVuIHZvbiBtcywgZGllIHdvbGxlbiBkb2NoIG51ciB6ZWlnZW4gd2FzIGZ1ZXIgZWluIHVuc2lubiBkaWUKcGF0ZW50ZSBzaW5kIH04LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXIgV2FycyBJSUkgQmlsZGVyIChWaW5jZW50LCAyNC4gRmViIDIwMDUsIDEyOjMxOjI4KToKQUNIVFVORyEgU1BPSUxFUiEKV2VyIHNpY2ggZGllIFNwYW5udW5nIGF1ZiBTdGFyIFdhcnMgSUlJIGJld2FocmVuIG1vZWNodGUsIHNvbGx0ZSBkZW4KZm9sZ2VuZGVuIExpbmsgbmljaHQgYXVmcnVmZW4uCgpodHRwOi8veWlybXVtYWgubmV0L1N0YXJXYXJzMy8KCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhciBXYXJzIElJSSBCaWxkZXIgKENhdHdlYXpsZSwgMjQuIEZlYiAyMDA1LCAxMjo0NzozMik6Cn4jISBybj1WaW5jZW50IHJ0PTExMDkyNDQ2ODggcmc9d3d3Cn4jISB0aWQ9MTEwOTI0NDY4OApEYW5uIHNlbmRlIGRvY2ggZWluZmFjaCBkZW4gTGluayBuaWNodC4gCkljaCBiaW4gUGh5c2lrZXIsIGR1IHdlaXNzdCBkb2NoIHdhcyBwYXNzaWVydCwgd2VubiBtaXIgamVtYW5kIHNhZ3QsIGljaCBzb2xsZQpfTklDSFRfIGF1ZiBkZW4gcm90ZW4gS25vcGYgZHJ1ZWNrZW4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3RhciBXYXJzIElJSSBCaWxkZXIgKEdsb2luc29uLCAyNC4gRmViIDIwMDUsIDEyOjUzOjEwKToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTA5MjQ1NjUyIHJnPXd3dwp+IyEgdGlkPTExMDkyNDQ2ODgKRHUgdmVyc3VjaHN0IHp1IHZlcnN0ZWhlbiB3aWUgZXIgZnVua3Rpb25pZXJ0IHVtIGlobiBuYWNoenViYXVlbj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGFyIFdhcnMgSUlJIEJpbGRlciAoSmltZGlncml6LCAyNC4gRmViIDIwMDUsIDE2OjQ5OjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMDkyNDU5OTAgcmc9d3d3Cn4jISB0aWQ9MTEwOTI0NDY4OApNb2luLAoKZ2lidHMgaGllciBlaWdlbnRsaWNoIEdlb2NhY2hlcj8KCldlciBuaWNodCB3ZWlzcyB3YXMgZGFzIGlzdDogLT4gaHR0cDovL3d3dy5nZW9jYWNoaW5nLmNvbS8KCkNpYW8sIAogSmRHICg5NyBmb3VuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN0YXIgV2FycyBJSUkgQmlsZGVyIChEYXJrbG9yLCAyNC4gRmViIDIwMDUsIDIwOjM3OjQ1KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTA5MjYwMTU2IHJnPXd3dwp+IyEgdGlkPTExMDkyNDQ2ODgKV2FzIGhhdCBkYXMgbWl0IFN0YXIgV2FycyB6dSB0dW4/CgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45MDY4NTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoSmltZGlncml6LCAyNC4gRmViIDIwMDUsIDIxOjE5OjQ4KToKfiMhIHJuPVdoaXRldGlnZXIgcnQ9MTEwOTI3NjI2OCByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKCk9rLCBkaWUgTnVtbWVyaWVydW5nIGlzdCB3b2hsIGluZGl2aWR1ZWxsIHZlcnNjaGllZGVuLgpTb3dhcyBhYmVyIGF1Y2guIERpZSBSdWJyaWsgaGVpc3N0ICJ3d3ciCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdGFyIFdhcnMgSUlJIEJpbGRlciAoR2xvaW5zb24sIDI1LiBGZWIgMjAwNSwgMDA6MjA6NTEpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMDkyNjAxNTYgcmc9d3d3Cn4jISB0aWQ9MTEwOTI0NDY4OApVcmdoLiBJY2ggaG9mZmUgZG9jaCBuaWNodC4gRWluIGV0d2FzIGVpZ2VuYXJ0aWdlcyBTY2huaXR6ZWxqYWdlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWNoamEsIGRpZSBndXRlIGFsdGUgWmVpdCAuLi4gKEdsb2luc29uLCAyNS4gRmViIDIwMDUsIDAwOjI2OjMxKToKLi4uIGhpZXIgZmVzdGdlaGFsdGVuOgoKaHR0cDovL2ZvbGtsb3JlLm9yZwoKRGllIE1hYy1HZXNjaGljaHRlIGdlZmFsbGVuIG1pcjoKaHR0cDovL3Rpbnl1cmwuY29tLzNqNmtqCmh0dHA6Ly90aW55dXJsLmNvbS82eGVodQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldoaXNreWZhbnMgYXVmZ2VwYXNzdDogKEdyaW1tYm9ybiwgMjYuIEZlYiAyMDA1LCAxMjo0MjoxMCk6Cn4jISBvbj1Pcmt0b2V0ZXIgb3Q9MTEwOTM3Njg0MSBvZz1hbGxnZW1laW5lcwpodHRwOi8vbmV3cy5iYmMuY28udWsvMS9oaS9zY290bGFuZC80Mjk4NjE5LnN0bQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2F0emVuYmx1dCAoQW50aGVhLCAyOC4gRmViIDIwMDUsIDEzOjU0OjU2KToKaHR0cDovL2F1dHNjaC5ydGwuZGUvYXBvdGhla2UvX3Nwb3RzL2thdHplbmJsdXQuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW50ZXJlc3NhbnRlciBUUC1BcnRpa2VsIC4uLiAoQXJhdGhvcm4sICA1LiBNYXIgMjAwNSwgMTY6MTA6MjQpOgouLi4genVtIFRoZW1hIFN5bmFlc3RoZXNpZS4KCmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvcjQvYXJ0aWtlbC8xOS8xOTU3OC8xLmh0bWwKCnNwZXppZWxsIGluIFp1c2FtbWVuaGFuZyBtaXQgUHJvZ3JhbW1pZXJ1bmcgdW5kIGRpZXNlbSBGb3JlbnRocmVhZDoKCmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvZm9yZW4vZ28uc2h0bWw/cmVhZD0xJm1zZ19pZD03NTM4MzU3JmZvcnVtX2lkPTc0Nzg1CgpHcnVzcywgQXJhdGhvcm4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJheWVyIExldmVya3VzZW4gKERlZXBibHVlLCAxMC4gTWFyIDIwMDUsIDEzOjAxOjU5KToKaHR0cDovL3Rpbnl1cmwuY29tLzNsc253CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmF5ZXIgTGV2ZXJrdXNlbiAoWm9vaywgMTAuIE1hciAyMDA1LCAxMzowNzowNyk6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTEwNDU2MTE5IHJnPXd3dwp+IyEgdGlkPTExMTA0NTYxMTkKV3VyZGUgbmljaHQgbmV1bGljaCBub2NoIG1pdCBncm9zc2VtIEhhbGxvIGVpbiBKdWJpbGFldW0gZ2VmZWllcnQuLj8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIE5vc3RhbGdpa2VyIHVuZCBRdWl6d3VldGlnZSAoRGFyaWEsIDEwLiBNYXIgMjAwNSwgMTc6MTI6MjcpOgpIdWh1LApodHRwOi8vcXVpei5zZXNibG9nLmh1L3F1aXovaW5kZXgucGwKVmllbCBTcGFzcywKRGFyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCYXllciBMZXZlcmt1c2VuIChCYW1idWxrbywgMTAuIE1hciAyMDA1LCAxNzoyNDoxMik6Cn4jISBybj1EZWVwYmx1ZSBydD0xMTEwNDU2MTE5IHJnPXd3dwp+IyEgdGlkPTExMTA0NTYxMTkKR3V0ZSBGYWVsc2NodW5nIDotKQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIE5vc3RhbGdpa2VyIHVuZCBRdWl6d3VldGlnZSAoUGhvYm9zLCAxMC4gTWFyIDIwMDUsIDIxOjI2OjM0KToKfiMhIHJuPURhcmlhIHJ0PTExMTA0NzExNDcgcmc9d3d3Cn4jISB0aWQ9MTExMDQ3MTE0NwpOZXR0IC4uIDM0IHZvbiA0MCAoYWxsZSBhdXNzZXIgMjMsIDI2LCAyOCwgMzIsIDM2LCAzOCkKClBob2JvcyAgLSAgQmVydWZzc3BpZWxlciBBLkQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgTm9zdGFsZ2lrZXIgdW5kIFF1aXp3dWV0aWdlIChQaG9ib3MsIDEwLiBNYXIgMjAwNSwgMjE6NTA6MzYpOgp+IyEgcm49UGhvYm9zIHJ0PTExMTA0ODYzOTQgcmc9d3d3Cn4jISB0aWQ9MTExMDQ3MTE0NwpVcGRhdGUgLi4gNDAgdm9uIDQwLiBEaWUgcmVzdGxpY2hlbiA2IGxpZXNzZW4gc2ljaCBtaXQgSGlsZmUgZGVyCkxlc2Vya29tbWVudGFyZSBlaW5mYWNoIGZpbmRlbiAoZGEgc2llIGlyZ2VuZHdhbm4gZWluZmFjaCB2ZXJyYXRlbgp3ZXJkZW4pLiBELmguIGRhIHNvbGx0ZSBtYW4gbmljaHQgbmFjaHNjaGF1ZW4sIHdlbm4gbWFuIHNlbGJzdCBkcmF1Zgprb21tZW4gd2lsbC4gMzYgdm9uIDQwIGhhZXR0ZSBpY2ggYXVzIGVpZ2VuZXIgS3JhZnQgZXJ6aWVsZW4ga29lbm5lbiwKNCBTcGllbGUga2FubnRlIGljaCBuaWNodCBtYWwgdm9tIE5hbWVuLgoKUGhvYm9zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgppbnRlcmVzc2FudGVyIFJlZmVyZW56a3VuZGUgKEZlaWdsaW5nLCAxMC4gTWFyIDIwMDUsIDIyOjE1OjEzKToKRXMgaXN0IHNjaG9uIGludGVyZXNzYW50LCB3YXMgbWFjaGUgRmlybWVuIGFscyBSZWZlcmVuemt1bmRlbiBoYWJlbi4Kei5CLiBHdW5lciArIEphaHIgKG1hY2h0IGRlbiBDb250ZW50IGRlciBzZWl0ZSBzdGVybi5kZSkgaGF0IGRhIG5lbgpnYW56IHRvbGxlbiA6LSkgRGF2aWRvZmYgKG1hY2h0IHUuYS4gWmV1Y2ggd2FzIG51ciB6dW0gdmVyYnJlbm5lbiB0YXVndCkKCk1hbiBrbGlja2UgbWFsIGF1ZiBkZW4gTGluayBhdWYgZGVyIFNlaXRlIG1pdCBkaWVzZW0gR3VKIEt1bmRlbiB1bmQKd3VuZGVyZSBzaWNoOgoKaHR0cDovL3d3dy5zaG9ydC1saW5rLmRlLzEyNTIKCkZlaWdsaW5nLCBnbGF1YnRzIGltbWVybm9jaCBuaWNodCA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbnRlcmVzc2FudGVyIFJlZmVyZW56a3VuZGUgKFpvb2ssIDExLiBNYXIgMjAwNSwgMDk6MTE6MjApOgp+IyEgcm49RmVpZ2xpbmcgcnQ9MTExMDQ4OTMxMyByZz13d3cKfiMhIHRpZD0xMTEwNDg5MzEzCkhtLiBXYXMgZ2VuYXUgdmVyc3RlaGUgaWNoIG51biBhbiBkZW0gTGluayBuaWNodD8KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGludGVyZXNzYW50ZXIgUmVmZXJlbnprdW5kZSAoTm9ubmUsIDExLiBNYXIgMjAwNSwgMDk6MTI6NTApOgp+IyEgcm49Wm9vayBydD0xMTEwNTI4NjgwIHJnPXd3dwp+IyEgdGlkPTExMTA0ODkzMTMKRGFzcyBlciBhdWYgZWluZSBwcml2YXRlIEhvbWVwYWdlIHZlcndlaXN0LCBkaWUgc2ljaCBuaWNodCBiZXNvbmRlcnMgYWxzClJlZmVyZW56IGZ1ZXIgZWluZW4gV2ViZGVzaWduZXIgZWlnZW50LCBpc3QgZGlyIG5pY2h0IGF1ZmdlZmFsbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBpbnRlcmVzc2FudGVyIFJlZmVyZW56a3VuZGUgKFpvb2ssIDExLiBNYXIgMjAwNSwgMDk6MTY6MjMpOgp+IyEgcm49Wm9vayBydD0xMTEwNTI4NjgwIHJnPXd3dwp+IyEgdGlkPTExMTA0ODkzMTMKQWgsICJtYW4ga2xpY2tlIG1hbCBhdWYgZGVuIExpbmsgQVVGIERFUiBTRUlURSBtaXQgZGllc2VtIEd1Si1LdW5kZW4iIApUamEsIGlzIG5vY2ggZnJ1ZWguIEJpbiBub2NoIG5pY2h0IHdhY2guLi4KClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZW1vcnkgKE1vcmdvdGgsIDEyLiBNYXIgMjAwNSwgMTA6Mjc6NDEpOgpodHRwOi8vd3d3LmJpbGRzY2hpcm1hcmJlaXRlci5jb20vb3V0cHV0LnBocD9pZD00MDI2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWVycG9uZyAoR2xvaW5zb24sIDEyLiBNYXIgMjAwNSwgMjM6MzQ6MDIpOgpFaW4gQW1pIGhhdCBkYXMgYmVpIHVucyBlaW5nZWZ1ZWhydC4gRWZmZWt0aXYgc3BpZWxlbiB6d2VpIFRlYW1zIGdlZ2VuZWluYW5kZXIKdW5kIHdlcmZlbiBlaW5lbiBQaW5ncG9uZ2JhbGwgZGVuIGFuZGVyZW4gaW4gZGllIGF1Zmdlc3RlbGx0ZW4gQmVjaGVyLCB3ZWxjaGUKZGllc2UgZGFubiBhdXN0cmlua2VuIG11ZXNzZW4uIEJlaSB1bnMgd3VyZGUgbWl0IDYgQmVjaGVybiBnZXNwaWVsdC4gSGllciBlaW5lCnNjaG9lbmUgSWxsdXN0cmF0aW9uIG1pdCBhbWVyaWthbmlzY2hlbSBCaWVyOgoKaHR0cDovL3d3dy5jb2xsZWdlaHVtb3IuY29tLz9pbWFnZV9pZD04OTA1MAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBCaWVycG9uZyAoR2xvaW5zb24sIDEzLiBNYXIgMjAwNSwgMDA6NTM6MjUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMDY2Njg0MiByZz13d3cKfiMhIHRpZD0xMTEwNjY2ODQyCkluc2VydCBjb2luLCB0cnkgYWdhaW46CgpodHRwOi8vd3d3LmNvbGxlZ2VodW1vci5jb20vaW1nLzYvNjAwX2N1cF9icC53NDkyLmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN3YW4ncyBSb29tIChQaG9ib3MsIDEzLiBNYXIgMjAwNSwgMTM6MDE6MzMpOgpIbW0sIGljaCBoYWJlIG9lZnRlciBtYWwgZWluIERlamEtdnUtRXJsZWJuaXMuIEljaCBiZWZpbmRlIG1pY2ggaW4gZWluZW0KdmVyc2NobG9zc2VuZW4gUmF1bSB1bmQgdmVyc3VjaGUgenUgZW50a29tbWVuLiBVbmQgb2J3b2hsIGljaCBkZXIgZmVzdGVuClVlYmVyemV1Z3VuZyBiaW4sIGRhc3MgbWlyIGRhcyBpbiBkZXIgVmVyZ2FuZ2VuaGVpdCBnZWx1bmdlbiBpc3QsIHN0ZWhlCmljaCBpbW1lciB3aWVkZXIgdm9yIGRlbSBnbGVpY2hlbiBQcm9ibGVtOgoKaHR0cDovL21vZnV5YS5jb20vZmxhc2gvc3dhbl95b2JpLmh0bQoKRGllIFNwcmFjaGUga29tbXQgbWl0IGphIChzKXBhbmlzY2ggdm9yLCBpc3QgYWJlciBlcnN0IHp1IGVpbmVtIHNwYWV0ZXJlbgpaZWl0cHVua3QgcmVsZXZhbnQuIEV2dGwuIGtvbW10IG1hbiBhdWNoIG1pdCBUcmlhbCB1bmQgRXJyb3Igd2VpdGVyLiBJY2gKYmluIGFiZXIgbm9jaCBuaWNodCBlbnRrb21tZW4sIG9id29obCBpY2ggZGVuIFR1ZXJzY2hsdWVzc2VsIHNjaG9uIHZvciBtaXIKc2VoZS4KCgpQaG9ib3MKClBTOgpCbGF1ZXIgRHJhaHQgb2RlciByb3RlciBEcmFodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTd2FuJ3MgUm9vbSAoQnJhbiwgMTQuIE1hciAyMDA1LCAxNToxMDozMik6Cn4jISBybj1QaG9ib3MgcnQ9MTExMDcxNTI5MyByZz13d3cKfiMhIHRpZD0xMTEwNzE1MjkzCkF1Zmdlc2NocmF1YnQgaGFiIGljaHMgYXVjaCwgYWJlciBmaW5kZSBrZWluZW4gSGlud2VpcyBmdWVyIGRpZSBSZWloZW5mb2xnZQpkZXIgRHJhZWh0ZSAtPiAqUGVuZyouIEljaCB2ZXJtdXRlLCBkYXNzIGRhcyAyLiBMZXZlbCBpbSBDb21wdXRlciB1bmQgZGllClpldHRlbCBpbSBVbXNjaGxhZyB3YXMgZGFtaXQgenUgdHVuIGhhYmVuLCB3ZWlsIGJlaWRlcyBzb25zdCBub2NoIG5pY2h0CmdlYnJhdWNodCB3dXJkZSwgYWJlciBkYXMgZXJzdGVyZSBpc3QgSmFwYW5pc2NoIHVuZCBhdWYgZGllIFpldHRlbCBrYW5uIGljaAptaXIga2VpbmVuIFJlaW0gbWFjaGVuIChhdWNoIG9obmUgTGljaHQpLiBJcmdlbmR3ZWxjaGUgVGlwcz8KCkJyYW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlc2NobWFja3N2ZXJpcnJlbmRlIEdlc2NobWFja3N2ZXJpcnJ1bmcgKERlZXBibHVlLCAxNS4gTWFyIDIwMDUsIDEwOjQyOjQyKToKaHR0cDovL3d3dy5hYnl3ZWIuYXQvRmxhc2gvc2NobmFwcGkvc2NobmFwcGkuc3dmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2VzY2htYWNrc3ZlcmlycmVuZGUgR2VzY2htYWNrc3ZlcmlycnVuZyAoQW50aGVhLCAxNS4gTWFyIDIwMDUsIDEyOjIwOjM1KToKfiMhIHJuPURlZXBibHVlIHJ0PTExMTA4Nzk3NjIgcmc9d3d3Cn4jISB0aWQ9MTExMDg3OTc2MgpCZXNvbmRlcnMgaW50ZXJlc3NhbnQgZmluZGUgaWNoLCBkYXNzIGRlciBXZWJzZWl0ZW5lcnN0ZWxsZXIgZXMgbmljaHQgbm9ldGlnCmhhdCwgZWluZSBRdWVsbGVuYW5nYWJlIGRlciBTY2huYXBwaS1WYXJpYW50ZW4genUgbGllZmVybi4gRGFzIHNpbmQKc2NobGllc3NsaWNoIGd1dGUgYWx0ZSBCZWthbm50ZSB2b24gUmFkaW8gRkZOLCBhdWNoIHdlbm4gZXMgbmljaHQgYWxsZSBTdHVlY2tlCnNpbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHZXNjaG1hY2tzdmVyaXJyZW5kZSBHZXNjaG1hY2tzdmVyaXJydW5nIChIaWdobGFuZGVyLCAxNS4gTWFyIDIwMDUsIDEyOjI4OjE1KToKfiMhIHJuPVd1cnplbCBydD0xMTEwODg2MDI5IHJnPXd3dwp+IyEgdGlkPTExMTA4Nzk3NjIKRGFzIHNvbGx0ZSBkb2NoIGJlc3RpbW10IGluIDxpPmRpZTwvaT4gUnVicmlrLCBXdXJ6ZWwsIG9kZXI/CgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdlc2NobWFja3N2ZXJpcnJlbmRlIEdlc2NobWFja3N2ZXJpcnJ1bmcgKFd1cnplbCwgMTUuIE1hciAyMDA1LCAxMjoyODo0Nyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMTA4ODYwOTUgcmc9d3d3Cn4jISB0aWQ9MTExMDg3OTc2MgpnZW5hdSwgZGEgaXN0IGVzIGpldHp0IGF1Y2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkdSBkZXV0c2NoPyAoVmVjdG9yLCAxNi4gTWFyIDIwMDUsIDE0OjQ0OjQ3KToKaHR0cDovL3d3dzEuc3BpZWdlbC5kZS9hY3RpdmUvendpZWJlbGZpc2NocXVpei9mY2dpL3p3aWViZWxmaXNjaHF1aXouZmNnaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGR1IGRldXRzY2g/IChCYW1iaSwgMTcuIE1hciAyMDA1LCAwMTowNjo1Nik6Cn4jISBybj1WZWN0b3IgcnQ9MTExMDk4MDY4NyByZz13d3cKfiMhIHRpZD0xMTEwOTgwNjg3CkdpYnQgZXMgYmVpIGRlbSBSYWV0c2VsIGVpbiBkZWZpbmllcnRlcyBFbmRlIG9kZXIgd2VyZGVuIGRpZSBGcmFnZW4gaW1tZXIKd2llZGVyIGluIGRlbiBQb29sIGdld29yZmVuLCBhdWNoIHdlbm4gbWFuIHNpZSByaWNodGlnIGJlYW50d29ydGV0IGhhdHRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTd2FuJ3MgUm9vbSAoQm9pbmcsIDE4LiBNYXIgMjAwNSwgMTA6NTQ6MTkpOgp+IyEgcm49QnJhbiBydD0xMTEwODA5NDMyIHJnPXd3dwp+IyEgdGlkPTExMTA3MTUyOTMKWndlaXRlciBMZXZlbCBpbSBDb21wdXRlcj8gSWNoIGJla29tbSBuaWNodG1hbCBkZW4gZXJzdGVuIGhpbiwga2FubiBtaXIKZGF6dSBqZW1hbmQgbmVuIEhpbndlaXMgZ2ViZW4/IEdlcm5lIGF1Y2ggcGVyIG1haWwuIDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZHUgZGV1dHNjaD8gKERhcmlhLCAxOC4gTWFyIDIwMDUsIDE0OjEyOjI3KToKfiMhIHJuPUJhbWJpIHJ0PTExMTEwMTgwMTYgcmc9d3d3Cn4jISB0aWQ9MTExMDk4MDY4NwpEdSBkYXJmc3QgaGFsdCBuaWNodCAiTmV1ZSBSdW5kZSIgYW5rbGlja2VuLi4uCkRhcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkdSBkZXV0c2NoPyAoQmFtYmksIDE4LiBNYXIgMjAwNSwgMTU6NDg6NTQpOgp+IyEgcm49RGFyaWEgcnQ9MTExMTE1MTU0NyByZz13d3cKfiMhIHRpZD0xMTEwOTgwNjg3Ck9rLCB3YXMgc29sbCBpY2ggZGFubiBhbmtsaWNrZW4/IEJlaSAiUnVuZGUgd2llZGVyaG9sZW4iIGVyd2FydGUgaWNoCmVpZ2VudGxpY2gsIGRhc3MgZGllIChnbGVpY2hlbikgRnJhZ2VuIG5vY2ggZWlubWFsIGdlc3RlbGx0IHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN3YW4ncyBSb29tIChQaG9ib3MsIDE4LiBNYXIgMjAwNSwgMTc6Mzg6NDEpOgp+IyEgcm49Qm9pbmcgcnQ9MTExMTEzOTY1OSByZz13d3cKfiMhIHRpZD0xMTEwNzE1MjkzCkhpbndlaXNlIHp1bSBDb21wdXRlcjoKCkxldmVsIDE6ICBXZWxjaGUgIkZhcmJlbiIga2FubiBtYW4gYWxzIFBhc3N3b3J0IGVpbmdlYmVuPwpMZXZlbCAyOiAgV2VubiBtYW4gZGFzIGVyc3RlIFBhc3N3b3J0IGtlbm50OiBXYXMga29lbm50ZSBtYW4gdHVuLCB1bSBlaW4gCiAgICAgICAgICBuZXVlcyBQYXNzd29ydCB6dSBlcmhhbHRlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN3YW4ncyBSb29tIChCcmFuLCAxOC4gTWFyIDIwMDUsIDE3OjU3OjQyKToKfiMhIHJuPVBob2JvcyBydD0xMTExMTYzOTIxIHJnPXd3dwp+IyEgdGlkPTExMTA3MTUyOTMKSWNoIGhhYiBlcyBtaXR0bGVyd2VpbGUgZHVyY2hnZXNwaWVsdCAtIGRhbmsgQm9pbmcsIGRlciBoZXJhdXNmYW5kLCB3aWUgbWFuCmRpZSBGaWxlcyBsZXNiYXIgbWFjaGVuIGthbm4gKGhpbGZ0IGphIG5pY2h0IGZ1cmNodGJhciB2aWVsLCBkYSBkaWUKamFwYW5pc2NoZW4gWmVpY2hlbiBtaXIgYXVjaCBuaWNodCBtZWhyIHNhZ2VuIGFscyBkaWUgU3RyaWNoY29kZXMsIGFiZXIKaW1tZXJoaW4gaXN0IGRhcyBTcGllbCBkYW5uIGdld2lubmJhcikuIFdhcyBtaXIgbm9jaCBuaWNodCBrbGFyIGlzdDogSWNoCmRhY2h0ZSwgZGFzcyBkaWUgWmVpY2hudW5nIGF1ZiBCbGF0dCAyIGRpZSBTY2hyYXViZW4gYXVmIGRlciBEZWNrcGxhdHRlIHVlYmVyCmRlbiBEcmFlaHRlbiBkYXJzdGVsbHQsIGhhYiBtaWNoIGRhbm4gYWJlciBiZWltIFNjaHJhdWJlbiB2ZXJ0YW4gdW5kIHNpZSBpbgplaW5lciBhbmRlcmVuIFJlaWhlbmZvbGdlIGVudGZlcm50LCBkaWUgZGVubm9jaCBmdW5rdGlvbmllcnRlLiBCZXppZWh0IHNpY2gKZGllIFplaWNobnVuZyBhdWYgd2FzIGdhbnogYW5kZXJlcywgdW5kIHdlbm4gamEsIHdvaGVyIGtvbW10IGRhbm4gZGVyIEhpbndlaXMKZnVlciBkaWUgcmljaHRpZ2UgUmVpaGVuZm9sZ2U/CgoKQnJhbiwgZGllIFphbmdlIG5vY2ggaW4gZGVuIHppdHRlcm5kZW4gRmluZ2VybgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIERvb3JzIChQaG9ib3MsIDE4LiBNYXIgMjAwNSwgMTk6NTc6NTcpOgpKYSBob2VydCBkZW5uIGRhcyBuaWUgYXVmIG1pdCBkZW4gUmFldW1lbj8KCmh0dHA6Ly9hbHQudG50LnR2L2dhbWVzL3RoZWRvb3JzLwoKSXN0IGRpZXNtYWwgYWJlciByZWxhdGl2IGVpbmZhY2guCgpQaG9ib3MKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgRG9vcnMgKEJyYW4sIDE4LiBNYXIgMjAwNSwgMjA6MDA6MDEpOgp+IyEgcm49UGhvYm9zIHJ0PTExMTExNzIyNzcgcmc9d3d3Cn4jISB0aWQ9MTExMTE3MjI3NwpIaWVyIG5vY2ggZWluIG5ldHRlciBMaW5rIHp1IEZsYXNoLUdhbWVzLCBzZWhyIGFrdHVlbGwgZ2VoYWx0ZW4gKGFlbHRlcmUKU3BpZWxlIGdpYnQncyBsaW5rcyBpbSBBcmNoaXYpOgoKaHR0cDovL2ZsYXNoLnBsYXN0aWN0aGlua2luZy5vcmcvCgpCcmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXNzZXIgYWxzIFRpbnlVUkw/IChKYW1lc29uLCAxOS4gTWFyIDIwMDUsIDE1OjA0OjI0KToKSWNoIGZpbmRlIGphLCBkZW5uIGJlaSBodHRwOi8vd3d3LmRpZ2JpZy5jb20vIHdlcmRlbiBlaW5tYWwgYWJnZWt1ZXJ6dGUgVVJMcwpuaWNodCBtZWhyIHVuZ3VlbHRpZy4gRXMgZ2lidCB6d2FyIGtlaW5lbiBXZWcsIGVpbmUgdmVyZ2Vzc2VuZSBBYmt1ZXJ6dW5nCndpZWRlcnp1ZmluZGVuIC0gYWxzbyBub3RpZXJlbiEsIGFiZXIgZGFmdWVyIGthbm4gbWFuIGViZW4gYXVjaCBuYWNoIGxhbmdlcgpaZWl0IGVpbmVuIHNvIHdlaXRlcmdlZ2ViZW5lbiBMaW5rIG5vY2ggYXVmcnVmZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmVzc2VyIGFscyBUaW55VVJMPyAoVGFyYW5pcywgMTkuIE1hciAyMDA1LCAxNTo1ODoyNik6Cn4jISBybj1KYW1lc29uIHJ0PTExMTEyNDEwNjQgcmc9d3d3Cn4jISB0aWQ9MTExMTI0MTA2NApOYWNodGVpbCBpc3QgbmF0dWVybGljaCwgZGFzcyBkYWJlaSBpcmdlbmR3YW5uIGRlciBBZHJlc3NyYXVtIGZ1ZXIgZGllClNob3J0LVVSTHMgdm9sbCBpc3QgdW5kIHNpZSBkYW5uIGRpZSBVUkxzIGF1Y2ggbGFlbmdlciBtYWNoZW4gbXVlc3Nlbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJlc3NlciBhbHMgVGlueVVSTD8gKEphbWVzb24sIDE5LiBNYXIgMjAwNSwgMTY6MTk6MzUpOgp+IyEgcm49VGFyYW5pcyBydD0xMTExMjQ0MzA2IHJnPXd3dwp+IyEgdGlkPTExMTEyNDEwNjQKQmVzdGltbXQgd2VyZGVuIGRpZSBkYW5uIGF1Y2ggd2llZGVyIHNlaXRlbmxhbmcgOy0pCkludGVyZXNzYW50ZXIgd2lyZCBlcyBkYW5uIGFiZXIgaXJnZW5kd2FubiwgU2hvcnQtVVJMLVN1cmZpbmcgenUgbWFjaGVuIDopCkR1IGdpYnN0IGVpbiBiZWxpZWJpZ2VzIEt1ZXJ6ZWwgZWluIHVuZCB3YXJ0ZXN0IGdlc3Bhbm50IGRhcmF1Ziwgd2FzCmRyaW5zdGVodC4gSXN0IGJlc3RpbW10IG5pY2h0IG51ciBMYW5nd2VpbGlnZXMgZGFiZWkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCZXNzZXIgYWxzIFRpbnlVUkw/IChNdWFkaWIsIDE5LiBNYXIgMjAwNSwgMTY6MzA6MTUpOgp+IyEgcm49SmFtZXNvbiBydD0xMTExMjQ1NTc1IHJnPXd3dwp+IyEgdGlkPTExMTEyNDEwNjQKbWVpbmUgZ3VldGUsIGRhcyBrbGluZ3QgamEgZnVyY2h0YmFyCnR1IGRpciBlaW5lbiBnZWZhbGxlbiB1bmQgZ2VoIG1hbCAxMCBtaW51dGVuIHZvciBkaWUgdHVlciB1bmQgc2NoYXUgZGlyIGRpZQp3ZWx0IGFuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBCZXNzZXIgYWxzIFRpbnlVUkw/IChKYW1lc29uLCAxOS4gTWFyIDIwMDUsIDE2OjM0OjIxKToKfiMhIHJuPU11YWRpYiBydD0xMTExMjQ2MjE1IHJnPXd3dwp+IyEgdGlkPTExMTEyNDEwNjQKRGllIGthbm4gaWNoIGRvY2ggYXVjaCBvbmxpbmUgbGVzZW4uClNDTlIgOi0pCk5laW4sIGljaCBnbGF1YmUsIGljaCBoYWJlIG5pY2h0IHZvciwgaW4gZnJlbWRlbiBTaG9ydCBVUkxzIHp1IHN0b2ViZXJuLiBJY2gKd29sbHRlIGRhbWl0IG51ciBzYWdlbiwgZGFzIGdpYnQgZXMgYmVzdGltbXQgc2Nob24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCZXNzZXIgYWxzIFRpbnlVUkw/IChOb25uZSwgMjEuIE1hciAyMDA1LCAwOToxNzo0MSk6Cn4jISBybj1KYW1lc29uIHJ0PTExMTEyNDY0NjEgcmc9d3d3Cn4jISB0aWQ9MTExMTI0MTA2NApJY2ggaGFiZSBkYXMgbWFsIG5lIFN0dW5kZSBiZWkgdGlueXVybCBnZW1hY2h0LiBEYXMgc2luZCBkaWUgRGluZ2VyIGphIHNvCmt1cnosIGRhc3MgbWFuIGd1dCByYXRlbiBrYW5uLCB3ZWxjaGUgZXMgd29obCBnZWJlbiBrb2VubnRlLiBXYXIgZWlnZW50bGljaApnYW56IG5ldHQsIGFiZXIgbmljaHQgZnVlciBtZWhyIGFscyBuZSBTdHVuZGUuCgpOb25uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJlc3NlciBhbHMgVGlueVVSTD8gKE1hcmN1cywgMjEuIE1hciAyMDA1LCAwOToxOToxMSk6Cn4jISBybj1Ob25uZSBydD0xMTExMzkzMDYxIHJnPXd3dwp+IyEgdGlkPTExMTEyNDEwNjQKRGFzIGlzdCBqYSB3aWUKaHR0cDovL2ltYWdlcy5nb29nbGUuY29tL2ltYWdlcz9xPWltZ18yMDQzLmpwZwoKKGltZ18yMDQzLmpwZyBkdXJjaCB1ZWJsaWNoZSBkaWdpdGFsa2FtZXJhIG5hbWVuIHdpZToKSU1HX1hYWFguSlBHCShDYW5vbikKRFNDTlhYWFguSlBHCShOaWtvbikKdXN3LiAKZXJzZXR6ZW4uCgopCgpDSWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmVzc2VyIGFscyBUaW55VVJMPyAoQmFtYnVsa28sIDIxLiBNYXIgMjAwNSwgMTU6NTQ6MDYpOgp+IyEgcm49VGFyYW5pcyBydD0xMTExMjQ0MzA2IHJnPXd3dwp+IyEgdGlkPTExMTEyNDEwNjQKQmlzIGFsbGUgbW9lZ2xpY2hlbiBLb21iaW5hdGlvbmVuIGF1cyBCdWNoc3RhYmVuIHVuZCBaYWhsZW4gZnVlciBlaW5lCjYtU3RlbGxpZ2UgU2hvcnQtVVJMIHdlZyBzaW5kLCB2ZXJnZWh0IGFiZXIgc2ljaGVyIGVpbmUgc2VociBsYW5nZSBaZWl0LgpJbnNiZXNvbmRlcmUsIHdlbm4gRHUgendpc2NoZW4gZ3Jvc3MgdW5kIGtsZWluc2NoZWlidW5nIHVudGVyc2NoZWlkZXN0LgoKSWNoIGdsYXViZSBuaWNodCwgZGFzIGRpZSBXZWItU2VpdGVuIHNvIGxhbmdlIGV4aXN0aWVyZW4uCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGF0ZW50ZSA6LSkgKEJhbWJ1bGtvLCAyMi4gTWFyIDIwMDUsIDE3OjIyOjE2KToKRGFzIGdlc2NoaWVodCBpaG0gcmVjaHQ6CgpodHRwOi8vdGlueXVybC5jb20vM3RkZmIKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGF0ZW50ZSA6LSkgKFRhcmFuaXMsIDIyLiBNYXIgMjAwNSwgMjA6NDA6MjApOgp+IyEgcm49QmFtYnVsa28gcnQ9MTExMTUwODUzNiByZz13d3cKfiMhIHRpZD0xMTExNTA4NTM2CkdlbmF1LCByZWNodCBzby4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhdGVudGUgOi0pIChCYW1idWxrbywgMjIuIE1hciAyMDA1LCAyMDo0OTo1NCk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTE1MjA0MjAgcmc9d3d3Cn4jISB0aWQ9MTExMTUwODUzNgpXZW5uIGRhcyBkdXJjaGdla29tbWVuIHdhZXJlLCBoYXR0ZSBpY2ggbWlyIHBhdGVudGllcmVuIGxhc3NlbiBCdWNoc3RhYmVuIG9kZXIKWmFobGVuIGluIERvbWFpbm5hbWVuIHp1IHZlcndlbmRlbi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBYmdlZHJlaHQgKEJyYW4sIDI0LiBNYXIgMjAwNSwgMjE6NTk6MTQpOgoKaHR0cDovL3d3dy5odm9sei5kZS9icmFpbndhcnAuaHRtCgpJcmdlbmR3aWUgZWtsaWcsIGFiZXIgaW50ZXJlc3NhbnQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFzaCBHYW1lcyAoQnJhbiwgMjYuIE1hciAyMDA1LCAyMDo0MjozNik6CkhpZXIgZ2lidHMgYXVjaCBub2NoIGVpbiBwYWFyIExpbmtzOgoKaHR0cDovL3d3dy5nZW9jaXRpZXMuY29tL3RoZV9nYW1pbmdfaHEvYWR2ZW50dXJlLmh0bWwKCkVtcGZlaGx1bmdlbiB3ZXJkZW4gZGFua2VuZCBlbnRnZWdlbmdlbm9tbWVuIQoKQnJhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKb3BlbiBiYyAoV3VyemVsLCAyOS4gTWFyIDIwMDUsIDE1OjI1OjE5KToKbWFsIG5pY2h0IG51ciBnYW1lcywgc29uZGVybiB3YXMgcmljaHRpZyBicmF1Y2hiYXJlczoKd3d3Lm9wZW5iYy5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBvcGVuIGJjIChNdWFkaWIsIDI5LiBNYXIgMjAwNSwgMTU6MzY6NDkpOgp+IyEgcm49V3VyemVsIHJ0PTExMTIxMDI3MTkgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQp3YWggZGFzIHdhZWNoc3Qgc2ljaCBqYSB6dSBuZXIgcmljaHRpZ2VuIHBlc3QgYXVzIG1pdCBkaWVzZW0gb3BlbmJjLgp2aWVsbGVpY2h0IG11c3MgaWNoIG1pY2ggZG9jaCBtYWwgbWl0IGVpbmtsdWVuZ2VsbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBvcGVuIGJjIChXdXJ6ZWwsIDI5LiBNYXIgMjAwNSwgMTU6Mzg6MTUpOgp+IyEgcm49TXVhZGliIHJ0PTExMTIxMDM0MDkgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQpoYWIgYXVmIGFuaGllYiBqZWRlIG1lbmdlIGxldXRlIGdlZnVuZGVuLCB3byBpY2ggdGVpbHdlaXNlIHNlaXQgamFocmVuIGtlaW5lbgprb250YWt0IG1laHIgaGF0dGUuIGVyc3RhdW5saWNoLCB3aWV2aWVsIG5hc2VuIGRhIHNjaG9uIGpldHp0IGRyaW4gc2luZCwgdW5kCmVzIHdlcmRlbiBzdGFlbmRpZyBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogb3BlbiBiYyAoQXJrLCAyOS4gTWFyIDIwMDUsIDE3OjUyOjE3KToKfiMhIHJuPVd1cnplbCBydD0xMTEyMTAzNDk1IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKSWNoIGhhYiBub2NoIG5peCB2b24gRGlyIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IG9wZW4gYmMgKE1hcmN1cywgMjkuIE1hciAyMDA1LCAxODowMTo0OSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExMjEwMzQ5NSByZz13d3cKfiMhIHRpZD0xMTEyMTAyNzE5CkdsZWljaCBtYWwgV3VyemVsIGFkZGVuIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG9wZW4gYmMgKERhcmt3aW5nLCAyOS4gTWFyIDIwMDUsIDE4OjI0OjMyKToKfiMhIHJuPU1hcmN1cyBydD0xMTEyMTEyMTA5IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKb3JrdXQgZm9yIGJ1c2luZXNzLiBBcmdoIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZXJ1ZnN0YWVpZ2UgTXVldHRlciBzaW5kIGJvZXNlISAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNSwgMTk6MzM6NDEpOgpPZGVyIGF1Y2ggbmljaHQuIEtsYW1tZXJ0IGV1Y2ggbmljaHQgaW1tZXIgc28gYW4gZGllIFRpdGVsIGRlciBBcnRpa2VsIQoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3dpc3NlbnNjaGFmdC9tZW5zY2gvMCwxNTE4LDM0ODI3MywwMC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTU1TIHZvbSBNb25kIDotKSAoQmFtYnVsa28sICAxLiBBcHIgMjAwNSwgMDA6NDg6MjkpOgpOZXR0OgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNTgxMjUKCkJhbWJ1bGtvIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogb3BlbiBiYyAoUm9uZGEsICAyLiBBcHIgMjAwNSwgMTY6MTM6MjMpOgp+IyEgcm49V3VyemVsIHJ0PTExMTIxMDM0OTUgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQpWaWVsbGVpY2h0IG1hY2h0cyBTaW5uLCBkYXNzIC0ga2xhciwgbnVyIHdlciBMdXN0IGRhenUgaGF0IC0gbWFsIGVpbiBrdXJ6ZXMKIk1lIHRvbyIgc2NocmVpYnQsIGRlciBkYSBhdWNoIHNjaG9uIGlzdC4gQmVpIG1hbmNoZW4gTGV1dGVuIHdhZXIgaWNoIG5pZQpkcmF1ZiBnZWtvbW1lbiwgZGFzcyBpY2ggc2ljaCBhdWNoIGJlaSBPcGVuQkMgZmluZGVuIHd1ZXJkZS4uLgoKUm9uZGEgKm1lIDIqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaXBwaSBMYWFuZ3N0cm9lbXAgKEtlbGx5YnVuZHksICAzLiBBcHIgMjAwNSwgMTY6MDY6MDUpOgpodHRwOi8vd3d3LmJsYWNraW5ndmFycy5jb20vYml2aWRlb3Mvc29uZ3MvcGlwcGkubXAzCgoqR0cqCkJsb25kY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogb3BlbiBiYyAoWm9vaywgIDMuIEFwciAyMDA1LCAxODowNjoxMik6Cn4jISBybj1Sb25kYSBydD0xMTEyNDUxMjAzIHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKT2ZmZW5zaWNodGxpY2ggYmluIGljaCB6dSBkb29mIGRlbiBTaW5uIHp1IGVya2VubmVuLiAKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBvcGVuIGJjIChNdWFkaWIsICAzLiBBcHIgMjAwNSwgMTk6NTM6MDcpOgp+IyEgcm49Wm9vayBydD0xMTEyNTQ0MzcyIHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKbmFqYSB3aWUgZXMgc28gaXN0IG1pdCBrbHVlbmdlbG4sIGRpZSBzaWNoIHdlaXQgb2VmZm5lbjogZGVyIGh5cGUgd2FlY2hzdCB1bmQKZGllIHJlbGV2YW56IHNpbmt0IG1pdCB6dW5laG1lbmRlciBtaXRnbGllZGVyemFobAppY2ggaGFsdGUgZXMgaGllciBkYWVtbGljaGVyd2Vpc2UgbWl0IGdyb3VjaG8gbWFyeAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogb3BlbiBiYyAoTWFoYXJldCwgIDMuIEFwciAyMDA1LCAxOTo1OTozNik6Cn4jISBybj1NdWFkaWIgcnQ9MTExMjU1MDc4NyByZz13d3cKfiMhIHRpZD0xMTEyMTAyNzE5CldhcnVtIGlzdCBkYXMgZGFlbWxpY2g/IEhhc3QgZHUgQW5nc3QsIHdhcyB6dSB2ZXJzYWV1bWVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogb3BlbiBiYyAoTXVhZGliLCAgMy4gQXByIDIwMDUsIDE5OjU5OjU2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTExMjU1MTE3NiByZz13d3cKfiMhIHRpZD0xMTEyMTAyNzE5CmphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBvcGVuIGJjIChXdXJ6ZWwsICA0LiBBcHIgMjAwNSwgMTI6MjU6MTQpOgp+IyEgcm49TXVhZGliIHJ0PTExMTI1NTExOTYgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQphbHNvLCBpY2ggaGFiZSBlaW5pZ2UgbGV1dGUgd2llZGVyIGdlZnVuZGVuLCBkaWUgaWNoIHNlaXQgamFocmVuIGF1cyBkZW4gYXVnZW4KdmVybG9yZW4gaGF0dGUuIHVuZCBkYXMgd2llZGVydW0gZmluZGUgaWNoIHRvbGwuCnVuZCBkYXNzIHpvb2sga2VpbmVuIHNpbm4gZGFyaW4gZXJrZW5udCwga2FubiBpY2ggZ3V0IHZlcnN0ZWhlbi4gdHJhdSBkaWNoCm1hbCByYXVzIGlucyByaWNodGlnZSBsZWJlbiwgd2VnIHZvbiBkZXIgdW5pLCB3byBtYW4genVtaW5kZXN0ZW5zIGluIHZpZWxlbgpwb3NpdGlvbmVuIGRhcmF1ZiBhbmdld2llc2VuIGlzdCwgbGV1dGUgenUga2VubmVuLiBkYWZ1ZXIgaXN0IGRhcyBndXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBvcGVuIGJjIChab29rLCAgNC4gQXByIDIwMDUsIDEyOjQ2OjMxKToKfiMhIHJuPVd1cnplbCBydD0xMTEyNjEwMzE0IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKd2llIGtvbW1zdCBkdSBkYXJhdWYsIGRhc3MgZXMgYmV6dWVnbGljaCBkZXMgImFuZ2V3aWVzZW4gLi4gbGV1dGUgenUga2VubmVuIgpoaW5zaWNodGxpY2ggInJpY2h0aWdlcyBsZWJlbiIgdW5kICJ1bmkiIGlyZ2VuZHdlbGNoZSB1bnRlcnNjaGllZGUgZ2lidD8KCnpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBvcGVuIGJjIChCYW1idWxrbywgIDQuIEFwciAyMDA1LCAxMjo0OTowOSk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExMjYxMDMxNCByZz13d3cKfiMhIHRpZD0xMTEyMTAyNzE5ClZlcnN0ZWhlIGljaCBkYXMgcmljaHRpZzogRGFzIG9wZW4gYmMgaXN0IGVpbiBGb3J1bSwgYmVpIGRlbSBtYW4gc2ljaCBhbm1lbGRldAp1bmQgR2VsZCBiZXpoYWx0IGRhbWl0IG1hbiB2b24gYW5kZXJlbiBhdXMgZGVtIEZvcnVtIHp1Z2VzcGFtbXQgd2lyZD8gVW5kIGRhcwpmdW5rdGlvbmllcnQ/IAoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBvcGVuIGJjIChCYW1idWxrbywgIDQuIEFwciAyMDA1LCAxMjo1MToxOSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTEyNjExNzQ5IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKT2sgaWNoIG11c3MgbWljaCBrb3JyaWdpZXJlbi4gVW0genVnZXNwYW1tdCB6dSB3ZXJkZW4gbXVzcyBtYW4gbmljaHRzCmJlemFobGVuLCBzb25kZXJuIG51ciB1bSBhbmRlcmUgenV6dXNwYW1tZW4uIERhcyBtYWNodCBTaW5uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBvcGVuIGJjIChXdXJ6ZWwsICA0LiBBcHIgMjAwNSwgMTI6NTE6NTkpOgp+IyEgcm49Wm9vayBydD0xMTEyNjExNTkxIHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKaWNoIHd1c3N0ZSwgZGFzcyBzbyBlaW5lIGZyYWdlIGtvbW10IDopCmVpZ2VuZSBhbnNjaGF1dW5nLiBhbiBkZXIgdW5pIHdhciBpY2ggdm9yIGFsbGVtIGRlc2hhbGIgZGVyIHdlbHR3ZWl0IGZ1ZWhyZW5kZQpleHBlcnRlIGF1ZiBtZWluZW0gZ2ViaWV0LCB3ZWlsIGVzIHNvbnN0IG5pcmdlbmRzIGplbWFuZCBnYWIsIGRlciBzaWNoIG1pdCBzbwplaW5lciBmcmFnZXN0ZWxsdW5nIGJlc2NoYWVmdGlndCBoYXQuIGtvbW11bmlrYXRpb24gamVnbGljaGVyIGFydCBoYWV0dGUgbWljaApudXIgdm9uIG1laW5lciBhcmJlaXQgYWJnZWxlbmt0LgphbHMgbWVpbmUga2luZGVyIG5vY2gga2xlaW5lciB3YXJlbiwgaGFiZW4gc2llIG1pY2ggbWFsIGdlZnJhZ3QsIHdhcyBpY2ggZGVubgplaWdlbnRsaWNoIGpldHp0IGFyYmVpdGUuIG5hY2ggZWluaWdlciB1ZWJlcmxlZ3VuZyBmaWVsIG1pciBuaWNodHMgYW5kZXJlcwplaW4gYWxzIHp1IGFudHdvcnRlbiAiaWNoIHJlZGUgbWl0IGxldXRlbiIuIGRhcyBpc3QgZGVyIHVudGVyc2NoaWVkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IG9wZW4gYmMgKFpvb2ssICA0LiBBcHIgMjAwNSwgMTI6NTU6MDcpOgp+IyEgcm49V3VyemVsIHJ0PTExMTI2MTE5MTkgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQpzY2hlaW50IG1pciBqYSBlaW5lIHJlbGF0aXYgc3BlemllbGxlIGVpZ2VuZSBhbnNjaGF1dW5nIGdld2VzZW4genUgc2Vpbi4uLgoKdm9yIGVpbmlnZXIgemVpdCAoaGFiIGRpZSBxdWVsbGUgZ3JhZCBuaWNodCBncmVpZmJhcikgaGFiZW4gZWluIHBhYXIgCnBzeWNob2xvZ2VuIGVpbm1hbCBnZXNjaGF1dCwgb2IgZWhlciBlaW56ZWxnYWVuZ2VyIG9kZXIgdGVhbS1hcmJlaXRlciAKaW0gd2lzc2Vuc2NoYWZ0c2JldHJpZWIgZXJmb2xncmVpY2ggc2luZCB1bmQgaGFiZW4gZGF6dSB1bnRlciBhbmRlcmVtCnRlYW0tcHVibGlrYXRpb25lbiAoaW5zYi4gdWViZXIgdW5pdmVyc2l0YWV0c2dyZW56ZW4gaGluYXVzZ2VoZW5kZSB0ZWFtcykKdW5kIGFuZGVyZXMgYXVzZ2V3ZXJ0ZXQgdW5kIGthbWVuIGZ1ZXIgZWluaWdlIHdpc3NlbnNjaGFmdHNiZXJlaWNoZSB6dQpkZW0gc2NobHVzcywgZGFzcyB0ZWFtLXNwaWVsZXIgaW4gZGVyIHRlbmRlbnogZGV1dGxpY2ggZXJmb2xncmVpY2hlciBzaW5kCmFscyBlaW56ZWxzcGllbGVyLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBvcGVuIGJjIChHcmltbWJvcm4sICA0LiBBcHIgMjAwNSwgMTI6NTY6NTkpOgp+IyEgcm49Wm9vayBydD0xMTEyNjEyMTA3IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKS2xhci4gSW4gZGVyIFRlaWxjaGVucGh5c2lrLiBXZWlsIHNpY2ggZWluZXIgYWxsZWluZSBoYWx0IG51ciBlaGVyIHNlbHRlbgpzZWluZW4gZWlnZW5lbiBUZWlsY2hlbmJlc2NobGV1bmlnZXIgdW50ZXIgZGllIFVuaXdpZXNlIGdyYWJlbiBrYW5uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogb3BlbiBiYyAoQmFtYnVsa28sICA0LiBBcHIgMjAwNSwgMTI6NTk6NTEpOgp+IyEgcm49Wm9vayBydD0xMTEyNjEyMTA3IHJnPXd3dwp+IyEgdGlkPTExMTIxMDI3MTkKSWNoIGhvZmZlIGRvcnQgd3VyZGUgYmVydWVja3NpY2h0aWd0LCBkYXMgc2ljaCAyMCBMZXV0ZSB2aWVsIGVpbmZhY2hlciBzZWxic3QKeml0aWVyZW4ga29lbm5lbiwgYWxzIGVpbiBlaW56ZWxuZXIuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IG9wZW4gYmMgKFd1cnplbCwgIDQuIEFwciAyMDA1LCAxMzowMToxNSk6Cn4jISBybj1ab29rIHJ0PTExMTI2MTIxMDcgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQppbW1lciBlaW5lIGZyYWdlLCB3aWUgbWFuIGVyZm9sZyBtaXNzdC4gd2VubiBlcyBkaWUgemFobCBkZXIgcHVibGlrYXRpb25lbgpzZWluIHNvbGwsIG9rYXksIGRhbm4gc2luZCBpbiBkZXIgcGh5c2lrIHZvciBhbGxlbSBkaWUga2VybnBoeXNpa2VyIHNlaHIKZXJmb2xncmVpY2guIGRhcyBsaWVndCBkYXJhbiwgZGFzcyBkaWUgbGlzdGUgZGVyIGF1dG9yZW4gb2Z0IGxhZW5nZXIgaXN0IGFscwpkZXIgZ2FuemUgYXJ0aWtlbC4gYmVrYW5udGUgdm9uIG1pciBoYXR0ZW4gc2Nob24gZGllIGVyc3RlbiB6ZWhuCnB1Ymxpa2F0aW9uZW4sCmJldm9yIHNpZSB1ZWJlcmhhdXB0IHZlcnN0YW5kZW4gaGF0dGVuIHdvcnVtIGVzIGdpbmcuCm1laW4gcHJvZiBoYXR0ZSBkZW4gd2FobHNwcnVjaCAiZGllIHdhaHJlIHBoeXNpayBmaW5kZXQgaW0gc3RpbGxlbiBrYWVtbWVybGVpbgpzdGF0dCIuIGZvbGdlcmljaHRpZyB3YXJlbiBkaWUgYWt0aXZpdGFldGVuIGRlciBncnVwcGUgbmljaHQgYXVmIHRlYW1hcmJlaXQKYW5nZWxlZ3QuCmRpZSB2b24gZGlyIHppdGllcnRlbiBwc3ljaG9sb2dlbiBtb2VnZW4gdHJvdHpkZW0gcmVjaHQgaGFiZW4uIG5pY2h0IHp1bGV0enQKd2VpbCBtaXIgZGFzIHN0aWxsZSBrYWVtbWVybGVpbiBhdWYgZGVuIGtla3MgZ2luZywgaGFiZSBpY2ggZGllIHVuaSB2ZXJsYXNzZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXR6ZSB2ZXJzY2hpZWRlbmVyIExhZW5kZXIgKERlZXBibHVlLCAgNS4gQXByIDIwMDUsIDA5OjU1OjQ0KToKaHR0cDovL3d3dy5sYXVnaGxhYi5jby51ay8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBzdGVodCBkYT8gKE1vcmdvdGgsICA2LiBBcHIgMjAwNSwgMTg6MjY6NDApOgpodHRwOi8vd3d3Lm1lanphLmRlL2ZyZWlnZWlzdC9kb3BpL2hvbWVwYWdlL3BvdGQvYmlsZGVyL3JlYWR0aGl6LmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyBzdGVodCBkYT8gKEdsb2luc29uLCAgNi4gQXByIDIwMDUsIDE4OjI5OjAwKToKfiMhIHJuPU1vcmdvdGggcnQ9MTExMjgwNDgwMCByZz13d3cKfiMhIHRpZD0xMTEyODA0ODAwCkludGVyZXNzYW50ZXMgU3RlY2tkb3NlbmZvcm1hdC4gV2VsY2hlcyBMYW5kIGlzdCBkYXM/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgc3RlaHQgZGE/IChDcm9mdCwgIDYuIEFwciAyMDA1LCAxODozMDoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTEyODA0OTQwIHJnPXd3dwp+IyEgdGlkPTExMTI4MDQ4MDAKQW1pbGFuZD8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBzdGVodCBkYT8gKE1vcmdvdGgsICA2LiBBcHIgMjAwNSwgMTg6MzE6MzIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExMjgwNDk0MCByZz13d3cKfiMhIHRpZD0xMTEyODA0ODAwCldvIGlzdCBkYSBuZSBTdGVja2Rvc2U/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgc3RlaHQgZGE/IChHbG9pbnNvbiwgIDYuIEFwciAyMDA1LCAxODozMzowMik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTI4MDUwOTIgcmc9d3d3Cn4jISB0aWQ9MTExMjgwNDgwMApVbnRlciBkZW0gTGljaHRzY2hhbHRlci4gSWNoIHdhciBub2NoIG5pY2h0IGluIEFtaWxhbmQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHN0ZWh0IGRhPyAoQmFtYnVsa28sICA3LiBBcHIgMjAwNSwgMTM6NDE6NTUpOgp+IyEgcm49TW9yZ290aCBydD0xMTEyODA0ODAwIHJnPXd3dwp+IyEgdGlkPTExMTI4MDQ4MDAKSXN0IGRhcyBlaW4gQW5nZWJvdCB2b24gaWhyIG9kZXIgbnVyIGVpbmUgRmVzdHN0ZWxsdW5nPyA7LSkKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHN0ZWh0IGRhPyAoTXVhZGliLCAgNy4gQXByIDIwMDUsIDEzOjU3OjM4KToKfiMhIHJuPU1vcmdvdGggcnQ9MTExMjgwNDgwMCByZz13d3cKfiMhIHRpZD0xMTEyODA0ODAwCm9iIHNpZSBwZXJzb2VubGljaCBkaWVzZXMgYmVkdWVyZm5pcyBiZWZyaWVkaWd0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgc3RlaHQgZGE/IChMZWliaSwgIDcuIEFwciAyMDA1LCAyMjoyMzoyMyk6Cn4jISBybj1NdWFkaWIgcnQ9MTExMjg3NTA1OCByZz13d3cKfiMhIHRpZD0xMTEyODA0ODAwCmRlciB0eXAgYXVmIGRlbSBrYWxlbmRlciBpc3QgenVtaW5kZXN0IHJlY2h0IG5pZWRsaWNoCgpsZWliaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFocnJhZGtsaW1hdGVzdCAyMDA1IChEZWVwYmx1ZSwgIDguIEFwciAyMDA1LCAxMTozNjo0OSk6Cmh0dHA6Ly93d3cuYWRmYy5kZS8xOTMwXzEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDcnVkcHVwcHk/Pz8/IChBbnRoZWEsICA4LiBBcHIgMjAwNSwgMTU6MTA6MTcpOgpodHRwOi8vd3d3Lm9yc20ubmV0L3BocC9zaG93bWVtb3JlLnBocD9jb3VudD02JmZvbGRlcj0uLi9mZW0vY3JhenlwZXRzL2ltYWdlcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVycGFja3RlIEx1ZnQgKEFudGhlYSwgIDguIEFwciAyMDA1LCAxNTo1NzoyOCk6CndlciBrZW5udCBkYXMgbmljaHQ6IFdhcmUgZGllIGluIFBsYXN0aWtmb2xpZSBtaXQgTHVmdGtpc3NlbiAoZ2lidHMgZGEKZWlnZW50bGljaCBlaW5lbiBhbmRlcmVuIEF1c2RydWNrIGZ1ZXI/Pz8pIHZlcnBhY2t0IHdpcmQuIApNYWNodCBkb2NoIFNwYXNzIGRpZSBMdWZ0YmxhZXNjaGVuIHp1bSBwbG9wcGVuIHp1IGJyaW5nZW4gb2Rlcj8gCkRpZXNlbiBhYnNvbHV0IHNpbm5mcmVpZW4gU3Bhc3Mga2FubiBtYW4gamV0enQgYXVjaCBvbmxpbmUgbWFjaGVuIAoKaHR0cDovL2Z1bi5mcm9tLmhlbGwucGwvMjAwMy0xMS0yNC9idWJibGV3cmFwLnN3ZgoKR2FueiBuZXR0IGlzdCBhdWNoIGRlciBNYW5pYyBNb2RlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYWxpIHl4KiAoSGlnaGxhbmRlciwgMTEuIEFwciAyMDA1LCAwNzo1NzowNyk6CkljaCBtdXNzIG1hbCBlaW5lbiBBcnRpa2VsIGF1cyBkZW0gV3VuZGVybGFuZCBoaWVyIHJlaW5rb3BpZXJlbjoKCkhpdGFjaGkgZXJrbGFlcnQgZGllIFRlY2huaWsgaGludGVyIHNlaW5lbiBuZXVlbiBGZXN0cGxhdHRlbgoocGVyIEZsYXNoIHVuZCBpbiBFbmdsaXNjaCksIGFiZXIgU08gaGFiJyBpY2ggZGllc2UgV29jaGUgbm9jaCBuaWNodApnZWxhY2h0OgoKaHR0cDovL3d3dy5oaXRhY2hpZ3N0LmNvbS9oZGQvcmVzZWFyY2gvcmVjb3JkaW5nX2hlYWQvcHIvUGVycGVuZGljdWxhckFuaW1hdGkKb24uaHRtbAoob2RlciBrdXJ6OiBodHRwOi8vdGlueXVybC5jb20vNmQ3YzkgKQoKRWluIEdhc3QuCgpQUzogRGEgc2FnJyBub2NoIG1hbCBlaW5lciwgZGFzcyBkaWUgSmFwYW5lciBrZWluZW4gU2lubiBmdWVyIEh1bW9yIGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG9wZW4gYmMgKFpvb2ssIDExLiBBcHIgMjAwNSwgMTA6MjQ6NTEpOgp+IyEgcm49V3VyemVsIHJ0PTExMTIxMDI3MTkgcmc9d3d3Cn4jISB0aWQ9MTExMjEwMjcxOQpJbnRlcmVzc2FudCwganVzdCBpbiBkaWVzZXIgV29jaGUgYmVmaW5kZXQgc2ljaCBpbiBkZXIgV2lydHNjaGFmdHN3b2NoZSAKZWluIEJlcmljaHQgdWViZXIgZGllc2UgIk5ldHp3ZXJrIi1EaWVuc3RlLiBFYmVuZmFsbHMgaGluZ2V3aWVzZW4gd3VyZGUKZGEgYXVjaCBhdWYgd3d3LmxpbmtlZGluLmNvbSB1bmQgYW5kZXJlLCBkZXJlbiBVUkwgaWNoIG51biB3aWVkZXIKdmVyZ2Vzc2VuIGhhYmUuIAoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0b3BIaXBIb3AgOykgKEdsb2luc29uLCAxMS4gQXByIDIwMDUsIDEwOjM5OjAxKToKTmV0dGUgU2VpdGUsIG5ldHRlIExldXRlLCBuZXR0ZSBWaWRlb3M6CgpodHRwOi8vd3d3LnN0b3BoaXBob3AuZGUvbW9kdWxlcy9uZXdzL2FydGljbGUucGhwP3N0b3J5aWQ9MTg0Cmh0dHA6Ly9yYXBpZHNoYXJlLmRlL2ZpbGVzLWRlLzQyMDU4My9YWVJpZGFaX3BhcnQxLnJhci5odG1sCmh0dHA6Ly9yYXBpZHNoYXJlLmRlL2ZpbGVzLWRlLzU5Mzg5Ny9Eb2VuZXJHYW5nQW50aGVtLldNVi5odG1sCmh0dHA6Ly9yYXBpZHNoYXJlLmRlL2ZpbGVzLWRlLzU5NDQ0Ni9EaWVBbnR3b3J0LldNVi5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0b3BIaXBIb3AgOykgKEdsb2luc29uLCAxMS4gQXByIDIwMDUsIDEwOjQyOjI3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTMyMDg3NDEgcmc9d3d3Cn4jISB0aWQ9MTExMzIwODc0MQpQUzogUmFwaWRzaGFyZSBrYW5uIG1hbiB6dSBtZWhyIGFscyBlaW5lbSBGaWxlL2gga2l0emVsbiBpbmRlbSBtYW4gSVAgd2VjaHNlbHQKdW5kIGRlbiBLZWtzIGF1Zmlzc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLiAoR3JpbW1ib3JuLCAxNS4gQXByIDIwMDUsIDEyOjQ3OjIxKToKfiMhIG9uPUdyaW1tYm9ybiBvdD0xMTEzNTYxOTkzIG9nPXdpdHplCn4jISBvbj1UcmljayBvdD0xMTEzNTU0NDAxIG9nPXdpdHplCmh0dHA6Ly93d3cuYmVhc3QubW9zLXdvcmxkcy5kZS9tb2R1bGVzL25ld3MvYXJ0aWNsZS5waHA/c3RvcnlpZD0xODQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuIChHcmltbWJvcm4sIDE1LiBBcHIgMjAwNSwgMTI6NDg6MTEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMTM1NjIwNDEgcmc9d3d3Cn4jISB0aWQ9MTExMzU2MjA0MQpNYWwgYWJnZXNlaGVuIHZvbiBtZWluZW4gYW11ZXNhbnRlbiBCbGFja291dHMgYWxzIFZlcmxlZ2VyIGlzdCBkYXMgaGllciB3b2hsCmRhcyB2aWVydGUgbWFsLCBkYXNzIGxpbmsgdW5kIFN0b3J5IGluIGRlciBNUEEgYXVmdGF1Y2hlbi4gSmV0enQgaXN0IGFiZXIgZGFubgphdWNoIGd1dCwgamE/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBib2VzZSBIYWNrZXIgOikgKENhdHdlYXpsZSwgMTUuIEFwciAyMDA1LCAxNjo1NToxNik6Cn4jISBybj1EYXJrd2luZyBydD0xMTEzNTc1MTI5IHJnPXd3dwp+IyEgdGlkPTExMTM1NzUxMjkKT2ssIGRlciBLbGVpbmUgd2FyIHN1ZXNzLiBBdWNoIHdlbm4gIkNvbWUgZ2V0IHNvbWUiIGVjaHQgdXJhbHQgaXN0IDotKQpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZXNlIEphcGFuZXIgLi4uIChSYW5nb3JuLCAxOC4gQXByIDIwMDUsIDE1OjU5OjMwKToKV2FzIGVpbmVtIGFybWVuLCBhbWVyaWthbmlzY2hlbiBMZWhyZXIgZWluIEphcGFuIGFuIGRlciBTY2h1bGUgc28gYWxsZXMKcGFzc2llcnRlIHVuZCBpbW1lciBub2NoIHBhc3NpZXJ0LiBKYXBhbmVyIHNpbmQgd2FocmxpY2ggc2VsdHNhbS4KCmh0dHA6Ly9vdXRwb3N0bmluZS5jb20vZWRpdG9yaWFscy90ZWFjaGVyLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggc28gZWluZSBUZXN0IC4uLiAoR2xvaW5zb24sIDIwLiBBcHIgMjAwNSwgMTY6MDA6MDIpOgouLi4KCmh0dHA6Ly9zaW1pbGFybWluZHMuY29tL2xlYWRlci5odG1sCgpNdXNzIGljaCBtaXIgZWluZW4gQmFydCB3YWNoc2VuIGxhc3Nlbiwgd2VpbCBpY2ggU2FkZGFtIEh1c3NlaW4gYmluPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKENhdHdlYXpsZSwgMjAuIEFwciAyMDA1LCAxNjowOTo1Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTE0MDA1NjAyIHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKQWJlIExpbmNvbG4/IG5hamEgLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChIaWdobGFuZGVyLCAyMC4gQXByIDIwMDUsIDE2OjE1OjQ0KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTE0MDA2MTk2IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKU2VsdHNhbWVyIFRlc3QuIEFsYmVydCBFaW5zdGVpbj8/PwoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKE1haGFyZXQsIDIwLiBBcHIgMjAwNSwgMTY6MTc6MTApOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTE0MDA2NTQ0IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKVm9uIHdlbGNoZW0gTGFuZCB3YXIgZXIgZGVyIExlYWRlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKE1pcmlsLCAyMC4gQXByIDIwMDUsIDE2OjI5OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQwMDU2MDIgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpPaCB3ZWguIEJpbGwgQ2xpbnRvbi4gU293YXMgYWJlciBhdWNoICpnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoTWFoYXJldCwgMjAuIEFwciAyMDA1LCAxNjozNjo0OCk6Cn4jISBybj1NaXJpbCBydD0xMTE0MDA3MzU4IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKdXBzLCBpY2ggYXVjaApXZXIgaXN0IG1laW5lIE1vbmljYT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoR2xvaW5zb24sIDIwLiBBcHIgMjAwNSwgMTY6Mzc6NDIpOgp+IyEgcm49TWFoYXJldCBydD0xMTE0MDA3ODA4IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKU29zbywgZGFzIGdpYnQgZGVuIFppZ2FycmVuIHp1ciBHZWJ1cnQgZWluZXMgU29obmVzIGdsZWljaCBlaW5lIGdhbnogbmV1ZQpCZWRldXR1bmcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChNYWhhcmV0LCAyMC4gQXByIDIwMDUsIDE2OjM4OjE2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQwMDc4NjIgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpKYSwgbmFqYSwgUmF1Y2hlbiBpc3QgZWggdGFidSBpbiBkaWVzZW0gSGF1c2hhbHQuClVuZCBkdSBrZW5uc3QgamEgbWVpbmVuIE1hbm4gLi4uCgoqc2V1ZnoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKEdsb2luc29uLCAyMC4gQXByIDIwMDUsIDE2OjQyOjQyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTExNDAwNzg5NiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCk5pY2h0IGd1dCBnZW51ZyB1bSB6dSBiZXN0YWV0aWdlbiwgZGFzcyBlciBuaWNodCBkZWluZSBNb25pY2Egc2VpbiBrYW5uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoTWFoYXJldCwgMjAuIEFwciAyMDA1LCAxNjo0MzoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTE0MDA4MTYyIHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKV2llIGtvbW1zdCBkdSBkYXJhdWYsIGRhc3MgaWNoIGRhcyBiZXN0YWV0aWd0IGhhYmVuIHdvZWxsdGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKEdsb2luc29uLCAyMC4gQXByIDIwMDUsIDE2OjQzOjU0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTExNDAwODIwMCByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCldpbGQgZ3Vlc3MuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChEYXJrbG9yLCAyMC4gQXByIDIwMDUsIDE3OjI1OjQ2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQwMDgyMzQgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpDaGUgR3VldmFyYSAtIFlvdSdyZSB0aGUgbGVhZGVyIHBvdHNtb2tlcnMgZW11bGF0ZSAtIFVuZCBkYWJlaSBiaW4gaWNoClVlYmVyemV1Z3RlciBOaWNodHJhdWNoZXIuLi4gLSAoWW91IGhhdmUgeW91cmUgb3duIHJldm9sdXRpb25hcnkgc3R5bGUuIER5aW5nCnRyYWdpY2FsbHkgb24gYSBtb3VudGFpbiBhcHBlYWxzIHRvIHlvdSkuIAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChDaGFnYWxsLCAyMC4gQXByIDIwMDUsIDE3OjI2OjE4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTExNDAxMDc0NiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkRhcyBrYW5uIG5pY2h0IHNlaW4sIF9JQ0hfIGJpbiBkb2NoIENoZSBHdWV2YXJhLiA6KQoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKE1haGFyZXQsIDIwLiBBcHIgMjAwNSwgMTc6Mjg6NDkpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTE0MDEwNzc4IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKRXMgZ2lidCBnZW51ZyBCZXJnZSwgZGEgaXN0IGZ1ZXIgamVkZW4gZWluZXIgZGEuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChDaGFnYWxsLCAyMC4gQXByIDIwMDUsIDE3OjI5OjQ3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTExNDAxMDkyOSByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkJlaSBtZWluZW0gR3JvZXNzZW53YWhuIGthbm4gZXMgbmljaHQgZ2VudWcgQmVyZ2UgZ2ViZW4uIDopCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoTWFoYXJldCwgMjAuIEFwciAyMDA1LCAxNzozMDoxMSk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMTQwMTA5ODcgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpBYmVyIHN0ZXJiZW4ga2FubnN0ZSBkb2NoIGVoIG51ciBlaW5tYWwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChDaGFnYWxsLCAyMC4gQXByIDIwMDUsIDE3OjMwOjU5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTExNDAxMTAxMSByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkVnYWwuIAoKTWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKFZlY3RvciwgMjAuIEFwciAyMDA1LCAxNzo1ODozOCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExMTQwMTEwNTkgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpKRksuLi4gaXN0IGRhcyBudW4gZ3V0IG9kZXIgc2NobGVjaHQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChUYXJhbmlzLCAyMC4gQXByIDIwMDUsIDE4OjE1OjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQwMDU2MDIgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpJc3QgYXVmIGplZGVuIEZhbGwgc3RpbGVjaHRlci4KCkNoZSBHdWV2YXJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoQWxrb2hvbCwgMjAuIEFwciAyMDA1LCAxODoxNTo1Nik6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTQwMTM3MzQgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgppY2ggd2Vpc3MgZ2FyIG5jaWh0IHdhcyBpaHIgd29sbHQKCk11dHRlciBUaGVyZXNhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoSmltZGlncml6LCAyMC4gQXByIDIwMDUsIDE5OjUxOjE1KToKfiMhIHJuPUNhdHdlYXpsZSBydD0xMTE0MDA2MTk2IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKTW9pbiwKCmJpbiBhdWNoIExpbmNvbG4gZ2V3b3JkZW4sIGtvbW10IG1pciBnYW56IHJpY2h0aWcgdm9yLi4uCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKE1vcmdvdGgsIDIwLiBBcHIgMjAwNSwgMjE6MTY6MDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExNDAwNTYwMiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkNoZSBHdWV2YXJhLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKEhvYm8sIDIxLiBBcHIgMjAwNSwgMDA6Mjk6MTIpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMTQwMTk0NzUgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpJY2ggYmluIGF1Y2ggZWluIEFiZS4gWnVtaW5kZXN0IGVoZXIgYWxzIGVpbiBDaGUsIHNvd2VpdCBzdGltbXQncyBzY2hvbiBtYWwgOykKCiAgIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKFJlcXVpZW0sIDIxLiBBcHIgMjAwNSwgMDA6Mzc6MDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExNDAwNTYwMiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkdhbmRoaS4gS2FubiBpY2ggbWl0IGxlYmVuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChNdWFkaWIsIDIxLiBBcHIgMjAwNSwgMDE6MjI6NTgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExNDAwNTYwMiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCndlbm4gZWluZXIgdm9uIGV1Y2ggImkgc2hvdCB0aGUgc2hlcmlmZiIgc2FlbmdlLCBkYW5uIG11ZXNzdGUgbWFuIGlobiBsZWUKaGFydmV5IG5lbm5lbgpKRksgd2FyIG1laW4gRXJnZWJuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChNdWFkaWIsIDIxLiBBcHIgMjAwNSwgMDE6MjQ6MTIpOgp+IyEgcm49TXVhZGliIHJ0PTExMTQwMzkzNzggcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpkZW4gc3BydWNoIG11c3MgaWNoIHdvaGwgbm9jaCBlcmdhZW56ZW4gInlvdSBsaWtlIHBvd2VyYmVjYXVzZSBpdCBpbmNyZWFzZXMKeW91ciBzZXh1YWwgb3B0aW9ucyIKaG9jaGludGVyZXNzYW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKFd1cnplbCwgMjEuIEFwciAyMDA1LCAxMTowNjozNik6Cn4jISBybj1NdWFkaWIgcnQ9MTExNDAzOTQ1MiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCmVpbnN0ZWluLgp3aWV2aWVsIHZlcnNjaGllZGVuZSBwZXJzb2VubGljaGtlaXRlbiBoYWJlbiBkaWUgZGEgZWlnZW50bGljaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoSGlnaGxhbmRlciwgMjEuIEFwciAyMDA1LCAxMTowODowOCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExNDA3NDM5NiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCk5pbW0gaGFsdCBlaW5mYWNoIGRlbiBsaW5rLCBkZXIgZGEgYW5nZWdlYmVuIHdpcmQsIGRlbiBEdSBEaXIgenVtCkFuZ2ViZW4gKG9yIHdoYXRldmVyKSBhdWYgRGVpbmUgU2VpdGUgYmF1ZW4ga29lbm50ZXN0LCB1bmQgZXJzZXR6ZQpkaWUgWmFobCA1LCBkaWUgZGEgdm9ya29tbXQsIGR1cmNoIGhvZWhlcmUsIGJpcyBlaW4gNDA0IGtvbW10IDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoTXVhZGliLCAyMS4gQXByIDIwMDUsIDEyOjE2OjQwKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTExNDA3NDQ4OCByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCm9kZXIgZ2VoIGF1ZiBkZW4gbGluayBmdWVyIGFuZGVyZSBlcmdlYm5pc3NlIHVuZCBzZWhlIGRpZSBhdWYgZWlubWFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOb2NoIHNvIGVpbmUgVGVzdCAuLi4gKEJvaW5nLCAyMS4gQXByIDIwMDUsIDE0OjMxOjAyKToKfiMhIHJuPU11YWRpYiBydD0xMTE0MDc4NjAwIHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKTm9jaCBlaW4gQWJlIExpbmNvbG4gLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoR2xvaW5zb24sIDIxLiBBcHIgMjAwNSwgMTQ6Mzk6MTgpOgp+IyEgcm49Qm9pbmcgcnQ9MTExNDA4NjY2MiByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCklociBzZWlkIGFsbGUgdmllbCB6dSBndXRtZW5zY2hsaWNoLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoQ29ybmhvbGlvLCAyMS4gQXByIDIwMDUsIDE2OjExOjQzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQwODcxNTggcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpSYXRldCBtYWwsIHdlciBkYXMgaGllciBpc3Q6Cmh0dHA6Ly90aW55dXJsLmNvbS84NnJrMwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChNdWFkaWIsIDIxLiBBcHIgMjAwNSwgMTY6MTI6MjUpOgp+IyEgcm49Q29ybmhvbGlvIHJ0PTExMTQwOTI3MDMgcmc9d3d3Cn4jISB0aWQ9MTExNDAwNTYwMgpiaWxsCmFsdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE5vY2ggc28gZWluZSBUZXN0IC4uLiAoQ29ybmhvbGlvLCAyMS4gQXByIDIwMDUsIDE2OjEzOjA1KToKfiMhIHJuPU11YWRpYiBydD0xMTE0MDkyNzQ1IHJnPXd3dwp+IyEgdGlkPTExMTQwMDU2MDIKSmEsIHNvIHJpY2h0aWcgdmllbCBuZXVlcyB1ZWJlciBCaWxseSBnaWJ0J3MgamEgbmljaHQuIFNvIHdpZSBhdWNoIG5pY2h0IHZvbgpkZW4gRGFuYWhlci0gdW5kIEFsZGktQnJ1ZWRlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTm9jaCBzbyBlaW5lIFRlc3QgLi4uIChCb2luZywgMjEuIEFwciAyMDA1LCAxNjozMjo0Myk6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExNDA5Mjc4NSByZz13d3cKfiMhIHRpZD0xMTE0MDA1NjAyCkRlciBoYXQgc2ljaCBqYSBuaWNodCBzb25kZXJsaWNoIHZlcmFlbmRlcnQgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9yb21hbiB6dSBLcmllZyBkZXIgU3Rlcm5lIChWaW5jZW50LCAyMi4gQXByIDIwMDUsIDE3OjQ4OjEyKToKQW0gOS4gRmVicnVhciAxOTc4IGxpZWYgenVtIGVyc3RlbiBNYWwgS3JpZWcgZGVyIFN0ZXJuZSBpbiBkZW4KZGV1dHNjaGVuIEtpbm9zLiBBbmxhZXNzbGljaCBkaWVzZXMgMjUgamFlaHJpZ2VuIEp1YmlsYWV1bXMgaGF0IGRlciBBdXRvcgpkZXIgV2Vic2l0ZSBoaW50ZXIgZGVyIHVudGVuZXN0ZWhlbmRlbiBVcmwgZWluZW4gZGVyIGVyc3RlbiBTdGFyIFdhcnMKRm90b3JvbWFuZSBpbnMgV1dXIGdlc3RlbGx0LgoKaHR0cDovL3d3dy5mcmllZHJpY2hzaGFpbmVyc2NodWxlLmRlL3N3LW1haW4uaHRtCgpOb3N0YWxnaXNjaGVuIFNwYXNzIGJlaW0gTGVzZW4uIDspCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2xsdGUgc2ljaCBqZWRlciBoaWVyIG1hbCBhbnNjaGF1ZW4gKEtpcmlhLCAyNC4gQXByIDIwMDUsIDE3OjI0OjA5KToKQmVpIGdhbWVzcG90LmNvbSBnaWJ0cyBuZSByZWNodCBpbnRlcmVzc2FudGUgU3BpZWxlLVJlemVuc2lvbiB1ZWJlciBzbyBuZW4KTU1PUlBHLCBkYXNzIHNpY2ggdmxsdCBzb2dhciBtYWwgbG9obmVuIGtvZW5udGUuCgpodHRwOi8vd3d3LmdhbWVzcG90LmNvbS9nYW1lc3BvdC9mZWF0dXJlcy9hbGwvZ2FtZXNwb3R0aW5nLzA3MTEwM21pbnVzd29ybGQvMS4KaHRtbApiencKaHR0cDovL3Rpbnl1cmwuY29tL2d1ZnkKCldvYmVpIGljaCBkZXIgR3JhZmlrIGtlaW5lIDEwIFB1bmt0ZSBnZWdlYmVuIGhhZXR0ZS4uLi4KCktpcmlhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXR0ZXMgSG9iYnkgKFNreWZpcmUsIDI0LiBBcHIgMjAwNSwgMjA6MTM6MTMpOgp3d3cuYmV0cnVua2VuZS1kZWtvcmllcmVuLmRlCipicnVlbGx2b3JsYWNoZW4qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU29sbHRlIHNpY2ggamVkZXIgaGllciBtYWwgYW5zY2hhdWVuIChUYXJhbmlzLCAyNC4gQXByIDIwMDUsIDIwOjEzOjM5KToKfiMhIHJuPUtpcmlhIHJ0PTExMTQzNTYyNDkgcmc9d3d3Cn4jISB0aWQ9MTExNDM1NjI0OQpCYWguCgpNZWhyIHNhZyBpY2ggZGEgamV0enQgbmljaHQgenUuCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0dGVzIEhvYmJ5IChHbG9pbnNvbiwgMjQuIEFwciAyMDA1LCAyMDoxNjo0Myk6Cn4jISBybj1Ta3lmaXJlIHJ0PTExMTQzNjYzOTMgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpXYXIgc2Nob24gdm9yIGVpbmVyIFdlaWxlIGhpZXIgZHJpbiB1bmQgaWNoIGZpbmQgZXMgaW1tZXIgbm9jaCBhc296aWFsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV0dGVzIEhvYmJ5IChTa3lmaXJlLCAyNC4gQXByIDIwMDUsIDIwOjIyOjEwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQzNjY2MDMgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwoqenVjayogOikgc3RlaHQgZXVjaCBmcmVpIG5pY2h0IHp1IGxhY2hlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXR0ZXMgSG9iYnkgKE5vbm5lLCAyNS4gQXByIDIwMDUsIDEwOjA5OjAzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQzNjY2MDMgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpXYXJzdCBkdSBzY2hvbiBtYWwgT3BmZXIgZWluZXIgc29sY2hlbiBBa3Rpb24gb2RlciB3aWVzbyByZWFnaWVyc3QgZHUgc28KZHVlbm5oYWV1dGlnPyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldHRlcyBIb2JieSAoR2xvaW5zb24sIDI1LiBBcHIgMjAwNSwgMTM6MDQ6MTMpOgp+IyEgcm49Tm9ubmUgcnQ9MTExNDQxNjU0MyByZz13d3cKfiMhIHRpZD0xMTE0MzY2MzkzCk5vZSwgaWNoIGJla29tbSBkYSBudXIgbWVpbmVuIE1vcmFsaXNjaGVuLiBEaWVzZXMgIkJldHJ1bmtlbmUgZGVrb3JpZXJlbiIsIHdhcwp3b2hsIGF1cyBkZW4gVVNBIGdsZWljaCBtaXQgImJpb3RjaCIgcnVlYmVyZ2VzY2h3YXBwdCBzZWluIG11c3MgaGF0IG51ciBkYXMKWmllbCBkaWUgUGVyc29uZW4genUgZXJuaWVkcmlnZW4uIFVuZCBkYXMgZmluZGUgaWNoIG5pY2h0IGlPLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldHRlcyBIb2JieSAoTXVhZGliLCAyNS4gQXByIDIwMDUsIDEzOjUzOjU5KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTQ0MjcwNTMgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpqZXR6dCBrb21tIGRvY2ggbmljaHQgbWl0IGJpbGxpZ2VyIG1vcmFsCnNvd2FzIGJyYXVjaHQgbWFuIGFscyBhdXNlcndhZWhsdGVzIHZvbGsgbmljaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldHRlcyBIb2JieSAoRGFya2xvciwgMjUuIEFwciAyMDA1LCAxNDo1MDo0Myk6Cn4jISBybj1NdWFkaWIgcnQ9MTExNDQzMDAzOSByZz13d3cKfiMhIHRpZD0xMTE0MzY2MzkzCkRpZSBBbXlzIGhhYmVuIE1vcmFsPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV0dGVzIEhvYmJ5IChDYXR3ZWF6bGUsIDI1LiBBcHIgMjAwNSwgMTQ6NTg6NDcpOgp+IyEgcm49RGFya2xvciBydD0xMTE0NDMzNDQzIHJnPXd3dwp+IyEgdGlkPTExMTQzNjYzOTMKT2gsIGphISBHYW56IHZpZWwgTW9yYWwgc29nYXIuIEVpbmUgYW5kZXJlIHp3YXIsIGFiZXIgZGF2b24gZ2FueiB2aWVsLgoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaWVyZ2V0ZWlsdCAoQ29ybmhvbGlvLCAyNS4gQXByIDIwMDUsIDE2OjAwOjQ2KToKaHR0cDovL3VrLmltZGIuY29tL3RpdGxlL3R0MDI1MDgxMC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldHRlcyBIb2JieSAoR2xvaW5zb24sIDI1LiBBcHIgMjAwNSwgMTY6MDg6MTUpOgp+IyEgcm49TXVhZGliIHJ0PTExMTQ0MzAwMzkgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpBY2gsIHNpbmQgd2lyIGF1Y2ggd2llZGVyIGF1c2Vyd2FlaGx0IG9kZXIgd29sbGVuIHdpciBtaXRlcndhZWhsdCB3ZXJkZW4/CgpNb3JhbCwgZGFzIGlzdCwgd2VubiBtYW4gbW9yYWxpc2NoIGlzdCwgdmVyc3RlaHQgZXIuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV0dGVzIEhvYmJ5IChKaW1kaWdyaXosIDI1LiBBcHIgMjAwNSwgMTk6Mjk6MzApOgp+IyEgcm49Tm9ubmUgcnQ9MTExNDQxNjU0MyByZz13d3cKfiMhIHRpZD0xMTE0MzY2MzkzCkhvaSwKCmljaCB3YXIgYXVjaCBzY2hvbm1hbCBPcGZlciB1bmQgZmluZHMgdHJvdHpkZW0gbHVzdGlnLgpCZXNvbmRlcnMgdWViZWwgZmFuZCBpY2ggZGVuIFR5cGVuIGRlciBtaXQKZGVuIFZlcmtlaHJzaHVldGNoZW4gdW5kIC1hYnNwZXJyYmFlbmRlcm4gZGVrb3JpZXJ0IHd1cmRlLiA6KQoKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXR0ZXMgSG9iYnkgKE1haGFyZXQsIDI1LiBBcHIgMjAwNSwgMTk6MzA6MDIpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMTQ0NTAxNzAgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpFY2h0PyBHaWIgbWFsIGRlbiBsaW5rIHZvbiBkZWluZW0gQmlsZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE5ldHRlcyBIb2JieSAoSmltZGlncml6LCAyNS4gQXByIDIwMDUsIDE5OjMxOjUyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTExNDQ1MDIwMiByZz13d3cKfiMhIHRpZD0xMTE0MzY2MzkzCgpadW0gR2x1ZWNrIHd1cmRlbiBkaWUgQmlsZGVyIG5pZSBpbSBOZXR6IHZlcm9lZmZlbnRsaWNodC4gOikKRGllIGdhbW1lbG4gaW4gZWluZXIgVW16dWdza2lzdGUgdm9uIG1pciwgdW5kIGljaCBoYWJlCmdyb3NzZSBad2VpZmVsIGRhc3MgZGllIGplbWFscyB3ZXIgaGllciB6dSBzZWhlbiBrcmllZ3QuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBOZXR0ZXMgSG9iYnkgKE1haGFyZXQsIDI1LiBBcHIgMjAwNSwgMTk6MzM6NTcpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMTQ0NTAzMTIgcmc9d3d3Cn4jISB0aWQ9MTExNDM2NjM5MwpFaW4gbmljaHQgdW53aWNodGlnZXIgVW50ZXJzY2hpZWQgenUgZGVyIFNlaXRlIG1pdCBkZW4gQmlsZGVybiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV0dGVzIEhvYmJ5IChKaW1kaWdyaXosIDI1LiBBcHIgMjAwNSwgMTk6NDc6NTkpOgp+IyEgcm49TWFoYXJldCBydD0xMTE0NDUwNDM3IHJnPXd3dwp+IyEgdGlkPTExMTQzNjYzOTMKV2FzIG5pY2h0IGhlaXNzdCwgZGFzcyBzaWUgbmllIGplbWFuZCBnZXNlaGVuIGhhdCwKb2RlciBkYXNzIG5pY2h0IGRpZSBMZXV0ZSBkaWUgZGFiZWkgd2FyZW4gKGF1Y2ggd2VubnMKc2Nob24gbGFuZ2UgaGVyIGlzdCkgc2ljaCBuaWNodCBkYXJhbiBlcmlubmVybiB3dWVyZGVuLgpJbnNvZmVybiBzZWggaWNoIGRhIGtlaW5lbiBncm9zc2VuIFVudGVyc2NoaWVkIHp3aXNjaGVuCmRpZXNlbiBPcGZlcm4gdW5kIGFuZGVyZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTmV0dGVzIEhvYmJ5IChDaGFnYWxsLCAyNS4gQXByIDIwMDUsIDE5OjQ4OjM5KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTE0NDUxMjc5IHJnPXd3dwp+IyEgdGlkPTExMTQzNjYzOTMKRGFubiB3aXJkcyBEaXIgc2ljaGVybGljaCBuaWNodHMgYXVzbWFjaGVuLCBkaWUgRm90b3MgenUKdW5zZXJlciBCZWhlaXRlcnVuZyBpbnMgTmV0eiB6dSBzdGVsbGVuLCBvZGVyPwoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE5ldHRlcyBIb2JieSAoSmltZGlncml6LCAyNS4gQXByIDIwMDUsIDE5OjUwOjU3KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTExNDQ1MTMxOSByZz13d3cKfiMhIHRpZD0xMTE0MzY2MzkzCldhZXJlbiBzaWUgc2Nob24gaW1tZXIgZGFkcmluIGdld2VzZW4sIHdhZXIgZXMgbWlyCmVnYWwgZ2V3ZXNlbi4gRXh0cmEgcmVpbnN0ZWxsZW4gbXVzcyBpY2ggc2llIHNpY2hlciBuaWNodC4KVWVicmlnZW5zIGhlaXNzdCBkYXMgbmljaHQsIGRhc3MgZXMgbmljaHQgdGF0c2FlY2hsaWNoIGltIE5ldHoKc29sY2hlIG9kZXIgYWVobmxpY2hlIEJpbGRlciB2b24gbWlyIGdpYnQuIEZpbmRlbiBtdWVzc3QgSWhyIHNpZSBzZWxiZXIuCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWaWVyZ2V0ZWlsdCAoVmluY2VudCwgMjYuIEFwciAyMDA1LCAyMjoxMzoxMik6Cn4jISBybj1Db3JuaG9saW8gcnQ9MTExNDQzNzY0NiByZz13d3cKfiMhIHRpZD0xMTE0NDM3NjQ2CkRpZXNlciBLdXJ6ZmlsbSB3dXJkZSBpbSBLaW5vIGFscyBWb3JmaWxtIHp1IFNjcmVhbSAzIGdlemVpZ3QuCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFyIFdhcnMgUmV2ZWxhdGlvbnMgKEJhbWJ1bGtvLCAyNy4gQXByIDIwMDUsIDAwOjE5OjE2KToKRWluIHdpcmtsaWNoIGd1dCBnZW1hY2h0ZXIgU3Rhci1XYXJzOgoKaHR0cDovL3d3dy5wYW5pY3N0cnVja3Byby5jb20vcmV2ZWxhdGlvbnMvcmV2ZWxhdGlvbnMuaHRtbAoKV2VubiBtYW4gZGFzIHNpZWh0IGZyYWd0IG1hbiBzaWNoIHdpcmtsaWNoIHdvbWl0IEdlb3JnZSBMdWthcyBzZWluZSBNaWxsaW9uZW4KcHJvIEZpbG0gdmVyYnJhZXQuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXIgV2FycyBSZXZlbGF0aW9ucyAoR2xvaW5zb24sIDI3LiBBcHIgMjAwNSwgMDI6MTA6MDYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTExNDU1Mzk1NiByZz13d3cKfiMhIHRpZD0xMTE0NTUzOTU2CkljaCBmcmFnIG1pY2ggZWhlciwgb2IgZHUgZGlyIGVpbmUgbWVpbmVyIEJyaWxsZW4gZ2Vib3JndCBoYXN0LgoKQWJlciB2aWVsbGVpY2h0IHdpcmQgYXVzIGRlbSBTdHJlaWZlbiBoaWVyIGphIHdhczoKaHR0cDovL3d3dy50eWRpcml1bS50di8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXIgV2FycyBSZXZlbGF0aW9ucyAoR2xvaW5zb24sIDI3LiBBcHIgMjAwNSwgMDI6MTc6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTExNDU2MDYwNiByZz13d3cKfiMhIHRpZD0xMTE0NTUzOTU2ClBTOiBodHRwOi8vdGhlZm9yY2UubmV0L2ZhbmZpbG1zLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsb2xla3R1ZXJlIDstKSAoQW1hcnlsbGlzLCAyOS4gQXByIDIwMDUsIDE0OjA2OjIwKToKaHR0cDovL3d3dy5oYXVzdGVjaG5pa2RpYWxvZy5kZS9mb3J1bS5hc3A/dGhlbWE9MTk4ODYKCkFtYSosIHNpY2gga3JpbmdlbG5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsb2xla3R1ZXJlIDstKSAoR2xvaW5zb24sIDI5LiBBcHIgMjAwNSwgMTQ6MjA6MTEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMTQ3NzYzODAgcmc9d3d3Cn4jISB0aWQ9MTExNDc3NjM4MApEaWUgSWRlZSBtaXQgZGVtIFByb2Jla2Fja2VuIGlzdCBndXQuIEtlbm50IGplbWFuZCBlaW5lbiBndXQgc29ydGllcnRlbgpTYW5pdGFlcmxhZGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBiZWkgSGRSIHdpcmtsaWNoIGdlc2NoYWguLi4gKFJlcXVpZW0sICAzLiBNYWkgMjAwNSwgMTU6MTY6MDQpOgpodHRwOi8vZGFlbWxpY2gubmV0Lzc1ODEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgYmVpIEhkUiB3aXJrbGljaCBnZXNjaGFoLi4uIChXaGl0ZXRpZ2VyLCAgMy4gTWFpIDIwMDUsIDE4OjU0OjQ3KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTExNTEyNjE2NCByZz13d3cKfiMhIHRpZD0xMTE1MTI2MTY0Cmh0dHA6Ly90ZW50YWNsZS5uZXQvfnp6aW5uaWEvbG90cnNlN3loLmdpZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGVyIHZvbGwgY3Jhc3NlIGhhY2tlciAoS2VsbHlidW5keSwgIDMuIE1haSAyMDA1LCAyMDoyMTo0Myk6Cmh0dHA6Ly93d3cuZ2Vlem9kLmRlL0lXL3ZpZXd0b3BpYy5waHA/dD01ODc2CgpMYXNzdHMgRXVjaCBhdWYgZGVyIE5ldHpoYXV0IHplcmdlaGVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgYmVpIEhkUiB3aXJrbGljaCBnZXNjaGFoLi4uIChBbWFyeWxsaXMsICAzLiBNYWkgMjAwNSwgMjA6MjU6NTUpOgp+IyEgcm49V2hpdGV0aWdlciBydD0xMTE1MTM5Mjg3IHJnPXd3dwp+IyEgdGlkPTExMTUxMjYxNjQKZnVua3Rpb25pZXJ0IGJlaSBtaXIgbmljaHQsIGJ6dy4gZ2lidCBudXIgZWluIGdpZiBtaXQgZWluZXIgRW1haWxhZHJlc3NlCnByZWlzPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FzIGJlaSBIZFIgd2lya2xpY2ggZ2VzY2hhaC4uLiAoQ3JvZnQsICAzLiBNYWkgMjAwNSwgMjA6Mjk6MDMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMTUxNDQ3NTUgcmc9d3d3Cn4jISB0aWQ9MTExNTEyNjE2NApJc3QgZWluIGFuaW1hdGVkIEdJRi4gIER1IHNpZWhzdCB3b2hsIG51ciBkYXMgbGV0enRlIEJpbGQuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlciB2b2xsIGNyYXNzZSBoYWNrZXIgKEtlbGx5YnVuZHksICAzLiBNYWkgMjAwNSwgMjA6MzM6NTApOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTE1MTQ0NTAzIHJnPXd3dwp+IyEgdGlkPTExMTUxNDQ1MDMKUC5TLiBpY2ggd3VyZGUgYmVsZWhydCwgZGFzcyBkaWUgU3RvcnkgbmljaHQgbWVociBnYW56IG5ldSBpc3QuIFNyeSwgZGEgaGFiCmljaCB3b2hsIHdhcyBuaWNodCBtaXRiZWtvbW1lbi4gV2VyIGdlbmF1c28gZHJvZW1lbGljaCBpc3Qgd2llIGljaCwgZGVtCnd1ZW5zY2hlIGljaCB2aWVsIFNwYXNzIDstKQoqaHVzdCogS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGVyIHZvbGwgY3Jhc3NlIGhhY2tlciAoRGFya2xvciwgIDMuIE1haSAyMDA1LCAyMTozODo1OSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExMTUxNDUyMzAgcmc9d3d3Cn4jISB0aWQ9MTExNTE0NDUwMwoqcm9mbCoKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbG9sZWt0dWVyZSA7LSkgKEhvdXNlaG9sZGVyLCAgNC4gTWFpIDIwMDUsIDAxOjE2OjQxKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTE0Nzc2MzgwIHJnPXd3dwp+IyEgdGlkPTExMTQ3NzYzODAKYWNoIHNjaGVpc3NlIG5hY2ggMTAwIGFydGlrZWxuIGhhdCBkaWUgbW9kZXJhdGlvbiB6dWdlc2NobGFnZW4gdW5kIGRlbiB0aHJlYWQKZ2VzY2hsb3NzZW4uIHVuZCBpY2ggaGF0dGUgbWlyIHNvIHNjaG9lbmUgd2VpdGVyZSBhbnJlZ3VuZ2VuIGZ1ZXIgZGllc2UKZGlza3Vzc2lvbiBhdXNnZWRhY2h0IC4uLgpISCAobGFzcyBtYSBlbnMgYWUgbGllZWRzY2hlIHZ1bSBrYWhhY2tlIHNpbmdlLC4uLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2xvbGVrdHVlcmUgOy0pIChLYXJ0b2ZmZWwsICA1LiBNYWkgMjAwNSwgMjA6MTQ6MTkpOgp+IyEgcm49SG91c2Vob2xkZXIgcnQ9MTExNTE2MjIwMSByZz13d3cKfiMhIHRpZD0xMTE0Nzc2MzgwCi4uLkthY2tlIGlzIGVuIGhlcnJsaXNjaCBEaW5nZS4uLgoKJ1RvZmZlbCwga2VubnQgZGFzIGF1Y2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtsb2xla3R1ZXJlIDstKSAoSG91c2Vob2xkZXIsICA2LiBNYWkgMjAwNSwgMTM6NTk6NTQpOgp+IyEgcm49S2FydG9mZmVsIHJ0PTExMTUzMTY4NTkgcmc9d3d3Cn4jISB0aWQ9MTExNDc3NjM4MApkcnVtIHJhZGUgbWEgb2ljaCBhYWhsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZWh0IHZvcmhlciBhdWYncyBLbG8uLi4gKEJhbWJpLCAgNi4gTWFpIDIwMDUsIDE4OjUxOjQ1KToKYmV2b3IgaWhyIGV1Y2ggZGFzIGFuc2NoYXV0LiBTb25zdCBtdWVzc3QgaWhyIHNhdWJlcm1hY2hlbi4uLgpodHRwOi8vODAuMjM3LjIxNi44Ni9kYXN1Z2IvRG9lbmVyR2FuZ0FudGhlbS5XTVYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1ldC0gdW5kIEZydWNodHdlaW5iZXJlaXR1bmcgKFRhcmFuaXMsICA2LiBNYWkgMjAwNSwgMjA6NTM6NTYpOgpGYWxscyBoaWVyIGplbWFuZCBzcGllbHQsIGRlciBzaWNoIGZ1ZXIgWnViZXJlaXR1bmcgdm9uIEZydWNodC0gb2RlcgpIb25pZ3dlaW5lbiBpbnRlcmVzc2llcnQsIHdlcmZ0IG1hbCBlaW5lbiBCbGljayBhdWYgZm9sZ2VuZGUgSG9tZXBhZ2U6Cmh0dHA6Ly93d3cuZnJ1Y2h0d2VpbmtlbGxlci5kZS8KRGllIFNlaXRlIGVudGhhZWx0IGplZGUgTWVuZ2UgaW50ZXJlc3NhbnRlIEluZm9ybWF0aW9uZW4genVtIFRoZW1hLCB2b24KWnV0YXRlbiB1ZWJlciBIZWZlbiwgQW5hbHl0aWssIEtsYWVydW5nLCBGaWx0cmF0aW9uLCBBYmZ1ZWxsdW5nIGJpcyB6dQpSZXplcHRlbiB1bmQgTGl0ZXJhdHVyIHNvd2llIGVpbmVyIGdhbnplbiBMYXR0ZSB2b24gQmV6dWdzcXVlbGxlbiBmdWVyIFp1dGF0ZW4KdW5kIEdlcmFldHNjaGFmdGVuLiBEaWUgU2VpdGUgaXN0IChtaXQgdmllbCBNdWVoZSwgbmVobWUgaWNoIGFuLiAqZyopIHZvbgplaW5lbSBNaWtyb2Jpb2xvZ2VuIHVuZCBvcmcuIENoZW1pa2VyIGdlbWFjaHQsIHdhcyBtYW4gc2Nob24gYW4gZGVuIGdlYm90ZW5lbgpJbmZvcyB1bmQgSGludGVyZ3J1bmR3aXNzZW4gbWVya3QuIDotKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYmVrbG9wcHRlIGhhbXN0ZXIgOykgKEFueXNpZG9yYSwgIDcuIE1haSAyMDA1LCAxMDo1OTozNSk6CmljaCB3ZWlzcyBncmFkIG5pY2h0LCBvYiBkaWUgc2Nob24gYmVrYW5udCBzaW5kLCBkZXNoYWxiIHBvc3RlIGljaCBzaWUgZWluZmFjaAptYWwgOykKaHR0cDovL3d3dy5icmVlbC5wd3AuYmx1ZXlvbmRlci5jby51ay9yYXRoZXJnb29kL3dlX2xpa2VfdGhlX21vb24uc3dmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYmVrbG9wcHRlIGhhbXN0ZXIgOykgKEJhbWJpLCAgNy4gTWFpIDIwMDUsIDEyOjAyOjU0KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTE1NDU2Mzc1IHJnPXd3dwp+IyEgdGlkPTExMTU0NTYzNzUKRGllIEhBTVNURVIgc2luZCBiZWtsb3BwdD8gSWNoIHdpbGwgbmljaHQgd2lzc2VuLCB3YXMgZGllIGJlaWRlbiBBdXRvcmVuCmdlcmF1Y2h0LCBnZXNvZmZlbiBvZGVyIHNpY2ggZ2VzcHJpdHp0IGhhYmVuLiBBYmVyIG5ldHRlcyBIaW50ZXJncnVuZGJpbGQuIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGJla2xvcHB0ZSBoYW1zdGVyIDspIChEYXJrbG9yLCAgOC4gTWFpIDIwMDUsIDAwOjQ0OjM3KToKfiMhIHJuPUJhbWJpIHJ0PTExMTU0NjAxNzQgcmc9d3d3Cn4jISB0aWQ9MTExNTQ1NjM3NQpBdXRzY2ghCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBLbG9sZWt0dWVyZSA7LSkgKEthcnRvZmZlbCwgIDguIE1haSAyMDA1LCAyMTowMjoyNCk6Cn4jISBybj1Ib3VzZWhvbGRlciBydD0xMTE1MzgwNzk0IHJnPXd3dwp+IyEgdGlkPTExMTQ3NzYzODAKZG9kIGRyaWVzc2Ugd2Vpc2NoIG9uZCByb25kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTWi1BcnRpa2VsIHp1bSAiUGVraW5nIEV4cHJlc3MiIChSVEwpIHZvbSBGcmVpdGFnIChDb3JuaG9saW8sICA4LiBNYWkgMjAwNSwgMjE6NDI6NTEpOgpBbXVlc2FudDoKaHR0cDovL3d3dy5zdWVkZGV1dHNjaGUuZGUva3VsdHVyL2FydGlrZWwvNjE2LzUyNTY0L3ByaW50Lmh0bWwKClRpbnk6IGh0dHA6Ly90aW55dXJsLmNvbS85dGJrYgpEaWUgUHJpbnRhdXNnYWJlIHdhciBuaWNodCBzbyBidW50IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU1otQXJ0aWtlbCB6dW0gIlBla2luZyBFeHByZXNzIiAoUlRMKSB2b20gRnJlaXRhZyAoQW1hcnlsbGlzLCAgOC4gTWFpIDIwMDUsIDIzOjAwOjExKToKfiMhIHJuPUNvcm5ob2xpbyBydD0xMTE1NTgxMzcxIHJnPXd3dwp+IyEgdGlkPTExMTU1ODEzNzEKSWNoIHd1ZXJkZSBlcyBlaGVyICJ0cmVmZmVuZCIgbmVubmVuLiBJY2ggaGFiZSBpbiBkaWUgIlNlbmR1bmciIHp1ZmFlbGxpZwpyZWluZ2VzY2hhbHRldCAtIHNvIHRpZWYga2FubiBpY2ggbWl0IGRlciBTY2hhdWZlbCBnYXIgbmljaHQgbWVociBncmFiZW4sIHdpZQppY2ggZGFzIE5pdmVhdSBkaWVzZXIgbmV1ZW4gIlJlYWxpdHktU2hvd3MiIHN1Y2hlbiB3dWVyZGUuLi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU1otQXJ0aWtlbCB6dW0gIlBla2luZyBFeHByZXNzIiAoUlRMKSB2b20gRnJlaXRhZyAoQ29ybmhvbGlvLCAgOS4gTWFpIDIwMDUsIDIxOjQxOjQ0KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTE1NTg2MDExIHJnPXd3dwp+IyEgdGlkPTExMTU1ODEzNzEKQXVmIGplZGVuIEZhbGwgc2VociB0cmVmZmVuZCwgd2VubiBhdWNoIGRhcyBtaXQgZGVuIDEwMDAwMCBFVVIgZWhlciBhbiBSVEwKZXJpbm5lcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEbyBOT1QgcHJlc3MgdGhlIHJlZCBidXR0b24uIChSZXF1aWVtLCAxMC4gTWFpIDIwMDUsIDE3OjA2OjM5KToKRWluZSBsYW5nd2VpbGlnZSBTZWl0ZS4gTnVyIGVpbiBLbm9wZiwgdW5kIGRlbiBkYXJmIG1hbiBuaWNodCBkcnVlY2tlbiA7LSkKCmh0dHA6Ly93d3cudW5mLXVuZi5kZS9zaG93ODI4Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEbyBOT1QgcHJlc3MgdGhlIHJlZCBidXR0b24uIChEYXJrbG9yLCAxMC4gTWFpIDIwMDUsIDE5OjUxOjQ1KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTExNTczNzU5OSByZz13d3cKfiMhIHRpZD0xMTE1NzM3NTk5ClNjaG9uIHdpZWRlcj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRG8gTk9UIHByZXNzIHRoZSByZWQgYnV0dG9uLiAoUmVxdWllbSwgMTEuIE1haSAyMDA1LCAwOTo0NTo0MSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExMTU3NDc1MDUgcmc9d3d3Cn4jISB0aWQ9MTExNTczNzU5OQpKby4gU29ycnksIGljaCBoYWIgbmljaHQgYWxsZSBTZWl0ZW4gaW0gS29wZiwgZGllIGVzIGJpc2hlciBpbiBkaWVzZSBSdWJyaWsKZ2VzY2hhZmZ0IGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUEMgaW4gT2VsIChCYW1idWxrbywgMTEuIE1haSAyMDA1LCAxMTo0OToyMyk6ClBDIGluIE9lbDoKCmh0dHA6Ly90aW55dXJsLmNvbS9iamQ3bQoKaHR0cDovL3d3dy50YWdlc3NjaGF1LmRlL2FrdHVlbGwvbWVsZHVuZ2VuLzAsMTE4NSxPSUQ0MzMwNDcyX1RZUDZfVEhFX05BVl9SRUZfCkJBQiwwMC5odG1sCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5kZXJlIFZlcnNpb24gZGVzIGZ1bGwgdGltZSBvZmZpY2U6IChDb3JuaG9saW8sIDEyLiBNYWkgMjAwNSwgMTY6NDQ6NDkpOgpBdWNoIGluIGRlciBHZWZhaHIsIGRhc3MgZGFzIGFsbGUgc2Nob24gZ2VzZWhlbiBoYWJlbiwKaWNoIGthbm50ZSBkYSBlaWdlbnRsaWNoIG51ciBkaWUgdm9sbGdlcG9sc3RlcnRlIFZhcmlhbnRlIDopCgpodHRwOi8vd3d3LmJheWFuaS5jb20vc3VwZXJjYWxpL3BpY3Mvbm9icmVha3MuanBnCgooU3RhbmRhcmQtTXVkZGVyLVNwaWVsZXRpc2NoKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERvIE5PVCBwcmVzcyB0aGUgcmVkIGJ1dHRvbi4gKFNreWZpcmUsIDE1LiBNYWkgMjAwNSwgMTQ6Mzc6NTkpOgp+IyEgcm49UmVxdWllbSBydD0xMTE1NzM3NTk5IHJnPXd3dwp+IyEgdGlkPTExMTU3Mzc1OTkKKmJydWVsbHZvcmxhY2hlbioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZWh0IHZvcmhlciBhdWYncyBLbG8uLi4gKE9nbywgMTUuIE1haSAyMDA1LCAyMzo1MToxOSk6Cn4jISBybj1CYW1iaSBydD0xMTE1Mzk4MzA1IHJnPXd3dwp+IyEgdGlkPTExMTUzOTgzMDUKQWVobSBCYW1iaSwga2FubnN0IGR1IG1pciB2ZXJyYXRlbiwgd2VzaGFsYiBkdSBtZWluc3QsIGRhc3MgZGllc2VzIFZpZGVvCnNlaGVuc3dlcnQgaXN0PyBFcyBpc3Qgd2VkZXIgbHVzdGlnIG5vY2ggc2Nob2NraWVyZW5kLiBFcyBpc3QgZWluZmFjaCBlaW4KQmV3ZWlzcyBkYWZ1ZXIsIGRhc3MgZGVyIHNvZ24uICJXaGl0ZXRyYXNoIiBuaWNodCBudXIgaW4gRGV1dHNjaGxhbmQKYW5nZWtvbW1lbiBpc3QsIHNvbmRlcm4gYXVjaCBiZWdpbm50LCBzaWNoIHNlbGJzdCB6dSBmZWllcm4uIFRvbGwhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdlaHQgdm9yaGVyIGF1ZidzIEtsby4uLiAoTXVhZGliLCAxNi4gTWFpIDIwMDUsIDEzOjE3OjE1KToKfiMhIHJuPU9nbyBydD0xMTE2MTkzODc5IHJnPXd3dwp+IyEgdGlkPTExMTUzOTgzMDUKZGVpbmUgdmVyd2VuZHVuZyBkZXMgd29ydGVzIHdoaXRldHJhc2ggbGFlc3N0IGRhcmF1ZiBzY2hsaWVzc2VuLCBkYXNzIGRpcgpzZWluZSBwb2xpdGlzY2hlIGtvbm5vdGF0aW9uIG5pY2h0IHZlcnRyYXV0IGlzdC4KZ2VyYWRlIGJlaSBkZW0gd29ydCB3aGl0ZXRyYXNoIGJpbiBpY2ggaW1tZXIgd2llZGVyIGVyc3RhdW50IHdpZSBsZWljaHRmZXJ0aWcKZXMgc2ljaCBpbiBkZXIgbWVkaWFsZW4gYmV3ZXJ0dW5nIHZlcmJyZWl0ZXQgaGF0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2VodCB2b3JoZXIgYXVmJ3MgS2xvLi4uIChSb25kYSwgMTYuIE1haSAyMDA1LCAxMzozNzoyOSk6Cn4jISBybj1NdWFkaWIgcnQ9MTExNjI0MjIzNSByZz13d3cKfiMhIHRpZD0xMTE1Mzk4MzA1CkhtLCBpY2ggd2FyIHp3YXIgbmljaHQgYW5nZXNwcm9jaGVuIC0gbWljaCB3dWVyZGUgYWJlciBpbnRlcmVzc2llcmVuLCB3YXMKIndoaXRldHJhc2giIGlzdD8KClJvbmRhICp1bndpc3NlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWh0IHZvcmhlciBhdWYncyBLbG8uLi4gKE11YWRpYiwgMTYuIE1haSAyMDA1LCAxMzo0NTozMyk6Cn4jISBybj1Sb25kYSBydD0xMTE2MjQzNDQ5IHJnPXd3dwp+IyEgdGlkPTExMTUzOTgzMDUKYmVpIG1lZGlhbGVuIGtyaXRpa2VuIHN0ZWh0IGVzIHdvaGwgbWVpc3RlbnMgZWluZmFjaCBmdWVyIGtvbXBsZXR0ZW4gc2Nocm90dApkZXIgYmV2b3J6dWd0IHZvbiB3ZWlzc2VuIChzb3ppYWwgc2Nod2FjaGVuPykga29uc3VtaWVydCB3aXJkCgpkaWUgYmVncmlmZmxpY2hrZWl0IHVudGVyIGRlciBpY2ggZXMgZWhlciBrZW5uZSBpc3QgYWxzIHNjaGltcGZ3b3J0IGZ1ZXIKbWVuc2NoZW4gd2Vpc3NlciBoYXV0ZmFyYmUsIHdlbGNoZSBkYW1pdCBhbHMgbWluZGVyd2VydGlnIGRhcmdlc3RlbGx0IHdlcmRlbi4gCm1hbiBrb2VubnRlIHdoaXRldHJhc2ggYWxzIGRhcyBwZW5kYW50IHp1IG5pZ2dlciBiZXplaWNobmVuLiAKb2IgZXMgd2lya2xpY2ggcmFzc2lzdGlzY2ggZ2VwcmFlZ3QgaXN0IGRhcnVlYmVyIGthbm4gbWFuIHdvaGwgc3RyZWl0ZW4uCmVzIGlzdCBhdWYgamVkZW4gZmFsbCByZWNodCBoYWVzc2xpY2ggdW5kIHRhdWNodCBlYmVuIGRhbm4gYXVmLCB3ZW5uIHNpY2ggZWluCm1lbnNjaCB3ZWlzc2VyIHVuZCBlaW4gbWVuc2NoIHNjaHdhcnplciBoYXV0ZmFyYmUgYXVmIGVpbmUgZ2VzcHJhZWNoc2dydW5kbGFnZQpiZWdlYmVuIGJlaSBkZXIgbWFuIHNpY2ggZW50d2VkZXIgbnVyIG5vY2ggYmVsZWlkaWd0IG9kZXIgenVyIGdld2FsdCBncmVpZnQuCnppZW1saWNoIGFic3Rvc3NlbmQgZGFzIGdhbnplLCBhYmVyIHNvIHNpbmQgd2lyIGFmZmVuIG51biBtYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR2VodCB2b3JoZXIgYXVmJ3MgS2xvLi4uIChHbG9pbnNvbiwgMTYuIE1haSAyMDA1LCAxNDoxNToyNCk6Cn4jISBybj1PZ28gcnQ9MTExNjE5Mzg3OSByZz13d3cKfiMhIHRpZD0xMTE1Mzk4MzA1CkljaCBzZWggZGEgbnVyIHp3ZWkgVGVlbmFnZXIgKG9kZXIgd2FyIGVzIGVpbmVyPyksIGRpZS9kZXIgc2ljaCBtb2Rlcm5lcgpIaWxmc21pdHRlbCBiZWRpZW50IHVtIHNpY2ggYW0gRXJ3YWNoc2VuZW5zcGllbGVuIHp1IHZlcnN1Y2hlbi4gSW4gc3BhZXRlc3RlbnMKendlaSwgZHJlaSBKYWhyZW4gaXN0IGlobSBkaWVzZXMgVmlkZW8gdG9lZGxpY2ggcGVpbmxpY2guIE51biBzYWcgYmxvc3MsIGR1CmhhZXR0ZXN0IGFscyBhbmdlaGVuZGVyIFB1YmVydGllcmVuZGVyIGtlaW5lbiBhZWhubGljaGVuIEJsb2Vkc2lubiB2ZXJ6YXBmdC4KCk1pciBpc3QgZGFzIFZpZGVvIHZvbiBkZXIgU3RvcEhpcEhvcC1TZWl0ZSBiZWthbm50LCBkaWUgaGllciBqYSBzY2hvbgp2aWVsc2VpdGlnIG1pdCBlaW5lbSBhbmRlcmVuIFRleHQgeml0aWVydCB3dXJkZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpjaGV3YnJvY2NvbGkgKEd3ZW5pbGksIDE4LiBNYWkgMjAwNSwgMjA6MjM6MDEpOgpBdWNoIGF1ZiBkaWUgR2VmYWhyIGhpbiwgZGFzcyBlcyBzY2hvbiBnZXBvc3RldCB3dXJkZSAtCk5vdCBsb25nIGFnbyBpbiBhIHN1cGVybWFya2V0IG5vdCBzbyBmYXQgYXdheS4uLi4KaHR0cDovL3d3dy5zdG9yZXdhcnMub3JnL2ZsYXNoL2luZGV4Lmh0bWwKKEZsYXNoLCBRdWlja3RpbWUgb2RlciBXaW5kb3dzIE1lZGlhIFBsYXllcikKTW9lZ2UgZGVyIFNhZnQgbWl0IEV1Y2ggc2Vpbi4gOykKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsYXVwdW5rdCAoV2FyZ29uLCAxOC4gTWFpIDIwMDUsIDIyOjQ4OjU1KToKaHR0cDovL3d3dy5qb2tld29ybGQuZGUvbWVkaWEvdmlkZW8vYmxhdXB1bmt0Lm1wZwoKQmFlciB1bmQgSGFzZSBzb2xsZW4gdWVicmlnZW5zIGJhbGQgYmVzdGVsbGJhciBzZWluOyBhbGxlcmRpbmdzIHdlaXNzIGljaApuaWNodCBnZW5hdSwgb2IgdWViZXIgZGllIEJsYXVwdW5rdCBJbnRlci0gb2RlciBJbnRyYW5ldHNlaXRlLiA7KQoKIC1XYXJnb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlaHQgdm9yaGVyIGF1ZidzIEtsby4uLiAoT2dvLCAyMC4gTWFpIDIwMDUsIDA0OjE2OjU0KToKfiMhIHJuPU11YWRpYiBydD0xMTE2MjQyMjM1IHJnPXd3dwp+IyEgdGlkPTExMTUzOTgzMDUKQmV2b3IgZHUgdm9yIEZyZXVkZSBpbSBEcmVpZWNrIHNwcmluZ3N0LCBtaXQgZGVtIEZpbmdlciBhdWYgbWljaCB6ZWlnc3QgdW5kCiJQb2xpdGljYWwgaW5jb3JyZWN0bmVzcyIgc2NocmVpc3Q6IEVzIGlzdCB6LmIuIGJvZXNlKCEpIHZvbiBkZXIgZHJpdHRlbiBXZWx0Cnp1IHJlZGVuLCB2b24gZGVyIHNvZ2VuYW5udGVuIGRyaXR0ZW4gV2VsdCB6dSByZWRlbiB3aWVkZXJ1bSBsZWdpdGltLiBJY2gKc2NocmllYiBzb2duLiAiV2hpdGV0cmFzaCIsIHdhcyBmdWVyIGVpbmUgZ2VzZWxsc2NoYWZ0bGljaGUgR3J1cHBlIHN0ZWh0LCBkaWUKbWlyIGFuZGVycyBpbiBkZXIgS3VlcnplIHVubW9lZ2xpY2ggaXN0LCBpbiBXb3J0ZSB6dSBmYXNzZW4uIEVzIGdhYiBlaW5lbgp0b2xsZW4gQXJ0aWtlbCBpbiBkZXIgU3VlZGRldXRzY2hlbiB1ZWJlciAoYWNodHVuZyBCdXp6d29yZHMpClVudGVyc2NoaWNodGVuZmVybnNlaGVuLCBXaGl0ZSBUcmFzaCB1bmQgZGllIERlcG9saXRpc2llcnVuZyBlaW5lcyB3YWNoc2VuZGVuClN1YnByb2xldGFyaWF0LCBsZWlkZXIgZmluZGUgaWNoIGRlbiBBcnRpa2VsIG5pY2h0IGltIEFyY2hpdiBkZXIgU1ogKHVuZCBlcgp3dWVyZGUgZGEgZWggR2VsZCBrb3N0ZW4pLCBlciBtdWVzc3RlIGltIEZlYnJ1YXIgZXJzY2hpZW5lbiBzZWluLiBKZWRlbmZhbGxzCmJlc2NocmllYiBkaWVzZXIgQXJ0aWtlbCBlaW5lIGdlc2VsbHNjaGFmdGxpY2hlIEdydXBwZSwgZGllIG5pY2h0IG51cgpkZXNpbnRpZ3JpZXJ0IGlzdCwgd2VpbCBlcyBhbmRlcmUgd29sbGVuLCBzb25kZXJuIHdlaWwgc2llIHNlbGJzdCBzaWNoIGRhbWl0CmFiZ2VmdW5kZW4gaGF0LiBEYSBkdSBqYSBzbyBiZXdhbmRlcnQgYmlzdCwgd2FzIGRpZSBLb25vdGF0aW9uZW4gYmV0cmlmZnQsCmJpdHRlIGljaCBkaWNoLCBkaXIgZm9sZ2VuZGVzIHp1IEdlbXVldGUgenUgZnVlaHJlbjoKaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9XaGl0ZV90cmFzaCB1bmQgZGVpbiBBdWdlbm1lcmsgYXVmIGRhcyBFbmRlIGRlcwp2b3JsZXR6dGVuIEFic2F0emVzIHp1IHJpY2h0ZW4sIGRlbiBpY2ggYXVjaCBub2NoIGhpZXIgeml0aWVyZW4gd2lsbDoKIkFuZGVyZSBEZXV0dW5nZW4gZ2VoZW4gZGF2b24gYXVzLCBkYXdpbGw6IGRlciBCZWdyaWZmIHdlbmlnZXIgcmFzc2lzdGlzY2gKbW90aXZpZXJ0IHNlaSwgc29uZGVybiBhdWYgYmVzdGltbXRlIFZlcmhhbHRlbnN3ZWlzZW4gKHouQi4gZWluZW4gYmVzdGltbXRlbgpMZWJlbnNzdGlsKSBhYnppZWx0LiBEaWVzIGlzdCBkZW4gVVNBIGplZG9jaCBUaGVtYSBlaW5lciBhbmhhbHRlbmRlbgpEaXNrdXNzaW9uLiIKCk9nbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR2VodCB2b3JoZXIgYXVmJ3MgS2xvLi4uIChab29rLCAyMC4gTWFpIDIwMDUsIDEwOjI0OjUzKToKfiMhIHJuPU9nbyBydD0xMTE2NTU1NDE0IHJnPXd3dwp+IyEgdGlkPTExMTUzOTgzMDUKQXVjaCBkaWUgRkFaIGhhdHRlIGVpbmVuIGludGVyZXNzYW50ZW4gQXJ0aWtlbCB6dSBVbnRlcnNjaGljaHRzZmVybnNlaGVuOwppY2ggbWVpbmUgZGVyIEJlZ3JpZmYgd2FlcmUgdm9uIEhhcmFsZCBTY2htaWR0IHVlYmVyIHNlaW5lIGZydWVoZXJlbgpBcmJlaXRnZWJlciBlaW5nZWJyYWNodCB3b3JkZW4sIG9kZXI/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhcndhcnMgb3AgS29lbHNjaCAoQW1hcnlsbGlzLCAyMC4gTWFpIDIwMDUsIDE1OjI4OjAwKToKaHR0cDovL3d3dy5pbWkubXluZXRjb2xvZ25lLmRlL3RlbXAvc3RhcndhcnMud212CgpBbWEqIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZWh0IHZvcmhlciBhdWYncyBLbG8uLi4gKE11YWRpYiwgMjMuIE1haSAyMDA1LCAxOTozMTo1OCk6Cn4jISBybj1PZ28gcnQ9MTExNjU1NTQxNCByZz13d3cKfiMhIHRpZD0xMTE1Mzk4MzA1CmljaCBoYWJlIG5pY2h0IG1pdCBkZW0gZmluZ2VyIGdlemVpZ3QsIGFiZXIgd2VubiBkdSBkaWNoIG1pc3NoYW5kZWx0IHdvaGxlcgpmdWVobHN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsdXN0aWdlIHRleHRlIChQdWssIDI4LiBNYWkgMjAwNSwgMTM6Mjk6MjcpOgpodHRwOi8vd3d3LnNjaG5laWRlci1hbmRyZS5uZXQvbHVzdGlnZS10ZXh0ZS0wMDEucGhwCgp2aWVsIHNwYXNzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMT0wgKE1vcmdvdGgsIDMxLiBNYWkgMjAwNSwgMTc6MjU6MDApOgpodHRwOi8vZ29yZS5zb29sYm94LmNvbS9vd25lZC9tb25rZXlfcHduZWQuanBnCmh0dHA6Ly93d3cucHV0ZmlsZS5jb20vbWVkaWEucGhwP249ZjFnaHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMT0wgKENhbGRyaW4sICAxLiBKdW4gMjAwNSwgMTI6MzI6MTIpOgp+IyEgcm49TW9yZ290aCBydD0xMTE3NTUzMTAwIHJnPXd3dwp+IyEgdGlkPTExMTc1NTMxMDAKS29lbm50ZXN0IGR1IGRlbiBXaXR6IG1hbCBiaXR0ZSBlcmtsYWVyZW4/IEljaCBmaW5kZSBpaG4gbmFlbWxpY2ggbmljaHQuIE11c3MKbWFuIGRhcyBWaWRlbyBhdXMgZGVtIHp3ZWl0ZW4gTGluayBnZXNlaGVuIGhhYmVuIChXaW5kb3dzIE1lZGlhIG5peCBMaW51eCkgdW0KZGVuIGVyc3RlbiBMaW5rIGx1c3RpZyB6dSBmaW5kZW4/CnNvIGxvbmcKQ2FsZHJpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGllIGxpZWJlbiBBbWlzIHVuZCB3YXJ1bSB3aXIgYWxsZSBnYWFhYW56IGRvbGwgYmVnZWlzdGVydCB2b24gaWhuZW4gc2luZCAoS2VsbHlidW5keSwgIDQuIEp1biAyMDA1LCAxNzo0MDo1MCk6Cmh0dHA6Ly93d3cubmFjaHJpY2h0ZW4uY2gva29sdW1uZS8yMDc1MzIuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2VXYXJzIGdlaHQgaW4gZWluZSBuZXVlIFJ1bmRlISEhIChLZWxseWJ1bmR5LCAgNC4gSnVuIDIwMDUsIDE5OjIwOjIyKToKV2llIElociB3b2hsIGFsbGUgbWl0YmVrb21tZW4gaGFidCwgc2luZCBlaW5pZ2Ugdm9uIHVucyBnYW56IGhlaXNzIGF1ZiBkYXMKTU1PUkcgSWNlIFdhcnMgKGh0dHA6Ly93d3cuaWNld2Fycy5kZSkKV2lyIGhhYmVuIGVpbmUgZXhjbHVzaXZlIEFsbGlhbnogZ2VncnVlbmRldCwgaW4gZGVyIGVzIChmYXN0KSBudXIKTW9yZ2VuZ3JhdWxlciBnaWJ0LiBXZXIgbWl0bWFjaGVuIHdpbGwsIGlzdCBoZXJ6bGljaCBlaW5nZWxhZGVuLiBXYXJ1bSBpY2ggZGFzCmpldHp0IHNjaHJlaWJlPwoKV2VpbCBkZXIgU2VydmVyIGdyYWQgcmVib290ZXQgd2lyZCB1bmQgZWluZSBuZXVlIFJ1bmRlIGJlZ2lubnQhISEKCkRhcyBpc3QgZ2VuYXUgd2llIGJlaW0gTXVkcmVib290LCBtYW4ga2FubiBhbHNvIHZvbiBhbmZhbmcgYW4gbWl0bWlzY2hlbiB1bmQKaXN0IGRhbm4gc3BhZXRlciBiZWkgZGVuIEdyb3NzZW4gbWl0IGRhYmVpIDstKQoKRnVlciBkaWUsIGRpZSBlcyBub2NoIF9uaWNodF8gbWl0YmVrb21tZW4gaGFiZW4gc29sbHRlbiwgaGFiZW4gd2lyIHNvZ2FyIGVpbmUKaWNld2Fycy1lYmVuZSBoaWVyIGltIE11ZCBkaWUgaGVpc3N0ICp0dXNjaCogLWljZXdhcnMgKGVyc3RhdW5saWNoLCBuaWNodAp3YWhyPykKCktvbW10IGFsbGUgenUgSGF1ZiB1bmQgZGFubiBtYWNoZW4gd2lyIGRhcyBnYW56ZSBVbml2ZXJzdW0gcGxhdHQhIDstKQoKS2VsbHlCdW5keSwgQUtBIFJhaWx1ciAoaW5nYW1lKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljZVdhcnMgZ2VodCBpbiBlaW5lIG5ldWUgUnVuZGUhISEgKEh1bW5pLCAgNC4gSnVuIDIwMDUsIDE5OjI1OjIyKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTExNzkwNTYyMiByZz13d3cKfiMhIHRpZD0xMTE3OTA1NjIyClZlcmdpc3MgbmljaHQsIGRhcyB3aWNodGlnc3RlIGJlaW0gQW5tZWxkZW4genUgZXJ3YWVobmVuOgoKVW5zZXJlIEFsbGlhbnogc2l0enQgaW4gR2FsYXhpZSAyIDstKQoKV2VyIGFsc28gYmVpIHVucyBtaXRtaXNjaGVuIHdpbGwgc29sbHRlIHNpY2ggYXVjaCBkYSBhbm1lbGRlbi4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEljZVdhcnMgZ2VodCBpbiBlaW5lIG5ldWUgUnVuZGUhISEgKEtlbGx5YnVuZHksICA0LiBKdW4gMjAwNSwgMTk6MjY6MzIpOgp+IyEgcm49SHVtbmkgcnQ9MTExNzkwNTkyMiByZz13d3cKfiMhIHRpZD0xMTE3OTA1NjIyCkFzY2hlIGF1ZiBtZWluIEhhdXB0ISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3d3cgKEtlbGx5YnVuZHksICA0LiBKdW4gMjAwNSwgMjA6NTA6NTUpOgpodHRwOi8vd3d3LmtvdHp0dWV0ZW4tbXVzZXVtLmRlCmxvb2sKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpdHplIChLZWxseWJ1bmR5LCAgNC4gSnVuIDIwMDUsIDIxOjMyOjI0KToKRGVsZXRlIEVhcnRoCgpLYW5uIG1hbiBkaWUgRXJkZSBtaXQgZWluZW0gQ29tcHV0ZXIgemVyc3RvZXJlbj8KSmEsCjEuRmluZGUgZGllIFVSTCB2b24gR290dCAodmVyc3VjaGUgZ29kLm9yZywgZ29kLm5ldCwgdmllbGxlaWNodCBnb2QuY29tLCBhYmVyCjtuaWNodCBpc2xhbS5jb20gb2RlciB2YXRpY2FuLm5ldCkuCjIuS25hY2tlIGRhcyBQYXNzd29ydCAodmVyc3VjaGUgSmVzdXMsIEFkYW0sIE1vc2VzLCBNYXJpYSwgb2RlciB2aWVsbGVpY2h0CjtTYXRhbikKMy5JbnN0YWxsaWVyZSBmb2xnZW5kZXMgU2NyaXB0LVByb2dyYW1tLiBWZXJnaXNzIG5pY2h0IERlaW5lbiBOYW1lbgplaW56dWZ1ZWdlbjoKCkRFTEVURSBQYXJhZGlzZTpcKi5tZW4KTU9WRSBBbm5hIE5pY29sZSBTbWl0aCBUTyBQYXJhZGlzZToKTU9WRSBQYW1lbGEgQW5kZXJzb24gVE8gUGFyYWRpc2U6Ck1PVkUgSWhyTmFtZSBUTyBQYXJhZGlzZToKRk9STUFUIEVhcnRoOi9VCklOU1RBTEwgT2NlYW4KSU5TVEFMTCBDb250aW5lbnQKSU5TVEFMTCBCYWN0ZXJpYQpJTlNUQUxMIFBsYW50cwpJTlNUQUxMIEluc2VjdApJTlNUQUxMIEZpc2gKSU5TVEFMTCBEaW5vc2F1cgpLZWluZSBBaG51bmcsIG9iIGRlciBuYWVjaHN0ZSBTY2hyaXR0IGZ1bmt0aW9uaWVydCAod2FocnNjaGVpbmxpY2ggYmVub2V0aWd0Cm1hbjs7bm9jaG1hbHMgZWluIFN1cGVydmlzb3ItUGFzc3dvcnQsIGFiZXIgd2VyIHdlaXNzPyk6CgpSRU5BTUUgSWhyIE5hbWUgVE8gR29kLkdvZAoKRmFsbHMgRHUgbmljaHQgZGllIEVyZGUgemVyc3RvZXJlbiBtb2VjaHRlc3Q6ClVOREVMRVRFIEVpbnN0ZWluLm1hbgpSRU5BTUUgQmlsbEdhdGUuZ29kIFRPIEJpbGxHYXRlLm1hbgpSRU5BTUUgTWljaGFlbF9KYWNrc29uLndvbSBUTyBNaWNoYWVsX0phY2tzb24ubWFuCkVESVQgU3VucmlzZS5pbmkKREVMRVRFICoubmF6aQpDT1BZIEVhcnRoOlxBZnJpY2FcS2VueWFcTGlvbnMuYW5tIFRPIEVhcnRoOlxBcm1lcmljYVxVc2FcTmV3X3lvcmtcIAoKCktlbGx5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNlV2FycyBnZWh0IGluIGVpbmUgbmV1ZSBSdW5kZSEhISAoRW5zb2YsICA1LiBKdW4gMjAwNSwgMTg6MTM6NTYpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTE3OTA1NjIyIHJnPXd3dwp+IyEgdGlkPTExMTc5MDU2MjIKemVpZyBtaXIgbmUgbW9lZ2xpY2hrZWl0LCBkYSB3aW5kb3dzZnJlaSB6dSBzcGllbGVuLCBkYW5uIGRlbmsgaWNoIGRydWViZXIKbmFjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNlV2FycyBnZWh0IGluIGVpbmUgbmV1ZSBSdW5kZSEhISAoVGFyYW5pcywgIDUuIEp1biAyMDA1LCAxODoxNDoyOCk6Cn4jISBybj1FbnNvZiBydD0xMTE3OTg4MDM2IHJnPXd3dwp+IyEgdGlkPTExMTc5MDU2MjIKS2VpbiBQcm9ibGVtIG1pdCBNb3ppbGxhIEZpcmVmb3guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2VXYXJzIGdlaHQgaW4gZWluZSBuZXVlIFJ1bmRlISEhIChIdW1uaSwgIDUuIEp1biAyMDA1LCAxOToyOToyMSk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMTc5ODgwNjggcmc9d3d3Cn4jISB0aWQ9MTExNzkwNTYyMgpIbW0/IEljaCBuZWhtIG5lbiBLb25xdWVyb3IsIGljaCBoYWIgZ2FyIGtlaW5lIFByb2JsZW1lLi4uIHdvbWl0IHZlcnN1Y2hzdCBEdQpkYXMgZGVubj8KCkh1bW5pIChpbiBtZWdhc2NobWFycm4tVHJhZGl0aW9uIGF1ZiBkZW4gbGV0enRlbiBBcnRpa2VsIGFudHdvcnRlbmQsIGFiZXIKRW5zb2YgbWVpbmVuZCkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWNlV2FycyBnZWh0IGluIGVpbmUgbmV1ZSBSdW5kZSEhISAoS2VsbHlidW5keSwgIDUuIEp1biAyMDA1LCAyMDowMjowNik6Cn4jISBybj1FbnNvZiBydD0xMTE3OTg4MDM2IHJnPXd3dwp+IyEgdGlkPTExMTc5MDU2MjIKQnJhdWNoc3QgbnVyIG5lbiBicmF1c2VyLiBnZWh0IHVudGVyIGFsbGVtIHdhcyBpbnRlcm5ldHNlaXRlbiBhdWZydWZlbiBrYW5uLgp3byBpcyBkYXMgcHJvYj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljZVdhcnMgZ2VodCBpbiBlaW5lIG5ldWUgUnVuZGUhISEgKEVuc29mLCAgNS4gSnVuIDIwMDUsIDIxOjE4OjM3KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTExNzk4ODA2OCByZz13d3cKfiMhIHRpZD0xMTE3OTA1NjIyCm9oLCBpbnRlcmVzc2FudC4gYWJlciB2ZXJtdXRsaWNoIGJsb2NrdCBkZXIgcHJveHkgZGFzIG1hbCB3aWVkZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FobGthbXBmIChHcmltbWJvcm4sICA2LiBKdW4gMjAwNSwgMTA6NDE6MzIpOgpEZW1uYWVjaHN0IHNvbGwgamEgbWFsIHdpZWRlciBlaW5lIE11bmRlc3RhZ3N3YWhsIGFuc3RlaGVuLiBGdWVyIGRpZSwgZGllIHZvbgpkZW4gZXRhYmxpZXJ0ZW4gUGFydGVpZW4gZGllIE5hc2Ugdm9sbCBoYWJlbiB1bmQgZmluZGVuLCBkYXNzIGVuZGxpY2ggbWFsCmV0d2FzIFJlZGxpY2hrZWl0IGluIGRlciBQb2xpdGlrIGFuZ2VicmFjaHQgd2FlcmUsIGVtcGZpZWhsdCBzaWNoIHZpZWxsZWljaHQKZWluIEJsaWNrIGhpZXJoaW46Cmh0dHA6Ly9wZW9wbGUuZnJlZW5ldC5kZS9ycGQvCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyZWNrIGZ1ZXIgU1VXIChCYW1idWxrbywgMTQuIEp1biAyMDA1LCAxNToyMjowNCk6CkpldHp0IGthbm4gbWFuIHNjaG9uIERyZWNrIGZ1ZXIgc2VpbmVuIFNVVyBrYXVmZW46CgpodHRwOi8vdGlueXVybC5jb20vZHhweXQKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHJlY2sgZnVlciBTVVcgKEJhbWJ1bGtvLCAxNC4gSnVuIDIwMDUsIDE1OjIyOjQyKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMTg3NTUzMjQgcmc9d3d3Cn4jISB0aWQ9MTExODc1NTMyNApJY2ggbWVpbmUgbmF0dWVybGljaCBTVVYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lciBnZXdpbm50IGltbWVyIChWaW5jZW50LCAxNC4gSnVuIDIwMDUsIDE2OjQwOjI2KToKRWluZSBGaXJtYSwgZGllIGluIGVpbnNjaGxhZWdpZ2VuIEtyZWlzZW4gZnVlciBpaHJlIGJhdWVybmZhZW5nZXJhcnRpZ2VuCk1ldGhvZGVuIGJla2FubnQgaXN0LCBpc3QgaGllciBhbiBlaW5lbiBNYW5uIGdlcmF0ZW4sIGRlciBlcyB2ZXJzdGVodCwgc2ljaAplcmZvbGdyZWljaCB2ZXJiYWwgenUgd2VocmVuLiBVbnRlbnN0ZWhlbmRlIFVSTCBlbnRoYWVsdCBkZW4KU2NocmlmdHZlcmtlaHIsIHZvciBhbGxlbSBzZWluZSBBbnR3b3J0ZW4gc2luZCBsZXNlbnN3ZXJ0LgoKaHR0cDovL3d3dy5oZW5yeWstYnJvZGVyLmRlL3RhZ2VidWNoL3dpbndpbi5odG1sCgpWaWVsIFNwYXNzIGJlaW0gTGVzZW4gdW5kIFNjaG11bnplbG4KICAgVmluY2VudAoKUC5TLjogRXJzdCBpbSBWZXJsYXVmIGRlcyBTY2hyaWZ0dmVya2VocnMgd3VyZGUgZGVyIEZpcm1hIHdvaGwgYmV3dXNzdCwgZGFzcwpzaWUgZGEgYW4gZWluZW4gQXV0b3IgZ2VyYXRlbiBpc3QsIGRlciB1LmEuIGZ1ZXIgZGVuIFNwaWVnZWwgc2NocmVpYnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW5lciBnZXdpbm50IGltbWVyIChHcmltbWJvcm4sIDE0LiBKdW4gMjAwNSwgMTY6NTE6NTYpOgp+IyEgcm49VmluY2VudCBydD0xMTE4NzYwMDI2IHJnPXd3dwp+IyEgdGlkPTExMTg3NjAwMjYKSmEsIHNvIHVuZ2VmYWVociBoYXR0ZSBpY2ggbWl0IGRpZSBuaWNodGpvdXJuYWxpc3Rpc2NoZW4gVW1nYW5nc2Zvcm1lbiBkZXMKSGVycm4gQnJvZGVyIHZvcmdlc3RlbGx0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbmVyIGdld2lubnQgaW1tZXIgKEdsb2luc29uLCAxNC4gSnVuIDIwMDUsIDE2OjUzOjQwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTE4NzYwNzE2IHJnPXd3dwp+IyEgdGlkPTExMTg3NjAwMjYKTWVpbmUgTXV0dGVyIHZlcmZhc3N0IHNvbGNoZSBCcmllZmUgc3VidGlsZXIuIFZpZWxsZWljaHQgc29sbHRlIGljaCBzaWUgbWFsCnVlYmVycmVkZW4gYmVpbSBTcGllZ2VsIHZvcnN0ZWxsaWcgenUgd2VyZGVuPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRWluZXIgZ2V3aW5udCBpbW1lciAoWm9vaywgMTQuIEp1biAyMDA1LCAxNjo1NDozOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExODc2MDcxNiByZz13d3cKfiMhIHRpZD0xMTE4NzYwMDI2CkFPTCwgWk9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRlbGVmb253ZXJidW5nIG5lcnZ0PyAoUmVxdWllbSwgMTQuIEp1biAyMDA1LCAxODo0Mzo0NSk6Ck1hbCB3aWVkZXIgbmVydmlnZW4gVGVsZWZvbndlcmJlciBpbiBkZXIgTGVpdHVuZz8KLS0+IGhpZXIuCgpodHRwOi8vb2RlbS5vcmcvcHJpdmFjeS9jb3VudGVyc2NyaXB0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRWluZXIgZ2V3aW5udCBpbW1lciAoV3VyemVsLCAxNS4gSnVuIDIwMDUsIDA5OjQ5OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTExODc2MDg3OCByZz13d3cKfiMhIHRpZD0xMTE4NzYwMDI2CmljaCB3ZWlzcyBnYXIgbmljaHQsIHdhcyBpaHIgaGFidC4gZGllIGF1c2RydWNrc3dlaXNlIHdhciB6d2FyIG5pY2h0IHNlaHIKbmV0dCwgYWJlciBtZWluZXIgbWVpbnVuZyBuYWNoIGRlciBzaXR1YXRpb24gZHVyY2hhdXMgYW5nZW1lc3Nlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEVpbmVyIGdld2lubnQgaW1tZXIgKEdyaW1tYm9ybiwgMTUuIEp1biAyMDA1LCAwOTo1Mjo1MCk6Cn4jISBybj1XdXJ6ZWwgcnQ9MTExODgyMTc0NCByZz13d3cKfiMhIHRpZD0xMTE4NzYwMDI2CkRlciBUb24gbWFjaHQgZGllIE11c2lrLiBVbmQgZmFla2FsZSBCZXNjaGltcGZ1bmdlbiAtIHdpZSBhbmdlbWVzc2VuIGF1Y2gKaW1tZXIgLSB3ZXJmZW4gbGV0enRsaWNoIGF1ZiBkZW4gVmVyd2VuZGVyIGtlaW4gc29uZGVybGljaCBzY2hvZW5lcyBMaWNodC4gRGVyCmVpbnppZ2UgTGljaHRibGljayB3YXIgZGllIER1ZWxsZm9yZGVydW5nLCBpbiBkZW0gU3RpbCB3YWVyZSBkYXMgd2VzZW50bGljaApzb3V2ZXJhZW5lciBnZXdlc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLaW5kZXJzZWdlbiA6KSAoTW9yZ290aCwgMTUuIEp1biAyMDA1LCAxMzozMDowNyk6Cmh0dHA6Ly93d3cucHVyZWVzb2lyZWUuYmUvcG9zdC5kbz9pZD05NDA5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW5lciBnZXdpbm50IGltbWVyIChCYW1iaSwgMTYuIEp1biAyMDA1LCAyMTo1OTowMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExODgyMTk3MCByZz13d3cKfiMhIHRpZD0xMTE4NzYwMDI2CkRlciBNYW5uIHNjaHJlaWJ0IGZ1ZXIgZGVuIFNwaWVnZWw/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVpbmVyIGdld2lubnQgaW1tZXIgKEdyaW1tYm9ybiwgMTYuIEp1biAyMDA1LCAyMjowNDowOCk6Cn4jISBybj1CYW1iaSBydD0xMTE4OTUxOTQwIHJnPXd3dwp+IyEgdGlkPTExMTg3NjAwMjYKV2FzIHNvbGwgZGllIEZyYWdlLCBzb2xsIGljaCBlY2h0IGVpbmVuIEFydGlrZWwgbGVkaWdsaWNoIGF1cyBqZSBlaW5tYWwgZGVtCkJ1Y2hzdGFiZW4gIkoiIHVuZCBkZW0gQnVjaHN0YWJlbiAiYSIgc2NocmVpYmVuPyBQbHVzIGRlbSBQdW5rdCBkYWhpbnRlciwKbmF0dWVybGljaC4gSXN0IGRvY2ggbGFlY2hlcmxpY2gsIHNvIG1pbmltYWxlIEFydGlrZWwgenUgcHJvdm96aWVyZW4gKHVuZCB6dQpzY2hyZWliZW4pLiBEYSBtYWNoIGljaCBuaWNodCBtaXQuCgpHZEFbZXgtUl0gT0hkTXVCZEUgIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpbCBnZWlsIDopIChNb3Jnb3RoLCAxNy4gSnVuIDIwMDUsIDEwOjU1OjU4KToKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNjA3MjMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlsIGdlaWwgOikgKEdyaW1tYm9ybiwgMTcuIEp1biAyMDA1LCAxMDo1NzowOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTg5OTg1NTggcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApXYXJ0ZW4gd2lyIGFsc28gZ2VzcGFubnQgYXVmIHd3dy5haXJwb3J0bmFrZWR4eHguY29tLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlaWwgZ2VpbCA6KSAoUGl0ZmFsbCwgMTcuIEp1biAyMDA1LCAxMDo1Nzo0MCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExODk5ODYyOCByZz13d3cKfiMhIHRpZD0xMTE4OTk4NTU4CkRhbm4gd2FydGUgbWFsIGdlc3Bhbm50IEdyaW1tYm9ybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlsIGdlaWwgOikgKENhdHdlYXpsZSwgMTcuIEp1biAyMDA1LCAxMDo1OToxOCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTg5OTg1NTggcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApJY2ggd2Vpc3MgbmljaHQsIG9iIGljaHMgc2Nob24gbWFsIGVyd2FlaG50IGhhYmUsIGFiZXIgZGllIEFtaXMgaGFiZW4gZWluZW4KS25hbGwgOi0pCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlsIGdlaWwgOikgKFd1cnplbCwgMTcuIEp1biAyMDA1LCAxMToxMzoyNSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTg5OTg1NTggcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApkaWUga29lbm5lbiBtYWNoZW4gd2FzIHNpZSB3b2xsZW4sIGRhZHVyY2ggd2lyZCBlaW5lIHJlaXNlIGRhaGluIGZ1ZXIgbWljaAprZWluIHN0dWVjayBhdHRyYWt0aXZlci4KZGllIHNwaW5uZW4sIGRpZSBhbWlzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlaWwgZ2VpbCA6KSAoUmVxdWllbSwgMTcuIEp1biAyMDA1LCAxMToyMDo0OSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTg5OTg1NTggcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApOYWNoIGVpbmVtIFRyYW5zYXRsYW50aWtmbHVnIHZpZWxsZWljaHQgZWluZSBlaGVyIGxhZWNoZXJsaWNoZSBGcmFnZSwgYWJlciB3aWUKc2llaHQgZXMgZGVubiBiZWkgZGVyIE1ldGhvZGUgbWl0IGRlciBTdHJhaGxlbmJlbGFzdHVuZyBkZXMgS29lcnBlcnMgYXVzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWlsIGdlaWwgOikgKE9ya3RvZXRlciwgMTcuIEp1biAyMDA1LCAyMDozMjowMyk6Cn4jISBybj1SZXF1aWVtIHJ0PTExMTkwMDAwNDkgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApHZWggYml0dGUhCldlciB3aXJkIGRlbm4gc28ga2V0emVyaXNjaGUgRnJhZ2VuIHN0ZWxsZW4/CkRhcyBkaWVudCBkb2NoIGRlbSAiS2FtcGYgZ2VnZW4gZGVuIFRlcnJvciIhIFdpbGxzdCBkdSBkaWNoIGV0d2EgZGFnZWdlbgpzdGVsbGVuPyBCaXN0IHdvaGwgZ2FyIGVpbiBUZXJyb3Jpc3Q/IERlbm4gbWVya3I6IFdlciBuaWNodCBmdWVyIHVucyBpc3QsIGlzdApnZWdlbiB1bnMhCgpBZXJnZXJsaWNoIG51ciwgZGFzcyBkaWUgQW1pcyBkZXJ6ZWl0IGRpZSBlaW56aWdlIFN1cGVybWFjaHQgc2luZCB1bmQgZGllCkV1cm9wYWVlciBhbGxlcyBhbnN0ZWxsZW4sIGRhc3MgZXMgYXVjaCBzbyBibGVpYnQuCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpbCBnZWlsIDopIChSYW5nb3JuLCAxOC4gSnVuIDIwMDUsIDAwOjUyOjMwKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTE5MDMzMTIzIHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKQWJlciBpbnRlcmVzc2FudCBpc3QgZG9jaCwgb2IgbWFuIG1pdCBkZXIgVGVjaG5payBhdWNoIFRhdHRvb3MgKHdhaGx3ZWlzZSBhdWNoCmRpZSB2b24gaGVubmEpIGVya2VubmVuIGthbm4uIERhbm4gd2lyZCBkYXMgZ2FuemUgbmFlbWxpY2ggc2Nob24gd2llZGVyCmludGVyZXNzYW50ID46XQoKLSBSYW5nb3JuIEtodXInVGlncmVzIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlaWwgZ2VpbCA6KSAoR2FieWxvbiwgMTguIEp1biAyMDA1LCAxMjoyNToxOSk6Cn4jISBybj1SYW5nb3JuIHJ0PTExMTkwNDg3NTAgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApnZW5hdS4Kd2VubiBkYXMgc2Nod2VkaXNjaGUgYmlraW5pLXRlYW0gaW4gY2FsaWZvbmllbiBsYW5kZXQgdW5kIGVpbmUgbmFjaCBkZXIKYW5kZXJlbiBkdXJjaCBkZW4gdG9sbGVuIHNjYW5uZXIgbXVzcywgaXN0IGRhcyBhYnNvbHV0IGVpbnppZ2UsIHdvcmF1ZgppY2ggYWNodGVuIHd1ZXJkZSBkaWUgdGF0dG9vcywgZGllIHNpZSBldnRsLiBhdWYgZGVyIGhhdXQgdHJhZ2VuLgphdWYgZGllIG1pdCBoZW5uYSBnYW56IGJlc29uZGVycyBuYXR1ZXJsaWNoLgoKZ2FiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWlsIGdlaWwgOikgKEdyaW1tYm9ybiwgMTguIEp1biAyMDA1LCAxMjoyNjoxNSk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMTkwOTAzMTkgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApPaCwgRHUgc3RyZWJzdCBlaW5lbiBKb2IgaW4gZGVyIEZsdWdoYWZlbnNpY2hlcnVuZyBpbiBDYWxpZm9ybmllbiBhbj8gCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdlaWwgZ2VpbCA6KSAoR2FieWxvbiwgMTguIEp1biAyMDA1LCAxMjoyOToxOSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTExOTA5MDM3NSByZz13d3cKfiMhIHRpZD0xMTE4OTk4NTU4CmlzdCBuaWNodCBkYXMgc2NobGVjaHRlc3RlLgphYmVyIG51ciBtaXQgZ2FyYW50aWVydGVuIGxhbmR1bmdlbiB2b24gMTIgdm9sbGV5YmFsbC1mcmF1ZW4tdGVhbXMKcHJvIHNhaXNvbi4KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2VpbCBnZWlsIDopIChHbG9pbnNvbiwgMTguIEp1biAyMDA1LCAxMzozOToxNCk6Cn4jISBybj1HYWJ5bG9uIHJ0PTExMTkwOTA1NTkgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApWaWVsbGVpY2h0IHdhcyBuYWhlbGllZ2VuZGVyZXMgbWl0IGFlaG5saWNoZW0gUG90ZW50aWFsOiBGb3RvZ3JhZiBmdWVyIFF1YWxsZQpldC4gYWwuIERhIGhhc3QgZHUgZGFubiBzaWNoZXIgZ2VuYXVzbyB2aWVsIFplaXQgZGllIE1vZGVscyB6dSBiZXRyYWNodGVuIHdpZQplaW4gU2ljaGVyaGVpdHNtYW5uIGFtIFNjYW5uZXIuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpbCBnZWlsIDopIChab29rLCAxOC4gSnVuIDIwMDUsIDE2OjQwOjI1KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTE5MDMzMTIzIHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKV2FzIGdlbmF1IHNvbGx0ZW4gb2RlciBrb2VubnRlbiBkaWUgRXVyb3BhZXIgZGVubiB0dW4sIGRhc3Mgc2ljaCBkYXMgCmFlbmRlcnQ/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2VpbCBnZWlsIDopIChPcmt0b2V0ZXIsIDE4LiBKdW4gMjAwNSwgMTg6MDU6NTApOgp+IyEgcm49Wm9vayBydD0xMTE5MTA1NjI1IHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKV2llIHdhZXJlIGVzIGRlbm4gbWl0IDEuIFdpcmtsaWNoIGVpbiB2ZXJlaW50ZXMgRXVyb3BhIHdlcmRlbj8KCklzdCBzaWNoZXIgbmljaHQgbGVpY2h0IHp1IHZlcndpcmtsaWNoZW4sIHdpZSBzaWNoIGphIGdlcmFkZSBha3R1ZWxsIHplaWd0LgpWb3IgYWxsZW0gc29sbHRlIGVpbmUgVmVyZmFzc3VuZyBmdWVyIEV1cm9wYSBrZWluZW0gU3RhYXQgZWluIFZldG9yZWNodAplaW5yYWV1bWVuLiBTZWxic3Qgd2VubiBzbyBlaW4gVmV0b3JlY2h0IG51ciBmdWVyIGVpbmlnZSB3ZW5pZ2Ugc3BlemllbGxlCkZhZWxsZSBnZWx0ZW4gc29sbHRlLCB3aXJkIHNpY2ggZnJ1ZWhlciBvZGVyIHNwYWV0ZXIgZWluIEZhbGwgZXJnZWJlbiwgd28gc2ljaAplaWdlbnRsaWNoIGFsbGUgZWluaWcgc2luZCwgZGFzcyBlaW5lIGJlc3RpbW10ZSBFbnRzY2hlaWR1bmcgenUgdHJlZmZlbiBpc3QKdW5kIHRyb3R6ZGVtIGRlciBTdGFhdCBYIGRhbWl0IGRyb2h0IHNlaW4gVmV0byBlaW56dWxlZ2VuLCB3ZW5uIGlobSBuaWNodCBpbgplaW5lciBhbmRlcmVuIFNhY2hlIGVudGdlZ2VuIGdla29tbWVuIHdpcmQsIGRhaGVyOiBLZWluZXJsZWkgVmV0b3JlY2h0ISBEYXMKd2lyZCB1bSBzbyB3aWNodGlnZXIsIGplIG1laHIgU3RhYXRlbiBkYWJlaSBzaW5kLiBVbSBkaWUgSW50ZXJlc3NlbiBnZXJhZGUgZGVyCmtsZWluZXJlbiBTdGFhdGVuIHp1IHNjaHVldHplbiwgc29sbHRlIGplZGVyIFN0YWF0IGRhcyBSZWNodCBoYWJlbgpFbnRzY2hlaWR1bmdlbiB6dSB3aWNodGlnZW4gRW50c2NoZWlkdW5nZW4genUgZXJrbGFlcmVuLCB3YXMgYmV3aXJrdCBkYXMgZnVlcgpkaWVzZSBFbnRzY2hlaWR1bmdlbiBlaW5lIHouQi4gMi8zLU1laHJoZWl0IG5vdHdlbmRpZyB3aXJkIChlcyBzb2xsdGUgZWluClZlcmZhaHJlbiBnZWJlbiBkYXMgbmljaHQgZWluemVsbmUgU3RhYXRlbiBqZWRlIEVudHNjaGVpZHVuZyB6dSBlaW5lcgp3aWNodGlnZW4gRW50c2NoZWlkdW5nIG1hY2hlbiB1bSBkYW1pdCBEcnVjayBhdWYgZGllIGFuZGVyZW4gYXVzdWViZW4genUKa29lbm5lbikuIAoKMi4gRGllIGVpbnplbG5lbiBFdXJvcGFlaXNjaGVuIFN0YWF0ZW4gbXVlc3NlbiBkZXIgRVUgbWVociByZWNodGUgZWlucmFldW1lbi4KKGdlbWVpbnNhbWUgQXVzc2VucG9saXRpaywgZ2VtZWluc2FtZSBWZXJ0ZWlkaWd1bmcgZXRjLikKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWlsIGdlaWwgOikgKEdsb2luc29uLCAxOC4gSnVuIDIwMDUsIDE4OjE1OjE0KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTE5MTEwNzUwIHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKVW5kIHdpZSB3aXJkIGRhcyBkYW5uIGJlc3NlcmUgUm9lbnRnZW5nZXJhZXRlIGluIHNpY2hlcmhlaXRza3JpdGlzY2hlbgpCZXJlaWNoZW4gdmVyaGluZGVybj8gTWlyIGlzdCBvaG5laGluIHVua2xhciB3YXMgZGFzIG1pdCBkZW4gVVNBIHNwZXppZWxsIHp1CnR1biBoYXQsIHNvYmFsZCB2ZXJmdWVnYmFyIHdlcmRlbiBhdWNoIGV1cm9wYWVpc2NoZSBGbHVnbGluaWVuIHNvbGNoZSBHZXJhZXRlCmVyd2VyYmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdlaWwgZ2VpbCA6KSAoWm9vaywgMTguIEp1biAyMDA1LCAxODoyNjozMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTExOTExMDc1MCByZz13d3cKfiMhIHRpZD0xMTE4OTk4NTU4CldpZSBnZW5hdSB3aXJkIGRlbm4gYXVzIDEuIGRpZSBVU0EgYWxzIFN1cGVybWFjaHQgYWJnZWxvZXN0PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2VpbCBnZWlsIDopIChHbG9pbnNvbiwgMTguIEp1biAyMDA1LCAxODoyNzoyNik6Cn4jISBybj1ab29rIHJ0PTExMTkxMTE5OTIgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OApFaW5lIERpa3RhdHVyIG11c3Mgd2llZGVyIGhlciEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZWlsIGdlaWwgOikgKE1vcmdvdGgsIDE4LiBKdW4gMjAwNSwgMTk6MDg6MjIpOgp+IyEgcm49R2FieWxvbiBydD0xMTE5MDkwNTU5IHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKSGFiZW4gZGllIGFsbGUgZGlja2UgVGl0dGVuIG9kZXIgbWFnc3QgRHUga2VpbmUgbWVocj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdlaWwgZ2VpbCA6KSAoR2FieWxvbiwgMTkuIEp1biAyMDA1LCAxNTowNToyMCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMTkxMTQ1MDIgcmc9d3d3Cn4jISB0aWQ9MTExODk5ODU1OAp3ZWlzcyBuaWNodC4gdXJ0ZWlsZSBzZWxic3Q6IHd3dy5zd2VkaXNoYmlraW5pdGVhbS5jb20KCmdhYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2VpbCBnZWlsIDopIChNb3Jnb3RoLCAyMC4gSnVuIDIwMDUsIDA4OjI4OjQ0KToKfiMhIHJuPUdhYnlsb24gcnQ9MTExOTE4NjMyMCByZz13d3cKfiMhIHRpZD0xMTE4OTk4NTU4Ck9rLiBFaW5lIGhhdCBkaWNrZSBUaXR0ZW4sIGFiZXIgaGFlc3NsaWNoIHNpbmQgc2llIGFsbGUgOi0hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpVaHIgYXVmIGVsZWt0cm9uaXNjaGVtIFBhcGllciA7LSkgKEFyYXRob3JuLCAyMC4gSnVuIDIwMDUsIDE4OjQyOjU2KToKaHR0cDovL3d3dy5sYXJlcy5kdGkubmUuanAvfnl1Z28vc3RvcmFnZS9tb25vY3JhZnRzX3ZlcjMvMDMvCgpHcnVzcywgQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmVyIEdlZGFlY2h0bmlzdGVzdCAuLi4gKEdsb2luc29uLCAyMS4gSnVuIDIwMDUsIDAwOjUwOjIyKToKLi4uIGF1cyBkZW0gU0wuCgpodHRwOi8vd3d3LnRlYm9uaW4uZGUva29wZnNhY2hlLWludGVyYWt0aXYva29wZnNhY2hlLnN3ZgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmVyIEdlZGFlY2h0bmlzdGVzdCAuLi4gKEppbWRpZ3JpeiwgMjEuIEp1biAyMDA1LCAyMzoxODozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTE5MzA3ODIyIHJnPXd3dwp+IyEgdGlkPTExMTkzMDc4MjIKQ29vbCwKCjE4LzE4ClJaOiAwLjQ1NgowIG1hbCB6dSBmcnVlaC9mYWxzY2gvZ2FyIG5pY2h0CnVtIDYgQmxhZXR0ZXIgdmVyc2NoYWV0enQKVGVsZWZvbjogcmljaHRpZwpXb2NoZW50YWc6IHJpY2h0aWcKVWhyemVpdDogcmljaHRpZwoxOC8xOCBnZW1lcmt0CjkvOSB3b2VydGVyClRlbGVmb246IHJpY2h0aWcKCkdlc2FtdCAobGF1dCBkaWVzZW0gVGVzdCk6IDEwMCUKSmRHIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBLbGVpbmVyIEdlZGFlY2h0bmlzdGVzdCAuLi4gKENhbGRyaW4sIDIyLiBKdW4gMjAwNSwgMDA6MDA6MDcpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMTkzODg3MTkgcmc9d3d3Cn4jISB0aWQ9MTExOTMwNzgyMgpQZmYsIHNjaHdhY2guIFVtIDAgQmxhZXR0ZXIgdmVyc2NoYWV0enQsIDAuNDIgU2VrdW5kZW4uIEF1Y2ggc29uc3QgZmVobGVyZnJlaS4KRGllc2VyIFRlc3QgaXN0IGRhcyByZWluc3RlIEtpbmRlcnNwaWVsLgoKc28gbG9uZwpDYWxkcmluCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLbGVpbmVyIEdlZGFlY2h0bmlzdGVzdCAuLi4gKFJhbmdvcm4sIDIyLiBKdW4gMjAwNSwgMTI6MDU6MDEpOgp+IyEgcm49Q2FsZHJpbiBydD0xMTE5MzkxMjA3IHJnPXd3dwp+IyEgdGlkPTExMTkzMDc4MjIKUmVha3Rpb25zdGVzdCAwLjM1IDpvRCAuLi4gc2NoYWRlLCBkYXNzIG1pY2ggbWVpbmUgZnJldW5kaW4gYXVzcmVyZWNobmV0IGJlaQpkZXIgU2NoYWV0emZyYWdlIGFibGVua2VuIG11c3N0ZS4gc29uc3Qgd2Flcm5zIHdvaGwgYXVjaCAxMDAgc3RhdHQgOTklCmdld2VzZW4uCgpSYW5nb3JuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2xlaW5lciBHZWRhZWNodG5pc3Rlc3QgLi4uIChEYXJrbG9yLCAyMi4gSnVuIDIwMDUsIDE1OjU4OjUxKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMTkzMDc4MjIgcmc9d3d3Cn4jISB0aWQ9MTExOTMwNzgyMgpJY2ggYmluIGphIHNvbyBzY2hsZWNodC4uLiAqc2lnaCoKMTYvMTgKUlo6IDAuNjAzCjAgZmFsc2NoCnVtIDE4IGRhbmViZW4KVGVsTnIuIHJpY2h0aWcKVGFnIHJpY2h0aWcKVGVybWluIHJpY2h0aWcKMTMvMTgKNi85ClRlbE5yLiByaWNodGlnLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWtpcGVkaWEgLyBBcnRpa2VsIHp1bSBNb3JnZW5HcmF1ZW4gKFpvb2ssIDI3LiBKdW4gMjAwNSwgMTE6MzI6MDYpOgpIaSwgdW50ZXIgZGUud2lraXBlZGlhLm9yZy9NdWQgZ2lidCBlcyBiZXJlaXRzIGVpbmUgSG9tZXBhZ2UgenUgTVVEcyAKYWxsZ2VtZWluLiBEb3J0IGlzdCBudW4gYXVjaCBlaW4gTGluayB6dSBkZS53aWtpcGVkaWEub3JnL01vcmdlbkdyYXVlbl8oTVVEKQphdWZnZXRhdWNodDsgZGllc2UgU2VpdGUgZ2lidCBlcyBhbGxlcmRpbmdzIG5vY2ggbmljaHQuIFdlciBtYWcgdW5kIG1vZWNodGUKdW5kIFplaXQgaGF0IHVuZCBzb3dpZXNvIGdlcm5lIFdpa2lwZWRpYS1TZWl0ZW4gc2NocmVpYnQsIGthbm4gc2ljaCBqYSAKZWlubWFsIHVlYmVybGVnZW4sIGRpZXNlIFNlaXRlIHp1IHZlcmZhc3NlbiBiencuIGVpbmVuIGVyc3RlbiBFbnR3dXJmCmF1ZiBkaWUgQmVpbmUgenUgc3RlbGxlbi4gWm9vay4KClBTOiBQbHVlc2NoZHJhY2hlbnMgS2luZGVyIHdlcmRlbiB3ZW5uIHVlYmVyaGF1cHQgdW0gZXJuc3RoYWZ0ZSBCZWl0cmFlZ2UKZ2ViZXRlbiEgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLbGVpbmVyIEdlZGFlY2h0bmlzdGVzdCAuLi4gKENhdHdlYXpsZSwgMjguIEp1biAyMDA1LCAxNToxNzoyMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTE5MzA3ODIyIHJnPXd3dwp+IyEgdGlkPTExMTkzMDc4MjIKOTYlLiBIYWghCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXZWlsIGdlaWwgOikgKEtlbGx5YnVuZHksICAxLiBKdWwgMjAwNSwgMjE6MTQ6MTApOgp+IyEgcm49TW9yZ290aCBydD0xMTE5MjQ4OTI0IHJnPXd3dwp+IyEgdGlkPTExMTg5OTg1NTgKKmhhZW5kZSBpbiBkaWUgSHVlZnRlbiBzdGVtbSB1bmQgTSogc2NoYXJmIGFuc2NoYXUqCgpCbG9lXkhuZGNoZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClppdmkgaW0gQWx0ZW5oZWltIGdld2VzZW4/IChSZXF1aWVtLCAgMi4gSnVsIDIwMDUsIDE2OjM5OjIwKToKRGFubiBpc3QgZGFzIGhpZXIgZGFzIHJpY2h0aWdlIGZ1ZXIgZXVjaCA6KQoKaHR0cDovL3d3dy5tYWRtYWcuZGUvZ2FtZXMvZGlzb3JkZXJseS9kaXNvcmRlcmx5LnBocAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VpYSwgTmV0ei1FeHBlcnRlIGFtIFdlcmsgOy0pIChUYXJhbmlzLCAgNy4gSnVsIDIwMDUsIDIwOjMwOjA5KToKSWNoIGhhYmUgZ2VyYWRlIG1hbCBkaWUgS29tbWVudGFyZSB6dSBlaW5lbSBIZWlzZS1Qb3N0aW5nIGdlbGVzZW4gKGphLCBpY2gKd2Vpc3MsIG5vcm1hbGVyd2Vpc2UgZWluIEZlaGxlcikuIEFiZXIgZGFiZWkgaGFiZSBpY2ggZWluZW4gVGhyZWFkIGdlZnVuZGVuLApiZWkgZGVtIGljaCBtaWNoIHNvIGFtdWVzaWVydCBoYWJlLCBkYXNzIGljaCBpaG4gZXVjaCBuaWNodCB2b3JlbnRoYWx0ZW4gd2lsbC4KKmcqCkFscyBIaW50ZXJncnVuZDogRXMgZ2VodCB1bSBkaWVzZSBNZWxkdW5nOgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy82MTQxMQpTY2hhdXQgZXVjaCBtYWwgZGVuIFRocmVhZCBhbiwgZGVyIGJlaQpodHRwOi8vd3d3LmhlaXNlLmRlL3NlY3VyaXR5L25ld3MvZm9yZW4vZ28uc2h0bWw/cmVhZD0xJm1zZ19pZD04MzM3NjUyJmZvcnVtX2kKZD04MTI5NCBzdGFydGV0LiBJc3QgZXR3YXMgbGFlbmdsaWNoLCBhYmVyIGRpZSBQb3N0aW5ncyB2b24gY3J5cHVsc2Ugc2luZAprb2VzdGxpY2gsIHNjaG9uIGxhbmcgbmljaHQgbWVociBzbyBnZWxhY2h0LiAoT0ssIGVzIGlzdCB2b24gVm9ydGVpbCwgd2VubiBtYW4KZWluIHBhYXIgS2VubnRuaXNzZSB1ZWJlciBOZXR6d2Vya2UgaGF0LCBzb25zdCBpc3QgZXMgdmllbGxlaWNodCBuaWNodApsdXN0aWcuKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlaWEsIE5ldHotRXhwZXJ0ZSBhbSBXZXJrIDstKSAoUm9uZGEsIDEwLiBKdWwgMjAwNSwgMTM6NDA6MzcpOgp+IyEgcm49VGFyYW5pcyBydD0xMTIwNzYxMDA5IHJnPXd3dwp+IyEgdGlkPTExMjA3NjEwMDkKVUZGLiBEYXMgaXN0IGVjaHQgZ2VpbC4gQWxzbyBlbnR3ZWRlciBpc3QgZGFzIG5lbiBnZW5pYWxlciBUcm9sbCwgZGVyIHNlaW5lbgpGcmVpdGFncy1UaHJlYWQgYXVmbW9lYmVsbiB3aWxsIC0gb2RlciBQZXRlciBIdXRoIGlzdCB3aWVkZXIgYW0gV2VyayA7LSkKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgT3JrIGluIHVucyEgKE9nbywgMTcuIEp1bCAyMDA1LCAwMzozNzowNyk6Ck5ldHRlIEFiaGFuZGx1bmcgenVtIFRoZW1hIFdvcmxkIG9mIFdhcmNyYWZ0IGluIGRlbSBNYWdhemluIGRlciBTdWVkZGV1dHNjaGVuOgpodHRwOi8vc3otbWFnYXppbi5zdWVkZGV1dHNjaGUuZGUvZnJvbnRfc2luZ2xlL2Zyb250X2NvbnRlbnQucGhwP2xhbmc9MiZpZGNhdHMKaWRlPTExODMKCkRhIGRlciBMaW5rIG5pY2h0IGluIGVpbmUgWmVpbGUgcGFzc3Q6Cmh0dHA6Ly90aW55dXJsLmNvbS9jOWI4awoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBPcmsgaW4gdW5zISAoWm9vaywgMTcuIEp1bCAyMDA1LCAwOToxNjoxNCk6Cn4jISBybj1PZ28gcnQ9MTEyMTU2NDIyNyByZz13d3cKfiMhIHRpZD0xMTIxNTY0MjI3ClRzc3MuLi4gS2lubmVycywgaG9lcnQgbWl0IGRlbSBLcmFtIHdpZWRlciBhdWYuIEVzIG51dHp0IG5peC4gTGVzdCBzZWxic3Q6Ci0tc2NobmlwcC0tClVlYmVyaGF1cHQgc3BpZWxlbiBpbiBkZXIgTGViZW5zd2VsdCB2b24gTWFlbm5lcm4gTWVpc3RlcnNjaGFmdCB1bmQgV2V0dGthbXBmCmVpbmUgZ3JvZXNzZXJlIFJvbGxlIGFscyBiZWkgRnJhdWVuLiBEaWUgaGFsdGVuIHNpY2ggc2VsdGVuIGluIHZpcnR1ZWxsZW4KV2VsdGVuIGF1ZjsgendhciB6aWVoZW4gdmllbGUgS3JpZWdlcmlubmVuIGR1cmNoIEF6ZXJvdGgsIGRpZSB3ZXJkZW4KYWxsZXJkaW5ncyBtZWlzdCB2b24gTWFlbm5lcm4gZ2VzdGV1ZXJ0LiBXZW5pZ2VyIGFscyB6ZWhuIFByb3plbnQgZGVyIFNwaWVsZXIKc2luZCBGcmF1ZW4uCi0tc2NobmFwcC0tCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEZXIgT3JrIGluIHVucyEgKFZhbmlvbiwgMTcuIEp1bCAyMDA1LCAxMjo0MDoxNCk6Cn4jISBybj1ab29rIHJ0PTExMjE1ODQ1NzQgcmc9d3d3Cn4jISB0aWQ9MTEyMTU2NDIyNwpFcyBnaWJ0IEZyYXVlbiBpbiBXb1c/IFVpLiBQdWgsIGJlaSB1bnMgZ2lidHMgamEgam9mc2VpZGFuayBrZWluZSAuLi4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGVyIE9yayBpbiB1bnMhIChSZXF1aWVtLCAxNy4gSnVsIDIwMDUsIDIyOjAyOjI0KToKfiMhIHJuPVZhbmlvbiBydD0xMTIxNTk2ODE0IHJnPXd3dwp+IyEgdGlkPTExMjE1NjQyMjcKTGFzcyBkYXMgbmljaHQgRHVuc3QgaG9lcmVuLCBWKiA7LSkKCihPYndvaGw6IFVtIGRhcyBtaXV0enViZWtvbW1lbiBtdWVzc3RlIG1hbiB3b2hsIGRpZSBtcGEgaW4gV29XIGVpbmZ1ZWhyZW4gOykgKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZHVsbCBrbml2ZXMgKE9nbywgMTUuIEF1ZyAyMDA1LCAwMTo1NjozNik6Cmh0dHA6Ly93d3cuZGFiby5kZS9ldmVudHMvd3RoMjAwNS9waWN0Mzc1NQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaCA1IEphaHJlbiB3aWVkZXIgZXJoYWVsdGxpY2ggKFZpbmNlbnQsIDE3LiBBdWcgMjAwNSwgMTc6MTA6MjUpOgpOYWNoIDUgSmFocmVuIGdpYnQgZXMgbnVuIGRhcyBLdWx0LUdpbW1pY2stQ29taWNzICJZcHMiIHdpZWRlciB6dQprYXVmZW4uIE9mZml6aWVsbGVyIFRpdGVsOiAiWXBzIG1pdCBHaW1taWNrIi4KCkltIEphaHIgMjAwMCB3dXJkZSBkYXMgSGVmdCBuYWNoIDI1IEphaHJlbgptaXQgZGVyIEF1c2dhYmUgTnIuIDEyNTMgZWluZ2VzdGVsbHQuIEFiIGRlbSAxOC4gQXVndXN0IGlzdCBlcyBudW4gd2llZGVyCmVyaGFlbHRsaWNoLiBEQXMgSGVmdCB0cmFlZ3QgZ2FueiBrb250aW51aWVybGljaCBkaWUgTnVtbWVyIDEyNTQuCgpEYXMgYWt0dWVsbGUgR2ltbWljayBpc3QgZWluZSBHZWxkbWFzY2hpbmUgKGdhYiBlcyBzY2hvbiBtYWwgMTk3NSkuCgpXZWl0ZXJlIEluZm9zIHVudGVyOgpodHRwOi8vd3d3Lnlwc2ZhbnBhZ2UuZGUKCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWNoIDUgSmFocmVuIHdpZWRlciBlcmhhZWx0bGljaCAoQmFtYnVsa28sIDE4LiBBdWcgMjAwNSwgMTA6Mzc6NTIpOgp+IyEgcm49VmluY2VudCBydD0xMTI0MjkxNDI1IHJnPXd3dwp+IyEgdGlkPTExMjQyOTE0MjUKVmllbGVpY2h0IGthbm4gaWNoIGRhbm4gZW5kbGljaCBtZWluIEtpbmRoZWl0c3RyYXVtYSBiZXNpZWdlbi4gTWVpbmUgRWx0ZXJuCmhhYmVuIG1pciBpbW1lciB2ZXJib3RlbiBZcHMgenUga2F1ZmVuLCB3ZWlsIGVzIGlocmVyIEFuc2ljaHQgenUgdmllbCBHZWxkCmZ1ZXIgZGllIEdpbW1pY2tzIHdhci4gRGFmdWVyIHdhcmVuIGRpZSBwYWFyIFlwcy1IZWZ0ZSwgZGllIGljaCBkYW5uIGRvY2gKYmVrb21tZW4gaGFiZW4gdW0gc28gc2Nob2VuZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYWNoIDE0IEphaHJlbiB3aWVkZXIgZXJoYWVsdGxpY2ggKEdsb2luc29uLCAxOC4gQXVnIDIwMDUsIDEwOjQzOjEwKToKaHR0cDovL3d3dy50LW93bi5jb20vZnJvZXNpLW9ubGluZS8KCkZ1ZXIgZGllIE9zc2lzIHVudGVyIHVucyA7KQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaCAxNCBKYWhyZW4gd2llZGVyIGVyaGFlbHRsaWNoIChPZ28sIDE5LiBBdWcgMjAwNSwgMDA6MDQ6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNDM1NDU5MCByZz13d3cKfiMhIHRpZD0xMTI0MzU0NTkwCkRhIHN0ZWh0ICJGUk9FU0kgRGFzIE1hZ2F6aW4gZnVlciBLaW5kZXIgdW5kIHNvbGNoZSwgZGllIGVzIHdlcmRlbiB3b2xsZW4hIgpEYXMgcmllY2h0IGlyZ2VuZHdpZSBuYWNoIFNhdGlyZSBpbiBaZWl0ZW4gZGVzIEdlYnVydGVucnVlY2tnYW5ncy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlY2xhcmF0aW9uIG9mIFJldm9jYXRpb24gKFJlcXVpZW0sIDE5LiBBdWcgMjAwNSwgMDE6NTM6MzkpOgpJY2ggZmFuZHMgbmV0dDoKCmh0dHA6Ly93d3cuc3RlcGhhbmllbWlsbGVyLmNvbS9kZWNsYXJhdGlvbm9mcmV2b2NhdGlvbi5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYWNoIDE0IEphaHJlbiB3aWVkZXIgZXJoYWVsdGxpY2ggKEtlbGx5YnVuZHksIDE5LiBBdWcgMjAwNSwgMTM6NTA6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNDM1NDU5MCByZz13d3cKfiMhIHRpZD0xMTI0MzU0NTkwCkFwcm9wb3MgT3N0YWxnaWUsIGdpYmJldCBlaWdlbnRsaWNoIE1vc2FpayBub2NoPyBEaWcgRGFnIHVuZCAuLi4gCktlbGx5LCBrZWluIE9zc2kgYWJlciB0cm90emRlbSBvc3RhbGdpZWZhZWhuY2hlbnNjaHdlbmtlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFjaCAxNCBKYWhyZW4gd2llZGVyIGVyaGFlbHRsaWNoIChNYWhhcmV0LCAxOS4gQXVnIDIwMDUsIDE0OjE0OjM3KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTEyNDQ1MjI0MyByZz13d3cKfiMhIHRpZD0xMTI0MzU0NTkwCkFsc28gZGllIERpZ2VkYWdzIGdpYnQgZXMgc2VpdCAzMCBKYWhyZW4gbmljaHQgbWVoci4gQWJlciBkaWUgQWJyYWZheGUgZ2lidCBlcwppbW1lciBub2NoLiBEYSB3YXIgendhciBkaWUgQXVmbGFnZW56YWhsIHp3aXNjaGVuZHVyY2ggbWFsIG5pZWRyaWdlciwgYWJlcgp1bnRlcmJyb2NoZW4gd3VyZGUgbmllLgoKTWFoYXJldCAoaGF0IGFsbGUgQWJyYWZheC1IZWZ0ZSBzZWl0IDE5NzYpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmFjaCAxNCBKYWhyZW4gd2llZGVyIGVyaGFlbHRsaWNoIChNb3BwaSwgMTkuIEF1ZyAyMDA1LCAxODowMToyMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI0MzU0NTkwIHJnPXd3dwp+IyEgdGlkPTExMjQzNTQ1OTAKY29vbCBkYSBpc3QgZGllIFNvbm5lbnVociB6dW0gZG93bmxvYWRlbiwgZGFzIERpbmcgaGFiZSBpY2ggbWlyIGRhbWFscyBhdWNoCmdlYmFzdGVsdHJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXJ0dWVsbGVyIERpZWJzdGFobCwgcmVhbGVyIEJldHJ1ZyAoVmluY2VudCwgMjIuIEF1ZyAyMDA1LCAxNDoyNDo1OCk6ClVlYmVyIGVpbmUgbWVociBvZGVyIHdlbmlnZXIgbmV1ZSBGb3JtIGRlcyBDb21wdXRlcmJldHJ1Z3MgYmVyaWNodGV0Cmh0dHA6Ly93d3cuaW50ZXJuLmRlL25ld3MvNzAwNy5odG1sCgpJbiBLdXJ6Zm9ybTogU3R1ZGVudCBoYXQgaW4gZWluZW0gT25saW5lLVJvbGxlbnNwaWVsIEl0ZW1zLCBTa2lsbHMsIGV0Yy4Kdm9uIGFuZGVyZW4gU3BpZWxlcm4gZ2VzdG9obGVuIHVuZCBkYW5uIGJlaSBPbmxpbmUtQXVrdGlvbmVuCnp1IEdlbGQgZ2VtYWNodC4gRGEgZXIgZGllcyBzeXN0ZW1hdGlzY2ggZ2V0YW4gaGFiZW4gc29sbCwgd3VyZGUgZXIKaW4gSmFwYW4gdmVyaGFmdGV0LgoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIEFydCBvZiBEZW1vdGl2YXRpb24gKFZpbmNlbnQsIDIzLiBBdWcgMjAwNSwgMTI6MzQ6NDYpOgpXZXIgenUgc3RhcmsgbW90aXZpZXJ0IGlzdCBvZGVyIHNlaW5lIERlbW90aXZpZXJ0aGVpdAphdXNsZWJlbiBtb2VjaHRlLCBmaW5kZXQgaGllciB3YWhyc2NoZWlubGljaCBkaWUgZ2VuYXUgcmljaHRpZ2UgU2VpdGU6CgpodHRwOi8vd3d3LmRlc3BhaXIuY29tCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaXRhbmljLi4uIChPZ28sIDI0LiBBdWcgMjAwNSwgMTY6MTU6MTEpOgpodHRwOi8vY2dpLmViYXkuZGUvd3MvZUJheUlTQVBJLmRsbD9WaWV3SXRlbSZpdGVtPTc1NDA3MzcyMTgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhaGxoZWxmZXIgKE1vcmdvdGgsIDI2LiBBdWcgMjAwNSwgMTY6NDI6MzkpOgpXZXIgbmljaHQgd2Vpc3MsIHdhcy93ZW4gZXIgd2FlaGxlbiBzb2xsIC0+IHd3dy53YWhsLW8tbWF0LmRlCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhaGxoZWxmZXIgKFpvb2ssIDI2LiBBdWcgMjAwNSwgMTY6NDg6NDMpOgp+IyEgcm49TW9yZ290aCBydD0xMTI1MDY3MzU5IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKRkRQID4gR3J1ZW5lID4gU1BEID4gTGlua2UgPiBDRFUgCgpJbnRlcmVzc2FudC4gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FobGhlbGZlciAoTW9wcGksIDI2LiBBdWcgMjAwNSwgMTY6NTA6MTkpOgp+IyEgcm49TW9yZ290aCBydD0xMTI1MDY3MzU5IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKTmEgdG9sbCBkZXIgV2FobC1vLW1hdCBkZXIgZWluZSBFbnRzY2hlaWR1bmdzaGlsZmUgc2VpbiBzb2xsIGhhdCBlcyBtaXIgbm9jaApzY2h3ZXJlciBnZW1hY2h0OiBkaWUgQmFsa2VuIGF1ZiBkZXIgQXVzd2VydHVuZ3NzZWl0ZSBzaW5kIGJlaSBhbGxlbiBQYXJ0ZWllbgpnbGVpY2hsYW5nLCBsZWRpZ2xpY2ggZWluIHphcnRlciBWb3JzcHJ1bmcgaXN0IGJlaSBkZW4gbGlua2VuIFBhcnRlaWVuLiAKQXVjaCBkaWUgIGFuZ2Vib3RlbmUgR2V3aWNodHVuZyBicmFjaHRlIGtlaW5lIGdyb3NzYXJ0aWdlbiBWZXJhZW5kZXJ1bmdlbi4KR2lidCBlcyBlaWdlbnRsaWNoIHNjaG9uIExldXRlIGRpZSBiZWkgZWJheSBpaHJlIFN0aW1tZSB2ZXJzdGVpZ2Vybj87LSkKCkdydWVzc2UgTW9wcGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWhsaGVsZmVyIChab29rLCAyNi4gQXVnIDIwMDUsIDE2OjUwOjQ5KToKfiMhIHJuPU1vcHBpIHJ0PTExMjUwNjc4MTkgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpTYWcgbWFsIGRhcyBFcmdlYm5pcyBhbjogV2VsY2hlIFJlaWhlbmZvbGdlIGdhYnMgYmVpIERpcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdhaGxoZWxmZXIgKE1vcmdvdGgsIDI2LiBBdWcgMjAwNSwgMTY6NTI6MjEpOgp+IyEgcm49Wm9vayBydD0xMTI1MDY3ODQ5IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKUERTID4+IEdydWVuZSA+IFNQRCA+PiBGRFAgPj4+IENEVSAKCldhciBkb2NoIGVpbiB3ZW5pZyBlcnN0YXVudC4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWhsaGVsZmVyIChNb3BwaSwgMjYuIEF1ZyAyMDA1LCAxNjo1MzoyMyk6Cn4jISBybj1ab29rIHJ0PTExMjUwNjc4NDkgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpTUEQgPiBMaW5rZSA+IEdydWVuZSA+IEZEUCA+IENEVQoKTW9wcGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FobGhlbGZlciAoQW50aGVhLCAyNi4gQXVnIDIwMDUsIDE3OjM2OjU4KToKfiMhIHJuPU1vcHBpIHJ0PTExMjUwNjgwMDMgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpIbS4KQ1NVID4gU1BEID4gRkRQID4gUERTID4gR3J1ZW5lCkdyb3NzIGlzdCBkZXIgVW50ZXJzY2hpZWQgZGF6d2lzY2hlbiBuaWNodC4gV2FzIHdpbGwgbWFuIGJlaSBkaWVzZW4gZmFyYmxvc2VuCmF1c3dlY2hzZWxiYXJlbiBQYXJ0ZWllbiBhdWNoIGVyd2FydGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobGhlbGZlciAoWm9vaywgMjYuIEF1ZyAyMDA1LCAxNzo0Njo1Nik6Cn4jISBybj1HYXN0MSBydD0xMTI1MDcxMTA2IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKTWEqIHNjaHJlaWJ0OgotLQpIbW0uIEljaCBmaW5kZSBqYSBkaWUgYmxvc3NlIFJlZHVrdGlvbiBhdWYgZGllIFNjaGxhZ3plaWxlbiBpcmdlbmR3aWUgZmFsc2NoLgpCZWkgUmVmb3JtZW4gc2luZCBFaW56ZWxtYXNzbmFobWVuIGF1cyBkZW0gS29udGV4dCBnZXJpc3NlbiBtZWlzdCBuZWdhdGl2IHp1CmJld2VydGVuLCBvYndvaGwgbWFuIGRpZSBSZWZvcm0gaW5zZ2VzYW10IGJlZnJ3b3J0ZW4ga2Fubi4KCk1hKgoKUC5TLjogRXJ3YXJ0dW5nc2dlbWFlc3MgRkRQPj5DRFU+R1JVRU5FPj5TUEQ+Pj4+PlBEUwotLQpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2FobGhlbGZlciAoUmVxdWllbSwgMjYuIEF1ZyAyMDA1LCAyMTo1NTo0Nyk6Cn4jISBybj1ab29rIHJ0PTExMjUwNzEyMTYgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpCOTAvR3J1ZW5lID4gTGlua2UvUERTID4+PiBTUEQgPj4+PiBGRFAgPj4+Pj4+IENEVS9DU1UKCld1bmRlcnQgbWljaCBlaW4gYmlzc2NoZW4sIGFiZXIgdGVuZGVuemllbGwgZ2FyIG5pY2h0IHNjaGxlY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIEN5Ym9yZyBOYW1lIEdlbmVyYXRvciAoTXVwZmVsLCAyNi4gQXVnIDIwMDUsIDIzOjA4OjAyKToKd3d3LmN5Ym9yZ25hbWUuY29tCgpNLlUuUC5GLkUuTC46IE1lY2hhbmljYWwgVW5pdCBQcm9ncmFtbWVkIGZvciBGaWdodGluZyBhbmQgRWZmaWNpZW50IExlYXJuaW5nCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKFJlcXVpZW0sIDI2LiBBdWcgMjAwNSwgMjM6NDI6MjApOgp+IyEgcm49TXVwZmVsIHJ0PTExMjUwOTA0ODIgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpSLkUuUS5VLkkuRS5NLjogUm9ib3RpYyBFbGVjdHJvbmljIFF1YWRydXBsZXQgVXNlZCBmb3IgSW1tZWRpYXRlIEV4cGxvcmF0aW9uCmFuZCBNYXRoZW1hdGljcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChab29rLCAyNi4gQXVnIDIwMDUsIDIzOjQ1OjQzKToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNTA5MjU0MCByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyClouTy5PLksuOiBab21iaWUgT3B0aW1pemVkIGZvciBPbmxpbmUgS2lsbGluZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGhlIEN5Ym9yZyBOYW1lIEdlbmVyYXRvciAoT3JrdG9ldGVyLCAyNi4gQXVnIDIwMDUsIDIzOjQ2OjQzKToKfiMhIHJuPVpvb2sgcnQ9MTEyNTA5Mjc0MyByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCk9wZXJhdGlvbmFsIFJvYm90aWMgS25pZ2h0IFRyYWluZWQgZm9yIE9ubGluZSBFeHBsb3JhdGlvbiwgVHJvdWJsZXNob290aW5nIGFuZApFZmZpY2llbnQgUmVwYWlyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChBbWFyeWxsaXMsIDI2LiBBdWcgMjAwNSwgMjM6NDg6MDkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExMjUwOTI4MDMgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpBLk0uQS5SLlkuTC5MLkkuUy46IEFydGlmaWNpYWwgTWVjaGFuaWNhbCBBbmRyb2lkIFJlc3BvbnNpYmxlIGZvciBZZWxsaW5nLApMb2dpY2FsIExlYXJuaW5nIGFuZCBJbW1lZGlhdGUgU2Fib3RhZ2UKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKENoYWdhbGwsIDI3LiBBdWcgMjAwNSwgMDA6MDQ6MjcpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExMjUwOTI4ODkgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpDLkguQS5HLkEuTC5MLjogQ3liZXJuZXRpYyBIYW5kY3JhZnRlZCBBbmRyb2lkIEdlbmVyYXRlZCBmb3IKQXNzYXNzaW5hdGlvbiBhbmQgTG9naWNhbCBMZWFybmluZwoKSGFoLCB6aXRlcnQgdm9yIG1pciA6KQoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKFpvb2ssIDI3LiBBdWcgMjAwNSwgMDA6MDU6MTMpOgp+IyEgcm49Q2hhZ2FsbCBydD0xMTI1MDkzODY3IHJnPXd3dwp+IyEgdGlkPTExMjUwOTA0ODIKT25saW5lIEtpbGxpbmcgaXN0IGNvb2xlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKERhcmtsb3IsIDI3LiBBdWcgMjAwNSwgMDA6MDc6MTEpOgp+IyEgcm49TXVwZmVsIHJ0PTExMjUwOTA0ODIgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpELkEuUi5LLkwuTy5SLjogRGlnaXRhbCBBcnRpZmljaWFsIFJlcGxpY2FudCBLZWVuIG9uIExvZ2ljYWwgT2JzZXJ2YXRpb24gYW5kClJlcGFpcgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChLcnN0ZnJzLCAyNy4gQXVnIDIwMDUsIDAwOjA4OjI3KToKfiMhIHJuPURhcmtsb3IgcnQ9MTEyNTA5NDAzMSByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCksuUi5TLlQuRi5SLlMuOiBLaW5ldGljIFJvYm90aWMgU29sZGllciBUcmFpbmVkIGZvciBGaWdodGluZyBhbmQgUmF0aW9uYWwKU2Fib3RhZ2UKCktyc3RmcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhaGxoZWxmZXIgKERhcmtsb3IsIDI3LiBBdWcgMjAwNSwgMDA6MTQ6NTEpOgp+IyEgcm49UmVxdWllbSBydD0xMTI1MDg2MTQ3IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKUERTIC0+IEdydWVuZSAtLT4gU1BEID4+Pj4+IENEVSA+PiBGRFAKClppZW1saWNoIGd1dCBnZXRyb2ZmZW4gZGllc21hbC4uLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGhlIEN5Ym9yZyBOYW1lIEdlbmVyYXRvciAoTmljb2xhaSwgMjcuIEF1ZyAyMDA1LCAxMDo1MzowOSk6Cn4jISBybj1LcnN0ZnJzIHJ0PTExMjUwOTQxMDcgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpOLkkuQy5PLkwuQS5JLiBOZXR3b3JrZWQgSW50ZWxsaWdlbnQgQ29uc3RydWN0IE9wdGltaXplZCBGb3IgTG9naWNhbApBc3Nhc3NpbmF0aW9uIGFuZCBJbmZpbHRyYXRpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChIaWdobGFuZGVyLCAyNy4gQXVnIDIwMDUsIDE0OjQ5OjA2KToKfiMhIHJuPU5pY29sYWkgcnQ9MTEyNTEzMjc4OSByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCkguSS5HLkguTC5BLk4uRC5FLlIuOiBIYW5kY3JhZnRlZCBJbnRlbGxpZ2VudCBHdWFyZGlhbiBIYXJkd2lyZWQgZm9yIExvZ2ljYWwKQXNzYXNzaW5hdGlvbiwgTm9jdHVybmFsIERlc3RydWN0aW9uIGFuZCBFZmZpY2llbnQgUmVwYWlyCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChLZWxseWJ1bmR5LCAyNy4gQXVnIDIwMDUsIDIzOjA3OjQ5KToKfiMhIHJuPU11cGZlbCBydD0xMTI1MDkwNDgyIHJnPXd3dwp+IyEgdGlkPTExMjUwOTA0ODIKSy5FLkwuTC5ZLkIuVS5OLkQuWS46IEtpbmV0aWMgRWxlY3Ryb25pYyBMaWZlZm9ybSBMaW1pdGVkIHRvIFllYXJseSBCYXR0bGUsClVsdGltYXRlIE51bGxpZmljYXRpb24gYW5kIERhbmdlcm91cyBZZWxsaW5nCgoqR0cqLCBLZWxseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChPZ2FyLCAyOC4gQXVnIDIwMDUsIDAwOjM4OjUyKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTEyNTE3Njg2OSByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCkhtcGYsIGRlciBnZWhlaW1lIEF1ZnRyYWcgbWVpbmVzIEthZW1wZmVyendlaXRpZXMgd3VyZGUgaW4gc2VpbmVyIGdhbnplbgpTY2hsaWNodGhlaXQgYXVmZ2VkZWNrdDoKCldpcmVsZXNzIEFuZHJvaWQgUmVzcG9uc2libGUgZm9yIEtpbGxpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKEFyaywgMjguIEF1ZyAyMDA1LCAwMDo0MDo1Nik6Cn4jISBybj1PZ2FyIHJ0PTExMjUxODIzMzIgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpJY2ggYmluIG5pY2h0bWFsIHdpcmVsZXNzIDstKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYWhsaGVsZmVyIChNaXJpbCwgMjguIEF1ZyAyMDA1LCAxOTozOTo1NSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMjUwNjczNTkgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpOaWNodCBzb25kZXJsaWNoIHVlYmVycmFzY2hlbmQ6CkdydWVuZT5QRFM+U1BEPj5DRFUvQ0RTL0ZEUAoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FobGhlbGZlciAoTWlyaWwsIDI4LiBBdWcgMjAwNSwgMTk6NDA6NTEpOgp+IyEgcm49TWlyaWwgcnQ9MTEyNTI1MDc5NSByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5CkNTVSBrYW5uIGljaCBuaWNodCBtYWwgdGlwcGVuLCB3aWUgc29sbCBpY2ggc293YXMgZGFubiB3YWVobGVuIGtvZW5uZW4gKGthbm4KaWNoIGphIGF1Y2ggenVtIEdsdWVjayBuaWNodC4KCk1pcmlsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWhsaGVsZmVyIChUYXJhbmlzLCAyOC4gQXVnIDIwMDUsIDE5OjQ2OjU1KToKfiMhIHJuPU1pcmlsIHJ0PTExMjUyNTA4NTEgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpHcnVlbmUgPiBQRFMgPiBTUEQgPj4+IEZEUCA+IENEVS9DU1UKQXVjaCB3ZW5pZyB1ZWJlcnJhc2NoZW5kLiA7LSkKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhaGxoZWxmZXIgKEdsb2luc29uLCAyOC4gQXVnIDIwMDUsIDE5OjUwOjIwKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyNTI1MTIxNSByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5ClBEUyAtPiBHcnVlbmUgLT4gU1BEID4+PiBGRFAgLT4gQ0RVL0NTVSAuLi4gZGFzIFNwaXR6ZW5mZWxkIGlzdCBlcnN0YXVubGljaAplbmcgYmVpZWluYW5kZXIgdW5kIGRpZSBQRFMgaGF0dGUgaWNoIGVpZ2VudGxpY2ggbmljaHQgYWxzIEZhdm9yaXRlbiwgZGllIGhhYmUKYmVpIG1pciBkZW4gUG9zdGtvbW11bmlzdGVubWFsdXMuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2hpY2ggQVNPSUFGIENoYXJhY3RlciBBcmUgWW91PyAoVGFyYW5pcywgMjguIEF1ZyAyMDA1LCAxOTo1MDo0OCk6CkEgU29uZyBvZiBJY2UgYW5kIEZpcmUgUGVyc29uYWxpdHkgVGVzdDoKaHR0cDovL2Fzb2lhZi50cmlwb2QuY29tL2N0ZXN0Mi5odG1sCgpKb24gU25vdwoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FobGhlbGZlciAoR2xvaW5zb24sIDI4LiBBdWcgMjAwNSwgMTk6NTQ6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNTI1MTQyMCByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5Ckthbm4gZXMgc2VpbiwgZGFzcyBkaWUgVGhlc2VuZ2V3aWNodHVuZyBuaWNodCBmdW5rdGlvbmllcnQ/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdoaWNoIEFTT0lBRiBDaGFyYWN0ZXIgQXJlIFlvdT8gKEFueXNpZG9yYSwgMjkuIEF1ZyAyMDA1LCAxMjo0ODo1OCk6Cn4jISBybj1UYXJhbmlzIHJ0PTExMjUyNTE0NDggcmc9d3d3Cn4jISB0aWQ9MTEyNTI1MTQ0OApZb3UgYXJlIFR5cmlvbiBMYW5uaXN0ZXIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzdWRva3UgKE1vcHBpLCAyOS4gQXVnIDIwMDUsIDE3OjQ0OjUwKToKV2VyIGltbWVyIG1hbCBnZXJuZSBzZWluZSBncmF1ZW4gWmVsbGVuIHRyYWluaWVydCBhYmVyIHZvbSBQTSBMb2dpay1UcmFpbmVyCmxhbmdzYW0gYW5nZW9lZGV0IGlzdCB3aXJkIHNpY2ggZnJldWVuIGRhcyB3YXMgTmV1ZXMgZ2lidDogU3Vkb2t1IGhlaXNzdCBkZXIKbmV1ZXN0ZSBTY2hyZWk6IGluIGVpbmVtIDl4OSBRdWFkcmF0IHNvbGxlbiBkaWUgWmFobGVuIHZvbiAxLTkgYW5nZW9yZG5ldAp3ZXJkZW4gc28gZGFzIGluIGplZGVyIFplaWxlIHVuZCBTcGFsdGUsIGFiZXIgYXVjaCBpbiBkZW4gM3gzIFN1YnF1YWRyYXRlbgpqZWRlIFphaGwgbnVyIGVpbm1hbCBhdWZ0YXVjaHQuIERhenUgc2luZCBlaW5pZ2UgWmFobGVuIGFscyBTdGFydGhpbGZlCmFuZ2VnZWJlbiB1bmQgamVkZXMgU3Vkb2t1LVJhZXRzZWwgaXN0IG51ciBkYW5uZSBjaHQsIHdlbm4gZXMgZWluZSBlaW5kZXV0aWdlCkxvZXN1bmcgaGF0LiAKU3Vkb2t1IGdpbHQgamV0enQgc2Nob24gYWxzIEt1bHQgdW5kIGhhdCBvZmZlbmJhciBkaWUgUmFldHNlbHdlbHQgaW0gU3R1cm0KZXJvYmVydCwgYXVjaCBtaXIgaGF0IGVzIGJpc2hlciBTcGFzcyBnZW1hY2h0LiBSYWV0c2VsdCBmaW5kZXQgbWFuIG5hdHVlcmxpY2gKYXVjaCBhdWYgZGVuIEludGVybmV0c2VpdGVuLCB6LkIuIHd3dy53ZWJzb2R1a28uY29tCmluIFplaXR1bmdlbiAobGV0enRlIEF1c2dhYmUgZGVyIFplaXQpIHVuZCBpbiBCdWVjaGVybi4KCk1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdWRva3UgKENyb2Z0LCAyOS4gQXVnIDIwMDUsIDE3OjQ3OjEyKToKfiMhIHJuPU1vcHBpIHJ0PTExMjUzMzAyOTAgcmc9d3d3Cn4jISB0aWQ9MTEyNTMzMDI5MAouLi4gdW5kIHdhciB6dWZhZWxsaWcgYXVjaCBpbSBkaWVzamFlaHJpbmdlbiBTWi1NYWdhemluIFNvbW1lcnJhZXRzZWwKKGh0dHA6Ly9zei1tYWdhemluLnN1ZWRkZXV0c2NoZS5kZS9yYWV0c2VscmVubmVuLykgdmVydHJldGVuICwtKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKE11YWRpYiwgMjkuIEF1ZyAyMDA1LCAyMjoyMDoxNyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyNTA5Mjg4OSByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCk0uVS5BLkQuSS5CLjogTWVjaGFuaWNhbCBVcGdyYWRlZCBBbmRyb2lkIERlc2lnbmVkIGZvciBJbW1lZGlhdGUgQmF0dGxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2hpY2ggQVNPSUFGIENoYXJhY3RlciBBcmUgWW91PyAoTXVhZGliLCAyOS4gQXVnIDIwMDUsIDIyOjI0OjExKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyNTI1MTQ0OCByZz13d3cKfiMhIHRpZD0xMTI1MjUxNDQ4CnVhYWVoaGFhYWEKWW91IGFyZSBUeXdpbiBMYW5uaXN0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZWluIGdlaGFidCEgKFJvbmRhLCAyOS4gQXVnIDIwMDUsIDIzOjAzOjIwKToKTWFsIG5lbiBhbmRlcmVyICJQc3ljaG8tVGVzdCIgLSBlaW4gU2Nod2VpbiBtYWxlbiB1bmQgdWViZXIgc2ljaCBsZXJuZW46CgpodHRwOi8vZHJhd2FwaWcuZGVza3RvcGNyZWF0dXJlcy5jb20vZHJhd0FwaWcuYXNwCgouLi4gb2ssIG9kZXIgSHVuZ2VyIGF1ZiBTY2h3ZWluc2hheGUga3JpZWdlbi4gSmUgbmFjaCBFaW5zdGVsbHVuZy4KClJvbmRhICpodW5ncmlnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogVGhlIEN5Ym9yZyBOYW1lIEdlbmVyYXRvciAoQW55c2lkb3JhLCAzMC4gQXVnIDIwMDUsIDAwOjQxOjA4KToKfiMhIHJuPU11YWRpYiBydD0xMTI1MzQ2ODE3IHJnPXd3dwp+IyEgdGlkPTExMjUwOTA0ODIKQS5OLlkuUy5JLkQuTy5SLkEuOiBBcnRpZmljaWFsIE5ldHdvcmtlZCBZb3V0aCBTa2lsbGVkIGluIEluZmlsdHJhdGlvbiwKRGFuZ2Vyb3VzIE9ic2VydmF0aW9uIGFuZCBSYXRpb25hbCBBc3Nhc3NpbmF0aW9uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHdlaW4gZ2VoYWJ0ISAoQm9pbmcsIDMwLiBBdWcgMjAwNSwgMTA6MzE6NDEpOgp+IyEgcm49Um9uZGEgcnQ9MTEyNTM0OTQwMCByZz13d3cKfiMhIHRpZD0xMTI1MzQ5NDAwCkRlciBMaW5rIGdlaHQgbmljaHQgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2Nod2VpbiBnZWhhYnQhIChUZXJyeSwgMzAuIEF1ZyAyMDA1LCAxMToxNDoxMCk6Cn4jISBybj1Cb2luZyBydD0xMTI1MzkwNzAxIHJnPXd3dwp+IyEgdGlkPTExMjUzNDk0MDAKQmVpIG1pciBnaW5ncy4KQWJlciBvYiBpY2ggZWluIFNjaHdlaW4gYmluIGhhYiBpY2ggbmljaHQgZXJmYWhyZW4ga29lbm5lbi4KVGVycnkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2h3ZWluIGdlaGFidCEgKEFueXNpZG9yYSwgMzAuIEF1ZyAyMDA1LCAxMzowNjozMik6Cn4jISBybj1UZXJyeSBydD0xMTI1MzkzMjUwIHJnPXd3dwp+IyEgdGlkPTExMjUzNDk0MDAKYWxzbyBiZWkgbWlyIGdpbmcgZXIgYXVjaC4uLiBpbnRlcmVzc2FudCB3YXMgbWFuIGFsbGVzIHVlYmVyIHNpY2ggZXJmYWVocnQsCndlbm4gbWFuIG5lbiBzY2h3ZWluIG1hbHQgKmcqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHN1ZG9rdSAoR3JpbW1ib3JuLCAzMC4gQXVnIDIwMDUsIDE0OjQzOjUwKToKfiMhIHJuPU1vcHBpIHJ0PTExMjUzMzAyOTAgcmc9d3d3Cn4jISB0aWQ9MTEyNTMzMDI5MApEaWUgWmFobGVuIHZvbiAxLTkgbXVlc3NlbiB1ZWJyaWdlbnMgbmljaHQgaW4gYWxsZW4gM3gzIFN1YnF1YWRyYXRlbiBnZW5hdQplaW5tYWwgYXVmdGF1Y2hlbi4gSXN0IGFiZXIgZ2FueiBuZXR0LCBzdGltbXQuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogc3Vkb2t1IChNb3BwaSwgMzAuIEF1ZyAyMDA1LCAxNTo1ODoyNCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNTQwNTgzMCByZz13d3cKfiMhIHRpZD0xMTI1MzMwMjkwCkphIGtsYXIsIG5pY2h0IGFsbGUgM3gzIFN1YnF1YWRyYXRlLiBJY2ggd29sbHRlIGRpZSBCZXNjaHJlaWJ1bmcgbmljaHQgZ3Jvc3MKa29tcGxpemllcnQgbWFjaGVuLCBkYW1pdCBkaWUgTHVzdCBkcmF1ZiB2b3JoZXIgc2Nob24gZmxvZXRlbiBnZWh0LgpBYmVyIGZ1ZXIgRGljaCBub2NoIG1hbCBleGFrdGVyOiAgZXMgc2luZCBkaWUgOSAzeDMgU3VicXVhZHJhdGUgZGllIGRhcyA5eDkKSGF1cHRxdWFkcmF0IGdlbmF1IGFiZGVja2VuIHVuZCB6dWVpbmFuZGVyIGRpc2p1bmt0IHNpbmQuCgpNb3BwZXJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBUaGUgQ3lib3JnIE5hbWUgR2VuZXJhdG9yIChNaXJpbCwgMzAuIEF1ZyAyMDA1LCAxNjo1MjoxNyk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTEyNTM1NTI2OCByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCkVoZXIgdW5zcGFubmVuZDoKTS5JLlIuSS5MLjogTWVjaGFuaWNhbCBJbnRlbGxpZ2VudCBSZXBhaXIgYW5kIEluZmlsdHJhdGlvbiBMaWZlZm9ybQoKRGllIFp3ZWl0aWVzIGhpbmdlZ2VuIHNpbmQgZ2FueiBndXQgZ2V0cm9mZmVuOgpOLkUuRC5JLk0uRS46IE5ldHdvcmtlZCBFbGVjdHJvbmljIERldmljZSBJbnRlbmRlZCBmb3IgTWFzdGVyZnVsIEV4cGxvcmF0aW9uCgpLLkkuTC5MLksuRS5OLk4uWS46IEtpbmV0aWMgSW50ZWxsaWdlbnQgTGlmZWZvcm0gTGltaXRlZCB0byBLaWxsaW5nLCBFZmZpY2llbnQKTnVsbGlmaWNhdGlvbiBhbmQgTm9jdHVybmFsIFllbGxpbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKEJhbWJ1bGtvLCAzMC4gQXVnIDIwMDUsIDE2OjU3OjU1KToKfiMhIHJuPU1pcmlsIHJ0PTExMjU0MTM1Mzcgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpHLlcuQi5VLlMuSC46IEdlbmVyYWwgV2lyZWxlc3MgQmF0dGxlIGFuZCBVbHRpbWF0ZSBTYWJvdGFnZSBIdW1hbm9pZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaGljaCBBU09JQUYgQ2hhcmFjdGVyIEFyZSBZb3U/IChEYXJrbG9yLCAzMC4gQXVnIDIwMDUsIDE3OjE5OjA2KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTI1MzEyNTM4IHJnPXd3dwp+IyEgdGlkPTExMjUyNTE0NDgKWW91IGFyZSBTYW13ZWxsIFRhcmxleS4KCkpldHp0IG11ZXNzdCBtYW4gbnVyIG5vY2ggd2lzc2VuLCB3YXMgZGFzIHp1IGJlZGV1dGVuIGhhdCA7KQoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2hpY2ggQVNPSUFGIENoYXJhY3RlciBBcmUgWW91PyAoVGFyYW5pcywgMzAuIEF1ZyAyMDA1LCAxNzoyMDo0Mik6Cn4jISBybj1EYXJrbG9yIHJ0PTExMjU0MTUxNDYgcmc9d3d3Cn4jISB0aWQ9MTEyNTI1MTQ0OApCZXZvciBpY2ggamV0enQgbmUgSW5oYWx0c2FuZ2FiZSB2b24gZGVuIEJ1ZWNoZXJuIG1hY2hlLCBkaWUgZGVyIFNhY2hlIGVoCm5pY2h0IGdlcmVjaHQgd2lyZDogTGllcyBlcyBhbSBiZXN0ZW4gc2VsYnN0LCBlcyBsb2hudCBzaWNoLiA7LSkgKFVuZCBsaWVzIGVzCmF1ZiBFbmdsaXNjaCwgZmFsbHMgbW9lZ2xpY2guKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2hpY2ggQVNPSUFGIENoYXJhY3RlciBBcmUgWW91PyAoTXVhZGliLCAzMC4gQXVnIDIwMDUsIDE3OjM3OjA3KToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyNTQxNTI0MiByZz13d3cKfiMhIHRpZD0xMTI1MjUxNDQ4CmRhcyBiZWRldXRldCBkdSBiaXN0IGVpbiBmZWlnZXIgZ3V0bWVuc2NoLiB1bmQgaWNoIGRhcmYgZGFzIHNhZ2VuIGFscyBmaWVzZQptb2VwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcGVyYSB1bXNvbnN0IChSZXF1aWVtLCAzMS4gQXVnIDIwMDUsIDEyOjI3OjU5KToKWnVtIDEwLiBHZWJ1cnRzdGFnIGdpYnQgZXMgKG51ciBub2NoIGJpcyBoZXV0ZSwgMTYgVWhyKSBPcGVyYS1GcmVpc2NoYXRjb2Rlcwp1bXNvbnN0LiBTaWVoZSBoaWVyOgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL25ldHp3ZWx0L3RlY2hub2xvZ2llLzAsMTUxOCwzNzIyNDEsMDAuaHRtbAoKYnp3LiBoaWVyCgpodHRwOi8vbXkub3BlcmEuY29tL2NvbW11bml0eS9wYXJ0eS9yZWcuZG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9wZXJhIHVtc29uc3QgKENhdHdlYXpsZSwgMzEuIEF1ZyAyMDA1LCAxMzozNzowNik6Cn4jISBybj1SZXF1aWVtIHJ0PTExMjU0ODQwNzkgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpOdXIgc2luZCBkaWUgcmVnaXN0cmF0aW9uY29kZSBmZWxkZXIgbGVlciAuLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcGVyYSB1bXNvbnN0IChHcmltbWJvcm4sIDMxLiBBdWcgMjAwNSwgMTM6NDY6NDUpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTExMjU0ODgyMjYgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpHaWJ0cyB6d2luZ2VuZGUgR3J1ZW5kZSB2b24ga29ucXVlcm9yL2ZpcmVmb3ggYXVmIE9wZXJhIHp1IHdlY2hzZWxuPyAKSWNoIHd1ZXJkZSBkb2NoIGRlbmtlbiBkYXNzIGRpZSBBa3Rpb24gZWhlciBzaW5ubG9zIGlzdC4gV2VyIE9wZXJhCm51dHp0L251dHplbiB3aWxsIGhhdCBkZW4gQnJvd3NlciwgdW5kIGFuZGVyZSB3aXJkIGF1Y2ggZGFzIG5pY2h0IHp1bSBVbXN0aWVnCmJld2VnZW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9wZXJhIHVtc29uc3QgKFZlY3RvciwgMzEuIEF1ZyAyMDA1LCAxMzo0NzozNyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNTQ4ODgwNSByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5CmFiZXIgc28gZWluZSBha3Rpb24gaXN0IGRlbiBlbnNwcmVjaGVuZGVuIHNlaXRlbiB3aWUKc3BpZWdlbCAoaGVpc2UgZXZlbnR1ZWxsIGF1Y2g/KSBpbW1lcmhpbiBuZSBtZWxkdW5nIHdlcnQKd2FzIGRhbm4gd2llZGVyIGdyYXRpcyB3ZXJidW5nIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9wZXJhIHVtc29uc3QgKFNlbGV2ZW4sIDMxLiBBdWcgMjAwNSwgMTM6NDc6NDkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMjU0ODg4MDUgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpCaXMgamV0enQgaGF0IGluIE9wZXJhIChXaW5kb3dzLVZlcnNpb24pIGVpbiBGbGFzaC1CYW5uZXIgaW4gZGVyIHJlY2h0ZW4Kb2JlcmVuIEVja2UgZ2VuZXJ2dC4gRGFzIGlzdCBqZXR6dCB3ZWcgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogT3BlcmEgdW1zb25zdCAoUmVxdWllbSwgMzEuIEF1ZyAyMDA1LCAxMzo0OTozNyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9MTEyNTQ4ODIyNiByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5CkRhcyBtaXQgZGVuIGxlZXJlbiBGZWxkZXJuIGhhdHRlIGljaCBpbSBlcnN0ZW4gQW5sYXVmIGF1Y2guIE1pdCBkZXIgRWluZ2FiZQplaW5lciBhbmRlcmVuIE1haWxhZHJlc3NlIGdpbmcgZXMgZGFubi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE9wZXJhIHVtc29uc3QgKEdsb2luc29uLCAzMS4gQXVnIDIwMDUsIDEzOjU5OjI3KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTEyNTQ4ODk3NyByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5CkljaCBoYWIgYW4gZW50c3ByZWNoZW5kZSBBbmRyZXNzZSBlaW5mYWNoIG51ciBlaW5lIE1haWwgZ2VzY2hpY2t0LiBXZXNoYWxiIGljaApPcGVyYSBtYW5jaG1hbCBtYWc/IEtvbWlzY2hlIFNlaXRlbiwgZGllIG1pdCBkZW0gRmlyZWZveCBuaWNodCBnZWhlbiwgZGllIGljaAphYmVyIHNlaGVuIG1vZWNodGUsIGdlaGVuIGltIE9wZXJhIG9mdC4gVW5kIE9wZXJhIGthbm4gZGllIEdlc2FtdHNlaXRlIG1pdApCaWxkZXJuIHNlaHIga29uZm9ydGFiZWwgdmVyZ3JvZXNzZXJuLiBVbmQgbWFuY2htYWwgbWFnIGljaCBlaGVyIGRhcyB0YWJiZWQKQnJvd3Npbmcgdm9tIE9wZXJhLCB3YWhyc2NoZWlubGljaCBnaWJ0IGVzIGVpbiBQbHVnaW4gZnVlciBkZW4gRmlyZWZveCwgZGVyCmRhcyBlYmVuc28gZ2VzdGFsdGV0LCBhYmVyIGRhcyBoYWIgaWNoIG5vY2ggbmljaHQgZ2VmdW5kZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogT3BlcmEgdW1zb25zdCAoSGlnaGxhbmRlciwgMzEuIEF1ZyAyMDA1LCAxNTowMDozMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI1NDg5NTY3IHJnPXd3dwp+IyEgdGlkPTExMjU0ODQwNzkKSmEsIGdpYnQncyAoZGFzIHRhYmJlZCBicm93c2luZyBmdWVyIGZpcmVmb3gpLiBGcmFnIG1pY2ggYWJlcgpuaWNodCB3bywgaWNoIGJpbiBzZWxiZXIgT3BlcmEtTnV0emVyLiBBbnRoZWEgd2Vpc3Mgc293YXMuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE9wZXJhIHVtc29uc3QgKEdsb2luc29uLCAzMS4gQXVnIDIwMDUsIDE1OjUzOjIxKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEyNTQ5MzIzMCByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5Ck5hLCBkYXNzIGVzIHRhYmJlZCBicm93c2luZyBnaWJ0LCBpc3Qgc2Nob24ga2xhci4gQWJlciBkaWUgQXJ0IGRlciBSZWloZW5mb2xnZQpkZXMgV2llZGVyYXVmcnVmZW5zIGlzdCBiZWkgT3BlcmEgZWJlbiBhdWNoIGFucGFzc2JhcjogYmVpbSBTY2hsaWVzc2VuIHp1bQpuYWVjaHN0ZW4gRmVuc3RlciBvZGVyIHp1bSBsZXR6dGVuIHZvcmhlciBiZW51dHp0ZW4gc3ByaW5nZW4uIEphLCBpY2ggZGVua2UKZGFmdWVyIHdpcmQgZXMgZWluZW4gUGx1Z2luIGdlYmVuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogT3BlcmEgdW1zb25zdCAoSHVtbmksIDMxLiBBdWcgMjAwNSwgMTU6NTU6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNTQ5NjQwMSByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5ClNhZ3QgbWlyIGxpZWJlciBtYWwsIHdvbWl0IGljaCB1bnRlciBMaW51eCBicm93c2VuIHNvbGwuIE1laW5lCktvbnF1ZXJvci1WZXJzaW9uIHN0dWVyenQgZGF1ZXJuZCBhYiB1bmQgR2FsZW9uIGlzdCBtaXIgenUgbGFobS4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBPcGVyYSB1bXNvbnN0IChNYXJjdXMsIDMxLiBBdWcgMjAwNSwgMTU6NTU6MzcpOgp+IyEgcm49SHVtbmkgcnQ9MTEyNTQ5NjUwOSByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5Cm9wZXJhLi4uIGdlaHQgYXVjaCB1bnRlciBMaW51eC4gCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE9wZXJhIHVtc29uc3QgKENyb2Z0LCAzMS4gQXVnIDIwMDUsIDE1OjU2OjEzKToKfiMhIHJuPU1hcmN1cyBydD0xMTI1NDk2NTM3IHJnPXd3dwp+IyEgdGlkPTExMjU0ODQwNzkKTXVoemlsbGEgdW5kIEZpcmVmb3ggZ2lidHMgYXVjaCB1bnRlciBMaW51eC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBPcGVyYSB1bXNvbnN0IChHbG9pbnNvbiwgMzEuIEF1ZyAyMDA1LCAxNTo1Nzo1Nyk6Cn4jISBybj1Dcm9mdCBydD0xMTI1NDk2NTczIHJnPXd3dwp+IyEgdGlkPTExMjU0ODQwNzkKQWFhYWFsc28uIEljaCBoYWIgZ2VzdGVybiBPcGVyYSBDb2RlcyBiZWtvbW1lbjoKClRoYW5rIHlvdSBmb3IgY29udGFjdGluZyB1cy4gVG8gcmVnaXN0ZXIgdGhlIE9wZXJhIGJyb3dzZXIgYW5kIHJlbW92ZSB0aGUKYWQgYmFyLCB1c2UgdGhlIGFwcHJvcHJpYXRlIHJlZ2lzdHJhdGlvbiBjb2RlCmZvciB5b3VyIG9wZXJhdGluZyBzeXN0ZW0uCgpXaW5kb3dzIC0tPiAgPGRlbGV0ZWQ+CkxpbnV4IEludGVsIC0tPiA8ZGVsZXRlZD4KTGludXggUG93ZXJQQyAtLT4gPGRlbGV0ZWQ+CkxpbnV4IFNwYXJjIC0tPiA8ZGVsZXRlZD4KRnJlZUJTRCAtLT4gPGRlbGV0ZWQ+ClNvbGFyaXMgLS0+IDxkZWxldGVkPgpNYWMgLS0+IDxkZWxldGVkPgpFcG9jL1FOWCAtLT4gPGRlbGV0ZWQ+Ck9TLzIgLS0+IDxkZWxldGVkPgoKRGFzIGVpbiBFcG9jLUNvZGUgZGFiZWkgaXN0IGZpbmRlIGljaCBuZXR0LCBhdWYgZGVtIFBzaW9uIGdpYnQgZXMgbmFlbWxpY2gKc29uc3Qga2VpbmVuIHZlcm51ZW5mdGlnZW4gQnJvd3NlciB1bmQgUHNpb24tTGludXggaXN0IGlyZ2VuZHdhbm4gZW50c2NobGFmZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE9wZXJhIHVtc29uc3QgKEFudGhlYSwgMzEuIEF1ZyAyMDA1LCAxNjowMzoyNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI1NDk2Njc3IHJnPXd3dwp+IyEgdGlkPTExMjU0ODQwNzkKSGFldHRlc3QgZGllIENvZGVzIG5pY2h0IGxvZXNjaGVuIG11ZXNzZW4uIERhcyBzaW5kIGZ1ZXIgYWxsZSwgZGllIGRhIHVtc29uc3QKYW5nZWZyYWd0IGhhYmVuLCBuYWVtbGljaCBkaWUgc2VsYmlnZW4uIE5peCBwZXJzb25hbGlzaWVydGVzLiBVbmQgc3RlaGVuIGF1Y2gKYmVpIEhlaXNlIGltIEZvcnVtLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE9wZXJhIHVtc29uc3QgKEJhbWJ1bGtvLCAzMS4gQXVnIDIwMDUsIDE2OjAzOjQ1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjU0OTY2Nzcgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpJY2ggaGFiZSBkaWUgQ29kZXMgYXVjaCBiZWtvbW1lbiB1bmQgZXMga2xhcHB0IGdhbnogZ3V0LiBJY2ggd2Vpc3MgbnVyIG5pY2h0LApvYiBpY2ggbmFjaCBtZWluZW0gT3BlcmEgaGllciB1bnRlciBMaW51eCBhdWNoIG1laW4gT3BlcmEgenUgSGF1c2UgdW50ZXIKV2luZG93cyByZWdpc3RyaWVyZW4ga2Fubi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogT3BlcmEgdW1zb25zdCAoR2xvaW5zb24sIDMxLiBBdWcgMjAwNSwgMTY6MDY6MDkpOgp+IyEgcm49QW50aGVhIHJ0PTExMjU0OTcwMDcgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpOdXIga29taXNjaGUgTGV1dGUgbGVzZW4gaW0gSGVpc2UtRm9ydW0gdW5kIGRlcnplaXQgaXN0IG1pciBuaWNodCBrb21pc2NoCmdlbnVnIHp1bXV0ZSA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBPcGVyYSB1bXNvbnN0IChLaXJpYSwgMzEuIEF1ZyAyMDA1LCAyMjoyMDoxNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI1NDk3MTY5IHJnPXd3dwp+IyEgdGlkPTExMjU0ODQwNzkKV2VyIGRlbiBUZXJtaW4gaGV1dGUgdmVycGFzc3QgaGF0LCBkZW0ga2FubiBpbiBTYWNoZW4gT3BlcmEgYXVjaCBub2NoIGdlaG9sZmVuCndlcmRlbjoKTWVpbmUgVW5pIChUVSBEcmVzZGVuKSB6dW1pbmRlc3QgYmlldGV0IGF1ZiBpaHJlbiBXZWJzZWl0ZW4gZWluZW4KRnJlaXNjaGFsdGNvZGUgYW4uLi4gaWNoIG5laG1lIGFuLCBkYXNzIGRhcyBhdWNoIGFuZGVyZSBVbmlzIHR1bi4gRGEgbG9obnQKc2ljaCBhbHNvIG1hbCBuZSBTdWNoZSBhdWYgZGVuIFNlaXRlbiBkZXMgUlouCgpHcnVzcyAKS2lyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE9wZXJhIHVtc29uc3QgKFJlcXVpZW0sICAxLiBTZXAgMjAwNSwgMTE6MzA6NTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEyNTQ5NjQwMSByZz13d3cKfiMhIHRpZD0xMTI1NDg0MDc5CkR1IHN1Y2hzdCBuYWNoICJUYWJicm93c2VyIFByZWZlcmVuY2VzIiwgZWluZXIgRmlyZWZveC1FeHRlbnNpb24uIFNlaHIKc2Nob2VuZXMgRGluZy4gVm9yIGFsbGVtIHp1c2FtbWVuIG1pdCBkZW0gU2tpbiAiVGlueUZveCIuIFNlaHIKdWViZXJzaWNodGxpY2hlcyBicm93c2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogT3BlcmEgdW1zb25zdCAoWm9vaywgIDEuIFNlcCAyMDA1LCAxMTozMTo1OCk6Cn4jISBybj1SZXF1aWVtIHJ0PTExMjU1NjcwNTAgcmc9d3d3Cn4jISB0aWQ9MTEyNTQ4NDA3OQpJY2ggZmluZCBqYSBkb29mLCBkYXNzIGJlaSBGaXJlZm94IEYxMSAob2RlciBzbykgZ2xlaWNoIGluIGRlbiBWb2xsYmlsZC4KTW9kdXMgc2NoYWx0ZXQgdW5kIG5pY2h0IGZydWVoZXIgd2llIGJlaSBNb3ppbGxhIGVpbmZhY2ggbnVyIGRpZSBNZW51ZXMKdW5kIGRpZSBTdGF0dXN6ZWlsZSB3ZWduaW1tdC4gV2Vpc3MgamVtYW5kLCB3aWUgbWFuIGRhcyBlaW5zdGVsbGVuIGthbm4/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FobGhlbGZlciAoQ2Fzc2FuZHJhLCAgMS4gU2VwIDIwMDUsIDE1OjAwOjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjUyNTE2Nzggcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpTUEQtUERTLS1HcnVlbi0tRkRQLS0tLS1DRFUKUGFzc3QgZWluaWdlcm1hc3NlbiwgaGFldHRlIGRpZSBhYnN0YWVuZGUgYWJlciBncm9lc3NlciB2ZXJtdXRldC4KCkNhc3N5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWhsaGVsZmVyIChHbG9pbnNvbiwgIDEuIFNlcCAyMDA1LCAxNTozMTozOSk6Cn4jISBybj1HYXN0MSBydD0xMTI1NTgxMjIwIHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKV2llc28sIGR1IGJpc3QgZG9jaCBwZXIgc2UgRkRQLCBvZGVyIG5pY2h0PyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYWhsaGVsZmVyIChHbG9pbnNvbiwgIDEuIFNlcCAyMDA1LCAxNTo1MDozNyk6Cn4jISBybj1HYXN0MSBydD0xMTI1NTgyMjk3IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKSWNoIGRlbmtlIG5pY2h0LCBkYXNzIHNpY2ggR3J1ZW4tR2VsYiBpbiBwdW5jdG8gVW13ZWx0IGd1dCB2ZXJzdGVoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IFdhaGxoZWxmZXIgKEdyaW1tYm9ybiwgIDEuIFNlcCAyMDA1LCAxNTo1OToxMSk6Cn4jISBybj1HYXN0MSBydD0xMTI1NTgyODE5IHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKSmEsIGRhcyBpc3QgamEgaW4gZ2V3aXNzZW4gQmV2b2Vsa2VydW5nc3NjaGljaHRlbiB6aWVtbGljaCBwb3B1bGFlciwgZGllCnN0ZXVlcnN1YnZlbnRpb25pZXJ0ZSBWZXJzY2hhbmRlbHVuZyBkZXIgTGFuZHNjaGFmdCBkdXJjaCBrYXB1dHRlIFdhZWxkZXIKKGZvc3NpbCBiZXRyaWViZW5lIEtyYWZ0d2Vya2UpIGRlciBzdGV1ZXJzdWJ2ZW50aW9uaWVydGVuIFZlcnNjaGFuZGVsdW5nIGRlcgpMYW5kc2NoYWZ0IGR1cmNoIFdpbmRyYWVkZXIgdm9yenV6aWVoZW4uIE11c3MgbWFuIG5hdHVlcmxpY2ggbmljaHQgdGVpbGVuLApkaWVzZSBNZWludW5nLgpVbmQgaWNoIHZlcnN0ZWggZGFzIG5pY2h0OiBkaWVzZSBMZXV0ZSBicmVjaGVuIGltbWVyIGRhbm4gaW4KQmVnZWlzdGVydW5nc3N0dWVybWUgYXVzIHdlbm4gc2llIG1hbCBuZSBob2xsYWVuZGlnc2NoZSBXaW5kbXVlaGxlIHNlaGVuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogV2FobGhlbGZlciAoR2xvaW5zb24sICAxLiBTZXAgMjAwNSwgMTY6MDI6MzMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExMjU1ODMxNTEgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQpCYWNrdXA6CgpSdWJyaWsgNzI6IHd3dywgQXJ0aWtlbDogODAgdm9uIDgwClJlXjc6IFdhaGxoZWxmZXIgKEdhc3QxLCAgMS4gU2VwIDIwMDUsIDE1OjI3OjAwKToKW0JlenVnOiBBcnRpa2VsIDc5IHZvbiBDYXNzYW5kcmEgdm9tICAxLiBTZXAgMjAwNSwgMTU6MDA6MzhdCgpXZW5uIG1hbiBkYXMgc28gbGllc3QsIGtvZW5udGUgbWFuIGphIG1laW5lbiwgd2lyIHNpbmQgZWluZSBLb21tdW5lIC4uLiA6bykKCk1hKgoKClJ1YnJpayA3Mjogd3d3LCBBcnRpa2VsOiA4MSB2b24gODEKUmVeOTogV2FobGhlbGZlciAoR2FzdDEsICAxLiBTZXAgMjAwNSwgMTU6NDQ6NTcpOgpbQmV6dWc6IEFydGlrZWwgODAgdm9uIEdsb2luc29uIHZvbSAgMS4gU2VwIDIwMDUsIDE1OjMxOjM5XQoKTmVpbi4gSWNoIGJpbiBmciBHcm4tR2VsYiBhdWYgQnVuZGVzZWJlbmUsIHdvYmVpIGRpZSBHcm5lbiBiaXR0ZSBkaWUgRmluZ2VyCnZvbiBHZXN1bmRoZWl0LCBSZW50ZSB1bmQgQXJiZWl0c21hcmt0IGxhc3NlbiBzb2xsZW4gLi4uLgoKTWEqCgoKUnVicmlrIDcyOiB3d3csIEFydGlrZWw6IDgzIHZvbiA4MwpSZV4xMTogV2FobGhlbGZlciAoR2FzdDEsICAxLiBTZXAgMjAwNSwgMTU6NTM6MTkpOgpbQmV6dWc6IEFydGlrZWwgODIgdm9uIEdsb2luc29uIHZvbSAgMS4gU2VwIDIwMDUsIDE1OjUwOjM3XQoKSWNoIGRlbmtlLCBkYXNzIGRhcywgd2FzIGRhbm4gcmF1c2tvbW10LCBzb3dvaGwgZGVuIGthcGl0YWxpc3Rpc2NoZW4gUmF1CmFscyBhdWNoIGRpZSBTdGV1ZXJzdWJ2ZW50aW9uaWVydGUgTGFuZHNjaGFmdHN2ZXJzY2hhbmRlbHVuZyBkdXJjaCBXaW5kcmRlcgp2ZXJoaW5kZXJ0IC4uLiBkYSB3b2xsdGUgaWNoIGhpbiAuLi4uCgoKTWEqCgoKUnVicmlrIDcyOiB3d3csIEFydGlrZWw6IDg0IHZvbiA4NApSZV4xMjogV2FobGhlbGZlciAoR2FzdDEsICAxLiBTZXAgMjAwNSwgMTU6NTM6MzkpOgpbQmV6dWc6IEFydGlrZWwgODMgdm9uIEdhc3QxIHZvbSAgMS4gU2VwIDIwMDUsIDE1OjUzOjE5XQoKYWVoLiBSYXViYmF1IC4uLiB4dGVybSBwdXIgOy1dCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdhaGxoZWxmZXIgKEdyaW1tYm9ybiwgIDEuIFNlcCAyMDA1LCAxNjowNDoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI1NTgzMzUzIHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKRGFua2UuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXYWhsaGVsZmVyIChHcmltbWJvcm4sICAxLiBTZXAgMjAwNSwgMTY6MDY6MDcpOgp+IyEgcm49R2FzdDEgcnQ9MTEyNTU4MzQ1NyByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5CkdlbmVyZWxsIGthbm4gbWFuIHNpY2hlciBkaWUgbWVpc3RlbiBTdWJ2ZW50aW9uZW4gc3RyZWljaGVuICh3b2JlaSBtYW4gYWIgdW5kCnp1IGRpc2t1dGllcmVuIGthbm4gd2FzICJTdWJ2ZW50aW9uIiBiZWRldXRldCkuIE5hdHVlcmxpY2ggbmljaHQgZGllLCB2b24KZGVuZW4gaWNoIHNlbGJlciBwcm9maXRpZXJlLCBrbGFyLgoKVW5kIG5laW4sIGVzIGlzdCBuaWNodCBzY2hpem9waHJlbiBhdWYgQXJ0aWtlbCB6dSBhbnR3b3J0ZW4sIGRpZSBtYW4gZ2Vsb2VzY2h0CmhhdC4gIlNjaGl6b3BocmVuIiBpc3Qgd2FzIGFuZGVyZXMuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBXYWhsaGVsZmVyIChab29rLCAgMi4gU2VwIDIwMDUsIDExOjIwOjUwKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI1NTgzMTUxIHJnPXd3dwp+IyEgdGlkPTExMjUwNjczNTkKU2luZCBXYWVsZGVyIGthcHV0dD8gSWNoIGhvZXJ0ZSBuZXVsaWNoIGVpbmVuIFdpc3NlbnNjaGFmdGxlciwgZGVyIG1laW50ZSwKZGFzcyBkYXMgV2FsZHN0ZXJiZW4gbWVociBlaW4gcG9saXRpc2NoZXMgUGhhZW5vbWVuIHNlaS4uLiA7KQoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBXYWhsaGVsZmVyIChKYWRhd2luLCAgMi4gU2VwIDIwMDUsIDExOjIyOjMyKToKfiMhIHJuPVpvb2sgcnQ9MTEyNTY1Mjg1MCByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5CkthcHV0dGUgV2FlbGRlcj8gSC5NLiBFaXNlcmVyIHdpcmRzIGZyZXVlbi4uLgpKYWQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmb3JzY2h1bmcgZGllIGRpZSB3ZWx0IChuaWNodCkgYnJhdWNodCAoTW9wcGksICA1LiBTZXAgMjAwNSwgMDE6MjU6NTMpOgpEaWUgYmVzdGVuIEFyYmVpdGVuIGZ1ZXIgZGVuIElnIE5vYmVscHJlaXM6Cmh0dHA6Ly90aW55dXJsLmNvbS9hc3NzcwoKVWVicmlnZW5zIHdlbHR3b2NoZSBpc3QgZnVlciBtaWNoIGVpbmUgZGVyIGJlc3RlbiBaZWl0dW5nZW4gYXVmIGRlbQpkZXV0c2Noc3ByYWNoaWdlbiBNYXJrdC4gSWNoIHVlYmVybGVnZSBiZXJlaXRzIG9iIGljaCBzaWUgbWlyIGFiYm9uaWVyZS4KCk1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBmb3JzY2h1bmcgZGllIGRpZSB3ZWx0IChuaWNodCkgYnJhdWNodCAoWm9vaywgIDUuIFNlcCAyMDA1LCAwOTozMjoyNCk6Cn4jISBybj1Nb3BwaSBydD0xMTI1ODc2MzUzIHJnPXd3dwp+IyEgdGlkPTExMjU4NzYzNTMKc2VsdGVuIGdlbGVzZW4uIAp6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IFdhaGxoZWxmZXIgKEdyaW1tYm9ybiwgIDUuIFNlcCAyMDA1LCAxMjozMToxNik6Cn4jISBybj1ab29rIHJ0PTExMjU2NTI4NTAgcmc9d3d3Cn4jISB0aWQ9MTEyNTA2NzM1OQp1bmQgbWl0ICJXaXNzZW5zY2hhZnRsZXIiIG1laW5zdCBEdSB2ZXJtdXRsaWNoIHdpZWRlciBzbyBlaW5lbgpXaXJ0c2NoYWZ0c3RoZW9sb2dlbj8gWm9vaywgWm9vaywgWm9vaywgaWNoIGhhYiBEaXIgZG9jaCBzY2hvbiBzbyBvZnQgZ2VzYWd0CkR1IHNvbGxzdCBkYXMgbmljaHQgaW1tZXIgdmVyd2VjaHNlbG4uClVuZCB0YXRzYWVjaGxpY2ggaXN0IGRhcyBXYWxkc3RlcmJlbiBwcmltYWVyIGVpbiBmb3JzdHdpcnRzY2hhZnRsaWNoZXMKUHJvYmxlbSwgZGFzIHBvbGl0aXNjaCBnZWxvZXN0IHdlcmRlbiBtdXNzLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogV2FobGhlbGZlciAoWm9vaywgIDUuIFNlcCAyMDA1LCAxNDoxMDo0Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTEyNTkxNjI3NiByZz13d3cKfiMhIHRpZD0xMTI1MDY3MzU5Ck5vZS4gV2FyIGVpbiBOYXR1cndpc3NlbnNjaGFmdGxlci4uLi4gZm9yc2NodGUgaXJnZW5kd28gaW0gRlogSnVlbGljaCBvZGVyCnNvLCB3ZW5uIGljaCBtaWNoIHJlY2h0IGVudHNpbm5lLgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5jb2ggZWlucz8gKE1vcHBpLCAgNS4gU2VwIDIwMDUsIDE0OjU3OjM5KToKd3d3Lnp3ZWl0ZXNkdWVsbC5kZQoKTW9wcGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5jb2ggZWlucz8gKEdsb2luc29uLCAgNS4gU2VwIDIwMDUsIDE1OjE2OjAzKToKfiMhIHJuPU1vcHBpIHJ0PTExMjU5MjUwNTkgcmc9d3d3Cn4jISB0aWQ9MTEyNTkyNTA1OQpJbnRlcmVzc2FudCBmaW5kZSBpY2ggZGFzIHVucGFzc2VuZGUgImxhY2hlbiBzaWUgbmljaHQgenUgZnJ1ZWgiLiBPZGVyIGhhdApBbmdlbGEgaW0gUmFobWVuIGRpZXNlciBSZWRlIG5vY2ggaXJnZW5kd2VsY2hlIFdpdHplIGdlcmlzc2VuPwpTZWl0IGdlc3Rlcm4gYmluIGljaCBkYXZvbiB1ZWJlcnpldWd0LCBkYXNzIHdpciB1bnRlciBzY2h3YXJ6Z2VsYiBiZWkKU3RhYXRzZW1wZmFlbmdlbiBsaWViZXIgaW1tZXIgZGVuIHp1a3VlbmZ0aWdlbiAod2VuIGF1Y2ggaW1tZXIpIEF1c3Nlbm1pbmlzdGVyCnNwcmVjaGVuIGxhc3NlbiBzb2xsdGVuLiBGcmVpIHNwcmVjaGVuIGthbm4gRnJhdSBNZXJrZWwgaXJnZW5kd2llIG5pY2h0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmNvaCBlaW5zPyAoT2dvLCAgNS4gU2VwIDIwMDUsIDE1OjI0OjUyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExMjU5MjYxNjMgcmc9d3d3Cn4jISB0aWQ9MTEyNTkyNTA1OQpTdG9pYmVyIHd1cmRlIGphIHp3ZWl0d2Vpc2UgYXVjaCBmdWVyIGRlcyBBbXQgZGVzIFZpemVrYW56bGVycyBnZWhhbmRlbHQsIGRhCnd1ZXJkZSBpY2ggZGFzICJ3ZXIgYXVjaCBpbW1lciIgZXR3YXMgcmVhbGlzaWVyZW4uIEFiZXIgd2llJ3MgYXVzc2llaHQgZ2VpZXJ0CmRpZSBGRFAgZG9jaCBuYWNoIGRlbSBQb3N0ZW4sIG1hbCBzY2hhdWVuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBuY29oIGVpbnM/IChIdW1uaSwgIDUuIFNlcCAyMDA1LCAxNToyNjo1Nik6Cn4jISBybj1PZ28gcnQ9MTEyNTkyNjY5MiByZz13d3cKfiMhIHRpZD0xMTI1OTI1MDU5CldhcnVtIGlzdCBWaWV6ZWthbnpsZXIgZWlnZW50bGljaCBpbW1lciBnbGVpY2ggQXVzc2VubWluaXN0ZXI/IEF1Y2ggd2VubiBpY2gKSm9zY2hrYSBuaWNodCBpbW1lciB0b2xsIGZhbmQsIHdhciBlciB6d2FyIG5pY2h0IHNjaGxlY2h0IGluIGRlbSBBbXQsIGFiZXIgc28KamVtYW5kIHdpZSBXZXN0ZXJ3ZWxsZSAob2huZSBkZW4gamV0enQgdG9sbCB6dSBmaW5kZW4pIHdhZXJlIGRvY2ggc2ljaGVyIGFscwpXaXJ0c2NoYWZ0c21hbm4gYmVzc2VyIGF1ZmdlaG9iZW4sIHp1bWluZGVzdCwgc28gd2llIGVyIHNpY2ggc2VsYnN0IGltbWVyCmRhcnN0ZWxsdC4gT2RlciBGaW5hbnplbi4gQWJlciBpY2ggd2Vpc3MgbmljaHQsIEF1c3Nlbm1pbmlzdGVyIGlzdCBkZXIgZG9jaAplaGVyIHdlbmlnZXI/IFVlYnJpZ2VucyBmYW5kIGljaCBLaW5rZWwgZGEgYXVjaCBpbW1lciB1bnBhc3NlbmQsIEdlbnNjaGVyCmhpbmdlZ2VuIG5pY2h0LgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IG5jb2ggZWlucz8gKE9nbywgIDUuIFNlcCAyMDA1LCAxNTozMDoxNCk6Cn4jISBybj1IdW1uaSBydD0xMTI1OTI2ODE2IHJnPXd3dwp+IyEgdGlkPTExMjU5MjUwNTkKPiBXYXJ1bSBpc3QgVmllemVrYW56bGVyIGVpZ2VudGxpY2ggaW1tZXIgZ2xlaWNoIEF1c3Nlbm1pbmlzdGVyPwpXZWlsIGVzIGRhcyB6d2VpdGhvZWNoc3RlIEFtdCBpbm5lcmhhbGIgZGVyIFJlZ2llcnVuZyBpc3QsIG11dG1hc3NlIGljaCBtYWwuClVuZCB3ZW5uIGRlciBWaXpla2FuemxlciBkZXIgTWluaXN0ZXIgZnVlciBTcG9ydCxSZW50ZXIsRnJhdWVuIHVzdy4gd2FlcmUsCmthZW1lIGRhcyBnZ2YgZGVyIEJlZGV1dHVuZyBuaWNodCBnZXJlY2h0LiBBbHMgR3J1bmQga29lbm50ZSBtYW4gZXZlbnR1ZWxsCmF1Y2ggZGVuIHVud2FocnNjaGVpbmxpY2hlbiBLcmllZ3NmYWxsIGhlcmFuemllaGVuLiBXZW5uIGRlciBLYW56bGVyIHdlZyBpc3QsCmxpZWd0IGRhcyBTY2hpY2tzYWwgZGVzIExhbmRlcyAoaG9mZmVudGxpY2gpIGFtIGJlc3RlbiBpbiBkZW4gSGFlbmRlbiBkZXMKQXVzc2VubWluaXN0ZXJzLi4uCgpPZ28sIHVlYmVybGVnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBuY29oIGVpbnM/IChab29rLCAgNS4gU2VwIDIwMDUsIDE1OjMxOjI0KToKfiMhIHJuPU9nbyBydD0xMTI1OTI2NjkyIHJnPXd3dwp+IyEgdGlkPTExMjU5MjUwNTkKSWNoIHppdGllcmUgZWluZSBLdXJ6bmFjaHJpY2h0IGVpbmVzIGd1dGVuIEJla2FubnRlbiB2b24gbWlyOgoKLS0KMDUtMDktMDMsIDIxOjUxClN0dXR0ZyB6ZWl0dW5nOiBzY2hvZW5ib2htIHdpcmQgdmVydGVpZGlndW5nc21pbmlzdC4gZ290dCBzdGVoIHVucyBiZWkhCi0tCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogbmNvaCBlaW5zPyAoWm9vaywgIDUuIFNlcCAyMDA1LCAxNTozMzozNCk6Cn4jISBybj1PZ28gcnQ9MTEyNTkyNzAxNCByZz13d3cKfiMhIHRpZD0xMTI1OTI1MDU5Cldlbm4gaWNoIGRhcyByZWNodCBpbiBFcmlubmVydW5nIGhhYmUsIHZlcnRyaXR0IGRlciBWaXpla2FuemxlciBkZW4gCkJ1bmRlc2thbnpsZXIgbHQuIEdlc2NoYWVmdHNvcmRudW5nIGRlcyBCdW5kZXNrYWJpbmV0dHMgYmVpIFZlcmhpbmRlcnVuZwpkZXMgQnVuZGVza2FuemxlcnMgKHRvbGxlciBTYXR6YmF1ISkuIERhIHdpcmQgbWFuIHdvaGwgc2VpdGVucyBkZXMKS29hbGl0aW9uc3BhcnRuZXJzIHdvaGwgaW1tZXIgc2VpbmVuIHByb2ZpbGllcnRlc3RlbiBiencuIGJlZGV1dGVuc3RlbgpNaW5pc3RlciBpbnMgUmVubmVuIHNjaGlja2VuLiBJY2ggdmVybXV0ZSwgZGFzIGlzdCB6dWZhZWxsaWdlcndlaXNlIG9mdApkZXIgQXVzc2VubWluaXN0ZXIgZ2V3ZXNlbi4uLi4gCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGVtbWluZ3MgZnVlciBad2lzY2hlbmR1cmNoLi4uIChDaGFnYWxsLCAgNS4gU2VwIDIwMDUsIDIwOjE1OjA1KToKaHR0cDovL3d3dy5mdW5ueWdhbWVzLm5sL3NwZWxsZXRqZXMvMjM5OS5odG1sCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFycnkgUG90dGVyIGlzdCBTYXRhbiEgKEx1ZywgIDkuIFNlcCAyMDA1LCAwNTowNzoyNSk6CkhpaGk6CgpodHRwOi8vd3d3LnRyYWRpdGlvbmFsdmFsdWVzLm9yZy9tb2R1bGVzLnBocD9zaWQ9MTQ0CgpJcyBIYXJyeSBQb3R0ZXIgQSBIYXJtbGVzcyBGYW50YXN5IE9yIFdpY2NhIFRyYWluaW5nIFByb2dyYW0/Cldhc2hpbmd0b24sIERDIC0gVGhlIHBvcHVsYXIgIkhhcnJ5IFBvdHRlciIgc2VyaWVzIGJ5IEouSy4gUm93bGluZyBoYXMgc29sZAoxMDAgbWlsbGlvbiBjb3BpZXMgd29ybGR3aWRlIGFuZCB0aGlzIE5vdmVtYmVyLCBXYXJuZXIgQnJvdGhlcnMgaXMgcmVsZWFzaW5nCiJIYXJyeSBQb3R0ZXIgYW5kIHRoZSBTb3JjZXJlcidzIFN0b25lLiIKCldpdGggYSBsb3QgbGVzcyBmYW5mYXJlIGFuZCBhIHNpZ25pZmljYW50bHkgc21hbGxlciBidWRnZXQsIENhbGlmb3JuaWEtYmFzZWQKSmVyZW1pYWggRmlsbXMgKGplcmVtaWFoZmlsbXMuY29tKSBoYXMganVzdCByZWxlYXNlZCBhIGRvY3VtZW50YXJ5IG9uIEhhcnJ5ClBvdHRlcjogIkhhcnJ5IFBvdHRlcjogV2l0Y2hjcmFmdCBSZXBhY2thZ2VkLiIgVGhlIHZpZGVvLCBuYXJyYXRlZCBieSBhdXRob3IKUm9iZXJ0IFMuIE1jR2VlLCBhbmQgb2NjdWx0IHJlc2VhcmNoZXIgQ2FyeWwgTWF0cmlzY2lhbmEsIHRha2VzIHRoZSB2aWV3ZXIgb24KZ3JpbSBqb3VybmV5IGludG8gdGhlIHdvcmxkIG9mIHdpdGNoY3JhZnQsIGdvZGRlc3Mgd29yc2hpcCwgYW5kIG9jY3VsdApzeW1ib2xpc20tYWxsIG1lc3NhZ2VzIGNvbnZleWVkIGluIHRoZSBIYXJyeSBQb3R0ZXIgYm9va3MuCgpDaHJpc3RpYW5zIGFyZSByaWdodGx5IGNvbmNlcm5lZCBhYm91dCB0aGUgc3Bpcml0dWFsIG1lc3NhZ2VzIGJlaW5nIGNvbnZleWVkCnRocm91Z2ggdGhlIEhhcnJ5IFBvdHRlciBib29rcy4gV2ljY2Egb3Igd2l0Y2hjcmFmdCBpcyBjbGVhcmx5IGNvbmRlbW5lZCBpbgpib3RoIHRoZSBPbGQgYW5kIE5ldyBUZXN0YW1lbnRzIGFzIGFuIGFib21pbmF0aW9uIHRvIEdvZC4gUHJhY3RpdGlvbmVycyBvZgpXaWNjYSB3b3JzaGlwIG15dGhpY2FsIGdvZGRlc3NlcywgaW5jbHVkaW5nIHRoZSBnb2RkZXNzICJHYWlhIiAodGhlIGVhcnRoKSwKYW5kIGluY29ycG9yYXRlIHJhZGljYWwgZmVtaW5pc20gYW5kIGhvbW9zZXh1YWxpdHkgaW50byB0aGVpciBwcmFjdGljZXMuCkFjY29yZGluZyB0byBmZW1pbmlzdHMgTW9uaWNhIFNqb28gYW5kIEJhcmJhcmEgTW9yLCBpbiAiVGhlIEdyZWF0IENvc21pYwpNb3RoZXIsIiAiVGhlIG9yaWdpbmFsIHdpdGNoIHdhcyB1bmRvdWJ0ZWRseSBibGFjaywgYmlzZXh1YWwsIGEgd2Fycmlvci4iCgpEYW5pZWwgU3BlbmNlciwgYSBwcm9mZXNzb3Igb2YgcGhpbG9zb3BoeSBhbmQgcmVsaWdpb24gaXMgYXV0aG9yIG9mICJHYXkgYW5kCkdhaWE6IEV0aGljcywgRWNvbG9neSwgYW5kIHRoZSBFcm90aWMuIiBTcGVuY2VyIGFyZ3VlcyB0aGF0IGhvbW9zZXh1YWxpdHkgYW5kCmVhcnRoIHdvcnNoaXAgbXVzdCBiZSBzeW50aGVzaXplZCB0byBjcmVhdGUgYSBuZXcgZWNvLWhvbW9lcm90aWMgbW9yYWwgZXRoaWMKdG8gcnVsZSB0aGUgd29ybGQuIEhlIGFsc28gY29uZGVtbnMgQ2hyaXN0aWFuaXR5IGFzIGFuIG9wcHJlc3NpdmUgcmVsaWdpb3VzCnN5c3RlbSBhbmQgYSB0aHJlYXQgdG8gdGhpcyBuZXcgd29ybGQgcmVsaWdpb24uIEFzIHRoZW9sb2dpYW4gRHIuIFBldGVyIEpvbmVzCmhhcyB3cml0dGVuIGluIGhpcyBib29rLCAiU3Bpcml0IFdhcnM6IFBhZ2FuIFJldml2YWwgaW4gQ2hyaXN0aWFuIEFtZXJpY2EiCihzcGlyaXQtd2Fycy5jb20pOiAiV2hpbGUgbm90IGFsbCBob21vc2V4dWFscyBhcmUgb3ZlcnRseQphbnRpLUNocmlzdGlhbi1pbmRlZWQgc29tZSBjbGFpbSB0byBiZSBDaHJpc3RpYW4tb25lIG1heSBub3QgdW5kZXJlc3RpbWF0ZSB0aGUKcm9sZSBvZiBob21vc2V4dWFsIHRoZW9yeSBpbiB0aGUgbm9ybWFsaXphdGlvbiBvZiBwYWdhbmlzbSBpbiB0aGUgQ2hyaXN0aWFuCldlc3QuIgoKSW4gYWRkaXRpb24gdG8gd29yc2hpcHBpbmcgdGhlIGVhcnRoIGFuZCBhZHZvY2F0aW5nIGhvbW9zZXh1YWxpdHksIHdpdGNoZXMKYWxzbyBiZWxpZXZlIGluIGFib3J0aW9uIGFzIGEgc2FjcmVkIGFjdC4gIlRoZSBTYWNyYW1lbnQgb2YgQWJvcnRpb24sIiBieQpHaW5ldHRlIFBhcmlzIGFwcGxhdWRzIHRoZSBnb2RkZXNzIEFydGVtaXMgZm9yIGp1c3RpZnlpbmcgdGhlIHRha2luZyBvZiBodW1hbgpsaWZlLgoKV2hpbGUgdGhlIHRoZW1lcyBpbiBIYXJyeSBQb3R0ZXIncyBib29rcyBkbyBub3QgZXhwcmVzc2x5IGFkdm9jYXRlCmhvbW9zZXh1YWxpdHkgb3IgYWJvcnRpb24sIHRoZXNlIGFyZSBwaGlsb3NvcGhpY2FsIGJlbGllZnMgZGVlcGx5IGVtYmVkZGVkIGluCldpY2NhLiBUaGUgY2hpbGQgd2hvIGlzIHNlZHVjZWQgaW50byBhIFdpY2NhIHRocm91Z2ggSGFycnkgUG90dGVyJ3MgYm9va3Mgd2lsbApldmVudHVhbGx5IGJlIGludHJvZHVjZWQgdG8gdGhlc2Ugb3RoZXIgY29uY2VwdHMuCgpSZWdyZXR0YWJseSwgY29ycG9yYXRlIEFtZXJpY2EgaGFzIG5vdyBqb2luZWQgdGhlIEhhcnJ5IFBvdHRlciBqdWdnZXJuYXV0LgpDb21wYW5pZXMgbGlrZSBTZWFycyBhbmQgQ29jYSBDb2xhIGFyZSBwcm92aWRpbmcgdGhlIEhhcnJ5IFBvdHRlciBtb3ZpZSBhbmQKbWFya2V0aW5nIGVtcGlyZSB3aXRoIG1pbGxpb25zIGluIGFkdmVydGlzaW5nIHJldmVudWUgYW5kIHNwaW4gb2ZmIHByb2R1Y3RzLgpDaHJpc3RpYW4gY3VzdG9tZXJzIHNob3VsZCBtYWtlIHRoZWlyIGRpc3BsZWFzdXJlIGtub3duIHRvIHRoZXNlIGNvbXBhbmllcy4KCkJvdGggQ2hyaXN0aWFuIGFuZCBub24tQ2hyaXN0aWFuIHBhcmVudHMgd291bGQgYmUgd2VsbC1hZHZpc2VkIHRvIHRha2UgYSBsb25nLApoYXJkIGxvb2sgYXQgdGhlIEhhcnJ5IFBvdHRlciBzZXJpZXMgYmVmb3JlIGFsbG93aW5nIHRoZWlyIGNoaWxkcmVuIHRvIHJlYWQKdGhlbS4gVHdvIGdvb2Qgc3RhcnRpbmcgcG9pbnRzIHdvdWxkIGJlOiAiSGFycnkgUG90dGVyOiBXaXRjaGNyYWZ0ClJlcGFja2FnZWQsIiBhbmQgRHIuIEpvbmVzJyAiU3Bpcml0IFdhcnMuIiBQYXJlbnRzIGFuZCBwYXN0b3JzIHNob3VsZCBiZQpkZWVwbHkgY29uY2VybmVkIGFib3V0IEhhcnJ5IFBvdHRlcidzIGluZmx1ZW5jZSBvdmVyIGNoaWxkcmVuIGJ5IGludHJvZHVjaW5nCnRoZW0gdG8gYSBwYWdhbiByZWxpZ2lvdXMgc3lzdGVtIHRoYXQgcHJvbW90ZXMgYWJvcnRpb24sIGhvbW9zZXh1YWxpdHksIGFuZAplYXJ0aCB3b3JzaGlwLgoKQ2h1cmNoZ29lcnMgc2hvdWxkIGVuY291cmFnZSB0aGVpciBwYXN0b3JzIHRvIHNob3cgIkhhcnJ5IFBvdHRlcjogV2l0Y2hjcmFmdApSZXBhY2thZ2VkIiB0byB0aGVpciBjb25ncmVnYXRpb25zLiBBbmQgaWYgYSBwYXN0b3IgZGlzY291bnRzIHRoZSBkYW5nZXIgb2YKSGFycnkgUG90dGVyIHRvIGhpcyBmbG9jayBhbmQgcmVmdXNlcyB0byBzaG93IHRoZSB2aWRlbywgYXR0ZW5kZWVzIG1heSB3YW50IHRvCnByYXllcmZ1bGx5IGNvbnNpZGVyIGZpbmRpbmcgYSBjaHVyY2ggdGhhdCBpcyBtb3JlIHNlcmlvdXMgYWJvdXQgc3Bpcml0dWFsCndhcmZhcmUuIAoKSmFqYS4uLgoKCkFkIE1ham9yZW0gU2F0aGFuYXMgR2xvcmlhbQpMdWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJyeSBQb3R0ZXIgaXN0IFNhdGFuISAoR3JpbW1ib3JuLCAgOS4gU2VwIDIwMDUsIDA1OjM5OjIwKToKfiMhIHJuPUx1ZyBydD0xMTI2MjM1MjQ1IHJnPXd3dwp+IyEgdGlkPTExMjYyMzUyNDUKSXN0IGRhcyBuaWNodCBlaW4gd2VuaWcgYmVmcmVtZGxpY2gsIGRhc3MgYXVzZ2VyZWNobmV0IER1IHNvIGVpbmUgQW5zaWNodCBoaWVyCnZlcnRyaXR0c3QgdW5kIHZlcmJyZWl0ZXN0PwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb29nbGVzIE5ldWdpZXJkZSAoT2dvLCAgOS4gU2VwIDIwMDUsIDIzOjUyOjE3KToKTWlyIGlzdCBoZXV0ZSBhdWZnZWZhbGxlbiwgZGFzcyBHb29nbGUgbmV1ZXJkaW5ncyBkaWUgTGlua3MgaW4gZGVuClN1Y2hlcmdlYm5pc3NlbiBhYmZhZW5ndC4gSWNoIHVuZCAod2llIGljaCBnZW1lcmt0IGhhYmUpIGVpbmlnZSBhbmRlcmUgc2luZApkZXIgTWVpbnVuZywgZGFzcyBlcyBHb29nbGUgbmljaHRzIGFuZ2VodCwgYXVmIHdlbGNoZSBMaW5rcyBkZXIgRXJnZWJuaXNzZSBpY2gKa2xpY2tlLiBHb29nbGUgYXZhbmNpZXJ0IHp1bSBEYXRlbnNhbW1lbG1vbnN0ZXIgdW5kIG1pciBnZWZhZWxsdCBkYXMgbmljaHQuCk1vbWVudGFuIGlzdCBlcyBzbyByZWFsaXNpZXJ0LCBkYXNzIEdvb2dsZSBtaXR0ZWxzIG9uTW91c2VDbGljayBpbSBMaW5rdGFnIDxhPgpkaWUgVVJMIG5ldXNjaHJlaWJ0LCB3ZW5uIG1hbiBsZXR6dGVuZGxpY2ggZHJhdWZrbGlja3QsIGRhZHVyY2ggbWVya3QgbWFuCmRhdm9uIG5vcm1hbGVyd2Vpc2UgbmljaHRzLiBTaWNodGJhciB3aXJkIGRpZXNlcyBQaGFlbm9tZW4sIHdlbm4gbWFuIGF1ZiBlaW5lbgpMaW5rIGtsaWNrdCB1bmQgZGllIE1hdXN0YXN0ZSBnZWRydWVja3QgaGFlbHQuCgpLbGVpbmVzIEFuc2NoYXV1bmdzYmVpc3BpZWw6IGh0dHA6Ly93d3cuZ29vZ2xlLmRlL3NlYXJjaD9xPW1vcmdlbmdyYXVlbgpOdW4gc2llaHQgZGVyIGVyc3RlIExpbmsgZ2FueiBoYXJtbG9zIGF1czogaHR0cDovL21nLm11ZC5kZQpTb2JhbGQgbWFuIGFiZXIgZGFyYXVma2xpY2t0IHdpcmQgZGllIFVSTCB1bWdlc2NocmllYmVuLCBzbyBkYXNzIGJlaSBlaW5lbQpLbGljayBhdWYgZGVuIExpbmsgZm9sZ2VuZGUgU2VpdGUga29udGFrdGllcnQgd2lyZDoKaHR0cDovL3d3dy5nb29nbGUuZGUvdXJsP3NhPXQmY3Q9cmVzJmNkPTEmdXJsPWh0dHA6Ly9tZy5tdWQuZGUvJmVpPUh3TWlRNnU0RjVHClVpQUw2c2FzZAoKV2VyIGF1Y2ggbmljaHQgbW9lY2h0ZSwgZGFzcyBHb29nbGUgbWl0YmVrb21tdCwgd29yYXVmIG1hbiBrbGlja3QsIGRlciBtb2VnZQpmb2xnZW5kZXMgaW4gc2VpbmUgRmlyZWZveCBwcmVmcy5qcyBlaW50cmFnZW4uIERpZXMgaGF0IGFiZXIgenUgZ2VzY2hlaGVuLAp3ZW5uIGRlciBCcm93c2VyIF9uaWNodF8gbGFldWZ0LCBkYSBkaWVzZXIgZGllIHByZWZzLmpzIGJlaW0gQmVlbmRlbiBuZXUKdWViZXJzY2hyZWlidC4KCnVzZXJfcHJlZigiY2FwYWJpbGl0eS5wb2xpY3kucG9saWN5bmFtZXMiLCAibm9qcyIpOwp1c2VyX3ByZWYoImNhcGFiaWxpdHkucG9saWN5Lm5vanMuc2l0ZXMiLCAiaHR0cDovL3d3dy5nb29nbGUuZGUKaHR0cDovL3d3dy5nb29nbGUuY29tIGh0dHA6Ly9nb29nbGUuZGUgaHR0cDovL2dvb2dsZS5jb20iKTsKdXNlcl9wcmVmKCJjYXBhYmlsaXR5LnBvbGljeS5ub2pzLmphdmFzY3JpcHQuZW5hYmxlZCIsICJub0FjY2VzcyIpOwoKT2dvLCBwYXJhbm9pZCAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXJyeSBQb3R0ZXIgaXN0IFNhdGFuISAoS2VsbHlidW5keSwgMTAuIFNlcCAyMDA1LCAxNDo1MzozNSk6Cn4jISBybj1MdWcgcnQ9MTEyNjIzNTI0NSByZz13d3cKfiMhIHRpZD0xMTI2MjM1MjQ1Ck9oLiBVbmQgd2FubiB2ZXJiaWV0ZW4gZGllIEFtaXMgZW5kbGljaCBCYXNlYmFsbHNjaGxhZWdlciwgd2VpbCBtYW4gZGFtaXQgc28KcHJpbWEgS2llZmVyY2hpcnVyZ2llIGJldHJlaWJlbiBrYW5uPwoKSnVzdCBNeSAyIEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJvZXNlIGhheHgwciAoTW9yZ290aCwgMTEuIFNlcCAyMDA1LCAyMToxNjowOSk6Cmh0dHA6Ly93d3cuYW5kcmV3LmNtdS5lZHUvdXNlci9oYWZmL2h1bW9yL2xvbG9sLnN3ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9jaHdlcnRpZ2UgS2FtZXJhISAoR2xvaW5zb24sIDEyLiBTZXAgMjAwNSwgMTU6MjQ6NTgpOgouLi4gbWl0IEF1Z2Vuendpbmtlcm4uIFNjaGFldHplLCBkZXIgTWFubiBoYXR0ZSBndXRlbiBGcnVzdCAoRWJheSk6Cmh0dHA6Ly90aW55dXJsLmNvbS83d25obgoKSGllciBkaWUgZWlnZW50bGljaGVuIERldGFpbHM6Cmh0dHA6Ly93d3cua2FtZXJhbXVzZXVtLmRlL2Nhbm9tYXRpYy9pbmRleC5odG0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEdWJ5YXNwZWFrIChCcmFuLCAxMi4gU2VwIDIwMDUsIDE4OjAyOjAxKToKCmh0dHA6Ly9kdWJ5YXNwZWFrLmNvbS8KCk1hbiB3ZWlzcyBuaWUsIG9iIG1hbiBsYWNoZW4gb2RlciB3ZWluZW4gc29sbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKEppbWRpZ3JpeiwgMTMuIFNlcCAyMDA1LCAxMzozNTozMCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTEyNTA5Mjg4OSByZz13d3cKfiMhIHRpZD0xMTI1MDkwNDgyCkouSS5NLkQuSS5HLlIuSS5aLjogSm91cm5leWluZyBJbnRlbGxpZ2VudCBNYWNoaW5lIERlc2lnbmVkIGZvciBJbmZpbHRyYXRpb24sCkdhbGFjdGljIFJlcGFpciBhbmQgSW1tZWRpYXRlIFpvb2xvZ3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFRoZSBDeWJvcmcgTmFtZSBHZW5lcmF0b3IgKE1haGFyZXQsIDEzLiBTZXAgMjAwNSwgMTU6MzA6MjApOgp+IyEgcm49SmltZGlncml6IHJ0PTExMjY2MTEzMzAgcmc9d3d3Cn4jISB0aWQ9MTEyNTA5MDQ4MgpXaWUga2FubiBtYW4gc2ljaCBJbW1lZGlhdGUgWm9vbG9neSB2b3JzdGVsbGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIYXJyeSBQb3R0ZXIgaXN0IFNhdGFuISAoTHVnLCAxOC4gU2VwIDIwMDUsIDIyOjU1OjMxKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTI2MjM3MTYwIHJnPXd3dwp+IyEgdGlkPTExMjYyMzUyNDUKV2FzPyBEYXMgaWNoIGRhcyB1cmtvbWlzY2ggZmluZGU/IFVlYmVyaGF1cHQgbmljaHQgdmVyd3VuZGVybGljaC4uLgoKU2thbCEKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpaZWl0dmVydHJlaWIgZnVlciBNYWVubmVyIChNb3Jnb3RoLCAxOS4gU2VwIDIwMDUsIDExOjM4OjAzKToKaHR0cDovL3d3dy5taWxiZXN0bGlnaHQuY29tL3N3Zi9nYW1lL2dhbWUxLnN3ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIHdpcmtsaWNoIHNjaG9lbmVzIGZ1ZXIgQXN0ZXJpeC1GYW5zIChBbnRoZWEsIDIwLiBTZXAgMjAwNSwgMTU6MDQ6NTApOgpodHRwOi8vcmFwaWRzaGFyZS5kZS9maWxlcy81MTI0MTk5L0FzdGVyaXhfdW5kX2Rlcl9LYW1wZl91bXNfS2FuemxlcmFtdC5yYXIuaHQKbWwKCk9kZXIgYXVjaDoKaHR0cDovL3Rpbnl1cmwuY29tLzluOTY3CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIHdpcmtsaWNoIHNjaG9lbmVzIGZ1ZXIgQXN0ZXJpeC1GYW5zIChLYXJpcywgMjEuIFNlcCAyMDA1LCAxMDozNToyNSk6Cn4jISBybj1BbnRoZWEgcnQ9MTEyNzIyMTQ5MCByZz13d3cKfiMhIHRpZD0xMTI3MjIxNDkwCkRhbmtlISBEdSBoYXN0IFRhZyBnZXJldHRldCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhcyB3aXJrbGljaCBzY2hvZW5lcyBmdWVyIEFzdGVyaXgtRmFucyAoUm9uZGEsIDIxLiBTZXAgMjAwNSwgMjA6NDM6MzUpOgp+IyEgcm49QW50aGVhIHJ0PTExMjcyMjE0OTAgcmc9d3d3Cn4jISB0aWQ9MTEyNzIyMTQ5MApXaXJrbGljaCBnZW5pYWwhIEFiZXIgd2FydW0gYml0dGUgaXN0IGRhcyBuZW4gLnJhcj8gRGFzIGhhdCBudXIgbmVuIHBhYXIgQnl0ZQpnZWJyYWNodC4uLgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIHdpcmtsaWNoIHNjaG9lbmVzIGZ1ZXIgQXN0ZXJpeC1GYW5zIChBbnRoZWEsIDIyLiBTZXAgMjAwNSwgMDk6Mzk6MjkpOgp+IyEgcm49Um9uZGEgcnQ9MTEyNzMyODIxNSByZz13d3cKfiMhIHRpZD0xMTI3MjIxNDkwCktlaW5lIEFobnVuZywgaWNoIGhhYiBkYXMgZGEgbmljaHQgaG9jaGdlbGFkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFdXJvcGFlciBkZXMgSmFocmVzLi4uIChPZ28sIDIyLiBTZXAgMjAwNSwgMjE6MTc6MzgpOgpodHRwOi8vd3d3LmV2NTAuY29tL3BvbGwvCgpwZWlubGljaCwgd2llIHZpZWxlIE5hbWVuIGljaCBuaWNodCBrZW5uZS4uLgpPZ28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5ldWVyIEFzdGVyaXgtQmFuZCAoVmluY2VudCwgMjcuIFNlcCAyMDA1LCAxMDowMDoxNSk6CkF1ZiB3d3cuYXN0ZXJpeC5kZSB3aXJkIGVpbiBuZXVlciBBc3Rlcml4LUJhbmQgbWl0IGRlbSBUaXRlbAoiR2FsbGllbiBpbiBHZWZhaHIiIGFuZ2VrdWVuZGlndC4gRGVyIEJhbmQgaXN0IGFiIGRlbSAxNC4gT2t0b2JlcgplcmhhZWx0bGljaC4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHb29nbGVzIE5ldWdpZXJkZSAoT2dvLCAyNy4gU2VwIDIwMDUsIDEyOjA3OjExKToKfiMhIHJuPU9nbyBydD0xMTI2MzAyNzM3IHJnPXd3dwp+IyEgdGlkPTExMjYzMDI3MzcKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNjQzMTgKYXVjaCBodWVic2NoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdvb2dsZXMgTmV1Z2llcmRlIChUYXJhbmlzLCAyNy4gU2VwIDIwMDUsIDEyOjQ5OjQzKToKfiMhIHJuPU9nbyBydD0xMTI3ODE1NjMxIHJnPXd3dwp+IyEgdGlkPTExMjYzMDI3MzcKTWFsIGFiZ2VzZWhlbiB2b20gRGF0ZW5zY2h1dHo6ICIuLi52b24gdnBuLmdvb2dsZS5jb20gZHluYW1pc2NoIGVyemV1Z3RlClp1Z2FuZ3NkYXRlbi4uLiIuIERhcyB2ZXJzdGVoIGljaCBqYSBudXIgYmVkaW5ndCwgZGVubiBpY2ggbXVzcyBpbSBWb3JmZWxkIGF1ZgpqZWRlbiBGYWxsIGlyZ2VuZHdlbGNoZSBaZXJ0aWZpa2F0ZSB2b24gR29vZ2xlIGluc3RhbGxpZXJ0IHVuZCB2b3JoZXIgZ2VwcnVlZnQKaGFiZW4uIFNvbnN0IG51dHp0IG1pciBkYXMgYW0gV0xBTi1Ib3RzcG90IGphIGdhciBuaXgsIGRhc3MgR29vZ2xlIG1pdCBEYXRlbgpmdWVyIGRpZSBWZXJzY2hsdWVzc2VsdW5nIHNlbmRldC4gOy0pCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHb29nbGVzIE5ldWdpZXJkZSAoSmltZGlncml6LCAyNy4gU2VwIDIwMDUsIDE5OjI0OjMwKToKfiMhIHJuPVRhcmFuaXMgcnQ9MTEyNzgxODE4MyByZz13d3cKfiMhIHRpZD0xMTI2MzAyNzM3CgpEYXMgdmVyd2VuZGV0IGRvY2ggUFBUUCwgSUlSQyB2ZXJ3ZW5kZXQgZGFzIGVoIHNoYXJlZCBrZXkgdW5kCmlzdCBwcmluemlwaWVsbCB1bnNpY2hlciAobXVzcyBtYWwgZGVuIFNlbWluYXJ2b3J0cmFnIGRhenUKd2llZGVyIHJhdXNzdWNoZW4pLCBhdXNzZXIgZGEgd3VyZGUgdmllbGxlaWNodCBkcmFuIHdlaXRlcmVudHdpY2tlbHQuClNpbm52b2xsZXIgd2FlciBzY2hvbiBlaW4gSVBTRUMgVlBOIG9kZXIgZWluIFNTTC9UTFMgYmFzaWVydGVzClZQTiAoekIgT3BlblZQTiksIGRhbWl0IHdpcmRzIGRhbm4gYWJlciB3aWVkZXIgYXVmd2FlbmRpZywgd2VubgptYW4gYXVjaCBVRFAgdmVyd2VuZGVuIHdpbGwuLi4KCkJpbiBnZXNwYW5udCB3ZXIgYXVmIHNvIGVpbmVuIE5lcHAgcmVpbmZhZWxsdC4uLi4KCkpkRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFldXNzZXJzdCBqdWdlbmRmcmVpISBBYmVyIFZvcnNpY2h0OiBFcnN0aWNrdW5nc2dlZmFociBkdXJjaCBMYWNoa3JhZW1wZmUgKEthcmltYSwgMjguIFNlcCAyMDA1LCAxOTo1ODoxMik6Cmh0dHA6Ly93d3cubGV1dGUtbWl0LWR1cmNoYmxpY2suZGUvZHVyY2hibGljay5odG0KCkthcmltYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIGV0d2FzIGFuZGVyZSBSYWV0c2VsIChWaW5jZW50LCAzMC4gU2VwIDIwMDUsIDExOjM2OjA2KToKIlRoZSBoYXJkZXN0IGVuaWdtYSBvbiB0aGUgaW50ZXJuZXQiIHNjaHJlaWJ0IGRlciBBdXRvciBhdWYgc2VpbmVyClNlaXRlLiBBbmdlYmxpY2ggaGFiZW4gc2ljaCAxMTU3NDAgUGVyc29uZW4gZGFyYW4gdmVyc3VjaHQgdW5kIG5vY2gKa2VpZW5yIGVzIGJpcyB6dXIgTG9lc3VuZyBnZXNjaGFmZnQuCgpEZXIgQWJsYXVmIGlzdCBiZWthbm50OiBNYW4gbXVzcyBzaWNoIHZvbiBMZXZlbCB6dSBMZXZlbCBrbm9iZWxuLiBEaWUKcmljaHRpZ2UgTG9lc3VuZyBlaW5lcyBSYWV0c2VsIGJyaW5ndCBlaW5lbiB6dW0gbmFlY2hzdGVuIFJhZXRzZWwuCgpodHRwOi8vd3d3LmZydmFkZS5jb20KClZpZWwgU3Bhc3MgYmVpbSBHcnVlYmVsbiB1bmQgTG9lc2VuLgoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERhcyBldHdhcyBhbmRlcmUgUmFldHNlbCAoSHVyYXhwcmF4LCAzMC4gU2VwIDIwMDUsIDEyOjEzOjE4KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTEyODA3Mjk2NiByZz13d3cKfiMhIHRpZD0xMTI4MDcyOTY2CmFsc28genVtaW5kZXN0IGRpZSBlcnN0ZW4gTGV2ZWwgZXJpbm5lcm4gc3RhcmsgYW4gTm90cHJvbiwgInRoaW5rIHBvc2l0aXZlIiwKIkFMVGVybmF0aXZlIiBzaW5kIGdlbmF1IHVlYmVybm9tbWVuLCBtYWwgc2NoYXVlbiBvYiBlcyBzcGFldGVyIG9yaWdpbmVsbGVyCndpcmQuLi4KCmh0dHA6Ly9kZWF0aGJhbGwubmV0L25vdHByb24vICh3byBpY2ggYWJlciBhdWNoIGJlaSBMZXZlbCA3MiBoYWVuZ2VuZ2VibGllYmVuCmJpbikKCkh1cmF4cHJheAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lsZCBNb29kIFN3aW5ncyAtIFN1cmYgdGhlIHdlYiBvbiBhIHdoaW0gKFdoaXRldGlnZXIsIDMwLiBTZXAgMjAwNSwgMTg6MTk6MjEpOgpodHRwOi8vd3d3LndpbGRtb29kc3dpbmdzLmNvLnVrLwoKLVRpZ2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0dGVyIFNwb3QgLi4uIChHbG9pbnNvbiwgIDMuIE9rdCAyMDA1LCAxOToxMzowNSk6Ci4uLiBpbSBTaW5uZSBkZXMgUnVja3M6CgpodHRwOi8vd3d3LmR1LWJpc3QtZGV1dHNjaGxhbmQuZGUvCgpCaXNzY2hlbiBOYXRpb25hbGdlZnVlaGwgaW4gRm9ycmVzdC1HdW1wLU11c2lrIHZlcnBhY2t0LgoKCkFiZXIgZGllIEZydXN0cmllcnRlbiBsYXNzZW4gamEgbmljaHQgYXVmIHNpY2ggd2FydGVuOgpodHRwOi8vd3d3LmZsaWNrci5jb20vZ3JvdXBzL2R1YmlzdGRldXRzY2hsYW5kL3Bvb2wvCgpMZWlkZXIgc2luZCA5MCUgZGVyIGRvcnRpZ2VuIEJlaXRyYWVnZSAoOCBTZWl0ZW4gZGVyemVpdCkgd2lya2xpY2ggbnVyCmZydXN0cmllcnQgdW5kIHdlbmlnIHNhdGlyaXNjaC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0dGVyIFNwb3QgLi4uIChHbG9pbnNvbiwgIDMuIE9rdCAyMDA1LCAxOToxODozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTI4MzU5NTg1IHJnPXd3dwp+IyEgdGlkPTExMjgzNTk1ODUKTGlua2xpc3RlIHp1IHdlaXRlcmVuIFJlYWt0aW9uZW4genUgZGVyIEthbXBhZ25lOgoKaHR0cDovL3d3dy50YXBzbXVzaWMuZGUvaWJhZC8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYXR0bGUgZm9yIFdlc25vdGggKFRhcmFuaXMsICA0LiBPa3QgMjAwNSwgMTI6NTY6MTIpOgpJY2ggYmluIGdlcmFkZSB1ZWJlciBkYXMgT3Blbi1Tb3VyY2UtU3BpZWwgIkJhdHRsZSBmb3IgV2Vzbm90aCIgZ2VzdG9zc2VuLAp3ZWxjaGVzIGdlcmFkZSBpbiBkZXIgVmVyc2lvbiAxLjAgdmVyb2VmZmVudGxpY2ggd3VyZGU6ClRoZSBCYXR0bGUgZm9yIFdlc25vdGggaXMgYSBmcmVlLCB0dXJuLWJhc2VkIHN0cmF0ZWd5IGdhbWUgd2l0aCBhIGZhbnRhc3kKdGhlbWUuCgpGaWdodCB0byByZWdhaW4gdGhlIHRocm9uZSBvZiBXZXNub3RoLCBvZiB3aGljaCB5b3UgYXJlIHRoZSBsZWdpdGltYXRlIGhlaXIsCm9yIHVzZSB5b3VyIGRyZWFkIHBvd2VyIG92ZXIgdGhlIFVuZGVhZCB0byBkb21pbmF0ZSB0aGUgbGFuZCBvZiBtb3J0YWxzLCBvcgpsZWFkIHlvdXIgZ2xvcmlvdXMgT3JjaXNoIHRyaWJlIHRvIHZpY3RvcnkgYWdhaW5zdCB0aGUgaHVtYW5zIHdobyBkYXJlZApkZXNwb2lsIHlvdXIgbGFuZHMgIFdlc25vdGggaGFzIG1hbnkgZGlmZmVyZW50IHNhZ2FzIHdhaXRpbmcgdG8gYmUgcGxheWVkIG91dC4KWW91IGNhbiBjcmVhdGUgeW91ciBvd24gY3VzdG9tIHVuaXRzLCBhbmQgd3JpdGUgeW91ciBvd24gc2NlbmFyaW9zICBvciBldmVuCmZ1bGwtYmxvd24gY2FtcGFpZ25zLiBZb3UgY2FuIGFsc28gY2hhbGxlbmdlIHlvdXIgZnJpZW5kcyAgb3Igc3RyYW5nZXJzICBhbmQKZmlnaHQgbXVsdGktcGxheWVyIGVwaWMgZmFudGFzeSBiYXR0bGVzLgoKQmluYXJpZXMgZnVlciBlaW5lIFJlaWhlIHZvbiBQbGF0dGZvcm1lbiBnaWJ0IGVzIHVudGVyOgpodHRwOi8vd3d3Lndlc25vdGgub3JnLwoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhdHRsZSBmb3IgV2Vzbm90aCAoR2xvaW5zb24sICA0LiBPa3QgMjAwNSwgMTQ6MzI6MTApOgp+IyEgcm49VGFyYW5pcyBydD0xMTI4NDIzMzcyIHJnPXd3dwp+IyEgdGlkPTExMjg0MjMzNzIKVW5kIGljaCBiaW4gZ2VyYWRlIGF1ZiBWR0EgUGxhbmV0cyBnZXN0b2xwZXJ0PyA7KQoKOmVtcGZpZWhsdCBUYXJhbmlzIGZ1ZXIgZGllIFNwcmljaHdvcnRzZWl0ZSBkZXMgSGVycm4gU2ljayA6KQoKUFM6IE5laW4sIFZHQS1QbGFuZXRzIGlzdCBuaWNodCBnYW56IGZyZWkgKFNoYXJld2FyZSksIGFiZXIgdXJhbHQgdW5kIGF1Y2ggZWluCnp1Z2Jhc2llcnRlcyBTdHJhdGVnaWVzcGllbC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdXNpayAoUmVxdWllbSwgIDUuIE9rdCAyMDA1LCAwMDo1NTozOSk6CkdyYWRlIGRlbiBUaXBwIGhpZXIgYmVrb21tZW46Cgp3d3cucGFuZG9yYS5jb20KCkRhcyBEaW5nIHN1Y2h0IG5hY2ggZGVuIEtyaXRlcmllbiBkZXMgc29nLiAiTXVzaWMgR2Vub21lIFByb2plY3QiIG5hY2ggTXVzaWsKZGllIG1hbiBnZXJuIGhvZXJ0LiBVbmQgbmFjaGRlbSBpY2ggZGEgbmUgU3R1bmRlIGdlbGF1c2NodCBoYWJlIG11c3MgaWNoCnNhZ2VuLCBkYXMga2xhcHB0IHdpcmtsaWNoLiBWaWVsIE11c2lrLCBkaWUgbWFuIG1hZyB1bmQgbm9jaCBuaWNodCBrZW5udCwga2VpbgpHZWxhYmVyIHVuZCBrZWluZSBXZXJidW5nLgoKMTAgU3R1bmRlbiBrYW5uIG1hbiBrb3N0ZW5mcmVpIHRlc3RlbiwgZGFuYWNoIGtvc3RldCBkZXIgU3Bhc3MgJDM0IGltIEphaHIuCgpOYWNodGVpbDogTWFuIGthbm4gZGVuIFN0cmVhbSBuaWNodCBvaG5lIHdlaXRlcmVzIG1pdHNjaG5laWRlbiwgZGF6dSB3YWVyZQpzY2hvbiBlaW4gYWJncmVpZmVuIHZvbiBkZXIgQXVkaW9zY2huaXR0c3RlbGxlIG5vdHdlbmRpZy4KCkFiZXIgaWNoIHVlYmVybGVnIGVjaHQsIG9iIG1pciBkYXMgbmljaHQgZWluZmFjaCBtYWwgZGllIEtvaGxlIHdlcnQgaXN0LAp3aXJrbGljaCBndXQgZ2VtYWNodC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdXNpayAoQnJhbiwgIDUuIE9rdCAyMDA1LCAwMTo0NDo0MCk6Cn4jISBybj1SZXF1aWVtIHJ0PTExMjg0NjY1Mzkgcmc9d3d3Cn4jISB0aWQ9MTEyODQ2NjUzOQpHZW5pYWwuIERhbmtlIGZ1ZXIgZGVuIFRpcCA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVzaWsgKEJvaW5nLCAgNS4gT2t0IDIwMDUsIDEwOjQ5OjQzKToKfiMhIHJuPUJyYW4gcnQ9MTEyODQ2OTQ4MCByZz13d3cKfiMhIHRpZD0xMTI4NDY2NTM5CkVzIGZpbmcgZ2FueiBndXQgYW4sIGFiZXIgamV0enQgYmluIGljaCBpcmdlbmR3aWUgYXVmIG5lIFNjaG51bHplbnNjaGllbmUKZ2VyYXRlbiB1bmQga29tbSBuaWNodCBtZWhyIHJ1bnRlci4gCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE11c2lrIChKYWRhd2luLCAgNS4gT2t0IDIwMDUsIDEwOjUwOjUzKToKfiMhIHJuPUJvaW5nIHJ0PTExMjg1MDIxODMgcmc9d3d3Cn4jISB0aWQ9MTEyODQ2NjUzOQpWaWVsbGVpY2h0IGhhZXR0ZXN0IGR1IG5pY2h0IEJhcnJ5IFdoaXRlIGFscyBlaW56aWdlbiBLdWVuc3RsZXIgYW5nZWJlbgpzb2xsZW4uIDopCkphZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11c2lrIChNdWFkaWIsICA1LiBPa3QgMjAwNSwgMTE6MDk6MTEpOgp+IyEgcm49SmFkYXdpbiBydD0xMTI4NTAyMjUzIHJnPXd3dwp+IyEgdGlkPTExMjg0NjY1MzkKYmFycnkgd2hpdGUgaXN0IGRvY2ggb2sKc28gZnVlciAzLTQgbWludXRlbiBwcm8gdmllcnRlbGphaHIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE11c2lrIChWYW5pb24sICA1LiBPa3QgMjAwNSwgMTc6MDQ6NDApOgp+IyEgcm49TXVhZGliIHJ0PTExMjg1MDMzNTEgcmc9d3d3Cn4jISB0aWQ9MTEyODQ2NjUzOQpEYXMgZ2lsdCBmdWVyIHZpZWxlIEt1ZW5zdGxlci4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNdXNpayAoTXVhZGliLCAgNS4gT2t0IDIwMDUsIDE3OjA3OjI0KToKfiMhIHJuPVZhbmlvbiBydD0xMTI4NTI0NjgwIHJnPXd3dwp+IyEgdGlkPTExMjg0NjY1MzkKYWJlciBuaWNodCBmdWVyIGFsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE11c2lrIChNdWFkaWIsICA1LiBPa3QgMjAwNSwgMTc6MDc6NTgpOgp+IyEgcm49TXVhZGliIHJ0PTExMjg1MjQ4NDQgcmc9d3d3Cn4jISB0aWQ9MTEyODQ2NjUzOQphYmVyIHVtIG1pY2ggenUgb3V0ZW46IGljaCBiZXNpdHplIGluIGRlciB0YXQgZWluZSBiYXJyeSB3aGl0ZSBjZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVzaWsgKE5pY29sYWksICA1LiBPa3QgMjAwNSwgMjA6MTk6NDMpOgp+IyEgcm49TXVhZGliIHJ0PTExMjg1MjQ4Nzggcmc9d3d3Cn4jISB0aWQ9MTEyODQ2NjUzOQpkZXIgb2JsaWdhdG9yaXNjaGUgZnJhdWVua2xhcm1hY2gtc2lsYmVybGluZyA/ITopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZXJjZWRlcyBNaXhlZCBUYXBlIDA5IC0gS29zdGVubG9zZSBNUDMgKFJvbmRhLCAgNS4gT2t0IDIwMDUsIDIwOjI2OjE0KToKSGFsbG8sCgpGdWVyIEZyZXVuZGUga29zdGVubG9zZXItbGVnYWxlciBNUDM6IE1lcmNlZGVzIGhhdCB3aWVkZXIgZWluZSBuZXVlCk1QMy1Db21waWxhdGlvbiBpbnMgTmV0eiBnZXN0ZWxsdDoKaHR0cDovL3d3dy5taXhlZC10YXBlLmNvbS8KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gKEdsb2luc29uLCAgNy4gT2t0IDIwMDUsIDEzOjE2OjUzKToKaHR0cDovL21lZGlhLnB1dGZpbGUuY29tL29tYVZTbWVyY2VkZXMgKFZpZGVvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktpdHR5Y2Fubm9uISAoQmFtYnVsa28sIDEwLiBPa3QgMjAwNSwgMTQ6NDQ6MTApOgpNZWluIFJla29yZDogNTI1IGZ0LgoKaHR0cDovL3d3dy5lYmF1bXN3b3JsZC5jb20va2l0dHljYW5ub24uaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLaXR0eWNhbm5vbiEgKEFudGhlYSwgMTAuIE9rdCAyMDA1LCAxNDo0ODowMCk6Cn4jISBybj1CYW1idWxrbyBydD0xMTI4OTQ4MjUwIHJnPXd3dwp+IyEgdGlkPTExMjg5NDgyNTAKSGEsIDU2NyBpbSAzLiBWZXJzdWNoIDspCklzdCBpcmdlbmR3aWUgZGVtIGVyc3RlbiBZZXRpLVNwaWVsIHNlaHIgYWVobmxpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtpdHR5Y2Fubm9uISAoQm9pbmcsIDEwLiBPa3QgMjAwNSwgMTQ6NDk6MjApOgp+IyEgcm49QW50aGVhIHJ0PTExMjg5NDg0ODAgcmc9d3d3Cn4jISB0aWQ9MTEyODk0ODI1MAo3ODAgLi4uIGRvb2ZlcyBTcGllbC4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogS2l0dHljYW5ub24hIChBbnRoZWEsIDEwLiBPa3QgMjAwNSwgMTQ6NTU6MTApOgp+IyEgcm49Qm9pbmcgcnQ9MTEyODk0ODU2MCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCjk1MC4uLiB1bmQgZGllIGFybWUgS2F0emUgdHV0IGVpbmVtIGVjaHQgbGVpZC4gVW5kIG1pdCBkZW4gZmxlaXNjaGZyZXNzZW5kZW4KUGZsYW56ZW4sICJpdCBpcyBmdW4gdG8gd2F0Y2giLi4uIGFlaCB3YXM/IERpZSBrdXJ6ZSBBbmltYXRpb24gb2huZSBzcGVjaWFsCmVmZmVjdHM/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2l0dHljYW5ub24hIChIaWdobGFuZGVyLCAxMC4gT2t0IDIwMDUsIDE0OjU2OjU0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExMjg5NDgyNTAgcmc9d3d3Cn4jISB0aWQ9MTEyODk0ODI1MApFcnN0ZXIgU2NodXNzIC0gMTIzNyBmZWV0IDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogS2l0dHljYW5ub24hIChIaWdobGFuZGVyLCAxMC4gT2t0IDIwMDUsIDE0OjU4OjMwKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEyODk0OTAxNCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwClVuZCwgamEgLSB3aGVyZSdzIHRoZSBmdW4sIGJ5IHRoZSB3YXk/CgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEtpdHR5Y2Fubm9uISAoQW50aGVhLCAxMC4gT2t0IDIwMDUsIDE0OjU5OjIwKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEyODk0OTExMCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCkhtLi4uIDE4IGZ0LiBEaXJla3QgaW4gZWluZSBQZmxhbnplIHJlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBLaXR0eWNhbm5vbiEgKEt3YWtzLCAxMC4gT2t0IDIwMDUsIDE0OjU5OjI0KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTEyODk0OTExMCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCjgxNiAtIHZvbiBJbWRhIGhhYmVuIHdpciBhdWNoIGxhbmcgbml4IG1laHIgZ2Vob2VydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEtpdHR5Y2Fubm9uISAoQm9pbmcsIDEwLiBPa3QgMjAwNSwgMTU6MDI6NTQpOgp+IyEgcm49S3dha3MgcnQ9MTEyODk0OTE2NCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCkFsc28gZGFzIGlzdCBsdXN0aWdlcjogaHR0cDovL3d3dy5lYmF1bXN3b3JsZC5jb20vZ2FtZXMvY3Vyc29yZ2FtZS5odG1sCjQzOSAuLi4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogS2l0dHljYW5ub24hIChBbnRoZWEsIDEwLiBPa3QgMjAwNSwgMTU6MDg6NTgpOgp+IyEgcm49Qm9pbmcgcnQ9MTEyODk0OTM3NCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCkhtLi4uIHdlbm4gZGVyIGtvbWlzY2hlIERvbGR5IGRpZSBTdGFuZ2UgenVlY2t0IGhhdCBtYW4gamEgZ2FyIGtlaW5lIENoYW5jZQptZWhyLCBvZGVyPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogS2l0dHljYW5ub24hIChLd2FrcywgMTAuIE9rdCAyMDA1LCAxNToxMDo0NCk6Cn4jISBybj1BbnRoZWEgcnQ9MTEyODk0OTczOCByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCm9jaCBkb2NoLi4uIDg0Ni4uLiBhYmVyIGVyIGhhdCBlaW4gcGFhciBuZXR0ZSBUcmlja3MgYXVmIExhZ2VyLiBIaW50ZXIgZGVyClJha2V0ZSBoZXJ6dWphZ2VuIG1hY2h0IFNwYXNzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBLaXR0eWNhbm5vbiEgKEFudGhlYSwgMTAuIE9rdCAyMDA1LCAxNToxMzo0OCk6Cn4jISBybj1Ld2FrcyBydD0xMTI4OTQ5ODQ0IHJnPXd3dwp+IyEgdGlkPTExMjg5NDgyNTAKSG0uLi4gMTAxMC4gQWJlciBkYW5uIGdyZWlmdCBlciBpbW1lciB6dSB1bmZhaXJlbiBUcmlja3MuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBLaXR0eWNhbm5vbiEgKEt3YWtzLCAxMC4gT2t0IDIwMDUsIDE1OjE0OjM2KToKfiMhIHJuPUFudGhlYSBydD0xMTI4OTUwMDI4IHJnPXd3dwp+IyEgdGlkPTExMjg5NDgyNTAKVW5kIGljaCBoYWIgZGFzIEdlZnVlaGwsIHdlbm4gbWFuIGVpbm1hbCBpbiBob2VoZXJlIFB1bmt0ZWJlcmVpY2hlCnZvcmdlZHJ1bmdlbiBpc3QsIGZhbmdlbiBkaWUgYW5zY2hsaWVzc2VuZGVuIFNwaWVsZSBnZW5hdXNvIHNjaHdlciBhbi4gSG1tLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogS2l0dHljYW5ub24hIChBbnRoZWEsIDEwLiBPa3QgMjAwNSwgMTU6MTU6NDQpOgp+IyEgcm49S3dha3MgcnQ9MTEyODk1MDA3NiByZz13d3cKfiMhIHRpZD0xMTI4OTQ4MjUwCkhtLi4uIGh0dHA6Ly93d3cuZWJhdW1zd29ybGQuY29tL2ZsYXNoL2N1cnNvcnRoZWZ0Lmh0bWwgaXN0IGF1Y2ggZ2FueiBzdWVzcy4KTnVyIGhpZXIgbXVzcyBtYW4gZGVuIGFybWVuIFdpY2h0IGFiIHVuZCB6dSBtYWwgZGVuIEN1cnNvciBmYW5nZW4gbGFzc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS29taXNjaGVyIFZvZ2VsIChBbnRoZWEsIDExLiBPa3QgMjAwNSwgMTA6NTQ6MDkpOgpodHRwOi8vd3d3LmtvcmV1cy5jb20vZmlsZXMvMjAwNTAyL3NtYXJ0LWJpcmQuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVEcyB1bmQgTU1PcyAoR2xvaW5zb24sIDIzLiBPa3QgMjAwNSwgMTI6MzQ6NDEpOgpXaXIgc29sbHRlbiB1bnMgYXVjaCBzbyBlaW5lIHNjaG9lbmUgV2Vic2VpdGUgc2FtdCBKYXZhY2xpZW50IHp1bGVnZW4gLi4uCgpodHRwOi8vaXJvbnJlYWxtcy5jb20vCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1VRHMgdW5kIE1NT3MgKENyb2Z0LCAyMy4gT2t0IDIwMDUsIDE5OjA4OjI0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzAwNjM2ODEgcmc9d3d3Cn4jISB0aWQ9MTEzMDA2MzY4MQpOaWNodCB6dSB2ZXJnZXNzZW4gZGllIGJlemFobHRlbiBFbnR3aWNrbGVyLCBvZGVyPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRGSHMgKE9nbywgMjMuIE9rdCAyMDA1LCAyMjoyNTo0Nik6Cmh0dHA6Ly9waG90b3MxLmJsb2dnZXIuY29tL2ltZy8wLzIxMzMvMTAyNC90aW5mb2lsX2hhdF93ZWFyZXJzX2Zvcl9idXNoLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNVURzIHVuZCBNTU9zIChHbG9pbnNvbiwgMjMuIE9rdCAyMDA1LCAyMzoxODowOSk6Cn4jISBybj1Dcm9mdCBydD0xMTMwMDg3MzA0IHJnPXd3dwp+IyEgdGlkPTExMzAwNjM2ODEKRWlnZW50bGljaCBuaWNodC4gSW0gU3RhcnRyYXVtIGRlcyBlaW5lbiBNVURzIHdhciBuaWNodCBlaW5tYWwgZWluIEJvZGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNVURzIHVuZCBNTU9zIChBcmssIDIzLiBPa3QgMjAwNSwgMjM6Mzk6MjgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMDA2MzY4MSByZz13d3cKfiMhIHRpZD0xMTMwMDYzNjgxCkphLCBuaWNodCBzY2hsZWNodCBhdWNoIGRpZSBzY2hvZW5lbiBCaWxkZXIgZGVyIFNwaWVsZXIgLi4uIG1hY2ggZG9jaCBhdWNoIG1hbApzb3dhcywgR2xvaW5zb24gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNVURzIHVuZCBNTU9zIChHbG9pbnNvbiwgMjMuIE9rdCAyMDA1LCAyMzozOTo0OCk6Cn4jISBybj1BcmsgcnQ9MTEzMDEwMzU2OCByZz13d3cKfiMhIHRpZD0xMTMwMDYzNjgxCkljaCBrYW5uIGdlcm4gZWluIFN0cmljaG1hZW5uY2hlbiB2b24gZGlyIG1hbGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1VRHMgdW5kIE1NT3MgKEFyaywgMjMuIE9rdCAyMDA1LCAyMzo0NDoxMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTMwMTAzNTg4IHJnPXd3dwp+IyEgdGlkPTExMzAwNjM2ODEKQnJhdWNoc3QgRHUgc28gZGlja2UgV2FjaHNtYWxzdGlmdGU/IEhhYiBpY2ggOykKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNVURzIHVuZCBNTU9zIChIaWdobGFuZGVyLCAyNC4gT2t0IDIwMDUsIDA4OjU0OjA2KToKfiMhIHJuPUFyayBydD0xMTMwMTAzODUyIHJnPXd3dwp+IyEgdGlkPTExMzAwNjM2ODEKU3RyaWNobWFlbm5jaGVuPyBXaXIgc2luZCBkb2NoIG5pY2h0IGJlaW0ga2luZ2RvbW9mbG9hdGhpbmcuY29tIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE1VRHMgdW5kIE1NT3MgKFpvb2ssIDI0LiBPa3QgMjAwNSwgMTA6MzI6MjcpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTMwMTM2ODQ2IHJnPXd3dwp+IyEgdGlkPTExMzAwNjM2ODEKd29sbHQgaWNoIGF1Y2ggZ3JhZCBhbm1lcmtlbi4gem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgTWFlbm5lciB1bmQgQW5pbWUgRmFucyAoTW9yZ290aCwgMjQuIE9rdCAyMDA1LCAxMTozODoxNCk6Cmh0dHA6Ly93d3cuYmlsZHNjaGlybWFyYmVpdGVyLmNvbS9vdXRwdXRfNjU0Mi5odG1sCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTVVEcyB1bmQgTU1PcyAoR2xvaW5zb24sIDI0LiBPa3QgMjAwNSwgMTE6Mzk6MDYpOgp+IyEgcm49Wm9vayBydD0xMTMwMTQyNzQ3IHJnPXd3dwp+IyEgdGlkPTExMzAwNjM2ODEKRG9ydCB2aWVsbGVpY2h0IG5pY2h0LCBhYmVyIGljaCBrb2VubnRlIG1pciBBcmsgaGVydm9ycmFnZW5kIGluIGRlcgpBYmVudGV1ZXJiYW5kZSBUT09UUyB2b3JzdGVsbGVuOgpodHRwOi8vd3d3LmdpYW50aXRwLmNvbS9jZ2ktYmluL0dpYW50SVRQL29vdHNjcmlwdAoKRHUgaGFzdCBXYWNoc21hbHN0aWZ0ZSBhdWYgVm9ycmF0PyBIZWxmZW4gZGllIG5pY2h0IG51ciBiZWkgZGVyIEJyZWl0ZSBuYWNoPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE1VRHMgdW5kIE1NT3MgKEhpZ2hsYW5kZXIsIDI0LiBPa3QgMjAwNSwgMTE6NTQ6MzkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMDE0Njc0NiByZz13d3cKfiMhIHRpZD0xMTMwMDYzNjgxCkFoLG5vY2ggZWluIGdpdHAtRmFuIDopCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1VRHMgdW5kIE1NT3MgKENhdHdlYXpsZSwgMjQuIE9rdCAyMDA1LCAxMjoxOTozNik6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExMzAxNDc2Nzkgcmc9d3d3Cn4jISB0aWQ9MTEzMDA2MzY4MQoqd2lsbCBkaWUgYmFncyBvZiBob2xkaW5nISEqCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIE1hZW5uZXIgdW5kIEFuaW1lIEZhbnMgKEFub3JpcywgMjQuIE9rdCAyMDA1LCAyMToxNDoyMCk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMzAxNDY2OTQgcmc9d3d3Cn4jISB0aWQ9MTEzMDE0NjY5NApEYSBnaWJ0cyBzb2dhciB6d2VpIHdlaXRlcmUgZGF2b24gLi4KaHR0cDovL21lbWJlcnMuamNvbS5ob21lLm5lLmpwL2NodWNrLXMvaHRtbC9rYXN1bWkxNF9tb3YyLnN3Zgp1bmQKaHR0cDovL21lbWJlcnMuamNvbS5ob21lLm5lLmpwL2NodWNrLXMvaHRtbC9rYXN1bWkxNF9tb3YzLnN3ZgoKV2ljaHRpZzogR2VybmUgbW9lY2h0ZSBpY2ggYXVmIGplZGVuIEZhbGwga2xhciBtYWNoZW4sIGRhc3MgaWNoIGluCmtlaW5lciBBcnQgdW5kIFdlaXNlIGZ1ZXIgZGVuIEluaGFsdCB2ZXJhbnR3b3J0bGljaCBiaW4gLi4gOykKCiAtIEFub3JpcyA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGdWVyIE1hZW5uZXIgdW5kIEFuaW1lIEZhbnMgKE1vcmdvdGgsIDI0LiBPa3QgMjAwNSwgMjM6NDA6MjMpOgp+IyEgcm49QW5vcmlzIHJ0PTExMzAxODEyNjAgcmc9d3d3Cn4jISB0aWQ9MTEzMDE0NjY5NApJY2ggYmluIGRhdm9uIGF1c2dlZ2FuZ2VuLCBkYXNzIG1hbihuKSBkaWUgYmVpZGVuIGxpbmtzIGZpbmRldCA6KQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm51ciBmdWVyIGFiZ2VkcmVodGUgKE1vcmdvdGgsIDI3LiBPa3QgMjAwNSwgMjM6MjE6MjcpOgpodHRwOi8vd3d3LnppcHB5dmlkZW9zLmNvbS83MjA4NzM4MTIxODMyMzY2L2tydWVwcGVsLXVuZC1zY2h3dWxfdmlkZW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBudXIgZnVlciBhYmdlZHJlaHRlIChHbG9pbnNvbiwgMjguIE9rdCAyMDA1LCAxMDozMzo1Nik6Cn4jISBybj1Nb3Jnb3RoIHJ0PTExMzA0NDgwODcgcmc9d3d3Cn4jISB0aWQ9MTEzMDQ0ODA4NwpOZWUsIGRhcyBnZWh0IG5pY2h0IGFscyBQYXJvZGllIGR1cmNoLiBXbyB3aXIgaW4gbWVnYXNjaG1hcnJuIG5ldWxpY2ggd2llZGVyCmJlaW0gVXJoZWJlcnJlY2h0IHdhcmVuIC4uLiBpbiBkZW4gVVNBIGdhZWJzIGRhbWl0IHNpY2hlciBQcm9ibGVtZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHcnVuZGVpbmtvbW1lbiAoTW9wcGksIDMwLiBPa3QgMjAwNSwgMDE6MTE6NTkpOgpJbiBkZW4gS3JlaXNlbiB3byBpY2ggZ2VybmUgYmluIHNwdWt0IGRpZSBJZGVlIHNjaG9uIGxhbmdlIHJ1bSwgbWl0dGxlcndlaWxlCndhZ3Qgc2llIHNpY2ggYXVjaCBhbiBkaWUgYnJlaXRlIE9lZmZlbnRsaWNoa2VpdC4gRGllIFJlZGUgaXN0IHZvbSAKYmVkaW5ndW5nc2xvc2VuIEdydW5kZWlua29tbWVuIGZ1ZXIgSmVkZXJtYW5uL2ZyYXUuCkVpbmVuIG1vZWdsaWNoZW4gSGFrZW4gaGFiZSBpY2ggbm9jaCBuaWNodCBlbnRkZWNrdCwgYXVzc2VyIGRhcyBtYW4gZGllc2UKSW5pdGlhdGl2ZSBnbG9iYWwgc3RhcnRlbiBtdWVzc3RlLiBEYWZ1ZXIgd3VyZGVuIGVpbmUgUmVpaGUgUHJvYmxlbWUgdm9uIGdhbnoKYWxsZWluZSBXZWdmYWxsZW46IFN0dWRpZW5maW5hbnppZXJ1bmcsIFNvemlhbGF1c2dhYmVuLCBSZW50ZW5maW5hbnppZXJ1bmcsCkZpcm1lbiBtdWVzc2VuIG5pY2h0IHVuYmVkaW5ndCBpbiBCaWxsaWdsb2hubGFlbmRlciBhYndhbmRlcm4gLi4uCgoKV2Vic2VpdGVuIGRhenU6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvdHAvcjQvYXJ0aWtlbC8yMS8yMTIyMS8xLmh0bWwKdW50ZXIgd2lraXBlZGlhIGRlciBFaW50cmFnICJHcnVuZGVpbmtvbW1lbiIKRGllIElkZWUgd2lyZCB1ZWJyaWdlbnMgbmljaHQgbnVyIHZvbiBpcmdlbmR3ZWxjaGVuICJMaW5rZW4iIHNvbmRlcm4gYXVjaCB2b24KVW50ZXJuZWhtZXJuIHVudGVyc3R1ZXR6dCwgd2VpbCBhbmdlc2ljaHRzIGdlc3R0aWd0ZXIgTWFlcmt0ZSB1bmQKYmxlaWJlbmRlciBBcmJlaXRzbG9zaWdrZWl0IG5hY2ggV2VnZW4gZ2VzdWNodCB3ZXJkZW4gbXVzcywgYWxsZW4gTWVuc2NoZW4KR2VyZWNodGlna2VpdCB1bmQgRW50d2lja2x1bmdzbW9lZ2xpY2hrZWl0ZW4genUgYmlldGVuLgpWaWVsbGVpY2h0IGJlZ2Vpc3RlcnQgc2ljaCBqYSBkZXIgZWluZSBvZGVyIGFuZGVyZSBmdWVyIGRpZSBJZGVlLCBpY2ggYmluCmplZGVuZmFsbHMgYXVmIGRlbiBnZXNlbGxzY2hhZnRsaWNoZW4gRGlza3VycyBnZXNwYW5udC4KCkdydWVzc2UgTW9wcGkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcnVuZGVpbmtvbW1lbiAoR2xvaW5zb24sIDMwLiBPa3QgMjAwNSwgMDE6MzU6MzUpOgp+IyEgcm49TW9wcGkgcnQ9MTEzMDYyNzUxOSByZz13d3cKfiMhIHRpZD0xMTMwNjI3NTE5Ck9obmUgZXMgamV0enQgbmFjaHp1bGVzZW4ga2xpbmd0IGRhcyB3aWU6CiJIaWVyIGhhc3RlIGRlaW4gS29uc3VtemV0dGVsLCB3ZWhlIGR1IHNldHp0IGlobiBuaWNodCB1bS4gQml0dGUgZnJpc3MsCmtvbnN1bWllciwgc2NoZWlzcywgZGFtaXQgd2lyIGRpciBhdWNoIGltIG5hZWNoc3RlbiBNb25hdCBkZWluZW4gS29uc3VtemV0dGVsCmdlYmVuLiBBY2NjY2hzbyAuLi4gd2VubiBkdSB3YWdzdCBhdXNsYWVuZGlzY2hlIFdhcmVuIHp1IGtvbnN1bWllcmVuLCBkcmVoZW4Kd2lyIGRpciBkZW4gSGFobiBhYiEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3J1bmRlaW5rb21tZW4gKEdsb2luc29uLCAzMC4gT2t0IDIwMDUsIDAyOjA0OjA4KToKfiMhIHJuPU1vcHBpIHJ0PTExMzA2Mjc1MTkgcmc9d3d3Cn4jISB0aWQ9MTEzMDYyNzUxOQpXZW5uIGljaCBtaXIgZGVpbmUgUXVlbGxlbiBtYWwgZmx1ZWNodGlnIGFuc2VoZSwgaXN0IGZ1ZXIgbWljaCBkZXIgZ3JvZXNzdGUKSGFrZW4gZGVyLCBkYXNzIGRlciBBbnJlaXogTG9obiBtZWhyIG9kZXIgd2VuaWdlciB3ZWd2ZXJ0ZWlsdCB3aXJkLiBEZXIKU3RhbW10aXNjaGtyaXRpa3B1bmt0IChpY2ggaGFiIGtlaW5lIGdlbmF1ZSBJbmZvcm1hdGlvbiBkYXJ1ZWJlciwgb2IgZXMgaGV1dGUKc28gaXN0KTogIldpZXNvIHNvbGx0ZSBpY2ggOCBTdHVuZGVuIGF1ZiBbbmljaHRhdXRvbWF0aXNpZXJiYXJlXSBTY2hpY2h0CmdlaGVuLCB3ZW5uIGljaCBkYWZ1ZXIga2F1bSB6dXNhZXR6bGljaCAoaW0gVmVyZ2xlaWNoIHp1bSBHcnVuZGVpbmtvbW1lbikKYmVsb2hudCB3ZXJkZS4iIHdpcmQgaW4gZGVtIFN5c3RlbSBSZWFsaXRhZXQuIFdpZSB2aWVsZSBLb25zdW1ndWV0ZXIgZWluIExhbmQKYXVmIERhdWVyIHByb2R1emllcnQsIGluIGRlbSBhbGxlcyB1bXZlcnRlaWx0IGlzdCwgMTAlIGhhcnQgYXJiZWl0ZW4sIDUwJQpsYWVzc2lnIGFyYmVpdGVuIHVuZCA0MCUgZGllIEJlaW5lIGhvY2ggbGVnZW4gbWVpbmUgaWNoIGFuIGRlciBERFIgZ2VzZWhlbiB6dQpoYWJlbi4gSWNoIGdsYXViZSBuaWNodCwgZGFzcyBkaWVzZSBJZGVlIG1lbnNjaGVua29tcGF0aWJlbCBpc3QuCldlbm4gd2lyIGRhcyBHcnVuZGVpbmtvbW1lbiBhdWYgZWluIE1pbmltdW0sIHdlbGNoZXMgIkRhY2giLCAiS3VsdHVyL0JpbGR1bmciLAoiRnJlc3NlbiIgYmVpbmhhbHRldCBiZXNjaHJhZW5rZW4sIGRhbm4ga2xhcHB0IGRhcyB2aWVsbGVpY2h0LiBEYW5uIGdpYnQgZXMKenVtaW5kZXN0IGRlbiBBbnJlaXogc2ljaCBTcGllbHpldWdlIHp1IHZlcmRpZW5lbiwgdW5kIGRlciBEcnVjayB6dXIKQWJ3YW5kZXJ1bmcgYXVzIHdpcnRzY2hhZnRsaWNoIHRvdGVuIEdlYmlldGVuIHN0ZWlndC4gVW5kIGljaCBnbGF1YmUgc28gaW4KZXR3YSBmdW5rdGlvbmllcnQgQWxnMiwgbmljaHQ/IFdpZSBtYW4gZGVtIFZlcndhbHR1bmdzd2Fzc2Vya29wZiBiZWlrb21tdCAuLi4KZGFzIHdhZXJlIGRvY2ggbWFsIFVlYmVybGVndW5nZW4gd2VydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdydW5kZWlua29tbWVuIChWYW5pb24sIDMwLiBPa3QgMjAwNSwgMDg6NTU6MTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMDYzMDY0OCByZz13d3cKfiMhIHRpZD0xMTMwNjI3NTE5Ck5ldHQgenVzYW1tZW5nZWZhc3N0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdydW5kZWlua29tbWVuIChIdW1uaSwgMzAuIE9rdCAyMDA1LCAxMjoyNjozOCk6Cn4jISBybj1ab29rIHJ0PTExMzA2NzA3ODcgcmc9d3d3Cn4jISB0aWQ9MTEzMDYyNzUxOQpOYWphLiBXSWUgZ2VzYWd0LCBpY2ggaGFiZSBhbHMgaWNoIGRpZSBsZXR6dGVuIE1hbGUgbWl0IG1laW5lbiBKb2JzCnVuenVmcmllZGVuIHdhciAoZGVyemVpdCBiaW4gaWNoIGRhcyBuaWNodCkgdWViZXJsZWd0Li4uICJzY2hyZWlic3QgRHUgZWluZmFjaAplaW4gQnVjaD8iIC0gIlZlcnN1Y2hzdCBEdSBEaWNoIGlyZ2VuZHdpZSBzZWxic3RhZW5kaWcgenUgbWFjaGVuPyIgLSBhbGxlcwpleHRyZW1lIFdhZ25pc3NlLiBJbSBGYWxsZSB2b20gQnVjaCB6LkIuIHd1ZXJkZSBzZWxic3QgZWluIEJlc3RzZWxsZXIKdmVybXV0bGljaCBlcnN0IG5hY2ggZWluZW0gSmFociBHZWxkIGFid2VyZmVuLgoKSmV0enQgbWFsIGRhdm9uIGFiZ2VzZWhlbiwgZGFzcyBpY2ggdmVybXV0bGljaCBkYWJlaSBpbiBiZWlkZW4gRmFlbGxlbiBhdWYgZGVyClNjaG5hdXplIGxhbmRlbiB3dWVyZGU6IFNvIGVpbiBXYWduaXMgd3VlcmRlIG1hbiBkb2NoIHZpZWwgZWhlciBlaW5nZWhlbiwgd2VubgptYW4gaW0gRmFsbCBkZXMgU2NoZWl0ZXJucy9laW5lciBEdXJzdHN0cmVja2UgenVtaW5kZXN0IGdhbnogZ3V0IGxlYmVuCmtvZW5udGUuIEljaCBtdXNzIGRhbm4gamEga2VpbmUgTHV4dXN2aWxsYSBoYWJlbiB1bmQgbmljaHQgamVkZW4gVGFnIGlucyBLaW5vCi0gYWJlciB6dW1pbmRlc3QgbWVpbmUgTWlldGUgdW5kIG1laW4gQmllciB1bmQgbWVpbmVuIE5ldHphbnNjaGx1c3Mgd2lsbCBpY2gKZGFubiBiZXphaGxlbiBrb2VubmVuLgoKTmFqYS4gVmllbGxlaWNodCBibGVpYmVuIHNvIGF1Y2ggdmllbGUgSWRlZW4gdW5kIHNvZ2FyIFdhY2hzdHVtIGF1ZiBkZXIKU3RyZWNrZSwgd2VpbCBtYW4gZGFzIGViZW4gbmljaHQgYXVzcHJvYmllcmVuIGthbm4uIEljaCB3ZWlzcyBlcyBhYmVyIG5pY2h0LgpTY2htYXJvdHplciBnaWJ0IGVzIGltbWVyIHVuZCB1ZWJlcmFsbCAodW5kIGljaCB6YWVobGUgd2llIGltbWVyIGF1Y2ggZGllCmRhenUsIGRpZSBpbiBpcmdlbmR3ZWxjaGVuIENoZWZzZXNzZWxuIHNpdHplbiB1bmQgRmlybWVuIGdlemllbHQKcnVudGVyd2lydHNjaGFmdGVuIGJ6dy4gQXJiZWl0c3BsYWV0emUgdmVybmljaHRlbiB1bmQgZGFiZWkgR2VsZCBpbiBkaWUgZWlnZW5lClRhc2NoZSBzY2hhdWZlbG4uIERhcyBpc3Qga2VpbiBHZW5lcmFscnVuZHVtc2NobGFnIGF1ZiBqZWRlbiBGaXJtZW5jaGVmIG9kZXIKamVkZW4sIGRlciBHZWxkIGhhdCkuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3J1bmRlaW5rb21tZW4gKE11YWRpYiwgMzAuIE9rdCAyMDA1LCAxNDozMDoxMyk6Cn4jISBybj1IdW1uaSBydD0xMTMwNjcxNTk4IHJnPXd3dwp+IyEgdGlkPTExMzA2Mjc1MTkKc2NocmVpYiBkYXMgYnVjaCBkb2NoIG5lYmVuaGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcnVuZGVpbmtvbW1lbiAoR2xvaW5zb24sIDMwLiBPa3QgMjAwNSwgMTQ6NDc6NTQpOgp+IyEgcm49TXVhZGliIHJ0PTExMzA2NzkwMTMgcmc9d3d3Cn4jISB0aWQ9MTEzMDYyNzUxOQpUYXRzYWVjaGxpY2ggdmVyc3RlaGUgaWNoIG5pY2h0LCB3ZWxjaGVzIFJpc2lrbyBkYXMgQnVjaHNjaHJlaWJlbiB3YWVyZS4gSWNoCmdsYXViZSBlaW5pZ2UgZGVyIGJlc3RlbiBTdHVlY2tlIHNpbmQgdm9uIE1lbnNjaGVuLCBkaWUgd2VpdCB1bnRlcgpTb3ppYWxoaWxmZW5pdmVhdSBsZWJ0ZW4uIEljaCBoYWIgYWxzIFN0dWRlbnQgYXVjaCBkaWUgbGFlbmdzdGUgWmVpdCB1bnRlcgpkaWVzZXIgb2ZmaXppZWxsZW4gWmFobCBnZWxlYnQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR3J1bmRlaW5rb21tZW4gKEFsa29ob2wsIDMwLiBPa3QgMjAwNSwgMTU6MDE6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMDY4MDA3NCByZz13d3cKfiMhIHRpZD0xMTMwNjI3NTE5CndlaXNzdCBkdSBkYXM/IGR1IGJpc3QgZG9jaCBub2NoIFN0dWRlbnQsIG9kZXI/ICpnKgpkYSBrYW5uIHNpY2ggZGllIGxhZW5nc3RlIFplaXQgZHVyY2hhdXMgdmVyYWVuZGVybgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogR3J1bmRlaW5rb21tZW4gKEdsb2luc29uLCAzMC4gT2t0IDIwMDUsIDE1OjA0OjE1KToKfiMhIHJuPUFsa29ob2wgcnQ9MTEzMDY4MDg4MyByZz13d3cKfiMhIHRpZD0xMTMwNjI3NTE5Ck9rb2ssIGljaCBoYWIgZGllIG1laXN0ZSBaZWl0IG1laW5lcyBiaXNoZXJpZ2VuIFN0dWRlbnRlbmxlYmVucyB1bnRlciBkaWVzZW0KU296aWFsbWluaW1hbG5pdmVhdSBnZWxlYnQuIERhZnVlciB3dXJkZSBqYSBhdWNoIG1laW4gV29obmtsbyBzdGFhdGxpY2hlCmdlc3BvbnNvcnQuIEljaCBnbGF1YiBXb2hua2xvcyBzaW5kIGdlc2VsbHNjaGFmdGxpY2ggYWJlciBuaWNodCB2b24KQWxnMi1FbXBmYWVuZ2VybiBha3plcHRpZXJ0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmV0b3VjaGUgKEFudGhlYSwgMzEuIE9rdCAyMDA1LCAwOTo1ODoxOCk6CndlciBtYWwgc2VoZW4gd2lsbCwgd2llIEZvdG9tb2RlbHMgdm9yIGRlciBCaWxkYmVhcmJlaXR1bmcgYXVzc2VoZW4uLi4KaHR0cDovL3d3dy5nbGVubmZlcm9uLmNvbS9wb3J0Zm9saW8xL2luZGV4Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRydXRoYWhudGFnIChBbnRoZWEsIDMxLiBPa3QgMjAwNSwgMTE6MTI6NDgpOgpodHRwOi8vd3d3Lm1zbi5hbWVyaWNhbmdyZWV0aW5ncy5jb20vdmlldy5wZD9pPTM4MjIxOTYyNiZtPTE2NTImcnI9eSZzb3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBpc3QgZGFzPyAoS2Vzc2EsICAxLiBOb3YgMjAwNSwgMDE6Mzk6NDQpOgpodHRwOi8vd3d3LmVibG9uZy5jb20vemFyZi9kb2RlY2FoZWRyYS5odG1sCgpWaWVsIFNwYXNzIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2V0IChLZXNzYSwgIDEuIE5vdiAyMDA1LCAyMDozNjozNik6CkVpbmUgT25saW5lLVZlcnNpb24gZGVzIEthcnRlbnNwaWVscywgc2VociBuZXR0IGZ1ZXIgendpc2NoZW5kdXJjaDoKCmh0dHA6Ly93d3cuc2V0Z2FtZS5jb20vc2V0L3B1enpsZV9mcmFtZS5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZseWluZyBHb256byAoQ2hhZ2FsbCwgIDIuIE5vdiAyMDA1LCAxNjozNTozNSk6Cmh0dHA6Ly9tdXBwZXRzLmdvLmNvbS9nYW1lcy9tdXBwZXRzLWZseWluZ2dvbnpvLmh0bWwKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2V0IChBbmF0b2wsICAyLiBOb3YgMjAwNSwgMTk6Mjk6NDUpOgp+IyEgcm49S2Vzc2EgcnQ9MTEzMDg3Mzc5NiByZz13d3cKfiMhIHRpZD0xMTMwODczNzk2ClRoYW5rcyBmb3IgdGhlIHJlbWluZGVyLi4uIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTZXQgKEtlc3NhLCAgMi4gTm92IDIwMDUsIDE5OjUyOjQwKToKfiMhIHJuPUFuYXRvbCBydD0xMTMwOTU2MTg1IHJnPXd3dwp+IyEgdGlkPTExMzA4NzM3OTYKSGV5LCBpY2ggbWFjaCBkYXMgZXh0cmEgZnVlciBkaWUgc28gZHJpbmdlbmQgZXJ3dWVuc2NodGVuIG5ldWVuIGZyaXNjaGVuCk11ZGRlciwgZGllIG5pY2h0IGRhcyBnYW56ZSBBcmNoaXYgbGVzZW4sIGJldm9yIHNpZSBtaXQgZGVuIG5ldWVuIEFydGlrZWxuCmFuZmFuZ2VuLCBnaWJ0IGphIG5pY2h0IG51ciBUYXR0ZXJncmVpc2UgaGllciAqcmF1c3JlZCogKmVya2xhZXIqIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgZmluYW56aWVydCBtYW4gZWluZSBGdXNzYmFsbC1XTT8gKFJvbmRhLCAgMy4gTm92IDIwMDUsIDIzOjM3OjM3KToKRGFzIGhpZXIgc2NoZWludCBuZSBMb2VzdW5nIHp1IHNlaW46IGh0dHA6Ly90aW55dXJsLmNvbS9kcGQ0cQoKUm9uZGEgKnN1Y2h0IG5vY2ggd2VyIG5lIFVudGVya3VuZnQgenVyIFdNIGluIEZyYW5rZnVydD8gT2Rlcjogd2VyIGZpbmFuemllcnQKbWlyIGRlbiBVcmxhdWIgaW4gZGVyIFplaXQsIGRhc3MgaWNoIGdhbnogc2NobmVsbCBnYW56IHdlaXQgd2VnIGtvbW1lPyoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGFmZmVuIHdpciBlcy4uLiAoUm9uZGEsICAzLiBOb3YgMjAwNSwgMjM6NDQ6NDEpOgouLi4gZGEgIk1vcmdlbmdyYXVlbiBtZyBtdWQgZGUiIHp1IHNjaHJlaWJlbj8KaHR0cDovL3dlYi5va2F5Z28uY28udWsvYXBwcy9sZXR0ZXJzL2ZsYXNoY29tL2luZGV4Mi5odG0gKEZsYXNoKQoKUm9uZGEgKlNwaWVsa2luZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hhZmZlbiB3aXIgZXMuLi4gKEdsb2luc29uLCAgNC4gTm92IDIwMDUsIDAwOjAzOjI4KToKfiMhIHJuPVJvbmRhIHJ0PTExMzEwNTc4ODEgcmc9d3d3Cn4jISB0aWQ9MTEzMTA1Nzg4MQpodHRwOi8vd3d3LmluZm9ybWF0aWsuaHUtYmVybGluLmRlL35jYmVja2VyL0NsaXBib2FyZC5qcGcKCklyZ2VuZHdlciBoYXQgZ2Vob2xmZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaGFmZmVuIHdpciBlcy4uLiAoR2xvaW5zb24sICA0LiBOb3YgMjAwNSwgMDA6MDg6MDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMTA1OTAwOCByZz13d3cKfiMhIHRpZD0xMTMxMDU3ODgxCmh0dHA6Ly93d3cuaW5mb3JtYXRpay5odS1iZXJsaW4uZGUvfmNiZWNrZXIvQ2xpcGJvYXJkMDIuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGFmZmVuIHdpciBlcy4uLiAoQ3JvZnQsICA0LiBOb3YgMjAwNSwgMDA6MTQ6MjQpOgp+IyEgcm49Um9uZGEgcnQ9MTEzMTA1Nzg4MSByZz13d3cKfiMhIHRpZD0xMTMxMDU3ODgxCkFsc28gZnVlciBlaW5lbiBrdXJ6ZW4gTW9tZW50IHN0YW5kIGVzIGRhLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2NoYWZmZW4gd2lyIGVzLi4uIChHbG9pbnNvbiwgIDQuIE5vdiAyMDA1LCAwMDo0MDo0MCk6Cn4jISBybj1Dcm9mdCBydD0xMTMxMDU5NjY0IHJnPXd3dwp+IyEgdGlkPTExMzEwNTc4ODEKWnVzYW1tZW5hcmJlaXQ6Cmh0dHA6Ly93d3cuaW5mb3JtYXRpay5odS1iZXJsaW4uZGUvfmNiZWNrZXIvQ2xpcGJvYXJkMDMuanBnCmh0dHA6Ly93d3cuaW5mb3JtYXRpay5odS1iZXJsaW4uZGUvfmNiZWNrZXIvQ2xpcGJvYXJkMDQuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2NoYWZmZW4gd2lyIGVzLi4uIChHbG9pbnNvbiwgIDQuIE5vdiAyMDA1LCAwMDo1MTo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTMxMDYxMjQwIHJnPXd3dwp+IyEgdGlkPTExMzEwNTc4ODEKaHR0cDovL3d3dy5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS9+Y2JlY2tlci9DbGlwYm9hcmQwNS5qcGcKaHR0cDovL3d3dy5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS9+Y2JlY2tlci9DbGlwYm9hcmQwNi5qcGcKaHR0cDovL3d3dy5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS9+Y2JlY2tlci9DbGlwYm9hcmQwNy5qcGcKCkRhcyB3YXJzIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNjaGFmZmVuIHdpciBlcy4uLiAoTW9yZ290aCwgIDQuIE5vdiAyMDA1LCAwODowMjozMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTMxMDU5Mjg4IHJnPXd3dwp+IyEgdGlkPTExMzEwNTc4ODEKbG9sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgphdXdlaWEgKE1vcHBpLCAgNC4gTm92IDIwMDUsIDE5OjI4OjE3KToKaHR0cDovL2RsLmx1c3RpY2gubmV0L2Rvd25sb2FkLzcyLTUzLXZpZGVvLWM5MmY4ZWQ1L3NhY2todWVwZmVuLndtdgoKTW9wcGVybAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2NoYWZmZW4gd2lyIGVzLi4uIChBbmF0b2wsICA0LiBOb3YgMjAwNSwgMjE6Mjg6MDcpOgp+IyEgcm49TW9yZ290aCBydD0xMTMxMDg3NzUxIHJnPXd3dwp+IyEgdGlkPTExMzEwNTc4ODEKWmllbWxpY2ggbmV0dGUgSWRlZSwgZGFzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2hhZmZlbiB3aXIgZXMuLi4gKEtlc3NhLCAgNC4gTm92IDIwMDUsIDIxOjM3OjQ3KToKfiMhIHJuPVJvbmRhIHJ0PTExMzEwNTc4ODEgcmc9d3d3Cn4jISB0aWQ9MTEzMTA1Nzg4MQpHaWJ0cyBhdWNoIGhpZXI6IGh0dHA6Ly9qYXlpc2dhbWVzLmNvbS9hcmNoaXZlcy8yMDA0LzExL3NvbWVvbmVfa2VlcHNfcy5waHAKClVuZCBoYWIgaWNoIHNjaG9uLiBBdXNzZXJkZW0gJ3BsYXkga29sJy4gQmVvYmFjaHRldCBqZW1hbmQgZGllClNwaWVsZXJzdGF0aXN0aWs/IAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGFmZmVuIHdpciBlcy4uLiAoR2xvaW5zb24sICA1LiBOb3YgMjAwNSwgMDE6MTQ6MDEpOgp+IyEgcm49Um9uZGEgcnQ9MTEzMTA1Nzg4MSByZz13d3cKfiMhIHRpZD0xMTMxMDU3ODgxCktvbmt1cnJlbnotQmFzaGluZyBvaG5lIEhlcmF1c2ZvcmRlcnVuZzoKaHR0cDovL3d3dy5pbmZvcm1hdGlrLmh1LWJlcmxpbi5kZS9+Y2JlY2tlci9DbGlwYm9hcmQwOC5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcHRpc2NoZSBJbGx1c2lvbiAoVmluY2VudCwgIDUuIE5vdiAyMDA1LCAxMjoxNjoxMyk6ClVudGVyIGRlbSBmb2xnZW5kZW4gTGluayBiZWZpbmRldCBzaWNoCmVpbmUgaW50ZXJlc3NhbnRlIG9wdGlzY2hlIElsbHVzaW9uLiAKR2VuYXUgaGluZ3Vja2VuLiA6KQoKaHR0cDovL3d3dy5wYXRtZWRpYS5uZXQvbWFya2xldmluc29uL2Nvb2wvY29vbF9pbGx1c2lvbi5odG1sCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT3B0aXNjaGUgSWxsdXNpb24gKE1haGFyZXQsICA1LiBOb3YgMjAwNSwgMTQ6MDM6MTEpOgp+IyEgcm49VmluY2VudCBydD0xMTMxMTg5MzczIHJnPXd3dwp+IyEgdGlkPTExMzExODkzNzMKT2gsIHN0YW5kIGRhcyBuaWNodCBlcnN0IHZvciA0IG9kZXIgNSBUYWdlbiBpbiBkZXIgbXBhPyBPZGVyIHNlaCBpY2ggc2Nob24KUHVua3RlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBPcHRpc2NoZSBJbGx1c2lvbiAoR2xvaW5zb24sICA1LiBOb3YgMjAwNSwgMTY6MTY6MjUpOgp+IyEgcm49TWFoYXJldCBydD0xMTMxMTk1NzkxIHJnPXd3dwp+IyEgdGlkPTExMzExODkzNzMKSWNoIGdsYXViIGVzIHdhciB2b24gd2VtIGluIE1lZ2FzY2htYXJybi4gTWVzaSBnYXI/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3B0aXNjaGUgSWxsdXNpb24gKE1haGFyZXQsICA1LiBOb3YgMjAwNSwgMTY6MTg6MDkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMTIwMzc4NSByZz13d3cKfiMhIHRpZD0xMTMxMTg5MzczCkRlciBuaWNodC4gQWJlciBzb25zdCwga2xhci4gTWVnYXNjaG1hcnJubGVzZXIgd2lzc2VuIGhhbHQgbWVoci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE9wdGlzY2hlIElsbHVzaW9uIChab29rLCAgNS4gTm92IDIwMDUsIDE2OjUyOjQ0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTEzMTIwMzg4OSByZz13d3cKfiMhIHRpZD0xMTMxMTg5MzczCnEuZS5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29uem8gYXVzIGRlciBNdXBwZXQtU2hvdy4uLiAoUm9uZGEsICA1LiBOb3YgMjAwNSwgMjI6MjQ6MjYpOgouLi4gYmluIGljaCBudXIgenUgZHVzc2VsaWcsIG9kZXIgZ2lidHMgYmVpIGRlbSBTcGllbCB3aXJrbGljaCBpcmdlbmRuZW4KaGFsYndlZ3MgbmFjaHZvbGx6aWVoYmFyZW4gU2lubj8KClJvbmRhCgouLi4gZGVyIExpbms6IGh0dHA6Ly9tdXBwZXRzLmdvLmNvbS9nYW1lcy9tdXBwZXRzLWZseWluZ2dvbnpvLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHb256byBhdXMgZGVyIE11cHBldC1TaG93Li4uIChBbWFyeWxsaXMsICA1LiBOb3YgMjAwNSwgMjM6MDY6MTUpOgp+IyEgcm49Um9uZGEgcnQ9MTEzMTIyNTg2NiByZz13d3cKfiMhIHRpZD0xMTMxMjI1ODY2Ck5laW4uIE9kZXIgZ2FicyBkZW4gYmVpIHZlcmdsZWljaGJhcmVuIFNwaWVsY2hlbiB3aWUgZGVuIFlldGktR2FtZXM/IDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZXJvZ2llIChCYW1idWxrbywgIDguIE5vdiAyMDA1LCAxMDo1MDozNyk6Ck1hbiBrYW5uIGlobiBhdWNoIG1pdCBkZXIgTWF1cyBydW13aXJiZWxuIDotKQoKaHR0cDovL3d3dy5wbGFuZXRkYW4ubmV0L3BpY3MvbWlzYy9nZW9yZ2llLmh0bQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHZXJvZ2llIChBbnRoZWEsICA4LiBOb3YgMjAwNSwgMTA6NTM6MDYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTEzMTQ0MzQzNyByZz13d3cKfiMhIHRpZD0xMTMxNDQzNDM3CkRhIHNpZWh0IG1hbiBtYWwsIHdpZSBzY2hsdWVwZnJpZyBkZXIgaXN0LCBkYXNzIGRlciBhdWNoIG5vY2ggZHVyY2ggZGllCmVuZ3N0ZW4gTHVlY2tlbiBkdXJjaGtvbW10LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHZXJvZ2llIChCb2luZywgIDguIE5vdiAyMDA1LCAxMTowODo1Mik6Cn4jISBybj1BbnRoZWEgcnQ9MTEzMTQ0MzU4NiByZz13d3cKfiMhIHRpZD0xMTMxNDQzNDM3ClNlaHIgZ2VsZW5raWcgLi4uCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdlcm9naWUgKENyb2Z0LCAgOC4gTm92IDIwMDUsIDExOjE0OjM1KToKfiMhIHJuPUJvaW5nIHJ0PTExMzE0NDQ1MzIgcmc9d3d3Cn4jISB0aWQ9MTEzMTQ0MzQzNwpXaXJrdCBzZWhyIGJlcnVoaWdlbmQsIHdpZSBkZXIgZGEgc28gc2Nob2VuIGZhZWxsdC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHZXJvZ2llIChKYW1lc29uLCAgOC4gTm92IDIwMDUsIDEzOjQwOjUyKToKfiMhIHJuPUNyb2Z0IHJ0PTExMzE0NDQ4NzUgcmc9d3d3Cn4jISB0aWQ9MTEzMTQ0MzQzNwpIYSEgQmVpIG1pciBpc3QgZXIgZ2VyYWRlIHN0ZWNrZW5nZWJsaWViZW4uIE1pdCBkZW0gS29wZiB2b3Jhbi4gSW4gZXR3YXMsIGRhcwphdXNzYWggd2llLi4uIHdpc3NlbnNjaG9uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogR2Vyb2dpZSAoQm9pbmcsICA4LiBOb3YgMjAwNSwgMTM6NTE6MjIpOgp+IyEgcm49SmFtZXNvbiBydD0xMTMxNDUzNjUyIHJnPXd3dwp+IyEgdGlkPTExMzE0NDM0MzcKV2VubiBtYW4gaWhuIG1pdCB2aWVsIFNjaHd1bmcgaG9jaCBvZGVyIHp1ciBTZWl0ZSB3aXJmdCwgZGFubiBpc3QgZGVyCmVyc3RlIEVpbnNjaGxhZyBtZWlzdGVucyBzZWhyIHNjaG9lbi4gOikKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogR2Vyb2dpZSAoSmFtZXNvbiwgIDguIE5vdiAyMDA1LCAxMzo1Njo0Nik6Cn4jISBybj1Cb2luZyBydD0xMTMxNDU0MjgyIHJnPXd3dwp+IyEgdGlkPTExMzE0NDM0MzcKR2VsZWdlbnRsaWNoIG1hY2h0IGVyIGRlbiBIaXRsZXJncnVzcywgd2VubiBtYW4gaWhuIGZlc3RoYWVsdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKaXN0IGRvY2ggZ2FyIG5peCAoRWxmZWFub3IsICA4LiBOb3YgMjAwNSwgMjA6MjM6MjkpOgo5MDIgZnQgYmVpbSAyLiBWZXJzdWNoIHR6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBLk0uIChPZ28sIDE0LiBOb3YgMjAwNSwgMjA6MjA6MzgpOgpodHRwOi8vd3d3LnJvbGFuZC1rb2NoLmNvbS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBLk0uIChHbG9pbnNvbiwgMTQuIE5vdiAyMDA1LCAyMDoyMTowNCk6Cn4jISBybj1PZ28gcnQ9MTEzMTk5NjAzOCByZz13d3cKfiMhIHRpZD0xMTMxOTk2MDM4CkljaCBnbGF1YiBpY2ggdmVyemljaHRlIGZyZWl3aWxsaWcgZGFyYXVmLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcyBCYXJvbWV0ZXIgLSBtYWwgd2llZGVyIDopIChLZXNzYSwgMjAuIE5vdiAyMDA1LCAyMTowOTozMik6CkF1cyBha3R1ZWxsZW0gQW5sYXNzIChLYW1wZiB1bSBIaWxiZXJ0cyBUdXJtKSBub2NobWFsLCBlcyBpc3QgaGFsdCBpbW1lcgp3aWVkZXIgZ3V0OgoKaHR0cDovL3d3dy5zbm9wZXMuY29tL2NvbGxlZ2UvZXhhbS9iYXJvbWV0ZXIuYXNwCgpKYWphLCBBbmF0b2wsIGRhcyB3YXIgc2Nob24gbWFsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3ZWlobmFjaHRlbi4uLi4gKFZlY3RvciwgMjMuIE5vdiAyMDA1LCAyMjoyODo0Myk6Ci4uLmVpbmVyIG11c3MgamEgYW5mYW5nZW4gZGFtaXQ6KQpodHRwOi8vbWVkaWEucHV0ZmlsZS5jb20vV2l6YXJkc29mV2ludGVyLVNNCm51ciBtaXQgc291bmQgYnJhdWNoYmFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VpaG5hY2h0ZW4uLi4uIChSb25kYSwgMjMuIE5vdiAyMDA1LCAyMjo1MjozOSk6Cn4jISBybj1WZWN0b3IgcnQ9MTEzMjc4MTMyMyByZz13d3cKfiMhIHRpZD0xMTMyNzgxMzIzCkRhcyBUcmFucy1TaWJlcmlhbiBPcmNoZXN0cmEga2xpbmd0IGVjaHQgc2NocmFlZyAtIGxvaG50IGVzIHNpY2gsIHZvbiBkZW5lbiBuZQpDRCB6dSBrYXVmZW4/CgpSb25kYSAqbGllYnQgc2NocmFlZ2UgTXVzaWsqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIb2ZmZW50bGljaCBrb21tZW4gZGllIGluIGRpZSBDaGFtcGlvbnNsZWFndWUuLi4gKE9nbywgMjMuIE5vdiAyMDA1LCAyMjo1ODo0NSk6Cmh0dHA6Ly93d3cuc3VlZGRldXRzY2hlLmRlLyxzcG9sMi9zcG9ydC93ZWx0ZnVzc2JhbGwvYXJ0aWtlbC84NDcvNjQ3ODMvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZXJ2aWNlZ2VzZWxsc2NoYWZ0IDopIChHbG9pbnNvbiwgMjQuIE5vdiAyMDA1LCAxMDowNzoyMyk6CgpodHRwOi8vd3d3LnNjaGx1c3NtYWNoZW4uY29tL3NjaGx1c3Nfc3RhcnQuaHRtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIExlYmVuIG5hY2ggZGVtIFRvZCAoR3JpbW1ib3JuLCAyNC4gTm92IDIwMDUsIDE1OjQxOjAxKToKSGllciBzaW5kIGVpbiBwYWFyIGdhbnogbmV0dGUgZGFiZWk6Cmh0dHA6Ly93b2xrZXNpZWJlbmVpbmhhbGIuZGUvCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlcmJlbGV1Y2h0dW5nIC4uLiAoR2xvaW5zb24sIDI2LiBOb3YgMjAwNSwgMDA6NDU6NTApOgouLi4gbWFsIGlubm92YXRpdjoKCmh0dHA6Ly9tZWRpYS5wdXRmaWxlLmNvbS9XaXphcmRzb2ZXaW50ZXItU00KCkxlaWRlciB0b3VydCBkaWUgQmFuZCB3b2hsIG51ciBpbiBkZW4gVVNBLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnB1bmstby1tYXRpYyAoSmltZGlncml6LCAgNS4gRGV6IDIwMDUsIDE4OjUxOjA5KToKQWxzbyBub2NobWFsIGhpZXIsIFB1bmstby1NYXRpYyBmbGFzaCBnYW1lIHpCCmh0dHA6Ly93d3cuZmxhc2hwbGF5ZXIuY29tL2dhbWVzL3B1bmstby1tYXRpYy5odG1sCgpISWVyIGVpbiBTb25nIHZvbiBtaXIgKExvYWQgdW5kIGRhbm4gaW4gZGFzIGZlbGQgZ2FueiB1bnRlbiByZWlucGFzdGVuLCBtdXNzCmVpbmUKZWluemlnZSB6ZWlsZSBzZWluIG9obmUgbGluZWJyZWFrcyk6Cgo5MC0tLTAtLS0xLS0tMS0tLTAtLS0wLS0tMC0tLTItLS01LTUtNS0tLTg4MC0tLTg4MS0tLTAtLS0wLS0tODg4ODg4ODgxLS0tMC0tLTcKNzc3OS0tLWMtLS0xLS0tMi0tLTEtLTMtMS0tLTQtLS00LTEtNC0tLWMtLS0wLS0tMC0tLTMtMy0xLS0tMS0tLTEtLS0wLS0tNy02LTQtCi0tYmI1LTQtLS1jLS0tYS02LTEtNS0yLTU2Mjg1Mi0xLS0tNC00LTUtNS03LTctYS0tLTYtNy04LTEtLS0yLTMtMy05LTktMC0tLTUtNwotNi04LTEtLS0zLTItNC0yLTktYS0KClZpZWwgU3Bhc3MsCiBKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkphISBKYWFhYSEgSmFhYWFhISAoR2xvaW5zb24sICA2LiBEZXogMjAwNSwgMTE6MTU6MjEpOgpodHRwOi8vd3d3LmdpYW50aXRwLmNvbS9jZ2ktYmluL0dpYW50SVRQL29vdHNjcmlwdD9TSz0yNTMKCkFjaHR1bmchIEVudGhhZWx0IFNwb2lsZXIgOykKCkZ1ZXIgd2FzPyBBY2gsIGVnYWwgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSmEhIEphYWFhISBKYWFhYWEhIChBbnRoZWEsICA2LiBEZXogMjAwNSwgMTE6MzQ6NTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzMzg2NDEyMSByZz13d3cKfiMhIHRpZD0xMTMzODY0MTIxClllcC4gRGllc21hbCBpc3QgZXIgd2lya2xpY2ggd2llZGVyIGVpbiBWb2xsdHJlZmZlciA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWR2ZW50LCBBZHZlbnQsIGRpZSBOYWNocmljaHQgaGFlbmd0IC4uLiAoR2xvaW5zb24sICA4LiBEZXogMjAwNSwgMTE6NTY6MjMpOgpodHRwOi8vd3d3LnRhZ2Vzc2NoYXUuZGUvYWR2ZW50c2thbGVuZGVyCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFkdmVudCwgQWR2ZW50LCBkaWUgTmFjaHJpY2h0IGhhZW5ndCAuLi4gKEppbWRpZ3JpeiwgIDguIERleiAyMDA1LCAxMjowOTozNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTM0MDM5MzgzIHJnPXd3dwp+IyEgdGlkPTExMzQwMzkzODMKTmljaHQgZGVuIExFTyBBZHZlbnRza2FsZW5kZXIgdmVyZ2Vzc2VuOiAKCmh0dHA6Ly93d3cubGVvLm9yZy93a2FsLwoKOi0pCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBZHZlbnQsIEFkdmVudCwgZGllIE5hY2hyaWNodCBoYWVuZ3QgLi4uIChNb3BwaSwgIDkuIERleiAyMDA1LCAwMTowMjozOSk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTEzNDA0MDE3NCByZz13d3cKfiMhIHRpZD0xMTM0MDM5MzgzCmh0dHA6Ly93d3cudHUtY2hlbW5pdHouZGUvYWR2ZW50LzIwMDUvCgpEYWJlaSBpc3QgdWVicmlnZW5zIGVpbiBTdWRva3UgbWl0IFdlaWhuYWNodHNzeW1ib2xlbiBzdGF0dCB6YWhsZW4uCgpNb3BwZXJsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyNC4xMi4gKFZlY3RvciwgIDkuIERleiAyMDA1LCAxODo1NjowNyk6CndpZSB3YWVycyBtaXQgbmVtIGR2ZC13cml0ZXIgenUgd2VpaG5hY2h0ZW4/Cmh0dHA6Ly93d3cuZnVjaHNuZXQuY2gvb3RmL0RWRC1Xcml0ZXIuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogMjQuMTIuIChNb3BwaSwgIDkuIERleiAyMDA1LCAxODo1ODo1MCk6Cn4jISBybj1WZWN0b3IgcnQ9MTEzNDE1MDk2NyByZz13d3cKfiMhIHRpZD0xMTM0MTUwOTY3CnVuZCBkaWNoIHZlcnNjaGVua2UgaWNoIGFscyBTY2hhdW1zY2hsZ2VyIGhvZSBob2Vob2UKCk1vcHBlcmwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogMjQuMTIuIChWZWN0b3IsICA5LiBEZXogMjAwNSwgMTk6MDA6MDQpOgp+IyEgcm49TW9wcGkgcnQ9MTEzNDE1MTEzMCByZz13d3cKfiMhIHRpZD0xMTM0MTUwOTY3CmhtIHdhcnVtIGtyaWVnIGljaCBpaG4gbWl0IG9id29obCBpY2ggaWhuIGlnbm9yaWVyZT8Kc29sbHRlIGRhIG5pY2h0IGF1Y2ggKi5tcGEgZ2xlaWNoIG1pdCBkYWJlaSBzZWluPwpudW4gZGVubiwgaXNzZXMgZWJlbiBqZXR6dCB2b24gaGFuZCBnZXNldHp0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMdXN0aWdlIFdlYnNlaXRlbm5hbWVuIChHbG9pbnNvbiwgIDkuIERleiAyMDA1LCAxOTowNToyNik6Ck5hamEuIEx1c3RpZy4gRWhlciBza3VycmlsLgoKaHR0cDovL3NwYWRhc3Npbi5ibG9nc3BvdC5jb20vMjAwNS8xMS93ZWJtYXN0ZXJzLXdoby1kaWRudC10aGluay13aGVuLXRoZXkuaHRtCmwKaHR0cDovL3Rpbnl1cmwuY29tLzl6amszCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIHBhYXIgc2VsdHNhbWUgdW5kIGx1c3RpZ2UgQmlsZGVyIC4uLiAoR2xvaW5zb24sIDE0LiBEZXogMjAwNSwgMDA6MDg6MzApOgouLi4gYXVzIEphcGFuLiBJaHIgZW50c2NoZWlkZXQuCgpodHRwOi8vb3V0cG9zdG5pbmUuY29tL2VkaXRvcmlhbHMvdGVhY2hlcjkwLmh0bWwKCkFuc29uc3RlbiBmaW5kZSBpY2ggZGFzIEVkaXRvcmlhbCB0cm90eiBzZWluZXIgU2V4dWFsZml4aWVydW5nIHppZW1saWNoCmFtdWVzYW50LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbnRlciAuLi4gKEdsb2luc29uLCAxNC4gRGV6IDIwMDUsIDE4OjQwOjM3KToKLi4uIHVuZCBhbmRlcmUgU2Nod2VpbmVyZWllbi4KCmh0dHA6Ly9pbWcyMTMuaW1hZ2VzaGFjay51cy9pbWcyMTMvMzkzNS9jYWx2aW5ob2JiZXNzbm93Y29taWM3bWMuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERyYWNoZW5pbGx1c2lvbiAoSmltZGlncml6LCAyOC4gRGV6IDIwMDUsIDE2OjU1OjQwKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTEzNTc2OTE2NyByZz13d3cKfiMhIHRpZD0xMTM1NzY5MTY3Ck9obmUgZGFzIGpldHp0IGFuZ2VzY2hhdXQgenUgaGFiZW4sIGtvbW10IGRpZXNlciBEcmFjaGUgbmljaHQKYXVjaCBpbSBub3RwcjBuIFJhZXRzZWwgdm9yPyAoRGllIExvZXN1bmcgZGVzIExldmVscyBoYXQKYWJlciBzdHJhbmdlcndlaXNlIGdhciBuaXggZGFtaXQgenUgdHVuKS4KSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERyYWNoZW5pbGx1c2lvbiAoQm9pbmcsIDI5LiBEZXogMjAwNSwgMTA6Mzk6NDQpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMzU3ODUzNDAgcmc9d3d3Cn4jISB0aWQ9MTEzNTc2OTE2Nwonc3RyYW5nZXJ3ZWlzZSc/IDopCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERyYWNoZW5pbGx1c2lvbiAoSmltZGlncml6LCAyOS4gRGV6IDIwMDUsIDE2OjI1OjUyKToKfiMhIHJuPUJvaW5nIHJ0PTExMzU4NDkxODQgcmc9d3d3Cn4jISB0aWQ9MTEzNTc2OTE2NwpOdW4sIGluIGRlbiBtZWlzdGVuIEZhZWxsZW4gc2luZCBkaWUgSGlud2Vpc2UgZGllIG1hbiAKdmVyc3RlY2t0IGZpbmRldCAoekIgaW0gQ29kZSwgaW0gVVJMLCBldGMuKSB0YXRzYWVjaGxpY2hlCkhpbndlaXNlIGF1ZiBkaWUgTG9ldXNuZy4gVW5kIG1hbiBmaW5kZXQgZWluZSBnYW56ZSBNZW5nZSBIaW53ZWlzZQpkaWUgZ2VuYXUgYXVmIGRlbiBEcmFjaGVuIGRldXRlbi4gSWNoIGhhYiBrZWluZW4gKGF1c3NlciBkZW0gZWluZW4Kb2ZmZW5zaWNodGxpY2hlbikgZ2VmdW5kZW4sIGRlciBhdWYgZGllIHRhdHNhZWhjbGljaGUgTG9lc3VuZwpoaW5kZXV0ZXQuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEcmFjaGVuaWxsdXNpb24gKFBlcmtlbywgMjkuIERleiAyMDA1LCAxODoyMTowNik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTEzNTg2OTk1MiByZz13d3cKfiMhIHRpZD0xMTM1NzY5MTY3CkphLCBkZXIgRHJhY2hlIHdhciBhdWNoIGluIG5vdHByb24uIEluIGRlbSBMZXZlbCBnYWJzIGF1Y2ggbm9jaCBlaW4gVmlkZW8gbWl0CkRyYWNoZW4gKHVuZCBLYXR6ZSkuIEFiZXIgaWNoIGRlbmtlIG1hbCBkYXNzIGRlciBhYnNpY2h0bGljaCB2ZXJ3aXJyZW4gc29sbHRlLgoKUGVya2VvLCBkZXIgdm9yIGVpbmlnZXIgWmVpdCBzY2hvbiBiZWkgTGV2ZWwgNzIgaGFlbmdlbmdlYmxpZWJlbiBpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcmFjaGVuaWxsdXNpb24gKEFub3JpcywgMjkuIERleiAyMDA1LCAyMzoxNjoxMSk6Cn4jISBybj1WaW5jZW50IHJ0PTExMzU3NjkxNjcgcmc9d3d3Cn4jISB0aWQ9MTEzNTc2OTE2NwpNaXIgaGF0IGRhcyBWaWRlbyBnZWZhbGxlbiwga2FubnRlIGRhcyBzbyBuaWNodCB1bmQgZXMgd2FyIGRvY2gKdWViZXJ6ZXVnZW5kLiBTbyB1ZWJlcnpldWdlbmQsIGRhc3MgaWNoIGRlbiBEcmFjaGVuIGdlYmF1dCBoYWJlLApOb3JtYWxwYXBpZXIgdW5kIEZhcmJsb3MgYXVmIGRlbSBMYXNlciBhYmVyIGVzIGZ1bmt0aW9uaWVydC4KCkRpZ2ljYW0gaGFiIGljaCBhYmVyIG5pY2h0IGhpZXIsIEZvdG9zIHVuZCB3ZW5uIGdld3VlbnNjaHQgVmlkZW9zCndlcmRlbiBhYmVyIGZvbGdlbi4KCkdlcm5lIGVtcGZlaGxlIGljaCBldWNoIGVzIGViZW5mYWxscyB6dSB2ZXJzdWNoZW4gOykKCi0gQW5vcmlzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXIgc2luZCBhbGxlIGVpbmZhY2ggenUgZG9vZi4uIChLYXJpcywgMzAuIERleiAyMDA1LCAxMjozNTowMyk6Cnd3dy5taWxsaW9uZG9sbGFyaG9tZXBhZ2UuY29tCgpKZWRlcyBQaXhlbCBmdWVyIGVpbmVuIERvbGxhciB2ZXJrYXVmdC4uLiB1bmQgZGllIFNlaXRlIGlzdCBmYXN0IHZvbGwuClNPIHZlcmRpZW50IG1hbiBpbiBaVWt1bmZ0IGFsc28gc2VpbmUgS29obGUuCgpHdXRlbiBSdXRzY2gsCkthcmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpncmFwaGlzY2hlcyBNdWQgKEtlbGx5YnVuZHksIDMwLiBEZXogMjAwNSwgMTc6MDg6NDUpOgpTaWVodCBnYW56IGx1c3RpZyBhdXMgdW5kIGlzdCBtb21lbnRhbiBub2NoIGZyZWkgKGluIGRlciBCZXRhLVBoYXNlKToKaHR0cDovL3d3dy5kYWltb25pbi5uZXQKCkJpbiBnZXJhZGUgYmVnZWlzdGVydCBhbSB6b2NrZW4KS2VsbHkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcmFjaGVuaWxsdXNpb24gKE1vcmdvdGgsICA0LiBKYW4gMjAwNiwgMDc6NTg6NTkpOgp+IyEgcm49VmluY2VudCBydD0xMTM1NzY5MTY3IHJnPXd3dwp+IyEgdGlkPTExMzU3NjkxNjcKRXMgZnVua3Rpb25pZXJ0LiBJY2ggaGFicyBnZXN0ZXJuIG1hbCBhdXNnZWRydWNrdCB1bmQgZWluZW0gSGl3aSBnZWdlYmVuLiBIZXV0Cm1vcmdlbiBzdGFuZCBkYXMgRGluZyBhdWYgbWVpbmVtIE1vbml0b3IuIFNpZWh0IHdpdHppZyBhdXMgOikKRm90byBtYWNoIGljaCBtYWwgYmVpIEdlbGVnZW5oZWl0ICh3ZW5uIENoZWYgbmljaCBkYSBpcy4uLikgOkQKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQSFAtRGFja2VsIChHd2VuaWxpLCAgOS4gSmFuIDIwMDYsIDE4OjA4OjA0KToKVW5kIGRhIHNhZyBub2NobWFsIGVpbmVyLCBQcm9ncmFtbWllcmVyIGhhZXR0ZW4ga2VpbmVuIEh1bW9yOgpodHRwOi8vbjI0LmRlL3dpcnRzY2hhZnQvbXVsdGltZWRpYS9pbmRleC5waHAvbjIwMDYwMTA5MTU0OTQxMDAwMDIKQ2lhbywgR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQSFAtRGFja2VsIChHcmltbWJvcm4sICA5LiBKYW4gMjAwNiwgMTg6NDQ6MTUpOgp+IyEgcm49R3dlbmlsaSBydD0xMTM2ODI2NDg0IHJnPXd3dwp+IyEgdGlkPTExMzY4MjY0ODQKV293LCBlaW5lIHZvZWxsaWcgbmV1ZSBFbnR3aWNrbHVuZzogRWFzdGVyIEVnZ3MgaW4gUHJvZ3JhbW1lbi4gSXJyZSEKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa3Jpc3RhbGxrdWdlbC1xdWVzdCBpbiBwYXJhPyAoVmVjdG9yLCAxMC4gSmFuIDIwMDYsIDE4OjI5OjM0KToKZGVyIHd1ZXJmZWwgd2FyIHNjaHdlcj8gbmEgZGFubjoKaHR0cDovL2ZpbGVjYWJpLm5ldC92aWRlby9ydWJpa3MtY3ViZS1ibGluZGZvbGRlZC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLdWx0dXJzdG9seiAuLi4gKEdsb2luc29uLCAxMS4gSmFuIDIwMDYsIDE4OjQxOjUxKToKLi4uIG1hbCBnYW56IHN5bXBhdGhpc2NoOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvdW5pc3BpZWdlbC9zY2h1bGUvMCwxNTE4LDM5NDY0MiwwMC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGtyaXN0YWxsa3VnZWwtcXVlc3QgaW4gcGFyYT8gKEtlbGx5YnVuZHksIDEzLiBKYW4gMjAwNiwgMjE6NTI6MDgpOgp+IyEgcm49VmVjdG9yIHJ0PTExMzY5MTQxNzQgcmc9d3d3Cn4jISB0aWQ9MTEzNjkxNDE3NApEYXMgd2FyIHVlYnJpZ2VucyBkYW1hbHMgbWVpbmUgU3BlemlhbGl0YWV0LCBiaXMgenUgMzAgWnVlZ2UgaW0gVm9yYXVzIGRlbgpXdWVyZmVsIF9oaW50ZXIgZGVtIFJ1ZWNrZW5fIGhpbnp1ZHJlaGVuLCBkYXMgaXN0IGZhc3Qgbm9jaCBiZXNzZXIgYWxzIGJsaW5kLgpLZWxseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2hvIGlzIEJlbmphbWluIFN0b3ZlPyAoS2lyaWEsIDE3LiBKYW4gMjAwNiwgMTY6MTQ6MjApOgpMdXN0aWdlcyBCbG9nIC8gRm9ydW0gdW0gZGllIGdyb3NzZSBGcmFnZSBuYWNoIEJlbmphbWluIFN0b3ZlIHVuZCBkYXMgc2VsdHNhbWUKQmlsZCBhdXMgRmFtaWxpZW5iZXNpdHoKCkljaCB0aXBwZSB6d2FyIG1hbCwgZGFzcyBlcyBudXIgZWluZSBXZXJiZWthbXBhZ25lIGlzdCwgYWJlciBpbW1lcmhpbiBlaW5lCnNlaHIgZ2VzY2hpY2t0ZSB1bmQgc3Bhc3NpZ2UgOikKCmh0dHA6Ly93d3cud2hvaXNiZW5qYW1pbnN0b3ZlLmNvbS8KCgpLaXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV29XIG1lZXRzIFBvcm4gKE5pYmVsLCAxOC4gSmFuIDIwMDYsIDE0OjI1OjEyKToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaC5waHA/dj1scl9IUi1pSWxZZwogIC0gTmliZWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvVyBtZWV0cyBQb3JuIChHbG9pbnNvbiwgMTguIEphbiAyMDA2LCAxODowOToxNyk6Cn4jISBybj1OaWJlbCBydD0xMTM3NTkwNzEyIHJnPXd3dwp+IyEgdGlkPTExMzc1OTA3MTIKU2VociBhbXVlc2FudC4gQWxsZXJkaW5ncyBzdGVja3QgZGEgbm9jaCBtZWhyIGhpbnRlciAuLi4uIHdpciBoYWJlbiBsZXR6dGVzCkphaHIgbWFsIGVpbmVtIEJla2FubnRlbiBlaW5lbiBQb3Jub2ZpbG0gdm9uIGRlciBQbGF0dGUgZ2Vsb2VzY2h0IChXaW5kb29mcwptYWNodCBrb21pc2NoZSBTYWNoZW4gbWl0IGJlc2NoYWVkaWd0ZW4gRGF0ZWllbiAuLi4gd2VpZ2VydCBzaWNoLCBzaWUgbm9ybWFsCnp1IGxvZXNjaGVuIHpCKS4gRGVyIGlzdCBkZWZpbml0aXYgbmljaHQgZGVyIFR5cCwgZGVyIHNpY2ggUG9ybm9zIGFuc2NoYXV0LgpBYWFhYmVyIGVyIGhhdCB1ZWJlcnpldWdlbmQgdmVybWl0dGVsbiBrb2VubmVuLCBkYXNzICJQb3JubyIgaW4gV29XIGVpbmUKZ3VlbHRpZ2UgV2FlaHJ1bmcgaXN0LCB1bSBiZWkgYW5kZXJlbiBHZWxkIHVuZCBJdGVtcyBlaW56dWthdWZlbiAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdvVyBtZWV0cyBQb3JuIChMdWcsIDE4LiBKYW4gMjAwNiwgMTk6MDg6NDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzNzYwNDE1NyByZz13d3cKfiMhIHRpZD0xMTM3NTkwNzEyCldpZXNvPyBJc3QgZXIgdmVya2xlbW10PwoKTHVnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb1cgbWVldHMgQ29rZSAoTXVwZmVsLCAxOS4gSmFuIDIwMDYsIDIyOjE5OjQ0KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS8/dj1fSGZQRnpfTEJVSQoKLW11cGZlbC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZ1ZXIgYWxsZSBhcm1lbiBjb2RlLW1haW50YWluZXIgKEppbWRpZ3JpeiwgMTkuIEphbiAyMDA2LCAyMjoyMzoyMik6CkZ1ZXIgYWxsZSBkZXJlbiB0YWVnbGljaCBCcm90CmRhcmluIGJlc3RlaHQga3JhbmtlIFNvZnR3YXJlIHp1IHBmbGVnZW4KdW5kIGRpZSBkZW5rZW4sIGVzIGdlaHQgbmljaHQgc2NobGltbWVyLgpEb2NoIGVzIGdlaHQ6IGh0dHA6Ly90aGVkYWlseXd0Zi5jb20vCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGdWVyIGFsbGUgYXJtZW4gY29kZS1tYWludGFpbmVyIChNdXBmZWwsIDE5LiBKYW4gMjAwNiwgMjI6MzQ6MjEpOgp+IyEgcm49SmltZGlncml6IHJ0PTExMzc3MDU4MDIgcmc9d3d3Cn4jISB0aWQ9MTEzNzcwNTgwMgpBdWEgYXVhIGF1YSBhdWEuLi4uIGRhcyBpc3QgamEgYm9lc2UuLi4KCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZ1ZXIgYWxsZSBhcm1lbiBjb2RlLW1haW50YWluZXIgKEdsb2luc29uLCAyMC4gSmFuIDIwMDYsIDExOjA2OjU3KToKfiMhIHJuPU11cGZlbCBydD0xMTM3NzA2NDYxIHJnPXd3dwp+IyEgdGlkPTExMzc3MDU4MDIKSWNoIGJyYWV1Y2h0ZSBkcmluZ2VuZCBtYWwgZWluICJ0cm9vbCIgaW4gQyMuIEJsb2VkZSBFbnVtcyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClplaXRaRUlDSEVOIChNdXBmZWwsIDI0LiBKYW4gMjAwNiwgMjI6NDI6NDcpOgpodHRwOi8vd3d3LmxhcmVzLmR0aS5uZS5qcC8lN0V5dWdvL3N0b3JhZ2UvbW9ub2NyYWZ0c192ZXIzLzAzL2luZGV4Lmh0bWwKCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKb2hyd3VybSAoVmVjdG9yLCAyNS4gSmFuIDIwMDYsIDIyOjUwOjAxKToKb2ZmaXppZWxsZXIgb2hyd3VybSBqYW51YXIgMDY6CgpodHRwOi8veW91dHViZS5jb20vdy9UZW5hY2lvdXMtRC0tLVRyaWJ1dGU/dj1FU1ZFQTltam5LRSZzZWFyY2g9dGVuYWNpb3VzCgphbmhvZXJlbiwgbWl0d2lwcGVuLCBsb29wZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4uLiAoVmVjdG9yLCAyNS4gSmFuIDIwMDYsIDIzOjAxOjQ1KToKCnVuZCBkaWUgb2ZmaXppZWxsZSBzZWl0ZSB6dXIgZ2V3aXNzZW5zYmVydWhpZ3VuZzoKCmh0dHA6Ly9nbGVubmZlcm9uLmNvbS9wb3J0Zm9saW8xL2luZGV4Lmh0bWwKCmRlciBmb3RvZ3JhcGggemVpZ3Qgc2VpbmUgYXJiZWl0ZW4uIGZvdG9zIHZvbiAibW9kZWxzIiB2b3IgdW5kIG5hY2gKZGVyIGJlYXJiZWl0dW5nLiBmdWVyIG1hZW5uZXIgd2lyZCBlaW5lIHRyYXVtd2VsdCB6ZXJwbGF0emVuLCBkaWUgCmZyYXVlbiAoZGllIGVzIGltIG11ZCBuaWNodCBnaWJ0KSBkdWVyZmVuIHNpY2ggZnJldWVuIGRhc3MgYXVjaCBkaWUKcG9zdGVyZ2lybHMgZGFzICJzY2hvZW5oZWl0c2lkZWFsIiBuaWNodCBlcnJlaWNoZW4ga29lbm5lbi4KdmllbCBzcGFzcyBiZWltIHd1bmRlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogb2hyd3VybSAoS251cnBzLCAyOC4gSmFuIDIwMDYsIDEzOjQ5OjE4KToKfiMhIHJuPVZlY3RvciBydD0xMTM4MjI1ODAxIHJnPXd3dwp+IyEgdGlkPTExMzgyMjU4MDEKT2ZmaXppZWxsZXIgT2hyd3VybSAyMDAyIDstKQpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1RlbmFjaW91c19ECgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZWZyZWkgZGVuIEh1bmQgOi0pIChNYWdpY29sbGksIDMxLiBKYW4gMjAwNiwgMjA6NTg6NTgpOgoKaHR0cDovL3d3dy5zYW1vcm9zdDIubmV0LwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGVocnN0dWhsIGZ1ZXIgQ29tcHV0ZXItU3BpZWxlOiAoWm9vaywgMTEuIEZlYiAyMDA2LCAxMzoxNzo1Nyk6CkdBTUUtRk9SU0NIVU5HCgpFcnN0ZSBQcm9mZXNzdXIgZnVlciBDb21wdXRlcnNwaWVsZQoKRWluaWdlIEF1c2JpbGR1bmdzc3RhZXR0ZW4gZnVlciBHYW1lLURlc2lnbmVyIGdpYnQgZXMgaW4gRGV1dHNjaGxhbmQgc2Nob24sCnVuZCBlaW5lIFJlaWhlIHZvbiBGb3JzY2hlcm4gYmVzY2hhZWZ0aWd0IHNpY2ggbWl0IGRlciBFcmZvcnNjaHVuZyB2b24KQ29tcHV0ZXItIHVuZCBWaWRlb3NwaWVsZW4uIE51biB3aXJkIGRlciBlcnN0ZSBMZWhyc3R1aGwgZnVlciBkaWVzZXMgR2ViaWV0CmVpbmdlcmljaHRldC4KCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9uZXR6a3VsdHVyLzAsMTUxOCw0MDAxOTIsMDAuaHRtbAoKTmEgbG9zISBEYSBzb2xsdGUgc2ljaCBkb2NoIGVpbmVyIHZvbiB1bnMgTXVkZGVybiBiZXdlcmJlbiwgb2Rlcj8gOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExlaHJzdHVobCBmdWVyIENvbXB1dGVyLVNwaWVsZTogKEdsb2luc29uLCAxMS4gRmViIDIwMDYsIDIwOjQ3OjQzKToKfiMhIHJuPUdub21lIHJ0PTExMzk2ODY3NzQgcmc9c2NobWFycm4KfiMhIHRpZD0xMTM5NjYwMjc3Cmh0dHA6Ly93d3cudHUtaWxtZW5hdS5kZS9mYWttbi9pbmRleC5waHA/aWQ9NjI4JmJhY2tQSUQ9NTAwJnR0X25ld3M9MzUzCgoiQXVzc2NocmVpYnVuZyBkZXIgUHJvZmVzc3VyIE11bHRpbWVkaWFsZSBBbndlbmR1bmdzc3lzdGVtZSAuIGluc2Jlc29uZGVyZQpkaWdpdGFsZSBTcGllbGUgKERvbm5lcnN0YWcsIDAyLjAyLjA2KSIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lbnN2ZXJ0ZWlsdW5nIHZpYSBUZWxlZm9uIC4uLiAoR2xvaW5zb24sIDEyLiBGZWIgMjAwNiwgMTg6MDM6NDApOgpHYW56IHNwYW5uZW5kLCBtYWwgenUgZ3Vja2VuIHdpZSBOYW1lbiBzaWNoIHNvIGFic29sdXQgdW5kIHJlbGF0aXYgdmVydGVpbGVuLgpWb3IgYWxsZW0ga2FubiBtYW4gbWFsIGRpZSBMYW5kZWllciB1bmQgRnJhdWVuemV1Z2VyIHVudGVyIGRlbiBNaXRzcGllbGVybgphdXNtYWNoZW4gLi4uCgpodHRwOi8vY2hyaXN0b3BoLnN0b2VwZWwubmV0L0dlb2dlbi5hc3B4CgpLdXJpb3MgZmluZGUgaWNoLCBkYXNzIEFsbGVyd2VsdHNuYW1lbiB3aWUgQmVja2VyIHVuZCBTY2h1bHplLCBkaWUgbWFuCmFlaG5saWNoIGd1dCB2ZXJ0ZWlsdCB3aWUgTXVlbGxlciBlcndhcnRldCBkYW5uIHNvIHN0YXJrZSBPc3QtV2VzdC1TY2h3YW5rdW5nCmltIHJlbGF0aXZlbiB1bmQgYWJzb2x1dGVuIEJlcmVpY2ggaGFiZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuc3ZlcnRlaWx1bmcgdmlhIFRlbGVmb24gLi4uIChLZWxseWJ1bmR5LCAxMi4gRmViIDIwMDYsIDE4OjE3OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExMzk3NjM4MjAgcmc9d3d3Cn4jISB0aWQ9MTEzOTc2MzgyMApJc3QgYWJlciBuaWNodCBnZXJhZGUgYWt0dWVsbC4gaWNoIHdvaG5lIHNlaXQgMTk4OSBuaWNodCBtZWhyIGltIGtyZWlzIFIiVUQKU29uc3QgZ2liYmV0IGRhIG5pZW1hbmRlbiBtZWluZXMgTmFtZW5zIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOYW1lbnN2ZXJ0ZWlsdW5nIHZpYSBUZWxlZm9uIC4uLiAoQ2Fzc2FuZHJhLCAxMi4gRmViIDIwMDYsIDE4OjI1OjM1KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTEzOTc2NDYzOCByZz13d3cKfiMhIHRpZD0xMTM5NzYzODIwCk5ldHRlcyBTcGllbHpldWcuCkhhdCBibG9zIGRhcyBQcm9ibGVtIGRhcyBlcyBuYWNoIFRlbGVwaG9uYnVjaGVpbnRyYWd1bmdlbiBzdWNodC4gCgpDYXNzeSwgd29obnQgaW4gZWluZW0gS3JlaXMgaW4gZGVtIGVzIHNpZSBnYXJuaWNodCBnaWJ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5hbWVuc3ZlcnRlaWx1bmcgdmlhIFRlbGVmb24gLi4uIChNdWFkaWIsIDEyLiBGZWIgMjAwNiwgMTg6MzU6MjkpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTM5NzY0NjM4IHJnPXd3dwp+IyEgdGlkPTExMzk3NjM4MjAKbWVpbiBuYW1lbiBiaWV0ZXQgbWlyIG5pY2h0IHdpcmtsaWNoIHVlYmVycmFzY2h1bmdlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5hbWVuc3ZlcnRlaWx1bmcgdmlhIFRlbGVmb24gLi4uIChKaW1kaWdyaXosIDEyLiBGZWIgMjAwNiwgMjE6MTE6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTEzOTc2MzgyMCByZz13d3cKfiMhIHRpZD0xMTM5NzYzODIwCkdybXBmLAoKImRpIEdyaXoiIGdpYnRzIHNjaG9ubWFsIGtlaW5lbiAob2ssIGljaCB3b2huIGphIAphdWNoIG5pY2h0IG1laHIgaW4gREUpLiBGdWVyICJHcml6IiBnaWJ0cyBmb2xnZW5kZSBsdXN0aWdlCkF1c2dhYmU6CgpBYnNvbHV0ZSBLYXJ0ZSBmfHIgR3JpegpEaWUgbWVpc3RlbiBHcml6cyBmaW5kZXQgbWFuIGluLyBpbSBMYW5ka3JlaXMgU29lc3QsIG5tbGljaCBnZW5hdSAxClRlbGVmb25hbnNjaGx8c3NlLiBFdHdhcyBsbmdlciBzdWNoZW4gbXVzcyBtYW4gZGFnZWdlbiBpbi8gaW0gTGFuZGtyZWlzIFNvZXN0LApoaWVyIHdvaG5lbiBkaWUgd2VuaWdzdGVuOiBnZXJhZGUgZWlubWFsIDEuIChCZWFjaHRlbiBTaWUsIGRhc3MgTWV0cm9wb2xlbgpkaWVzZSBMb2thbGlzaWVydW5nIHZlcmZsc2NoZW4ga25uZW4pCgpKZEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmFtZW5zdmVydGVpbHVuZyB2aWEgVGVsZWZvbiAuLi4gKEFyaywgMTIuIEZlYiAyMDA2LCAyMToxOToxMCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTEzOTc3NTEwNCByZz13d3cKfiMhIHRpZD0xMTM5NzYzODIwCkFoYSwgd29obnN0IER1IGFsc28gaW4gU29lc3QgbWl0IGRlciBnYW56ZW4gRmFtaWxpZT8gOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBOYW1lbnN2ZXJ0ZWlsdW5nIHZpYSBUZWxlZm9uIC4uLiAoSmltZGlncml6LCAxMi4gRmViIDIwMDYsIDIxOjUwOjM0KToKfiMhIHJuPUFyayBydD0xMTM5Nzc1NTUwIHJnPXd3dwp+IyEgdGlkPTExMzk3NjM4MjAKRGFzIG11c3MgZWluIHNlaHIgZW50ZmVybnRlciBWZXJ3YW5kdGVyIHNlaW4sCnNjaGxpZXNzbGljaCBoZWlzc2UgaWNoIGRvY2ggImRpIEdyaXoiIG1pdCBOYWNobmFtZW4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuZXR0ZXMgRmxhc2htb3ZpZSAtIFRoZSBXYW5kIChBbnRoZWEsIDEzLiBGZWIgMjAwNiwgMTQ6MDk6MzMpOgpodHRwOi8vdGlueXVybC5jb20vYzJqbzIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpcmVmb3gtU3BpZWxlcmVpZW4gKFRoZXRpcywgMTMuIEZlYiAyMDA2LCAxOTo0NzoxNyk6ClJlY2h0IGJlZWluZHJ1Y2tlbmRlIFhVTC1EZW1vczogaHR0cDovL3d3dy5nZW9yZ2VuYXZhLmNvbS9hcHBsYXVuY2hlci5waHAKZ2VodCB3b2hsIG51ciBtaXQgTW96aWxsYS9GaXJlZm94Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkZS5hbHQubXVkOiBTaW5kIE11ZHMgenVtIEF1c3N0ZXJiZW4gdmVydXJ0ZWlsdD8gKFpvb2ssIDE1LiBGZWIgMjAwNiwgMTE6NDY6NDYpOgpJY2ggbW9lY2h0ZSBFdXJlIEF1Zm1lcmtzYW1rZWl0IGF1ZiBlaW5lbiBUaHJlYWQgaW4gZGVyIFJ1YnJpayBkZS5hbHQubXVkCmxlbmtlbiwgaW4gZGVtIGRlciBGcmFnZSBuYWNoZ2VnYW5nZW4gd2lyZCwgb2IgTXVkcyB6dW0gQXVzc3RlcmJlbgp2ZXJ1cnRlaWx0IHNpbmQgdW5kIHdhcyBtYW4gZ2dmLiBkYWdlZ2VuIChXZXJidW5nIHUuYS4pIHVudGVybmVobWVuIGthbm4uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlLmFsdC5tdWQ6IFNpbmQgTXVkcyB6dW0gQXVzc3RlcmJlbiB2ZXJ1cnRlaWx0PyAoWm9vaywgMTUuIEZlYiAyMDA2LCAxMTo0Nzo1Nik6Cn4jISBybj1ab29rIHJ0PTExNDAwMDA0MDYgcmc9d3d3Cn4jISB0aWQ9MTE0MDAwMDQwNgpXZXIgR29vZ2xlLUdyb3VwcyBiZW51dHplbiB3aWxsLCBoaWVyIGVpbiBMaW5rIHp1bSBUaHJlYWQ6CiBodHRwOi8vc3ByaW5naGluLmRlL2dhb3JCCgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGUuYWx0Lm11ZDogU2luZCBNdWRzIHp1bSBBdXNzdGVyYmVuIHZlcnVydGVpbHQ/IChNb3Jnb3RoLCAxNS4gRmViIDIwMDYsIDEyOjA3OjEzKToKfiMhIHJuPVpvb2sgcnQ9MTE0MDAwMDQ3NiByZz13d3cKfiMhIHRpZD0xMTQwMDAwNDA2Ck5hamEsIGRpZSBlcnN0ZW4gZnVlZW5mIGJpcyB6ZWhuIEJldHJhZWdlIHdhcmVuIGphIHZpZWxsZWljaHQgbm9jaApNVUQtT3JpZW50aWVydCwgYWJlciBpbnp3aXNjaGVuIGlzdCBlcyB3b2hsIGVpbmUgRGlza3Vzc2lvbiB1ZWJlciBIVE1MLCBTcGFtLApQR1AsIGV0Yy4uLiBnZXdvcmRlbi4gSXJnZW5kd2llIGFtIFRoZW1hIHZvcmJlaS4KCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkZS5hbHQubXVkOiBTaW5kIE11ZHMgenVtIEF1c3N0ZXJiZW4gdmVydXJ0ZWlsdD8gKE1vbnRhbnVzLCAxNS4gRmViIDIwMDYsIDE0OjM3OjIyKToKfiMhIHJuPU1vcmdvdGggcnQ9MTE0MDAwMTYzMyByZz13d3cKfiMhIHRpZD0xMTQwMDAwNDA2ClNvbGFuZ2UgZXMgTWVnYXNjaG1hcnJuIGdpYnQsIHdpcmQgZGFzIE1HIG5pY2h0IGF1c3N0ZXJiZW4uIFZpZWxsZWljaHQgc29sbHRlbgpzaWNoIGFuZGVyZSBNdWRzIHNvIGV0d2FzIGFlaG5saWNoZXMgenVsZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFuZ3J5IEFsaWVuIC0gRmlsbS1BYnN0cmFjdHMgYXVmIDMwIFNla3VuZGVuIChSb25kYSwgMTkuIEZlYiAyMDA2LCAxNTowNDoyMSk6CkhpLAoKVGlwcCBhdXMgZGVyIGN0OiBodHRwOi8vd3d3LmFuZ3J5YWxpZW4uY29tLyAtIEZsYXNoCgpGaWxtZSBhdWYgMzAgU2VrdW5kZW4genVzYW1tZW5nZWRhbXBmdCwgcHJhZXNlbnRpZXJ0IHZvbiBIYXNlbi4gTmV0dC4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHUk9XIG1hbCBSUEc/IChBbmF0b2wsIDIxLiBGZWIgMjAwNiwgMTk6NTY6MDIpOgoKV2VyIG5hY2ggVG9udGllIHp1ZmFlbGxpZyBHUk9XIGVudGRlY2t0IGhhdCwgc29sbHRlIGRpZQpwYXNzZW5kZW4gU2VpdGVuIG5vY2htYWwgYmVzdWNoZW4uLi4gdW5kIHNpY2ggbWl0IEdST1cgUlBHCm9kZXIgR1JPVyBDVUJFIHZlcnN1Y2hlbi4gQmVpZGUgZGV1dGxpY2ggZWluZmFjaGVyLCBhYmVyCmVpbiBwYWFyIE1pbnV0ZW4gc2luZCdzIHdlcnQuIDopCgpodHRwOi8vd3d3LmV5ZXptYXplLmNvbS9ncm93L3YzL2luZGV4Lmh0bWwKKG9iaWdlcyBkZXIgTGluayBhdWYgZGFzIGJla2FubnRlIEdST1cpCgpBbmF0b2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJhZGlvcGFubmVuIChUYXJhbmlzLCAyNC4gRmViIDIwMDYsIDE1OjI5OjQzKToKSGFiIGRhIGhldXQgbWFsIGJlaW0gU3RvZWJlcm4gaW0gV1dXIGZvbGdlbmRlcyBnZWZ1bmRlbiwgd2FzIGljaCBldWNoIG5pY2h0CnZvcmVudGhhbHRlbiB3aWxsOgpodHRwOi8vd3d3LnJhZGlvcGFubmVuLmRlLwpFaW5lIG5ldHRlIFNhbW1sdW5nIHZvbiBhbGxlbiBtb2VnbGljaGVuIFZlcnNwcmVjaGVybiBvZGVyIHNvbnN0aWdlbgpNaXNzZ2VzY2hpY2tlbiwgaWNoIGhvZmYsIGVzIGtlbm5lbiBub2NoIG5pY2h0IGFsbHp1dmllbGUgdm9uIGV1Y2guIDstKQoKVGFyYW5pcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGluZ3MsIEh1bW9yIChHbG9pbnNvbiwgMjcuIEZlYiAyMDA2LCAxNTo1NDo0NCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9zcGllZ2VsLzAsMTUxOCw0MDI5MTEsMDAuaHRtbAoKTmViZW4gZGVuIHNpbm5pZ2VuIEJldHJhY2h0dW5nZW4gdm9uIEZ1bmt0aW9uIHVuZCBIZXJrdW5mdCB2b24gSHVtb3Igc2luZCBhdWNoCmV0bGljaGUgU2NoZW5rZWxrbG9wZmVyIGluIGRlbSBBcnRpa2VsIHZlcnN0ZWNrdC4gOSsrCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGVsZWNyYXBwZXIgMjAwMCAoR2xvaW5zb24sICAzLiBNYXIgMjAwNiwgMjE6Mjg6NDUpOgouLi4gb2RlciB3aWUgbWFuIENhbGxjZW50ZXJhbnJ1ZmUgYWJ3aW1tZWx0LgoKaHR0cDovL3d3dy5wYWdlcmVhbG0uY29tL3RjMmsvCgpLbGVpbmVzIEJlaXNwaWVsIGFscyBGbGFlc2NoOgpodHRwOi8vd3d3LmRldmlhbnRhcnQuY29tL3ZpZXcvMjI5OTU0ODkvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRlbGVjcmFwcGVyIDIwMDAgKEhpZ2hsYW5kZXIsICA0LiBNYXIgMjAwNiwgMTE6MTU6MDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0MTQxNzcyNSByZz13d3cKfiMhIHRpZD0xMTQxNDE3NzI1CkxpZWJlciBkYXMgZmxhc2ggbmVobWVuIChkYXNzIGljaCBkYXMgbWFsIHNhZ2UuLi4pCkF1ZiBUZWxlcG9saXMgd3VyZGUgZGF2b3IgZ2V3YXJudCwgZGFzcyBkaWUgdGMyay1TZWl0ZSB2ZXJzdWNodCwgZWluZW4KVHJvamFuZXIgenUgaW5zdGFsbGllcmVuLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTeXNhZG1pbi1Tb25nIChNb3Jnb3RoLCAgNy4gTWFyIDIwMDYsIDEwOjA0OjMxKToKaHR0cDovL3ZpZGVvLmdvb2dsZS5jb20vdmlkZW9wbGF5P2RvY2lkPS03MTkzNDcwNzE5MjkzMzA5MzUyJnByPWdvb2ctc2wKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYXN0IER1IGRhcyBhYnNvbHV0ZSBHZWhvZXI/IChSb25kYSwgIDguIE1hciAyMDA2LCAyMzoyNjozMik6CkF1ZiBkaWVzZXIgU2VpdGUga2FubnN0IER1IHRlc3Rlbiwgb2IgRHUgZWluIGFic29sdXRlcyBHZWhvZXIgaGFzdC4gQmVzc2VyCmdlc2FndCBrYW5uc3QgRHUgc29nYXIgdGVzdGVuLCBvYiBEdSBhdWNoIG51ciBlaW5lbiBGdW5rZW4gTXVzaWtnZXNjaG1hY2sKaGFzdC4gRGllIGhpZXIgaGFiZW4gbmljaHRzIGRhdm9uOgoKaHR0cDovL3d3dy5zcHJlZWJsaWNrLmNvbS8yMDA2LzAzLzA2L3dvLWJpc3QtZHUtbWVpbi1zb25uZW5saWNodAoKV2FybnVuZzogRGllc2VzICJWaWRlbyIga2FubiBibGVpYmVuZGUgU2NoYWVkZW4gaGludGVybGFzc2VuLiBEYWdlZ2VuIHNpbmQgZGllCktpZHMgYmVpIERTRFMgRW5nZWxzY2hvZXJlLgoKUm9uZGEgKmhldXRlIG1hbCBzYWRpc3Rpc2NoLiBJaHIgc2VpZCBnZXdhcm50LioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBNZWF0cml4IChCYW1idWxrbywgIDkuIE1hciAyMDA2LCAxNDozMjowOSk6Cmh0dHA6Ly93d3cudGhlbWVhdHJpeC5jb20vZ2VybWFuLwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvZnVlciBpc3QgZGFzIEludGVybmV0PyAoQW1hcnlsbGlzLCAxMC4gTWFyIDIwMDYsIDIxOjAyOjI5KToKCmh0dHA6Ly92aWRlby5nb29nbGUuY29tL3ZpZGVvcGxheT9kb2NpZD01NDMwMzQzODQxMjI3OTc0NjQ1CgpBbWEqIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29mdWVyIGlzdCBkYXMgSW50ZXJuZXQ/IChNdWFkaWIsIDEwLiBNYXIgMjAwNiwgMjM6MjY6NTkpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNDIwMjA5NDkgcmc9d3d3Cn4jISB0aWQ9MTE0MjAyMDk0OQpwb3JuIHNjaGFldHogaWNoIG1hbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzYnVlcmdlcnVuZ3N0ZXN0Li4uIChUaGV0aXMsIDE4LiBNYXIgMjAwNiwgMTQ6MzI6NTQpOgpodHRwOi8vd3d3LmV2b3RlLmRlL2NnaS1iaW4vZXZvdGUyL3N0ZXN0LmNnaT9uYW1lPWZiNzgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXNidWVyZ2VydW5nc3Rlc3QuLi4gKFRoZXRpcywgMTguIE1hciAyMDA2LCAxNDozOToxNCk6Cn4jISBybj1UaGV0aXMgcnQ9MTE0MjY4ODc3NCByZz13d3cKfiMhIHRpZD0xMTQyNjg4Nzc0CkRlciBzb2duLiBFaW53YW5kZXJ1bmdzdGVzdCBpc3QgYWJlciBnYW56IHNjaG9lbiBoYXBwaWcuIEljaCBzdGF1bmUgZ2VyYWRlLi4uCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wb2xpdGlrL2RldXRzY2hsYW5kLzAsMTUxOCw0MDYxMDEsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBdXNidWVyZ2VydW5nc3Rlc3QuLi4gKFpvb2ssIDE4LiBNYXIgMjAwNiwgMTQ6NDM6MTYpOgp+IyEgcm49VGhldGlzIHJ0PTExNDI2ODkxNTQgcmc9d3d3Cn4jISB0aWQ9MTE0MjY4ODc3NAppbiBkZXIgZmF6IHdhciBlciBuZXVsaWNoIGF1Y2ggYWJnZWRydWNrdC4gcmVnZWxtYWVzc2lnIGx1c3RpZ2VzIHRoZW1hCmZ1ZXIgZGFzIG1pdHRhZ2Vzc2VuLiA7KSB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQXVzYnVlcmdlcnVuZ3N0ZXN0Li4uIChBbnRoZWEsIDIwLiBNYXIgMjAwNiwgMTM6MzU6MTIpOgp+IyEgcm49Wm9vayBydD0xMTQyNjg5Mzk2IHJnPXd3dwp+IyEgdGlkPTExNDI2ODg3NzQKU29zby4gSWNoIHNvbGwgamUgenUgZWluZW0gRHJpdHRlbCBuYWNoIENoaW5hLCBVU0EsIHVuZCBGcmFua3JlaWNoIGF1c3dhbmRlcm4uCk5hIHNvd2FzIGFiZXIgYXVjaC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1laHIgUmVhbGlzbXVzIGJyYXVjaHQgZGFzIFNwaWVsISAoR2xvaW5zb24sIDI4LiBNYXIgMjAwNiwgMTY6MDk6MjMpOgoKaHR0cDovL3d3dy5naWFudGl0cC5jb20vY2dpLWJpbi9HaWFudElUUC9vb3RzY3JpcHQ/U0s9ODYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpnaWJzbmlzY2g/IChNb3BwaSwgMjguIE1hciAyMDA2LCAxNjoxMDo0OSk6Cnd3dy5naWJzbmlzY2guZGUKdW5kIGRhbm4gaXJnZW5kd2FzIGFua2xpY2tlbi4KCk1vcHBpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWVociBSZWFsaXNtdXMgYnJhdWNodCBkYXMgU3BpZWwhIChLZXJyaWVyLCAyOC4gTWFyIDIwMDYsIDE2OjE0OjEzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNDM1NTQ5NjMgcmc9d3d3Cn4jISB0aWQ9MTE0MzU1NDk2MwpIYXVwdHNhY2hlLCBSaWNoIGZpbmRldCBiYWxkIG1hbCBkYXMgMjFzdCBDZW50dXJ5IDstKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWVociBSZWFsaXNtdXMgYnJhdWNodCBkYXMgU3BpZWwhIChHbG9pbnNvbiwgMjguIE1hciAyMDA2LCAxNjoxODozMSk6Cn4jISBybj1LZXJyaWVyIHJ0PTExNDM1NTUyNTMgcmc9d3d3Cn4jISB0aWQ9MTE0MzU1NDk2MwpFcm5zdGhhZnQ6IGFuIFRhZyAzIGRlcyBVcmxhdWJzIGhhdHRlIGljaCBhdWNoIGtlaW5lIEx1c3QgbWVociB6dSBzdWNoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTWVociBSZWFsaXNtdXMgYnJhdWNodCBkYXMgU3BpZWwhIChLZXJyaWVyLCAyOC4gTWFyIDIwMDYsIDE2OjE4OjU3KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNDM1NTU1MTEgcmc9d3d3Cn4jISB0aWQ9MTE0MzU1NDk2MwpKby4gU29sbCBsaWViZXIgbWFsIHdhcyBtYWxlbiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpdHRvcnJlbnQ6IFNvdXRocGFyay1TY2llbnRvbG9neS1FcGlzb2RlIChHbG9pbnNvbiwgMjkuIE1hciAyMDA2LCAwMTo0Mjo0NCk6Cmh0dHA6Ly93d3cueGVudS5uZXQvCgpHYW56IGFtdWVzYW50LiBIYWx0IHdpZWRlciBtYWwgZWluZmFjaCBudXIgZGllIEZha3RlbiBpbiBlaW5lbSBzaW1wZWwKYW5pbWllcnRlbiBUcmlja2ZpbG0gdmVycGFwcHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNld2FycyAtIG5ldWUgUnVuZGUgKFJlcXVpZW0sIDMwLiBNYXIgMjAwNiwgMTg6MjY6MzApOgpIYWxsbyBNdWRkZXIsCgpkYXMgQnJvd3NlcnNwaWVsIEljZXdhcnMsIGRlbSAod2llIGVpbmlnZSBoaWVyIHNpY2hlciBtaXRiZWtvbW1lbiBoYWJlbikgdmllbGUKTXVkZGVyIGluIGRlbiBsZXR6dGVuIE1vbmF0ZW4gYWt0aXYgZ2Vmcm9lbnQgaGFiZW4sIHN0YXJ0ZXQgYW0gOC40LiBpbiBlaW5lCm5ldWUgUnVuZGUuIEFscyBBbGxpYW56IE1vcmdlbmdyYXVlbiB3b2xsZW4gd2lyIGRvcnQgd2llZGVyIHNwaWVsZW4sIGRpZXNtYWwKZWluaWdlcyBhbmRlcnMgdW5kIHZpZWxlcyBiZXNzZXIgbWFjaGVuLiBXaXIgc3VjaGVuIGRlcnplaXQgbm9jaCBha3RpdmUKTWl0c3BpZWxlciAtIGR1cmNoIGRlbiBSdW5kZW5uZXVzdGFydCBpc3QgZGVyIFplaXRwdW5rdCBqZXR6dCBzbyBndWVuc3RpZyB3aWUKbmllLgoKV2VyIEludGVyZXNzZSBoYXQgKHdpZWRlcikgZWluenVzdGVpZ2VuIGthbm4gc2ljaCBwZXIgbWFpbCBvZGVyIHRtIGJlaSBSYW5nbwpvZGVyIG1pciBtZWxkZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJlZnJpZWR1bmcgSXJhayAoR2xvaW5zb24sIDMwLiBNYXIgMjAwNiwgMTk6MzE6MTMpOgpodHRwOi8vd3d3Lm9ibGVlay5jb20vaXJhcS9pbmRleC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2VubnplaWNoZW4gKE1vcHBpLCAzMS4gTWFyIDIwMDYsIDEyOjQyOjQ2KToKV2FzIElociBBdXRvLUtlbm56ZWljaGVuIHVlYmVyIFNpZSB2ZXJyYWV0OgpodHRwOi8vd3d3LmludGVyc3Rhci1hc3Ryb3NlcnZpY2UuY29tL2tlbm56ZWljaGVuLnBocAoKQmVpIG1pciB3YXJzIGFiZXIgcXVhdHNjaDogU2NobHVlc3NlbGFzcGVrdGUgQXVmYnJ1Y2ggdW5kIEVyb2JlcnVuZy4gSGFiZW4gd2lyCnZpZWxsZWljaHQgZ2VyYWRlIG5lIFJldm9sdXRpb24gdm9yIHVucz8gCgpNb3BwaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2FyemVyLi4uIChSZXF1aWVtLCAgMS4gQXByIDIwMDYsIDE0OjMwOjIxKToKLi4ubmEsIGRhIGhhdCBzaWNoIHVuc2VyZSBVbmkgYWJlciB3YXMgZWluZmFsbGVuIGxhc3NlbiA7KQpodHRwOi8vd3d3LnBtLnJ1aHItdW5pLWJvY2h1bS5kZS9wbTIwMDYvbXNnMDAxMTUuaHRtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNld2FycyAtIG5ldWUgUnVuZGUgKFJlcXVpZW0sICAxLiBBcHIgMjAwNiwgMTQ6MzQ6MTApOgp+IyEgcm49UmVxdWllbSBydD0xMTQzNzM1OTkwIHJnPXd3dwp+IyEgdGlkPTExNDM3MzU5OTAKQWNoamEsIGljaCB2ZXJnYXNzOgoKTXVkZGVyIGR1ZXJmZW4gbnVyIG1pdHNwaWVsZW4sIHdlbm4gc2llIGZvbGdlbmRlIEJlZGluZ3VuZ2VuIGVyZnVlbGxlbjoKCi0gaWhyIEVyc3RzcGllbGVyIGlzdCBlbnR3ZWRlciBNYWdpZXIgb2RlciB3ZWlzdCBhbHMgU3BpZWxlciBtaW5kZXN0ZW5zIDIwMDAKQVAgYXVmCi0gYWxzIFNwaWVsZXIgZ2lsdCBhbHMgd2VpdGVyZSBWb3JhdXNzZXR6dW5nLCBkYXNzIG1hbiBtaW5kZXN0ZW5zIDE1MDAKRXJzdGtpbGxzIGhhYmVuIHNvbGx0ZSAod2lyIGxlZ2VuIFdlcnQgYXVmIEthbXBma3JhZnQpCi0gYWxzIE1hZ2llciBzb2xsdGUgbWFuIG1laHIgV2VydCBhdWYgTWV0emVsZ2ViaWV0IGFscyBhdWYgUXVlc3RlbiBvZGVyCmluaGFsdGxpY2ggc3RpbW1pZ2UgS29uemVwdGUgbGVnZW4KLSBlcyB3aXJkIHNlbGJzdHZlcnN0YWVuZGxpY2ggdm9lbGxpZ2UgVW50ZXJ3ZXJmdW5nIGdlZ2VudWViZXIgZGVyCkFsbGlhbnpsZWl0dW5nIHZlcmxhbmd0LgotICptb2VwKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVzaWdua3JpdGlrIChLZWxseWJ1bmR5LCAgMi4gQXByIDIwMDYsIDAwOjI4OjA0KToKaHR0cDovL2RlLmdlb2NpdGllcy5jb20vbm9zcGFtXzA2OC9pbmRleC5odG1sCgpJc3QgZGFzIEdydW5kZ2VydWVzdCBtZWluZXIgbmV1ZW4gSFAuCkJpdHRlIHVtIEtyaXRpayBhbSBEZXNpZ24sIHNvbGwgbWVpbmUgbmV1ZSBIUCB3ZXJkZW4uCkRhIGljaCBpbiBrdWVuc3RsZXJpc2NoZXIgSGluc2ljaHQgZWluIHdhbmRlbG5kZXMgS2F0YXN0cm9waGVuZ2ViaWV0IGJpbiwgYmluCmljaCBmdWVyIERlc2lnbmlkZWVuIGRhbmtiYXIuCgpLZWxseQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzIC0gbmV1ZSBSdW5kZSAoUmVxdWllbSwgIDIuIEFwciAyMDA2LCAxODo0NjozOCk6Cn4jISBybj1SZXF1aWVtIHJ0PTExNDM4OTQ4NTAgcmc9d3d3Cn4jISB0aWQ9MTE0MzczNTk5MApOYXR1ZXJsaWNoIGhhbmRlbHRlIGVzIHNpY2ggaGllciB1bSBlaW5lbiBBcHJpbHNjaGVyeiwgZGVuIGljaCBpbSBBdWZ0cmFnCmVpbmVzIHVuZ2VuYW5udGVuIE11ZGdvdHRzIHZlcmZhc3NlbiBtdXNzXldkdXJmdGUgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljZXdhcnMgLSBuZXVlIFJ1bmRlIChKYWRhd2luLCAgMi4gQXByIDIwMDYsIDE5OjU5OjQ0KToKfiMhIHJuPVJlcXVpZW0gcnQ9MTE0Mzk5NjM5OCByZz13d3cKfiMhIHRpZD0xMTQzNzM1OTkwCkpvZiBzcGllbHQgSWNld2Fycz8KSmFkKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWNld2FycyAtIG5ldWUgUnVuZGUgKEJvaW5nLCAgMy4gQXByIDIwMDYsIDA5OjA2OjMyKToKfiMhIHJuPVJlcXVpZW0gcnQ9MTE0Mzk5NjM5OCByZz13d3cKfiMhIHRpZD0xMTQzNzM1OTkwCklzdCBnYXIgbmljaHQgYXVmZ2VmYWxsZW4gLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBNVUQtSGVyYW5nZWhlbnN3ZWlzZSBhbnMgUkwgKEdsb2luc29uLCAgMy4gQXByIDIwMDYsIDEyOjE0OjQ3KToKaHR0cDovL3d3dy5jdHJsYWx0ZGVsLW9ubGluZS5jb20vY29taWMucGhwP2Q9MjAwNjAyMTgKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTb2Z0d2FyZXBhdGVudCBkZXMgTW9uYXRzIE1hZXJ6IDA2IChUYXJhbmlzLCAgNC4gQXByIDIwMDYsIDEzOjQ0OjU2KToKbm9zb2Z0d2FyZXBhdGVudHMtYXdhcmQgMjAwNiBoYXQgZGFzIFNvZnR3YXJlcGF0ZW50IGRlcyBNb25hdHMgTWFlcnogZ2V3YWVobHQ6CkRhcyBLb250ZXh0bWVudWUgKEVQMjQ5MjkzKS4KWnVyIFdhaGwgZnVlciBkYXMgUGF0ZW50IGRlcyBNb25hdHMgQXByaWwgc3RlaHQgdS5hLiB3b2hsIGVpbiBQYXRlbnQgbWl0IGRlbQpIYXVwdGFuc3BydWNoOiAiRWluZSBBbnNhbW1sdW5nIHZvbiBaYWhsZW4gLSBWZXJicmF1Y2hzd2VydGVuIC0gd2lyZCBkdXJjaAplaW5lbiBnZWVpZ25ldGVuIE5vcm1pZXJ1bmdzZmFrdG9yIGRpdmlkaWVydCB1bmQgZ2VydW5kZXQuIgpEaWUgaGFiZW4gamEgYWxsZSBuZW4gS25hbGwsClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2V3YXJzIC0gbmV1ZSBSdW5kZSAoUmVxdWllbSwgIDYuIEFwciAyMDA2LCAwNzozMzo0Mik6Cn4jISBybj1SZXF1aWVtIHJ0PTExNDM3MzU5OTAgcmc9d3d3Cn4jISB0aWQ9MTE0MzczNTk5MApXaXIgc3VjaGVuIHVlYnJpZ2VucyBpbW1lciBub2NoIGFrdGl2ZSBNaXRzcGllbGVyIDotKQpSdW5kZW5uZXVzdGFydCBpc3QgaW4gMiBUYWdlbiAtPiBzY2huZWxsIHp1IHd3dy5pY2V3YXJzLmRlIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzIC0gbmV1ZSBSdW5kZSAoQmFtYnVsa28sICA2LiBBcHIgMjAwNiwgMTA6MTc6MzUpOgp+IyEgcm49UmVxdWllbSBydD0xMTQ0MzAxNjIyIHJnPXd3dwp+IyEgdGlkPTExNDM3MzU5OTAKSXN0IGVzIG5vY2htYWwgR2FsYXhpZSAyPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEljZXdhcnMgLSBuZXVlIFJ1bmRlIChIdW1uaSwgIDYuIEFwciAyMDA2LCAxMDoyMzoxOSk6Cn4jISBybj1CYW1idWxrbyBydD0xMTQ0MzExNDU1IHJnPXd3dwp+IyEgdGlkPTExNDM3MzU5OTAKSmEuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzIC0gbmV1ZSBSdW5kZSAoQXJrLCAgNi4gQXByIDIwMDYsIDEzOjM1OjIyKToKfiMhIHJuPVJlcXVpZW0gcnQ9MTE0NDMwMTYyMiByZz13d3cKfiMhIHRpZD0xMTQzNzM1OTkwCkhtLCBJY2V3YXJzIHdpcmJ0IGhpZXIgLi4uIGRhbm4gc29sbHRlbiB3aXIgYXVjaCBkb3J0IFNwaWVsZXIgYWJ3ZXJiZW4gOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0NPIHZzLiBEZXIgUmVzdCBkZXIgV2VsdDogRmFkZW4gdmVybG9yZW4/IChWYW5pb24sIDEzLiBBcHIgMjAwNiwgMTc6MTU6MzgpOgpIaWVyIGRpZSBadXNhbW1lbmZhc3N1bmc6CgogIGh0dHA6Ly9iYXNoLm9yZy8/MTA2NTc5CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNDTyB2cy4gRGVyIFJlc3QgZGVyIFdlbHQ6IEZhZGVuIHZlcmxvcmVuPyAoUm9uZGEsIDEzLiBBcHIgMjAwNiwgMjE6NTY6MTcpOgp+IyEgcm49VmFuaW9uIHJ0PTExNDQ5NDEzMzggcmc9d3d3Cn4jISB0aWQ9MTE0NDk0MTMzOApEQVMgd2FyIG5lIGdhbnogZ2FueiBib2VzZSBGYWxsZS4uLiBocmdzLi4uIGJpbiBtYWwgd2llZGVyIHVlYmVyCmh0dHA6Ly9iYXNoLm9yZy8/dG9wIGdlc3RvbHBlcnQuLi4gbmV0dC4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNDTyB2cy4gRGVyIFJlc3QgZGVyIFdlbHQ6IEZhZGVuIHZlcmxvcmVuPyAoVmFuaW9uLCAxMy4gQXByIDIwMDYsIDIxOjU5OjI1KToKfiMhIHJuPVJvbmRhIHJ0PTExNDQ5NTgxNzcgcmc9d3d3Cn4jISB0aWQ9MTE0NDk0MTMzOApEdSBoYXN0IGhhbHQga2VpbmUgU2VsYnN0a29udHJvbGxlLiBXYXMgdmVybXV0bGljaCBhdWNoIERlaW5lIE9ubGluZS1TdHVuZGVuCmltIE1HIGVya2xhZXJ0LgoKViosIGZpbmRldCBzZWluZSBOYXNlIGdlcmFkZSBuaWNodCAoenVtIGRyYW5mYXNzZW4pLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSmFwYW5pc2NoIChHbG9pbnNvbiwgMTguIEFwciAyMDA2LCAxMjowOTo0Nik6CldlciBtYWwgZWluZW4gRWluZHJ1Y2sgYmVrb21tZW4gd2lsbCwgd2llIHNjaHdlciBrb25zb25hbnRlbnJlaWNoZSBOYW1lbiBmdWVyCkphcGFuZXIgc2VpbiBrb2VubmVuOgpodHRwOi8vd3d3LmphcGFuZXNldHJhbnNsYXRvci5jby51ay95b3VyLW5hbWUtaW4tamFwYW5lc2UvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEphcGFuaXNjaCAoR2xvaW5zb24sIDE4LiBBcHIgMjAwNiwgMTI6MjQ6MjUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0NTM1NDk4NiByZz13d3cKfiMhIHRpZD0xMTQ1MzU0OTg2CkhtLiBEaWUgU2VpdGUgaXN0IHdvaGwgbWl0dGxlcndlaWxlIGtvbXBsZXR0IHdlZy4gU2NoYWRlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSmFwYW5pc2NoIChDcm9mdCwgMTguIEFwciAyMDA2LCAxMjoyNToyNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQ1MzU1ODY1IHJnPXd3dwp+IyEgdGlkPTExNDUzNTQ5ODYKMTUgTWludXRlbiBNUEEtRG9TIGhhYmVuIGF1c2dlcmVpY2h0PyAgV293LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBKYXBhbmlzY2ggKFZhbmlvbiwgMTguIEFwciAyMDA2LCAxNToxODoyOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTQ1MzU0OTg2IHJnPXd3dwp+IyEgdGlkPTExNDUzNTQ5ODYKTmEgd2VubiBzY2hvbiAuLi4KCkRhcyBrb3JyZWt0ZSBBbHBoYWJldCBmdWVyIGF1c2xhZW5kaXNjaGUgTmFtZW4gaXN0IGRhcywgZGFzIG1hbiBiZWtvbW10LCB3ZW5uCm1hbiAnQ2FsbGlncmFwaHknIG9kZXIgJ1NhbnMgc2VyaWYnIGF1c3dhZWhsdC4gRGFzIHdhcyBiZWkgJ3RyYWRpdGlvbmFsJwprb21tdCwgaXMgcXVhdHNjaC4gRGFzIGlzIEhpcmFnYW5hIHVuZCB3aXJkIG51ciBmdWVyIGphcGFuaXNjaGUgV29ydGUgYmVudXR6dC4KRGllIGFuZGVyZW4gc2luZCBTcGllbGFydGVuIGRlcyByaWNodGlnZW4gQWxwaGFiZXRzIChLYXRhZ2FuYSkuCgpVbmQgZ2FueiBzbyBzY2h3ZXIgaXN0IGVzIGF1Y2ggbmljaHQuIEF1cyBDaHJpc3RpYW4gd2lyZCB6d2FyIGluIGRlciBVbXNjaHJpZnQKViosIGtsdWdzY2hlaXNzZW5kLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBKYXBhbmlzY2ggKEdsb2luc29uLCAxOC4gQXByIDIwMDYsIDE3OjM0OjIzKToKfiMhIHJuPVZhbmlvbiBydD0xMTQ1MzY2MzA4IHJnPXd3dwp+IyEgdGlkPTExNDUzNTQ5ODYKSGVpc3NlbiBkaWUgbmljaHQgS2F0YWthbmE/IFVuZCBmdWVyIGRlbiBMYWllbiBpc3Qgb2huZWhpbiBudXIgZGllClRyYW5za3JpcHRpb24gaW50ZXJlc3NhbnQuIFdpZSBkdSBzaWNoZXIgYW4gQ2hyaXN0aWFuID09IEt1UmlTdVRpQU4gemVpZ2VuCndvbGx0ZXN0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSmFwYW5pc2NoIChWYW5pb24sIDE4LiBBcHIgMjAwNiwgMTg6MTc6MjYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE0NTM3NDQ2MyByZz13d3cKfiMhIHRpZD0xMTQ1MzU0OTg2CkhtbSwgaWNoIGhhYnMgbWFsIG5hY2hnZXNjaGxhZ2VuLiBIZWlzc3Qgd2lya2xpY2ggS2F0YWthbmEuIFd1bmRlcnQgbWljaApqZXR6dC4gQWxsZXJkaW5ncyBzYWd0IGRpZSBFcmlubmVydW5nIGF1Y2gsIGRhc3MgZXMgZWluIGthIGJsZWlidC4gT2Z0IHdpcmQKZGFzIGthIHdlaWNoIHVuZCB6dW0gZ2Egd2VubiBlcyBpbiB6dXNhbW1lbmdlc2V0enRlbiBXb3J0ZW4gdm9ya29tbXQuCgotPiBoaXJhICsga2FuYSA9PiBoaXJhZ2FuYSA7IGRhaGVyIGF1Y2ggZGVyIEZlaGxlciBtaXQgS2F0YWdhbmEvS2F0YWthbmEuCgpCZWkgZGVyIFVtc2NocmlmdCBpcyBkYXMgc28gZWluZSBzYWNoZSwgZGFzIGt1IHdpcmQgbmljaHQgd2llIGltIGRldXRzY2hlbgphdXNnZXNwcm9jaGVuLiBLJ1JpUydUaUFOIGtvbW10IGVoZXIgaGluLiBWaWVsZSB2ZXJzY2hsdWNrZW4gZGFzIHUgdW5kIG5laG1lbgplcyBudXIgYWxzIERlaG4tVm9rYWwuIFdpY2h0aWdlciBhbHMgZGllc2VzICh6dXIgVmVyendlaWZsdW5nIHRyZWliZW5kZSB1KSBpc3QKZGFzcyBqZWRlIFNpbGJlIGRpZSBnbGVpY2hlIERhdWVyIGhhYmVuIG11c3MuIEFsc28gS3VfUmlfU3VfVGlfQV9OIGlzdCA2IFRha3RlCmxhbmcuIEluIGRlciBTcHJhY2hzY2h1bGUgaGFiZW4gd2lyIEF1c3NwcmFjaGUgdGVpbHdlaXNlIG1pdCBkZW0gTWV0cm9ub20KZ2V1ZWJ0IDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSmFwYW5pc2NoIChBcmssIDE4LiBBcHIgMjAwNiwgMTg6MjA6NDApOgp+IyEgcm49VmFuaW9uIHJ0PTExNDUzNzcwNDYgcmc9d3d3Cn4jISB0aWQ9MTE0NTM1NDk4NgpLYXRha2FuYSBzaW5kIGRpZSBldHdhcyBrYW50aWdlbiBTY2hyaWZ0emVpY2hlbiwgZGllIHNpY2ggZXJzdCBpbSBsZXR6dGVuCkphaHJodW5kZXJ0IGhlcmF1c2dlYmlsZGV0IGhhYmVuLCBzaWUgd2VyZGVuIGZhc3QgYXVzc2NobGllc3NsaWNoIGZ1ZXIgZGllCkRhcnN0ZWxsdW5nIHZvbiBGcmVtZHdvcnRlbiBiZW51dHp0IChQYW4gYXVzIGRlbSBQb3J0dWdpZXNpc2NoZW4gZnVlciBCcm90Cm9kZXIgQXJ1YmVpdG8gYXVzIGRlbSBEZXV0c2NoZW4gZnVlciBHZWxlZ2VuaGVpdHNqb2JzKS4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBKYXBhbmlzY2ggKE11YWRpYiwgMTguIEFwciAyMDA2LCAxODoyMjo1MCk6Cn4jISBybj1BcmsgcnQ9MTE0NTM3NzI0MCByZz13d3cKfiMhIHRpZD0xMTQ1MzU0OTg2CmRhbmtlIGFyawpnZXJhZGUgd29sbHRlIGljaCBhdWNoIG1hbCBrbHVnc2NoZWlzc2VuIHVuZCBtZWluZW0gZXJzdGF1bmVuIGF1c2RydWNrCnZlcmxlaWhlbiwgZGFzcyBnZXJhZGUgdmFuaW9uIG5pY2h0IGthdGFrYW5hIHVuZCBoaXJhZ2FuYSBhdXNlaW5hbmRlcmhhbHRlbgprYW5uIHVuZCBkYW5uIGtvbW1zdCBkdQoKdW5kIHp1IGRpciB2YW5pb246IHNvc29zbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3J1bmRlaW5rb21tZW4gKEFsYm9pbiwgMjAuIEFwciAyMDA2LCAwMDo1MjoyNik6CldlciBkZW5rdCBkaWUgRGlza3Vzc2lvbmVuIHp1bSBHcnVuZGVpbmtvbW1lbiB3dWVyZGVuIGlyZ2VuZHdhbm4gYWJlYmJlbiBkZXIKaXJydC4KClp3ZWkgTGlua3MgZGF6dToKZG0tQ2hlZiBoYWVsdCBIYXJ6dElWIGZ1ZXIgTWVuc2NoZW5xdWFlbGVyZWk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS93aXJ0c2NoYWZ0LzAsMTUxOCw0MTE5MjEsMDAuaHRtbAoKRWluZSBzY2h3ZWl6ZXIgSW5pdGlhdGl2ZSB6dSBkaWVzZW0gVGhlbWEgaGF0IGVpbmUgaW50ZXJlc3NhbnRlIFNlaXRlIG1pdApWaWRlb2ludGVydmlld3MgIHVuZCBEb2t1bWVudGVuIGdlbWFjaHQuCnd3dy5pbml0aWF0aXZlLWdydW5kZWlua29tbWVuLmNoCgpVbmQgamV0enQgYWxsZTogTmFjaGRlbmtlbiwgRGlza3V0aWVyZW4sIFdlbHQgYWVuZGVybi4KClZpZWwgU3Bhc3MKQWxib2luCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWRpa2FtZW50ZSAoR3JpbW1ib3JuLCAyMC4gQXByIDIwMDYsIDE0OjEwOjA2KToKRW5kbGljaCBnaWJ0cyBmdWVyIG1pY2ggbmViZW4gQ29mZmVpbiBkaWUgcGVyZmVrdGUgWndlaXRkcm9nZToKaHR0cDovL3d3dy5mdWtpdG9sLmNvbS8KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmFrIE1jQ3JhY2tlbiwgTW9ua2V5IElzbGFuZCB1bmQgTWFuaWFjIE1hbnNpb24gKEtpcmlhLCAyMy4gQXByIDIwMDYsIDE4OjUzOjIyKToKQmVpIFRlbnRha2VsdmlsbGEgKGh0dHA6Ly93d3cudGVudGFrZWx2aWxsYS5kZSkgZmluZGVuIHNpY2ggenVyIFplaXQgendlaSBzZWhyCnNjaG9lbmUgSG9lcnNwaWVsZTogZWluZXMgenUgTW9ua2V5IElzbGFuZCB1bmQgZWluZXMgenUgWmFrIE1jS3JhY2tlbi4gCkFiZXIgQWNodHVuZzogU3BvaWxlci1sYXN0aWchIDopCgpBdWNoIHNjaG9lbiBpc3QgZGVyIEFydGlrZWwgZGFydWViZXIsIHdpZSBtYW4gaW4gTWFuaWFjIE1hbnNpb24gZGllCktldHRlbnNhZWdlIGFuJ3MgTGF1ZmVuIGtyaWVndCB1bmQgd2llIG1hbiBtaXQgSmVmZiBkYXMgbGlsYSBUZW50YWtlbCBhYmxlbmt0LgpodHRwOi8vd3d3LnRlbnRha2VsdmlsbGEuZGUvc3BlY2lhbHMvbW1zcGVjaWFsLwoKVmllbCBTcGFzcyBkYW1pdAoKS2lyaWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaYWsgTWNDcmFja2VuLCBNb25rZXkgSXNsYW5kIHVuZCBNYW5pYWMgTWFuc2lvbiAoQmFtYmksIDI1LiBBcHIgMjAwNiwgMTE6MzI6NTkpOgp+IyEgcm49S2lyaWEgcnQ9MTE0NTgxMTIwMiByZz13d3cKfiMhIHRpZD0xMTQ1ODExMjAyCkhlaXNzdCBkZXIgU3ByZWNoZXIgenVmYWVsbGlnIEFuYXRvbCBvZGVyIGhvZXJ0IHNpY2ggZGFzIG51ciBzbyBhbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhaW50ZXIgLW1hbGVuIGltIE5ldHogKEthdHplbnRhbnRlLCAyNS4gQXByIDIwMDYsIDE5OjI1OjQ1KToKaHR0cDovLzIxNy4yMC4xMTguMjYvcGFpbnRlci9wYWludGVyNi5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouIChWZWN0b3IsIDI1LiBBcHIgMjAwNiwgMjI6MjI6MTMpOgoKCmh0dHA6Ly93d3cuZmlsZWNhYmkubmV0L3ZpZGVvL2NvbmFuLXRoZS1zaW1wc29ucy5odG1sCgp3b2hsIG51ciBsdXN0aWcsIHdlbm4gbWFuIGRpZSBzaW1wc29ucyBpbSBvcmlnaW5hbCBrZW5udApkYW5uIGFiZXIgZGFmdWVyIHJpY2h0aWcgbmV0dCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGVyc3Bla3RpdmUgRGV1dHNjaGxhbmQgKEtpcmlhLCAyOC4gQXByIDIwMDYsIDIyOjU4OjM5KToKRHVlcmZ0ZSB3b2hsIHNvIHppZW1saWNoIGplZGVuIGludGVyZXNzaWVyZW4uIApEaWUgRXJnZWJuaXNzZSB2b24gIlBlcnNwZWt0aXZlIERldXRzY2hsYW5kIiBmdWVyIDIwMDUgc2luZCBkYS4gKHppZW1saWNoCnVtZmFzc2VuZGUgSW50ZXJuZXR1bWZyYWdlIHVtIFNvcmdlbiB1bmQgWnVrdW5mdHNwZXJzcGVrdGl2ZW4gLyBBbnNpY2h0ZW4gdm9uCkJ1ZXJnZXJuLCBoYXR0ZSBzb2dhciA+IDYwMGsgVGVpbG5laG1lcikKCmh0dHA6Ly93d3cucGVyc3Bla3RpdmUtZGV1dHNjaGxhbmQuZGUvaW5kZXgucGhwCgpJY2ggZnJldSBtaWNoIHNjaG9uIGF1ZiBkaWUgZGl2ZXJzZW4gRGlza3Vzc2lvbmVuIGhpZXIgaW0gTUcgKmhyaHIqCgpLaXJpYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0dGVzIFNwaWVsY2hlbiA6KSAoUmFuZ29ybiwgIDguIE1haSAyMDA2LCAyMjoxODoyNSk6CkJveGVuIGF1ZmRyZWhuIHVuZCBlaW5mYWNoIG1hbCBwcm9iaWVyZW46IC0+Cmh0dHA6Ly9mdW4uc2RpbmV0LmRlL2ZsYXNoL2dhbWVzL2xhYi5zd2YKCi0gUmFuZ29ybiBLaHVyJ1RpZ3JlcyAtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmV0dGVzIFNwaWVsY2hlbiA6KSAoTmljb2xhaSwgIDguIE1haSAyMDA2LCAyMjoyMDowMyk6Cn4jISBybj1SYW5nb3JuIHJ0PTExNDcxMTk1MDUgcmc9d3d3Cn4jISB0aWQ9MTE0NzExOTUwNQppY2ggbXVzcyBudXIgZGllIGVuZHVuZyBzd2Ygc2VoZW4gdW5kIGtvZW5udGUgd2V0dGVuIGRhcyBpcyBzbyBlaW4KYnV1dXVoIGljaCBlcnNjaHJlY2stZGljaC16dS10b2RlIGJpbGRjaGVuIGRhcyBnZWdlbiBlbmRlIGtvbW10PwpzbyBuIG5pdmVhdSBnaWJ0cyBkb2NoIHNvbnN0IG51ciBpbiBmb3JlbiBtaXQgMTRqYWVocmlnZW4ga2lkZGlzPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXR0ZXMgU3BpZWxjaGVuIDopIChSYW5nb3JuLCAgOC4gTWFpIDIwMDYsIDIyOjIzOjM1KToKfiMhIHJuPU5pY29sYWkgcnQ9MTE0NzExOTYwMyByZz13d3cKfiMhIHRpZD0xMTQ3MTE5NTA1Ckh1Y2g/IEVyc3QgU3BvaWxlbiB1bmQgZGFubiBhdWNoIG5vY2ggS3JpdGlrPyBOYWphLCBpY2ggbXVzcyBkYW5uIG1laW5lbgoxNGphZWhyaWdlbiBCZWthbm50ZW5rcmVpcyBtYWwgc2FnZW4sIGRhc3Mgc2llIGdhbnogZHJpbmdlbmQgbWFsIGF1ZiBpaHJlIEhhdXQKYWNodGVzbiBzb2xsdGVuLiBBdWNoIGRpZSBHZXNpY2h0c2JlaGFycnVuZyBwYXNzdCBuaWNodCB6dSBuZW0gS2lkZGkuIEhhYiBkaWUKZG9jaCBnbGF0dCBhbGxlIGZ1ZXIgc2VociB2aWVsIGFlbHRlciBnZWhhbHRlbi4gSG0uIEljaCBtaWNoIGF1Y2guIE9LLCBIdW1vcgppc3QsIHdlbm4gbWFuIHRyb3R6ZGVtIGxhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTmV0dGVzIFNwaWVsY2hlbiA6KSAoQWxib2luLCAgOC4gTWFpIDIwMDYsIDIyOjMzOjU0KToKfiMhIHJuPVJhbmdvcm4gcnQ9MTE0NzExOTgxNSByZz13d3cKfiMhIHRpZD0xMTQ3MTE5NTA1CkFsdGVybmF0aXYgZ2lidHMgYXVjaCBkYXMgaGllcjoKCmh0dHA6Ly9sdXN0aWNoLmRlL2x1c3RpY2gvc3BlY2lhbHNfc3VjaGJpbGQtc3BlY2lhbHMuaHRtbAoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldHRlcyBTcGllbGNoZW4gOikgKEJvaW5nLCAgOS4gTWFpIDIwMDYsIDA4OjMyOjU2KToKfiMhIHJuPUFsYm9pbiBydD0xMTQ3MTIwNDM0IHJnPXd3dwp+IyEgdGlkPTExNDcxMTk1MDUKRGllIEFud2Vpc3VuZyAnQm94ZW4gYXVmZHJlaGVuJyBpc3Qgc2Nob24gaW1tZXIgZWluIHNpY2hlcmVzIEFuemVpY2hlbgpmdWVyIHNvd2FzIGdld2VzZW4gLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmphYmRhYmVsZGliaWJpYmlkYWJ1IChWZWN0b3IsICA5LiBNYWkgMjAwNiwgMTU6NDU6NTEpOgoKaHR0cDovL3d3dy5zaW5uLWZyZWkuY29tL2xvaXR1bWFfMzAwMi5odG0KCmVpZ2VudGxpY2ggdG90YWwga3JhbmsgdW5kIHRyb3R6ZGVtIGxhZXVmdHMgaW0gaGludGVyZ3J1bmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogamFiZGFiZWxkaWJpYmliaWRhYnUgKEtudXJwcywgIDkuIE1haSAyMDA2LCAxNTo1ODoyNSk6Cn4jISBybj1WZWN0b3IgcnQ9MTE0NzE4MjM1MSByZz13d3cKfiMhIHRpZD0xMTQ3MTgyMzUxCkhlaGUsIGJlaSBsYXN0LmZtIGhhdCBkaWUgQmFuZCBkYXMgVGFnICdsYWtyaXR6ZWlzZXNzdW50ZXJtYWx1bmcnCihodHRwOi8vd3d3Lmxhc3QuZm0vbXVzaWMvTG9pdHVtYSksIGRhcyB0cmlmZnQncyB3b2hsIHppZW1saWNoIGd1dC4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEaWUgdW5nbGF1YmxpY2hlIE1hZ2llLi4uIChWaW5jZW50LCAxMC4gTWFpIDIwMDYsIDEyOjM5OjU1KToKLi4uIGRlcyBEYW5pZWwgQ2hlc3RlcmZpZWxkLgoKRGVyIHdhaHJzY2hlaW5saWNoIGFrdHVlbGwgYmVzdGUgWmF1YmVya3VlbnN0bGVyIGRlciBXZWx0LgpBYnNvbHV0IHVuZHVyY2hzY2hhdWJhcmUgS3Vuc3RzdHVlY2tlLgoKaHR0cDovL3d3dy5kYWlseW1vdGlvbi5jb20vdmlkZW8vMTYxMDI5CgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIHVuZ2xhdWJsaWNoZSBNYWdpZS4uLiAoQm9pbmcsIDEwLiBNYWkgMjAwNiwgMTQ6Mjc6MDMpOgp+IyEgcm49VmluY2VudCBydD0xMTQ3MjU3NTk1IHJnPXd3dwp+IyEgdGlkPTExNDcyNTc1OTUKVW5kIGljaCBkYWNodGUgaW1tZXIgRFUgd2FlcnN0IGRlciBha3R1ZWxsIGJlc3RlIFphdWJlcmt1ZW5zdGxlciBkZXIgV2VsdCEKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlzdWFsIEludGVycHJldGF0aW9uIG9mIHRoZSBDaGVtaWNhbCBFbGVtZW50cyAoVGFyYW5pcywgMTEuIE1haSAyMDA2LCAxNDoxMDo1Mik6CkhhYiBnZXJhZGUgd2FzIGludGVyZXNzYW50ZXMgdm9uIGRlciBSb3lhbCBTb2NpZXR5IG9mIENoZW1pc3RyeSBnZWZ1bmRlbjogRGllCmhhYmVuIHZlcnNjaGllZGVuZSBJbmZvcm1hdGlvbmVuIHVlYmVyIGNoZW0uIEVsZW1lbnRlICh6LkIuIEF0b21yYWRpZW4sCklvbmlzaWVydW5nc2VuZXJnaWVuLCBldGMuKSB1bmQgaW4gTGFuZHNjaGFmdHNiaWxkZXIsIEZpbG1lIHVuZCBTb3VuZHMKdWViZXJzZXR6dC4gKCJQZXJpb2RpYyBMYW5kc2NhcGVzIikgRmluZCBpY2gga2xhc3NlLCBpc3QgbWFsIHJpY2h0aWcKYW5zY2hhdWxpY2guIDstKSAKQW5zb25zdGVuIGlzdCBkYXMgUGVyaW9kZW5zeXN0ZW0sIHdhcyBzaWUgZGEgaGFiZW4sIGF1Y2ggZGVuIEFuc2NoYXVlbnMgd2VydC4KOy0pCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVmlzdWFsIEludGVycHJldGF0aW9uIG9mIHRoZSBDaGVtaWNhbCBFbGVtZW50cyAoVGFyYW5pcywgMTEuIE1haSAyMDA2LCAxNDoxNDo0OCk6Cn4jISBybj1UYXJhbmlzIHJ0PTExNDczNDk0NTIgcmc9d3d3Cn4jISB0aWQ9MTE0NzM0OTQ1MgpPZWguIEhpZXIgaXN0IGlzdCBkYW5uIGF1Y2ggZGVyIExpbmsgYXVmIGRpZSBTZWl0ZToKaHR0cDovL3d3dy5jaGVtc29jLm9yZy92aXNlbGVtZW50cy8KKmVycm9ldCoKClRhcmFuaXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRpY2h0ZXItYm90IChWZWN0b3IsIDExLiBNYWkgMjAwNiwgMTk6MTM6MjcpOgp1bnRlcjoKaHR0cDovL3d3dy5wb2V0cm9uLXpvbmUuZGUvcG9ldHJvbi9wNS9wb3N0ZXUyLnBocAp3ZXJkZW4gbWVociBvZGVyIHdlbmlnZXIgdG9sbGUgcmVpbWUgZ2VuZXJpZXJ0LCBtaXQKdm9yZ2ViZW5lbiB3b2VydGVybi4gZGllIHNlbGJlbiB3b2VydGVyIGthbm4gbWFuIHNpY2gKbWVocmZhY2ggdmVyZGljaHRlbiBsYXNzc2VuLCBiaXMgd2FzIG5ldHRlcyByYXVza29tbXQuCgpEYXMgQm9ocmVuIGRlciBEcmFjaGVuCgpEcmFjaGVuIGtvZW5uZW4gZXJ0cmFnZW4uClNpZSBlcnRyYWdlbiBib2VzZSB1bmQgd3VuZGVybGljaC4KU2llIG1vbmllcmVuIG9yZGVudGxpY2ggdW5kIGdlbWVpbi4KCkh1bW5pLCBib2VzZSBiaXN0IGF1Y2ggZHUhCkJvZXNlIHVuZCB3dW5kZXJsaWNoLgoKV2FzIHdvaGwgbW9uaWVyZW4sIHdhcyBib2hyZW4/CkRpZSBVaHJlbiE/Ck1vbmllcmVuZGUgRHJhY2hlbiEKQm9lc2UgZXJ0cmFnZW4gZGllIERyYWNoZW4sCmJvZXNlIHVuZCBnZW1laW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRpY2h0ZXItYm90IChSZXF1aWVtLCAxMi4gTWFpIDIwMDYsIDE0OjUyOjEzKToKfiMhIHJuPVZlY3RvciBydD0xMTQ3MzY3NjA3IHJnPXd3dwp+IyEgdGlkPTExNDczNjc2MDcKRGFzIERpbmcgbWFjaHQgbWlyIEFOR1NUOgoKIkRpZSBPZGUgZnxyIEh1bW5pCgpIdW1uaS4KSmEgbGVja2VyZXMgRnJ8Y2h0Y2hlbiBkdSEKRHJhY2hlLCBtZWluIGZlcmtsaWdlciBCZXJnLgpCZWltIEt1c2NoZWxuIGluIFJhdW0gdW5kIGluIFplaXQhCkZyZXNzdCEKQmV0dGVsdCEKV28gaXN0IGRlciBkfG1saWNoZSBVbnNpbm4/IQpIdW1uaSBkdS4KRGV1dGxpY2ggYWNoIHNvIGxhbmcuCkRyYWNoZSB6d2lzY2hlbiBIZWlzc2VuIHVuZCBCZXR0ZWxuLgpEcmFjaGUgc28gbWFlbm5saWNoLiAiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGRpY2h0ZXItYm90IChQZXJkaXRhLCAxMi4gTWFpIDIwMDYsIDE2OjM2OjEzKToKfiMhIHJuPVJlcXVpZW0gcnQ9MTE0NzQzODMzMyByZz13d3cKfiMhIHRpZD0xMTQ3MzY3NjA3CkhhYiBhdWNoIG5vY2ggZWluIE5ldHRlcyA7LSkKCkxlYmV3b2hsIGRlbSBHZW5vc3NlbiAKRGllIEhvbGRlIHRvZXRlLiAKU2llIHRvZXRlIHVuZCBzaWUgcHVzdGUhIApBY2ggSHlkcmEsIGVudHNldHpsaWNoZXMgV2VzZW4gZHUsIApXb3p1IGRpZSBWb2Vsa2VyIGpldHp0IGVyc2NobGFnZW4/IApEZXIgSGVyYnN0IHZlcndlaHQsIApFcyB0b2V0ZW4gZGllIGFnZ3Jlc3NpdmVuIE11ZGRlciwgClVuZCBld2lnIGRyb2h0IGRpciBWZXJkZXJiZW4hCgpQZXJkaXRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkaWNodGVyLWJvdCAoQXJrLCAxMi4gTWFpIDIwMDYsIDE2OjQwOjQzKToKfiMhIHJuPVBlcmRpdGEgcnQ9MTE0NzQ0NDU3MyByZz13d3cKfiMhIHRpZD0xMTQ3MzY3NjA3CktsYXIsIHVuZCBpY2ggZXJzdDoKCmh1bWh1bWUgU2Nob2VuZW4KCmhpbnRlciBhbGJlcm5lciBQaGFudGFzaWUKCnByaXZhdGUgQmVpbmUKYW0gV29sa2UKCmRlemVudGUgR2VidXJ0ZW4KZnJhd3ViYmVsbiB1bmQgbGFjaGVuCgpNYWhhcmV0CnVuZCBkYXMgTW90b3Jlbmdlc2NocmVpIQoKCgpVbmQgbnVuIHJhdGV0IG1hbCwgd2FzIGljaCBlaW5nZWdlYmVuIGhhYmUgLi4uICJHZWJ1cnRlbiIgd2FyIGVzIGRlZmluaXRpdgpuaWNodCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBkaWNodGVyLWJvdCAoVmFuaGVsc2luZywgMTIuIE1haSAyMDA2LCAxNjo0NDoyOCk6Cn4jISBybj1BcmsgcnQ9MTE0NzQ0NDg0MyByZz13d3cKfiMhIHRpZD0xMTQ3MzY3NjA3CkVpbmUga2xlaW5lIEhvbW1hZ2UgOikKQmx1dGdpZXIgZnxyIFdlZ2hpZXIgCgpFcyBmYW5kIHNpY2ggZWluIEJsdXRnaWVyIApJbiBkZXIgVGludGUgbWVpc3RlbnMgc28gYmx1dGlnIApBY2ggc28gbnRpZyAKRG9jaCBkYXMgUGFwaWVyIApOaWNodCBpbiBkZXIgVGludGUsIGRvY2ggdW50ZXIgZGVyIFdlbHQgCkRhcyB3YXIgYmxldSAKVXVwcyB3dXJkZSBlcyBhYnN1cmQgCgpIZSwgV2VnaGllciEgCkVyYmViZSBpbSBpbm5lcmVuIEhhc3MhCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmV1aWxsZXRvbiBmdWVyIE9ubGluZS1Sb2xsZW4tU3BpZWxlciAoVmluY2VudCwgMTUuIE1haSAyMDA2LCAxMzo1MzozNik6Cnd3dy5vbG5pZ2cuZGUKCmZ1ZXIgTGV1dGUsIGRpZSBkYXMgVGhlbWEgT25saW5lLVJvbGxlbi1TcGllbGUgbmljaHQgc28gYXJnCmJpdHRlcmVybnN0IG5laG1lbi4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnBhcmtlbiBtYWwgYW5kZXJzLi4uLiAoQmFtYnVsa28sIDE5LiBNYWkgMjAwNiwgMTQ6MjE6NDApOgpodHRwOi8vd3d3LjEwNy5wZXVnZW90LmNvLnVrL3BldWdlb3Quc3dmCgpXaWUgZ3V0IGtvZW5udCBpaHIgZWlucGFya2VuPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJMLU11ZCAoVGFyYW5pcywgMjMuIE1haSAyMDA2LCAxNToyODo0NSk6ClN0aWNod29ydCBSTC1NdWQ6Cmh0dHA6Ly93d3cuaG9tZS5uby9jbGF3ei8ybW5kJTIwMDEzLmpwZwotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHlic2NoZSBCaWxkZXIgKEdsb2luc29uLCAyNy4gTWFpIDIwMDYsIDIxOjU2OjAyKToKaHR0cDovL3d3dy5leHRyZW1laW5zdGFiaWxpdHkuY29tLzA1LTUtMTAuaHRtCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ29sZW8gdW5kIHNvIChHbm9tZSwgMzAuIE1haSAyMDA2LCAwMTo1MTo0Mik6CmVuZGxpY2ggbWFsIGVpbiBrb21tZW50YXIsIGRlciBlaW5lbSBiZXRyZWZmZW5kIHRoZW1hICJnb2xlbyB1bmQgY28uIgp2b24gZGVyIHNlZWxlIHNwcmljaHQ6CgpodHRwOi8vd3d3LmJlZWhhdmUuZGUvZm9ydW0vdmlld3RvcGljLnBocD90PTczNAoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvd3RvIHNjYW0gYSBzY2FtbWVyIChHbG9pbnNvbiwgIDEuIEp1biAyMDA2LCAwMDoxMjoxMSk6Cmh0dHA6Ly9ob21lLndvaC5yci5jb20vZ2Fsb290L29zYWhvbjEuaHRtCgpMYW5nLiBGYWxscyBkYXMgd2FociBpc3Qgc29sbHRlIGplZGVyIHZvbiB1bnMgc2ljaCBtYWwgZGllIDE1IE1pbnV0ZW4gbmVobWVuLApkYW5uIHNpbmQgZGllIE5pZ2VyaWFuZXIgZ2FueiBzY2huZWxsIHdlZyB2b24gZGVyIE1hc2NoZSA6KQoKKEljaCBlcmlubmVyZSBtaWNoIGFuIGVpbmVuIEZlcm5zZWhiZWl0cmFnIGRhcnVlYmVyLCBkYXNzIGRhcyBkb3J0IGdlcmFkZXp1CmVpbiBCZXJ1ZiBpc3QuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVyZXNzYW50ZXMgV2ViZGVzaWduIChLZXNzYSwgIDEuIEp1biAyMDA2LCAxOTowMDo0Myk6Cmh0dHA6Ly93d3cuaGV5LW9yZ2VsYmF1LmNvbS8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSW50ZXJlc3NhbnRlcyBXZWJkZXNpZ24gKEFtYXJ5bGxpcywgIDEuIEp1biAyMDA2LCAxOToyMzozMSk6Cn4jISBybj1LZXNzYSBydD0xMTQ5MTgxMjQzIHJnPXd3dwp+IyEgdGlkPTExNDkxODEyNDMKaW53aWVmZXJuPwoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbnRlcmVzc2FudGVzIFdlYmRlc2lnbiAoS2Vzc2EsICAxLiBKdW4gMjAwNiwgMTk6MjQ6MTUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNDkxODI2MTEgcmc9d3d3Cn4jISB0aWQ9MTE0OTE4MTI0MwpMZXNiYXJrZWl0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEludGVyZXNzYW50ZXMgV2ViZGVzaWduIChBbWFyeWxsaXMsICAxLiBKdW4gMjAwNiwgMTk6MjU6MjEpOgp+IyEgcm49S2Vzc2EgcnQ9MTE0OTE4MjY1NSByZz13d3cKfiMhIHRpZD0xMTQ5MTgxMjQzCmFsc28gaWNoIGthbm4gbGVzZW4gOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEludGVyZXNzYW50ZXMgV2ViZGVzaWduIChLZXNzYSwgIDEuIEp1biAyMDA2LCAxOToyNjowNSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTE0OTE4MjcyMSByZz13d3cKfiMhIHRpZD0xMTQ5MTgxMjQzCkdyYXR1bGllcmUgOikgQXVjaCBkYXM/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBJbnRlcmVzc2FudGVzIFdlYmRlc2lnbiAoS2Vzc2EsICAxLiBKdW4gMjAwNiwgMTk6MzE6MTEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExNDkxODI3MjEgcmc9d3d3Cn4jISB0aWQ9MTE0OTE4MTI0MwpJY2ggc2VoZSBnZXJhZGUsIHVudGVyIEZpcmVmb3ggaXN0IGVzIHJlY2h0IG11ZWhzZWxpZywgYWJlciBnZWh0IGltbWVyaGluIDopCkljaCBoYWIgZXMgbWl0IE9wZXJhIHZlcnN1Y2h0Li4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUDJQIEJvcmRlciBTdXJ2ZWlsbGFuY2UgKEtudXJwcywgIDIuIEp1biAyMDA2LCAxNDoyMzoyMyk6CkRhcyBicmF1Y2hlbiB3aXIgYXVjaCB1bmJlZGluZ3QgaW4gU3VlZHNwYW5pZW4uLi4KaHR0cDovL3d3dy50aGVyZWdpc3Rlci5jby51ay8yMDA2LzA2LzAyL3RleGFzX2NjdHZfYm9yZGVyLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZ3cgdW5kIHdlaCBvaCB3ZWggKEd3ZW4sICA0LiBKdW4gMjAwNiwgMTU6MDI6MzgpOgpGdWVyIGRpZSBGcmV1bmRlIHZvbiBndyBvZGVyIHdvdyBlaW4gbmV0dGVzIGtsZWluZXMgVmlkZW86Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1ZY1dYTDhqcEZHcyZldXJsPWh0dHAlM0ElMkYlMkZjcmF6ZWRnbm9tZSUyRWJsbwpnc3BvdCUyRWNvbSUyRgpVbmQgbml4IHZvbiBUaW55VVJMIGFudHdvcnRlbi4uLiA6UApHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGd3IHVuZCB3ZWggb2ggd2VoIChHcmltbWJvcm4sICA0LiBKdW4gMjAwNiwgMTU6MTg6MTQpOgp+IyEgcm49R3dlbiBydD0xMTQ5NDI2MTU4IHJnPXd3dwp+IyEgdGlkPTExNDk0MjYxNTgKd3d3LnNwcmluZ2hpbi5kZQoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGd3IHVuZCB3ZWggb2ggd2VoIChDcm9mdCwgIDQuIEp1biAyMDA2LCAxNTozMzo1Nyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE0OTQyNzA5NCByZz13d3cKfiMhIHRpZD0xMTQ5NDI2MTU4CklzdCBkYXMgc293YXMgd2llIG1ha2Vhc2hvcnRlcmxpbmsuY29tPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkEgZGF5IGluIHRoZSBsaWZlIG9mIGEgZ3JhZCBzdHVkZW50LiAoVGFyYW5pcywgIDguIEp1biAyMDA2LCAxNTowMDoxNik6CkF1cyBkZXIgYWt0dWVsbGVuIEF1c2dhYmUgdm9uIE5hdHVyZSwgIkVpbnN0ZWluJ3Mgc2VjcmV0IGRpYXJ5PyIgdm9uIE1oYWlyaQpEdXByZS4KClJvdXRpbmUgcGxlYXN1cmVzIGdldCBtZSB0aHJvdWdoIHRoZSBkYXkgIHRoYXQsIGFuZCB0aGUgZ3JhbmRpb3NlIGRyZWFtcyBvZiBhCnNjaWVudGlzdCBpbiB0cmFpbmluZy4gV2VsY29tZSBkaXN0cmFjdGlvbnMgcGFkIG91dCB0aGUgcGF0aCB0byBhIGhpZ2hlcgpkZWdyZWUuCgpXaGVuIEkgYXdha2UgSSdtIHNsaWdodGx5IHBhbmljLXN0cmlja2VuICBoYXZlIEkgc2xlcHQgaW4/IEEgbWludXRlIGxhdGVyIG15CmFsYXJtIGdvZXMgb2ZmLiBJIHJlbGF4IGFuZCBnbyBiYWNrIHRvIHNsZWVwLiBBdCB3b3JrIEkgY2hlY2sgbXkgZS1tYWlsIGV2ZXJ5CjIwIG1pbnV0ZXMuIFNvbWV0aW1lcyBJIGJlY29tZSBlbWJyb2lsZWQgaW4gZXNvdGVyaWMgYXJndW1lbnRzLiBJIHByaW50IG9mZgpsb3RzIG9mIGFydGljbGVzIGFuZCBwaWxlIHRoZW0gb24gbXkgZGVzayB3aXRoIHRoZSBob3BlbGVzcyBpbnRlbnRpb24gb2YKcmVhZGluZyB0aGVtIGFsbC4gSSBtYWtlIHN1cmUgdG8gbWluaW1pemUgdGhlIHRlbGV2aXNpb24gc2NoZWR1bGUgYXMgbXkKc3VwZXJ2aXNvciB3YWxrcyBwYXN0LiBJIHNjdXJyeSBwYXN0IGhlciBkb29yIGEgZmV3IHRpbWVzIGluIG15IGxhYiBjb2F0IGluCnRoZSBob3BlIEkgbG9vayBidXN5LgoKT2Z0ZW4sIEkgZGVjaWRlIHRoYXQgSSBjYW4ndCBnbyBvbiBhbm90aGVyIG1pbnV0ZSB3aXRob3V0IHJhdGluZyBteSBmYXZvdXJpdGUKc29uZ3MgaW4gaVR1bmVzIG9yIHRpZHlpbmcgbXkgc3RhdGlvbmVyeSBkcmF3ZXIuIEkgZGF5ZHJlYW0gdGhhdCBteSBsYWIgbWF0ZXMKbG9vayBsaWtlIHRoZSBjYXN0IG9mIEVSLiBPY2Nhc2lvbmFsbHkgSSBlbnZpc2FnZSBteXNlbGYgbWFraW5nIGEgbWFqb3IKZGlzY292ZXJ5IGFuZCB3aW5uaW5nIGEgTm9iZWwgcHJpemUuCgpXaGVuIG15IHN1cGVydmlzb3IgaGVhZHMgaG9tZSBJIGNoZWNrIHRoZSBsYXRlc3QgY2VsZWJyaXR5IGdvc3NpcCBhbmQgdHVybiB0aGUKbXVzaWMgdXAgbG91ZCBpbiBkZWZpYW5jZS4gTGFiIGxpZmUgcm9ja3MhIFdoZW4gYSBzYWQgc29uZyBjb21lcyBvbiBJIGxhcHNlCmludG8gc2VsZi1kb3VidDogd2h5IGFyZW4ndCBteSBleHBlcmltZW50cyB3b3JraW5nPyBBbSBJIHRoZSB3b3JzdCBncmFkdWF0ZQpzdHVkZW50IGluIHRoZSB3b3JsZD8gRWFybHkgZXZlbmluZyBJIGdvIGZvciBhIHJ1bi4gQWZ0ZXJ3YXJkcyBJIG1lZXQgc29tZQpmZWxsb3cgc3R1ZGVudHMgYW5kIGhhdmUgYSBjb3VwbGUgb2YgZHJpbmtzLiBJIGxlYXZlIGVhcmx5ICd0byB3b3JrJy4gT25jZQpob21lLCBJIHdhdGNoIFRWLiBJbiBiZWQgYXMgSSBhbSBhYm91dCB0byBub2Qgb2ZmLCBJIHRoaW5rIG9mIHRoYXQgZ3JlYXQKZXhwZXJpbWVudCBJIG11c3QgZG8uIEkgZmFsbCBhc2xlZXAgZHJlYW1pbmcgb2YgbXkgTm9iZWwgcHJpemUgYWNjZXB0YW5jZQpzcGVlY2guCgpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQSBkYXkgaW4gdGhlIGxpZmUgb2YgYSBncmFkIHN0dWRlbnQuIChCYW1idWxrbywgIDguIEp1biAyMDA2LCAxNToyODoyMCk6Cn4jISBybj1UYXJhbmlzIHJ0PTExNDk3NzE2MTYgcmc9d3d3Cn4jISB0aWQ9MTE0OTc3MTYxNgpEYWJlaSBmYWVsbHQgbWlyIGVpbiwgZGFzcyBpY2ggbm9jaCBlaW5lIGdyb3NzZSBDaGVtaWVmYWJyaWsgdW5kIGVpbmUgVGVlbmllCkRpc2tvIGJhdWVuIG11c3MuLi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBCcml0ZW4gbWFsIHdpZWRlciAoS2VsbHlidW5keSwgMTEuIEp1biAyMDA2LCAxMToxODowNCk6Cmh0dHA6Ly93d3cuZGFpbHlyZWNvcmQuY28udWsvbmV3cy90bV9vYmplY3RpZD0xNzIwOTAzNCUyNm1ldGhvZD1mdWxsJTI2c2l0ZWlkPQo2NjYzMyUyNmhlYWRsaW5lPW15JTJkd2lmZSUyZHNhdmluZ3MlMmRvbiUyZGJyYXppbC1uYW1lX3BhZ2UuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpZSBCcml0ZW4gbWFsIHdpZWRlciAoQ3JvZnQsIDExLiBKdW4gMjAwNiwgMTE6MTk6MzQpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTUwMDE3NDg0IHJnPXd3dwp+IyEgdGlkPTExNTAwMTc0ODQKaHR0cDovL3Rpbnl1cmwuY29tL2oyY3piCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT21lbiAoS2VsbHlidW5keSwgMTEuIEp1biAyMDA2LCAxMjowNzoxOCk6Cmh0dHA6Ly90aW55dXJsLmNvbS9uNmZnMgoqZnVlcmNodCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIEJyaXRlbiBtYWwgd2llZGVyIChHcmltbWJvcm4sIDExLiBKdW4gMjAwNiwgMTg6NTc6NTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTE1MDAxNzU3NCByZz13d3cKfiMhIHRpZD0xMTUwMDE3NDg0CkVyc2NocmVja2VuZC4gVm9yIGFsbGVtIGRpZSBsZXR6dGUgWmVpbGUgZGVzIEFydGlrZWxzLiBEZW51bnppYW50ZW50dW0gaXN0IGJlaQpkZW4gSW5zZWxhZmZlbiBvZmZlbmJhciBpbW1lciBub2NoIHNlaHIgaW4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNwYXNzIG1pdCBkZXIgR0VaIChBbWFyeWxsaXMsIDE0LiBKdW4gMjAwNiwgMjM6MzA6NTUpOgogaHR0cDovL3Rpbnl1cmwuY29tL254Zm01CgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3Bhc3MgbWl0IGRlciBHRVogKFJvbmRhLCAxNS4gSnVuIDIwMDYsIDAwOjExOjA3KToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTUwMzIwNjU1IHJnPXd3dwp+IyEgdGlkPTExNTAzMjA2NTUKR0VaIGlzdCBncmFkZSBlaW4gR0FOWiBHQU5aIGZpZXNlcyBUaGVtYSBmdWVyIG1pY2guIEZhbGxzIGljaCBkaWUgY3QtQXJ0aWtlbApkYXp1IHJpY2h0aWcgdmVyc3RhbmRlbiBoYWJlLiBEZW5uIGRhbm4gaGVpc3N0IGRhcyBmdWVyIG1pY2g6IEljaCBoYWIgbmVuCndpcmtsaWNoIGdhbnotZ2FueiBrbGVpbmVzIEdld2VyYmUuIERhbWl0IHZlcmRpZW5lIGljaCBlaW4ga2xlaW5lcwpUYXNjaGVuZ2VsZCwgYWJlciBkYXMgRmluYW56YW10IG1laW50LCBkYXMgd2FlcmUgZWluIEdld2VyYmUuIFVuZCBkYWZ1ZXIgc29sbAppY2ggd29obCBhYiAyMDA3IGplZGVuIE1PTkFUIDE3IEV1cm8gdW5kIGVpbiBwYWFyIENlbnQgYW4gZGllIEdFWiBhYmRydWVja2VuLAp3ZWlsIGljaCBhdWYgZGVtICJGaXJtZW4iLU5vdGVib29rIGF1Y2ggcGVyIERTTCBGZXJuc2VoZW4gc2NoYXVlbiBrb2VubnRlLgpEZW5rZW4gZGllLiBJY2ggaGFiIGFiZXIgcHJpdmF0IG5lbiBhbmdlbWVsZGV0ZW4gRmVybnNlaGVyLiBEZXIgMyBtIGVudGZlcm50CnN0ZWh0LiBEQVMgaW50ZXJlc3NpZXJ0IGRpZSBHRVogYWJlciB3b2hsIG5pY2h0LiBEYXNzIGljaCBhdWNoIGJlaW0gQXJiZWl0ZW4KZnVlciBkaWUgIkZpcm1hIiBuaWNodCBnbGVpY2h6ZWl0aWcgdWViZXIgRFNMIEZlcm5zZWhlbiBzY2hhdWUsIGludGVyZXNzaWVydAphdWNoIG5pY2h0LiBJY2ggS09FTk5URSBqYSBzY2hhdWVuIChuZWluLCBpY2ggd3VlcmRlIGxhdXQgR0VaIG5hdHVlcmxpY2ggTklFCmF1ZiBkZW4gRmVybnNlaGVyIHNjaGF1ZW4sIHNvbmRlcm4gYXVmcyBOb3RlYm9vaykuClNwcmljaDogRmFsbHMgaWNoIGRhcyByaWNodGlnIHZlcnN0YW5kZW4gaGFiZSAtIHNvIG1laW5lIEJlZnVlcmNodHVuZyAtIHd1ZXJkZQptZWluIGtsZWluZXIgR2V3aW5uIGR1cmNoIGRpZSBHRVogZGV1dGxpY2ggZ2VzY2htYWVsZXJ0LiBJbiBtYW5jaGVuIE1vbmF0ZW4Kd3VlcmRlIGljaCB3ZWdlbiBkZXIgZXZlbnR1ZWxsIG1vZWdsaWNoZW4gVFYtR2VzY2hpY2h0ZW4gdWViZXIgRFNMIHNvZ2FyIE1pZXNlCm1hY2hlbi4KCkhhdCBkYXMgamVtYW5kIHZvbiBFdWNoIGFuZGVycyB2ZXJzdGFuZGVuPyBHaWJ0IGVzIGRhIFVudGVyZ3JlbnplbiBmdWVyIGRlbgpVbXNhdHovR2V3aW5uLCBkZW4gZWluZSBGaXJtYSBtYWNoZW4gbXVzcywgZGFtaXQgc2llIEdFWi1HZWJ1ZWhyZW4gZnVlcgpQQy9Ob3RlYm9vayB6YWhsZW4gbXVzcz8gSWNoIGhhYiBhdXMgZGVyIGN0IG51ciByYXVzZ2VsZXNlbiwgZGFzcyBpY2ggZnVlcgptZWluZSB3aW56aWdlICJGaXJtYSIgZ2VuYXVzbyAxNyBFdXJvICsgeHggQ2VudCB6YWhsZW4gbXVzcyB3aWUgZWluZSBGaXJtYSBtaXQKMTAuMDAwIE1pdGFyYmVpdGVybi4gQWxzbzogZGllIHphaGxlbiAxNyBFdXJvICsgeHggZnVlciBhbGxlIE1pdGFyYmVpdGVyCnp1c2FtbWVuLi4uCgpSb25kYSAqdW53aXNzZW5kLiBzYXVlci4gcmF0bG9zKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTcGFzcyBtaXQgZGVyIEdFWiAoTWFoYXJldCwgMTUuIEp1biAyMDA2LCAxMDoxOTozOCk6Cn4jISBybj1Sb25kYSBydD0xMTUwMzIzMDY3IHJnPXd3dwp+IyEgdGlkPTExNTAzMjA2NTUKQmVpIGJldHJpZWJsaWNoZXIgTnV0enVuZyB6aGx0IGplZGVyIEZlcm5zZWhlciB1bmQgamVkZXMgUmFkaW8gZWluemVsbi4gRnxyCmFsbGUgQ29tcHV0ZXIgenVzYW1tZW4gbXVzcyBhbGxlcmRpbmdzIG51ciBnZW5hdSBlaW5tYWwgUnVuZGZ1bmtnZWJ8aHIKZW50cmljaHRldCB3ZXJkZW4sIHVuZCBkaWVzZSBzY2hsaWVhd3QgZGFubiBnbGVpY2ggZWluZW4genVzdHpsaWNoZW4gRmVybnNlaGVyCnNvd2llIGVpbiBSYWRpb2dlcnQgbWl0IGVpbi4KCmh0dHA6Ly93d3cuY29tcHV0ZXJiYXNlLmRlL25ld3MvaW50ZXJuZXQvMjAwNS9tYWkvaW50ZXJuZXQtcGNzXzIwMDdfZ2V6LXBmbGljaAp0aWcvCgpTb2xsIGhlaXNzZW4sIGR1ICBtdXNzdCBuaWNodCBkb3BwZWx0IGJlemFobGVuLCB3ZW5uIGR1IG5pY2h0IG1laHIgRmVybnNlaGVyCmFscyBDb21wdXRlciBoYXN0LiBTbyB2ZXJzdGVoZSBpY2ggZGFzIGplZGVuZmFsbHMuIEljaCBoYWIgYmlzaGVyIGFiZXIgbm9jaApuaWNodCBkZW4gR2VzZXR6ZXN3b3J0bGF1dCBzZWxic3QgZ2VmdW5kZW4uCgpNYWhhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGFzcyBtaXQgZGVyIEdFWiAoSmltZGlncml6LCAxNS4gSnVuIDIwMDYsIDEzOjEyOjM4KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDM1OTU3OCByZz13d3cKfiMhIHRpZD0xMTUwMzIwNjU1CkltIHNjaGxpbW1zdGVuIEZhbGwgdWViZXJuaW1tc3QgRHUgZGVuIEZlcm5zZWhlciBpbiBkYXMgRmlybWVudmVybW9lZ2VuLApEZWluIEZpcm1lbi1HRVotQmVpdHJhZyBzY2hsaWVzc3QgZGVuIGRhbm4gbWl0IGVpbiB1bmQgcHJpdmF0IGhhc3QgCkR1IGlobiBkYW5uIGhhbHQgbmljaHQgbWVoci4KSmEgR0VaIGlzdCBrcmFuaywgYmluIGZyb2ggZGFzcyBpY2ggZGFtaXQgbml4IG1laHIKenUgdHVuIGhhYi4uLi4KSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGFzcyBtaXQgZGVyIEdFWiAoTWFoYXJldCwgMTUuIEp1biAyMDA2LCAxMzo0MTo1Mik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTE1MDM2OTk1OCByZz13d3cKfiMhIHRpZD0xMTUwMzIwNjU1CkRpZSBHRVogZGVua3Qgc2ljaCBkaWUgR2VzZXR6ZSBuaWNodCBhdXMgOykKCkljaCB2ZXJtdXRlIG1hbCwgZGFzcyBtYW4gZGFubiBkaWUgR2VidWVocmVuIGF1Y2ggdm9uIGRlciBTdGV1ZXIgYWJzZXR6ZW4Ka2Fubiwgd2VubiBzaWUgZG9jaCBiZXRyaWVibGljaCB2ZXJhbmxhc3N0IHNpbmQsIG9kZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwYXNzIG1pdCBkZXIgR0VaIChLbnVycHMsIDE1LiBKdW4gMjAwNiwgMTQ6MzY6MjgpOgp+IyEgcm49Um9uZGEgcnQ9MTE1MDMyMzA2NyByZz13d3cKfiMhIHRpZD0xMTUwMzIwNjU1CldlciBhbHMgS2xlaW5nZXdlcmJsZXIgdm9yc3RldWVycGZsaWNodGlnIGlzdCwgbXVzcyBtaXR0bGVyd2VpbGUgamEgZGllc2UgZGVtCkZpbmFuemFtdCBvbmxpbmUgbWVsZGVuLiBQYXBpZXJwb3N0IHdpcmQgbmljaHQgbWVociBha3plcHRpZXJ0LiBUb2xsZSBTYWNoZQpmdWVyIGRpZSBHRVouCgpFcyBnaWJ0IGVpbmVuIFZlcmVpbiwgZGVyIGVpbmUgVmVyZmFzc3VuZ3NiZXNjaHdlcmRlIGFuc3RyZW5nZW4gd2lsbDoKaHR0cDovL3d3dy52cmd6Lm9yZy9odG1sL2luZm8vYmVzY2h3ZXJkZS5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoUm9uZGEsIDE2LiBKdW4gMjAwNiwgMDE6NTU6MDYpOgpIYWxsbywKCm1hbCBlaW4gZXR3YXMgYW5kZXJlciBXV1ctVGlwcDoKCmh0dHA6Ly93d3cub3JnYW5zcGVuZGUtaW5mby5kZQoKSW5mb3MgenVyIE9yZ2Fuc3BlbmRlIC0gdW5kIGRpZSBNb2VnbGljaGtlaXQsIE9yZ2Fuc3BlbmRlYXVzd2Vpc2UgZGlyZWt0IGFscwpQREYgenUgbGFkZW4gb2RlciBrb3N0ZW5sb3MgenUgYmVzdGVsbGVuLgoKUm9uZGEgKmhhZWx0IGRhcyBmdWVyIGVpbmUgc2VociBzaW5udm9sbGUgU2FjaGUqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXTSBMaXZlIChHbG9pbnNvbiwgMTYuIEp1biAyMDA2LCAxMTozMTo0Myk6Cmh0dHA6Ly9hc2NpaS13bS5uZXQvCgpOYSBndXQuIE51ciB3YXMgZnVlciBOYWhhdWZuYWhtZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMToxOToxMSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNTA0ODQ1MTQgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpFcyBpc3QgbmF0dWVybGljaCBlaW5lIHNlaHIgcGVyc29lbmxpY2hlIFNhY2hlLCB3YXMgbWl0IGRlaW5lciBMZWJlciBwYXNzaWVydCwKdW5kIHNlbGJzdHZlcnN0YWVuZGxpY2ggZGVpbmUgcGVyc29lbmxpY2hlIEVudHNjaGVpZHVuZy4gRGVubm9jaCBsYWV1ZnQgZGFzLAp3YXMgZHUgc2Fnc3QsIGluIGRlciBLb25zZXF1ZW56IGRhcmF1ZiBoaW5hdXMsIGJlc3RpbW10ZW4gTWVuc2NoZW4gKGF1cyB3aWUKZ3V0IG5hY2h2b2xsemllaGJhcmVuIEdydWVuZGVuIGF1Y2ggaW1tZXIpIGRhcyBSZWNodCBhdWYgTGViZW4gYWJ6dWVya2VubmVuLgpVbmQgYnJpbmd0IG1pdCBzaWNoLCBkYXNzIGR1cmNoIGRpZXNlIEVpbnN0ZWxsdW5nIGF1Y2ggYW5kZXJlIGltIEVybnN0ZmFsbApuaWNodCBnZXJldHRldCB3ZXJkZW4ga29lbm5lbi4gQXVjaCBBZXJ6dGUgZHVlcmZlbiBiZWkgaWhyZXIgUGZsaWNodCB6dXIKSGlsZmVsZWlzdHVuZyBrZWluZSBwZXJzb2VubGljaGVuIEdydWVuZGUvVWViZXJ6ZXVndW5nZW4gZ2VsdGVuIGxhc3Nlbi4gQmVpCmRlciBPcmdhbnNwZW5kZSBzb2xsdGUgZXMgbS5FLiBlaW5mYWNoIGRhcnVtIGdlaGVuLCBMZWJlbiB6dSByZXR0ZW4sIHdpZSBiZWkKamVkZXIgc2Nod2VyZW4gT3BlcmF0aW9uLCBuaWNodCB1bSBtb3JhbGlzY2hlIEZyYWdlbi4gV2VubiBtYW4gZGllCkVtcGZhZW5nZXIvUGF0aWVudGVuIG5hY2ggaWhyZW4gZXRoaXNjaGVuIFByaW56aXBpZW4gdW5kIFZlcmRpZW5zdGVuIHNvcnRpZXJlbgp3dWVyZGUuLi4gRGEgc29sbHRlIHNpY2ggbWFsIGplZGVyIHNlbGJlciBmcmFnZW4sIHdpZSBndXQgZXIgdW50ZXIgc29sY2hlbgpVbXN0YWVuZGVuIHdvaGwgbm9jaCB2ZXJzb3JndCB3dWVyZGUuCgpLZXNzYXMgMmNzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjE6MjA6NTMpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTUwNDg1NjIxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKRGllc2VyIFVudGVyc2NoaWVkIGlzdCBlaW4ganVyaXN0aXNjaGVyLCBrZWluIG1vcmFsaXNjaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIxOjIzOjEwKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTE1MDQ4NTc1NiByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2ClJpY2h0aWcuIERhcyBpc3QgamEgbWVpbiBQdW5rdC4gU29sbHRlIGRhcyBSZWNodCBlaW5lcyBNZW5zY2hlbiBhdWYgTGViZW4gYW4Kc3ViamVrdGl2ZSBFaW5zdGVsbHVuZ2VuIGdlYnVuZGVuIHNlaW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoSGlnaGxhbmRlciwgMTYuIEp1biAyMDA2LCAyMToyNToxMik6Cn4jISBybj1LZXNzYSBydD0xMTUwNDg1NzkwIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKRGVyIGhpcHBva3JhdGlzY2hlIEVpZCBoYXQga2VpbmUganVyaXN0aXNjaGUgQmluZHVuZyBBRkFJSy4KCkFuc29uc3RlbiBzdGltbWUgaWNoIEtlc3NhIHp1LgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjE6Mjg6MDQpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTUwNDg1OTQ4IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKRXMgZ2lidCBtb3JhbGlzY2hlIEdydW5kc2FldHplLCBkaWUgbWFuIGZ1ZXIgc28gYWxsZ2VtZWluZ3VlbHRpZyBlcmFjaHRldCBoYXQsCmRhc3MgbWFuIHNpZSBpbnMgR3J1bmRnZXNldHogYXVmZ2Vub21tZW4gaGF0LiBEaWUgd3VlcmRlIGljaCBuaWNodCBhbHMgJ251cicKamV3ZWlscyBwZXJzb2VubGljaGUgbW9yYWxpc2NoZSBFaW5zdGVsbHVuZyBrbGFzc2lmaXppZXJlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE2LiBKdW4gMjAwNiwgMjE6Mjg6NDkpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTUwNDg1NjIxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKTWVpbmVzIFdpc3NlbnMgbGVpc3RlbiBBZXJ6dGUgaGV1dHp1dGFnZSBhdWNoIG5pY2h0IG1laHIgZGVuIEVpZCBkZXMKSGlwcG9rcmF0ZXMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjE6Mjk6MjkpOgp+IyEgcm49S251cnBzIHJ0PTExNTA0ODYxMjkgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpCZXN0ZWh0IG5pY2h0IGRlbm5vY2ggZGllIFBmbGljaHQgenVyIEhpbGZlbGVpc3R1bmcgaW4gYmVzb25kZXJlbSBNYXNzZSBmdWVyCkFlcnp0ZT8gVm9yIHdlbGNoZW4gSW5zdGFuemVuIGF1Y2ggaW1tZXI/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIxOjQyOjA5KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTE1MDQ4NjcwMSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2ClNjaG9uIHJpY2h0aWcuIEdHLUFydGlrZWwgMSBrbGluZ3Qgb2huZWhpbiBlaGVyIG5hY2ggZnJvbW1lbSBXdW5zY2ggYWxzIG5hY2gKZWluZXIgYmVncnVlbmRldGVuIEZlc3RzdGVsbHVuZyBvZGVyIEdhcmFudGllLgoKSWNoIGxhc3NlIGRpciBqYSBkZWluZSBFaW5zdGVsbHVuZy4gTWVpbmUgaXN0IGVpbmZhY2ggZWluZSBhbmRlcmUsIGFiZXIgZGllCmhhYmUgaWNoIGphIHNjaG9uIGRhcmdlbGVndC4KQWJlciBtYWwgYWJnZXNlaGVuIGRhdm9uOiBrb2VubnRlc3QgZHUgZGlyIGRhbm4gdWViZXJoYXVwdCBlaW5lIEZvcm0gZGVyCk9yZ2Fuc3BlbmRlLU9yZ2FuaXNhdGlvbiB2b3JzdGVsbGVuLCBpbm5lcmhhbGIgZGVyZXIgZHUgenUgc28gZXR3YXMgYmVyZWl0CndhZXJzdD8gKE1hY2hiYXIsIG5hdHVlcmxpY2gsIG9obmUgdW5yZWFsaXN0aXNjaGVuIGJ1ZXJva3JhdGlzY2hlbiBBdWZ3YW5kKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIxOjQzOjU5KToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTE1MDQ4NTkxMiByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5hamEsIG5pY2h0IHVudGVyIGRlbSBOYW1lbiwgYWJlciBBZXJ6dGUgaGFiZW4gZWluZSBHYXJhbnRlbnBmbGljaHQsIHVuZCBkaWUKaXN0IGp1cmlzdGlzY2guICBEYXMgRXJnZWJuaXMgaXN0IGRhc3NlbGJlLCBlcyBrbGluZ3QgbnVyIG5pY2h0IHNvIHNjaG9lbgphbnRpay4KCk1haGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS251cnBzLCAxNi4gSnVuIDIwMDYsIDIxOjQ0OjA5KToKfiMhIHJuPUtlc3NhIHJ0PTExNTA0ODY5Mjkgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpBbHMgZGllIG1pciBiZWkgZGVyIE11c3RlcnVuZyBpbiBkaWUgVW50ZXJob3NlIHdvbGx0ZW4sIGhhYmUgaWNoIG1pY2ggYXVjaAplcmZvbGdyZWljaCBhdWYgQXJ0aWtlbCAxIGRlcyBHcnVuZGdlc2V0emVzIGJlcnVmZW4uIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIxOjU0OjM2KToKfiMhIHJuPUtudXJwcyBydD0xMTUwNDg3MDQ5IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKQmVpIGVpbmlnZW4gbWFnIGVzIGphIGVpbiBWRXJsdXN0IHNlaW4sIHdlbm4gc2llIHN0ZXJiZW4sIGFiZXIgYmVpIGFuZGVyZW4Kd2FlciBlcyBlaGVyIHZvbiBWb3J0ZWlsLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIxOjU2OjU4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4NzY3NiByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkRhbm4gbWFjaGVuIHdpciBkb2NoIGFtIGJlc3RlbiBkaWNoIHp1bSBWZXJ3YWx0ZXIgZGVyCkxlYmVuc2JlcmVjaHRpZ3VuZ3NyYW5nbGlzdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6MDA6MzQpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1MDQ4NzgxOCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5laW4sIGRhZnVlciBicmF1Y2ggbWFuIGVpbmUgZmFjaGxpY2gga29tcGV0ZW50ZSBLb21taXNzaW9uLCB2b24gbWluZGVzdGVucwozLTUgTGV1dGVuCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIyOjAxOjI4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4ODAzNCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CldvcmFuIG1hY2hzdCBkdSBkaWUgZmFjaGxpY2hlIEtvbXBldGVueiBmZXN0PyBTb3JyeSwgaWNoIGJpbiBnZXJhZGUgbmljaHQKc2ljaGVyLCBpbndpZXdlaXQgZHUgZGFzIGVybnN0IG1laW5zdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIyOjA0OjM0KToKfiMhIHJuPUtlc3NhIHJ0PTExNTA0ODgwODggcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgoiTnV0emVuIiBmdWVyIGRpZSBadWt1bmZ0LCBVZWJlcmxlYmVuc2NoYW5jZW4sIHZvbGxicmFjaHRlIExlaXN0dW5nZW4sCkxlYmVuc2xhdWYsIEZ1ZXJzcHJlY2hlcgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZWxseWJ1bmR5LCAxNi4gSnVuIDIwMDYsIDIyOjA2OjMyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4ODI3NCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5hamEuIHdlbm4gbWFuIGRpZSBBYnN0b3NzdW5nc3JlYWt0aW9uZW4gaW4gZGVuIEdyaWZmIGtyaWVndCwga2FubiBtYW4gamEgenVtCkJlaXNwaWVsIGF1Y2ggRmFsc2NocGFya2VyIGluIGRpZSBPcmdhbmJhbmsgc3RlY2tlbi4gSXN0IG5pY2h0IHZvbiBtaXIKYW5nZWRhY2h0LCB1ZWJyaWdlbnMsIHNvbmRlcm4gdm9uIExhcnJ5IE5pdmVuLCBudXIgbWFsIHNvIHdlZ2VuIGRlcwpDb3B5cmlnaHRzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIyOjA2OjQwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4ODI3NCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkRhcyBtZWluc3QgZHUgbmljaHQgZXJuc3QsIG5lPwpubgpubgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMjowNzozMik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODg0MDAgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpJY2ggZ2xhdWJlLCBlciBtZWludCBlcyB0YXRzYWVjaGxpY2ggZXJuc3QuIFBlY2ggZGFubiB3b2hsIHouQi4gZnVlciBMZXV0ZSwKZGllIGtlaW5lIGd1dGVuIEJlemllaHVuZ2VuIGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIyOjA4OjQwKToKfiMhIHJuPUtlc3NhIHJ0PTExNTA0ODg0NTIgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpNaXQgRnVlcnNwcmVjaGVyIHdhcmVuIGtlaW5lIEVpbnplbHBlcnNvbmVuIGdlbWVpbnQsIHNvbmRlcm4gZWluZSBNYXNzZSBhbgpMZXV0ZW4uLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6MDk6MzApOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDg4NTIwIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKREFTIGthbm4gZG9jaCB3aXJrbGljaCBuaWNodCBtZWhyIGRlaW4gRXJuc3Qgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoTWFoYXJldCwgMTYuIEp1biAyMDA2LCAyMjowOTozMik6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0ODg1MjAgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpLbGluZ3QgZnVlciBtaWNoIHNlaHIgbmFjaCBkZW4gVGhlb3JpZW4gdW5kIE1ldGhvZGVuIEFuZmFuZy9NaXR0ZSBkZXMgdm9yaWdlbgpKYWhyaHVuZGVydHMuICBQZnVpZGVpYmVsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZWxseWJ1bmR5LCAxNi4gSnVuIDIwMDYsIDIyOjA5OjM4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4ODUyMCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck1laW4gIFJlZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChDcm9mdCwgMTYuIEp1biAyMDA2LCAyMjoxMToxNyk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNTA0ODg1Nzggcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpBcnRpa2VsIGxvZXNjaGVuIGlzdCBhbGJlcm4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChBcmssIDE2LiBKdW4gMjAwNiwgMjI6MTE6MjkpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDg4Mjc0IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKT2ssIEhlcnIgSGl0bGVyLCBTaWUgYWxzIHVuc2VyIG5ldWVyIFJlaWNoc2thbnpsZXIgLi4uIGRhcyBpc3QgamEKc2VsYnN0dmVyc3RhZW5kbGljaCwgYmVpIGRlbSwgd2FzIFNpZSBzY2hvbiBmdWVyIHVucyBnZXRhbiBoYWJlbiwgZnJlaWxpY2gKZnJlaWxpY2ggLi4uIGRlciBrbGVpbmUgRWluc3RlaW4sIGRlciBtaXQgZGVyIDUgaW4gTWF0aGUsIGRlciBoYXQgbGVpZGVyIFBlY2gKZ2VoYWJ0LgpXb2hsIGtlaW5lbiBPcmdhbnNwZW5kZW5lcmhhbHRzYmVyZWNodGlndW5nc2F1c3dlaXMgaW4gR29sZCB2b24gc2VpbmVuIEVsdGVybgptaXRiZWtvbW1lbiwgc2Nob2VuIGJsb2VkLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoRGFya2xvciwgMTYuIEp1biAyMDA2LCAyMjoxMzozMyk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNTA0ODg1Nzggcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpOYWphLCBkYXMgbWFnIHNlaW4gOykgLSB1bmQgZGllIEZ1ZXJzcHJlY2hlciB3YXJuIGphIG51ciBtaXQgZGFiZWluLCBkYW1pdCBlcwo1IHNpbmQgXl4gdW5kIGljaCBzZWggZGFzIGVoZXIgYWxzIGVpbmUgRHlzdG9waWUsIGRlbm4gb2Z0IHdlcmRlbiBpbiBkZXIKR2VzY2hpY2h0ZSBhbHRlIE1ldGhvZGVuIHdpZWRlcmF1Zmdlbm9tbWVuLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMjoxNDoyMyk6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0ODg4MTMgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpEdSBoYXN0IGRpZXNlICdEeXN0b3BpZScgdm9yaGluIGZ1ZXIgd3VlbnNjaGVuc3dlcnQgZXJrbGFlcnQsIG9kZXIgaGFiIGljaCBkYQp3YXMgZmFsc2NoIHZlcnN0YW5kZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6MTY6NTUpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1MDQ4ODg2MyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CktpbmRlciB3ZXJkZW4gZGFiZWkgYWJlciBiZXZvcnp1Z3QsIC0gamUgYWVsdGVyLCBkZXN0byBzY2hsZWNodGVyIGRpZQpDaGFuY2VuLi4uCgpobW0sIG51bmphIGFuc2NoZWluZW5kIGhhYiBpY2ggbWljaCBtaXQgZWluaWdlbiByYWRpa2FsZW4gSWRlZW4sCmFuZ2VmcmV1bmRldC4uLiAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS251cnBzLCAxNi4gSnVuIDIwMDYsIDIyOjE3OjA3KToKfiMhIHJuPUFyayBydD0xMTUwNDg4Njg5IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKSWNoIGZyYWdlIG1pY2gsIG9iIGRhcyB0eXBpc2NoIERldXRzY2ggaXN0LCBqZWdsaWNoZXIgQXJ0IHZvbgp1dGlsaXRhcmlzdGlzY2hlciBFdGhpayBtaXQgR29kd2luJ3MgTGF3IHp1IGJlZ2VnbmVuLi4uCgpJY2ggZmluZCdzIGxlZ2l0aW0gZWluZW0gR2VuaWUgZWhlciBlaW4gT3JnYW4genUgZ2ViZW4sIHdlaWwgZGllIEdlc2VsbHNjaGFmdApkYXZvbiBtZWhyIHByb2ZpdGllcmVuIHdpcmQsIGFscyBlaW5lbSA5NyBqYWVocmlnZW4gRGViaWxlbi4gKEphLCBtYW4gYnJhdWNodAppbW1lciBkaWUgSG9semhhbW1lcnZlcmdsZWljaGUuLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6MTk6MjEpOgp+IyEgcm49S251cnBzIHJ0PTExNTA0ODkwMjcgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpFcyBnaW5nIG5pY2h0IHVtICJlaGVyIi4gVW5kIGVzIGdpbmcgbmljaHQgdW1zIEFsdGVyLCBqZWRlbmZhbGxzIG5pY2h0IGRlbgpoaWVyIERpc2t1dGllcmVuZGVuLiBTb25kZXJuIHVtIExlYmVuc2xhdWYsIGJpc2hlcmlnZSBMZWlzdHVuZ2VuLCBXZXJ0IGRlcwpCZXRyb2ZmZW5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS251cnBzLCAxNi4gSnVuIDIwMDYsIDIyOjIxOjU1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ4OTE2MSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ckdlc2V0enQgZGVuIEZhbGwsIGRhc3MgT3JnYW5lIE1hbmdlbHdhcmUgc2luZCAodW5kIGRhcmF1ZiBmdXNzdCBkb2NoIGRpZQpEaXNrdXNzaW9uKSBzaW5kIHNhZW10bGljaGUgS3JpdGVyaWVuLCBkaWUgZGllIE9yZ2FudmVyZ2FiZSBuaWNodCBhdXNsb3NlbgoiZWhlciItQWJ3YWVndW5nZW4/IFdlbm4gaWNoIEdlbmllIGR1cmNoIEJ1bmRlc2thbnpsZXIgZXJzZXR6ZSwgc2llaHN0IGR1IGRhbm4KZGllIEFuYWxvZ2llPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMjoyMjozMyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODkxNjEgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgooRGVyIEVpbmZhY2hoZWl0IGhhbGJlciBhdWYgZGVuIGxldHp0ZW4gQXJ0aWtlbCkKU29sY2hlIEhvbHpoYW1tZXJ2ZXJnbGVpY2hlIGhhYmVuIGZ1ZXIgdmllbGUgd29obCBldHdhcyBiZXN0ZWNoZW5kZXMgKGZ1ZXIKbWljaCBuaWNodCkuIFVtIHNvbGNoZSBGYWVsbGUgZ2VodCBlcyBhYmVyIG9obmVoaW4gc2VsdGVuc3QuIFdlbSBnaWJzdCBkdSBkYXMKT3JnYW46IGRlciBhbGxlaW5lcnppZWhlbmRlbiBNdXR0ZXIgdm9uIDUgS2luZGVybiBvZGVyIGRlbSBhdWZzdHJlYmVuZGVuCkNoZW1pa2VyPyBEYXMgaXN0IG0uRS4gZWluIHJlYWxpc3Rpc2NoZXJlciBBbnNhdHosIHp1IGhpbnRlcmZyYWdlbiwgb2IgZXMKdWViZXJoYXVwdCBlaW5lICdWZXJkaWVuc3QtUmFuZ2xpc3RlJyBnZWJlbiBzb2xsdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6MjM6MTkpOgp+IyEgcm49S251cnBzIHJ0PTExNTA0ODkzMTUgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpOZWluLCBlcyBnaW5nIGRhcnVtLCBvYiBtYW4gc2VpbmUgT3JnYW5lIHNwZW5kZW4gd2lsbC4gIFVuZCBvYiBtYW4gZGFzIG1hY2h0Cm9obmUgenUgd2lzc2VuLCB3ZXIgc2llIGtyaWVnZW4gd2lyZC4gIEVzIGdlaHQgbmljaHQgZGFydW0genUgZW50c2NoZWlkZW4sIHdlcgp2b24gendlaSBCZWR1ZXJmdGlnZW4gZWluIE9yZ2FuIGtyaWVndC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIzOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoRGFya2xvciwgMTYuIEp1biAyMDA2LCAyMjoyNDo1MSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODkzOTkgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpHZW5hdSBlcyBnZWh0IGRhcnVtLCB3ZXIgZXMgbmljaCBiZWtvbW1lbiBzb2xsdGUuIAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE2LiBKdW4gMjAwNiwgMjI6MjU6MjEpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1MDQ4OTM1MyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2ClVuc2VyZSBWb3JzdGVsbHVuZyBiZW1pc3N0IExldXRlIG5pY2h0IGRhbmFjaCwgd2FzIHNpZSBzaW5kLCBzb25kZXJuIHdhcyBzaWUKd2VyZGVuIGtvZW5uZW4uIFNvbnN0IGhhZXR0ZW4gd2lyIGRpZSBBYnRyZWlidW5nc2JlZGVua2VuIGdhciBuaWNodC4gV2VubiBkZXIKYXVmc3RyZWJlbmRlIENoZW1pa2VyIGRhcyBQb3RlbnRpYWwgaGF0LCBtZWhyIGFscyA1IExldXRlbiB6dSBlaW5lbSBiZXNzZXJlbgpMZWJlbiB6dSB2ZXJoZWxmZW4sIGlzdCBkaWUgdXRpbGl0YXJpc3Rpc2NoZSBBbndvcnQgZWluZmFjaDogUHJvIENoZW1pa2VyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIyOjI1OjQ5KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ4OTQ5MSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkljaCBoYWIgbm9jaCBrZWluZW4gRG9rdG9ydGl0ZWwsIGljaCBoYWIgbm9jaCBrZWluZSBIZWxkZW50YXRlbiB2ZXJicmFjaHQuIEJpbgppY2ggd3VlcmRpZyB3ZWl0ZXJ6dWxlYmVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIyOjI2OjMzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ4OTU0OSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkR1IGhhc3QgZWluIEtpbmQuIC0gRGFzIHZpZWxsZWljaHQgZGFzIFBvdGVudGlhbCBoYWV0dGUgXl4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6MjY6MzcpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNDg5NTQ5IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKQmVsZWdlIGRlaW4gUG90ZW50aWFsIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6MjY6NDkpOgp+IyEgcm49S251cnBzIHJ0PTExNTA0ODk1MjEgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpVbmQgZGllIEtpbmRlciB3ZXJkZW4gaW5zIEhlaW0gZ2VzdGVja3QgdW5kIHdlZ2VuIGRlcyBUb2RlcyBpaHJlciBNdXR0ZXIKbW9lZ2xpY2hlcndlaXNlIG1lc2NodWdnZSBvZGVyIGdhciBrcmltaW5lbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIyOjI3OjA5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ4OTYwOSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkhhISBJY2ggd3Vzc3RlIGVzIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6Mjc6MjMpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDg5NTkzIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKT2gsIHN0aW1tdCwgdW5kIGljaCBiaW4gYXVjaCBub2NoIGdlYmFlcmZhZWhpZy4gVWZmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIyOjI3OjUxKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ4OTYwOSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck51bmphLCBpbiBkaWVzZXIgR2VzZWxsc2NoYWZ0IGhpZXIgaXMgbmljaHRzIGF1c3p1c2NobGllc3Nlbi4uLiA6KAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE2LiBKdW4gMjAwNiwgMjI6Mjg6MTUpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNDg5NjA5IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKVHV0IG5pY2h0cyB6dXIgU2FjaGUsIGRhIGVzIHVtIGRpZSBOdXR6ZW5tYXhpbWllcnVuZyBnZWh0LiBQcm9ibGVtYXRpc2NoIHdhZXJlCm51ciwgd2VubiBkaWUgZnVlbmYga3JpbWluZWxsZW4gS2luZGVyIGRhcyBMZWJlbiBkZXMgVm9sa2VzIHNvCmJlZWludHJhZWNodGlnZW4sIGRhc3Mgc2llIGRlbiBwb3RlbnRpZWxsIHZvcmhhbmRlbmVuIE51dHplbiBkZXMgQ2hlbWlrZXJzCmF1ZndpZWdlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6Mjg6MjEpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDg5NjcxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKWmFlaGx0IGRpZSBGZXJ0aWdrZWl0IGluIGRlciBtdXR0ZXJzcHJhY2hsaWNoZW4gUmVjaHRzY2hyZWlidW5nIGF1Y2g/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIyOjI5OjE5KToKfiMhIHJuPUtlc3NhIHJ0PTExNTA0ODk3MDEgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpEYSBncmVpZnQgZGFubiBhYmVyIGF1Y2ggaXJnZW5kd2FubiBkZXIgUHVua3QgbWl0IGRlbSBSZWlzc2FjayBpbiBDaGluYSwgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI1OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoTWFoYXJldCwgMTYuIEp1biAyMDA2LCAyMjoyOToyOSk6Cn4jISBybj1LbnVycHMgcnQ9MTE1MDQ4OTY5NSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5hamEsIGltbWVyaGluIGhhYnQgSWhyIGRhcyBqZXR6dCBzbyB3ZWl0IGdlYnJhY2h0LCBkYXNzIGVzIGVoIGFic3VyZCBpc3QsCmRhcnVlYmVyIHp1IHJlZGVuLiAgRGVubiBkZWluZSByZWluZSBOdXR6ZW5tYXhpbWllcnVuZyBpc3QgZ3V0IGZ1ZXIKMTk4NC11bmQtQ28tQnVlY2hlciwgYWJlciBmdWVyIG1laHIgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtudXJwcywgMTYuIEp1biAyMDA2LCAyMjozMDo0OCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODk3Njkgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpKYSBmdWVyIDE5ODQtdW5kLUNvLUJ1ZWNoZXIgdW5kIGZ1ZXIgRXRoaWtkaXNrdXNzaW9uZW4uIFNvbGFuZ2UgZHUgbmljaHQKYmVyZWl0IGJpc3QsIGRpY2ggdm9tIGRyYW1hdGlzY2hlbiBFaW56ZWxmYWxsIHp1IGxvZXNlbiB1bmQgdWViZXIKYWxsZ2VtZWluZ3VlbHRpZ2UgS3JpdGVyaWVuIG5hY2h6dWRlbmtlbiwgZW5kZXQgZGllIERpc2t1c3Npb24gYmVpbSBuYWVjaHN0ZW4KIlN0ZWxsIERpciB2b3IsIGRlaW5lIE11dHRlciBpc3QgYmV0cm9mZmVuIi1CZWlzcGllbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI3OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoTWFoYXJldCwgMTYuIEp1biAyMDA2LCAyMjozMjo1NCk6Cn4jISBybj1LbnVycHMgcnQ9MTE1MDQ4OTg0OCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkljaCBiaW4gbmljaHQgYmVyZWl0LCBkYXJ1ZWJlciB6dSBkaXNrdXRpZXJlbiwgd2VpbCBkYXMgaGllciBnYXIgbmljaHQgZGFzClRoZW1hIHdhci4gTWlyIGlzdCBlcyBlaCB3dXJzY2h0LCB3YXMgbWl0IG1laW5lbiBPcmdhbmVuIHBhc3NpZXJ0LCB3ZW5uIGljaAp0b3QgYmluLiBJY2ggYmluIGRhbm4gbmFlbWxpY2ggdG90LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjY6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChEYXJrbG9yLCAxNi4gSnVuIDIwMDYsIDIyOjMzOjI2KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ4OTc2OSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CldhcyBoYXQgZGllIFNwcmFjaGUgamV0enQgZGFtaXQgenUgdHVuPwoKTWVpbmUgUmVkZSBEeXN0b3BpZW4gYnp3LiBVdG9waWVuIC0gd2lyIHJlZGVuIGhpZXIgdWViZXIgcmFkaWthbGUgSWRlZW4sIHVuZAppY2ggZGVua2UgZXMgbXVlc3N0ZSBzY2hvbiB2aWVsIHBhc3NpZXJlbiwgZGFtaXQgc2ljaCBlaW4gTWFzc2UgZnVlciAvIG9kZXIKZGFubihhY2gpIGF1Y2ggZ2VnZW4gc28gZXR3YXMgZW50c2NoZWlkZXQKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoQXJrLCAxNi4gSnVuIDIwMDYsIDIyOjM0OjEwKToKfiMhIHJuPUtudXJwcyBydD0xMTUwNDg5MDI3IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKU29zbywgd2VubiBkZXIgZWluc3QgZ2VuaWFsZSBTY2hvZXBmZXIgZWluZXIgbmljaHQgaG9mZmFlaGlnZW4gS3JhbmtoZWl0CmFuaGVpbWZhZWxsdCwgdmVyd2lya3QgZXIgc2VpbiAiUmVjaHQiPyBFaXdlaSAuLi4KRGEgYmluIGljaCBqYSBmcm9oLCBuaWNodCB2b24gZXVjaCByZWdpZXJ0IHp1IHdlcmRlbiA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEFyaywgMTYuIEp1biAyMDA2LCAyMjozNTozOCk6Cn4jISBybj1LZXNzYSBydD0xMTUwNDg5MzUzIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKR2lidCBlcyBuaWNodC4gRGVyIE1lbnNjaCBoYXQgc2ljaCBzY2hvbiBpbW1lciBhbHMgdW5mYWVoaWcgenVtIFVydGVpbCB1ZWJlcgpkaWUgWnVrdW5mdCBlcndpZXNlbiwgbnVyIGFscyBBbmFseXN0IGRlciBWZXJnYW5nZW5oZWl0LCBkYSBzY2h3aW5ndCBzaWNoCmplZGVyIERvZWRlbCAoc29ycnkgOi0pICkgYXVmLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6MzY6MDApOgp+IyEgcm49QXJrIHJ0PTExNTA0OTAwNTAgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpFdHdhcyBvZmYtdG9waWM6IERhcyBlcmlubmVydCBtaWNoIGFuIG1laW5lIEV4LVNjaHdpZWdlcm11dHRlci4gJ0RlciBXYWduZXIKaGF0IGphIHdvaGwgZ3V0ZSBNdXNpayBnZXNjaHJpZWJlbiwgYWJlciBhbHMgTWVuc2NoIG11c3MgZXIgdW5hbmdlbmVobSBnZXdlc2VuCnNlaW4uIERhIGhvZXIgaWNoIG1pciBkYXMgbmljaHQgYW4uJwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChSb25kYSwgMTYuIEp1biAyMDA2LCAyMjozNjoxNik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODk5NzQgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpHZW5hdSBkZXIgQW5zYXR6LCBkYXNzIGVzIG1pciByZWxhdGl2IHd1cnNjaHQgc2VpbiBrYW5uLCB3YXMgbWl0IG1laW5lbgpPcmdhbmVuIG5hY2ggbWVpbmVtIFRvZCBwYXNzaWVydCwgbWFjaHQgZGVuIFNpbm4gZGVyIE9yZ2Fuc3BlbmRlIHNpY2h0YmFyLgpOYWNoIG1laW5lbSBHbGF1YmVuIGlzdHMgamVkZW5mYWxscyBzbywgZGFzcyBpY2ggZGllIE9yZ2FuZSBzcGFldGVyIG5pY2h0IG1laHIKYnJhdWNoZS4gRWdhbCBvYiBIaW1tZWwsIEhvZWxsZSBvZGVyIG5peC4gU2lubnZvbGwgbnVyOiBNaXQgZGVuIEFuZ2Vob2VyaWdlbgpkYXJ1ZWJlciByZWRlbiwgb2IgZGllIGRhbWl0IGtsYXJrb21tZW4gd3VlcmRlbi4KClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yODogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtudXJwcywgMTYuIEp1biAyMDA2LCAyMjozNzoxNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0ODk5NzQgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpXZW5uIGVzIGRpciB3dXJzY2h0IGlzdCwgbWFnc3QgZHUgbWlyIGRhbm4gZGllIFZlcndlcnR1bmdzcmVjaHRlIGRlaW5lciBPcmdhbmUKdWViZXJzY2hyZWliZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEFyaywgMTYuIEp1biAyMDA2LCAyMjozNzoyMCk6Cn4jISBybj1LbnVycHMgcnQ9MTE1MDQ4OTUyMSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5hIGRhbm4gZmFsbGVuIHNjaG9ubWFsIHZpZWxlIHBvdGVudGllbGxlIEVtcGZhZW5nZXIgd2VnOiBLaW5kZXIgb2huZQpBdXNiaWxkdW5nIC4uLiBkZW5uIGRhIGlzdCBlaW4gQWJzdHVyeiBpbiBkaWUgTmljaHRlbXBmYW5nc2JlcmVjaHRpZ3Rlbmxpc3RlCm5vY2ggbW9lZ2xpY2guIEd1dCBzby4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6Mzc6NDYpOgp+IyEgcm49S251cnBzIHJ0PTExNTA0OTAyMzQgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgp3dWVyZGUgaWNoLCB3ZW5uIGljaCBkZW5uIHZlcmZ1ZWd1bmdzYmVyZWNodGlndCB3YWVyZSA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzA6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChHbG9pbnNvbiwgMTYuIEp1biAyMDA2LCAyMjozODoyNik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0OTAyNjYgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpHaWx0IGRhcyBkYW5uIGdnZi4gZGVyIGdlc2V0emxpY2hlIFBmbGljaHR0ZWlsIGJlaW0gRXJiZW4gZGVyIE9yZ2FuZT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEtlc3NhLCAxNi4gSnVuIDIwMDYsIDIyOjM4OjU0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNTA0OTAzMDYgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpJZ2l0dCwgR2xvaW5zb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKFJvbmRhLCAxNi4gSnVuIDIwMDYsIDIyOjM5OjI2KToKfiMhIHJuPUtudXJwcyBydD0xMTUwNDkwMjM0IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKS251cnBzLCBpY2ggaGFiIGRhcyBzY2hvbiB1bnRlcnNjaHJpZWJlbi4gTnVyIGhvZmZlIGljaCBmdWVyIG1pY2gsIGRhc3MgZGVyCkZhbGwgbmljaHQgc28gc2NobmVsbCBlaW50cml0dCAtIHVuZCBmdWVyIERpY2ggdW5kIGplZGVuIGFuZGVyZW4sIG5pY2h0IGRhcmF1Zgphbmdld2llc2VuIHp1IHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yOTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6NDE6NDgpOgp+IyEgcm49Um9uZGEgcnQ9MTE1MDQ5MDE3NiByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CktsYXIsIGlzIGVzIGVpbmVtIG5hY2ggZGVtIFRvciBlZ2FsIHdhcyBtaXQgZWluZW0gdW5kIHNlaW5lbiBTYWNoZW4gcGFzc2llcnQsCmFiZXIgc29sYW5nZSBtYW4gbGVidCBrdWVtbWVydCBlcyBlaW5lbiBtZWlzdCBzY2hvbiwgdW5kIGRhcyBXaXNzZW4gZGFzIGVzCmtlaW5lbiBVbnRlcnNjaGllZCBtYWNoZW4gc29sbCwgd2VyIGV0d2FzIGJla29tbWVuIHNvbGwsIHdlciBkYXMgcmVjaHQgaGF0CndlaXRlcnp1bGViZW4sIGRhbm4gbWFjaHQgZXMgYXVjaCBrZWluZW4gVW50ZXJzY2hpZWQgd2VubiBrZWluZXIgZXMgYmVrb21tdAp1bmQgZXMgaXN0IChmYXN0IGF1Y2gpIGdlcmVjaHRlci4gICAKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoSGlnaGxhbmRlciwgMTYuIEp1biAyMDA2LCAyMjo0MjowMSk6Cn4jISBybj1Sb25kYSBydD0xMTUwNDkwMzY2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKSWNoIGhpZWx0ZSBkYXMgVm9yZW50aGFsdGVuIGVpbmVzIE9yZ2FuZXMgZnVlciB6dXRpZWZzdCB1bm1vcmFsaXNjaC4gRWdhbCBmdWVyCndlbi4KQWJnZXNlaGVuIGRhdm9uIGVpbmUgRnJhZ2UgLSB3aXJkIGRpZSBGcmFnZSBkZXMgJ1dlciBrcmllZ3QgZGFzIE9yZ2FuJwpuaWNodCBhbGxlaW4gYXVmZ3J1bmQgZGVyIFZlcnRyYWVnbGljaGtlaXQgaW4gVmVyYmluZHVuZyBtaXQgRHJpbmdsaWNoa2VpdAplbnRzY2hpZWRlbj8KRWJlbiBkYW1pdCBrZWluZSBwZXJzb2VubGljaGVuIFZvcmxpZWJlbiBlaW5lIFJvbGxlIHNwaWVsZW4/CgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMwOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoTWFoYXJldCwgMTYuIEp1biAyMDA2LCAyMjo0MzoyMik6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0OTA1MDggcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpCb2FoLCBpc3QgZGFzIGVpbmUgZWdvaXN0aXNjaGUgRWluc3RlbGx1bmcuICJXZW5uIGljaCBuaWNodCB3ZWlzcywgd2VyIGVzCmtyaWVndCwgc29sbCBlcyBoYWx0IGtlaW5lciBrcmllZ2VuLiIgIFdhcyBpc3QgZGFyYW4gYml0dGUgZ2VyZWNodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoR2xvaW5zb24sIDE2LiBKdW4gMjAwNiwgMjI6NDM6MjQpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTUwNDkwNTIxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKTWVociBnZW5ldGlzY2ggbWFpbnB1bGllcnRlIFNjaHdlaW5lIGJyYXVjaHQgZGFzIExhbmQuIERpZSB0cmFnZW4gbmFlbWxpY2gKa2VpbmUgT3JnYW5zcGVuZGVhdXN3ZWlzZS4gTm9jaCBuaWNodC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEFyaywgMTYuIEp1biAyMDA2LCAyMjo0NTo0NCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0OTA2MDIgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpEYXMgd2FlcmUgbnVuIGVpbmUgdG9sbGUgVm9ybGFnZSB1ZWJlciBkaWUgbmV1bGljaGUgRGlza3Vzc2lvbiB1ZWJlcgpNb25vcG9saXNtdXMgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzI6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIyOjQ1OjU4KToKfiMhIHJuPUFyayBydD0xMTUwNDkwNzQ0IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKOmtpY2hlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6NDY6MzYpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNDkwNjAyIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKV2FzIGlzIGRhcmFuLCBnZXJlY2h0IHdlbm4gZXMgZWluICJUYWV0ZXIiLCBiZWtvbW10IHVuZCBkYXMgIk9wZmVyIiBkZXN3ZWdlbgp2ZXJyZWNrdD8gCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6NDc6MDQpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDkwNzk2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKV2VpbCBkdSBkYWR1cmNoIGF1Y2ggZGVtIE9wZmVyIGRpZSBDaGFuY2UgbmltbXN0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6NDc6MzYpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTUwNDkwNTIxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKU28gaXN0IGVzIChtLkUuIHp1bSBHbHVlY2spLiBEaWUgRGlza3Vzc2lvbiBkcmVodCBzaWNoIGdlcmFkZSBkYXJ1bSwgb2IgZXMgc28Kc2VpbiBzb2xsdGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6NDg6NDYpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNDkwODI0IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKREEgYmluIGljaCBsaWViZXIgZGVyIEJ1cnNjaGUgZGVyIHNhZ3QsIGJlc3RyYWYgZGVuIFRhZXRlciwgZXJsb2VzZSBkYXMgT3BmZXIuCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEFyaywgMTYuIEp1biAyMDA2LCAyMjo0OTowNik6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0OTA3OTYgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpJbnRlcmVzc2llcnQgZGVuIEh1bWFuaXN0ZW4gbmljaHQuIElyZ2VuZHdhcyBpc3QgYXVjaCBhbiBEaXIgZmF1bCAuLi4gdW5kIHNlaQplcyBudXIgZGllIEVpbnN0ZWxsdW5nLiBEYW1pdCBiaXN0IER1IGRhbm4gc2Nob25tYWwgbmljaHRiZXJlY2h0aWd0IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6NDk6MTYpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDkwOTI2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKSmV0enQga29lbm50ZW4gd2lyIGFuZmFuZ2VuLCB1ZWJlciBkZW4gU2lubiBkZXIgVG9kZXNzdHJhZmUgenUgZGlza3V0aWVyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKE1haGFyZXQsIDE2LiBKdW4gMjAwNiwgMjI6NDk6NDQpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDkwOTI2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKQWhhLiBVbmQgaWNoIGRhY2h0ZSwgR290dCB3YWVyZSBlaCB1bnN0ZXJibGljaCBvZGVyIHdlbmlnc3RlbnMgb3JnYW5sb3MuIERhYmVpCm11ZGRldCBlciBoaWVyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE2LiBKdW4gMjAwNiwgMjI6NTA6MzEpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDkwOTI2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKSWNoIHNldHplIG1laW5lIExlYmVyIGZ1ZXIgUmVeMTExMTExLF5XXldeV15XXldrZWluIFRleHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoSGlnaGxhbmRlciwgMTYuIEp1biAyMDA2LCAyMjo1MTozMSk6Cn4jISBybj1LZXNzYSBydD0xMTUwNDkwODU2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKTmVpbiwgbWVpbmVyIE1laW51bmcgbmFjaC4gV28gc2luZCBkaWUgR3Jlbnplbj8KQmVpIGRlbiBzY2hvbiBlcndhZWhudGVuIENEVS1XYWVobGVybj8gQmVpIERpZWJlbj8gQmVpIGFsbGVtLAp3YXMgbm9jaCBuaWNodCBnZW1vcmRldCBoYXQ/CkRpZXNlciBBbnNhdHogaXN0IG1pciBzb3dhcyB2b24genV3aWRlciwgZGFzIGthbm4gaWNoIGdhciBuaWNodCBzYWdlbi4KRGFzIGxpZWd0IGFuIG1laW5lciBFaW5zdGVsbHVuZywgZGFzcyBtYW4ga2VpbmVuIE1lbnNjaGVuCnRvZXRlbiBzb2xsdGUgb2RlciBpaG0gZWluZSBsZWJlbnN3aWNodGlnZSBCZWhhbmRsdW5nIHZlcndlaWdlcm4gc29sbHRlCihhbHMgRW50c2NoZWlkdW5nIGRlcyBCZWhhbmRlbG5kZW4sIGJpdHRlIGpldHp0IG5pY2h0IG1pdCBTdGVyYmVoaWxmZS0KRGlza3Vzc2lvbiBhbmZhbmdlbikuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMzOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjI6NTI6MjUpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTUwNDkxMDkxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKVW50ZXJzY2hyaWViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjI6NTg6NDkpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMTUwNDkxMDkxIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKRGllIEdyZW56ZSBpcyBkb3J0IHdvIGRpZSBHZXNlbGxzY2hhZnQgc2llIHppZWh0LCBvZGVyIGJlc3NlciBzaWUgZ2V6b2dlbiBoYXQuCkltIEVuZGVmZmVrdCBtdXNzIG1hbiBtaXQgZGVuIEdyZW56ZW4gbGViZW4sIGFiZXIgc29sYW5nZSBub2NoIGplZGVyIGZ1ZXIgc2ljaAplbnRzY2hlaWRlbiBrYW5uLCBrYW5uIG1hbiB1ZWJlciBzb3dhcyBub2NoIGd1dCBkaXNrdXRpZXJlbi4gOykKCk1pciBpcyB6d2FyIG5pY2gga2xhciB3YXJ1bSwgYWJlciBpY2ggZWluZSBBdmVyc2lvbiBnZWdlbiBkaWUgR2xlaWNobWFjaGVyZWkKZW50d2lja2VsdC4gRWxpdGVuIGtvZW5uZW4gZ3V0IHNlaW4sIHdlbm4gcyBkZW5uIGRpZSByaWNodGlnZW4gc2luZC4gKFVuZCBtaXIKaXMgc2Nob24gYmV3dXNzdCwgZGFzIGljaCBiZWkgYWxsIGRlbSBuaWNoIHNlaHIgZ3V0IGFic2NobmVpZGVuIHd1ZXJkZSwgYWJlcgppY2ggZGVua2UsIGRhc3MgaWNoIGRhbWl0IGxlYmVuIGtvZW5udGUgLSBiencuIG5pY2h0LiA7KSAKCkRBcmtsb3IuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNDogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEdsb2luc29uLCAxNi4gSnVuIDIwMDYsIDIyOjU5OjMxKToKfiMhIHJuPUtlc3NhIHJ0PTExNTA0OTExNDUgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpJY2ggZmluZGUgZGVpbmUgTGViZXIgZ2VyYWRlIGxlYmVuc3dpY2h0aWcgZnVlciBtaWNoIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIzOjAwOjMzKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ5MTUyOSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CldvIGhhdCBkZW5uIGRpZSBHZXNlbGxzY2hhZnQgZGllIEdyZW56ZW4gZ2V6b2dlbj8KVW5kIHdhcyBrYW5uIGRpZXNiZXp1ZWdsaWNoIGplZGVyIGZ1ZXIgc2ljaCBlbnRzY2hlaWRlbj8gIERvY2ggbnVyIGRhcyBvYiwKYWJlciBuaWNodCBkYXMgYW4gd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMzowMTowNyk6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0OTE1Mjkgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpKYSwgRWxpdGVuIGtvZW5uZW4gaWhyZW4gTnV0emVuIGhhYmVuLCB1bmQgZXMgZ2lidCBzaWUgc293aWVzbywgYXVjaCB3ZW5uIG1hbgpzaWUgd2VnenVyZWRlbiB2ZXJzdWNodC4gRnVlciBtaWNoIGhvZXJ0IGVzIGFiZXIgZGEgYXVmLCB3byBtYW4gZGllClp1Z2Vob2VyaWdrZWl0IHp1IGVpbmVyIEVsaXRlIHp1bSBLcml0ZXJpdW0gZnVlciBMZWJlbnNiZXJlY2h0aWd1bmcgbWFjaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEdsb2luc29uLCAxNi4gSnVuIDIwMDYsIDIzOjAyOjA1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDQ5MTYzMyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5hamEsIGRpZSBHZXNlbGxzY2hhZnQgaGF0IGVpbiBQcmluemlwIGRlciAiTGlzdGVuZWxpdGVuIiB1bmQgZGVyCiJLb21wYXRpYmlsaXRhZXRzZWxpdGVuIiBhdXNlcmtvcmVuLiBEYXMga2FubiBEYXJrbG9yIGphIHN0aW5rZW4sIHdlaWwgZXMgZGEKa2VpbmVuIFBsYXR6IGZ1ZXIgIkdlbGRlbGl0ZW4iIG9kZXIgIklkaW90ZW5lbGl0ZW4iIGdpYnQsIGFiZXIgbGViZW4ga2FubiBlcgpzY2hvbiBkYW1pdCAuLi4gc28gdmVyc3RlaCBpY2ggaWhuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM0OiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoQXJrLCAxNi4gSnVuIDIwMDYsIDIzOjAzOjE1KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ5MTUyOSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkVsaXRlbiBoYWJlbiBkaWUgVGVuZGVueiwgZGllIE1hY2h0IGF1ZiBzaWNoIHp1IGJlc2NocmFlbmtlbiAuLi4gdm9lbGxpZwpsb2dpc2NoLCBrYW5uIGFiZXIgbmljaHQgZ2V3b2xsdCBzZWluLiBVbmQgd2VpbCBlaW4gImJsb2VkZXIiIEdydW5kc2F0eiBkZXMKbWVuc2NobGljaGVuIFp1c2FtbWVubGViZW5zIGlyZ2VuZHdhbm4gbWFsIGFscyAiamVkZXIgTWVuc2NoIGlzdCBnbGVpY2giCmJlc2NocmllYmVuIHd1cmRlLCBnZWZhZWxsdCBtaXIgZGFzLiBXaXIgcmljaHRlbiB1ZWJlciBVbnJlY2h0IC4uLiBhYmVyIHdlcgp3dWVyZGUgZGFubiBkaWUgUmljaHRlciBtYWwgenVyIFJlY2hlbnNjaGFmdCB6aWVoZW4/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzU6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChHbG9pbnNvbiwgMTYuIEp1biAyMDA2LCAyMzowNDowNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNTA0OTE2MzMgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpBY2hzbywgZGFzcyBCYWVuZGVyIHVuZCBTZWhuZW4gZWhlciBTcG9ydGVsaXRlbiBiZWkgZGVyIFRyYW5zcGxhbnRhdGlvbgp2b3JiZWhhbHRlbiBzaW5kIGZpbmRlIGljaCBuYXR1ZXJsaWNoIGRvb2YgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNjogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjM6MTk6MjApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1MDQ5MTcyNSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkFoIHdpZSBndXQsIGluIG1laW5lciAiVXRvcGllIiBHZWxkIGthdW0gZWluZSBSb2xsZSBzcGllbHQuIDspIChzb25kZXJuIGVoZXIKTGVpc3R1bmcsIGZ1ZXIgZGllIEdlc2VsbHNjaGFmdCwgZGllIFp1a3VuZnQgKCspLCAgZGVuIEZvcnRiZXN0YW5kIGRlcgpNZW5zY2hoZWl0LCBhdWNoIHdlbm4gaWNoIG1hbmNobWFsIGRlbmtlIGRhc3MgZGFzIHZpZWxsZWljaHQgbmljaCB3aXJrbGljaApiZXNvbmRlcnMgZXJzdHJlYmVuc3dlcnQgaXMuLi4pICh2aWVsbGVpY2h0IHNvbGx0IGljaCBkaWUgSWRlZW4gIChpcmdlbmR3YW5uCm1hbCkgenUgIlBhcGllciIgYnJpbmdlbiwgZGFtaXQgbWFuIHNpZSB3ZW5uIG1hbiBtYWcgaW4gZGVyIExVZnQgemVyZmV0emVuCmthbm4uIC0gIkRpZSBMb3JhbmlzY2hlIFV0b3BpZSIgOykgKQoKQWJlciBtYW4gaGF0IGltbWVyaGluIGRpZSBXYWhsIG9iLCB1bmQgaWNoIGRlbmtlIHdlbm4gbWFuIGF1Y2ggYmVzdGltbWVuCmtvZW5udGUgYW4gd2VuIGJ6dy4gYW4gd2VuIGF1ZiBrZWluZW4gRmFsbCBnYWViZSBlcyBzZWhyIHZpZWwgbWVociBTcGVuZGVyLgoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzc6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChNYWhhcmV0LCAxNi4gSnVuIDIwMDYsIDIzOjIwOjI4KToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ5Mjc2MCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck5lbm4gZXMgZG9jaCAiTWVpbiBLYW1wZiIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEdsb2luc29uLCAxNi4gSnVuIDIwMDYsIDIzOjIyOjUwKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ5Mjc2MCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CldpZSBtaXNzdCBkdSBkaWUgTGVpc3R1bmdzZmFlaGlna2VpdD8gSW4gUXVhdGxvcz8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zODogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjM6MjM6MzQpOgp+IyEgcm49TWFoYXJldCBydD0xMTUwNDkyODI4IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKTkVJTiEgLSBJY2gga2FlbXBmZSBkb2NoIG5pY2gsIHVuZCBpY2ggaGFiIGVpZ2VudGxpY2ggYXVjaCBuaWNoIHZvciBpcmdlbmR3YXMKaW4gZGllc2UgUmljaHR1bmcgenUgdHVuLCBkYWZ1ZXIgYmluIGljaCB2aWVsIHp1IGJlcXVlbSAgLSBBdXNzZXJkZW0gaXMgZGVyClRpdGVsIGRvY2ggYWxsZW0gQW5zY2hlaW4gc2Nob24gdmVyZ2ViZW4uIDspCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zNzogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEFyaywgMTYuIEp1biAyMDA2LCAyMzoyNDoxMCk6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0OTI3NjAgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpFaW4gcHJha3Rpc2NoZXIgSGlud2VpczogImFsbGUgTWVuc2NoZW4gc2luZCBnbGVpY2giIGlzdCBpbiBlaW5lbSBkZXJhcnRpZ2VuCk5vdGZhbGwgdW5nbGVpY2ggemllbGZ1ZWhyZW5kZXIgZnVlciBlaW5lIGVyZm9sZ3JlaWNoZSBUcmFuc3BsYW50YXRpb24gYWxzCmVpbmUga29tcGxpemllcnRlIEFuYWx5c2UgZGVyIFp1a3VuZnQgZGVyIE51bW1lciAxIGF1ZiBkZXIKRW1wZmFuZ3NiZXJlY2h0aWd0ZW5saXN0ZSwgZGllIG5hdHVlcmxpY2ggYnJhbmRha3R1ZWxsIGdlaGFsdGVuIHdlcmRlbiBtdXNzCi4uLiBkZXIgRW1wZmFlbmdlciBrb2VubnRlIGphIGluIGRlciBMYWdlIHNlaW4sIHNpY2ggbWl0dGxlcndlaWxlIGVpbmVuIFN1ZmYKYW5nZWxhZWNoZWx0IHp1IGhhYmVuLCBtaXQgZGVtIGVyIGRhbm4gdW5zY2h1bGRpZ2UgdWViZXJmYWVocnQgdW5kIHNvIHdlaXRlcgp1bmQgc28gZm9ydC4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEdsb2luc29uLCAxNi4gSnVuIDIwMDYsIDIzOjI0OjIyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE1MDQ5MzAxNCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkFjaCwgZHUgbXVzc3QgamEgbnVyIGJlc29uZGVycyBsZWlzdHVuZ3NmYWVoaWdlIExldXRlIGZ1ZXIgZGljaCBrYWVtcGZlbgpsYXNzZW4uIEdpYiBpaG5lbiBlaW5mYWNoIGVpbmUgVmlzaW9uIHVuZCBlaW5lIFJpY2h0dW5nIC4uLiB1bmQgbm9jaCBlaW4gcGFhcgpuaWNodGxlaXN0dW5nc2ZhZWhpZ2UgRXhlbXBsYXJlIHp1bSB1ZWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKERhcmtsb3IsIDE2LiBKdW4gMjAwNiwgMjM6Mjg6MzIpOgp+IyEgcm49RGFya2xvciBydD0xMTUwNDkzMDE0IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKaG1tIGludGVyZXNzYW50ZSBJZGVlIC0gd2FzIHNpbmQgUXVhdGxvcz8gOykgdW5kIGljaCBoYWIgd2FzIHZvbgpMZWlzdHVuZ3NmYWVoaWdrZWl0IGdlc2NocmllYmVuPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzg6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLZXNzYSwgMTYuIEp1biAyMDA2LCAyMzozMToxOSk6Cn4jISBybj1BcmsgcnQ9MTE1MDQ5MzA1MCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkRhcyB3dWVyZGUgYWJlciBlaW5lIE1lbmdlIEFyYmVpdHNwbGFldHplIHNjaGFmZmVuIHVuZCBkYW1pdCB3ZWl0ZXJlIEtyaXRlcmllbgp6dXIgTGVpc3R1bmdzZmFlaGlna2VpdCBicmluZ2VuLiBEYXNzIGRpZSBUcmFuc3BsYW50YXRpb25lbiBkYW5uIG5pY2h0IG1laHIKcGFzc2llcmVuLCBpbnRlcmVzc2llcnQgc29sYW5nZSBuaWNodCwgd2llIG5vY2ggZ2VudWcgTGV1dGUgZHJhdWYgaG9mZmVuLAplaW5lbiBQbGF0eiBvYmVuIGluIGRlciBMaXN0ZSB6dSBlcmhhc2NoZW4gdW5kIGltbWVyIG1laHIgbGVpc3RlbiB1bmQgbGVpc3Rlbgp1bmQgbGVpc3Rlbi4uLiBkYW5uIGVydWVicmlnZW4gc2ljaCBkaWUgVHJhbnNwbGFudGF0aW9uZW4gZnVlciBkaWUKVWJlcmxlaXN0dW5nc3RyYWVnZXIsIHdlaWwgc2llIGxvY2tlciBkdXJjaCBlaW5lIE1hc3NlIGFuIG5pY2h0IGdhbnogc28gdG9sbGVuCkxlaXN0dW5nc3RyYWVnZXJuIGVyc2V0enQgd2VyZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDA6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChHbG9pbnNvbiwgMTYuIEp1biAyMDA2LCAyMzozMToyMSk6Cn4jISBybj1EYXJrbG9yIHJ0PTExNTA0OTMzMTIgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgo+IHdpZSBndXQsIFtkYXNzXSBpbiBtZWluZXIgIlV0b3BpZSIgR2VsZCBrYXVtIGVpbmUgUm9sbGUgc3BpZWx0LiA7KSAoc29uZGVybgo+IGVoZXIgTGVpc3R1bmcsIGZ1ZXIgZGllIEdlc2VsbHNjaGFmdCwgZGllIFp1a3VuZnQgKCspIC4uLgoKTGVpc3R1bmcgZXJicmluZ3QgbWFuLCB3ZW5uIG1hbiBsZWlzdHVuZ3NmYWVoaWcgaXN0LiBTb3p1c2FnZW4gZmFlaGlnIHp1cgpMZWlzdHVuZy4gVW5kIGplIGFyaV5XYmVzc2VyIGRlciBMZWlzdHVuZ3NuYWNod2VpcyBUdXJibyAzMDAwIChUTSkgYXVzZmFlbGx0LApkZXN0byBiZXNzZXIsIG5pY2h0PwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQxOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE2LiBKdW4gMjAwNiwgMjM6MzY6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1MDQ5MzQ4MSByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CihXZWlzcyBuaWNodCBtZWhyLCB3ZWxjaGVyIEFydGlrZWwgZXMgd2FyLCBhdWYgZGVuIGljaCB2ZXJzcGFldGV0IGFudHdvcnRlLAp2b24gQXJrIGdsYXViZSBpY2gpCkVsaXRlbiB0ZW5kaWVyZW4gZGF6dSwgaWhyZSBHZXNldHplIHNlbGJlciB6dSBzY2hyZWliZW4uIFNvIGF1Y2ggZWluZQonTGVpc3R1bmdzZWxpdGUnLiBTb2xjaGUgR2VzZXR6ZSBnbGVpY2h6dXNldHplbiBtaXQgZGVtIEJlc3RlbiBmdWVyIGRpZQpNZW5zY2hoZWl0IChkaWVzIGpldHp0IGFuIERhcmtsb3IpLCBmaW5kZSBpY2ggaW4gQW5iZXRyYWNodCBkZXIgV2VsdGdlc2NoaWNodGUKZG9jaCBhcmcgZ2V3YWd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDI6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChBcmssIDE2LiBKdW4gMjAwNiwgMjM6NDE6MDMpOgp+IyEgcm49S2Vzc2EgcnQ9MTE1MDQ5MzgxMyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkRhIGhpbGZ0IG51ciBlaW5zLCBkYXJhdWYgd2FydGVuLCBiaXMgZWluZXIgZGVyCkVsaXRlb3JnYW5iZXp1Z3NsaXN0ZW5iZXJlY2h0aWd0ZW5lcnN0ZW4gZW5kbGljaCBzZWluZSBMZWlzdHVuZyBkdXJjaCBkYXMKWnVlY2h0ZW4gdW5kL29kZXIgQ2xvbmVuIHZvbiBPcmdhbmVuIHVudGVyIEJld2VpcyBzdGVsbHQgLi4uIHVuZCBkYXJhdWZoaW4Kc29mb3J0IHNlaW5lbiBQbGF0eiBmcmVpZ2lidC4gRGllIGZvbGdlbmRlIEFyYmVpdHNsb3NpZ2tlaXQgZHVyY2ggZGllIG5pY2h0Cm1laHIgYmVub2V0aWd0ZW5CZXdlcnR1bmdza29taXRlZXMgaW50ZXJlc3NpZXJ0IGRhbm4gYXVjaCBuaWNodCBtZWhyLgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFNwYXNzIG1pdCBkZXIgR0VaIChab29rLCAxNy4gSnVuIDIwMDYsIDIxOjAzOjE3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1MDM1OTU3OCByZz13d3cKfiMhIHRpZD0xMTUwMzIwNjU1CmljaCB2ZXJtdXRlIGRlbiB0ZXh0IGthbm4gbWFuIApodHRwOi8vYnItb25saW5lLmRlL2JyLWludGVybi9vcmdhbmlzYXRpb24vcGRmL3J1bmZ1bmtnZWJ1ZWhyZW5zdGFhdHN2ZXJ0cmFnLnAKZGYgCmVudG5laG1lbi4gaGFiIGRlbiB2b3IgemVpdGVuIG1hbCBkdXJjaGJsYWV0dGVydC4uLgoKem9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoWm9vaywgMTcuIEp1biAyMDA2LCAyMTowNzoxMyk6Cn4jISBybj1LbnVycHMgcnQ9MTE1MDQ4OTAyNyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Cklud2llZmVybiBpc3QgRGVpbmUgVWViZXJsZWd1bmcgQXVzZHJ1Y2sgdXRpbGl0YXJpc3Rpc2NoZXIgRXRoaWs/Cgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE3LiBKdW4gMjAwNiwgMjE6MTg6MjcpOgp+IyEgcm49Wm9vayBydD0xMTUwNTcxMjMzIHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKR2VuZXJlbGwgYmVhbnNwcnVjaHQgamVkZSBBcnQgdm9uIFV0aWxpdGFyaXNtdXMgZWluZSBBcnQgdm9uIE51ZXR6bGljaGtlaXQKKHV0aWxpcyAtPiBudWV0emxpY2gpLiBXYXMgbnVuIGFscyBudWV0emxpY2ggYW5nZXNlaGVuIHdpcmQsIHVudGVyc2NoZWlkZW4gZGllCnZlcnNjaGllZGVuZW4gQXJ0ZW4gZGVzIFV0aWxpdGFyaXNtdXM7IHNvIGlzdCBkZXIgTHVzdGdld2lubiBkYXMgSW5iZWdyaWZmIGRlcgpOdWV0emxpY2hrZWl0IGJlaW0gaGVkb25pc3Rpc2NoZW4gVXRpbGl0YXJpc211cy4gCgpNZWluZSBVZWJlcmxlZ3VuZyBpc3QgaW5zb2Zlcm4gQXVzZHJ1Y2sgdXRpbGl0YXJpc3Rpc2NoZXIgRXRoaWssIGFscyBkYXNzIGRpZQpFbnRzY2hlaWR1bmcgYXVmIEJhc2lzIGVpbmVyIGVudHNwcmVjaGVuZGVuIE51ZXR6bGljaGtlaXRzdWViZXJsZWd1bmcgYmFzaWVydC4KTmFlbWxpY2ggZGllIGRlcyB1ZWJlcmdlb3JkbmV0ZW4gc296aWFsZW4gTnV0emVucy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoWm9vaywgMTcuIEp1biAyMDA2LCAyMToyNTo0Nik6Cn4jISBybj1LbnVycHMgcnQ9MTE1MDU3MTkwNyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkhtLiBHZXdlbmRldCBhdWYgZGVuIHByYWt0aXNjaGVuIEZhbGwgaW4gRDogSWNoIGhhYmUgZGFzIEdlZnVlaGwsIHVuc2VyZQpncnVuZGdlc2V0emxpY2hlIE9yZG51bmcgZXJsYXVidCBudXIgaW4gYmVzdGltbXRlbiBHcmVuemVuIGVpbmUKTnVldHpsaWNoa2VpdHN1ZWJlcmxlZ3VuZyBlaW5lcyB1ZWJlcmdlb3JkbmV0ZW4gc296aWFsZW4gTnV0emVucy4gWnVtaW5kZXN0CnVuZCBzb3dlaXQgZXMgc2ljaCB1bSBkaWUgImJpb2xvZ2lzY2gtcGh5c2lzY2hlIEV4aXN0ZW56IiBkZXMgTWVuc2NoZW4KaGFuZGVsdC4gWnVtaW5kZXN0IGxhcyBpY2ggZGFzIEJWZXJmRy1VcnRlaWwgKDEgQnZSIDM1Ny8wNSApIHp1bQpMdWZ0c2ljaGVyaGVpdHNnZXNldHogc28uCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChHbG9pbnNvbiwgMTcuIEp1biAyMDA2LCAyMTo1NDoxNCk6Cn4jISBybj1ab29rIHJ0PTExNTA1NzIzNDYgcmc9d3d3Cn4jISB0aWQ9MTE1MDQxNTcwNgpEYXMgbXVzcyBqYSBEYXJrbG9yIG5pY2h0IGRhcmFuIGhpbmRlcm4gZGFmdWVyIHp1IHNwcmVjaGVuIG9kZXIgS251cnBzIGRhcmFuCkRhcmtsb3IgYWxzbyBwc2V1ZG9uZXV0cmFsZSBJbnN0YW56IHp1IHVudGVyc3R1ZXR6ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjQ6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChLbnVycHMsIDE3LiBKdW4gMjAwNiwgMjI6MTE6NTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1MDU3NDA1NCByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2Ck1hZ3N0IGR1IG1pciBkYXMgV29ydCAncHNldWRvbmV1dHJhbCcgaW4gZGVtIFp1c2FtbWVuaGFuZyBlcmxhZXV0ZXJuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCBlaW4gImFuZGVyZXMiIFRoZW1hOiBPcmdhbnNwZW5kZWF1c3dlaXM/IChHbG9pbnNvbiwgMTkuIEp1biAyMDA2LCAxMTo0MzozNyk6Cn4jISBybj1Sb25kYSBydD0xMTUwNDE1NzA2IHJnPXd3dwp+IyEgdGlkPTExNTA0MTU3MDYKSW4gZGVtIFp1c2FtbWVuaGFuZyBsaWVmZXJuIGRpZSBHZWduZXIgZWluZW4gR2VnZW5hdXN3ZWlzIHVuZCBaYWhsZW4sIHdpZSBvZnQKZGVyIC1zcGVuZGVhdXN3ZWlzIHp1ciBBbndlbmR1bmcga29tbXQ6CgpodHRwOi8vd3d3Lm9yZ2Fuc3BlbmRla2FtcGFnbmUuZGUvCgpEZXJ6ZWl0IHdlcmRlbiBudXIgYmVpIDUsNSUgZGVyIFNwZW5kZXIgYXVmZ3J1bmQgZGVyZW4gVmVyZnVlZ3VuZyAob2Rlcgpzb25zdGlnZXIgUmVnZWxuKSBkaWUgT3JnYW5lIGVudG5vbW1lbi4gSW4gYWxsZW4gYW5kZXJlIEZhZWxsZW4gaGFiZW4gZGllCkFuZ2Vob2VyaWdlbiBlbnRzY2hpZWRlbi4KKFd1c3N0ZW4gU2llIGF1c3NlcmRlbSwgZGFzczogLi4uIDk0LDUgUHJvemVudCBhbGxlciBPcmdhbmVudG5haG1lbiBiZWkKTWVuc2NoZW4gc3RhdHRmaW5kZW4sIGRpZSBuaWVtYWxzIGlocmUgRWlud2lsbGlndW5nIHp1IGRpZXNlciAiU3BlbmRlIiBnZWdlYmVuCmhhYmVuLCBzb25kZXJuIHdvIGRpZSBBbmdlaG9lcmlnZW4gYXVmZ3J1bmQgZGVzICJtdXRtYXNzbGljaGVuIiBXaWxsZW5zCmVudHNjaGllZGVuIGhhYmVuLCBkaWUgT3JnYW5lIGZyZWl6dWdlYmVuPykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zMTogTWFsIGVpbiAiYW5kZXJlcyIgVGhlbWE6IE9yZ2Fuc3BlbmRlYXVzd2Vpcz8gKEdsb2luc29uLCAxOS4gSnVuIDIwMDYsIDEyOjE1OjQ3KToKfiMhIHJuPUtlc3NhIHJ0PTExNTA3MTEzMTAgcmc9ZGlza3Vzc2lvbgp+IyEgdGlkPTExNTA0MTU3MDYKQWgsIGltIEdlZ2Vuc2F0eiB6dW0gaHlzdGVyaXNjaGVuIFZlcnNjaHdvZXJ1bmdzYXJ0aWtlbCBiaWV0ZXQgZGllIFNlaXRlIGF1Y2gKd2FzIGdhbnogcHJhZ21hdGlzY2hlczoKCml0Yy5uYXBpZXIuYWMudWsvZS1QZXRpdGlvbi9idW5kZXN0YWcvdmlld19wZXRpdGlvbi5hc3A/UGV0aXRpb25JRD0xMzIKIk1pdCBkZXIgUGV0aXRpb24gd2lyZCBlaW5lIERla2xhcmF0aW9uc3BmbGljaHQgaW4gTGViZW5zbWl0dGVsbiBmdWVyIGRlbgpCZXN0YW5kdGVpbCBKb2QgZ2Vmb3JkZXJ0LiIKCkdlbmF1IGRpZXNlIGZlaGxlbmRlIERla2xhcmF0aW9uIGJlaGluZGVydCBuYWVtbGljaCBtZWluZSBTZWxic3RiZXN0aW1tdW5nLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjMyOiBNYWwgZWluICJhbmRlcmVzIiBUaGVtYTogT3JnYW5zcGVuZGVhdXN3ZWlzPyAoS2Vzc2EsIDE5LiBKdW4gMjAwNiwgMTI6MjA6MTcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE1MDcxMjE0NyByZz13d3cKfiMhIHRpZD0xMTUwNDE1NzA2CkRhIHN0aW1tZSBpY2ggenUgKGRpZSBTZWl0ZSBrcmllZ2UgaWNoIGFsbGVyZGluZ3MgbmljaHQgZ2VsYWRlbikuCkljaCB2ZXJzdGVoZSBhbGxlcmRpbmdzIGltbWVyIG5vY2ggbmljaHQsIHdhcnVtIGR1IGVzIGltIEludGVyZXNzZSBkZXIKVm9sa3NnZXN1bmRoZWl0IG5pY2h0IGF1Y2ggYmVmdWVyd29ydGVuIGthbm5zdCwgd2VubiBPcmdhbmUgdm9uIE1lbnNjaGVuLCBkaWUKc2ljaCBuaWNodCBhdXNkcnVlY2tsaWNoIGRhZ2VnZW4gYXVzZ2VzcHJvY2hlbiBoYWJlbiwgZW50bm9tbWVuIHdlcmRlbi4gRGllCmhhZXR0ZW4gamEgYXVjaCBlaW5lIEFsdGVybmF0aXZlLCB1bmQgbWl0IGRldXRsaWNoIGdlcmluZ2VyZW0gQXVmd2FuZCwgYWxzIGVzCmRpZSB0YWVnbGljaGUgSmFnZCBuYWNoIGpvZGZyZWllbSBFc3NlbiBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFcmtlbm4nIGRlbiBGYW4gKEtudXJwcywgMjAuIEp1biAyMDA2LCAxMzoxMTowNik6Ck5ldHRnZW1hY2h0ZSBTZXJpZSBkZXIgWmVpdCB6dSBhdXNsYWVuZGlzY2hlbiBGdXNzYmFsbGZhbnMKaHR0cDovL3d3dy56ZWl0LmRlLzIwMDYvMjQvZnVzc2JhbGwtdHlwb2xvZ2llPzEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJldGhvcmlrbGVnZW5kZW4uLi4gKFplc3N0cmEsIDIzLiBKdW4gMjAwNiwgMTI6MDU6MDIpOgouLi4gZGVzIGRldXRzY2hlbiBGdXNzYmFsbHMuIEZhbGxzIGRhcyBqZW1hbmQgbm9jaCBuaWNodCBrZW5uLCBpc3QgZGFzCmZvbGdlbmRlIFBERiBnYW56IGx1c3RpZy4KaHR0cDovL3NwcmluZ2hpbi5kZS9XYnRLQgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2lldmllbGUgS2xpY2tzLi4uIChUYXJhbmlzLCAyNi4gSnVuIDIwMDYsIDExOjUyOjEzKToKLi4uIGJyYXVjaHQgbWFuIGJlaSBWaXN0YSwgdW0gZWluZSBWZXJrbnVlcGZ1bmcgdm9tIERlc2t0b3AgenUgbG9lc2NoZW4/IDstKQpodHRwOi8vY2FjaGUuZ2l6bW9kby5jb20vYXNzZXRzL3Jlc291cmNlcy8yMDA2LzA2L3Zpc3RhZGVsZXRlbGFyZ2UuanBnCgpWZXJtdXRsaWNoIChob2ZmZW50bGljaCkgdWViZXJ6ZWljaG5ldCB1bmQgbmljaHQgaW1tZXIgc28sIGFiZXIgZGVubm9jaApsdXN0aWcuIDstKQpUYXJhbmlzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnRlcmVzc2FudGVyIFByb3RvdHlwIGZ1ZXIgZWluZW4gRGVza3RvcDogKFpvb2ssIDI2LiBKdW4gMjAwNiwgMTI6MTQ6MDYpOgpodHRwOi8vaG9uZXlicm93bi5jYS9QdWJzL0J1bXBUb3AuaHRtbAoKRGFzIFZpZGVvIGlzdCBnYW56IHdpdHppZzsgYW0gYmVzdGVuIGdlZmFlbGx0IG1pciBqYSAiTGFzc28tTWVudSIuIEljaCAKZ2xhdWJlIG51ciwgZGFzcyBkZW0gZ2FuemVuIG5pY2h0IHZpZWwgRXJmb2xnIGJlc2NoaWVkZW4gc2VpbiB3aXJkIHVuZAp6d2FyIGF1cyBkZW0gR3J1bmQsIGRhc3MgZGllIHJlYWxlIEVudHNwcmVjaHVuZyAiU3RhcGVsIiBiZWkgZGVuIG1laXN0ZW4KTWVuc2NoZW4gd2VuaWcgc3RydWt0dXJpZXJ0IGlzdCB1bmQgZWhlciBjaGFvdGlzY2guIFVlYmVydHJhZWd0IHNpY2ggZGllcwpudW4gdm9sbGVuZHMgYXVmIGRlbiBQQyAuLi4uIEFjaGphLCB1bmQgZWluZSBTY2h1YmxhZGUgenVtICJBdXMtZGVuLUF1Z2VuLQphdXMtZGVtLVNpbm4iIGZlaGx0IG5hdHVlcmxpY2ggYXVjaCBub2NoIDspCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobmktU2NobmEtU2NobmFwcGkgLSBCcnVubyB3YXIgR2FzdCBiZWkgRnJldW5kZW4gKEphbWVzb24sIDI3LiBKdW4gMjAwNiwgMTE6Mjc6NTgpOgpodHRwOi8vd3d3Lm4tdHYuZGUvNjgyODQ2Lmh0bWwKCmVpbiBuZXR0ZXIgS29tbWVudGFyIHp1ciBCYWVyZW5oYXR6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdXR1cmFtYSAuLi4gKEdsb2luc29uLCAyNy4gSnVuIDIwMDYsIDE2OjA0OjA0KToKLi4uIGJhY2sgYWdhaW4/CgpodHRwOi8vc2xhc2hkb3Qub3JnL2FydGljbGVzLzA2LzA2LzIzLzAxMTcyMjkuc2h0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlubGVpdHVuZyBpbiBkYXMgSW50ZXJuZXQgKEdsb2luc29uLCAyOC4gSnVuIDIwMDYsIDEyOjA4OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTE1MTQ4OTAzMSByZz1zdWNoZS1iaWV0ZQp+IyEgdGlkPTExNTE0ODkwMzEKaHR0cDovL3ZpZGVvLmdvb2dsZS5jb20vdmlkZW9wbGF5P2RvY2lkPTU0MzAzNDM4NDEyMjc5NzQ2NDUmcT10aGUraW50ZXJuZXQraXMrCmZvcitwb3JuCikoaHR0cDovL3NwcmluZ2hpbi5kZS94MFBXKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBrb21tdCBtYW4gYmVpIEFPTCB3aWVkZXIgcmF1cz8gKEFudGhlYSwgMjguIEp1biAyMDA2LCAxMjoxMjoyOCk6Cmh0dHA6Ly92aWRlb3NpZnQuY29tL3N0b3J5LnBocD9pZD00Mjg3CktlaW4gV3VuZGVyIGRhc3MgQU9MIHNpY2ggZGVuIGdyb2Vzc3RlbiBQcm92aWRlciBzY2hpbXBmdC4gTWFuIGtvbW10IGVpbmZhY2gKbmljaHQgbWVociByYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VuYXRvciBkb3dubG9hZHMgSW50ZXJuZXQgKEtudXJwcywgIDMuIEp1bCAyMDA2LCAyMDoxNjowMSk6CkdpYnQgc2Nob24gc2t1cmlsZSBUeXBlbjoKaHR0cDovL3VrLnRoZWlucXVpcmVyLm5ldC8/YXJ0aWNsZT0zMjc3MAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3R1ZGllbiAuLi4gKEdsb2luc29uLCAgNy4gSnVsIDIwMDYsIDE3OjQ5OjEyKToKLi4uIGlocmUgTmViZW53aXJrdW5nZSB1bmQgd29mdWVyIHNpY2ggQWVyenRlIG1hbmNobWFsIHNvIGhlcmdlYmVuOgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3dpc3NlbnNjaGFmdC9tZW5zY2gvMCwxNTE4LDQyNTUyNCwwMC5odG1sCgooSW4gS3VlcnplOiBlaW4gYnJpdGlzY2hlciBBcnp0IGhhdCBhbnNjaGVpbmVuZCBzaWNoIHZvbiBlaW5lcgpJbnRlcmVzc2VuZ2VtZWluc2NoYWZ0IGJlemFobGVuIGxhc3NlbiAodW5kIG5pY2h0IG51ciBkaWUgRm9yc2NodW5nIGZvZXJkZXJuCmxhc3Nlbikgd2FlaHJlbmQgZXIgZWluZSBTdHVkaWUgZHVyY2hmdWVocnRlIGRpZSBtaXQgZXJ3dWVuc2NodGVtIFJlc3VsdGF0CmVuZGV0ZSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyMDEwIChLbnVycHMsICA5LiBKdWwgMjAwNiwgMTQ6NDc6NTMpOgpodHRwOi8vd3d3LnN1ZWRkZXV0c2NoZS5kZS9zcG9ydC93ZWx0ZnVzc2JhbGwvc3BlY2lhbC83MTAvNjU2NDUvaW5kZXguaHRtbC9zcG8KcnQvd2VsdGZ1c3NiYWxsL2FydGlrZWwvMTg4LzgwMTA4L2FydGljbGUuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9ua2V5IElzbGFuZCBQaWFubyBWaWRlbyAoVmluY2VudCwgMTAuIEp1bCAyMDA2LCAxMTozMzoxNyk6CkhpZXIgaGF0IGplbWFuZCBkZW4gU291bmR0cmFjayB2b24KTW9ua2V5IElzbGFuZCBhdWYgZGVtIEtsYXZpZXIgbmFjaGdlc3BpZWx0LgoKaHR0cDovL3lvdXR1YmUuY29tL3dhdGNoP3Y9MXJ0aUFRazNvakUmc2VhcmNoPW1vbmtleSUyMGlzbGFuZAoKTm9zdGFsZ2llIHB1ci4gOi0pCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9ua2V5IElzbGFuZCBQaWFubyBWaWRlbyAoSGlnaGxhbmRlciwgMTAuIEp1bCAyMDA2LCAxMTo0MjoyNik6Cn4jISBybj1WaW5jZW50IHJ0PTExNTI1MjM5OTcgcmc9d3d3Cn4jISB0aWQ9MTE1MjUyMzk5NwpQUzogT2RlciBodHRwOi8vd3d3LmdhbWVtdXNpY3RoZW1lcy5jb20vdzNzcHZpZGVvcy5odG1sLApkYSBrYW5uIG1hbiBzaWNoIGVzIChtZWluZXIgTWVpbnVuZyBuYWNoIGluIGJlc3NlcmVyIFF1YWxpdGFldCkKYXVjaCBydW50ZXJsYWRlbi4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VpbGVzIE1NT1JQRyAoTW9yZ290aCwgMTEuIEp1bCAyMDA2LCAwOTozMjo1Nyk6Cnd3dy5yeXpvbS5jb20KLT4gRnJlZSBUcmlhbCBydW50ZXJsYWRlbiwgaW5zdGFsbGllcmVuIHVuZCB6b2NrZW4gOkQKCk0qCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWlsaWdlcyBLYW5vbmVucm9oci4uLi4gKEJhbWJ1bGtvLCAxMi4gSnVsIDIwMDYsIDEwOjU0OjQ5KToKaHR0cDovL3d3dy50aGVtZXBhcmtzLmllL29rd2Qvc3BlZWQxLmh0bQoKTWlyIHdpcmQgc2Nod2luZGVsaWcuLi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIZWlsaWdlcyBLYW5vbmVucm9oci4uLi4gKEphbWVzb24sIDEyLiBKdWwgMjAwNiwgMTE6MzM6NDgpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE1MjY5NDQ4OSByZz13d3cKfiMhIHRpZD0xMTUyNjk0NDg5Cldlbm4gRGlyIGRhIHNjaHdpbmRsaWcgd2lyZCwgZGFubiBwcm9iaWVyIGRvY2ggbWFsCmh0dHA6Ly93d3cubm9saW1pdHNjb2FzdGVyLmRlLyBhdXMuIERhbWl0IGthbm4gbWFuIGRpZSBzZWxiZXIgYmF1ZW4uLi4gUlZOCihSZWluIFZpcnR1ZWxsIE5hdHVlcmxpY2gpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZSBKYWNrc29uIFBvbGxvY2sgKEtlc3NhLCAxMi4gSnVsIDIwMDYsIDE1OjQyOjAzKToKaHR0cDovL3d3dy5qYWNrc29ucG9sbG9jay5vcmcvCgpLbGlja2VuIHp1bSBGYXJiZXdlY2hzZWxuLCB2aWVsIFZlcmdudWVnZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClppZGFuZSAoQmFtYnVsa28sIDEyLiBKdWwgMjAwNiwgMTc6MTA6NDEpOgpodHRwOi8vd3d3LnNwaW5jaGF0LmRlL3ppZGFuZQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaaWRhbmUgKEdsb2luc29uLCAxMy4gSnVsIDIwMDYsIDAyOjA2OjIxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNTI3MTcwNDEgcmc9d3d3Cn4jISB0aWQ9MTE1MjcxNzA0MQpodHRwOi8vc2ZiYXkuY3JhaWdzbGlzdC5vcmcvc2ZjL3Juci8xODA2NTEyODMuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZJRkEgdW5kIGRpZSBMaXplbnogenVtIEdlbGRkcnVja2VuIChLbnVycHMsIDEzLiBKdWwgMjAwNiwgMTc6MTc6NTQpOgpTY2hvbiBlaW4gYmlzc2VybCBhZWx0ZXIsIGFiZXIgdHJvdHpkZW0gaW50ZXJlc3NhbnQ6Cmh0dHA6Ly9uenouY2gvMjAwNi8wNC8yMy93aS9hcnRpY2xlRTI2QkIucHJpbnQuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaaWRhbmUgKFNreSwgMTUuIEp1bCAyMDA2LCAxMTozNDoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTUyNzQ5MTgxIHJnPXd3dwp+IyEgdGlkPTExNTI3MTcwNDEKIGh0dHA6Ly9mYXJtLmFkZGljdGluZ2dhbWVzLmNvbS9ENzhBUVNBS1FMUVdJOS8yOTQyLnN3ZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWmlkYW5lIChHbG9pbnNvbiwgMTUuIEp1bCAyMDA2LCAxMTo0Mjo1MSk6Cn4jISBybj1Ta3kgcnQ9MTE1Mjk1NjA2MSByZz13d3cKfiMhIHRpZD0xMTUyNzE3MDQxCmh0dHA6Ly93d3cuc3BpZWdlbC5kZS92aWRlb3BsYXllci8wLDYyOTgsMTIyMDUsMDAuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyaXZlciAoTXVhZGliLCAxNi4gSnVsIDIwMDYsIDE4OjM4OjQyKToKSGksCgpkaWUgYWt0dWVsbGVuIFRyZWliZXJzb3VyY2VuIHNpbmQgdW50ZXIgaHR0cHM6Ly9tZy5tdWQuZGUvc3ZuL2RyaXZlci8gaW4gZWluZW0KU1ZOLVJlcG9zaXRvcnkuIExlc2VuZGVyIFp1Z3JpZmYgaXN0IGF1Y2ggb2huZSBBbm1lbGR1bmcgZXJsYXVidC4KCkdydXNzCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIFdvcnN0IFJlY29yZCBDb3ZlcnMgb2YgYWxsIFRpbWUgKENoYWdhbGwsIDE3LiBKdWwgMjAwNiwgMjA6NDU6MDkpOgpodHRwOi8vd3d3LnBpdGNoZm9ya21lZGlhLmNvbS9hcnRpY2xlL2ZlYXR1cmUvMzY5MzgvU3RhZmZfTGlzdF9UaGVfV29yc3RfUmVjb3IKZF9Db3ZlcnNfb2ZfQWxsX1RpbWUKCm9kZXI6Cmh0dHA6Ly9zcHJpbmdoaW4uZGUveDdZQgoKTWVpbiBGYXZvcml0IGlzdCBqYSBlaW5kZXV0aWcgZGFzIEtlbi1Db3Zlci4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWb24gd2VnZW4gbnVyIE11ZGRlciBzaW5kIHZlcnJ1ZWNrdCAoVmVjdG9yLCAxOC4gSnVsIDIwMDYsIDEwOjMzOjI3KToKCmh0dHA6Ly95b3lvcy1ibG9nLmRlL2ZyYW1lci5waHA/aWQ9MjYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb24gd2VnZW4gbnVyIE11ZGRlciBzaW5kIHZlcnJ1ZWNrdCAoTWFoYXJldCwgMTguIEp1bCAyMDA2LCAxMDo1NjoyMik6Cn4jISBybj1WZWN0b3IgcnQ9MTE1MzIxMTYwNyByZz13d3cKfiMhIHRpZD0xMTUzMjExNjA3CmNvb2wKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9uIHdlZ2VuIG51ciBNdWRkZXIgc2luZCB2ZXJydWVja3QgKEhpZ2hsYW5kZXIsIDE4LiBKdWwgMjAwNiwgMTE6MTI6NTcpOgp+IyEgcm49TWFoYXJldCBydD0xMTUzMjEyOTgyIHJnPXd3dwp+IyEgdGlkPTExNTMyMTE2MDcKVW5nbGF1YmxpY2guIERhcyBtdXNzIGVpbmUgV2VpbGUgZ2VicmF1Y2h0IGhhYmVuLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHZW9yZ2UgTHVjYXMgaW4gTG92ZS4uLiAoWmVzc3RyYSwgMTguIEp1bCAyMDA2LCAxMzo0Mjo1Mik6Ci4uLiB3aWUgU3RhcldhcnMgd2lya2xpY2ggZW50c3RhbmQuLi4gOy0pCihJY2ggaG9mZiwgZGFzIGtlbm5lbiBub2NoIG5pY2h0IHp1dmllbGUgdm9uIGV1Y2guIDstKQpodHRwOi8vc3ByaW5naGluLmRlLzZkWHpFCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgQWxwdHJhdW0gZGVzIEZsYXNoZGVzaWduZXJzIChBbnRoZWEsIDI2LiBKdWwgMjAwNiwgMTE6NTY6MDMpOgpodHRwOi8vbWVtYmVycy5hYnVuYXdhZi5jb20vZHVrZWZsZWV0L0dhbWVzLzA3L21pYW5pbWFjaW9uZmxhc2hlcmEuc3dmCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkbyBpdCAoQWxib2luLCAyNi4gSnVsIDIwMDYsIDIyOjI2OjA0KToKaHR0cDovL3d3dy5wbGFuZXRuYW5hLmNvLmlsL2F0YXJzaC8vZmxhc2hvby9uYXNyYWwuaHRtbAphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRvIGl0IChIaWdobGFuZGVyLCAyNi4gSnVsIDIwMDYsIDIyOjQyOjI1KToKfiMhIHJuPUFsYm9pbiBydD0xMTUzOTQ1NTY0IHJnPXd3dwp+IyEgdGlkPTExNTM5NDU1NjQKWy0tXQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZG8gaXQgKEppbWRpZ3JpeiwgMjcuIEp1bCAyMDA2LCAxMToxMzozMyk6Cn4jISBybj1BbGJvaW4gcnQ9MTE1Mzk0NTU2NCByZz13d3cKfiMhIHRpZD0xMTUzOTQ1NTY0CkRhbmtlIGZ1ZXIgZGllc2UgR2VzY2htYWNrbG9zaWdrZWl0LiBNaXIgZ2VoZW4gZGEgYWJlciBub2NoCm1laW5lIEtvbGxlZ2VuIGFiICg0IFRvdGUgdW5kIGVpbmUgRmFtaWxpZSB2ZXJtaXNzdCwgbmVpbgpkaWUgc2luZCBzaWNoZXIga2VpbmUgSGlzYm9sbGFoLVN5bXBhdGhpc2FudGVuKSwgZGllIGhhZXR0ZQptYW4gYWxzIEFid2VjaHNsdW5nIHN0YXR0IGRlbSBUdXJiYW50cmFlZ2VyIGRhenV0dW4ga29lbm5lbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZG8gaXQgKEJhbWJ1bGtvLCAyNy4gSnVsIDIwMDYsIDExOjI0OjIwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTUzOTkxNjEzIHJnPXd3dwp+IyEgdGlkPTExNTM5NDU1NjQKVmVyZ2lzcyBkaWUgVU5PIEJlb2JhY2h0ZXIgbmljaHQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRvIGl0IChHbG9pbnNvbiwgMjcuIEp1bCAyMDA2LCAxMToyNzowMik6Cn4jISBybj1CYW1idWxrbyBydD0xMTUzOTkyMjYwIHJnPXd3dwp+IyEgdGlkPTExNTM5NDU1NjQKSWhyIFRlcnJvcmlzdGVudmVyc3RlaGVyIHNlaWQgaW0gZmFsc2NoZW4gVGhyZWFkIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTnV0emxvc2UoPykgRmlsbXppdGF0ZSAoQW50aGVhLCAgMS4gQXVnIDIwMDYsIDExOjU4OjUzKToKQXVjaCB3ZW5uIGVzIGJlc3RpbW10IHNjaG9uIHZpZWxlIGtlbm5lbiwgZnVlciBtaWNoIHp1bWluZGVzdCB3YXIgZXMgbmV1OgpodHRwOi8vd3d3LnVzZWxlc3Ntb3ZpZXF1b3Rlcy5jb20vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnV0emxvc2UoPykgRmlsbXppdGF0ZSAoR3JpbW1ib3JuLCAgMS4gQXVnIDIwMDYsIDEyOjA5OjMyKToKfiMhIHJuPUFudGhlYSBydD0xMTU0NDI2MzMzIHJnPXd3dwp+IyEgdGlkPTExNTQ0MjYzMzMKSW4gZGVtIFp1c2FtbWVuaGFuZywgYWJlciBiZXNzZXIgaXN0OiAKaHR0cDovL3d3dy5pbnR1aXRvci5jb20vbW92aWVwaHlzaWNzLwoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWlzZS5kZTogTVRWLUp1YmlsYWV1bTogMjUgSmFocmUgRmVybnNlaGVuIGZ1ZXIgVm9sbGlkaW90ZW4gKFJvbmRhLCAgMS4gQXVnIDIwMDYsIDIwOjQ5OjM0KToKWnVtIEdlYnVydHN0YWcgdmllbCBCb2VzZXMgLSBoZWlzZS5kZSBpc3QgYm9lc2VyIGFscyBiZWkgdmVycGF0enRlbgpNaWNyb3NvZnQtUHJhZXNlbnRhdGlvbmVuOgoKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL21lbGR1bmcvNzYyNTYvZnJvbS9hdG9tMTAKClJvbmRhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIE1haW56ZWxtYWVubmNoZW4gKExpYXJhLCAxOS4gQXVnIDIwMDYsIDAyOjA0OjM3KToKUHJvdGVzdCBnZWdlbiBkaWUgTmV1Z2VzdGFsdHVuZyBkZXIgTWFpemVsbWFlbm5jaGVuOgoKaHR0cDovL3d3dy5oZWxmdGRlbm1haW56ZWxtYWVubmNoZW4uZGUvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2llZGVyIFJhbmRvbSBHZW5lcmF0b3JzIChCcmFuLCAyMS4gQXVnIDIwMDYsIDExOjUxOjExKToKRXR3YXMgZnVlciBNYWdpZXIsIGRlbmVuIGRpZSBJZGVlbiBhdXNnZWhlbjoKCmh0dHA6Ly9uaW5lLmZyZW5jaGJveXMubmV0L2luZGV4LnBocApFaW5lIFNhbW1sdW5nIHZvbiBadWZhbGxzZ2VuZXJhdG9yZW4sIHVudGVyIGFuZGVyZW06IAoKUm9vbSBHZW5lcmF0b3I6ClRoaXMgdG9tYmxpa2Ugcm9vbSBpcyBkcmVhcnkuIFRoZSB3YWxscyBhcmUgc3ByaW5ndGltZSBncmVlbi4gQW4gdW5wbGVhc2FudAptaWxkZXcgc21lbGwgaGFuZ3MgaW4gdGhlIGFpci4gVGhlIGZsb29yIGlzIG5vdGhpbmcgYnV0IHBhY2tlZCBkaXJ0LgoKUGxvdCBUd2lzdCBHZW5lcmF0b3IgKFNvbWV0aW1lcywgeW91IGp1c3QgZG9uJ3Qga25vdyB3aGF0IGNvbWVzIG5leHQuCkZvcnR1bmF0ZWx5LCB0aGlzIGdlbmVyYXRvciBkb2VzKToKQXQgdGhpcyBwb2ludCBhIHdpbGQtZXllZCByZXBvcnRlciBhcnJpdmVzLCB3ZWFyaW5nIGEgc3RyYW5nZSBoYXQuCgpNaXQgZGVtIFRyZWFzdXJlIEdlbmVyYXRvciBrbGFwcHQgZXMgbmljaHQgaW1tZXIgc286Ckx5aW5nIGhlcmUgaXMgYSBicmVhc3RwbGF0ZSBtYWRlIG9mIGJhdHRlcmVkIGdyZWVuIG1hcmJsZS4KClZpZWwgVmVyZ251ZWdlbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSUQgKEdsb2luc29uLCAyNS4gQXVnIDIwMDYsIDE0OjM3OjEyKToKaHR0cDovL3JhZGlvLndlYmxvZ3MuY29tLzAxMDcwNjQvTXlJbWFnZXMvaWdlb2dyYXBoeS5naWYKaHR0cDovL3d3dy5zdWxsaXZhbi1jb3VudHkuY29tL2ltYWdlcy9zY2kuZ2lmCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3RhdGlzdGlrZW4gKE11YWRpYiwgMjUuIEF1ZyAyMDA2LCAyMzoxODoyNCk6CmhpLAoKaWNoIGhhYiBtYWwgbm9jaCBlaW4gcGFhciBzdGF0aXN0aWtlbiBpbiBkZW4gbXJ0ZyBnZXBhY2t0Cm5pY2h0IHVlYmVyIGRlbiBzY2huaXR0IHd1bmRlcm4sIGRlciBtdXNzIHNpY2ggbm9jaCB2b24gZWluIHBhYXIgZmVobHdlcnRlbgplcmhvbGVuCgpncnVzcwptdWFkaWIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlYnByYWVzZW56IGRlciBaYXViZXJlciAoTXVhZGliLCAzMS4gQXVnIDIwMDYsIDIyOjQ5OjQ4KToKSGFsbG8sCgpkaWUgV2Vic2VpdGVuIGRlciBaYXViZXJlcmdpbGRlIHNpbmQgbnVuIG5ldSBnZXdhbmRldC4KRWhyZSB1bmQgRGFuayBnZWJ1ZWhydCBoaWVyIEtlc3NhIHVuZCBDaGFnYWxsLiBEYW5rZS4KCkdydXNzCk11YWRpYgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGlzdG9yaXNjaGUgRXJmYWhydW5nc2JlcmljaHRlIChNZXNpcmlpLCAgMS4gU2VwIDIwMDYsIDEwOjE0OjA2KToKdWViZXIgZWluIGtvbWlzY2hlcyBPbmxpbmUtU3BpZWwgbmFtZW5zIE1vcmdlbmdyYXVlbjoKaHR0cDovL3d3dy5jaWFvLmRlL0VyZmFocnVuZ3NiZXJpY2h0ZS9Nb3JnZW5ncmF1ZW5fd3d3X21nX211ZF9kZV9fNDY4ODMwCgpNZXNpLCBncmluc2VuZAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhciBXYXJzIEVwLiBJSUkgQXJ0d29ya3MgKFZpbmNlbnQsIDExLiBTZXAgMjAwNiwgMTU6MTY6MzUpOgpodHRwOi8vd3d3LmR1c3NvLmNvbS9wYWdlcy9FUDMvRVAzbWFpbi5odG1sCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhciBXYXJzIEVwLiBJSUkgQXJ0d29ya3MgKEdsb2luc29uLCAxMS4gU2VwIDIwMDYsIDE1OjMxOjEyKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTE1Nzk4MDU5NSByZz13d3cKfiMhIHRpZD0xMTU3OTgwNTk1ClRlaWxlIGRlcyBTZXRzIGhhYiBpY2ggbmV1bGljaCBpbiBkZXIgV2FuZGVyYXVzc3RlbGx1bmcgZ2VzZWhlbi4gU2VocgpiZWVpbmRydWNrZW5kIGRpZSBHZWJhc3RlbGVpIHVuZCBkaWUgRWluZmFlbGxlIGZ1ZXIgZGVuIExhdmFmbHVzcyBmdWVyIGRlbgpsZXR6dGVuIFRlaWwuIEFuYWtpbiBzdGlua3QgdHJvdHpkZW0gYWxzIERhcnRoIFZhZGVyIGFiIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQaXJhdGVzIERheSAoR2xvaW5zb24sIDE1LiBTZXAgMjAwNiwgMDE6MTE6MjgpOgp+IyEgcm49R25vbWUgcnQ9MTE1ODI3NTEzNCByZz1zY2htYXJybgp+IyEgdGlkPTExNTgyNjg5MTEKR2lidCBlcyBzY2hvbi4gTWFuY2ggZWluIE1vbnRhZyBpc3Qgc28gZWluIEZlaWVydGFnOgoKaHR0cDovL3d3dzIuaW5mb3JtYXRpay5odS1iZXJsaW4uZGUvfmNiZWNrZXIvaWxvdmVteWpvYi5naWYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1HZXNjaGljaHRzc3R1bmRlIChNYWhhcmV0LCAyNC4gU2VwIDIwMDYsIDIxOjMxOjI2KToKRGFzIGhpZXIgbXVzcyBpY2ggZWluZmFjaCB0ZWlsZW46CgpaZWl0bGltaXQuIChUaG9yc29uLCAyMy4gT2t0IDE5OTMsIDIxOjQyOjM2KToKbmFjaGRlbSBUYXBwTVVEIHdlZ2VuIFN1Y2h0Z2VmYWhyIGdlc2NobG9zc2VuIHd1cmRlIGhhdHRlIGljaCBmb2xnZW5kZSBJZGVlOgpqZWRlciBTcGllbGVyIGVyaGFlbHQgZWluIEFtdWxldHQsIGRhc3Mgc2VpbmUgU3BpZWx6ZWl0IG1pc3N0LiBFcyBzb3JndApkYWZ1ZXIsIGRhc3MgZWluZSBiZXN0aW1tdGUgdGFlZ2xpY2hlIHVuZCB3b2VjaGVudGxpY2hlIFNwaWVsZGF1ZXIgbmljaHQKdWViZXJzY2hyaXR0ZW4gd2VyZGVuIGRhcmYuIERpZXNlcyBBbXVsZXR0IGlzdCB6dW5hZWNoc3QgbmljaHQgbWl0IGVpbmVyClplaXRzY2hyYW5rZSB2ZXJzZWhlbi4gRXJzdCBiZWltIEJlc3VjaCBkZXMgU2NobWllZGVzIGVyaGFlbHQgZGFzIEFtdWxldHQKZWluZW4gZnJlaSBkZWZpbmllcmJhcmVuIFplaXRzdGVtcGVsLCBkZXIgYmlzIHp1bSBTZW1lc3RlcmVuZGUgZ3VlbHRpZyBpc3QuCkRhcyBBbXVsZXR0IGJld2lya3QgYmVpIGVpbmVyIHVlYmVyc2NocmVpdHVuZyBkZXIgWmVpdCBkYXMgU3BlcnJlbiBhbGxlcgpha3Rpb25lbiBkZXMgU3BpZWxlcnMgdW5kIHNldHp0IGdsZWljaHplaXRpZyBhbGxlIE1pdHNwaWVsZXIKYXVmICJpZ25vcmllcmUiLgoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTUctR2VzY2hpY2h0c3N0dW5kZSAoTXVhZGliLCAyNC4gU2VwIDIwMDYsIDIxOjM4OjUyKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE1OTEyNjI4NiByZz13d3cKfiMhIHRpZD0xMTU5MTI2Mjg2CmhpaGkKZGllIGRpc2t1c3Npb24ga2FtIGdsYXViIGljaCBzcGFldGVyIG5vY2htYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1HLVdpa2kgKE1lc2lyaWksIDI3LiBTZXAgMjAwNiwgMjE6NDU6NTYpOgpEYSBpY2ggZGllIFBsYXR0ZW5kYXRlbiBudW4gd2llZGVyIGhhYiwgaXN0IGRhcyBNb3JnZW5HcmF1ZW4gV2lraSB3aWVkZXIgYW4KZ2V3b2hudGVyIFN0ZWxsZSB3aWtpLm1vcmdlbmdyYXVlbi5pbmZvIHp1IGZpbmRlbiwgYXVzc2VyZGVtIGlzdCBtdWRkZXIuaW5mbwp3aWVkZXIgYWt0aXYuCldlciBzaWNoIGFsc28gYmVydWZlbiBmdWVobHQgZGEgZXR3YXMgenUgdHVuLCBrYW5uIGRhcyBnZXJuZSBtYWNoZW4uCgpHcnVzcyBNZXNpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb29nbGUgQ29kZXNlYXJjaCAoS251cnBzLCAgNS4gT2t0IDIwMDYsIDE3OjE1OjU4KToKR2VyYWRlIGVudGRlY2t0LCBzaWVodCBnYW56IG5ldHQgYXVzOgpodHRwOi8vd3d3Lmdvb2dsZS5jb20vY29kZXNlYXJjaAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdvb2dsZSBDb2Rlc2VhcmNoIChSb25kYSwgIDUuIE9rdCAyMDA2LCAxNzoxNzoxNSk6Cn4jISBybj1LbnVycHMgcnQ9MTE2MDA2MTM1OCByZz13d3cKfiMhIHRpZD0xMTYwMDYxMzU4Ck1hbiBiZWFjaHRlIGF1Y2ggZGllIG5ldHRlbiBGb3JlbmluZm9zIGJlaSBIZWlzZS5kZSB6dXIgQ29kZS1TZWFyY2g6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzc5MDY3L2Zyb20vYXRvbTEwIC0gZ2lidCBuZXR0ZQpDb2RlLVNjaG5pcHNlbCwgZGllIG1hbiBkYW1pdCBmaW5kZXQuCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBHb29nbGUgQ29kZXNlYXJjaCAoS251cnBzLCAgNS4gT2t0IDIwMDYsIDE3OjE4OjQxKToKfiMhIHJuPVJvbmRhIHJ0PTExNjAwNjE0MzUgcmc9d3d3Cn4jISB0aWQ9MTE2MDA2MTM1OApMZWlkZXIgZ2lidCdzIGtlaW4gbGFuZzpscGMgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHb29nbGUgQ29kZXNlYXJjaCAoUm9uZGEsICA1LiBPa3QgMjAwNiwgMTc6MTk6NTkpOgp+IyEgcm49S251cnBzIHJ0PTExNjAwNjE1MjEgcmc9d3d3Cn4jISB0aWQ9MTE2MDA2MTM1OApEb2NoLCBpY2ggZ2xhdWIgZGllIGhhYmVuIGF1Y2ggZGFzIE1HIGR1cmNoc3VjaHQ6CgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvZm9yZW4vZ28uc2h0bWw/cmVhZD0xJm1zZ19pZD0xMTM2MjkxMSZmb3J1bV9pZD0KMTA2MzQ4CgogICBpZiAob2JqZWN0cChkaWNrZGFybVswXSkpIHsKICAgICAgaWYgKGRpY2tkYXJtWzBdLT5pZCgiZ3JhcyIpKSB7CiBkaWNrZGFybVswXS0+cmVtb3ZlKCk7CiBkaWNrZGFybVswXT1jbG9uZV9vYmplY3QoIi9zdGQvdW5pdCIpOwogZGlja2Rhcm1bMF0tPlNldFByb3AoUF9OQU1FLCAiSGF1ZmVuIEt1aHNjaGVpc3NlIik7CiBkaWNrZGFybVswXS0+QWRkSWQoICh7Imt1aHNjaGVpc3NlIiwgImhhdWZlbiBrdWhzY2hlaXNzZSJ9KQopOwogZGlja2Rhcm1bMF0tPlNldFByb3AoUF9BTU9VTlQsIDEpOwogZGlja2Rhcm1bMF0tPlNldFByb3AoUF9XRUlHSFQsIDMwKTsKIGRpY2tkYXJtWzBdLT5TZXRQcm9wKFBfTUFURVJJQUwsIE1BVF9TSElUKTsKICAgICAgfQogICAgICBzYXkoYnJlYWtfc3RyaW5nKCJEaWUgS3VoIHNjaGVpc3N0CiIrZGlja2Rhcm1bMF0tPm5hbWUoV0VOKSsiLiIsIDc4KSk7CiAgICAgIGRpY2tkYXJtWzBdLT5tb3ZlKGVudmlyb25tZW50KCksIE1fUFVUKTsKCi4uLiBpc3QgZGFzIHZvbiBoaWVyPwoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdvb2dsZSBDb2Rlc2VhcmNoIChLbnVycHMsICA1LiBPa3QgMjAwNiwgMTc6MjA6MDEpOgp+IyEgcm49S251cnBzIHJ0PTExNjAwNjE1MjEgcmc9d3d3Cn4jISB0aWQ9MTE2MDA2MTM1OApJY2ggcHJvYmllciBtYWwgdW5zZXJlbiBUcmVpYmVyIGJlaSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vY29kZXNlYXJjaC9hZGRjb2RlCnJlaW56dWZ1ZXR0ZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR29vZ2xlIENvZGVzZWFyY2ggKEtudXJwcywgIDUuIE9rdCAyMDA2LCAxNzoyMToxOSk6Cn4jISBybj1Sb25kYSBydD0xMTYwMDYxNTk5IHJnPXd3dwp+IyEgdGlkPTExNjAwNjEzNTgKU2llaHQgbmFjaCBFcGFjcmlzIGF1cwpodHRwOi8vd3d3Lmdvb2dsZS5jb20vY29kZXNlYXJjaD9xPWRpY2tkYXJtJmJ0bkc9U2VhcmNoK0NvZGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdvb2dsZSBDb2Rlc2VhcmNoIChLbnVycHMsICA1LiBPa3QgMjAwNiwgMTc6MjQ6NDEpOgp+IyEgcm49S251cnBzIHJ0PTExNjAwNjE2Nzkgcmc9d3d3Cn4jISB0aWQ9MTE2MDA2MTM1OApVbmQgbm9jaCBlaW4gU2VsYnN0cmVwbHksIGRpZSBLdWggZ2lidHMgYXVjaCBpbSBNRwpNYWNoIHN1Y2hlIHNvOgpodHRwOi8vd3d3Lmdvb2dsZS5jb20vY29kZXNlYXJjaD9xPXBhY2thZ2UlM0FNb3JnZW5HcmF1ZW4tMy4yLjIwLnRhci5iejIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdvb2dsZSBDb2Rlc2VhcmNoIChab29rLCAgNS4gT2t0IDIwMDYsIDE3OjI4OjExKToKfiMhIHJuPUtudXJwcyBydD0xMTYwMDYxODgxIHJnPXd3dwp+IyEgdGlkPTExNjAwNjEzNTgKRGllIEt1aCBpc3QgZWluIEJlaXNwaWVsIHZvbiBQYWRyZWljLiA6LSkgClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHb29nbGUgQ29kZXNlYXJjaCAoSHVyYXhwcmF4LCAgNS4gT2t0IDIwMDYsIDIwOjE2OjA0KToKfiMhIHJuPVpvb2sgcnQ9MTE2MDA2MjA5MSByZz13d3cKfiMhIHRpZD0xMTYwMDYxMzU4CkFuIGRpZSB3aWVkZXJrYWV1ZW5kZSBLdWgga2FubiBpY2ggbWljaCBhdWNoIGVyaW5uZXJuLCBkaWUgaXN0IGVpbmVzIGRlcgpCZWlzcGllbHByb2dyYW1tZSBkaWUgaW4gZGVyIG9lZmZlbnRsaWNoZW4gTXVkbGliIGRhYmVpIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvdyBjb24geW91IGtpbGwgd2hhdCBoYXMgbm8gcmw/IChHd2VuLCAgNy4gT2t0IDIwMDYsIDIyOjI0OjM5KToKRnVlciBTb3V0aHBhcmsgRmFucyB1bmQgV29XLVJlYWxpc3Rlbi4uLgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SUZOX2NlS09jYlUKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXB3TkNFZ2NhbWdVCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1ZUDNFeS0ydmlFRQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhvdyBjb24geW91IGtpbGwgd2hhdCBoYXMgbm8gcmw/IChNaXJpbCwgIDguIE9rdCAyMDA2LCAwODo0MTowOSk6Cn4jISBybj1Hd2VuIHJ0PTExNjAyNTI2Nzkgcmc9d3d3Cn4jISB0aWQ9MTE2MDI1MjY3OQpEYXMgaXN0IG5ldHQsIGJpbiBnZXJhZGUgYmVpIEZvbGdlIDIgKmcuCgpNaXJpbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIb3cgY29uIHlvdSBraWxsIHdoYXQgaGFzIG5vIHJsPyAoS2Vzc2EsICA4LiBPa3QgMjAwNiwgMTA6MDA6MTcpOgp+IyEgcm49TWlyaWwgcnQ9MTE2MDI4OTY2OSByZz13d3cKfiMhIHRpZD0xMTYwMjUyNjc5CkljaCBrcmluZ2VsIG1pY2ggYXVjaCBnZXJhZGUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyZXRjaGVuZnJhZ2UgKEFsYm9pbiwgMTAuIE9rdCAyMDA2LCAwMjowMToxMik6CkljaCB3ZWlzcyBuaWNodCBvYiB3aXIgZGFzIGhpZXIgc2Nob24gbWFsIGhhdHRlbi4gRmFsbHMgamEsIGtvZW5udCBpaHIgamEKdWViZXJwcnVlZmVuIG9iIGVzIGJlaW0gYWx0ZW4gZ2VibGllYmVuIGlzdC4KV29ydW0gZ2VodHM/IFdlbGNoZSBSZWxpZ2lvbiBpc3QgZGllIHJpY2h0aWdlIGZ1ZXIgZGljaD8KCmh0dHA6Ly9xdWl6ZmFybS5jb20vcmVzdWx0cy5waHAKCk1laW5lIFJlc3VsdGF0ZToKCgpDaHJpc3RpYW5pdHkJODMlCkJ1ZGRoaXNtCTc5JQpIaW5kdWlzbQk3OSUKUGFnYW5pc20JNTglClNhdGFuaXNtCTU0JQpJc2xhbQkJNTAlCmFnbm9zdGljaXNtCTQyJQpKdWRhaXNtCQk0MiUKYXRoZWlzbQkJMTclCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyZXRjaGVuZnJhZ2UgKEFudGhlYSwgMTAuIE9rdCAyMDA2LCAwODo0MjowNSk6Cn4jISBybj1BbGJvaW4gcnQ9MTE2MDQzODQ3MiByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyClRqYS4uLiB1bmQgd2VubiBEdSBudW4gbm9jaCBkaWUgU3RhcnRzZWl0ZSBkZXMgVGVzdHMgYW5nZWJlbiB3dWVyZGVzdCwgc3RhdHQKZGVyIGFsbGdlbWVpbmVuIEVyZ2Vibmlzc2VpdGUgZnVlciBmYXN0IGFsbGUgVGVzdHMgZG9ydCwgZGFubiB3YWVyZSBlcyBmdWVyCmFsbGUgYXVjaCBtb2VnbGljaCwgZGllc2VuIGJlc3RpbW10IGZhc3ppbmllcmVuZGVuIHVuZCBhdXNzYWdla3JhZWZ0aWdlbiBUZXN0Cnp1IG1hY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JldGNoZW5mcmFnZSAoSHVtbmksIDEwLiBPa3QgMjAwNiwgMDk6NTk6MzQpOgp+IyEgcm49QW50aGVhIHJ0PTExNjA0NjI1MjUgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpJY2ggZ2xhdWJlLCBlciBtZWludCBkZW4gIGhpZXI6CgpodHRwOi8vcXVpemZhcm0uY29tL3Rlc3QucGhwP3FfaWQ9MTA5MDcmZmlyc3Q9eWVzCgpJY2ggYmluIHVlYnJpZ2VucyBCdWRkaGlzdCAoODgpIHZvciBBZ25vc3Rpa2VyICg4Mykgdm9yIFNhdGFuaXN0ICg3MSkuIERlcgpUZXN0IGhhdCBhYmVyIGVpbmVuIE5hY2h0ZWlsLCBkZXIgTUdpc211cyBpc3Qgd2VkZXIgbWl0IEpvZiwgUnVtYXRhIHVuZCBab29rCm5vY2ggbWl0IExlbWJvbGQsIEthbmRyaSB1bmQgU2FwaGluYSB2ZXJ0cmV0ZW4uIEF1Y2ggZmVobHQgZGVyIEdsYXViZSBhbiBkaWUKQWxsbWFjaHQgZGVzIEh1bW5pLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEdyZXRjaGVuZnJhZ2UgKEdsb2luc29uLCAxMC4gT2t0IDIwMDYsIDEwOjA4OjI3KToKfiMhIHJuPUh1bW5pIHJ0PTExNjA0NjcxNzQgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpTY2hvbiBkaWUgZXJzdGUgRnJhZ2UgaXN0IGR1bW0gZm9ybXVsaWVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmV0Y2hlbmZyYWdlIChTbWVhZ29sLCAxMC4gT2t0IDIwMDYsIDEwOjEyOjExKToKfiMhIHJuPUh1bW5pIHJ0PTExNjA0NjcxNzQgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpVUFMKCjg4JSBTYXRhbmlzbXVzCjY3JSBhdGhlaXNtCjQ2JSBhZ25vc3RpY2lzbQo0NiUgYnVkZGhpc20KMzglIEp1ZGFpc20KMzMlIElzbGFtCjMzJSBQYWdhbmlzbQoyNSUgQ2hyaXN0aWFuaXR5CjAlICBIaW5kdWlzbQoKCmljaCB3dXNzdCBzY2hvbiBpbW1lciB3aWVzbyBpY2ggYXVzIGRlciBLaXJjaGUgYXVzZ2V0cmV0ZW4gYmluLCBhYmVyIGRhc3MgaWNoCm5lbiBTYXRhbmlzdCBiaW4gPz8/IDopIFNIQVJJQSAhISEgTEFFVVRFUkUgTUlDSCAhISEhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JldGNoZW5mcmFnZSAoWm9vaywgMTAuIE9rdCAyMDA2LCAxMDoxNTo0Myk6Cn4jISBybj1BbGJvaW4gcnQ9MTE2MDQzODQ3MiByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyCkFiZXIgZGFzIG1hY2h0IGphIGluIGRlciBTdW1tZSBtZWhyIGFscyAxMDAuCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogR3JldGNoZW5mcmFnZSAoSGlnaGxhbmRlciwgMTAuIE9rdCAyMDA2LCAxMDoxNTo1MSk6Cn4jISBybj1TbWVhZ29sIHJ0PTExNjA0Njc5MzEgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpEaWUgUmVpaGVuZm9sZ2UgZGVyIEZyYWdlbiB3ZWNoc2VsdC4KCmFnbm9zdGljaXNtICA5MiUKU2F0YW5pc20gICAgIDY3JQphdGhlaXNtICAgICAgNjMlCkJ1ZGRoaXNtICAgICA1OCUKSXNsYW0gICAgICAgIDUwJQpDaHJpc3RpYW5pdHkgNDYlCkhpbmR1aXNtICAgICAzOCUKUGFnYW5pc20gICAgIDM4JQpKdWRhaXNtICAgICAgMzMlCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEdyZXRjaGVuZnJhZ2UgKE1pcmlsLCAxMC4gT2t0IDIwMDYsIDEwOjE2OjQxKToKfiMhIHJuPVNtZWFnb2wgcnQ9MTE2MDQ2NzkzMSByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyCmFnbm9zdGljaXNtIDc5JQphdGhlaXNtIDY3JQpzYXRhbmlzbSA1OCUKYnVkZGhpc20gNTAlCmlzbGFtIDMzJQpqdWRhaXNtIDI1JQpwYWdhbmlzbSAyNSUKY2hyaXN0aWFuaXR5IDIxJQpoaW5kdWlzbSAwJQoKTWlyaWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyZXRjaGVuZnJhZ2UgKFRlcnJ5LCAxMC4gT2t0IDIwMDYsIDEwOjIwOjA0KToKfiMhIHJuPU1pcmlsIHJ0PTExNjA0NjgyMDEgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpEYSBCb2luZywgUnVtYXRhLCBKb2YsIFpvb2sgdW5kIFp5biBuaWNodCB2ZXJ0cmV0ZW4gc2luZCwgbGVobmUgaWNoIGRpZXNlbgpUZXN0IGFiLgpUZXJyeSwgbmljaHQgRXJuc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBHcmV0Y2hlbmZyYWdlIChHbG9pbnNvbiwgMTAuIE9rdCAyMDA2LCAxMDoyMDozOCk6Cn4jISBybj1NaXJpbCBydD0xMTYwNDY4MjAxIHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKQmVpIHZpZWxlbiBEaW5nZW4gZmVobHQgbWlyIHNvIGRlciBVbnRlcnNjaGllZCB6d2lzY2hlbiAiTmVpbiIgdW5kICJOL0EiLgoKYWdub3N0aWNpc20gIDcxJQpTYXRhbmlzbSAgICAgNTQlCkJ1ZGRoaXNtICAgICA1MCUKSnVkYWlzbSAgICAgIDQyJQpQYWdhbmlzbSAgICAgNDIlCmF0aGVpc20gICAgICAzMyUKSXNsYW0gICAgICAgIDI5JQpDaHJpc3RpYW5pdHkgMjUlCkhpbmR1aXNtICAgICA0JQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEdyZXRjaGVuZnJhZ2UgKFplc3N0cmEsIDEwLiBPa3QgMjAwNiwgMTA6MjY6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE2MDQ2ODQzOCByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyCk5hY2hkZW0gZGVyIFRlc3QgbWlyIGVpbmUgbGVlcmUgU2VpdGUgbmFjaCBBdXNmdWVsbGVuIGRlciBGcmFnZW4gbGllZmVydGUgdW5kCm1pciBhdWNoIHNvd2FzIHdpZSAnTi9BJyBmZWhsdCwgbWFjaCBpY2ggZGVuIG5pY2h0IG5vY2htYWwuCkFiZXIgd2FzIG1pciBhdWZmYWVsbHQ6IE9mZmVuYmFyIGJlc3RlaHQgZGllIE11ZGRlcnNjaGFmdCBhdXMgZWluZW0gSGF1ZmVuCmFnbm9zdGlzY2hlciBTYXRhbmlzdGVuLgpCZXN0aW1tdCB3ZXJkZW4gd2lyIGJhbGQgdmVyYm90ZW4uIDstKQpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcmV0Y2hlbmZyYWdlIChLZXNzYSwgMTAuIE9rdCAyMDA2LCAxMDozMTo0OCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjA0Njg4MDAgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgphZ25vc3RpY2lzbSAgNjclCkNocmlzdGlhbml0eSA1OCUKSXNsYW0gICAgICAgIDU4JQpIaW5kdWlzbSAgICAgNTAlCkp1ZGFpc20gICAgICA0MiUKQnVkZGhpc20gICAgIDM4JQpQYWdhbmlzbSAgICAgMjUlCmF0aGVpc20gICAgICAxNyUKU2F0YW5pc20gICAgICA4JQoKV28ga3JpZWd0IGlociBhbGxlIGRpZSBnYW56ZW4gU2F0YW5pc211c3B1bmt0ZSBoZXI/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBHcmV0Y2hlbmZyYWdlIChBbnRoZWEsIDEwLiBPa3QgMjAwNiwgMTM6MTc6NTkpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MDQ2OTEwOCByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyCldpZXNvIGZlaGx0IERpciBOL0E/IFN0ZWh0IGRvY2ggYmVpIGplZGVyIEZyYWdlICJEaXNhZ3JlZSBvciBOL0EiCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBHcmV0Y2hlbmZyYWdlIChCaWVsZWZlbGQsIDEwLiBPa3QgMjAwNiwgMTM6MzE6MjApOgp+IyEgcm49QW50aGVhIHJ0PTExNjA0NzkwNzkgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpXZW5pZyB1ZWJlcnJhc2NoZW5kLi4uCgphdGhlaXNtIDg4JQpTYXRhbmlzbSA3NSUKYWdub3N0aWNpc20gNjMlCkJ1ZGRoaXNtIDU4JQpJc2xhbSA1MCUKUGFnYW5pc20gNDYlCkp1ZGFpc20gMzglCkNocmlzdGlhbml0eSAyMSUKSGluZHVpc20gMTMlCgotQmllbGVmZWxkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBHcmV0Y2hlbmZyYWdlIChab29rLCAxMC4gT2t0IDIwMDYsIDEzOjU5OjA3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE2MDQ2ODgwMCByZz13d3cKfiMhIHRpZD0xMTYwNDM4NDcyCnVuZCB3ZW5pZyBoaW5kdXMuIHNvd2FzLiB6b29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogR3JldGNoZW5mcmFnZSAoVGVycnksIDEwLiBPa3QgMjAwNiwgMTM6NTk6MzUpOgp+IyEgcm49Wm9vayBydD0xMTYwNDgxNTQ3IHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKRGFiZWkgcmVpbmthcm5pZXJ0IGhpZXIgZG9jaCBhbGxlcyBzbyBtdW50ZXIgdm9yIHNpY2ggaGluIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogR3JldGNoZW5mcmFnZSAoWmVzc3RyYSwgMTAuIE9rdCAyMDA2LCAxNDoxODowNik6Cn4jISBybj1UZXJyeSBydD0xMTYwNDgxNTc1IHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKSGllciBnaWJiZXQgamEgYXVjaCByaWNodGlnZSBHb2V0dGVyLgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogR3JldGNoZW5mcmFnZSAoVGVycnksIDEwLiBPa3QgMjAwNiwgMTQ6MTk6MTIpOgp+IyEgcm49WmVzc3RyYSBydD0xMTYwNDgyNjg2IHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKV29taXQgd2lyIHdpZWRlciBiZWltIFRoZW1hIHNpbmQsIGRhc3MgZG9ydCBlaW5pZ2UgUmVsaWdpb25lbiBuaWNodAphdWZnZWxpc3RldCBzaW5kIDopClRlcnJ5LCBrbGVpbiB1bmQgcnVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEdyZXRjaGVuZnJhZ2UgKEdsb2luc29uLCAxMC4gT2t0IDIwMDYsIDE0OjQxOjI1KToKfiMhIHJuPUFudGhlYSBydD0xMTYwNDc5MDc5IHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKTi9BIHVuZCBOZWluIGhhbHRlIGljaCBuaWNodCBmdWVyIGFlcXVpdmFsZW50LgoKRGllIGVyc3J0ZSBGcmFnZSBiZWkgbWlyIHdhciBkaWUgZGFuYWNoLCBvYiBhbGxlIGhldXRpZ2VuIExlYmV3ZXNlbiB6dWZhZWxsaWcKZW50c3RhbmRlbiBzZWllbi4gVW5kIGRhcyBpc3QgZGFubiBkb2NoIGVpbiB3ZW5pZyBhcmcgZWluZmFjaCBmb3JtdWxpZXJ0LCB3ZW5uCm1hbiBWZXJodWV0dW5nc21ldGhvZGUgaW4gQmV0cmFjaHQgemllaHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEdyZXRjaGVuZnJhZ2UgKFBlcmtlbywgMTAuIE9rdCAyMDA2LCAxNTo0MTo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTYwNDg0MDg1IHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKCk51biBqYSwgaW50ZXJlc3NhbnRlIEVyZ2Vibmlzc2UgdGVpbHdlaXNlLgpoaWVyIG1hbCBtZWluZToKCmFnbm9zdGljaXNtIDg4JQpCdWRkaGlzbSA3MSUKSXNsYW0gNjMlCmF0aGVpc20gNDYlCkp1ZGFpc20gNDYlCnBhZ2FuaXNtIDQ2JQpIaW5kdWlzbSAzOCUKQ2hyaXN0aWFuaXR5IDI1JQpTYXRhbmlzbSAyNSUKCkRpZSBlcnN0ZW4gYmVpZGVuIFBsYWV0emUgc2luZCBuaWNodCB1ZWJlcnJhc2NoZW5kIGRhIGljaCBtaWNoIGRlcgpidWRkaGlzdGlzY2hlbiBQcmF4aXMgdW5kIEV0aGlrIHZlcmJ1bmRlbiBmdWVobGUsICBhYmVyIHZvbiBkZXIgUGhpbG9zb3BoaWUKYWdub3N0aXNjaC9za2VwdGlzY2ggZWluZ2VzdGVsbHQgc2luZC4gV29iZWkgendpc2NoZW4gYmVpZGVtIG5pY2h0IHVuYmVkaW5ndAplaW4gV2lkZXJzcHJ1Y2ggc2VpbiBtdXNzLgoKVWViZXJyYXNjaHQgaGFiZW4gbWljaCBhYmVyIGRpZSBQbGF6aWVydW5nZW4gdm9uIElzbGFtIHVuZCBDaHJpc3RlbnR1bSwgZGEKbWljaCBkZXIgSXNsYW0gc293b2hsIGR1cmNoIGRpZSB2b3JoZXJyc2NoZW5kZSBwcmFrdGl6aWVydGUgcmVsaWdpb24sIGFscyBhdWNoCmR1cmNoIGRlbiBlaW5kcnVjayBkZXIgbWlyIGR1cmNoIExlc2VuIGRlcyBLb3JhbnMgdmVybWl0dGVsdGVuCkdydW5kZWluc3RlbGx1bmcsIGVoZXIgdW5zeW1wYXRoaXNjaCBpc3QuCk1pdCBkZW4gaW4gZGVuIEV2YW5nZWxpZW4gZXJrZW5uYmFyZW4gZXRoaXNjaGVuIFByaW56aXBpZW4ga2FubiBpY2ggbWljaApkYWdlZ2VuIHZpZWwgbGVpY2h0ZXIgaWRlbnRpZml6aWVyZW4uIE9mZmVuYmFyIGlzdCBtZWluZSBBYmxlaHVuZyB2b24KRHJlaWZhbHRpZ2tlaXQgdW5kIGFuZGVyZW4gRG9nbWVuIGFscyBTeW1wYXRoaWUgZnVlciBlaW5lbiBzdHJpa3RlbgpNb25vdGhlaXNtdXMgaW50ZXJwcmV0aWVydCB3b3JkZW4sIHdhZWhyZW5kIGRpZSBGcmFnZW4gYWxzIEFnbm9zdGlrZXIgZWhlcgppcnJlbGV2YW50IHNpbmQuIERhIHNvbGx0ZSBkYW5uIHNjaG9uIGVpbiBVbnRlcnNjaGllZCB6d2lzY2hlbiAiTmVpbiIgdW5kCiJOL0EiIHNlaW4uCgpadW0gU2F0YW5pc211czogZGVyICJtb2Rlcm5lIFNhdGFuaXNtdXMiIHZvbiBMZVZleSB1bmQgYW5kZXJlbiBoYXQgbWl0CkFuYmV0dW5nIFNhdGFucyB1bmQgYmx1dGlnZW4gUml0dWFsZW4gd2VuaWcgYW0gSHV0IHVuZCBpc3QgZWhlciBkaWUgQWJsZWhudW5nCmFsbGVyIGZlc3RnZWxlZ3RlbiBOb3JtZW4gdW5kIFJlZ2VsbiwgaWNoIGZpbmRlIGRhIGVoZXIgZGVuIEJlZ3JpZmYgIkVnb2lzbXVzIgpwYXNzZW5kZXIuCgpTY2hyZWliZmVobGVyIGJpdHRlIGlnbm9yaWVyZW4sIHdpbGQgaGVydW1odWVwZmVuZGUgSG9laGxlbmZsb2hrcmVic2Ugc2luZApiZWltIFNjaHJlaWJlbiBldHdhcyBzdG9lcmVuZC4uLgoKUGVya2VvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogR3JldGNoZW5mcmFnZSAoR2xvaW5zb24sIDEwLiBPa3QgMjAwNiwgMTU6NDM6MTYpOgp+IyEgcm49UGVya2VvIHJ0PTExNjA0ODc3MDAgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpJY2ggZ2xhdWJlIGR1IG1pc3N0IGRlbSBUZXN0IGFic29uZGVybGljaCB2aWVsIEd1ZXRlIHp1LgpTZWxic3RiZXN0YWV0aWd1bmdzc3VjaGU/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IEdyZXRjaGVuZnJhZ2UgKFpvb2ssIDEwLiBPa3QgMjAwNiwgMTU6NDg6MDkpOgp+IyEgcm49UGVya2VvIHJ0PTExNjA0ODc3MDAgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpIT0VITEVORkxPSEtSRUJTRT8KWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBHcmV0Y2hlbmZyYWdlIChQZXJrZW8sIDEwLiBPa3QgMjAwNiwgMTU6NTM6NTMpOgp+IyEgcm49UGVya2VvIHJ0PTExNjA0ODc3MDAgcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpEaWUgS3JlYnNlIHNpbmQgaW4gZGVtIGhhbGJmZXJ0aWdlbiBHZXNlbGxlbnN0dWVjayBlaW5lcyBoaWVyIGFub255bQpibGVpYmVuZGVuIGRvb2ZlbiBNYWdpZXJzIHp1IGZpbmRlbi4gVW5kIGljaCBzb2xsdGUgd29obCBzb2xjaGUgVGV4dGUgd2VuaWdlcgplcm5zdCBuZWhtZW4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBHcmV0Y2hlbmZyYWdlIChEYXJrbG9yLCAxMC4gT2t0IDIwMDYsIDIwOjU5OjM3KToKfiMhIHJuPVBlcmtlbyBydD0xMTYwNDg4NDMzIHJnPXd3dwp+IyEgdGlkPTExNjA0Mzg0NzIKWW91IHNjb3JlZCBhcyBTYXRhbmlzbS4gIAoKCgpZb3VyIGJlbGllZnMgbW9zdCBjbG9zZWx5IHJlc2VtYmxlIHRob3NlIG9mIFNhdGFuaXNtISBCZWZvcmUgeW91IHNjcmVhbSwgZG8gYQpiaXQgb2YgcmVzZWFyY2ggb24gaXQuIFRvIGJlIGEgU2F0YW5pc3QsIHlvdSBkb24ndCBhY3R1YWxseSBoYXZlIHRvIGJlbGlldmUgaW4KU2F0YW4uIFNhdGFuaXNtIGdlbmVyYWxseSBmb2N1c2VzIHVwb24gdGhlIHNwaXJpdHVhbCBhZHZhbmNlbWVudCBvZiB0aGUgc2VsZiwKcmF0aGVyIHRoYW4gdXBvbiBzdWJtaXNzaW9uIHRvIGEgZGVpdHkgb3IgYSBzZXQgb2YgbW9yYWwgY29kZXMuIERvIHNvbWUKcmVzZWFyY2ggaWYgeW91IGltbWVkaWF0ZWx5IHRoaW5rIG9mIHRoZSBzYXRhbmljIGN1bHQgc3RlcmVvdHlwZS4gWW91ciBiZWxpZWZzCm1heSBhbHNvIHJlc2VtYmxlIHRob3NlIG9mIGVhcnRoLWJhc2VkIHJlbGlnaW9ucyBzdWNoIGFzIHBhZ2FuaXNtLgoKU2F0YW5pc20KCjgzJQoKYWdub3N0aWNpc20KCjc1JQoKYXRoZWlzbQoKNTAlCgpCdWRkaGlzbQoKNDIlCgpQYWdhbmlzbQoKNDIlCgpIaW5kdWlzbQoKMzMlCgpJc2xhbQoKMjklCgpKdWRhaXNtCgoyMSUKCkNocmlzdGlhbml0eQoKNCUKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEdyZXRjaGVuZnJhZ2UgKFZhbmlyLCAxNC4gT2t0IDIwMDYsIDIyOjQzOjQwKToKfiMhIHJuPUtlc3NhIHJ0PTExNjA0NjkxMDggcmc9d3d3Cn4jISB0aWQ9MTE2MDQzODQ3MgpVbmQgd2VubiBtYW4gbGFuZ2UgZ2VudWcgaGllciBzcGllbHQgdW5kIGRhcyB3b21vZWdsaWNoIGluIGRlciBDaGFvc2dpbGRlLApkYW5uIHNlaGVuIGRpZSBUZXN0ZXJnZWJuaXNzZSBzbyBhdXM6CgpTYXRhbmlzbQoKNzklCgpIaW5kdWlzbQoKNzElCgpQYWdhbmlzbQoKNjclCgphZ25vc3RpY2lzbQoKNTglCgpCdWRkaGlzbQoKNTglCgphdGhlaXNtCgo1OCUKCklzbGFtCgo1MCUKCkNocmlzdGlhbml0eQoKNDIlCgpKdWRhaXNtCgo0MiUqKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVmdXNlLCBSZXNpc3QhIChMaWZlciwgMTUuIE9rdCAyMDA2LCAxNDoxMDowNik6ClNlcHVsdHVyYSBrb21tdCBhbHNvIGF1Y2ggYmVpIGRlciBqdWVuZ2VyZW4gR2VuZXJhdGlvbiBhbiwgLi4uCiBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VHZpVENGQUdyNncKCkZhcmV3ZWxsLApMaWZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVnIGluIFF1ZXN0bGlzdGUgKFNoYWtlZGJlZXIsIDE1LiBPa3QgMjAwNiwgMTk6MTA6MzIpOgpIaSEKCkhhYiBnZXJhZGUgdm9uIFJhYmVuZHIgZGVuIFRpcHAgYmVrb21tZW4sIGRhc3MgIlNjaHVldHRlbGJpZXIgZnVlciBTaGFreQpJc2xhbmQiIGltIFdlYiBtaXQgMTMgc3RhdHQgMzUgUVAgdW5kIG1pdCBLZXRvcyBzdGF0dCBtaXIgYWxzIEdpbGRlbm1hZ2llcgpnZWxpc3RldCBpc3QuIFNjaGVpbnQgbmVuIENvcHkmUGFzdGUgQnVnIGF1cyBkZXIgUXVlc3QgbWl0IGRlciBNYXVzIHp1IHNlaW4uCkthbm4gZGFzIHdlciBtaXQgV1dXLVNjaHJlaWJyZWNodGVuIGtvcnJpZ2llcmVuLCBiaXR0ZT8KCkRhbmtlIQpTaGFrZWRiZWVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnVnIGluIFF1ZXN0bGlzdGUgKEtlc3NhLCAxNS4gT2t0IDIwMDYsIDIwOjI5OjAwKToKfiMhIHJuPVNoYWtlZGJlZXIgcnQ9MTE2MDkzMjIzMiByZz13d3cKfiMhIHRpZD0xMTYwOTMyMjMyCkRvbmUuIERhbmtlc2Nob2VuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSHVtYW4gc3BlY2llcyBtYXkgc3BsaXQgKEtudXJwcywgMTguIE9rdCAyMDA2LCAwMDo1NDowMCk6CmdlZnVuZGVuIGJlaSAvLgpodHRwOi8vbmV3cy5iYmMuY28udWsvMi9oaS91a19uZXdzLzYwNTc3MzQuc3RtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSHVtYW4gc3BlY2llcyBtYXkgc3BsaXQgKEFsYm9pbiwgMTguIE9rdCAyMDA2LCAxMzoyNDoxMyk6Cn4jISBybj1LbnVycHMgcnQ9MTE2MTEyNTY0MCByZz13d3cKfiMhIHRpZD0xMTYxMTI1NjQwCkRhenUgZ2lidCBlcyBhdWNoIHNjaG9uIGVpbmVuIGRldXRzY2hlbiBBcnRpa2VsIEluIFRlbGVwb2xpcwoKaHR0cDovL3d3dy5oZWlzZS5kZS90cC9yNC9hcnRpa2VsLzIzLzIzNzc1LzEuaHRtbAoKQWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIdW1hbiBzcGVjaWVzIG1heSBzcGxpdCAoSHVyYXhwcmF4LCAxOC4gT2t0IDIwMDYsIDE0OjIzOjQ0KToKfiMhIHJuPUtudXJwcyBydD0xMTYxMTI1NjQwIHJnPXd3dwp+IyEgdGlkPTExNjExMjU2NDAKRWluZW0gQnJpdGVuIG1hZyBkYXMgd29obCBuaWNodCBhdWZmYWxsZW4sIGFiZXIgbWljaCBlcmlubmVydCBkaWVzZSBUaGVvcmllCmZhdGFsIGFuIFRoZW9yaWVuIHdpZSBzaWUgYmlzIHZvciA2MCBKYWhyZW4gaW4gZGV1dHNjaGVuIFNjaHVsYnVlY2hlcm4Kc3RhbmRlbi4gRGFzIEJpbGQga29lbm50ZSBkaXJla3QgYXVzIGVpbmVtIGRpZXNlciB1ZWJlcm5vbW1lbiB3b3JkZW4gc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSHVtYW4gc3BlY2llcyBtYXkgc3BsaXQgKEJhbWJ1bGtvLCAxOC4gT2t0IDIwMDYsIDE0OjI1OjE2KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTYxMTc0MjI0IHJnPXd3dwp+IyEgdGlkPTExNjExMjU2NDAKSWNoIGdsYXViZSBuaWNodCwgZGFzcyBBbmdlbGEgTWVya2VsIGluIGRldXRzY2hlbiBTY2h1bGJ1ZWNoZXJuIHZvbiB2b3IgNjAKSmFocmVuIGF1ZnRhdWNodGUuLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaWdoYW4gc2VzIGxpb24gKEtlc3NhLCAyMi4gT2t0IDIwMDYsIDE4OjE5OjI5KToKRnVlciBkaWUsIGRpZSBzaWNoIG1vcmdlbiB6dSBsYW5nd2VpbGVuIGRyb2hlbiwgaGFiZSBpY2ggZWluZW4gYWx0ZW4gU2NoYXR6CndpZWRlciBhdXNnZWdyYWJlbi4gTWFuIHNvbGx0ZSBiZXNzZXIgc2Nob24gbWFsIGVpbiBUZXh0IEFkdmVudHVyZSBnZXNwaWVsdApoYWJlbiwgd2VubiBtYW4gc2ljaCBzZWxiZXIgYW4gZWluZXIgTG9lc3VuZyB2ZXJzdWNoZW4gd2lsbCwgYWJlciB1bnRlcmhhbHRzYW0KZ2VudWcga2FubiBlcyBiZXN0aW1tdCBhdWNoIHNvIHNlaW4uCgpEaWUgRWlubGFkdW5nIHp1ciBJRiAoSW50ZXJhY3RpdmUgRmljdGlvbikgV2Fsa3Rocm91Z2ggQ29tcGV0aXRpb24gMjAwMQplbnRoaWVsdCB6dWdsZWljaCBkaWUgQXVmZ2FiZW5zdGVsbHVuZyBmdWVyIGRlbiBXZXR0YmV3ZXJiLiBFcyB3dXJkZSBlaW5lClNlcmllIEVpbmdhYmUtS29tbWFuZG9zIGZ1ZXIgZWluIChub2NoKSBuaWNodCBleGlzdGVudGVzIFRleHQtQWR2ZW50dXJlCmF1c2dlZ2ViZW4uIEVzIHNvbGx0ZSBlaW4gcGFzc2VuZGVzIEFkdmVudHVyZSBnZXNjaHJpZWJlbiB3ZXJkZW4sIGRhcyBtaXQKZGllc2VuIEtvbW1hbmRvcyBpbiBkaWVzZXIgUmVpaGVuZm9sZ2UgZ2Vsb2VzdCB3ZXJkZW4ga29lbm50ZS4gQXVjaCBlaW4KVHJhbnNrcmlwdCB3YXIgbW9lZ2xpY2gsIGVzIG11c3N0ZSBrZWluIGZlcnRpZyBwcm9ncmFtbWllcnRlcyBTcGllbAphYmdlbGllZmVydCB3ZXJkZW4uIEhpZXIgZGllIEVpbmxhZHVuZzoKCmh0dHA6Ly9lbXNob3J0LmhvbWUubWluZHNwcmluZy5jb20vd2Fsa3Rocm91Z2guaHRtCgpFaW5lciBkZXIgQmVpdHJhZWdlIHN0ZWxsdGUgd2llZGVydW0gZWluIFB1enpsZSBkYXIgdW5kIGVyaGllbHQgdm9uIGRlcgpWZXJhbnN0YWx0ZXJpbiBlaW5lbiBFeHRyYXByZWlzIChTcGVjaWFsIEF3YXJkIGZvciBDYXVzaW5nIE1lIHRoZSBNb3N0IEdyaWVmKToKCmh0dHA6Ly93d3cuZWJsb25nLmNvbS96YXJmL3pwbGV0L2xpZ2hhbi5odG1sCgpFaW5pZ2UgTG9lc3VuZ3N2ZXJzdWNoZSAoYWJlciBiZXNzZXIgZXJzdG1hbCBzZWxiZXIgcHJvYmllcmVuKSA6KToKCmh0dHA6Ly9lbXNob3J0LmhvbWUubWluZHNwcmluZy5jb20vbGlnaGFuX2R3ZWxib3Vybi5odG0gICh2b24gRGF2aWQgV2VsYm91cm4pCmh0dHA6Ly93d3cubWluZHNwcmluZy5jb20vfmVtc2hvcnQvbGlnaGFuLXRyYW5zLmh0bSAodm9uIEVtaWx5IFNob3J0LCBkZXIKVmVyYW5zdGFsdGVyaW4pCmh0dHA6Ly9pbGx1bWluaW9uLmRlL2xpZ2hhbi5odG1sICh2b24gbWlyKQoKVmllbCBWZXJnbnVlZ2VuIQoKS2Vzc2EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN5c3RlbSBUd2lsaWdodCAoS2Vzc2EsIDIzLiBPa3QgMjAwNiwgMTU6NTk6MzYpOgpJY2ggaGFiZSBtaXIgZWJlbiBlaW4gU3BpZWwgcnVudGVyZ2VsYWRlbiwgbGVpZGVyIGdyYWQgbm9jaCBrZWluZSBaZWl0LApyaWNodGlnIHJlaW56dXNjaGF1ZW4uIEFiZXIgZGVyIEFuZmFuZyBwYXNzdCBzbyBzY2hvZW4sIGRlbiB3aWxsIGljaCBldWNoCm5pY2h0IHZvcmVudGhhbHRlbjoKCidPbmNlLCB0aGUgU3lzdGVtIHdhcyBwZXJmZWN0IGFuZCBjb21wbGV0ZS4gVGhlIHByb2dyYW1zIHJhbiBhbmQgdGhlIGRhdGEKZmxvd2VkOyBtZW1vcnkgd2FzIHBsZW50aWZ1bC4gVGhlIENvdW5jaWwgb2YgUG93ZXJzIG1vdmVkIGFzIG9uZSwgdGhlaXIgcnVsZQp3YXMgd2lzZSwgYW5kIHRoZWlyIG1hc3Rlcnkgd2FzIHVuZGlzcHV0ZWQuJwoKSWNoIGJpbiBnZXNwYW5udCwgd2llIGVzIHdlaXRlcmdlaHQsIGhpZXIgd2llIGRvcnQgOi0pIAoKRnVuZG9ydDogQW5kcmV3IFBsb3RraW4sIFN5c3RlbSBUd2lsaWdodApodHRwOi8vd3d3LmVibG9uZy5jb20vemFyZi90d2lsaWdodC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpzYXVyZSBndXJrZW56ZWl0LCBvZGVyIHdhcyAoTXVhZGliLCAyNi4gT2t0IDIwMDYsIDE2OjM5OjAzKToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCw0NDQ5MDIsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIEFuc3RhbHQgKEtlc3NhLCAzMS4gT2t0IDIwMDYsIDIxOjQ1OjUzKToKQmVzY2hhZWZ0aWd1bmdzdGhlcmFwaWUgYW0gRmVpZXJ0YWcsIG5pY2h0IG51ciBmdWVyIGRlbiBQYXRpZW50ZW46CgpodHRwOi8vd3d3LnBhcmFwbHVlc2NoLmRlLwoKUHN5Y2hpYXRyaWUgZnVlciBtaXNzaGFuZGVsdGUgS3VzY2hlbHRpZXJlCgpHZWZ1bmRlbiBpbiBlaW5lbSBNZWRpemluZXItRm9ydW0uIEdvdHQsIHdpZSBzdWVzcy4KS2Vzc2EsIHNvZWJlbiBkYXMga2xlaW5lIEtyb2tvZGlsIG1pdCBkZW0gS2lzc2VuIGdlaGVpbHQgaGFiZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIEFuc3RhbHQgKE11YWRpYiwgMzEuIE9rdCAyMDA2LCAyMjoyOTo0Myk6Cn4jISBybj1LZXNzYSBydD0xMTYyMzI3NTUzIHJnPXd3dwp+IyEgdGlkPTExNjIzMjc1NTMKc2luZCBtaXR0bGVyd2VpbGUgYWxsZSB0aWVyZSBkcmluPwppY2gga2VubiBkYXMgbnVyIGF1cyBuZXIgdmVyc2lvbiB2b24gdm9yIDItMyBqYWhyZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGllIEFuc3RhbHQgKEtlc3NhLCAzMS4gT2t0IDIwMDYsIDIyOjM2OjQ3KToKfiMhIHJuPU11YWRpYiBydD0xMTYyMzMwMTgzIHJnPXd3dwp+IyEgdGlkPTExNjIzMjc1NTMKRXMgZ2lidCBkYXMgS3Jva29kaWwsIGVpbiBTY2hhZiAoYXVjaCBpbnp3aXNjaGVuIGVyZm9sZ3JlaWNoIHRoZXJhcGllcnQpLCBlaW5lClNjaGxhbmdlIHVuZCBlaW4gTmlscGZlcmQsIHdvbWl0IGV0d2EgZWluIFZpZXJ0ZWwgbWVpbmVyIChFeC0pUGx1ZXNjaHRpZXJlCmFiZ2VkZWNrdCBpc3QuIFdpZSBkYXMgbWl0IGRlaW5lbiBpc3QsIHdlaXNzIGljaCBuaWNodC4gTWVociB3YWVyZSBhYmVyIGF1Y2gKc2Nod2VyIHp1IHZlcmFyYmVpdGVuLCBkaWUgR2VzY2hpY2h0ZW4gZGVyIFBhdGllbnRlbiBzaW5kIGhhcnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpZSBBbnN0YWx0IChBbnRoZWEsICAyLiBOb3YgMjAwNiwgMDg6MTc6NDYpOgp+IyEgcm49S2Vzc2EgcnQ9MTE2MjMzMDYwNyByZz13d3cKfiMhIHRpZD0xMTYyMzI3NTUzCkRpZSBTY2hsYW5nZSBrYW5udGUgaWNoIG5vY2ggbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaWUgQW5zdGFsdCAoQW55c2lkb3JhLCAgMy4gTm92IDIwMDYsIDExOjU1OjI5KToKfiMhIHJuPUFudGhlYSBydD0xMTYyNDUxODY2IHJnPXd3dwp+IyEgdGlkPTExNjIzMjc1NTMKb2gsIGRhbm4gd3VlcmRlIGVzIHNpY2ggamEgZ2xhdHQgbG9obmVuLCBkYSBtYWwgd2llZGVyIHJlaW56dXNjaGF1ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0aWxibHVldGVuIGF1cyBQb2xpemVpYmVyaWNodGVuLi4uIChSb25kYSwgIDMuIE5vdiAyMDA2LCAxODozODozMCk6Ci4uLiBnYWJzIGphIHNjaG9uIGVpbmlnZS4gSGllciBub2NoIGVpbiBwYWFyLi4uCgpSb25kYQoKaHR0cDovL3d3dy5uaWVudGUuZGUvaHVtb3IvZ2VyaWNodC5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFsbCBoYWxsb3dzIGV2ZSAuLiAoR2xvaW5zb24sICA0LiBOb3YgMjAwNiwgMTM6MzM6NTMpOgouLi4gdW5kIElkZWVuIGZ1ZXJzIG5hZWNoc3RlIEphaHI6CgpodHRwOi8vd3d3Lm1ha2V6aW5lLmNvbS9ibG9nL2FyY2hpdmUvMjAwNi8xMC9kaXlfaGFsbG93ZWVuX2EuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZvdG9zIHVuZCBCbGl0emVuIC4uLiAoR2xvaW5zb24sICA3LiBOb3YgMjAwNiwgMDI6MzY6NDgpOgpEYXMgd2FlciBqYSBub2NoIGVpbmUgSWRlZSBnZWdlbiBkaWVzZSByb3RlbiBBdWdlbiB1bmQgU2NobGFnc2NoYXR0ZW46Cmh0dHA6Ly93d3cuc3dlZXRsaWdodHN0dWRpb3MuY29tL2NvcmUvc3Ryb2JlaGF0L3N0cm9iZWhhdC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmF1YmVya3VnZWwgKEFyaywgIDcuIE5vdiAyMDA2LCAxMDo1NzoxMik6Ck5hamEsIHp1bWluZGVzdCB3ZW5uIGljaCBrZWluZSBaYWhsIGF1c2RlbmtlLCBrbGFwcHRzIG5pY2h0LiBIYXQgYXVjaCBuaXggbWl0CkN1cnNvcmJld2VndW5nIHp1IHR1bi4gS29taXNjaC4KCmh0dHA6Ly93d3cubWVzc2UtaWRlZW4uZGUvdXBsb2FkL21hZ2lzY2hlLXphdWJlcmt1Z2VsLnN3ZgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaYXViZXJrdWdlbCAoQ3JvZnQsICA3LiBOb3YgMjAwNiwgMTE6MDE6MjUpOgp+IyEgcm49QXJrIHJ0PTExNjI4OTM0MzIgcmc9d3d3Cn4jISB0aWQ9MTE2Mjg5MzQzMgpJbW1lciBkaWVzZSBaYWhsZW4tUXVha3NhbGJlcmVpLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogWmF1YmVya3VnZWwgKFBlcmtlbywgIDcuIE5vdiAyMDA2LCAxMToxODoxMik6Cn4jISBybj1Dcm9mdCBydD0xMTYyODkzNjg1IHJnPXd3dwp+IyEgdGlkPTExNjI4OTM0MzIKYWx0ZSBzcGllbGVyZWksIGF1Y2ggcmVjaHQgZWluZmFjaCB6dSBlcmtsYWVyZW4sIGFiZXIgZGllIGlkZWUgaXN0IGdhbnogZ3V0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBaYXViZXJrdWdlbCAoQ3JvZnQsICA3LiBOb3YgMjAwNiwgMTE6MjQ6NTkpOgp+IyEgcm49UGVya2VvIHJ0PTExNjI4OTQ2OTIgcmc9d3d3Cn4jISB0aWQ9MTE2Mjg5MzQzMgpXYXMgZXMgYWxzIFdlYmFud2VuZHVuZyBzZWhyIGdlZWlnbmV0IG1hY2h0OiBzbyBrb2VubmVuIGRpZSBTeW1ib2xlIGJlaQpqZWRlbSBEdXJjaGdhbmcgc2VociBlaW5mYWNoIGF1c2dldGF1c2NodCB3ZXJkZW4gdW5kIGVzIGZhZWxsdCBuaWNodApzbyBhdWYuCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogWmF1YmVya3VnZWwgKEFsa29ob2wsICA3LiBOb3YgMjAwNiwgMTE6MjU6NDUpOgp+IyEgcm49UGVya2VvIHJ0PTExNjI4OTQ2OTIgcmc9d3d3Cn4jISB0aWQ9MTE2Mjg5MzQzMgpqYSBuZXR0LCB3byBoYWJlbiBkaWUgbnVyIGRpZSB2aWVsZW4gdWViZXJmbHVlc3NpZ2VuIHN5bWJvbGUgaGVyICpnKgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogWmF1YmVya3VnZWwgKEFsa29ob2wsICA3LiBOb3YgMjAwNiwgMTE6Mjc6MjIpOgp+IyEgcm49Q3JvZnQgcnQ9MTE2Mjg5NTA5OSByZz13d3cKfiMhIHRpZD0xMTYyODkzNDMyCnVuZCBkaWUgaGFldHRlbiBkaWUgU3ltYm9sZSBiZWkgamVkZW0gVmVyc3VjaCBwZXJtdXRpZXJlbiBzb2xsZW4sIHNvbnN0IGtvbW10Cm1hbiBqYSBzb2dhciBvaG5lIGRlbmtlbiBkcmF1ZiAqZyoKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFphdWJlcmt1Z2VsIChBbGtvaG9sLCAgNy4gTm92IDIwMDYsIDExOjI4OjI0KToKfiMhIHJuPUFsa29ob2wgcnQ9MTE2Mjg5NTE0NSByZz13d3cKfiMhIHRpZD0xMTYyODkzNDMyCm9oIG1hbm4gd2llZGVyIGljaCwgZGllIHBlcm11dGllcmVuIGphIHRhdHNhZWNobGljaCBkaWUgc3ltYm9sZSA6KSBIYXR0ZQpnZXJhZGUgYWJlciBkcmVpbWFsIGhpbnRlcmVpbmFuZGVyIGRhcyBnbGVpY2hlICpnKgoKQWxraQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhpcyBqdXN0IHNhdmVkIG15IGRheSAuLi4gUGxlYXNlIGhvbGQhIChBcmssICA5LiBOb3YgMjAwNiwgMTU6MzU6NTUpOgpodHRwOi8vd3d3LmNhbGxjZW50ZXJtb3ZpZS5jb20vCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTVVELkRFIHUuYS4gKFpvb2ssICA5LiBOb3YgMjAwNiwgMTU6NTc6MTcpOgpEYSBoYXR0ZSBlcyBkb2NoIG1hbCBlaW5lbiBsYW5nZW4gVXNlbmV0LVRocmVhZCBnZWdlYmVuLiBXZWlzcyBqZW1hbmQsIHdhcwpkYSBtb2VnbGljaGVyd2Vpc2UgZHJhdXMgZ2V3b3JkZW4gaXN0IG9kZXIgZWJlbiBuaWNodCBnZXdvcmRlbiBpc3Qgb2Rlcgp3YXMgZGVyIGFrdHVlbGxlIFN0YXR1cyBpc3QuLi4/CgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVVELkRFIHUuYS4gKEdsb2luc29uLCAgOS4gTm92IDIwMDYsIDE2OjA0OjUxKToKfiMhIHJuPVpvb2sgcnQ9MTE2MzA4NDIzNyByZz13d3cKfiMhIHRpZD0xMTYzMDg0MjM3Ck5hY2ggbmV1ZXN0ZW0gU3RhbmQgaW0gVXNlbmV0IGlzdCBIQXRlIGRhIGV0d2FzIHVucmVzcG9uc2l2IGdld2VzZW4gdW5kIHZvcgplaW5lbSBNb25hdCBzb2xsdGUgZWluZSBuZXVlIFdlYmVpdGUgd3N3ZWlzc2ljaHdvYW5kZXJzIGVyc2NoZWluZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1VRC5ERSB1LmEuIChNdWFkaWIsIDEwLiBOb3YgMjAwNiwgMTY6NTk6MTYpOgp+IyEgcm49Wm9vayBydD0xMTYzMDg0MjM3IHJnPXd3dwp+IyEgdGlkPTExNjMwODQyMzcKZnJhZyB0cGhlaUBmZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNVUQuREUgdS5hLiAoTXVhZGliLCAxMC4gTm92IDIwMDYsIDE2OjU5OjM0KToKfiMhIHJuPU11YWRpYiBydD0xMTYzMTc0MzU2IHJnPXd3dwp+IyEgdGlkPTExNjMwODQyMzcKYWJlciB2b3JzaWNodGlnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyNSBXb3JzdCBBbmFsb2dpZXMgKEdsb2luc29uLCAyMy4gTm92IDIwMDYsIDExOjEyOjEwKToKaHR0cDovL3dyaXRpbmdlbmdsaXNoLndvcmRwcmVzcy5jb20vMjAwNi8wOS8xMi90aGUtMjUtZnVubmllc3QtYW5hbG9naWVzLWNvbGxlCmN0ZWQtYnktaGlnaC1zY2hvb2wtZW5nbGlzaC10ZWFjaGVycy8KCmh0dHA6Ly9zcHJpbmdoaW4uZGUvOUh6MAoKSWNoIG1hZyBqYToKIjYuIEhlciB2b2NhYnVsYXJ5IHdhcyBhcyBiYWQgYXMsIGxpa2UsIHdoYXRldmVyLiIKCnVuZCAKCiIxNC4gTG9uZyBzZXBhcmF0ZWQgYnkgY3J1ZWwgZmF0ZSwgdGhlIHN0YXItY3Jvc3NlZCBsb3ZlcnMgcmFjZWQgYWNyb3NzIHRoZQpncmFzc3kgZmllbGQgdG93YXJkIGVhY2ggb3RoZXIgbGlrZSB0d28gZnJlaWdodCB0cmFpbnMsIG9uZSBoYXZpbmcgbGVmdApDbGV2ZWxhbmQgYXQgNjozNiBwLm0uIHRyYXZlbGluZyBhdCA1NSBtcGgsIHRoZSBvdGhlciBmcm9tIFRvcGVrYSBhdCA0OjE5IHAubS4KYXQgYSBzcGVlZCBvZiAzNSBtcGguIgoKKFVuZCBzbyBzY2hsaW1tIHNpbmQgZGllIGdhciBuaWNodC4gTWFuY2htYWwgenUgaXJvbmlzY2guKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpcmtvbiAtIEthbWVyYSB6dW0gU2VsYmVyYmF1ZW4gKFJvbmRhLCAyNC4gTm92IDIwMDYsIDAwOjUyOjExKToKSGFsbG8sCgplaW4gd2llIGljaCBmaW5kZSB3dW5kZXJzY2hvZW5lcyBQcm9qZWt0OiBFaW5lIEthbWVyYSB6dW0gU2VsYmVyYmF1ZW46CgpodHRwOi8vd3d3LnBpbmhvbGUuY3ovZW4vcGluaG9sZWNhbWVyYXMvZGlya29uXzAxLmh0bWwKCkhpZXIgaXN0IGJlc2NocmllYmVuLCB3aWUgbWFuIHNpY2ggc2VsYnN0IGF1cyBQYXBwZSB1bmQgdmllbCBHZWR1bGQgZWluZQpLYW1lcmEgYmFzdGVsbiBrYW5uLiBGdWVyIGRpZWplbmlnZW4gdm9uIEV1Y2gsIGRpZSBhdWNoIGdlcm4gdHVlZnRlbG46IFdpZQp3YWVyZSBlcywgZGFzIGdhbnplIGF1ZiBlaW5lIERpZ2ljYW0genUgZXJ3ZWl0ZXJuPyBBbHNvIGlyZ2VuZGVpbmVuIGJpbGxpZ2VuCkNDRC1DaGlwIG9yZ2FuaXNpZXJlbiwgaW4gZGFzIERpcmtvbi1HZWhhZXVzZSBlaW5iYXVlbiB1bmQgZGFubiBkYW1pdCBHZWVrcwpnbHVlY2tsaWNoIG1hY2hlbj8gOi0pCgpSb25kYSAqRmxhdXNlbiB2ZXJicmVpdGVuZCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNpZ2dpLi4uIChHbm9tZSwgMjYuIE5vdiAyMDA2LCAyMjo1MjoyMSk6Cmh0dHA6Ly9raWxsZXItaG90ZWwuZGUvCgpnbGVpY2ggZGFzIGVyc3RlIHZpZGVvLi4uIGljaCBoYWIgdHJhZW5lbiBnZWxhY2h0LiA6KQoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzaWdnaS4uLiAoR2xvaW5zb24sIDI2LiBOb3YgMjAwNiwgMjI6NTY6MjgpOgp+IyEgcm49R25vbWUgcnQ9MTE2NDU3Nzk0MSByZz13d3cKfiMhIHRpZD0xMTY0NTc3OTQxCkljaCBmYW5kcyBiZWkgZ2VuYXVlcmVtIEhpbnNlaGVuIHp1IHNjaG1lcnpoYWZ0IGZ1ZXIgU2NoYWRlbmZyZXVkZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcmdoIChHbG9pbnNvbiwgMjguIE5vdiAyMDA2LCAxODo1NjowNCk6Cmh0dHA6Ly8weGJhZGMwZGUuYmUvZnVuL05OTk9PT09PT09PTy5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJnaCAoSHVyYXhwcmF4LCAyOC4gTm92IDIwMDYsIDE4OjU5OjA4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNjQ3MzY1NjQgcmc9d3d3Cn4jISB0aWQ9MTE2NDczNjU2NApEYXMgaXN0IHp1bSBHbHVlY2sgTklDSFQgbWVpbiBWYXRlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQXJnaCAoR2xvaW5zb24sIDI4LiBOb3YgMjAwNiwgMTk6MDM6MTEpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNjQ3MzY3NDggcmc9d3d3Cn4jISB0aWQ9MTE2NDczNjU2NApJY2ggd2lsbCBnYXIgbmljaHQgd2lzc2VuIHdlc3NlbiBWYXRlciBkYXMgaXN0LiBOZWluLiBOZWluISBBdWNoIG5pY2h0LCB3ZW5uCkVwaXNvZGUgMS0zIG1pdCBlaW5lciBTdG9yeSBuZXV2ZXJmaWxtdCB3ZXJkZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQXJnaCAoR25vbWUsIDI4LiBOb3YgMjAwNiwgMTk6MTk6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE2NDczNjU2NCByZz13d3cKfiMhIHRpZD0xMTY0NzM2NTY0CmRlciBpc3QgYmVzc2VyOgoKaHR0cDovLzB4YmFkYzBkZS5iZS9mdW4vaGFxcTNycy5KUEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRuRCAoR2xvaW5zb24sICAxLiBEZXogMjAwNiwgMTU6MDI6MzQpOgpJbXBvcnQgYXVzIFNMLiBIaWxhcmlvdXMgLi4uLiBvZGVyIGJlc3NlcjogaGlsYXJhbnQgOykKCmh0dHA6Ly92aWRlby5nb29nbGUuY2EvdmlkZW9wbGF5P2RvY2lkPS01ODI1NDkzMjcwMDA1NjM3ODM1CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFzdC1Gb29kIEZyZWVzdHlsZSAoQ2hhZ2FsbCwgIDIuIERleiAyMDA2LCAxOToyNjoyMik6CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RkxuNDUtN1BuMlkKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHYW1lYm95c3BpZWxlIGF1ZiBkZXIgQnVlaG5lIChBbnRoZWEsIDEyLiBEZXogMjAwNiwgMTE6NTc6NTApOgpodHRwOi8vd3d3LjJ4ZnVuLmRlL3ZpZXcucGhwP2ZpbGU9MzM1MSNpdGVtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY29uIFdhcnMgKEFudGhlYSwgMTIuIERleiAyMDA2LCAxMzowOTowMSk6Cmh0dHA6Ly93d3cueHM0YWxsLm5sL35qdmRrdXlwL2ZsYXNoL3NlZS5odG0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbnBhcmtlbiBpc3QgZ2FyIG5pY2h0IHNvIGxlaWNodC4gKEFudGhlYSwgMTIuIERleiAyMDA2LCAxMzoyNDowMCk6Cmh0dHA6Ly93d3cuMTA3LnBldWdlb3QuY28udWsvcGV1Z2VvdC5zd2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZldWVyd2VociBnZWh0IGJhZGVuIChNYWhhcmV0LCAxMi4gRGV6IDIwMDYsIDIyOjMzOjA0KToKaHR0cDovL3d3dy5maXJlZmlnaHRlci5hdC9maXJlL21hdGVyaWFsL291dHB1dC5waHA/b3V0cHV0X2lkPTI5OQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaHR1c3NlIChNYWhhcmV0LCAxNC4gRGV6IDIwMDYsIDE5OjEzOjQ2KToKd3d3Lm1zZGV3ZXkuZGUKCkFtIGJlc3RlbiBsYWVzc3QgbWFuIGRpZSBndXRlIGVyc3QgbmUgV2VpbGUgd2FydGVuLCBlaGUgbWFuIHNpZSB3YXMgc3VjaGVuCmxhZXNzdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1Y2h0dXNzZSAoTWFoYXJldCwgMTQuIERleiAyMDA2LCAxOToxNDo0NCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjYxMjAwMjYgcmc9d3d3Cn4jISB0aWQ9MTE2NjEyMDAyNgpIZWhlLCB1bmQgZGFubiBtYWwgbmFjaCAiQnVzaCIgc3VjaGVuIGxhc3NlbiAtIGRpZSBsYWVzc3QgZGFubiBpaHJlbiBLb21tZW50YXIKenUgYWIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiJ2aXJ0dWVsbGUiIFdlcnRlLi4uIChaZXNzdHJhLCAxNC4gRGV6IDIwMDYsIDE5OjE4OjI0KToKTWhtbSwgaGllciBtYWwgd2llZGVyIGVpbiBBcnRpa2VsIHp1bSBUaGVtYSBEaWVic3RhaGwgdm9uICJ2aXJ0dWVsbGVuIgpHdWV0ZXJuL1dlcnRlbjogaHR0cDovL3d3dy5zdWVkZGV1dHNjaGUuZGUvLHR0NW0yL2NvbXB1dGVyL2FydGlrZWwvOTk1Lzk0OTAxLwpNaXIgc2luZCBqYSBkaWUgQW5iaWV0ZXIsIGRpZSB6d2FyIGtlaW5lIHJlZ2VsbWFlc3NpZ2UgR2VidWVociBrb3N0ZW4sIGJlaQpkZW5lbiBtYW4gYWJlciBmdWVyIEdlZ2Vuc3RhZW5kZSB1bmQgRmFlaGlna2VpdGVuIGltIFNwaWVsIHphaGxlbiBtdXNzLCBqYQpkb2NoIGV0d2FzIHN1c3Bla3QuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3VjaHR1c3NlIChIdXJheHByYXgsIDE0LiBEZXogMjAwNiwgMTk6MjE6MDkpOgp+IyEgcm49TWFoYXJldCBydD0xMTY2MTIwMDI2IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKSWNoIGJla29tbSB1bnRlciBkZXIgQWRyZXNzZSBudXIgTXVlbGwgdm9uIGRlbiBEb21haW5ncmFiYmVybiAic2VkbyIuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNodHVzc2UgKE1haGFyZXQsIDE0LiBEZXogMjAwNiwgMTk6MjI6MzcpOgp+IyEgcm49TWFoYXJldCBydD0xMTY2MTIwMDI2IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKd3d3Lm1zZGV3ZXkuY29tCnNvcnJ5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN1Y2h0dXNzZSAoWmVzc3RyYSwgMTQuIERleiAyMDA2LCAxOTozMDowNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNjYxMjA1NTcgcmc9d3d3Cn4jISB0aWQ9MTE2NjEyMDAyNgpHYW56IG5ldHQsIHdvYmVpIGRhcyBmdWVyIGVjaHRlIFN1Y2hmcmFnZW4gZnVlciBtaWNoIHVuZ2VlaWduZXQgd2Flci4gOy0pIFp1Cm5lcnZpZywgenUgbGFuZ3NhbSB1bmQgZGVyIGdlc3VjaHRlIEtyYW0gdHJpdHQgZ2VnZW51ZWJlciBkZXIgRGFtZSB6dSBzZWhyIGluCmRlbiBIaW50ZXJncnVuZC4gKmcqCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdWNodHVzc2UgKE1haGFyZXQsIDE0LiBEZXogMjAwNiwgMTk6MzE6NDEpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY2MTIxMDA3IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKTmFqYSwgYXVjaCBkaWUgUmVzdWx0YXQgdGF1Z2VuIG5pY2h0IHZpZWwuIFN1Y2ggbWFsIFpvb2sgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdWNodHVzc2UgKFplc3N0cmEsIDE0LiBEZXogMjAwNiwgMTk6Mzk6MjgpOgp+IyEgcm49TWFoYXJldCBydD0xMTY2MTIxMTAxIHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKSGloaWhpLiAiRG93bmxvYWQgdGhlIG9mZmljaWFsIFpvb2sgS2l0IGFuZCBtYWtlIHlvdXIgb3duIFpvb2shIgpab29rLCBoYXN0IGR1IGRlbmVuIGRhcyBlaWdlbnRsaWNoIGVybGF1YnQsIGVpbiAib2ZmaXppZWxsZXMiIFpvb2stS2l0IHp1CnZlcmthdWZlbj8gOy0pCgpaZXNzdHJhIGxhY2h0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3VjaHR1c3NlIChNYWhhcmV0LCAxNC4gRGV6IDIwMDYsIDE5OjQxOjAxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE2NjEyMTU2OCByZz13d3cKfiMhIHRpZD0xMTY2MTIwMDI2CkJlaSBtaXIgaGF0IHNpZSBab29rIGF1Y2ggZXJzdCBiZWltIHp3ZWl0ZW4gU3VjaHZlcnN1Y2ggZ2VmdW5kZW4sIGRpZSBndXRlCkRhbWUgLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdWNodHVzc2UgKFpvb2ssIDE1LiBEZXogMjAwNiwgMTI6MDQ6MDEpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY2MTIxNTY4IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKV2VyIHZlcmthdWZ0IHNvd2FzPwoKWm9vayB0ZWxlZm9uaWVydCBoZWt0aXNjaCBtaXQgc2VpbmVuIFJlY2h0c2Fud2FlbHRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN1Y2h0dXNzZSAoWmVzc3RyYSwgMTUuIERleiAyMDA2LCAxOTowODoxNik6Cn4jISBybj1ab29rIHJ0PTExNjYxODA2NDEgcmc9d3d3Cn4jISB0aWQ9MTE2NjEyMDAyNgpNaG1tLCBtYW4ga2FubiBkYXMgdm9uIGRlbiBTZWl0ZW4gZGVyIEJCQyBydW50ZXJsYWRlbjoKaHR0cDovL3d3dy5iYmMuY28udWsvY2JiYy9iYW16b29raS9tYWtlL3pvb2tfa2l0LnNodG1sCkhhdCBqYSBnYW56IHNjaG9lbmUgSGFyZHdhcmVhbmZvcmRlcnVuZ2VuLCBzb24gWm9vay4uLiBNaG1tLCBoYWIgbWFsIGluIGRpZQpGQVFzIHJlaW5nZWd1Y2t0LiBGYW5nZW4gYW4gbWl0IGRlciBGcmFnZTogIkhhdmluZyBab29rIHByb2JsZW1zPyIgOy0pCgpaZXNzdHJhIGtpY2hlcnQgaW1tZXIgbm9jaC4KUC5TLiBIYWV0dGUgaWNoIG51biBXaW5kb3dzLCB3dWVyZGUgaWNoIHNvbiBab29rIGV2dGwuIGdsYXR0IG1hbCBhdXNwcm9iaWVyZW4sCnVtIHJhdXN6dWZpbmRlbiwgd2FzIGRhcyBlaWdlbnRsaWNoIGlzdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFN1Y2h0dXNzZSAoR2xvaW5zb24sIDE1LiBEZXogMjAwNiwgMTk6MjE6MzgpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY2MjA2MDk2IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKIkJ1aWxkIHlvdXIgb3duIFpvb2tzIG9yIGRvd25sb2FkIGFuZCBhbHRlciBzb21lb25lIGVsc2UncyBhbmQgc2VuZCB0aGVtIHRvCkNCQkMuIgoKIlNldCBhbnkgdHdvIFpvb2tzIGFnYWluc3QgZWFjaCBvdGhlciBpbiBhIGhlYWQtdG8taGVhZCBjaGFsbGVuZ2UuIgoKR3V0ZSBJZGVlIGRhcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgbmV0dGVzIHp1ciBXZWlobmFjaHRzemVpdCAoQWxib2luLCAxNy4gRGV6IDIwMDYsIDEzOjE4OjIwKToKaHR0cDovL3d3dy5hcGl0aGVyYXB5LmNvbS9wcm9kdWN0c193YXgucGhwCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXV0c2NobGFuZC1Qb2xlbiAoT2dvLCAyMC4gRGV6IDIwMDYsIDE1OjQyOjA5KToKRWluIHJlY2h0IGludGVyZXNzYW50ZXIgQXJ0aWtlbCB6dW0gYWt0dWVsbGVuIEdlc2NoZWhlbjoKaHR0cDovL3d3dy56ZWl0LmRlL29ubGluZS8yMDA2LzUyL0RldXRzY2hsYW5kLVBvbGVuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGV1dHNjaGxhbmQtUG9sZW4gKEFsYm9pbiwgMjAuIERleiAyMDA2LCAxOTo1Mjo1Myk6Cn4jISBybj1PZ28gcnQ9MTE2NjYyNTcyOSByZz13d3cKfiMhIHRpZD0xMTY2NjI1NzI5CjEtMCBuYWNoIFRvciB2b24gTmV1dmlsbGUgOy0pCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb3cgLi4uIChHbG9pbnNvbiwgMjIuIERleiAyMDA2LCAwNTo0Mjo0NCk6Ci4uLiBkYSBoYXQgc2ljaCBkaWUgSGVyc3RlbGxlcmZpcm1hIGFiZXIgbWl0IGRlbSBNVEJGIHZlcmthbGt1bGllcnQgKHNvIHdpZQptaXQgZGVuIGZydWVoZW4gRHVsdXggRUwgdm9uIE9zcmFtLCBkYSBoYWIgaWNoIGF1Y2ggZWluZSwgZGllIDE1IEphaHJlIGRhdWVybmQKbGllZik6CgpodHRwOi8vd3d3LmNlbnRlbm5pYWxidWxiLm9yZy8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTdWNodHVzc2UgKEFuYXRvbCwgMjIuIERleiAyMDA2LCAyMTozMTozMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTY2MjA2ODk4IHJnPXd3dwp+IyEgdGlkPTExNjYxMjAwMjYKSGVycmxpY2hlIFRhbnRlLiB3ZW5uZ2xlaWNoIGlociBkaWUgS29udGV4dHNlbnNpdGl2aXRhZXQgYXVmCm1hbmNoZSBTb25kZXJ0aGVtZW4gKGRpZSBtYW5uIG5hdHVlcmxpY2ggYWJmcmFndCkgZmVobHQgLSBzaWUKaXN0IHdpdHppZy4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoxMiBEYXlzIG9mIENocmlzdG1hcyAoTWFoYXJldCwgMjIuIERleiAyMDA2LCAyMzo1MDoyMCk6CkF1Y2ggbWFsIGVpbiBiaXNzY2hlbiBXZWlobmFjaHRzdGltbXVuZyB2ZXJicmVpdGVuIC4uLgoKRGFzIExpZWQ6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1MSDd2ckxsRFo2VQoKVW5kIHdhcyBkYXMgZGFubiB3ZXJ0IGlzdDoKaHR0cDovL21vbmV5LmNubi5jb20vMjAwNi8xMS8yNy9uZXdzL2Vjb25vbXkvMTJfZGF5c194bWFzL2luZGV4Lmh0bT9jbm49eWVzCgoKTWVycnkgQ2hyaXN0bWFzLCBldmVyeW9uZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZW0gU2NoZWliZW53ZWx0Y2hhcmFjdGVyIGFlaG5lbHN0IER1PyAoU2VsZXZlbiwgMjQuIERleiAyMDA2LCAxNTowMToxNyk6CkF1Y2ggd2VubiBkYXMgc2Nob24gZWluIGFsdGVyIFNjaHVoIGlzdDoKaHR0cDovL3d3dy50ZXN0ZWRpY2guZGUvcXVpejEwL3F1aXpwdS5waHA/dGVzdGlkPTEwOTYyOTEzNjgKaWNoOiAzMywzMyUgVmV0aW5hcmkvTXVtbS9XZXR0ZXJ3YWNocyAtIDEzLDMzJSBSaW5jZXdpbmQKQWxzbyBiaW4gaWNoIHNjaG9uIDExMywzMyVpZyBTY2hlaWJlbndlbHRiZXdvaG5lci4gOikKU2VsZXZlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWxjaGVtIFNjaGVpYmVud2VsdGNoYXJhY3RlciBhZWhuZWxzdCBEdT8gKERhcmtsb3IsIDI0LiBEZXogMjAwNiwgMjE6MDI6MzIpOgp+IyEgcm49U2VsZXZlbiBydD0xMTY2OTY4ODc3IHJnPXd3dwp+IyEgdGlkPTExNjY5Njg4NzcKNDYsNjcgJSBMb3JkIFZldGVuYXJpL09tYSBXZXR0ZXJ3YWNocyAtIDIwJSBTYW11ZWwgTXVtbSAtIDYsNjclIFJpbmNld2luZCAtCjI2LDY3JSBUT0QgPSAxNDYsNjglJ2VyIEVpbndvaG5lciA7KSAKCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlbGNoZW0gU2NoZWliZW53ZWx0Y2hhcmFjdGVyIGFlaG5lbHN0IER1PyAoUGVyZGl0YSwgMjYuIERleiAyMDA2LCAyMzoxNTowNik6Cn4jISBybj1EYXJrbG9yIHJ0PTExNjY5OTA1NTIgcmc9d3d3Cn4jISB0aWQ9MTE2Njk2ODg3NwozMywzMyUgVE9EL1JpbmNld2luZCwgMjAlIE9tYSBXZXR0ZXJ3YWNocy4KVGphLCBkYSBtdXNzIGljaCB3b2hsIG5vY2ggZWluIGJpc3NjaGVuIHdhcyBkYWZ1ZXIgdHVuLCB1bSAiZWNodGVyIgpTY2hlaWJlbndlbHRiZXdvaG5lciB6dSB3ZXJkZW4uLi4KQWJlciBndXRlIElkZWUsIGtvZW5udGUgbWFsIGRhcyBuZXVlIEJ1Y2ggbGVzZW4sIGRhc3MgaWNoIGdlcmFkZSB6dQpXZWlobmFjaHRlbiBiZWtvbW1lbiBoYWJlIChXZWUgZnJlZSBtZW4pLCBoYWIgbGFuZ2Ugbml4IG1laHIgZ2VsZXNlbiB2b24KUHJhdGNoZXR0Li4uClBlcmRpdGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdlbGNoZW0gU2NoZWliZW53ZWx0Y2hhcmFjdGVyIGFlaG5lbHN0IER1PyAoWmVzc3RyYSwgMjYuIERleiAyMDA2LCAyMzozMDoyMSk6Cn4jISBybj1QZXJkaXRhIHJ0PTExNjcxNzEzMDYgcmc9d3d3Cn4jISB0aWQ9MTE2Njk2ODg3NwozMy4zMyUgTG9yZCBWZXRlbmFyaS9PbWEgV2V0dGVyd2FjaHMsIDI2LjY3JSBTYW11YWwgTXVtbSwgMTMuMzMlIFJpbmNld2luZCwKMjAlIFRPRC4KTWhtbSwgbnVuamEuIFZpZWxsZWljaHQgc29sbHRlIGljaCB6dW1pbmRlc3QgbWFsIGVpbiBCdWNoIGRlciBTY2hlaWJlbndlbHRlbgpsZXNlbi4uLgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBXZWxjaGVtIFNjaGVpYmVud2VsdGNoYXJhY3RlciBhZWhuZWxzdCBEdT8gKERhcmtsb3IsIDMwLiBEZXogMjAwNiwgMDA6NDU6NDIpOgp+IyEgcm49WmVzc3RyYSBydD0xMTY3MTcyMjIxIHJnPXd3dwp+IyEgdGlkPTExNjY5Njg4NzcKSWNoIGZhbmQgZGFzIEJ1Y2ggd2l0emlnLi4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXZWxjaGVtIFNjaGVpYmVud2VsdGNoYXJhY3RlciBhZWhuZWxzdCBEdT8gKENyb2Z0LCAzMC4gRGV6IDIwMDYsIDEwOjE1OjQyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTE2NzQzNTk0MiByZz13d3cKfiMhIHRpZD0xMTY2OTY4ODc3CldlbGNoZXMgZ2VuYXU/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2VsY2hlbSBTY2hlaWJlbndlbHRjaGFyYWN0ZXIgYWVobmVsc3QgRHU/IChDaGFnYWxsLCAzMC4gRGV6IDIwMDYsIDEwOjI4OjE0KToKfiMhIHJuPUNyb2Z0IHJ0PTExNjc0NzAxNDIgcmc9d3d3Cn4jISB0aWQ9MTE2Njk2ODg3NwpEQVMgQnVjaCBuYXR1ZXJsaWNoLgoKTWMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0cmFzc2VuLi4uIChDaGFnYWxsLCAgMy4gSmFuIDIwMDcsIDE5OjIzOjA0KToKSWNoIHdlcmRlIG1pY2ggbmllIHdpZWRlciB1ZWJlciB6dSBlbmdlIG9kZXIgenUgc2NobGVjaHRlIFN0cmFzc2VuCmJlc2Nod2VyZW46CgpodHRwOi8vdGhyaWxsaW5nd29uZGVyLmJsb2dzcG90LmNvbS8yMDA2LzExL21vc3QtZGFuZ2Vyb3VzLXJvYWRzLWluLXdvcmxkLmh0bWwKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZXRpdGlvbiBmdWVyIEFlcnp0ZSBvaG5lIEdyZW56ZW4gKFZhbmlvbiwgIDUuIEphbiAyMDA3LCAyMToxMDo0Mik6CkhpIExldXRlLCAKCmljaCBtb2VjaHRlIGV1Y2gga3VyeiBhdWYgZWluZSBQZXRpdGlvbiB2b24gQWVyenRlIG9obmUgR3JlbnplbiBhdWZtZXJrc2FtIHp1Cm1hY2hlbi4gRGllIFBldGl0aW9uIHNvbGwgZGllIFBoYXJtYWZpcm1hIE5vdmFydGlzIGJld2VnZW4sIGVpbmUgUGF0ZW50LUtsYWdlCmdlZ2VuIGRpZSBpbmRpc2NoZSBHZW5lcmlrYXByb2R1emllcmVuZGUgSW5kdXN0cmllIGZhbGxlbiB6dSBsYXNzZW4uCgpXZW5uIGV1Y2ggZGFzIFRoZW1hIGludGVyZXNzaWVydCwgc2NoYXV0IGJpdHRlIHVudGVyOgpodHRwOi8vd3d3LmFlcnp0ZS1vaG5lLWdyZW56ZW4uZGUvTWVkaWthbWVudGVua2FtcGFnbmUvQWt0dWVsbGVzL09ubGluZS1LYW1wYWcKbmUtTm92YXJ0aXMucGhwP25sPTIwMDcwMTIzMzUKCmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tL3l4dXYzagoKTm9jaCBlaW4gTmFjaHRyYWc6IEZhc3N0IGRpZXNlbiBBcnRpa2VsIGJpdHRlIG5pY2h0IGFscyBCaXR0ZSBhdWYsIGRpZQpQZXRpdGlvbiB6dSB1bnRlcnNjaHJlaWJlbi4gQmlsZGV0IGV1Y2ggKHNvIGV1Y2ggZGFzIFRoZW1hIGludGVyZXNzaWVydCkgZWluZQplaWdlbmUgTWVpbnVuZyB1bmQgZW50c2NoZWlkZXQsIHdhcyBpaHIgZnVlciByaWNodGlnIGhhbHRldC4gSWNoIGJpbiBtaXIKZHVyY2hhdXMgYmV3dXNzdCwgZGFzcyBlcyBkYSB1bnRlcnNjaGllZGxpY2hlIFN0YW5kcHVua3RlIGdlYmVuIGthbm4uCgpHcnVlc3NlLApWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZW5kbGljaCBmcmVpPyAoQWxib2luLCAxNS4gSmFuIDIwMDcsIDIzOjI0OjUxKToKV2VycyBub2NoIG5pY2h0IGtlbm50OgoKaHR0cDovL3d3dy54Y24uZGUvCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdXM1IGhhYmVuIGdhbnogdG9sbGUgZmFucy4uLiAoR25vbWUsIDE5LiBKYW4gMjAwNywgMDE6MTE6MzEpOgpodHRwOi8va2lsbGVyLWhvdGVsLmRlLywgNS4gdmlkZW8gdm9uIG9iZW4uCgppcmdlbmR3aWUgYmVuZWlkZSBpY2ggZGVuIGJvaGxlbiBqYS4gZGVyIGhhdHMgYXVmIGFyYmVpdCBpbW1lciBsdXN0aWcuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHVzNSBoYWJlbiBnYW56IHRvbGxlIGZhbnMuLi4gKEdub21lLCAxOS4gSmFuIDIwMDcsIDAxOjE4OjQ0KToKfiMhIHJuPUdub21lIHJ0PTExNjkxNjU0OTEgcmc9d3d3Cn4jISB0aWQ9MTE2OTE2NTQ5MQp1bmQgZ2xlaWNoIGRpZSBuYWVjaHN0ZSBsYWNoc2FsdmU6IDIuIHZpZGVvIHZvbiBvYmVuLCBkYXMga2lsbC1iaWxsLTMtCmNhc3RpbmcuIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1FMLVNjaG9rb3Jvc2luZW4gKEdsb2luc29uLCAxOS4gSmFuIDIwMDcsIDIyOjE4OjM2KToKaHR0cDovL2ltZy50aGVkYWlseXd0Zi5jb20vaW1hZ2VzLzIwMDcwMS9wdXAyL2FkZGVkc3FsLmpwZwoKKE1hbCBnYW56IGdlbmF1IGRpZSBadXRhdGVuIGxlc2VuLikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSb2JvdGVyc2V4IChSYXNjaGF1YSwgMjQuIEphbiAyMDA3LCAyMjowMTo1MSk6Cmh0dHA6Ly9lcmljYWhlbmRlcnNvbi41MHdlYnMuY29tL2Zfcm9ib3RzZXguaHRtbAoKUmFzY2hhdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkljZXdhcnMgLSBkaWUgbmFlY2hzdGUuIChSZXF1aWVtLCAyNi4gSmFuIDIwMDcsIDE3OjA4OjU2KToKV2llIHZpZWxlIHZvbiBldWNoIHNpY2hlciB3c3Nlbiwgc3BpZWxlbiBlaW5pZ2UgTW9yZ2VuZ3JhdWxlciAobWl0Ck5pY2h0bW9yZ2VuZ3JhdWxlcm4genVzYW1tZW4pPSBzY2hvbiBzZWl0IGVpbmlnZW4gUnVuZGVuIGRhcyBGdW4tIHVuZApTdHJhdGVnaWUtQnJvd3NlcnNwaWVsIEljZXdhcnMuCldpciBzcGllbGVuIG1pdHRsZXJ3ZWlsZSBuYWNoIGVpbmVtIFN5c3R3ZW0gdW5kIHNpbmQgaW4gZGlld3NlciBSdW5zZGUgY2EgNDAKTWl0c3BpZWxlciBnZXdlc2VuLgpFbmRlIEZlcnVhciBpbiBldHdhIHN0ZWh0IGRlciBiZWdpbm4gZWluZXIgbmV1ZW4gcnVuZGUgYW4uCkVzIHdhZXJlIHRvbGwsIHdlbm4gc2ljaCBub2NoIG5ldWUgTWl0c3BpZWxlciBoaW56dWdlc2VsbGVuLgpFcyBpc3QgYXVjaCBub2NoIFplaXQsIGpldHp0IGRhenV6dXN0b3NzZW4gdW5kIHp1IHNjaGF1ZW4sIG9iIGRhcyB3YXMgZnVlcgplaW5lbiBpc3Q6IHd3dy5pY2V3YXJzLmRlIHVuZCBpbiBHYWxhIDIgc3RhcnRlbiwgZGEgc2l0emVuIHdpciBuYWVtbGljaC4KTWVsZGV0IGV1Y2ggZGFubiBiZWkgR3JheSAoPUhpZ2hsYW5kZXIpLCBSYW5nb3JuIG9kZXIgbWlydCB6d2Vja3MgQXVmbmFobWUgaW4KZGllIEFsbGlhbnouCgpBbGxlIFJlY2h0c2NocmlvZWJmZWhsZXIgZHVlcmZ0IGlociBiZWhhbHRlbiwgdGVsbmV0IG9ubHkgOykKCmdydXNzLApyZXEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCidzdHJvbmcnIHBhc3N3b3JkIG5hY2ggTWljcm9zb2Z0IChaZXNzdHJhLCAyNy4gSmFuIDIwMDcsIDAwOjIxOjA2KToKSmEsIGljaCB3ZWlzcywgZXMgaXN0IGV0d2FzIHVuZmFpciwgYWJlciBpY2gga2FubiBlaW5mYWNoIGdhciBuaWNodCBhbmRlcnMuCjstKQpodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vYXRob21lL3NlY3VyaXR5L3ByaXZhY3kvcGFzc3dvcmRfY2hlY2tlci5tc3B4CkdlYnQgbWFsICdQYXNzd29ydDEnIGVpbi4gOy0pCgpTTkNSLAp6ZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogJ3N0cm9uZycgcGFzc3dvcmQgbmFjaCBNaWNyb3NvZnQgKE9ya3RvZXRlciwgMjcuIEphbiAyMDA3LCAwMDozMzo1Nyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjk4NTM2NjYgcmc9d3d3Cn4jISB0aWQ9MTE2OTg1MzY2Ngp0ZXN0MTIzNCBpc3QgaW1tZXJoaW4gYmVyZWl0cyAibWVkaXVtIi4uLiB3aWUgZ3V0LCBkYXNzIGljaCBMaW51eCBiZW51dHplICh1bmQKImV0d2FzIiBnZXNjaGVpdGVyZSBQYXNzd29lcnRlcikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAnc3Ryb25nJyBwYXNzd29yZCBuYWNoIE1pY3Jvc29mdCAoVmFuaW9uLCAyNy4gSmFuIDIwMDcsIDAxOjM5OjA1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE2OTg1MzY2NiByZz13d3cKfiMhIHRpZD0xMTY5ODUzNjY2CkFsbGVpbiBkaWUgVGF0c2FjaGUsIGRhc3MgbWFuIGRpZSBTdGFlcmtlIHNlaW5lcyBMaWVibGluZ3NwYXNzd29ydGVzIG9ubGluZQpvaG5lIGh0dHBzIHRlc3RlIGthbm4sIGlzdCBodW1vcnZvbGwgaW4gc2ljaC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogJ3N0cm9uZycgcGFzc3dvcmQgbmFjaCBNaWNyb3NvZnQgKEh1cmF4cHJheCwgMjcuIEphbiAyMDA3LCAwMjoxOTo0Nik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjk4NTM2NjYgcmc9d3d3Cn4jISB0aWQ9MTE2OTg1MzY2NgpEYXMga2FubiBtYW4gTVMgKGF1c25haG1zd2Vpc2UpIG5pY2h0IHZvcndlcmZlbiwgZGFzIGdhbnplIGlzdCBudXIgZWluCmphdmFzY3JpcHQsIGVzIHdpcmQgYWxzbyBuaWNodHMgdWViZXJ0cmFnZW4uIERlc3dlZ2VuIGlzdCBlcyBhdWNoIHNvIHByaW1pdGl2CmRhIGVzIGtlaW5lIFdvcnRsaXN0ZW4gdWViZXJwcnVlZmVuIGthbm4sIHNvbWl0IGlzdCAiUGFzc3dvcmQiIGlkZW50aXNjaCB6dQoiWnFpYWhlYnEiLiBOdXIgZGFyZiBtYW4gc293YXMgbmljaHQgb2huZSBncm9zc2Ugcm90ZSBXYXJudW5nIGFscyAic3Ryb25nIgpkZWtsYXJpZXJlbi4KCmh1cmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICdzdHJvbmcnIHBhc3N3b3JkIG5hY2ggTWljcm9zb2Z0IChWYW5pb24sIDI3LiBKYW4gMjAwNywgMTA6MzY6MjUpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNjk4NjA3ODYgcmc9d3d3Cn4jISB0aWQ9MTE2OTg1MzY2NgpBbHNvIGljaCBoYWV0dGUgbWlyIHNjaG9uIGVoZXIgZWluZSBNZWxkdW5nIGdld3VlbnNjaHQ6IEFjaHR1bmcsIG51dHplbiBTaWUKZGllc2VzIFNrcmlwdCBydWhpZywgdW0genUgdGVzdGVuIG9iIElociBQYXNzd29ydCB0b2xsIGlzdCwgYWJlcjogRGFubiBzaW5kClNpZSBlaW4gSWRpb3QsIHdlaWwgc2llIGRhcyBQYXNzd29ydCB1bnZlcnNjaGx1ZXNzZWx0IGR1cmNocyBoYWxiZSBJbnRlcm5ldApzY2hpY2tlbiEgTmEsIHNlaW4gd2lyIG1hbCBuaWNodCBzbyAuLi4gVmVybXV0bGljaCBwcm9ncmFtbWllcmVuIFNpZSBlaApzaWNoZXJoZWl0c3JlbGV2YW50ZSwgaG9jaGtyaXRpc2NoZSBTYWNoZW4gZnVlciB1bnNlciBQcm9kdWt0IHVuZCB3dW5kZXJuCnNpY2gsIHdhcnVtIElociBTY2huZWxsZXIgQnJ1ZXRlciAya0sgVWViZXJ0ZW1wZXJhdHVyIGhhdC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6ICdzdHJvbmcnIHBhc3N3b3JkIG5hY2ggTWljcm9zb2Z0IChaZXNzdHJhLCAyNy4gSmFuIDIwMDcsIDExOjA4OjMyKToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTY5ODYwNzg2IHJnPXd3dwp+IyEgdGlkPTExNjk4NTM2NjYKSmEsIGtsYXIsIGRlc3dlZ2VuIHNjaHJpZWIgaWNoIGFtIEFuZmFuZyBhdWNoICdldHdhcyB1bmZhaXInLiBBYmVyIG1hbAplaHJsaWNoOiBNZWlzdGVucyBtZXJrdCBtYW4gZXMgamEgZ2FyIG5pY2h0LCBvYiBkYSBEYXRlbiB0cmFuc2ZlcmllcnQgd2VyZGVuCm9kZXIgbmljaHQuIFVuZCBvaG5lIGVpbmVuIGV4cGxpeml0ZW4gSGlud2VpcyBkYXJhdWYgdW5kIGVpbmVuIEhpbndlaXMsIHdpZQpkaWUgRWluc2NoYWV0enVuZyBkZXMgUFcgenVzdGFuZGVrb21tdCwgaXN0IGRhcyBob2NoZ3JhZGlnIHVuc2VyaW9lcy4gRXMgaGlsZnQKc2ljaGVyIG5pY2h0IGRhYmVpLCBzaWNoIHp1IHZlcmlubmVybGljaGVuLCBkYXNzIG1hbiBtaXQgUFdzIHZvcnNpY2h0aWcgc2Vpbgpzb2xsLCB3ZW5uIG1hbiBnZXdpc3NlIEdydW5ka2VubnRuaXNzZSBzY2hvbiBoYXQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTa3lwZTogT2JmdXNjYXRpb24gKFplc3N0cmEsIDI3LiBKYW4gMjAwNywgMTQ6MjU6MDQpOgpXZXIgZGVzIGVuZ2xpc2NoZW4gbWFlY2h0aWcgaXN0IHVuZCBzaWNoIG1hbCBuZW4gU3Bhc3MgZHJhdXMgbWFjaGVuIHdpbGwsIHNpY2gKZGVtb25zdHJpZXJlbiB6dSBsYXNzZW4sIHdpZSBTa3lwZSAoZGFzIFByb2dyYW1tKSBzZWluZSBJbnRlcm5hIHNjaHVldHp0LApzb2xsdGUgc2ljaCBtYWwgZGllc2VuIFZvcnRyYWcgaGllciBhbmhvZXJlbi4gU2VociBiZWVpbmRydWNrZW5kLCBmaW5kZSBpY2guCmh0dHA6Ly93d3cuYXJjaGl2ZS5vcmcvZGV0YWlscy9GYWJyaWNlX0Rlc2NsYXV4X2FuZF9Lb3N0eWFfS29ydGNoaW5za3lfVmFuaWxsYQpfU2t5cGUKCiJTa3lwZSBpcyBhIGZyZWUgKGFzIGluIGJlZXIpIHZvaWNlIG92ZXIgSVAgYXBwbGljYXRpb24uIE1hbnkgb3RoZXIgVk9JUAphcHBsaWNhdGlvbnMgZXhpc3QsIGJ1dCBzb21lIHNwZWNpZmljIHBvaW50cyBtYWtlIFNreXBlIHZlcnkgZGlmZmVyZW50LCBzdWNoCmFzIGl0cyBwZWVyLXRvLXBlZXIgYXJjaGl0ZWN0dXJlLCBpdHMgZWFzZSB0byBieXBhc3MgZmlyZXdhbGxzIGFuZCwgbGFzdCBidXQKbm90IGxlYXN0LCB0aGUgaW1wcmVzc2l2ZSBsZXZlbCBvZiBvYmZ1c2NhdGlvbiB0aGF0IGhhcyBiZWVuIGludmVzdGVkIHRvCnByZXZlbnQgYW55Ym9keSBmcm9tIGxvb2tpbmcgaW5zaWRlIHRoZSBzb2Z0d2FyZSBhbmQgaXRzIGNvbW11bmljYXRpb25zLiBUaGlzCmxhc3QgcG9pbnQgYWRkZWQgdG8gaXRzIGluY3JlYXNpbmcgc3VjY2VzcyBnYXZlIGJpcnRoIHRvIG1hbnkgbXl0aHMgb24Kc2VjdXJpdHkgaXNzdWVzIGFyb3VuZCBpdC4KVGhpcyBwcmVzZW50YXRpb24gd2lsbCBnbyB0aHJvdWdoIHRoZSBtYW55IGxheWVycyBvZiBwcm90ZWN0aW9uIHRoYXQgaGF2ZSBiZWVuCnVzZWQgdG8gcHJvdGVjdCBTa3lwZSBpbnRlcm5hbHMuIFRvb2xzIGFuZCB0ZWNobmljcyB1c2VkIHRvIGRvIHNvIHdpbGwgYWxzbyBiZQpwcmVzZW50ZWQuIFdlIHdpbGwgY29uY2x1ZGUgdGhpcyB0cmlwIGJ5IHNob3dpbmcgc29tZSBvZiB0aG9zZSBTa3lwZSBsaXR0bGUKc2VjcmV0cy4iCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2t5cGU6IE9iZnVzY2F0aW9uIChHbG9pbnNvbiwgMjcuIEphbiAyMDA3LCAxNTozNjoxNyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjk5MDQzMDQgcmc9d3d3Cn4jISB0aWQ9MTE2OTkwNDMwNApUYXRzYWVjaGxpY2gsIGRpZSBDeWxvbmVudHVzc2kgYXVzIGRlbSBuZXVlIEJHIEdhbGFjdGljYSBpc3QgaW0gbmV1ZW4gUGxheWJveS4KTmFqYSwgYnJhdWNodCBtYW4gZWlnZW50bGljaCBrYXVtLCB3ZW5uIG1hbiBkaWUgU2VyaWUgZ2VzZWhlbiBoYXQuIEF1c3NlcmRlbQppc3Qgc2llIGVpbiB3ZW5pZyBrbm9jaGlnLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTa3lwZTogT2JmdXNjYXRpb24gKE9nbywgMzAuIEphbiAyMDA3LCAxNzo0OToyNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNjk5MDQzMDQgcmc9d3d3Cn4jISB0aWQ9MTE2OTkwNDMwNAo+IFdlciBkZXMgZW5nbGlzY2hlbiBtYWVjaHRpZy4uLgpXZW5uIGRlciBWb3J0cmFnZW5kZSB3ZW5pZ3N0ZW5zIGRlcyBFbmdsaXNjaGVuIG1hZWNodGlnIHdhZXJlLi4uIGRhcyBpc3QgZWNodAphbnN0cmVuZ2VuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpa2lwZWRpYSAoVmFuaW9uLCAzMC4gSmFuIDIwMDcsIDIxOjE5OjIwKToKCkhhbGxvIExldXRlLCAKCmljaCBoYWJlIG1hbCBkZW4gV2lraXBlZGlhLUFydGlrZWwgenVtIE1vcmdlbmdyYXVlbiB6dSBlaW5lbQpCZWdyaWZmc2tsQ3J1bmdzLUFydGlrZWwgZ2VDbmRlcnQuIE51biBoYWJlbiB3aXIgZG9ydCBlaW5lbiBMaW5rIG5hY2gKTW9yZ2VuR3JhdWVuIChNVUQpLgoKRGllc2VyIEFydGlrZWwgbXVzcyBhYmVyIG5vY2ggZ2VzY2hyaWViZW4gd2VyZGVuLiBVbSBlaW5mYWNoIG1hbCBhbnp1ZmFuZ2VuLApoYWJlIGljaCB1bnRlcgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0JlbnV0emVyOkRhc2hlbC9Nb3JnZW5HcmF1ZW5fJTI4TXVkJTI5CmVpbmZhY2ggbWFsIGFuZ2VmYW5nZW4sIGVpbmVuIEFydGlrZWwgenUgc2NocmVpYmVuLiBNZWluZSBLcmVhdGl2aXRhZXQgaGFlbHQKc2ljaCBpbSBNb21lbnQgYWJlciBpbiBHcmVuemVuLiBEYWhlciBiaXR0ZSBpY2ggSW50ZXJlc3NlbnRlbiwgYW4gZGllc2VtCkFydGlrZWwgbWl0enVhcmJlaXRlbi4KCldlciBkYSBtaXRtYWNoZW4gbW9lY2h0ZSwgZGVua2UgYml0dGUgZGFyYW46IERpZSBXaWtpcGVkaWEgaXN0IGVpbmUKRW56eWtsb3BhZWRpZSB1bmQgbWFnIGVzIGdhcm5pY2h0LCBhbHMgR2VsYmUgU2VpdGVuIG1pc3NicmF1Y2h0IHp1IHdlcmRlbi4gRGVyCkFydGlrZWwgZGFyZiBhbHNvIG5pY2h0IDYgTWVpbGVuIGdlZ2VuIGRlbiBXaW5kIG5hY2ggV2VyYnVuZyByaWVjaGVuLiBUcm90emRlbQp3YWVyZSBlcyBlaW5lIGd1dGUgV2VyYnVuZyBmdWVyIHVucywgd2VubiBkZXIgQXJ0aWtlbCB2aWVsbGVpY2h0IGlyZ2VuZHdhbm4KZWlubWFsIGRlbiBFeHplbGVuenN0YXR1cyBlcmhhbHRlbiB3dWVyZGUgdW5kIHZpZWxsZWljaHQgYXVmIGRpZSBUaXRlbHNlaXRlCmthZW1lLgoKSWNoIGZyZXVlIG1pY2ggYXVmIGtyZWF0aXZlIElkZWVuLgoKVioKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaWtpcGVkaWEgKEdsb2luc29uLCAzMC4gSmFuIDIwMDcsIDIxOjIxOjQwKToKfiMhIHJuPVZhbmlvbiBydD0xMTcwMTg4MzYwIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKTWFobHplaXQuIEJlaSBXaWtpIGdpYnQgZXMgZWluaWdlIGtyYWVmdGlnZSBNVUQtV2VyYnVuZ3MtR2VnbmVyLiBBdXMgZGllc2VuCkdydWVuZGVuIChzaWVoZSBEZXRhaWxzIGF1ZgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0Rpc2t1c3Npb246TXVsdGlfVXNlcl9EdW5nZW9uKSBpc3QgekIgYXVjaCBzY2hvbgpkaWUgU2VpdGUgenUgQXZhbG9uIHVuZCBXdW5kZXJsYW5kIHdpZWRlciB2ZXJzY2h3dW5kZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWtpcGVkaWEgKFZhbmlvbiwgMzAuIEphbiAyMDA3LCAyMToyNToyNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcwMTg4NTAwIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKRGFubiB3YWVyZSBlcyB2aWVsbGVpY2h0IGVpbmUgQWx0ZXJuYXRpdmUgZWluZSBTZWl0ZSB6dW0gRm9lcmRlcnZlcmVpbiBtYWNoZW4uCkRhcyBpc3QgZWluIEVWLiBTb2xhbmdlIGVzIHNpY2ggbmljaHQgdW0gcmVpbmUgV2VyYnVuZyBoYW5kZWx0LCBzb25kZXJuIHVtCmVpbmUgQmVzY2hyZWlidW5nIGRlcyBNdWRzIGluIGRlciBBcnQgZWluZXMgRW56eWtsb3BhZWRpZS1BcnRpa2Vscywgc2VoZSBpY2gKZGEga2VpbiBncm9zc2VzIFByb2JsZW0uIAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdpa2lwZWRpYSAoSHVyYXhwcmF4LCAzMS4gSmFuIDIwMDcsIDIwOjI1OjA1KToKfiMhIHJuPVZhbmlvbiBydD0xMTcwMTg4NzI0IHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKRGEgc2VoZSBpY2gga2VpbmUgQ2hhbmNlIGRlbiBBcnRpa2VsIHp1IGJlaGFsdGVuLCBkYSB3ZXJkZW4gc2ljaCBkaWUKTG9lc2NodHJvbGxlIHNjaG5lbGwgZHJhdWYgc3R1ZXJ6ZW4uIEF1ZiBlbi53aWtpcGVkaWEub3JnIGtvZW5udGVuIHdpciBkZW4KaGFsdGVuLCBkaWUgc2luZCBkYSBuaWNodCBzbyBwZWRhbnRpc2NoIHdpZSBkaWUgZGV1dHNjaGVuLCBhYmVyIGlzdCBmdWVyIGVpbgpkZXV0c2Noc3ByYWNoaWdlcyBTcGllbCB3ZW5pZ2VyIHNpbm52b2xsLi4uCgpodXJheAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2lraXBlZGlhIChab29rLCAzMS4gSmFuIDIwMDcsIDIxOjExOjE0KToKfiMhIHJuPUh1cmF4cHJheCBydD0xMTcwMjcxNTA1IHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKdmVyc3RlaGljaCBuaWNodC4gd293IGhhdCBkb2NoIGF1Y2ggbmVuIGV3aWcgbGFuZ2VuIGFydGlrZWwuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdpa2lwZWRpYSAoU2hhcmlhLCAzMS4gSmFuIDIwMDcsIDIyOjIwOjU4KToKfiMhIHJuPVpvb2sgcnQ9MTE3MDI3NDI3NCByZz13d3cKfiMhIHRpZD0xMTcwMTg4MzYwCmVzIGdpYnQgYXVjaCBtZWhyIHdvdyBBbmhhZW5nZXIgbWl0dGxlcndlaWxlIGFscyBNRyBBbmhhZW5nZXIgOigKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdpa2lwZWRpYSAoWm9vaywgMzEuIEphbiAyMDA3LCAyMjoyMTo0Myk6Cn4jISBybj1TaGFyaWEgcnQ9MTE3MDI3ODQ1OCByZz13d3cKfiMhIHRpZD0xMTcwMTg4MzYwCmRhcyBpcyBqYSBrZWluIGdydW5kLCBlaW5lbiB3aWtpcGVkaWEtYXJ0aWtlbCB6dSB3b3cgenV6dWxhc3NlbiB1bmQgenUgCm1nIHp1IHVudGVyZHJ1ZWNrZW4uCgp6LgoKcHM6IHVuZCB2b3JzaWNodCwgc29uc3QgZ3JlaWYgaWNoIGdsZWljaCB6dSBhYnN0cnVzZW4gYW5hbG9naWVuISA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2lraXBlZGlhIChTaGFyaWEsIDMxLiBKYW4gMjAwNywgMjI6MjM6NDMpOgp+IyEgcm49Wm9vayBydD0xMTcwMjc4NTAzIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKKkcqCgpuYWphIGxpZXMgZGlyIG1hbCBkaWUgRGlza3Vzc2lvbiBkdXJjaCAuLiB0ZWlsd2Vpc2UgaGF0IG1hbiBkYXMgR2VmdWVobCBkYQpzaW5kIE1VRC1IYXNzZXIgZGFiZWkgOikKCkFjaGphIGljaCBzZWhlIGRpZSBDaGFuY2VuIG5pY2h0IHNvb28gc2NobGVjaHQuIFh5bGxvbWVyIGlzdCBleHRyYSB2ZXJsaW5rdCBpbQoiTVVEIiBBcnRpa2VsIG4gdW5kIGRhcyBNb3JnZW5ncmF1ZW4gd2lyZCBpbSBtb21lbnRhbiBiZXN0ZWhlbmRlbiBBcnRpa2VsCmVyd2FlaG50LiBLb2VubnRlIG1hbiBhbHNvIG5lbiBMaW5rIHNldHplbiBhdWYgdW5zZXJlbiBBcnRpa2VsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2lraXBlZGlhIChBbmF0b2wsICAxLiBGZWIgMjAwNywgMDA6MDk6MDApOgp+IyEgcm49U2hhcmlhIHJ0PTExNzAyNzg2MjMgcmc9d3d3Cn4jISB0aWQ9MTE3MDE4ODM2MApHcnVuZGd1ZXRpZ2VyLCBLaW5kZXIgaW4gZGVyIFdpa2lwZWRpYS4uLiBJY2gga3VjaycgbmllIHdpZWRlcgppbiBlaW5lIEFydGlrZWxkaXNrdXNzaW9uIHJlaW4uCgpBbmEnd2FhYWghJ3RvbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpa2lwZWRpYSAoTWFyY3VzLCAgMS4gRmViIDIwMDcsIDA2OjI1OjAwKToKfiMhIHJuPUFuYXRvbCBydD0xMTcwMjg0OTQwIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKSXJnZW5kd29oaW4gbXVzc3RlbiBkaWUgZ2FuemVuIHBlbmlibGVuIFVTRU5FVCBmcmVha3MgamEKYXVzd2FuZGVybi4gOykKCkNpYW8sIE1hcmN1cyAoZml4dCBlaGVyIG51ciB0eXBvcyBpbiBkZXIgV1ApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNld2FycyAtIGRpZSBuYWVjaHN0ZS4gKE11YWRpYiwgIDIuIEZlYiAyMDA3LCAxNDoyODowNyk6Cn4jISBybj1SZXF1aWVtIHJ0PTExNjk4Mjc3MzYgcmc9d3d3Cn4jISB0aWQ9MTE2OTgyNzczNgpnaWJ0cyBhdWNoIG5lIGhvcmRlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2lraXBlZGlhIChNdWFkaWIsICAyLiBGZWIgMjAwNywgMTQ6MzE6NDQpOgp+IyEgcm49Wm9vayBydD0xMTcwMjc4NTAzIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKYml0dGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdpa2lwZWRpYSAoWm9vaywgIDIuIEZlYiAyMDA3LCAxNDozMjoxNCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE3MDQyMzEwNCByZz13d3cKfiMhIHRpZD0xMTcwMTg4MzYwCmhtYi1uaXZlYXU/CnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdpa2lwZWRpYSAoTXVhZGliLCAgMi4gRmViIDIwMDcsIDE0OjMyOjMwKToKfiMhIHJuPVpvb2sgcnQ9MTE3MDQyMzEzNCByZz13d3cKfiMhIHRpZD0xMTcwMTg4MzYwCmRydW50ZXIgZ2VodCBlaCBuaWNodAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdpa2lwZWRpYSAoR2xvaW5zb24sICAyLiBGZWIgMjAwNywgMTQ6Mzc6MDMpOgp+IyEgcm49TXVhZGliIHJ0PTExNzA0MjMxNTAgcmc9d3d3Cn4jISB0aWQ9MTE3MDE4ODM2MApXYXJ0IGFiIGJpcyBab29rIGluIGRlbSBBbHRlciBpc3QgZGFzcyBlciBuZXVlIFRlY2huaWtlbiBuaWNodCBrYXBpZXJ0LgoKaHR0cDovL3d3dy50YWdlc3NwaWVnZWwuZGUvbWVpbnVuZy9hcmNoaXYvMDkuMDEuMjAwNy8zMDA5NzYwLmFzcAooVm9yc2ljaHQ6IEhNQiBpbnNpZGUpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IFdpa2lwZWRpYSAoWm9vaywgIDIuIEZlYiAyMDA3LCAxNDozOTozMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcwNDIzNDIzIHJnPXd3dwp+IyEgdGlkPTExNzAxODgzNjAKaWNoIHZlcnN1Y2hlIGRlcnplaXQgZWluZSBnZXdpc3NlIGZvcm0gZGVyIGFsdGVyc3N0YXJyc2lubmlna2VpdCB6dQprdWx0aXZpZXJlbi4gOykgZXJmb2xncmVpY2g/IDspKSkgegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzIC0gZGllIG5hZWNoc3RlLiAoSHVtbmksICAyLiBGZWIgMjAwNywgMTc6MjY6MDMpOgp+IyEgcm49TXVhZGliIHJ0PTExNzA0MjI4ODcgcmc9d3d3Cn4jISB0aWQ9MTE2OTgyNzczNgpEaWUgQWxsaWFueiAiRGllIEhvcmRlIiBoYXQgc2ljaCBsZWlkZXIgbGV0enRlIFJ1bmRlIGF1ZmdlbG9lc3QuCgpOZWluLCBkYXMgaXN0IGtlaW4gV2lkZXJzcHJ1Y2guCgpBdWNoIHdlbm5zIHNvIGtsaW5ndCA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2lraXBlZGlhIChLZWxseWJ1bmR5LCAgMy4gRmViIDIwMDcsIDExOjQ0OjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzA0MjM0MjMgcmc9d3d3Cn4jISB0aWQ9MTE3MDE4ODM2MApNdWFoYXJoYXJoIDogS29tbWVudGFyIHp1IGRlbSBBcnRpa2VsOgoKRmFzemluaWVyZW5kLgoKV2VubiBCcm9kZXIgYXVzbmFobXN3ZWlzZSBtYWwgbmljaHQgYmVoYXVwdGV0LCBkaWUgQXJhYmVyIHNlaWVuIGFuIGFsbGVtCnNjaHVsZCwgaG9lcnQgZXIgc2ljaCBzb2dhciBub2NoIHdpcnJlciBhbi4KCkthbm4gbWljaCBkZW0gbnVyIGFuc2NobGllc3NlbiBeXgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F5IFllcyB0byBNZXNzIChab29rLCAgMy4gRmViIDIwMDcsIDIyOjAwOjM1KToKTmV0dGVyIEFydGlrZWwgYXVzIGRlciBOWVRpbWVzOgp0dHA6Ly93d3cubnl0aW1lcy5jb20vMjAwNi8xMi8yMS9nYXJkZW4vMjFtZXNzLmh0bWw/ZXg9MTMyNDM1NzIwMCZlbj1kZTg3YmVlMTAKaHR0cDovL3d3dy5ueXRpbWVzLmNvbS8yMDA2LzEyLzIxL2dhcmRlbi8yMW1lc3MuaHRtbD9leD0xMzI0MzU3MjAwJmVuPWRlODdiZWUxCjBiZTY2ZDFmJmVpPTUwOTAmcGFydG5lcj1yc3N1c2VybGFuZCZhbXA7ZW1jPXJzcwoKb2RlciBrdXJ6OgoKaHR0cDovL3Rpbnl1cmwuY29tL3k2YWpyNQoKCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmpvaGFubmEgaGF0IGRpZSBoYWFyZSBzY2hvZW4hIChHbm9tZSwgIDUuIEZlYiAyMDA3LCAyMTowMTozNik6Cmh0dHA6Ly93d3cubXl2aWRlby5kZS93YXRjaC82MjY2NTkKCmVpbmZhY2ggc2NoYXVlbiB1bmQgc3RhdW5lbi4gYWNoamEsIGhpbnRlcmhlciBkZW4gbXVuZCB3aWVkZXIgenVtYWNoZW4uIDopCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGpvaGFubmEgaGF0IGRpZSBoYWFyZSBzY2hvZW4hIChKaW1kaWdyaXosICA1LiBGZWIgMjAwNywgMjE6MTg6MDcpOgp+IyEgcm49R25vbWUgcnQ9MTE3MDcwNTY5NiByZz13d3cKfiMhIHRpZD0xMTcwNzA1Njk2Ck1pY2ggaGF0IGRhcyBuaWNodCBzZWhyIGVyc3RhdW50LCB6dW1pZG5lc3QgbmljaHQKaW4gZGVyIFplaXQgZGllIGljaCBlcyBlcnRyYWdlbiBoYWIuCkRpZSBUdXNzaSBpc3QgaGFsdCB3aWUgdmVybXV0bGljaCBlaW4gR3Jvc3N0ZWlsCnZvbiBUYWxrc2hvdyB1bmQgVGFsZW50c2hvd2dhZXN0ZW4gZ2VuYXUgZnVlcgpzbyBuZW4gcGVpbmxpY2hlbiBBdWZ0cml0dCBiZXphaGx0IHdvcmRlbi4KKnNocnVnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBqb2hhbm5hIGhhdCBkaWUgaGFhcmUgc2Nob2VuISAoU2hhcmlhLCAgNS4gRmViIDIwMDcsIDIzOjQ5OjMyKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMTcwNzA2Njg3IHJnPXd3dwp+IyEgdGlkPTExNzA3MDU2OTYKSmltKjogRGEgbWFnc3QgRHUgcmVjaHQgaGFiZW4sIGFiZXIgZGFzIGhpZXNzZSwgZGFzcyBzaWUgZWluZSBTY2hhdXNwaWVsZXJpbgppc3Qgb2Rlcj8gRGFubiB3YWVyIHNpZSBuZSB2ZXJkYW1tdCBndXRlIFNjaGF1c3BpZWxlcmluIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBqb2hhbm5hIGhhdCBkaWUgaGFhcmUgc2Nob2VuISAoRGFya2xvciwgIDYuIEZlYiAyMDA3LCAwMzoxMjowMSk6Cn4jISBybj1TaGFyaWEgcnQ9MTE3MDcxNTc3MiByZz13d3cKfiMhIHRpZD0xMTcwNzA1Njk2Ck9ubGluZSBHYW1lciBQbGF5c3R5bGUgU3VydmV5IC0+Cmh0dHA6Ly93d3cuZ3VpbGRjYWZlLmNvbS96VGFrZVF1ZXN0LnBocD9xdWVzdGlkPTEKQmluIGRhIGFuZ2VibGljaCBuIFN1cHBvcnRlci1WaXJ0dW9zbyBkLmguIHNvd2FzIHdpZSBuIEphY2stb2YtYWxsLVRyYWRlcyBuYWNoCm0gU3BpZWxzdGlsIC0gQWJlciB2b24gVmlydHVvcyBrZWluZSBTcHVyIDspIApCYXJ0bGUgVGVzdCBvZiBHYW1lciBQc3ljaG9sb2d5IC0+Cmh0dHA6Ly93d3cuZ3VpbGRjYWZlLmNvbS96VGFrZVF1ZXN0LnBocD9xdWVzdGlkPTImcWlkPTEKTmFjaCBkZW0gYmluIGljaCBFQVNLIC0gRXhwbG9yZXIgODYuNjclLCBBY2hpZXZlciA2MC4wMCUsIFNvY2lhbGl6ZXIgMjYuNjclLApLaWxsZXIgMjYuNjclIC0gTWl0IGVpbmVtIGhhYmVuIHNpZSBkYWJlaSByZWNodDogaWNoIGJpbiBpbiBubyBydXNoIDspCgpWZXJtdXRsaWNoIHZlcmRhbW10IGFsdGUgSHVldGUgb2Rlcj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGpvaGFubmEgaGF0IGRpZSBoYWFyZSBzY2hvZW4hIChKaW1kaWdyaXosICA2LiBGZWIgMjAwNywgMTE6MjE6MjkpOgp+IyEgcm49U2hhcmlhIHJ0PTExNzA3MTU3NzIgcmc9d3d3Cn4jISB0aWQ9MTE3MDcwNTY5NgpJY2ggd3VlcmRlIHNvd2FzICJEYXJzdGVsbGVyaW4iIG5lbm5lbiwgdW0gc2ljaCAKbGFlY2hlcmxpY2gvaWRpb3Rpc2NoIGF1Znp1ZnVlaHJlbiB1bmQgcGVpbmxpY2gKdW5kIHNjaGxlY2h0IHp1IHNpbmdlbiBtdXNzIG1hbiBkb2NoIGtlaW5lIGd1dGUKU2NoYXVzcGllbGVyaW4gc2Vpbi4uLi4KS29tcGFyc2luL1N0YXRpc3QoaW4pIHdhZXJlIGF1Y2ggZWluZSBCZXplaWNobnVuZwpkaWUgaWNoICJTY2hhdXNwaWVsZXJpbiIgdm9yemllaGVuIHd1ZXJkZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVsdGltYXR1bSAoSGlnaGxhbmRlciwgIDYuIEZlYiAyMDA3LCAxMTo0Njo1OSk6Cmh0dHA6Ly9pY2hwZWlscy5uZXQvbmV3cy91bHRpbWF0dW0uanBnCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklkaW90Li4uLiAoQmFtYnVsa28sICA4LiBGZWIgMjAwNywgMTA6MzY6MzUpOgpIaWVyIGlzdCBlaW4gaGVpc3NlciBLYW5kaWRhdCBmdWVyIGRlbiBEYXJ3aW4tQXdhcmQ6CgpodHRwOi8vbWl0Z2xpZWQubHljb3MuZGUvYmFtYnVsa28vaW1hZ2UwMDEuZ2lmCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElkaW90Li4uLiAoQmFtYnVsa28sICA4LiBGZWIgMjAwNywgMTA6NDQ6MjMpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE3MDkyNzM5NSByZz13d3cKfiMhIHRpZD0xMTcwOTI3Mzk1CkFjaGphLCBpc3QgZWluICdhbmltYXRlZCBnaWYnLi4uLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSWRpb3QuLi4uIChBbnRoZWEsICA4LiBGZWIgMjAwNywgMTE6MDM6MTYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE3MDkyNzg2MyByZz13d3cKfiMhIHRpZD0xMTcwOTI3Mzk1CldhcyBtYWNodCBpaHIgZGVubiBmdWVyIHNlbHRzYW1lIFBhcnR5c3BpZWxlPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2xpbWF0ZSBDaGFuZ2UgKFplc3N0cmEsICA5LiBGZWIgMjAwNywgMTE6NDU6NDIpOgpIYWIgZ2VyYWRlIGVpbiBrbGVpbmVzIFNwaWVsIGF1ZiBkZXIgQkJDLUhvbWVwYWdlIGdlZnVuZGVuOiAiQSBnYW1lIHdoZXJlIHlvdQphcmUgcHJlc2lkZW50IG9mIHRoZSBFdXJvcGVhbiBOYXRpb25zLiBZb3UgbXVzdCB0YWNrbGUgY2xpbWF0ZSBjaGFuZ2UgYW5kIHN0YXkKcG9wdWxhciBlbm91Z2ggd2l0aCB0aGUgdm90ZXJzIHRvIHJlbWFpbiBpbiBvZmZpY2UuIgpodHRwOi8vd3d3LmJiYy5jby51ay9zbi9ob3R0b3BpY3MvY2xpbWF0ZWNoYW5nZS9jbGltYXRlX2NoYWxsZW5nZS8KR2FueiBuZXR0IGVpZ2VudGxpY2guIEhhdCBtaWNoIGdlcmFkZSB2aWVsIHp1IHZpZWwgemVpdCBnZWtvc3RldC4gOi0oCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIGFsbGUgRG9rdG9yYW5kZW4gLi4gKEdsb2luc29uLCAgOS4gRmViIDIwMDcsIDExOjU0OjE1KToKLi4uIGRpZSBFcmtsYWVydW5nIHdhcnVtIGlocmUgQXJiZWl0IG5vY2ggbmljaHQgZmVydGlnIGlzdDoKCmh0dHA6Ly93d3cucGhkY29taWNzLmNvbS9jb21pY3MvYXJjaGl2ZS9waGQwMjA3MDdzLmdpZgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnJhdHNkYXRlbnNwZWljaGVydW5nIChaZXNzdHJhLCAxMC4gRmViIDIwMDcsIDIxOjA3OjE3KToKSHVodSwKCndlciBkaWUgZ2VwbGFudGUgVm9ycmF0c2RhdGVuc3BlaWNoZXJ1bmcgKGFsbGUgVGVsZWZvbi0sIEhhbmR5LSB1bmQKRS1NYWlsLUtvbnRha3RlIGZ1ZXIgZGllIERhdWVyIHZvbiBqZSA2IE1vbmF0ZW4pIGF1Y2ggbmljaHQgdG9sbCBmaW5kZXQKKEtvc3RlbiwgRWluc2NocmFlbmt1bmcgZGVzIERhdGVuc2NodXR6L0J1ZXJnZXJyZWNodGUpLCBzZWkgbWFsIGF1ZgpodHRwOi8vd3d3LnZvcnJhdHNkYXRlbnNwZWljaGVydW5nLmRlLwp2ZXJ3aWVzZW4uIERpZSBTZWl0ZSBpc3Qgdm9tIEFyYmVpdHNrcmVpcyBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZywgZGVyIHNpY2gKbW9tZW50YW4gZGFyYXVmIHZvcmJlcmVpdGV0LCBlaW5lIFZlcmZhc3N1bmdzYmVzY2h3ZXJkZSBlaW56dXJlaWNoZW4sIGZhbGxzCmRhcyBHZXNldHogUmVhbGl0YWV0IHdpcmQuCk5lYmVuIEluZm9zIHVlYmVyIGRpZSBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZyBrYW5uIG1hbiBzaWNoIGRvcnQgYXVjaCB2aWEKTWFpbHZlcnRlaWxlciBhdWYgZGVtIExhdWZlbmRlbiBoYWx0ZW4gb2RlciBiZWkgSW50ZXJlc3NlIGRlciBnZXBsYW50ZW4KVmVyZmFzc3VuZ3NiZXNjaHdlcmRlIGJlaXRyZXRlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhdGVudGUgKFNlZ2ltZXIsIDEyLiBGZWIgMjAwNywgMjM6MTU6MDUpOgpIdWh1IQoKIk1ldGhvZCBvZiBzd2luZ2luZyBvbiBhIHN3aW5nIgpodHRwOi8vd3d3Lmdvb2dsZS5jb20vcGF0ZW50cz92aWQ9VVNQQVQ2MzY4MjI3CgpVbmQgaGllciBnaWJ0IGVzIG5vY2ggZWluZSBMaXN0ZSB3ZWl0ZXJlciBwcmFrdGlzY2hlciBFcmZpbmR1bmdlbiwKdm9uIGRlbmVuIG1hbiBiZWkgR29vZ2xlIFBhdGVudHMgYXVjaCBaZWljaHVuZ2VuIHNlaGVuIGthbm46CgpodHRwOi8vd3d3LmZyZWVwYXRlbnRzb25saW5lLmNvbS9jcmF6eS5odG1sCgpNZWluIHBlcnNvZW5saWNoZXMgTGllYmxpbmdzLVBhdGVudDogNjI5Mzg3NAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZ1ZXIgYWxsZSBEb2t0b3JhbmRlbiAuLiAoWm9vaywgMTMuIEZlYiAyMDA3LCAwOTo0MDozNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcxMDE4NDU1IHJnPXd3dwp+IyEgdGlkPTExNzEwMTg0NTUKQWgsIGRpZSBTZWl0ZSBrYW5udGUgaWNoIGphIG5vY2ggZ2FyIG5pY2h0LiBFaW4gU3RvZWJlcm4gaW0gQXJjaGl2IGxhZXNzdAplaW5lbSBwYXJ0aWVsbCBkYXMgTGFjaGVuIGltIEhhbHNlIHN0ZWNrZW4uIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVlciBhbGxlIERva3RvcmFuZGVuIC4uIChNYWhhcmV0LCAxMy4gRmViIDIwMDcsIDEyOjAxOjUxKToKfiMhIHJuPVpvb2sgcnQ9MTE3MTM1NjAzNyByZz13d3cKfiMhIHRpZD0xMTcxMDE4NDU1Ck5hLCBkYSBoYXR0ZSBaZXNzdHJhIGFiZXIgc2Nob24gdm9yIGVpbmlnZXIgWmVpdCBkcmF1ZiBoaW5nZXdpZXNlbiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRnVlciBhbGxlIERva3RvcmFuZGVuIC4uIChab29rLCAxMy4gRmViIDIwMDcsIDEyOjA4OjA4KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE3MTM2NDUxMSByZz13d3cKfiMhIHRpZD0xMTcxMDE4NDU1CmljaCBrcmllZyBkb2NoIG5peCBtaXQuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZyAoWm9vaywgMTMuIEZlYiAyMDA3LCAxNjo0NTo1MSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzExMzgwMzcgcmc9d3d3Cn4jISB0aWQ9MTE3MTEzODAzNwpEaWUgQmVzY2hhZWZ0aWd1bmcgbWl0IGRlbSBUaGVtYSBrYW5uIGF1Y2ggaW0gSGluYmxpY2sgYXVmIGRhcyBNRyBzaW5udm9sbApzZWluLCBtaXIgaXN0IG5hZW1saWNoIG5vY2ggbmljaHQga2xhciwgb2IgZXMgYXVjaCBEYXRlbiBzcGVpY2hlcm4gbXVzcwpvZGVyIG5pY2h0IGltIEZhbGwgZGVyIEZhZWxsZS4gWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVm9ycmF0c2RhdGVuc3BlaWNoZXJ1bmcgKFNlZ2ltZXIsIDEzLiBGZWIgMjAwNywgMTc6MTQ6NTYpOgp+IyEgcm49Wm9vayBydD0xMTcxMzgxNTUxIHJnPXd3dwp+IyEgdGlkPTExNzExMzgwMzcKQXVmIGplZGVuIEZhbGwgbGFzc2VuIHNpY2ggaGllciB3dW5kZXJiYXIgQmV3ZWd1bmdzcHJvZmlsZSBzcGVpY2hlcm4uIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFZvcnJhdHNkYXRlbnNwZWljaGVydW5nIChaZXNzdHJhLCAxMy4gRmViIDIwMDcsIDE4OjM0OjMwKToKfiMhIHJuPVpvb2sgcnQ9MTE3MTM4MTU1MSByZz13d3cKfiMhIHRpZD0xMTcxMTM4MDM3CkFsc28sIGRhIGRhcyBNRyAobWluLiBiemdsLiBleHRlcm5lciwgZXZ0bC4gYXVjaCBpbnRlcm5lcikgYWxzCk1haWxkaWVuc3RsZWlzdGVyIGF1ZnRyaXR0LCBrb2VubnRlIGljaCBtaXIgZHVyY2hhdXMgdm9yc3RlbGxlbiwgZGFzcyBlcyB1bnMKaW4gZGllc2VtIFB1bmt0IGJldHJpZmZ0IHVuZCB3aXIgZGllIGVudHNwcmVjaGVuZGVuIERhdGVuIHNwZWljaGVyIG11ZXNzdGVuLgooSW50ZXJlc3NpZXJ0IHdlbiBlaW5lIExpc3RlPykKV2llIGVzIG1pdCBUTXMgYXVzc2llaHQgd2Vpc3MgaWNoIG5pY2h0LCBldnRsLiBrb2VubnRlbiBCZWZ1ZXJ3b3J0ZXIgZGVyCkFrdGlvbiBlaW5lIEFuYWxvZ2llIHp1IFNNUyBoZXJiZWlhcmd1bWVudGllcmVuLiBJY2ggd2Vpc3MgbW9tZW50YW4gbmljaHQsIHdhcwppbSBGYWxsZSB2b24gU01TIGdlc3BlaWNoZXJ0IHdlcmRlbiBtdWVzc3RlLgpFYmVuc28gd2Vpc3MgaWNoIG1vbWVudGFuIG5pY2h0LCB3aWUgZGllc2VyIEtyYW0gSVJDL0luc3RhbnQgTWVzc2FnaW5nL3NvbnN0LgpDaGF0cyBlcmZhc3N0IGJ6dy4gb2IgdWViZXJoYXVwdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvcnJhdHNkYXRlbnNwZWljaGVydW5nIChBbWFyeWxsaXMsIDEzLiBGZWIgMjAwNywgMTk6Mzc6MjApOgp+IyEgcm49WmVzc3RyYSBydD0xMTcxMzg4MDcwIHJnPXd3dwp+IyEgdGlkPTExNzExMzgwMzcKSWNoIGthbm4gZGllcyBtYWwgcmVjaGVyY2hpZXJlbi4gV2VubiB3aXIgdW50ZXIgMTAwMCBOdXR6ZXIgaGFiZW4sIHNpbmQgd2lyCmdnZi4gbmljaHQgenVyIEluc3RhbGxhdGlvbiBlaW5lciBzdGFlbmRpZ2VuIFVlYmVyd2FjaHVuZyBnZW5vZXRpZ3QgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVuZGUgZWluZXIgQWVyYSAoUmFzY2hhdWEsIDEzLiBGZWIgMjAwNywgMjE6NDk6NDgpOgpodHRwOi8vYXJzLnVzZXJmcmllbmRseS5vcmcvY2FydG9vbnMvP2lkPTIwMDcwMjExJm1vZGU9Y2xhc3NpYwoKUmFzY2hhdWEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBERnMgbGVzZW4gKFdpbikgKEdsb2luc29uLCAxNC4gRmViIDIwMDcsIDAxOjU1OjU5KToKRmFsbHMgd2VtIGRlciBBY3JvYmF0IHp1IGxhbmdzYW0gaXN0OgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0ZveGl0X1JlYWRlcgoKQnJhdWNodCBiZWkgbWlyIGltbWVyIG5vY2ggd2VuaWdlciBaZWl0L1NwZWljaGVyIGFscyBkZXIgQWNyb2JhdCBtaXQKYWJnZXNjaGFsdGV0ZW4gUGx1Z2lucy4gSGFsdCBzbyBlaW5lIEFsdGVybmF0aXZlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm15c3BhY2Utd29ybSBlcmtsYWVydDogKE9nbywgMTQuIEZlYiAyMDA3LCAxNjo1NToxMik6Cmh0dHA6Ly9uYW1iLmxhL3BvcHVsYXIvdGVjaC5odG1sCgpnYW56IGludGVyZXNzYW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5nZXIgYXVmIGRlciBIb21lcGFnZSBhYmdlc2NoYWx0ZXQgKFplc3N0cmEsIDE0LiBGZWIgMjAwNywgMjA6NDE6NDcpOgpIdWh1LAoKaGV1dGUgaGF0IE9nbyBlaW5lIFNpY2hlcmhlaXRzbHVlY2tlIGltIFdlYi1GaW5nZXIgYXVmIGRlciBIb21lcGFnZSBnZWZ1bmRlbi4KTWl0IGRpZXNlciB3YXIgZXMgaW0gUHJpbnppcCBtb2VnbGljaCwgYmVsaWViaWdlbiBDb2RlIGF1ZiBkZW0gTXVkcmVjaG5lciBtaXQKZGVuIFJlY2h0ZW4gZGVzIFdlYnNlcnZlcnMgYXVzenVmdWVocmVuLiBBdWYgZGllc2UgV2Vpc2Uga2FubiBtYW4gendhciBuaWNodApkaWUgTXVkbGliIGF1c2xlc2VuLCBhYmVyIGplZGUgTWVuZ2UgYW5kZXJlbiBTY2hlaXNzIG1hY2hlbi4KQXVzIGRpZXNlbiBHcnVuZGVuIGhhdCBBbWFyeWxsaXMgZGFzIFNjcmlwdCB2b3JsYWV1ZmlnIGFiZ2VoYWVuZ3QsIGJpcyBlaW5lClJlcGFyYXR1ciBlcmZvbGd0IGlzdC4gQml0dGUgZW50c2NodWxkaWd0IGV2dGwuIFVuYW5uZWhtbGljaGtlaXRlbi4KClZpZWxlbiBEYW5rIGFuIE9nbyBmdWVycyBGaW5kZW4gdW5kIEJlcmljaHRlbiBkaWVzZXMgQnVncyEKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaW5nZXIgYXVmIGRlciBIb21lcGFnZSBhYmdlc2NoYWx0ZXQgKEFtYXJ5bGxpcywgMTQuIEZlYiAyMDA3LCAyMDo0NTo1Nik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzE0ODIxMDcgcmc9d3d3Cn4jISB0aWQ9MTE3MTQ4MjEwNwpKZXBwLgpVbmQgZmFsbHMgbm9jaCB3YXMgYW5kZXJlcyBiZWthbm50IHdlcmRlbiBzb2xsdGUsIHNjaGFsdGUgaWNoIGRlbiBXZWJzZXJ2ZXIKYWIuCkhhYiB1ZWJlciBLYXJuZXZhbCBCZXJlaXRzY2hhZnQgdW5kIGtlaW5lIEx1c3QgYXVmIEZlaGxlcnN1Y2hlIGhpZXIgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmluZ2VyIGF1ZiBkZXIgSG9tZXBhZ2UgYWJnZXNjaGFsdGV0IChNYWhhcmV0LCAxNC4gRmViIDIwMDcsIDIwOjQ2OjQwKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMTcxNDgyMzU2IHJnPXd3dwp+IyEgdGlkPTExNzE0ODIxMDcKTmEsIGRhIHNpbmQgamEgYWxsZSB6dXIgQnVnbWVsZHVuZyBob2NobW90aXZpZXJ0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaW1wc29ucyAoR2xvaW5zb24sIDE1LiBGZWIgMjAwNywgMTM6MDc6MzgpOgpodHRwOi8vd3d3Lmp1bGF5cy5jb20vd2ViL21hcnpvLzIyMDMwNC9qdWVnbzExNy5odG0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBGaW5nZXIgYXVmIGRlciBIb21lcGFnZSBhYmdlc2NoYWx0ZXQgKFJ1bWF0YSwgMTYuIEZlYiAyMDA3LCAxMDoxMTowMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzE0ODI0MDAgcmc9d3d3Cn4jISB0aWQ9MTE3MTQ4MjEwNwpBdWYgZGVtIFdlYnNlcnZlciBzaW5kIGFsbGUgImR5bmFtaXNjaGVuIiBEaWVuc3RlIGFiZ2VzdGVsbHQsIHdpcgpwcnVlZmVuIGdlcmFkZSBEaWVuc3QgZnVlciBEaWVuc3QsIHZlcnN1Y2hlbiBhbGxlcyBpbiBPcmRudW5nIHp1IGJyaW5nZW4KdW5kIHNjaGFsdGVuIGRpZSBEaWVuc3RlIGRhbm4gd2llZGVyIGF1Zi4KCkRpZSB1cHRpbWUgYXVmIGRlciBIb21lcGFnZSBpc3Qgc2Nob25tYWwgd2llZGVyIG9ubGluZSwgYWt0dWVsbGUgbXBhCnVuZCBkZXIgbXVkd2hvIHNvbGx0ZW4gYW0gV0UgZm9sZ2VuLgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXIgV2FycyBpbiAzIE1pbnV0ZW4gKENoYWdhbGwsIDE5LiBGZWIgMjAwNywgMjA6MTQ6MDApOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cXo5dUxGZGZhY00mZXVybD0KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXV0c2NoZSBNaWxpZXVzIChLbnVycHMsIDIxLiBGZWIgMjAwNywgMDI6Mzc6MDYpOgpnYW56IGludGVyZXNzYW50OgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9kZXV0c2NobGFuZC8wLDE1MTgsZHJ1Y2stNDY3MDE0LDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyaWVjaGVudGVsbGVyLi4uIChaZXNzdHJhLCAyMS4gRmViIDIwMDcsIDEwOjA1OjM3KToKS3JzdGZycyBtYWNodCBtaWNoIGdlcmFkZSBkYXJhdWYgYXVmbWVya3NhbS4uLgpHb29nZWxuIG5hY2ggJ0dyaWVjaGVudGVsbGVyJyBsaWVmZXJ0IG1vbWVudGFuIGZvbGdlbmRlcyBFcmdlYm5pczoKCiAgIE1laW50ZW4gU2llOiBHcmllY2hlbiB0ZWxsZXIKCiAgIE1vcmdlbmdyYXVlbgogICBOdW4ga2FubnN0IER1IGVpbiBlaWdlbmVzIFRoZW1hIGVyP2ZmbmVuLCB6dW0gQmVpc3BpZWwgenVtIFRoZW1hCkdyaWVjaGVudGVsbGVyCiAgIC4gRHUgc2NocmVpYnN0IGFsc28gc2NocmVpYmUgR3JpZWNoZW50ZWxsZXIgLiAuLi4KICAgbWcubXVkLmRlL25ld3dlYi9oaWxmZS9tcGEuc2h0bWwgLSAxNmsgLSBJbSBDYWNoZSAtID9obmxpY2hlIFNlaXRlbgoKT2ssIGRhcyBNb3JnZW5ncmF1ZW4gaXN0IGFsc28gbWFsIGF1ZiBQbGF0eiAxIGluIEdvb2dsZS4gRGllIEZyYWdlOiBXaWUKa3JpZWdlbiB3aXIgZGllIExldXRlIGRhenUsIG5hY2ggJ0dyaWVjaGVudGVsbGVyJyB6dSBnb29nZWxuPyA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmllY2hlbnRlbGxlci4uLiAoQWxib2luLCAyMS4gRmViIDIwMDcsIDEwOjE4OjE5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3MjA0ODczNyByZz13d3cKfiMhIHRpZD0xMTcyMDQ4NzM3CkluIGRlbSBkaWUgR3JpZWNoZW4gd2llZGVyIGRpZSBuYWVjaHN0ZSBGdXNzYmFsbC1FTSBnZXdpbm5lbiA7LSkKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogR3JpZWNoZW50ZWxsZXIuLi4gKEdsb2luc29uLCAyMS4gRmViIDIwMDcsIDEwOjI1OjM1KToKfiMhIHJuPUFsYm9pbiBydD0xMTcyMDQ5NDk5IHJnPXd3dwp+IyEgdGlkPTExNzIwNDg3MzcKV2llZGVyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHcmllY2hlbnRlbGxlci4uLiAoTWVzaXJpaSwgMjEuIEZlYiAyMDA3LCAxMDozNDowMik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzIwNDg3Mzcgcmc9d3d3Cn4jISB0aWQ9MTE3MjA0ODczNwpIbW0gSHVtbmkgc29sbHRlIHNlaW4gVHV0b3JpYWwgd2VpdGVyIG1pdCBzb2xjaGVuIHByYWVnbmFudGVuIEJlZ3JpZmZlbgphdWZtb3R6ZW4sIGRhbm4gc2luZCB3aXIgYmFsZCB1ZWJlcmFsbCBQbGF0eiBlaW5zLgoKTWVzaXJpaSwgbG9uZ3MgZm9yIHdvcmxkIGRvbWluYXRpb24sIGhhciBoYXIgaGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmllY2hlbnRlbGxlci4uLiAoQ3JvZnQsIDIxLiBGZWIgMjAwNywgMTA6NDQ6MTQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3MjA0OTkzNSByZz13d3cKfiMhIHRpZD0xMTcyMDQ4NzM3CldlciB3dXJkZSBkZW5uIDIwMDQgRXVyb3BhbWVpc3Rlcj8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBHcmllY2hlbnRlbGxlci4uLiAoQm9pbmcsIDIxLiBGZWIgMjAwNywgMTA6NDY6MzMpOgp+IyEgcm49Q3JvZnQgcnQ9MTE3MjA1MTA1NCByZz13d3cKfiMhIHRpZD0xMTcyMDQ4NzM3CklzdCBkYXMgZWluZSBGYW5nZnJhZ2U/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEdyaWVjaGVudGVsbGVyLi4uIChIdW1uaSwgMjEuIEZlYiAyMDA3LCAxNTo0MTo1MSk6Cn4jISBybj1Cb2luZyBydD0xMTcyMDUxMTkzIHJnPXd3dwp+IyEgdGlkPTExNzIwNDg3MzcKR3JpZWNoZW50ZWxsZXIgLi4uLiBuYWphLi4gZWlnZW50bGljaCB3b2xsdGUgaWNoIG51ciB3YXMgLi4uLiBhbHNvLi4uLiAKCkhtbS4gV29yYXVmIHd1ZXJkZXQgaWhyIGRlbm4gIlJvZW1lcmdsYWVzZXIiIHNvbnN0IHZlcnVuc3RhbHRlbj8KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBHcmllY2hlbnRlbGxlci4uLiAoTW9udGFudXMsIDIxLiBGZWIgMjAwNywgMTg6MDY6MTApOgp+IyEgcm49SHVtbmkgcnQ9MTE3MjA2ODkxMSByZz13d3cKfiMhIHRpZD0xMTcyMDQ4NzM3Ck1hY2ggUnVtYWVuZW5icmlsbGVuIGRyYXVzLgpJbSBlbmdsaXNjaGVuIGtsaW5ndCBkYXMgemllbWxpY2ggZ2xlaWNoOiBSb21hbiBnbGFzc2VzIHVuZCBSb21hbmlhbiBnbGFzc2VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT3JnYW5zcGVuZGVuZGluZ3MgKEdsb2luc29uLCAyMy4gRmViIDIwMDcsIDEzOjU5OjQ2KToKRXMgZ2luZyBqYSBtYWwgZWluZSBEaXNrdXNzaW9uIHVlYmVyIEZ1ZXIgdW5kIFdpZGVyIGRlcgpPcmdhbnNwZW5kZW5tb2RhbGl0YWV0ZW4uIERhYmVpIHN0YW5kIGRhbm4gYXVjaCBpcmdlbmR3YW5uIGRpZSBGcmFnZSBuYWNoICJ3YXMKa2FubiBtYW4gZGVubiB1ZWJlcmhhdXB0IG51dHplbiIgaW0gUmF1bToKCmh0dHA6Ly93d3cuemVpdC5kZS8yMDA3LzA4L0xlaWNoZW50ZWlsZT9wYWdlPWFsbAoKIk5pY2h0IG51ciBLbm9jaGVuIGxhc3NlbiBzaWNoIGZ1ZXIgdGhlcmFwZXV0aXNjaGUgWndlY2tlIHZlcndlbmRlbiwgYWxzCkdyb3NzdHJhbnNwbGFudGF0LCB6ZXJzYWVndCBpbiBTY2hlaWJlbiwgenVyZWNodGdlZnJhZXN0IHp1IEJsb2Vja2VuLCBTdGlmdGVuCnVuZCBOYWVnZWxuIG9kZXIgYWxzIEdyYW51bGF0IC4gZGllIGdlc2FtdGUgTGVpY2hlIGlzdCB6dSBlaW5lbSB3ZXJ0dm9sbGVuClJvaHN0b2ZmIGdld29yZGVuLiBMYWVuZ3N0IGhhdCBkaWUgR2V3ZWJlc3BlbmRlIGRpZSBPcmdhbnRyYW5zcGxhbnRhdGlvbiBhbgpCZWRldXR1bmcgdWViZXJob2x0LiBOdXIgcnVuZCA0LjUwMCBQYXRpZW50ZW4gZXJoYWx0ZW4gaW4gRGV1dHNjaGxhbmQKamFlaHJsaWNoIGVpbiBuZXVlcyBPcmdhbiwgZG9jaCBtZWhyZXJlIFplaG50YXVzZW5kIHByb2ZpdGllcmVuIHZvbiBkZXIKVmVycGZsYW56dW5nIGtsZWluZXIgb2RlciBncm9zc2VyIEVpbnplbHRlaWxlIC4gbmViZW4gS25vY2hlbiBhdWNoCkF1Z2VuaG9ybmhhZXV0ZSwgR2Vob2Vya25vZWNoZWxjaGVuLCBIZXJ6a2xhcHBlbiwgR2VmYWVzc2UsIFNlaG5lbiBvZGVyCkhhdXRzdHVlY2tlLiBVbmQgZGllIEdld2ViZXNwZW5kZSBib29tdC4gMTk5MCB2ZXJ6ZWljaG5ldGVuIGRpZSBVU0Egbm9jaAozNTAuMDAwIFRyYW5zcGxhbnRhdGlvbmVuLCAyMDAzIHdhcmVuIGVzIGJlcmVpdHMgMSwzIE1pbGxpb25lbi4iCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ViIDIuMCAoR2xvaW5zb24sIDI1LiBGZWIgMjAwNywgMTY6NTE6NTcpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NmdtUDRuazBFT0UKCih2b24gZWluZXIgIlplaXQiLVNlaXRlKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWIgMi4wIChHbG9pbnNvbiwgMjUuIEZlYiAyMDA3LCAxNjo1Mzo1OCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcyNDE4NzE3IHJnPXd3dwp+IyEgdGlkPTExNzI0MTg3MTcKRGFzIFRvb2wgZGFzIGVyIGRhIHp1bSBOb3RpZXJlbiBhbiBlaW5lciBXZWJzZWl0ZSBiZW51dHp0OgpodHRwOi8vd3d3LmRpaWdvLmNvbS8KCihNaXIgd2FyIGVzIG5ldS4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUElEIC4uLiBpc3QgbWFjaGJhciB1bmQgd2lyZCBiZW51dHp0IChHbG9pbnNvbiwgMjUuIEZlYiAyMDA3LCAxNzoxMzozNCk6Cmh0dHA6Ly93d3cuemVpdC5kZS8yMDA3LzA5L1AtU3RlaW5iZXJnP3BhZ2U9YWxsCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHJpdmVyLURveHlnZW4gKFplc3N0cmEsIDI1LiBGZWIgMjAwNywgMTg6MjI6MjMpOgpIdWh1LAoKZGllIERveHlnZW4tRG9rdSB1bnNlcmVzIEdhbWVkcml2ZXIgYXVmIGRlciBIb21lcGFnZSBpc3QgbnVuIGF1ZiBkZW0gYWt0dWVsbGVuClN0YW5kIHZvbiBMRE11ZC0zLjMuNzE0LiA6LSkKaHR0cDovL21nLm11ZC5kZS9kcml2ZXJkb3h5LwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlYiAyLjAgKFZhbmlvbiwgMjUuIEZlYiAyMDA3LCAyMjoxMzoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcyNDE4NzE3IHJnPXd3dwp+IyEgdGlkPTExNzI0MTg3MTcKRmFsbHMgamVtYW5kIGRlbiBlaW5nZWJsZW5kZXRlbiBBcnRpa2VsIGxlc2VuIG1vZWNodGU6CiJXZSBhcmUgdGhlIFdlYiIgdm9uICJLZXZpbiBLZWxseSIKaHR0cDovL3d3dy53aXJlZC5jb20vd2lyZWQvYXJjaGl2ZS8xMy4wOC90ZWNoLmh0bWwKCkxlaWRlciBoYWIgaWNoIGtlaW5lIGRldXRzY2hlIFVlYmVyc2V0enVuZyBkZXMgQXJ0aWtlbHMgZ2VmdW5kZW4sIGFsbGVyZGluZ3MKdmllbGUgU3RpbW1lbiwgZGllIHNhZ2VuLCBkaWVzZXIgQXJ0aWtlbCBzZWkgdW5iZWRpbmd0IGxlc2Vuc3dlcnQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzIGRhcyBkZW5uPyAoVmFuaW9uLCAyNS4gRmViIDIwMDcsIDIyOjM2OjQ2KToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3Bhbm9yYW1hLzAsMTUxOCw0NTk0NzgsMDAuaHRtbAoKViosIGlycml0aWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgaXMgZGFzIGRlbm4/IChaZXNzdHJhLCAyNS4gRmViIDIwMDcsIDIyOjUwOjAyKToKfiMhIHJuPVZhbmlvbiBydD0xMTcyNDM5NDA2IHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKTWhtbSwgaWNoIGhhYiBkaXJla3QgZGllIEphaHJlc3phaGwgZGVyIEF1c2dhYmUgZ2VzdWNodCwgZGllIGlzdCBhYmVyIGVjaHQKa2xlaW4uIDstKQpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGlzIGRhcyBkZW5uPyAoUm9uZGEsIDI1LiBGZWIgMjAwNywgMjI6NTE6NTYpOgp+IyEgcm49VmFuaW9uIHJ0PTExNzI0Mzk0MDYgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpOYSwgc2NoYXUgZWluZmFjaCBhdWYgZGllIFNlaXRlIGh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8gLSBkYSBzdGVodApkYXp1OgoKIkpPSEFOTkEgSUkuIElOIFBFS0lORwoiSWNoIGJpbiBuaWNodCB1bmZlaGxiYXIiCgpDaGluYSBpc3QgUGFlcHN0aW4uIERlciBWYXRpa2FuIHdpbGwgenVyIEZ1c3NiYWxsLVdNLiBVbmQgZGllIGRldXRzY2hlIEtpcmNoZQpoYXQgZWluIFByb2JsZW0uIFVuZCBTaWUgZGFjaHRlbiwgZGllIGthdGhvbGlzY2hlIEtpcmNoZSB3dWVyZGUgc2ljaCBuaWUKYWVuZGVybj8gVm9uIHdlZ2VuLiBMZXNlbiBTaWUgc2VsYnN0ISBTUElFR0VMIE9OTElORSBoYXQgZWluZSBBdXNnYWJlIGRlcwoiT3NzZXJ2YXRvcmUgUm9tYW5vIiBhdXMgZGVtIEphaHIgMjA2NyBhdWZnZXRhbi4gbWVoci4uLiIKCi4uLiBlcmtsYWVydCBlaW5pZ2VzLCBvZGVyPwoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2FzIGlzIGRhcyBkZW5uPyAoVmFuaW9uLCAyNS4gRmViIDIwMDcsIDIzOjI1OjAxKToKfiMhIHJuPVJvbmRhIHJ0PTExNzI0NDAzMTYgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpJY2ggaGFiZSBkaWUgVGhlc2UsIGRhc3MgZGllIEthdGhvbGlzY2hlIEtpcmNoZSBuaWNodCBpbiBkZXIgTGFnZSBpc3QsIHNpY2gKZGVyYXJ0IHNjaG5lbGwgenUgZW50d2lja2Vsbi4gNjAgSmFocmUgc2luZCBlaW5mYWNoIHp1IGt1cnouIFVuZCBKb2hhbm5hIElJLgppbXBsaXppZXJ0LCBkYXNzIGVzIGVudHdlZGVyIHZvbiBoZXV0IGJpcyBkYWhpbiBlaW5lIEpvaGFubmUgSSBnYWIgb2RlciBkaWUKS2lyY2hlIGRpZSAobnVyIGR1cmNoIGVpbmVuIEhpc3Rvcmllbi1Sb21hbi1TY2hpbmtlbiBiZWxlZ3RlKSBFeGlzdGVueiB2b24KSm9oYW5uYSBJIGltIDEwLiBKaGQgYWxzIEZha3QgYWt6ZXB0aWVydC4KClYqLCBnbGF1YnQgbmljaHQgYW4gV3VuZGVyIGlubmVyaGFsYiBkZXIgS2lyY2hlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmVpIHVucyBzdGVoZW4gc2llIGF1ZiBkZXIgZXJzdGVuIFNlaXRlIChNZXNpcmlpLCAyNi4gRmViIDIwMDcsIDExOjEzOjE1KToKU28sIGVyc3RlciBUZWlsZXJmb2xnIGdlc2NoYWZmdDoKCnd3dy5nb29nbGUuZGUgLT4gb25saW5lIHJvbGxlbnNwaWVsCgpNb3JnZW5ncmF1ZW4gYXVmIFNlaXRlIDEsIFBsYXR6IDgKCipqdWJlbCoKCk1lc2ksIE5ldXNwaWVsZXJ3ZXJiZXp3ZXJnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FzIGlzIGRhcyBkZW5uPyAoS2VsbHlidW5keSwgMjYuIEZlYiAyMDA3LCAxMjozNToxMik6Cn4jISBybj1WYW5pb24gcnQ9MTE3MjQzOTQwNiByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2Ck5lIFZlcmFyc2NoZSwgZGllIG1pbmltdW0gNTAgSmFocmUgaW4gZGVyIFp1a3VuZnQgc3BpZWx0LCB1bmQgYmVpIGRlciBlcyBtaWNoCm5pY2h0IHd1bmRlcm4gd3VlcmRlLCB3ZW5uIGRpZSBBZXJnZXIgbmFjaCBzaWNoIHppZWh0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2FzIGlzIGRhcyBkZW5uPyAoS2VsbHlidW5keSwgMjYuIEZlYiAyMDA3LCAxMjozNzoyMSk6Cn4jISBybj1WYW5pb24gcnQ9MTE3MjQ0MjMwMSByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2CkRpZSBpc3QgbmljaHQgbnVyIGR1cmNoIGVpbmVuIEhpc3RvcmllbnJvbWFuIGJlbGVndC4gRXMgZGV1dGV0IHZpZWxlcyBkYXJhdWYKaGluLCBkYXNzIGVzIHNvIGplbWFuZCBnZWdlYmVuIGhhdC4gQWJlciB6dSBkZXIgZnJhZ2xpY2hlbiBaZWl0IHNhc3NzZW4gbm9jaAp2aWVsIHNjaHJhZWdlcmUgVm9lZ2VsIGF1ZiBkZW0gUGFwc3R0aHJvbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdhcyBpcyBkYXMgZGVubj8gKEdyaW1tYm9ybiwgMjYuIEZlYiAyMDA3LCAxMzoxNDo1MSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNzI0ODk4NDEgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpEYXMgInZpZWxlIiwgZGFzIGRhcmF1ZiBoaW5kZXV0ZXQsIGhhdCBhYmVyIG5pY2h0cyBtaXQgc2VyaW9lc2VuIEhpc3RvcmlrZXJuCnp1IHR1biwgb2Rlcj8gSWNoIGVtcGZlaGxlIGRhIGdlcm5lIGRpZSBCdWVjaGVyIHZvbiBIZXJpYmVydCBJbGxpZywgZG9ydApmaW5kZXQgbWFuIGF1Y2ggInZpZWxlcyIsIHdhcyBhdWYgZWhlciB1bm9ydGhvZG94ZSBTYWNodmVyaGFsdGUgImhpbmRldXRldCIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPcmdhbnNwZW5kZW5kaW5ncyAoWm9vaywgMjYuIEZlYiAyMDA3LCAxNTo0MzowNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTcyMjM1NTg2IHJnPXd3dwp+IyEgdGlkPTExNzIyMzU1ODYKSW4gd2VsY2hlbSBadXN0YW5kIG11c3MgZGVubiBkZXIgVmVyc3RvcmJlbmUgc2VpbiwgZGFtaXQgZXIgc29sY2hlIFNhY2hlbgoic3BlbmRlbiIga2Fubj8gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FzIGlzIGRhcyBkZW5uPyAoS2VsbHlidW5keSwgMjYuIEZlYiAyMDA3LCAxOTo0NDowOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE3MjQ5MjA5MSByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2CkljaCBrYW5uIERpciBhZCBob2Mga2VpbmUgUXVlbGxlbiBhbmdlYmVuLCBhYmVyIEFGQUlSIHdhciBkYXMgZWluIGR1cmNoYXVzCnNlcmlvZXNlciBBdXRvci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcml2ZXItRG94eWdlbiAoTWFzdWwsIDI2LiBGZWIgMjAwNywgMjE6MjY6MDEpOgp+IyEgcm49WmVzc3RyYSBydD0xMTcyNDI0MTQzIHJnPXd3dwp+IyEgdGlkPTExNzI0MjQxNDMKV293LiBEYXMgbmVubiBpY2ggbWFsIG5lIGd1dCBzb3J0aWVydGUgRG9rdS4KCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXYXMgaXMgZGFzIGRlbm4/IChLZWxseWJ1bmR5LCAyNi4gRmViIDIwMDcsIDIyOjEwOjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTcyNDkyMDkxIHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKV2VnZW4gZGVzIFNrYW5kYWxzIG1pdCBkZXIgUGFlcHN0aW4gSm9oYW5uYSAoYW5nZWJsaWNoKSBoYWJlbiBzaWUgaW1tZXJoaW4KZWluZW4gU3R1aGwgbWl0IGVpbmVtIExvY2ggaW4gZGVyIFNpdHpmbGFlY2hlIGVpbmdlZnVlaHJ0LCBkYSBtdXNzdGUKdHVybnVzbWFlc3NpZyBkYW5uIGVpbmVyIGRlciBQcmFlbGF0ZW4gbmFjaGd1Z2duIG9iIGRlciBwYXBzdCBub2NoIGRhcyBoYXR0ZSwKd2FzIGlobiB2b25uZSBQYWVwc3RpbiB1bnRlcnNjaGVpZGV0LiBEYXMgc2NoZWludCBndXQgZG9rdW1lbnRpZXJ0IHp1IHNlaW4uCk5hY2h6dWxlc2VuIGJlaSBPdHRvIHZvbiBDb3J2aW4gdWVicmlnZW5zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogV2FzIGlzIGRhcyBkZW5uPyAoQWxrb2hvbCwgMjYuIEZlYiAyMDA3LCAyMjoxMzoyMyk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNzI1MjQyMjggcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpuYWphIG1hbiBtdXNzIGphIG5pY2h0IGltbWVyIGdsYXViZW4sIHdhcyBkaWUgV2lraXBlZGlhIHNjaHJlaWJ0LCBhYmVyIGxpZXMKbWFsIHdhcyBkaWUgenVyIFBhZXBzdGluIEpvaGFubmEgc2NocmVpYnQuCgpTY2hvbiBkZXIgendlaXRlIFNhdHogaXN0IHNlaHIgaW50ZXJlc3NhbnQuCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdhcyBpcyBkYXMgZGVubj8gKEtlbGx5YnVuZHksIDI2LiBGZWIgMjAwNywgMjI6MjE6NTMpOgp+IyEgcm49QWxrb2hvbCBydD0xMTcyNTI0NDAzIHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKTmFqYS4gRGllIEtpcmNoZW5oZWluaXMgaGFiZW4gZXMgamEgYXVjaCBzZWxiZXIgbGFuZyBnZW51ZyBnZWdsYXVidCwgd2llIGRhCnN0ZWh0Li4uIGVycmFyZSBodW1hbnVtIGVzdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogV2FzIGlzIGRhcyBkZW5uPyAoQWxib2luLCAyNi4gRmViIDIwMDcsIDIyOjI0OjIzKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTE3MjUyNDkxMyByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2CkljaCB3ZWlzcyBuaWNodCB3YXMgaWhyIGhhYnQsIGthdGhvbGlzY2hlIEtpcmNoZSB3aXJkIGVoIGltbWVyCmJlZGV1dHVuZ3Nsb3NlcmF1Y2ggd2VubiBQYXBhIFJhdHppIHdpcmtsaWNoIGVpbiBzY2hsYXVlciBpc3QuIERpZSBadWt1bmZ0CmdlaG9lcnQgZGVtIGlzbGFtLiBBbGxhaHUgQWtiYXIhCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXYXMgaXMgZGFzIGRlbm4/IChPcmt0b2V0ZXIsIDI2LiBGZWIgMjAwNywgMjI6MjY6MjUpOgp+IyEgcm49QWxib2luIHJ0PTExNzI1MjUwNjMgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpEYXMgZ2xhdWJlIGljaCBlcnN0LCB3ZW5uIGRpZSBPZXNpcyBlaW5lbSBuaWNodCBtZWhyIHN0YWVuZGlnIG1pdCBlaW5lbQoiR3J1ZXNzIEdvdHQiIGtvbW1lbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXZWIgMi4wIChNYXN1bCwgMjcuIEZlYiAyMDA3LCAwNjo1NDo0MSk6Cn4jISBybj1WYW5pb24gcnQ9MTE3MjQzODAwMSByZz13d3cKfiMhIHRpZD0xMTcyNDE4NzE3ClZhbmlvbiwKCmhhc3QgRHUgZGVuIEFydGlrZWwgZ2VsZXNlbj8KCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYXMgaXMgZGFzIGRlbm4/IChHcmltbWJvcm4sIDI3LiBGZWIgMjAwNywgMTA6NTU6MzYpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTcyNTI0MjI4IHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKU29zbywgaWNoIG1lcmtlIGFuIGRhc3MgZGFzIGJlaSBIaXN0b3Jpa2VybiBhbHMgZWhlciBuaWNodCBoYWx0YmFyIGdpbHQsIHVuZApEdSBrb21tc3QgbWl0IGVpbmVtIGFudGlrbGVyaWthbGVuIFNjaHJpZnRzdGVsbGVyLCBkZW4gRHUgaW4gZGllc2VtClp1c2FtbWVuaGFuZyBhbHMgInNlcmlvZXMiIGFuc2llaHN0LiBEYXMgaXN0IGVpbmUuLi4gZWlnZW53aWxsaWdlCkFyZ3VtZW50YXRpb25zd2Vpc2UsIGZpbmRlc3QgRHUgbmljaHQ/CkFuZGVyZXJzZWl0cyBrYW5uc3QgRHUgbmF0dWVybGljaCBhdWNoIGVpbmUgYmVsaWViaWdlIGFuZGVyZQpWZXJzY2h3b2VydW5nc3RoZW9yaWUgbmVobWVuLCBhdWNoIGRhIHdpcnN0IER1ICJzZXJpb2VzZSIgQnVlY2hlciB6dSBmaW5kZW4uIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXYXMgaXMgZGFzIGRlbm4/IChLZWxseWJ1bmR5LCAyNy4gRmViIDIwMDcsIDIwOjQ0OjE5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTcyNTcwMTM2IHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKT3R0byB2b24gQ29ydmluIGhhdCBzZWhyIHNlcmlvZXMgcmVjaGVyY2hpZXJ0LiBVbmQgaW4gZGVyIFdpa2lwZWRpYSBzdGFuZCwKZGFzcyBkaWVzZSBHZXNjaGljaHRlIHZvbiBkZXIgUGFlcHN0aW4gSm9oYW5uYSBiaXMgMTk1MCBzZWxic3QgaW4KS2lyY2hlbmtyZWlzZW4gZ2VnbGF1YnQgd3VyZGUuIFdlbm4gRHUgZGFubiBtYWwgZGFzIEVyc2NoZWludW5nc2RhdHVtIGRlcwpQZmFmZmVuc3BpZWdlbHMgc2llaHN0LCBpc3QgZXMga2xhciwgd2FydW0gaWNoIGRlbSBhdWZnZXNlc3NlbiBiaW4uIGljaCBoYWJlCmphIGF1Y2ggc2Nob24gbWVpbmVuIElycnR1bSB6dWdlZ2ViZW4uIHdhcyB3aWxsc3QgRHUgZWlnZW50bGljaD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFdhcyBpcyBkYXMgZGVubj8gKE11YWRpYiwgMjcuIEZlYiAyMDA3LCAyMDo1NTo1MCk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNzI2MDU0NTkgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpuaWNodCBhdWZyZWdlbgp0aWVmIGR1cmNoYXRtZW4KbmljaHQgYXVmcmVnZW4KZHUgYmlzdCBnYW56IHJ1aGlnCmRpZSBydWhlIHNlbGJzdApkdSBrZW5uc3Qga2VpbmUgYWdncmVzc2lvbmVuCmR1IHJ1aHN0IGluIGRpcgoKdW5kIG51IGdlaCBkZW4gbXVlbGxlaW1lciB0cmV0ZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdhcyBpcyBkYXMgZGVubj8gKE9ya3RvZXRlciwgMjcuIEZlYiAyMDA3LCAyMDo1NzoyMCk6Cn4jISBybj1NdWFkaWIgcnQ9MTE3MjYwNjE1MCByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2CldhcnVtPyBXYXMgaGF0IGRlciBNdWVsbGVpbWVyIGlyZ2VuZHdlbSBnZXRhbj8KRnJpZWRlIGZ1ZXIgYWxsZSBNdWVsbGVpbWVyIQpPbW1tbW1tbW1tbW1tbW0KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYXMgaXMgZGFzIGRlbm4/IChHcmltbWJvcm4sIDI3LiBGZWIgMjAwNywgMjM6NDI6MjMpOgp+IyEgcm49S2VsbHlidW5keSBydD0xMTcyNjA1NDU5IHJnPXd3dwp+IyEgdGlkPTExNzI0Mzk0MDYKV2FzIGljaCB3aWxsPyBEYXNzIER1IFNpbm4gbWFjaHN0LCB1bmQgdmVybnVlbmZ0aWcgYXJndW1lbnRpZXJzdC4gSWNoIG1laW5lLAplcyBrYW5uIGRvY2ggbmljaHQgRGVpbiBFcm5zdCBzZWluIGRhc3MgRHUgZXR3YXMgYmVoYXVwdGVzdCBtaXQgZGVyCkJlZ3J1ZW5kdW5nICJiaXMgdm9yIHNvdW5kc292aWVsIEphaHJlbiBoYXQgZGFzIGF1Y2ggZGllIEtpcmNoZSBnZWdsYXVidCIuIE1pdApkZXIgQXJndW1lbnRhdGlvbiBzaW5kIHdpciBiZWkgZGVyIEVyZGUgYWxzIFNjaGVpYmUsIGRlbSBHb2V0dGVyb2JlcmhhdXB0ClpldXNzLCB1bmQgZGVtIEF1ZmJhdSBkZXIgV2VsdCBhdXMgZnVlbmYgRWxlbWVudGVuLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogV2FzIGlzIGRhcyBkZW5uPyAoTW9udGFudXMsIDI3LiBGZWIgMjAwNywgMjM6NDI6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNzI2MTYxNDMgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpJaHIgc2VpZCBzY2hvbiB3aWVkZXIgaW0gZmFsc2NoZW4gRnJlZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IFdhcyBpcyBkYXMgZGVubj8gKE9ya3RvZXRlciwgMjguIEZlYiAyMDA3LCAxOTowMToxNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE3MjYxNjE0MyByZz13d3cKfiMhIHRpZD0xMTcyNDM5NDA2CldlbiBtZWluc3QgZHUgbWl0ICJkaWUgS2lyY2hlIiBpbiBkZW0gWml0YXQ/IERpZSByb2VtaXNjaCBrYXRob2xpc2NoZSwgd2llIG1hbgpkZW0gQW5sYXNzIG5hY2ggdmVybXV0ZW4gc29sbHRlPyAKRGFubiBzdGltbWUgaWNoIGRpciBpbiBkZW0gUHVua3QgIkVyZGUgYWxzIFNjaGVpYmUiIGR1cmNoYXVzIHp1LCBoZWdlIGFiZXIKenVtaW5kZXN0IGFuIGRlbSBQdW5rdCAiR29ldHRlcm9iZXJoYXVwdCBaZXVzcyIgZXJoZWJsaWNoZSBad2VpZmVsLgoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBXYXMgaXMgZGFzIGRlbm4/IChHcmltbWJvcm4sIDI4LiBGZWIgMjAwNywgMTk6MTU6NDkpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNzI2ODU2NzYgcmc9d3d3Cn4jISB0aWQ9MTE3MjQzOTQwNgpFcyBnaW5nIHVtIGRpZSBBcmd1bWVudGF0aW9uc3dlaXNlLCB1bmQgZGllICJLaXJjaGUiIGlzdCBlaW4gWml0YXQuIERpZQpBcmd1bWVudGF0aW9uc3dlaXNlIChkYXMgZXJrbGFlcmUgaWNoIERpciBoaWVyIGJpcyBEZWluZQpUcmFuc2ZlcmxlaXN0dW5nc21hc2NoaW5lIHdpZWRlciByZXBhcmllcnQgaXN0KSBpc3QgYWxzbywgZXR3YXMgZnVlciBiZWxlZ3QgenUKaGFsdGVuLCB3YXMgZWluZSBiZWxpZWJpZ2UgR3J1cHBlIGJpcyB6dSBpcmdlbmRlaW5lbSBQdW5rdCBpbiBkZXIKVmVyZ2FuZ2VuaGVpdCBmdWVyIHJpY2h0aWcgZ2VoYWx0ZW4gaGF0LgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb2tpbyBib3JkZWxsIChLZWxseWJ1bmR5LCAgMi4gTWFyIDIwMDcsIDExOjQxOjQzKToKaHR0cDovL3d3dy5rbGFidXN0ZXJiZWVyZS5uZXQvYXJjaGl2LzIwMDUvMTAvMjIvdG9raW8taG90ZWwvCgpFaW5mYWNoIG1hbCBkaWUgS29tbWVudGFyZSBsZXNlbi4gVm9yc2ljaHQsIFp3ZXJjaGZlbGx2ZXJsZXR6dW5nc2dlZmFociEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUb2tpbyBib3JkZWxsIChCb2luZywgIDIuIE1hciAyMDA3LCAxMTo1Mzo0Myk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTExNzI4MzIxMDMgcmc9d3d3Cn4jISB0aWQ9MTE3MjgzMjEwMwpEdSBtdXNzdCBqYSBzZWhyIGdyb3NzZSBMYW5nZXdlaWxlIGhhYmVuIHdlbm4gRHUgZGEgbWVociBhbHMgZGllCmVyc3RlbiBiZWlkZW4gS29tbWVudGFyZSBnZWxlc2VuIGhhc3QgLi4uIDspCiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogVG9raW8gYm9yZGVsbCAoS2VsbHlidW5keSwgIDIuIE1hciAyMDA3LCAxMzowOToyMyk6Cn4jISBybj1Cb2luZyBydD0xMTcyODMyODIzIHJnPXd3dwp+IyEgdGlkPTExNzI4MzIxMDMKSmEgaWNoIGhhYiBsYW5nZXdlaWxlLiBJY2ggdmVyZ2FzczogaXN0IHppZW1saWNoIGxhbmcgYWJlciBlcyBsb2hudCBzaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2ViIDIuMCAoVmFuaW9uLCAgMi4gTWFyIDIwMDcsIDE4OjEyOjQzKToKfiMhIHJuPU1hc3VsIHJ0PTExNzI1NTU2ODEgcmc9d3d3Cn4jISB0aWQ9MTE3MjQxODcxNwpCaXNoZXIgbm9jaCBuaWNodC4gQmluIG5pY2h0IGRhenUgZ2Vrb21tZW4uIFN0ZWh0IGF1ZiBkZW0gVG9kby4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgV2FobHNjaHJhbmsuLi4gKFplc3N0cmEsICA0LiBNYXIgMjAwNywgMjI6MjQ6MTQpOgpXZXIgc2ljaCBzY2hvbiBpbW1lciBtYWwgZnJhZ3RlLCB3aWUgdW5nZWZhZWhyIFdhaGxlbiBwZXIgV2FobGNvbXB1dGVyCmFibGF1ZmVuLCBoaWVyIGlzdCBlaW5lIHNjaG9lbmUsIGZ1ZXIgamVkZW4gdmVyc3RhZW5kbGljaGUgWnVzYW1tZW5mYXNzdW5nOgpodHRwczovL2Jlcmxpbi5jY2MuZGUvd2lraS9EZXJfV2FobHNjaHJhbmsKCkRlciBDb21pYyBpc3QgbHVzdGlnLCBhYmVyIGxlaWRlciBuaWNodCB6dW0gTGFjaGVuLCB3ZW5uIG1hbiBzaWNoIHVlYmVybGVndCwKZGFzcyBzbyB3aXJrbGljaCBzY2hvbiBnZXdhZWhsdCB3aXJkLi4uClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11YWhhaGEgOikgKEtlbGx5YnVuZHksICA1LiBNYXIgMjAwNywgMTE6MzE6MTMpOgpodHRwOi8vd3d3LmVhenlyYWlkZXIuZGUvbWlzYy9UYW5qYS1BbnRlbm5lMS5tcDMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGRlciB2b20gTUctU2VydmVyIChBbWFyeWxsaXMsICA2LiBNYXIgMjAwNywgMjM6MDA6MjkpOgpIaSwKCmF1ZiBodHRwOi8vd3d3LmFyYXRoLm9yZy9yZWxvY2F0aW9uIGdpYnRzIGVpbiBwYWFyIEJpbGRlciB2b20gbmV1ZW4KU2VydmVyLVN0YW5kb3J0LgpGYWxscyBzaWNoIGRlciBXZWJtYXN0ZXIgYmVtdWVzc2lndCBmdWVobHQsIGRpZXNlIGF1ZiBkaWUgb2ZmaXppZWxsZW4KV2Vic2VpdGVuIGhvY2h6dWxhZGVuLCB3YWVyZSBlaW5lIEluZm8gYW4gbWljaCBuZXR0LCBkYW5uIGthbm4gaWNoIGRlbiBLcmFtIGRhCndpZWRlciBlbnRmZXJuZW4gOykKCkdydXNzLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFuay1HZWh0LVJhbiAoQW50aGVhLCAgOC4gTWFyIDIwMDcsIDEzOjMyOjI5KToKaHR0cDovL3d3dy5mcmFuay1nZWh0LXJhbi5kZS8KTmV0dCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NocmFlZ2UgVVJMcyAoQW50aGVhLCAgOC4gTWFyIDIwMDcsIDE0OjA1OjM1KToKMS4gIldobyBSZXByZXNlbnRzIiBlbnRoYWVsdCBhbGxlIE1hbmFnZXIgZnVlciBQcm9taW5lbnRlLAoqICprZWluZSBOdXR0ZW4gLSBkaWUgV2Vic2l0ZSBpc3QgCnd3dy53aG9yZXByZXNlbnRzLmNvbS4KCjIuICJFeHBlcnRzIEV4Y2hhbmdlIiBpc3QgZWluZSBLbm93bGVkZ2UgQmFzZSBmdWVyCiogKlByb2dyYW1taWVyZXIgdW5kIG1hY2h0IGtlaW5lIEdlc2NobGVjaHRzdW13YW5kbHVuZzoKKiAqd3d3LmV4cGVydHNleGNoYW5nZS5jb20uCgozLiBBdWNoICJQZW4gSXNsYW5kIiBoYWV0dGUgbWFuIG1pdCBCaW5kZXN0cmljaAoqICplaW50cmFnZW4gc29sbGVuOiAqCnd3dy5wZW5pc2xhbmQubmV0LgoKNC4gSGllciBzdWNodCBtYW4gVGhlcmFwZXV0ZW4gLSBrZWluZSBWZXJnZXdhbHRpZ2VyOgoqICp3d3cudGhlcmFwaXN0ZmluZGVyLmNvbS4KCjUuIFVuZCBkYW5uIGRpZSAiSXRhbGlhbiBQb3dlciBHZW5lcmF0b3IgY29tcGFueSIgbWl0CiogKmRlciBrcmFmdHZvbGxlbiBVUkwgKgp3d3cucG93ZXJnZW5pdGFsaWEuY29tLgoKNi4gSW4gZGVyIEdlbWVpbmRlIGRlciAiRmlyc3QgQ3VtbWluZyBNZXRob2Rpc3QgQ2h1cmNoIgoqICp6YWVobHQgZGVyIHNjaG5lbGxlIE9yZ2FzbXVzOiAqCnd3dy5jdW1taW5nZmlyc3QuY29tLgoKNy4gVW5kIHp1bSBTY2hsdXNzIGZsaW5rZSBMZWlid2luZGUgYmVpICJTcGVlZCBvZiBBcnQiCiogKnVudGVyIAp3d3cuc3BlZWRvZmFydC5jb20uCiAgICAgIAkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdlYiAyLjAgKERhcmtsb3IsIDEyLiBNYXIgMjAwNywgMDY6MDc6MzgpOgp+IyEgcm49VmFuaW9uIHJ0PTExNzI4NTU1NjMgcmc9d3d3Cn4jISB0aWQ9MTE3MjQxODcxNwpBbSBBbmZhbmcgaXN0cyBub2NoIG4gYmlzc2wgd2l0emlnLCBhYmVyIGF1ZiBEYXVlciBuZXJ2dHMuLi4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFFUy1QbGF0dGUgKEdsb2luc29uLCAxMy4gTWFyIDIwMDcsIDIzOjE2OjA4KToKRGFzIGlzdCBkb2NoIG1hbCBlaW5lIG5ldHRlIElkZWUsIFZlcnNjaGx1ZXNzZWx1bmcgYXVmIENvbnRyb2xsZXItRWJlbmU6Cmh0dHA6Ly93d3cuc2VhZ2F0ZS5jb20vd3d3L2VuLXVzL3Byb2R1Y3RzL2xhcHRvcHMvbW9tZW50dXMvbW9tZW50dXNfNTQwMF9mZGUuMgovCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQUJNIGluIGRlciBqYXBhbmlzY2hlbiBDb21wdXRlcmluZHVzdHJpZSAoQmFtYnVsa28sIDE5LiBNYXIgMjAwNywgMTc6NTY6MDgpOgpBQk0gaW4gZGVyIGphcGFuaXNjaGVuIENvbXB1dGVyaW5kdXN0cmllLi4uCgpodHRwOi8vd3d3LjEtY2xpY2suanAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndpZSBlcyBuYWNoIG9iZW4gZ2VodCAuLiAoQWxib2luLCAyMC4gTWFyIDIwMDcsIDE2OjI3OjUyKToKaHR0cDovL3d3dy5hcmNvci5kZS9lY2FyZHMvaW1hZ2VzL3BpY3R1cmUwL2ZfcGljdC9LYXJyaWVyZWxlaXRlci5zd2YKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnd1end1eiAoVmVjdG9yLCAyMy4gTWFyIDIwMDcsIDIwOjA1OjM1KToKCmh0dHA6Ly93d3cuMjBtaW4uY2gvZGlnaXRhbC9tdWx0aW1lZGlhL3N0b3J5LzE3MDEwMDQ2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUeXBld3JpdGVya2V5Ym9hcmQgKE1lc2lyaWksIDIzLiBNYXIgMjAwNywgMjI6NDM6NDQpOgpodHRwOi8vd3d3LnN0ZWFtcHVua3dvcmtzaG9wLmNvbS9rZXlib2FyZC5zaHRtbApNZXNpLCBiZWVpbmRydWNrdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFR5cGV3cml0ZXJrZXlib2FyZCAoVmFuaW9uLCAyMy4gTWFyIDIwMDcsIDIyOjQ4OjE2KToKfiMhIHJuPU1lc2lyaWkgcnQ9MTE3NDY4NjIyNCByZz13d3cKfiMhIHRpZD0xMTc0Njg2MjI0CkF1Y2h3aWxsLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9sbmlnZyBlcmtsYWVydCBXb1cgZGVuIEtyaWVnIChWaW5jZW50LCAyNS4gTWFyIDIwMDcsIDEzOjU3OjUxKToKSmV0enQgd2lyZCdzIGVybnN0IGZ1ZXIgV29ybGQgb2YgV2FyY3JhZnQ6Cmh0dHA6Ly93d3cub2xuaWdnLmRlL2phaHIyMDA3L29sZzEzNi5odG0KCjopCgogIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0ZXZlIEpvYnMgc3RlbGx0IGRhcyBuZXVlc3RlIGlQcm9kdWt0IHZvciAoVmluY2VudCwgMjYuIE1hciAyMDA3LCAwMDowNzozNik6Cmh0dHA6Ly93d3cuZmV0dGVtYW1hLm9yZy9pbmRleC5waHAvYXJjaGl2ZXMvMjAwNy8wMy8yNS90aGUtYXBwbGUtaXJhY2svCgpPaG5lIHdlaXRlcmVuIEtvbW1lbnRhci4gRWluZmFjaCBoZXJybGljaCEgOikKCiAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlsbCB2cy4gU3RldmU6IEF1Y2ggZ2FueiBuZXR0IChNYXN1bCwgMjcuIE1hciAyMDA3LCAyMzoxMToyNik6Cmh0dHA6Ly9kZS5zZXZlbmxvYWQuY29tL3ZpZGVvcy9NT1NQVk9rL0JpbGwtZ2F0ZXMtdnMtc3RldmUtam9icwpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKc3RyYXNzZW5zaWNoZXJoZWl0IChWZWN0b3IsIDI3LiBNYXIgMjAwNywgMjM6Mzg6NDEpOgoKaHR0cDovL3d3dy5maWxlY2FiaS5uZXQvdmlkZW8vQ2hpY2tlbmNyb3NzaW5ndGhlcm9hZC5odG1sCgplcmlubmVydCBtaWNoIGlyZ2VuZHdpZSBhbiBkYXMgYWx0ZSBjb21wdXRlci1zcGllbCwgYmVpCmRlbSBtYW4gZWluZW4gZnJvc2NoIGdlc3RldWVydCBoYXQsIGRlciB1ZWJlciBuZSBzdHJhc3NlCmh1cGZlbiBtdXNzdGUuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogc3RyYXNzZW5zaWNoZXJoZWl0IChNYXN1bCwgMjcuIE1hciAyMDA3LCAyMzozOToyMSk6Cn4jISBybj1WZWN0b3IgcnQ9MTE3NTAzMTUyMSByZz13d3cKfiMhIHRpZD0xMTc1MDMxNTIxCkZyb2dnZXIuIERhcyBTcGllbCBoaWVzcyBGcm9nZ2VyLgpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBzdHJhc3NlbnNpY2hlcmhlaXQgKE9ya3RvZXRlciwgMjcuIE1hciAyMDA3LCAyMzo0MzoyOCk6Cn4jISBybj1NYXN1bCBydD0xMTc1MDMxNTYxIHJnPXd3dwp+IyEgdGlkPTExNzUwMzE1MjEKSGV5ISBXYXIgZGFzIG5pY2h0IGVpbiBGbHVzcyB1bmQgZGEgc2Nod2FtbWVuIEJhdW1zdGFlbW1lIHVuZCBLcm9rb2RpbGU/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzdHJhc3NlbnNpY2hlcmhlaXQgKENoYWdhbGwsIDI3LiBNYXIgMjAwNywgMjM6NDQ6MDgpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTExNzUwMzE4MDggcmc9d3d3Cn4jISB0aWQ9MTE3NTAzMTUyMQpHZW5hdSwgZXJzdCBkaWUgU3RyYXNzZSBtaXQgQXV0b3MsIGRhbm4gZGVyIEZsdXNzIG1pdCBCYXVtc3RhZW1tZW4sCktyb2tvcyB1bmQgU2NobGFuZ2VuIGV0Yy4KCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBzdHJhc3NlbnNpY2hlcmhlaXQgKE1hc3VsLCAyNy4gTWFyIDIwMDcsIDIzOjQ1OjUzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTc1MDMxODA4IHJnPXd3dwp+IyEgdGlkPTExNzUwMzE1MjEKU3RpbW10LiBEYXMgZ2FiIGVzIGF1Y2guIFVuZCBlcyBnYWIgU2NoaWxka3JvZXRlbiwgZGllIGhpbnRlcmxpc3RlcndlaXNlIG5hY2gKZWluaWdlciBaZWl0IHVudGVydGF1Y2h0ZW4uCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBzdHJhc3NlbnNpY2hlcmhlaXQgKEFudGhlYSwgMjguIE1hciAyMDA3LCAxMDozNjo1Nyk6Cn4jISBybj1NYXN1bCBydD0xMTc1MDMxOTUzIHJnPXd3dwp+IyEgdGlkPTExNzUwMzE1MjEKSmF1LiBVbmQgYWxzIFBDLVNwaWVsIGdpYnQgZXMgZGFzIGF1Y2ggd2llZGVyLCBtaXQgbm9jaCBtZWhyIHZlcnNjaGllZGVuZW4KTGV2ZWxzIHVuZCBIZXJhdXNmb3JkZXJ1bmdlbi4gR2FueiBkZW4gYWx0ZW4gR2Vpc3QgYXVmZ2Vub21tZW4gdW5kIHdpZWRlcgp3ZWl0ZXJnZW1hY2h0LgpOZXR0IGlzdCBhdWNoIGRpZSBJbnRyby4gRGEgaXN0IGRhcyBDNjQtRnJvZ2dlci1TcGllbCBtaXQgZGVtIGRhbWFsaWdlbiBTb3VuZAp6dSBob2VyZW4sIHVuZCBhdWYgZWlubWFsIHdpcmQgZGFubiBhdWZnZWRyZWh0IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBzdHJhc3NlbnNpY2hlcmhlaXQgKEFsYm9pbiwgMjguIE1hciAyMDA3LCAxNDowMjo0OCk6Cn4jISBybj1BbnRoZWEgcnQ9MTE3NTA3MTAxNyByZz13d3cKfiMhIHRpZD0xMTc1MDMxNTIxCmVzIGdpYnQgYXVjaCBDNjQgRW11bGF0b3JlbiB1bmQgZGFubiBrYW5uIG1hbiBkYXMgU3BpZWwgYXVmIGRlbSBQQyBzcGllbGVuLgpodHRwOi8vd3d3LmM2NGdhbWVzLmRlL3BocHNlaXRlbi9zcGllbGVkZXRhaWwucGhwP2ZpbG51bW1lcj0yNzQKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmF1ZiBlaWdlbmUgZ2VmYWhyIChOaWNvbGFpLCAzMS4gTWFyIDIwMDcsIDAxOjM1OjI1KToKaHR0cDovL3RoZW5vb2Jjb21pYy5jb20vCmRvcnQgZGFubiBhdWYgImZpcnN0IiBrbGlja2VuIHVuZCBtaXQgbGVzZW4gYW5mYW5nZW4sCm5pY2h0IHd1bmRlcm4gd2VubiBwbG9ldHpsaWNoIGRpZSBnYW56ZSBuYWNodCBydW0gaXN0IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb29nbGUtRmxhdHJhdGUgKEdsb2luc29uLCAgMS4gQXByIDIwMDcsIDE0OjMxOjU3KToKaHR0cDovL3d3dy5nb29nbGUuY29tL3Rpc3AvaW5kZXguaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhdWYgZWlnZW5lIGdlZmFociAoQ3JvZnQsICAxLiBBcHIgMjAwNywgMTU6MDg6MjIpOgp+IyEgcm49Tmljb2xhaSBydD0xMTc1Mjk3NzI1IHJnPXd3dwp+IyEgdGlkPTExNzUyOTc3MjUKQXVjaCBlaW4gc2VociBuZXR0ZXIgV2ViY29taWMgaXN0IGh0dHA6Ly9jdHJsYWx0ZGVsLW9ubGluZS5jb20vCk1NT1JQR3Mgd2VyZGVuIGltbWVyIG1hbCBnZXN0cmVpZnQsIGRpZSBTdG9yeSBkcmVodCBzaWNoIHVtIGVpbmVuClZvbGxibHV0c3BpZWxlem9ja2VyLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXVmIGVpZ2VuZSBnZWZhaHIgKEdsb2luc29uLCAgMS4gQXByIDIwMDcsIDE1OjE3OjU4KToKfiMhIHJuPUNyb2Z0IHJ0PTExNzU0MzI5MDIgcmc9d3d3Cn4jISB0aWQ9MTE3NTI5NzcyNQpVbmQgYXVjaCBhbmRlcmVzIGF1cyBkZW0gQ29tcHV0ZXJiZXJlaWNoIHdpcmQgZ2VybiBtYWwgYW5nZXBpZWt0LCBkZXIgYWt0dWVsbGUKZHJlaHQgc2ljaCB1bSBXaW5kb3dzIFZpc3RhOgoKaHR0cDovL3d3dy5jdHJsYWx0ZGVsLW9ubGluZS5jb20vY29taWNzLzIwMDcwMzMxLmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkpvZC1OYWNobGVzZSAoR2xvaW5zb24sICAzLiBBcHIgMjAwNywgMTM6MjI6NDYpOgpIaWVyIHNpbmQgbnVyIGVpbiBwYWFyIFphaGxlbiB1bmQgUXVlbGxlbiBlaW5nZXd1ZXJ6dDoKaHR0cDovL3d3dy56ZWl0LmRlL2dlc3VuZGhlaXQvZ2VzdW5kaGVpdHNmcmFnZW4tMjAwNy9pb2R2ZXJnaWZ0dW5nP3BhZ2U9YWxsCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JpZWNoZW50ZWxsZXIgenVtIDIuIChLcnN0ZnJzLCAxMC4gQXByIDIwMDcsIDAxOjMyOjM1KToKTW9pbiwKCm5hY2hkZW0gWmVzc3RyYSB2b3IgZWluaWdlciBaZWl0IHZvbiBtZWluZXIgRW50ZGVja3VuZyBiZXJpY2h0ZXRlLCBkYXNzIGRhcwpNRy1UdXRvcmlhbCBQbGF0eiAxIGJlaSBkZXIgU3VjaGUgbmFjaCAiR3JpZWNoZW50ZWxsZXIiIGJlbGVndCwgaGFiZSBpY2ggZWluZQpuZXVlIEVudGRlY2t1bmcgZ2VtYWNodC4KUGxhdHogMSBiZWkgR29vZ2xlIG5hY2ggR3JpZWNoZW50ZWxsZXI6Ck1vcmdlbkdyYXVlbiAtIG1nLm11ZC5kZSAtIGRhcyBncm9lc3N0ZSBkZXV0c2NoZSB0ZXh0YmFzaWVydGUgLi4uCgpHb29nZWxuIG5hY2ggJ0dyaWVjaGVudGVsbGVyJyBsaWVmZXJ0IG1vbWVudGFuIGZvbGdlbmRlcyBFcmdlYm5pczogTWVpbnRlbiAuLgpEaWUgRnJhZ2U6IFdpZSBrcmllZ2VuIHdpciBkaWUgTGV1dGUgZGF6dSwgbmFjaCAnR3JpZWNoZW50ZWxsZXInIHp1IGdvb2dlbG4/Ci4uLgoKRGVyIExpbmsgZnVlaHJ0IHp1ciBNUEEsIHp1IGJlc2FndGVtIEFydGlrZWwgdm9uIFplc3N0cmEsIGxlaWRlciBuaWNodCBtZWhyCmFicnVmYmFyLgpEaWUgRnJhZ2UgYmxlaWJ0OiBXaWUga3JpZWdlbiB3aXIgTGV1dGUgZGF6dSwgbmFjaCBHcmllY2hlbnRlbGxlciB6dSBnb29nbGVuPwo7KQoKS3JzdGZycywgZGllIFdlbHQgZGVyIFJla3Vyc2lvbiBlbnRkZWNrZW5kLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoR2xvaW5zb24sIDEwLiBBcHIgMjAwNywgMDQ6NTY6NTcpOgpNYWhsemVpdCwKaHR0cDovL2l0Yy5uYXBpZXIuYWMudWsvZS1QZXRpdGlvbi9idW5kZXN0YWcvdmlld19wZXRpdGlvbi5hc3A/UGV0aXRpb25JRD0zOTUKCkljaCBtYWcgZXR3YXMgZnJlaWVyIHNlaW4gdW5kIHVudGVyemVpY2huZS4gUHJpbnppcGllbGwgc2VoZSBpY2ggZXMgYXVjaCBzbywKZGFzcyBtaXIgYWxzIEZhaHJ6ZXVnZnVlaHJlciBkaWUgV2FobCB1ZWJlcmxhc3NlbiB3ZXJkZW4gc29sbHRlLiBEYWZ1ZXIgYmluCmljaCBhbmdlYmxpY2ggbXVlbmRpZyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChNYWhhcmV0LCAxMC4gQXByIDIwMDcsIDA4OjE0OjQyKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzYxNzM4MTcgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpBaGEuIEhvZmZlbnRsaWNoIHdpcnN0IGR1IG5pY2h0IG1hbCB6dW0gQXV0b2ZhaHJlciB1bmQgYmVzdGVoc3QgYXVmIGRlaW5lbQoibXVlbmRpZ2VuIiBGcmVpaGVpdHNiZWdyaWZmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHcmltbWJvcm4sIDEwLiBBcHIgMjAwNywgMDk6NTA6MzApOgp+IyEgcm49TWFoYXJldCBydD0xMTc2MTg1NjgyIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKV2llc28/IEluIGRpZXNlbiBhbWVyaWthbmlzY2hlbiBGaWxtZW4gZmFocmVuIGRpZSBkb2NoIGF1Y2ggbGF1ZmVuZCBtaXQgZGVuCkF1dG9zIGF1ZiBkZW4gQnVlcmdlcnN0ZWlnZW4uIFVuZCBkdXJjaCBFaW5rYXVmc3plbnRyZW4uIERpZSBzaW5kIGhhbHQgaW4gZGVyCkVudHdpY2tsdW5nIHdlaXRlciBhbHMgd2lyLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHbG9pbnNvbiwgMTAuIEFwciAyMDA3LCAxMTozMzoyOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzYxODU2ODIgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpXaWVzbyBuaWNodD8gSWNoIGJldGVpbGlnZSBtaWNoIGJyYXYgYW4gZWluZXIgUGV0aXRpb24sIGRhbWl0IGRpZSBSZWdlbG4KZ2VhZW5kZXJ0IHdlcmRlbiB1bmQgaWNoIHdhZWhsZW4gZGFyZiB3YXMgaWNoIGRlcnplaXQgbmljaHQga2Fubi4gV2VubiBpY2gKbWljaCBhbHMgQXV0b2ZhaHJlciBhZWhubGljaCB2ZXJoaWVsdGUgYWViZSBlcyBkb2NoIGthdW0gbm9jaCBldHdhcwphdXN6dXNldHplbiwgaG0/CgpadW1hbCBkaWUgQXJndW1lbnRhdGlvbiBhdWYgZGVyIFBldGl0aW9uICJTdGF0aXN0aWtlbiB6ZWlnZW4gaG9laGVyZQpVbmZhbGxyYXRlIGJlaSBSYWR3ZWdudXR6dW5nIiBzdWJqZWt0aXYgYXVjaCB2b24gbmFjaHp1dm9sbHppZWhlbiBpc3QuIChOZWluLAplcyB3ZXJkZW4ga2VpbmUgU3R1ZGllIHppdGllcnQsIGFiZXIgZGllIGthbm4gbWFuIHNpY2hlciBhdWYgQW5ydWYgZXJmYWhyZW4sCndlbm4gbWFuIHdpbGwuKSBEaWUgbWVpc3RlbiBtZWluZXIgQnJlbXNib3dkZW56dWVnZSBoYWJlIGljaCBtaXIgYmVpCk5vdGJyZW1zdW5nZW4gYW4gU3RyYXNzZW5xdWVydW5nZW4gdmlhIFJhZHdlZyBnZWtuYWNrdC4gSmEgZG9jaCwgUmFkd2FuZGVyd2VnZQpzaW5kIHRyb3R6ZGVtIGdhbnogdG9sbCBhYmVyIHdhcyBhbmRlcmVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKE1haGFyZXQsIDEwLiBBcHIgMjAwNywgMTM6MDY6MTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3NjE5NzYwOCByZz13d3cKfiMhIHRpZD0xMTc2MTczODE3ClNpY2hlciwgYWJlciBkdSBoYXN0IGdlc2FndCwgZGFzcyBkaXIgYWxzIEZhaHJ6ZXVnZnVlaHJlciBkaWUgV2FobCB1ZWJlcmxhc3NlbgpzZWluIHNvbGwuICBXZWdlbiBGcmVpaGVpdCB1bmQgTXVlbmRpZ2tlaXQgdW5kIHNvLiAKRGFzIFByb2JsZW0gc2luZCBqYSBlaGVyIGRpZSBadXN0YWVuZGUgZGVyIFJhZHdlZ2Ugc293aWUgZGVyZW4gc2NobGVjaHRlcgpTY2h1dHogKHdpZWF1Y2hpbW1lciBtYW4gZGVuIHZlcmJlc3Nlcm4ga29lbm5lbiBtYWcpLiBEYSBpc3QgZGllCiJXYWhsZnJlaWhlaXQiIGFsc28gd2VubiBkYW5uIG51ciBlaW5lIFVlYmVyZ2FuZ3Nsb2VzdW5nIGJpcyB6dSBlaW5lcgpWZXJiZXNzZXJ1bmcgZGVzIFp1c3RhbmRlcywgbmljaHQgZWluZSBGb2xnZSBkZXIgQWxsZ2VtZWluZW4KSGFuZGx1bmdzZnJlaWhlaXQuCgpTbywga3J1ZW1lbGthY2tlbiBrYW5uIGljaCBuYWVtbGljaCBhdWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoR2xvaW5zb24sIDEwLiBBcHIgMjAwNywgMTM6NDY6MTIpOgp+IyEgcm49TWFoYXJldCBydD0xMTc2MjAzMTcxIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKV2VnZW4gZWluZXIgYW5nZW5vbW1lbmVuIE11ZW5kaWdrZWl0IG1laW5lciBzb2xsdGUgbWlyIGRpZSBFbnRzY2hlaWR1bmcgCnVlYmVybGFzc2VuIHNlaW4gb2IgaWNoIG1pY2ggYXVmIGRlbiBSYWR3ZWcgb2RlciBkaWUgU3RyYXNzZSBiZWdlYmUuIFdlaWwgCnZvciBhbGxlbSBpY2ggZGllIExhZ2Uga29ua3JldCBlaW5zY2hhZXR6ZW4ga29lbm5lbiBtdXNzLiBEYXNzIG1hbiBtaWNoCnByaW56aXBpZWxsIGZ1ZXIgbXVlbmRpZyBoYWVsdCBlbnRuZWhtZSBpY2ggZGVyIFRhdHNhY2hlLCBkYXNzIG1hbiBtaWNoCmF1ZiBkZW0gUmFkICh1bmQgc29nYXIgdGVzdGllcnQgaW0gQXV0bykgYXVmIGRpZSBNZW5zY2hoZWl0IGxvc2xhZXNzdAp1bmQgZ2dmLiBpbiBGbGVuc2J1cmcgZnVlciBGZWhsZXIgbm90aWVydC4KRGllIFdhaGxmcmVpaGVpdCBpc3QgZGVyIFd1bnNjaHp1c3RhbmQsIGJlZ3J1ZW5kZXQgYXVzIGRpZXNlciBNdWVuZGlna2VpdAp1bmQgZGVyIFRhdHNhY2hlLCBkYXNzIGluZGl2aWR1ZWxsIGRlciBSYWR3ZWcgbWFuY2htYWwgc2ljaGVyZXIgaXN0IHVuZAptYW5jaG1hbCBkaWUgU3RyYXNzZS4KCkRlbm4gZGFzIFByb2JsZW0gaXN0IG5pY2h0IGRlciBadXN0YW5kIGlyZ2VuZHdlbGNoZXIgZWluemVsbmVuIFdlZ2Ugc29uZGVybiAKZGFzIGdlbmVyZWxsZSBHZWJvdCBkZXIgUmFkd2VnbnV0enVuZy4KRGllc2UgV2VnZXp1c3RhZW5kZSBrb2VubmVuIG5pY2h0IGFic29sdXQgdmVyYmVzc2VydCB3ZXJkZW4uIEF1ZiBlaW5lIGRlbSAKRmx1c3Mgdm9tIFN0cmFzc2VudmVya2VociBhbmdlcGFzc3RlIEdlc2Nod2luZGlna2VpdCB2b24gMzUtNDAga20vaCBzaW5kIGRpZSAKbWVpc3RlbiBSYWR3ZWdlIHpCIHVlYmVyaGF1cHQgbmljaHQgYXVzbGVnYmFyLgpEaWUgc2VwYXJpZXJ0ZSBRdWVydW5nIHZvbiBLcmV1enVuZ2VuIG9kZXIgZGllIGViZW5zbyBiZXNjaGVpZGVuZQpwbG9ldHpsaWNoZSBSdWVja2xlaXR1bmcgYXVmIGRpZSBTdHJhc3NlIHZvciBkZXIgS3JldXp1bmcgc2NoYWZmZW4KR2VmYWhyZW5wdW5rdGUgKHVuZCBpY2gga2VubiBkYXMgYmxvZWRlIEdlZnVlaGwgd2VubiBtYW4gYWxzIEF1dG9mYWhyZXIKZG9ydCByZWNodHMgYWJiaWVndCBhdWNoIGd1dCkuClJhZHdlZ2Uga2FubiBtYW4gZGEgbnVyIGFic29sdXQgdmVyYmVzc2VybiBpbmRlbSBtYW4gc2llIGFic2NoYWZmdC4gRGFzCndpbGwgYWJlciBrZWluZXIsIGRlbm4gZGllIE9taSBmdWVobHQgc2ljaCBhdWYgZGVtIFJhZHdlZyBzaWNoZXJlcgphbHMgYXVmIGRlciBTdHJhc3NlIHVuZCBzdGVpZ3QgZ2VybiBhbiBkZXIgS3JldXp1bmcgYWIuCgpEYXMgR2VzZXR6LCB3ZWxjaGVzIGFiZXIgYWxsZSBhdWYgZGVuIFJhZHdlZyB2ZXJiYW5udCBpc3QgbmljaHQgc2lubnZvbGwuIApEZXIgenVlZ2lnZSBSYWRmYWhyZXIgd2lyZCBlaW5nZXNjaHJhZW5rdCwgb2huZSBkYXNzIGlyZ2VuZHdlciBkYXJhdXMgZWluZW4gCk51dHplbiB6aWVodC4gV2VkZXIgZGVyIEF1dG9mYWhyZXIsIG5vY2ggZGllIFJhZGxlciwgbm9jaCBkZXIgVmVya2Voci4KCldlbm4gaWNoIHp1ZWdpZ2VyIFJhZGZhaHJlciBWZXJrZWhyc3RlaWxuZWhtZXIgendlaXRlciBLbGFzc2Ugc2VpbiBzb2xsLCBhbHNvIApudXIgZWluZ2VicmVtc3QgZmFocmVuIHNvbGwgKGljaCBnbGF1YmUgaW4gZWluaWdlbiBHZXJpY2h0c3VydGVpbGVuIG5lbm50IApzaWNoIDw9MjUga20vaCAiYW5nZW1lc3NlbmUiIEdlc2Nod2luZGlna2VpdCksIGRhbm4gc29sbCBkZXIgR2VzZXR6Z2ViZXIgZGFzIApkb2NoIGdsZWljaCBzYWdlbi4gU293YXMgd2llICJSYWRmYWhyZXIgaGFiZW4gZWluZW4gUGFwcGh1dCB1bmQgR3VtbWlib2VwcGVsIAp6dSB0cmFnZW4gdW5kIGR1ZXJmZW4gc2ljaCBtYXhpbWFsIG1pdCAxNSBrbS9oIHNjaHdhbmtlbmQgZm9ydGJld2VnZW4uIiAKd3VlcmRlIHNjaG9uIHJlaWNoZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoTWFoYXJldCwgMTAuIEFwciAyMDA3LCAxMzo0OTo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTc2MjA1NTcyIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKc29zbywgdW5kIG11ZW5kaWdlIEF1dG9mYWhyZXIgc29sbGVuIGF1Y2ggc2VsYnN0IGVudHNjaGVpZGVuIGtvZW5uZW4sIGRhc3Mgc2llCmJlc3NlciB1ZWJlciBkZW4gQnVlcmdlcnN0ZWlnIGZhaHJlbiBzb2xsdGVuLCB3ZWlsIGRpZSBTdHJhc3NlIGdlcmFkZQp0ZWlsd2Vpc2UgdW50ZXIgV2Fzc2VyIGlzdCBvZGVyIHNvd2FzPyBXZWlsIHNpZSBkb2NoIGdlcmFkZSBpbSBrb25rcmV0ZW4gQXV0bwppbiBkZXIga29ua3JldGVuIFNpdHVhdGlvbiBzaW5kPwoKT2ssIHdlbm4gZHUgbWlyIGRhbm4gbm9jaCBzYWdzdCwgd2llIGR1IHNpY2hlcnN0ZWxsZW4gd2lsbHN0LCBkYXNzIGFsbGUgTGV1dGUKdmVybnVlbmZ0aWdlIEVudHNjaGVpZHVuZ2VuIHRyZWZmZW4sIGJpbiBpY2ggZGFiZWkgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEdsb2luc29uLCAxMC4gQXByIDIwMDcsIDEzOjUzOjQ5KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE3NjIwNTc4OSByZz13d3cKfiMhIHRpZD0xMTc2MTczODE3Cldlbm4gc2llIHNvIGVpbmUgRnJlaWdhYmUgc2lubnZvbGwgYmVncnVlbmRlbiBrb2VubmVuIGJpbiBpY2ggZGFmdWVyLiBJbSBGYWxsCmVpbmVzIEhvY2h3YXNzZXJzIC0gQXVzbmFobWV6dXN0YW5kcyAtIGR1ZXJmdGUgZWluZSBzb2xjaGUgTnV0enVuZyBvaG5laGluIHBlcgpXZWlzdW5nIGR1cmNoIGRpZSB2b3IgT3J0IHp1c3RhZW5kaWdlIFBvbGl6ZWkgZ2VnZWJlbiB3ZXJkZW4uIEtlaW4gR3J1bmQgZnVlcgplaW5lIEdlc2V0emVzYWVuZGVydW5nIGFsc28uCgpIbS4gV2llIHN0ZWxsZSBpY2ggc2ljaGVyLCBkYXNzIExldXRlIHNpY2ggaW0gU3RyYXNzZW52ZXJrZWhyIHZlcm51ZW5mdGlnCnZlcmhhbHRlbj8gU2Nod2llcmlnLiBFcnN0bWFsIGRpZXNlIEZ1c3NnYWVuZ2VyIGFic2NoYWZmZW4sIGRhbm4gZGllc2UKS2FtcGZyYWRsZXIuIERpZSBBdXRvcyBzdG9lcmVuIGF1Y2guIFdlaWwgbWFuIGVzIG5pY2h0IHNpY2hlcnN0ZWxsZW4ga2Fubgpzb2xsdGUgZXMgYW0gYmVzdGVuIHZlcmJvdGVuIHdlcmRlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChIaWdobGFuZGVyLCAxMC4gQXByIDIwMDcsIDEzOjU1OjE0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE3NjIwNTc4OSByZz13d3cKfiMhIHRpZD0xMTc2MTczODE3CkFsc28gaWNoIGFlcmdlcmUgbWljaCBpbW1lciB3aWVkZXIgdWViZXIgUmFkZmFocmVyLCBkaWUgZGllIHZvcmhhbmRlbmVuClJhZHdlZ2UgaWdub3JpZXJlbiB1bmQgbGllYmVyIG1pdCB2b24gbWlyIGF1cyBzb2dhciAzNSBhdWYgZGVyIFN0cmFzc2UKZmFocmVuLiBXZW5uJ3MgbmljaHQgc28gdmllbCBQcm9ibGVtZSBnYWViZSwgdW5kIGljaCBuaWNodCBkb2NoIHp1IG5ldHQKd2FlcmUgZnVlciBzb3dhcywgaGFldHRlIGljaCBuaWNodCB1ZWJlbCBMdXN0LCBtYWwgbWl0IGVpbmVyIFRvbm5lClN0YWhsIGJlaSA1MGttL2ggenUgZGVtb25zdHJpZXJlbiwgX3dhcnVtXyBkaWUgRmFocnJhZHdlZ2UgZGEgc2luZC4KCkljaCBnZXN0ZWhlIGRhYmVpIGdlcm5lIHp1LCBkYXNzIGRpZWplbmlnZW4sIGRpZSBpbSBnZW5hbm50ZW4gQmVyZWljaApkYWhpbnJhZGVsbiwgZGFtaXQgemllbWxpY2ggendpc2NoZW4gendlaSBTdHVlaGxlbiBzaXR6ZW4uIFRyb3R6ZGVtLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChNYWhhcmV0LCAxMC4gQXByIDIwMDcsIDEzOjU1OjI0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzYyMDYwMjkgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpHZW5hdSwgZWluZmFjaCBhbGxlIEdlc2V0emUgYWJzY2hhZmZlbiwgZGllIG1pciBwZXJzb2VubGljaCBuaWNodCBpbiBkZW4gS3JhbQpwYXNzZW4uIEljaCBrYW5uIGRhcyBkb2NoIGVoIHZpZWwgYmVzc2VyIGVudHNjaGVpZGVuLCB3ZWlsIGljaCBkb2NoIHZvbGwKa29ua3JldCBnZXJhZGUgZGEgYmluLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoR3JpbW1ib3JuLCAxMC4gQXByIDIwMDcsIDEzOjU4OjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzYyMDU1NzIgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpEdSBmdWVobHN0IERpY2ggYWxzbyBhbHMgVmVya2VocnN0ZWlsbmVobWVyIHp3ZWl0ZXIgS2xhc3NlLCB3ZWlsIER1IG1pdCBkZW0KUmFkIG51ciAoZ3Jvc3N6dWVnaWcgZ2VydW5kZXRlKSA1MCUgZGVyIERpciBtb2VnbGljaGVuIEdlc2Nod2luZGlna2VpdCBmYWhyZW4Kc29sbHN0PyBXYXMgYmluIGljaCBkYW5uLCB3byBtZWluIFp1dG8gbG9ja2VyIDIwMCBrbS9oIHNjaGFmZnQsIGljaCBhYmVyCnN0YWVuZGlnIGdlend1bmdlbiB3ZXJkZSA1MCBvZGVyIGdhciBudXIgMzAga20vaCB6dSBmYWhyZW4/IAoiQW5nZW1lc3NlbmUgR2VzY2h3aW5kaWdrZWl0IiBrb21tdCB1ZWJlcmRpZXMgaW0gVmVya2VocnNyZWNodCBzdGFlbmRpZyB2b3IuCk1pdCBkZXIgRGF1bWVucmVnZWwgImlzdCB3YXMgcGFzc2llcnQgd2Fyc3QgRHUgenUgc2NobmVsbCIuIE1hbiBrb2VubnRlIGphCmF1Y2ggZGllIEhvZWNoc3RnZXNjaHdpbmRpZ2tlaXQgdm9tIEJyZW1zd2VnIGFiaGFlbmdpZyBtYWNoZW4sIGFsc28gInNvCnNjaG5lbGwgZGFzcyBEdSBpbiAxMG0genVtIFN0aWxsc3RhbmQga29tbXN0Ii4gQXVjaCBoaWVyIHNpZWhzdCBEdSBhbHMKUmFkZmFocmVyIGFsdCBhdXMsIHdlbm4gRHUgbmljaHQgRGVpbmVuIEtvZXJwZXIgYXVmIGRlbSBBc3BoYWx0IGFscyBCcmVtc2UKZWluc2V0enQuIAoKQWxzIFJhZGZhaHJlciBiaXN0IER1IGVpbmZhY2ggYmVyZWNodGlndGVyd2Vpc2UgZGVyIERlcHAgaW0gU3RyYXNzZW52ZXJrZWhyLgpBbHNvIGhvZXIgZGFzIEphbW1lcm4gYXVmIHVuZCB0cmFncyB3aWUgZWluIE1hbm4uCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEVsam8sIDEwLiBBcHIgMjAwNywgMTQ6MDE6MTkpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNzYyMDYzMjAgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpVbmQgdm9yIGFsbGVtOiBTY2hhbHRldCBlcnN0IG1hbCBldXJlIExpY2h0ZXIgYW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHbG9pbnNvbiwgMTAuIEFwciAyMDA3LCAxNDowNTowNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzYyMDYxMjQgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpVbmQgZGVpbmUgQWx0ZXJuYXRpdmUgaXN0LCBrZWluZXJsZWkgR2VzZXR6ZSBhYnNjaGFmZmVuLCB3ZWlsIGRpZSBhbGxlIGtvbmtyZXQKYW5nZXBhc3N0IGltbWVyIHZvbGwgdG9sbCBzaW5udm9sbCBzaW5kPyBHZXJpY2h0c2VycHJvYnQgZXJ3aWVzZW4gc296dXNhZ2VuPwoKSWNoIGhhYmUgZG9jaCBqZXR6dCB6d2VpIEFyZ3VtZW50ZSBnZWdlYmVuOgotIGtlaW4gZ2VuZXJlbGxlciBTaWNoZXJoZWl0c2dld2lubiBkdXJjaCBSYWR3ZWdlZ2Vib3QKLSBFbnRtdWVuZGlndW5nIGRlcyBSYWRmYWhyZXJzIGFscyBWZXJrZWhyc3RlaWxuZWhtZXIKCldlbm4gZGlyIGRhcyB6d2VpdGVyZSBuaWNodCBwYXNzdCwgd2VpbCBlcyBudXIgYXVzIGVpbmVtIFd1bnNjaCBoZXJhdXMKbW90aXZpZXJ0IHNjaGVpbnQgLSBnZXNjaGVua3QsIGRhbm4gc3R1ZXJ6IGRpY2ggYXVmIGRhcyBlcnN0ZSB1bmQgemVycGZsdWVjawplcyBtaXQgZW50c3ByZWNoZW5kZW4gZ2VnZW50ZWlsaWdlbiBVbmZhbGwtIHVuZCBWZXJrZWhyc2ZsdXNzc3RhdGlzdGlrZW4uCkJpc2hlciBoYWJlIGljaCBudXIgZGVuIEVpbmRydWNrLCBkYXNzIGR1IG9obmUgQmVzY2hhdSBkYXMgR2VzZXR6IHVuZCBzZWluZQpOb3ZlbGxlIHZvbiA5NywgYWxzIGRlciAiZ3V0ZSBSYWR3ZWciIGdlc2NoYWZmZW4gd3VyZGUgZ3V0aGVpc3N0IHdlaWwgZXMgZGEKaXN0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEdsb2luc29uLCAxMC4gQXByIDIwMDcsIDE0OjA2OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTc2MjA2MzIwIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKSGVydm9ycmFnZW5kLiBJY2ggZXJmdWVsbGUgZGVpbmUgUmVnZWwgdm9tIEJyZW1zd2VnLiBEaWUgbWVpc3RlbiBzY2huZWxsCmZhaHJlbmRlIFJhZGxlciBhdWNoLCB3ZWlsIGRhIGRpZSBSZWdlbCBnaWx0OiBzY2huZWxsZXIgc2VpbiB1bmQgc2NobmVsbGVyCmJyZW1zZW4gb2RlciAgcGxhdHQgc2Vpbi4KClVuZCBudW4/IFdhcyBzYWd0IHVucyBkYXMgdWViZXIgZGVpbmUgRGVmaW5pdGlvbiBkZXIgYW5nZW1lc3NlbmVuCkdlc2Nod2luZGlna2VpdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChFbGpvLCAxMC4gQXByIDIwMDcsIDE0OjA3OjE4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzYyMDY3MjYgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpJY2ggaGFiZSBhdWNoIExpY2h0IHRhZ3N1ZWJlciBhbiwgZWluZmFjaCB3ZWlsIG1pciBtZWluIEF1dG8genV2aWVsIHdlcnQgaXN0LgpBYmVyIHdlbm4gaWNoIG1vcmdlbnMgUmFkZmFocmVyIG9obmUgTGljaHQgdW5nZWJyZW1zdCBpbiBLcmVpc3ZlcmtlaHJlIGZhaHJlbgpzZWhlLCB1bmQgZ2VuYXUgd2Vpc3M6IERlciBBdXRvZmFocmVyIGlzdCBpbW1lciAoenVtaW5kZXN0IFRlaWwtKXNjaHVsZCwgZWdhbAp3YXMgZGVyIFJhZGZhaHJlciB0cmVpYnQsIGRhbm4gYmVrb21tZSBpY2ggZWluZW4gSGFscyB1bmQgd3VlcmRlIGFtIGxpZWJzdGVucwpIaWdobGFuZGVycyBBcnQgbWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoR2xvaW5zb24sIDEwLiBBcHIgMjAwNywgMTQ6MDg6MDYpOgp+IyEgcm49RWxqbyBydD0xMTc2MjA2ODM4IHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKSmEuIEdhbnogc2NobGltbS4gRWhybGljaC4KCktvZW5udGVuIHdpciBqZXR6dCB2b20gU3Ryb2htYW5uIHdpZWRlciBydW50ZXJrb21tZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoTWFoYXJldCwgMTAuIEFwciAyMDA3LCAxNDowODoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTc2MjA2NzA0IHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKTm9lLCBkYXMgaGFiIGljaCBnYXIgbmljaHQgYmVoYXVwdGV0LCB1bmQgd2VubiBkdSBhdWZtZXJrc2FtIGdlbGVzZW4gaGFldHRlc3QsCnd1ZXNzdGVzdCBkdSBkYXMgYXVjaC4gVmVybXV0bGljaCB3ZWlzc3QgZHUgZXMgYXVjaCB1bmQgbW9lY2h0ZXN0IG51ciBnZXJuCndlaXRlcmRpc2t1dGllcmVuLCB3ZWlsIGR1IGdlcmFkZSBuaWNodHMgYmVzc2VyZXMgenUgdHVuIGhhc3QgOykKSWNoIGhhYmUgbWljaCBhdWYgZGVpbmVuIGVyc3RlbiBBcnRpa2VsIGdlc3R1ZXR6dCwgaW4gZGVtIGR1IFdhaGxmcmVpaGVpdAp3ZWdlbiBNdWVuZGlna2VpdCB2ZXJsYW5ndCBoYXN0LiBEYSB3YXIgbmljaHRzIHZvbiBTaWNoZXJoZWl0IGRpZSBSZWRlLCBtZWluCmp1bmdlciBQb2xlbWlrZnJldW5kIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHcmltbWJvcm4sIDEwLiBBcHIgMjAwNywgMTQ6MTE6NDEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3NjIwNjgxNCByZz13d3cKfiMhIHRpZD0xMTc2MTczODE3Ck5laW4sIGVyZnVlbGxzdCBEdSBuaWNodC4gU2Nob24gZGVyIFBoeXNpayB3ZWdlbiBuaWNodC4gQmVpIGRlbgpCZXNjaGxldW5pZ3VuZ3NrcmFlZnRlbiwgZGllIGVpbiB2b2xsYnJlbXNlbmRlcyBBdXRvIGVyemV1Z3QsIHd1ZXJkZXN0IER1IGFscwpSYWRmYWhyZXIgZWluZW4gZm9ybXNjaG9lbmVuIGRvcHBlbHRlbiBBdWVyYmFjaCB1ZWJlciBkZW4gTGVua2VyIHp1IEdlaG9lcgpicmluZ2VuLiBXZWdlbiBTY2h3ZXJwdW5rdCB1bmQgc28uIER1IGthbm5zdCBlcyBqYSBub2NobWFsIHZlcnN1Y2hlbiB3ZW5uIER1CkRlaW5lbiBTY2h3ZXJwdW5rdCB1bnRlciBkaWUgUmFkYWNoc2VuIHZlcmxhZ2Vyc3QgKHVuZCBkYW5uIGtvbW1lIGljaCBpbW1lcgpub2NoIG1pdCBkZXIgZGV1dGxpY2ggZ2VyaW5nZXJlbiBIYWZ0dW5nIGRlciBzY2htYWxlbiBSYWRyZWlmZW4gZ2VnZW51ZWJlciBkZXIKQXV0b3JlaWZlbikuCkFiZXIgZWluZW4gc2NobmVsbGVuIFNjaGxlbmtlciB1bSBkaWUgR2VmYWhyIGhlcnVtIG1hY2hlbiwgZGFzIGdlaHQgbWl0IGRlbQpSYWQgdmVybXV0bGljaCBiZXNzZXIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHbG9pbnNvbiwgMTAuIEFwciAyMDA3LCAxNDoxMzoxMCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzYyMDY4OTggcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpXZW5uIGR1IGRpY2ggYXVzc2NobGllc3NsaWNoIGF1ZiBkZW4gSW5oYWx0IG1laW5lcyBBcnRpa2VsIHN0dWV0enQgaGFzdCBkdQpyZWNodC4gQWJlciBpY2ggd29sbHRlIGRlbiBMaW5rIHVuZCBzZWluZSBBcmd1bWVudGF0aW9uZW4gaW5iZWdyaWZmZW4gc2VoZW4uCkRhaGVyIHN0ZWh0IGRhIHpCIGVpbiAiYXVjaCIsIGRlciBzaWNoIGF1ZiBlaW5lbiBkZXIgbGV0enRlbiBBYnNhZXR6ZSBpbiBkZXIKUGV0aXRpb25zYmVncnVlbmR1bmcgYmV6aWVodC4KTWVhIGN1bHBhLCBuYWVjaHN0ZXMgTWFsIGhhbHQgZmVobGVyc2ljaGVyZXIgYXVzZnVlaHJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChIaWdobGFuZGVyLCAxMC4gQXByIDIwMDcsIDE0OjEzOjUyKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTc2MjA3MTAxIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKQWVoLCBpY2ggbW9lY2h0ZSBiZXRvbmVuLCBkYXNzIGljaCB6d2FyIGdlcmFkZSBiZWkgdW5iZWxldWNodGV0ZW4KUmFkbGVybiBvZnQgTHVzdCB2ZXJzcHVlcmUsIERhcndpbiBuYWNoenVoZWxmZW4sIGFiZXIgZGllcyB0cm90egpkaWVzZXIgR2VsdWVzdGUgbmljaHQgbWVpbmUgQXJ0IGlzdCwgZXMgYXVjaCB6dSB0dW4hIDo+CgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEdsb2luc29uLCAxMC4gQXByIDIwMDcsIDE0OjMwOjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTc2MjA3MTAxIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKT2suIEljaCBoYWJlIGtlaW5lIEx1c3QgZGFzIGFsbGVzIHNlbGJlciBuYWNoenVyZWNobmVuLCB1ZWJlcgpIYWZ0cmVpYnVuZy9HbGVpdHJlaWJ1bmcvSGViZWFyYmVpdCBldGMucHAuIER1IGhhc3QgMTBtIHZlcmxhbmd0LCBkaWUgaGFzdCBkdQptaXQgZWluZW0gb3JkZW50bGljaGVuIFJhZCB1bmQgb3JkZW50bGljaGVuIEJyZW1zZW4gYmVpIDMwIGttL2g6Cmh0dHA6Ly93d3cubXlzdHJvYmwuZGUvd3MvZmFocnJhZC9yYWQycGt3Lmh0bQoKV2FocnNjaGVpbmxpY2ggaXN0IGRlciBNYW5uIGphIGpldHp0IG51ciBncmltbWJvcm5zY2ggZmVobGVyaGFmdCB1bmQgZGllCkhlYmVhcmJlaXQgdmVybmljaHRldCBrZWluZW4gVm9ydHJpZWIgdW5kIHVlYmVyaGF1cHQgaGFzdCBkdSBtZWhyIEFobnVuZyB2b20KQnJlbXNlbiBhbHMgYWxsZSBhbmRlcmVuIFJhZGZhaHJlci4KCldpciBrb2VubmVuIGRhcyBnYW56ZSBhdWNoIGVpbmZhY2ggZXhwZXJpbWVudGVsbCBlcm1pdHRlbG4uIER1IHN0ZWxsc3QgZGVpbgpGYWhyemV1ZyBzdGVoZW5kLCBpY2ggbWVpbiBSYWQgdW5kIG1laW5lbiBLb2VycGVyIGluIEJld2VndW5nLiBXZW5uIHN0YXR0IG51cgppbiBkZXIgTW90b3JoYXViZSBhdWNoIGVpbmUgQmV1bGUgaW0gS290Zmx1ZWdlbCBpc3QgaGFiZSBpY2ggdmVybG9yZW4uIERlcgpTaWVnZXIgYmVrb21tdCB6d2VpIEJpZXIgdW5kIGRlciBWZXJsaWVyZXIgbXVzcyBpaG4gZmFocmVuLiBLb3N0ZW4gYmxlaWJlbiBhdWYKQmVzaXR6ZXJuIHNpdHplbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBQZXRpdGlvbiB6dXIvZ2VnZW4gUmFkd2VnZWJlbnV0enVuZ3NwZmxpY2h0IChHcmltbWJvcm4sIDEwLiBBcHIgMjAwNywgMTQ6NTE6MjIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3NjIwODIzOCByZz13d3cKfiMhIHRpZD0xMTc2MTczODE3Ck5laW4sIHdhcyBkZXIgSGVyciBTdHJvYmwgYWxsZXJkaW5ncyB0dXQgaXN0IGRpZSBSZWFrdGlvbnN6ZWl0IG1pdApyZWluenVuZWhtZW4uIFdlbm4gZXIgYWxzbyBiZWkgNjAga20vaCBBdXRvOlJhZCAyNTozNiBNZXRlciAoUmFlZGVyIGdlbWl0dGVsdCkKZGFubiBob2VydCBzaWNoIGRhcyBuYXR1ZXJsaWNoIG1pdCAiMS40bWFsIHNvIGxhbmciIGJlc3NlciBhbiBhbHMgZGVyIHJlaW5lCkJyZW1zd2VnLCBiZWkgZGVtIG1hbiBkaWUgUmVha3Rpb25zemVpdCAoMC41cywgfjhtKSBhYnppZWhlbiBtdXNzLCBkYW5uIHNpbmRzCm51ciBub2NoIDE3OjI4LCBhbHNvIDEuNnggc28gbGFuZy4KRnVlciBkaWUgUmVjaG51bmcgIndpZSBzY2huZWxsIGlzdCBkYXMgUmFkIGFuIGRlbSBQdW5rdCB3byBkYXMgQXV0byBzY2hvbgpzdGVodCIgcmVpY2hlbiBqZXR6dCBtZWluZSBEcmVpc2F0emtlbm50bmlzc2UgbmljaHQgYXVzLCBhYmVyIHVlYmxpY2hlcndlaXNlCmlzdCBkYXMgaW4gc29sY2hlbiBCZXJlY2hudW5nZW4gcmVjaHQgYmVlaW5kcnVja2VuZC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEdsb2luc29uLCAxMC4gQXByIDIwMDcsIDE1OjA0OjI3KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTc2MjA5NDgyIHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKU2Nob2VuIGRhc3MgZGVyIEhlcnIgU3Ryb2JlbCBzb2dhciBkZW4gQW5oYWx0ZXdlZyBhbnN0YXR0IGRlcyBCcmVtc3dlZ2VzCmdlbm9tbWVuIGhhdC4gQmVpIGRlciBnZW5hbm50ZW4gR2VzY2h3aW5kaWdrZWl0IHZvbiAzMCBrbS9oIChzaWVoZSBUaHJlYWQpCmVyZnVlbGx0IHp1bWluZGVzdCBkZXIgSGVyciBTdHJvYmVsIGF1ZiBzZWluZW0gUmVubnJhZCBkaWUgdm9uIGRpciBnZWZvcmRlcnRlbgoxMG0gQnJlbXN3ZWcgZ2FueiBsb2NrZXIsIHdlaWwgYmVrYW5udGxpY2ggZGVyIEJyZW1zd2VnPEFuaGFsdGV3ZWcuCgpEYXNzIGVpbiBMS1cgb2RlciBBdXRvIGJlc3NlciB2ZXJ6b2VnZXJ0IGFscyBlaW4gUmFkIHN0YW5kIGdhciBuaWNodCB6dXIKRGViYXR0ZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogUGV0aXRpb24genVyL2dlZ2VuIFJhZHdlZ2ViZW51dHp1bmdzcGZsaWNodCAoR3JpbW1ib3JuLCAxMC4gQXByIDIwMDcsIDE3OjMzOjA4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzYyMTAyNjcgcmc9d3d3Cn4jISB0aWQ9MTE3NjE3MzgxNwpEb2NoLCBzdGFuZCBlcy4gRHUgaGFzdCBnZWphbW1lcnQgZGFzcyBEdSBhbHMgUmFkZmFocmVyIGxhbmdzYW1lciBmYWhyZW4Kc29sbHN0IGFscyBkaWUgQXV0b2ZhaHJlciwgaWNoIGhhYmUgYWxzIG1vZWdsaWNoZXMgQXJndW1lbnQgZGVuIEJyZW1zd2VnCmFuZ2VmdWVocnQuIFNvbGFuZ2UgZWluIEF1dG8gc2NobmVsbGVyIHp1bSBTdGlsbHN0YW5kIGtvbW10IGFscyBlaW4gRmFocnJhZAppc3QgZXMgaGFsdCBpbSBWb3J0ZWlsLiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTI6IFBldGl0aW9uIHp1ci9nZWdlbiBSYWR3ZWdlYmVudXR6dW5nc3BmbGljaHQgKEdsb2luc29uLCAxMC4gQXByIDIwMDcsIDE3OjQ3OjE5KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTc2MjE5MTg4IHJnPXd3dwp+IyEgdGlkPTExNzYxNzM4MTcKRHUgaW50ZXJwcmV0aWVyc3QgImVpbmdlYnJlbXN0IiBzZWhyIHdlaXQuIFdlcmQgWm9vay1FeGVnZXQsIE11YWRpYiBoYXQgamEKa2VpbmUgWmVpdCBtZWhyLCBkYSBwYXNzdCBkYXMgYmVzc2VyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnZpZWxlIHNlcmllbiAmIGZpbG1lLi4uIChHbm9tZSwgMTMuIEFwciAyMDA3LCAwMTowNTo0Nik6Ci4uLiBnaWJ0cyB1bnRlciB3d3cuYWxsdWMub3JnCgpzaWNoZXJsaWNoIGtlaW4gRFZELWVyc2F0eiwgYWJlciB6dW0gbmViZW5oZXJsYXVmZW4gZ2FueiBvay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB2aWVsZSBzZXJpZW4gJiBmaWxtZS4uLiAoR2xvaW5zb24sIDEzLiBBcHIgMjAwNywgMTA6NTA6MjApOgp+IyEgcm49R25vbWUgcnQ9MTE3NjQxOTE0NiByZz13d3cKfiMhIHRpZD0xMTc2NDE5MTQ2Cmh0dHA6Ly9kZS53d2l0di5jb20vCgpGZXJuc2VoZW4gYXVzIGFsbGVyIFdlbHQuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG9iYml0cyAoR2xvaW5zb24sIDE0LiBBcHIgMjAwNywgMTI6MjQ6NTkpOgpTbyBtdWVzc3RlbiBzaWUgc2VpbjoKCmh0dHA6Ly93d3cuZ2lhbnRpdHAuY29tL2NvbWljcy9pbWFnZXMvMmNIU1pWYjl5MkxhRnNpYjk3NC5naWYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWNvbmQgTGlmZSAoR2xvaW5zb24sIDE0LiBBcHIgMjAwNywgMTI6Mjc6NTQpOgouLi4gdW5kIHNlaW5lIGltbWVuc2VuIE5hY2h0ZWlsZToKCmh0dHA6Ly93d3cub2wtY2FydG9vbi5kZS9pbWFnZXMvd2l0emUvU2Vjb25kTGlmZS5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWNrcHJvZ3JhbW1lIC4uLiAoR2xvaW5zb24sIDE1LiBBcHIgMjAwNywgMTA6MDY6NDApOgpodHRwOi8vd3d3LjctemlwLm9yZy9kZS8KCkdhbnogbmV0dCwgd2VpbCByZWNodCBlZmZpemllbnQuIFVuZCBtaXQgZGVyIEFFUzI1Ni1WZXJzY2hsdWVzc2VsdW5nIGF1Y2ggZWluZQpmZWluZSBBbHRlcm5hdGl2ZSBwcml2YXRlIERhdGVuIHZvbiBBIG5hY2ggQiB6dSBicmluZ2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1vdmllLVBsb3QgVGhyZWFkIENvbnRlc3QgKFJvbmRhLCAxNS4gQXByIDIwMDcsIDExOjEzOjUyKToKQnJ1Y2UgU2NobmVpZXIgaGF0IGRlbiB6d2VpdGVuICJNb3ZpZS1QbG90IFRocmVhZCBDb250ZXN0IiBhdXNnZXJ1ZmVuICgKaHR0cDovL3d3dy5zY2huZWllci5jb20vYmxvZy9hcmNoaXZlcy8yMDA3LzA0L2Fubm91bmNpbmdfc2Vjby5odG1sICk6CgpOYWNoZGVtIE5hZ2Vsc2NoZXJlbiwgWmFobnBhc3RhdHViZW4gdW5kIHNvIGJlcmVpdHMgYWxzIHRvZWRsaWNoZSBXYWZmZW4KZWluZ2VzdHVmdCB3dWVyZGVuLCBzdWNodCBlciBudW4gZWluZW4gYW5kZXJlbiBnYW56IG5vcm1hbGVuIEdlZ2Vuc3RhbmQsIG1pdApkZW0gbWFuIG1vZWdsaWNoZXJ3ZWlzZSBlaW4gQXR0ZW50YXQgdmVydWViZW4ga2Fubi4gRGFzIGdhbnplIGdhcm5pZXJ0IG1pdAplaW5lciBndXRlbiBTdG9yeSwgd2llIGRhcyBnYW56ZSBhYmxhdWZlbiBrYW5uLgoKRXIgd2lsbCBkYW1pdCB1bnRlciBhbmRlcmVtIHplaWdlbiwgd2llICJzaWNoZXIiIGRpZXNlIGdhbnplbiBFaW5zY2hyYWVua3VuZ2VuCnVucyBtYWNoZW4uIFVuZCBlaW5mYWNoIFNwYXNzIGhhYmVuLi4uCgpBbHNvOiBXaWUga2FubiBtYW4gekIgbWl0IE9tYXMgZHJpdHRlbiBaYWVobmVuIGVpbmVuIEFpcmJ1cyBlbnRmdWVocmVuPwpJcmdlbmR3ZWxjaGUgSWRlZW4/IDotKQoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3ZpZS1QbG90IFRocmVhZCBDb250ZXN0IChBbnRoZWEsIDE2LiBBcHIgMjAwNywgMDg6MjE6MDEpOgp+IyEgcm49Um9uZGEgcnQ9MTE3NjYyODQzMiByZz13d3cKfiMhIHRpZD0xMTc2NjI4NDMyCldlbm4gZGVyIEZsdWd6ZXVna2FwaXRhZW4gSGV1c2NobnVwZmVuIGhhdCBrYW5uIG1hbiBlaW5lIFR1ZXRlIGZyaXNjaGVuIFBvbGxlbgplaW5wYWNrZW4gdW5kIGRhbm4gaW5zIENvY2twaXQgYmxhc2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNb3ZpZS1QbG90IFRocmVhZCBDb250ZXN0IChNYWhhcmV0LCAxNi4gQXByIDIwMDcsIDA4OjU4OjIwKToKfiMhIHJuPUFudGhlYSBydD0xMTc2NzA0NDYxIHJnPXd3dwp+IyEgdGlkPTExNzY2Mjg0MzIKRHVlcmZlbiBBbGxlcmdpa2VyIGRlbm4gdWViZXJoYXVwdCBQaWxvdCB3ZXJkZW4/IEljaCBkYWNodGUsIGRpZSBzb3J0aWVyZW4gZGEKYWxsZSBhdXMsIGRpZSBzY2hvbiBtYWwgbmUgRXJrYWVsdHVuZyBoYXR0ZW4gLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3ZpZS1QbG90IFRocmVhZCBDb250ZXN0IChHbG9pbnNvbiwgMTYuIEFwciAyMDA3LCAyMTozODoyOSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzY3MDY3MDAgcmc9d3d3Cn4jISB0aWQ9MTE3NjYyODQzMgpEaWUga2FubiBtYW4gaWhuZW4gamEgbm9jaCBpbSBOYWNoaGluZWluIHZlcnBhc3Nlbi4gSWNoIGhhdHRlIGJpcyB6dXIgMTAuCktsYXNzZSBldHdhIGVpbmUgcmVjaHQgdW5iZXNjaHdlcnRlIEtpbmRoZWl0IGluIGRlciBOYWVoZSBkZXIKSGFzZWxudXNzc3RyYWV1Y2hlciBpbSBHYXJ0ZW4gbWVpbmVyIEVsdGVybi4gQmlya2VuIGdhYiBlcyB3b2FuZGVycy4KClJpY2h0aWcgZ3V0ZSBCb2huZW4gYWxzIEhhdXB0bWFobHplaXQgYXVmIGVpbmVtIExhbmdzdHJlY2tlbmZsdWcsIGJpcyBlaW4KdmVyZGljaHRlbmRlcyBUcmllYndlcmsgYW5mYWVuZ3QgenUgYnJlbm5lbj8gUGF0cm9uZW4gaW4gZGVyIEhhc2VucGZvdGUgc2luZApqYSBzY2hvbiBtYWwgZGFnZXdlc2VuLCBzb25zdCBoYWV0dGUgaWNoIGVpbmUgQXJtYnJ1c3QgYXVzCldhbmRlcnNjaHVoc2NobnVlcnNlbmtlbG4gdW5kIExhcHRvcHRlaWxlbiB2b3JnZXNjaGxhZ2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGlsZGtyb2V0ZW5yZW5uZW4gKEphbWVzb24sIDE3LiBBcHIgMjAwNywgMTA6MzM6MjMpOgpFbGYgbWl0IFNhdGVsbGl0ZW5zZW5kZXJuIGF1c2dlc3RhdHRldGUgTGVkZXJzY2hpbGRrcm9ldGVuIGF1ZiBpaHJlciBXYW5kZXJ1bmcKdm9uIENvc3RhIFJpY2EgenUgZGVuIEdhbGFwYWdvcy1JbnNlbG4KaHR0cDovL3d3dy5ncmVhdHR1cnRsZXJhY2UuY29tLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXV0aG9yaXRpZXMuLi4gOy0pIChaZXNzdHJhLCAxNy4gQXByIDIwMDcsIDExOjAzOjU1KToKSW4gS2FwaXRlbCAzIHVuZCA3IHZvbiBodHRwOi8vd3d3LnRob3VnaHRjcmltZS5vcmcvdHJhdmVsL3ZpZ29yLmh0bWwgZ2lidCBlcwplaW4gcGFhciBsdXN0aWdlIEVyemFlaGx1bmdlbiwgZGllIGVpbiBTZWdsZXIgaW0gSGFmZW4gZXJsZWJ0IGhhdC4gWnVtIEdsdWVjawpnYWJzIHNvd2FzIGhpZXIgbm9jaCBuaWNodCwgYWxzIGljaCBkYXMgbGV0enRlIE1hbCBzZWdlbHRlLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXRob3JpdGllcy4uLiA7LSkgKEhpZ2hsYW5kZXIsIDE3LiBBcHIgMjAwNywgMTE6MjQ6MTEpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc2ODAwNjM1IHJnPXd3dwp+IyEgdGlkPTExNzY4MDA2MzUKVGphLCBpc3QgbmF0dWVybGljaCBkdW1tLCB3ZW5uIGVpbiBCb290IGluIGVpbmVtIEhhZmVuIG5pY2h0IHNlaW4gZGFyZiwKd2VpbCBqYSBUZXJyb3JhbGFybSBpc3QuIEhlYWQsIG1lZXQgd2FsbC4gV2FsbCwgSGVhZC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWV1YmxlIHNjaGllc3N0IGFiLiAoWmVzc3RyYSwgMTcuIEFwciAyMDA3LCAxOTo1NDowNSk6ClNlaHIgbmV0dGUsIGJpdHRlci1ib2VzZSBQYXJvZGllIHZvbiB1bmQgbWlyIE1hdHRoaWFzIFJpY2hsaW5nOgpodHRwOi8vd3d3LmZhcmxpYmxvZy5kZS9hcmNoaXZlcy81NjItU2NoYWV1YmxlLXNjaGllc3N0LWFiLi4uLmh0bWwKKGZpbmRldCBzaWNoIHNpY2hlciBhdWNoIGRpcmVrdCBhdWYgWW91dHViZSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvIGlzdCBkZXIgRmVobGVyPyAoS3JzdGZycywgMTcuIEFwciAyMDA3LCAyMDoyMTo0NCk6CkJpbiBnZXJhZGUgZHJ1ZWJlcmdlc3RvbHBlcnQ6Cmh0dHA6Ly93d3cua3JzdGZycy5kZS9saWRsLmpwZwoKV28gaXN0IGRlciBGZWhsZXI/CgpLcnN0ZnJzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2NoYWV1YmxlIHNjaGllc3N0IGFiLiAoTWFoYXJldCwgMTcuIEFwciAyMDA3LCAyMDoyMzozOCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzY4MzI0NDUgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzMjQ0NQpJY2ggaGFiIGRhIG1hbCBhdWYgU1RBU0kgMi4wIC0gZGllIEVpbmRyaW5ndGllZmUgIGdla2xpY2t0LCBkb3J0IGRhbm4gYXVmIGRpZQpOZXR6cG9saXRpay5vcmctU2VpdGUuICBBdWNoIGVpbiBpbnRlcmVzc2FudGVyIEJlaXRyYWcgZG9ydCBwZXIgWW91dHViZQplaW5nZXN0ZWxsdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdvIGlzdCBkZXIgRmVobGVyPyAoTWFoYXJldCwgMTcuIEFwciAyMDA3LCAyMDoyNToxMSk6Cn4jISBybj1LcnN0ZnJzIHJ0PTExNzY4MzQxMDQgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzNDEwNAp0eXBvIDogLT4gLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTY2hhZXVibGUgc2NoaWVzc3QgYWIuIChaZXNzdHJhLCAxNy4gQXByIDIwMDcsIDIwOjMzOjE3KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE3NjgzNDIxOCByZz13d3cKfiMhIHRpZD0xMTc2ODMyNDQ1Ck9oamEsIGRhcyBpc3QgYXVjaCBlaW4gc2VociBuZXR0ZXIgQmVpdHJhZy4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV28gaXN0IGRlciBGZWhsZXI/IChSdW1hdGEsIDE3LiBBcHIgMjAwNywgMjM6MDc6MTApOgp+IyEgcm49S3JzdGZycyBydD0xMTc2ODM0MTA0IHJnPXd3dwp+IyEgdGlkPTExNzY4MzQxMDQKRGFzcyBlciBpbSBXZWcgcnVtc3RhbmQ/ClNvbnN0IHdhZXJzdCBEdSBqYSBuaWNodCBkcnVlYmVyIGdlc3RvbHBlcnQuLi4gOy0pClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV28gaXN0IGRlciBGZWhsZXI/IChLcnN0ZnJzLCAxOC4gQXByIDIwMDcsIDAwOjEzOjExKToKfiMhIHJuPUtyc3RmcnMgcnQ9MTE3NjgzNDEwNCByZz13d3cKfiMhIHRpZD0xMTc2ODM0MTA0Ck9rLCBrbGVpbmVyIFRpcDoKS2VpbiBSZWNodHNjaHJlaWJmZWVsZXIsIGVyIHN0YW5kIG5pY2h0IGltIFdlZyBydW0uCkludGVyZXNzYW50IGlzdCBkYXMgRm90byBsaW5rcy4gV2VyIGRhcyBzbyBiZW51dHp0LCBpc3QgQW53YWVydGVyIGF1ZiBkZW4KRGFyd2luLUF3YXJkLgoKS3JzdGZycwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXbyBpc3QgZGVyIEZlaGxlcj8gKFJ1bWF0YSwgMTguIEFwciAyMDA3LCAwODowMDowOSk6Cn4jISBybj1LcnN0ZnJzIHJ0PTExNzY4NDc5OTEgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzNDEwNApIbW0sIGFscyBpY2ggZGFzIGxldHp0ZSBNYWwgZWluZW4gQm9ocnN0YWVuZGVyIGJlbnV0enQgaGF0dGUsCm1laW5lIGljaCBkYXMgZ2VuYXUgc28gYW5nZW9yZG5ldCBnZXNlaGVuIHp1IGhhYmVuLgoKV28gR0VOQVUgaXN0IGRlbm4gZGEgZGVyIEZlaGxlcj8KUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFdvIGlzdCBkZXIgRmVobGVyPyAoQmFtYnVsa28sIDE4LiBBcHIgMjAwNywgMDk6MDE6MjkpOgp+IyEgcm49UnVtYXRhIHJ0PTExNzY4NzYwMDkgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzNDEwNApBaGphLCBpY2ggc2VoZSBlcyBqZXR6dC4gTHVzdGlnLiA6LSkKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTW9yZ2VuZ3JhdWVuIFdpa2kgKFplc3N0cmEsIDE4LiBBcHIgMjAwNywgMTA6Mjk6MzkpOgp+IyEgcm49RW5ub3ggcnQ9MTE3Njg4MjA4OCByZz13d3cuZW50d2lja2x1bmcKfiMhIHRpZD0xMTc2ODgyMDg4CkJUVyBXZXJidW5nLCBoYWIgZGEgbm9jaG1hbCB6d2VpIEVpbmZhZWxsZSBuaWVkZXJnZXNjaHJpZWJlbjoKLSBESU4gQTQtQXVzZHJ1Y2sgdm9uIGVpbmVuIE1HLUxvZ28gdW5kIExpbmsgKGFsc28gc28gZWluZSBBcnQgQmFubmVyKSBpbSBBdXRvCmFuIGRpZSBIZWNrc2NoZWliZSBrbGViZW4uCi0gQmVpbSBLb21tZW50aWVyZW4gaW4gQmxvZ3MgaW0gTmV0eiBhbHMgSG9tZXBhZ2UgZGllIE1HLUhvbWVwYWdlIGFuZ2ViZW4sCndlbm4gbWFuIGtlaW5lIGVpZ2VuZSB2ZXJ0ZWlsZW4gd2lsbC4gLT4gU29yZ3QgZnVlciBuZSBldHdhcyBiZXNzZXJlClBsYXR6aWVydW5nIHVuc2VyZXIgSG9tZXBhZ2UgaW4gU3VjaG1hc2NoaW5lbiB1bmQgdmllbGxlaWNodCBrbGlja3QgamEgbWFsCmplbWFuZCBkcmF1Ziwgd2VubiBtYW4gZWluZW4gaW50ZXJlc3NhbnRlbiBLb21tZW50YXIgZ2VzY2hyaWViZW4gaGF0LiAoSmEsCmJpdHRlIG5pY2h0IG5pY2h0IHJ1bXNwYW1tZW4gdW5kIE11ZWxsIHNjaHJlaWJlbi4pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE1vcmdlbmdyYXVlbiBXaWtpIChaZXNzdHJhLCAxOC4gQXByIDIwMDcsIDEwOjQxOjI5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3Njg4NDk3OSByZz13d3cKfiMhIHRpZD0xMTc2ODgyMDg4ClZvciBlcm5zdGhhZnRlbiBNaXNzdmVyc3RhZW5kbmlzc2VuOiBHZW1laW50IGlzdCBuYXR1ZXJsaWNoIGRhcyBlaWdlbmUgQXV0by4KOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3JnZW5ncmF1ZW4gV2lraSAoWm9vaywgMTguIEFwciAyMDA3LCAxMDo0NToxNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzY4ODU2ODkgcmc9d3d3Cn4jISB0aWQ9MTE3Njg4MjA4OApBY2hzby4gOykgWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTW9yZ2VuZ3JhdWVuIFdpa2kgKE1lc2lyaWksIDE4LiBBcHIgMjAwNywgMTE6MjA6MzgpOgp+IyEgcm49Wm9vayBydD0xMTc2ODg1OTE1IHJnPXd3dwp+IyEgdGlkPTExNzY4ODIwODgKSWNoIGhhYiBqYSBub2NoIGRhcyBHZWJ1cnRzdGFnc2dlc2NoZW5rIG1laW5lcyBOYWNoYmFybiBhdXNzdGVoZW4gLSAKMyBRdWFkcmF0bWV0ZXIgRGlnaXRhbGRydWNrIGF1ZiBkaXYuIFVudGVyZ3J1ZW5kZS4gWi5iLiBoYXR0ZSBlciA1MDAwIApNb3JnZW5ncmF1ZW4tQXVma2xlYmVyIHZvcmdlc2NobGFnZW4uIERhcyBrb2VubnRlIGR1cmNoYXVzIGZ1ZXIgc293YXMgCmdlbnV0enQgd2VyZGVuLgoKRGFzIG1pdCBkZW4gQmxvZy1Qb3N0cyBpc3QgZWluZSBndXRlIElkZWUsIGRhenUgcGFzc3QgbmF0dWVybGljaCBkZXIgUHVua3QKbWl0IGRlciBFLU1haWwgU2lnbmF0dXIsIGRpZSBtYW4gamEgaW0gcHJpdmF0ZW4gdW5kIGdnZi4gCmltIHByaXZhdC0+Z2VzY2hhZWZ0bGljaGVuIEJlcmVpY2ggZWluc2V0emVuIGthbm4gKHouQi4gTWFpbHMgYW4gRmlybWVuICYgQ28pLgoKQmVpc3BpZWwgdm9uIFRhcmFuaXM6Ck1vcmdlbkdyYXVlbiAtIDEgV2VsdCwgbWVociBhbHMgMTUwIFByb2dyYW1taWVyZXIgLCBtZWhyIGFscyAxNTAwMCBSYWV1bWUsCnZpZWwgbWVociBhbHMgMjAwMCB1bnRlcnNjaGllZGxpY2hlIE5QQywgODEgUXVlc3RzLCAxMCsyIEdpbGRlbiwgdWViZXIgMTAwMApXYWZmZW4gdW5kIFJ1ZXN0dW5nZW4sIGtlaW5lIFVtbGF1dGUgdW5kIGVpbiBIYXVmZW4gVmVycnVlY2t0ZXIuCkV4aXN0ZW56OiBtZWhyIGFscyAxNSBKYWhyZQpodHRwOi8vbWcubXVkLmRlLwoKQWxsZXMgYXVjaCBzaWVoZSBXaWtpLCBkb3J0IGdpYnRzIGphIGVpbmUgc3BlemllbGxlIFdlcmJ1bmdzLUlkZWVuIFNlaXRlLCAKYXVmIGRlciBaZXNzdHJhIHNpY2hlciBzY2hvbiBzZWluZSBJZGVlbiBlaW5nZXRyYWdlbiBoYXQuCgpadW0gVGhlbWEgWnVzYW1tZW5hcmJlaXQgbWl0IEJsaW5kZW5laW5yaWNodHVuZ2VuIHNjaHJlaWJlIGljaCBub2NoIGVpbm1hbCAKZWluZW4gZ2Vzb25kZXJ0ZW4gQXJ0aWtlbC4KCk1lc2ksIERydWVja2Vya29sb25uZW56d2VyZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV28gaXN0IGRlciBGZWhsZXI/IChLcnN0ZnJzLCAxOC4gQXByIDIwMDcsIDEyOjE3OjQ1KToKfiMhIHJuPVJ1bWF0YSBydD0xMTc2ODc2MDA5IHJnPXd3dwp+IyEgdGlkPTExNzY4MzQxMDQKQXVmIGJlc29uZGVyZW4gV3Vuc2NoIHZvbiBSdW1hdGEgZGllIExvZXN1bmc6Cmh0dHA6Ly93d3cua3JzdGZycy5kZS9saWRsX2xvZXN1bmcuanBnCgpXZXIgZGllc2UgTWFzY2hpbmUgc28gYmVudXR6dCwga29lbm50ZSBldnRsLiBkZW4gRGFyd2luLUF3YXJkIHZlcmxpZWhlbgpiZWtvbW1lbi4gTG9lY2hlciBib2hydCBkaWUgTWFzY2hpbmUgc2ljaGVyLCB3b2hpbiBpc3QgZGllIEZyYWdlIDspCgpLcnN0ZnJzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb3dlciBEZWZlbnNlIChGbGFzaCkgKENyb2Z0LCAxOC4gQXByIDIwMDcsIDE2OjAyOjI4KToKaHR0cDovL3d3dy5oYW5kZHJhd25nYW1lcy5jb20vRGVza3RvcFRELwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdvIGlzdCBkZXIgRmVobGVyPyAoSHVyYXhwcmF4LCAxOC4gQXByIDIwMDcsIDE4OjQ1OjI5KToKfiMhIHJuPUtyc3RmcnMgcnQ9MTE3Njg5MTQ2NSByZz13d3cKfiMhIHRpZD0xMTc2ODM0MTA0ClZlcmxlaWggbWlyIHJ1aGlnIGRlbiBEYXJ3aW4tQXdhcmQgYWJlciBpY2ggc2VoIGRhcyBQcm9ibGVtIGhpZXIgbmljaHQuIEhlaXNzdApkYXMgZGFzcyBkaWUgTWFzY2hpbmUgbmljaHQgZmVzdGdlc2NocmF1YnQgaXN0LCB1bmQgZGFubiBiZWltIEFuc2NoYWx0ZW4KcmF1c2ZsaWVndD8gSWNoIGhhYmUgendhciBTY2hsYWdib2hybWFzY2hpbmVuIGtvbnZlbnRpb25lbGwgcGVyIEhhbmQgZ2VoYWx0ZW4KYmVudXR6dCwgdW5kIGZlc3RpbnN0YWxsaWVydGUgQm9ocm1hc2NoaW5lbiBpbiBlaW5lciBrbGVpbmVuClNjaHJlaW5lcndlcmtzdGF0dCwgYWJlciBuaWUgZWluZSBTY2hsYWdib2hybWFzY2hpbmUgaW4gZWluZW0gU3RhZW5kZXIKZWluZ2VzcGFubnQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdvIGlzdCBkZXIgRmVobGVyPyAoR2xvaW5zb24sIDE4LiBBcHIgMjAwNywgMTg6NDk6NTgpOgp+IyEgcm49SHVyYXhwcmF4IHJ0PTExNzY5MTQ3Mjkgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzNDEwNApTcG9pbGVyOgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpEYXMgQm9ocmZ1dHRlciBpc3QgZmVzdGdlc2NocmF1YnQuIEphLCBkYXMga29lbm50ZSBzY2htZXJ6ZW4sIHdlbm4gbWFuIGVzCmVpbnNjaGFsdGV0LgpUaXBwOiBEYXMgQm9ocmZ1dHRlciBkcmVodCBzaWNoIG1pdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgptb25rZXkgaXNsYW5kIChWZWN0b3IsIDE5LiBBcHIgMjAwNywgMTI6MTU6MTgpOgoKaHR0cDovL3lvdXR1YmUuY29tL3dhdGNoP3Y9S0ZQRkZaczVtX3cKMiw1IHN0dW5kZW4gLi4uIGtsLWNoYXJha3RlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG1vbmtleSBpc2xhbmQgKE1hcmN1cywgMTkuIEFwciAyMDA3LCAxMjoyMDozNSk6Cn4jISBybj1WZWN0b3IgcnQ9MTE3Njk3NzcxOCByZz13d3cKfiMhIHRpZD0xMTc2OTc3NzE4CkRhcyBpc3QgamEgZmFzdCBiZXNzZXIgYWxzIFByb2dyZXNzIFF1ZXN0IDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV28gaXN0IGRlciBGZWhsZXI/IChNYXN1bCwgMjAuIEFwciAyMDA3LCAwODoyNDowOCk6Cn4jISBybj1LcnN0ZnJzIHJ0PTExNzY4NDc5OTEgcmc9d3d3Cn4jISB0aWQ9MTE3NjgzNDEwNApvaywgaWNoIGRlbmsgaWNoIGhhYnMuIERpZSBoYWJlbiBkYXMgQm9ocmZ1dHRlciBlaW5nZXNwYW5udC4gSXN0IGRhbm4gd29obAplaGVyIGFscyBLYWJlbC1LcmFldXNlbC1XaWNrZWxtYXNjaGluZSB6dSBnZWJyYXVjaGVuLgpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vdmllLVBsb3QgVGhyZWFkIENvbnRlc3QgKEtlbGx5YnVuZHksIDIyLiBBcHIgMjAwNywgMTU6MTI6MzApOgp+IyEgcm49Um9uZGEgcnQ9MTE3NjYyODQzMiByZz13d3cKfiMhIHRpZD0xMTc2NjI4NDMyCk5hamEgaW4gJ0VpbiBGaXNjaCBuYW1lbnMgV2FuZGEnIHdlcmRlbiBCaXJuZSAoenVtIEZ1dHRlcm4hKSB1bmQgUG9tbWVzIHp1bQpnZWZhZWhybGljaGVuIE1vcmR3ZXJremV1Zy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhbmtyZWljaCBzdWNodCBkZW4gU3VwZXJzdGFyIC4uLiAoQXJhdGhvcm4sIDI3LiBBcHIgMjAwNywgMDA6Mzc6MzcpOgpTZWx0ZW4gZWluZSB1ZWJlcnJhc2NodGVyZSBKdXJ5IGdlc2VoZW46CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RHNORnhPT25qZ3cKCkFscyBFcmdhZW56dW5nIGthbm4gbWFuIHNpY2ggbm9jaCBkYXMgaGllciBhbnNjaGF1ZW4vLWhvZXJlbjoKCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj00UDdzZG9fQWowbyZOUj0xCgpvZGVyIGRlbiBoaWVyOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTU5Wlg1cWRJRUIwCgpWaWVsIFNwYXNzLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmFua3JlaWNoIHN1Y2h0IGRlbiBTdXBlcnN0YXIgLi4uIChEYXJrbG9yLCAyNy4gQXByIDIwMDcsIDAzOjEzOjU3KToKfiMhIHJuPUFyYXRob3JuIHJ0PTExNzc2MjcwNTcgcmc9d3d3Cn4jISB0aWQ9MTE3NzYyNzA1NwpVbmQgaGFicyBuIGdlbm9tbWVuPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlbWEgT3JnYW5zcGVuZGUgKEdsb2luc29uLCAzMC4gQXByIDIwMDcsIDE2OjI0OjM5KToKRGVyIGxpZWJlIEV0aGlrcmF0IGVtcGZpZWhsdCBqYSBkZXJ6ZWl0LCBkYXNzIGRpZSBSZWNodHNsYWdlIGJldHJlZmZzIFNwZW5kZQp1bWdla2VocnQgd2VyZGVuIHNvbGw6IG5pY2h0cyBoZWlzc3QgSkEgenVyIFNwZW5kZSwgWmV0dGVsIGJlaWhhYmVuIGhhYmVuCmhlaXNzdCBuZWluIHp1ciBTcGVuZGUuCgpIaWVyIG1hbCBlaW4gQW5zdG9zc2FydGlrZWwgZGF6dToKaHR0cDovL3d3dy56ZWl0LmRlLzIwMDcvMTgvR2xvc3NlXzMKCiIuLi4gd2VpdGVyaGluIGRpZSBmcmVpd2lsbGlnIGVya2xhZXJ0ZSBIaWxmc2JlcmVpdHNjaGFmdCBiZXZvcnp1Z2VuIC4uLiIKIi4uLiBEb2NoIGVzIG11c3Mgc2ljaCBldHdhcyBhZW5kZXJuLiIKIk5hY2hkZW5rZW4gZXJzY2hlaW50IGFuZ2VzaWNodHMgZGVzIGdyb3NzZW4gTGVpZHMgZGVyIEtyYW5rZW4gW3VuZCBUYXVzZW5kClRvdGVuXSBmcmVpbGljaCB6dW11dGJhci4iCgpFaW4gbmV0dGVyIFZvcnNjaGxhZyAoZGVuIGljaCBhdWNoIHNjaG9uIG9lZnRlcnMgbGFzKTogV2llc28gd2lyZCBkZW5uIGRpZXNlCkJlcmVpdHNjaGFmdCB6dSBzcGVuZGVuIG5pY2h0IGF1ZiBLSy1LYXJ0ZSBvZGVyIEF1c3dlaXMgdmVybWVya3Q/IERhbm4gd2lyZApqZWRlbSBkYXMgTmFjaGRlbmtlbiB6dWdlbXV0ZXQsIGFiZXIgbmljaHQgZGllIGF1dG9tYXRpc2NoZQpXZWl0ZXJ2ZXJ3ZXJ0dW5nc3ZlcnBmbGljaHR1bmcuCgooS29udGV4dDogbGFuZ2VyIE9yZ2Fuc3BlbmRlL09yZ2Fuc3RhYXRzc2NodWxkLVRocmVhZCBpbiBtcGEpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmFjaGJhcm4sIFByYWVzaWRlbnRlbiwgSW5uZW5taW5pc3RlciAoR2xvaW5zb24sIDMwLiBBcHIgMjAwNywgMTc6NDc6MDQpOgpodHRwOi8vd3d3LmFydGUudHYvZGUvMTU1NzYwMC5odG1sCgpEYXMgRmVybnNlaGR1ZWxsIHp3aXNjaGVuClNlZ29sZW5lIFJveWFsIHVuZCBOaWNvbGFzIFNhcmtvenkgbGl2ZSBhbSAyLiBNYWkgMjAwNyB1bSAyMSBVaHIKYXVmIHd3dy5hcnRlLnR2CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyYW5rcmVpY2ggc3VjaHQgZGVuIFN1cGVyc3RhciAuLi4gKEdub21lLCAzMC4gQXByIDIwMDcsIDIxOjAxOjQ4KToKfiMhIHJuPUFyYXRob3JuIHJ0PTExNzc2MjcwNTcgcmc9d3d3Cn4jISB0aWQ9MTE3NzYyNzA1NwphbGxlIHdpcmtsaWNoIHNlaHIgYmVlaW5kcnVja2VuZC4KYmVzb25kZXJzIGRlciB6d2VpdGUsIGRhcyBzdHVlY2sgZ2FueiB6dW0gc2NobHVzcy4gaGFyZHRyYW5jZSBwZXIKYmVhdGJveGluZyBtaXQgaG9oZW0gd2llZGVyZXJrZW5udW5nc3dlcnQuLi4gc2NoYXVlbiB1bmQgc3RhdW5lbi4KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFVS1QZXRpdGlvbiBmdWVyIE9wZW4gQWNjZXNzIChab29rLCAgNy4gTWFpIDIwMDcsIDExOjIzOjUyKToKV2VyIG1hZyBrYW5uIGRpZSB1bnRlciBhbmRlcmVtIHZvbiBkZXIgREZHIHVudGVyc3R1ZXR6ZQoKIlBldGl0aW9uIGZvciBndWFyYW50ZWVkIHB1YmxpYyBhY2Nlc3MgdG8gcHVibGljbHktZnVuZGVkIApyZXNlYXJjaCByZXN1bHRzIgoKbWl0IHVudGVyemVpY2huZW46CgoKaHR0cDovL3d3dy5lYy1wZXRpdGlvbi5ldQoKWi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFVS1QZXRpdGlvbiBmdWVyIE9wZW4gQWNjZXNzIChaZXNzdHJhLCAgNy4gTWFpIDIwMDcsIDExOjI0OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTE3ODUyOTgzMiByZz13d3cKfiMhIHRpZD0xMTc4NTI5ODMyCkFoLCBzdGltbXQsIGRpZSB3b2xsdGUgaWNoIGRvY2ggYXVjaCBzY2hvbiB2b3IgMS0yIHdvY2hlbiBoaWVyIGdlcG9zdGV0IGhhYmVuLgpIYWJzIHdvaGwgaXJnZW5kd2llIHRvdGFsIHZlcmdlc3Nlbi4gOi0oCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVVLVBldGl0aW9uIGZ1ZXIgT3BlbiBBY2Nlc3MgKFpvb2ssICA3LiBNYWkgMjAwNywgMTg6MTA6MzUpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc4NTI5ODc0IHJnPXd3dwp+IyEgdGlkPTExNzg1Mjk4MzIKa2xhciwgZGFzcyB1bnNlcmUgbGFuZGVzcmVnaWVydW5nZW4gZGFzIG5pY2h0IHRvbGwgZmluZGVuOgoKLS0KU2tlcHNpcyBpbSBCdW5kZXNyYXQgZ2VnZW51ZWJlciBPcGVuLUFjY2Vzcy1QdWJsaWthdGlvbmVuCi0tCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzg5MzY2CgoKei4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVVLVBldGl0aW9uIGZ1ZXIgT3BlbiBBY2Nlc3MgKFplc3N0cmEsICA3LiBNYWkgMjAwNywgMTk6MDY6NDcpOgp+IyEgcm49Wm9vayBydD0xMTc4NTU0MjM1IHJnPXd3dwp+IyEgdGlkPTExNzg1Mjk4MzIKTmFqYSwgd2FzIHNvbGx0ZSBtYW4gZGEgYXVjaCBhbmRlcmVzIGVyd2FydGVuLi4uIEVzIGhhYmVuIGphIHNjaG9uIGVybnN0aGFmdApMZXV0ZSBnZWZvcmRlcnQsICJzaWNoZXJoZWl0c3JlbGV2YW50ZSIgKHdhcyBzb2xsIGRhcyBlaWdlbnRsaWNoIGhlaXNzZW4/KQpvZGVyIHp1bWluZGVzdCBhdXMgZGllc2VtIGtvbWlzY2hlbiBJVC1TaWNoZXJoZWl0c3Byb2dyYW1tIGRlciBCdW5kZXNyZWdpZXJ1bmcKZ2Vmb2VyZGVydGUgRm9yc2NodW5nIHVudGVyIFZlcnNjaGx1c3MgenUgaGFsdGVuLiBFcyBsZWJlICdTZWN1cml0eSBieQpPYnNjdXJpdHknIQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0dGVzIEJsb2cgdWViZXIgTXVzaC9NdWRzIChNZXNpcmlpLCAgNy4gTWFpIDIwMDcsIDIyOjM5OjI4KToKaHR0cDovL2FyY2hpdGVjdG9mdGhldGlueS53b3JkcHJlc3MuY29tCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXR0ZXMgQmxvZyB1ZWJlciBNdXNoL011ZHMgKE1lc2lyaWksICA3LiBNYWkgMjAwNywgMjI6Mzk6NTgpOgp+IyEgcm49TWVzaXJpaSBydD0xMTc4NTcwMzY4IHJnPXd3dwp+IyEgdGlkPTExNzg1NzAzNjgKWml0YXQ6IEFuIGlkbGUgb3IgYWJzZW50IGdvZCBpcyB3b3JzZSB0aGFuIG5vIGdvZCBhdCBhbGwuCk1lc2ksIGdyaW5zZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBOZXR0ZXMgQmxvZyB1ZWJlciBNdXNoL011ZHMgKE1haGFyZXQsICA4LiBNYWkgMjAwNywgMDk6MjA6MTMpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc4NTcwNjc1IHJnPXNjaG1hcnJuCn4jISB0aWQ9MTE3ODU3MDM2OApodHRwOi8vYXJjaGl0ZWN0b2Z0aGV0aW55LndvcmRwcmVzcy5jb20vZmVlZC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTmV0dGVzIEJsb2cgdWViZXIgTXVzaC9NdWRzIChSdW1hdGEsICA4LiBNYWkgMjAwNywgMDk6NDY6MjApOgp+IyEgcm49TWVzaXJpaSBydD0xMTc4NTcwMzk4IHJnPXd3dwp+IyEgdGlkPTExNzg1NzAzNjgKOnN0ZWxsdCBpaHJlbSBCaWVya3J1ZyBhYiB1bmQgdmVyc2NocmFlbmt0IGRpZSBBcm1lLgonYXJlIHlvdSBpbnNpbnVhdGluZyBzb21ldGhpbmc/CgoobWluaXB1aXo6IHdhcyB3aXJkIGhpZXIgeml0aWVydD8pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWxwZGVzayBpbSBNaXR0ZWxhbHRlciAoQW50aGVhLCAgOC4gTWFpIDIwMDcsIDE1OjI0OjU2KToKaHR0cDovL3lvdXR1YmUuY29tL3dhdGNoP3Y9T01hM1FCcWYzdDQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkplZGVyIGhhdCBldHdhcyB6dSB2ZXJiZXJnZW4uLi4gKFplc3N0cmEsICA4LiBNYWkgMjAwNywgMjE6MjI6MDIpOgpMZXNlbnN3ZXJ0ZXMgSW50ZXJ2aWV3IG1pdCBQZXRlciBTY2hhYXIgKEJ1bmRlc2RhdGVuc2NodXR6YmVhdWZ0cmFndGVyKSBpbQpTdGVybjoKaHR0cDovL3NwcmluZ2hpbi5kZS9WTzc0QwpJc3QgdmllbGxlaWNodCBmdWVyIHZpZWxlIG5pY2h0IHdpcmtsaWNoIG5ldSwgYWJlciBlcyBlaW5pZ2UgbW9lZ2VuIGVzCnRyb3R6ZGVtIGludGVyZXNzYW50IGZpbmRlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJ1Y2hzdGFiZW50aWVyZSAoTWFoYXJldCwgIDguIE1haSAyMDA3LCAyMToyNzoxMSk6Cmh0dHA6Ly93d3cuYmVtYm9zem9vLmNvbS8KClppZW1saWNoIGNvb2wsIGFsbGVyZGluZ3MgZmxhc2gtYmFzaWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVocmVuIHZvbiBGZXJkaW5hbmQgRmxvZXRlbnNjaG5pZWRlbCAoUm9uZGEsICA5LiBNYWkgMjAwNywgMDA6NDM6MjgpOgpGbG9ldGVuc2NobmllZGVycyBVaHJlbiBzaW5kIGVpbmZhY2ggZWluemlnYXJ0aWcuIEV0d2FzIEdBTlogYmVzb25kZXJlczoKaHR0cDovL3d3dy5mbG9ldGVuc2NobmllZGVsLmRlCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRHVtbXltYWlsYWNjb3VudCAoR2xvaW5zb24sICA5LiBNYWkgMjAwNywgMDE6MTQ6MjYpOgpodHRwOi8vMTBtaW51dGVtYWlsLmNvbS8KCk1hY2h0IHdhcyBkaWUgVVJMIHNhZ3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IER1bW15bWFpbGFjY291bnQgKFplc3N0cmEsICA5LiBNYWkgMjAwNywgMDk6MTI6MzgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3ODY2NjA2NiByZz13d3cKfiMhIHRpZD0xMTc4NjY2MDY2CkF1Y2ggcHJha3Rpc2NoIGZpbmQgaWNoIHVlYnJpZ2VuczoKaHR0cDovL3d3dy5zcGFtZ291cm1ldC5jb20vCkRhIGthbm4gbWFuIGJlbGllYmlnZSBNYWlsYWRyZXNzZW4gZ2FueiB1bmtvbXBsaXppZXJ0IGFubGVnZW4gdW5kIGZlc3RsZWdlbiwKd2lldmllbGUgTWFpbHMgamV3ZWlscyB3ZWl0ZXJnZWxlaXRldCB3ZXJkZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IER1bW15bWFpbGFjY291bnQgKFJ1bWF0YSwgIDkuIE1haSAyMDA3LCAwOToxMzoyMik6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzg2OTQ3NTggcmc9d3d3Cn4jISB0aWQ9MTE3ODY2NjA2NgpJY2ggYmVudXR6ZSB3d3cuc3BhbW1vdGVsLmNvbSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IER1bW15bWFpbGFjY291bnQgKFdoaXRldGlnZXIsICA5LiBNYWkgMjAwNywgMDk6MTQ6MDApOgp+IyEgcm49UnVtYXRhIHJ0PTExNzg2OTQ4MDIgcmc9d3d3Cn4jISB0aWQ9MTE3ODY2NjA2NgpOb2NoIGVpbmVyOiB3d3cubWFpbGluYXRvci5jb20KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVVLVBldGl0aW9uIGZ1ZXIgT3BlbiBBY2Nlc3MgKFplc3N0cmEsICA5LiBNYWkgMjAwNywgMTQ6MTQ6NTEpOgp+IyEgcm49Wm9vayBydD0xMTc4NTU0MjM1IHJnPXd3dwp+IyEgdGlkPTExNzg1Mjk4MzIKSGllciB1ZWJyaWdlbnMgbm9jaCBlaW5lIEJld2VydHVuZyAobmljaHQgZGVyIFBldGl0aW9uLCBzb25kZXJuIHZvbiAiT3BlbgpBY2Nlc3MiKSB2b20gd2lzc2Vuc2NoYWZ0bGljaGVuIERpZW5zdCBkZXMgQnVuZGVzdGFnczoKaHR0cDovL3d3dy5idW5kZXN0YWcuZGUvYmljL2FuYWx5c2VuLzIwMDcvT3Blbl9BY2Nlc3NfX18ucGRmCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFVS1QZXRpdGlvbiBmdWVyIE9wZW4gQWNjZXNzIChSdW1hdGEsICA5LiBNYWkgMjAwNywgMTQ6MjM6NDQpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc4NzEyODkxIHJnPXd3dwp+IyEgdGlkPTExNzg1Mjk4MzIKU2VuaW9yZW5hbmdlYm90ZSBkaXNrcmltaW5pZXJlbiBKdW5nZQpodHRwOi8vd3d3LnNwaWVnZWwuZGUvd2lydHNjaGFmdC8wLDE1MTgsNDgxOTMyLDAwLmh0bWwKCkRpc2tyaW1pbmllcnQgZGVyIFN0YWF0IG5pY2h0IGF1Y2ggTWluZGVyamFoaHJpZ2UgYW4gYWxsZW4KRWNrZW4gdW5kIEVuZGVuPyA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2JiaXRzIChHbG9pbnNvbiwgMTAuIE1haSAyMDA3LCAxMToyMTozMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTc2NTQ2Mjk5IHJnPXd3dwp+IyEgdGlkPTExNzY1NDYyOTkKVW5kIHNvIGdlaHRzIHdlaXRlciBiZWkgRUNIVEVOIEhvYmJpdHM6CgpodHRwOi8vd3d3LmdpYW50aXRwLmNvbS9jb21pY3Mvb290czA0NTAuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoTWFoYXJldCwgMTAuIE1haSAyMDA3LCAxMjozMjoxNCk6CmJsYWNrbGUuY29tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRW5lcmdpZXNwYXJlbmRlIFN1Y2hlIChSdW1hdGEsIDEwLiBNYWkgMjAwNywgMTI6Mzk6MjUpOgp+IyEgcm49TWFoYXJldCBydD0xMTc4NzkzMTM0IHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKTWl0dGxlcndlaWxlIGdpYnRzIExDRHMuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoR2xvaW5zb24sIDEwLiBNYWkgMjAwNywgMTI6NDI6NDYpOgp+IyEgcm49UnVtYXRhIHJ0PTExNzg3OTM1NjUgcmc9d3d3Cn4jISB0aWQ9MTE3ODc5MzEzNApBYmVyLCBhYmVyIC4uLiBzY2hhbHRlbiBkaWUgbmljaHQgZGllIEhpbnRlcmdydW5kYmVsZXVjaHR1bmcgcGFydGllbGwgYWI/IDpECgpOYWphLiBCZWkgU0UtRGlzcGxheXMgd2llZGVyLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoR2xvaW5zb24sIDEwLiBNYWkgMjAwNywgMTI6NDc6MDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3ODc5Mzc2NiByZz13d3cKfiMhIHRpZD0xMTc4NzkzMTM0ClRhdHNhZWNobGljaCBpc3QgZGllIEZyYWdlIGphIGhldXRlOgoqIHdpZXZpZWwgdmVyYnJhdWNodCAic2Nod2FyeiIgYXVmIGVpbmVtIExDRCwgd2VpbCBqYSBlaW5lIFNwYW5udW5nCiAgYW5saWVnZW4gbXVzcz8KKiB3aWV2aWVsIHZlcmJyYXVjaHQgZGllIEdyYWZpa2thcnRlIGJlaW0gZWxvcXVlbnRlcmVuIERlc2lnbj8KCkFiZXIgQmxhY2tsZSBpc3QgZWluZSBndXRlIElkZWUsIHdlbm4gbWFuIG1hbCBpbiBlaW5lbSBkdW5rbGVuIFJhdW0gc3VyZnQgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFbmVyZ2llc3BhcmVuZGUgU3VjaGUgKFplc3N0cmEsIDEwLiBNYWkgMjAwNywgMTM6MjM6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3ODc5NDAyNCByZz13d3cKfiMhIHRpZD0xMTc4NzkzMTM0CldlciBzdGFydGV0IG5lIE1lc3NyZWloZSBvZGVyIHN1Y2h0IG1hbCBuZW4gcGFhciBWZXJvZWZmZW50bGljaHVuZ2VuIHJhdXM/IDstKQpBbHNvLCBpY2ggZmluZCBCbGFja2xlIGFiZXIgYXVjaCBnYW56IG5ldHQsIGdlZmFlbGx0IG1pci4gV2VyZHMgbWFsCmJvb2ttYXJrZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFbmVyZ2llc3BhcmVuZGUgU3VjaGUgKE1haGFyZXQsIDEwLiBNYWkgMjAwNywgMTM6Mjc6MTkpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc4Nzk2MjIwIHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKb2ggbWFubiwgaWNoIHdlcmRlIGluIFp1a3VuZnQgc29yZ2ZhZWx0aWdlciBkYXJhdWYgYWNodGVuLCBhdWNoIGphIG1laW5lIDspCm5pY2h0IHp1IHZlcmdlc3Nlbi4KTWFuIG11c3MgamEgbmljaHQgYWxsZXMgdG90ZGlza3V0aWVyZW4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoR2xvaW5zb24sIDEwLiBNYWkgMjAwNywgMTM6MzA6NDUpOgp+IyEgcm49TWFoYXJldCBydD0xMTc4Nzk2NDM5IHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKTWlzdCwgc2luZCB3aXIgaGllciBuaWNodCBpbiBtZWdhc2NobWFycm4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRW5lcmdpZXNwYXJlbmRlIFN1Y2hlIChHcmltbWJvcm4sIDEwLiBNYWkgMjAwNywgMTM6MzI6MDYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE3ODc5NjY0NSByZz13d3cKfiMhIHRpZD0xMTc4NzkzMTM0Ck5laW4sIGhpZXIgbXVzcyBtYW4gZnVlciBkaWUgTGVzZXIgbWl0ZGVua2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGhlbWEgT3JnYW5zcGVuZGUgKEdsb2luc29uLCAxMC4gTWFpIDIwMDcsIDEzOjQ4OjMwKToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzc5NDMwNzkgcmc9d3d3Cn4jISB0aWQ9MTE3Nzk0MzA3OQpodHRwOi8vd3d3LnplaXQuZGUvMjAwNy8xOS9NLU9yZ2Fuc3BlbmRlP3BhZ2U9YWxsCgpEYXRlbi9FcmZhaHJ1bmdlbiBhdXMgYW5kZXJlbiBMYWVuZGVybiB1bmQgZXJzdGF1bmxpY2hlIEtlbm50bmlzc2UgZGFydWViZXIsCmRhc3MgYW5kZXJvcnRzIChTY2h3ZWRlbikgR2VzZXR6YWVuZGVydW5nZW4gbmljaHRzIGJyYWNodGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoSHVtbmksIDEwLiBNYWkgMjAwNywgMjE6MDE6MjApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTExNzg3OTY3MjYgcmc9d3d3Cn4jISB0aWQ9MTE3ODc5MzEzNApIbW0uIE9rLiBJY2ggZ2ViIG1pY2ggZ2VzY2hsYWdlbi4gSWNoIHdlaXNzIG5pY2h0LCB3YXMgYW4gZGVyIEZlaGxlcm1lbGR1bmcgc28KaW50ZXJlc3NhbnQgc2VpbiBzb2xsLiBKYSwgRXJyb3IgNDAzIGlzdCBuaWNodCBzbyBoYWV1ZmlnIHdpZSBFcnJvciA0MDQsIGFiZXIKLi4uIGFjaCBlZ2FsLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoWm9vaywgMTAuIE1haSAyMDA3LCAyMTozMDoyNyk6Cn4jISBybj1IdW1uaSBydD0xMTc4ODIzNjgwIHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKSWNoIHNjaGxhZyB6dXJ1ZWNrLCBpY2ggYmVncmVpZmUgZXMgYXVjaCBuaWNodC4gOykgWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogRW5lcmdpZXNwYXJlbmRlIFN1Y2hlIChNYWhhcmV0LCAxMS4gTWFpIDIwMDcsIDEyOjM1OjM0KToKfiMhIHJuPUh1bW5pIHJ0PTExNzg4MjM2ODAgcmc9d3d3Cn4jISB0aWQ9MTE3ODc5MzEzNApBbHNvIGljaCBoYXR0ZSBkYSBrZWluZSBGZWhsZXJtZWxkdW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IEVuZXJnaWVzcGFyZW5kZSBTdWNoZSAoWm9vaywgMTEuIE1haSAyMDA3LCAxMjo0OToyNik6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzg4Nzk3MzQgcmc9d3d3Cn4jISB0aWQ9MTE3ODc5MzEzNAp1bmQgaW0gbW9tZW50Pwp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRW5lcmdpZXNwYXJlbmRlIFN1Y2hlIChaZXNzdHJhLCAxMS4gTWFpIDIwMDcsIDEyOjUxOjE0KToKfiMhIHJuPVpvb2sgcnQ9MTE3ODg4MDU2NiByZz13d3cKfiMhIHRpZD0xMTc4NzkzMTM0CkltIE1vbWVudCBidWdndHMgYmVpIG1pciBhdWNoLCBnZXN0ZXJuIG1vcmdlbiBnaW5ncy4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBFbmVyZ2llc3BhcmVuZGUgU3VjaGUgKFpvb2ssIDExLiBNYWkgMjAwNywgMTI6NTk6MDQpOgp+IyEgcm49WmVzc3RyYSBydD0xMTc4ODgwNjc0IHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKdG9sbGUgc2VpdGUhIDspCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBFbmVyZ2llc3BhcmVuZGUgU3VjaGUgKE1haGFyZXQsIDExLiBNYWkgMjAwNywgMTM6MTE6MDkpOgp+IyEgcm49Wm9vayBydD0xMTc4ODgxMTQ0IHJnPXd3dwp+IyEgdGlkPTExNzg3OTMxMzQKTmEsIG9rLCBkYW5uIGRvY2ggbm9ybWFsZXMgZ29vZ2xlIG1pdCBjdHJsLWFsdC1BcGZlbC04IDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCcm9rZW4gaVBvZCAoTWFoYXJldCwgMTEuIE1haSAyMDA3LCAxMzo0Mzo0Myk6Cmh0dHA6Ly93d3cuYnV5bXlicm9rZW5pcG9kLmNvbS9pbmRleC5odG1sCgpXYXJ1bSBtYWNoZW4gZGllIHNvd2FzPyBIYXQgamVtYW5kIHZvbiBldWNoIG5lIElkZWUsIHdhcyBtYW4gbWl0IGthcHV0dGVuCmlQb2RzIGFuc3RlbGxlbiBrYW5uPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyb2tlbiBpUG9kIChDcm9mdCwgMTEuIE1haSAyMDA3LCAxNTowNjoxMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTExNzg4ODM4MjMgcmc9d3d3Cn4jISB0aWQ9MTE3ODg4MzgyMwpBdXMgMi14IGthcHV0dGVuIGlQb2RzIDEteSBpbnRha3RlIGlQb2RzICh5PHgpIGhlcnN0ZWxsZW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdGhpcyBpcy4uLiAoR25vbWUsIDExLiBNYWkgMjAwNywgMTY6MjU6NDQpOgpodHRwOi8vd3d3LnNwYXJ0YWFhYWEuZGUvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWhsY29tcHV0ZXIuLi4gKFplc3N0cmEsIDE0LiBNYWkgMjAwNywgMTY6MzQ6NDkpOgpNYWwgd2llZGVyIGVpbiBXYWhsYmVvYmFjaHRlcmJlcmljaHQgenUgZGVuIHRvbGxlbiBOZWRhcC1XYWhsbWFzY2hpbmVuLiAqa290eioKaHR0cDovL3BhdWxhc211dGguZGUvPy9ibG9nL3Nob3cvMDAwMDExCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FobGNvbXB1dGVyLi4uIChab29rLCAxNC4gTWFpIDIwMDcsIDE2OjQzOjQxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3OTE1MzI4OSByZz13d3cKfiMhIHRpZD0xMTc5MTUzMjg5CkFoLCBuaWNodCBudXIgc2Nod2FjaGUgVGVjaG5paywgYXVjaCB1ZWJlcmZvcmRlcnRlIEJlZGllbmVyLiBPYiBkYXMKenVyIEFuZmVjaHR1bmcgcmVpY2h0IHVuZCBvYiBlcyBqbWQuIGFuZmVjaHRldD8gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2VnZWxnZW51c3MgKEphbm5lLCAxNC4gTWFpIDIwMDcsIDIwOjUzOjUyKToKdG90YWwgZ2VuaWFsOiBkZW1uYWVjaHN0IGtvbW10IGRlciBWaXJ0dWFsIFNraXBwZXIgNSByYXVzIHVuZCBiZXJlaXRzIGpldHp0CmdpYnQgZXMgZWluZSBEZW1vdmVyc2lvbiBtaXQgMiBLdXJzZW4gZGF2b24gdW50ZXIgaHR0cDovL3d3dy40cGxheWVycy5kZS80cGxheQplcnMucGhwL2Rvd25sb2FkX2luZm8vUEMtQ0RST00vRG93bmxvYWQvNDYwNTkuaHRtbCAtIHRvbGxlIEJpbGRlciB1bmQgZGllCkJvb3RlIGJlaGVycnNjaGVuIHJpY2h0aWcgZ3V0IHByb2dyYW1taWVydGUgVGFrdGlrLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlZ2VsZ2VudXNzIChKYW5uZSwgMTQuIE1haSAyMDA3LCAyMDo1Nzo0Nyk6Cn4jISBybj1KYW5uZSBydD0xMTc5MTY4ODMyIHJnPXd3dwp+IyEgdGlkPTExNzkxNjg4MzIKdmllbGxlaWNodCBzb2xsdGUgaWNoIGVzIGVyZ2FlbnplbjogbWFuIGthbm4gaW4gZGVyIERlbW92ZXJzaW9uIG1pdCBBQwpoZXJ1bXNjaGlwcGVybiwgZGllIGRlbiByaWNodGlnZW4gQ3VwcGVybiBnZW5hdSBlbnRzcHJlY2hlbi4gQXVjaCBkaWUgVW1nZWJ1bmcKYmVpbSBBdXNsYXVmZW4gaXN0IGdlbmF1IGRlbSBLYW5hbCBpbiBWYWxlbmNpYSBuYWNoZ2ViaWxkZXQuIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVFYgKEdsb2luc29uLCAxNS4gTWFpIDIwMDcsIDAxOjMwOjU4KToKIkZ1ZW5mdGVpbGlnZSBSZWloZSAiQWdlbmRhIDIwMjAgLSBXaWUgd2VyZGVuIHdpciBsZWJlbj8iIiBhdWYgWkRGOgoKaHR0cDovL3d3dy56ZGYuZGUvWkRGZGUvaW5oYWx0LzI5LzAsMTg3MiwxMDIxMjc3X2lkRGlzcGF0Y2g6NTE2NTk5NCwwMC5odG1sCgpEZXIgQXVmdGFrdCB3YXIgZWluIGdhbnogbmV0dGVzIEZlcm5zZWhzcGllbCB1ZWJlciBSRklELUVpbnNhdHouCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRWIChHbG9pbnNvbiwgMTUuIE1haSAyMDA3LCAwMTozMjowMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTc5MTg1NDU4IHJnPXd3dwp+IyEgdGlkPTExNzkxODU0NTgKaHR0cDovL3d3dy5zcGllZ2VsLmRlL2t1bHR1ci9nZXNlbGxzY2hhZnQvMCwxNTE4LDQ4MjcxNCwwMC5odG1sIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBzeWNob2xvZ2lzY2hlIFByb2ZpbGUgYXVzIE9ubGluZS1TcGllbGVuLi4uIChaZXNzdHJhLCAxNS4gTWFpIDIwMDcsIDEzOjAwOjE1KToKQXVjaCBpbnRlcmVzc2FudC4gOy0pCgpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy84OTY2NS9mcm9tL3JzczA5CiJHb29nbGUgaGF0IGltIEFwcmlsIGVpbmVuIFBhdGVudGFudHJhZyBmdWVyIGVpbmUgTWV0aG9kZSBlaW5nZXJlaWNodCwgbWl0IGRlcgpzaWNoIGRpZSBwc3ljaG9sb2dpc2NoZW4gUHJvZmlsZSB2b24gTWlsbGlvbmVuIE1lbnNjaGVuIGVyemV1Z2VuIGxhc3NlbiwgaW5kZW0KaWhyZSBBa3Rpdml0YWV0ZW4gYmVpIE9ubGluZS1TcGllbGVuIGhlaW1saWNoIHZlcmZvbGd0IHdlcmRlbi4gQXVzIGRlbgpPbmxpbmUtVmVyaGFsdGVuIGxpZXNzZW4gc2ljaCBBdWZzY2hsdWVzc2UgdWViZXIgUGVyc29lbmxpY2hrZWl0IHVuZCBWb3JsaWViZW4KZGVyIFNwaWVsZXIgemllaGVuLCB1bSBkaWVzZSBQcm9maWxlIGFuIEludGVyZXNzZW50ZW4genUgdmVya2F1ZmVuLCBkaWUgaW4KU3BpZWxlbiB3ZXJiZW4gd29sbGVuLiBEZXIgUGF0ZW50YmVzY2hyZWlidW5nIHp1Zm9sZ2UgZWlnbmVuIHNpY2ggUm9sbGVuc3BpZWxlCndpZSBXb3JsZCBvZiBXYXJjcmFmdCBvZGVyIFNlY29uZCBMaWZlIGFtIGJlc3RlbiBmdWVyIGRpZSBFcnpldWd1bmcKcHN5Y2hvbG9naXNjaGVyIFByb2ZpbGUsLi4uIgoKTWhtbSwgTVVEcyBzY2hlaW5lbiBpbiBkZXIgQmV0cmFjaHR1bmcgd29obCBuaWNodCB2b3JnZWtvbW1lbiB6dSBzZWluLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBzeWNob2xvZ2lzY2hlIFByb2ZpbGUgYXVzIE9ubGluZS1TcGllbGVuLi4uIChaZXNzdHJhLCAxNS4gTWFpIDIwMDcsIDEzOjAyOjE1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3OTIyNjgxNSByZz13d3cKfiMhIHRpZD0xMTc5MjI2ODE1CkFoLCBzdGltbXQsIGdlcmFkZSBpbSBlcnN0ZW4gQW5sYXVmIGdhbnogdWViZXJsZXNlbi4KIldlciBsYWVuZ2VyIGFscyB6d2VpIFN0dW5kZW4gYW0gU3R1ZWNrIHNwaWVsdCwga29lbm5lIGF1ZiBXZXJidW5nIGZ1ZXIKUGl6emFzLCBLYWZmZWUgb2RlciBHZXRyYWVua2UgYW5zcHJlY2hlbi4iCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBzeWNob2xvZ2lzY2hlIFByb2ZpbGUgYXVzIE9ubGluZS1TcGllbGVuLi4uIChDcm9mdCwgMTUuIE1haSAyMDA3LCAxMzowNTo1OCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzkyMjY5MzUgcmc9d3d3Cn4jISB0aWQ9MTE3OTIyNjgxNQpBaCwgS2FmZmVlIGlzdCBrZWluIEdldHJhZW5rLiBTb3NvLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVsaS1TdGVpbi1TdWRva3UgKEFudGhlYSwgMTUuIE1haSAyMDA3LCAxNzo0MzoxMik6Ck5ldWUgSGVyYXVzZm9yZGVydW5nPyBFaW4gU3Vkb2t1IG1pdCBVbGktU3RlaW4tRmlndXJlbiEKaHR0cDovL3d3dy51bGlzdGVpbi5kZS9zdWRva3VzLW1pdC11bGktc3RlaW4tZmlndXJlbi5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSdWhyZ2ViaWV0c3NwcmFjaGUuZGUgKFplc3N0cmEsIDE2LiBNYWkgMjAwNywgMDk6NTk6MTIpOgpIaWhpLCB3ZW5uIGljaCBtYWwgSWRlZW4gZnVlciBuZXVlIE5QQ3MgYnJhdWNoLCBndWNrIGljaCBoaWVyLi4uIDstKQpodHRwOi8vd3d3LnJ1aHJnZWJpZXRzc3ByYWNoZS5kZS9zY2hhZGVuc2tsYXNzZW4uaHRtbApSdWhyd2Vyd29sZjogIkdlZmFlaHJkdW5nOiB2aWVsZXJsZWk7IHVudGVyIGFuZGVyZW0gTWVuc2NoZW4gdW5kIFZpZWggZnJlc3NlbiwKS2luZGVyIGVyc2NocmVja2VuOyBHZWdlbm1hc3NuYWhtZW46IEd1ZXJ0ZWwga2xhdWVuOyBtdXNzIHNpY2ggZGFubiBpbiBzZWluZQptZW5zY2hsaWNoZSBHZXN0YWx0IHJ1ZWNrdmVyd2FuZGVsbiIKSGVpdG1hZW5uZWtlbjogIkdlZmFlaHJkdW5nOiBydWZ0ICJIZWl0ISBIZWl0ISIgLSB3ZW5uIG1hbiB6dXJ1ZWNrcnVmdCwKa2xldHRlcnQgZXMgZWluZW0gYXVmIGRlbiBSdWVja2VuIHVuZCBtYW4gbXVzcyBlcyBlaW5lIHdlaXRlIFN0cmVja2UgdHJhZ2VuOyIKQlRXOiBXZXIgIktsdWVuZ2VsIiBub2NoIG5pY2h0IGtlbm50LCBrYW5uIGF1Y2ggZG9ydCBpbSBHbG9zc2FyIGZ1ZW5kaWcKd2VyZGVuLiA7LSkKQlRXMjogSGlwcGUgaXN0IG9mZmVuc2ljaHRsaWNoIGZhbHNjaCBiZXNjaHJpZWJlbi4uLiBIaXBwZTogImdyb3NzZXMsIGR1ZW5uZXMKTWFlZGNoZW4gbWl0IHVlYmVydHJpZWJlbmVyIE1hbm5lcXVpbmZpZ3VyOyB3ZWlibGljaGVzIEdlZ2Vuc3R1ZWNrIHp1bQonU2NobWFjaHRsYXBwZW4nIgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJ1aHJnZWJpZXRzc3ByYWNoZS5kZSAoUnVtYXRhLCAxNi4gTWFpIDIwMDcsIDEwOjAxOjIyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3OTMwMjM1MiByZz13d3cKfiMhIHRpZD0xMTc5MzAyMzUyCkRhbWFscywgYWxzIEhpcHBlcyBub2NoIEhpcHBlcyB3YXJlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUnVocmdlYmlldHNzcHJhY2hlLmRlIChIdW1uaSwgMTYuIE1haSAyMDA3LCAyMToyNTo0NCk6Cn4jISBybj1SdW1hdGEgcnQ9MTE3OTMwMjQ4MiByZz13d3cKfiMhIHRpZD0xMTc5MzAyMzUyCiJaaWVoIERpY2ggYXVzLCBEdSBhbHRlIEhpcHBlISIgLSBkYWhlciBrZW5uIGljaCBkYXMgV29ydCB1cnNwcnVlbmdsaWNoLiBVbmQKZGFzIGlzdCBlaW5lcyBkZXIgbGl0ZXJhcmlzY2hlbiBNZWlzdGVyd2VrZSB2b24gSGVsZ2UgU2NobmVpZGVyLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJ1aHJnZWJpZXRzc3ByYWNoZS5kZSAoRGFya2xvciwgMTYuIE1haSAyMDA3LCAyMTozODo0Myk6Cn4jISBybj1IdW1uaSBydD0xMTc5MzQzNTQ0IHJnPXd3dwp+IyEgdGlkPTExNzkzMDIzNTIKVW5kIGVzIGhhdHRlIG5peCBtaXQgZGVyIFhhbnRpcHBlIHp1IHR1bj8KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJ1aHJnZWJpZXRzc3ByYWNoZS5kZSAoS2Vzc2EsIDE2LiBNYWkgMjAwNywgMjM6MTQ6NDkpOgp+IyEgcm49RGFya2xvciBydD0xMTc5MzQ0MzIzIHJnPXd3dwp+IyEgdGlkPTExNzkzMDIzNTIKS29lbm50ZSBtYW4gbWVpbmVuIChpbiBYYW50aGlwcGUgc3RlY2t0IGhpcHBvcyAnUGZlcmQnLCBhbHNvIGV0d2EgZWluIGR1ZXJyZXIKS2xlcHBlcikuIEtvbW10IGFiZXIgdm9uICdHZXJpcHBlJyB1bmQgendhciBhdWYgZGVtIFVtd2VnIHVlYmVyIGRhcwpydWhyZ2ViaWV0c2RldXRzY2hlICdKZXJlY2tlJykgdW5kIGhhdCBzaWNoIGRhbm4gaW4gZGVyIGJla2FubnRlbiBSaWNodHVuZwp2ZXJzZWxic3RhZW5kaWd0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBzeWNob2xvZ2lzY2hlIFByb2ZpbGUgYXVzIE9ubGluZS1TcGllbGVuLi4uIChNYXN1bCwgMTcuIE1haSAyMDA3LCAxMjo0Njo1MCk6Cn4jISBybj1aZXNzdHJhIHJ0PTExNzkyMjY4MTUgcmc9d3d3Cn4jISB0aWQ9MTE3OTIyNjgxNQo+PiBNaG1tLCBNVURzIHNjaGVpbmVuIGluIGRlciBCZXRyYWNodHVuZyB3b2hsIG5pY2h0IHZvcmdla29tbWVuIHp1IHNlaW4uCgpadW0gR2x1ZWNrLgoKT2ZmZW5zaWNodGxpY2ggdmVyc2NoaWVidCBzaWNoIGRpZSBHcmVuemUgendpc2NoZW4gT2VmZmVudGxpY2hrZWl0IHVuZApQcml2YXRzcGhhZXJlIHVuZCBsb2VzdCBzaWNoIGluIGdld2lzc2VyIFdlaXNlIGF1Zi4gCkRhYmVpIGVyaW5uZXJlIGljaCBtaWNoIGFuIGVpbiBCdWNoOiBXZWx0IGFtIERyYWh0LiBJbiBlaW5lciB2aXJ0dWVsbGVuIFdlbHQKZnVlaHJlbiBNYXJrdGZvcnNjaGVyIEJlZnJhZ3VuZ2VuIHZvbiB2aXJ0dWVsbGVuIEtvbnN1bWVudGVuIGR1cmNoLiBTZWNvbmQKTGlmZSB3ZWlzdCBBZWhubGljaGtlaXRlbiBhdWYuIFdhcyBhbGxlcmRpbmdzIGRhcyBWZXJoYWx0ZW4gZWluZXMKV29XLUNoYXJha3RlcnMgdWViZXIgZGVuIFNwaWVsZXIgYXVzc2FndD8gRGEgd2FlcmUgaWNoIG5pY2h0IHNvIHNpY2hlci4KTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUHN5Y2hvbG9naXNjaGUgUHJvZmlsZSBhdXMgT25saW5lLVNwaWVsZW4uLi4gKFplc3N0cmEsIDE3LiBNYWkgMjAwNywgMTM6MDE6MzEpOgp+IyEgcm49TWFzdWwgcnQ9MTE3OTM5ODgxMCByZz13d3cKfiMhIHRpZD0xMTc5MjI2ODE1CkphLCBtYW4gc29sbHRlIGVjaHQgYXVmcGFzc2VuZCwgd28gdWViZXJhbGwgcGVyc29lbmxpY2hlIERhdGVuIGVyaG9iZW4gdW5kCnZlcmFyYmVpdGV0IHdlcmRlbi4KSW4gZGllc2VtIFp1c2FtbWVuaGFuZyBmaW5kZSBpY2ggZGFzIFZpZGVvICJUaGluayBiZWZvcmUgeW91IHBvc3QiIGdhbnogbmV0dDoKaHR0cDovL3d3dy5ydGF1Y2huaXR6LmRlLzEzOS13YXJudW5nLXZvci13ZWItMjAuaHRtbAoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGVyc29lbmxpY2hlcyBNdWVzbGkgKFplc3N0cmEsIDE3LiBNYWkgMjAwNywgMTM6NTA6MjgpOgpEaWUgR2VzY2hhZWZ0c2lkZWUgZmluZCBpY2ggamEgYXVjaCBuZXR0OgpodHRwOi8vd3d3Lm15bXVlc2xpLmNvbS8KCktsYXIsIGRhcyBrb2VubnRlIG1hbiBhdWNoIGVpbmZhY2ggc2VsYmVyIHp1c2FtbWVubWl4ZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWF5IHRoZSBmYXJtIGJlIHdpdGggeW91ISAoR2xvaW5zb24sIDE4LiBNYWkgMjAwNywgMTI6MTk6NTYpOgpodHRwOi8vd3d3LnN0b3Jld2Fycy5vcmcvZmxhc2gvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUnVieSBvbiBSYWlscyAoR2xvaW5zb24sIDE4LiBNYWkgMjAwNywgMTI6MjQ6MjMpOgouLi4gJ1dlcmJldmlkZW9zJy4gV2l0emlnLiBBdWNoIHdlbm4gaWNoIGRpZSBCZWhhdXB0dW5nZW4gbm9jaCBuaWNodAp1ZWJlcnBydWVmdCBoYWJlIDopCgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UFFidXlLVWFLRm8KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PW4xTlZmRGxVNnlRCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1wNUVJclNNOGRDQQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRldXRzY2hlIGJhc2gub3JnIChHd2VuLCAxOS4gTWFpIDIwMDcsIDA5OjUwOjE5KToKei5CLiBwYXNzZW5kIHp1bSAiVmF0ZXJ0YWciOgo8TmltbT4gSGUsIEhhcmFsZCwgaGFzdCBkdSBuaWNodCBpcmdlbmR3YXMgYmVpIG1pciB2ZXJnZXNzZW4gYWxzIGR1IGRpZSBjZHMKaG9sZW4gd2FydHMgPwo8SG9yYXo+IE5laW4gd3NzdGUgbmljaHQgd2FzLCBaaWdhcnJldHRlbiwgU2NobHNzZWwsIEdlbGRicnNlLCBQdWxsb3Zlciwga2EKLi4/CjxOaW1tPiBobW0sIHdpZSB3cnMgbWl0IGRlaW5lciBUb2NodGVyID8KPEhvcmF6Pi4uLiBTY2hlaWUgYmluIHNjaG9uIHVudGVyd2VncyAhISEhISBTUlkgQUxURVIKPE5pbW0+IG5wIC4uLiBucAoKTHVzdCBhdWYgbWVocj8gR3Vja3N0IER1IGhpZXI6IGh0dHA6Ly9nZXJtYW4tYmFzaC5vcmcvYWN0aW9uL3RvcAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERldXRzY2hlIGJhc2gub3JnIChHbm9tZSwgMTkuIE1haSAyMDA3LCAxNjoyMDozOSk6Cn4jISBybj1Hd2VuIHJ0PTExNzk1NjEwMTkgcmc9d3d3Cn4jISB0aWQ9MTE3OTU2MTAxOQpuZWluIHdpZSBnZWlsLgpiZXNvbmRlcnMgZ2VmYWVsbHQgbWlyIDksIDE1LCAxOCwgMjUsIDI5LCA0MCB1bmQgNDEuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERldXRzY2hlIGJhc2gub3JnIChHbG9pbnNvbiwgMTkuIE1haSAyMDA3LCAxODoyNjozOSk6Cn4jISBybj1Hbm9tZSBydD0xMTc5NTg0NDM5IHJnPXd3dwp+IyEgdGlkPTExNzk1NjEwMTkKaHR0cDovL2Jhc2gub3JnLz83NTY3OTcKCkZ1ZXIgZGllIFByb2dyYW1taWVyZXIgOykKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVFNBIC0gImNyZWFtIG9mIHRoZSBjcm9wIiA7LSkgKFplc3N0cmEsIDIwLiBNYWkgMjAwNywgMDE6NDA6NDgpOgpNaXIgaXN0IGhldXQgZWluIG5ldHRlcyBWaWRlbyBtaXQgZWluZXIgbmFjaGdlc3RlbGx0ZW4gVFNBIChUcmFuc3BvcnQgU2FmZXR5CkFnZW5jeSkgZGVzIERIUyAoRGVwYXJ0bWVudCBvZiBIb21lbGFuZCBTZWN1cml0eSkgdWViZXIgZGVuIGRlbiBXZWcgZ2VsYXVmZW4uCjstKQpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eWt6cUZ6X25IWkUKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZlYXR1cmVzIGZ1ZXIgQ2Fub24gQTZ4eCAodW5kIGFuZGVyZSBESUdJQ0lJLUNhbm9ucykgKEdsb2luc29uLCAyMS4gTWFpIDIwMDcsIDA3OjMwOjU5KToKRWluIHBhYXIgUnVzc2VuIGhhYmVuIGRpZSBGaXJtd2FyZSBhdWZnZWJvaHJ0LiBBbHMgQWRkb24gZnJ1ZSBkaWUgRmlybXdhcmUsCm5pY2h0IGFscyBGbGFzaDoKaHR0cDovL3NjcmF0Y2hwYWQud2lraWEuY29tL3dpa2kvQ0hESwoKSGFicyBtYWwgZWluIHdlbmlnIGF1c3Byb2JpZXJ0LiBTY2hvbiBzZWhyIG5ldHQuIExpdmUtSGlzdG9ncmFtbSwKQmVsaWNodHVuZ3NiZXJlaWNod2FybnVuZywgUkFXLU1vZHVzLCBTY3JpcHRpbmcgLi4uIHVuZCBvYiBtYW4gZGFzIEZlYXR1cmUKZGF6dWxhZWR0LCBrYW5uIG1hbiBwcmluemlwaWVsbCBzZWxic3QgZW50c2NoZWlkZW4gKHdlaWwgZGFzIEFkZE9uIG5hY2ggamVkZW0KU3RhcnQgZGVyIEthbWVyYSBlbnRsYWRlbiBpc3QsIGVzIHNlaSBtYW4gbWFjaHQgZGllIEthcnRlIG1pdCBkZW4gRGF0ZW4KYm9vdGJhcikuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWFsIHdpZWRlciBzb24gVGVzdC4uLiAoWmVzc3RyYSwgMjIuIE1haSAyMDA3LCAxMToyNDoxOCk6ClRoZSBHRVJNQU5ZIFRlc3QKaHR0cDovL3d3dy5va2N1cGlkLmNvbS90ZXN0cy90YWtlP3Rlc3RpZD03MDgxODcyNTE3MTExMzQxODIwCgpJY2ggc2NoYWZmcyBhdWYgOTAlLiBOdW5qYS4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTWFsIHdpZWRlciBzb24gVGVzdC4uLiAoQW50aGVhLCAyMi4gTWFpIDIwMDcsIDExOjM1OjMzKToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3OTgyNTg1OCByZz13d3cKfiMhIHRpZD0xMTc5ODI1ODU4ClNvc28uIFd1c3N0ZXN0IER1IHdvaGwgbmljaHQsIGRhc3MgZGllIGFtZXJpa2FuaXNjaGUgUGVwcGVyb25pLVBpenphIGluCkRldXRzY2hsYW5kIGVpbmUgU2FsYW1pLVBpenphIGlzdD8KOTMlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcG9nb21pa2VhIChKYW1lc29uLCAyMi4gTWFpIDIwMDcsIDExOjQ3OjU4KToKQWtyb255bWUsIGRpZSB1bnMgbm9jaCBmZWhsdGVuCgpodHRwOi8vd3d3LmhlaXNlLmRlL2N0L1JlZGFrdGlvbi9jbS9jbWpva2VzLmh0bWwjR2xvc3NhcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKFZhbmlyLCAyMi4gTWFpIDIwMDcsIDE2OjQxOjQ2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTE3OTgyNTg1OCByZz13d3cKfiMhIHRpZD0xMTc5ODI1ODU4Ck5vcmRpc2ggYnkgTmF0dXJlIDopIDEwMCUKQW0gQmVzdGVuIGhhdCBtaXIgZGllIEFudHdvcnQgYXVmIEdlcm1hbnlzIEFudGhlbSBpbiBkZXIgbmF0aW9uYWxoeW1uZQpnZWZhbGxlbiAoIlNjaGVpc3MgQmF5ZXJuIikKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWFsIHdpZWRlciBzb24gVGVzdC4uLiAoR3dlbiwgMjIuIE1haSAyMDA3LCAxNjo0NTo1Mik6Cn4jISBybj1WYW5pciBydD0xMTc5ODQ0OTA2IHJnPXd3dwp+IyEgdGlkPTExNzk4MjU4NTgKQWNoLCBkYXMgaGFzdGUgYW5nZWtsaWNrdD8KR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKEhpZ2hsYW5kZXIsIDIyLiBNYWkgMjAwNywgMTc6MjE6NTEpOgp+IyEgcm49R3dlbiBydD0xMTc5ODQ1MTUyIHJnPXd3dwp+IyEgdGlkPTExNzk4MjU4NTgKVmVybXV0bGljaCBuaWNodCwgd2VpbCBhdWNoLCB3ZW5uIGRlciBUaXRlbCBmYWxzY2ggd2FyCihkYXMgRGluZyBoZWlzc3QgbmljaHQgRWluaWdrZWl0IHVuZCBSZWNodCB1bmQgRnJlaWhlaXQpLAp3YXIgd29obCBkb2NoIGRhcyBkaWUgcmljaHRpZ2UgQXVzd2FobCBhbiBkZW0gUHVua3QuCgpEaWUgRnJhZ2VuIHdhcmVuIHNlbGJlciBuaWNodCBzbyBnYW56IHJpY2h0aWcsIHMuby4sIGF1Y2ggekIKZGFzIGRldXRzY2hlIFN0YW5kYXJkLU1hc2NoaW5lbmdld2VociBoZWlzc3QgbmljaHQgRzM2LiBBYmVyCmZ1ZXInbiBBbWVyaWthbmVyIG5pY2h0IHNjaGxlY2h0IDopCgpVbmQgaWNoIGhhZXR0ZSBuaWNodCBnZXd1c3N0LCBkYXNzIGljaCBpbiBVU0EgZWluZSBwZXBwZXJvbmkKcGl6emEgYmVzdGVsbGVuIG11ZXNzdGUuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKEdsb2luc29uLCAyMi4gTWFpIDIwMDcsIDE3OjIzOjQyKToKfiMhIHJuPUhpZ2hsYW5kZXIgcnQ9MTE3OTg0NzMxMSByZz13d3cKfiMhIHRpZD0xMTc5ODI1ODU4CkljaCBkYWNodGUgdW5zZXIgU3RhbmRhcmQtTUcgaXN0IGRhcyAwOC8xNT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNYWwgd2llZGVyIHNvbiBUZXN0Li4uIChIaWdobGFuZGVyLCAyMi4gTWFpIDIwMDcsIDE3OjM3OjA0KToKfiMhIHJuPUdsb2luc29uIHJ0PTExNzk4NDc0MjIgcmc9d3d3Cn4jISB0aWQ9MTE3OTgyNTg1OApOZSwgbmljaHQgd2lya2xpY2guIERhcyB3YXIgZXJzdGVyIFdlbHRrcmllZy4gRGEga2FtCm5vY2ggZWluZXIgZGF6d2lzY2hlbiwgZGEgd2FyJ3Mgdi5hLiBkYXMgTUc0Miwgdm9uIGRlbSBkYXMKTUczIGF1Y2ggYWJzdGFtbXQuCgpIclQsIGRhcyBNRzM0IHVudGVyc2NobGFnZW5kCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBNYWwgd2llZGVyIHNvbiBUZXN0Li4uIChHbG9pbnNvbiwgMjIuIE1haSAyMDA3LCAxNzo0MTozNyk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTExNzk4NDgyMjQgcmc9d3d3Cn4jISB0aWQ9MTE3OTgyNTg1OApXaWVkZXIgZWluZW4gYWx0ZW4gTWVuc2NoZW4gZ2x1ZWNrbGljaCBnZW1hY2h0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTWFsIHdpZWRlciBzb24gVGVzdC4uLiAoWm9vaywgMjIuIE1haSAyMDA3LCAxODo0NzozMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTc5ODQ4NDk3IHJnPXd3dwp+IyEgdGlkPTExNzk4MjU4NTgKMTAwJS4gd28gd2FyIGRhIGVpZ2VudGxpY2ggZGFzIHByb2JsZW0/IDspIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKEh1bW5pLCAyMi4gTWFpIDIwMDcsIDIwOjM2OjI0KToKfiMhIHJuPVpvb2sgcnQ9MTE3OTg1MjQ1MCByZz13d3cKfiMhIHRpZD0xMTc5ODI1ODU4CkljaCBoYXR0ZSBudXIgOTYlLiBXZWlzcyBuaWNodCwgd2FzIGZhbHNjaCB3YXIsIGFiZXIgZGFzIE1HIHdhZXJlIGVpbgpLYW5kaWRhdC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNYWwgd2llZGVyIHNvbiBUZXN0Li4uIChCaXJkeSwgMjIuIE1haSAyMDA3LCAyMDozNzo0OCk6Cn4jISBybj1IdW1uaSBydD0xMTc5ODU4OTg0IHJnPXd3dwp+IyEgdGlkPTExNzk4MjU4NTgKZGllIGJheWVybiBlcmtlbm50IG1hbiBkYXJhbiwgZGFzcyBzaWUgdWViZXIgOTAlIGhhYmVuICpnKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKEJhbWJ1bGtvLCAyMy4gTWFpIDIwMDcsIDA5OjIwOjU4KToKfiMhIHJuPUJpcmR5IHJ0PTExNzk4NTkwNjggcmc9d3d3Cn4jISB0aWQ9MTE3OTgyNTg1OApOYWphLCBkYSBpY2gga2VpbiBCaWVyIHRyaW5rZSAod29taXQgaWNoIHdvaGwgenVtIGd1dGdlbiBEZXV0c2NoZW4gc2Nob24gCm5pY2h0IHF1YWxpZml6aWVydCBiaW4pLCBrZW5uZSBpY2ggYXVjaCBrZWluZSBCcmF1ZXJlaWVuIGluIE11ZW5jaGVuLiBVbmQgdm9uCnZvbiBkZW4gV2FmZmVuIGRlciBCdW5kZXN3ZWhyIGtlbm5lIGljaCBhdWNoIG51ciBkaWUgVG9ybmFkb3MsIGRpZSBpbiBkZW4gVVNBCmltbWVyIGdhbnplIERvZWZlciBuaWVkZXJyZWlzc2VuIChkYXMgQnVzaCBkYSBub2NoIG5pY2h0cyB1bnRlcm5vbW1lbiBoYXQpLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IE1hbCB3aWVkZXIgc29uIFRlc3QuLi4gKEJvaW5nLCAyNi4gTWFpIDIwMDcsIDIzOjM5OjIxKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExNzk5MDQ4NTggcmc9d3d3Cn4jISB0aWQ9MTE3OTgyNTg1OApJY2ggdHJpbmsgYXVjaCBrZWluIEJpZXIgLi4uIHRyb3R6ZGVtIDEwMCUgOykKICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGl2ZS1Lb256ZXJ0ZSBpbSBXZWIgKFplc3N0cmEsIDI3LiBNYWkgMjAwNywgMjE6NTA6NDMpOgpIYWIgaGV1dCBuZSBXZWJzaXRlIGVudGRlY2t0LCB3byBtYW4gc2ljaCBNaXRzY2huaXR0ZSB2b24gTGl2ZWtvbnplcnRlbgphbmd1Y2tlbiBrYW5uLCBzb2dhciBvaG5lIFJlZ2lzdHJpZXJ1bmcgdW5kIFdlcmJ1bmcgbWl0dGVuZHJpbi4gRGFmdWVyIGlzdCBkaWUKUXVhbGl0YWV0IGJ6dy4gZGllIEdyb2Vzc2UgZGVyIFZpZGVvcyBuYXR1ZXJsaWNoIG5pY2h0IHNvIGFsbHp1IGJlcmF1c2NoZW5kLgpBYmVyIG1hbCByZWluZ3Vja2VuIGtvc3RldCBqYSBuaXguIDstKQpGYWxsIGVzIGF1c3NlciBtaXIgbm9jaCBtZWhyIExldXRlIG5pY2h0IGtlbm5lbiwgaW0gQW5zY2hsdXNzIGRlbiBMaW5rLCBpY2gKaGFiIG1pciBtYWwgZGllIEtvbnplcnRlIHZvbiBOaWdodHdpc2ggdW5kIENvcnZ1cyBDb3JheCBhbmdlc2NoYXV0OgpodHRwOi8vd3d3LmZhYmNoYW5uZWwuY29tL25pZ2h0d2lzaApodHRwOi8vd3d3LmZhYmNoYW5uZWwuY29tL2NvcnZ1c19jb3JheApBY2hqYSwgaW5zZ2VzYW10IHNvbGwgZGllIExpc3RlIDIxMSBLb256ZXJ0ZSB1bWZhc3NlbiwgZ2V6YWVobHQgaGFiIGljaCBzaWUKbmljaHQgdW5kIGRpZSBtZWlzdGVuIGRlciBCYW5kcyBrZW5uIGljaCBuaWNodC4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBbHRlIE1hZW5uZXIsIGRpZSBzaWNoIGd1dCB2ZXJ0cmFnZW4gLi4uIChHbG9pbnNvbiwgIDEuIEp1biAyMDA3LCAxMDo1NDozNyk6Cmh0dHA6Ly9kNS5hbGx0aGluZ3NkLmNvbS8yMDA3MDUzMC9kNS1nYXRlcy1qb2JzLWludGVydmlldy8KaHR0cDovL3d3dy5tc25iYy5tc24uY29tL2lkLzE4OTcwNDM5L3NpdGUvbmV3c3dlZWsvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXN0cm9Db3JuZXIgKFZhbmlvbiwgIDEuIEp1biAyMDA3LCAxOTowNDowNik6CkluIEVybWFuZ2VsdW5nIGFuIGVpbmVyIHBhc3NlbmRlcmVuIFJ1YnJpayBwb3N0ZSBpY2ggZGFzIG1hbCBoaWVyOgoKU2Fpc29uIGRlciBMZXVjaHRlbmRlbiBOYWNodHdvbGtlbgoKSW4gZGVuIFdvY2hlbiB2b3IgdW5kIG5hY2ggZGVyIFNvbW1lcnNvbm5lbndlbmRlLCB3ZW5uIGRpZSBTb25uZSB6dXIKWmVpdCBkZXIgbG9rYWxlbiBNaXR0ZXJuYWNodCBudXIgd2VuaWdlIEdyYWQgdW50ZXIgZGVtIEhvcml6b250IHN0ZWh0LAprQzZubmVuIGluIHVuc2VyZW4gQnJlaXRlbiBMZXVjaHRlbmRlIE5hY2h0d29sa2VuIGJlb2JhY2h0ZXQgd2VyZGVuLgpIaWVyIGZpbmRlbiBTaWUgZGllIEVya2xDcnVuZyBkZXMgUGhhZW5vbWVucywgaGlzdG9yaXNjaGUgSGludGVyZ3J1ZW5kZQp1bmQgQmVvYmFjaHR1bmdzdGlwcHMuCgp3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gb25saW5lIHVudGVyOgpodHRwOi8vYXN0cm9jb3JuZXIuZGUvaW5kZXgvMDJfd2lzc2VuLzAxX3Nvbm5lbnN5c3RlbS8wMV9hdWZiYXUvMDNfcGxhbmV0ZW4vMDMKX2VyZGUvbmxjLnBocAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hld2JhY2NhcyBSZWxpZ2lvbiAuLi4gKEdsb2luc29uLCAgNC4gSnVuIDIwMDcsIDE1OjE4OjI3KToKaHR0cDovL3d3dy50eWUuY2EvcGljdHVyZXMucGhwPzQ4MTtyZWZlcmVyPXBpY3R1cmVzLnBocAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDaGV3YmFjY2FzIFJlbGlnaW9uIC4uLiAoQWxib2luLCAgNC4gSnVuIDIwMDcsIDIxOjQ0OjEzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExODA5NjMxMDcgcmc9d3d3Cn4jISB0aWQ9MTE4MDk2MzEwNwpEYSB3aXJkIGVzIHdpZWRlciBicmVubmVuZGUgQm90c2NoYWZ0ZW4sIE1hc3NlbmRlbW9uc3RyYXRpb24sIEJveWtvdHRzIHVuZApCb21iZW5hbnNjaGxhZWdlIGdlYmVuLgpzY25yIGFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaUZpLVJlcGVhdGVyIG1pdCBTb2xhcnBhbmVsIChHbG9pbnNvbiwgIDUuIEp1biAyMDA3LCAxMTozNToxOSk6Cmh0dHA6Ly93d3cudHJlZWh1Z2dlci5jb20vZmlsZXMvMjAwNy8wNi9zb2xhcl9wb3dlcmVkX3dfNC5waHAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGVpbmVyIEJhZXIgYmVpIFlvdVR1YmUgKE1lc2lyaWksICA4LiBKdW4gMjAwNywgMDg6Mjk6MDEpOgpFaW5lIEZyZXVkZSBmdWVyIGFsbGUgRWx0ZXJuLCBuYWNoIGRlbSBrbGVpbmVuIE1hdWx3dXJmIGdpYnRzIGpldHp0CmF1Y2ggRXBpc29kZW4gdm9tIGtsZWluZW4gQmFlciBiZWkgWW91VHViZS4gTGVpZGVyIGpld2VpbHMgbnVyIGRpZQplcnN0ZSBIYWVsZnRlLiBWaWVsbGVpY2h0IGtvbW10IGRlciBSZXN0IG5vY2ggbmFjaC4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUpqOF9yR3ZkQ1lFCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnN1Y2hlIGJpbGRjaGVuIChBbGJvaW4sIDEyLiBKdW4gMjAwNywgMTQ6MTc6NTMpOgpJY2ggbW9lY2h0ZSBnZXJuZSBOZXR6d2Vyay1TY2hlbWVuIG1hbGVuIHVuZCBicmFldWNodGUgZGF6dSBfZnJlaWVfIE5ldHp3ZXJrCnVuZCBIYXJkd2FyZWljb25zL2NsaXBhcnRzLiBCaXNoZXIgaGFiZSBpY2ggbmljaHRzIEd1dGVzIGdlZnVuZGVuIGF1c3Nlcgprb21tZXJ6aWVsbGUgU2FjaGVuIHdpZSBkaWUgTmV0d29yayBJY29uIExpYnJhcnkuIEthbm4gamVtYW5kIGhlbGZlbj8KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBzdWNoZSBiaWxkY2hlbiAoR2xvaW5zb24sIDEyLiBKdW4gMjAwNywgMTQ6MzA6NDcpOgp+IyEgcm49QWxib2luIHJ0PTExODE2NTA2NzMgcmc9d3d3Cn4jISB0aWQ9MTE4MTY1MDY3MwpEaWE/IE9obmUgamV0enQgZGFzIE1pbmlwcm9ncmFtbSB6dSBzdGFydGVuLCBhYmVyIGRpZSBoYWJlbiBUZW1wbGF0ZXMgZnVlcgpmYXN0IGplZGVuIERpYWdyYW1tLUtyYW0sIGljaCBtZWluZSBhdWNoIHZpZWwgZGVuIE5hbWVuICJDaXNjbyIgZ2VsZXNlbiB6dQpoYWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgozRC1LcmFtIChHbG9pbnNvbiwgMTMuIEp1biAyMDA3LCAwOTo1OTozMSk6CldhZWhyZW5kCmh0dHA6Ly93d3cuc3BhY2V0aW1lLmNvbS8KYWxzIEJyb3dzZXIgKEFjaHR1bmcsIElFKSBub2NoIGdhbnogYW11ZXNhbnQgdW5kIHRlaWx3ZWlzZSB3aXJrbGljaCBzaW5udm9sbAppc3QsIGthbm4gbWFuIGRlbiBNYWlscmVhZGVyCmh0dHA6Ly93d3cuM2RtYWlsYm94LmNvbS9zbmFwc2hvdHMvaW5kZXguaHRtbAp3aXJrbGljaCBudXIgbm9jaCBhbHMgIndhY2t5IiBiZXplaWNobmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAzRC1LcmFtIChSdW1hdGEsIDEzLiBKdW4gMjAwNywgMTA6NDU6MjkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE4MTcyMTU3MSByZz13d3cKfiMhIHRpZD0xMTgxNzIxNTcxCk5laW4sIGljaCB3aWxsIE5JQ0hUIHdpc3Nlbiwgd2llIGVpbmUgUGVuaXN2ZXJsYWVuZ2VydW5nc21haWwKYXVzc2llaHQhISEhITExMWVpbnNlbGYhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiAzRC1LcmFtIChMZXlsYSwgMTMuIEp1biAyMDA3LCAxMDo1NDoyMSk6Cn4jISBybj1SdW1hdGEgcnQ9MTE4MTcyNDMyOSByZz13d3cKfiMhIHRpZD0xMTgxNzIxNTcxCldpZSBkaWUgTWFpbCBhdXNzaWVodCwgaW50ZXJlc3NpZXJ0IGphIGF1Y2ggd2VuaWdlciwgZWhlciBkYXMgRXJnZWJuaXMuIDpvKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogM0QtS3JhbSAoUnVtYXRhLCAxMy4gSnVuIDIwMDcsIDExOjA5OjEyKToKfiMhIHJuPUxleWxhIHJ0PTExODE3MjQ4NjEgcmc9d3d3Cn4jISB0aWQ9MTE4MTcyMTU3MQpOYWphLCBXZXJidW5nIG1pdCBkZW0gX1Byb2R1a3RfIGlzdCBuaWNodCB1bmdld29laG5saWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FobGNvbXB1dGVyIChaZXNzdHJhLCAxMy4gSnVuIDIwMDcsIDExOjMwOjIzKToKTWl0Z2xpZWRlciB2b20gQ0NDIGhhYmVuIGVpbmVuIEJlcmljaHQgdWViZXIgZGllIEFuZ3JlaWZiYXJrZWl0IHZvbgpXYWhsY29tcHV0ZXJuIGZ1ZXIgZGFzIEJWRyBlcnN0ZWxsdC4gVmllbGVzIGlzdCBtaXIgbmljaHQgbmV1LCBhYmVyIGRhcwp6dXNhbW1lbmdlc3RlbGx0IGluIGVpbmVtIERva3VtZW50IHp1IGxlc2VuLCBzY2hvbjoKaHR0cDovL3d3dy5jY2MuZGUvcHJlc3MvcmVsZWFzZXMvMjAwNy8yMDA3MDYwOS9uZWRhcFJlcG9ydDU0LnBkZgpXZXIgc2ljaCBuaWNodCBkaWUgZ2FuemVuIDU2IFNlaXRlbiBkdXJjaGxlc2VuIG1hZywgYWJlciBzaWNoIGRlbm5vY2gKaW50ZXJlc3NpZXJ0LCBrYW5uIHNpY2ggZGllIFp1c2FtbWVuZmFzc3VuZyBhbmd1Y2tlbjoKaHR0cDovL3d3dy5jY2MuZGUvcHJlc3MvcmVsZWFzZXMvMjAwNy8yMDA3MDYwOS8KCkVpbiBuZXR0ZXMgVmlkZW8sIHdhcyBkZW4gRVBST00tQXVzdGF1c2NoIGJlaSBzbyBlaW5lbSBEaW5nIGluIGdlcmFkZSBtYWwgNjBzCnplaWd0LCBnaWJ0cyBhdWNoOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RW93S2FsUlQzbGMKCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWZW50aWxhdG9yZW4gZnVlciBkZW4gU29tbWVyIC4uLiAoR2xvaW5zb24sIDE5LiBKdW4gMjAwNywgMTE6NTc6MDkpOgouLi4gbXVlc3NlbiBuaWNodCBpbW1lciBzY2huZWxsIHJvdGllcmVuOgoKaHR0cDovL3d3dy5zeWNhbW9yZWZhbi5jb20vZmFuL2ZlYXR1cmUvZmVhdHVyZXMuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCld1aHV1dXUhICAoR2xvaW5zb24sIDE5LiBKdW4gMjAwNywgMTI6MDg6NTIpOgpTYWtudXNzZW0gdW5kIGRpZXNlciBSdXNzZSBtaXQgZGVtIEJ1Y2ggbWl0IFAqIGhhdHRlbiByZWNodCEgQmVzdGltbXQhCgpodHRwOi8vd3d3LnZveWFnZWhvbGxvd2VhcnRoLmNvbS9ob2xsb3dfZWFydGhfdHJpcF9pbmZvLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV3VodXV1dSEgIChaZXNzdHJhLCAxOS4gSnVuIDIwMDcsIDEyOjQyOjQxKToKfiMhIHJuPUdsb2luc29uIHJ0PTExODIyNDc3MzIgcmc9d3d3Cn4jISB0aWQ9MTE4MjI0NzczMgpUaGUgJ2xhbmQgYmV5b25kIHRoZSBQb2xlJz8gKnNldWZ6KiBCZWkgSm9mIQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmVyc2lvbnNuci4gZGVzIEludGVybmV0cyA7LSkgKFplc3N0cmEsIDE5LiBKdW4gMjAwNywgMTk6NTk6NDApOgouLi4gbmV0dCBlcmtsYWVydC4gKmcqCmh0dHA6Ly93d3cubWljaGFlbHN3ZWJsb2cuZGUvMjAwNy8wNi8xOS92ZXJzaW9uc251bW1lcm4tZXJrbGFydC8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1VRHMgLi4uIChHbG9pbnNvbiwgMjIuIEp1biAyMDA3LCAxMTo0MTo1MSk6Cmh0dHA6Ly93d3cudXNlcmZyaWVuZGx5Lm9yZy9jYXJ0b29ucy9hcmNoaXZlcy8wN2p1bi91ZjAxMDQyMi5naWYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTVVEcyAuLi4gKENyb2Z0LCAyMi4gSnVuIDIwMDcsIDExOjQ1OjM1KToKfiMhIHJuPUdsb2luc29uIHJ0PTExODI1MDUzMTEgcmc9d3d3Cn4jISB0aWQ9MTE4MjUwNTMxMQpodHRwOi8vYXJzLnVzZXJmcmllbmRseS5vcmcvY2FydG9vbnMvP2lkPTIwMDcwNjE1CmlzdCB1ZWJyaWdlbnMgZGVyIEFuZmFuZyBkaWVzZXMgUHJvZ3JhbW1pZXJ3ZXR0YmV3ZXJicy4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXb29kZW4gYWRkaW5nIG1hY2hpbmUgLi4uIChHbG9pbnNvbiwgMjQuIEp1biAyMDA3LCAxMDoyNDo0NCk6Cmh0dHA6Ly93d3cubWFrZXppbmUuY29tL2Jsb2cvYXJjaGl2ZS8yMDA3LzA2L2JpbmFyeV9tYXJibGVfYWRkaW5nX21hY2guaHRtbAoKKHVuZCBtZWhyIHZlcnJ1ZWNrdGUgU2FjaGVuIHVudGVyIGh0dHA6Ly93b29kZ2VhcnMuY2EvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbndlZ3dhc3NlcmZsYXNjaGVuIHVuZCBDQSAoR2xvaW5zb24sIDI0LiBKdW4gMjAwNywgMTA6MzM6NDgpOgpNYW4gZGFyZiBhdXMgU2FuIEZyYW5jaXNjby1TdGFkdGdlbGRlciBrZWluZSBFaW53ZWd3YXNzZXJmbGFzY2hlbiBtZWhyIGthdWZlbi4KV2FzIGF1Y2ggaW1tZXIgZGFzIGdlbmF1IGJlZGV1dGV0LiBEZXIgQnVlcmdlcm1laXN0ZXIgYXJndW1lbnRpZXJ0LCBkYXNzIGVzCmxlY2tlcmVzIFRyaW5rd2Fzc2VyIGF1cyBkZXIgTGVpdHVuZyBnYWViZSAod29taXQgamVkZXIgQnVlcmdlcm1laXN0ZXIgaGllciBpbgpEIGF1Y2ggUmVjaHQgaGFldHRlIC4uLiBhYmVyIENPMi1TcHJ1ZGxlciBzaW5kIGVpbmZhY2ggemllbWxpY2ggdGV1ZXIuKQoKV2VubiBtYW4gZGllIFF1ZWxsZSBnZW5hdSBhbnNjaGF1dCwgdmVyYmlldGV0IGVyIGRlbiBBbmdlc3RlbGx0ZW4gZGVyIFN0YWR0LApQbGFzdGlrd2Fzc2VyZmxhc2NoZW4genUga2F1ZmVuLCB3b21pdCBlciBnZWRlbmt0IDUwMGskIHp1IHNwYXJlbi4gV2F5IHRvIGdvCi4uLgoKaHR0cDovL3d3dy50cmVlaHVnZ2VyLmNvbS9maWxlcy8yMDA3LzA2L3Nhbl9mcmFuY2lzY29fbS5waHAKaHR0cDovL3d3dy5tc25iYy5tc24uY29tL2lkLzE5Mzc4NTk1L3NpdGUvbmV3c3dlZWsvcGFnZS8yLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFaW53ZWd3YXNzZXJmbGFzY2hlbiB1bmQgQ0EgKFZhbmlvbiwgMjQuIEp1biAyMDA3LCAxMDo1MjoyOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTgyNjc0MDI4IHJnPXd3dwp+IyEgdGlkPTExODI2NzQwMjgKSG1tbSwgaGFiZW4gZGllIGluIFNGIHdpcmtsaWNoIGd1dGVzIFdhc3NlciBvZGVyIG5lbm5lbiBkaWUgSWhyZSBDaGxvcmJlaXplIGRhCiJhcmd1YWJseSBjbGVhbmVyIHRoYW4gYSB2YXN0IG1ham9yaXR5IG9mIHRoZSBib3R0bGVkIHdhdGVyIj8gCgpWKiwgZmluZGV0IE96b25pc2llcnVuZyB0b2xsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBFaW53ZWd3YXNzZXJmbGFzY2hlbiB1bmQgQ0EgKEdsb2luc29uLCAyNC4gSnVuIDIwMDcsIDEwOjUzOjE0KToKfiMhIHJuPVZhbmlvbiBydD0xMTgyNjc1MTQ4IHJnPXd3dwp+IyEgdGlkPTExODI2NzQwMjgKU2ljaGVyLCBkYXNzIGRhcyAoZ2VrYXVmdGUpIEZsYXNjaGVud2Fzc2VyIG5pY2h0IGF1Y2ggbWVpc3RlbnRlaWxzIGdlY2hsb3J0CmlzdD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFaW53ZWd3YXNzZXJmbGFzY2hlbiB1bmQgQ0EgKFZhbmlvbiwgMjQuIEp1biAyMDA3LCAxMDo1NToyOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTgyNjc1MTk0IHJnPXd3dwp+IyEgdGlkPTExODI2NzQwMjgKRGllIEFtaXMgc3RlaGVuIGRvY2ggemllbWxpY2ggYXVmIEV2aWFuLiBEYXMgaXMgbS53LiBuaWNodCBnZWNobG9ydC4gSWNoCnZlcm11dGUgYWJlciwgbWFuIHNjaG1lY2t0IGRhcyBpcmdlbmR3YW5uIGF1Y2ggbmljaCBtZWhyLiBNZWluZSBHYXN0ZmFtaWxpZSBpbgpPc2FrYSBmYW5kIGVzIGtvbWlzY2gsIGRhc3MgaWNoIG1pY2ggdWViZXIgZGFzIENobG9yIGltIExlaXR1bmdzd2Fzc2VyCmJlc2Nod2VyZS4gU2llIGhhYmVuIGV4dHJhIG5vY2htYWwgZHJhbiBnZXJvY2hlbiAuLi4gdW5kIG5peCBmZXN0Z2VzdGVsbHQgOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBFaW53ZWd3YXNzZXJmbGFzY2hlbiB1bmQgQ0EgKERhcmtsb3IsIDI0LiBKdW4gMjAwNywgMTk6MDk6MDIpOgp+IyEgcm49VmFuaW9uIHJ0PTExODI2NzUzMjkgcmc9d3d3Cn4jISB0aWQ9MTE4MjY3NDAyOApEYSB3YXIgc2Nob24gYWxsZXMgd2VnZ2VhZXR6dCwgd2FzIGhhZXR0ZSByaWVjaGVuIG9kZXIgc2NobWVja2VuIGtvZW5uZW4uCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBFaW53ZWd3YXNzZXJmbGFzY2hlbiB1bmQgQ0EgKFJ1bWF0YSwgMjUuIEp1biAyMDA3LCAwOToxOToyNCk6Cn4jISBybj1EYXJrbG9yIHJ0PTExODI3MDQ5NDIgcmc9d3d3Cn4jISB0aWQ9MTE4MjY3NDAyOAo6ZXJpbm5lcnQgc2ljaCBub2NoIGRhcmFuLCBkYXNzIGluIEJlcmtlbGV5ICh2b3JvcnQgdm9uIFNGKSB6ZWl0d2Vpc2UKdm9tIER1c2NoZW4gYWJnZXJhdGVuIHd1cmRlLCB3ZWlsIGRhcyBXYXNzZXIgenUgc3RhcmsgbWl0IEFsZ2VuIGJlbGFzdGV0Cndhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvdW5kLVN1Y2hkaWVuc3QgKEdsb2luc29uLCAyNS4gSnVuIDIwMDcsIDA5OjQ1OjExKToKaHR0cDovL3d3dy5maW5kc291bmRzLmNvbS9JU0FQSS9zZWFyY2guZGxsCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NvcmNoZWQgRWFydGggKEdsb2luc29uLCAyOS4gSnVuIDIwMDcsIDEyOjQ5OjUzKToKLi4uIGdpYnQgZXMgamV0enQgYXVjaCBpbiAzRDoKaHR0cDovL3d3dy5zY29yY2hlZDNkLmNvLnVrLwoKKEZ1ZXIgYWxsZSwgZGllIGluIGRlbiA5MGVybiBkYW1pdCB2aWVsIFNwYXNzIGhhdHRlbi4pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2Vla3MgKFJhc2NoYXVhLCAyOS4gSnVuIDIwMDcsIDIzOjIxOjM1KToKQXByb3BvcyBTY2h3YW56dmVyZ2xlaWNoc3Rvb2wgKCd0d2VyJyk6Cmh0dHA6Ly9hcnMudXNlcmZyaWVuZGx5Lm9yZy9jYXJ0b29ucy8/aWQ9MjAwNzA2MjUmbW9kZT1jbGFzc2ljCgpSYXNjaGF1YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlzaXRlbmthcnRlbiAuLi4gKEdsb2luc29uLCAzMC4gSnVuIDIwMDcsIDEwOjA3OjAwKToKLi4uIG1hbCBnYWFhbnogYW5kZXJzOgoKaHR0cDovL3d3dy50cmVlaHVnZ2VyLmNvbS9maWxlcy8yMDA3LzA2L3RhYmVydV9tZV9wZWFudS5waHAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIZWFkIEZpcnN0IERlc2lnbiAuLi4gb29wcyAoR2xvaW5zb24sICA3LiBKdWwgMjAwNywgMDA6MDM6MzMpOgpodHRwOi8vd3d3LnZhZ2lzaWwuY29tL3RlZW5jZW50ZXIuc2h0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaXIgc2luZCBQYXBzdCEgKE9ya3RvZXRlciwgIDguIEp1bCAyMDA3LCAwMDoyNDo1NSk6CkF1cyB3d3cua3N0YS5kZToKUGFwc3QgQmVuZWRpa3QgbGFlc3N0IGxhdGVpbmlzY2hlIE1lc3NlIHdpZWRlciB6dQoKUm9tIC0gUGFlcHN0bGljaGUgRW50c2NoZWlkdW5nIG1pdCBTeW1ib2x3ZXJ0OiBNZWhyIGFscyA0MCBKYWhyZSBuYWNoIGRlbQpad2VpdGVuIFZhdGlrYW5pc2NoZW4gS29uemlsIGhhdCBCZW5lZGlrdCBYVkkuIGRpZSB0cmFkaXRpb25lbGxlIGxhdGVpbmlzY2hlCk1lc3NlIGF1Zmdld2VydGV0LiBJbiBlaW5lbSBhcG9zdG9saXNjaGVuIFNjaHJlaWJlbiBvcmRuZXRlIGVyIGFuLCBkYXNzIGRpZQpHb3R0ZXNkaWVuc3RlIGt1ZW5mdGlnIG5hY2ggYWx0ZXIgTGl0dXJnaWUgZ2VmZWllcnQgd2VyZGVuIHNvbGxlbiwgd2VubiBkaWVzCmVpbmUgR3J1cHBlIHZvbiBHbGFldWJpZ2VuIGluIGVpbmVyIEdlbWVpbmRlIHd1ZW5zY2h0LiBEYWR1cmNoIHNvbGxlIGRpZSBLbHVmdAp6dSBkZW4gc3RyaWt0IGtvbnNlcnZhdGl2ZW4gQW5oYWVuZ2VybiBkZXMgZnJhbnpvZXNpc2NoZW4gQmlzY2hvZnMgTWFyY2VsCkxlZmVidnJlIGdlc2NobG9zc2VuIHdlcmRlbiwgZGVyIDE5ODggZXhrb21tdW5pemllcnQgd3VyZGUuIChkcGEpCgpXb3chIFVuZCB3YW5uIHdlcmRlbiB3aWVkZXIgSGV4ZW4gdmVyYnJhbm50LCB3ZW5uIGRhcyAiZWluZSBHcnVwcGUgdm9uCkdsYWV1YmlnZW4iIHNvIHd1ZW5zY2h0PwoKT3JrVC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXaXIgc2luZCBQYXBzdCEgKEdyaW1tYm9ybiwgIDguIEp1bCAyMDA3LCAwNjoxMTo1OSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE4Mzg0NzA5NSByZz13d3cKfiMhIHRpZD0xMTgzODQ3MDk1CkludGVyZXNzYW50ZSBBcmd1bWVudGF0aW9uLCB2b24gZGVyIGxhdGVpbmlzY2hlbiBTcHJhY2hlIHp1ciBIZXhlbnZlcmJyZW5udW5nLgpEdSBzY2hlaW5zdCBlcyBmdWVyIGVyc3RyZWJlbnN3ZXJ0IHp1IGhhbHRlbiBNaW5kZXJoZWl0ZW53dWVuc2NoZSBkZXIgQmFzaXMgenUKaWdub3JpZXJlbiB1bmQgdWViZXJ6dWJ1ZWdlbG4uIFdlciBkYSBkZW1va3JhdGlzY2hlciBpc3QsIER1IG9kZXIgZGllCmthdGhvbGlzY2hlIEtpcmNoZSwgYmxlaWJ0IGRlbSBMZXNlciBhbHMgVWVidW5nIHVlYmVybGFzc2VuLiAKVWVicmlnZW5zIGhhdCBCZW5lZGlrdCBhdWNoIGVyd2FlaG50IGRpZSBsYXRlaW5pc2NoZSBNZXNzZSBzZXR6ZSBlaW5lICJnZXdpc3NlCmxpdHVyZ2lzY2hlIEJpbGR1bmcgdW5kIE5hZWhlIHp1ciBsYXRlaW5pc2NoZW4gU3ByYWNoZSIgdm9yYXVzLCBpc3QgYWxzbyBlaGVyCndhcyBmdWVyIHRoZW9sb2dpc2NoZSBJbnRlbGxla3R1ZWxsZS4gV2lsbHN0IER1IG51biBhdWNoIGF1cyBBbmdzdCB2b3IKSGV4ZW52ZXJicmVubnVuZ2VuIGdlZ2VuIE1lbnNhIG9kZXIgYW5kZXJlIGludGVsbGVrdHVlbGxlIFppcmtlbCwgZGllIERpcgp2ZXJzY2hsb3NzZW4gc2luZCwgcHJvdGVzdGllcmVuPyAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJhdWNodCBub2NoIHdlciBuZW4gUGVpbHNlbmRlcj8gKFJvbmRhLCAgOC4gSnVsIDIwMDcsIDE0OjE0OjA4KToKU2t1cmlsZSBWZXJzdGVpZ2VydW5nOiBHOCBHZWduZXIgaGFiZW4gbmVuIFBlaWxzZW5kZXIgYW0gQXV0byBnZWZ1bmRlbiwgZGVuCnNpZSBoZXV0ZSB2ZXJzdGVpZ2Vybi4gVW5kIGVzIGlzdCBuaWNodCBnYW56IGtsYXIsIHdpZSBkYXMgQktBIGRhbWl0IHVtZ2VodCwKZGVuZW4gZGFzIERpbmcgd29obCB2aWVsbGVpY2h0IGdlaG9lcnQuLi4KCkJlcmljaHQgdm9tIFpERjogaHR0cDovL3Rpbnl1cmwuY29tL3lxbXh0cwoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjgyIE1lZ2FvaG0gKEFteW50aG9yLCAxMS4gSnVsIDIwMDcsIDAxOjU0OjAzKToKaHR0cDovLzgybWVnYW9obS5kZS93aWtpL0hhdXB0c2VpdGUKCiJWaWVsZSBwb2xpdGlzY2ggaW50ZXJlc3NpZXJ0ZSBNZW5zY2hlbiBiZW9iYWNodGVuIHNlaXQgZ2VyYXVtZXIgWmVpdCwgd2llCnNpY2ggaW1tZXIgbWVociBTdGFhdGVuIHZvbiB3ZXNlbnRsaWNoZW4gR3J1bmRzYWV0emVuIGRlciBEZW1va3JhdGllCmVudGZlcm5lbi4iICg4MiBNZWdhb2htKQoKKEphLCBkYXMgaXN0IEFic2ljaHQsIGRhc3MgaWNoIGRpcmVrdCBpbnMgV2lraSB2ZXJsaW5rZS4pCgoKTG9zZ2V0cmV0ZW4gd3VyZGUgZGllIGdhbnplIFNhY2hlIHdvaGwgZHVyY2ggZWluZW4gVGhyZWFkIGltIEhlaXNlLUZvcnVtLApkZXIgZXJzdGUgRWludHJhZyAoNy4gSnVsaSAyMDA3IDEzOjM5LCAiV2lkZXJzdGFuZCJzLUJld2VndW5nLCBULlRydWNrbGUpOgoKTGFuZ3NhbSBpc3QgQWxhcm1zdHVmZSBSb3QgYW5nZXNhZ3QuIE5laW4sIGljaCBoYWJlIGF1ZiBtZWluZW0gUEMgbmljaHRzIHp1CnZlcmJlcmdlbiwgYWJlciBpY2ggd2lsbCBpaG4ga29udHJvbGxpZXJlbiB1bmQgZGEgaGF0IG5pZW1hbmQgZXR3YXMgYW5kZXJlcwpvaG5lIG1laW4gV2lzc2VuIGRhcmF1ZiB2ZXJsb3Jlbi4gTmllbWFuZCwgYXVjaCBrZWluIFNjaGFldWJsZSwga2FubiBtaXIKZ2FyYW50aWVyZW4gZGFzIGF1ZiBtZWluZSBGZXN0cGxhdHRlIGV0d2FzIGFiZ2VsZWd0IHdpcmQsIHdvdm9uIGljaCBuaWNodHMKd2Vpc3MgdW5kIGFuc2NobGllc3NlbmQgYWxzICJCZXdlaXNtaXR0ZWwiIGJlbnV0enQgd2VyZGVuIGthbm4uIE1pciBzb2xsIG1hbApqZW1hbmQgdm9uIGRlbiBQb2xpdGlrZXJuIGVya2xhZXJlbiwgd2llIG1hbiBkYSBzZWluZSBVbnNjaHVsZCBiZXdlaXNlbiBrYW5uLgoKWnVyICJXaWRlcnN0YW5kInMtQmV3ZWd1bmc6IFdlciBnZWdlbiBkaWUgZ2VwbGFudGUgT25saW5lLUR1cmNoc3VjaHVuZyBpc3QsCmhlZnRldCBzaWNoIGVpbmVuIFdpZGVyc3RhbmQgKGtsZWluZXMgcGFzc2l2ZXMgQmF1dGVpbCkgYW4gZGVuIEhlbWRrcmFnZW4sClQtU2hpcnQgdXN3LiBqZWRlbmZhbGxzIGd1dCBzaWNodGJhci4gTWFuIG11c3Mga2VpbmUgUGFyb2xlbiBydWZlbiBvZGVyCkZsdWdibGFldHRlciB2ZXJ0ZWlsZW4uIFdlbm4gSWhyIHZvbiBGcmV1bmRlbiwgQmVrYW5udGVuLCBLb2xsZWdlbiBvZGVyCmFuZGVyZW4gYXVmIGRlbiBXaWRlcnN0YW5kIGFuZ2VzcHJvY2hlbiB3ZXJkZXQsIGVya2xhZXJ0IGlobmVuIHVtIHdhcyBlcwpnZWh0LiBHZWJ0IGlobmVuIGVpbmVuIFdpZGVyc3RhbmQsIHdlbm4gc2llIGV1cmVyIE1laW51bmcgc2luZCB1bmQgYml0dGV0IHNpZQptaXR6dW1hY2hlbiBiZWkgZGVtIFByb3Rlc3QuCgpXYXJ1bSBlaW5lbiBXaWRlcnN0YW5kPwpBbHMgTGVocmxpbmdlIGhhdHRlbiB3aXIgZGFtYWxzIGRpZSBJZGVlLCB1bnMgbWl0IFdpZGVyc3RhZW5kZW4gYW4gZGVyCktpdHRlbHRhc2NoZSBhbHMgRWxla3Ryb25pa2ZhY2hhcmJlaXRlcmxlaHJsaW5nZSB6dSBlcmtlbm5lbiB6dSBnZWJlbiwgSW4gZGVyCkJlcnVmc3NjaHVsZSB3dXJkZW4gdmVyc2NoaWVkZW5lIEJlcnVmZSBhdXNnZWJpbGRldC4gRWluIElNIGRlciBTdGFzaQp2ZXJtdXRldGUgZWluZSBXaWRlcnN0YW5kc2Jld2VndW5nLCB3YXMgYWJlciBkYW1hbHMgdWViZXJoYXVwdCBuaWNodCBkZXIgRmFsbAp3YXIuIEplZGVuZmFsbHMgd3VyZGUgZXMgdW5zIHZlcmJvdGVuIGRpZSBXaWRlcnN0YWVuZGUgYW4gZGllIEtpdHRlbCB6dQpiZWZlc3RpZ2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IDgyIE1lZ2FvaG0gKEdyaW1tYm9ybiwgMTEuIEp1bCAyMDA3LCAwOToyNDoxMik6Cn4jISBybj1BbXludGhvciBydD0xMTg0MTExNjQzIHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKQXVmIGRlciBhbmRlcmVuIFNlaXRlIGthbm4gbWFuIG5hdHVlcmxpY2ggYXVjaCBlaW5mYWNoICpCU0Qgb2RlciBMaW51eCBhdWYKc2VpbmVtIFJlY2huZXIgaW5zdGFsbGllcmVuIHVuZCBkaWVzZW4gdmVyYW50d29ydHVuZ3N2b2xsIHdhcnRlbiwgdW5kClNjaGFldWJsZSBlaW5lIGxhbmdlIE5hc2UgZHJlaGVuLiBJc3Qgd2VuaWdlciBzcGVrdGFrdWxhZXIsIGRhZnVlciBsYWVzc3Qgc2ljaApzbyBlaW5lIERpc3RyaWJ1dGlvbiBpbSBHZWdlbnNhdHogenUgInBhc3NpdmVuIEJhdXRlaWxlbiIgYXVzIGRlbSBOZXR6CnJ1bnRlcmxhZGVuLi4uCkltIEVybnN0OiBXYXMgZGVyIEhlcnIgSW5uZW5taW5pc3RlciB2ZXJ6YXBmdCBpc3QgZ3Jvc3NlciBVbnNpbm4sIHVuZCBkYXMKbmljaHQgbnVyIGJlaSBzZWluZW4gcHJhZXZlbnRpdmVuIEVyc2NoaWVzc3VuZ2VuLiBBYmVyIHJlaW4gdGVjaG5pc2NoIGlzdCBkYXMKZWluZSBUb3RnZWJ1cnQuIAoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IDgyIE1lZ2FvaG0gKFZhbmlvbiwgMTEuIEp1bCAyMDA3LCAxMTowMDowMyk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE4NDEzODY1MiByZz13d3cKfiMhIHRpZD0xMTg0MTExNjQzCk1hbiBtdXNzIHNpY2ggamEgbmljaHQgdW5iZWRpbmd0IGFuIGRpZXNlbSBhbGJlcm5lbiBCdW5kZXN0cm9qYW5lciwgYXVmIGRlbgpzaWNoIGRpZSBtZWlzdGVuIEFudGl2aXJlbmtpdC1IZXJzdGVsbGVyIGpldHp0IHNjaG9uIGFscyBNYXJrZXRpbmctR2FnIGZyZXVlbiwKaGVmdGVuLiBQcmluemlwaWVsbCBkZW5rZSBpY2ggYWJlciBhdWNoLCBkYXNzIGRpZSBkZW1va3JhdGlzY2hlbiBTdHJ1a3R1cmVuCnNlaXQgMjAwMSBhbiBlaW5pZ2VuIFN0ZWxsZW4gZ2VsaXR0ZW4gaGFiZW4uIAoKV2llIHZlcmFudHdvcnR1bmdzdm9sbCB1bnNlciBTdGFhdCBtaXQgdW5zZXJlbiBEYXRlbiB1bWdlaHQsIGthbm4gbWFuIGJlaQpCZWRhcmYgZ2VybiBhbSBlaWdlbmVuIExlaWJlIGVyZmFocmVuLCB3ZW5uIG1hbiBzaWNoIHp1bSBLdXJ6dHJpcCBpbiBkaWUgVVNBCmVudHNjaGxpZXNzdC4KClZvcnJhdHNkYXRlbmhhbHR1bmcgaXN0IGF1Y2ggc28gZWluIFB1bmt0LiBXZW5uIG1hbiBqZXR6dCBmcmFndCwgd2FzIGRhcyBtaXQKRGVtb2t0YXRpZSB6dSB0dW4gaGF0LCBkZW0gYmF1IGljaCBnZXJuIGZvbGdlbmRlIGdvbGRlbmUgQnJ1ZWNrZToKVW0gYW0gRGVtb2tyYXRpc2NoZW4gRW50c2NoZWlkdW5nc3Byb3plc3MgZWZmZWt0aXYgdGVpbG5laG1lbiB6dSBrb2VubmVuLCBtdXNzCm1hbiBzaWNoIGVpbmUgTWVpbnVuZyBiaWxkZW4uIFVtIHNpY2ggZWluZSBoYWxid2VncyBvYmpla3RpdmUgTWVpbnVuZyBiaWxkZW4KenUga29lbm5lbiwgbXVzcyBtYW4gSW5mb3JtYXRpb25lbiBrb25zdW1pZXJlbi4gV2lyZCB1ZWJlcndhY2h0LCBvZGVyIGJlc3RlaHQKZGllIE1vZWdsaWNoa3RlaXQgZGVyIFVlYmVyd2FjaHVuZywgd2VyIHdlbGNoZSBJbmZvcm1hdGlvbmVuIGtvbnN1bWllcnQsCnNjaHJhZW5rdCBkaWVzIGRpZSBJbmZvcm1hdGlvbnNiZXNjaGFmZnVuZyBlaW4uIE5pZW1hbmQgd2Vpc3MgamEgb2IgZGFzCktvbnN1bWllcmVuIGVpbmVyIEluZm9ybWF0aW9uIG5pY2h0IGVpbmVuIFVlYmVyd2FjaHVuZ3NtZWNoYW5pc211cyB0cmlnZ2VydC4KCkluIGVpbmVyIFZvcmxlc3VuZyB6dSBBc3Nlc3NtZW50LUNlbnRlcm4gc2luZCBtaXIgdm9yIGVpbmlnZW4gSmFocmVuIG1hbCBkaWUKQXVnZW4gZ2VvZWZmbmV0IHdvcmRlbiwgYXVzIHdlbGNoZW4gSW5mb3JtYXRpb25lbiBzZWhyIGdlbmF1ZSBQcm9maWxlIGVyc3RlbGx0CndlcmRlbiBrb2VubmVuLiBJbiBkZW4gRnJhZ2Vib2VnZW4gZ2FiIGVzIHNvIGRhZW1saWNoZSBGcmFnZW4gd2llOiBCYWRlbiBTaWUKbGllYmVyLCBvZGVyIGR1c2NoZW4gU2llPyBEYWhpbnRlciBzdGVja3RlbiBicmVpdGJhbmRpZyBlcnN0ZWxsdGUgU3RhdGlzdGlrZW4sCm9iIHouQi4gRnVlaHJ1bmdzcGVyc29uZW4vTWFzc2VubW9lcmRlci9UZXJyb3Jpc3RlbiBvZGVyIHdhcyBhdWNoIGltbWVyIGVoZXIKYmFkZW4gb2RlciBkdXNjaGVuLiBWb24gZGVyIEZyYWdlIGF1cyBkYXJhdWYgenUgc2NobGllc3NlbiwgYXVmIHdlbGNoZQpFaWdlbnNjaGFmdCBnZXRlc3RldCB3aXJkLCBpc3QgbmFoZXp1IHVubW9lZ2xpY2guCgpJY2ggYmluIG5pY2h0IHNpY2hlciwgb2IgZGllIHZvbiBBbXludGhvciB2b3JnZXNjaGxhZ2VuZSBGb3JtIGRlcyBQcm90ZXN0ZXMKd2FzIGJyaW5ndCwgYWJlciB3ZW5uIGljaCBtaWNoIGFuIGVpbmlnZSBEaXNrdXNzaW9uZW4gbWl0IFRpYW1hayBlcmlubmVyZQooRGFtYWxzIGdpbmcgZXMgZ2xhdWIgaWNoIGdyYWQgdW0gZGllIEdlbi1EYXRlbmJhbmspIHVuZCBtaXIgYW5zZWhlLCB3YXMgaGV1dGUKc28gdm9uIFNlaXRlbiBkZXIgUG9saXRpayBpbiBkaWUgRGlza3Vzc2lvbnNydW5kZSBnZXdvcmZlbiB3aXJkIC4uLiBkYSBtdXNzCndhcyBwYXNzaWVyZW4uCgpEYXMgZGVyIHNjaGVpbmJhciB2b2VsbGlnIHVua29udHJvbGxpZXJ0ZSBTY2hhZXVibGUgbmljaHQgYXVzIGRlbSBBbXQgZW50ZmVybnQKd2lyZCwgaXN0IG1pciBsYW5nc2FtIG5pY2ggbWVociBrbGFyLiBTZWxic3QgZGVyIEJlY2tzdGVpbiBoYWVsdCBkZW4KbWl0dGxlcndlaWxlIGphIGZ1ZXIgZWluZW4gSGFyZGxpbmVyIC4uLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IDgyIE1lZ2FvaG0gKEdyaW1tYm9ybiwgMTEuIEp1bCAyMDA3LCAxMToxODo0OCk6Cn4jISBybj1WYW5pb24gcnQ9MTE4NDE0NDQwMyByZz13d3cKfiMhIHRpZD0xMTg0MTExNjQzCkljaCB3b2xsdGUgbWl0bmljaHRlbiBhbmRldXRlbiBkYXNzIGRpZSBFbnR3aWNrbHVuZyBkZXIgZGVtb2tyYXRpc2NoZW4gV2VydGUKdW5kIFByb3plc3NlIGhpZXJ6dWxhbmRlIGF1ZiBlaW5lbSBndXRlbiwgYmVydWhpZ2VuZGVuIFdlZyBpc3QuIFdhcyBkYSBhbGxlcwphdWYgZGVtIEFsdGFyIGRlciBTaWNoZXJoZWl0IGdlb3BmZXJ0IHdpcmQgZ2VodCBhdWYga2VpbmUgS3VoaGF1dC4gVW5kIGRhcwpmYWVuZ3QgbmljaHQgYmVpbSBTY2hhZXVibGUgYW4sIHNvbmRlcm4gYmVpbSAia2xlaW5lbiBNYW5uIGF1ZiBkZXIgU3RyYXNzZSIuIApOaWNodHNkZXN0b3Ryb3R6IGlzdCBkZXIgQnVuZGVzdHJvamFuZXIgdW50ZXIgdGVjaG5pc2NoZW4gR2VzaWNodHNwdW5rdGVuIGVpbmUKTGFjaG51bW1lci4gRGllIEludGVudGlvbiBkYWhpbnRlciAtIG51bmphOiBTY2hhZXVibGUsIHByYWV2ZW50aXZlCkVyc2NoaWVzc3VuZ2VuLi4uIHZpZWxsZWljaHQgc3RlaGUgaWNoIGRlbSBLb21wbGV4IGRvY2ggbmljaHQgZ2FueiBzbwphYmxlaG5lbmQgZ2VnZW51ZWJlci4uLgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiA4MiBNZWdhb2htIChab29rLCAxMS4gSnVsIDIwMDcsIDExOjIyOjAxKToKfiMhIHJuPVZhbmlvbiBydD0xMTg0MTQ0NDAzIHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKV29iZWkgZGllIHdpc3NlbnNjaGFmdGxpY2hlIFNpbm5oYWZ0aWdrZWl0IHNvbGNoZXIgIlJ1ZWNrc2NobHVlc3NlIgppbiBGcmFnZWJvZWdlbiBkb2NoIHp1bWluZGVzdCBtZWluZXMgV2lzc2VucyB6aWVtbGljaCBhbGJlcm4gc2luZC4KWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogODIgTWVnYW9obSAoTWFoYXJldCwgMTEuIEp1bCAyMDA3LCAxMToyMjoyMyk6Cn4jISBybj1ab29rIHJ0PTExODQxNDU3MjEgcmc9d3d3Cn4jISB0aWQ9MTE4NDExMTY0MwpTaW5uaGFmdGlna2VpdCBzcGllbHQgZGFiZWkgYWJlciBhdWNoIGtlaW5lIFJvbGxlIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiA4MiBNZWdhb2htIChab29rLCAxMS4gSnVsIDIwMDcsIDExOjIyOjM3KToKfiMhIHJuPVZhbmlvbiBydD0xMTg0MTQ0NDAzIHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKV2lyZCBlaWdlbnRsaWNoIG1hbCBqZW1hbmQgZWluZW4gSW5uZW5taW5pc3Rlci1Ucm9qYW5lcgpiYXVlbiwgZGVyIElubmVubWluaXN0ZXJuIGlyZ2VuZHdlbGNoZSBsdXN0aWdlbiBTYWNoZW4KYXVmIGRlciBGZXN0cGxhdHRlIGFibGVndCB1bmQgZGFubiBlaW5lIGFub255bWUgU3RyYWZhbnplaWdlCnN0ZWxsdD8KCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IDgyIE1lZ2FvaG0gKFpvb2ssIDExLiBKdWwgMjAwNywgMTE6MjM6NDMpOgp+IyEgcm49TWFoYXJldCBydD0xMTg0MTQ1NzQzIHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKQmVpIGRlbiBQZXJzb25hbGVybiwgZGllIERpciBhdWZncnVuZCBoYWhuZWJ1ZWNoZW5lciB1bmQgelQKdm9lbGxpZyB1ZWJlcmhvbHRlciAiRWlnZW5zY2hhZnRzImFuc2FldHplbiwgc29sY2hlIFRlc3RzCnZlcmthdWZlbiwgd2lyZCAiU2lubmhhZnRpZ2tlaXQiIHp1bWluZGVzdCBhbHMgVmVya2F1ZnMtCmFyZ3VtZW50IGJlbnV0enQuIAoKWgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IDgyIE1lZ2FvaG0gKE1haGFyZXQsIDExLiBKdWwgMjAwNywgMTE6MjQ6MTkpOgp+IyEgcm49Wm9vayBydD0xMTg0MTQ1NzU3IHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKRGFzIGhhc3QgZHUgYWJlciBzY2hvZW4gZm9ybXVsaWVydCwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIGRhcyBrZWluZQpBbnN0aWZ0dW5nIHp1ciBWb3J0YWV1c2NodW5nIGVpbmVyIFN0cmFmdGF0IGRhcnN0ZWxsdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogODIgTWVnYW9obSAoTWFoYXJldCwgMTEuIEp1bCAyMDA3LCAxMToyNDo1Nyk6Cn4jISBybj1ab29rIHJ0PTExODQxNDU4MjMgcmc9d3d3Cn4jISB0aWQ9MTE4NDExMTY0MwpXZW5uIG1hbiBkaXIgZWluZW4gU3RyaWNrIGRhcmF1cyBkcmVoZW4gd2lsbCwga2FubiBtYW4gZGFzLCBlZ2FsIHdpZSBzaW5uaGFmdApkYXMgYWxsZXMgaXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogODIgTWVnYW9obSAoR3JpbW1ib3JuLCAxMS4gSnVsIDIwMDcsIDExOjI4OjE4KToKfiMhIHJuPVpvb2sgcnQ9MTE4NDE0NTc1NyByZz13d3cKfiMhIHRpZD0xMTg0MTExNjQzCkRhcyBzY2hvY2tpZXJ0IG1pY2ggYWJlciBzY2hvbiwgZGFzcyBhdXNnZXJlY2huZXQgWm9vayBuaWNodHMgdm9uIGRlcgpzdHJhZnJlY2h0bGljaGVuIEltbXVuaXRhZXQgZGVzIEJ1bmRlc3RhZ3NhYmdlb3JkbmV0ZW4gU2NoYWV1YmxlIHp1IHdpc3NlbgpzY2hlaW50LiAKCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogODIgTWVnYW9obSAoUnVtYXRhLCAxMS4gSnVsIDIwMDcsIDExOjM2OjA2KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTg0MTQ2MDk4IHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKTWl0IHByYWV2ZW50aXZlbSBFcnNjaGllc3NlbiBpc3QgZG9jaCBkYXMgRXJzY2hpZXNzZW4gdm9yIGRlcgpBdWZoZWJ1bmcgZGVyIEltbXVuaXRhZXQgZ2VtZWludCwgb2Rlcj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IDgyIE1lZ2FvaG0gKEdsb2luc29uLCAxMS4gSnVsIDIwMDcsIDExOjQxOjU5KToKfiMhIHJuPVJ1bWF0YSBydD0xMTg0MTQ2NTY2IHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKTWl0IGplZGVtIEFuc2NobGFnIHdpcmQgZGVyIElubmVubWluaXN0ZXIgYWJlciBzY2hsaW1tZXIgd2VyZGVuIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IDgyIE1lZ2FvaG0gKFJ1bWF0YSwgMTEuIEp1bCAyMDA3LCAxMTo0NDoyMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTg0MTQ2OTE5IHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKRXMgZ2VodCBuaWNodCB1bSBlaW5lbiBBbnNjaGxhZyAtIGVzIHdhZXJlIGphIGRlciAiU3RhYXRzc2NodXR6IiwKZGVyIGFrdGl2IHdpcmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiA4MiBNZWdhb2htIChHbm9tZSwgMTEuIEp1bCAyMDA3LCAxMTo0NTo1OSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE4NDE0NjA5OCByZz13d3cKfiMhIHRpZD0xMTg0MTExNjQzCmRhcyBzY2hvbiwgYWJlciB3ZW5uIHdpciBkaWUgYW5rbGFnZSB1ZWJlcnNwcmluZ2VuIHVuZCBnbGVpY2ggZGFzIHVydGVpbAp2b2xsc3RyZWNrZW4uLi4gYWxzbyBxdWFzaSBnYW56IGltIHNlaW5lbSBzaW5uZS4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiA4MiBNZWdhb2htIChab29rLCAxMS4gSnVsIDIwMDcsIDExOjQ2OjI4KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTg0MTQ2MDk4IHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKSW1tdW5pdGFldCBpc3Qgc2NobmVsbCBhdWZnZWhvYmVuLCB3aWUgbWFuIGFtIEJlaXNwaWVsCk1vZWxsZW1hbm4gZ2VzZWhlbiBoYXQuIChVZWJyaWdlbnMgaXN0IGRpZSB6dWdlaG9lcmlnZQpCdW5kZXN0YWdzZHJ1Y2tzYWNoZSBuaWNodCB2ZXJvZWZmZW50bGljaHQgd29yZGVuKS4gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogODIgTWVnYW9obSAoR2xvaW5zb24sIDExLiBKdWwgMjAwNywgMTE6NDk6MTUpOgp+IyEgcm49UnVtYXRhIHJ0PTExODQxNDcwNjMgcmc9d3d3Cn4jISB0aWQ9MTE4NDExMTY0MwpEYXMgaXN0IGRlbSBTY2hhZXVibGUgZGFuYWNoIGFiZXIgYXVjaCBlZ2FsLiBEYW5uIHdpcmQgZWJlbiBlaW5lIE9yZ2FuaXNhdGlvbgphdWZnZWJhdXQgZGllIGRlbiBTdGFhdHNzY2h1dHogdWViZXJ3YWNodC4gTmVubmVuIHdpciBzaWUgbWFsClN0YWF0c3NjaHV0enNjaHV0ei4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgd2lyIGF1cyBkZXIgR2VzY2hpY2h0ZSBsZXJuZW46IChHbG9pbnNvbiwgMTEuIEp1bCAyMDA3LCAxNzoyNToxNik6ClRyb2phbmlzY2hlIFBmZXJkZS4gS2VubmVuIHdpciBkb2NoIGFsbGUsIG9kZXI/CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WHMzU2ZOQU50aWcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9rcmFzdGluYXRpb24gKEdsb2luc29uLCAxNC4gSnVsIDIwMDcsIDEwOjM1OjIzKToKLi4uIGVpbmUgd2VpdGVyZSBzaW5udm9sbGUgTGVrdGlvbjoKCmh0dHA6Ly93d3cucGhkY29taWNzLmNvbS9jb21pY3MvYXJjaGl2ZS9waGQwNzEzMDdzLmdpZgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiA4MiBNZWdhb2htIChCYW1iaSwgMTUuIEp1bCAyMDA3LCAwMDozMjowNSk6Cn4jISBybj1BbXludGhvciBydD0xMTg0MTExNjQzIHJnPXd3dwp+IyEgdGlkPTExODQxMTE2NDMKSW4gZWluZW0gRm9ydW0sIGluIGRlbSBpY2ggbW9kZXJpZXJlLCBoYXQgYXVjaCBqZW1hbmQgZG9ydGhpbiB2ZXJsaW5rdC4KRGEgMS4gZGVyIEF1dG9yIGRlcyBGb3J1bWVpbnRyYWdzIGF1c3NlciByZWlzc2VyaXNjaGVtIEJsYWJsYSBuaWNodHMgZHJhdWYKaGF0dGUKMi4gaW4gZWluZW0gU29mdHdhcmVlbnR3aWNrbGVyZm9ydW0gbnVyIHdlbmlnIEJlZGFyZiBhbiB1bnNhY2hsaWNoZW4KUG9saXRpay0iRGlza3Vzc2lvbmVuIiBiZXN0ZWhlbgozLiBpY2ggZGllIHZlcmxpbmt0ZSBTZWl0ZSBiZXN0ZW5mYWxscyBsYWNoaGFmdCB2b3JiZXJlaXRldCBmaW5kZQpoYWIgaWNoIGRlbiBFaW50cmFnIHdpZWRlciBnZWxvZXNjaHQuCgpVbmQgYmV2b3IgbWlyIHdhcyBmYWxzY2hlcyB1bnRlcnN0ZWxsdCB3aXJkOiBuZWluLCBpY2gga2FubiBTY2hhZXVibGUgYXVjaApuaWNodCBsZWlkZW4uCkJhbWJpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXMgUGFydHlzcGllbCAoQW50aGVhLCAxOS4gSnVsIDIwMDcsIDE2OjE4OjI1KToKRGFzIGthbm4gamEgYXVmIGRlciBQYXJ0eSBnbGVpY2ggYXVzcHJvYmllcnQgd2VyZGVuOgpodHRwOi8vdGlueXVybC5jb20vMnFsdjgyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2htYXJybiA7KSAoTGlhcmEsIDIwLiBKdWwgMjAwNywgMDA6NTE6NTQpOgpIYWNoamEsIGltbWVyIHdpZWRlciBzY2hvZW46CgpVbnRlciBkZXIgVWViZXJzY2hyaWZ0ICdGdWVyIElocmVuIENvbXB1dGVyIGlzdCAxIFVwZGF0ZSBWZXJmdWVnYmFyJwpoYWJlIGljaCB6QiBhbHMgV2VyYnVuZyBhdWYgZGVyIFVIUy1TZWl0ZSBnZWZ1bmRlbjoKCklociBhbiB1bmtub3duIG9wZXJhdGluZyBzeXN0ZW0gYmVvZXRpZ2VuIGV2dGwuIEVpbmUgdmVyYmVzc2VydW5nIGtsaWNrZW4gc2llCmF1ZiBTdGFydCBmdWVyIGRpZSBlbXBmb2hsZW5lIGxlaXN0dW5nc3N0ZWlnZXJ1bmcuCgoKWlpMCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZWluZSBBbmdzdCB2b3JtIEF0b20hIDstKSAoWmVzc3RyYSwgMjEuIEp1bCAyMDA3LCAxNTo0OToxMyk6Ck5ldHRlIEFuaW1hdGlvbjoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVNPcVF1Y3JJeWw4CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmFua2Z1cnRlciBTcGV6aXMgKEFyaywgMjUuIEp1bCAyMDA3LCAxNjo0NjowOCk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1RYjVSZzVHNmhqUQpNYW4gYmVhY2h0ZSBhdWNoIGRpZSBhbmRlcmVuIFZpZGVvcyAuLi4gd2llIGFsbGVzIGFuZmluZyAuLi4gb2RlciBzby4KSWNoIGJsZWliZSBiZWkgbWVpbmVyIEMgV3Vyc3QgKmtldWNoKgpaaXRhdCBlaW5lcyBWZXJrYWV1ZmVyczogYWIgRCBrYW5uIGljaCBpaG5lbiBhdWNoIFNjaHVoc29obGVuIHZlcmthdWZlbiwgZGFzCm1lcmtlbiBzaWUgbmljaHQgbWVoci4KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDaG9yZSBXYXJzIChNYWhhcmV0LCAzMC4gSnVsIDIwMDcsIDE3OjQzOjQzKToKRWluZXIgYXVzIHVuc2VyZXIgUm9sbGVuc3BpZWxncnVwcGUgKHd3dy5kYXMtcm9sbGVuc3BpZWwuZGUpIGhhdCBlYmVuCmZvbGdlbmRlbiBMaW5rIHJ1bWdlc2NoaWNrdDoKCmh0dHA6Ly93d3cuY2hvcmV3YXJzLmNvbS9pbmRleC5waHAKCk9iIHdpciB1bnMgZGFtaXQgbW90aXZpZXJ0IGtyaWVnZW4sIGRpZSBIYXVzaGFsdHNhcmJlaXQgenUgbWFjaGVuPyBIbW1tIC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsaWNrIGRpY2ggbmljaHQgd2VnIChBbnRoZWEsICAzLiBBdWcgMjAwNywgMTQ6NDY6MTMpOgpodHRwOi8vc3RyY2F0LmRlL2Jsb2cvdXBsb2Fkcy9rbGlja2RpY2huaWNodHdlZy5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhdXB0ZnJhdSB2b24gSXNyYWVsIChHbG9pbnNvbiwgIDguIEF1ZyAyMDA3LCAxNToxMTo0NSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wb2xpdGlrL2F1c2xhbmQvMCwxNTE4LDQ5ODg2NCwwMC5odG1sCgpUc2NoYS4gNSBKYWhyZSBkYXMgTWlsaXRhZXIgbWl0IG5hY2hnZW1hY2h0ZW4gVW5pZm9ybWVuIGdlbmFycnQuIERhIGhhdCBkZXIKYWx0ZSBXLiBWb2d0IG5pY2h0IG1pdGhhbHRlbiBrb2VubmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYXVwdGZyYXUgdm9uIElzcmFlbCAoRGFya2xvciwgMTEuIEF1ZyAyMDA3LCAxNDo0Mzo1NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTg2NTc4NzA1IHJnPXd3dwp+IyEgdGlkPTExODY1Nzg3MDUKQmVlaW5kcnVja2VuZC4KCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldURj8hIChHbG9pbnNvbiwgMjIuIEF1ZyAyMDA3LCAxMToyMToxMik6CkRhcyBpc3QgbWFsIGVpbiBiZXNzZXJlciBEYWlseSBXVEY6CgpodHRwOi8vd29yc2V0aGFuZmFpbHVyZS5jb20vQXJ0aWNsZXMvVGhlLUpvc2gtV29ya2Fyb3VuZC5hc3B4CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVocmZhY2ggbnV0emJhcmVyIFN0dWhsIC4uLiAoR2xvaW5zb24sIDIyLiBBdWcgMjAwNywgMTE6Mzc6MTEpOgpIbS4gT2IgZGFzIFRlaWwgbGFuZ2UgaGFlbHQ/IFNjaGFybmllcmUgYXVzIFRpdGFuPwoKaHR0cDovL3d3dy50cmVlaHVnZ2VyLmNvbS9maWxlcy8yMDA3LzA4L3RyZXlfY2hhaXJfYV9kZS5waHAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXJhbGVzIE1hcmtldGluZyBpbiBTdHV0dGdhcnQgKEFudGhlYSwgMjMuIEF1ZyAyMDA3LCAxMzoyNDoyOCk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj11RjJkakpjUE8yQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFydCBTaW1wc29uIENoYWxrYm9hcmQgR2VuZXJhdG9yIChWaW5jZW50LCAyNi4gQXVnIDIwMDcsIDEyOjQxOjE5KToKCgpodHRwOi8vd3d3LmFkZGxldHRlcnMuY29tL2JhcnQtc2ltcHNvbi1nZW5lcmF0b3IuaHRtCgpPYiBkYXMgcmVjaHRsaWNoIG1pdCBNYXR0IEdyb2VuaW5nIGdla2xhZXJ0IGlzdCAuLi4gZGllIE11ZWhlLCBkYXMgenUKa29udHJvbGxpZXJlbiwgaGFiZSBpY2ggbWlyIG5pY2h0IGdlbWFjaHQuIDspCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGVyYmVnbGVpdGVyIGF1ZiBTYW10cGZvdGVuIC4uLiAoR2xvaW5zb24sIDI5LiBBdWcgMjAwNywgMTE6Mjk6MjgpOgpodHRwOi8vd3d3LmJlcmxpbm9ubGluZS5kZS9iZXJsaW5lci16ZWl0dW5nL3ByaW50L3dpc3NlbnNjaGFmdC82ODE3NzkuaHRtbAoKKGljaCB3aWxsIGtlaW5lIEZlbGluZSBtZWhyIGltIFRlYW0sIGRhbWl0IGRhcyBrbGFyIGlzdCEgOykgKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhc3QgS29tbWFuZG96ZWlsZSAuLi4gKEdsb2luc29uLCAyOS4gQXVnIDIwMDcsIDExOjM0OjU2KToKaHR0cDovL3d3dy5sYXVuY2h5Lm5ldC8KCk1pdCBBbHQtU3BhY2UgdW5kIFRpcHBlbG4gZGVzIFByb2dyYW1tbmFtZW5zIGlzdCBtYW4gbWVpc3Qgc2NobmVsbGVyIGFscyBtaXQKZGVtIG11ZWhzYW1lbiBEdXJjaGtsaWNrZXJuIGRlcyAobm9jaCBzbyBnZW9yZG5ldGVuKSBQcm9ncmFtbWZvbGRlcnMuIFdpbmRvd3MuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZhc3QgS29tbWFuZG96ZWlsZSAuLi4gKFpvb2ssIDI5LiBBdWcgMjAwNywgMTI6MzA6MzUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE4ODM4MDA5NiByZz13d3cKfiMhIHRpZD0xMTg4MzgwMDk2CmJlaSB2aXN0YSBnaWJ0cyBhdWNoIG5lIHNjaG9lbmUgc3VjaGZ1bmt0aW9uIGZ1ZXIgcHJvZ3JhbW1lOyBkYQprbGlja2VyIGljaCBkdXJjaCBnYXIga2VpbmUgcHJvZ3JhbW1mb2xkZXIgbWVoci4gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGYXN0IEtvbW1hbmRvemVpbGUgLi4uIChHbG9pbnNvbiwgMjkuIEF1ZyAyMDA3LCAxMjo0MzoyNik6Cn4jISBybj1ab29rIHJ0PTExODgzODM0MzUgcmc9d3d3Cn4jISB0aWQ9MTE4ODM4MDA5NgpKYSwgZGFoZXIga29tbXQgZGllc2VzIExhdW5jaHkgYXVjaCAuLi4gRXJzYXR6IGZ1ZXIgTGV1dGUsIGRpZSBub2NoIGtlaW5lClZpc3RhIGhhYmVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZhc3QgS29tbWFuZG96ZWlsZSAuLi4gKFJ1bWF0YSwgMjkuIEF1ZyAyMDA3LCAxMjo0Njo0Mik6Cn4jISBybj1HbG9pbnNvbiBydD0xMTg4Mzg0MjA2IHJnPXd3dwp+IyEgdGlkPTExODgzODAwOTYKLi4uIG9kZXIgYmVpbSBBYnNwaWVsZW4gdm9uIG1wM3Mgdm9sbGVuIE5ldHpkdXJjaHNhdHogYmVoYWx0ZW4gd29sbGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmFzdCBLb21tYW5kb3plaWxlIC4uLiAoWm9vaywgMjkuIEF1ZyAyMDA3LCAxNDowMzo0Mik6Cn4jISBybj1SdW1hdGEgcnQ9MTE4ODM4NDQwMiByZz13d3cKfiMhIHRpZD0xMTg4MzgwMDk2CndvYmVpIGljaCBkaWVzZSAiYWx0LWxlZXJ0YXN0ZSIgYXVjaCBub2NoIG5pY2h0IGthbm50ZS4gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJpdmlhOiBEaWUgTWFjaHQgaXN0IG1pdCBkZXIgbmFlY2hzdGUgU2h1dHRsZS1DcmV3IChHbG9pbnNvbiwgMjkuIEF1ZyAyMDA3LCAxNjoxODozMCk6Cmh0dHA6Ly93d3cuc3BhY2UuY29tL2VudGVydGFpbm1lbnQvY3NfMDcwODI4X3N0czEyMF9saWdodHNhYmVyLmh0bWwKCihlbmdsaXNjaCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYWV1bWxpY2hlcyBTb3VuZC1FbXBmaW5kZW4gKFZpbmNlbnQsICAyLiBTZXAgMjAwNywgMTc6MDI6NTQpOgpFcyBpc3Qgc2Nob24gdmVyYmx1ZWZmZW5kLCB3YXMgbWl0IGRlciBTdGVyZW8tVGVjaG5payB1bmQgS29wZmhvZXJlcm4KaGV1dHp1dGFnZSBtb2VnbGljaCBpc3QuIERhc3MgZXMgTGlua3MtUmVjaHRzIGdpYnQgaXN0IGphIGtsYXIsIGFiZXIKZGFzcyBhdWNoIE9iZW4tVW50ZW4gdW5kIFZvcm5lLUhpbnRlbiBtb2VnbGljaCBpc3QsIGlzdCBzY2hvbgp2ZXJibHVlZmZlbmQuCgpodHRwOi8vZ3ByaW1lLm5ldC9mbGFzaC5waHAvc291bmRpbW1lcnNpb24KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSYWV1bWxpY2hlcyBTb3VuZC1FbXBmaW5kZW4gKEtlc3NhLCAgMi4gU2VwIDIwMDcsIDE4OjU3OjI1KToKfiMhIHJuPVZpbmNlbnQgcnQ9MTE4ODc0NTM3NCByZz13d3cKfiMhIHRpZD0xMTg4NzQ1Mzc0CklycmUuCgpLZXNzYSwgc3RhdW5lbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmFldW1saWNoZXMgU291bmQtRW1wZmluZGVuIChSdW1hdGEsICAyLiBTZXAgMjAwNywgMTk6MDM6NDApOgp+IyEgcm49VmluY2VudCBydD0xMTg4NzQ1Mzc0IHJnPXd3dwp+IyEgdGlkPTExODg3NDUzNzQKQmVpIG1pciBnZWh0IGVzIG51ciByZWNodHMgZWluIGJpc3NjaGVuLgpXZXJkZSB3b2hsIGFsdC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlzdWVsbGUgSWxsdXNpb25lbiBpbiBLcmVpZGUgKEtlc3NhLCAgMi4gU2VwIDIwMDcsIDIwOjU5OjQ3KToKQmVpbSBXZWl0ZXJzdG9lYmVybiBhdWYgZGVyIHZvbiBWaW5jZW50IGVtcGZvaGxlbmVuIFNlaXRlIGdlZnVuZGVuOgoKaHR0cDovL2dwcmltZS5uZXQvaW1hZ2VzL3NpZGV3YWxrY2hhbGtndXkvCgpHdWNrZW4gdW5kIG5vY2htYWwgc3RhdW5lbiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV3VuZGVyc2Nob2VuZSAzRC1TY3JlZW5zYXZlciAuLi4gKExpYXJhLCAxOS4gU2VwIDIwMDcsIDE3OjEzOjMwKToKbWFjaHQgM1BsYW5lc29mdDogaHR0cDovL3d3dy4zcGxhbmVzb2Z0LmNvbS9pbmRleF9kZS5odG1sCgpadW0gUmVpbnNjaGF1ZW4gZW1wZmVobGUgaWNoIFdhdGVybWlsbCwgVHJvcGljYWwgRmlzaCBvZGVyIE5hdXRpbHVzLgpFcyBoYW5kZWx0IHNpY2ggdW0gU2hhcmV3YXJlLCBhYmVyIGRpZSBSZWdpc3RyaWVydW5nIGlzdCBuaWNodCBiZXNvbmRlcnMKc2Nod2VyIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFd1bmRlcnNjaG9lbmUgM0QtU2NyZWVuc2F2ZXIgLi4uIChHcmltbWJvcm4sIDE5LiBTZXAgMjAwNywgMTc6MTg6MDApOgp+IyEgcm49TGlhcmEgcnQ9MTE5MDIxNDgxMCByZz13d3cKfiMhIHRpZD0xMTkwMjE0ODEwClRqYS4gRmFsc2NoZXMgQmV0cmllYnNzeXN0ZW0uIFVuZCB0c2NodWVzcy4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaWdodCBGb3IgS2lzc2VzIChHd2VuLCAyNS4gU2VwIDIwMDcsIDA5OjIwOjExKToKaHR0cDovL3d3dy5mZmstd2lsa2luc29uLmNvbS8KaGYsIEd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPTFRQLVNXLVNwZWNzIChHbG9pbnNvbiwgMjUuIFNlcCAyMDA3LCAwOTozNzozMSk6Cmh0dHA6Ly9sYXB0b3Aub3JnL2xhcHRvcC9zb2Z0d2FyZS9zcGVjcy5zaHRtbAoKRllJIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZpZ2h0IEZvciBLaXNzZXMgKEdyaW1tYm9ybiwgMjUuIFNlcCAyMDA3LCAxMDoyOTo1Myk6Cn4jISBybj1Hd2VuIHJ0PTExOTA3MDQ4MTEgcmc9d3d3Cn4jISB0aWQ9MTE5MDcwNDgxMQpJY2ggYmluIGRlcyBmcmFuem9lc2lzY2hlbiBuaWNodCBzbyBtYWVjaHRpZywgZGFoZXIgaGFiZSBpY2ggZGllIExpbnV4dmVyc2lvbgpuaWNodCBmaW5kZW4ga29lbm5lbi4gU2NoYWRlIGVpZ2VudGxpY2guCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmlnaHQgRm9yIEtpc3NlcyAoTWFyY3VzLCAyNS4gU2VwIDIwMDcsIDExOjM3OjE1KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMTkwNzA4OTkzIHJnPXd3dwp+IyEgdGlkPTExOTA3MDQ4MTEKRGVyIDExME1CIERvd25sb2FkIGluc3RhbGxpZXJ0IHVudGVyIFdpbmUgenVtaW5kZXN0LgoKRGEgbWVpbmUgM0QgS29uZmlndXJhdGlvbiBrYXB1dHQgaXN0LCBzdGFydGV0IGVzIGFsbGVyZGluZ3MgbmljaHQgdW5kIGljaAprYW5uIG5pY2h0IHNhZ2VuLCBvYiBlcyB0dXQuIDspCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpZ2h0IEZvciBLaXNzZXMgKEd3ZW4sIDI1LiBTZXAgMjAwNywgMTE6Mzc6NDMpOgp+IyEgcm49TWFyY3VzIHJ0PTExOTA3MTMwMzUgcmc9d3d3Cn4jISB0aWQ9MTE5MDcwNDgxMQpXZW4gaW50ZXJlc3NpZXJ0IHNjaG9uIGRhcyBTcGllbC4uLgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmlnaHQgRm9yIEtpc3NlcyAoR2xvaW5zb24sIDI1LiBTZXAgMjAwNywgMTI6NTE6MjkpOgp+IyEgcm49R3dlbiBydD0xMTkwNzEzMDYzIHJnPXd3dwp+IyEgdGlkPTExOTA3MDQ4MTEKSWNoIHNlaCBkYSBudXIgendlaSBEb3dubG9hZGxpbmtzIDspCgoqbmluZ2VsKiAqbmluZ2VsKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEZpZ2h0IEZvciBLaXNzZXMgKEd3ZW4sIDI1LiBTZXAgMjAwNywgMTQ6MDM6MzEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5MDcxNzQ4OSByZz13d3cKfiMhIHRpZD0xMTkwNzA0ODExCmhtbS4gZWlnZW50bGljaCBnaWJ0J3MgZGEgc28gZWluIHZpZGVvIC0gdW0gZGFzIGdpbmcgZXMuCkd3ZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VubiBtYWwgZGllIFdvcnRlIGZlaGxlbi4uLiAoS2Vzc2EsIDI3LiBTZXAgMjAwNywgMTE6MDg6MzgpOgouLi4gaGllciBlaW4gb2ZmZW4genVnYWVuZ2xpY2hlciByZWNodCB1bWZhbmdyZWljaGVyIGRldXRzY2hlciBUaGVzYXVydXM6CgpodHRwOi8vd29ydHNjaGF0ei51bmktbGVpcHppZy5kZS8KCkthbSBtaXIgZ3JhZCBiZWltIERldGFpbGJlc2NocmVpYmVuIGluIGRlbiBTaW5uLCBkYXNzIHNvd2FzIG1hbmNobWFsCnZpZWxsZWljaHQgZ2FueiBudWV0emxpY2ggc2VpbiBrb2VubnRlIDopCgpLZXNzYSBiZXNjaHJlaWJ0IGpldHp0IHNjaG5lbGwgd2VpdGVyLCBiZXZvciBzaWUgc2ljaCBkYSBmZXN0bGllc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VubiBtYWwgZGllIFdvcnRlIGZlaGxlbi4uLiAoQWxib2luLCAyNy4gU2VwIDIwMDcsIDE0OjAyOjIwKToKfiMhIHJuPUtlc3NhIHJ0PTExOTA4ODQxMTggcmc9d3d3Cn4jISB0aWQ9MTE5MDg4NDExOApJY2ggaGFiZSBnbGVpY2ggbWFsIGF1ZiBkYXMgV29ydCBiZWxlaWRpZ2VuIGdldGVzdGV0LiBEYXMgRXJnZWJuaXMgd2FyCmludGVyZXNzYW50LgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSWNld2FycyAtIEJ1ZGRsZXIgZ2VzdWNodCAoQmFtYnVsa28sIDI4LiBTZXAgMjAwNywgMTc6MzE6MTApOgpXaXIgc3VjaGVuIGZ1ZXIgdW5zZXJlIEFsbGlhbnogaW4gSWNld2FycyAod3d3LmljZXdhcnMuZGUpLCBpbiBkZXIgYXVjaCBlaW5pZ2UKTUdsZXIgc2luZCwgZWluZW4gRXJzYXR6IGZ1ZXIgZWluZW4gZ3V0IGF1c2dlYmF1dGVuIEFjY291bnQuIFp1ciBaZWl0IGlzdApGcmllZGVuLCBuYWNoIGVpbmVtIGV0d2FzIGxhZW5nZXJlbSBLcmllZy4gV2VubiBqZW1hbmQgaW50ZXJlc3NlIGhhdCwgc29sbCBlcgpzaWNoIGJlaSBtaXIgbWVsZGVuLgoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbGwgaXQgYmxlbmQ/IChSb25kYSwgMjguIFNlcCAyMDA3LCAyMjozMjowNik6Ck5hY2hkZW0gR3dlbiBzY2hvbiBkZW4gbmV0dGVuIExpbmsgbWl0IHZpcmFsZW0gTWFya2V0aW5nIGdlc2NocmllYmVuIGhhdCwgaGllcgpub2NoIGVpbmVyOgoKaHR0cDovL3d3dy53aWxsaXRibGVuZC5jb20vCgpLYW5uIG1hbiBlaW4gaVBob25lIGltIEJsZW5kZXIgemVybWFuc2NoZW4/IFdhcyBwYXNzaWVydCB3ZW5uIG1hbiBGZXVlcnpldWdlCmltIEJsZW5kZXIga2xlaW5tYWNodD8gV2FzIG1hY2h0IGRlciBHYXJ0ZW5yZWNoZW4gaW0gQmxlbmRlcj8gVW5kIHdlciB3dWVyZGUKc28gZWluZW4gQmxlbmRlciBrYXVmZW4gd29sbGVuPwoKUm9uZGEgKmlzdCBkYXMgRGluZyB6dSB0ZXVlciAtIGlzdCB3aWUgYmVpIGRlciB2ZXJjaHJvbXRlbiBLaXRjaGVuQWlkCkt1ZWNoZW5tYXNjaGluZSwgYXVjaCB3ZW5uIGRpZSBWZXJzdWNodW5nIHJlY2h0IGhvY2ggaXN0Li4uKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFydGggVmFkZXIgQmx1ZXMgKEd3ZW4sICA0LiBPa3QgMjAwNywgMjE6MDY6NDYpOgpJcmdlbmR3aWUgZGFjaHQgaWNoIG1pciBhdWNoIHNjaG9uIGltbWVyLCBkYXNzIGRhcyBzbyBhdXNzaWVodC4uLgpodHRwOi8vd3d3LnVuZi11bmYuZGUvdmlkZW8vZGFydGgtdmFkZXItYmx1ZXMtMTE5MDYyNjU4NC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGFydGggVmFkZXIgQmx1ZXMgKEFtYXJ5bGxpcywgIDQuIE9rdCAyMDA3LCAyMToyMDoxNCk6Cn4jISBybj1Hd2VuIHJ0PTExOTE1MjQ4MDYgcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpJc3QgZGFzIGdlaWwgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFydGggVmFkZXIgQmx1ZXMgKENoYWdhbGwsICA0LiBPa3QgMjAwNywgMjI6MTQ6MjMpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExOTE1MjU2MTQgcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpEYSBnaWJ0cyBzb2dhciBlaW5lbiBUZWxlZm9uYW5ydWYgbWl0IFlvZGEuCmh0dHA6Ly93d3cudW5mLXVuZi5kZS92aWRlby95b2RhLXJ1ZnQtaW0tYWx0ZXJzaGVpbS1hbi0xMTg5NjAzNzk1Lmh0bWwKCk1DCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYXJ0aCBWYWRlciBCbHVlcyAoQW1hcnlsbGlzLCAgNC4gT2t0IDIwMDcsIDIyOjE2OjUxKToKfiMhIHJuPUNoYWdhbGwgcnQ9MTE5MTUyODg2MyByZz13d3cKfiMhIHRpZD0xMTkxNTI0ODA2Ck5hamEsIGRlbiBmaW5kIGljaCBhbGxlcmRpbmdzIG5pY2h0IHNvIGRvbGxlLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRGFydGggVmFkZXIgQmx1ZXMgKENoYWdhbGwsICA0LiBPa3QgMjAwNywgMjI6MTc6MjYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExOTE1MjkwMTEgcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpZZXAsIGFuIGRlbiBEYXJ0aCBWYWRlciBCbHVlcyBrb21tdCBlciBuaWNodCByYW4sIGljaCBmaW5kIGRlbiBhYmVyCnRyb3R6ZGVtIG5ldHQuCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGFydGggVmFkZXIgQmx1ZXMgKEFtYXJ5bGxpcywgIDQuIE9rdCAyMDA3LCAyMjoxODoxOCk6Cn4jISBybj1DaGFnYWxsIHJ0PTExOTE1MjkwNDYgcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpXb2JlaSBtZWluIEZhdm9yaXQgbm9jaCBpbW1lciBkZXIgb3AgS29lbHNjaCBpc3QgOykKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERhcnRoIFZhZGVyIEJsdWVzIChSdW1hdGEsICA1LiBPa3QgMjAwNywgMTM6MDI6NTYpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTExOTE1MjkwOTggcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpXZXI/IFlvZGEgb2RlciBEYXJ0aD8gT2RlciBtZWluc3QgRHUgZGFzIHNjaHdhZWJpc2NoZSBhdXMKaHR0cDovL3lvdXR1YmUuY29tL3dhdGNoP3Y9dUYyZGpKY1BPMkEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IERhcnRoIFZhZGVyIEJsdWVzIChBbWFyeWxsaXMsICA1LiBPa3QgMjAwNywgMjA6NTE6NTYpOgp+IyEgcm49UnVtYXRhIHJ0PTExOTE1ODIxNzYgcmc9d3d3Cn4jISB0aWQ9MTE5MTUyNDgwNgpEYXJ0aC4uLiBhYmVyIGRhcyBzY2h3YWViaXNjaGUgaXN0IGF1Y2ggc2VociBuZXR0LCBrYW5udGUgaWNoIG5vY2ggbmljaHQgOykKCkdydXNzLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBdXRoZW50aXNjaGUgRmF0d2FzIC4uLiAoR2xvaW5zb24sICA3LiBPa3QgMjAwNywgMTE6MDI6NDUpOgpodHRwOi8vd3d3LmFyYWJuZXdzLmNvbS8/cGFnZT0xJnNlY3Rpb249MCZhcnRpY2xlPTEwMjEzNSZkPTcmbT0xMCZ5PTIwMDcKClNhZyBtYWwgZWluZXIsIFJlbGlnaW9uZW4gd2FlcmVuIG5pY2h0IG1vZGVybiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpZXIgaGFlbmd0IGRlciBIYW1tZXIgKEFudGhlYSwgIDguIE9rdCAyMDA3LCAxMTowNzo1MCk6Cmh0dHA6Ly93d3cuY2hpbGxvdXR6b25lLmRlL2ZpbGVzLzA3MTAwNDA1Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11aCEgKEh1bW5pLCAgOC4gT2t0IDIwMDcsIDEyOjI4OjMxKToKCk9rLCB3ZXIgdm9uIEV1Y2ggaGVpc3N0IEhvbGdlciBDaHJpc3RvcGg/CgooQ3Jvc3Nwb3N0aW5nIGF1cyBNZWdhc2NobWFycm4sIGRpZSBoYXR0ZW4gZGFzIHNjaG9uIGZydWVoZXIsIGRpZSBzaW5kIGltbWVyCnNjaGxhdWVyKToKCmh0dHA6Ly93d3cudGl0YW5pYy1tYWdhemluLmRlL3ZmZmtfMDcxMC5odG1sI2MzNTM4CgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11aCEgKFpvb2ssICA4LiBPa3QgMjAwNywgMTM6MDg6MjMpOgp+IyEgcm49SHVtbmkgcnQ9MTE5MTgzOTMxMSByZz13d3cKfiMhIHRpZD0xMTkxODM5MzExCm1lZ2FzY2htYXJybiBsZXNlbiBiaWxkZXQhIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByb2dyYW1taW5nIC4uLiAoR2xvaW5zb24sIDEyLiBPa3QgMjAwNywgMTA6NTk6NTQpOgpodHRwOi8vbGVtb25vZG9yLmNvbS9hcmNoaXZlcy8yMDA3LzEwL3lvdXJlX2RvaW5nX2l0X3dyb25nLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYW1tZXItQW5mYW5nIChWaW5jZW50LCAxNC4gT2t0IDIwMDcsIDE1OjQ1OjEyKToKQmVpIGRlbSBBbmZhbmcgZGllc2VyIElUIENyb3dkcyBFcGlzb2RlIGhhZXR0ZSBlcyBtaWNoIGJlaW5haGUgdmVycmlzc2VuLgoKOikKCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj02dkR0TUFBRzJnSQoKICAgVmluY2VudAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhhbW1lci1BbmZhbmcgKFplc3N0cmEsIDE0LiBPa3QgMjAwNywgMTY6Mzg6MjkpOgp+IyEgcm49VmluY2VudCBydD0xMTkyMzY5NTEyIHJnPXd3dwp+IyEgdGlkPTExOTIzNjk1MTIKT2hqYSwgZ3JhbmRpb3MuIEFsc28sIGRpZSBBbnRpLVBpcmFjeS1XZXJidW5nIGthbm50ZSBpY2ggc2Nob24sIGFiZXIgZGVuIFJlc3QKbmljaHQuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWFydGggLi4uIChHbG9pbnNvbiwgMTYuIE9rdCAyMDA3LCAwOTo1MTowNyk6Cmh0dHA6Ly93d3cudGhyZWVsZWdnZWRsZWdzLmNvbS9yZXBlcnRvaXJlL2h1bWFucy8KCkZsYXNoL1F1aWNrdGltZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWFydGggLi4uIChSdW1hdGEsIDE2LiBPa3QgMjAwNywgMTA6MDU6MzMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5MjUyMTA2NyByZz13d3cKfiMhIHRpZD0xMTkyNTIxMDY3CkVpbmUgUGxhZ2UgcmVpY2h0ZSBuaWNodD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhYWFhaCEgTHVrZSBpc3QgZWluIEZha2UhIChHbG9pbnNvbiwgMTcuIE9rdCAyMDA3LCAxMzo0ODoyNik6Cmh0dHA6Ly9ibG9ncy50ZWNocmVwdWJsaWMuY29tLmNvbS9nZWVrZW5kLz9wPTkzOQoKWC1XaW5ncyBzaW5kIGVuIGdyb3NzZXIgQmVzY2hpc3MhCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhYWFhaCEgTHVrZSBpc3QgZWluIEZha2UhIChSdW1hdGEsIDE3LiBPa3QgMjAwNywgMjA6MTM6MzMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5MjYyMTcwNiByZz13d3cKfiMhIHRpZD0xMTkyNjIxNzA2CkRhcyBWaWRlbyBpc3QgZWluIEZha2U6IEd1Y2tzdCBEdSBoaWVyIDotKQoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVFnRjloQkwtQ3VBCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWFhYWghIEx1a2UgaXN0IGVpbiBGYWtlISAoS2Vzc2EsIDE4LiBPa3QgMjAwNywgMDk6Mzk6NDcpOgp+IyEgcm49UnVtYXRhIHJ0PTExOTI2NDQ4MTMgcmc9d3d3Cn4jISB0aWQ9MTE5MjYyMTcwNgpNaXIgZ2VmYWVsbHQgZGllc2VyIEtvbW1lbnRhciAoenUgVmlkZW8gMSk6ICJSZW1lbWJlciB0aGF0IHlvdSBoYXZlIHRvIHJvdXRlCmFsbCBwb3dlciB0byBzaGllbGRzIHdoZW4gZW50ZXJpbmcgdGhlIGF0bW9zcGhlcmUgYW5kIGNsb3NlIHRoZSB3aW5ncy4iCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJhdWNodCBqZW1hbmQgZWluZW4gWmltbWVybWFubj8gKEphbm5lLCAyMC4gT2t0IDIwMDcsIDExOjQzOjM5KToKSWNoIGhhZXR0ZSBkYSBlaW5lbiBWb3JzY2hsYWcgZnVlciBlaW5lbiwgZGVyIGRlZmluaXRpdiBnZWVpZ25ldCBlcnNjaGVpbnQgOikKCmh0dHA6Ly93d3cuc2tyYXR0YmxvZ2dlbi5zZS8/cD0yNzMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmh1Z2V1cmwuY29tIChHbG9pbnNvbiwgMjEuIE9rdCAyMDA3LCAxNTowNTowOSk6CkJlY2F1c2UgYmlnZ2VyIGlzIGJldHRlciEKCgpodHRwOi8vd3d3Lmh1Z2V1cmwuY29tLz9ORFF3TkdSbE5EUmpNMkkyWlRNeU5EQXdNemczWTJVMU1USTEKT1RJNU9EWW1NVE1tVm0wd2QyUXlVWGxWV0d4V1YwZDRXRmxVU205V01WbDNXa2M1VjFac2JETlhhMk0xCllXeEtjMWRxUWxWV2JIQlFWakJhWVdNeVNrVlViR2hvVFZWd1ZWWnRjRWRaVjAxNVUydFdWV0pIYUc5VQpWM04zWlVaYWNWRnRSbFJOYXpFMVZUSjBWMVpYU2toaFJ6bFZWbTFvUkZaV1dtRmtSMVpIVjIxNFUySkgKZHpGV2EyUXdZekpHYzFOdVVtaFNlbXhXVm1wT1QwMHhjRlpYYlVaclVqQTFSMXBGV2xOVWJGcFZWbXR3ClYySlVSWGRaVkVaclUwWk9jbHBIY0ZSU1ZYQlpWa1pXWVdReFRrZFZiRlpUWWxWYWNWWnRkR0ZOUmxaMApaVVpPVldKVldUSlZiRkpIVmpGYVJtSXpaRmRoYTFwb1ZqQmFUMk50U2tkVGJXeFRUVzFvV2xZeFpEUmkKTWtsM1RVaG9XR0pIVWxsWmJGWmhZMnhXYzFWclpGaGlSM1F6VjJ0U1UxWnJNWEpqUld4aFUwaENTRlpxClNrWmxWbFpaV2tad1YxSldjSGxXVkVKaFZESk9jMk5GYUdwU2JFcFVWbXhvUTFkc1duSlhiR1JvVFZaVwpOVlpYTlU5aGJFcDBWV3hzV21KR1dtaFpNVnB6WTJ4a2RGSnRlRmRpVmtvMVZtcEpNV0V4V1hkTlZWWlQKWVRGd1YxbHJXa3RTUmxweFVWaG9hMVpzV2pGV01uaGhZVWRGZUdOR2JGaGhNVnBvVmtSS1QyUkdUbkphClJsSnBWak5vV1ZaWGNFOWlNV1JIVjI1U1RsTkhVbk5WYWtKelRrWlZlV1JIZEdoV2F6VkhWako0VTFkdApTa2hoUmxKWFRWWndXRmt4V2t0amJWSkhWV3hrYVZKdE9UTldNbmhYWWpKRmVGZFlaRTVXVmxwVVdWUkcKZDFkR2JISmFSemxxWWtad2VGVXlkR0ZpUmxwelYyeHdXR0V4Y0hKWlZXUkdaVWRPUjJKR2FHaE5WbkJ2ClZtdFNTMVF5VWtkVWJrcGhVbXhLY0ZacVRtOVdWbHBIV1ROb2FVMVhVbnBXTVdodldWWktSMU51UWxWVwpiSEJZVkZSR1UxWnRSa2hQVm1ST1ZqRktTbGRXVm1Gak1XUjBVbGhzYUZKV1NtRmFWM1JoVjBad1JsWlkKYUZkTlZrb3dXbFZrYzFVeVNsbFpNMmhYWVRGd2FGWlVSbFpsUm1SMVUyczFWMVpzY0ZWWFZsSkhaREZaCmVHSklTbGhoTTFKVVZXMTRkMlZHVmxkaFJ6bG9UVlp3ZWxZeWNFTlhiRnBYWTBST1dtRXlVa2RhVjNoSApZMjFLUjFwR1pFNU5SWEJLVm0xMFUxTXhWWGhYV0doaFUwWmFWbGxyV2t0alJscHhVMjA1YkdKSFVsbGEKVldNMVlWVXhjbUpFVWxkTmFsWlVWa2Q0YTFOR1ZuTlhiRlpYWWtoQ1dWWkhkR0ZoTWs1elYyNVNhMUp0ClVuQldiR2hEVG14YVZWTlVSbFZOVm5Bd1ZXMDFTMVF4V25OVGJVWlZWbXh3TTFwWGVISmxWMVpKV2taTwpUbFpyY0RWV1IzaGhWREpHVjFOdVVsQldSVFZZV1ZSR2QyRkdiSEZUYTFwc1ZtdHdlVmRyV205aFYwWTIKVm01b1YxWkZTblpWVkVaelZqRldjMWRzYUdsaVZrcDVWMWQwWVdReVZrZFdibEpyVWtWS1YxUlhkSGRUClZscFlZMFZPV0dKR2NGaFpNRkpQVjIxRmVWVnJaR0ZXVjFKUVZUQlZOVll5UmtoaFJUVlhZbXRLTWxadAplRzlrTVVsNVVsaG9ZVkpYVWxkWmJYUjNZVVpXZEUxWE9XcFNiSEI0Vmtjd05WWXhXbk5qUldoWVZrVTEKZGxsV1ZYaFhSbFp6WVVaa1RsWXlhREpXTVZwaFV6RktjMVJ1VWxCV2JGcFlWRlJHUzA1c1draGtSMFpYCllsWmFXVlpYZEc5aE1VcDBWV3M1VjJGcldreFZNbmhyVmpGYWRGSnNXazVXYlhjeFZsZDRiMk14V25OWAphMXBVWWtkb1dGbFhjekZrYkd4V1YyMUdhbFpyY0hwWGExcHZWakpLY2xOcmJGZFdiVkV3VjFaYVdtVkcKVG5KWGJFNVhVbFpWTlE9PQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhpbGYgQmVubmkhIChWYW5oZWxzaW5nLCAyOC4gT2t0IDIwMDcsIDE0OjM0OjQ4KToKRGVyIE5lZmZlIGVpbmVyIEZyZXVuZGluIHZvbiBtaXIgaXN0IHZvciBnZXJhdW1lciBaZWl0IGluIGVpbmVuIFBvb2wgZ2VmYWxsZW4KdW5kIGlzdCBmYXN0IGRhYmVpIGVydHJ1bmtlbi4KU2VpdGRlbSBiZWZpbmRldCBlciBzaWNoIGluIGVpbmVtIFdhY2hrb21hIHVuZCBkaWUgZ2VzYW10ZSBGYW1pbGllIGhvZmZ0LCBkYXNzCmVyIHNpY2ggYmFsZCB3aWVkZXIgZXJob2x0Lgp1bnRlciBodHRwOi8vd3d3LmhpbGYtYmVubmkuZGUga2FubiBtYW4gc2ljaCBzZWluZSBHZXNjaGljaHRlIGR1cmNobGVzZW4gdW5kCndlbm4gbWFuIG1vZWNodGUgYnp3LiBrYW5uIGF1Y2ggaGVsZmVuLgpKZWRlIEhpbGZlIGlzdCBzZWhyIHdpbGxrb21tZW4uCkplZGUgSGlsZmUgaXN0IHNlaHIgd2lsbGtvbW1lbi4KVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcGVyZGlzayAoR2xvaW5zb24sICAyLiBOb3YgMjAwNywgMTg6MDI6MDUpOgpKYS4gRGllIG9yaWdpbmFsZS4gSWhyIGVyaW5uZXJ0IGV1Y2ggYW4gZGllICJtYyIgbWl0IGlocmVyIFBhcGVyZGlzaz8gTmljaHQ/CkRhbm4gbWFjaHQgZXMgZXVjaCBkb2NoIHNlbGJzdDoKCmh0dHA6Ly93d3cub2xseWRiZy5kZS9QYXBlcmJhay9pbmRleC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSG93IHRvIHJlcGFpciBhIENEL0RWRCB3aXRoIGEgbWljcm93YXZlLiA7LSkgKFplc3N0cmEsICAzLiBOb3YgMjAwNywgMTI6NTg6MjkpOgpXdWFhYWFoLiA7LSkKaHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL35yL2dlZWtzQXJlU2V4eVRlY2hub2xvZ3lOZXdzL34zLzE3ODI2OTM0Ni8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVjaHRlIFdpZW5lckRvZ3MgKEFudGhlYSwgIDUuIE5vdiAyMDA3LCAxMzowNjoxNCk6Cmh0dHA6Ly90aW55dXJsLmNvbS8yYnJhYWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVuZGxpY2ggYWxsZWluZS4uLiBpbSBXZWIgMi4wIDstKSAoWmVzc3RyYSwgIDUuIE5vdiAyMDA3LCAyMDoxOToxNCk6Cmh0dHA6Ly93d3cuYWxsZWluci5kZS8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFbmRsaWNoIGFsbGVpbmUuLi4gaW0gV2ViIDIuMCA7LSkgKFJ1bWF0YSwgIDUuIE5vdiAyMDA3LCAyMDo0MTozOSk6Cn4jISBybj1aZXNzdHJhIHJ0PTExOTQyOTAzNTQgcmc9d3d3Cn4jISB0aWQ9MTE5NDI5MDM1NApSYXVoZmFzZXJ0YXBldGUgMi4wIHNvenVzYWdlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhdGVuc2NodXR6cmljaHRsaW5pZW4gZnVlciBPbmxpbmUtU3BpZWxlIChaZXNzdHJhLCAgNi4gTm92IDIwMDcsIDE3OjM4OjIwKToKLi4uIHdpbGwgZGFzIFVMRCBpbiBTY2hsZXN3aWctSG9sc3RlaW4gZW50d2lja2Vsbi4gSGludGVyZ3J1bmQgc2luZCB6LkIuCkluLUdhbWUtQWR2ZXJ0aXNpbmcsIE1pdHNwaWVsZXJiZXdlcnR1bmdlbiwgU3BlaWNoZXJuIHZvbiBTcGllbGVyZm9sZ2VuLApQcm9maWxlbiBldGMuCmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9tZWxkdW5nLzk4NDgzL2Zyb20vYXRvbTEwCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWggZGVzIFRhZ2VzIChHd2VuLCAgNy4gTm92IDIwMDcsIDE2OjQ1OjE4KToKaHR0cDovL3d3dy5zei1vbmxpbmUuZGUvbmFjaHJpY2h0ZW4vYXJ0aWtlbC5hc3A/aWQ9MTY1NTM2NApHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIGxhbmdlIE5hY2h0IGRlciBCdWVyZ2VycmVjaHRlIChaZXNzdHJhLCAxMi4gTm92IDIwMDcsIDExOjM4OjExKToKRGllIEdydWVuZW4gbWl0IE1pdHdpcmt1bmcgZGVzIENoYW9zIENvbXB1dGVyIENsdWIgdmVyYW5zdGFsdGVuIGFtIDE0LiBlaW5lCnZpZWxsZWljaHQgaW50ZXJlc3NhbnRlIFZlcmFuc3RhbHR1bmcgenVtIFRoZW1hIEJ1ZXJnZXJlY2h0ZSBhbSAxNC4xMS4KaHR0cDovL3d3dy5ncnVlbmUtYnVuZGVzdGFnLmRlL2Ntcy9zZXJ2aWNlL2Rvay8yMDEvMjAxNDg1Lmh0bQpNYW4ga2FubiB3b2hsIGF1Y2ggcGVyIENoYXQgcGFydGl6aXBpZXJlbi4gT2Igc2llIGVpbmVuIExpdmVzdHJlYW0gaGFiZW4sCnN0ZWh0IGRhIG5pY2h0LCB3YWVyZSBpaG5lbiBhYmVyIHp1IHd1ZW5zY2hlbi4uLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnJhdHNkYXRlbnNwZWljaGVydW5nIChaZXNzdHJhLCAxNC4gTm92IDIwMDcsIDEwOjAzOjA1KToKRmFsbHMgc2ljaCBub2NoIGplbWFuZCBhbiBkZXIgVmVyZmFzc3VuZ3NiZXNjaHdlcmRlIGdlZ2VuIGRpZSBpbnp3aXNjaGVuCmJlc2NobG9zc2VuZSBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZyBiZXRlaWxpZ2VuIG1vZWNodGUsIGJlc3RlaHQgZGEgbm9jaCBuZQp3b2NoZSBkaWUgTW9lZ2xpY2hrZWl0LiBGdWVyIGdlbmF1ZXJlIEluZm9zIHZlcndlaXNlIGljaCBtYWwgYXVmOgpodHRwOi8vdmVyZmFzc3VuZ3NiZXNjaHdlcmRlLnZvcnJhdHNkYXRlbnNwZWljaGVydW5nLmRlLwpodHRwOi8vd3d3LnZvcnJhdHNkYXRlbnNwZWljaGVydW5nLmRlLwoKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZyAoTW9udGFudXMsIDIxLiBOb3YgMjAwNywgMTM6NDQ6MjgpOgp+IyEgcm49WmVzc3RyYSBydD0xMTk1MDMwOTg1IHJnPXd3dwp+IyEgdGlkPTExOTUwMzA5ODUKV2FydW0gc29sbCBpY2ggYmVpIG1laW5lciBWcmZhc3N1bmcgd2FzIGRhZ2VnZW4gaGFiZW4sIGRzcyBqZW1hbmQgZnVlciBtaWNoCnNwZWljaGVydCwgd2FzIGljaCBmdWVyIFZvcnJhZXRlIGhhYmU/IERhcyBrb2VubnRlIGRvY2ggZWlnZW50bGljaCBsb2dpc3Rpc2NoCm51ciBWb3J0ZWlsZSBoYWJlbi4gU28gZWluIGF1dG9tYXRpc2llcnRlcyAiZGFzIEtsb3BhcGllciBpc3QgZmFzdCBhbGxlLCBnZWgKbWFsIGVpbmthdWZlbiIgd2FlcmUgZG9jaCBwcmltYS4KRGFubiBicmFldWNodGUgbWFuIG51ciBub2NoIGVpbmVuIE5hdmkgaW0gQXV0bywgYW4gZGVuZW4gZGVyClZvcnJhdHNkYXRlbnNwZWljaGVyIGRpZSBJbmZvIHNjaGlja3QgImxlbmtlIGRhcyBBdXRvIHp1bSBuYWVjaHN0ZW4KU3VwZXJtYXJrdCIsIHVuZCB2aWVsZXMgd2FlcmUgZWluZmFjaGVyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3JyYXRzZGF0ZW5zcGVpY2hlcnVuZyAoQXJrLCAyMS4gTm92IDIwMDcsIDEzOjUzOjE2KToKfiMhIHJuPU1vbnRhbnVzIHJ0PTExOTU2NDkwNjggcmc9d3d3Cn4jISB0aWQ9MTE5NTAzMDk4NQpBaCwgaW50ZXJlc3NhbnQsIHVudGVyIGRlbSBWb3J3YW5kICJTZXJ2aWNlZnJldW5kbGljaGtlaXQiIChCZXF1ZW1saWNoa2VpdCkKbGFlc3N0IER1IERpY2ggYWxzbyBnZXJuIGVudG11ZW5kaWdlbiwgc2VociBpbmZvcm1hdGl2IDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hdGhlLUFkdmVudHNrYWxlbmRlciAoTWFzdWwsICAxLiBEZXogMjAwNywgMTM6MjM6NDApOgp+IyEgb249TWFzdWwgb3Q9MTE5NjUxMTU5OSBvZz1hbGxnZW1laW5lcwpTbyBlaW5lbiBXZWlobmFjaHRzdHJvbGwgZ2lidCBlcyB3b2hsIGF1Y2ggYmVpbSBERkctRm9yc2NodW5nc3plbnRydW0gTWF0aGVvbi4KVW50ZXIgaHR0cDovL3d3dy5tYXRoZWthbGVuZGVyLmRlLyBrYW5uIG1hbiBzaWNoIGFubWVsZGVuIHVuZCBqZWRlbiBUYWcgZWluZQpNYXRlaG1hdGlrYXVmZ2FiZSBsb2VzZW4uCgpNYXN1bAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hdGhlLUFkdmVudHNrYWxlbmRlciAoTWFoYXJldCwgIDEuIERleiAyMDA3LCAxNjoyNzo0Mik6Cn4jISBybj1NYXN1bCBydD0xMTk2NTExODIwIHJnPXd3dwp+IyEgdGlkPTExOTY1MTE4MjAKRGEgZm9yc2NoIGljaCBkb2NoIGxpZWJlciAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTWF0aGUtQWR2ZW50c2thbGVuZGVyIChBbGtvaG9sLCAgMS4gRGV6IDIwMDcsIDE3OjQ3OjE1KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5NjUyMjg2MiByZz13d3cKfiMhIHRpZD0xMTk2NTExODIwCmljaCBnbGF1YiBpY2ggbmljaHQgOikKCkFsa2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWVyaWNlLCBTcGVuZGVuIHVuZCBWb2thbGVuIGxlcm5lbiAoT3JrdG9ldGVyLCAgMi4gRGV6IDIwMDcsIDIyOjM0OjAxKToKaHR0cDovL3d3dy5mcmVlcmljZS5jb20vCk1hbiBrYW5uIGVuZ2xpc2NoZSBWb2thYmVsbiBsZXJuZW4gdW5kIGZ1ZXIgcmljaHRpZyBlcmthbm50ZSBXb2VydGVyIHdlcmRlbgpkdXJjaCBkaWUgV2VyYmViYW5uZXJlaW5uYWhtZW4gMTBnIFJlaXMgYW4gZGllIFdlbHRodW5nZXJoaWxmZSBnZXNwZW5kZXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmVlcmljZSwgU3BlbmRlbiB1bmQgVm9rYWxlbiBsZXJuZW4gKEdyaW1tYm9ybiwgIDMuIERleiAyMDA3LCAwOToxMToxMik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE5NjYzMTI0MSByZz13d3cKfiMhIHRpZD0xMTk2NjMxMjQxCkFoYSwgdW5kIHdlbm4gaWNoIGRhcyBtaXQgbGVvIHZlcnNjcmlwdGUga2FubiBpY2ggZGllIEVybmFlaHJ1bmdzcHJvYmxlbWF0aWsKZGVyIFdlbHQgbG9lc2VuPyBJc3QgamEgc3VwZXIhClVlYnJpZ2VucyBoYWV0dGUgaWNoIGRhIG5vY2ggZWluZSBtYWlsIGZ1ZXIgRGljaCwgd2VubiBEdSBkaWUgd2VpdGVybGVpdGVzdApkYW5uIHNwZW5kZXQgQU9MIGZ1ZXIgamVkZSB3ZWl0ZXJnZWxlaXRldGUgbWFpbCBlaW5lbiBjZW50IChsZWlkZXIgbnVyIFVTKSBhbmQKZGllIFdlbHRodW5nZXJoaWxmZS4gRnJvaGUgV2VpaG5hY2h0ZW4hCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGcmVlcmljZSwgU3BlbmRlbiB1bmQgVm9rYWxlbiBsZXJuZW4gKEppbWRpZ3JpeiwgIDQuIERleiAyMDA3LCAyMDowMjo0Mik6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE5NjYzMTI0MSByZz13d3cKfiMhIHRpZD0xMTk2NjMxMjQxCkVzIHNpbmQgdWVicmlnZW5zICJncmFpbnMiIG5pY2h0ICJHcmFtbSIgcmVpcywgZGllIG1hbgpzcGVuZGV0LCBhbHNvIGljaCBkZW5rIGRpZSBHcm9zc3p1ZWdpZ2tlaXQgZGVyIFNlaXRlCmhhZWx0IHNpY2ggZHVyY2hhdXMgaW4gR3Jlbnplbi4gU3Bhc3MgbWFjaHQgZXMgdHJvdHpkZW0sCmhhYnMgYW5mYW5ncyBlcnN0bWFsIGF1ZiBsZXZlbCA0MSBnZXNjaGFmZnQsIGRhbm4gZ2luZ3MKZWhlciBiZXJnYWIgdW5kIHBlbmRlbCBtaWNoIHpaIGJlaSBsZXZlbCAzMCBlaW4gKGJlaSAxMjYwIGdyYWlucykKSmRHCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCZWdlZ251bmcgdm9uIFRyYWRpdGlvbiB1bmQgTW9kZXJuZSAoS2Vzc2EsIDEyLiBEZXogMjAwNywgMTg6MDc6MjQpOgpodHRwOi8vd3d3LnByb2YyMDAwLnB0L3VzZXJzL21pc2FiZWwvYmxvZy9tYXJpYS5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCklQb2QgaGFja2VuIChWYW5oZWxzaW5nLCAxNS4gRGV6IDIwMDcsIDE5OjQxOjM3KToKSWNoIGhhYmUgZWluIGludGVyZXNzYW50ZXMgVmlkZW8gZ2VmdW5kZW4sIGluIGRlbSBnZXplaWd0IHdpcmQsIHdpZSBtYW4gaW4gZGVuCiJTZXJ2aWNlbW9kdXMiIGVpbmVzIElQb2QgZ2VsYW5ndC4KSGFicyBtaXQgbWVpbmVtIElQb2QgTmFubyBwcm9iaWVydCwgdW5kIGVzIGtsYXBwdCBvaG5lIFByb2JsZW1lLgpXZXIgZGFzIGF1Y2ggbWFsIHRlc3RlbiB3aWxsOgpodHRwOi8vdGlueXVybC5jb20vMnJ0cGZiCgpWaWVsIFNwYXNzLgpVbmQgaWhyIG1hY2h0IGRhcyBhdWYgZWlnZW5lIEdlZmFociEhIDpQCgpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElQb2QgaGFja2VuIChNYWhhcmV0LCAxOC4gRGV6IDIwMDcsIDE0OjI1OjA2KToKfiMhIHJuPVZhbmhlbHNpbmcgcnQ9MTE5Nzc0NDA5NyByZz13d3cKfiMhIHRpZD0xMTk3NzQ0MDk3ClVuZCB3YXMgaXN0IGRlciBWb3J0ZWlsPyAKTGF1dCBlaW5lbSBLb21tZW50YXIgc3RlaHQgZGFzIGFiZXIgYXVjaCBpbiBkZW0gTWFudWFsIGRyaW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJUG9kIGhhY2tlbiAoQWxib2luLCAxOS4gRGV6IDIwMDcsIDE2OjA3OjExKToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5Nzk4NDMwNiByZz13d3cKfiMhIHRpZD0xMTk3NzQ0MDk3ClZpZWxsZWljaHQga2FubiBtYW4gYXVjaCBNZWRpZW5kYXRlaWVuIGFuZGVyZXIgRm9ybWF0ZSBkYW5uIGFic3BpZWxlbi4gRGFzCndhZXJlIHp1bWluZGVzdCBzaW5udm9sbC4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElQb2QgaGFja2VuIChNYWhhcmV0LCAxOS4gRGV6IDIwMDcsIDE3OjQ5OjE1KToKfiMhIHJuPUFsYm9pbiBydD0xMTk4MDc2ODMxIHJnPXd3dwp+IyEgdGlkPTExOTc3NDQwOTcKVW5kIHZvbiBWZXJtdXR1bmdlbiBudW4gbWFsIGFiZ2VzZWhlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IElQb2QgaGFja2VuIChDcm9mdCwgMTkuIERleiAyMDA3LCAxNzo1ODozOCk6Cn4jISBybj1NYWhhcmV0IHJ0PTExOTgwODI5NTUgcmc9d3d3Cn4jISB0aWQ9MTE5Nzc0NDA5NwpFcyBwcm9kdXppZXJ0IFJlaGUgaW0gZmFsc2NoZW4gVGhyZWFkLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN6ZW5lbmJpbGQgYXVzIEtyaWVnIGRlciBTdGVybmUgKEFudGhlYSwgMjEuIERleiAyMDA3LCAxNToxNzoxOSk6Cmh0dHA6Ly9pbWcyMDYuaW1hZ2VzaGFjay51cy9teS5waHA/aW1hZ2U9a3JpZWdkZXJzdGVybmUxZGllZHVua2xydDIuanBnCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoR2xvaW5zb24sICA0LiBKYW4gMjAwOCwgMTI6MDQ6MTkpOgpodHRwOi8vd3d3LmFkbWlncmEuZGUvP3A9MTEzCgoyNWcgTGl0aGl1bSBhZXF1aXZhbGVudCBNYXhpbXVtLiBOYSwgd2lldmllbCBoYXQgbWVpbiBOb3RlYm9va2Fra3UgbnVuIGdlbmF1PwpBbGxlcyBrbGFyPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoR3JpbW1ib3JuLCAgNC4gSmFuIDIwMDgsIDEyOjIxOjQ2KToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk0NDQ2NTkgcmc9d3d3Cn4jISB0aWQ9MTE5OTQ0NDY1OQpJc3QgZG9jaCBnYW56IGVpbmZhY2g6IDMwMCBXaC4gVW5kIGRhcyBpc3Qgd2FzIHdhcyBhdWYgZGVuIEFra3VzIG1laXN0CmRyYXVmc3RlaHQuIAoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IExpdGhpdW0tQWtrdS1CZXNjaHJhZW5rdW5nIEZsdWd2ZXJrZWhyIChHbG9pbnNvbiwgIDQuIEphbiAyMDA4LCAxMzowODo0Myk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTE5OTQ0NTcwNiByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5ClZpZWxsZWljaHQgZG9jaCBlaW5mYWNoIGltbWVyIE1pdHJlaXNlbmRlIHp1bSBWZXJ0ZWlsZW4gdm9uIEFra3VzL0xhcHRvcHMgaW4KZGVuIFVTQSBzdWNoZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoQmFtYnVsa28sICA0LiBKYW4gMjAwOCwgMTM6MjE6MjApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5OTQ0ODUyMyByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5CkdpYnQgZXMgYXVjaCBlaW5lIEJlZ3J1ZW5kdW5nIGRhZnVlcj8gSW5zYmVzb25kZXJlLCB3YXJ1bSBtYW4gZGllIG51ciBpbQpIYW5kZ2VwYWVjayB0cmFuc3BvcnRpZXJlbiBkYXJmPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTGl0aGl1bS1Ba2t1LUJlc2NocmFlbmt1bmcgRmx1Z3ZlcmtlaHIgKEdsb2luc29uLCAgNC4gSmFuIDIwMDgsIDEzOjU0OjM0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExOTk0NDkyODAgcmc9d3d3Cn4jISB0aWQ9MTE5OTQ0NDY1OQpIYXQgdmllbGxlaWNodCB3YXMgbWl0IGRlbiBzcG9udGFudGVuIFNlbGJzdGVudHp1ZW5kdW5nZW4gZGl2ZXJzZXIgTGktQWtrdXMgenUKdHVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IExpdGhpdW0tQWtrdS1CZXNjaHJhZW5rdW5nIEZsdWd2ZXJrZWhyIChWYW5pb24sICA0LiBKYW4gMjAwOCwgMTQ6MzY6MDYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE5OTQ0OTI4MCByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5CkxpdGhpdW0tU2VrdW5kYWVyYmF0dGVyaWVuIHNpbmQgZWluIGVjaHRlcyBQcm9ibGVtLiBOb3JtYWxlcndlaXNlIHNpbmQgZGllCmF1Y2ggbWl0IGVpbmVyIEVsZWt0cm9uaWsgYmVzY2hhbHRldCwgZGllIGVpbmUgRmVobGxhZHVuZyBvZGVyIGVpbmVuCkt1cnpzY2hsdXNzIHZlcmhpbmRlcm4gc29sbC4gQXVzc2VyZGVtIGhhYmVuIGRpZSBTb2xsYnJ1Y2hzdGVsbGVuLCBkYW1pdCBkaWUKbmljaHQgZXhwbG9kaWVyZW4uIEFiYnJhbmQgb2huZSBWZXJkYWVtbXVuZyBpc3QgaW1tZXIgbm9jaCBiZXNzZXIgYWxzIGVpbmUKdmVyZGFlbW10ZS4KCldlbm4gbWFuIGRpZSBTaWNoZXJoZWl0c2Z1bmt0aW9uZW4gdW1nZWh0LCBrYW5uIG1hbiBhYmVyIGFiZXIgbWl0IGVpbmVtCkFra3Vub3RlYm9vayBzaWNoZXIgZWluZW4gRWZmZWt0IGVycmVpY2hlbiwgZGVyIGZ1ZXIgZWluIEZsdWd6ZXVnCnByb2JsZW1hdGlzY2ggd2lyZC4KCkhpZXIgbWFsIGVpbiBGaWxtLCBtaXQgZWluZXIgdW52ZXJkYWVtbXRlbiBMYXB0b3AtQmF0dGVyaWU6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1XZVdxNnJXekNodwoKSWNoIGhhYmUgbWlyIHZvciBlaW5pZ2VuIFdvY2hlbiBFeHBlcmltZW50ZSBtaXQgc29sY2hlbiBBa2t1cyBhbnNjaGF1ZW4KZHVlcmZlbi4gV2lyIGhhYmVuIG1hbCBnZXNjaGF1dCwgd2FzIGRhIHNvIHBhc3NpZXJ0LCB3ZW5uIG1hbiBkaWUKa3VyenNjaGxpZXNzdC4gV2lyIGhhdHRlbiBuYWVtbGljaCBQcm9ibGVtZSBtaXQgU3ltcGF0aGllenVlbmR1bmdlbi4gV2VubiBlaW5lClplbGxlIGluIGVpbmVyIEV1cm9wYWxldHRlIGhvY2hnaW5nLCBuYWhtIHNpZSBkaWUgYW5kZXJlbiBtaXQuCgoKV2FydW0gZGFoZXIgTGFwdG9wLUFra3VzIGFsc28gbm9jaCBpbiBPcmRudW5nIHNpbmQsIHdlaXNzIGljaCBuaWNodC4KVmVybXV0bGljaCBlaW4gS29tcHJvbWlzcyBhdXMgU2ljaGVyaGVpdCB1bmQgQmVxdWVtbGljaGtlaXQuCgpMdXN0aWcgaXN0IGRlciBIaW53ZWlzLCBkYXNzIG1hbiBzaWUgbnVyIHp1c2FtbWVuZ2ViYXV0IG1pdG5laG1lbiBkYXJmLCBmdWVyClRhdWNoZXJsYW1wZW4gZ2FsdCBiaXMgdm9yIGt1cnplbSBuYWVtbGljaCwgZGFzcyBzaWUgbnVyIGF1c2VpbmFuZGVyZ2ViYXV0IGltCkhhbmRnZXBhZWNrIG1pdGR1ZXJmZW4uIEljaCB2ZXJtdXRlLCBkYXNzIGVpbiBBbHUtR2VoYWV1c2UgZWluZSByZWNodApicmF1Y2hiYXJlIHZlcmRhZW1tdW5nIGlzdC4KCkljaCB2ZXJtdXRlLCBkYXNzIGRhcyBIYW5kZ2VwYWVjayBlaW4gU2ljaGVyaGVpdHNncnVuZCBpc3QuIEltIEdlcGFlY2tyYXVtIGhhdAptYW4gZ2FyIGtlaW5lIENoYW5jZSwgYXVmIGF1ZiBkaWUgRW50enVlbmR1bmcgZGVyIEFra3VzIHp1IHJlYWdpZXJlbi4gSW0KSGFuZGdlcGFlY2sgZmFlbGx0IGRhcyB3ZW5pZ3N0ZW5zIGF1Zi4KCkFjaHNvLCB2aWVsbGVpY2h0IG5vY2ggYWxzIEFubWVya3VuZy4gRGFzIFByb2JsZW0gaXN0IG5pY2h0IGRhcyBMaXRoaXVtLiBEYXMKUHJvYmxlbSBpc3Qgc2NobGljaHQgZGllIEVuZXJnaWUgZGllIGltIEFra3UgZ2VzcGVpY2hlcnQgaXN0LiBXZW5uIG1hbiB2aWVsCkVuZXJnaWUgaW4gZWluZW0gQWtrdSBoYXQgdW5kIGRpZXNlIGluIGt1cnplciBaZWl0IGhlcmF1c2Jla29tbWVuIGthbm4gKGdlbmF1CmRhcyBzaW5kIGphIGRpZSBBbmZvcmRlcnVuZ2VuIGFuIEFra3VzKSB3aXJkcyBnZWZhZWhybGljaC4gRGFzIFByb2JsZW0gd2lyZApzaWNoZXIgYXVjaCBpbiB6dWt1ZW5mdGlnZW4gQWtrdXMgYmVzdGVoZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTGl0aGl1bS1Ba2t1LUJlc2NocmFlbmt1bmcgRmx1Z3ZlcmtlaHIgKEdsb2luc29uLCAgNC4gSmFuIDIwMDgsIDE2OjQyOjQxKToKfiMhIHJuPVZhbmlvbiBydD0xMTk5NDUzNzY2IHJnPXd3dwp+IyEgdGlkPTExOTk0NDQ2NTkKRGFzIExpdGhpdW0gaXN0IHNjaG9uIFByb2JsZW0uIE9saXZlbm9lbCBoYXQgYXVjaCBlaW5lIGhlcnZvcnJhZ2VuZGUKRW5lcmdpZWRpY2h0ZSwgdmVyaGFlbHQgc2ljaCBhYmVyIHppZW1saWNoIGhhcm1sb3MgaW0gImdlbGFkZW5lbiIgWnVzdGFuZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoVmFuaW9uLCAgNC4gSmFuIDIwMDgsIDE3OjU4OjMzKToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk0NjEzNjEgcmc9d3d3Cn4jISB0aWQ9MTE5OTQ0NDY1OQpJY2ggd3Vzc3RlLCBpY2ggaGFldHRlIGRlbiBBcnRpa2VsIG5vY2ggbGFlbmdlciBtYWNoZW4gc29sbGVuLiBBYmVyIGljaApkYWNodGUsIGRlciBnZW5laWd0ZSBMZXNlciBrb2VubmUgc2ljaCBpbiBlaW5lciBlbnRzcHJlY2hlbmRlbiBGYWNoYXJiZWl0CnNlaW5lciBXYWhsIHdlaXRlciBzY2hsYXVtYWNoZW4uICpTZXVmeiwgbmFndXQqIEdsb2luc29uIGR1IGhhc3QgcmVjaHQsIHNvZmVybgplcyBQcmltYWVyZW5lcmdpZXNwZWljaGVyIGFuZ2VodC4gTWlyIGdpbmcgZXMgaW4gZGllc2VtIEZhbGwgdW0KU3BlaWNoZXJzeXN0ZW1lLCBkaWUgZWxla3RyaXNjaGUgRW5lcmdpZSBzcGVpY2hlcm4ga29lbm5lbi4gKEphamFqYSwKU2VrdW5kYWVyYmF0dGVyaWVuIHNpbmQgY2hlbWlzY2hlIFNwZWljaGVyLCBpY2ggd2Vpc3MgLi4uKSBPYiBkdSBhYmVyIG51biBlaW5lClNwdWxlLCBLb25kZW5zYXRvcmVuLCBtYWduZXRkeW5hbWlzY2hlIFNwZWljaGVyIChkaWUgc3BlaWNoZXJuIGRpZSBFbmVyZ2llCnVlYmVyIE1hc3NlbmltcHVscykgb2RlciBlbGVrdHJvY2hlbWlzY2hlIFNwZWljaGVyIG5pbW1zdCwgYmVpIGVpbmVyCmhpbnJlaWNoZW5kIGhvaGVuIEVuZXJnaWVkaWNodGUgKGRpZSBtYW4gaGFsdCBoZXV0ZSBicmF1Y2h0KSB3ZXJkZW4gZGllCmdlZmFlaHJsaWNoLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnNpbmdlbmRlcyBTRUsuLi4gOy0pIChaZXNzdHJhLCAgNC4gSmFuIDIwMDgsIDIwOjI3OjQyKToKV2FzIG1hbiBuaWNodCBzbyBhbGxlcyBiZWkgWW91dHViZSBmaW5kZXQuIE1pdCBTY2hhZXVibGUgYWxzIERpcmlnZW50ZW4uCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1yLUI3XzdMQTAyQQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV0dGUgU2FjaGVuIDopIChWYW5pb24sICA1LiBKYW4gMjAwOCwgMjA6NTI6NTkpOgpodHRwOi8vdW5jeWNsb3BlZGlhLm9yZy93aWtpL0FBQUFBQUFBQSEKaHR0cDovL3d3dy50aGVzbW9raW5nZ3VuLmNvbS9ncmFwaGljcy9hcnQvZmxhdGFnczExLmdpZgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IExpdGhpdW0tQWtrdS1CZXNjaHJhZW5rdW5nIEZsdWd2ZXJrZWhyIChHbG9pbnNvbiwgIDYuIEphbiAyMDA4LCAwMjozNjoxMyk6Cn4jISBybj1WYW5pb24gcnQ9MTE5OTQ2NTkxMyByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5Ck5lZSwgaGFldHRlc3QgZHUgbmljaHQuIERpZSBFbmVyZ2llZGljaHRlIGlzdCBlaW5mYWNoIG5pY2h0IGRhcyBQcm9ibGVtLApFbmRlbmVyZ2llZm9ybSBoaW4gb2RlciBoZXIsIGRpZSBJbnN0YWJpbGl0YWV0IHNjaG9uLiBVbmQgZGllIEFra3VzIGRhIGhhYmVuCmphIHNjaG9uIGJld2llc2VuLCBkYXNzIHNpZSBuaWNodCBnYW56IHVuZ2VmYWVocmxpY2ggc2luZC4KCkFuZGVyZSBGcmFnZTogaGF0IGVpZ2VudGxpY2ggbWFsIHdlciBhbiBCb3JkIGVpbmVzIGdyb3NzZW4gRmxpZWdlcnMgZWluZW4KZmV1ZXJsb2VzY2hlciBnZXNlaGVuPyBIYWIgZWhlciBub2NoIG5jaWh0IGRhbmFjaCBnZXN1Y2h0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IExpdGhpdW0tQWtrdS1CZXNjaHJhZW5rdW5nIEZsdWd2ZXJrZWhyIChPcmt0b2V0ZXIsICA2LiBKYW4gMjAwOCwgMDI6Mzc6MDUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTE5OTU4MzM3MyByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5CkRpZSBoYWJlbiBlaW5lbiBnYW56IGdyb3NzZW4gRmV1ZXJsb2VzY2hlciwgbmVubnQgc2ljaCBhdWNoIE5vdGF1c2dhbmcuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoR3JpbW1ib3JuLCAgNi4gSmFuIDIwMDgsIDA5OjM5OjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTExOTk1ODMzNzMgcmc9d3d3Cn4jISB0aWQ9MTE5OTQ0NDY1OQpKYSwgaGFiZSBpY2guIE5laW4sIGRlciBpc3QgbmljaHQgZ3V0IHNpY2h0YmFyIGltIEdhbmcgYXVmZ2VoYWVuZ3QuIERlciBpc3QKbmljaHQgZnVlciBCZW51dHp1bmcgZHVyY2ggZGllIFBhc3NhZ2llcmUsIHNvbmRlcm4gZHVyY2ggZGllIEJlc2F0enVuZy4gVW5kCmRpZSB3ZWlzcyB3byBzb2xjaGUgQXVzcnVlc3R1bmcgaXN0LgoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoWmVzc3RyYSwgIDYuIEphbiAyMDA4LCAxMDowOToxNCk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTE5OTU4MzQyNSByZz13d3cKfiMhIHRpZD0xMTk5NDQ0NjU5CkRhcyBsZXR6dGUgTWFsLCBhbHMgaWNoIGltIEZsdWd6ZXVnIHNhc3MsIGdhYnMgZGEgRmV1ZXJsb2VzY2hlciwgdmVyc3RlY2t0IGluCmRpZXNlbiBVZWJlcmtvcGYtSGFuZGdlcGFlY2tmYWVjaGVybi4gKE1pdCBlbnRzcHJlY2hlbmRlbiBNYXJraWVydW5nZW4KYWxsZXJkaW5ncyBzY2hvbi4pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBMaXRoaXVtLUFra3UtQmVzY2hyYWVua3VuZyBGbHVndmVya2VociAoWmVzc3RyYSwgIDYuIEphbiAyMDA4LCAxMDoxOTo1OCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMTk5NTgzMzczIHJnPXd3dwp+IyEgdGlkPTExOTk0NDQ2NTkKV2VubiBtYW4gc28gYWxsZ2VtZWluIHVuZCBhbGxlaW4gbWl0IGRlciBFbmVyZ2llZGljaHRlIGFyZ3VtZW50aWVydCwgc3RpbW1lCmljaCBHbG9pbnNvbiB6dS4gRXMgZ2lidCBzZWhyIHZpZWxlIE1hdGVyaWFsaWVuIHVuZCBTdG9mZmUsIGRpZSBlaW5lIGRldXRsaWNoCmhvZWhlcmUgRW5lcmdpZWRpY2h0ZSBhbHMgTGktSW9uZW4vTGktUG9seW1lci1CYXR0ZXJpZW4gaGFiZW4sIGFiZXIgZGVubm9jaApiZWkgTm9ybWFsYmVkaW5ndW5nZW4sIFdhc3NlcmtvbnRha3QgZXRjLnBwLiBkdXJjaGF1cyBzdGFiaWwgc2luZCBvZGVyIG51ciBzbwpsYW5nc2FtIGFicmVhZ2llcmVuLCBkYXNzIGVzIHp1IGtlaW5lciBha3V0IGdlZmFlaHJsaWNoZW4gU2l0dWF0aW9uIGR1cmNoIGRpZQpmcmVpZ2VzZXR6dGUgV2Flcm1lIGtvbW10LgpBZWhubGljaDogRGllIEVuZXJnaWVkaWNodGUgdm9uIHVlYmxpY2hlbiBjaGVtLiBTcHJlbmdzdG9mZmVuICg8MTBNSi9rZykgaXN0CmF1Y2ggbmljaHQgaG9laGVyIGFscyBkaWUgdm9uIFN0ZWlua29obGUgKDMwTUova2cpLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogTGl0aGl1bS1Ba2t1LUJlc2NocmFlbmt1bmcgRmx1Z3ZlcmtlaHIgKEdyaW1tYm9ybiwgIDYuIEphbiAyMDA4LCAxMTowNDo0Nyk6Cn4jISBybj1aZXNzdHJhIHJ0PTExOTk2MTExOTggcmc9d3d3Cn4jISB0aWQ9MTE5OTQ0NDY1OQpJY2ggc2FncyB1bmdlcm4sIGFiZXIgIkVuZXJnaWVkaWNodGUiIGJlZGFyZiBzY2hvbiBlaW5lciBnZW5hdWVyZW4gRGVmaW5pdGlvbi4KU29uc3Qga29tbWUgaWNoIG1pdCBkZXIgRW5lcmdpZWRpY2h0ZSB2b24gZXR3YSAxMF4xME1KL2tnIGFsbGVpbmUgZHVyY2ggZGllCk1hc3NlLCB1bmQgZGFubiBzcGllbHQgZGVyIFN0b2ZmIGF1Y2gga2VpbmUgUm9sbGUgbWVoci4gClVuZCB3YXMgRGVpbmUgU3RlaW5rb2hsZSBhbmdlaHQ6IGVpbmUgS29obGVzdGF1YmV4cGxvc2lvbiBpbSBGbHVnemV1ZyBtYWcKbmljaHQgdHJpdmlhbCBoZXJiZWl6dWZ1ZWhyZW4gc2VpbiwgaXN0IGRhbm4gYWJlciB6aWVtbGljaCBmYXRhbC4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSUNRLVByb2JsZW1lIChWYW5pb24sICA2LiBKYW4gMjAwOCwgMTQ6NDg6MTApOgpIYWxsbywKCnNlaXQgZWluaWdlbiBXb2NoZW4ga2FubiBpY2ggbWljaCBiZWkgSUNRIHp3YXIgZWlubG9nZ2VuLCBhYmVyIGljaCBiZWtvbW1lCm5pY2h0IGFuZ2V6ZWlndCwgd2VyIHNvbnN0IG5vY2ggb25saW5lIGlzdC4gRnVlciBtaWNoIHNpbmQgYWxsZSBvZmZsaW5lLgoKQmlzaGVyIGRhY2h0ZSBpY2gsIGRhcyBzZWkgZWluIEJ1ZyBpbiBtZWluZW0gQ2xpZW50IChMSUNRIGZ1ZXIgTGludXgpLCBzZWl0CmViZW4gd2Vpc3MgaWNoIGFiZXIsIGRhc3MgenVtaW5kZXN0IGJlaSBlaW5lbSBkYXMgTUFDLVRvb2wgRmlyZSBhdWNoIG5pY2h0CmZ1bmt0aW9uaWVydC4gSmV0enQgaW50ZXJlc3NpZXJ0IGVzIG1pY2ggZG9jaCBldHdhcyBtZWhyLgoKSGF0IHNvbnN0IG5vY2ggamVtYW5kIG1lcmt3dWVyZGlnZXMgVmVyaGFsdGVuIGJlaSBzZWluZW0gSUNRIGJlbWVya3Q/ClZpZWxsZWljaHQgYXVjaCBqZW1hbmQgbWl0IGVpbmVtIG9yaWdpbmFsLUlDUS1DbGllbnQ/IEhhdCBqZW1hbmQgd2FzIGdlaG9lcnQsCmRhc3MgSUNRIE1hc3NuYWhtZW4gZXJncmlmZmVuIGhhdCwgdW0gRnJlbWRjbGllbnRzIGF1c3p1c3BlcnJlbj8KClYqLCB3aWxsIElDUSB3aWVkZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSUNRLVByb2JsZW1lIChaZXNzdHJhLCAgNi4gSmFuIDIwMDgsIDE0OjQ5OjM2KToKfiMhIHJuPVZhbmlvbiBydD0xMTk5NjI3MjkwIHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKSWNoIGhhYiBhZWhubGljaGUgUHJvYmxlbWUgc2VpdCBlaW5pZ2VuIFdvY2hlbiBtaXQgbWVpbmVtCkphYmJlci1JQ1EtVHJhbnNwb3J0LCBkYXMgZ2VodCBhdWNoIG5pY2h0IG1laHIuIEthbm4gZ3V0IHNlaW4sIGRhc3MgYmVpIElDUSBkYQp3YXMgYXVzZ2VzcGVycnQgd3VyZGUuIDotKAoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElDUS1Qcm9ibGVtZSAoQmFtYnVsa28sICA2LiBKYW4gMjAwOCwgMTQ6NDk6NDYpOgp+IyEgcm49VmFuaW9uIHJ0PTExOTk2MjcyOTAgcmc9d3d3Cn4jISB0aWQ9MTE5OTYyNzI5MApJY2ggaGFiZSBiZWkga29wZXRlIHVudGVyIGxpbnV4IGF1Y2ggbWFuY2htYWwgZGFzIHByb2JsZW0sIGRhc3MgbGV1dGUgb2ZmbGluZQpnZWtlbm56ZWljaG5ldCBzaW5kLCBvYndvaGwgc2llIG1pciBnZXJhZGUgYW50d29ydGVuLiBBYmVyIGFuZGVyZSBzaW5kIGFscwpvbmxpbmUgZ2VrZW5uemVpY2huZXQuCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJQ1EtUHJvYmxlbWUgKE1haGFyZXQsICA2LiBKYW4gMjAwOCwgMTQ6NTE6MTYpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTE5OTYyNzM4NiByZz13d3cKfiMhIHRpZD0xMTk5NjI3MjkwCkJlaSBtaXIgc2luZCBkYW5uIG1hbmNoZSBhbHMgb25saW5lIGdla2VubnplaWNobmV0LCB3ZW5uIGljaCBtaXQgZGVuZW4gZ2VyYWRlCmdlcmVkZXQgaGFiZS4gQWJlciBhbiBzaWNoIHNpbmQgZXJzdG1hbCBhbGxlIG9mZmxpbmUgdW5kIGljaCBxdWF0c2NoIHNpZSBhdWYKZ3V0IEdsdWVjayBhbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IElDUS1Qcm9ibGVtZSAoQW55c2lkb3JhLCAgNi4gSmFuIDIwMDgsIDE0OjU3OjE0KToKfiMhIHJuPU1haGFyZXQgcnQ9MTE5OTYyNzQ3NiByZz13d3cKfiMhIHRpZD0xMTk5NjI3MjkwCmFsc28gaWNoIGhhYiBtaXQgbWVpbmVtIGljcSBrZWluZSBwcm9ibGVtZSwgYWJlciBpY2ggYmVudXR6ZSBhdWNoIGVpbmVuCidvcmlnaW5hbC1pY3EtY2xpZW50JywgYmVpIG1pciB3ZXJkZW4gbmljaHQgYWxsZSBvZmZsaW5lIGFuZ2V6ZWlndC4uLiB1bmQgYWxzCmljaCB1bSBzaWx2ZXN0ZXIgcnVtIGJlaSBmcmV1bmRlbiB3YXIgdW5kIGRvcnQgbWl0IG1laW5lbSBsYXB0b3Agb25saW5lLCBhdWYKZGVtIGljaCB0cmlsbGlhbiBoYWIsIGhhYiBpY2ggYXVjaCBkaWUgaWNxLWxldXRlIGdhbnogbm9ybWFsIG9ubGluZSwgYWJ3ZXNlbmQKb2RlciB3YXMtYXVjaC1pbW1lciBnZXNlaGVuCgpkYXNzIG1hbmNoZSBsZXV0ZSBvZmZsaW5lIGFuZ2V6ZWlndCB3ZXJkZW4sIG9id29obCBzaWUgb25saW5lIHNpbmQgaXN0IGphCm5vcm1hbCwgZGFubiBzaW5kIGRpZWplbmlnZW4gZ3JhZCBpbnZpcyB1bmQgaGFiZW4gZGljaCBuaWNodCBmcmVpZ2VzY2hhbHRldC4uLgphYmVyIGRhc3MgYWxsZSBvZmZsaW5lIGFuZ2V6ZWlndCB3ZXJkZW4ga2xpbmd0IGtvbWlzY2gKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IElDUS1Qcm9ibGVtZSAoVmFuaW9uLCAgNi4gSmFuIDIwMDgsIDE1OjAxOjU5KToKfiMhIHJuPUFueXNpZG9yYSBydD0xMTk5NjI3ODM0IHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKSWNoIGhhdHRlIGRhcyBnZXJhZGUgbWl0IE1haGFyZXQgZ2VjaGVja3QuIEVzIGxpZWd0IG5pY2ggYW0gSW52aXMtRmxhZywgZGVua2UKaWNoLiBadW1pbmRlc3QgbXVlc3N0ZW4gZGFubiBiZWkgbWlyIHNlaXQgV29jaGVuIGFsbGUgbWVpbmUgS29udGFrdGUgZGFzIEZsYWcKZ2VzZXR6dCBoYWJlbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBJQ1EtUHJvYmxlbWUgKEFueXNpZG9yYSwgIDYuIEphbiAyMDA4LCAxNTowMzoyOSk6Cn4jISBybj1WYW5pb24gcnQ9MTE5OTYyODExOSByZz13d3cKfiMhIHRpZD0xMTk5NjI3MjkwCm5hamEsIGRhcyB3YXIgamV0enQgYXVjaCBlaGVyIGF1ZiBiYW1idWxrb3MgYXVzc2FnZSBiZXpvZ2VuLCBkYXNzIGVyIG1hbmNoZQphbHMgb2ZmbGluZSBzaWVodCBvYiB3b2hsIHNpZSBpaG0gYW50d29ydGVuIC4uLiB3aWUgZ2VzYWd0LCBkYXNzIGFsbGUgb2ZmbGluZQphbmdlemVpZ3Qgd2lyZCBrbGluZ3Qgc2VsdHNhbSB1bmQgbmljaHQgZGFuYWNoLCBhbHMgb2IgZXMgYW0gaW52aXMgbGllZ3QgLi4uCmFiZXIgaWNoIGhhYiBkYSBsZWlkZXIgYXVjaCBrZWluZSBhaG51bmcsIHdhcyBkZXIgZ3J1bmQgc2VpbiBrb2VubnRlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBJQ1EtUHJvYmxlbWUgKFJ1bWF0YSwgIDYuIEphbiAyMDA4LCAxNTowNDoyOSk6Cn4jISBybj1BbnlzaWRvcmEgcnQ9MTE5OTYyODIwOSByZz13d3cKfiMhIHRpZD0xMTk5NjI3MjkwCkRhcyBpc3Qgc2ljaGVyIGVpbmUgRm9sZ2UgZGVyIG5ldWVuIFZvcnJhdHNkYXRlbnNwZWljaGVydW5nIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBJQ1EtUHJvYmxlbWUgKEVsam8sICA2LiBKYW4gMjAwOCwgMTU6MDg6MTgpOgp+IyEgcm49UnVtYXRhIHJ0PTExOTk2MjgyNjkgcmc9d3d3Cn4jISB0aWQ9MTE5OTYyNzI5MApBbHNvIE1pcmFuZGEgemVpZ3Qgd2VpdGVyaGluIExldXRlIG9ubGluZSBhbiwgYWxzbyBzY2hlaW50IGVzIGtlaW5lCkRpc2tyaW1pbmllcnVuZyBhbGxlciBGcmVtZGNsaWVudHMgenUgc2Vpbi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBJQ1EtUHJvYmxlbWUgKE9ya3RvZXRlciwgIDYuIEphbiAyMDA4LCAxODoxMTo0NSk6Cn4jISBybj1FbGpvIHJ0PTExOTk2Mjg0OTggcmc9d3d3Cn4jISB0aWQ9MTE5OTYyNzI5MApFaW4gQmVrYW5udGVyIHZvbiBtaXIgaGF0dGUgZGFzIFByb2JsZW0gYXVjaCwgYmF0IG1pY2ggaWhuIG5ldSB6dQphdXRob3Jpc2llcmVuLCBkYW5hY2ggZ2luZyBlcyB3aWVkZXIuIElzdCBhYmVyIHNpY2hlciBrZWluZSBzZWhyIGJlZnJpZWRpZ2VuZGUKTG9lc3VuZyBldnRsLiB6aWcgTGV1dGVuIG1haWxzIHp1IHNlbmRlbiB1bmQgdW0gbmV1ZSBBdXRob3Jpc2llcnVuZyB6dSBiaXR0ZW4uCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogSUNRLVByb2JsZW1lIChNYWhhcmV0LCAgNi4gSmFuIDIwMDgsIDE4OjIyOjIzKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMTk5NjM5NTA1IHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKSG0sIG9iIGRhcyB3aXJrbGljaCBkYXNzZWxiZSBQcm9ibGVtIHdhcj8gQ2F0dHkgaGF0dGUgbWljaCBhdWNoIHVtCkF1dGhvcmlzaWVydW5nIGdlYmV0ZW4gdW5kIGRhbWl0IG1pY2ggamEgYXVjaCBlcm5ldXQgYXV0aG9yaXNpZXJ0LCB0cm90emRlbQppc3QgZXIgZ2VuYXVzbyBvZmZsaW5lIG1hcmtpZXJ0IHdpZSBhbGxlIGFuZGVyZW4gYXVjaC4gU2VsYnN0IGFscyBlcgpuYWNod2Vpc2xpY2ggb25saW5lIHdhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBJQ1EtUHJvYmxlbWUgKFBlcmRpdGEsICA2LiBKYW4gMjAwOCwgMjA6Mjk6MDYpOgp+IyEgcm49TWFoYXJldCBydD0xMTk5NjQwMTQzIHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKaWNoIGhhYnMgbWFuY2htYWwgYXVjaCBiZWkgRWluemVscGVyc29uZW4sIGRhc3MgaWNoIGRpZSBhbHMgb2ZmbGluZSBzZWhlLApvYndvaGwgc2llIG9ubGluZSBzaW5kIChnZWxsLCBKYW5uZT8pLiBNaXQgbmVtIE9yaWdpbmFsIElDUSBDbGllbnQuIEhhYiBhdWNoCmJpcyBoZXV0ZSBuaWNodCByYXVzZ2VmdW5kZW4sIHdvcmFuIGRhcyBsaWVndC4KUGVyZGl0YQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTE6IElDUS1Qcm9ibGVtZSAoWmVzc3RyYSwgIDYuIEphbiAyMDA4LCAyMDo1NToxNSk6Cn4jISBybj1QZXJkaXRhIHJ0PTExOTk2NDc3NDYgcmc9d3d3Cn4jISB0aWQ9MTE5OTYyNzI5MApuYWphLCBiaW4gamEgaXJnZW5kd2llIGZyb2gsIGhhdXB0c2FlY2hsaWNoIGphYmJlciB6dSBiZW51dHplbi4gVmllbGxlaWNodApzb2xsdGUgSUNRIGVpbmZhY2ggYmFsZCBtYWwgZ2FueiByYXVzbG9lc2NoZW4gYXVzIG1laW5lciBDbGllbnQtS29uZmlndXJhdGlvbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBJQ1EtUHJvYmxlbWUgKENoYWdhbGwsICA3LiBKYW4gMjAwOCwgMTc6MDk6MjcpOgp+IyEgcm49WmVzc3RyYSBydD0xMTk5NjQ5MzE1IHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKSUNRIHJhdXNsb2VzY2hlbiBpc3QgZWluZSBndXRlIElkZWUuIERhIGljaCBqYSBuaWNodCBtZWhyIGFuIG1laW5lbgpJQ1EtQWNjb3VudCBrb21tZSwgaGFlbHQgc2ljaCBkaWUgTnV0enVuZyBiZWkgbWlyIGRvY2ggYXJnIGluIEdyZW56ZW4uCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM6IElDUS1Qcm9ibGVtZSAoTWFoYXJldCwgIDcuIEphbiAyMDA4LCAxOToyODo1Nyk6Cn4jISBybj1DaGFnYWxsIHJ0PTExOTk3MjIxNjcgcmc9d3d3Cn4jISB0aWQ9MTE5OTYyNzI5MApLZWluZSBBbHRlcm5hdGl2ZSwgd2VubiBtYW4gbWl0IGJlc3RpbW10ZW4gTGV1dGVuIGZhc3QgbnVyIHBlciBJQ1EKa29tbXVuaXppZXJ0LiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE0OiBJQ1EtUHJvYmxlbWUgKENoYWdhbGwsICA3LiBKYW4gMjAwOCwgMTk6MzU6MjYpOgp+IyEgcm49TWFoYXJldCBydD0xMTk5NzMwNTM3IHJnPXd3dwp+IyEgdGlkPTExOTk2MjcyOTAKTmFqYSwgbWVpbiBQYXNzd29ydCBnaW5nIG5pY2h0IG1laHIsIGRlciBJQ1EtU3VwcG9ydCB3YXIgdW5mYWVoaWcgenUgaGVsZmVuCnVuZCBkaWUgRW1haWxhZHJlc3NlIGRpZSBpY2ggaGludGVybGVndCBoYXR0ZSB3YXIgZ2VhZW5kZXJ0LiBEYSBmYWVsbHQgZGllCldhaGwgbmljaHQgc2Nod2VyLCB3ZWd6dWJsZWliZW4uCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV29XIFBvcm4gKEJhbWJ1bGtvLCAgOS4gSmFuIDIwMDgsIDE2OjUxOjUyKToKIGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj12UEZrbUdSZHd1cyAKCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV29XIFBvcm4gKEtlc3NhLCAgOS4gSmFuIDIwMDgsIDE4OjE4OjA0KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExOTk4OTM5MTIgcmc9d3d3Cn4jISB0aWQ9MTE5OTg5MzkxMgpKYSwgZGFzIGZldHp0IGltbWVyIG5vY2ggOikgSGllciBrYW5uIG1hbiBlcyBhdWNoIFJ1bnRlcmxhZGVuIChiZWkgRmlsZWZyb250KToKCmh0dHA6Ly90aW55dXJsLmNvbS8zZXloOG8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpiYXNoLm9yZyAoR2xvaW5zb24sICA5LiBKYW4gMjAwOCwgMTk6NDQ6MDMpOgojNjc1MTA1ICsoODA0KS0gW1hdCgo8a2FuPiB0aGUgbmlnZXJpYW4gZ292ZXJubWVudCBoYXMgb3JkZXJkIDEsMDAwLDAwMCBvZiB0aG9zZSAiMTAwIGRvbGxhcgpsYXB0b3BzIiBmb3IgaXRzIHBlb3BsZS4KPGthbj4ganVzdCB3aGF0IHdlIG5lZWQgbW9yZSBuaWdlcmlhbnMgc2VuZGluZyBlbWFpbC4KCkhhIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb1cgUG9ybiAoUnVtYXRhLCAxMi4gSmFuIDIwMDgsIDIwOjQ2OjIwKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTExOTk4OTM5MTIgcmc9d3d3Cn4jISB0aWQ9MTE5OTg5MzkxMgpTY2hlaXNzZSwgaWNoIGtyaWVnIGRhcyBMaWVkIG5pY2h0IG1laHIgYXVzIGRlbSBLb3BmLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXb1cgUG9ybiAoVmVjdG9yLCAxMi4gSmFuIDIwMDgsIDIyOjE3OjU5KToKfiMhIHJuPVJ1bWF0YSBydD0xMjAwMTY3MTgwIHJnPXd3dwp+IyEgdGlkPTExOTk4OTM5MTIKdGphIGRhbm4gYnJhdWNoc3QgZHUgamEgbnVuIG5lbiBuZXVlbiBvaHJ3dXJtCmh0dHA6Ly95b3V0dWJlLmNvbS93YXRjaD92PWFXMy1zUzdRZ2dRCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXb1cgUG9ybiAoUm9uZGEsIDEzLiBKYW4gMjAwOCwgMDA6MjA6NDMpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMDAxNzI2Nzkgcmc9d3d3Cn4jISB0aWQ9MTE5OTg5MzkxMgouLi4gaXJnZW5kd2llIGRhY2h0ZSBpY2ggZGFiZWkgZWhlciBhbiBkaWVzZW4gQWx0ZXJuYXRpdi1PaHJ3dXJtOgoKaHR0cDovL3d3dy53aXNlZ3V5cy5kZS9zb3VuZHMvcGZlZmZlci8zMC82NC9PaHJ3dXJtLm1wMwoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFdvVyBQb3JuIChSdW1hdGEsIDEzLiBKYW4gMjAwOCwgMjA6Mjg6NDApOgp+IyEgcm49Um9uZGEgcnQ9MTIwMDE4MDA0MyByZz13d3cKfiMhIHRpZD0xMTk5ODkzOTEyCkRlciBCb251c3RyYWNrIGRlciBDRCAiUmFkaW8iIGlzdCAqZGVyKiBBbHRlcm5hdGl2IE9ocnd1cm0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBXb1cgUG9ybiAoTWFyY3VzLCAxMy4gSmFuIDIwMDgsIDIxOjQzOjAxKToKfiMhIHJuPVJ1bWF0YSBydD0xMjAwMjUyNTIwIHJnPXd3dwp+IyEgdGlkPTExOTk4OTM5MTIKTmFqYSwgZWhlciBkZXIgQW50aSBPaHJ3dXJtLgoKQWJlciBoZWxmZW4gdHV0IGVyIGF1Y2ggbmV0IHVuYmJlZGluZ3QuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFdvVyBQb3JuIChSdW1hdGEsIDE0LiBKYW4gMjAwOCwgMDk6Mjg6MDQpOgp+IyEgcm49TWFyY3VzIHJ0PTEyMDAyNTY5ODEgcmc9d3d3Cn4jISB0aWQ9MTE5OTg5MzkxMgpKZWRlbmZhbGxzIGhhdCBkaWUgV0MtRW50ZSAoenVtIEdsZXVjaykgbmljaHQgZnVua3Rpb25pZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2llIGVpbiBEZWFkbG9jayBhdXNzaWVodC4uLiAoWmVzc3RyYSwgMTcuIEphbiAyMDA4LCAyMjowODozMik6Cm5ldHRlcyBCaWxkIGltIEJsb2cgdm9uIEplbnMgS3ViaWV6aWVsLiA7LSkKaHR0cDovL3d3dy5rdWJpZXppZWwuZGUvYmxvZy9hcmNoaXZlcy84NTAtV2llLWVpbi1EZWFkbG9jay1hdXNzaWVodC5odG1sCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgR3lzaS1Tb25nIDopIChWYW5pb24sIDE4LiBKYW4gMjAwOCwgMjA6MTM6MjEpOgoKaHR0cDovL3d3dzMubmRyLmRlL25kcnR2X3BhZ2VzX3ZpZGVvLzAsLFNQTTIzNjJfVklENDUyNzEyMCwwMC5odG1sCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBHeXNpLVNvbmcgOikgKFZhbmlvbiwgMjAuIEphbiAyMDA4LCAwMDoxOTo1OSk6Cn4jISBybj1WYW5pb24gcnQ9MTIwMDY4MzYwMSByZz13d3cKfiMhIHRpZD0xMjAwNjgzNjAxCkhhYiBnZWhvZXJ0LCBkYXNzIGVzIFByb2JsZW1lIG1pdCBkZW0gTGluayBnaWJ0LiAKCmh0dHA6Ly93d3cubmRyLmRlL2V4dHJhMyAgLT4gRGEgaW4gZGVyIE1pdHRlIGxpbmtzIGF1ZiAiRWFzeSBHeXNpIiBrbGlja2VuLgpEaWUgU2VpdGUgaXN0IGF1Y2ggc29uc3Qgc2VoZW5zd2VydC4gRGllIFNlbmR1bmcgYXVjaCwgZGFzIGJyYXVjaCBpY2ggd29obApuaWNoIHNhZ2VuIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWV1Ymxpc21lbiAoR2xvaW5zb24sIDIxLiBKYW4gMjAwOCwgMTI6NTI6NTMpOgpTZWhyIHNjaG9lbiBtYWwgaGllciB2b3JnZWZ1ZWhydDoKCmh0dHA6Ly93d3cubGF3YmxvZy5kZS9pbmRleC5waHAvYXJjaGl2ZXMvMjAwOC8wMS8yMC91bmFudGFzdGJhci11bnp1bGFzc2lnLWluLQprZWluZW0tZmFsbC8KaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20veXJnYndzCmh0dHA6Ly90aW55dXJsLmNvbS95cmdid3MKCkljaCBrYW5uIG1pciBpbW1lciB3ZW5pZ2VyIHZvcnN0ZWxsZW4sIHdhcnVtIG1hbiBkZW4gTWFubiBkaXJla3QgZ2V3YWVobHQKaGFiZW4gbW9lY2h0ZS4gRXMgZ2lidCBqYSBLb25zZXJ2YXRpdmUsIGVzIGdpYnQgamEgYWdncmVzc2l2IEtvbnNlcnZhdGl2ZSBhYmVyCmVyIHNwcmVuZ3QgZG9jaCBlaW5mYWNoIHp1IGdlcm4gYWxsZSBHcmVuemVuLiBPZGVyIGxvYnQgZXIgc2ljaCBpbiBmdWVuZgpKYWhyZW4gZGFubiBkYWZ1ZXIsIGRhc3MgZXIgdW5zIGphIGFsbGUgbnVyIGF1ZndlY2tlbiB3b2xsdGUsIGFrYSAiRGVyIFByZWlzCmRlciBGcmVpaGVpdCBpc3QgZXdpZ2UgV2FjaHNhbWtlaXQiPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhcyBpc3QgbWFsIGVpbiBTdGVpbmNoZW4gLi4uIChHbG9pbnNvbiwgMjEuIEphbiAyMDA4LCAxNDozMDo0Mik6Cmh0dHA6Ly93d3cud2VnbmVyY3J5c3RhbG1pbmVzLmNvbS8yMi9pbWFnZXNtZi9KVU5FJTIwMDYlMjBXRUJTSVRFL1VyZy4lMjBBbWV0aApzeXQlMjBHZW9kZS5KUEcKaHR0cDovL3Rpbnl1cmwuY29tL3lzbmFhYgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRodW5kZXIhIFRodW5kZXIhIFRodW5kZXIuLi4gKEdsb2luc29uLCAyMy4gSmFuIDIwMDgsIDE4OjMyOjExKToKaHR0cDovL3d3dy5jb21taXNzaW9uZWRjb21pYy5jb20vP3A9NzMKCihmdWVyIEh1bW5pKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBhcmlzIGluIDkgTWludXRlbiAoR2xvaW5zb24sIDI1LiBKYW4gMjAwOCwgMTc6MDk6NDQpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZkxDMy1CY2lXbGsKCihad2lzY2hlbiBCZWdpbm4gKEF2ZW51ZSBGb2NoZSkgdW5kIFN0ZWxlIChQbGFjZSBkZSBsYSBDb25jb3JkZSkgMTEwIGttL2ggaW0KU2Nobml0dC4pIAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBGYWhycmFkIGF1cyAuLi4gKEdsb2luc29uLCAyNS4gSmFuIDIwMDgsIDE3OjE4OjEwKToKCi4uLiBIb2x6IQoKaHR0cDovL3d3dy5sZWV2YWxsZXkuY29tL25ld3NsZXR0ZXJzL1dvb2R3b3JraW5nLzIvMy9hcnRpY2xlMS5odG0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJc3QgIlNpbm4gbWFjaGVuIiBnb3R0ZXNsYWVzdGVybGljaD8gKEdsb2luc29uLCAyNS4gSmFuIDIwMDgsIDE3OjI5OjA4KToKaHR0cDovL3d3dy5pYWFzLnVuaS1icmVtZW4uZGUvc3ByYWNoYmxvZy8yMDA3LzEwLzAxL3Npbm5lc2ZyZXVkZW4taS8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOb3N0YWxnaWUuLi4uIChPcmt0b2V0ZXIsIDI1LiBKYW4gMjAwOCwgMjM6MDg6MjQpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MDhmczhuM3pySzAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYXJpcyBpbiA5IE1pbnV0ZW4gKEdyaW1tYm9ybiwgMjcuIEphbiAyMDA4LCAxNToxNjoyMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjAxMjc3Mzg0IHJnPXd3dwp+IyEgdGlkPTEyMDEyNzczODQKU2VociBzY2hvZW4uIEljaCBob2ZmZSBkZW4gaGFiZW4gc2llIGFuc2NobGllc3NlbmQgZWluZ2VidWNodGV0LiAKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0Nzc3OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChBbnRoZWEsIDI4LiBKYW4gMjAwOCwgMTA6MjI6MTMpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTIwMTUxMTQyMSByZz1tZWdhc2NobWFycm4KfiMhIHRpZD05ODIzMjgyNzgKSGFjaCBqYS4gRWluIG5ldHRlciBhbHRlciBBdXNzY2huaXR0IGF1cyAiRXh0cmEgMyIgdWViZXIgZGllCiJLdWNoZW5ibGVjaG1hZmlhIiwgZGllIG51ciB1bnNvbGlkZSBQYW56ZXJzY2hyYWVua2UgdmVya2F1ZnQsIGRpZSBpbiBTZWt1bmRlbgp6dSBvZWZmbmVuIHNpbmQuCgpodHRwOi8vd3d3Lmhvcm5veGUuY29tL2RpZS1rdWNoZW5ibGVjaG1hZmlhLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0Nzc4OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChSdW1hdGEsIDI4LiBKYW4gMjAwOCwgMTA6MzA6NDYpOgp+IyEgcm49QW50aGVhIHJ0PTEyMDE1MTIxMzMgcmc9d3d3Cn4jISB0aWQ9OTgyMzI4Mjc4CldpZXZpZWxlIFBvcm5vcyBtdXNzIG1hbiBkYSBydW50ZXJsYWRlbiwgYmlzIG1hbiBhbiBkZW4gZ2V3dWVuc2NodGVuIEluaGFsdAprb21tdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzNDc3OTogSGFjaC4uLiBudSBpcyB3YXMgZHJpbiwgaW5uZXIgTVBBLiAoQW50aGVhLCAyOC4gSmFuIDIwMDgsIDEwOjMzOjQ0KToKfiMhIHJuPVJ1bWF0YSBydD0xMjAxNTEyNjQ2IHJnPXd3dwp+IyEgdGlkPTk4MjMyODI3OApQb3Jub3MgcnVudGVybGFkZW4/IEFjaCBzbywgRHUgbWVpbnN0IGRpZSB1bHRyYXRvbGxlIFdlcmJlZWluYmxlbmR1bmc/IEFiZXIKYWZ1IGRlciBTZWl0ZSBpc3QgZWluIGdyb3NzZXMgVmlkZW8sIHVuZCB3ZW5uIG1hbiBkYSBsaW5rcyB1bnRlbiBhdWYgZGVuClBsYXktS25vcGYgZHJ1ZWNrdCBnZWh0IGVzIGxvcy4gQWx0ZXJuYXRpdiBnaWJ0IGVzIG5vY2ggZWluZW4gIkRpZXNlbiBDbGlwCmRvd25sb2FkZW4iLUxpbmssIGRlciBoaWVyaGluIHZlcndlaXN0OgpodHRwOi8vcmFwaWRzaGFyZS5jb20vZmlsZXMvODQ4ODg4MDEvS3VjaGVuYmxlY2htYWZpYV9wYW56ZXJrbmFja2VyLmZsdgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0NzgwOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChSdW1hdGEsIDI4LiBKYW4gMjAwOCwgMTA6NDM6MjgpOgp+IyEgcm49QW50aGVhIHJ0PTEyMDE1MTI4MjQgcmc9d3d3Cn4jISB0aWQ9OTgyMzI4Mjc4Cldlbm4gcGVyIGRlZmF1bHQgcGVyIG5vc2NyaXB0IHJlaXN0LCBiZWtvbW10IG1hbiBhdXNzZXIgZGVyICJnZWlsZW4gU2NobGFtcGVuIgpuaWNodCB2aWVsIHp1IHNlaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0NzgxOiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChSdW1hdGEsIDI4LiBKYW4gMjAwOCwgMTA6NDQ6MDApOgp+IyEgcm49UnVtYXRhIHJ0PTEyMDE1MTM0MDggcmc9d3d3Cn4jISB0aWQ9OTgyMzI4Mjc4Ci4uLiBhdWYgYmVzYWd0ZXIgU2VpdGUgenVtaW5kZXN0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTM0Nzc5OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChPcmt0b2V0ZXIsIDI4LiBKYW4gMjAwOCwgMTc6MjE6MzMpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMDE1MTI2NDYgcmc9d3d3Cn4jISB0aWQ9OTgyMzI4Mjc4ClVuZD8gV2llIHZpZWxlIGhhc3QgZHUgaGVydW50ZXJnZWxhZGVuIGJpcyBkdSBhdWZnZWdlYmVuIHVuZCBkaWUgbWFpbApnZXNjaHJpZWJlbiBoYXN0PwoKT3JrVCwgbmV1Z2llcmlnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVuZGVzZmFtaWxpZW5taW5pc3Rlcml1bSB3aWxsIHJlbGlnaW9uc2tyaXRpc2NoZXMgS2luZGVyYnVjaCBpbmRpemllcmVuIChHbG9pbnNvbiwgMzEuIEphbiAyMDA4LCAxMDo1NzozMSk6Cmh0dHA6Ly9ocGQtb25saW5lLmRlL25vZGUvMzcxNQoKKGZyaXNjaCBhdXMgZGVtIExhd2Jsb2cgaW1wb3J0aWVydCB1bmQgaGVycmxpY2ggYWxiZXJuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgSk8gTUVJIChMYXJhbmppbmhhLCAgMS4gRmViIDIwMDgsIDAxOjAwOjQ5KToKCiBodHRwOi8veW91dHViZS5jb20vd2F0Y2g/dj1ScXRnZmprQjZQZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJvbGxlbnNwaWVsZXJ0eXBlbiAoR3dlbiwgIDcuIEZlYiAyMDA4LCAxMDoxMTo1Nik6Cmh0dHA6Ly93d3cuZGFya2xlZ2FjeWNvbWljcy5jb20vMTI2Lmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSb2xsZW5zcGllbGVydHlwZW4gKENyb2Z0LCAgNy4gRmViIDIwMDgsIDExOjUzOjM5KToKfiMhIHJuPUd3ZW4gcnQ9MTIwMjM3NTUxNiByZz13d3cKfiMhIHRpZD0xMjAyMzc1NTE2CidOUEMtSGllcmFyY2hpZSBpbiBXb1cnIHdhZXIgZGllIGJlc3NlcmUgVWViZXJzY2hyaWZ0ICwtKQoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSb2xsZW5zcGllbGVydHlwZW4gKEtlc3NhLCAgNy4gRmViIDIwMDgsIDIzOjMwOjIwKToKfiMhIHJuPUd3ZW4gcnQ9MTIwMjM3NTUxNiByZz13d3cKfiMhIHRpZD0xMjAyMzc1NTE2CkRlciBHbm9taW5nZW5pZXVyIGdhbnogdW50ZW4gaXN0IGRhcyBiZXN0ZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NoYWV1YmxlIGVya2xhZXJ0IHNlaW5lbiBVZWJlcndhY2h1bmdzc3RhYXQgKFZpbmNlbnQsIDEwLiBGZWIgMjAwOCwgMTc6NDA6MzcpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UTVGMkgyOFZHT00KCkFiZ2VvcmRuZXRlIHVuZCBEaXBsb21hdGVuIG11ZXNzZW4gZGllc2VuIEUtUGFzcyB1ZWJyaWdlbnMgbmljaHQgaGFiZW4uLi4KCiAgIFZpbmNlbnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk51bW1lcm5zY2hpbGQgLi4uIGZ1ZXIgR2Vla3MgKEdsb2luc29uLCAxNS4gRmViIDIwMDgsIDEwOjAyOjEzKToKaHR0cDovL3d3dy5wb2ludDIuZGUvaW1hZ2UxMDI1Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTnVtbWVybnNjaGlsZCAuLi4gZnVlciBHZWVrcyAoR3JpbW1ib3JuLCAxNS4gRmViIDIwMDgsIDEwOjA4OjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDMwNjYxMzMgcmc9d3d3Cn4jISB0aWQ9MTIwMzA2NjEzMwpCZWthbm50ZXIgdm9uIG1pciBpbiBSZXV0bGluZ2VuIChSVCkgaGF0IHNpY2ggYWxzIHp3ZWl0ZW4gQmVzdGFuZHRlaWwgRk0gZ2ViZW4KbGFzc2VuLiBEaWUgTnVtbWVyIGRhaGludGVyIGlzdCBkYW5uIGhhbHQgc2lubmxvcy4KU2Nob2VuIHdhciBkb2NoIG5ldWxpY2ggYXVjaCBkZXIgQmVyaWNodCB1ZWJlciBkZW4gU3Rhcm5iZXJnZXIsIGRlciBmdWVyCnNlaW5lbiBBdWRpIEthZWZeV1RUIHNpY2ggZGllIEtvbWJpbmF0aW9uICJUVCA2IiBoYXQgZ2ViZW4gbGFzc2VuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE51bW1lcm5zY2hpbGQgLi4uIGZ1ZXIgR2Vla3MgKEJhbWJ1bGtvLCAxNS4gRmViIDIwMDgsIDEwOjE0OjMzKToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMjAzMDY2NTE0IHJnPXd3dwp+IyEgdGlkPTEyMDMwNjYxMzMKS29taXNjaCwgdm9yIGVpbiBwYWFyIFdvY2hlbiBoYXR0ZSBkYXMgZG9jaCBhbmdlYmxpY2ggbm9jaCBlaW4KUG9yc2NoZWZhaHJlci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTnVtbWVybnNjaGlsZCAuLi4gZnVlciBHZWVrcyAoR3dlbiwgMTUuIEZlYiAyMDA4LCAxMDoxNjozNik6Cn4jISBybj1CYW1idWxrbyBydD0xMjAzMDY2ODczIHJnPXd3dwp+IyEgdGlkPTEyMDMwNjYxMzMKaHR0cDovL2VzLWRlLXdlLm5ldC92NC93cC1jb250ZW50L3N0YS10dC02LmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTnVtbWVybnNjaGlsZCAuLi4gZnVlciBHZWVrcyAoR3JpbW1ib3JuLCAxNS4gRmViIDIwMDgsIDEwOjE4OjA2KToKfiMhIHJuPUd3ZW4gcnQ9MTIwMzA2Njk5NiByZz13d3cKfiMhIHRpZD0xMjAzMDY2MTMzCk9oIGphLCBkYXMgaW52YWxpZGllcnQgbmF0dWVybGljaCBkaWUgUG9pbnRlLCBpY2ggYml0dGUgdmllbG1hbHMgdW0KRW50c2NodWxkaWd1bmcuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJhYnlzY2h3aW1tZW4gbWFsIGFuZGVycyAoTWFoYXJldCwgMTUuIEZlYiAyMDA4LCAxMzoxOTo1MSk6CkZ1ZXIgZGllIEVsdGVybiB1bnRlciB1bnM6Cmh0dHA6Ly93d3cuY2hpbGRkcm93bmluZ3ByZXZlbnRpb24uY29tL2luZGV4Lmh0bWwKCmp1c3QgYW1hemluZywgaWNoIHd1ZXJkZSBlaW4gSmFociBsYW5nIG51ciB0cm9ja2VuIEJyb3QgZXNzZW4sIHVtIG1laW5lbSBLaW5kCnNvIGVpbmVuIEt1cnMgenUgZXJtb2VnbGljaGVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJhYnlzY2h3aW1tZW4gbWFsIGFuZGVycyAoQmFtYnVsa28sIDE1LiBGZWIgMjAwOCwgMTM6MjQ6NDQpOgp+IyEgcm49TWFoYXJldCBydD0xMjAzMDc3OTkxIHJnPXd3dwp+IyEgdGlkPTEyMDMwNzc5OTEKSmV0enQgYnJhdWNoZSBpY2ggbnVyIG5vY2ggZWluZW4gU3dpbW1pbmcgUG9vbC4uLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJhYnlzY2h3aW1tZW4gbWFsIGFuZGVycyAoR3JpbW1ib3JuLCAxNS4gRmViIDIwMDgsIDEzOjI5OjU2KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyMDMwNzgyODQgcmc9d3d3Cn4jISB0aWQ9MTIwMzA3Nzk5MQpKYSwgaG9lcnQgc2ljaCBrbGFzc2UgYW4uIFdlbm4gZGFzIHNlY2hzbW9uYXRpZ2UgS2luZCBtYWwgd2llZGVyIHZvZWxsaWcKaGVrdGlzY2ggYnJ1ZWxsdCB1bmQgc2ljaCBnYXIgbmljaHQgbWVociBiZXJ1aGlnZW4gd2lsbCBzY2htZWlzc3QgbWFucyBlaW5mYWNoCmlucyBXYXNzZXIsIHNjaG9uIGVudHNwYW5udCBlcyBzaWNoIHVuZCBlcyBpc3QgKHJlbGF0aXZlKSBSdWhlLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFieXNjaHdpbW1lbiBtYWwgYW5kZXJzIChHbG9pbnNvbiwgMTUuIEZlYiAyMDA4LCAxMzozMzo1MSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyMDMwNzc5OTEgcmc9d3d3Cn4jISB0aWQ9MTIwMzA3Nzk5MQpUcm9ja2VuIEJyb3Q/IERhcyBtYWNodCBkYW5uIGFsc28gfjYwMC08b3BlbiBlbmQ+IEV1cm8gRXJzcGFybmlzLiBTaWNoZXIsIGRhc3MKZXMgYWVobmxpY2hlIFNjaHdpbW1rbGFzc2VuIG5pY2h0IGF1Y2ggaW4gRCBnaWJ0PyBEYW5uIGZhZWxsdCBkZXIgRmx1ZyB3ZWcgdW5kCjYwMCwtIHNvbGx0ZW4gZGFzIGRlY2tlbiA7KSBFaW4gZW5nYWdpZXJ0ZXIgQmFkZW1laXN0ZXIvU2Nod2ltbWxlaHJlciBiZWtvbW10CmRhcyBzaWNoZXIgaGluLgoKUFM6IEdlc3VuZGhlaXRsaWNoZSBTY2hhZWRlbiBkdXJjaCAiVHJvY2tlbiBCcm90Ii1EaWFldCBhdXNzZW4gdm9yIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBCYWJ5c2Nod2ltbWVuIG1hbCBhbmRlcnMgKE1haGFyZXQsIDE1LiBGZWIgMjAwOCwgMTM6Mzk6NTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwMzA3ODgzMSByZz13d3cKfiMhIHRpZD0xMjAzMDc3OTkxCkljaCBnbGF1YmUsIGVzIGJyYXVjaHQgbWVociBhbHMgZWluZW4gU2Nod2ltbWxlaHJlci4gUmFuYSB0aWNrdCBzY2hvbiBhdXMsCndlbm4gc2llIG51ciBlaW5lbiBUcm9wZmVuIFdhc3NlciBhdWYgZGVuIEtvcGYga3JpZWd0LiBFcyBnZWh0IG1laHIgZGFydW0sIGRlbgpLaW5kZXJuIGJlaXp1YnJpbmdlbiwgbmljaHQgaW4gUGFuaWsgenUgZ2VyYXRlbiwgZGVua2UgaWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogQmFieXNjaHdpbW1lbiBtYWwgYW5kZXJzIChHbG9pbnNvbiwgMTUuIEZlYiAyMDA4LCAxMzo0NDowNyk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyMDMwNzkxOTAgcmc9d3d3Cn4jISB0aWQ9MTIwMzA3Nzk5MQpEaWUgUGFuaWsgZWluZXMgS2luZGVzIHVudGVyIGRlc3NlbiBLb250cm9sbGUgenUgYnJpbmdlbiBfaXN0XyBkaWUgQXVmZ2FiZQplaW5lcyBTY2h3aW1tbGVocmVycy4gV2VubiBkYXMgS2luZCA2IEphaHJlIGFsdCBpc3QsIGRpZSBLbGFzc2UgMTUgS2luZGVyCnN0YXJrIGlzdCB1bmQgendlaSBQZXJzb25lbiBkYXMgU2Nod2ltbWVuIGxlaHJlbiB3aXJkIGVzIGF1Y2ggbmljaHQgd2VzZW50bGljaAplaW5mYWNoZXIuClNwcmljaDogaWNoIHNwcmFlY2hlIGFuIGRlaW5lciBTdGVsbGUgZXJzdG1hbCBlaW5lbiBTY2h3aW1tbGVocmVyIGFuLCB3YXMgZXIKdm9uIGRlciBJZGVlIGhhZWx0IHNvIGV0d2FzIGF1c3p1cHJvYmllcmVuLiBWb3IgZGVtIEZsdWcgOikKCihKYWphLCB3aWVkZXIgRXJmYWhydW5nZW4gYXVzIHp3ZWl0ZXIgSGFuZC4gTXV0dGVyL0Jla2FubnRlIFNjaHdpbW1sZWhyZXIuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEJhYnlzY2h3aW1tZW4gbWFsIGFuZGVycyAoTWFoYXJldCwgMTUuIEZlYiAyMDA4LCAxMzo0NjoxMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjAzMDc5NDQ3IHJnPXd3dwp+IyEgdGlkPTEyMDMwNzc5OTEKSWNoIGhhdHRlIGF1Y2ggbmljaHQgdm9yLCBkYWZ1ZXIgaW4gZGllIFN0YWF0ZW4genUgZmxpZWdlbi4gRGEgaXN0IG5hZW1saWNoCmRhcyBHZWxkIG51ciBlaW5zIHZvbiBtZWhyZXJlbiBIdWVyZGVuLiBEYWhlciBtZWluIEtvbmp1bmt0aXYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCYWJ5c2Nod2ltbWVuIG1hbCBhbmRlcnMgKEhvYm8sIDE2LiBGZWIgMjAwOCwgMjE6MjU6NTApOgp+IyEgcm49TWFoYXJldCBydD0xMjAzMDc5NTcxIHJnPXd3dwp+IyEgdGlkPTEyMDMwNzc5OTEKSWNoIGhhYiBkYSBtYWwgbmUgUmVwb3J0YWdlIGRydWViZXIgZ2VzZWhlbi4gRGllIE1ldGhvZGUsIHdpZSBlaW4gS2luZCBkYXMKbGVybnQsIGlzdCBkaWUsIGVzIGlucyBXYXNzZXIgenUgd2VyZmVuIHVuZCBkYWJlaSB6dXp1c2NoYXVlbiwgd2llIGVzIGluIFBhbmlrCmdlcmFldC4gSWNoIHdlaXNzIG51ciwgZGFzcyBpY2ggZGFzIG1laW5lbSBLaW5kIG5pY2h0IGFudHVuIG1vZWNodGUuCk5hdHVlcmxpY2ggcGFzc2llcmVuIGltbWVyIHdpZWRlciBVbmZhZWxsZSwgYWJlciBkZW5lbiBrYW5uIG1hbiBpbiBzZWhyIHZpZWxlbgpGYWVsbGVuIGR1cmNoIFZvcnNpY2h0IGVudGdlZ2Vud2lya2VuLiBadW0gR2x1ZWNrIHNpbmQgbWVpbmUgYmVpZGVuIGF1cyBkZW0KSVNSLUFsdGVyIHJhdXMgdW5kIEFkcmlhbiBsZXJudCBnZXJhZGUgZGVuIFRvdGVuLU1hbm4gaW4gc2VpbmVtIFNjaHdpbW1rdXJzLi4uCgogIEhvYm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEJhYnlzY2h3aW1tZW4gbWFsIGFuZGVycyAoTWFoYXJldCwgMTYuIEZlYiAyMDA4LCAyMjoyMDoyNSk6Cn4jISBybj1Ib2JvIHJ0PTEyMDMxOTM1NTAgcmc9d3d3Cn4jISB0aWQ9MTIwMzA3Nzk5MQpPaGEuIE5hamEsIFBhbmlrIHVlYmVuIGxhZXNzdCBzaWNoIGxlaWNodCwgZGEgbXVzcyBpY2ggUmFuYSBudXIgbWFsIGVpbgpiaXNzY2hlbiBXYXNzZXIgUmljaHR1bmcgS29wZiBzcHJpdHplbiwgZGFzIGthbm4gaWNoIGF1Y2ggYW0gV2FzY2hiZWNrZW4KbWFjaGVuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogQmFieXNjaHdpbW1lbiBtYWwgYW5kZXJzIChIb2JvLCAxNy4gRmViIDIwMDgsIDIyOjAzOjQzKToKfiMhIHJuPU1haGFyZXQgcnQ9MTIwMzE5NjgyNSByZz13d3cKfiMhIHRpZD0xMjAzMDc3OTkxCi4uLiBudXIgZGVyIExlcm5lZmZla3QgbWl0IGRlciBSdWVja2VubGFnZSBibGVpYnQgZGFiZWkgYXVzIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHb2Qgd3JvdGUgaW4gTElTUCAoTWVzaXJpaSwgMTcuIEZlYiAyMDA4LCAyMjo0NDozNCk6CkZ1ZXIgZGllIFNvZnR3YXJlZW50d2lja2xlciB1bnRlciBFdWNoOgpodHRwOi8vd3d3LnNlLXJhZGlvLm5ldC9wb2RjYXN0LzIwMDgtMDEvZXBpc29kZS04NC1kaWNrLWdhYnJpZWwtbGlzcApGYXN0IGdhbnogYW5zIEVuZGUgc3B1bGVuLCBkYXMgTGllZCBpc3QgZWluZmFjaCBrbGFzc2UuCk1lc2kKUC5TLiBEZXIgUmVzdCBkZXIgUG9kY2FzdHMgdm9uIFNFLVJhZGlvIG5hdHVlcmxpY2ggYXVjaCwgZGFzIGJlc3RlIHdhcyBlcwppbiBkaWVzZXIgUmljaHR1bmcgZ2lidC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNsb3ZlcmZpZWxkPyAoR2xvaW5zb24sIDE4LiBGZWIgMjAwOCwgMTY6NDY6NDgpOgpHZWh0IGJlc3Nlci4gU2Nhcmllci4KCmh0dHA6Ly9iYWVucy11bml2ZXJzZS5jb20vYXJ0aWNsZXMvV2hlbl9TeXNhZG1pbnNfUnVsZWRfdGhlX0VhcnRoCgoodm9uIGh0dHA6Ly9hZ2l0cG9wYmxvZy5vcmcvKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCiAhIT8hISFXVEYhIChHbG9pbnNvbiwgMjAuIEZlYiAyMDA4LCAxNzo0NjoyMSk6Cmh0dHA6Ly9pbWdzLnhrY2QuY29tL2NvbWljcy9kdXR5X2NhbGxzLnBuZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVuY3J5cHRpb24gKEdsb2luc29uLCAyMS4gRmViIDIwMDgsIDE5OjE2OjUxKToKQW5zY2hlaW5lbmQgaGFsdGVuIERSQU0tQmF1c3RlaW5lIGlocmVuIEluaGFsdCByZWxhdGl2IGxhbmdlIG5hY2h2b2xsemllaGJhcgpzaWNoZXIgdW5kIHNpbmQgZGFtaXQgYWxzIHZvbGF0aWxlciBTcGVpY2hlciBmdWVyIFNjaGx1ZXNzZWwgdW5nZWVpZ25ldC4KCmh0dHA6Ly9jaXRwLnByaW5jZXRvbi5lZHUvbWVtb3J5LwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgIE5leHQgVXJpIEdlbGxlciAtIHdpZSBsYWVjaGVybGljaCAoVmluY2VudCwgMjMuIEZlYiAyMDA4LCAxOTo1OToxMCk6CkhpIQoKVW5zIFphdWJlcmVybiBkZXMgTWFnaXNjaGVuIFppcmtlbHMgdm9uIERldXRzY2hsYW5kIGlzdCBlcyBlaWdlbnRsaWNoCnZlcmJvdGVuLCBpbiBpcmdlbmRlaW5lciBBcnQgdW5kIFdlaXNlIGJlaSBkZXIgRW50bGFydnVuZyB2b24gVHJpY2tzCmdlZ2VudWViZXIgZGVyIEFsbGdlbWVpbmhlaXQgbWl0enV3aXJrZW4uIEplZG9jaCB3ZW5uIGRlciBLdW5zdGFzcGVrdCBmZWhsdAp1bmQgd2VubiBlcyBkYXJ1bSBnZWh0IGRlciB2b24gUHJvNyBnZXN0YXJ0ZXRlbiBWb2xrc3ZlcmR1bW11bmcKZW50Z2VnZW56dXdpcmtlbiwgaXN0IGRhcyBtZWluZXMgRXJhY2h0ZW5zIHZvZWxsaWcgbGVnaXRpbS4gOy0pCgpOdXIgZWluIEJlaXNwaWVsOgpGYXJpZHMgdmllbCBkaXNrdXRpZXJ0ZXIgVGVsZWZvbnRyaWNrIGVudGxhcnZ0LgpEZXIgTWFjaGVyIGRpZXNlcyBWaWRlb3Mga2FubiBzaWNoIGRpZSBlaW5lIG9kZXIgYW5kZXJlIGx1c3RpZ2UKQmVtZXJrdW5nIG5pY2h0IHZlcmtuZWlmZW4uIDstKSBpY2ggZmluZHMgZ3V0ISAKCmh0dHA6Ly95b3V0dWJlLmNvbS93YXRjaD92PXJjRWYxOE90bzBJCgpBbGxlcyBudXIgVHJpY2tzISBBdWNoIGRpZSBhbmRlcmVuIEthbmRpZGF0ZW4uIEtlaW5lciB2b24gZGVuZW4ga2Fubgp3aXJrbGljaCB6YXViZXJuIG9kZXIgbWl0IGhhbmQgZmV1ZXIgZWluIE1vbnN0ZXIgdG9ldGVuLiBEaWUgZXJyZWljaGVuCm5pY2h0bWFsIGRhcyBOaXZlYXUgZGVyIEludGVycHJldGF0aW9uIGRlciBaYXViZXJlciBpbiBNRy4gOy0pCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCAgTmV4dCBVcmkgR2VsbGVyIC0gd2llIGxhZWNoZXJsaWNoIChCYW1idWxrbywgMjUuIEZlYiAyMDA4LCAxMToyODoxMyk6Cn4jISBybj1WaW5jZW50IHJ0PTEyMDM3OTMxNTAgcmc9d3d3Cn4jISB0aWQ9MTIwMzc5MzE1MApXYXJ1bSBoYWVsc3QgRHUgZGFzIGZ1ZXIgVm9sa3N2ZXJkdW1tdW5nPyBCZXRyZWlidCBkYW5uIG5pY2h0IGplZGVyClphdWJlci9NYWdpZXIgdm9sa3N2ZXJkdW1tdW5nPwoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogYXJ0aWtlbCAgTmV4dCBVcmkgR2VsbGVyIC0gd2llIGxhZWNoZXJsaWNoIChIdW1uaSwgMjUuIEZlYiAyMDA4LCAxMjozOTowMyk6Cn4jISBybj1CYW1idWxrbyBydD0xMjAzOTM1MjkzIHJnPXd3dwp+IyEgdGlkPTEyMDM3OTMxNTAKTmFqYSwgYXVjaCB3ZW5uIGVzIGluIGRlciAiU2hvdyIgaW1tZXIgYW5kZXJzIGF1c3NpZWh0LCBzbyBnbGF1YmUgaWNoIGRvY2gsCmRhc3Mgei5CLiBWaW5jZW50IGhhdXB0c2FlY2hsaWNoIG1pdCBUcmlja3MgYXJiZWl0ZXQuIEd1dGVuIFRyaWNrcywgc2VociBndXRlbgpUcmlja3MsIGljaCBoYWIgbm9jaCBrZWluZW4gZGF2b24gZHVyY2hzY2hhdXQuIEFiZXIgZXIgd3VlcmRlIHNpY2ggbmllCmhpbnN0ZWxsZW4gdW5kIGFsbGVuIGVybnN0ZXMgYmVoYXVwdGVuLCBlciBoYWJlIGVjaHRlIG1hZ2lzY2hlIEZhZWhpZ2tlaXRlbiwKd2llIGRhcyBkaWUgTGV1dGUgYmVpICJOZXh0IFVyaSBHZWxsZXIiIGR1cmNoYXVzIHR1bi4KCk9rLiBKZXR6dCBtdXNzIGljaCB6dXJ1ZWNrcnVkZXJuOiBOZWluLiBJY2ggd2Vpc3MgbmljaHQsIHdhcyBzaWUgZGEgdHVuLCBkYQppY2ggZGFzIG5vY2ggbmllIGdlc2VoZW4gaGFiZS4gQWJlciBkYXMsIHdhcyBpY2ggZGF2b24gZ2Vob2VydCBoYWJlLCBrbGFuZyBzby4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBhcnRpa2VsICBOZXh0IFVyaSBHZWxsZXIgLSB3aWUgbGFlY2hlcmxpY2ggKEJhbWJ1bGtvLCAyNS4gRmViIDIwMDgsIDEyOjQ5OjExKToKfiMhIHJuPUh1bW5pIHJ0PTEyMDM5Mzk1NDMgcmc9d3d3Cn4jISB0aWQ9MTIwMzc5MzE1MApHZWhvZXJ0IGVzIG5pY2h0IHp1IGplZGVtIGd1dGVuIFphdWJlcmVyIGRhenUsIGRhc3MgZXIgZGVuIEFuc2NoZWluIGVyd2Vja3QsCmRhc3MgZXIgbWFnaXNjaGUgS3JhZWZ0ZSBoYXQ/IEljaCBoYWJlIG5vY2gga2VpbmUgZGVyIFBybzcgU2hvd3MgZ2FueiBnZXNlaGVuLApzb25kZXIgaW1tZXIgbWFsIG51ciBrdXJ6IGZ1ZXIgZWluZW4gdHJpY2sgcmVpbmdlc2NoYXV0LiBVbmQgZGEgaGF0dGUgaWNoCm5pY2h0IGRlbiBFaW5kcnVjaywgYWxzIG9iIGRhIHN0ZWlmIHVuZCBmZXN0IGJlaGF1cHRlciB3dWVyZGUsIGRhcyBkYXMgYWxsZXMKdWViZXJuYXR1ZXJsaWNoIHNlaS4gRWluIHBhYXIgZGVyIFRyaWNrcyB3YXJlbiByZWNodCBndXQsIHVuZCBlaW5pZ2UgZWhlcgpwbHVtcC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBhcnRpa2VsICBOZXh0IFVyaSBHZWxsZXIgLSB3aWUgbGFlY2hlcmxpY2ggKEJvaW5nLCAyNS4gRmViIDIwMDgsIDEzOjE1OjMyKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyMDM5NDAxNTEgcmc9d3d3Cn4jISB0aWQ9MTIwMzc5MzE1MApJY2ggaGFiIGVpbm1hbCBkZW4gVHlwIG1pdCBkZW0gUmFiZW4gZ2VzZWhlbiAuLi4gZGFzIHdhciBpbiBlcnN0ZXIKTGluaWUgbGFuZ3dlaWxpZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogYXJ0aWtlbCAgTmV4dCBVcmkgR2VsbGVyIC0gd2llIGxhZWNoZXJsaWNoIChCYW1idWxrbywgMjUuIEZlYiAyMDA4LCAxMzoyNzowMCk6Cn4jISBybj1Cb2luZyBydD0xMjAzOTQxNzMyIHJnPXd3dwp+IyEgdGlkPTEyMDM3OTMxNTAKTmFqYSwgZGFzIG1pdCBkZXIgU2NobGFnemVpbGUgd2FyIHNjaG9uIG5pY2h0IHNjaGxlY2h0LiBFciBzY2hyZWlidCBlaW5lClNjaGxhZ3plaWxlIGF1ZiBlaW5lbiBaZXR0ZWwsIHN0ZWNrdCBkZW4gWmV0dGVsIGluIGVpbmVuIFVtc2NobGFnIHVuZCBnaWJ0IGlobgphbiBlaW5lbiBOb3Rhci4gRWluZSBXb2NoZSBzcGFldGVyIG9lZmZuZXQgZGVyIE5vdGFyIGRlbiBVbXNjaGxhZywgdW5kIGVzIGlzdAp3aXJrbGljaCBlaW5lIFNjaGxhZ3plaWxlIHZvbiBkZW0gVGFnLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogYXJ0aWtlbCAgTmV4dCBVcmkgR2VsbGVyIC0gd2llIGxhZWNoZXJsaWNoIChDcm9mdCwgMjUuIEZlYiAyMDA4LCAxMzo0OTo0Mik6Cn4jISBybj1CYW1idWxrbyBydD0xMjAzOTQyNDIwIHJnPXd3dwp+IyEgdGlkPTEyMDM3OTMxNTAKQWx0ZXIgSHV0LiAgR2lidHMgYXVjaCBtaXQgTG90dG96YWhsZW4gdW5kIGFlaG5saWNoZW0uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogYXJ0aWtlbCAgTmV4dCBVcmkgR2VsbGVyIC0gd2llIGxhZWNoZXJsaWNoIChCYW1idWxrbywgMjUuIEZlYiAyMDA4LCAxMzo1MjoyMSk6Cn4jISBybj1Dcm9mdCBydD0xMjAzOTQzNzgyIHJnPXd3dwp+IyEgdGlkPTEyMDM3OTMxNTAKTWFnIHNlaW4uIERlbm5vY2ggaGFiZSBpY2gga2VpbmUgQWhudW5nIHdpZSBkYXMgZ2VoZW4ga29lbm50ZS4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkN5YmVyc2V4IC4uLiAoR2xvaW5zb24sIDI2LiBGZWIgMjAwOCwgMTU6NTE6NDEpOgouLi4gYWR2aXNvcnkuCgpodHRwOi8vaGVyYnppcHBlci5ibG9nc3BvdC5jb20vCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIFdhaHJoZWl0IHVlYmVyIGRhcyBQcm9qZWt0IE11aCEgTXV1dXV1aCEgKEd3ZW4sIDI3LiBGZWIgMjAwOCwgMTE6MjY6MDQpOgpodHRwOi8vd3d3LmNvd2FiZHVjdGlvbi5jb20vCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRGllIFdhaHJoZWl0IHVlYmVyIGRhcyBQcm9qZWt0IE11aCEgTXV1dXV1aCEgKFJ1bWF0YSwgMjcuIEZlYiAyMDA4LCAxMzowODoxMyk6Cn4jISBybj1Hd2VuIHJ0PTEyMDQxMDc5NjQgcmc9d3d3Cn4jISB0aWQ9MTIwNDEwNzk2NApTb2xhbmdlIGVzIGluIEJpZWxlZmVsZCBuaWNodCBnZW51ZyBNaWxjaCBnaWJ0IC4uLgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaWUgV2FocmhlaXQgdWViZXIgZGFzIFByb2pla3QgTXVoISBNdXV1dXVoISAoQW50aGVhLCAyOC4gRmViIDIwMDgsIDA5OjE3OjI0KToKfiMhIHJuPVJ1bWF0YSBydD0xMjA0MTE0MDkzIHJnPXd3dwp+IyEgdGlkPTEyMDQxMDc5NjQKV2FzIGhhdCBkYXMgZGVubiBkYW1pdCB6dSB0dW4sIHdpZSB2aWVsIE1pbGNoIEJpZWxlZmVsZCBnZXJhZGUgZ2V0cnVua2VuIGhhdD8KVW5kIGlzdCBNaWxjaCBmdWVyIEJpZXJzY2h1ZXR0bGVyIG5pY2h0IGdlZmFlaHJsaWNoPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGllIFdhaHJoZWl0IHVlYmVyIGRhcyBQcm9qZWt0IE11aCEgTXV1dXV1aCEgKFJ1bWF0YSwgMjguIEZlYiAyMDA4LCAxNDoxMzoyNik6Cn4jISBybj1BbnRoZWEgcnQ9MTIwNDE4NjY0NCByZz13d3cKfiMhIHRpZD0xMjA0MTA3OTY0CldhcyBtZWluc3QgRHUgZGVubiwgd28gZGllIEt1ZWhlIGhpbmZsaWVnZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZXJmZWN0IENhcnMgZm9yIHRoZSBDaXR5IChBbnRoZWEsICAzLiBNYXIgMjAwOCwgMTM6Mzg6MzEpOgpodHRwOi8vd3d3LmNpbi1raW5nLmNvbS9ob21lL2hvbWUucGhwCklubm92YXRpdmUgQXV0b21vZGVsbGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNlbGJzdGRlbmtlciAoQW15bnRob3IsICA2LiBNYXIgMjAwOCwgMTk6NDY6MTgpOgpodHRwOi8vaG9tZS5uZXRjb20uY29tL35zd2Fuc29udC90aGluay5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaWxtdHJhaWxlciAoUnVtYXRhLCAgNy4gTWFyIDIwMDgsIDA4OjM3OjExKToKV2llIFNhdWwgQmFzcyBkZW4gU3RhcndhcnMgVGl0ZWwgZ2VzdGFsdGV0IGhhZXR0ZToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXoyNXQtUFFEbjVBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWFhaCEgKEdsb2luc29uLCAxMi4gTWFyIDIwMDgsIDEzOjA1OjU1KToKaHR0cDovL3hrY2QuY29tLzM5NS8KCk5pY2h0IHJhdXNnZWhlbiEgCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhYWFoISAoUnVtYXRhLCAxMi4gTWFyIDIwMDgsIDEzOjE5OjAyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMDUzMjM1NTUgcmc9d3d3Cn4jISB0aWQ9MTIwNTMyMzU1NQpFbmRsaWNoIG1hbCBuZSBwbGF1c2libGUgRXJrbGFlcnVuZyBmdWVyIGRhcyBoaWVyOgoKaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9HbGFzayVDMyVCNnJwZXJ0ciVDMyVCQ2J1bmcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhYWFoISAoQWxib2luLCAxMi4gTWFyIDIwMDgsIDE1OjM5OjExKToKfiMhIHJuPVJ1bWF0YSBydD0xMjA1MzI0MzQyIHJnPXd3dwp+IyEgdGlkPTEyMDUzMjM1NTUKSW50ZXJlc3NhbnQsIGF1ZiBkaWVzZXMgUGhub21lbiBoYWJlIGljaCBhdWNoIGltbWVyIG5lIEFudHdvcnQgZ2VzdWNodC4gTWVpbmUKSHlwb3RoZXNlIHdhciBkYXMgZXMgc2ljaCBhYmVyIHVtIEZlaW5zdGF1YiBhdWYgZGVyIExpbnNlIGhhbmRlbHQuIFdpZWRlciB3YXMKZGF6dWdlbGVybnQuCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYWFhaCEgKEdsb2luc29uLCAxMi4gTWFyIDIwMDgsIDE1OjQyOjI2KToKfiMhIHJuPUFsYm9pbiBydD0xMjA1MzMyNzUxIHJnPXd3dwp+IyEgdGlkPTEyMDUzMjM1NTUKRGFubiBoYXN0IGR1IGFiZXIgbmljaHQgb2Z0IGRlbiBGZWluc3RhdWIgd2VnZ2V6d2lua2VydCBiZWltIFRyYWV1bWVuIGluIGRlbgpIaW1tZWwgaGluZWluIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2FhYWghIChBbGJvaW4sIDEyLiBNYXIgMjAwOCwgMTU6NDc6NTEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIwNTMzMjk0NiByZz13d3cKfiMhIHRpZD0xMjA1MzIzNTU1CkRhcyBlciBuaWNodCB3ZWd6dXdpbmtlcm4gZ2VodCBoYWJlIGljaCBhdWYgZGllIHp1IGdyb3NzZSBBZGhhZXNpb25za3JhZnQgYXVmCkdydW5kIGRlciBGZWluaGVpdCB6dXJ1ZWNrZ2VmdWVocnQuIFdhcyBhbiBkZW0gUGhhZW5vbWVuIGF1Y2ggbHVzdGlnIGlzdDogd2VubgptYW4gZGllICJGYWVkZW4iIGdlbmF1ZXIgYmV0cmFjaHRlbiB3aWxsICJ3YW5kZXJuIiBzaWUgd2VnLiBBbHNvIG1hbiBuaW1tdCBzaWUKZWlnZW50bGljaCBudXIgd2FyIHdlbm4gbWFuIHNpZSBnYXIgbmljaHQgd2Focm5laG1lbiB3aWxsIDstKQphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2FhYWghIChHbG9pbnNvbiwgMTIuIE1hciAyMDA4LCAxNTo1NDowMCk6Cn4jISBybj1BbGJvaW4gcnQ9MTIwNTMzMzI3MSByZz13d3cKfiMhIHRpZD0xMjA1MzIzNTU1Ck5laW4sIGR1IGRhcmZzdCBuaWNodCB2ZXJzdWNoZW4gc2llIHp1IGZva3Vzc2llcmVuLiBEYW5uIGJld2VndCBzaWNoIG5hZW1saWNoCmRlaW4gQXVnZS4gRGFzIFpldWcgc2VsYnN0IGJld2VndCBzaWNoIG51ciBzZWhyIGxhbmdzYW0gaW4gQmV6dWcgYXVmIGRhc3MKQXVnZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGllbGVya29tcHJvbWlzc2UgKEdsb2luc29uLCAxNC4gTWFyIDIwMDgsIDA4OjUxOjIwKToKaHR0cDovL3d3dy5naWFudGl0cC5jb20vY29taWNzL29vdHMwNTM5Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLaW5kZXI/ISAoR2xvaW5zb24sIDE0LiBNYXIgMjAwOCwgMDg6NTI6NDgpOgpodHRwOi8vd3d3LnJ1dGhlLmRlL2dhbGxlcnkvY3BnMTQxMC9hbGJ1bXMvdXNlcnBpY3MvMTAwMDQvc3RyaXBfMDY5My5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXJidW5nIGdlZ2VuIFJlYWxpdGFldCAoVmluY2VudCwgMjUuIE1hciAyMDA4LCAxMzo0Nzo1NCk6CkVpbiBWZXJnbGVpY2ggendpc2NoZW4gUHJvZHVrdGZvdG9zIGF1ZiBkZXIgVmVycGFja3VuZyB1bmQgZGVuIGVpZ2VudGxpY2hlbgpQcm9kdWt0ZW4uIFphaGxyZWljaGUgYmVpc3BpZWxlLgoKaHR0cDovL3d3dy5wdW5kbzMwMDAuY29tL3dlcmJ1bmdnZWdlbnJlYWxpdGFldDMwMDAuaHRtCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgooUylVRCAoVmVjdG9yLCAyNS4gTWFyIDIwMDgsIDE1OjMyOjM0KToKd2VubiBpbSBtdWQgbWFsIGFrdGl2ZSBzcGllbGVyIGZlaGxlbiBzb2xsdGVuIGZ1ZXIgZ2VwZmxlZ3RlcyBtZXR6ZWxuLAplaW5mYWNoIGF1ZiBkYXMgc3VkLT5zaW5nbGUtdXNlci1tdWQgYXVzd2VpY2hlbjoKaHR0cDovL2ZsYXNoZ2FtZXMuZGUvaW5kZXgucGhwP29ubGluZXNwaWVsZT01ODU4CgpsdXN0aWcgdW5kIGR1cmNoYXVzIG1pdCBzdWNodHBvdGVudGlhbCBrdXJ6ZnJpc3RpZyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVm9uIEFuZmFuZyBhbiBkYWJlaSAoVmluY2VudCwgMzAuIE1hciAyMDA4LCAyMToxNToxNik6Cmh0dHA6Ly93d3cucGh1bi5vcmcvbmV3c3BpY3MvZnVubnlfZnJpZGF5LzI2NDkuanBnCgogICBWaW5jZW50CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVm9uIEFuZmFuZyBhbiBkYWJlaSAoUnVtYXRhLCAzMC4gTWFyIDIwMDgsIDIxOjIyOjUxKToKfiMhIHJuPVZpbmNlbnQgcnQ9MTIwNjkwNDUxNiByZz13d3cKfiMhIHRpZD0xMjA2OTA0NTE2CkF1ZiB3YXMgZnVlciBEb21haW5zIHRyZWlic3QgRHUgRGljaCBudXIgcnVtPyB0c3RzdHN0IDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb24gQW5mYW5nIGFuIGRhYmVpIChSdW1hdGEsIDMwLiBNYXIgMjAwOCwgMjE6MjM6NDUpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMDY5MDQ5NzEgcmc9d3d3Cn4jISB0aWQ9MTIwNjkwNDUxNgpBdXNzZXJkZW06Cmh0dHA6Ly93d3cuamlueC5jb20vbWluaWdlZWtzL2JhYnkvdmlkZW9fZ2FtZXMvbGV2ZWxfMV9odW1hbl9jcmVlcGVyLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFZvbiBBbmZhbmcgYW4gZGFiZWkgKE1hcmN1cywgMzAuIE1hciAyMDA4LCAyMTo0MDoxMyk6Cn4jISBybj1SdW1hdGEgcnQ9MTIwNjkwNTAyNSByZz13d3cKfiMhIHRpZD0xMjA2OTA0NTE2Cmh0dHA6Ly93d3cudGhpbmtnZWVrLmNvbS90c2hpcnRzL2tpZHMvICBoYXQgYXVjaCBlaW5pZ2UuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldvVy1NdWQgKE5pYmVsLCAgMS4gQXByIDIwMDgsIDEzOjQ4OjA0KToKV2VyIHNpY2ggYmlzaGVyIG5pY2h0IHZvbiBkZXIgZHVua2xlbiBTZWl0ZSB2ZXJmdWVocmVuIGxhc3NlbiB3b2xsdGUsIFdvcmxkIG9mClRleHRjcmFmdDogaHR0cDovL3d3dy53YXItdG9vbHMuY29tLz9wPXRleHRjcmFmdAogIC0gTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdWdyZXBvcnQgZGVyIFdvY2hlLi4uIChaZXNzdHJhLCAgNS4gQXByIDIwMDgsIDIwOjU2OjEwKToKR2Vlay1IdW1vci4uLgpFaW4gQnVncmVwb3J0IHp1bSBJbnN0YW50LU1lc3NhZ2VyIEFkaXVtIFg6Cmh0dHA6Ly90cmFjLmFkaXVteC5jb20vdGlja2V0LzI0MTQKIlRhbGtpbmcgdG8gZ2lybHMiCiJLZXl3b3JkczogZ2lybHMgY29uZmlkZW5jZSBwaW1wIgoiRGVzY3JpcHRpb246IEFkaXVtIHNob3VsZCBtYWtlIGl0IGVhc2llciB0byB0YWxrIHRvIGdpcmxzLiBJdCBzaG91bGQgYm9vc3QgCiAgICAgICAgICAgICAgbXkgY29uZmlkZW5jZSBhbmQgbWFrZSBtZSBzb3VuZCBsaWtlIGxlc3Mgb2YgYSBkb3JrLiIKIlN0YXR1czogY2xvc2VkIgoiU29sdXRpb246IHdvcmtzZm9ybWUiCgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmlvbWV0cmlzY2hlciBLZXlsb2dnZXIuLi4/IChaZXNzdHJhLCAgNS4gQXByIDIwMDgsIDIyOjI5OjE2KToKUGFzc2VuZCB6dXIgVmVyb2VmZmVudGxpY2h1bmcgZGVzIFNjaGFldWJsZS1GaW5nZXJhYmRydWNrcyBuZXVsaWNoLCBiaW4gaWNoCmhldXQgdWViZXIgZm9sZ2VuZGVuIEFydGlrZWwgZ2VzdG9scGVydDoKaHR0cDovL3d3dy50aGVyZWdpc3Rlci5jby51ay8yMDA4LzA0LzAyL2Jpb21ldHJpY19rZXlsb2dnZXJfdW52ZWlsZWQvCiJDb21pbmcgdXA6IHRoZSBmaW5nZXJwcmludC1ncmFiYmluZyBrZXlsb2dnZXIiCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJbnRlcnZpZXcgbWl0IEhvZmZtYW5uLVJpZW0gKFplc3N0cmEsIDE2LiBBcHIgMjAwOCwgMjM6Mjc6MTUpOgpHYW56IG5ldHRlcyBJbnRlcnZpZXcgbWl0IGRlbiBlaGVtYWxpZ2VuIEJ1bmRlc3ZlcmZhc3N1bmdzcmljaHRlcgpIb2ZmbWFubi1SaWVtOgpodHRwOi8vd3d3LnN1ZWRkZXV0c2NoZS5kZS9kZXV0c2NobGFuZC9hcnRpa2VsLzk5Mi8xNjg1MDUvcHJpbnQuaHRtbAoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSEFMMzAwMCwgQUksIE1lZ2FIYWwgKFplc3N0cmEsIDE4LiBBcHIgMjAwOCwgMjM6NTU6MzYpOgpXZXIgc2ljaCBub2NoIGFuIE1lZ2FoYWwgZXJpbm5lcnQ6IEltIE5ldHogZ2lidCBlcyBkZW4gYnp3LiBkaWUgTmFjaGZvbGdlciB2b24KaWhtLiBJbnp3aXNjaGVuIHNpbmQgc2llIGJlaSBIQUwzMDAwIGFuZ2Vrb21tZW4sIGRlciBhdWNoIGRldXRsaWNoIGFuZGVycwphcmJlaXRldCBhbHMgZGVyIGtsYXNzaXNjaGUgTWVnYUhhbC4gTWFuIGthbm4gc2ljaCBpbSBOZXR6IGVpbmVuIEhBTDMwMDAgbWl0CmVpbmVyIGVpZ2VuZW4gIlBlcnNvZW5saWNoa2VpdCIgdHJhaW5pZXJlbiBvZGVyIG1pdCBleGlzdGllcmVuZGVuIHNwcmVjaGVuLgpFaWdlbnRsaWNoIGdhbnogaW50ZXJlc3NhbnQuCk1hbiBrYW5uIHNpY2ggc29nYXIgc28gZWluZW4gQm90IHp1bGVnZW4sIGRlciBhbHMgIkFucnVmYmVhbnR3b3J0ZXIiIGF1ZiBkZXIKSG9tZXBhZ2Ugb2RlciBpbSBJbnN0YW50IE1lc3NhZ2luZyBmdW5naWVydCB1bmQgc2ljaCBtaXQgQmVzdWNoZXJuIHVudGVyaGFlbHQsCndlbm4gbWFuIG5pY2h0IGRhIGlzdC4gQmluIG1hbCBnZXNwYW5udCwgd2llIGRhcyBpbiAxMC0yMCBKYWhyZW4gYXVzc2llaHQuLi4KaHR0cDovL3d3dy5hLWkuY29tL3Nob3dfdHJlZS5hc3A/aWQ9MTE1CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWFsIExpZmUgKERhcmtsb3IsIDIxLiBBcHIgMjAwOCwgMTc6MzQ6MDgpOgpJY2ggZnJhZ2UgbWljaCB3ZWxjaGVzIFNwaWVsIGRhcyB3b2hsIHdhci4uLgpodHRwOi8vd3d3LnJlYWxsaWZlY29taWNzLmNvbS9hcmNoaXZlLzk5MTEyOC5odG1sCgpEYXJrbG9yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpmbGFhYWFzY2ggKFZlY3RvciwgMjIuIEFwciAyMDA4LCAxMzoyODowOCk6Cmh0dHA6Ly9mbGFzaGdhbWVzLmRlL2luZGV4LnBocD9vbmxpbmVzcGllbGU9NjY1OSZ0b2RvPXBsYXkKCmFjaHR1bmcgc3VjaHRnZWZhaHIgOikKd2VyIGx2bCAxNSBzY2hhZmZ0IGJpdHRlIG1pciBzYWdlbiB3aWU6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ2hpbmEvRnJhbmtyZWljaCAoR2xvaW5zb24sIDIyLiBBcHIgMjAwOCwgMTQ6MDc6MTUpOgpNaXR0bGVyd2VpbGUgdGlja2VuIGRpZSBqYSBpbiBiZWlkZW4gTGFlbmRlcm4gbGVpY2h0IGFiLiBJcmdlbmR3ZWxjaGUgQ2hpbmVzZW4KZm9yZGVybiBCb3lrb3R0ZSBnZWdlbiBlaW5lIChkaWUpIGZyYW56b2VzaXNjaGUgU3VwZXJtYXJrdGtldHRlIGluIENoaW5hIHdlZ2VuCmRlciB0ZWlscyBnZXdhbHR0YWV0aWdlbiBQYXJpc2VyIERlbW9uc3RyYXRpb25lbiBnZWdlbiBkZW4gRmFja2VsbGF1Zi4KVmllbGxlaWNodCBQYXRyaW90ZW4sIHZpZWxsZWljaHQgYXVjaCBudXIgR2VzY2hhZWZ0c2dlZ25lci4KU2Nob2VuLCBlbnRzY2h1bGRpZ3Qgc2ljaCBoYWx0IFNhcmtvIGVyc3RtYWwgYmVpIENoaW5hIGZ1ZXIgZGllIE1pc3NoYW5kbHVuZwplaW5lciBBdGhsZXRpbi4gRGllc2VyIGJlZGluZ3VuZ3Nsb3NlIEtvdGF1IG1pc3NmYWVsbHQgZGVuIFNvemlhbGlzdGVuLCBhbHNvCmVybmVubnQgUGFyaXMgbWFsIGViZW4gZGVuIERhbGFpIExhbWEgdW5kIEh1IEppYSAoQWt0aXZpc3QpIHp1IEVocmVuYnVlcmdlcm4uCkRhcmF1ZiBmYWVsbHQgZGFubiBkZW0gY2hpbmVzaXNjaGVuIEJvdHNjaGFmdGVyIGVpbiwgZGVuIEFiZ2VvcmRuZXRlbiB2b24KUGFyaXMgZWluZSBHZXNjaGljaHRzbGVrdGlvbiB6dSBoYWx0ZW4gKFRpYmV0IGhhdCBuaWUgZXhpc3RpZXJ0LCBEYWxhaSBMYW1hCmlzdCBTZXplc3Npb25pc3QpIHVuZCBzZWluIE1pc3NmYWxsZW4gYXVzenVkcnVlY2tlbiAoTm9iZWxwcmVpcyBlcm11dGlndCBEYWxhaQpMYW1hIG51ciwgUGFyaXMgZ2lidCBlaW4gc2NobGVjaHRlcyBWb3JiaWxkKS4gCgpodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS82c2FrOG8KCldpZXNvIGhhYmVuIHdpciBuaWNodCBzbyBzcGFubmVuZGUgQXVzc2VucG9saXRpaz8gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZmxhYWFhc2NoIChKaW1kaWdyaXosIDIyLiBBcHIgMjAwOCwgMjM6MDM6NDkpOgp+IyEgcm49VmVjdG9yIHJ0PTEyMDg4NjM2ODggcmc9d3d3Cn4jISB0aWQ9MTIwODg2MzY4OApLcmllZ2UgZmxhc2ggZXhjZXB0aW9ucyB1bmQga2FubiBkZW4gKHN0YXJ0KS1sZXZlbCBuaWNodAphbndhZWhsZW4uCktsdW1wLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBmbGFhYWFzY2ggKEtlc3NhLCAyMy4gQXByIDIwMDgsIDAxOjM5OjIyKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjA4ODk4MjI5IHJnPXd3dwp+IyEgdGlkPTEyMDg4NjM2ODgKU3RhcnRlbiBrbGFwcHQgYmVpIG1pciwgYWJlciBiZWVuZGVuIGJ6dy4gZGVuIFRhYiBzY2hsaWVzc2VuIGthbm4gaWNoIG5pY2h0LApvaG5lIGRhcyBPcGVyYSBhYnNjaG1pZXJ0LiBSZXByb2R1emllcmJhci4gU2NoYWRlLCBhYmVyIGRhcyBuZXJ2dCB6dSBzZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZmxhYWFhc2NoIChab29rLCAyMy4gQXByIDIwMDgsIDE2OjM4OjM0KToKfiMhIHJuPUtlc3NhIHJ0PTEyMDg5MDc1NjIgcmc9d3d3Cn4jISB0aWQ9MTIwODg2MzY4OAp0amEsIGFsc28gaGFiZW4gamRmIHVuZCBrZXNzYSBsdmwuIDE1IG5pY2h0IGdlc2NoYWZmdCA7KSAKegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZmxhYWFhc2NoIChWZWN0b3IsIDIzLiBBcHIgMjAwOCwgMTY6NTY6NDUpOgp+IyEgcm49Wm9vayBydD0xMjA4OTYxNTE0IHJnPXd3dwp+IyEgdGlkPTEyMDg4NjM2ODgKb2xlIG9sZSBsdmwgMTUgZG9uZSA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2F0emVuZnV0dGVyIChHd2VuLCAyNC4gQXByIDIwMDgsIDE2OjAwOjAwKToKaHR0cDovL3d3dy51bmYtdW5mLmRlL3ZpZGVvL1BpY2R1bXAlMjAtJTIwc29uc3RpZ2Uvd2lyLWhhYmVuLWlocmUta2F0emUtbmljaHQtCmdlc2VoZW4tMTIwNTc1OTY2Ny5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBLYXR6ZW5mdXR0ZXIgKFJ1bWF0YSwgMjUuIEFwciAyMDA4LCAxMDoxMzo1MSk6Cn4jISBybj1Hd2VuIHJ0PTEyMDkwNDU2MDAgcmc9d3d3Cn4jISB0aWQ9MTIwOTA0NTYwMApIb3cgd2lja2VkISA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0b3J5IE9mIFN0dWZmIChNZXNpcmlpLCAyNy4gQXByIDIwMDgsIDAyOjU2OjU5KToKQXJtZSBBbWlzLCBhYmVyIGF1Y2ggdW5zZXJlIEhhZXVwdGVyIHNpbmQgYWVzY2hlcm5lciBhbHMgc2llIHNlaW4gbXVlc3N0ZW46Cmh0dHA6Ly93d3cuc3RvcnlvZnN0dWZmLmNvbS9pbmRleC5odG1sIApNZXNpLCB3aWVkZXIgbWFsIGV0d2FzIGF1ZmdlcnVldHRlbHQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVTQS1Gb2x0ZXJzdGFhdCAoT3JrdG9ldGVyLCAyNy4gQXByIDIwMDgsIDIyOjM0OjM2KToKClVTLUp1c3Rpem1pbmlzdGVyaXVtIGVybGF1YnQgaGFyc2NoZSBWZXJob2VybWV0aG9kZW4KCldhc2hpbmd0b24gLSBEYXMgVVMtSnVzdGl6bWluaXN0ZXJpdW0gaGF0IG9mZmVuYmFyIHNvZ2VuYW5udGUgaGFyc2NoZQpWZXJob2VybWV0aG9kZW4gaW0gS2FtcGYgZ2VnZW4gZGVuIFRlcnJvcmlzbXVzIGVybGF1YnQuIERhcyBiZXJpY2h0ZXQgZGllIE5ldwpZb3JrIFRpbWVzIHVudGVyIEJlcnVmdW5nIGF1ZiBlaW4gU2NocmVpYmVuIGFuIEtvbmdyZXNzbWl0Z2xpZWRlci4gRGFyaW4gaGFiZQpkYXMgTWluaXN0ZXJpdW0ga3VlcnpsaWNoIGtsYXIgZ2VzdGVsbHQsIGRlciBHZWhlaW1kaWVuc3QgQ0lBIGtvZW5uZSB6dXIKQWJ3ZWhyIHRlcnJvcmlzdGlzY2hlciBBbmdyaWZmZSBsZWdhbCBWZXJob2VybWV0aG9kZW4gYW53ZW5kZW4sIGRpZSBhbnNvbnN0ZW4KZHVyY2ggaW50ZXJuYXRpb25hbGUgR2VzZXR6ZSB2ZXJib3RlbiBzZWllbi4gSW4gZGVtIFNjaHJlaWJlbiB3ZXJkZQphdXNkcnVlY2tsaWNoIGRpZSBHZW5mZXIgS29udmVudGlvbiBmdWVyIEtyaWVnc2dlZmFuZ2VuZSBlcndhZWhudC4gKGRwYSkKCk5ldHRlciBFdXBoZW1pc211cy4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F0aXJlIGltIFdEUiAoVmFuaW9uLCAyOC4gQXByIDIwMDgsIDIyOjQ0OjQ1KToKSWNoIHdlaXNzIG5pY2h0LCBvYiBzaWUgZXMgc2Nob24gd3Vzc3RlbjogRGVyIFdEUiBoYXQgendlaSB6aWVtbGljaCBuZXR0ZQpTYXRpZXJlLVNlbmR1bmdlbiwgZGllIGF1Y2ggYWxzIFBvZGNhc3RzIHJhdXNrb21tZW4uIEhpZXIgZGllIExpbmtzOgpadWdhYmU6IGh0dHA6Ly93d3cud2RyLmRlL2NvbWVkeS9zZW5kdW5nZW4venVnYWJlLnBodG1sClNhdGlyaXNjaGVyIFdvY2hlbnJ1ZWNrYmxpY2s6IGh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzQ0dThtYwoKRnJlaXRhZ3MgZ2lidHMgYXVjaCBub2NoIFNwYXNzNToKaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vNGUyd3phCgpEdXJjaGF1cyBuZXR0LiBNdXNzIG1hbiBtYWwgcmVpbmhvZXJlbiA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYXRpcmUgaW0gV0RSIChWYW5pb24sIDI4LiBBcHIgMjAwOCwgMjI6NDU6NDcpOgp+IyEgcm49VmFuaW9uIHJ0PTEyMDk0MTU0ODUgcmc9d3d3Cn4jISB0aWQ9MTIwOTQxNTQ4NQpSZWNodHNjaHJlaWJmZWhsZXIgKGluc2Jlc29uZGVyZSB1ZWJlcmZsdWVzc2lnZSBlJ3MpIGRhcmYgbWFuIGJlaGFsdGVuIG9kZXIKQXJrIHNwZW5kZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJpbGluZ3VhbCBiaXNleHVhbHMgLi4uIChHbG9pbnNvbiwgMzAuIEFwciAyMDA4LCAxMDo1OToxOCk6Cmh0dHA6Ly9sYW5ndWFnZWxvZy5sZGMudXBlbm4uZWR1L25sbC8/cD0xMDIKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcGVuU1NMLURlYmFrZWwgdm9uIERlYmlhbiAoWmVzc3RyYSwgMTQuIE1haSAyMDA4LCAyMjowNzo1Nik6CldlciBnZXN0ZXJuIHVuZCBoZXV0ZSBkYXMgRGViYWtlbCB1bSBEZWJpYW5zIHZlcnBmdXNjaHRlcyBvcGVuc3NsIG1pdGdla3JpZWd0CmhhdCBiencuIGRhdm9uIGJldHJvZmZlbiB3YXIgdW5kIHNpY2ggZnVlciBkaWUgVXJzYWNoZSBpbnRlcmVzc2llcnQ6CkRpZSBPcGVuc3NsLUxldXRlIGhhYmVuIG5pY2h0LWluaXRpYWxpc2llcnRlbiBTcGVpY2hlciBiZW51dHp0IHVtIGRlbiBTZWVkCmZ1ZXIgZGllIEluaXRpYWxpc2llcnVuZyBkZXMgWnVmYWxsc3phaGxlbmdlbmVyYXRvcnMgenUgYmVzdGltbWVuLgpOdW4gZ2lidCBlcyBUb29scyB3aWUgVmFsZ3JpbmQsIGRpZSBzb3dhcyBhbm1lY2tlcm4sIG1laXN0IGlzdCBkYXMgamEgYXVjaCBlaW4KUHJvZ3JhbW1pZXJmZWhsZXIuIEplbWFuZCBoYXQgZGFubiBlaW5lbiBlbnRzcHJlY2hlbmRlbiBCdWcgYW4gRGViaWFuIGdlbWVsZGV0CnVuZCBsZXR6dGVuZGxpY2ggaGFiZW4gZGllIERlYmlhbmxldXRlIGRpZXNlIFplaWxlLCBkaWUgZGVuIEluaGFsdCBkZXMKbmljaHQtaW5pdGlhbGlzaWVydGVuIFNwZWljaGVycyB2ZXJ3ZXJ0ZXQsIGF1c2tvbW1lbnRpZXJ0LiBLbGFyLCBWYWxncmluZAptZWNrZXJ0IGRhbm4gbmljaHQgbWVoci4gTnVyIHdhciBkYW5uIGhhbHQgZGllIFp1ZmFlbGxpZ2tlaXQgZGVyIGVyemV1Z3RlbgpadWZhbGxzemFobGVuIHdlaXRnZWhlbmQgenVtIFRldWZlbC4uLgpXYWVocmVuZCBoaWVyIG5hdHVlcmxpY2ggZGllIERlYmlhbmxldXRlIGRpZSBwcmltYWVyZSBTY2h1bGQgaGFiZW4gKHouQi4KaGFldHRlbiBzaWUgZGFzIGphIG1hbCBhbHMgUGF0Y2ggYW4gZGllIE9wZW5zc2wtTGV1dGUgbGllZmVybiBrb2VubmVuLCBkaWUgZGFzClVuaGVpbCBkYW5uIHNpY2hlciBkdXJjaCBBdWZrbGFlcnVuZyBnZXN0b3BwdCBoYWV0dGVuKSwgYmVndWVuc3RpZ3RlIGRlcgpPcGVuc3NsLUNvZGUgc28gZXR3YXMgZXJoZWJsaWNoLCBpbmRlbSBlaW4gdW51ZWJsaWNoZXMgS29uc3RydWt0LCB3YXMgaW4gZGVuCm1laXN0ZW4gRmFlbGxlbiBlaW4gRmVobGVyIGlzdCwgdW5rb21tZW50aWVydCB2ZXJ3ZW5kZXQgd3VyZGUuCgpQYXRjaCwgZGVyIHp1bSBGZWhsZXIgZnVlaHJ0ZToKaHR0cDovL3N2bi5kZWJpYW4ub3JnL3ZpZXdzdm4vcGtnLW9wZW5zc2wvb3BlbnNzbC90cnVuay9yYW5kL21kX3JhbmQuYz9yZXY9MTQxCiZ2aWV3PWRpZmYmcjE9MTQxJnIyPTE0MCZwMT1vcGVuc3NsL3RydW5rL3JhbmQvbWRfcmFuZC5jJnAyPS9vcGVuc3NsL3RydW5rL3JhbgpkL21kX3JhbmQuYwpDb21taXQtTWVsZHVuZzoKIkRvbid0IGFkZCB1bmluaXRpYWxpc2VkIGRhdGEgdG8gdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLiAgVGhpcyBzdG9wCnZhbGdyaW5kIGZyb20gZ2l2aW5nIGVycm9yIG1lc3NhZ2VzIGluIHVucmVsYXRlZCBjb2RlLiAgKENsb3NlczogIzM2MzUxNikiCgpQYXRjaCwgZGVyIEZlaGxlciBiZWhvYjoKaHR0cDovL3N2bi5kZWJpYW4ub3JnL3ZpZXdzdm4vcGtnLW9wZW5zc2wvb3BlbnNzbC90cnVuay9jcnlwdG8vcmFuZC9tZF9yYW5kLmM/CnJldj0zMDAmdmlldz1kaWZmJnIxPTMwMCZyMj0yOTkmcDE9b3BlbnNzbC90cnVuay9jcnlwdG8vcmFuZC9tZF9yYW5kLmMmcDI9L29wZQpuc3NsL3RydW5rL2NyeXB0by9yYW5kL21kX3JhbmQuYwpDb21taXRtZWxkdW5nOgoiUmUtaW50cm9kdWNpbmcgc2VlZGluZyBvZiB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuICBQYXRjaCBmcm9tIHRoZQptYWludGFpbmVyLiIKCldlaXRlcmVyIEhpbnRlcmdydW5kOgpodHRwOi8vaXNjLmluY2lkZW50cy5vcmcvZGlhcnkuaHRtbD9zdG9yeWlkPTQ0MTQKdm9uIGVpbmVtIE9wZW5TU0wtQ29kZXI6Cmh0dHA6Ly93d3cubGlua3Mub3JnLz9wPTMyNwpEZWJpYW4tQnVnLCBkZXIgenVtIEVpbmJhdSBkZXMgRmVobGVycyBmdWVocnRlOgpodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9MzYzNTE2IzQwCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogT3BlblNTTC1EZWJha2VsIHZvbiBEZWJpYW4gKFplc3N0cmEsIDE0LiBNYWkgMjAwOCwgMjI6MDk6NDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMjEwNzk1Njc2IHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKQWNoamEsIHZlcmdlc3NlbjogRWluZSBRdWludGVzc2VueiwgZGllIGljaCBkYXJpbiBzZWhlOiBkZW4gU2lubiB2b24gQ29kZQprb21tZW50aWVyZW4uIDstKSBXYXMgZGllIGF1c2tvbW1lbnRpZXJ0ZSBaZWlsZSBhbiBzaWNoIHR1dCwgaGF0IGRlcgpEZWJpYW4tTWVuc2NoIHNpY2hlciB2ZXJzdGFuZGVuLCBudXIgbGVpZGVyIHdhciBpaG0gZGVyIEtvbnRleHQgbmljaHQKcHJhZXNlbnQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9wZW5TU0wtRGViYWtlbCB2b24gRGViaWFuIChHcmltbWJvcm4sIDE0LiBNYWkgMjAwOCwgMjI6MTY6MTIpOgp+IyEgcm49WmVzc3RyYSBydD0xMjEwNzk1Nzg3IHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKV2VpdGVyZSBMZWhyZTogTmljaHQgbWl0IHVwc3RyZWFtIHp1c2FtbWVuYXJiZWl0ZW4gaXN0IGtlaW5lIGd1dGUgSWRlZS4gTWFuCnNjaGllc3N0IHNpY2ggdmllbCBsZWljaHRlciBpbiBkZW4gRnVzcy4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogT3BlblNTTC1EZWJha2VsIHZvbiBEZWJpYW4gKFplc3N0cmEsIDE0LiBNYWkgMjAwOCwgMjI6MTY6NDIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMTA3OTYxNzIgcmc9d3d3Cn4jISB0aWQ9MTIxMDc5NTY3NgpKZXAsIFp1c3RpbW11bmcuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBPcGVuU1NMLURlYmFrZWwgdm9uIERlYmlhbiAoR2xvaW5zb24sIDE0LiBNYWkgMjAwOCwgMjM6MTA6MzEpOgp+IyEgcm49WmVzc3RyYSBydD0xMjEwNzk2MjAyIHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKTWlyIGlzdCBub2NoIGdhciBuaWNodCBzbyByZWNodCBrbGFyLCB3YXJ1bSBkaWUgSnVuZ3Mgdm9uIERlYmlhbiBpbQpPcGVuU1NMLUNvZGUgcnVtc2NobWllcmVuIHdvbGxlbiBvZGVyIG11ZXNzZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogT3BlblNTTC1EZWJha2VsIHZvbiBEZWJpYW4gKE1hcmN1cywgMTQuIE1haSAyMDA4LCAyMzo0OTozOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEwNzk5NDMxIHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKSmEsIGRpZSBGcmFnZSBkaWUgc2ljaCBtaXIgc3RlbGx0ZSBpc3Q6CgpJbiB3ZWxjaGVuIEZhZWxsZW0gd2FyIGRpZXNlciBTcGVpY2hlciB1bmluaXRpYWxpc2llcnQuCgpEZW5uIGF1Y2ggdW5pbml0aWFsaXNpZXJ0ZXIgU3BlaWNoZXIgaXN0IGtlaW5lIGd1dGUgUmFuZG9tbmVzcyA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBPcGVuU1NMLURlYmFrZWwgdm9uIERlYmlhbiAoSmltZGlncml6LCAxNS4gTWFpIDIwMDgsIDAxOjMzOjU0KToKfiMhIHJuPU1hcmN1cyBydD0xMjEwODAxNzc5IHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKSmEga29taXNjaCwgaWNoIGRhY2h0ZSBvcGVuc3NsIGhhdCBzdXBwb3J0IGZ1ZXIgZW50cm9weSBkZXZpY2VzLAp1bmQgaWNoIGRhY2h0ZSBhdWNoIGRhcyBhbGxlIG1vZGVybmVuIE9TIHNvd2FzIGJlcmVpdHN0ZWxsZW4gbWl0CmtvbmZpZ3VyaWVyYmFyZW4gcXVlbGxlbiBmdWVyIGRpZSBlbnRyb3BpZS4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE9wZW5TU0wtRGViYWtlbCB2b24gRGViaWFuIChSdW1hdGEsIDE1LiBNYWkgMjAwOCwgMDg6NTc6MjYpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyMTA4MDgwMzQgcmc9d3d3Cn4jISB0aWQ9MTIxMDc5NTY3NgpJY2ggaGFiZSBkYXMgZXR3YXMgYW5kZXJzIHZlcnN0YW5kZW4uCnZhbGdyaW5kIGhhdCBlaW5lIGFuZGVyZSBTdGVsbGUgbW9uaWVydCAtIHVuZCBkZXIgRGV2ZWxvcGVyIGhhdCBlaW5lCmdlbmF1c28gYXVzc2VoZW5kZSBaZWlsZSBtaXQgYXVza29tbWVudGllcnQuIElhdywgdmFsZ3JpbmQgZmFuZAp1bmluaXRpYWxpc2llcnRlIEVudHJvcGllIHVuZCBkZXIgRGV2ZWxvcGVyIHNjaG1pdHQgZGllIGluaXRpYWxpc2llcnRlCkVudHJvcGllIG1pdCByYXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogT3BlblNTTC1EZWJha2VsIHZvbiBEZWJpYW4gKE9ya3RvZXRlciwgMTUuIE1haSAyMDA4LCAxOTozNDowNik6Cn4jISBybj1SdW1hdGEgcnQ9MTIxMDgzNDY0NiByZz13d3cKfiMhIHRpZD0xMjEwNzk1Njc2CldvIGlzdCBSb2NodXMsIGRlciBrb2VubnRlIHVucyBkYXMgc2ljaGVyIGdlbmF1IGVya2xhZXJlbi4gOigKCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBPcGVuU1NMLURlYmFrZWwgdm9uIERlYmlhbiAoWmVzc3RyYSwgMTUuIE1haSAyMDA4LCAxOTo1MzoxOCk6Cn4jISBybj1SdW1hdGEgcnQ9MTIxMDgzNDY0NiByZz13d3cKfiMhIHRpZD0xMjEwNzk1Njc2Ck5hY2hkZW0gaWNoIG1pciBkYXMgbm9jaG1hbCBhbmdlZ3Vja3QgaGFiIHVuZCBkaWVzbWFsIG5pY2h0IG51ciBlaW5pZ2UgWmVpbGVuCkNvZGUgYW5nZXNjaGF1dCBoYWIsIGdsYXViZSBpY2gsIGRhc3MgZHUgcmVjaHQgZGFtaXQgaGFzdC4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRhbmsgQ29tcHV0ZXJzcGllbGVuIHp1bSBiZXNzZXJlbiBNZW5zY2hlbiAoWmVzc3RyYSwgMTYuIE1haSAyMDA4LCAyMzozMTozMSk6Ci4uLiBvZGVyOiBNVURzIGhhYmVuIEdlYnVydHN0YWc6CiJEYXMgR2VucmUgZGVyIE11bHRpcGxheWVyLVNwaWVsZSBmZWllcnQgR2VidXJ0c3RhZzogVm9yIDMwIEphaHJlbiwgMTk3OCwKZXJmYW5kZW4gZGllIGJlaWRlbiBicml0aXNjaGVuIFN0dWRlbnRlbiBSb3kgVHJ1YnNoYXcgdW5kIFJpY2hhcmQgQmFydGxlIGRlbgoiTXVsdGkgVXNlciBEdW5nZW9uIiwga3VyeiBNVUQuIERhcyB0ZXh0YmFzaWVydGUgU3BpZWwsIGRhcyBkYW1hbHMgYXVmIGVpbmVtClRpbWVzaGFyaW5nLUdyb3NzcmVjaG5lciBkZXIgTWFya2UgREVDIGxpZWYsIGdpbHQgYWxzIFVydmF0ZXIgYWxsZXIgaGV1dGlnZW4KTWVocnNwaWVsZXItT25saW5lLUdhbWVzIChNTU9zKSIKaHR0cDovL3d3dy5oZWlzZS5kZS9uZXdzdGlja2VyL0RhbmstQ29tcHV0ZXJzcGllbGVuLXp1bS1iZXNzZXJlbi1NZW5zY2hlbi0tL21lCmxkdW5nLzEwNzk4MgpodHRwOi8vc3ByaW5naGluLmRlL1phYUUKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjk6IE9wZW5TU0wtRGViYWtlbCB2b24gRGViaWFuIChIdW1uaSwgMTcuIE1haSAyMDA4LCAxNzo0MDo0Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMTA4NzM5OTggcmc9d3d3Cn4jISB0aWQ9MTIxMDc5NTY3NgpEZW5ub2NoIGlzdCBkaWUgUXVpbnRlc3Nlbno6IENvZGVzZWdtZW50ZSwgZGllIGtvbXBsZXhlciBzaW5kLCBvZGVyCkNvZGVzZWdtZW50ZSwgZGllIHVudWVibGljaCBzaW5kLCBrb21tZW50aWVyZW4gdW5nbGF1YmxpY2ggd2Foci4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogT3BlblNTTC1EZWJha2VsIHZvbiBEZWJpYW4gKEFudGhlYSwgMTkuIE1haSAyMDA4LCAwODo1NjoyMik6Cn4jISBybj1IdW1uaSBydD0xMjExMDM4ODQyIHJnPXd3dwp+IyEgdGlkPTEyMTA3OTU2NzYKS2FubnN0IER1IGRlbiBTYXR6IG5vY2htYWwgbGVzZW4gdW5kIG1pciBkYW5uIGVya2xhZXJlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBPcGVuU1NMLURlYmFrZWwgdm9uIERlYmlhbiAoWm9vaywgMTkuIE1haSAyMDA4LCAwODo1OToxNik6Cn4jISBybj1BbnRoZWEgcnQ9MTIxMTE4MDE4MiByZz13d3cKfiMhIHRpZD0xMjEwNzk1Njc2CkR1IG11c3N0IG51ciBlaW4gcGFhciBBbmZ1ZWhydW5nc3plaWNoZW4gZ2VzY2hpY2t0IGluIGRlbiAKU2F0eiBzdHJldWVuLCBkYW5uIHZlcnN0ZWhzdCBEdSBpaG4gYmVzc2VyOgoKRGVubm9jaCBpc3QgZGllIFF1aW50ZXNzZW56ICJDb2Rlc2VnbWVudGUsIGRpZSBrb21wbGV4ZXIKc2luZCBvZGVyIENvZGVzZWdtZW50ZSwgZGllIHVudWVibGljaCBzaW5kLCBrb21tZW50aWVyZW4iCnVuZ2xhdWJsaWNoIHdhaHIuCgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWkgYXVjaCBkdSBkYWJlaSEgKEdsb2luc29uLCAyOS4gTWFpIDIwMDgsIDE3OjE1OjI5KToKaHR0cDovL3Blbm5lcnZ6LmRlLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTZWkgYXVjaCBkdSBkYWJlaSEgKEFsYm9pbiwgMjkuIE1haSAyMDA4LCAyMToyMDowNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEyMDc0MTI5IHJnPXd3dwp+IyEgdGlkPTEyMTIwNzQxMjkKbG9sLCBkYW5uIGdsZWljaCBtYWwgZGllIE5hY2hyaWNodGVuIGltIEJsb2cgbGVzZW46CnBlbm5lcnZ6LmRlL2Jsb2cKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClp1bSBUaGVtYSBOZXdiaWVzICh1bmQgU3BpZWxlciB3ZXJiZW4pIChKaW1kaWdyaXosIDMwLiBNYWkgMjAwOCwgMTk6Mzk6NTIpOgoKaHR0cDovL3d3dy5jbGljaGVxdWVzdC5jb20vaW5kZXgucGhwP3Bvcz0zMDMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWnVtIFRoZW1hIE5ld2JpZXMgKHVuZCBTcGllbGVyIHdlcmJlbikgKENyb2Z0LCAzMC4gTWFpIDIwMDgsIDIxOjU4OjAyKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjEyMTY5MTkyIHJnPXd3dwp+IyEgdGlkPTEyMTIxNjkxOTIKQWxzIG9iIHdpciBoaWVyIFB2UCBoYWV0dGVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhaGFyYXN0YXViIChHbG9pbnNvbiwgMzAuIE1haSAyMDA4LCAyMjoxOTo1OCk6CldlciBoZXV0ZSBrZWluZSBaZWl0IGhhdHRlLCBhbiBkZW4gSGltbWVsIHp1IHNjaGF1ZW4gb2RlciB3ZXNzZW4gU29ubmUKdmVyZGVja3Qgd2FyLCBkZXIga2FubiBqYSBtYWwgbW9yZ2VuIGhvY2hzY2hhdWVuLCBkaWUgU29ubmUgc2llaHQgZGFuawpTYWhhcmFzdGF1YiBkb2NoIHJlY2h0IGludGVyZXNzYW50IGF1cy4KCmh0dHA6Ly93d3cubWV0ZW9zY2h3ZWl6LmFkbWluLmNoL3dlYi9kZS93ZXR0ZXIvd2V0dGVyZXJlaWduaXNzZS9mb2VobnN0dXJtXzI3XwpfMjguaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYWhhcmFzdGF1YiAoUnVtYXRhLCAgMS4gSnVuIDIwMDgsIDEzOjE1OjQwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTIxNzg3OTggcmc9d3d3Cn4jISB0aWQ9MTIxMjE3ODc5OApHcnJyLCBkZW4gRG9wcGVsdGVuIHVudGVyc3RpY2ggZ2VuYXUgYXVmIGRlbiBaZWlsZW51bWJydWNoIHp1IGxlZ2VuLAppc3QgamEgc293YXMgdm9uIGZpZXMuCgpEaWUgMzAgR3JhZCBpbiBkZXIgTmFjaHQgd2FyZW4gZXMgYWxsZXJkaW5ncyBhdWNoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYWhhcmFzdGF1YiAoR2xvaW5zb24sICAxLiBKdW4gMjAwOCwgMTY6NTE6MDYpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMTIzMTg5NDAgcmc9d3d3Cn4jISB0aWQ9MTIxMjE3ODc5OApadSBmYXVsIGZ1ZXIgdGlueXVybCBoYWx0LiAzMCBHcmFkIGRyYXVzc2VuPyBJZWVlaC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSYWRmYWhyZW4gaXN0IGdlZmFlaHJsaWNoIChHbG9pbnNvbiwgIDMuIEp1biAyMDA4LCAyMTo1NDowNSk6Cmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzRnODNxYgoKQXJnaC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLZWluIEludGVydmlldy4uLiAoWmVzc3RyYSwgIDQuIEp1biAyMDA4LCAxMTowMzoyMSk6Cm1pdCBBbmRyZWFzIEJ1c2tlOgpodHRwOi8vd3d3LmhlaXNlLmRlL3RwL3I0L2FydGlrZWwvMjcvMjc5OTkvMS5odG1sCihnZWh0IHVtIGRpZSBIYWZ0dW5nIHZvbiBWZXJsYWdlbi9Kb3VybmFsaXN0ZW4gdWViZXIgZGVuIEluaGFsdCB2b24gSW50ZXJ2aWV3CmJ6dy4gZGFzIHVuZ2VwcnVlZnRlIEFiZHJ1Y2tlbiB2b24gQWV1c3NlcnVuZ2VuIGRlcyBHZXNwcmFlY2hzcGFydG5lcnMpCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogS2VpbiBJbnRlcnZpZXcuLi4gKFpvb2ssICA0LiBKdW4gMjAwOCwgMTE6MjI6NTYpOgp+IyEgcm49WmVzc3RyYSBydD0xMjEyNTcwMjAxIHJnPXd3dwp+IyEgdGlkPTEyMTI1NzAyMDEKaGlsZndlaXNlIGF1Y2ggaGllciBlaW4gcGFhciBsdXN0aWdlIHNhY2hlbjoKaHR0cDovL3d3dy5idXNrZWlzbXVzLmRlLwoKdQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F2ZSB0aGUgTmluamFzISAoR2xvaW5zb24sICA0LiBKdW4gMjAwOCwgMTI6MDY6MTIpOgpodHRwOi8vd3d3LnBlbm55LWFyY2FkZS5jb20vaW1hZ2VzLzIwMDgvMjAwODA2MDQuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmFrIE1jS3JhY2tlbiAoR2xvaW5zb24sICA0LiBKdW4gMjAwOCwgMTM6NDk6MzMpOgpUZWlsIDI6IGh0dHA6Ly93d3cuemFrMi5vcmcvCgpXZWlzcyBqZW1hbmQsIG9iIFRlaWwgMSwgd2llIGJlaSBET1RUL01hbmlhYyBNYW5zaW9uIGVpbmdlYmV0dGV0IGlzdD8gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWmFrIE1jS3JhY2tlbiAoTWFyY3VzLCAgNC4gSnVuIDIwMDgsIDE0OjIyOjQ3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTI1ODAxNzMgcmc9d3d3Cn4jISB0aWQ9MTIxMjU4MDE3MwpOYWNoZGVtIGVzIGVpbiBGYW4gTmFjaGJhdSBpc3QsIGVoZXIgbmljaHQuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBaYWsgTWNLcmFja2VuIChaZXNzdHJhLCAgNC4gSnVuIDIwMDgsIDIwOjQwOjU4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTI1ODAxNzMgcmc9d3d3Cn4jISB0aWQ9MTIxMjU4MDE3MwpXYWVlaGhoaGguIEVyaW5uZXJ1bmdlbiBrb21tZW4genVydWVjay4uLiBXYXJ1bSBlcmZhaHIgaWNoIGRhdm9uIG5pY2h0IDMtNApXb2NoZW4gc3BhZXRlcj8gOy0pIEpldHp0IG11c3MgaWNoIG1pY2ggZXh0cmVtIGJlaGVycnNjaGVuLCBuaWNodCBhbnp1ZmFuZ2VuLApkYXMgenUgc3BpZWxlbi4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBaYWsgTWNLcmFja2VuIChCb2luZywgIDUuIEp1biAyMDA4LCAxMDo0NToyOCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMTI2MDQ4NTggcmc9d3d3Cn4jISB0aWQ9MTIxMjU4MDE3MwpVbmQgaW4gMy00IFdvY2hlbiBtdWVzc3Rlc3QgRHUgRGljaCBuaWNodCBleHRyZW0gYmVoZXJyc2NoZW4/CiAgQm9pbmcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFphayBNY0tyYWNrZW4gKFplc3N0cmEsICA1LiBKdW4gMjAwOCwgMTg6NTc6MzgpOgp+IyEgcm49Qm9pbmcgcnQ9MTIxMjY1NTUyOCByZz13d3cKfiMhIHRpZD0xMjEyNTgwMTczCkRhcyB3YWVyZSBlcyBuaWNodCBtZWhyIHNvIHN0YXJrIGVyZm9yZGVybGljaCwgd2VpbCBkYW5uIGVpbmlnZSBkZXIgQmF1c3RlbGxlbgp6dSBzaW5kIHVuZCBpY2gga29lbm50ZSBkYSBhdWNoIHJ1aGlnIGVpbmlnZSBTdHVuZGVuIGludmVzdGllcmVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmFkZmFocmVyIHNpbmQgZ2VmYWVocmxpY2ggKEdsb2luc29uLCAxMS4gSnVuIDIwMDgsIDIyOjE4OjExKToKaHR0cDovL3d3dy5kcG9sZy1iZXJsaW4uZGUvcHJlc3NlLzA4MDYxMF9mYWhycmFkLXJhbWJvcy5wZGYKCiJWb3IgYWxsZW0gaW4gZGVuIFNvbW1lcm1vbmF0ZW4gdmVydXJzYWNoZW4gaW1tZXIgbWVociBSYWRmYWhyZXIgdGVpbHMgc2Nod2VyZQpVbmZhZWxsZSBtaXQgRnVzc2dhZW5nZXJuIGF1ZiBkZW4gR2Vod2VnZW4gaW4gQmVybGluLiBWb24gSmFudWFyIGJpcyBNYWVyegoyMDA4IHZlcnVuZ2x1ZWNrdGVuIHNjaG9uIDc1MiBSYWRmYWhyZXIsIGRhdm9uIDMgdG9lZGxpY2guIE1pdGFyYmVpdGVyIGRlcgpPcmRudW5nc2FlbXRlciB1bmQgUG9saXppc3RlbiBzaW5kIG1hY2h0bG9zIGdlZ2VuIGRpZSByYXNlbmRlIEdlZmFoci4iCgotIDMuMi46IDgyamFlaHJpZ2UgRnJhdSBiZWltIEFiYmllZ2VuIGF1ZiBGdXNzZ2FlbmdlcmZ1cnQgdWViZXJyb2xsdAotIDExLjMuOiAxNGphZWhyaWdlcyBNYWVkY2hlbiBhdWYgUmFkd2VnL1JhZGZ1cnQgdm9uIExLVyBlcmZhc3N0CiAgICAgICAgIChkZXIgUmFkd2VnIHdpcmQgZGEgYXVmIGRpZSBTdHJhc3NlIGdlZnVlaHJ0LCB3YWhyc2NoZWlubGljaAogICAgICAgICAgaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vNTVuZmdrKQogICAgICAgICBCaWxkIG1hY2h0ZSB1ZWJyaWdlbnMgZGVuIEJWRy1TdHJlaWsgYWxzIFNjaHVsZGlnZW4gYXVzLCBkYQogICAgICAgICBkYXMgTWFlZGNoZW4gc29uc3QgQnVzIGZ1aHIKLSAxLjEuIDQ5amFlaHJpZ2VyIEV4LVJhZC1TcG9ydGxlciBiZWltIFVlYmVycXVlcmVuIGRlciBGYWhyYmFobiBtaXQKICAgICAgIFBvY2tldGJpa2UgdW50ZXIgdW5nZWtsYWVydGVuIFVtc3RhZW5kZW4gZXJmYXNzdCB1bmQgZ2V0b2V0ZXQKLSAyMy41LiA2NWphZWhyaWdlIEZyYXUgYXVmIFNjaHV0enN0cmVpZmVuIHZvbiByZWNodHNhYmJpZWdlbmRlbSBMS1cKICAgICAgICBlcmZhc3N0L2dldG9ldGV0CgpBbHNvIHp1bWluZGVzdCBkaWUgVG9kZXNmYWVsbGUgc2NoZWluZW4gamEgZG9jaCByZWNodCBrdXJpb3NlICJGYWhycmFkLVJhbWJvcyIKaW4gQmVybGluIHp1IHNlaW4uIERpZSBQb2xpemVpZ2V3ZXJrc2NoYWZ0IC0gZGVpbiBGcmV1bmQgdW5kIEhlbGZlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmFkZmFocmVyIHNpbmQgZ2VmYWVocmxpY2ggKEppbWRpZ3JpeiwgMTIuIEp1biAyMDA4LCAyMDo1Nzo1OCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjEzMjE1NDkxIHJnPXd3dwp+IyEgdGlkPTEyMTMyMTU0OTEKTmEgZGVyIGVyc3RlIEZhbGwgd2FyIGRvY2gga2xhciBlaW4gRmFocnJhZC1SYW1ibywKZWluZmFjaCA4MmphZWhyaWdlIEZ1c3NnYWVuZ2VyIGF1ZiBkZXIgRnVydAp1ZWJlcnJvbGxlbiBudXIgd2VpbCBtYW4gYmVpbSBBYmJpZWdlbiBuZWQgZ2VzY2hlaXQgZ2VzY2hhdXQKaGF0LgpGaW5kZSB1ZWJyaWdlbnMgIkZ1c3NnYWVuZ2VyZnVydCIgc3VwZXIuIEFsc28gaW4gVmVuZWRpZyBvZGVyCkFtc3RlcmRhbSBrYW5uIGljaCBtaXIgZGFzIHNjaG9uIGd1dCB2b3JzdGVsbGVuLAphYmVyIGluIEJlcmxpbiBoYWx0ZW4gc2ljaCBkb2NoIGRpZSBXYXNzZXJ3ZWdlIGV0d2FzIGluCkdyZW56ZW4uLi4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhZGZhaHJlciBzaW5kIGdlZmFlaHJsaWNoIChHcmltbWJvcm4sIDEyLiBKdW4gMjAwOCwgMjE6MTc6MDEpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyMTMyOTcwNzggcmc9d3d3Cn4jISB0aWQ9MTIxMzIxNTQ5MQpTZWl0IGljaCBlaW5lbiBCZXJpY2h0IHVlYmVyIGRpZSBWZXJzb3JndW5nIGRlciBnYW56ZW4gR3Jvc3NiYXVzdGVsbGVuIDE5ODlmZgptaXQgQmF1c3RvZmZlbiAod2VpdGdlaGVuZCB1ZWJlciBkZW4gV2Fzc2Vyd2VnKSBnZXNlaGVuIGhhYmUgYmluIGljaCBkYSBuaWNodApzbyB2b24gdWViZXJ6ZXVndC4gS2xhciwga2VpbiBWZXJnbGVpY2ggenUgVmVuZWRpZywgYWJlciB0cm90emRlbS4uLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSYWRmYWhyZXIgc2luZCBnZWZhZWhybGljaCAoR2xvaW5zb24sIDEyLiBKdW4gMjAwOCwgMjI6NDE6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMTMyOTgyMjEgcmc9d3d3Cn4jISB0aWQ9MTIxMzIxNTQ5MQpKYSwgZGllIEJhdXN0ZWxsZSBhbSBMZWhydGVyIEJhaG5ob2YsIGVybSBIYXVwdGJhaG5ob2Ygc2FoIHNjaG9uIG5pY2h0CnNjaGxlY2h0IGF1cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJhZGZhaHJlciBzaW5kIGdlZmFlaHJsaWNoIChNYWhhcmV0LCAxNy4gSnVuIDIwMDgsIDEwOjAxOjA3KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjEzMjk3MDc4IHJnPXd3dwp+IyEgdGlkPTEyMTMyMTU0OTEKTmFqYSwgQmVybGluIGhhdCBtZWhyIEJydWVja2VuIGFscyBWZW5lZGlnIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWxndXJhdG9yIChHd2VuLCAyNy4gSnVuIDIwMDgsIDEwOjA2OjM3KToKV2FzIHp1bSBUaGVtYSBSZWFsaXRhZXQgdW5kIEZvdG9ncmFmaWU6Cmh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9HZWhhY2t0ZS1SZWFsaXRhZXQtbWl0LWRlbS1JbWFnZS1GdWxndXJhdG9yLS0vbQplbGR1bmcvMTEwMDQzCnVuZCBoaWVyIGRpZSBBbndlbmR1bmcgaW4gQmVybGluOgpodHRwOi8vd3d3Lmp1bGl1c3ZvbmJpc21hcmNrLmNvbS9mdWxndXJhdG9yL2ZlcnRpZy5odG1sCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnVsZ3VyYXRvciAoUm9uZGEsIDI4LiBKdW4gMjAwOCwgMjA6MDE6MTQpOgp+IyEgcm49R3dlbiBydD0xMjE0NTUzOTk3IHJnPXd3dwp+IyEgdGlkPTEyMTQ1NTM5OTcKRGVyICJUb3BzaG90IEhlbG1ldCIgdm9tIGdsZWljaGVuIEt1ZW5zdGxlci9FcmZpbmRlciBpc3QgYXVjaCBzZWhlbnN3ZXJ0OgoKaHR0cDovL3d3dy5qdWxpdXN2b25iaXNtYXJjay5jb20vdG9wc2hvdC1oZWxtZXQvaW5kZXguaHRtbAoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRnVsZ3VyYXRvciAoUnVtYXRhLCAzMC4gSnVuIDIwMDgsIDExOjU2OjQ0KToKfiMhIHJuPVJvbmRhIHJ0PTEyMTQ2NzYwNzQgcmc9d3d3Cn4jISB0aWQ9MTIxNDU1Mzk5NwpNdXNzIG1hbiBmdWVyIGRhcyBEaW5nIHNlaW5lIENoaXBzdHVldGUgYWJuZWhtZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPZmZpY2UgV2FycyAoR3dlbiwgIDIuIEp1bCAyMDA4LCAxMzoxOTozMSk6CkhvZmZlbnRsaWNoIGdlaHQncyBiZWkgRXVjaCBpbiBkZXIgRmlybWEgbmljaHQgc28genU6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1wVktuRjI2cUZGTQoKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyLiBIb3JyaWJsZSAoR2xvaW5zb24sIDE2LiBKdWwgMjAwOCwgMDM6MDI6MzIpOgpKb3NzIFdoZWRvbiBzdHJpa2VzIGFnYWluIQoKaHR0cDovL2RyaG9ycmlibGUuY29tLwoKKGJpcyAyMC4gSnVsaSBrb21tZW4gZGllIGVyc3RlbiBkcmVpIEVwaXNvZGUgZGEgZnJlaSBvbmxpbmUpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJva2ViYWNrIE1vdW50YWluIDIgKEdsb2luc29uLCAxNy4gSnVsIDIwMDgsIDEyOjQ0OjA2KToKaHR0cDovL3d3dy5ydXRoZS5kZS9nYWxsZXJ5L2NwZzE0MTAvYWxidW1zL3VzZXJwaWNzLzEwMDA0L3N0cmlwXzA3NzIuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJyb2tlYmFjayBNb3VudGFpbiAyIChBbWFyeWxsaXMsIDE3LiBKdWwgMjAwOCwgMTI6NDc6NTYpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIxNjI5MTQ0NiByZz13d3cKfiMhIHRpZD0xMjE2MjkxNDQ2CkRlbiBoYWIgaWNoIGpldHp0IG5pY2h0IGthcGllcnQuCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRHIuIEhvcnJpYmxlIChHbG9pbnNvbiwgMTkuIEp1bCAyMDA4LCAxMjoxMjowOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjE2MTcwMTUyIHJnPXd3dwp+IyEgdGlkPTEyMTYxNzAxNTIKTGV0emUgRm9sZ2UgaXN0IHVwIHVuZCBudXIgbm9jaCBiaXMgbW9yZ2VuIGFuZ3Vja2Jhci4gRGFuYWNoIC4uLiBtdXNzIG1hbiBhdWYKZGllIERWRCB3YXJ0ZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERyLiBIb3JyaWJsZSAoVmFuaW9uLCAxOS4gSnVsIDIwMDgsIDE0OjQ0OjQ4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMTY0NjIzMjggcmc9d3d3Cn4jISB0aWQ9MTIxNjE3MDE1MgpEYW5rZSBub2NoIG1hbCBmdWVyIGRlbiBIaW53ZWlzIC4uLiBkYXMgaXMgamEgenUgZ2VpbC4gRGllIERWRCB3ZXJkIGljaApkZWZpbmlpdGl2IGthdWZlbi4gV2FydW0gbWFjaHQgV2hlZG9uIG5pY2ggdmllbCBtZWhyPwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERyLiBIb3JyaWJsZSAoWmVzc3RyYSwgMTkuIEp1bCAyMDA4LCAxNDo1MjozNyk6Cn4jISBybj1WYW5pb24gcnQ9MTIxNjQ3MTQ4OCByZz13d3cKfiMhIHRpZD0xMjE2MTcwMTUyCkpldHp0IGhhZXR0ZSBpY2ggamEgZmFzdCBkb2NoIG1hbCBrdXJ6IHJlaW5nZWd1Y2t0IHVuZCBuaWNodCB2b3JoYW5kZW5lIFplaXQKdG90Z2VzY2hsYWdlbi4gSGFiIGFiZXIgbnVyIGRpZSBNZWxkdW5nICJUaGlzIHZpZGVvIGl0IG5vdCBhdmFpbGFibGUgYXQgdGhpcwpzaXRlLiIgYmVrb21tZW4uIEF1Y2ggZ3V0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2Vic2VyaWUgVGhlIEd1aWxkIChEYXJrbG9yLCAyMC4gSnVsIDIwMDgsIDA0OjA4OjA3KToKRmFuZHMgZ2FueiB3aXR6aWcuLi4KCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2h0aGVndWlsZAoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2l0emlnZSBGb2xnZT8gKERhcmtsb3IsIDIwLiBKdWwgMjAwOCwgMDQ6MDk6NDYpOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVdORGxmNmhBNlRZJmZlYXR1cmU9dXNlcgoKCkRhcmtsb3IKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdsYXMgLi4uIChHbG9pbnNvbiwgMjEuIEp1bCAyMDA4LCAyMzo0MjowNyk6CgouLi4gdW5kIEZhaHJyYWVkZXIgOykKCmh0dHA6Ly93d3cueWVodWRhbW9vbi5jb20vaW5kZXgucGhwP2RhdGU9MjAwOC0wNS0wNgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFjaG1lZCwgdGhlIGRlYWQgdGVycm9yaXN0IChHbm9tZSwgMjYuIEp1bCAyMDA4LCAxMjo0ODo1MCk6Cmh0dHA6Ly9kZS55b3V0dWJlLmNvbS93YXRjaD92PXBzdkwyZVlRN1lNCgplaW5mYWNoIHN1cGVyCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGFjaG1lZCwgdGhlIGRlYWQgdGVycm9yaXN0IChSdW1hdGEsIDI2LiBKdWwgMjAwOCwgMTk6NDQ6NTMpOgp+IyEgcm49R25vbWUgcnQ9MTIxNzA2OTMzMCByZz13d3cKfiMhIHRpZD0xMjE3MDY5MzMwCkkga2lsbCB5b3UgYWxsIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBhY2htZWQsIHRoZSBkZWFkIHRlcnJvcmlzdCAoWmFwaG9iLCAyNi4gSnVsIDIwMDgsIDIwOjU4OjMwKToKfiMhIHJuPVJ1bWF0YSBydD0xMjE3MDk0MjkzIHJnPXd3dwp+IyEgdGlkPTEyMTcwNjkzMzAKc2lsZW5jZSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBhY2htZWQsIHRoZSBkZWFkIHRlcnJvcmlzdCAoSmltZGlncml6LCAyNi4gSnVsIDIwMDgsIDIzOjM2OjIxKToKfiMhIHJuPUdub21lIHJ0PTEyMTcwNjkzMzAgcmc9d3d3Cn4jISB0aWQ9MTIxNzA2OTMzMApob2Vob2Vob2UsIENsYXkgQWlrZW4sIGVpbmUgZGVyIDcyIEp1bmdmcmF1ZW4uIDotKSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGQtQmxvZyAoR2xvaW5zb24sICA1LiBBdWcgMjAwOCwgMTU6NTM6NDUpOgpodHRwOi8vd3d3LmJpbGRibG9nLmRlLzMxMzEvYmlsZGRlLWxlc2VyLWZvcmRlcm4td2FzLWJpbGRkZS1mb3JkZXJ0LwoKRGFzIEJlc3RlIGFuIGRlbSBCZWl0cmFnIGlzdCBkZXIgaW1hZ2luYWVyZSBXYWhsemV0dGVsLiBJbnNiZXNvbmRlcmUgZGVyCmxlaWNodCB1bmxlc2VybGljaGUgRWludHJhZyAuLi4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpsaWdodHdvcmtlci5jb20gKEtlc3NhLCAgOS4gQXVnIDIwMDgsIDIzOjEzOjEyKToKRWluZSBrbGVpbmUgUGVybGUgYXVzIGRlbSBXZWIKCkljaCBoYXR0ZSB2ZXJnZWJlbnMgdmVyc3VjaHQsIGRpZSBrb21wbGV0dGUgQXJpYWwgVW5pY29kZSBNUyBhdWYgbWVpbmVtIGxlZ2FsCmVyd29yYmVuZW4gV2luZG93cyBWaXN0YSAoKmR1Y2sqKSBuYWNoenVpbnN0YWxsaWVyZW4uIEFiZXIgZW50d2VkZXIgZ2VodCBkYXMKbWl0IGRlciBWaXN0YS1JbnN0YWxsYXRpb25zLUNEIG5pY2h0IHNvIG9obmUgd2VpdGVyZXMsIG9obmUgZGFzcyBtYW4gcmlza2llcnQsCmRlbiBnZXNhbXRlbiBWaXN0YS1LcmVtcGVsIG5ldSBpbnN0YWxsaWVyZW4genUgbXVlc3Nlbiwgb2RlciBpY2ggYmluIHp1IGRvb2YuCkplZGVuZmFsbHMgZ2FiIGljaCBhdWYgdW5kIHN1Y2h0ZSBuYWNoIGVpbmVtIFJhdWJkb3dubG9hZCwgZGVuIGljaApzY2hsaWVzc2xpY2ggYmVpIGVpbmVtIGZlcm5vZXN0bGljaGVuIEdlZWsgbWl0IGVpbmVyIGx1c3RpZ2VuLCBvZmZlbmJhciBwZXIKQmFiZWxmaXNoIGlucyBFbmdsaXNjaGUgdWViZXJzZXR6dGVuLCBIb21lcGFnZSBmYW5kLiBWb3JhdXNzZXR6dW5nIGZ1ZXIgZGVuCkRvd25sb2FkIHdhciwgZGFzcyBpY2ggTWl0Z2xpZWQgYmVpIGVpbmVyIE9yZ2FuaXNhdGlvbiBuYW1lbnMgJ0JlYWNvbnMgb2YKTGlnaHQnIHd1cmRlLCBkaWUgc2ljaCBkaWUgRXJsZXVjaHR1bmcgZGVyIE1lbnNjaGhlaXQgenVtIFppZWwgZ2VzZXR6dCBoYXQuCldpZSBzaWUgZGFzIGdlbmF1IHZvcmhhYmVuLCBoYWJlIGljaCBub2NoIG5pY2h0IHJhdXMgKG5pY2h0cyBTY2hsaW1tZXMsIGljaApiZWtvbW1lIGRhIGpldHp0IGVpbm1hbCBpbSBNb25hdCBlaW5lbiB1bmF1ZmRyaW5nbGljaGVuIE5ld3NsZXR0ZXIsIGRhcyBpc3QKYWxsZXMpLiBBYmVyIGRpZXNlcyBrbGVpbmUgcGVyc29lbmxpY2hlIEJla2VubnRuaXMgdm9uIGVpbmVtIGRlciBDaGVmcyAtIHp1Cmxlc2VuIGF1ZiBkZXIgSG9tZXBhZ2UgZGVyIE9yZ2FuaXNhdGlvbiAtIG1vZWNodGUgaWNoIGV1Y2ggbmljaHQgdm9yZW50aGFsdGVuOgoKIlBhcnQgb2Ygb3VyIHB1cnBvc2UgaXMgdG8gb3BlbiBkb29ycyBmb3IgTGlnaHR3b3JrZXIgZ2xvYmFsbHkuIFRvIHRoYXQgZW5kIHdlCnRyeSB0byBzaGFyZSBvdXIgZ29vZCBleHBlcmllbmNlcyBhbmQgb3VyIG1pc3Rha2VzIGluIHRoZSBob3BlcyB0aGF0IGl0IG1heQpzYXZlIHlvdSBzb21lIHRpbWUuIEl0IGlzIHdpdGggdGhhdCBzcGlyaXQgdGhhdCBJIHN0cm9uZ2x5IHN1Z2dlc3QgdGhhdCB5b3UKc3RheSBhd2F5IGZyb20gV2luZG93cyBuZXcgb3BlcmF0aW5nIHN5c3RlbSBWaXN0YS4gTWljcm9zb2Z0IGhhcyB2ZXJ5IHF1aWV0bHkKcmVsZWFzZWQgYSBEb3duZ3JhZGUgdG8gWFAgcHJvZ3JhbSBkdWUgdG8gaGlnaCBwdWJsaWMgZGVtYW5kLiBJdCBpcyBvbmx5CmF2YWxpYWJsZSB0byBWaXN0YSBCdXNpbmVzcyBvciBVbHRpbWF0ZSBjdXN0b21lcnMgdGh1cyBmYXIgc28gbW9zdCBvZiB0aGUKdHlwaWNhbCB1c2VycyBhcmUgc3R1Y2sgd2l0aCBhIG5ldyBvcGVyYXRpbmcgc3lzdGVtIHRoYXQgaW4gbXkgb3BpbmlvbiBzaG91bGQKbmV2ZXIgaGF2ZSBiZWVuIHJlbGVhc2VkLiIKCkhhY2ggamEuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2thdGVuIG1hbCBhbmRlcnMuLi4gKFplc3N0cmEsIDE3LiBBdWcgMjAwOCwgMTI6Mzk6MTEpOgpWZXJtdXRsaWNoIGtlbm5lbiBkYXMgZWluaWdlIHNjaG9uOgpodHRwOi8vYmxvZy5rb2VobnRvcHAuZGUvYXJjaGl2ZXMvMjIwNy1Sb2JvdGVjaC1hdWYtUmFlZGVybi5odG1sClNjaG9uIGJlZWluZHJ1Y2tlbmQuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW4gNiBTY2hyaXR0ZW4genVtIGp1cmlzdGlzY2hlbiBTYXR6LiAoWmVzc3RyYSwgMTcuIEF1ZyAyMDA4LCAxNToyMzoxNyk6Ck9kZXIgZXZ0bC4gZWhlciAiLi4uIHp1bSBidWVyb2tyYXRpc2NoZW4gU2F0ei4iCmh0dHA6Ly9tbC40Mi5vcmcvbmljay1mdW4vbXNnMDA0MDguaHRtbAoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEluIDYgU2Nocml0dGVuIHp1bSBqdXJpc3Rpc2NoZW4gU2F0ei4gKEhpZ2hsYW5kZXIsIDE4LiBBdWcgMjAwOCwgMTA6MDM6MTgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjE4OTc5Mzk3IHJnPXd3dwp+IyEgdGlkPTEyMTg5NzkzOTcKRWZmZWt0aXYuIFNlaHIgaW50ZXJlc3NhbnQgZmluZGUgaWNoIGphIGRhcyA1MDAtTWVpbGVuLUxpbWl0CmZ1ZXIgdmVyc2VuZGV0ZSBlbWFpbHM6CgpodHRwOi8vbWwuNDIub3JnL25pY2stZnVuL21zZzAwNDE3Lmh0bWwKCkljaCBzYWcgbnVyICdzdGF0aXN0aWNzJyB1bmQgJ29mIHRoZSBodW1hbiByZWNpcGllbnQnLi4uCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSW4gNiBTY2hyaXR0ZW4genVtIGp1cmlzdGlzY2hlbiBTYXR6LiAoWmVzc3RyYSwgMTguIEF1ZyAyMDA4LCAxMDoyODowOCk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEyMTkwNDY1OTggcmc9d3d3Cn4jISB0aWQ9MTIxODk3OTM5NwpHcm9zc2FydGlnLi4uIFVuZCBhbnNvbnN0ZW4gb2huZSB3ZWl0ZXJlIFdvcnRlLi4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJbiA2IFNjaHJpdHRlbiB6dW0ganVyaXN0aXNjaGVuIFNhdHouIChBbWFyeWxsaXMsIDE4LiBBdWcgMjAwOCwgMjA6MjU6NDEpOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMjE5MDQ2NTk4IHJnPXd3dwp+IyEgdGlkPTEyMTg5NzkzOTcKU2VociBnZWlsLiBJbiBtZWluZXIgRnVua3Rpb24gYWxzIGhhdXB0YmVydWZsaWNoZXIgUG9zdG1hc3RlciBoYWJlIGljaCBkYXMKZGlyZWt0IG1hbCBpbiBkaWUgQm9va21hcmtzIGF1Zmdlbm9tbWVuIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJbiA2IFNjaHJpdHRlbiB6dW0ganVyaXN0aXNjaGVuIFNhdHouIChKaW1kaWdyaXosIDE5LiBBdWcgMjAwOCwgMDQ6MDA6MjQpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEyMTkwODM5NDEgcmc9d3d3Cn4jISB0aWQ9MTIxODk3OTM5NwpKYSwgYmVzb25kZXIgZ2VpbCBkYSBtaXQgdW5pdHMoMSkgYmlzIGRhdG8gdW5iZWthbm50IHdhci4KQ29vbCwgY29vbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEluIDYgU2Nocml0dGVuIHp1bSBqdXJpc3Rpc2NoZW4gU2F0ei4gKFpvb2ssIDE5LiBBdWcgMjAwOCwgMDk6Mjg6MzgpOgp+IyEgcm49SmltZGlncml6IHJ0PTEyMTkxMTEyMjQgcmc9d3d3Cn4jISB0aWQ9MTIxODk3OTM5NwpKYSwgZGFzIGhhYmUgaWNoIGF1Y2ggbmV1IGdlbGVybnQuIFoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEluIDYgU2Nocml0dGVuIHp1bSBqdXJpc3Rpc2NoZW4gU2F0ei4gKFJ1bWF0YSwgMTkuIEF1ZyAyMDA4LCAwOTozNzo1Nik6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTIxOTExMTIyNCByZz13d3cKfiMhIHRpZD0xMjE4OTc5Mzk3Ck1laW50IElociB1bml0cyg3KT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IEluIDYgU2Nocml0dGVuIHp1bSBqdXJpc3Rpc2NoZW4gU2F0ei4gKENyb2Z0LCAxOS4gQXVnIDIwMDgsIDEwOjA1OjUxKToKfiMhIHJuPVJ1bWF0YSBydD0xMjE5MTMxNDc2IHJnPXd3dwp+IyEgdGlkPTEyMTg5NzkzOTcKTmVpbiwgdW5pdHMoMSkgd2llIHNjaG9uIGdlc2NocmllYmVuLgpodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvdW5pdHMvdW5pdHMuaHRtbAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEluIDYgU2Nocml0dGVuIHp1bSBqdXJpc3Rpc2NoZW4gU2F0ei4gKFpvb2ssIDE5LiBBdWcgMjAwOCwgMTE6MTg6MDQpOgp+IyEgcm49Q3JvZnQgcnQ9MTIxOTEzMzE1MSByZz13d3cKfiMhIHRpZD0xMjE4OTc5Mzk3CmViZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHbyBmb3IgR29sZCAoR3dlbiwgMjYuIEF1ZyAyMDA4LCAxMDoyNDo0OSk6CkdvbGQgZnVlciBEZXV0c2NobGFuZCBiZWkgT2x5bXBpYToKaHR0cDovL2RlLnlvdXR1YmUuY29tL3dhdGNoP3Y9eHNVaExydF8yV2cKOykKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk15dGhCdXN0ZXJzIHVuZCBNYWxlbiAoR2xvaW5zb24sIDI4LiBBdWcgMjAwOCwgMTI6MTE6NDMpOgpodHRwOi8vc2NyMy5nb2xlbS5kZS8/ZD0wODA4L252aXNpb24tbXl0aGJ1c3RlcnMmYT02MjA0MSZzPTcKCnVuZCBmZi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMSEMtV2Fja28gKEdsb2luc29uLCAyOS4gQXVnIDIwMDgsIDIwOjE0OjEwKToKRGVyIEhlcnIgYmVpIGh0dHA6Ly9saGNkZWZlbnNlLm9yZy8gaGF0IHNpY2ggamEgc2Nob24gZWluZW4gTmFtZW4gZ2VtYWNodC4gSWNoCmhhYiBtaXIgaGV1dGUgbWFsIHNlaW5lIFNlaXRlIGFuZ2VzZWhlbiB1bmQgZ2xlaWNoIHdpZWRlciBhdWZnZWhvZXJ0IC4uLgoKIkN1cnJlbnRseSwgaW4gYWRkaXRpb24gdG8gdGhlIHRoZW9yZXRpY2FsIHN0cmFuZ2VsZXQvbWljcm8tYmxhY2staG9sZXMKc2NlbmFyaW9zLCB3ZSBhcmUgZXhhbWluaW5nIGluYWR2ZXJ0ZW50IHRyaWdnZXJpbmcgb2YgYSB0aGVybW9udWNsZWFyIGZ1c2lvbgpmcm9tIGFuIGFjY2lkZW50YWwgZXJyYW50IGJlYW0gdGhhdCBtaWdodCBzdHJpa2UgYW55IGN5bGluZGVycyBvZiBOaXRyb2dlbgpzdGFuZGluZyBhcm91bmQsIG9yIGV2ZW4gdGhlIENhcmJvbiBiZWFtLWR1bXAgaWYgdGhlIGJlYW0tc3ByZWFkZXIgZmFpbHMuIFRoZQpmdXNpb24gcG90ZW50aWFsIGlzIHRoZXJlLCBidXQgSW0gbm90IGNlcnRhaW4gYWJvdXQgd2hldGhlciBhIGJlYW0tc3ByZWFkZXIKY291bGQgZmFpbCwgb2Ygd2hldGhlciBhbnkgbml0cm9nZW4gY3lsaW5kZXJzIGFyZSBpbiB0aGUgY2F2ZXJucyBvZiB0aGUgTEhDLiIKCkhtbW0uIFNvIGthbm4gaWNoIGF1Y2guCgoiTW9tZW50YW4gdW50ZXJzdWNoZSBpY2ggYXVjaCB2ZXJzZWhlbnRsaWNoZXMgQXVzbG9lc2VuIHZvbiBBdG9tYm9tYmVuIGltCkJ1bmRlc3RhZy4gSWNoIHdlaXNzIHp3YXIgbmljaHQsIG9iIGRvcnQgQXRvbWJvbWJlbiBzaW5kIG9kZXIgZGllIExldXRlIGR1bW0KZ2VudWcgd2FlcmVuIHNpZSBhdXN6dWxvZXNlbiwgYWJlciBkYXMgUG90ZW50aWFsIGlzdCBkYS4iCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExIQy1XYWNrbyAoWmVzc3RyYSwgMjkuIEF1ZyAyMDA4LCAyMDoyODozNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjIwMDMzNjUwIHJnPXd3dwp+IyEgdGlkPTEyMjAwMzM2NTAKRGFzIFBvdGVudGlhbCBhbiBEdW1taGVpdCBtZWluc3QgRHU/IDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMSEMtV2Fja28gKFZhbmlvbiwgMzAuIEF1ZyAyMDA4LCAxNToyNzowNCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMjAwMzQ1MTcgcmc9d3d3Cn4jISB0aWQ9MTIyMDAzMzY1MApEaWUgTGV1dGUgc2luZCBkb2NoIG51ciBzYXVlciwgZGFzcyB3ZW5uIHNpZSByZWNodCBoYWJlbiwgc2llIG5pY2h0IG1hbCBtZWhyCmRpZSBHZWxlZ2VuaGVpdCB6dSBlaW5lbSAiV2lyIGhhbXMgZXVjaCBqYSBnZXNhZ3QiIGhhYmVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IExIQy1XYWNrbyAoR2xvaW5zb24sIDMwLiBBdWcgMjAwOCwgMTY6MDM6MjkpOgp+IyEgcm49VmFuaW9uIHJ0PTEyMjAxMDI4MjQgcmc9d3d3Cn4jISB0aWQ9MTIyMDAzMzY1MApIYWV0dGVuIHNpZSBqYSBudXIgYmVpIGlocmVyIFN0cmFuZ2VsZXQtQW5zdGVja3VuZ3MtSWRlZSBuaWNodC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWVyIFZlcndhbHR1bmdzZ2VzY2hhZWRpZ3RlIHVuZCAtbWl0YXJiZWl0ZXI6IChUZXJyeSwgIDEuIFNlcCAyMDA4LCAxNTozMDowNCk6Cmh0dHA6Ly93d3cuc3VlZGRldXRzY2hlLmRlL3Bhbm9yYW1hLzI1My8zMDYyMTUvdGV4dC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2V3YXJzLUNsb25lIChab29rLCAgMy4gU2VwIDIwMDgsIDIxOjE2OjA0KToKfiMhIHJuPUh1bW5pIHJ0PTEyMjA0NjkxOTkgcmc9YW56ZWlnZW4KfiMhIHRpZD0xMjIwNDY5MTk5CldhcyBoZWlzc3QgZGVubiAibGFuZ3NhbSB3aXJkIj8gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzLUNsb25lIChDaGFnYWxsLCAgMy4gU2VwIDIwMDgsIDIxOjE4OjE4KToKfiMhIHJuPVpvb2sgcnQ9MTIyMDQ2OTM2NCByZz13d3cKfiMhIHRpZD0xMjIwNDY5MTk5CkVpbmUgbm9ybWFsZSBJY2V3YXJzLVJ1bmRlIGdlaHQgZ2VmdWVobHQgY2EuIDEgSmFociBvZGVyIHNvLiBBbHNvIHp1IHdlbmlnCkFjdGlvbiwgenUgdmllbCBsYW5nZXdlaWxlLgoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJY2V3YXJzLUNsb25lIChaZXNzdHJhLCAgMy4gU2VwIDIwMDgsIDIxOjIzOjMwKToKfiMhIHJuPUh1bW5pIHJ0PTEyMjA0NjkxOTkgcmc9YW56ZWlnZW4KfiMhIHRpZD0xMjIwNDY5MTk5CkFsc28sIGljaCBmYW5kIElXIHdlbmlnZXIgenUgbGFuZ3NhbSBhbHMgZGV1dGxpY2ggenUgemVpdGF1ZndhZW5kaWcuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2V3YXJzLUNsb25lIChab29rLCAgMy4gU2VwIDIwMDgsIDIxOjI1OjE0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTIyMDQ2OTgxMCByZz13d3cKfiMhIHRpZD0xMjIwNDY5MTk5CmFoLiBiZXppZWh0IHNpY2ggaHVtbmlzIGxhbmdzYW0gYXVmIGRpZSBnZXNhbXRkYXVlciBlaW5lciBydW5kZT8gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSWNld2Fycy1DbG9uZSAoWm9vaywgIDQuIFNlcCAyMDA4LCAxOTo0NzoyMyk6Cn4jISBybj1ab29rIHJ0PTEyMjA0Njk5MTQgcmc9d3d3Cn4jISB0aWQ9MTIyMDQ2OTE5OQpUamEuIFVuZCBnaWJ0cyBkYSBudW4gTUctU3BpZWxlciB1bmQgaW4gd2VsY2hlciBHYWxheGllIHNpbmQgZGllIGRlbm4/CgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBMSEMtV2Fja28gKEdsb2luc29uLCAxMC4gU2VwIDIwMDgsIDExOjE3OjM4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjAxMDUwMDkgcmc9d3d3Cn4jISB0aWQ9MTIyMDAzMzY1MApodHRwOi8vaW1ncy54a2NkLmNvbS9jb21pY3MvdHVybi1vbi5wbmcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMSEMtV2ViY2FtcyAuLi4gKEdsb2luc29uLCAxMS4gU2VwIDIwMDgsIDE1OjUwOjU3KToKTWl0IGdhbnogYWt0dWVsbGVuIEJpbGRlcm4gaGllcjoKCmh0dHA6Ly93d3cuY3lyaWFrLmNvLnVrL2xoYy9saGMtd2ViY2Ftcy5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExIQy1XZWJjYW1zIC4uLiAoWm9vaywgMTEuIFNlcCAyMDA4LCAxNTo1MTo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjIxMTQxMDU3IHJnPXd3dwp+IyEgdGlkPTEyMjExNDEwNTcKc2luZCBkYSBhdWNoIGRpZSBzY2h3YXJ6ZW4gbG9lY2hlciB6dSBzZWhlbj8gegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBMSEMtV2ViY2FtcyAuLi4gKEdsb2luc29uLCAxMS4gU2VwIDIwMDgsIDE1OjUyOjI0KToKfiMhIHJuPVpvb2sgcnQ9MTIyMTE0MTExMSByZz13d3cKfiMhIHRpZD0xMjIxMTQxMDU3Ck1hbiBicmF1Y2h0IEZsYXNoIHVtIGVzIHp1IHNlaGVuLCB2aWVsbGVpY2h0IGJsaXR6ZW4gZGllIGRhIGF1ZiA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBob3Rvc2hvcCAuLi4gKEdsb2luc29uLCAxNS4gU2VwIDIwMDgsIDE0OjEzOjQ1KToKaHR0cDovL3d3dy5taXJyb3J0aGF0LmNvbS9maWxlcy81Z2FycDN2ejB2ZGx2NXptOGVteS5naWYKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZXRhbGxpY2EgLSBFbnRlciBTYW5kbWFuIChIaWdobGFuZGVyLCAxOC4gU2VwIDIwMDgsIDA5OjIwOjQ4KToKQ291cnRlc3kgb2YgRmxhbW13ZWlzc0BXdW5kZXJsYW5kIChpY2ggeml0aWVyZSk6CgotLXF1b3RlCkRlciBUZXh0IGlsbHVzdHJpZXJ0IG1pdCBLYXR6ZW5iaWxkZXJuOgoKaHR0cDovL21mcm9zdC50eXBlcGFkLmNvbS9jdXRlX292ZXJsb2FkLzIwMDgvMDkvbWV0YWxsaWNhLTRjaGFuLmh0bWwKCihVbmQgamEsIDRjaGFuIGlzdCBub3JtYWxlcndlaXNlIHNjaHJlY2tsaWNoLCBhYmVyIHNpZSBoYWJlbiBpaHJlIGx1c3RpZ2VuCk1vbWVudGUpCi0tdW5xdW90ZQoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZWNodGVyIFJlaW5mYWxsIChBbWFyeWxsaXMsIDIwLiBTZXAgMjAwOCwgMTQ6MjE6MjUpOgoKRGllIExhY2hudW1tZXIgZGVzIFRhZ2VzOgoKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3BvbGl0aWsvZGV1dHNjaGxhbmQvMCwxNTE4LDU3OTM2NSwwMC5odG1sCgpCaW4gbWFsIGdlc3Bhbm50LCB3aWUgZXMgaGV1dGUgd2VpdGVyZ2VodCA7KQoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlY2h0ZXIgUmVpbmZhbGwgKFplc3N0cmEsIDIwLiBTZXAgMjAwOCwgMTQ6MzQ6MDEpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEyMjE5MTMyODUgcmc9d3d3Cn4jISB0aWQ9MTIyMTkxMzI4NQpOYSwgcmVjaHQgc28uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSZWNodGVyIFJlaW5mYWxsIChHcmltbWJvcm4sIDIwLiBTZXAgMjAwOCwgMTg6NTk6MzkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjIxOTE0MDQxIHJnPXd3dwp+IyEgdGlkPTEyMjE5MTMyODUKVGphLCBhdWYgZGllIElkZWUgenUga29tbWVuIGF1c2dlcmVjaG5ldCBpbiBLb2VsbiBlaW5lbgpBbnRpaXNsYW1pc2llcnVuZ3Nrb25ncmVzcyBtYWNoZW4genUgd29sbGVuIHdhciBqYSBhdWNoIHZvbiBCZWdpbm4gYW4KYXVzbmVobWVuZCBoaXJudmVyYnJhbm50LgpOYWVjaHN0ZXMgSmFociBkYW5uIGluIFRlaGVyYW4sIGljaCBzYW1tZWwgc2Nob25tYWwgU3BlbmRlbiBmdWVyIGRpZQpGbHVndGlja2V0cyBkZXIgVGVpbG5laG1lci4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUmVjaHRlciBSZWluZmFsbCAoWmVzc3RyYSwgMjAuIFNlcCAyMDA4LCAxOTowNDoxNSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIyMTkyOTk3OSByZz13d3cKfiMhIHRpZD0xMjIxOTEzMjg1ClZlcm11dGxpY2ggZnVua3Rpb25pZXJ0cyBhdWNoIGluIEx1Y2tlbndhbGRlIGJlc3Nlci4gSXN0IG51ciBuaWNodCBzbwpwcmVzdGlnZXRyYWVjaHRpZy4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGFyYWxkIFNjaG1pZHQgZXJrbGFlcnQgTWV0YWwgKFplc3N0cmEsIDIyLiBTZXAgMjAwOCwgMDk6Mzg6MzQpOgpHYW56IG5ldHQsIGZpbmQgaWNoLiA7LSkKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUhUcUlBelRmN2o0CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSZWNodGVyIFJlaW5mYWxsIChBbGJvaW4sIDIyLiBTZXAgMjAwOCwgMTM6MTE6MDMpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMjE5Mjk5Nzkgcmc9d3d3Cn4jISB0aWQ9MTIyMTkxMzI4NQpJY2ggZmFuZCBlcyBhdWNoIGhpcm52ZXJicmFubnQuIEljaCBtZWluZSBzbyBuZSBTdGFkdCBkaWUga2VpbiBCaWVyIGhhdCB1bmQKYXVjaCBzb25zdCBuaWNodHMgR2VzY2hlaXRlcyB1ZWJlcmxhc3NlIGljaCBnZXJuZSBkZXIgVHVlcmtlaSBhbHMgRXhrbGF2ZS4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJlY2h0ZXIgUmVpbmZhbGwgKEdsb2luc29uLCAyMi4gU2VwIDIwMDgsIDE0OjAzOjM1KToKfiMhIHJuPUFsYm9pbiBydD0xMjIyMDgxODYzIHJnPXd3dwp+IyEgdGlkPTEyMjE5MTMyODUKRGllIFN0YWR0IG1pdCBlaW5lbSBiZWthbm50ZW4sIG5pZSBmZXJ0aWcgZ2V3b3JkZW5lbiBEb20gdmVyZGllbnQgYXVjaCBlaW5lCmJla2FubnRlLCB3YWhyc2NoZWlubGljaCBhdWNoIG5pY2h0IGZlcnRpZyB3ZXJkZW5kZSBNb3NjaGVlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlZGFua2VuZnJpZWRob2YgKFRvcmxvZiwgMjUuIFNlcCAyMDA4LCAxOTo0NDozMCk6Cnd3dy5nZWRhbmtlbmZyaWVkaG9mLmF0IGlzdCBlaW4gbmV1ZXMgRm9ydW0sIGRhcyB1bmJlZGluZ3QgIFNjaHJlaWJlcmxpbmdlCmJlbm9ldGlndC4gIkRpZSBsZXR6dGUgUnVoZXN0YWV0dGUgZnVlciBrS3JhbmtlcyB1bmQgR2VuaWFsZXMuIgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xvc3MgJiBzcGlubmUgKEdub21lLCAyNS4gU2VwIDIwMDgsIDIxOjI0OjExKToKbWFsIHdpZWRlciB3YXMgbmV0dGVzIGdlZnVuZGVuOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9T0I3THFMNXNPbGcmZmVhdHVyZT1yZWxhdGVkCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWltaW1pIChOaWJlbCwgMjkuIFNlcCAyMDA4LCAxNjoyNTo0Mik6Cmh0dHA6Ly9pMjQucGhvdG9idWNrZXQuY29tL2FsYnVtcy9jNDIvdHJveXMxOTExL215c3BhY2UvcG9ueS5qcGcKICAtIE4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1pbWltaSAoUnVtYXRhLCAyOS4gU2VwIDIwMDgsIDE2OjI4OjU3KToKfiMhIHJuPU5pYmVsIHJ0PTEyMjI2OTgzNDIgcmc9d3d3Cn4jISB0aWQ9MTIyMjY5ODM0MgpvZGVyIHNvOiBodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS80OWZsbTIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpciB3aXNzZW4sIHdhcyBEdSBtZWluc3QgLi4uIChBcmssIDI5LiBTZXAgMjAwOCwgMTY6NTg6MDEpOgpodHRwOi8vZGUueW91dHViZS5jb20vd2F0Y2g/dj1EXzJlWGJZMWNWMAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJsaW5rZW5saWdodHMgKFplc3N0cmEsICA1LiBPa3QgMjAwOCwgMTk6MzQ6MDYpOgpLZW5udCBqZW1hbmQgZGFzIFByb2pla3QgQmxpbmtlbmxpZ2h0cz8KS3VyeiBnZWZhc3N0LCB2ZXJ3YW5kZWxuIGRpZSBMZXV0ZSBncm9zc2UgR2ViYWV1ZGUgaW4gQmlsZHNjaGlybWUuIERhcwpqdWVuZ3N0ZSBQcm9qZWt0IGlzdCBkYXMgUmF0aGF1cyBpbiBUb3JvbnRvOgoKIkRhcyBSYXRoYXVzIGRlciBncm9lc3N0ZW4ga2FuYWRpc2NoZW4gU3RhZHQgVG9yb250byBpc3QgZGVyIG5ldWUgQmlsZHNjaGlybQptaXQgOTYwIEZlbnN0ZXJuIChhbHNvIDk2MCBQaXhlbG4gbWl0IDE2IEhlbGxpZ2tlaXRzc3R1ZmVuKSBhdWYgMiBHZWJ1ZGVuLi4uIgpodHRwOi8vY2NjLmRlL3VwZGF0ZXMvMjAwOC9ibGlua2VubGlnaHRzLXN0ZXJlb3Njb3BlP2xhbmd1YWdlPWRlCk1laHIgSW5mb3MgaW5rbC4gTGl2ZS1TdHJlYW0gdW50ZXI6Cmh0dHA6Ly9ibGlua2VubGlnaHRzLm5ldC9zdGVyZW9zY29wZQoKRWluIGVyc3RlcyBWaWRlbzoKaHR0cDovL3ZpbWVvLmNvbS8xODgzMzM2CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmxpbmtlbmxpZ2h0cyAoWmVzc3RyYSwgIDUuIE9rdCAyMDA4LCAxOTo0NjoxMik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMjMyMjgwNDYgcmc9d3d3Cn4jISB0aWQ9MTIyMzIyODA0NgpBdWYgZGVuIEJpbGRzY2hpcm1lbiBrb2VubmVuIHVlYnJpZ2VucyBiaXNoZXIgZ2VzcGllbHQgd2VyZGVuOiBUZXRyaXMsCkJyZWFrb3V0LCBQb25nLCBTbmFrZSwgSW52YWRlcnMgdW5kIE1vbGUuIDstKQpXZWl0ZXJlIFNwaWVsZSBzaW5kIHdvaGwgaW4gVm9yYmVyZWl0dW5nLCBtYW4ga2FubiBhdWNoIHdlbGNoZSBlaW5yZWljaGVuLCBlcwp3dXJkZSB3b2hsIG5lIEphdmEtQVBJIGRhZnVlciB2ZXJvZWZmZW50bGljaHQuCkZ1ZXIgTWFjLVVzZXIgZ2lidHMgbmVuIFNpbXVsYXRvciwgZGVyIGF1ZiBlaW5lbSAzRC1Nb2RlbGwgemVpZ3QsIHdhcyBnZXJhZGUKUkwgaW4gVG9yb250byBwYXNzaWVydC4KVW5kIHdlciBtaXRtYWNoZW4gd2lsbCwga2FubiBtaXQgdm9yZ2VmZXJ0aWd0ZW4gVG9vbHMgQW5pbWF0aW9uZW4gdm9yYmVyZWl0ZW4KdW5kIGVpbnJlaWNoZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9ncmFtbWllci1TY2hyaWZ0YXJ0ZW4gKEdsb2luc29uLCAxMC4gT2t0IDIwMDgsIDEyOjU0OjMxKToKaHR0cDovL3d3dy5jb2RlcHJvamVjdC5jb20vS0Ivd29yay9Gb250U3VydmV5LmFzcHgKCkF1ZiBlaW5lbiBibGljay4gRmFsbHMgamVtYW5kIG1hbCB3YXMgTmV1ZXMgYnJhdWNodC4gCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2xpZGUgZmFpbCAoR2xvaW5zb24sIDExLiBPa3QgMjAwOCwgMTg6NDY6MDEpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Yk9YbnhtbEVrWTAKCipodXN0KgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlciBpc3QgZGVyIFZlcnJhZXRlcj8gKFZhbmhlbHNpbmcsIDEzLiBPa3QgMjAwOCwgMTE6NDA6NTQpOgpIdWh1LAoKaWNoIGhhYmUgYmVpbSBzdG9lYmVybiBlaW5lbiBuZXR0ZW4gQXJ0aWtlbCBiZWkgU3BpZWdlbC1PbmxpbmUgZ2VmdW5kZW4uCkVzIGthbm4gc2VpbiwgZGFzcyBkZXIgc2Nob24gYmVrYW5udCBpc3QsIGFiZXIgbmFqYS4KCkluIGVpbmVtIGJheXJpc2NoZW4gRG9yZiB3dXJkZSBpbW1lciB6dSAxMDAlIENTVSBnZXdhZWhsdCwgYWJlciBlcyBnYWIgZGllCmxldHp0ZW4gYmVpZGVuIE1hbGUgZ2FicyAxIFN0aW1tZSBmdWVyIGRpZSBTUEQuClVuZCBrZWluZXIgd2lsbHMgZ2V3ZXNlbiBzZWluLgoKUXVlbGxlOiBodHRwOi8vd3d3LnNwaWVnZWwuZGUvcG9saXRpay9kZXV0c2NobGFuZC8wLDE1MTgsNTgxOTAwLDAwLmh0bWwKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VyIGlzdCBkZXIgVmVycmFldGVyPyAoTWFoYXJldCwgMTMuIE9rdCAyMDA4LCAxMzozMzozOCk6Cn4jISBybj1WYW5oZWxzaW5nIHJ0PTEyMjM4OTA4NTQgcmc9d3d3Cn4jISB0aWQ9MTIyMzg5MDg1NApEYXMgd3VlcmRlIGljaCBkYSBhYmVyIGF1Y2ggbmljaHQgenVnZWJlbiAuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXIgaXN0IGRlciBWZXJyYWV0ZXI/IChBbGJvaW4sIDEzLiBPa3QgMjAwOCwgMTM6NTg6MDQpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjIzODkwODU0IHJnPXd3dwp+IyEgdGlkPTEyMjM4OTA4NTQKTGVpY2h0ZXIgd2FlcmUgZXMgZ2V3ZXNlbiwgd2VubiBlcyBlaW5lIFN0aW1tZSBmdWVyIGRpZSBMaW5rZW4gZ2V3ZXNlbiB3YWVyZW4uCkRhbm4gd2FlcmUgd29obCBkZXIgenVnZXJlaXN0ZSBPc3NpIGdlbHluY2h0IHdvcmRlbiA7LSkKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBpbG90ZW4gU2NobmFjayBUZWlsIFggKEdsb2luc29uLCAxNS4gT2t0IDIwMDgsIDE2OjI1OjA2KToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3JlaXNlL2FrdHVlbGwvMCwxNTE4LDU4MjcxMCwwMC5odG1sCgoiTWVpbmUgRGFtZW4gdW5kIEhlcnJlbiwgaGllciBzcHJpY2h0IElociBLYXBpdG4uIFdpciBoYWJlbiBlaW4ga2xlaW5lcwpQcm9ibGVtLiBBbGxlIHZpZXIgVHJpZWJ3ZXJrZSBzaW5kIGF1c2dlZ2FuZ2VuLiBXaXIgZ2ViZW4gdW5zZXIgdmVyZGFtbXQKQmVzdGVzLCB1bSBzaWUgd2llZGVyIGFuenVrcmllZ2VuLiBJY2ggaG9mZmUsIFNpZSBzaW5kIGRlc3dlZ2VuIG5pY2h0IGFsbHp1CmJldW5ydWhpZ3QuIgooaGlzdG9yaXNjaCkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXIgaXN0IGJlcnVlaG10ZXI/IChHbG9pbnNvbiwgMTYuIE9rdCAyMDA4LCAxNjozMjoxMCk6CmFtZXJpY2EuYmxvZy5sZW1vbmRlLmZyLzIwMDgvMTAvMTYvbGUtcGxvbWJpZXItbGUtcGx1cy1jZWxlYnJlLWRlLWx1bml2ZXJzLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFydCBvZiB0aGUgRHJpbms6IEJhcmFja3RhaWwgdW5kIE1hdmVyaWNrIChaZXNzdHJhLCAxNy4gT2t0IDIwMDgsIDIyOjUyOjUxKToKQmVpIEFydCBvZiB0aGUgRHJpbmsgZ2lidCBlcyBqZXR6dCBDb2NrdGFpbHMgZnVlciBPYmFtYSB1bmQgTWNDYWluOgpodHRwOi8vd3d3LmFydG9mdGhlZHJpbmsuY29tL3BvZGNhc3QuaHRtbApodHRwOi8vYXJ0b2Z0aGVkcmluay5ibG9nc3BvdC5jb20vMjAwOC8xMC9lcGlzb2RlLTY2LW1hdmVyaWNrLmh0bWwKaHR0cDovL2FydG9mdGhlZHJpbmsuYmxvZ3Nwb3QuY29tLzIwMDgvMTAvZXBpc29kZS02NS1iYXJhY2t0YWlsLmh0bWwKCkljaCBlbXBmZWhsZSBkZW0gZ2VuZWlndGVuIFp1c2NoYXVlciwgYWNodCB6dSBnZWJlbiBhdWYgZGllIEVya2xhZXJ1bmcsIHdhcwpkZW4gTWF2ZXJpY2sgYmVzb25kZXJzIG1hY2h0IHVuZCB3b2hlciBkaWUgR2FybmllcnVuZyBzdGFtbXQuIDstKSkgSXN0CmVpZ2VudGxpY2ggZGVyIEhvZWhlcHVua3QgZGVzIFZpZGVvcy4gVW5kIGJlaW0gQmFyYWNrdGFpbCBkaWUgQW50d29ydCBhdWYgZGllCkZyYWdlLCB3YXJ1bSBtYW4gZGVuIERyaW5rIGRlbm4gbW9lZ2VuIHdvbGxlbiB3dWVyZGUuLi4gKFRoZSBtb3N0IGFtZXJpY2FuIG9mCmFsbCByZWFzb25zLi4uICpnKikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGVpc3Nqb2IgKEFtYXJ5bGxpcywgMjIuIE9rdCAyMDA4LCAxOTo1MDowMik6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1YRU5kX0xUcWpEMAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaGVpc3Nqb2IgKFplc3N0cmEsIDIyLiBPa3QgMjAwOCwgMTk6NTA6NTgpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEyMjQ2OTc4MDIgcmc9d3d3Cn4jISB0aWQ9MTIyNDY5NzgwMgpHcmFuZGlvcy4gOi0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWQgU2VlZ2ViZXJnOiBWZXJrZWhyc2xvZ2lrIChHbG9pbnNvbiwgMjQuIE9rdCAyMDA4LCAxODoyMjozOSk6Cmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzZyYzNiegoKRmFrdDogRmFocnJhZGZhaHJlbiBpc3QgZG9ydCBmdWVyIEtpbmRlciBnZWZhZWhybGljaAotIFNjaGx1c3MgMTogZGllIEtpbmRlciBzb2xsdGVuIGtlaW4gRmFocnJhZCBmYWhyZW4KICAtPiBrYWVtZW4gZGllIEtpbmRlciBtaXQgZGVtIE9lUE5WIHp1ciBTY2h1bGUsIHNpbmtlIGRpZSBHZWZhaHIKICAgICAoZGFzcyBkYW5uIGRpZXNlIEtpbmRlciBhdWNoIG5pY2h0IGxlcm5lbiBtaXQgZGVtIEZhaHJyYWQgLi4uIGhtKQotIFNjaGx1c3MgMjogRGllIEtpbmRlciBzaW5kIHNjaHVsZAogIC0+IG1laHIgQXVma2xhZXJ1bmcgYW4gZGVuIEtpbmRlcmdhZXJ0ZW4gdW5kIFNjaHVsZW4gc2VpIG5vZXRpZwoKVW5kIGRhcyBhbGxlcyBhdXMgZGllc2VuIERhdGVuIGdlZm9sZ2VydDoKIlVuZmFsbGF0bGFzIGJlemllaHQgc2ljaCBhdWYgRGF0ZW4gYXVzIGRlbiBKYWhyZW4gMjAwMSBiaXMgMjAwNS4gRGVtbmFjaAplcmVpZ25lbiBzaWNoIGltIEtyZWlzIFNlZ2ViZXJnIHZlcmdsZWljaHN3ZWlzZSB2aWVsZSBVbmZhZWxsZSAoNHgpIG1pdCBSYWQKZmFocmVuZGVuIEtpbmRlcm4gYmlzIDE0IEphaHJlLiBBdWNoIGFscyBQa3ctTWl0ZmFocmVyIHNpbmQgS2luZGVyIGluIGRlcgpSZWdpb24gc3RhZXJrZXIgZ2VmYWVocmRldCBhbHMgaW0gQnVuZGVzZHVyY2hzY2huaXR0LiBBbHMgRnVzc2dhZW5nZXIgd2VyZGVuCnNpZSBoaW5nZWdlbiBkZXV0bGljaCBzZWx0ZW5lciBPcGZlciBkZXMgU3RyYXNzZW52ZXJrZWhycy4iCgpJcmdlbmR3aWUgZmFlbmRlIGljaCBkaWUgZ2VuZXJlbGwgZ2VzdGVpZ2VydGUgVW5mYWxsaGFldWZpZ2tlaXQgZG9jaCB1bQplaW5pZ2VzIHVudGVyc3VjaGVuc3dlcnRlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmFkIFNlZWdlYmVyZzogVmVya2VocnNsb2dpayAoR25vbWUsIDI0LiBPa3QgMjAwOCwgMjA6NDk6NTIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIyNDg2NTM1OSByZz13d3cKfiMhIHRpZD0xMjI0ODY1MzU5CmRpZSBzZWdlYmVyZ2VyIHplaXR1bmcgd2FyIHNjaG9uIGltbWVyLi4uIHdpZSBkcnVlY2tlIGljaCBlcyBkaXBsb21hdGlzY2gKYXVzLi4uIHByb3ZpbnppZWxsPwpkYXNzIGRhIGF1cyByaWNodGlnZW4gZmFrdGVuIGZhbHNjaGUgc2NobHVlc3NlIGdlem9nZW4gd2VyZGVuIGJ6dy4KYW5kZXJzaGVydW0sIHZlcnd1bmRlcnQgbWljaCBuaWNodCBpbSBnZXJpbmdzdGVuLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQmFkIFNlZWdlYmVyZzogVmVya2VocnNsb2dpayAoR2xvaW5zb24sIDI0LiBPa3QgMjAwOCwgMjE6MjY6NDgpOgp+IyEgcm49R25vbWUgcnQ9MTIyNDg3NDE5MiByZz13d3cKfiMhIHRpZD0xMjI0ODY1MzU5Cldlbm4gZXMgbnVyIGRpZSBaZWl0dW5nIHdhZXJlLiBFcyBzaW5kIGphIHZvciBhbGxlbSBkaWUgbG9rYWxlbiBQb2xpdGlrZXIsIGRpZQpkaWVzZSBTY2hsdWVzc2UgZ2V6b2dlbiB1bmQgZGVyIFplaXR1bmcgbWl0Z2V0ZWlsdCBoYWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBCYWQgU2VlZ2ViZXJnOiBWZXJrZWhyc2xvZ2lrIChHbm9tZSwgMjQuIE9rdCAyMDA4LCAyMTo0MToyMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjI0ODc2NDA4IHJnPXd3dwp+IyEgdGlkPTEyMjQ4NjUzNTkKc2ljaGVyLiBhYmVyIGFscyBqb3VybmFsaXN0IG51ciBzY2hyZWliZW4gdW5kIG5pY2h0IHNlbGJlciBkZW5rZW4genUKa29lbm5lbi4uLiBkZXNoYWxiIGxhbmRldCBtYW4gaGFsdCBiZWkgZGVyIFNaIHVuZCBuaWNodCBiZWkgZGVuIExOLgoKZ25PbWUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4gKE5pY29sYWksIDI1LiBPa3QgMjAwOCwgMTI6Mjc6NDUpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvc3BpZWx6ZXVnLzAsMTUxOCw1ODYyODYsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWNDYWluIE9iYW1hIERhbmNlLU9mZiAoQmFtYnVsa28sIDI1LiBPa3QgMjAwOCwgMTY6MjU6MDEpOgpodHRwOi8vd3d3Lm1pbmltb3ZpZS5jb20vZmlsbS0xMjg0NjAtTWNDYWluLU9iYW1hJTIwRGFuY2UtT2ZmCgpTZWhyIGd1dCBnZW1hY2h0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1jQ2FpbiBPYmFtYSBEYW5jZS1PZmYgKEJhbWJ1bGtvLCAyNS4gT2t0IDIwMDgsIDE2OjM1OjQ1KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyMjQ5NDQ3MDEgcmc9d3d3Cn4jISB0aWQ9MTIyNDk0NDcwMQpEYXMgaXN0IGlzdCBzb2dhciBub2NoIGJlc3NlcjoKaHR0cDovL3d3dy5taW5pbW92aWUuY29tL2ZpbG0tMTI4NDU0LURhbmNpbmclMjBXaXRoJTIwdGhlJTIwUG9saXRpY2FsJTIwU3RhcnMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlciB3aWxsIFRha2hpc2lzIGhlaXJhdGVuPyAoR3dlbiwgMzAuIE9rdCAyMDA4LCAwOTo0MjoxOSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9wYW5vcmFtYS8wLDE1MTgsNTg3Mzg4LDAwLmh0bWwKS29lbm50IGphIGF1Y2ggbWFsIG5lIFBldGl0aW9uIGVpbmJyaW5nZW4uLi4KR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXIgd2lsbCBUYWtoaXNpcyBoZWlyYXRlbj8gKEd3ZW4sIDMwLiBPa3QgMjAwOCwgMTA6Mzc6NDIpOgp+IyEgcm49R3dlbiBydD0xMjI1MzU2MTM5IHJnPXd3dwp+IyEgdGlkPTEyMjUzNTYxMzkKSGFiIG5lbiBWb3JzY2hsYWcgZnVlciBDb21pYy1oZWlyYXRzd2lsbGlnZSBKdW5ncyBnZW5hbm50IGJla29tbWVuOgpodHRwOi8vanBzcGl0emVyLmRldmlhbnRhcnQuY29tL2FydC9FdmlsLVN1cGVyZ2lybC04NzkwNDA3MApHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIE11c3QgZnVlciBkZW4gbmFlY2hzdGVuIFN0YXJ3YXJzLUFiZW5kIChHcmltbWJvcm4sIDMwLiBPa3QgMjAwOCwgMTE6MjM6NDUpOgp+IyEgb249R3JpbW1ib3JuIG90PTEyMjUzNjE5NjUgb2c9c2NobWFycm4KfiMhIG9uPUd3ZW4gb3Q9MTIyNTM2MDQ1NSBvZz13d3cKaHR0cDovL3d3dy5uaWtrb3IyZDIuY29tLwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3BhcmVuIGF1ZiBkZXIgQXV0b2JhaG4gKFZhcmRpb24sICAxLiBOb3YgMjAwOCwgMTU6NTE6MzYpOgpodHRwOi8vZGUueW91dHViZS5jb20vd2F0Y2g/dj1NeHhKei00S2JUZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNwYXJlbiBhdWYgZGVyIEF1dG9iYWhuIChCYW1iaSwgIDIuIE5vdiAyMDA4LCAxMjo1OTo0Nik6Cn4jISBybj1WYXJkaW9uIHJ0PTEyMjU1NTEwOTYgcmc9d3d3Cn4jISB0aWQ9MTIyNTU1MTA5NgpIYWx0ZSBpY2ggbmFjaCB3aWUgdm9yIGZ1ZXIgdW5zZXJpb2VzLiAiV2VubiBzaWUgZGFzIHp1bSBTcGFzcyBiZW51dHplbiIgaXN0CmhhbHQgbmljaHQgZ2xlaWNoICJXZW5uIFNpZSBkYW1pdCBkZW4gRWluZHJ1Y2sgZXJ3ZWNrZW4sIHZvbiBkZXIgUG9saXplaSB6dQpzZWluIi4gSWNoIHd1ZXJkZSBtaWNoIGplZGVuZmFsbHMgbmljaHQgYXVmIGRpZXNlbiBCZWl0cmFnIGJlcnVmZW4sIHdlbm4gbWljaApkaWUgUG9saXplaSB3ZWdlbiBNaXNzYnJhdWNoIHZvbiBTb25kZXJzaWduYWxlbiBhbmhhZWx0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNwYXJlbiBhdWYgZGVyIEF1dG9iYWhuIChCYW1iaSwgIDIuIE5vdiAyMDA4LCAxMzowMDo1OSk6Cn4jISBybj1CYW1iaSBydD0xMjI1NjI3MTg2IHJnPXd3dwp+IyEgdGlkPTEyMjU1NTEwOTYKQmV2b3IgaWNocyB2ZXJnZXNzZTogTWFuIG11c3MgamVtYW5kZW0sIGRlciBCbGF1bGljaHQgYmVudXR6dCwga2VpbmVuIFBsYXR6Cm1hY2hlbiwgc2VsYnN0IHdlbm4gZXIgdGF0c2FlY2hsaWNoIHZvbiBkZXIgUG9saXplaSwgZGVyIEZldWVyd2VociBvZGVyIGVpbmVyCkJPUyBpc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTcGFyZW4gYXVmIGRlciBBdXRvYmFobiAoUnVtYXRhLCAgMi4gTm92IDIwMDgsIDEzOjA0OjAxKToKfiMhIHJuPUJhbWJpIHJ0PTEyMjU2MjcyNTkgcmc9d3d3Cn4jISB0aWQ9MTIyNTU1MTA5NgpCT1M/IEJlcmhvZXJkZSBvaG5lIFNpbm4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGFyZW4gYXVmIGRlciBBdXRvYmFobiAoR3JpbW1ib3JuLCAgMi4gTm92IDIwMDgsIDE0OjUzOjEyKToKfiMhIHJuPVJ1bWF0YSBydD0xMjI1NjI3NDQxIHJnPXd3dwp+IyEgdGlkPTEyMjU1NTEwOTYKU3RpbW10LCBXZWdlcmVjaHQgZ2lidHMgbnVyIG1pdCBCbGF1bGljaHQgdW5kIFNpcmVuZS4gRWlucyBhbGxlaW5lIHJlaWNodApuaWNodC4gSW4gRGV1dHNjaGxhbmQsIHdvYW5kZXJzIGlzdHMgYW5kZXJzLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTcGFyZW4gYXVmIGRlciBBdXRvYmFobiAoR2xvaW5zb24sICAyLiBOb3YgMjAwOCwgMTU6MTY6NDApOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEyMjU2MzM5OTIgcmc9d3d3Cn4jISB0aWQ9MTIyNTU1MTA5NgpCbG9lZGUgR2VzZXR6Z2VidW5nLgoKRGVzaGFsYiBhbHNvIHRhdHVldGF0YWVuIGRpZSBpbW1lciBub2NoIGdyYXRpcy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTcGFyZW4gYXVmIGRlciBBdXRvYmFobiAoQmFtYmksICAyLiBOb3YgMjAwOCwgMTU6NTA6MzcpOgp+IyEgcm49UnVtYXRhIHJ0PTEyMjU2Mjc0NDEgcmc9d3d3Cn4jISB0aWQ9MTIyNTU1MTA5NgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL0JlaCVDMyVCNnJkZW5fdW5kX09yZ2FuaXNhdGlvbmVuX21pdF9TaWNoZXJoZWl0c2EKdWZnYWJlbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3BhcmVuIGF1ZiBkZXIgQXV0b2JhaG4gKE9ya3RvZXRlciwgIDIuIE5vdiAyMDA4LCAxNjowNzo0Mik6Cn4jISBybj1HcmltbWJvcm4gcnQ9MTIyNTYzMzk5MiByZz13d3cKfiMhIHRpZD0xMjI1NTUxMDk2ClVuZCB3YXMgaXN0LCB3ZW5uIGRpZSBtaXQgQmxhdWxpY2h0IGF1ZiBkZXIgU3RyYXNzZSBzdGVoZW4/IERhcmYgbWFuIGRhbm4KZHVyY2ggc2llIGZhaHJlbiwgd2VpbCBkYXMgQmxhdWxpY2h0IGFsbGVpbmUgbmljaHQgYXVzcmVpY2h0IHVtIGVpbmZhY2ggc28gYXVmCmRlciBGYWhyYmFobiB6dSBzdGVoZW4/CgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3BhcmVuIGF1ZiBkZXIgQXV0b2JhaG4gKEdyaW1tYm9ybiwgIDIuIE5vdiAyMDA4LCAxNzoxMzowOSk6Cn4jISBybj1Pcmt0b2V0ZXIgcnQ9MTIyNTYzODQ2MiByZz13d3cKfiMhIHRpZD0xMjI1NTUxMDk2ClNlbGJzdCB3ZW5uIHNpZSBvaG5lIEJsYXVsaWNodCBkYSBzdGVoZW4sIHVuZCBhdWNoIHdlbm5zIGtlaW4gUG9saXplaWF1dG8gaXN0OgpXZW5uIER1IGF1ZiBzdGVoZW5kZW4gVmVya2VociBmYWVocnN0IGhhc3QgRHUgaW1tZXIgZGllIFBvcG9rYXJ0ZS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3BhcmVuIGF1ZiBkZXIgQXV0b2JhaG4gKEJhbWJpLCAgMi4gTm92IDIwMDgsIDE4OjE1OjE2KToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjI1NjM4NDYyIHJnPXd3dwp+IyEgdGlkPTEyMjU1NTEwOTYKVmllbGxlaWNodCBzb2xsdGVzdCBEdSBEaWNoIHVlYmVyIGRlbiBCZWdyaWZmICJXZWdlcmVjaHQiIGluZm9ybWllcmVuLiBTaWVoZQp6LkIuIGhpZXI6IGh0dHA6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvV2VnZXJlY2h0XyhTdHJhJUMzJTlGZW52ZXJrZWhyc3JlY2h0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGh5c2lrYmlsZGVyIChHbG9pbnNvbiwgIDMuIE5vdiAyMDA4LCAwOToxODozMyk6CgpodHRwOi8vd3d3LnBoeXNpa2Jsb2cuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMDgvMDUvc3VwZXIta2FtaW9rYW5kZV9iZWZ1ZWxsdW4KZy5qcGcKaHR0cDovL3Rpbnl1cmwuY29tLzVhbDU0ZwoKWnVyIEVya2xhZXJ1bmc6IG1pdCBkZW0gVGVpbCBkZXRla3RpZXJ0IG1hbiBOZXV0cmlub3MuIERpZSBEaW5nZXIsIGRpZSBiZWkKRnVzaW9uL2JldGEtWmVyZmFsbCBlbnRzdGVoZW4gdW5kIGR1cmNoIHNvIGd1dCB3aWUgYWxsZXMgZHVyY2hmbHV0c2NoZW4uIEhpbgp1bmQgd2llZGVyIGludGVyYWdpZXJlbiBkaWUsIHNlbHRlbiBnZW51ZywgbWl0IFdhc3NlciB1bmQgbG9lc2VuIGF1ZiBVbXdlZwplaW5lbiBrbGVpbmVuIExpY2h0YmxpdHogYXVzLiBEaWUgS3VnZWxuIHNpbmQgc28gZWluZSBBcnQgTGljaHRkZXRla3Rvci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGh5c2lrYmlsZGVyIChaZXNzdHJhLCAgMy4gTm92IDIwMDgsIDEwOjExOjA3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjU3MDAzMTMgcmc9d3d3Cn4jISB0aWQ9MTIyNTcwMDMxMwpCZWVpbmRydWNrZW5kLiBIYWJzIHp1bSBBbmxhc3MgZ2Vub21tZW4sIGt1cnogbmFjaCBkZW0gU3VwZXItS2FtaW9rYW5kZSB6dQpzdWNoZW4uIDstKQpodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1N1cGVyLUthbWlva2FuZGUKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUGh5c2lrYmlsZGVyIChHbm9tZSwgIDMuIE5vdiAyMDA4LCAxMTowMjowMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMjU3MDM0Njcgcmc9d3d3Cn4jISB0aWQ9MTIyNTcwMDMxMwpub2NoIGJlZWluZHJ1Y2tlbmRlcjogaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9JY2VDdWJlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2UgSWNlIC4uIHVyZ3MgLi4uIChHbG9pbnNvbiwgIDUuIE5vdiAyMDA4LCAxMjo0MjozMSk6Cmh0dHA6Ly93d3cudmFuaWxsYWljZS5jb20vdmFuaWxsYWljZWlzYmFjay5odG0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaXZlIHVwIHlvdXIgcGllISBFcm0sIGxvYnN0ZXIhIChHbG9pbnNvbiwgIDUuIE5vdiAyMDA4LCAxNzoxODozMCk6Cmh0dHA6Ly93d3cuZWF0bGl2ZXIuY29tL2kucGhwP249MzYzMgoKVG9vIGxhdGUgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCb25vIGlzdCBzY2h1bGQgKEdsb2luc29uLCAgNi4gTm92IDIwMDgsIDIwOjE3OjIyKToKaHR0cDovL3d3dy5lYXRsaXZlci5jb20vaS5waHA/bj0yOTA3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2FyemVyIHdpcmQgUHJhZXNpZGVudCEgKEd3ZW4sICA3LiBOb3YgMjAwOCwgMTI6NTE6MDMpOgpodHRwOi8vdGl0YW5pYy1tYWdhemluLmRlL3VwbG9hZHMvcGljcy8xMTA0LXNjaHdhcnplci1wcmFlc2lkZW50LmpwZwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNjaHdhcnplciB3aXJkIFByYWVzaWRlbnQhIChBbGJvaW4sICA3LiBOb3YgMjAwOCwgMTM6MTY6NTYpOgp+IyEgcm49R3dlbiBydD0xMjI2MDU4NjYzIHJnPXd3dwp+IyEgdGlkPTEyMjYwNTg2NjMKZ3V0IHdhciBkYSBhdWNoOgoKRWludHJhZyB2ZXJzZW5kZW4KRUlMTUVMRFVORyBBVVMgQU1FUklLQQogCiAJCgpQZnVpIC0gTmVnZXIgc2NobmFwcHQgYWx0ZW0gTWFubiBkZW4gU2l0enBsYXR6IHdlZyEKYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZsdWNoIGRlciBLYXJpYmlrIChWYW5oZWxzaW5nLCAgNy4gTm92IDIwMDgsIDE5OjUyOjE3KToKSWNoIGJpbiBiZWltIER1cmNoZm9yc3RlbiBuYWNoIGRlciBGaWxtbXVzaWsgdm9uIEZsdWNoIGRlciBLYXJpYmlrIGF1ZiBlaW5lCm5ldHRlIFZhcmlhbnRlIGdlc3Rvc3Nlbi4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU5aVm1QUGxtcmtvCkVyIGhhdCBsYXV0IGVpZ2VuZXIgQXVzc2FnZSA0IFRoZW1lbiBhdXMgZGVuIEZpbG1lbiBnZW5vbW1lbiwgdW5kIHNlbGJzdAp6dXNhbW1lbmdlc3RlbGx0LiBFciBoYXQgYXVjaCBrZWluZSBOb3Rlbiwgc29uZGVybiBzcGllbHQgYXVzIGRlbSBHZWhvZXIuCkVjaHQgbmV0dC4KVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmd1aXRhcl9oZXJvQHdvcmsgKEdub21lLCAgNy4gTm92IDIwMDgsIDIzOjU4OjI1KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWR0MWZCNjJjR2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXcgWW9yayBUaW1lcyBtZWxkZXQ6IElyYWtrcmllZyBpc3QgYXVzISAoVmFuaGVsc2luZywgMTMuIE5vdiAyMDA4LCAxNToxMToxNik6CkljaCBoYWJlIGVpbmUgaGVydW50ZXJsYWRiYXJlIFZhcmlhbnRlIGRlciBOZXcgWW9yayBUaW1lcyBnZWZ1bmRlbiwgd28KYmVyaWNodGV0IHdpcmQsIGRhc3MgZGVyIElyYWsgS3JpZWcgdm9yYmVpIGlzdC4KCmh0dHA6Ly93d3cuaGV1dGUuZGUvWkRGaGV1dGUvZG93bmxvYWQvMCw2NzQxLDcwMDcyNDUsMDAucGRmCgpJc3QgYWJlciBkdW1tZXJ3ZWlzZSBlaW5lIEZha2UtWmVpdHVuZy4gRGllIHd1cmRlIGluIE5ZIHZlcnRlaWx0LgpTb2xsIE9iYW1hIGFuIHNlaW4gV2FobHZlcnNwcmVjaGVuIGVyaW5uZXJuLgoKVkgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXIgV2FycyAtIGEgY2FwZWxsYSAoR3dlbiwgMTguIE5vdiAyMDA4LCAyMTowODo0NSk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1sazVfT1NzYXd6NAorIGx5cmljczoKaHR0cDovL3d3dy5tb29zZWJ1dHRlci5jb20vbHlyaWNzLnBocC8zCk1heSB0aGUgZm9yY2UgYmUgd2l0aCB5b3UhCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhciBXYXJzIC0gYSBjYXBlbGxhIChCYW1idWxrbywgMTguIE5vdiAyMDA4LCAyMToyOTozNSk6Cn4jISBybj1Hd2VuIHJ0PTEyMjcwMzg5MjUgcmc9d3d3Cn4jISB0aWQ9MTIyNzAzODkyNQpEZXIgbW9vc2VidXR0ZXIgaXN0IGphIHJpY2h0aWcgZ3V0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhciBUcmVrIFRyYWlsZXIgKEdsb2luc29uLCAyMC4gTm92IDIwMDgsIDExOjIyOjMzKToKaHR0cDovL3d3dy5zdGFydHJla21vdmllLmNvbS8KCihTY2huZWxsemVpdCBub2V0aWcuKQoKTmV0dC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhciBUcmVrIFRyYWlsZXIgKFJ1bWF0YSwgMjAuIE5vdiAyMDA4LCAxMToyNDo0OSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjI3MTc2NTUzIHJnPXd3dwp+IyEgdGlkPTEyMjcxNzY1NTMKV2FzIGlzdCAiU2NobmVsbHplaXQiPwpXaXIgZGllIGluICJTcHJycnJyb2luZyIgZ2VtZXNzZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXIgVHJlayBUcmFpbGVyIChHbG9pbnNvbiwgMjAuIE5vdiAyMDA4LCAxMToyNTo0Mik6Cn4jISBybj1SdW1hdGEgcnQ9MTIyNzE3NjY4OSByZz13d3cKfiMhIHRpZD0xMjI3MTc2NTUzCkluIE9ic3QgcHJvIE1pbnV0ZS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdGFyIFRyZWsgVHJhaWxlciAoUnVtYXRhLCAyMC4gTm92IDIwMDgsIDExOjMyOjI5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMjcxNzY3NDIgcmc9d3d3Cn4jISB0aWQ9MTIyNzE3NjU1MwpaYWVobGVuIGZhdWxlIFRvbWF0ZW4gZG9wcGVsdD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFN0YXIgVHJlayBUcmFpbGVyIChHbG9pbnNvbiwgMjAuIE5vdiAyMDA4LCAxMTozMjo1NSk6Cn4jISBybj1SdW1hdGEgcnQ9MTIyNzE3NzE0OSByZz13d3cKfiMhIHRpZD0xMjI3MTc2NTUzCktpbGxlcnRvbWF0byAtIGRhcyBIYW5keT8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdGFyIFRyZWsgVHJhaWxlciAoQ3JvZnQsIDIwLiBOb3YgMjAwOCwgMTE6MzM6MDcpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIyNzE3NzE3NSByZz13d3cKfiMhIHRpZD0xMjI3MTc2NTUzClRvbWF0ZW4gYWxzIE9ic3Q/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU3RhciBUcmVrIFRyYWlsZXIgKEdsb2luc29uLCAyMC4gTm92IDIwMDgsIDExOjM3OjI0KToKfiMhIHJuPUNyb2Z0IHJ0PTEyMjcxNzcxODcgcmc9d3d3Cn4jISB0aWQ9MTIyNzE3NjU1MwpXaXIgc2luZCBoaWVyIGltIE1VRCwgZGEga2FubiBhdWNoIGVpbiBLdWVyYmlzIE9ic3Qgc2Vpbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHbGVpY2h6ZWl0aWdlcyBFZGl0aWVyZW4gKEdsb2luc29uLCAyMC4gTm92IDIwMDgsIDEyOjAxOjE1KToKaHR0cDovL2V0aGVycGFkLmNvbS8KCk1hbCB3aWVkZXIgZWluZXIgZGllc2VyIEVkaXRvcmVuLiBJc3QgSmF2YXNjcmlwdC1iYXNpZXJ0IGltIFczLCBzaWVodCBnYW56Cm51ZXR6bGljaCBhdXMsIHdlbm4gbWFuIG1hbCBtaXQgbWVocmVyZW4gTGV1dGVuIGdsZWljaHplaXRpZyBhbSBzZWxiZW4KRG9rdW1lbnQgYmFzZWx0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFN0YXIgVHJlayBUcmFpbGVyIChIdXJheHByYXgsIDI2LiBOb3YgMjAwOCwgMDg6MTU6NDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTIyNzE3NzQ0NCByZz13d3cKfiMhIHRpZD0xMjI3MTc2NTUzCkt1ZXJiaXNrdWNoZW4gaXN0IHVlYnJpZ2VucyBsZWNrZXIuIFVuZCBlaW5lIEZydWNodCBpc3QgZXMgamEgYXVjaC4gOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVudHNjaGVpZGJhcmtlaXQgZnVlciB+NTBrICQgKEdsb2luc29uLCAyNi4gTm92IDIwMDgsIDIwOjAxOjUwKToKaHR0cDovL3d3dy5nZXRhY29kZXIuY29tL3Byb2plY3RzL2J1Z19maW5kZXJfOTI5MTMuaHRtbAoKUHJvYmxlbXN0ZWxsdW5nOiBTY2hyZWliZSBlaW4gUHJvZ3JhbW0sIGRhc3MgZWluIGFuZGVyZXMgUHJvZ3JhbW0gYWxzIEVpbmdhYmUKYWt6ZXB0aWVydCB1bmQgYW5hbHlzaWVydCwgb2IgZGllc2VzIEVpbmdhYmVwcm9ncmFtbSB0ZXJtaW5pZXJ0L2ZlaGxlcmhhZnQKaXN0L2luIGVpbmUgU2NobGVpZmUgZ2VodC4KCkVyc3RhdW5saWNoLCB3aWUgdmllbGUgZG9ydCBlaW4gc2NoZWluYmFyIGVybnN0aGFmdGVzIEdlYm90IGFiZ2VnZWJlbiBoYWJlbi4KTGVpZGVyIHNjaGVpbnQgZGllIExpc3RlIGdlcmFkZSBnZWxvZXNjaHQuIEFiZXIgNyBpbmRpc2NoZSBQcm9ncmFtbWllcnRlcgp3dWVyZGVuIGRhcyBpbiBldHdhIDEwLTE4IFRhZ2VuIGZ1ZXIgfjUwayQgZXJsZWRpZ2VuLiBIZXJyIEdvZWRlbCB1bmQgSGVycgpDYW50b3IgamVkb2NoIGhhYmVuIHZvZWxsaWcgZGVzdHJ1a3RpdiBrb21tZW50aWVydC4gRGllIG5pbW10IG1hbiBiZXNzZXIgbmljaHQKaW5zIFRlYW0uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIGV0d2FzIGFuZGVyZSBBZHZlbnRza2FsZW5kZXIgKFplcGh5ciwgMjYuIE5vdiAyMDA4LCAyMDoyMzozNCk6ClZpZWxsZWljaHQgaGF0IGRlciBlaW4gb2RlciBkaWUgYW5kZXJlIGphIFNwYXNzIGRyYW46Cgp3d3cubWF0aGVrYWxlbmRlci5kZQoKKmtudWRkZWxzKgpDNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVudHNjaGVpZGJhcmtlaXQgZnVlciB+NTBrICQgKEdyaW1tYm9ybiwgMjcuIE5vdiAyMDA4LCAxMTo1NTowOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjI3NzI2MTEwIHJnPXd3dwp+IyEgdGlkPTEyMjc3MjYxMTAKSG1tPyBEYXMga2FubiBqZWRlcyBCZXRyaWVic3N5c3RlbS4gQWxsZXJkaW5ncyBsYWVzc3Qgc2ljaCBkYXMgbmljaHQgbWFsIGViZW4KZnVlciAkNTBrIGluIEluZGllbiBlbnR3aWNrZWxuLgoKR2RBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFzaGdhbWU6IFNoaWZ0IChLZXNzYSwgIDEuIERleiAyMDA4LCAxMzoyNjoxNyk6Cmh0dHA6Ly9mbGFzaGdhbWVzLmRlL2luZGV4LnBocD9vbmxpbmVzcGllbGU9NjI4OQoKSGF0IG1laW4gS2xlaW5lciBlYmVuIGVudGRlY2t0LiBJY2ggaGFiIGVzIG5vY2ggbmljaHQgYXVzcHJvYmllcnQsIGFiZXIgc2llaHQKbmFjaCB3YXMgYXVzLCB3YXMgU3Bhc3MgbWFjaGVuIGtvZW5udGUgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRvbGxlIFdlaWhuYWNodHNiZWxldWNodHVuZyEgKEJhbWJ1bGtvLCAgNS4gRGV6IDIwMDgsIDIxOjM4OjU3KToKCmh0dHBzOi8vc3RvcmUuYWZhLm5ldC9wYy0xMDAwMDMxMC0xMS1jaHJpc3RtYXMtY3Jvc3MuYXNweAoKSWNoIGhvZmZlIGRhcyBzdGVsbHQgbmllbWFuZCBpbiBkZW4gU3VlZHN0YWF0ZW4gaW4gc2VpbmVuIEdhcnRlbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk15IEFwcGxlLi4uIChHd2VuLCAgOC4gRGV6IDIwMDgsIDIwOjUyOjU0KToKaHR0cDovL3d3dy5kYWlseW1vdGlvbi5jb20vdmlkZW8veDdrcjZlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbHlpbmcgcGxheWVycyAoQXJrLCAgOC4gRGV6IDIwMDgsIDIzOjE1OjQ3KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWRQNXJFZmZoWGZvCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZseWluZyBwbGF5ZXJzIChHd2VuLCAgOC4gRGV6IDIwMDgsIDIzOjQ0OjIxKToKfiMhIHJuPUFyayBydD0xMjI4Nzc0NTQ3IHJnPXd3dwp+IyEgdGlkPTEyMjg3NzQ1NDcKRGEgbXVzcyBkaWVzZXMga29tbWVuOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RVdKM3g4Mm5YaEUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGbHlpbmcgcGxheWVycyAoQWxib2luLCAgOS4gRGV6IDIwMDgsIDAwOjAxOjQ2KToKfiMhIHJuPUFyayBydD0xMjI4Nzc0NTQ3IHJnPXd3dwp+IyEgdGlkPTEyMjg3NzQ1NDcKQWVobSwgQmlsZHplaXR1bmdzbGVzZXIgd2lzc2VuIG1pdHVudGVyIG1laHIgbmFqYSB6dSBtaW5kZXN0IGZydWVoZXIgOy05CmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHYXphIGluIGRlciBhcmFiaXNjaGVuIFByZXNzZSAoR2xvaW5zb24sICA5LiBKYW4gMjAwOSwgMDI6MDY6MzIpOgpodHRwOi8vd3d3LmFyYWJuZXdzLmNvbS9jYXJ0b29uLzIwMDkvMDEvMDkuanBnCgpIdXJyLiBCaWxsaWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVmlkZW8gbGVjdHVyZXMgdm9uIFJpY2hhcmQgRmV5bm1hbiAoWmVzc3RyYSwgIDkuIEphbiAyMDA5LCAyMzowMzo1Mik6CldlciBtYWwgVm9ybGVzdW5nZW4gdm9uIEZleW5tYW4gYWxzIFZpZGVvYXVmemVpY2hudW5nIHNlaGVuIG1vZWNodGUsIGhhdCBudW4KZGllIENoYW5jZSBkYXp1OgpodHRwOi8vZnJlZXNjaWVuY2VvbmxpbmUuYmxvZ3Nwb3QuY29tLzIwMDgvMTIvcmljaGFyZC1mZXlubWFuLXBoeXNpY3MtdmlkZW8tbGUKY3R1cmVzLmh0bWwKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmJlZGluZ3VuZ3Nsb3NlcyBHcnVuZGVpbmtvbW1lbiAoQWxib2luLCAyMi4gSmFuIDIwMDksIDE0OjAzOjQ5KToKSWNoIGhhdHRlIGhpZXIgYWxsZXJkaW5ncyBpbiBlaW5lciBhbmRlcmVuIFJ1YnJpayBtYWwgZnVlciBkaWUgSWRlZSBkZXMKYmVkaW5ndW5nc2xvc2VuIEdydW5kZWlua29tbWVucyBnZXdvcmJlbi4gRGEgZGFtYWxzIGF1Y2ggZWluaWdlIGhpZXIgU3ltcGhhdGllCmJla3VuZGV0ZW4sIGdlYmUgaWNoIGVpbmZhY2ggbWFsIGVpbmVuIExpbmsgYW4gd28gbWFuIGRpZSBQZXRpdGlvbiBkYWZ1ZXIKdW50ZXJ6ZWljaG5lbiBrYW5uLiAKCmh0dHBzOi8vZXBldGl0aW9uZW4uYnVuZGVzdGFnLmRlL2luZGV4LnBocD9hY3Rpb249cGV0aXRpb247c2E9ZGV0YWlscztwZXRpdGlvbgo9MTQyMgoKR3J1ZXNzZSBhbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIGhhdCBkaWUgUGhvZW5peHNjaHVoZSBnZWtsYXV0PyE/IChKYW5uZSwgMzAuIEphbiAyMDA5LCAxNzoxNTo0OCk6CkRpZWJzdGFobCBpbSBPbmxpbmVzcGllbCAtIFBvbGl6ZWkgZmFobmRldCBuYWNoIFBob2VuaXhzY2h1aGVuCgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvbmV0endlbHQvd2ViLzAsMTUxOCw2MDQzMzQsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlciBoYXQgZGllIFBob2VuaXhzY2h1aGUgZ2VrbGF1dD8hPyAoWmVzc3RyYSwgMzAuIEphbiAyMDA5LCAxNzoxODo1MSk6Cn4jISBybj1KYW5uZSBydD0xMjMzMzMyMTQ4IHJnPXd3dwp+IyEgdGlkPTEyMzMzMzIxNDgKSGFicyBoZXV0IG1vcmdlbiBhdWNoIGdlbGVzZW4uIDstKSBOYWphLCBhYmVyIHdlciAxMDAwIEV1cm8gaW52ZXN0aWVydCwgdW0Kc2VpbmVuIENoYXIgYXVzcnVlc3RlbiB6dSBsYXNzZW4sIGhhdHMgZWlnZW50bGljaCBrYXVtIGJlc3NlciB2ZXJkaWVudCAoZGFzCmlzdCBtZWluZSBTaWNodCBhbHMgU3BpZWxlcikuIEtvZW5udGUgZXMgdGF0c2FlY2hsaWNoIGVoZXIgbmFjaHZvbGx6aWVoZW4sCndlbm4gZXIgZGVuIGdlc3RvaGxlbmVuIEtyYW0gZHVyY2ggU3BpZWxlbiBlcndvcmJlbiBoYWV0dGUuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFdGlrZXR0ZW5zY2h3aW5kZWwgKEd3ZW4sIDMwLiBKYW4gMjAwOSwgMjA6NDU6MDQpOgpXYXMgSWhyIHNjaG9uIGltbWVyIHVlYmVyIEFjdGltZWwgb2RlciB1ZWJlciBnZWthdWZ0ZXMgUGVzdG8gd2lzc2VuIHdvbGx0ZXQuLi4KLi4ub2RlciBhdWNoIG5pY2h0PwpIaWVyIGZpbmRldCBJaHIgZXM6IGh0dHA6Ly93d3cuYWJnZXNwZWlzdC5kZS8KQ2lhbywgR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9iamVrdGl2IG1pdCBEZWNobmlrIChHd2VuLCAzMS4gSmFuIDIwMDksIDA4OjM3OjA1KToKRGEgc3RlbGx0IHNpY2ggZGllIEZyYWdlLCBvYiBOaWtvbiBpbm5vdmF0aXZlIGZyYWVuZ2dpc2NoZSBEZWNobmlrIHZlcndlbmRldDoKaHR0cDovL3d3dy5hbWF6b24uZGUvZXhlYy9vYmlkb3MvQVNJTi9CMDAwMDVMRU40Ci0+IFByb2R1a3RiZXNjaHJlaWJ1bmdlbgoKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBPYmpla3RpdiBtaXQgRGVjaG5payAoWmVzc3RyYSwgMzEuIEphbiAyMDA5LCAxMDoxNDowNyk6Cn4jISBybj1Hd2VuIHJ0PTEyMzMzODc0MjUgcmc9d3d3Cn4jISB0aWQ9MTIzMzM4NzQyNQpBdXdlaWEuIExlc2VuIGRpZSBuaWNodCBLb3JyZWt0dXI/CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9iamVrdGl2IG1pdCBEZWNobmlrIChNYXJjdXMsIDMxLiBKYW4gMjAwOSwgMTA6NTA6MTkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjMzMzkzMjQ3IHJnPXd3dwp+IyEgdGlkPTEyMzMzODc0MjUKV2FocnNjaGVpbmxpY2ggbmljaHQgLi4uCgpVbmQgaWNoIHVlYmVybGVnZSBpbW1lciBub2NoIG9iIGljaCBlcyBtaXIgZ2xlaWNoIGthdWZlLApvZGVyIG1hbCBndWNrZSBvYiBlaW4gS3VtcGVsIG1pciBlcyBsZWlodCA7KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1bG1lbiBpbiBob2NoZm9ybSAoSW5udWVuZG8sICAyLiBGZWIgMjAwOSwgMTM6MDI6MTUpOgpoaWhvCndlaXNzIG5pY2h0LCBvYnMgc2Nob24gbWFsIGhpZXIgc3RhbmQsIGFiZXIgZXMgaXN0IGltbWVyIG1hbCB3aWVkZXIgZWluZSB6ZWlsZQp3ZXJ0IQp3ZXIgZGllIG5ldWVuIHNhY2hlbiB2b24gY2hyaXN0aWFuIHVsbWVuIG5vY2ggbmljaHQga2VubnQsIGRlciBtb2VnZSBhdWYKd3d3LnVsbWVuLnR2IGd1Y2tlbi4gdGVpbHdlaXNlIHNpbmQgZGllIGRpbmdlciBkZXIgYWJzb2x1dGUgaGFtbWVyIQppbnNiZXNvbmRlcmUga251dCBoYW5zZW4gYmVpbSBidWVyZ2VybWVpc3RlciBpc3QgZWluIGdhbnogc3BlemllbGxlcyBmaWxtY2hlbi4KZXMgbGFldWZ0IGVpbmVtIGhlaXNzIHVuZCBrYWx0IGRlbiBydWVja2VuIHJ1bnRlciwgd2VubiBtYW4gc2VpbmUgbWl0bWVuc2NoZW4KZGEgc28gbGl2ZSBpbiBha3Rpb24gZXJsZWJ0Li4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXRpa2V0dGVuc2Nod2luZGVsIChab29rLCAgNC4gRmViIDIwMDksIDA5OjA1OjQ1KToKfiMhIHJuPUd3ZW4gcnQ9MTIzMzM0NDcwNCByZz13d3cKfiMhIHRpZD0xMjMzMzQ0NzA0CkphamEsIGRlciBQb2ViZWwgbGFlc3N0IHNpY2ggaGFsdCBnZXJuIHZlcmFyc2NoZW4gLi4uIDspICpnKiAKQWJlciBzZWhyIGludGVyZXNzYW50IGRpZSBTZWl0ZSwgaW4gZGVyIFRhdCEKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaWNoZXJoZWl0IHVuZCBLdW5zdCAoR2xvaW5zb24sICA0LiBGZWIgMjAwOSwgMTQ6MjY6NDApOgpPZGVyIHdpZSBlaW4gS3VlbnN0bGVyIGRhcyBkZXJ6ZWl0aWdlIHNpY2hlcmhlaXRzYmVkdWVyZm5pcyBlaW4gd2VuaWcKdm9yZnVlaHJ0OgpodHRwOi8vd3d3LjNzYXQuZGUvbWVkaWF0aGVrL21lZGlhdGhlay5waHA/b2JqPTExMjczJm1vZGU9cGxheQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlbGF1bmNoIHZvbiBiYWhuLmRlIDIwMDkgKEd3ZW4sICA2LiBGZWIgMjAwOSwgMTA6MTY6MDIpOgpodHRwOi8vd3d3LnRpdGFuaWMtbWFnYXppbi5kZS91cGxvYWRzL3BpY3MvMDIwNC1iYWhuYXVza3VuZnQuanBnCnBhc3NlbmQgZGF6dSBkaWUgSW5mbzoKaHR0cDovL3d3dy50YWdlc3NwaWVnZWwuZGUvd2lydHNjaGFmdC9VbnRlcm5laG1lbi1EZXV0c2NoZS1CYWhuLURhdGVuc2thbmRhbDthCnJ0MTI5LDI3MTgwNjYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWxhdW5jaCB2b24gYmFobi5kZSAyMDA5IChNYXJjdXMsICA2LiBGZWIgMjAwOSwgMTU6MjI6NTEpOgp+IyEgcm49R3dlbiBydD0xMjMzOTExNzYyIHJnPXd3dwp+IyEgdGlkPTEyMzM5MTE3NjIKQWNod2FzIC4uLiBSZWxhdW5jaCAyMDA5LzA0LzAxIC4uLiA6KQoKQ2lhbywgTWFyY3VzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQcm9qZWN0IEV1bGVyIChWYW5pb24sICA5LiBGZWIgMjAwOSwgMjM6MTI6MjMpOgpBdWNoIHdlbm4gaWNoIGV1Y2ggbmljaHQgdm9tIFpvY2tlbiBhYmxlbmtlbiB3aWxsLCBtb2VjaHRlIGljaCBkb2NoIGt1cnogZWluClByb2pla3Qgdm9yc3RlbGxlbiwgZGFzcyBpY2ggc2VociBuZXR0IGZpbmRlOiBodHRwOi8vcHJvamVjdGV1bGVyLm5ldC4KCkhpZXJiZWkgd2VyZGVuIGVpbmVtIG1hdGhlbWF0aXNjaGUgQXVmZ2FiZW4gc3RlaWdlbmRlciBrb21wbGV4aXRDdCBnZXN0ZWxsdCwKZGllIGR1cmNoIFByb2dyYW1taWVydW5nIGdlbG9lc3Qgd2VyZGVuIGtvZW5uZW4gdW5kIGF1Y2ggc29sbGVuLiBNaXQgZWluZW0KQnJ1dGUgRm9yY2UtQW5ncmlmZiBrb21tdCBtYW4gYWxsZXJkaW5ncyBudXIgenUgQmVnaW5uIHp1cmVjaHQuIFNjaG9uIGJlaQpQcm9ibGVtIDEyIGhhdCBtZWluIChuaWNodCB6dSBhbHRlcikgQ29tcHV0ZXIgZmFzdCAxIFN0dW5kZSBnZXJlY2huZXQuIEljaApkZW5rZSBhYmVyIG1pdCBkZW0gbmV1ZW4gQWxnb3JpdGhtdXMga2FubiBpY2ggZGFzIHVudGVyIGVpbmUgU2VrdW5kZSBkcnVlY2tlbi4KCldlbm4gbWFuIGVpbmUgQXVmZ2FiZSBzY2hhZmZ0LCB3aXJkIG1hbiBtaXQgZWluZW0gWnVncmlmZiBhdWZzIEZvcnVtIHp1cgpBdWZnYWJlIHVuZCBvZnQgbWl0IGVpbmVtIFBERiBtaXQgSGludGVyZ3J1ZW5kZW4gdW5kIFZlcmJlc3NlcnVuZ3N2b3JzY2hsYWVnZW4KZnVlciBkZW4gQWxnb3JpdGhtdXMgYmVsb2hudC4KCkFsbGVzIGluIGFsbGVtIGVpbmUgbmV0dGUgU2FjaGUgdW5kIGVpbiBXZWcgc2VpbmUgUHJvZ3JhbW1pZXJrZW5udG5pc3NlIG1hbAp3aWVkZXIgZXR3YXMgenUgZW50cm9zdGVuLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFrdHVlbGxlIEthbWVyYSAtIGhldXRpZ2UgQXVzZ2FiZSAoTWFyY3VzLCAxMC4gRmViIDIwMDksIDIwOjE1OjEwKToKSGksCgpEaWUgQWt0dWVsbGUgS2FtZXJhLCB3ZW5uIGRlciBPc3RlbiBkZW4gV2VzdGVuIGVpbmdlbWVpbmRldCBoYWV0dGUgdm9uIGhldXRlOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PS1wM1JrLWFNZEJJICAKCkNpYW8sIE1hcnVjcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFrdHVlbGxlIEthbWVyYSAtIGhldXRpZ2UgQXVzZ2FiZSAoR3dlbiwgMTAuIEZlYiAyMDA5LCAyMDo0NjozNyk6Cn4jISBybj1NYXJjdXMgcnQ9MTIzNDI5MzMxMCByZz13d3cKfiMhIHRpZD0xMjM0MjkzMzEwCkF1c3NlcmRlbSBoYXQgZGFzIE1pbmlzdGVyaXVtIGZ1ZXIgU3RhYXRzc2ljaGVyaGVpdCB6dXIgU2ljaGVyaGVpdCBkaWUgRGF0ZW4KYWxsZXIgQmFobmNhcmRpbmhhYmVyIG1pdCBkZXIgVGVycm9yZGF0ZW5iYW5rIGRlcyBGQkksIEtHQiB1bmQgTUk2CmFiZ2VnbGljaGVuLiBEYWR1cmNoIGtvbm50ZW4gZXJmb2xncmVpY2ggQW5zY2hsYWVnZSBkdXJjaCBCYWhuZmFocmVyIC0gdW5kCnNvbWl0IHBvdGVudGllbGxlbiBCb21iZW5sZWdlcm4gLSB2ZXJoaW5kZXJ0IHdlcmRlbiEKRGllIFp1ZnJpZWRlbmhlaXQgYmVpIGRlbiBCYWhua3VuZGVuIGtvbm50ZSBzbyBpbiBlcmhlYmxpY2hlbSBNYXN6ZQplcmZvbGdyZWljaCBnZXN0ZWlnZXJ0IHdlcmRlbiEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRleHRlZGl0b3JlbiAoR2xvaW5zb24sIDExLiBGZWIgMjAwOSwgMTc6MDU6MDkpOgpGYWxscyBub2NoIHdlciBuaWNodCBnYW56IHp1ZnJpZWRlbiBpc3QsIGVpbmUga2xlaW5lIGF1c3dhaGw6CgpodHRwOi8vaW1nMTAuaW1hZ2VzaGFjay51cy9pbWcxMC82MDg3L3RleHRlZGl0b3JvczkucG5nCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRleHRlZGl0b3JlbiAoUnVtYXRhLCAxMS4gRmViIDIwMDksIDE4OjUxOjI0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzQzNjgzMDkgcmc9d3d3Cn4jISB0aWQ9MTIzNDM2ODMwOQpNYW4gYmVhY2h0ZSwgZGFzcyBkaWUgVGFiZWxsZSBmdWVyIG5pY2h0IGhhc2tlbGwgUHJvZ3JhbW1pZXJlciB6aWVtbGljaApzaW5uZnJlaSBpc3QuIChFY2xpcHNlIGthbm4ga2VpbiBnb3RvIGRlZmluaXRpb24gLyByZWZhY3RvciA/KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKdm9sa2VyLi4uIChHbm9tZSwgMTIuIEZlYiAyMDA5LCAwMTozMzo1NCk6Ci4uLiBzcHJpY2h0IG1hbCB3aWVkZXIgd2FocmUgd29ydGU6CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eWFEbWpFU20zYUEmZmVhdHVyZT1yZWxhdGVkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGV4dGVkaXRvcmVuIChab29rLCAxMi4gRmViIDIwMDksIDEwOjA4OjAxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzQzNjgzMDkgcmc9d3d3Cn4jISB0aWQ9MTIzNDM2ODMwOQpXYXMgaXN0IGVzPwpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRleHRlZGl0b3JlbiAoR2xvaW5zb24sIDEyLiBGZWIgMjAwOSwgMTU6MDE6NTcpOgp+IyEgcm49Wm9vayBydD0xMjM0NDI5NjgxIHJnPXd3dwp+IyEgdGlkPTEyMzQzNjgzMDkKV2FzIGlzdCB3YXM/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogVGV4dGVkaXRvcmVuIChab29rLCAxMi4gRmViIDIwMDksIDE1OjE1OjI2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyMzQ0NDczMTcgcmc9d3d3Cn4jISB0aWQ9MTIzNDM2ODMwOQpXYXMgaXN0IGRhcyBmdWVyIGVpbmUgR3JhZmlrPyBJY2ggdmVyc3RlaGUgd2VkZXIgd2FzIGRpZSBGYXJiZW4Kc2luZCBub2NoIHdvIGVpbmUgTGVnZW5kZSBpc3Qgb2RlciB3YXMgZGFzIHVlYmVyaGF1cHQgc29sbC4gWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogVGV4dGVkaXRvcmVuIChHbG9pbnNvbiwgMTIuIEZlYiAyMDA5LCAxNToyNjo1MCk6Cn4jISBybj1ab29rIHJ0PTEyMzQ0NDgxMjYgcmc9d3d3Cn4jISB0aWQ9MTIzNDM2ODMwOQpXZW5uIGRhcyBub2NoIGRpZSBzZWxiZSBHcmFmaWsgaXN0OiBsaW5rcyBzaW5kIEVkaXRvcmVuLCBvYmVuIHN0ZWhlbiBGZWF0dXJlcywKaW4gZGVuIHp1Z2VocmlnZW4gWmVsbGVuIHN0ZWh0IGdydWVuIGZ1ZXIgImhhdCBGaWV0c2NoZXIiIHJvdCBmdWVyICJoYXQgbmlzY2giCnVuZCBvcmFua2UgZnVlciAiZ29taXNjaCBnZW1hY2h0Ii4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWUgbWVociB1ZWJlciBMb2huc3RldWVyamFocmVzYXVzZ2xlaWNoIHNjaGltcGZlbjogKE9ya3RvZXRlciwgMTUuIEZlYiAyMDA5LCAxOTo0MTozMSk6Cm5ld3MuYmJjLmNvLnVrLzIvaGkvcHJvZ3JhbW1lcy9mcm9tX291cl9vd25fY29ycmVzcG9uZGVudC83ODg4NDQ0LnN0bT9sc3MKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTmllIG1laHIgdWViZXIgTG9obnN0ZXVlcmphaHJlc2F1c2dsZWljaCBzY2hpbXBmZW46IChWYW5pb24sIDE1LiBGZWIgMjAwOSwgMTk6NDI6MzMpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTEyMzQ3MjMyOTEgcmc9d3d3Cn4jISB0aWQ9MTIzNDcyMzI5MQpIYWIgZ2VyYWRlIEdlbGQgdm9uIDIwMDYgYmVrb21tZW4gdW5kIGdlZGVua2UgZXMgaW4gV2lydHNjaGFmdHNmb2VyZGVydW5nCmFuenVsZWdlbi4gSWNoIGthZW1lIG5pZSBhdWYgZGllIElkZWUgenUgc2NoaW1wZmVuIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOaWUgbWVociB1ZWJlciBMb2huc3RldWVyamFocmVzYXVzZ2xlaWNoIHNjaGltcGZlbjogKFplc3N0cmEsIDE1LiBGZWIgMjAwOSwgMTk6NDM6NTYpOgp+IyEgcm49VmFuaW9uIHJ0PTEyMzQ3MjMzNTMgcmc9d3d3Cn4jISB0aWQ9MTIzNDcyMzI5MQpJY2ggaGFiIGF1Y2ggc2Nob24gZ2Vob2VydCwgZGFzcyBkaWUgVVMtU3RldWVybiBlaW4gV3VuZGVyd2VyayBkZXIKS29tcGxleGl0YWV0IHNpbmQuLi4gTmFqYSwgaWNoIHdlcmRlIG1laW5lIFN0ZXVlcmVya2xhZXJ1bmcgdmVybXV0bGljaCBpbiAyLTMKV29jaGVuIG1hbCBtYWNoZW4sIGFiZXIgYmlzbGFuZyBmZWhsdCBtaXIgdGF0c2FlY2hsaWNoIG5vY2ggbmUgQmVzY2hlaW5pZ3VuZywKbGllZ3QgZ2FyIG5pY2h0IGFuIG1pci4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDZWJpdC1LYXJ0ZW4gKFZhbmlvbiwgMTYuIEZlYiAyMDA5LCAyMzoyMDoyMSk6CkhpIExldXRlLAoKaWNoIHdlaXNzLCBkYXMga2xpbmd0IGpldHp0IG5hY2ggV2VyYnVuZywgYWJlciB2aWVsbGVpY2h0IGthbm4gZGVyIGVpbmUgb2RlcgphbmRlcmUgbWl0IGRlciBJbmZvIHdhcyBhbmZhbmdlbjogUmVpY2hlbHQgRWxla3Ryb25payBoYXQgZGVyemVpdCBlaW5lIEFrdGlvbiwKYmVpIGRlciBqZWRlciBJbnRlbmV0YmVzdGVsbGVyLCBkZXIgZnVlciBtZWhyIGFscyA1MCBFdXJvIGthdWZ0LCBlaW5lCkNlYml0LVRhZ2Vza2FydGUgZ2VzY2hlbmt0IGJla29tbXQuIE1hbmNobWFsIHBhc3N0cyBqYSwgdW5kIG1hbiBtYWNodCBlaW4KU2NobmFlcHBjaGVuLgoKR3J1ZXNzZSwKVioKUFM6IEljaCBiZWtvbW1lIGtlaW5lIFByb3plbnRlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENlYml0LUthcnRlbiAoQXJhdGgsIDE2LiBGZWIgMjAwOSwgMjM6Mzc6NTcpOgp+IyEgcm49VmFuaW9uIHJ0PTEyMzQ4MjI4MjEgcmc9d3d3Cn4jISB0aWQ9MTIzNDgyMjgyMQpHaWJ0cyBkZW5uIG5lbiBrb25rcmV0ZW4gVGlwIHp1ciBDZWJpdD8KSWNoIGhhYmUgZGFzIEdlZnVlaGwsIGFscyBzZWkgZXMgZGllc2VzIEphaHIgYXVmZ3J1bmQgbWFuZ2VsbmRlciBBdXNzdGVsbGVyIHNvCnNpbm5sb3Mgd2llIG5pZSwgZGEgaGluIHp1IGZhaHJlbi4uLgoKQXJhdGgKKHNlaXQgZXRsaWNoZW4gSmFocmVuIGJpc2hlciBpbW1lciBhdWYgZGVyIENlYml0IHVudGVyd2VncykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQ2ViaXQtS2FydGVuIChWYW5pb24sIDE2LiBGZWIgMjAwOSwgMjM6NDA6MDMpOgp+IyEgcm49QXJhdGggcnQ9MTIzNDgyMzg3NyByZz13d3cKfiMhIHRpZD0xMjM0ODIyODIxCkljaCB3YXIgdm9yIEphaHJlbiBkYXMgbGV0enRlIG1hbCBkYSwgYWJlciB3ZW5uIGljaCBlaW5lIEZyZWlrYXJ0ZSBoYWJlLCB3ZXJkZQppY2ggd29obCBpbiBkZXIgV29jaGUgbWVpbmUgU2Nod2VzdGVyIHVuZCBlaW5lbiBLdW1wZWwgaW4gSGFubm92ZXIgYmVzdWNoZW4KdW5kIGRhbm4gYXVjaCBtYWwgdWViZXIgZGllIENlYml0IHNjaGxlbmRlcm4sIGRlbmsgaWNoLiBXYW5uIHVuZCB3aWUsIHdlaXNzCmljaCBub2NoIG5pY2h0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmt1cnogdm9yIHVsdGltbyAoQWxib2luLCAxNy4gRmViIDIwMDksIDAwOjAyOjAzKToKSWNoIG1vZWNodGUgaGllcm1pdCBub2NoIG1hbCBhYmVyIGRhZnVlciBkYXMgYWxsZXJsZXR6dGUgTWFsIGRhcmFuIGVyaW5uZXJuLApkYXNzIG1hbiBiaXMgbW9yZ2VuCk5hY2h0IGRpZSBQZXRpdGlvbiB6dW0gQmVkaW5ndW5nc2xvc2VuIEdydW5kZWlua29tbWVuIHVudGVyemVpY2huZW4ga2Fubi4gRGF6dQpub2NoIGRpZSBCZW1lcmt1bmcsIGRhc3MgZXMgc2ljaCB1bSBlaW5lIHVlYmVycGFydGVpbGljaGUgQWt0aW9uIGhhbmRlbHQsIGVzCnN0ZWNrdCBhbHNvIGtlaW5lIHBvbGl0aXNjaGUgUGFydGVpIG9kZXIgR3J1cHBpZXJ1bmcgZGFoaW50ZXIsIHNvbmRlcm4gZXMKZmluZGVuIHNpY2ggU3ltcGhhdGlzaWFudGVuIHZvbSBsaW5rZW4gYmlzIHp1bSByZWNodGVuIFNwZWt0cnVtIGZ1ZXIgZGllc2UKSWRlZS4gTWl0dGxlcndlaWxlIGdpYnQgZXMgdWViZXIgNDYwMDAgVW50ZXJ6ZWljaG5lciwgZGFtaXQgc2ljaCBhYmVyIGRpZQpQb2xpdGlrZXIgZGFtaXQgYmVmYXNzZW4gd2VyZGVuIDUwMDAwIFVudGVyemVpY2hudW5nZW4gYmVub2V0aWd0LgoKdW5kIGhpZXIgZ2VodCBlcyBkYWhpbjoKaHR0cHM6Ly9lcGV0aXRpb25lbi5idW5kZXN0YWcuZGUvaW5kZXgucGhwP2FjdGlvbj1wZXRpdGlvbjtzYT1kZXRhaWxzO3BldGl0aW9uCj0xNDIyCgpNYW4gbXVzcyBzaWNoIGxlaWRlciBhbm1lbGRlbiwgYWJlciBlcyBpc3QgZnVlciBlaW5lIGd1dGUgU2FjaGUuIFVuZCBsYXNzdApldWNoIG5pY2h0IHZvbiBkZW4gZ2Vmb3JkZXJ0ZW4gRWlua29tbWVuc2JldHJhZWdlbiBpcnJpdGllcmVuLiBTbyBob2NoIHdlcmRlbgpkaWUgYW0gQW5mYW5nIHNpY2hlciBuaWNodCBzZWluLiBFcyBnZWh0IHByaW1hZXIgdW0gZGllIEVudGtvcHBsdW5nIHZvbiBBcmJlaXQKdW5kIExvaG4uIERhcyBkZXIgTWVuc2NoIG5pY2h0IG1laHIgYXJiZWl0ZXQgdW0genUgbGViZW4sIHNvbmRlcm4gbGVidCB1bSB6dQphcmJlaXRlbi4gCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENlYml0LUthcnRlbiAoWm9vaywgMTcuIEZlYiAyMDA5LCAxMTowODozMCk6Cn4jISBybj1WYW5pb24gcnQ9MTIzNDgyMjgyMSByZz13d3cKfiMhIHRpZD0xMjM0ODIyODIxCklzdCBkZW5uIGplbWFuZCB2b24gRXVjaCBhdWYgZGVyIENlQklUPwpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGUgU3BhY2UgR2FtZSAoQ3JvZnQsIDE4LiBGZWIgMjAwOSwgMDA6MzA6MzUpOgpodHRwOi8vd3d3LmNhc3VhbGNvbGxlY3RpdmUuY29tL2dhbWVzL1RoZV9TcGFjZV9HYW1lCk5ldHRlcyBGbGFzaCBTcGllbGNoZW4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIE1hYy1IeW1uZSEgKEd3ZW4sIDIwLiBGZWIgMjAwOSwgMjI6MTI6MTEpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9U1Y5bV9ad2lXbUEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClVuZCBoaWVyIGRpZSBNaWNyb3NvZnQtSHltbmUgOykgKEd3ZW4sIDIwLiBGZWIgMjAwOSwgMjI6MTU6MjQpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9R1YtbGdUTjFpb0EKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdpdGFycmVzcGllbGVuIG1pdCBXdXJzdGZpbmdlcm4gKEd3ZW4sIDIzLiBGZWIgMjAwOSwgMjI6MTU6MjYpOgpGcmFndCBzaWNoLCB3b3J1ZWJlciBtYW4gaGllcmJlaSBhbSBtZWlzdGVuIGxlcm50OgpGcmF1ZW4sIE1hZW5uZXIgb2RlciBHaXR0YXJyZXNwaWVsZW4/Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj16cWIyRHhHbS1UTQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmFrIE1jS3JhY2tlbiBJSSAtIEJldHdlZW4gVGltZSBhbmQgU3BhY2UgKFplc3N0cmEsIDIzLiBGZWIgMjAwOSwgMjI6NTc6MDEpOgpJY2ggaGFiIHVlYmVycyBXRSAnWmFrIE1jS3JhY2tlbiAyIC0gQmV0d2VlbiBUaW1lIGFuZCBTcGFjZScgZ2VzcGllbHQuIERhcyBpc3QKZWluIEZhbi1Qcm9qZWt0IHVuZCBzdGVsbHQgZGVuIE5hY2hmb2xnZXIgZGVzIEtsYXNzaWtlcnMgdm9uIEx1Y2FzQXJ0cyBkYXIuCldlciBkYXMgbm9jaCBuaWNodCBrZW5udCB1bmQgc2NocmFlZ2VuIEh1bW9yIHVuZCBBZHZlbnR1cmVzIG1hZywgc29sbHRlIHNpY2gKZGFzIFNwaWVsIGRyaW5nZW5kIG1hbCBhbnNjaGF1ZW4uIEVzIHN0ZWNrdCB2b2xsZXIgQW5zcGllbHVuZ2VuIGF1ZiBhbmRlcmUKU3BpZWxlICh6LkIuIFNwYWNlIFF1ZXN0LCBNb25rZXkgSXNsYW5kLCBaYWsgTWNLcmFja2VuIDEgbmF0dWVybGljaCksIGRpZQpSYWV0c2VsIHNpbmQgbmV0dCwgYWJlciBuaWNodCB6dSBzY2h3ZXIgKGluIGRlciBzY2h3ZXJlbiBWYXJpYW50ZSBiaW4gaWNoIG5vY2gKbmljaHQgZHVyY2gpLiBVbmQgd2VyIGRlbiBIb3Jyb3JsYWRlbiBpbSBCZXJnZG9yZiBoaWVyIGtlbm50LCB3aXJkCmZlc3RzdGVsbGVuLCBkYXNzIGVzIGRvcnQgdGF0c2FlY2hsaWNoIGV0d2FzIGFlaG5saWNoZXMgZ2lidC4gOy0pCkFsc28sIHdlcnMgbm9jaCBuaWNodCBrZW5udDogQWIgenUKaHR0cDovL3d3dy56YWsyLm9yZy8KCihFcyBpc3QgdWVicmlnZW5zIGVnYWwsIG9iIG1hbiBaYWsxIGdlc3BpZWx0IGhhdCBvZGVyIG5pY2h0LCBhdXNzZXIgZGFzcwplaW5pZ2UgZGFubiBlaW5pZ2UgUG9pbnRlbiBlbnRnZWhlbi4pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOdWNsZWFyIEJvbWJzIENvbXB1dGVyIChHbG9pbnNvbiwgMjYuIEZlYiAyMDA5LCAyMDozNzozNSk6Cmh0dHA6Ly9mb3VybWlsYWIuY2gvYm9tYmNhbGMvYnJpY28uaHRtbAoKRnVlciBkaWUga2xlaW5lbiBUZXJyb3Jpc3RlbiB1bnRlciBldWNoIG1pdCBadWdhbmcgenUgRmx1Z3pldWcgdW5kIEJvbWJlLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZvcnRyYWcgZ2l0IChaZXNzdHJhLCAgNS4gTWFyIDIwMDksIDA4OjUxOjE2KToKV2VyIHdhcyB1ZWJlciBnaXQgKGVpbiBkZXplbnRyYWxlcyBWZXJzaW9ucy1NYW5hZ2VtZW50LVN5c3RlbSkgZXJmYWhyZW4KbW9lY2h0ZSwgaGF0IGluIGRpZXNlbSBWb3J0cmFnIHZvbiBMaW51cyBUb3J2YWxkcyBiZWkgR29vZ2xlIGRpZSBDaGFuY2U6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj00WHBuS0hKQW9rOAooQW5tZXJrdW5nOiBlcyBnZWh0IF9uaWNodF8gdW0gZGllIEJlZGllbnVuZyB1bmQgQmVudXR6dW5nLikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3J0cmFnIGdpdCAoWm9vaywgIDUuIE1hciAyMDA5LCAxMDoxNDoyOCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyMzYyMzk0NzYgcmc9d3d3Cn4jISB0aWQ9MTIzNjIzOTQ3NgpFaW4gc2VociBzY2hvZW5lciBWb3J0cmFnLgoKIk1vc3Qgb2YgeW91IGFyZSBjb21wbGV0ZWx5IGluY29tcGV0ZW50IiA7KSAqZyoKClRqYSwgZXIgaGF0IGhhbHQgd2lya2xpY2ggZWluIHBhYXIgInN0cm9uZyBvcGluaW9ucyIgOykgKmcqCgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBWb3J0cmFnIGdpdCAoWmVzc3RyYSwgIDUuIE1hciAyMDA5LCAxMTo0MDoyMik6Cn4jISBybj1ab29rIHJ0PTEyMzYyNDQ0Njggcmc9d3d3Cn4jISB0aWQ9MTIzNjIzOTQ3NgpKZXAuIFNjaG9lbiBmaW5kZSBpY2ggYXVjaCAnWW91IG1heSBkaXNncmVlIHdpdGggbWUgYXMgbXVjaCBhcyB5b3UgbGlrZSwgYnV0CmR1cmluZyB0aGlzIHRhbGsgeW91IGFyZSBzdHVwaWQgYW5kIHVnbHkgaWYgeW91IGRvLicgdW5kICdJZiB5b3UgdXNlIENWUyBhbmQKYWN0dWFsbHkgZW5qb3kgaXQsIHlvdSBzaG91bGQgbm90IGJlIGhlcmUsIGJ1dCBpbiBzb21lIG1lbnRhbCBpbnN0aXR1dGlvbi4nCihiZWlkZSBzaW5uZ2VtYWVzcykKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBWb3J0cmFnIGdpdCAoQXJhdGhvcm4sICA1LiBNYXIgMjAwOSwgMjE6MTk6MDYpOgp+IyEgcm49WmVzc3RyYSBydD0xMjM2MjM5NDc2IHJnPXd3dwp+IyEgdGlkPTEyMzYyMzk0NzYKSm8sIGRlbiBoYWIgaWNoIHZvciBlaW4gcGFhciBUYWdlbiBzY2hvbiBnZXNlaGVuLiBCZXNvbmRlcnMgYW11ZXNhbnQgZmFuZAppY2ggc2VpbmVuIEtvbW1lbnRhciwgZXIgd3VlcmRlIGtlaW5lIGVpZ2VuZW4gQmFja3VwcyBtYWNoZW4sIHdlaWwgZXIgc2ljaApzZWluZSBlaWdlbmUgQXJiZWl0IG9obmVoaW4gamVkZXJ6ZWl0IG5ldSBydW50ZXJsYWRlbiBrb2VubmUuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJ6bWFnaWVyIGJlaSBkZXIgQXJiZWl0IChBcmssICA2LiBNYXIgMjAwOSwgMTA6Mzc6MDcpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9bWRKQWk3aGx4QjAKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGhlIFNwYWNlIEdhbWUgKFphcGhvYiwgMTMuIE1hciAyMDA5LCAxMjo0NzozNSk6Cn4jISBybj1Dcm9mdCBydD0xMjM0OTEzNDM1IHJnPXd3dwp+IyEgdGlkPTEyMzQ5MTM0MzUKQXVmIGRlciBTZWl0ZSBnaWJ0cyBhdWNoIG5vY2ggYW5kZXJlIG5ldHRlIEZsYXNoIFNwaWVsZS4uLiBkYW5rZSBEaXIgZnVlciBkZW4KTGluayEgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNoYXQtWml0YXRlLi4uIChBbWFyeWxsaXMsIDE4LiBNYXIgMjAwOSwgMjA6MTU6NTkpOgoKaHR0cDovL2dlcm1hbi1iYXNoLm9yZy9hY3Rpb24vdG9wLwoKKQpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFeHRyZW0gU2hlZXAgTEVEIEFydCAoWmVzc3RyYSwgMTkuIE1hciAyMDA5LCAxMDoxOTozNyk6ClNlaHIgbmV0dDoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUQyRlg5cnZpRWh3CldhcyBtYW4gbmljaHQgYWxsZXMgbWl0IFNjaGFmZW4gdW5kIFNjaGFlZmVyaHVuZGVuIG1hY2hlbiBrYW5uLiA7LSkKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFeHRyZW0gU2hlZXAgTEVEIEFydCAoR2xvaW5zb24sIDE5LiBNYXIgMjAwOSwgMTI6NDc6NTgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjM3NDU0Mzc3IHJnPXd3dwp+IyEgdGlkPTEyMzc0NTQzNzcKVWx0cmFnZWlsLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFeHRyZW0gU2hlZXAgTEVEIEFydCAoS2Vzc2EsIDE5LiBNYXIgMjAwOSwgMTM6MDE6NTkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjM3NDU0Mzc3IHJnPXd3dwp+IyEgdGlkPTEyMzc0NTQzNzcKSGlsbHMgb2YgV2FsZXMsIGphamEuLi4gdW5kIEdyaWZmaXRocywgSm9uZXMsIFdpbGxpYW1zLCBEYXZpcyB1bmQgTGxld2VsbHluCm1vZWdlbiBhdWNoIHdhbGlzaXNjaCBrbGluZ2VuLCBhYmVyIGRpZSB6ZWl0bGljaGUgTmFlaGUgenVtIFN0IFBhdHJpY2sncyBEYXkKa2FubiBrZWluIFp1ZmFsbCBzZWluLiBEYXMgd2FyZW4gSXJlbiwgc2VociBiZXRydW5rZW5lIElyZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEV4dHJlbSBTaGVlcCBMRUQgQXJ0IChDcm9mdCwgMTkuIE1hciAyMDA5LCAxMzowMzozOSk6Cn4jISBybj1LZXNzYSBydD0xMjM3NDY0MTE5IHJnPXd3dwp+IyEgdGlkPTEyMzc0NTQzNzcKRGllIGhhYmVuIHNjaG9uIHZvcmdldHJ1bmtlbj8KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBFeHRyZW0gU2hlZXAgTEVEIEFydCAoS2Vzc2EsIDE5LiBNYXIgMjAwOSwgMTM6MDQ6NTMpOgp+IyEgcm49Q3JvZnQgcnQ9MTIzNzQ2NDIxOSByZz13d3cKfiMhIHRpZD0xMjM3NDU0Mzc3CkF1Y2ggdW5kIGdlcmFkZSBkaWVzZXIgVGFnIHdpbGwgZ2VidWVocmVuZCBlaW5nZWxhZXV0ZXQgc2Vpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFcnptYWdpZXIgYmVpIGRlciBBcmJlaXQgKEdub21lLCAyMS4gTWFyIDIwMDksIDAxOjQ5OjI2KToKfiMhIHJuPUFyayBydD0xMjM2MzMyMjI3IHJnPXd3dwp+IyEgdGlkPTEyMzYzMzIyMjcKZGFua2UuIHNlbHRlbiBzbyBnZWxhY2h0IGJlaSB5b3V0dWJlIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp5b3UuLi4gKEdub21lLCAyMS4gTWFyIDIwMDksIDAyOjA1OjExKToKaHR0cDovL3d3dy55b3VzaG91bGRoYXZlc2VlbnRoaXMuY29tLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIGdsdWVja2xpY2hlIEZhbWlsaWUuLi4gKEd3ZW4sIDIxLiBNYXIgMjAwOSwgMjA6MDk6NDUpOgpodHRwOi8vd3d3LnN1ZWRkZXV0c2NoZS5kZS9rdWx0dXIvMzQ4LzQ1ODAwMy9iaWxkZXIvP2ltZz01LjAKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEaWUgZ2x1ZWNrbGljaGUgRmFtaWxpZS4uLiAoR3dlbiwgMjEuIE1hciAyMDA5LCAyMDozMDozNyk6Cn4jISBybj1Hd2VuIHJ0PTEyMzc2NjI1ODUgcmc9d3d3Cn4jISB0aWQ9MTIzNzY2MjU4NQpJY2ggdmVyZ2FzcyBkaWUgaGllcjoKaHR0cDovL3d3dy5zdWVkZGV1dHNjaGUuZGUva3VsdHVyLzI1Ni80MDQwMzUvYmlsZGVyLz9pbWc9NS4wCnVuZCBkaWVzZXMgVHJpbyBoaWVyIGlzdCBlaW5mYWNoIHBlcmZla3Q6Cmh0dHA6Ly93d3cuc3VlZGRldXRzY2hlLmRlL2t1bHR1ci8yNTYvNDA0MDM1L2JpbGRlci8/aW1nPTEuMApHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nob24gZWluIHdlbmlnIGFlbHRlciAoQXJrLCAyNC4gTWFyIDIwMDksIDE4OjI2OjQ0KToKRmFuZCBpY2ggYWJlciBndXQ6IGh0dHA6Ly9wb3AueW91dHViZS5jb20vd2F0Y2g/dj14V2lIRFBKZ3p2TSZmZWF0dXJlPXJlbGF0ZWQKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaWUgbmV1ZSBib3ggZGVyIHBhbmRvcmEgKFJ1bWF0YSwgMjUuIE1hciAyMDA5LCAwOToxMToyMyk6Cmh0dHA6Ly9jb21pY3MuY29tL3NwZWVkX2J1bXAvMjAwOS0wMy0yNS8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlZWsgTXVzaWMgKEd3ZW4sIDI1LiBNYXIgMjAwOSwgMjA6MjU6MDgpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9X3kzNmZHMk9iYTAKdW5kIGhpZXIgZ2lidCdzIGRpZSBMeXJpY3M6Cndob2lzIC1oIHdob2lzLnJpcGUubmV0IFBPRU0tUklQRTU1LVNPTkcKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3YXMga29uc3RydWt0aXZlcy4uLiAoR3dlbiwgMjYuIE1hciAyMDA5LCAyMDoxNTozOSk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1Oa2kyekRFVW9tcwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29sZGVuZXIgV2luZGJldXRlbCAoR3dlbiwgMzAuIE1hciAyMDA5LCAyMToxMTozOSk6Cmh0dHA6Ly93d3cuYWJnZXNwZWlzdC5kZS9kZXJfZ29sZGVuZV93aW5kYmV1dGVsL2Rlcl9zaWVnZXIvaW5kZXhfZ2VyLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvbmctVmVyaG9lcmVyIChBbWFyeWxsaXMsIDMwLiBNYXIgMjAwOSwgMjI6MzI6MjYpOgpodHRwOi8vd3d3Lmhvcm5veGUuY29tL3Nvbmd2ZXJob2VyZXItZGllLWJlc3Rlbi1hZ2F0aGUtYmF1ZXItc29uZ3MvCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHRVotV2VyYnVuZyAoQW1hcnlsbGlzLCAzMC4gTWFyIDIwMDksIDIyOjQwOjEwKToKaHR0cDovL3d3dy5iaWxkc2NoaXJtYXJiZWl0ZXIuY29tL3ZpZGVvL2hldXRlX3NjaG9uX2dlbGFjaHQvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFbnRlciB0aGUgTXVodHJpeCAoR3dlbiwgIDIuIEFwciAyMDA5LCAwNzoxNjo1MCk6Cmh0dHA6Ly93d3cueC1vby5jb20vY2xpcHMvdGllcmlzY2gtbHVzdGlnZS12aWRlb3MvbWF0cml4LWt1aC5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaGlpIChBbnRoZWEsICAyLiBBcHIgMjAwOSwgMTA6NTI6MTUpOgpTaGlpIC0gVGhlIFdpaSBmb3IgV29tZW4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PV9TWE5BdHdZTUJ3CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOaWVzc2VuZGVzIFBhbmRhYmFieSAoQW50aGVhLCAgMy4gQXByIDIwMDksIDEyOjEzOjE4KToKaHR0cDovL3ZpZGVvLmdteC5uZXQvd2F0Y2gvMTc0Nzk4Mi9QYW5kYV9CYWJ5X05pZXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouLi4gdW5kIHNjaGxhZndhbmRlbG5kZXIgSHVuZCAoTWFoYXJldCwgIDMuIEFwciAyMDA5LCAyMDozMDoxNSk6CkRlbiBMaW5rIGhhdCBtaXIgbWVpbiBCdWNodmVyc2VuZGVyIChiZXR0ZXJ3b3JsZGJvb2tzLmNvbSkgaW4gZWluZXIgZm9sbG93LXVwCm1haWwgZ2VzY2hpY2t0OiAKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXoyQmdqSF9DdElBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogLi4uIHVuZCBzY2hsYWZ3YW5kZWxuZGVyIEh1bmQgKE1haGFyZXQsICAzLiBBcHIgMjAwOSwgMjA6MzE6MDUpOgp+IyEgcm49TWFoYXJldCBydD0xMjM4NzgzNDE1IHJnPXd3dwp+IyEgdGlkPTEyMzg3ODM0MTUKRGVyIExhZGVuIGhlaXNzdCBiZXR0ZXJ3b3JsZC5jb20sIHNvcnJ5LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUG9tbWVzZ2FiZWwgKEd3ZW4sICA1LiBBcHIgMjAwOSwgMjM6NTc6MDEpOgpTcGlkZXJtYW4gc2NoaWVzc3Qgc2VpbmUgTmV0emUgYXVmIEtJU1MtS29uemVydGVuLi4uCi4uLiBvZGVyIHNvIDspCi4uLiBvZGVyIGRvY2ggbmljaHQ/Cmh0dHA6Ly93d3cubGFjaXR5YmVhdC5jb20vY21zL3N0b3J5L2RldGFpbC8/aWQ9MTIxNiZJc3N1ZU51bT02NgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBvbW1lc2dhYmVsIChaZXNzdHJhLCAgNi4gQXByIDIwMDksIDEwOjI2OjExKToKfiMhIHJuPUd3ZW4gcnQ9MTIzODk2ODYyMSByZz13d3cKfiMhIHRpZD0xMjM4OTY4NjIxCkxhZXNzdCBzaWNoIHNjaGVpbmJhciBuaWNodCBtZWhyIGtsYWVyZW4sIHdlcnMgd2FyLCBwYXNzdCBqYSBndXQgZnVlciBlaW5lCkxlZ2VuZGVuYmlsZHVuZy4gOy0pIE5hamEsIHp1bSBHbHVlY2sgaXN0IGRpZSBBbnR3b3J0IGF1ZiBkaWVzZSBGcmFnZSBqYSBuaWNodAp1bmJlZGluZ3QgbGViZW5zd2ljaHRpZy4gOi0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBvbW1lc2dhYmVsIChSdW1hdGEsICA2LiBBcHIgMjAwOSwgMTA6NDY6NTEpOgp+IyEgcm49WmVzc3RyYSBydD0xMjM5MDA2MzcxIHJnPXd3dwp+IyEgdGlkPTEyMzg5Njg2MjEKRWhybGljaCBnZXNhZ3QsIGljaCB2ZXJzdGVoZSBkZW4gU2F0YW5za3VsdCBkZXIgQW1pcyAoNjY2LCBQb25uZXNnYWJlbG4sLi4uKQpub2NoIHdlbmlnZXIgYWxzIGphcGFuaXNjaGVzIENvc3BsYXlpbmcgdW5kIEthcmFva2UuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBQb21tZXNnYWJlbCAoWmVzc3RyYSwgIDYuIEFwciAyMDA5LCAxMDo1NDoyNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTIzOTAwNzYxMSByZz13d3cKfiMhIHRpZD0xMjM4OTY4NjIxCkVpZ2VudGxpY2ggaGF0IGRpZSBQb21tZXNnYWJlbCBtaXQgU2F0YW4gamEgZ2FyIG5pY2h0IHNvdmllbCB6dSB0dW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYXN0ZXJtaW5kOiBXb3JsZCBDb25xdWVyb3IgKENyb2Z0LCAgNi4gQXByIDIwMDksIDE3OjAyOjIwKToKTWFsIHdpZWRlciBlaW4gbmV0dGVzICYga29tcGxleGVzIEZsYXNoc3BpZWxjaGVuOgpodHRwOi8vd3d3LnRoZXN3YWluLmNvbS9GbGFzaC9NV0MuaHRtCkF1ZmJhdXNwaWVsIGJlaSBkZW0gbWFuIGFscyBFdmlsIEdlbml1cyBkaWUgV2VsdCB6dSB1ZWJlcm5laG1lbiB2ZXJzdWNodC4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogeW91Li4uIChaYXBob2IsICA4LiBBcHIgMjAwOSwgMTY6NTQ6MjYpOgp+IyEgcm49R25vbWUgcnQ9MTIzNzU5NzUxMSByZz13d3cKfiMhIHRpZD0xMjM3NTk3NTExCkFoYWhhaGFoYSwgdmllbGUgdmllbGUgbHVzdGlnZSBWVmlkZW9zISA6RAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWxwaGEgQ2VudGF1cmkgKFZhbmlvbiwgMTIuIEFwciAyMDA5LCAyMjowMjoyNSk6CkRlbSBlaW5lbiBvZGVyIGFuZGVyZW4gaXN0IHZpZWxsZWljaHQgZGllIFNlbmR1bmcgQWxwaGEtQ2VudGF1cmkgYmVrYW5udC4gRWluZQpTZW5kdW5nLCBpbiBkZXIgSGFyYWxkIExlc2NoIGltIEJSIEFscGhhIGRpZSBXZWx0IChpbSB3ZXNlbnRsaWNoZW4gZGllCnBoeXNpa2FsaXNjaGUvYXN0cm9ub21pc2NoZSkgZXJrbGFlcnQuIFVuZCBkYXMgYXVmIHp1bSBlaW5lbiByZWNodAp2ZXJzdGFlbmRsaWNoIC0gdW5kIHp1bSBhbmRlcmVuIHppZW1saWNoIGFtdWVzYW50LgoKTGFuZ2UgUmVkZSwga3VyemVyIFNpbm4gLSBCUi1BbHBoYSBzdGVsbHQgYWxsZSBTZW5kdW5nZW4gaW0gSW50ZXJuZXQgenVyClZlcmZ1ZWd1bmcuIE11c3MgbWFuIHNpY2ggbWFsIGFuZ3Vja2VuIC0gTGVzY2ggaXMgdG9sbCA6KQoKaHR0cDovL3d3dy5ici1vbmxpbmUuZGUvYnItYWxwaGEvYWxwaGEtY2VudGF1cmkvaW5kZXgueG1sCgpXZXIgbm9jaCBtZWhyIHZvbiBMZXNjaCB3aWxsLCBhdWYgZGVyIFdpa2lwZWRpYS1TZWl0ZSBnaWJ0cyBub2NoIExpbmtzIHp1ClNlbmR1bmdlbiBpbSBOZXR6LgoKR3J1ZXNzZSwKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbHBoYSBDZW50YXVyaSAoTmljb2xhaSwgMTMuIEFwciAyMDA5LCAwMTo0MjoyMSk6Cn4jISBybj1WYW5pb24gcnQ9MTIzOTU2NjU0NSByZz13d3cKfiMhIHRpZD0xMjM5NTY2NTQ1Cmh0dHA6Ly9kcmVja3N0b29sLmRlLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1hc3Rlcm1pbmQ6IFdvcmxkIENvbnF1ZXJvciAoWmFwaG9iLCAxMy4gQXByIDIwMDksIDE5OjQzOjIyKToKfiMhIHJuPUNyb2Z0IHJ0PTEyMzkwMzAxNDAgcmc9d3d3Cn4jISB0aWQ9MTIzOTAzMDE0MApEYW5rZSwgbWFsIHdpZWRlciAyLTNoIHZlcmxvcmVuLiBGZWhsdCBudXIgZWluIEF1ZGlvIFJlZ2xlci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbHBoYSBDZW50YXVyaSAoVmFuaW9uLCAxOC4gQXByIDIwMDksIDE4OjUzOjI4KToKfiMhIHJuPU5pY29sYWkgcnQ9MTIzOTU3OTc0MSByZz13d3cKfiMhIHRpZD0xMjM5NTY2NTQ1CkhhdCBkYXMgaXJnZW5kd2FzIG1pdCBtZWluZW0gQXJ0aWtlbCB6dSB0dW4/CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2VtQ3JhZnQgKENyb2Z0LCAyMy4gQXByIDIwMDksIDE2OjU4OjEwKToKTWFsIHdpZWRlciBlaW4gVG93ZXIgRGVmZW5zZSBGbGFzaCBTcGllbGNoZW4sIHJlY2h0IG5ldHQ6Cmh0dHA6Ly9hcm1vcmdhbWVzLmNvbS9wbGF5LzM1MjcvZ2VtY3JhZnQtY2hhcHRlci0wCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2FncmFyaW8ncyByb29tIChLZXNzYSwgIDIuIE1haSAyMDA5LCAxMTowOTo1Nyk6CkVpbiB3aXJrbGljaCBzZWhyIHNjaG9lbmVzIEVzY2FwZS10aGUtUm9vbS1GbGFzaGdhbWUgKHNvd29obCB2b24gZGVyIEdyYXBoaWsKYWxzIGF1Y2ggdm9tIFB1enpsZWRlc2lnbiBoZXIpOgoKaHR0cDovL3d3dy5jYWZlY2FmZWdhbWVzLmNvbS9nYW1lcy8xMzU1L3NhZ3Jhcmlvcy1yb29tLmh0bWwKClZpZWwgU3Bhc3MgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpWaXNpb24gKEtlc3NhLCAgMi4gTWFpIDIwMDksIDEzOjIwOjIwKToKVW5kIGdsZWljaCBub2NoIGVpbnM6IAoKaHR0cDovL25ldXRyYWx4ZS5uZXQvZXNjL3Zpc2lvbl9wbGF5Lmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2FncmFyaW8ncyByb29tIChKaW1kaWdyaXosICAyLiBNYWkgMjAwOSwgMTY6Mzg6MzEpOgp+IyEgcm49S2Vzc2EgcnQ9MTI0MTI1NTM5NyByZz13d3cKfiMhIHRpZD0xMjQxMjU1Mzk3CkhtbW0sIHNpZWh0IG5ldHQgYXVzLCBhYmVyIHdpZSBiZW51dHp0IG1hbiBkaWUgaXRlbXMKaW0gaW52ZW50b3J5PyBIYWIgZWluaWdlcyBnZWZ1bmRlbiwgYXVjaCBuZW4gU2NobHVlc3NlbCBmdWVyCmVpbiBTY2hsb3NzLCBhYmVyIGljaCBrcmllZyBuZWQgcmF1cyB3aWUgbWFuIGRhcyBaZXVnIHZlcndlbmRldApkYXNzIG1hbiBmaW5kZXQuCkpkRwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYWdyYXJpbydzIHJvb20gKEtlc3NhLCAgMi4gTWFpIDIwMDksIDE5OjU4OjIwKToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjQxMjc1MTExIHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKRHUga2xpY2tzdCBlaW5lbiBHZWdlbnN0YW5kIGltIEludmVudGFyIGFuIChuaWNodCBhdWYgZGFzIGksIGRhcyBicmluZ3QgZGljaApudXIgaW4gZGllIEdyb3NzYW5zaWNodCwgc29uZGVybiB3b2FuZGVycyBhdWYgZGFzIEljb24ga2xpY2tlbiksIGRhbm4gImhhZnRldCIKZXIgYW4gZGVyIE1hdXMgdW5kIGR1IGJlbnV0enQgaWhuLCB3ZW5uIGVzIG1vZWdsaWNoIGlzdC4KClVtIGlobiBsb3N6dWxhc3Nlbiwgbm9jaG1hbCBkcmF1ZmtsaWNrZW4uCgpNYW4ga2FubiBhdWNoIEdlZ2Vuc3RhZW5kZSBtaXRlaW5hbmRlciB2ZXJ3ZW5kZW4sIGRhenUgb2VmZm5ldCBtYW4gZGllCkdyb3NzYW5zaWNodCBkZXMgZWluZW4gKG1pdCBkZW0gaSkgdW5kIGhvbHQgc2ljaCBkYW5uIGRlbiBhbmRlcmVuIHp1bSBCZW51dHplbgpkYXp1LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2FncmFyaW8ncyByb29tIChLZXNzYSwgIDIuIE1haSAyMDA5LCAxOTo1OToxNik6Cn4jISBybj1LZXNzYSBydD0xMjQxMjg3MTAwIHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKVmllbGxlaWNodCBub2NoIGRlciBEZXV0bGljaGtlaXQgaGFsYmVyOiBEdSBiZW51dHp0IGRlbiBHZWdlbnN0YW5kLCBkZXIgYW0KTWF1c3plaWdlciBoYWVuZ3QsIG5pY2h0IGF1dG9tYXRpc2NoLCBzb25kZXJuIG11c3N0IGRhbWl0IGRhbm4gbm9jaCBhdWYgZGllCnJpY2h0aWdlIFN0ZWxsZSBrbGlja2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogU2FncmFyaW8ncyByb29tIChKaW1kaWdyaXosICAzLiBNYWkgMjAwOSwgMTA6NTE6MDEpOgp+IyEgcm49S2Vzc2EgcnQ9MTI0MTI4NzE1NiByZz13d3cKfiMhIHRpZD0xMjQxMjU1Mzk3CkphIHdpZSBrYW5uIGljaCBkZW5uIHVlYmVyaGF1cHQgbWVpbiBJbnZlbnRhciBhbnplaWdlbj8KV2VubiBpY2ggZXR3YXMgZmluZGUgdW5kIGRyYXVma2xpY2tlICh6QiBkZW4gc2NobHVlc3NlbCBoaW50ZXIKZGVtIEtvZmZlciksIGRhbm4gaXN0IGRlciBTY2hsdWVzc2VsIGhhbHQgd2VnLgpHaWJ0cyBpcmdlbmVpbmUgVGFzdGVua29tYmluYXRpb24gdW0gc2ljaCBkYXMgSW52ZW50YXIgYW56ZWlnZW4genUgbGFzc2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2FncmFyaW8ncyByb29tIChLZXNzYSwgIDMuIE1haSAyMDA5LCAxMDo1Nzo1NCk6Cn4jISBybj1KaW1kaWdyaXogcnQ9MTI0MTM0MDY2MSByZz13d3cKfiMhIHRpZD0xMjQxMjU1Mzk3CkRhcyBJbnZlbnRhciBzb2xsdGUgaW4gZWluZXIgZHVua2VsIGhpbnRlcmxlZ3RlbiBob3Jpem9udGFsZW4gTGVpc3RlIHVudGVuIGltCkJpbGQgenUgc2VoZW4gc2Vpbi4gV2VubiBkYSBuaWNodHMgaXN0IC0gaG0sIEJyb3dzZXItRWluc3RlbGx1bmdlbj8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNhZ3JhcmlvJ3Mgcm9vbSAoSmltZGlncml6LCAgMy4gTWFpIDIwMDksIDEzOjQ1OjUwKToKfiMhIHJuPUtlc3NhIHJ0PTEyNDEzNDEwNzQgcmc9d3d3Cn4jISB0aWQ9MTI0MTI1NTM5NwpOZWluLCBkYSBpc3QgbmljaHRzLiBBbSBicm93c2VyIGthbm4gbWFuIGRhIG5pY2h0IHZpZWwgZHJlaGVuLAp3ZWlsIGVzIGRvY2ggZWluIEZsYXNoIGdhbWUgaXN0LiBIYWIgZGVuIG5ldWVyc3RlbiBGbGFzaC1QbGF5ZXIvUGx1Z2luCmluc3RhbGxpZXJ0LgpIYXQgbGVpZGVyIG5peCBnZWJyYWNodC4gSG1wZi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFNhZ3JhcmlvJ3Mgcm9vbSAoSHVyYXhwcmF4LCAgMy4gTWFpIDIwMDksIDE4OjMzOjI3KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjQxMzUxMTUwIHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKSWNoIGhhdHRlIGRlbiBzZWxiZW4gRmVobGVyLCBhYmVyIG51ciBpbSAiVm9sbGJpbGQiLU1vZHVzLCBpbm5lcmhhbGIgZGVyCldlYnNlaXRlIGdpbmcgZGFzIEludmVudGFyIG5vcm1hbC4KCmh1cmF4CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBTYWdyYXJpbydzIHJvb20gKEtlc3NhLCAgMy4gTWFpIDIwMDksIDE4OjQ0OjQwKToKfiMhIHJuPUh1cmF4cHJheCBydD0xMjQxMzY4NDA3IHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKSmEsIGlzdCBiZWkgbWlyIGdlbmF1c28uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBTYWdyYXJpbydzIHJvb20gKEppbWRpZ3JpeiwgIDMuIE1haSAyMDA5LCAxOTo1MzoxNik6Cn4jISBybj1LZXNzYSBydD0xMjQxMzY5MDgwIHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKYWggb2ssIGljaCBoYWIgbnVyIHZvbGxiaWxkIG1vZHVzIHZlcnN1Y2h0LCBtYWwgdGVzdGVuLgpNZXJjaSEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEwOiBTYWdyYXJpbydzIHJvb20gKEtlc3NhLCAgNC4gTWFpIDIwMDksIDEwOjE0OjA4KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjQxMzczMTk2IHJnPXd3dwp+IyEgdGlkPTEyNDEyNTUzOTcKSWNoIGhhYmUgZWluZW4gSGludC10aHJvdWdoIGZ1ZXIgbWVpbiBTb2VobmNoZW4gZ2VzY2hyaWViZW4gLSBub2NoIG5pY2h0IGdhbnoKZmVydGlnLCBhYmVyIHZpZWxsZWljaHQgaGlsZnQgZXIgc2Nob246CgpodHRwOi8vaWxsdW1pbmlvbi5kZS9zYWdyYXJpby5odG1sCgpKZXR6dCBhYmVyIGVyc3RtYWwgd2FzIGFyYmVpdGVuIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaWVzZXIgc3BvdCBpc3QgaW4gREUgdmVyYm90ZW4/ISAoUnVtYXRhLCAgNC4gTWFpIDIwMDksIDExOjAxOjAxKToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU0wa213clhwclFNCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZGllc2VyIHNwb3QgaXN0IGluIERFIHZlcmJvdGVuPyEgKENyb2Z0LCAgNC4gTWFpIDIwMDksIDEyOjQ5OjQ2KToKfiMhIHJuPVJ1bWF0YSBydD0xMjQxNDI3NjYxIHJnPXd3dwp+IyEgdGlkPTEyNDE0Mjc2NjEKVmVyZ2xlaWNoZW5kZSBXZXJidW5nIG9kZXIgc28uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkaWVzZXIgc3BvdCBpc3QgaW4gREUgdmVyYm90ZW4/ISAoR2xvaW5zb24sICA0LiBNYWkgMjAwOSwgMTM6MDA6MTIpOgp+IyEgcm49Q3JvZnQgcnQ9MTI0MTQzNDE4NiByZz13d3cKfiMhIHRpZD0xMjQxNDI3NjYxCklzdCBkaWUgbmljaHQgaW56d2lzY2hlbiBsYWVuZ3N0IGVybGF1YnQ/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKT25saW5lLVBldGl0aW9uIGdlZ2VuICJXZWJzcGVycmVuIiAoQW1hcnlsbGlzLCAgNC4gTWFpIDIwMDksIDEzOjM1OjIwKToKaHR0cHM6Ly9lcGV0aXRpb25lbi5idW5kZXN0YWcuZGUvaW5kZXgucGhwP2FjdGlvbj1wZXRpdGlvbjtzYT1kZXRhaWxzO3BldGl0aW9uCj0zODYwCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgbWFjaHQgbWFuIE1ldGFsPyAoR3dlbiwgIDQuIE1haSAyMDA5LCAyMzoxMDo0OSk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1tMU9MaE9ZRl83WSZOUj0xCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkaWVzZXIgc3BvdCBpc3QgaW4gREUgdmVyYm90ZW4/ISAoU2VsZXZlbiwgIDUuIE1haSAyMDA5LCAyMTowNzo1NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQxNDM0ODEyIHJnPXd3dwp+IyEgdGlkPTEyNDE0Mjc2NjEKU293ZWl0IGljaCB3ZWlzcyBlaW4gZGV1dHNjaC1idWVyb2tyYXRpc2NoZXMgSmVpbi4gOi0pCkR1IGRhcmZzdCB2ZXJnbGVpY2hlbiwgZGVuIGFuZGVyZW4gYWJlciBuaWNodCBzY2hsZWNodCBtYWNoZW4uClVuZCBkYSBzb3dhcyBoYWx0IEF1c2xlZ3VuZ3NzYWNoZSBpc3QgdW5kIGVoZSBtYW4gc2ljaCBtaXQgU3ByaW5nZXJzIEFud2FlbHRlbgphbmxlZ3QsIHplbnNpZXJ0IG1hbiBzaWNoIHNlbGJzdCAuLi4KClNlbGV2ZW4gdWViZXJsZWd0IHNjaHJpZnRsaWNoIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogZGllc2VyIHNwb3QgaXN0IGluIERFIHZlcmJvdGVuPyEgKFJ1bWF0YSwgIDYuIE1haSAyMDA5LCAwOToyMTowMik6Cn4jISBybj1TZWxldmVuIHJ0PTEyNDE1NTA0NzUgcmc9d3d3Cn4jISB0aWQ9MTI0MTQyNzY2MQpOYWphLCBkaWUgdGF6IGlzdCBhdWYgbWVpbmVyIExpc3RlIGRlcmVyLCBkaWUgc2NobmVsbCBrbGVpbiBiZWlnZWJlbiwgemllbWxpY2gKd2VpdGVuIHVudGVuLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkEgQnJpZWYsIEluY29tcGxldGUsIGFuZCBNb3N0bHkgV3JvbmcgSGlzdG9yeSBvZiBQcm9ncmFtbWluZyBMYW5ndWFnZXMgIChHbG9pbnNvbiwgMTAuIE1haSAyMDA5LCAxODo1NDo1MCk6Cmh0dHA6Ly9qYW1lcy1pcnkuYmxvZ3Nwb3QuY29tLzIwMDkvMDUvYnJpZWYtaW5jb21wbGV0ZS1hbmQtbW9zdGx5LXdyb25nLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlIEljZXdhcnMgUnVuZGUhIChCYW1idWxrbywgMTEuIE1haSAyMDA5LCAxMToyMjo0MCk6CkhhbGxvLCBlaW5lIG5ldWUgUnVuZGUgSWNld2FycyBoYXQgYW0gU2Ftc3RhZyBhbmdlZmFuZ2VuLiBGYWxscyBub2NoIGplbWFuZAptaXRzcGllbGVuIG1vZWNodGUsIGthbm4gZXIgc2ljaCBiZWkgbWlyIG1lbGRlbi4gCgp3d3cuaWNld2Fycy5kZQoKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlIEljZXdhcnMgUnVuZGUhIChHbG9pbnNvbiwgMTEuIE1haSAyMDA5LCAxMjoxMzowNCk6Cn4jISBybj1CYW1idWxrbyBydD0xMjQyMDMzNzYwIHJnPXd3dwp+IyEgdGlkPTEyNDIwMzM3NjAKRXh0cmFkaWNrIHVuZCBleHRyZWFsYW5nIHVuZCBnYW56IGFuZGVycy4gU2NoYWRlLCBrZWluZSBaZWl0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgSWNld2FycyBSdW5kZSEgKFJhbmdvcm4sIDExLiBNYWkgMjAwOSwgMTU6Mjk6NDIpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTI0MjAzMzc2MCByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwCkVwcGkgdW5kIFJhbmdvcm4gc2luZCBhdWNoIHdpZWRlciBkYWJlaS4gV2llbGFuZ2UgLi4uIG1hbCBzZWhuLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBOZXVlIEljZXdhcnMgUnVuZGUhIChHbG9pbnNvbiwgMTEuIE1haSAyMDA5LCAxNTozNjo0NCk6Cn4jISBybj1SYW5nb3JuIHJ0PTEyNDIwNDg1ODIgcmc9d3d3Cn4jISB0aWQ9MTI0MjAzMzc2MApBaCwgZW5kbGljaCBOZXR6IHp1IEhhdXNlPyA7KQoKRWluIHdlaXRlcmVyIEdydW5kLCB3ZWlzbyBpY2ggZGEgbmljaHQgbWl0c3BpZWxlbiBrYW5uLiBLZWluIE5FdHogdW5kIGdhbnoKZnJvaCBkYW1pdC4gRnVlciBkZW4gTW9tZW50LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWUgSWNld2FycyBSdW5kZSEgKFZhbmlvbiwgMTIuIE1haSAyMDA5LCAyMDoyMjo0Nyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQyMDQ5MDA0IHJnPXd3dwp+IyEgdGlkPTEyNDIwMzM3NjAKV2VyIG5vY2ggbmljaCBzbyBnZW5hdSB3ZWlzcywgd2VuL3dhcyBlciB6dXIgRXVyb3Bhd2FobCB3YWVobHQ6CiBodHRwOi8vd3d3LndhaGwtby1tYXQuZGUvZXVyb3BhLwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE5ldWUgSWNld2FycyBSdW5kZSEgKFZhbmlvbiwgMTIuIE1haSAyMDA5LCAyMDoyMzoxMyk6Cn4jISBybj1WYW5pb24gcnQ9MTI0MjE1MjU2NyByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwCkduYSAuLi4gbmFqYSAuLiBrb21pc2NoZSBUaGVtZW52ZXJrbnVlcGZ1bmcgLi4uIGthbm5zIHdvaGwgbmljaC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBOZXVlIEljZXdhcnMgUnVuZGUhIChHbG9pbnNvbiwgMTIuIE1haSAyMDA5LCAyMDozODoxNik6Cn4jISBybj1WYW5pb24gcnQ9MTI0MjE1MjU5MyByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwClBhc3N0IGRvY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogTmV1ZSBJY2V3YXJzIFJ1bmRlISAoSGlnaGxhbmRlciwgMTMuIE1haSAyMDA5LCAwODo1NzozMCk6Cn4jISBybj1WYW5pb24gcnQ9MTI0MjE1MjU2NyByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwCkljaCBiaW4gbWlyIHp3YXIgbm9jaCBuaWNodCBnYW56IHNpY2hlciwgd3VyZGUgYWJlciBpbiBtZWluZXIgVGVuZGVuegphdWYgamVkZW4gRmFsbCBiZXN0YWV0aWd0LiBVbmQgamEsIG1pciBpc3Qga2xhciwgZGFzcyBQYXJ0ZWlwcm9ncmFtbS0KcGFwaWVyIG1laHIgYWxzIGdlZHVsZGlnIGlzdC4KCkhyVAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmVuc3Vyc3VsYS1TaGlydCAoR2xvaW5zb24sIDEzLiBNYWkgMjAwOSwgMTM6NTA6MDYpOgpNb2luLAp3b2xsdGUgaWNoIG5ldWxpY2ggc2Nob24gbWFsIHNjaHJlaWJlbjogM2RzdXBwbHkgdmVya2F1ZnQgWmVuc3Vyc3VsYS1TaGlydHMKZnVlciBWZXJzYW5ka29zdGVuLiBHcm9zc2Jlc3RlbGx1bmdlbiBsb2huZW4gc2ljaCBhbHNvLgoKaHR0cDovL3d3dy4zZHN1cHBseS5kZS9zaG9wL2RldGFpbC5waHA/UElEPTAwMDA0ODU3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFplbnN1cnN1bGEtU2hpcnQgKEdsb2luc29uLCAxMy4gTWFpIDIwMDksIDEzOjU0OjQxKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDIyMTU0MDYgcmc9d3d3Cn4jISB0aWQ9MTI0MjIxNTQwNgpQYXJkb2luZywgZGFzIG1pdCBkZXIgR3Jvc3NiZXN0ZWxsdW5nIHdhciB3b2hsIGVpbm1hbC4gSW5zb2Zlcm46IGVzIGZhbGxlbgpWZXJzYW5ka29zdGVuIGFuIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZSBJY2V3YXJzIFJ1bmRlISAoQm9pbmcsIDEzLiBNYWkgMjAwOSwgMjM6NTE6MTApOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMjQyMTk3ODUwIHJnPXd3dwp+IyEgdGlkPTEyNDIwMzM3NjAKQmVpIG1pciBsaWVnZW4gbGF1dCB3YWhsLW8tbWF0IEZEUCwgQ0RVLCBTUEQsIERpZSBMaW5rZSB1bmQgQ1NVIG5haGV6dQpnbGVpY2hhdWYuIERhcyBmaW5kZSBpY2ggc2VociB2ZXJkYWVjaHRpZy4KICBCb2luZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogTmV1ZSBJY2V3YXJzIFJ1bmRlISAoQmFtYnVsa28sIDE0LiBNYWkgMjAwOSwgMDk6MTg6MTQpOgp+IyEgcm49Qm9pbmcgcnQ9MTI0MjI1MTQ3MCByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwCkRpZSBQaXJhdHJlbiBzaW5kIGJlaSBtaXIgcmVjaHQgd2VpdCBvYmVuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTmV1ZSBJY2V3YXJzIFJ1bmRlISAoR2xvaW5zb24sIDE0LiBNYWkgMjAwOSwgMTI6MzM6NDEpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTI0MjI4NTQ5NCByZz13d3cKfiMhIHRpZD0xMjQyMDMzNzYwCiJXZWl0IiBmaW5kZSBpY2ggdWViZXJ0cmllYmVuLiBEZXIgUGFydGVpZWluaGVpdHNicmVpIGxpZWd0IGRvY2ggcmVjaHQgbmFoCmJlaWVpbmFuZGVyLiBJY2ggZXJ3YXJ0ZSBqYSBhdXpjaCBuaWNodCB2aWVsIG1laHIsIHZvciBkZXIgV2FobCB2ZXJzcHJpY2h0CmZhc3QgamVkZXIgd2llZGVyIGFsbGVzLgoKRlVFUiBERU4gSEFTRU4hCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXJyciAuLi4gKEdsb2luc29uLCAxNC4gTWFpIDIwMDksIDEyOjM3OjMzKToKaHR0cDovL3BpY3MubmFzZS1ib2hyZW4uZGUvc2hhdmVfYmFieS5qcGcKCkljaCBuZWhtIGFsbGVzIHp1cnVlY2suIEdvdHQgZXhpc3RpZXJ0LiBBdWYgbmF0dWVybGljaGVtIFdlZ2Uga29tbXQgbWFuIG5pY2h0CmF1ZiBzb2xjaGUgSWRlZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogTmV1ZSBJY2V3YXJzIFJ1bmRlISAoWm9vaywgMTQuIE1haSAyMDA5LCAxNToxNjoxNSk6Cn4jISBybj1IaWdobGFuZGVyIHJ0PTEyNDIxOTc4NTAgcmc9d3d3Cn4jISB0aWQ9MTI0MjAzMzc2MApJbiBkZXIgVGF0IQoKRXJpbm5lcmUgbWljaCBub2NoIG1pdCBTY2hhdWRlcm4gYW4gIkRlciBUZWNobm9sb2dpZXRyYW5zZmVyIG11c3MKbWl0IG1vZGVybmVyIENsdXN0ZXJwb2xpdGlrIGdlbWFuYWd0IHdlcmRlbi4iIHp1ciBCdW5kZXN0YWdzd2FobAoyMDA1LgoKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE5ldWUgSWNld2FycyBSdW5kZSEgKEppbWRpZ3JpeiwgMTQuIE1haSAyMDA5LCAxNTozNTo0MSk6Cn4jISBybj1ab29rIHJ0PTEyNDIzMDY5NzUgcmc9d3d3Cn4jISB0aWQ9MTI0MjAzMzc2MApKYSwgaW4gZGVyIFRhdC4gSW56d2lzY2hlbiBlaW4gS2xhc3Npa2VyLiA6LSkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPbWEtdmVyc3RhZW5kbGljaGUgRXJrbGFlcnVuZyB2b24gUmVnZWxuIChHbG9pbnNvbiwgMjAuIE1haSAyMDA5LCAxNDoyMzo1OSk6Cmh0dHA6Ly93d3cuZHViaXN0dGVycm9yaXN0LmRlLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZsYXNoZ2FtZSAoVmVjdG9yLCAyNC4gTWFpIDIwMDksIDE1OjI1OjAxKToKaHR0cDovL3d3dy5wbGF5YXVkaXRvcml1bS5jb20vCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgd2lyIGxhdXQgdmFuIGRlciBMZXllbiBnZWdlbiBLaXBvcyBtYWNoZW4gc29sbGVuOiAoUnVtYXRhLCAyNS4gTWFpIDIwMDksIDE5OjQ0OjQxKToKaHR0cDovL3d3dy5rbGF3aXR0ZXIuZGUva2lwby1hZmZlbi5qcGcKClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGbGFzaCBHYW1lOiBJc2xhbmRzIGluIHRoZSBTdHJlYW0gKEtlc3NhLCAyOS4gTWFpIDIwMDksIDExOjA4OjU0KToKaHR0cDovL3d3dy5kb29kb28ucnUvZmxhc2hnYW1lcy9vc3Ryb3YuaHRtCgpFaW4gZXR3YXMgdW1mYW5ncmVpY2hlcmVzIEVzY2FwZS1UaGUtUm9vbS1HYW1lIG1pdCBuaWNodCBzbyBwZXJmZWt0ZXIgR3JhcGhpaywKYWJlciBzY2hvZW5lbiBSYWV0c2VsbiB1bmQgdm9yIGFsbGVtIHNlaHIgdmllbCBGbGFpci4KClp1IEJlZ2lubiBrYW5uIG1hbiBkYXMgU3BpZWwgb2JlbiByZWNodHMgYXVmIEVuZ2xpc2NoIHNjaGFsdGVuLgpWaWVsIFNwYXNzISAtIEtlc3NhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIYWx0aW5nIHByb2JsZW0gdG8gYmUgc29sdmVkIHNvb24gKEdsb2luc29uLCAyOS4gTWFpIDIwMDksIDE1OjQ5OjE2KToKaHR0cDovL3d3dy5nZXRhY29kZXIuY29tL3Byb2plY3RzL2RldGVjdF9sb29wXzEwNjI0My5odG1sCgood2lyZCB3YWhyc2NoZWlubGljaCBiYWxkIHdpZWRlciBnZWxvZXNjaHQgd2VyZGVuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIYWx0aW5nIHByb2JsZW0gdG8gYmUgc29sdmVkIHNvb24gKEFyaywgMjkuIE1haSAyMDA5LCAxNjowMzowOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQzNjA0OTU2IHJnPXd3dwp+IyEgdGlkPTEyNDM2MDQ5NTYKU2NoYWRlLCBkaWUgS29tbWVudGFyZSBzaW5kIGx1c3RpZyA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGFsdGluZyBwcm9ibGVtIHRvIGJlIHNvbHZlZCBzb29uIChaZXNzdHJhLCAyOS4gTWFpIDIwMDksIDE2OjAzOjExKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDM2MDQ5NTYgcmc9d3d3Cn4jISB0aWQ9MTI0MzYwNDk1NgpEaWUgS29tbWVudGFyZSBzaW5kIHRvbGwuIFVuZCBpY2ggZnVlcmNodGUsIGRpZSBzaW5kIG5pY2h0IGlyb25pc2NoIGdlbWVpbnQuCjstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV29oZXIgLi4uIChHbG9pbnNvbiwgIDUuIEp1biAyMDA5LCAxMToyMzozNik6Ci4uLiBBdXRvcmVuIGlocmUgSWRlZW4gaGFiZW46CgpodHRwOi8vdGlueXVybC5jb20vcWxwcTM3CgooMTYgU2VpdGVuIENvbWljKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXb2hlciAuLi4gKFJ1bWF0YSwgIDUuIEp1biAyMDA5LCAxMjowNDo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ0MTkzODE2IHJnPXd3dwp+IyEgdGlkPTEyNDQxOTM4MTYKRnVlcnMgRmVybnNlaGVuIHdpcmQgc28gc2ljaGVyIGF1Y2ggcHJkdXppZXJ0LgpTeW1wdG9tYXRpc2NoIGZpbmRlIGljaCB2b3IgYWxsZW0gZGVuIFVtZ2FuZyBtaXQganVuZ2VuIEt1ZW5zdGxlcm4gOy0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTaG9vdCBhIHBpcmF0ZS1DcnVpc2UgKEdsb2luc29uLCAgNS4gSnVuIDIwMDksIDEyOjMyOjM4KToKaHR0cDovL3d3dy50b3RoZXBvaW50bmV3cy5jb20vY29udGVudC92aWV3LzM2MTcvODUvCgoodWViZXIgZmVmZS5ibG9nLmRlKQoKV2FhYWFyZ2g/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2F0Y2htZW4gLi4uIChHbG9pbnNvbiwgIDUuIEp1biAyMDA5LCAxMjo0MDoxNyk6Ci4uLiBnb25lIHJlYWwgYW5kIHB1YmxpYy4KCmh0dHA6Ly93d3cud29ybGRzdXBlcmhlcm9yZWdpc3RyeS5jb20vd29ybGRfc3VwZXJoZXJvX3JlZ2lzdHJ5X2dhbGxlcnkuaHRtCmh0dHA6Ly93d3cuY25uLmNvbS8yMDA5L0xJVklORy8wNi8wNC9yZWFsLmxpZmUuc3VwZXJoZXJvZXMvaW5kZXguaHRtbAoKVGphLCB3YXMgc28gZWluIHZlcmZpbG10ZXIgQ29taWMgYXVzbG9lc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2Nod2VsbGVuIChHbG9pbnNvbiwgIDYuIEp1biAyMDA5LCAxMTozNToyMyk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj14UjlDb0dSM3l2TQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTY2h3ZWxsZW4gKFJ1bWF0YSwgIDguIEp1biAyMDA5LCAxMDowNjoxNSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ0MjgwOTIzIHJnPXd3dwp+IyEgdGlkPTEyNDQyODA5MjMKSmFqYSwgZGllIGhhbSBtZWhyIEtvaGxlIGFscyBkZXNjaCBrbGVpJyBIYW5kd2Vya2VybGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaHdlbGxlbiAoQW50aGVhLCAgOC4gSnVuIDIwMDksIDEwOjEzOjEzKToKfiMhIHJuPVJ1bWF0YSBydD0xMjQ0NDQ4Mzc1IHJnPXd3dwp+IyEgdGlkPTEyNDQyODA5MjMKV2VyIGVya2VubnQgZGVuIFVudGVyc2NoaWVkPwpPcmlnaW5hbCBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dUYyZGpKY1BPMkEKRmFlbHNjaHVuZyBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WWtURERldXl0TTgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhPTUUgKEdub21lLCAgOS4gSnVuIDIwMDksIDIyOjIzOjE0KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS9ob21lcHJvamVjdERFP2dsPURFJmhsPWRlCgpzb2xsdGUgbWFuIHp1bSBwZmxpY2h0ZmlsbSBmdWVyIGFsbGUgbWFjaGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEhPTUUgKEhpZ2hsYW5kZXIsIDEwLiBKdW4gMjAwOSwgMDk6NTA6NDQpOgp+IyEgcm49R25vbWUgcnQ9MTI0NDU3ODk5NCByZz13d3cKfiMhIHRpZD0xMjQ0NTc4OTk0CkVyZ2Flbnp1bmcgLSBhdWYgeW91dHViZSBiaXMgenVtIDE0LjYuIHZlcmZ1ZWdiYXIuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClByYWVzZW50YXRpb25lbiAoR2xvaW5zb24sIDE3LiBKdW4gMjAwOSwgMTQ6NTY6MzkpOgpFaW5lIGhlcm92cnJhZ2VuZGUgUHJhZXNlbnRhdGlvbi4gR3V0IGF1c2dlYXJiZWl0ZXRlIFB1bmt0ZSwga2xhcmUgRm9saWVuIHVuZAp1ZWJlcnpldWdlbmRlciBJbmhhbHQuCgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eUxfLTFkOU9TZGsKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUHJhZXNlbnRhdGlvbmVuIChCYW1idWxrbywgMTcuIEp1biAyMDA5LCAxNTowODo0NSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ1MjQzMzk5IHJnPXd3dwp+IyEgdGlkPTEyNDUyNDMzOTkKR2lidCBlcyBkYXp1IGF1Y2ggaXJnZW5kd2VsY2hlIEluZm9zLCBkaWUgZXJrbGFlcmVuIHdhcyBkYXJhbiBMdXN0aWcgc2Vpbgpzb2xsPyBJY2ggd3VlcmRlIG1pdCBUb21hdGVuIHNjaG1laXNzZW4sIHdlbm4gamVtYW5kIG1laW5lIFplaXQgc28KdmVyY2h3ZW5kZXQuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFByYWVzZW50YXRpb25lbiAoQ3JvZnQsIDE3LiBKdW4gMjAwOSwgMTU6MTE6MDQpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTI0NTI0NDEyNSByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC90ZWNoLzAsMTUxOCw2MzA5MTgsMDAuaHRtbAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByYWVzZW50YXRpb25lbiAoQmFtYnVsa28sIDE3LiBKdW4gMjAwOSwgMTU6MTU6NTkpOgp+IyEgcm49Q3JvZnQgcnQ9MTI0NTI0NDI2NCByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CkljaCB2ZXJzdGVoZSBkZW4gWnVzYW1tZW5oYW5nIG5pY2h0Li4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUHJhZXNlbnRhdGlvbmVuIChaZXNzdHJhLCAxNy4gSnVuIDIwMDksIDE1OjE2OjQ1KToKfiMhIHJuPUNyb2Z0IHJ0PTEyNDUyNDQyNjQgcmc9d3d3Cn4jISB0aWQ9MTI0NTI0MzM5OQpBdXMgZGVyIGdsZWljaGVuIFNlc3Npb24gZ2lidHMgYXVjaCB3YXMgZnVlciBXaXJ0c2NoYWZ0c3dpc3NlbnNjaGFmdGxlcjoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVZWcDhVR2pFQ3Q0CgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQcmFlc2VudGF0aW9uZW4gKEJhbWJ1bGtvLCAxNy4gSnVuIDIwMDksIDE1OjIyOjI0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI0NTI0NDYwNSByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CkFoIG9rLCBlcyBnaWJ0IGRhIHdpcmtsaWNoIGVpbmUgaHVtb3Igc2Vzc2lvbj8gSmV0enQgd2lyZCBkYXMga2xhci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFByYWVzZW50YXRpb25lbiAoR2xvaW5zb24sIDE3LiBKdW4gMjAwOSwgMTU6MzE6MTgpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTI0NTI0NDk0NCByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CkR1IGhhc3Qgbm9jaCBuaWNodCBnZW51ZyBQcmFlc2VudGF0aW9uZW4gZ2VzZWhlbiwgd2VubiBkdSBkYXMgbmljaHQgd2VuaWdzdGVucwphbXVlc2FudCBmaW5kZXN0LiBCdWxsc2hpdC1CaW5nbyBzdGFuZCBmdWVyIG1pY2ggbWl0IGRlbSBlcnN0ZW4gVmlkZW8gaW4gZW5nZW0KWnVzYW1tZW5oYW5nLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByYWVzZW50YXRpb25lbiAoQmFtYnVsa28sIDE3LiBKdW4gMjAwOSwgMTU6MzE6MzQpOgp+IyEgcm49Q3JvZnQgcnQ9MTI0NTI0NDI2NCByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CldvdywgZGllc2VyIEFydGlrZWwgaXN0IGphIHNvd2FzIHZvbiBuaWNodHNzYWdlbmQgdW5kIHR5cGlzY2gKIlNwaWVnZWwtT25saW5lIi4gSWNoIGdsYXViZSBpY2ggZHJ1Y2tlIGlobiBhdXMgdW5kIFJhaG1lIGluIGVpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFByYWVzZW50YXRpb25lbiAoQmFtYnVsa28sIDE3LiBKdW4gMjAwOSwgMTU6MzM6MzMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NTI0NTQ3OCByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CkljaCBoYWJlIG5pY2h0IGdlc2VoZW4sIGRhcyBkYXMgenUgZWluZXIgJ2h1bW9yIHNlZXNpb24nIGdlaG9lcnQuIFVuZApiZXNvbmRlcnMga3JlYXRpdiBpc3QgZXMgYXVjaCBuaWNodCA1MDAgbWFsIGVpbiBXb3J0IHp1IHdpZWRlcmhvbGVuLi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogUHJhZXNlbnRhdGlvbmVuIChHbG9pbnNvbiwgMTcuIEp1biAyMDA5LCAxNTozNjowOSk6Cn4jISBybj1CYW1idWxrbyBydD0xMjQ1MjQ1NjEzIHJnPXd3dwp+IyEgdGlkPTEyNDUyNDMzOTkKV2VubiBlcyBkaXIgbmljaHQgZ2VmYWVsbHQsIGRhbm4gc3RlbGwgZG9jaCBad2lzY2hlbmZyYWdlbiA6UAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFByYWVzZW50YXRpb25lbiAoQ3JvZnQsIDE3LiBKdW4gMjAwOSwgMTU6NDE6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NTI0NTc2OSByZz13d3cKfiMhIHRpZD0xMjQ1MjQzMzk5CnJhYmJpdAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFByYWVzZW50YXRpb25lbiAoWm9vaywgMTcuIEp1biAyMDA5LCAxNjoxMjozOCk6Cn4jISBybj1Dcm9mdCBydD0xMjQ1MjQ0MjY0IHJnPXd3dwp+IyEgdGlkPTEyNDUyNDMzOTkKZGF6dSBnaWJ0cyBkb2NoIGF1Y2ggZGllc2VzIG5ldHRlIGludGVydmlldyBtaXQgc3RldmUgYmFsbWVyLCBkYXMKaWNoIG5ldWxpY2ggbWFsIHBvc3RldGUuIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFByYWVzZW50YXRpb25lbiAoR2xvaW5zb24sIDE3LiBKdW4gMjAwOSwgMTY6MjY6NTUpOgp+IyEgcm49Wm9vayBydD0xMjQ1MjQ3OTU4IHJnPXd3dwp+IyEgdGlkPTEyNDUyNDMzOTkKRHVyY2hhdXMgY2hpY2tlbmZyZWllcyBJbnRlcnZpZXcsIGphLiBMZXJuZmFlaGlnLCBkZXIgdGFuemVuZGUgTWFubi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQcmFlc2VudGF0aW9uZW4gKFJ1bWF0YSwgMTcuIEp1biAyMDA5LCAxNjozMDo0Nik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ1MjQ4ODE1IHJnPXd3dwp+IyEgdGlkPTEyNDUyNDMzOTkKLi4udm9yYWxsZW0gd2VubiBtYW4gYW4gc2VpbmVyIFd1cmZ0ZWNobmlrIGFyYmVpdGVuIHdpbGwuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdGFyIERyZWsgKEdsb2luc29uLCAyMy4gSnVuIDIwMDksIDE3OjA1OjA1KToKaHR0cDovL3d3dy50b3IuY29tL2luZGV4LnBocD9vcHRpb249Y29tX2NvbnRlbnQmdmlldz1jb21pYyZpZD0yODc2OSZwYWdlPTEKCkhpbGFyaW91cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMb3ZlIC4uLiAoR2xvaW5zb24sIDI0LiBKdW4gMjAwOSwgMTU6MDg6MTcpOgpodHRwOi8vaW1ncy54a2NkLmNvbS9jb21pY3MvZ2FtZV90aGVvcnkucG5nCgpTY2hsaW1tZXIgYWxzIEF0b21rcmllZyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkludGVybmV0LUV4cGVydGVuLi4uIDstKSAoWmVzc3RyYSwgIDIuIEp1bCAyMDA5LCAxNjo1MDo1Nik6CkFuZ2VibGljaCBlY2h0Li4uCmh0dHA6Ly91bmludGVuZGVkcHVycG9zZS53b3JkcHJlc3MuY29tLzIwMDkvMDcvMDEva2xhc3NlLXd0Zi1kYXMtc2llaHQtYXVzLXdpZQotZWluLWZha2UtaXN0LWFiZXItcmVhbC11bmQtbWVpbi1mdW5kc3R1Y2stZGVzLW1vbmF0cy1mYWlsLXNjaHVlbmVtYW5uLwpodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS9veHh6YnAKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBJbnRlcm5ldC1FeHBlcnRlbi4uLiA7LSkgKEppbWRpZ3JpeiwgIDIuIEp1bCAyMDA5LCAxODoyMTo0NCk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNDY1NDYyNTYgcmc9d3d3Cn4jISB0aWQ9MTI0NjU0NjI1NgpOYWphLCBzZWxic3Qgd2VubiBkYXMga2VpbiBGYWtlIGlzdCwgc29vbyBzY2hsaW1tCm11c3MgZGFzIGdhciBuaWNodCBzZWluLCBrYW5uIGphIGVpbiBwdWJsaWMgIkdhc3QiIGFjY291bnQgc2VpbgpkZXIgZGEgYW0gQmlsZHNjaGlybSBrbGVidC4gU293YXMgc2llaHQgbWFuIGluIGplZGVyIEJpYmxpb3RoZWsuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGUgRnJvbnQgRmVsbCBPZmYhIChaZXNzdHJhLCAgNi4gSnVsIDIwMDksIDEwOjU3OjAwKToKQWxzbywgaWNoIHdlaXNzIG5pY2h0LCBvYiBlcyB3aXJrbGljaCBlY2h0IGlzdCwgYWJlciBrb2VubnRlIHNlaW4uIEVpbgpJbnRlcnZpZXcgYXVzIGFlbHRlcmVuIFplaXRlbiB6dSBlaW5lbSBUYW5rZXJ1bmZhbGw6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj04LVFOQXdVZEhVUQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBGcm9udCBGZWxsIE9mZiEgKEd3ZW4sICA3LiBKdWwgMjAwOSwgMTU6Mzc6NTcpOgp+IyEgcm49WmVzc3RyYSBydD0xMjQ2ODcwNjIwIHJnPXd3dwp+IyEgdGlkPTEyNDY4NzA2MjAKQXVzIGRlbiBLb21tZW50YXJlbjoKTm8gaXQgaXMgbm90IHJlYWwsIGl0IGlzIGp1c3QgYSBmdW5ueSBsaXR0bGUgc2tldGNoIHdoaWNoIGlzIGRvbmUgbW9zdCBuaWdodHMKYXQgdGhlIGVuZCBvZiBhbi4gQXVzdHJhbGlhbiBBQkMgcG9saXRpY2FsIGNvcnJlc3BvbmRhbmNlIHByb2dyYW0uIFRoZQoicG9saXRpY2lhbiIgaW4gdGhlIGNsaXAgaXMgYW4gQXVzdHJhbGlhbiBjb21lZGlhbiAoYXMgaXMgdGhlIGludGVydmlld2VyKSBhbmQKdGhleSBkaWQgYSBzaG93IGNhbGxlZCAiVGhlIEdhbWVzIiBhbmQgaXQgaXMgaGlsYXJpb3VzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1NMLVp1Z2FuZyB6dW0gTXVkIChWaWNreSwgIDcuIEp1bCAyMDA5LCAxOToyMTozNik6ClRhY2ggenVzYW1tZW4uCgpFaWdlbnRsaWNoIHdvbGx0ZSBpY2ggbnVyIGViZW4gbWFsIGFubWVya2VuLCBkYXNzIFRGIGF1Y2ggb2huZSBzdHVubmVsIApTU0wvVExTLXZlcnNjaGx1ZXNzZWx0ZXMgdGVsbmV0IGthbm4uCkQuaC4sIHp1bWluZGVzdCBoaWVyIGJlaSBtaXIgOy0pLCBicmF1Y2h0IG51ciBkZW4gcGFzc2VuZGVuIFBhcmFtZXRlciAoLXgpIGltCi9hZGR3b3JsZApnZXNldHp0LiBEYXMgbGllZiBoaWVyIHNvZ2FyIHNjaG1lcnpmcmVpZXIgYWxzIGRpZSBLb25maWd1cmF0aW9uIHZvbiBzdHVubmVsLgoKS29lbm50ZSBtYW4gamEgYXVmIGRlciBlbnRzcHJlY2hlbmRlbiBTZWl0ZQooaHR0cDovL21nLm11ZC5kZS9uZXd3ZWIvZG93bmxvYWQvaW5kZXguc2h0bWwpCmphIHp1bWluZGVzdCBlcndhZWhuZW4uCgpHcnVzcywKVmlja3kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTU0wtWnVnYW5nIHp1bSBNdWQgKEdsb2luc29uLCAgNy4gSnVsIDIwMDksIDE5OjMxOjE0KToKfiMhIHJuPVZpY2t5IHJ0PTEyNDY5ODcyOTYgcmc9d3d3Cn4jISB0aWQ9MTI0Njk4NzI5NgpKYSwgdGY1IGthbm4gZGFzLgoKIC9hZGR3b3JsZCAtVGxwcCAteCBHbG9pbnNvbiBnbG9pbnNvbiA8cHc+IG1nLm11ZC5kZSA5OTIKCiUgQ29ubmVjdGVkIHRvIEdsb2luc29uIHVzaW5nIGNpcGhlciBESEUtUlNBLUFFUzI1Ni1TSEEuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTU0wtWnVnYW5nIHp1bSBNdWQgKFJ1bWF0YSwgIDcuIEp1bCAyMDA5LCAxOTo1OToyNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjQ2OTg3ODc0IHJnPXd3dwp+IyEgdGlkPTEyNDY5ODcyOTYKTmV1Z2llcmZyYWdlOiBLYW5uIG1hbiB0ZiBkYW5uIGF1Y2ggZGFzIFplcnRpZmFrdCBkZXMgTXVkcyB1ZWJlcmdlYmVuPwpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1NMLVp1Z2FuZyB6dW0gTXVkIChaZXNzdHJhLCAgNy4gSnVsIDIwMDksIDIwOjAxOjMyKToKfiMhIHJuPVJ1bWF0YSBydD0xMjQ2OTg5NTY2IHJnPXd3dwp+IyEgdGlkPTEyNDY5ODcyOTYKQlRXOiBXaXIga29lbm50ZW4gYmVpbSBuYWVjaHN0ZW4gUmVib290IG5hY2ggbWFsIHNjaGF1ZW4sIG9iIHdpciBtdWRzZWl0aWcgYXVmCmRlbiBzdHVubmVsIHZlcnppY2h0ZW4gdW5kIGRpcmVrdCBkZW4gRHJpdmVyIHZlcnNjaGx1ZXNzZWxuIGxhc3Nlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNTTC1adWdhbmcgenVtIE11ZCAoR2xvaW5zb24sICA4LiBKdWwgMjAwOSwgMDg6NDI6NTEpOgp+IyEgcm49WmVzc3RyYSBydD0xMjQ2OTg5NjkyIHJnPXd3dwp+IyEgdGlkPTEyNDY5ODcyOTYKQmlzaGVyIGhhYiBpY2ggbmljaHQgdmllbCBnZWZ1bmRlbiwgdW0gdWViZXJoYXVwdCB3ZWl0ZXJlIFBhcmFtZXRlciB6dQp1ZWJlcmdlYmVuLiBNaXIgcmVpY2h0IHpCIGZ1ZXIgbWVpbiAibm4iIGF1Y2ggZHVyY2hhdXMgQUVTMTI4IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU1NMLVp1Z2FuZyB6dW0gTXVkIChSdW1hdGEsICA4LiBKdWwgMjAwOSwgMDk6NDk6MjUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NzAzNTM3MSByZz13d3cKfiMhIHRpZD0xMjQ2OTg3Mjk2CkRlaW4gbm4gaXN0IGF1Y2ggbmljaHQgZGVyIEdydW5kLCB3aWVzbyB3aXIgZWluZW4gU1NMIFp1Z2FuZyBoYWJlbi4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFNTTC1adWdhbmcgenVtIE11ZCAoR2xvaW5zb24sICA4LiBKdWwgMjAwOSwgMTA6NTA6MzcpOgp+IyEgcm49UnVtYXRhIHJ0PTEyNDcwMzkzNjUgcmc9d3d3Cn4jISB0aWQ9MTI0Njk4NzI5NgpOZWluLCBhYmVyIG1pdCBkZW0gU1NMIG11c3N0ZSBpY2ggbWVpbiBQYXNzd29ydCBuaWNodCBtZWhyIGR1cmNoIGRhcyBvZmZlbmUKV0xBTiBpbiBkZXIgVW5pIHNjaHJlaWVuIChtaXR0bGVyd2VpbGUgaXN0IGRhIE9wZW5WUE4gZHJ1bnRlcikuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogU1NMLVp1Z2FuZyB6dW0gTXVkIChSdW1hdGEsICA4LiBKdWwgMjAwOSwgMTE6MTk6MTUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0NzA0MzAzNyByZz13d3cKfiMhIHRpZD0xMjQ2OTg3Mjk2CkRlaW4gUGFzc3dvcnQgaXN0ICJubiIgPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogU1NMLVp1Z2FuZyB6dW0gTXVkIChHbG9pbnNvbiwgIDguIEp1bCAyMDA5LCAxMToyNjo1OCk6Cn4jISBybj1SdW1hdGEgcnQ9MTI0NzA0NDc1NSByZz13d3cKfiMhIHRpZD0xMjQ2OTg3Mjk2CkJlc3RpbW10IDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmF5ZXJuIHVuZCBSYW1tc3RlaW4gOykgKEd3ZW4sIDE1LiBKdWwgMjAwOSwgMjI6NTg6MTkpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dFVFeVl1WmtqVkkKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU5xMGh2Y2xqNExBCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmF5ZXJuIHVuZCBSYW1tc3RlaW4gOykgKFplc3N0cmEsIDE2LiBKdWwgMjAwOSwgMDA6MTg6MDEpOgp+IyEgcm49R3dlbiBydD0xMjQ3NjkxNDk5IHJnPXd3dwp+IyEgdGlkPTEyNDc2OTE0OTkKTHVzdGlnZSBLb21iby4uLiBBYmVyIHdhcyBhdWNoIGx1c3RpZyBpc3QsIHdvIG1hbiBsYW5kZXQsIHdlbm4gbWFuIFlvdXR1YmVzCmFlaG5saWNoZSBWaWRlb3MgdmVyZm9sZ3QuLi4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU8ybzZ4dDNaMDNrCkd1bm5lcnkgU2d0LiBIYXJ0bWFubiB2cy4gT2JlcmZlbGR3ZWJlbCBIb2ZtYW5uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJheWVybiB1bmQgUmFtbXN0ZWluIDspIChSdW1hdGEsIDE2LiBKdWwgMjAwOSwgMTE6MDQ6MjgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjQ3Njk2MjgxIHJnPXd3dwp+IyEgdGlkPTEyNDc2OTE0OTkKQWxsZXMgZXR3YXMgdmVyc3RvZXJlbmQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJheWVybiB1bmQgUmFtbXN0ZWluIDspIChHd2VuLCAxNy4gSnVsIDIwMDksIDIzOjU2OjIzKToKfiMhIHJuPVJ1bWF0YSBydD0xMjQ3NzM1MDY4IHJnPXd3dwp+IyEgdGlkPTEyNDc2OTE0OTkKRGFubiBzY2hhdSBtYWwgZGVuIHJlbGF0ZWQgbGluazoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXZBYWFBVkpyOXpnJk5SPTEKV2FyIG1pdCBSb2JvdGVyIGRlciBTdGVybmUgdmVyYmFuZGVsdCA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGV1dHNjaCBpc3QgZWluZSBzY2hvZW5lIFNwcmFjaGU6IChUZXJyeSwgMjMuIEp1bCAyMDA5LCAyMTozMTowNCk6CmF1Y2ggYXVmIGRpZSBnZWZhaHIsIGRhc3MgaWhyIGVzIHNjaG9uIGtlbm50OgpodHRwOi8vd3d3LnN1ZWRkZXV0c2NoZS5kZS9rdWx0dXIvNzQ3LzQ4MTIyMC9iaWxkZXIvCgp0ZXJyeS4gc3ByYWNoZW5tZW5cYlxiXGJob2JiaXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCjo+IChWZWN0b3IsIDI2LiBKdWwgMjAwOSwgMTc6NTc6MzEpOgoKaHR0cDovL3d3dy5rb25ncmVnYXRlLmNvbS9nYW1lcy9KaWdnbWluL3BsYXRmb3JtLXJhY2luZy0yCgpqdW1wJ24ncnVuIGdhbWUgaW0gbWFyaW8tc3R5bGUuCitiaXMgenUgdmllciBwZXJzb25lbiBvbmxpbmUgcHJvIHJlbm5lbiBnZWdlbmVpbmFuZGVyCittaXQgImZlaW5lbiIgaXRlbXMgYSBsYSBsYXNlci9ibGl0ei90ZWxlcG9ydC90dXJib3NwZWVkCitkZW4gZWlnZW5lbiBjaGFyIGJlc3NlciBiencgZGllIGFuZGVyZW4gc2NobGVjaHRlciBhdXNzZWhlbiBsYXNzZW4KCitqZWRlcyBnZW1hY2h0ZSByZW5uZW4gZ2lidCBwdW5rdGUsIG1pdCBkZW4gcHVua3RlbiBnZWh0IGRpZSBjaGFybHZsCitkYXVlcmhhZnQgaG9jaCwgbmV1ZSBhdHRyaWJ1dHB1bmt0ZSBtaXQgZGVuZW4gbWFuIHNjaG5lbGxlciByZW5udCwKK2hvZWhlciBodWVwZnQgZXRjCgotc3VjaHRwb3RlbnRpYWwgCjopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogOj4gKEFyaywgMjYuIEp1bCAyMDA5LCAyMzo1Mzo0MCk6Cn4jISBybj1WZWN0b3IgcnQ9MTI0ODYyMzg1MSByZz13d3cKfiMhIHRpZD0xMjQ4NjIzODUxCkF1d2VoIC4uLiBhbHNvIGVpbiBXb1cgZnVlciBSZW5uZmFocmVyIGlyZ2VuZHdpZS4gQmFsZCBzaW5kIHdpciB3aXJrbGljaApzb3dlaXQsIHZvbiBkZW4gTWFzY2hpbmVuIHVlYmVybm9tbWVuIHp1IHdlcmRlbiBYLSkKU2FndGUgaWNoIGJhbGQ/CgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTU0wtWnVnYW5nIHp1bSBNdWQgKFpvb2ssIDI3LiBKdWwgMjAwOSwgMDk6Mzg6NTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI0Njk4Nzg3NCByZz13d3cKfiMhIHRpZD0xMjQ2OTg3Mjk2CkJlaSBtaXIgZ2VodCA8cHc+IG5pY2h0LCB3ZW5uIGljaCBHbG9pbnNvbiBlaW5sb2dnZW4gd2lsbC4KWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU1NMLVp1Z2FuZyB6dW0gTXVkIChHbG9pbnNvbiwgMjcuIEp1bCAyMDA5LCAxNjo0NDoxMik6Cn4jISBybj1ab29rIHJ0PTEyNDg2ODAzMzkgcmc9d3d3Cn4jISB0aWQ9MTI0Njk4NzI5NgondHNjaHVsZGlndW5nLCBpY2ggaGFiIGRhcyBuYXR1ZXJsaWNoIHdpZWRlciBhdWYgPGRlZmF1bHQ+IGdlYWVuZGVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2hva29sYWRlIChNYWhhcmV0LCAyNy4gSnVsIDIwMDksIDIzOjE2OjA3KToKSWNoIGhhdHRlIHp1bSBHZWJ1cnRzdGFnIGVpbmVuIEd1dHNjaGVpbiBmdWVyIHd3dy5jaG9jcmkuZGUgYmVrb21tZW4uIEhldXRlCmthbSBlbmRsaWNoIGRpZSBTY2hva29sYWRlIChlaWdlbnRsaWNoIHNjaG9uIHZvciBlaW5pZ2VuIFRhZ2VuLCBhYmVyIHdpciB3YXJlbgpqYSBpbiBXZXR6bGFyLiBadW0gR2x1ZWNrIHd1c3N0ZW4gZGllIE5hY2hiYXJuIG5pY2h0LCB3YXMgZGEgaW4gZGVtIEthcnRvbgpkcmluIHdhciA7KQpTZWhyIGxlY2tlcmUgU2Nob2tvbGFkZSwgenVtaW5kZXN0IGRpZSBWb2xsbWlsY2hiYXNpcywgZGllIHdpciBnZXJhZGUgcHJvYmllcnQKaGFiZW4sICBpbiBlaW5lciBNaXNjaHVuZyBtaXQgSW5nd2VyLCBDcmFuYmVycmllcywgTGFrcml0emRyb3BzLCBrYW5kaWVydGVuClJvc2VuYmx1ZXRlbiB1bmQgUGlzdGF6aWVuLgpXaXIgaGFiZW4gYXVjaCBub2NoIGVpbiBwYWFyIGFuZGVyZSBUYWZlbG4gaW0gU2NocmFuay4uLgpBbHNvIHdlciBlaW4gR2VzY2hlbmsgZnVlciBlaW5lbiBTY2hva29sYWRlbmFiaGFlbmdpZ2VuIHN1Y2h0IG9kZXIgc2VsYnN0IHdhcwpmdWVyIHNpY2ggYmFzdGVsbiB3aWxsIC0gaWNoIGthbm4ncyBlbXBmZWhsZW4uCgpQLlMuIG15bXVlc2xpLmNvbSBoYWJlIGljaCBhdWNoIGF1c3Byb2JpZXJ0LiBFYmVuZmFsbHMgZW1wZmVobGVuc3dlcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2Nob2tvbGFkZSAoTWFoYXJldCwgMjcuIEp1bCAyMDA5LCAyMzoxOToyNCk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDg3MjkzNjcgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpNZXNpIG1vZWNodGUsIGRhc3MgaWNoIGVyZ2FlbnplLCBkYXNzIGRpZSBiZXNjaHJpZWJlbmUgU2Nob2tvbGFkZSBDaGFvc2JhbGwKaGVpc3N0LiBKYSwgbWFuIGRhcmYgZGVuIFNjaG9rb2xhZGVuIGF1Y2ggZWluZW4gTmFtZW4gZ2ViZW4gOykgRGllIE1pc2NodW5nCndhciB1ZWJyaWdlbnMgTWVzaXMgS3JlYXRpb24uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaG9rb2xhZGUgKEFudGhlYSwgMjguIEp1bCAyMDA5LCAwOTo1Nzo1Mik6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDg3Mjk1NjQgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpIbSwgc2VociBuZXR0ZSBTZWl0ZS4gQWJlciBnaWJ0IGVzIGZ1ZXIgTm9ybWFsc3RlcmJsaWNoZSBlaW5lIE1vZWdsaWNoa2VpdCwKZGllIE1pc2NodW5nIENoYW9zYmFsbCBhbnp1c2VoZW4/IEljaCBoYWJlIGRhIGpldHp0IGF1ZiBBbmhpZWIgbmljaHRzCmdlZnVuZGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2Nob2tvbGFkZSAoQW50aGVhLCAyOC4gSnVsIDIwMDksIDEwOjI2OjQ3KToKfiMhIHJuPUFudGhlYSBydD0xMjQ4NzY3ODcyIHJnPXd3dwp+IyEgdGlkPTEyNDg3MjkzNjcKQWguIEljaCBiaW4gYmxpbmQuIERpZSBadXNhbW1lbnNldHp1bmcgc3RhbmQgamEgaW0gT3JpZ2luYWxwb3N0aW5nLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVWxsYSBUcnVsbGEgKEFyaywgMjkuIEp1bCAyMDA5LCAxNjoxODoyOSk6Cmh0dHA6Ly9uZXdzLmRlLm1zbi5jb20vcG9saXRpay9BcnRpY2xlLmFzcHg/Y3AtZG9jdW1lbnRpZD0xNDg4MzMzMjMKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVWxsYSBUcnVsbGEgKEhvYm8sIDI5LiBKdWwgMjAwOSwgMTg6MzQ6NTQpOgp+IyEgcm49QXJrIHJ0PTEyNDg4NzcxMDkgcmc9d3d3Cn4jISB0aWQ9MTI0ODg3NzEwOQpOdXIsIGRhc3MgZGVyIERpZW5zdHdhZ2VuIChhbmdlYmxpY2ggdW5iZXNjaGFlZGlndCkgd2llZGVyIGF1ZmdldGF1Y2h0IGlzdC4KCipnYWVobioKU29tbWVybG9jaCBpc3QgZWNodCBhbnN0cmVuZ2VuZC4KRGEgaGFiZW4ncyBkaWUgSXRhbGllbmVyIG1pdCBpaHJlbSBCZXJsdXNjb25pIGRvY2ggZ3V0Li4uLgoKICBIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNjaG9rb2xhZGUgKFZhbmlvbiwgIDEuIEF1ZyAyMDA5LCAxMToyMzozMik6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDg3Mjk1NjQgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpIbW0sIHdhZXIgdG9sbCwgd2VubiBtYW4gbmFjaCBDaGFvc2JhbGwgc3VjaGVuIGthbm4gOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTY2hva29sYWRlIChNYWhhcmV0LCAgMS4gQXVnIDIwMDksIDIwOjI5OjMzKToKfiMhIHJuPVZhbmlvbiBydD0xMjQ5MTE4NjEyIHJnPXd3dwp+IyEgdGlkPTEyNDg3MjkzNjcKV2VubiBkdSB3aWxsc3QsIHN1Y2ggaWNoIGRpciBkZW4gQ29kZSByYXVzIGZ1ZXIgZGVuIENoYW9zYmFsbC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNjaG9rb2xhZGUgKFZhbmlvbiwgIDIuIEF1ZyAyMDA5LCAyMDozODoyMSk6Cn4jISBybj1NYWhhcmV0IHJ0PTEyNDkxNTEzNzMgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpJY2ggc29sbHRlIHp1ciBaZWl0IGtlaW5lIFNjaG9rb2xhZGUgZXNzZW4uIFVuZCB3b2hsIGJlc3NlciBhdWNoIHNvbnN0IG5peCA6KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaG9rb2xhZGUgKEdsb2luc29uLCAgMy4gQXVnIDIwMDksIDAxOjA5OjM5KToKfiMhIHJuPVZhbmlvbiBydD0xMjQ5MjM4MzAxIHJnPXd3dwp+IyEgdGlkPTEyNDg3MjkzNjcKTWFnZW5nZXNjaHd1ZXI/IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogU2Nob2tvbGFkZSAoVmFuaW9uLCAgMy4gQXVnIDIwMDksIDE5OjI0OjUwKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNDkyNTQ1Nzkgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpTeXN0ZW1pc2NoLCBqYS4gRXMgd2FlY2hzdCB1ZWJlcmFsbCAuLi4gOikKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTY2hva29sYWRlIChHbG9pbnNvbiwgIDQuIEF1ZyAyMDA5LCAxMDoyMjoyNSk6Cn4jISBybj1WYW5pb24gcnQ9MTI0OTMyMDI5MCByZz13d3cKfiMhIHRpZD0xMjQ4NzI5MzY3CkFtIFdFIHd1cmRlIG1pciBlaW5lIGRyZWlzdGVsbGlnZSBaYWhsIHVudGVyc3RlbGx0LiBEYXMgaGFiIGljaCBtaXQgVmVyd2VpcwphdWYgZGVpbmUgZGFtYWxpZ2UgbmVnYXRpdiBleGVtcGxhcmlzY2hlIFBsYW51ZWJlcmVyZnVlbGx1bmcgZGVtZW50aWVydCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFNjaG9rb2xhZGUgKE1haGFyZXQsICA0LiBBdWcgMjAwOSwgMjE6NTc6MjkpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNDkyMzgzMDEgcmc9d3d3Cn4jISB0aWQ9MTI0ODcyOTM2NwpUcm90emRlbSwgZGFtaXQgaWNoIGRpZSBpcmdlbmR3byBhdWZnZXNjaHJpZWJlbiBoYWJlLCB3byBpY2ggc2llIHdpZWRlcmZpbmRlOgp6czUzOGEKSXN0IG5hZW1saWNoIGdsZWljaCBhbGxlIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFocnJhZGhlbG1lIHNjaHVldHplbiAoaW4gZGVuIFVTQSkgKEdsb2luc29uLCAgNy4gQXVnIDIwMDksIDA4OjE5OjIyKToKaHR0cDovL3d3dy53eWZmNC5jb20vbmV3cy8yMDE4Nzc4Ni9kZXRhaWwuaHRtbAoKIm9saWNlIHNhaWQgdGhlIGRyaXZlciwgQ2hhcmxlcyBEaWV6LCBjbGFpbWVkIGhlIHdhcyB1cHNldCB0aGF0IHRoZSB2aWN0aW0gd2FzCmJpa2UgcmlkaW5nIHdpdGggaGlzIGNoaWxkIG9uIHRoZSBoZWF2aWx5IHRyYXZlbGVkIFR1bm5lbCBSb2FkLgoKRGlleiBwdWxsZWQgYSBndW4gYW5kIG9wZW5lZCBmaXJlLCBoaXR0aW5nIHRoZSB2aWN0aW0gaW4gaGlzIGJpY3ljbGUgaGVsbWV0LAphY2NvcmRpbmcgdG8gcG9saWNlLgoKVGhleSBzYWlkIHRoZSBidWxsZXQgcGVuZXRyYXRlZCB0aGUgb3V0ZXIgbGluaW5nIG9mIHRoZSBoZWxtZXQgYnV0IGRpZCBub3QKYWN0dWFsbHkgaGl0IHRoZSB2aWN0aW0ncyBoZWFkLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhlIFRvb2sgYSBQb2xhcm9pZCBFdmVyeSBEYXksIFVudGlsIHRoZSBEYXkgSGUgRGllZCAgKEdsb2luc29uLCAgNy4gQXVnIDIwMDksIDA5OjA2OjAzKToKaHR0cDovL3d3dy5tZW50YWxmbG9zcy5jb20vYmxvZ3MvYXJjaGl2ZXMvMTUxMzEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZXR0ZXItSm91cm5hbCAoVmFuaW9uLCAyMC4gQXVnIDIwMDksIDE0OjAxOjIxKToKRXMgZ2lidCBlaW4gbmV0dGVzIEJsb2csIGRhc3Mgc2ljaCBtaXQgS2xpbWEvV2V0dGVyIGJlc2NoYWVmdGlndCwgZnVlciBMZXV0ZQpkaWUgc2ljaCB1ZWJlciAiV2FzIHppZWhlIGljaCBtb3JnZW4gYW4/IiBoaW5hdXMgZnVlciBkYXMgVGhlbWEgaW50ZXJlc3NpZXJlbi4KCkRlcnplaXQgZ2lidCBlcyBlaW5lbiBpbnRlcmVzc2FudGVuIEFydGlrZWwgenUgYWt0dWVsbGVuIEJlb2JhY2h0dW5nZW4gYW0KR29sZnN0cm9tOiBodHRwOi8vd2V0dGVyam91cm5hbC53b3JkcHJlc3MuY29tLwoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZXR0ZXItSm91cm5hbCAoUnVtYXRhLCAyMC4gQXVnIDIwMDksIDE0OjAyOjU5KToKfiMhIHJuPVZhbmlvbiBydD0xMjUwNzY5NjgxIHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKRGllIGthcnRlbiB2b20gTm9yZGFudGxhbnRpayBzaW5kIGluIGRlciBUYXQgLi4uIGludGVyZXNzYW50LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdldHRlci1Kb3VybmFsIChCYW1idWxrbywgMjAuIEF1ZyAyMDA5LCAxNDowMzowNyk6Cn4jISBybj1WYW5pb24gcnQ9MTI1MDc2OTY4MSByZz13d3cKfiMhIHRpZD0xMjUwNzY5NjgxCk1hY2ggbWlyIGRvY2ggbmljaHQgc28gZWluZSBBbmdzdC4uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogV2V0dGVyLUpvdXJuYWwgKFJ1bWF0YSwgMjAuIEF1ZyAyMDA5LCAxNDowNToxOSk6Cn4jISBybj1CYW1idWxrbyBydD0xMjUwNzY5Nzg3IHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKRGllIEphcGFuaXNjaGVuIEluc2VsbiBpbSBOb3JkYXRsYW50aWsgc29sbHRlbiBqZWRlbSBBbmdzdCBtYWNoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXZXR0ZXItSm91cm5hbCAoVmFuaW9uLCAyMC4gQXVnIDIwMDksIDE0OjA5OjAyKToKfiMhIHJuPVJ1bWF0YSBydD0xMjUwNzY5OTE5IHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKRXIgaGF0IGphIG5pY2ggZ2VzY2hyaWViZW4sIGRhc3MgZHUgaW4gZGVyIE1pdHRlIGRlciBLYXJ0ZSBndWNrZW4gc29sbHN0IDopIEluCkphcGFuIGlzdCBkaWVzZSBGb3JtIGRlciBXZWx0a2FydGUgYWV1c3NlcnN0IHBvcHVsYWVyIDopCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2V0dGVyLUpvdXJuYWwgKFJ1bWF0YSwgMjAuIEF1ZyAyMDA5LCAxNDoxMDo1MCk6Cn4jISBybj1WYW5pb24gcnQ9MTI1MDc3MDE0MiByZz13d3cKfiMhIHRpZD0xMjUwNzY5NjgxCkFsc28gZGllIEthcnRlIGRhIGlzdCBtZWluZXIgYmVzY2hlaWRlbmVuIE1laW51bmcgbmFjaCBrZWluZSBLYXJ0ZSwKZGllIGlyZ2VuZHdhcyB1ZWJlciBkZW4gTm9yZGF0bGFudGlrIGF1c3NhZ3QuIEF1Y2ggbmljaHQgYW0gUmFuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IFdldHRlci1Kb3VybmFsIChWYW5pb24sIDIwLiBBdWcgMjAwOSwgMTQ6MTM6NDEpOgp+IyEgcm49UnVtYXRhIHJ0PTEyNTA3NzAyNTAgcmc9d3d3Cn4jISB0aWQ9MTI1MDc2OTY4MQpOYWphLCB1bSBkYXMgYmV1cnRlaWxlbiB6dSBrb2VubmVuLCBtdWVzc3RlIG1hbiB6dW0gVmVyZ2xlaWNoIGVpbiBiaWxkIGhhYmVuLAp3aWUgZXMgenUgZGllc2VyIEphaHJlc3plaXQgYXVzc2VoZW4gc29sbHRlIC4uLgoKRGFzIHN0aW1tdCBzY2hvbi4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXZXR0ZXItSm91cm5hbCAoWmVzc3RyYSwgMjAuIEF1ZyAyMDA5LCAxNDoxNjoyMSk6Cn4jISBybj1WYW5pb24gcnQ9MTI1MDc3MDQyMSByZz13d3cKfiMhIHRpZD0xMjUwNzY5NjgxCkRhdm9uIG1hbCBhYmdlc2VoZW4uIEFiZXIgZGFzIGtvZW5udGUgc2VpbiwgZGFzcyBzaWUgZGFzIHNvZ2FyIGdlbWFjaHQgaGFiZW4sCndlaWwgc2llIG9mZmVuYmFyIGRpZSBBYndlaWNodW5nIHZvbiBpcmdlbmRlaW5lbSBOdWxsIGRhcnN0ZWxsZW4uCkplZG9jaCB3YWVycyBlcnN0bWFsIHdpY2h0aWcsIHdlbm4gZGllIEthcnRlIHVlYmVyaGF1cHQgd2FzIHZvbSBOb3JkYXRsYW50aWsKbWl0IGRlbSBHb2xmc3Ryb20gemVpZ2VuIHd1ZXJkZS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFdldHRlci1Kb3VybmFsIChSdW1hdGEsIDIwLiBBdWcgMjAwOSwgMTQ6MTY6NTgpOgp+IyEgcm49WmVzc3RyYSBydD0xMjUwNzcwNTgxIHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKSGloaSwgbWVpbiBOb3NjcmlwdCBoYXR0ZSBkaWUgS2FydGVuIHRydW5raWVydCAgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBXZXR0ZXItSm91cm5hbCAoVmFuaW9uLCAyMC4gQXVnIDIwMDksIDE0OjE3OjA0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI1MDc3MDU4MSByZz13d3cKfiMhIHRpZD0xMjUwNzY5NjgxClNhZ3QgbWFsLCBoYWIgaWNoIGFuZGVyZSBLYXJ0ZW4gYWxzIGlocj8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXZXR0ZXItSm91cm5hbCAoQmFtYnVsa28sIDIwLiBBdWcgMjAwOSwgMTQ6MTk6NDQpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNTA3NzA2MjQgcmc9d3d3Cn4jISB0aWQ9MTI1MDc2OTY4MQpJY2ggc2VoZSBkZW4gTm9yZGF0bGFudGlrLiBBYmVyIHdpZSBwYXNzZW4gd2VuaWdlciBXb2xrZW5iaWxkdW5nIHVuIG1laHIgUmVnZW4KenVzYW1tZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBXZXR0ZXItSm91cm5hbCAoWmVzc3RyYSwgMjAuIEF1ZyAyMDA5LCAxNDo0ODozMik6Cn4jISBybj1CYW1idWxrbyBydD0xMjUwNzcwNzg0IHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKTmFjaGRlbSBpY2ggamV0enQgYXVjaCBkZW4gTm9yZGF0bGFudGlrIHNlaGUsIGlzdHMga2xhcmVyLiBBYmVyIHdvIGlzdCBlaW4KQmlsZCBtaXQgV29sa2VuIGRyYXVmPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IFdldHRlci1Kb3VybmFsIChCYW1idWxrbywgMjAuIEF1ZyAyMDA5LCAxNDo1MTo1Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNTA3NzI1MTIgcmc9d3d3Cn4jISB0aWQ9MTI1MDc2OTY4MQpOaXJnZW5kd28uIFdlciBoYXQgZGFzIGdlc2FndC4gSWNoIGZhbmQgZXMgbnVyIG1lcmt3dWVyZGlnIGRhcyBlaW4gRWZmZWt0CmVpbmVzIHNjaHdhZWNoZXJlbiBHb2xmc3Ryb21zIG1laHIgUmVnZW4gc2VpLCB1bmQgZWluIGFuZGVyZXIgd2VuaWdlciBXb2xrZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogV2V0dGVyLUpvdXJuYWwgKEFudGhlYSwgMjAuIEF1ZyAyMDA5LCAxNzoxMzowNyk6Cn4jISBybj1CYW1idWxrbyBydD0xMjUwNzcyNzEyIHJnPXd3dwp+IyEgdGlkPTEyNTA3Njk2ODEKVGphLCB3ZW5uIGRlciBHb2xmc3Ryb20genVtIEVybGllZ2VuIGtvbW10LCBkYW5uIGhhdCBkaWUgZ2xvYmFsZSBFcndhZXJtdW5nIGluCnVuc2VyZXIgUmVnaW9uIGVpbmUgZXh0cmVtZSBBYmt1ZWhsdW5nIHp1ciBGb2xnZS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm1hZW5uZXIgKEd3ZW4sIDMwLiBBdWcgMjAwOSwgMTk6MDg6NTgpOgp1bmQgUm9sbGVuc3BpZWxlciA7KQpodHRwOi8vd3d3LnNoYWtlcy1hbmQtZmlkZ2V0LmNvbS9pbmRleF9zYWYucGhwP2FyZWE9Y29taWNzJmlkPTE2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbWFlbm5lciAoQ3JvZnQsIDMwLiBBdWcgMjAwOSwgMTk6MzY6MDEpOgp+IyEgcm49R3dlbiBydD0xMjUxNjUyMTM4IHJnPXd3dwp+IyEgdGlkPTEyNTE2NTIxMzgKRGllIG1laXN0ZW4gYW5kZXJlbiBzaW5kIGF1Y2ggZ3V0LiAgQXVjaCB3ZW5uIG1hbiBsZWlkZXIgZ2VyYWRlIGVpbmVuCmd1dGVuIFRlaWwgbmljaHQgc2llaHQsIGRlcndlaWwgc2ljaCBkaWUgUmVjaHRzYWJ0ZWlsdW5nIHZvbiBBY3RpdmlzaW9uCnJlc3Bla3RpdmUgQmxpenphcmQgYmVpIGRlbiBKdW5ncyBnZW1lbGRldCBoYXQgLi4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUk9TRU1BUlkgKEFudGhlYSwgIDQuIFNlcCAyMDA5LCAxNDoyOTo1MSk6CgpodHRwOi8vZ2FtYml0Lm1pdC5lZHUvbG9hZGdhbWUvcm9zZW1hcnkucGhwCgoKUm9zZW1hcnkgaXN0IGVpbmUganVuZ2UgRnJhdSwgZGllIG5hY2ggZGVtIFRvZCBpaHJlciBFbHRlcm4gaW4gZWluZW0gQWxidW0gZWluCnplcnJpc3NlbmVzIEZvdG8gYXVzIGlocmVyIEtpbmRoZWl0IGZpbmRldCwgZGFzIHNpZSBtaXQgZWluZW0ga2xlaW5lbiBKdW5nZW4KemVpZ3QuIApTaWUgZXJpbm5lcnQgc2ljaCBudXIgd2FnZSBhbiBpaG4gdW5kIG1laW50IHNvZ2FyLCBkYXNzIGVyIGRvY2ggbnVyIGVpbgppbWFnaW5hZXJlciBGcmV1bmQgZ2V3ZXNlbiBzZWkuIAoKU2llIHJlaXN0IGFsc28gaW4gZGFzIGtsZWluZSAtIG1pdHRsZXJ3ZWlsZSB2ZXJsYXNzZW5lIC0gRG9lcmZjaGVuIGF1cyBpaHJlcgpLaW5kaGVpdCB1bmQgdmVyc3VjaHQgZGEsIGlocmUgRXJpbm5lcnVuZ2VuIHdpZWRlciB6dXNhbW1lbnp1c2V0emVuIHVuZApoZXJhdXN6dWZpbmRlbiwgd2FzIG1pdCBpaHJlbSBLaW5kaGVpdHNmcmV1bmQgcGFzc2llcnQgaXN0LgoKCkRhcyBTcGllbCBzcGllbHQgc2ljaCBkYW5uIGF1Y2ggZXR3YXMgdW5nZXdvZWhubGljaC4gRGVyIE9ydCBpc3QgaW4gZGVyCkdlZ2Vud2FydCB2ZXJsYXNzZW4gdW5kIGR1ZXN0ZXIuIFBlciBNYXVza2xpY2sgd2VjaHNlbHQgbWFuIGFiZXIgaW4gUm9zZW1hcnlzCkVyaW5uZXJ1bmcsIHdvIGRlciBPcnQgYmVsZWJ0KGVyKSB1bmQgZnJvZWhsaWNoIGlzdC4gCkRlciBXaXR6IGRhYmVpIGlzdCwgZGFzcyBzaWNoIFJvc2VtYXJ5cyBFcmlubmVydW5nZW4gYW5wYXNzZW4sIGplIG5hY2hkZW0gd2FzCm1hbiBhbiBFcmlubmVydW5nc2ZldHplbiBiZXJlaXRzIHdpZWRlciB6dXNhbW1lbmdlZmFzc3QgaGF0LiAKCkVpbiBHcm9zc3RlaWwgZGVyIFJhZXRzZWwgd2VyZGVuIGRlc2hhbGIgYXVjaCBkYW1pdCBnZWxvZXN0LCBkYXNzIG1hbiBEaW5nZQphbnNpZWh0LCBEaW5nZSBob2VydCB1bmQgYW4gRGluZ2VuIHJpZWNodCwgZGFtaXQgRXJpbm5lcnVuZ3NmcmFnbWVudGUgd2llZGVyCiJob2Noa29tbWVuIiwgZGllIGRhbm4gd2llZGVyIHp1c2FtbWVuZ2VzZXR6dCB3ZXJkZW4uIAoKCkRhcyBob2VydCBzaWNoIHZpZWxsZWljaHQgZXR3YXMgbGFuZ3dlaWxpZyBhbiwgZGllIHd1bmRlcnNjaG9lbmVuIEJpbGRlciwgZGllCmF0aG1vc3BoYWVyaXNjaGVuIFRleHRlIHVuZCBkaWUgZ2VuZXJlbGxlIG1lbGFuY2hvbGlzY2hlIEdydW5kc3RpbW11bmcgdW5kCm5pY2h0IHp1bGV0enQgZGllIHdpcmtsaWNoIGd1dGUgR2VzY2hpY2h0ZSBmdWVnZW4gc2ljaCBhYmVyIHp1IGVpbmVtCmhlcnZvcnJhZ2VuZGVuIHVuZCBiZXNvbmRlcmVuIEFkdmVudHVyZSB6dXNhbW1lbi4gCgpVbmQgZGFzIGJlc3RlOiBFcyBpc3QgRnJlZXdhcmUhCgpEYWZ1ZXIgKHVuZCBkYXNzIG1hbiBlcyBoYWx0IGVpbmZhY2ggcnVudGVybGFlZHQgdW5kIGVzIG5pY2h0IGFsbHp1IHJpZXNpZwppc3QpIGZlaGx0IG5hdHVlcmxpY2ggZWluZSBTcHJhY2hhdXNnYWJlLCBkaWUgYmVzdGltbXQgYXVjaCBldHdhcyBtZWhyCkF0bW9zcGhhZXJlIHJlaW5nZWJyYWNodCBoYWV0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUk9TRU1BUlkgKEtlc3NhLCAgNC4gU2VwIDIwMDksIDE0OjM2OjAwKToKfiMhIHJuPUFudGhlYSBydD0xMjUyMDY3MzkxIHJnPXd3dwp+IyEgdGlkPTEyNTIwNjczOTEKRGFzIGhvZXJ0IHNpY2ggamEgbWFsIHNjaG9lbiBhbiwgZ2VuYXUgZGFzIHJpY2h0aWdlIGZ1ZXIgZWluIHZlcnJlZ25ldGVzClNwYWV0c29tbWVyd29jaGVuZW5kZSEgVmllbGVuIERhbmsgZnVlciBkZW4gTGluayEKCktlc3NhLCBzaWNoIHNjaG9uIG1hbCB2b2xsZXIgVm9yZnJldWRlIG1pdCBHdWV0emxpIHVuZCBDYXBwdWNjaW5vIGVpbmRlY2tlbmQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogUk9TRU1BUlkgKFplc3N0cmEsICA0LiBTZXAgMjAwOSwgMTU6MDc6NTIpOgp+IyEgcm49S2Vzc2EgcnQ9MTI1MjA2Nzc2MCByZz13d3cKfiMhIHRpZD0xMjUyMDY3MzkxCmljaCBrYW5uIGxlaWRlciBuaWNodCB2aWVsIG1pdCBXaW5kb3dzLVNwaWVsZW4gYW5mYW5nZW4sIGFiZXIgenVtIEdsdWVjayBoYWIKaWNoIG5vY2ggYXVzcmVpY2hlbmQgdmllbGUgYW5kZXJlIFBsYWVuZSBmdWVyIGRhcyBXRS4gOi0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBST1NFTUFSWSAoQmFtYnVsa28sICA3LiBTZXAgMjAwOSwgMDk6Mzc6MjEpOgp+IyEgcm49WmVzc3RyYSBydD0xMjUyMDY5NjcyIHJnPXd3dwp+IyEgdGlkPTEyNTIwNjczOTEKV2FyIGdhbnogbmV0dCwgbnVyIHZpZWwgenUga3VyeiA6LSgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJPU0VNQVJZIChBbnRoZWEsICA3LiBTZXAgMjAwOSwgMDk6Mzg6NTQpOgp+IyEgcm49QmFtYnVsa28gcnQ9MTI1MjMwOTA0MSByZz13d3cKfiMhIHRpZD0xMjUyMDY3MzkxCkphLCBnZW5hdSBkYSwgd28gZXMgaW50ZXJlc3NhbnQgd2lyZCwgaG9lcnQgZXMgYXVmLiBIYXQgbWljaCBhdWNoIGV0d2FzCmdlYWVyZ2VydCBhbHMgaWNoIHNvIHdlaXQgd2FyLiBVbmQgZGFubiB3b2xsdGUgaWNoIHdpc3Nlbiwgb2IgZXMgbnVyIHp1ZmFlbGxpZwphdWZnZWhvZXJ0IGhhdCBvZGVyIG5pY2h0LCB1bmQgd2FyIGluIGV0d2EgMyBNaW51dGVuIGR1cmNoLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBST1NFTUFSWSAoV2hpdGV0aWdlciwgIDcuIFNlcCAyMDA5LCAxMjoyNTo0MCk6Cn4jISBybj1BbnRoZWEgcnQ9MTI1MjMwOTEzNCByZz13d3cKfiMhIHRpZD0xMjUyMDY3MzkxCkdpbmcgbWlyIGViZW5zby0tIGljaCBkYWNodGUgZXJzdCAod2VpbCBpY2ggZGllICJDcmVkaXRzIiBpcmdlbmR3aWUgYXVzClZlcnNlaGVuIGFiZ2Vicm9jaGVuIGhhYmUpLCBkYXNzIGRhcyBnYW56ZSBQcm9ncmFtbSBhYmdlc3R1ZXJ6dCBzZWkuCkFsbGVyZGluZ3MgbGFnIGVzIGRhbm4gZG9jaCBuaWNodCBhbiBXSU5FIDspICBBYmVyIGRpZSBnYW56ZW4gR0FNQklULVNwaWVsZQpzaW5kIGphIG51ciBQcm90b3R5cGVuLCB1bSBLb256ZXB0ZSBhdXN6dXByb2JpZXJlbi4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogUk9TRU1BUlkgKEFsYm9pbiwgIDcuIFNlcCAyMDA5LCAyMDoyNTowOCk6Cn4jISBybj1XaGl0ZXRpZ2VyIHJ0PTEyNTIzMTkxNDAgcmc9d3d3Cn4jISB0aWQ9MTI1MjA2NzM5MQpNaXIgZ2VmaWVsIGVzIGF1Y2guIEt1cnogd2FycywgdW5kIGRhcyBFbmRlIC4uIGltbWVyaGluIG5vY2ggYmVzc2VyIGFscyBkYXMKdm9uIFphazIuCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUk9TRU1BUlkgKFRydWcsICA5LiBTZXAgMjAwOSwgMTg6MTQ6MTgpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTIwNjczOTEgcmc9d3d3Cn4jISB0aWQ9MTI1MjA2NzM5MQpTaWVodCBndXQgYXVzLCBhbGxlcmRpbmdzIGlzdCBiZWltICJJIEFncmVlIiBCdXR0b24gSmF2YVNjcmlwdC1NaXN0Cmlua2x1ZGllcnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUk9TRU1BUlkgKFRydWcsICA5LiBTZXAgMjAwOSwgMTg6MTU6MTcpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTIwNjczOTEgcmc9d3d3Cn4jISB0aWQ9MTI1MjA2NzM5MQpBZGRlbmR1bTogCgpVbnRlciBodHRwOi8vZ2FtYml0Lm1pdC5lZHUvbG9hZGdhbWUvaW5kZXgucGhwIGdpYnRzIG5vY2ggbWVociBTcGllbGUgOkQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNrYW5kYWwgaW4gSGFtYnVyZyAoVmFuaGVsc2luZywgMTAuIFNlcCAyMDA5LCAwOToyNDoyNik6ClNlaHQgZXVjaCBkaWVzZXMgU2thbmRhbHZpZGVvIGFuLiBJaHIgd2VyZGV0IGdlc2Nob2NrdCBzZWluLgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SDBKRHA5b0RiTGcKClZICgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCdW5kZXNyYWRpbyAoTWFjbGksIDEwLiBTZXAgMjAwOSwgMTA6Mzk6MTgpOgpUaW0gUHJpdGxvdmUgdW5kIFBoaWxpcCBCYW5zZSBleHBlcmltZW50aWVyZW4gbWl0IGVpbmVtIG5ldWVuIFBvZGNhc3QtUHJvamVrdAp1bnRlciBodHRwOi8vd3d3LmJ1bmRlc3JhZGlvLmRlLwoKQWxzIGVyc3RlcyBTcGVjaWFsIHdpcmQgZXMgYW0gMjcuIFNlcHRlbWJlciB2b24gMTYgYmlzIDIwIFVociAnRGFzIFdhaGxzdHVkaW8KaW0gTmV0eiAtIGRpZSBCdW5kZXN0YWdzd2FobCBsaXZlJyBnZWJlbi4KCkhvZXJ0IG1hbCByZWluIGJpc2hlciB3YXJlbiBkaWUgUG9kY2FzdHMgZGVyIGJlaWRlbiBkdXJjaGF1cyBicmF1Y2hiYXIgdW5kIGRpZQpoYWJlbiBtaXR0bGVyd2VpbGUgc28gRWluaWdlIGFtIGxhdWZlbiBvZGVyIGFtIGxhdWZlbiBnZWhhYnQuCgpNLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNrYW5kYWwgaW4gSGFtYnVyZyAoR2xvaW5zb24sIDEwLiBTZXAgMjAwOSwgMTE6MTE6MzgpOgp+IyEgcm49VmFuaGVsc2luZyBydD0xMjUyNTY3NDY2IHJnPXd3dwp+IyEgdGlkPTEyNTI1Njc0NjYKRWlnZW50dWVtbGljaC4gV2llc28gbmltbXQgc2ljaCBkZXIgU3BpZWdlbCBkaWUgU2VuZGV6ZWl0LCB1bSBkYW5uCmlyb25pc2llcmVuZCB1ZWJlciBzbyBlaW4gS2xlaW50aGVtYSBoZXJ6dWZhbGxlbj8gR2VuYXVnZW5vbW1lbiBoYWJlbiBkaWUKS3JpdGlrZXIgcmVjaHQsIGdlbmF1ZXIgYmV0cmFjaHRldCBoYXQgU1BPTi1UViB3b2hsIFNvbW1lcmxvY2guCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQmFjayBpbiB0aGUgVVNTUjogQ29tcHV0ZXIgKEdsb2luc29uLCAxMC4gU2VwIDIwMDksIDExOjE5OjI2KToKaHR0cDovL3d3dy5pbmMuY29tL21hZ2F6aW5lLzE5OTYwNjE1LzE5NjcuaHRtbAoKQWVsdGVyZXIgQXJ0aWtlbC4gTGVpZGVyIGZlaGx0IGlyZ2VuZHdvIGRhcyBGYXppdC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWJ5c2l0dGVyIChBcmssIDE2LiBTZXAgMjAwOSwgMTM6NTA6MTQpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MURYenhhZFM3TjgKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYXMgRW5kZSBpc3QgZGEhISAoVmFuaGVsc2luZywgMTguIFNlcCAyMDA5LCAxNzozMzoxMik6Cmh0dHA6Ly93d3cueGNuLmRlCgpDVQpWSAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKeWVhaCAoVmVjdG9yLCAxOS4gU2VwIDIwMDksIDAxOjEwOjQwKToKeWVlZWFhaApodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Sl9EUkFJR2J2VXcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkd1Y2tzdCBEdSBub2NoIG9kZXIgd2FlaGxzdCBEdSBzY2hvbj8gKEVubm94LCAyMi4gU2VwIDIwMDksIDAxOjA3OjI2KToKaHR0cDovL3d3dy5yZXR0ZWRlaW5lZnJlaWhlaXQuZGUvCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHdWNrc3QgRHUgbm9jaCBvZGVyIHdhZWhsc3QgRHUgc2Nob24/IChWYW5pb24sIDIzLiBTZXAgMjAwOSwgMjI6MTU6NDcpOgp+IyEgcm49RW5ub3ggcnQ9MTI1MzU3NDQ0NiByZz13d3cKfiMhIHRpZD0xMjUzNTc0NDQ2Ck5hIGRlbm46Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj12SFJrSThHYTlvQQooVG9sbGVzIExpZWQpCgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9M0l4bDY4UUFoR3cgKFRvbGxlciBTcG90KQoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnBhcnRlaWVuLWxvZ2lrIChWZWN0b3IsIDI0LiBTZXAgMjAwOSwgMjA6NDc6MjYpOgoKd2FydW0gbWFjaHQgZGllIGxpbmtlIGVpZ2VudGxpY2ggMiBwbGFrYXRlOgpodHRwOi8vZGllZXJrbGFlcnVuZy5maWxlcy53b3JkcHJlc3MuY29tLzIwMDkvMDgvbGlua2Utd2FobC0xLmpwZz93PTQ5MiZoPTM0MQoKYW5zdGF0dCBnbGVpY2ggZWluczoKaHR0cDovL3N0YXRpY25vaXNlLmRlL3dwLWNvbnRlbnQvdXBsb2Fkcy9BbGxlLUJlc3RldWVybi5KUEcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClphdWJlcmRpbmdlIHp1bSBTZWxic3RiYXVlbiAoRW5ub3gsIDI1LiBTZXAgMjAwOSwgMDM6NDA6MjMpOgpOYWNoZGVtIGljaCBtaXIgZWluZW4gcmljaHRpZ2VuIFphdWJlcnN0YWIgYmVpIGh0dHA6Ly90aGV3YW5kY29tcGFueS5jb20vCnJlc2VydmllcnQgaGFiLCBiaW4gaWNoIG1pdCBkZW4gTGV1dGVuIGRhIGlucyBHZXNwcmFlY2ggZ2Vrb21tZW4uIFdhciB3aXJrbGljaAppbnRlcmVzc2FudC4KCkRlciBlaW5lIGhhdCBzY2hvbiBzZWl0IGxhZW5nZXJlbSBlaW5lIFNlaXRlIGFtIExhdWZlbiwgYXVmIGRlciB2aWVsZQpiZWVpbmRydWNrZW5kZSBCYXN0ZWwtUHJvamVrdGUgZnVlciBmYW50YXN5LWFmZmluZSBWYWV0ZXIgKHVuZCBNdWV0dGVyKSB1bmQKaWhyZSBLaW5kZXIgenUgZmluZGVuIHNpbmQuClZpZWwgU3Bhc3MgYmVpbSBTdG9lYmVybiBhdWYgaHR0cDovL3d3dy5kYWRjYW5kby5jb20KCkdydXNzIE1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhvYmJpdCA0MTkgKFJ1bWF0YSwgMjUuIFNlcCAyMDA5LCAwODo0MjowMCk6Ckd1dCwgZGFzcyBpY2ggZ2VyYWRlIGtlaW5lbiBLYWZmZSBpbiBkZXIgbmFlaGUgaGF0dGUgLi4uIDotKQoKaHR0cDovL2dyYW5hZGVzLmNvbS8yMDA5LzA5LzI0L2hvYmJpdC00MTkvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcm9udCBEZXV0c2NoZXIgQWVwZmVsIC4uLiAoVmFuaW9uLCAyNS4gU2VwIDIwMDksIDE3OjU1OjQzKToKRWluIEV4dHJhIDMtQmVpdHJhZzogaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTVWS3RGWG1WUDRRCgpWKiwgUmVpY2hzaG9mIC4uLiBzb29vIGdlaWwhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRnJvbnQgRGV1dHNjaGVyIEFlcGZlbCAuLi4gKFplc3N0cmEsIDI1LiBTZXAgMjAwOSwgMjE6MDM6MzUpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNTM4OTQxNDMgcmc9d3d3Cn4jISB0aWQ9MTI1Mzg5NDE0MwpIaWhpLCBzZWhyIHNjaG9lbi4gSWNoIHdlcmRlIGRhbm4gbWFsIGRlbW5hZWNoc3Qgd2llZGVyIGVpbmVuIGR0LiBBcGZlbAprYXVmZW4uIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUGh5c2lrLVZvcmxlc3VuZ2VuIChaZXNzdHJhLCAyNS4gU2VwIDIwMDksIDIxOjIxOjM3KToKSWNoIGhhYmUgYXVmIGlUdW5lcyBVIGRpZSBQaHlzaWstVm9ybGVzdW5nZW4gdm9uIFdhbHRlciBMZXdpbiBnZWZ1bmRlbi4gSWNoCm11c3Mgc2FnZW4sIGRhcyBpc3Qgc2Nob24gdG9sbC4gU2VociBzY2hvZW4gZ2VtYWNodGUgVm9ybGVzdW5nZW4sIGRpZSBmYXN0CmltbWVyIHVudGVyaGFsdHNhbSBzaW5kLiBJY2ggZ3VjayBkYSBqZXR6dCBpbW1lciBhYmVuZHMgaW0gQmV0dCBub2NoIDE1LTIwbWluCnZvbiBhdWYgbWVpbmVtIGlQb2QuIEdsb2JhbGUgV2lzc2VuZ2VzZWxsc2NoYWZ0IHJ1bGVzLgpXZXIga2VpbiBpVHVuZXMgaGF0LCBrYW5uIGRpZSBEaW5nZXIgYXVjaCBiZWltIE9wZW5Db3Vyc2V3YXJlIHZvbSBNSVQgZmluZGVuLgpodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1dhbHRlcl9MZXdpbgpodHRwOi8vd3d3LnplaXQuZGUvMjAwOC8yMC9XYWx0ZXJfTGV3aW4KaHR0cDovL3dlYi5taXQuZWR1L3BoeXNpY3MvZmFjdWx0eWFuZHN0YWZmL2ZhY3VsdHkvd2FsdGVyX2xld2luLmh0bWwKCjguMDEgUGh5c2ljcyBJOiBDbGFzc2ljYWwgTWVjaGFuaWNzCmh0dHA6Ly9kZWltb3MzLmFwcGxlLmNvbS9XZWJPYmplY3RzL0NvcmUud29hL0Jyb3dzZS9taXQuZWR1LjE0NDA0MjY4MzkKOC4wMiBFbGVjdHJpY2l0eSBhbmQgTWFnbmV0aXNtCmh0dHA6Ly9kZWltb3MzLmFwcGxlLmNvbS9XZWJPYmplY3RzL0NvcmUud29hL0Jyb3dzZS9taXQuZWR1LjEyOTk2MTU0NTUKOC4wMyBQaHlzaWNzIElJSTogVmlicmF0aW9ucyBhbmQgV2F2ZXMKaHR0cDovL2RlaW1vczMuYXBwbGUuY29tL1dlYk9iamVjdHMvQ29yZS53b2EvQnJvd3NlL21pdC5lZHUuMTI5OTU2NjQ2NC4wMTI5OTU2CjY0NjgKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIb2JiaXQgNDE5IChNYXN1bCwgMjYuIFNlcCAyMDA5LCAxMToyODoxOSk6Cn4jISBybj1SdW1hdGEgcnQ9MTI1Mzg2MDkyMCByZz13d3cKfiMhIHRpZD0xMjUzODYwOTIwCkhtLCB3YXMgaXN0IGVpbiAiNDE5ImVyPwoKTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSG9iYml0IDQxOSAoQW1hcnlsbGlzLCAyNi4gU2VwIDIwMDksIDE0OjAwOjMxKToKfiMhIHJuPU1hc3VsIHJ0PTEyNTM5NTcyOTkgcmc9d3d3Cn4jISB0aWQ9MTI1Mzg2MDkyMApBdWNoICJOaWdlcmlhbiBTY2FtIiBnZW5hbm50LiBTbyB3ZXJkZW4gZGllIEJldHJ1Z3N2ZXJzdWNoZSBkZXIgTmlnZXJpYW5lcgpnZW5hbm50LCBpbiBkZW5lbiBlaW5lbSB2b3JnZWdhdWtlbHQgd2lyZCwgbWFuIGtvZW5uZSBNaWxsaW9uZW4gZXJiZW4sIHdlbm4KbWFuIG51ciBldHdhcyBpbiAiVm9ybGVpc3R1bmciIHRyaXR0LiA0MTkgZ2VuYW5udCBkZXNoYWxiLCB3ZWlsIGRlciBQYXJhZ3JhZgppbSBuaWdlcmlhbmlzY2hlbiBHZXNldHpidWNoLCBkZXIgc28gZXR3YXMgdmVyYmlldGV0LCBQYXJhZ3JhZiA0MTkgaXN0LgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9vbndhbGsgd2FyIGdlc3Rlcm4uLi4uLiAoQmFtYnVsa28sIDI4LiBTZXAgMjAwOSwgMTY6MjE6NTcpOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXVDSDdzeDNRWjV3CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWWVhciAyMDA4IGluIHBob3RvZ3JhcGhzIC4uLiAoR2xvaW5zb24sICAxLiBPa3QgMjAwOSwgMjA6MDg6MjEpOgpodHRwOi8vd3d3LmJvc3Rvbi5jb20vYmlncGljdHVyZS8yMDA4LzEyL3RoZV95ZWFyXzIwMDhfaW5fcGhvdG9ncmFwaHNfcC5odG1sCgpCaWxkIDU6IGh1aQpCaWxkIDk6IGhlaGUKQmlsZCAxMDogc3VwZXIgZ2V0cm9mZmVuCkJpbGQgMTI6IFdURj8KQmlsZCAyMzogYmVzc2VyIGFscyBBSzQ3IC4uLiB3ZW5uIGF1Y2ggbmljaHQgdmllbCBiZXNzZXIKQmlsZCAyOTogLi4uCgouLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgoyNiAoTWVzaXJpaSwgIDIuIE9rdCAyMDA5LCAwMTo0Mzo0MSk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTI1Mzk2NjQzMSByZz13d3cKfiMhIHRpZD0xMjUzODYwOTIwCmh0dHA6Ly9kZXNwYWlyLmNvbS9vcHBvcnR1bml0eS5odG1sCk1lc2kKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBZZWFyIDIwMDggaW4gcGhvdG9ncmFwaHMgLi4uIChWYW5pb24sICAyLiBPa3QgMjAwOSwgMTk6NTc6MDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI1NDQyMDUwMSByZz13d3cKfiMhIHRpZD0xMjU0NDIwNTAxCjEyIGZpbmQgaWNoIHRvbGwgOikgU2llaHQgenVtaW5kZXN0IGd1dCBhdXMsIHVuZCBlcyBnaWJ0IHZlcm11dGxpY2ggZWluZW4KTWVnYXNrYW5kYWwsIHdlbm4gamVtYW5kIGVydHJpbmt0LCB3ZWlsIG1hbiBtaXQgZGVuIGdhbnplbiBCYWVsbGVuIHVtIGRpZSBOYXNlCm5pY2h0IHNjaHdpbW1lbiBrYW5uLiBHdXQgZnVlcnMgV2Fzc2VyIHdhZXIgZGFzIGF1Y2ggbmljaC4KCjE4IGlzdCBzb2xpZGUgc2NoaWZmYmF1bGljaGUgTGVpc3R1bmcuIEljaCB3dWVyZCBnZXJuZSBkZW4KSW5zdGFuZHNldHp1bmdzYXVmdHJhZyB1ZWJlcm5laG1lbiA6KQoKMjQgWmVpZyBtaXIgbWFsIGVpbmVuIGphcGFuaXNjaGVuIFRlbXBlbCBhZWx0ZXIgYWxzIDMwMCBKYWhyZSAod2llZGVyYXVmZ2ViYXV0CnphZWhsdCBuaWNodC4gU2hpbnRlbm5vamkgaW4gT29zYWthIGlzIGFmYWlyIGRlciBha3R1ZWxsIGFlbHRlc3RlLCBhYmVyIGRpZQpMaXN0ZSBhZW5kZXJ0IHNpY2ggc2NobmVsbCwgYWJoYWVuZ2lnIHZvbiBkZXIgU29yZ2xvc2lna2VpdCBkZXIgTW9lbmNoZS4KCjMyIHNpZWh0IGZ1ZXIgbWljaCBhdXMsIGFscyBvYiBkaWUga2VpbmUgRmFuZ3F1b3RlbiBoYWJlbi4KCjM4IE5pY2h0IGRhcyBCaWxkLCBzb25kZXJuIGRlciBEaXNjbGFpbWVyOiBKYSwgS3JpZWcgdG9ldGV0IHdhaGxsb3MuIE5laW4sCndlZ3NlaGVuIGhpbGZ0IG5pY2h0LgoKQnVudGUgU2FtbWx1bmcuIERhbmtlIGZ1ZXIgZGVuIExpbmsuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWW91dHViZSBtaXQgc3Bhc3MgZHJpbj8gKFZhbmlvbiwgIDIuIE9rdCAyMDA5LCAyMTowNDo1NCk6CgpTdWNodCBtYWwgbmFjaCBXS1VLIChXaGl0ZXN0IEtpZHMgVSdLbm93KS4gR3Jvc3NhcnRpZy4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogWW91dHViZSBtaXQgc3Bhc3MgZHJpbj8gKFplc3N0cmEsICAzLiBPa3QgMjAwOSwgMTA6NDY6MzQpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNTQ1MTAyOTQgcmc9d3d3Cn4jISB0aWQ9MTI1NDUxMDI5NApLYW5uIGljaCBpcmdlbmR3aWUgbmljaHQsIHdlcmRlIGRhIHdlaXRlcmdlbGVpdGV0IGF1ZiBlaW5lIExPZ2luc2VpdGUgdW5kIG5lbgpBY2NvdW50IGhhYiBpY2ggbmljaHQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFlvdXR1YmUgbWl0IHNwYXNzIGRyaW4/IChWYW5pb24sICA1LiBPa3QgMjAwOSwgMjI6Mzc6NTIpOgp+IyEgcm49WmVzc3RyYSBydD0xMjU0NTU5NTk0IHJnPXd3dwp+IyEgdGlkPTEyNTQ1MTAyOTQKWi5COgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9YVktbkdtNER4U1UKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWk0MExMWnVwbmc0CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vb253YWxrIHdhciBnZXN0ZXJuLi4uLi4gKEdub21lLCAgNi4gT2t0IDIwMDksIDAwOjA5OjE2KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEyNTQxNDc3MTcgcmc9d3d3Cn4jISB0aWQ9MTI1NDE0NzcxNwpzaWVodCBzZWhyIG5ldHQgYXVzLgpuZXR0IHNpbmQgYXVjaCBkaWUgY29tcGV0aXRpb25zIGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1IcTdTd1RKQ2huSQp1bmQgZG9ydCBzZWhyIGJlZWluZHJ1Y2tlbmQgZGllIHBvc2UgYmVpIDg6MDMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU2thbmRhbCBpbiBIYW1idXJnIChHbm9tZSwgIDYuIE9rdCAyMDA5LCAwMDoyMTowNyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjUyNTczODk4IHJnPXd3dwp+IyEgdGlkPTEyNTI1Njc0NjYKc29tbWVybG9jaCBoaW4gb2RlciBoZXI6IHNwaWVnZWwgVFYgemVpZ3QgdS5hLiBhYnN1cmRlIHNhY2hlbiwgZGllIHdpcgpzb25zdCBuaWNodCBvZGVyIG5pY2h0IGluIGRlbSBtYXNzZSBtaXRrcmllZ2VuIHd1ZXJkZW4uIHVuZCBpY2ggZmluZGUKZXMgYWV1c3NlcnN0IGFic3VyZCB1bmQgYXVjaCBiZWRlbmtsaWNoLCB3ZW5uIGRlcm1hc3NlbiBzdGV1ZXJnZWxkZXIKYXVmZ3J1bmQgZWluZXIgdW1nYW5nc3NwcmFjaGxpY2hlbiB3b3J0d2FobCBpbiBlaW5lbSBwaXhpLWJ1Y2ggdmVyc2Nod2VuZGV0CndlcmRlbi4gZnJ1ZWhlciBoYWV0dGUgbWFuIGFscyBwb2xpdGlrZXIgaW0gZ3VlbnN0aWdzdGVuIGZhbGwgZWluIG1pbGRlcwpsYWVjaGVsbiBnZWVybnRldCwgaW0gdW5ndWVuc3RpZ3N0ZW4gZmFsbCB3YWVyZW4gd29obCBkaWUgbWFlbm5lciBtaXQgZGVtCnp1c2FldHpsaWNoZW4gd2Vpc3NlbiBraXR0ZWwgYW5nZXJ1ZWNrdC4KYWJlciBoZXV0enV0YWdlLCB3byBqZWRlciBwb2xpdGlrZXIgbWVpbnQsIHNpY2ggaXJnZW5kd2llIHByb2ZpbGllcmVuCnp1IG11ZXNzZW4sIHdpcmQgZ2xlaWNoIGVpbiBnYW56ZXIgc2VuYXQgZGFtaXQgYmVzY2hhZWZ0aWd0Lgp3aXJrbGljaCBzY2hhZGUsIGRhc3MgcG9saXRpa2VyIGVpbmVuIGZlc3RlbiBtb25hdHNsb2huIGJla29tbWVuIHVuZApuaWNodCBuYWNoIGxlaXN0dW5nL2lkZWVuL3Vtc2V0enVuZ2VuIGJlemFobHQgd2VyZGVuLgppY2hyZWdtaWNoc2Nob253aWVkZXJhdWYuCgpnbk9tZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2thbmRhbCBpbiBIYW1idXJnIChHbG9pbnNvbiwgIDcuIE9rdCAyMDA5LCAwNDozMDoyMCk6Cn4jISBybj1Hbm9tZSBydD0xMjU0NzgxMjY3IHJnPXd3dwp+IyEgdGlkPTEyNTI1Njc0NjYKTmFjaCBMZWlzdHVuZyBiZXphaGx0ZSBQb2xpdGlrZXIgZ2lidCBlcyBpbiBqZWRlbSBndXRlbSBLb3JydXB0aW9uc3N5c3RlbSA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5vY2ggZWluIE1vbmRib21iYXJkZW1lbnQgKEdsb2luc29uLCAgNy4gT2t0IDIwMDksIDA1OjAzOjEwKToKaHR0cDovL3d3dy5hYmMxNS5jb20vbmV3cy9sb2NhbC9zdG9yeS9OQVNBLXRvLWJvbWItdGhlLU1vb24tb24tRnJpZGF5LW1vcm5pbmctCndhdGNoL0RXMEVIQ3JKUzBLeGJ0M3p4VVY2T0EuY3NweAoKRnJlaXRhZywgNDozMCBBcml6b25lIFRpbWUuIEZhbGxzIHNpY2ggYWxzbyBnZXJhZGUgd2VyIGF1ZiBkZW4gTGFlbmdlbmdyYWRlbgpoZXJ1bXRyZWlidC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUZWt1bWVsOiBBbHRlcm5hdGl2ZW4genUgRG5EIChHbG9pbnNvbiwgIDcuIE9rdCAyMDA5LCAwNjowMDo0OSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9zcGllbHpldWcvMCwxNTE4LDY0OTMzNiwwMC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmFybWVyIGNhdXNlcyB1ZGRlciBjaGFvcyAuLi4gKEdsb2luc29uLCAgOC4gT2t0IDIwMDksIDE0OjQ3OjE4KToKaHR0cDovL3d3dy50bXouY29tLzIwMDkvMTAvMDcvZmFybWVyLWNhdXNlcy11ZGRlci1jaGFvcy1pbi1icnVzc2Vscy8KCkljaCBmaW5kIGphIHNjaG9uIGRpZSBVZWJlcnNjaHJpZnQgZ2VuaWFsLiBEYXMgQmlsZCBzZXR6dCBkYXMgLi4uClNhaG5laGFldWJjaGVuIGF1ZiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBDdXJlIG1hbCBhbmRlcnMgKFZhbmlvbiwgIDguIE9rdCAyMDA5LCAyMjoxNTo0Mik6Cmh0dHA6Ly93d3cuYXJ0ZS50di9kZS9WaWRlb3MtYXVmLUFSVEUtVFYvMjE1MTE2NixDbUM9MjgwMzIzMi5odG1sCgpMaWVmIHZvciBuZXIgV2VpbGUgYXVmIEFydGUuIFdvdyEKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpodHRwOi8vbWF0aG92ZXJmbG93Lm5ldC8gKEdsb2luc29uLCAxMy4gT2t0IDIwMDksIDE5OjMwOjMzKToKU3RhY2tvdmVyZmxvdyBrZW5uZW4gc2ljaGVybGljaCBlaW5pZSBQcm9ncmFtbWllcmVyIHVudGVyIHVucy4gSmV0enQgZGFzIEdhbnplCmluIE1hdGhlbWF0aWsgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lIE1pbGxpb24gR2lyYWZmZW4gc2FtbWVsbiAoTWVzaXJpaSwgMTQuIE9rdCAyMDA5LCAyMjowOTo1MCk6Cmh0dHA6Ly93d3cub2xhaGVsbGFuZC5uZXQvZ2lyYWZmZXMvCk5ldHRlIElkZWUKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIEZJTE0hIChHbG9pbnNvbiwgMTQuIE9rdCAyMDA5LCAyMzo0OTowOCk6Cmh0dHA6Ly93d3cuaW1kYi5jb20vdGl0bGUvdHQxMzIwMjUzLwoKIlRoZSBFeHBlbmRhYmxlIiB2b24gdW5kIG1pdCBTdGFsbG9uZS4gVW5kIG1pdCBTdGF0aGFtLCBMaSwgTHVuZGdyZW4gLi4uCgpIcnJyLiBEZXIgd2lyZCBiZXN0aW1tdCBsdXN0aWcuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBGSUxNISAoSHVtbmksIDE1LiBPa3QgMjAwOSwgMDA6MDY6MjgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI1NTU1Njk0OCByZz13d3cKfiMhIHRpZD0xMjU1NTU2OTQ4ClVpLiBGcmV1IG1pY2ggc2Nob24gZHJhdWYuIAoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGVyIEZJTE0hIChSdW1hdGEsIDE1LiBPa3QgMjAwOSwgMTA6MDI6MzgpOgp+IyEgcm49SHVtbmkgcnQ9MTI1NTU1Nzk4OCByZz13d3cKfiMhIHRpZD0xMjU1NTU2OTQ4CkljaCBibGVpYmUgYmVpIE1QLiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hY2hpbmFyaXVtIChDcm9mdCwgMTkuIE9rdCAyMDA5LCAwODozNjowNCk6Ck1hbCB3aWVkZXIgZWluIG5ldHRlcyBGbGFzaHB1enpsZSAoRGVtbyk6Cm1hY2hpbmFyaXVtLm5ldAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBNYXVlciAuLi4gKEdsb2luc29uLCAyMy4gT2t0IDIwMDksIDIzOjMzOjQ5KToKLi4uIG1lbnNjaGxpY2ggbmFjaGdlYmF1dDoKCmh0dHA6Ly93d3cubWF1ZXItbW9iLmNvbS9ob21lLnBocAoKS3VyemZvcm06IGFtIDkuIE5vdmVtYmVyIHZlcnN1Y2hlbiAzM2sgTWVuc2NoZW4gZGllIE1hdWVyIG1pdCBpaHJlcgpQcmFlc2VueiBuYWNoenVzdGVsbGVuLiBLb2VubnRlIGltcG9zYW50IGF1c3NlaGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1heSB0aGUgZm9yY2UgYmUgd2l0aCB5b3UgLi4uIChHbG9pbnNvbiwgMjcuIE9rdCAyMDA5LCAxNDozNjozMSk6Cmh0dHA6Ly9hcnMudXNlcmZyaWVuZGx5Lm9yZy9jYXJ0b29ucy8/aWQ9MjAwOTEwMjYKaHR0cDovL2Fycy51c2VyZnJpZW5kbHkub3JnL2NhcnRvb25zLz9pZD0yMDA5MTAyNwoKSHJocmhyIDpECgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1heSB0aGUgZm9yY2UgYmUgd2l0aCB5b3UgLi4uIChSdW1hdGEsIDI3LiBPa3QgMjAwOSwgMTU6MTk6MTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI1NjY1MDU5MSByZz13d3cKfiMhIHRpZD0xMjU2NjUwNTkxCk11c3MgZGFzIG5pY2h0ICJJIGhhdmUgYSBiYWQgZmVlbGluZyBhYm91dCB0aGlzIiBoZWlzc2VuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVmIGVpbmVyIFNjaHdhbGJlIHZvbiBIYW1idXJnIG5hY2ggS2Fwc3RhZHQgKEdydW1wZiwgMTUuIE5vdiAyMDA5LCAwMDoyODoyMSk6CkludGVyZXNzYW50ZXIgUmVpc2ViZXJpY2h0IGVpbmVzIE1lbnNjaGVuIGRlciBtaXQgZWluZW0gNTBlciBNb3BwZWQgdm9uCkRldXRzY2hsYW5kIG5hY2ggU3VlZGFmcmlrYSByZWlzdCwgYWJzb2x1dCBsZXNlbnN3ZXJ0LgpodHRwOi8vc2xvd3dheWRvd24uY29tCgpHcnVtcGYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdWYgZWluZXIgU2Nod2FsYmUgdm9uIEhhbWJ1cmcgbmFjaCBLYXBzdGFkdCAoVmFuaW9uLCAxNS4gTm92IDIwMDksIDA5OjM1OjA1KToKfiMhIHJuPUdydW1wZiBydD0xMjU4MjQxMzAxIHJnPXd3dwp+IyEgdGlkPTEyNTgyNDEzMDEKRWluIGVoZW1hbGlnZXIgQXJiZWl0c2tvbGxlZ2Ugdm9uIG1pciwgamV0enQgaW0gUnVoZXN0YW5kLCBoaWVsdCBlcyB6dWhhdXNlCmF1Y2ggbmljaHQgYXVzLgoKTm9yZGVyc3RlZHQgKEhhbWJ1cmcpIC1NZWxidXJlIGlzdCBzZWluZSBTdHJlY2tlLiBEYXMgUmFkIHNlaW4gZ2V3YWVobHRlcwpGYWhyemV1Zy4gOSBNb25hdGUgZ2VwbGFudGUgRGF1ZXIuIERlcnplaXQgaXN0IGVyIGluIEluZGllbi4KCmh0dHA6Ly93d3cuc2F1ZXJiZXJnLW9ubGluZS5kZS9Ob3JkZXJzdGVkdC1NZWxib3VybmUvP3BhZ2VfaWQ9Nzk5CgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTXVkLUxpc3RlIChDYWxkcmEsIDI2LiBOb3YgMjAwOSwgMTY6NTg6MjIpOgpJc3QgaXJnZW5kamVtYW5kZW0gc2Nob24gbWFsIGF1ZmdlZmFsbGVuLCBkYXNzIHVuc2VyIEVpbnRyYWcgaW4gZGVyIE11ZGxpc3RlCmF1ZiB3d3cubXVkLmRlIGhvZmZudW5nc2xvcyB2ZXJhbHRldCBpc3Q/IFdlciBrYW5uIGRhcyBtYWwga29ycmlnaWVyZW4/CgpDYWxkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNdWQtTGlzdGUgKENyb2Z0LCAyNi4gTm92IDIwMDksIDE3OjAzOjUyKToKfiMhIHJuPUNhbGRyYSBydD0xMjU5MjUxMTAyIHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKVW5kIGlzdCBkaXIgYXVmZ2VmYWxsZW4gd2llIGhvY2ggZGVyIFByb3plbnRzYXR6IGRlciBNdWRzIGlzdCBkZXIgdW50ZXIKZGVtIGdsZWljaGVuIFByb2JsZW0gbGVpZGV0PyA6LSkKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE11ZC1MaXN0ZSAoQW50aGVhLCAyNi4gTm92IDIwMDksIDE3OjEyOjA0KToKfiMhIHJuPUNyb2Z0IHJ0PTEyNTkyNTE0MzIgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpEYSB3aXJkIGphIHNvZ2FyIFRBUFBNdWQgbm9jaCBhbHMgb2ZmZW4gYW5nZXplaWd0IDooCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWQtTGlzdGUgKFplc3N0cmEsIDI2LiBOb3YgMjAwOSwgMTg6NDI6MDUpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTkyNTE5MjQgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpFaWdlbnRsaWNoIGlzdCBkYXMgJ3JpY2h0aWdlJyBtdWQuZGUgamEgYXVjaCBkZXYubXVkLmRlLCBhYmVyIGRhIG11ZXNzdGUKdmllbGxlaWNodCBtYWwgamVtYW5kIGRhcyBDTkFNRSBvZGVyIEEgaW0gRE5TIGFucGFzc2VuLi4uIE9kZXIgc28uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNdWQtTGlzdGUgKFpvb2ssIDI3LiBOb3YgMjAwOSwgMTQ6Mzk6MjgpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTkyNTE5MjQgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgppc3QgZXMgZGFzIG5pY2h0IG1laHI/CnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZC1MaXN0ZSAoTWFyY3VzLCAyNy4gTm92IDIwMDksIDE2OjE5OjM2KToKfiMhIHJuPVpvb2sgcnQ9MTI1OTMyOTE2OCByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCk5laW4sIGRlciBSZWNobmVyIGlzdCBrYXB1dHQgZ2VnYW5nZW4uCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IE11ZC1MaXN0ZSAoWmVzc3RyYSwgMjcuIE5vdiAyMDA5LCAxNjoyMTo1OSk6Cn4jISBybj1NYXJjdXMgcnQ9MTI1OTMzNTE3NiByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCldhcyBtaWNoIHdpZWRlciB6dSBkZXIgSWRlZSB6dXJ1ZWNrYnJpbmd0LCBvYiBzaWNoIG5pY2h0IGhldXR6dXRhZ2UgbWVocmVyZQpNdWRzIG5lbiBSZWNobmVyIG1pdCBNZWhya2VybnByb3plc3NvcmVuLCBzY2huZWxsZXIgUGxhdHRlIHVuZCB2aWVsIFNwZWljaGVyCnRlaWxlbiBrb2VubnRlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IE11ZC1MaXN0ZSAoR2xvaW5zb24sIDI3LiBOb3YgMjAwOSwgMTY6NTM6MjkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjU5MzM1MzE5IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKS29lbm5lbiBiZXN0aW1tdC4gU2NoZWl0ZXJ0IG51ciBhbiBadWdhbmcgdW5kIEFkbWluaXN0cmF0aW9uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11cHBldHMgY292ZXJuIFF1ZWVuIChDaGFnYWxsLCAyNy4gTm92IDIwMDksIDE4OjU1OjE0KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXRnYk55bVo3dnFZCkRpZSBNdXBwZXRzdmVyc2lvbiB2b24gQm9oZW1pYW4gUmhhcHNvZHkuCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11cHBldHMgY292ZXJuIFF1ZWVuIChDcm9mdCwgMjcuIE5vdiAyMDA5LCAxOToyMTo0MCk6Cn4jISBybj1DaGFnYWxsIHJ0PTEyNTkzNDQ1MTQgcmc9d3d3Cn4jISB0aWQ9MTI1OTM0NDUxNAoqdHJpbmt0IGVpbiBCaWVyIGF1ZiBGcmVkZGllKgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE11ZC1MaXN0ZSAoQW15bnRob3IsIDI3LiBOb3YgMjAwOSwgMjM6MDQ6NTApOgp+IyEgcm49WmVzc3RyYSBydD0xMjU5MjU3MzI1IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKTmFjaGRlbSBpY2ggZGllIFN0eWxlc2hlZXRzIGFiZ2VzY2hhbHRldCBoYWJlLCBmaW5kZSBpY2ggZGFzIERlc2lnbiB2b24KZGV2Lm11ZC5kZSB0YXRzYWVjaGxpY2ggZ2FueiBvay4uLgoKKmdydXNlbCoKCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW5zZXJlIEt1bmRlbiAoQXJrLCAgMi4gRGV6IDIwMDksIDEzOjI2OjQ2KToKS29tbXQgbWlyIG1hbmNoZXMgbnVyIGFsbHp1IGJla2FubnQgdm9yOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9SkkzRGY3LUtGdHcKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpIaWdsYW5kZXIgaXN0IFBhcGEgKEd3ZW4sICAyLiBEZXogMjAwOSwgMjA6MjI6MjYpOgpvZGVyIHNvLgpPYiBkYXMgdm9uIHVuc2VyZW0gSGlnaGxhbmRlciBpc3Q/Cmh0dHA6Ly9nZXJtYW4tYmFzaC5vcmcvMjg2NjM0Ckd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGlnbGFuZGVyIGlzdCBQYXBhIChBbnRoZWEsICAzLiBEZXogMjAwOSwgMDk6MDA6MDMpOgp+IyEgcm49R3dlbiBydD0xMjU5NzgxNzQ2IHJnPXd3dwp+IyEgdGlkPTEyNTk3ODE3NDYKSW1tZXIgZGllc2UgR2VydWVjaHRldmVyYnJlaXRlci4gSGlnaGxhbmRlcnMgTmFjaHd1Y2hzIGlzdCBuaWNodCB2b24gZGllc2VtCkphaHIsIHVuZCBhdWNoIGtlaW4gTmF6aS1NYXhpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIaWdsYW5kZXIgaXN0IFBhcGEgKEhpZ2hsYW5kZXIsICAzLiBEZXogMjAwOSwgMTE6MzQ6MjEpOgp+IyEgcm49QW50aGVhIHJ0PTEyNTk4MjcyMDMgcmc9d3d3Cn4jISB0aWQ9MTI1OTc4MTc0NgpBYmdlc2VoZW4gZGF2b24sIGRhc3MgZGVyIEhpZ2hsYW5kZXIgZGEgZGFzIGJlcmljaHRldCB1bmQgbmljaHQKdW5iZWRpbmd0IHNlbGJlciBiZXRyb2ZmZW4gaXN0LCBiaW4gaWNoIGltIElSQyBuaWNodCBhbHMgSGlnaGxhbmRlcgp1bnRlcndlZ3MuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNjaGFsbGRhZW1wZmVyIC4uLiAoR2xvaW5zb24sICA1LiBEZXogMjAwOSwgMDM6MzI6NDApOgpodHRwOi8vdGlueXVybC5jb20va2VpbmJ1bW1zCgpIb2x5IE1vbHkhIEFiZXIgc2Nob24gdmVyc2Nocm90dGV0IDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogTXVkLUxpc3RlIChNZXNpcmlpLCAgNi4gRGV6IDIwMDksIDA5OjE1OjExKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNTkzMzcyMDkgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgp2aXJ0dWFsaXNpZXJ1bmcgPyBTb2xsdGUgZG9jaCBrZWluIHByb2JsZW0gc2VpbiwgZWluIGphaWwgcHJvIG11ZCBhdWZ6dXNldHplbi4KTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVkLUxpc3RlIChHbG9pbnNvbiwgIDYuIERleiAyMDA5LCAxNjoxOTowMyk6Cn4jISBybj1NZXNpcmlpIHJ0PTEyNjAwODczMTEgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpJY2ggbWVpbnRlIGVoZXIgZGllIHVlYmVyZ2VvcmRuZXRlIEFkbWluaXN0cmF0aW9uLiBOaWNodCBkaWUgZGVzIE1VRHMuIFdlcgprdWVtbWVydCBzaWNoIHVtIGVpbmUga2FwdXR0ZSBWTSB1bmQgd2VyIGtvdHp0LCB3ZW5uIHNpY2gga2VpbmVyIGt1ZW1tZXJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk1hbCB3YXMgZnVlciBRdWVyZGVua2VyIChBbnRoZWEsICA3LiBEZXogMjAwOSwgMDk6NTk6MjcpOgpodHRwOi8vYW50aW1hdHRlcjE1LmNvbS9taXNjL3JvdGF0ZWRnb29nbGVjc3MzLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmluIGJ1Y2ggKEtlbGx5YnVuZHksICA3LiBEZXogMjAwOSwgMjA6MTc6MTUpOgpJY2ggYmluIGRhcyB3ZWlzc2UgU2NoYWYgZGVyIEdpbGRlLiAqaGV1bCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpbiBidWNoIChLZWxseWJ1bmR5LCAgNy4gRGV6IDIwMDksIDIwOjE4OjAwKToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTI2MDIxMzQzNSByZz13d3cKfiMhIHRpZD0xMjYwMjEzNDM1CnVwcHMuIHNvbGx0ZSBlaWdlbnRsaWNoIGluIGRhcyBCdWNoIGRlciBTdWVuZGVyIGluIGRlciBHaWxkZW5iaWIgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogaW4gYnVjaCAoUnVtYXRhLCAgNy4gRGV6IDIwMDksIDIwOjMwOjI0KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTI2MDIxMzQ4MCByZz13d3cKfiMhIHRpZD0xMjYwMjEzNDM1Ck9jaCwgZGFzIHBhc3N0IHNjaG9uIGluIGRpZSBSdWJyaWsgIldhZWggd2FlaCB3YWVoIiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmluIG1wYSAoQXJrLCAgNy4gRGV6IDIwMDksIDIwOjUxOjA3KToKSWNoIG11c3MgZWluZmFjaCBhbGxlcyBuYWNobWFjaGVuLiAqd2VpbioKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogaW4gbXBhIChHbG9pbnNvbiwgIDcuIERleiAyMDA5LCAyMDo1ODo1OCk6Cn4jISBybj1BcmsgcnQ9MTI2MDIxNTQ2NyByZz13d3cKfiMhIHRpZD0xMjYwMjE1NDY3CkFsYmVybiwgYWxiZXJuLCBhcmJlcm4sIGFya2VybiwgYXJrYmVybiAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXdW5zY2hsaXN0ZSB6dSBXZWlobmFjaHRlbiAoVmFuaXIsICA3LiBEZXogMjAwOSwgMjE6Mzk6MTkpOgpJY2ggd2Vpc3Mgd2VyIHNpY2gKaHR0cDovL3d3dy5kZWFsZXh0cmVtZS5jb20vZGV0YWlscy5keC9za3UuMTcyNjUKd3VlbnNjaHQuCgpWLgo6a2ljaGVydCBhbGJlcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV3Vuc2NobGlzdGUgenUgV2VpaG5hY2h0ZW4gKEdsb2luc29uLCAgNy4gRGV6IDIwMDksIDIyOjA2OjM5KToKfiMhIHJuPVZhbmlyIHJ0PTEyNjAyMTgzNTkgcmc9d3d3Cn4jISB0aWQ9MTI2MDIxODM1OQpIcmtocmsgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJUHM/IChHbG9pbnNvbiwgIDcuIERleiAyMDA5LCAyMzo1MToyNSk6Cktlbm50IHNjaG9uIGplZGVyLCBhdXNzZXIgbWlyLCBvZGVyPwoKaHR0cDovL3d3dy5tb2FubXlpcC5jb20vCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IElQcz8gKFplc3N0cmEsICA3LiBEZXogMjAwOSwgMjM6NTM6NTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2MDIyNjI4NSByZz13d3cKfiMhIHRpZD0xMjYwMjI2Mjg1ClNjaGFkZSwgbWl0IG5lciBJUHY2LUFkcmVzc2UgZ2VodCBkYXMgbmljaHQuLi4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IElQcz8gKEFtYXJ5bGxpcywgIDcuIERleiAyMDA5LCAyMzo1NDo1Myk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNjAyMjY0Mzkgcmc9d3d3Cn4jISB0aWQ9MTI2MDIyNjI4NQpNaXN0LCB6dXZvcmdla29tbWVuIDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJUHM/IChHbG9pbnNvbiwgIDguIERleiAyMDA5LCAwMDowNzo1MCk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTI2MDIyNjQ5MyByZz13d3cKfiMhIHRpZD0xMjYwMjI2Mjg1ClRqYS4gWnUgbGFuZyAuLi4uIDpQCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSVBzPyAoUnVtYXRhLCAgOC4gRGV6IDIwMDksIDA5OjM1OjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNjAyMjcyNzAgcmc9d3d3Cn4jISB0aWQ9MTI2MDIyNjI4NQpBREQgQSBGRVcgSU5DSEVTIFRPIFlPVVIgSVAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IE11ZC1MaXN0ZSAoVmFyZGlvbiwgIDguIERleiAyMDA5LCAxODowODoyMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjU5MzM3MjA5IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKRGFtaXQgd2FydGUgZGFubiBhdWNoIGdsZWljaCBkYXMgVGhlbWEgIlJlY2huZXJ3ZWNoc2VsIHVuZCBTdHJvbWF1c2ZhbGwgb2huZQpSZWJvb3QiIGdla2xhZXJ0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogTXVkLUxpc3RlIChHbG9pbnNvbiwgIDkuIERleiAyMDA5LCAwNToyOToxNCk6Cn4jISBybj1WYXJkaW9uIHJ0PTEyNjAyOTIxMDEgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpJY2ggZGVua2UgUmVib290cyBwYXNzaWVyZW4gbGV0enR6ZWl0IHdlbmlnZXIgd2VnZW4gUmVjaGVucndlY2hzZWxuLCBlaGVyIG1hbAp3ZWdlbiBVcGRhdGVzIGF1ZiBkZW0gUmVjaG5lci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBNdWQtTGlzdGUgKFZhcmRpb24sIDExLiBEZXogMjAwOSwgMTk6NDc6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2MDMzMjk1NCByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCkRhbm4ga29lbm50ZSBtYW4gaW1tZXIgbm9jaCBWTSBlaW5mcmllcmVuLCBSZWNobmVyIGFrdHVhbGlzaWVyZW4sIFZNIGF1ZnRhdWVuLgpJbm5lcmhhbGIgZGVyIFZNIHJlaWNodCBqYSBlaW4gYWJzb2x1dGVzIE1pbmltYWxzeXN0ZW0uIE51ciBnZWdlbgpEcml2ZXJ1cGRhdGVzIGhpbGZ0IGRpZSBWTSBuaWNodC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IE11ZC1MaXN0ZSAoR2xvaW5zb24sIDExLiBEZXogMjAwOSwgMjA6Mzg6MjIpOgp+IyEgcm49VmFyZGlvbiBydD0xMjYwNTU3MjY0IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKRXMgZ2VodCB1bSBkYXMgVXBkYXRlIGRlcyBWTS1PUy4gQXVjaCBkYXMgbWFnIG1hbiBuaWNodCBnZXJuIGtvbXByb21pdHRpZXJ0LgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBNdWQtTGlzdGUgKFZhcmRpb24sIDEyLiBEZXogMjAwOSwgMjE6NDg6MzMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2MDU2MDMwMiByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCkluIGRlciBWTSBicmF1Y2hzdGUgamEgaW0gUHJpbnppcCBudXIgc2VociB3ZW5pZ2UgQmluYXJpZXM6IEtlcm5lbCwgSW5pdCwKSXB0YWJsZXMsIEtuZnNkLCBTaGVsbCwgR2FtZWRyaXZlci4gRGllIEJpbmFyaWVzIHdlcmRlbiBzdGF0aXNjaCBnZWxpbmt0LCBkYW5uCndpcmQgZGFzIEZpbGVzeXN0ZW0gZWNodCB1ZWJlcnNpY2h0bGljaC4gVW5kIGFuIGRpZXNlbiB3ZW5pZ2VuIERhdGVpZW4Kc29sbHRlc3QgRHUgbmljaHQgb2Z0IFBhdGNoZXMgYmVubm9ldGlnZW4uIERhcyBrb21wbGV0dGUgTXVkdmVyemVpY2huaXMgd2lyZApwZXIga25mcyBhbiBkZW4gSG9zdCBleHBvcnRpZXJ0LCBzbyBkYXNzIEFlbmRlcnVuZ2VuIGFuIE11ZG9iamVrdGVuIHVuZApCYWNrdXBzIHZvbiBhdXNzZW4gbW9lZ2xpY2ggc2luZC4gQXVzc2VyIFRlbG5ldCBhdWYgZGVuIE11ZHBvcnQgdW5kIG5mcyB6dW0KSG9zdCBiZWtvbW10IGRpZSBWTSBrZWluZXJsZWkgTmV0endlcmt2ZXJiaW5kdW5nZW4uIFNvbGx0ZSBkYW5uIGlubmVyaGFsYiBkZXIKVk0gZG9jaCBtYWwgZXR3YXMgVW5mdWcgdmVyYW5zdGFsdGVuLCBrb21tdCBlcyBuaWNodCByYXVzLiBFaW5lbiBTYXViZXJlbgpPUy1TdGFuZCBrYW5uc3QgRHUgYWxzIFNuYXBzaG90IGRlciBWTSBoYWx0ZW4sIHVuZCB2b24gZGVuIEMvTy1GaWxlcyBkZXMgTXVkcwpoYXN0IER1IEJhY2t1cHMgb2RlciBnbGVpY2ggZWluIHN2bi9naXQvd2FzYXVjaGltbWVyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogTXVkLUxpc3RlIChab29rLCAxMy4gRGV6IDIwMDksIDE5OjMyOjI5KToKfiMhIHJuPVZhcmRpb24gcnQ9MTI2MDY1MDkxMyByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCndvbWl0IHd1ZXJkZXN0IGR1IGRlbm4gdmlydHVhbGlzaWVyZW4/IHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiBNdWQtTGlzdGUgKFZhcmRpb24sIDE1LiBEZXogMjAwOSwgMjA6Mzk6MTQpOgp+IyEgcm49Wm9vayBydD0xMjYwNzI5MTQ5IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKVm9tIEdlc2ljaHRzcHVua3QgImRhcmYgbnVyIHdlbmlnIGJpcyBnYXJuaWNodHMiIGtvc3RlbiBoZXIga2FlbWVuIFhlbiB1bmQKVmlydHVhbGJveCBoZWFkbGVzcyBpbiBGcmFnZS4gRmFsbHMgbWFuIFNuYXBzaG90cyBtb2VjaHRlLCB3YXJlIG1hbiBiZWkKVmlydHVhbGJveCwgd2VpbCBkaWUga29zdGVuZnJlaWUgWGVuLVZlcnNpb24gZGEgRWluc2NocmFlbmt1bmdlbiBoYXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNDogTXVkLUxpc3RlIChaZXNzdHJhLCAxNS4gRGV6IDIwMDksIDIzOjQyOjQ5KToKfiMhIHJuPVZhcmRpb24gcnQ9MTI2MDkwNTk1NCByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCldvYmVpIG1hbiBkYXp1IHNhZ2VuIG11c3MsIGRhc3MgZGVyIERyaXZlciBoZXV0enV0YWdlIGRpdi4gb3B0aW9uYWxlCkFiaGFlbmdpZ2tlaXRlbiB6dSBhbmRlcmVyIFNvZnR3YXJlIGhhdDogbGlicGNyZSwgbGlibXlzcWwsIGxpYnBnc3FsLApsaWJzcWxpdGUsIGdudXRscywgbGlic3NsLCBsaWJjcnlwdG8sIGxpYnhtbDIsIGxpYmlrc2VtZWwsIGxpYmdjcnlwdCBuZWJzdApkZXJlbiBBYmhhZW5naWdrZWl0ZW4gZmFsbGVuIG1pciBnZXJhZGUgZWluLiBTbyBzdGF0aXNjaCBpc3QgZGFzIFZNLVN5c3RlbQpkYW5uIG5pY2h0IG1laHIuCkljaCB3dWVyZGUgc28gZWluZSBWaXJ0dWFsaXNpZXJ1bmcgcHJpbWFlciB2b3IgZGVtIEdlc2ljaHRzcHVua3QgZGVyIFRyZW5udW5nCnZvbiB2ZXJzY2hpZWRlbmVuIE51dHplcm4vT3JnYW5pc2F0aW9uZW4gdWViZXJsZWdlbiwgd2VuaWdlciB6dXIgVmVybGFlbmdlcnVuZwpkZXIgVXB0aW1lcyAoZGllIHNpbmQgamEgbGV0enRlbmRsaWNoIGR1cmNoYXVzIGF1c3JlaWNoZW5kKS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiBNdWQtTGlzdGUgKEdub21lLCAxNi4gRGV6IDIwMDksIDEyOjA0OjMyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI2MDkxNjk2OSByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCnVuZCB3ZW5uIHNpY2ggbWVocmVyZSBtdWRzIGVpbmVuIHJlY2huZXIgdGVpbGVuLCBpc3QgZGllIHdhaHJzY2hlaW5saWNoa2VpdApkYW5uIGF1Y2ggd2llZGVyIGdsZWljaCBzZWhyIHZpZWwgaG9laGVyLCBkYXNzIGVzIC0gdHJvdHogbXVsdGljb3JlIHVuZAp2aWVsIHJhbSAtIGltIGhvY2hiZXRyaWViIGxlaXN0dW5nc2VuZ3BhZXNzZSBnaWJ0LgplaWdlbnRsaWNoIHNpbmQgd2lyIGRvY2ggYWxsZSBnYW56IGZyb2gsIGRhc3MgZGllIHplaXRlbiBkZXMgcmVjaG5lci0KYmVkaW5ndGVuIGxhZ3Mgdm9yYmVpIHNpbmQuLi4gb2RlciBuaWNodD8KCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogTXVkLUxpc3RlIChDcm9mdCwgMTYuIERleiAyMDA5LCAxMjowNzozMCk6Cn4jISBybj1Hbm9tZSBydD0xMjYwOTYxNDcyIHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKVW5kIHdpZSBncm9zcyBpc3QgZGllIFdhaHJzY2hlaW5saWNoa2VpdCBkYW5uPwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE3OiBNdWQtTGlzdGUgKEdub21lLCAxNi4gRGV6IDIwMDksIDEyOjQyOjIzKToKfiMhIHJuPUNyb2Z0IHJ0PTEyNjA5NjE2NTAgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpkYXMga2FubnN0IGR1IGphIG1hbCBhdXNyZWNobmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTg6IE11ZC1MaXN0ZSAoQ3JvZnQsIDE2LiBEZXogMjAwOSwgMTQ6MTU6MTIpOgp+IyEgcm49R25vbWUgcnQ9MTI2MDk2Mzc0MyByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCkRhbm4gZ2liIG1hbCBtZWhyIElucHV0LgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiBNdWQtTGlzdGUgKEFuYXRvbCwgMTYuIERleiAyMDA5LCAyMDoyNzo0OSk6Cn4jISBybj1Dcm9mdCBydD0xMjYwOTY5MzEyIHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKRW5ncGFlc3NlPyBEdXJjaCB3YXM/IER1cmNoIGVpbiBNdWQgbWl0IE1HbGliPyBBZWguLi4gb2theS4gV2VubiBEdSBtZWluc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjA6IE11ZC1MaXN0ZSAoQ3JvZnQsIDE3LiBEZXogMjAwOSwgMDA6MDg6NDIpOgp+IyEgcm49QW5hdG9sIHJ0PTEyNjA5OTE2Njkgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpFYmVuLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE2OiBNdWQtTGlzdGUgKEdsb2luc29uLCAxNy4gRGV6IDIwMDksIDA3OjIyOjA4KToKfiMhIHJuPUdub21lIHJ0PTEyNjA5NjE0NzIgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpEYXMgUHJvYmxlbSBoYXN0IGR1IGVyc3QgZGFubiwgd2VubiBkaWUgRHJpdmVyLVNjaHJhdWJlciBhdWYgTXVsdGl0aHJlYWRlZCBtaXQKbWVociBhbHMgMiBHQiBOdXR6dW5nIHVtc3RlbGxlbi4KCldoYXRldmVyLCBpY2ggc2VoIGhpZXIga2VpbmVuIEFkbWluIG1pdCBkZW0gImljaCB3aWxsIi1TY2hlaW4gd2lua2VuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IE11ZC1MaXN0ZSAoWmVzc3RyYSwgMTcuIERleiAyMDA5LCAxMDowNDoyNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjYxMDMwOTI4IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKTWVociBhbHMgMkdCIGdlaHQsIGVzIGdpYnQgc29nYXIgTXVkcywgZGllIGRhcyBtYWNoZW4gKGRhcyBCYXRNdWQgaGF0IHouYi4KbWVocmVyZSBodW5kZXJ0IGVpbmdlbG9nZ3RlIFNwaWVsZXIpLiBNdWx0aXRocmVhZGVkIHNlaCBpY2ggYWxsZXJkaW5ncyBuaWNodApzbyBmdXJjaHRiYXIgc2NobmVsbCBrb21tZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogTXVkLUxpc3RlIChHbG9pbnNvbiwgMTcuIERleiAyMDA5LCAxMDowNzozMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyNjEwNDA2NjQgcmc9d3d3Cn4jISB0aWQ9MTI1OTI1MTEwMgpXb2hlciBoYWJlbiBkaWUgZGllc2UgU3BpZWxlciB1bmQgd2llIGthbm4gbWFuIGRpZXNlIFNwaWVsZXIgZXJwcmVzc2VuLCBiZWkKdW5zIHp1IHNwaWVsZW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTk6IE11ZC1MaXN0ZSAoWmVzc3RyYSwgMTcuIERleiAyMDA5LCAxMDoxMjozOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjYxMDQwODUzIHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKR3V0ZSBGcmFnZS4uLiBBbHNvLCBlcnN0bWFsIHNpbmQgc2llIGVuZ2xpc2Noc3ByYWNoaWcgdW5kIGhhYmVuIGRhbWl0IGVpbmVuCmRldXRsaWNoIGdyb2Vzc2VyZW4gRWluenVnc2JlcmVpY2guIEFuc29uc3Rlbi4uLiBtZWRpZXZhbCBmYW50YXN5LCBXZWx0Z3JvZXNzZQo+IDIwayBSYWV1bWUsIEV4aXN0ZW56IHNlaXQgMTk5MCwgLi4uIEdydW5kc2FldHpsaWNoIHNpbmQgc2llIGVpZ2VudGxpY2ggbmljaHQKc28gdW50ZXJzY2hpZWRsaWNoIHp1IHVucy4gOy0pCmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQmF0TVVECmh0dHA6Ly93d3cuYmF0Lm9yZy9iYXRyeS8KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBNdWQtTGlzdGUgKEdsb2luc29uLCAxNy4gRGV6IDIwMDksIDEwOjE3OjM5KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI2MTA0MTE1OCByZz13d3cKfiMhIHRpZD0xMjU5MjUxMTAyCkFiZXIhIEFiZXIhIEFiZXIhIC4uLiBiZWkgdW5zIHNpbmd0IFRva2lhIEhvdGVsIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBvZXNlciBQdXJjaGUgKFJ1bWF0YSwgMTcuIERleiAyMDA5LCAxODoyMToyNik6CkFuZCBoZXJlIHRoZSBtb3N0IGV2MTExbCBnYW5nc3RhOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eEMwM2htUzFCcmsmZmVhdHVyZT1yZWxhdGVkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYW50YT1TYXRhbj8gKFZhbmlyLCAyMC4gRGV6IDIwMDksIDAwOjEzOjQ2KToKU2VoZW5zd2VydGVyIEt1cnpmaWxtOgpCaWxsIFBseW1wdG9uJ3MgU2FudGEgdGhlIEZhc2Npc3QgWWVhcnMgYnkgU2hvcnR6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1vOGtPQkFnN2ttUQoKSGF2ZSBmdW4KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiBNdWQtTGlzdGUgKFZhcmRpb24sIDIwLiBEZXogMjAwOSwgMjA6NTQ6MzkpOgp+IyEgcm49WmVzc3RyYSBydD0xMjYxMDQxMTU4IHJnPXd3dwp+IyEgdGlkPTEyNTkyNTExMDIKRGVyIEJhdGNsaWVudCAobWl0IGR5bmFtaXNjaGVyIEthcnRlKSBzaWVodCBodWVic2NoIGF1cyB1bmQgaXN0IHNjaG9uIGVpbgpnZXdpc3NlcyBBbGxlaW5zdGVsbHVuZ3NtZXJrbWFsLiBBbnNvbnN0ZW4gbGVzZSBpY2ggZGEgd2FzIHZvbiA0NCBSYXNzZW4sCkthbXBmb3JpZW50aWVydW5nLCBDcmFmdGluZy4uLiBhbHNvIGFsbGVpbiB2b20gbGVzZW4gZGVyIFdlYnNlaXRlIHNpbmQgc2llCnNjaG9uIHNlaHIgdW50ZXJzY2hpZWRsaWNoIHp1bSBNRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm8gdGVtcG9yYSBvIG1vcmVzIChWZWN0b3IsIDI4LiBEZXogMjAwOSwgMTQ6MDY6NDgpOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTdrVjI3X2pJSXc0CgouLi5kaWUgbWFlY2h0aWdlbiBtb3BzLXNjaGF1ZmVsbi4uLiA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKa2xpbmdlbHRvZW5lIChWZWN0b3IsIDI5LiBEZXogMjAwOSwgMjE6MDQ6MzYpOgoKZW5kbGljaCBtYWwgb3JkZW50bGljaGUga2xpbmdlbHRvZW5lIGZ1ZXJzIGhhbmR5CgpodHRwOi8vd3d3LnNjdW1tYmFyLmNvbS90eC9nYW1lcy9tdXNpYy8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdyZWF0IEJyaXRhaW4gLi4uIHRoZSBkYXkgYWZ0ZXIgLi4uIChHbG9pbnNvbiwgIDguIEphbiAyMDEwLCAwNzo0NjozMSk6Ci4uLiBpdCBzbm93ZWQgcHJvcGVybHkgYWdhaW4uIEVybSwgdG9tb3Jyb3cuCgp3d3cudGltZXNvbmxpbmUuY28udWsvbXVsdGltZWRpYS9hcmNoaXZlLzAwNjY4L2VuZ2xhbmRfLV9tdXN0X2JlX2NfNjY4ODc4YS5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR3JlYXQgQnJpdGFpbiAuLi4gdGhlIGRheSBhZnRlciAuLi4gKEdsb2luc29uLCAgOC4gSmFuIDIwMTAsIDE1OjM2OjM0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNjI5MzMxOTEgcmc9d3d3Cn4jISB0aWQ9MTI2MjkzMzE5MQpodHRwOi8vd3d3LmRhaWx5a29zLmNvbS9zdG9yeW9ubHkvMjAxMC8xLzYvODIyNTIwLy1GcmVhay1DdXJyZW50LVRha2VzLUd1bGYtU3QKcmVhbS10by1HcmVlbmxhbmQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdyZWF0IEJyaXRhaW4gLi4uIHRoZSBkYXkgYWZ0ZXIgLi4uIChSdW1hdGEsICA4LiBKYW4gMjAxMCwgMTU6NDc6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2Mjk2MTM5NCByZz13d3cKfiMhIHRpZD0xMjYyOTMzMTkxCkdsb2luc29uLCBkdSBoYXN0IGVzIGRvY2ggZHJhdWYgYW5nZWxlZ3QsIGRhc3MgbWFuIGRhICJ3aWUKc2ljaCAiVGhlIGRheSBhZnRlciB0b21vcnJvdyIgc28gaW0gU2Nocml0dCBhbmZ1ZWhsdCIgbGllc3QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBHcmVhdCBCcml0YWluIC4uLiB0aGUgZGF5IGFmdGVyIC4uLiAoR2xvaW5zb24sICA4LiBKYW4gMjAxMCwgMTU6NDk6MjQpOgp+IyEgcm49UnVtYXRhIHJ0PTEyNjI5NjIwNjQgcmc9d3d3Cn4jISB0aWQ9MTI2MjkzMzE5MQpTb3NvLiBEdSB3aXJzdCBhdWNoIGFsdC4gTmV1bGljaCBoYWIgaWNoIGluIGVpbmVtIFZlcnplaWNobmlzICJwb3JuLnhtbCIKZ2VsZXNlbiB1bmQgd2FyIGxlaWNodCBlbnRzZXR6dC4KCk5hdHVlcmxpY2guIE1hdmVuLiBEb29mZSBBdWdlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2VXYXJzLUFjY291bnQgYWJ6dWdlYmVuIChBbXludGhvciwgIDkuIEphbiAyMDEwLCAwMToxMjoyMSk6CkhhbGxvLAoKZGEgZGVyIFBmbGVnZWF1ZndhbmQgbGFuZ3NhbSBkZW4gU3Bhc3NmYWt0b3IgdWViZXJzdGVpZ3QsIHd1ZXJkZSBpY2ggbWVpbmVuCkljZVdhcnMtQWNjb3VudCBnZXJuZSBhbiBJbnRlcmVzc2llcnRlIGFiZ2ViZW4uCgpTb2xvLURpa3RhdG9yLCBFdm8gNwpNZWlzdGVyIGRlcyBJS0VBIChtaXQgR29sZGtldHRjaGVuKQpSZXNlYXJjaCB0aGUgQXBva2FseXBzZSBOT1cKMTcuIEdhbGF4aWUsIHZvcmRlcmUgTWl0dGUKUHJvZHVrdGlvbjogMjBrIDMwayA2ayAzMGsgMCAwIDIwawpHZW5ldGlrcHVua3RlIDE2LTI1IHVuZCBLb2xvbmllIDggZGlyZWt0IGFud2VuZGJhcgpJY2VXYXJzIFN1cHBvcnRlciBBY2NvdW50IGJpcyAxMy4wMy4yMDEwCgpEaWUgR2VuZXRpa29wdGlvbmVuIG1hY2hlbiBTaXR0ZXIga3VyemZyaXN0aWcgcXVhc2kgdWViZXJmbHVlc3NpZywgZGFoZXIgaXN0CmRlciBBY2NvdW50IGlkZWFsIGZ1ZXIgU29sb3NwaWVsZXIgZ2VlaWduZXQuIFdlbm4gamVtYW5kIGRhbWl0IGVpbmVyIEFsbGlhbnoKYmVpdHJldGVuIG1vZWNodGUsIGlzdCBtaXIgZGFzIGFiZXIgYXVjaCBlZ2FsLiAoRWlnZW50bGljaCBpc3QgbWlyIGFsbGVzIGVnYWwsCnNvbGFuZ2UgaXJnZW5kamVtYW5kIGV0d2FzIGRhbWl0IG1hY2h0LiA7LSkKCkFteW50aG9yCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTUyMjk3OiBIYWNoLi4uIG51IGlzIHdhcyBkcmluLCBpbm5lciBNUEEuIChNZXNpcmlpLCAgOS4gSmFuIDIwMTAsIDIzOjQ3OjU2KToKfiMhIHJuPVJ1bWF0YSBydD0xMjYyNzIyODMxIHJnPW1lZ2FzY2htYXJybgp+IyEgdGlkPTk4MjMyODI3OApEYW5rZSBmdWVyIGRlbiBJbnB1dCwgaWNoIGhhYiBtYWwgd2FzIGdlYmFzdGVsdDoKaHR0cDovL3d3dy5qZXhwLmRlL2RlbW90aXZhdG9ycy9jbG91ZF9jb21wdXRpbmcuanBnCmFsbGUsIGhpZXIKaHR0cDovL2pleHAuZGUvaW5kZXgucGhwP249SW5mby5EZW1vdGl2YXRvcnMKTWVzaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FsdGVyIChBcmssIDI0LiBKYW4gMjAxMCwgMjA6NTk6NTIpOgpNYXliZSBhbHQsIGFiZXIgbmViZW4gQWNobWVkIGF1Y2ggbHVzdGlnOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MWtYT2cyM3BHZUEKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYWZ1ZXIgaXN0IEF2YXRhciBub2NoIGd1dCAuLi4gKEdsb2luc29uLCAyNi4gSmFuIDIwMTAsIDEzOjM1OjM5KToKaHR0cDovL3d3dy5ydXRoZS5kZS9mcm9udGVuZC9jYXJ0b29ucy9zdHJpcF8xMTIwLmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYWZ1ZXIgaXN0IEF2YXRhciBub2NoIGd1dCAuLi4gKENyb2Z0LCAyNi4gSmFuIDIwMTAsIDEzOjQ2OjE0KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNjQ1MDkzMzkgcmc9d3d3Cn4jISB0aWQ9MTI2NDUwOTMzOQpIZWhlLgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRGFmdWVyIGlzdCBBdmF0YXIgbm9jaCBndXQgLi4uIChSdW1hdGEsIDI2LiBKYW4gMjAxMCwgMTQ6MDU6MTUpOgp+IyEgcm49Q3JvZnQgcnQ9MTI2NDUwOTk3NCByZz13d3cKfiMhIHRpZD0xMjY0NTA5MzM5CkVuZGxpY2ggbWFsIGVpbmUgZ2VsdW5nZW5lIEZvcm0gdm9uIE1hc2h1cC4gKmcqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCaWcgQnJvIGlzIHlvdXIgZnJpZW5kIC4uLiAoR2xvaW5zb24sIDI4LiBKYW4gMjAxMCwgMTg6MzQ6MjQpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WVlRS0RxakNFQlEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSaWNrIFJvbGxlZCAoR2xvaW5zb24sIDE2LiBGZWIgMjAxMCwgMTU6NDE6NTIpOgpodHRwOi8vd3d3LmNhZC1jb21pYy5jb20vY29taWNzL2NhZC8yMDEwMDIxNS5qcGcKCkZpbmQgaWNoIC4uLiBhbXVlc2FudC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmljayBSb2xsZWQgKFJ1bWF0YSwgMTYuIEZlYiAyMDEwLCAxNTo1NTowMyk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjY2MzMxMzEyIHJnPXd3dwp+IyEgdGlkPTEyNjYzMzEzMTIKQWxzbyAtIGVpbm1hbCBkaWUgV29jaGUgYnJhdWNoZSBpY2ggZGFzIGF1Y2ggOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJpY2sgUm9sbGVkIChHbG9pbnNvbiwgMTYuIEZlYiAyMDEwLCAxNjo0MTowMSk6Cn4jISBybj1SdW1hdGEgcnQ9MTI2NjMzMjEwMyByZz13d3cKfiMhIHRpZD0xMjY2MzMxMzEyCkFkYW0gb2RlciBOZXZlciBnb25uYSBnaXZlIHlvdSB1cD8gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSaWNrIFJvbGxlZCAoUnVtYXRhLCAxNi4gRmViIDIwMTAsIDE3OjE0OjM3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNjYzMzQ4NjEgcmc9d3d3Cn4jISB0aWQ9MTI2NjMzMTMxMgpJY2ggZGFjaHRlIGVoZXIgYW4gUmljayA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkluIHRoZSBOYXZ5IChHbG9pbnNvbiwgMTYuIEZlYiAyMDEwLCAyMzo0MTowMyk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1NVHdxMV85Vkg2OCZmZWF0dXJlPWZ2dwoKQmVlaW5kcnVja2VuZC4gSWNoIHdpbGwgZGllIFNlcmllIHp1cnVlY2sgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMZWNrZXIgSGFja2JyYXRlbiAoQXJrLCAxNi4gRmViIDIwMTAsIDIzOjQ1OjI4KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWZfRndvUGwyWnpZCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IExlY2tlciBIYWNrYnJhdGVuIChSdW1hdGEsIDE3LiBGZWIgMjAxMCwgMTA6MTA6MTgpOgp+IyEgcm49QXJrIHJ0PTEyNjYzNjAzMjggcmc9d3d3Cn4jISB0aWQ9MTI2NjM2MDMyOApBbHNvIGljaCB0YWV0IGRhcyBHZWxkIGxpZWJlciBzcGFyZScgOi0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVHJhbnNzaWIgZnVlciBBcm1lIHVuZCBaZWl0LUFybWUgKEdsb2luc29uLCAxOC4gRmViIDIwMTAsIDAwOjA2OjE4KToKaHR0cDovL3d3dy5nb29nbGUucnUvaW50bC9ydS9sYW5kaW5nL3RyYW5zc2liL2VuLmh0bWwKClZpZWwgU3Bhc3MgOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpPcmFuZ2VuIC4uLiBkZXIgZnJ1Y2h0aWdlIEFic2NoYXVtIChBcmssIDE5LiBGZWIgMjAxMCwgMTI6NTg6MzEpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Wk41UG9XN19rZEEmZmVhdHVyZT1QbGF5TGlzdCZwPUQ4MUY1QjdFODBCNEU4NTMKJmluZGV4PTAKCkVzIGdpYnQgbm9jaCB3ZWl0ZXJlIEZpbG1jaGVuIGRhdm9uIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlQYWQgLSBFaW5zYXR6bW9lZ2xpY2hrZWl0ZW4gKEdsb2luc29uLCAyMy4gRmViIDIwMTAsIDEyOjU3OjM5KToKaHR0cDovL3d3dy5ydXRoZS5kZS9mcm9udGVuZC9jYXJ0b29ucy9zdHJpcF8xMTM2LmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBpUGFkIC0gRWluc2F0em1vZWdsaWNoa2VpdGVuIChSdW1hdGEsIDIzLiBGZWIgMjAxMCwgMTM6MDE6MjUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI2NjkyNjI1OSByZz13d3cKfiMhIHRpZD0xMjY2OTI2MjU5ClZvcnNpY2h0IFdvcnRzcGllbDogV2VyZGVuIGRpZSBXdWVyZmUgaW4gZWluZW0gTG9nKCEpLWZpbGUgcHJvdG9rb2xsaWVydD8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCi4gKFZlY3RvciwgMjUuIEZlYiAyMDEwLCAxOToyODowNyk6CgpodHRwOi8vd3d3LnJldHJvLWZ1dHVyaXNtdXMuZGUvCgpkaWUgc2VpdGUgZ2lidCBhdWYgZGVuIHp3ZWl0ZW4gYmxpY2sgdWViZXJyYXNjaGVuZCB2aWVsIGhlci4KbWFuIGZ1ZWhsZSBzaWNoIHp1bSBzY2htb2VrZXJuIGF1ZmdlZm9yZGVydCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBSaWNrIFJvbGxlZCAoRGFya2xvciwgMjUuIEZlYiAyMDEwLCAyMDowMjowNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTI2NjMzMjEwMyByZz13d3cKfiMhIHRpZD0xMjY2MzMxMzEyCmljaCBnbGF1YiBkZW4gdmVyc3RlaCBpYyBuaWNoCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBSaWNrIFJvbGxlZCAoUnVtYXRhLCAyNS4gRmViIDIwMTAsIDIwOjA1OjMyKToKfiMhIHJuPURhcmtsb3IgcnQ9MTI2NzEyNDUyNCByZz13d3cKfiMhIHRpZD0xMjY2MzMxMzEyCkRhbm4gZ3Vja2UgbWFsIGhpZXI6IGh0dHA6Ly9kZS53aWtpcGVkaWEub3JnL3dpa2kvUmlja3JvbGxpbmcKT2RlciBORUlOIEhBTFQsIGJlc3NlciBoaWVyOiBodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9b0hnNVNKWVJIQTAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJpY2sgUm9sbGVkIChEYXJrbG9yLCAyNS4gRmViIDIwMTAsIDIwOjA4OjM4KToKfiMhIHJuPVJ1bWF0YSBydD0xMjY3MTI0NzMyIHJnPXd3dwp+IyEgdGlkPTEyNjYzMzEzMTIKYWxiZXJuLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBSaWNrIFJvbGxlZCAoR2xvaW5zb24sIDI1LiBGZWIgMjAxMCwgMjA6MTI6MjIpOgp+IyEgcm49RGFya2xvciBydD0xMjY3MTI0OTE4IHJnPXd3dwp+IyEgdGlkPTEyNjYzMzEzMTIKRXJ3aXNjaHQgLi4uIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUmljayBSb2xsZWQgKEFudGhlYSwgMjYuIEZlYiAyMDEwLCAwOTozMDozOSk6Cn4jISBybj1SdW1hdGEgcnQ9MTI2NzEyNDczMiByZz13d3cKfiMhIHRpZD0xMjY2MzMxMzEyCkRhbWl0IHVlYmVycmVpY2hlIGljaCBEaXIgZGVuIHJvc2FuZW4gRXJrbGFlcmJhZXJlbiBhbSBsaWxhIEJhbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDbG9ja3dvcmsgT3JhbmdlIHJlYWwgLi4uIChHbG9pbnNvbiwgMjcuIEZlYiAyMDEwLCAxNjo0NDozNSk6Cmh0dHA6Ly9yZWFzb24uY29tL2FyY2hpdmVzLzIwMTAvMDIvMjQvd2VvcG9uaXppbmctbW96YXJ0CgooZW5nbGlzY2gpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQkdFIHZzLiBIYXJ0eiBJViAoR25vbWUsIDI3LiBGZWIgMjAxMCwgMjE6MTY6MzApOgphdXMgYWt0dWVsbGVtIGFubGFzcyAoaGFtcGVsbWFubiB3ZXN0ZXJmb2Vud2VsbGUgaW0gYnVuZGVzdGFnKToKCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1OcTc3cG12TGp2OAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJHRSB2cy4gSGFydHogSVYgKEFsYm9pbiwgMjcuIEZlYiAyMDEwLCAyMzoyMDozMyk6Cn4jISBybj1Hbm9tZSBydD0xMjY3MzAxNzkwIHJnPXd3dwp+IyEgdGlkPTEyNjczMDE3OTAKT2gsIG5vY2ggZWluZXIgZGVyIHNpY2ggZnVlciBlaW5lICJzb3ppYWxpc3Rpc2NoZSIgSWRlZSBlbmdhZ2llcnQuIER1IHBvZWhzZXIKSnVuZ2UsIGR1LgpVbSBydWJyaWtrb25mb3JtIHp1IHNlaW4sIG5vY2ggd2FzIG5ldHRlcyB6dSBXZXN0ZXJ3aWxsaToKCmh0dHA6Ly93d3cudGl0YW5pYy1tYWdhemluLmRlL3R5cG8zdGVtcC9waWNzLzgzODU0NDAxNDguanBnCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGV1dHNjaGxhbmRzIHNjaG9lbnN0ZSBTY2h1bG5hbWVuIChWYW5pb24sIDI3LiBGZWIgMjAxMCwgMjM6NDE6MTApOgpFeHRyYSAzIGJyaW5ndCBpbW1lciBtYWwgbmV0dGUgRGV1dHNjaGxhbmQtS2FydGVuIGhlcmF1cy4gQWt0dWVsbCBpc3QgZGVyemVpdApkaWUgbWl0IGRlbSBvYmlnZW4gVGl0ZWwuIEVpbiBCdWVyZ2VybWVpc3RlciBoYXQgc2ljaCBiZWkgWDMgZ2VtZWxkZXQsIGRhc3MgZXIKZWluZSBOYW1lbnNhZW5kZXJ1bmcgYW5zdHJlYnQuCgpIaWVyIGRpZSBLYXJ0ZToKaHR0cDovL3d3dzMubmRyLmRlL3NlbmR1bmdlbi9leHRyYV8zL21lZGlhL3NjaHVsbmFtZW4xMDJfdi1vcmlnaW5hbC5qcGcKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJHRSB2cy4gSGFydHogSVYgKFZhbmlvbiwgMjcuIEZlYiAyMDEwLCAyMzo0MzoxOCk6Cn4jISBybj1BbGJvaW4gcnQ9MTI2NzMwOTIzMyByZz13d3cKfiMhIHRpZD0xMjY3MzAxNzkwCkFsYm9pbiwgbnVyIHdlaWwgamVtYW5kIHNpY2ggdWViZXIgV2VzdGVyd2VsbGUgbHVzdGlnIG1hY2h0LCBpc3QgZXIgbm9jaCBuaWNodApTb3ppYWxpc3QuCgpWKgpWKiBoYXQgU296aWFsaXNtdXMgcHJvYmllcnQsIGhhdCBuaWNodCBnZWZhbGxlbiwgZGEgaGF0IGVyIGlobiBhYmdlc2NoYWZmdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJHRSB2cy4gSGFydHogSVYgKEFsYm9pbiwgMjguIEZlYiAyMDEwLCAwMTowODozMyk6Cn4jISBybj1WYW5pb24gcnQ9MTI2NzMxMDU5OCByZz13d3cKfiMhIHRpZD0xMjY3MzAxNzkwCk5lZSBEdSwgbWVpbiBTdGF0ZW1lbnQgYmV6b2cgc2ljaCBhdWYgZGllIElkZWUgZGVzIEJHRSwgZnVlciBkaWUgaWNoIHZvcgplaW5pZ2VyIFplaXQgaGllciB3YXJiLiBEYW1hbHMgaGFiZSBpY2ggZGFmdWVyIFNlbmdlIGVpbnN0ZWNrZW4gbXVlc3NlbiwgZWluZXIKZGVyIFZvcnd1ZXJmZSB3YXI6IGRhcyBpY2ggZnVlciBlaW5lIHNvemlhbGlzdGlzY2hlIElkZWUgd2VyYmVuIHd1ZXJkZS4uLgoKYWwKUC5TIHVuZCBpY2ggYmluIGF1Y2gga2VpbiBTb3ppYWxpc3QuIEJpc21hcmNrIGZvciBldmVyIGhhaGFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJpY2sgUm9sbGVkIChHbG9pbnNvbiwgMjguIEZlYiAyMDEwLCAwNjo1MToxNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjY2MzMxMzEyIHJnPXd3dwp+IyEgdGlkPTEyNjYzMzEzMTIKQUhBSEFIQUhBSEFIQSA7KQoKaHR0cDovL2FydG9mdHJvbGxpbmcuY29tLzIwMTAvMDIvMjcvdHJvbGwtb21lZ2xlLXNleHktYXNjaWktcm9sbC8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNZWNoYXJvbiAoQ3JvZnQsIDE5LiBNYXIgMjAxMCwgMTM6NTM6MjUpOgpNYWwgd2llZGVyIGVpbiBuZXR0ZXMgRmxhc2hnYW1lOgpodHRwOi8vbW9vbm1hbmEuY29tL2dhbWUvU2hvb3Rlci9NZWNoYXJvbgoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldhcyBmdWVyIGRpZSBDb25zb2xlcm9zIGRlciA4MGVyLiAoQXJhdGhvcm4sICA5LiBBcHIgMjAxMCwgMDE6NDQ6NTkpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cmNYdFQzclpjcWcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgZnVlciBkaWUgQ29uc29sZXJvcyBkZXIgODBlci4gKEhvYm8sIDEyLiBBcHIgMjAxMCwgMTE6NDQ6MDYpOgp+IyEgcm49QXJhdGhvcm4gcnQ9MTI3MDc3MDI5OSByZz13d3cKfiMhIHRpZD0xMjcwNzcwMjk5CklzdCB3ZWc/Pz8KCiAgSG9ibwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXMgZnVlciBkaWUgQ29uc29sZXJvcyBkZXIgODBlci4gKEFyYXRob3JuLCAxMi4gQXByIDIwMTAsIDIwOjM0OjIwKToKfiMhIHJuPUhvYm8gcnQ9MTI3MTA2NTQ0NiByZz13d3cKfiMhIHRpZD0xMjcwNzcwMjk5CkhpZXIgaXN0IG5vY2ggZWluZSBLb3BpZSBkYXZvbiwgZGllc2Ugc29nYXIgaW4gSEQ6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1VUTlUQmQxQ0FwOAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXlqYWZqYSh0KWxham9la3UodClsIChHbG9pbnNvbiwgMjEuIEFwciAyMDEwLCAxMTo0NTo1Nik6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9mb3Rvc3RyZWNrZS9mb3Rvc3RyZWNrZS01NDAwNy5odG1sCgpIeXBzY2hlIFBpbGRlci4gTWl0IEJsaXR6ZWluc2NobGFlZ2VuIChTdGF0aXNjaGUgQXVmbGFkdW5nZW4gc2ljaGVybGljaCk6CgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvZm90b3N0cmVja2UvZm90b3N0cmVja2UtNTQwMDctMTUuaHRtbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBFeWphZmphKHQpbGFqb2VrdSh0KWwgKEdsb2luc29uLCAyMS4gQXByIDIwMTAsIDExOjU0OjU1KToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNzE4NDMxNTYgcmc9d3d3Cn4jISB0aWQ9MTI3MTg0MzE1NgpzY2llbmNlYmxvZ3MuY29tL3N0YXJ0c3dpdGhhYmFuZy8yMDEwLzA0L3ZvbGNhbmljX2xpZ2h0bmluZ19leWphZmphbGxhai5waHAKaHR0cDovL2Fwb2QubmFzYS5nb3YvYXBvZC9hcDEwMDQxOS5odG1sCmh0dHA6Ly9hcG9kLm5hc2EuZ292L2Fwb2QvYXAxMDAyMTAuaHRtbAoKSG0uIExhZHVuZ3N0cmVubnVuZyBkdXJjaCBub2NoIG5pY2h0IGdhbnogZXJmb3JzY2h0ZSBNZWNoYW5pc21lbi4gRWluZmFjaCBtYWwKcmljaHRpZyBjb29sZSBCaWxkZXIuIFB5cm9rbGFzdGlzY2hlIFN0cm9lbWUgaGFiZW4gc29lYmVuIGJlaSBtaXIgZWluZW4gUGxhdHoKdmVybG9yZW4gOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYWxsaW5nIFN0b25lcyBvZGVyIHNvIDspIChHd2VuLCAyMi4gQXByIDIwMTAsIDIyOjAzOjM5KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWd1cnp6MWV2cG40CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo6KSAoTmljb2xhaSwgIDIuIE1haSAyMDEwLCAxNzozNzoxNyk6CgpodHRwOi8vd3d3LnF1YWtlbGl2ZS5jb20vCgptYWwgZ2VwZmxlZ3Qgb25saW5lIHF1YWtlbi0tLS1pbSBicm93c2VyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpCYWhudWViZXJnYW5nIChHd2VuLCAgMi4gTWFpIDIwMTAsIDIwOjAzOjI3KToKV2VpbCBpY2ggbWFsIHdpZWRlciBkcnVlYmVyZ2VzdG9scGVydCBiaW46CkRlciBhbHRlIE1hbm4gdW5kIGRlciBCYWhudWViZXJnYW5nLgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eFpZdlFOQjVGWFkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZhY2Vib29rIGluIHJlYWxpdHkgOi0pIChaZXNzdHJhLCAgNC4gTWFpIDIwMTAsIDA5OjE4OjIwKToKTmV0dGVzIEZpbG1jaGVuIHZvbiBkZXIgQkJDOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9bnJsU2tVMFRGTHMmZmVhdHVyZT1wbGF5ZXJfZW1iZWRkZWQKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkl0YWxpZW5pc2NoZSBVaHJ6ZWl0IChldHdhcyBhZWx0ZXIpIChBcmssICA1LiBNYWkgMjAxMCwgMTc6NTQ6MTApOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9c1ZRUUcwaV81VmcKCk9rLCBmdWVyIG1pY2ggd2FyIGRlciBuZXUsIGFiZXIgaWNoIGJpbiBqYSBhdWNoIGFsdCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQaW5rIHVwIHlvdXIgbGl2ZSEgKEd3ZW4sIDEyLiBNYWkgMjAxMCwgMjA6MTM6NDYpOgpodHRwOi8vMi5icC5ibG9nc3BvdC5jb20vX0ozX2xpREJmYnZzL1NrdjM5dUJPRDRJL0FBQUFBQUFBR3NJL19PZ2E0U3llMVZnL3MxNjAKMC9kdWNhdGktMTE5OHMuanBnCmh0dHA6Ly93d3cuZ2l6bW9kby5jb20vZ2FkZ2V0cy9pbWFnZXMvSGVsbG9LaXR0eVRSRmluYWxzbWFsbC5qcGcKaHR0cDovL21hbm9sb21lbi5jb20vaW1hZ2VzL0RhcnRoJTIwVmFkZXIlMjBpbiUyMHBpbmsuanBnCkhGLCBHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFBpbmsgdXAgeW91ciBsaXZlISAoVmFuaXIsIDEzLiBNYWkgMjAxMCwgMTQ6MTc6MTApOgp+IyEgcm49R3dlbiBydD0xMjczNjg4MDI2IHJnPXd3dwp+IyEgdGlkPTEyNzM2ODgwMjYKRGllIER1Y2F0aSBzaWVodCB0b2xsIGF1cy4gRGFzIEF1dG8gYXVjaC4gRFYgYWxiZXJuLiAqZyoKVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBFeWVzIG9mIEFyayAoR3dlbiwgMTQuIE1haSAyMDEwLCAxOTo0Mzo1MCk6CkFyayBoYXQgamV0enQgbmUgZWlnZW5lIEJhbmQ6Cmh0dHA6Ly93d3cuZXllcy1vZi1hcmsuY29tLwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRoZSBFeWVzIG9mIEFyayAoVmFuaW9uLCAxNC4gTWFpIDIwMTAsIDIxOjAxOjE0KToKfiMhIHJuPUd3ZW4gcnQ9MTI3Mzg1OTAzMCByZz13d3cKfiMhIHRpZD0xMjczODU5MDMwCk51ciBzZWluZSBBdWdlbiwgb2Rlcj8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFRoZSBFeWVzIG9mIEFyayAoQXJrLCAxNS4gTWFpIDIwMTAsIDA4OjMwOjE0KToKfiMhIHJuPVZhbmlvbiBydD0xMjczODYzNjc0IHJnPXd3dwp+IyEgdGlkPTEyNzM4NTkwMzAKSmEsIG1laW5lIEF1Z2VuIGF1ZiBUb3VyLCBpY2ggc2VoZSBldWNoLCBpY2ggcXVhZWxlIGV1Y2ghCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRXZlcnlib2R5J3MgRnJlZSAoR3dlbiwgMTUuIE1haSAyMDEwLCAxMDoxNjo0NSk6Cih0byB3ZWFyIFN1bnNjcmVlbikKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUJKN1d1dE1FdWpRCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRXZlcnlib2R5J3MgRnJlZSAoSmltZGlncml6LCAxNS4gTWFpIDIwMTAsIDEwOjIxOjU5KToKfiMhIHJuPUd3ZW4gcnQ9MTI3MzkxMTQwNSByZz13d3cKfiMhIHRpZD0xMjczOTExNDA1Ckluendpc2NoZW4gMTMtMTQgSmFocmUgYWx0IHVuZCBpbW1lciBub2NoIHppZW1saWNoIHdlaXNlLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZpbmFuemtyaXNlIDIuMCAoR3dlbiwgMTUuIE1haSAyMDEwLCAxMDoyNDozMyk6ClRWLUVtcGZlaGx1bmc6CkZpbmFuemtyaXNlIDIuMCAtIERhcyBab2NrZW4gZ2VodCB3ZWl0ZXIKUGhvZW5peCwgRG8gMjAuMDUuMTAgODoxNSBVaHIKCmh0dHA6Ly93d3cucGhvZW5peC5kZS9jb250ZW50L3Bob2VuaXgvZGllX3NlbmR1bmdlbi9maW5hbnprcmlzZV8yXzAvMzAwNzE2P2RhdAp1bT0yMDEwLTA1LTE0Ckd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluYW56a3Jpc2UgMi4wIChSdW1hdGEsIDE1LiBNYWkgMjAxMCwgMTU6MDM6MTEpOgp+IyEgcm49R3dlbiBydD0xMjczOTExODczIHJnPXd3dwp+IyEgdGlkPTEyNzM5MTE4NzMKT2Nobm9lISBEaWUgV2VsdCBpc3Qgc2Nob24gc2NobGVjaHQgZ2VudWcuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEZpbmFuemtyaXNlIDIuMCAoR3dlbiwgMTYuIE1haSAyMDEwLCAwODozMTowNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTI3MzkyODU5MSByZz13d3cKfiMhIHRpZD0xMjczOTExODczCkRhIHdlcmRlbiBMZXV0ZSB2b3JnZXN0ZWxsdCwgZGllIGVzIGJlc3NlciBtYWNoZW4gd29sbGVuIDspCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluYW56a3Jpc2UgMi4wIChWYW5pb24sIDE3LiBNYWkgMjAxMCwgMDA6NDQ6MTYpOgp+IyEgcm49R3dlbiBydD0xMjczOTExODczIHJnPXd3dwp+IyEgdGlkPTEyNzM5MTE4NzMKWnVtIFRoZW1hIGF1Y2ggZ2VybmUgZGllIGxldHp0ZW4gendlaSwgZHJlaSBFcGlzb2RlbiBhdXMgZGVyIEFuc3RhbHQ6Cmh0dHA6Ly9hbnN0YWx0LnpkZi5kZS8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRmluYW56a3Jpc2UgMi4wIChab29rLCAxNy4gTWFpIDIwMTAsIDA4OjIwOjM3KToKfiMhIHJuPUd3ZW4gcnQ9MTI3MzkxMTg3MyByZz13d3cKfiMhIHRpZD0xMjczOTExODczCmFiZXIgaWNoIGhhYmUgZG9jaCBnYXIga2VpbmVuIGZlcm5zZWhlci4KegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSW1tZXIgZGFzIHBhc3NlbmRlIE91dGZpdCAoR3dlbiwgMTcuIE1haSAyMDEwLCAxOTowMDowMyk6CkRlciBSYWRsZXIgdm9uIGhldXRlIHdpbGwgaW1tZXIgcGFzc2VuZCBnZWtsZWlkZXQgc2VpbjoKei5CLiBhdWYgZGVtIFdHVApodHRwOi8vd3d3Lm5vcnRod2F2ZS5jb20vZXUvYXBwYXJlbC5waHA/YXJlYT1hcHBhcmVsX3NwcmluZ19zdW1tZXJfbWFuJmNhdGlkPTEKOApvZGVyIGF1ZiBkZW0gbmFlY2hzdGVuIEhhcmRyb2Nra29uemVydDoKaHR0cDovL3d3dy5ub3J0aHdhdmUuY29tL2V1L2FwcGFyZWwucGhwP2FyZWE9YXBwYXJlbF9zcHJpbmdfc3VtbWVyX21hbiZjYXRpZD0zCjA3CldlciBNdWNraXMgaGF0LCB3aWxsIHNpZSBhdWNoIHplaWdlbjoKaHR0cDovL3d3dy5ub3J0aHdhdmUuY29tL2V1L2FwcGFyZWwucGhwP2FyZWE9YXBwYXJlbF9zcHJpbmdfc3VtbWVyX21hbiZjYXRpZD0zCjExClVuZCB3ZXIgc2VpbiBGYWhycmFkIGxpZWJ0LCBzYWd0IGRpZXMgYXVjaDoKaHR0cDovL3d3dy5ub3J0aHdhdmUuY29tL2V1L2FwcGFyZWwucGhwP2FyZWE9YXBwYXJlbF9zcHJpbmdfc3VtbWVyX21hbiZjYXRpZD0zCjA2CgpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKLiAoTmljb2xhaSwgMjEuIE1haSAyMDEwLCAxODoyMzoyNSk6CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9OEd3OHZqNDlDYkkKCmhvbHkgZGl2ZXIgdm9uIGRpbyBpbiBkZXIgcGlhbm8tdmVyc2lvbgoKci5pLnAuIHJvbm5pZSBqYW1lcyBkaW8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiAuIChaZXNzdHJhLCAyMS4gTWFpIDIwMTAsIDIwOjI3OjI4KToKfiMhIHJuPU5pY29sYWkgcnQ9MTI3NDQ1OTAwNSByZz13d3cKfiMhIHRpZD0xMjc0NDU5MDA1ClNjaG9lbi4uLiBBbHNvIG5pY2h0IGRlciBUb2Qgdm9uIERpbywgc29uZGVybiBkYXMgU3R1ZWNrLgpNb2VnZSB1bnMgZGllIE11c2lrIHZvbiBEaW8gbGFuZyBlcmhhbHRlbiBibGVpYmVuLi4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQYWNNYW4gYmVpIEdvb2dsZSAoTWFzdWwsIDIyLiBNYWkgMjAxMCwgMTA6NDM6MzgpOgpOZXR0LiBQYWNNYW4gd2lyZCAzMC4gaHR0cDovL2dvb2dsZS5kZS8gdW5kIHNjaG5lbGwgZWluIHBhYXIgTXVlbnplbgplaW5nZXdvcmZlbi4KTWFzdWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldoYXQgcmVhbGx5IGhhcHBlbmQgdG8gQmlsbCAoR2xvaW5zb24sIDIyLiBNYWkgMjAxMCwgMTE6NDM6MjMpOgpodHRwOi8vd3d3LnB2cG9ubGluZS5jb20vMjAxMC8wNS8yMC9lcXVpbmVzLW9mLW1vcmlhLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQYWNNYW4gYmVpIEdvb2dsZSAoR2xvaW5zb24sIDIyLiBNYWkgMjAxMCwgMTE6NTE6NTUpOgp+IyEgcm49TWFzdWwgcnQ9MTI3NDUxNzgxOCByZz13d3cKfiMhIHRpZD0xMjc0NTE3ODE4Cmh0dHA6Ly9ob21lLmNvbWNhc3QubmV0L35qcGl0dG1hbjIvcGFjbWFuL3BhY21hbmRvc3NpZXIuaHRtbAoKVGhlIEdhbWVwbGF5IG9mIFBhY01hbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGFjTWFuIGJlaSBHb29nbGUgKFplc3N0cmEsIDIyLiBNYWkgMjAxMCwgMTM6Mjc6NDYpOgp+IyEgcm49TWFzdWwgcnQ9MTI3NDUxNzgxOCByZz13d3cKfiMhIHRpZD0xMjc0NTE3ODE4CkhpaGloaS4gSWNoIGZyYWcgbWljaCBqZXR6dCBlY2h0LCBvYiBkYXMgaGllciBlY2h0IGlzdC4uLiBXZW5uIGphLCBoYXQgRmVmZQpyZWNodDogRGVyIEZpcmVmb3gtQnVncmVwb3J0IGRlcyBKYWhyZXMuCmh0dHA6Ly9zdXBwb3J0Lm1vemlsbGEuY29tL2VuLVVTL2ZvcnVtLzEvNjc3ODM5CiJXaGVuIEkgb3BlbiBmaXJlZm94IEkgZ2V0IHBhY21hbiBzb3VuZHMgaW4gdGhlIGJhY2tncm91bmQuLi4iCipncm9laGwqCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBhY01hbiBiZWkgR29vZ2xlIChaZXNzdHJhLCAyMi4gTWFpIDIwMTAsIDEzOjMzOjE2KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI3NDUyNzY2NiByZz13d3cKfiMhIHRpZD0xMjc0NTE3ODE4Ckluc2IuIGRpZSBVc2Vya29tbWVudGFyZSBzaW5kIGdyb3NzYXJ0aWcuIDstKQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdoYXQgcmVhbGx5IGhhcHBlbmQgdG8gQmlsbCAoTWFyY3VzLCAyMi4gTWFpIDIwMTAsIDE1OjIyOjAzKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyNzQ1MjE0MDMgcmc9d3d3Cn4jISB0aWQ9MTI3NDUyMTQwMwpXb2JlaSBpbSBCdWNoIGphICJCaWxsIiBkZW4gV2VnIGlucyBEb3JmIHp1cnVlY2tnZWZ1bmRlbiBoYXQuCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJvbGxlbnNwaWVsZSAuLi4gKEdsb2luc29uLCAgMS4gSnVuIDIwMTAsIDE0OjEwOjEyKToKaHR0cDovL2hhd3RuZXNzLmNvbS8yMDEwLzA1LzI5L3doby1zYXlzLXJhbmRvbS1lbmNvdW50ZXJzLWNhbnQtYmUtc2V4eS8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNdWRwb3J0YWwgd3d3Lm11ZC5kZSAoS2hpZGFyLCAgNS4gSnVuIDIwMTAsIDAwOjM4OjQzKToKSWNoIHdlaXNzIG5pY2h0IGdlbmF1LCBvYiBoaWVyIGRlciByaWNodGlnZSBPcnQgaXN0LCBhYmVyCmRhcyBNdWRwb3J0YWwgd3d3Lm11ZC5kZSB2ZXJsYW5ndCBqZXR6dCBlaW5lbiBCZW51dHplcm5hbWVuCnVuZCBlaW4gUGFzc3dvcnQuIERhcyBzb2xsIGJlc3RpbW10IG5pY2h0IHNvIHNlaW4uCgpLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTXVkcG9ydGFsIHd3dy5tdWQuZGUgKENyb2Z0LCAgNS4gSnVuIDIwMTAsIDAwOjQwOjI0KToKfiMhIHJuPUtoaWRhciBydD0xMjc1NjkxMTIzIHJnPXd3dwp+IyEgdGlkPTEyNzU2OTExMjMKSG0uIElzdCBkYXMgbm9jaCBpbW1lciBIYXRlcyBEb21haW4/CgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBNdWRwb3J0YWwgd3d3Lm11ZC5kZSAoQ3JvZnQsICA1LiBKdW4gMjAxMCwgMDA6NDM6NDkpOgp+IyEgcm49Q3JvZnQgcnQ9MTI3NTY5MTIyNCByZz13d3cKfiMhIHRpZD0xMjc1NjkxMTIzClNjaGVpbnQgc28genUgc2Vpbi4gIFVuZCBlciBpc3QgMjlkIGlkbGUgLi4uCgpDcm9mdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZHBvcnRhbCB3d3cubXVkLmRlIChaZXNzdHJhLCAgNS4gSnVuIDIwMTAsIDEwOjIzOjI1KToKfiMhIHJuPUtoaWRhciBydD0xMjc1NjkxMTIzIHJnPXd3dwp+IyEgdGlkPTEyNzU2OTExMjMKQW0gYmVzdGVuIG1hbCBIYXRlIG5lIE1haWwgc2NocmVpYmVuLCBkZW5rIGljaC4KaG9zdG1hc3RlckBtdWQuZGUgb2RlciBzb3dhcyB0dXRzIHZlcm11dGxpY2guCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLcnVlbWVsbW9uc3RlciAmIElCTSAoQXJrLCAgNy4gSnVuIDIwMTAsIDExOjA2OjA4KToKSGVoZToKaHR0cDovL3d3dy5uZXR6d2VsdC5kZS9uZXdzLzgyOTY4LXJ1ZWNrYmxpY2sta3J1ZW1lbG1vbnN0ZXItbWFjaHRlLXVyc3BydWVuZ2xpCmNoLXdlcmJ1bmctaWJtLmh0bWwKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTUFMgU29mdHdhcmUgcHJlc2VydmF0aW9uIGlzdCBqZXR6dCBwbGF0dGZvcm11ZWJlcmdyZWlmZW5kIChLaGlkYXIsICA5LiBKdW4gMjAxMCwgMjE6MDQ6NTcpOgpEaWUgU29mdHdhcmUgUHJlc2VydmF0aW9uIFNvY2lldHksIGRpZSBEaXNrcyBhbHMgb3JpZ2luYWxnZXRyZXVlcyBBYmJpbGQgenUKZXJoYWx0ZW4gYWxzIFppZWwgaGF0LCBoYXQgamV0enQgZGllIGVyc3RlbiBEaXNraW1hZ2VzIGZ1ZXIgQXRhcmkgU1QgdW5kIElCTQpQQyB6dXNhbW1lbmdlYmF1dC4gV2VpdGVyZSBTeXN0ZW1lIHNvbGxlbiBmb2xnZW4uClp1bSBJbWFnZW4gZGVyIERpc2tzIGJyYXVjaHQgbWFuIG1vbWVudGFuIG5vY2ggZWluZW4gQW1pZ2EgbWl0IDY4MDIwIENQVSBvZGVyCmhvZWhlciwgZWluZSBVU0ItTG9lc3VuZyBmdWVyIFBDcyBpc3QgaW0gQXVmYmF1LgpEaWUgZXJzdGVsbHRlbiBSb2hpbWFnZXMgd2VyZGVuIGRhbm4gYW4gZGllIFNQUyBnZXNjaGlja3QgdW5kIHZvbiBkZW5lbgpiZWFyYmVpdGV0LCBtYW4gYmVrb21tdCBkYW5uIElQRi1JbWFnZXMgZnVlciBkaWUgQmVudXR6dW5nIGluIEVtdWxhdG9yZW4KenVydWVjay4KQWxzbzogU2Nob24gbWFsIGRpZSBhbHRlbiBPcmlnaW5hbHNwaWVsZSBhdXMgZGVtIEtlbGxlciBoZXJhdXNzdWNoZW4hCgpodHRwOi8vd3d3LnNvZnRwcmVzLm9yZwoKS2hpZGFyLgpQUzogSW1hZ2VzIGZ1ZXIgQW1pZ2FzIHdlcmRlbiBzY2hvbiBzZWl0IHBhYXIgSmFocmVuIHJlbGVhc2VkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2NobGFuZC4gKEdsb2luc29uLCAxNi4gSnVuIDIwMTAsIDIyOjIzOjAwKToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXBXX2ZKQWlQeF93CgooTml4IGZ1ZXIgTGVuYS1IYXNzZXIuKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRyb2VvZW9ldCEgKEd3ZW4sIDIwLiBKdW4gMjAxMCwgMTE6NTc6NTUpOgpGdWVyIGFsbGUgVnV2dXplbGEtRmFuczoKaHR0cDovL3d3dy52dXZ1emVsYS10aW1lLmNvLnVrL21nLm11ZC5kZQpXaXJkIGdlcmFkZSBkaWUgTWVnYXNjaG1hcnJlciBlcmZyZXVlbiA6KQpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFRyb2VvZW9ldCEgKEJhbWJ1bGtvLCAyMC4gSnVuIDIwMTAsIDE4OjE3OjM0KToKfiMhIHJuPUd3ZW4gcnQ9MTI3NzAyNzg3NSByZz13d3cKfiMhIHRpZD0xMjc3MDI3ODc1CldpZSBjb29sISBVbmQgamVkZXIgS2xpY2sgYnJpbmd0IGVpbmVuIENlbnQgZnVlciBkaWUgVGluaXR1cyBGb3VuZGF0aW9uLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZ1dnUuLi4gaW4gRG9vbSAoQXJrLCAyNi4gSnVuIDIwMTAsIDA5OjM0OjM3KToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU5YUFB5anR3NVdVCldpZSBpbW1lciwgdm9yc2ljaHQgbWl0IGRlbiBMYXV0c3ByZWNoZXJuIDotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk11ZGRlciBhbHMgTWVzc2Vyc3RlY2hlcj8gKEFtYXJ5bGxpcywgMTUuIEp1bCAyMDEwLCAyMDozMjo1Nyk6Cmh0dHA6Ly93d3cuZXhwcmVzcy5kZS9yZWdpb25hbC9ib25uL21lc3NlcnN0ZWNoZXItYXVzLWFsZnRlci11bmQtcmhlaW5iYWNoLWdlcwpjaG5hcHB0Ly0vMjg2MC80NDE0NzgwLy0vaW5kZXguaHRtbAoKVW5nbGF1bGljaCwgZGllc2UgSnVnZW5kLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE11ZGRlciBhbHMgTWVzc2Vyc3RlY2hlcj8gKFZhbmlvbiwgMTYuIEp1bCAyMDEwLCAxNzoxODoxNyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTI3OTIxODc3NyByZz13d3cKfiMhIHRpZD0xMjc5MjE4Nzc3ClRyZWZmZW4gc2ljaCB6d2VpIE11ZHMgdW5kIGVyemFlaGxlbiBzaWNoICJEZWluZSBNdWRkZXIiLVdpdHplLgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTXVkZGVyIGFscyBNZXNzZXJzdGVjaGVyPyAoSHVtbmksIDE3LiBKdWwgMjAxMCwgMDA6NDY6NTQpOgp+IyEgcm49VmFuaW9uIHJ0PTEyNzkyOTM0OTcgcmc9d3d3Cn4jISB0aWQ9MTI3OTIxODc3NwpUcmVmZmVuIHNpY2ggendlaSBNdWRzLgoKU2FndCBkYXMgZWluZSAiTWlzdC4gQmVpIG1pciBnaWJ0cyBqZXR6dCBkZW1va3JhdGlzY2hlIFN0cnVrdHVyZW4uIgpTYWd0IGRhcyBhbmRlcmUgIkFjaCwga2VpbiBUaGVtYS4gQmFsZCBoYXN0IER1IFJ1aGUuLi4iCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogTXVkZGVyIGFscyBNZXNzZXJzdGVjaGVyPyAoVmFuaW9uLCAxOC4gSnVsIDIwMTAsIDIxOjQwOjE4KToKfiMhIHJuPUh1bW5pIHJ0PTEyNzkzMjA0MTQgcmc9d3d3Cn4jISB0aWQ9MTI3OTIxODc3NwpTYWd0IGVpbiBNdWQgenVtIGFuZGVyZW46ICJNaXIgZ2VodHMgZHJlY2tpZy4iCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQlAncyBQcm9ibGVtZS4uLiAoWmVzc3RyYSwgMjEuIEp1bCAyMDEwLCAxNzoyNjo0Nyk6CkhhdCBCUCB2aWVsbGVpY2h0IGVpbiB3ZWl0ZXJlcyBQcm9ibGVtLi4uPyA7LSkKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTJBQWEwZ2Q3Q2xNCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQlAncyBQcm9ibGVtZS4uLiAoQXJrLCAyMS4gSnVsIDIwMTAsIDE4OjA1OjM1KToKfiMhIHJuPVplc3N0cmEgcnQ9MTI3OTcyNjAwNyByZz13d3cKfiMhIHRpZD0xMjc5NzI2MDA3CkRhcyBpc3QgYWJlciBkb2NoIHNjaG9uIGFlbHRlciwgZ2VsbD8gOikKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJQJ3MgUHJvYmxlbWUuLi4gKFplc3N0cmEsIDIxLiBKdWwgMjAxMCwgMjE6MjU6NTcpOgp+IyEgcm49QXJrIHJ0PTEyNzk3MjgzMzUgcmc9d3d3Cn4jISB0aWQ9MTI3OTcyNjAwNwpNYWcgc2VpbiwgaWNoIGthbm50ZSBkZW4gaGFsdCBub2NoIG5pY2h0LgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmVzdGl2YWxzIC4uLiAoR2xvaW5zb24sIDIzLiBKdWwgMjAxMCwgMTI6MzU6MTEpOgp3d3cud3VsZmZtb3JnZW50aGFsZXIuY29tL3N0cmlwLmFzcHg/aWQ9ZGFlNzExNWQtYTg1ZC00ODQ0LTkxN2ItYzM3NzAwOTgzYmNjCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGVybmVuIGluIEJheWVybiA6KSAoQmx1dGdpZXIsIDIzLiBKdWwgMjAxMCwgMTQ6NDI6MDYpOgpodHRwOi8vd3d3LnNwaWVnZWwuZGUvc2NodWxzcGllZ2VsL3dpc3Nlbi8wLDE1MTgsNzA3OTM0LDAwLmh0bWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBMZXJuZW4gaW4gQmF5ZXJuIDopIChHbG9pbnNvbiwgMjMuIEp1bCAyMDEwLCAxNTowMzoxMik6Cn4jISBybj1CbHV0Z2llciBydD0xMjc5ODg4OTI2IHJnPXd3dwp+IyEgdGlkPTEyNzk4ODg5MjYKTmV0dC4gRGllIFN0YXRpc3RpayB6dSBiZXN0ZWhlbmRlbiBTY2hpZXNza2VsbGVybiB1bmQgLXN0YWVuZGVuIGVudGxhcnZ0IGRvY2gKcHJpbWEgZGllIGluendpc2NoZW4gc2Nob24gaW4gZGVuIEtvZXBmZW4gbWFuY2hlciBFbHRlcm4gdW5kIE1lZGllbnZlcnRyZXRlcgpmZXN0Z2VuYWdlbHRlIFRoZXNlIHZvbiAiV2FmZmVuID0gQW1va2xhdWYiLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGZXN0aXZhbHMgLi4uIChHbG9pbnNvbiwgMjMuIEp1bCAyMDEwLCAxNTozMDo1MSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjc5ODgxMzExIHJnPXd3dwp+IyEgdGlkPTEyNzk4ODEzMTEKd3d3Lnd1bGZmbW9yZ2VudGhhbGVyLmNvbS9zdHJpcC5hc3B4P2lkPTZjYTIyMDFhLWIzNTItNDcyZi1iZDhjLTEyZjBjZmJiZjgwNAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRmVzdGl2YWxzIC4uLiAoR2xvaW5zb24sIDIzLiBKdWwgMjAxMCwgMTU6NDA6MjQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI3OTg5MTg1MSByZz13d3cKfiMhIHRpZD0xMjc5ODgxMzExClVuZCBub2NoIGRlciBoaWVyIHp1ciBNdXNpayAuLi4KCnd3dy53dWxmZm1vcmdlbnRoYWxlci5jb20vc3RyaXAuYXNweD9pZD1iMjljZmM4Ni0wOWU0LTQ1NWEtOTUzYy0xNzU2YmZhYTg1ODAKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcHBsZSBpUGhvbmUgTG9lc3VuZyAoQmx1dGdpZXIsIDI3LiBKdWwgMjAxMCwgMTU6MjA6NTcpOgpodHRwOi8vd3d3LmNvbGxlZ2VodW1vci5jb20vdmlkZW86MTkzODk2MQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFwcGxlIGlQaG9uZSBMb2VzdW5nIChWYW5pb24sICA4LiBBdWcgMjAxMCwgMDA6Mzc6MDIpOgp+IyEgcm49Qmx1dGdpZXIgcnQ9MTI4MDIzNjg1NyByZz13d3cKfiMhIHRpZD0xMjgwMjM2ODU3Ck5pY2UuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRmxhc2ggUlBHLU1pbmVzd2VlcGVyIChDcm9mdCwgIDkuIEF1ZyAyMDEwLCAxNjo0NDoyOCk6Ck5ldHRlIE1pbmVzd2VlcGVydmFyaWFudGU6Cmh0dHA6Ly93d3cuaG9qYW1ha2EuY29tL2dhbWUvbWFtb25vX3N3ZWVwZXIvZW4uaHRtbAoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktvbW1lIGljaCB6dSBzcGFldCBtaXQgZGVtIExpbms/IChNaXJha2EsIDEzLiBBdWcgMjAxMCwgMTU6MDU6MzIpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Rkw3eUQtMHBxWmcKCk1pcmFrYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGlzdHVyYmluZyAoR2xvaW5zb24sIDE4LiBBdWcgMjAxMCwgMTI6NTA6NTEpOgouLi4gZ29vZCBib29rcz8KCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1lMUl4T1M0VnpLTSZmZWF0dXJlPXBsYXllcl9lbWJlZGRlZAoKKE5TRlcpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERpc3R1cmJpbmcgKFZhbmlvbiwgMjIuIEF1ZyAyMDEwLCAyMjowOToyNCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjgyMTI4NjUxIHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKIkRpZXNlcyBWaWRlbyBiencuIGRpZXNlIEdydXBwZSBlbnRoYWVsdCBtb2VnbGljaGVyd2Vpc2UgSW5oYWx0ZSwgZGllIGZ8cgplaW5pZ2UgTnV0emVyIHVuYW5nZW1lc3NlbiBzZWluIGtubmVuLCB1bmQgd3VyZGUgZGFoZXIgdm9uIGRlcgpZb3VUdWJlLUNvbW11bml0eSBnZW1lbGRldC4gRGFtaXQgZHUgZGllc2VzIFZpZGVvIG9kZXIgZGllc2UgR3J1cHBlIGFuemVpZ2VuCmthbm5zdCwgbXVzc3QgZHUgYmVzdGFldGlnZW4sIGRhc3MgZHUgbWluZGVzdGVucyAxOCBKYWhyZSBhbHQgYmlzdC4gTWVsZGUgZGljaApoaWVyenUgYW4gb2RlciBlcnN0ZWxsZSBlaW4gS29udG8uIgoKUGFzc2UuIEhhYiBzY2hvbiBnZW51ZyBLb250ZW4gYmVpIHNlZWxlbmxvc2VuIEZpcm1lbiwgZGllIG1pY2ggZHV6ZW4gdW0Kc3ltcGF0aGlzY2hlciB6dSB3aXJrZW4uCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEaXN0dXJiaW5nIChab29rLCAyMi4gQXVnIDIwMTAsIDIyOjEyOjIzKToKfiMhIHJuPVZhbmlvbiBydD0xMjgyNTA3NzY0IHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKQU9MLCBab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogRGlzdHVyYmluZyAoVmFuaW9uLCAyMi4gQXVnIDIwMTAsIDIyOjEzOjU3KToKfiMhIHJuPVpvb2sgcnQ9MTI4MjUwNzk0MyByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCkhpZXIgZWluZSAobm9jaCkgdW56ZW5zaWVydGUgVmVyc2lvbi4gV2llIHVuYW5zdGFlbmRpZy4gTG9obnQgZXMgc2ljaCwgZWluCkJ1Y2ggdm9uIGRlbSB6dSBrYXVmZW4sIEdsb2luKj8KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaXN0dXJiaW5nIChWYW5pb24sIDIyLiBBdWcgMjAxMCwgMjI6MjA6NDcpOgp+IyEgcm49VmFuaW9uIHJ0PTEyODI1MDgwMzcgcmc9d3d3Cn4jISB0aWQ9MTI4MjEyODY1MQpIdWNoLCBoYWJzY2ggZGVuIExpbmsgdmVyZ2Vzc2VuOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NWU4d3g2aTlrQkEKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERpc3R1cmJpbmcgKFZlY3RvciwgMjIuIEF1ZyAyMDEwLCAyMjoyMzowOSk6Cn4jISBybj1WYW5pb24gcnQ9MTI4MjUwNzc2NCByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCmV0d2EgaW4gZGVyIGhldXRpZ2VuIHplaXQgbm9jaCBhbmdzdCB2b3Igc3BhbT8KdW50ZXIgaHR0cDovL3d3dy5ndWVycmlsbGFtYWlsLmNvbS8gZml4IG5lCmVtYWlsLWFkcmVzc2UgaG9sZW4sIGF1ZiA8bmVydmlnZV9zZWl0ZT4gYW5tZWxkZW4sCmtvbnRvLWFrdGl2aWVydW5nIGFua2xpY2tlbiwgZW1haWwtYWNjb3VudCB3aXJkCmF1dG9tYXRpc2NoIG5hY2ggNjAgbWludXRlbiB3aWVkZXIgZ2Vsb2VzY2h0LCBwcm9ibGVtCmdlbG9lc3QgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERpc3R1cmJpbmcgKFZhbmlvbiwgMjIuIEF1ZyAyMDEwLCAyMjoyNDo0MCk6Cn4jISBybj1WZWN0b3IgcnQ9MTI4MjUwODU4OSByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCjEuIERpZSBncm9lc3NlcmVuIEZpcm1lbiBlcmtlbm5lbiBkaWVzZSBBZHJlc3NlbiBtaXR0bGVyd2VpbGUgcmVjaHQKdHJlZmZzaWNoZXIuCjIuIElzdCBlaGVyIGVpbmUgZ3J1bmRzYWV0emxpY2hlIEJlc29yZ25pcy4gSWNoIGhhYiBhdWNoIGRpdi4gVG9vbHMgZGllIGRhZnVlcgpzb3JnZW4sIGRhc3MgbnVyIFNrcmlwdGUgdm9uIFNlaXRlbiBhdXNnZWZ1ZWhydCB3ZXJkZW4sIGRpZSBpY2ggZXJsYXViZS4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEaXN0dXJiaW5nIChaZXNzdHJhLCAyMi4gQXVnIDIwMTAsIDIyOjI1OjAxKToKfiMhIHJuPVZhbmlvbiBydD0xMjgyNTA4MDM3IHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKTWlyIGlzdCBqYSB2b2VsbGlnIHVua2xhciwgd2FzIG1hbiBkYXJhbiB6ZW5zaWVyZW4gbXVzcyBiencuIHdhcnVtIGRhcyBhYiAxOApzZWluIHNvbGx0ZS4uLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGlzdHVyYmluZyAoVmFuaW9uLCAyMi4gQXVnIDIwMTAsIDIyOjI1OjIyKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI4MjUwODcwMSByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCkRhcyBGLVdvcnQsIFplc3N0cmEuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGlzdHVyYmluZyAoVmVjdG9yLCAyMi4gQXVnIDIwMTAsIDIyOjI1OjMwKToKfiMhIHJuPVplc3N0cmEgcnQ9MTI4MjUwODcwMSByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCmJpc3QgaGFsdCBzY2hvbiByb2ggdW5kIGFiZ2VzdHVtcGZ0IGR1cmNoIGphaHJlbGFuZ2UKbW9uc3RlciBmb2x0ZXJuIHVuZCBraWxsZW4gKGhhYiBkZW4gbGluayBub2NoIG5pY2h0IGdla2xpY2t0KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogRGlzdHVyYmluZyAoWm9vaywgMjIuIEF1ZyAyMDEwLCAyMjoyNjoxMyk6Cn4jISBybj1aZXNzdHJhIHJ0PTEyODI1MDg3MDEgcmc9d3d3Cn4jISB0aWQ9MTI4MjEyODY1MQp5b3V0dWJlIGlzdCBoYWx0IGVpbmZhY2ggcm90ejogd2VubiB4IGRlcHBlbiBhbmtsaWNrZW4gIk1lbGRlbiEiIHdlZ2VuCndlaXNzIG5pY2h0IHdhcywgd2lyZCBhdWNoIGRhcyBoYXJtbG9zZXN0ZSB2aWRlbyByYXVzZ2Vub21tZW4uIHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IERpc3R1cmJpbmcgKEdsb2luc29uLCAyMi4gQXVnIDIwMTAsIDIzOjE0OjM5KToKfiMhIHJuPVpvb2sgcnQ9MTI4MjUwODc3MyByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCkljaCBzY2hydWIgbnVyICJOU0ZXIiwgYmVpIG1pciB3YXIgZXMgbm9jaCBmcmVpLiBOaWNodCBpbiBqZWRlbSBCdWVybyBpc3QKImZpY2tlbiIgcmF1bWtvbXBhdGliZWwuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogRGlzdHVyYmluZyAoSGlnaGxhbmRlciwgMjMuIEF1ZyAyMDEwLCAwOTo0MjoxMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMjgyNTExNjc5IHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKZW4ud2lraXBlZGlhLm9yZy93aWtpL0hlYWRwaG9uZXMgKGljaCB3dWVyZGUgamEgZGVuIGRldXRzY2hlbiBsaW5rIG5laG1lbiwKYWJlciBkYSBoYWJlIGljaCBlaW4gVW1sYXV0cHJvYmxlbSwgbmFjaGRlbSBpY2ggZ3JhZGUgaW4gZGVyIFVSTC1aZWlsZQpudXIgZGVuIFVtbGF1dCBzZWhlLCBuaWNodCBkZXNzZW4gS29kaWVydW5nKS4uLgoKSHJUCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBEaXN0dXJiaW5nIChSdW1hdGEsIDIzLiBBdWcgMjAxMCwgMDk6NDc6NDYpOgp+IyEgcm49UnVtYXRhIHJ0PTEyODI1NDk1NTcgcmc9d3d3Cn4jISB0aWQ9MTI4MjEyODY1MQpJbiBGaXJlZm94OiByZWNodGUgTWF1c3Rhc3RlIC0+IFBhZ2UgSW5mbwoKRGEgZmFlbGx0IG1pciBlaW4sIGRhc3MgaWNoIG1pciBub2NoIGVpbmVuIGJlc29yZ2VuIHdvbGx0ZS4KCkljaCBkYWNodGUgYW4gU2VubmhlaXNlciBIRCA1NTUuIFdhcyBnaWJ0IGVzIGZ1ZXIgbW9lZ2xpY2hlCkFsdGVybmF0aXZlbiBpbSBzZWxiZW4gcHJlaXNzZWdtZW50PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IERpc3R1cmJpbmcgKEppbWRpZ3JpeiwgMjMuIEF1ZyAyMDEwLCAxMDo0MTo0MCk6Cn4jISBybj1SdW1hdGEgcnQ9MTI4MjU0OTY2NiByZz13d3cKfiMhIHRpZD0xMjgyMTI4NjUxCkljaCBoYWIgZGVuIEhENTU1IHVuZCBiaW4gc2VociB6dWZyaWVkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogRGlzdHVyYmluZyAoQWxib2luLCAyMy4gQXVnIDIwMTAsIDE4OjEzOjM0KToKfiMhIHJuPUppbWRpZ3JpeiBydD0xMjgyNTUyOTAwIHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKUmFjaGVsIEJsb29tIGlzdCB2ZXJkYW1tdCBzY2hudWNrZWxpZy4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEyOiBEaXN0dXJiaW5nIChHd2VuLCAyMy4gQXVnIDIwMTAsIDIwOjI3OjUyKToKfiMhIHJuPUFsYm9pbiBydD0xMjgyNTgwMDE0IHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKV2VyIGF1Y2ggaW1tZXIgZGFzIHNlaW4gbWFnLi4uCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMzogRGlzdHVyYmluZyAoR2xvaW5zb24sIDIzLiBBdWcgMjAxMCwgMjE6NDU6MTMpOgp+IyEgcm49R3dlbiBydD0xMjgyNTg4MDcyIHJnPXd3dwp+IyEgdGlkPTEyODIxMjg2NTEKS2xpbmd0IHdpZSBTY2h3ZXN0ZXJtdXR0ZXIgZGVyIFN0YW5kYXJkcGlyYXRlbmVsZmUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGhlIERhbmlzaCBDaGVmIDopIChWYW5pb24sICAzLiBTZXAgMjAxMCwgMjA6MDg6NDIpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QjdVbVVYNjhLdEUKClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWdnZWdhbmdlbiwgUGxhdHogdmVyZ2FuZ2VuISAoVmFuaW9uLCAxMC4gU2VwIDIwMTAsIDIxOjMyOjM2KToKU2NobGVnbCBiZWltICJUYWcgZGVyIEhlaW1hdCIgZGVzIEJheXJpc2NoZW4gQnVuZCBkZXIgVmVydHJpZWJlbmVuLgpodHRwOi8vd3d3Lm5kci5kZS9mZXJuc2VoZW4vc2VuZHVuZ2VuL2V4dHJhXzMvbWVkaWEvY2MxMzIuaHRtbAoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk9mZmVuZXIgSGF1c2hhbHQgKFZhbmlvbiwgMTguIFNlcCAyMDEwLCAyMjowNjoxNCk6CkVpbmUgU2VpdGUgZGVzIEJ1bmRlcyBiZXNjaGFlZnRpZ3Qgc2ljaCBtaXQgZGVyIEhhdXNoYWx0c3BsYW51bmcuCgpodHRwOi8vYnVuZC5vZmZlbmVyaGF1c2hhbHQuZGUvCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE9mZmVuZXIgSGF1c2hhbHQgKE1hc3VsLCAyMS4gU2VwIDIwMTAsIDA4OjQ3OjI2KToKfiMhIHJuPVZhbmlvbiBydD0xMjg0ODQwMzc0IHJnPXd3dwp+IyEgdGlkPTEyODQ4NDAzNzQKRGFzIHNjaGVpbnQga2VpbmUgU2VpdGUgZGVzIEJ1bmRlcyB6dSBzZWluLCBzb25kZXJuIGVpbmUgcHJpdmF0ZS4KCk1hc3VsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW5ncmF1ZW4gaW4gZW4tV2lraXBlZGlhIChOb2ssIDIxLiBTZXAgMjAxMCwgMTg6MTU6NTIpOgpNb3JnZW5ncmF1ZW4gaGF0IG5ldWVyZGluZ3MgZWluZW4gRWludHJhZyBpbiBkZXIgZW5nbGlzY2hlbiBXaWtpcGVkaWEuCmh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTW9yZ2VuR3JhdWVuCgpCaXMgZGFubiwKTm9rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1vcmdlbmdyYXVlbiBpbiBlbi1XaWtpcGVkaWEgKFpvb2ssIDIxLiBTZXAgMjAxMCwgMTg6MTg6NDYpOgp+IyEgcm49Tm9rIHJ0PTEyODUwODU3NTIgcmc9d3d3Cn4jISB0aWQ9MTI4NTA4NTc1MgppbiBkZXIgZGV1dHNjaGVuIGZsb2cgZGFzIGphIG1hbCB3ZWdlbiBpcnJlbGV2YW56IHJhdXMsIG9kZXI/CnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogTW9yZ2VuZ3JhdWVuIGluIGVuLVdpa2lwZWRpYSAoTm9rLCAyMS4gU2VwIDIwMTAsIDE4OjI1OjM0KToKfiMhIHJuPVpvb2sgcnQ9MTI4NTA4NTkyNiByZz13d3cKfiMhIHRpZD0xMjg1MDg1NzUyCkFsc28gZGVyIE1HLUFydGlrZWwgaW4gZGVyIGRlLVdpa2lwZWRpYSBleGlzdGllcnQgc2VpdCBKYW51YXIgMjAwOCB1bmQgaGF0CmF1Y2ggZWluZW4gTG9lc2NoYW50cmFnIHVlYmVyc3RhbmRlbiwgaXN0IGFsc28gc293ZWl0IHVuZ2VmYWVocmRldC4gU296dXNhZ2VuCmFsbGVzIGluIEJ1dHRlci4KCkJpcyBkYW5uLApOb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBNb3JnZW5ncmF1ZW4gaW4gZW4tV2lraXBlZGlhIChab29rLCAyMS4gU2VwIDIwMTAsIDE4OjMxOjU0KToKfiMhIHJuPU5vayBydD0xMjg1MDg2MzM0IHJnPXd3dwp+IyEgdGlkPTEyODUwODU3NTIKV293ISBDb29sISA6KSAKWm9vay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IE1vcmdlbmdyYXVlbiBpbiBlbi1XaWtpcGVkaWEgKEdsb2luc29uLCAyMS4gU2VwIDIwMTAsIDE4OjUxOjM5KToKfiMhIHJuPVpvb2sgcnQ9MTI4NTA4NjcxNCByZz13d3cKfiMhIHRpZD0xMjg1MDg1NzUyCkJpcyB6dXIgbmFlY2hzdGVuIERlYmF0dGUgOykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBNb3JnZW5ncmF1ZW4gaW4gZW4tV2lraXBlZGlhIChaZXNzdHJhLCAyMS4gU2VwIDIwMTAsIDIwOjQ3OjExKToKfiMhIHJuPUdsb2luc29uIHJ0PTEyODUwODc4OTkgcmc9d3d3Cn4jISB0aWQ9MTI4NTA4NTc1MgpIZXJ6bGljaGVuIERhbmsgZnVlciBkaWUgRXJzdGVsbHVuZyBkZXMgRWludHJhZ3MhCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE9mZmVuZXIgSGF1c2hhbHQgKFZhbmlvbiwgMjEuIFNlcCAyMDEwLCAyMjowOTo1Mik6Cn4jISBybj1NYXN1bCBydD0xMjg1MDUxNjQ2IHJnPXd3dwp+IyEgdGlkPTEyODQ4NDAzNzQKSGFiIGljaCBhdWNoIG1pdGJla29tbWVuLiBNZWluIEZlaGxlci4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdXBlciBkYXMgKEFyaywgIDEuIE9rdCAyMDEwLCAxNDoyNzowNCk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9mb3Rvc3RyZWNrZS9mb3Rvc3RyZWNrZS01OTk2Ni0xMS5odG1sCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN1cGVyIGRhcyAoVmFuaXIsICA0LiBPa3QgMjAxMCwgMTc6NDE6NDkpOgp+IyEgcm49QXJrIHJ0PTEyODU5MzYwMjQgcmc9d3d3Cn4jISB0aWQ9MTI4NTkzNjAyNApJY2ggdWViZSBudW4gc2Nob24gZWluZSBXZWlsZSB1bmQgaXJnZW5kd2llIHNjaGFmZmUgaWNoIGVzIG5pY2h0IGVpbmF0bWVuZAonSHVjaCcgenUgc2FnZW4uIERhcyBrbGluZ3QgaXJnZW5kd2llIGRhbm4gaW1tZXIgc2VociBrb21pc2NoLgoKVi4gKmltbWVyIG5vY2ggZ3JpbnNlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb25rZXkgb2YgdGhlIERhbmNlIChBbnRoZWEsIDEyLiBPa3QgMjAxMCwgMTI6MjM6MjMpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UG1NU0JuN2d0aVUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5lZWQgYW4gYXBwcm92YWw/IChBcmssIDI4LiBPa3QgMjAxMCwgMTM6MjU6NTcpOgpodHRwOi8vd3d3Lnh0cmFub3JtYWwuY29tL3dhdGNoLzczNjMzMjUvP3JlZj1uZgoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZlcmZhaHJlbmUgQmFobiAoR3dlbiwgMjQuIE5vdiAyMDEwLCAyMjowODo1OCk6CkZyZWkgbmFjaCBkZW0gTW90dG8gIlNwYXNzIG1pdCBkZXIgQmFobiI6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9yZWlzZS9ha3R1ZWxsLzAsMTUxOCw3MzA0NTEsMDAuaHRtbApOci4gMSBoYWJlbiBaZXNzdHJhIHVuZCBYdXRlbGl1cyB2b24gaWhyZXIgT2R5c3NlZSBiZXJpY2h0ZXQsIHdlbm4gaWNoIG1pY2gKcmljaHRpZyBlcmlubmVyLgpWaWVsIFNwYXNzIHd1ZW5zY2h0IEV1Y2ggR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkhhcmhhciAoQXJrLCAgNy4gRGV6IDIwMTAsIDEwOjU5OjIwKToKaHR0cDovL3d3dy5qdXNvcy1ybHAuZGUvZmFiaWFuL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA5L21lcmtlbC1idXJuczEuanBnCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQ3JhZGRsZSBvZiBMZWFrcyAoR3dlbiwgIDkuIERleiAyMDEwLCAyMTo0MjoyNyk6Cmh0dHA6Ly93d3cudGFnZXNzY2hhdS5kZS9zY2hsdXNzbGljaHQva3JpcHBlbmZpZ3VyMTAwLmh0bWwKT2RlciBhdWNoOgpBbmdpZSwgU2lsdmkgdW5kIGRlciBrbGVpbmUgSnVsaWFuLi4uCkVpbmUga3JlYXRpdmUgQWR2ZW50c3plaXQgd3VlbnNjaHQKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDcmFkZGxlIG9mIExlYWtzIChBbGJvaW4sICA5LiBEZXogMjAxMCwgMjI6MDc6MjUpOgp+IyEgcm49R3dlbiBydD0xMjkxOTI3MzQ3IHJnPXd3dwp+IyEgdGlkPTEyOTE5MjczNDcKQW5naWUgaW4gZGVyIFdlaWhuYWNodHNrcmlwcGUsIGRhc3MgaGF0IHVuc2VyIEl0YWxpZW5lciB2b20gS2FmZmVlbW9iaWwgYXVjaApoaW5iZWtvbW1lbi4gRXIgaGF0IGRhbm4gaW1tZXIgZGllIFdlaWhuYWNodHNrcmlwcGUgbWl0IGVpbmVyIFRvbWJvbGEKdmVyc2NoZW5rdC4gU2NoYWRlIGRhc3MgaWNoIGRlbiBJdGFsaWVuZXIgbmljaHQgbWVociBzZWhlIHdlaWwgaWNoIGRlcnplaXQgaW4KZWluZXIgYW5kZXJlbiBGaXJtYSBlaW4gUHJvamVrdCBiZXdhZWx0aWdlLiBJY2ggdmVybWlzc2UgIGlobi4KYWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVnb24gaGF0IGVpbmVuIG5ldWVuIFdhZ2VuIChHd2VuLCAxMS4gRGV6IDIwMTAsIDE3OjA3OjA0KToKSXN0IGVzIGRlciBoaWVyPwpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cUNNTU1TR2Y4SWMKb2RlciB2aWVsbGVpY2h0IGRlciBoaWVyPwpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RE5rRWJhRmJDUmsKTmVpbiwgYWJlciBkZXIgaGllcl8KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWNCV3d5ckJxUGgwCgpIYWJldCBGcmV1ZGUsIEd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBa3R1ZWxsZXM6IEVpbiBTY2hpIGZvYW4gKEd3ZW4sIDExLiBEZXogMjAxMCwgMTg6NTg6MTMpOgoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWdvNWtRLUxzSVpzCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJdCdzIGhlciBqb2IgKEd3ZW4sIDE2LiBEZXogMjAxMCwgMDk6NDg6MDYpOgpHZXN0ZXJuIGhhdCBlaW4gS29sbGVnZSBkYXMgaGllciBhdXNnZWRydWNrdDoKaHR0cDovL2JpdGluZ2l0LmNvbS8yMDA5L2dpdmUtaXQtdG8teW91ci13aWZlLWl0cy1oZXItam9iLwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEl0J3MgaGVyIGpvYiAoWm9vaywgMTYuIERleiAyMDEwLCAwOTo0OTowOCk6Cn4jISBybj1Hd2VuIHJ0PTEyOTI0ODkyODYgcmc9d3d3Cn4jISB0aWQ9MTI5MjQ4OTI4NgpNaXIgYWxzIE1hbm4gd2FyIGRhcyBCaWxkIHNlbGJzdHZlcnN0YWVuZGxpY2ggc2Nob24gbGFuZ2UgCmJla2FubnQuIApab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJdCdzIGhlciBqb2IgKEd3ZW4sIDE2LiBEZXogMjAxMCwgMDk6NTE6MTIpOgp+IyEgcm49Wm9vayBydD0xMjkyNDg5MzQ4IHJnPXd3dwp+IyEgdGlkPTEyOTI0ODkyODYKRGFzIGhpZXIgYXVjaD8KaHR0cDovL3d3dy5ob3JzZXByZXNlbmNlLmNvbS9zaG9wL21lZGlhL2ltYWdlcy9wcm9kdWN0cy9UQzIyMTBYMS5qcGcKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEl0J3MgaGVyIGpvYiAoWm9vaywgMTYuIERleiAyMDEwLCAwOTo1Mzo0OSk6Cn4jISBybj1Hd2VuIHJ0PTEyOTI0ODk0NzIgcmc9d3d3Cn4jISB0aWQ9MTI5MjQ4OTI4NgpVbmQgaWNoIGxhcyBudW4gUGFsYWNlIHN0YXR0IFBsYWNlLiAKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSXQncyBoZXIgam9iIChHd2VuLCAxNi4gRGV6IDIwMTAsIDEwOjEzOjMxKToKfiMhIHJuPVpvb2sgcnQ9MTI5MjQ4OTYyOSByZz13d3cKfiMhIHRpZD0xMjkyNDg5Mjg2CkhtaG1obS4gSmV0enQgc2luZCB3aXIgc2Nob24gd2llZGVyIGJlaSBkZXIgRnJhdWVubWF1czoKaHR0cDovL2x1c3RpY2guZGUvYmlsZGVyL21lbnNjaGVuL2ZyYXVlbm1hdXMvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJdCdzIGhlciBqb2IgKEFsYm9pbiwgMTcuIERleiAyMDEwLCAwMToxMDo1MCk6Cn4jISBybj1Hd2VuIHJ0PTEyOTI0ODk0NzIgcmc9d3d3Cn4jISB0aWQ9MTI5MjQ4OTI4NgpEYXMgZXJpbm5lcnQgbWljaCBhbjoKVGhlIGtpbmdzIGhvbWUgaXMgYSBjYXN0bGUKdGhlIHNhaWxvcnMgaG9tZSBpcyB0aGUgc2VhLAphIGdpcmxzIGFzcyBhbmQgYSBnbGFzcyBvZiBiZWVyCmlzIGhvbWUgZW5vdWdoIHRvIG1lLgoKYWwsIG5pY2h0IGltbWVyIHNvIGJlc2NoZWlkZW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEl0J3MgaGVyIGpvYiAoUnVtYXRhLCAxNy4gRGV6IDIwMTAsIDEyOjMwOjIzKToKfiMhIHJuPUFsYm9pbiBydD0xMjkyNTQ0NjUwIHJnPXd3dwp+IyEgdGlkPTEyOTI0ODkyODYKVmVyZ2lzcyBuaWNodCwgZGVuIEVzZWwgcmVnZWxtYWVzc2lnIHp1IGZ1ZXR0ZXJuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F0YW4gQ2xhd3M/IChNaXJha2EsIDIzLiBEZXogMjAxMCwgMTE6NDg6MTIpOgpBYnNvbHV0ZXIgTVVTVCBTRUUgOi0pCgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9bm4yaDNfYUgzdm8KCkZyb2hlcyBGZXN0IHd1ZW5zY2h0IE1pcmFrYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTYXRhbiBDbGF3cz8gKEd3ZW4sIDI0LiBEZXogMjAxMCwgMTc6MzU6NTMpOgp+IyEgcm49TWlyYWthIHJ0PTEyOTMxMDEyOTIgcmc9d3d3Cn4jISB0aWQ9MTI5MzEwMTI5MgpJY2gga2VubiBudXIgU2F0YW4gQ2xhd3MgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZlc3RsaWNoZXMgKEd3ZW4sIDI0LiBEZXogMjAxMCwgMTc6NDA6MzMpOgpTZWxic3QgYmVpbSBXZWlobmFjaHRzbWFubiBpc3QgbmljaHRzIG1laHIgaGVpbGlnOgpodHRwOi8vd3d3LmthcmlrYXR1ci1jYXJ0b29uLmRlL2JpbGRlci93dW5zY2h6ZXR0ZWwtd2VpaG5hY2h0c21hbm4uanBnCgpXZWlobmFjaHRlbiBmYWVsbHQgamEgYmVrYW5udGxpY2ggZGllc21hbCBhdXMsIGRlbm46Ckpvc2VmIGhhdCBnZXN0YW5kZW4hClVuZCBkYW5uIGRhcyBoaWVyOiBodHRwOi8vZGUudG9vbnBvb2wuY29tL3VzZXIvMTE0Ni9maWxlcy9rZXZpbl8zMjU0MzUuanBnCgpBYmVyIHp1bSBHbHVlY2sgZmluZGV0IG1hbiBmZXN0bGljaGUgU3RpbW11bmcgYXVjaCBnZXJhZGUgZG9ydCwgd28gbWFuIHNpZQpuaWNodCBlcndhcnRldDoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVNYaDdKUjlvS1ZFCgpJbiBkaWVzZW0gU2lubmU6IEZyb2hlIEZlc3R0YWdlIHVuZCBhbGxlcyBHdXRlIGZ1ZXJzIG5ldWUgSmFociEKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGZXN0bGljaGVzIChBbWFyeWxsaXMsIDI0LiBEZXogMjAxMCwgMTk6MjY6MDEpOgp+IyEgcm49R3dlbiBydD0xMjkzMjA4ODMzIHJnPXd3dwp+IyEgdGlkPTEyOTMyMDg4MzMKaHR0cDovL3d3dy5pLWkuYXQvP3RhZz13ZWlobmFjaHRlbi1yZW50aWVyLWd1bW1pcHVwcGUteG1hcwoKQWxsZXMgR3V0ZSEKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGllIHVsdGltYXRpdmUgYW50d29ydCBhdWZzIGlwYWQgKE11cGZlbCwgMjUuIERleiAyMDEwLCAwMDozOTowNCk6Cmh0dHA6Ly9teWJyZXR0LmRlLwoKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlobmF4Y2h0c2dlc2NoaWNodGUgKG5pY2h0IHZvbiBEaWNrZW5zKSAoR2xvaW5zb24sIDI4LiBEZXogMjAxMCwgMTE6MDg6NDMpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9R2tITk5QTTdwSkEKCkdvZXR0bGljaCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXZWlobmF4Y2h0c2dlc2NoaWNodGUgKG5pY2h0IHZvbiBEaWNrZW5zKSAoWmVzc3RyYSwgIDQuIEphbiAyMDExLCAxMjoyNTozMSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjkzNTMwOTIzIHJnPXd3dwp+IyEgdGlkPTEyOTM1MzA5MjMKQnpnbC4gV2VpaG5hY2h0c2dlc2NoaWNodGUgZmluZGUgaWNoIHVlYnJpZ2VucyBhdWNoIFN0ZW5rZWxmZWxkIGdyYW5kaW9zLiBEYQpnaWJ0IGVzIG5lIGdhbnplIFJlaWhlLCBhYmVyIHouQi4gZGllc2U6CiogRGllIFdlaWhuYWNodHNiZWxldWNodHVuZwpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9T1Jnc3N0R0JXaFUKKiBEYXMgU2lsdmVzdGVyLUZldWVyd2VyawpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UXV4YnZFZXhIZzgmZmVhdHVyZT1yZWxhdGVkCiogV2VpaG5hY2h0ZW4gaW0gT2t0b2JlcgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9REF2azhyZW04cVkmZmVhdHVyZT1yZWxhdGVkCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdlaWhuYXhjaHRzZ2VzY2hpY2h0ZSAobmljaHQgdm9uIERpY2tlbnMpIChBbWFyeWxsaXMsICA0LiBKYW4gMjAxMSwgMjA6MzM6NDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMjk0MTQwMzMxIHJnPXd3dwp+IyEgdGlkPTEyOTM1MzA5MjMKRHUga29tbXN0IHp1IHNwYWV0LiBXZWlobmFjaHRlbiBpc3Qgdm9yYmVpLCBlaW5zY2hsaWVzc2xpY2ggU2lsdmVzdGVyLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2VpaG5heGNodHNnZXNjaGljaHRlIChuaWNodCB2b24gRGlja2VucykgKFplc3N0cmEsICA0LiBKYW4gMjAxMSwgMjA6MzQ6MjUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTEyOTQxNjk2Mjcgcmc9d3d3Cn4jISB0aWQ9MTI5MzUzMDkyMwpPY2gsIFN0ZW5rZWxmZWxkIGthbm4gbWFuIGF1Y2ggdW5hYmhhZW5naWcgZGF2b24gaG9lcmVuLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd29ybGQgY29tbXVuaXR5IGdyaWQgKEJpam91LCAxMC4gSmFuIDIwMTEsIDIxOjE2OjQ5KToKaGlobyEKa2VubnQgdm9uIGV1Y2ggc2Nob24gamVtYW5kIHZlcnRlaWx0ZXMgcmVjaG5lbj8gaWNoIGdlaCBtYWwgZGF2b24gYXVzLCBkYXNzCmVpbmlnZSB2b24gZXVjaCBzY2hvbiBiZWkgc2V0aUBob21lIG9kZXIgYW5kZXJlbiBhZWhubGljaGVuIHByb2pla3RlbgptaXRyZWNobmVuLiBpY2ggbW9lY2h0ZSBoaWVyIG1hbCBkYXMgd29ybGQgY29tbXVuaXR5IGdyaWQgdm9yc3RlbGxlbiwgZGFzCnVuZ2VudXR6dGUgcmVjaGVuemVpdCBmdWVyIG1lZGl6aW5pc2NoZSB1bmQgYW5kZXJlIHdpc3NlbnNjaGFmdGxpY2hlCmJlcmVjaG51bmdlbiBudXR6dC4gCmZ1ZXIgZGllamVuaWdlbiwgZGllIG5vY2ggbmljaHQgd2lzc2VuLCB3aWUgc293YXMgZnVuenQ6IG1hbiBsYWVkdCBzaWNoIGVpbgprbGVpbmVzIHByb2dyYWVtbWNoZW4gYXVmIGRlbiBwYyBoZXJ1bnRlciwgdHV0IGRpZXMgaW5zdGFsbGllcmVuIHVuZCBkYW5uCmhpbGZ0IG1hbiBkZXIgZm9yc2NodW5nLCBpbmRlbSBtYW4gc2VpbmUgY3B1IG9kZXIgZ3B1IGtsZWluZSBoYWVwcGNoZW4Kcmllc2lnZXIgZGF0ZW5iZXJlY2hudW5nZW4gYXVzZnVlaHJlbiBsYWVzc3QuIGRhcyBnYW56ZSBrb3N0ZXQgZ2Fybml4IGF1c3NlcgpkYXNzIGRlciBwYyB2aWVsbGVpY2h0IG5pY2h0IG1laHIgaW4gZGVuIHN0YW5kYnkgZmFlaHJ0LiBkaWUgY3B1IHdpcmQgbnVyCmdlbnV0enQsIHdlbm4gbWFuIHNpZSBzZWxiZXIgbmljaHQgYmVub2V0aWd0LCB3YXMgYmVpIG1vZGVybmVuIHJlY2huZXJuIGJlaQpkZW4gbWVpc3RlbiB2b24gdW5zIGluIDk5ICUgZGVyIHplaXQgZGVyIGZhbGwgaXN0LiAKaWNoIGZpbmRlIHNwZXppZWxsIGRhcyB3b3JsZCBjb21tdW5pdHkgZ3JpZCBlaW5lIHNlaHIgc3Bhbm5lbmRlIGFydCBkZXIKd2lzc2Vuc2NoYWZ0IGJlaSBncnVuZGxhZ2VuZm9yc2NodW5nIHp1IGhlbGZlbi4gZGEgbGF1ZmVuIGdlcmFkZSBwcm9qZWt0ZSB6LmIuCnp1ciBrcmVic2ZvcnNjaHVuZywgYWlkcywgbXVza2VsZHlzdHJvcGhpZSwgZGVuZ3VlZmllYmVyLCBhYmVyIGF1Y2ggenVyCmVudHdpY2tsdW5nIHZvbiBwaG90b3ZvbHRhaWt6ZWxsZW4gYXVzIHBsYXN0aWsgei5iLiBkaWUgZGFyYXVzIGdld29ubmVuZW4KZXJnZWJuaXNzZSB3ZXJkZW4gb2VmZmVudGxpY2ggZ2VtYWNodCwgd2llIHNpY2ggZGFzIGdlaG9lcnQuIApydW50ZXJsYWRlbiBrYW5uIG1hbiBkYXMgZ2FuemUgYXVmIHd3dy53b3JsZGNvbW11bml0eWdyaWQub3JnCmdlbmF1ZXJlIGJlc2NocmVpYnVuZ2VuIGZpbmRlbiBzaWNoIGF1Y2ggaW4gd2lraXBlZGlhLCBkYXMgd2NnIGhhdCBuZW4gZWlnZW5lbgphcnRpa2VsLiB2aWVsbGVpY2h0IGxpZXNzZSBzaWNoIGphIHNvZ2FyIGVpbiB0ZWFtIG1vcmdlbmdyYXVlbiBncnVlbmRlbiwgZmFsbHMKc2ljaCBlaW4gcGFhciBsZXV0ZSBoaWVyIGZpbmRlbiB3dWVyZGVuLCBkaWUgc293YXMgdW50ZXJzdHVldHplbi4uLgoKZ3J1ZXNzbGUKYmlqb3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3b3JsZCBjb21tdW5pdHkgZ3JpZCAoQmlqb3UsIDEwLiBKYW4gMjAxMSwgMjI6MjE6NTIpOgp+IyEgcm49Qmlqb3UgcnQ9MTI5NDY5MDYwOSByZz13d3cKfiMhIHRpZD0xMjk0NjkwNjA5CnAucy4gbmF0dWVybGljaCBicmF1Y2h0IGRhcyBnYW56ZSBldHdhcyB0cmFmZmljLi4uIGFsc28gZmxhdHJhdGUgaXN0IHZvbgp2b3J0ZWlsLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3b3JsZCBjb21tdW5pdHkgZ3JpZCAoR2xvaW5zb24sIDExLiBKYW4gMjAxMSwgMDA6MDk6NDUpOgp+IyEgcm49Qmlqb3UgcnQ9MTI5NDY5NDUxMiByZz13d3cKfiMhIHRpZD0xMjk0NjkwNjA5CkhhY2hqYSwgZGFzIGd1dGUgYWx0ZSByYzQtTUctVGVhbSAuLi4gbmVlZSwgbWVpbiBMYXB0b3Agd2lyZCBoZWlzcyBnZW51ZyA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHdvcmxkIGNvbW11bml0eSBncmlkIChCYW1idWxrbywgMTEuIEphbiAyMDExLCAwODo0ODoxOCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMjk0NzAwOTg1IHJnPXd3dwp+IyEgdGlkPTEyOTQ2OTA2MDkKU2VpdCBpY2ggbWVpbmVuIExhcHRvcCBoYWJlLCBzaW5kIGRpZSBIZWl6a29zdGVuIHN0YXJrIGdlc3Vua2VuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogd29ybGQgY29tbXVuaXR5IGdyaWQgKFJ1bWF0YSwgMTEuIEphbiAyMDExLCAwOTozODo1OCk6Cn4jISBybj1CYW1idWxrbyBydD0xMjk0NzMyMDk4IHJnPXd3dwp+IyEgdGlkPTEyOTQ2OTA2MDkKTWl0IGRlbSBsYXB0b3AgYXVmIGRlbSBTY2hvc3Mgc2lua3QgbmljaHQgbnVyIGRpZSBIZWl6cmF0ZS4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogd29ybGQgY29tbXVuaXR5IGdyaWQgKEJpam91LCAxMS4gSmFuIDIwMTEsIDA5OjU2OjU5KToKfiMhIHJuPVJ1bWF0YSBydD0xMjk0NzM1MTM4IHJnPXd3dwp+IyEgdGlkPTEyOTQ2OTA2MDkKbmFqYSwgd2VyIHNpY2ggbmUgZmx1bmRlciB6dWxlZ3QsIGJyYXVjaHQgc2ljaCBuaWNodCB1ZWJlciBoaXR6ZSB6dQp3dW5kZXJuLi4uOy0pIG1laW4gbGFwdG9wIGlzdCBpbW1lciBnZW11ZXRsaWNoIGxhdXdhcm0uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiB3b3JsZCBjb21tdW5pdHkgZ3JpZCAoR2xvaW5zb24sIDExLiBKYW4gMjAxMSwgMTM6MDM6MTUpOgp+IyEgcm49Qmlqb3UgcnQ9MTI5NDczNjIxOSByZz13d3cKfiMhIHRpZD0xMjk0NjkwNjA5CkRhcyB0dXQgbWlyIGxlaWQsIGRhc3MgZGVpbiBMYXB0b3Agc28gbGFuZ3NhbSBpc3QuIE1laW5lbiBQZW50aXVtIE1NWCB3dWVyZGUKaWNoIGFsbGVyZGluZ3MgYXVjaCBuaWNodCBtZWhyIGJlaSBEaXN0cmlidXRlZCBDb21wdXRpbmcgbGF1ZmVuIGxhc3Nlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiB3b3JsZCBjb21tdW5pdHkgZ3JpZCAoR2xvaW5zb24sIDExLiBKYW4gMjAxMSwgMTM6MDU6NDgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI5NDc0NzM5NSByZz13d3cKfiMhIHRpZD0xMjk0NjkwNjA5ClBTOiBBdWNoIGZ1ZXIgbmV1ZXJlIExhcHRvcHMgbm9jaCBzZWhyIGZlaW46IFJNQ2xvY2suIFVuZCBub2NoIGZ1ZXIgbmV1ZXJlClRoaW5rcGFkcyBzZWhyIGZlaW46IFRoaW5rcGFkIEZhbiBDb250cm9sLiAKCkljaCB0aXBwZSBqYSwgZGFzcyBCYW1idWxrbyBzZWl0IEJlc2l0eiBkZXMgTGFwdG9wcyBlaW5mYWNoIG51ciBBcmJlaXQgaW4gZGFzCndhZXJtZSBDYWZlIHZlcmxlZ3QgaGF0IHVuZCBkYWZ1ZXIgZGllIEt1Y2hlbnJlY2hudW5nIGdlc3RpZWdlbiBpc3QuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHdvcmxkIGNvbW11bml0eSBncmlkIChWYW5pb24sIDE0LiBKYW4gMjAxMSwgMjM6MTM6MDcpOgp+IyEgcm49Qmlqb3UgcnQ9MTI5NDY5MDYwOSByZz13d3cKfiMhIHRpZD0xMjk0NjkwNjA5CldvcmxkIENvbXVuaXR5IEdyaWQgaXN0IHNjaG9uIGVpbmlnZSBKYWhyZSBhbHQuIEljaCBnbGF1YiBpY2ggaGF0dGUgZGFzIHZvciA1CkphaHJlbiBtYWwgZHJhdWYuCgpXYXMgRGlyIGRpZSBIZXJyZW4gYmVpIGlocmVyICJEZWluIFJlY2huZXIgaWRsZXQgamEgb2huZWhpbiA5OSUgZGVyClplaXQiLUthbXBnbmUgbmljaHQgc2FnZW4sIGlzdCBkYXNzIG5hdHVlcmxpY2ggZGVyIFJlc3NvdXJjZW4oU3Ryb20pVmVyYnJhdWNoCmJlaSAxMDAlIEF1c2xhc3R1bmcgZWluIGFuZGVyZXIgaXN0IGFscyBiZWltIGlkbGVuLiBJbnNiZXNvbmRlcmUgd2VubiBEdQpUb3BsaXN0ZW5nZWlsIHdpcnN0IHVuZCB3ZWdlbiBkZW0gR3JpZCBkZW4gUmVjaG5lciB6dSBaZWl0ZW4gYW5sYWVzc3QsIHdvIER1CmlobiBmcnVlaGVyIGF1c2dlc2NoYWx0ZXQgaGFldHRlc3QuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIGVzIG5vY2ggbmljaHQga2VubnQuLiAoQWxib2luLCAyMC4gSmFuIDIwMTEsIDIwOjQxOjExKToKV2llIGVudHN0YW5kZW5lbiBkaWUgS29udGluZW50ZT8gVmVyZ2Vzc3QgQWxmcmVkIFdlZ25lciwgZGVubiBoaWVyIGtvbW10IGRlcgpUcmFpbGVyIHp1IEljZSBBZ2UgNC4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTNLVFNzRU1iNEhnCgphbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGF1bmRyeSBEYXkgKEFudGhlYSwgMjEuIEphbiAyMDExLCAxNDo0ODo1Nyk6CldpZSBrcmllZ3QgbWFuIGRhcyB3aWVkZXIgYXVzIGRlbSBLb3BmIHJhdXM/CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9TVE1emlOT3RvTVUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlciBFaW5mbHVzcyBkZXMgQWxrb2hvbHMgYXVmIGRpZSBWb3JoYXV0IChNYWhhcmV0LCAzMS4gSmFuIDIwMTEsIDExOjU0OjIwKToKSW50ZXJlc3NhbnRlcyBHZXJpY2h0c3VydGVpbDoKaHR0cDovL3d3dy5rb3N0ZW5sb3NlLXVydGVpbGUuZGUvbmV3c3ZpZXcucGhwP25ld3NJRD0xMDM1OQoKSWNoIGZpbmQgZXMgamEgd2l0emlnLCBkYXNzIGRpZSBTY2hhZGVuc2Vyc2F0eiBmdWVyIGRpZSBCZXNjaGFmZnVuZyB2b24KTGVzZXN0b2ZmIGZ1ZXIgZGVuIEtsaW5pa2F1ZmVudGhhbHQgZWlua2xhZ2VuIHdvbGx0ZW4uICBEYSB3dWVyZGUgaWNoIGphIGdlcm4KbWFsIGRpZSBCZWdydWVuZHVuZyBkZXIgS2xhZ2VzY2hyaWZ0IGxlc2VuLgoKTWFoYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBFaW5mbHVzcyBkZXMgQWxrb2hvbHMgYXVmIGRpZSBWb3JoYXV0IChBbGJvaW4sICAyLiBGZWIgMjAxMSwgMjI6MzA6NTIpOgp+IyEgcm49TWFoYXJldCBydD0xMjk2NDcxMjYwIHJnPXd3dwp+IyEgdGlkPTEyOTY0NzEyNjAKTWl0IHdhcyBtYW4gYWxsZXMgc28gR2VyaWNodGUgc3RyYXBhemllcmVuIGthbm4uIEhhdCBlaWdlbnRsaWNoIHNjaG9uIGplbWFuZApzZWluZSBFbHRlcm4gdmVya2xhZ3QsIHdlaWwgc2llIGRhZnVlciBzY2h1bGQgaGFiZW4gZGFzIGRlciBLbGFlZ2VyIGxlYnQ/IERlcgpUeXAgd2FlcmUgenVtaW5kZXN0IGVpbiBwb3RlbnRpZWxsZXIgS2FuZGlkYXQuCmFsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUYW5rZW4gKyB3aXIgRnJhdWVuIChNaXJha2EsICAzLiBGZWIgMjAxMSwgMTc6NDM6NTcpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MEFiMFVOMUNoR00KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUYW5rZW4gKyB3aXIgRnJhdWVuIChBbWFyeWxsaXMsICA0LiBGZWIgMjAxMSwgMjE6MTM6MTEpOgp+IyEgcm49TWlyYWthIHJ0PTEyOTY3NTE0Mzcgcmc9d3d3Cn4jISB0aWQ9MTI5Njc1MTQzNwphcmFocmFocmhhaHJoYXJhYWFhYWFhYWFhYWFhYWFhYWFyIHdpZSB3YWhyLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGFua2VuICsgd2lyIEZyYXVlbiAoR3dlbiwgMTIuIEZlYiAyMDExLCAxOToxMzoyMik6Cn4jISBybj1NaXJha2EgcnQ9MTI5Njc1MTQzNyByZz13d3cKfiMhIHRpZD0xMjk2NzUxNDM3CkRhcyBsaWVmIGRvY2ggc2Nob24gdm9yIG1pbmRlc3RlbnMgdm9yIDMgSmFocmVuIGJlaW0gRnJhdWVuc2VuZGVyIERNQVguLi4KKmdhZWhuKiA7KQpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2luZG11ZWhsZW4gKEd3ZW4sIDE4LiBGZWIgMjAxMSwgMDg6MjE6MjQpOgpCZWltIEFuYmxpY2sgZGVyIFdpbmRwYXJrcyBoaWVyIGhhYiBpY2ggaW1tZXIgYWVobmxpY2hlIEdlZGFua2VuOgpodHRwOi8veGtjZC5jb20vNTU2LwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpbmRtdWVobGVuIChPcmt0b2V0ZXIsIDIwLiBGZWIgMjAxMSwgMTQ6MTk6MTEpOgp+IyEgcm49R3dlbiBydD0xMjk4MDEzNjg0IHJnPXd3dwp+IyEgdGlkPTEyOTgwMTM2ODQKRXMgaXN0IG5ldSwgd2lyIGhhYmVuIHVucyBub2NoIG5pY2h0IGRyYW4gZ2V3b2VobnQuIFdpciBoYWJlbiBBbmdzdCBkYXZvci4uClRpcDogU3RlY2sgZGVuIEtvcGYgaW4gZGVuIFNhbmQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb29sZXMgVmlkZW8gKEJhbWJ1bGtvLCAyNC4gRmViIDIwMTEsIDEzOjU0OjE0KToKaHR0cDovL2Fwb2QubmFzYS5nb3YvYXBvZC9hcDExMDIyMi5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdpbmRtdWVobGVuIChHd2VuLCAyNi4gRmViIDIwMTEsIDIwOjQwOjUwKToKfiMhIHJuPU9ya3RvZXRlciBydD0xMjk4MjA3OTUxIHJnPXd3dwp+IyEgdGlkPTEyOTgwMTM2ODQKTmEsIHNvIG5ldSBzaW5kIHNpZSBhdWNoIG5pY2h0Li4uCldlZGVyIGRlciB3YWNrZXJlIEhlbGQgbm9jaCBkaWUgV2luZG11ZWhsZW4uLi4KKnNjaG11bnplbG5kKiBHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR3JhcGhlbndpdHogKEdsb2luc29uLCAyNy4gRmViIDIwMTEsIDIyOjQxOjE1KToKaHR0cDovL3NwaWtlZG1hdGguY29tLzM4NC5odG1sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdyYXBoZW53aXR6IChWZWN0b3IsIDI3LiBGZWIgMjAxMSwgMjI6NDM6MzIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTI5ODg0Mjg3NSByZz13d3cKfiMhIHRpZD0xMjk4ODQyODc1CnVuZCBkYXMgc3BpZWwgenVtIHRpZXI6IGh0dHA6Ly93d3cucGxhbmFyaXR5Lm5ldC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkJpbGQtZXJnZXNjaGljaHRlbiAoQXJrLCAgMS4gTWFyIDIwMTEsIDEwOjMxOjA4KToKaHR0cDovL2d1dHRlbmJlcmctcnVlY2t0cml0dC5kZS9jYXRlZ29yeS9wcmVzc2UvYmlsZC8KCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQmlsZC1lcmdlc2NoaWNodGVuIChaZXNzdHJhLCAgMS4gTWFyIDIwMTEsIDExOjI1OjAzKToKfiMhIHJuPUFyayBydD0xMjk4OTcxODY4IHJnPXd3dwp+IyEgdGlkPTEyOTg5NzE4NjgKTWhtbW0uIEVzIHVlYmVycmFzY2h0IGpldHp0IGthdW0sIGFiZXIgZ3V0IHp1IHdpc3Nlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCk5laWwgR2FpbWFuIG9uICJQaXJhY3kiIChNYWhhcmV0LCAgMi4gTWFyIDIwMTEsIDE1OjQ5OjEzKToKaHR0cDovL3d3dy5ib2luZ2JvaW5nLm5ldC8yMDExLzAyLzEyL25laWwtZ2FpbWFuLWV4cGxhaW5zLTEuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllIE1hdXMgaGF0IEdlYnVydHN0YWchIChNYWhhcmV0LCAgNy4gTWFyIDIwMTEsIDE3OjE3OjAwKToKVW5kIGRlc3dlZ2VuIGR1ZXJmdCBJaHIgRXVjaCBoZXV0ZSBkYXMgSW50ZXJuZXQgZXJrbGFlcmVuIGxhc3NlbjoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PThQTlJyT0dKcVVJCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2htYWx6IChHbG9pbnNvbiwgMTYuIE1hciAyMDExLCAxODoyNjo1Nyk6Cmh0dHA6Ly93d3cub2xpYW5kYWxleC5jb20vbWlsbHMtYm9vbi8KCll1Y2shIDspCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYWNreSBNYXRoLUh1bW91ciAoR2xvaW5zb24sIDE4LiBNYXIgMjAxMSwgMTg6MDM6MjQpOgpodHRwOi8vYnJvd25zaGFycGllLmNvdXJ0bmV5Z2liYm9ucy5vcmcvP3A9MjEKCkFsc28gYWRtaXNzaWJsZSBmb3IgY29tcHV0ZXIgc2NpZW50aXN0cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGcmVtZHNwcmFjaGVuIC4uLiAoR2xvaW5zb24sIDIxLiBBcHIgMjAxMSwgMTY6NTA6MzIpOgpodHRwOi8vd3VsZmZtb3JnZW50aGFsZXIuY29tL2ltZy9zdHJpcC8tV01fc3RyaXBfREtfMjAxMTA0MjEuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEZyZW1kc3ByYWNoZW4gLi4uIChSdW1hdGEsIDIxLiBBcHIgMjAxMSwgMjA6Mzg6MDEpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMwMzM5NzQzMiByZz13d3cKfiMhIHRpZD0xMzAzMzk3NDMyClVuICd1bW5pIGV0IHVuZSB0cm9uY29ubmV1c2UsIHNpbCB2b3V6IHBsYWl0LiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkh1bWFuIENlbnRpUGFkIChHbG9pbnNvbiwgMjkuIEFwciAyMDExLCAyMzowNjoxNik6Cmh0dHA6Ly93d3cuc291dGhwYXJrLmRlL2FsbGVFcGlzb2Rlbi8xNTAxLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCld1ZXJmZWwgZWluZSA2IC4uLiA6KSAoTWFyY3VzLCAgNC4gTWFpIDIwMTEsIDE5OjMzOjU0KToKCkRhcyB3YWhyZSBSb2xsZW5zcGllbCBWaWRlbzoKCmh0dHA6Ly93d3cuZ2Vla3NhcmVzZXh5Lm5ldC8yMDExLzA1LzA0L2xpa2UtYS1nNi1wYXJvZHktcm9sbC1hLWQ2LXJvbGwtYS1kNi12aQpkZW8vCgpDaWFvLCBNYXJjdXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmZydWVoZXIgJiBoZXV0ZSAoTXVwZmVsLCAgNi4gTWFpIDIwMTEsIDIwOjI2OjM2KToKaHR0cDovL2dlZWthbmRwb2tlLnR5cGVwYWQuY29tL2dlZWthbmRwb2tlLzIwMTEvMDUvdGhlLWUtYW5kLXRoZS1mLmh0bWwKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXVEYgKEdsb2luc29uLCAxMS4gTWFpIDIwMTEsIDExOjU5OjMwKToKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWFfNmxFVFB6VnhrJmZlYXR1cmU9cGxheWVyX2VtYmVkZGVkCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVW5kIGhpZXIgZWluZSBmdWVyIGRlbiBEYXJ3aW4gQXdhcmQgKFJ1bWF0YSwgMTEuIE1haSAyMDExLCAxNDo1NTo0Mik6Ckthbm4gc2VpbiwgZGFzcyB3aXIgZGVuIGhpZXIgc2Nob25tYWwgaGF0dGVuLCBidXQgYW55d2F5Li4uCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj04T2VsOGQ1NTJNUQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFVuZCBoaWVyIGVpbmUgZnVlciBkZW4gRGFyd2luIEF3YXJkIChab29rLCAxMS4gTWFpIDIwMTEsIDE3OjU3OjU4KToKfiMhIHJuPVJ1bWF0YSBydD0xMzA1MTE4NTQyIHJnPXd3dwp+IyEgdGlkPTEzMDUxMTg1NDIKb2h3ZWguCnoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBVbmQgaGllciBlaW5lIGZ1ZXIgZGVuIERhcndpbiBBd2FyZCAoSmltZGlncml6LCAxMy4gTWFpIDIwMTEsIDA4OjM5OjMwKToKfiMhIHJuPVJ1bWF0YSBydD0xMzA1MTE4NTQyIHJnPXd3dwp+IyEgdGlkPTEzMDUxMTg1NDIKVGhpcyB2aWRlbyBpcyBubyBsb25nZXIgYXZhaWxhYmxlIGJlY2F1c2UgdGhlIFlvdVR1YmUgYWNjb3VudCBhc3NvY2lhdGVkIHdpdGgKdGhpcyB2aWRlbyBoYXMgYmVlbiB0ZXJtaW5hdGVkIGR1ZSB0byBtdWx0aXBsZSB0aGlyZC1wYXJ0eSBub3RpZmljYXRpb25zIG9mCmNvcHlyaWdodCBpbmZyaW5nZW1lbnQgZnJvbSBjbGFpbWFudHMsIGluY2x1ZGluZzoKCiAgICAqIFRyaWJ1bmUKICAgICogVHJpYnVuZQogICAgKiBUcmlidW5lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFVuZCBoaWVyIGVpbmUgZnVlciBkZW4gRGFyd2luIEF3YXJkIChSdW1hdGEsIDEzLiBNYWkgMjAxMSwgMTA6MzE6MTEpOgp+IyEgcm49SmltZGlncml6IHJ0PTEzMDUyNjg3NzAgcmc9d3d3Cn4jISB0aWQ9MTMwNTExODU0MgpEYW5uIG5pbW0gaGFsdCBkZW4gaGllcjoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXpHOFFwX0xoT0NjCihvZGVyIGdvb2dsZSBuYWNoICJlbGV2YXRvciB3aGVlY2hhaXIgcmFnZSB2aWRlbyIpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBVbmQgaGllciBlaW5lIGZ1ZXIgZGVuIERhcndpbiBBd2FyZCAoR2xvaW5zb24sIDEzLiBNYWkgMjAxMSwgMTA6Mzk6MDQpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMDUyNzU0NzEgcmc9d3d3Cn4jISB0aWQ9MTMwNTExODU0MgpEaWdpdGFsIFJpZ2h0cyBSYWdlISBSYWdhZ2FnYWdhYWFhYWghIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTUogKEdsb2luc29uLCAyMC4gTWFpIDIwMTEsIDE5OjQ4OjQzKToKaHR0cDovL21pc2NwaXguY29tL3ByaDh4CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE1KIChSdW1hdGEsIDIwLiBNYWkgMjAxMSwgMjI6NTg6MjMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMwNTkxMzcyMyByZz13d3cKfiMhIHRpZD0xMzA1OTEzNzIzCkhhYmVuIGRpZSBlY2h0IGdlZ2xhdWJ0LCBkYXNzIGRpZSBkdWVubmVuIEtyYXdhdHRlbiB1bmQgZGllIEJvbmJvbmpha2V0cyAyMDAwClRyZW5kIHNpbmQ/IDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2ludGVyIGlzIC4uLiAoR2xvaW5zb24sIDEzLiBKdW4gMjAxMSwgMTc6MzU6NDMpOgpodHRwOi8vd3d3LnB2cG9ubGluZS5jb20vMjAxMS8wNi8xMy9nYW1lLW9mLXRocm93bnMvCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVnIGRlcyBUYWdlcyAoTW9uYXRzPyBKYWhyZXM/KSAoR2xvaW5zb24sIDE3LiBKdW4gMjAxMSwgMDY6MTc6MjEpOgpodHRwczovL2dpdGh1Yi5jb20vTXJNRUVFL2J1bWJsZWJlZS9jb21taXQvYTA0N2JlCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1ZyBkZXMgVGFnZXMgKE1vbmF0cz8gSmFocmVzPykgKEppbWRpZ3JpeiwgMTcuIEp1biAyMDExLCAwNzozMTowMik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzA4Mjg0MjQxIHJnPXd3dwp+IyEgdGlkPTEzMDgyODQyNDEKSmEgZGFzIGlzdCBuZXR0LCBpbmJlc29uZGVyZSB3ZW5ucyB3ZWx0d2VpdCB2ZXJ0ZWlsdCB3aXJkLgpEYWdlZ2VuIHdhciBkZXIgRmF1eHBhcyBtZWluZXMgZWhlbWFsaWdlbiBLb2xsZWdlbiBudXIgZWluZQpsb2thbGUgS2F0YXN0cm9waGUuLi4KCmVjaG8gYXJjaGl2ZTEgfCB3aGlsZSByZWFkICRhOyBkbyBybSAtcmYgLyRhOyBkb25lOwoKKFdlciBmaW5kZXQgZGVuIEZlaGxlcj8gOy0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEJ1ZyBkZXMgVGFnZXMgKE1vbmF0cz8gSmFocmVzPykgKFpvb2ssIDE3LiBKdW4gMjAxMSwgMDg6NTg6NDMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMwODI4NDI0MSByZz13d3cKfiMhIHRpZD0xMzA4Mjg0MjQxCkhpaGkuClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogQnVnIGRlcyBUYWdlcyAoTW9uYXRzPyBKYWhyZXM/KSAoUnVtYXRhLCAxNy4gSnVuIDIwMTEsIDA5OjAyOjIyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMDgyODQyNDEgcmc9d3d3Cn4jISB0aWQ9MTMwODI4NDI0MQpJY2ggZXJpbm5lcmUgbWljaCBhbiBlaW5lIExvZXNjaGFrdGlvbiBkZXIgVXNlcnZlcnplaWNobmlzc2UsIHp1IGVpbmVyIFplaXQsCmFscyByb290IG5vY2ggbmljaHQgYWxzIGhvbWUgL3Jvb3QgaGF0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEJ1ZyBkZXMgVGFnZXMgKE1vbmF0cz8gSmFocmVzPykgKFpvb2ssIDE3LiBKdW4gMjAxMSwgMDk6NTk6MDEpOgp+IyEgcm49UnVtYXRhIHJ0PTEzMDgyOTQxNDIgcmc9d3d3Cn4jISB0aWQ9MTMwODI4NDI0MQpJY2ggaGFiIHZvciBndXQgd2Vpc3MgbmljaHQgd2lldmllbGVuIEphaHJlbiAoMTU/IDIwPykgYXVjaCBtYWwgbmVuIApncm9zc2VzIFByb2JsZW0gdmVydXJzYWNodCwgZGEgYmVpIGVpbmVtIFVuaXhXYXJlLVN5c3RlbSBzZWluZXJ6ZWl0CmFsbGUgVXNlciBkYXMgZ2xlaWNoZSBIb21lIGVyaGFsdGVuIGhhdHRlbiAoY2xldmVyLCBnZWxsPyksIGRhIGF1cwpkZXIgLnByb2ZpbGUgZGFubiBkaWUgQW53ZW5kdW5nIGdlc3RhcnRldCB3dXJkZS4gTnVuLCBpY2ggd29sbHRlIGVpbmVuCmRlciBVc2VyIHVlYmVyIGRhcyBVbml4V2FyZS1laWdlbmUgV2Vya3pldWcgZW50ZmVybmVuLiBEdW1tZXJ3ZWlzZQpsb2VjaHRlIGRhcyBkYW5uIGF1Y2ggZ2xlaWNoIGRhcyBIb21lLVZlcnplaWNobmlzIGluY2wuIGRlciBnZXNhbXRlbgpBbndlbmR1bmcgdW5kIGRlciBEYXRlbmJhbmsuCgpBdWNoIG5lbiBzY2hvZW5lciBNb21lbnQgenVtIHNjaHdpdHplbi4KCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEJ1ZyBkZXMgVGFnZXMgKE1vbmF0cz8gSmFocmVzPykgKERhcmtsb3IsIDE3LiBKdW4gMjAxMSwgMTQ6NTA6MjcpOgp+IyEgcm49Wm9vayBydD0xMzA4Mjk3NTQxIHJnPXd3dwp+IyEgdGlkPTEzMDgyODQyNDEKVXBzLCB3aWUgaGFzdGUgZGFzIGRlbm4gd2llZGVyIGhpbmJla29tbWVuPwoKRGFya2xvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogQnVnIGRlcyBUYWdlcyAoTW9uYXRzPyBKYWhyZXM/KSAoWm9vaywgMTcuIEp1biAyMDExLCAxNToxMTo1NCk6Cn4jISBybj1EYXJrbG9yIHJ0PTEzMDgzMTUwMjcgcmc9d3d3Cn4jISB0aWQ9MTMwODI4NDI0MQpCYWNrdXAgd2llZGVyIGVpbnNwaWVsZW4/Clpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBCdWcgZGVzIFRhZ2VzIChNb25hdHM/IEphaHJlcz8pIChaZXNzdHJhLCAxNy4gSnVuIDIwMTEsIDE1OjE1OjU0KToKfiMhIHJuPVpvb2sgcnQ9MTMwODMxNjMxNCByZz13d3cKfiMhIHRpZD0xMzA4Mjg0MjQxCldobyB3YW50cyBiYWNrdXBzIC0gLi4uIQoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNjogQnVnIGRlcyBUYWdlcyAoTW9uYXRzPyBKYWhyZXM/KSAoSGlnaGxhbmRlciwgMTcuIEp1biAyMDExLCAxNToyNzowNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTEzMDgzMTY1NTQgcmc9d3d3Cn4jISB0aWQ9MTMwODI4NDI0MQpUaG9zZSB3aG8gZG9uJ3QgaGF2ZSB0aGVtIGJ1dCBuZWVkIHRoZW0uCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IEJ1ZyBkZXMgVGFnZXMgKE1vbmF0cz8gSmFocmVzPykgKFpvb2ssIDE3LiBKdW4gMjAxMSwgMTY6MDA6MDApOgp+IyEgcm49SGlnaGxhbmRlciBydD0xMzA4MzE3MjI1IHJnPXd3dwp+IyEgdGlkPTEzMDgyODQyNDEKQWxzbyBpbiBkZW0gTW9tZW50IHdvbGx0ZSBpY2ggamEgYXVjaCBlaW4gUmVzdG9yZSA7KSAqZyoKWgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeODogQnVnIGRlcyBUYWdlcyAoTW9uYXRzPyBKYWhyZXM/KSAoR2xvaW5zb24sIDE3LiBKdW4gMjAxMSwgMTY6MzI6NDIpOgp+IyEgcm49Wm9vayBydD0xMzA4MzE5MjAwIHJnPXd3dwp+IyEgdGlkPTEzMDgyODQyNDEKVW5zZXIgQmFja3VwIGlzdCBsZWlkZXIgZ2VuYXUgZGllIDI0aCBhbHQsIGRpZSBleCBtYXhpbWFsIHNlaW4ga2FubiA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlbmVzaXMgd2FociEgUm9jaHVzIGlzdCBzY2h1bGQhIChHbG9pbnNvbiwgMjMuIEp1biAyMDExLCAxNzowNTozMCk6Cmh0dHA6Ly93dWxmZm1vcmdlbnRoYWxlci5jb20vaW1nL3N0cmlwLy1XTV9zdHJpcF9ES18yMDExMDYyMy5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTYXVkaWFyYWJpc2NoZXIgR2hhZGRhZmktSHVtb3IgKEdsb2luc29uLCAyMC4gSnVsIDIwMTEsIDEyOjIzOjAzKToKYXJhYm5ld3MuY29tL29waW5pb24vY2FydG9vbnMvYXJ0aWNsZTQ3NDc5OC5lY2UvQklOQVJZL2xhcmdlLzA3MjBfY2FydG9vbi5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLbGlzY2hlZXMgLi4uIChHbG9pbnNvbiwgIDUuIEF1ZyAyMDExLCAxMTo0NDowNSk6Cmh0dHA6Ly9hcmFibmV3cy5jb20vb3Bpbmlvbi9hcnRpY2xlNDgzMTMzLmVjZS9CSU5BUlkvbGFyZ2UvMDgwNUNhcnRvb24uanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEtsaXNjaGVlcyAuLi4gKFJ1bWF0YSwgIDUuIEF1ZyAyMDExLCAxMTo1Njo0Myk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzEyNTM3NDQ1IHJnPXd3dwp+IyEgdGlkPTEzMTI1Mzc0NDUKUm9zYSBXb2xrZW4/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEtsaXNjaGVlcyAuLi4gKEdsb2luc29uLCAgNS4gQXVnIDIwMTEsIDEyOjA2OjEzKToKfiMhIHJuPVJ1bWF0YSBydD0xMzEyNTM4MjAzIHJnPXd3dwp+IyEgdGlkPTEzMTI1Mzc0NDUKS2VpbmUgQWhudW5nLCB3b3JhdWYgZGllIGhpbmRldXRlbiBzb2xsZW4sIGFiZXIgaWNoIGZhbmQgZGVuIENvbWljc3RyaXAgaW4Kc2VpbmVyIEVybnN0aGFmdGlna2VpdCBoZXJybGljaCBhbXVlc2FudC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXaWUgLi4uIChHbG9pbnNvbiwgMTAuIEF1ZyAyMDExLCAxNTowNTo0MSk6CgouLi4gV2lzc2Vuc2NoYWZ0bGVyIGRpZSBXZWx0IHNlaGVuOgpodHRwOi8vYWJzdHJ1c2Vnb29zZS5jb20vMjc1CgouLi4gZGllIFdhbGwgU3RyZWV0IGRpZSBXZWx0IHNpZWh0OgpodHRwOi8vYWJzdHJ1c2Vnb29zZS5jb20vMzg2CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdpZSAuLi4gKFpvb2ssIDEwLiBBdWcgMjAxMSwgMTU6MDY6MzUpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxMjk4MTU0MSByZz13d3cKfiMhIHRpZD0xMzEyOTgxNTQxCmhpaGkKegoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXaWUgLi4uIChWYW5pb24sIDEyLiBBdWcgMjAxMSwgMjA6Mjk6MjEpOgp+IyEgcm49Wm9vayBydD0xMzEyOTgxNTk1IHJnPXd3dwp+IyEgdGlkPTEzMTI5ODE1NDEKU2VociBuZXR0LgoKVioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlcmJ1bmcgKEFyc29uLCAxOS4gQXVnIDIwMTEsIDE2OjA2OjQ4KToKaHR0cDovL3d3dy5lYmVzcy5kZS9uZXdzbGV0dGVyLWxlc2VuL2l0ZW1zL2F1Z3VzdG5ld3NsZXR0ZXItbWl0LWR1ZXNzZWxkb3JmZXItCnRhZ2UtZGFzLXByb2dyYW1tLTIwMTEtdW5kLW1laHItaW5rbC1taWtlbC5odG1sCmhhYmUgd2VyYnVuZyBpbiBuZW0gdGVsZWZvbmNoYXQgZ2VtYWNodCB1bmQgZWluZXIgd2FyIHNvIG5ldHQgZGFzIGluIHNlaW5lCmFyYmVpdCBhdWYgenUgbmVobWVuIGhhdCBhYmVyIGxlaWRlciBuZW4gdG90ZW4gbGluayByZWluZ2VzdGVsbHQgdmllbGxlaWNodCAKYmVrb21tdCBlciBkYXMgbm9jaCBtYWwgYW5kZXIgaGluIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRlNNIGlzIGZvciByZWFseiEgKEdsb2luc29uLCAgMS4gU2VwIDIwMTEsIDIxOjM0OjI1KToKaHR0cDovL2kuaW1ndXIuY29tL0dWYjkwLmpwZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkh1LWlzLVBhY2tlcmQgKEFyaywgIDIuIFNlcCAyMDExLCAxNzozNzo1NCk6Ck9rLCBpY2ggYmluIGVpbiB3ZW5pZyBiaWFzZWQsIGFiZXIgdHJvdHpkZW0gbXVzcyBpY2ggZ3JpbnNlbjoKaHR0cDovL29ubGluZS53c2ouY29tL2FydGljbGUvU0IxMDAwMTQyNDA1MzExMTkwNDc4NzQwNDU3NjUzNTIxMTU4OTUxNDMzNC5odG1sCj9tb2Q9V1NKX2hwX3VzX21vc3Rwb3BfcmVhZAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkZyZWRkeSAoR2xvaW5zb24sICA3LiBTZXAgMjAxMSwgMTU6MTk6MzYpOgpadSBzZWluZW0gNjUuIGdlc3Rlcm46CgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WGUwZ0lGeFlocmsmZmVhdHVyZT1wbGF5ZXJfZW1iZWRkZWQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGdWt1c2hpbWEgKEdsb2luc29uLCAxMy4gU2VwIDIwMTEsIDEyOjM5OjA4KToKaHR0cDovL3d3dy56ZWl0LmRlL3dpc3Nlbi8yMDExLTA5L2ZzLWluc2lkZS1mdWt1c2hpbWEKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEYW5jZSB3aXRoIERyYWdvbnMgLi4uIChHbG9pbnNvbiwgMTYuIFNlcCAyMDExLCAxNDo1MToxOCk6Cmh0dHA6Ly9pLmltZ3VyLmNvbS9ldTVqbi5qcGcKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYW5jZSB3aXRoIERyYWdvbnMgLi4uIChab29rLCAxNi4gU2VwIDIwMTEsIDE0OjUyOjA2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTYxNzc0Nzggcmc9d3d3Cn4jISB0aWQ9MTMxNjE3NzQ3OApzZWxic3QgZXJsZWJ0Pwp6CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IERhbmNlIHdpdGggRHJhZ29ucyAuLi4gKEdsb2luc29uLCAxNi4gU2VwIDIwMTEsIDE1OjU3OjI4KToKfiMhIHJuPVpvb2sgcnQ9MTMxNjE3NzUyNiByZz13d3cKfiMhIHRpZD0xMzE2MTc3NDc4Ck1pdCBhbmRlcmVuIEJ1ZWNoZXJuIGRlZmluaXRpdiwgdW5sYWVuZ3N0IG5vY2htYWwgbWl0IGRlbSBDcnlwdG9ub21pY29uLiBEZW0Kbm9jaCBuaWNodCwgaWNoIHdhcnRlIGF1ZiBkYXMgUGFwZXJiYWNrLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERhbmNlIHdpdGggRHJhZ29ucyAuLi4gKEJhbWJ1bGtvLCAxNi4gU2VwIDIwMTEsIDE3OjI4OjQ2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTYxODE0NDggcmc9d3d3Cn4jISB0aWQ9MTMxNjE3NzQ3OApJY2ggaGFiZSBnZXN0ZXJuIG1laW5lIEVya2FlbHR1bmcgZ2VudXR6dCB1bmQgaGFiZSAiQSBHYW1lIG9mIFRocm9uZXMiICB6dQpFbmRlIGdlbGVzZW4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUcm9sbGluZyBhdCBpdHMgYmVzdCAoR2xvaW5zb24sIDE5LiBTZXAgMjAxMSwgMTA6MDQ6NTYpOgpodHRwOi8vd3d3LjI3YnNsYXNoNi5jb20vZnVuY3Rpb240c3BvcnRzLmh0bWwKCiguLi4gdW5kIGFuZGVyZSBBcnRpa2VsKQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClpvb2tzISAoR2xvaW5zb24sIDI2LiBTZXAgMjAxMSwgMjE6MTg6MDcpOgpodHRwOi8vZWF0dGhhdHRvYXN0LmNvbS8yMDEwLzEwL3ZvdGUtd2l6YXJkLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlaWNoIHdlcmRlbiBlaW5mYWNoIChLZWxseWJ1bmR5LCAgNS4gT2t0IDIwMTEsIDAzOjQwOjMzKToKd3d3LnNjaG5lbGxlci1yZWljaHR1bS5kZQoqR0cqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOYW1lIGEgdGVsZXNjb3BlIChCYW1idWxrbywgMTcuIE9rdCAyMDExLCAyMjo1MTo1OCk6CkRhcyBWTEEgUmFkaW90ZWxlc2tvcCBpbSBOZXcgTWV4aWNvIHN1Y2h0IGVpbmVuIG5ldWVuIE5hbWVuOgoKaHR0cDovL25hbWV0aGVhcnJheS5vcmcKCklyZ2VuZHdlbGNoZSBWb3JzY2hsYWVnZT8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOYW1lIGEgdGVsZXNjb3BlIChNYWhhcmV0LCAxOC4gT2t0IDIwMTEsIDA5OjUwOjA3KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTEzMTg4ODQ3MTggcmc9d3d3Cn4jISB0aWQ9MTMxODg4NDcxOApGb3JkIFByZWZlY3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdsdWVja2xpY2hlIE1pbGNoPyAoR2xvaW5zb24sIDE4LiBPa3QgMjAxMSwgMTY6MTM6MzcpOgpodHRwOi8vaS5pbWd1ci5jb20vWlJTUXMuanBnCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnJvd3NlciBBZG9wdGlvbiBSYXRlcyAoR2xvaW5zb24sIDE4LiBPa3QgMjAxMSwgMTY6MTU6NTYpOgpNYWwgc28gaW5mb3JtYXRpdiwgd2VpbCB3aXIgamEgZWluZW4gV2ViY2xpZW50IGhhYmVuOgoKaHR0cDovL3d3dy5uZXRtYWdhemluZS5jb20vbm9kZS8xNDY1CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRm9yZW4gdW5kIFBob3Rvc2hvcCAoR2xvaW5zb24sIDIxLiBPa3QgMjAxMSwgMTM6MTA6NDApOgpodHRwOi8vaS5pbWd1ci5jb20vV1FLS1cuanBnCgpOZXR0LCBvZGVyPwoKTGVpZGVyIG5vY2ggb2huZSBSZWdpc3NldXIsIFZvcmxhZ2U6IGh0dHA6Ly9pLmltZ3VyLmNvbS9URTJJYi5qcGcKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRm9yZW4gdW5kIFBob3Rvc2hvcCAoQmFtYnVsa28sIDIxLiBPa3QgMjAxMSwgMTY6NTA6MjApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxOTE5NTQ0MCByZz13d3cKfiMhIHRpZD0xMzE5MTk1NDQwCldhcnVtIGhhdCBtYW4gZGllIGJlaWRlbiBNYWVkZWxzIGVudGZlcm50PwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGb3JlbiB1bmQgUGhvdG9zaG9wIChHbG9pbnNvbiwgMjEuIE9rdCAyMDExLCAxNzoxODozMik6Cn4jISBybj1CYW1idWxrbyBydD0xMzE5MjA4NjIwIHJnPXd3dwp+IyEgdGlkPTEzMTkxOTU0NDAKTmFjaCBkZW0gVGhyZWFkIGdpbmcgZGllIEFyZ3VtZW50YXRpb24gaW4gZXR3YSAiTWFlZGNoZW4gdmVyZGVyYmVuIGFiZXIgYXVjaAphbGxlcyIsIGRhbm4gd3VyZGVuIHNpZSBlbnRmZXJudCB1bmQgdmllciBFZGl0cyB3ZWl0ZXIga2FtIGRhcyBQbGFrYXQgaGVyYXVzLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZvcmVuIHVuZCBQaG90b3Nob3AgKEdub21lLCAyMS4gT2t0IDIwMTEsIDE4OjMyOjQ4KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMTkyMTAzMTIgcmc9d3d3Cn4jISB0aWQ9MTMxOTE5NTQ0MApzaWUgaGFldHRlbiB3ZW5pZ3N0ZW5zIGF1Y2ggbm9jaCBkZW4gZ2VrbGF1dGVuIHRyYW5zZm9ybWVycy1mb290ZXIKYW5wYXNzZW4ga29lbm5lbi4uLiBzdHVlbXBlci4gOikKCmduT21lCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY3VtYmFnIHBvcGUgOykgKEdsb2luc29uLCAyNi4gT2t0IDIwMTEsIDE0OjE5OjA1KToKaHR0cDovL3d3dy5waWRqaW4ubmV0LzIwMTEvMTAvMDMvaS1qdXN0LXdhbm5hLWZlZWVlbC8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2N1bWJhZyBwb3BlIDspIChSdW1hdGEsIDI2LiBPa3QgMjAxMSwgMTg6MTc6NTApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMxOTYzMTU0NSByZz13d3cKfiMhIHRpZD0xMzE5NjMxNTQ1Cmh0dHA6Ly93d3cucGlkamluLm5ldC8yMDEwLzExLzE1L3RoZS1ibHVlLXBpbGwvCkhlaGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmpvaW4gdGhlIHJlc2lzdGFuY2UgKFJ1bWF0YSwgMjkuIE9rdCAyMDExLCAxODowNDoyNyk6Cmh0dHA6Ly9wdW5zLmljYW5oYXNjaGVlemJ1cmdlci5jb20vMjAxMS8xMC8yOC9mdW5ueS1wdW5zLWpvaW4tdGhlLXJlc2lzdGVuY2UvCmh0dHA6Ly90aW55dXJsLmNvbS82a2tzNGM1CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU1RBUiBXQVJTISAoR2xvaW5zb24sIDEwLiBOb3YgMjAxMSwgMTE6MjM6MTQpOgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXBMVEkzbGVqaEdnCgpEYXMgc29sbHRlIGRvY2ggamVkZW4gbG9ja2VuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpZ2VudGxpY2ggUnVicmlrIHBlaW5saWNoIC4uLiAoQXJrLCAxMy4gTm92IDIwMTEsIDE0OjMyOjA1KToKS2FubiBzZWluLCBkYXNzIGRhcyBoaWVyIHNjaG9uIGVpbiBFdmVyZ3JlZW4gaXN0LCBhYmVyICJsdXN0aWciIGlzdCBlcyBzY2hvbiwKd2VubiBlcyBuaWNodCBnbGVpY2h6ZWl0aWcgdHJhdXJpZyB3YWVyZToKaHR0cDovL3d3dy5zcGllZ2VsLmRlL3BvbGl0aWsvYXVzbGFuZC8wLDE1MTgsNzk3NDY2LDAwLmh0bWwKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWlnZW50bGljaCBSdWJyaWsgcGVpbmxpY2ggLi4uIChLZWxseWJ1bmR5LCAxMy4gTm92IDIwMTEsIDE0OjM1OjI1KToKfiMhIHJuPUFyayBydD0xMzIxMTkxMTI1IHJnPXd3dwp+IyEgdGlkPTEzMjExOTExMjUKVW5kIGRhcyBHZWdlbnN0YXRlbWVudCBkYXJmIG1hbiBkYW5uIGF1ZiB3ZWx0LmRlIGxlc2VuLCB3YXMgYXVjaCBuaWNodCB0b2xsZXIKYXVzZmFsbGVuIGR1ZXJmdGUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTY2h3ZXJrcmFmdCAoS2VsbHlidW5keSwgMTMuIE5vdiAyMDExLCAxNToxNDozMyk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vdXNlci9EREhlY2h0MiNwL2MvMDY2OUI4MzBFMzQ0OEVCRAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpZ2VudGxpY2ggUnVicmlrIHBlaW5saWNoIC4uLiAoWm9vaywgMTQuIE5vdiAyMDExLCAwOTo1NjozMSk6Cn4jISBybj1BcmsgcnQ9MTMyMTE5MTEyNSByZz13d3cKfiMhIHRpZD0xMzIxMTkxMTI1CkljaCB3YXIgYXVjaCB6d2lzY2hlbiBCaWxkc2NoaXJtdm9sbHBydXN0ZW4gdW5kIEZydWVoc3R1ZWNrc2Jyb2V0Y2hlbi0KdmVyc2NobHVja2VuLgpaCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXJkIFNuaXBpbmcgKE11cGZlbCwgMTUuIE5vdiAyMDExLCAxMzozMDoxOSk6Cmh0dHA6Ly94a2NkLmNvbS8zNTYvCgotbXVwZmVsLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5lcmQgU25pcGluZyAoWmVzc3RyYSwgMTUuIE5vdiAyMDExLCAxNDoxNzo0MCk6Cn4jISBybj1NdXBmZWwgcnQ9MTMyMTM2MDIxOSByZz13d3cKfiMhIHRpZD0xMzIxMzYwMjE5Ckdyb3NzYXJ0aWcuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5lcmQgU25pcGluZyAoQ3JvZnQsIDE1LiBOb3YgMjAxMSwgMTQ6MTk6MDMpOgp+IyEgcm49WmVzc3RyYSBydD0xMzIxMzYzMDYwIHJnPXd3dwp+IyEgdGlkPTEzMjEzNjAyMTkKVW5kIHdpZSBpc3QgbnVuIGRpZSBBbnR3b3J0PwoKQ3JvZnQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5lcmQgU25pcGluZyAoWmVzc3RyYSwgMTUuIE5vdiAyMDExLCAxNDoyNTo1MCk6Cn4jISBybj1Dcm9mdCBydD0xMzIxMzYzMTQzIHJnPXd3dwp+IyEgdGlkPTEzMjEzNjAyMTkKS2VpbmUgQWhudW5nLCBkaWUgYW53ZXNlbmRlbiBQaHlzaWtlciBzaW5kIG5vY2ggaW4gZGVyCkVuZGxvXldCZXJlY2hudW5nc3NjaGxlaWZlLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU0FURUxMSVRFTiEgVUVCRVJBTEwgU0FURUxMSVRFTiEgKEdsb2luc29uLCAyMi4gTm92IDIwMTEsIDE0OjA5OjMxKToKaHR0cDovL3d3dy53b2xmcmFtYWxwaGEuY29tL2lucHV0Lz9pPXNhdGVsbGl0ZXMrb3ZlcmhlYWQKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU0FURUxMSVRFTiEgVUVCRVJBTEwgU0FURUxMSVRFTiEgKFplc3N0cmEsIDIyLiBOb3YgMjAxMSwgMTQ6MjU6NTMpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMyMTk2NzM3MSByZz13d3cKfiMhIHRpZD0xMzIxOTY3MzcxCkh1aWguIFdhcyBuZSBNZW5nZS4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRpZSBGbGllZ2UgKEdsb2luc29uLCAgNS4gRGV6IDIwMTEsIDIxOjE0OjQ0KToKaHR0cDovL2ltZ3VyLmNvbS9hL2c4OE1VCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQXVzIGdlZ2ViZW5lbiBBbmxhc3MuLi4gU3RlbmtlbGZlbGQgKFplc3N0cmEsIDE5LiBEZXogMjAxMSwgMTM6MDU6MzMpOgpWaWVsIFNwYXNzIGRhbWl0IQoKRGllIFdlaWhuYWNodHNiZWxldWNodHVuZwpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9T1Jnc3N0R0JXaFUKRGFzIFN5bHZlc3RlcmZldWVyd2VyawpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UXV4YnZFZXhIZzgKV2VpaG5hY2h0ZW4gaW0gT2t0b2JlcgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9REF2azhyZW04cVkKQWR2ZW50IGltIFNlbmlvcmVuaGVpbQpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9T1dMTS1qRzZZMk0KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXMgZ2VnZWJlbmVuIEFubGFzcy4uLiBTdGVua2VsZmVsZCAoS2VsbHlidW5keSwgMjEuIERleiAyMDExLCAyMDo0Mzo1Mik6Cn4jISBybj1aZXNzdHJhIHJ0PTEzMjQyOTYzMzMgcmc9d3d3Cn4jISB0aWQ9MTMyNDI5NjMzMwpTb3JyeSxhYmVyIGRlciBoaWVyIGRhcmYgYXVjaCBuaWNodCBmZWhsZW46Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1tY2dlUlVJUjhaawoKRnVlciBhbGxlIEZyZXVuZGUgZGVzIFN0ZW5rZWxmZWxkZXIgRG9yZmxlYmVucyB1bmQgc3BlemllbGwgdm9uCndlaWhuYWNodGxpY2hlbiBCZXRyaWVic2ZlaWVybiBlaW4gTXVzcyA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWNoamEgV2VpaG5hY2h0ZW46IChLZWxseWJ1bmR5LCAyMS4gRGV6IDIwMTEsIDIwOjU5OjA0KToKVGlua2xlIEJlbGxzOiBodHRwOi8vdGlueXVybC5jb20vY24zcnpzcAoKZWluZmFjaCBzY2hvZW4gOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBdXMgZ2VnZWJlbmVuIEFubGFzcy4uLiBTdGVua2VsZmVsZCAoQmFtYmksIDI0LiBEZXogMjAxMSwgMTM6NDI6MzEpOgp+IyEgcm49WmVzc3RyYSBydD0xMzI0Mjk2MzMzIHJnPXd3dwp+IyEgdGlkPTEzMjQyOTYzMzMKV2llc28gd2lyZCBkb3J0IGVpZ2VudGxpY2ggdW50ZXIgZGVuIGFydHZlcndhbmR0ZW4gVmlkZW9zICJJbnRpbSAtIEVudGhhYXJ1bmciCmdlZnVlaHJ0PwoKRnJhZ3Qgc2ljaCBlaW4gaXJyaXRpZXJ0ZXMgUmVoLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXJ0aWtlbCBFaW4gZnJvaGVzIG5ldWVzIEphaHIgdW5kIG1vZWdlIGV1Y2ggZGFzIEVyc3BhcnQgYmxlaWJlbjogKE9ya3RvZXRlciwgMjcuIERleiAyMDExLCAxODoyODozMyk6Cmh0dHA6Ly93d3cucGNnYW1lcy5kZS9GdW4tU3R1ZmYtVGhlbWEtMjE2NTY5L0JpbGRlci9TcGFzcy16dS1zcGFldGVyLVN0dW5kZS1IZQp1dGUtbWl0LU5pbmphcy1VbnRlcndhZXNjaGUtQXBwbGUtRHJlY2stdW5kLW1laHItODYwNDU1L2dhbGVyaWUvMTYwNjQzMS8jP2FfaWQKPTg2MDQ1NSZnX2lkPS0xJmlfaWQ9MTYwMzkyNwoKT0ssIGZ1ZXIgZGllIEZhdWxlbiBkaWUgS3VydmVyc2lvbjoKCgpodHRwOi8vdGlueXVybC5jb20vY243ZGY2cwoKKG1hY2h0cyBoYWx0IGVpbmVuIGdyb3NzZW4gQm9nZW4gdW0gSHVtbmlzIHVuZCBDbykKCkVpbmVuIGd1dGVuIFJ1dHNjaCB1bmQgYWxsZXMgR3V0ZSBmdWVyIDIwMTEhCgpPcmtULgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTW9yZ2Vua2FmZmVlLi4uIChSdW1hdGEsIDI2LiBKYW4gMjAxMiwgMTA6MDc6MzcpOgpodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS82dXZveW94CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp3V2UgZGFzIFBlcmlvZGVuc3lzdGVtIGVudHN0YW5kOiAoUnVtYXRhLCAyOC4gSmFuIDIwMTIsIDIwOjI0OjUzKToKaHR0cDovL3NjaWVuY2UubWVtZWJhc2UuY29tLzIwMTIvMDEvMjgvZnVubnktc2NpZW5jZS1uZXdzLWV4cGVyaW1lbnRzLW1lbWVzLW5vCnQtcGF0aWVuY2UtYnV0LXRldHJpcy8KaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vN2dsNW01eAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS25vdyB5b3VyIHNhbmR3b3JtcyAuLi4gKEdsb2luc29uLCAzMC4gSmFuIDIwMTIsIDE2OjI0OjE3KToKaHR0cHM6Ly9pbWd1ci5jb20vWjZ4bWMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdHVwaWQgbWF0aCA7KSAoR2xvaW5zb24sIDMxLiBKYW4gMjAxMiwgMTM6MjI6NDkpOgoKY3JhY2tlZC5jb20vYXJ0aWNsZV8xOTYyM182LXNtYWxsLW1hdGgtZXJyb3JzLXRoYXQtY2F1c2VkLWh1Z2UtZGlzYXN0ZXJzLmh0bWwKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3R1cGlkIG1hdGggOykgKFJ1bWF0YSwgMzEuIEphbiAyMDEyLCAxMzo0NDoxMCk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzI4MDEyNTY5IHJnPXd3dwp+IyEgdGlkPTEzMjgwMTI1NjkKU29ycnksIGFiZXIgbWF0aCBlcnJvcnMgc2luZCBkYXMgbmljaHQuIERhcyBzaW5kIEVuZ2luZWVyaW5nIEVycm9ycy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogU3R1cGlkIG1hdGggOykgKEdsb2luc29uLCAzMS4gSmFuIDIwMTIsIDEzOjU4OjU1KToKfiMhIHJuPVJ1bWF0YSBydD0xMzI4MDEzODUwIHJnPXd3dwp+IyEgdGlkPTEzMjgwMTI1NjkKSW50ZXJlc3NhbnQgZGFyYW4gZmFuZCBpY2ggdm9yIGFsbGVtIGRhcyBGbHVnemV1Z3RyYWVnZXItTGF5b3V0IHVuZCAobmljaHQKc2Nob24gd2llZGVyISkgZGllIE1pdHRlbHNjaHJhdWJlIGRlciBUaXRhbmljLgoKT2ssIGRhc3MgZGllIEJydWVja2UgaW4gVGFjb21hIGVpbmZhY2ggZGVuIHdpbmQgbmljaHQgZHVyY2hsaWVzcywgd2FyIG1pciBhdWNoCm5ldS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBTdHVwaWQgbWF0aCA7KSAoUnVtYXRhLCAzMS4gSmFuIDIwMTIsIDE0OjE5OjU3KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMjgwMTQ3MzUgcmc9d3d3Cn4jISB0aWQ9MTMyODAxMjU2OQpEYXMgYmVzdGUgd2FyIGRlciBtaXQgZGVuICJsYW5nZSBTdGFuZ2VuIHNpbmQgamEgc29vb28gdW5wcmFrdGlzY2giLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3R1cGlkIG1hdGggOykgKFplc3N0cmEsIDMxLiBKYW4gMjAxMiwgMTY6NDk6NDQpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMyODAxNDczNSByZz13d3cKfiMhIHRpZD0xMzI4MDEyNTY5Ck5hamEsIHdpZSBiZWkga29tcGxleGVuIFVuZmFlbGxlbiBvZnQsIGlzdCBkaWVzZSBTY2hyYXViZSBhYmVyIGF1Y2ggbnVyIGVpbmVyCmRlciB6dXNhbW1lbndpcmtlbmRlbiBGYWt0b3JlbiBnZXdlc2VuLi4uIFVuZCB2ZXJtdXRsaWNoIG5pY2h0bWFscyBkZXIKZ3JvZXNzdGUuIDstKSBOZWJlbiB3ZWl0ZXJlbiBLb25zdHJ1a3Rpb25zZGV0YWlscyBoYWx0IGF1Y2ggbmUgTWVuZ2UKcmVndWxhdG9yaXNjaGUgdW5kIHByb3plZHVyZWxsZSBEZWZpeml0ZS4gKERpZXNlIFNhY2hlIG1pdCBkZXIgaG9oZW4KR2VzY2h3aW5kaWdrZWl0IGlzdCBkYSBhdWNoIGltIEtvbnRleHQgenUgc2VoZW46IGRhbWFscyB3YXIgZXMgd29obCBnZW5lcmVsbAp1ZWJsaWNoLCBkdXJjaCBzb2xjaGUgR2VnZW5kZW4gZWluZmFjaCBtaXQgUmVpc2VnZXNjaHdpbmRpZ2tlaXQgZHVyY2h6dWZhaHJlbiwKaW4gZGVyIEFubmFobWUsIGRhc3MgRWlzYmVyZ2UgaW4gR3JvZXNzZW4sIGRpZSBkYXMgU2NoaWZmIGJlc2NoYWVkaWdlbgprb2VubmVuLCBlaCByZWNodHplaXRpZyBnZXNlaGVuIHdlcmRlbi4gRXMgZ2lidCB3b2hsIGthdW0gQmVsZWdlIGRhZnVlciwgZGFzcwpkZXIgS2FwaXRhZW4gZGF6dSBnZWRyYWVuZ3Qgd3VyZGUsIGRhbWl0IG1hbiBzY2huZWxsZXIgYW5rb21tdC4pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdHVwaWQgbWF0aCA7KSAoR2xvaW5zb24sIDMxLiBKYW4gMjAxMiwgMTg6MjI6MTQpOgp+IyEgcm49WmVzc3RyYSBydD0xMzI4MDI0OTg0IHJnPXd3dwp+IyEgdGlkPTEzMjgwMTI1NjkKRGFzcyBtYW4gZGllIFJ1ZGVyd2lya3VuZyBhYmVyIGxldHp0bGljaCBkb2NoIGR1cmNoIGRpZSBmZXN0c3RlaGVuZGUgU2NocmF1YmUKZWluc2NocmFlbmt0LCBkYXMgaXN0IGZlaGwtZW5naW5lZXJlZC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTdHVwaWQgbWF0aCA7KSAoWmVzc3RyYSwgMzEuIEphbiAyMDEyLCAxOToxMjowOSk6Cn4jISBybj1HbG9pbnNvbiBydD0xMzI4MDMwNTM0IHJnPXd3dwp+IyEgdGlkPTEzMjgwMTI1NjkKTmFqYS4gRGFzIHdhciBzaWNoZXIgdW52b3J0ZWlsaGFmdC4gQWJlciB2aWVsbGVpY2h0IHdhciBlcyBlaGVyIGVpbiBEZWZpeml0LApkYXNzIGVzIGRlciBCcnVlY2tlbm1hbm5zY2hhZnQgb2ZmZW5iYXIgbmljaHQga2xhciB3YXIuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2FzIGJ1bnRlcyAoUnVtYXRhLCAzMS4gSmFuIDIwMTIsIDIwOjA1OjEwKToKaHR0cDovL3d3dy5yb2xsaW5nc3RvbmUuY29tL3ZpZGVvcy9uZXctYW5kLWhvdC9vay1nby0zLXByaW1hcnktY29sb3JzLXNvbmctMjAxCjIwMTMwP2xpbms9cHYyCmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tLzdvMmQ4b3UKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRyb3Bib3ggKEdsb2luc29uLCAgNC4gRmViIDIwMTIsIDExOjQwOjQ5KToKQWxzIEJldGEtVGVzdGVyIGJla29tbXQgbWFuIGV0bGljaGVzIGFuIFNwZWljaGVyIG1laHIsIHdlbm4gbWFuIGRlcmVuIG5ldWUKSW1wb3J0LUZ1bmt0aW9uIHRlc3RldC4gS2VpbmUgQWhudW5nLCBvYiBwZXJtYW5lbnQuCgpodHRwOi8vZm9ydW1zLmRyb3Bib3guY29tL3RvcGljLnBocD9pZD01MjkwMAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEcm9wYm94IChaZXNzdHJhLCAgNC4gRmViIDIwMTIsIDExOjQ1OjQ5KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzMjgzNTIwNDkgcmc9d3d3Cn4jISB0aWQ9MTMyODM1MjA0OQpJY2ggYmluIGphIGJlaSBXdWFsYSBlaW5nZXN0aWVnZW4sIGRpZSBtYWNoZW4gRW5kZS16dS1FbmRlLVZlcnNjaGx1ZXNzZWx1bmcsCmRhcyBpc3QgbWlyIGRldXRsaWNoIGxpZWJlciBhbHMgRHJvcGJveC4KKHNoYW1lbGVzcyBwbHVnOiB3ZXIgZGEgbmVuIEFjY291bnQgd2lsbCB1bmQgc2ljaCB2b24gbWlyIHdlcmJlbiBsYWVzc3QsCmtyaWVndCBhdWNoIDUwJSBtZWhyIFBsYXR6LikKClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogRHJvcGJveCAoR2xvaW5zb24sICA0LiBGZWIgMjAxMiwgMTE6NTA6MDcpOgp+IyEgcm49WmVzc3RyYSBydD0xMzI4MzUyMzQ5IHJnPXd3dwp+IyEgdGlkPTEzMjgzNTIwNDkKRGFzIGVuZDJlbmQgYXVjaCB1ZWJlciBkaWUgYW5kZXJ3ZWl0aWdlIFZlcnNjaGx1ZXNzZWx1bmcgKDd6LCBUcnVlQ3J5cHQpIGRlcgpEYXRlaWVuICh1bmQgSGVyYXVzZ2FiZSBkZXMgUGFzc3dvcnRzIGFuIGRpZSBwb3RlbnRpZWxsZW4gRW1wZmFlbmdlciB1ZWJlcgphbmRlcmUgS2FuYWVsZSkgZ2VodCwgaGF0dGVuIHdpciBqYSBiZXJlaXRzIGluIEcrIGRpc2t1dGllcnQuIEVpbiBQdW5rdCBmdWVyCnNpY2hlcmxpY2ggYWxsZSBGaWxlLVN5bmNlciBpc3QgZGFiZWksIGRhc3MgaW5rcmVtZW50ZWxsIGhvY2hnZWxhZGVuIHdpcmQsCndlbm4gbWFuIGFsc28gd2llIGljaCBlaW4gVHJ1ZUNyeXB0LVZvbHVtZSBmdWVyIHdlY2hzZWxuZGVuIEtyYW0gendpc2NoZW4KbWVocmVyZW4gTGV1dGVuIG5pbW10LCB3aXJkIG5pY2h0IGltbWVyIGRhcyBnZXNhbXRlIFRDIGhvY2hnZWxhZGVuLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERyb3Bib3ggKFplc3N0cmEsICA0LiBGZWIgMjAxMiwgMTI6MDQ6NDApOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMyODM1MjYwNyByZz13d3cKfiMhIHRpZD0xMzI4MzUyMDQ5CkpvLiBXYXIgbWlyIGJpc2xhbmcgYWJlciBpbW1lciBldHdhcyB6dSB1bXN0YWVuZGxpY2gsIHdlbm4gaWNoIG1pciBkZW4KenVzYWV0emxpY2hlbiBTb2Z0d2FyZWxheWVyIHNwYXJlbiBrYW5uLiBEYW5uIG11c3MgaWNoIGF1Y2gga2VpbmUKQ29udGFpbmVyZ3JvZXNzZW4gZmVzdGxlZ2VuIHVuZCBrYW5uIGZ1ZXIgamVkZXMgZWluemVsbmUgaG9jaGdlbGFkZW5lIEVsZW1lbnQKZmVzdGxlZ2VuLCB3ZXIgZGEgZ2dmLiB6dWdyZWlmZW4gZGFyZi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IERyb3Bib3ggKFpvb2ssICA0LiBGZWIgMjAxMiwgMTM6MTA6MTkpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTMyODM1MjYwNyByZz13d3cKfiMhIHRpZD0xMzI4MzUyMDQ5CkhtLiBNaXIgc2luZCBkaWVzZSBGaWxlc3luYy9DbG91ZGRpbmdlbnMtRGllbnN0ZSBpcmdlbmR3aWUgbmljaHQgc28gCnN5bXBhdGhpc2NoLiBXYXMgaGF0dGV0IElociBhdWYgRysgZGlza3V0aWVydCBiencuIHdhcyB3YXIgZGllClNjaGx1c3Nmb2xnZXJ1bmcgZnVlciBkaWUgTnV0enVuZz8KCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IERyb3Bib3ggKFplc3N0cmEsICA0LiBGZWIgMjAxMiwgMTM6MTg6MzcpOgp+IyEgcm49Wm9vayBydD0xMzI4MzU3NDE5IHJnPXd3dwp+IyEgdGlkPTEzMjgzNTIwNDkKTmFqYSwgaXN0IHNjaG9uIGxhZW5nZXIgaGVyIHVuZCBnaW5nIGVudGxhbmcgZGVyIGF1Y2ggaGllciBzY2hvbiBza2l6emllcnRlbgpEaW5nZS4gRHJvcGJveCBpc3Qgb2huZSB6dXNhZXR6bGljaGVuIFZlcnNjaGx1ZXNzZWx1bmdzbGF5ZXIgYmxvZWQsIG1pdCBkZW0KZ2VodHMsIGFiZXIgbWlyIHdhciBlcyB6dSBhdWZ3ZW5kaWcsIHdlaWwgZXMgamEgbmUgQWx0ZXJuYXRpdmUgZ2FiLiBJY2ggaGF0dGUKZGEgbm9jaCB2ZXJsaW5rdCwgd2llIGVzIGZ1bmt0aW9uaWVydCAoZGEgZ2FicyBuZW4gUGFwZXIgenUpLCBhYmVyIGhhYiBkYXMKamV0enQgbmljaHQgbWVociBkaXJla3QgenVyIGhhbmQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBEcm9wYm94IChHbG9pbnNvbiwgIDQuIEZlYiAyMDEyLCAxNDowMjoyNik6Cn4jISBybj1ab29rIHJ0PTEzMjgzNTc0MTkgcmc9d3d3Cn4jISB0aWQ9MTMyODM1MjA0OQpTcGFubmVuZCBpc3QgZGFzIHdpcmtsaWNoIG51ciwgd2VubiBtYW4gZnVlciBhaG51bmdzbG9zZSBMZXV0ZSBzZWhyIGVpbmZhY2gKRGF0ZWllbiBhdWYgZGVyZW4gUmVjaG5lciB2ZXJmdWVnYmFyIG1hY2hlbiB3aWxsLiBEYW5uIG11c3MgbWFuIGRhcyBiZWkgaWhuZW4KbnVyIGluc3RhbGxpZXJlbiB1bmQgbWl0IGRlbSBlaWdlbmVuIEtvbnRvIHZlcmJpbmRlbiwgZnVlciBpbW1lciBmZXJ0aWcuCgpTZWt1bmRhZXJlciAodW5kIGJlaSBtaXIgb2Z0IEhhdXB0endlY2spIGlzdCwgZGFzcyBtYW4gd2VpdGVyZW4gTGV1dGVuIHBlcgpXMy1MaW5rLCBnZW5lcmllcnQgdm9tIENsaWVudCBhdWYgZGVuIGVpZ2VuZW4gUmVjaG5lciBvaG5lIHZpZWwgQWVyZ2VyIGdyb3NzZQpEYXRlaWVuIHZlcmZ1ZWdiYXIgbWFjaGVuIGthbm4uIE5ldHQsIHVtIGdlY3J5cHRldGUgQXJjaGl2ZSBtaXQgQmlsZGVybiBvQWUgenUKdmVyYnJlaXRlbi4KCkhhdXB0endlY2sgaXN0IHdvaGwgYW5nZWJsaWNoLCBkYXNzIG1hbiBlaWdlbmUgUmVjaG5lciBkYW1pdCBzeW5jdCA7KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkl0YWxpZW5lciB1bmQgU2NocmFlZ2xhZ2UgKEFtYXJ5bGxpcywgIDcuIEZlYiAyMDEyLCAxMzowMjowNik6Cmh0dHA6Ly9pbWc1NDYuaW1hZ2VzaGFjay51cy9pbWc1NDYvNzY2OC9lc3FrMy5qcGcKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlmIGxhbmd1YWdlcyB3ZXJlIGFuIGVzc2F5IChNdXBmZWwsICA5LiBGZWIgMjAxMiwgMTQ6MDQ6NDkpOgpodHRwOi8vZnVuLmRybm8uZGUvcGljcy9pZi1sYW5ndWFnZXMtd2VyZS1hbi1lc3NheS5qcGcKCi1tdXBmZWwtCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFaW5lbiBGdW5raWdlbiBHdXRlbiBNb3JnZW4hIChSdW1hdGEsIDE0LiBGZWIgMjAxMiwgMDk6MTE6NDApOgoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1JMWxGZXRUZXM0ZyMhCgppY2ggbWFnIGRlbiBLZXJsLgoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkNvb2xlcyBDb3ZlciAoS2VsbHlidW5keSwgMTQuIEZlYiAyMDEyLCAyMzo1NzoyNSk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kOU5GMmVkeHktTSZmZWF0dXJlPXBsYXllcl9lbWJlZGRlZCMhCgp3aXJrbGljaCBjb29sZXMgQ292ZXIgdm9uIEdvdHllL0tpbWJyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IENvb2xlcyBDb3ZlciAoUnVtYXRhLCAxNS4gRmViIDIwMTIsIDA5OjUyOjQ1KToKfiMhIHJuPUtlbGx5YnVuZHkgcnQ9MTMyOTI2MDI0NSByZz13d3cKfiMhIHRpZD0xMzI5MjYwMjQ1CkhhY2gsIG1pdCBzb3dhcyBkZW0gVGFnIGJlZ2lubmVuLCBkYXMgaXN0IHNjaG9lbiA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBDb29sZXMgQ292ZXIgKFJ1bWF0YSwgMTcuIEZlYiAyMDEyLCAxMDowOTowMSk6Cn4jISBybj1LZWxseWJ1bmR5IHJ0PTEzMjkyNjAyNDUgcmc9d3d3Cn4jISB0aWQ9MTMyOTI2MDI0NQpIaWVyIGRpZSBBbnR3b3J0IGRhcmF1ZjoKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1Jd1BIeTE3SXU2RQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVmZXJlbmNlIEZUVyA7KSAoR2xvaW5zb24sIDIyLiBGZWIgMjAxMiwgMTk6MzE6MjApOgpodHRwOi8vd3d3LmV4cGxvc20ubmV0L2NvbWljcy8yNzA5LwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBpIENoYXJ0IChSdW1hdGEsIDIzLiBGZWIgMjAxMiwgMTM6MzA6MTEpOgpodHRwOi8vbWF0aC1mYWlsLmNvbS8yMDEyLzAyL3BpLWNoYXJ0Lmh0bWwKbG9sIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGllbnN0YWchIChSdW1hdGEsIDI3LiBGZWIgMjAxMiwgMDk6MTE6NDIpOgpodHRwOi8vc3VwZXJoZXJvZXMubWVtZWJhc2UuY29tLzIwMTIvMDIvMjQvc3VwZXJoZXJvZXMtYmF0bWFuLXN1cGVybWFuLWJhdG1hbi8KaHR0cDovL3ByZXZpZXcudGlueXVybC5jb20vN2w3YnhhYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR01haWwgTWFuIChWYXJkaW9uLCAxOC4gTWFyIDIwMTIsIDEwOjIwOjM4KToKR29vZ2xlIE1haWwKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1URGJyWDVVNzVkawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIEdyYXVlbiBiZWdpbm50IC0gUmV0cm9zcGVrdGl2ZSAoQ2FsZHJhLCAxOC4gTWFyIDIwMTIsIDEwOjIxOjQyKToKV2VyIHNjaG9uIGltbWVyIG1hbCB3aXNzZW4gd29sbHRlLCB3aWUgZGFzIGhpZXIgYWxsZXMgYW5nZWZhbmdlbiBoYXQgLi4uCmh0dHA6Ly90aW55dXJsLmNvbS83dDZkd3R1CgpDYWxkcmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEYXMgR3JhdWVuIGJlZ2lubnQgLSBSZXRyb3NwZWt0aXZlIChBbmF0b2wsIDE5LiBNYXIgMjAxMiwgMDc6Mzk6MzUpOgp+IyEgcm49Q2FsZHJhIHJ0PTEzMzIwNjI1MDIgcmc9d3d3Cn4jISB0aWQ9MTMzMjA2MjUwMgptdWQudW5pLW11ZW5zdGVyLmRlOjQ3MTEgaGF0IHRhdHNhZWNobGljaCBmdW5rdG9uaWVydD8gSWNoIGthbm50J3MgbnVyIG1pdApQYXNjYWwgKHVuZCBzcGFldGVyIGF1ZiBTYW50YW5hKS4uLiBJbXByZXNzaXYuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBEYXMgR3JhdWVuIGJlZ2lubnQgLSBSZXRyb3NwZWt0aXZlIChDYWxkcmEsIDE5LiBNYXIgMjAxMiwgMDc6NTc6NTIpOgp+IyEgcm49QW5hdG9sIHJ0PTEzMzIxMzkxNzUgcmc9d3d3Cn4jISB0aWQ9MTMzMjA2MjUwMgp0amEsIHdlbm4gZHUgZGFzIHNjaG9uIGRhbWFscyBnZXd1c3N0IGhhZXR0ZXN0IDotKQoKQ2FsZHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBEYXMgR3JhdWVuIGJlZ2lubnQgLSBSZXRyb3NwZWt0aXZlIChSdW1hdGEsIDE5LiBNYXIgMjAxMiwgMTE6MDY6MjMpOgp+IyEgcm49Q2FsZHJhIHJ0PTEzMzIxNDAyNzIgcmc9d3d3Cn4jISB0aWQ9MTMzMjA2MjUwMgpGdWVycyBBcmNoaXY6IGRlciBlcnN0ZSBIb3N0IGhpZXNzIGNob21za3kuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXZWlsIGVzIGlyZ2VuZHdpZSB6dWZyaWVkZW4gbWl0IGRlciBXZWx0IHN0aW1tdCB1bmQgUnVlY2tzY2hsdWVzc2UgYXVmIGRhcyBNRyB6dWxhZXNzdCA6LSkgKEFyaywgMjAuIE1hciAyMDEyLCAyMDozNDoxMik6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9uZXR6d2VsdC9nYW1lcy8wLDE1MTgsODIxNzc5LDAwLmh0bWwKCktvbm50ZSBtaXIgZWluIEdyaW5zZW4gaXJnZW5kd2llIG5pY2h0IHZlcmtuZWlmZW4gLi4uIGFsc28gYml0dGUgbmljaHQgYXVjaApoaWVyIG5hY2ggZGVyIEFsbGVzLUtvZW5uZXItR2lsZGUgc2NocmVpZW4sIGljaCBob2ZmZSwgd2lyIHNpbmQgcmVzaXN0ZW50ZXIKZ2VnZW4gc29sY2hlIEF1c3d1ZWNoc2UgKGphamEsIGljaCB3ZWlzcywgZGFzIGlzdCBuZSBFaW56ZWxtZWludW5nIDotKSkuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlaWwgZXMgaXJnZW5kd2llIHp1ZnJpZWRlbiBtaXQgZGVyIFdlbHQgc3RpbW10IHVuZCBSdWVja3NjaGx1ZXNzZSBhdWYgZGFzIE1HIHp1bGFlc3N0IDotKSAoWm9vaywgMjEuIE1hciAyMDEyLCAwOTozODoyNik6Cn4jISBybj1BcmsgcnQ9MTMzMjI3MjA1MiByZz13d3cKfiMhIHRpZD0xMzMyMjcyMDUyCkRlbiBBcnRpa2VsIGhhYmUgaWNoIGF1Y2ggbWl0IEludGVyZXNzZSBnZWxlc2VuLgpab29rLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IDE5IEphaHJlIHVuZCAzNTggVGFnZSAtIE9kZXIgZGVyIDIwLiBHZWJ1cnRzdGFnIT8gKFZhbmlyLCAyMS4gTWFyIDIwMTIsIDE0OjU2OjU1KToKfiMhIHJuPVpvb2sgcnQ9MTMzMjMxOTE0MyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTEzMzIxMDU4MDEKTnVuLCBpY2ggZGVua2Ugd2lyIHNvbGx0ZW4gcmVhZ2llcmVuIHVuZCBXZXJidW5nIG1hY2hlbiBtaXQgdWViZXIgZGllIEphaHJlCmdlc3RpZWdlbmUgS29tcGxleGl0YWV0IHVuZCBFcnptYWdpZXJuLCBkaWUgbmljaHQgamVkZW0gU3BpZWxlcmdlc2NocmVpCm5hY2hnZWJlbi4gClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoQ3JvZnQsIDIxLiBNYXIgMjAxMiwgMTU6MDI6MjkpOgp+IyEgcm49VmFuaXIgcnQ9MTMzMjMzODIxNSByZz13d3cKfiMhIHRpZD0xMzMyMTA1ODAxCk5hamEsIHN0ZWlnZW5kZSBLb21wbGV4aXRhZXQgaXN0IGR1cmNoYXVzIGVpbiBQcm9ibGVtOgpodHRwOi8vd3d3LndpemFyZHMuY29tL21hZ2ljL21hZ2F6aW5lL2FydGljbGUuYXNweD94PW10Zy9kYWlseS9tbS8xNzIKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoVmFuaXIsIDIxLiBNYXIgMjAxMiwgMTU6MTc6MDgpOgp+IyEgcm49Q3JvZnQgcnQ9MTMzMjMzODU0OSByZz13d3cKfiMhIHRpZD0xMzMyMTA1ODAxCkhtbSwgYWxzbyBkYW5uIGRvY2ggYW0gYmVzdGVuIGFsbGVzIG5ldWUgKG5hY2ggJzk0KSBsb2VzY2hlbiBvZGVyIGRlbiBoZXV0aWdlbgpTdGFuZCBlaW5mcmllcmVuPyBEYW5uIGdhZWJzIGRpZXNlIFByb2JsZW1lIG5pY2h0LgoKVi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNzogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoVmFuaXIsIDIxLiBNYXIgMjAxMiwgMTU6MjI6MjMpOgp+IyEgcm49Q3JvZnQgcnQ9MTMzMjMzODU0OSByZz13d3cKfiMhIHRpZD0xMzMyMTA1ODAxCk0gRyA5IDQgLSBkYXMgd29sbG4gd2lyIGhpZXIhClYuClBTOiBUb2xsZXIgU2xvZ2FuLCBvZGVyID8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE4OiAxOSBKYWhyZSB1bmQgMzU4IFRhZ2UgLSBPZGVyIGRlciAyMC4gR2VidXJ0c3RhZyE/IChDcm9mdCwgMjEuIE1hciAyMDEyLCAxNjowOTo0OSk6Cn4jISBybj1WYW5pciBydD0xMzMyMzM5NzQzIHJnPXd3dwp+IyEgdGlkPTEzMzIxMDU4MDEKdGVsbmV0IHVuaXRvcGlhLmRlIDE5OTMKOkQKCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2VpbCBlcyBpcmdlbmR3aWUgenVmcmllZGVuIG1pdCBkZXIgV2VsdCBzdGltbXQgdW5kIFJ1ZWNrc2NobHVlc3NlIGF1ZiBkYXMgTUcgenVsYWVzc3QgOi0pIChCYW1idWxrbywgMjEuIE1hciAyMDEyLCAxODoxODoxNCk6Cn4jISBybj1BcmsgcnQ9MTMzMjI3MjA1MiByZz13d3cKfiMhIHRpZD0xMzMyMjcyMDUyCkFoamEsIGRlc3dlZ2VuIGhhdCBkYXMgTUcgYXVjaCBoZXV0ZSBzbyB2aWVsZSBha3RpdmVuIFNwaWVsZXI/IEljaCBkZW5rZSBhbGxlClNwaWVsZSB2ZXJsaWVyZW4gaXJnZW5kd2FubiBpaHJlbiBSZWl6IHVuZCBkYXMgIkZydWVoZXIgd2FyIGFsbGVzCmJlc3NlciItQXJndW1lbnQgZmluZGV0IG1hbiBqYSB1ZWJlcmFsbC4gV2VubiBlcyBlaW5lbSB6dSBsZWljaHQgaXN0LCBrYW5uIG1hbgpkYW5uIG5pY2h0IGVpbmZhY2ggaW4gZWluIGFuZGVyZXMgR2ViaWV0IGdlaGVuLCB3byBzdGFlcmtlcmUgTW9uc3RlciBzaW5kPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWndlaWphZWhyaWdlbmRpYWV0IChSdW1hdGEsIDMwLiBNYXIgMjAxMiwgMTE6Mjk6NTkpOgoKQXVzIGdlZ2ViZW5lbSBBbmxhc3M6CgpodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS9jZWc1c2JrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xNjogMTkgSmFocmUgdW5kIDM1OCBUYWdlIC0gT2RlciBkZXIgMjAuIEdlYnVydHN0YWchPyAoR25vbWUsIDMxLiBNYXIgMjAxMiwgMTE6MTE6MDkpOgp+IyEgcm49VmFuaXIgcnQ9MTMzMjMzODIxNSByZz13d3cKfiMhIHRpZD0xMzMyMTA1ODAxCkR1IG1laW5zdCwgSG9yZGVuIHZvbiBFeC1Xb1ctU3BpZWxlcm4gd2VyZGVuIGRhbm4gZGFzIE1HIHVlYmVyZmx1dGVuPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRVNNIHVuZCBGaXNrYWxwYWt0IChHbm9tZSwgIDIuIEFwciAyMDEyLCAxMDoyNjo1MSk6Ckd5c2kgbGllc3QgZGVyIFJlZ2llcnVuZyBkaWUgTGV2aXRlbjoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWl1UnZwMGN0dmVrCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZW5rcmVjaHRzdGFydCAoR3dlbiwgIDUuIEFwciAyMDEyLCAxMzowNToyMSk6Cmh0dHA6Ly93d3cuc3otb25saW5lLmRlL2JpbGRlci8yMDEyXzA0L2dyXzMwMjk2NDlfNTYwNzU1NjQ5LmpwZwpvZGVyIGhpZXIgZGVyIEFydGlrZWw6Cmh0dHA6Ly93d3cuc3otb25saW5lLmRlL25hY2hyaWNodGVuL2ZvdG9zLmFzcD9hcnRpa2VsPTMwMjk2NDkKQmV6ZWljaG5lbmRlcndlaXNlIGhhdHRlIGRlciBGYWhyZXIgZm9sZ2VuZGVzIFNjaGlsZCBhbiBkZXIgRnJvbnRzY2hlaWJlOgoiTUFULVNDSE8iIDopCkZyb2hlIE9zdGVybiB3dWVuc2NodCBHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNlbmtyZWNodHN0YXJ0IChSdW1hdGEsICA1LiBBcHIgMjAxMiwgMTM6MTI6MjUpOgp+IyEgcm49R3dlbiBydD0xMzMzNjIzOTIxIHJnPXd3dwp+IyEgdGlkPTEzMzM2MjM5MjEKSGloaSwgYWJlciBkYXp1IG1hY2hlbiBaZWl0dW5nZW4gZWluZSBGb3Rvc3RyZWNrZT8KRGFzIG11c3Mgd29obCBRdWFsaXRhZXRzam91cm5hbGlzbXVzIHNlaW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFNlbmtyZWNodHN0YXJ0IChHd2VuLCAgNS4gQXByIDIwMTIsIDE0OjAzOjI1KToKfiMhIHJuPVJ1bWF0YSBydD0xMzMzNjI0MzQ1IHJnPXd3dwp+IyEgdGlkPTEzMzM2MjM5MjEKRGFzIGthbSBzb2dhciBpbSBUVi4gV2llIEJpcmtlbmJpaGwgbWVpbnRlOiBEaWUgbWVpc3RlbiBOYWNocmljaHRlbiBzaW5kIGdhcgprZWluZSwgc29uZGVybiBudXIgZGF6dSBkYSwgdW0gZGFzIFZvbGsgZHVtbSB6dSBoYWx0ZW4uClVuZCB3aXIgaGFiZW4gZXMgamEgYXVjaCBhbmdlc2NoYXV0IDspCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLYXJmcmVpdGFnLUZsYXNobW9iIChBbWFyeWxsaXMsICA3LiBBcHIgMjAxMiwgMDA6MjA6MzgpOgpodHRwOi8vd3d3LmV4cHJlc3MuZGUva29lbG4va2FyZnJlaXRhZ3MtZmxhc2htb2ItbGF1dGxvc2VyLXRhbnotdm9yLWRlbS1kb20sMjgKNTYsMTQ2OTIwODguaHRtbAoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSnVuZ3MuLi4gKEd3ZW4sIDI1LiBBcHIgMjAxMiwgMDc6MDk6MzQpOgpLbGVpbmUgdW5kIGhpZXIgZWluIGdyb2Vzc2VyZXI6Cmh0dHA6Ly9jYXJzY29vcC5ibG9nc3BvdC5jb20vMjAxMi8wMi9tZWV0LWpvZS1tYW4td2hvLWV4Y2F2YXRlZC1oaXMtYmFzZW1lbnQuaAp0bWwKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClZpcmdpbnMgaW4gSGVhdmVuLi4uIChBbWFyeWxsaXMsICAyLiBNYWkgMjAxMiwgMTc6NTg6MzApOgpodHRwOi8vZGwzLmdsaXR0ZXItZ3JhcGhpY3MubmV0L3B1Yi85MTYvOTE2MzIzZmJnODBjZmo0cS5qcGcKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmlrZWEgMi4wIChWZWN0b3IsIDIyLiBNYWkgMjAxMiwgMTA6NTM6MTApOgpodHRwOi8vd3d3LmlrZWFoYWNrZXJzLm5ldC8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBCcmV0dHNwaWVsZXIgR2VzZXR6ZSBtYWNoZW4gKHd1ZXJkZW4pIChaYXBob2IsIDIyLiBNYWkgMjAxMiwgMTk6MDI6MTApOgpIaWVyIGVpbiBuZXR0ZXIgVm9ydHJhZyB2b24gZGVyIGRpZXNqYWVocmlnZW4gcmU6cHVibGljYQoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUdTT2ozMkpoOXJBCgpXaWUgYnJpbmd0IG1hbiBNZW5zY2hlbiBkYXp1IGZyZWl3aWxsaWcgUmVnZWxuIGFuenVuZWhtZW4/IApXYXJ1bSBzaW5kIFNwaWVsZSBsZWljaHQgdmVyc3RhZW5kbGljaCwgbWFjaGVuIFNwYXNzIHVuZAphbmltaWVyZW4genUga29vcGVyYXRpdmVyIEtvbmt1cnJlbno/IApXYXJ1bSBzaW5kIEdlc2V0emUga29tcGxpemllcnQsIGVyemV1Z2VuIFdpZGVyd2lsbGVuIHVuZCAKd2lya2VuIHNvIG9mdCB1bmZhaXI/CgpWb24gS3VsdHVyYmV0cmllYiB1bmQgV2lydHNjaGFmdCB3ZWl0Z2VoZW5kIGlnbm9yaWVydCBoYXQgCnNpY2ggaW4gRGV1dHNjaGxhbmQgZGVyIHdlbHR3ZWl0IGdyb2Vzc3RlIEJyZXR0c3BpZWxtYXJrdCAKZGVyIFdlbHQgZW50d2lja2VsdC4gQnJldHRzcGllbGF1dG9yZW4gYmVzY2hhZWZ0aWdlbiBzaWNoIApzZWl0IEphaHJlbiBnYW56IHByYWt0aXNjaCBtaXQgZGVtIG1lbnNjaGxpY2hlbiBWZXJoYWx0ZW4gCmluIFJlZ2Vsc3lzdGVtZW4sIHdhbm4gZGllc2UgRWlnZW5pbml0aWF0aXZlLCBTZWxic3QtCmJlc3RpbW11bmcgdW5kIEx1c3QgdmVybWl0dGVsbiB1bmQgd2FubiBuaWNodC4gCgpaaWVsIGRlcyBWb3J0cmFncyBpc3QgZXMsIHp1IHplaWdlbiB3aWUgbWFuIGRpZXNlbiByZWljaGVuIApFcmZhaHJ1bmdzc2NoYXR6IHVyYmFyIG1hY2hlbiBrYW5uLCB3YXMgc2ljaCBhdWYgZGllIApHZXNldHpnZWJ1bmcgdWViZXJ0cmFnZW4gbGFlc3N0IHVuZCB3ZWxjaGUgZXJzdGF1bmxpY2hlbiAKRXJrZW5udG5pc3NlIHNpY2ggYXVzIGRlciBCcmV0dHNwaWVsZW50d2lja2x1bmcgdWViZXIgR2VsZCwgCkdlcmVjaHRpZ2tlaXQgdW5kIEJlZGluZ3VuZ3Nsb3NlcyBHcnVuZGVpbmtvbW1lbiB6aWVoZW4gCmxhc3Nlbi4gKERhdWVyOiBjYS4gMSBTdHVuZGUpCgpaYXAqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgouIChOaWNvbGFpLCAyNy4gTWFpIDIwMTIsIDE1OjQ2OjU1KToKYWRsZXIgbGl2ZSB1bmQgaW4gZmFyYmUgYmVpbSBicnVldGVuPyBiaXR0ZXNlaHI6Cmh0dHA6Ly9wb250dS5lZW5ldC5lZS9wbGF5ZXIva2FsYWtvdGthcy5odG1sCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2llIEJyZXR0c3BpZWxlciBHZXNldHplIG1hY2hlbiAod3VlcmRlbikgKE1haGFyZXQsICA0LiBKdW4gMjAxMiwgMTI6Mzk6MTApOgp+IyEgcm49WmFwaG9iIHJ0PTEzMzc3MDYxMzAgcmc9d3d3Cn4jISB0aWQ9MTMzNzcwNjEzMApVbmQgd2VubiBtaXIgZGllIFJlZ2VsbiBkb2NoIG5pY2h0IGdlZmFsbGVuIHVuZCBpY2ggZGFzIFNwaWVsIGRvb2YgZmluZGUsCnNwaWVsIGljaCBlaW5mYWNoIG5pY2h0IG1pdC4gVW5kIFNjaHVtbWxlciBnaWJ0IGVzIGJlaSBCcmV0dHNwaWVsZW4gYXVjaCB3aWUKU2FuZCBhbSBtZWhyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR0VUIExBTVA6IFRoZSBUZXh0IEFkdmVudHVyZSBEb2N1bWVudGFyeSAoWmFwaG9iLCAgNC4gSnVuIDIwMTIsIDIxOjE0OjM0KToKQXVjaCBzcGFubmVuZDogaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUxSaGJjRHpiR1NVCgpHb29nbGUgVGVjaCBUYWxrIChtb3JlIGJlbG93KQpNYXJjaCA3LCAyMDExCgpQcmVzZW50ZWQgYnkgSmFzb24gU2NvdHQuCgpBQlNUUkFDVAoKSmFzb24gU2NvdHQgd2lsbCB0YWxrIGFib3V0IG1ha2luZyB0aGUgZG9jdW1lbnRhcnkgYW5kIHdlJ2xsIGJlIHNjcmVlbmluZyBzb21lCnBvcnRpb24gb2YgdGhlIGZpbG0uCgpodHRwOi8vd3d3LmdldGxhbXAuY29tLyAKCkluIHRoZSBlYXJseSB5ZWFycyBvZiB0aGUgbWljcm9jb21wdXRlciwgYSBzcGVjaWFsIGtpbmQgb2YgZ2FtZSB3YXMgYmVpbmcKcGxheWVkLiBXaXRoIGxpbWl0ZWQgc291bmQsIHNpbXBsZSBncmFwaGljcywgYW5kIHRpbnkgYW1vdW50cyBvZiBjb21wdXRpbmcKcG93ZXIsIHRoZSBmaXJzdCBnYW1lcyBvbiBob21lIGNvbXB1dGVycyB3b3VsZCBoYXJkbHkgcmFpc2UgYW4gZXllYnJvdyBpbiB0aGUKbW9kZXJuIGVyYSBvZiBwaG90b3JlYWxpc20gYW5kIHN1cnJvdW5kIHNvdW5kLiBJbiBhIHdvcmxkIG9mIFF1YWtlLCBIYWxmLUxpZmUKYW5kIEhhbG8sIGl0IGlzIGV4cGVjdGVkIHRoYXQgYSBzdWNjZXNzZnVsIGdhbWUgbXVzdCBiZSBsb3VkLCBmYXN0LCBhbmQgZnVsbApvZiBibGF6aW5nIGxpZmUtbGlrZSBhY3Rpb24uCgpCdXQgaW4gdGhlIGVhcmx5IDE5ODBzLCBhbiBlbnRpcmUgaW5kdXN0cnkgcm9zZSBvdmVyIHRoZSB0ZWxsaW5nIG9mIHRhbGVzLCB0aGUKc29sdmluZyBvZiBpbnRyaWNhdGUgcHV6emxlcyBhbmQgdGhlIGFydCBvZiB3cml0aW5nLiBMaWtlIGxpdmluZyBib29rcywgdGhlc2UKZ2FtZXMgZGVzY3JpYmVkIGZhbnRhc3RpYyB3b3JsZHMgdG8gdGhlaXIgcmVhZGVycywgYW5kIHRoZW4gaW52aXRlZCB0aGVtIHRvCmxpdmUgd2l0aGluIHRoZW0uCgpUaGV5IHdlcmUgY2FsbGVkICJjb21wdXRlciBhZHZlbnR1cmUgZ2FtZXMiLCBhbmQgdGhleSB1c2VkIHRoZSBtb3N0IHBvd2VyZnVsCmdyYXBoaWNzIHByb2Nlc3NvciBpbiB0aGUgd29ybGQ6IHRoZSBodW1hbiBtaW5kLgoKUmlzaW5nIGZyb20gc2lkZSBwcm9qZWN0cyBhdCB1bml2ZXJzaXRpZXMgYW5kIGVuZ2luZWVyaW5nIGNvbXBhbmllcywgYWR2ZW50dXJlCmdhbWVzIHdvdWxkIGRlc2NyaWJlIGEgcGxhY2UsIGFuZCB0aGVuIGFzayB3aGF0IHRvIGRvIG5leHQuIFRoZXkgcHJlc2VudGVkCnB1enpsZXMsIHRyaWNrcyBhbmQgdHJhcHMgdG8gYmUgb3ZlcmNvbWUuIFRoZXkgd2VyZSBmaWxsZWQgd2l0aCBzdXNwZW5zZSwKaHVtb3IgYW5kIHNhZG5lc3MuIEFuZCB0aGV5IG9mZmVyZWQgYSB1bmlxdWUgdHlwZSBvZiBqb3kgYXMgcGxheWVycyBkaXNjb3ZlcmVkCmhvdyB0byBuZWdvdGlhdGUgdGhlIG9ic3RhY2xlcyBhbmQgdGhpbmsgdGhlaXIgd2F5IHRvIHZpY3RvcnkuIFRoZXNlIHBsYXllcnMKaGF2ZSBjYXJyaWVkIHRoZWlyIG1lbW9yaWVzIG9mIHRoZXNlIHRleHQgYWR2ZW50dXJlcyB0byB0aGUgbW9kZXJuIGRheSwgYW5kIGEKd2hvbGUgbmV3IGdlbmVyYXRpb24gb2YgYXV0aG9ycyBoYXZlIHRha2VuIHVwIHRoZSB0b3JjaCB0byBwcmVzZW50IGEgbmV3IHNldApvZiBwbGFjZXMgdG8gZXhwbG9yZS4KCkdldCBMYW1wIGlzIGEgZG9jdW1lbnRhcnkgdGhhdCB3aWxsIHRlbGwgdGhlIHN0b3J5IG9mIHRoZSBjcmVhdGlvbiBvZiB0aGVzZQppbmNyZWRpYmxlIGdhbWVzLCBpbiB0aGUgd29yZHMgb2YgdGhlIHBlb3BsZSB3aG8gbWFkZSB0aGVtLgoKU3BlYWtlciBJbmZvOgoKSmFzb24gU2NvdHQgKCBodHRwOi8vd3d3LmdldGxhbXAuY29tL2RpcmVjdG9yLmh0bWwgKQoKSmFzb24gU2NvdHQgaXMgYSBkaWdpdGFsIGhpc3RvcmlhbiBhbmQgYXJjaGl2aXN0IHdobyBzcGVjaWFsaXplcyBpbiBlYXJseQptaWNyb2NvbXB1dGVyIGhpc3RvcnkgYW5kIGRpYWwtdXAgYnVsbGV0aW4gYm9hcmQgc3lzdGVtcy4gSGUgaXMgdGhlIHdlYm1hc3RlcgpvZiB0ZXh0ZmlsZXMuY29tLCBhIGNvbGxlY3Rpb24gb2YgQkJTLWVyYSB0ZXh0ZmlsZXMgdGhhdCBoYXMgYmVlbiBvcGVuIHRvIHRoZQpwdWJsaWMgc2luY2UgMTk5OC4gSW4gMjAwMSwgaGUgYmVnYW4gZmlsbWluZyBhIGRvY3VtZW50YXJ5IGFib3V0IEJCU2VzIGNhbGxlZAoiQkJTOiBUaGUgRG9jdW1lbnRhcnkiLCBhbiA4LWVwaXNvZGUgbWluaS1zZXJpZXMgYWJvdXQgQkJTZXMgc3Bhbm5pbmcgMjUgeWVhcnMKYW5kIHRvdGFsbGluZyBmaXZlIGFuZCBhIGhhbGYgaG91cnMgaW4gbGVuZ3RoLiBUaGlzIGRvY3VtZW50YXJ5IHNlcmllcyB3YXMKcmVsZWFzZWQgb24gMyBEVkRzIGluIGVhcmx5IDIwMDUuIEhlIGhhcyBiZWVuIHBsYXlpbmcgdGV4dCBhZHZlbnR1cmVzIHNpbmNlIGhlCndhcyAxMCwgYW5kIHRvIHRoaXMgZGF5IGRvZXMgbm90IHVuZGVyc3RhbmQgd2h5IHRoZSByb2Qgc2NhcmVzIHRoZSBiaXJkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEdFVCBMQU1QOiBUaGUgVGV4dCBBZHZlbnR1cmUgRG9jdW1lbnRhcnkgKFplc3N0cmEsICA0LiBKdW4gMjAxMiwgMjE6MjQ6MjEpOgp+IyEgcm49WmFwaG9iIHJ0PTEzMzg4MzcyNzQgcmc9d3d3Cn4jISB0aWQ9MTMzODgzNzI3NApEYW5rZSBmdWVyIGRlbiBIaW53ZWlzLCBrbGluZ3Qgc3Bhbm5lbmQuCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNRy1TZWl0ZW46IEhpbGZlLVN1Y2hlIChBbWFyeWxsaXMsIDE0LiBKdWwgMjAxMiwgMjI6MjE6MTQpOgpIaSwKCmRpZSBIaWxmZS1TdWNoZSBhdWYgZGVuIFdlYnNlaXRlbiBkZXMgTUcgc29sbHRlIG51biB3aWVkZXIgZnVua3Rpb25pZXJlbi4KCkdydXNzLApBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBYmJvdHQgJiBDb3N0ZWxsbzogV2hvJ3Mgb24gRmlyc3QuIChBcmF0aG9ybiwgMjcuIEp1bCAyMDEyLCAyMToyNjowNyk6Ckdyb3NzYXJ0aWdlciBLbGFzc2lrZXIuCgpUcmFuc2tyaXB0IGhpZXIsIHNpbm52b2xsIHp1bSBNaXRsZXNlbiwgZGEgZGllIHNjaG5lbGwgcmVkZW46Cmh0dHA6Ly93d3cuYmFzZWJhbGwtYWxtYW5hYy5jb20vaHVtb3I0LnNodG1sCgpPcmlnaW5hbGF1Zm5haG1lIGhpZXI6IGh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1jNm9nRllXVWxnQQoKQXJhdGhvcm4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2gga2VubiBlaW4gTGllZC4uLiAoR3dlbiwgIDYuIEF1ZyAyMDEyLCAwMDoyMjoyNCk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1sWFJxZ0l6eGRkZwp1bmQgZGFubiBuYXR1ZXJsaWNoIG5vY2ggZGFzIGhpZXI6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1HTEJoRWZCczEzawpNaXQgYmVzdGVuIEdydWVzc2VuIGF1cyBXYWNrZW4hCkd3ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSWNoIGtlbm4gZWluIExpZWQuLi4gKEh1bW5pLCAgNy4gQXVnIDIwMTIsIDE1OjE1OjM3KToKfiMhIHJuPUd3ZW4gcnQ9MTM0NDIwNTM0NCByZz13d3cKfiMhIHRpZD0xMzQ0MjA1MzQ0CkphYWEhISEhCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBJY2gga2VubiBlaW4gTGllZC4uLiAoWm9vaywgIDcuIEF1ZyAyMDEyLCAxNToxNjowNSk6Cn4jISBybj1IdW1uaSBydD0xMzQ0MzQ1MzM3IHJnPXd3dwp+IyEgdGlkPTEzNDQyMDUzNDQKRGVwZWNoZSBNb2RlPwpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBJY2gga2VubiBlaW4gTGllZC4uLiAoUnVtYXRhLCAgNy4gQXVnIDIwMTIsIDE5OjM5OjMwKToKfiMhIHJuPVpvb2sgcnQ9MTM0NDM0NTM2NSByZz13d3cKfiMhIHRpZD0xMzQ0MjA1MzQ0CkljaCBnbGF1YmUgbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGaW5kaW5ncyBTcGllbGVoZXJzdGVsbGVyIC0+IExlaHJlbiBmdWVyIE1HPyA6LSkgKEFyaywgMTUuIEF1ZyAyMDEyLCAyMDowMjoyOSk6Ck51ciBoYWxiIGltIFNjaGVyeiBnZW1laW50LCBsZXN0IGVzIGV1Y2ggbWFsIGR1cmNoIDotKQpodHRwOi8vd3d3LmhlaXNlLmRlL25ld3N0aWNrZXIvbWVsZHVuZy9HREMtVGV1cmUtU3VjaHQtc3RhdHQtR3JhdGlzLUtsaWNrLWJlaS0KRnJlZS10by1QbGF5LTE2NjY3MTIuaHRtbAoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBGaW5kaW5ncyBTcGllbGVoZXJzdGVsbGVyIC0+IExlaHJlbiBmdWVyIE1HPyA6LSkgKFJ1bWF0YSwgMTUuIEF1ZyAyMDEyLCAyMDoxMDoyOSk6Cn4jISBybj1BcmsgcnQ9MTM0NTA1Mzc0OSByZz13d3cKfiMhIHRpZD0xMzQ1MDUzNzQ5CkRhcyBrb25lbm4gd2lyIGJlc3NlcjogIldpciBicmF1Y2hlbiBlaW5lbiBuZXVlbiBSZWNobmVyIGZ1ZXJzIE11ZCEhISEiCgpSdW0qKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBGaW5kaW5ncyBTcGllbGVoZXJzdGVsbGVyIC0+IExlaHJlbiBmdWVyIE1HPyA6LSkgKEFtYXJ5bGxpcywgMTUuIEF1ZyAyMDEyLCAyMToxMTozMCk6Cn4jISBybj1SdW1hdGEgcnQ9MTM0NTA1NDIyOSByZz13d3cKfiMhIHRpZD0xMzQ1MDUzNzQ5CmJpdHRlPwoKV2lyIGhhYmVuIG5vY2ggUmVzc291cmNlbiBvaG5lIEVuZGUuLi4KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEZpbmRpbmdzIFNwaWVsZWhlcnN0ZWxsZXIgLT4gTGVocmVuIGZ1ZXIgTUc/IDotKSAoUnVtYXRhLCAxNS4gQXVnIDIwMTIsIDIxOjE4OjMzKToKfiMhIHJuPUFtYXJ5bGxpcyBydD0xMzQ1MDU3ODkwIHJnPXd3dwp+IyEgdGlkPTEzNDUwNTM3NDkKUHNzdCwgQW1hKiwgc29uc3Qgd2lyZCBkYXMgbml4IG1pdCB1bnNlcmVtIDUgU3Rlcm5lIFVybGF1YiBpbiBSaW8uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogRmluZGluZ3MgU3BpZWxlaGVyc3RlbGxlciAtPiBMZWhyZW4gZnVlciBNRz8gOi0pIChBbWFyeWxsaXMsIDE1LiBBdWcgMjAxMiwgMjE6MjM6MDkpOgp+IyEgcm49UnVtYXRhIHJ0PTEzNDUwNTgzMTMgcmc9d3d3Cn4jISB0aWQ9MTM0NTA1Mzc0OQpNaXN0LCBoYXBzY2ggbWljaCB2ZXJwbGFwcGVydD8KCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCndlcmJlc3BvdCAoVmFuaXIsIDE3LiBTZXAgMjAxMiwgMjE6MTg6NDYpOgpTZWhlbnN3ZXJ0OgpodHRwOi8vd3d3LndpbXAuY29tL3BlcnBldHVhbG1vdGlvbi8KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiB3ZXJiZXNwb3QgKEhvYm8sIDI0LiBTZXAgMjAxMiwgMjI6MjU6MzApOgp+IyEgcm49VmFuaXIgcnQ9MTM0NzkwOTUyNiByZz13d3cKfiMhIHRpZD0xMzQ3OTA5NTI2CkljaCB6aXRpZXJlICh3ZWlzcyBhYmVyIG5pY2h0IG1laHIgd29yYXVzKToKRGllIGFybWUgS2F0emUhCgpIb2JvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VyYmVzcG90IChSdW1hdGEsIDI1LiBTZXAgMjAxMiwgMTA6MDg6MTUpOgp+IyEgcm49VmFuaXIgcnQ9MTM0NzkwOTUyNiByZz13d3cKfiMhIHRpZD0xMzQ3OTA5NTI2CkRhcyBmZXR0ZSBWaWVoIGhhdCBhYmVyIGR1cmNoYXVzIGJld2VndW5nIG5vZXRpZy4gOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTcGFjZSBJbnZhZGVycyAoR3dlbiwgMjcuIFNlcCAyMDEyLCAyMDo0Mzo0MCk6CkZhbGxzIElociBnZXJhZGUgRXVlciBCYWQgbmV1IGdlc3RhbHRlbiB3b2xsdCwgaGllciBlaW5lIElkZWUgZnVlciBkaWUKRmxpZXNlbmdlc3RhbHR1bmc6Cmh0dHA6Ly93d3cud29obmlkZWVuLWVpbnJpY2h0ZW4uZGUvYmFkZXppbW1lci9iYWRlemltbWVyLW1pdC1zcGFjZS1pbnZhZGVyLwpHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZXJiZXNwb3QgKEJhbWJpLCAyOS4gU2VwIDIwMTIsIDAzOjE2OjAxKToKfiMhIHJuPVJ1bWF0YSBydD0xMzQ4NTYwNDk1IHJnPXd3dwp+IyEgdGlkPTEzNDc5MDk1MjYKV2VubiBlcyBkZW5uIGV0d2FzIGRhZnVlciB0dW4gd3VlcmRlLi4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTdG9pYmVycyBHZXN0YW1tZWx0ZSBXZXJrZSAoTmVpbCwgIDMuIE9rdCAyMDEyLCAwODowMjoxMSk6Cmh0dHA6Ly93d3cuc3BpZWdlbC5kZS9mbGFzaC8wLDU1MzIsMTQ1MDQsMDAuaHRtbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGFzIFNvY2tlbC1TcGllbCAoQmFtYmksICA1LiBPa3QgMjAxMiwgMTY6NDQ6MzEpOgpIYWxsbyBhbGxlLgoKV2llIGVpbmlnZSBob2VoZXJsZXZlbGlnZSBTcGllbGVyIHdpc3NlbiBrb2VubnRlbiwgZ2lidCBlcyBpbSBPZ2Vyd2FsZCBlaW4Ka2xlaW5lcyBTdHJhdGVnaWVzcGllbCBmdWVyIHp3ZWkgUGVyc29uZW4uIExlaWRlciBpc3QgZGFzIFNwaWVsLCBzYWdlbiB3aXIsCm51ciBtaXQgSGluZGVybmlzc2VuIHp1IHNwaWVsZW4sIHdpZSBhZ2dyZXNzaXZlbiBOU0NzLCBhZ2dyZXNzaXZlbiBOU0NzIHVuZAphZ2dyZXNzaXZlbiBOU0NzLgoKRGFoZXIgbW9lY2h0ZSBpY2ggZ2VybmUgYmVrYW5udGdlYmVuLCBkYXNzIGljaCBkaWVzZXMgU3BpZWwgbnVuIGFscwpBbmRyb2lkLUFwcCBpbXBsZW1lbnRpZXJ0IGhhYmUgdW5kIGluIEdvb2dsZXMgUGxheSBTdG9yZSBhbmJpZXRlLiBEb3J0IGlzdAphdWNoIGVpbiBjb21wdXRlcmdlc3RldWVydGVyIEdlZ2Vuc3BpZWxlciBpbXBsZW1lbnRpZXJ0LCBnZWdlbiBkZW4gaWhyCmFudHJldGVuIGtvZW5udC4KCkZhbGxzIGlociBhbHNvIGVpbiBBbmRyb2lkLUdlcmFldCBoYWJ0IChvZGVyIGVpbmVuIGJyYXVjaGJhcmVuIEVtdWxhdG9yCmJlc2l0enQpLCBrb2VubnQgaWhyIGRhcyBTcGllbCBkb3J0IGhlcnVudGVybGFkZW4gdW5kIHNwaWVsZW4uCgpJY2ggZnJldWUgbWljaCB1ZWJlciBrb25zdHJ1a3RpdmUgS3JpdGlrIHVuZCBWZXJiZXNzZXJ1bmdzdm9yc2NobGFlZ2UgZWJlbnNvLAp3aWUgdWViZXIgZ3V0ZSBCZXdlcnR1bmdlbi4KCkhpZXIgZGVyIFN0b3JlLUxpbms6Cmh0dHBzOi8vcGxheS5nb29nbGUuY29tL3N0b3JlL2FwcHMvZGV0YWlscz9pZD1kZS5zaXN0YW5jZS5hbmRyb2lkLmV4cGxvZGUKClZpZWxlIEdydWVzc2UsCkJhbWJpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKVGltZSBXYXJuZXIgZXBpYyBGYWlsIChSdW1hdGEsICA2LiBPa3QgMjAxMiwgMjA6MjY6MzIpOgpodHRwOi8vY2hlZXpidXJnZXIuY29tLzY2MTA5NzIxNjAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCktsYXRzY2gga2xhdHNjaCAoWmFwaG9iLCAxMi4gRGV6IDIwMTIsIDIyOjU0OjQ3KToKIkRlciBBdWZ0cmFnIGRlciBCdW5kZXN3ZWhyIiBTdHVkZW50ZW4ga2xhdHNjaGVuIFJlZGUgbmllZGVyCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9UU5xTzZVMWFlc1UgOikgR0VJTCEhIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSGVpbm8gKFJob3ZhbiwgMjUuIEphbiAyMDEzLCAxMTo0MTo1MCk6CkhlaW5vIGRlciBpbnZlcnRpZXJ0ZSBQdWZmIERhZGR5IGF1cyBkZW0gUmVudG5lcnNjaHdvZiBoYXQgc2VpbmUgZHJvaHVuZ2VuCndhciBnZW1hY2h0IHVuZCBoYXQgRGllIEFlenRlLCBSYW1tc3RlaW4gdW5kIGFuZGVyZSBnZWNvdmVydC4KaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXhKMy14R2RhaTQ0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSGVpbm8gKFJob3ZhbiwgMjUuIEphbiAyMDEzLCAxMTo0NTozNSk6Cn4jISBybj1SaG92YW4gcnQ9MTM1OTExMDUxMCByZz13d3cKfiMhIHRpZD0xMzU5MTEwNTEwCkljaCBnbGF1YmUgZGFzIHdpcmQgZGFzIEVyc3RlIEhlaW5vIEFsYnVuZyBkYXMgaWNoIG1pciB6dWxlZ2UuClNvdmllbCBTYXJrYXNtdXMgbXVzcyBiZWxvaG50IHdlcmRlbi4gOkQKZ3J1c3MKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEhlaW5vIChSdW1hdGEsIDI1LiBKYW4gMjAxMywgMTI6MTY6MzkpOgp+IyEgcm49UmhvdmFuIHJ0PTEzNTkxMTA3MzUgcmc9d3d3Cn4jISB0aWQ9MTM1OTExMDUxMApOZXR0LiBBYmVyIGRlbiBTdHVudCBoYXQgZXIgc2Nob25tYWwgdm9yID4yMHkgZ2VtYWNodCAoRW56aWFuIFJhcCkuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSGVpbm8gKEdsb2luc29uLCAyNS4gSmFuIDIwMTMsIDEyOjI3OjQyKToKfiMhIHJuPVJ1bWF0YSBydD0xMzU5MTEyNTk5IHJnPXd3dwp+IyEgdGlkPTEzNTkxMTA1MTAKRHUgYmlzdCBhbHQgZ2VudWcsIGRhcyBub2NoIGxpZmUgbWl0IGJlanViZWx0IHp1IGhhYmVuIDspCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogSGVpbm8gKEFudGhlYSwgMjUuIEphbiAyMDEzLCAxMjoyOTowNik6Cn4jISBybj1HbG9pbnNvbiBydD0xMzU5MTEzMjYyIHJnPXd3dwp+IyEgdGlkPTEzNTkxMTA1MTAKV29iZWkgaWNoIGZpbmRlLCBkYXNzIGRhcyAiSnVuZ2UiIGF1cyBzZWluZW0gTXVuZCBzZWhyIHZpZWwgYXV0aGVudGlzY2hlcgp3aXJrdCBhbHMgYXVzIGRlbSBkZXIgQWVyenRlLiA7KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogSGVpbm8gKEh1bW5pLCAyNS4gSmFuIDIwMTMsIDE2OjAzOjQ5KToKfiMhIHJuPUFudGhlYSBydD0xMzU5MTEzMzQ2IHJnPXd3dwp+IyEgdGlkPTEzNTkxMTA1MTAKRWluIHdlaXRlcmVyIEZhbGwsIHdvIGljaCBkYXMgT3JpZ2luYWwgZGV1dGxpY2ggYmV2b3J6dWdlLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IEhlaW5vIChBcmF0aG9ybiwgMjUuIEphbiAyMDEzLCAxOTowOTozMyk6Cn4jISBybj1IdW1uaSBydD0xMzU5MTI2MjI5IHJnPXd3dwp+IyEgdGlkPTEzNTkxMTA1MTAKVm9lbGxpZyBlZ2FsLCB3YXMgSGVpbm8gbWFjaHQsIGVzIGthbm4gbnVyIHNjaHJlY2tsaWNoIHdlcmRlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNvIHNpZWh0IENvZGUgYmVzc2VyIGF1cyEgKEdsb2luc29uLCAzMS4gSmFuIDIwMTMsIDIyOjMyOjU2KToKaHR0cDovL2luc3RhY29kZS5saW5vbG9neS5pbmZvCgpXZXIgSW5zdGFncmFtIG1vY2h0ZSB3aXJkIEluc3RhY29kZSBsaWViZW4hCgpodHRwOi8vaW5zdGFjb2RlLmxpbm9sb2d5LmluZm8vNTM4NzUKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpDb2xsZWN0aW5nIFNraWVzIChHbG9pbnNvbiwgIDIuIEZlYiAyMDEzLCAxMzoyOTo1Nik6Cmh0dHA6Ly93d3cucmVkZGl0LmNvbS9yL3Bob3RvZ3JhcGh5L2NvbW1lbnRzLzE3ZG1nNi8KCkRhIGZyYWd0IGplbWFuZCBuYWNoOiBad2VpIEZvdG9zLCBlaW5lcyBiZWkgVGFnIHVuZCBlaW5lcyBiZWkgTmFjaHQsIGRpcmVrdApuYWNoIG9iZW4sIG5pY2h0cyBpbSBCbGlja2ZlbGQuIEtlaW4gRWRpdCwgRWluc3RlbGx1bmdlbiB3aWUgbWFuIGd1dCBmaW5kZXQuClplaXQsIERhdHVtLiBPcnQgZGVzIEZvdG9zLiBNYWlsIGFuIG1hZGVieWpvc2lhaEBnbWFpbC5jb20uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFNvIHNpZWh0IENvZGUgYmVzc2VyIGF1cyEgKFpvb2ssICAyLiBGZWIgMjAxMywgMTg6NDg6MjgpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTM1OTY2Nzk3NiByZz13d3cKfiMhIHRpZD0xMzU5NjY3OTc2ClNlaHIgc2Nob2VuISAKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKYXBlbGwgZ2VnZW4gdWViZXJ0ZXVlcnRlIHdvaG51bmdzbWl0ZW4gKEFyc29uLCAgNi4gRmViIDIwMTMsIDE2OjM4OjM3KToKClNlaHIgZ2VlaHJ0ZXIgSGVyciBCdW5kZXNtaW5pc3RlciBSYW1zYXVlciwKc2VociBnZWVocnRlIE1pbmlzdGVycHJhZXNpZGVudGlubmVuIHVuZCBNaW5pc3RlcnByYWVzaWRlbnRlbiwKCkRldXRzY2hsYW5kIGRyb2h0IGVpbmUgbmV1ZSBXb2hudW5nc25vdC4gRHJhc3Rpc2NoIHN0ZWlnZW5kZSBNaWV0ZW4KdmVyZHJhZW5nZW4gTWVuc2NoZW4gYXVzIGlocmVuIFN0YWR0dGVpbGVuIHVuZCB6ZXJzdG9lcmVuIGRlbiBzb3ppYWxlbgpadXNhbW1lbmhhbHQuIEluc2Jlc29uZGVyZSBTdHVkZW50L2lubmVuLCBGYW1pbGllbiB1bmQgUmVudG5lci9pbm5lbiBmaW5kZW4Ka2VpbmUgYmV6YWhsYmFyZSBCbGVpYmUgbWVoci4gU3RvcHBlbiBTaWUgZGllc2UgRW50d2lja2x1bmc6ICAgCgpCZWdyZW56ZW4gU2llIE1pZXRzdGVpZ2VydW5nZW4gcGVyIEdlc2V0eiEgTmV1IHZlcmVpbmJhcnRlIE1pZXRlbiBzb2xsZW4KbWF4aW1hbCAxMCBQcm96ZW50IHVlYmVyIGRlciBWZXJnbGVpY2hzbWlldGUgZGVyIGxldHp0ZW4gemVobiBKYWhyZSBsaWVnZW4KZHVlcmZlbiwgYmVzdGVoZW5kZSBNaWV0ZW4gdW0gbWF4aW1hbCAxNSBQcm96ZW50IGluIHZpZXIgSmFocmVuIHN0ZWlnZW4uIAoKSW52ZXN0aWVyZW4gU2llIGluIGJlemFobGJhcmVuIFdvaG5yYXVtISBFcyBtdWVzc2VuIHdlaXQgbWVociBvZWZmZW50bGljaGUKTWl0dGVsIGluIGRlbiBFcmhhbHQsIFJ1ZWNra2F1ZiB1bmQgTmV1YmF1IHZvbiBTb3ppYWx3b2hudW5nZW4gZmxpZXNzZW4uIAoKTWl0IGZyZXVuZGxpY2hlbiBHcnVlc3NlbgoKSGllciBrYW5uIG1hbiBiZWkgaW50ZXJlc3NlIGRlbiBhcGVsbCB1bnRlcnplaWNobmVuLgpodHRwczovL3d3dy5jYW1wYWN0LmRlL21pZXRlbi9hcHBlbGwvdGVpbG5laG1lbi8KCmxnIGFyc29uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXBlbGwgZ2VnZW4gdWViZXJ0ZXVlcnRlIHdvaG51bmdzbWl0ZW4gKFpvb2ssIDExLiBGZWIgMjAxMywgMTI6NTE6NTApOgp+IyEgcm49QXJzb24gcnQ9MTM2MDE2NTExNyByZz13d3cKfiMhIHRpZD0xMzYwMTY1MTE3CkluIE1hcmJ1cmcgaGFiZW4gc2llIG51biBlaW5lIFNjaHVsZS9IYXVzIGJlc2V0enQuIAoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBNb25zdGVyIGJyYXVjaHQgZGFzIE1HIChCbHV0Z2llciwgIDEuIE1hciAyMDEzLCAxMDo1Mzo1NCk6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1jQmtXaGtBWjlkcwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5ldWUgTW9uc3RlciBicmF1Y2h0IGRhcyBNRyAoUnVtYXRhLCAgMS4gTWFyIDIwMTMsIDExOjA4OjQ2KToKfiMhIHJuPUJsdXRnaWVyIHJ0PTEzNjIxMzE2MzQgcmc9d3d3Cn4jISB0aWQ9MTM2MjEzMTYzNApEYXMgaXN0IGRvY2ggbmUgdmVya2xlaWRldGUgS2F0emUhClJ1bSoqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3ZpZTogVGhlIE1vdmllIDJWIChBbnRoZWEsICAxLiBNYXIgMjAxMywgMTQ6MzM6NDApOgpZb3Ugc2F3IE1vdmllOiBUaGUgTW92aWUuCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj13M053QjlQTHhzcwoKQW5kIHdoYXQgZG8geW91IGRvIGlmIHlvdXIgTW92aWUgaXMgc3VjY2Vzc2Z1bD8gT2YgY291cnNlLCB5b3UgZG8gYSBzZXF1ZWwhCgpTbyBoZXJlIGl0IGlzIQpNb3ZpZTogVGhlIE1vdmllIDJWIQoKaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUlDTU95YndERk4wCgpNYWtpbmcgb2Y6IE1vdmllOiBUaGUgTW92aWUgMlYKCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj11aDg0V1B1cGE5awoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKWmllZ2Vuem90dGVscyBUZXRyaXN2ZXJzY2h3b2VydW5nIChHd2VuLCAgOS4gTWFyIDIwMTMsIDIxOjE0OjAxKToKCmh0dHA6Ly93d3cueW91dHViZS5jb20vdXNlci9yb2NrcmViZWxsP2ZlYXR1cmU9d2F0Y2gKLi4uIHdvbGx0ZSBpY2ggRXVjaCBuaWNodCB2b3JlbnRoYWx0ZW4gOikKR3dlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbmdlciBTY2h3ZWl6ZXIgT2ZmaXppZXJzbWVzc2VyIEdpYW50IChOZWlsLCAyNi4gTWFpIDIwMTMsIDEzOjQ2OjI0KToKR3VkZSwKZGEgaXN0IG1pciBldHdhcyBmZWluZXMgaW5zIE5ldHogZ2VnYW5nZW46Cmh0dHA6Ly93d3cuYW1hem9uLmRlL1dlbmdlci1TY2h3ZWl6ZXItT2ZmaXppZXJzbWVzc2VyLU1lc3Nlci1TY2hhdHVsbGUvZHAvQjAwMApSMEpEU0kvcmVmPXNyXzFfMz9pZT1VVEY4JnFpZD0xMzY5NTY4Mzc3JnNyPTgtMyZrZXl3b3Jkcz1mbHV4a29tcGVuc2F0b3IKCkF1Z2VubWVyayBhdWYgZGllIEt1bmRlbnJlemVuc2lvbmVuLgoKR3J1c3MgCk5laWwgZGFzIFdlaHJzY2hhZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2Fja2VuIGVpbiBTdWVuZGVucGZ1aGwgKE5laWwsIDE4LiBKdWwgMjAxMywgMTc6MDQ6NTkpOgpHdWRlLAppY2ggYmluIG1hbCB3aWVkZXIgdWViZXIgZXR3YXMga3VyaW9zZXMgaW0gTmV0eiBnZXN0b2xwZXJ0LgoKVmllbCBzcGFzcyBkYWJlaS4KaHR0cDovL3d3dy5lbHRlcm4taW0tbmV0ei5uZXQva29sdW1uZW4vcGFydHktaW0tcmFjaGVuLWRlcy10ZXVmZWxzLXRlaWwtMS8KCkdydXNzCk5laWwgZGFzIFdlaHJzY2hhZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdhY2tlbiBlaW4gU3VlbmRlbnBmdWhsIChBcmssIDE4LiBKdWwgMjAxMywgMjA6MzM6NDYpOgp+IyEgcm49TmVpbCBydD0xMzc0MTU5ODk5IHJnPXd3dwp+IyEgdGlkPTEzNzQxNTk4OTkKSW50ZXJlc3NhbnQsIGVzIGdpYnQgTmF6aS1QdW5rZXIgYXVmIGRlbSBGYXNjaG8tRmVzdCBtaXQgR3J1ZnRpcyB1bmQgUHVua3MgLi4uCmtsYXIsIHNvIHNlaGVuIG5hdHVlcmxpY2ggZGllIHR5cGlzY2hlbiBBbmhhZW5nZXIgZGVyIHJlY2h0ZW4gU3plbmUgYXVzLCBkYQppc3QgZWluZXIgdm9tIEZhY2ggZHJhbiwgYW4gZGllc2VtIEFydGlrZWwgOi0pCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYWNrZW4gZWluIFN1ZW5kZW5wZnVobCAoU2FyYXksIDE4LiBKdWwgMjAxMywgMjA6Mzc6MzUpOgp+IyEgcm49QXJrIHJ0PTEzNzQxNzI0MjYgcmc9d3d3Cn4jISB0aWQ9MTM3NDE1OTg5OQpEZXIgUmVwb3J0ZXIgaGVpc3N0IE1hbHRlLi4uIEtsaXNjaGVlcyB3b2xsZW4gYmVkaWVudCB3ZXJkZW4gdW5kIExldXRlLCBkaWUKTmFtZW4gd2llIFNvZXJlbiwgTWFsdGUsIEJyb2RlciBldGMuIHRyYWdlbiwgaGFsdGVuIGF1Y2ggUHVua3MgZnVlciBOYXppcy4gU28KaXN0IGRhcyBlYmVuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogV2Fja2VuIGVpbiBTdWVuZGVucGZ1aGwgKEFyaywgMTguIEp1bCAyMDEzLCAyMDo0MDo1NCk6Cn4jISBybj1TYXJheSBydD0xMzc0MTcyNjU1IHJnPXd3dwp+IyEgdGlkPTEzNzQxNTk4OTkKTWFuIGJlYWNodGUgZGVuIFBvbGwgbGlua3MgLi4uIGlzdCBkYXMgbmUgVmVyYXJzY2hlPyBNdXNzIHdvaGwuCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogV2Fja2VuIGVpbiBTdWVuZGVucGZ1aGwgKEh1bW5pLCAxOC4gSnVsIDIwMTMsIDIxOjExOjI3KToKfiMhIHJuPUFyayBydD0xMzc0MTcyODU0IHJnPXd3dwp+IyEgdGlkPTEzNzQxNTk4OTkKRGFzIGlzdCBlaW5lIFNhdGlyZS1TZWl0ZS4gU2NoYXV0IGRpZSBhbmRlcmVuIEFydGlrZWwgYW4uCgpBYmVyIGVpbmUgZWNodCBndXQgZ2VtYWNodGUuCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogV2Fja2VuIGVpbiBTdWVuZGVucGZ1aGwgKFplc3N0cmEsIDE4LiBKdWwgMjAxMywgMjE6MTM6NTgpOgp+IyEgcm49SHVtbmkgcnQ9MTM3NDE3NDY4NyByZz13d3cKfiMhIHRpZD0xMzc0MTU5ODk5CkplcC4gVW5kIEFGQUlLIGhhYmVuIHNpZSBzY2hvbiBBZWdlciBtaXQgZGVtIFZvcmJpbGQgZ2VoYWJ0LgpPaCwgdW5kIGRhcyBncm9zc2FydGlnc3RlOiBEYSBoYXR0ZSBqZW1hbmQgZWluZSBQZXRpdGlvbiBhbiBkZW4gQnVuZGVzdGFnCmdlcmljaHRldCwgZGFzcyBkaWVzZSBTZWl0ZSBkb2NoIGJpdHRlIGF1cyBkZW0gTmV0eiB2ZXJzY2h3aW5kZW4gbXVlc3Nlbi4gSGF0CnNvZ2FyIGVpbiBwYWFyIE1pdHplaWNobmVyIGdlZnVuZGVuLi4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBXYWNrZW4gZWluIFN1ZW5kZW5wZnVobCAoQW5hdG9sLCAxOS4gSnVsIDIwMTMsIDA5OjQwOjQ0KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM3NDE3NDgzOCByZz13d3cKfiMhIHRpZD0xMzc0MTU5ODk5CkRpZSBLb21tZW50YXJlIHNpbmQgLi4uIGVyaGVsbGVuZC4gTWFuIGxlcm50LCBkYXNzIFNhdGlyZSB6dSBlcmZhc3NlbgpkYXMgZ2Vpc3RpZ2UgVmVybW9lZ2VuIG1hbmNoZXIgdW5zZXJlciBNaXRtZW5zY2hlbiB1ZWJlcnN0ZWlndC4gOy0pCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogV2Fja2VuIGVpbiBTdWVuZGVucGZ1aGwgKEh1bW5pLCAxOS4gSnVsIDIwMTMsIDEwOjMyOjI2KToKfiMhIHJuPUFuYXRvbCBydD0xMzc0MjE5NjQ0IHJnPXd3dwp+IyEgdGlkPTEzNzQxNTk4OTkKRXMgaXN0IGFsbGVyZGluZ3MgZWluIHdlbmlnIHNjaHdpZXJpZy4ga3JldXoubmV0IHdhciBpbW1lcmhpbiBlcm5zdCBnZW1laW50LAp1bmQgZGEgc3RhbmQgYWVobmxpY2hlciBTY2hlaXNzIChhbHMgYmVpbSBXaXRoIEZ1bGwgRm9yY2UtRmVzdGl2YWwgZWluCkdld2l0dGVyIG5pZWRlcmdpbmcgdW5kIGVpbiBwYWFyIExldXRlIGR1cmNoIGVpbmVuIEJsaXR6IHZlcmxldHp0IHd1cmRlbiwKc2NocmllYmVuIGRpZSB3aXJrbGljaCB3YXMgdm9uICJTYXRhbmlzdGVuIiB1bmQgIkdvdHQgc2NoaWNrdGUgenVyIFN0cmFmZQplaW5lbiBCbGl0eiIpLiBJY2ggaGFiIGRhcyBhdWNoIGVyc3RtYWwgZnVlciBoYWxiZXJuc3QgZ2Vub21tZW4sIGJpcyBpY2ggZGVuCkJlcmljaHQgZ2VuYXVlciBnZWxlc2VuIGhhYmUgLSB1bmQgZGFubiBkaWUgQXJ0aWtlbCB1ZWJlciBTY2h3dWxlIGFuIGRlcgpTZWl0ZS4gRGFubiB3YXIgYWxsZXMga2xhciA7LSkKCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWNrZW4gZWluIFN1ZW5kZW5wZnVobCAoQ3JvZnQsIDE5LiBKdWwgMjAxMywgMTA6MzU6MjEpOgp+IyEgcm49SHVtbmkgcnQ9MTM3NDIyMjc0NiByZz13d3cKfiMhIHRpZD0xMzc0MTU5ODk5CkF1ZiAKaHR0cDovL3d3dy5sZWdhY3kuZGUvbmV3c2ZsYXNoL211c2ljLW5ld3MvaXRlbS8yMjY5MC13aXRoLWZ1bGwtZm9yY2UtZGllLXN0cmFmCmUtZ290dGVzCmthbm4gbWFuIGRhcyBub2NoIG5hY2hsZXNlbi4KCkNyb2Z0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiBXYWNrZW4gZWluIFN1ZW5kZW5wZnVobCAoUnVtYXRhLCAxOS4gSnVsIDIwMTMsIDExOjA1OjA4KToKfiMhIHJuPUh1bW5pIHJ0PTEzNzQyMjI3NDYgcmc9d3d3Cn4jISB0aWQ9MTM3NDE1OTg5OQpBbHNvLCBkaWUgU2VpdGUgaXN0IHNjaG9uIGVpbmUga25pZmZsaWdlcmVuLiBFcnN0IGRpZSBTY2h3dWxlbnVtZnJhZ2UKZGllIEFydGlrZWxmcmVxdWVueiB1bmQgZGFzIEltcHJlc3N1bSBnYWJlbiBkZW4gQXVzc2NobGFnLgoKQWJlciBzbyByaWNodGlnIGRvbGxlIGZpbmRlIGljaCBkaWUgU2VpdGUgdHJvdHpkZW0gbmljaHQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUaGUgQmVhcmQgTWFzdGVyISAoUmhvdmFuLCAyOC4gQXVnIDIwMTMsIDIzOjExOjQ4KToKR3VkZSwKb2IgZXMgZGllc2VzIGltYmEgaXRlbSBqZW1hbHMgaW5zIE1HIHNjaGFmZmVuIHd1ZXJkZT8gOm8pCmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1VRXp2YzJQdWVxOAoKZ3J1c3MKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogVGhlIEJlYXJkIE1hc3RlciEgKEFyaywgMjguIEF1ZyAyMDEzLCAyMzo1MTozNSk6Cn4jISBybj1SaG92YW4gcnQ9MTM3NzcyNDMwOCByZz13d3cKfiMhIHRpZD0xMzc3NzI0MzA4CkphLCBpY2ggc2NobGllc3NlIG1pY2ggYW4gLi4uIHdhcyBoYWIgaWNoIG1pciBkYSBnZXJhZGUgYW5nZXNlaGVuPyA6KQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBUaGUgQmVhcmQgTWFzdGVyISAoQXJrLCAyOS4gQXVnIDIwMTMsIDAwOjAxOjA1KToKfiMhIHJuPVJob3ZhbiBydD0xMzc3NzI0MzA4IHJnPXd3dwp+IyEgdGlkPTEzNzc3MjQzMDgKRGFiZWkgaXN0IG1pciBhYmVyIGVpbiB2aWVsIGNvb2xlcmVzIEZpbG1jaGVuIHVudGVyZ2Vrb21tZW46Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1DM1VlMUFYU3p5dwpXaXJrbGljaCwgd2lya2xpY2ggY29vbCA6LSkKCgogICAgICAgICAgICAgICoqKiBBUksgKiB0aGUgKiBNYWduaWZpY2VudCAqKioKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpEZXIgU3RvZXJmYWxsIChOZWlsLCAyOS4gQXVnIDIwMTMsIDIwOjE0OjIwKToKR3VkZSwKbWFsIGV0d2FzIG5pY2h0IGdhbnogc28gdmVyc3RvZXJlbmRlcyA6bykKRGVyIFN0b2VyZmFsbApodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dWtlRnY5VUJrSEUKCmdydXNzClJob3ZhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IERlciBTdG9lcmZhbGwgKFJ1bWF0YSwgMzAuIEF1ZyAyMDEzLCAxNjo0NjoyMCk6Cn4jISBybj1OZWlsIHJ0PTEzNzc4MDAwNjAgcmc9d3d3Cn4jISB0aWQ9MTM3NzgwMDA2MApXaXIgd2VyZGVuIGFsbGUgU3RvZXItYmVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTk5OCAuLi4gKEdsb2luc29uLCAyNS4gT2t0IDIwMTMsIDE0OjQ2OjQ2KToKCi4uLiB3YXIgZGFzIE1VSCBzdGFyayBpbiB2aWVsZW4gdm9uIHVucyEKCmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Y0NZRmJ4dGJSSDQjdD0xMzMKCihLZXZpbiBQcmluY2UgQm9hdGVuZykKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpMRE1VRCAzLjUgKyBNRyAoR2xvaW5zb24sIDI5LiBPa3QgMjAxMywgMDE6NTE6NDYpOgpLbGVpbmUgUGxheWxpc3Q6Cmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3BsYXlsaXN0P2xpc3Q9UExRVUFMZlZuNHVqWG52aGZ1cVNYYVBiZXFPYU51RG9vLQoKSWNoIGxhZGUgbWlyIHNvbGNoZW4gS3JhbSBnZXJuIG1pdCBKRG93bmxvYWRlciBoZXJ1bnRlciwgdW0gZXMgZGFubiBtaXQgVkxDCmV0d2FzIHNjaG5lbGxlciBhbnp1c2VoZW4uIEhpZXIgc2luZCBzbyBtaW5kZXN0ZW5zIDE2MCUgc2lubnZvbGwsIGljaCBoYWIKbmljaHQgdmllbCBFcmZhaHJ1bmcgbWl0IGdsZWljaHplaXRpZ2VtIFNjaHJlaWJlbiB1bmQgU3ByZWNoZW4gOikKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTERNVUQgMy41ICsgTUcgKEh1bW5pLCAyOS4gT2t0IDIwMTMsIDEyOjE5OjU2KToKfiMhIHJuPUdsb2luc29uIHJ0PTEzODMwMDc5MDYgcmc9d3d3Cn4jISB0aWQ9MTM4MzAwNzkwNgpBaCwgcHJpbWEgU2FjaGUhCgpIdW1uaQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3VjaGUgV2ViZGllbnN0Li4uIChBbmF0b2wsICA0LiBOb3YgMjAxMywgMTM6NDI6NDIpOgouLi4gZGVyIGVpbmUgem9vbWJhcmUgRGV1dHNjaGxhbmRrYXJ0ZSBiZXJlaXRzdGVsbHQsIGluIGRlciBtYW4Kc2VsYnN0IGJpcyB6dSAyMDAgZWlnZW5lIFB1bmt0ZS9WZXJiaW5kdW5nZW4gaGF0IGVpbnRyYWdlbiBrb2VubmVuLgoKS2VubnQgamVtYW5kIHNvd2FzPyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdWNoZSBXZWJkaWVuc3QuLi4gKFpvb2ssICA0LiBOb3YgMjAxMywgMTU6MTM6NTEpOgp+IyEgcm49QW5hdG9sIHJ0PTEzODM1Njg5NjIgcmc9d3d3Cn4jISB0aWQ9MTM4MzU2ODk2MgpPU00/CloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBnZWlsIGlzdCBkYXMgZGVubi4uLiAoR3dlbiwgMTYuIE5vdiAyMDEzLCAxMjo0Mjo1Mik6Cmh0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj05RXEzclMtU3hiRQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2lybHMhIChSdW1hdGEsIDIwLiBOb3YgMjAxMywgMTI6MjM6MTEpOgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVVGcGUzVXA5VF9nCk5ldHQsIGFiZXIgYW0gRW5kZSBpc3RzIGRvY2ggd2llZGVyIHdhcyBnZS1mYXJiLWdlbmRlcnRlcy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHaXJscyEgKEhpZ2hsYW5kZXIsIDI3LiBOb3YgMjAxMywgMTA6MDI6MDUpOgp+IyEgcm49UnVtYXRhIHJ0PTEzODQ5NDY1OTEgcmc9d3d3Cn4jISB0aWQ9MTM4NDk0NjU5MQpWaWRlbyBpc3QgbGVpZGVyIGF1ZiBwcml2YXQgZ2VzdGVsbHQuCgpIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHaXJscyEgKEFudGhlYSwgMjcuIE5vdiAyMDEzLCAxMDowNTo1OSk6Cn4jISBybj1SdW1hdGEgcnQ9MTM4NDk0NjU5MSByZz13d3cKfiMhIHRpZD0xMzg0OTQ2NTkxCkR1IGJpc3QgaGFsdCBlaW5mYWNoIHp1IHNwYWV0LiBBbHMgUnVtYXRhIGRhcyBnZXBvc3RldCBoYXQsIHdhciBlcyBub2NoCmVpbmZhY2ggenUgc2VoZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEdpcmxzISAoUnVtYXRhLCAyNy4gTm92IDIwMTMsIDEwOjIwOjUwKToKfiMhIHJuPUFudGhlYSBydD0xMzg1NTQzMTU5IHJnPXd3dwp+IyEgdGlkPTEzODQ5NDY1OTEKV2llc28genVtIEdlaWVyIGlzdCBkYXMgbnVuIHByaXZhdD8gCkVzIGdpbmcgamVkZW5mYWxscyB1bSBCYXUtU3BpZWx6ZXVnIGZ1ZXIgTWFlZGVscywgZGFzIHNpY2ggdm9tCkp1bmdlbnNwaWVsemV1ZyBoYXVwdHNhZWNobGljaCBkdXJjaCBkaWUgRmFyYmUgdW50ZXJzY2hpZWQuIFVuZCBpbQpWaWRlbyB3YXIgZWluZSBMdXN0aWdlIFJ1YmUtR29sZGJlcmctTWFzY2hpbmUsIGZ1ZXIgZGllIG5hdHVlcmxpY2gga2VpbgpLaW5kIGRlciBXZWx0IGdlbnVnIEJhdXN0ZWluZSBpbSBIYXVzIGhhYmVuIHdpcmQuIEdlbmF1c28gd2llIGJlaSBkaWVzZXIKbW9tZW50YW4gZ2VoeXB0ZW4gTGVnbyBXZXJidW5nICh1bmQgd2lyIGhhYmVuIHNjaG9uIFZJRUwpLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogR2lybHMhIChIdW1uaSwgMjcuIE5vdiAyMDEzLCAyMTowMDozNCk6Cn4jISBybj1SdW1hdGEgcnQ9MTM4NTU0NDA1MCByZz13d3cKfiMhIHRpZD0xMzg0OTQ2NTkxCkljaCBtb2VjaHRlIGJldG9uZW4sIGRhc3MgaWNoIGRlbiBCZWdyaWZmICJSdWJlLUdvbGRiZXJnLU1hc2NoaW5lIiBoZXV0ZSB6dW0KZXJzdGVuIE1hbCBnZWhvZXJ0IGhhYmUuIAoKQWJlciBpY2ggaGFiZSBuYXR1ZXJsaWNoIHNvZm9ydCBuYWNoZ2VzY2hsYWdlbiwgdW5kIGRhIGljaCBkZW4gU3BvdCBrZW5uZSwKd3Vzc3RlIGljaCwgd29ydW0gZXMgZ2VodC4KCkh1bW5pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcHBzIGZ1ZXIgQmxpbmRlIChHd2VuLCAxMC4gRGV6IDIwMTMsIDA3OjQzOjI5KToKQmVpIGdlb2VmZm5ldGVuIERvc2VuIGthbm4gbWFuIGphIGVpbmZhY2ggZHJhbiBzY2hudXBwZXJuLiBBYmVyIHdpZSBrcmllZ3QgbWFuCmVpbmZhY2ggcmF1cywgd2FzIGRpZSBnZXNjaGxvc3NlbmUgRERvc2UgZW50aGFlbHQ/IERhIGtvZW5udGUgc28gbmUgQXBwCmhlbGZlbi4KTGllc3Qgc2ljaCB6dW1pbmRlc3QgaW50ZXJlc3NhbnQ6Cmh0dHA6Ly9tLmhlaXNlLmRlL2l4L2FydGlrZWwvU21hcnRlLUF1Z2VuLTIwNDQ1NDguaHRtbD9mcm9tLWNsYXNzaWM9MQpHcnVlc3NlLCBHd2VuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKSXRhbGllbi1FbmdsaXNoIChOZWlsLCAyNi4gRGV6IDIwMTMsIDEzOjMyOjUyKToKR3VkZSwKZWluIHdlbmlnIHVybGF1YnNmZWVsaW5nIGZ1ZXIgZXVjaCA6UApodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZkFlRV9sWWJULUUKCmdydXNzCk5laWwgZGFzIFdlaHJzY2hhZgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJlaWhhbmRlbHNhYmtvbW1lbiBpc3QgZG9vZiEgKFZhbmlyLCAgNC4gRmViIDIwMTQsIDIyOjUyOjU0KToKRGFzIEZyZWloYW5kZWxzYWJrb21tZW4gc3RlaHQgdm9yIGRlciBUdWVyIHVuZCBkYW1pdCBhdWNoIENobG9yaHVlbmNoZW4gdW5kCkdlbmZvb2QgYXVmIHVuc2VyZW4gVGVsbGVybi4gRGllIEZvbGdlbiBzaW5kIG1laW5lciBNZWludW5nIG5hY2ggdmVyaGVlcmVuZApmdWVyIGRlbiBWZXJicmF1Y2hlcnNjaHV0eiBpbiBERSB1bmQgRVUuIApGb2xnZW5kZW4gbGluayBoYWJlIGljaCB2b24gZWluZW0gZnJldW5kIHBlciBlbWFpbCBlcmhhbHRlbiB1bmQgbWFuIGthbm4gc2ljaApkb3J0IHVlYmVyIHdlaXRlcmUgRm9sZ2VuIGRlcyBGcmVpaGFuZGVsc2Fia29tbWVucyBpbmZvcm1pZXJlbiB1bmQgZGFnZWdlbgpzZWluZSBVbnRlcnNjaHJpZnQgbGVpc3RlbiAoYXVjaCBhdWYgZGVyIHdlYnNpdGUpLiAKU2NoYXV0IGVzIGV1Y2ggYW4gdW5kIHVudGVyemVpY2huZXQuIFZpZWxsZWljaHQgaGlsZnQgZGFzIGV0d2FzLgoKaHR0cDovL3Vtd2VsdGluc3RpdHV0Lm9yZy9mcmVpaGFuZGVsc2Fia29tbWVuL2FsbGdlbWVpbmVzL2ZyZWloYW5kZWxzYWJrb21tZW4tCnZlcmhpbmRlcm4tMTE0NC5odG1sCmh0dHA6Ly90aW55dXJsLmNvbS9zY2hlaXNzLWFia29tbWVuCgpWLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQWVuZGVydW5nZW4gaW4gTUctV2lraXBlZGlhLUFydGlrZWwgKE5vaywgIDcuIEZlYiAyMDE0LCAwNDo0OTowNSk6CkljaCBoYWJlIG1hbCBlaW5pZ2UgRXJnYWVuenVuZ2VuLCBkaWUgaWNoIGltIGVuZ2xpc2NoZW4gTW9yZ2VuZ3JhdWVuLUFydGlrZWwKdm9yZ2Vub21tZW4gaGF0dGUsIGluIGRlbiBkZXV0c2NoZW4gQXJ0aWtlbCB1ZWJlcnRyYWdlbi4gV2VubiBub2NoIHdlbSB3YXMKYXVmZmFlbGx0LCBrYW5uIGVyIGVzIGdlcm4gZXJnYWVuemVuLgoKTm9rIGkudi4gS2hpZGFyLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFlbmRlcnVuZ2VuIGluIE1HLVdpa2lwZWRpYS1BcnRpa2VsIChab29rLCAgNy4gRmViIDIwMTQsIDE2OjM2OjI0KToKfiMhIHJuPU5vayBydD0xMzkxNzQ0OTQ1IHJnPXd3dwp+IyEgdGlkPTEzOTE3NDQ5NDUKT2gsIGRlbiBkZXV0c2NoZW4gaGF0dGUgZGllIFdpa2lwZWRpYSBqYSBtYWwgbWFuZ2VscwpSZWxldmFueiBnZWxvZXNjaHQuIElzdCBkZXIgd2llZGVyIGRhPwoKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBZW5kZXJ1bmdlbiBpbiBNRy1XaWtpcGVkaWEtQXJ0aWtlbCAoWmVzc3RyYSwgIDcuIEZlYiAyMDE0LCAxOTozOTo0OSk6Cn4jISBybj1ab29rIHJ0PTEzOTE3ODczODQgcmc9d3d3Cn4jISB0aWQ9MTM5MTc0NDk0NQpEZXIgd3VyZGUgYmVpbSBsZXR6dGVuIE1hbCB2ZXJ0ZWlkaWd0LCBqYS4gRGllIEZyYWdlIGlzdCwgd2llIGxhbmdlIGVzIGRhdWVydCwKYmlzIGRpZSBSZWxldmFuemFwb2xvZ2V0ZW4gaWhuIHdpZWRlciBiZW1lcmtlbi4KClplc3N0cmEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFlbmRlcnVuZ2VuIGluIE1HLVdpa2lwZWRpYS1BcnRpa2VsIChab29rLCAgOC4gRmViIDIwMTQsIDExOjQ3OjQ3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTM5MTc5ODM4OSByZz13d3cKfiMhIHRpZD0xMzkxNzQ0OTQ1Ck9oLCBoYXR0ZSBpY2ggZ2FyIG5pY2h0IG1pdGJla29tbWVuLiAKCloKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEFlbmRlcnVuZ2VuIGluIE1HLVdpa2lwZWRpYS1BcnRpa2VsIChab29rLCAgOC4gRmViIDIwMTQsIDExOjU0OjE3KToKfiMhIHJuPVpvb2sgcnQ9MTM5MTg1NjQ2NyByZz13d3cKfiMhIHRpZD0xMzkxNzQ0OTQ1CkhhYmUgaWhuIG1hbCB1ZWJlcmZsb2dlbi4gSWRlZW4gZnVlciBFcmdhZW56dW5nZW4gKG1hY2hlCmljaCBzb25zdCBkaWUgVGFnZSBhdWNoIG1hbCBzZWxic3QsIGhhYiBudXIgZ3JhZCBuaWNodCBzbyAKZGllIFRpcHAtSW5zcGlyYXRpb24pOgotIFJhc3NlIE9yayBmZWhsdAotIEdpbGRlIFdlcndvZWxmZSBmZWhsdAotIFNwaWVsZXJ6YWhsZW4gdmVyYWx0ZXQgKDIwMDkpCi0gRGllIEhJbGZlc2VpdGUgenUgU3R1ZmVucHVua3RlbiBpc3QgZXJyZWljaGJhciB1ZWJlcjoKaHR0cDovL21nLm11ZC5kZS9jZ2ktYmluL21nbi1kb2Mtc2VhcmNoP2hlbHAvc3R1ZmVucHVua3RlCgpTaW5kIG51ciBlaW4gcGFhciBJZGVlbiwgaWNoIG1hY2ggbWljaCB2bGwgYXVjaCBzZWxic3QgbWFsCmRyYW4uCgpab29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBBZW5kZXJ1bmdlbiBpbiBNRy1XaWtpcGVkaWEtQXJ0aWtlbCAoTm9rLCAgOS4gRmViIDIwMTQsIDAwOjUwOjU4KToKfiMhIHJuPVpvb2sgcnQ9MTM5MTg1Njg1NyByZz13d3cKfiMhIHRpZD0xMzkxNzQ0OTQ1CkljaCBoYWx0ZSBlcyBhYiBlaW5lciBnZXdpc3NlbiBaYWhsIFJhc3NlbiB1bmQgR2lsZGVuIG5pY2h0IG1laHIgZnVlcgplbXBmZWhsZW5zd2VydCwgYWxsZSBlcnNjaG9lcGZlbmQgYXVmenV6YWVobGVuLCBlaGVyIHNvbGx0ZSBtYW4gbU1uIGVpbmlnZQpleGVtcGxhcmlzY2ggYXVmemFlaGxlbiB1bmQgZGllIEdlc2FtdHphaGwgbmVubmVuLCB3aWUgZXMgaW0gZW5nbGlzY2hlbgpBcnRpa2VsIGlzdC4KCkljaCB1ZWJlcmxlZ2Ugbm9jaCwgb2IgaWNoIGVpbmVuIGtsZWluZW4gQWJzY2huaXR0IHp1ciBTY3JpcHRyZWdlbHVuZwplaW5mdWVnZSwgd2llIGVzIGltIEVuZ2xpc2NoZW4gaXN0LgoKTm9rIGkuVi52LiBLaGlkYXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBBZW5kZXJ1bmdlbiBpbiBNRy1XaWtpcGVkaWEtQXJ0aWtlbCAoWm9vaywgIDkuIEZlYiAyMDE0LCAxNjoxNDo1MSk6Cn4jISBybj1Ob2sgcnQ9MTM5MTkwMzQ1OCByZz13d3cKfiMhIHRpZD0xMzkxNzQ0OTQ1CkphLCBhdWNoIGVpbmUgZ3V0ZSBJZGVlLiBOdXIgc28gd2llIGVzIGdlc2NocmllYmVuIHN0YW5kLCBoYXR0ZQppY2ggZGVuIEVpbmRydWNrLCBlcyBzb2xsdGUgImVyc2Nob2VwZmVuZCIgYWxsZSBGZWF0dWVyZXMgCmRhcmdlc3RlbGx0IHdlcmRlbi4KClpvb2sKWm9vawoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU28gaXNzZXMhIChBcmssIDEzLiBGZWIgMjAxNCwgMjA6MDE6NTcpOgpodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RFl1X2JHYlppaVEKClNjaG8gcmVjaHQsIGdlc3BvbnNlcnQgdW5kIGFsbGVzLCBhYmVyIHRyb3R6ZGVtIGRpZSBnYW56ZSBQYWxldHRlIHZvbiBHZW5lcnZlCjotKQoKCiAgICAgICAgICAgICAgKioqIEFSSyAqIHRoZSAqIE1hZ25pZmljZW50ICoqKgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpZSBnZXdpbm50IG1hbiBiZWkgc2Nobmljay1zY2huYWNrLXNjaG51Y2s/IERpZSBjaGluZXNlbiB3aXNzZW4gZXMgKFRpbiwgIDUuIE1haSAyMDE0LCAyMDoyNzoxMyk6Cmh0dHA6Ly93d3cubjI0LmRlL24yNC9OYWNocmljaHRlbi9QYW5vcmFtYS9kLzQ2OTE0Njgvd2llLW1hbi1iZWktLXNjaG5pY2stc2NobgphY2stc2NobnVjay0tZ2V3aW5udC5odG1sCmZhbHMgZGFzIGluIGRlciBhbmRlcmVuIHJ1YnJpayB1bnRlcmdlaHQuCjpncmluc3QuCnRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZSBNb25zdGVyIGJyYXVjaHQgZGFzIExhbmQuIChSaG92YW4sICA3LiBNYWkgMjAxNCwgMjE6MjA6NTYpOgpCaW4gYmVpIFlvdVR1YmUgd2llZGVyIGF1ZiBlaW4gTW9uc3RlciBnZXN0b3NzZW4uCgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PURsUzN3MUdHRThnCgpHcnVzcwpSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkh1cGVuIChSaG92YW4sIDE5LiBKdW4gMjAxNCwgMDA6MTA6MjEpOgpHdWRlLAptYWwgd2FzIGdlZ2VuIHNjaGxlY2h0ZSBsYXVuZToKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BNUZQa1RkMkRUWQoKR3J1c3MKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogSHVwZW4gKFplc3N0cmEsIDE5LiBKdW4gMjAxNCwgMDA6MTM6MjQpOgp+IyEgcm49UmhvdmFuIHJ0PTE0MDMxMjk0MjEgcmc9d3d3Cn4jISB0aWQ9MTQwMzEyOTQyMQpEYXMgaXN0IHZlcndhbmR0IG1pdCByaWNrcm9sbGVuLCBvZGVyPwoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBIdXBlbiAoQW1hcnlsbGlzLCAxOS4gSnVuIDIwMTQsIDAwOjE3OjE3KToKfiMhIHJuPVplc3N0cmEgcnQ9MTQwMzEyOTYwNCByZz13d3cKfiMhIHRpZD0xNDAzMTI5NDIxCkljaCBoYXR0ZSBqYSBiZWkgIkh1cGVuIiBhdWYgd2FzIGFuZGVyZXMgZ2Vob2ZmdC4uLgoKQW1hKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogSHVwZW4gKE11bmRyb24sIDE5LiBKdW4gMjAxNCwgMDc6NTQ6NDUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MDMxMjk4Mzcgcmc9d3d3Cn4jISB0aWQ9MTQwMzEyOTQyMQp3b2JlaSBpY2ggZGllIElkZWUgc2Nob24gYW11ZXNhbnQgZmFuZC4gQWJlciBiaXMgenVtIEVuZGUga29ubnRlIGljaCBlcyBtaXIKbmljaHQgYW5zZWhlbi4gSXN0IG5pY2h0IHNvIGdhbnogbWVpbiBNdXNpa2dlc2NobWFjay4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IEh1cGVuIChBbnRoZWEsIDIwLiBKdW4gMjAxNCwgMDk6NDE6MjMpOgp+IyEgcm49TXVuZHJvbiBydD0xNDAzMTU3Mjg1IHJnPXd3dwp+IyEgdGlkPTE0MDMxMjk0MjEKVW5kIGRhcyBnZWh0IG5lIFZpZXJ0ZWxzdHVuZGUgc28gd2VpdGVyPyBBdXRzY2guClVuZCBuZXUgaXN0IGRhcyBaZXVjaCBhdWNoIG5pY2h0LCBzbyBIdXBlbmFuenVlZ2UgZ2lidHMgc2Nob24gYmFsZCBzZWl0CkphaHJodW5kZXJ0ZW4gaW0gWmlya3VzIG9kZXIgYmVpIFN0cmFzc2Vua3VlbnN0bGVybi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBIdXBlbiAoR2xvaW5zb24sIDIwLiBKdW4gMjAxNCwgMTE6MDY6NTkpOgp+IyEgcm49UmhvdmFuIHJ0PTE0MDMxMjk0MjEgcmc9d3d3Cn4jISB0aWQ9MTQwMzEyOTQyMQpEaWUgR2FydGVuendlcmdlISBESUUgR0FSVEVOWldFUkdFISBEQVMgR1JBVUVOIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogSHVwZW4gKFJ1bWF0YSwgMjMuIEp1biAyMDE0LCAxNTozNDo0MCk6Cn4jISBybj1HbG9pbnNvbiBydD0xNDAzMjU1MjE5IHJnPXd3dwp+IyEgdGlkPTE0MDMxMjk0MjEKQXVzc2VyZGVtIHdhZXJlIGRhcyBpbiBBa2FodXBhIGJlc3Nlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldlbGNoZXIgR29UIENoYXJha3RlciBiaXMgZHU/IChSdW1hdGEsIDI1LiBKdW4gMjAxNCwgMTE6NDQ6NDYpOgpodHRwOi8vdGhlb2F0bWVhbC5jb20vcXVpei9nb3RfY2hhcmFjdGVyCgpIb2RvciEgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp1ZWJlcndhY2h1bmdzd2FobiAoUnVtYXRhLCAgNS4gSnVsIDIwMTQsIDE3OjE2OjA1KToKSW0gTGljaHRlIGRlciBVZWJlcndhY2h1bmdzc2thbmRhbGUgbXVzcyBtYW4gc2ljaCB1bmQgc2VpbmUgTGllYnN0ZW4Kc2NodWV0emVuOiBodHRwOi8vdGlueXVybC5jb20vbnZkeGd2eAoKUnVtKioKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmxlY2tlcj8gKFZhbmlyLCAgNy4gSnVsIDIwMTQsIDIyOjQ0OjE0KToKCk5hIGRhbm4gd3VlbnNjaGUgaWNoIG1hbCBndXRlbiBBcHBldGl0OgpodHRwOi8vd3d3LnNveWxlbnQubWUvCgpWLgoKUFM6IGZ1ZXIgc2VsYmVybWl4ZXI6IGRpeS5zb3lsZW50Lm1lClBTUzogQmVyaWNodGV0IHVlYmVyIEVyZmFocnVuZ2VuLCB3ZW5uIGlociBkYXMgdGVzdGV0IQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGxlY2tlcj8gKFplc3N0cmEsICA3LiBKdWwgMjAxNCwgMjI6NDc6MjQpOgp+IyEgcm49VmFuaXIgcnQ9MTQwNDc2NTg1NCByZz13d3cKfiMhIHRpZD0xNDA0NzY1ODU0CldpciBrb2VubnRlbiB1bnMgamEgZ2VtZWluc2FtIHdhcyBmdWVyIGRpZSBQYXJ0eSBiZXN0ZWxsZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGxlY2tlcj8gKFZhbmlyLCAgNy4gSnVsIDIwMTQsIDIyOjUwOjExKToKfiMhIHJuPVplc3N0cmEgcnQ9MTQwNDc2NjA0NCByZz13d3cKfiMhIHRpZD0xNDA0NzY1ODU0Ck5ldyBPcmRlcnMgd2lsbCBzaGlwIGluIDEwLTEyIHdlZWtzLgoKSWNoIGdsYXViZSB3aXIgd2VyZGVuIHVucyBkYW5uIHdvaGwgaGVya29lbW1saWNoIGVybmFlaHJlbiBtdWVzc2VuLgoKR3JpbGxlbj8KVi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGxlY2tlcj8gKFplc3N0cmEsICA3LiBKdWwgMjAxNCwgMjI6NTM6NTYpOgp+IyEgcm49VmFuaXIgcnQ9MTQwNDc2NjIxMSByZz13d3cKfiMhIHRpZD0xNDA0NzY1ODU0CkF1ZiBHcmlsbHMga2FubiBtYW4gamEgdmllbGVzIGRyYXVmIHBhY2tlbi4KQWJlciBpY2ggZGVua2UsIGVzIGZpbmRldCBzaWNoIGdlbnVnIGxlY2tlcmVzLgoKWmVzc3RyYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogbGVja2VyPyAoSHVyYXhwcmF4LCAgOC4gSnVsIDIwMTQsIDE3OjUzOjIxKToKfiMhIHJuPVplc3N0cmEgcnQ9MTQwNDc2NjQzNiByZz13d3cKfiMhIHRpZD0xNDA0NzY1ODU0CklociBLYW5uaWJhbGVuIQoob2RlciBpc3QgZGFzIG51ciBkaWUgZ3J1ZW5lIFZhcmlhbnRlPykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGxlY2tlcj8gKFJ1bWF0YSwgIDguIEp1bCAyMDE0LCAxODozMToyMik6Cn4jISBybj1IdXJheHByYXggcnQ9MTQwNDgzNDgwMSByZz13d3cKfiMhIHRpZD0xNDA0NzY1ODU0Ck5laW4sIGRhcyB3YWVyZSBLYW5uaWJhbGlzbXVzLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRnJhbmtmdXJ0IFdhcnMgKEFyaywgIDguIEp1bCAyMDE0LCAxODo1MjozMyk6CldpciBzaW5kIHNlaHIgZm9ydHNjaHJpdHRsaWNoIGdld29yZGVuIGFtIFN0YXJwb3J0IEZyYW5rZnVydCAuLi4KaHR0cDovL3lvdXR1LmJlL1NucGgyMnFTVU1VCgoKICAgICAgICAgICAgICAqKiogQVJLICogdGhlICogTWFnbmlmaWNlbnQgKioqCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGV1dHNjaGxhbmQgLSBCcmFzaWxpZW4gKEFtYXJ5bGxpcywgMTIuIEp1bCAyMDE0LCAwMDoyMzo0Myk6Cmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Z0JGOU1Vc05Va1EKCkFtYSogOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBlcnNvbmVucmF0ZW4gYXVmIGhvaGVtIE5pdmVhdSAgKFNhcmF5LCAxMC4gQXVnIDIwMTQsIDE0OjI2OjQ0KToKd3d3LmFraW5hdG9yLmNvbQoKR2FueiB3aXR6aWcuIEhhYnMgZXJzdCAyeCBnZXNjaGFmZnQsIGRhc3MgbWVpbmUgRmlndXIgbmljaHQgZXJyYXRlbiB3dXJkZSA6LUQuClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUGVyc29uZW5yYXRlbiBhdWYgaG9oZW0gTml2ZWF1ICAoWm9vaywgMTMuIEF1ZyAyMDE0LCAxOTo0Nzo0NCk6Cn4jISBybj1TYXJheSBydD0xNDA3NjczNjA0IHJnPXd3dwp+IyEgdGlkPTE0MDc2NzM2MDQKYWxzbyBtaWNoIGhhdCBlciBuaWNodCBlcnJhdGVuOyBlciB0aXBwdGUgYXVmIGFiZHVsIApuYWNodGlnYWxsZXIuCgp6b29rCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFBlcnNvbmVucmF0ZW4gYXVmIGhvaGVtIE5pdmVhdSAgKFZhbmlvbiwgMTMuIEF1ZyAyMDE0LCAyMToxNjoxNSk6Cn4jISBybj1ab29rIHJ0PTE0MDc5NTIwNjQgcmc9d3d3Cn4jISB0aWQ9MTQwNzY3MzYwNApDYXJsIFNhZ2FuIGhhdCBlciBlcnJhdGVuLiBIYXQgYWJlciAxNyBWZXJzdWNoZSBnZWJyYXVjaHQuCgpWKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUGVyc29uZW5yYXRlbiBhdWYgaG9oZW0gTml2ZWF1ICAoVmFuaW9uLCAxMy4gQXVnIDIwMTQsIDIxOjIyOjUxKToKfiMhIHJuPVZhbmlvbiBydD0xNDA3OTU3Mzc1IHJnPXd3dwp+IyEgdGlkPTE0MDc2NzM2MDQKTnVuIGhhYmUgaWNoIHZvbiBTaWVib2xkCihodHRwOi8vZGUud2lraXBlZGlhLm9yZy93aWtpL1BoaWxpcHBfRnJhbnpfdm9uX1NpZWJvbGQpIGJlc2NocmllYmVuIHVuZCBlcgprYW0gYXVmIFJvYmVydCBLb2NoLiBOYWphLCBzY2hvbiBuYWNodm9sbHppZWhiYXIsIGVzIGdpYnQgamEga2VpbmUgendlaSB0b3RlbgpkZXV0c2NoZW4gTWVkaXppbmVyLiBEZXIgaGFtbWVyIGlzdCBhYmVyLCBkYXNzIGRhcyBCaWxkIGRlcyBkZXJ6ZWl0IG5vY2gKbGViZW5kZW4gTmFtZW5zaW5oYWJlcnMgYW5nZXplaWd0IHd1cmRlLiBIYWIgbWljaCB2ZXJzY2hsdWNrdC4KClYqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBQZXJzb25lbnJhdGVuIGF1ZiBob2hlbSBOaXZlYXUgIChTYXJheSwgMTQuIEF1ZyAyMDE0LCAyMTozMjo0Myk6Cn4jISBybj1WYW5pb24gcnQ9MTQwNzk1Nzc3MSByZz13d3cKfiMhIHRpZD0xNDA3NjczNjA0ClVudGVyaGFsdHNhbSBmaW5kIGljaHMgZHVyY2hhdXMgOi1ELgpXaWUsIGVyIGhhdCBkaWNoIG5pY2h0IGVycmF0ZW4sIFpvb2s/IFNvIHdhcyBhYmVyIGF1Y2ggXl4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBQZXJzb25lbnJhdGVuIGF1ZiBob2hlbSBOaXZlYXUgIChIdW1uaSwgMTcuIEF1ZyAyMDE0LCAxMjoyNDozMyk6Cn4jISBybj1TYXJheSBydD0xNDA4MDQ0NzYzIHJnPXd3dwp+IyEgdGlkPTE0MDc2NzM2MDQKQWxzbywga2xhciwgdW5zZXJlbiBIdW5kIHdpcmQgZXIgYXVjaCBuaWNodCBlcnJhdGVuLCBhYmVyIGVyIGhhdCBzY2hvbiBlaW5pZ2UKZWNodCBpbnRlcmVzc2FudGUgUm9tYW5maWd1cmVuIGdlZnVuZGVuLiBBYnNvbHV0ZSBOZWJlbmNoYXJha3RlcmUgbmljaHQsIGFiZXIKd2FzIG1laHIgb2RlciB3ZW5pZ2VyIEhhdXB0cm9sbGUgaXN0LCBrcmllZ3QgZGVyIG9mdCByYXVzLgoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFBlcnNvbmVucmF0ZW4gYXVmIGhvaGVtIE5pdmVhdSAgKFNhcmF5LCAxNy4gQXVnIDIwMTQsIDIwOjI3OjEwKToKfiMhIHJuPUh1bW5pIHJ0PTE0MDgyNzEwNzMgcmc9d3d3Cn4jISB0aWQ9MTQwNzY3MzYwNApKYSwgT3kgLSBvZGVyIG9pPyAtIGF1cyBkZW0gZHVua2xlbiBUdXJtIHpiLiBKYSwgc2ljaGVybGljaCBiZWthbm50LCBhYmVyCmx1c3RpZyBmYW5kIGljaHMgdHJvdHpkZW0uClNhcmF5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgp0ZW4gc2Vjb25kIHNvbmdzIChSdW1hdGEsICA5LiBTZXAgMjAxNCwgMTg6NTY6MDgpOgpEYXMgaXN0IE1ldGFsbGVyZnJldW5kbGljaCA6KQpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXVyeldZNnNxVkd3CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXMgdWViZXIgVHJvbGxlIGluIGRlciBGQVogKFJ1bWF0YSwgMjAuIFNlcCAyMDE0LCAyMToyMDo0Mik6CkF1cyBnZWdlYmVuZW0gQW5sYXNzOgpodHRwOi8vcHJldmlldy50aW55dXJsLmNvbS9ua3Zheng0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpXYXJ1bSBXaW5kb3dzIDEwIG5pY2h0IFdpbmRvd3MgOSBoZWlzc3QuLi4gKEFtYXJ5bGxpcywgIDIuIE9rdCAyMDE0LCAwNToyNTozMCk6Cmh0dHA6Ly90aW55dXJsLmNvbS9sdTlmYjR3CgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogV2FydW0gV2luZG93cyAxMCBuaWNodCBXaW5kb3dzIDkgaGVpc3N0Li4uIChSdW1hdGEsICAyLiBPa3QgMjAxNCwgMTI6Mjk6NDUpOgp+IyEgcm49QW1hcnlsbGlzIHJ0PTE0MTIyMjAzMzAgcmc9d3d3Cn4jISB0aWQ9MTQxMjIyMDMzMApEYXMgaXN0IHZvZWxsaWcgcGxhdXNpYmVsISBVbmQgaW1tZXJoaW4gYmVtZXJrZW4gZGllIHNvd2FzIGJlaSBNJCAKbmljaHQgZXJzdCBuYWNoIGRlbSByZWxlYXNlIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBXYXJ1bSBXaW5kb3dzIDEwIG5pY2h0IFdpbmRvd3MgOSBoZWlzc3QuLi4gKEFtYXJ5bGxpcywgIDMuIE9rdCAyMDE0LCAwMToyNDoyMyk6Cn4jISBybj1SdW1hdGEgcnQ9MTQxMjI0NTc4NSByZz13d3cKfiMhIHRpZD0xNDEyMjIwMzMwCkphLiBTb25zdCBoYWV0dGUgaWNoIGVzIGphIGluIHNjaG1hcnJuIGdlcG9zdGV0IDspCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpUb29scyBmdWVyIGRlbiBhbWJpdGlvbmllcnRlbiBTeXNhZG1pbiAoQW1hcnlsbGlzLCAgNy4gT2t0IDIwMTQsIDAyOjQ3OjIxKToKaHR0cDovL3d3dy5icmVuZGFuZ3JlZ2cuY29tL3NwZWNpYWxzLmh0bWwKCkFtYSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdhbWUgT25lIChKdXN0YXZpdXMsIDMwLiBEZXogMjAxNCwgMTc6MTA6NDYpOgpIYWxsbywKCmljaCB3ZWlzcyBuaWNodCwgb2IgaWhycyBzY2hvbiB3dXNzdGV0LCBhYmVyIEdhbWUgT25lIGhhdCBpbSBJbnRlcm5ldCB6dQpXZWlobmFjaHRlbiAoYnp3LiBpbSBGZXJuc2VobiBrdXJ6IGRhdm9yKSBkaWUgbGV0enRlIG9mZml6aWVsbGUgU2VuZHVuZwphdXNnZXN0cmFobHQsIGRhIFZpYWNvbSBkYXMgRm9ybWF0IGVpbnN0ZWxsZW4gd2lsbC4KRmFsbHMgYXVjaCBpaHIgZWluIEZhbiB2b24gR2FtZSBPbmUgc2VpdCwga29lbm50IGlociB1bnRlciBodHRwczovL3d3dy5jaGFuZ2UuCm9yZy9wL3ZpYWNvbS12aWFjb20tc2V0emVuLXNpZS1kaWUtc2VuZHVuZy1nYW1lb25lLW5pY2h0LWFiIGV1cmUgU3RpbW1lCmRhZ2VnZW4gYWJnZWJlbi4KCkJpdHRlIGF1Y2ggdW5iZWRpbmd0IHZpcnVsZW50IGluIGFsbGUgZXVjaCBiZWthbm50ZW4gTWVkaWVuIHdlaXRlcmdlYmVuLgoKRGEKRGFua2UuCkp1c3RsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogR2FtZSBPbmUgKFphcGhvYiwgMjAuIEphbiAyMDE1LCAxODoxNzo1NCk6Cn4jISBybj1KdXN0YXZpdXMgcnQ9MTQxOTk1NTg0NiByZz13d3cKfiMhIHRpZD0xNDE5OTU1ODQ2CkRpZSBKdW5ncyBoYWJlbiBqZXR6dCB1bnRlciBkZW0gTmFtZW4gUm9ja2V0QmVhbnMgZWluZW4gMjQvNyBTZW5kZXIgYXVmCnR3aXRjaC50diBnZXN0YXJ0ZXQuIERlciBZb3V0dWJlIEthbmFsIGlzdCBhdWNoIHp1IGVtcGZlaGxlbiAoZGFzIFBlbiZQYXBlcgpGb3JtYXQgcm9ja3QpClZpZWwgU3Bhc3MsIFphcCoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkFjaCB3aWUgc2NoZWVlLi4uLiAoUmhvdmFuLCAyMi4gSmFuIDIwMTUsIDIyOjU5OjAxKToKSHVodSwgCndpZWRlciBtYWwgZWluIHNjaG9lbmVuIExpbmsgZnVlciBldWNoLgoKaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMTk5ODAyMTQwNjAwMDAvaHR0cDovL21nLm11ZC5kZS8KCkdydXNzClJob3ZhbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFjaCB3aWUgc2NoZWVlLi4uLiAoQW1hcnlsbGlzLCAyMi4gSmFuIDIwMTUsIDIzOjAyOjIxKToKfiMhIHJuPVJob3ZhbiBydD0xNDIxOTYzOTQxIHJnPXd3dwp+IyEgdGlkPTE0MjE5NjM5NDEKU28gbGFuZ2UgaXN0IGRhcyBub2NoIGdhciBuaWNodCBoZXIuLi4gZGllIFNlaXRlbiBrZW5uZSBpY2ggbm9jaCAibGl2ZSIuLi4gOykKClVuZCBuZWluLCBpY2ggYmluIF9uaWNodF8gYWx0ISFlbGZlaW5zCgpBbWEqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEFjaCB3aWUgc2NoZWVlLi4uLiAoWmVzc3RyYSwgMjIuIEphbiAyMDE1LCAyMzowMzo1Nyk6Cn4jISBybj1BbWFyeWxsaXMgcnQ9MTQyMTk2NDE0MSByZz13d3cKfiMhIHRpZD0xNDIxOTYzOTQxCmljaCBoYWJlIGF1Y2ggc2Nob24gZ2VzYWd0LCBkYXNzIGljaCBkaWUgbm9jaCBzZWhyIGd1dCBrZW5uZS4gOy0pCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNYWwgd2FzIHp1IGRlbm4gUmFzc2VuLiAoUmhvdmFuLCAyMy4gSmFuIDIwMTUsIDExOjM0OjE5KToKSHVodSwKCkhhYiB3YXMgc3Bhbm5lbmRlcyB1ZWJlciBkaWUgVXJ1a3MgenVtIGxlc2VuIGdlZnVuZGVuLgpodHRwOi8vd3d3LnN0dXBpZGVkaWEub3JnL3N0dXBpL1VydWstSGFpCgpncnVzcwpSaG92YW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0dWRpZSBiZWhhdXB0ZXQ6IGlQaG9uZS1OdXR6ZXIgc2luZCBzY2hsYXVlciAgKFRpbiwgMjMuIEphbiAyMDE1LCAxNzoyNTo1OCk6Cmh0dHA6Ly93d3cubjI0LmRlL24yNC9OYWNocmljaHRlbi9QYW5vcmFtYS9kLzYwMzY2NTgvaXBob25lLW51dHplci1zaW5kLXNjaGxhdQplci5odG1sCnVuZCBmdWVyIGRpZSwgZGllIGVzIGdlcm4ga3VyeiBoYWJlbjoKaHR0cDovL3Rpbnl1cmwuY29tL29ueG1hcXQKCjpncmluc3QgYnJlaXQuCnRpbgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR29vZ2xlZmV1ZCAoQ2hhZ2FsbCwgMjAuIE1hciAyMDE1LCAyMTozNjoyMik6Ck5ldHRlcyBTcGllbCB6dW0gWmVpdCB2ZXJ0cmVpYmVuLgoKaHR0cDovL3d3dy5nb29nbGVmZXVkLmNvbQoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdhbWUgb2YgQ2hhaXJzIChDaGFnYWxsLCAgOC4gQXByIDIwMTUsIDE5OjQyOjQ2KToKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kaFdVRlh2YVpqbwoKTUMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBHYW1lIG9mIENoYWlycyAoUnVtYXRhLCAxMC4gQXByIDIwMTUsIDIxOjM0OjQ2KToKfiMhIHJuPUNoYWdhbGwgcnQ9MTQyODUxNDk2NiByZz13d3cKfiMhIHRpZD0xNDI4NTE0OTY2ClNjaHJlY2tsaWNoLCB3aWUgZGllIGFuZGVyZW4gUmVnZW50ZW4gdW1nZW5pZXRldCB3ZXJkZW4uIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTGlzdGVuIHRvIFdpa2lwZWRpYSAoQXJhdGgsIDI1LiBBcHIgMjAxNSwgMjI6Mjk6MzcpOgpGYWxscyBlcyBqZW1hbmQgbm9jaCBuaWNodCBrZW5udC4uLjoKCmh0dHA6Ly9ibG9nLmhhdG5vdGUuY29tL3Bvc3QvNTY4NTYzMTUxMDcvbGlzdGVuLXRvLXdpa2lwZWRpYQoKQXJhdGgKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClRoZSBtb3RoZXIgb2YgYWxsIGRlbW9zIChWYW5pciwgMTMuIE1haSAyMDE1LCAyMjo1MzozOCk6Cmh0dHA6Ly90aW55dXJsLmNvbS8zdm5sa202Cmh0dHA6Ly93d3cuZG91Z2VuZ2VsYmFydC5vcmcvZmlyc3RzL2RvdWdzLTE5NjgtZGVtby5odG1sCgpWaXNpb25hZXIuClYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpTZWxic3RyZXByb2R1emllcmVuZGUgUHJvZ3JhbW1lIGV4dHJlbSAoUm9jaHVzLCAgNS4gSnVsIDIwMTUsIDIzOjExOjQyKToKTWFuY2hlIE1lbnNjaGVuIGhhYmVuIGVpbmZhY2ggenV2aWVsIFplaXQuLi4KaHR0cHM6Ly9naXRodWIuY29tL21hbWUvcXVpbmUtcmVsYXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkxlYXJuIHRvIEZseSAoQ2hhZ2FsbCwgMzEuIEp1bCAyMDE1LCAyMToyNjo1MSk6CgoxMDAwIFBlcnNvbmVuIHNwaWVsZW4gTGVhcm4gdG8gRmx5IHZvbiBkZW4gRm9vIEZpZ2h0ZXJzCgpodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUpvekFtWG8yYkRFCgpNQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQnVjaGJhciAoR2xvaW5zb24sIDExLiBOb3YgMjAxNSwgMDk6MDY6NDYpOgpNb2luLAoKZGllIGpldHppZ2VuIEJldHJlaWJlciBkZXIgQnVjaGJhciBrb2VubnRlbiB3b2hsIGVpbiB3ZW5pZyBVbnRlcnN0dWV0enVuZwpnZWJyYXVjaGVuLgoKaHR0cHM6Ly93d3cua2lja3N0YXJ0ZXIuY29tL3Byb2plY3RzLzE2NjE5NTA2MzMvaGVscC1zYXZlLW91ci1vcGVuLWFydHMtYW5kLWNyCmFmdHMtc2hvcC1pbi1kcmVzZGVuCmh0dHA6Ly9wcmV2aWV3LnRpbnl1cmwuY29tL2J1Y2tiYXJraWNrCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKR2l0IChHbG9pbnNvbiwgMjIuIE5vdiAyMDE1LCAxMzo0OTo1Nik6Cmh0dHA6Ly9naXQtbWFuLXBhZ2UtZ2VuZXJhdG9yLmxva2FsdG9nLm5ldC8KCkRhcyBzb2xsdGUgYWxsZW4gaGVsZmVuLCBkaWUgbm9jaCBQcm9ibGVtZSBoYWJlbi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpGYXJiZW4gTmV1aWdrZWl0ZW4gKEdsb2luc29uLCAgNy4gRmViIDIwMTYsIDA5OjEyOjE5KToKSXJnZW5kamVtYW5kIGhhdCBtaXIgdm9yIGV0bGljaGVyIFplaXQgZWluZSBGYXJibWFya2llcnVuZyBmdWVyIGRpZQpOZXVpZ2tlaXRlbiB2b3JnZXNjaGxhZ2VuLiBFaW5nZWJhdXQuIFdlbm4gZXMgYWxsenUgZnVyY2h0YmFyIGF1c3NpZWh0LCBNYWlsCmFuIG1pY2ggYml0dGUuCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRWluIHdlbmlnIEVuZHplaXQgKEdsb2luc29uLCAyMy4gQXByIDIwMTYsIDExOjM4OjIwKToKaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj13dl9PSkJCYUY0OCZsaXN0PVBMRUJFRDI0MzFDMkQ1MzlBMwoKTmV1dmVyZmlsbXVuZyB2b24gMjAwMCwgdm9uICJPbiB0aGUgQmVhY2giIHZvbiBOZXZpbCBTaHV0ZSwgMTk1Ny4gUHJhZW1pc3NlOgplaW4gcGFhciB6dSB2aWVsZSBLb2JhbHRib21iZW4gaW4gZWluZW0gS3JpZWcgYXVmIGRlciBOb3JkaGFsYmt1Z2VsIHVuZCBlaW4KYWJzZWhiYXJlcyBFbmRlIGZ1ZXIgZGllIFN1ZWRoYWxia3VnZWwuCgpEaWUgVVNBIHdhcmVuIHVlYmVyIGRhcyBCdWNoIGRhbWFscyBuaWNodCBhbXVzZWQuIEtvYmFsdGJvbWJlbiB3dXJkZW4KYWxsZXJkaW5ncyBkYW5uIGF1Y2ggbmljaHQgcHJvZHV6aWVydC4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogRWluIHdlbmlnIEVuZHplaXQgKFplc3N0cmEsIDIzLiBBcHIgMjAxNiwgMTQ6NDk6NDIpOgp+IyEgcm49R2xvaW5zb24gcnQ9MTQ2MTQwNDMwMCByZz13d3cKfiMhIHRpZD0xNDYxNDA0MzAwCk9oLCBkYXMgaXN0IHZlcmZpbG10IHdvcmRlbj8gSWNoIGhhYiBkYXMgQnVjaCBnZWxlc2VuLCBzY2hvbiB6aWVtbGljaCBmcnVlaAphbHMgS2luZC4gSGF0IGVpbmVuIG5hY2hoYWx0aWdlbiBFaW5kcnVjayBoaW50ZXJsYXNzZW4uCgpaZXNzdHJhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEVpbiB3ZW5pZyBFbmR6ZWl0IChHbG9pbnNvbiwgMjMuIEFwciAyMDE2LCAxNToyOToxNSk6Cn4jISBybj1aZXNzdHJhIHJ0PTE0NjE0MTU3ODIgcmc9d3d3Cn4jISB0aWQ9MTQ2MTQwNDMwMApEaWUgRXJzdHZlcmZpbG11bmcgbWl0IEdyZWdvcnkgUGVjayBoYWJlIGljaCBhbGxlcmRpbmdzIG5vY2ggbmljaHQgZ2VzZWhlbi4KTXVzcyBpY2ggbWFsIGJlc29yZ2VuIC4uLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkVpbiBpcmdlbmR3aWUgbW9kZXJuZXMgQmlsZC4uLiAoR2FzY2hkLCAgNS4gTWFpIDIwMTYsIDIzOjMxOjM4KToKLi4udm9uIDE4NjA6CgpodHRwczovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9EYXRlaTpXYWxkbSVDMyVCQ2xsZXJfRGllX0Vyd2FydGV0ZV8xODYwLmpwZwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEVpbiBpcmdlbmR3aWUgbW9kZXJuZXMgQmlsZC4uLiAoUnVtYXRhLCAgNi4gTWFpIDIwMTYsIDEyOjE5OjMwKToKfiMhIHJuPUdhc2NoZCBydD0xNDYyNDgzODk4IHJnPXd3dwp+IyEgdGlkPTE0NjI0ODM4OTgKV2FzIGZ1ZXIgZWluIENyZWVwZXIuIDstKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3Bhc3MgaW0gTmFodmVya2VociBkZXIgQmFobiAoUmhvdmFuLCAxMS4gTWFpIDIwMTYsIDEwOjQ3OjE5KToKSHVodSwKaGFiIHdhcyBmZWluZXMgZnVlciBldWNoLApTdWVkZGV1dHNjaGV6ZWl0dW5nOiBOYWh2ZXJrZWhyIEJhaG4gc3BlcnJ0IHN0YW1tc3RyZWNrZSB3ZWdlbiBhcmJlaXRlbiBkaWUKZ2FyIG5pY2h0IHN0YXR0ZmluZGVuCgpodHRwOi8vdGlueXVybC5jb20vemRhcndtOQoKR3J1c3MKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpHaXQgZnVlciBBcm1lIChHbG9pbnNvbiwgMjIuIE1haSAyMDE2LCAxODo1NToxOSk6CkFubGFlc3NsaWNoIGVpbmVyIHNvZWJlbiBzY2htdW56ZWxuZCBtaXRnZWxlc2VuZW4gRGlza3Vzc2lvbiBub2NobWFsIGRpZQplaW5mYWNoZSBSZWdlbG4gZnVlciBnaXQ6CidnaXQgaW5pdCcgLSBtYWNoIGdpdCBoaWVyIG1hbCBuZXUgKHdpcmQgaW0gTVVEIGVybGVpY2h0ZXJ0IGR1cmNoIERhdGVpKQonZ2l0IGFkZCAqJyAtIHBhY2sgbWFsIGFsbGVzIGlucyBnaXQsIHdhcyBpY2ggamV0enQgaGllcmhlciBrb3BpZXJ0IGhhYmUKJ2dpdCBjb21taXQgLWEgLW0gImNvbW1lbnQiJyAtIGNvbWl0dGUgYWxsZXMgR2VhZW5kZXJ0ZSBtaXQgS29tbWVudGFyCmZ1ZXIgZGFzIE1VRAonZ2l0IHB1bGwnIC0gaG9sIG1hbCBLcmFtIGF1cyBkZW0gTVVELCBkZW4gd2VyIGdlYW5kZXJ0IGhhYmVuIGtvZW5udGUKJ2dpdCBwdXNoJyAtIHNjaGljayBtYWwgS3JhbSB6dW0gTVVECgpEYXMgcmVpY2h0IDk5JSBkZXIgWmVpdC4gRnVlciBkaWUgcmVzdGxpY2hlbiAxJToKaHR0cHM6Ly94a2NkLmNvbS8xNTk3LwoKLi4uIHNvIGVpbiBsYW5nZXIgQXJ0aWtlbCBudXIgZnVlciBkZW4gWEtDRCAuLi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQZmF1ZW5zcGlubmVuIChHbG9pbnNvbiwgIDcuIEp1biAyMDE2LCAyMzoyMjoxNik6Cmh0dHA6Ly93d3cuY2JjLmNhL25ld3MvdGVjaG5vbG9neS9wZWFjb2NrLXNwaWRlcnMtMS4zNjE4MDI1CgpTZWhlbiBzY2hvbiBidW50IGF1cyAuLi4gdW5kIHdpbnppZyA6KQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRlY2l2aWxpemF0aW9uIChSaG92YW4sICAxLiBTZXAgMjAxNiwgMTU6MDM6MzcpOgpEZWNpdmlsaXphdGlvbjogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1FYXk1cDRXX1BtOAoKZ3J1c3MKUmhvdmFuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgo=