f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAACgBwAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIHBwcm9mOwpwa2dwYXRoIHJ1bnRpbWUvcHByb2Y7CnByaW9yaXR5IDc7CmltcG9ydCBidWZpbyBidWZpbyAiYnVmaW8iOwppbXBvcnQgYnl0ZXMgYnl0ZXMgImJ5dGVzIjsKaW1wb3J0IGZtdCBmbXQgImZtdCI7CmltcG9ydCBpbyBpbyAiaW8iOwppbXBvcnQgcnVudGltZSBydW50aW1lICJydW50aW1lIjsKaW1wb3J0IHNvcnQgc29ydCAic29ydCI7CmltcG9ydCBzdHJpbmdzIHN0cmluZ3MgInN0cmluZ3MiOwppbXBvcnQgc3luYyBzeW5jICJzeW5jIjsKaW1wb3J0IHRhYndyaXRlciB0ZXh0L3RhYndyaXRlciAidGV4dC90YWJ3cml0ZXIiOwppbml0IHBwcm9mIHJ1bnRpbWVfcHByb2YuLmltcG9ydCA3IG1hdGggbWF0aC4uaW1wb3J0IDEgcnVudGltZSBydW50aW1lLi5pbXBvcnQgMSB1bmljb2RlIHVuaWNvZGUuLmltcG9ydCAxIHN0cmNvbnYgc3RyY29udi4uaW1wb3J0IDIgc3luYyBzeW5jLi5pbXBvcnQgMiBpbyBpby4uaW1wb3J0IDMgcmVmbGVjdCByZWZsZWN0Li5pbXBvcnQgMyBzeXNjYWxsIHN5c2NhbGwuLmltcG9ydCAzIGJ5dGVzIGJ5dGVzLi5pbXBvcnQgNCB0aW1lIHRpbWUuLmltcG9ydCA0IGJ1ZmlvIGJ1ZmlvLi5pbXBvcnQgNSBvcyBvcy4uaW1wb3J0IDUgdGFid3JpdGVyIHRleHRfdGFid3JpdGVyLi5pbXBvcnQgNSBmbXQgZm10Li5pbXBvcnQgNjsKZnVuYyBMb29rdXAgKG5hbWUgPHR5cGUgLTE2PikgPHR5cGUgMSAqPHR5cGUgMiAiUHJvZmlsZSIgPHR5cGUgMyBzdHJ1Y3QgeyAucnVudGltZS9wcHJvZi5uYW1lIDx0eXBlIC0xNj47IC5ydW50aW1lL3Bwcm9mLm11IDx0eXBlIDQgInN5bmMuTXV0ZXgiIDx0eXBlIDUgc3RydWN0IHsgLnN5bmMuc3RhdGUgPHR5cGUgLTM+OyAuc3luYy5zZW1hIDx0eXBlIC03PjsgfT4KIGZ1bmMgKG0gPHR5cGUgNiAqPHR5cGUgND4+KSBVbmxvY2sgKCk7CiBmdW5jIChtIDx0eXBlIDY+KSBMb2NrICgpOwo+OyAucnVudGltZS9wcHJvZi5tIDx0eXBlIDcgbWFwIFs8dHlwZSA4IGludGVyZmFjZSB7IH0+XSA8dHlwZSA5IFtdIDx0eXBlIC0xMz4+PjsgLnJ1bnRpbWUvcHByb2YuY291bnQgPHR5cGUgMTAgKCkgPHR5cGUgLTExPj47IC5ydW50aW1lL3Bwcm9mLndyaXRlIDx0eXBlIDExICg/IDx0eXBlIDEyICJpby5Xcml0ZXIiIDx0eXBlIDEzIGludGVyZmFjZSB7IFdyaXRlIChwIDx0eXBlIDE0IFtdIDx0eXBlIC0yMD4+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7IH0+PiwgPyA8dHlwZSAtMTE+KSA8dHlwZSAtMTk+PjsgfT4KIGZ1bmMgKHAgPHR5cGUgMTUgKjx0eXBlIDI+PikgTmFtZSAoKSA8dHlwZSAtMTY+OwogZnVuYyAocCA8dHlwZSAxNT4pIENvdW50ICgpIDx0eXBlIC0xMT47CiBmdW5jIChwIDx0eXBlIDE1PikgQWRkICh2YWx1ZSA8dHlwZSAxNiBpbnRlcmZhY2UgeyB9Piwgc2tpcCA8dHlwZSAtMTE+KTsKIGZ1bmMgKHAgPHR5cGUgMTU+KSBSZW1vdmUgKHZhbHVlIDx0eXBlIDE3IGludGVyZmFjZSB7IH0+KTsKIGZ1bmMgKHAgPHR5cGUgMTU+KSBXcml0ZVRvICh3IDx0eXBlIDEyPiwgZGVidWcgPHR5cGUgLTExPikgPHR5cGUgLTE5PjsKPj47CmZ1bmMgTmV3UHJvZmlsZSAobmFtZSA8dHlwZSAtMTY+KSA8dHlwZSAxPjsKdHlwZSA8dHlwZSAyPjsKZnVuYyBQcm9maWxlcyAoKSA8dHlwZSAxOCBbXSA8dHlwZSAxPj47CmZ1bmMgU3RhcnRDUFVQcm9maWxlICh3IDx0eXBlIDEyPikgPHR5cGUgLTE5PjsKZnVuYyBTdG9wQ1BVUHJvZmlsZSAoKTsKZnVuYyBXcml0ZUhlYXBQcm9maWxlICh3IDx0eXBlIDEyPikgPHR5cGUgLTE5PjsKY2hlY2tzdW0gOTQ5MUJEMkRCNDc2MjRCQTc5MEE4MTlCNzJBRjg5N0RCQjg0M0VBQjsKAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmdvX2V4cG9ydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAAAAAAAAAAAADQAAAAiBwAAAAAAAAAAAAABAAAAAAAAABEAAAADAAAAAAAAAAAAAABWBwAAJgAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAfAcAACAAAAAEAAAAAgAAAAQAAAAQAAAACQAAAAMAAAAAAAAAAAAAAJwHAAABAAAAAAAAAAAAAAABAAAAAAAAAA==