Z0UjAQAAYwAAAAAAAAAAAHkAAAAdAAAAAQAAAAAAAAAcAAAAAAAAAB0AAAAAAAAABAAAAAAAAAAFAAAAAAAAABkAAAAAAAAABgAAAAAAAAAlAAAAAAAAAAcAAAAAAAAAHwAAAAAAAAAIAAAAAAAAAAABAAAAAAAAPgEAAAAAAAAKAAAAAAAAAAsAAAAAAAAADAAAAAAAAAABAQAAAAAAAAMBAAAAAAAADAEAAAAAAAANAQAAAAAAAA4BAAAAAAAADwEAAAAAAAARAQAAAAAAABMBAAAAAAAAHwEAAAAAAAAyAQAAAAAAADMBAAAAAAAANQEAAAAAAAAoAAAAAAAAAHQLAAAAAAAAAAAAAAAAAAAcAAAAAAAAAGwAAAAAAAAAcAAAAAAAAAB0AAAAAAAAAHwAAAAAAAAA//////////+EAAAAAAAAABgFAAAAAAAAhAUAAAAAAAAsBwAAAAAAALC3AAAAAAAAKMMAAAAAAADIxgAAAAAAANjHAAAAAAAAuNQAAAAAAACw3gAAAAAAAGjjAAAAAAAAUOcAAAAAAAAw6wAAAAAAAHDxAAAAAAAAqPsAAAAAAAAY/wAAAAAAACgIAQAAAAAAmA0BAAAAAABAEAEAAAAAAPATAQAAAAAAgBcBAAAAAAC0twAAAAAAABwAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAlAQAAAAAAABsAAAAAAAAAKgBAAAAAAAAhLAAAAAAAAAEAAAAAAAAAJwDAAAAAAAAEAEAAAAAAADgDAAAAAAAAPgJAAAAAAAAuAQAAAAAAADkAwAAAAAAAOADAAAAAAAAQAYAAAAAAAA0CgAAAAAAAGwDAAAAAAAAEAkAAAAAAABwBQAAAAAAAKgCAAAAAAAArQMAAAAAAACQAwAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAABQAAAAAAAAAGAAAAAAAAAAoAAAAAAAAADQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAAAAAA/////wAAAAABAAAAAAAAABIAAAAAAAAA/////wAAAAABAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAD/////AAAAgAAAAIABAADAAQAAAAQAAAAdeQMAAQAAwAEAAAABAAAArAAAAHkDAAAjAAAAHAAAAHSwAABusAAAcHJvY2VkdXJlKChwY0dlbkNlbGwgdGNDZWxsVmlldyAiZCIpIAogICAgcHJvZygoZGlmZkxheWVyIGdhdGVMYXllciB3ZWxsTGF5ZXIgd2VsbG1pbldpZHRoIGh2TGF5ZXIKCSAgICBkZXBMYXllciBkaWZmRXh0IHdlbGxFbmNEaWZmIHdlbGxFbmNUYXAgd2VsbExheWVyV2lkdGgKCSAgICBodkVuY2xvc3VyZSBkZXBYRW5jIGRlcFlFbmMgZGVwU3BhY2UgbGFiZWxMYXllcgoJICAgIGxhYmVsV2lkdGggZGlmZkltcGxhbnQgZGlmZkltcEVuYyBkaWZmQ29yZUltcGxhbnQgZGlmZkNvcmVJbXBFbmMKCSAgICB2aWExTWluU3BhY2UgdmlhMk1pblNwYWNlIGxheWVyMk1pblNwYWNlIGxheWVyM01pblNwYWNlIG5vT2ZEZWNpbWFscwoJICAgIHNuYXBHcmlkIGJja0NvbXBhdGlibGVPZmZTZXQgcG9seUltcGxhbnQgcG9seUltcFhFbmMgcG9seUltcFlFbmMKCSAgICBodlBZTWNvblNwYWNlIHdlbGxFbmNIdkxheWVyIGRyYXdJRGJ5RGVmYXVsdCBzb3VyY2VGaXJzdCBzaGFyZWREcmFpbgoJICAgIHNoYXJlZFNvdXJjZSBsYXN0Q29udGFjdCBmaXJzdENvbnRhY3QgZ2F0ZUV4dCBpZExheWVyQ2hvaWNlcwoJICAgIGlkTGF5ZXIgaWRFbmNEaWZmIGlkRW5jWEwgaWRFbmNYUiBpZEVuY1kKCSAgICBkaWZmSW1wQ2hvaWNlcyB0YXBJbXBDaG9pY2VzIGNvbnRhY3RDaG9pY2VzIGRpZmZJbXBDaG9pY2UgdGFwSW1wQ2hvaWNlCgkgICAgY29udGFjdENob2ljZSBzcmNPZmZzZXQgZHJuT2Zmc2V0IG0gbAoJICAgIHcgaW1wbGFudCBub0VuZENvbkltcEVuYyBpZENob2ljZSBpZFRleHQKCSAgICBpZFJhZGlvIHdlbGxFbmNZRGlmZiB3ZWxsV2lkdGggZ05ldCBzTmV0CgkgICAgZE5ldCBjTmV0IG5ldEwgaSBkaWZmTWF0Y2gKCSAgICB0YXBNYXRjaCBkaWZmQ29uUGFyYW0geCBpZEVuY0xpc3QgY29udGFjdEYKCSAgICBjb250YWN0TCBjb250YWN0RCBjb250YWN0UyB2aWExWENyZEYgbGF5ZXIyWENyZEYKCSAgICB2aWEyWENyZEYgbGF5ZXIzWENyZEYgbGF5ZXIxWENyZEYgdmlhMVhDcmRMIGxheWVyMlhDcmRMCgkgICAgdmlhMlhDcmRMIGxheWVyM1hDcmRMIGxheWVyMVhDcmRMIHZpYTFYQ3JkUyBsYXllcjJYQ3JkUwoJICAgIHZpYTJYQ3JkUyBsYXllcjNYQ3JkUyBsYXllcjFYQ3JkUyB2aWExWENyZEQgbGF5ZXIyWENyZEQKCSAgICB2aWEyWENyZEQgbGF5ZXIzWENyZEQgbGF5ZXIxWENyZEQgdmlhMUVuY0YgdmlhMkVuY0YKCSAgICBsYXllcjJFbmNGIGxheWVyM0VuY0YgdmlhMUVuY0wgdmlhMkVuY0wgbGF5ZXIyRW5jTAoJICAgIGxheWVyM0VuY0wgdmlhMUVuY1MgdmlhMkVuY1MgbGF5ZXIyRW5jUyBsYXllcjNFbmNTCgkgICAgdmlhMUVuY0QgdmlhMkVuY0QgbGF5ZXIyRW5jRCBsYXllcjNFbmNEIHZpYTFTcGFjZUZMCgkgICAgdmlhMU9mZlNldEZMIHZpYTJTcGFjZUZMIHZpYTJPZmZTZXRGTCBsYXllcjNTcGFjZUZMIGxheWVyM09mZlNldEZMCgkgICAgbGF5ZXIyU3BhY2VGTCBsYXllcjJPZmZTZXRGTCB2aWExU3BhY2VGUyB2aWExT2ZmU2V0RlMgdmlhMlNwYWNlRlMKCSAgICB2aWEyT2ZmU2V0RlMgbGF5ZXIzU3BhY2VGUyBsYXllcjNPZmZTZXRGUyBsYXllcjJTcGFjZUZTIGxheWVyMk9mZlNldEZTCgkgICAgdmlhMVNwYWNlRkQgdmlhMU9mZlNldEZEIHZpYTJTcGFjZUZEIHZpYTJPZmZTZXRGRCBsYXllcjNTcGFjZUZECgkgICAgbGF5ZXIzT2ZmU2V0RkQgbGF5ZXIyU3BhY2VGRCBsYXllcjJPZmZTZXRGRCB2aWExU3BhY2VMUyB2aWExT2ZmU2V0TFMKCSAgICB2aWEyU3BhY2VMUyB2aWEyT2ZmU2V0TFMgbGF5ZXIzU3BhY2VMUyBsYXllcjNPZmZTZXRMUyBsYXllcjJTcGFjZUxTCgkgICAgbGF5ZXIyT2ZmU2V0TFMgdmlhMVNwYWNlTEQgdmlhMU9mZlNldExEIHZpYTJTcGFjZUxEIHZpYTJPZmZTZXRMRAoJICAgIGxheWVyM1NwYWNlTEQgbGF5ZXIzT2ZmU2V0TEQgbGF5ZXIyU3BhY2VMRCBsYXllcjJPZmZTZXRMRCB2aWExU3BhY2VTRAoJICAgIHZpYTFPZmZTZXRTRCB2aWEyU3BhY2VTRCB2aWEyT2ZmU2V0U0QgbGF5ZXIzU3BhY2VTRCBsYXllcjNPZmZTZXRTRAoJICAgIGxheWVyMlNwYWNlU0QgbGF5ZXIyT2ZmU2V0U0QgbWF4T2ZmU2V0IG9mZnNldFNpZGUgbWluU3BhY2VPZmZTZXQKCSAgICBjb250YWN0SW1wUGFyYW0gaWRFbmNQYXJhbSBjb250YWN0V2VsbFBhcmFtIGRpZmZJbXBDaG9pY2VQYXJhbSB0YXBJbXBDaG9pY2VQYXJhbQoJICAgIHgxQ29vcmQgeTFDb29yZCBsYXN0WDFDb29yZCB5MURlcENvb3JkIHkyRGVwQ29vcmQKCSAgICBsYXN0UFlpWDFDb29yZCB5MVBZaUNvb3JkIHkyUFlpQ29vcmQgd2VsbEVuY0RpZmZZIHdlbGxFbmNUYXBZCgkgICAgd2VsbEVuY0RpZmZYIHdlbGxFbmNUYXBYIGNvbnRhY3RJZCBvZmZzZXQgcGFyYW1zCgkgICAgaW5zdFBhcmFtcyBpbnN0IG1hc3RlciBiQm94IGRiaWQKCSAgICBwaW5pZCB4MURpZmZDb29yZCB4MVRhcENvb3JkIHkyRGlmZkNvb3JkIHkyVGFwQ29vcmQKCSAgICB5MURpZmZDb29yZCB5MVRhcENvb3JkIHgxV2VsbENvb3JkIHkxV2VsbENvb3JkIHkyV2VsbENvb3JkCgkgICAgeDFIVkxheWVyQ29vcmQgeTFIVkxheWVyQ29vcmQgeTJIVkxheWVyQ29vcmQgeDFJZENvb3JkIHkxSWRDb29yZAoJICAgIHkySWRDb29yZCBzaGFyZWRTcmNJZCBzaGFyZWREcm5JZCBuIHgxRGVwQ29vcmQKCSAgICB4MVBZaUNvb3JkIHgyRGlmZkNvb3JkIHgyVGFwQ29vcmQgeDJXZWxsQ29vcmQgeDJIVkxheWVyQ29vcmQKCSAgICB4MklkQ29vcmQgd2VsbExheWVyX1hvcmlnaW4gd2VsbExheWVyX1lvcmlnaW4gd2VsbExheWVyX1hlbmQgd2VsbExheWVyX1llbmQKCSAgICBEaWZmX3dlbGxfd2lkdGggc2lnblgxIHNpZ25YMiBzaWduWTEgc2lnblkyCgkpIAoJaWYoIXRjQ2VsbFZpZXcgCgkgICAgcmV0dXJuKG5pbCkKCSkgCgkoYmNrQ29tcGF0aWJsZU9mZlNldCA9IHQpIAoJKGxheWVyM01pblNwYWNlID0gMC4xNCkgCgkobGF5ZXIyTWluU3BhY2UgPSAwLjE3KQoJKHZpYTJNaW5TcGFjZSA9IDAuMTkpIAoJKHZpYTFNaW5TcGFjZSA9IDAuMTcpIAoJKGRpZmZJbXBFbmMgPSAwLjEzKSAKCShkaWZmSW1wbGFudCA9IGxpc3QoInBzZG0iICJkcmF3aW5nIikpIAoJKGxhYmVsV2lkdGggPSAwLjE1KQoJKHdlbGxFbmNEaWZmID0gMC4xOCkgCgkoZGlmZkV4dCA9IDAuMjUpIAoJKHdlbGxMYXllciA9IGxpc3QoIm53ZWxsIiAiZHJhd2luZyIpKSAKCShnYXRlTGF5ZXIgPSBsaXN0KCJwb2x5IiAiZHJhd2luZyIpKSAKCShkaWZmTGF5ZXIgPSBsaXN0KCJkaWZmIiAiZHJhd2luZyIpKQoJKHdlbGxtaW5XaWR0aCA9IDAuMCkgCgkoaHZMYXllciA9IG5pbCkgCgkoZGVwTGF5ZXIgPSBuaWwpIAoJKHdlbGxFbmNUYXAgPSAwLjApIAoJKHdlbGxMYXllcldpZHRoID0gMC4wKQoJKGh2RW5jbG9zdXJlID0gMC4wKSAKCShkZXBYRW5jID0gMC4wKSAKCShkZXBZRW5jID0gMC4wKSAKCShkZXBTcGFjZSA9IDAuMCkgCgkobGFiZWxMYXllciA9IGxpc3QoInRleHQiICJkcmF3aW5nIikpCgkoZGlmZkNvcmVJbXBsYW50ID0gbmlsKSAKCShkaWZmQ29yZUltcEVuYyA9IDAuMCkgCgkobm9PZkRlY2ltYWxzID0gMykgCgkoc25hcEdyaWQgPSAwLjAwNSkgCgkocG9seUltcGxhbnQgPSBuaWwpCgkocG9seUltcFhFbmMgPSAwLjApIAoJKHBvbHlJbXBZRW5jID0gMC4wKSAKCShodlBZTWNvblNwYWNlID0gMC4wKSAKCSh3ZWxsRW5jSHZMYXllciA9IDAuMCkgCgkoZHJhd0lEYnlEZWZhdWx0ID0gbmlsKQoJKGlkUmFkaW8gPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZFJhZGlvKSkgCglpZighbGlzdHAoaWRSYWRpbykgdGhlbiAKCSAgICAoaWRSYWRpbyA9IGxpc3QoIk5vcm1hbCIgIkhWdCIpKQoJKSAKCShpZFRleHQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZFRleHQpKSAKCWlmKChpZFRleHQgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoaWRUZXh0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGlkVGV4dCkgdGhlbiAKCSAgICAoaWRUZXh0ID0gIkhpZ2ggVnQiKQoJKQoJKGlkQ2hvaWNlID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRDaG9pY2UpKSAKCWlmKChpZENob2ljZSA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChpZENob2ljZSA9IG5pbCkKCSkgCgkobm9FbmRDb25JbXBFbmMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5ub0VuZENvbkltcEVuYykpIAoJaWYoKG5vRW5kQ29uSW1wRW5jID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKG5vRW5kQ29uSW1wRW5jID0gbmlsKQoJKSAKCShpbXBsYW50ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aW1wbGFudCkpCglpZigoaW1wbGFudCA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChpbXBsYW50ID0gbmlsKQoJKSAKCSh3ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+dykpIAoJaWYoIWZsb2F0cCh3KSB0aGVuIAoJICAgICh3ID0gMC40MikKCSkgCgkobCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmwpKSAKCWlmKCFmbG9hdHAobCkgdGhlbiAKCSAgICAobCA9IDAuNSkKCSkKCShtID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+bSkpIAoJaWYoIWZpeHAobSkgdGhlbiAKCSAgICAobSA9IDEpCgkpIAoJKGRybk9mZnNldCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmRybk9mZnNldCkpIAoJaWYoIWZsb2F0cChkcm5PZmZzZXQpIHRoZW4gCgkgICAgKGRybk9mZnNldCA9IDAuMCkKCSkgCgkoc3JjT2Zmc2V0ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c3JjT2Zmc2V0KSkKCWlmKCFmbG9hdHAoc3JjT2Zmc2V0KSB0aGVuIAoJICAgIChzcmNPZmZzZXQgPSAwLjApCgkpIAoJKGNvbnRhY3RDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5jb250YWN0Q2hvaWNlKSkgCglpZighbGlzdHAoY29udGFjdENob2ljZSkgdGhlbiAKCSAgICBpZigoKGNvbnRhY3RDaG9pY2UgPT0gIlRSVUUiKSB8fCAoY29udGFjdENob2ljZSA9PSB0KSkgdGhlbiAKCQkoY29udGFjdENob2ljZSA9IHQpIGVsc2UgCgkJKGNvbnRhY3RDaG9pY2UgPSBuaWwpCgkgICAgKQoJKSAKCSh0YXBJbXBDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj50YXBJbXBDaG9pY2UpKSAKCWlmKCFsaXN0cCh0YXBJbXBDaG9pY2UpIHRoZW4gCgkgICAgaWYoKCh0YXBJbXBDaG9pY2UgPT0gIlRSVUUiKSB8fCAodGFwSW1wQ2hvaWNlID09IHQpKSB0aGVuIAoJCSh0YXBJbXBDaG9pY2UgPSB0KSBlbHNlIAoJCSh0YXBJbXBDaG9pY2UgPSBuaWwpCgkgICAgKQoJKQoJKGRpZmZJbXBDaG9pY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5kaWZmSW1wQ2hvaWNlKSkgCglpZighbGlzdHAoZGlmZkltcENob2ljZSkgdGhlbiAKCSAgICBpZigoKGRpZmZJbXBDaG9pY2UgPT0gIlRSVUUiKSB8fCAoZGlmZkltcENob2ljZSA9PSB0KSkgdGhlbiAKCQkoZGlmZkltcENob2ljZSA9IHQpIGVsc2UgCgkJKGRpZmZJbXBDaG9pY2UgPSBuaWwpCgkgICAgKQoJKSAKCShjb250YWN0Q2hvaWNlcyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmNvbnRhY3RDaG9pY2VzKSkgCglpZighbGlzdHAoY29udGFjdENob2ljZXMpIHRoZW4gCgkgICAgaWYoKChjb250YWN0Q2hvaWNlcyA9PSAiVFJVRSIpIHx8IChjb250YWN0Q2hvaWNlcyA9PSB0KSkgdGhlbiAKCQkoY29udGFjdENob2ljZXMgPSB0KSBlbHNlIAoJCShjb250YWN0Q2hvaWNlcyA9IG5pbCkKCSAgICApCgkpIAoJKHRhcEltcENob2ljZXMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj50YXBJbXBDaG9pY2VzKSkKCWlmKCFsaXN0cCh0YXBJbXBDaG9pY2VzKSB0aGVuIAoJICAgIGlmKCgodGFwSW1wQ2hvaWNlcyA9PSAiVFJVRSIpIHx8ICh0YXBJbXBDaG9pY2VzID09IHQpKSB0aGVuIAoJCSh0YXBJbXBDaG9pY2VzID0gdCkgZWxzZSAKCQkodGFwSW1wQ2hvaWNlcyA9IG5pbCkKCSAgICApCgkpIAoJKGRpZmZJbXBDaG9pY2VzID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+ZGlmZkltcENob2ljZXMpKSAKCWlmKCFsaXN0cChkaWZmSW1wQ2hvaWNlcykgdGhlbiAKCSAgICBpZigoKGRpZmZJbXBDaG9pY2VzID09ICJUUlVFIikgfHwgKGRpZmZJbXBDaG9pY2VzID09IHQpKSB0aGVuIAoJCShkaWZmSW1wQ2hvaWNlcyA9IHQpIGVsc2UgCgkJKGRpZmZJbXBDaG9pY2VzID0gbmlsKQoJICAgICkKCSkgCgkoaWRFbmNZID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNZKSkgCglpZighZmxvYXRwKGlkRW5jWSkgdGhlbiAKCSAgICAoaWRFbmNZID0gMC4yNTUpCgkpCgkoaWRFbmNYUiA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkRW5jWFIpKSAKCWlmKCFmbG9hdHAoaWRFbmNYUikgdGhlbiAKCSAgICAoaWRFbmNYUiA9IDAuMjU1KQoJKSAKCShpZEVuY1hMID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNYTCkpIAoJaWYoIWZsb2F0cChpZEVuY1hMKSB0aGVuIAoJICAgIChpZEVuY1hMID0gMC4yNTUpCgkpIAoJKGlkRW5jRGlmZiA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkRW5jRGlmZikpCglpZigoaWRFbmNEaWZmID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGlkRW5jRGlmZiA9IG5pbCkKCSkgCgkoaWRMYXllciA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkTGF5ZXIpKSAKCWlmKCFsaXN0cChpZExheWVyKSB0aGVuIAoJICAgIChpZExheWVyID0gbGlzdCgiaHZ0cCIgImRyYXdpbmciKSkKCSkgCgkoaWRMYXllckNob2ljZXMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZExheWVyQ2hvaWNlcykpIAoJaWYoIWxpc3RwKGlkTGF5ZXJDaG9pY2VzKSB0aGVuIAoJICAgIGlmKCgoaWRMYXllckNob2ljZXMgPT0gIlRSVUUiKSB8fCAoaWRMYXllckNob2ljZXMgPT0gdCkpIHRoZW4gCgkJKGlkTGF5ZXJDaG9pY2VzID0gdCkgZWxzZSAKCQkoaWRMYXllckNob2ljZXMgPSBuaWwpCgkgICAgKQoJKQoJKGdhdGVFeHQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5nYXRlRXh0KSkgCglpZighZmxvYXRwKGdhdGVFeHQpIHRoZW4gCgkgICAgKGdhdGVFeHQgPSAwLjEzKQoJKSAKCShmaXJzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5maXJzdENvbnRhY3QpKSAKCWlmKChmaXJzdENvbnRhY3QgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoZmlyc3RDb250YWN0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGZpcnN0Q29udGFjdCkgdGhlbiAKCSAgICAoZmlyc3RDb250YWN0ID0gIkRGTDFzZCIpCgkpCgkobGFzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5sYXN0Q29udGFjdCkpIAoJaWYoKGxhc3RDb250YWN0ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGxhc3RDb250YWN0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGxhc3RDb250YWN0KSB0aGVuIAoJICAgIChsYXN0Q29udGFjdCA9ICJERkwxc2QiKQoJKSAKCShzaGFyZWRTb3VyY2UgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5zaGFyZWRTb3VyY2UpKSAKCWlmKChzaGFyZWRTb3VyY2UgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoc2hhcmVkU291cmNlID0gbmlsKQoJKQoJaWYoIXN0cmluZ3Aoc2hhcmVkU291cmNlKSB0aGVuIAoJICAgIChzaGFyZWRTb3VyY2UgPSAiREZMMXNkMiIpCgkpIAoJKHNoYXJlZERyYWluID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c2hhcmVkRHJhaW4pKSAKCWlmKChzaGFyZWREcmFpbiA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChzaGFyZWREcmFpbiA9IG5pbCkKCSkgCglpZighc3RyaW5ncChzaGFyZWREcmFpbikgdGhlbiAKCSAgICAoc2hhcmVkRHJhaW4gPSAiREZMMXNkMiIpCgkpIAoJKHNvdXJjZUZpcnN0ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c291cmNlRmlyc3QpKQoJaWYoKHNvdXJjZUZpcnN0ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKHNvdXJjZUZpcnN0ID0gbmlsKQoJKSAKCSh3ZWxsRW5jWURpZmYgPSAwLjApIAoJd2hlbigod2VsbExheWVyV2lkdGggIT0gMC4wKSAKCSAgICAod2VsbFdpZHRoID0gKChtYXgod2VsbEVuY0RpZmYgd2VsbEVuY1RhcCkgKiAyKSArIHcpKSAKCSAgICBpZigod2VsbFdpZHRoIDwgd2VsbExheWVyV2lkdGgpIHRoZW4gCgkJKHdlbGxFbmNZRGlmZiA9IGFicygobWF4KHdlbGxFbmNEaWZmIHdlbGxFbmNUYXApIC0gCgkJCSAgICAoKHdlbGxMYXllcldpZHRoIC0gdykgLyAyKSkKCQkgICAgKSkKCSAgICApCgkpIAoJaWYoKChpbXBsYW50ID09IHQpIHx8IChpbXBsYW50ID09ICJUUlVFIikpIHRoZW4gCgkgICAgKGltcGxhbnQgPSB0KSBlbHNlIAoJICAgIChpbXBsYW50ID0gbmlsKQoJKSAKCWlmKCgoZHJhd0lEYnlEZWZhdWx0ID09IHQpIHx8IChkcmF3SURieURlZmF1bHQgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoZHJhd0lEYnlEZWZhdWx0ID0gdCkgZWxzZSAKCSAgICAoZHJhd0lEYnlEZWZhdWx0ID0gbmlsKQoJKQoJaWYoKChpZENob2ljZSA9PSB0KSB8fCAoaWRDaG9pY2UgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoaWRDaG9pY2UgPSB0KSBlbHNlIAoJICAgIChpZENob2ljZSA9IG5pbCkKCSkgCglpZigoKG5vRW5kQ29uSW1wRW5jID09IHQpIHx8IChub0VuZENvbkltcEVuYyA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChub0VuZENvbkltcEVuYyA9IHQpIGVsc2UgCgkgICAgKG5vRW5kQ29uSW1wRW5jID0gbmlsKQoJKSAKCWlmKCghaWRMYXllciB8fCAoaWRMYXllciA9PSAibm9uZSIpIHx8IChpZExheWVyID09ICJuaWwiKSB8fCAoaWRMYXllciA9PSAiRkFMU0UiKSkgdGhlbiAKCSAgICAoaWRMYXllciA9IG5pbCkKCSkgCglpZigoKHNvdXJjZUZpcnN0ID09IHQpIHx8IChzb3VyY2VGaXJzdCA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChzb3VyY2VGaXJzdCA9IHQpIGVsc2UgCgkgICAgKHNvdXJjZUZpcnN0ID0gbmlsKQoJKSAKCWlmKCgoaWRFbmNEaWZmID09IHQpIHx8IChpZEVuY0RpZmYgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoaWRFbmNEaWZmID0gdCkgZWxzZSAKCSAgICAoaWRFbmNEaWZmID0gbmlsKQoJKQoJaWYoKGdhdGVFeHQgPCAwLjApIAoJICAgIGVycm9yKCJtTm9ybVRyYW5JbXBDbGFzczogZ2F0ZUV4dCAoJWcpIG11c3QgYmUgPiAwXG4iIGdhdGVFeHQpCgkpIAoJKGdOZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAiZyIpKSAKCShkYkNyZWF0ZVRlcm0gZ05ldCAiZyIgImlucHV0IikgCgkoc05ldCA9IChkYkNyZWF0ZU5ldCB0Y0NlbGxWaWV3ICJzIikpIAoJKGRiQ3JlYXRlVGVybSBzTmV0ICJzIiAiaW5wdXRPdXRwdXQiKQoJKGROZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAiZCIpKSAKCShkYkNyZWF0ZVRlcm0gZE5ldCAiZCIgImlucHV0T3V0cHV0IikgCglpZihzb3VyY2VGaXJzdCB0aGVuIAoJICAgIChjTmV0ID0gc05ldCkgCgkgICAgKG5ldEwgPSAiUyIpIGVsc2UKCSAgICAoY05ldCA9IGROZXQpIAoJICAgIChuZXRMID0gIkQiKQoJKSAKCXdoZW4oKG0gPCAxKSAKCSAgICAobSA9IDEpCgkpIAoJd2hlbihkaWZmSW1wQ2hvaWNlcyAKCSAgICB1bmxlc3MoKGRpZmZJbXBFbmMgJiYgbGlzdHAoZGlmZkltcEVuYykgJiYgKGxlbmd0aChkaWZmSW1wRW5jKSA9PSBsZW5ndGgoZGlmZkltcENob2ljZXMpKSkgCgkJZXJyb3IoImRpZmZJbXBFbmMgc2hvdWxkIGJlIGEgbGlzdCBtYXRjaGluZyBkaWZmSW1wQ2hvaWNlcyIpCgkgICAgKSAKCSAgICAoaSA9IGxlbmd0aCgobWVtYmVyKGRpZmZJbXBDaG9pY2UgZGlmZkltcENob2ljZXMpIHx8IGRpZmZJbXBDaG9pY2VzKSkpIAoJICAgIChkaWZmTWF0Y2ggPSAobGVuZ3RoKGRpZmZJbXBDaG9pY2VzKSAtIGkpKSAKCSAgICAoZGlmZkltcEVuYyA9IG50aChkaWZmTWF0Y2ggZGlmZkltcEVuYykpCgkpCgl3aGVuKHRhcEltcENob2ljZXMgCgkgICAgKGkgPSBsZW5ndGgoKG1lbWJlcih0YXBJbXBDaG9pY2UgdGFwSW1wQ2hvaWNlcykgfHwgdGFwSW1wQ2hvaWNlcykpKSAKCSAgICAodGFwTWF0Y2ggPSAobGVuZ3RoKHRhcEltcENob2ljZXMpIC0gaSkpCgkpIAoJd2hlbihjb250YWN0Q2hvaWNlcyAKCSAgICBjb25kKCgoY29udGFjdENob2ljZSA9PSAidGFwIikgCgkJICAgIChkaWZmQ29uUGFyYW0gPSBsaXN0KCJub0RpZmZDb250YWN0IiAiYm9vbGVhbiIgdCkpCgkJKSAKCQkoKGNvbnRhY3RDaG9pY2UgPT0gImJvdGgiKSAKCQkgICAgKGRpZmZDb25QYXJhbSA9IGxpc3QoIm5vRGlmZkNvbnRhY3QiICJib29sZWFuIiAiRkFMU0UiKSkKCQkpIAoJCSh0IAoJCSAgICAoZGlmZkNvblBhcmFtID0gbGlzdCgibm9EaWZmQ29udGFjdCIgImJvb2xlYW4iICJGQUxTRSIpKQoJCSkKCSAgICApCgkpIAoJKHggPSBuaWwpIAoJaWYobGlzdHAoY2FyKGlkTGF5ZXJDaG9pY2VzKSkgdGhlbiAKCSAgICBtYXBjYXIobGFtYmRhKCh4KSAKCQkgICAgaWYoKGNhcih4KSA9PSBpZExheWVyKSB0aGVuIAoJCQkoaWRMYXllciA9IGNhZHIoeCkpIAoJCQkoaWRFbmNMaXN0ID0gY2FkZHIoeCkpIAoJCQlpZigoaWRFbmNMaXN0ICYmIGxpc3RwKGlkRW5jTGlzdCkpIHRoZW4gCgkJCSAgICAoaWRFbmNYTCA9IG50aCgwIGlkRW5jTGlzdCkpIAoJCQkgICAgKGlkRW5jWFIgPSBudGgoMSBpZEVuY0xpc3QpKSAKCQkJICAgIChpZEVuY1kgPSBudGgoMiBpZEVuY0xpc3QpKQoJCQkpCgkJCShpZEVuY0RpZmYgPSBjYWRkZHIoeCkpCgkJICAgICkKCQkpIGlkTGF5ZXJDaG9pY2VzCgkgICAgKQoJKSAKCXdoZW4oKGZpcnN0Q29udGFjdCAhPSAiIikgCgkgICAgKGNvbnRhY3RGID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBmaXJzdENvbnRhY3QgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpCgkpCgl3aGVuKChsYXN0Q29udGFjdCAhPSAiIikgCgkgICAgKGNvbnRhY3RMID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBsYXN0Q29udGFjdCAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkgCgl3aGVuKChzaGFyZWREcmFpbiAhPSAiIikgCgkgICAgKGNvbnRhY3REID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBzaGFyZWREcmFpbiAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkgCgl3aGVuKChzaGFyZWRTb3VyY2UgIT0gIiIpIAoJICAgIChjb250YWN0UyA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgc2hhcmVkU291cmNlICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKQoJKSAKCSh2aWExWENyZEYgPSBpZigoY29udGFjdEZ+PmJCb3hWaWExKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hWaWExKSkpIG5pbAoJICAgICkpIAoJKGxheWVyMlhDcmRGID0gaWYoKGNvbnRhY3RGfj5iQm94TGF5ZXIyKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hMYXllcjIpKSkgbmlsCgkgICAgKSkKCSh2aWEyWENyZEYgPSBpZigoY29udGFjdEZ+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRGID0gaWYoKGNvbnRhY3RGfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIxWENyZEYgPSBpZigoY29udGFjdEZ+PmRpZmZMYXllckJib3gpIAoJCWFicyhjYWFyKChjb250YWN0Rn4+ZGlmZkxheWVyQmJveCkpKSBuaWwKCSAgICApKSAKCSh2aWExWENyZEwgPSBpZigoY29udGFjdEx+PmJCb3hWaWExKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hWaWExKSkpIG5pbAoJICAgICkpIAoJKGxheWVyMlhDcmRMID0gaWYoKGNvbnRhY3RMfj5iQm94TGF5ZXIyKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hMYXllcjIpKSkgbmlsCgkgICAgKSkKCSh2aWEyWENyZEwgPSBpZigoY29udGFjdEx+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRMID0gaWYoKGNvbnRhY3RMfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIxWENyZEwgPSBpZigoY29udGFjdEx+PmRpZmZMYXllckJib3gpIAoJCWFicyhjYWFyKChjb250YWN0TH4+ZGlmZkxheWVyQmJveCkpKSBuaWwKCSAgICApKSAKCSh2aWExWENyZFMgPSBpZigoY29udGFjdFN+PmJCb3hWaWExKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hWaWExKSkpIG5pbAoJICAgICkpIAoJKGxheWVyMlhDcmRTID0gaWYoKGNvbnRhY3RTfj5iQm94TGF5ZXIyKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hMYXllcjIpKSkgbmlsCgkgICAgKSkKCSh2aWEyWENyZFMgPSBpZigoY29udGFjdFN+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRTID0gaWYoKGNvbnRhY3RTfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIxWENyZFMgPSBpZigoY29udGFjdFN+PmRpZmZMYXllckJib3gpIAoJCWFicyhjYWFyKChjb250YWN0U34+ZGlmZkxheWVyQmJveCkpKSBuaWwKCSAgICApKSAKCSh2aWExWENyZEQgPSBpZigoY29udGFjdER+PmJCb3hWaWExKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hWaWExKSkpIG5pbAoJICAgICkpIAoJKGxheWVyMlhDcmREID0gaWYoKGNvbnRhY3REfj5iQm94TGF5ZXIyKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hMYXllcjIpKSkgbmlsCgkgICAgKSkKCSh2aWEyWENyZEQgPSBpZigoY29udGFjdER+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmREID0gaWYoKGNvbnRhY3REfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIxWENyZEQgPSBpZigoY29udGFjdER+PmRpZmZMYXllckJib3gpIAoJCWFicyhjYWFyKChjb250YWN0RH4+ZGlmZkxheWVyQmJveCkpKSBuaWwKCSAgICApKSAKCWlmKChsYXllcjFYQ3JkRiAmJiB2aWExWENyZEYpIHRoZW4gCgkgICAgKHZpYTFFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIHZpYTFYQ3JkRikpKQoJKSAKCWlmKChsYXllcjFYQ3JkRiAmJiB2aWEyWENyZEYpIHRoZW4gCgkgICAgKHZpYTJFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIHZpYTJYQ3JkRikpKQoJKQoJaWYoKGxheWVyMVhDcmRGICYmIGxheWVyMlhDcmRGKSB0aGVuIAoJICAgIChsYXllcjJFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIGxheWVyMlhDcmRGKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRGICYmIGxheWVyM1hDcmRGKSB0aGVuIAoJICAgIChsYXllcjNFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIGxheWVyM1hDcmRGKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRMICYmIHZpYTFYQ3JkTCkgdGhlbiAKCSAgICAodmlhMUVuY0wgPSBhYnMoKGxheWVyMVhDcmRMIC0gdmlhMVhDcmRMKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRMICYmIHZpYTJYQ3JkTCkgdGhlbiAKCSAgICAodmlhMkVuY0wgPSBhYnMoKGxheWVyMVhDcmRMIC0gdmlhMlhDcmRMKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRMICYmIGxheWVyMlhDcmRMKSB0aGVuIAoJICAgIChsYXllcjJFbmNMID0gYWJzKChsYXllcjFYQ3JkTCAtIGxheWVyMlhDcmRMKSkpCgkpCglpZigobGF5ZXIxWENyZEwgJiYgbGF5ZXIzWENyZEwpIHRoZW4gCgkgICAgKGxheWVyM0VuY0wgPSBhYnMoKGxheWVyMVhDcmRMIC0gbGF5ZXIzWENyZEwpKSkKCSkgCglpZigobGF5ZXIxWENyZFMgJiYgdmlhMVhDcmRTKSB0aGVuIAoJICAgICh2aWExRW5jUyA9IGFicygobGF5ZXIxWENyZFMgLSB2aWExWENyZFMpKSkKCSkgCglpZigobGF5ZXIxWENyZFMgJiYgdmlhMlhDcmRTKSB0aGVuIAoJICAgICh2aWEyRW5jUyA9IGFicygobGF5ZXIxWENyZFMgLSB2aWEyWENyZFMpKSkKCSkgCglpZigobGF5ZXIxWENyZFMgJiYgbGF5ZXIyWENyZFMpIHRoZW4gCgkgICAgKGxheWVyMkVuY1MgPSBhYnMoKGxheWVyMVhDcmRTIC0gbGF5ZXIyWENyZFMpKSkKCSkgCglpZigobGF5ZXIxWENyZFMgJiYgbGF5ZXIzWENyZFMpIHRoZW4gCgkgICAgKGxheWVyM0VuY1MgPSBhYnMoKGxheWVyMVhDcmRTIC0gbGF5ZXIzWENyZFMpKSkKCSkKCWlmKChsYXllcjFYQ3JkRCAmJiB2aWExWENyZEQpIHRoZW4gCgkgICAgKHZpYTFFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIHZpYTFYQ3JkRCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkRCAmJiB2aWEyWENyZEQpIHRoZW4gCgkgICAgKHZpYTJFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIHZpYTJYQ3JkRCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkRCAmJiBsYXllcjJYQ3JkRCkgdGhlbiAKCSAgICAobGF5ZXIyRW5jRCA9IGFicygobGF5ZXIxWENyZEQgLSBsYXllcjJYQ3JkRCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkRCAmJiBsYXllcjNYQ3JkRCkgdGhlbiAKCSAgICAobGF5ZXIzRW5jRCA9IGFicygobGF5ZXIxWENyZEQgLSBsYXllcjNYQ3JkRCkpKQoJKSAKCWlmKCh2aWExRW5jRiAmJiB2aWExRW5jTCkgdGhlbiAKCSAgICAodmlhMVNwYWNlRkwgPSAodmlhMUVuY0YgKyB2aWExRW5jTCArIGwpKSAKCSAgICAodmlhMU9mZlNldEZMID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUZMKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0RkwgPSAwLjApCgkpCglpZigodmlhMkVuY0YgJiYgdmlhMkVuY0wpIHRoZW4gCgkgICAgKHZpYTJTcGFjZUZMID0gKHZpYTJFbmNGICsgdmlhMkVuY0wgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRGTCA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VGTCkpIGVsc2UKCSAgICAodmlhMk9mZlNldEZMID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNGICYmIGxheWVyM0VuY0wpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlRkwgPSAobGF5ZXIzRW5jRiArIGxheWVyM0VuY0wgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldEZMID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VGTCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0RkwgPSAwLjApCgkpIAoJaWYoKGxheWVyMkVuY0YgJiYgbGF5ZXIyRW5jTCkgdGhlbiAKCSAgICAobGF5ZXIyU3BhY2VGTCA9IChsYXllcjJFbmNGICsgbGF5ZXIyRW5jTCArIGwpKSAKCSAgICAobGF5ZXIyT2ZmU2V0RkwgPSAobGF5ZXIyTWluU3BhY2UgLSBsYXllcjJTcGFjZUZMKSkgZWxzZQoJICAgIChsYXllcjJPZmZTZXRGTCA9IDAuMCkKCSkgCglpZigodmlhMUVuY0YgJiYgdmlhMUVuY1MpIHRoZW4gCgkgICAgKHZpYTFTcGFjZUZTID0gKHZpYTFFbmNGICsgdmlhMUVuY1MgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRGUyA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VGUykpIGVsc2UKCSAgICAodmlhMU9mZlNldEZTID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jRiAmJiB2aWEyRW5jUykgdGhlbiAKCSAgICAodmlhMlNwYWNlRlMgPSAodmlhMkVuY0YgKyB2aWEyRW5jUyArIGwpKSAKCSAgICAodmlhMk9mZlNldEZTID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUZTKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0RlMgPSAwLjApCgkpCglpZigobGF5ZXIzRW5jRiAmJiBsYXllcjNFbmNTKSB0aGVuIAoJICAgIChsYXllcjNTcGFjZUZTID0gKGxheWVyM0VuY0YgKyBsYXllcjNFbmNTICsgbCkpIAoJICAgIChsYXllcjNPZmZTZXRGUyA9IChsYXllcjNNaW5TcGFjZSAtIGxheWVyM1NwYWNlRlMpKSBlbHNlCgkgICAgKGxheWVyM09mZlNldEZTID0gMC4wKQoJKSAKCWlmKChsYXllcjJFbmNGICYmIGxheWVyMkVuY1MpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlRlMgPSAobGF5ZXIyRW5jRiArIGxheWVyMkVuY1MgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldEZTID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VGUykpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0RlMgPSAwLjApCgkpIAoJaWYoKHZpYTFFbmNGICYmIHZpYTFFbmNEKSB0aGVuIAoJICAgICh2aWExU3BhY2VGRCA9ICh2aWExRW5jRiArIHZpYTFFbmNEICsgbCkpIAoJICAgICh2aWExT2ZmU2V0RkQgPSAodmlhMU1pblNwYWNlIC0gdmlhMVNwYWNlRkQpKSBlbHNlCgkgICAgKHZpYTFPZmZTZXRGRCA9IDAuMCkKCSkgCglpZigodmlhMkVuY0YgJiYgdmlhMkVuY0QpIHRoZW4gCgkgICAgKHZpYTJTcGFjZUZEID0gKHZpYTJFbmNGICsgdmlhMkVuY0QgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRGRCA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VGRCkpIGVsc2UKCSAgICAodmlhMk9mZlNldEZEID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNGICYmIGxheWVyM0VuY0QpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlRkQgPSAobGF5ZXIzRW5jRiArIGxheWVyM0VuY0QgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldEZEID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VGRCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0RkQgPSAwLjApCgkpCglpZigobGF5ZXIyRW5jRiAmJiBsYXllcjJFbmNEKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZUZEID0gKGxheWVyMkVuY0YgKyBsYXllcjJFbmNEICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRGRCA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlRkQpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldEZEID0gMC4wKQoJKSAKCWlmKCh2aWExRW5jTCAmJiB2aWExRW5jUykgdGhlbiAKCSAgICAodmlhMVNwYWNlTFMgPSAodmlhMUVuY0wgKyB2aWExRW5jUyArIGwpKSAKCSAgICAodmlhMU9mZlNldExTID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUxTKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0TFMgPSAwLjApCgkpIAoJaWYoKHZpYTJFbmNMICYmIHZpYTJFbmNTKSB0aGVuIAoJICAgICh2aWEyU3BhY2VMUyA9ICh2aWEyRW5jTCArIHZpYTJFbmNTICsgbCkpIAoJICAgICh2aWEyT2ZmU2V0TFMgPSAodmlhMk1pblNwYWNlIC0gdmlhMlNwYWNlTFMpKSBlbHNlCgkgICAgKHZpYTJPZmZTZXRMUyA9IDAuMCkKCSkgCglpZigobGF5ZXIzRW5jTCAmJiBsYXllcjNFbmNTKSB0aGVuIAoJICAgIChsYXllcjNTcGFjZUxTID0gKGxheWVyM0VuY0wgKyBsYXllcjNFbmNTICsgbCkpIAoJICAgIChsYXllcjNPZmZTZXRMUyA9IChsYXllcjNNaW5TcGFjZSAtIGxheWVyM1NwYWNlTFMpKSBlbHNlCgkgICAgKGxheWVyM09mZlNldExTID0gMC4wKQoJKSAKCWlmKChsYXllcjJFbmNMICYmIGxheWVyMkVuY1MpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlTFMgPSAobGF5ZXIyRW5jTCArIGxheWVyMkVuY1MgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldExTID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VMUykpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0TFMgPSAwLjApCgkpCglpZigodmlhMUVuY0wgJiYgdmlhMUVuY0QpIHRoZW4gCgkgICAgKHZpYTFTcGFjZUxEID0gKHZpYTFFbmNMICsgdmlhMUVuY0QgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRMRCA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VMRCkpIGVsc2UKCSAgICAodmlhMU9mZlNldExEID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jTCAmJiB2aWEyRW5jRCkgdGhlbiAKCSAgICAodmlhMlNwYWNlTEQgPSAodmlhMkVuY0wgKyB2aWEyRW5jRCArIGwpKSAKCSAgICAodmlhMk9mZlNldExEID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUxEKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0TEQgPSAwLjApCgkpIAoJaWYoKGxheWVyM0VuY0wgJiYgbGF5ZXIzRW5jRCkgdGhlbiAKCSAgICAobGF5ZXIzU3BhY2VMRCA9IChsYXllcjNFbmNMICsgbGF5ZXIzRW5jRCArIGwpKSAKCSAgICAobGF5ZXIzT2ZmU2V0TEQgPSAobGF5ZXIzTWluU3BhY2UgLSBsYXllcjNTcGFjZUxEKSkgZWxzZQoJICAgIChsYXllcjNPZmZTZXRMRCA9IDAuMCkKCSkgCglpZigobGF5ZXIyRW5jTCAmJiBsYXllcjJFbmNEKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZUxEID0gKGxheWVyMkVuY0wgKyBsYXllcjJFbmNEICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRMRCA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlTEQpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldExEID0gMC4wKQoJKSAKCWlmKCh2aWExRW5jUyAmJiB2aWExRW5jRCkgdGhlbiAKCSAgICAodmlhMVNwYWNlU0QgPSAodmlhMUVuY1MgKyB2aWExRW5jRCArIGwpKSAKCSAgICAodmlhMU9mZlNldFNEID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZVNEKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0U0QgPSAwLjApCgkpCglpZigodmlhMkVuY1MgJiYgdmlhMkVuY0QpIHRoZW4gCgkgICAgKHZpYTJTcGFjZVNEID0gKHZpYTJFbmNTICsgdmlhMkVuY0QgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRTRCA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VTRCkpIGVsc2UKCSAgICAodmlhMk9mZlNldFNEID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNTICYmIGxheWVyM0VuY0QpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlU0QgPSAobGF5ZXIzRW5jUyArIGxheWVyM0VuY0QgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldFNEID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VTRCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0U0QgPSAwLjApCgkpIAoJaWYoKGxheWVyMkVuY1MgJiYgbGF5ZXIyRW5jRCkgdGhlbiAKCSAgICAobGF5ZXIyU3BhY2VTRCA9IChsYXllcjJFbmNTICsgbGF5ZXIyRW5jRCArIGwpKSAKCSAgICAobGF5ZXIyT2ZmU2V0U0QgPSAobGF5ZXIyTWluU3BhY2UgLSBsYXllcjJTcGFjZVNEKSkgZWxzZQoJICAgIChsYXllcjJPZmZTZXRTRCA9IDAuMCkKCSkgCglpZigobSA9PSAxKSB0aGVuIAoJICAgIChtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZMIHZpYTJPZmZTZXRGTCBsYXllcjJPZmZTZXRGTCBsYXllcjNPZmZTZXRGTCAwLjApKSBlbHNlIAoJICAgIGlmKChtID09IDIpIHRoZW4gCgkJaWYoc291cmNlRmlyc3QgdGhlbiAKCQkgICAgKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RkQgdmlhMk9mZlNldEZEIGxheWVyMk9mZlNldEZEIGxheWVyM09mZlNldEZEIHZpYTFPZmZTZXRMRAoJCQkgICAgdmlhMk9mZlNldExEIGxheWVyMk9mZlNldExEIGxheWVyM09mZlNldExEIDAuMAoJCQkpKSBlbHNlIAoJCSAgICAobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGUyB2aWEyT2ZmU2V0RlMgbGF5ZXIyT2ZmU2V0RlMgbGF5ZXIzT2ZmU2V0RlMgdmlhMU9mZlNldExTCgkJCSAgICB2aWEyT2ZmU2V0TFMgbGF5ZXIyT2ZmU2V0TFMgbGF5ZXIzT2ZmU2V0TFMgMC4wCgkJCSkpCgkJKSBlbHNlIAoJCWlmKChtb2QobSAyKSA9PSAwKSB0aGVuIAoJCSAgICBpZihzb3VyY2VGaXJzdCB0aGVuIAoJCQkobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGRCB2aWEyT2ZmU2V0RkQgbGF5ZXIyT2ZmU2V0RkQgbGF5ZXIzT2ZmU2V0RkQgdmlhMU9mZlNldFNECgkJCQl2aWEyT2ZmU2V0U0QgbGF5ZXIyT2ZmU2V0U0QgbGF5ZXIzT2ZmU2V0U0QgdmlhMU9mZlNldExEIHZpYTJPZmZTZXRMRAoJCQkJbGF5ZXIyT2ZmU2V0TEQgbGF5ZXIzT2ZmU2V0TEQgMC4wCgkJCSAgICApKSBlbHNlIAoJCQkobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGUyB2aWEyT2ZmU2V0RlMgbGF5ZXIyT2ZmU2V0RlMgbGF5ZXIzT2ZmU2V0RlMgdmlhMU9mZlNldFNECgkJCQl2aWEyT2ZmU2V0U0QgbGF5ZXIyT2ZmU2V0U0QgbGF5ZXIzT2ZmU2V0U0QgdmlhMU9mZlNldExTIHZpYTJPZmZTZXRMUwoJCQkJbGF5ZXIyT2ZmU2V0TFMgbGF5ZXIzT2ZmU2V0TFMgMC4wCgkJCSAgICApKQoJCSAgICApIGVsc2UgCgkJICAgIGlmKHNvdXJjZUZpcnN0IHRoZW4gCgkJCShtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZEIHZpYTJPZmZTZXRGRCBsYXllcjJPZmZTZXRGRCBsYXllcjNPZmZTZXRGRCB2aWExT2ZmU2V0U0QKCQkJCXZpYTJPZmZTZXRTRCBsYXllcjJPZmZTZXRTRCBsYXllcjNPZmZTZXRTRCB2aWExT2ZmU2V0TFMgdmlhMk9mZlNldExTCgkJCQlsYXllcjJPZmZTZXRMUyBsYXllcjNPZmZTZXRMUyAwLjAKCQkJICAgICkpIGVsc2UgCgkJCShtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZTIHZpYTJPZmZTZXRGUyBsYXllcjJPZmZTZXRGUyBsYXllcjNPZmZTZXRGUyB2aWExT2ZmU2V0U0QKCQkJCXZpYTJPZmZTZXRTRCBsYXllcjJPZmZTZXRTRCBsYXllcjNPZmZTZXRTRCB2aWExT2ZmU2V0TEQgdmlhMk9mZlNldExECgkJCQlsYXllcjJPZmZTZXRMRCBsYXllcjNPZmZTZXRMRCAwLjAKCQkJICAgICkpCgkJICAgICkKCQkpCgkgICAgKQoJKSAKCShvZmZzZXRTaWRlID0gKG1heE9mZlNldCAvIDIuMCkpCgkobWluU3BhY2VPZmZTZXQgPSAoKGNlaWxpbmcgCgkJICAgICgob2Zmc2V0U2lkZSAvIHNuYXBHcmlkKSArIC0xZS0wNikKCQkpICogc25hcEdyaWQpKSAKCXdoZW4oKGxpc3RwKGlkTGF5ZXIpICYmIChjYWRyKGlkTGF5ZXIpID09ICJodiIpICYmIChodlBZTWNvblNwYWNlID4gMC4wKSkgCgkgICAgKG1pblNwYWNlT2ZmU2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgaHZQWU1jb25TcGFjZSkpCgkpIAoJaWYoKGJja0NvbXBhdGlibGVPZmZTZXQgJiYgKChzcmNPZmZzZXQgIT0gMC4wKSB8fCAoZHJuT2Zmc2V0ICE9IDAuMCkpKSB0aGVuIAoJICAgIChtaW5TcGFjZU9mZlNldCA9IDAuMCkKCSkgCglpZihpbXBsYW50IHRoZW4gCgkgICAgKGNvbnRhY3RJbXBQYXJhbSA9IGxpc3QoImltcGxhbnQiICJib29sZWFuIiB0KSkgZWxzZSAKCSAgICAoY29udGFjdEltcFBhcmFtID0gbGlzdCgiaW1wbGFudCIgImJvb2xlYW4iICJGQUxTRSIpKQoJKSAKCWlmKGlkQ2hvaWNlIHRoZW4gCgkgICAgKGlkRW5jUGFyYW0gPSBsaXN0KCJpZENob2ljZSIgImJvb2xlYW4iIHQpKSBlbHNlIAoJICAgIChpZEVuY1BhcmFtID0gbGlzdCgiaWRDaG9pY2UiICJib29sZWFuIiAiRkFMU0UiKSkKCSkKCWlmKHdlbGxMYXllciB0aGVuIAoJICAgIChjb250YWN0V2VsbFBhcmFtID0gbGlzdCgiaW5XZWxsIiAiYm9vbGVhbiIgdCkpIGVsc2UgCgkgICAgKGNvbnRhY3RXZWxsUGFyYW0gPSBsaXN0KCJpbldlbGwiICJib29sZWFuIiAiRkFMU0UiKSkKCSkgCgl3aGVuKGRpZmZJbXBDaG9pY2VzIAoJICAgIChkaWZmSW1wQ2hvaWNlUGFyYW0gPSBsaXN0KCJkaWZmSW1wQ2hvaWNlIiAiZml4bnVtIiBkaWZmTWF0Y2gpKQoJKSAKCXdoZW4odGFwSW1wQ2hvaWNlcyAKCSAgICAodGFwSW1wQ2hvaWNlUGFyYW0gPSBsaXN0KCJ0YXBJbXBDaG9pY2UiICJmaXhudW0iIHRhcE1hdGNoKSkKCSkgCgkoeDFDb29yZCA9IDAuMCkgCgkoeTFDb29yZCA9IDAuMCkKCShsYXN0WDFDb29yZCA9ICgtICgyLjAgKiAoZGVwWEVuYyArIGRlcFNwYWNlKSkpKSAKCXdoZW4oZGVwTGF5ZXIgCgkgICAgKHkxRGVwQ29vcmQgPSAoeTFDb29yZCAtIGRlcFlFbmMpKSAKCSAgICAoeTJEZXBDb29yZCA9ICh5MUNvb3JkICsgdyArIGRlcFlFbmMpKQoJKSAKCShsYXN0UFlpWDFDb29yZCA9ICgtICgyLjAgKiBwb2x5SW1wWEVuYykpKSAKCXdoZW4ocG9seUltcGxhbnQgCgkgICAgKHkxUFlpQ29vcmQgPSAoeTFDb29yZCAtIHBvbHlJbXBZRW5jIC0gZ2F0ZUV4dCkpIAoJICAgICh5MlBZaUNvb3JkID0gKHkxQ29vcmQgKyB3ICsgcG9seUltcFlFbmMgKyBnYXRlRXh0KSkKCSkgCglpZigoaWRMYXllciAmJiBsaXN0cChpZExheWVyKSAmJiAoY2FkcihpZExheWVyKSA9PSAiaHYiKSAmJiAod2VsbEVuY0h2TGF5ZXIgPiAwLjApKSB0aGVuIAoJICAgICh3ZWxsRW5jRGlmZlkgPSAoaWRFbmNZICsgd2VsbEVuY0h2TGF5ZXIpKSAKCSAgICAod2VsbEVuY1RhcFkgPSAoaWRFbmNZICsgd2VsbEVuY0h2TGF5ZXIpKSAKCSAgICAod2VsbEVuY0RpZmZYID0gKG1heChpZEVuY1hMIGlkRW5jWFIpICsgd2VsbEVuY0h2TGF5ZXIpKQoJICAgICh3ZWxsRW5jVGFwWCA9IChtYXgoaWRFbmNYTCBpZEVuY1hSKSArIHdlbGxFbmNIdkxheWVyKSkgZWxzZSAKCSAgICAod2VsbEVuY0RpZmZZID0gd2VsbEVuY0RpZmYpIAoJICAgICh3ZWxsRW5jVGFwWSA9IHdlbGxFbmNUYXApIAoJICAgICh3ZWxsRW5jRGlmZlggPSB3ZWxsRW5jRGlmZikKCSAgICAod2VsbEVuY1RhcFggPSB3ZWxsRW5jVGFwKQoJKQoJd2hlbigoZmlyc3RDb250YWN0ICE9ICIiKSAKCSAgICAoY29udGFjdElkID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBmaXJzdENvbnRhY3QgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpIAoJICAgIHVubGVzcyhjb250YWN0SWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gZmlyc3RDb250YWN0IGNvbnRhY3QgY2VsbCBgJXMnIiBmaXJzdENvbnRhY3QpKQoJICAgICkgCgkgICAgdW5sZXNzKChjb250YWN0SWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBmaXJzdENvbnRhY3QpKQoJICAgICkgCgkgICAgaWYoKGNOZXQgPT0gc05ldCkgdGhlbiAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgc3JjT2Zmc2V0KSkgZWxzZSAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgZHJuT2Zmc2V0KSkKCSAgICApCgkgICAgKHBhcmFtcyA9IChjb250YWN0SWR+PnBhcmFtZXRlcnMpKSAKCSAgICAoaW5zdFBhcmFtcyA9IGxpc3QobGlzdCgidyIgImZsb2F0IiB3KSkpIAoJICAgIHdoZW4oKHBhcmFtc34+aW1wbGFudCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RJbXBQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmlkQ2hvaWNlKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgaWRFbmNQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmluV2VsbCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RXZWxsUGFyYW0pKQoJICAgICkKCSAgICB3aGVuKChkaWZmSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj5kaWZmSW1wQ2hvaWNlKSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKCh0YXBJbXBDaG9pY2VzICYmIChwYXJhbXN+PnRhcEltcENob2ljZSkpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyB0YXBJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChjb250YWN0Q2hvaWNlcyAmJiAocGFyYW1zfj5ub0RpZmZDb250YWN0KSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZDb25QYXJhbSkpCgkgICAgKSAKCSAgICAoaW5zdCA9IChkYkNyZWF0ZVBhcmFtSW5zdCB0Y0NlbGxWaWV3IGNvbnRhY3RJZCAiYzAiIAoJCSAgICAoKC0gb2Zmc2V0KTowKQoJCSAgICAiTVkiIDEgaW5zdFBhcmFtcwoJCSkpIAoJICAgIHVubGVzcyhpbnN0IAoJCWVycm9yKHNwcmludGYobmlsICJGYWlsZWQgdG8gY3JlYXRlIGluc3RhbmNlIG9mIGAlcyciIGZpcnN0Q29udGFjdCkpCgkgICAgKQoJICAgIHdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCSAgICBsaXN0KCgoeDFDb29yZCAtIG9mZnNldCk6eTFDb29yZCkgCgkJCSh4MUNvb3JkOncpCgkJICAgICkKCQkpIAoJCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCWxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCh4MUNvb3JkIAoJCQkJKHcgKyBkaWZmSW1wRW5jKQoJCQkgICAgKQoJCQkpCgkJICAgICkKCQkpIAoJCXdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkJbGlzdChsaXN0KCh4MUNvb3JkIC0gb2Zmc2V0KSAKCQkJCSh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCh4MUNvb3JkIAoJCQkJKHcgKyBkaWZmQ29yZUltcEVuYykKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgKG1hc3RlciA9IChpbnN0fj5tYXN0ZXIpKSAKCSAgICB1bmxlc3MoKChtYXN0ZXJ+PnRvcExheWVyKSAmJiAobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTWlzc2luZyB0b3BMYXllciBhbmQvb3IgdG9wTGF5ZXJQaW5CYm94IGNlbGwgcHJvcGVydGllcyBpbiBgJXMnIiBmaXJzdENvbnRhY3QpKQoJICAgICkgCgkgICAgKGJCb3ggPSBsaXN0KGxpc3QoKC0gKG9mZnNldCArIGNhYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkpKSAKCQkJY2FkYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkgICAgKSAKCQkgICAgbGlzdCgoLSAob2Zmc2V0ICsgY2FhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkpKSAKCQkJY2FkYWRyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpCgkJICAgICkKCQkpKSAKCSAgICAoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyAKCQkgICAgKG1hc3Rlcn4+dG9wTGF5ZXIpIGJCb3gKCQkpKQoJICAgIChwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKSAKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgidG9wIiAiYm90dG9tIiAibGVmdCIpIGFjY2Vzc0RpcgoJICAgICkgCgkgICAgd2hlbihsYWJlbExheWVyIAoJCShkYkNyZWF0ZUxhYmVsIHRjQ2VsbFZpZXcgbGFiZWxMYXllciAKCQkgICAgbGlzdCgoY2FhcihiQm94KSArICgoY2FhZHIoYkJveCkgLSBjYWFyKGJCb3gpKSAvIDIuMCkpIAoJCQkoY2FkYXIoYkJveCkgKyAoKGNhZGFkcihiQm94KSAtIGNhZGFyKGJCb3gpKSAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgIHdoZW4oKHdlbGxMYXllciB8fCBpZExheWVyIHx8IGh2TGF5ZXIpIAoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kIGRpZmZMYXllckJib3ggcHJvcGVydHkgZm9yIGAlcyciIGZpcnN0Q29udGFjdCkpCgkJKSAKCQkoeDFEaWZmQ29vcmQgPSBjYWFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJCSh4MVRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkJYWJzKGNhYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJKHkyRGlmZkNvb3JkID0gY2FkYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkKCQkoeTJUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJCWFicyhjYWRhZHIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSAgICApKSAKCQkoeTFEaWZmQ29vcmQgPSBjYWRhcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJCSh5MVRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkJYWJzKGNhZGFyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJd2hlbih3ZWxsTGF5ZXIgCgkJICAgICh4MVdlbGxDb29yZCA9ICgtIChvZmZzZXQgKyBtYXgoKHdlbGxFbmNEaWZmWCArIHgxRGlmZkNvb3JkKSAKCQkJCSAgICAod2VsbEVuY1RhcFggKyB4MVRhcENvb3JkKQoJCQkJKSkpKSAKCQkgICAgKHkxV2VsbENvb3JkID0gKC0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MURpZmZDb29yZCkgCgkJCQkod2VsbEVuY1RhcFkgKyB5MVRhcENvb3JkKQoJCQkgICAgKSkpIAoJCSAgICAoeTJXZWxsQ29vcmQgPSBtYXgoKHdlbGxFbmNEaWZmWSArIHkyRGlmZkNvb3JkKSAKCQkJICAgICh3ZWxsRW5jVGFwWSArIHkyVGFwQ29vcmQpCgkJCSkpCgkJKSAKCQl3aGVuKGh2TGF5ZXIgCgkJICAgICh4MUhWTGF5ZXJDb29yZCA9ICgtIChvZmZzZXQgKyBtYXgoKGh2RW5jbG9zdXJlICsgeDFEaWZmQ29vcmQpIAoJCQkJICAgIChodkVuY2xvc3VyZSArIHgxVGFwQ29vcmQpCgkJCQkpKSkpIAoJCSAgICAoeTFIVkxheWVyQ29vcmQgPSAoLSBtYXgoKGh2RW5jbG9zdXJlICsgeTFEaWZmQ29vcmQpIAoJCQkJKGh2RW5jbG9zdXJlICsgeTFUYXBDb29yZCkKCQkJICAgICkpKSAKCQkgICAgKHkySFZMYXllckNvb3JkID0gbWF4KChodkVuY2xvc3VyZSArIHkyRGlmZkNvb3JkKSAKCQkJICAgIChodkVuY2xvc3VyZSArIHkyVGFwQ29vcmQpCgkJCSkpCgkJKQoJCXdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJCSAgICBpZihpZEVuY0RpZmYgdGhlbiAKCQkJKHgxSWRDb29yZCA9ICgtIChvZmZzZXQgKyBtYXgoKGlkRW5jWEwgKyB4MURpZmZDb29yZCkgCgkJCQkJKGlkRW5jWEwgKyB4MVRhcENvb3JkKQoJCQkJICAgICkpKSkgCgkJCSh5MUlkQ29vcmQgPSAoLSBtYXgoKGlkRW5jWSArIHkxRGlmZkNvb3JkKSAKCQkJCSAgICAoaWRFbmNZICsgeTFUYXBDb29yZCkKCQkJCSkpKSAKCQkJKHkySWRDb29yZCA9IG1heCgoaWRFbmNZICsgeTJEaWZmQ29vcmQpIAoJCQkJKGlkRW5jWSArIHkyVGFwQ29vcmQpCgkJCSAgICApKQoJCQllbHNlIAoJCQkoeDFJZENvb3JkID0gKC0gKG9mZnNldCArIGlkRW5jWEwpKSkgCgkJCSh5MUlkQ29vcmQgPSAoLSBpZEVuY1kpKSAKCQkJKHkySWRDb29yZCA9IGlkRW5jWSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIChkYkNsb3NlIGNvbnRhY3RJZCkKCSkgCgkoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJbGlzdCgoKHgxQ29vcmQgLSBkaWZmRXh0KTp5MUNvb3JkKSAKCQkgICAgKHgxQ29vcmQ6dykKCQkpCgkgICAgKSkgCgkocGluaWQgPSAoZGJDcmVhdGVQaW4gY05ldCBkYmlkKSkgCglzZXRTR3EocGluaWQgCgkgICAgbGlzdCgidG9wIiAiYm90dG9tIiAibGVmdCIpIGFjY2Vzc0RpcgoJKSAKCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCSAgICApIAoJCSAgICBsaXN0KHgxQ29vcmQgCgkJCSh3ICsgZGlmZkltcEVuYykKCQkgICAgKQoJCSkKCSAgICApCgkpCgl3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkgICAgKSAKCQkgICAgbGlzdCh4MUNvb3JkIAoJCQkodyArIGRpZmZDb3JlSW1wRW5jKQoJCSAgICApCgkJKQoJICAgICkKCSkgCgl3aGVuKChmaXJzdENvbnRhY3QgPT0gIiIpIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKC0gKHgxQ29vcmQgKyAoZGlmZkV4dCAvIDIuMCkpKSAKCQkJKHkxQ29vcmQgKyAodyAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgIHdoZW4od2VsbExheWVyIAoJCSh4MVdlbGxDb29yZCA9ICgtICh4MUNvb3JkICsgZGlmZkV4dCArIHdlbGxFbmNEaWZmWCkpKSAKCQkoeTFXZWxsQ29vcmQgPSAoLSAoeTFDb29yZCArIHdlbGxFbmNEaWZmWSkpKSAKCQkoeTJXZWxsQ29vcmQgPSAoeTFDb29yZCArIHcgKyB3ZWxsRW5jRGlmZlkpKQoJICAgICkgCgkgICAgd2hlbihodkxheWVyIAoJCSh4MUhWTGF5ZXJDb29yZCA9ICgtICh4MUNvb3JkICsgZGlmZkV4dCArIGh2RW5jbG9zdXJlKSkpIAoJCSh5MUhWTGF5ZXJDb29yZCA9ICgtICh5MUNvb3JkICsgaHZFbmNsb3N1cmUpKSkgCgkJKHkySFZMYXllckNvb3JkID0gKHkxQ29vcmQgKyB3ICsgaHZFbmNsb3N1cmUpKQoJICAgICkgCgkgICAgd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJaWYoaWRFbmNEaWZmIHRoZW4gCgkJICAgICh4MUlkQ29vcmQgPSAoLSAoeDFDb29yZCArIGRpZmZFeHQgKyBpZEVuY1hMKSkpIAoJCSAgICAoeTFJZENvb3JkID0gKC0gKHkxQ29vcmQgKyBpZEVuY1kpKSkgCgkJICAgICh5MklkQ29vcmQgPSAoeTFDb29yZCArIHcgKyBpZEVuY1kpKQoJCSAgICBlbHNlIAoJCSAgICAoeDFJZENvb3JkID0gKC0gaWRFbmNYTCkpIAoJCSAgICAoeTFJZENvb3JkID0gKC0gaWRFbmNZKSkgCgkJICAgICh5MklkQ29vcmQgPSAoeTFDb29yZCArIHcgKyBpZEVuY1kpKQoJCSkKCSAgICApCgkgICAgd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCAmJiBub0VuZENvbkltcEVuYykgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0IC0gZGlmZkltcEVuYykgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSkgCgkJCWxpc3QoeDFDb29yZCAKCQkJICAgICh3ICsgZGlmZkltcEVuYykKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQgJiYgbm9FbmRDb25JbXBFbmMpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIGRpZmZFeHQgLSBkaWZmQ29yZUltcEVuYykgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkpIAoJCQlsaXN0KHgxQ29vcmQgCgkJCSAgICAodyArIGRpZmZDb3JlSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKQoJKSAKCXdoZW4oKG0gPiAxKSAKCSAgICB3aGVuKChzaGFyZWRTb3VyY2UgPT0gIiIpIAoJCWVycm9yKCJNaXNzaW5nIHNoYXJlZCBzb3VyY2UgY29udGFjdCBuYW1lIHByb3BlcnR5IikKCSAgICApIAoJICAgIChzaGFyZWRTcmNJZCA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgc2hhcmVkU291cmNlICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKSAKCSAgICB1bmxlc3Moc2hhcmVkU3JjSWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gc2hhcmVkIHNvdXJjZSBjb250YWN0IGNlbGwgYCVzJyIgc2hhcmVkU291cmNlKSkKCSAgICApIAoJICAgIHVubGVzcygoc2hhcmVkU3JjSWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBzaGFyZWRTb3VyY2UpKQoJICAgICkKCSAgICB3aGVuKChzaGFyZWREcmFpbiA9PSAiIikgCgkJZXJyb3IoIk1pc3Npbmcgc2hhcmVkIGRyYWluIGNvbnRhY3QgbmFtZSBwcm9wZXJ0eSIpCgkgICAgKSAKCSAgICAoc2hhcmVkRHJuSWQgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIHNoYXJlZERyYWluICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKSAKCSAgICB1bmxlc3Moc2hhcmVkRHJuSWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gc2hhcmVkIGRyYWluIGNvbnRhY3QgY2VsbCBgJXMnIiBzaGFyZWREcmFpbikpCgkgICAgKSAKCSAgICB1bmxlc3MoKHNoYXJlZERybklkfj5pc1BhcmFtQ2VsbCkgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIk5hbWVkIGNlbGwgaXMgbm90IGEgcGNlbGwgYCVzJyIgc2hhcmVkRHJhaW4pKQoJICAgICkKCSkgCgkoY05ldCA9IGlmKChjTmV0ID09IHNOZXQpIGROZXQgc05ldCkpIAoJKG5ldEwgPSBpZigobmV0TCA9PSAiUyIpICJEIiAiUyIpKQoJZm9yKG4gMSBtIAoJICAgIChkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGdhdGVMYXllciAKCQkgICAgbGlzdCgoeDFDb29yZDooeTFDb29yZCAtIGdhdGVFeHQpKSAKCQkJKCh4MUNvb3JkICsgbCk6KHkxQ29vcmQgKyB3ICsgZ2F0ZUV4dCkpCgkJICAgICkKCQkpKSAKCSAgICAoZGJBZGRGaWdUb05ldCBkYmlkIGdOZXQpCgkgICAgKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZ2F0ZUxheWVyIAoJCSAgICBsaXN0KCh4MUNvb3JkOih5MUNvb3JkICsgdykpIAoJCQkoKHgxQ29vcmQgKyBsKTooeTFDb29yZCArIHcgKyBnYXRlRXh0KSkKCQkgICAgKQoJCSkpIAoJICAgIChwaW5pZCA9IChkYkNyZWF0ZVBpbiBnTmV0IGRiaWQpKSAKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgidG9wIikgYWNjZXNzRGlyCgkgICAgKSAKCSAgICAoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBnYXRlTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQ6KHkxQ29vcmQgLSBnYXRlRXh0KSkgCgkJCSgoeDFDb29yZCArIGwpOnkxQ29vcmQpCgkJICAgICkKCQkpKSAKCSAgICAocGluaWQgPSAoZGJDcmVhdGVQaW4gZ05ldCBkYmlkKSkKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgiYm90dG9tIikgYWNjZXNzRGlyCgkgICAgKSAKCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCWxpc3QoKHgxQ29vcmQ6eTFDb29yZCkgCgkJICAgICgoeDFDb29yZCArIGwpOih5MUNvb3JkICsgdykpCgkJKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoeDFDb29yZCAKCQkJICAgICh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJKSAKCQkJbGlzdCgoeDFDb29yZCArIGwpIAoJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJICAgIGxpc3QobGlzdCh4MUNvb3JkIAoJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJKSAKCQkJbGlzdCgoeDFDb29yZCArIGwpIAoJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIHdoZW4oZGVwTGF5ZXIgCgkJY29uZCgoKCh4MUNvb3JkIC0gbGFzdFgxQ29vcmQgLSAoMi4wICogZGVwWEVuYykpIDwgZGVwU3BhY2UpIAoJCQkoeDFEZXBDb29yZCA9IChsYXN0WDFDb29yZCArIGRlcFhFbmMpKQoJCSAgICApIAoJCSAgICAodCAKCQkJKHgxRGVwQ29vcmQgPSAoeDFDb29yZCAtIGRlcFhFbmMpKQoJCSAgICApCgkJKSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGVwTGF5ZXIgCgkJICAgIGxpc3QoKHgxRGVwQ29vcmQ6eTFEZXBDb29yZCkgCgkJCSgoeDFDb29yZCArIGwgKyBkZXBYRW5jKTp5MkRlcENvb3JkKQoJCSAgICApCgkJKQoJICAgICkKCSAgICB3aGVuKChwb2x5SW1wbGFudCAmJiBpbXBsYW50KSAKCQkoeDFQWWlDb29yZCA9ICh4MUNvb3JkIC0gcG9seUltcFhFbmMpKSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgcG9seUltcGxhbnQgCgkJICAgIGxpc3QoKHgxUFlpQ29vcmQ6eTFQWWlDb29yZCkgCgkJCSgoeDFDb29yZCArIGwgKyBwb2x5SW1wWEVuYyk6eTJQWWlDb29yZCkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgICh4MUNvb3JkID0gKHgxQ29vcmQgKyBsKSkgCgkgICAgd2hlbigobiAhPSBtKSAKCQlpZigoY05ldCA9PSBzTmV0KSB0aGVuIAoJCSAgICAoY29udGFjdElkID0gc2hhcmVkU3JjSWQpIAoJCSAgICAob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgc3JjT2Zmc2V0KSkgZWxzZQoJCSAgICAoY29udGFjdElkID0gc2hhcmVkRHJuSWQpIAoJCSAgICAob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgZHJuT2Zmc2V0KSkKCQkpIAoJCShwYXJhbXMgPSAoY29udGFjdElkfj5wYXJhbWV0ZXJzKSkgCgkJKGluc3RQYXJhbXMgPSBsaXN0KGxpc3QoInciICJmbG9hdCIgdykpKSAKCQl3aGVuKChwYXJhbXN+PmltcGxhbnQpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdEltcFBhcmFtKSkKCQkpCgkJd2hlbigocGFyYW1zfj5pZENob2ljZSkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBpZEVuY1BhcmFtKSkKCQkpIAoJCXdoZW4oKHBhcmFtc34+aW5XZWxsKSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RXZWxsUGFyYW0pKQoJCSkgCgkJd2hlbigoZGlmZkltcENob2ljZXMgJiYgKHBhcmFtc34+ZGlmZkltcENob2ljZSkpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgZGlmZkltcENob2ljZVBhcmFtKSkKCQkpIAoJCXdoZW4oKHRhcEltcENob2ljZXMgJiYgKHBhcmFtc34+dGFwSW1wQ2hvaWNlKSkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyB0YXBJbXBDaG9pY2VQYXJhbSkpCgkJKSAKCQl3aGVuKChjb250YWN0Q2hvaWNlcyAmJiAocGFyYW1zfj5ub0RpZmZDb250YWN0KSkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBkaWZmQ29uUGFyYW0pKQoJCSkKCQkoaW5zdCA9IChkYkNyZWF0ZVBhcmFtSW5zdCB0Y0NlbGxWaWV3IGNvbnRhY3RJZCAKCQkJc3ByaW50ZihuaWwgImMlZCIgbikgCgkJCSgob2Zmc2V0ICsgeDFDb29yZCk6eTFDb29yZCkKCQkJIlIwIiAxIGluc3RQYXJhbXMKCQkgICAgKSkgCgkJdW5sZXNzKGluc3QgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJGYWlsZWQgdG8gY3JlYXRlIGluc3RhbmNlIG9mIGAlcyciIAoJCQkgICAgKGNvbnRhY3RJZH4+Y2VsbE5hbWUpCgkJCSkKCQkgICAgKQoJCSkgCgkJKG1hc3RlciA9IChpbnN0fj5tYXN0ZXIpKSAKCQl1bmxlc3MoKChtYXN0ZXJ+PnRvcExheWVyKSAmJiAobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIk1pc3NpbmcgdG9wTGF5ZXIgYW5kL29yIHRvcExheWVyUGluQmJveCBjZWxsIHByb3BlcnRpZXMgaW4gYCVzJyIgCgkJCSAgICAoY29udGFjdElkfj5jZWxsTmFtZSkKCQkJKQoJCSAgICApCgkJKSAKCQkoYkJveCA9IGxpc3QobGlzdCgoY2FhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQkgICAgY2FkYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkJKSAKCQkJbGlzdCgoY2FhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgKyB4MUNvb3JkICsgb2Zmc2V0KSAKCQkJICAgIGNhZGFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCQkpCgkJICAgICkpCgkJKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgCgkJCShtYXN0ZXJ+PnRvcExheWVyKSBiQm94CgkJICAgICkpIAoJCShwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKSAKCQlzZXRTR3EocGluaWQgCgkJICAgIGxpc3QoInRvcCIgImJvdHRvbSIpIGFjY2Vzc0RpcgoJCSkgCgkJd2hlbihsYWJlbExheWVyIAoJCSAgICAoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJCWxpc3QoKGNhYXIoYkJveCkgKyAoKGNhYWRyKGJCb3gpIC0gY2FhcihiQm94KSkgLyAyLjApKSAKCQkJICAgIChjYWRhcihiQm94KSArICgoY2FkYWRyKGJCb3gpIC0gY2FkYXIoYkJveCkpIC8gMi4wKSkKCQkJKSBuZXRMCgkJCSJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJICAgICkKCQkpIAoJCXdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQkJbGlzdCgoeDFDb29yZDp5MUNvb3JkKSAKCQkJICAgICgob2Zmc2V0ICsgeDFDb29yZCk6KHkxQ29vcmQgKyB3KSkKCQkJKQoJCSAgICApIAoJCSAgICB3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQkgICAgbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCQkJKSAKCQkJCWxpc3QoKG9mZnNldCArIHgxQ29vcmQpIAoJCQkJICAgICh5MUNvb3JkICsgdyArIGRpZmZJbXBFbmMpCgkJCQkpCgkJCSAgICApCgkJCSkKCQkgICAgKSAKCQkgICAgd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQkgICAgbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJCSkgCgkJCQlsaXN0KChvZmZzZXQgKyB4MUNvb3JkKSAKCQkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJCSkKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKQoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIk1pc3NpbmcgZGlmZkxheWVyQmJveCBjZWxsIHByb3BlcnRpZXMgaW4gYCVzJyIgCgkJCSAgICAoY29udGFjdElkfj5jZWxsTmFtZSkKCQkJKQoJCSAgICApCgkJKSAKCQkobGFzdFgxQ29vcmQgPSB4MUNvb3JkKSAKCQkoeDFDb29yZCA9ICgoMi4wICogb2Zmc2V0KSArICh4MUNvb3JkICsgKGNhYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSAtIGNhYXIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKSkpKSAKCQl3aGVuKChvZmZzZXQgPiAxZS0wNikgCgkJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJCWxpc3QoKCh4MUNvb3JkIC0gb2Zmc2V0KTp5MUNvb3JkKSAKCQkJICAgICh4MUNvb3JkOih5MUNvb3JkICsgdykpCgkJCSkKCQkgICAgKSAKCQkgICAgd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCQkJKSAKCQkJCWxpc3QoeDFDb29yZCAKCQkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkJKQoJCQkgICAgKQoJCQkpCgkJICAgICkgCgkJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJCSkgCgkJCQlsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCQkpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkgCgkJKHkxRGlmZkNvb3JkID0gY2FkYXIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKQoJCSh5MVRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkJYWJzKGNhZGFyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJKHkyRGlmZkNvb3JkID0gY2FkYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkJKHkyVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FkYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJd2hlbih3ZWxsTGF5ZXIgCgkJICAgICh5MVdlbGxDb29yZCA9IG1pbigoLSBtYXgoKHdlbGxFbmNEaWZmWSArIHkxRGlmZkNvb3JkKSAKCQkJCSAgICAod2VsbEVuY1RhcFkgKyB5MVRhcENvb3JkKQoJCQkJKSkgeTFXZWxsQ29vcmQKCQkJKSkgCgkJICAgICh5MldlbGxDb29yZCA9IG1heCgod2VsbEVuY0RpZmZZICsgeTJEaWZmQ29vcmQpIAoJCQkgICAgKHdlbGxFbmNUYXBZICsgeTJUYXBDb29yZCkgeTJXZWxsQ29vcmQKCQkJKSkKCQkpIAoJCXdoZW4oaHZMYXllciAKCQkgICAgKHkxSFZMYXllckNvb3JkID0gbWluKCgtIG1heCgoaHZFbmNsb3N1cmUgKyB5MURpZmZDb29yZCkgCgkJCQkgICAgKGh2RW5jbG9zdXJlICsgeTFIVkxheWVyQ29vcmQpCgkJCQkpKSB5MUhWTGF5ZXJDb29yZAoJCQkpKSAKCQkgICAgKHkySFZMYXllckNvb3JkID0gbWF4KChodkVuY2xvc3VyZSArIHkyRGlmZkNvb3JkKSAKCQkJICAgIChodkVuY2xvc3VyZSArIHkyVGFwQ29vcmQpIHkySFZMYXllckNvb3JkCgkJCSkpCgkJKQoJCXdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJCSAgICBpZihpZEVuY0RpZmYgdGhlbiAKCQkJKHkxSWRDb29yZCA9IG1pbigoLSBtYXgoKGlkRW5jWSArIHkxRGlmZkNvb3JkKSAKCQkJCQkoaWRFbmNZICsgeTFUYXBDb29yZCkKCQkJCSAgICApKSB5MUlkQ29vcmQKCQkJICAgICkpIAoJCQkoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgCgkJCQkoaWRFbmNZICsgeTJUYXBDb29yZCkgeTJJZENvb3JkCgkJCSAgICApKSBlbHNlCgkJCSh5MUlkQ29vcmQgPSAoLSBpZEVuY1kpKSAKCQkJKHkySWRDb29yZCA9IGlkRW5jWSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIChjTmV0ID0gaWYoKGNOZXQgPT0gc05ldCkgZE5ldCBzTmV0KSkgCgkgICAgKG5ldEwgPSBpZigobmV0TCA9PSAiUyIpICJEIiAiUyIpKQoJKSAKCXdoZW4oKG0gIT0gMSkgCgkgICAgKGRiQ2xvc2Ugc2hhcmVkU3JjSWQpIAoJICAgIChkYkNsb3NlIHNoYXJlZERybklkKQoJKSAKCShjTmV0ID0gaWYoKGNOZXQgPT0gc05ldCkgZE5ldCBzTmV0KSkgCgkobmV0TCA9IGlmKChuZXRMID09ICJTIikgIkQiICJTIikpIAoJd2hlbigobGFzdENvbnRhY3QgIT0gIiIpIAoJICAgIChjb250YWN0SWQgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIGxhc3RDb250YWN0ICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKSAKCSAgICB1bmxlc3MoY29udGFjdElkIAoJCWVycm9yKHNwcmludGYobmlsICJDYW5ub3QgZmluZC9vcGVuIGxhc3RDb250YWN0IGNvbnRhY3QgY2VsbCBgJXMnIiBsYXN0Q29udGFjdCkpCgkgICAgKSAKCSAgICB1bmxlc3MoKGNvbnRhY3RJZH4+aXNQYXJhbUNlbGwpIAoJCWVycm9yKHNwcmludGYobmlsICJOYW1lZCBjZWxsIGlzIG5vdCBhIHBjZWxsIGAlcyciIGxhc3RDb250YWN0KSkKCSAgICApIAoJICAgIGlmKChjTmV0ID09IHNOZXQpIHRoZW4gCgkJKG9mZnNldCA9IChtaW5TcGFjZU9mZlNldCArIHNyY09mZnNldCkpIGVsc2UgCgkJKG9mZnNldCA9IChtaW5TcGFjZU9mZlNldCArIGRybk9mZnNldCkpCgkgICAgKQoJICAgIChwYXJhbXMgPSAoY29udGFjdElkfj5wYXJhbWV0ZXJzKSkgCgkgICAgKGluc3RQYXJhbXMgPSBsaXN0KGxpc3QoInciICJmbG9hdCIgdykpKSAKCSAgICB3aGVuKChwYXJhbXN+PmltcGxhbnQpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBjb250YWN0SW1wUGFyYW0pKQoJICAgICkgCgkgICAgd2hlbigocGFyYW1zfj5pZENob2ljZSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGlkRW5jUGFyYW0pKQoJICAgICkgCgkgICAgd2hlbigocGFyYW1zfj5pbldlbGwpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBjb250YWN0V2VsbFBhcmFtKSkKCSAgICApCgkgICAgd2hlbigoZGlmZkltcENob2ljZXMgJiYgKHBhcmFtc34+ZGlmZkltcENob2ljZSkpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBkaWZmSW1wQ2hvaWNlUGFyYW0pKQoJICAgICkgCgkgICAgd2hlbigodGFwSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj50YXBJbXBDaG9pY2UpKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgdGFwSW1wQ2hvaWNlUGFyYW0pKQoJICAgICkgCgkgICAgd2hlbigoY29udGFjdENob2ljZXMgJiYgKHBhcmFtc34+bm9EaWZmQ29udGFjdCkpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBkaWZmQ29uUGFyYW0pKQoJICAgICkgCgkgICAgKGluc3QgPSAoZGJDcmVhdGVQYXJhbUluc3QgdGNDZWxsVmlldyBjb250YWN0SWQgCgkJICAgIHNwcmludGYobmlsICJjJWQiIG0pIAoJCSAgICAoKG9mZnNldCArIHgxQ29vcmQpOnkxQ29vcmQpCgkJICAgICJSMCIgMSBpbnN0UGFyYW1zCgkJKSkgCgkgICAgdW5sZXNzKGluc3QgCgkJZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgaW5zdGFuY2Ugb2YgZmlyc3Qgc291cmNlIGNvbnRhY3QiKQoJICAgICkKCSAgICB3aGVuKChvZmZzZXQgPiAxZS0wNikgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQkgICAgbGlzdCgoeDFDb29yZDp5MUNvb3JkKSAKCQkJKChvZmZzZXQgKyB4MUNvb3JkKTooeTFDb29yZCArIHcpKQoJCSAgICApCgkJKSAKCQl3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJCSh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJICAgICkgCgkJCSAgICBsaXN0KChvZmZzZXQgKyB4MUNvb3JkKSAKCQkJCSh5MUNvb3JkICsgdyArIGRpZmZJbXBFbmMpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkgCgkJd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQlsaXN0KGxpc3QoeDFDb29yZCAKCQkJCSh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCgob2Zmc2V0ICsgeDFDb29yZCkgCgkJCQkoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJICAgICkKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgKG1hc3RlciA9IChpbnN0fj5tYXN0ZXIpKSAKCSAgICB1bmxlc3MoKChtYXN0ZXJ+PnRvcExheWVyKSAmJiAobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTWlzc2luZyB0b3BMYXllciBhbmQvb3IgdG9wTGF5ZXJQaW5CYm94IGNlbGwgcHJvcGVydGllcyBpbiBgJXMnIiBsYXN0Q29udGFjdCkpCgkgICAgKSAKCSAgICAoYkJveCA9IGxpc3QobGlzdCgoY2FhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQljYWRhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCSAgICApIAoJCSAgICBsaXN0KChjYWFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQljYWRhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkgICAgKQoJCSkpIAoJICAgIChkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IAoJCSAgICAobWFzdGVyfj50b3BMYXllcikgYkJveAoJCSkpCgkgICAgKHBpbmlkID0gKGRiQ3JlYXRlUGluIGNOZXQgZGJpZCkpIAoJICAgIHNldFNHcShwaW5pZCAKCQlsaXN0KCJ0b3AiICJib3R0b20iICJyaWdodCIpIGFjY2Vzc0RpcgoJICAgICkgCgkgICAgd2hlbihsYWJlbExheWVyIAoJCShkYkNyZWF0ZUxhYmVsIHRjQ2VsbFZpZXcgbGFiZWxMYXllciAKCQkgICAgbGlzdCgoY2FhcihiQm94KSArICgoY2FhZHIoYkJveCkgLSBjYWFyKGJCb3gpKSAvIDIuMCkpIAoJCQkoY2FkYXIoYkJveCkgKyAoKGNhZGFkcihiQm94KSAtIGNhZGFyKGJCb3gpKSAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgICh5MURpZmZDb29yZCA9IGNhZGFyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkgICAgKHkxVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCSAgICBhYnMoY2FkYXIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSkpCgkgICAgKHkyRGlmZkNvb3JkID0gY2FkYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkgICAgKHkyVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCSAgICBhYnMoY2FkYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkpKSAKCSAgICAoeDJEaWZmQ29vcmQgPSBjYWFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJICAgICh4MlRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkgICAgYWJzKGNhYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkpKSAKCSAgICB3aGVuKHdlbGxMYXllciAKCQl1bmxlc3MoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJDYW5ub3QgZmluZCBkaWZmTGF5ZXJCYm94IHByb3BlcnR5IGZvciBgJXMnIiBsYXN0Q29udGFjdCkpCgkJKSAKCQkoeTFXZWxsQ29vcmQgPSBtaW4oKC0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MURpZmZDb29yZCkgCgkJCQkod2VsbEVuY1RhcFkgKyB5MVRhcENvb3JkKQoJCQkgICAgKSkgeTFXZWxsQ29vcmQKCQkgICAgKSkgCgkJKHkyV2VsbENvb3JkID0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MkRpZmZDb29yZCkgCgkJCSh3ZWxsRW5jVGFwWSArIHkyVGFwQ29vcmQpIHkyV2VsbENvb3JkCgkJICAgICkpIAoJCSh4MldlbGxDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgbWF4KCh3ZWxsRW5jRGlmZlggKyB4MkRpZmZDb29yZCkgCgkJCSAgICAod2VsbEVuY1RhcFggKyB4MlRhcENvb3JkKQoJCQkpKSkKCSAgICApCgkgICAgd2hlbihodkxheWVyIAoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kIGRpZmZMYXllckJib3ggcHJvcGVydHkgZm9yIGAlcyciIGxhc3RDb250YWN0KSkKCQkpIAoJCSh5MUhWTGF5ZXJDb29yZCA9IG1pbigoLSBtYXgoKGh2RW5jbG9zdXJlICsgeTFEaWZmQ29vcmQpIAoJCQkJKGh2RW5jbG9zdXJlICsgeTFUYXBDb29yZCkKCQkJICAgICkpIHkxSFZMYXllckNvb3JkCgkJICAgICkpIAoJCSh5MkhWTGF5ZXJDb29yZCA9IG1heCgoaHZFbmNsb3N1cmUgKyB5MkRpZmZDb29yZCkgCgkJCShodkVuY2xvc3VyZSArIHkyVGFwQ29vcmQpIHkySFZMYXllckNvb3JkCgkJICAgICkpIAoJCSh4MkhWTGF5ZXJDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgbWF4KChodkVuY2xvc3VyZSArIHgyRGlmZkNvb3JkKSAKCQkJICAgIChodkVuY2xvc3VyZSArIHgyVGFwQ29vcmQpCgkJCSkpKQoJICAgICkgCgkgICAgd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJdW5sZXNzKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpIAoJCSAgICBlcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQgZGlmZkxheWVyQmJveCBwcm9wZXJ0eSBmb3IgYCVzJyIgbGFzdENvbnRhY3QpKQoJCSkgCgkJaWYoaWRFbmNEaWZmIHRoZW4gCgkJICAgICh5MUlkQ29vcmQgPSBtaW4oKC0gbWF4KChpZEVuY1kgKyB5MURpZmZDb29yZCkgCgkJCQkgICAgKGlkRW5jWSArIHkxVGFwQ29vcmQpCgkJCQkpKSB5MUlkQ29vcmQKCQkJKSkgCgkJICAgICh5MklkQ29vcmQgPSBtYXgoKGlkRW5jWSArIHkyRGlmZkNvb3JkKSAKCQkJICAgIChpZEVuY1kgKyB5MlRhcENvb3JkKSB5MklkQ29vcmQKCQkJKSkgCgkJICAgICh4MklkQ29vcmQgPSAob2Zmc2V0ICsgeDFDb29yZCArIG1heCgoaWRFbmNYUiArIHgyRGlmZkNvb3JkKSAKCQkJCShpZEVuY1hSICsgeDJUYXBDb29yZCkKCQkJICAgICkpKQoJCSAgICBlbHNlIAoJCSAgICAoeTFJZENvb3JkID0gKCgtIGlkRW5jWSkgKyB5MURpZmZDb29yZCkpIAoJCSAgICAoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgeTJUYXBDb29yZCB5MklkQ29vcmQpKSAKCQkgICAgKHgySWRDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgaWRFbmNYUikpCgkJKQoJICAgICkgCgkgICAgKGRiQ2xvc2UgY29udGFjdElkKQoJKQoJKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCWxpc3QoKHgxQ29vcmQ6eTFDb29yZCkgCgkJICAgICgoeDFDb29yZCArIGRpZmZFeHQpOih5MUNvb3JkICsgdykpCgkJKQoJICAgICkpIAoJKHBpbmlkID0gKGRiQ3JlYXRlUGluIGNOZXQgZGJpZCkpIAoJc2V0U0dxKHBpbmlkIAoJICAgIGxpc3QoInRvcCIgImJvdHRvbSIgInJpZ2h0IikgYWNjZXNzRGlyCgkpIAoJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCWxpc3QobGlzdCh4MUNvb3JkIAoJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJICAgICkgCgkJICAgIGxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkgICAgKQoJCSkKCSAgICApCgkpIAoJd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJbGlzdChsaXN0KHgxQ29vcmQgCgkJCSh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJICAgICkgCgkJICAgIGxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJICAgICkKCQkpCgkgICAgKQoJKQoJd2hlbigobGFzdENvbnRhY3QgPT0gIiIpIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQgKyAoZGlmZkV4dCAvIDIuMCkpIAoJCQkoeTFDb29yZCArICh3IC8gMi4wKSkKCQkgICAgKSBuZXRMCgkJICAgICJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJKQoJICAgICkgCgkgICAgd2hlbih3ZWxsTGF5ZXIgCgkJKHgyV2VsbENvb3JkID0gKHgxQ29vcmQgKyBkaWZmRXh0ICsgd2VsbEVuY0RpZmZYKSkgCgkJKHkyV2VsbENvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIHdlbGxFbmNEaWZmWSkgeTJXZWxsQ29vcmQpKQoJICAgICkgCgkgICAgd2hlbihodkxheWVyIAoJCSh4MkhWTGF5ZXJDb29yZCA9ICh4MUNvb3JkICsgZGlmZkV4dCArIGh2RW5jbG9zdXJlKSkgCgkJKHkySFZMYXllckNvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIGh2RW5jbG9zdXJlKSB5MkhWTGF5ZXJDb29yZCkpCgkgICAgKSAKCSAgICB3aGVuKCgoaWRMYXllciAmJiBpZENob2ljZSkgfHwgZHJhd0lEYnlEZWZhdWx0KSAKCQlpZihpZEVuY0RpZmYgdGhlbiAKCQkgICAgKHgySWRDb29yZCA9ICh4MUNvb3JkICsgZGlmZkV4dCArIGlkRW5jWFIpKSAKCQkgICAgKHkySWRDb29yZCA9IG1heCgoeTFDb29yZCArIHcgKyBpZEVuY1kpIHkySWRDb29yZCkpIGVsc2UKCQkgICAgKHgySWRDb29yZCA9ICh4MUNvb3JkICsgaWRFbmNYUikpIAoJCSAgICAoeTJJZENvb3JkID0gbWF4KCh5MUNvb3JkICsgdyArIGlkRW5jWSkgeTJJZENvb3JkKSkKCQkpCgkgICAgKQoJICAgIHdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQgJiYgbm9FbmRDb25JbXBFbmMpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkgICAgbGlzdChsaXN0KCh4MUNvb3JkICsgZGlmZkV4dCkgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSkgCgkJCWxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0ICsgZGlmZkltcEVuYykgCgkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKSAKCSAgICB3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCAmJiBub0VuZENvbkltcEVuYykgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkgICAgbGlzdChsaXN0KCh4MUNvb3JkICsgZGlmZkV4dCkgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkpIAoJCQlsaXN0KCh4MUNvb3JkICsgZGlmZkV4dCArIGRpZmZDb3JlSW1wRW5jKSAKCQkJICAgICh5MUNvb3JkICsgdyArIGRpZmZDb3JlSW1wRW5jKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKQoJKSAKCXdoZW4od2VsbExheWVyIAoJICAgICh3ZWxsTGF5ZXJfWG9yaWdpbiA9IHgxV2VsbENvb3JkKSAKCSAgICAod2VsbExheWVyX1lvcmlnaW4gPSAoeTFXZWxsQ29vcmQgKyAoLSB3ZWxsRW5jWURpZmYpKSkgCgkgICAgKHdlbGxMYXllcl9YZW5kID0geDJXZWxsQ29vcmQpIAoJICAgICh3ZWxsTGF5ZXJfWWVuZCA9ICh5MldlbGxDb29yZCArIHdlbGxFbmNZRGlmZikpCgkgICAgd2hlbigoKHdlbGxMYXllcl9YZW5kIC0gd2VsbExheWVyX1hvcmlnaW4pIDwgd2VsbG1pbldpZHRoKSAKCQkoRGlmZl93ZWxsX3dpZHRoID0gKHdlbGxtaW5XaWR0aCAtICh3ZWxsTGF5ZXJfWGVuZCAtIHdlbGxMYXllcl9Yb3JpZ2luKSkpIAoJCSh4MldlbGxDb29yZCA9ICh4MldlbGxDb29yZCArIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpIAoJCSh4MVdlbGxDb29yZCA9ICh4MVdlbGxDb29yZCAtIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpCgkgICAgKSAKCSAgICB3aGVuKCgod2VsbExheWVyX1llbmQgLSB3ZWxsTGF5ZXJfWW9yaWdpbikgPCB3ZWxsbWluV2lkdGgpIAoJCShEaWZmX3dlbGxfd2lkdGggPSAod2VsbG1pbldpZHRoIC0gKHdlbGxMYXllcl9ZZW5kIC0gd2VsbExheWVyX1lvcmlnaW4pKSkgCgkJKHkxV2VsbENvb3JkID0gKHkxV2VsbENvb3JkIC0gKERpZmZfd2VsbF93aWR0aCAvIDIpKSkgCgkJKHkyV2VsbENvb3JkID0gKHkyV2VsbENvb3JkICsgKERpZmZfd2VsbF93aWR0aCAvIDIpKSkKCSAgICApIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyB3ZWxsTGF5ZXIgCgkJbGlzdCgoeDFXZWxsQ29vcmQ6KHkxV2VsbENvb3JkICsgKC0gd2VsbEVuY1lEaWZmKSkpIAoJCSAgICAoeDJXZWxsQ29vcmQ6KHkyV2VsbENvb3JkICsgd2VsbEVuY1lEaWZmKSkKCQkpCgkgICAgKQoJKSAKCXdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBpZExheWVyIAoJCWxpc3QobGlzdCh4MUlkQ29vcmQgeTFJZENvb3JkKSAKCQkgICAgbGlzdCh4MklkQ29vcmQgeTJJZENvb3JkKQoJCSkKCSAgICApCgkpIAoJd2hlbihodkxheWVyIAoJICAgIHdoZW4od2VsbExheWVyIAoJCShzaWduWDEgPSAoeDFXZWxsQ29vcmQgLyBhYnMoeDFXZWxsQ29vcmQpKSkgCgkJKHNpZ25YMiA9ICh4MldlbGxDb29yZCAvIGFicyh4MldlbGxDb29yZCkpKSAKCQkoc2lnblkxID0gKHkxV2VsbENvb3JkIC8gYWJzKHkxV2VsbENvb3JkKSkpIAoJCShzaWduWTIgPSAoeTJXZWxsQ29vcmQgLyBhYnMoeTJXZWxsQ29vcmQpKSkKCQkoeDFIVkxheWVyQ29vcmQgPSAoKGFicyh4MVdlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWDEpKSAKCQkoeDJIVkxheWVyQ29vcmQgPSAoKGFicyh4MldlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWDIpKSAKCQkoeTFIVkxheWVyQ29vcmQgPSAoKGFicyh5MVdlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWTEpKSAKCQkoeTJIVkxheWVyQ29vcmQgPSAoKGFicyh5MldlbGxDb29yZCkgKyBodkVuY2xvc3VyZSkgKiBzaWduWTIpKQoJICAgICkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGh2TGF5ZXIgCgkJbGlzdChsaXN0KHgxSFZMYXllckNvb3JkIHkxSFZMYXllckNvb3JkKSAKCQkgICAgbGlzdCh4MkhWTGF5ZXJDb29yZCB5MkhWTGF5ZXJDb29yZCkKCQkpCgkgICAgKQoJKSAKCXJldHVybih0KQogICAgKQopCgAA/////wAEAACHAwAAAAAAAAAAAAAAAAAAcFRyYW4AY2RiUmV2aXNpb24AX2RiTGFzdFNhdmVkQ291bnRlcgBwaW4jAGNsYXNzUGFyYW1ldGVycwBkcmF3SURieURlZmF1bHQASUxMaXN0AHdlbGxFbmNIdkxheWVyAGh2UFlNY29uU3BhY2UAcG9seUltcFlFbmMAcG9seUltcFhFbmMAcG9seUltcGxhbnQAc25hcEdyaWQAbm9PZkRlY2ltYWxzAGRpZmZDb3JlSW1wRW5jAGRpZmZDb3JlSW1wbGFudABsYWJlbExheWVyAGRlcFNwYWNlAGRlcFlFbmMAZGVwWEVuYwBodkVuY2xvc3VyZQB3ZWxsTGF5ZXJXaWR0aAB3ZWxsRW5jVGFwAGRlcExheWVyAGh2TGF5ZXIAd2VsbG1pbldpZHRoAGRpZmZMYXllcgBnYXRlTGF5ZXIAd2VsbExheWVyAGRpZmZFeHQAd2VsbEVuY0RpZmYAbGFiZWxXaWR0aABkaWZmSW1wbGFudABkaWZmSW1wRW5jAHZpYTFNaW5TcGFjZQB2aWEyTWluU3BhY2UAbGF5ZXIy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AAAAAAwAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAAAgAAAAAAAAgDAAAAAAAAoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAAAAAA/////wAAAMAAAAAAAAAAwAEAAAABAgMAAAAAwAEAAAABAgMAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAgAAAAIAAAACAAAAAwAEAAAADBQcAAAAAAAAAAIAAAAAAAAAAgAAAAIAAAADAAAAAAFAAAAAkAAAAAwAAAAIAAAABAAAAAQAAAG8AbwBvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAEwAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAoDAAAAAAAACAMAAAAAAAAJAwAAAAAAAAcDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABUAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAQAAAAAAAAAtAIAAAAAAAAcAAAAFAAAAAABAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAIAwAAAAAAAAkDAAAAAAAACgMAAAAAAAALAwAAAAAAAAwDAAAAAAAADQMAAAAAAAC0AgAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAKAAAAAAAAAAsAAAAAAAAADAAAAAAAAAANAAAAAAAAAA4AAAAAAAAADwAAAAAAAAAQAAAAAAAAABEAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAD/////AAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACABAAAAAAAAAB8AQAAAAAAAA8AAAAGAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAwAAAAAAAAYDAAAAAAAAfAEAAAAAAACAAQAAAAAAAIQBAAAAAAAAiAEAAAAAAACMAQAAAAAAAJQBAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAMAAAAAAAAA/////wAAAMAAAAAAAAAAwAAAAAAEAAAAAAAAAGwCAAAAAAAAGQAAABEAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAIAwAAAAAAAAkDAAAAAAAAEAMAAAAAAAAAAQAAAAAAAAMBAAAAAAAAbAIAAAAAAABwAgAAAAAAAHQCAAAAAAAAeAIAAAAAAAB8AgAAAAAAAIQCAAAAAAAAlAIAAAAAAACgAgAAAAAAAKgCAAAAAAAAtAIAAAAAAAC8AgAAAAAAAMACAAAAAAAAxAIAAAAAAADIAgAAAAAAAMwCAAAAAAAA0AIAAAAAAADUAgAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAA4AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAwAAAAAAAAD/////AAAAwAAAAAAAAADAAQAAAAMFBwAAAAAAAAAAwAEAAAABAgMAAAAAwAAAAAAAAADAAQAAAAcCBAAAAADAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACQaAAAABwAAAACAAAAAgAAAAEAAAAjACMAAwAAAPDw8AAAAAAAAAAAAAAAAAAYAAAAEgAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAcDAAAAAAAACAMAAAAAAAAJAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAHAAAAAAAAABAAAAAAAAAAEwAAAAAAAAAUAAAAAAAAABUAAAAAAAAAFgAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAPAIAAAAAAAAXAAAAFAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAcDAAAAAAAACAMAAAAAAAAJAwAAAAAAAAoDAAAAAAAACwMAAAAAAAAAAQAAAAAAAAMBAAAAAAAADAMAAAAAAAA8AgAAAAAAAEACAAAAAAAARAIAAAAAAABIAgAAAAAAAEwCAAAAAAAAVAIAAAAAAABgAgAAAAAAAGgCAAAAAAAAcAIAAAAAAAB0AgAAAAAAAHgCAAAAAAAAfAIAAAAAAACAAgAAAAAAAIQCAAAAAAAAiAIAAAAAAACMAgAAAAAAAJACAAAAAAAAlAIAAAAAAACYAgAAAAAAANwDAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAARAEAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAP////8AAADAAAAAAAAAAMABAAAAAQAAAAAAAMAAAAAAAAAAwAAAAAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIADAAAAEAAAAAEAAAACAAAADgAAAAAAAAAAAAAAAAAAABAAAAAMAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAPQBAAAAAAAAFAAAAAwAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAACAMAAAAAAAAJAwAAAAAAAAABAAAAAAAAAwEAAAAAAAD0AQAAAAAAAPgBAAAAAAAA/AEAAAAAAAAAAgAAAAAAAAQCAAAAAAAADAIAAAAAAAAcAgAAAAAAACwCAAAAAAAAPAIAAAAAAABMAgAAAAAAANACAAAAAAAA1AIAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAACEAAAAAAAAAAQAAAAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAD/////AAAAwAAAAAAAAADAAQAAAF0F5wMgARcCAAAAwAEAAAAUFBQUFBQUFAAAAMABAAAAAgQDBAQCAwEAAADAAQAAAAECAwQFBgcIAAAAwPj9//8B/////AMAAKMCAAAAAAAAfv////QBAAAmAgAALP////j////PAgAA3QAAAAb///8AAAAA7gIAAKQBAAAG////fv///+4CAAAmAgAAQ/7//0z///+xAwAAWAIAAB/////s////1QIAADYBAAD///9/////fwAAAIAAAACAWwAAABwAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACQAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAzAIAAAAAAAAdAAAAEwAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAACwMAAAAAAAAMAwAAAAAAAA0DAAAAAAAADwMAAAAAAAAQAwAAAAAAABEDAAAAAAAAFAMAAAAAAAAAAQAAAAAAAAMBAAAAAAAAzAIAAAAAAADQAgAAAAAAANQCAAAAAAAA2AIAAAAAAADcAgAAAAAAAOQCAAAAAAAA9AIAAAAAAAAEAwAAAAAAABQDAAAAAAAAJAMAAAAAAAA0AwAAAAAAAEQDAAAAAAAAVAMAAAAAAABkAwAAAAAAAOgDAAAAAAAAbAQAAAAAAADwBAAAAAAAAAAFAAAAAAAABAUAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAIQAAAAAAAAAhAAAAAAAAACEAAAAAAAAABAAAAAAAAAABAAAAAAAAAA4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAP////8AAADAAAAAAAAAAMABAAAAXQXnAyABFwIAAADAAQAAAAEBAQEBAQEBAAAAwAEAAAABAQEBAQEBAQAAAMABAAAAAQEBAQEBAQEAAADAAQAAAAEBAQEBAQEBAAAAwAEAAAACAgICAgICAgAAAMABAAAAAQEBAQEBAQEAAADAAQAAAAEBAQEBAQEBAAAAwP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACAAAAAwP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACAAAAAwP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACAAAAAwAEAAAAAAgAAAAAEAFsAAAAcAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAsAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEQDAAAAAAAAIgAAAA0AAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAACAwAAAAAAAAQDAAAAAAAAAAEAAAAAAAADAQAAAAAAAAIBAAAAAAAADgMAAAAAAAAFAwAAAAAAAEQDAAAAAAAASAMAAAAAAABMAwAAAAAAAFADAAAAAAAAVAMAAAAAAABsAwAAAAAAAIQDAAAAAAAAnAMAAAAAAACQBAAAAAAAAJQEAAAAAAAA9AUAAAAAAAA0CAAAAAAAACwKAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAD0AAAAAAAAAAQAAAAAAAAAYAEAAAAAAABAAgAAAAAAAPgBAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAADwAAAAAAAAD/////AAAAwAEAAAAAAAAAAQIAAAAAAAAAAAAAAAAAwAEAAAAABAQDAAAHAAIAAAAABwIAAAAAwAEAAAABAgICAwMEBAQFBQUGBwcAAAAAwPj9//8B/////AMAAKMCAAAAAAAAfv////QBAAAAAAAAAAAAAKQBAAD0AQAAJgIAAAAAAAB+////9AEAACYCAAAxAgAA+P///88CAADdAAAALP////j///+8////3QAAAPQBAAAAAAAA7gIAAKQBAAAAAAAAAAAAAPQBAACkAQAABv///wAAAAAAAAAApAEAAPQBAAB+////7gIAACYCAAAAAAAAfv////QBAAAmAgAABv///37///8AAAAAJgIAAEP+//9M////sQMAAFgCAAArAgAA7P///9UCAAA2AQAAH////+z////J////NgEAAKMAAAAsAAAAAQAAAAIAAAAIAGgAaAAoAAkACQBoAAgAaAAIAAgACAAIAGgAaAAAAAAAAAAAAAAAAAAAABAAAAAMAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAABMAQAAAAAAAA0AAAALAAAAAAIAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAgEAAAAAAAACAgAAAAAAAFMDAAAAAACAYAMAAAAAAIBsAwAAAAAAgEwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAgAAAAAAAAAEgAAAAAAAAAdAAAAAAAAABQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAKAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAFMDAAAAAAAAGgAAABAAAAABAAAA/////2ADAAAAAAAAGgAAABIAAAABAAAAAAAAAAAAAABsAwAAAAAAABoAAAAQAAAAAQAAAP////8BAAAAEAAAAAAAAAAAAAAA/////wAAAMACAAAARmEAAAAAAIAAAADABgAAAAgAAAAAAAAAAQAAAAcOCQ8CAwAAAQAAAAEBAQEBAQAAAAAAwAYAAAAIAAAAAAAAAAEAAAAHDgkPAgMAAAIAAABIA0oDTANOA1ADUgMAAADABgAAAAgAAAAAAAAAAQAAAAcOCQ8CAwAAAQAAAAwMCAgDAgAABAAAAAAAAAA0AQAAAAAAAAwAAAALAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAAAwAAAAAAADQBAAAAAAAAOAEAAAAAAAA8AQAAAAAAAEABAAAAAAAARAEAAAAAAABQAQAAAAAAAFwBAAAAAAAAcAEAAAAAAAB4AQAAAAAAAIABAAAAAAAAiAEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAA/////wAAAMACAAAAKgMsAwAAAMABAAAAl5cAAAAAAMCAAgAAkQAAAHT///+RAAAAAAAAwAQEAAAAAADAAAAAAAAAAMADAwAAEAAAAAEAAAABAAAABgYAAAAAAAAAAAAAAAAAAAgAAAADAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAHwBAAAAAAAADwAAAAwAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAAAQAAAAAAAAMBAAAAAAAABQMAAAAAAAB8AQAAAAAAAIABAAAAAAAAhAEAAAAAAACIAQAAAAAAAIwBAAAAAAAAlAEAAAAAAACsAQAAAAAAALwBAAAAAAAAAAIAAAAAAAAIAgAAAAAAAAwCAAAAAAAAZAMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAEQAAAAAAAAACAAAAAAAAAAEAAAAAAAAAFgBAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABwAAAAQAAAAFAAAAAAAAwAAAAAAAAADAAgAAAI8GlwaXBp8GnwajBo8GAAAAAADAAQAAAAACAQMDBQEAAAAAwAwAAAAGAAAAAQAAAAEJAwsFBgcAAQAAAAEDAQMBAQMAAQAAAAcOCQ8CAwcOCQ8CAwEAAAAbGxsbGxsbGxsbGxsAAADAAAAAAKgAAAAoAAAAAgAAAAIAAAABAAAAAIAHAACAAwAAgACACwAAAAAAAAAAAAAAAAAAAAAAAAAQAAAADAAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAMAgAAAAAAABUAAAAQAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAABAAAAAAAAAwEAAAAAAAAEAwAAAAAAAAUDAAAAAAAACgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAAAwMAAAAAAAAMAgAAAAAAABACAAAAAAAAFAIAAAAAAAAYAgAAAAAAABwCAAAAAAAASAIAAAAAAACYAgAAAAAAAMQCAAAAAAAA8AIAAAAAAAD0AgAAAAAAAEwEAAAAAAAAFAUAAAAAAADgBQAAAAAAADgHAAAAAAAARAgAAAAAAAAICQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAALAAAAAAAAABQAAAAAAAAACwAAAAAAAAALAAAAAAAAAAEAAAAAAAAAFgBAAAAAAAAyAAAAAAAAADMAAAAAAAAAFgBAAAAAAAADAEAAAAAAADEAAAA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AAAAAKwAAAAAAAAAsAAAAAAAAAC0AAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACQAAAAAAAAD/////AAAAwAIAAAD+AQAAIwAAAAQAAAAAAAAA5AIAAAAAAAAeAAAAFAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAADBAAAAAAAAAAEAAAAAAAAAQQAAAAAAAACBAAAAAAAAAQEAAAAAAAABQQAAAAAAAAGBAAAAAAAAAcEAAAAAAAACAQAAAAAAAAJBAAAAAAAAAEFAAAAAAAAAgUAAAAAAAAGBQAAAAAAAAABAAAAAAAAAwEAAAAAAADkAgAAAAAAAOgCAAAAAAAA7AIAAAAAAADwAgAAAAAAAPQCAAAAAAAA/AIAAAAAAAAIAwAAAAAAABQDAAAAAAAAIAMAAAAAAAAsAwAAAAAAADgDAAAAAAAARAMAAAAAAABQAwAAAAAAAFwDAAAAAAAAgAMAAAAAAACkAwAAAAAAALADAAAAAAAAvAMAAAAAAADIAwAAAAAAAMwDAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAkAAAAAAAAACQAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAACgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAAAAAP////8AAADAAAAAAAAAAMACAAAAKgIqAgAAAMABAAAABwcAAAAAAMABAAAABgYAAAAAAMABAAAABQUAAAAAAMABAAAAAQEAAAAAAMABAAAAAgAAAAAAAMABAAAABQUAAAAAAMABAAAABAgAAAAAAMD///9/////fwAAAIAAAACAfv///37///+LAQAApAEAAAAAAMD///9/////fwAAAIAAAACAdf7//37///9/AwAApAEAAAAAAMABAAAAAQMAAAAAAMABAAAAAQEAAAAAAMABAAAAAQEAAFsAAAAQAAAAAQAAAAIAAACJAJEAAAAAAAAAAAAQAAAAEAAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAABAAAAAAAAAEEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAQEAAAAAAAABQQAAAAAAAAGBAAAAAAAAAAFAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAcAAAAAAAAABgAAAAAAAAAFAAAAAAAAAAQAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAATAEAAAAAAAANAAAACgAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAAAAQAAAAAAAAMBAAAAAAAATAEAAAAAAABQAQAAAAAAAFQBAAAAAAAAWAEAAAAAAABcAQAAAAAAAGQBAAAAAAAAbAEAAAAAAAB8AQAAAAAAAJABAAAAAAAAlAEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAQAAAAAAAAABQAAAAAAAAABAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAP////8AAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMD4/f//Af////wDAACjAgAAAQAAABAAAAABAAAAAgAAAAAAAAAAAAAAAAAAABAAAAAKAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAkAgAAAAAAABYAAAARAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAAGAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABwMAAAAAAAAAAQAAAAAAAAMBAAAAAAAACQMAAAAAAAAKAwAAAAAAACQCAAAAAAAAKAIAAAAAAAAsAgAAAAAAADACAAAAAAAANAIAAAAAAAA8AgAAAAAAAEgCAAAAAAAAWAIAAAAAAABkAgAAAAAAAGgCAAAAAAAAbAIAAAAAAABwAgAAAAAAAHQCAAAAAAAAeAIAAAAAAAB8AgAAAAAAAKQDAAAAAAAAqAMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAKAEAAAAAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAA/////wAAAMAAAAAAAAAAwAEAAAABAAAAAAAAwAEAAAABAAAAAAAAAAAAAMABAAAABwAAAAAAAIAAAACAAAAAgAAAAIAAAACAAgAAABAAAAABAAAAAgAAAAAAAAAAAAAAAAAAABAAAAALAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAJQBAAAAAAAAEAAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAEEAAAAAAAAAgQAAAAAAAAAAQAAAAAAAAMBAAAAAAAAlAEAAAAAAACYAQAAAAAAAJwBAAAAAAAAoAEAAAAAAACkAQAAAAAAAKwBAAAAAAAAuAEAAAAAAADMAQAAAAAAANQBAAAAAAAA3AEAAAAAAADgAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAArAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAD/////AAAAwAAAAAAAAADAAQAAAAICAAAAAADA9AEAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAABdAAAAGAAAAAIAAAACAAAAAQAAAAEAQQAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAEEAAAAAAAAAgQAAAAAAAADBAAAAAAAAAQEAAAAAAAABQQAAAAAAAAGBAAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAABAAAAAAAAAAEQAAAAAAAAATAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAAAAAAAAAABnRSMB