MS4gSU5UUk9EVcfDTwoKV2luZSDpIHVtIHByb2dyYW1hIHF1ZSBwZXJtaXRlIGNvcnJlciBwcm9ncmFtYXMgTWljcm9zb2Z0IFdpbmRvd3MgCihpbmNsdWluZG8gRE9TLCBXaW5kb3dzIDMueCBlIFdpbjMyIGV4ZWN1dOF2ZWlzKSBlbSBVbml4LgpDb25zaXN0ZSBudW0gY2FycmVnYWRvciAobG9hZGVyKSwgcXVlIGNhcnJlZ2EgZSBleGVjdXRhIHVtIGJpbuFyaW8gCk1pY3Jvc29mdCBXaW5kb3dzLCBlIHVtYSBsaXZyYXJpYSAoY2hhbWFkYSBXaW5lbGliKSBxdWUgaW1wbGVtZW50YSAKV2luZG93cyBBUEkgY2FsbHMgdXNhbmRvIG8gVW5peCBvdSBYMTEgZXF1aXZhbGVudGVzLiBBIGxpdnJhcmlhIHRhbWLpbSAKcG9kZSBzZXIgdXNhZGEgcGFyYSAicG9ydGluZyIgV2luMzIgY/NkaWdvIHBhcmEgZXhlY3V04XZlaXMgZG8gbmF0aXZvIFVuaXggLgoKV2luZSDpIHNvZnR3YXJlIGdy4XRpcyxhdXRvcml6YWRvIHNlZ3VuZG8gYSBHTlUgTEdQTDsgdmVyIG8gZmljaGVpcm8gCkxJQ0VOx0EgcGFyYSBvcyBkZXRhbGhlcy4KCjIuQVJSQU5RVUUgUsFQSURPCgpTZW1wcmUgcXVlIHNlIGNvbXBpbGEgZGEgc291cmNlLCDpIHJlY29tZW5kYWRvIHF1ZSBzZSB1c2UgbyBXaW5lIApJbnN0YWxsZXIgcGFyYSBjb25zdHJ1aXIgZSBpbnN0YWxhciBvIFdpbmUuIERlc2RlIGEgcHJpbWVpcmEgZGlyZWN0b3JpYSAKZG8gV2luZSBzb3VyY2UgKHF1ZSBjb2506W0gZXN0ZSBmaWNoZWlybyksY29ycmU6CgouL3Rvb2xzL3dpbmVpbnN0YWxsCgpDb3JyZSBvcyBwcm9ncmFtYXMgY29uZm9ybWUgYXMgIndpbmUgW29wdGlvbnNdIHByb2dyYW0iLiBQYXJhIG1haXMgCmluZm9ybWHn9WVzIGUgcmVzb+d15+NvIGRlIHByb2JsZW1hcy4gTOogbyByZXN0byBkZXN0ZSBmaWNoZWlybywgYSBXaW5lIAptYW4gcGFnZSwgb3MgZmljaGVpcm9zIGluY2x1aWRvcyBuYSBkaXJlY3RvcmlhIGRlIGRvY3VtZW50YefjbyAgZG8gV2luZSAKc291cmNlICh2ZXIgIkRPQ1VNRU5UQVRJT04iKSwgZSBlc3BlY2lhbG1lbnRlIGEgYWJ1bmTibmNpYSBkZSBpbmZvcm1h5+NvIAplbmNvbnRyYWRhIGVtIGh0dHA6Ly93d3cud2luZWhxLmNvbS4KCjMuUkVRVUVSSU1FTlRPUwoKUGFyYSBjb21waWxhciBlIGNvcnJlciBvIFdpbmUsIGRldmVzIHRlciBvIHNlZ3VpbnRlOgoKCQlMaW51eCB2ZXJzaW9uIDIuMC4zNiBvdSBzdXBlcmlvcgoJCUZyZWVCU0QgNC54IG91IEZyZWVCU0QgNS1DVVJSRU5UCgkJU29sYXJpcyB4ODYgMi41IG91IHNlZ3VpbnRlCgkJTmV0QlNELWN1cnJlbnQKCkxpbnV4IGluZm86CkNvbnR1ZG8gbyBMaW51eCB2ZXJz428gMi4wLnggaXLhIHNvYnJldHVkbyB0cmFiYWxoYXIsIGNlcnRvcyBhc3BlY3RvcyAKKGVzcGVjaWZpY2FtZW50ZSBMRFQgICAgICBzaGFyaW5nKSByZXF1ZXNpdGFkbyBwYXJhIHByb3ByaWFtZW50ZSAKc3Vwb3J0YXIgIHNlcXXqbmNpYXMgV2luMzIgbuNvIGZvcmFtIGltcGxlbWVudGFkYXMgYXTpIGEgdmVyc+NvIGRvIAprZXJuZWwgMi4yLiBTZSB0aXZlcmVzIHF1ZWJyYXMgKGNyYXNoZXMpIGNvbSB1bWEgY2VydGEgc2VxdepuY2lhIG91IHF1ZSAKZXN0ZWphbSByZWxhY2lvbmFkb3MsIHR1IHBvZGVyYXMgcXVlcmVyIGZhemVyIG8gdXBncmFkZSBwZWxvIG1lbm9zIGF06SBhIAp2ZXJz428gMi4yLgpUYW1i6W0sIGFsZ3VucyBidWdzIGZvcmFtIGFycmFuamFkb3MgZSBjZXJ0YXMgZnVuY2lvbmFsaWRhZGVzIGZvcmFtIAp0YXJkaWFtZW50ZSBhZGljaW9uYWRhcyBuYXMgc+lyaWVzIGRvIExpbnV4IDIuMC54LCBlbnTjbyBzZSB0aXZlcmVzIHVtIApMaW51eCBLZXJuZWwgbXVpdG8gYW50aWdvLnNlcuEgbWVsaG9yIGZhemVyIG8gdXBncmFkZSBhdOkgYW8gbGFu52FtZW50byAKZGEgdmVyc+NvIDIuMC54LgoKRnJlZUJTRCBpbmZvOgpDZXJ0aWZpY2FyLXNlIHF1ZSB0ZW0gYXMgb3Dn9WVzIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNOyBlIFNZU1ZNU0csIApsaWdhZGFzIGFvIGtlcm5lbC4gTWFpcyBpbmZvcm1h5+NvCmVuY29udHJhLXNlIGVtOiAKZnRwOi8vZnRwLmZyZWVic2Qub3JnL3B1Yi9GcmVlQlNEL3BvcnRzL3BvcnRzL2VtdWxhdG9ycy93aW5lLwoKClNvbGFyaXMgaW5mbzoKVHUgaXLhcyBwcm92YXZlbG1lbnRlIHRlciBxdWUgY29udHJ1aXIgbyBXaW5lIGNvbSBhcyBmZXJyYW1lbnRhcyBHTlUgCihnY2MsIGdhcywgZXRjLikuIEF2aXNvOiBhbyBpbnN0YWxhciBnYXMgKm7jbyogYXNzZWd1cmEgcXVlIHNlcuEgdXNhZG8gCnBlbG8gZ2NjLiBSZWNvbXBpbGFyIG8gZ2NjIGRlcG9pcyBkZSBpbnN0YWxhciBvIGdhcyBvdSBzeW1raW5nIGNjLCBhcyBlIApsZCBwYXJhIGFzIGZlcnJhbWVudGFzIGdudSDpIGRpdG8gcXVlIOkgbmVjZXNz4XJpby4KCk5ldEJTRCBpbmZvOgpDZXJ0aWZpY2EtdGUgcXVlIHRlbnMgYXMgb3Dn9WVzIFVTRVJfTERULCBTWVNWU0hNLCBTWVNWU0VNLCBlIFNZU1ZNU0cgCmxpZ2FkYXMgYW8gdGV1IGtlcm5lbC4KCkZpbGUgc3lzdGVtcyBpbmZvOgpPIFdpbmUgZGV2ZXLhIGNvcnJlciBuYSBtYWlvcmlhIGRvcyBmaWxlIHN5c3RlbXMuIENvbnR1ZG8sIG8gV2luZSBmYWxoYSAKbm8gYXJhbnF1ZSBzZSB1bXNkb3Mg6SB1c2FkbyBwYXJhIGEgZGlyZWN0b3JpYSAvdG1wLiBBbGd1bnMgcHJvYmxlbWFzIGRlIApjb21wYXRpYmlsaWRhZGVzIGZvcmFtIHJlbGF0YWRvcyBlc3RhbmRvIGEgdXNhciBmaWNoZWlyb3MgYWNlc3NhZG9zIAphdHJhdulzIGRvIFNhbWJhLiBUYW1i6W0sIGNvbW8gbyBOVEZTIGFwZW5hcyBwb2RlIHNlciB1c2FkbyBjb20gCnNlZ3VyYW7nYSBjb20gYWNlc3NvIHJlYWRvbmx5IHBvciBhZ29yYSwgbvNzIG7jbyByZWNvbWVuZGFtb3MgbyB1c28gZGUgCk5URlMuIENvbW8gb3MgcHJvZ3JhbWFzIGRlIFdpbmRvd3MgcHJlY2lzYW0gZGUgYWNlc3NvIHdyaXRlIGVtIHF1YXNlIHR1ZG8uCk5vIGNhc28gZGUgTlRGUyBmaWxlcywgY29waWEgcG9yIGNpbWEgcGFyYSB1bWEgbG9jYWxpemHn428gZW0gcXVlIHNlIApwb3NzYSBlc2NyZXZlci4KCk8gV2luZSByZXF1ZXIgc2VxdepuY2lhcyBrZXJuZWwtbGV2ZWwgcGFyYSBwb2RlciBjb3JyZXIuIEFjdHVhbG1lbnRlLCAKYXBlbmFzIGFzIHZlcnP1ZXMgMi4wIG91IHN1cGVyaW9yZXMgZG8gTGludXguIEZyZWVCU0QgNC54IG91IHN1cGVyaW9yZXMsIApTb2xhcmlzIHg4NiB2ZXJz428gMi41IG91IHN1cGVyaW9yZXMsIGUgTmV0QlNELWFjdHVhbCBz428gc3Vwb3J0YWRvcy4KT3V0cm9zIHNpc3RlbWFzIG9wZXJhdGl2b3MgcXVlIHN1cG9ydGFtIHNlcXXqbmNpYXMga2VybmVsLCB0YWx2ZXogdmVuaGFtIAphIHNlciBzdXBvcnRhZG9zIG5vIGZ1dHVyby4KClR1IHByZWNpc2FzIGRlIHRlciBvIFgxMSBkZXZlbG9wbWVudCBxdWUgaW5jbHVhIGZ1Y2hlaXJvcyBpbnN0YWxhZG9zIAooY2hhbWFkb3MgeGxpYjZnLWRldiBlbSBEZWJpYW4gZSBYZnJlZTg2LWRldmVsIG5vIFJlZEhhdCkuClBhcmEgdXNhciBvIHN1cG9ydGUgZG8gV2luZSBwYXJhIGFwbGljYWP1ZXMgbXVsdGktc2VxdW5jaWFpLCBhcyB0dWFzIApsaXZyYXJpYXMgWCB06m0gcXVlIHNlciByZWVudHJhbnRlcywgcXVlIOkgcHJvdmF2ZWxtZW50ZSAiZGVmYXVsIiBwb3IgYWdvcmEuClNlIHR1IHRlbnMgbyBsaWJjNiAoZ2xpYmMyKSwgb3UgY29tcGlsYXN0ZSBhcyBsaWJyYXJpYXMgWCBwb3IgdGkgcHLzcmlvLCAKZWxlcyBmb3JhbSBwcm92YXZlbG1lbnRlIGNvbXBpbGFkYXMgY29tIGEgb3Dn428gZGUgcmVlbnRy4m5jaWEgYWN0aXZhZGEuCgpFbSBzaXN0ZW1hcyB4ODYgbyBnY2MgPj0gMi43LjIg6SByZXF1ZXJpZG8uClZlcnP1ZXMgYW50ZXJpb3JlcyDgIDIuNy4yLjMgcG9kZXLjbyB0ZXIgcHJvYmxlbWFzIHF1YW5kbyBjZXJ0b3MgCmZpY2hlaXJvcyBz428gY29tcGlsYWRvcyBjb20gb3B0aW1pemHn428sIGZyZXF1ZW50ZW1lbnRlIGRldmlkbyBhIApwcm9ibGVtYXMgcmVsYWNpb25hZG9zIGNvbSBhcyBnZXN09GVzIGRvcyBjYWJl52FsaG9zIGRvcyBmaWNoZWlyb3MuIApBY3R1YWxtZW50ZSBvIHBnY2MgbuNvIHRyYWJhbGhhIGNvbSBvIFdpbmUuIEEgY2F1c2EgZGVzdGUgcHJvYmxlbWEg6SAKZGVzY29uaGVjaWRhLgoKQ2xhcm8gcXVlIHRhbWJtIHByZWNpc2FzIGZhemVyICJtYWtlIiAoZ2VyYWxtZW50ZSBjb21vIG8gR05VIG1ha2UpLgoKVHUgdGFtYultIG5lY2Vzc2l0YXMgZG8gZmxleCB2ZXJzYW8gMi41IG91IHN1cGVyaW9yIGUgbyB5YWNjLgpCaXNvbiBpcuEgdHJhYmFsaGFyIGNvbW8gc3Vic3RpdHVp5+NvIGRvIHlhY2MuIFNlIGVzdGl2ZXJlcyBhIHVzYXIgClJlZEhhdCBvdSBEZWJpYW4sIGluc3RhbGEgb3MgcGFjb3RlcyBkbyBmbGV4IGUgZG8gYmlzb24uCgpQYXJhIG8gcHJvY2Vzc2FtZW50byBhdXRvbeF0aWNvIGRvcyBzY3JpcHRzIGRlIHRlc3RlLCB0dSB0YW1i6W0gaXLhcyAKcHJlY2lzYXIgZG8gbGlicGVybCAiZGV2ZWxvcG1lbnQgaGVhZGVyIHN1cHBvcnQiIChwYWNvdGUgbGlicGVybC1kZXYgZW0gCkRlYmlhbikuCgpQYXJhIG9zIHJlcXVlc2l0b3Mgbm8gY2FzbyBkZSB0dSBxdWVyZXJlcyBjb250cnVpciBhIGRvY3VtZW50YefjbywgdmUgYSAKc2Vj5+NvICJET0NVTUVOVEHHw08iLgoKNC5DT01QSUxBx8NPCgpObyBjYXNvIGRlIGVzY29saGVyZXMgbuNvIHVzYXIgd2luZWluc3RhbGwsIGNvcnJlIG9zIHNlZ3VpbnRlcyBjb21hbmRvcyAKcGFyYSBjb250cnVpciBvIFdpbmU6CgouL2NvbmZpZ3VyZQptYWtlIGRlcGVuZAptYWtlCgpJc3RvIGly4SBjb250cnVpciBvIHByb2dyYW1hICJ3aW5lIiBlIG51bWVyb3NvcyBzdXBvcnRlcyBsaXZyYXJpcy9iaW5hcmlvcy4KTyBwcm9ncmFtYSAid2luZSIgaXLhIGNhcnJlZ2FyIGUgY29ycmVyIGV4ZWN1dGF2ZWlzIGRvIFdpbmRvd3MuCkEgbGl2cmFyaWEgImxpYndpbmUiICgid2luZWxpYiIpIHBvZGUgc2VyIHVzYWRhIHBhcmEgY29tcGlsYXIgZSBsaWdhciAKV2luZG93cyBzb3VyY2UgY29kZSBzb2IgbyBVbml4LgoKUGFyYSB2ZXIgYXMgb3Dn9WVzIGRlIGNvbXBpbGHn428gZGEgY29uZmlndXJh5+NvLCBmYXogLi9jb25maWd1cmUgLWhlbHAuCgpQYXJhIGZhemVyZXMgbyB1cGdyYWRlIGRlIHVtYSBub3ZhIHZlcnPjbyBhdHJhdmV6IGRlIHVtIGZpY2hlaXJvIHBhdGNoLCAKcHJpbWVpcm8gY2QgcGFyYSBhIGRpcmVjdG9yaWEgdG9wIGRhIGRpc3RyaWJ1aefjbyAoYSBxdWUgY29udGVtIGVzdGUgCmZpY2hlaXJvIFJFQURNRSkuIEEgc2VndWlyIGZheiB1bSAibWFrZSBjbGVhbiIsIGUgZmF6IG8gcGF0Y2ggZGEgCmRpc3RyaWJ1aefjbyBjb206CgoJZ3VuemlwIC1jIHBhdGNoLWZpbGUgfCBwYXRjaCAtcDEKCm9uZGUgInBhdGNoLWZpbGUiIOkgbyBub21lIGRvIGZpY2hlaXJvIHBhdGNoICggcXVhbHF1ZXIgY29pc2EgY29tbyAKV2luZS55eW1tZGQuZGlmZi5neikuIFR1IHBvZGVzIGVudGFvIGNvcnJlciBmYXplbmRvICIuL2NvbmZpZ3VyZSIsIGUgCmRlcG9pcyBjb3JyZSAibWFrZSBkZXBlbmQgJiYgbWFrZSIKCjUuU0VUVVAKClVtYSB2ZXogbyBXaW5lIGNvbnRydWlkbyBjb3JyZWN0YW1lbnRlLCB0dSBwb2RlcyBlbnRhbyBmYXplciBvICJtYWtlIAppbnN0YWxsIjsgaXN0byBpcuEgaW5zdGFsYXIgbyB3aW5lIGV4ZWN1dGF2ZWwsIG8gV2luZSBtYW4gcGFnZSwgZSBhbGd1bnMgCm91dHJvcyBmaWNoZWlyb3MgbmVjZXNz4XJpb3MuCgpO428gZXNxdWVjZXIgZGUgcHJpbWVpcm8gZGVzaW5zdGFsYXIgcXVhbHF1ZXIgcHJldmlvIGNvbmZsaXRvIHJlbGF0aXZvIGEgCmluc3RhbGHn428gZG8gV2luZS4KVGVudGEgb3V0cm8gImRwa2cgLXIgd2luZSIgb3UgInJwbSAtZSB3aW5lIiBvdSAibWFrZSB1bmluc3RhbGwiIGFudGVzIGRlIAppbnN0YWxsYXIuCgpPIFdpbmUgcmVxdWVyIHVtIGZpY2hlaXJvIGRlIGNvbmZpZ3VyYefjbyBjaGFtYWRvICJjb25maWciIG5hIGRpcmVjdG9yaWEgCi0vLndpbmUuIE8gZm9ybWF0byBkZXN0ZSBmaWNoZWlybyDpIGV4cGxpY2FkbyBubyBmaWNoZWlybyBjb25maWcgbWFuIApwYWdlIChkb2N1bWVudGF0aW9uL3dpbmUuY29uZi5tYW4pLgpPIGZpY2hlaXJvIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcgY29udOltIHVtIGV4ZW1wbG8gZGUgZmljaGVpcm8gZGUgCmNvbmZpZ3VyYedhbyBvIHF1YWwgdGVtIHF1ZSBzZXIgYWRhcHRhZG8gZSBjb3BpYWRvIHBhcmEgYSBsb2NhbGl6YefjbyAKbWVuY2lvbmFkYSBlbSBjaW1hLgoKVmVyIGh0dHA6Ly93d3cud2luZWhxLmNvbS9zdXBwb3J0LyBwYXJhIG1haXMgaW5mb3JtYefjbyBzb2JyZSBhIApjb25maWd1cmHnYW8uCgpObyBjYXNvIGRhIGxpdnJhcmlhIGNhcnJlZ2FyIGVycm9zIChlLmcuICJFcnJvciB3aGlsZSBsb2FkaW5nIHNoYXJlZCAKbGlicmFyaWVzOiBsaWJudGRsbC5zbyIpLCB0ZW0gYSBjZXJ0ZXphIGRlIGFkaWNpb25hciBvIGNhbWluaG8gZGEgCmxpdnJhcmlhIHBhcmEgL2V0Yy9sZC5zby5jb25mIGUgY29ycmVyIGxkY29uZmlnIGNvbW8gcm9vdC4KClBhcmEgdmVyaWZpY2FyIGEgY29ycmVj5+NvIGRvIGFtYmllbnRlLCB0dSBwcmVjaXNhcyBwYXJhIHF1ZSBvIFdpbmUgCmNvcnJhIGNvbSBzdWNlc3NvLCB0dSBwb2RlcyBjb3JyZXIgIi4vdG9vbHMvd2luZWNoZWNrIHwgbGVzcyIuClR1IGly4XMgb2J0ZXIgdW1hIHBlcmNlbnRhZ2VtIGRvIHJlc3VsdGFkbyBpbmRpY2FuZG8gIldpbmUgY29uZmlndXJhdGlvbiAKY29ycmVjdG5lc3MiLgpDb21vIGVzdGUgcHJvZ3JhbWEg6SBhbHBoYSwgYWluZGEgbuNvIGNvcnJldSB1bSB2ZXJkYWRlaXJvIGUgZXhhdXN0aXZvIAp0ZXN0ZSwgb25kZSwgZW50428gZGV2ZSBzZXIgbGV2YWRvIGFwZW5hcyBjb21vIHVtIHByaW1laXJvIHBhc3NvIGRlIAp2ZXJpZmljYefjby4KClZlciB3aW5lLmNvbmZtYW4gcGFnZSwgY29tbyBzZSBtdWRhIGFwZW5hcyBwYXJhIG8gc3Vwb3J0ZSBlbSBtb2RvIHRleHRvIApzZSBkZXNlamFkby4KCjYuQ09SUkVSIFBST0dSQU1BUwoKUXVhbmRvIGUgaW52b2NhIG8gV2luZSwgdGVucyBxdWUgZXNwZWNpZmljYXIgbyBjYW1pbmhvIChwYXRjaCkgY29tcGxlY3RvIApkbyBleGVjdXRhdmVsLCBvdSBhcGVuYXMgbyBub21lIGRvIGZpY2hlaXJvLgoKUG9yIGV4ZW1wbG86ICBwYXJhIGNvcnJlciBvIFNvbGl04XJpbzoKCXdpbmUgc29sCQkJKHVzYW5kbyBvIHNlYXJjaHBhdGNoIHBhcmEgbG96YWxpemFyIG8gZmljaGVpcm8pCgl3aW5lIHNvbC5leGUKCgl3aW5lIGM6XFx3aW5kb3dzXFxzb2wuZXhlCSh1c2FuZG8gdW0gbm9tZSBkZSBmaWNoZWlybyBET1MpCgoJd2luZSAvdXNyL3dpbmRvd3Mvc29sLmV4ZQkodXNhbmRvIHVtIG5vbWUgZGUgZmljaGVpcm8gVW5peCkKCk5vdGE6IG8gY2FtaW5obyBkbyBmaWNoZWlybyB0YW1i6W0gaXLhIHNlciBhZGljaW9uYWRvIGFvIGNhbWluaG8ocGF0Y2gpIApxdWFuZG8gdW0gbm9tZSBjb21wbGVjdG8g6SBmb3JuZWNpZG8gbmEgbGluaGEgZGUgY29tYW5kby4KCk8gV2luZSBhaW5kYSBu428gZXN04SBjb21wbGVjdG8uZW50428gcG9kZXLjbyB24XJpb3MgcHJvZ3JhbWFzIApxdWVicmFyKGNyYXNoKS4gUHJvdmlkZW5jaWFtb3MtdGUgYmVtIHBhcmEgcXVlIG8gd2luZWRiZyBlc3RlamEgCmNvcnJlY3RhbWVudGUgZSBkZSBhY29yZG8gY29tIGEgZG9jdW1lbnRhdGlvbi9kZWJ1Z2dlci5zZ21sLCBzZXJhLXRlIApkYWRvIHVtIGRldGVjdG9yIGRlIGVycm9zIChkZWJ1Z2dlcikgcGFyYSBxdWUgcG9zc2FzIGludmVzdGlnYXIgZSAKY29ycmlnaXIgb3MgcHJvYmxlbWFzLgpQYXJhIG1haXMgaW5mb3JtYefjbyBjb21vIGVtIGZhemVyIGlzdG8gb3UgYXF1aWxvLCBwb3IgZmF2b3IgbOogbyAKZmljaGVpcm8gZG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcuc2dtbC4KClR1IGRldmVzIGZhemVyIHVtIGJhY2t1cCBkZSB0b2RvcyBvcyB0ZXVzIGZpY2hlaXJvcyBpbXBvcnRhbnRlcyBlbSBxdWUgCmRlc3RlcyBhY2Vzc28gYW8gV2luZSwgb3UgdXNhIHVtYSBlc3BlY2lhbCBj83BpYSBkZWxlcy50ZW0gaGF2aWRvIGNhc29zIApkZSBjZXJ0b3MgdXNlcnMgcXVlIHTqbSBmZWl0byByZWxhdG9zIGRlIGZpY2hlaXJvcyBjb3Jyb25waWRvcy4gTuNvIApjb3JyYXIgbyBFeHBsb3JlciwgcG9yIGV4ZW1wbG8sIHNlIG7jbyB0aXZlcmVzIHVtIGJhY2t1cCBwcvNwcmlvLCBxdWUgCnBvciB2ZXplcyByZW5vbWVpYSBlIGVzdHJhZ2EgYWxndW1hcyBkaXJlY3Rvcmlhcy4gTmVtIHRvZG9zIG9zIE1TIGFwcHMgCmNvbW8gbyBlLmcuIE1lc3NlbmdlciBz428gc2VndXJvcywgYW8gY29ycmVyZW0gbyBFeHBsb3JlciBkZSBhbGd1bWEgCm1hbmVpcmEuIEVzdGUgY2FzbyBwYXJ0aWN1bGFyIGRlIGNvcnJ1cGXnYW8gKCEkISQhJCEkLnBmcikgcG9kZW0gYW8gCm1lbm9zIHBhcmNpYWxtZW50ZSBwb2RlbSBzZXIgY29ycmlnaWRvcyB1c2FuZG8KaHR0cDovL2hvbWUubmV4Z28uZGUvYW5kaS5tb2hyL2Rvd25sb2FkL2RlY29ycnVwdF9leHBsb3JlcgoKNy5ET0NVTUVOVEHHw08KCkFsZ3VtYSBkb2N1bWVudGHn428gKHbhcmlvcyBnaXVhcyBkZSBXaW5lZXRjLikgcG9kZW0gc2VyIGVuY29udHJhZG9zIG5hIApkaXJlY3RvcmlhIGRvY3VtZW50YXRpb24vIChhcGFydGUgZGUgdGFtYultIGVzdGFyIGRpc3Bvbu12ZWwgZW0gV2luZUhRKS4KClNlIHF1aXNlcmVzIGzhIHByb2Nlc3NhciBmaWNoZWlyb3MgU0dNTCwgZW50428gcG9kZXMgY29ycmVyICJtYWtlIGRvYyIgCm5hIGRpcmVjdG9yaWEgZG9jdW1lbnRhdGlvbi8KRmF6ZXIgaXN0byByZXF1ZXIgcXVlIG9zIHBhY290ZXMgZGFzIGZlcnJhbWVudGFzIHNnbWwgKHBhcmEgZGIyaHRtbCwgCmRiMnBzLCBkYjJwZGYpIGNoYW1hZG9zOgpEZWJpYW46CQlkb2Nib29rLXV0aWxzCk1hbmRyYWtlOiAJCXNnbWwtdG9vbHMtQS5CLkMtRERtZGsKU3VTZToJCWRvY2JrdGxzLUEuQkIuQy1ERAoKOC5BUlJBTkpBUiBNQUlTIElORk9STUHHw08KCnd3dzoJVW1hIGdyYW5kZSBxdWFudGlkYWRlIGRlIGluZm9ybWHn428gYWNlcmNhIGRvIFdpbmUgZXN04SBkaXNwb25pdmVsIAogICAgICAgIHBlbG8gV2luZUhRIGVtIGh0dHA6Ly93d3cud2luZWhxLmNvbS8gOiB2YXJpb3MgZ3VpYXMgV2luZSwgYmFzZSBkZSAgCiAgICAgICAgZGFkb3MgZGUgYXBsaWNh5/VlcywgbG9jYWxpemHnYW8gZGUgZXJyb3MuIElzdG8g6SBwcm92YXZlbG1lbnRlIG8gCiAgICAgICAgbWVsaG9yIHBvbnRvIGRlIGNvbWXnby4KCkZBUToJQSBXaW5lIEZBUSBlc3ThIGxvY2FsaXphZGEgZW0gaHR0cDovL3d3dy53aW5laHEuY29tL0ZBUQoKVXNlbmV0OglUdSBwb2RlcyBkaXNjdXRvciB083BpY29zIHJlbGFjaW9uYWRvcyBkZSBXaW5lIGUgb2J0ZXIgYWp1ZGEgZW0KCWNvbXAuZW11bGF0b3JzLm1zLXdpbmRvd3Mud2luZS4KCklSQzoJQWp1ZGEgb25saW5lIGVzdOEgZGlzcG9uaXZlbCBlbSAjV2luZUhRIG9uIGlyYy5mcmVlbm9kZS5uZXQuCgoKQ1ZTOglPIGN1cnJlbnRlIGRlc2Vudm9sdmltZW50byBkbyBXaW5lIGVzdOEgZGlzcG9uaXZlbCBwb3IgQ1ZTLgoJVmFpIGEgaHR0cDovL3d3dy53aW5laHEuY29tL2N2cyBwYXJhIG1haXMgaW5mb3JtYefjby4KCk1haWxpbmcgTGlzdHM6CglI4SBhbGd1bWFzIG1haWxpbmcgbGlzdCBwYXJhIHJlc3BvbnNhdmVpcyBwZWxvIGRlc2Vudm9sdmltZW50byBXaW5lOyB2ZXIgZW0KCWh0dHA6Ly93d3cud2luZWhxLmNvbS9mb3J1bXMgcGFyYSBtYWlzIGluZm9ybWHn428uCgpTZSB0dSBhY3Jlc2NlbnRhc3RlIGFsZ28sb3UgY29ycmlnaXN0ZSB1bSBidWcsIHBvciBmYXZvciBlbnZpYSB1bSBwYXRjaCAKKGVtICdkaWZmIC11JyBmb3JtYXQpIHBhcmEgd2luZS1wYXRjaGVzX2F0X3dpbmVocS5jb20gbGlzdGEgcGFyYSBpbmNsdXPjbyAKbm8gcHLzeGltbyBsYW7nYW1lbnRvLgo=