REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 137.04 KB
Close
//opt/alt/python27/lib/python2.7/site-packages/pkg_resources/__init__.pyc
Text
Base64
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AgFk0QCEAABavgBlvgBlvwCDAABk0gCEAQCDAQBawABlvgBk0wCEAACDAQBawQBkAwBTKNQAAABzWgIAAApQYWNrYWdlIHJlc291cmNlIEFQSQotLS0tLS0tLS0tLS0tLS0tLS0tLQoKQSByZXNvdXJjZSBpcyBhIGxvZ2ljYWwgZmlsZSBjb250YWluZWQgd2l0aGluIGEgcGFja2FnZSwgb3IgYSBsb2dpY2FsCnN1YmRpcmVjdG9yeSB0aGVyZW9mLiAgVGhlIHBhY2thZ2UgcmVzb3VyY2UgQVBJIGV4cGVjdHMgcmVzb3VyY2UgbmFtZXMKdG8gaGF2ZSB0aGVpciBwYXRoIHBhcnRzIHNlcGFyYXRlZCB3aXRoIGBgL2BgLCAqbm90KiB3aGF0ZXZlciB0aGUgbG9jYWwKcGF0aCBzZXBhcmF0b3IgaXMuICBEbyBub3QgdXNlIG9zLnBhdGggb3BlcmF0aW9ucyB0byBtYW5pcHVsYXRlIHJlc291cmNlCm5hbWVzIGJlaW5nIHBhc3NlZCBpbnRvIHRoZSBBUEkuCgpUaGUgcGFja2FnZSByZXNvdXJjZSBBUEkgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIG5vcm1hbCBmaWxlc3lzdGVtIHBhY2thZ2VzLAouZWdnIGZpbGVzLCBhbmQgdW5wYWNrZWQgLmVnZyBmaWxlcy4gIEl0IGNhbiBhbHNvIHdvcmsgaW4gYSBsaW1pdGVkIHdheSB3aXRoCi56aXAgZmlsZXMgYW5kIHdpdGggY3VzdG9tIFBFUCAzMDIgbG9hZGVycyB0aGF0IHN1cHBvcnQgdGhlIGBgZ2V0X2RhdGEoKWBgCm1ldGhvZC4KaQAAAAAoAQAAAHQPAAAAYWJzb2x1dGVfaW1wb3J0TigBAAAAdAwAAABnZXRfaW1wb3J0ZXIoAQAAAHQDAAAAc2l4KAMAAAB0BgAAAHVybGxpYnQDAAAAbWFwdAYAAABmaWx0ZXIoAQAAAHQFAAAAdXRpbWUoAwAAAHQFAAAAbWtkaXJ0BgAAAHJlbmFtZXQGAAAAdW5saW5rKAEAAAB0BAAAAG9wZW4oAgAAAHQFAAAAaXNkaXJ0BQAAAHNwbGl0aQEAAAAoAQAAAHQKAAAAcHkzMWNvbXBhdCgBAAAAdAcAAABhcHBkaXJzKAEAAAB0CQAAAHBhY2thZ2luZ3MmAAAAcGtnX3Jlc291cmNlcy5leHRlcm4ucGFja2FnaW5nLnZlcnNpb25zKQAAAHBrZ19yZXNvdXJjZXMuZXh0ZXJuLnBhY2thZ2luZy5zcGVjaWZpZXJzcysAAABwa2dfcmVzb3VyY2VzLmV4dGVybi5wYWNrYWdpbmcucmVxdWlyZW1lbnRzcyYAAABwa2dfcmVzb3VyY2VzLmV4dGVybi5wYWNrYWdpbmcubWFya2Vyc2kDAAAAcx8AAABQeXRob24gMy4zIG9yIGxhdGVyIGlzIHJlcXVpcmVkdA0AAABQRVA0NDBXYXJuaW5nYwAAAAAAAAAAAQAAAEJAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzYQAAAAogICAgVXNlZCB3aGVuIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggYSB2ZXJzaW9uIG9yIHNwZWNpZmllciBub3QgY29tcGx5aW5nIHdpdGgKICAgIFBFUCA0NDAuCiAgICAoAwAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX190BwAAAF9fZG9jX18oAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UhAAAABZAAAAcwIAAAAGBHQXAAAAX1NldHVwdG9vbHNWZXJzaW9uTWl4aW5jAAAAAAAAAAABAAAAQkAAAHNZAAAAZQAAWgEAZAAAhAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAZAMAhAAAWgUAZAQAhAAAWgYAZAUAhAAAWgcAZAYAhAAAWggAZAcAhAAAWgkAZAgAhAAAWgoAUlMoCQAAAGMBAAAAAQAAAAMAAABDQAAAcxMAAAB0AAB0AQB8AACDAgBqAgCDAABTKAEAAABOKAMAAAB0BQAAAHN1cGVyUhQAAAB0CAAAAF9faGFzaF9fKAEAAAB0BAAAAHNlbGYoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2Fs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YXJzZV92ZXJzaW9uLiBUaGlzIGlzIGEgbGVnYWN5IGJlaGF2aW9yIHdoaWNoIGlzIGluY29uc2lzdGVudCB3aXRoIHRoZSBuZXcgdmVyc2lvbiBjbGFzcyBpbnRyb2R1Y2VkIGluIHNldHVwdG9vbHMgOC4wLiBJbiBtb3N0IGNhc2VzLCBjb252ZXJzaW9uIHRvIGEgdHVwbGUgaXMgdW5uZWNlc3NhcnkuIEZvciBjb21wYXJpc29uIG9mIHZlcnNpb25zLCBzb3J0IHRoZSBWZXJzaW9uIGluc3RhbmNlcyBkaXJlY3RseS4gSWYgeW91IGhhdmUgYW5vdGhlciB1c2UgY2FzZSByZXF1aXJpbmcgdGhlIHR1cGxlLCBwbGVhc2UgZmlsZSBhIGJ1ZyB3aXRoIHRoZSBzZXR1cHRvb2xzIHByb2plY3QgZGVzY3JpYmluZyB0aGF0IG5lZWQudAoAAABzdGFja2xldmVsaQEAAAAoCAAAAHQCAAAAcmV0BwAAAGNvbXBpbGV0BwAAAFZFUkJPU0V0AwAAAGdldHQIAAAAd2FybmluZ3N0BAAAAHdhcm50DgAAAFJ1bnRpbWVXYXJuaW5ndAMAAABzdHIoAwAAAFIXAAAAUjkAAABSLwAAACgAAAAAKAMAAABSMgAAAFIwAAAAUjEAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAgAAABfX2l0ZXJfX4sAAABzHgAAAAABFQEDAQcBBwEHAQcBDQMSDg8PBgEDBwYBBwMZASgLAAAAUhEAAABSEgAAAFIWAAAAUhoAAABSHAAAAFIdAAAAUh4AAABSHwAAAFIgAAAAUiIAAABSQwAAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSFAAAAGAAAABzEgAAAAYBCQMJBgkGCQYJBgkGCQYJA3QRAAAAU2V0dXB0b29sc1ZlcnNpb25jAAAAAAAAAAABAAAAQkAAAHMIAAAAZQAAWgEAUlMoAAAAACgCAAAAUhEAAABSEgAAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSRAAAAMIAAABzAgAAAAYBdBcAAABTZXR1cHRvb2xzTGVnYWN5VmVyc2lvbmMAAAAAAAAAAAEAAABCQAAAcwgAAABlAABaAQBSUygAAAAAKAIAAABSEQAAAFISAAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJFAAAAxgAAAHMCAAAABgJjAQAAAAEAAAAFAAAAQ0AAAHMzAAAAeQ4AdAAAfAAAgwEAU1duHgAEdAEAagIAagMAawoAci4AAQEBdAQAfAAAgwEAU1hkAABTKAEAAABOKAUAAABSRAAAAFIPAAAAdAcAAAB2ZXJzaW9udA4AAABJbnZhbGlkVmVyc2lvblJFAAAAKAEAAAB0AQAAAHYoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQNAAAAcGFyc2VfdmVyc2lvbssAAABzCAAAAAABAwEOARMBYwEAAAACAAAABAAAAEtAAABzLQAAAHQAAIMAAGoBAHwBAIMBAAF0AgBqAQB0AwBqBAB8AQB8AACDAgCDAQABZAAAUygBAAAATigFAAAAdAcAAABnbG9iYWxzdAYAAAB1cGRhdGV0CwAAAF9zdGF0ZV92YXJzdAQAAABkaWN0dAgAAABmcm9ta2V5cygCAAAAdAcAAAB2YXJ0eXBldAIAAABrdygAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dA4AAABfZGVjbGFyZV9zdGF0ZdUAAABzBAAAAAABEAFjAAAAAAQAAAAEAAAAQ0AAAHNMAAAAaQAAfQAAdAAAgwAAfQEAeDYAdAEAagIAgwAARF0oAFwCAH0CAH0DAHwBAGQBAHwDABcZfAEAfAIAGYMBAHwAAHwCADxxHABXfAAAUygCAAAATnQGAAAAX3NnZXRfKAMAAABSSgAAAFJMAAAAdAUAAABpdGVtcygEAAAAdAUAAABzdGF0ZXQBAAAAZ3QBAAAAa1JIAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAF9fZ2V0c3RhdGVfX9oAAABzCgAAAAABBgEJARkBIAFjAQAAAAQAAAAFAAAAQ0AAAHNKAAAAdAAAgwAAfQEAeDoAfAAAagEAgwAARF0sAFwCAH0CAH0DAHwBAGQBAHQCAHwCABkXGXwCAHwBAHwCABl8AwCDAwABcRYAV3wAAFMoAgAAAE50BgAAAF9zc2V0XygDAAAAUkoAAABSUwAAAFJMAAAAKAQAAABSVAAAAFJVAAAAUlYAAABSSAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAwAAABfX3NldHN0YXRlX1/iAAAAcwgAAAAAAQkBGQEkAWMBAAAAAQAAAAEAAABDQAAAcwoAAAB8AABqAACDAABTKAEAAABOKAEAAAB0BAAAAGNvcHkoAQAAAHQDAAAAdmFsKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CgAAAF9zZ2V0X2RpY3TpAAAAcwIAAAAAAWMDAAAAAwAAAAIAAABDQAAAcxsAAAB8AQBqAACDAAABfAEAagEAfAIAgwEAAWQAAFMoAQAAAE4oAgAAAHQFAAAAY2xlYXJSSwAAACgDAAAAUiEAAAB0AgAAAG9iUlQAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQKAAAAX3NzZXRfZGljdO0AAABzBAAAAAABCgFjAQAAAAEAAAABAAAAQ0AAAHMKAAAAfAAAagAAgwAAUygBAAAATigBAAAAUlcAAAAoAQAAAFJbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAF9zZ2V0X29iamVjdPIAAABzAgAAAAABYwMAAAADAAAAAgAAAENAAABzEQAAAHwBAGoAAHwCAIMBAAFkAABTKAEAAABOKAEAAABSWQAAACgDAAAAUiEAAABSXgAAAFJUAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAF9zc2V0X29iamVjdPYAAABzAgAAAAABYwAAAAABAAAAAQAAAEdAAABzBAAAAGQAAFMoAQAAAE4oAQAAAHQEAAAATm9uZSgBAAAAdAQAAABhcmdzKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CAAAADxsYW1iZGE++gAAAHQAAAAAYwAAAAACAAAABQAAAENAAABzewAAAHQAAIMAAH0AAHQBAGoCAHwAAIMBAH0BAHwBAGQGAGsJAHJ3AHQEAGoFAGQBAGsCAHJ3AHktAGQCAGQDAGoGAHQHAIMAAGQEACCDAQB8AQBqCABkBQCDAQBmAgAWfQAAV3F3AAR0CQBrCgBycwABAQFxdwBYbgAAfAAAUygHAAAAc1oCAABSZXR1cm4gdGhpcyBwbGF0Zm9ybSdzIG1heGltdW0gY29tcGF0aWJsZSB2ZXJzaW9uLgoKICAgIGRpc3R1dGlscy51dGlsLmdldF9wbGF0Zm9ybSgpIG5vcm1hbGx5IHJlcG9ydHMgdGhlIG1pbmltdW0gdmVyc2lvbgogICAgb2YgTWFjIE9TIFggdGhhdCB3b3VsZCBiZSByZXF1aXJlZCB0byAqdXNlKiBleHRlbnNpb25zIHByb2R1Y2VkIGJ5CiAgICBkaXN0dXRpbHMuICBCdXQgd2hhdCB3ZSB3YW50IHdoZW4gY2hlY2tpbmcgY29tcGF0aWJpbGl0eSBpcyB0byBrbm93IHRoZQogICAgdmVyc2lvbiBvZiBNYWMgT1MgWCB0aGF0IHdlIGFyZSAqcnVubmluZyouICBUbyBhbGxvdyB1c2FnZSBvZiBwYWNrYWdlcyB0aGF0CiAgICBleHBsaWNpdGx5IHJlcXVpcmUgYSBuZXdlciB2ZXJzaW9uIG9mIE1hYyBPUyBYLCB3ZSBtdXN0IGFsc28ga25vdyB0aGUKICAgIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgT1MuCgogICAgSWYgdGhpcyBjb25kaXRpb24gb2NjdXJzIGZvciBhbnkgb3RoZXIgcGxhdGZvcm0gd2l0aCBhIHZlcnNpb24gaW4gaXRzCiAgICBwbGF0Zm9ybSBzdHJpbmdzLCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBleHRlbmRlZCBhY2NvcmRpbmdseS4KICAgIHQGAAAAZGFyd2lucwwAAABtYWNvc3gtJXMtJXNSKgAAAGkCAAAAaQMAAABOKAoAAAB0EgAAAGdldF9idWlsZF9wbGF0Zm9ybXQSAAAAbWFjb3NWZXJzaW9uU3RyaW5ndAUAAABtYXRjaFJiAAAAdAMAAABzeXN0CAAAAHBsYXRmb3JtdAQAAABqb2ludAwAAABfbWFjb3N4X3ZlcnN0BQAAAGdyb3VwdAoAAABWYWx1ZUVycm9yKAIAAAB0BAAAAHBsYXR0AQAAAG0oAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQWAAAAZ2V0X3N1cHBvcnRlZF9wbGF0Zm9ybf0AAABzEAAAAAANCQEPARsBAwEtAQ0CBwF0BwAAAHJlcXVpcmV0CgAAAHJ1bl9zY3JpcHR0DAAAAGdldF9wcm92aWRlcnQQAAAAZ2V0X2Rpc3RyaWJ1dGlvbnQQAAAAbG9hZF9lbnRyeV9wb2ludHQNAAAAZ2V0X2VudHJ5X21hcHQOAAAAZ2V0X2VudHJ5X2luZm90EQAAAGl0ZXJfZW50cnlfcG9pbnRzdA8AAAByZXNvdXJjZV9zdHJpbmd0DwAAAHJlc291cmNlX3N0cmVhbXQRAAAAcmVzb3VyY2VfZmlsZW5hbWV0EAAAAHJlc291cmNlX2xpc3RkaXJ0DwAAAHJlc291cmNlX2V4aXN0c3QOAAAAcmVzb3VyY2VfaXNkaXJ0EQAAAGRlY2xhcmVfbmFtZXNwYWNldAsAAAB3b3JraW5nX3NldHQXAAAAYWRkX2FjdGl2YXRpb25fbGlzdGVuZXJ0EgAAAGZpbmRfZGlzdHJpYnV0aW9uc3QTAAAAc2V0X2V4dHJhY3Rpb25fcGF0aHQRAAAAY2xlYW51cF9yZXNvdXJjZXN0EQAAAGdldF9kZWZhdWx0X2NhY2hldAsAAABFbnZpcm9ubWVudHQKAAAAV29ya2luZ1NldHQPAAAAUmVzb3VyY2VNYW5hZ2VydAwAAABEaXN0cmlidXRpb250CwAAAFJlcXVpcmVtZW50dAoAAABFbnRyeVBvaW50dA8AAABSZXNvbHV0aW9uRXJyb3J0DwAAAFZlcnNpb25Db25mbGljdHQUAAAARGlzdHJpYnV0aW9uTm90Rm91bmR0DAAAAFVua25vd25FeHRyYXQPAAAARXh0cmFjdGlvbkVycm9ydBIAAABwYXJzZV9yZXF1aXJlbWVudHNSSQAAAHQJAAAAc2FmZV9uYW1ldAwAAABzYWZlX3ZlcnNpb250DAAAAGdldF9wbGF0Zm9ybXQUAAAAY29tcGF0aWJsZV9wbGF0Zm9ybXN0CwAAAHlpZWxkX2xpbmVzdA4AAABzcGxpdF9zZWN0aW9uc3QKAAAAc2FmZV9leHRyYXQLAAAAdG9fZmlsZW5hbWV0DgAAAGludmFsaWRfbWFya2VydA8AAABldmFsdWF0ZV9tYXJrZXJ0EAAAAGVuc3VyZV9kaXJlY3Rvcnl0DgAAAG5vcm1hbGl6ZV9wYXRodAgAAABFR0dfRElTVHQLAAAAQklOQVJZX0RJU1R0CwAAAFNPVVJDRV9ESVNUdA0AAABDSEVDS09VVF9ESVNUdAwAAABERVZFTE9QX0RJU1R0EQAAAElNZXRhZGF0YVByb3ZpZGVydBEAAABJUmVzb3VyY2VQcm92aWRlcnQMAAAARmlsZU1ldGFkYXRhdAwAAABQYXRoTWV0YWRhdGF0CwAAAEVnZ01ldGFkYXRhdA0AAABFbXB0eVByb3ZpZGVydA4AAABlbXB0eV9wcm92aWRlcnQMAAAATnVsbFByb3ZpZGVydAsAAABFZ2dQcm92aWRlcnQPAAAARGVmYXVsdFByb3ZpZGVydAsAAABaaXBQcm92aWRlcnQPAAAAcmVnaXN0ZXJfZmluZGVydBoAAAByZWdpc3Rlcl9uYW1lc3BhY2VfaGFuZGxlcnQUAAAAcmVnaXN0ZXJfbG9hZGVyX3R5cGV0GAAAAGZpeHVwX25hbWVzcGFjZV9wYWNrYWdlc1IBAAAAdAgAAABydW5fbWFpbnQWAAAAQXZhaWxhYmxlRGlzdHJpYnV0aW9uc2MAAAAAAAAAAAEAAABCQAAAcxcAAABlAABaAQBkAABaAgBkAQCEAABaAwBSUygCAAAAcy4AAABBYnN0cmFjdCBiYXNlIGZvciBkZXBlbmRlbmN5IHJlc29sdXRpb24gZXJyb3JzYwEAAAABAAAAAwAAAENAAABzFwAAAHwAAGoAAGoBAHQCAHwAAGoDAIMBABdTKAEAAABOKAQAAAB0CQAAAF9fY2xhc3NfX1IRAAAAdAQAAAByZXByUmMAAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CAAAAF9fcmVwcl9fRwEAAHMCAAAAAAEoBAAAAFIRAAAAUhIAAABSEwAAAFK4AAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKOAAAARAEAAHMEAAAABgEGAmMAAAAAAAAAAAIAAABCQAAAc0QAAABlAABaAQBkAABaAgBkAQBaAwBlBABkAgCEAACDAQBaBQBlBABkAwCEAACDAQBaBgBkBACEAABaBwBkBQCEAABaCABSUygGAAAAc6oAAAAKICAgIEFuIGFscmVhZHktaW5zdGFsbGVkIHZlcnNpb24gY29uZmxpY3RzIHdpdGggdGhlIHJlcXVlc3RlZCB2ZXJzaW9uLgoKICAgIFNob3VsZCBiZSBpbml0aWFsaXplZCB3aXRoIHRoZSBpbnN0YWxsZWQgRGlzdHJpYnV0aW9uIGFuZCB0aGUgcmVxdWVzdGVkCiAgICBSZXF1aXJlbWVudC4KICAgIHMzAAAAe3NlbGYuZGlzdH0gaXMgaW5zdGFsbGVkIGJ1dCB7c2VsZi5yZXF9IGlzIHJlcXVpcmVkYwEAAAABAAAAAgAAAENAAABzCwAAAHwAAGoAAGQBABlTKAIAAABOaQAAAAAoAQAAAFJjAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAQAAABkaXN0VQEAAHMCAAAAAAJjAQAAAAEAAAACAAAAQ0AAAHMLAAAAfAAAagAAZAEAGVMoAgAAAE5pAQAAACgBAAAAUmMAAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0AwAAAHJlcVkBAABzAgAAAAACYwEAAAABAAAAAgAAAENAAABzEwAAAHwAAGoAAGoBAHQCAIMAAI0AAFMoAQAAAE4oAwAAAHQJAAAAX3RlbXBsYXRldAYAAABmb3JtYXR0BgAAAGxvY2FscygBAAAAUhcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQGAAAAcmVwb3J0XQEAAHMCAAAAAAFjAgAAAAMAAAACAAAAQ0AAAHMkAAAAfAEAcwoAfAAAU3wAAGoAAHwBAGYBABd9AgB0AQB8AgCMAABTKAEAAABzdAAAAAogICAgICAgIElmIHJlcXVpcmVkX2J5IGlzIG5vbi1lbXB0eSwgcmV0dXJuIGEgdmVyc2lvbiBvZiBzZWxmIHRoYXQgaXMgYQogICAgICAgIENvbnRleHR1YWxWZXJzaW9uQ29uZmxpY3QuCiAgICAgICAgKAIAAABSYwAAAHQZAAAAQ29udGV4dHVhbFZlcnNpb25Db25mbGljdCgDAAAAUhcAAAB0CwAAAHJlcXVpcmVkX2J5UmMAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAd2l0aF9jb250ZXh0YAEAAHMIAAAAAAUGAQQBEAEoCQAAAFIRAAAAUhIAAABSEwAAAFK7AAAAdAgAAABwcm9wZXJ0eVK5AAAAUroAAABSvgAAAFLBAAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKPAAAASwEAAHMMAAAABgYGAgYCDwQPBAkDUr8AAABjAAAAAAAAAAACAAAAQkAAAHMqAAAAZQAAWgEAZAAAWgIAZQMAagQAZAEAF1oEAGUFAGQCAIQAAIMBAFoGAFJTKAMAAABzhQAAAAogICAgQSBWZXJzaW9uQ29uZmxpY3QgdGhhdCBhY2NlcHRzIGEgdGhpcmQgcGFyYW1ldGVyLCB0aGUgc2V0IG9mIHRoZQogICAgcmVxdWlyZW1lbnRzIHRoYXQgcmVxdWlyZWQgdGhlIGluc3RhbGxlZCBEaXN0cmlidXRpb24uCiAgICBzFgAAACBieSB7c2VsZi5yZXF1aXJlZF9ieX1jAQAAAAEAAAACAAAAQ0AAAHMLAAAAfAAAagAAZAEAGVMoAgAAAE5pAgAAACgBAAAAUmMAAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSwAAAAHMBAABzAgAAAAACKAcAAABSEQAAAFISAAAAUhMAAABSjwAAAFK7AAAAUsIAAABSwAAAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSvwAAAGsBAABzBgAAAAYEBgINAmMAAAAAAAAAAAIAAABCQAAAc1MAAABlAABaAQBkAABaAgBkAQBaAwBlBABkAgCEAACDAQBaBQBlBABkAwCEAACDAQBaBgBlBABkBACEAACDAQBaBwBkBQCEAABaCABkBgCEAABaCQBSUygHAAAAcyYAAABBIHJlcXVlc3RlZCBkaXN0cmlidXRpb24gd2FzIG5vdCBmb3VuZHNTAAAAVGhlICd7c2VsZi5yZXF9JyBkaXN0cmlidXRpb24gd2FzIG5vdCBmb3VuZCBhbmQgaXMgcmVxdWlyZWQgYnkge3NlbGYucmVxdWlyZXJzX3N0cn1jAQAAAAEAAAACAAAAQ0AAAHMLAAAAfAAAagAAZAEAGVMoAgAAAE5pAAAAACgBAAAAUmMAAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSugAAAH4BAABzAgAAAAACYwEAAAABAAAAAgAAAENAAABzCwAAAHwAAGoAAGQBABlTKAIAAABOaQEAAAAoAQAAAFJjAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAkAAAByZXF1aXJlcnOCAQAAcwIAAAAAAmMBAAAAAQAAAAIAAABDQAAAcx0AAAB8AABqAABzDQBkAQBTZAIAagEAfAAAagAAgwEAUygDAAAATnMPAAAAdGhlIGFwcGxpY2F0aW9ucwIAAAAsICgCAAAAUsMAAABSbAAAACgBAAAAUhcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQNAAAAcmVxdWlyZXJzX3N0coYBAABzBgAAAAACCQEEAWMBAAAAAQAAAAIAAABDQAAAcxMAAAB8AABqAABqAQB0AgCDAACNAABTKAEAAABOKAMAAABSuwAAAFK8AAAAUr0AAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSvgAAAIwBAABzAgAAAAABYwEAAAABAAAAAQAAAENAAABzCgAAAHwAAGoAAIMAAFMoAQAAAE4oAQAAAFK+AAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAcAAABfX3N0cl9fjwEAAHMCAAAAAAEoCgAAAFIRAAAAUhIAAABSEwAAAFK7AAAAUsIAAABSugAAAFLDAAAAUsQAAABSvgAAAFLFAAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKQAAAAeAEAAHMOAAAABgEGAgYDDwQPBA8GCQNjAAAAAAAAAAABAAAAQkAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHM+AAAARGlzdHJpYnV0aW9uIGRvZXNuJ3QgaGF2ZSBhbiAiZXh0cmEgZmVhdHVyZSIgb2YgdGhlIGdpdmVuIG5hbWUoAwAAAFIRAAAAUhIAAABSEwAAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSkQAAAJMBAABzAgAAAAYBaQIAAABp/////2MCAAAAAgAAAAMAAABDQAAAcw4AAAB8AQB0AAB8AAA8ZAEAUygCAAAAcw8BAABSZWdpc3RlciBgcHJvdmlkZXJfZmFjdG9yeWAgdG8gbWFrZSBwcm92aWRlcnMgZm9yIGBsb2FkZXJfdHlwZWAKCiAgICBgbG9hZGVyX3R5cGVgIGlzIHRoZSB0eXBlIG9yIGNsYXNzIG9mIGEgUEVQIDMwMiBgYG1vZHVsZS5fX2xvYWRlcl9fYGAsCiAgICBhbmQgYHByb3ZpZGVyX2ZhY3RvcnlgIGlzIGEgZnVuY3Rpb24gdGhhdCwgcGFzc2VkIGEgKm1vZHVsZSogb2JqZWN0LAogICAgcmV0dXJucyBhbiBgYElSZXNvdXJjZVByb3ZpZGVyYGAgZm9yIHRoYXQgbW9kdWxlLgogICAgTigBAAAAdBMAAABfcHJvdmlkZXJfZmFjdG9yaWVzKAIAAAB0CwAAAGxvYWRlcl90eXBldBAAAABwcm92aWRlcl9mYWN0b3J5KAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSsgAAAKEBAABzAgAAAAAHYwEAAAADAAAABQAAAENAAABzkwAAAHQAAHwAAHQBAIMCAHIyAHQCAGoDAHwAAIMBAHAxAHQEAHQFAHwAAIMBAIMBAGQBABlTeREAdAYAagcAfAAAGX0BAFduKAAEdAgAawoAcm0AAQEBdAkAfAAAgwEAAXQGAGoHAHwAABl9AQBuAQBYdAoAfAEAZAIAZAMAgwMAfQIAdAwAdA0AfAIAgwIAfAEAgwEAUygEAAAAcz8AAABSZXR1cm4gYW4gSVJlc291cmNlUHJvdmlkZXIgZm9yIHRoZSBuYW1lZCBtb2R1bGUgb3IgcmVxdWlyZW1lbnRpAAAAAHQKAAAAX19sb2FkZXJfX04oDgAAAFIYAAAAUowAAABSggAAAHQEAAAAZmluZFJzAAAAUkIAAABSagAAAHQHAAAAbW9kdWxlc3QIAAAAS2V5RXJyb3J0CgAAAF9faW1wb3J0X190BwAAAGdldGF0dHJSYgAAAHQNAAAAX2ZpbmRfYWRhcHRlclLGAAAAKAMAAAB0CwAAAG1vZHVsZU9yUmVxdAYAAABtb2R1bGV0BgAAAGxvYWRlcigAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UnUAAACrAQAAcxIAAAAAAg8BIwEDAREBDQEKAREBEgFjAQAAAAQAAAADAAAAQ0AAAHObAAAAfAAAc5MAdAAAagEAgwAAZAEAGX0BAHwBAGQCAGsCAHJ6AGQDAH0CAHQCAGoDAGoEAHwCAIMBAHJ6AHQFAHQGAGQEAIMCAHJ3AHQGAGoHAHwCAIMBAH0DAGQFAHwDAGsGAHJ0AHwDAGQFABl9AQBxdABxdwBxegBuAAB8AABqCAB8AQBqCQBkBgCDAQCDAQABbgAAfAAAZAEAGVMoBwAAAE5pAAAAAFJlAAAAczAAAAAvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1N5c3RlbVZlcnNpb24ucGxpc3R0CQAAAHJlYWRQbGlzdHQOAAAAUHJvZHVjdFZlcnNpb25SKgAAACgKAAAAUmsAAAB0BwAAAG1hY192ZXJ0AgAAAG9zdAQAAABwYXRodAYAAABleGlzdHN0BwAAAGhhc2F0dHJ0CAAAAHBsaXN0bGliUtMAAABSNwAAAFIMAAAAKAQAAAB0BgAAAF9jYWNoZVJGAAAAdAUAAABwbGlzdHQNAAAAcGxpc3RfY29udGVudCgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Um0AAAC4AQAAcxYAAAAAAQYBEAIMAQYBEgEPAQ8BDAEWAhkBYwEAAAABAAAAAwAAAENAAABzHgAAAGkCAGQB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aQcAAABzBAAAADEwLjNpCAAAAHMEAAAAMTAuNGkDAAAATigIAAAAUmIAAAB0BAAAAFRydWVSaAAAAFJpAAAAdBMAAABkYXJ3aW5WZXJzaW9uU3RyaW5nUukAAABSbgAAAHQFAAAARmFsc2UoBwAAAHQIAAAAcHJvdmlkZWR0CAAAAHJlcXVpcmVkdAYAAAByZXFNYWN0BwAAAHByb3ZNYWN0CgAAAHByb3ZEYXJ3aW50CAAAAGR2ZXJzaW9udAwAAABtYWNvc3ZlcnNpb24oAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKXAAAA7AEAAHMqAAAAAAckAgQDDwEGAQ8DBgQPAQYBFQEiARgBGAEHAgQDHgEeAQQDKgEEAgQDYwIAAAAEAAAAAwAAAENAAABzTgAAAHQAAGoBAGQBAIMBAGoCAH0CAHwCAGQCABl9AwB8AgBqAwCDAAABfAMAfAIAZAIAPHQEAHwAAIMBAGQDABlqBQB8AQB8AgCDAgABZAQAUygFAAAAc0AAAABMb2NhdGUgZGlzdHJpYnV0aW9uIGBkaXN0X3NwZWNgIGFuZCBydW4gaXRzIGBzY3JpcHRfbmFtZWAgc2NyaXB0aQEAAABSEQAAAGkAAAAATigGAAAAUmoAAAB0CQAAAF9nZXRmcmFtZXQJAAAAZl9nbG9iYWxzUl0AAABScwAAAFJ0AAAAKAQAAAB0CQAAAGRpc3Rfc3BlY3QLAAAAc2NyaXB0X25hbWV0AgAAAG5zdAQAAABuYW1lKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSdAAAABoCAABzCgAAAAACEgEKAQoBCgFjAQAAAAEAAAADAAAAQ0AAAHNnAAAAdAAAfAAAdAEAagIAgwIAciQAdAMAagQAfAAAgwEAfQAAbgAAdAAAfAAAdAMAgwIAckIAdAUAfAAAgwEAfQAAbgAAdAAAfAAAdAYAgwIAc2MAdAcAZAEAfAAAgwIAggEAbgAAfAAAUygCAAAAc0AAAABSZXR1cm4gYSBjdXJyZW50IGRpc3RyaWJ1dGlvbiBvYmplY3QgZm9yIGEgUmVxdWlyZW1lbnQgb3Igc3RyaW5ncy0AAABFeHBlY3RlZCBzdHJpbmcsIFJlcXVpcmVtZW50LCBvciBEaXN0cmlidXRpb24oCAAAAFIYAAAAUgIAAAB0DAAAAHN0cmluZ190eXBlc1KMAAAAdAUAAABwYXJzZVJ1AAAAUosAAAB0CQAAAFR5cGVFcnJvcigBAAAAUrkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ2AAAAJwIAAHMOAAAAAAISARIBDwEPAQ8BEgFjAwAAAAMAAAADAAAAQ0AAAHMWAAAAdAAAfAAAgwEAagEAfAEAfAIAgwIAUygBAAAAc0QAAABSZXR1cm4gYG5hbWVgIGVudHJ5IHBvaW50IG9mIGBncm91cGAgZm9yIGBkaXN0YCBvciByYWlzZSBJbXBvcnRFcnJvcigCAAAAUnYAAABSdwAAACgDAAAAUrkAAABSbgAAAFL5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSdwAAADICAABzAgAAAAACYwIAAAACAAAAAgAAAENAAABzEwAAAHQAAHwAAIMBAGoBAHwBAIMBAFMoAQAAAHM9AAAAUmV0dXJuIHRoZSBlbnRyeSBwb2ludCBtYXAgZm9yIGBncm91cGAsIG9yIHRoZSBmdWxsIGVudHJ5IG1hcCgCAAAAUnYAAABSeAAAACgCAAAAUrkAAABSbgAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UngAAAA3AgAAcwIAAAAAAmMDAAAAAwAAAAMAAABDQAAAcxYAAAB0AAB8AACDAQBqAQB8AQB8AgCDAgBTKAEAAABzPAAAAFJldHVybiB0aGUgRW50cnlQb2ludCBvYmplY3QgZm9yIGBncm91cGArYG5hbWVgLCBvciBgYE5vbmVgYCgCAAAAUnYAAABSeQAAACgDAAAAUrkAAABSbgAAAFL5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSeQAAADwCAABzAgAAAAACYwAAAAAAAAAAAQAAAEJAAABzPgAAAGUAAFoBAGQAAIQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAGQEAIQAAFoGAGQFAIQAAFoHAFJTKAYAAABjAQAAAAEAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAczsAAABEb2VzIHRoZSBwYWNrYWdlJ3MgZGlzdHJpYnV0aW9uIGNvbnRhaW4gdGhlIG5hbWVkIG1ldGFkYXRhP04oAAAAACgBAAAAUvkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAaGFzX21ldGFkYXRhQgIAAFJlAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHMnAAAAVGhlIG5hbWVkIG1ldGFkYXRhIHJlc291cmNlIGFzIGEgc3RyaW5nTigAAAAAKAEAAABS+QAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAwAAABnZXRfbWV0YWRhdGFFAgAAUmUAAABjAQAAAAEAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAc9IAAABZaWVsZCBuYW1lZCBtZXRhZGF0YSByZXNvdXJjZSBhcyBsaXN0IG9mIG5vbi1ibGFuayBub24tY29tbWVudCBsaW5lcwoKICAgICAgIExlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgaXMgc3RyaXBwZWQgZnJvbSBlYWNoIGxpbmUsIGFuZCBsaW5lcwogICAgICAgd2l0aCBgYCNgYCBhcyB0aGUgZmlyc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBhcmUgb21pdHRlZC5OKAAAAAAoAQAAAFL5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EgAAAGdldF9tZXRhZGF0YV9saW5lc0gCAABSZQAAAGMBAAAAAQAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzPgAAAElzIHRoZSBuYW1lZCBtZXRhZGF0YSBhIGRpcmVjdG9yeT8gIChsaWtlIGBgb3MucGF0aC5pc2RpcigpYGApTigAAAAAKAEAAABS+QAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dA4AAABtZXRhZGF0YV9pc2Rpck4CAABSZQAAAGMBAAAAAQAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzPwAAAExpc3Qgb2YgbWV0YWRhdGEgbmFtZXMgaW4gdGhlIGRpcmVjdG9yeSAobGlrZSBgYG9zLmxpc3RkaXIoKWBgKU4oAAAAACgBAAAAUvkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQQAAAAbWV0YWRhdGFfbGlzdGRpclECAABSZQAAAGMCAAAAAgAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzPQAAAEV4ZWN1dGUgdGhlIG5hbWVkIHNjcmlwdCBpbiB0aGUgc3VwcGxpZWQgbmFtZXNwYWNlIGRpY3Rpb25hcnlOKAAAAAAoAgAAAFL3AAAAdAkAAABuYW1lc3BhY2UoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ0AAAAVAIAAFJlAAAAKAgAAABSEQAAAFISAAAAUv0AAABS/gAAAFL/AAAAUgABAABSAQEAAFJ0AAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKlAAAAQQIAAHMMAAAABgEJAwkDCQYJAwkDYwAAAAAAAAAAAQAAAEJAAABzRAAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAGQEAIQAAFoGAGQFAIQAAFoHAGQGAIQAAFoIAFJTKAcAAABzMwAAAEFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIGFjY2VzcyB0byBwYWNrYWdlIHJlc291cmNlc2MCAAAAAgAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzZAAAAFJldHVybiBhIHRydWUgZmlsZXN5c3RlbSBwYXRoIGZvciBgcmVzb3VyY2VfbmFtZWAKCiAgICAgICAgYG1hbmFnZXJgIG11c3QgYmUgYW4gYGBJUmVzb3VyY2VNYW5hZ2VyYGBOKAAAAAAoAgAAAHQHAAAAbWFuYWdlcnQNAAAAcmVzb3VyY2VfbmFtZSgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dBUAAABnZXRfcmVzb3VyY2VfZmlsZW5hbWVbAgAAUmUAAABjAgAAAAIAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAc2kAAABSZXR1cm4gYSByZWFkYWJsZSBmaWxlLWxpa2Ugb2JqZWN0IGZvciBgcmVzb3VyY2VfbmFtZWAKCiAgICAgICAgYG1hbmFnZXJgIG11c3QgYmUgYW4gYGBJUmVzb3VyY2VNYW5hZ2VyYGBOKAAAAAAoAgAAAFIDAQAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQTAAAAZ2V0X3Jlc291cmNlX3N0cmVhbWACAABSZQAAAGMCAAAAAgAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzbQAAAFJldHVybiBhIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiBgcmVzb3VyY2VfbmFtZWAKCiAgICAgICAgYG1hbmFnZXJgIG11c3QgYmUgYW4gYGBJUmVzb3VyY2VNYW5hZ2VyYGBOKAAAAAAoAgAAAFIDAQAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQTAAAAZ2V0X3Jlc291cmNlX3N0cmluZ2UCAABSZQAAAGMBAAAAAQAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzLAAAAERvZXMgdGhlIHBhY2thZ2UgY29udGFpbiB0aGUgbmFtZWQgcmVzb3VyY2U/TigAAAAAKAEAAABSBAEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAwAAABoYXNfcmVzb3VyY2VqAgAAUmUAAABjAQAAAAEAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAcz4AAABJcyB0aGUgbmFtZWQgcmVzb3VyY2UgYSBkaXJlY3Rvcnk/ICAobGlrZSBgYG9zLnBhdGguaXNkaXIoKWBgKU4oAAAAACgBAAAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRo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dG8gZmluZCBkaXN0cmlidXRpb25zCiAgICAgICAgY29ycmVzcG9uZGluZyB0byB0aGUgcGF0aCBlbnRyeSwgYW5kIHRoZXkgYXJlIGFkZGVkLiAgYGVudHJ5YCBpcwogICAgICAgIGFsd2F5cyBhcHBlbmRlZCB0byBgYC5lbnRyaWVzYGAsIGV2ZW4gaWYgaXQgaXMgYWxyZWFkeSBwcmVzZW50LgogICAgICAgIChUaGlzIGlzIGJlY2F1c2UgYGBzeXMucGF0aGBgIGNhbiBjb250YWluIHRoZSBzYW1lIHZhbHVlIG1vcmUgdGhhbgogICAgICAgIG9uY2UsIGFuZCB0aGUgYGAuZW50cmllc2BgIG9mIHRoZSBgYHN5cy5wYXRoYGAgV29ya2luZ1NldCBzaG91bGQgYWx3YXlzCiAgICAgICAgZXF1YWwgYGBzeXMucGF0aGBgLikKICAgICAgICBOKAgAAABSCgEAAHQKAAAAc2V0ZGVmYXVsdFIJAQAAUjcAAABShAAAAFLqAAAAUhcBAABS7AAAACgDAAAAUhcAAABSDgEAAFK5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSDQEAAK4CAABzCAAAAAAKEwEQARYBYwIAAAACAAAAAgAAAENAAABzGQAAAHwAAGoAAGoBAHwBAGoCAIMBAHwBAGsCAFMoAQAAAHM5AAAAVHJ1ZSBpZiBgZGlzdGAgaXMgdGhlIGFjdGl2ZSBkaXN0cmlidXRpb24gZm9yIGl0cyBwcm9qZWN0KAMAAABSCwEAAFI+AAAAUiEAAAAoAgAAAFIXAAAAUrkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291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YmxlIHdpdGhpbiBhbnkKICAgICAgICBlbnRyeSBvciBkaXN0cmlidXRpb24gaW4gdGhlIHdvcmtpbmcgc2V0LiAgYGluc3RhbGxlcmAsIGlmIHN1cHBsaWVkLAogICAgICAgIHdpbGwgYmUgaW52b2tlZCB3aXRoIGVhY2ggcmVxdWlyZW1lbnQgdGhhdCBjYW5ub3QgYmUgbWV0IGJ5IGFuCiAgICAgICAgYWxyZWFkeS1pbnN0YWxsZWQgZGlzdHJpYnV0aW9uOyBpdCBzaG91bGQgcmV0dXJuIGEgYGBEaXN0cmlidXRpb25gYCBvcgogICAgICAgIGBgTm9uZWBgLgoKICAgICAgICBVbmxlc3MgYHJlcGxhY2VfY29uZmxpY3Rpbmc9VHJ1ZWAsIHJhaXNlcyBhIFZlcnNpb25Db25mbGljdCBleGNlcHRpb24gaWYKICAgICAgICBhbnkgcmVxdWlyZW1lbnRzIGFyZSBmb3VuZCBvbiB0aGUgcGF0aCB0aGF0IGhhdmUgdGhlIGNvcnJlY3QgbmFtZSBidXQKICAgICAgICB0aGUgd3JvbmcgdmVyc2lvbi4gIE90aGVyd2lzZSwgaWYgYW4gYGluc3RhbGxlcmAgaXMgc3VwcGxpZWQgaXQgd2lsbCBiZQogICAgICAgIGludm9rZWQgdG8gb2J0YWluIHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIHJlcXVpcmVtZW50IGFuZCBhY3RpdmF0ZQogICAgICAgIGl0LgoKICAgICAgICBgZXh0cmFzYCBpcyBhIGxpc3Qgb2YgdGhlIGV4dHJhcyB0byBiZSB1c2VkIHdpdGggdGhlc2UgcmVxdWlyZW1lbnRzLgogICAgICAgIFRoaXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgZXh0cmEgcmVxdWlyZW1lbnRzIG1heSBsb29rIGxpa2UgYG15X3JlcTsKICAgICAgICBleHRyYSA9ICJteV9leHRyYSJgLCB3aGljaCB3b3VsZCBvdGhlcndpc2UgYmUgaW50ZXJwcmV0ZWQgYXMgYSBwdXJlbHkKICAgICAgICBvcHRpb25hbCByZXF1aXJlbWVudC4gIEluc3RlYWQsIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBhc3NlcnQgdGhhdCB0aGVzZQogICAgICAgIHJlcXVpcmVtZW50cyBhcmUgdHJ1bHkgcmVxdWlyZWQuCiAgICAgICAgTmn/////aQAAAAAoGQAAAHQEAAAAbGlzdHQKAAAAX1JlcUV4dHJhc3QLAAAAY29sbGVjdGlvbnN0CwAAAGRlZmF1bHRkaWN0dAMAAABzZXRSNgAAAHQMAAAAbWFya2Vyc19wYXNzUj4AAABSIQAAAFJiAAAAUgsBAABSiAAAAFIJAQAAUokAAAB0CgAAAGJlc3RfbWF0Y2hSkAAAAFI3AAAAUo8AAABSwQAAAFIfAQAAdAYAAABleHRyYXN0BgAAAGV4dGVuZFIXAQAAdAwAAABwcm9qZWN0X25hbWVS6gAAACgSAAAAUhcAAAB0DAAAAHJlcXVpcmVtZW50c3QDAAAAZW52dAkAAABpbnN0YWxsZXJ0EwAAAHJlcGxhY2VfY29uZmxpY3RpbmdSLwEAAHQJAAAAcHJvY2Vzc2VkdAQAAABiZXN0dAsAAAB0b19hY3RpdmF0ZXQKAAAAcmVxX2V4dHJhc1LAAAAAUroAAABSuQAAAFIUAQAAUsMAAAB0DQAAAGRlcGVuZGVudF9yZXF0EAAAAG5ld19yZXF1aXJlbWVudHN0DwAAAG5ld19yZXF1aXJlbWVudCgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UhYBAAAXAwAAc0oAAAAAGhkCBgIGAQYCCQQPAgkCDwEMAgYCEgEGAhIBDAIVAR4BBgEMAQwBEgUMAQ8BIAEMARIBFQEQAQwCCgEbAx8BDQMNARQBEQIOA2MFAAAADwAAAAcAAABDQAAAc0EBAAB0AAB8AQCDAQB9BQB8BQBqAQCDAAABaQAAfQYAaQAAfQcAfAIAZAEAawgAckoAdAMAfAAAagQAgwEAfQgAfAgAfAEAN30IAG4KAHwCAHwBABd9CAB8AABqBQBnAACDAQB9CQB0AAB0BgB8CQBqBwB8AACDAgCDAQABeKUAfAUARF2dAH0KAHiUAHwBAHwKABlEXYgAfQsAfAsAaggAgwAAZwEAfQwAeRkAfAkAagkAfAwAfAgAfAMAgwMAfQ0AV24qAAR0CgBrCgBy6wABfQ4AAXwOAHwGAHwLADx8BABy5wBxkQBxGQFQcZEAWHQAAHQGAHwJAGoHAHwNAIMCAIMBAAF8BwBqCwB0DABqDQB8DQCDAQCDAQABUHGRAFdxgABXdAAAfAcAgwEAfQcAfAcAagEAgwAAAXwHAHwGAGYCAFMoAgAAAHNzBgAARmluZCBhbGwgYWN0aXZhdGFibGUgZGlzdHJpYnV0aW9ucyBpbiBgcGx1Z2luX2VudmAKCiAgICAgICAgRXhhbXBsZSB1c2FnZTo6CgogICAgICAgICAgICBkaXN0cmlidXRpb25zLCBlcnJvcnMgPSB3b3JraW5nX3NldC5maW5kX3BsdWdpbnMoCiAgICAgICAgICAgICAgICBFbnZpcm9ubWVudChwbHVnaW5fZGlybGlzdCkKICAgICAgICAgICAgKQogICAgICAgICAgICAjIGFkZCBwbHVnaW5zK2xpYnMgdG8gc3lzLnBhdGgKICAgICAgICAgICAgbWFwKHdvcmtpbmdfc2V0LmFkZCwgZGlzdHJpYnV0aW9ucykKICAgICAgICAgICAgIyBkaXNwbGF5IGVycm9ycwogICAgICAgICAgICBwcmludCgnQ291bGQgbm90IGxvYWQnLCBlcnJvcnMpCgogICAgICAgIFRoZSBgcGx1Z2luX2VudmAgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYCBpbnN0YW5jZSB0aGF0IGNvbnRhaW5zCiAgICAgICAgb25seSBkaXN0cmlidXRpb25zIHRoYXQgYXJlIGluIHRoZSBwcm9qZWN0J3MgInBsdWdpbiBkaXJlY3RvcnkiIG9yCiAgICAgICAgZGlyZWN0b3JpZXMuIFRoZSBgZnVsbF9lbnZgLCBpZiBzdXBwbGllZCwgc2hvdWxkIGJlIGFuIGBgRW52aXJvbm1lbnRgYAogICAgICAgIGNvbnRhaW5zIGFsbCBjdXJyZW50bHktYXZhaWxhYmxlIGRpc3RyaWJ1dGlvbnMuICBJZiBgZnVsbF9lbnZgIGlzIG5vdAogICAgICAgIHN1cHBsaWVkLCBvbmUgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIGBgV29ya2luZ1NldGBgIHRoaXMKICAgICAgICBtZXRob2QgaXMgY2FsbGVkIG9uLCB3aGljaCB3aWxsIHR5cGljYWxseSBtZWFuIHRoYXQgZXZlcnkgZGlyZWN0b3J5IG9uCiAgICAgICAgYGBzeXMucGF0aGBgIHdpbGwgYmUgc2Nhbm5lZCBmb3IgZGlzdHJpYnV0aW9ucy4KCiAgICAgICAgYGluc3RhbGxlcmAgaXMgYSBzdGFuZGFyZCBpbnN0YWxsZXIgY2FsbGJhY2sgYXMgdXNlZCBieSB0aGUKICAgICAgICBgYHJlc29sdmUoKWBgIG1ldGhvZC4gVGhlIGBmYWxsYmFja2AgZmxhZyBpbmRpY2F0ZXMgd2hldGhlciB3ZSBzaG91bGQKICAgICAgICBhdHRlbXB0IHRvIHJlc29sdmUgb2xkZXIgdmVyc2lvbnMgb2YgYSBwbHVnaW4gaWYgdGhlIG5ld2VzdCB2ZXJzaW9uCiAgICAgICAgY2Fubm90IGJlIHJlc29sdmVkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgMi10dXBsZTogKGBkaXN0cmlidXRpb25zYCwgYGVycm9yX2luZm9gKSwgd2hlcmUKICAgICAgICBgZGlzdHJpYnV0aW9uc2AgaXMgYSBsaXN0IG9mIHRoZSBkaXN0cmlidXRpb25zIGZvdW5kIGluIGBwbHVnaW5fZW52YAogICAgICAgIHRoYXQgd2VyZSBsb2FkYWJsZSwgYWxvbmcgd2l0aCBhbnkgb3RoZXIgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZSBuZWVkZWQKICAgICAgICB0byByZXNvbHZlIHRoZWlyIGRlcGVuZGVuY2llcy4gIGBlcnJvcl9pbmZvYCBpcyBhIGRpY3Rpb25hcnkgbWFwcGluZwogICAgICAgIHVubG9hZGFibGUgcGx1Z2luIGRpc3RyaWJ1dGlvbnMgdG8gYW4gZXhjZXB0aW9uIGluc3RhbmNlIGRlc2NyaWJpbmcgdGhlCiAgICAgICAgZXJyb3IgdGhhdCBvY2N1cnJlZC4gVXN1YWxseSB0aGlzIHdpbGwgYmUgYSBgYERpc3RyaWJ1dGlvbk5vdEZvdW5kYGAgb3IKICAgICAgICBgYFZlcnNpb25Db25mbGljdGBgIGluc3RhbmNlLgogICAgICAgIE4oDgAAAFIoAQAAdAQAAABzb3J0UmIAAABSiAAAAFIJAQAAUrYAAABSBAAAAFIXAQAAdA4AAABhc19yZXF1aXJlbWVudFIWAQAAUo4AAABSSwAAAFJNAAAAUk4AAAAoDwAAAFIXAAAAdAoAAABwbHVnaW5fZW52dAgAAABmdWxsX2VudlI0AQAAdAgAAABmYWxsYmFja3QPAAAAcGx1Z2luX3Byb2plY3RzdAoAAABlcnJvcl9pbmZvdA0AAABkaXN0cmlidXRpb25zUjMBAAB0CgAAAHNoYWRvd19zZXRSMQEAAFK5AAAAUroAAAB0CQAAAHJlc29sdmVlc1JIAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAGZpbmRfcGx1Z2luc28DAABzNAAAAAAkDAIKAgYBBgIMAQ8BDQIKAg8CFgINAhECDwIDARkCDwIKAQYCBgMFAxYBFgMJAgwBCgJjAQAAAAQAAAADAAAAR0AAAHM3AAAAfAAAagAAdAEAfAEAgwEAgwEAfQIAeBsAfAIARF0TAH0DAHwAAGoCAHwDAIMBAAFxHABXfAIAUygBAAAAc74BAABFbnN1cmUgdGhhdCBkaXN0cmlidXRpb25zIG1hdGNoaW5nIGByZXF1aXJlbWVudHNgIGFyZSBhY3RpdmF0ZWQKCiAgICAgICAgYHJlcXVpcmVtZW50c2AgbXVzdCBiZSBhIHN0cmluZyBvciBhIChwb3NzaWJseS1uZXN0ZWQpIHNlcXVlbmNlCiAgICAgICAgdGhlcmVvZiwgc3BlY2lmeWluZyB0aGUgZGlzdHJpYnV0aW9ucyBhbmQgdmVyc2lvbnMgcmVxdWlyZWQuICBUaGUKICAgICAgICByZXR1cm4gdmFsdWUgaXMgYSBzZXF1ZW5jZSBvZiB0aGUgZGlzdHJpYnV0aW9ucyB0aGF0IG5lZWRlZCB0byBiZQogICAgICAgIGFjdGl2YXRlZCB0byBmdWxmaWxsIHRoZSByZXF1aXJlbWVudHM7IGFsbCByZWxldmFudCBkaXN0cmlidXRpb25zIGFyZQogICAgICAgIGluY2x1ZGVkLCBldmVuIGlmIHRoZXkgd2VyZSBhbHJlYWR5IGFjdGl2YXRlZCBpbiB0aGlzIHdvcmtpbmcgc2V0LgogICAgICAgICgDAAAAUhYBAABSkwAAAFIXAQAAKAQAAABSFwAAAFIyAQAAdAYAAABuZWVkZWRSuQAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UnMAAADDAwAAcwgAAAAACRUCDQERAmMDAAAABAAAAAMAAABDQAAAc0wAAAB8AQB8AABqAABrBgByEwBkAQBTfAAAagAAagEAfAEAgwEAAXwCAHMtAGQBAFN4GAB8AABEXRAAfQMAfAEAfAMAgwEAAXE0AFdkAQBTKAIAAABzgwAAAEludm9rZSBgY2FsbGJhY2tgIGZvciBhbGwgZGlzdHJpYnV0aW9ucwoKICAgICAgICBJZiBgZXhpc3Rpbmc9VHJ1ZWAgKGRlZmF1bHQpLAogICAgICAgIGNhbGwgb24gYWxsIGV4aXN0aW5nIG9uZXMsIGFzIHdlbGwuCiAgICAgICAgTigCAAAAUgwBAABSNwAAACgEAAAAUhcAAAB0CAAAAGNhbGxiYWNrdAgAAABleGlzdGluZ1K5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CQAAAHN1YnNjcmliZdMDAABzDgAAAAAGDwEEARABBgEEAQ0BYwIAAAADAAAAAwAAAENAAABzIgAA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TERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXMJAAAAPGdlbmV4cHI+AQQAAHMCAAAABgEoAAAAAE4oAQAAAE4oBAAAAFI+AAAAUmIAAABSTwEAAHQDAAAAYW55KAQAAABSFwAAAFK6AAAAUi8BAAB0CwAAAGV4dHJhX2V2YWxzKAAAAAAoAQAAAFK6AAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVItAQAA+AMAAHMGAAAAAAkMASACTigFAAAAUhEAAABSEgAAAFITAAAAUmIAAABSLQEAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSKQEAAPMDAABzBAAAAAYDBgJjAAAAAAAAAAAEAAAAQkAAAHOGAAAAZQAAWgEAZAAAWgIAZAwAZQQAgwAAZQUAZAEAhAMAWgYAZAIAhAAAWgcAZAMAhAAAWggAZAwAZAQAhAEAWgkAZAUAhAAAWgoAZAYAhAAAWgsAZAwAZAcAhAEAWgwAZAwAZAgAhAEAWg0AZAkAhAAAWg4AZAoAhAAAWg8AZAsAhAAAWhAAUlMoDQAAAHM1AAAAU2VhcmNoYWJsZSBzbmFwc2hvdCBvZiBkaXN0cmlidXRpb25zIG9uIGEgc2VhcmNoIHBhdGhjBAAAAAQAAAACAAAAQ0AAAHMsAAAAaQAAfAAAXwAAfAIAfAAAXwEAfAMAfAAAXwIAfAAAagMAfAEAgwEAAWQBAFMoAgAAAHMhAwAAU25hcHNob3QgZGlzdHJpYnV0aW9ucyBhdmFpbGFibGUgb24gYSBzZWFyY2ggcGF0aAoKICAgICAgICBBbnkgZGlzdHJpYnV0aW9ucyBmb3VuZCBvbiBgc2VhcmNoX3BhdGhgIGFyZSBhZGRlZCB0byB0aGUgZW52aXJvbm1lbnQuCiAgICAgICAgYHNlYXJjaF9wYXRoYCBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvZiBgYHN5cy5wYXRoYGAgaXRlbXMuICBJZiBub3QKICAgICAgICBzdXBwbGllZCwgYGBzeXMucGF0aGBgIGlzIHVzZWQuCgogICAgICAgIGBwbGF0Zm9ybWAgaXMgYW4gb3B0aW9uYWwgc3RyaW5nIHNwZWNpZnlpbmcgdGhlIG5hbWUgb2YgdGhlIHBsYXRmb3JtCiAgICAgICAgdGhhdCBwbGF0Zm9ybS1zcGVjaWZpYyBkaXN0cmlidXRpb25zIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoLiAgSWYKICAgICAgICB1bnNwZWNpZmllZCwgaXQgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgcGxhdGZvcm0uICBgcHl0aG9uYCBpcyBhbgogICAgICAgIG9wdGlvbmFsIHN0cmluZyBuYW1pbmcgdGhlIGRlc2lyZWQgdmVyc2lvbiBvZiBQeXRob24gKGUuZy4gYGAnMy4zJ2BgKTsKICAgICAgICBpdCBkZWZhdWx0cyB0byB0aGUgY3VycmVudCB2ZXJzaW9uLgoKICAgICAgICBZb3UgbWF5IGV4cGxpY2l0bHkgc2V0IGBwbGF0Zm9ybWAgKGFuZC9vciBgcHl0aG9uYCkgdG8gYGBOb25lYGAgaWYgeW91CiAgICAgICAgd2lzaCB0byBtYXAgKmFsbCogZGlzdHJpYnV0aW9ucywgbm90IGp1c3QgdGhvc2UgY29tcGF0aWJsZSB3aXRoIHRoZQogICAgICAgIHJ1bm5pbmcgcGxhdGZvcm0gb3IgUHl0aG9uIHZlcnNpb24uCiAgICAgICAgTigEAAAAdAgAAABfZGlzdG1hcFJrAAAAdAYAAABweXRob250BAAAAHNjYW4oBAAAAFIXAAAAdAsAAABzZWFyY2hfcGF0aFJrAAAAUlUBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIPAQAACgQAAHMIAAAAABIJAQkBCQFjAgAAAAIAAAADAAAAQ0AAAHNDAAAAfAAAagAAZAEAawgAczAAfAEAagIAZAEAawgAczAAfAEAagIAfAAAagAAawIAb0IAdAMAfAEAagQAfAAAagQAgwIAUygCAAAAc+UAAABJcyBkaXN0cmlidXRpb24gYGRpc3RgIGFjY2VwdGFibGUgZm9yIHRoaXMgZW52aXJvbm1lbnQ/CgogICAgICAgIFRoZSBkaXN0cmlidXRpb24gbXVzdCBtYXRjaCB0aGUgcGxhdGZvcm0gYW5kIHB5dGhvbiB2ZXJzaW9uCiAgICAgICAgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCB3aGVuIHRoaXMgZW52aXJvbm1lbnQgd2FzIGNyZWF0ZWQsIG9yIEZhbHNlCiAgICAgICAgaXMgcmV0dXJuZWQuCiAgICAgICAgTigFAAAAUlUBAABSYgAAAHQKAAAAcHlfdmVyc2lvblKXAAAAUmsAAAAoAgAAAFIXAAAAUrkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQHAAAAY2FuX2FkZCEEAABzBgAAAAAHHgESAWMCAAAAAgAAAAIAAABDQAAAcxsAAAB8AABqAAB8AQBqAQAZagIAfAEAgwEAAWQBAFMoAgAAAHMiAAAAUmVtb3ZlIGBkaXN0YCBmcm9tIHRoZSBlbnZpcm9ubWVudE4oAwAAAFJUAQAAUiEAAAB0BgAAAHJlbW92ZSgCAAAAUhcAAABSuQAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UloBAAAsBAAAcwIAAAAAAmMCAAAABAAAAAQAAABDQAAAc1EAAAB8AQBkAQBrCAByGAB0AQBqAgB9AQBuAAB4MgB8AQBEXSoAfQIAeCEAdAMAfAIAgwEARF0TAH0DAHwAAGoEAHwDAIMBAAFxMgBXcR8AV2QBAFMoAgAAAHNkAQAAU2NhbiBgc2VhcmNoX3BhdGhgIGZvciBkaXN0cmlidXRpb25zIHVzYWJsZSBpbiB0aGlzIGVudmlyb25tZW50CgogICAgICAgIEFueSBkaXN0cmlidXRpb25zIGZvdW5kIGFyZSBhZGRlZCB0byB0aGUgZW52aXJvbm1lbnQuCiAgICAgICAgYHNlYXJjaF9wYXRoYCBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvZiBgYHN5cy5wYXRoYGAgaXRlbXMuICBJZiBub3QKICAgICAgICBzdXBwbGllZCwgYGBzeXMucGF0aGBgIGlzIHVzZWQuICBPbmx5IGRpc3RyaWJ1dGlvbnMgY29uZm9ybWluZyB0bwogICAgICAgIHRoZSBwbGF0Zm9ybS9weXRob24gdmVyc2lvbiBkZWZpbmVkIGF0IGluaXRpYWxpemF0aW9uIGFyZSBhZGRlZC4KICAgICAgICBOKAUAAABSYgAAAFJqAAAAUtcAAABShAAAAFIXAQAAKAQAAABSFwAAAFJXAQAAUiEBAABSuQAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UlYBAAAwBAAAcwoAAAAACAwBDAINARMBYwIAAAADAAAAAwAAAENAAABzHwAAAHwBAGoAAIMAAH0CAHwAAGoBAGoCAHwCAGcAAIMCAFMoAQAAAHMBAQAAUmV0dXJuIGEgbmV3ZXN0LXRvLW9sZGVzdCBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgZm9yIGBwcm9qZWN0X25hbWVgCgogICAgICAgIFVzZXMgY2FzZS1pbnNlbnNpdGl2ZSBgcHJvamVjdF9uYW1lYCBjb21wYXJpc29uLCBhc3N1bWluZyBhbGwgdGhlCiAgICAgICAgcHJvamVjdCdzIGRpc3RyaWJ1dGlvbnMgdXNlIHRoZWlyIHByb2plY3QncyBuYW1lIGNvbnZlcnRlZCB0byBhbGwKICAgICAgICBsb3dlcmNhc2UgYXMgdGhlaXIga2V5LgoKICAgICAgICAoAwAAAFI0AAAAUlQBAABSPgAAACgDAAAAUhcAAABSMQEAAHQQAAAAZGlzdHJpYnV0aW9uX2tleSgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UiIAAAA/BAAAcwQAAAAACAwBYwIAAAADAAAABQAAAENAAABzdQAAAHwAAGoAAHwBAIMBAHJxAHwBAGoBAIMAAHJxAHwAAGoCAGoDAHwBAGoEAGcAAIMCAH0CAHwBAHwCAGsHAHJxAHwCAGoFAHwBAIMBAAF8AgBqBgBkAQB0BwBqCABkAgCDAQBkAwB0CQCDAAIBcXEAbgAAZAQAUygFAAAAc0wAAABBZGQgYGRpc3RgIGlmIHdlIGBgY2FuX2FkZCgpYGAgaXQgYW5kIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuIGFkZGVkCiAgICAgICAgUiEAAAB0BwAAAGhhc2hjbXB0BwAAAHJldmVyc2VOKAoAAABSWQEAAHQLAAAAaGFzX3ZlcnNpb25SVAEAAFIbAQAAUiEAAABSNwAAAFI9AQAAdAgAAABvcGVyYXRvcnQKAAAAYXR0cmdldHRlclLqAAAAKAMAAABSFwAAAFK5AAAAUhoBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIXAQAASgQAAHMKAAAAAAMbARgBDAENAWMEAAAABQAAAAMAAABDQAAAc1cAAAB8AgBqAAB8AQCDAQB9BAB8BABkAQBrCQByHwB8BABTeCUAfAAAfAEAagIAGURdFgB9BAB8BAB8AQBrBgByLQB8BABTcS0AV3wAAGoDAHwBAHwDAIMCAFMoAgAAAHO4AgAARmluZCBkaXN0cmlidXRpb24gYmVzdCBtYXRjaGluZyBgcmVxYCBhbmQgdXNhYmxlIG9uIGB3b3JraW5nX3NldGAKCiAgICAgICAgVGhpcyBjYWxscyB0aGUgYGBmaW5kKHJlcSlgYCBtZXRob2Qgb2YgdGhlIGB3b3JraW5nX3NldGAgdG8gc2VlIGlmIGEKICAgICAgICBzdWl0YWJsZSBkaXN0cmlidXRpb24gaXMgYWxyZWFkeSBhY3RpdmUuICAoVGhpcyBtYXkgcmFpc2UKICAgICAgICBgYFZlcnNpb25Db25mbGljdGBgIGlmIGFuIHVuc3VpdGFibGUgdmVyc2lvbiBvZiB0aGUgcHJvamVjdCBpcyBhbHJlYWR5CiAgICAgICAgYWN0aXZlIGluIHRoZSBzcGVjaWZpZWQgYHdvcmtpbmdfc2V0YC4pICBJZiBhIHN1aXRhYmxlIGRpc3RyaWJ1dGlvbgogICAgICAgIGlzbid0IGFjdGl2ZSwgdGhpcyBtZXRob2QgcmV0dXJucyB0aGUgbmV3ZXN0IGRpc3RyaWJ1dGlvbiBpbiB0aGUKICAgICAgICBlbnZpcm9ubWVudCB0aGF0IG1lZXRzIHRoZSBgYFJlcXVpcmVtZW50YGAgaW4gYHJlcWAuICBJZiBubyBzdWl0YWJsZQogICAgICAgIGRpc3RyaWJ1dGlvbiBpcyBmb3VuZCwgYW5kIGBpbnN0YWxsZXJgIGlzIHN1cHBsaWVkLCB0aGVuIHRoZSByZXN1bHQgb2YKICAgICAgICBjYWxsaW5nIHRoZSBlbnZpcm9ubWVudCdzIGBgb2J0YWluKHJlcSwgaW5zdGFsbGVyKWBgIG1ldGhvZCB3aWxsIGJlCiAgICAgICAgcmV0dXJuZWQuCiAgICAgICAgTigEAAAAUsoAAABSYgAAAFIhAAAAdAYAAABvYnRhaW4oBQAAAFIXAAAAUroAAABSggAAAFI0AQAAUrkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIuAQAAUwQAAHMOAAAAAA0PAQwBBAEUAQwBCAJjAwAAAAMAAAACAAAAQ0AAAHMaAAAAfAIAZAEAawkAchYAfAIAfAEAgwEAU2QBAFMoAgAAAHPeAQAAT2J0YWluIGEgZGlzdHJpYnV0aW9uIG1hdGNoaW5nIGByZXF1aXJlbWVudGAgKGUuZy4gdmlhIGRvd25sb2FkKQoKICAgICAgICBPYnRhaW4gYSBkaXN0cm8gdGhhdCBtYXRjaGVzIHJlcXVpcmVtZW50IChlLmcuIHZpYSBkb3dubG9hZCkuICBJbiB0aGUKICAgICAgICBiYXNlIGBgRW52aXJvbm1lbnRgYCBjbGFzcywgdGhpcyByb3V0aW5lIGp1c3QgcmV0dXJucwogICAgICAgIGBgaW5zdGFsbGVyKHJlcXVpcmVtZW50KWBgLCB1bmxlc3MgYGluc3RhbGxlcmAgaXMgTm9uZSwgaW4gd2hpY2ggY2FzZQogICAgICAgIE5vbmUgaXMgcmV0dXJuZWQgaW5zdGVhZC4gIFRoaXMgbWV0aG9kIGlzIGEgaG9vayB0aGF0IGFsbG93cyBzdWJjbGFzc2VzCiAgICAgICAgdG8gYXR0ZW1wdCBvdGhlciB3YXlzIG9mIG9idGFpbmluZyBhIGRpc3RyaWJ1dGlvbiBiZWZvcmUgZmFsbGluZyBiYWNrCiAgICAgICAgdG8gdGhlIGBpbnN0YWxsZXJgIGFyZ3VtZW50Lk4oAQAAAFJiAAAAKAMAAABSFwAAAHQLAAAAcmVxdWlyZW1lbnRSNAEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UmEBAABpBAAAcwQAAAAACQwBYwEAAAACAAAAAwAAAGNAAABzMAAAAHgpAHwAAGoAAGoBAIMAAERdGAB9AQB8AAB8AQAZchAAfAEAVgFxEABxEABXZAEAUygCAAAAcz0AAABZaWVsZCB0aGUgdW5pcXVlIHByb2plY3QgbmFtZXMgb2YgdGhlIGF2YWlsYWJsZSBkaXN0cmlidXRpb25zTigCAAAAUlQBAABSJgEAACgCAAAAUhcAAABSIQAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UkMAAAB1BAAAcwYAAAAAAhYBCgFjAgAAAAQAAAAEAAAAQ0AAAHN7AAAAdAAAfAEAdAEAgwIAch8AfAAAagIAfAEAgwEAAW5YAHQAAHwBAHQDAIMCAHJkAHhGAHwBAERdKAB9AgB4HwB8AQB8AgAZRF0TAH0DAHwAAGoCAHwDAIMBAAFxRgBXcTUAV24TAHQEAGQBAHwBAGYBABaDAQCCAQB8AABTKAIAAABzMgAAAEluLXBsYWNlIGFkZGl0aW9uIG9mIGEgZGlzdHJpYnV0aW9uIG9yIGVudmlyb25tZW50cxsAAABDYW4ndCBhZGQgJXIgdG8gZW52aXJvbm1lbnQoBQAAAFIYAAAAUosAAABSFwEAAFKIAAAAUvwAAAAoBAAAAFIXAAAAUhsAAAB0BwAAAHByb2plY3RSuQAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAgAAABfX2lhZGRfX3sEAABzEAAAAAACDwEQAQ8BDQERARgCEwFjAgAAAAQAAAAGAAAAQ0AAAHNAAAAAfAAAagAAZwAAZAEAZAMAZAIAZAMAgwECfQIAeB4AfAAAfAEAZgIARF0QAH0DAHwCAHwDADd9AgBxKABXfAIAUygEAAAAczQAAABBZGQgYW4gZW52aXJvbm1lbnQgb3IgZGlzdHJpYnV0aW9uIHRvIGFuIGVudmlyb25tZW50UmsAAABSVQEAAE4oAgAAAFK2AAAAUmIAAAAoBAAAAFIXAAAAUhsAAAB0AwAAAG5ld1IzAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0BwAAAF9fYWRkX1+HBAAAcwgAAAAAAhsBEwEOAU4oEQAAAFIRAAAAUhIAAABSEwAAAFJiAAAAUnIAAAB0CAAAAFBZX01BSk9SUg8BAABSWQEAAFJaAQAAUlYBAABSIgAAAFIXAQAAUi4BAABSYQEAAFJDAAAAUmQBAABSZgEAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSiAAAAAcEAABzGgAAAAYBBgIJAQwWCQsJBAwPCQsJCQwWDAwJBgkMYwAAAAAAAAAAAQAAAEJAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzVAEAAEFuIGVycm9yIG9jY3VycmVkIGV4dHJhY3RpbmcgYSByZXNvdXJjZQoKICAgIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgYXZhaWxhYmxlIGZyb20gaW5zdGFuY2VzIG9mIHRoaXMgZXhjZXB0aW9uOgoKICAgIG1hbmFnZXIKICAgICAgICBUaGUgcmVzb3VyY2UgbWFuYWdlciB0aGF0IHJhaXNlZCB0aGlzIGV4Y2VwdGlvbgoKICAgIGNhY2hlX3BhdGgKICAgICAgICBUaGUgYmFzZSBkaXJlY3RvcnkgZm9yIHJlc291cmNlIGV4dHJhY3Rpb24KCiAgICBvcmlnaW5hbF9lcnJvcgogICAgICAgIFRoZSBleGNlcHRpb24gaW5zdGFuY2UgdGhhdCBjYXVzZWQgZXh0cmFjdGlvbiB0byBmYWlsCiAgICAoAwAAAFIRAAAAUhIAAABSEwAAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSkgAAAJMEAABzAgAAAAYNYwAAAAAAAAAAAgAAAEJAAABzlQAAAGUAAFoBAGQAAFoCAGQOAFoEAGQBAIQAAFoFAGQCAIQAAFoGAGQDAIQAAFoHAGQEAIQAAFoIAGQFAIQAAFoJAGQGAIQAAFoKAGQHAIQAAFoLAGQIAIQAAFoMAGQPAGQJAIQBAFoNAGUOAGQKAIQAAIMBAFoPAGQLAIQAAFoQAGQMAIQAAFoRAGUSAGQNAIQBAFoTAFJTKBAAAABzJwAAAE1hbmFnZSByZXNvdXJjZSBleHRyYWN0aW9uIGFuZCBwYWNrYWdlc2MBAAAAAQAAAAIAAABDQAAAcw0AAABpAAB8AABfAABkAABTKAEAAABOKAEAAAB0DAAAAGNhY2hlZF9maWxlcygBAAAAUhcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIPAQAApwQAAHMCAAAAAAFjAwAAAAMAAAACAAAAQ0AAAHMTAAAAdAAAfAEAgwEAagEAfAIAgwEAUygBAAAAcx4AAABEb2VzIHRoZSBuYW1lZCByZXNvdXJjZSBleGlzdD8oAgAAAFJ1AAAAUggBAAAoAwAAAFIXAAAAdBYAAABwYWNrYWdlX29yX3JlcXVpcmVtZW50UgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ/AAAAqgQAAHMCAAAAAAJjAwAAAAMAAAACAAAAQ0AAAHMTAAAAdAAAfAEAgwEAagEAfAIAgwEAUygBAAAAcywAAABJcyB0aGUgbmFtZWQgcmVzb3VyY2UgYW4gZXhpc3RpbmcgZGlyZWN0b3J5PygCAAAAUnUAAABSgAAAACgDAAAAUhcAAABSaQEAAFIEAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSgAAAAK4EAABzBAAAAAACDAFjAwAAAAMAAAADAAAAQ0AAAHMWAAAAdAAAfAEAgwEAagEAfAAAfAIAgwIAUygBAAAAczQAAABSZXR1cm4gYSB0cnVlIGZpbGVzeXN0ZW0gcGF0aCBmb3Igc3BlY2lmaWVkIHJlc291cmNlKAIAAABSdQAAAFIFAQAAKAMAAABSFwAAAFJpAQAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ9AAAAtAQAAHMEAAAAAAIMAWMDAAAAAwAAAAMAAABDQAAAcxYAAAB0AAB8AQCDAQBqAQB8AAB8AgCDAgBTKAEAAABzOQAAAFJldHVybiBhIHJlYWRhYmxlIGZpbGUtbGlrZSBvYmplY3QgZm9yIHNwZWNpZmllZCByZXNvdXJjZSgCAAAAUnUAAABSBgEAACgDAAAAUhcAAABSaQEAAFIEAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSfAAAALoEAABzBAAAAAACDAFjAwAAAAMAAAADAAAAQ0AAAHMWAAAAdAAAfAEAgwEAagEAfAAAfAIAgwIAUygBAAAAcyUAAABSZXR1cm4gc3BlY2lmaWVkIHJlc291cmNlIGFzIGEgc3RyaW5nKAIAAABSdQAAAFIHAQAAKAMAAABSFwAAAFJpAQAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ7AAAAwAQAAHMEAAAAAAIMAWMDAAAAAwAAAAIAAABDQAAAcxMAAAB0AAB8AQCDAQBqAQB8AgCDAQBTKAEAAABzMQAAAExpc3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBuYW1lZCByZXNvdXJjZSBkaXJlY3RvcnkoAgAAAFJ1AAAAUn4AAAAoAwAAAFIXAAAAUmkBAABSBAEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Un4AAADGBAAAcwQAAAAAAgwBYwEAAAAFAAAAAwAAAENAAABzdAAAAHQAAGoBAIMAAGQBABl9AQB8AABqAgBwHwB0AwCDAAB9AgB0BABqBQBkAgCDAQBqBgCDAAB9AwB0BwB8AwBqCAB0CQCDAACNAACDAQB9BAB8AAB8BABfCgB8AgB8BABfCwB8AQB8BABfDAB8BACCAQBkAwBTKAQAAABzNQAAAEdpdmUgYW4gZXJyb3IgbWVzc2FnZSBmb3IgcHJvYmxlbXMgZXh0cmFjdGluZyBmaWxlKHMpaQEAAABzBwIAAAogICAgICAgICAgICBDYW4ndCBleHRyYWN0IGZpbGUocykgdG8gZWdnIGNhY2hlCgogICAgICAgICAgICBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBleHRyYWN0IGZpbGUocykgdG8gdGhlIFB5dGhvbiBlZ2cKICAgICAgICAgICAgY2FjaGU6CgogICAgICAgICAgICAgIHtvbGRfZXhjfQoKICAgICAgICAgICAgVGhlIFB5dGhvbiBlZ2cgY2FjaGUgZGlyZWN0b3J5IGlzIGN1cnJlbnRseSBzZXQgdG86CgogICAgICAgICAgICAgIHtjYWNoZV9wYXRofQoKICAgICAgICAgICAgUGVyaGFwcyB5b3VyIGFjY291bnQgZG9lcyBub3QgaGF2ZSB3cml0ZSBhY2Nlc3MgdG8gdGhpcyBkaXJlY3Rvcnk/ICBZb3UgY2FuCiAgICAgICAgICAgIGNoYW5nZSB0aGUgY2FjaGUgZGlyZWN0b3J5IGJ5IHNldHRpbmcgdGhlIFBZVEhPTl9FR0dfQ0FDSEUgZW52aXJvbm1lbnQKICAgICAgICAgICAgdmFyaWFibGUgdG8gcG9pbnQgdG8gYW4gYWNjZXNzaWJsZSBkaXJlY3RvcnkuCiAgICAgICAgICAgIE4oDQAAAFJqAAAAdAgAAABleGNfaW5mb3QPAAAAZXh0cmFjdGlvbl9wYXRoUocAAAB0CAAAAHRleHR3cmFwdAYAAABkZWRlbnR0BgAAAGxzdHJpcFKSAAAAUrwAAABSvQAAAFIDAQAAdAoAAABjYWNoZV9wYXRodA4AAABvcmlnaW5hbF9lcnJvcigFAAAAUhcAAAB0BwAAAG9sZF9leGNSbwEAAHQEAAAAdG1wbHQDAAAAZXJyKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EAAAAGV4dHJhY3Rpb25fZXJyb3LMBAAAcxIAAAAAAxABEgIGDw8BGAEJAQkBCQFjAwAAAAUAAAAEAAAAQ0AAAHNuAAAAfAAAagAAcA8AdAEAgwAAfQMAdAIAagMAagQAfAMAfAEAZAEAF3wCAIwCAH0EAHkOAHQFAHwEAIMBAAFXbhEAAQEBfAAAagYAgwAAAW4BAFh8AABqBwB8AwCDAQABZAIAfAAAaggAfAQAPHwEAFMoAwAAAHOuAgAAUmV0dXJuIGFic29sdXRlIGxvY2F0aW9uIGluIGNhY2hlIGZvciBgYXJjaGl2ZV9uYW1lYCBhbmQgYG5hbWVzYAoKICAgICAgICBUaGUgcGFyZW50IGRpcmVjdG9yeSBvZiB0aGUgcmVzdWx0aW5nIHBhdGggd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXMKICAgICAgICBub3QgYWxyZWFkeSBleGlzdC4gIGBhcmNoaXZlX25hbWVgIHNob3VsZCBiZSB0aGUgYmFzZSBmaWxlbmFtZSBvZiB0aGUKICAgICAgICBlbmNsb3NpbmcgZWdnICh3aGljaCBtYXkgbm90IGJlIHRoZSBuYW1lIG9mIHRoZSBlbmNsb3NpbmcgemlwZmlsZSEpLAogICAgICAgIGluY2x1ZGluZyBpdHMgIi5lZ2ciIGV4dGVuc2lvbi4gIGBuYW1lc2AsIGlmIHByb3ZpZGVkLCBzaG91bGQgYmUgYQogICAgICAgIHNlcXVlbmNlIG9mIHBhdGggbmFtZSBwYXJ0cyAidW5kZXIiIHRoZSBlZ2cncyBleHRyYWN0aW9uIGxvY2F0aW9uLgoKICAgICAgICBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgYnkgcmVzb3VyY2UgcHJvdmlkZXJzIHRoYXQgbmVlZCB0bwogICAgICAgIG9idGFpbiBhbiBleHRyYWN0aW9uIGxvY2F0aW9uLCBhbmQgb25seSBmb3IgbmFtZXMgdGhleSBpbnRlbmQgdG8KICAgICAgICBleHRyYWN0LCBhcyBpdCB0cmFja3MgdGhlIGdlbmVyYXRlZCBuYW1lcyBmb3IgcG9zc2libGUgY2xlYW51cCBsYXRlci4KICAgICAgICBzBAAAAC10bXBpAQAAACgJAAAAUmsBAABShwAAAFLWAAAAUtcAAABSbAAAAHQYAAAAX2J5cGFzc19lbnN1cmVfZGlyZWN0b3J5UnQBAAB0HAAAAF93YXJuX3Vuc2FmZV9leHRyYWN0aW9uX3BhdGhSaAEAACgFAAAAUhcAAAB0DAAAAGFyY2hpdmVfbmFtZXQFAAAAbmFtZXN0DAAAAGV4dHJhY3RfcGF0aHQLAAAAdGFyZ2V0X3BhdGgoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQOAAAAZ2V0X2NhY2hlX3BhdGjoBAAAcxIAAAAADRIBHAEDAQ4BAwEOAg0CDQFjAQAAAAMAAAADAAAAQ0AAAHN3AAAAdAAAagEAZAEAawIAcioAfAAAagIAdAAAagMAZAIAGYMBAAxyKgBkAwBTdAAAagQAfAAAgwEAagUAfQEAfAEAdAQAagYAQHNWAHwBAHQEAGoHAEBycwBkBAB8AAAWfQIAdAgAagkAfAIAdAoAgwIAAW4AAGQDAFMoBQAAAHNOAQAACiAgICAgICAgSWYgdGhlIGRlZmF1bHQgZXh0cmFjdGlvbiBwYXRoIGlzIG92ZXJyaWRkZW4gYW5kIHNldCB0byBhbiBpbnNlY3VyZQogICAgICAgIGxvY2F0aW9uLCBzdWNoIGFzIC90bXAsIGl0IG9wZW5zIHVwIGFuIG9wcG9ydHVuaXR5IGZvciBhbiBhdHRhY2tlciB0bwogICAgICAgIHJlcGxhY2UgYW4gZXh0cmFjdGVkIGZpbGUgd2l0aCBhbiB1bmF1dGhvcml6ZWQgcGF5bG9hZC4gV2FybiB0aGUgdXNlcgogICAgICAgIGlmIGEga25vd24gaW5zZWN1cmUgbG9jYXRpb24gaXMgdXNlZC4KCiAgICAgICAgU2VlIERpc3RyaWJ1dGUgIzM3NSBmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgIHQCAAAAbnR0BgAAAHdpbmRpck5zywAAACVzIGlzIHdyaXRhYmxlIGJ5IGdyb3VwL290aGVycyBhbmQgdnVsbmVyYWJsZSB0byBhdHRhY2sgd2hlbiB1c2VkIHdpdGggZ2V0X3Jlc291cmNlX2ZpbGVuYW1lLiBDb25zaWRlciBhIG1vcmUgc2VjdXJlIGxvY2F0aW9uIChzZXQgd2l0aCAuc2V0X2V4dHJhY3Rpb25fcGF0aCBvciB0aGUgUFlUSE9OX0VHR19DQUNIRSBlbnZpcm9ubWVudCB2YXJpYWJsZSkuKAsAAABS1gAAAFL5AAAAUjUAAAB0BwAAAGVudmlyb250BAAAAHN0YXR0BwAAAHN0X21vZGV0BwAAAFNfSVdPVEh0BwAAAFNfSVdHUlBSPwAAAFJAAAAAdAsAAABVc2VyV2FybmluZygDAAAAUtcAAAB0BAAAAG1vZGV0AwAAAG1zZygAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UnYBAAABBQAAcw4AAAAACiYEBAESARoBAwQHAWMDAAAABAAAAAMAAABDQAAAc0AAAAB0AABqAQBkAQBrAgByPAB0AABqAgB8AQCDAQBqAwBkAgBCZAMAQH0DAHQAAGoEAHwBAHwDAIMCAAFuAABkBABTKAUAAABzNAIAAFBlcmZvcm0gYW55IHBsYXRmb3JtLXNwZWNpZmljIHBvc3Rwcm9jZXNzaW5nIG9mIGB0ZW1wbmFtZWAKCiAgICAgICAgVGhpcyBpcyB3aGVyZSBNYWMgaGVhZGVyIHJld3JpdGVzIHNob3VsZCBiZSBkb25lOyBvdGhlciBwbGF0Zm9ybXMgZG9uJ3QKICAgICAgICBoYXZlIGFueXRoaW5nIHNwZWNpYWwgdGhleSBzaG91bGQgZG8uCgogICAgICAgIFJlc291cmNlIHByb3ZpZGVycyBzaG91bGQgY2FsbCB0aGlzIG1ldGhvZCBPTkxZIGFmdGVyIHN1Y2Nlc3NmdWxseQogICAgICAgIGV4dHJhY3RpbmcgYSBjb21wcmVzc2VkIHJlc291cmNlLiAgVGhleSBtdXN0IE5PVCBjYWxsIGl0IG9uIHJlc291cmNlcwogICAgICAgIHRoYXQgYXJlIGFscmVhZHkgaW4gdGhlIGZpbGVzeXN0ZW0uCgogICAgICAgIGB0ZW1wbmFtZWAgaXMgdGhlIGN1cnJlbnQgKHRlbXBvcmFyeSkgbmFtZSBvZiB0aGUgZmlsZSwgYW5kIGBmaWxlbmFtZWAKICAgICAgICBpcyB0aGUgbmFtZSBpdCB3aWxsIGJlIHJlbmFtZWQgdG8gYnkgdGhlIGNhbGxlciBhZnRlciB0aGlzIHJvdXRpbmUKICAgICAgICByZXR1cm5zLgogICAgICAgIHQFAAAAcG9zaXhpbQEAAGn/DwAATigFAAAAUtYAAABS+QAAAFJ/AQAAUoABAAB0BQAAAGNobW9kKAQAAABSFwAAAHQIAAAAdGVtcG5hbWV0CAAAAGZpbGVuYW1lUoQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQLAAAAcG9zdHByb2Nlc3MZBQAAcwYAAAAADw8CGgFjAgAAAAIAAAACAAAAQ0AAAHMlAAAAfAAAagAAchgAdAEAZAEAgwEAggEAbgAAfAEAfAAAXwIAZAIAUygDAAAAc9IDAABTZXQgdGhlIGJhc2UgcGF0aCB3aGVyZSByZXNvdXJjZXMgd2lsbCBiZSBleHRyYWN0ZWQgdG8sIGlmIG5lZWRlZC4KCiAgICAgICAgSWYgeW91IGRvIG5vdCBjYWxsIHRoaXMgcm91dGluZSBiZWZvcmUgYW55IGV4dHJhY3Rpb25zIHRha2UgcGxhY2UsIHRoZQogICAgICAgIHBhdGggZGVmYXVsdHMgdG8gdGhlIHJldHVybiB2YWx1ZSBvZiBgYGdldF9kZWZhdWx0X2NhY2hlKClgYC4gIChXaGljaAogICAgICAgIGlzIGJhc2VkIG9uIHRoZSBgYFBZVEhPTl9FR0dfQ0FDSEVgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgd2l0aCB2YXJpb3VzCiAgICAgICAgcGxhdGZvcm0tc3BlY2lmaWMgZmFsbGJhY2tzLiAgU2VlIHRoYXQgcm91dGluZSdzIGRvY3VtZW50YXRpb24gZm9yIG1vcmUKICAgICAgICBkZXRhaWxzLikKCiAgICAgICAgUmVzb3VyY2VzIGFyZSBleHRyYWN0ZWQgdG8gc3ViZGlyZWN0b3JpZXMgb2YgdGhpcyBwYXRoIGJhc2VkIHVwb24KICAgICAgICBpbmZvcm1hdGlvbiBnaXZlbiBieSB0aGUgYGBJUmVzb3VyY2VQcm92aWRlcmBgLiAgWW91IG1heSBzZXQgdGhpcyB0byBhCiAgICAgICAgdGVtcG9yYXJ5IGRpcmVjdG9yeSwgYnV0IHRoZW4geW91IG11c3QgY2FsbCBgYGNsZWFudXBfcmVzb3VyY2VzKClgYCB0bwogICAgICAgIGRlbGV0ZSB0aGUgZXh0cmFjdGVkIGZpbGVzIHdoZW4gZG9uZS4gIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0CiAgICAgICAgYGBjbGVhbnVwX3Jlc291cmNlcygpYGAgd2lsbCBiZSBhYmxlIHRvIHJlbW92ZSBhbGwgZXh0cmFjdGVkIGZpbGVzLgoKICAgICAgICAoTm90ZTogeW91IG1heSBub3QgY2hhbmdlIHRoZSBleHRyYWN0aW9uIHBhdGggZm9yIGEgZ2l2ZW4gcmVzb3VyY2UKICAgICAgICBtYW5hZ2VyIG9uY2UgcmVzb3VyY2VzIGhhdmUgYmVlbiBleHRyYWN0ZWQsIHVubGVzcyB5b3UgZmlyc3QgY2FsbAogICAgICAgIGBgY2xlYW51cF9yZXNvdXJjZXMoKWBgLikKICAgICAgICBzNQAAAENhbid0IGNoYW5nZSBleHRyYWN0aW9uIHBhdGgsIGZpbGVzIGFscmVhZHkgZXh0cmFjdGVkTigDAAAAUmgBAABSbwAAAFJrAQAAKAIAAABSFwAAAFLXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlShQAAAC0FAABzCAAAAAATCQEDAQwDYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNCAgAACiAgICAgICAgRGVsZXRlIGFsbCBleHRyYWN0ZWQgcmVzb3VyY2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzLCByZXR1cm5pbmcgYSBsaXN0CiAgICAgICAgb2YgdGhlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyB0aGF0IGNvdWxkIG5vdCBiZSBzdWNjZXNzZnVsbHkgcmVtb3ZlZC4KICAgICAgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYW55IGNvbmN1cnJlbmN5IHByb3RlY3Rpb24sIHNvIGl0IHNob3VsZAogICAgICAgIGdlbmVyYWxseSBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBleHRyYWN0aW9uIHBhdGggaXMgYSB0ZW1wb3JhcnkKICAgICAgICBkaXJlY3RvcnkgZXhjbHVzaXZlIHRvIGEgc2luZ2xlIHByb2Nlc3MuICBUaGlzIG1ldGhvZCBpcyBub3QKICAgICAgICBhdXRvbWF0aWNhbGx5IGNhbGxlZDsgeW91IG11c3QgY2FsbCBpdCBleHBsaWNpdGx5IG9yIHJlZ2lzdGVyIGl0IGFzIGFuCiAgICAgICAgYGBhdGV4aXRgYCBmdW5jdGlvbiBpZiB5b3Ugd2lzaCB0byBlbnN1cmUgY2xlYW51cCBvZiBhIHRlbXBvcmFyeQogICAgICAgIGRpcmVjdG9yeSB1c2VkIGZvciBleHRyYWN0aW9ucy4KICAgICAgICBOKAAAAAAoAgAAAFIXAAAAdAUAAABmb3JjZSgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UoYAAABHBQAAUmUAAABOKAAAAAAoFAAAAFIRAAAAUhIAAABSEwAAAFJiAAAAUmsBAABSDwEAAFJ/AAAAUoAAAABSfQAAAFJ8AAAAUnsAAABSfgAAAFJ0AQAAUnsBAAB0DAAAAHN0YXRpY21ldGhvZFJ2AQAAUooBAABShQAAAFLsAAAAUoYAAAAoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UooAAACjBAAAcx4AAAAGAQYBBgIJAwkECQYJBgkGCQYJBgkcDBkPGAkUCRpjAAAAAAAAAAADAAAAQ0AAAHMiAAAAdAAAagEAagIAZAEAgwEAcCEAdAMAagQAZAIAZAMAgwABUygEAAAAc4wAAAAKICAgIFJldHVybiB0aGUgYGBQWVRIT05fRUdHX0NBQ0hFYGAgZW52aXJvbm1lbnQgdmFyaWFibGUKICAgIG9yIGEgcGxhdGZvcm0tcmVsZXZhbnQgdXNlciBjYWNoZSBkaXIgZm9yIGFuIGFwcAogICAgbmFtZWQgIlB5dGhvbi1FZ2dzIi4KICAgIHQQAAAAUFlUSE9OX0VHR19DQUNIRXQHAAAAYXBwbmFtZXMLAAAAUHl0aG9uLUVnZ3MoBQAAAFLWAAAAUn4BAABSPgAAAFIOAAAAdA4AAAB1c2VyX2NhY2hlX2RpcigAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlShwAAAFUFAABzBAAAAAAHEgFjAQAAAAEAAAAEAAAAQ0AAAHMTAAAAdAAAagEAZAEAZAIAfAAAgwMAUygDAAAAc48AAABDb252ZXJ0IGFuIGFyYml0cmFyeSBzdHJpbmcgdG8gYSBzdGFuZGFyZCBkaXN0cmlidXRpb24gbmFtZQoKICAgIEFueSBydW5zIG9mIG5vbi1hbHBoYW51bWVyaWMvLiBjaGFyYWN0ZXJzIGFyZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlICctJy4KICAgIHMOAAAAW15BLVphLXowLTkuXStSJgAAACgCAAAAUjsAAAB0AwAAAHN1YigBAAAAUvkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKUAAAAYQUAAHMCAAAAAAVjAQAAAAEAAAAFAAAAQ0AAAHNaAAAAeRoAdAAAdAEAagIAagMAfAAAgwEAgwEAU1duOQAEdAEAagIAagQAawoAclUAAQEBfAAAagUAZAEAZAIAgwIAfQAAdAYAagcAZAMAZAQAfAAAgwMAU1hkBQBTKAYAAABzQgAAAAogICAgQ29udmVydCBhbiBhcmJpdHJhcnkgc3RyaW5nIHRvIGEgc3RhbmRhcmQgdmVyc2lvbiBzdHJpbmcKICAgIFLjAAAAUioAAABzDgAAAFteQS1aYS16MC05Ll0rUiYAAABOKAgAAABSQgAAAFIPAAAAUkYAAAB0BwAAAFZlcnNpb25SRwAAAFIxAAAAUjsAAABSkAEAACgBAAAAUkYAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKVAAAAaQUAAHMKAAAAAAQDAhoBEwESAWMBAAAAAQAAAAQAAABDQAAAcxkAAAB0AABqAQBkAQBkAgB8AACDAwBqAgCDAABTKAMAAABzsQAAAENvbnZlcnQgYW4gYXJiaXRyYXJ5IHN0cmluZyB0byBhIHN0YW5kYXJkICdleHRyYScgbmFtZQoKICAgIEFueSBydW5zIG9mIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhcmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSAnXycsCiAgICBhbmQgdGhlIHJlc3VsdCBpcyBhbHdheXMgbG93ZXJjYXNlZC4KICAgIHMPAAAAW15BLVphLXowLTkuLV0rUuQAAAAoAwAAAFI7AAAAUpABAABSNAAAACgBAAAAUk4BAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKaAAAAdQUAAHMCAAAAAAZjAQAAAAEAAAADAAAAQ0AAAHMQAAAAfAAAagAAZAEAZAIAgwIAUygDAAAAc3wAAABDb252ZXJ0IGEgcHJvamVjdCBvciB2ZXJzaW9uIG5hbWUgdG8gaXRzIGZpbGVuYW1lLWVzY2FwZWQgZm9ybQoKICAgIEFueSAnLScgY2hhcmFjdGVycyBhcmUgY3VycmVudGx5IHJlcGxhY2VkIHdpdGggJ18nLgogICAgUiYAAABS5AAAACgBAAAAUjEAAAAoAQAAAFL5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSmwAAAH4FAABzAgAA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AAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIFAQAArgUAAHMCAAAAAAFjAwAAAAMAAAAEAAAAQ0AAAHMZAAAAdAAAagEAfAAAagIAfAEAfAIAgwIAgwEAUygBAAAATigDAAAAdAIAAABpb3QHAAAAQnl0ZXNJT1IHAQAAKAMAAABSFwAAAFIDAQAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIGAQAAsQUAAHMCAAAAAAFjAwAAAAMAAAAEAAAAQ0AAAHMcAAAAfAAAagAAfAAAagEAfAAAagIAfAIAgwIAgwEAUygBAAAATigDAAAAdAQAAABfZ2V0UpwBAABSmwEAACgDAAAAUhcAAABSAwEAAFIEAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSBwEAALQFAABzAgAAAAABYwIAAAACAAAABAAAAENAAABzHAAAAHwAAGoAAHwAAGoBAHwAAGoCAHwBAIMCAIMBAFMoAQAAAE4oAwAAAHQEAAAAX2hhc1KcAQAAUpsBAAAoAgAAAFIXAAAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIIAQAAtwUAAHMCAAAAAAFjAgAAAAIAAAAEAAAAQ0AAAHMlAAAAfAAAagAAbyQAfAAAagEAfAAAagIAfAAAagAAfAEAgwIAgwEAUygBAAAATigDAAAAdAgAAABlZ2dfaW5mb1KgAQAAUpwBAAAoAgAAAFIXAAAAUvkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVL9AAAAugUAAHMCAAAAAAFjAgAAAAMAAAAEAAAAQ0AAAHNFAAAAfAAAagAAcw0AZAEAU3wAAGoBAHwAAGoCAHwAAGoAAHwBAIMCAIMBAH0CAHQDAGoEAHJBAHwCAGoFAGQCAIMBAFN8AgBTKAMAAABOUmUAAABzBQAAAHV0Zi04KAYAAABSoQEAAFKfAQAAUpwBAABSAgAAAHQDAAAAUFkzdAYAAABkZWNvZGUoAwAAAFIXAAAAUvkAAAB0BQAAAHZhbHVlKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS/gAAAL0FAABzCAAAAAABCQEEAR4BYwIAAAACAAAAAwAAAENAAABzEwAAAHQAAHwAAGoBAHwBAIMBAIMBAFMoAQAAAE4oAgAAAFKYAAAAUv4AAAAoAgAAAFIXAAAAUvkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVL/AAAAwwUAAHMCAAAAAAFjAgAAAAIAAAAEAAAAQ0AAAHMcAAAAfAAAagAAfAAAagEAfAAAagIAfAEAgwIAgwEAUygBAAAATigDAAAAdAYAAABfaXNkaXJSnAEAAFKbAQAAKAIAAABSFwAAAFIEAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSgAAAAMYFAABzAgAAAAABYwIAAAACAAAABAAAAENAAABzJQAAAHwAAGoAAG8kAHwAAGoBAHwAAGoCAHwAAGoAAHwBAIMCAIMBAFMoAQAAAE4oAwAAAFKhAQAAUqUBAABSnAEAACgCAAAAUhcAAABS+QAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UgABAADJBQAAcwIAAAAAAWMCAAAAAgAAAAQAAABDQAAAcxwAAAB8AABqAAB8AABqAQB8AABqAgB8AQCDAgCDAQBTKAEAAABOKAMAAAB0CAAAAF9saXN0ZGlyUpwBAABSmwEAACgCAAAAUhcAAABSBAEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Un4AAADMBQAAcwIAAAAAAWMCAAAAAgAAAAQAAABDQAAAcykAAAB8AABqAAByJQB8AABqAQB8AABqAgB8AABqAAB8AQCDAgCDAQBTZwAAUygBAAAATigDAAAAUqEBAABSpgEAAFKcAQAAKAIAAABSFwAAAFL5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSAQEAAM8FAABzBgAAAAABCQEcAWMDAAAACgAAAAQAAABCQAAAcxABAABkAQB8AQAXfQMAfAAAagAAfAMAgwEAcywAZQEAZAIAfAEAFoMBAIIBAG4AAHwAAGoCAHwDAIMBAGoDAGQDAGQEAIMCAH0EAHwEAGoDAGQFAGQEAIMCAH0EAHwAAGoEAHwAAGoFAHwDAIMCAH0FAHwFAHwCAGQGADxlBgBqBwBqCAB8BQCDAQByuwBlCQB8BQCDAQBqCgCDAAB9BgBlCwB8BgB8BQBkBwCDAwB9BwB8BwB8AgB8AgBVblEAZAgAZAkAbAwAbQ0AfQgAAWUOAHwEAIMBAGQIAHwEAGoPAGQEAIMBAHwFAGYEAHwIAHwFADxlCwB8BAB8BQBkBwCDAwB9CQB8CQB8AgB8AgBVZAAAUygKAAAATnMIAAAAc2NyaXB0cy9zEgAAAE5vIHNjcmlwdCBuYW1lZCAlcnMCAAAADQpzAQAAAApzAQAAAA1SmQEAAHQEAAAAZXhlY2kAAAAAKAEAAAB0BQAAAGNhY2hlKBAAAABS/QAAAFKOAAAAUv4AAABSMQAAAFKcAQAAUqEBAABS1gAAAFLXAAAAUtgAAABSCgAAAHQEAAAAcmVhZFI8AAAAdAkAAABsaW5lY2FjaGVSqAEAAHQDAAAAbGVuUgwAAAAoCgAAAFIXAAAAUvcAAABSAgEAAHQGAAAAc2NyaXB0dAsAAABzY3JpcHRfdGV4dHQPAAAAc2NyaXB0X2ZpbGVuYW1ldAYAAABzb3VyY2V0BAAAAGNvZGVSqAEAAHQLAAAAc2NyaXB0X2NvZGUoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJ0AAAA1AUAAHMeAAAAAAEKAQ8BEwEbARIBFQEKARIBEgESAQ0CEAIlAhIBYwIAAAACAAAAAgAAAENAAABzEAAAAHQAAGQBAIMBAIIBAGQAAFMoAgAAAE5zOQAAAENhbid0IHBlcmZvcm0gdGhpcyBvcGVyYXRpb24gZm9yIHVucmVnaXN0ZXJlZCBsb2FkZXIgdHlwZSgBAAAAdBMAAABOb3RJbXBsZW1lbnRlZEVycm9yKAIAAABSFwAAAFLXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSoAEAAOgFAABzBAAAAAABAwFjAgAAAAIAAAACAAAAQ0AAAHMQAAAAdAAAZAEAgwEAggEAZAAAUygCAAAATnM5AAAAQ2FuJ3QgcGVyZm9ybSB0aGlzIG9wZXJhdGlvbiBmb3IgdW5yZWdpc3RlcmVkIGxvYWRlciB0eXBlKAEAAABSsgEAACgCAAAAUhcAAABS1wAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqUBAADtBQAAcwQAAAAAAQMBYwIAAAACAAAAAgAAAENAAABzEAAAAHQAAGQBAIMBAIIBAGQAAFMoAgAAAE5zOQAAAENhbid0IHBlcmZvcm0gdGhpcyBvcGVyYXRpb24gZm9yIHVucmVnaXN0ZXJlZCBsb2FkZXIgdHlwZSgBAAAAUrIBAAAoAgAAAFIXAAAAUtcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKmAQAA8gUAAHMEAAAAAAEDAWMDAAAAAwAAAAQAAABDQAAAcyYAAAB8AgByIgB0AABqAQBqAgB8AQB8AgBqAwBkAQCDAQCMAQBTfAEAUygCAAAATnQBAAAALygEAAAAUtYAAABS1wAAAFJsAAAAUgwAAAAoAwAAAFIXAAAAdAQAAABiYXNlUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKcAQAA9wUAAHMGAAAAAAEGARwBYwIAAAACAAAAAwAAAENAAABzMgAAAHQAAHwAAGoBAGQBAIMCAHIiAHwAAGoBAGoCAHwBAIMBAFN0AwBkAgCDAQCCAQBkAABTKAMAAABOdAgAAABnZXRfZGF0YXM9AAAAQ2FuJ3QgcGVyZm9ybSB0aGlzIG9wZXJhdGlvbiBmb3IgbG9hZGVycyB3aXRob3V0ICdnZXRfZGF0YSgpJygEAAAAUtkAAABS0gAAAFK1AQAAUrIBAAAoAgAAAFIXAAAAUtcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKfAQAA/AUAAHMIAAAAAAESARABAwFOKBkAAABSEQAAAFISAAAAUhMAAABSYgAAAHQIAAAAZWdnX25hbWVSoQEAAFLSAAAAUg8BAABSBQEAAFIGAQAAUgcBAABSCAEAAFL9AAAAUv4AAABS/wAAAFKAAAAAUgABAABSfgAAAFIBAQAAUnQAAABSoAEAAFKlAQAAUqYBAABSnAEAAFKfAQAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKsAAAAowUAAHMsAAAABgEGAgYBBgEGAgkECQMJAwkDCQMJAwkGCQMJAwkDCQMJBQkUCQUJBQkFCQVjAAAAAAAAAAABAAAAQkAAAHMgAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAUlMoAwAAAHMmAAAAUHJvdmlkZXIgYmFzZWQgb24gYSB2aXJ0dWFsIGZpbGVzeXN0ZW1jAgAAAAIAAAADAAAAQ0AAAHMeAAAAdAAAagEAfAAAfAEAgwIAAXwAAGoCAIMAAAFkAABTKAEAAABOKAMAAABSrAAAAFIPAQAAdA0AAABfc2V0dXBfcHJlZml4KAIAAABSFwAAAFLRAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSDwEAAAoGAABzBAAAAAABEAFjAQAAAAQAAAADAAAAQ0AAAHOKAAAAfAAAagAAfQEAZAAAfQIAeHQAfAEAfAIAawMAcoUAdAIAfAEAgwEAcmQAdAMAagQAagUAfAEAgwEAfAAAXwYAdAMAagQAagcAfAEAZAEAgwIAfAAAXwgAfAEAfAAAXwkAUG4AAHwBAH0CAHQDAGoEAGoKAHwBAIMBAFwCAH0BAH0DAHESAFdkAABTKAIAAABOcwgAAABFR0ctSU5GTygLAAAAUpsBAABSYgAAAHQMAAAAX2lzX2VnZ19wYXRoUtYAAABS1wAAAHQIAAAAYmFzZW5hbWVStgEAAFJsAAAAUqEBAAB0CAAAAGVnZ19yb290UgwAAAAoBAAAAFIXAAAAUtcAAAB0AwAAAG9sZFK0AQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlStwEAAA4GAABzFAAAAAADCQEGAQ8BDAEVARgBCQEEAQYBKAUAAABSEQAAAFISAAAAUhMAAABSDwEAAFK3AQAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKtAAAABwYAAHMGAAAABgEGAgkEYwAAAAAAAAAAAgAAAEJAAABzSgAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAGQEAIQAAFoGAGQFAIQAAFoHAGUIAGQGAIQAAIMBAFoJAFJTKAcAAABzNgAAAFByb3ZpZGVzIGFjY2VzcyB0byBwYWNrYWdlIHJlc291cmNlcyBpbiB0aGUgZmlsZXN5c3RlbWMCAAAAAgAAAAIAAABDQAAAcxAAAAB0AABqAQBqAgB8AQCDAQBTKAEAAABOKAMAAABS1gAAAFLXAAAAUtgAAAAoAgAAAFIXAAAAUtcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKgAQAAIAYAAHMCAAAAAAFjAgAAAAIAAAACAAAAQ0AAAHMQAAAAdAAAagEAagIAfAEAgwEAUygBAAAATigDAAAAUtYAAABS1wAAAFILAAAAKAIAAABSFwAAAFLXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSpQEAACMGAABzAgAAAAABYwIAAAACAAAAAgAAAENAAABzDQAAAHQAAGoBAHwBAIMBAFMoAQAAAE4oAgAAAFLWAAAAdAcAAABsaXN0ZGlyKAIAAABSFwAAAFLXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSpgEAACYGAABzAgAAAAABYwMAAAADAAAABAAAAENAAABzHAAAAHQAAHwAAGoBAHwAAGoCAHwCAIMCAGQBAIMCAFMoAgAAAE50AgAAAHJiKAMAAABSCgAAAFKcAQAAUpsBAAAoAwAAAFIXAAAAUgMBAABSBAEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UgYBAAApBgAAcwIAAAAAAWMCAAAAAwAAAAUAAABDQAAAcyYAAAB0AAB8AQBkAQCDAgCPEQB9AgB8AgBqAQCDAABTV2QAAFFYZAAAUygCAAAATlK9AQAAKAIAAABSCgAAAFKpAQAAKAMAAABSFwAAAFLXAAAAdAYAAABzdHJlYW0oAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKfAQAALAYAAHMEAAAAAAESAWMBAAAAAgAAAAUAAABDQAAAcykAAAB0AAB0AQBkAQB0AgBkAACDAQCDAwB9AQB0BAB8AQB8AACDAgABZAAAUygCAAAATnQQAAAAU291cmNlRmlsZUxvYWRlcigFAAAAUs4AAAB0EwAAAGltcG9ydGxpYl9tYWNoaW5lcnl0BAAAAHR5cGVSYgAAAFKyAAAAKAIAAABSEwEAAHQKAAAAbG9hZGVyX2NscygAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAkAAABfcmVnaXN0ZXIwBgAAcwYAAAAAAgkBDwEoCgAAAFIRAAAAUhIAAABSEwAAAFKgAQAAUqUBAABSpgEAAFIGAQAAUp8BAABSTQEAAFLDAQAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKuAAAAHQYAAHMOAAAABgEGAgkDCQMJAwkDCQRjAAAAAAAAAAACAAAAQkAAAHM8AAAAZQAAWgEAZAAAWgIAZAEAhAAABFoDAFoEAGQCAIQAAFoFAGQDAIQAAFoGAGQFAFoIAGQEAIQAAFoJAFJTKAYAAABzLgAAAFByb3ZpZGVyIHRoYXQgcmV0dXJucyBub3RoaW5nIGZvciBhbGwgcmVxdWVzdHNjAgAAAAIAAAABAAAAQ0AAAHMEAAAAdAAAUygBAAAATigBAAAAUuwAAAAoAgAAAFIXAAAAUtcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJkAAAAPQYAAFJlAAAAYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAE5SZQAAACgAAAAAKAIAAABSFwAAAFLXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSZAAAAD4GAABSZQAAAGMCAAAAAgAAAAEAAABDQAAAcwQAAABnAABTKAEAAABOKAAAAAAoAgAAAFIXAAAAUtcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJkAAAAPwYAAFJlAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQAAFMoAQAAAE4oAAAAACgBAAAAUhcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIPAQAAQgYAAHMCAAAAAAFOKAoAAABSEQAAAFISAAAAUhMAAABSpQEAAFKgAQAAUp8BAABSpgEAAFJiAAAAUpsBAABSDwEAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSqgAAADoGAABzDAAAAAYBBgINAQkBCQEGAnQMAAAAWmlwTWFuaWZlc3RzYwAAAAAAAAAAAgAAAEJAAABzIwAAAGUAAFoBAGQAAFoCAGUDAGQBAIQAAIMBAFoEAGUEAFoFAFJTKAIAAABzHgAAAAogICAgemlwIG1hbmlmZXN0IGJ1aWxkZXIKICAgIGMCAAAAAwAAAAYAAAADQAAAcz8AAAB0AAB8AQCDAQCPLQCJAACHAABmAQBkAQCGAACIAABqAQCDAABEgwEAfQIAdAIAfAIAgwEAU1dkAgBRWGQCAFMoAwAAAHMDAQAACiAgICAgICAgQnVpbGQgYSBkaWN0aW9uYXJ5IHNpbWlsYXIgdG8gdGhlIHppcGltcG9ydCBkaXJlY3RvcnkKICAgICAgICBjYWNoZXMsIGV4Y2VwdCBpbnN0ZWFkIG9mIHR1cGxlcywgc3RvcmUgWmlwSW5mbyBvYmplY3RzLgoKICAgICAgICBVc2UgYSBwbGF0Zm9ybS1zcGVjaWZpYyBwYXRoIHNlcGFyYXRvciAob3Muc2VwKSBmb3IgdGhlIHBhdGgga2V5cwogICAgICAgIGZvciBjb21wYXRpYmlsaXR5IHdpdGggcHlweSBvbiBXaW5kb3dzLgogICAgICAgIGMBAAAAAgAAAAQAAAAzQAAAczMAAAB8AABdKQB9AQB8AQBqAABkAAB0AQBqAgCDAgCIAABqAwB8AQCDAQBmAgBWAXEDAGQBAFMoAgAAAFKzAQAATigEAAAAUjEAAABS1gAAAHQDAAAAc2VwdAcAAABnZXRpbmZvKAIAAABSUQEAAFL5AAAAKAEAAAB0BQAAAHpmaWxlKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5cwkAAAA8Z2VuZXhwcj5ZBgAAcwIAAAAGBE4oAwAAAHQRAAAAQ29udGV4dHVhbFppcEZpbGV0CAAAAG5hbWVsaXN0Uk0AAAAoAwAAAFITAQAAUtcAAABSUwAAACgAAAAAKAEAAABSxwEAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0BQAAAGJ1aWxkTgYAAHMIAAAAAAkPAgwEEAIoBgAAAFIRAAAAUhIAAABSEwAAAFJNAQAAUsoBAAB0BAAAAGxvYWQoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UsQBAABJBgAAcwYAAAAGAwYCDxN0FAAAAE1lbW9pemVkWmlwTWFuaWZlc3RzYwAAAAAAAAAAAwAAAEJAAABzKQAAAGUAAFoBAGQAAFoCAGUDAGoEAGQBAGQCAIMCAFoFAGQDAIQAAFoGAFJTKAQAAABzJQAAAAogICAgTWVtb2l6ZWQgemlwZmlsZSBtYW5pZmVzdHMuCiAgICB0DAAAAG1hbmlmZXN0X21vZHMOAAAAbWFuaWZlc3QgbXRpbWVjAgAAAAQAAAADAAAAQ0AAAHN2AAAAdAAAagEAagIAfAEAgwEAfQEAdAAAagMAfAEAgwEAagQAfQIAfAEAfAAAawcAc0MAfAAAfAEAGWoFAHwCAGsDAHJrAHwAAGoGAHwBAIMBAH0DAHwAAGoHAHwDAHwCAIMCAHwAAHwBADxuAAB8AAB8AQAZaggAUygBAAAAc1cAAAAKICAgICAgICBMb2FkIGEgbWFuaWZlc3QgYXQgcGF0aCBvciByZXR1cm4gYSBzdWl0YWJsZSBtYW5pZmVzdCBhbHJlYWR5IGxvYWRlZC4KICAgICAgICAoCQAAAFLWAAAAUtcAAAB0CAAAAG5vcm1wYXRoUn8BAAB0CAAAAHN0X210aW1ldAUAAABtdGltZVLKAQAAUs0BAAB0CAAAAG1hbmlmZXN0KAQAAABSFwAAAFLXAAAAUtABAABS0QEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UssBAABqBgAAcwwAAAAABBIBEgIfAQ8BGQIoBwAAAFIRAAAAUhIAAABSEwAAAFIqAQAAdAoAAABuYW1lZHR1cGxlUs0BAABSywEAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSzAEAAGQGAABzBgAAAAYDBgESAlLIAQAAYwAAAAAAAAAAAQAAAEJAAABzKQAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAFJTKAQAAABzTAAAAAogICAgU3VwcGxlbWVudCBaaXBGaWxlIGNsYXNzIHRvIHN1cHBvcnQgY29udGV4dCBtYW5hZ2VyIGZvciBQeXRob24gMi42CiAgICBjAQAAAAEAAAABAAAAQ0AAAHMEAAAAfAAAUygBAAAATigAAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAkAAABfX2VudGVyX199BgAAcwIAAAAAAWMEAAAABAAAAAEAAABDQAAAcw4AAAB8AABqAACDAAABZAAAUygBAAAATigBAAAAdAUAAABjbG9zZSgEAAAAUhcAAABSwQEAAFKkAQAAdAkAAAB0cmFjZWJhY2soAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQIAAAAX19leGl0X1+ABgAAcwIAAAAAAWMBAAAAAwAAAAMAAABPQAAAczgAAAB0AAB0AQBqAgBkAQCDAgByIgB0AQBqAgB8AQB8AgCOAABTdAMAdAQAfAAAgwIAagUAfAAAgwEAUygCAAAAc0kAAAAKICAgICAgICBDb25zdHJ1Y3QgYSBaaXBGaWxlIG9yIENvbnRleHR1YWxaaXBGaWxlIGFzIGFwcHJvcHJpYXRlCiAgICAgICAgUtYBAAAoBgAAAFLZAAAAdAcAAAB6aXBmaWxldAcAAABaaXBGaWxlUhUAAABSyAEAAHQHAAAAX19uZXdfXygDAAAAUhMBAABSYwAAAHQGAAAAa3dhcmdzKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS2QEAAIMGAABzBgAAAAAEEgEQASgGAAAAUhEAAABSEgAAAFITAAAAUtMBAABS1gEAAFLZAQAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9w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AHwEAGsGAHJ+AHgqAHwEAERdHwB9BQB8AABqBgB8AQB8AABqBwB8BQCDAQCDAgABcVgAV24AAHwAAGoGAHwBAHwDAIMCAFMoAwAAAE5zNQAAAHJlc291cmNlX2ZpbGVuYW1lKCkgb25seSBzdXBwb3J0ZWQgZm9yIC5lZ2csIG5vdCAuemlwUrMBAAAoCAAAAFK2AQAAUrIBAAB0EAAAAF9yZXNvdXJjZV90b196aXB0FAAAAF9nZXRfZWFnZXJfcmVzb3VyY2VzUmwAAABS4QEAAHQRAAAAX2V4dHJhY3RfcmVzb3VyY2V0DQAAAF9lYWdlcl90b196aXAoBgAAAFIXAAAAUgMBAABSBAEAAFLgAQAAdAYAAABlYWdlcnNS+QAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UgUBAACtBgAAcxIAAAAAAQkBAwEMAw8BDAEeAQ0BIAFjAQAAAAQAAAAEAAAAQ0AAAHMvAAAAfAAAagAAfQEAfAAAagEAZAMAF30CAHQCAGoDAHwCAIMBAH0DAHwDAHwBAGYCAFMoBAAAAE5pAAAAAGn/////KAMAAABpAAAAAGkAAAAAaf////8oBAAAAHQJAAAAZmlsZV9zaXpldAkAAABkYXRlX3RpbWV0BAAAAHRpbWV0BgAAAG1rdGltZSgEAAAAdAgAAAB6aXBfc3RhdHQEAAAAc2l6ZVLqAQAAdAkAAAB0aW1lc3RhbXAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQSAAAAX2dldF9kYXRlX2FuZF9zaXplugYAAHMIAAAAAAIJAg0CDwFjAwAAAAoAAAAGAAAAQ0AAAHPcAQAA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ACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UucBAAArBwAAcwIAAAAAAWMCAAAAAgAAAAQAAABDQAAAcxwAAAB8AABqAAB8AABqAQB8AABqAgB8AQCDAgCDAQBTKAEAAABOKAMAAABS3wEAAFKcAQAAUpsBAAAoAgAAAFIXAAAAUgQBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVLkAQAALgcAAHMCAAAAAAFOKBgAAABSEQAAAFISAAAAUhMAAABSYgAAAFLoAQAAUswBAABS4gEAAFIPAQAAUt8BAABS4QEAAFLCAAAAUuMBAABSBQEAAFKMAQAAUvABAABS5gEAAFL1AQAAUuUBAABS8gEAAFKgAQAAUqUBAABSpgEAAFLnAQAAUuQBAAAoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Uq8AAACMBgAAcyQAAAAGAQYCBgEJAgkECQkJCg8ECQ0PCQk0CRAJCQkRCQQJAwkDCQNjAAAAAAAAAAABAAAAQkAAAHM7AAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAZAMAhAAAWgUAZAQAhAAAWgYAZAUAhAAAWgcAUlMoBgAAAHMqAQAATWV0YWRhdGEgaGFuZGxlciBmb3Igc3RhbmRhbG9uZSBQS0ctSU5G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SUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS/wAAAFgHAABzAgAAAAABKAgAAABSEQAAAFISAAAAUhMAAABSDwEAAFL9AAAAUv4AAABSCQIAAFL/AAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKnAAAANQcAAHMMAAAABgoGAgkDCQMJCQkIYwAAAAAAAAAAAQAAAEJAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzcwIAAE1ldGFkYXRhIHByb3ZpZGVyIGZvciBlZ2cgZGlyZWN0b3JpZXMKCiAgICBVc2FnZTo6CgogICAgICAgICMgRGV2ZWxvcG1lbnQgZWdnczoKCiAgICAgICAgZWdnX2luZm8gPSAiL3BhdGgvdG8vUGFja2FnZU5hbWUuZWdnLWluZm8iCiAgICAgICAgYmFzZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoZWdnX2luZm8pCiAgICAgICAgbWV0YWRhdGEgPSBQYXRoTWV0YWRhdGEoYmFzZV9kaXIsIGVnZ19pbmZvKQogICAgICAgIGRpc3RfbmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShlZ2dfaW5mbykpWzBdCiAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihiYXNlZGlyLCBwcm9qZWN0X25hbWU9ZGlzdF9uYW1lLCBtZXRhZGF0YT1tZXRhZGF0YSkKCiAgICAgICAgIyBVbnBhY2tlZCBlZ2cgZGlyZWN0b3JpZXM6CgogICAgICAgIGVnZ19wYXRoID0gIi9wYXRoL3RvL1BhY2thZ2VOYW1lLXZlci1weXZlci1ldGMuZWdnIgogICAgICAgIG1ldGFkYXRhID0gUGF0aE1ldGFkYXRhKGVnZ19wYXRoLCBvcy5wYXRoLmpvaW4oZWdnX3BhdGgsJ0VHRy1JTkZPJykpCiAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbi5mcm9tX2ZpbGVuYW1lKGVnZ19wYXRoLCBtZXRhZGF0YT1tZXRhZGF0YSkKICAgIGMDAAAAAwAAAAIAAABDQAAAcxYAAAB8AQB8AABfAAB8AgB8AABfAQBkAABTKAEAAABOKAIAAABSmwEAAFKhAQAAKAMAAABSFwAAAFLXAAAAUqEBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIPAQAAcAcAAHMEAAAAAAEJASgEAAAAUhEAAABSEgAAAFITAAAAUg8BAAAoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqgAAABcBwAAcwQAAAAGEgYCYwAAAAAAAAAAAQAAAEJAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzIAAAAE1ldGFkYXRhIHByb3ZpZGVyIGZvciAuZWdnIGZpbGVzYwIAAAACAAAAAwAAAENAAABzYAAAAHwBAGoAAHQBAGoCABd8AABfAwB8AQB8AABfBAB8AQBqBQByRgB0AQBqBgBqBwB8AQBqAAB8AQBqBQCDAgB8AABfCABuDAB8AQBqAAB8AABfCAB8AABqCQCDAAABZAEAUygCAAAAcy0AAABDcmVhdGUgYSBtZXRhZGF0YSBwcm92aWRlciBmcm9tIGEgemlwaW1wb3J0ZXJOKAoAAABS2wEAAFLWAAAAUsUBAABS3AEAAFLSAAAAdAYAAABwcmVmaXhS1wAAAFJsAAAAUpsBAABStwEAACgCAAAAUhcAAAB0CAAAAGltcG9ydGVyKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSDwEAAHgHAABzDAAAAAADEwEJAQkBIQIMASgEAAAAUhEAAABSEgAAAFITAAAAUg8BAAAoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqkAAAB1BwAAcwQAAAAGAQYCUk0AAAB0FQAAAF9kaXN0cmlidXRpb25fZmluZGVyc2MCAAAAAgAAAAMAAABDQAAAcw4AAAB8AQB0AAB8AAA8ZAEAUygCAAAAc3gBAABSZWdpc3RlciBgZGlzdHJpYnV0aW9uX2ZpbmRlcmAgdG8gZmluZCBkaXN0cmlidXRpb25zIGluIHN5cy5wYXRoIGl0ZW1zCgogICAgYGltcG9ydGVyX3R5cGVgIGlzIHRoZSB0eXBlIG9yIGNsYXNzIG9mIGEgUEVQIDMwMiAiSW1wb3J0ZXIiIChzeXMucGF0aCBpdGVtCiAgICBoYW5kbGVyKSwgYW5kIGBkaXN0cmlidXRpb25fZmluZGVyYCBpcyBhIGNhbGxhYmxlIHRoYXQsIHBhc3NlZCBhIHBhdGgKICAgIGl0ZW0gYW5kIHRoZSBpbXBvcnRlciBpbnN0YW5jZSwgeWllbGRzIGBgRGlzdHJpYnV0aW9uYGAgaW5zdGFuY2VzIGZvdW5kIG9uCiAgICB0aGF0IHBhdGggaXRlbS4gIFNlZSBgYHBrZ19yZXNvdXJjZXMuZmluZF9vbl9wYXRoYGAgZm9yIGFuIGV4YW1wbGUuTigBAAAAUg4CAAAoAgAAAHQNAAAAaW1wb3J0ZXJfdHlwZXQTAAAAZGlzdHJpYnV0aW9uX2ZpbmRlcigAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UrAAAACHBwAAcwIAAAAAB2MCAAAABAAAAAQAAABDQAAAcysAAAB0AAB8AACDAQB9AgB0AQB0AgB8AgCDAgB9AwB8AwB8AgB8AAB8AQCDAwBTKAEAAABzLgAAAFlpZWxkIGRpc3RyaWJ1dGlvbnMgYWNjZXNzaWJsZSB2aWEgYHBhdGhfaXRlbWAoAwAAAFIBAAAAUs8AAABSDgIAACgEAAAAdAkAAABwYXRoX2l0ZW10BAAAAG9ubHlSDQIAAHQGAAAAZmluZGVyKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlShAAAAJEHAABzBgAAAAACDAEPAWMDAAAACAAAAAUAAABjQAAAcxsBAAB8AABqAABqAQBkAQCDAQByFgBkAgBTdAIAfAAAgwEAfQMAfAMAagMAZAMAgwEAckgAdAQAagUAfAEAZAQAfAMAgwEBVgFuAAB8AgByUgBkAgBTeMIAfAMAagYAZAUAgwEARF2xAH0EAHQHAHwEAIMBAHK0AHQIAGoJAGoKAHwBAHwEAIMCAH0FAHiHAHQLAHQMAGoNAHwFAIMBAHwFAIMCAERdCwB9BgB8BgBWAXGiAFdxYgB8BABqDgCDAABqAQBkBgCDAQByYgB0CABqCQBqCgB8AQB8BACDAgB9BQB0AgB0DABqDQB8BQCDAQCDAQB9BwB8BQB8BwBfDwB0BABqEAB8AQB8BAB8BwCDAwBWAXFiAHFiAFdkAgBTKAcAAABzQAAAAAogICAgRmluZCBlZ2dzIGluIHppcCBmaWxlczsgcG9zc2libHkgbXVsdGlwbGUgbmVzdGVkIGVnZ3MuCiAgICBzBAAAAC53aGxOcwgAAABQS0ctSU5GT1IKAgAAUrMBAABzCgAAAC5kaXN0LWluZm8oEQAAAFLbAQAAdAgAAABlbmRzd2l0aFKpAAAAUv0AAABSiwAAAHQNAAAAZnJvbV9maWxlbmFtZVJ+AAAAUrgBAABS1gAAAFLXAAAAUmwAAAB0EAAAAGZpbmRfZWdnc19pbl96aXB0CQAAAHppcGltcG9ydHQLAAAAemlwaW1wb3J0ZXJSNAAAAFKhAQAAdA0AAABmcm9tX2xvY2F0aW9uKAgAAABSDQIAAFIRAgAAUhICAABSCgIAAHQHAAAAc3ViaXRlbXQHAAAAc3VicGF0aFK5AAAAdAcAAABzdWJtZXRhKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSFgIAAJgHAABzIgAAAAAEEgMEAQwBDwEXAQYCBAEWAQwBFQEfAQwBFQEVARUBCQFjAwAAAAMAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAATigAAAAAKAAAAAAoAwAAAFINAgAAUhECAABSEgIAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAwAAABmaW5kX25vdGhpbme2BwAAcwIAAAAAAWMBAAAAAgAAAAYAAABDQAAAcx8AAABkAQCEAAB9AQB0AAB8AABkAgB8AQBkAwB0AQCDAQJTKAQAAABzTAIAAAogICAgR2l2ZW4gYSBsaXN0IG9mIGZpbGVuYW1lcywgcmV0dXJuIHRoZW0gaW4gZGVzY2VuZGluZyBvcmRlcgogICAgYnkgdmVyc2lvbiBudW1iZXIuCgogICAgPj4+IG5hbWVzID0gJ2JhcicsICdmb28nLCAnUHl0aG9uLTIuNy4xMC5lZ2cnLCAnUHl0aG9uLTIuNy4yLmVnZycKICAgID4+PiBfYnlfdmVyc2lvbl9kZXNjZW5kaW5nKG5hbWVzKQogICAgWydQeXRob24tMi43LjEwLmVnZycsICdQeXRob24tMi43LjIuZWdnJywgJ2ZvbycsICdiYXInXQogICAgPj4+IG5hbWVzID0gJ1NldHVwdG9vbHMtMS4yLjNiMS5lZ2cnLCAnU2V0dXB0b29scy0xLjIuMy5lZ2cnCiAgICA+Pj4gX2J5X3ZlcnNpb25fZGVzY2VuZGluZyhuYW1lcykKICAgIFsnU2V0dXB0b29scy0xLjIuMy5lZ2cnLCAnU2V0dXB0b29scy0xLjIuM2IxLmVnZyddCiAgICA+Pj4gbmFtZXMgPSAnU2V0dXB0b29scy0xLjIuM2IxLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zLnBvc3QxLmVnZycKICAgID4+PiBfYnlfdmVyc2lvbl9kZXNjZW5kaW5nKG5hbWVzKQogICAgWydTZXR1cHRvb2xzLTEuMi4zLnBvc3QxLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zYjEuZWdnJ10KICAgIGMBAAAABAAAAAQAAABTQAAAc1kAAAB0AABqAQBqAgB8AACDAQBcAgB9AAB9AQB0AwBqBAB8AABqBQBkAQCDAQB8AQBnAQCDAgB9AgBnAAB8AgBEXRgAfQMAdAYAagcAaggAfAMAgwEAXgIAcT0AUygCAAAAczYAAAAKICAgICAgICBQYXJzZSBlYWNoIGNvbXBvbmVudCBvZiB0aGUgZmlsZW5hbWUKICAgICAgICBSJgAAACgJAAAAUtYAAABS1wAAAHQIAAAAc3BsaXRleHR0CQAAAGl0ZXJ0b29sc3QFAAAAY2hhaW5SDAAAAFIPAAAAUkYAAABS+wAAACgEAAAAUvkAAAB0AwAAAGV4dFI4AAAAUi8AAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQLAAAAX2J5X3ZlcnNpb27MBwAAcwYAAAAABBgBHgFSIQAAAFJdAQAAKAIAAAB0BgAAAHNvcnRlZFLqAAAAKAIAAABSeAEAAFIiAgAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0FgAAAF9ieV92ZXJzaW9uX2Rlc2NlbmRpbme9BwAAcwQAAAAADwkIYwMAAAAPAAAACAAAAGNAAABzOQIAAHQAAHwBAIMBAH0BAHQBAGoCAGoDAHwBAIMBAHI1AnQBAGoEAHwBAHQBAGoFAIMCAHI1AnQGAHwBAIMBAHJuAHQHAGoIAHwBAGQBAHQJAHwBAHQBAGoCAGoKAHwBAGQCAIMCAIMCAIMBAVYBcTUCdAsAdAEAagwAfAEAgwEAgwEAfQMAeK8BfAMARF2kAX0EAHwEAGoNAIMAAH0FAHwFAGoOAGQDAIMBAHO6AHwFAGoOAGQEAIMBAHI9AXQBAGoCAGoKAHwBAHwEAIMCAH0GAHQBAGoCAGoDAHwGAIMBAHIUAXQPAHQBAGoMAHwGAIMBAIMBAGQFAGsCAHICAXGKAG4AAHQJAHwBAHwGAIMCAH0HAG4MAHQQAHwGAIMBAH0HAHQHAGoRAHwBAHwEAHwHAGQGAHQSAIMDAVYBcYoAfAIADHKEAXQTAHwEAIMBAHKEAXQUAHQBAGoCAGoKAHwBAHwEAIMCAIMBAH0IAHjAAHwIAERdCwB9CQB8CQBWAXFyAVdxigB8AgAMcooAfAUAag4AZAcAgwEAcooAdBUAdAEAagIAagoAfAEAfAQAgwIAgwEAjxMAfQoAfAoAahYAgwAAfQsAV2QIAFFYeGEAfAsARF1WAH0MAHwMAGoXAIMAAHPpAXHRAW4AAHQBAGoCAGoKAHwBAHwMAGoYAIMAAIMCAH0NAHQUAHwNAIMBAH0IAHgTAHwIAERdCwB9DgB8DgBWAXEXAldQcdEBV3GKAHGKAFduAABkCABTKAkAAABzNgAAAFlpZWxkIGRpc3RyaWJ1dGlvbnMgYWNjZXNzaWJsZSBvbiBhIHN5cy5wYXRoIGRpcmVjdG9yeVIKAgAAcwgAAABFR0ctSU5GT3MJAAAALmVnZy1pbmZvcwoAAAAuZGlzdC1pbmZvaQAAAAB0CgAAAHByZWNlZGVuY2VzCQAAAC5lZ2ctbGlua04oGQAAAHQRAAAAX25vcm1hbGl6ZV9jYWNoZWRS1gAAAFLXAAAAUgsAAAB0BgAAAGFjY2Vzc3QEAAAAUl9PS3QQAAAAX2lzX3VucGFja2VkX2VnZ1KLAAAAUhUCAABSqAAAAFJsAAAAUiQCAABSvAEAAFI0AAAAUhQCAABSqwEAAFKnAAAAUhkCAABSpAAAAFK4AQAAUoQAAABSCgAAAHQJAAAAcmVhZGxpbmVzdAUAAABzdHJpcHQGAAAAcnN0cmlwKA8AAABSDQIAAFIRAgAAUhICAAB0EQAAAHBhdGhfaXRlbV9lbnRyaWVzUg4BAABSNAAAAHQIAAAAZnVsbHBhdGhSCgIAAFIaAQAAUrkAAAB0CgAAAGVudHJ5X2ZpbGV0CwAAAGVudHJ5X2xpbmVzdAQAAABsaW5lUtcAAABSIQEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAwAAABmaW5kX29uX3BhdGjXBwAAc0IAAAAAAgwCJwEMAQYBCQEgBRUBDQEMAR4BFQESAhsCBgESAgwBBgEXAhMBGwENAQwBFgEeARIBDQEMAQYBGwEMAQ0BCQF0CgAAAEZpbGVGaW5kZXJ0EwAAAF9uYW1lc3BhY2VfaGFuZGxlcnN0EwAAAF9uYW1lc3BhY2VfcGFja2FnZXNjAgAAAAIAAAADAAAAQ0AAAHMOAAAAfAEAdAAAfAAAPGQBAFMoAgAAAHOaAgAAUmVnaXN0ZXIgYG5hbWVzcGFjZV9oYW5kbGVyYCB0byBkZWNsYXJlIG5hbWVzcGFjZSBwYWNrYWdlcwoKICAgIGBpbXBvcnRlcl90eXBlYCBpcyB0aGUgdHlwZSBvciBjbGFzcyBvZiBhIFBFUCAzMDIgIkltcG9ydGVyIiAoc3lzLnBhdGggaXRlbQogICAgaGFuZGxlciksIGFuZCBgbmFtZXNwYWNlX2hhbmRsZXJgIGlzIGEgY2FsbGFibGUgbGlrZSB0aGlzOjoKCiAgICAgICAgZGVmIG5hbWVzcGFjZV9oYW5kbGVyKGltcG9ydGVyLCBwYXRoX2VudHJ5LCBtb2R1bGVOYW1lLCBtb2R1bGUpOgogICAgICAgICAgICAjIHJldHVybiBhIHBhdGhfZW50cnkgdG8gdXNlIGZvciBjaGlsZCBwYWNrYWdlcwoKICAgIE5hbWVzcGFjZSBoYW5kbGVycyBhcmUgb25seSBjYWxsZWQgaWYgdGhlIGltcG9ydGVyIG9iamVjdCBoYXMgYWxyZWFkeQogICAgYWdyZWVkIHRoYXQgaXQgY2FuIGhhbmRsZSB0aGUgcmVsZXZhbnQgcGF0aCBpdGVtLCBhbmQgdGhleSBzaG91bGQgb25seQogICAgcmV0dXJuIGEgc3VicGF0aCBpZiB0aGUgbW9kdWxlIF9fcGF0aF9fIGRvZXMgbm90IGFscmVhZHkgY29udGFpbiBhbgogICAgZXF1aXZhbGVudCBzdWJwYXRoLiAgRm9yIGFuIGV4YW1wbGUgbmFtZXNwYWNlIGhhbmRsZXIsIHNlZQogICAgYGBwa2dfcmVzb3VyY2VzLmZpbGVfbnNfaGFuZGxlcmBgLgogICAgTigBAAAAUjQCAAAoAgAAAFIPAgAAdBEAAABuYW1lc3BhY2VfaGFuZGxlcigAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UrEAAAAOCAAAcwIAAAAAD2MCAAAACAAAAAUAAABDQAAAcxQBAAB0AAB8AQCDAQB9AgB8AgBkAwBrCAByHABkAwBTfAIAagIAfAAAgwEA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ZSBzdWJwYXRoIGZvciBhIGZpbGVzeXN0ZW0gb3IgemlwZmlsZSBpbXBvcnRlclIqAAAAaf////9OKAYAAABS1gAAAFLXAAAAUmwAAABSDAAAAFImAgAAUjcCAAAoBwAAAFINAgAAUhECAABSPgIAAFLRAAAAUhsCAAB0CgAAAG5vcm1hbGl6ZWRSIQEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dA8AAABmaWxlX25zX2hhbmRsZXKICAAAcwwAAAAAAyIBDAEQARIBCANjBAAAAAQAAAABAAAAQ0AAAHMEAAAAZAAAUygBAAAATigBAAAAUmIAAAAoBAAAAFINAgAAUhECAABSPgIAAFLRAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DwAAAG51bGxfbnNfaGFuZGxlcpwIAABzAgAAAAABYwEAAAABAAAAAwAAAENAAABzHAAAAHQAAGoBAGoCAHQAAGoBAGoDAHwAAIMBAIMBAFMoAQAAAHMxAAAATm9ybWFsaXplIGEgZmlsZS9kaXIgbmFtZSBmb3IgY29tcGFyaXNvbiBwdXJwb3NlcygEAAAAUtYAAABS1wAAAHQIAAAAbm9ybWNhc2V0CAAAAHJlYWxwYXRoKAEAAABSiQEAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5p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UiMBAABSWAEAAFJrAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UlwBAAClCQAAcwwAAAAAAwYBBgEGAQwBDAFjAQAAAAEAAAACAAAAQ0AAAHMNAAAAdAAAfAAAagEAgwEAUygBAAAATigCAAAAdAQAAABoYXNoUlwBAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSFgAAALAJAABzAgAAAAABYwIAAAACAAAAAgAAAENAAABzEAAAAHwAAGoAAHwBAGoAAGsAAFMoAQAAAE4oAQAAAFJcAQAAKAIAAABSFwAAAFIbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSGgAAALMJAABzAgAAAAABYwIAAAACAAAAAgAAAENAAABzEAAAAHwAAGoAAHwBAGoAAGsBAFMoAQAAAE4oAQAAAFJcAQAAKAIAAABSFwAAAFIbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSHAAAALYJAABzAgAAAAABYwIAAAACAAAAAgAAAENAAABzEAAAAHwAAGoAAHwBAGoAAGsEAFMoAQAAAE4oAQAAAFJcAQAAKAIAAABSFwAAAFIbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSHwAAALkJAABzAgAAAAABYwIAAAACAAAAAgAAAENAAABzEAAAAHwAAGoAAHwBAGoAAGsFAFMoAQAAAE4oAQAAAFJcAQAAKAIAAABSFwAAAFIbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSHgAAALwJAABzAgAAAAABYwIAAAACAAAAAwAAAENAAABzJgAAAHQAAHwBAHwAAGoBAIMCAHMWAHQCAFN8AABqAwB8AQBqAwBrAgBTKAEAAABOKAQAAABSGAAAAFK2AAAAUuwAAABSXAEAACgCAAAAUhcAAABSGwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Uh0AAAC/CQAAcwYAAAAAARICBAFjAgAAAAIAAAACAAAAQ0AAAHMLAAAAfAAAfAEAawIADFMoAQAAAE4oAAAAACgCAAAAUhcAAABSGwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3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biBudW1iZXJzIGNhbiBnZXQgbWFuZ2xlZCB3aGVuCiAgICAgICAgY29udmVydGVkIHRvIGZpbGVuYW1lcyAoZS5nLiwgMS4xMS4wLmRldjArMjMyOWVhZSB0bwogICAgICAgIDEuMTEuMC5kZXYwXzIzMjllYWUpLiBUaGVzZSBkaXN0cmlidXRpb25zIHdpbGwgbm90IGJlCiAgICAgICAgcGFyc2VkIHByb3Blcmx5CiAgICAgICAgZG93bnN0cmVhbSBieSBEaXN0cmlidXRpb24gYW5kIHNhZmVfdmVyc2lvbiwgc28KICAgICAgICB0YWtlIGFuIGV4dHJhIHN0ZXAgYW5kIHRyeSB0byBnZXQgdGhlIHZlcnNpb24gbnVtYmVyIGZyb20KICAgICAgICB0aGUgbWV0YWRhdGEgZmlsZSBpdHNlbGYgaW5zdGVhZCBvZiB0aGUgZmlsZW5hbWUuCiAgICAgICAgKAQAAABSfwIAAFKRAgAAUpICAABSgQIAACgCAAAAUhcAAAB0CgAAAG1kX3ZlcnNpb24oAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKHAgAA5woAAHMIAAAAAAwYAQYBDAEoAwAAAFIRAAAAUhIAAABShwIAACgAAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSrQIAAOYKAABzAgAAAAYBdBQAAABEaXN0SW5mb0Rpc3RyaWJ1dGlvbmMAAAAAAAAAAAIAAABCQAAAc0oAAABlAABaAQBkAABaAgBkAQBaAwBlBABqBQBkAgCDAQBaBgBlBwBkAwCEAACDAQBaCABlBwBkBACEAACDAQBaCQBkBQCEAABaCgBSUygGAAAAc0cAAABXcmFwIGFuIGFjdHVhbCBvciBwb3RlbnRpYWwgc3lzLnBhdGggZW50cnkgdy9tZXRhZGF0YSwgLmRpc3QtaW5mbyBzdHlsZXQIAAAATUVUQURBVEFzGwAAAChbXCgsXSlccyooXGQuKj8pXHMqKFssXCldKWMBAAAAAgAAAAUAAABDQAAAc1QAAAB5CwB8AABqAABTV25CAAR0AQBrCgByTwABAQF8AABqAgB8AABqAwCDAQB9AQB0BABqBQBqBgCDAABqBwB8AQCDAQB8AABfAAB8AABqAABTWGQBAFMoAgAAAHMYAAAAUGFyc2UgYW5kIGNhY2hlIG1ldGFkYXRhTigIAAAAdAkAAABfcGtnX2luZm9SBAIAAFL+AAAAUpICAAB0BQAAAGVtYWlsdAYAAABwYXJzZXJ0BgAAAFBhcnNlcnQIAAAAcGFyc2VzdHIoAgAAAFIXAAAAUgoCAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQQAAAAX3BhcnNlZF9wa2dfaW5mb/4KAABzDAAAAAADAwELAQ0BEgEbAWMBAAAAAQAAAAUAAABDQAAAczYAAAB5CwB8AABqAABTV24kAAR0AQBrCgByMQABAQF8AABqAgCDAAB8AABfAAB8AABqAABTWGQAAFMoAQAAAE4oAwAAAHQeAAAAX0Rpc3RJbmZvRGlzdHJpYnV0aW9uX19kZXBfbWFwUgQCAAB0FQAAAF9jb21wdXRlX2RlcGVuZGVuY2llcygBAAAAUhcAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKVAgAACAsAAHMKAAAAAAIDAQsBDQEPAWMBAAAABwAAAAUAAAADQAAAc9sAAABpAQBnAABkBAA2BH0BAHwAAF8BAGcAAIkAAHgzAHwAAGoCAGoDAGQBAIMBAHAyAGcAAERdGQB9AgCIAABqBAB0BQB8AgCDAQCDAQABcTMAV4cAAGYBAGQCAIYAAH0DAHQGAHwDAGQEAIMBAIMBAH0EAHwBAGQEABlqBAB8BACDAQABeFIAfAAAagIAagMAZAMAgwEAcJoAZwAARF04AH0FAHQHAHwFAGoIAIMAAIMBAH0GAHQJAHQGAHwDAHwFAIMBAIMBAHwEABiDAQB8AQB8BgA8cZsAV3wBAFMoBQAAAHMrAAAAUmVjb21wdXRlIHRoaXMgZGlzdHJpYnV0aW9uJ3MgZGVwZW5kZW5jaWVzLnMNAAAAUmVxdWlyZXMtRGlzdGMBAAAAAgAAAAUAAAAzQAAAc0AAAAB4OQCIAABEXTEAfQEAfAEAagAADHMwAHwBAGoAAGoBAGkBAHwAAGQBADaDAQByBwB8AQBWAXEHAHEHAFdkAABTKAIAAABOUk4BAAAoAgAAAFJPAQAAUlABAAAoAgAAAFJOAQAAUroAAAAoAQAAAFIZAQAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dA4AAAByZXFzX2Zvcl9leHRyYRkLAABzBgAAAAABDQEjAXMOAAAAUHJvdmlkZXMtRXh0cmFOKAoAAABSYgAAAFK3AgAAUrYCAAB0BwAAAGdldF9hbGxSMAEAAFKTAAAAdAkAAABmcm96ZW5zZXRSmgAAAFIrAgAAUigBAAAoBwAAAFIXAAAAUpQCAABSugAAAFK5AgAAdAYAAABjb21tb25STgEAAHQHAAAAc19leHRyYSgAAAAAKAEAAABSGQEAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSuAIAABALAABzFgAAAAACFAIGAh8BFwIPBRIBEQIfARIBJAIoCwAAAFIRAAAAUhIAAABSEwAAAFKSAgAAUjsAAABSPAAAAHQEAAAARVFFUVLCAAAAUrYCAABSlQIAAFK4AgAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKvAgAA+QoAAHMMAAAABgEGAQYBDwIPCg8IcwQAAAAuZWdncwkAAAAuZWdnLWluZm9zCgAAAC5kaXN0LWluZm9jAAAAAAQAAAAFAAAAT0AAAHNuAAAAZAEAfQIAdAAAgwAAfQMAeS0AeCYAdAEAagIAfAIAgwEAagMAfAMAawgAcjoAfAIAZAEAN30CAHEVAFdXbhEABHQEAGsKAHJPAAEBAW4BAFh0BQBqBgBkAgB8AgBkAQAXfAAAfAEAjgABAWQAAFMoAwAAAE5pAQAAAFI6AAAAKAcAAABSSgAAAFJqAAAAUvQAAABS9QAAAFJvAAAAUj8AAABSQAAAACgEAAAAUmMAAABSUAAAAFJjAgAAUlUAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKnAgAALwsAAHMQAAAAAAEGAQkBAwMbARIBDQEEAXQVAAAAUmVxdWlyZW1lbnRQYXJzZUVycm9yYwAAAAAAAAAAAQAAAEJAAABzEQAAAGUAAFoBAGQAAIQAAFoCAFJTKAEAAABjAQAAAAEAAAACAAAAQ0AAAHMQAAAAZAEAagAAfAAAagEAgwEAUygCAAAATlLjAAAAKAIAAABSbAAAAFJjAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UsUAAAA9CwAAcwIAAAAAASgDAAAAUhEAAABSEgAAAFLFAAAAKAAAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVK/AgAAPAsAAHMCAAAABgFjAQAAAAMAAAAEAAAAY0AAAHOGAAAAdAAAdAEAfAAAgwEAgwEAfQEAeG0AfAEARF1lAH0CAGQBAHwCAGsGAHJBAHwCAHwCAGoCAGQBAIMBACB9AgBuAAB8AgBqAwBkAgCDAQBycwB8AgBkAwAgagQAgwAAfQIAfAIAdAUAfAEAgwEAN30CAG4AAHQGAHwCAIMBAFYBcRkAV2QEAFMoBQAAAHOKAAAAWWllbGQgYGBSZXF1aXJlbWVudGBgIG9iamVjdHMgZm9yIGVhY2ggc3BlY2lmaWNhdGlvbiBpbiBgc3Ryc2AKCiAgICBgc3Ryc2AgbXVzdCBiZSBhIHN0cmluZywgb3IgYSAocG9zc2libHktbmVzdGVkKSBpdGVyYWJsZSB0aGVyZW9mLgogICAgcwIAAAAgI3MBAAAAXGn+////TigHAAAAUnsCAABSmAAAAFLKAAAAUhQCAABSKwIAAFJ6AgAAUowAAAAoAwAAAFJaAgAAUnACAABSMQIAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UpMAAABBCwAAcxAAAAAABhICDQIMARYCDwEQARMBYwAAAAAAAAAAAgAAAEJAAABzTQAAAGUAAFoBAGQAAIQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAGQEAIQAAFoGAGQFAIQAAFoHAGUIAGQGAIQAAIMBAFoJAFJTKAcAAABjAgAAAAUAAAAFAAAAQ0AAAHMUAQAAeRoAdAAAdAEAfAAAgwIAagIAfAEAgwEAAVduKwAEdAMAagQAagUAawoAckcAAX0CAAF0BgB0BwB8AgCDAQCDAQCCAQBuAQBYfAAAaggAfAAAXwkAdAoAfAAAaggAgwEAfQMAfAMAfAMAagsAgwAAAnwAAF8MAHwAAF8NAGcAAHwAAGoOAERdGAB9BAB8BABqDwB8BABqEABmAgBeAgBxhgB8AABfEQB0EgB0EwB0FAB8AABqFQCDAgCDAQB8AABfFQB8AABqDQB8AABqDgB0FgB8AABqFQCDAQB8AABqFwBy8gB0BwB8AABqFwCDAQBuAwBkAQBmBAB8AABfGQB0GgB8AABqGQCDAQB8AABfGwBkAQBTKAIAAABzPgAAAERPIE5PVCBDQUxMIFRISVMgVU5ET0NVTUVOVEVEIE1FVEhPRDsgdXNlIFJlcXVpcmVtZW50LnBhcnNlKCkhTigcAAAAUhUAAABSjAAAAFIPAQAAUg8AAABSMgEAAHQSAAAASW52YWxpZFJlcXVpcmVtZW50Ur8CAABSQgAAAFL5AAAAdAsAAAB1bnNhZmVfbmFtZVKUAAAAUjQAAABSMQEAAFIhAAAAdAkAAABzcGVjaWZpZXJSXwEAAFJGAAAAUm4CAABSGQAAAFIEAAAAUpoAAABSLwEAAFK7AgAAUk8BAABSYgAAAHQHAAAAaGFzaENtcFKJAgAAdBIAAABfUmVxdWlyZW1lbnRfX2hhc2goBQAAAFIXAAAAdBIAAAByZXF1aXJlbWVudF9zdHJpbmdSlQEAAFIxAQAAUpoCAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIPAQAAVQsAAHMcAAAAAAIDARoBFQEWAQwBDwEZAisBGwIGAQYBDAEkAmMCAAAAAgAAAAMAAABDQAAAcx8AAAB0AAB8AQB0AQCDAgBvHgB8AABqAgB8AQBqAgBrAgBTKAEAAABOKAMAAABSGAAAAFKMAAAAUsMCAAAoAgAAAFIXAAAAUhsAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIdAAAAaQsAAHMEAAAAAAIPAWMCAAAAAgAAAAIAAABDQAAAcwsAAAB8AAB8AQBrAgAMUygBAAAATigAAAAAKAIAAABSFwAAAFIbAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSIAAAAG8LAABzAgAAAAABYwIAAAACAAAABAAAAENAAABzRwAAAHQAAHwBAHQBAIMCAHIxAHwBAGoCAHwAAGoCAGsDAHIlAHQDAFN8AQBqBAB9AQBuAAB8AABqBQBqBgB8AQBkAQB0BwCDAQFTKAIAAABOdAsAAABwcmVyZWxlYXNlcygIAAAAUhgAAABSiwAAAFIhAAAAUuwAAABSRgAAAFLCAgAAdAgAAABjb250YWluc1LqAAAAKAIAAABSFwAAAFIhAQAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSHAEAAHILAABzCgAAAAABDwESAQQCDAVjAQAAAAEAAAABAAAAQ0AAAHMHAAAAfAAAagAAUygBAAAATigBAAAAUsQCAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSFgAAAH4LAABzAgAAAAABYwEAAAABAAAAAwAAAENAAABzDgAAAGQBAHQAAHwAAIMBABZTKAIAAABOcxUAAABSZXF1aXJlbWVudC5wYXJzZSglcikoAQAAAFJCAAAAKAEAAABSFwAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UrgAAACBCwAAUmUAAABjAQAAAAIAAAACAAAAQ0AAAHMTAAAAdAAAfAAAgwEAXAEAfQEAfAEAUygBAAAATigBAAAAUpMAAAAoAgAAAFIuAAAAUroAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVL7AAAAgwsAAHMEAAAAAAIPASgKAAAAUhEAAABSEgAAAFIPAQAAUh0AAABSIAAAAFIcAQAAUhYAAABSuAAAAFKMAQAAUvsAAAAoAAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UowAAABUCwAAcw4AAAAGAQkUCQYJAwkMCQMJAmMBAAAAAQAAAAIAAABDQAAAcxsAAAB0AAB8AABrBwByFwB8AAB0AABmAQAXU3wAAFMoAQAAAHNKAAAACiAgICBFbnN1cmUgb2JqZWN0IGFwcGVhcnMgaW4gdGhlIG1ybyBldmVuCiAgICBmb3Igb2xkLXN0eWxlIGNsYXNzZXMuCiAgICAoAQAAAHQGAAAAb2JqZWN0KAEAAAB0BwAAAGNsYXNzZXMoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQOAAAAX2Fsd2F5c19vYmplY3SJCwAAcwYAAAAABQwBCwFjAgAAAAQAAAAHAAAAQ0AAAHNQAAAAdAAAdAEAagIAdAMAfAEAZAEAdAQAfAEAgwEAgwMAgwEAgwEAfQIAeCIAfAIARF0aAH0DAHwDAHwAAGsGAHIuAHwAAHwDABlTcS4AV2QCAFMoAwAAAHMyAAAAUmV0dXJuIGFuIGFkYXB0ZXIgZmFjdG9yeSBmb3IgYG9iYCBmcm9tIGByZWdpc3RyeWBStgAAAE4oBQAAAFLKAgAAdAcAAABpbnNwZWN0dAYAAABnZXRtcm9SzgAAAFLBAQAAKAQAAAB0CAAAAHJlZ2lzdHJ5Ul4AAABSOQIAAHQBAAAAdCgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Us8AAACTCwAAcwgAAAAAAicBDQEMAWMBAAAAAgAAAAQAAABDQAAA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AHQHAAAAb3Nfb3BlbnQIAAAAdGVtcGZpbGV0BwAAAG1rc3RlbXAoAwAAAFJjAAAAUlAAAAB0CAAAAG9sZF9vcGVuKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS9gEAAMULAABzCgAAAAABCQEDAgkBFAN0BgAAAGlnbm9yZXQIAAAAY2F0ZWdvcnlSNwAAAGMBAAAAAwAAAAMAAABPQAAAcxEAAAB8AAB8AQB8AgCOAAABfAAAUygBAAAATigAAAAAKAMAAABSAQIAAFJjAAAAUtoBAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQLAAAAX2NhbGxfYXNpZGXYCwAAcwQAAAAAAQ0BYwEAAAABAAAABAAAAANAAABzOgAAAHQAAIMAAIkAAIgAAHwAAGQBADx8AABqAQCHAABmAQBkAgCGAAB0AgCIAACDAQBEgwEAgwEAAWQDAFMoBAAAAHM9AAAAU2V0IHVwIGdsb2JhbCByZXNvdXJjZSBtYW5hZ2VyIChkZWxpYmVyYXRlbHkgbm90IHN0YXRlLXNhdmVkKXQIAAAAX21hbmFnZXJjAQAAAAIAAAAFAAAAM0AAAHMzAAAAfAAAXSkAfQEAfAEAagAAZAAAgwEAcwMAfAEAdAEAiAAAfAEAgwIAZgIAVgFxAwBkAQBTKAIAAABS5AAAAE4oAgAAAFI1AAAAUs4AAAAoAgAAAFJRAQAAUvkAAAAoAQAAAFIDAQAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5cwkAAAA8Z2VuZXhwcj7jCwAAcwQAAAAGAQMBTigDAAAAUooAAABSSwAAAFLxAQAAKAEAAABSVQAAACgAAAAAKAEAAABSAwEAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CwAAAF9pbml0aWFsaXpl3QsAAHMKAAAAAAMJAQoBBgEMAWMAAAAABgAAAAQAAABDQAAAc6YAAAB0AABqAQCDAAB9AAB0AgBkAQBkAgB8AACDAQEBfAAAagMAfQEAfAAAagQAfQIAfAAAagUAfQMAfAAAagYAfQQAfAQAfQUAdAcAZAMAhAAAfAAARIMBAIMBAAF8AwBkBACEAABkBQB0CACDAQEBZwAAfAAAXwkAdAoAdAsAfAAAagwAdA0Aag4AgwIAgwEAAXQPAIMAAGoQAHQRAIMAAIMBAAFkBgBTKAcAAABzRQEAAAogICAgUHJlcGFyZSB0aGUgbWFzdGVyIHdvcmtpbmcgc2V0IGFuZCBtYWtlIHRoZSBgYHJlcXVpcmUoKWBgCiAgICBBUEkgYXZhaWxhYmxlLgoKICAgIFRoaXMgZnVuY3Rpb24gaGFzIGV4cGxpY2l0IGVmZmVjdHMgb24gdGhlIGdsb2JhbCBzdGF0ZQogICAgb2YgcGtnX3Jlc291cmNlcy4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgaW52b2tlZCBvbmNlIGF0CiAgICB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhpcyBtb2R1bGUuCgogICAgSW52b2NhdGlvbiBieSBvdGhlciBwYWNrYWdlcyBpcyB1bnN1cHBvcnRlZCBhbmQgZG9uZQogICAgYXQgdGhlaXIgb3duIHJpc2suCiAgICBSyAIAAFKCAAAAYwEAAAACAAAABAAAAHNAAABzIQAAAHwAAF0XAH0BAHwBAGoAAGQAAHQBAIMAAVYBcQMAZAEAUygCAAAAUjEAAABOKAIAAABSmAIAAFLsAAAAKAIAAABSUQEAAFK5AAAAKAAAAAAoAAAAAHOMAAAAL2J1aWxkZGlyL2J1aWxkL0JVSUxEUk9PVC9hbHQtcHl0aG9uMjctc2V0dXB0b29scy0zNi4zLjAtNC5lbDgueDg2XzY0L29wdC9hbHQvcHl0aG9uMjcvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlzCQAAADxnZW5leHByPgQMAABzAgAAAAYBYwEAAAABAAAAAwAAAFNAAABzEAAAAHwAAGoAAGQBAHQBAIMAAVMoAgAAAE5SMQAAACgCAAAAUpgCAABS6gAAACgBAAAAUrkAAAAoAAAAACgAAAAAc4wAAAAvYnVpbGRkaXIvYnVpbGQvQlVJTERST09UL2FsdC1weXRob24yNy1zZXR1cHRvb2xzLTM2LjMuMC00LmVsOC54ODZfNjQvb3B0L2FsdC9weXRob24yNy9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJkAAAABwwAAFJlAAAAUkoBAABOKBIAAABSiQAAAFIVAQAAUlEAAABScwAAAFJ6AAAAUksBAABSdAAAAFIZAAAAUuwAAABSCQEAAFIoAQAAUgQAAABSDQEAAFJqAAAAUtcAAABSSgAAAFJLAAAAUr0AAAAoBgAAAFKCAAAAUnMAAABSegAAAFKDAAAAUnQAAABStAAAACgAAAAAKAAAAABzjAAAAC9idWlsZGRpci9idWlsZC9CVUlMRFJPT1QvYWx0LXB5dGhvbjI3LXNldHVwdG9vbHMtMzYuMy4wLTQuZWw4Lng4Nl82NC9vcHQvYWx0L3B5dGhvbjI3L2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dB4AAABfaW5pdGlhbGl6ZV9tYXN0ZXJfd29ya2luZ19zZXTpCwAAcxwAAAAADQwBEAIJAQkBCQEJAgYFAwEGAQsCEwEJAhkBKMIAAABSEwAAAHQKAAAAX19mdXR1cmVfX1IAAAAAUmoAAABS1gAAAFKdAQAAUusBAABSOwAAAFI5AgAAUtcBAABS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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 2 × Files: 4
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
extern
DIR
-
drwxr-xr-x
2024-03-03 22:49:24
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_vendor
DIR
-
drwxr-xr-x
2024-03-03 22:49:24
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py31compat.py
600 B
lrw-r--r--
2023-11-13 21:14:06
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
py31compat.pyc
976 B
lrw-r--r--
2023-11-13 21:14:06
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.py
102.20 KB
lrw-r--r--
2023-11-13 21:14:06
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.pyc
137.04 KB
lrw-r--r--
2023-11-13 21:14:06
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).