PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgICAgVyBpIGwgbCBrIG8gbSBtIGUgbiAgIGltICAgViBJIE0gICBUIHUgdCBvIHIgICAgLSAgICBWZXJzaW9uIDEuNy5kZS4xICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgIFZpbSBpc3QgZWluIHNlaHIgbeRjaHRpZ2VyIEVkaXRvciwgZGVyIHZpZWxlIEJlZmVobGUgYmVyZWl0c3RlbGx0OyB6dSB2aWVsZSwKICAgdW0gYWxsZSBpbiBlaW5lbSBUdXRvciB3aWUgZGllc2VtIHp1IGVya2zkcmVuLiAgRGllc2VyIFR1dG9yIGlzdCBzbwogICBnZXN0YWx0ZXQsIHVtIGdlbnVnIEJlZmVobGUgdm9yenVzdGVsbGVuLCBkYXNzIER1IGRpZSBG5GhpZ2tlaXQgZXJsYW5nc3QsCiAgIFZpbSBtaXQgTGVpY2h0aWdrZWl0IGFscyBlaW5lbiBBbGx6d2Vjay1FZGl0b3IgenUgdmVyd2VuZGVuLgogICBEaWUgWmVpdCBm/HIgZGFzIER1cmNoYXJiZWl0ZW4gZGllc2VzIFR1dG9ycyBiZXRy5Gd0IGNhLiAyNS0zMCBNaW51dGVuLAogICBhYmjkbmdpZyBkYXZvbiwgd2llIHZpZWwgWmVpdCBEdSBtaXQgRXhwZXJpbWVudGllcmVuIHZlcmJyaW5nc3QuCgogICBBQ0hUVU5HOgogICBEaWUgaW4gZGVuIExla3Rpb25lbiBhbmdld2VuZGV0ZW4gS29tbWFuZG9zIHdlcmRlbiBkZW4gVGV4dCBtb2RpZml6aWVyZW4uCiAgIEVyc3RlbGxlIGVpbmUgS29waWUgZGllc2VyIERhdGVpLCBpbiBkZXIgRHUg/GJlbiB3aWxsc3QgKGZhbGxzIER1ICJ2aW10dXRvciIKICAgYXVmZ2VydWZlbiBoYXN0LCBpc3QgZGllcyBiZXJlaXRzIGVpbmUgS29waWUpLgoKICAgRXMgaXN0IHdpY2h0aWcsIHNpY2ggenUgdmVyZ2VnZW535HJ0aWdlbiwgZGFzcyBkaWVzZXIgVHV0b3IgZvxyIGRhcyBBbndlbmRlbgogICBrb256aXBpZXJ0IGlzdC4gRGFzIGJlZGV1dGV0LCBkYXNzIER1IGRpZSBCZWZlaGxlIGFud2VuZGVuIG11c3N0LCB1bSBzaWUKICAgcmljaHRpZyB6dSBsZXJuZW4uIFdlbm4gRHUgbnVyIGRlbiBUZXh0IGxpZXN0LCB2ZXJnaXNzdCBEdSBkaWUgQmVmZWhsZSEKCiAgIEpldHp0IHN0ZWxsZSBzaWNoZXIsIGRhc3MgZGVpbmUgVW1zdGVsbHRhc3RlIE5JQ0hUIGdlZHL8Y2t0IGlzdCB1bmQgYmV05HRpZ2UKICAgZGllICAgaiAgIFRhc3RlIGdlbvxnZW5kIE1hbCwgdW0gZGVuIEN1cnNvciBuYWNoIHVudGVuIHp1IGJld2VnZW4sIHNvIGRhc3MKICAgTGVrdGlvbiAxLjEgZGVuIEJpbGRzY2hpcm0gdm9sbGtvbW1lbiBhdXNm/GxsdC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gMS4xOiBCRVdFR0VOIERFUyBDVVJTT1JTCgogICoqIFVtIGRlbiBDdXJzb3IgenUgYmV3ZWdlbiwgZHL8Y2tlIGRpZSBoLGosayxsIFRhc3RlbiB3aWUgdW50ZW4gZ2V6ZWlndC4gKioKCSAgICAgXgkJIEhpbGZlc3RlbGx1bmc6CgkgICAgIGsJCSBEaWUgaCBUYXN0ZSBiZWZpbmRldCBzaWNoIGxpbmtzIHVuZCBiZXdlZ3QgbmFjaCBsaW5rcy4KICAgICAgIDwgaAkgbCA+CSBEaWUgbCBUYXN0ZSBsaWVndCByZWNodHMgdW5kIGJld2VndCBuYWNoIHJlY2h0cy4KCSAgICAgagkJIERpZSBqIFRhc3RlIORobmVsdCBlaW5lbSBQZmVpbCBuYWNoIHVudGVuLgoJICAgICB2CiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgYXVmIGRlbSBCaWxkc2NoaXJtIHVtaGVyLCBiaXMgRHUgRGljaCBzaWNoZXIgZvxobHN0LgoKICAyLiBIYWx0ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSAoaikgZ2Vkcvxja3QsIGJpcyBzaWUgc2ljaCB3aWVkZXJob2x0LgogICAgIEpldHp0IHdlad90IER1LCB3aWUgRHUgRGljaCB6dXIgbuRjaHN0ZW4gTGVrdGlvbiBiZXdlZ2VuIGthbm5zdC4KCiAgMy4gQmVudXR6ZSBkaWUgTmFjaC1VbnRlbi1UYXN0ZSwgdW0gRGljaCB6dSBMZWt0aW9uIDEuMiB6dSBiZXdlZ2VuLgoKQW5tZXJrdW5nOiBJbW1lciwgd2VubiBEdSBEaXIgdW5zaWNoZXIgYmlzdCD8YmVyIGRhcywgd2FzIER1IGdldGlwcHQgaGFzdCwKCSAgIGRy/GNrZSA8RVNDPiAsIHVtIERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIHp1IGJlZ2ViZW4uCgkgICBEYW5uIGdpYiBkYXMgZ2V3/G5zY2h0ZSBLb21tYW5kbyBub2NoIGVpbm1hbCBlaW4uCgpBbm1lcmt1bmc6IERpZSBDdXJzb3ItVGFzdGVuIHNvbGx0ZW4gZWJlbmZhbGxzIGZ1bmt0aW9uaWVyZW4uICBBYmVyIHdlbm4gRHUKCSAgIGhqa2wgYmVudXR6dCwgd2lyc3QgRHUgaW4gZGVyIExhZ2Ugc2VpbiwgRGljaCBzZWhyIHZpZWwgc2NobmVsbGVyCgkgICB1bWhlcnp1YmV3ZWdlbiwgd2VubiBEdSBEaWNoIGVpbm1hbCBkYXJhbiBnZXf2aG50IGhhc3QuIFdpcmtsaWNoIQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICAgIExla3Rpb24gMS4yOiBWSU0gQkVFTkRFTgoKCiAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMKICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQoKICAxLiBEcvxja2UgZGllIDxFU0M+IFRhc3RlICh1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdCkuCgogIDIuIFRpcHBlOgk6cSEgPEVOVEVSPi4KICAgICBEaWVzIGJlZW5kZXQgZGVuIEVkaXRvciB1bmQgVkVSV0lSRlQgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgRHUgZ2VtYWNodCBoYXN0LgoKICAzLiBXZW5uIER1IGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIHNpZWhzdCwgZ2liIGRhcyBLb21tYW5kbyBlaW4sIGRhcyBEaWNoIHp1CiAgICAgZGllc2VtIFR1dG9yIGdlZvxocnQgaGF0LiBEaWVzIHfkcmU6CXZpbXR1dG9yIDxFTlRFUj4KCiAgNC4gV2VubiBEdSBEaXIgZGllc2UgU2Nocml0dGUgZWluZ2VwcuRndCBoYXN0IHVuZCBEdSBEaWNoIHNpY2hlciBm/Ghsc3QsCiAgICAgZvxocmUgU2Nocml0dGUgMSBiaXMgMyBhdXMsIHVtIGRlbiBFZGl0b3IgenUgdmVybGFzc2VuIHVuZCB3aWVkZXIKICAgICBoaW5laW56dWdlbGFuZ2VuLgoKQW5tZXJrdW5nOiAgOnEhIDxFTlRFUj4gIHZlcndpcmZ0IGFsbGUgxG5kZXJ1bmdlbiwgZGllIER1IGdlbWFjaHQgaGFzdC4gRWluaWdlCiAgICAgTGVrdGlvbmVuIHNw5HRlciBsZXJuc3QgRHUsIGRpZSDEbmRlcnVuZ2VuIGluIGVpbmVyIERhdGVpIHp1IHNwZWljaGVybi4KCiAgNS4gQmV3ZWdlIGRlbiBDdXJzb3IgYWJ35HJ0cyB6dSBMZWt0aW9uIDEuMy4KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAxLjM6IFRFWFQgRURJVElFUkVOIC0gTNZTQ0hFTgoKCgkgKiogRHL8Y2tlICB4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgenUgbPZzY2hlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDIuIFVtIGRpZSBGZWhsZXIgenUgYmVoZWJlbiwgYmV3ZWdlIGRlbiBDdXJzb3IsIGJpcyBlciD8YmVyIGRlbSBaZWljaGVuIHN0ZWh0LAogICAgIGRhcyBnZWz2c2NodCB3ZXJkZW4gc29sbC4KCiAgMy4gRHL8Y2tlIGRpZSAgeCAgVGFzdGUsIHVtIGRhcyB1bmVyd/xuc2NodGUgWmVpY2hlbiB6dSBs9nNjaGVuLgoKICA0LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAyIGJpcyA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QuCgotLS0+IERpZSBLa3VoIHNwcmFuZ2cg/GJiZXJyIGRlZW4gTW9vbmQuCgogIDUuIE51biwgZGEgZGllIFplaWxlIGtvcnJla3QgaXN0LCBnZWhlIHdlaXRlciB6dXIgTGVrdGlvbiAxLjQuCgpBbm1lcmt1bmc6IFfkaHJlbmQgRHUgZHVyY2ggZGllc2VuIFR1dG9yIGdlaHN0LCB2ZXJzdWNoZSBuaWNodCwgYXVzd2VuZGlnIHp1CiAgICBsZXJuZW4sIGxlcm5lIHZpZWxtZWhyIGR1cmNoIEFud2VuZGVuLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAxLjQ6IFRFWFQgRURJVElFUkVOIC0gRUlORtxHRU4KCgoJCSAgICAqKiAgRHL8Y2tlICBpICAsIHVtIFRleHQgZWluenVm/Gdlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVyIGVyc3RlbiB1bnRlbiBzdGVoZW5kZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KCiAgMi4gVW0gZGllIGVyc3RlIFplaWxlIG1pdCBkZXIgendlaXRlbiBnbGVpY2h6dW1hY2hlbiwgYmV3ZWdlIGRlbiBDdXJzb3IgYXVmCiAgICAgZGFzIGVyc3RlIFplaWNoZW4gTkFDSCBkZXIgU3RlbGxlLCBhbiBkZXIgVGV4dCBlaW5nZWb8Z3Qgd2VyZGVuIHNvbGwuCgogIDMuIERy/GNrZSAgaSAgdW5kIGdpYiBkaWUgbvZ0aWdlbiBFcmfkbnp1bmdlbiBlaW4uCgogIDQuIFdlbm4gamV3ZWlscyBlaW4gRmVobGVyIGJlc2VpdGlndCBpc3QsIGRy/GNrZSA8RVNDPiAsIHVtIHp1bSBOb3JtYWxtb2R1cwogICAgIHp1cvxja3p1a2VocmVuLgoJCSBXaWVkZXJob2xlIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGRlbiBTYXR6IHp1IGtvcnJpZ2llcmVuLgoKLS0tPiBJbiBkaWVzZXIgZnQgZXR3YXMgLgotLS0+IEluIGRpZXNlciBaZWlsZSBmZWhsdCBldHdhcyBUZXh0LgoKICA1LiBXZW5uIER1IERpY2ggbWl0IGRlbSBFaW5m/GdlbiB2b24gVGV4dCBzaWNoZXIgZvxobHN0LCBnZWhlIHp1IExla3Rpb24gMS41LgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiAxLjU6IFRFWFQgRURJVElFUkVOIC0gQU5G3EdFTgoKCgkJICAgICAqKiBEcvxja2UgIEEgICwgdW0gVGV4dCBhbnp1ZvxnZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCiAgICAgRGFiZWkgaXN0IGdsZWljaGf8bHRpZywgYXVmIHdlbGNoZW0gWmVpY2hlbiBkZXIgWmVpbGUgZGVyIEN1cnNvciBzdGVodC4KCiAgMi4gRHL8Y2tlICBBICB1bmQgZ2liIGRpZSBlcmZvcmRlcmxpY2hlbiBFcmfkbnp1bmdlbiBlaW4uCgogIDMuIFdlbm4gZGFzIEFuZvxnZW4gYWJnZXNjaGxvc3NlbiBpc3QsIGRy/GNrZSA8RVNDPiwgdW0gaW4gZGVuIE5vcm1hbG1vZHVzCiAgICAgenVy/GNrenVrZWhyZW4uCgogIDQuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciB6d2VpdGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW5kIHdpZWRlcmhvbGUKICAgICBkaWUgU2Nocml0dGUgMiB1bmQgMywgdW0gZGVuIFNhdHogenUgYXVzenViZXNzZXJuLgoKLS0tPiBJbiBkaWVzZXIgWmVpbGUgZmVoCiAgICAgSW4gZGllc2VyIFplaWxlIGZlaGx0IGV0d2FzIFRleHQuCi0tLT4gQXVjaCBoaWVyIHN0ZWgKICAgICBBdWNoIGhpZXIgc3RlaHQgZXR3YXMgVW52b2xsc3TkbmRpZ2VzLgoKICA1LiBXZW5uIER1IGRpY2ggbWl0IGRlbSBBbmb8Z2VuIHZvbiBUZXh0IHNpY2hlciBm/Ghsc3QsIGdlaGUgenUgTGVrdGlvbiAxLjYuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgICBMZWt0aW9uIDEuNjogRUlORSBEQVRFSSBFRElUSUVSRU4KCgkJICoqIEJlbnV0emUgIDp3cSAgLCB1bSBlaW5lIERhdGVpIHp1IHNwZWljaGVybiB1bmQgVmltIHp1IHZlcmxhc3Nlbi4gKioKCiAgISEgSGlud2VpczogQmV2b3IgRHUgZWluZW4gZGVyIHVudGVuIGF1ZmdlZvxocnRlbiBTY2hyaXR0ZSBhdXNm/Ghyc3QsIGxpZXMKICAgICBkaWVzZSBnZXNhbXRlIExla3Rpb24hIQoKICAxLiBWZXJsYXNzZSBkZW4gRWRpdG9yIHNvIHdpZSBpbiBMZWt0aW9uIDEuMjogIDpxISAgICAgICAKCSAgIE9kZXIsIGZhbGxzIGR1IFp1Z3JpZmYgenUgZWluZW0gYW5kZXJlbiBUZXJtaW5hbCBoYXN0LCBm/GhyZSBkYXMgCgkJIEZvbGdlbmRlIGRvcnQgYXVzLgoKICAyLiBHaWIgZGllc2VzIEtvbW1hbmRvIGluIGRpZSBFaW5nYWJlYXVmZm9yZGVydW5nIGVpbjogIHZpbSB0dXRvciA8RU5URVI+CiAgICAgJ3ZpbScgaXN0IGRlciBBdWZydWYgZGVzIEVkaXRvcnMsICd0dXRvcicgaXN0IGRpZSB6dSBlZGl0aWVyZW5kZSBEYXRlaS4KICAgICBCZW51dHplIGVpbmUgRGF0ZWksIGRpZSBnZeRuZGVydCB3ZXJkZW4gZGFyZi4KCiAgMy4gRvxnZSBUZXh0IGVpbiBvZGVyIGz2c2NoZSBpaG4sIHdpZSBEdSBpbiBkZW4gdm9yYW5nZWhlbmRlbiBMZWt0aW9uZW4gCiAgICAgZ2VsZXJudCBoYXN0LgoKICA0LiBTcGVpY2hlcmUgZGllIGdl5G5kZXJ0ZSBEYXRlaSB1bmQgdmVybGFzc2UgVmltIG1pdDogIDp3cSAgPEVOVEVSPgoKICA1LiBGYWxscyBEdSBpbiBTY2hyaXR0IDEgZGVuIHZpbXR1dG9yIGJlZW5kZXQgaGFzdCwgc3RhcnRlIHZpbXR1dG9yIG5ldSB1bmQKCSAgIGJld2VnZSBkaWNoIGFid+RydHMgYmlzIHp1ciBmb2xnZW5kZW4gWnVzYW1tZW5mYXNzdW5nLgoKICA2LiBOYWNoZGVtIER1IG9iaWdlIFNjaHJpdHRlIGdlbGVzZW4gdW5kIHZlcnN0YW5kZW4gaGFzdDogZvxocmUgc2llIGR1cmNoLgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiAxCgoKICAxLiBEZXIgQ3Vyc29yIHdpcmQgbWl0IGRlbiBQZmVpbHRhc3RlbiBvZGVyIGRlbiBUYXN0ZW4gaGprbCBiZXdlZ3QuCgkgaCAobGlua3MpICAgICBqICh1bnRlbikgICAgIGsgKGF1ZnfkcnRzKSAgICBsIChyZWNodHMpCgogIDIuIFVtIFZpbSBhdXMgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmcgenUgc3RhcnRlbiwgdGlwcGU6IHZpbSBEQVRFSSA8RU5URVI+CgogIDMuIFVtIFZpbSB6dSB2ZXJsYXNzZW4gdW5kIGFsbGUgxG5kZXJ1bmdlbiB6dSB2ZXJ3ZXJmZW4sIHRpcHBlOgoJCTxFU0M+ICA6cSEgIDxFTlRFUj4gLgoKICA0LiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGz2c2NoZW4sIHRpcHBlOiAgeAoKICA1LiBVbSBUZXh0IGVpbnp1ZvxnZW4gb2RlciBhbnp1ZvxnZW4sIHRpcHBlOgoJIGkgICBFaW56dWb8Z2VuZGVuIFRleHQgZWluZ2ViZW4gICA8RVNDPiAgICBFaW5m/GdlbiB2b3IgZGVtIEN1cnNvcgoJIEEgICBBbnp1ZvxnZW5kZW4gVGV4dCBlaW5nZWJlbiAgICA8RVNDPiAgICBBbmb8Z2VuIG5hY2ggZGVtIFplaWxlbmVuZGUKCkFubWVya3VuZzogRHL8Y2tlbiB2b24gPEVTQz4gYnJpbmd0IERpY2ggaW4gZGVuIE5vcm1hbG1vZHVzIG9kZXIgYnJpY2h0IGVpbgogICAgIHVuZ2V3b2xsdGVzLCBlcnN0IHRlaWx3ZWlzZSBlaW5nZWdlYmVuZXMgS29tbWFuZG8gYWIuCgogICAgIE51biBmYWhyZSBtaXQgTGVrdGlvbiAyIGZvcnQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgIExla3Rpb24gMi4xOiBM1lNDSEtPTU1BTkRPUwoKCgkJICAgKiogVGlwcGUgIGR3ICAsIHVtIGVpbiBXb3J0IHp1IGz2c2NoZW4uICoqCgogIDEuIERy/GNrZSAgPEVTQz4gICwgdW0gc2ljaGVyenVzdGVsbGVuLCBkYXNzIER1IGltIE5vcm1hbG1vZHVzIGJpc3QuCgogIDIuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlIHVudGVuLgoKICAzLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGVpbmVzIFdvcnRlcywgZGFzIGdlbPZzY2h0IHdlcmRlbiBzb2xsLgoKICA0LiBUaXBwZSAgZHcgICwgdW0gZGFzIFdvcnQgenUgZW50ZmVybmVuLgoKICBBbm1lcmt1bmc6IERlciBCdWNoc3RhYmUgIGQgIGVyc2NoZWludCBhdWYgZGVyIHVudGVyc3RlbiBaZWlsZSBkZXMgU2NoaXJtcywKICAgICAgICB3ZW5uIER1IGlobiBlaW5naWJzdC4gVmltIHdhcnRldCBkYXJhdWYsIGRhc3MgRHUgIHcgIGVpbmdpYnN0LiBGYWxscyBEdQogICAgICAgIGVpbiBhbmRlcmVzIFplaWNoZW4gYWxzICBkICBzaWVoc3QsIGhhc3QgRHUgZXR3YXMgRmFsc2NoZXMgZ2V0aXBwdDsKICAgICAgICBkcvxja2UgPEVTQz4gdW5kIGJlZ2lubmUgbm9jaCBlaW5tYWwuCgotLS0+IEVpbmlnZSBX9nJ0ZXIgbHVzdGlnIGdlaPZyZW4gbmljaHQgUGFwaWVyIGluIGRpZXNlbiBTYXR6LgoKICA1LiBXaWVkZXJob2xlIGRpZSBTY2hyaXR0ZSAzIHVuZCA0LCBiaXMgZGVyIFNhdHoga29ycmVrdCBpc3QgdW5kIGdlaGUKICAgICB6dXIgTGVrdGlvbiAyLjIuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgIExla3Rpb24gMi4yOiBXRUlURVJFIEzWU0NIS09NTUFORE9TCgoKCSAgICAqKiBUaXBwZSAgZCQgICwgdW0gYmlzIHp1bSBFbmRlIGRlciBaZWlsZSB6dSBs9nNjaGVuLiAqKgoKICAxLiBEcvxja2UgPEVTQz4gLCB1bSBzaWNoZXJ6dXN0ZWxsZW4sIGRhc3MgRHUgaW0gTm9ybWFsbW9kdXMgYmlzdC4KCiAgMi4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUgdW50ZW4uCgogIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1bSBFbmRlIGRlciBrb3JyZWt0ZW4gWmVpbGUgKE5BQ0ggZGVtIGVyc3RlbiAuICkuCgogIDQuIFRpcHBlICAgIGQkICAgICwgdW0gYmlzIHp1bSBaZWlsZW5lbmRlIHp1IGz2c2NoZW4uCgotLS0+IEplbWFuZCBoYXQgZGFzIEVuZGUgZGVyIFplaWxlIGRvcHBlbHQgZWluZ2VnZWJlbi4gZG9wcGVsdCBlaW5nZWdlYmVuLgoKCiAgNS4gR2VoZSB3ZWl0ZXIgenVyIExla3Rpb24gMi4zICwgdW0genUgdmVyc3RlaGVuLCB3YXMgaGllcmJlaSB2b3JnZWh0LgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSBMZWt0aW9uIDIuMzog3EJFUiBPUEVSQVRPUkVOIFVORCBCRVdFR1VOR1Na3EdFCgoKICBWaWVsZSBLb21tYW5kb3MsIGRpZSBUZXh0IORuZGVybiwgc2V0emVuIHNpY2ggYXVzIGVpbmVtIE9wZXJhdG9yIHVuZCBlaW5lcgogIEJld2VndW5nIHp1c2FtbWVuLiBEYXMgRm9ybWF0IGb8ciBlaW4gTPZzY2hrb21tYW5kbyBtaXQgZGVtIEz2c2Nob3BlcmF0b3IgIGQKICBsYXV0ZXQgd2llIGZvbGd0OgoKICAgIGQgIEJld2VndW5nCgogIHdvYmVpOgogICAgZCAgICAgICAgLSBkZXIgTPZzY2hvcGVyYXRvcgogICAgQmV3ZWd1bmcgLSB3b3JhdWYgZGVyIEz2c2Nob3BlcmF0b3IgYW5nZXdhbmR0IHdpcmQgKHVudGVuIGF1ZmdlZvxocnQpLgoKICBFaW5lIGtsZWluZSBBdWZsaXN0dW5nIHZvbiBCZXdlZ3VuZ2VuOgogICAgdyAtIGJpcyB6dW0gQmVnaW5uIGRlcyBu5GNoc3RlbiBXb3J0ZXMgT0hORSBkZXNzZW4gZXJzdGVzIFplaWNoZW4uCiAgICBlIC0genVtIEVuZGUgZGVzIGFrdHVlbGxlbiBXb3J0ZXMgTUlUIGRlc3NlbiBsZXR6dGVtIFplaWNoZW4uCiAgICAkIC0genVtIEVuZGUgZGVyIFplaWxlIE1JVCBkZW0gbGV0enRlbiBaZWljaGVuLgoKICBEZW1lbnRzcHJlY2hlbmQgbPZzY2h0IGRpZSBFaW5nYWJlIHZvbiAgZGUgIHZvbSBDdXJzb3IgYW4gYmlzIHp1bSBXb3J0ZW5kZS4KCkFubWVya3VuZzogIERpZSBFaW5nYWJlIGxlZGlnbGljaCBkZXMgQmV3ZWd1bmdzdGVpbHMgaW0gTm9ybWFsbW9kdXMgYmV3ZWd0IGRlbgogIEN1cnNvciBlbnRzcHJlY2hlbmQuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJTGVrdGlvbiAyLjQ6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBFSU5FTiBCRVdFR1VOR1NTQ0hSSVRUCgoKICAgKiogRGllIEVpbmdhYmUgZWluZXIgWmFobCB2b3IgZWluZW0gQmV3ZWd1bmdzc2Nocml0dCB3aWVkZXJob2x0IGRpZXNlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEJlZ2lubiBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMi4gVGlwcGUgIDJ3ICAsIHVtIGRlbiBDdXJzb3IgendlaSBX9nJ0ZXIgdm9yd+RydHMgenUgYmV3ZWdlbi4KCiAgMy4gVGlwcGUgIDNlICAsIHVtIGRlbiBDdXJzb3IgenVtIEVuZGUgZGVzIGRyaXR0ZW4gV29ydGVzIHp1IGJld2VnZW4uCgogIDQuIFRpcHBlICAwICAoTnVsbCkgLCB1bSB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBnZWxhbmdlbi4KCiAgNS4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzIG1pdCB2ZXJzY2hpZWRlbmVuIE51bW1lcm4uCgogIC0tLT4gRGllcyBpc3QgbnVyIGVpbmUgWmVpbGUgYXVzIFf2cnRlcm4sIHVtIHNpY2ggZGFyaW4gaGVydW16dWJld2VnZW4uCgogIDYuIEdlaGUgd2VpdGVyIHp1IExla3Rpb24gMi41LgoKCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgTGVrdGlvbiAyLjU6IEFOV0VORFVORyBFSU5FUyBaxEhMRVJTIEbcUiBNRUhSRVJFIEzWU0NIVk9SR8ROR0UKCgogICAqKiBEaWUgRWluZ2FiZSBlaW5lciBaYWhsIG1pdCBlaW5lbSBPcGVyYXRvciB3aWVkZXJob2x0IGRpZXNlbiBtZWhyZmFjaC4gKioKCiAgSW4gZGVyIEtvbWJpbmF0aW9uIGF1cyBM9nNjaG9wZXJhdG9yIHVuZCBCZXdlZ3VuZ3NzY2hyaXR0IChzaWVoZSBvYmVuKSAKICBzdGVsbHQgbWFuLCB1bSBtZWhyIHp1IGz2c2NoZW4gZGVtIFNjaHJpdHQgZWluZW4gWuRobGVyIHZvcmFuOgoJIGQgIE51bW1lciAgQmV3ZWd1bmdzc2Nocml0dAoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIFdvcnQgaW4gR1JPU1NCVUNIU1RBQkVOIGluIGRlciBtaXQgLS0tPgogICAgIG1hcmtpZXJlbiBaZWlsZS4KCiAgMi4gVGlwcGUgIGQydyAgLCB1bSBkaWUgendlaSBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIHp1IGz2c2NoZW4uCgogIDMuIFdpZWRlcmhvbGUgU2Nocml0dGUgMSB1bmQgIDIgbWl0IGVpbmVtIGFuZGVyZW4gWuRobGVyLCB1bSBkaWUgZGFyYXVmZm9sLQogICAgIGdlbmRlbiBX9nJ0ZXIgaW4gR1JPU1NCVUNIU1RBQkVOIG1pdCBlaW5lbSBlaW56aWdlbiBLb21tYW5kbyB6dSBs9nNjaGVuLgoKLS0tPiAgRGllc2UgQUJDIERFIFplaWxlIEZHSEkgSksgTE1OIE9QIG1pdCBX9nJ0ZXJuIGlzdCBRIFJTIFRVViBiZXJlaW5pZ3QuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDIuNjogQVJCRUlURU4gQVVGIFpFSUxFTgoKCgkgICAgICAgKiogVGlwcGUgIGRkICAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgenUgbPZzY2hlbi4gKioKCiAgV2VnZW4gZGVyIEjkdWZpZ2tlaXQsIGRhc3MgbWFuIGdhbnplIFplaWxlbiBs9nNjaHQsIGthbWVuIGRpZSBFbnR3aWNrbGVyIHZvbgogIFZpIGRhcmF1ZiwgZGFzcyBlcyBsZWljaHRlciB35HJlLCBlaW5mYWNoIHp3ZWkgZCdzIGVpbnp1Z2ViZW4sIHVtIGVpbmUgWmVpbGUKICB6dSBs9nNjaGVuLgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgendlaXRlbiBaZWlsZSBpbiBkZXIgdW50ZW4gc3RlaGVuZGVuIFJlZGV3ZW5kdW5nLgogIDIuIFRpcHBlICBkZCAgLCB1bSBkaWUgWmVpbGUgenUgbPZzY2hlbi4KICAzLiBOdW4gYmV3ZWdlIERpY2ggenVyIHZpZXJ0ZW4gWmVpbGUuCiAgNC4gVGlwcGUgIDJkZCAgLCB1bSB6d2VpIFplaWxlbiB6dSBs9nNjaGVuLgoKLS0tPiAgMSkgIFJvc2VuIHNpbmQgcm90LAotLS0+ICAyKSAgTWF0c2NoIGlzdCBsdXN0aWcsCi0tLT4gIDMpICBWZWlsY2hlbiBzaW5kIGJsYXUsCi0tLT4gIDQpICBJY2ggaGFiZSBlaW4gQXV0bywKLS0tPiAgNSkgIERpZSBVaHIgc2FndCBkaWUgWmVpdCwKLS0tPiAgNikgIFp1Y2tlciBpc3Qgc/zfLAotLS0+ICA3KSAgU28gd2llIER1IGF1Y2guCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMi43OiBS3ENLR8ROR0lHIE1BQ0hFTiAoVU5ETykKCgoJICoqIFRpcHBlIHUgLCB1bSBkaWUgbGV0enRlbiBLb21tYW5kb3Mgcvxja2fkbmdpZyB6dSBtYWNoZW4gKioKCSAgICAgICoqIG9kZXIgVSAsIHVtIGVpbmUgZ2FuemUgWmVpbGUgd2llZGVyaGVyenVzdGVsbGVuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbgogICAgIHVuZCBzZXR6ZSBpaG4gYXVmIGRlbiBlcnN0ZW4gRmVobGVyLgogIDIuIFRpcHBlICB4ICAsIHVtIGRhcyBlcnN0ZSB1bmVyd/xuc2NodGUgWmVpY2hlbiB6dSBs9nNjaGVuLgogIDMuIE51biB0aXBwZSAgdSAgLCB1bSBkYXMgc29lYmVuIGF1c2dlZvxocnRlIEtvbW1hbmRvIHL8Y2tn5G5naWcgenUgbWFjaGVuLgogIDQuIEpldHp0IGJlaGViZSBhbGxlIEZlaGxlciBhdWYgZGVyIFplaWxlIG1pdCBIaWxmZSBkZXMgeCAgS29tbWFuZG9zLgogIDUuIE51biB0aXBwZSBlaW4gZ3Jv32VzICBVICwgdW0gZGllIFplaWxlIGluIGlocmVuIFVyc3BydW5nc3p1c3RhbmQKICAgICB3aWVkZXJoZXJ6dXN0ZWxsZW4uCiAgNi4gTnVuIHRpcHBlICB1ICBlaW5pZ2UgTWFsZSwgdW0gZGFzIFUgdW5kIGRpZSB2b3JoZXJnZWhlbmRlbiBLb21tYW5kb3MKICAgICBy/GNrZ+RuZ2lnIHp1IG1hY2hlbi4KICA3LiBOdW4gdGlwcGUgQ1RSTC1SIChoYWx0ZSBDVFJMIGdlZHL8Y2t0IHVuZCBkcvxja2UgUikgbWVocmVyZSBNYWxlLCB1bSBkaWUKICAgICBLb21tYW5kb3Mgd2llZGVyaGVyenVzdGVsbGVuIChkaWUgUvxja2fkbmdpZ21hY2h1bmdlbiBy/GNrZ+RuZ2lnIG1hY2hlbikuCgotLS0+IEJlZWhlYmUgZGllIEZlaGxsZXIgZGllc3NlciBaZWlsZSB1bmQgc3R0ZWxsZSBzaWUgbWl0dCAndW5kbycgd2llZGVyIGhlci4KCiAgOC4gRGllcyBzaW5kIHNlaHIgbvx0emxpY2hlIEtvbW1hbmRvcy4gIE51biBnZWhlIHdlaXRlciB6dXIgWnVzYW1tZW5mYXNzdW5nIAogICAgIHZvbiBMZWt0aW9uIDIuCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDIKCgogIDEuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBu5GNoc3RlbiBXb3J0IHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkdwogIDIuIFVtIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGVpbmVyIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICAgZCQKICAzLiBVbSBlaW5lIGdhbnplIFplaWxlIHp1IGz2c2NoZW4sIHRpcHBlOiAgICBkZAoKICA0LiBVbSBlaW5lIEJld2VndW5nIHp1IHdpZWRlcmhvbGVuLCBzdGVsbGUgZWluZSBOdW1tZXIgdm9yYW46ICAgMncKICA1LiBEYXMgRm9ybWF0IGb8ciBlaW4gxG5kZXJ1bmdza29tbWFuZG8gaXN0OgogICAgICAgICAgICAgICBPcGVyYXRvciAgIFtBbnphaGxdICAgQmV3ZWd1bmdzc2Nocml0dAogICAgIHdvYmVpOgogICAgICAgT3BlcmF0b3IgLSBnaWJ0IGFuLCB3YXMgZ2V0YW4gd2VyZGVuIHNvbGwsIHp1bSBCZWlzcGllbCAgZCAgZvxyIGRlbGV0ZQogICAgICAgW0FuemFobF0gLSBlaW4gb3B0aW9uYWxlciBa5GhsZXIsIHVtIGRlbiBCZXdlZ3VuZ3NzY2hyaXR0IHp1IHdpZWRlcmhvbGVuCiAgICAgICBCZXdlZ3VuZ3NzY2hyaXR0IC0gQmV3ZWd1bmcg/GJlciBkZW4genUg5G5kZXJuZGVuIFRleHQsIHdpZQoJCSAgdyAoV29ydCksICQgKHp1bSBFbmRlIGRlciBaZWlsZSksIGV0Yy4KCiAgNi4gVW0gRGljaCB6dW0gQW5mYW5nIGRlciBaZWlsZSB6dSBiZWdlYmVuLCBiZW51dHplIGRpZSBOdWxsOiAgMAoKICA3LiBVbSB2b3JoZXJpZ2UgQWt0aW9uZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOgkJdSAoa2xlaW5lcyB1KQogICAgIFVtIGFsbGUgxG5kZXJ1bmdlbiBhdWYgZWluZXIgWmVpbGUgcvxja2fkbmdpZyB6dSBtYWNoZW46ICAgVSAoZ3Jv32VzIFUpCiAgICAgVW0gZGllIFL8Y2tn5G5naWdtYWNodW5nZW4gcvxja2fkbmdpZyB6dSBtYWNoZW4sIHRpcHBlOiAgICBDVFJMLVIKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgICBMZWt0aW9uIDMuMTogQU5G3EdFTiAoUFVUKQoKCiAgICAgKiogVGlwcGUgIHAgICwgdW0gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBuYWNoIGRlbSBDdXJzb3IgYW56dWb8Z2VuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBUaXBwZSAgZGQgICwgdW0gZGllIFplaWxlIHp1IGz2c2NoZW4gdW5kIHNpZSBpbiBlaW5lbSBWaW0tUmVnaXN0ZXIgenUKICAgICBzcGVpY2hlcm4uCgogIDMuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBaZWlsZSBjKSwg3EJFUiBkZXJqZW5pZ2VuLCB3byBkaWUgZ2Vs9nNjaHRlIFplaWxlCiAgICAgcGxhdHppZXJ0IHdlcmRlbiBzb2xsLgoKICA0LiAgVGlwcGUgICBwICAgLCB1bSBkaWUgWmVpbGUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzIHp1IHBsYXR6aWVyZW4uCgogIDUuIFdpZWRlcmhvbGUgZGllIFNjaHJpdHRlIDIgYmlzIDQsIHVtIGFsbGUgWmVpbGVuIGluIGRpZSByaWNodGlnZQogICAgIFJlaWhlbmZvbGdlIHp1IGJyaW5nZW4uCgotLS0+IGQpIEthbm5zdCBEdSBkYXMgYXVjaD8KLS0tPiBiKSBWZWlsY2hlbiBzaW5kIGJsYXUsCi0tLT4gYykgSW50ZWxsaWdlbnogaXN0IGxlcm5iYXIsCi0tLT4gYSkgUm9zZW4gc2luZCByb3QsCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQlMZWt0aW9uIDMuMjogRVJTRVRaRU4gKFJFUExBQ0UpCgoKICAgKiogVGlwcGUgIHJ4ICAsIHVtIGRhcyBaZWljaGVuIHVudGVyIGRlbSBDdXJzb3IgZHVyY2ggIHggenUgZXJzZXR6ZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1ciBlcnN0ZW4gdW50ZW4gc3RlaGVuZGVuIG1pdCAtLS0+IG1hcmtpZXJ0ZW4gWmVpbGUuCgogIDIuIEJld2VnZSBkZW4gQ3Vyc29yLCBiaXMgZXIgc2ljaCBhdWYgZGVtIGVyc3RlbiBGZWhsZXIgYmVmaW5kZXQuCgogIDMuIFRpcHBlICByICB1bmQgYW5zY2hsaWXfZW5kIGRhcyBaZWljaGVuLCB3ZWxjaGVzIGRvcnQgc3RlaGVuIHNvbGx0ZS4KCiAgNC4gV2llZGVyaG9sZSBTY2hyaXR0ZSAyIHVuZCAzLCBiaXMgZGllIGVyc3RlIFplaWxlIGdsZWljaCBkZXIgendlaXRlbiBpc3QuCgotLS0+ICBBbGYgZGllc2UgWmVpdGUgZWluZ2Vnb2JlbiB3dXJkZSwgd3VyZGVuIGVpbmlrZSBmYWxzY2hlIFRhc3RlbiBnZWxpcHB0IQotLS0+ICBBbHMgZGllc2UgWmVpbGUgZWluZ2VnZWJlbiB3dXJkZSwgd3VyZGVuIGVpbmlnZSBmYWxzY2hlIFRhc3RlbiBnZXRpcHB0IQoKICA1LiBOdW4gZmFocmUgZm9ydCBtaXQgTGVrdGlvbiAzLjIuCgpBbm1lcmt1bmc6IEVyaW5uZXJlIERpY2ggZGFyYW4sIGRhc3MgRHUgZHVyY2ggQW53ZW5kZW4gbGVybmVuIHNvbGx0ZXN0LCBuaWNodCAKICAgICBkdXJjaCBBdXN3ZW5kaWdsZXJuZW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSAgTGVrdGlvbiAzLjM6IMROREVSTiAoQ0hBTkdFKQoKCiAgICAgICoqIFVtIGVpbmUgxG5kZXJ1bmcgYmlzIHp1bSBXb3J0ZW5kZSBkdXJjaHp1ZvxocmVuLCB0aXBwZSAgY2UgLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBQbGF0emllcmUgZGVuIEN1cnNvciBhdWYgZGFzICBzICB2b24gV3N0d3IuCgogIDMuIFRpcHBlICBjZSAgdW5kIGRpZSBXb3J0a29ycmVrdHVyIGVpbiAoaW4gZGllc2VtIEZhbGwgdGlwcGUgIPZydGVyICkuCgogIDQuIERy/GNrZSA8RVNDPiB1bmQgYmV3ZWdlIGRlbiBDdXJzb3IgenVtIG7kY2hzdGVuIHp1IORuZGVybmRlbiBaZWljaGVuLgoKICA1LiBXaWVkZXJob2xlIFNjaHJpdHRlIDMgdW5kIDQgYmlzIGRlciBlcnN0ZSBTYXR6IGdsZWljaCBkZW0gendlaXRlbiBpc3QuCgotLS0+IEVpbmlnZSBXc3R3ciBkaWVzZXIgWmxhd3cgbGFzZGpsYWYgbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2FhYXV1IHdlcmRlbi4KLS0tPiBFaW5pZ2UgV/ZydGVyIGRpZXNlciBaZWlsZSBzb2xsZW4gbWl0IGRlbSDEbmRlcm4tT3BlcmF0b3IgZ2XkbmRlcnQgd2VyZGVuLgoKQmVhY2h0ZSwgZGFzcyAgY2UgIGRhcyBXb3J0IGz2c2NodCB1bmQgRGljaCBpbiBkZW4gRWluZ2FiZW1vZHVzIHZlcnNldHp0LgoKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgICAgIExla3Rpb24gMy40OiBNRUhSIMROREVSVU5HRU4gTUlUVEVMUyBjCgoKICAgICAqKiBEYXMgY2hhbmdlLUtvbW1hbmRvIGFyYmVpdGV0IG1pdCBkZW5zZWxiZW4gQmV3ZWd1bmdlbiB3aWUgZGVsZXRlLiAgKioKCiAgMS4gRGVyIGNoYW5nZSBPcGVyYXRvciBhcmJlaXRldCBpbiBnbGVpY2hlciBXZWlzZSB3aWUgZGVsZXRlLiBEYXMgRm9ybWF0IGlzdDoKCiAgICAgICAgIGMgICAgW0FuemFobF0gIEJld2VndW5nc3NjaHJpdHQKCiAgMi4gRGllIEJld2VndW5nc3NjaHJpdHRlIHNpbmQgZGllIGdsZWljaGVuICwgc28gd2llICB3ICAoV29ydCkgdW5kICAkCiAgICAgKFplaWxlbmVuZGUpLgoKICAzLiBCZXdlZ2UgRGljaCB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gZXJzdGVuIEZlaGxlci4KCiAgNS4gVGlwcGUgIGMkICAsIGdpYiBkZW4gUmVzdCBkZXIgWmVpbGUgd2llIGluIGRlciB6d2VpdGVuIGVpbiwgZHL8Y2tlIDxFU0M+IC4KCi0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgYW4gZGllIHp3ZWl0ZSBaZWlsZSBhbmdlZ2xpY2hlbiB3ZXJkZW4uCi0tLT4gRGFzIEVuZGUgZGllc2VyIFplaWxlIHNvbGwgbWl0IGRlbSAgYyQgIEtvbW1hbmRvIGtvcnJpZ2llcnQgd2VyZGVuLgoKQW5tZXJrdW5nOiBEdSBrYW5uc3QgZGllIFL8Y2t0YXN0ZSBiZW51dHplbiwgdW0gVGlwcGZlaGxlciB6dSBrb3JyaWdpZXJlbi4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gMwoKCiAgMS4gVW0gZWluZW4gdm9yaGVyIGdlbPZzY2h0ZW4gVGV4dCBhbnp1ZvxnZW4sIHRpcHBlICAgcCAuIERpZXMgZvxndCBkZW4KICAgICBnZWz2c2NodGVuIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuICh3ZW5uIGVpbmUgZ2FuemUgWmVpbGUgZ2Vs9nNjaHQgd3VyZGUsCiAgICAgd2lyZCBkaWVzZSBpbiBkaWUgWmVpbGUgdW50ZXIgZGVtIEN1cnNvciBlaW5nZWb8Z3QpLgoKICAyLiBVbSBkYXMgWmVpY2hlbiB1bnRlciBkZW0gQ3Vyc29yIHp1IGVyc2V0emVuLCB0aXBwZSAgIHIgICB1bmQgZGFuYWNoIGRhcyAKICAgICBhbiBkaWVzZXIgU3RlbGxlIGdld29sbHRlIFplaWNoZW4uCgogIDMuIERlciDEbmRlcnVuZ3MtIChjaGFuZ2UpIE9wZXJhdG9yIGVybGF1YnQsIHZvbSBDdXJzb3IgYmlzIHp1bSBFbmRlIGRlcwogICAgIEJld2VndW5nc3NjaHJpdHRlcyB6dSDkbmRlcm4uIFRpcHBlICBjZSAgLCB1bSBlaW5lIMRuZGVydW5nIHZvbSBDdXJzb3IgYmlzCiAgICAgenVtIEVuZGUgZGVzIFdvcnRlcyB2b3J6dW5laG1lbjsgIGMkICBiaXMgenVtIEVuZGUgZWluZXIgWmVpbGUuCgogIDQuIERhcyBGb3JtYXQgZvxyIGNoYW5nZSBpc3Q6CgoJIGMgICBbQW56YWhsXSAgQmV3ZWd1bmdzc2Nocml0dAoKICBOdW4gZmFocmUgbWl0IGRlciBu5GNoc3RlbiBMZWt0aW9uIGZvcnQuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgTGVrdGlvbiA0LjE6IENVUlNPUlBPU0lUSU9OIFVORCBEQVRFSVNUQVRVUwoKICoqIFRpcHBlIENUUkwtRyAsIHVtIGRlaW5lIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzIGFuenV6ZWlnZW4uICoqCiAgICAgKiogVGlwcGUgRyAsIHVtIERpY2ggenUgZWluZXIgWmVpbGUgaW4gZGVyIERhdGVpIHp1IGJlZ2ViZW4uICoqCgpBbm1lcmt1bmc6IExpZXMgZGllc2UgZ2VzYW10ZSBMZWt0aW9uLCBiZXZvciBEdSBpcmdlbmRlaW5lbiBTY2hyaXR0IGF1c2b8aHJzdCEhCgogIDEuIEhhbHRlIGRpZSBDdHJsIFRhc3RlIHVudGVuIHVuZCBkcvxja2UgIGcgLiBEaWVzIG5lbm5lbiB3aXIgQ1RSTC1HLgogICAgIEVpbmUgU3RhdHVzbWVsZHVuZyBhbSBGdd8gZGVyIFNlaXRlIGVyc2NoZWludCBtaXQgZGVtIERhdGVpbmFtZW4gdW5kIGRlcgogICAgIFBvc2l0aW9uIGlubmVyaGFsYiBkZXIgRGF0ZWkuIE1lcmtlIERpciBkaWUgWmVpbGVubnVtbWVyIGb8ciBTY2hyaXR0IDMuCgpBbm1lcmt1bmc6IE32Z2xpY2hlcndlaXNlIHNpZWhzdCBEdSBkaWUgQ3Vyc29ycG9zaXRpb24gaW4gZGVyIHVudGVyZW4gcmVjaHRlbgogICAgICBCaWxkc2NoaXJtZWNrZS4gRGllcyBpc3QgQXVzd2lya3VuZyBkZXIgJ3J1bGVyJyBPcHRpb24gCgkgIChzaWVoZSA6aGVscCAncnVsZXInKQoKICAyLiBEcvxja2UgIEcgICwgdW0gRGljaCB6dW0gRW5kZSBkZXIgRGF0ZWkgenUgYmVnZWJlbi4KICAgICBUaXBwZSAgZ2cgICwgdW0gRGljaCB6dW0gQW5mYW5nIGRlciBEYXRlaSB6dSBiZWdlYmVuLgoKICAzLiBHaWIgZGllIE51bW1lciBkZXIgWmVpbGUgZWluLCBhdWYgZGVyIER1IHZvcmhlciB3YXJzdCwgZ2Vmb2xndCB2b24gIEcgLgogICAgIERpZXMgYnJpbmd0IERpY2ggenVy/GNrIHp1IGRlciBaZWlsZSwgYXVmIGRlciBEdSBnZXN0YW5kZW4gaGFzdCwgYWxzIER1CiAgICAgZGFzIGVyc3RlIE1hbCBDVFJMLUcgZ2Vkcvxja3QgaGFzdC4KCiAgNC4gV2VubiBEdSBEaWNoIHNpY2hlciBnZW51ZyBm/Ghsc3QsIGb8aHJlIGRpZSBTY2hyaXR0ZSAxIGJpcyAzIGF1cy4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgIExla3Rpb24gNC4yOiBEQVMgU1VDSEVOIC0gS09NTUFORE8KCgogICoqIFRpcHBlICAvICBnZWZvbGd0IHZvbiBlaW5lbSBBdXNkcnVjaywgdW0gbmFjaCBkZW0gQXVzZHJ1Y2sgenUgc3VjaGVuLiAqKgoKICAxLiBJbSBOb3JtYWxtb2R1cywgdGlwcGUgZGFzICAvICBaZWljaGVuLiAgQmVhY2h0ZSwgZGFzcyBkYXMgIC8gdW5kIGRlcgogICAgIEN1cnNvciBhbSBGdd8gZGVzIFNjaGlybXMgZXJzY2hlaW5lbiwgc28gd2llIGJlaW0gOglLb21tYW5kby4KCiAgMi4gTnVuIHRpcHBlICdGZWhobGVyJyA8RU5URVI+LiBEaWVzIGlzdCBkYXMgV29ydCwgbmFjaCBkZW0gRHUgc3VjaGVuIHdpbGxzdC4KCiAgMy4gVW0gbmFjaCBkZW1zZWxiZW4gQXVzZHJ1Y2sgd2VpdGVyenVzdWNoZW4sIHRpcHBlIGVpbmZhY2ggIG4gKGb8ciBuZXh0KS4KICAgICBVbSBuYWNoIGRlbXNlbGJlbiBBdXNkcnVjayBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4sIHRpcHBlICBOIC4KCiAgNC4gVW0gbmFjaCBlaW5lbSBBdXNkcnVjayBy/GNrd+RydHMgenUgc3VjaGVuICwgYmVudXR6ZSAgPyAgc3RhdHQgIC8gLgoKICA1LiBVbSBkYWhpbiB6dXL8Y2t6dWtlaHJlbiwgdm9uIHdvIER1IGdla29tbWVuIGJpc3QsIGRy/GNrZSBDVFJMLU8gKEhhbHRlCiAgICAgQ3RybCB1bnRlbiB1bmQgZHL8Y2tlIGRlbiBCdWNoc3RhYmVuIG8pLiBXaWVkZXJob2xlIGRpZXMsIHVtIG5vY2ggd2VpdGVyCiAgICAgenVy/GNrenVnZWhlbi4gIENUUkwtSSBnZWh0IHZvcnfkcnRzLgoKLS0tPiAgRmVobGVyIHNjaHJlaWJ0IHNpY2ggbmljaHQgIkZlaGhsZXIiOyBGZWhobGVyIGlzdCBlaW4gRmVobGVyCkFubWVya3VuZzogV2VubiBkaWUgU3VjaGUgZGFzIERhdGVpZW5kZSBlcnJlaWNodCBoYXQsIHdpcmQgc2llIGFtIEFuZmFuZwogICAgICAgIGZvcnRnZXNldHp0LCBlcyBzZWkgZGVubiwgZGllICd3cmFwc2NhbicgT3B0aW9uIHd1cmRlIGFiZ2VzY2hhbHRldC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICBMZWt0aW9uIDQuMzogUEFTU0VOREUgS0xBTU1FUk4gRklOREVOCgoKICAgKiogVGlwcGUgICUgLCB1bSBlaW5lIGdlZ2Vu/GJlcmxpZWdlbmRlbiBLbGFtbWVyICksXSwgb2RlciB9IHp1IGZpbmRlbi4gKioKCiAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgYXVmIGlyZ2VuZGVpbmVtIGRlciBaZWljaGVuICgsIFssIG9kZXIgeyBpbiBkZXIgdW50ZW4KICAgICBzdGVoZW5kZW4gWmVpbGUsIGRpZSBtaXQgLS0tPiBtYXJraWVydCBpc3QuCgogIDIuIE51biB0aXBwZSBkYXMgICUgIFplaWNoZW4uCgogIDMuIERlciBDdXJzb3IgYmV3ZWd0IHNpY2ggenVyIHBhc3NlbmRlbiBnZWdlbvxiZXJsaWVnZW5kZW4gS2xhbW1lci4KCiAgNC4gVGlwcGUgICUgLCB1bSBkZW4gQ3Vyc29yIHp1ciBwYXNzZW5kZW4gYW5kZXJlbiBLbGFtbWVyIHp1IGJld2VnZW4uCgogIDUuIFNldHplIGRlbiBDdXJzb3IgYXVmIGVpbiBhbmRlcmVzICgsKSxbLF0seyBvZGVyIH0gdW5kIHByb2JpZXJlICAlICBhdXMuCgotLS0+IERpZXMgKCBpc3QgZWluZSBUZXN0emVpbGUgKCBtaXQgWyB2ZXJzY2hpZWRlbmVuIF0geyBLbGFtbWVybiB9ICBkYXJpbi4gKSkKCkFubWVya3VuZzogRGllc2UgRnVua3Rpb25hbGl05HQgaXN0IHNlaHIgbvx0emxpY2ggYmVpIGRlciBGZWhsZXJzdWNoZSBpbiBlaW5lbQogICAgIFByb2dyYW1tdGV4dCwgaW4gZGVtIHBhc3NlbmRlIEtsYW1tZXJuIGZlaGxlbiEKCgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQlMZWt0aW9uIDQuNDogREFTIEVSU0VUWlVOR1NLT01NQU5ETyAoU1VCU1RJVFVURSkKCgoJICoqIFRpcHBlIDpzL2FsdC9uZXUvZyAgLCB1bSAnYWx0JyBkdXJjaCAnbmV1JyB6dSBlcnNldHplbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGVyIHVudGVuIHN0ZWhlbmRlbiBtaXQgLS0tPiBtYXJraWVydGVuIFplaWxlLgoKICAyLiBUaXBwZSAgOnMvZGllZS9kaWUgPEVOVEVSPiAuICBCZWFjaHRlLCBkYXNzIGRlciBCZWZlaGwgbnVyIGRhcyBlcnN0ZQogICAgIFZvcmtvbW1lbiB2b24gImRpZWUiIGVyc2V0enQuCgogIDMuIE51biB0aXBwZSAgIDpzL2RpZWUvZGllL2cgLiBEYXMgWnVm/GdlbiBkZXMgRmxhZ3MgIGcgICBiZWRldXRldCwgZWluZQogICAgIGdsb2JhbGUgRXJzZXR6dW5nIPxiZXIgZGllIFplaWxlIGR1cmNoenVm/GhyZW4sIGRpZXMgZXJzZXR6dCBhbGxlIAoJIFZvcmtvbW1lbiB2b24gImRpZWUiIGF1ZiBkZXIgWmVpbGUuCgotLS0+IGRpZWUgc2No9m5zdGUgWmVpdCwgdW0gZGllZSBCbHVtZW4gYW56dXNjaGF1ZW4sIGlzdCBkaWVlIEZy/GhsaW5nc3plaXQuCgogIDQuIFVtIGFsbGUgVm9ya29tbWVuIGVpbmVyIFplaWNoZW5rZXR0ZSBpbm5lcmhhbGIgendlaWVyIFplaWxlbiB6dSDkbmRlcm4sCiAgICAgdGlwcGUgIDojLCNzL2FsdC9uZXUvZyAgd29iZWkgIywjIGRpZSBaZWlsZW5udW1tZXJuIGRlcyBCZXJlaWNoZXMgc2luZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBkZW0gZGllIEVyc2V0enVuZyBkdXJjaGdlZvxocnQgd2VyZGVuIHNvbGwuCiAgICAgVGlwcGUgIDolcy9hbHQvbmV1L2cgICAgdW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdlc2FtdGVuIERhdGVpIHp1IORuZGVybi4KICAgICBUaXBwZSAgOiVzL2FsdC9uZXUvZ2MgICB1bSBhbGxlIFZvcmtvbW1lbiBpbiBkZXIgZ2VzYW10ZW4gRGF0ZWkgenUgZmluZGVuCiAgICAgICAgICAgICAgICAgICAgIG1pdCBlaW5lbSBGcmFnZWRpYWxvZywgb2IgZXJzZXR6dCB3ZXJkZW4gc29sbCBvZGVyIG5pY2h0Lgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA0CgogIDEuIENUUkwtRyAgemVpZ3QgZGllIGFrdHVlbGxlIERhdGVpcG9zaXRpb24gc293aWUgZGVuIERhdGVpc3RhdHVzLgogICAgICAgICAgICAgRyAgYnJpbmd0IERpY2ggenVtIEVuZGUgZGVyIERhdGVpLgogICAgIE51bW1lciAgRyAgYnJpbmd0IERpY2ggenVyIGVudHNwcmVjaGVuZGVuIFplaWxlbm51bW1lci4KICAgICAgICAgICAgZ2cgIGJyaW5ndCBEaWNoIHp1ciBlcnN0ZW4gWmVpbGUuCgogIDIuIERpZSBFaW5nYWJlIHZvbiAgLyAgcGx1cyBlaW5lbSBBdXNkcnVjayBzdWNodCBWT1JXxFJUUyBuYWNoIGRlbSBBdXNkcnVjay4KICAgICBEaWUgRWluZ2FiZSB2b24gID8gIHBsdXMgZWluZW0gQXVzZHJ1Y2sgc3VjaHQgUtxDS1fEUlRTIG5hY2ggZGVtIEF1c2RydWNrLgogICAgIFRpcHBlIG5hY2ggZWluZXIgU3VjaGUgIG4gICwgdW0gZGFzIG7kY2hzdGUgVm9ya29tbWVuIGluIGRlciBnbGVpY2hlbgogICAgIFJpY2h0dW5nIHp1IGZpbmRlbjsgb2RlciAgTiAgLCB1bSBpbiBkZXIgR2VnZW5yaWNodHVuZyB6dSBzdWNoZW4uCiAgICAgQ1RSTC1PIGJyaW5ndCBEaWNoIHp1cvxjayB6dSDkbHRlcmVuIFBvc2l0aW9uZW4sIENUUkwtSSB6dSBuZXVlcmVuLgoKICAzLiBEaWUgRWluZ2FiZSB2b24gICUgICwgd2VubiBkZXIgQ3Vyc29yIHNpY2ggYXVmICgsKSxbLF0seywgb2RlciB9CiAgICAgYmVmaW5kZXQsIGJyaW5ndCBEaWNoIHp1ciBHZWdlbmtsYW1tZXIuCgogIDQuIFVtIGRhcyBlcnN0ZSBWb3Jrb21tZW4gdm9uICJhbHQiIGluIGVpbmVyIFplaWxlIGR1cmNoICJuZXUiIHp1IGVyc2V0emVuLAogICAgICAgICAgICAgdGlwcGUgICAgICAgOnMvYWx0L25ldQogICAgIFVtIGFsbGUgVm9ya29tbWVuIHZvbiAiYWx0IiBpbiBkZXIgWmVpbGUgZXJzZXR6ZW4sIHRpcHBlICA6cy9hbHQvbmV1L2cKICAgICBVbSBBdXNkcvxja2UgaW5uZXJoYWxiIHp3ZWllciBaZWlsZW4gIyB6dSBlcnNldHplbiAgICAgICAgOiMsI3MvYWx0L25ldS9nCiAgICAgVW0gYWxsZSBWb3Jrb21tZW4gaW4gZGVyIGdhbnplbiBEYXRlaSB6dSBlcnNldHplbiwgdGlwcGUgIDolcy9hbHQvbmV1L2cKICAgICBG/HIgZWluZSBqZWRlc21hbGlnZSBCZXN05HRpZ3VuZywgYWRkaWVyZSAnYycgKGNvbmZpcm0pICAgOiVzL2FsdC9uZXUvZ2MKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJTGVrdGlvbiA1LjE6IEFVU0bcSFJFTiBFSU5FUyBFWFRFUk5FTiBLT01NQU5ET1MKCgogICoqIEdpYiAgOiEgLCBnZWZvbGd0IHZvbiBlaW5lbSBleHRlcm5lbiBLb21tYW5kbyBlaW4sIHVtIGVzIGF1c3p1ZvxocmVuLiAqKgoKICAxLiBUaXBwZSBkYXMgdmVydHJhdXRlIEtvbW1hbmRvICA6ICAsIHVtIGRlbiBDdXJzb3IgYXVmIGRlbiBGdd8gZGVzIFNjaGlybXMKICAgICB6dSBzZXR6ZW4uIERpZXMgZXJsYXVidCBEaXIsIGVpbiBLb21tYW5kb3plaWxlbi1Lb21tYW5kbyBlaW56dWdlYmVuLgoKICAyLiBOdW4gdGlwcGUgZWluICAhICAoQXVzcnVmZXplaWNoZW4pLiAgRGllcyBlcm32Z2xpY2h0IERpciwgZWluIGJlbGllYmlnZXMsCiAgICAgZXh0ZXJuZXMgU2hlbGxrb21tYW5kbyBhdXN6dWb8aHJlbi4KCiAgMy4gQWxzIEJlaXNwaWVsIHRpcHBlICAgbHMgICBuYWNoIGRlbSAgISAgdW5kIGRy/GNrZSA8RU5URVI+LiBEaWVzIGxpZWZlcnQKICAgICBlaW5lIEF1Zmxpc3R1bmcgZGVpbmVzIFZlcnplaWNobmlzc2VzOyBnZW5hdXNvLCBhbHMgd2VubiBEdSBpbiBkZXIKICAgICBFaW5nYWJlYXVmZm9yZGVydW5nIHfkcnN0LiAgT2RlciB2ZXJ3ZW5kZSAgOiFkaXIgICwgZmFsbHMgbHMgbmljaHQgZ2VodC4KCkFubWVya3VuZzogIE1pdCBkaWVzZXIgTWV0aG9kZSBrYW5uIGplZGVzIGJlbGllYmlnZSBleHRlcm5lIEtvbW1hbmRvCiAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4sIGF1Y2ggbWl0IEFyZ3VtZW50ZW4uCgpBbm1lcmt1bmc6ICBBbGxlICA6ICBLb21tYW5kb3Mgbfxzc2VuIGR1cmNoIEVpbmdhYmUgdm9uIDxFTlRFUj4KICAgICBhYmdlc2NobG9zc2VuIHdlcmRlbi4gVm9uIGpldHp0IGFuIGVyd+RobmVuIHdpciBkaWVzIG5pY2h0IGplZGVzbWFsLgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCUxla3Rpb24gNS4yOiBNRUhSINxCRVIgREFTIFNDSFJFSUJFTiBWT04gREFURUlFTgoKCioqIFVtIGFtIFRleHQgZHVyY2hnZWb8aHJ0ZSDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiwgdGlwcGUgOncgREFURUlOQU1FLiAqKgoKICAxLiBUaXBwZSAgOiFkaXIgIG9kZXIgIDohbHMgICwgdW0gZWluZSBBdWZsaXN0dW5nIGRlaW5lcyBWZXJ6ZWljaG5pc3NlcyB6dQogICAgIGVyaGFsdGVuLiAgRHUgd2Vp33QgbnVuIGJlcmVpdHMsIGRhc3MgRHUgZGFuYWNoIDxFTlRFUj4gZWluZ2ViZW4gbXVzc3QuCgogIDIuIFfkaGxlIGVpbmVuIERhdGVpbmFtZW4sIGRlciBub2NoIG5pY2h0IGV4aXN0aWVydCwgei5CLiBURVNULgoKICAzLiBOdW4gdGlwcGU6ICA6dyBURVNUICAgKHdvYmVpIFRFU1QgZGVyIGdld+RobHRlIERhdGVpbmFtZSBpc3QpLgoKICA0LiBEaWVzIHNwZWljaGVydCBkaWUgZ2FuemUgRGF0ZWkgKGRlbiBWaW0gVHV0b3IpIHVudGVyIGRlbSBOYW1lbiBURVNULgogICAgIFVtIGRpZXMgenUg/GJlcnBy/GZlbiwgdGlwcGUgbm9jaG1hbHMgIDohbHMgIGJ6dy4gICFkaXIsIHVtIGRlaW5lbgogICAgIFZlcnplaWNobmlzaW5oYWx0IHp1IHNlaGVuLgoKQW5tZXJrdW5nOiBX/HJkZXN0IER1IFZpbSBqZXR6dCBiZWVuZGVuIHVuZCBkYW5hY2ggd2llZGVyIG1pdCB2aW0gVEVTVAogICAgc3RhcnRlbiwgZGFubiB35HJlIGRpZXNlIERhdGVpIGVpbmUgZXhha3RlIEtvcGllIGRlcyBUdXRvcnMgenUgZGVtCiAgICBaZWl0cHVua3QsIGFscyBEdSBpaG4gZ2VzcGVpY2hlcnQgaGFzdC4KCiAgNS4gTnVuIGVudGZlcm5lIGRpZSBEYXRlaSBkdXJjaCBFaW5nYWJlIHZvbiAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAogICAgICAgICAgICAgICAgICAgICAgb2RlciAoVW5peCk6ICAgICAgICAgICAgICAgICAgICAgICAgIDohcm0gVEVTVAp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkgTGVrdGlvbiA1LjM6IEFVU1fESExFTiBWT04gVEVYVCBaVU0gU0NIUkVJQkVOCgoqKiBVbSBlaW5lbiBBYnNjaG5pdHQgZGVyIERhdGVpIHp1IHNwZWljaGVybiwgIHRpcHBlICB2ICBCZXdlZ3VuZyAgOncgREFURUkgKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenUgZGllc2VyIFplaWxlLgoKICAyLiBUaXBwZSAgdiAgdW5kIGJld2VnZSBkZW4gQ3Vyc29yIHp1bSBm/G5mdGVuIEF1Zmxpc3R1bmdzcHVua3QgdW50ZW4uCiAgICAgQmVhY2h0ZSwgZGFzcyBkZXIgVGV4dCBoZXJ2b3JnZWhvYmVuIHdpcmQuCgogIDMuIERy/GNrZSBkYXMgWmVpY2hlbiAgOiAuIEFtIEZ13yBkZXMgU2NoaXJtcyBlcnNjaGVpbnQgIDonPCwnPiAuCgogIDQuIFRpcHBlICB3IFRFU1QgICwgd29iZWkgVEVTVCBlaW4gbm9jaCBuaWNodCB2b3JoYW5kZW5lciBEYXRlaW5hbWUgaXN0LgogICAgIFZlcmdld2lzc2VyZSBEaWNoLCBkYXNzIER1ICA6JzwsJz53IFRFU1QgIHNpZWhzdCwgYmV2b3IgRHUgPEVOVEVSPiBkcvxja3N0LgoKICA1LiBWaW0gc2NocmVpYnQgZGllIGF1c2dld+RobHRlbiBaZWlsZW4gaW4gZGllIERhdGVpIFRFU1QuIEJlbnV0emUgIDohZGlyCiAgICAgb2RlciAgOiFscyAsIHVtIHNpZSB6dSBzZWhlbi4gTPZzY2hlIHNpZSBub2NoIG5pY2h0ISBXaXIgd2VyZGVuIHNpZSBpbgogICAgIGRlciBu5GNoc3RlbiBMZWt0aW9uIGJlbnV0emVuLgoKSGlud2VpczogRHL8Y2tlbiB2b24gIHYgIHN0YXJ0ZXQgZGllIFZpc3VlbGxlIEF1c3dhaGwuIER1IGthbm5zdCBkZW4gQ3Vyc29yCiAgIHVtaGVyYmV3ZWdlbiwgdW0gZGllIEF1c3dhaGwgenUgdmVyZ3L232VybiBvZGVyIHp1IHZlcmtsZWluZXJuLiBBbnNjaGxpZd9lbmQKICAgbORzc3Qgc2ljaCBlaW4gT3BlcmF0b3IgYW53ZW5kZW4sIHVtIG1pdCBkZW0gVGV4dCBldHdhcyB6dSB0dW4uIFp1bSBCZWlzcGllbAogICBs9nNjaHQgIGQgIGRlbiBUZXh0LgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgICAgICBMZWt0aW9uIDUuNDogRUlOTEVTRU4gVU5EIFpVU0FNTUVORtxIUkVOIFZPTiBEQVRFSUVOCgoKICAgICAgICoqIFVtIGRlbiBJbmhhbHQgZWluZXIgRGF0ZWkgZWluenVsZXNlbiwgdGlwcGUgIDpyIERBVEVJTkFNRSAgKioKCiAgMS4gUGxhdHppZXJlIGRlbiBDdXJzb3IgZGlyZWt0IPxiZXIgZGllc2VyIFplaWxlLgoKQkVBQ0hURTogIE5hY2hkZW0gRHUgU2Nocml0dCAyIGF1c2dlZvxocnQgaGFzdCwgd2lyc3QgRHUgVGV4dCBhdXMgTGVrdGlvbiA1LjMKICAgICAgIHNlaGVuLiBEYW5uIGJld2VnZSBEaWNoIHdpZWRlciBBQlfEUlRTLCBMZWt0aW9uIDUuNCB3aWVkZXJ6dXNlaGVuLgoKICAyLiBOdW4gbGllcyBkZWluZSBEYXRlaSBURVNUIGVpbiBpbmRlbSBEdSBkYXMgS29tbWFuZG8gIDpyIFRFU1QgIGF1c2b8aHJzdCwKICAgICB3b2JlaSBURVNUIGRlciB2b24gRGlyIHZlcndlbmRldGUgRGF0ZWluYW1lIGlzdC4KICAgICBEaWUgZWluZ2VsZXNlbmUgRGF0ZWkgd2lyZCB1bnRlcmhhbGIgZGVyIEN1cnNvcnplaWxlIGVpbmdlZvxndC4KCiAgMy4gVW0genUg/GJlcnBy/GZlbiwgZGFzcyBkaWUgRGF0ZWkgZWluZ2VsZXNlbiB3dXJkZSwgZ2VoZSB6dXL8Y2sgdW5kIAogICAgIGJlYWNodGUsIGRhc3MgZXMgamV0enQgendlaSBLb3BpZW4gdm9uIExla3Rpb24gNS4zIGdpYnQsIGRhcyBPcmlnaW5hbCB1bmQgCgkgZGllIGVpbmdlZvxndGUgRGF0ZWl2ZXJzaW9uLgoKQW5tZXJrdW5nOiBEdSBrYW5uc3QgYXVjaCBkaWUgQXVzZ2FiZSBlaW5lcyBleHRlcm5lbiBLb21tYW5kb3MgZWlubGVzZW4uIFp1bQogICAgIEJlaXNwaWVsIGxpZXN0ICA6ciAhbHMgIGRpZSBBdXNnYWJlIGRlcyBLb21tYW5kb3MgbHMgZWluIHVuZCBwbGF0emllcnQKICAgICBzaWUgdW50ZXJoYWxiIGRlcyBDdXJzb3JzLgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCSBaVVNBTU1FTkZBU1NVTkcgVk9OIExFS1RJT04gNQoKCiAgMS4gOiFLb21tYW5kbyAgZvxocnQgZWluIGV4dGVybmVzIEtvbW1hbmRvIGF1cy4KCiAgICAgIEVpbmlnZSBu/HR6bGljaGUgQmVpc3BpZWxlIHNpbmQKCShNUy1ET1MpCSAgKFVuaXgpCgkgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHplaWd0IGVpbmUgVmVyemVpY2huaXNhdWZsaXN0dW5nLgoJIDohZGVsIERBVEVJTkFNRSAgIDohcm0gREFURUlOQU1FICAtICBlbnRmZXJudCBEYXRlaSBEQVRFSU5BTUUuCgogIDIuIDp3IERBVEVJTkFNRSAgc3BlaWNoZXJ0IGRpZSBha3R1ZWxsZSBWaW0tRGF0ZWkgdW50ZXIgZGVtIE5hbWVuICBEQVRFSU5BTUUuCgogIDMuIHYgIEJld2VndW5nICA6dyBEQVRFSU5BTUUgIHNjaHJlaWJ0IGRpZSBWaXN1ZWxsIGF1c2dld+RobHRlbiBaZWlsZW4gaW4KICAgICBkaWUgRGF0ZWkgREFURUlOQU1FLgoKICA0LiA6ciBEQVRFSU5BTUUgIGzkZHQgZGllIERhdGVpIERBVEVJTkFNRSB1bmQgZvxndCBzaWUgdW50ZXJoYWxiIGRlcgogICAgIEN1cnNvcnBvc2l0aW9uIGVpbi4KCiAgNS4gOnIgIWRpciAgbGllc3QgZGllIEF1c2dhYmUgZGVzIEtvbW1hbmRvcyBkaXIgdW5kIGb8Z3Qgc2llIHVudGVyaGFsYiBkZXIKICAgICBDdXJzb3Jwb3NpdGlvbiBlaW4uCgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgICAgIExla3Rpb24gNi4xOiBaRUlMRU4g1kZGTkVOIChPUEVOKQoKCiAgICoqIFRpcHBlICBvCSwgdW0gZWluZSBaZWlsZSB1bnRlcmhhbGIgZGVzIEN1cnNvcnMgenUg9mZmbmVuIHVuZCBEaWNoIGluICoqCiAgICAgICAgICAgICAgICAgICAgICAqKiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uICoqCgogIDEuIEJld2VnZSBkZW4gQ3Vyc29yIHp1IGRlciBlcnN0ZW4gbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbi4KCiAgMi4gVGlwcGUgbyAoa2xlaW4gZ2VzY2hyaWViZW4pLCB1bSBlaW5lIFplaWxlIFVOVEVSSEFMQiBkZXMgQ3Vyc29ycyB6dSD2ZmZuZW4KICAgICB1bmQgRGljaCBpbiBkZW4gRWluZvxnZW1vZHVzIHp1IGJlZ2ViZW4uCgogIDMuIE51biB0aXBwZSBldHdhcyBUZXh0IHVuZCBkcvxja2UgPEVTQz4gLCB1bSBkZW4gRWluZvxnZW1vZHVzIHp1IHZlcmxhc3Nlbi4KCi0tLT4gTWl0ICBvICB3aXJkIGRlciBDdXJzb3IgYXVmIGRlciBvZmZlbmVuIFplaWxlIGltIEVpbmb8Z2Vtb2R1cyBwbGF0emllcnQuCgogIDQuIFVtIGVpbmUgWmVpbGUg3EJFUkhBTEIgZGVzIEN1cnNvcnMgYXVmenVtYWNoZW4sIGdpYiBlaW5mYWNoIGVpbiBncm/fZXMgIE8KICAgICBzdGF0dCBlaW5lbSBrbGVpbmVuICBvICBlaW4uIFZlcnN1Y2hlIGRpZXMgYXVmIGRlciB1bnRlbiBzdGVoZW5kZW4gWmVpbGUuCgotLS0+INZmZm5lIGVpbmUgWmVpbGUg/GJlciBkaWVzZXIgbWl0IE8gLCB3ZW5uIGRlciBDdXJzb3IgYXVmIGRpZXNlciBaZWlsZSBpc3QuCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgICBMZWt0aW9uIDYuMjogVEVYVCBBTkbcR0VOIChBUFBFTkQpCgoKCSAgICAgKiogVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgZWluenVm/Gdlbi4gKioKCiAgMS4gQmV3ZWdlIGRlbiBDdXJzb3IgenVtIEFuZmFuZyBkZXIgZXJzdGVuINxidW5nc3plaWxlIG1pdCAtLS0+IHVudGVuLgoKICAyLiBEcvxja2UgIGUgICwgYmlzIGRlciBDdXJzb3IgYW0gRW5kZSB2b24gIFplaSAgc3RlaHQuCgogIDMuIFRpcHBlIGVpbiBrbGVpbmVzICBhICAsIHVtIFRleHQgTkFDSCBkZW0gQ3Vyc29yIGFuenVm/Gdlbi4KCiAgNC4gVmVydm9sbHN05G5kaWdlIGRhcyBXb3J0IHNvIHdpZSBpbiBkZXIgWmVpbGUgZGFydW50ZXIuICBEcvxja2UgPEVTQz4gLAogICAgIHVtIGRlbiBFaW5m/GdlbW9kdXMgenUgdmVybGFzc2VuLgoKICA1LiBCZXdlZ2UgRGljaCBtaXQgIGUgIHp1bSBu5GNoc3RlbiB1bnZvbGxzdORuZGlnZW4gV29ydCB1bmQgd2llZGVyaG9sZQogICAgIFNjaHJpdHRlIDMgdW5kIDQuCgotLS0+IERpZXNlIFplaSBiaWV0ZXQgR2VsZWdlbiAsIFRleHQgaW4gZWluZXIgWmVpbGUgYW56dWb8LgotLS0+IERpZXNlIFplaWxlIGJpZXRldCBHZWxlZ2VuaGVpdCwgVGV4dCBpbiBlaW5lciBaZWlsZSBhbnp1ZvxnZW4uCgpBbm1lcmt1bmc6ICBhLCBpIHVuZCBBIGdlaGVuIGFsbGUgZ2xlaWNoZXJtYd9lbiBpbiBkZW4gRWluZvxnZW1vZHVzOyBkZXIKICAgICAgICAgICAgZWluemlnZSBVbnRlcnNjaGllZCBpc3QsIHdvIGRpZSBaZWljaGVuIGVpbmdlZvxndCB3ZXJkZW4uCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAgICAgTGVrdGlvbiA2LjM6IEVJTkUgQU5ERVJFIEFSVCBERVMgRVJTRVRaRU5TIChSRVBMQUNFKQoKCiAgICAgICAqKiBUaXBwZSBlaW4gZ3Jv32VzICBSICAsIHVtIG1laHIgYWxzIGVpbiBaZWljaGVuIHp1IGVyc2V0emVuLiAqKgoKICAxLiBCZXdlZ2UgZGVuIEN1cnNvciB6dXIgZXJzdGVuIHVudGVuIHN0ZWhlbmRlbiwgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZS4KICAgICBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gQW5mYW5nIGRlcyBlcnN0ZW4gIHh4eCAuCgogIDIuIE51biBkcvxja2UgIFIgIHVuZCB0aXBwZSBkaWUgTnVtbWVyLCBkaWUgZGFydW50ZXIgaW4gZGVyIHp3ZWl0ZW4gWmVpbGUKICAgICBzdGVodCwgc28gZGFzcyBkaWVzZSBkYXMgeHh4IGVyc2V0enQuCgogIDMuIERy/GNrZSA8RVNDPiAsIHVtIGRlbiBFcnNldHp1bmdzbW9kdXMgenUgdmVybGFzc2VuLiBCZWFjaHRlLCBkYXNzIGRlciBSZXN0CiAgICAgZGVyIFplaWxlIHVudmVy5G5kZXJ0IGJsZWlidC4KCiAgNC4gV2llZGVyaG9sZSBkaWUgU2Nocml0dGUsIHVtIGRhcyB2ZXJibGllYmVuZSB4eHggenUgZXJzZXR6ZW4uCgotLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IHh4eCBlcmdpYnQgeHh4LgotLS0+IERhcyBBZGRpZXJlbiB2b24gMTIzIHp1IDQ1NiBlcmdpYnQgNTc5LgoKQW5tZXJrdW5nOiBEZXIgRXJzZXR6dW5nc21vZHVzIGlzdCB3aWUgZGVyIEVpbmb8Z2Vtb2R1cywgYWJlciBqZWRlcyBlaW5nZXRpcHB0ZQogICAgICAgICAgIFplaWNoZW4gbPZzY2h0IGVpbiB2b3JoYW5kZW5lcyBaZWljaGVuLgoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJICAgIExla3Rpb24gNi40OiBURVhUIEtPUElFUkVOIFVORCBFSU5G3EdFTgoKICoqIEJlbnV0emUgZGVuICB5ICBPcGVyYXRvciwgdW0gVGV4dCB6dSBrb3BpZXJlbjsgIHAgICwgdW0gaWhuIGVpbnp1ZvxnZW4gKioKCiAgMS4gR2VoZSB6dSBkZXIgbWl0IC0tLT4gbWFya2llcnRlbiBaZWlsZSB1bnRlbjsgc2V0emUgZGVuIEN1cnNvciBoaW50ZXIgImEpIi4KCiAgMi4gU3RhcnRlIGRlbiBWaXN1ZWxsZW4gTW9kdXMgbWl0ICB2ICAsIGJld2VnZSBkZW4gQ3Vyc29yIGdlbmF1IHZvciAiZXJzdGUiLgoKICAzLiBUaXBwZSAgeSAgLCB1bSBkZW4gaGVydm9yZ2Vob2JlbiBUZXh0IHp1IGtvcGllcmVuLgoKICA0LiBCZXdlZ2UgZGVuIEN1cnNvciB6dW0gRW5kZSBkZXIgbuRjaHN0ZW4gWmVpbGU6ICBqJAoKICA1LiBUaXBwZSAgcCAsIHVtIGRlbiBUZXh0IGVpbnp1ZvxnZW4gdW5kIGFuc2NobGll32VuZDogIGEgendlaXRlIDxFU0M+IC4KCiAgNi4gQmVudXR6ZSBkZW4gVmlzdWVsbGVuIE1vZHVzLCB1bSAiIEVpbnRyYWcuIiBhdXN6dXfkaGxlbiwga29waWVyZSBtaXR0ZWxzCiAgICAgeSAsIGJld2VnZSBEaWNoIHp1bSBFbmRlIGRlciBu5GNoc3RlbiBaZWlsZSBtaXQgIGokICB1bmQgZvxnZSBkZW4gVGV4dAogICAgIGRvcnQgbWl0ICBwICBhbi4KCi0tLT4gIGEpIGRpZXMgaXN0IGRlciBlcnN0ZSBFaW50cmFnLgogICAgICBiKQoKQW5tZXJrdW5nOiBEdSBrYW5uc3QgIHkgIGF1Y2ggYWxzIE9wZXJhdG9yIHZlcndlbmRlbjsgIHl3ICBrb3BpZXJ0IGVpbiBXb3J0Lgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCQkJICBMZWt0aW9uIDYuNTogT1BUSU9ORU4gU0VUWkVOCgogICAgICAqKiBTZXR6ZSBlaW5lIE9wdGlvbiBzbywgZGFzcyBlaW5lIFN1Y2hlIG9kZXIgRXJzZXR6dW5nIEdyb98tICoqCgkJICAgICAgKiogdW5kIEtsZWluc2NocmVpYnVuZyBpZ25vcmllcnQgKioKCiAgMS4gU3VjaGUgbmFjaCAnaWdub3JpZXJlJywgaW5kZW0gRHUgICAgL2lnbm9yaWVyZSAgIGVpbmdpYnN0LgogICAgIFdpZWRlcmhvbGUgZGllIFN1Y2hlIGVpbmlnZSBNYWxlLCBpbmRlbSBEdSBkaWUgbiAtIFRhc3RlIGRy/GNrc3QuCgogIDIuIFNldHplIGRpZSAnaWMnIChJZ25vcmUgY2FzZSkgLSBPcHRpb24sIGluZGVtIER1ICAgOnNldCBpYyAgIGVpbmdpYnN0LgoKICAzLiBOdW4gc3VjaGUgd2llZGVyIG5hY2ggJ2lnbm9yaWVyZScsIGluZGVtIER1ICBuICB0aXBwc3QuCiAgICAgQmVhY2h0ZSwgZGFzcyBqZXR6dCBJZ25vcmllcmUgdW5kIGF1Y2ggSUdOT1JJRVJFIGdlZnVuZGVuIHdpcmQuCgogIDQuIFNldHplIGRpZSAnaGxzZWFyY2gnIHVuZCAnaW5jc2VhcmNoJyAtIE9wdGlvbmVuOiAgICAgOnNldCBobHMgaXMKCiAgNS4gV2llZGVyaG9sZSBkaWUgU3VjaGUgdW5kIGJlb2JhY2h0ZSwgd2FzIHBhc3NpZXJ0OiAvaWdub3JpZXJlIDxFTlRFUj4KCiAgNi4gVW0gZGFzIElnbm9yaWVyZW4gdm9uIEdyb98vS2xlaW5zY2hyZWlidW5nIGFienVzY2hhbHRlbiwgdGlwcGU6ICA6c2V0IG5vaWMKCkFubWVya3VuZzogVW0gZGllIEhlcnZvcmhlYnVuZyBkZXIgVHJlZmZlciB6dSBlbnRmZXJuZW4sIGdpYiBlaW46ICA6bm9obHNlYXJjaApBbm1lcmt1bmc6IFVtIGRpZSBTY2hyZWlid2Vpc2UgZvxyIGVpbmUgZWluemlnZSBTdWNoZSB6dSBpZ25vcmllcmVuLCBiZW51dHplIFxjCiAgICAgICAgICAgaW0gU3VjaGF1c2RydWNrOiAgL2lnbm9yaWVyZVxjICA8RU5URVI+Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgWlVTQU1NRU5GQVNTVU5HIFZPTiBMRUtUSU9OIDYKCiAxLiBUaXBwZSAgbyAgLCB1bSBlaW5lIFplaWxlIFVOVEVSIGRlbSBDdXJzb3IgenUg9mZmbmVuIHVuZCBkZW4gRWluZvxnZW1vZHVzCiAgICAgICAgICAgICAgICB6dSBzdGFydGVuCiAgICBUaXBwZSAgTyAgLCB1bSBlaW5lIFplaWxlINxCRVIgZGVtIEN1cnNvciB6dSD2ZmZuZW4uCgogMi4gVGlwcGUgIGEgICwgdW0gVGV4dCBOQUNIIGRlbSBDdXJzb3IgYW56dWb8Z2VuLgogICAgVGlwcGUgIEEgICwgdW0gVGV4dCBuYWNoIGRlbSBaZWlsZW5lbmRlIGFuenVm/Gdlbi4KCiAzLiBEYXMgS29tbWFuZG8gIGUgIGJyaW5ndCBEaWNoIHp1bSBFbmRlIGVpbmVzIFdvcnRlcy4KCiA0LiBEZXIgT3BlcmF0b3IgIHkgICh5YW5rKSBrb3BpZXJ0IFRleHQsICBwICAocHV0KSBm/Gd0IGlobiBlaW4uCgogNS4gRWluIGdyb99lcyAgUiAgZ2VodCBpbiBkZW4gRXJzZXR6dW5nc21vZHVzIGJpcyB6dW0gRHL8Y2tlbiB2b24gIDxFU0M+IC4KCiA2LiBEaWUgRWluZ2FiZSB2b24gIjpzZXQgeHh4IiBzZXR6dCBkaWUgT3B0aW9uICJ4eHgiLiBFaW5pZ2UgT3B0aW9uZW4gc2luZDoKCSdpYycgJ2lnbm9yZWNhc2UnICAgIElnbm9yaWVyZSBHcm/fL0tsZWluc2NocmVpYnVuZyBiZWkgZWluZXIgU3VjaGUKCSdpcycgJ2luY3NlYXJjaCcgICAgIFplaWdlIFRlaWz8YmVyZWluc3RpbW11bmdlbiBm/HIgZWluZW4gU3VjaGF1c2RydWNrCgknaGxzJyAnaGxzZWFyY2gnICAgICBIZWJlIGFsbGUgcGFzc2VuZGVuIEF1c2Ry/GNrZSBoZXJ2b3IKICAgIERlciBPcHRpb25zbmFtZSBrYW5uIGluIGRlciBLdXJ6LSBvZGVyIGRlciBMYW5nZm9ybSBhbmdlZ2ViZW4gd2VyZGVuLgoKIDcuIFN0ZWxsZSBlaW5lciBPcHRpb24gIm5vIiB2b3JhbiwgdW0gc2llIGFienVzY2hhbHRlbjogICA6c2V0IG5vaWMKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCUxla3Rpb24gNy4xIDogQVVGUlVGRU4gVk9OIEhJTEZFCgoKCQkgICAgICoqIE51dHplIGRhcyBlaW5nZWJhdXRlIEhpbGZlc3lzdGVtICoqCgogIFZpbSBiZXNpdHp0IGVpbiB1bWZhc3NlbmRlcyBlaW5nZWJhdXRlcyBIaWxmZXN5c3RlbS4gIEb8ciBkZW4gQW5mYW5nIHByb2JpZXJlCiAgZWlucyBkZXIgZHJlaSBmb2xnZW5kZW4gRGluZ2UgYXVzOgoJLSBEcvxja2UgZGllIDxIaWxmZT4gLSBUYXN0ZSAoZmFsbHMgRHUgZWluZSBiZXNpdHp0KQoJLSBEcvxja2UgZGllIDxGMT4gVGFzdGUgKGZhbGxzIER1IGVpbmUgYmVzaXR6dCkKCS0gVGlwcGUgICA6aGVscCA8RU5URVI+CgogIExpZXMgZGVuIFRleHQgaW0gSGlsZmVmZW5zdGVyLCB1bSB6dSB2ZXJzdGVoZW4gd2llIGRpZSBIaWxmZSBmdW5rdGlvbmllcnQuCiAgVGlwcGUgIENUUkwtVyBDVFJMLVcgICAsIHVtIHZvbiBlaW5lbSBGZW5zdGVyIHp1bSBhbmRlcmVuIHp1IHNwcmluZ2VuLgogIFRpcHBlICAgOnEgPEVOVEVSPiAgLCB1bSBkYXMgSGlsZmVmZW5zdGVyIHp1IHNjaGxpZd9lbi4KCiAgRHUga2FubnN0IEhpbGZlIHp1IHByYWt0aXNjaCBqZWRlbSBUaGVtYSBmaW5kZW4sIGluZGVtIER1IGRlbSAiOmhlbHAiLQogIEtvbW1hbmRvIGVpbiBBcmd1bWVudCBnaWJzdC4gIFByb2JpZXJlIGZvbGdlbmRlcyAoPEVOVEVSPiBuaWNodCB2ZXJnZXNzZW4pOgoKCTpoZWxwIHcKCTpoZWxwIGNfQ1RSTC1ECgk6aGVscCBpbnNlcnQtaW5kZXgKCTpoZWxwIHVzZXItbWFudWFsCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCSAgICAgTGVrdGlvbiA3LjI6IEVSU1RFTExFIEVJTiBTVEFSVC1TS1JJUFQKCgoJICAgICAgICAgICoqICBBa3RpdmllcmUgZGllIEZlYXR1cmVzIHZvbiBWaW0gKioKCiAgVmltIGJlc2l0enQgdmllbGUgRnVua3Rpb25hbGl05HRlbiwgZGllIPxiZXIgVmkgaGluYXVzZ2VoZW4sIGFiZXIgZGllIG1laXN0ZW4KICB2b24gaWhuZW4gc2luZCBzdGFuZGFyZG3k32lnIGRlYWt0aXZpZXJ0LiBVbSBtZWhyIEZ1bmt0aW9uYWxpdOR0ZW4genUgbnV0emVuLAogIG11c3N0IER1IGVpbmUgInZpbXJjIiAtIERhdGVpIGVyc3RlbGxlbi4KCiAgMS4gU3RhcnRlIGRhcyBFZGl0aWVyZW4gZGVyICJ2aW1yYyItRGF0ZWksIGFiaORuZ2lnIHZvbiBkZWluZW0gU3lzdGVtOgoJOmUgfi8udmltcmMJCWb8ciBVbml4Cgk6ZSAkVklNL192aW1yYwkJZvxyIE1TLVdpbmRvd3MKCiAgMi4gTnVuIGxpZXMgZGVuIEluaGFsdCBkZXIgQmVpc3BpZWwtInZpbXJjIi1EYXRlaSBlaW46Cgk6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQoKICAzLiBTcGVpY2hlcmUgZGllIERhdGVpIG1pdDoKCTp3CgogIEJlaW0gbuRjaHN0ZW4gU3RhcnQgdm9uIFZpbSB3aXJkIGRpZSBTeW50YXhoZXJ2b3JoZWJ1bmcgYWt0aXZpZXJ0IHNlaW4uCiAgRHUga2FubnN0IGFsbCBkZWluZSBiZXZvcnp1Z3RlbiBPcHRpb25lbiB6dSBkaWVzZXIgInZpbXJjIi1EYXRlaSB6dWb8Z2VuLgogIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4gdGlwcGUgIDpoZWxwIHZpbXJjLWludHJvCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJCQkgTGVrdGlvbiA3LjM6IFZFUlZPTExTVMRORElHRU4KCgoJICAgKiogS29tbWFuZG96ZWlsZW52ZXJ2b2xsc3TkbmRpZ3VuZyBtaXQgQ1RSTC1EIHVuZCA8VEFCPiAqKgoKICAxLiBTdGVsbGUgc2ljaGVyLCBkYXNzIFZpbSBuaWNodCBpbSBWaS1Lb21wYXRpYmlsaXTkdHNtb2R1cyBpc3Q6ICA6c2V0IG5vY3AKCiAgMi4gU2llaGUgbmFjaCwgd2VsY2hlIERhdGVpZW4gaW0gVmVyemVpY2huaXMgZXhpc3RpZXJlbjogIDohbHMgIG9kZXIgIDpkaXIKCiAgMy4gVGlwcGUgZGVuIEJlZ2lubiBlaW5lcyBLb21tYW5kb3M6ICA6ZQoKICA0LiBEcvxja2UgIENUUkwtRCAgdW5kIFZpbSB6ZWlndCBlaW5lIExpc3RlIG1pdCAiZSIgYmVnaW5uZW5kZXIgS29tbWFuZG9zLgoKICA1LiBEcvxja2UgIDxUQUI+ICB1bmQgVmltIHZlcnZvbGxzdORuZGlndCBkZW4gS29tbWFuZG9uYW1lbiB6dSAiOmVkaXQiLgoKICA2LiBOdW4gZvxnZSBlaW4gTGVlcnplaWNoZW4gdW5kIGRlbiBBbmZhbmcgZWluZXIgZXhpc3RpZXJlbmRlbiBEYXRlaSBhbjoKICAgICA6ZWRpdCBEQVQKCiAgNy4gRHL8Y2tlIDxUQUI+LiBWaW0gdmVydm9sbHN05G5kaWd0IGRlbiBOYW1lbiAoZmFsbHMgZXIgZWluZGV1dGlnIGlzdCkuCgpBbm1lcmt1bmc6IFZlcnZvbGxzdORuZGlndW5nIGZ1bmt0aW9uaWVydCBm/HIgdmllbGUgS29tbWFuZG9zLiBQcm9iaWVyZQogICAgIGVpbmZhY2ggQ1RSTC1EIHVuZCA8VEFCPi4gIERpZXMgaXN0IGluc2Jlc29uZGVyZSBu/HR6bGljaCBm/HIgIDpoZWxwIC4Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkJCQkgICAgIFpVU0FNTUVORkFTU1VORyBWT04gTEVLVElPTiA3CgoKICAxLiBUaXBwZSAgOmhlbHAgIG9kZXIgZHL8Y2tlIDxGMT4gb2RlciA8SGVscD4sIHVtIGVpbiBIaWxmZWZlbnN0ZXIgenUg9mZmbmVuLgoKICAyLiBUaXBwZSAgOmhlbHAgS29tbWFuZG8gICwgdW0gSGlsZmUg/GJlciAgS29tbWFuZG8gIHp1IGVyaGFsdGVuLgoKICAzLiBUaXBwZSAgQ1RSTC1XIENUUkwtVyAgLCB1bSB6dW0gYW5kZXJlbiBGZW5zdGVyIHp1IHNwcmluZ2VuLgoKICA0LiBUaXBwZSAgOnEgICwgdW0gZGFzIEhpbGZlZmVuc3RlciB6dSBzY2hsaWXfZW4uCgogIDUuIEVyc3RlbGxlIGVpbiB2aW1yYyAtIFN0YXJ0c2tyaXB0IG1pdCBkZWluZW4gYmV2b3J6dWd0ZXIgRWluc3RlbGx1bmdlbi4KCiAgNi4gRHL8Y2tlIENUUkwtRCBuYWNoIGRlbSBUaXBwZW4gZWluZXMgIDogIEtvbW1hbmRvcywgdW0gbfZnbGljaGUKICAgICBWZXJ2b2xsc3TkbmRpZ3VuZ2VuIGFuenVzZWhlbi4KICAgICBEcvxja2UgPFRBQj4gLCB1bSBlaW5lIFZlcnZvbGxzdORuZGlndW5nIHp1IGFuenV3ZW5kZW4uCgoKCgoKCn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKICBEYW1pdCBpc3QgZGVyIFZpbSBUdXRvciBiZWVuZGV0LiAgU2VpbmUgSW50ZW50aW9uIHdhciwgZWluZW4ga3VyemVuIHVuZAogIGL8bmRpZ2VuINxiZXJibGljayD8YmVyIGRlbiBWaW0gRWRpdG9yIHp1IGdlYmVuOyBnZXJhZGUgZ2VudWcsIHVtIHJlbGF0aXYKICBsZWljaHQgbWl0IGlobSB1bWdlaGVuIHp1IGv2bm5lbi4gIERlciBWaW0gVHV0b3IgaGF0IG5pY2h0IGRlbiBnZXJpbmdzdGVuCiAgQW5zcHJ1Y2ggYXVmIFZvbGxzdORuZGlna2VpdDsgVmltIGhhdCBub2NoIHdlaXRhdXMgbWVociBLb21tYW5kb3MuIExpZXMgYWxzCiAgbuRjaHN0ZXMgZGFzIFVzZXIgTWFudWFsOiAiOmhlbHAgdXNlci1tYW51YWwiLgoKICBG/HIgd2VpdGVyZXMgTGVzZW4gdW5kIExlcm5lbiBpc3QgZm9sZ2VuZGVzIEJ1Y2ggZW1wZmVobGVuc3dlcnQgOgoJVmltIC0gVmkgSW1wcm92ZWQgLSB2b24gU3RldmUgT3VhbGxpbmUKCVZlcmxhZzogTmV3IFJpZGVycwogIERhcyBlcnN0ZSBCdWNoLCB3ZWxjaGVzIGR1cmNoZ+RuZ2lnIFZpbSBnZXdpZG1ldCBpc3QuICBCZXNvbmRlcnMgbvx0emxpY2gKICBm/HIgQW5m5G5nZXIuICBWaWVsZSBCZWlzcGllbGUgdW5kIEJpbGRlciBzaW5kIGVudGhhbHRlbi4KICBTaWVoZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAoKICBGb2xnZW5kZXMgQnVjaCBpc3Qg5Gx0ZXIgdW5kIG1laHIg/GJlciBWaSBhbHMgVmltLCBhYmVyIGF1Y2ggZW1wZmVobGVuc3dlcnQ6CglUZXh0YmVhcmJlaXR1bmcgbWl0IGRlbSBWaS1FZGl0b3IgIC0gIHZvbiBMaW5kYSBMYW1iIHVuZCBBcm5vbGQgUm9iYmlucwoJVmVybGFnIE8nUmVpbGx5IC0gSVNCTjogMzg5NzIxMTI2MgogIEluIGRpZXNlbSBCdWNoIGthbm4gbWFuIGZhc3QgYWxsZXMgZmluZGVuLCB3YXMgbWFuIG1pdCBWaSB0dW4gbfZjaHRlLgogIERpZSBzZWNoc3RlIEF1c2dhYmUgZW50aORsdCBhdWNoIEluZm9ybWF0aW9uZW4g/GJlciBWaW0uCgogIEFscyBha3R1ZWxsZSBSZWZlcmVueiBm/HIgVmVyc2lvbiA2LjIgdW5kIGtuYXBwZSBFaW5m/GhydW5nIGRpZW50IGRhcwogIGZvbGdlbmRlIEJ1Y2g6Cgl2aW0gZ2UtcGFja3Qgdm9uIFJlaW5oYXJkIFdvYnN0CgltaXRwLVZlcmxhZywgSVNCTiAzLTgyNjYtMTQyNS05CiAgVHJvdHogZGVyIGtvbXBha3RlbiBEYXJzdGVsbHVuZyBpc3QgZXMgZHVyY2ggdmllbGUgbvx0emxpY2hlIEJlaXNwaWVsZSBhdWNoCiAgZvxyIEVpbnN0ZWlnZXIgZW1wZmVobGVuc3dlcnQuICBQcm9iZWthcGl0ZWwgdW5kIGRpZSBCZWlzcGllbHNrcmlwdGUgc2luZAogIG9ubGluZSBlcmjkbHRsaWNoLiAgU2llaGUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKCiAgRGllc2VzIFR1dG9yaWFsIHd1cmRlIGdlc2NocmllYmVuIHZvbiBNaWNoYWVsIEMuIFBpZXJjZSB1bmQgUm9iZXJ0IEsuIFdhcmUsCiAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzLiBFcyBiZW51dHp0IElkZWVuLCBkaWUgQ2hhcmxlcyBTbWl0aCwgQ29sb3JhZG8gU3RhdGUKICBVbml2ZXJzaXR5LCB6dXIgVmVyZvxndW5nIHN0ZWxsdGUuICBFLU1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KCiAgQmVhcmJlaXRldCBm/HIgVmltIHZvbiBCcmFtIE1vb2xlbmFhci4KICBEZXV0c2NoZSDcYmVyc2V0enVuZyB2b24gSm9hY2hpbSBIb2ZtYW5uIDIwMTUuICBFLU1haWw6IEpvYWNoaW0uSG9mQGdteC5kZQoKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cg==