f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAADcEwAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIGRlYnVnOwpwa2dwYXRoIHJ1bnRpbWUvZGVidWc7CnByaW9yaXR5IDg7CmltcG9ydCBieXRlcyBieXRlcyAiYnl0ZXMiOwppbXBvcnQgZm10IGZtdCAiZm10IjsKaW1wb3J0IGlvdXRpbCBpby9pb3V0aWwgImlvL2lvdXRpbCI7CmltcG9ydCBvcyBvcyAib3MiOwppbXBvcnQgcnVudGltZSBydW50aW1lICJydW50aW1lIjsKaW1wb3J0IHNvcnQgc29ydCAic29ydCI7CmltcG9ydCB0aW1lIHRpbWUgInRpbWUiOwppbml0IGRlYnVnIHJ1bnRpbWVfZGVidWcuLmltcG9ydCA4IG1hdGggbWF0aC4uaW1wb3J0IDEgcnVudGltZSBydW50aW1lLi5pbXBvcnQgMSB1bmljb2RlIHVuaWNvZGUuLmltcG9ydCAxIHN0cmNvbnYgc3RyY29udi4uaW1wb3J0IDIgc3luYyBzeW5jLi5pbXBvcnQgMiBpbyBpby4uaW1wb3J0IDMgcmVmbGVjdCByZWZsZWN0Li5pbXBvcnQgMyBzeXNjYWxsIHN5c2NhbGwuLmltcG9ydCAzIGJ5dGVzIGJ5dGVzLi5pbXBvcnQgNCB0aW1lIHRpbWUuLmltcG9ydCA0IG9zIG9zLi5pbXBvcnQgNSBmaWxlcGF0aCBwYXRoX2ZpbGVwYXRoLi5pbXBvcnQgNiBmbXQgZm10Li5pbXBvcnQgNiBpb3V0aWwgaW9faW91dGlsLi5pbXBvcnQgNzsKZnVuYyBGcmVlT1NNZW1vcnkgKCk7CnR5cGUgPHR5cGUgMSAiR0NTdGF0cyIgPHR5cGUgMiBzdHJ1Y3QgeyBMYXN0R0MgPHR5cGUgMyAidGltZS5UaW1lIiA8dHlwZSA0IHN0cnVjdCB7IC50aW1lLnNlYyA8dHlwZSAtND47IC50aW1lLm5zZWMgPHR5cGUgLTM+OyAudGltZS5sb2MgPHR5cGUgNSAqPHR5cGUgNiAidGltZS5Mb2NhdGlvbiIgPHR5cGUgNyBzdHJ1Y3QgeyAudGltZS5uYW1lIDx0eXBlIC0xNj47IC50aW1lLnpvbmUgPHR5cGUgOCBbXSA8dHlwZSA5ICIudGltZS56b25lIiA8dHlwZSAxMCBzdHJ1Y3QgeyAudGltZS5uYW1lIDx0eXBlIC0xNj47IC50aW1lLm9mZnNldCA8dHlwZSAtMTE+OyAudGltZS5pc0RTVCA8dHlwZSAtMTU+OyB9Pj4+OyAudGltZS50eCA8dHlwZSAxMSBbXSA8dHlwZSAxMiAiLnRpbWUuem9uZVRyYW5zIiA8dHlwZSAxMyBzdHJ1Y3QgeyAudGltZS53aGVuIDx0eXBlIC00PjsgLnRpbWUuaW5kZXggPHR5cGUgLTU+OyAudGltZS5pc3N0ZCA8dHlwZSAtMTU+OyAudGltZS5pc3V0YyA8dHlwZSAtMTU+OyB9Pj4+OyAudGltZS5jYWNoZVN0YXJ0IDx0eXBlIC00PjsgLnRpbWUuY2FjaGVFbmQgPHR5cGUgLTQ+OyAudGltZS5jYWNoZVpvbmUgPHR5cGUgMTQgKjx0eXBlIDk+PjsgfT4KIGZ1bmMgKGwgPHR5cGUgMTUgKjx0eXBlIDY+PikgLnRpbWUuZmlyc3Rab25lVXNlZCAoKSA8dHlwZSAtMTU+OwogZnVuYyAobCA8dHlwZSAxNT4pIC50aW1lLmxvb2t1cE5hbWUgKG5hbWUgPHR5cGUgLTE2PiwgdW5peCA8dHlwZSAtND4pIChvZmZzZXQgPHR5cGUgLTExPiwgaXNEU1QgPHR5cGUgLTE1Piwgb2sgPHR5cGUgLTE1Pik7CiBmdW5jIChsIDx0eXBlIDE1PikgLnRpbWUubG9va3VwIChzZWMgPHR5cGUgLTQ+KSAobmFtZSA8dHlwZSAtMTY+LCBvZmZzZXQgPHR5cGUgLTExPiwgaXNEU1QgPHR5cGUgLTE1Piwgc3RhcnQgPHR5cGUgLTQ+LCBlbmQgPHR5cGUgLTQ+KTsKIGZ1bmMgKGwgPHR5cGUgMTU+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKGwgPHR5cGUgMTU+KSAudGltZS5sb29rdXBGaXJzdFpvbmUgKCkgPHR5cGUgLTExPjsKIGZ1bmMgKGwgPHR5cGUgMTU+KSAudGltZS5nZXQgKCkgPHR5cGUgMTU+Owo+PjsgfT4KIGZ1bmMgKHQgPHR5cGUgMz4pIE1hcnNoYWxUZXh0ICgpICg/IDx0eXBlIDE2IFtdIDx0eXBlIC0yMD4+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAodCA8dHlwZSAzPikgQWZ0ZXIgKHUgPHR5cGUgMz4pIDx0eXBlIC0xNT47CiBmdW5jICh0IDx0eXBlIDM+KSBEYXRlICgpICh5ZWFyIDx0eXBlIC0xMT4sIG1vbnRoIDx0eXBlIDE3ICJ0aW1lLk1vbnRoIiA8dHlwZSAtMTE+CiBmdW5jIChtIDx0eXBlIDE3PikgU3RyaW5nICgpIDx0eXBlIC0xNj47Cj4sIGRheSA8dHlwZSAtMTE+KTsKIGZ1bmMgKHQgPHR5cGUgMz4pIC50aW1lLmFicyAoKSA8dHlwZSAtOD47CiBmdW5jICh0IDx0eXBlIDM+KSBXZWVrZGF5ICgpIDx0eXBlIDE4ICJ0aW1lLldlZWtkYXkiIDx0eXBlIC0xMT4KIGZ1bmMgKGQgPHR5cGUgMTg+KSBTdHJpbmcgKCkgPHR5cGUgLTE2PjsKPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIE5hbm9zZWNvbmQgKCkgPHR5cGUgLTExPjsKIGZ1bmMgKHQgPHR5cGUgMTkgKjx0eXBlIDM+PikgR29iRGVjb2RlIChkYXRhIDx0eXBlIDIwIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtMTk+OwogZnVuYyAodCA8dHlwZSAzPikgSW4gKGxvYyA8dHlwZSA1PikgPHR5cGUgMz47CiBmdW5jICh0IDx0eXBlIDM+KSBMb2NhbCAoKSA8dHlwZSAzPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIE1vbnRoICgpIDx0eXBlIDE3PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIEhvdXIgKCkgPHR5cGUgLTExPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIE1hcnNoYWxCaW5hcnkgKCkgKD8gPHR5cGUgMjEgW10gPHR5cGUgLTIwPj4sID8gPHR5cGUgLTE5Pik7CiBmdW5jICh0IDx0eXBlIDM+KSBVbml4TmFubyAoKSA8dHlwZSAtND47CiBmdW5jICh0IDx0eXBlIDM+KSBFcXVhbCAodSA8dHlwZSAzPikgPHR5cGUgLTE1PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIEZvcm1hdCAobGF5b3V0IDx0eXBlIC0xNj4pIDx0eXBlIC0xNj47CiBmdW5jICh0IDx0eXBlIDM+KSBab25lICgpIChuYW1lIDx0eXBlIC0xNj4sIG9mZnNldCA8dHlwZSAtMTE+KTsKIGZ1bmMgKHQgPHR5cGUgMz4pIEFkZERhdGUgKHllYXJzIDx0eXBlIC0xMT4sIG1vbnRocyA8dHlwZSAtMTE+LCBkYXlzIDx0eXBlIC0xMT4pIDx0eXBlIDM+OwogZnVuYyAodCA8dHlwZSAzPikgRGF5ICgpIDx0eXBlIC0xMT47CiBmdW5jICh0IDx0eXBlIDM+KSBNYXJzaGFsSlNPTiAoKSAoPyA8dHlwZSAyMiBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKHQgPHR5cGUgMz4pIFVUQyAoKSA8dHlwZSAzPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIENsb2NrICgpIChob3VyIDx0eXBlIC0xMT4sIG1pbiA8dHlwZSAtMTE+LCBzZWMgPHR5cGUgLTExPik7CiBmdW5jICh0IDx0eXBlIDM+KSAudGltZS5kYXRlIChmdWxsIDx0eXBlIC0xNT4pICh5ZWFyIDx0eXBlIC0xMT4sIG1vbnRoIDx0eXBlIDE3PiwgZGF5IDx0eXBlIC0xMT4sIHlkYXkgPHR5cGUgLTExPik7CiBmdW5jICh0IDx0eXBlIDM+KSBJc1plcm8gKCkgPHR5cGUgLTE1PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIEJlZm9yZSAodSA8dHlwZSAzPikgPHR5cGUgLTE1PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIFNlY29uZCAoKSA8dHlwZSAtMTE+OwogZnVuYyAodCA8dHlwZSAzPikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jICh0IDx0eXBlIDM+KSBNaW51dGUgKCkgPHR5cGUgLTExPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIFJvdW5kIChkIDx0eXBlIDIzICJ0aW1lLkR1cmF0aW9uIiA8dHlwZSAtND4KIGZ1bmMgKGQgPHR5cGUgMjM+KSBTZWNvbmRzICgpIDx0eXBlIC0xMD47CiBmdW5jIChkIDx0eXBlIDIzPikgTWludXRlcyAoKSA8dHlwZSAtMTA+OwogZnVuYyAoZCA8dHlwZSAyMz4pIFN0cmluZyAoKSA8dHlwZSAtMTY+OwogZnVuYyAoZCA8dHlwZSAyMz4pIEhvdXJzICgpIDx0eXBlIC0xMD47CiBmdW5jIChkIDx0eXBlIDIzPikgTmFub3NlY29uZHMgKCkgPHR5cGUgLTQ+Owo+KSA8dHlwZSAzPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIFN1YiAodSA8dHlwZSAzPikgPHR5cGUgMjM+OwogZnVuYyAodCA8dHlwZSAxOT4pIFVubWFyc2hhbFRleHQgKGRhdGEgPHR5cGUgMjQgW10gPHR5cGUgLTIwPj4pIChlcnIgPHR5cGUgLTE5Pik7CiBmdW5jICh0IDx0eXBlIDM+KSBVbml4ICgpIDx0eXBlIC00PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIFRydW5jYXRlIChkIDx0eXBlIDIzPikgPHR5cGUgMz47CiBmdW5jICh0IDx0eXBlIDM+KSBBZGQgKGQgPHR5cGUgMjM+KSA8dHlwZSAzPjsKIGZ1bmMgKHQgPHR5cGUgMz4pIEdvYkVuY29kZSAoKSAoPyA8dHlwZSAyNSBbXSA8dHlwZSAtMjA+PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKHQgPHR5cGUgMz4pIExvY2F0aW9uICgpIDx0eXBlIDU+OwogZnVuYyAodCA8dHlwZSAxOT4pIFVubWFyc2hhbEJpbmFyeSAoZGF0YSA8dHlwZSAyNiBbXSA8dHlwZSAtMjA+PikgPHR5cGUgLTE5PjsKIGZ1bmMgKHQgPHR5cGUgMz4pIElTT1dlZWsgKCkgKHllYXIgPHR5cGUgLTExPiwgd2VlayA8dHlwZSAtMTE+KTsKIGZ1bmMgKHQgPHR5cGUgMz4pIC50aW1lLmxvY2FicyAoKSAobmFtZSA8dHlwZSAtMTY+LCBvZmZzZXQgPHR5cGUgLTExPiwgYWJzIDx0eXBlIC04Pik7CiBmdW5jICh0IDx0eXBlIDM+KSBZZWFyICgpIDx0eXBlIC0xMT47CiBmdW5jICh0IDx0eXBlIDM+KSBZZWFyRGF5ICgpIDx0eXBlIC0xMT47CiBmdW5jICh0IDx0eXBlIDE5PikgVW5tYXJzaGFsSlNPTiAoZGF0YSA8dHlwZSAyNyBbXSA8dHlwZSAtMjA+PikgKGVyciA8dHlwZSAtMTk+KTsKPjsgTnVtR0MgPHR5cGUgLTQ+OyBQYXVzZVRvdGFsIDx0eXBlIDIzPjsgUGF1c2UgPHR5cGUgMjggW10gPHR5cGUgMjM+PjsgUGF1c2VRdWFudGlsZXMgPHR5cGUgMjkgW10gPHR5cGUgMjM+PjsgfT4+OwpmdW5jIFByaW50U3RhY2sgKCk7CmZ1bmMgUmVhZEdDU3RhdHMgKHN0YXRzIDx0eXBlIDMwICo8dHlwZSAxPj4pOwpmdW5jIFNldEdDUGVyY2VudCAocGVyY2VudCA8dHlwZSAtMTE+KSA8dHlwZSAtMTE+OwpmdW5jIFNldE1heFN0YWNrIChieXRlcyA8dHlwZSAtMTE+KSA8dHlwZSAtMTE+OwpmdW5jIFNldE1heFRocmVhZHMgKHRocmVhZHMgPHR5cGUgLTExPikgPHR5cGUgLTExPjsKZnVuYyBTZXRQYW5pY09uRmF1bHQgKGVuYWJsZWQgPHR5cGUgLTE1PikgPHR5cGUgLTE1PjsKZnVuYyBTdGFjayAoKSA8dHlwZSAzMSBbXSA8dHlwZSAtMjA+PjsKZnVuYyBXcml0ZUhlYXBEdW1wIChmZCA8dHlwZSAtMTM+KTsKY2hlY2tzdW0gMDlFOThGOTQwMzFDMjA1NEFBOEU2RDc2QzczNDVFQTdBMDE2OTkzRDsKAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmdvX2V4cG9ydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAAAAAAAAAAAADQAAABeEwAAAAAAAAAAAAABAAAAAAAAABEAAAADAAAAAAAAAAAAAACSEwAAJgAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAuBMAACAAAAAEAAAAAgAAAAQAAAAQAAAACQAAAAMAAAAAAAAAAAAAANgTAAABAAAAAAAAAAAAAAABAAAAAAAAAA==