CSAgIEluc3RhbGxhdGlvbnMtIHVuZCBCZWRpZW51bmdzYW5sZWl0dW5nIGb8ciBXSU5FCgkJCSAgICAgUGV0ZXIgR2FudGVuCgkJCSAgIHBldGVyQGdhbnRlbi5vcmcKCQkJICAgICA3LiBKdWxpIDIwMDAKCgoxLiBadXNhbW1lbmZhc3N1bmcKCkRpZXNlciBUZXh0IGJlc2NocmVpYnQgZGllIEluc3RhbGxhdGlvbiwgRWlucmljaHR1bmcgdW5kIEJlZGllbnVuZyB2b24KV0lORS4gV0lORSBpc3QgZWluZSBMYXVmemVpdHVtZ2VidW5nIHp1bSBBdXNm/GhyZW4gdm9uIFByb2dyYW1tZW4gZvxyCk1TLVdpbmRvd3MgdW50ZXIgR05VL0xpbnV4IHVuZCBhbmRlcmVuIFVOSVgta29tcGF0aWJsZW4KQmV0cmllYnNzeXN0ZW1lbiBhdWYgSW50ZWwteDM4Ni1rb21wYXRpYmxlbiBDb21wdXRlcm4sIGRhcyBQcm9ncmFtbSBrYW5uCmF132VyZGVtIGRhenUgZ2VudXR6dCB3ZXJkZW4sIGRlbiBRdWVsbGNvZGUgZXhpc3RpZXJlbmRlcgpXaW5kb3dzLVByb2dyYW1tZSBuYWNoIFVOSVggenUgcG9ydGllcmVuLiBJbiBkaWVzZW0gVGV4dCBnZWh0IGVzIGluCmVyc3RlciBMaW5pZSBqZWRvY2ggdW0gZGllIEluc3RhbGxhdGlvbiB1bmQgS29uZmlndXJhdGlvbiBkZXIKTGF1ZnplaXR1bWdlYnVuZyBm/HIgV2luZG93cy1Qcm9ncmFtbWUuIERlciBUZXh0IHd1cmRlCnVyc3By/G5nbGljaCBhbHMgQmVnbGVpdG1hdGllcmlhbCBm/HIgZWluZW4gVm9ydHJhZyD8YmVyIFdJTkUgdW5kIGRpZQpJbnRlZ3JhdGlvbiB2b24gV2luZG93cy1BbndlbmR1bmdlbiB1bnRlciBHTlUvTGludXggYXVmIGRlbSBMaW51eFRhZwoyMDAwIHZvbSAzMC4gSnVuaSBiaXMgenVtIDIuIEp1bGkgMjAwMCBpbiBTdHV0dGdhcnQgZ2VzY2hyaWViZW4uIAoKMi4gRWlubGVpdHVuZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCk1pdCBXSU5FIHdpcmQgZWluIHVtZmFzc2VuZGVyIEFuc2F0eiB6dXIgSW50ZWdyYXRpb24gdm9uCldpbmRvd3MtQW53ZW5kdW5nZW4gdW50ZXIgR05VL0xpbnV4IHZlcmZvbGd0LiBXSU5FIGJlc3RlaHQgdS5hLiBhdXMKZWluZW0gTG9hZGVyLCBtaXQgZGVtIFdpbmRvd3MtIHVuZCBET1MtUHJvZ3JhbW1lIHVudGVyIExpbnV4IGluIGRlbgpTcGVpY2hlciBnZWxhZGVuIHVuZCB2b20gUHJvemVzc29yIGRlcyBSZWNobmVycyBhdXNnZWb8aHJ0IHdlcmRlbgpr9m5uZW4uIEF132VyZGVtIHN0ZWxsdCBkYXMgUHJvZ3JhbW0gZWluZW4gZ3Jv32VuIFRlaWwgZGVyClNjaG5pdHRzdGVsbGVuIChBUElzKSBXaW5kb3dzLWJhc2llcnRlciBCZXRyaWVic3N5c3RlbWUgenVyIFZlcmb8Z3VuZy4KRGllc2UgU2Nobml0dHN0ZWxsZW4gd2VyZGVuIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4sIGRpZSBtaXQgV0lORQphdXNnZWb8aHJ0IHdlcmRlbiwgYmVudXR6dCwgc28gZGFzcyBzb2xjaGUgUHJvZ3JhbW1lIGRpZSBzZWxiZSwKZXJ3YXJ0ZXRlIFVtZ2VidW5nIHZvcmZpbmRlbiwgd2llIHVudGVyIFdpbmRvd3MuIFdlaWwgZGllc2UKU2Nobml0dHN0ZWxsZW4gbWl0IFdJTkUgdm9yaGFuZGVuIHNpbmQgdW5kIGRlcmVuIERlZmluaXRpb25lbiBpbiBGb3JtCnZvbiBIZWFkZXItRGF0ZWllbiB2b3JsaWVnZW4sIGthbm4gV0lORSBhdWNoIGJlbnV0enQgd2VyZGVuLCB1bSBkZW4KUXVlbGxjb2RlIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gbmFjaCBHTlUvTGludXggb2RlciBhbmRlcmVuClVOSVgtYmFzaWVydGVuIEJldHJpZWJzc3lzdGVtZW4genUgcG9ydGllcmVuLiBFcyBlbnRzdGVoZW4gZGFubiBlY2h0ZQpVTklYL0xpbnV4LVByb2dyYW1tZSwgd2VsY2hlIGRpZSBzZWxiZSBGdW5rdGlvbmFsaXTkdCBoYWJlbiwgd2llIGlocmUK5HF1aXZhbGVudGVuIFByb2dyYW1tZSB1bnRlciBXaW5kb3dzLiBEaWUgVmVyd2VuZHVuZyBlaW5lcwplaW5oZWl0bGljaGVuIEFQSXMgdW50ZXIgV2luZG93cyB1bmQgTGludXggaGF0IGb8ciBTb2Z0d2FyZWhlcnN0ZWxsZXIKZGVuIFZvcnRlaWwsIGRhc3MgbnVyIGVpbmUgZWluemlnZSBWZXJzaW9uIGRlcyBRdWVsbGNvZGVzIGdlcGZsZWd0IHVuZAp3ZWl0ZXJlbnR3aWNrZWx0IHdlcmRlbiBtdXNzLCBkaWUgc2ljaCB1bnRlciBiZWlkZW4KQmV0cmllYnNzeXN0ZW1mYW1pbGllbiB2ZXJ3ZW5kZW4gbORzc3QuCgpEYXMgV0lORS1Qcm9qZWt0IHd1cmRlIDE5OTMgZ2VzdGFydGV0LCBlcyB3aXJkIGltIHdlc2VudGxpY2hlbiB2b24KRnJlaXdpbGxpZ2VuIGdldHJhZ2VuLCBkaWUg/GJlciBNYWlsaW5nbGlzdGVuIG1pdGVpbmFuZGVyCmtvbW11bml6aWVyZW4uIEluIGxldHp0ZXIgWmVpdCBoYXQgV0lORSB6dXPkdHpsaWNoZSBVbnRlcnN0/HR6dW5nCmR1cmNoIG1laHJlcmUga29tbWVyemllbGxlIFVudGVybmVobWVuIGVyZmFocmVuLCBkaWUgV0lORSBkYXp1CmVpbnNldHplbiwgaWhyZSBXaW5kb3dzLVByb2dyYW1tZSBuYWNoIEdOVS9MaW51eCB6dSBwb3J0aWVyZW4uIFdJTkUKaXN0IGhldXRlIGluIGRlciBMYWdlIGVpbmVuIGdyb99lbiBUZWlsIGRlciBleGlzdGllcmVuZGVuCldpbmRvd3MtUHJvZ3JhbW1lICgxNi0gdW5kIDMyYml0KSB1bnRlciBMaW51eCBhdXN6dWb8aHJlbiwgaW4gZWluZW0KYmVncmVuenRlbiBVbWZhbmcga/ZubmVuIGF1Y2ggRE9TLVByb2dyYW1tZSBtaXQgV0lORSBiZW51dHp0CndlcmRlbi4gV0lORSBm/GhydCBXaW5kb3dzLVByb2dyYW1tZSBkaXJla3QgdW50ZXIgTGludXggYXVzLCBlcwpiZW72dGlndCBkYXp1IGtlaW5lIHNwZXppZWxsZW4gS2VybmVsZXJ3ZWl0ZXJ1bmdlbiwga2VpbmUgYmVzb25kZXJlbgpSZWNodGUgdW5kIGtlaW5lIGV4aXN0aWVyZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbi4gRGFzIERlc2lnbiBlcmxhdWJ0CmVzLCBkaWUgYmV0cmVmZmVuZGVuIFByb2dyYW1tZSB1bnRlciBMaW51eCBnZW5hdXNvIHNjaG5lbGwKYXVzenVm/GhyZW4sIHdpZSB1bnRlciBXaW5kb3dzLCB3ZWlsIGtlaW5lIEVtdWxhdGlvbiBpbSBTaW5uZSBlaW5lcgpJbnRlcnByZXRhdGlvbiB2b24gUHJvemVzc29yYW53ZWlzdW5nZW4gc3RhdHRmaW5kZXQuIFp1ciBBdXNm/GhydW5nCmVpbmVzIGJlc3RpbW10ZW4gUHJvZ3JhbW1zIHdlcmRlbiB1bnRlciBHTlUvTGludXggbWl0IFdJTkUgdGhlb3JldGlzY2gKZGllIHNlbGJlbiBTeXN0ZW1yZXNzb3VyY2VuIGJlbvZ0aWd0LCB3aWUgdW50ZXIgV2luZG93cy4gT3B0aW9uYWwga2FubgpXSU5FIGVpbmUgYmVzdGVoZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIEVzIGlzdCBkYW5uCm32Z2xpY2gsIGRpZSBFaW5zdGVsbHVuZ2VuIGRpZXNlciBJbnN0YWxsYXRpb24gZvxyIFdpbmRvd3MtUHJvZ3JhbW1lCnp1IPxiZXJuZWhtZW4gdW5kIGVpbmlnZSBPcmlnaW5hbC1CZXN0YW5kdGVpbGUgdm9uIFdpbmRvd3MgbWl0IFdJTkUgenUKdmVyd2VuZGVuLCB3ZWxjaGUgaW4gV0lORSBub2NoIG5pY2h0IGluIGF1c3JlaWNoZW5kZW0gVW1mYW5nIHp1cgpWZXJm/Gd1bmcgc3RlaGVuLgogICAKSW0gZm9sZ2VuZGVuIHdpcmQgYmVzY2hyaWViZW4sIHdpZSBXSU5FIGF1ZiBlaW5lbSBHTlUvTGludXgtU3lzdGVtCmluc3RhbGxpZXJ0IHVuZCBlaW5nZXJpY2h0ZXQgd2VyZGVuIGthbm4uIEF1c2dlZ2FuZ2VuIHdpcmQgZGFiZWkgdm9uCmRlciBMaW51eC1EaXN0cmlidXRpb24gRGViaWFuIEdOVS9MaW51eCAyLjIgKHBvdGF0bykgdW5kIGRlcgpXSU5FLVZlcnNpb24gMjAwMDA2MTQuIEJlaSBWZXJ3ZW5kdW5nIGVpbmVyIGFuZGVyZW4gTGludXgtRGlzdHJpYnV0aW9uCm9kZXIgZWluZXIgYW5kZXJlbiBXSU5FLVZlcnNpb24gc2luZCBkaWUgYmVzY2hyaWViZW5lbiBTY2hyaXR0ZQplbnRzcHJlY2hlbmQgYW56dXBhc3Nlbi4KICAgCjMuIEJpbuRycGFrZXQgb2RlciBRdWVsbGNvZGU/CgpJbiBkZW4gbWVpc3RlbiBMaW51eC1EaXN0cmlidXRpb25lbiBzaW5kIGhldXRlIFdJTkUtUGFrZXRlCmVudGhhbHRlbi4gSGllcmJlaSBoYW5kZWx0IGVzIHNpY2ggdW0gQmlu5HJwYWtldGUsIGRpZSBXSU5FIGluIGVpbmVyCkZvcm0gZW50aGFsdGVuLCBpbiBkZXIgZXMgZGlyZWt0IGF1c2dlZvxocnQgd2VyZGVuIGthbm4uIEFrdHVlbGxlClZlcnNpb25lbiBzb2xjaGVyIFBha2V0ZSBsYXNzZW4gc2ljaCBhdWNoIHZvbiB2ZXJzY2hpZWRlbmVuCkludGVybmV0c2VpdGVuIGhlcnVudGVybGFkZW4uIFRoZW9yZXRpc2NoIHNvbGx0ZSBXSU5FIG5hY2ggZGVyCkluc3RhbGxhdGlvbiBlaW5lcyBCaW7kcnBha2V0cyBzaW5udm9sbCBrb25maWd1cmllcnQgdW5kIHNvZm9ydApiZW51dHpiYXIgc2Vpbi4gVGF0c+RjaGxpY2ggaXN0IGVzIGluIHZpZWxlbiBG5GxsZW4gamVkb2NoIG5vdHdlbmRpZywgCmRpZSBtaXQgZGVtIFBha2V0IGluc3RhbGxpZXJ0ZSBLb25maWd1cmF0aW9uIHp1IPxiZXJhcmJlaXRlbi4gCgpBdWZncnVuZCBkZXIgc2NobmVsbGVuIEVudHdpY2tsdW5nIHZvbiBXSU5FIHdpcmQgenVyIFplaXQgZW1wZm9obGVuLAphbiBTdGVsbGUgZWluZXMgQmlu5HJwYWtldHMgZGVuIGFrdHVlbGxlbiBRdWVsbGNvZGUgenUgdmVyd2VuZGVuLiBEZXIKUXVlbGxjb2RlIG11c3MsIG5hY2hkZW0gbWFuIGlobiBzaWNoIGJlc2NoYWZmdCBoYXQsIGVudHBhY2t0LAprb25maWd1cmllcnQgdW5kIGtvbXBpbGllcnQgKPxiZXJzZXR6dCkgd2VyZGVuLiBEYWJlaSBlbnRzdGVodCBkYW5uCmVpbmUgQmlu5HJkYXRlaSwgZGllIGdlbmF1IGFuIGRhcyBlaWdlbmUgU3lzdGVtIGFuZ2VwYXNzdCBpc3QgdW5kCmRlc2hhbGIgZWluZSBo9mhlcmUgV2FocnNjaGVpbmxpY2hrZWl0IGb8ciBvcHRpbWFsZSBFcmdlYm5pc3NlIGJpZXRldCwKYWxzIEJpbuRycGFrZXRlLCBkaWUgdS5VLiBm/HIgZWluIGFuZGVycyBrb25maWd1cmllcnRlcyBTeXN0ZW0KZXJzdGVsbHQgd3VyZGVuLiBEaWUgVmVyd2VuZHVuZyBkZXMgUXVlbGxjb2RlcyBiaWV0ZXQgYXXfZXJkZW0gZGllCk32Z2xpY2hrZWl0LCBkYXMgUHJvZ3JhbW0gcmVsYXRpdiBlaW5mYWNoIGFrdHVhbGlzaWVyZW4genUga/ZubmVuLAp3b2JlaSBuaWNodCBpbW1lciB3aWVkZXIgZGFzIGtvbXBsZXR0ZSBQYWtldCBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuCm11c3MuIERhcvxiZXJoaW5hdXMga2FubiBtaXQgZGVyIFZlcndlbmR1bmcgZGVzIGFrdHVlbGxlbiBRdWVsbGNvZGVzIApzaWNoZXJnZXN0ZWxsdCB3ZXJkZW4sIGRhc3MgZXZ0bC4gYXVmdHJldGVuZGUgRmVobGVyIHdpcmtsaWNoIGluIFdJTkUKdm9yaGFuZGVuIHNpbmQgdW5kIG5pY2h0IGJlcmVpdHMgYmVob2JlbiB3b3JkZW4gc2luZC4gRGFkdXJjaCB3aXJkIGRpZQpN9mdsaWNoa2VpdCBnZXN0ZWlnZXJ0LCBzaW5udm9sbGUgRmVobGVyYmVyaWNodGUgYW4gZGllCldJTkUtRW50d2lja2xlciBzY2hpY2tlbiB6dSBr9m5uZW4uIAoKRGllIEluc3RhbGxhdGlvbiB2b24gQmlu5HJwYWtldGVuIGlzdCBhYmjkbmdpZyB2b20gZWluZ2VzZXR6dGVuClBha2V0Zm9ybWF0IGRlciBEaXN0cmlidXRpb24gKHp1bWVpc3Qgd2lyZCBkYXMgUmVkaGF0LSBvZGVyCkRlYmlhbi1Gb3JtYXQgYmVudXR6dCkgc293aWUgZGVyIERpc3RyaWJ1dGlvbiBzZWxic3QuIERpZSBoaWVyenUKYmVu9nRpZ3RlbiBJbmZvcm1hdGlvbmVuIHNvbGx0ZW4gc2ljaCBpbiBkZXIgRG9rdW1lbnRhdGlvbiBkZXIgdm9uCklobmVuIGVpbmdlc2V0enRlbiBEaXN0cmlidXRpb24gZmluZGVuLiBJbiBkaWVzZW0gVGV4dCB3aXJkIGRpZQpJbnN0YWxsYXRpb24gYXVzIGRlbSBRdWVsbGNvZGUgdm9uIFdJTkUgYmVzY2hyaWViZW4uIAoKNC4wIFN5c3RlbXZvcmF1c3NldHp1bmdlbgoKRGFtaXQgV0lORSBhdWYgZGVtIFN5c3RlbSD8YmVyc2V0enQgdW5kIGF1c2dlZvxocnQgd2VyZGVuIGthbm4sIG38c3NlbgpkaWUgZm9sZ2VuZGVuIFByb2dyYW1tZSB1bmQgRGF0ZWllbiBpbnN0YWxsaWVydCBzZWluOgoKICAgIDEuIExpbnV4LUtlcm5lbCBkZXIgVmVyc2lvbnNmYW1pbGllIDIuMi54LiAoV0lORSBs5HNzdCBzaWNoIGF1Y2gKICAgICAgIHVudGVyIExpbnV4LUtlcm5lbHMgZGVyIFZlcnNpb25zZmFtaWxpZSAyLjAueCBhdXNm/GhyZW4sCiAgICAgICBhbGxlcmRpbmdzIHVudGVyc3T8dHplbiBkaWVzZSBLZXJuZWxzIGJlc3RpbW10ZSB2b24gV0lORSBiZW72dGlndGUKICAgICAgIEVpZ2Vuc2NoYWZ0ZW4gbmljaHQuIERpZXMgbWFjaHQgc2ljaCBpbnNiZXNvbmRlcmUgZGFubiBiZW1lcmtiYXIsCiAgICAgICB3ZW5uIDMyQml0LVdpbmRvd3Nwcm9ncmFtbWUgbWl0IFdJTkUgYXVzZ2Vm/GhydCB3ZXJkZW4gc29sbGVuLCBiZWkKICAgICAgIGRlbmVuIG1laHJlcmUgVGhyZWFkcyBnbGVpY2h6ZWl0aWcgYXVzZ2Vm/GhydCB3ZXJkZW4uKSBEaWUKICAgICAgIFZlcnNpb25zbnVtbWVyIGRlcyBha3R1ZWxsIGF1c2dlZvxocnRlbiBMaW51eC1LZXJuZWxzIHdpcmQKICAgICAgIGFuZ2V6ZWlndCwgd2VubiBkZXIgZm9sZ2VuZGVuIEJlZmVobCBhbiBkZXIgS29tbWFuZG96ZWlsZQogICAgICAgZWluZ2VnZWJlbiB3aXJkOgoKICAgICAgIHVuYW1lIC1yIAoKICAgIDIuIEVzIHdpcmQgZW1wZm9obGVuLCBkaWUgR05VIEMtQmlibGlvdGhlayAobGliYzYpIGFiIFZlcnNpb24gMi4xCiAgICAgICBlaW56dXNldHplbi4gRGllIFZlcnNpb25zbnVtbWVyIGRlciBha3R1ZWxsIGVpbmdlc2V0enRlbgogICAgICAgQy1CaWJsaW90aGVrIGthbm4gYW5nZXplaWd0IHdlcmRlbiwgaW5kZW0gZGVyIGZvbGdlbmRlIAogICAgICAgQmVmZWhsIGJlbnV0enQgd2lyZDoKCiAgICAgICBscyAtbCAvbGliL2xpYmMuc28uKiAKCiAgICAgICBBdWYgZWluaWdlbiBTeXN0ZW1lbiBpc3Qgc293b2hsIGRpZSDkbHRlcmUgQy1CaWJsaW90aGVrIGxpYmM1LAogICAgICAgYWxzIGF1Y2ggZGllIG5ldWVyZSBCaWJsaW90aGVrIGxpYmM2IHZvcmhhbmRlbi4gRW50c2NoZWlkZW5kCiAgICAgICBpc3QgZGFubiBpbiBkZXIgUmVnZWwgZGllIG5ldWVyZSBWZXJzaW9uLiBEaWUgQy1CaWJsaW90aGVrIG11c3MKICAgICAgIFJlZW50cmFudCBzZWluLCBkYW1pdCBXSU5FIE11bHRpdGhyZWFkaW5nIHVudGVyc3T8dHplbgogICAgICAga2Fubi4gRGllcyBpc3QgYmVpIGFsbGVuIG5ldWVyZW4gTGludXgtRGlzdHJpYnV0aW9uZW4gZGVyCiAgICAgICBGYWxsLiBEaWUgQy1CaWJsaW90aGVrIGJlZmluZGV0IHNpY2ggaW0gUGFrZXQgbGliYzYuIFVtIFdJTkUgenUKICAgICAgIPxiZXJzZXR6ZW4gd2VyZGVuIHp1c+R0emxpY2ggZGllIEVudHdpY2tsZXJkYXRlaWVuIHp1cgogICAgICAgQy1CaWJsaW90aGVrIGJlbvZ0aWd0LiBEaWVzZSBiZWZpbmRlbiBzaWNoIHVudGVyIERlYmlhbiBpbQogICAgICAgUGFrZXQgbGliYzYtZGV2LgoKICAgIDMuIFdlaWwgV0lORSBkYXMgWCBXaW5kb3cgU3lzdGVtIGJlbnV0enQsIHdlcmRlbiBkaWUgWC1CaWJsaW90aGVrZW4KICAgICAgIHVuZCwgd2VubiBXSU5FIPxiZXJzZXR6dCB3ZXJkZW4gc29sbCwgZGllIEVudHdpY2tsZXJkYXRlaWVuIGb8cgogICAgICAgWCBiZW72dGlndC4gRGllIEJpYmxpb3RoZWtlbiBzaW5kIHVudGVyIERlYmlhbiBpbSBQYWtldCB4bGliNmcKICAgICAgIHVuZCBkaWUgRW50d2lja2xlcmRhdGVpZW4gaW0gUGFrZXQgeGxpYjZnLWRldiBlbnRoYWx0ZW4uCgogICAgNC4gRGFy/GJlcmhpbmF1cyBiZW72dGlndCBXSU5FIGRpZSBYUE0tQmlibGlvdGhlayAoUGFrZXQgeHBtNGcpLAogICAgICAgZGFtaXQgZGFzIFByb2dyYW1tIPxiZXJzZXR6dCB3ZXJkZW4ga2Fubiwgd2VyZGVuIGRpZQogICAgICAgRW50d2lja2xlcmRhdGVpZW4gZvxyIFhQTSBiZW72dGlndCwgZGllc2UgYmVmaW5kZW4gc2ljaCBpbSBQYWtldAogICAgICAgeHBtNGctZGV2LgoKICAgIDUuIEb8ciBQcm9ncmFtbWUsIGRpZSBpbSBUZXh0bW9kdXMgYXVzZ2Vm/GhydCB3ZXJkZW4sIGthbm4gV0lORSBkaWUKICAgICAgIEJpYmxpb3RoZWsgbGlibmN1cnNlcyB2ZXJ3ZW5kZW4uIERhbWl0IGRpZSBVbnRlcnN0/HR6dW5nIGRhZvxyIGluCiAgICAgICBkYXMgUHJvZ3JhbW0gZWluZ2VidW5kZW4gd2lyZCwgbfxzc2VuIGRpZSBFbnR3aWNrbGVyZGF0ZWllbiBm/HIKICAgICAgIGRpZXNlIEJpYmxpb3RoZWsgaW5zdGFsbGllcnQgc2VpbiAoUGFrZXQgbGlibmN1cnNlczUtZGV2KS4gRGllCiAgICAgICBWZXJ3ZW5kdW5nIGRlciBuY3Vyc2VzLUJpYmxpb3RoZWsgaXN0IGplZG9jaCBvcHRpb25hbC4KCiAgICA2LiBFYmVuZmFsbHMgb3B0aW9uYWwgaXN0IGRpZSBVbnRlcnN0/HR6dW5nIGVpbmVyIE9wZW5HTC1rb21wYXRpYmxlbgogICAgICAgQmlibGlvdGhlaywgd2llIHouQi4gTWVzYS4gV2VubiBkaWUgVW50ZXJzdPx0enVuZyBm/HIgT3BlbkdMIGluCiAgICAgICBkYXMgUHJvZ3JhbW0gZWluZ2VidW5kZW4gd2VyZGVuIHNvbGwsIG38c3NlbiBkaWUKICAgICAgIE9wZW5HTC1FbnR3aWNrbGVyZGF0ZWllbiBhdWYgZGVtIFN5c3RlbSBpbnN0YWxsaWVydCBzZWluLCB3aWUgc2llCiAgICAgICB6LkIuIGR1cmNoIGRhcyBQYWtldCBtZXNhZy1kZXYgYmVyZWl0Z2VzdGVsbHQgd2VyZGVuLiBadXPkdHpsaWNoCiAgICAgICBzaW5kIGRhbm4gbmF0/HJsaWNoIGRpZSBPcGVuR0wtQmlibGlvdGhla2VuIHNlbGJzdCBlcmZvcmRlcmxpY2guCgogICAgNy4gVW0gV0lORSB6dSD8YmVyc2V0emVuLCBtdXNzIGRlciBHTlUtQy1Db21waWxlciBiZW51dHp0IHdlcmRlbi4KICAgICAgIEVtcGZvaGxlbiB3aXJkIHp1ciBaZWl0IFZlcnNpb24gMi45NS4gV2VpdGVyIHdlcmRlbiBlaW5pZ2UKICAgICAgIFN0YW5kYXJkd2Vya3pldWdlIHdpZSBtYWtlLCB5YWNjIHVuZCBiaXNvbiBiZW72dGlndCwgZGllIGF1ZiBkZW4KICAgICAgIG1laXN0ZW4gTGludXhzeXN0ZW1lbiBiZXJlaXRzIGluc3RhbGxpZXJ0IHNlaW4gc29sbHRlbi4KICAgICAgIAogICBKZSBuYWNoZGVtLCBvYiBpbiBkZW0genUgZXJ6ZXVnZW5kZW4gQmlu5HJjb2RlIERlYnVnLUluZm9ybWF0aW9uZW4KICAgZW50aGFsdGVuIHNlaW4gc29sbGVuLCB3ZXJkZW4gZvxyIGRpZSDcYmVyc2V0enVuZyB1bmQgZGllCiAgIEluc3RhbGxhdGlvbiB2b24gV0lORSB6d2lzY2hlbiBjYS4gMTAwIE1CIHVuZCBjYS4gMjUwIE1CCiAgIFNwZWljaGVycGxhdHogYXVmIGRlciBGZXN0cGxhdHRlIGJlbvZ0aWd0LiBBbiBkZW4gUHJvemVzc29yIGRlcwogICBSZWNobmVycyB3ZXJkZW4ga2VpbmUgYmVzb25kZXJlbiBBbmZvcmRlcnVuZ2VuIGdlc3RlbGx0LCBzbyBpc3QgZWluCiAgIFByb3plc3NvciBkZXIgUGVudGl1bS1LbGFzc2UgbWl0IDEzMyBNaHogYXVzcmVpY2hlbmQsIHVtIG1pdCBXSU5FCiAgIGJlaXNwaWVsc3dlaXNlIFRleHR2ZXJhcmJlaXR1bmdzcHJvZ3JhbW1lIGF1c3p1ZvxocmVuLiBG/HIgU3BpZWxlCiAgIHVuZCBhbmRlcmUgTXVsdGltZWRpYS1BbndlbmR1bmdlbiB3aXJkIGFsbGVyZGluZ3MgaW4gZGVyIFJlZ2VsIGVpbgogICBzY2huZWxsZXJlciBSZWNobmVyIGJlbvZ0aWd0LiBXaWNodGlnIGlzdCwgZGFzcyBzaWNoIGluIGRlbSBSZWNobmVyCiAgIGF1c3JlaWNoZW5kIEFyYmVpdHNzcGVpY2hlciAoUkFNKSBiZWZpbmRldC4gWnVyIEF1c2b8aHJ1bmcgZ3L232VyZXIKICAgV2luZG93cy1Qcm9ncmFtbWUgc29sbHRlIGRlciBSZWNobmVyIG1pdCA2NCBNQiBSQU0gYXVzZ2VzdGF0dGV0CiAgIHNlaW4uCiAgIAo1LjAgQmVzY2hhZmZ1bmcgdW5kIEluc3RhbGxhdGlvbiBkZXMgUXVlbGxjb2RlcwoKICAgV0lORSBrYW5uIHZvbiB2ZXJzY2hpZWRlbmVuIFNlcnZlcm4gaW0gSW50ZXJuZXQgcGVyIEZUUCBvZGVyIEhUVFAKICAgaGVydW50ZXJnZWxhZGVuIHdlcmRlbi4gTm9ybWFsZXJ3ZWlzZSBrYW5uIGRlciBqZXdlaWxzIGFrdHVlbGxlCiAgIFF1ZWxsY29kZSB1LmEuIHZvbiBkZW4gZm9sZ2VuZGVuIEFkcmVzc2VuIGJlem9nZW4gd2VyZGVuOgoKICAgICAqIGZ0cDovL21ldGFsYWIudW5jLmVkdS9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC8KICAgICAqIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC8KICAgICAqIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvd2luZS9kZXZlbG9wbWVudC8KICAgICAqIGh0dHA6Ly9tZXRhbGFiLnVuYy5lZHUvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvCiAgICAgICAKICAgQmVpIGRlciBFbnR3aWNrbHVuZyB2b24gV0lORSB3ZXJkZW4genVyIFplaXQgbm9jaCBrZWluZQogICBWZXJzaW9uc251bW1lcm4gYmVudXR6dC4gQW4gU3RlbGxlIGRlc3NlbiB0cuRndCBqZWRlIEF1c2dhYmUgZWluZQogICBaYWhsLCB3ZWxjaGUgbmFjaCBkZW0gU2NoZW1hIEphaHJlc3phaGwsIE1vbmF0LCBUYWcgZGVtIERhdHVtCiAgIGVudHNwcmljaHQsIGFuIHdlbGNoZW0gZGllIGJldHJlZmZlbmRlIFZlcnNpb24gaGVyYXVzZ2VnZWJlbiB3dXJkZS4KICAgRGllIERhdGVpIFdpbmUtMjAwMDA2MTQudGFyLmd6IGluIGVpbmVtIGRlciBvYmVuIGF1ZmdlZvxocnRlbgogICBWZXJ6ZWljaG5pc3NlIGVudGjkbHQgYWxzbyBkaWUgVmVyc2lvbiB2b24gV0lORS4gZGllIGFtIDE0LiBKdW5pCiAgIDIwMDAgaGVyYXVzZ2VnZWJlbiB3dXJkZS4gUHJpbnppcGllbGwgaXN0IGVzIHp1IGVtcGZlaGxlbiwgZGllCiAgIGpld2VpbHMgbmV1ZXN0ZSBWZXJzaW9uIHp1IHZlcndlbmRlbi4gTmFjaGRlbSBkZXIgUXVlbGxjb2RlCiAgIGhlcnVudGVyZ2VsYWRlbiB3b3JkZW4gaXN0LCBrYW5uIGVyIGR1cmNoIGRpZSBFaW5nYWJlIGRlcyBmb2xnZW5kZW4KICAgQmVmZWhscyBpbSBha3R1ZWxsZW4gQXJiZWl0c3ZlcnplaWNobmlzIGVudHBhY2t0IHdlcmRlbjoKICAgCiAgIHRhciAteHZ6ZiBXaW5lLTIwMDAwNjE0LnRhci5negogICAKICAgRGFiZWkgaXN0IFdpbmUtMjAwMDA2MTQudGFyLmd6IG5hdPxybGljaCBkdXJjaCBkZW4gTmFtZW4gZGVyCiAgIGhlcnVudGVyZ2VsYWRlbmVuIERhdGVpIHp1IGVyc2V0emVuLiBEZXIgUXVlbGxjb2RlIHdpcmQgZGFubiBpbiBlaW4KICAgVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMgYWt0dWVsbGVuIFZlcnplaWNobmlzc2VzIGVudHBhY2t0LCBkZXNzZW4gTmFtZQogICBzaWNoIGF1cyBkZXIgQmV6ZWljaG51bmcgd2luZSB1bmQsIGdldHJlbm50IHZvbiBlaW5lbSBCaW5kZXN0cmljaCwKICAgZGVtIEhlcmF1c2dhYmVkYXR1bSBkZXIgYmVudXR6dGVuIFZlcnNpb24genVzYW1tZW5zZXR6dCwgYWxzbwogICBiZWlzcGllbHN3ZWlzZSB3aW5lLTIwMDAwNjE0LiBOb3JtYWxlcndlaXNlIGVtcGZpZWhsdCBlcyBzaWNoLAogICBkaWVzZXMgVmVyemVpY2huaXMgaW4gd2luZSB1bXp1YmVuZW5uZW4sIHdpZSBlcyBkdXJjaCBFaW5nYWJlIGRlcwogICBmb2xnZW5kZW4gQmVmZWhscyBnZXNjaGVoZW4ga2FubjoKICAgCiAgIG12IHdpbmUtMjAwMDA2MTQgd2luZQogICAKICA1LjEgQWt0dWFsaXNpZXJlbiBkZXMgUXVlbGxjb2RlcyBtaXQgUGF0Y2hkYXRlaWVuCiAgCiAgIE5lYmVuIGRlbiBrb21wcmltaWVydGVuIFRhci1BcmNoaXZlbiwgd2VsY2hlIGRlbiBRdWVsbGNvZGUgdm9uIFdJTkUKICAgYmVpbmhhbHRlbiwgYmVmaW5kZW4gc2ljaCBpbiBkZW4gYXVmZ2Vm/GhydGVuIFZlcnplaWNobmlzc2VuIGF1Y2gKICAgc28gZ2VuYW5udGUgUGF0Y2gtRGF0ZWllbiwgd2VsY2hlIGxlZGlnbGljaCBkaWUgxG5kZXJ1bmdlbgogICBlbnRoYWx0ZW4sIGRpZSB6d2lzY2hlbiB6d2VpIEF1c2dhYmVuIGFuIFdJTkUgdm9yZ2Vub21tZW4KICAgd3VyZGVuLiBEaWVzZSBEYXRlaWVuIHNpbmQgbm9ybWFsZXJ3ZWlzZSB2aWVsIGtsZWluZXIgYWxzIGRlcgogICBrb21wbGV0dGUgUXVlbGxjb2RlLCBzbyBkYXNzIGVzIHNpY2ggZW1wZmllaGx0LCBzaWUgenUgdmVyd2VuZGVuLAogICB3ZW5uIGRhcyBQcm9ncmFtbSB2b24gZWluZXIgVmVyc2lvbiBhdWYgZGllIG7kY2hzdGUgYWt0dWFsaXNpZXJ0CiAgIHdlcmRlbiBzb2xsLiBGYWxscyBhdWYgZWluZW0gUmVjaG5lciBiZWlzcGllbHN3ZWlzZSBXaW5lLTIwMDAwNjE0CiAgIGluc3RhbGxpZXJ0IGlzdCB1bmQgYXVmIFdJTkUtMjAwMDA2MTQgYWt0dWFsaXNpZXJ0IHdlcmRlbiBzb2xsLCBzbwogICB35HJlIGRpZSBEYXRlaSBXSU5FLTIwMDAwNjE0LmRpZmYuZ3ogaGVydW50ZXJ6dWxhZGVuLiBEaWUgaW4gZGVyCiAgIERhdGVpIGJlc2NocmllYmVuIFZlcuRuZGVydW5nZW4ga/ZubmVuIGF1ZiBkZW4gaW5zdGFsbGllcnRlbgogICBRdWVsbGNvZGUgYW5nZXdhbmR0IHdlcmRlbiwgaW5kZW0genVu5GNoc3QgaW4gZGFzIEJhc2lzdmVyemVpY2huaXMKICAgZGVzIFF1ZWxsY29kZXMgKGFsc28gaW4gZGFzIFZlcnplaWNobmlzIHdpbmUsIHdlbGNoZXMgZHVyY2ggZGllCiAgIG9iZW4gYmVzY2hyaWViZW5lbiBTY2hyaXR0ZSBlbnRzdGFuZGVuIGlzdCkgZ2V3ZWNoc2VsdCB3aXJkIHVuZAogICBkYW5uIGRhcyBQcm9ncmFtbSBwYXRjaCB3aWUgZm9sZ3QgYXVmZ2VydWZlbiB3aXJkOgogICAKICAgZ3VuemlwIC1jIC4uL1dpbmUtMjAwMDA1MjYuZGlmZi5neiB8IHBhdGNoIC1wMQogICAKICAgSGllciB3aXJkIGRhdm9uIGF1c2dlZ2FuZ2VuLCBkYXNzIHNpY2ggZGllIFBhdGNoLURhdGVpIGluIGRlbQogICBWZXJ6ZWljaG5pcyBiZWZpbmRldCwgd2VsY2hlcyBkZW0gV0lORS1WZXJ6ZWljaG5pcyAod2luZSkKICAg/GJlcmdlb3JkbmV0IGlzdCB1bmQgZGVuIE5hbWVuIFdpbmUtMjAwMDA1MjYuZGlmZi5neiB0cuRndC4gRGVyCiAgIERhdGVpbmFtZSBpc3QgZW50c3ByZWNoZW5kIGFuenVwYXNzZW4sIHdlbm4gZWluZSBEYXRlaSBtaXQgZWluZW0KICAgYW5kZXJlbiBOYW1lbiBvZGVyIGF1cyBlaW5lbSBhbmRlcmVuIFZlcnplaWNobmlzIGJlbnV0enQgd2lyZC4KICAgCiAgNS4yIEhlcnVudGVybGFkZW4gdW5kIEFrdHVhbGlzaWVyZW4gdm9uIFdJTkUgbWl0IENWUwogIAogICBBbHRlcm5hdGl2IGthbm4gZGVyIFF1ZWxsY29kZSB2b20gQ1ZTLVNlcnZlciBkZXMgV0lORS1Qcm9qZWt0ZXMKICAgaW5zdGFsbGllcnQgd2VyZGVuLiBEZXIgVm9ydGVpbCBkaWVzZXMgVmVyZmFocmVucyBiZXN0ZWh0IGRhcmluLAogICBkYXNzIGVzIGplZGVyemVpdCB1bmtvbXBsaXppZXJ0IG32Z2xpY2ggaXN0LCBkZW4gZWlnZW5lbiBRdWVsbGNvZGUKICAgYW4gZGVuIEVudHdpY2tsdW5nc3N0YW5kIGRlcyBQcm9qZWt0cyBhbnp1cGFzc2VuIG9obmUgZGFzcyBhdWYgZWluZQogICBuZXVlIEF1c2dhYmUgZGVzIFByb2dyYW1tcyBnZXdhcnRldCB3ZXJkZW4gbXVzcy4gRvxyIGplZGVuLCBkZXIKICAgcGxhbnQsIHNlbGJzdCBhbiBkZW0gUHJvamVrdCBtaXR6dWFyYmVpdGVuLCBpc3QgZGllIFZlcndlbmR1bmcgdm9uCiAgIENWUyBub3JtYWxlcndlaXNlIGVyZm9yZGVybGljaC4gRGFtaXQgQ1ZTIGJlbnV0enQgd2VyZGVuIGthbm4sIG11c3MKICAgZGFzIFByb2dyYW1tIGN2cyBuYXT8cmxpY2ggaW5zdGFsbGllcnQgc2Vpbi4gVW50ZXIgRGViaWFuIGlzdCBlcyBpbgogICBkZW0gZ2xlaWNobmFtaWdlbiBQYWtldCBlbnRoYWx0ZW4uIFdlbm4gZGllcyBzaWNoZXJnZXN0ZWxsdCBpc3QsCiAgIGthbm4gZHVyY2ggZGllIFVtZ2VidW5nc3ZhcmlhYmxlIENWU1JPT1QgZWluZ2VzdGVsbHQgd2VyZGVuLCB2b24gd28KICAgZGVyIFF1ZWxsY29kZSBiZXpvZ2VuLCBiencuIGFrdHVhbGlzaWVydCB3ZXJkZW4gc29sbC4gQmVpCiAgIFZlcndlbmR1bmcgZGVyIEJhc2gga2FubiBkYXp1IGRlciBmb2xnZW5kZSBCZWZlaGwgZWluZ2VnZWJlbgogICB3ZXJkZW46CiAgIAogICBleHBvcnQgQ1ZTUk9PVD06cHNlcnZlcjpjdnNAY3ZzLndpbmVocS5jb206L2hvbWUvd2luZQogICAKICAgRGFuYWNoIGthbm4gbWFuIHNpY2ggYmVpIGRlbSBDVlMtU2VydmVyIGFubWVsZGVuLiBIaWVyenUgZGllbnQKICAgZGllc2VyIEJlZmVobDoKICAgCiAgIGN2cyBsb2dpbgogICAKICAgRGFzIFByb2dyYW1tIGVyZnJhZ3QgZGFubiBlaW4gUGFzc3dvcnQgZvxyIGRlbiBadWdyaWZmIGF1ZiBkZW4KICAgU2VydmVyLiAgSGllciBpc3QgZGFzIFBhc3N3b3J0IGN2cyB6dSB2ZXJ3ZW5kZW4uIE51biBrYW5uIGRlcgogICBRdWVsbGNvZGUgdm9tIFNlcnZlciBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuLCBpbmRlbSBkZXIgbuRjaHN0ZQogICBCZWZlaGwgZWluZ2VnZWJlbiB3aXJkOgogICAKICAgY3ZzIC16IDMgY2hlY2tvdXQgd2luZQogICAKICAgSW0gYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pcyB3aXJkIGRhbm4gZWluIFVudGVydmVyemVpY2huaXMgbWl0CiAgIGRlciBCZXplaWNobnVuZyB3aW5lIGFuZ2VsZWd0LiBTb2JhbGQgZGVyIEJlZmVobCBhYmdlc2NobG9zc2VuIGlzdCwKICAgYmVmaW5kZW4gc2ljaCBpbiBkaWVzZW0gVmVyemVpY2huaXMgZGVyIGFrdHVlbGxlIFF1ZWxsY29kZSBkZXMKICAgUHJvamVrdHMgdW5kIGVpbmlnZSB6dXPkdHpsaWNoZSBEYXRlaWVuLCBkaWUgdm9uIENWUyBiZW72dGlndAogICB3ZXJkZW4uCiAgIAogICBVbSBkZW4gUXVlbGxjb2RlIGF1ZiBkZW4gbmV1ZXN0ZW4gU3RhbmQgenUgYnJpbmdlbiwga2FubiBkaWVzZXIKICAgQmVmZWhsIGJlbnV0enQgd2VyZGVuOgogICAKICAgY3ZzIC16IDMgdXBkYXRlIC1QQWQgV0lORQogICAKICAgSW5mb3JtYXRpb25lbiD8YmVyIGRpZSBoaWVyIHZlcndlbmRldGVuIFBhcmFtZXRlciBiZWltIEF1ZnJ1ZiB2b24KICAgQ1ZTIHVuZCD8YmVyIHdlaXRlcmUgTfZnbGljaGtlaXRlbiBkZXMgUHJvZ3JhbW1zIGJlZmluZGVuIHNpY2gKICAgdS5hLiBpbiBkZXIgTWFudWFsc2VpdGUgenUgY3ZzKDEpIHNvd2llIGF1ZiBkZXIgQ1ZTLUhvbWVwYWdlLCBkaWUKICAgdW50ZXIgaHR0cDovL3d3dy5zb3VyY2VnZWFyLmNvbS9DVlMgenUgZXJyZWljaGVuIGlzdC4gV2VpdGVyZQogICBIaW53ZWlzZSBpbSBIaW5ibGljayBhdWYgQ1ZTIHVuZCBXSU5FIHNpbmQgdW50ZXIgZGVyIEFkcmVzc2UKICAgaHR0cDovL3d3dy53aW5laHEuY29tL2Rldi5odG1sIHZlcmb8Z2Jhci4KICAgCjYuMCBLb25maWd1cmF0aW9uIHVuZCDcYmVyc2V0enVuZyBkZXMgUXVlbGxjb2RlcwoKICAgVm9yYXVzZ2VzZXR6dCwgZGVyIFF1ZWxsY29kZSBiZWZpbmRldCBzaWNoIGltIFVudGVydmVyemVpY2huaXMgd2luZQogICBkZXMgYWt0dWVsbGVuIEFyYmVpdHN2ZXJ6ZWljaG5pc3NlcywgaXN0IHp1buRjaHN0IGluIGRpZXNlcwogICBWZXJ6ZWljaG5pcyB6dSB3ZWNoc2VsbiwgdW0gYWxsZSB3ZWl0ZXJlbiBTY2hyaXR0ZSBkdXJjaHp1ZvxocmVuOgogICAKICAgY2Qgd2luZQogICAKICAgRGFubiBrYW5uIGRhcyBTa3JpcHQgY29uZmlndXJlIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWVzZXMgU2tyaXB0CiAgIGb8aHJ0IGVpbmUgUmVpaGUgdm9uIFRlc3RzIGR1cmNoLCBkaWUgdS5hLiB1bnRlcnN1Y2hlbiwgb2IgZGFzCiAgIFN5c3RlbSBhbGxlIG5vdHdlbmRpZ2VuIEVpZ2Vuc2NoYWZ0ZW4gZXJm/GxsdCB1bmQgZGllIGJlbvZ0aWd0ZW4KICAgRW50d2lja2xlcmRhdGVpZW4gaW5zdGFsbGllcnQgc2luZC4gRGFyYXVmaGluIGVyemV1Z3QgZXMgZGllCiAgIERhdGVpZW4sIGR1cmNoIHdlbGNoZSBkaWUg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZ2VzdGV1ZXJ0CiAgIHdpcmQuIERlbSBTa3JpcHQga/ZubmVuIHZlcnNjaGllZGVuZSBQYXJhbWV0ZXIg/GJlcmdlYmVuIHdlcmRlbiwKICAgbWl0IGRlbmVuIHNpY2ggYmVpc3BpZWxzd2Vpc2UgYmVzdGltbWVuIGzkc3N0LCBkYXNzIGluIGRlbiB6dQogICBlcnpldWdlbmRlbiBQcm9ncmFtbWVuIHVuZCBCaWJsaW90aGVrZW4ga2VpbmUgRGVidWctTWl0dGVpbHVuZ2VuCiAgIGVudGhhbHRlbiBzZWluIHNvbGxlbi4gRGllIHZvbGxzdORuZGlnZSBMaXN0ZSBkZXIgdmVyZvxnYmFyZW4KICAgT3B0aW9uZW4gZvxyIGNvbmZpZ3VyZSB3aXJkIGFuZ2V6ZWlndCwgd2VubiBkYXMgU2tyaXB0IG1pdCBkZXIKICAgT3B0aW9uIC0taGVscCBhdWZnZXJ1ZmVuIHdpcmQuICBOb3JtYWxlcndlaXNlIHJlaWNodCBlcyBhdXMsIGRhcwogICBTa3JpcHQgZm9sZ2VuZGVybWHfZW4gYXVmenVydWZlbjoKICAgCiAgIC4vY29uZmlndXJlCiAgIAogICBGYWxscyB3aWNodGlnZSBEYXRlaWVuIG9kZXIgRWlnZW5zY2hhZnRlbiBkZXMgU3lzdGVtcyB2b24gY29uZmlndXJlCiAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBr9m5uZW4sIGVyZm9sZ3QgdW50ZXIgVW1zdORuZGVuIGVpbmUgV2Fybi0KICAgb2RlciBGZWhsZXJtZWxkdW5nLiBTb2xjaGUgRmVobGVyIHNvbGx0ZW4gYmVob2JlbiB3ZXJkZW4sIGJldm9yIG1pdAogICBkZXIg3GJlcnNldHp1bmcgZGVzIFF1ZWxsY29kZXMgZm9ydGdlZmFocmVuIHdpcmQuCiAgIAogICBJbSBu5GNoc3RlbiBTY2hyaXR0IHdpcmQgZGVyIFF1ZWxsY29kZSD8YmVyc2V0enQuIERhenUgc2luZAogICBoaW50ZXJlaW5hbmRlciBkaWUgZm9sZ2VuZGVuIGJlaWRlbiBCZWZlaGxlIHp1IGJlbnV0emVuOgogICAKICAgbWFrZSBkZXBlbmQKICAgCiAgIG1ha2UKICAgCiAgIEF1ZiBkZXIgUGFydGl0aW9uLCBhdWYgd2VsY2hlciBzaWNoIGRhcyBWZXJ6ZWljaG5pcyBtaXQgZGVtCiAgIFF1ZWxsY29kZSBiZWZpbmRldCwgd2VyZGVuIGb8ciBkaWUga29tcGxldHRlINxiZXJzZXR6dW5nIHp1ciBaZWl0CiAgIHVuZ2Vm5GhyIDIzMCBNQiBTcGVpY2hlcnBsYXR6IGJlbvZ0aWd0LiBEZXIgZ3L233RlIFRlaWwgZGllc2VzCiAgIFNwZWljaGVycGxhdHplcyB3aXJkIGRhYmVpIHZvbiBkZW4gRGVidWctSW5mb3JtYXRpb25lbiBpbiBkZW4KICAgT2JqZWt0ZGF0ZWllbiwgZGllIGJlaW0g3GJlcnNldHplbiBlcnpldWd0IHdlcmRlbiwgYmVu9nRpZ3QuIEZhbGxzCiAgIG5pY2h0IGJlYWJzaWNodGlndCB3aXJkLCBpcmdlbmR3ZWxjaGUgRmVobGVyIGluIFdJTkUgenUKICAgdW50ZXJzdWNoZW4sIGv2bm5lbiBkaWUgQmlu5HJkYXRlaWVuIGF1Y2ggb2huZSBEZWJ1Zy1JbmZvcm1hdGlvbmVuCiAgIGVyemV1Z3Qgd2VyZGVuLCBkYXp1IGlzdCBkZXIgbGV0enRlIGRlciBiZWlkZW4gb2JlbiBnZW5hbm50ZW4KICAgQmVmZWhsZSBkdXJjaCBkZW4gbuRjaHN0ZW4gQmVmZWhsIHp1IGVyc2V0emVuIChm/HIgZGllINxiZXJzZXR6dW5nCiAgIHdlcmRlbiBkYW5uIG51ciBub2NoIHVuZ2Vm5GhyIDgwIE1CIFNwZWljaGVycGxhdHogYmVu9nRpZ3QpLgogICAKICAgbWFrZSBDRkxBR1M9Ii1PMiIKICAgCiAgIE51biBrYW5uIFdJTkUgYXVmIGRlbSBTeXN0ZW0gaW5zdGFsbGllcnQgd2VyZGVuLiBIaWVyenUgaXN0IG1pdCBkZW4KICAgUmVjaHRlbiBkZXMgQWRtaW5pc3RyYXRvcnMgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuOgogICAKICAgbWFrZSBpbnN0YWxsCiAgIAogICBEYWR1cmNoIHdlcmRlbiBkaWUgYXVzZvxocmJhcmVuIFByb2dyYW1tZSB2b24gV0lORSBzdGFuZGFyZG3k32lnIGluCiAgIGRhcyBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2JpbiwgZGllIFByb2dyYW1tYmlibGlvdGhla2VuIGluIGRhcwogICBWZXJ6ZWljaG5pcyAvdXNyL2xvY2FsL2xpYiwgZGllIE1hbnVhbHNlaXRlbiB1bnRlcmhhbGIgZGVzCiAgIFZlcnplaWNobmlzc2VzIC91c3IvbG9jYWwvbWFuIHVuZCBlaW5pZ2UgSGVhZGVyLURhdGVpZW4gaW4gZGFzCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvaW5jbHVkZS93aW5lIGluc3RhbGxpZXJ0LiAKCiAgIEFjaHR1bmc6CiAgIFN0YW5kYXJkbeTfaWcgd2lyZCBiZWkgZWluaWdlbiBEaXN0cmlidXRpb25lbiAoei5CLiBiZWkgRGViaWFuCiAgIEdOVS9MaW51eCkgaW4gZGVtIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIG5pY2h0IG5hY2gKICAgUHJvZ3JhbW1iaWJsaW90aGVrZW4gZ2VzdWNodC4gRmFsbHMgYmVpbSBTdGFydCB2b24gV0lORSBnZW1lbGRldCB3aXJkLAogICBkYXNzIGJlc3RpbW10ZSBCaWJsaW90aGVrZW4gbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLCBzb2xsdGUgZGVyCiAgIE5hbWUgZGllc2VzIFZlcnplaWNobmlzc2VzIGluIGRpZSBEYXRlaSAvZXRjL2xkLnNvLmNvbmYgKGluIGVpbmUKICAgZWlnZW5lIFplaWxlKSBlaW5nZXRyYWdlbiB1bmQgZGFuYWNoIGRhcyBQcm9ncmFtbSBsZGNvbmZpZyBhdWZnZXJ1ZmVuCiAgIHdlcmRlbi4KICAgCjcuMCBLb25maWd1cmF0aW9uCgogICBXaWUgdmllbGUgVU5JWC1Qcm9ncmFtbWUga2FubiBXSU5FIGVudHdlZGVyIPxiZXIgZWluZSBzeXN0ZW13ZWl0CiAgIGf8bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSBvZGVyIPxiZXIgZWluZSBiZW51dHplcnNwZXppZmlzY2hlCiAgIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcyBiZXRyZWZmZW5kZW4gQmVudXR6ZXJzIGtvbmZpZ3VyaWVydAogICB3ZXJkZW4uICBEaWUgYmVudXR6ZXJzcGV6aWZpc2NoZSBLb25maWd1cmF0aW9uc2RhdGVpIHRy5Gd0IGRlbgogICBOYW1lbiAud2luZXJjLiAgV2VubiBkaWVzZSBEYXRlaSBleGlzdGllcnQsIHdpcmQgZGllIHN5c3RlbXdlaXQKICAgZ/xsdGlnZSBLb25maWd1cmF0aW9uc2RhdGVpIChzdGFuZGFyZG3k32lnCiAgIC91c3IvbG9jYWwvZXRjL3dpbmUuY29uZikgbmljaHQgYmVhY2h0ZXQgdW5kIGVzIHdlcmRlbiBhbGxlCiAgIEVpbnN0ZWxsdW5nZW4gYXVzIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGRlcyBiZXRyZWZmZW5kZW4KICAgQmVudXR6ZXJzIGdlbGVzZW4uIEb8ciBkZW4gQW5mYW5nIGlzdCBlcyB6dSBlbXBmZWhsZW4sIG1pdCBlaW5lcgogICBiZW51dHplcnNwZXppZmlzY2hlbiBLb25maWd1cmF0aW9uc2RhdGVpIHp1IGJlZ2lubmVuLgogICAKICA3LjEgQXVmYmF1IGRlciBLb25maWd1cmF0aW9uc2RhdGVpICAgCgogICBWb24gSWhyZW0gQXVmYmF1IHVuZCBkZW4gTfZnbGljaGtlaXRlbiB6dXIgS29uZmlndXJhdGlvbgogICB1bnRlcnNjaGVpZGV0IHNpY2ggZGllIGdsb2JhbGUgS29uZmlndXJhdGlvbnNkYXRlaSBuaWNodCB2b24gZGVyCiAgIGJlbnV0emVyc3BlemlmaXNjaGVuLiBEYXMgRm9ybWF0IG9yaWVudGllcnQgc2ljaCBhbiBkZW4gdm9uIFdpbmRvd3MKICAgaGVyIGJla2FubnRlbiAqLmluaS1EYXRlaWVuLCBkaWUgRGF0ZWkgYmVzdGVodCBhdXMgZWluemVsbmVuCiAgIEJs9mNrZW4sIHdlbGNoZSBkdXJjaCBCZXplaWNobmVyIGVpbmdlbGVpdGV0IHdlcmRlbiwgZGllIGluIGVja2lnZW4KICAgS2xhbW1lcm4gdW5kIGluIGVpbmVyIGVpZ2VuZW4gWmVpbGUgc3RlaGVuLiBJbm5lcmhhbGIgZWluZXMgQmxvY2tlcwogICBiZWZpbmRlbiBzaWNoIFBhYXJlIHZvbiBWYXJpYWJsZW4gdW5kIFdlcnRlbiwgZGllIGR1cmNoIGVpbgogICBHbGVpY2hoZWl0c3plaWNoZW4gbWl0ZWluYW5kZXIgdmVyYnVuZGVuIHNpbmQuIERpZXNlIFBhYXJlIHN0ZWhlbgogICBlYmVuZmFsbHMgamV3ZWlscyBpbiBlaW5lciBaZWlsZS4gS29tbWVudGFyZSB3ZXJkZW4gaW4gZGVyIERhdGVpCiAgIGR1cmNoIGVpbiBTZW1pa29sb24gZWluZ2VsZWl0ZXQuIEF132VyZGVtIGT8cmZlbiBsZWVyZSBaZWlsZW4KICAgYmVudXR6dCB3ZXJkZW4sIHVtIGRpZSBEYXRlaSB6dSBzdHJ1a3R1cmllcmVuLiBFaW4gQmVpc3BpZWwgZvxyCiAgIGVpbmVuIHNvbGNoZW4gQmxvY2sgd+RyZSBhbHNvOgoKICAgW0RyaXZlIENdCiAgIFBhdGg9L2hvbWUva2FybAogICBUeXBlPWhkCiAgIExhYmVsPUxhdWZ3LkMKICAgRmlsZXN5c3RlbT13aW45NQoKICAgQXXfZXJkZW0gaXN0IGVzIG32Z2xpY2gsIGlubmVyaGFsYiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgV2VydGVuIHZvbiBVbWdlYnVuZ3N2YXJpYWJsZW4genUgYXJiZWl0ZW4uIERhenUgaXN0IGFuIFN0ZWxsZSBlaW5lcwogICBXZXJ0ZXMgZGVyIE5hbWUgZGVyIHp1IHZlcndlbmRlbmRlbiBVbWdlYnVuZ3N2YXJpYWJsZW4gaW4KICAgZ2VzY2h3ZWlmdGVuIEtsYW1tZXJuIHVuZCBtaXQgZWluZW0gdm9yYW5nZXN0ZWxsdGVuIERvbGxhcnplaWNoZW4KICAgYW56dWdlYmVuLiBTb2xsIGJlaXNwaWVsc3dlaXNlIGRlciBWYXJpYWJsZW4gUGF0aCBhdXMgZGVtIG9iaWdlbgogICBCZWlzcGllbCBkZXIgV2VydCB6dWdlb3JkbmV0IHdlcmRlbiwgZGVuIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBIT01FCiAgIHp1ciBaZWl0IGRlciBBdXNm/GhydW5nIHZvbiBXSU5FIGhhdCwgc28gd+RyZSBkaWUgZW50c3ByZWNoZW5kZQogICBaZWlsZSBmb2xnZW5kZXJtYd9lbiB6dSBzY2hyZWliZW46CgogICBQYXRoPSR7SE9NRX0KCiAgIEltIEJhc2lzdmVyemVpY2huaXMgZGVzIFdJTkUtUXVlbGxjb2RlcyBiZWZpbmRldCBzaWNoIGluIGRlciBEYXRlaQogICB3aW5lLmluaSBlaW4gQmVpc3BpZWwgYWxzIFZvcmxhZ2UgZvxyIGRpZSBFcnN0ZWxsdW5nIGVpbmVyIGVpZ2VuZW4KICAgS29uZmlndXJhdGlvbnNkYXRlaS4gRGllIERhdGVpIGVudGjkbHQgYWxsZSB3aWNodGlnZW4gQmz2Y2tlIHVuZAogICBWYXJpYWJsZW4sIHNpZSBtdXNzIGplZG9jaCBhbiBkaWUgZWlnZW5lIEtvbmZpZ3VyYXRpb24gYW5nZXBhc3N0CiAgIHdlcmRlbiwgYmV2b3IgV0lORSBkYXMgZXJzdGUgTWFsIGJlbnV0enQgd2lyZC4gQW5nZW5vbW1lbiwgZGFzCiAgIEJhc2lzdmVyemVpY2huaXMgZGVzIFdJTkUtUXVlbGxjb2RlcyB0cuRndCBkZW4gTmFtZW4gd2luZSB1bmQgaXN0CiAgIGVpbiBVbnRlcnZlcnplaWNobmlzIGRlcyBlaWdlbmVuIEhlaW1hdHZlcnplaWNobmlzc2VzLCBkYW5uIGthbm4KICAgZGllc2UgVm9ybGFnZSBkdXJjaCBkZW4gZm9sZ2VuZGVuIEJlZmVobCBhbiBkZW4gcmljaHRpZ2VuIFBsYXR6CiAgIGtvcGllcnQgd2VyZGVuOgogICAKICAgY3Agfi93aW5lL3dpbmUuaW5pIH4vLndpbmVyYwogICAKICAgRGllIFdlcnRlLCB3ZWxjaGUgVmFyaWFibGVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHp1Z2V3aWVzZW4KICAgd2VyZGVuLCBsYXNzZW4gc2ljaCBpbiBkcmVpIFR5cGVuIGVpbnRlaWxlbjogWmVpY2hlbmtldHRlbiwgWmFobGVuCiAgIHVuZCBCb29sc2NoZSBXZXJ0ZS4gSW0gRmFsbCB2b24gQm9vbHNjaGVuIFdlcnRlbiBs5HNzdCBzaWNoCiAgIGVudHdlZGVyIHRydWUgb2RlciBmYWxzZSwgMSBvZGVyIDAgYmV6aWVodW5nc3dlaXNlIHllcyBvZGVyIG5vCiAgIGFuZ2ViZW4uIEluIGRlbiBmb2xnZW5kZW4gQmVpc3BpZWxlbiB3aXJkIGRpZSB0cnVlIC8gZmFsc2UKICAgLVNjaHJlaWJ3ZWlzZSBiZW51dHp0LgogICAKICA3LjIgS29uZmlndXJhdGlvbiB2b24gTGF1ZndlcmtzYnVjaHN0YWJlbgogIAogICBad2lzY2hlbiBVTklYL0xpbnV4IGF1ZiBkZXIgZWluZW4gdW5kIERPUyBiencuIFdpbmRvd3MgYXVmIGRlcgogICBhbmRlcmVuIFNlaXRlIGdpYnQgZXMgZWluaWdlIFVudGVyc2NoaWVkZSBpbiBkZXIgQXJ0LCB3aWUKICAgRGF0ZW50cuRnZXIgdW5kIERhdGVpZW4gYmV6ZWljaG5ldCB3ZXJkZW4uIFVudGVyIFVOSVgvTGludXggZ2lidCBlcwogICBlaW4gRGF0ZWlzeXN0ZW0gbWl0IGVpbmVtIFd1cnplbHB1bmt0ICgvKSwgaW4gZGFzIHVudGVyc2NoaWVkbGljaGUKICAgRGF0ZW50cuRnZXIgZHVyY2ggZWluZW4gc3BlemllbGxlbiBCZWZlaGwgKG1vdW50KSBlaW5nZWJ1bmRlbgogICB3ZXJkZW4uIEFsbGUgRGF0ZWllbiBhdWYgZWluZ2VidW5kZW5lbiBEYXRlbnRy5Gdlcm4ga/ZubmVuIGRlc3dlZ2VuCiAgIGlubmVyaGFsYiBkaWVzZXMgRGF0ZWlzeXN0ZW1zIGFuZ2VzcHJvY2hlbiB3ZXJkZW4uIERPUyB1bmQgV2luZG93cwogICB2ZXJ3ZW5kZW4gamVkb2NoIGb8ciBqZWRlbiBlcmthbm50ZW4gRGF0ZW50cuRnZXIgZWluIGVpZ2VuZXMKICAgRGF0ZWlzeXN0ZW0uIFVtIGVpbmUgYmVzdGltbXRlIERhdGVpIGVpbmRldXRpZyB6dSBiZXplaWNobmVuLCBpc3QKICAgZXMgYmVpIGRpZXNlbiBCZXRyaWVic3N5c3RlbWVuIGRlc3dlZ2VuIG5vdHdlbmRpZywgbmViZW4gZGVtIFBmYWQtCiAgIHVuZCBEYXRlaW5hbWVuIGVpbmVuIHNvIGdlbmFubnRlbiBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIGFuenVnZWJlbi4g3GJsaWNoZXJ3ZWlzZSBlbnRzcHJpY2h0IGRhYmVpIGRlciBMYXVmd2Vya3NidWNoc3RhYmUgQQogICBkZW0gZXJzdGVuIERpc2tldHRlbmxhdWZ3ZXJrIHVuZCBkZXIgQnVjaHN0YWJlIEMgZGVyIGVyc3RlbgogICBGZXN0cGxhdHRlbnBhcnRpdGlvbiBkZXMgU3lzdGVtcy4KICAgCiAgIFdlaWwgUHJvZ3JhbW1lLCBkaWUgZvxyIERPUyBvZGVyIFdpbmRvd3MgZ2VzY2hyaWViZW4gc2luZCwKICAgTGF1ZndlcmtzYnVjaHN0YWJlbiB2ZXJ3ZW5kZW4sIHVtIERhdGVpZW4genUgYmV6ZWljaG5lbiwgbXVzcyBXSU5FCiAgIGRpZXNlIEJ1Y2hzdGFiZW4gYXVmIGRhcyBVTklYLURhdGVpc3lzdGVtIGFiYmlsZGVuLiBEYXMgUHJvYmxlbSBpc3QKICAgYXVmIGRpZSBmb2xnZW5kZSBBcnQgZ2Vs9nN0OiBJbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSAoLndpbmVyYwogICBvZGVyIC91c3IvbG9jYWwvZXRjL3dpbmUuY29uZikgd2lyZCBqZWRlbSBMYXVmd2Vya3NidWNoc3RhYmVuIGVpbgogICBWZXJ6ZWljaG5pcyBpbSBVTklYLURhdGVpc3lzdGVtIHp1Z2VvcmRuZXQuIERpZXNlcyBWZXJ6ZWljaG5pcwogICBzdGVsbHQgZGFubiAoYXVzIFNpY2h0IGRlciBXaW5kb3dzLVByb2dyYW1tZSkgZGFzIEJhc2lzdmVyemVpY2huaXMKICAgZGVzIGVudHNwcmVjaGVuZGVuIExhdWZ3ZXJrcyBkYXIuIElzdCBhbHNvIGJlaXNwaWVsc3dlaXNlIGRhcwogICBWZXJ6ZWljaG5pcyAvdmFyL3dpbnJvb3QgZGVtIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQyB6dWdlb3JkbmV0IHVuZAogICB3/HJkZSBlaW4gV2luZG93cy1Qcm9ncmFtbSB1bnRlciBXSU5FIHZlcnN1Y2hlbiwgZGllIERhdGVpCiAgIEM6XERva3VtZW50ZVxmaW5hbnphbXQuZG9jIHp1IPZmZm5lbiwgc28gd/xyZGUgaW4gV2lya2xpY2hrZWl0IGRpZQogICBEYXRlaSAvdmFyL3dpbnJvb3QvRG9rdW1lbnRlL2ZpbmFuemFtdC5kb2MgZ2X2ZmZuZXQgd2VyZGVuLAogICB2b3JyYXVzZ2VzZXR6dCwgZGllc2UgRGF0ZWkgZXhpc3RpZXJ0IHRhdHPkY2hsaWNoLiBEdXJjaCBkaWVzZW4KICAgTWVjaGFuaXNtdXMga2FubiBhdWNoIGVycmVpY2h0IHdlcmRlbiwgZGFzcyB2b24gV2luZG93cy1Qcm9ncmFtbWVuLAogICBkaWUgdW50ZXIgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbiwgbnVyIGF1ZiBlaW5lbiBUZWlsIGRlcwogICBVTklYLURhdGVpc3lzdGVtcyB6dWdlZ3JpZmZlbiB3ZXJkZW4ga2Fubi4KICAgCiAgIEVpbiB3ZWl0ZXJlciBVbnRlcnNjaGllZCB6d2lzY2hlbiBkZW4gRGF0ZWlzeXN0ZW1lbiB1bnRlciBET1MgdW5kCiAgIFdpbmRvd3MgYXVmIGRlciBlaW5lbiB1bmQgVU5JWC9MaW51eCBhdWYgZGVyIGFuZGVyZW4gU2VpdGUgYmVzdGVodAogICBpbiBkZXIgQmVy/GNrc2ljaHRpZ3VuZyB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyBiZWkKICAgRGF0ZWluYW1lbi4gIFfkaHJlbmQgZXMgdW50ZXIgTGludXggZHVyY2hhdXMgbfZnbGljaCBpc3QsIGRhc3Mgc2ljaAogICBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBnbGVpY2h6ZWl0aWcgRGF0ZWllbiBtaXQgZGVuIE5hbWVuIGJyaWVmLnR4dCwKICAgQnJpZWYudHh0IHVuZCBicmllZi5UWFQgYmVmaW5kZW4sIGlzdCBkaWVzIHVudGVyIFdpbmRvd3MKICAgYXVzZ2VzY2hsb3NzZW4sIGhpZXIgd2lyZCBiZWlzcGllbHN3ZWlzZSBkaWUgRGF0ZWkgYnJpZWYudHh0CiAgIGdl9mZmbmV0LCBmYWxscyBkaWVzZSBleGlzdGllcnQsIGFiZXIgZWlnZW50bGljaCBkaWUgRGF0ZWkKICAgQnJpZWYudHh0IGFuZ2Vmb3JkZXJ0IHd1cmRlLiBEaWUgbWVpc3RlbiBQcm9ncmFtbWUsIGRpZSBm/HIgRE9TCiAgIG9kZXIgMTZCaXQtV2luZG93cyBnZXNjaHJpZWJlbiB3dXJkZW4sIGVyd2FydGVuIGRhcvxiZXJoaW5hdXMsIGRhc3MKICAgRGF0ZWluYW1lbiBhdXMgbmljaHQgbWVociBhbHMgYWNodCBaZWljaGVuIHp1evxnbGljaCBlaW5lciBkcmVpCiAgIFplaWNoZW4gbGFuZ2VuIEVyd2VpdGVydW5nIGJlc3RlaGVuLiBXSU5FIG11c3MgYXVzIGRpZXNlbiBHcvxuZGVuCiAgIGVudHNjaGVpZGVuLCB3ZWxjaGUgRGF0ZWkgdGF0c+RjaGxpY2ggZ2X2ZmZuZXQgd2lyZCwgd2VubiBlcwogICBhdWZncnVuZCB2b24gR3Jv3y0gdW5kIEtsZWluc2NocmVpYnVuZyB1bnRlcnNjaGllZGxpY2hlCiAgIE32Z2xpY2hrZWl0ZW4gZ2lidC4gQXXfZXJkZW0gbXVzcyBlcyBkaWUgRGF0ZWluYW1lbiBpbiBhY2h0IFplaWNoZW4KICAgbGFuZ2UgTmFtZW4g/GJlcnNldHplbiwgZmFsbHMgc2llIHZvbiAxNmJpdC1Qcm9ncmFtbWVuIGFiZ2VmcmFndAogICB3ZXJkZW4uCiAgIAogICBXZW5uIFdJTkUgbWl0IGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuCiAgIHNvbGwsIHNvbGx0ZSBkYXJhdWYgZ2VhY2h0ZXQgd2VyZGVuLCBkYXNzIGRpZSBMYXVmd2Vya3NidWNoc3RhYmVuCiAgIHVudGVyIFdpbmRvd3MgdW5kIFdJTkUg/GJlcmVpbnN0aW1tZW4uIEJlZmluZGV0IHNpY2ggZGllCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGFsc28gYmVpc3BpZWxzd2Vpc2UgYXVmIGRlciBQYXJ0aXRpb24KICAgL2Rldi9oZGExLCB3ZWxjaGUgdW50ZXIgV2luZG93cyD8YmVyIGRlbiBMYXVmd2Vya3NidWNoc3RhYmVuIEMKICAgYW5nZXNwcm9jaGVuIHdpcmQsIHNvIHNvbGx0ZSBkaWVzZSBQYXJ0aXRpb24gdW50ZXIgR05VL0xpbnV4IGluIGVpbgogICBiZWxpZWJpZ2VzIFZlcnplaWNobmlzIGVpbmdlYnVuZGVuIHdlcmRlbiB1bmQgZGllc2VzIFZlcnplaWNobmlzIGluCiAgIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHZvbiBXSU5FIHdpZWRlciBkZW0gTGF1ZndlcmtzYnVjaHN0YWJlbiBDCiAgIHp1Z2VvcmRuZXQgd2VyZGVuLgogICAKICAgRWluIEJlaXNwaWVsIGb8ciBkaWUgWnVvcmRudW5nIHZvbiBVTklYLVZlcnplaWNobmlzc2VuIHVuZAogICBMYXVmd2Vya3NidWNoc3RhYmVuIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHd1cmRlIHdlaXRlciBvYmVuCiAgIGJlcmVpdHMgZ2VicmFjaHQuIEVpbmUgc29sY2hlIERlZmluaXRpb24gYmVzdGVodCBhdXMgZWluZW0gQmxvY2ssCiAgIGRlc3NlbiBOYW1lIHNpY2ggYXVzIGRlbSBTY2hs/HNzZWx3b3J0IERyaXZlIHVuZCBkZW0gQnVjaHN0YWJlbiBkZXMKICAgTGF1ZndlcmtzIHp1c2FtbWVuc2V0enQsIGb8ciBkYXMgZGllIERlZmluaXRpb24gZ2VsdGVuIHNvbGwuIEVpbgogICBCZWlzcGllbCB35HJlIGFsc28gW0RyaXZlIENdLiBEYXJhdWYgZm9sZ2VuIHZlcnNjaGllZGVuZSBWYXJpYWJsZW4sCiAgIG1pdCBkZW5lbiBkaWUgRWlnZW5zY2hhZnRlbiBkZXMgTGF1ZndlcmtlcyBmZXN0Z2VsZWd0IHdlcmRlbi4gRGllCiAgIHdpY2h0aWdzdGUgZGllc2VyIFZhcmlhYmxlbiBpc3QgUGF0aC4gSGllcm1pdCB3aXJkIGJlc3RpbW10LAogICB3ZWxjaGVtIFVOSVgtVmVyemVpY2huaXMgZGFzIExhdWZ3ZXJrIGVudHNwcmVjaGVuIHNvbGwgKEJlaXNwaWVsZToKICAgUGF0aD0vaG9tZS9rYXJsLCBQYXRoPSR7SE9NRX0pLiBEaWUgd2VpdGVyZW4gVmFyaWFibGVuIGhhYmVuIGRpZQogICBmb2xnZW5kZSBCZWRldXR1bmc6CiAgIAogICBUeXBlCiAgICAgICAgICBXaW5kb3dzIGthbm4gQW53ZW5kdW5nZW4gbWl0dGVpbGVuLCB2b24gd2VsY2hlbSBUeXAKICAgICAgICAgIChGZXN0cGxhdHRlLCBDRFJPTSB1c3cuKSBlaW4gYmVzdGltbXRlciBEYXRlbnRy5GdlciBpc3QuIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiB3aXJkIFdJTkUgbWl0Z2V0ZWlsdCwgd2VsY2hlbiBUeXAgZGFzCiAgICAgICAgICBlbnRzcHJlY2hlbmRlIExhdWZ3ZXJrIGhhYmVuIHNvbGwuIE32Z2xpY2hlIFdlcnRlIHNpbmQKICAgICAgICAgIGZsb3BweSAoRGlza2V0dGVubGF1ZndlcmspLCBoZCAoRmVzdHBsYXR0ZW5wYXJ0aXRpb24pLCBjZHJvbQogICAgICAgICAgKENEUk9NLUxhdWZ3ZXJrKSB1bmQgbmV0d29yayAoTmV0endlcmtsYXVmd2VyaykuIEltCiAgICAgICAgICBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkZW4gVHlwIGFuenVnZWJlbiwgZGVyCiAgICAgICAgICBkZW0gVU5JWC1WZXJ6ZWljaG5pcywgd2VsY2hlcyBkZW0gTGF1ZndlcmsgenVnZW9yZG5ldCBpc3QsCiAgICAgICAgICBlbnRzcHJpY2h0LiBCZWlzcGllbDogVHlwZT1mbG9wcHkuCiAgICAgICAgICAKICAgTGFiZWwKICAgICAgICAgIFVudGVyIERPUyB1bmQgV2luZG93cyBr9m5uZW4gTGF1ZndlcmtlIGVpbmUgc28gZ2VuYW5udGUKICAgICAgICAgIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgaGFiZW4uIERpZXNlIEJlemVpY2hudW5nIGthbm4gdm9uCiAgICAgICAgICBXaW5kb3dzLUFud2VuZHVuZ2VuIGFiZ2VmcmFndCB3ZXJkZW4uIE1pdCBkaWVzZXIgVmFyaWFibGUKICAgICAgICAgIGthbm4gYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlbiBEYXRlbnRy5GdlcmJlemVpY2hudW5nIFdJTkUKICAgICAgICAgIHp1cvxja2xpZWZlcm4gc29sbCwgZmFsbHMgZWluZSBBbndlbmR1bmcgZGllc2UgZvxyIGRhcwogICAgICAgICAgTGF1ZndlcmsgYWJmcmFndC4gRGllIERhdGVudHLkZ2VyYmV6ZWljaG51bmcgZGFyZiBhdXMgbmljaHQKICAgICAgICAgIG1laHIgYWxzIDExIEJ1Y2hzdGFiZW4gYmVzdGVoZW4uIEJlaXNwaWVsOiBMYWJlbD1QbGF0dGUxLgogICAgICAgICAgCiAgIFNlcmlhbAogICAgICAgICAgSmVkZXMgTGF1ZndlcmsgaGF0IHVudGVyIFdpbmRvd3MgZWluZSBzbyBnZW5hbm50ZQogICAgICAgICAgU2VyaWVubnVtbWVyLCBkaWUgZWJlbmZhbGxzIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gYWJnZWZyYWd0CiAgICAgICAgICB3ZXJkZW4ga2Fubi4gTWl0IGRpZXNlciBWYXJpYWJsZW4gbORzc3Qgc2ljaCBpbiBGb3JtIGVpbmUKICAgICAgICAgIGFjaHQtc3RlbGxpZ2VuIGhleGFkZXppbWFsZW4gWmFobCBhbmdlYmVuLCB3ZWxjaGUKICAgICAgICAgIFNlcmllbm51bW1lciBpbiBzb2xjaGVuIEbkbGxlbiB6dXL8Y2tnZWxpZWZlcnQgd2VyZGVuCiAgICAgICAgICBzb2xsLiBCZWlzcGllbDogU2VyaWFsPTIzZjc4YTZiLgogICAgICAgICAgCiAgIEZpbGVzeXN0ZW0KICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIEVpZ2Vuc2NoYWZ0ZW4gZGFzIGVtdWxpZXJ0ZQogICAgICAgICAgRGF0ZWlzeXN0ZW0gYXVmIGRlbSBiZXRyZWZmZW5kZW4gTGF1ZndlcmsgaGFiZW4gc29sbC4gRXMKICAgICAgICAgIHNpbmQgZGllIGZvbGdlbmRlbiBXZXJ0ZSBt9mdsaWNoOgogICAgICAgICAgCiAgICAgICAgbXNkb3MKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBudXIgRGF0ZWluYW1lbiBtaXQgZWluZXIgTORuZ2UKICAgICAgICAgICAgICAgIHZvbiBhY2h0IFplaWNoZW4gdW5kIGVpbmVyIEVyd2VpdGVydW5nLCBkaWUgYXVzIGRyZWkKICAgICAgICAgICAgICAgIFplaWNoZW4gYmVzdGVodCwgenVnZWxhc3Nlbi4gVW50ZXJzY2hpZWRlIGluIEdyb98tIHVuZAogICAgICAgICAgICAgICAgS2xlaW5zY2hyZWlidW5nIHdlcmRlbiBuaWNodAogICAgICAgICAgICAgICAgYmVy/GNrc2ljaHRpZ3QuIEFsdGVybmF0aXYgZvxyIG1zZG9zIGv2bm5lbiBkaWUKICAgICAgICAgICAgICAgIEJlemVpY2hudW5nZW4gZG9zIG9kZXIgZmF0IGb8ciBkaWVzZW4gRGF0ZWlzeXN0ZW10eXAKICAgICAgICAgICAgICAgIGJlbnV0enQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgd2luOTUKICAgICAgICAgICAgICAgIEF1ZiBkZW0gTGF1Zndlcmsgc2luZCBsYW5nZSBEYXRlaW5hbWVuIHp1Z2VsYXNzZW4uIERPUwogICAgICAgICAgICAgICAgdW5kIDE2Yml0LVdpbmRvd3Nwcm9ncmFtbWUga/ZubmVuIGplZG9jaCB3ZWl0ZXJoaW4KICAgICAgICAgICAgICAgIGt1cnplIERhdGVpbmFtZW4gYmVudXR6ZW4uIFVudGVyc2NoaWVkZSBpbiBHcm/fLSB1bmQKICAgICAgICAgICAgICAgIEtsZWluc2NocmVpYnVuZyB3ZXJkZW4gbmljaHQgYmVy/GNrc2ljaHRpZ3QuIERpZXMgaXN0CiAgICAgICAgICAgICAgICBkaWUgZW1wZm9obGVuZW4gRWluc3RlbGx1bmcgZvxyIGZhc3QgYWxsZSBBbndlbmR1bmdlbi4KICAgICAgICAgICAgICAgIEFsdGVybmF0aXYgZvxyIHdpbjk1IGthbm4gZGllc2VyIERhdGVpc3lzdGVtdHlwIGF1Y2gKICAgICAgICAgICAgICAgIGFscyB2ZmF0IGJlemVpY2huZXQgd2VyZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgdW5peAogICAgICAgICAgICAgICAgRGFzIERhdGVpc3lzdGVtIGF1ZiBkZW0gTGF1ZndlcmsgdmVyaORsdCBzaWNoIORobmxpY2gKICAgICAgICAgICAgICAgIHdpZSBlaW4gdHlwaXNjaGVzIFVOSVgtRGF0ZWlzeXN0ZW0sIGQuaC4gRGF0ZWluYW1lbgogICAgICAgICAgICAgICAga/ZubmVuIGRpZSBub3JtYWxlcndlaXNlIGVybGF1YnRlIEzkbmdlIGhhYmVuIHVuZCBkaWUKICAgICAgICAgICAgICAgIEdyb98tIHVuZCBLbGVpbnNjaHJlaWJ1bmcgaXN0IGJlZGV1dHNhbS4gTWl0IGRpZXNlcgogICAgICAgICAgICAgICAgRWluc3RlbGx1bmcga29tbWVuIGRpZSBtZWlzdGVuIFdpbmRvd3MtUHJvZ3JhbW1lIG5pY2h0CiAgICAgICAgICAgICAgICB6dXJlY2h0LiAgUHJvYmxlbWUgdHJldGVuIGJlaXNwaWVsc3dlaXNlIGRhbm4gYXVmLAogICAgICAgICAgICAgICAgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lIERhdGVpIHp1buRjaHN0IHVudGVyCiAgICAgICAgICAgICAgICBkZW0gTmFtZW4gRGF0ZW4gc3BlaWNoZXJ0IHVuZCBkYW5uIHVudGVyIGRlbSBOYW1lbgogICAgICAgICAgICAgICAgREFURU4gd2llZGVyIPZmZm5lbiB3aWxsLgogICAgICAgICAgICAgICAgCiAgICAgICAgICBBY2h0dW5nOiAKCSAgRXMgaXN0IHp1IGJlYWNodGVuLCBkYXNzIG1pdCBkaWVzZXIgRWluc3RlbGx1bmcgbmljaHQKCSAgYW5nZWdlYmVuIHdpcmQsIHdlbGNoZSBFaWdlbnNjaGFmdGVuIGRhcyB6dWdydW5kZSBsaWVnZW5kZQoJICBVTklYLURhdGVpc3lzdGVtIGhhdCwgc29uZGVybiB3ZWxjaGUgRWlnZW5zY2hhZnRlbiB2b24gV0lORQoJICBm/HIgZGFzIGVudHNwcmVjaGVuZGUgTGF1ZndlcmsgZW11bGllcnQgd2VyZGVuIHNvbGxlbi4gRXMKCSAgaXN0IGFsc28gZHVyY2ggYXVzIG32Z2xpY2ggKHVuZCBpbiBkZW4gbWVpc3RlbiBG5GxsZW4KCSAgZXJmb3JkZXJsaWNoKSBm/HIgZWluIExhdWZ3ZXJrLCBkYXMgc2ljaCBhdWYgZWluZW0KCSAgVU5JWC1EYXRlaXN5c3RlbSBiZWZpbmRldCwgZGllIEVpbnN0ZWxsdW5nIHdpbjk1IHp1CgkgIHZlcndlbmRlbi4gRmFsbHMgZXMgc2ljaCBiZWkgZGVtIERhdGVudHLkZ2VyLCBhdWYgZGVtIHNpY2gKCSAgZGFzIGRlbSBMYXVmd2VyayB6dWdlb3JkbmV0ZSBWZXJ6ZWljaG5pcyBiZWZpbmRldCwKCSAgYWxsZXJkaW5ncyB1bSBlaW4gRkFULURhdGVpc3lzdGVtIGhhbmRlbHQsIHdlbGNoZXMgbWl0IGRlbQoJICBGQVQtVHJlaWJlciB2b24gTGludXggKHVuZCBuaWNodCwgd2llIPxibGljaCwgbWl0IGRlbQoJICBWRkFULVRyZWliZXIpIGJldHJpZWJlbiB3aXJkLCBkYW5uIG11c3MgaGllciBkZXIKCSAgRGF0ZWlzeXN0ZW10eXAgbXNkb3MgYmVudXR6dCB3ZXJkZW4sIHdlaWwgZXMgc29uc3QgcGFzc2llcmVuCgkgIGv2bm50ZSwgZGFzcyBXSU5FIHZlcnN1Y2h0LCBhdWYgZGVtIGJldHJlZmZlbmRlbiBEYXRlbnRy5GdlcgoJICBEYXRlaWVuIG1pdCBsYW5nZW4gTmFtZW4gYW56dWxlZ2VuLCB3YXMgZGFubiB6dSBlaW5lbSBGZWhsZXIKCSAgZvxocmVuIHf8cmRlLiBCZWlzcGllbDogRmlsZXN5c3RlbT13aW45NS4KICAgICAgICAgIAogICBEZXZpY2UKICAgICAgICAgIEluIGJlc29uZGVyZW4gRuRsbGVuIGlzdCBlcyBub3R3ZW5kaWcsIGRhc3MgZGllCiAgICAgICAgICBXaW5kb3dzLVByb2dyYW1tZSBkaXJla3QsIGFsc28gdW50ZXIgVW1nZWh1bmcgZGVzCiAgICAgICAgICBEYXRlaXN5c3RlbXMsIGF1ZiBkZW4gRGF0ZW50cuRnZXIgc2NocmVpYmVuIG9kZXIgdm9uIGlobQogICAgICAgICAgbGVzZW4uIERhbWl0IGRpZXMgYXVjaCBtaXQgV0lORSBt9mdsaWNoIGlzdCwga2FubiBoaWVyIGRlcgogICAgICAgICAgTmFtZSBkZXIgR2Vy5HRlZGF0ZWkgYW5nZWdlYmVuIHdlcmRlbiwgd2VsY2hlciBkZW4KICAgICAgICAgIERhdGVudHLkZ2VyIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIERpZXMgaXN0IG51ciBkYW5uCiAgICAgICAgICBzaW5udm9sbCwgd2VubiBkYXMgZGVtIGJldHJlZmZlbmRlbiBMYXVmd2VyayB6dWdlb3JkbmV0ZQogICAgICAgICAgVmVyemVpY2huaXMgZGVtIE1vdW50cHVua3QgZGVzIGhpZXIgYW5nZWdlYmVuZW4gRGF0ZW50cuRnZXJzCiAgICAgICAgICBlbnRzcHJpY2h0LiBEZXIgZGlyZWt0ZSBHZXLkdGV6dWdyaWZmIHNvbGx0ZSBub3JtYWxlcndlaXNlCiAgICAgICAgICBudXIgZvxyIHNvbGNoZSBEYXRlbnRy5GdlciBnZXN0YXR0ZXQgd2VyZGVuLCBkZXJlbiBJbmhhbHQKICAgICAgICAgIG5pY2h0IGJlc29uZGVycyBnZXNjaPx0enQgd2VyZGVuIG11c3MgKHUuVS4gRGlza2V0dGVuKSBvZGVyCiAgICAgICAgICB2b24gZGVuZW4gb2huZWhpbiBudXIgZ2VsZXNlbiB3ZXJkZW4ga2FubgogICAgICAgICAgKHouQi4gQ0RST01zKS4gRGFtaXQgYXVmIGRlbiBEYXRlbnRy5GdlciBnZXNjaHJpZWJlbiB3ZXJkZW4KICAgICAgICAgIGthbm4sIGlzdCBlcyB6dXPkdHpsaWNoIG5hdPxybGljaCBub3R3ZW5kaWcsIGRhc3MgZGllIFJlY2h0ZQogICAgICAgICAgYW4gZGVyIGJldHJlZmZlbmRlbiBHZXLkdGVkYXRlaSBhdXNyZWljaGVuZCBzaW5kLiAgQmVpc3BpZWw6CiAgICAgICAgICBEZXZpY2U9L2Rldi9mZDAuCiAgICAgICAgICAKICAgRmFpbFJlYWRPbmx5CgogICAgICAgICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIPZmZm5lbiBEYXRlaWVuIHByaW56aXBpZWxsCiAgICAgICAgICB6dW0gTGVzZW4gdW5kIFNjaHJlaWJlbiwgYXVjaCB3ZW5uIGF1cyBkZW4gYmV0cmVmZmVuZGVuCiAgICAgICAgICBEYXRlaWVuIGxlZGlnbGljaCBnZWxlc2VuIHdlcmRlbiBzb2xsLiBEaWVzZXMgVmVyaGFsdGVuCiAgICAgICAgICBm/GhydCBub3JtYWxlcndlaXNlIGRhenUsIGRhc3MgRGF0ZWllbiwgaW4gZGllIHZvbiBXSU5FCiAgICAgICAgICBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4gZGFyZiBvZGVyIGRpZSBzaWNoIGF1ZiBEYXRlbnRy5Gdlcm4KICAgICAgICAgIGJlZmluZGVuLCBhdWYgZGllIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiBrYW5uIChldHdhCiAgICAgICAgICBDRFJPTXMpLCBuaWNodCBnZfZmZm5ldCB3ZXJkZW4ga/ZubmVuLiBBdXMgZGllc2VtIEdydW5kCiAgICAgICAgICD2ZmZuZXQgV0lORSBEYXRlaWVuIHN0YW5kYXJkbeTfaWcgenVtIExlc2VuLCBmYWxscyBlaW5lCiAgICAgICAgICBEYXRlaSBuaWNodCB6dW0gTGVzZW4gdW5kIHp1bSBTY2hyZWliZW4gZ2X2ZmZuZXQgd2VyZGVuCiAgICAgICAgICBrb25udGUuIFdlbm4gZGllIFZhcmlhYmxlIEZhaWxSZWFkT25seSBhdWYgZGVuIFdlcnQgdHJ1ZQogICAgICAgICAgZ2VzZXR6dCB3aXJkLCB2ZXJo5Gx0IHNpY2ggV0lORSBzbyB3aWUgdW50ZXIgVU5JWCD8YmxpY2ggdW5kCiAgICAgICAgICBsaWVmZXJ0IGVpbmUgRmVobGVybWVsZHVuZyBhbiBkYXMgV2luZG93cy1Qcm9ncmFtbSwgZmFsbHMKICAgICAgICAgIGVpbmUgRGF0ZWkgbmljaHQgenVtIFNjaHJlaWJlbiBnZfZmZm5ldCB3ZXJkZW4ga2Fubi4gSW4gZGVyCiAgICAgICAgICBSZWdlbCBlbXBmaWVobHQgZXMgc2ljaCwgaGllciBkaWUgU3RhbmRhcmRlaW5zdGVsbHVuZyB6dQogICAgICAgICAg/GJlcm5laG1lbi4gIEJlaXNwaWVsOiBGYWlsUmVhZE9ubHk9dHJ1ZS4KICAgICAgICAgIAogICBSZWFkVm9sSW5mbwogICAgICAgICAgV2VubiBkZXIgV2VydCBkaWVzZXIgVmFyaWFibGVuIGF1ZiB0cnVlIGdlc2V0enQgaXN0LAogICAgICAgICAgdmVyc3VjaHQgV0lORSwgZGllIFNlcmllbm51bW1lciB1bmQgZGllCiAgICAgICAgICBEYXRlbnRy5GdlcmJlemVpY2hudW5nIGRlcyBiZXRyZWZmZW5kZW4gTGF1ZndlcmtzIGRpcmVrdCB2b24KICAgICAgICAgIGRlbSBEYXRlbnRy5GdlciB6dSBsZXNlbi4gIERhenUgbXVzcyBkZW0gTGF1ZndlcmsgZWluZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgenVnZW9yZG5ldCBzZWluIChWYXJpYWJsZSBkZXZpY2UpLiBEaWVzZQogICAgICAgICAgRWluc3RlbGx1bmcgaXN0IHZvciBhbGxlbSBm/HIgc29sY2hlIFByb2dyYW1tZSBzaW5udm9sbCwgZGllCiAgICAgICAgICBudXIgZGFubiBmdW5rdGlvbmllcmVuLCB3ZW5uIHNpY2ggYmVpc3BpZWxzd2Vpc2UgZGllCiAgICAgICAgICByaWNodGlnZSBDRFJPTSBpbSBMYXVmd2VyayBiZWZpbmRldCB1bmQgZGllIGRpZXMgYW5oYW5kIGRlcgogICAgICAgICAgU2VyaWVubnVtbWVyIG9kZXIgZGVyIERhdGVudHLkZ2VyYmV6ZWljaG51bmcKICAgICAgICAgIGZlc3RzdGVsbGVuLiBCZWlzcGllbDogUmVhZFZvbEluZm89dHJ1ZQogICAgICAgICAgCiAgNy4zIEFsbGdlbWVpbmUgRWluc3RlbGx1bmdlbgogIAogICBJbSBBYnNjaG5pdHQgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIHdlcmRlbiBkaWUgd2ljaHRpZ3N0ZW4KICAgYWxsZ2VtZWluZW4gRWluc3RlbGx1bmdlbiB2b3JnZW5vbW1lbi4gSW0gd2VzZW50bGljaGVuIGhhbmRlbHQgZXMKICAgc2ljaCBkYWJlaSB1bSBWZXJ6ZWljaG5pc2FuZ2FiZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBkaWVzZQogICBWZXJ6ZWljaG5pc2FuZ2FiZW4gaW4gZGVyIHVudGVyIERPUyB1bmQgV2luZG93cyD8YmxpY2hlbiBXZWlzZSB6dQogICBlcmZvbGdlbiBoYWJlbi4gRC5oLiwgamVkZW0gVmVyemVpY2huaXMgbXVzcyBlaW4gTGF1ZndlcmtzYnVjaHN0YWJlCiAgIHZvcmFuZ2VzdGVsbHQgd2VyZGVuLiBMYXVmd2Vya3NidWNoc3RhYmVuIHVuZCBWZXJ6ZWljaG5pcyB3ZXJkZW4KICAgZHVyY2ggZWluZW4gRG9wcGVscHVua3Qgdm9uZWluYW5kZXIgZ2V0cmVubnQsIGF132VyZGVtIHdlcmRlbgogICBlaW56ZWxuZSBWZXJ6ZWljaG5pc3NlIG5pY2h0IGR1cmNoIGVpbmVuIG5vcm1hbGVuIFNjaHLkZ3N0cmljaCwKICAgc29uZGVybiBkdXJjaCBlaW5lbiB1bWdla2VocnRlbiBTY2hy5GdzdHJpY2ggKEJhY2tzbGFzaCkKICAgdm9uZWluYW5kZXIgc2VwYXJpZXJ0LiBEaWUgQW5nYWJlbiB3ZXJkZW4gZHVyY2ggZGllIGltIHZvcmhlcmlnZW4KICAgQWJzY2huaXR0IGJlc2NocmllYmVuZW4gWnVvcmRudW5nZW4gdm9uIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gaW4KICAgVU5JWC1EYXRlaW5hbWVuIPxiZXJzZXR6dC4KICAgCiAgIFdpbmRvd3MKICAgICAgICAgIFVudGVyIFdpbmRvd3Mgc3BpZWx0IGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIGVpbmUgYmVzb25kZXJlCiAgICAgICAgICBSb2xsZS4gUHJvZ3JhbW1lIGxlZ2VuIGhpZXIgb2Z0IEluaXRpYWxpc2llcnVuZ3NkYXRlaWVuIGFiCiAgICAgICAgICB1bmQgSW5zdGFsbGF0aW9uc3Byb2dyYW1tZSBrb3BpZXJlbiBnZWxlZ2VudGxpY2gKICAgICAgICAgIHZlcnNjaGllZGVuZSBEYXRlaWVuIGluIGRpZXNlcyBWZXJ6ZWljaG5pcy4gTWl0IGRlcgogICAgICAgICAgVmFyaWFibGVuIFdpbmRvd3Mgd2lyZCBlaW5nZXN0ZWxsdCwgd2VsY2hlcyBWZXJ6ZWljaG5pcyB2b24KICAgICAgICAgIGRlbiB1bnRlciBXSU5FIGF1c2dlZvxocnRlbiBQcm9ncmFtbWVuIGFscwogICAgICAgICAgV2luZG93cy1WZXJ6ZWljaG5pcyBiZWhhbmRlbHQgd2VyZGVuIHNvbGwuIERhcyBoaWVyCiAgICAgICAgICBhbmdlZ2ViZW5lIFZlcnplaWNobmlzIG11c3MgZXhpc3RpZXJlbiwgYmV2b3IgV0lORSBkYXMgZXJzdGUKICAgICAgICAgIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gV2VubiBXSU5FIGVpbmUgYmVzdGVoZW5kZQogICAgICAgICAgV2luZG93cy1JbnN0YWxsYXRpb24gdmVyd2VuZGVuIHNvbGwsIG11c3MgaGllciBkYXMKICAgICAgICAgIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIGRlbSBzaWNoIGRpZSBJbnN0YWxsYXRpb24KICAgICAgICAgIGJlZmluZGV0LiAKCiAgICAgICAgICBGYWxscyBXSU5FIG1pdCBlaW5lciBleGlzdGllcmVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgICAgICAgICB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwgdW5kIGRpZXNlIEluc3RhbGxhdGlvbiBzaWNoIGF1ZiBkZXIKICAgICAgICAgIEZlc3RwbGF0dGVucGFydGl0aW9uIGJlZmluZGV0LCBkaWUgdW50ZXIgV2luZG93cyBkZW4KICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gQzogdHLkZ3QgdW5kIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICAgICAgICAgR2Vy5HRlZGF0ZWkgL2Rldi9oZGExIHJlcHLkc2VudGllcnQgd2lyZCwgc28ga/ZubnRlIGRpZXNlCiAgICAgICAgICBQYXJ0aXRpb24gYmVpc3BpZWxzd2Vpc2UgdW50ZXIgTGludXggYmVpc3BpZWxzd2Vpc2UgaW4gZGFzCiAgICAgICAgICBWZXJ6ZWljaG5pcyAvV2luZG93cyBlaW5nZWJ1bmRlbiB3ZXJkZW4uIERpZXNlbSBWZXJ6ZWljaG5pcwogICAgICAgICAgd+RyZSBkYW5uIGltIEFic2Nobml0dCwgd2VsY2hlciBkaWUKICAgICAgICAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW5rb25maWd1cmF0aW9uIGVudGjkbHQgZGVyCiAgICAgICAgICBMYXVmd2Vya3NidWNoc3RhYmUgQzogenV6dW9yZG5lbjoKIAogICAgICAgICAgW0RyaXZlIENdIAogICAgICAgICAgUGF0aD0vV2luZG93cyAKICAgICAgICAgIFR5cGU9aGQgCiAgICAgICAgICBMYWJlbD13aW5kb3dzIAogICAgICAgICAgRmlsZXN5c3RlbT13aW45NQoKICAgICAgICAgIFdlbm4gd2VpdGVyIGRlciBOYW1lIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIGRpZXNlcgogICAgICAgICAgSW5zdGFsbGF0aW9uIHdpbmRvd3MgbGF1dGV0ICh1bnRlciBXaW5kb3dzIGFsc28gQzpcd2luZG93cwogICAgICAgICAgdW5kIHVudGVyIExpbnV4IC9XaW5kb3dzL3dpbmRvd3MpLCBzbyB35HJlIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGZvbGdlbmRlIEFuZ2FiZSB2b3J6dW5laG1lbjoKICAgIAogICAgICAgICAgV2luZG93cz1DOlxXaW5kb3dzCgogICAgICAgICAgU29sbCBXSU5FIGplZG9jaCBvaG5lIGV4aXN0aWVyZW5kZSBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgYmVudXR6dCB3ZXJkZW4sIHNvIGthbm4gZWluIGJlbGllYmlnZXMgVmVyemVpY2huaXMgYWxzCiAgICAgICAgICBXdXJ6ZWx2ZXJ6ZWljaG5pcyBm/HIgZGFzIExhdWZ3ZXJrIGRpZW5lbiwgd2VsY2hlcyBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMgYmVpbmhhbHRldCwgYmVpc3BpZWxzd2Vpc2Uga/ZubnRlCiAgICAgICAgICBoaWVyZvxyIGRhcyBWZXJ6ZWljaG5pcyAvV2luZG93cyBhbmdlbGVndCB3ZXJkZW4uIEluIGRpZXNlbQogICAgICAgICAgVmVyemVpY2huaXMgbfxzc3RlIG51biBkYXMgV2luZG93cy1WZXJ6ZWljaG5pcyBlcnpldWd0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZXMgZGFyYXVmaGluIHdpZSBvYmVuIGJlc2NocmllYmVuIGltIEFic2Nobml0dAogICAgICAgICAgW3dpbmVdIGFscyBXaW5kb3dzLVZlcnplaWNobmlzIGRla2xhcmllcnQgd2VyZGVuIG38c3N0ZS4KICAgICAgICAgIAogICBTeXN0ZW0KICAgICAgICAgIERhcyBTeXN0ZW0tVmVyemVpY2huaXMgaGF0IGVpbmUg5GhubGljaGUgQmVkZXV0dW5nIHdpZSBkYXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMuIFVudGVyIFdpbmRvd3MgYmVmaW5kZW4gc2ljaCBpbiBkaWVzZW0KICAgICAgICAgIFZlcnplaWNobmlzIGltIHdlc2VudGxpY2hlbiBkaWUgUHJvZ3JhbW1iaWJsaW90aGVrZW4sIGVzIGlzdAogICAgICAgICAgbm9ybWFsZXJ3ZWlzZSBlaW4gVW50ZXJ2ZXJ6ZWljaG5pcyBkZXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXNzZXMuICBEaWVzZXMgVmVyemVpY2huaXMgbXVzcyBlYmVuZmFsbHMKICAgICAgICAgIGV4aXN0aWVyZW4sIGJldm9yIFdJTkUgZGFzIGVyc3RlIE1hbCBnZXN0YXJ0ZXQgd2lyZC4gQXVjaAogICAgICAgICAgaGllciBtdXNzIGRhcyBTeXN0ZW0tVmVyemVpY2huaXMgZGVyIGJlc3RlaGVuZGVuCiAgICAgICAgICBXaW5kb3dzLUluc3RhbGxhdGlvbiBhbmdlZ2ViZW4gd2VyZGVuLCBmYWxscyBlaW5lIHNvbGNoZQogICAgICAgICAgYmVudXR6dCB3ZXJkZW4gc29sbC4gVW50ZXIgV2luZG93cyA5NS85OCB0cuRndCBkaWVzZXMKICAgICAgICAgIFZlcnplaWNobmlzIG5vcm1hbGVyd2Vpc2UgZGVuIE5hbWVuIHN5c3RlbSB1bmQgdW50ZXIgV2luZG93cwogICAgICAgICAgTlQgZGVuIE5hbWVuIHN5c3RlbTMyLiBCZWlzcGllbDogU3lzdGVtPUM6XFdpbmRvd3NcU3lzdGVtLgogICAgICAgICAgCiAgIFRlbXAKICAgICAgICAgIERhcyBUZW1wLVZlcnplaWNobmlzIHdpcmQgdm9uIHZpZWxlbiBXaW5kb3dzLVByb2dyYW1tZW4gZGF6dQogICAgICAgICAgYmVudXR6dCwgdGVtcG9y5HJlIERhdGVpZW4gYWJ6dWxlZ2VuLiBEYW1pdCBkaWVzIGdlbGluZ3QsCiAgICAgICAgICBtdXNzIGhpZXIgZWluIFZlcnplaWNobmlzIGFuZ2VnZWJlbiB3ZXJkZW4sIHdlbGNoZXMgc2ljaCBhdWYKICAgICAgICAgIGVpbmVtIExhdWZ3ZXJrIGJlZmluZGV0LCBkYXMgZWluZW0gVU5JWC1WZXJ6ZWljaG5pcwogICAgICAgICAgZW50c3ByaWNodCwgaW4gZGVtIFNjaHJlaWJiZXJlY2h0aWd1bmcgYmVzdGVodC4gQmVpc3BpZWw6CiAgICAgICAgICBUZW1wPUQ6XHRtcC4KICAgICAgICAgIAogICBQYXRoCiAgICAgICAgICBEaWVzZSBWYXJpYWJsZSBoYXQgZGllIGdsZWljaGUgQmVkZXV0dW5nIHdpZSBkaWUKICAgICAgICAgIFVtZ2VidW5nc3ZhcmlhYmxlIFBBVEggdW50ZXIgVU5JWC4gSWhyIFdlcnQgYmVzdGVodCBhdXMKICAgICAgICAgIGVpbmVyIEtldHRlIGVpbnplbG5lciBWZXJ6ZWljaG5pc25hbWVuLCBkaWUgbmFjaCBlaW5lbQogICAgICAgICAgYXVzenVm/GhyZW5kZW4gUHJvZ3JhbW0gZHVyY2hzdWNodCB3aXJkLCB3ZW5uIGRlciBOYW1lIGVpbmVzCiAgICAgICAgICBzb2xjaGVuIFByb2dyYW1tcyBuaWNodCBtaXQgVmVyemVpY2huaXNuYW1lbiBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLiBFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgZGllIGVpbnplbG5lbiBFbGVtZW50ZSBkaWVzZQogICAgICAgICAgVmFyaWFibGUgdW50ZXIgV2luZG93cyBuaWNodCBkdXJjaCBlaW5lbiBEb3BwZWxwdW5rdCBzb25kZXJuCiAgICAgICAgICBkdXJjaCBlaW4gU2VtaWtvbG9uIHZvbmVpbmFuZGVyIGdldHJlbm50IHdlcmRlbiwgYXXfZXJkZW0KICAgICAgICAgIGVyd2FydGVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lLCBkYXNzIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW0tVmVyemVpY2huaXMgaW4gZGllc2VyIFZhcmlhYmxlbiBlbnRoYWx0ZW4KICAgICAgICAgIHNpbmQuIEJlaXNwaWVsOgogICAgICAgICAgUGF0aD1DOlxXaW5kb3dzO0M6XFdpbmRvd3NcU3lzdGVtO0Q6XFdpbnN0dWZmLgogICAgICAgICAgCiAgIFByb2ZpbGUKICAgICAgICAgIERpZXNlIFZhcmlhYmxlIHdpcmQgdm9uIFdJTkUgYmVudXR6dCwgdW0gZGVuCiAgICAgICAgICBiZW51dHplcnNwZXppZmlzY2hlbiBUZWlsIGRlciBTeXN0ZW1yZWdpc3RyYXR1ciBlaW5lcgogICAgICAgICAgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24genUgbGFkZW4uIEZhbGxzIGVzIHNpY2ggYmVpCiAgICAgICAgICBkZXIgYmVzdGVoZW5kZW4gSW5zdGFsbGF0aW9uIHVtIFdpbmRvd3MgOTUvOTggaGFuZGVsdCwgZGFzCiAgICAgICAgICBuaWNodCBtaXQgbWVocmVyZW4gQmVudXR6ZXJuIGJldHJpZWJlbiB3aXJkIG9kZXIgb2huZSBlaW5lCiAgICAgICAgICBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGdlYXJiZWl0ZXQgd2VyZGVuIHNvbGwsCiAgICAgICAgICBicmF1Y2h0IGRpZSBWYXJpYWJsZSBQcm9maWxlIG5pY2h0IGdlc2V0enQgenUgd2VyZGVuLiBXZW5uCiAgICAgICAgICBqZWRvY2ggZWluZSBXaW5kb3dzIE5ULSBvZGVyIGVpbmUgV2luZG93cyA5NS85OC1JbnN0YWxsYXRpb24KICAgICAgICAgIG1pdCBtZWhyZXJlbiBCZW51dHplcm4gZWluZ2VzZXR6dCB3aXJkLCBtdXNzIGhpZXIgYW5nZWdlYmVuCiAgICAgICAgICB3ZXJkZW4sIGF1cyB3ZWxjaGVtIFZlcnplaWNobmlzIFdJTkUgZGllIGJlbnV0emVyc3BlemlmaXNjaGUKICAgICAgICAgIFJlZ2lzdHJhdGlvbnNkYXRlbiBsYWRlbiBzb2xsLiBEaWVzZSBWZXJ6ZWljaG5pc3NlIGJlZmluZGVuCiAgICAgICAgICBzaWNoIG5vcm1hbGVyd2Vpc2UgaW0gVW50ZXJ2ZXJ6ZWljaG5pcyBQcm9maWxlcyBkZXMKICAgICAgICAgIFdpbmRvd3MtVmVyemVpY2huaXMgdW5kIHRyYWdlbiBkZW4gTmFtZW4gZGVzIEJlbnV0emVycywKICAgICAgICAgIGRlc3NlbiBLb25maWd1cmF0aW9uc2RhdGVuIHNpZSBiZWhlcmJlcmdlbi4gQmVpc3BpZWw6CiAgICAgICAgICBQcm9maWxlPUM6XFdpbmRvd3NcUHJvZmlsZXNcUGV0ZXIuCiAgICAgICAgICAKICAgR3JhcGhpY3NEcml2ZXIKICAgICAgICAgIFdJTkUga2FubiB1bnRlcnNjaGllZGxpY2hlIFRyZWliZXIgZvxyIGRpZSBncmFwaGlzY2hlCiAgICAgICAgICBBdXNnYWJlIHZlcndlbmRlbi4gV2VsY2hlciBUcmVpYmVyIHp1IHZlcndlbmRlbiBpc3QsIHdpcmQKICAgICAgICAgIG1pdCBkaWVzZXIgVmFyaWFibGVuIGZlc3RnZWxlZ3QuIFp1ciBaZWl0IHN0ZWhlbiB6d2VpCiAgICAgICAgICBUcmVpYmVyIHp1ciBWZXJm/Gd1bmcsIG7kbWxpY2ggeDExZHJ2IGb8ciBkaWUgVmVyd2VuZHVuZyBkZXMKICAgICAgICAgIFggV2luZG93IFN5c3RlbXMgdW5kIHR0eWRydiBm/HIgZGllIFZlcndlbmR1bmcgdm9uIFdJTkUgYW4KICAgICAgICAgIGRlciBLb25zb2xlLiAgRGVyIFRyZWliZXIgdHR5ZHJ2IGlzdCB6dXIgWmVpdCBuaWNodCB2b2xsCiAgICAgICAgICBmdW5rdGlvbnNm5GhpZywgd2Vzd2VnZW4gc2ljaCBoaWVyIG51ciBkaWUgVmVyd2VuZHVuZyBkZXMKICAgICAgICAgIFRyZWliZXJzIHgxMWRydiBlbXBmaWVobHQsIGRpZXMgaXN0IGF1Y2ggZGllCiAgICAgICAgICBTdGFuZGFyZGVpbnN0ZWxsdW5nLCB3ZW5uIGRpZSBWYXJpYWJsZSBuaWNodCBnZXNldHp0CiAgICAgICAgICB3aXJkLiBCZWlzcGllbDogR3JhcGhpY3NEcml2ZXI9eDExZHJ2LgogICAgICAgICAgCiAgNy40IEtvbmZpZ3VyYXRpb24gZGVyIHp1IHZlcndlbmRlbmRlbiBCaWJsaW90aGVrZW4KICAKICAgV2llIFVOSVgvTGludXgtUHJvZ3JhbW1lIGJlc3RlaGVuIFdpbmRvd3MtUHJvZ3JhbW1lIGluIGRlciBSZWdlbAogICBhdXMgZGVyIGVpZ2VudGxpY2hlbiBQcm9ncmFtbWRhdGVpIHVuZCBlaW5lciBSZWloZSB2b24KICAgUHJvZ3JhbW1iaWJsaW90aGVrZW4sIGRpZSBiZWltIExhZGVuIGRlcyBQcm9ncmFtbXMgb2RlciBzcOR0ZXIgbWl0CiAgIGRlbSBQcm9ncmFtbSB2ZXJidW5kZW4gd2VyZGVuLiBFaW5lIFJlaWhlIGRlciBQcm9ncmFtbWJpYmxpb3RoZWtlbgogICB1bnRlciBXaW5kb3dzIHN0ZWxsdCBkYWJlaSBnbGVpY2h6ZWl0aWcgZGllIFNjaG5pdHRzdGVsbGUgenVtCiAgIEJldHJpZWJzc3lzdGVtIGRhci4gTmViZW4gZGVtIGVpZ2VudGxpY2hlbiBXaW5kb3dzLVByb2dyYW1tIHdlcmRlbgogICBhbHNvIGRpZSBCaWJsaW90aGVrZW4gYmVu9nRpZ3QsIHVtIGRhcyBQcm9ncmFtbSBhdXNm/GhyZW4genUKICAga/ZubmVuLgogICAKICAgV0lORSBzdGVsbHQgZWluZSBncm/fZW4gQW56YWhsIGRlciBub3JtYWxlcndlaXNlIHVudGVyIFdpbmRvd3MKICAgdmVyZvxnYmFyZW4gQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcuIERpZXNlIEJpYmxpb3RoZWtlbiBsaWVnZW4KICAgZW50d2VkZXIgaW4gRm9ybSBlaWdlbmVyIERhdGVpZW4gdm9yLCB3ZWxjaGUgc2ljaCBzdGFuZGFyZG3k32lnIGltCiAgIFZlcnplaWNobmlzIC91c3IvbG9jYWwvbGliIGJlZmluZGVuIG9kZXIgc2llIHNpbmQgZGlyZWt0IGluIGRlcgogICBQcm9ncmFtbWRhdGVpIHdpbmUgZW50aGFsdGVuLiBXSU5FIGlzdCBqZWRvY2ggYXVjaCBpbiBkZXIgTGFnZSwgZGllCiAgIG5vcm1hbGVuIFdpbmRvd3MtQmlibGlvdGhla2VuIHp1IHZlcndlbmRlbiwgZGllcyBpc3QgYmVpc3BpZWxzd2Vpc2UKICAgZGFubiBub3R3ZW5kaWcsIHdlbm4gdm9uIGVpbmVtIFByb2dyYW1tIGVpbmUgQmlibGlvdGhlayBiZW72dGlndAogICB3aXJkLCBiZWkgZGVyIGVzIHNpY2ggbmljaHQgdW0gZWluZSBzdGFuZGFyZG3k32lnZQogICBXaW5kb3dzLUJpYmxpb3RoZWsgaGFuZGVsdCwgc29uZGVybiB1bSBlaW5lLCBkaWUgZGVtIFN5c3RlbSB35GhyZW5kCiAgIGRlciBJbnN0YWxsYXRpb24gZGVzIGJldHJlZmZlbmRlbiBQcm9ncmFtbXMgaGluenVnZWb8Z3Qgd29yZGVuCiAgIGlzdC4gU29sY2hlIEJpYmxpb3RoZWtlbiB3ZXJkZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCB2b24gV0lORSB6dXIKICAgVmVyZvxndW5nIGdlc3RlbGx0LgogICAKICAgRmFsbHMgV0lORSBtaXQgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gYmVudXR6dCB3aXJkLAogICBiaWV0ZXQgZXMgc2ljaCB1LlUuIGFuLCBpbiBlaW5pZ2VuIEbkbGxlbiBhbiBTdGVsbGUgZGVyIHZvbiBXSU5FCiAgIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHRlbiBCaWJsaW90aGVrZW4gZGllIEJpYmxpb3RoZWtlbiBkZXIKICAgV2luZG93cy1JbnN0YWxsYXRpb24genUgdmVyd2VuZGVuLiBEaWVzZSBzaW5kIGluIHZpZWxlbiBG5GxsZW4KICAgdm9sbHN05G5kaWdlciB1bmQga/ZubmVuIGRlbSBhdXN6dWb8aHJlbmRlbiBQcm9ncmFtbSBkZXN3ZWdlbiBlaGVyCiAgIGRpZSBlcndhcnRldGUgRnVua3Rpb25hbGl05HQgenVyIFZlcmb8Z3VuZyBzdGVsbGVuLiBEYWJlaSBpc3QKICAgamVkb2NoIHp1IGJlYWNodGVuLCBkYXNzIGRpZXMgbnVyIG1pdCBzb2xjaGVuIEJpYmxpb3RoZWtlbiBt9mdsaWNoCiAgIGlzdCwgZGllIGtlaW5lIEJldHJpZWJzc3lzdGVtZnVua3Rpb25lbiBiZWluaGFsdGVuLiBCaWJsaW90aGVrZW4sCiAgIGRpZSBsZWRpZ2xpY2ggZWluZmFjaGVuIFByb2dyYW1tY29kZSwgd2llIGJlaXNwaWVsc3dlaXNlIGRlbiBm/HIKICAgaOR1ZmlnIGJlbvZ0aWd0ZSBEaWFsb2dlLCBiZWluaGFsdGVuLCBr9m5uZW4gaGluZ2VnZW4gcHJvYmxlbWxvcwogICBhdXMgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gYmVudXR6dCB3ZXJkZW4uCiAgIAogICBEaWUgbWVpc3RlbiBCaWJsaW90aGVrZW4gc3RlaGVuIHVudGVyIFdpbmRvd3MgKDk1Lzk4KSBpbiB6d2VpCiAgIHZlcnNjaGllZGVuZW4gVmVyc2lvbmVuIHp1ciBWZXJm/Gd1bmcsIGVpbmVyIDMyQml0IFZlcnNpb24sIGRpZSB2b24KICAgMzJCaXQtUHJvZ3JhbW1lbiBnZWxhZGVuIHdlcmRlbiBrYW5uIHVuZCBlaW5lciAxNkJpdC1WZXJzaW9uLCBkaWUKICAgdm9uIDE2Qml0LVByb2dyYW1tZW4gYmVudXR6dCB3ZXJkZW4ga2Fubi4gQmVpZGUgVmVyc2lvbmVuIGJlbnV0emVuCiAgIGluIGRlciBSZWdlbCBQcm9ncmFtbWNvZGUgYXVzIGRlciBqZXdlaWxzIHp1Z2Vo9nJpZ2VuIGFuZGVyZW4KICAgVmVyc2lvbiAoVW50ZXIgV2luZG93cyA5NS85OCBiZWZpbmRldCBzaWNoIGRpZSBlaWdlbnRsaWNoZQogICBGdW5rdGlvbmFsaXTkdCBtZWlzdCBpbiBkZW4gMTZCaXQtQmlibGlvdGhla2VuLCBkaWUgdm9uIGRlbgogICAzMkJpdC1WZXJzaW9uZW4gZ2VsYWRlbiB1bmQgYXVmZ2VydWZlbiB3ZXJkZW4pLiBEZXN3ZWdlbiBpc3QgZXMKICAgZXJmb3JkZXJsaWNoLCBkYXNzIGltbWVyIGpld2VpbHMgYmVpZGUgVmVyc2lvbmVuIGVpbmVyIEJpYmxpb3RoZWsKICAgYWxzIFdpbmRvd3MtIG9kZXIgYWxzIFdJTkUtQmlibGlvdGhlayBnZWxhZGVuIHdlcmRlbiwgYW5kZXJlCiAgIEVpbnN0ZWxsdW5nZW4gZvxocmVuIGluIGRlciBSZWdlbCBkaXJla3QgbmFjaCBkZW0gQXVmcnVmIHZvbiBXSU5FCiAgIHp1IEZlaGxlcm4uIERpZSBmb2xnZW5kZSBUYWJlbGxlIHplaWd0LCB3ZWxjaGUgZGVyIHdpY2h0aWdzdGVuIDE2LQogICB1bmQgMzItQml0IEJpYmxpb3RoZWtlbiB6dXNhbW1lbiBnZWj2cmVuIHVuZCBnaWJ0IEF1c2t1bmZ0IGRhcvxiZXIsCiAgIG9iIGRpZXNlIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24KICAgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuIG9kZXIgdW5iZWRpbmd0IHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcKICAgZ2VzdGVsbHQgd2VyZGVuIG38c3Nlbi4gRXMgd2lyZCBqZXdlaWxzIHp1buRjaHN0IGRpZSAxNi1CaXQgVmVyc2lvbgogICB1bmQgZGFubiBkaWUgMzItQml0IFZlcnNpb24gZ2VuYW5udGUKICAgCiAgIGtybmwzODYgCiAgIGtlcm5lbDMyIAogICBEaWVzZSBCaWJsaW90aGVrIHN0ZWxsdCBkaWUgU2Nobml0dHN0ZWxsZSB6dSBkZW4gZ3J1bmRsZWdlbmRlbgogICBGdW5rdGlvbmVuLCB3aWUgRGF0ZWl6dWdyaWZmLCBFaW4tIHVuZCBBdXNnYWJlIG9kZXIKICAgUHJvemVzc3N5bmNocm9uaXNhdGlvbiwgdm9uIFdpbmRvd3MtQmV0cmllYnNzeXN0ZW1lbiB6dXIgVmVyZvxndW5nLgogICBEZXN3ZWdlbiBr9m5uZW4gaGllciBuaWNodCBkaWUgQmlibGlvdGhla2VuIGVpbmVyCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIGJlbnV0enQgd2VyZGVuLgoKICAgLSAKICAgbnRkbGwgCiAgIERpZXNlIEJpYmxpb3RoZWsgZW50aORsdCBkaWUgU2Nobml0dHN0ZWxsZSB6dSBkZW0gQmV0cmllYnNzeXN0ZW0KICAgV2luZG93cyBOVC4gRXMgbXVzcyBkZXN3ZWdlbiBkaWUgV0lORS1WZXJzaW9uIGJlbnV0enQgd2VyZGVuLgoKICAgLSAKICAgYWR2YXBpMzIgCiAgIEhpZXIgYmVmaW5kZW4gc2ljaCB1LmEuIEZ1bmt0aW9uZW4genVtIFp1Z3JpZmYgYXVmIGRpZQogICBXaW5kb3dzLVJlZ2lzdHJhdHVyIHNvd2llIFNpY2hlcmhlaXRzZnVua3Rpb25lbiB1bmQKICAga3J5cHRvZ3JhcGhpc2NoZSBGdW5rdGlvbmVuLiBJbiBkZXIgUmVnZWwgZW1wZmllaGx0IGVzIHNpY2gsIFdJTkVzCiAgIFZlcnNpb24gZGllc2VyIEJpYmxpb3RoZWsgenUgdmVyd2VuZGVuLgoKICAgd2luc29jayAKICAgd3NvY2szMiAKICAgSGllciBiZWZpbmRldCBzaWNoIGRpZSBJbnRlcm5ldCBQcm90b2tvbGwgKElQKSBTY2huaXR0c3RlbGxlIHZvbgogICBXaW5kb3dzLiBNaXQgV0lORSB3aXJkIGRpZSBJUC1GdW5rdGlvbmFsaXTkdCBkZXMgQmV0cmllYnNzeXN0ZW1zCiAgIChMaW51eCkgYmVudXR6dCwgc28gZGFzcyBoaWVyIGRpZSBXSU5FLVZlcnNpb25lbiBkaWVzZXIKICAgQmlibGlvdGhla2VuIGJlbnV0enQgd2VyZGVuIG38c3Nlbiwgd2VsY2hlIGRpZSBJUC1BdWZydWZlIHZvbgogICBXaW5kb3dzLVByb2dyYW1tZW4gYW4gTGludXggd2VpdGVybGVpdGVuLgoKICAgZ2RpIAogICBnZGkzMiAKICAgR0RJIHN0ZWh0IGb8ciBHcmFwaGljIERldmljZSBJbnRlcmZhY2UuIERpZSBCaWJsaW90aGVrIHN0ZWxsdCBlaW5lCiAgIGVpbmhlaXRsaWNoZSBTY2huaXR0c3RlbGxlIHp1ciBCaWxkc2NoaXJtYXVzZ2FiZSB1bmQgenUgRHJ1Y2tlcm4KICAgZGFyLiBBdWNoIGhpZXIgbfxzc2VuIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gIAoKICAgdXNlcgogICB1c2VyMzIgCiAgIFVzZXIgc3RlbGx0IHUuYS4gRnVua3Rpb25lbiB6dXIgRmVuc3RlcnZlcndhbHR1bmcsIHp1IE1lbvxzIG9kZXIKICAgenVyIEJlZGllbnVuZyBkZXIgWndpc2NoZW5hYmxhZ2UgYmVyZWl0LiBEaWUgV2luZG93cyA5NS85OAogICBWZXJzaW9uZW4gZGllc2VyIEJpYmxpb3RoZWtlbiBr9m5uZW4gdGhlb3JldGlzY2ggdW50ZXIgYmVzdGltbXRlbgogICBCZWRpbmd1bmdlbiBtaXQgV0lORSBiZW51dHp0IHdlcmRlbi4gRGllIFVTRVItQmlibGlvdGhla2VuIHZvbgogICBXaW5kb3dzIE5UIHJ1ZmVuIGluIGRlciBSZWdlbCBGdW5rdGlvbmVuIGltIE5ULUtlcm5lbCBhdWYgdW5kCiAgIGv2bm5lbiBkZXN3ZWdlbiBuaWNodCBtaXQgV0lORSBiZW51dHp0IHdlcmRlbi4gTm9ybWFsZXJ3ZWlzZQogICBlbXBmaWVobHQgZXMgc2ljaCwgZGllIFVzZXItQmlibGlvdGhla2VuIHZvbiBXSU5FIHp1IHZlcndlbmRlbi4KCiAgIGx6ZXhwYW5kIAogICBsejMyIAogICBEaWVzZSBiZWlkZW4gQmlibGlvdGhla2VuIHN0ZWxsZW4gRnVua3Rpb25lbiB6dW0gZGVrb21wcmltaWVyaWVyZW4KICAgdm9uIExaLUFyY2hpdmVuIHp1ciBWZXJm/Gd1bmcuIFNvbGNoZSBGdW5rdGlvbmVuIHdlcmRlbiBpbQogICB3ZXNlbnRsaWNoZW4gdm9uIEluc3RhbGxhdGlvbnNwcm9ncmFtbWVuIGJlbvZ0aWd0LiBEaWUgenUgV2luZG93cwogICBnZWj2cmVuZGVuIFZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuIGJlbnV0emVuIGVpbmlnZSBGdW5rdGlvbmVuCiAgIGF1cyBkZXIgS2VybmVsLUJpYmxpb3RoZWssIGRpZSBpbiBXSU5FIHp1ciBaZWl0IG5pY2h0IGltcGxlbWVudGllcnQKICAgc2luZC4gRXMgbfxzc2VuIGRlc3dlZ2VuIGRpZSB2b24gV0lORSBiZXJlaXRnZXN0ZWxsdGVuIFZlcnNpb25lbgogICBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1jdHJsIAogICBjb21jdGwzMiAKICAgRGllc2UgQmlibGlvdGhlayAoY29tbW9uIGNvbnRyb2xzKSBzdGVsbHQgRnVua3Rpb25lbiB6dXIgRXJ6ZXVndW5nCiAgIG9mdCBiZW51dHp0ZXIgRmVuc3RlcmVsZW1lbnRlLCB3aWUgV2Vya3pldWdsZWlzdGVuIG9kZXIKICAgU3RhdHVzYW56ZWlnZW4sIHp1ciBWZXJm/Gd1bmcuIEVzIGv2bm5lbiBzb3dvaGwgZGllIFZlcnNpb24gdm9uCiAgIFdJTkUgYWxzIGF1Y2ggZGllIFdpbmRvd3MtVmVyc2lvbiBkZXIgQmlibGlvdGhlayBiZW51dHp0IHdlcmRlbi4KCiAgIGNvbW1kbGcgCiAgIGNvbWRsZzMyIAogICBIaWVyIGJlZmluZGVuIHNpY2gga29tcGxldHRlIERpYWxvZ2UsIGRpZSBvZnQgdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiBiZW51dHp0IHdlcmRlbiAoRmFyYmF1c3dhaGwsIEF1c3dhaGwgZGVyCiAgIFNjaHJpZnRhcnQsIFN1Y2hlbiB1bmQgRXJzZXR6ZW4gdXN3LikuIEF1Y2ggaGllciBr9m5uZW4gd2FobHdlaXNlCiAgIGRpZSBXaW5kb3dzLSBvZGVyIFdJTkUtVmVyc2lvbmVuIGJlbnV0enQgd2VyZGVuLgoKICAgc2hlbGwgCiAgIHNoZWxsMzIgCiAgIERpZSBTaGVsbC1CaWJsaW90aGVrIGJlaW5oYWx0ZXQgZGVuIGdy9t90ZW4gVGVpbCBkZXIKICAgQmVudXR6ZXJzY2huaXR0c3RlbGxlbiB2b24gV2luZG93cy4gU2llIHdpcmQgdW50ZXIgV2luZG93cwogICBiZXNvbmRlcnMgdm9tIEV4cGxvcmVyIChkZW0gRGF0ZWltYW5hZ2VyKSB1bmQgdmllbGVuIGFuZGVyZW4KICAgQW53ZW5kdW5nZW4gYmVudXR6dCwgZGllIEZ1bmt0aW9uZW4gd2llIGJlaXNwaWVsc3dlaXNlCiAgIERyYWctYW5kLURyb3AgdW50ZXJzdPx0emVuLiAgUHJpbnppcGllbGwga2FubiBzb3dvaGwgZGllIFdpbmRvd3MtCiAgIGFscyBhdWNoIGRpZSBXSU5FLVZlcnNpb24gYmVudXR6dCB3ZXJkZW4uCgogICAtIAogICBjcnRkbGwgCiAgIERpZXMgaXN0IGRpZSBzdGFuZGFyZG3k32lnZSBDLUxhdWZ6ZWl0YmlibGlvdGhlayB2b24gV2luZG93cy4gWnVyCiAgIFplaXQgaXN0IGRpZSBXaW5kb3dzLVZlcnNpb24gdm9sbHN05G5kaWdlciwgd2Vzd2VnZW4gZWluaWdlCiAgIFByb2dyYW1tZSBtaXQgZGVyIFdJTkUtVmVyc2lvbiBuaWNodCByaWNodGlnIGZ1bmt0aW9uaWVyZW4uCiAgIAogICBOZWJlbiBkZW4gaGllciBnZW5hbm50ZW4gd2ljaHRpZ3N0ZW4gU3lzdGVtYmlibGlvdGhla2VuIHN0ZWxsdCBXSU5FCiAgIGVpbmUgUmVpaGUgd2VpdGVyZXIgQmlibGlvdGhla2VuIHp1ciBWZXJm/Gd1bmcsIGJlaXNwaWVsc3dlaXNlIHp1cgogICBVbnRlcnN0/HR6dW5nIHZvbiBNdWx0aW1lZGlhLUFud2VuZHVuZ2VuLiBGYWxscyBlaW5lCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGluCiAgIHZpZWxlbiBG5GxsZW4sIGF1c3p1cHJvYmllcmVuIG9iIGVpbiBQcm9ncmFtbSBiZXNzZXIgbWl0IGRlbgogICBXSU5FLVZlcnNpb25lbiBvZGVyIGRlbiBXaW5kb3dzLVZlcnNpb25lbiBkaWVzZXIgQmlibGlvdGhla2VuCiAgIGZ1bmt0aW9uaWVydC4gCgogICBJbiBkZXIgRGF0ZWkgLndpbmVyYyBiencuIHdpbmUuY29uZiBnaWJ0IGVzIHp3ZWkgQWJzY2huaXR0ZSBtaXQKICAgZGVuZW4gYmVzdGltbXQgd2lyZCwgd2VsY2hlIEJpYmxpb3RoZWtlbiBhdXMgZWluZXIKICAgV2luZG93cy1JbnN0YWxsYXRpb24gZ2VsYWRlbiB3ZXJkZW4gc29sbGVuLiBEYXL8YmVyaGluYXVzIGv2bm5lbgogICBkaWVzZSBFaW5zdGVsbHVuZ2VuIGJlaW0gQXVmcnVmIHZvbiBXSU5FIGFuIGRlciBLb21tYW5kb3plaWxlCiAgIPxiZXJzY2hyaWViZW4gd2VyZGVuLiBJbSBhbGxnZW1laW5lbiBlbXBmaWVobHQgZXMgc2ljaCwgZGllCiAgIEVpbnN0ZWxsdW5nZW4gaW4gZGVyIEJlaXNwaWVsdmVyc2lvbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICAod2luZS5pbmkpIHp1IPxiZXJuZWhtZW4gdW5kIGRpZXNlIG51ciBkYW5uIHp1IHZlcuRuZGVybiwgZmFsbHMKICAgYmVzdGltbXRlIFByb2dyYW1tZSBtaXQgZGVuIFZvcmVpbnN0ZWxsdW5nZW4gbmljaHQgcmljaHRpZwogICBmdW5rdGlvbmllcmVuLiBGYWxscyBkaWUgQmlibGlvdGhla2VuIGVpbmVyIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGJlbnV0enQgd2VyZGVuIHNvbGxlbiwgaXN0IGRhcmF1ZiB6dSBhY2h0ZW4sIGRhc3MgZGllc2UgYXVjaCB2b24KICAgV0lORSBnZWZ1bmRlbiB3ZXJkZW4ga/ZubmVuLiBEaWVzIHNldHp0IGluIGRlciBSZWdlbCB2b3JhdXMsIGRhc3MKICAgbWl0IGRlbiBWYXJpYWJsZW4gV2luZG93cyB1bmQgU3lzdGVtIGltIGFsbGdlbWVpbmVuIFRlaWwgZGVyCiAgIEtvbmZpZ3VyYXRpb24gYXVmIGRhcyBXaW5kb3dzLSBiencuIGRhcyBTeXN0ZW12ZXJ6ZWljaG5pcyBlaW5lcgogICBn/Gx0aWdlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZXplaWd0IHdpcmQgdW5kIGRhc3MgZGllc2UgYmVpZGVuCiAgIFZlcnplaWNobmlzc2UgaW0gV2VydCBkZXIgVmFyaWFibGVuIFBhdGggZ2VuYW5udCB3ZXJkZW4uCiAgIAogICBJbSBBYnNjaG5pdHQgW0RsbERlZmF1bHRzXSBr9m5uZW4gZGllIGZvbGdlbmRlbiBiZWlkZW4gRWluc3RlbGx1bmdlbgogICB2b3JnZW5vbW1lbiB3ZXJkZW46CiAgIAogICBFWFRSQV9MRF9MSUJSQVJZX1BBVEgKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIGv2bm5lbiwgZHVyY2ggRG9wcGVscHVua3RlIHZvbmVpbmFuZGVyCiAgICAgICAgICBnZXRyZW5udCwgVU5JWC1WZXJ6ZWljaG5pc3NlIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIGRlbmVuIFdJTkUKICAgICAgICAgIHp1c+R0emxpY2ggenUgZGVuIG5vcm1hbGVyd2Vpc2UgbmFjaCBkeW5hbWlzY2ggbGFkYmFyZW4KICAgICAgICAgIEJpYmxpb3RoZWtlbiBkdXJjaHN1Y2h0ZW4gVmVyemVpY2huaXNzZW4sIG5hY2ggQmlibGlvdGhla2VuCiAgICAgICAgICBzdWNoZW4gc29sbC4gRGllIFZhcmlhYmxlIGJlZWluZmx1c3N0IG51ciBkaWUgU3VjaGUgbmFjaCBkZW4KICAgICAgICAgIFdJTkUtVmVyc2lvbmVuIGRlciBCaWJsaW90aGVrZW4gdW5kIG5pY2h0IGRpZSBTdWNoZSBuYWNoCiAgICAgICAgICBXaW5kb3dzLUJpYmxpb3RoZWtlbi4gQmVpc3BpZWw6CiAgICAgICAgICBFWFRSQV9MRF9MSUJSQVJZX1BBVEg9L2hvbWUvcGV0ZXIvV0lORV9saWJzOi91c3IvbG9jYWwvV0lORS9saWJzLgogICAgICAgICAgCiAgIERlZmF1bHRMb2FkT3JkZXIKICAgICAgICAgIEhpZXJtaXQgd2lyZCBiZXN0aW1tdCwgd2VsY2hlIFJlaWhlbmZvbGdlIFdJTkUgc3RhbmRhcmRt5N9pZwogICAgICAgICAgYmVudXR6ZW4gc29sbCwgd2VubiB2ZXJzdWNodCB3aXJkLCBlaW5lIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICBEaWVzZSBSZWloZW5mb2xnZSB3aXJkIGR1cmNoIGRpZSBmb2xnZW5kZW4gU2NobPxzc2Vsd/ZydGVyCiAgICAgICAgICBkZWZpbmllcnQ6CiAgICAgICAgICAKICAgICAgICBuYXRpdmUKICAgICAgICAgICAgICAgIEVzIHNvbGwgdmVyc3VjaHQgd2VyZGVuLCBkaWUgV2luZG93cy1WZXJzaW9uIGRlcgogICAgICAgICAgICAgICAgYmV0cmVmZmVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICBidWlsdGluCiAgICAgICAgICAgICAgICBFcyBzb2xsIHZlcnN1Y2h0IHdlcmRlbiwgZGllIFdJTkUtVmVyc2lvbiBkZXIKICAgICAgICAgICAgICAgIGJldHJlZmZlbmRlbiBCaWJsaW90aGVrIHp1IGxhZGVuLgogICAgICAgICAgICAgICAgCiAgICAgICAgZWxmZGxsCiAgICAgICAgICAgICAgICBFbGZkbGxzIHNpbmQgZWluZSBiZXNvbmRlcmUgRm9ybSB2b24KICAgICAgICAgICAgICAgIFdpbmRvd3MtQmlibGlvdGhla2VuLCB3ZWxjaGUgdm9uIFdJTkUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuLiBTaWUgc2luZCB1cnNwcvxuZ2xpY2ggZ2VwbGFudCB3b3JkZW4sCiAgICAgICAgICAgICAgICB1bSBkaWUgZWluZ2ViYXV0ZW4gQmlibGlvdGhla2VuIGFienVs9nNlbiwgYWxsZXJkaW5ncwogICAgICAgICAgICAgICAgaGFiZW4gZGllIGVpbmdlYmF1dGVuIEJpYmxpb3RoZWtlbiBtaXQgZGVyIFplaXQgdmllbGUKICAgICAgICAgICAgICAgIGRlciBm/HIgRWxmZGxscyBnZXBsYW50ZW4gRnVua3Rpb25lbiBiZWtvbW1lbiwgc28gZGFzcwogICAgICAgICAgICAgICAgZGllc2UgRm9ybSB2b24gQmlibGlvdGhla2VuIHp1ciBaZWl0IGtlaW5lIGJlc29uZGVyZQogICAgICAgICAgICAgICAgQmVkZXV0dW5nIGhhdC4KICAgICAgICAgICAgICAgIAogICAgICAgIHNvCiAgICAgICAgICAgICAgICBJbiBlaW5pZ2VuIEbkbGxlbiBnaWJ0IGVzIHZvbiBlaW5lciBCaWJsaW90aGVrIExpbnV4LQogICAgICAgICAgICAgICAgdW5kIFdpbmRvd3MtVmVyc2lvbmVuLCBkaWUgc2ljaCBzb3dvaGwgaGluc2ljaHRsaWNoCiAgICAgICAgICAgICAgICBpaHJlciBGdW5rdGlvbmFsaXTkdCBhbHMgYXVjaCBoaW5zaWNodGxpY2ggZGVyCiAgICAgICAgICAgICAgICBhdWZydWZiYXJlbiBGdW5rdGlvbmVuIGluIGRlciBCaWJsaW90aGVrIG5pY2h0CiAgICAgICAgICAgICAgICB1bnRlcnNjaGVpZGVuLiBGYWxscyBlaW4gV2luZG93cy1Qcm9ncmFtbSBkaWUKICAgICAgICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiBlaW5lciBzb2xjaGVuIEJpYmxpb3RoZWsgbGFkZW4gd2lsbCwKICAgICAgICAgICAgICAgIGthbm4gV0lORSB2ZXJzdWNoZW4sIGFuIFN0ZWxsZSBkZXNzZW4gZGllIExpbnV4LVZlcnNpb24KICAgICAgICAgICAgICAgIHp1IGxhZGVuIHVuZCBkaWUgRnVua3Rpb25lbiBkaWVzZXIgVmVyc2lvbiBhbiBTdGVsbGUKICAgICAgICAgICAgICAgIGRlciBpbiBkZXIgV2luZG93cy1WZXJzaW9uIGF1ZnJ1ZmVuLiBNaXQgZGVtCiAgICAgICAgICAgICAgICBTY2hs/HNzZWx3b3J0IHNvIGthbm4gZGllc2VzIFZlcmhhbHRlbiBoZXJ2b3JnZXJ1ZmVuCiAgICAgICAgICAgICAgICB3ZXJkZW4uCiAgICAgICAgICAgICAgICAKICAgICAgICAgIER1cmNoIGRpZSBSZWloZW5mb2xnZSwgbWl0IGRlciBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgZGVyCiAgICAgICAgICBWYXJpYWJsZW4gRGVmYXVsdExvYWRPcmRlciB6dWdlb3JkbmV0IHdlcmRlbiwgd2lyZAogICAgICAgICAgZmVzdGdlbGVndCwgaW4gd2VsY2hlciBSZWloZW5mb2xnZSBXSU5FIGRpZSBlaW56ZWxuZW4KICAgICAgICAgIFN0cmF0ZWdpZW4gYmVudXR6dC4gIFd1cmRlIGJlaXNwaWVsc3dlaXNlIERlZmF1bHRMb2FkT3JkZXIgPQogICAgICAgICAgbmF0aXZlLCBidWlsdGluLCBzbyBhbmdlZ2ViZW4sIHNvIHZlcnN1Y2h0IFdJTkUsIHdlbm4gZWluZQogICAgICAgICAgQmlibGlvdGhlayBnZWxhZGVuIHdlcmRlbiBtdXNzLCB6dW7kY2hzdCBkaWUKICAgICAgICAgIFdpbmRvd3MtVmVyc2lvbiB6dSBsYWRlbi4gV2VubiBkaWVzIG5pY2h0IGZ1bmt0aW9uaWVydCAoaW4KICAgICAgICAgIGRlciBSZWdlbCwgd2VpbCBkaWUgQmlibGlvdGhlayBuaWNodCB2b3JoYW5kZW4gaXN0IG9kZXIKICAgICAgICAgIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBrYW5uKSwgd2lyZCB2ZXJzdWNodCwgZGllIFdJTkUtVmVyc2lvbgogICAgICAgICAgZGVyIEJpYmxpb3RoZWsgenUgdmVyd2VuZGVuIHVuZCBmYWxscyBhdWNoIGVpbmUgc29sY2hlIG5pY2h0CiAgICAgICAgICB2b3JoYW5kZW4gaXN0LCB3aXJkIHZlcnN1Y2h0LCBkaXJla3QgZGllIFVOSVgtVmVyc2lvbiBkZXIKICAgICAgICAgIGVudHNwcmVjaGVuZGVuIEJpYmxpb3RoZWsgenUgbGFkZW4uCiAgICAgICAgICAKICAgSW0gQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGzkc3N0IHNpY2ggZGFzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0CiAgIHNwZXppZml6aWVydGUgVmVyaGFsdGVuIGb8ciBlaW56ZWxuZSBCaWJsaW90aGVrZW4gd2llZGVyCiAgIPxiZXJzY2hyZWliZW4uIFfkaHJlbmQgZXMgbuRtbGljaCBpbSBhbGxnZW1laW5lbiBlaW5lIGd1dGUKICAgU3RyYXRlZ2llIGlzdCwgenVu5GNoc3QgenUgdmVyc3VjaGVuLCBkaWUgV2luZG93cy1WZXJzaW9uZW4gdm9uCiAgIEJpYmxpb3RoZWtlbiB6dSBsYWRlbiwgZGFyZiBkaWVzICh3aWUgb2JlbiBiZXNjaHJpZWJlbikgYmVpCiAgIGJlc3RpbW10ZW4gQmlibGlvdGhla2VuIGF1ZiBrZWluZW4gRmFsbCBnZXNjaGVoZW4gdW5kIGVzIG38c3NlbiBpbgogICBqZWRlbSBGYWxsIGRpZSBXSU5FLVZlcnNpb25lbiBiZW51dHp0IHdlcmRlbi4gQWxzIFZhcmlhYmxlbiB3ZXJkZW4KICAgaW4gZGllc2VtIEFic2Nobml0dCBkaWUgQmlibGlvdGhla2VuIGdlbmFubnQsIGb8ciBkaWUgZWluZQogICBzcGV6aWVsbGUgUmVpaGVuZm9sZ2UgZ2VsdGVuIHNvbGwuIEhpbnRlciBkZW0gR2xlaWNoaGVpdHN6ZWljaGVuCiAgIHdpcmQgZGFubiBkaWUgZvxyIGRpZXNlIEJpYmxpb3RoZWtlbiBnZXf8bnNjaHRlIFJlaWhlbmZvbGdlIGluIGRlcgogICBnbGVpY2hlbiBGb3JtIGFuZ2VnZWJlbiwgd2llIGVzIGltIHZvcmhlcmlnZW4gQWJzY2huaXR0IGJlc2NocmllYmVuCiAgIGlzdC4gQmVpc3BpZWw6CgogICBbRGxsT3ZlcnJpZGVzXQogICBrcm5sMzg2LCBrZXJuZWwzMiA9IGJ1aWx0aW4KICAgZ2RpLCBnZGkzMiAgICAgICAgPSBidWlsdGluCiAgIHVzZXIsIHVzZXIzMiAgICAgID0gYnVpbHRpbgogICBzaGVsbCxzaGVsbDMyICAgICA9IG5hdGl2ZSwgYnVpbHRpbgoKCiAgNy41IEtvbmZpZ3VyYXRpb24gZGVzIFgxMSBHcmFwaGlrdHJlaWJlcnMKICAKICAgRGVyIFgxMSBHcmFwaGlrdHJlaWJlciBzdGVsbHQgZGllIFNjaG5pdHRzdGVsbGUgendpc2NoZW4gZGVuCiAgIEdyYXBoaWtmdW5rdGlvbmVuIGRlciBXaW5kb3dzLUJldHJpZWJzc3lzdGVtZSB1bmQgZGVtIFggV2luZG93CiAgIFN5c3RlbSBkYXIuIEVyIGVybfZnbGljaHQgZXMgYWxzbywgZGFzcyBXaW5kb3dzLVByb2dyYW1tZSB1bnRlcgogICBXSU5FIGRhcyBYIFdpbmRvdyBTeXN0ZW0g5GhubGljaCBiZW51dHplbiBr9m5uZW4sIHdpZSBzaWUgdW50ZXIKICAgZWNodGVtIFdpbmRvd3MgZWluZSBub3JtYWxlIEdyYXBoaWtrYXJ0ZSBiZW51dHplbi4gRGFzIFZlcmhhbHRlbgogICBkZXMgVHJlaWJlcnMgd2lyZCBpbSBBYnNjaG5pdHQgeDExZHJ2IGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGVpbmdlc3RlbGx0LiBEb3J0IHN0ZWhlbiBkaWUgZm9sZ2VuZGVuIFZhcmlhYmxlbiB6dXIgVmVyZvxndW5nOgogICAKICAgUHJpdmF0ZUNvbG9yTWFwCiAgICAgICAgICBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiB0cnVlIGdlc2V0enQgaXN0LCB2ZXJ3ZW5kZXQgV0lORQogICAgICAgICAgZWluZSBlaWdlbmUgRmFyYnBhbGV0dGUuIEJlaSBYLVNlcnZlcm4gZGllIG1pdCBlaW5lCiAgICAgICAgICBGYXJidGllZmVuIHZvbiAyNTYgRmFyYmVuICg4YnBwKSBvZGVyIHdlbmlnZXIgYmV0cmllYmVuCiAgICAgICAgICB3ZXJkZW4sIGhhdCBkYXMgenVyIEZvbGdlLCBkYXNzIGFuZGVyZSBGZW5zdGVyIHUuVS4gaW4KICAgICAgICAgIGZhbHNjaGVuIEZhcmJlbiBkYXJnZXN0ZWxsdCB3ZXJkZW4sIHdlbm4genUgV0lORSBnZWj2cmVuZGUKICAgICAgICAgIEZlbnN0ZXIgaW4gZGVuIFZvcmRlcmdydW5kIGdlc2NoYWx0ZXQgc2luZC4gRGFm/HIga2FubiBXSU5FCiAgICAgICAgICBqZWRvY2ggRmFyYmVuIGJlc3NlciBkYXJzdGVsbGVuIGFscyBvaG5lIGRpZXNlCiAgICAgICAgICBFaW5zdGVsbHVuZy4gRmFsbHMgZGVyIFggU2VydmVyIG1pdCBlaW5lciBGYXJidGllZmUgdm9uIG1laHIKICAgICAgICAgIGFscyAyNTYgRmFyYmVuIGJldHJpZWJlbiB3aXJkLCBpc3QgZGllIEVpbnN0ZWxsdW5nCiAgICAgICAgICB3aXJrdW5nc2xvcy4KICAgICAgICAgIAogICBBbGxvY1N5c3RlbUNvbG9ycwogICAgICAgICAgV2VubiBXSU5FIGtlaW5lIGVpZ2VuZSBGYXJicGFsZXR0ZSB2ZXJ3ZW5kZXQsIGthbm4gaGllcgogICAgICAgICAgYW5nZWdlYmVuIHdlcmRlbiwgd2lldmllbGUgRmFyYmVuIHZvbiBkZXIgc3lzdGVtd2VpdAogICAgICAgICAgZ2V0ZWlsdGVuIFBhbGV0dGUgbWF4aW1hbCB2b24gV0lORSBiZW51dHp0IHdlcmRlbgogICAgICAgICAgZPxyZmVuLiBEZXIgaPZjaHN0bfZnbGljaGUgV2VydCBpc3QgaGllciAyNTYsIHdlaWwgYmVpCiAgICAgICAgICBiZXNzZXJlbiBGYXJidGllZmVuIGtlaW5lIFBhbGV0dGUgYmVudXR6dCB3aXJkLiBCZWlzcGllbDoKICAgICAgICAgIEFsbG9jU3lzdGVtQ29sb3JzID0gMTAwLgogICAgICAgICAgCiAgIFBlcmZlY3RHcmFwaGljcwogICAgICAgICAgQW4gZWluaWdlbiBTdGVsbGVuIGhhdCBXSU5FIGRpZSBN9mdsaWNoa2VpdCwKICAgICAgICAgIEdyYXBoaWtvcGVyYXRpb25lbiBlbnR3ZWRlciBzbyBkdXJjaHp1ZvxocmVuLCBkYXNzIHNpZQogICAgICAgICAgYmVzb25kZXJzIHNjaG5lbGwgc2luZCBvZGVyIHNvLCBkYXNzIHNpZSBiZXNvbmRlcnMga29ycmVrdAogICAgICAgICAgYXVzZ2Vm/GhydCB3ZXJkZW4uIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUKICAgICAgICAgIGdlc2V0enQgd2lyZCwgd2lyZCBkZXIgR2VuYXVpZ2tlaXQgVm9yenVnIGdlZ2ViZW4uIEJlaXNwaWVsOgogICAgICAgICAgUGVyZmVjdEdyYXBoaWNzID0gZmFsc2UuCiAgICAgICAgICAKICAgVXNlREdBCiAgICAgICAgICBER0EgKERpcmVjdCBHcmFwaGljcyBBY2Nlc3MpIGlzdCBlaW5lIEVyd2VpdGVydW5nIHZvbgogICAgICAgICAgWEZyZWU4Niwgd2VsY2hlIGRlbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBkZW4gU3BlaWNoZXIgZGVyCiAgICAgICAgICBHcmFwaGlra2FydGUgZXJt9mdsaWNodC4gRGFkdXJjaCBsYXNzZW4gc2ljaAogICAgICAgICAgR3JhcGhpa29wZXJhdGlvbmVuIHdlc2VudGxpY2ggc2NobmVsbGVyIGR1cmNoZvxocmVuIGFscwogICAgICAgICAgbm9ybWFsZXJ3ZWlzZS4gRGllIERpcmVjdERyYXctQmlibGlvdGhlayAoRGlyZWN0WCkgdm9uIFdJTkUKICAgICAgICAgIGthbm4gZGllc2UgRXJ3ZWl0ZXJ1bmcgYmVudXR6ZW4sIHdvZHVyY2ggc2ljaCBpbnNiZXNvbmRlcmUKICAgICAgICAgIFNwaWVsZSBtaXQgZWluZXIg5GhubGljaGVuIEdlc2Nod2luZGlna2VpdCB3aWUgdW50ZXIgV2luZG93cwogICAgICAgICAgYXVzZvxocmVuIGxhc3Nlbi4gV2VpbCBER0EgZGVuIGRpcmVrdGVuIEhhcmR3YXJlenVncmlmZgogICAgICAgICAgZXJmb3JkZXJ0LCBzaW5kIGRhenUgaW4gZGVyIFJlZ2VsIEFkbWluaXN0cmF0b3JyZWNodGUKICAgICAgICAgIGVyZm9yZGVybGljaC4gRGllIFZlcndlbmR1bmcgdm9uIERHQSB3aXJkIG1pdCBVc2VER0EgPSB0cnVlCiAgICAgICAgICBlaW4tIHVuZCBtaXQgVXNlREdBID0gZmFsc2UgYXVzZ2VzY2hhbHRldC4KCiAgICAgICAgICBBY2h0dW5nOiAKICAgICAgICAgIEFud2VuZHVuZ2VuLCBkaWUgRGlyZWN0RHJhdyBiZW51dHplbiwgdmVyc3VjaGVuCiAgICAgICAgICBub3JtYWxlcndlaXNlIGRlbiBCaWxkc2NoaXJtIGluIGVpbmUgYmVzdGltbXRlIEF1Zmz2c3VuZyB1bmQKICAgICAgICAgIEZhcmJ0aWVmZSB6dSBzY2hhbHRlbi4gV0lORSBrYW5uIGRpZSBBdWZs9nN1bmcgendhcgogICAgICAgICAgdmVy5G5kZXJuLCBmYWxscyBzaWNoIGluIGRlciBEYXRlaSBYRjg2Q29uZmlnIGVpbmUKICAgICAgICAgIERlZmluaXRpb24gZvxyIGRlbiBhbmdlZm9yZGVydGVuIE1vZHVzIGJlZmluZGV0LCB3ZWlsIGRhcyBYCiAgICAgICAgICBXaW5kb3cgU3lzdGVtIGplZG9jaCBuaWNodCBkZW4gV2VjaHNlbCBkZXIgRmFyYnRpZWZlCiAgICAgICAgICB1bnRlcnN0/HR6dCwgaXN0IGVzIG9mdCBlcmZvcmRlcmxpY2gsIGRlbiBYLVNlcnZlciBpbiBkZXIKICAgICAgICAgIGJlbvZ0aWd0ZW4gRmFyYnRpZWZlIHp1IHN0YXJ0ZW4sIGJldm9yIFdJTkUgZ2VzdGFydGV0IHdpcmQuCiAgICAgICAgICAKICAgVXNlWFNobQogICAgICAgICAgSGllcmJlaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluZSBhbmRlcmUgRXJ3ZWl0ZXJ1bmcgZGVzIFgKICAgICAgICAgIFdpbmRvdyBTeXN0ZW1zLCBkaWUgc2NobmVsbGVyZSBHcmFwaGlrb3BlcmF0aW9uZW4KICAgICAgICAgIGVybfZnbGljaHQuICBCZWlzcGllbDogVXNlWFNobSA9IHRydWUuCiAgICAgICAgICAKICAgRFhHcmFiCiAgICAgICAgICBEaWVzZSBPcHRpb24gYmV3aXJrdCwgZGFzcyBkZXIgTWF1c3plaWdlciAtIGJlaSBkZXIKICAgICAgICAgIFZlcndlbmR1bmcgdm9uIERpcmVjdERyYXcgKERpcmVjdFgpIC0gZGFzIHZvbiBEaXJlY3REcmF3CiAgICAgICAgICBnZXN0ZXVlcnRlIEZlbnN0ZXIgbmljaHQgdmVybGFzc2VuIGthbm4uIERpZXMgaXN0IG5vdHdlbmRpZywKICAgICAgICAgIHVtIGVpbmlnZSBQcm9ncmFtbWUgcmljaHRpZyBiZWRpZW5lbiB6dSBr9m5uZW4sIGFsbGVyZGluZ3MKICAgICAgICAgIHdpcmQgZGFkdXJjaCB2ZXJoaW5kZXJ0LCBtaXQgZGVyIE1hdXMgaW4gZWluIGFuZGVyZXMgRmVuc3RlcgogICAgICAgICAgenUgc2NoYWx0ZW4sIGJlaXNwaWVsc3dlaXNlIHVtIFdJTkUgenUgYmVlbmRlbi4gQmVpc3BpZWw6CiAgICAgICAgICBEWEdyYWIgPSBmYWxzZS4KICAgICAgICAgIAogICBTY3JlZW5EZXB0aAogICAgICAgICAgRWluaWdlIFgtU2VydmVyIHVudGVyc3T8dHplbiB1bnRlcnNjaGllZGxpY2hlIEZhcmJ0aWVmZW4gYXVmCiAgICAgICAgICBkZW0gc2VsYmVuIEJpbGRzY2hpcm0uIE1pdCBkaWVzZXIgVmFyaWFibGUga2FubiBhdXNnZXfkaGx0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZSBGYXJidGllZmUgaW4gZWluZW0gc29sY2hlbiBGYWxsIGJlbnV0enQKICAgICAgICAgIHdlcmRlbiBzb2xsLgoKICAgTWFuYWdlZAogICAgICAgICAgV0lORSBrYW5uIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gZGFyZ2VzdGVsbHRlIEZlbnN0ZXIKICAgICAgICAgIHUuYS4gdW5hYmjkbmdpZyB2b20gZWluZ2VzZXR6dGVuIFdpbmRvdy1NYW5hZ2VyIGFuemVpZ2VuCiAgICAgICAgICBvZGVyIHNpZSB1bnRlciBkaWUgS29udHJvbGxlIGRlcyBXaW5kb3ctTWFuYWdlcnMKICAgICAgICAgIHN0ZWxsZW4uIERhcyB6d2VpdGUgVmVyZmFocmVuIGJpZXRldCBlaW5lIGJlc3NlcmUKICAgICAgICAgIEludGVncmF0aW9uIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gaW4gZGllIEFyYmVpdHN1bWdlYnVuZwogICAgICAgICAgdW50ZXIgTGludXgsIHdlaWwgZGllIEZlbnN0ZXIgZGFubiBnZW5hdXNvIHdpZSBkaWUgdm9uCiAgICAgICAgICBMaW51eC1Qcm9ncmFtbWVuIGVyc2NoZWluZW4gdW5kIHp1IHN0ZXVlcm4gc2luZC4gV2VsY2hlciBkZXIKICAgICAgICAgIHZlcmb8Z2JhcmVuIEFuemVpZ2Vtb2RpIHZlcndlbmRldCB3ZXJkZW4gc29sbCwgd2lyZAogICAgICAgICAgbm9ybWFsZXJ3ZWlzZSBhbiBkZXIgS29tbWFuZG96ZWlsZSBiZWltIEF1ZnJ1ZiB2b24gV0lORQogICAgICAgICAgYW5nZWdlYmVuLiBEdXJjaCBkaWVzZSBWYXJpYWJsZSBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICAgICAgICAgbORzc3Qgc2ljaCBmZXN0bGVnZW4sIG9iIHZvbiBXSU5FIGdlc3RldWVydGUgRmVuc3RlcgogICAgICAgICAgc3RhbmRhcmRt5N9pZyBkZW4gV2luZG93LU1hbmFnZXIgdmVyd2VuZGVuIHNvbGxlbiAoTWFuYWdlZCA9CiAgICAgICAgICB0cnVlKS4KCiAgIERlc2t0b3BEb3VibGVCdWZmZXJlZAogICAgICAgICAgRGllc2UgT3B0aW9uIHNvbGx0ZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IHdlcmRlbiwgd2VubgogICAgICAgICAgbWl0IFdJTkUgUHJvZ3JhbW1lIGJlbnV0enQgd2VyZGVuLCBkaWUgT3BlbkdMCiAgICAgICAgICBiZW51dHplbi4gSGllcmR1cmNoIHdpcmQgZGllIERhcnN0ZWxsdW5nIHNvbGNoZXIgQW53ZW5kdW5nZW4KICAgICAgICAgIHZlcmJlc3NlcnQuCiAgICAgICAgICAKICA3LjYgS29uZmlndXJhdGlvbiBkZXIgenUgdmVyd2VuZGVuZGVuIFNjaHJpZnRhcnRlbgogIAogICBEZXIgWDExLUdyYXBoaWt0cmVpYmVyIHgxMWRydiB2ZXJ3ZW5kZXQgenVyIERhcnN0ZWxsdW5nIHZvbiBTY2hyaWZ0CiAgIGRpZSBTY2hyaWZ0YXJ0ZW4sIGRpZSBkZW0gWC1TZXJ2ZXIgZGlyZWt0IG9kZXIg/GJlciBlaW5lbiBGb250c2VydmVyCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaGVuLiBFaW5lIFJlaWhlIHZvbiBXaW5kb3dzLUFud2VuZHVuZ2VuIGVyd2FydGVuCiAgIGFsbGVyZGluZ3MgZ2FueiBiZXN0aW1tdGUgU2NocmlmdGVuLCBkaWUgdW50ZXIgV2luZG93cyBpbiBkZXIgUmVnZWwKICAgdmVyZvxnYmFyIHNpbmQgdW5kIHZpZWxlIEFud2VuZHVuZ2VuIHdlcmRlbiBhbmRlcnMgYWxzIHVudGVyIFdpbmRvd3MKICAgZGFyZ2VzdGVsbHQsIGZhbGxzIGFuZGVyZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6dCB3ZXJkZW4gbfxzc2VuLgogICAKICAgV2luZG93cyB2ZXJ3ZW5kZXQgbm9ybWFsZXJ3ZWlzZSB6d2VpIHVudGVyc2NoaWVkbGljaGUgVHlwZW4gdm9uCiAgIFNjaHJpZnRhcnRlbiwgbuRtbGljaCBzbyBnZW5hbm50ZW4gVHJ1ZVR5cGUtU2NocmlmdGVuIHVuZCBlaW5mYWNoZQogICBCaXRtYXAtU2NocmlmdGFydGVuLiBCZWlkZSBTY2hyaWZ0dHlwZW4ga/ZubmVuIHZvbiBYRnJlZTg2IGluIGRlcgogICBWZXJzaW9uc2ZhbWlsaWUgMy54IHN0YW5kYXJkbeTfaWcgbmljaHQgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3ZXJkZW4uIEFsbGVyZGluZ3MgaXN0IGVzIG32Z2xpY2gsIFdpbmRvd3MtQml0bWFwLVNjaHJpZnRhcnRlbiBpbgogICBlaW4gRm9ybWF0IHp1IPxiZXJzZXR6ZW4sIHdlbGNoZXMgdm9uIFhGcmVlODYgZWluZ2VidW5kZW4gd2VyZGVuCiAgIGthbm4uIFRydWVUeXBlLVNjaHJpZnRhcnRlbiBr9m5uZW4g/GJlciBzcGV6aWVsbGUKICAgVHJ1ZVR5cGUtRm9udHNlcnZlciwgZGllIG1pdHRsZXJ3ZWlsZSBpbiBkZW4gbWVpc3RlbiBEaXN0cmlidXRpb25lbgogICBlbnRoYWx0ZW4gc2luZCwgZWluZ2VidW5kZW4gd2VyZGVuLiBGYWxscyBlaW5lIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIHp1ciBWZXJm/Gd1bmcgc3RlaHQsIGVtcGZpZWhsdCBlcyBzaWNoIGltIGFsbGdlbWVpbmVuLCBkaWUgZG9ydAogICB2b3JoYW5kZW5lbiBTY2hyaWZ0YXJ0ZW4gYXVjaCB1bnRlciBMaW51eCBlaW56dWJpbmRlbiwgZGFtaXQgdW50ZXIKICAgV0lORSBhdXNnZWb8aHJ0ZSBXaW5kb3dzLUFud2VuZHVuZ2VuIGRpZSBlcndhcnRldGVuIFNjaHJpZnRhcnRlbgogICB2b3JmaW5kZW4uIFdlbm4gV0lORSBvaG5lIFdpbmRvd3MtU2NocmlmdGFydGVuIGJlbnV0enQgd2lyZCwKICAgdmVyc3VjaHQgZGFzIFByb2dyYW1tLCBkaWUgYW5nZWZvcmRlcnRlbiBTY2hyaWZ0ZW4gZHVyY2ggZGllCiAgIFNjaHJpZnRlbiBkZXMgWCBXaW5kb3cgU3lzdGVtcyB6dSBlcnNldHplbiwgd29kdXJjaCBzaWNoCiAgIFZlcuRuZGVydW5nZW4gaW0gRXJzY2hlaW51bmdzYmlsZCBkZXIgQW53ZW5kdW5nZW4gZXJnZWJlbiBr9m5uZW4uCiAgIAogICAgNy42LjEgRWluYmluZGVuIHZvbiBCaXRtYXAtU2NocmlmdGVuCiAgICAKICAgV2luZG93cyBCaXRtYXAtU2NocmlmdGFydGVuIGJlZmluZGVuIHNpY2ggbm9ybWFsZXJ3ZWlzZSBpbQogICBVbnRlcnZlcnplaWNobmlzIGZvbnRzIGRlcyBXaW5kb3dzLVZlcnplaWNobmlzc2VzIHVuZCBoYWJlbiBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmZvbi4gRXMgaXN0IGFiZXIgYXVjaCBt9mdsaWNoLCBkYXNzIHNpZSBpbgogICBhdXNm/GhyYmFyZW4gRGF0ZWllbiBvZGVyIGluIEJpYmxpb3RoZWtlbiBlbnRoYWx0ZW4gc2luZC4gSW0KICAgVW50ZXJ2ZXJ6ZWljaG5pcyB0b29scyBkZXMgQmFzaXN2ZXJ6ZWljaG5pc3NlcyBtaXQgZGVtCiAgIFdJTkUtUXVlbGxjb2RlIGJlZmluZGV0IHNpY2ggZGFzIFByb2dyYW1tIGZudDJiZGYsIG1pdCBkZW0gZGllCiAgIEZvbnRzIGF1cyBkaWVzZW4gRGF0ZWllbiBleHRyYWhpZXJ0IHVuZCBpbiBkYXMgQml0bWFwIERpc3RyaWJ1dGlvbgogICBGb3JtYXQgKC5iZGYpIHVtZ2V3YW5kZWx0IHdlcmRlbiBr9m5uZW4uIERhenUgaXN0IGRhcyBQcm9ncmFtbQogICBmb2xnZW5kZXJtYXNzZW4gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gQmFzaXNuYW1lIFNjaHJpZnRkYXRlaQoKICAgRGFiZWkgaXN0IGb8ciBTY2hyaWZ0ZGF0ZWkgZGVyIE5hbWUgZGVyIERhdGVpIGFuenVnZWJlbiwgaW4gZGVyCiAgIHNpY2ggZGllIHp1IGV4dHJhaGllcmVuZGVuIFNjaHJpZnRlbiBiZWZpbmRlbiB1bmQgZvxyIEJhc2lzbmFtZQogICBlaW5lIEJlemVpY2hudW5nLCBtaXQgZGVyIGRpZSBOYW1lbiBkZXIgenUgZXh0cmFoaWVyZW5kZW4gRGF0ZWllbgogICBiZWdpbm5lbiBzb2xsZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBzaWNoIGluIGRlciBSZWdlbCBpbgogICBlaW5lciBXaW5kb3dzLVNjaHJpZnRhcnRlbmRhdGVpIG1laHJlcmUgU2NocmlmdGFydGVuIGJlZmluZGVuLCBkaWUKICAgaW4gdW50ZXJzY2hpZWRsaWNoZSBEYXRlaWVuIGV4dHJhaGllcnQgd2VyZGVuLiBCZWkgZWluaWdlbgogICBTY2hyaWZ0YXJ0ZW4gaXN0IGVzIG5vdHdlbmRpZywgZGVtIFByb2dyYW1tIG1pdHp1dGVpbGVuLCB3aWUgZGllCiAgIFNjaHJpZnRhcnRlbiBrb2RpZXJ0IHNpbmQuIEhpZXJ6dSBpc3QgZGllIE9wdGlvbiAtYyB6dSB2ZXJ3ZW5kZW4KICAgdW5kIGRhaGludGVyIGRpZSBCZXplaWNobnVuZyBkZXIgS29kaWVydW5nIGFuenVnZWJlbi4gRWluZQogICDcYmVyc2ljaHQg/GJlciBhbGxlIHZvbiBkZW0gUHJvZ3JhbW0gdW50ZXJzdPx0enRlbiBPcHRpb25lbiB3aXJkCiAgIGF1c2dlZ2ViZW4sIHdlbm4gZXMgb2huZSBQYXJhbWV0ZXIgYXVmZ2VydWZlbiB3aXJkLiBVbSBhbHNvCiAgIGJlaXNwaWVsc3dlaXNlIGRpZSBCaXRtYXAtU2NocmlmdGVuIGF1cyBkZXIgRGF0ZWkgU0VSSUZGLkZPTiBpbgogICBEYXRlaWVuIHp1IGV4dHJhaGllcmVuLCBkZXJlbiBOYW1lbiBtaXQgZGVyIEJlemVpY2hudW5nIHNlcmlmZgogICBiZWdpbm5lbiwgd+RyZSBkYXMgUHJvZ3JhbW0gc28gYXVmenVydWZlbjoKICAgCiAgIGZudDJiZGYgLW8gc2VyaWZmIFNFUklGRi5GT04KICAgCiAgIEVzIHdlcmRlbiBkYW5uIGVpbmUgUmVpaGUgdm9uIERhdGVpZW4gbWl0IHVudGVyc2NoaWVkbGljaGVuIEZvbnRzCiAgIGF1cyBkZXIgT3JpZ2luYWxkYXRlaSBlcnpldWd0LiBJbSBu5GNoc3RlbiBTY2hyaXR0IHNpbmQgZGllc2UKICAgRGF0ZWllbiBtaXQgZGVtIFByb2dyYW1tIGJkZnRvcGNmKDEpIGluIGRhcyBzbyBnZW5hbm50ZSBQb3J0YWJsZQogICBDb21waWxlZCBGb3JtYXQgenUg/GJlcnNldHplbi4gRGllc2VzIFByb2dyYW1tIHNvbGx0ZSBCZXN0YW5kdGVpbAogICBqZWRlciBYMTEtSW5zdGFsbGF0aW9uIHNlaW4gdW5kIGlzdCBkdXJjaCBlaW5lIE1hbnVhbHNlaXRlCiAgIGRva3VtZW50aWVydC4gVW0gYmVpc3BpZWxzd2Vpc2UgZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLmJkZiB6dQogICD8YmVyc2V0emVuIHVuZCBkYXMgRXJnZWJuaXMgaW4gZGllIERhdGVpIHNlcmlmZl9yNDAwLTIzLnBjZiB6dQogICBzY2hyZWliZW4sIGv2bm50ZSBkYXMgUHJvZ3JhbW0gc28gYXVmZ2VydWZlbiB3ZXJkZW46CiAgIAogICBiZGZ0b3BjZiAtbyBzZXJpZmZfcjQwMC0yMy5wY2Ygc2VyaWZmX3I0MDAtMjMuYmRmCiAgIAogICBEaWUgYXVmIGRpZXNlIFdlaXNlIGVyemV1Z3RlbiBEYXRlaWVuIGv2bm5lbiBudW4gaW4gZWluZXMgZGVyLCB2b24KICAgZGVtIFgtU2VydmVyIG9kZXIgZWluZW0gRm9udHNlcnZlciBiZW51dHp0ZW4sIEZvbnQtVmVyemVpY2huaXMKICAga29waWVydCB3ZXJkZW4uIEluIGRpZXNlbSBWZXJ6ZWljaG5pcyBpc3QgZGFuYWNoIGRlciBCZWZlaGwKICAgbWtmb250ZGlyIGF1Znp1cnVmZW4sIGRhbWl0IGRlciBkb3J0IGJlZmluZGxpY2ggRm9udGluZGV4IG5ldQogICBlcnpldWd0IHdpcmQuICBCZXZvciBkaWUgU2NocmlmdGVuIGRhbm4gdGF0c+RjaGxpY2ggdW50ZXIgWCB6dXIKICAgVmVyZvxndW5nIHN0ZWhlbiB1bmQgZGFtaXQgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4ga/ZubmVuLCBtdXNzIFgKICAgbmV1IGdlc3RhcnRldCBvZGVyIGRlciBmb2xnZW5kZSBCZWZlaGwgYW4gZGVyIEtvbW1hbmRvemVpbGUKICAgZWluZ2VnZWJlbiB3ZXJkZW46CiAgIAogICB4c2V0IGZwICtyZWhhc2gKICAgCiAgIEltIFVudGVydmVyemVpY2huaXMgdG9vbHMgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMgYmVmaW5kZXQKICAgc2ljaCBlaW4gU2hlbGxza3JpcHQgbWl0IGRlbSBOYW1lbiBmb250X2NvbnZlcnQuc2gsIHdlbGNoZXMgZGllCiAgIG9iZW4gZ2VuYW5udGVuIFNjaHJpdHRlIGF1dG9tYXRpc2NoIGR1cmNoZvxocnQgdW5kIGFsbGUgdW50ZXJoYWxiCiAgIGVpbmVzIFZlcnplaWNobmlzc2VzIGJlZmluZGxpY2hlbiBCaXRtYXAtU2NocmlmdGFydGVuIGF1dG9tYXRpc2NoCiAgIGtvbnZlcnRpZXJ0IHVuZCBpbnN0YWxsaWVydC4KICAgCiAgICA3LjYuMiBFaW5iaW5kZW4gdm9uIFRydWVUeXBlLVNjaHJpZnRlbgogICAgCiAgIFdpZSBiZXJlaXRzIGVyd+RobnQsIGv2bm5lbiBkaWUgWC1TZXJ2ZXIgdm9uIFhGcmVlODYgaW4gZGVyCiAgIFZlcnNpb25zZmFtaWxpZSAzLngga2VpbmUgVHJ1ZVR5cGUtU2NocmlmdGVuIGRhcnN0ZWxsZW4uIFNlaXQKICAgWEZyZWU4NiA0LjAgaGF0IHNpY2ggZGllcyBhbGxlcmRpbmdzIGdl5G5kZXJ0LCBzbyBkYXNzIHNvbGNoZQogICBTY2hyaWZ0ZW4genVr/G5mdGlnIHByb2JsZW1sb3MgdW50ZXIgWCAtIHVuZCBkYW1pdCBhdWNoIG1pdCBXSU5FIC0KICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdCB3ZXJkZW4ga/ZubmVuLiBMZWlkZXIga/ZubmVuIPxiZXIgZGFzCiAgIFgtRm9udC1Qcm90b2tvbGwgbmljaHQgYWxsZSB2b24gbWFuY2hlbiBXaW5kb3dzLVByb2dyYW1tZW4KICAgYmVu9nRpZ3RlbiBJbmZvcm1hdGlvbmVuIPxiZXIgVHJ1ZVR5cGUtRm9udHMgZGFyZ2VzdGVsbHQgd2VyZGVuLCBzbwogICBkYXNzIG1hbmNoZSBXaW5kb3dzLVByb2dyYW1tZSBhdWNoIGRhbm4gbm9jaCBuaWNodCByaWNodGlnCiAgIGZ1bmt0aW9uaWVyZW4sIHdlbm4gZGllIGJlbvZ0aWd0ZW4gRm9udHMgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICB3b3JkZW4gc2luZC4gTWl0IFhGcmVlODYgMy54IGJpZXRldCBzaWNoIGRlciBFaW5zYXR6IGVpbmVzCiAgIFRydWVUeXBlLUZvbnRzZXJ2ZXJzIGFuLiBadXIgWmVpdCBzdGVoZW4gZHJlaSB1bnRlcnNjaGllZGxpY2hlCiAgIHNvbGNoZXIgUHJvZ3JhbW1lIHp1ciBWZXJm/Gd1bmcsIG7kbWxpY2g6IHhmcy14dHQgKERlYmlhbi1QYWtldDoKICAgeGZzLXh0dCksIHhmc3R0IChEZWJpYW4tUGFrZXQgeGZzdHQpIHVuZCB4ZnNmdCAoaW0gSW50ZXJuZXQgdW50ZXIKICAgZGVyIEFkcmVzc2UgaHR0cDovL3d3dy5kY3MuZWQuYWMudWsvaG9tZS9qZWMvcHJvZ3JhbXMveGZzZnQvCiAgIHZlcmb8Z2JhcikuCiAgIAogICBEZXIgQXV0b3IgaGF0IG1pdCBkZW0gUHJvZ3JhbW0geGZzZnQgZGllIGJlc3RlbiBFcmdlYm5pc3NlIGVyemllbHQuCiAgIERpZXNlciBTZXJ2ZXIgbORzc3Qgc2ljaCBsZWljaHQga29uZmlndXJpZXJlbiB1bmQgaXN0IGtvbXBhdGliZWwgenUKICAgaGVya/ZtbWxpY2hlbiBGb250c2VydmVybiwgc28gZGFzcyBuaWNodCB6d2VpIHZlcnNjaGllZGVuZQogICBGb250c2VydmVyIGF1ZiBlaW5lbSBSZWNobmVyIGF1c2dlZvxocnQgd2VyZGVuIG38c3Nlbi4gRGllc2VzCiAgIFByb2dyYW1tIGRpZW50ZSBhdWNoIGFscyBHcnVuZGxhZ2UgZvxyIGRpZSBJbnRlZ3JhdGlvbiBkZXIKICAgVHJ1ZVR5cGUtVW50ZXJzdPx0enVuZyBpbiBYRnJlZTg2IDQuMC4KICAgCiAgIFVtIGRpZSB2b24gZWluZW0gRm9udHNlcnZlciB6dXIgVmVyZvxndW5nIGdlc3RlbGx0ZW4gU2NocmlmdGVuIHp1CiAgIHZlcndlbmRlbiwgbXVzcyBkZW0gWC1TZXJ2ZXIgZGllIEFkcmVzc2UgZGVzIEZvbnRzZXJ2ZXJzIG1pdGdldGVpbHQKICAgd2VyZGVuLiBEaWVzIGthbm4gZW50d2VkZXIgaW4gZGVyIERhdGVpIC9ldGMvWDExL1hGODZDb25maWcgb2RlcgogICBkdXJjaCBFaW5nYWJlIGRpZXNlcyBCZWZlaGxzIGdlc2NoZWhlbjoKICAgCiAgIHhzZXQgZnArIHRjcC9sb2NhbGhvc3Q6NzEwMAogICAKICAgRGFiZWkgbXVzcyBsb2NhbGhvc3QgdS5VLiBnZWdlbiBkZW4gTmFtZW4gZGVzIFJlY2huZXJzIGF1c2dldGF1c2NodAogICB3ZXJkZW4sIGF1ZiBkZW0gZGVyIEZvbnRzZXJ2ZXIgYXVzZ2Vm/GhydCB3ZXJkZW4gdW5kIDcxMDAgZHVyY2ggZGVuCiAgIFBvcnQsIGRlciB2b20gRm9udHNlcnZlciBiZW51dHp0IHdpcmQuIFdlbm4gZGVyIEZvbnRzZXJ2ZXIgYXVmIGRlbQogICBzZWxiZW4gUmVjaG5lciBhdXNnZWb8aHJ0IHdpcmQgd2llIGRlciBYLVNlcnZlciwgZGFubiBr9m5uZW4genVyCiAgIEtvbW11bmlrYXRpb24gendpc2NoZW4gWC1TZXJ2ZXIgdW5kIEZvbnRzZXJ2ZXIgYXVjaAogICBVTklYLURvbWFpbi1Tb2NrZXRzIGJlbnV0enQgd2VyZGVuLiBEZXIgZW50c3ByZWNoZW5kZSBCZWZlaGwga/ZubnRlCiAgIGRhbm4gZm9sZ2VuZGVybWHfZW4gYXVzc2VoZW46CiAgIAogICB4c2V0IGZwKyB1bml4Lzo3MTAwCiAgIAogICAgNy42LjMgRm9udC1FaW5zdGVsbHVuZ2VuIGluIGRlciBXSU5FcyBLb25maWd1cmF0aW9uc2RhdGVpCiAgICAKICAgSW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgLndpbmVyYyBiencuIHdpbmUuY29uZiBzdGVoZW4gZGllCiAgIGZvbGdlbmRlbiBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZywgbWl0IGRlbmVuIFdJTkVzIFVtZ2FuZyBtaXQKICAgU2NocmlmdGFydGVuIGJlZWluZmx1c3N0IHdlcmRlbiBrYW5uOgogICAKICAgUmVzb2x1dGlvbgogICAgICAgICAgVW50ZXIgV2luZG93cyBr9m5uZW4gUHJvZ3JhbW1lIGRpZSBHcvbfZSBlaW5lcyB6dQogICAgICAgICAgdmVyd2VuZGVuZGVuIEZvbnRzIGluIFB1bmt0ZW4gKGFuIFN0ZWxsZSB2b24gUGl4ZWxuKQogICAgICAgICAgYW5nZWJlbi4gRGFtaXQgZGllIFNjaHJpZnRhcnQgZGFubiBpbiBkZXIgcmljaHRpZ2VuIEdy9t9lCiAgICAgICAgICBhbmdlemVpZ3Qgd2VyZGVuIGthbm4sIG11c3MgZGllIHRhdHPkY2hsaWNoZSBHcvbfZSBkZXMKICAgICAgICAgIEJpbGRzY2hpcm1zIGJla2FubnQgc2Vpbiwgd2FzIHVudGVyIFggbmljaHQgdW5iZWRpbmd0IGRlcgogICAgICAgICAgRmFsbCBpc3QuIE1pdCBkZXIgVmFyaWFibGUgUmVzb2x1dGlvbiBrYW5uIGRlc3dlZ2VuIGp1c3RpZXJ0CiAgICAgICAgICB3ZXJkZW4sIHdlbGNoZSBTY2hyaWZ0Z3L232VuIGluIHNvbGNoZW4gRuRsbGVuIHZvbiBXSU5FCiAgICAgICAgICBhdXNnZXfkaGx0IHdlcmRlbi4gRGVyIFN0YW5kYXJkd2VydCBpc3QgOTYsIHNpbm52b2xsZSBXZXJ0ZQogICAgICAgICAgbGllZ2VuIHp3aXNjaGVuIDYwIHVuZCAxMjAuIEJlaXNwaWVsOiBSZXNvbHV0aW9uID0gMTAwLgogICAgICAgICAgCiAgIERlZmF1bHQKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGUgd2lyZCBhbmdlZ2ViZW4sIHdlbGNoZSBTY2hyaWZ0YXJ0IFdJTkUKICAgICAgICAgIGFscyBTdGFuZGFyZCB2ZXJ3ZW5kZW4gc29sbC4gRGllIGRhYmVpIGFuenVnZWJlbmRlCiAgICAgICAgICBaZWljaGVua2V0dGUgYmVzdGVodCBhdXMgZGVyIEhlcnN0ZWxsZXJiZXplaWNobnVuZyBkZXIgenUKICAgICAgICAgIHZlcndlbmRlbmRlbiBTY2hyaWZ0YXJ0IHVuZCBpaHJlbSBOYW1lbiwgZGllc2UgQmV6ZWljaG51bmdlbgogICAgICAgICAgd2VyZGVuIGR1cmNoIGVpbiBNaW51c3plaWNoZW4gbWl0ZWluYW5kZXIgdmVyYnVuZGVuLAogICAgICAgICAgYXXfZXJkZW0gbXVzcyBzaWNoIHp1IEJlZ2lubiB1bmQgYW0gRW5kZSBkZXIgWmVpY2hlbmtldHRlCiAgICAgICAgICBlaW4gTWludXN6ZWljaGVuIGJlZmluZGVuLiAgRGllIHVudGVyIFgxMSB2ZXJm/GdiYXJlbiBGb250cwogICAgICAgICAga/ZubmVuIGJlaXNwaWVsc3dlaXNlIG1pdCBkZW4gUHJvZ3JhbW1lbiB4Zm9udHNlbCgxKSBvZGVyCiAgICAgICAgICB4bHNmb250cygxKSBhdXNnZXfkaGx0IHdlcmRlbi4gIAogICAgICAgICAgQmVpc3BpZWw6IERlZmF1bHQgPSAgLWFkb2JlLXRpbWVzLQogICAgICAgICAgCiAgIERlZmF1bHRGaXhlZAogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgZ2xlaWNobeTfaWdlciBCdWNoc3RhYmVuYnJlaXRlCiAgICAgICAgICB2ZXJ3ZW5kZW4gc29sbC4gIERlciBOYW1lIGRlciBnZXf8bnNjaHRlbiBTY2hyaWZ0IGlzdCB3aWUKICAgICAgICAgIGJlaSBkZXIgVmFyaWFibGVuIERlZmF1bHQgYW56dWdlYmVuLiBCZWlzcGllbDoKICAgICAgICAgIERlZmF1bHRGaXhlZCA9IC1zb255LWZpeGVkLQogICAgICAgICAgCiAgIERlZmF1bHRTZXJpZgogICAgICAgICAgSGllcm1pdCB3aXJkIGZlc3RnZWxlZ3QsIHdlbGNoZW4gRm9udCBXSU5FIGFscwogICAgICAgICAgc3RhbmRhcmRt5N9pZ2UgU2NocmlmdGFydCBtaXQgU2VyaWZlbiB2ZXJ3ZW5kZW4KICAgICAgICAgIHNvbGwuIEJlaXNwaWVsOiBEZWZhdWx0U2VyaWYgPSAtYWRvYmUtdGltZXMtCiAgICAgICAgICAKICAgRGVmYXVsdFNhbnNTZXJpZgogICAgICAgICAgSGllcm1pdCB3aXJkIGJlc3RpbW10LCB3ZWxjaGVuIEZvbnQgV0lORSBhbHMgc3RhbmRhcmRt5N9pZ2UKICAgICAgICAgIFNjaHJpZnRhcnQgb2huZSBTZXJpZmVuIHZlcndlbmRlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgIERlZmF1bHRTYW5zU2VyaWYgPSAtYWRvYmUtaGVsdmV0aWNhLQogICAgICAgICAgCiAgIEZvbnRtZXRyaWMKICAgICAgICAgIFdlbm4gV0lORSBkYXMgZXJzdGUgTWFsIGdlc3RhcnRldCB3aXJkLCBmcmFndCBlcyB2b20KICAgICAgICAgIFgtU2VydmVyIGRpZSBFaWdlbnNjaGFmdGVuIGRlciB2ZXJm/GdiYXJlbiBGb250cyBhYi4gIFdlaWwKICAgICAgICAgIGRpZXNlIE9wZXJhdGlvbiByZWNodCB6ZWl0YXVmd2VuZGlnIGlzdCwgd2lyZCBkYXMgRXJnZWJuaXMKICAgICAgICAgIGRlciBBYmZyYWdlIGluIGVpbmVyIERhdGVpIGltIEhlaW1hdHZlcnplaWNobmlzIGRlcwogICAgICAgICAgYmV0cmVmZmVuZGVuIEJlbnV0emVycyBnZXNwZWljaGVydC4gRGllIEFiZnJhZ2UgYnJhdWNodCBkYW5uCiAgICAgICAgICBiZWkgZWluZW0gc3DkdGVyZW4gQXVmcnVmIGRlcyBQcm9ncmFtbXMgbnVyIGF1c2dlZvxocnQgenUKICAgICAgICAgIHdlcmRlbiwgZmFsbHMgc2ljaCBkaWUgdmVyZvxnYmFyZW4gRm9udHMgZ2XkbmRlcnQgaGFiZW4uIE1pdAogICAgICAgICAgZGllc2VyIFZhcmlhYmxlbiBrYW5uIGFuZ2VnZWJlbiB3ZXJkZW4sIGluIHdlbGNoZXIgRGF0ZWkgZGllCiAgICAgICAgICBGb250ZGF0ZW4gendpc2NoZW5nZXNwZWljaGVydCB3ZXJkZW4gc29sbGVuLiBEYWR1cmNoIGzkc3N0CiAgICAgICAgICBzaWNoIGJlaXNwaWVsc3dlaXNlIHZlcm1laWRlbiwgZGFzcyBkaWUgQWJmcmFnZSBm/HIgamVkZW4KICAgICAgICAgIEJlbnV0emVyIGVybmV1dCBhdXNnZWb8aHJ0IHdlcmRlbiBtdXNzLiBCZWlzcGllbDoKICAgICAgICAgIEZvbnRtZXRyaWM9L3Zhci9saWIvV0lORS9mb250LmNhY2hlLgogICAgICAgICAgCiAgIEFsaWFzCiAgICAgICAgICBXaWUgd2VpdGVyIG9iZW4gYmVyZWl0cyBhbmdlc3Byb2NoZW4sIGthbm4gZXMgdm9ya29tbWVuLAogICAgICAgICAgZGFzcyBXaW5kb3dzLUFud2VuZHVuZ2VuIGJlc3RpbW10ZSBTY2hyaWZ0YXJ0ZW4gYmVudXR6ZW4KICAgICAgICAgIHdvbGxlbiwgZGllIHZvbSBYLVNlcnZlciBuaWNodCB6dXIgVmVyZvxndW5nIGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4uIE1pdCBkZXIgVmFyaWFibGUgQWxpYXMga/ZubmVuIHNvbGNoZW4gRm9udG5hbWVuCiAgICAgICAgICBhbmRlcmVuLCB1bnRlciBYIHZlcmb8Z2JhcmVuIFNjaHJpZnRhcnRlbiB6dWdlb3JkbmV0CiAgICAgICAgICB3ZXJkZW4uIFdlcnRlLCBkaWUgZGllc2VyIFZhcmlhYmxlbiB6dWdlb3JkbmV0IHdlcmRlbiwKICAgICAgICAgIGJlc3RlaGVuIGF1cyBkcmVpIEVsZW1lbnRlbiwgZGllIGR1cmNoIEtvbW1hdGEgdm9uZWluYW5kZXIKICAgICAgICAgIHp1IHRyZW5uZW4gc2luZC4gRGFzIGVyc3RlIEVsZW1lbnQgaXN0IGRlciBOYW1lIGRlciB6dQogICAgICAgICAgZXJzZXR6ZW5kZW4gU2NocmlmdGFydCwgZGFzIHp3ZWl0ZSBFbGVtZW50IGRlciBOYW1lIGRlciBYCiAgICAgICAgICBTY2hyaWZ0YXJ0LCBpbiBkZXIgRm9ybSwgd2llIHNpZSBhdWNoIGJlaSBkZXIgRGVmaW5pdGlvbiBkZXIKICAgICAgICAgIFZhcmlhYmxlbiBEZWZhdWx0IGFuenVnZWJlbiBpc3QuIEFscyBkcml0dGVzIEVsZW1lbnQga2FubgogICAgICAgICAgb3B0aW9uYWwgZGFzIFNjaGz8c3NlbHdvcnQgc3Vic3QgYW5nZWdlYmVuIHdlcmRlbi4gIERpZXNlcwogICAgICAgICAgU2NobPxzc2Vsd29ydCBiZXdpcmt0LCBkYXNzIGR1cmNoIGRpZSBBbGlhc2RlZmluaXRpb24gZWluZQogICAgICAgICAgYmVyZWl0cyB2b3JoYW5kZW5lIERlZmluaXRpb24gKGRpZSB2b24gV0lORSBhdXRvbWF0aXNjaAogICAgICAgICAgZXJzdGVsbHQgd3VyZGUpIPxiZXJzY2hyaWViZW4gd2lyZC4gV2VpbCBlcyBt9mdsaWNoIGlzdCwKICAgICAgICAgIG1laHJlcmUgQWxpYXMtRGVmaW5pdGlvbmVuIHZvcnp1bmVobWVuLCBtdXNzIGRlcgogICAgICAgICAgVmFyaWFibGVuYmV6ZWljaG51bmcgQWxpYXMgamV3ZWlscyBlaW5lIFphaGwgbmFjaGdlc3RlbGx0CiAgICAgICAgICB3ZXJkZW4sIG1pdCBkZXIgYW5nZWdlYmVuIHdpcmQsIHVtIGRpZSB3aWV2aWVsdGUKICAgICAgICAgIEFsaWFzLURlZmluaXRpb24gZXMgc2ljaCBoYW5kZWx0LiBEYWJlaSBpc3QgbWl0IGRlciBaYWhsCiAgICAgICAgICBOdWxsIHp1IGJlZ2lubmVuLCBlcyBkYXJmIGtlaW5lIFphaGwgYXVzZ2VsYXNzZW4KICAgICAgICAgIHdlcmRlbi4gQmVpc3BpZWw6IEFsaWFzMCA9IFN5c3RlbSwgLS1pbnRlcm5hdGlvbmFsLSwgc3Vic3QKICAgICAgICAgIAogIDcuNyBLb25maWd1cmF0aW9uIHZvbiBTY2huaXR0c3RlbGxlbiB1bmQgSGFyZHdhcmV6dWdyaWZmCiAgCiAgIFdJTkUga2FubiBBbndlbmR1bmdlbiBkZW4gZGlyZWt0ZW4gWnVncmlmZiBhdWYgc2VyaWVsbGUgdW5kCiAgIHBhcmFsbGVsZSBTY2huaXR0c3RlbGxlbiBzb3dpZSBhdWYgd2VpdGVyZSBiZWxpZWJpZ2UgRWluLSB1bmQKICAgQXVzZ2FiZWFkcmVzc2VuIGdlc3RhdHRlbi4gR3J1bmRz5HR6bGljaCBpc3QgZGFiZWkgenUgYmVkZW5rZW4sCiAgIGRhc3MgZGVyIGJldHJlZmZlbmRlIFdJTkUtUHJvemVzcyBtaXQgYXVzcmVpY2hlbmRlbiBQcml2aWxlZ2llbgogICBhdXNnZXN0YXR0ZXQgc2VpbiBtdXNzLCBkYW1pdCBlaW4gc29sY2hlciBadWdyaWZmIHRhdHPkY2hsaWNoCiAgIG32Z2xpY2ggd2lyZC4gV2lyZCBXSU5FIG1pdCBnZXf2aG5saWNoZW4gQmVudXR6ZXJyZWNodGVuICh1bmQgbmljaHQKICAgbWl0IGRlbiBQcml2aWxlZ2llbiBkZXMgQWRtaW5pc3RyYXRvcnMpIGF1c2dlZvxocnQsIGJlZGV1dGV0IGRpZXMKICAgaW4gZGVyIFJlZ2VsLCBkYXNzIGRpZSBadWdyaWZmc3JlY2h0ZSBhdWYgZGllIEdlcuR0ZWRhdGVpZW4sIHdlbGNoZQogICBHZXLkdGUgcmVwcuRzZW50aWVyZW4sIGF1ZiBkaWUgV2luZG93cy1Qcm9ncmFtbWVuIGRlciBadWdyaWZmCiAgIGdlc3RhdHRldCB3ZXJkZW4gc29sbCwg/GJlcnBy/GZ0IHdlcmRlbiBt/HNzZW4uIERlciBkaXJla3RlIFp1Z3JpZmYKICAgYXVmIEVpbi0gdW5kIEF1c2dhYmVhZHJlc3NlbiBpc3QgdW50ZXIgTGludXggYXVzc2NobGll32xpY2ggZGVtCiAgIEFkbWluaXN0cmF0b3IgZ2VzdGF0dGV0LgogICAKICAgWnVyIEtvbmZpZ3VyYXRpb24gZGVyIHNlcmllbGxlbiBTY2huaXR0c3RlbGxlbiBkaWVudCBkZXIgQWJzY2huaXR0CiAgIFtzZXJpYWxwb3J0c10gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkuIERpZSBlaW56ZWxuZW4gVmFyaWFibGVuIGluCiAgIGRpZXNlbSBBYnNjaG5pdHQgYmV6ZWljaG5lbiBkaWUgc2VyaWVsbGVuIFNjaG5pdHRzdGVsbGVuIHNvIHdpZSBlcwogICB1bnRlciBET1MgdW5kIFdpbmRvd3Mg/GJsaWNoIGlzdCAoQ29tMSwgQ29tMiB1c3cuKS4gQWxzIFdlcnQgd2lyZAogICBkaWVzZW4gVmFyaWFibGVuIGRlciBOYW1lIGRlciBHZXLkdGVkYXRlaSD8YmVyZ2ViZW4sIHdlbGNoZSBkaWUKICAgZW50c3ByZWNoZW5kZSBTY2huaXR0c3RlbGxlIHVudGVyIExpbnV4IHJlcHLkc2VudGllcnQuIEZhbGxzIGFsc28KICAgV2luZG93cy1BbndlbmR1bmdlbiB1bnRlciBXSU5FIPxiZXIgZGllIFNjaG5pdHRzdGVsbGUgQ29tMSBhdWYgZGFzCiAgIEdlcuR0IHp1Z3JlaWZlbiBzb2xsZW4sIGRhc3MgdW50ZXIgTGludXggZHVyY2ggZGllIEdlcuR0ZWRhdGVpCiAgIC9kZXYvdHR5UzAgcmVwcuRzZW50aWVydCB3aXJkLCBzbyBtdXNzIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpCiAgIGRlciBmb2xnZW5kZSBBYnNjaG5pdHQgenUgZmluZGVuIHNlaW46CgogICBbc2VyaWFscG9ydHNdCiAgIENvbTE9L2Rldi90dHlTMAoKCiAgIERpZSBLb25maWd1cmF0aW9uIHBhcmFsbGVsZXIgU2Nobml0dHN0ZWxsZW4gZXJmb2xndCBhbmFsb2cgenVyCiAgIEtvbmZpZ3VyYXRpb24gc2VyaWVsbGVyLiBEZXIgTmFtZSBkZXMgZW50c3ByZWNoZW5kZW4gQWJzY2huaXR0cwogICBsYXV0ZXQgW3BhcmFsbGVscG9ydHNdIHVuZCBkaWUgTmFtZW4gcGFyYWxsZWxlciBTY2huaXR0c3RlbGxlbgogICB1bnRlciBET1MgdW5kIFdpbmRvd3MgbGF1dGVuIExwdDEsIGxwdDIgdXN3LiBXZW5uIGFsc28gdm9uCiAgIFdpbmRvd3MtUHJvZ3JhbW1lbiB1bnRlciBXSU5FIPxiZXIgZGVuIE5hbWVuIExwdDEgYXVmIGRpZSBwYXJhbGxlbGUKICAgU2Nobml0dHN0ZWxsZSB6dWdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwgd2VsY2hlIHVudGVyIExpbnV4IGR1cmNoIGRpZQogICBHZXLkdGVkYXRlaSAvZGV2L2xwMCByZXBy5HNlbnRpZXJ0IHdpcmQsIHNvIHfkcmUgaW4gZGllCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZGllc2VyIEFic2Nobml0dCBhdWZ6dW5laG1lbi4KCiAgIFtwYXJhbGxlbHBvcnRzXQogICBMcHQxPS9kZXYvbHAwCgogICBVbSBkZW4gWnVncmlmZiBhdWYgYmVzdGltbXRlIEVpbi0gdW5kIEF1c2dhZ2VhZHJlc3NlbiB6dSBlcm32Z2xpY2hlbgogICBzaW5kIGRpZSBnZXf8bnNjaHRlbiBBZHJlc3NlbiBpbiBoZXhhZGV6aW1hbGVyIFNjaHJlaWJ3ZWlzZSBpbQogICBBYnNjaG5pdHQgW3BvcnRzXSBhbnp1Z2ViZW4uIEFscyBBZHJlc3NlbiBsYXNzZW4gc2ljaCBlbnR3ZWRlcgogICBlaW56ZWxuZSBBZHJlc3NlbiAoQmVpc3BpZWw6IDB4Nzc5KSBvZGVyIEFkcmVzc2JlcmVpY2hlIGFuZ2ViZW4uIEJlaQogICBBZHJlc3NiZXJlaWNoZW4gd2VyZGVuIGRpZSB1bnRlcmUgdW5kIG9iZXJlIEFkcmVzc2UgZGVzIGdld/xuc2NodGVuCiAgIEJlcmVpY2hzLCB2ZXJidW5kZW4gZHVyY2ggZWluZW4gQmluZGVzdHJpY2ggYW5nZWdlYmVuIChCZWlzcGllbDoKICAgMHgyODAtMHgyYTApLiBXZW5uIG1laHJlcmUgQWRyZXNzZW4gb2RlciBBZHJlc3NiZXJlaWNoZSBrb25maWd1cmllcnQKICAgd2VyZGVuIHNvbGxlbiwgc2luZCBkaWVzZSBoaW50ZXJlaW5hbmRlciAtIGR1cmNoIEtvbW1hdGEgZ2V0cmVubnQgLQogICBhbnp1Z2ViZW4uIEFkcmVzc2VuLCB2b24gZGVuZW4gZ2VsZXNlbiB3ZXJkZW4gc29sbCwgc2luZCBkZXIgVmFyaWFibGVuCiAgIHJlYWQgenV6dW9yZG5lbiB1bmQgc29sY2hlLCBhdWYgZGllIGdlc2NocmllYmVuIHdlcmRlbiBzb2xsLCBkZXIKICAgVmFyaWFibGVuIHdyaXRlLiBGYWxscyBhdWYgZWluZSBiZXN0aW1tdGUgQWRyZXNzZSBzb3dvaGwgbGVzZW5kIGFscwogICBhdWNoIHNjaHJlaWJlbmQgenVnZWdyaWZmZW4gd2VyZGVuIHNvbGwsIGlzdCBzaWUgYmVpZGVuIFZhcmlhYmxlbgogICB6dXp1b3JkbmVuLiBCZWlzcGllbDoKCiAgIFtwb3J0c10KICAgcmVhZD0weDM3OCwweDM3OSwweDIyMC0weDJhMAogICB3cml0ZT0weDM3OSwweDIyMC0weDJhMAoKCiAgICA3LjcuMSBadWdyaWZmIGF1ZiBTQ1NJLUdlcuR0ZQogICAgCiAgIFdJTkUgZXJt9mdsaWNodCBhdWNoIGRlbiBkaXJla3RlbiBadWdyaWZmIGF1ZiBTQ1NJLUdlcuR0ZSAo/GJlciBkaWUKICAgQVNQSS1TY2huaXR0c3RlbGxlKS4gSGllcnp1IHNpbmQga2VpbmUgc3BlemllbGxlbiBBbmdhYmVuIGluIGRlcgogICBLb25maWd1cmF0aW9uIG5vdHdlbmRpZywgYWxsZXJkaW5ncyBtdXNzIGRlciBLZXJuZWwgZGVzIFN5c3RlbXMgc28KICAga29uZmlndXJpZXJ0IHdvcmRlbiBzZWluLCBkYXNzIGVyIGRpZSBVbnRlcnN0/HR6dW5nIGb8ciBnZW5lcmlzY2hlbgogICBTQ1NJLVp1Z3JpZmYgZW50aORsdC4gQXXfZXJkZW0gbfxzc2VuIGRpZSBHZXLkdGVkYXRlaWVuLCB3ZWxjaGUgZGllCiAgIGdlbmVyaXNjaGVuIFNDU0ktR2Vy5HRlIHJlcHLkc2VudGllcmVuIChub3JtYWxlcndlaXNlIC9kZXYvc2cwLAogICAvZGV2L3NnMSB1c3cuKSBtaXQgYXVzcmVpY2hlbmRlbiBSZWNodGVuIGb8ciBkZW4gWnVncmlmZgogICBhdXNnZXN0YXR0ZXQgc2Vpbi4KICAgCiAgNy44IEtvbmZpZ3VyYXRpb24gZGVyIFdpbmRvd3MtU3lzdGVtcmVnaXN0cmF0dXIKICAKICAgV2luZG93cy1CZXRyaWVic3N5c3RlbWUgc3RlbGxlbiBlaW5lIERhdGVuYmFuayB6dXIgVmVyZvxndW5nLCBpbgogICBkZXIgUHJvZ3JhbW1lIHUuYS4gS29uZmlndXJhdGlvbnNkYXRlbiBhYmxlZ2VuIHVuZCBzcOR0ZXIgd2llZGVyCiAgIGF1c2xlc2VuIGv2bm5lbi4gRGllc2Ugc28gZ2VuYW5udGUgUmVnaXN0cmF0dXIgd2lyZCB2b24gV0lORQogICBlYmVuZmFsbHMgYmVyZWl0Z2VzdGVsbHQuIFdJTkUgaXN0IGZlcm5lciBpbiBkZXIgTGFnZSwgZGllCiAgIFJlZ2lzdHJhdHVyIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IGltcG9ydGllcmVuLAogICBkYW1pdCBkZW4gbWl0IFdJTkUgYXVzZ2Vm/GhydGVuIFByb2dyYW1tZW4gYWxsZSBEYXRlbiB6dXIgVmVyZvxndW5nCiAgIHN0ZWhlbiwgZGllIGF1Y2ggdW50ZXIgV2luZG93cyB2ZXJm/GdiYXIgc2luZC4gRGllcyBpc3QKICAgaW5zYmVzb25kZXJlIGRhbm4gdm9uIEJlZGV1dHVuZywgd2VubiBQcm9ncmFtbWUgdW50ZXIgV2luZG93cwogICBpbnN0YWxsaWVydCB3b3JkZW4gc2luZCB1bmQgdW50ZXIgV0lORSBhdXNnZWb8aHJ0IHdlcmRlbi4gRXMgaXN0IHp1CiAgIGJlYWNodGVuLCBkYXNzIFdJTkUgZGllIFJlZ2lzdHJhdHVyIGVpbmVyIGJlc3RlaGVuZGVuCiAgIFdpbmRvd3MtSW5zdGFsbGF0aW9uIG5pZW1hbHMgdmVy5G5kZXJ0LiAgRmFsbHMgUHJvZ3JhbW1lIGFsc28gdW50ZXIKICAgV0lORSBEYXRlbiBpbiBkaWUgUmVnaXN0cmF0dXIgc2NocmVpYmVuLCBzdGVoZW4gZGllc2UgdW50ZXIgV2luZG93cwogICBuaWNodCB6dXIgVmVyZvxndW5nLiBXSU5FIHNwZWljaGVydCBkaWUgUmVnaXN0cmF0dXIgdmllbG1laHIgaW4KICAgZWlnZW5lbiBEYXRlaWVuLCB3ZWxjaGUgc2ljaCD8YmxpY2hlcndlaXNlIHVudGVyaGFsYiBkZXMKICAgSGVpbWF0dmVyemVpY2huaXNzZXMgZGVzIGJldHJlZmZlbmRlbiBCZW51dHplcnMgYmVmaW5kZW4uIE5lYmVuIGRlbgogICBiZW51dHplcnNwZXppZmlzY2hlbiBSZWdpc3RyYXR1cmRhdGVuIGv2bm5lbiB2b20gQWRtaW5pc3RyYXRvcgogICBzeXN0ZW13ZWl0IGf8bHRpZ2UgRGF0ZWllbiBiZXJlaXQgZ2VzdGVsbHQgd2VyZGVuLiBEaWVzZSBiZWZpbmRlbgogICBzaWNoIPxibGljaGVyd2Vpc2UgaW4gZGVtIGdsZWljaGVuIFZlcnplaWNobmlzIHdpZSBkaWUgc3lzdGVtd2VpdAogICBn/Gx0aWdlIEtvbmZpZ3VyYXRpb25zZGF0ZWksIGFsc28gaW4gL2V0YyBvZGVyIGluIC91c3IvbG9jYWwvZXRjLAogICB3ZW5uIFdJTkUgbWl0IGRlbiBTdGFuZGFyZGVpbnN0ZWxsdW5nZW4g/GJlcnNldHp0IHd1cmRlLiBJbQogICBBYnNjaG5pdHQgW3JlZ2lzdHJ5XSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBzdGVoZW4gZGllIGZvbGdlbmRlbgogICBWYXJpYWJsZW4genVyIFZlcmb8Z3VuZywgbWl0IGRlbmVuIHUuYS4gYmVzdGltbXQgd2VyZGVuIGthbm4sIG9iCiAgIGVpbmUgYmVzdGVoZW5kZW4gUmVnaXN0cmF0dXIgaW1wb3J0aWVydCB3ZXJkZW4gc29sbCB1bmQgd28gV0lORSBkaWUKICAgZWlnZW5lIFJlZ2lzdHJhdHVyIGFibGVnZW4gc29sbC4KICAgCiAgIExvYWRHbG9iYWxSZWdpc3RyeUZpbGVzCiAgICAgICAgICBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBsaWVzdAogICAgICAgICAgV0lORSBkaWUgc3lzdGVtd2VpdCBn/Gx0aWdlbiBSZWdpc3RyYXR1cmRhdGVuIGVpbi4gRGllcyBpc3QKICAgICAgICAgIGRpZSBTdGFuZGFyZGVpbnN0ZWxsdW5nLiBCZWlzcGllbDogTG9hZEdsb2JhbFJlZ2lzdHJ5RmlsZXMgPQogICAgICAgICAgdHJ1ZQogICAgICAgICAgCiAgIExvYWRIb21lUmVnaXN0cnlGaWxlcwogICAgICAgICAgV2VubiBkaWVzZSBWYXJpYWJsZSBhdWYgZGVuIFdlcnQgdHJ1ZSBnZXNldHp0IGlzdCwgbGllc3QKICAgICAgICAgIFdJTkUgZGllIFJlZ2lzdHJhdHVyZGF0ZW4gYXVzIGRlbSBWZXJ6ZWljaG5pcyAud2luZSBpbQogICAgICAgICAgSGVpbWF0dmVyemVpY2huaXMgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyBlaW4uIERpZQogICAgICAgICAgUmVnaXN0cmF0dXJkYXRlbiBkZXMgQmVudXR6ZXJzIHdlcmRlbiBuYWNoIGRlbiBzeXN0ZW13ZWl0CiAgICAgICAgICBn/Gx0aWdlbiBEYXRlbiBnZWxhZGVuLCBzbyBkYXNzIEJlbnV0emVyIGRpZQogICAgICAgICAgVm9yZWluc3RlbGx1bmdlbiBhdXMgZGVyIGdsb2JhbGVuIFJlZ2lzdHJhdHVyIG1pdCBlaWdlbmVuCiAgICAgICAgICBXZXJ0ZW4g/GJlcnNjaHJlaWJlbiBr9m5uZW4uIEJlaXNwaWVsOgogICAgICAgICAgTG9hZEhvbWVSZWdpc3RyeUZpbGVzID0gdHJ1ZSAKICAgICAgICAgIAogICBMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXMKICAgICAgICAgIE1pdCBkaWVzZXIgVmFyaWFibGVuIHdpcmQgYmVzdGltbXQsIG9iIGRpZSBSZWdpc3RyYXR1ciBlaW5lcgogICAgICAgICAgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gZ2VsYWRlbiB3ZXJkZW4gc29sbC4gV2VubgogICAgICAgICAgZGllIFZhcmlhYmxlIGF1ZiBkZW4gV2VydCB0cnVlIGdlc2V0enQgaXN0LCBzdGVsbHQgV0lORQogICAgICAgICAgc2VsYnN0c3TkbmRpZyBmZXN0LCB1bSB3ZWxjaGUgVmVyc2lvbiB2b24gV2luZG93cyBlcyBzaWNoCiAgICAgICAgICBiZWkgZGVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiBoYW5kZWx0IHVuZCBsaWVzdCBkaWUKICAgICAgICAgIFJlZ2lzdHJhdHVyZGF0ZW4gZGVyIEluc3RhbGxhdGlvbiBlaW4sIEVzIGlzdCB6dSBiZWFjaHRlbiwKICAgICAgICAgIGRhc3MgZGllcyBudXIgZnVua3Rpb25pZXJ0LCB3ZW5uIGRhcyBXaW5kb3dzLSB1bmQgZGFzCiAgICAgICAgICBTeXN0ZW12ZXJ6ZWljaG5pcyBpbSBhbGxnZW1laW5lbiBUZWlsIGRlcgogICAgICAgICAgS29uZmlndXJhdGlvbnNkYXRlaSByaWNodGlnIGFuZ2VnZWJlbiB3b3JkZW4gc2luZCB1bmQgZGVyCiAgICAgICAgICBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24gZW50c3ByZWNoZW4uIEF132VyZGVtIGlzdCBlcwogICAgICAgICAgdS5VLiBub3R3ZW5kaWcsIGRpZSBWYXJpYWJsZSBQcm9maWxlIGltIGFsbGdlbWVpbmVuIFRlaWwKICAgICAgICAgIHJpY2h0aWcgenUgc2V0emVuLiBCZWlzcGllbDogTG9hZFdpbmRvd3NSZWdpc3RyeUZpbGVzID0gdHJ1ZS4KICAgICAgICAgIAogICBXcml0ZVRvSG9tZVJlZ2lzdHJ5RmlsZXMKICAgICAgICAgIFdpcmQgZGllc2UgVmFyaWFibGUgYXVmIGRlbiBXZXJ0IHRydWUgZ2VzZXR6dCwgdmVyc3VjaHQgV0lORQogICAgICAgICAgYWxsZSDEbmRlcnVuZ2VuLCBkaWUgd+RocmVuZCBkZXIgTGF1ZnplaXQgdm9uIFdJTkUgYW4gZGVyCiAgICAgICAgICBSZWdpc3RyYXR1ciB2b3JnZW5vbW1lbiB3ZXJkZW4gaW4gZGllIFJlZ2lzdHJhdHVyZGF0ZWllbiBpbQogICAgICAgICAgVmVyemVpY2huaXMgLndpbmUgZGVzIGF1ZnJ1ZmVuZGVuIEJlbnV0emVycyB6dQogICAgICAgICAgc2NocmVpYmVuLiBEaWVzIGlzdCBpbiBkZXIgUmVnZWwgbm90d2VuZGlnLCBkYW1pdAogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWUgKGluc2Jlc29uZGVyZSBJbnN0YWxsYXRpb25zcHJvZ3JhbW1lKQogICAgICAgICAgxG5kZXJ1bmdlbiBhbiBkZXIgS29uZmlndXJhdGlvbiBhYnNwZWljaGVybgogICAgICAgICAga/ZubmVuLiBCZWlzcGllbDogV3JpdGVUb0hvbWVSZWdpc3RyeUZpbGVzID0gdHJ1ZS4KICAgICAgICAgICAgICAgICAgICAKICAgUGVyaW9kaWNTYXZlCiAgICAgICAgICBXZW5uIFZlcuRuZGVydW5nZW4gYW4gZGVyIFJlZ2lzdHJhdHVyIHZvbiBXSU5FIGdlc3BlaWNoZXJ0CiAgICAgICAgICB3ZXJkZW4gc29sbGVuLCBnZXNjaGllaHQgZGllcyBub3JtYWxlcndlaXNlIGF1dG9tYXRpc2NoLAogICAgICAgICAgd+RocmVuZCBXSU5FIGJlZW5kZXQgd2lyZC4gQWxsZXJkaW5ncyB3ZXJkZW4gZGllIMRuZGVydW5nZW4KICAgICAgICAgIGRhbm4gbmljaHQgZ2VzcGVpY2hlcnQsIHdlbm4gV0lORSBhdWZncnVuZCBlaW5lcyBGZWhsZXJzCiAgICAgICAgICBuaWNodCBrb3JyZWt0IGJlZW5kZXQgd2VyZGVuIGthbm4uIERlc3dlZ2VuIGlzdCBlcyBt9mdsaWNoLAogICAgICAgICAgbWl0IGRpZXNlciBWYXJpYWJsZW4gYW56dWdlYmVuLCBpbiB3ZWxjaGVtIFplaXRpbnRlcnZhbGwgZGFzCiAgICAgICAgICBQcm9ncmFtbSBkaWUgUmVnaXN0cmF0dXIgYXV0b21hdGlzY2ggc2ljaGVybiBzb2xsLiBEaWUKICAgICAgICAgIGRpZXNlciBWYXJpYWJsZW4g/GJlcmdlYmVuZSBaYWhsIHdpcmQgYWxzIFplaXRpbnRlcnZhbGwgaW4KICAgICAgICAgIFNla3VuZGVuIGludGVycHJldGllcnQuIERhbWl0IGRpZSBSZWdpc3RyYXR1ciBhbHNvCiAgICAgICAgICBiZWlzcGllbHN3ZWlzZSBhbGxlIDEwIE1pbnV0ZW4gYXV0b21hdGlzY2ggYWJnZXNwZWljaGVydAogICAgICAgICAgd2lyZCwgd+RyZSBkaWVzZSBWYXJpYWJsZSBzbyB6dSBzZXR6ZW46IFBlcmlvZGljU2F2ZSA9IDYwMC4KICAgICAgICAgIAogICBTYXZlT25seVVwZGF0ZWRLZXlzCiAgICAgICAgICBNaXQgZGllc2VyIFZhcmlhYmxlbiBrYW5uIGJlc3RpbW10IHdlcmRlbiwgb2IgV0lORSBsZWRpZ2xpY2gKICAgICAgICAgIHNvbGNoZSBUZWlsZSBkZXIgUmVnaXN0cmF0dXIgc2ljaGVybiBzb2xsLCBkaWUgc2ljaCB35GhyZW5kCiAgICAgICAgICBkZXIgTGF1ZnplaXQgdmVy5G5kZXJ0IGhhYmVuIG9kZXIgb2IgaW1tZXIgZGllIGdlc2FtdGUKICAgICAgICAgIFJlZ2lzdHJhdHVyIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsLiBEYXMgZm9sZ2VuZGUgQmVpc3BpZWwKICAgICAgICAgIHNwZWljaGVydCBkaWUgUmVnaXN0cmF0dXIga29tcGxldHQ6CiAgICAgICAgICBTYXZlT25seVVwZGF0ZWRLZXlzPWZhbHNlLgogICAgICAgICAgCiAgIEhpbndlaXM6IAogICBXZWlsIGRhcyBJbXBvcnRpZXJlbiBlaW5lciBncm/fZW4gV2luZG93cy1SZWdpc3RyYXR1ciBlaW4gcmVsYXRpdgogICB6ZWl0YXVmd2VuZGlnZXIgVm9yZ2FuZyBpc3QsIGVtcGZpZWhsdCBlcyBzaWNoLCBkaWUKICAgV2luZG93cy1SZWdpc3RyYXR1ciBudXIgYmVpbSBlcnN0ZW4gU3RhcnQgdm9uIFdJTkUgenUgaW1wb3J0aWVyZW4KICAgKExvYWRXaW5kb3dzUmVnaXN0cnlGaWxlcz10cnVlKSB1bmQgZGllc2UgZGFubiBrb21wbGV0dCB2b24gV0lORQogICBzcGVpY2hlcm4genUgbGFzc2VuIChTYXZlT25sZVVwZGF0ZWRLZXlzPWZhbHNlKS4gRGFuYWNoIGxpZWd0IGRpZQogICBSZWdpc3RyYXR1ciB2b2xsc3TkbmRpZyBpbiBXSU5FcyBlaWdlbmVtIEZvcm1hdCB2b3IsIHNvIGRhc3MgYmVpCiAgIHNw5HRlcmVuIFN0YXJ0cyB2b24gV0lORSBhdWYgZGVuIEltcG9ydCBkZXIgV2luZG93cy1SZWdpc3RyYXR1cgogICB2ZXJ6aWNodGV0IHdlcmRlbiBrYW5uIChMb2FkV2luZG93c1JlZ2lzdHJ5RmlsZXM9ZmFsc2UpLgogICAKICA3LjkgRWluc3RlbGx1bmcgZGVzIExvb2sgYW5kIEZlZWwKICAKICAgSW0gQWJzY2huaXR0IFR3ZWFrLkxheW91dCBkZXIgUmVnaXN0cmF0dXIgbORzc3Qgc2ljaCBkdXJjaCBkaWUKICAgVmFyaWFibGUgV0lORUxvb2sgYmVzdGltbWVuLCB3ZWxjaGVzIExvb2sgYW5kIEZlZWwgdm9uIFdpbmRvd3MKICAgZHVyY2ggV0lORSBuYWNoZW1wZnVuZGVuIHdlcmRlbiBzb2xsLiBEZXIgV2VydCBXaW4zMSBiZXdpcmt0LCBkYXNzCiAgIFdJTkUgYWxsZSBGZW5zdGVyZWxlbWVudGUgaW4gZGVtIEVyc2NoZWludW5nc2JpbGQgZXJ6ZXVndCwgd2llIGVzCiAgIHZvbiBXaW5kb3dzIDMuMTEgYmVrYW5udCBpc3QuIEFuYWxvZyBkYXp1IGJld2lya2VuIGRpZSBXZXJ0ZSBXaW45NQogICB1bmQgV2luOTggZWluIG1vZGVybmVyZXMgRXJzY2hlaW51bmdzYmlsZC4gQmVpc3BpZWw6CgogICBbVHdlYWsuTGF5b3V0XQogICBXSU5FTG9vaz1XaW45OAoKCiAgNy4xMCBLb25maWd1cmF0aW9uIGRlciBXaW5kb3dzLUNvbnNvbGUKICAKICAgSW0gR2VnZW5zYXR6IDE2LUJpdC1XaW5kb3dzLVZlcnNpb25lbiBpc3QgZXMgbWl0IGRlbSBXaW4zMiBBUEkgd2llCiAgIHVudGVyIFVOSVggbfZnbGljaCwgUHJvZ3JhbW1lIGb8ciBkZW4gVGV4dG1vZHVzIHp1IGVyc3RlbGxlbiwgZGllCiAgIHVudGVyIFdpbmRvd3Mgbm9ybWFsZXJ3ZWlzZSBpbiBlaW5lbSBzbyBnZW5hbm50ZW4gIk1TLURPUy1GZW5zdGVyIgogICBhdXNnZWb8aHJ0IHdlcmRlbiAob2J3b2hsIGRpZXNlIFByb2dyYW1tZSBuaWNodCB2aWVsIG1pdCBNUy1ET1MgenUKICAgdHVuIGhhYmVuKS4gVW50ZXIgV0lORSB2ZXJ3ZW5kZW4gc29sY2hlIFByb2dyYW1tZSBzdGFuZGFyZG3k32lnIGRpZQogICBTdGFuZGFyZGVpbmdhYmUgdW5kIC1BdXNnYWJlIGRlcyBUZXJtaW5hbHMsIHZvbiBkZW0gYXVzIFdJTkUKICAgZ2VzdGFydGV0IHd1cmRlLiBJbSBBYnNjaG5pdHQgW0NvbnNvbGVdIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGlzdAogICBlcyBt9mdsaWNoIGRpZSBFaWdlbnNjaGFmdGVuIGRlciBLb25zb2xlIGb8ciBXaW5kb3dzLVByb2dyYW1tZQogICBu5GhlciB6dSBiZXN0aW1tZW4uCiAgIAogICBEcml2ZXJzCiAgICAgICAgICBIZXJtaXQgd2lyZCBmZXN0Z2VsZWd0LCB3aWUgZGllIEtvbnNvbGUgenVyIFZlcmb8Z3VuZwogICAgICAgICAgZ2VzdGVsbHQgd2VyZGVuIHNvbGwuIFdJTkUga2FubiBkYXp1IGRhcyBtaXQgZGVtCiAgICAgICAgICBXSU5FLVByb3plc3MgdmVyYnVuZGVuZSBUZXJtaW5hbCB2ZXJ3ZW5kZW4gb2RlciBm/HIgamVkZXMKICAgICAgICAgIFdpbmRvd3MtUHJvZ3JhbW0sIHdlbGNoZXMgZWluZSBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0IGVpbgogICAgICAgICAgbmV1ZXMgVGVybWluYWxmZW5zdGVyICh3aWUgei5CLiB4dGVybSkgc3RhcnRlbi4gSW0KICAgICAgICAgIGFsbGdlbWVpbmVuIGlzdCBlcyB6dSBlbXBmZWhsZW4sIGb8ciBqZWRlIEtvbnNvbGUgZWluCiAgICAgICAgICBlaWdlbmVzIFRlcm1pbmFsZmVuc3RlciB6dSB2ZXJ3ZW5kZW4sIHdlaWwgZXMgenUKICAgICAgICAgIHVuZXJ3/G5zY2h0ZW4gTmViZW5lZmZla3RlbiBrb21tZW4ga2Fubiwgd2VubiB2ZXJzY2hpZWRlbmUKICAgICAgICAgIFdpbmRvd3MtUHJvemVzc2UgdW5kIFdJTkUgc2VsYnN0IGRhcyBzZWxiZSBUZXJtaW5hbAogICAgICAgICAgdmVyd2VuZGVuLiBFcyBpc3QgZmVybmVyIG32Z2xpY2gsIGRpZSBuY3Vyc2VzLUJpYmxpb3RoZWsgenUKICAgICAgICAgIGJlbnV0emVuLCB1bSBiZXN0aW1tdGUgRWlnZW5zY2hhZnRlbiwgd2llIGRpZSBEYXJzdGVsbHVuZwogICAgICAgICAgdW50ZXJzY2hpZWRsaWNoZXIgRmFyYmVuLCB6dSBiZW51dHplbi4gRGVyIFZhcmlhYmxlbiBEcml2ZXJzCiAgICAgICAgICBrYW5uIHp1ciBaZWl0IGVpbmUgS29tYmluYXRpb24gYXVzIGRlbiBmb2xnZW5kZW4KICAgICAgICAgIFNjaGz8c3NlbHf2cnRlcm4g/GJlcmdlYmVuIHdlcmRlbjogdHR5LCB4dGVybSB1bmQKICAgICAgICAgIG5jdXJzZXMuIFdlbm4gbWVocmVyZSBkaWVzZSBTY2hs/HNzZWx39nJ0ZXIgYmVudXR6dCB3ZXJkZW4sCiAgICAgICAgICBzaW5kIGRpZXNlIGR1cmNoIGRhcyBQbHVzLVplaWNoZW4gdm9uZWluYW5kZXIgenUKICAgICAgICAgIHRyZW5uZW4uIERpZSBBbmdhYmUgdHR5IGJld2lya3QsIGRhc3MgV0lORSBkYXMgVGVybWluYWwgZvxyCiAgICAgICAgICBkaWUgS29uc29sZSB2ZXJ3ZW5kZXQsIG1pdCB3ZWxjaGVtIGRlciBXSU5FLVByb3plc3MKICAgICAgICAgIHZlcmJ1bmRlbiBpc3QuIER1cmNoIGRpZSBBbmdhYmUgeHRlcm0gd2lyZCBlaW4gbmV1ZXMKICAgICAgICAgIFRlcm1pbmFsZmVuc3RlciBnZfZmZm5ldCwgd2VubiBlaW4gV2luZG93cy1Qcm9ncmFtbSBlaW5lCiAgICAgICAgICBuZXVlIEtvbnNvbGUgYW5mb3JkZXJ0LiBEaWUgQW5nYWJlIG5jdXJzZXMgYmV3aXJrdCwgZGFzcyBkaWUKICAgICAgICAgIG5jdXJzZXMtQmlibGlvdGhlayBiZW51dHp0IHdpcmQuIERpZXMgZnVua3Rpb25pZXJ0IG51ciwgd2VubgogICAgICAgICAgZGllIFVudGVyc3T8dHp1bmcgZGFm/HIgYmVpbSDcYmVyc2V0emVuIGRlcyBQcm9ncmFtbXMKICAgICAgICAgIGFrdGl2aWVydCB3dXJkZS4gQmVpc3BpZWw6IERyaXZlcnM9bmN1cnNlcyt4dGVybQogICAgICAgICAgCiAgIFh0ZXJtUHJvZwogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGFuZ2ViZW4sIHdlbGNoZXMgUHJvZ3JhbW0gYXVmZ2VydWZlbgogICAgICAgICAgd2VyZGVuIHNvbGwsIHVtIGRpZSBLb25zb2xlIGluIGVpbmVtIGVpZ2VuZW4gRmVuc3RlcgogICAgICAgICAgZGFyenVzdGVsbGVuICh6LkIuIGJlaSBEcml2ZXJzPXh0ZXJtKS4gRXMgbGFzc2VuIHNpY2ggYWxsZQogICAgICAgICAgVGVybWluYWxlbXVsYXRpb25zcHJvZ3JhbW1lIHZlcndlbmRlbiwgd2VsY2hlIGRpZSB2b24geHRlcm0KICAgICAgICAgIGhlciBiZWthbm50ZW4gS29tbWFuZG96ZWlsZW5hcmd1bWVudGUgdmVyc3RlaGVuLiBCZWlzcGllbDoKICAgICAgICAgIFh0ZXJtUHJvZz13dGVybS4KICAgICAgICAgIAogICBJbml0aWFsUm93cwogICAgICAgICAgTWl0IGRlciBWYXJpYWJsZW4gd2lyZCBhbmdlZ2ViZW4sIHdpZXZpZWxlIFplaWxlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgIEluaXRpYWxSb3dzPTI0LgogICAgICAgICAgCiAgIEluaXRpYWxDb2x1bW5zCiAgICAgICAgICBNaXQgZGVyIFZhcmlhYmxlbiB3aXJkIGFuZ2VnZWJlbiwgd2lldmllbGUgU3BhbHRlbiBkaWUKICAgICAgICAgIEtvbnNvbGUgbmFjaCBpaHJlbSBTdGFydCBoYWJlbiBzb2xsLiBCZWlzcGllbDoKICAgICAgICAgIEluaXRpYWxDb2x1bW5zPTgwLgogICAgICAgICAgCiAgIFRlcm1pbmFsVHlwZQogICAgICAgICAgSGllcm1pdCBs5HNzdCBzaWNoIGZlc3RsZWdlbiwgdm9uIHdlbGNoZW0gVGVybWluYWx0eXAgZGllCiAgICAgICAgICBuY3Vyc2VzLUJpYmxpb3RoZWsgYXVzZ2VoZW4gc29sbC4gVHlwaXNjaGUgV2VydGUgc2luZCB4dGVybQogICAgICAgICAgb2RlciBsaW51eC4KICAgICAgICAgIAogIDcuMTEgRGllIFp3aXNjaGVuYWJsYWdlCiAgCiAgIERhcyBLb256ZXB0IGRlciBad2lzY2hlbmFibGFnZSB1bnRlcnNjaGVpZGV0IHNpY2ggendpc2NoZW4gV2luZG93cwogICB1bmQgZGVtIFggV2luZG93IFN5c3RlbSBldHdhcy4gVW0gYmVpc3BpZWxzd2Vpc2UgZWluZW4gVGV4dCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2UgenUgc3RlbGxlbiwgd2lyZCBkaWVzZXIgdW50ZXIgV2luZG93cyBub3JtYWxlcndlaXNlCiAgIHp1buRjaHN0IG1hcmtpZXJ0IHVuZCBkYW5uIPxiZXIgZWluZW4gTWVu/GJlZmVobCBpbiBkaWUKICAgWndpc2NoZW5hYmxhZ2Uga29waWVydCBvZGVyIHZlcnNjaG9iZW4uIFVudGVyIFggc3RlaGVuIG1pbmRlc3RlbnMKICAgendlaSBUeXBlbiB2b24gWndpc2NoZW5hYmxhZ2UgenVyIFZlcmb8Z3VuZy4gTmFjaGRlbSBlaW4gVGV4dCBkb3J0CiAgIG1hcmtpZXJ0IHdvcmRlbiBpc3QsIHN0ZWh0IGVyIGFscyBzbyBnZW5hbm50ZSBwcmlt5HJlIEF1c3dhaGwgenVyCiAgIFZlcmb8Z3VuZzsgZXIga2FubiBkYW5uIHNvZm9ydCBpbiBhbmRlcmUgQW53ZW5kdW5nZW4gZWluZ2Vm/Gd0CiAgIHdlcmRlbiAoZXR3YSBkdXJjaCBCZXTkdGlndW5nIGRlciBtaXR0bGVyZW4gTWF1c3Rhc3RlKS4gRGllCiAgIFp3aXNjaGVuYWJsYWdlIGlzdCBlaW5lIHdlaXRlcmUgQXVzd2FobCBpbiBkaWUgVGV4dGUgb2RlciBhbmRlcmUKICAgRGF0ZW4gdm9uIHZpZWxlbiBYLUFud2VuZHVuZ2VuIGF1cyBrb3BpZXJ0IHVuZCB2b24gZG9ydCBhdXMgd2llZGVyCiAgIGVpbmdlZvxndCB3ZXJkZW4ga/ZubmVuLiBJbSBBYnNjaG5pdHQgW2NsaXBib2FyZF0gZGVyCiAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbORzc3Qgc2ljaCBiZXN0aW1tZW4sIHdpZSBkaWUKICAgV2luZG93cy1ad2lzY2hlbmFibGFnZSBtaXQgZGVyIFp3aXNjaGVuYWJsYWdlIGRlcyBYIFdpbmRvdyBTeXN0ZW1zCiAgIGludGVyYWdpZXJ0LgogICAKICAgQ2xlYXJBbGxTZWxlY3Rpb25zCiAgICAgICAgICBXZW5uIGRpZXNlIFZhcmlhYmxlIGF1ZiB0cnVlIGdlc2V0enQgaXN0LCB3aXJkIGRlciBJbmhhbHQKICAgICAgICAgIGRlciBXaW5kb3dzLVp3aXNjaGVuYWJsYWdlIGdlbPZzY2h0IHVuZCBkdXJjaCBkZW4gSW5oYWx0IGRlcgogICAgICAgICAgWndpc2NoZW5hYmxhZ2UgZGVzIFggV2luZG93IFN5c3RlbXMgZXJzZXR6dCwgZmFsbHMgaW4gZWluZXIKICAgICAgICAgIGFuZGVyZW4gWCBBbndlbmR1bmcgZXR3YXMgaW4gZGllIHByaW3kcmUgQXVzd2FobCBnZXN0ZWxsdAogICAgICAgICAgd2lyZC4gIFdpcmQgYmVpIFZlcndlbmR1bmcgZGllc2VyIEVpbnN0ZWxsdW5nIGFsc28genVu5GNoc3QKICAgICAgICAgIGV0d2FzIG1pdCBlaW5lbSBXaW5kb3dzLVByb2dyYW1tIGluIGRpZSBad2lzY2hlbmFibGFnZQogICAgICAgICAgZ2VzdGVsbHQgdW5kIGRhbmFjaCBtaXQgZGVyIE1hdXMgZWluIFRleHQgaW4gZWluZXIgWAogICAgICAgICAgQW53ZW5kdW5nIG1hcmtpZXJ0LCBzbyBnZWh0IGRlciB1cnNwcvxuZ2xpY2hlIEluaGFsdCBkZXIKICAgICAgICAgIFdpbmRvd3MtWndpc2NoZW5hYmxhZ2UgdmVybG9yZW4gdW5kIGVzIHN0ZWh0IGRvcnQgZGVyIG1pdAogICAgICAgICAgZGVyIE1hdXMgbWFya2llcnRlIFRleHQgenVyIFZlcmb8Z3VuZy4gRmFsbHMgZGllIFZhcmlhYmxlCiAgICAgICAgICBhdWYgZmFsc2UgZ2VzZXR6dCBpc3QsIGJsZWlidCBkZXIgSW5oYWx0IGRlciBad2lzY2hlbmFibGFnZQogICAgICAgICAgZHVyY2ggZGllIFZlcuRuZGVydW5nIGRlciBwcmlt5HJlbiBBdXN3YWhsIHVuYmVy/GhydC4gVW0KICAgICAgICAgIGRhbm4gYmVpc3BpZWxzd2Vpc2UgZWluZW4gVGV4dCB2b24gWEVtYWNzIG5hY2ggV29yZCB6dQogICAgICAgICAga29waWVyZW4sIHJlaWNodCBlcyBuaWNodCBhdXMsIGRlbiBUZXh0IGluIFhFbWFjcyB6dQogICAgICAgICAgbWFya2llcmVuLCBzb25kZXJuIGVyIG11c3MgZG9ydCBleHBsaXppdCBpbiBkaWUKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIGtvcGllcnQgd2VyZGVuLCBmYWxscyBzaWNoIGRvcnQgdm9yaGVyIGVpbmUKICAgICAgICAgIEF1c3dhaGwgYmVmYW5kLCBkaWUgdm9uIGVpbmVyIFdpbmRvd3MtQW53ZW5kdW5nIGF1cwogICAgICAgICAgdm9yZ2Vub21tZW4gd3VyZGUuIEJlaXNwaWVsOiBDbGVhckFsbFNlbGVjdGlvbnM9dHJ1ZQogICAgICAgICAgCiAgIFBlcnNpc3RhbnRTZWxlY3Rpb24KICAgICAgICAgIE5hY2hkZW0gV0lORSBiZWVuZGV0IHdvcmRlbiBpc3QsIGthbm4gZGVyIEluaGFsdCBkZXIKICAgICAgICAgIFp3aXNjaGVuYWJsYWdlIGFuZGVyZW4gWCBQcm9ncmFtbWVuIG5vcm1hbGVyd2Vpc2UgbmljaHQgbWVocgogICAgICAgICAgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdCB3ZXJkZW4uIFdlbm4gZGllc2UgVmFyaWFibGUgYXVmIHRydWUKICAgICAgICAgIGdlc2V0enQgaXN0LCBzdGFydGV0IFdJTkUgZGVzd2VnZW4gZWluIGtsZWluZXMKICAgICAgICAgIEhpbnRlcmdydW5kcHJvZ3JhbW0gKHdpbmVjbGlwc3J2KSB3ZWxjaGVzIGRlbiBJbmhhbHQgZGVyCiAgICAgICAgICBad2lzY2hlbmFibGFnZSBzbyBsYW5nZSB2ZXJm/GdiYXIgaORsdCwgYmlzIGRpZXNlciBkdXJjaCBlaW4KICAgICAgICAgIGFuZGVyZXMgUHJvZ3JhbW0gZXJzZXR6dCB3aXJkIHVuZCBzaWNoIGRhbm4KICAgICAgICAgIGJlZW5kZXQuIEJlaXNwaWVsOiBQZXJzaXN0YW50U2VsZWN0aW9uPXRydWUKICAgICAgICAgIAogIDcuMTIgS29uZmlndXJhdGlvbiBkZXMgUG9zdFNjcmlwdC1EcnVja2VydHJlaWJlcnMKICAKICAgV0lORSBrYW5uIHp3ZWkgVHlwZW4gdm9uIERydWNrZXJ0cmVpYmVybiB2ZXJ3ZW5kZW4sIG7kbWxpY2ggZWNodGUKICAgMTZiaXQgV2luZG93cy1EcnVja2VydHJlaWJlciwgd2llIFNpZSB2b24gV2luZG93cyAzLjExIG9kZXIgV2luZG93cwogICA5NS85OCBiZW51dHp0IHdlcmRlbiBvZGVyIGVpbmVuIGVpZ2VuZW4gUG9zdFNjcmlwdC0gRHJ1Y2tlcnRyZWliZXIsCiAgIG1pdCBkZW0gc2ljaCBhdXMgZGVuIG1laXN0ZW4gV2luZG93cy1BbndlbmR1bmdlbiBoZXJhdXMgaW0KICAgUG9zdFNjcmlwdC1Gb3JtYXQgZHJ1Y2tlbiBs5HNzdC4gRGllc2UgUG9zdFNjcmlwdC1BdXNnYWJlIGthbm4gZGFubgogICD8YmVyIGRpZSBTcG9vbGVyLVNvZnR3YXJlIGRlcyBTeXN0ZW1zIChub3JtYWxlcndlaXNlIGxwci9scGQpIGF1ZgogICBlaW5lbiBkaXJla3QgYW5nZXNjaGxvc3NlbmVuIG9kZXIgZmVybmVuIERydWNrZXIgYXVzZ2VnZWJlbiB3ZXJkZW4uCiAgIAogICBIaW53ZWlzZSB6dXIgVmVyd2VuZHVuZyB2b24gMTZiaXQgV2luZG93cy1EcnVja2VydHJlaWJlciBmaW5kZW4KICAgc2ljaCB1LmEuIGluIGRlciBEYXRlaSBwcmludGluZyBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24KICAgZGVzIFdJTkUtUXVlbGxjb2RldmVyemVpY2huaXNzZXMuIEltIGZvbGdlbmRlbiBzb2xsIGxlZGlnbGljaCBhdWYKICAgZGllIEtvbmZpZ3VyYXRpb24gZGVzIGVpbmdlYmF1dGVuIFBvc3RTY3JpcHQtRHJ1Y2tlcnRyZWliZXJzCiAgIGVpbmdlZ2FuZ2VuIHdlcmRlbi4KICAgCiAgIFp1buRjaHN0IGlzdCBkYXMgVm9yaGFuZGVuc2VpbiBkZXMgRHJ1Y2tlcnRyZWliZXJzIGFuenVtZWxkZW4uIERhenUKICAgc2luZCBpbiBkZXIgRGF0ZWkgd2luLmluaSBpbSBXaW5kb3dzLVZlcnplaWNobmlzIGRpZSBmb2xnZW5kZW4KICAgxG5kZXJ1bmdlbiB2b3J6dW5laG1lbjoKCiAgIFt3aW5kb3dzXQogICBkZXZpY2U9V0lORSBQb3N0U2NyaXB0IERyaXZlcixXSU5FUFMsTFBUMToKCiAgIFtkZXZpY2VzXQogICBXSU5FIFBvc3RTY3JpcHQgRHJpdmVyPVdJTkVQUyxMUFQxOgoKICAgRmFsbHMgU2llIFdJTkUgb2huZSBlaW5lIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24gdmVyd2VuZGVuLAogICBrYW5uIGVzIHNlaW4sIGRhc3MgZGllIERhdGVpIHdpbi5pbmkgbm9jaCBuaWNodCBleGlzdGllcnQuIEluCiAgIGRpZXNlbSBGYWxsIGthbm4gZGllIERhdGVpIG5ldSBhbmdlbGVndCB1bmQgZGllIG9iZW4gZ2V6ZWlndGVuCiAgIFplaWxlbiBkb3J0IGVpbmdldHJhZ2VuIHdlcmRlbi4gRmFsbHMgZGllIERhdGVpIGJlcmVpdHMgdm9yaGFuZGVuCiAgIGlzdCwgbfxzc2VuIGRpZSBBYnNjaG5pdHRlIFtkZXZpY2VzXSB1bmQgW3dpbmRvd3NdIGluIGRlciBEYXRlaQogICBsb2thbGlzaWVydCB1bmQgdW0gZGllIG9iZW4gZ2V6ZWlndGVuIFplaWxlbiBlcmfkbnp0CiAgIHdlcmRlbi4gS2VpbmVzZmFsbHMgc29sbHRlbiBkaWUgQWJzY2huaXR0ZSBkZXZpY2VzIG9kZXIgd2luZG93cwogICBtZWhybWFscyBpbiBkZXIgRGF0ZWkgdm9yaGFuZGVuIHNlaW4uCiAgIAogICBEYW1pdCBhdWNoIHZvbiAzMmJpdCBQcm9ncmFtbWVuIGF1cyBnZWRydWNrdCB3ZXJkZW4ga2FubiwgaXN0IGVzCiAgIG5vdHdlbmRpZywgZWluaWdlIEVpbnRy5GdlIGluIGRlciBSZWdpc3RyYXR1ciB2b3J6dW5laG1lbi4gRGllc2UKICAgRWludHLkZ2Ugc2luZCBpbiBkZXIgRGF0ZWkgcHNkcnYucmVnIGltIFVudGVydmVyemVpY2huaXMKICAgZG9jdW1lbnRhdGlvbiBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyB2b3JoYW5kZW4gdW5kIGxhc3NlbgogICBzaWNoIG1pdCBkZW0gUHJvZ3JhbW0gcmVnYXBpLCB3ZWxjaGVzIHNpY2ggaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICBwcm9ncmFtcy9yZWdhcGkgZGVzIFF1ZWxsY29kZXZlcnplaWNobmlzc2VzIGJlZmluZGV0LAogICBpbXBvcnRpZXJlbi4gRmFsbHMgbm9jaCBuaWNodCBnZXNjaGVoZW4gaXN0IHJlZ2FwaSBkYXp1IHp1buRjaHN0IHp1CiAgIPxiZXJzZXR6ZW4uIFp1IGRpZXNlbSBad2VjayBpc3QgaW4gZGFzIFZlcnplaWNobmlzIHByb2dyYW1zL3JlZ2FwaQogICB6dSB3ZWNoc2VsbiB1bmQgZG9ydCBkZXIgQmVmZWhsIG1ha2UgZWluenVnZWJlbi4gKERpZXMgc2V0enQKICAgdm9yYXVzLCBkYXNzIFdJTkUgYmVyZWl0cyBlcmZvbGdyZWljaCD8YmVyc2V0enQgd3VyZGUpIERhbmFjaAogICBr9m5uZW4gZGllIGVyZm9yZGVybGljaGVuIFNjaGz8c3NlbCBkdXJjaCBkaWUgRWluZ2FiZSBkZXMgZm9sZ2VuZGVuCiAgIEJlZmVobHMgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSA8IC4uLy4uL2RvY3VtZW50YXRpb24vcHNkcnYucmVnCiAgIAogICBBY2h0dW5nOgogICBCZWkgZGVtIFByb2dyYW1tIHJlZ2FwaSBoYW5kZWx0IGVzIHNpY2ggdW0gZWluIHNvIGdlbmFubnRlcwogICBXaW5lTGliLVByb2dyYW1tLiBTb2xjaGUgUHJvZ3JhbW1lIGJlbnV0emVuIFdJTkUsIHVtCiAgIFdpbmRvd3Mtc3BlemlmaXNjaGUgRnVua3Rpb25lbiB2ZXJ3ZW5kZW4genUga/ZubmVuLiBEYW1pdCBzaWUKICAgYXVzZ2Vm/GhydCB3ZXJkZW4ga/ZubmVuLCBtdXNzIGJlcmVpdHMgZWluZSBmdW5rdGlvbnNm5GhpZ2UKICAgV0lORS1Lb25maWd1cmF0aW9uIHZvcmhhbmRlbiBzZWluLiBEaWVzZXIgU2Nocml0dCBzb2xsdGUgYWxzbyBuaWNodAogICBkdXJjaGdlZvxocnQgd2VyZGVuLCBiZXZvciBkaWUgRXJzdGVsbHVuZyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICBhYmdlc2NobG9zc2VuIHVuZCBkaWUgRnVua3Rpb25zZuRoaWdrZWl0IHZvbiBXSU5FIGdldGVzdGV0IHdvcmRlbgogICBpc3QuCiAgIAogICBXZWl0ZXIgd2lyZCBlaW5lIHNvIGdlbmFubnRlIFBQRC1EYXRlaSBiZW72dGlndC4gRWluZSBzb2xjaGUgRGF0ZWkKICAgYmVzY2hyZWlidCB2ZXJzY2hpZWRlbmUgRWlnZW5zY2hhZnRlbiBkZXMgRHJ1Y2tlcnMgdW5kIHdpcmQKICAgYmVu9nRpZ3QsIGRhbWl0IFdJTkUgYmVpc3BpZWxzd2Vpc2UgZW50c2NoZWlkZW4ga2Fubiwgb2IgaW4gRmFyYmUKICAgb2RlciBpbiBTY2h3YXJ6LVdlad8gZ2VkcnVja3Qgd2VyZGVuIGthbm4uIFdlbm4ga2VpbgogICBQb3N0U2NyaXB0LWbkaGlnZXIgRHJ1Y2tlciBiZW51dHp0IHdpcmQsIGRhbm4gYmVu9nRpZ3QgbWFuIGVpbmUKICAgUFBELURhdGVpLCB3ZWxjaGUgZGllIEVpZ2Vuc2NoYWZ0ZW4gZGVzIGdob3N0c2NyaXB0LVRyZWliZXJzIGb8cgogICBkZW4gZWluZ2VzZXR6dGVuIERydWNrZXIgYmVzY2hyZWlidCwgd2VpbCBkaWVzZXMgUHJvZ3JhbW0gaW4gZGVyCiAgIFJlZ2VsIHp1ciBVbXdhbmRsdW5nIHZvbiBQb3N0U2NyaXB0IGluIGRhcyBEcnVja2VyZm9ybWF0IGJlbnV0enQKICAgd2lyZC4gTWl0IERlYmlhbiBzdGVoZW4gc29sY2hlIERhdGVpZW4gaW4gZGVtIFBha2V0IHBwZC1ncyB6dXIKICAgVmVyZvxndW5nLiBXaXJkIGRpZXNlcyBQYWtldCBiZW51dHp0LCBzb2xsdGUgdm9yaGVyIGRpZSBEYXRlaQogICAvdXNyL2RvYy9wcGQtZ3MvUkVBRE1FIGdlbGVzZW4gd2VyZGVuLgogICAKICAgRWluZSBSZWloZSB2b24gUFBELURhdGVpZW4gc3RlaGVuIHVudGVyIGRlciBBZHJlc3NlCiAgIGZ0cDovL2Z0cC5hZG9iZS5jb20vcHViL2Fkb2JlL3ByaW50ZXJkcml2ZXJzL3dpbi9hbGwvcHBkZmlsZXMvIHp1cgogICBWZXJm/Gd1bmcuIEluIGRlbSBWZXJ6ZWljaG5pcyBiZWZpbmRlbiBzaWNoIHNlbGJzdGF1c3BhY2tlbmRlCiAgIFpJUC1BcmNoaXZlLCBkaWUgUFBELURhdGVpZW4gZvxyIERydWNrZXIgdmVyc2NoaWVkZW5lciBIZXJzdGVsbGVyCiAgIGVudGhhbHRlbi4gRGllc2UgQXJjaGl2ZSBr9m5uZW4gbWl0IGRlbSBQcm9ncmFtbSB1bnppcCgxKSBlbnRwYWNrdAogICB3ZXJkZW4uIFVtIGJlaXNwaWVsc3dlaXNlIGRpZSBEYXRlaSBocC5leGUgYXVzenVwYWNrZW4sIHfkcmUKICAgZm9sZ2VuZGVyIEJlZmVobCBlaW56dWdlYmVuOgogICAKICAgdW56aXAgLUwgaHAuZXhlCiAgIAogICBEYW5hY2ggaXN0IGRpZSBnZXf8bnNjaHRlIFBQRC1EYXRlaSBhdXN6dXfkaGxlbiwgaGllcmJlaSBtdXNzCiAgIHUuVS4gZWluIHdlbmlnIGV4cGVyaW1lbnRpZXJ0IHdlcmRlbiwgdW0gb3B0aW1hbGUgRXJnZWJuaXNzZSB6dQogICBlcnppZWxlbi4gRGllIERhdGVpIGthbm4gZGFubiBiZWlzcGllbHN3ZWlzZSBpbiBkYXMgVmVyemVpY2huaXMKICAgL3Vzci9sb2NhbC9ldGMvIGtvcGllcnQgd2VyZGVuIHVuZCBtdXNzIFdJTkUgZHVyY2ggZGVuIGZvbGdlbmRlbgogICBFaW50cmFnIGluIGRlciBLb25maWd1cmF0aW9uc2RhdGVpIGJla2FubnQgZ2VtYWNodCB3ZXJkZW46CgogICBbcHNkcnZdCiAgIHBwZGZpbGU9L3Vzci9sb2NhbC9ldGMvSFA0TTNfVjEuUFBECgogICBGYWxscyBzaWNoIGRpZSBEYXRlaSBpbiBlaW5lbSBhbmRlcmVuIFZlcnplaWNobmlzIGJlZmluZGV0IG9kZXIKICAgZWluZW4gYW5kZXJlbiBOYW1lbiB0cuRndCwgaXN0IGRlciBXZXJ0IGb8ciBkaWUgVmFyaWFibGUgcHBkZmlsZQogICBuYXT8cmxpY2ggZW50c3ByZWNoZW5kIGFuenVwYXNzZW4uCiAgIAogICBTY2hsaWXfbGljaCBiZW72dGlndCBXSU5FIGRpZSBGb250bWV0cmljLURhdGVpZW4gZGVyIFNjaHJpZnRhcnRlbiwKICAgZGllIGF1ZiBkZW0gRHJ1Y2tlciAob2RlciBtaXQgZ2hvc3RzY3JpcHQpIHp1ciBWZXJm/Gd1bmcKICAgc3RlaGVuLiBFaW5lIFJlaWhlIHNvbGNoZXIgRm9udG1ldHJpYy1EYXRlaWVuIGxhc3NlbiBzaWNoIHVudGVyCiAgIERlYmlhbiBiZWlzcGllbHN3ZWlzZSBtaXQgZGVtIFBha2V0IHRldGV4LWV4dHJhIGluc3RhbGxpZXJlbi4gU2llCiAgIGJlZmluZGVuIHNpY2ggbmFjaCBkZXIgSW5zdGFsbGF0aW9uIHVudGVyaGFsYiBkZXMgVmVyemVpY2huaXNzZXMKICAgL3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0uIFNpZSBoYWJlbiBub3JtYWxlcndlaXNlIGRpZQogICBEYXRlaW5hbWVuc2VuZHVuZyAuYWZtIChBZG9iZSBGb250TWV0cmljKS4gRGllIHp1IHZlcndlbmRlbmRlbgogICBEYXRlaWVuIHNpbmQgaW0gQWJzY2huaXR0IFthZm1maWxlc10gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkKICAgYW56dWdlYmVuLiBEZXIgTmFtZSBqZWRlciBEYXRlaSBpc3QgZGFiZWkgZWluZXIgVmFyaWFibGVuCiAgIHp1enVvcmRuZW4sIGRlcmVuIE5hbWUgc2ljaCBhdXMgZGVyIFplaWNoZW5rZXR0ZSBmaWxlIHVuZCBlaW5lcgogICBmb3J0bGF1ZmVuZGVuIFppZmZlciB6dXNhbW1lbnNldHp0LiAgQmVpIGRlciBBdXN3YWhsIGRlcgogICBBRk0tRGF0ZWllbiBpc3QgenUgYmVhY2h0ZW4sIGRhc3MgbnVyIGRpZSBEYXRlaWVuIGFuZ2VnZWJlbiB3ZXJkZW4KICAgYnJhdWNoZW4sIGb8ciBkaWUgZGVyIGVudHNwcmVjaGVuZGUgRm9udCB0YXRz5GNobGljaCBpbiBkZXIgdm9yaGVyCiAgIGRlZmluaWVydGVuIFBQRC1EYXRlaSBnZW5hbm50IHd1cmRlLiBEaWUgQmV6ZWljaG51bmdlbiBkZXIgRm9udHMKICAgYmVmaW5kZW4gc2ljaCBub3JtYWxlcndlaXNlIGluIGRlbiBGb250bWV0cmljLURhdGVpZW4sIGRpZSBtaXQKICAgZWluZW0gVGV4dGVkaXRvciBiZXRyYWNodGV0IHdlcmRlbiBr9m5uZW4uIERlciBBbmZhbmcgZGVzCiAgIGVudHNwcmVjaGVuZGVuIEFic2Nobml0dHMgaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkga/ZubnRlCiAgIGJlaXNwaWVsc3dlaXNlIGZvbGdlbmRlcm1h32VuIGF1c3NlaGVuOgoKICAgW2FmbWZpbGVzXQogICBmaWxlMT0vdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS90aW1lcy9wdG1iOGEuYWZtCiAgIGZpbGUyPS91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bWJpOGEuYWZtCiAgIGZpbGUzPS91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL3RpbWVzL3B0bXI4YS5hZm0KICAgZmlsZTQ9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvdGltZXMvcHRtcmk4YS5hZm0KICAgZmlsZTU9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Ym84YW4uYWZtCiAgIGZpbGU2PS91c3Ivc2hhcmUvdGV4bWYvZm9udHMvYWZtL2Fkb2JlL2hlbHZldGljL3BodmI4YS5hZm0KICAgZmlsZTc9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Yjhhbi5hZm0KICAgZmlsZTg9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2Ym84YS5hZm0KICAgZmlsZTk9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cm84YW4uYWZtCiAgIGZpbGUxMD0vdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZyOGEuYWZtCiAgIGZpbGUxMT0vdXNyL3NoYXJlL3RleG1mL2ZvbnRzL2FmbS9hZG9iZS9oZWx2ZXRpYy9waHZyOGFuLmFmbQogICBmaWxlMTI9L3Vzci9zaGFyZS90ZXhtZi9mb250cy9hZm0vYWRvYmUvaGVsdmV0aWMvcGh2cm84YS5hZm0KCiAgIEF1Y2ggaGllciBzaW5kIGRpZSBEYXRlaW5hbWVuIG5hdPxybGljaCBhbiBkaWUgdGF0c+RjaGxpY2gKICAgYmVudXR6dGVuIEZvbnRtZXRyaWMtRGF0ZWllbiBhbnp1cGFzc2VuLiBEZXIgRHJ1Y2tlcnRyZWliZXIgc29sbHRlCiAgIGRhbm4gYWxzIFdJTkUgUG9zdFNjcmlwdERyaXZlciBpbiBkZW4gRHJ1Y2tkaWFsb2dlbiBkZXIKICAgV2luZG93cy1BbndlbmR1bmdlbiB6dXIgVmVyZvxndW5nIHN0ZWhlbi4KICAgCiAgNy4xMyBLb25maWd1cmF0aW9uIGRlcyBTcG9vbGVycwogIAogICBTdGFuZGFyZG3k32lnIHdlcmRlbiBEcnVja2RhdGVuIGluIGVpbmUgRGF0ZWkgaW0gYWt0dWVsbGVuCiAgIEFyYmVpdHN2ZXJ6ZWljaG5pcyBhdXNnZWdlYmVuLCBkZXJlbiBOYW1lIGRlciBCZXplaWNobnVuZyBkZXMKICAgRHJ1Y2tlcmFuc2NobHVzc2VzIHVudGVyIFdpbmRvd3MsIGF1ZiBkZW4gZ2VkcnVja3Qgd3VyZGUsIGVudHNwcmljaHQuCiAgIEltIEFic2Nobml0dCBbc3Bvb2xlcl0gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbORzc3Qgc2ljaCBkaWUgQXVzZ2FiZSBpbgogICBlaW5lIGFuZGVyZSBEYXRlaSB1bWxlbmtlbiBvZGVyIGFuIGVpbiBhbmRlcmVzIFByb2dyYW1tIHdlaXRlcmxlaXRlbi4KICAgRGF6dSBpc3QgaW4gZGVtIEFic2Nobml0dCBkZXIgTmFtZSBkZXMgQW5zY2hsdXNzZXMgYWxzCiAgIFZhcmlhYmxlbmJlemVpY2hudW5nIGFuenVnZWJlbiAoQmVpc3BpZWw6IExQVDE6KSB1bmQgZGllc2VyIFZhcmlhYmxlCiAgIGRlciBOYW1lIGRlciBEYXRlaSB6dSD8YmVyZ2ViZW4sIGluIHdlbGNoZSBkaWUgRHJ1Y2thdXNnYWJlIGdlbGVua3QKICAgd2VyZGVuIHNvbGwuIFVtIGRpZSBBdXNnYWJlIGFuIGRpZSBTdGFuZGFyZGVpbmdhYmUgZWluZXMgUHJvZ3JhbW1zIHp1CiAgIPxiZXJnZWJlbiwgaXN0IGRlciBOYW1lIGRlcyBnZXf8bnNjaHRlbiBQcm9ncmFtbXMgaGludGVyIGRlbQogICBQaXBlLVplaWNoZW4gKHwpIGFuenVnZWJlbi4KICAgCiAgIFdlbm4gYWxzbyBiZWlzcGllbHN3ZWlzZSBkaWUgQXVzZ2FiZSBhdWYgZGVuIEFuc2NobHVzcyBMUFQxOiBhbiBkYXMKICAgUHJvZ3JhbW0gbHByIPxiZXJnZWJlbiB3ZXJkZW4gc29sbCwgdW0gc2llIGRlbSBTcG9vbGVyIHp1enVm/GhyZW4sCiAgIHfkcmUgaW4gZGllIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZm9sZ2VuZGVyIEFic2Nobml0dCBhdWZ6dW5laG1lbjoKCiAgIFtzcG9vbGVyXQogICBMUFQxOnxscHIKCgogIDcuMTQgTXVsdGltZWRpYSBLb25maWd1cmF0aW9uCiAgCiAgIERpZSBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHVudGVyIFdpbmRvd3MgYmVzdGVodCBhdXMgdmVyc2NoaWVkZW5lbgogICBUeXBlbiB2b24gVHJlaWJlcm4gdW5kIFNjaG5pdHRzdGVsbGVuLCBkaWUgdm9uIFdpbmRvd3MtUHJvZ3JhbW1lbgogICBiZW51dHp0IHdlcmRlbiBr9m5uZW4uIERpZXNlIEFyY2hpdGVrdHVyIHdpcmQgdm9uIFdJTkUKICAgbmFjaGdlYmlsZGV0LCB3b2JlaSB1bnRlcnNjaGllZGxpY2hlIEJlc3RhbmR0ZWlsZSBtZWhyIG9kZXIgd2VuaWdlcgogICB2b2xsc3TkbmRpZyB2b3JoYW5kZW4gc2luZC4gRWluZSBhdXNm/GhybGljaGUgQmVzY2hyZWlidW5nIGRlcgogICBNdWx0aW1lZGlhLUFyY2hpdGVrdHVyIHZvbiBXSU5FIGJlZmluZGV0IHNpY2ggaW4gZGVyIERhdGVpCiAgIG11bHRpbWVkaWEgdW0gVW50ZXJ2ZXJ6ZWljaG5pcyBkb2N1bWVudGF0aW9uL3N0YXR1cyBkZXMKICAgV0lORS1RdWVsbGNvZGVzLgogICAKICAgV0lORSBzdGVsbHQgZWluZW4gZWlnZW5lbiBUcmVpYmVyIHp1ciBBbnN0ZXVlcnVuZyBkZXIgU291bmRoYXJkd2FyZQogICB6dXIgVmVyZvxndW5nLiBEaWVzZSBBbnN0ZXVlcnVuZyBnZXNjaGllaHQg/GJlciBkaWUgR2Vy5HRlZGF0ZWllbgogICAvZGV2L2RzcCwgL2Rldi9hdWRpbywgL2Rldi9taXhlciB1c3cuIERlc3dlZ2VuIG11c3MgZGFyYXVmIGdlYWNodGV0CiAgIHdlcmRlbiwgZGFzcyBTY2hyZWliIHVuZCBMZXNlYmVyZWNodGlndW5nIGb8ciBkaWVzZSBEYXRlaWVuCiAgIGJlc3RlaHQsIGZhbGxzIGRpZSBTb3VuZHVudGVyc3T8dHp1bmcgdm9uIFdJTkUgYmVudXR6dCB3ZXJkZW4KICAgc29sbC4gRGVyIFRyZWliZXIgc2V0enQgYXVmIGRpZSBPU1MtIChPcGVuIFNvdW5kU3lzdGVtKSBUcmVpYmVyCiAgIGF1ZiwgZGllIHN0YW5kYXJkbeTfaWcgQmVzdGFuZHRlaWwgZGVzIExpbnV4LUtlcm5lbHMgc2luZC4KICAgCiAgIEJpcyBhdWYgZGllIEJpYmxpb3RoZWtlbiB3aW5tbSB1bmQgbW1zeXN0ZW0gbGFzc2VuIHNpY2ggYWxsZQogICBhbmRlcmVuIEtvbXBvbmVudGVuIGRlcyBNdWx0aW1lZGlhc3lzdGVtcyBhdWNoIGF1cyBlaW5lcgogICBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiB2ZXJ3ZW5kZW4uIERpZXMgaXN0IHZvciBhbGxlbSBiZWkKICAgZWluaWdlbiBNQ0ktVHJlaWJlcm4gaGlsZnJlaWNoLCBkaWUgaW4gV0lORSBub2NoIG5pY2h0IHZvbGxzdORuZGlnCiAgIGltcGxlbWVudGllcnQgc2luZC4gTUNJLVRyZWliZXIgd2VyZGVuIGdlbGFkZW4sIHdlbm4gaW0gQWJzY2huaXR0CiAgIFttY2ldIGRlciBEYXRlaSBzeXN0ZW0uaW5pIGltIFdpbmRvd3MtVmVyemVpY2huaXMgQW53ZWlzdW5nZW4gaW4gZGVyCiAgIGZvbGdlbmRlbiBGb3JtIHN0ZWhlbjoKCiAgIFttY2ldCiAgIGNkYXVkaW89bWNpY2RhLmRydgogICBzZXF1ZW5jZXI9bWNpc2VxLmRydgoKICAgQmVpIFZlcndlbmR1bmcgZWluZXIgYmVzdGVoZW5kZW4gV2luZG93cy1JbnN0YWxsYXRpb24gc29sbHRlbiBzaWNoCiAgIGRpZSBlbnRzcHJlY2hlbmRlbiBBbndlaXN1bmdlbiBkb3J0IGJlcmVpdHMgYmVmaW5kZW4uIFdpcmQgb2huZQogICBlaW5lIGJlc3RlaGVuZGUgV2luZG93cy1JbnN0YWxsYXRpb24gZ2VhcmJlaXRldCwga2FubiBkaWUgRGF0ZWkKICAgc3lzdGVtLmluaSBpbSBVbnRlcnZlcnplaWNobmlzIGRvY3VtZW50YXRpb24vc2FtcGxlcyBkZXMKICAgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBhbHMgVm9ybGFnZSBkaWVuZW4uIER1cmNoIGRpZSBWYXJpYWJsZQogICBtY2kgaW0gQWJzY2huaXR0IFtvcHRpb25zXSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSB2b24gV0lORSBsYXNzZW4KICAgc2ljaCBkaWUgRGVmaW5pdGlvbmVuIGF1cyBkZXIgRGF0ZWkgc3lzdGVtLmluaSD8YmVyc2NocmVpYmVuLiBEYXMKICAgaXN0IHNpbm52b2xsLCB1bSBiZXN0aW1tdGUgVHJlaWJlciBuaWNodCB6dSBsYWRlbiwgZGllIGluIGRlciBEYXRlaQogICBzeXN0ZW0uaW5pIGFuZ2VnZWJlbiBzaW5kLCB3ZWlsIGRpZXNlIFRyZWliZXIgbWl0IFdJTkUgbmljaHQKICAgcmljaHRpZyBmdW5rdGlvbmllcmVuLiBEaWVzIGlzdCB6dXIgWmVpdCBtaXQgZGVtIE1DSS1UcmVpYmVyCiAgIHZpZGVvZGlzayBkZXIgRmFsbC4gVW0gYWxsZSBNQ0ktVHJlaWJlciAoYmlzIGF1ZiB2aWRlb2Rpc2spIHp1CiAgIGxhZGVuLCBr9m5udGUgaW4gZGllIEtvbmZpZ3VyYXRpb25zZGF0ZWkgZGVyIGFsc28gZGVyIGZvbGdlbmRlCiAgIEFic2Nobml0dCBhdWZnZW5vbW1lbiB3ZXJkZW46CgogICBbb3B0aW9uc10KICAgbWNpPUNEQVVESU86U0VRVUVOQ0VSOldBVkVBVURJTzpBVklWSURFTzpNUEVHVklERU8KCiAgIE9iIGVpbiBUcmVpYmVyIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBnZWxhZGVuCiAgIG9kZXIgZGVyIHZvbiBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHRlIFRyZWliZXIgYmVudXR6dCB3ZXJkZW4KICAgc29sbCwga2FubiB3aWUgYmVpIEJpYmxpb3RoZWtlbiBpbSBBYnNjaG5pdHQgRGxsT3ZlcnJpZGVzIGRlcgogICBLb25maWd1cmF0aW9uc2RhdGVpIGZlc3RnZWxlZ3Qgd2VyZGVuLCB3aWUgZXMgd2VpdGVyIG9iZW4KICAgYmVzY2hyaWViZW4gd3VyZGUuIERhYmVpIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBkaWUKICAgRGF0ZWluYW1lbnNlbmR1bmcgLmRydiBiZWkgVHJlaWJlcm4gLSBpbSBHZWdlbnNhdHogenUgQmlibGlvdGhla2VuCiAgIC0gbWl0IGFuenVnZWJlbiBpc3QuIFVtIGJlaXNwaWVsc3dlaXNlIGRpZSBNQ0ktVHJlaWJlciBtY2lhdmkgdW5kCiAgIG1jaWFuaW0gYXVzIGVpbmVyIGJlc3RlaGVuZGVuIEluc3RhbGxhdGlvbiB6dSBsYWRlbiB1bmQgZGllIPxicmlnZW4KICAgVHJlaWJlciB2b24gV0lORSB6dSB2ZXJ3ZW5kZW4sIHfkcmVuIGRlbSBBYnNjaG5pdHQgW0RsbE92ZXJyaWRlc10KICAgZGllIGZvbGdlbmRlbiBaZWlsZW4genV6dWb8Z2VuOgoKICAgbWNpYXZpLmRydiwgbWNpYW5pbS5kcnYgPSBuYXRpdmUsIGJ1aWx0aW4KICAgbWNpY2RhLmRydiwgbWNpc2VxLmRydiAgPSBidWlsdGluLCBuYXRpdmUKICAgbXNhY20uZHJ2LCBtaWRpbWFwLmRydiAgPSBidWlsdGluLCBuYXRpdmUKICAgbWNpd2F2ZS5kcnYgICAgICAgICAgICAgPSBidWlsdGluLCBuYXRpdmUKCgogIDcuMTUgRWlucmljaHRlbiBkZXIgUmVnaXN0cmF0dXIKICAKICAgRWluZSBSZWloZSB2b24gV2luZG93cy1Qcm9ncmFtbWVuIHVuZCBXSU5FIHNlbGJzdCBiZW72dGlnZW4KICAgYmVzdGltbXRlIEVpbnRy5GdlIGluIGRlciBSZWdpc3RyYXR1ciwgZGFtaXQgc2llIHJpY2h0aWcKICAgZnVua3Rpb25pZXJlbi4gV2VubiBXSU5FIG9obmUgZWluZSBiZXN0ZWhlbmRlIFdpbmRvd3MtSW5zdGFsbGF0aW9uCiAgIGJlbnV0enQgd2lyZCBvZGVyIGRpZSBXaW5kb3dzLVJlZ2lzdHJhdHVyIG5pY2h0IGltcG9ydGllcnQgd2VyZGVuCiAgIHNvbGwsIHNpbmQgZGllc2UgRWludHLkZ2Ugbm9jaCBuaWNodCB2b3JoYW5kZW4gdW5kIG38c3NlbiBtaXQgZGVtCiAgIHdlaXRlciBvYmVuIGJlcmVpdHMgZXJ35GhudGVuIFByb2dyYW1tIHJlZ2FwaSBpbXBvcnRpZXJ0CiAgIHdlcmRlbi4gQWxzIFZvcmxhZ2Uga2FubiBkYXp1IGRpZSBEYXRlaSB3aW5lZGVmYXVsdC5yZWcgaW0KICAgUXVlbGxjb2RldmVyemVpY2huaXMgdm9uIFdJTkUgZGllbmVuLiBEaWUgRGF0ZWkgc29sbHRlIGplZG9jaAogICBkYXJhdWZoaW4g/GJlcnBy/GZ0IHdlcmRlbiwgb2IgYWxsZSBkb3J0IGFuZ2VnZWJlbmVuCiAgIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gdW5kIFBmYWRlIHN0aW1tZW4sIGJldm9yIHNpZSBpbXBvcnRpZXJ0IHdpcmQuCiAgIEF132VyZGVtIHNvbGx0ZSBpbiBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBuYXT8cmxpY2ggZmVzdGdlbGVndAogICBzZWluLCBkYXNzIGRpZSBSZWdpc3RyYXR1ciBiZWkgQmVlbmRpZ3VuZyBkZXMgUHJvZ3JhbW1zIGdlc3BlaWNoZXJ0CiAgIHdpcmQsIGRhbWl0IGRpZSBpbXBvcnRpZXJ0ZW4gRGF0ZW4gYXVjaCBiZWltIG7kY2hzdGVuIEF1ZnJ1ZiB2b24KICAgV0lORSB6dXIgVmVyZvxndW5nIHN0ZWhlbi4gRGFuYWNoIGthbm4gaW4gZGFzIFVudGVydmVyemVpY2huaXMKICAgcHJvZ3JhbXMvcmVnYXBpIGRlcyBRdWVsbGNvZGV2ZXJ6ZWljaG5pc3NlcyBnZXdlY2hzZWx0IHdlcmRlbi4gRG9ydAogICBpc3QgZGFzIFByb2dyYW1tIHp1buRjaHN0IGR1cmNoIEVpbmdhYmUgZGVzIEJlZmVobHMgbWFrZSB6dQogICBlcnN0ZWxsZW4sIGZhbGxzIGRpZXMgbm9jaCBuaWNodCBnZXNjaGVoZW4gaXN0LiBEYW5hY2gga/ZubmVuIGRpZQogICBlcmZvcmRlcmxpY2hlbiBEYXRlbiBtaXQgZGVtIGZvbGdlbmRlbiBCZWZlaGwgaW1wb3J0aWVydCB3ZXJkZW46CiAgIAogICAuL3JlZ2FwaSBzZXRWYWx1ZSAuLi8uLi9XSU5FZGVmYXVsdC5yZWcKICAgCjggQXVmcnVmIHZvbiBXSU5FIHVuZCBLb21tYW5kb3plaWxlbm9wdGlvbmVuCgogICBXSU5FIGzkc3N0IHNpY2ggd2llIGplZGVzIGFuZGVyZSBQcm9ncmFtbSB2b24gZGVyIEtvbW1hbmRvemVpbGUgYXVzCiAgIGF1ZnJ1ZmVuLiBEZXIgTmFtZSBkZXMgYXVzenVm/GhyZW5kZW4gV2luZG93cy1Qcm9ncmFtbXMgaXN0IFdJTkUKICAgZGFiZWkgYW4gZGVyIEtvbW1hbmRvemVpbGUgYW5nZWJlbi4gUHJvZ3JhbW1lLCBkaWUgc2ljaCBpbiBlaW5lbQogICBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgZGFzIGluIGRlciBWYXJpYWJsZW4gUGF0aCBpbSBBYnNjaG5pdHQgV0lORQogICBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBhdWZnZWb8aHJ0IGlzdCwga/ZubmVuIGRhYmVpIG9obmUgQW5nYWJlCiAgIGRlcyBQZmFkbmFtZW5zIGF1ZmdlcnVmZW4gd2VyZGVuLiBEaWUgQW5nYWJlIGRlciBEYXRlaW5hbWVuc2VuZHVuZwogICAuZXhlIGlzdCBvcHRpb25hbC4gRmFsbHMgV0lORSBhbHNvIGdlc3RhcnRldCB1bmQgZGFzCiAgIFdpbmRvd3MtUHJvZ3JhbW0gd2lubWluZSAoTWluZXN3ZWVwZXIpIGdlbGFkZW4gd2VyZGVuIHNvbGwsIHfkcmUKICAgZGVyIGZvbGdlbmRlIEJlZmVobCBlaW56dWdlYmVuLCB2b3JhdXNnZXNldHp0LCBkaWUgRGF0ZWkKICAgd2lubWluZS5leGUgd/xyZGUgc2ljaCBpbiBlaW5lbSBWZXJ6ZWljaG5pcyBiZWZpbmRlbiwgd2VsY2hlcyBpbgogICBkZXIgVmFyaWFibGVuIFBhdGggYXVmZ2Vm/GhydCBpc3QuCiAgIAogICB3aW5lIHdpbm1pbmUuZXhlCiAgIAogICBTb2xsZW4gUHJvZ3JhbW1lIGdlc3RhcnRldCB3ZXJkZW4sIGRpZSBzaWNoIGluIFZlcnplaWNobmlzc2VuCiAgIGJlZmluZGVuLCB3ZWxjaGUgbmljaHQgaW4gZGVyIFZhcmlhYmxlbiBQYXRoIGJlZmluZGVuLCBpc3QgZXMKICAgZXJmb3JkZXJsaWNoLCBkZW4gUGZhZG5hbWVuIG1pdCBhbnp1Z2ViZW4uIEhpZXIga2FubiBlbnR3ZWRlciBkZXIKICAgRE9TLS9XaW5kb3dzLVBmYWRuYW1lIG9kZXIgZGVyIFVOSVgtUGZhZG5hbWUgYmVudXR6dCB3ZXJkZW4uIERpZQogICBiZWlkZW4gZm9sZ2VuZGVuIEJlZmVobGUgd/xyZGVuIGFsc28gZGFzIGdsZWljaGUgYmV3aXJrZW4sIGZhbGxzCiAgIGRhcyBMYXVmd2VyayBDOiBkZW0gVU5JWC1WZXJ6ZWljaG5pcyAvdmFyL3dpbnJvb3QgenVnZW9yZG5ldCB35HJlLgoKICAgd2luZSBjOlxcd2luZG93c1xcd2lubWluZS5leGUKICAgd2luZSAvdmFyL3dpbnJvb3Qvd2luZG93cy93aW5taW5lLmV4ZQoKICAgRGVyIFL8Y2t35HJ0cy1TY2hy5GdzdHJpY2ggaGF0IGb8ciBkaWUgU2hlbGwgQmFzaCBlaW5lIGJlc29uZGVyZQogICBCZWRldXR1bmcgdW5kIHdpcmQgZGVzd2VnZW4gbm9ybWFsZXJ3ZWlzZSBuaWNodCBhbiBXSU5FCiAgIPxiZXJnZWJlbi4gRHVyY2ggZGllIGRvcHBlbHRlIEFuZ2FiZSBkaWVzZXMgWmVpY2hlbnMgd2lyZCBiZXdpcmt0LAogICBkYXNzIGVpbiBlaW5mYWNoZXIgU2NocuRnc3RyaWNoIPxiZXJnZWJlbiB3aXJkLiBEYXRlaS0gdW5kCiAgIFZlcnplaWNobmlzbmFtZW4gZW50aGFsdGVuIHVudGVyIFdpbmRvd3MgZ2VsZWdlbnRsaWNoCiAgIExlZXJ6ZWljaGVuLiBBdWNoIGhpZXIgaXN0IGVzIG5vdHdlbmRpZyBlaW5lbiBUcmljayBhbnp1d2VuZGVuLAogICBkYW1pdCBkaWUgTGVlcnplaWNoZW4gbmljaHQgZGF6dSBm/GhyZW4sIGRhc3MgZGllIFNoZWxsIGRpZQogICBlaW56ZWxuZW4gVGVpbGUgZGVyIE5hbWVuIGluIHZlcnNjaGllZGVuZW4gQXJndW1lbnRlIHplcmxlZ3QuIERlcgogICBmb2xnZW5kZSBCZWZlaGwgd/xyZGUgYmVpc3BpZWxzd2Vpc2UgbmljaHQgenVtIGdld/xuc2NodGVuIEVyZ2VibmlzCiAgIGb8aHJlbjoKICAgCiAgIFdJTkUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnQgR2FtZXMvUm9BIFRyaWFsIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEhpZXIgd/xyZGUgZGllIFNoZWxsIFdJTkUgdmllciBBcmd1bWVudGUg/GJlcmdlYmVuLCBu5G1saWNoCiAgIC92YXIvd2lucm9vdC9Qcm9ncmFtbWUvTWljcm9zb2Z0LCBHYW1lcy9Sb0EsIFRyaWFsIHVuZAogICBWZXJzaW9uL1BBQ0RFTU8uRVhFLCB3b3JhdWZoaW4gZGFzIHp1IHN0YXJ0ZW5kZSBQcm9ncmFtbSBuaWNodCBtZWhyCiAgIGdlZnVuZGVuIHdlcmRlbiB3/HJkZS4gRGFtaXQgZGllIFNoZWxsIGJlaSBMZWVyemVpY2hlbiBrZWluZQogICBUcmVubnVuZyBkdXJjaGb8aHJ0LCBpc3QgZGVuIGJldHJlZmZlbmRlbiBMZWVyemVpY2hlbiBlYmVuZmFsbHMgZWluCiAgIHL8Y2t35HJ0c2dlcmljaHRldGVyIFNjaHLkZ3N0cmljaCB2b3Jhbnp1c3RlbGxlbjoKICAgCiAgIFdJTkUgL3Zhci93aW5yb290L1Byb2dyYW1tZS9NaWNyb3NvZnRcIEdhbWVzL1JvQVwgVHJpYWxcIFZlcnNpb24vUEFDREVNTy5FWEUKICAgCiAgIEFyZ3VtZW50ZSwgZGllIGRlbiB6dSBzdGFydGVuZGVuIFdpbmRvd3MtUHJvZ3JhbW1lbiD8YmVyZ2ViZW4KICAgd2VyZGVuIHNvbGxlbiwgc2luZCBkZW0gUHJvZ3JhbW1uYW1lbiwgZ2V0cmVubnQgZHVyY2ggTGVlcnplaWNoZW4sCiAgIG5hY2h6dXN0ZWxsZW4uIFVtIGJlaXNwaWVsc3dlaXNlIGRhcyBQcm9ncmFtbSBub3RlcGFkLmV4ZSB6dQogICBzdGFydGVuIHVuZCBkaWVzZW0gUHJvZ3JhbW0gZGFzIEFyZ3VtZW50IHJlYWRtZS4xc3QgenUg/GJlcmdlYmVuLAogICB35HJlIFdJTkUgc28gYXVmenVydWZlbjoKICAgCiAgIHdpbmUgbm90ZXBhZCByZWFkbWUuMXN0CiAgIAogICBXZW5uIG1laHJlcmUgV2luZG93cy1Qcm9ncmFtbWUgaGludGVyZWluYW5kZXIgZ2VzdGFydGV0IHdlcmRlbiBzb2xsZW4sCiAgIG11c3MgV0lORSBtZWhybWFscyBoaW50ZXJlaW5hbmRlciBtaXQgZGVuIGVudHNwcmVjaGVuZGVuIFByb2dyYW1tbmFtZW4KICAgYWxzIEFyZ3VtZW50IGF1ZmdlcnVmZW4gd2VyZGVuLgogICAKICA4LjEgS29tbWFuZG96ZWlsZW5vcHRpb25lbgogIAogICBOZWJlbiBkZW4gTmFtZW4gZGVyIHp1IHN0YXJ0ZW5kZW4gUHJvZ3JhbW1lIHZlcnN0ZWh0IFdJTkUgZWluZSBSZWloZQogICB2b24gT3B0aW9uZW4sIG1pdCBkZW5lbiBkaWUgT3BlcmF0aW9uIGRlcyBQcm9ncmFtbXMgZ2xvYmFsIGJlZWluZmx1c3N0CiAgIHdlcmRlbiBrYW5uLiBEaWVzZSBPcHRpb25lbiB3ZXJkZW4gZGlyZWt0IHZvbiBXSU5FIGludGVycHJldGllcnQKICAgdW5kIG5pY2h0IGFuIGRhcyBhdWZ6dXJ1ZmVuZGUgV2luZG93cy1Qcm9ncmFtbSD8YmVyZ2ViZW4uCiAgIAogICAtLW1hbmFnZWQKICAgICAgICAgIFN0YW5kYXJkbeTfaWcgbGF1ZmVuIFdpbmRvd3MtUHJvZ3JhbW1lIG1pdCBXSU5FIHVuYWJo5G5naWcKICAgICAgICAgIHZvbSBlaW5nZXNldHp0ZW4gV2luZG93cy1NYW5hZ2VyLiBEaWVzIGthbm4genUgUHJvYmxlbWVuIGJlaQogICAgICAgICAgZGVyIGdsZWljaHplaXRpZ2VuIFZlcndlbmR1bmcgbm9ybWFsZXIgWCBQcm9ncmFtbWUgdW5kIHZvbgogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWVuIGb8aHJlbi4gRHVyY2ggVmVyd2VuZHVuZyBkZXIgT3B0aW9uCiAgICAgICAgICAtLW1hbmFnZWQgd2VyZGVuIGF1Y2ggV2luZG93cy1Qcm9ncmFtbWUgdm9tIFdpbmRvdy1NYW5hZ2VyCiAgICAgICAgICB2ZXJ3YWx0ZXQsIHNpZSBlcmhhbHRlbiBkYW5uIGRpZSBnbGVpY2hlbiBWZXJ6aWVydW5nZW4gd2llCiAgICAgICAgICBub3JtYWxlIFggUHJvZ3JhbW1lIChzaWVoZSBhdWNoIEFic2Nobml0dCA3LjUpCiAgICAgICAgICAKICAgLS1kZXNrdG9wIEJyZWl0ZXhI9mhlCiAgICAgICAgICBNaXQgZGllc2VtIFBhcmFtZXRlciB3ZXJkZW4gYWxsZSBGZW5zdGVyIHZvbgogICAgICAgICAgV2luZG93cy1Qcm9ncmFtbWVuIGluIGVpbmVtIGVpZ2VuZW4gRmVuc3RlciBkYXJnZXN0ZWxsdC4gRGllCiAgICAgICAgICBHcvbfZSBkaWVzZXMgRmVuc3RlcnMgd2lyZCBpbiBCaWxkcHVua3RlbiBtaXQgQnJlaXRlIHVuZAogICAgICAgICAgSPZoZSBhbmdlZ2ViZW4uIEJlaXNwaWVsOiAtLWRlc2t0b3AgODAweDYwMC4gRGllc2VyIE1vZHVzCiAgICAgICAgICB3aXJkIGb8ciBkaWUgVmVyd2VuZHVuZyBzb2xjaGVyIFByb2dyYW1tZSBiZW72dGlndCwgZGllIGRlbgogICAgICAgICAgQmlsZHNjaGlybSBzZWxic3Qga29tcGxldHQgdmVyd2FsdGVuIHdvbGxlbiwgd2llIGVzCiAgICAgICAgICB6LkIuIGJlaW0gV2luZG93cy1FeHBsb3JlciBkZXIgRmFsbCBpc3QuIERlciBNb2R1cyBpc3QgYXVjaAogICAgICAgICAgZXJmb3JkZXJsaWNoLCB1bSBXSU5FIG1pdCBkZW4gQmlibGlvdGhla2VuIHVzZXIgdW5kIHVzZXIzMgogICAgICAgICAgYXVzIGVpbmVyIGJlc3RlaGVuZGVuIFdpbmRvd3MtSW5zdGFsbGF0aW9uIHp1IHZlcndlbmRlbi4KICAgICAgICAgIAogICAtLWNvbmZpZyBEYXRlaW5hbWUKICAgICAgICAgIEhpZXJtaXQga2FubiBXSU5FIGFuZ2V3aWVzZW4gd2VyZGVuLCBlaW5lIGFuZGVyZQogICAgICAgICAgS29uZmlndXJhdGlvbnNkYXRlaSB6dSB2ZXJ3ZW5kZW4uCiAgICAgICAgICAKICAgLS1kaXNwbGF5IERpc3BsYXliZXplaWNobnVuZwogICAgICAgICAgV2llIGFsbGUgWC1Qcm9ncmFtbWUgdmVyd2VuZGV0IFdJTkUgbm9ybWFsZXJ3ZWlzZSBkZW4KICAgICAgICAgIFgtU2VydmVyLCBkZXIgbWl0IGRlciBVbWdlYnVuZ3N2YXJpYWJsZW4gRElTUExBWSBhbmdlZ2ViZW4KICAgICAgICAgIGlzdC4gVW0gZWluZW4gYW5kZXJlbiBTZXJ2ZXIgenUgdmVyd2VuZGVuLCBpc3QgZGllc2UgT3B0aW9uCiAgICAgICAgICB6dSBiZW51dHplbi4gIEJlaXNwaWVsOiAtLWRpc3BsYXkgd29ya3N0YXRpb246MC4KICAgICAgICAgIAogICAtLXdpbnZlciBWZXJzaW9uCiAgICAgICAgICBWaWVsZSBXaW5kb3dzLVByb2dyYW1tZSBmdW5rdGlvbmllcmVuIG51ciBtaXQgYmVzdGltbXRlbgogICAgICAgICAgVmVyc2lvbmVuIHZvbiBXaW5kb3dzIG9kZXIgdmVyaGFsdGVuIHNpY2ggdW50ZXJzY2hpZWRsaWNoLAogICAgICAgICAgamUgbmFjaGRlbSBtaXQgd2VsY2hlciBWZXJzaW9uIHZvbiBXaW5kb3dzIHNpZSBhdXNnZWb8aHJ0CiAgICAgICAgICB3ZXJkZW4uICBEaWVzZXIgUGFyYW1ldGVyIGRpZW50IGRhenUsIFdJTkUgYW56dXdlaXNlbiwgYWxzCiAgICAgICAgICB3ZWxjaGUgV2luZG93cy1WZXJzaW9uIGVzIHNpY2ggYXVzZ2ViZW4gc29sbCwgd2VubiBQcm9ncmFtbWUKICAgICAgICAgIGRpZXMgZXJmcmFnZW4uIFN0YW5kYXJkbeTfaWcgdmVyc3VjaHQgV0lORSBzZWxic3QKICAgICAgICAgIGhlcmF1c3p1ZmluZGVuLCB3ZWxjaGUgVmVyc2lvbiB2b24gZWluZW0gYmVzdGltbXRlbiBQcm9ncmFtbQogICAgICAgICAgZXJ3YXJ0ZXQgd2lyZC4gTWl0IFZlcnNpb24ga2FubiBmb2xnZW5kZXMgYW5nZWdlYmVuIHdlcmRlbjoKICAgICAgICAgIHdpbjMxIChXaW5kb3dzIDMuMSksIHdpbjk1IChXaW5kb3dzIDk1KSwgd2luOTggKFdpbmRvd3MgOTgpLAogICAgICAgICAgbnQzNTEgKFdpbmRvd3MgTlQgMy41MSkgb2RlciBudDQwIChXaW5kb3dzIE5UIDQuMCkuIEltCiAgICAgICAgICBad2VpZmVsc2ZhbGwgZW1wZmllaGx0IHNpY2ggd2luOTUsIHdlaWwgV0lORSB6dXIgWmVpdCBkaWUKICAgICAgICAgIG1laXN0ZW4gR2VtZWluc2Fta2VpdGVuIG1pdCBkaWVzZXIgV2luZG93cy1WZXJzaW9uCiAgICAgICAgICBhdWZ3ZWlzdC4gQmVpc3BpZWw6IC0td2ludmVyIHdpbjk1LgogICAgICAgICAgCiAgIC0tZG9zdmVyIFZlcnNpb24KICAgICAgICAgIFdlbm4gRE9TLVByb2dyYW1tZSBtaXQgV2luZG93cyBhdXNnZWb8aHJ0IHdlcmRlbiwgZXJ3YXJ0ZW4KICAgICAgICAgIGRpZXNlIGdlbGVnZW50bGljaCBlaW5lIGJlc3RpbW10ZSBWZXJzaW9uIHZvbiBNUy1ET1MuIERhenUKICAgICAgICAgIGlzdCBtaXQgZGVtIFBhcmFtZXRlciAtLWRvc3ZlciBkaWUgZ2V3/G5zY2h0ZSBWZXJzaW9uLCBpbgogICAgICAgICAgZGVyIEZvcm0geC54eCBhbnp1Z2ViZW4uIEJlaXNwaWVsOiAtLWRvc3ZlciA3LjEwIChkaWVzZQogICAgICAgICAgVmVyc2lvbiBlbnRzcHJpY2h0IFdpbmRvd3MgOTViKS4KICAgICAgICAgIAogICAtLWxhbmd1YWdlIFNwcmFjaGUKICAgICAgICAgIFfkaHJlbmQgV2luZG93cyBpbiBWZXJzaW9uZW4gZvxyIHZlcnNjaGllZGVuZSBTcHJhY2hlbgogICAgICAgICAgdmVyZvxnYmFyIGlzdCwgYmVmaW5kZXQgc2ljaCBkaWUgVW50ZXJzdPx0enVuZyBm/HIgZWluZQogICAgICAgICAgUmVpaGUgdm9uIFNwcmFjaGVuIGRpcmVrdCBpbiBXSU5FLiBXZWxjaGUgU3ByYWNoZSBiZW51dHp0IHdlcmRlbgogICAgICAgICAgc29sbCBrYW5uIG1pdCBkaWVzZW0gUGFyYW1ldGVyIGFuZ2VnZWJlbiB3ZXJkZW4uIFVtIGRpZQogICAgICAgICAgZGV1dHNjaGUgU3ByYWNoZSBhdXN6dXfkaGxlbiwgaXN0IGb8ciBTcHJhY2hlIERlCiAgICAgICAgICBhbnp1Z2ViZW4uIEVzIGlzdCB6dSBiZWFjaHRlbiwgZGFzcyBlaW5pZ2UgQW53ZW5kdW5nZW4gbnVyCiAgICAgICAgICBtaXQgYmVzdGltbXRlbiBTcHJhY2hlbiBmdW5rdGlvbmllcmVuLiBXZW5uIEFud2VuZHVuZ2VuCiAgICAgICAgICBpcmdlbmR3ZWxjaGUgQmlibGlvdGhla2VuIG5pY2h0IGZpbmRlbiBr9m5uZW4sIGthbm4gZGFzCiAgICAgICAgICBkYXJhbiBsaWVnZW4sIGRhc3Mgc2llIHNvbGNoZSBCaWJsaW90aGVrZW4gc3VjaGVuLCBkaWUgZvxyCiAgICAgICAgICBkaWUgU3ByYWNoZSBlbnR3aWNrZWx0IHd1cmRlbiwgbWl0IGRlciBXSU5FIGFyYmVpdGV0IHVuZAogICAgICAgICAgZGllc2UgbmljaHQgdmVyZvxnYmFyIHNpbmQuIEhpZXIgaGlsZnQgZXMsIGRpZSByaWNodGlnZQogICAgICAgICAgU3ByYWNoZSBhbnp1Z2ViZW4uIEJlaXNwaWVsOiAtLWxhbmd1YWdlIERlLgogICAgICAgICAgCiAgIC0taGVscAogICAgICAgICAgRGllIE9wdGlvbiBiZXdpcmt0LCBkYXNzIGVpbmUg3GJlcnNpY2h0IPxiZXIgZGllIHZlcmb8Z2JhcmVuCiAgICAgICAgICBPcHRpb25lbiBhdXNnZWdlYmVuIHdpcmQuCiAgICAgICAgICAKICAgLS12ZXJzaW9uCiAgICAgICAgICBEaWUgT3B0aW9uIGJld2lya3QsIGRhc3MgZGllIFZlcnNpb25zbnVtbWVyIHZvbiBXSU5FCiAgICAgICAgICBhbmdlemVpZ3Qgd2lyZC4KICAgICAgICAgIAogICAtLWRsbCBCaWJsaW90aGVrWyxCaWJsaW90aGVrIC4uLl09YnxuWzpCaWJsaW90aGVrWyxCaWJsaW90aGVrLC4uLl09YnxuXQogICAgICAgICAgTWl0IGRpZXNlciBPcHRpb24gbGFzc2VuIHNpY2ggZGllIEVpbnN0ZWxsdW5nZW4gYXVzIGRlbQogICAgICAgICAgQWJzY2huaXR0IFtEbGxPdmVycmlkZXNdIGF1cyBkZXIgS29uZmlndXJhdGlvbnNkYXRlaQogICAgICAgICAg/GJlcnNjaHJlaWJlbiwgZXMga2FubiBhbHNvIGFuZ2VnZWJlbiB3ZXJkZW0sIHdlbGNoZQogICAgICAgICAgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbgogICAgICAgICAgZ2VsYWRlbiB1bmQgd2VsY2hlIGRpcmVrdCB2b24gV0lORSB6dSBWZXJm/Gd1bmcgZ2VzdGVsbHQKICAgICAgICAgIHdlcmRlbiBzb2xsZW4uICBEZXIgT3B0aW9uIGlzdCBlaW4gQXVzZHJ1Y2sgenUg/GJlcmdlYmVuLAogICAgICAgICAgd2VsY2hlciBhdXMgZGVuIE5hbWVuIGRlciBiZXRyZWZmZW5kZW4gQmlibGlvdGhla2VuIGJlc3RlaHQsCiAgICAgICAgICBkaWUgZHVyY2ggS29tbWF0YSAob2huZSBMZWVyemVpY2hlbikgdm9uZWluYW5kZXIgZ2V0cmVubnQKICAgICAgICAgIHdlcmRlbi4gRGFuYWNoIGZvbGd0IGVpbiBHbGVpY2hoZWl0c3plaWNoZW4gdW5kIGRhcmF1ZmhpbgogICAgICAgICAgZW50d2VkZXIgZGVyIEJ1Y2hzdGFiZSBiLCB1bSB6dSBiZXN0aW1tZW4sIGRhc3MgZGllCiAgICAgICAgICBhbmdlZ2ViZW5lbiBCaWJsaW90aGVrZW4gdm9uIFdJTkUgenVyIFZlcmb8Z3VuZyBnZXN0ZWxsdAogICAgICAgICAgd2VyZGVuIHNvbGxlbiwgb2RlciBkZXIgQnVjaHN0YWJlIG4sIGRhbWl0IHZlcnN1Y2h0IHdpcmQsCiAgICAgICAgICBkaWUgQmlibGlvdGhla2VuIGF1cyBlaW5lciBiZXN0ZWhlbmRlbiBJbnN0YWxsYXRpb24genUKICAgICAgICAgIGxhZGVuLiBTb2xjaGUgQXVzZHJ1Y2tlIGv2bm5lbiB3aWVkZXJob2x0IGFuZ2VnZWJlbiB3ZXJkZW4sCiAgICAgICAgICBzaWUgc2luZCBkYW5uIGR1cmNoIGVpbmVuIERvcHBlbHB1bmt0IChvaG5lIExlZXJ6ZWljaGVuKQogICAgICAgICAgdm9uZWluYW5kZXIgenUgdHJlbm5lbi4gU29sbGVuIGJlaXNwaWVsc3dlaXNlIGRpZQogICAgICAgICAgQmlibGlvdGhla2VuIHNoZWxsLCBjb21tZGxnIHVuZCBjb21tY3RybCBtaXQgaWhyZW4KICAgICAgICAgIHp1Z2Vo9nJpZ2VuIDMyYml0IEJpYmxpb3RoZWtlbiBhdXMgZWluZXIgYmVzdGVoZW5kZW4KICAgICAgICAgIEluc3RhbGxhdGlvbiBnZWxhZGVuIHdlcmRlbiB1bmQgZGllIEJpYmxpb3RoZWsgYWR2YXBpMzIgdm9uCiAgICAgICAgICBXSU5FIHp1ciBWZXJm/Gd1bmcgZ2VzdGVsbHQgd2VyZGVuLCBvYndvaGwgZGllcyBpbiBkZXIKICAgICAgICAgIEtvbmZpZ3VyYXRpb25zZGF0ZWkgYW5kZXJzIGFuZ2VnZWJlbiBpc3QsIHNvIGv2bm50ZSBtYW4gZGllCiAgICAgICAgICBPcHRpb24gc28gZWluc2V0emVuOgoKICAgICAgICAgIC0tZGxsIGNvbW1kbGcsY29tZGxnMzIsY29tbWN0cmwsY29tY3RsMzIsc2hlbGwsc2hlbGwzMj1uOmFkdmFwaTMyPWIuCiAgICAgICAgICAKICAgLS1kZWJ1Z21zZyArfC1mb28sK3wtYmFyCiAgICAgICAgICBEaWVzZSBPcHRpb24gZGllbnQgZGF6dSwgenUga29udHJvbGxpZXJlbiwgd2VsY2hlIEFydCB2b24KICAgICAgICAgIEluZm9ybWF0aW9uZW4gV0lORSB6dXIgRmVobGVyLSB1bmQgQWJsYXVmdmVyZm9sZ3VuZyBhdXNnZWJlbgogICAgICAgICAgc29sbC4gRXMgc3RlaGVuIGVpbmUgUmVpaGUgc28gZ2VuYW5udGVyIEthbuRsZSB6dXIgVmVyZvxndW5nLAogICAgICAgICAgZGVyZW4gTmFtZW4gYW5nZXplaWd0IHdlcmRlbiwgd2VubiBkaWUgT3B0aW9uIG9obmUgd2VpdGVyZSBBbmdhYmVuCiAgICAgICAgICBiZW51dHp0IHdpcmQuIERpZSBlaW56ZWxuZW4gS2Fu5GxlIGVudHNwcmVjaGVuIG5vcm1hbGVyd2Vpc2UKICAgICAgICAgIHVudGVyc2NoaWVkbGljaGVuIFRlaWxiZXJlaWNoZW4gdm9uIFdJTkUsIGRlcmVuIFZlcmhhbHRlbiBkdXJjaAogICAgICAgICAgZGllIEF1c2dhYmUgYmVzdGltbXRlciBJbmZvcm1hdGlvbmVuIPxiZXJwcvxmdCB3ZXJkZW4ga2Fubi4gVW0KICAgICAgICAgIGJlaXNwaWVsc3dlaXNlIGRpZSBNZWxkdW5nZW4gZvxyIGRlbiBLYW5hbCBmaWxlIGVpbnp1c2NoYWx0ZW4sCiAgICAgICAgICB35HJlIGRpZSBPcHRpb24gLS1kZWJ1Z21zZyArZmlsZSB6dSBiZW51dHplbi4gV2VubiBkaWUKICAgICAgICAgIE1lbGR1bmdlbiBkZXIgS2Fu5GxlIGZpbGUgdW5kIGRvc2ZzIGF1c2dlZ2ViZW4gd2VyZGVuIHNvbGxlbiwKICAgICAgICAgIHfkcmUgLS1kZWJ1Z21zZyArZmlsZSwrZG9zZnMgYW56dWdlYmVuLiBXZWl0ZXJlIEluZm9ybWF0aW9uZW4KICAgICAgICAgIGhpZXJ6dSBiZWZpbmRlbiBzaWNoIGluIGRlciBEYXRlaSBkZWJ1Zy1tc2cgaW0gVW50ZXJ2ZXJ6ZWljaG5pcwogICAgICAgICAgZG9jdW1lbnRhdGlvbiBkZXMgV0lORS1RdWVsbGNvZGV2ZXJ6ZWljaG5pc3Nlcy4gWndlaSBiZXNvbmRlcnMKICAgICAgICAgIHdpY2h0aWdlIEthbuRsZSBzaW5kIHJlbGF5IHVuZCBzbm9vcC4gV2VubiBkZXIgS2FuYWwgcmVsYXkKICAgICAgICAgIGVpbmdlc2NoYWx0ZXQgaXN0LCB3aXJkIGF1c2dlZ2ViZW4sIHdlbGNoZSBGdW5rdGlvbmVuIGluIFdJTkUKICAgICAgICAgIHZvbiBXaW5kb3dzLVByb2dyYW1tZW4gbWl0IHdlbGNoZW4gUGFyYW1ldGVybiBhdWZnZXJ1ZmVuIHdlcmRlbgogICAgICAgICAgdW5kIHdlbGNoZSBS/GNra2VocndlcnRlIGRpZXNlIEZ1bmt0aW9uZW4gbGllZmVybi4gRGVyIEthbmFsCiAgICAgICAgICBzbm9vcCB6ZWlndCBhbiwgd2VsY2hlIEZ1bmt0aW9uZW4gYXVzIGVjaHRlbgogICAgICAgICAgV2luZG93cy1CaWJsaW90aGVrZW4gYXVmZ2VydWZlbiB3ZXJkZW4uIERpZSBBdXNnYWJlIGRlcyBLYW5hbHMKICAgICAgICAgIHJlbGF5IGRpZW50IFdJTkUtRW50d2lja2xlcm4gb2Z0IGRhenUsIGZlc3R6dXN0ZWxsZW4sIHdvIGVpbgogICAgICAgICAgRmVobGVyIGF1ZmdldHJldGVuIGlzdC4gRGVzd2VnZW4gaXN0IGVzIHJhdHNhbSwgYmVpCiAgICAgICAgICBGZWhsZXJiZXJpY2h0ZW4gaW4gZGllIFdJTkUtTmV3c2dyb3VwIGRpZSBsZXR6dGVuIDIwMCBaZWlsZW4KICAgICAgICAgIGRlciBBdXNnYWJlIHZvbiBXSU5FIG1pdHp1c2NoaWNrZW4sIGRpZSBiZWkgZGVtIEF1ZnJ1ZiBkZXMKICAgICAgICAgIFByb2dyYW1tcyBtaXQgZGVyIE9wdGlvbiAtLWRlYnVnbXNnICtyZWxheSB2b3IgQXVmdHJldGVuIGRlcwogICAgICAgICAgRmVobGVycyBlbnRzdGFuZGVuIHNpbmQuCiAgICAgICAgICAKOSBGZWhsZXJxdWVsbGVuCgogICBXSU5FIGJlZmluZGV0IHNpY2ggenVyIFplaXQgbm9jaCBtaXR0ZW4gaW4gZGVyIEVudHdpY2tsdW5nLCB3ZXN3ZWdlbgogICB2aWVsZSBXaW5kb3dzLVByb2dyYW1tZSBudXIgdGVpbHdlaXNlIG9kZXIg/GJlcmhhdXB0IG5pY2h0IGRhbWl0CiAgIGZ1bmt0aW9uaWVyZW4uIE1pdCBncm/fZXIgV2FocnNjaGVpbmxpY2hrZWl0IHdlcmRlbiBlaW5pZ2UgUHJvZ3JhbW1lCiAgIHNvZ2FyIG5pZSBtaXQgV0lORSBmdW5rdGlvbmllcmVuLCBiZWlzcGllbHN3ZWlzZSB3ZWlsIHNpZSBlaWdlbmUKICAgV2luZG93cy1UcmVpYmVyIGJyYXVjaGVuLCBkaWUgdW50ZXIgTGludXggbmljaHQgZ2VsYWRlbiB3ZXJkZW4ga/ZubmVuLgogICBUcm90emRlbSBmdW5rdGlvbmllcmVuIHZpZWxlIFdpbmRvd3MtUHJvZ3JhbW1lIGF1c2dlc3Byb2NoZW4gZ3V0IG1pdAogICBXSU5FIHVuZCBkaWUgQW56YWhsIGZ1bmt0aW9uaWVyZW5kZXIgUHJvZ3JhbW1lIGVyaPZodCBzaWNoIHJlbGF0aXYKICAgc2NobmVsbC4gV2VubiBlaW4gUHJvZ3JhbW0gbmljaHQgd2llIGdld/xuc2NodCBmdW5rdGlvbmllcnQsIGthbm4gZXMKICAgZGVzd2VnZW4gaGlsZnJlaWNoIHNlaW4sIGRpZSBmb2xnZW5kZW4gRnJhZ2VuIHp1IHVudGVyc3VjaGVuOgogICAKICAgV0lORSBmdW5rdGlvbmllcnQg/GJlcmhhdXB0IG5pY2h0CiAgICAgICAgICBJbiBiZXN0aW1tdGVuIFBha2V0dmVyc2lvbmVuIGRlciBDLUJpYmxpb3RoZWsgKFZlcnNpb24KICAgICAgICAgIDIuMS4zKSBsaWVndCBlaW4gRmVobGVyIHZvciwgZGVyIGRhenUgZvxocnQsIGRhc3MgV0lORQogICAgICAgICAgZGlyZWt0IG5hY2ggZGVtIFN0YXJ0IG1pdCBGZWhsZXJtZWxkdW5nZW4gYWJicmljaHQuIFNpZQogICAgICAgICAga/ZubmVuIGRhcyBQcm9ibGVtIGJlaGViZW4sIGluZGVtIFNpZSBlaW5lIG5ldWVyZSBWZXJzaW9uCiAgICAgICAgICBkZXIgQy1CaWJsaW90aGVrIGluc3RhbGxpZXJlbiBvZGVyIGRpZSBWYXJpYWJsZSBMQU5HIGF1ZgogICAgICAgICAgZWluZW4gV2VydCBzZXR6ZW4uIEJlaSBWZXJ3ZW5kdW5nIGRlciBCYXNoIGthbm4gZGllcwogICAgICAgICAgYmVpc3BpZWxzd2Vpc2UgZHVyY2ggRWluZ2FiZSBkZXMgZm9sZ2VuZGVuIEJlZmVobHMKICAgICAgICAgIGdlc2NoZWhlbjogZXhwb3J0IExBTkc9ZGVfREUuCiAgICAgICAgICAKICAgV0lORSBmdW5rdGlvbmllcnQgaW1tZXIgbm9jaCBuaWNodAogICAgICAgICAgV2VubiBTaWUgV0lORSBhdWYgZGllIGJlc2NocmllYmVuZSBBcnQgaW5zdGFsbGllcnQgaGFiZW4sCiAgICAgICAgICBzb2xsdGVuIFNpZSD8YmVycHL8ZmVuLCBkYXNzIHNpY2ggbmljaHQgZ2xlaWNoemVpdGlnIG5vY2gKICAgICAgICAgIGVpbmUgYW5kZXJlLCDkbHRlcmUgVmVyc2lvbiBkZXMgUHJvZ3JhbW1zIGF1ZiBkZW0gUmVjaG5lcgogICAgICAgICAgYmVmaW5kZXQsIHdlbGNoZXMgdS5VLiB2b24gSWhyZXIgRGlzdHJpYnV0aW9uIG1pdGluc3RhbGxpZXJ0CiAgICAgICAgICB3dXJkZS4gRGllcyBr9m5udGUgbuRtbGljaCBkYXp1IGb8aHJlbiwgZGFzcyB2ZXJzdWNodCB3aXJkLAogICAgICAgICAgaW5rb21wYXRpYmxlIEJpYmxpb3RoZWtlbiB6dSBsYWRlbi4KICAgICAgICAgIAogICBXaW5kb3dzLSB1bmQgV2luZG93cy9zeXN0ZW0tVmVyemVpY2huaXMgc2luZCBuaWNodCByaWNodGlnIGFuZ2VnZWJlbgogICAgICAgICAgRGllIE1lbGR1bmcgSW52YWxpZCBwYXRoICdjOlx3aW5kb3dzJyBmb3Igd2luZG93cyBkaXJlY3RvcnkKICAgICAgICAgIGJlc2FndCwgZGFzcyBpbSBBYnNjaG5pdHQgV0lORSBkZXIgS29uZmlndXJhdGlvbnNkYXRlaSBtaXQKICAgICAgICAgIGRlciBWYXJpYWJsZW4gV2luZG93cyBlaW4gV2luZG93cy1WZXJ6ZWljaG5pcyBhbmdlZ2ViZW4KICAgICAgICAgIHd1cmRlLCB3ZWxjaGVzIG5pY2h0IGV4aXN0aWVydC4gRXMgaXN0IGRhbm4genUg/GJlcnBy/GZlbiwKICAgICAgICAgIG9iIGRhcyBXaW5kb3dzLVZlcnplaWNobmlzIHZvcmhhbmRlbiBpc3QgdW5kIG9iIGRhcwogICAgICAgICAgTGF1ZndlcmssIGF1ZiBkZW0gZXMgc2ljaCBiZWZpbmRldCwgZGVtIHJpY2h0aWdlbgogICAgICAgICAgVU5JWC1WZXJ6ZWljaG5pcyB6dWdlb3JkbmV0IGlzdC4KICAgICAgICAgIAogICBEaWUgWnVvcmRudW5nZW4gZGVyIExhdWZ3ZXJrc2J1Y2hzdGFiZW4gc3RpbW1lbiBuaWNodAogICAgICAgICAgV2VubiBiZWltIFN0YXJ0IHZvbiBXSU5FIE1lbGR1bmdlbiB3aWUgV2FybmluZzoKICAgICAgICAgIC92YXIvd2lucm9vdC93aW5kb3dzL3NvbC5leGUgbm90IGFjY2Vzc2libGUgZnJvbSBhIERPUyBkcml2ZQogICAgICAgICAgYXVzZ2VnZWJlbiB3ZXJkZW4sIHRlaWx0IFdJTkUgbWl0LCBkYXNzIGRhcyBhdXN6dWb8aHJlbmRlCiAgICAgICAgICBQcm9ncmFtbSBzaWNoIGluIGVpbmVtIFZlcnplaWNobmlzIGJlZmluZGV0LCBkYXNzIGF1ZmdydW5kCiAgICAgICAgICBkZXIgWnVvcmRudW5nZW4gaW4gZGVyIEtvbmZpZ3VyYXRpb25zZGF0ZWkgbWl0IGtlaW5lbQogICAgICAgICAgTGF1ZndlcmsgYXNzb3ppaWVydCBpc3QuIEVzIHNvbGx0ZW4gZGFubiBkaWUKICAgICAgICAgIExhdWZ3ZXJrc3p1b3JkbnVuZ2VuIPxiZXJwcvxmdCB3ZXJkZW4uCiAgICAgICAgICAKICAgV2luZG93cy1Qcm9ncmFtbWUgZmluZGVuIEVpbnN0ZWxsdW5nZW4gdW5kIEJpYmxpb3RoZWtlbiBuaWNodAogICAgICAgICAgV2VubiBXSU5FIG1pdCBlaW5lciBiZXN0ZWhlbmRlbiBXaW5kb3dzLUluc3RhbGxhdGlvbiBiZW51dHp0CiAgICAgICAgICB3aXJkLCBpc3QgZXMgZXJmb3JkZXJsaWNoLCBkYXNzIGRpZSBMYXVmd2Vya3NidWNoc3RhYmVuCiAgICAgICAgICB1bnRlciBXaW5kb3dzIHVuZCBXSU5FIPxiZXJlaW5zdGltbXRlbi4gRmFsbHMgZWluIFByb2dyYW1tCiAgICAgICAgICBu5G1saWNoIGJlaXNwaWVsc3dlaXNlIGluIGRlciBSZWdpc3RyYXR1ciBnZXNwZWljaGVydCBoYXQsCiAgICAgICAgICBkYXNzIHNpY2ggZWluZSBiZXN0aW1tdGUgS29tcG9uZW50ZSBpbSBWZXJ6ZWljaG5pcwogICAgICAgICAgQzpcV2luZG93c1xTeXN0ZW0gYmVmaW5kZXQsIGRhbm4gaXN0IGVzIGVyZm9yZGVybGljaCwgZGFzcwogICAgICAgICAgZGllc2VzIFByb2dyYW1tIGRpZSBLb21wb25lbnRlIGF1Y2ggdW50ZXIgV0lORSBpbiBkZW0gc2VsYmVuCiAgICAgICAgICBWZXJ6ZWljaG5pcyBmaW5kZXQuIEVzIGlzdCBqZWRvY2ggbfZnbGljaCBtaXQgV0lORQogICAgICAgICAgenVz5HR6bGljaGUgTGF1ZndlcmtlIHp1IHZlcndlbmRlbiAoYWxzbyB6LkIuIGRhcyBlaWdlbmUKICAgICAgICAgIEhlaW1hdHZlcnplaWNobmlzIGVpbmVtIExhdWZ3ZXJrc2J1Y2hzdGFiZW4genV6dW9yZG5lbiksIGRpZQogICAgICAgICAgdW50ZXIgV2luZG93cyBuaWNodCB2b3JoYW5kZW4gc2luZC4KICAgICAgICAgIAogICBTcGllbGUgd2VyZGVuIGltIEZlbnN0ZXIgZGFyZ2VzdGVsbHQsIG9id29obCBWb2xsYmlsZCBhdXNnZXfkaGx0IHd1cmRlCiAgIHVuZCBzaW5kIHp1IGxhbmdzYW0KCiAgICAgICAgICBEaWUgbWVpc3RlbiBTcGllbGUgYmVudXR6ZW4gZWluZW4gYmVzdGltbXRlIEZhcmJ0aWVmZSwgaW4KICAgICAgICAgIGRpZSBXaW5kb3dzIHVtc2NoYWx0ZXQsIHdlbm4gZGFzIGJldHJlZmZlbmRlIFNwaWVsIGdlc3RhcnRldAogICAgICAgICAgd2lyZC4gIE1pdCBkZW0gWCBXaW5kb3cgU3lzdGVtIGlzdCBlcyBsZWlkZXIgbmljaHQgbfZnbGljaAogICAgICAgICAgZGllIEZhcmJ0aWVmZSB35GhyZW5kIGRlcyBsYXVmZW5kZW4gQmV0cmllYnMgenUg5G5kZXJuLAogICAgICAgICAgd2Vzd2VnZW4gV0lORSBkaWUgZ2V3/G5zY2h0ZSBGYXJidGllZmUgaW4gZWluZW0gRmVuc3RlcgogICAgICAgICAgZW11bGllcmVuIG11c3MsIGZhbGxzIGRlciBYLVNlcnZlciBuaWNodCBpbiBkZXIgcmljaHRpZ2VuCiAgICAgICAgICBGYXJidGllZmUgbOR1ZnQuICBEYWR1cmNoIHdpcmQgc2VociB2aWVsIFJlY2hlbmxlaXN0dW5nCiAgICAgICAgICBiZW72dGlndCB1bmQgYXXfZXJkZW0ga2FubiBuaWNodCBpbiBlaW5lbiBWb2xsYmlsZG1vZHVzCiAgICAgICAgICBnZXNjaGFsdGV0IHdlcmRlbi4gQWJoaWxmZSBzY2hhZmZ0IGhpZXIgbnVyLCBkZW4gWC1TZXJ2ZXIgaW4KICAgICAgICAgIGRlciByaWNodGlnZW4gRmFyYnRpZWZlIHp1IHN0YXJ0ZW4sIGJldm9yIFdJTkUgYXVmZ2VydWZlbgogICAgICAgICAgd2lyZC4gSGllcnp1IGRpZW5lbiBkaWUgT3B0aW9uZW4gLWJwcCwgYmVpIFgtU2VydmVybiBkZXMKICAgICAgICAgIFhGcmVlODYtUHJvamVrdHMgZGVyIFZlcnNpb25zZmFtaWxpZSAzLjMueCBiencuIC1kZXB0aCBpbgogICAgICAgICAgZGVyIFZlcnNpb25zZmFtaWxpZSA0LjApIEdlbGVnZW50bGljaCBlbXBmaWVobHQgZXMgc2ljaAogICAgICAgICAgYXVjaCwgZWluZW4gendlaXRlbiBYLVNlcnZlciB6dSBzdGFydGVuLCB3YXMgYW0gZWluZmFjaHN0ZW4KICAgICAgICAgIG1pdCBkZW0gQmVmZWhsIHhpbml0KDEpIGdlc2NoZWhlbiBrYW5uLiBVbSBiZWlzcGllbHN3ZWlzZQogICAgICAgICAgZGFzIFByb2dyYW1tIHEydGVzdC5leGUgbWl0IFdJTkUgYXVmIGVpbmVtIHp3ZWl0ZW4gWC1TZXJ2ZXIKICAgICAgICAgIG1pdCBlaW5lciBGYXJidGllZmUgdm9uIDggQml0IHBybyBQaXhlbCBhdXMgZGVtIGFrdHVlbGxlbgogICAgICAgICAgQXJiZWl0c3ZlcnplaWNobmlzIHp1IHN0YXJ0ZW4sIGv2bm50ZSBkZXIgZm9sZ2VuZGUgQmVmZWhsCiAgICAgICAgICBiZW51dHp0IHdlcmRlbjoKICAgICAgICAgIAogICAgICAgICAgeGluaXQgL3Vzci9sb2NhbC9iaW4vV0lORSBxMnRlc3QuZXhlIC0tZGlzcGxheSA6MSAtLSAtYnBwIDggOjEKICAgICAgICAKICAgICAgICAgIEZhbGxzIHNpY2ggV0lORSBpbiBlaW5lbSBhbmRlcmVuIFZlcnplaWNobmlzIGFscwogICAgICAgICAgL3Vzci9sb2NhbC9iaW4gYmVmaW5kZXQsIGlzdCBkZXIgQmVmZWhsIG5hdPxybGljaAogICAgICAgICAgZW50c3ByZWNoZW5kIGFuenVwYXNzZW4uCiAgICAgICAgICAKICAgRGVyIERHQS1Nb2R1cyBmdW5rdGlvbmllcnQgbmljaHQsIG9id29obCBYIGluIGRlciByaWNodGlnZW4KICAgRmFyYnRpZWZlIGF1c2dlZvxocnQgd2lyZDsgU3BpZWxlIHNpbmQgaW1tZXIgbm9jaCBsYW5nc2FtCiAgICAgICAgICBEaWUgVmVyd2VuZHVuZyB2b24gREdBIGlzdCBub3JtYWxlcndlaXNlIG51ciBkZW0KICAgICAgICAgIFN5c3RlbWFkbWluaXN0cmF0b3IgZ2VzdGF0dGV0LCBkYXMgYmV0cmVmZmVuZGUgUHJvZ3JhbW0gbXVzcwogICAgICAgICAgYWxzbyBtaXQgZGVzc2VuIFJlY2h0ZW4gYXVzZ2Vm/GhydCB3ZXJkZW4uIEFsdGVybmF0aXYgZGF6dQogICAgICAgICAgcmVpY2h0IGVzIGF1Y2ggYXVzLCBCZW51dHplcm4gU2NocmVpYi0gdW5kIExlc2VyZWNodGUgYXVmCiAgICAgICAgICBkaWUgR2Vy5HRlZGF0ZWkgL2Rldi9rbWVtIHp1IGVydGVpbGVuLgogICAgICAgICAgCiAgIEVzIGlzdCBrZWluIFNvdW5kIHp1IGj2cmVuCiAgICAgICAgICBadW7kY2hzdCBzb2xsdGUg/GJlcnBy/GZ0IHdlcmRlbiwgb2IgZGllIFNvdW5kdW50ZXJzdPx0enVuZwogICAgICAgICAgZGVzIExpbnV4LUtlcm5lbHMgcmljaHRpZyBmdW5rdGlvbmllcnQsIGFsc28gb2IgZXMgbfZnbGljaAogICAgICAgICAgaXN0LCBtaXQgYW5kZXJlbiBMaW51eC1Qcm9ncmFtbWVuIGRpZSBTb3VuZGthcnRlIHp1CiAgICAgICAgICB2ZXJ3ZW5kZW4uIEltIG7kY2hzdGVuIFNjaHJpdHQga2FubiD8YmVycHL8ZnQgd2VyZGVuLCBvYiBkaWUKICAgICAgICAgIFNvdW5kLUhhcmR3YXJlIHZvbiBlaW5lbSBhbmRlcmVuIFByb2dyYW1tIGJlbnV0enQgd2lyZCB1bmQKICAgICAgICAgIFdJTkUgZGVzd2VnZW4gbmljaHQgZGFyYXVmIHp1Z3JlaWZlbiBrYW5uLgogICAgICAgICAgCldlaXRlcmb8aHJlbmRlIEluZm9ybWF0aW9uZW4KCiAgIERpZSB6ZW50cmFsZSBXZWItQWRyZXNzZSBm/HIgSW5mb3JtYXRpb25lbiB6dSBXSU5FIGlzdAogICBodHRwOi8vd3d3LndpbmVocS5jb20uIERvcnQgYmVmaW5kZW4gc2ljaCBMaW5rcyB6dSB2aWVsZW4gd2VpdGVyZW4KICAgRG9rdW1lbnRlbiwgd2llIGVpbmVtIFdJTkUtRkFRLCBlaW5lbSBXSU5FLUhPV1RPLCBlaW5lciBBbmxlaXR1bmcgenVtCiAgIEVyc3RlbGxlbiB2b24gRmVobGVyYmVyaWNodGVuIHVuZCB2aWVsZXMgbWVoci4K