A/MNCmP5IVRjAAAAAAAAAAARAAAAQAAAAHMgAwAAZAAAWgAAZAEAZAIAbAEAWgIAeRAAZAEAZAIAbAMAWgMAV24eAARlBABrCgByQgABAQFlAgBqBQBlBgA9ggAAbgEAWGQBAGQCAGwHAFoHAGQBAGQDAGwIAG0JAFoKAAFkAQBkBABsCwBtCwBaDABtDQBaDgABZAEAZAUAbA8AbRAAWhEAAWQGAGQHAGQIAGQJAGQKAGQLAGQMAGQNAGQOAGQPAGQQAGQRAGQSAGQTAGQUAGQVAGQWAGcRAFoSAGUDAGoTAFoUAGUDAGoVAFoWAGUDAGoXAFoYAGUDAGoZAFoaAFsDAGUHAGobAGQXAGQYAGUcAGQZAGQaAGQbAGQcAIMBAwFlHQBaHgBkHQBlHwBmAQBkHgCEAACDAABZWiAAZSEAYSIAZSEAYSMAZB8AhAAAWiQAZCAAhAAAWiUAZRYAWiYAZCEAhAAAWicAZCIAZSAAZgEAZCMAhAAAgwAAWVooAGQkAIQAAFopAGQlAGUgAGYBAGQmAIQAAIMAAFlaKgBkJwCEAABaKwBkKABlIABmAQBkKQCEAACDAABZWiwAZCoAhAAAWi0AZCsAZSwAZgEAZCwAhAAAgwAAWVouAGQtAIQAAFovAGQuAGUgAGYBAGQvAIQAAIMAAFlaMABkMABhMQBkMQBkMgCEAQBaMgBlFgCDAABhMwBpAABaNABpAABaNQBkEQBlIABmAQBkMwCEAACDAABZWjYAZDQAhAAAWjcAZDUAZTYAZgEAZDYAhAAAgwAAWVo4AGQ3AGU2AGYBAGQ4AIQAAIMAAFlaOQBkOQCEAABaOgBkOgBlNgBmAQBkOwCEAACDAABZWjsAZDwAhAAAWjwAZTwAWj0AZD0AhAAAWj4AZT4AWj8AZD4AhAAAWkAAZD8AhAAAWkEAZAEAZEAAbAMAbUIAWkIAAWU5AIMAAGpDAFpEAHkUAGQBAGRBAGwDAG1FAFpGAAFXbiEABGUEAGsKAHLzAgEBAWQBAGRCAGxHAG1GAFpGAAFuAQBYZEMAhAAAWkgAZEQAhAAAWkkAZQYAZEUAawIAchwDZUkAgwAAAW4AAGQCAFMoRgAAAHM7AAAAVGhyZWFkIG1vZHVsZSBlbXVsYXRpbmcgYSBzdWJzZXQgb2YgSmF2YSdzIHRocmVhZGluZyBtb2RlbC5p/////04oAQAAAHQFAAAAZGVxdWUoAgAAAHQEAAAAdGltZXQFAAAAc2xlZXAoAQAAAHQKAAAAZm9ybWF0X2V4Y3QLAAAAYWN0aXZlQ291bnR0DAAAAGFjdGl2ZV9jb3VudHQJAAAAQ29uZGl0aW9udA0AAABjdXJyZW50VGhyZWFkdA4AAABjdXJyZW50X3RocmVhZHQJAAAAZW51bWVyYXRldAUAAABFdmVudHQEAAAATG9ja3QFAAAAUkxvY2t0CQAAAFNlbWFwaG9yZXQQAAAAQm91bmRlZFNlbWFwaG9yZXQGAAAAVGhyZWFkdAUAAABUaW1lcnQKAAAAc2V0cHJvZmlsZXQIAAAAc2V0dHJhY2V0BQAAAGxvY2FsdAoAAABzdGFja19zaXpldAYAAABpZ25vcmV0CAAAAGNhdGVnb3J5dAYAAABtb2R1bGV0CQAAAHRocmVhZGluZ3QHAAAAbWVzc2FnZXMNAAAAc3lzLmV4Y19jbGVhcnQIAAAAX1ZlcmJvc2VjAAAAAAAAAAACAAAAQgAAAHMdAAAAZQAAWgEAZAIAZAAAhAEAWgMAZAEAhAAAWgQAUlMoAwAAAGMCAAAAAgAAAAEAAABDAAAAcwQAAABkAABTKAEAAABOKAAAAAAoAgAAAHQEAAAAc2VsZnQHAAAAdmVyYm9zZSgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABfX2luaXRfX08AAABzAgAAAAABYwEAAAACAAAAAQAAAEcAAABzBAAAAGQAAFMoAQAAAE4oAAAAACgCAAAAUhsAAAB0BAAAAGFyZ3MoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQFAAAAX25vdGVRAAAAcwIAAAAAAU4oBQAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BAAAAE5vbmVSHQAAAFIfAAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIaAAAATgAAAHMEAAAABgEMAmMBAAAAAQAAAAEAAABDAAAAcwoAAAB8AABhAABkAQBTKAIAAABzuAAAAFNldCBhIHByb2ZpbGUgZnVuY3Rpb24gZm9yIGFsbCB0aHJlYWRzIHN0YXJ0ZWQgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZS4KCiAgICBUaGUgZnVuYyB3aWxsIGJlIHBhc3NlZCB0byBzeXMuc2V0cHJvZmlsZSgpIGZvciBlYWNoIHRocmVhZCwgYmVmb3JlIGl0cwogICAgcnVuKCkgbWV0aG9kIGlzIGNhbGxlZC4KCiAgICBOKAEAAAB0DQAAAF9wcm9maWxlX2hvb2soAQAAAHQEAAAAZnVuYygAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UhEAAABZAAAAcwIAAAAACGMBAAAAAQAAAAEAAABDAAAAcwoAAAB8AABhAABkAQBTKAIAAABztAAAAFNldCBhIHRyYWNlIGZ1bmN0aW9uIGZvciBhbGwgdGhyZWFkcyBzdGFydGVkIGZyb20gdGhlIHRocmVhZGluZyBtb2R1bGUuCgogICAgVGhlIGZ1bmMgd2lsbCBiZSBwYXNzZWQgdG8gc3lzLnNldHRyYWNlKCkgZm9yIGVhY2ggdGhyZWFkLCBiZWZvcmUgaXRzIHJ1bigpCiAgICBtZXRob2QgaXMgY2FsbGVkLgoKICAgIE4oAQAAAHQLAAAAX3RyYWNlX2hvb2soAQAAAFIkAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSEgAAAGMAAABzAgAAAAAIYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHMyAQAARmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgcmVlbnRyYW50IGxvY2suCgogICAgQSByZWVudHJhbnQgbG9jayBtdXN0IGJlIHJlbGVhc2VkIGJ5IHRoZSB0aHJlYWQgdGhhdCBhY3F1aXJlZCBpdC4gT25jZSBhCiAgICB0aHJlYWQgaGFzIGFjcXVpcmVkIGEgcmVlbnRyYW50IGxvY2ssIHRoZSBzYW1lIHRocmVhZCBtYXkgYWNxdWlyZSBpdCBhZ2FpbgogICAgd2l0aG91dCBibG9ja2luZzsgdGhlIHRocmVhZCBtdXN0IHJlbGVhc2UgaXQgb25jZSBmb3IgZWFjaCB0aW1lIGl0IGhhcwogICAgYWNxdWlyZWQgaXQuCgogICAgKAEAAAB0BgAAAF9STG9jaygCAAAAUh4AAAB0BgAAAGt3YXJncygAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UgwAAABxAAAAcwIAAAAACVImAAAAYwAAAAAAAAAAAgAAAEIAAABzYgAAAGUAAFoBAGQAAFoCAGQKAGQBAIQBAFoEAGQCAIQAAFoFAGQDAGQEAIQBAFoGAGUGAFoHAGQFAIQAAFoIAGQGAIQAAFoJAGQHAIQAAFoKAGQIAIQAAFoLAGQJAIQAAFoMAFJTKAsAAABzAQEAAEEgcmVlbnRyYW50IGxvY2sgbXVzdCBiZSByZWxlYXNlZCBieSB0aGUgdGhyZWFkIHRoYXQgYWNxdWlyZWQgaXQuIE9uY2UgYQogICAgICAgdGhyZWFkIGhhcyBhY3F1aXJlZCBhIHJlZW50cmFudCBsb2NrLCB0aGUgc2FtZSB0aHJlYWQgbWF5IGFjcXVpcmUgaXQKICAgICAgIGFnYWluIHdpdGhvdXQgYmxvY2tpbmc7IHRoZSB0aHJlYWQgbXVzdCByZWxlYXNlIGl0IG9uY2UgZm9yIGVhY2ggdGltZSBpdAogICAgICAgaGFzIGFjcXVpcmVkIGl0LgogICAgYwIAAAACAAAAAwAAAEMAAABzMgAAAHQAAGoBAHwAAHwBAIMCAAF0AgCDAAB8AABfAwBkAAB8AABfBQBkAQB8AABfBgBkAABTKAIAAABOaQAAAAAoBwAAAFIaAAAAUh0AAAB0DgAAAF9hbGxvY2F0ZV9sb2NrdA0AAABfUkxvY2tfX2Jsb2NrUiIAAAB0DQAAAF9STG9ja19fb3duZXJ0DQAAAF9STG9ja19fY291bnQoAgAAAFIbAAAAUhwAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAgwAAAHMIAAAAAAEQAQwBCQFjAQAAAAIAAAAFAAAAQwAAAHNIAAAAfAAAagAAfQEAeREAdAEAfAEAGWoCAH0BAFduEQAEdAMAawoAci0AAQEBbgEAWGQBAHwAAGoEAGoFAHwBAHwAAGoGAGYDABZTKAIAAABOcxYAAAA8JXMgb3duZXI9JXIgY291bnQ9JWQ+KAcAAABSKgAAAHQHAAAAX2FjdGl2ZXQEAAAAbmFtZXQIAAAAS2V5RXJyb3J0CQAAAF9fY2xhc3NfX1IgAAAAUisAAAAoAgAAAFIbAAAAdAUAAABvd25lcigAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABfX3JlcHJfX4kAAABzDgAAAAABCQEDAREBDQEEAQMBaQEAAABjAgAAAAQAAAACAAAAQwAAAHNdAAAAdAAAgwAAfQIAfAAAagEAfAIAawIAciwAfAAAagIAZAEAF3wAAF8CAGQBAFN8AABqAwBqBAB8AQCDAQB9AwB8AwByWQB8AgB8AABfAQBkAQB8AABfAgBuAAB8AwBTKAIAAABz7gMAAEFjcXVpcmUgYSBsb2NrLCBibG9ja2luZyBvciBub24tYmxvY2tpbmcuCgogICAgICAgIFdoZW4gaW52b2tlZCB3aXRob3V0IGFyZ3VtZW50czogaWYgdGhpcyB0aHJlYWQgYWxyZWFkeSBvd25zIHRoZSBsb2NrLAogICAgICAgIGluY3JlbWVudCB0aGUgcmVjdXJzaW9uIGxldmVsIGJ5IG9uZSwgYW5kIHJldHVybiBpbW1lZGlhdGVseS4gT3RoZXJ3aXNlLAogICAgICAgIGlmIGFub3RoZXIgdGhyZWFkIG93bnMgdGhlIGxvY2ssIGJsb2NrIHVudGlsIHRoZSBsb2NrIGlzIHVubG9ja2VkLiBPbmNlCiAgICAgICAgdGhlIGxvY2sgaXMgdW5sb2NrZWQgKG5vdCBvd25lZCBieSBhbnkgdGhyZWFkKSwgdGhlbiBncmFiIG93bmVyc2hpcCwgc2V0CiAgICAgICAgdGhlIHJlY3Vyc2lvbiBsZXZlbCB0byBvbmUsIGFuZCByZXR1cm4uIElmIG1vcmUgdGhhbiBvbmUgdGhyZWFkIGlzCiAgICAgICAgYmxvY2tlZCB3YWl0aW5nIHVudGlsIHRoZSBsb2NrIGlzIHVubG9ja2VkLCBvbmx5IG9uZSBhdCBhIHRpbWUgd2lsbCBiZQogICAgICAgIGFibGUgdG8gZ3JhYiBvd25lcnNoaXAgb2YgdGhlIGxvY2suIFRoZXJlIGlzIG5vIHJldHVybiB2YWx1ZSBpbiB0aGlzCiAgICAgICAgY2FzZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggdGhlIGJsb2NraW5nIGFyZ3VtZW50IHNldCB0byB0cnVlLCBkbyB0aGUgc2FtZSB0aGluZwogICAgICAgIGFzIHdoZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLCBhbmQgcmV0dXJuIHRydWUuCgogICAgICAgIFdoZW4gaW52b2tlZCB3aXRoIHRoZSBibG9ja2luZyBhcmd1bWVudCBzZXQgdG8gZmFsc2UsIGRvIG5vdCBibG9jay4g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UhsAAAB0CwAAAGNvdW50X293bmVyUjkAAABSMAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dBAAAABfYWNxdWlyZV9yZXN0b3Jl2wAAAHMKAAAAAAEMAQ0BCQEJAWMBAAAAAwAAAAIAAABDAAAAczsAAAB8AABqAAB9AQBkAQB8AABfAAB8AABqAQB9AgBkAAB8AABfAQB8AABqAwBqBACDAAABfAEAfAIAZgIAUygCAAAATmkAAAAAKAUAAABSKwAAAFIqAAAAUiIAAABSKQAAAFI4AAAAKAMAAABSGwAAAFI5AAAAUjAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQNAAAAX3JlbGVhc2Vfc2F2ZeMAAABzDAAAAAADCQEJAQkBCQENAWMBAAAAAQAAAAIAAABDAAAAcxAAAAB8AABqAAB0AQCDAABrAgBTKAEAAABOKAIAAABSKgAAAFIyAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAkAAABfaXNfb3duZWTtAAAAcwIAAAAAAU4oDQAAAFIgAAAAUiEAAAB0BwAAAF9fZG9jX19SIgAAAFIdAAAAUjEAAABSMwAAAHQJAAAAX19lbnRlcl9fUjgAAABSPQAAAFI/AAAAUkAAAABSQQAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xj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ACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uj0AAAAfAQAAcwIAAAAAAWMBAAAAAQAAAAQAAABDAAAAcxoAAABkAQB8AABqAAB0AQB8AABqAgCDAQBmAgAWUygCAAAATnMTAAAAPENvbmRpdGlvbiglcywgJWQpPigDAAAAUkUAAAB0AwAAAGxlblJHAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjEAAAAiAQAAcwIAAAAAAWMBAAAAAQAAAAEAAABDAAAAcxEAAAB8AABqAABqAQCDAAABZAAAUygBAAAATigCAAAAUkUAAABSOAAAACgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJAAAAAJQEAAHMCAAAAAAFjAgAAAAIAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMoAQAAAE4oAgAAAFJFAAAAUjMAAAAoAgAAAFIbAAAAdAEAAAB4KAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSPwAAACgBAABzAgAAAAABYwEAAAABAAAAAgAAAEMAAABzKwAAAHwAAGoAAGoBAGQBAIMBAHIjAHwAAGoAAGoCAIMAAAF0AwBTdAQAU2QAAFMoAgAAAE5pAAAAACgFAAAAUkUAAABSMwAAAFI4AAAAdAUAAABGYWxzZXQEAAAAVHJ1ZSgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJBAAAAKwEAAHMIAAAAAAMSAQ0BBAJjAgAAAAgAAAAFAAAAQwAAAHMjAQAAfAAAagAAgwAAcxsAdAEAZAEAgwEAggEAbgAAdAIAgwAAfQIAfAIAagMAgwAAAXwAAGoEAGoFAHwCAIMBAAF8AABqBgCDAAB9AwB6xAB8AQBkBgBrCAByZgB8AgBqAwCDAAABbqcAdAgAgwAAfAEAF30EAGQCAH0FAHhgAHQJAHLbAHwCAGoDAGQDAIMBAH0GAHwGAHKbAFBuAAB8BAB0CACDAAAYfQcAfAcAZAMAawEAcrgAUG4AAHQKAHwFAGQEABR8BwBkBQCDAwB9BQB0CwB8BQCDAQABcXwAV3wGAHMNAXkUAHwAAGoEAGoMAHwCAIMBAAFXcQ0BBHQNAGsKAHIJAQEBAXENAVhuAABXZAYAfAAAag4AfAMAgwEAAVhkBgBTKAcAAABzagQAAFdhaXQgdW50aWwgbm90aWZpZWQgb3IgdW50aWwgYSB0aW1lb3V0IG9jY3Vycy4KCiAgICAgICAgSWYgdGhlIGNhbGxpbmcgdGhyZWFkIGhhcyBub3QgYWNxdWlyZWQgdGhlIGxvY2sgd2hlbiB0aGlzIG1ldGhvZCBpcwogICAgICAgIGNhbGxlZCwgYSBSdW50aW1lRXJyb3IgaXMgcmFpc2VkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZWxlYXNlcyB0aGUgdW5kZXJseWluZyBsb2NrLCBhbmQgdGhlbiBibG9ja3MgdW50aWwgaXQgaXMKICAgICAgICBhd2FrZW5lZCBieSBhIG5vdGlmeSgpIG9yIG5vdGlmeUFsbCgpIGNhbGwgZm9yIHRoZSBzYW1lIGNvbmRpdGlvbgogICAgICAgIHZhcmlhYmxlIGluIGFub3RoZXIgdGhyZWFkLCBvciB1bnRpbCB0aGUgb3B0aW9uYWwgdGltZW91dCBvY2N1cnMuIE9uY2UKICAgICAgICBhd2FrZW5lZCBvciB0aW1lZCBvdXQsIGl0IHJlLWFjcXVpcmVzIHRoZSBsb2NrIGFuZCByZXR1cm5zLgoKICAgICAgICBXaGVuIHRoZSB0aW1lb3V0IGFyZ3VtZW50IGlzIHByZXNlbnQgYW5kIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYQogICAgICAgIGZsb2F0aW5nIHBvaW50IG51bWJlciBzcGVjaWZ5aW5nIGEgdGltZW91dCBmb3IgdGhlIG9wZXJhdGlvbiBpbiBzZWNvbmRzCiAgICAgICAgKG9yIGZyYWN0aW9ucyB0aGVyZW9mKS4KCiAgICAgICAgV2hlbiB0aGUgdW5kZXJseWluZyBsb2NrIGlzIGFuIFJMb2NrLCBpdCBpcyBub3QgcmVsZWFzZWQgdXNpbmcgaXRzCiAgICAgICAgcmVsZWFzZSgpIG1ldGhvZCwgc2luY2UgdGhpcyBtYXkgbm90IGFjdHVhbGx5IHVubG9jayB0aGUgbG9jayB3aGVuIGl0CiAgICAgICAgd2FzIGFjcXVpcmVkIG11bHRpcGxlIHRpbWVzIHJlY3Vyc2l2ZWx5LiBJbnN0ZWFkLCBhbiBpbnRlcm5hbCBpbnRlcmZhY2UKICAgICAgICBvZiB0aGUgUkxvY2sgY2xhc3MgaXMgdXNlZCwgd2hpY2ggcmVhbGx5IHVubG9ja3MgaXQgZXZlbiB3aGVuIGl0IGhhcwogICAgICAgIGJlZW4gcmVjdXJzaXZlbHkgYWNxdWlyZWQgc2V2ZXJhbCB0aW1lcy4gQW5vdGhlciBpbnRlcm5hbCBpbnRlcmZhY2UgaXMKICAgICAgICB0aGVuIHVzZWQgdG8gcmVzdG9yZSB0aGUgcmVjdXJzaW9uIGxldmVsIHdoZW4gdGhlIGxvY2sgaXMgcmVhY3F1aXJlZC4KCiAgICAgICAgcx8AAABjYW5ub3Qgd2FpdCBvbiB1bi1hY3F1aXJlZCBsb2NrZ/yp8dJNYkA/aQAAAABpAgAAAGeamZmZmZmpP04oDwAAAFJBAAAAUjcAAABSKAAAAFIzAAAAUkcAAAB0BgAAAGFwcGVuZFJAAAAAUiIAAAB0BQAAAF90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L2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJEAAAA/gAAAHMYAAAABgMGAg8ZCQMJAwkDCQMJAwkJDEAMGwkJYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHNPAQAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBzZW1hcGhvcmUuCgogICAgU2VtYXBob3JlcyBtYW5hZ2UgYSBjb3VudGVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHJlbGVhc2UoKSBjYWxscyBtaW51cwogICAgdGhlIG51bWJlciBvZiBhY3F1aXJlKCkgY2FsbHMsIHBsdXMgYW4gaW5pdGlhbCB2YWx1ZS4gVGhlIGFjcXVpcmUoKSBtZXRob2QKICAgIGJsb2NrcyBpZiBuZWNlc3NhcnkgdW50aWwgaXQgY2FuIHJldHVybiB3aXRob3V0IG1ha2luZyB0aGUgY291bnRlcgogICAgbmVnYXRpdmUuIElmIG5vdCBnaXZlbiwgdmFsdWUgZGVmYXVsdHMgdG8gMS4KCiAgICAoAQAAAHQKAAAAX1NlbWFwaG9yZSgCAAAAUh4AAABSJwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ug0AAACbAQAAcwIAAAAACVJiAAAAYwAAAAAAAAAAAwAAAEIAAABzQQAAAGUAAFoBAGQAAFoCAGQBAGQGAGQCAIQCAFoEAGQBAGQDAIQBAFoFAGUFAFoGAGQEAIQAAFoHAGQFAIQAAFoIAFJTKAcAAABzIgEAAFNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiByZWxlYXNlKCkgY2FsbHMKICAgICAgIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuIGluaXRpYWwgdmFsdWUuIFRoZSBhY3F1aXJlKCkKICAgICAgIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4gd2l0aG91dCBtYWtpbmcgdGhlIGNvdW50ZXIKICAgICAgIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgaQEAAABjAwAAAAMAAAADAAAAQwAAAHNKAAAAfAEAZAEAawAAchsAdAAAZAIAgwEAggEAbgAAdAEAagIAfAAAfAIAgwIAAXQDAHQEAIMAAIMBAHwAAF8FAHwBAHwAAF8GAGQAAFMoAwAAAE5pAAAAAHMkAAAAc2VtYXBob3JlIGluaXRpYWwgdmFsdWUgbXVzdCBiZSA+PSAwKAcAAABSUgAAAFIaAAAAUh0AAABSBgAAAFILAAAAdBAAAABfU2VtYXBob3JlX19jb25kdBEAAABfU2VtYXBob3JlX192YWx1ZSgDAAAAUhsAAAB0BQAAAHZhbHVlUhwAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAsAEAAHMKAAAAAAEMAQ8BEAESAWMCAAAAAwAAAAYAAABDAAAAc10AAAB0AAB9AgB8AABqAQCPSAABeEAAfAAAagIAZAEAawIAcjwAfAEAcywAUG4AAHwAAGoBAGoDAIMAAAFxEwBXfAAAagIAZAIAGHwAAF8CAHQEAH0CAFdkAwBRWHwCAFMoBAAAAHMABAAAQWNxdWlyZSBhIHNlbWFwaG9yZSwgZGVjcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGhvdXQgYXJndW1lbnRzOiBpZiB0aGUgaW50ZXJuYWwgY291bnRlciBpcyBsYXJnZXIgdGhhbgogICAgICAgIHplcm8gb24gZW50cnksIGRlY3JlbWVudCBpdCBieSBvbmUgYW5kIHJldHVybiBpbW1lZGlhdGVseS4gSWYgaXQgaXMgemVybwogICAgICAgIG9uIGVudHJ5LCBibG9jaywgd2FpdGluZyB1bnRpbCBzb21lIG90aGVyIHRocmVhZCBoYXMgY2FsbGVkIHJlbGVhc2UoKSB0bwogICAgICAgIG1ha2UgaXQgbGFyZ2VyIHRoYW4gemVyby4gVGhpcyBpcyBkb25lIHdpdGggcHJvcGVyIGludGVybG9ja2luZyBzbyB0aGF0CiAgICAgICAgaWYgbXVsdGlwbGUgYWNxdWlyZSgpIGNhbGxzIGFyZSBibG9ja2VkLCByZWxlYXNlKCkgd2lsbCB3YWtlIGV4YWN0bHkgb25lCiAgICAgICAgb2YgdGhlbSB1cC4gVGhlIGltcGxlbWVudGF0aW9uIG1heSBwaWNrIG9uZSBhdCByYW5kb20sIHNvIHRoZSBvcmRlciBpbgogICAgICAgIHdoaWNoIGJsb2NrZWQgdGhyZWFkcyBhcmUgYXdha2VuZWQgc2hvdWxkIG5vdCBiZSByZWxpZWQgb24uIFRoZXJlIGlzIG5vCiAgICAgICAgcmV0dXJuIHZhbHVlIGluIHRoaXMgY2FzZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggYmxvY2tpbmcgc2V0IHRvIHRydWUsIGRvIHRoZSBzYW1lIHRoaW5nIGFzIHdoZW4gY2FsbGVkCiAgICAgICAgd2l0aG91dCBhcmd1bWVudHMsIGFuZCByZXR1cm4gdHJ1ZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggYmxvY2tpbmcgc2V0IHRvIGZhbHNlLCBkbyBub3QgYmxvY2suIElmIGEgY2FsbCB3aXRob3V0CiAgICAgICAgYW4gYXJndW1lbnQgd291bGQgYmxvY2ssIHJldHVybiBmYWxzZSBpbW1lZGlhdGVseTsgb3RoZXJ3aXNlLCBkbyB0aGUKICAgICAgICBzYW1lIHRoaW5nIGFzIHdoZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLCBhbmQgcmV0dXJuIHRydWUuCgogICAgICAgIGkAAAAAaQEAAABOKAUAAABSSwAAAFJjAAAAUmQAAABSWgAAAFJMAAAAKAMAAABSGwAAAFI0AAAAUjYAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIzAAAAtwEAAHMSAAAAABQGAQoBEgEGAQQEEQIQBAwBYwEAAAABAAAABgAAAEMAAABzMQAAAHwAAGoAAI8iAAF8AABqAQBkAQAXfAAAXwEAfAAAagAAagIAgwAAAVdkAgBRWGQCAFMoAwAAAHPXAAAAUmVsZWFzZSBhIHNlbWFwaG9yZSwgaW5jcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiB0aGUgY291bnRlciBpcyB6ZXJvIG9uIGVudHJ5IGFuZCBhbm90aGVyIHRocmVhZCBpcyB3YWl0aW5nIGZvciBpdAogICAgICAgIHRvIGJlY29tZSBsYXJnZXIgdGhhbiB6ZXJvIGFnYWluLCB3YWtlIHVwIHRoYXQgdGhyZWFkLgoKICAgICAgICBpAQAAAE4oAwAAAFJjAAAAUmQAAABSXwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI4AAAA3gEAAHMGAAAAAAcKARAEYwQAAAAEAAAAAQAAAEMAAABzDgAAAHwAAGoAAIMAAAFkAABTKAEAAABOKAEAAABSOAAAACgEAAAAUhsAAABSOgAAAFI7AAAAUjwAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI9AAAA7AEAAHMCAAAAAAFOKAkAAABSIAAAAFIhAAAAUkIAAABSIgAAAFIdAAAAUjMAAABSQwAAAFI4AAAAUj0AAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmIAAACmAQAAcwwAAAAGBgYEDwcMJQYCCQ5jAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAc8ICAABBIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgbmV3IGJvdW5kZWQgc2VtYXBob3JlLgoKICAgIEEgYm91bmRlZCBzZW1hcGhvcmUgY2hlY2tzIHRvIG1ha2Ugc3VyZSBpdHMgY3VycmVudCB2YWx1ZSBkb2Vzbid0IGV4Y2VlZCBpdHMKICAgIGluaXRpYWwgdmFsdWUuIElmIGl0IGRvZXMsIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiBJbiBtb3N0IHNpdHVhdGlvbnMKICAgIHNlbWFwaG9yZXMgYXJlIHVzZWQgdG8gZ3VhcmQgcmVzb3VyY2VzIHdpdGggbGltaXRlZCBjYXBhY2l0eS4KCiAgICBJZiB0aGUgc2VtYXBob3JlIGlzIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzIGl0J3MgYSBzaWduIG9mIGEgYnVnLiBJZiBub3QKICAgIGdpdmVuLCB2YWx1ZSBkZWZhdWx0cyB0byAxLgoKICAgIExpa2UgcmVndWxhciBzZW1hcGhvcmVzLCBib3VuZGVkIHNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcKICAgIHRoZSBudW1iZXIgb2YgcmVsZWFzZSgpIGNhbGxzIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuCiAgICBpbml0aWFsIHZhbHVlLiBUaGUgYWNxdWlyZSgpIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4KICAgIHdpdGhvdXQgbWFraW5nIHRoZSBjb3VudGVyIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgKAEAAAB0EQAAAF9Cb3VuZGVkU2VtYXBob3JlKAIAAABSHgAAAFInAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSDgAAAPABAABzAgAAAAAQUmYAAABjAAAAAAAAAAADAAAAQgAAAHMmAAAAZQAAWgEAZAAAWgIAZAEAZAQAZAIAhAIAWgQAZAMAhAAAWgUAUlMoBQAAAHPhAAAAQSBib3VuZGVkIHNlbWFwaG9yZSBjaGVja3MgdG8gbWFrZSBzdXJlIGl0cyBjdXJyZW50IHZhbHVlIGRvZXNuJ3QgZXhjZWVkCiAgICAgICBpdHMgaW5pdGlhbCB2YWx1ZS4gSWYgaXQgZG9lcywgVmFsdWVFcnJvciBpcyByYWlzZWQuIEluIG1vc3Qgc2l0dWF0aW9ucwogICAgICAgc2VtYXBob3JlcyBhcmUgdXNlZCB0byBndWFyZCByZXNvdXJjZXMgd2l0aCBsaW1pdGVkIGNhcGFjaXR5LgogICAgaQEAAABjAwAAAAMAAAAEAAAAQwAAAHMgAAAAdAAAagEAfAAAfAEAfAIAgwMAAXwBAHwAAF8CAGQAAFMoAQAAAE4oAwAAAFJiAAAAUh0AAAB0DgAAAF9pbml0aWFsX3ZhbHVlKAMAAABSGwAAAFJlAAAAUhwAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAACAIAAHMEAAAAAAETAWMBAAAAAQAAAAcAAABDAAAAc1EAAAB8AABqAACPQgABfAAAagEAfAAAagIAawUAcisAdAMAZAEAgwEAggEAbgAAfAAABGoBAGQCADcCXwEAfAAAagAAagQAgwAAAVdkAwBRWGQDAFMoBAAAAHM2AQAAUmVsZWFzZSBhIHNlbWFwaG9yZSwgaW5jcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiB0aGUgY291bnRlciBpcyB6ZXJvIG9uIGVudHJ5IGFuZCBhbm90aGVyIHRocmVhZCBpcyB3YWl0aW5nIGZvciBpdAogICAgICAgIHRvIGJlY29tZSBsYXJnZXIgdGhhbiB6ZXJvIGFnYWluLCB3YWtlIHVwIHRoYXQgdGhyZWFkLgoKICAgICAgICBJZiB0aGUgbnVtYmVyIG9mIHJlbGVhc2VzIGV4Y2VlZHMgdGhlIG51bWJlciBvZiBhY3F1aXJlcywKICAgICAgICByYWlzZSBhIFZhbHVlRXJyb3IuCgogICAgICAgIHMhAAAAU2VtYXBob3JlIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzaQEAAABOKAUAAABSYwAAAFJkAAAAUmcAAABSUgAAAFJfAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjgAAAAMAgAAcwoAAAAACgoBEgEPAQ8BTigGAAAAUiAAAABSIQAAAFJCAAAAUiIAAABSHQAAAFI4AAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJmAAAAAgIAAHMGAAAABgQGAg8EYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHPfAAAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBldmVudC4KCiAgICBFdmVudHMgbWFuYWdlIGEgZmxhZyB0aGF0IGNhbiBiZSBzZXQgdG8gdHJ1ZSB3aXRoIHRoZSBzZXQoKSBtZXRo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YWwgdGltZW91dCBvY2N1cnMuCgogICAgICAgIFdoZW4gdGhlIHRpbWVvdXQgYXJndW1lbnQgaXMgcHJlc2VudCBhbmQgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhCiAgICAgICAgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHNwZWNpZnlpbmcgYSB0aW1lb3V0IGZvciB0aGUgb3BlcmF0aW9uIGluIHNlY29uZHMKICAgICAgICAob3IgZnJhY3Rpb25zIHRoZXJlb2YpLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBpbnRlcm5hbCBmbGFnIG9uIGV4aXQsIHNvIGl0IHdpbGwgYWx3YXlzIHJldHVybgogICAgICAgIFRydWUgZXhjZXB0IGlmIGEgdGltZW91dCBpcyBnaXZlbiBhbmQgdGhlIG9wZXJhdGlvbiB0aW1lcyBvdXQuCgogICAgICAgIE4oBQAAAFJpAAAAUjMAAABSagAAAFJaAAAAUjgAAAAoAgAAAFIbAAAAUlMAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJaAAAAWgIAAHMMAAAAAA8NAQMBCQETAQsCTigLAAAAUiAAAABSIQAAAFJCAAAAUiIAAABSHQAAAFJrAAAAUmwAAAB0BgAAAGlzX3NldFJtAAAAUm4AAABSWgAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSaAAAACcCAABzEAAAAAYFBgQMBQkECQQGAgkOCQ1pAAAAAHMJAAAAVGhyZWFkLSVkYwEAAAABAAAAAgAAAEMAAABzEgAAAHQAAGQBABdhAAB8AAB0AAAWUygCAAAATmkBAAAAKAEAAAB0CAAAAF9jb3VudGVyKAEAAAB0CAAAAHRlbXBsYXRlKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CAAAAF9uZXduYW1lcwIAAHMEAAAAAAIKAWMAAAAAAAAAAAcAAABCAAAAczoBAABlAABaAQBkAABaAgBlAwBaBABlBQBqBgBaBwBlBQBqCABaCQBkGABkGABkGABkGQBkGABkGABkAQCEBgBaCwBkAgCEAABaDABlDQBkAwCEAACDAQBaDgBkBACEAABaDwBkBQCEAABaEABkBgCEAABaEQBkBwCEAABaEgBkCACEAABaEwBkCQCEAABaFABkCgCEAABaFQBkCwCEAABaFgBkDACEAABaFwBkGABkDQCEAQBaGABlDQBkDgCEAACDAQBaGQBlGQBqGgBkDwCEAACDAQBaGQBlDQBkEACEAACDAQBaGwBkEQCEAABaHABlHABaHQBlDQBkEgCEAACDAQBaHgBlHgBqGgBkEwCEAACDAQBaHgBkFACEAABaHwBkFQCEAABaIABkFgCEAABaIQBkFwCEAABaIgBSUygaAAAAc3EAAABBIGNsYXNzIHRoYXQgcmVwcmVzZW50cyBhIHRocmVhZCBvZiBjb250cm9sLgoKICAgIFRoaXMgY2xhc3MgY2FuIGJlIHNhZmVseSBzdWJjbGFzc2VkIGluIGEgbGltaXRlZCBmYXNoaW9uLgoKICAgIGMHAAAABwAAAAMAAABDAAAAc7AAAAB0AABqAQB8AAB8BgCDAgABfAUAZAEAawgAciUAaQAAfQUAbgAAfAIAfAAAXwMAdAQAfAMAcD0AdAUAgwAAgwEAfAAAXwYAfAQAfAAAXwcAfAUAfAAAXwgAfAAAagkAgwAAfAAAXwoAZAEAfAAAXwsAdAwAgwAAfAAAXw0AdA4AfAAAXw8AdBAAdBEAgwAAgwEAfAAAXxIAdBMAfAAAXxQAdBUAahYAfAAAXxcAZAEAUygCAAAAc0MDAABUaGlzIGNvbnN0cnVjdG9yIHNob3VsZCBhbHdheXMgYmUgY2FsbGVkIHdpdGgga2V5d29yZCBhcmd1bWVudHMuIEFyZ3VtZW50cyBhcmU6CgogICAgICAgICpncm91cCogc2hvdWxkIGJlIE5vbmU7IHJlc2VydmVkIGZvciBmdXR1cmUgZXh0ZW5zaW9uIHdoZW4gYSBUaHJlYWRHcm91cAogICAgICAgIGNsYXNzIGlzIGltcGxlbWVudGVkLgoKICAgICAgICAqdGFyZ2V0KiBpcyB0aGUgY2FsbGFibGUgb2JqZWN0IHRvIGJlIGludm9rZWQgYnkgdGhlIHJ1bigpCiAgICAgICAgbWV0aG9kLiBEZWZhdWx0cyB0byBOb25lLCBtZWFuaW5nIG5vdGhpbmcgaXMgY2FsbGVkLgoKICAgICAgICAqbmFtZSogaXMgdGhlIHRocmVhZCBuYW1lLiBCeSBkZWZhdWx0LCBhIHVuaXF1ZSBuYW1lIGlzIGNvbnN0cnVjdGVkIG9mCiAgICAgICAgdGhlIGZvcm0gIlRocmVhZC1OIiB3aGVyZSBOIGlzIGEgc21hbGwgZGVjaW1hbCBudW1iZXIuCgogICAgICAgICphcmdzKiBpcyB0aGUgYXJndW1lbnQgdHVwbGUgZm9yIHRoZSB0YXJnZXQgaW52b2NhdGlvbi4gRGVmYXVsdHMgdG8gKCkuCgogICAgICAgICprd2FyZ3MqIGlzIGEgZGljdGlvbmFyeSBvZiBrZXl3b3JkIGFyZ3VtZW50cyBmb3IgdGhlIHRhcmdldAogICAgICAgIGludm9jYXRpb24uIERlZmF1bHRzIHRvIHt9LgoKICAgICAgICBJZiBhIHN1YmNsYXNzIG92ZXJyaWRlcyB0aGUgY29uc3RydWN0b3IsIGl0IG11c3QgbWFrZSBzdXJlIHRvIGludm9rZQogICAgICAgIHRoZSBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yIChUaHJlYWQuX19pbml0X18oKSkgYmVmb3JlIGRvaW5nIGFueXRoaW5nCiAgICAgICAgZWxzZSB0byB0aGUgdGhyZWFkLgoKTigYAAAAUhoAAABSHQAAAFIiAAAAdA8AAABfVGhyZWFkX190YXJnZXR0AwAAAHN0clJyAAAAdA0AAABfVGhyZWFkX19uYW1ldA0AAABfVGhyZWFkX19hcmdzdA8AAABfVGhyZWFkX19rd2FyZ3N0CwAAAF9zZXRfZGFlbW9udBEAAABfVGhyZWFkX19kYWVtb25pY3QOAAAAX1RocmVhZF9faWRlbnRSCgAAAHQQAAAAX1RocmVhZF9fc3RhcnRlZFJLAAAAdBAAAABfVGhyZWFkX19zdG9wcGVkUgYAAABSCwAAAHQOAAAAX1RocmVhZF9fYmxvY2tSTAAAAHQUAAAAX1RocmVhZF9faW5pdGlhbGl6ZWR0BAAAAF9zeXN0BgAAAHN0ZGVycnQPAAAAX1RocmVhZF9fc3RkZXJyKAcAAABSGwAAAHQFAAAAZ3JvdXB0BgAAAHRhcmdldFItAAAAUh4AAABSJwAAAFIcAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSHQAAAJACAABzHAAAAAAYEAEMAQkBCQEYAQkBCQEPAQkBDAEJARIBCQNjAQAAAAEAAAADAAAAQwAAAHMwAAAAdAAAfAAAZAEAgwIAch8AfAAAagEAagIAgwAAAW4AAHwAAGoDAGoEAIMAAAFkAABTKAIAAABOUn0AAAAoBQAAAHQHAAAAaGFzYXR0clJ9AAAAUh0AAABSewAAAFJrAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmsAAAC5AgAAcwYAAAAAAw8BEAFjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAATigBAAAAUn0AAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BgAAAF9ibG9ja8ACAABzAgAAAAADYwEAAAABAAAAAQAAAEMAAABzCgAAAHQAAIMAAGoBAFMoAQAAAE4oAgAAAFIIAAAAdAYAAABkYWVtb24oAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSeAAAAMUCAABzAgAAAAACYwEAAAACAAAABAAAAEMAAABzgwAAAGQBAH0BAHwAAGoAAGoBAIMAAHIeAGQCAH0BAG4AAHwAAGoCAHIwAGQDAH0BAG4AAHwAAGoDAHJGAHwBAGQEADd9AQBuAAB8AABqBABkAABrCQByaQB8AQBkBQB8AABqBAAWN30BAG4AAGQGAHwAAGoGAGoHAHwAAGoIAHwBAGYDABZTKAcAAABOdAcAAABpbml0aWFsdAcAAABzdGFydGVkdAcAAABzdG9wcGVkcwcAAAAgZGFlbW9ucwMAAAAgJXNzDAAAADwlcyglcywgJXMpPigJAAAAUnsAAABSbwAAAFJ8AAAAUnkAAABSegAAAFIiAAAAUi8AAABSIAAAAFJ1AAAAKAIAAABSGwAAAHQGAAAAc3RhdHVzKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSMQAAAMkCAABzFAAAAAACBgEPAQkBCQEJAQkBDQEPARQBYwEAAAABAAAABwAAAEMAAABznQAAAHwAAGoAAHMYAHQBAGQBAIMBAIIBAG4AAHwAAGoCAGoDAIMAAHI2AHQBAGQCAIMBAIIBAG4AAHQEAI8PAAF8AAB0BQB8AAA8V2QDAFFYeRQAdAYAfAAAagcAZAQAgwIAAVduKAAEdAgAawoAcosAAQEBdAQAjwwAAXQFAHwAAD1XZAMAUViCAABuAQBYfAAAagIAagkAgwAAAWQDAFMoBQAAAHMtAQAAU3RhcnQgdGhlIHRocmVhZCdzIGFjdGl2aXR5LgoKICAgICAgICBJdCBtdXN0IGJlIGNhbGxlZCBhdCBtb3N0IG9uY2UgcGVyIHRocmVhZCBvYmplY3QuIEl0IGFycmFuZ2VzIGZvciB0aGUKICAgICAgICBvYmplY3QncyBydW4oKSBtZXRob2QgdG8gYmUgaW52b2tlZCBpbiBhIHNlcGFyYXRlIHRocmVhZCBvZiBjb250cm9sLgoKICAgICAgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIGEgUnVudGltZUVycm9yIGlmIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBvbiB0aGUKICAgICAgICBzYW1lIHRocmVhZCBvYmplY3QuCgogICAgICAgIHMcAAAAdGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZHMgAAAAdGhyZWFkcyBjYW4gb25seSBiZSBzdGFydGVkIG9uY2VOKAAAAAAoCgAAAFJ+AAAAUjcAAABSewAAAFJvAAAAdBIAAABfYWN0aXZlX2xpbWJvX2xvY2t0BgAAAF9saW1ib3QRAAAAX3N0YXJ0X25ld190aHJlYWR0EgAAAF9UaHJlYWRfX2Jvb3RzdHJhcHQJAAAARXhjZXB0aW9uUloAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BQAAAHN0YXJ01gIAAHMaAAAAAAoJAQ8BDwEPAwcBEAEDARQBDQEHAQ0BBwFjAQAAAAEAAAAEAAAAQwAAAHNAAAAAeiYAfAAAagAAciUAfAAAagAAfAAAagEAfAAAagIAjgAAAW4AAFdkAQB8AABgAAB8AABgAQB8AABgAgBYZAEAUygCAAAAc1gBAABNZXRob2QgcmVwcmVzZW50aW5nIHRoZSB0aHJlYWQncyBhY3Rpdml0eS4KCiAgICAgICAgWW91IG1heSBvdmVycmlkZSB0aGlzIG1ldGhvZCBpbiBhIHN1YmNsYXNzLiBUaGUgc3RhbmRhcmQgcnVuKCkgbWV0aG9kCiAgICAgICAgaW52b2tlcyB0aGUgY2FsbGFibGUgb2JqZWN0IHBhc3NlZCB0byB0aGUgb2JqZWN0J3MgY29uc3RydWN0b3IgYXMgdGhlCiAgICAgICAgdGFyZ2V0IGFyZ3VtZW50LCBpZiBhbnksIHdpdGggc2VxdWVudGlhbCBhbmQga2V5d29yZCBhcmd1bWVudHMgdGFrZW4KICAgICAgICBmcm9tIHRoZSBhcmdzIGFuZCBrd2FyZ3MgYXJndW1lbnRzLCByZXNwZWN0aXZlbHkuCgogICAgICAgIE4oAwAAAFJzAAAAUnYAAABSdwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQDAAAAcnVu8AIAAHMIAAAAAAkDAQkBHQRjAQAAAAEAAAADAAAAQwAAAHM4AAAAeQ4AfAAAagAAgwAAAVduIwABAQF8AABqAQByLQB0AgBkAABrCAByLQBkAABTggAAbgEAWGQAAFMoAQAAAE4oBAAAAHQYAAAAX1RocmVhZF9fYm9vdHN0cmFwX2lubmVyUnkAAABSfwAAAFIiAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAsAAABfX2Jvb3RzdHJhcAEDAABzDAAAAAANAwEOAQMBFQEEAWMBAAAAAQAAAAIAAABDAAAAcxAAAAB0AACDAAB8AABfAQBkAABTKAEAAABOKAIAAABSMgAAAFJ6AAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAoAAABf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IG51bWJlciBzcGVjaWZ5aW5nIGEgdGltZW91dCBmb3IgdGhlIG9wZXJhdGlvbiBpbiBzZWNvbmRzCiAgICAgICAgKG9yIGZyYWN0aW9ucyB0aGVyZW9mKS4gQXMgam9pbigpIGFsd2F5cyByZXR1cm5zIE5vbmUsIHlvdSBtdXN0IGNhbGwKICAgICAgICBpc0FsaXZlKCkgYWZ0ZXIgam9pbigpIHRvIGRlY2lkZSB3aGV0aGVyIGEgdGltZW91dCBoYXBwZW5lZCAtLSBpZiB0aGUKICAgICAgICB0aHJlYWQgaXMgc3RpbGwgYWxpdmUsIHRoZSBqb2luKCkgY2FsbCB0aW1lZCBvdXQuCgogICAgICAgIFdoZW4gdGhlIHRpbWVvdXQgYXJndW1lbnQgaXMgbm90IHByZXNlbnQgb3IgTm9uZSwgdGhlIG9wZXJhdGlvbiB3aWxsCiAgICAgICAgYmxvY2sgdW50aWwgdGhlIHRocmVhZCB0ZXJtaW5hdGVzLgoKICAgICAgICBBIHRocmVhZCBjYW4gYmUgam9pbigpZWQgbWFueSB0aW1lcy4KCiAgICAgICAgam9pbigpIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gam9pbiB0aGUgY3VycmVudAogICAgICAgIHRocmVhZCBhcyB0aGF0IHdvdWxkIGNhdXNlIGEgZGVhZGxvY2suIEl0IGlzIGFsc28gYW4gZXJyb3IgdG8gam9pbigpIGEKICAgICAgICB0aHJlYWQgYmVmb3JlIGl0IGhhcyBiZWVuIHN0YXJ0ZWQgYW5kIGF0dGVtcHRzIHRvIGRvIHNvIHJhaXNlcyB0aGUgc2FtZQogICAgICAgIGV4Y2VwdGlvbi4KCiAgICAgICAgcxwAAABUaHJlYWQuX19pbml0X18oKSBub3QgY2FsbGVkcycAAABjYW5ub3Qgam9pbiB0aHJlYWQgYmVmb3JlIGl0IGlzIHN0YXJ0ZWRzGgAAAGNhbm5vdCBqb2luIGN1cnJlbnQgdGhyZWFkaQAAAABOKAwAAABSfgAAAFI3AAAAUnsAAABSbwAAAFIIAAAAUn0AAABSMwAAAFIiAAAAUnwAAABSWgAAAFJOAAAAUjgAAAAoBAAAAFIbAAAAUlMAAAB0CAAAAGRlYWRsaW5lUlcAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQEAAAAam9pbo8DAABzKAAAAAAYCQEPAQ8BDwEPAQ8FDQEDAQwBDAERAQMDDQEMAQ0BDAMEARQCBANjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAAc7gAAABBIHN0cmluZyB1c2VkIGZvciBpZGVudGlmaWNhdGlvbiBwdXJwb3NlcyBvbmx5LgoKICAgICAgICBJdCBoYXMgbm8gc2VtYW50aWNzLiBNdWx0aXBsZSB0aHJlYWRzIG1heSBiZSBnaXZlbiB0aGUgc2FtZSBuYW1lLiBUaGUKICAgICAgICBpbml0aWFsIG5hbWUgaXMgc2V0IGJ5IHRoZSBjb25zdHJ1Y3Rvci4KCiAgICAgICAgKAEAAABSdQAAACgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVItAAAAxwMAAHMCAAAAAAljAgAAAAIAAAACAAAAQwAAAHMTAAAAdAAAfAEAgwEAfAAAXwEAZAAAUygBAAAATigCAAAAUnQAAABSdQAAACgCAAAAUhsAAABSLQAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ui0AAADSAwAAcwIAAAAAA2MBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABzOwEAAFRocmVhZCBpZGVudGlmaWVyIG9mIHRoaXMgdGhyZWFkIG9yIE5vbmUgaWYgaXQgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQuCgogICAgICAgIFRoaXMgaXMgYSBub256ZXJvIGludGVnZXIuIFNlZSB0aGUgdGhyZWFkLmdldF9pZGVudCgpIGZ1bmN0aW9uLiBUaHJlYWQKICAgICAgICBpZGVudGlmaWVycyBtYXkgYmUgcmVjeWNsZWQgd2hlbiBhIHRocmVhZCBleGl0cyBhbmQgYW5vdGhlciB0aHJlYWQgaXMKICAgICAgICBjcmVhdGVkLiBUaGUgaWRlbnRpZmllciBpcyBhdmFpbGFibGUgZXZlbiBhZnRlciB0aGUgdGhyZWFkIGhhcyBleGl0ZWQuCgogICAgICAgICgBAAAAUnoAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BQAAAGlkZW501wMAAHMCAAAAAApjAQAAAAEAAAACAAAAQwAAAHMXAAAAfAAAagAAagEAgwAAbxYAfAAAagIADFMoAQAAAHP2AAAAUmV0dXJuIHdoZXRoZXIgdGhlIHRocmVhZCBpcyBhbGl2ZS4KCiAgICAgICAgVGhpcyBtZXRob2QgcmV0dXJucyBUcnVlIGp1c3QgYmVmb3JlIHRoZSBydW4oKSBtZXRob2Qgc3RhcnRzIHVudGlsIGp1c3QKICAgICAgICBhZnRlciB0aGUgcnVuKCkgbWV0aG9kIHRlcm1pbmF0ZXMuIFRoZSBtb2R1bGUgZnVuY3Rpb24gZW51bWVyYXRlKCkKICAgICAgICByZXR1cm5zIGEgbGlzdCBvZiBhbGwgYWxpdmUgdGhyZWFkcy4KCiAgICAgICAgKAMAAABSewAAAFJvAAAAUnwAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BwAAAGlzQWxpdmXjAwAAcwIAAAAACWMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABz3AEAAEEgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyB0aHJlYWQgaXMgYSBkYWVtb24gdGhyZWFkIChUcnVlKSBvciBub3QgKEZhbHNlKS4KCiAgICAgICAgVGhpcyBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQoKSBpcyBjYWxsZWQsIG90aGVyd2lzZSBSdW50aW1lRXJyb3IgaXMKICAgICAgICByYWlzZWQuIEl0cyBpbml0aWFsIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSBjcmVhdGluZyB0aHJlYWQ7IHRoZQogICAgICAgIG1haW4gdGhyZWFkIGlzIG5vdCBhIGRhZW1vbiB0aHJlYWQgYW5kIHRoZXJlZm9yZSBhbGwgdGhyZWFkcyBjcmVhdGVkIGluCiAgICAgICAgdGhlIG1haW4gdGhyZWFkIGRlZmF1bHQgdG8gZGFlbW9uID0gRmFsc2UuCgogICAgICAgIFRoZSBlbnRpcmUgUHl0aG9uIHByb2dyYW0gZXhpdHMgd2hlbiBubyBhbGl2ZSBub24tZGFlbW9uIHRocmVhZHMgYXJlCiAgICAgICAgbGVmdC4KCiAgICAgICAgKAEAAABSeQAAACgBAAAAUhsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVKGAAAA8AMAAHMCAAAAAA5jAgAAAAIAAAACAAAAQwAAAHNDAAAAfAAAagAAcxgAdAEAZAEAgwEAggEAbgAAfAAAagIAagMAgwAAcjYAdAEAZAIAgwEAggEAbgAAfAEAfAAAXwQAZAAAUygDAAAATnMcAAAAVGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZHMpAAAAY2Fubm90IHNldCBkYWVtb24gc3RhdHVzIG9mIGFjdGl2ZSB0aHJlYWQoBQAAAFJ+AAAAUjcAAABSewAAAFJvAAAAUnkAAAAoAgAAAFIbAAAAdAgAAABkYWVtb25pYygAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UoYAAAAABAAAcwoAAAAAAgkBDwEPAQ8BYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAE4oAQAAAFKGAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABpc0RhZW1vbggEAABzAgAAAAABYwIAAAACAAAAAgAAAEMAAABzDQAAAHwBAHwAAF8AAGQAAFMoAQAAAE4oAQAAAFKGAAAAKAIAAABSGwAAAFKtAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CQAAAHNldERhZW1vbgsEAABzAgAAAAABYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAE4oAQAAAFItAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAcAAABnZXROYW1lDgQAAHMCAAAAAAFjAgAAAAIAAAACAAAAQwAAAHMNAAAAfAEAfAAAXwAAZAAAUygBAAAATigBAAAAUi0AAAAoAgAAAFIbAAAAUi0A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AAAAUnsAAABSbQAAAFKUAAAAUosAAABSLAAAAFIyAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uh0AAABCBAAAcwoAAAAAARMBDQEKAQcBYwEAAAABAAAAAQAAAEMAAABzBAAAAHQAAFMoAQAAAE4oAQAAAFJLAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UngAAABJBAAAcwIAAAAAAWMBAAAAAgAAAAEAAABDAAAAc0oAAAB8AABqAACDAAABdAEAgwAAfQEAfAEAchwAbgAAeB0AfAEAcjsAfAEAagIAgwAAAXQBAIMAAH0BAHEfAFd8AABqAwCDAAABZAAAUygBAAAATigEAAAAUqAAAAB0GAAAAF9waWNrU29tZU5vbkRhZW1vblRocmVhZFKqAAAAUrUAAAAoAgAAAFIbAAAAUjoAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQJAAAAX2V4aXRmdW5jTAQAAHMQAAAAAAEKAQkBBgEDAgkBCgENAygFAAAAUiAAAABSIQAAAFIdAAAAUngAAABSwAAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSvQAAAEAEAABzBgAAAAYCCQcJA2MAAAAAAQAAAAMAAABDAAAAczIAAAB4KwB0AACDAABEXSAAfQAAfAAAagEADHIKAHwAAGoCAIMAAHIKAHwAAFNxCgBXZAAAUygBAAAATigEAAAAUgkAAABShgAAAFK3AAAAUiIAAAAoAQAAAFI6AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSvwAAAFkEAABzCAAAAAABEAEWAQgBdAwAAABfRHVtbXlUaHJlYWRjAAAAAAAAAAACAAAAQgAAAHMmAAAAZQAAWgEAZAAAhAAAWgIAZAEAhAAAWgMAZAMAZAIAhAEAWgUAUlMoBAAAAGMBAAAAAQAAAAcAAABDAAAAc1QAAAB0AABqAQB8AABkAQB0AgBkAgCDAQCDAQEBfAAAYAMAfAAAagQAagUAgwAAAXwAAGoGAIMAAAF0BwCPEgABfAAAdAgAdAkAgwAAPFdkAABRWGQAAFMoAwAAAE5SLQAAAHMIAAAARHVtbXktJWQoCgAAAFIPAAAAUh0AAABScgAAAFJ9AAAAUnsAAABSbQAAAFKUAAAAUosAAABSLAAAAFIyAAAAKAEAAABSGwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uh0AAABqBAAAcwwAAAAAARkFBgINAQoBBwFjAQAAAAEAAAABAAAAQwAAAHMEAAAAdAAAUygBAAAATigBAAAAUkwAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSeAAAAHcEAABzAgAAAAABYwIAAAACAAAAAQAAAEMAAABzBAAAAGQAAFMoAQAAAE4oAAAAACgCAAAAUhsAAABSUwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UqoAAAB6BAAAcwIAAAAAAU4oBgAAAFIgAAAAUiEAAABSHQAAAFJ4AAAAUiIAAABSqgAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSwQAAAGgEAABzBgAAAAYCCQ0JA2MAAAAAAAAAAAUAAABDAAAAcysAAAB5DwB0AAB0AQCDAAAZU1duFQAEdAIAawoAciYAAQEBdAMAgwAAU1hkAQBTKAIAAABz7wAAAFJldHVybiB0aGUgY3VycmVudCBUaHJlYWQgb2JqZWN0LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjYWxsZXIncyB0aHJlYWQgb2YgY29udHJvbC4KCiAgICBJZiB0aGUgY2FsbGVyJ3MgdGhyZWFkIG9mIGNvbnRyb2wgd2FzIG5vdCBjcmVhdGVkIHRocm91Z2ggdGhlIHRocmVhZGluZwogICAgbW9kdWxlLCBhIGR1bW15IHRocmVhZCBvYmplY3Qgd2l0aCBsaW1pdGVkIGZ1bmN0aW9uYWxpdHkgaXMgcmV0dXJuZWQuCgogICAgTigEAAAAUiwAAABSMgAAAFIuAAAAUsEAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UgcAAACABAAAcwgAAAAABwMBDwENAmMAAAAAAAAAAAcAAABDAAAAcyUAAAB0AACPGQABdAEAdAIAgwEAdAEAdAMAgwEAF1NXZAEAUVhkAQBTKAIAAABzkgAAAFJldHVybiB0aGUgbnVtYmVyIG9mIFRocmVhZCBvYmplY3RzIGN1cnJlbnRseSBhbGl2ZS4KCiAgICBUaGUgcmV0dXJuZWQgY291bnQgaXMgZXF1YWwgdG8gdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCByZXR1cm5lZCBieQogICAgZW51bWVyYXRlKCkuCgogICAgTigEAAAAUosAAABSSQAAAFIsAAAAUowAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UgQAAACPBAAAcwQAAAAABwcBYwAAAAAAAAAAAgAAAEMAAABzFAAAAHQAAGoBAIMAAHQCAGoBAIMAABdTKAEAAABOKAMAAABSLAAAAHQGAAAAdmFsdWVzUowAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAoAAABfZW51bWVyYXRlmwQAAHMCAAAAAAJjAAAAAAAAAAAGAAAAQwAAAHMlAAAAdAAAjxkAAXQBAGoCAIMAAHQDAGoCAIMAABdTV2QBAFFYZAEAUygCAAAAc/0AAABSZXR1cm4gYSBsaXN0IG9mIGFsbCBUaHJlYWQgb2JqZWN0cyBjdXJyZW50bHkgYWxpdmUuCgogICAgVGhlIGxpc3QgaW5jbHVkZXMgZGFlbW9uaWMgdGhyZWFkcywgZHVtbXkgdGhyZWFkIG9iamVjdHMgY3JlYXRlZCBieQogICAgY3VycmVudF90aHJlYWQoKSwgYW5kIHRoZSBtYWluIHRocmVhZC4gSXQgZXhjbHVkZXMgdGVybWluYXRlZCB0aHJlYWRzIGFuZAogICAgdGhyZWFkcyB0aGF0IGhhdmUgbm90IHlldCBiZWVuIHN0YXJ0ZWQuCgogICAgTigEAAAAUosAAABSLAAAAFLCAAAAUowAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UgkAAACfBAAAcwQAAAAACAcBKAEAAABSFAAAACgBAAAAdAYAAABfbG9jYWwoAQAAAFITAAAAYwAAAAAEAAAACAAAAEMAAABzrwAAAHQAAIMAAGEBAGkAAH0AAHQCAIMAAH0BAHQBAI+LAAF4YgB0AwCDAABEXVcAfQIAdAQAfAIAZAEAgwIAcksAfAIAagUAgwAAAW4AAHwCAHwBAGsIAHJ2AHQGAIMAAH0DAHwDAHwCAF8HAHwCAHwAAHwDADxxKQB8AgBqCACDAAABcSkAV3QJAGoKAIMAAAF0CwBqCgCDAAABdAsAagwAfAAAgwEAAVdkAABRWGQAAFMoAgAAAE5SawAAACgNAAAAUigAAABSiwAAAFIIAAAAUsMAAABShAAAAFJrAAAAUjIAAABSegAAAFKgAAAAUowAAABSbgAAAFIsAAAAdAYAAAB1cGRhdGUoBAAAAHQKAAAAbmV3X2FjdGl2ZXQHAAAAY3VycmVudHQGAAAAdGhyZWFkUqsAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQLAAAAX2FmdGVyX2Zvcmu7BAAAcyAAAAAACAkDBgEJAQcBEAMPAQ0BDAMJAQkBDQMOAgoBCgENAWMAAAAACwAAAAQAAABDAAAAcxUBAABkAQB0AABmAQBkAgCEAACDAABZfQAAZAMAdAEAZgEAZAQAhAAAgwAAWX0BAGQFAHQBAGYBAGQGAIQAAIMAAFl9AgBkBwB9AwBkCAB9BABkCQB9BQB8AAB8BACDAQB9BgBnAAB9BwB4QQB0AgB8AwCDAQBEXTMAfQgAfAEAfAYAfAUAgwIAfQkAZAoAfAgAZAsAFxZ8CQBfAwB8BwBqBAB8CQCDAQABcXMAV3wCAHwGAHwFAHwDABSDAgB9CgB4IgB8BwBEXRoAfQkAfAkAagUAgwAAAXQGAGQMAIMBAAFxxABXfAoAagUAgwAAAXgYAHwHAERdEAB9CQB8CQBqBwCDAAABcfMAV3wKAGoHAIMAAAFkAABTKA0AAABOdAwAAABCb3VuZGVkUXVldWVjAAAAAAAAAAABAAAAQgAAAHMjAAAAZQAAWgEAZAAAhAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAUlMoAwAAAGMCAAAAAgAAAAIAAABTAAAAc1YAAAB0AABqAQB8AACDAQABdAIAgwAAfAAAXwMAdAQAfAAAagMAgwEAfAAAXwUAdAQAfAAAagMAgwEAfAAAXwYAfAEAfAAAXwcAdAgAgwAAfAAAXwkAZAAAUygBAAAATigKAAAAUhoAAABSHQAAAFIMAAAAdAMAAABtb25SBgAAAFI2AAAAdAIAAAB3Y3QFAAAAbGltaXR0BgAAAF9kZXF1ZXQFAAAAcXVldWUoAgAAAFIbAAAAUs0AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAA5AQAAHMMAAAAAAENAQwBEgESAQkBYwIAAAACAAAABQAAAFMAAABzkwAAAHwAAGoAAGoBAIMAAAF4OQB0AgB8AABqAwCDAQB8AABqBABrBQBySAB8AABqBQBkAQB8AQCDAgABfAAAagYAagcAgwAAAXEQAFd8AABqAwBqCAB8AQCDAQABfAAAagUAZAIAfAEAdAIAfAAAagMAgwEAgwMAAXwAAGoJAGoKAIMAAAF8AABqAABqCwCDAAABZAAAUygDAAAATnMTAAAAcHV0KCVzKTogcXVldWUgZnVsbHMgAAAAcHV0KCVzKTogYXBwZW5kZWQsIGxlbmd0aCBub3cgJWQoDAAAAFLLAAAAUjMAAABSSQAAAFLPAAAAUs0AAABSHwAAAFLMAAAAUloAAABSTQAAAFI2AAAAUl8AAABSOAAAACgCAAAAUhsAAAB0BAAAAGl0ZW0oAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQDAAAAcHV07AQAAHMSAAAAAAENARsBEAERARABCQETAQ0BYwEAAAACAAAABQAAAFMAAABzgAAAAHwAAGoAAGoBAIMAAAF4JwB8AABqAgBzNgB8AABqAwBkAQCDAQABfAAAagQAagUAgwAAAXEQAFd8AABqAgBqBgCDAAB9AQB8AABqAwBkAgB8AQB0BwB8AABqAgCDAQCDAwABfAAAaggAagkAgwAAAXwAAGoAAGoKAIMAAAF8AQBTKAMAAABOcxIAAABnZXQoKTogcXVldWUgZW1wdHlzFgAAAGdldCgpOiBnb3QgJXMsICVkIGxlZnQoCwAAAFLLAAAAUjMAAABSzwAAAFIfAAAAUjYAAABSWgAAAHQHAAAAcG9wbGVmdFJJAAAAUswAAABSXwAAAFI4AAAAKAIAAABSGwAAAFLQAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0AwAAAGdldPcEAABzEgAAAAABDQEMAQ0BEQEPARwBDQENASgFAAAAUiAAAABSIQAAAFIdAAAAUtEAAABS0wAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSygAAAOIEAABzBgAAAAYCCQgJC3QOAAAAUHJvZHVjZXJUaHJlYWRjAAAAAAAAAAABAAAAQgAAAHMaAAAAZQAAWgEAZAAAhAAAWgIAZAEAhAAAWgMAUlMoAgAAAGMDAAAAAwAAAAQAAABTAAAAcykAAAB0AABqAQB8AABkAQBkAgCDAQEBfAEAfAAAXwIAfAIAfAAAXwMAZAAAUygDAAAATlItAAAAdAgAAABQcm9kdWNlcigEAAAAUg8AAABSHQAAAFLPAAAAdAUAAABxdW90YSgDAAAAUhsAAABSzwAAAFLWAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSHQAAAAQFAABzBgAAAAABEwEJAWMBAAAAAwAAAAQAAABTAAAAc2gAAABkAQBkAgBsAABtAAB9AQABZAMAfQIAeEsAfAIAfAAAagEAawAAcmMAfAIAZAQAF30CAHwAAGoCAGoDAGQFAHwAAGoEAHwCAGYCABaDAQABdAUAfAEAgwAAZAYAFIMBAAFxGQBXZAAAUygHAAAATmn/////KAEAAAB0BgAAAHJhbmRvbWkAAAAAaQEAAABzBQAAACVzLiVkZ/Fo44i1+OQ+KAYAAABS1wAAAFLWAAAAUs8AAABS0QAAAFItAAAAUlAAAAAoAwAAAFIbAAAAUtcAAAB0BwAAAGNvdW50ZXIoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVKRAAAACQUAAHMMAAAAAAEQAQYBEgEKAR0BKAQAAABSIAAAAFIhAAAAUh0AAABSkQAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlS1AAAAAIFAABzBAAAAAYCCQV0DgAAAENvbnN1bWVyVGhyZWFkYwAAAAAAAAAAAQAAAEIAAABzGgAAAGUAAFoBAGQAAIQAAFoCAGQBAIQAAFoDAFJTKAIAAABjAwAAAAMAAAAEAAAAUwAAAHMpAAAAdAAAagEAfAAAZAEAZAIAgwEBAXwBAHwAAF8CAHwCAHwAAF8DAGQAAFMoAwAAAE5SLQAAAHQIAAAAQ29uc3VtZXIoBAAAAFIPAAAAUh0AAABSzwAAAFI5AAAAKAMAAABSGwAAAFLPAAAAUjkAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAFAUAAHMGAAAAAAETAQkBYwEAAAACAAAAAgAAAFMAAABzPgAAAHg3AHwAAGoAAGQBAGsEAHI5AHwAAGoBAGoCAIMAAH0BAHwBAEdIfAAAagAAZAIAGHwAAF8AAHEDAFdkAABTKAMAAABOaQAAAABpAQAAACgDAAAAUjkAAABSzwAAAFLTAAAAKAIAAABSGwAAAFLQAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSkQAAABkFAABzCAAAAAABEgEPAQUBKAQAAABSIAAAAFIhAAAAUh0AAABSkQAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlS2QAAABIFAABzBAAAAAYCCQVpAwAAAGkEAAAAaQUAAABzCwAAAFByb2R1Y2VyLSVkaQEAAABnje21oPfGsD4oCAAAAFIaAAAAUg8AAAB0BQAAAHJhbmdlUi0AAABSTQAAAFKQAAAAUlAAAABSqgAAACgLAAAAUsoAAABS1AAAAFLZAAAAdAIAAABOUHQCAAAAUUx0AgAAAE5JdAEAAABRdAEAAABQdAEAAABpUjoAAAB0AQAAAEMoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQFAAAAX3Rlc3TgBAAAcygAAAAAAhYgFhAWDQYBBgEGAgwBBgETAQ8BEQERARMBDQEKAQ4BCgENAQ4BdAgAAABfX21haW5fXyhKAAAAUkIAAAB0AwAAAHN5c1J/AAAAUsgAAAB0CwAAAEltcG9ydEVycm9yUqcAAABSIAAAAHQIAAAAd2FybmluZ3N0CwAAAGNvbGxlY3Rpb25zUgAAAABSzgAAAFIBAAAAUk4AAABSAgAAAFJQAAAAdAkAAAB0cmFjZWJhY2tSAwAAAFKXAAAAdAcAAABfX2FsbF9fdBAAAABzdGFydF9uZXdfdGhyZWFkUo0AAAB0DQAAAGFsbG9jYXRlX2xvY2tSKAAAAHQJAAAAZ2V0X2lkZW50UjIAAAB0BQAAAGVycm9ydAsAAABUaHJlYWRFcnJvcnQOAAAAZmlsdGVyd2FybmluZ3N0EgAAAERlcHJlY2F0aW9uV2FybmluZ1JLAAAAdAgAAABfVkVSQk9TRXQGAAAAb2JqZWN0UhoAAABSIgAAAFIjAAAAUiUAAABSEQAAAFISAAAAUgsAAABSDAAAAFImAAAAUgYAAABSRAAAAFINAAAAUmIAAABSDgAAAFJmAAAAUgoAAABSaAAAAFJwAAAAUnIAAABSiwAAAFIsAAAAUowAAABSDwAAAFIQAAAAUrgAAABSvQAAAFK/AAAAUsEAAABSBwAAAFIIAAAAUgQAAABSBQAAAFLDAAAAUgkAAABSFAAAAFLAAAAAdAkAAABfc2h1dGRvd25SxAAAAFITAAAAdBAAAABfdGhyZWFkaW5nX2xvY2FsUskAAABS4wAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CAAAADxtb2R1bGU+AQAAAHOEAAAABgIMAgMBEAENAQoBBwIMAhABFgEQDgwBCQEPARUCCQEJAQkBCQEDBRIBDQgGGhYIBgEGAgkKCQwGAgkLFnUJDRadCQsWSgkSFhsJChZLBgEMBgkBBgEGBRb/AJcJDBYeFhkJDxYYCQ0GAgkKBgIJBAkLEAYMBQMBFAENARQDCSUJUgwB