IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJRm9ydHJhbjk1IChhbmQgRm9ydHJhbjkwLCBGb3J0cmFuNzcsIEYgYW5kIGVsZjkwKQoiIFZlcnNpb246CTAuODYKIiBVUkw6CQlodHRwOi8vd3d3LnVuYi5jYS9jaGVtL2FqaXQvc3ludGF4L2ZvcnRyYW4udmltCiIgTGFzdCBDaGFuZ2U6CTIwMDMgTWFyLiAxMgoiIE1haW50YWluZXI6CUFqaXQgSi4gVGhha2thciAoYWppdCBBVCB1bmIuY2EpOyA8aHR0cDovL3d3dy51bmIuY2EvY2hlbS9haml0Lz4KIiBVc2FnZToJRG8gOmhlbHAgZm9ydHJhbi1zeW50YXggZnJvbSBWaW0KIiBDcmVkaXRzOgoiICBWZXJzaW9uIDAuMSB3YXMgYmFzZWQgb24gdGhlIGZvcnRyYW4gNzcgc3ludGF4IGZpbGUgYnkgTWFyaW8gRXVzZWJpbyBhbmQKIiAgUHJlYmVuIEd1bGRiZXJnLiBVc2VmdWwgc3VnZ2VzdGlvbnMgd2VyZSBtYWRlIGJ5OiBBbmRyZWogUGFuamtvdiwKIiAgQnJhbSBNb29sZW5hYXIsIFRob21hcyBPbHNlbiwgTWljaGFlbCBTdGVybmJlcmcsIENocmlzdGlhbiBSZWlsZSwKIiAgV2FsdGVyIERpZXVkb25u6SwgQWxleGFuZGVyIFdhZ25lciwgUm9tYW4gQmVydGxlLCBDaGFybGVzIFJlbmRsZW1hbiwKIiAgYW5kIEFuZHJldyBHcmlmZml0aHMuIEZvciBpbnN0cnVjdGlvbnMgb24gdXNlLCBkbyA6aGVscCBmb3J0cmFuIGZyb20gdmltCgoiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwoiIEZvciB2ZXJzaW9uIDYueDogUXVpdCBpZiBhIHN5bnRheCBmaWxlIGlzIGFscmVhZHkgbG9hZGVkCmlmIHZlcnNpb24gPCA2MDAKICBzeW50YXggY2xlYXIKZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgZmluaXNoCmVuZGlmCgoiIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9IGZvcnRyYW5fZGlhbGVjdCBpZiBzZXQgY29ycmVjdGx5IGJ5IHVzZXIKaWYgZXhpc3RzKCJmb3J0cmFuX2RpYWxlY3QiKQogIGlmIGZvcnRyYW5fZGlhbGVjdCA9fiAnXDxcKGZcKDlbMDVdXHw3N1wpXHxlbGZcfEZcKVw+JwogICAgbGV0IGI6Zm9ydHJhbl9kaWFsZWN0ID0gbWF0Y2hzdHIoZm9ydHJhbl9kaWFsZWN0LCdcPFwoZlwoOVswNV1cfDc3XClcfGVsZlx8RlwpXD4nKQogIGVsc2UKICAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiVW5rbm93biB2YWx1ZSBvZiBmb3J0cmFuX2RpYWxlY3QiIHwgZWNob2hsIE5vbmUKICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJ1bmtub3duIgogIGVuZGlmCmVsc2UKICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAidW5rbm93biIKZW5kaWYKCiIgZm9ydHJhbl9kaWFsZWN0IG5vdCBzZXQgb3Igc2V0IGluY29ycmVjdGx5IGJ5IHVzZXIsCmlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJ1bmtub3duIgogICIgc2V0IGI6Zm9ydHJhbl9kaWFsZWN0IGZyb20gZGlyZWN0aXZlIGluIGZpcnN0IHRocmVlIGxpbmVzIG9mIGZpbGUKICBsZXQgYjpmb3J0cmFuX3JldHlwZSA9IGdldGxpbmUoMSkuIiAiLmdldGxpbmUoMikuIiAiLmdldGxpbmUoMykKICBpZiBiOmZvcnRyYW5fcmV0eXBlID1+ICdcPGZvcnRyYW5fZGlhbGVjdFxzKj1ccypGXD4nCiAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiRiIKICBlbHNlaWYgYjpmb3J0cmFuX3JldHlwZSA9fiAnXDxmb3J0cmFuX2RpYWxlY3Rccyo9XHMqZWxmXD4nCiAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZWxmIgogIGVsc2VpZiBiOmZvcnRyYW5fcmV0eXBlID1+ICdcPGZvcnRyYW5fZGlhbGVjdFxzKj1ccypmOTBcPicKICAgIGxldCBiOmZvcnRyYW5fZGlhbGVjdCA9ICJmOTAiCiAgZWxzZWlmIGI6Zm9ydHJhbl9yZXR5cGUgPX4gJ1w8Zm9ydHJhbl9kaWFsZWN0XHMqPVxzKmY5NVw+JwogICAgbGV0IGI6Zm9ydHJhbl9kaWFsZWN0ID0gImY5NSIKICBlbHNlaWYgYjpmb3J0cmFuX3JldHlwZSA9fiAnXDxmb3J0cmFuX2RpYWxlY3Rccyo9XHMqZjc3XD4nCiAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZjc3IgogIGVsc2UKICAgICIgbm8gZGlyZWN0aXZlIGZvdW5kLCBzbyBhc3N1bWUgZjk1CiAgICBsZXQgYjpmb3J0cmFuX2RpYWxlY3QgPSAiZjk1IgogIGVuZGlmCiAgdW5sZXQgYjpmb3J0cmFuX3JldHlwZQplbmRpZgoKIiBDaG9vc2UgYmV0d2VlbiBmaXhlZCBhbmQgZnJlZSBzb3VyY2UgZm9ybSBpZiB0aGlzIGhhc24ndCBiZWVuIGRvbmUgeWV0CmlmICFleGlzdHMoImI6Zm9ydHJhbl9maXhlZF9zb3VyY2UiKQogIGlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIgogICAgIiBlbGYgYW5kIEYgcmVxdWlyZSBmcmVlIHNvdXJjZSBmb3JtCiAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDAKICBlbHNlaWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gImY3NyIKICAgICIgZjc3IHJlcXVpcmVzIGZpeGVkIHNvdXJjZSBmb3JtCiAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDEKICBlbHNlaWYgZXhpc3RzKCJmb3J0cmFuX2ZyZWVfc291cmNlIikKICAgICIgVXNlciBndWFyYW50ZWVzIGZyZWUgc291cmNlIGZvcm0gZm9yIGFsbCBmOTAgYW5kIGY5NSBmaWxlcwogICAgbGV0IGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPSAwCiAgZWxzZWlmIGV4aXN0cygiZm9ydHJhbl9maXhlZF9zb3VyY2UiKQogICAgIiBVc2VyIGd1YXJhbnRlZXMgZml4ZWQgc291cmNlIGZvcm0gZm9yIGFsbCBmOTAgYW5kIGY5NSBmaWxlcwogICAgbGV0IGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPSAxCiAgZWxzZQogICAgIiBmOTAgYW5kIGY5NSBhbGxvdyBib3RoIGZpeGVkIGFuZCBmcmVlIHNvdXJjZSBmb3JtLgogICAgIiBBc3N1bWUgZml4ZWQgc291cmNlIGZvcm0gdW5sZXNzIHNpZ25zIG9mIGZyZWUgc291cmNlIGZvcm0KICAgICIgYXJlIGRldGVjdGVkIGluIHRoZSBmaXJzdCBmaXZlIGNvbHVtbnMgb2YgdGhlIGZpcnN0IGI6bG1heCBsaW5lcy4KICAgICIgRGV0ZWN0aW9uIGJlY29tZXMgbW9yZSBhY2N1cmF0ZSBhbmQgdGltZS1jb25zdW1pbmcgaWYgbW9yZSBsaW5lcwogICAgIiBhcmUgY2hlY2tlZC4gSW5jcmVhc2UgdGhlIGxpbWl0IGJlbG93IGlmIHlvdSBrZWVwIGxvdHMgb2YgY29tbWVudHMgYXQKICAgICIgdGhlIHZlcnkgdG9wIG9mIGVhY2ggZmlsZSBhbmQgeW91IGhhdmUgYSBmYXN0IGNvbXB1dGVyLgogICAgbGV0IGI6bG1heCA9IDI1CiAgICBpZiAoIGI6bG1heCA+IGxpbmUoIiQiKSApCiAgICAgIGxldCBiOmxtYXggPSBsaW5lKCIkIikKICAgIGVuZGlmCiAgICBsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDEKICAgIGxldCBiOmxuPTEKICAgIHdoaWxlIGI6bG4gPD0gYjpsbWF4CiAgICAgIGxldCBiOnRlc3QgPSBzdHJwYXJ0KGdldGxpbmUoYjpsbiksMCw1KQogICAgICBpZiBiOnRlc3RbMF0gIX4gJ1tDYyohI10nICYmIGI6dGVzdCAhfiAnXiBcK1shI10nICYmIGI6dGVzdCA9fiAnW14gMC05XHRdJwoJbGV0IGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPSAwCglicmVhawogICAgICBlbmRpZgogICAgICBsZXQgYjpsbiA9IGI6bG4gKyAxCiAgICBlbmR3aGlsZQogICAgdW5sZXQgYjpsbWF4IGI6bG4gYjp0ZXN0CiAgZW5kaWYKZW5kaWYKCnN5biBjYXNlIGlnbm9yZQoKaWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gImY3NyIKICBzeW4gbWF0Y2ggZm9ydHJhbklkZW50aWZpZXIJCSJcPFxhXChcYVx8XGRcKSpcPiIgY29udGFpbnM9Zm9ydHJhblNlcmlhbE51bWJlcgplbHNlCiAgc3luIG1hdGNoIGZvcnRyYW45MElkZW50aWZpZXIJCSJcPFxhXHcqXD4iIGNvbnRhaW5zPWZvcnRyYW5TZXJpYWxOdW1iZXIKICBpZiB2ZXJzaW9uID49IDYwMAogICAgaWYgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxCiAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzXHs2LH1cenNcYVx3Klx6ZVxzKjoiCiAgICBlbHNlCiAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZQkiXlxzKlx6c1xhXHcqXHplXHMqOiIKICAgIGVuZGlmCiAgICBpZiBleGlzdHMoImZvcnRyYW5fbW9yZV9wcmVjaXNlIikKICAgICAgc3luIG1hdGNoIGZvcnRyYW5Db25zdHJ1Y3ROYW1lICJcKFw8ZW5kXHMqZG9cc1wrXClcQDw9XGFcdyoiCiAgICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZSAiXChcPGVuZFxzKmlmXHNcK1wpXEA8PVxhXHcqIgogICAgICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnN0cnVjdE5hbWUgIlwoXDxlbmRccypzZWxlY3Rcc1wrXClcQDw9XGFcdyoiCiAgICBlbmRpZgogIGVsc2UKICAgIGlmIGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMQogICAgICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnN0cnVjdE5hbWUJIl5cc1x7Nix9XGFcdypccyo6IgogICAgZWxzZQogICAgICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnN0cnVjdE5hbWUJIl5ccypcYVx3KlxzKjoiCiAgICBlbmRpZgogIGVuZGlmCmVuZGlmCgpzeW4gbWF0Y2ggICBmb3J0cmFuVW5pdEhlYWRlcgkiXDxlbmRcPiIKCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQljaGFyYWN0ZXIgY29tcGxleCBpbnRlZ2VyCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlCQlpbnRyaW5zaWMKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFw+IgpzeW4ga2V5d29yZCBmb3J0cmFuU3RydWN0dXJlCWRpbWVuc2lvbgpzeW4ga2V5d29yZCBmb3J0cmFuU3RvcmFnZUNsYXNzCXBhcmFtZXRlciBzYXZlCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxzdWJyb3V0aW5lXD4iCnN5biBrZXl3b3JkIGZvcnRyYW5DYWxsCQljYWxsCnN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxmdW5jdGlvblw+IgpzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8cHJvZ3JhbVw+IgpzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50CXJldHVybiBzdG9wCnN5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbAllbHNlIHRoZW4Kc3luIG1hdGNoIGZvcnRyYW5Db25kaXRpb25hbAkiXDxpZlw+IgpzeW4gbWF0Y2ggZm9ydHJhblJlcGVhdAkJIlw8ZG9cPiIKCnN5biBrZXl3b3JkIGZvcnRyYW5Ub2RvCQljb250YWluZWQgdG9kbyBmaXhtZQoKIkNhdGNoIGVycm9ycyBjYXVzZWQgYnkgdG9vIG1hbnkgcmlnaHQgcGFyZW50aGVzZXMKc3luIHJlZ2lvbiBmb3J0cmFuUGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9IigiIGVuZD0iKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5QYXJlbkVycm9yLEBmb3J0cmFuQ29tbWVudEdyb3VwLGNJbmNsdWRlZApzeW4gbWF0Y2ggIGZvcnRyYW5QYXJlbkVycm9yICAgIikiCgpzeW4gbWF0Y2ggZm9ydHJhbk9wZXJhdG9yCSJcLlxzKm5cPWVxdlxzKlwuIgpzeW4gbWF0Y2ggZm9ydHJhbk9wZXJhdG9yCSJcLlxzKlwoYW5kXHxvclx8bm90XClccypcLiIKc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXCgrXHwtXHwvXHxcKlwpIgoKc3luIG1hdGNoIGZvcnRyYW5Cb29sZWFuCSJcLlxzKlwodHJ1ZVx8ZmFsc2VcKVxzKlwuIgoKc3luIGtleXdvcmQgZm9ydHJhblJlYWRXcml0ZQliYWNrc3BhY2UgY2xvc2UgaW5xdWlyZSBvcGVuIHJld2luZCBlbmRmaWxlCnN5biBrZXl3b3JkIGZvcnRyYW5SZWFkV3JpdGUJcmVhZCB3cml0ZSBwcmludAoKIklmIHRhYnMgYXJlIGFsbG93ZWQgdGhlbiB0aGUgbGVmdCBtYXJnaW4gY2hlY2tzIGRvIG5vdCB3b3JrCmlmIGV4aXN0cygiZm9ydHJhbl9oYXZlX3RhYnMiKQogIHN5biBtYXRjaCBmb3J0cmFuVGFiCQkiXHQiICB0cmFuc3BhcmVudAplbHNlCiAgc3luIG1hdGNoIGZvcnRyYW5UYWIJCSJcdCIKZW5kaWYKCnN5biBrZXl3b3JkIGZvcnRyYW5JTwkJdW5pdCBmaWxlIGlvc3RhdCBhY2Nlc3MgYmxhbmsgZm10IGZvcm0Kc3luIGtleXdvcmQgZm9ydHJhbklPCQlyZWNsIHN0YXR1cyBleGlzdCBvcGVuZWQgbnVtYmVyIG5hbWVkIG5hbWUKc3luIGtleXdvcmQgZm9ydHJhbklPCQlzZXF1ZW50aWFsIGRpcmVjdCByZWMKc3luIGtleXdvcmQgZm9ydHJhbklPCQlmb3JtYXR0ZWQgdW5mb3JtYXR0ZWQgbmV4dHJlYwoKc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQljYWJzIGNjb3MgY2V4cCBjbG9nIGNzaW4gY3NxcnQKc3luIGtleXdvcmQgZm9ydHJhbjY2SW50cmluc2ljCQlkYWNvcyBkYXNpbiBkYXRhbiBkYXRhbjIgZGNvcyBkY29zaApzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRkaW0gZGV4cCBkaW50IGRsb2cgZGxvZzEwIGRtb2QgZGFicwpzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWRuaW50IGRzaWduIGRzaW4gZHNpbmggZHNxcnQgZHRhbgpzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWR0YW5oIGlhYnMgaWRpbSBpZG5pbnQgaXNpZ24gaWRpbnQgaWZpeApzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFtYXgwIGFtYXgxIGRtYXgxIG1heDAgbWF4MQpzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFtaW4wIGFtaW4xIGRtaW4xIG1pbjAgbWluMQpzeW4ga2V5d29yZCBmb3J0cmFuNjZJbnRyaW5zaWMJCWFtb2QgZmxvYXQgc25nbCBhbG9nIGFsb2cxMAoKIiBJbnRyaW5zaWNzIHByb3ZpZGVkIGJ5IHNvbWUgdmVuZG9ycwpzeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJY2RhYnMgY2Rjb3MgY2RleHAgY2Rsb2cgY2RzaW4gY2RzcXJ0CnN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwljcWFicyBjcWNvcyBjcWV4cCBjcWxvZyBjcXNpbiBjcXNxcnQKc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCXFhY29zIHFhc2luIHFhdGFuIHFhdGFuMiBxY29zIHFjb3NoCnN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxZGltIHFleHAgaXFpbnQgcWxvZyBxbG9nMTAgcW1vZCBxYWJzCnN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlxbmludCBxc2lnbiBxc2luIHFzaW5oIHFzcXJ0IHF0YW4Kc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCXF0YW5oIHFtYXgxIHFtaW4xCnN5biBrZXl3b3JkIGZvcnRyYW5FeHRyYUludHJpbnNpYwlkaW1hZyBxaW1hZyBkY21wbHggcWNtcGx4IGRjb25qZyBxY29uamcKc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCWdhbW1hIGRnYW1tYSBxZ2FtbWEgYWxnYW1hIGRsZ2FtYSBxbGdhbWEKc3luIGtleXdvcmQgZm9ydHJhbkV4dHJhSW50cmluc2ljCWVyZiBkZXJmIHFlcmYgZXJmYyBkZXJmYyBxZXJmYwpzeW4ga2V5d29yZCBmb3J0cmFuRXh0cmFJbnRyaW5zaWMJZGZsb2F0CgpzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWMJYWJzIGFjb3MgYWltYWcgYWludCBhbmludCBhc2luIGF0YW4gYXRhbjIKc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCWNvcyBzaW4gdGFuIHNpbmggY29zaCB0YW5oIGV4cCBsb2cgbG9nMTAKc3luIGtleXdvcmQgZm9ydHJhbjc3SW50cmluc2ljCXNpZ24gc3FydCBpbnQgY21wbHggbmludCBtaW4gbWF4IGNvbmpnCnN5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpYwljaGFyIGljaGFyIGluZGV4CnN5biBtYXRjaCBmb3J0cmFuNzdJbnRyaW5zaWMJIlw8bGVuXHMqWygsXSJtZT1zKzMKc3luIG1hdGNoIGZvcnRyYW43N0ludHJpbnNpYwkiXDxyZWFsXHMqKCJtZT1zKzQKc3luIG1hdGNoIGZvcnRyYW5UeXBlCQkiXDxpbXBsaWNpdFxzXCtyZWFsIgpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJeXHMqcmVhbFw+IgpzeW4gbWF0Y2ggZm9ydHJhbjkwSW50cmluc2ljCSJcPGxvZ2ljYWxccyooIm1lPXMrNwpzeW4gbWF0Y2ggZm9ydHJhblR5cGUJCSJcPGltcGxpY2l0XHNcK2xvZ2ljYWwiCnN5biBtYXRjaCBmb3J0cmFuVHlwZQkJIl5ccypsb2dpY2FsXD4iCgoiTnVtYmVycyBvZiB2YXJpb3VzIHNvcnRzCiIgSW50ZWdlcnMKc3luIG1hdGNoIGZvcnRyYW5OdW1iZXIJZGlzcGxheSAiXDxcZFwrXChfXGFcdypcKVw9XD4iCiIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGEgZGVjaW1hbCBwb2ludApzeW4gbWF0Y2ggZm9ydHJhbkZsb2F0Tm9EZWMJZGlzcGxheQkiXDxcZFwrW2RlcV1bLStdXD1cZFwrXChfXGFcdypcKVw9XD4iCiIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBzdGFydGluZyB3aXRoIGEgZGVjaW1hbCBwb2ludApzeW4gbWF0Y2ggZm9ydHJhbkZsb2F0SW5pRGVjCWRpc3BsYXkJIlwuXGRcK1woW2RlcV1bLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgoiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgbm8gZGlnaXRzIGFmdGVyIGRlY2ltYWwKc3luIG1hdGNoIGZvcnRyYW5GbG9hdEVuZERlYwlkaXNwbGF5CSJcPFxkXCtcLlwoW2RlcV1bLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgoiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgRCBvciBRIGV4cG9uZW50cwpzeW4gbWF0Y2ggZm9ydHJhbkZsb2F0REV4cAlkaXNwbGF5CSJcPFxkXCtcLlxkXCtcKFtkcV1bLStdXD1cZFwrXClcPVwoX1xhXHcqXClcPVw+IgoiIGZsb2F0aW5nIHBvaW50IG51bWJlcgpzeW4gbWF0Y2ggZm9ydHJhbkZsb2F0CWRpc3BsYXkJIlw8XGRcK1wuXGRcK1woZVstK11cPVxkXCtcKVw9XChfXGFcdypcKVw9XD4iCiIgTnVtYmVycyBpbiBmb3JtYXRzCnN5biBtYXRjaCBmb3J0cmFuRm9ybWF0U3BlYwlkaXNwbGF5CSJcZCpmXGRcK1wuXGRcKyIKc3luIG1hdGNoIGZvcnRyYW5Gb3JtYXRTcGVjCWRpc3BsYXkJIlxkKmVbc25dXD1cZFwrXC5cZFwrXChlXGQrXD5cKVw9IgpzeW4gbWF0Y2ggZm9ydHJhbkZvcm1hdFNwZWMJZGlzcGxheQkiXGQqXChkXHxxXHxnXClcZFwrXC5cZFwrXChlXGQrXClcPSIKc3luIG1hdGNoIGZvcnRyYW5Gb3JtYXRTcGVjCWRpc3BsYXkJIlxkXCt4XD4iCiIgVGhlIG5leHQgbWF0Y2ggY2Fubm90IGJlIHVzZWQgYmVjYXVzZSBpdCB3b3VsZCBwaWNrIHVwIGlkZW50aWZpZXJzIGFzIHdlbGwKIiBzeW4gbWF0Y2ggZm9ydHJhbkZvcm1hdFNwZWMJZGlzcGxheQkiXDxcKGFcfGlcKVxkXCsiCgoiIE51bWJlcnMgYXMgbGFiZWxzCnN5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXlxkXHsxLDV9XHMibWU9ZS0xCnN5biBtYXRjaCBmb3J0cmFuTGFiZWxOdW1iZXIJZGlzcGxheQkiXiBcZFx7MSw0fVxzIm1zPXMrMSxtZT1lLTEKc3luIG1hdGNoIGZvcnRyYW5MYWJlbE51bWJlcglkaXNwbGF5CSJeICBcZFx7MSwzfVxzIm1zPXMrMixtZT1lLTEKc3luIG1hdGNoIGZvcnRyYW5MYWJlbE51bWJlcglkaXNwbGF5CSJeICAgXGRcZFw9XHMibXM9cyszLG1lPWUtMQpzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsTnVtYmVyCWRpc3BsYXkJIl4gICAgXGRccyJtcz1zKzQsbWU9ZS0xCgppZiB2ZXJzaW9uID49IDYwMCAmJiBleGlzdHMoImZvcnRyYW5fbW9yZV9wcmVjaXNlIikKICAiIE51bWJlcnMgYXMgdGFyZ2V0cwogIHN5biBtYXRjaCBmb3J0cmFuVGFyZ2V0CWRpc3BsYXkJIlwoXDxpZlxzKiguXCspXHMqXClcQDw9XChcZFwrXHMqLFxzKlwpXHsyfVxkXCtcPiIKICBzeW4gbWF0Y2ggZm9ydHJhblRhcmdldAlkaXNwbGF5CSJcKFw8ZG9cc1wrXClcQDw9XGRcK1w+IgogIHN5biBtYXRjaCBmb3J0cmFuVGFyZ2V0CWRpc3BsYXkJIlwoXDxnb1xzKnRvXHMqKFw9XClcQDw9XChcZFwrXHMqLFxzKlwpKlxkXCtcPiIKZW5kaWYKCnN5biBrZXl3b3JkIGZvcnRyYW5UeXBlRXgJZXh0ZXJuYWwKc3luIGtleXdvcmQgZm9ydHJhbklPRXgJCWZvcm1hdApzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50RXgJY29udGludWUKc3luIG1hdGNoIGZvcnRyYW5TdGF0ZW1lbnRFeAkiXDxnb1xzKnRvXD4iCnN5biByZWdpb24gZm9ydHJhblN0cmluZ0V4CXN0YXJ0PSsnKyBlbmQ9KycrIGNvbnRhaW5zPWZvcnRyYW5Db250aW51ZU1hcmssZm9ydHJhbkxlZnRNYXJnaW4sZm9ydHJhblNlcmlhbE51bWJlcgpzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWNFeAlkaW0gbGdlIGxndCBsbGUgbGx0IG1vZApzeW4ga2V5d29yZCBmb3J0cmFuU3RhdGVtZW50T2IJYXNzaWduIHBhdXNlIHRvCgppZiBiOmZvcnRyYW5fZGlhbGVjdCAhPSAiZjc3IgoKICBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZQl0eXBlIG5vbmUKCiAgc3luIGtleXdvcmQgZm9ydHJhblN0cnVjdHVyZQlwcml2YXRlIHB1YmxpYyBpbnRlbnQgb3B0aW9uYWwKICBzeW4ga2V5d29yZCBmb3J0cmFuU3RydWN0dXJlCXBvaW50ZXIgdGFyZ2V0IGFsbG9jYXRhYmxlCiAgc3luIGtleXdvcmQgZm9ydHJhblN0b3JhZ2VDbGFzcwlpbiBvdXQKICBzeW4gbWF0Y2ggZm9ydHJhblN0b3JhZ2VDbGFzcwkiXDxraW5kXHMqPSJtZT1zKzQKICBzeW4gbWF0Y2ggZm9ydHJhblN0b3JhZ2VDbGFzcwkiXDxsZW5ccyo9Im1lPXMrMwoKICBzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8bW9kdWxlXD4iCiAgc3luIGtleXdvcmQgZm9ydHJhblVuaXRIZWFkZXIJdXNlIG9ubHkgY29udGFpbnMKICBzeW4ga2V5d29yZCBmb3J0cmFuVW5pdEhlYWRlcglyZXN1bHQgb3BlcmF0b3IgYXNzaWdubWVudAogIHN5biBtYXRjaCBmb3J0cmFuVW5pdEhlYWRlcgkiXDxpbnRlcmZhY2VcPiIKICBzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXIJIlw8cmVjdXJzaXZlXD4iCiAgc3luIGtleXdvcmQgZm9ydHJhblN0YXRlbWVudAlhbGxvY2F0ZSBkZWFsbG9jYXRlIG51bGxpZnkgY3ljbGUgZXhpdAogIHN5biBtYXRjaCBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8c2VsZWN0XD4iCiAgc3luIGtleXdvcmQgZm9ydHJhbkNvbmRpdGlvbmFsCWNhc2UgZGVmYXVsdCB3aGVyZSBlbHNld2hlcmUKCiAgc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiXChcKD5cfDxcKT1cPVx8PT1cfC89XHw9XCkiCiAgc3luIG1hdGNoIGZvcnRyYW5PcGVyYXRvcgkiPT4iCgogIHN5biByZWdpb24gZm9ydHJhblN0cmluZwlzdGFydD0rIisgZW5kPSsiKwljb250YWlucz1mb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuQ29udGludWVNYXJrLGZvcnRyYW5TZXJpYWxOdW1iZXIKICBzeW4ga2V5d29yZCBmb3J0cmFuSU8JCXBhZCBwb3NpdGlvbiBhY3Rpb24gZGVsaW0gcmVhZHdyaXRlCiAgc3luIGtleXdvcmQgZm9ydHJhbklPCQllb3IgYWR2YW5jZSBubWwKCiAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCWFkanVzdGwgYWRqdXN0ciBhbGwgYWxsb2NhdGVkIGFueQogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlhc3NvY2lhdGVkIGJpdF9zaXplIGJ0ZXN0IGNlaWxpbmcKICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJY291bnQgY3NoaWZ0IGRhdGVfYW5kX3RpbWUKICBzeW4ga2V5d29yZCBmb3J0cmFuOTBJbnRyaW5zaWMJZGlnaXRzIGRvdF9wcm9kdWN0IGVvc2hpZnQgZXBzaWxvbiBleHBvbmVudAogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlmbG9vciBmcmFjdGlvbiBodWdlIGlhbmQgaWJjbHIgaWJpdHMgaWJzZXQgaWVvcgogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlpb3IgaXNoZnQgaXNoZnRjIGxib3VuZCBsZW5fdHJpbQogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwltYXRtdWwgbWF4ZXhwb25lbnQgbWF4bG9jIG1heHZhbCBtZXJnZQogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwltaW5leHBvbmVudCBtaW5sb2MgbWludmFsIG1vZHVsbyBtdmJpdHMgbmVhcmVzdAogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlwYWNrIHByZXNlbnQgcHJvZHVjdCByYWRpeCByYW5kb21fbnVtYmVyCiAgc3luIG1hdGNoIGZvcnRyYW45MEludHJpbnNpYwkJIlw8bm90XD5cKFxzKlwuXClcQCEibWU9cyszCiAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCXJhbmRvbV9zZWVkIHJhbmdlIHJlcGVhdCByZXNoYXBlIHJyc3BhY2luZyBzY2FsZQogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlzZWxlY3RlZF9pbnRfa2luZCBzZWxlY3RlZF9yZWFsX2tpbmQgc2NhbgogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwlzaGFwZSBzaXplIHNwYWNpbmcgc3ByZWFkIHNldF9leHBvbmVudAogIHN5biBrZXl3b3JkIGZvcnRyYW45MEludHJpbnNpYwl0aW55IHRyYW5zcG9zZSB0cmltIHVib3VuZCB1bnBhY2sgdmVyaWZ5CiAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljCXByZWNpc2lvbiBzdW0gc3lzdGVtX2Nsb2NrCiAgc3luIG1hdGNoIGZvcnRyYW45MEludHJpbnNpYwkiXDxraW5kXD5ccypbKCxdIm1lPXMrNAoKICBzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKmZ1bmN0aW9uIgogIHN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqaW50ZXJmYWNlIgogIHN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqbW9kdWxlIgogIHN5biBtYXRjaCAgZm9ydHJhblVuaXRIZWFkZXIJIlw8ZW5kXHMqcHJvZ3JhbSIKICBzeW4gbWF0Y2ggIGZvcnRyYW5Vbml0SGVhZGVyCSJcPGVuZFxzKnN1YnJvdXRpbmUiCiAgc3luIG1hdGNoICBmb3J0cmFuUmVwZWF0CSJcPGVuZFxzKmRvIgogIHN5biBtYXRjaCAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKndoZXJlIgogIHN5biBtYXRjaCAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPHNlbGVjdFxzKmNhc2UiCiAgc3luIG1hdGNoICBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8ZW5kXHMqc2VsZWN0IgogIHN5biBtYXRjaCAgZm9ydHJhblR5cGUJIlw8ZW5kXHMqdHlwZSIKICBzeW4gbWF0Y2ggIGZvcnRyYW5UeXBlCSJcPGluXHMqb3V0IgoKICBzeW4ga2V5d29yZCBmb3J0cmFuVW5pdEhlYWRlckV4CXByb2NlZHVyZQogIHN5biBrZXl3b3JkIGZvcnRyYW5JT0V4CQluYW1lbGlzdAogIHN5biBrZXl3b3JkIGZvcnRyYW5Db25kaXRpb25hbEV4CXdoaWxlCiAgc3luIGtleXdvcmQgZm9ydHJhbjkwSW50cmluc2ljRXgJYWNoYXIgaWFjaGFyIHRyYW5zZmVyCgogIHN5biBrZXl3b3JkIGZvcnRyYW5JbmNsdWRlCQlpbmNsdWRlCiAgc3luIGtleXdvcmQgZm9ydHJhbjkwU3RvcmFnZUNsYXNzUglzZXF1ZW5jZQplbmRpZgoKc3luIG1hdGNoICAgZm9ydHJhbkNvbmRpdGlvbmFsCSJcPGVuZFxzKmlmIgpzeW4gbWF0Y2ggICBmb3J0cmFuSU8JCWNvbnRhaW5zPWZvcnRyYW5PcGVyYXRvciAiXDxlXChuZFx8cnJcKVxzKj1ccypcZFwrIgpzeW4gbWF0Y2ggICBmb3J0cmFuQ29uZGl0aW9uYWwJIlw8ZWxzZVxzKmlmIgoKc3luIGtleXdvcmQgZm9ydHJhblVuaXRIZWFkZXJSCWVudHJ5CnN5biBtYXRjaCBmb3J0cmFuVHlwZVIJCWRpc3BsYXkgImRvdWJsZVxzXCtwcmVjaXNpb24iCnN5biBtYXRjaCBmb3J0cmFuVHlwZVIJCWRpc3BsYXkgImRvdWJsZVxzXCtjb21wbGV4IgpzeW4gbWF0Y2ggZm9ydHJhblVuaXRIZWFkZXJSCWRpc3BsYXkgImJsb2NrXHNcK2RhdGEiCnN5biBrZXl3b3JkIGZvcnRyYW5TdG9yYWdlQ2xhc3NSCWNvbW1vbiBlcXVpdmFsZW5jZSBkYXRhCnN5biBrZXl3b3JkIGZvcnRyYW43N0ludHJpbnNpY1IJZGJsZSBkcHJvZApzeW4gbWF0Y2ggICBmb3J0cmFuNzdPcGVyYXRvclIJIlwuXHMqW2dsXVtldF1ccypcLiIKc3luIG1hdGNoICAgZm9ydHJhbjc3T3BlcmF0b3JSCSJcLlxzKlwoZXFcfG5lXClccypcLiIKCmlmIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJmOTUiCiAgc3luIGtleXdvcmQgZm9ydHJhblJlcGVhdAkJZm9yYWxsCiAgc3luIG1hdGNoIGZvcnRyYW5SZXBlYXQJCSJcPGVuZFxzKmZvcmFsbCIKICBzeW4ga2V5d29yZCBmb3J0cmFuOTVJbnRyaW5zaWMJbnVsbCBjcHVfdGltZQogIHN5biBtYXRjaCBmb3J0cmFuVHlwZQkJCSJcPGVsZW1lbnRhbFw+IgogIHN5biBtYXRjaCBmb3J0cmFuVHlwZQkJCSJcPHB1cmVcPiIKICBpZiBleGlzdHMoImZvcnRyYW5fbW9yZV9wcmVjaXNlIikKICAgIHN5biBtYXRjaCBmb3J0cmFuQ29uc3RydWN0TmFtZSAiXChcPGVuZFxzKmZvcmFsbFxzXCtcKVxAPD1cYVx3Klw+IgogIGVuZGlmCmVuZGlmCgpzeW4gY2x1c3RlciBmb3J0cmFuQ29tbWVudEdyb3VwIGNvbnRhaW5zPWZvcnRyYW5Ub2RvCgppZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQogIGlmICFleGlzdHMoImZvcnRyYW5faGF2ZV90YWJzIikKICAgICJGbGFnIGl0ZW1zIGJleW9uZCBjb2x1bW4gNzIKICAgIHN5biBtYXRjaCBmb3J0cmFuU2VyaWFsTnVtYmVyCWV4Y2x1ZGVubCAiXi5cezczLH0kImxjPTcyCiAgICAiRmxhZyBsZWZ0IG1hcmdpbiBlcnJvcnMKICAgIHN5biBtYXRjaCBmb3J0cmFuTGFiZWxFcnJvcgkiXi5cey0sNH1bXjAtOSBdIiBjb250YWlucz1mb3J0cmFuVGFiCiAgICBzeW4gbWF0Y2ggZm9ydHJhbkxhYmVsRXJyb3IJIl4uXHs0fVxkXFMiCiAgZW5kaWYKICBzeW4gbWF0Y2ggZm9ydHJhbkNvbW1lbnQJCWV4Y2x1ZGVubCAiXlshYypdLiokIiBjb250YWlucz1AZm9ydHJhbkNvbW1lbnRHcm91cAogIHN5biBtYXRjaCBmb3J0cmFuTGVmdE1hcmdpbgkJdHJhbnNwYXJlbnQgIl4gXHs1fSIKICBzeW4gbWF0Y2ggZm9ydHJhbkNvbnRpbnVlTWFyawkJZGlzcGxheSAiXi5cezV9XFMibGM9NQplbHNlCiAgc3luIG1hdGNoIGZvcnRyYW5Db250aW51ZU1hcmsJCWRpc3BsYXkgIiYiCmVuZGlmCgppZiBiOmZvcnRyYW5fZGlhbGVjdCAhPSAiZjc3IgogIHN5biBtYXRjaCBmb3J0cmFuQ29tbWVudAlleGNsdWRlbmwgIiEuKiQiIGNvbnRhaW5zPUBmb3J0cmFuQ29tbWVudEdyb3VwCmVuZGlmCgoiY3BwIGlzIG9mdGVuIHVzZWQgd2l0aCBGb3J0cmFuCnN5biBtYXRjaAljUHJlUHJvYwkJIl5ccyojXHMqXChkZWZpbmVcfGlmZGVmXClcPi4qIgpzeW4gbWF0Y2gJY1ByZVByb2MJCSJeXHMqI1xzKlwoZWxpZlx8aWZcKVw+LioiCnN5biBtYXRjaAljUHJlUHJvYwkJIl5ccyojXHMqXChpZm5kZWZcfHVuZGVmXClcPi4qIgpzeW4gbWF0Y2gJY1ByZUNvbmRpdAkJIl5ccyojXHMqXChlbHNlXHxlbmRpZlwpXD4uKiIKc3luIHJlZ2lvbgljSW5jbHVkZWQJY29udGFpbmVkIHN0YXJ0PSsiW14oXSsgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWZvcnRyYW5MZWZ0TWFyZ2luLGZvcnRyYW5Db250aW51ZU1hcmssZm9ydHJhblNlcmlhbE51bWJlcgpzeW4gbWF0Y2gJY0luY2x1ZGVkCQljb250YWluZWQgIjxbXj5dKj4iCnN5biBtYXRjaAljSW5jbHVkZQkJIl5ccyojXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9Y0luY2x1ZGVkCgoiU3luY2hyb25pc2luZyBsaW1pdHMgYXNzdW1lIHRoYXQgY29tbWVudCBhbmQgY29udGludWF0aW9uIGxpbmVzIGFyZSBub3QgbWl4ZWQKaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMCkKICBzeW4gc3luYyBsaW5lY29udCAiJiIgbWF4bGluZXM9NDAKZWxzZQogIHN5biBzeW5jIG1pbmxpbmVzPTIwCmVuZGlmCgppZiB2ZXJzaW9uID49IDYwMCAmJiBleGlzdHMoImZvcnRyYW5fZm9sZCIpCgogIHN5biBzeW5jIGZyb21zdGFydAogIGlmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEpCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKHByb2dyYW1cKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhbk1vZHVsZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Il5ccyptb2R1bGVcc1wrXChwcm9jZWR1cmVcKVxAIVx6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5GdW5jdGlvbiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8cmVjdXJzaXZlIFwpXD1ccypmdW5jdGlvblxzXCtceihcYVx3KlwpIiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8ZnVuY3Rpb25cKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8c3Vicm91dGluZVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQogICAgc3luIHJlZ2lvbiBmb3J0cmFuQmxvY2tEYXRhIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxibG9ja1xzKmRhdGFcc1wrXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5JbnRlcmZhY2UgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKmludGVyZmFjZVw+IiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKmludGVyZmFjZVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICBlbHNlCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChwcm9ncmFtXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTW9kdWxlCiAgICBzeW4gcmVnaW9uIGZvcnRyYW5Nb2R1bGUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJeXHMqbW9kdWxlXHNcK1wocHJvY2VkdXJlXClcQCFceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKG1vZHVsZVwoXHNcK1x6MVw+XClcPVx8JFwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0KICAgIHN5biByZWdpb24gZm9ydHJhbkZ1bmN0aW9uIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccypcKGVsZW1lbnRhbCBcfHB1cmUgXHxyZWN1cnNpdmUgXClcPVxzKmZ1bmN0aW9uXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8ZnVuY3Rpb25cKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfHN1YnJvdXRpbmVcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUKICAgIHN5biByZWdpb24gZm9ydHJhbkJsb2NrRGF0YSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8YmxvY2tccypkYXRhXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8YmxvY2tccypkYXRhXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICAgIHN5biByZWdpb24gZm9ydHJhbkludGVyZmFjZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqaW50ZXJmYWNlXD4iIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKmludGVyZmFjZVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKICBlbmRpZgoKICBpZiBleGlzdHMoImZvcnRyYW5fZm9sZF9jb25kaXRpb25hbHMiKQogICAgaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuNzdMb29wIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxkb1xzXCtceihcZFwrXCkiIGVuZD0iXlxzKlx6MVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuOTBMb29wIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9IlwoXDxlbmRcc1wrXClcQDwhXDxkb1woXHNcK1xhXHxccyokXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqZG9cPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Vbml0SGVhZGVyLGZvcnRyYW5TdHJ1Y3R1cmUsZm9ydHJhblN0b3JhZ2VDbGFzcyxmb3J0cmFuVHlwZSxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuQmxvY2tEYXRhCiAgICAgIHN5biByZWdpb24gZm9ydHJhbklmQmxvY2sgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXChcPGVcKG5kXHxsc2VcKVxzXCtcKVxAPCFcPGlmXHMqKC5cKylccyp0aGVuXD4iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGVuZD0iXDxlbmRccyppZlw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuQ2FzZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJcPHNlbGVjdFxzKmNhc2VcPiIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZW5kPSJcPGVuZFxzKnNlbGVjdFw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgIGVsc2UKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuNzdMb29wIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXDxkb1xzXCtceihcZFwrXCkiIGVuZD0iXlxzKlx6MVw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgICAgc3luIHJlZ2lvbiBmb3J0cmFuOTBMb29wIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9IlwoXDxlbmRcc1wrXClcQDwhXDxkb1woXHNcK1xhXHxccyokXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKmRvXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW5JZkJsb2NrIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9IlwoXDxlXChuZFx8bHNlXClcc1wrXClcQDwhXDxpZlxzKiguXCspXHMqdGhlblw+IiBza2lwPSJeXHMqWyEjXS4qJCIgZW5kPSJcPGVuZFxzKmlmXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuVW5pdEhlYWRlcixmb3J0cmFuU3RydWN0dXJlLGZvcnRyYW5TdG9yYWdlQ2xhc3MsZm9ydHJhblR5cGUsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbkJsb2NrRGF0YQogICAgICBzeW4gcmVnaW9uIGZvcnRyYW5DYXNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Ilw8c2VsZWN0XHMqY2FzZVw+IiBza2lwPSJeXHMqWyEjXS4qJCIgZW5kPSJcPGVuZFxzKnNlbGVjdFw+IiBjb250YWlucz1BTExCVVQsZm9ydHJhblVuaXRIZWFkZXIsZm9ydHJhblN0cnVjdHVyZSxmb3J0cmFuU3RvcmFnZUNsYXNzLGZvcnRyYW5UeXBlLGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW5CbG9ja0RhdGEKICAgIGVuZGlmCiAgZW5kaWYKCiAgaWYgZXhpc3RzKCJmb3J0cmFuX2ZvbGRfbXVsdGlsaW5lY29tbWVudHMiKQogICAgaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKICAgICAgc3luIG1hdGNoIGZvcnRyYW5NdWx0aUxpbmVDb21tZW50cyB0cmFuc3BhcmVudCBmb2xkICJcKF5bIWMqXS4qXChcblx8XCUkXClcKVx7NCx9IiBjb250YWlucz1BTExCVVQsZm9ydHJhbk11bHRpQ29tbWVudExpbmVzCiAgICBlbHNlCiAgICAgIHN5biBtYXRjaCBmb3J0cmFuTXVsdGlMaW5lQ29tbWVudHMgdHJhbnNwYXJlbnQgZm9sZCAiXCheXHMqIS4qXChcblx8XCUkXClcKVx7NCx9IiBjb250YWlucz1BTExCVVQsZm9ydHJhbk11bHRpQ29tbWVudExpbmVzCiAgICBlbmRpZgogIGVuZGlmCmVuZGlmCgoiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCiIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQoiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mb3J0cmFuX3N5bl9pbml0cyIpCiAgaWYgdmVyc2lvbiA8IDUwOAogICAgbGV0IGRpZF9mb3J0cmFuX3N5bl9pbml0cyA9IDEKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CiAgZWxzZQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAgZW5kaWYKCiAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcgZGlmZmVycyBmb3IgZWFjaCBkaWFsZWN0LgogICIgVHJhbnNwYXJlbnQgZ3JvdXBzOgogICIgZm9ydHJhblBhcmVuLCBmb3J0cmFuTGVmdE1hcmdpbgogICIgZm9ydHJhblByb2dyYW0sIGZvcnRyYW5Nb2R1bGUsIGZvcnRyYW5TdWJyb3V0aW5lLCBmb3J0cmFuRnVuY3Rpb24sCiAgIiBmb3J0cmFuQmxvY2tEYXRhCiAgIiBmb3J0cmFuNzdMb29wLCBmb3J0cmFuOTBMb29wLCBmb3J0cmFuSWZCbG9jaywgZm9ydHJhbkNhc2UKICAiIGZvcnRyYW5NdWx0aUNvbW1lbnRMaW5lcwogIEhpTGluayBmb3J0cmFuU3RhdGVtZW50CQlTdGF0ZW1lbnQKICBIaUxpbmsgZm9ydHJhbkNvbnN0cnVjdE5hbWUJU3BlY2lhbAogIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCiAgSGlMaW5rIGZvcnRyYW5SZXBlYXQJCVJlcGVhdAogIEhpTGluayBmb3J0cmFuVG9kbwkJCVRvZG8KICBIaUxpbmsgZm9ydHJhbkNvbnRpbnVlTWFyawkJVG9kbwogIEhpTGluayBmb3J0cmFuU3RyaW5nCQlTdHJpbmcKICBIaUxpbmsgZm9ydHJhbk51bWJlcgkJTnVtYmVyCiAgSGlMaW5rIGZvcnRyYW5PcGVyYXRvcgkJT3BlcmF0b3IKICBIaUxpbmsgZm9ydHJhbkJvb2xlYW4JCUJvb2xlYW4KICBIaUxpbmsgZm9ydHJhbkxhYmVsRXJyb3IJCUVycm9yCiAgSGlMaW5rIGZvcnRyYW5PYnNvbGV0ZQkJVG9kbwogIEhpTGluayBmb3J0cmFuVHlwZQkJCVR5cGUKICBIaUxpbmsgZm9ydHJhblN0cnVjdHVyZQkJVHlwZQogIEhpTGluayBmb3J0cmFuU3RvcmFnZUNsYXNzCQlTdG9yYWdlQ2xhc3MKICBIaUxpbmsgZm9ydHJhbkNhbGwJCQlmb3J0cmFuVW5pdEhlYWRlcgogIEhpTGluayBmb3J0cmFuVW5pdEhlYWRlcgkJZm9ydHJhblByZUNvbmRpdAogIEhpTGluayBmb3J0cmFuUmVhZFdyaXRlCQlmb3J0cmFuOTBJbnRyaW5zaWMKICBIaUxpbmsgZm9ydHJhbklPCQkJZm9ydHJhbjkwSW50cmluc2ljCiAgSGlMaW5rIGZvcnRyYW45NUludHJpbnNpYwkJZm9ydHJhbjkwSW50cmluc2ljCiAgSGlMaW5rIGZvcnRyYW43N0ludHJpbnNpYwkJZm9ydHJhbjkwSW50cmluc2ljCiAgSGlMaW5rIGZvcnRyYW45MEludHJpbnNpYwkJU3BlY2lhbAoKICBpZiAoIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIiApCiAgICBIaUxpbmsgZm9ydHJhblN0YXRlbWVudE9iCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW42NkludHJpbnNpYwlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWNSCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyUglmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuVHlwZVIJCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5TdG9yYWdlQ2xhc3NSCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW45MFN0b3JhZ2VDbGFzc1IJZm9ydHJhbk9ic29sZXRlCiAgICBIaUxpbmsgZm9ydHJhbjc3T3BlcmF0b3JSCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5JbmNsdWRlCQlmb3J0cmFuT2Jzb2xldGUKICBlbHNlCiAgICBIaUxpbmsgZm9ydHJhblN0YXRlbWVudE9iCVN0YXRlbWVudAogICAgSGlMaW5rIGZvcnRyYW42NkludHJpbnNpYwlmb3J0cmFuOTBJbnRyaW5zaWMKICAgIEhpTGluayBmb3J0cmFuNzdJbnRyaW5zaWNSCWZvcnRyYW45MEludHJpbnNpYwogICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyUglmb3J0cmFuUHJlQ29uZGl0CiAgICBIaUxpbmsgZm9ydHJhblR5cGVSCQlmb3J0cmFuVHlwZQogICAgSGlMaW5rIGZvcnRyYW5TdG9yYWdlQ2xhc3NSCWZvcnRyYW5TdG9yYWdlQ2xhc3MKICAgIEhpTGluayBmb3J0cmFuNzdPcGVyYXRvclIJZm9ydHJhbk9wZXJhdG9yCiAgICBIaUxpbmsgZm9ydHJhbkluY2x1ZGUJCUluY2x1ZGUKICAgIEhpTGluayBmb3J0cmFuOTBTdG9yYWdlQ2xhc3NSCWZvcnRyYW5TdG9yYWdlQ2xhc3MKICBlbmRpZgoKICBpZiAoIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIiApCiAgICBIaUxpbmsgZm9ydHJhbkxhYmVsTnVtYmVyCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5UYXJnZXQJCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5Gb3JtYXRTcGVjCQlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuRmxvYXRERXhwCQlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuRmxvYXROb0RlYwkJZm9ydHJhbk9ic29sZXRlCiAgICBIaUxpbmsgZm9ydHJhbkZsb2F0SW5pRGVjCWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5GbG9hdEVuZERlYwlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CQlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuSU9FeAkJZm9ydHJhbk9ic29sZXRlCiAgICBIaUxpbmsgZm9ydHJhblN0YXRlbWVudEV4CWZvcnRyYW5PYnNvbGV0ZQogICAgSGlMaW5rIGZvcnRyYW5TdHJpbmdFeAkJZm9ydHJhbk9ic29sZXRlCiAgICBIaUxpbmsgZm9ydHJhbjc3SW50cmluc2ljRXgJZm9ydHJhbk9ic29sZXRlCiAgICBIaUxpbmsgZm9ydHJhblVuaXRIZWFkZXJFeAlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWxFeAlmb3J0cmFuT2Jzb2xldGUKICAgIEhpTGluayBmb3J0cmFuOTBJbnRyaW5zaWNFeAlmb3J0cmFuT2Jzb2xldGUKICBlbHNlCiAgICBIaUxpbmsgZm9ydHJhbkxhYmVsTnVtYmVyCVNwZWNpYWwKICAgIEhpTGluayBmb3J0cmFuVGFyZ2V0CQlTcGVjaWFsCiAgICBIaUxpbmsgZm9ydHJhbkZvcm1hdFNwZWMJCUlkZW50aWZpZXIKICAgIEhpTGluayBmb3J0cmFuRmxvYXRERXhwCQlmb3J0cmFuRmxvYXQKICAgIEhpTGluayBmb3J0cmFuRmxvYXROb0RlYwkJZm9ydHJhbkZsb2F0CiAgICBIaUxpbmsgZm9ydHJhbkZsb2F0SW5pRGVjCWZvcnRyYW5GbG9hdAogICAgSGlMaW5rIGZvcnRyYW5GbG9hdEVuZERlYwlmb3J0cmFuRmxvYXQKICAgIEhpTGluayBmb3J0cmFuVHlwZUV4CQlmb3J0cmFuVHlwZQogICAgSGlMaW5rIGZvcnRyYW5JT0V4CQlmb3J0cmFuSU8KICAgIEhpTGluayBmb3J0cmFuU3RhdGVtZW50RXgJZm9ydHJhblN0YXRlbWVudAogICAgSGlMaW5rIGZvcnRyYW5TdHJpbmdFeAkJZm9ydHJhblN0cmluZwogICAgSGlMaW5rIGZvcnRyYW43N0ludHJpbnNpY0V4CWZvcnRyYW45MEludHJpbnNpYwogICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyRXgJZm9ydHJhblVuaXRIZWFkZXIKICAgIEhpTGluayBmb3J0cmFuQ29uZGl0aW9uYWxFeAlmb3J0cmFuQ29uZGl0aW9uYWwKICAgIEhpTGluayBmb3J0cmFuOTBJbnRyaW5zaWNFeAlmb3J0cmFuOTBJbnRyaW5zaWMKICBlbmRpZgoKICBIaUxpbmsgZm9ydHJhbkZsb2F0CQlGbG9hdAogIEhpTGluayBmb3J0cmFuOTBJZGVudGlmaWVyCQlmb3J0cmFuSWRlbnRpZmllcgogICJVbmNvbW1lbnQgdGhlIG5leHQgbGluZSBpZiB5b3Ugd2FudCBhbGwgZm9ydHJhbiB2YXJpYWJsZXMgdG8gYmUgaGlnaGxpZ2h0ZWQKICAiSGlMaW5rIGZvcnRyYW5JZGVudGlmaWVyCQlJZGVudGlmaWVyCiAgSGlMaW5rIGZvcnRyYW5QcmVDb25kaXQJCVByZUNvbmRpdAogIEhpTGluayBmb3J0cmFuSW5jbHVkZQkJSW5jbHVkZQogIEhpTGluayBjSW5jbHVkZWQJCQlmb3J0cmFuU3RyaW5nCiAgSGlMaW5rIGNJbmNsdWRlCQkJSW5jbHVkZQogIEhpTGluayBjUHJlUHJvYwkJCVByZVByb2MKICBIaUxpbmsgY1ByZUNvbmRpdAkJCVByZUNvbmRpdAogIEhpTGluayBmb3J0cmFuUGFyZW5FcnJvcgkJRXJyb3IKICBIaUxpbmsgZm9ydHJhbkNvbW1lbnQJCUNvbW1lbnQKICBIaUxpbmsgZm9ydHJhblNlcmlhbE51bWJlcgkJVG9kbwogIEhpTGluayBmb3J0cmFuVGFiCQkJRXJyb3IKICAiIFZlbmRvciBleHRlbnNpb25zCiAgSGlMaW5rIGZvcnRyYW5FeHRyYUludHJpbnNpYwlTcGVjaWFsCgogIGRlbGNvbW1hbmQgSGlMaW5rCmVuZGlmCgpsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb3J0cmFuIgoKIiB2aW06IHRzPTggdHc9MTMyCg==