A/MNCi5c/FVjAAAAAAAAAAAEAAAAQAAAAHOQAAAAZAAAWgAAZAEAZAIAbAEAbQIAWgIAAWUCAGQDAGQEAGQFAIMBAQFbAgBkBgBkBwBnAgBaAwBkAQBkCABsBABtBQBaBQABZAYAZA8AZAkAhAAAgwAAWVoGAGQKAIQAAGQOAGUGAGQLAIQDAFoIAGQMAIQAAFoJAGUKAGQNAGsCAHKMAGUJAIMAAAFuAABkDgBTKBAAAABz1AQAAEJhc3Rpb25pZmljYXRpb24gdXRpbGl0eS4KCkEgYmFzdGlvbiAoZm9yIGFub3RoZXIgb2JqZWN0IC0tIHRoZSAnb3JpZ2luYWwnKSBpcyBhbiBvYmplY3QgdGhhdCBoYXMKdGhlIHNhbWUgbWV0aG9kcyBhcyB0aGUgb3JpZ2luYWwgYnV0IGRvZXMgbm90IGdpdmUgYWNjZXNzIHRvIGl0cwppbnN0YW5jZSB2YXJpYWJsZXMuICBCYXN0aW9ucyBoYXZlIGEgbnVtYmVyIG9mIHVzZXMsIGJ1dCB0aGUgbW9zdApvYnZpb3VzIG9uZSBpcyB0byBwcm92aWRlIGNvZGUgZXhlY3V0aW5nIGluIHJlc3RyaWN0ZWQgbW9kZSB3aXRoIGEKc2FmZSBpbnRlcmZhY2UgdG8gYW4gb2JqZWN0IGltcGxlbWVudGVkIGluIHVucmVzdHJpY3RlZCBtb2RlLgoKVGhlIGJhc3Rpb25pZmljYXRpb24gcm91dGluZSBoYXMgYW4gb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHdoaWNoIGlzCmEgZmlsdGVyIGZ1bmN0aW9uLiAgT25seSB0aG9zZSBtZXRob2RzIGZvciB3aGljaCB0aGUgZmlsdGVyIG1ldGhvZAooY2FsbGVkIHdpdGggdGhlIG1ldGhvZCBuYW1lIGFzIGFyZ3VtZW50KSByZXR1cm5zIHRydWUgYXJlIGFjY2Vzc2libGUuClRoZSBkZWZhdWx0IGZpbHRlciBtZXRob2QgcmV0dXJucyB0cnVlIHVubGVzcyB0aGUgbWV0aG9kIG5hbWUgYmVnaW5zCndpdGggYW4gdW5kZXJzY29yZS4KClRoZXJlIGFyZSBhIG51bWJlciBvZiBwb3NzaWJsZSBpbXBsZW1lbnRhdGlvbnMgb2YgYmFzdGlvbnMuICBXZSB1c2UgYQonbGF6eScgYXBwcm9hY2ggd2hlcmUgdGhlIGJhc3Rpb24ncyBfX2dldGF0dHJfXygpIGRpc2NpcGxpbmUgZG9lcyBhbGwKdGhlIHdvcmsgZm9yIGEgcGFydGljdWxhciBtZXRob2QgdGhlIGZpcnN0IHRpbWUgaXQgaXMgdXNlZC4gIFRoaXMgaXMKdXN1YWxseSBmYXN0ZXN0LCBlc3BlY2lhbGx5IGlmIHRoZSB1c2VyIGRvZXNuJ3QgY2FsbCBhbGwgYXZhaWxhYmxlCm1ldGhvZHMuICBUaGUgcmV0cmlldmVkIG1ldGhvZHMgYXJlIHN0b3JlZCBhcyBpbnN0YW5jZSB2YXJpYWJsZXMgb2YKdGhlIGJhc3Rpb24sIHNvIHRoZSBvdmVyaGVhZCBpcyBvbmx5IG9jY3VycmVkIG9uIHRoZSBmaXJzdCB1c2Ugb2YgZWFjaAptZXRob2QuCgpEZXRhaWw6IHRoZSBiYXN0aW9uIGNsYXNzIGhhcyBhIF9fcmVwcl9fKCkgZGlzY2lwbGluZSB3aGljaCBpbmNsdWRlcwp0aGUgcmVwcigpIG9mIHRoZSBvcmlnaW5hbCBvYmplY3QuICBUaGlzIGlzIHByZWNvbXB1dGVkIHdoZW4gdGhlCmJhc3Rpb24gaXMgY3JlYXRlZC4KCmn/////KAEAAAB0CAAAAHdhcm5weTNrczEAAAB0aGUgQmFzdGlvbiBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBpbiBQeXRob24gMy4wdAoAAABzdGFja2xldmVsaQIAAAB0DAAAAEJhc3Rpb25DbGFzc3QHAAAAQmFzdGlvbigBAAAAdAoAAABNZXRob2RUeXBlYwAAAAAAAAAAAQAAAEIAAABzKQAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAFJTKAQAAABzBQEAAEhlbHBlciBjbGFzcyB1c2VkIGJ5IHRoZSBCYXN0aW9uKCkgZnVuY3Rpb24uCgogICAgWW91IGNvdWxkIHN1YmNsYXNzIHRoaXMgYW5kIHBhc3MgdGhlIHN1YmNsYXNzIGFzIHRoZSBiYXN0aW9uY2xhc3MKICAgIGFyZ3VtZW50IHRvIHRoZSBCYXN0aW9uKCkgZnVuY3Rpb24sIGFzIGxvbmcgYXMgdGhlIGNvbnN0cnVjdG9yIGhhcwogICAgdGhlIHNhbWUgc2lnbmF0dXJlIChhIGdldCgpIGZ1bmN0aW9uIGFuZCBhIG5hbWUgZm9yIHRoZSBvYmplY3QpLgoKICAgIGMDAAAAAwAAAAIAAABDAAAAcxYAAAB8AQB8AABfAAB8AgB8AABfAQBkAQBTKAIAAABz1wAAAENvbnN0cnVjdG9yLgoKICAgICAgICBBcmd1bWVudHM6CgogICAgICAgIGdldCAtIGEgZnVuY3Rpb24gdGhhdCBnZXRzIHRoZSBhdHRyaWJ1dGUgdmFsdWUgKGJ5IG5hbWUpCiAgICAgICAgbmFtZSAtIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yaWdpbmFsIG9iamVjdAogICAgICAgICAgICAgICAoc3VnZ2VzdGlvbjogdXNlIHJlcHIob2JqZWN0KSkKCiAgICAgICAgTigCAAAAdAUAAABfZ2V0X3QGAAAAX25hbWVfKAMAAAB0BAAAAHNlbGZ0AwAAAGdldHQEAAAAbmFtZSgAAAAAKAAAAABzTgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvQmFzdGlvbi5weXQIAAAAX19pbml0X18vAAAAcwQAAAAACgkBYwEAAAABAAAAAgAAAEMAAABzCwAAAGQBAHwAAGoAABZTKAIAAABz1QAAAFJldHVybiBhIHJlcHJlc2VudGF0aW9uIHN0cmluZy4KCiAgICAgICAgVGhpcyBpbmNsdWRlcyB0aGUgbmFtZSBwYXNzZWQgaW4gdG8gdGhlIGNvbnN0cnVjdG9yLCBzbyB0aGF0CiAgICAgICAgaWYgeW91IHByaW50IHRoZSBiYXN0aW9uIGR1cmluZyBkZWJ1Z2dpbmcsIGF0IGxlYXN0IHlvdSBoYXZlCiAgICAgICAgc29tZSBpZGVhIG9mIHdoYXQgaXQgaXMuCgogICAgICAgIHMQAAAAPEJhc3Rpb24gZm9yICVzPigBAAAAUgYAAAAoAQAAAFIHAAAAKAAAAAAoAAAAAHNOAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy9CYXN0aW9uLnB5dAgAAABfX3JlcHJfXzwAAABzAgAAAAAIYwIAAAADAAAAAwAAAEMAAABzIAAAAHwAAGoAAHwBAIMBAH0CAHwCAHwAAGoBAHwBADx8AgBTKAEAAABzjQEAAEdldCBhbiBhcy15ZXQgdW5kZWZpbmVkIGF0dHJpYnV0ZSB2YWx1ZS4KCiAgICAgICAgVGhpcyBjYWxscyB0aGUgZ2V0KCkgZnVuY3Rpb24gdGhhdCB3YXMgcGFzc2VkIHRvIHRoZQogICAgICAgIGNvbnN0cnVjdG9yLiAgVGhlIHJlc3VsdCBpcyBzdG9yZWQgYXMgYW4gaW5zdGFuY2UgdmFyaWFibGUgc28KICAgICAgICB0aGF0IHRoZSBuZXh0IHRpbWUgdGhlIHNhbWUgYXR0cmlidXRlIGlzIHJlcXVlc3RlZCwKICAgICAgICBfX2dldGF0dHJfXygpIHdvbid0IGJlIGludm9rZWQuCgogICAgICAgIElmIHRoZSBnZXQoKSBmdW5jdGlvbiByYWlzZXMgYW4gZXhjZXB0aW9uLCB0aGlzIGlzIHNpbXBseQogICAgICAgIHBhc3NlZCBvbiAtLSBleGNlcHRpb25zIGFyZSBub3QgY2FjaGVkLgoKICAgICAgICAoAgAAAFIFAAAAdAgAAABfX2RpY3RfXygDAAAAUgcAAABSCQAAAHQJAAAAYXR0cmlidXRlKAAAAAAoAAAAAHNOAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy9CYXN0aW9uLnB5dAsAAABfX2dldGF0dHJfX0YAAABzBgAAAAAMDwENASgGAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfX1IKAAAAUgsAAABSDgAAACgAAAAAKAAAAAAoAAAAAHNOAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy9CYXN0aW9uLnB5UgIAAAAlAAAAcwgAAAAGCAYCCQ0JCmMBAAAAAQAAAAIAAABDAAAAcw4AAAB8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CQJz3AEAAGlmIDE6CiAgICBiLmFkZCg4MSkKICAgIGIuYWRkKDE4KQogICAgcHJpbnQgImIudG90YWwoKSA9IiwgYi50b3RhbCgpCiAgICB0cnk6CiAgICAgICAgcHJpbnQgImIuc3VtID0iLCBiLnN1bSwKICAgIGV4Y2VwdDoKICAgICAgICBwcmludCAiaW5hY2Nlc3NpYmxlIgogICAgZWxzZToKICAgICAgICBwcmludCAiYWNjZXNzaWJsZSIKICAgIHRyeToKICAgICAgICBwcmludCAiYi5fYWRkID0iLCBiLl9hZGQsCiAgICBleGNlcHQ6CiAgICAgICAgcHJpbnQgImluYWNjZXNzaWJsZSIKICAgIGVsc2U6CiAgICAgICAgcHJpbnQgImFjY2Vzc2libGUiCiAgICB0cnk6CiAgICAgICAgcHJpbnQgImIuX2dldF8uZnVuY19kZWZhdWx0cyA9IiwgbWFwKHR5cGUsIGIuX2dldF8uZnVuY19kZWZhdWx0cyksCiAgICBleGNlcHQ6CiAgICAgICAgcHJpbnQgImluYWNjZXNzaWJsZSIKICAgIGVsc2U6CiAgICAgICAgcHJpbnQgImFjY2Vzc2libGUiCiAgICAKTnQBAAAAPWkUAAAAcwwAAABVc2luZyByZXhlYzpp/////3QIAAAAX19tYWluX18oAAAAAHMUAAAAPT09PT09PT09PT09PT09PT09PT1zFAAAAD09PT09PT09PT09PT09PT09PT09KAYAAABSAwAAAHQFAAAAcmV4ZWN0BQAAAFJFeGVjdAoAAABhZGRfbW9kdWxldAEAAABidAYAAAByX2V4ZWMoBwAAAFIfAAAAdAEAAABvUioAAAB0CAAAAHRlc3Rjb2RlUicAAAB0AQAAAHJ0AQAAAG0oAAAAACgAAAAAc04AAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L0Jhc3Rpb24ucHl0BQAAAF90ZXN0hgAAAHMWAAAAAAITCQkBDBcGAQgBDQEMAQwBDwEJAVImAAAATigAAAAAKAsAAABSEQAAAHQIAAAAd2FybmluZ3NSAAAAAHQHAAAAX19hbGxfX3QFAAAAdHlwZXNSBAAAAFICAAAAUhwAAABSAwAAAFIwAAAAUg8AAAAoAAAAACgAAAAAKAAAAABzTgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvQmFzdGlvbi5weXQIAAAAPG1vZHVsZT4bAAAAcxYAAAAGARABEAEDAgwCEAMTMgYBDy4JLQwB