Z0UjAQAAYwAAAAAAAAAAAHoAAAAhAAAAAQAAAAAAAAAqAAAAAAAAABwAAAAAAAAAHQAAAAAAAAAEAAAAAAAAAAUAAAAAAAAAGQAAAAAAAAAGAAAAAAAAACUAAAAAAAAABwAAAAAAAAAfAAAAAAAAAAgAAAAAAAAAAAEAAAAAAAA+AQAAAAAAAAoAAAAAAAAACwAAAAAAAAAMAAAAAAAAAA0AAAAAAAAADgAAAAAAAAABAQAAAAAAAAMBAAAAAAAADAEAAAAAAAANAQAAAAAAAA4BAAAAAAAADwEAAAAAAAARAQAAAAAAABMBAAAAAAAAHwEAAAAAAAAyAQAAAAAAADMBAAAAAAAANQEAAAAAAAAmAAAAAAAAACgAAAAAAAAAjAsAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIAAAAAAAAABwAAAAAAAAAHQAAAAAAAAAeAAAAAAAAACEAAAAAAAAAP//////////jAAAAAAAAAAgBQAAAAAAAIwFAAAAAAAANAcAAAAAAAAMxgAAAAAAAKDRAAAAAAAA8NUAAAAAAAAA1wAAAAAAAAjkAAAAAAAAuOgAAAAAAACg6wAAAAAAAJj1AAAAAAAAUPoAAAAAAAA4/gAAAAAAADgCAQAAAAAA0AgBAAAAAAAYFAEAAAAAAJAXAQAAAAAA2CABAAAAAABgJgEAAAAAAAgpAQAAAAAAuCwBAAAAAABIMAEAAAAAAFA0AQAAAAAAEMYAAAAAAAAEAAAAAAAAABwAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAlAQAAAAAAABsAAAAAAAAAKgBAAAAAAAA2L4AAAAAAAAEAAAAAAAAAEwEAAAAAAAAEAEAAAAAAAAIDQAAAAAAALAEAAAAAAAA6AIAAAAAAAD4CQAAAAAAALgEAAAAAAAA5AMAAAAAAAAABAAAAAAAAJgGAAAAAAAARAsAAAAAAAB0AwAAAAAAAEgJAAAAAAAAiAUAAAAAAACoAgAAAAAAAK0DAAAAAAAAkAMAAAAAAAAIBAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIuMi1wMDAxIG9yIGFib3ZlAAAAAAAAAAAABQAFAAgCAAAyMi41MC4wNzYAAAAAAAAAMjIuNTAuMDc2AAAAAAAAAGxpbnV4X3JoZWw1MF9nY2M0OHhfNjQgZ2NjXzQuOC4zAAAAAAAAAAAQBAAgvQAAAAAAAABrcLpaAAAAAGtwuloAAAAASQAAAGEAAAAMAAAAAAAAAA0AAAAAAAAADgAAAAAAAAAPAAAAAAAAABAAAAAAAAAAEQAAAAAAAAASAAAAAAAAABMAAAAAAAAAFAAAAAAAAAAVAAAAAAAAABYAAAAAAAAAGAAAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAEAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAgBAAAAAAAACQEAAAAAAAAKAQAAAAAAAAsBAAAAAAAADAEAAAAAAAANAQAAAAAAAA4BAAAAAAAADwEAAAAAAAAQAQAAAAAAABEBAAAAAAAAEgEAAAAAAAATAQAAAAAAABQBAAAAAAAAFQEAAAAAAAAWAQAAAAAAABcBAAAAAAAAGAEAAAAAAAAZAQAAAAAAABoBAAAAAAAAGwEAAAAAAAAcAQAAAAAAAB0BAAAAAAAAHgEAAAAAAAAfAQAAAAAAACABAAAAAAAAIQEAAAAAAAAiAQAAAAAAACMBAAAAAAAAJAEAAAAAAAAlAQAAAAAAACYBAAAAAAAAJwEAAAAAAAAoAQAAAAAAACkBAAAAAAAAKgEAAAAAAAArAQAAAAAAACwBAAAAAAAALQEAAAAAAAAuAQAAAAAAAC8BAAAAAAAAMAEAAAAAAAAxAQAAAAAAADIBAAAAAAAAMwEAAAAAAAA0AQAAAAAAADUBAAAAAAAANgEAAAAAAAA3AQAAAAAAADgBAAAAAAAAOQEAAAAAAAA6AQAAAAAAADsBAAAAAAAAPAEAAAAAAAA9AQAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAP////////////////////////////////////////////////////////////////////////////////////8AAAAACAAAAAAAAAAaAAAAAAAAABsAAAAAAAAAPwEAAAAAAABAAQAAAAAAACYAAAAAAAAAJwAAAAAAAABBAQAAAAAAAEIBAAAAAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAAAEAAAAAAAAADQBAAAAAAAADAAAAAoAAAAAAgAAAAAAAAABAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAQAAAAAAAAICAAAAAAAACAAAAAAAAIAUAAAAAAAAgDQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAACgAAAAAAAAANAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAAAAAAAAD/////AAAAAAMAAAAAAAAAFAAAAAAAAAD/////AAAAAAMAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAP////8AAACAAAAAgAEAAMABAAAABAAAAB15AwABAADAAQAAAAEAAAC+AAAAHwQAAC0AAAAcAAAAyL4AAMK+AABwcm9jZWR1cmUoKHBjR2VuQ2VsbCB0Y0NlbGxWaWV3ICJkIikgCiAgICBwcm9nKChkaWZmTGF5ZXIgZ2F0ZUxheWVyIHdlbGxMYXllciB3ZWxsbWluV2lkdGggaHZMYXllcgoJICAgIGRlcExheWVyIGRpZmZFeHQgd2VsbEVuY0RpZmYgd2VsbEVuY1RhcCB3ZWxsTGF5ZXJXaWR0aAoJICAgIGh2RW5jbG9zdXJlIGRlcFhFbmMgZGVwWUVuYyBkZXBTcGFjZSBsYWJlbExheWVyCgkgICAgbGFiZWxXaWR0aCBkaWZmSW1wbGFudCBkaWZmSW1wRW5jIGRpZmZDb3JlSW1wbGFudCBkaWZmQ29yZUltcEVuYwoJICAgIHZpYTFNaW5TcGFjZSB2aWEyTWluU3BhY2UgbGF5ZXIyTWluU3BhY2UgbGF5ZXIzTWluU3BhY2Ugbm9PZkRlY2ltYWxzCgkgICAgc25hcEdyaWQgYmNrQ29tcGF0aWJsZU9mZlNldCBwb2x5SW1wbGFudCBwb2x5SW1wWEVuYyBwb2x5SW1wWUVuYwoJICAgIGh2UFlNY29uU3BhY2Ugd2VsbEVuY0h2TGF5ZXIgZHJhd0lEYnlEZWZhdWx0IHNvdXJjZUZpcnN0IHNoYXJlZERyYWluCgkgICAgc2hhcmVkU291cmNlIGxhc3RDb250YWN0IGZpcnN0Q29udGFjdCBnYXRlRXh0IGlkTGF5ZXJDaG9pY2VzCgkgICAgaWRMYXllciBpZEVuY0RpZmYgaWRFbmNYTCBpZEVuY1hSIGlkRW5jWQoJICAgIGRpZmZJbXBDaG9pY2VzIHRhcEltcENob2ljZXMgY29udGFjdENob2ljZXMgZGlmZkltcENob2ljZSB0YXBJbXBDaG9pY2UKCSAgICBjb250YWN0Q2hvaWNlIHNyY09mZnNldCBkcm5PZmZzZXQgbSBsCgkgICAgdyBpbXBsYW50IG5vRW5kQ29uSW1wRW5jIGlkQ2hvaWNlIGlkVGV4dAoJICAgIGlkUmFkaW8gZGlmZkltcGFudE9SbGF5ZXIgY3JlYXRlZEltcGxhbnQxIGNyZWF0ZWRJbXBsYW50RGlmZiBPUmxheWVyU2l6ZQoJICAgIHdlbGxFbmNZRGlmZiB3ZWxsV2lkdGggZ05ldCBzTmV0IGROZXQKCSAgICBiTmV0IGNOZXQgbmV0TCBpIGRpZmZNYXRjaAoJICAgIHRhcE1hdGNoIGRpZmZDb25QYXJhbSB4IGlkRW5jTGlzdCBjb250YWN0RgoJICAgIGNvbnRhY3RMIGNvbnRhY3REIGNvbnRhY3RTIHZpYTFYQ3JkRiBsYXllcjJYQ3JkRgoJICAgIHZpYTJYQ3JkRiBsYXllcjNYQ3JkRiBsYXllcjFYQ3JkRiB2aWExWENyZEwgbGF5ZXIyWENyZEwKCSAgICB2aWEyWENyZEwgbGF5ZXIzWENyZEwgbGF5ZXIxWENyZEwgdmlhMVhDcmRTIGxheWVyMlhDcmRTCgkgICAgdmlhMlhDcmRTIGxheWVyM1hDcmRTIGxheWVyMVhDcmRTIHZpYTFYQ3JkRCBsYXllcjJYQ3JkRAoJICAgIHZpYTJYQ3JkRCBsYXllcjNYQ3JkRCBsYXllcjFYQ3JkRCB2aWExRW5jRiB2aWEyRW5jRgoJICAgIGxheWVyMkVuY0YgbGF5ZXIzRW5jRiB2aWExRW5jTCB2aWEyRW5jTCBsYXllcjJFbmNMCgkgICAgbGF5ZXIzRW5jTCB2aWExRW5jUyB2aWEyRW5jUyBsYXllcjJFbmNTIGxheWVyM0VuY1MKCSAgICB2aWExRW5jRCB2aWEyRW5jRCBsYXllcjJFbmNEIGxheWVyM0VuY0QgdmlhMVNwYWNlRkwKCSAgICB2aWExT2ZmU2V0RkwgdmlhMlNwYWNlRkwgdmlhMk9mZlNldEZMIGxheWVyM1NwYWNlRkwgbGF5ZXIzT2ZmU2V0RkwKCSAgICBsYXllcjJTcGFjZUZMIGxheWVyMk9mZlNldEZMIHZpYTFTcGFjZUZTIHZpYTFPZmZTZXRGUyB2aWEyU3BhY2VGUwoJICAgIHZpYTJPZmZTZXRGUyBsYXllcjNTcGFjZUZTIGxheWVyM09mZlNldEZTIGxheWVyMlNwYWNlRlMgbGF5ZXIyT2ZmU2V0RlMKCSAgICB2aWExU3BhY2VGRCB2aWExT2ZmU2V0RkQgdmlhMlNwYWNlRkQgdmlhMk9mZlNldEZEIGxheWVyM1NwYWNlRkQKCSAgICBsYXllcjNPZmZTZXRGRCBsYXllcjJTcGFjZUZEIGxheWVyMk9mZlNldEZEIHZpYTFTcGFjZUxTIHZpYTFPZmZTZXRMUwoJICAgIHZpYTJTcGFjZUxTIHZpYTJPZmZTZXRMUyBsYXllcjNTcGFjZUxTIGxheWVyM09mZlNldExTIGxheWVyMlNwYWNlTFMKCSAgICBsYXllcjJPZmZTZXRMUyB2aWExU3BhY2VMRCB2aWExT2ZmU2V0TEQgdmlhMlNwYWNlTEQgdmlhMk9mZlNldExECgkgICAgbGF5ZXIzU3BhY2VMRCBsYXllcjNPZmZTZXRMRCBsYXllcjJTcGFjZUxEIGxheWVyMk9mZlNldExEIHZpYTFTcGFjZVNECgkgICAgdmlhMU9mZlNldFNEIHZpYTJTcGFjZVNEIHZpYTJPZmZTZXRTRCBsYXllcjNTcGFjZVNEIGxheWVyM09mZlNldFNECgkgICAgbGF5ZXIyU3BhY2VTRCBsYXllcjJPZmZTZXRTRCBtYXhPZmZTZXQgb2Zmc2V0U2lkZSBtaW5TcGFjZU9mZlNldAoJICAgIGNvbnRhY3RJbXBQYXJhbSBpZEVuY1BhcmFtIGNvbnRhY3RXZWxsUGFyYW0gZGlmZkltcENob2ljZVBhcmFtIHRhcEltcENob2ljZVBhcmFtCgkgICAgeDFDb29yZCB5MUNvb3JkIGxhc3RYMUNvb3JkIHkxRGVwQ29vcmQgeTJEZXBDb29yZAoJICAgIGxhc3RQWWlYMUNvb3JkIHkxUFlpQ29vcmQgeTJQWWlDb29yZCB3ZWxsRW5jRGlmZlkgd2VsbEVuY1RhcFkKCSAgICB3ZWxsRW5jRGlmZlggd2VsbEVuY1RhcFggY29udGFjdElkIG9mZnNldCBwYXJhbXMKCSAgICBpbnN0UGFyYW1zIGluc3QgZGlmZkltcGxhbnRSb2QgZGlmZkltcGxhbnRkYmlkIGNyZWF0ZWRJbXBsYW50dG1wCgkgICAgbWFzdGVyIGJCb3ggZGJpZCBwaW5pZCB4MURpZmZDb29yZAoJICAgIHgxVGFwQ29vcmQgeTJEaWZmQ29vcmQgeTJUYXBDb29yZCB5MURpZmZDb29yZCB5MVRhcENvb3JkCgkgICAgeDFXZWxsQ29vcmQgeTFXZWxsQ29vcmQgeTJXZWxsQ29vcmQgeDFIVkxheWVyQ29vcmQgeTFIVkxheWVyQ29vcmQKCSAgICB5MkhWTGF5ZXJDb29yZCB4MUlkQ29vcmQgeTFJZENvb3JkIHkySWRDb29yZCBzaGFyZWRTcmNJZAoJICAgIHNoYXJlZERybklkIG4geDFEZXBDb29yZCB4MVBZaUNvb3JkIHgyRGlmZkNvb3JkCgkgICAgeDJUYXBDb29yZCB4MldlbGxDb29yZCB4MkhWTGF5ZXJDb29yZCB4MklkQ29vcmQgY3JlYXRlZEltcGxhbnQyCgkgICAgY3JlYXRlZEltcGxhbnREaWZmMiBmaXJzdGltcGxhbnQgZGlmZkltcGxhbnRTaGFwZTIgd2VsbExheWVyX1hvcmlnaW4gd2VsbExheWVyX1lvcmlnaW4KCSAgICB3ZWxsTGF5ZXJfWGVuZCB3ZWxsTGF5ZXJfWWVuZCBEaWZmX3dlbGxfd2lkdGggc2lnblgxIHNpZ25YMgoJICAgIHNpZ25ZMSBzaWduWTIKCSkgCglpZighdGNDZWxsVmlldyAKCSAgICByZXR1cm4obmlsKQoJKSAKCShiY2tDb21wYXRpYmxlT2ZmU2V0ID0gbmlsKSAKCShsYXllcjNNaW5TcGFjZSA9IDAuMTQpIAoJKGxheWVyMk1pblNwYWNlID0gMC4xNykKCSh2aWEyTWluU3BhY2UgPSAwLjE5KSAKCSh2aWExTWluU3BhY2UgPSAwLjE3KSAKCShkaWZmSW1wRW5jID0gMC4xMykgCgkoZGlmZkltcGxhbnQgPSBsaXN0KCJwc2RtIiAiZHJhd2luZyIpKSAKCShsYWJlbFdpZHRoID0gMC4xNSkKCShodkVuY2xvc3VyZSA9IDAuMCkgCgkod2VsbEVuY1RhcCA9IDAuMzMpIAoJKHdlbGxFbmNEaWZmID0gMC4zMykgCgkoaHZMYXllciA9IGxpc3QoImh2aSIgImRyYXdpbmciKSkgCgkoZGlmZkV4dCA9IDAuMjUpCgkod2VsbExheWVyID0gbGlzdCgibndlbGwiICJkcmF3aW5nIikpIAoJKGdhdGVMYXllciA9IGxpc3QoInBvbHkiICJkcmF3aW5nIikpIAoJKGRpZmZMYXllciA9IGxpc3QoImRpZmYiICJkcmF3aW5nIikpIAoJKHdlbGxtaW5XaWR0aCA9IDAuMCkgCgkoZGVwTGF5ZXIgPSBuaWwpCgkod2VsbExheWVyV2lkdGggPSAwLjApIAoJKGRlcFhFbmMgPSAwLjApIAoJKGRlcFlFbmMgPSAwLjApIAoJKGRlcFNwYWNlID0gMC4wKSAKCShsYWJlbExheWVyID0gbGlzdCgidGV4dCIgImRyYXdpbmciKSkKCShkaWZmQ29yZUltcGxhbnQgPSBuaWwpIAoJKGRpZmZDb3JlSW1wRW5jID0gMC4wKSAKCShub09mRGVjaW1hbHMgPSAzKSAKCShzbmFwR3JpZCA9IDAuMDA1KSAKCShwb2x5SW1wbGFudCA9IG5pbCkKCShwb2x5SW1wWEVuYyA9IDAuMCkgCgkocG9seUltcFlFbmMgPSAwLjApIAoJKGh2UFlNY29uU3BhY2UgPSAwLjApIAoJKHdlbGxFbmNIdkxheWVyID0gMC4wKSAKCShkcmF3SURieURlZmF1bHQgPSBuaWwpCgkoaWRSYWRpbyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkUmFkaW8pKSAKCWlmKCFsaXN0cChpZFJhZGlvKSB0aGVuIAoJICAgIGlmKCgoaWRSYWRpbyA9PSAiVFJVRSIpIHx8IChpZFJhZGlvID09IHQpKSB0aGVuIAoJCShpZFJhZGlvID0gdCkgZWxzZSAKCQkoaWRSYWRpbyA9IG5pbCkKCSAgICApCgkpIAoJKGlkVGV4dCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkVGV4dCkpIAoJaWYoKGlkVGV4dCA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChpZFRleHQgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3AoaWRUZXh0KSB0aGVuIAoJICAgIChpZFRleHQgPSAiIikKCSkKCShpZENob2ljZSA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkQ2hvaWNlKSkgCglpZighbGlzdHAoaWRDaG9pY2UpIHRoZW4gCgkgICAgaWYoKChpZENob2ljZSA9PSAiVFJVRSIpIHx8IChpZENob2ljZSA9PSB0KSkgdGhlbiAKCQkoaWRDaG9pY2UgPSB0KSBlbHNlIAoJCShpZENob2ljZSA9IG5pbCkKCSAgICApCgkpIAoJKG5vRW5kQ29uSW1wRW5jID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+bm9FbmRDb25JbXBFbmMpKSAKCWlmKChub0VuZENvbkltcEVuYyA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChub0VuZENvbkltcEVuYyA9IG5pbCkKCSkgCgkoaW1wbGFudCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmltcGxhbnQpKQoJaWYoKGltcGxhbnQgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoaW1wbGFudCA9IG5pbCkKCSkgCgkodyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PncpKSAKCWlmKCFmbG9hdHAodykgdGhlbiAKCSAgICAodyA9IDAuNDIpCgkpIAoJKGwgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5sKSkgCglpZighZmxvYXRwKGwpIHRoZW4gCgkgICAgKGwgPSAwLjUpCgkpCgkobSA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+Pm0pKSAKCWlmKCFmaXhwKG0pIHRoZW4gCgkgICAgKG0gPSAxKQoJKSAKCShkcm5PZmZzZXQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5kcm5PZmZzZXQpKSAKCWlmKCFmbG9hdHAoZHJuT2Zmc2V0KSB0aGVuIAoJICAgIChkcm5PZmZzZXQgPSAwLjApCgkpIAoJKHNyY09mZnNldCA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PnNyY09mZnNldCkpCglpZighZmxvYXRwKHNyY09mZnNldCkgdGhlbiAKCSAgICAoc3JjT2Zmc2V0ID0gMC4wKQoJKSAKCShjb250YWN0Q2hvaWNlID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+Y29udGFjdENob2ljZSkpIAoJaWYoIWxpc3RwKGNvbnRhY3RDaG9pY2UpIHRoZW4gCgkgICAgaWYoKChjb250YWN0Q2hvaWNlID09ICJUUlVFIikgfHwgKGNvbnRhY3RDaG9pY2UgPT0gdCkpIHRoZW4gCgkJKGNvbnRhY3RDaG9pY2UgPSB0KSBlbHNlIAoJCShjb250YWN0Q2hvaWNlID0gbmlsKQoJICAgICkKCSkgCgkodGFwSW1wQ2hvaWNlID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+dGFwSW1wQ2hvaWNlKSkgCglpZighbGlzdHAodGFwSW1wQ2hvaWNlKSB0aGVuIAoJICAgIGlmKCgodGFwSW1wQ2hvaWNlID09ICJUUlVFIikgfHwgKHRhcEltcENob2ljZSA9PSB0KSkgdGhlbiAKCQkodGFwSW1wQ2hvaWNlID0gdCkgZWxzZSAKCQkodGFwSW1wQ2hvaWNlID0gbmlsKQoJICAgICkKCSkKCShkaWZmSW1wQ2hvaWNlID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+ZGlmZkltcENob2ljZSkpIAoJaWYoIWxpc3RwKGRpZmZJbXBDaG9pY2UpIHRoZW4gCgkgICAgaWYoKChkaWZmSW1wQ2hvaWNlID09ICJUUlVFIikgfHwgKGRpZmZJbXBDaG9pY2UgPT0gdCkpIHRoZW4gCgkJKGRpZmZJbXBDaG9pY2UgPSB0KSBlbHNlIAoJCShkaWZmSW1wQ2hvaWNlID0gbmlsKQoJICAgICkKCSkgCgkoY29udGFjdENob2ljZXMgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5jb250YWN0Q2hvaWNlcykpIAoJaWYoIWxpc3RwKGNvbnRhY3RDaG9pY2VzKSB0aGVuIAoJICAgIGlmKCgoY29udGFjdENob2ljZXMgPT0gIlRSVUUiKSB8fCAoY29udGFjdENob2ljZXMgPT0gdCkpIHRoZW4gCgkJKGNvbnRhY3RDaG9pY2VzID0gdCkgZWxzZSAKCQkoY29udGFjdENob2ljZXMgPSBuaWwpCgkgICAgKQoJKSAKCSh0YXBJbXBDaG9pY2VzID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+dGFwSW1wQ2hvaWNlcykpCglpZighbGlzdHAodGFwSW1wQ2hvaWNlcykgdGhlbiAKCSAgICBpZigoKHRhcEltcENob2ljZXMgPT0gIlRSVUUiKSB8fCAodGFwSW1wQ2hvaWNlcyA9PSB0KSkgdGhlbiAKCQkodGFwSW1wQ2hvaWNlcyA9IHQpIGVsc2UgCgkJKHRhcEltcENob2ljZXMgPSBuaWwpCgkgICAgKQoJKSAKCShkaWZmSW1wQ2hvaWNlcyA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmRpZmZJbXBDaG9pY2VzKSkgCglpZighbGlzdHAoZGlmZkltcENob2ljZXMpIHRoZW4gCgkgICAgaWYoKChkaWZmSW1wQ2hvaWNlcyA9PSAiVFJVRSIpIHx8IChkaWZmSW1wQ2hvaWNlcyA9PSB0KSkgdGhlbiAKCQkoZGlmZkltcENob2ljZXMgPSB0KSBlbHNlIAoJCShkaWZmSW1wQ2hvaWNlcyA9IG5pbCkKCSAgICApCgkpIAoJKGlkRW5jWSA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PmlkRW5jWSkpIAoJaWYoIWZsb2F0cChpZEVuY1kpIHRoZW4gCgkgICAgKGlkRW5jWSA9IDAuMCkKCSkKCShpZEVuY1hSID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNYUikpIAoJaWYoIWZsb2F0cChpZEVuY1hSKSB0aGVuIAoJICAgIChpZEVuY1hSID0gMC4wKQoJKSAKCShpZEVuY1hMID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRFbmNYTCkpIAoJaWYoIWZsb2F0cChpZEVuY1hMKSB0aGVuIAoJICAgIChpZEVuY1hMID0gMC4wKQoJKSAKCShpZEVuY0RpZmYgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5pZEVuY0RpZmYpKQoJaWYoKGlkRW5jRGlmZiA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChpZEVuY0RpZmYgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3AoaWRFbmNEaWZmKSB0aGVuIAoJICAgIChpZEVuY0RpZmYgPSAiRkFMU0UiKQoJKSAKCShpZExheWVyID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRMYXllcikpIAoJaWYoKGlkTGF5ZXIgPT0gIkZBTFNFIikgdGhlbiAKCSAgICAoaWRMYXllciA9IG5pbCkKCSkgCglpZighc3RyaW5ncChpZExheWVyKSB0aGVuIAoJICAgIChpZExheWVyID0gIm5vbmUiKQoJKQoJKGlkTGF5ZXJDaG9pY2VzID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+aWRMYXllckNob2ljZXMpKSAKCWlmKCFsaXN0cChpZExheWVyQ2hvaWNlcykgdGhlbiAKCSAgICAoaWRMYXllckNob2ljZXMgPSBsaXN0KCJub25lIikpCgkpIAoJKGdhdGVFeHQgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5nYXRlRXh0KSkgCglpZighZmxvYXRwKGdhdGVFeHQpIHRoZW4gCgkgICAgKGdhdGVFeHQgPSAwLjEzKQoJKSAKCShmaXJzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5maXJzdENvbnRhY3QpKQoJaWYoKGZpcnN0Q29udGFjdCA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChmaXJzdENvbnRhY3QgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3AoZmlyc3RDb250YWN0KSB0aGVuIAoJICAgIChmaXJzdENvbnRhY3QgPSAiaHZERlRQTDFzIikKCSkgCgkobGFzdENvbnRhY3QgPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5sYXN0Q29udGFjdCkpIAoJaWYoKGxhc3RDb250YWN0ID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKGxhc3RDb250YWN0ID0gbmlsKQoJKSAKCWlmKCFzdHJpbmdwKGxhc3RDb250YWN0KSB0aGVuIAoJICAgIChsYXN0Q29udGFjdCA9ICJodkRGVFBMMXMiKQoJKQoJKHNoYXJlZFNvdXJjZSA9ICgodGNDZWxsVmlld34+cGFyYW1ldGVycyl+PnNoYXJlZFNvdXJjZSkpIAoJaWYoKHNoYXJlZFNvdXJjZSA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChzaGFyZWRTb3VyY2UgPSBuaWwpCgkpIAoJaWYoIXN0cmluZ3Aoc2hhcmVkU291cmNlKSB0aGVuIAoJICAgIChzaGFyZWRTb3VyY2UgPSAiaHZERkwxc2QyIikKCSkgCgkoc2hhcmVkRHJhaW4gPSAoKHRjQ2VsbFZpZXd+PnBhcmFtZXRlcnMpfj5zaGFyZWREcmFpbikpIAoJaWYoKHNoYXJlZERyYWluID09ICJGQUxTRSIpIHRoZW4gCgkgICAgKHNoYXJlZERyYWluID0gbmlsKQoJKQoJaWYoIXN0cmluZ3Aoc2hhcmVkRHJhaW4pIHRoZW4gCgkgICAgKHNoYXJlZERyYWluID0gImh2REZMMXNkMiIpCgkpIAoJKHNvdXJjZUZpcnN0ID0gKCh0Y0NlbGxWaWV3fj5wYXJhbWV0ZXJzKX4+c291cmNlRmlyc3QpKSAKCWlmKChzb3VyY2VGaXJzdCA9PSAiRkFMU0UiKSB0aGVuIAoJICAgIChzb3VyY2VGaXJzdCA9IG5pbCkKCSkgCgkoZGlmZkltcGFudE9SbGF5ZXIgPSBkaWZmSW1wbGFudCkgCgkoY3JlYXRlZEltcGxhbnQxID0gbGlzdCgpKQoJKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGxpc3QoKSkgCglpZigod2VsbExheWVyICYmIGRpZmZJbXBsYW50KSB0aGVuIAoJICAgIChPUmxheWVyU2l6ZSA9IChkaWZmSW1wRW5jIC0gd2VsbEVuY0RpZmYpKSBlbHNlIAoJICAgIChPUmxheWVyU2l6ZSA9IDAuMCkKCSkgCgkod2VsbEVuY1lEaWZmID0gMC4wKSAKCXdoZW4oKHdlbGxMYXllcldpZHRoICE9IDAuMCkgCgkgICAgKHdlbGxXaWR0aCA9ICgobWF4KHdlbGxFbmNEaWZmIHdlbGxFbmNUYXApICogMikgKyB3KSkgCgkgICAgaWYoKHdlbGxXaWR0aCA8IHdlbGxMYXllcldpZHRoKSB0aGVuIAoJCSh3ZWxsRW5jWURpZmYgPSBhYnMoKG1heCh3ZWxsRW5jRGlmZiB3ZWxsRW5jVGFwKSAtIAoJCQkgICAgKCh3ZWxsTGF5ZXJXaWR0aCAtIHcpIC8gMikpCgkJICAgICkpCgkgICAgKQoJKSAKCWlmKCgoaW1wbGFudCA9PSB0KSB8fCAoaW1wbGFudCA9PSAiVFJVRSIpKSB0aGVuIAoJICAgIChpbXBsYW50ID0gdCkgZWxzZSAKCSAgICAoaW1wbGFudCA9IG5pbCkKCSkKCWlmKCgoZHJhd0lEYnlEZWZhdWx0ID09IHQpIHx8IChkcmF3SURieURlZmF1bHQgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoZHJhd0lEYnlEZWZhdWx0ID0gdCkgZWxzZSAKCSAgICAoZHJhd0lEYnlEZWZhdWx0ID0gbmlsKQoJKSAKCWlmKCgoaWRDaG9pY2UgPT0gdCkgfHwgKGlkQ2hvaWNlID09ICJUUlVFIikpIHRoZW4gCgkgICAgKGlkQ2hvaWNlID0gdCkgZWxzZSAKCSAgICAoaWRDaG9pY2UgPSBuaWwpCgkpIAoJaWYoKChub0VuZENvbkltcEVuYyA9PSB0KSB8fCAobm9FbmRDb25JbXBFbmMgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAobm9FbmRDb25JbXBFbmMgPSB0KSBlbHNlIAoJICAgIChub0VuZENvbkltcEVuYyA9IG5pbCkKCSkgCglpZigoIWlkTGF5ZXIgfHwgKGlkTGF5ZXIgPT0gIm5vbmUiKSB8fCAoaWRMYXllciA9PSAibmlsIikgfHwgKGlkTGF5ZXIgPT0gIkZBTFNFIikpIHRoZW4gCgkgICAgKGlkTGF5ZXIgPSBuaWwpCgkpIAoJaWYoKChzb3VyY2VGaXJzdCA9PSB0KSB8fCAoc291cmNlRmlyc3QgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoc291cmNlRmlyc3QgPSB0KSBlbHNlIAoJICAgIChzb3VyY2VGaXJzdCA9IG5pbCkKCSkKCWlmKCgoaWRFbmNEaWZmID09IHQpIHx8IChpZEVuY0RpZmYgPT0gIlRSVUUiKSkgdGhlbiAKCSAgICAoaWRFbmNEaWZmID0gdCkgZWxzZSAKCSAgICAoaWRFbmNEaWZmID0gbmlsKQoJKSAKCWlmKChnYXRlRXh0IDwgMC4wKSAKCSAgICBlcnJvcigibU5vcm1UcmFuSW1wQ2xhc3M6IGdhdGVFeHQgKCVnKSBtdXN0IGJlID4gMFxuIiBnYXRlRXh0KQoJKSAKCShnTmV0ID0gKGRiQ3JlYXRlTmV0IHRjQ2VsbFZpZXcgImciKSkgCgkoZGJDcmVhdGVUZXJtIGdOZXQgImciICJpbnB1dCIpIAoJKHNOZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAicyIpKQoJKGRiQ3JlYXRlVGVybSBzTmV0ICJzIiAiaW5wdXRPdXRwdXQiKSAKCShkTmV0ID0gKGRiQ3JlYXRlTmV0IHRjQ2VsbFZpZXcgImQiKSkgCgkoZGJDcmVhdGVUZXJtIGROZXQgImQiICJpbnB1dE91dHB1dCIpIAoJKGJOZXQgPSAoZGJDcmVhdGVOZXQgdGNDZWxsVmlldyAiYiIpKSAKCShkYkNyZWF0ZVRlcm0gYk5ldCAiYiIgImlucHV0T3V0cHV0IikKCWlmKHNvdXJjZUZpcnN0IHRoZW4gCgkgICAgKGNOZXQgPSBzTmV0KSAKCSAgICAobmV0TCA9ICJTIikgZWxzZQoJICAgIChjTmV0ID0gZE5ldCkgCgkgICAgKG5ldEwgPSAiRCIpCgkpIAoJd2hlbigobSA8IDEpIAoJICAgIChtID0gMSkKCSkgCgl3aGVuKGRpZmZJbXBDaG9pY2VzIAoJICAgIHVubGVzcygoZGlmZkltcEVuYyAmJiBsaXN0cChkaWZmSW1wRW5jKSAmJiAobGVuZ3RoKGRpZmZJbXBFbmMpID09IGxlbmd0aChkaWZmSW1wQ2hvaWNlcykpKSAKCQllcnJvcigiZGlmZkltcEVuYyBzaG91bGQgYmUgYSBsaXN0IG1hdGNoaW5nIGRpZmZJbXBDaG9pY2VzIikKCSAgICApIAoJICAgIChpID0gbGVuZ3RoKChtZW1iZXIoZGlmZkltcENob2ljZSBkaWZmSW1wQ2hvaWNlcykgfHwgZGlmZkltcENob2ljZXMpKSkgCgkgICAgKGRpZmZNYXRjaCA9IChsZW5ndGgoZGlmZkltcENob2ljZXMpIC0gaSkpIAoJICAgIChkaWZmSW1wRW5jID0gbnRoKGRpZmZNYXRjaCBkaWZmSW1wRW5jKSkKCSkgCgl3aGVuKHRhcEltcENob2ljZXMgCgkgICAgKGkgPSBsZW5ndGgoKG1lbWJlcih0YXBJbXBDaG9pY2UgdGFwSW1wQ2hvaWNlcykgfHwgdGFwSW1wQ2hvaWNlcykpKSAKCSAgICAodGFwTWF0Y2ggPSAobGVuZ3RoKHRhcEltcENob2ljZXMpIC0gaSkpCgkpIAoJd2hlbihjb250YWN0Q2hvaWNlcyAKCSAgICBjb25kKCgoY29udGFjdENob2ljZSA9PSAidGFwIikgCgkJICAgIChkaWZmQ29uUGFyYW0gPSBsaXN0KCJub0RpZmZDb250YWN0IiAiYm9vbGVhbiIgdCkpCgkJKSAKCQkoKGNvbnRhY3RDaG9pY2UgPT0gImJvdGgiKSAKCQkgICAgKGRpZmZDb25QYXJhbSA9IGxpc3QoIm5vRGlmZkNvbnRhY3QiICJib29sZWFuIiAiRkFMU0UiKSkKCQkpIAoJCSh0IAoJCSAgICAoZGlmZkNvblBhcmFtID0gbGlzdCgibm9EaWZmQ29udGFjdCIgImJvb2xlYW4iICJGQUxTRSIpKQoJCSkKCSAgICApCgkpCgkoeCA9IG5pbCkgCglpZihsaXN0cChjYXIoaWRMYXllckNob2ljZXMpKSB0aGVuIAoJICAgIG1hcGNhcihsYW1iZGEoKHgpIAoJCSAgICBpZigoY2FyKHgpID09IGlkTGF5ZXIpIHRoZW4gCgkJCShpZExheWVyID0gY2Fkcih4KSkgCgkJCShpZEVuY0xpc3QgPSBjYWRkcih4KSkgCgkJCWlmKChpZEVuY0xpc3QgJiYgbGlzdHAoaWRFbmNMaXN0KSkgdGhlbiAKCQkJICAgIChpZEVuY1hMID0gbnRoKDAgaWRFbmNMaXN0KSkgCgkJCSAgICAoaWRFbmNYUiA9IG50aCgxIGlkRW5jTGlzdCkpIAoJCQkgICAgKGlkRW5jWSA9IG50aCgyIGlkRW5jTGlzdCkpCgkJCSkKCQkJKGlkRW5jRGlmZiA9IGNhZGRkcih4KSkKCQkgICAgKQoJCSkgaWRMYXllckNob2ljZXMKCSAgICApCgkpIAoJd2hlbigoZmlyc3RDb250YWN0ICE9ICIiKSAKCSAgICAoY29udGFjdEYgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIGZpcnN0Q29udGFjdCAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkgCgl3aGVuKChsYXN0Q29udGFjdCAhPSAiIikgCgkgICAgKGNvbnRhY3RMID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBsYXN0Q29udGFjdCAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkgCgl3aGVuKChzaGFyZWREcmFpbiAhPSAiIikgCgkgICAgKGNvbnRhY3REID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBzaGFyZWREcmFpbiAic3ltYm9saWMiIG5pbAoJCSAgICAicm4iCgkJKSkKCSkKCXdoZW4oKHNoYXJlZFNvdXJjZSAhPSAiIikgCgkgICAgKGNvbnRhY3RTID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBzaGFyZWRTb3VyY2UgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpCgkpIAoJKHZpYTFYQ3JkRiA9IGlmKChjb250YWN0Rn4+YkJveFZpYTEpIAoJCWFicyhjYWFyKChjb250YWN0Rn4+YkJveFZpYTEpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIyWENyZEYgPSBpZigoY29udGFjdEZ+PmJCb3hMYXllcjIpIAoJCWFicyhjYWFyKChjb250YWN0Rn4+YkJveExheWVyMikpKSBuaWwKCSAgICApKSAKCSh2aWEyWENyZEYgPSBpZigoY29udGFjdEZ+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRGID0gaWYoKGNvbnRhY3RGfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdEZ+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkKCShsYXllcjFYQ3JkRiA9IGlmKChjb250YWN0Rn4+ZGlmZkxheWVyQmJveCkgCgkJYWJzKGNhYXIoKGNvbnRhY3RGfj5kaWZmTGF5ZXJCYm94KSkpIG5pbAoJICAgICkpIAoJKHZpYTFYQ3JkTCA9IGlmKChjb250YWN0TH4+YkJveFZpYTEpIAoJCWFicyhjYWFyKChjb250YWN0TH4+YkJveFZpYTEpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIyWENyZEwgPSBpZigoY29udGFjdEx+PmJCb3hMYXllcjIpIAoJCWFicyhjYWFyKChjb250YWN0TH4+YkJveExheWVyMikpKSBuaWwKCSAgICApKSAKCSh2aWEyWENyZEwgPSBpZigoY29udGFjdEx+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRMID0gaWYoKGNvbnRhY3RMfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdEx+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkKCShsYXllcjFYQ3JkTCA9IGlmKChjb250YWN0TH4+ZGlmZkxheWVyQmJveCkgCgkJYWJzKGNhYXIoKGNvbnRhY3RMfj5kaWZmTGF5ZXJCYm94KSkpIG5pbAoJICAgICkpIAoJKHZpYTFYQ3JkUyA9IGlmKChjb250YWN0U34+YkJveFZpYTEpIAoJCWFicyhjYWFyKChjb250YWN0U34+YkJveFZpYTEpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIyWENyZFMgPSBpZigoY29udGFjdFN+PmJCb3hMYXllcjIpIAoJCWFicyhjYWFyKChjb250YWN0U34+YkJveExheWVyMikpKSBuaWwKCSAgICApKSAKCSh2aWEyWENyZFMgPSBpZigoY29udGFjdFN+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmRTID0gaWYoKGNvbnRhY3RTfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdFN+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkKCShsYXllcjFYQ3JkUyA9IGlmKChjb250YWN0U34+ZGlmZkxheWVyQmJveCkgCgkJYWJzKGNhYXIoKGNvbnRhY3RTfj5kaWZmTGF5ZXJCYm94KSkpIG5pbAoJICAgICkpIAoJKHZpYTFYQ3JkRCA9IGlmKChjb250YWN0RH4+YkJveFZpYTEpIAoJCWFicyhjYWFyKChjb250YWN0RH4+YkJveFZpYTEpKSkgbmlsCgkgICAgKSkgCgkobGF5ZXIyWENyZEQgPSBpZigoY29udGFjdER+PmJCb3hMYXllcjIpIAoJCWFicyhjYWFyKChjb250YWN0RH4+YkJveExheWVyMikpKSBuaWwKCSAgICApKSAKCSh2aWEyWENyZEQgPSBpZigoY29udGFjdER+PmJCb3hWaWEyKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hWaWEyKSkpIG5pbAoJICAgICkpIAoJKGxheWVyM1hDcmREID0gaWYoKGNvbnRhY3REfj5iQm94TGF5ZXIzKSAKCQlhYnMoY2FhcigoY29udGFjdER+PmJCb3hMYXllcjMpKSkgbmlsCgkgICAgKSkKCShsYXllcjFYQ3JkRCA9IGlmKChjb250YWN0RH4+ZGlmZkxheWVyQmJveCkgCgkJYWJzKGNhYXIoKGNvbnRhY3REfj5kaWZmTGF5ZXJCYm94KSkpIG5pbAoJICAgICkpIAoJaWYoKGxheWVyMVhDcmRGICYmIHZpYTFYQ3JkRikgdGhlbiAKCSAgICAodmlhMUVuY0YgPSBhYnMoKGxheWVyMVhDcmRGIC0gdmlhMVhDcmRGKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRGICYmIHZpYTJYQ3JkRikgdGhlbiAKCSAgICAodmlhMkVuY0YgPSBhYnMoKGxheWVyMVhDcmRGIC0gdmlhMlhDcmRGKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRGICYmIGxheWVyMlhDcmRGKSB0aGVuIAoJICAgIChsYXllcjJFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIGxheWVyMlhDcmRGKSkpCgkpIAoJaWYoKGxheWVyMVhDcmRGICYmIGxheWVyM1hDcmRGKSB0aGVuIAoJICAgIChsYXllcjNFbmNGID0gYWJzKChsYXllcjFYQ3JkRiAtIGxheWVyM1hDcmRGKSkpCgkpCglpZigobGF5ZXIxWENyZEwgJiYgdmlhMVhDcmRMKSB0aGVuIAoJICAgICh2aWExRW5jTCA9IGFicygobGF5ZXIxWENyZEwgLSB2aWExWENyZEwpKSkKCSkgCglpZigobGF5ZXIxWENyZEwgJiYgdmlhMlhDcmRMKSB0aGVuIAoJICAgICh2aWEyRW5jTCA9IGFicygobGF5ZXIxWENyZEwgLSB2aWEyWENyZEwpKSkKCSkgCglpZigobGF5ZXIxWENyZEwgJiYgbGF5ZXIyWENyZEwpIHRoZW4gCgkgICAgKGxheWVyMkVuY0wgPSBhYnMoKGxheWVyMVhDcmRMIC0gbGF5ZXIyWENyZEwpKSkKCSkgCglpZigobGF5ZXIxWENyZEwgJiYgbGF5ZXIzWENyZEwpIHRoZW4gCgkgICAgKGxheWVyM0VuY0wgPSBhYnMoKGxheWVyMVhDcmRMIC0gbGF5ZXIzWENyZEwpKSkKCSkgCglpZigobGF5ZXIxWENyZFMgJiYgdmlhMVhDcmRTKSB0aGVuIAoJICAgICh2aWExRW5jUyA9IGFicygobGF5ZXIxWENyZFMgLSB2aWExWENyZFMpKSkKCSkKCWlmKChsYXllcjFYQ3JkUyAmJiB2aWEyWENyZFMpIHRoZW4gCgkgICAgKHZpYTJFbmNTID0gYWJzKChsYXllcjFYQ3JkUyAtIHZpYTJYQ3JkUykpKQoJKSAKCWlmKChsYXllcjFYQ3JkUyAmJiBsYXllcjJYQ3JkUykgdGhlbiAKCSAgICAobGF5ZXIyRW5jUyA9IGFicygobGF5ZXIxWENyZFMgLSBsYXllcjJYQ3JkUykpKQoJKSAKCWlmKChsYXllcjFYQ3JkUyAmJiBsYXllcjNYQ3JkUykgdGhlbiAKCSAgICAobGF5ZXIzRW5jUyA9IGFicygobGF5ZXIxWENyZFMgLSBsYXllcjNYQ3JkUykpKQoJKSAKCWlmKChsYXllcjFYQ3JkRCAmJiB2aWExWENyZEQpIHRoZW4gCgkgICAgKHZpYTFFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIHZpYTFYQ3JkRCkpKQoJKSAKCWlmKChsYXllcjFYQ3JkRCAmJiB2aWEyWENyZEQpIHRoZW4gCgkgICAgKHZpYTJFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIHZpYTJYQ3JkRCkpKQoJKQoJaWYoKGxheWVyMVhDcmREICYmIGxheWVyMlhDcmREKSB0aGVuIAoJICAgIChsYXllcjJFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIGxheWVyMlhDcmREKSkpCgkpIAoJaWYoKGxheWVyMVhDcmREICYmIGxheWVyM1hDcmREKSB0aGVuIAoJICAgIChsYXllcjNFbmNEID0gYWJzKChsYXllcjFYQ3JkRCAtIGxheWVyM1hDcmREKSkpCgkpIAoJaWYoKHZpYTFFbmNGICYmIHZpYTFFbmNMKSB0aGVuIAoJICAgICh2aWExU3BhY2VGTCA9ICh2aWExRW5jRiArIHZpYTFFbmNMICsgbCkpIAoJICAgICh2aWExT2ZmU2V0RkwgPSAodmlhMU1pblNwYWNlIC0gdmlhMVNwYWNlRkwpKSBlbHNlCgkgICAgKHZpYTFPZmZTZXRGTCA9IDAuMCkKCSkgCglpZigodmlhMkVuY0YgJiYgdmlhMkVuY0wpIHRoZW4gCgkgICAgKHZpYTJTcGFjZUZMID0gKHZpYTJFbmNGICsgdmlhMkVuY0wgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRGTCA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VGTCkpIGVsc2UKCSAgICAodmlhMk9mZlNldEZMID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNGICYmIGxheWVyM0VuY0wpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlRkwgPSAobGF5ZXIzRW5jRiArIGxheWVyM0VuY0wgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldEZMID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VGTCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0RkwgPSAwLjApCgkpCglpZigobGF5ZXIyRW5jRiAmJiBsYXllcjJFbmNMKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZUZMID0gKGxheWVyMkVuY0YgKyBsYXllcjJFbmNMICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRGTCA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlRkwpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldEZMID0gMC4wKQoJKSAKCWlmKCh2aWExRW5jRiAmJiB2aWExRW5jUykgdGhlbiAKCSAgICAodmlhMVNwYWNlRlMgPSAodmlhMUVuY0YgKyB2aWExRW5jUyArIGwpKSAKCSAgICAodmlhMU9mZlNldEZTID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUZTKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0RlMgPSAwLjApCgkpIAoJaWYoKHZpYTJFbmNGICYmIHZpYTJFbmNTKSB0aGVuIAoJICAgICh2aWEyU3BhY2VGUyA9ICh2aWEyRW5jRiArIHZpYTJFbmNTICsgbCkpIAoJICAgICh2aWEyT2ZmU2V0RlMgPSAodmlhMk1pblNwYWNlIC0gdmlhMlNwYWNlRlMpKSBlbHNlCgkgICAgKHZpYTJPZmZTZXRGUyA9IDAuMCkKCSkgCglpZigobGF5ZXIzRW5jRiAmJiBsYXllcjNFbmNTKSB0aGVuIAoJICAgIChsYXllcjNTcGFjZUZTID0gKGxheWVyM0VuY0YgKyBsYXllcjNFbmNTICsgbCkpIAoJICAgIChsYXllcjNPZmZTZXRGUyA9IChsYXllcjNNaW5TcGFjZSAtIGxheWVyM1NwYWNlRlMpKSBlbHNlCgkgICAgKGxheWVyM09mZlNldEZTID0gMC4wKQoJKSAKCWlmKChsYXllcjJFbmNGICYmIGxheWVyMkVuY1MpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlRlMgPSAobGF5ZXIyRW5jRiArIGxheWVyMkVuY1MgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldEZTID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VGUykpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0RlMgPSAwLjApCgkpCglpZigodmlhMUVuY0YgJiYgdmlhMUVuY0QpIHRoZW4gCgkgICAgKHZpYTFTcGFjZUZEID0gKHZpYTFFbmNGICsgdmlhMUVuY0QgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRGRCA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VGRCkpIGVsc2UKCSAgICAodmlhMU9mZlNldEZEID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jRiAmJiB2aWEyRW5jRCkgdGhlbiAKCSAgICAodmlhMlNwYWNlRkQgPSAodmlhMkVuY0YgKyB2aWEyRW5jRCArIGwpKSAKCSAgICAodmlhMk9mZlNldEZEID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUZEKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0RkQgPSAwLjApCgkpIAoJaWYoKGxheWVyM0VuY0YgJiYgbGF5ZXIzRW5jRCkgdGhlbiAKCSAgICAobGF5ZXIzU3BhY2VGRCA9IChsYXllcjNFbmNGICsgbGF5ZXIzRW5jRCArIGwpKSAKCSAgICAobGF5ZXIzT2ZmU2V0RkQgPSAobGF5ZXIzTWluU3BhY2UgLSBsYXllcjNTcGFjZUZEKSkgZWxzZQoJICAgIChsYXllcjNPZmZTZXRGRCA9IDAuMCkKCSkgCglpZigobGF5ZXIyRW5jRiAmJiBsYXllcjJFbmNEKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZUZEID0gKGxheWVyMkVuY0YgKyBsYXllcjJFbmNEICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRGRCA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlRkQpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldEZEID0gMC4wKQoJKSAKCWlmKCh2aWExRW5jTCAmJiB2aWExRW5jUykgdGhlbiAKCSAgICAodmlhMVNwYWNlTFMgPSAodmlhMUVuY0wgKyB2aWExRW5jUyArIGwpKSAKCSAgICAodmlhMU9mZlNldExTID0gKHZpYTFNaW5TcGFjZSAtIHZpYTFTcGFjZUxTKSkgZWxzZQoJICAgICh2aWExT2ZmU2V0TFMgPSAwLjApCgkpCglpZigodmlhMkVuY0wgJiYgdmlhMkVuY1MpIHRoZW4gCgkgICAgKHZpYTJTcGFjZUxTID0gKHZpYTJFbmNMICsgdmlhMkVuY1MgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRMUyA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VMUykpIGVsc2UKCSAgICAodmlhMk9mZlNldExTID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNMICYmIGxheWVyM0VuY1MpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlTFMgPSAobGF5ZXIzRW5jTCArIGxheWVyM0VuY1MgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldExTID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VMUykpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0TFMgPSAwLjApCgkpIAoJaWYoKGxheWVyMkVuY0wgJiYgbGF5ZXIyRW5jUykgdGhlbiAKCSAgICAobGF5ZXIyU3BhY2VMUyA9IChsYXllcjJFbmNMICsgbGF5ZXIyRW5jUyArIGwpKSAKCSAgICAobGF5ZXIyT2ZmU2V0TFMgPSAobGF5ZXIyTWluU3BhY2UgLSBsYXllcjJTcGFjZUxTKSkgZWxzZQoJICAgIChsYXllcjJPZmZTZXRMUyA9IDAuMCkKCSkgCglpZigodmlhMUVuY0wgJiYgdmlhMUVuY0QpIHRoZW4gCgkgICAgKHZpYTFTcGFjZUxEID0gKHZpYTFFbmNMICsgdmlhMUVuY0QgKyBsKSkgCgkgICAgKHZpYTFPZmZTZXRMRCA9ICh2aWExTWluU3BhY2UgLSB2aWExU3BhY2VMRCkpIGVsc2UKCSAgICAodmlhMU9mZlNldExEID0gMC4wKQoJKSAKCWlmKCh2aWEyRW5jTCAmJiB2aWEyRW5jRCkgdGhlbiAKCSAgICAodmlhMlNwYWNlTEQgPSAodmlhMkVuY0wgKyB2aWEyRW5jRCArIGwpKSAKCSAgICAodmlhMk9mZlNldExEID0gKHZpYTJNaW5TcGFjZSAtIHZpYTJTcGFjZUxEKSkgZWxzZQoJICAgICh2aWEyT2ZmU2V0TEQgPSAwLjApCgkpCglpZigobGF5ZXIzRW5jTCAmJiBsYXllcjNFbmNEKSB0aGVuIAoJICAgIChsYXllcjNTcGFjZUxEID0gKGxheWVyM0VuY0wgKyBsYXllcjNFbmNEICsgbCkpIAoJICAgIChsYXllcjNPZmZTZXRMRCA9IChsYXllcjNNaW5TcGFjZSAtIGxheWVyM1NwYWNlTEQpKSBlbHNlCgkgICAgKGxheWVyM09mZlNldExEID0gMC4wKQoJKSAKCWlmKChsYXllcjJFbmNMICYmIGxheWVyMkVuY0QpIHRoZW4gCgkgICAgKGxheWVyMlNwYWNlTEQgPSAobGF5ZXIyRW5jTCArIGxheWVyMkVuY0QgKyBsKSkgCgkgICAgKGxheWVyMk9mZlNldExEID0gKGxheWVyMk1pblNwYWNlIC0gbGF5ZXIyU3BhY2VMRCkpIGVsc2UKCSAgICAobGF5ZXIyT2ZmU2V0TEQgPSAwLjApCgkpIAoJaWYoKHZpYTFFbmNTICYmIHZpYTFFbmNEKSB0aGVuIAoJICAgICh2aWExU3BhY2VTRCA9ICh2aWExRW5jUyArIHZpYTFFbmNEICsgbCkpIAoJICAgICh2aWExT2ZmU2V0U0QgPSAodmlhMU1pblNwYWNlIC0gdmlhMVNwYWNlU0QpKSBlbHNlCgkgICAgKHZpYTFPZmZTZXRTRCA9IDAuMCkKCSkgCglpZigodmlhMkVuY1MgJiYgdmlhMkVuY0QpIHRoZW4gCgkgICAgKHZpYTJTcGFjZVNEID0gKHZpYTJFbmNTICsgdmlhMkVuY0QgKyBsKSkgCgkgICAgKHZpYTJPZmZTZXRTRCA9ICh2aWEyTWluU3BhY2UgLSB2aWEyU3BhY2VTRCkpIGVsc2UKCSAgICAodmlhMk9mZlNldFNEID0gMC4wKQoJKSAKCWlmKChsYXllcjNFbmNTICYmIGxheWVyM0VuY0QpIHRoZW4gCgkgICAgKGxheWVyM1NwYWNlU0QgPSAobGF5ZXIzRW5jUyArIGxheWVyM0VuY0QgKyBsKSkgCgkgICAgKGxheWVyM09mZlNldFNEID0gKGxheWVyM01pblNwYWNlIC0gbGF5ZXIzU3BhY2VTRCkpIGVsc2UKCSAgICAobGF5ZXIzT2ZmU2V0U0QgPSAwLjApCgkpCglpZigobGF5ZXIyRW5jUyAmJiBsYXllcjJFbmNEKSB0aGVuIAoJICAgIChsYXllcjJTcGFjZVNEID0gKGxheWVyMkVuY1MgKyBsYXllcjJFbmNEICsgbCkpIAoJICAgIChsYXllcjJPZmZTZXRTRCA9IChsYXllcjJNaW5TcGFjZSAtIGxheWVyMlNwYWNlU0QpKSBlbHNlCgkgICAgKGxheWVyMk9mZlNldFNEID0gMC4wKQoJKSAKCWlmKChtID09IDEpIHRoZW4gCgkgICAgKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RkwgdmlhMk9mZlNldEZMIGxheWVyMk9mZlNldEZMIGxheWVyM09mZlNldEZMIDAuMCkpIGVsc2UgCgkgICAgaWYoKG0gPT0gMikgdGhlbiAKCQlpZihzb3VyY2VGaXJzdCB0aGVuIAoJCSAgICAobWF4T2ZmU2V0ID0gbWF4KHZpYTFPZmZTZXRGRCB2aWEyT2ZmU2V0RkQgbGF5ZXIyT2ZmU2V0RkQgbGF5ZXIzT2ZmU2V0RkQgdmlhMU9mZlNldExECgkJCSAgICB2aWEyT2ZmU2V0TEQgbGF5ZXIyT2ZmU2V0TEQgbGF5ZXIzT2ZmU2V0TEQgMC4wCgkJCSkpIGVsc2UgCgkJICAgIChtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZTIHZpYTJPZmZTZXRGUyBsYXllcjJPZmZTZXRGUyBsYXllcjNPZmZTZXRGUyB2aWExT2ZmU2V0TFMKCQkJICAgIHZpYTJPZmZTZXRMUyBsYXllcjJPZmZTZXRMUyBsYXllcjNPZmZTZXRMUyAwLjAKCQkJKSkKCQkpIGVsc2UgCgkJaWYoKG1vZChtIDIpID09IDApIHRoZW4gCgkJICAgIGlmKHNvdXJjZUZpcnN0IHRoZW4gCgkJCShtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZEIHZpYTJPZmZTZXRGRCBsYXllcjJPZmZTZXRGRCBsYXllcjNPZmZTZXRGRCB2aWExT2ZmU2V0U0QKCQkJCXZpYTJPZmZTZXRTRCBsYXllcjJPZmZTZXRTRCBsYXllcjNPZmZTZXRTRCB2aWExT2ZmU2V0TEQgdmlhMk9mZlNldExECgkJCQlsYXllcjJPZmZTZXRMRCBsYXllcjNPZmZTZXRMRCAwLjAKCQkJICAgICkpIGVsc2UgCgkJCShtYXhPZmZTZXQgPSBtYXgodmlhMU9mZlNldEZTIHZpYTJPZmZTZXRGUyBsYXllcjJPZmZTZXRGUyBsYXllcjNPZmZTZXRGUyB2aWExT2ZmU2V0U0QKCQkJCXZpYTJPZmZTZXRTRCBsYXllcjJPZmZTZXRTRCBsYXllcjNPZmZTZXRTRCB2aWExT2ZmU2V0TFMgdmlhMk9mZlNldExTCgkJCQlsYXllcjJPZmZTZXRMUyBsYXllcjNPZmZTZXRMUyAwLjAKCQkJICAgICkpCgkJICAgICkgZWxzZSAKCQkgICAgaWYoc291cmNlRmlyc3QgdGhlbiAKCQkJKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RkQgdmlhMk9mZlNldEZEIGxheWVyMk9mZlNldEZEIGxheWVyM09mZlNldEZEIHZpYTFPZmZTZXRTRAoJCQkJdmlhMk9mZlNldFNEIGxheWVyMk9mZlNldFNEIGxheWVyM09mZlNldFNEIHZpYTFPZmZTZXRMUyB2aWEyT2ZmU2V0TFMKCQkJCWxheWVyMk9mZlNldExTIGxheWVyM09mZlNldExTIDAuMAoJCQkgICAgKSkgZWxzZSAKCQkJKG1heE9mZlNldCA9IG1heCh2aWExT2ZmU2V0RlMgdmlhMk9mZlNldEZTIGxheWVyMk9mZlNldEZTIGxheWVyM09mZlNldEZTIHZpYTFPZmZTZXRTRAoJCQkJdmlhMk9mZlNldFNEIGxheWVyMk9mZlNldFNEIGxheWVyM09mZlNldFNEIHZpYTFPZmZTZXRMRCB2aWEyT2ZmU2V0TEQKCQkJCWxheWVyMk9mZlNldExEIGxheWVyM09mZlNldExEIDAuMAoJCQkgICAgKSkKCQkgICAgKQoJCSkKCSAgICApCgkpIAoJKG9mZnNldFNpZGUgPSAobWF4T2ZmU2V0IC8gMi4wKSkgCgkobWluU3BhY2VPZmZTZXQgPSAoKGNlaWxpbmcgCgkJICAgICgob2Zmc2V0U2lkZSAvIHNuYXBHcmlkKSArIC0xZS0wNikKCQkpICogc25hcEdyaWQpKSAKCXdoZW4oKGxpc3RwKGlkTGF5ZXIpICYmIChjYWRyKGlkTGF5ZXIpID09ICJodiIpICYmIChodlBZTWNvblNwYWNlID4gMC4wKSkgCgkgICAgKG1pblNwYWNlT2ZmU2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgaHZQWU1jb25TcGFjZSkpCgkpCglpZigoYmNrQ29tcGF0aWJsZU9mZlNldCAmJiAoKHNyY09mZnNldCAhPSAwLjApIHx8IChkcm5PZmZzZXQgIT0gMC4wKSkpIHRoZW4gCgkgICAgKG1pblNwYWNlT2ZmU2V0ID0gMC4wKQoJKSAKCWlmKGltcGxhbnQgdGhlbiAKCSAgICAoY29udGFjdEltcFBhcmFtID0gbGlzdCgiaW1wbGFudCIgImJvb2xlYW4iIHQpKSBlbHNlIAoJICAgIChjb250YWN0SW1wUGFyYW0gPSBsaXN0KCJpbXBsYW50IiAiYm9vbGVhbiIgIkZBTFNFIikpCgkpIAoJaWYoaWRDaG9pY2UgdGhlbiAKCSAgICAoaWRFbmNQYXJhbSA9IGxpc3QoImlkQ2hvaWNlIiAiYm9vbGVhbiIgdCkpIGVsc2UgCgkgICAgKGlkRW5jUGFyYW0gPSBsaXN0KCJpZENob2ljZSIgImJvb2xlYW4iICJGQUxTRSIpKQoJKSAKCWlmKHdlbGxMYXllciB0aGVuIAoJICAgIChjb250YWN0V2VsbFBhcmFtID0gbGlzdCgiaW5XZWxsIiAiYm9vbGVhbiIgdCkpIGVsc2UgCgkgICAgKGNvbnRhY3RXZWxsUGFyYW0gPSBsaXN0KCJpbldlbGwiICJib29sZWFuIiAiRkFMU0UiKSkKCSkgCgl3aGVuKGRpZmZJbXBDaG9pY2VzIAoJICAgIChkaWZmSW1wQ2hvaWNlUGFyYW0gPSBsaXN0KCJkaWZmSW1wQ2hvaWNlIiAiZml4bnVtIiBkaWZmTWF0Y2gpKQoJKQoJd2hlbih0YXBJbXBDaG9pY2VzIAoJICAgICh0YXBJbXBDaG9pY2VQYXJhbSA9IGxpc3QoInRhcEltcENob2ljZSIgImZpeG51bSIgdGFwTWF0Y2gpKQoJKSAKCSh4MUNvb3JkID0gMC4wKSAKCSh5MUNvb3JkID0gMC4wKSAKCShsYXN0WDFDb29yZCA9ICgtICgyLjAgKiAoZGVwWEVuYyArIGRlcFNwYWNlKSkpKSAKCXdoZW4oZGVwTGF5ZXIgCgkgICAgKHkxRGVwQ29vcmQgPSAoeTFDb29yZCAtIGRlcFlFbmMpKSAKCSAgICAoeTJEZXBDb29yZCA9ICh5MUNvb3JkICsgdyArIGRlcFlFbmMpKQoJKQoJKGxhc3RQWWlYMUNvb3JkID0gKC0gKDIuMCAqIHBvbHlJbXBYRW5jKSkpIAoJd2hlbihwb2x5SW1wbGFudCAKCSAgICAoeTFQWWlDb29yZCA9ICh5MUNvb3JkIC0gcG9seUltcFlFbmMgLSBnYXRlRXh0KSkgCgkgICAgKHkyUFlpQ29vcmQgPSAoeTFDb29yZCArIHcgKyBwb2x5SW1wWUVuYyArIGdhdGVFeHQpKQoJKSAKCWlmKChpZExheWVyICYmIGxpc3RwKGlkTGF5ZXIpICYmIChjYWRyKGlkTGF5ZXIpID09ICJodiIpICYmICh3ZWxsRW5jSHZMYXllciA+IDAuMCkpIHRoZW4gCgkgICAgKHdlbGxFbmNEaWZmWSA9IChpZEVuY1kgKyB3ZWxsRW5jSHZMYXllcikpIAoJICAgICh3ZWxsRW5jVGFwWSA9IChpZEVuY1kgKyB3ZWxsRW5jSHZMYXllcikpIAoJICAgICh3ZWxsRW5jRGlmZlggPSAobWF4KGlkRW5jWEwgaWRFbmNYUikgKyB3ZWxsRW5jSHZMYXllcikpCgkgICAgKHdlbGxFbmNUYXBYID0gKG1heChpZEVuY1hMIGlkRW5jWFIpICsgd2VsbEVuY0h2TGF5ZXIpKSBlbHNlIAoJICAgICh3ZWxsRW5jRGlmZlkgPSB3ZWxsRW5jRGlmZikgCgkgICAgKHdlbGxFbmNUYXBZID0gd2VsbEVuY1RhcCkgCgkgICAgKHdlbGxFbmNEaWZmWCA9IHdlbGxFbmNEaWZmKQoJICAgICh3ZWxsRW5jVGFwWCA9IHdlbGxFbmNUYXApCgkpIAoJd2hlbigoZmlyc3RDb250YWN0ICE9ICIiKSAKCSAgICAoY29udGFjdElkID0gKGRiT3BlbkNlbGxWaWV3IAoJCSAgICAodGNDZWxsVmlld34+bGliKSBmaXJzdENvbnRhY3QgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpIAoJICAgIHVubGVzcyhjb250YWN0SWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gZmlyc3RDb250YWN0IGNvbnRhY3QgY2VsbCBgJXMnIiBmaXJzdENvbnRhY3QpKQoJICAgICkgCgkgICAgdW5sZXNzKChjb250YWN0SWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBmaXJzdENvbnRhY3QpKQoJICAgICkgCgkgICAgaWYoKGNOZXQgPT0gc05ldCkgdGhlbiAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgc3JjT2Zmc2V0KSkgZWxzZSAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgZHJuT2Zmc2V0KSkKCSAgICApCgkgICAgKHBhcmFtcyA9IChjb250YWN0SWR+PnBhcmFtZXRlcnMpKSAKCSAgICAoaW5zdFBhcmFtcyA9IGxpc3QobGlzdCgidyIgImZsb2F0IiB3KSkpIAoJICAgIHdoZW4oKHBhcmFtc34+aW1wbGFudCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RJbXBQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmlkQ2hvaWNlKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgaWRFbmNQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmluV2VsbCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RXZWxsUGFyYW0pKQoJICAgICkKCSAgICB3aGVuKChkaWZmSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj5kaWZmSW1wQ2hvaWNlKSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKCh0YXBJbXBDaG9pY2VzICYmIChwYXJhbXN+PnRhcEltcENob2ljZSkpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyB0YXBJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChjb250YWN0Q2hvaWNlcyAmJiAocGFyYW1zfj5ub0RpZmZDb250YWN0KSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZDb25QYXJhbSkpCgkgICAgKSAKCSAgICAoaW5zdCA9IChkYkNyZWF0ZVBhcmFtSW5zdCB0Y0NlbGxWaWV3IGNvbnRhY3RJZCAiYzAiIAoJCSAgICAoKC0gb2Zmc2V0KTowKQoJCSAgICAiTVkiIDEgaW5zdFBhcmFtcwoJCSkpIAoJICAgIHVubGVzcyhpbnN0IAoJCWVycm9yKHNwcmludGYobmlsICJGYWlsZWQgdG8gY3JlYXRlIGluc3RhbmNlIG9mIGAlcyciIGZpcnN0Q29udGFjdCkpCgkgICAgKQoJICAgIHdoZW4oZGlmZkltcGxhbnQgCgkJKGRpZmZJbXBsYW50Um9kID0gKHJvZEdldE9iaiBpbnN0KSkgCgkJKGRpZmZJbXBsYW50ZGJpZCA9IChyb2RDcmVhdGVSZWN0ID9sYXllciBkaWZmSW1wYW50T1JsYXllciA/ZnJvbU9iaiBkaWZmSW1wbGFudFJvZAoJCQk/c2l6ZSBPUmxheWVyU2l6ZQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJbGlzdCgoZGlmZkltcGxhbnRkYmlkLT5kYklkKSkKCQkgICAgKSkKCSAgICApIAoJICAgIHdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCSAgICBsaXN0KCgoeDFDb29yZCAtIG9mZnNldCk6eTFDb29yZCkgCgkJCSh4MUNvb3JkOncpCgkJICAgICkKCQkpIAoJCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCSAgICBsaXN0KGxpc3QoKHgxQ29vcmQgLSBvZmZzZXQpIAoJCQkJICAgICh5MUNvb3JkIC0gZGlmZkltcEVuYykKCQkJCSkgCgkJCQlsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHcgKyBkaWZmSW1wRW5jKQoJCQkJKQoJCQkgICAgKQoJCQkpKSAKCQkgICAgKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkpKSAKCQkgICAgKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkpKQoJCSkgCgkJd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBvZmZzZXQpIAoJCQkJKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJICAgICkgCgkJCSAgICBsaXN0KHgxQ29vcmQgCgkJCQkodyArIGRpZmZDb3JlSW1wRW5jKQoJCQkgICAgKQoJCQkpCgkJICAgICkKCQkpCgkgICAgKSAKCSAgICAobWFzdGVyID0gKGluc3R+Pm1hc3RlcikpIAoJICAgIHVubGVzcygoKG1hc3Rlcn4+dG9wTGF5ZXIpICYmIChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpIAoJCWVycm9yKHNwcmludGYobmlsICJNaXNzaW5nIHRvcExheWVyIGFuZC9vciB0b3BMYXllclBpbkJib3ggY2VsbCBwcm9wZXJ0aWVzIGluIGAlcyciIGZpcnN0Q29udGFjdCkpCgkgICAgKSAKCSAgICAoYkJveCA9IGxpc3QobGlzdCgoLSAob2Zmc2V0ICsgY2FhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSkpIAoJCQljYWRhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCSAgICApIAoJCSAgICBsaXN0KCgtIChvZmZzZXQgKyBjYWFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSkpIAoJCQljYWRhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkgICAgKQoJCSkpCgkgICAgKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgCgkJICAgIChtYXN0ZXJ+PnRvcExheWVyKSBiQm94CgkJKSkgCgkgICAgKHBpbmlkID0gKGRiQ3JlYXRlUGluIGNOZXQgZGJpZCkpIAoJICAgIHNldFNHcShwaW5pZCAKCQlsaXN0KCJ0b3AiICJib3R0b20iICJsZWZ0IikgYWNjZXNzRGlyCgkgICAgKSAKCSAgICB3aGVuKGxhYmVsTGF5ZXIgCgkJKGRiQ3JlYXRlTGFiZWwgdGNDZWxsVmlldyBsYWJlbExheWVyIAoJCSAgICBsaXN0KChjYWFyKGJCb3gpICsgKChjYWFkcihiQm94KSAtIGNhYXIoYkJveCkpIC8gMi4wKSkgCgkJCShjYWRhcihiQm94KSArICgoY2FkYWRyKGJCb3gpIC0gY2FkYXIoYkJveCkpIC8gMi4wKSkKCQkgICAgKSBuZXRMCgkJICAgICJjZW50ZXJDZW50ZXIiICJSMCIgInJvbWFuIiBsYWJlbFdpZHRoCgkJKQoJICAgICkgCgkgICAgd2hlbigod2VsbExheWVyIHx8IGlkTGF5ZXIgfHwgaHZMYXllcikgCgkJdW5sZXNzKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpIAoJCSAgICBlcnJvcihzcHJpbnRmKG5pbCAiQ2Fubm90IGZpbmQgZGlmZkxheWVyQmJveCBwcm9wZXJ0eSBmb3IgYCVzJyIgZmlyc3RDb250YWN0KSkKCQkpIAoJCSh4MURpZmZDb29yZCA9IGNhYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkJKHgxVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FhZHIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSAgICApKSAKCQkoeTJEaWZmQ29vcmQgPSBjYWRhZHIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKQoJCSh5MlRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkJYWJzKGNhZGFkcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJICAgICkpIAoJCSh5MURpZmZDb29yZCA9IGNhZGFyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkJKHkxVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FkYXIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSAgICApKSAKCQl3aGVuKHdlbGxMYXllciAKCQkgICAgKHgxV2VsbENvb3JkID0gKC0gKG9mZnNldCArIG1heCgod2VsbEVuY0RpZmZYICsgeDFEaWZmQ29vcmQpIAoJCQkJICAgICh3ZWxsRW5jVGFwWCArIHgxVGFwQ29vcmQpCgkJCQkpKSkpIAoJCSAgICAoeTFXZWxsQ29vcmQgPSAoLSBtYXgoKHdlbGxFbmNEaWZmWSArIHkxRGlmZkNvb3JkKSAKCQkJCSh3ZWxsRW5jVGFwWSArIHkxVGFwQ29vcmQpCgkJCSAgICApKSkgCgkJICAgICh5MldlbGxDb29yZCA9IG1heCgod2VsbEVuY0RpZmZZICsgeTJEaWZmQ29vcmQpIAoJCQkgICAgKHdlbGxFbmNUYXBZICsgeTJUYXBDb29yZCkKCQkJKSkKCQkpIAoJCXdoZW4oaHZMYXllciAKCQkgICAgKHgxSFZMYXllckNvb3JkID0gKC0gKG9mZnNldCArIG1heCgoaHZFbmNsb3N1cmUgKyB4MURpZmZDb29yZCkgCgkJCQkgICAgKGh2RW5jbG9zdXJlICsgeDFUYXBDb29yZCkKCQkJCSkpKSkgCgkJICAgICh5MUhWTGF5ZXJDb29yZCA9ICgtIG1heCgoaHZFbmNsb3N1cmUgKyB5MURpZmZDb29yZCkgCgkJCQkoaHZFbmNsb3N1cmUgKyB5MVRhcENvb3JkKQoJCQkgICAgKSkpIAoJCSAgICAoeTJIVkxheWVyQ29vcmQgPSBtYXgoKGh2RW5jbG9zdXJlICsgeTJEaWZmQ29vcmQpIAoJCQkgICAgKGh2RW5jbG9zdXJlICsgeTJUYXBDb29yZCkKCQkJKSkKCQkpCgkJd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJICAgIGlmKGlkRW5jRGlmZiB0aGVuIAoJCQkoeDFJZENvb3JkID0gKC0gKG9mZnNldCArIG1heCgoaWRFbmNYTCArIHgxRGlmZkNvb3JkKSAKCQkJCQkoaWRFbmNYTCArIHgxVGFwQ29vcmQpCgkJCQkgICAgKSkpKSAKCQkJKHkxSWRDb29yZCA9ICgtIG1heCgoaWRFbmNZICsgeTFEaWZmQ29vcmQpIAoJCQkJICAgIChpZEVuY1kgKyB5MVRhcENvb3JkKQoJCQkJKSkpIAoJCQkoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgCgkJCQkoaWRFbmNZICsgeTJUYXBDb29yZCkKCQkJICAgICkpCgkJCWVsc2UgCgkJCSh4MUlkQ29vcmQgPSAoLSAob2Zmc2V0ICsgaWRFbmNYTCkpKSAKCQkJKHkxSWRDb29yZCA9ICgtIGlkRW5jWSkpIAoJCQkoeTJJZENvb3JkID0gaWRFbmNZKQoJCSAgICApCgkJKQoJICAgICkKCSAgICAoZGJDbG9zZSBjb250YWN0SWQpCgkpIAoJKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCWxpc3QoKCh4MUNvb3JkIC0gZGlmZkV4dCk6eTFDb29yZCkgCgkJICAgICh4MUNvb3JkOncpCgkJKQoJICAgICkpCgkocGluaWQgPSAoZGJDcmVhdGVQaW4gY05ldCBkYmlkKSkgCglzZXRTR3EocGluaWQgCgkgICAgbGlzdCgidG9wIiAiYm90dG9tIiAibGVmdCIpIGFjY2Vzc0RpcgoJKSAKCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJICAgIChjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkgICAgbGlzdChsaXN0KCh4MUNvb3JkIC0gZGlmZkV4dCkgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSkgCgkJCWxpc3QoeDFDb29yZCAKCQkJICAgICh3ICsgZGlmZkltcEVuYykKCQkJKQoJCSAgICApCgkJKSkgCgkgICAgKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJKSkgCgkgICAgKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJICAgIGxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJKSkKCSkgCgl3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkgICAgKSAKCQkgICAgbGlzdCh4MUNvb3JkIAoJCQkodyArIGRpZmZDb3JlSW1wRW5jKQoJCSAgICApCgkJKQoJICAgICkKCSkgCgl3aGVuKChmaXJzdENvbnRhY3QgPT0gIiIpIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKC0gKHgxQ29vcmQgKyAoZGlmZkV4dCAvIDIuMCkpKSAKCQkJKHkxQ29vcmQgKyAodyAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgIHdoZW4od2VsbExheWVyIAoJCSh4MVdlbGxDb29yZCA9ICgtICh4MUNvb3JkICsgZGlmZkV4dCArIHdlbGxFbmNEaWZmWCkpKSAKCQkoeTFXZWxsQ29vcmQgPSAoLSAoeTFDb29yZCArIHdlbGxFbmNEaWZmWSkpKSAKCQkoeTJXZWxsQ29vcmQgPSAoeTFDb29yZCArIHcgKyB3ZWxsRW5jRGlmZlkpKQoJICAgICkgCgkgICAgd2hlbihodkxheWVyIAoJCSh4MUhWTGF5ZXJDb29yZCA9ICgtICh4MUNvb3JkICsgZGlmZkV4dCArIGh2RW5jbG9zdXJlKSkpIAoJCSh5MUhWTGF5ZXJDb29yZCA9ICgtICh5MUNvb3JkICsgaHZFbmNsb3N1cmUpKSkgCgkJKHkySFZMYXllckNvb3JkID0gKHkxQ29vcmQgKyB3ICsgaHZFbmNsb3N1cmUpKQoJICAgICkgCgkgICAgd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJaWYoaWRFbmNEaWZmIHRoZW4gCgkJICAgICh4MUlkQ29vcmQgPSAoLSAoeDFDb29yZCArIGRpZmZFeHQgKyBpZEVuY1hMKSkpIAoJCSAgICAoeTFJZENvb3JkID0gKC0gKHkxQ29vcmQgKyBpZEVuY1kpKSkgCgkJICAgICh5MklkQ29vcmQgPSAoeTFDb29yZCArIHcgKyBpZEVuY1kpKQoJCSAgICBlbHNlIAoJCSAgICAoeDFJZENvb3JkID0gKC0gaWRFbmNYTCkpIAoJCSAgICAoeTFJZENvb3JkID0gKC0gaWRFbmNZKSkgCgkJICAgICh5MklkQ29vcmQgPSAoeTFDb29yZCArIHcgKyBpZEVuY1kpKQoJCSkKCSAgICApCgkgICAgd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCAmJiBub0VuZENvbkltcEVuYykgCgkJKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQlsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0IC0gZGlmZkltcEVuYykgCgkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCh4MUNvb3JkIAoJCQkJKHcgKyBkaWZmSW1wRW5jKQoJCQkgICAgKQoJCQkpCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnREaWZmID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50RGlmZiAKCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkgICAgKSkKCSAgICApIAoJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50ICYmIG5vRW5kQ29uSW1wRW5jKSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoKHgxQ29vcmQgLSBkaWZmRXh0IC0gZGlmZkNvcmVJbXBFbmMpIAoJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJKSAKCQkJbGlzdCh4MUNvb3JkIAoJCQkgICAgKHcgKyBkaWZmQ29yZUltcEVuYykKCQkJKQoJCSAgICApCgkJKQoJICAgICkKCSkKCXdoZW4oKG0gPiAxKSAKCSAgICB3aGVuKChzaGFyZWRTb3VyY2UgPT0gIiIpIAoJCWVycm9yKCJNaXNzaW5nIHNoYXJlZCBzb3VyY2UgY29udGFjdCBuYW1lIHByb3BlcnR5IikKCSAgICApIAoJICAgIChzaGFyZWRTcmNJZCA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgc2hhcmVkU291cmNlICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKSAKCSAgICB1bmxlc3Moc2hhcmVkU3JjSWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gc2hhcmVkIHNvdXJjZSBjb250YWN0IGNlbGwgYCVzJyIgc2hhcmVkU291cmNlKSkKCSAgICApIAoJICAgIHVubGVzcygoc2hhcmVkU3JjSWR+PmlzUGFyYW1DZWxsKSAKCQllcnJvcihzcHJpbnRmKG5pbCAiTmFtZWQgY2VsbCBpcyBub3QgYSBwY2VsbCBgJXMnIiBzaGFyZWRTb3VyY2UpKQoJICAgICkKCSAgICB3aGVuKChzaGFyZWREcmFpbiA9PSAiIikgCgkJZXJyb3IoIk1pc3Npbmcgc2hhcmVkIGRyYWluIGNvbnRhY3QgbmFtZSBwcm9wZXJ0eSIpCgkgICAgKSAKCSAgICAoc2hhcmVkRHJuSWQgPSAoZGJPcGVuQ2VsbFZpZXcgCgkJICAgICh0Y0NlbGxWaWV3fj5saWIpIHNoYXJlZERyYWluICJzeW1ib2xpYyIgbmlsCgkJICAgICJybiIKCQkpKSAKCSAgICB1bmxlc3Moc2hhcmVkRHJuSWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gc2hhcmVkIGRyYWluIGNvbnRhY3QgY2VsbCBgJXMnIiBzaGFyZWREcmFpbikpCgkgICAgKSAKCSAgICB1bmxlc3MoKHNoYXJlZERybklkfj5pc1BhcmFtQ2VsbCkgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIk5hbWVkIGNlbGwgaXMgbm90IGEgcGNlbGwgYCVzJyIgc2hhcmVkRHJhaW4pKQoJICAgICkKCSkgCgkoY05ldCA9IGlmKChjTmV0ID09IHNOZXQpIGROZXQgc05ldCkpIAoJKG5ldEwgPSBpZigobmV0TCA9PSAiUyIpICJEIiAiUyIpKSAKCWZvcihuIDEgbSAKCSAgICAoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBnYXRlTGF5ZXIgCgkJICAgIGxpc3QoKHgxQ29vcmQ6KHkxQ29vcmQgLSBnYXRlRXh0KSkgCgkJCSgoeDFDb29yZCArIGwpOih5MUNvb3JkICsgdyArIGdhdGVFeHQpKQoJCSAgICApCgkJKSkgCgkgICAgKGRiQWRkRmlnVG9OZXQgZGJpZCBnTmV0KQoJICAgIChkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGdhdGVMYXllciAKCQkgICAgbGlzdCgoeDFDb29yZDooeTFDb29yZCArIHcpKSAKCQkJKCh4MUNvb3JkICsgbCk6KHkxQ29vcmQgKyB3ICsgZ2F0ZUV4dCkpCgkJICAgICkKCQkpKSAKCSAgICAocGluaWQgPSAoZGJDcmVhdGVQaW4gZ05ldCBkYmlkKSkgCgkgICAgc2V0U0dxKHBpbmlkIAoJCWxpc3QoInRvcCIpIGFjY2Vzc0RpcgoJICAgICkgCgkgICAgKGRiaWQgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZ2F0ZUxheWVyIAoJCSAgICBsaXN0KCh4MUNvb3JkOih5MUNvb3JkIC0gZ2F0ZUV4dCkpIAoJCQkoKHgxQ29vcmQgKyBsKTp5MUNvb3JkKQoJCSAgICApCgkJKSkgCgkgICAgKHBpbmlkID0gKGRiQ3JlYXRlUGluIGdOZXQgZGJpZCkpCgkgICAgc2V0U0dxKHBpbmlkIAoJCWxpc3QoImJvdHRvbSIpIGFjY2Vzc0RpcgoJICAgICkgCgkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQlsaXN0KCh4MUNvb3JkOnkxQ29vcmQpIAoJCSAgICAoKHgxQ29vcmQgKyBsKTooeTFDb29yZCArIHcpKQoJCSkKCSAgICApIAoJICAgIHdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCShjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkJbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSAgICApIAoJCQkgICAgbGlzdCgoeDFDb29yZCArIGwpIAoJCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJICAgICkKCQkJKQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkgICAgKSkgCgkJKGNyZWF0ZWRJbXBsYW50RGlmZiA9IGFwcGVuZChjcmVhdGVkSW1wbGFudERpZmYgCgkJCWxpc3QoY3JlYXRlZEltcGxhbnR0bXApCgkJICAgICkpCgkgICAgKSAKCSAgICB3aGVuKChkaWZmQ29yZUltcGxhbnQgJiYgaW1wbGFudCkgCgkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkgICAgbGlzdChsaXN0KHgxQ29vcmQgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkpIAoJCQlsaXN0KCh4MUNvb3JkICsgbCkgCgkJCSAgICAoeTFDb29yZCArIHcgKyBkaWZmQ29yZUltcEVuYykKCQkJKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgd2hlbihkZXBMYXllciAKCQljb25kKCgoKHgxQ29vcmQgLSBsYXN0WDFDb29yZCAtICgyLjAgKiBkZXBYRW5jKSkgPCBkZXBTcGFjZSkgCgkJCSh4MURlcENvb3JkID0gKGxhc3RYMUNvb3JkICsgZGVwWEVuYykpCgkJICAgICkgCgkJICAgICh0IAoJCQkoeDFEZXBDb29yZCA9ICh4MUNvb3JkIC0gZGVwWEVuYykpCgkJICAgICkKCQkpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkZXBMYXllciAKCQkgICAgbGlzdCgoeDFEZXBDb29yZDp5MURlcENvb3JkKSAKCQkJKCh4MUNvb3JkICsgbCArIGRlcFhFbmMpOnkyRGVwQ29vcmQpCgkJICAgICkKCQkpCgkgICAgKQoJICAgIHdoZW4oKHBvbHlJbXBsYW50ICYmIGltcGxhbnQpIAoJCSh4MVBZaUNvb3JkID0gKHgxQ29vcmQgLSBwb2x5SW1wWEVuYykpIAoJCShkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBwb2x5SW1wbGFudCAKCQkgICAgbGlzdCgoeDFQWWlDb29yZDp5MVBZaUNvb3JkKSAKCQkJKCh4MUNvb3JkICsgbCArIHBvbHlJbXBYRW5jKTp5MlBZaUNvb3JkKQoJCSAgICApCgkJKQoJICAgICkgCgkgICAgKHgxQ29vcmQgPSAoeDFDb29yZCArIGwpKSAKCSAgICB3aGVuKChuICE9IG0pIAoJCWlmKChjTmV0ID09IHNOZXQpIHRoZW4gCgkJICAgIChjb250YWN0SWQgPSBzaGFyZWRTcmNJZCkgCgkJICAgIChvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBzcmNPZmZzZXQpKSBlbHNlCgkJICAgIChjb250YWN0SWQgPSBzaGFyZWREcm5JZCkgCgkJICAgIChvZmZzZXQgPSAobWluU3BhY2VPZmZTZXQgKyBkcm5PZmZzZXQpKQoJCSkgCgkJKHBhcmFtcyA9IChjb250YWN0SWR+PnBhcmFtZXRlcnMpKSAKCQkoaW5zdFBhcmFtcyA9IGxpc3QobGlzdCgidyIgImZsb2F0IiB3KSkpIAoJCXdoZW4oKHBhcmFtc34+aW1wbGFudCkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBjb250YWN0SW1wUGFyYW0pKQoJCSkKCQl3aGVuKChwYXJhbXN+PmlkQ2hvaWNlKSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGlkRW5jUGFyYW0pKQoJCSkgCgkJd2hlbigocGFyYW1zfj5pbldlbGwpIAoJCSAgICAoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgY29udGFjdFdlbGxQYXJhbSkpCgkJKSAKCQl3aGVuKChkaWZmSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj5kaWZmSW1wQ2hvaWNlKSkgCgkJICAgIChpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyBkaWZmSW1wQ2hvaWNlUGFyYW0pKQoJCSkgCgkJd2hlbigodGFwSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj50YXBJbXBDaG9pY2UpKSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIHRhcEltcENob2ljZVBhcmFtKSkKCQkpIAoJCXdoZW4oKGNvbnRhY3RDaG9pY2VzICYmIChwYXJhbXN+Pm5vRGlmZkNvbnRhY3QpKSAKCQkgICAgKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZDb25QYXJhbSkpCgkJKQoJCShpbnN0ID0gKGRiQ3JlYXRlUGFyYW1JbnN0IHRjQ2VsbFZpZXcgY29udGFjdElkIAoJCQlzcHJpbnRmKG5pbCAiYyVkIiBuKSAKCQkJKChvZmZzZXQgKyB4MUNvb3JkKTp5MUNvb3JkKQoJCQkiUjAiIDEgaW5zdFBhcmFtcwoJCSAgICApKSAKCQl1bmxlc3MoaW5zdCAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkZhaWxlZCB0byBjcmVhdGUgaW5zdGFuY2Ugb2YgYCVzJyIgCgkJCSAgICAoY29udGFjdElkfj5jZWxsTmFtZSkKCQkJKQoJCSAgICApCgkJKSAKCQl3aGVuKGRpZmZJbXBsYW50IAoJCSAgICAoZGlmZkltcGxhbnRSb2QgPSAocm9kR2V0T2JqIGluc3QpKSAKCQkgICAgKGRpZmZJbXBsYW50ZGJpZCA9IChyb2RDcmVhdGVSZWN0ID9sYXllciBkaWZmSW1wYW50T1JsYXllciA/ZnJvbU9iaiBkaWZmSW1wbGFudFJvZAoJCQkgICAgP3NpemUgT1JsYXllclNpemUKCQkJKSkgCgkJICAgIChjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQkgICAgbGlzdCgoZGlmZkltcGxhbnRkYmlkLT5kYklkKSkKCQkJKSkKCQkpIAoJCShtYXN0ZXIgPSAoaW5zdH4+bWFzdGVyKSkgCgkJdW5sZXNzKCgobWFzdGVyfj50b3BMYXllcikgJiYgKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJNaXNzaW5nIHRvcExheWVyIGFuZC9vciB0b3BMYXllclBpbkJib3ggY2VsbCBwcm9wZXJ0aWVzIGluIGAlcyciIAoJCQkgICAgKGNvbnRhY3RJZH4+Y2VsbE5hbWUpCgkJCSkKCQkgICAgKQoJCSkKCQkoYkJveCA9IGxpc3QobGlzdCgoY2FhcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKSArIHgxQ29vcmQgKyBvZmZzZXQpIAoJCQkgICAgY2FkYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkJKSAKCQkJbGlzdCgoY2FhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgKyB4MUNvb3JkICsgb2Zmc2V0KSAKCQkJICAgIGNhZGFkcigobWFzdGVyfj50b3BMYXllclBpbkJib3gpKQoJCQkpCgkJICAgICkpIAoJCShkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IAoJCQkobWFzdGVyfj50b3BMYXllcikgYkJveAoJCSAgICApKSAKCQkocGluaWQgPSAoZGJDcmVhdGVQaW4gY05ldCBkYmlkKSkgCgkJc2V0U0dxKHBpbmlkIAoJCSAgICBsaXN0KCJ0b3AiICJib3R0b20iKSBhY2Nlc3NEaXIKCQkpIAoJCXdoZW4obGFiZWxMYXllciAKCQkgICAgKGRiQ3JlYXRlTGFiZWwgdGNDZWxsVmlldyBsYWJlbExheWVyIAoJCQlsaXN0KChjYWFyKGJCb3gpICsgKChjYWFkcihiQm94KSAtIGNhYXIoYkJveCkpIC8gMi4wKSkgCgkJCSAgICAoY2FkYXIoYkJveCkgKyAoKGNhZGFkcihiQm94KSAtIGNhZGFyKGJCb3gpKSAvIDIuMCkpCgkJCSkgbmV0TAoJCQkiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSAgICApCgkJKQoJCXdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQkJbGlzdCgoeDFDb29yZDp5MUNvb3JkKSAKCQkJICAgICgob2Zmc2V0ICsgeDFDb29yZCk6KHkxQ29vcmQgKyB3KSkKCQkJKQoJCSAgICApIAoJCSAgICB3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQkJbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkJKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCQkJICAgICkgCgkJCQkgICAgbGlzdCgob2Zmc2V0ICsgeDFDb29yZCkgCgkJCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJCSAgICApCgkJCQkpCgkJCSAgICApKSAKCQkJKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkgICAgKSkgCgkJCShjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkJICAgICkpCgkJICAgICkgCgkJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCh4MUNvb3JkIAoJCQkJICAgICh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCQkpIAoJCQkJbGlzdCgob2Zmc2V0ICsgeDFDb29yZCkgCgkJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCQkpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkgCgkJdW5sZXNzKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpIAoJCSAgICBlcnJvcihzcHJpbnRmKG5pbCAiTWlzc2luZyBkaWZmTGF5ZXJCYm94IGNlbGwgcHJvcGVydGllcyBpbiBgJXMnIiAKCQkJICAgIChjb250YWN0SWR+PmNlbGxOYW1lKQoJCQkpCgkJICAgICkKCQkpIAoJCShsYXN0WDFDb29yZCA9IHgxQ29vcmQpIAoJCSh4MUNvb3JkID0gKCgyLjAgKiBvZmZzZXQpICsgKHgxQ29vcmQgKyAoY2FhZHIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpIC0gY2FhcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpKSkpIAoJCXdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZMYXllciAKCQkJbGlzdCgoKHgxQ29vcmQgLSBvZmZzZXQpOnkxQ29vcmQpIAoJCQkgICAgKHgxQ29vcmQ6KHkxQ29vcmQgKyB3KSkKCQkJKQoJCSAgICApIAoJCSAgICB3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGNyZWF0ZWRJbXBsYW50dG1wID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZJbXBsYW50IAoJCQkJbGlzdChsaXN0KCh4MUNvb3JkIC0gb2Zmc2V0KSAKCQkJCQkoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCQkgICAgKSAKCQkJCSAgICBsaXN0KHgxQ29vcmQgCgkJCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJCSAgICApCgkJCQkpCgkJCSAgICApKSAKCQkJKGNyZWF0ZWRJbXBsYW50MSA9IGFwcGVuZChjcmVhdGVkSW1wbGFudDEgCgkJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCQkgICAgKSkgCgkJCShjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkJICAgICkpCgkJICAgICkgCgkJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkJKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkJICAgIGxpc3QobGlzdCgoeDFDb29yZCAtIG9mZnNldCkgCgkJCQkgICAgKHkxQ29vcmQgLSBkaWZmQ29yZUltcEVuYykKCQkJCSkgCgkJCQlsaXN0KHgxQ29vcmQgCgkJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCQkpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkKCQkoeTFEaWZmQ29vcmQgPSBjYWRhcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJCSh5MVRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkJYWJzKGNhZGFyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJKHkyRGlmZkNvb3JkID0gY2FkYWRyKChtYXN0ZXJ+PmRpZmZMYXllckJib3gpKSkgCgkJKHkyVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCQlhYnMoY2FkYWRyKChtYXN0ZXJ+PnRhcExheWVyQmJveCkpKSAwLjAKCQkgICAgKSkgCgkJd2hlbih3ZWxsTGF5ZXIgCgkJICAgICh5MVdlbGxDb29yZCA9IG1pbigoLSBtYXgoKHdlbGxFbmNEaWZmWSArIHkxRGlmZkNvb3JkKSAKCQkJCSAgICAod2VsbEVuY1RhcFkgKyB5MVRhcENvb3JkKQoJCQkJKSkgeTFXZWxsQ29vcmQKCQkJKSkgCgkJICAgICh5MldlbGxDb29yZCA9IG1heCgod2VsbEVuY0RpZmZZICsgeTJEaWZmQ29vcmQpIAoJCQkgICAgKHdlbGxFbmNUYXBZICsgeTJUYXBDb29yZCkgeTJXZWxsQ29vcmQKCQkJKSkKCQkpCgkJd2hlbihodkxheWVyIAoJCSAgICAoeTFIVkxheWVyQ29vcmQgPSBtaW4oKC0gbWF4KChodkVuY2xvc3VyZSArIHkxRGlmZkNvb3JkKSAKCQkJCSAgICAoaHZFbmNsb3N1cmUgKyB5MUhWTGF5ZXJDb29yZCkKCQkJCSkpIHkxSFZMYXllckNvb3JkCgkJCSkpIAoJCSAgICAoeTJIVkxheWVyQ29vcmQgPSBtYXgoKGh2RW5jbG9zdXJlICsgeTJEaWZmQ29vcmQpIAoJCQkgICAgKGh2RW5jbG9zdXJlICsgeTJUYXBDb29yZCkgeTJIVkxheWVyQ29vcmQKCQkJKSkKCQkpIAoJCXdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJCSAgICBpZihpZEVuY0RpZmYgdGhlbiAKCQkJKHkxSWRDb29yZCA9IG1pbigoLSBtYXgoKGlkRW5jWSArIHkxRGlmZkNvb3JkKSAKCQkJCQkoaWRFbmNZICsgeTFUYXBDb29yZCkKCQkJCSAgICApKSB5MUlkQ29vcmQKCQkJICAgICkpIAoJCQkoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgCgkJCQkoaWRFbmNZICsgeTJUYXBDb29yZCkgeTJJZENvb3JkCgkJCSAgICApKSBlbHNlCgkJCSh5MUlkQ29vcmQgPSAoLSBpZEVuY1kpKSAKCQkJKHkySWRDb29yZCA9IGlkRW5jWSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIChjTmV0ID0gaWYoKGNOZXQgPT0gc05ldCkgZE5ldCBzTmV0KSkgCgkgICAgKG5ldEwgPSBpZigobmV0TCA9PSAiUyIpICJEIiAiUyIpKQoJKSAKCXdoZW4oKG0gIT0gMSkgCgkgICAgKGRiQ2xvc2Ugc2hhcmVkU3JjSWQpIAoJICAgIChkYkNsb3NlIHNoYXJlZERybklkKQoJKQoJKGNOZXQgPSBpZigoY05ldCA9PSBzTmV0KSBkTmV0IHNOZXQpKSAKCShuZXRMID0gaWYoKG5ldEwgPT0gIlMiKSAiRCIgIlMiKSkgCgl3aGVuKChsYXN0Q29udGFjdCAhPSAiIikgCgkgICAgKGNvbnRhY3RJZCA9IChkYk9wZW5DZWxsVmlldyAKCQkgICAgKHRjQ2VsbFZpZXd+PmxpYikgbGFzdENvbnRhY3QgInN5bWJvbGljIiBuaWwKCQkgICAgInJuIgoJCSkpIAoJICAgIHVubGVzcyhjb250YWN0SWQgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kL29wZW4gbGFzdENvbnRhY3QgY29udGFjdCBjZWxsIGAlcyciIGxhc3RDb250YWN0KSkKCSAgICApIAoJICAgIHVubGVzcygoY29udGFjdElkfj5pc1BhcmFtQ2VsbCkgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIk5hbWVkIGNlbGwgaXMgbm90IGEgcGNlbGwgYCVzJyIgbGFzdENvbnRhY3QpKQoJICAgICkgCgkgICAgaWYoKGNOZXQgPT0gc05ldCkgdGhlbiAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgc3JjT2Zmc2V0KSkgZWxzZSAKCQkob2Zmc2V0ID0gKG1pblNwYWNlT2ZmU2V0ICsgZHJuT2Zmc2V0KSkKCSAgICApCgkgICAgKHBhcmFtcyA9IChjb250YWN0SWR+PnBhcmFtZXRlcnMpKSAKCSAgICAoaW5zdFBhcmFtcyA9IGxpc3QobGlzdCgidyIgImZsb2F0IiB3KSkpIAoJICAgIHdoZW4oKHBhcmFtc34+aW1wbGFudCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RJbXBQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmlkQ2hvaWNlKSAKCQkoaW5zdFBhcmFtcyA9IHhjb25zKGluc3RQYXJhbXMgaWRFbmNQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChwYXJhbXN+PmluV2VsbCkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGNvbnRhY3RXZWxsUGFyYW0pKQoJICAgICkKCSAgICB3aGVuKChkaWZmSW1wQ2hvaWNlcyAmJiAocGFyYW1zfj5kaWZmSW1wQ2hvaWNlKSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKCh0YXBJbXBDaG9pY2VzICYmIChwYXJhbXN+PnRhcEltcENob2ljZSkpIAoJCShpbnN0UGFyYW1zID0geGNvbnMoaW5zdFBhcmFtcyB0YXBJbXBDaG9pY2VQYXJhbSkpCgkgICAgKSAKCSAgICB3aGVuKChjb250YWN0Q2hvaWNlcyAmJiAocGFyYW1zfj5ub0RpZmZDb250YWN0KSkgCgkJKGluc3RQYXJhbXMgPSB4Y29ucyhpbnN0UGFyYW1zIGRpZmZDb25QYXJhbSkpCgkgICAgKSAKCSAgICAoaW5zdCA9IChkYkNyZWF0ZVBhcmFtSW5zdCB0Y0NlbGxWaWV3IGNvbnRhY3RJZCAKCQkgICAgc3ByaW50ZihuaWwgImMlZCIgbSkgCgkJICAgICgob2Zmc2V0ICsgeDFDb29yZCk6eTFDb29yZCkKCQkgICAgIlIwIiAxIGluc3RQYXJhbXMKCQkpKSAKCSAgICB1bmxlc3MoaW5zdCAKCQllcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBpbnN0YW5jZSBvZiBmaXJzdCBzb3VyY2UgY29udGFjdCIpCgkgICAgKQoJICAgIHdoZW4oZGlmZkltcGxhbnQgCgkJKGRpZmZJbXBsYW50Um9kID0gKHJvZEdldE9iaiBpbnN0KSkgCgkJKGRpZmZJbXBsYW50ZGJpZCA9IChyb2RDcmVhdGVSZWN0ID9sYXllciBkaWZmSW1wYW50T1JsYXllciA/ZnJvbU9iaiBkaWZmSW1wbGFudFJvZAoJCQk/c2l6ZSBPUmxheWVyU2l6ZQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnQxID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50MSAKCQkJbGlzdCgoZGlmZkltcGxhbnRkYmlkLT5kYklkKSkKCQkgICAgKSkKCSAgICApIAoJICAgIHdoZW4oKG9mZnNldCA+IDFlLTA2KSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkxheWVyIAoJCSAgICBsaXN0KCh4MUNvb3JkOnkxQ29vcmQpIAoJCQkoKG9mZnNldCArIHgxQ29vcmQpOih5MUNvb3JkICsgdykpCgkJICAgICkKCQkpIAoJCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJCSAgICAoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCSAgICBsaXN0KGxpc3QoeDFDb29yZCAKCQkJCSAgICAoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCQkpIAoJCQkJbGlzdCgob2Zmc2V0ICsgeDFDb29yZCkgCgkJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkltcEVuYykKCQkJCSkKCQkJICAgICkKCQkJKSkgCgkJICAgIChjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQkgICAgbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkJKSkgCgkJICAgIChjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCQkgICAgbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkJKSkKCQkpIAoJCXdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50KSAKCQkgICAgKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IGRpZmZDb3JlSW1wbGFudCAKCQkJbGlzdChsaXN0KHgxQ29vcmQgCgkJCQkoeTFDb29yZCAtIGRpZmZDb3JlSW1wRW5jKQoJCQkgICAgKSAKCQkJICAgIGxpc3QoKG9mZnNldCArIHgxQ29vcmQpIAoJCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCSAgICApCgkJCSkKCQkgICAgKQoJCSkKCSAgICApIAoJICAgIChtYXN0ZXIgPSAoaW5zdH4+bWFzdGVyKSkgCgkgICAgdW5sZXNzKCgobWFzdGVyfj50b3BMYXllcikgJiYgKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgCgkJZXJyb3Ioc3ByaW50ZihuaWwgIk1pc3NpbmcgdG9wTGF5ZXIgYW5kL29yIHRvcExheWVyUGluQmJveCBjZWxsIHByb3BlcnRpZXMgaW4gYCVzJyIgbGFzdENvbnRhY3QpKQoJICAgICkgCgkgICAgKGJCb3ggPSBsaXN0KGxpc3QoKGNhYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgKyB4MUNvb3JkICsgb2Zmc2V0KSAKCQkJY2FkYXIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkKCQkgICAgKSAKCQkgICAgbGlzdCgoY2FhZHIoKG1hc3Rlcn4+dG9wTGF5ZXJQaW5CYm94KSkgKyB4MUNvb3JkICsgb2Zmc2V0KSAKCQkJY2FkYWRyKChtYXN0ZXJ+PnRvcExheWVyUGluQmJveCkpCgkJICAgICkKCQkpKQoJICAgIChkYmlkID0gKGRiQ3JlYXRlUmVjdCB0Y0NlbGxWaWV3IAoJCSAgICAobWFzdGVyfj50b3BMYXllcikgYkJveAoJCSkpIAoJICAgIChwaW5pZCA9IChkYkNyZWF0ZVBpbiBjTmV0IGRiaWQpKSAKCSAgICBzZXRTR3EocGluaWQgCgkJbGlzdCgidG9wIiAiYm90dG9tIiAicmlnaHQiKSBhY2Nlc3NEaXIKCSAgICApIAoJICAgIHdoZW4obGFiZWxMYXllciAKCQkoZGJDcmVhdGVMYWJlbCB0Y0NlbGxWaWV3IGxhYmVsTGF5ZXIgCgkJICAgIGxpc3QoKGNhYXIoYkJveCkgKyAoKGNhYWRyKGJCb3gpIC0gY2FhcihiQm94KSkgLyAyLjApKSAKCQkJKGNhZGFyKGJCb3gpICsgKChjYWRhZHIoYkJveCkgLSBjYWRhcihiQm94KSkgLyAyLjApKQoJCSAgICApIG5ldEwKCQkgICAgImNlbnRlckNlbnRlciIgIlIwIiAicm9tYW4iIGxhYmVsV2lkdGgKCQkpCgkgICAgKSAKCSAgICAoeTFEaWZmQ29vcmQgPSBjYWRhcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpCgkgICAgKHkxVGFwQ29vcmQgPSBpZigobWFzdGVyfj50YXBMYXllckJib3gpIAoJCSAgICBhYnMoY2FkYXIoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSkpIDAuMAoJCSkpIAoJICAgICh5MkRpZmZDb29yZCA9IGNhZGFkcigobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSkpIAoJICAgICh5MlRhcENvb3JkID0gaWYoKG1hc3Rlcn4+dGFwTGF5ZXJCYm94KSAKCQkgICAgYWJzKGNhZGFkcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJKSkgCgkgICAgKHgyRGlmZkNvb3JkID0gY2FhZHIoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkpKSAKCSAgICAoeDJUYXBDb29yZCA9IGlmKChtYXN0ZXJ+PnRhcExheWVyQmJveCkgCgkJICAgIGFicyhjYWFkcigobWFzdGVyfj50YXBMYXllckJib3gpKSkgMC4wCgkJKSkKCSAgICB3aGVuKHdlbGxMYXllciAKCQl1bmxlc3MoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJDYW5ub3QgZmluZCBkaWZmTGF5ZXJCYm94IHByb3BlcnR5IGZvciBgJXMnIiBsYXN0Q29udGFjdCkpCgkJKSAKCQkoeTFXZWxsQ29vcmQgPSBtaW4oKC0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MURpZmZDb29yZCkgCgkJCQkod2VsbEVuY1RhcFkgKyB5MVRhcENvb3JkKQoJCQkgICAgKSkgeTFXZWxsQ29vcmQKCQkgICAgKSkgCgkJKHkyV2VsbENvb3JkID0gbWF4KCh3ZWxsRW5jRGlmZlkgKyB5MkRpZmZDb29yZCkgCgkJCSh3ZWxsRW5jVGFwWSArIHkyVGFwQ29vcmQpIHkyV2VsbENvb3JkCgkJICAgICkpIAoJCSh4MldlbGxDb29yZCA9IChvZmZzZXQgKyB4MUNvb3JkICsgbWF4KCh3ZWxsRW5jRGlmZlggKyB4MkRpZmZDb29yZCkgCgkJCSAgICAod2VsbEVuY1RhcFggKyB4MlRhcENvb3JkKQoJCQkpKSkKCSAgICApIAoJICAgIHdoZW4oaHZMYXllciAKCQl1bmxlc3MoKG1hc3Rlcn4+ZGlmZkxheWVyQmJveCkgCgkJICAgIGVycm9yKHNwcmludGYobmlsICJDYW5ub3QgZmluZCBkaWZmTGF5ZXJCYm94IHByb3BlcnR5IGZvciBgJXMnIiBsYXN0Q29udGFjdCkpCgkJKSAKCQkoeTFIVkxheWVyQ29vcmQgPSBtaW4oKC0gbWF4KChodkVuY2xvc3VyZSArIHkxRGlmZkNvb3JkKSAKCQkJCShodkVuY2xvc3VyZSArIHkxVGFwQ29vcmQpCgkJCSAgICApKSB5MUhWTGF5ZXJDb29yZAoJCSAgICApKSAKCQkoeTJIVkxheWVyQ29vcmQgPSBtYXgoKGh2RW5jbG9zdXJlICsgeTJEaWZmQ29vcmQpIAoJCQkoaHZFbmNsb3N1cmUgKyB5MlRhcENvb3JkKSB5MkhWTGF5ZXJDb29yZAoJCSAgICApKSAKCQkoeDJIVkxheWVyQ29vcmQgPSAob2Zmc2V0ICsgeDFDb29yZCArIG1heCgoaHZFbmNsb3N1cmUgKyB4MkRpZmZDb29yZCkgCgkJCSAgICAoaHZFbmNsb3N1cmUgKyB4MlRhcENvb3JkKQoJCQkpKSkKCSAgICApIAoJICAgIHdoZW4oKChpZExheWVyICYmIGlkQ2hvaWNlKSB8fCBkcmF3SURieURlZmF1bHQpIAoJCXVubGVzcygobWFzdGVyfj5kaWZmTGF5ZXJCYm94KSAKCQkgICAgZXJyb3Ioc3ByaW50ZihuaWwgIkNhbm5vdCBmaW5kIGRpZmZMYXllckJib3ggcHJvcGVydHkgZm9yIGAlcyciIGxhc3RDb250YWN0KSkKCQkpIAoJCWlmKGlkRW5jRGlmZiB0aGVuIAoJCSAgICAoeTFJZENvb3JkID0gbWluKCgtIG1heCgoaWRFbmNZICsgeTFEaWZmQ29vcmQpIAoJCQkJICAgIChpZEVuY1kgKyB5MVRhcENvb3JkKQoJCQkJKSkgeTFJZENvb3JkCgkJCSkpIAoJCSAgICAoeTJJZENvb3JkID0gbWF4KChpZEVuY1kgKyB5MkRpZmZDb29yZCkgCgkJCSAgICAoaWRFbmNZICsgeTJUYXBDb29yZCkgeTJJZENvb3JkCgkJCSkpIAoJCSAgICAoeDJJZENvb3JkID0gKG9mZnNldCArIHgxQ29vcmQgKyBtYXgoKGlkRW5jWFIgKyB4MkRpZmZDb29yZCkgCgkJCQkoaWRFbmNYUiArIHgyVGFwQ29vcmQpCgkJCSAgICApKSkKCQkgICAgZWxzZSAKCQkgICAgKHkxSWRDb29yZCA9ICgoLSBpZEVuY1kpICsgeTFEaWZmQ29vcmQpKSAKCQkgICAgKHkySWRDb29yZCA9IG1heCgoaWRFbmNZICsgeTJEaWZmQ29vcmQpIHkyVGFwQ29vcmQgeTJJZENvb3JkKSkgCgkJICAgICh4MklkQ29vcmQgPSAob2Zmc2V0ICsgeDFDb29yZCArIGlkRW5jWFIpKQoJCSkKCSAgICApIAoJICAgIChkYkNsb3NlIGNvbnRhY3RJZCkKCSkgCgkoZGJpZCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmTGF5ZXIgCgkJbGlzdCgoeDFDb29yZDp5MUNvb3JkKSAKCQkgICAgKCh4MUNvb3JkICsgZGlmZkV4dCk6KHkxQ29vcmQgKyB3KSkKCQkpCgkgICAgKSkgCgkocGluaWQgPSAoZGJDcmVhdGVQaW4gY05ldCBkYmlkKSkKCXNldFNHcShwaW5pZCAKCSAgICBsaXN0KCJ0b3AiICJib3R0b20iICJyaWdodCIpIGFjY2Vzc0RpcgoJKSAKCXdoZW4oKGRpZmZJbXBsYW50ICYmIGltcGxhbnQpIAoJICAgIChjcmVhdGVkSW1wbGFudHRtcCA9IChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmSW1wbGFudCAKCQkgICAgbGlzdChsaXN0KHgxQ29vcmQgCgkJCSAgICAoeTFDb29yZCAtIGRpZmZJbXBFbmMpCgkJCSkgCgkJCWxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0KSAKCQkJICAgICh5MUNvb3JkICsgdyArIGRpZmZJbXBFbmMpCgkJCSkKCQkgICAgKQoJCSkpIAoJICAgIChjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSkpIAoJICAgIChjcmVhdGVkSW1wbGFudERpZmYgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnREaWZmIAoJCSAgICBsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSkpCgkpIAoJd2hlbigoZGlmZkNvcmVJbXBsYW50ICYmIGltcGxhbnQpIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBkaWZmQ29yZUltcGxhbnQgCgkJbGlzdChsaXN0KHgxQ29vcmQgCgkJCSh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJICAgICkgCgkJICAgIGxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0KSAKCQkJKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJICAgICkKCQkpCgkgICAgKQoJKSAKCXdoZW4oKGxhc3RDb250YWN0ID09ICIiKSAKCSAgICB3aGVuKGxhYmVsTGF5ZXIgCgkJKGRiQ3JlYXRlTGFiZWwgdGNDZWxsVmlldyBsYWJlbExheWVyIAoJCSAgICBsaXN0KCh4MUNvb3JkICsgKGRpZmZFeHQgLyAyLjApKSAKCQkJKHkxQ29vcmQgKyAodyAvIDIuMCkpCgkJICAgICkgbmV0TAoJCSAgICAiY2VudGVyQ2VudGVyIiAiUjAiICJyb21hbiIgbGFiZWxXaWR0aAoJCSkKCSAgICApIAoJICAgIHdoZW4od2VsbExheWVyIAoJCSh4MldlbGxDb29yZCA9ICh4MUNvb3JkICsgZGlmZkV4dCArIHdlbGxFbmNEaWZmWCkpIAoJCSh5MldlbGxDb29yZCA9IG1heCgoeTFDb29yZCArIHcgKyB3ZWxsRW5jRGlmZlkpIHkyV2VsbENvb3JkKSkKCSAgICApIAoJICAgIHdoZW4oaHZMYXllciAKCQkoeDJIVkxheWVyQ29vcmQgPSAoeDFDb29yZCArIGRpZmZFeHQgKyBodkVuY2xvc3VyZSkpIAoJCSh5MkhWTGF5ZXJDb29yZCA9IG1heCgoeTFDb29yZCArIHcgKyBodkVuY2xvc3VyZSkgeTJIVkxheWVyQ29vcmQpKQoJICAgICkgCgkgICAgd2hlbigoKGlkTGF5ZXIgJiYgaWRDaG9pY2UpIHx8IGRyYXdJRGJ5RGVmYXVsdCkgCgkJaWYoaWRFbmNEaWZmIHRoZW4gCgkJICAgICh4MklkQ29vcmQgPSAoeDFDb29yZCArIGRpZmZFeHQgKyBpZEVuY1hSKSkgCgkJICAgICh5MklkQ29vcmQgPSBtYXgoKHkxQ29vcmQgKyB3ICsgaWRFbmNZKSB5MklkQ29vcmQpKSBlbHNlCgkJICAgICh4MklkQ29vcmQgPSAoeDFDb29yZCArIGlkRW5jWFIpKSAKCQkgICAgKHkySWRDb29yZCA9IG1heCgoeTFDb29yZCArIHcgKyBpZEVuY1kpIHkySWRDb29yZCkpCgkJKQoJICAgICkKCSAgICB3aGVuKChkaWZmSW1wbGFudCAmJiBpbXBsYW50ICYmIG5vRW5kQ29uSW1wRW5jKSAKCQkoY3JlYXRlZEltcGxhbnR0bXAgPSAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgCgkJCWxpc3QobGlzdCgoeDFDb29yZCArIGRpZmZFeHQpIAoJCQkJKHkxQ29vcmQgLSBkaWZmSW1wRW5jKQoJCQkgICAgKSAKCQkJICAgIGxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0ICsgZGlmZkltcEVuYykgCgkJCQkoeTFDb29yZCArIHcgKyBkaWZmSW1wRW5jKQoJCQkgICAgKQoJCQkpCgkJICAgICkpIAoJCShjcmVhdGVkSW1wbGFudDEgPSBhcHBlbmQoY3JlYXRlZEltcGxhbnQxIAoJCQlsaXN0KGNyZWF0ZWRJbXBsYW50dG1wKQoJCSAgICApKSAKCQkoY3JlYXRlZEltcGxhbnREaWZmID0gYXBwZW5kKGNyZWF0ZWRJbXBsYW50RGlmZiAKCQkJbGlzdChjcmVhdGVkSW1wbGFudHRtcCkKCQkgICAgKSkKCSAgICApIAoJICAgIHdoZW4oKGRpZmZDb3JlSW1wbGFudCAmJiBpbXBsYW50ICYmIG5vRW5kQ29uSW1wRW5jKSAKCQkoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgZGlmZkNvcmVJbXBsYW50IAoJCSAgICBsaXN0KGxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0KSAKCQkJICAgICh5MUNvb3JkIC0gZGlmZkNvcmVJbXBFbmMpCgkJCSkgCgkJCWxpc3QoKHgxQ29vcmQgKyBkaWZmRXh0ICsgZGlmZkNvcmVJbXBFbmMpIAoJCQkgICAgKHkxQ29vcmQgKyB3ICsgZGlmZkNvcmVJbXBFbmMpCgkJCSkKCQkgICAgKQoJCSkKCSAgICApCgkpIAoJd2hlbigoZGlmZkltcGxhbnQgJiYgaW1wbGFudCkgCgkgICAgKGNyZWF0ZWRJbXBsYW50MiA9IChkYkxheWVyT3IgdGNDZWxsVmlldyAiZ3JpZCIgY3JlYXRlZEltcGxhbnQxKSkgCgkgICAgKGNyZWF0ZWRJbXBsYW50RGlmZjIgPSAoZGJMYXllck9yIHRjQ2VsbFZpZXcgZGlmZkltcGxhbnQgY3JlYXRlZEltcGxhbnREaWZmKSkgCgkgICAgKGZpcnN0aW1wbGFudCA9IGNhcihjcmVhdGVkSW1wbGFudDIpKSAKCSAgICAoZGJDcmVhdGVQaW4gYk5ldCBmaXJzdGltcGxhbnQgImIiKQoJICAgIGZvcmVhY2goZGlmZkltcGxhbnRTaGFwZTIgY3JlYXRlZEltcGxhbnREaWZmIAoJCShkYkRlbGV0ZU9iamVjdCBkaWZmSW1wbGFudFNoYXBlMikKCSAgICApCgkpCgl3aGVuKHdlbGxMYXllciAKCSAgICAod2VsbExheWVyX1hvcmlnaW4gPSB4MVdlbGxDb29yZCkgCgkgICAgKHdlbGxMYXllcl9Zb3JpZ2luID0gKHkxV2VsbENvb3JkICsgKC0gd2VsbEVuY1lEaWZmKSkpIAoJICAgICh3ZWxsTGF5ZXJfWGVuZCA9IHgyV2VsbENvb3JkKSAKCSAgICAod2VsbExheWVyX1llbmQgPSAoeTJXZWxsQ29vcmQgKyB3ZWxsRW5jWURpZmYpKQoJICAgIHdoZW4oKCh3ZWxsTGF5ZXJfWGVuZCAtIHdlbGxMYXllcl9Yb3JpZ2luKSA8IHdlbGxtaW5XaWR0aCkgCgkJKERpZmZfd2VsbF93aWR0aCA9ICh3ZWxsbWluV2lkdGggLSAod2VsbExheWVyX1hlbmQgLSB3ZWxsTGF5ZXJfWG9yaWdpbikpKSAKCQkoeDJXZWxsQ29vcmQgPSAoeDJXZWxsQ29vcmQgKyAoRGlmZl93ZWxsX3dpZHRoIC8gMikpKSAKCQkoeDFXZWxsQ29vcmQgPSAoeDFXZWxsQ29vcmQgLSAoRGlmZl93ZWxsX3dpZHRoIC8gMikpKQoJICAgICkgCgkgICAgd2hlbigoKHdlbGxMYXllcl9ZZW5kIC0gd2VsbExheWVyX1lvcmlnaW4pIDwgd2VsbG1pbldpZHRoKSAKCQkoRGlmZl93ZWxsX3dpZHRoID0gKHdlbGxtaW5XaWR0aCAtICh3ZWxsTGF5ZXJfWWVuZCAtIHdlbGxMYXllcl9Zb3JpZ2luKSkpIAoJCSh5MVdlbGxDb29yZCA9ICh5MVdlbGxDb29yZCAtIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpIAoJCSh5MldlbGxDb29yZCA9ICh5MldlbGxDb29yZCArIChEaWZmX3dlbGxfd2lkdGggLyAyKSkpCgkgICAgKSAKCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgd2VsbExheWVyIAoJCWxpc3QoKHgxV2VsbENvb3JkOih5MVdlbGxDb29yZCArICgtIHdlbGxFbmNZRGlmZikpKSAKCQkgICAgKHgyV2VsbENvb3JkOih5MldlbGxDb29yZCArIHdlbGxFbmNZRGlmZikpCgkJKQoJICAgICkKCSkgCgl3aGVuKCgoaWRMYXllciAmJiBpZENob2ljZSkgfHwgZHJhd0lEYnlEZWZhdWx0KSAKCSAgICAoZGJDcmVhdGVSZWN0IHRjQ2VsbFZpZXcgaWRMYXllciAKCQlsaXN0KGxpc3QoeDFJZENvb3JkIHkxSWRDb29yZCkgCgkJICAgIGxpc3QoeDJJZENvb3JkIHkySWRDb29yZCkKCQkpCgkgICAgKQoJKSAKCXdoZW4oaHZMYXllciAKCSAgICB3aGVuKHdlbGxMYXllciAKCQkoc2lnblgxID0gKHgxV2VsbENvb3JkIC8gYWJzKHgxV2VsbENvb3JkKSkpIAoJCShzaWduWDIgPSAoeDJXZWxsQ29vcmQgLyBhYnMoeDJXZWxsQ29vcmQpKSkgCgkJKHNpZ25ZMSA9ICh5MVdlbGxDb29yZCAvIGFicyh5MVdlbGxDb29yZCkpKSAKCQkoc2lnblkyID0gKHkyV2VsbENvb3JkIC8gYWJzKHkyV2VsbENvb3JkKSkpCgkJKHgxSFZMYXllckNvb3JkID0gKChhYnMoeDFXZWxsQ29vcmQpICsgaHZFbmNsb3N1cmUpICogc2lnblgxKSkgCgkJKHgySFZMYXllckNvb3JkID0gKChhYnMoeDJXZWxsQ29vcmQpICsgaHZFbmNsb3N1cmUpICogc2lnblgyKSkgCgkJKHkxSFZMYXllckNvb3JkID0gKChhYnMoeTFXZWxsQ29vcmQpICsgaHZFbmNsb3N1cmUpICogc2lnblkxKSkgCgkJKHkySFZMYXllckNvb3JkID0gKChhYnMoeTJXZWxsQ29vcmQpICsgaHZFbmNsb3N1cmUpICogc2lnblkyKSkKCSAgICApIAoJICAgIChkYkNyZWF0ZVJlY3QgdGNDZWxsVmlldyBodkxheWVyIAoJCWxpc3QobGlzdCh4MUhWTGF5ZXJDb29yZCB5MUhWTGF5ZXJDb29yZCkgCgkJICAgIGxpc3QoeDJIVkxheWVyQ29vcmQgeTJIVkxheWVyQ29vcmQpCgkJKQoJICAgICkKCSkgCglyZXR1cm4odCkKICAgICkKKQoAAP////8AAAAAAAgAADcEAAAAAAAAAAAAAAAAAABodnBUcmFuAGNkYlJldmlzaW9uAF9kYkxhc3RTYXZlZENvdW50ZXIAbm9uZU1vZGVscwBwaHYAZGlzY3JldGVXTHMAcGluIwBjbGFzc1BhcmFtZXRlcnMAZHJhd0lEYnlEZWZhdWx0AElMTGlzdAB3ZWxsRW5jSHZMYXllcgBodlBZTWNvblNwYWNlAHBvbHlJbXBZRW5jAHBvbHlJbXBYRW5jAHBvbHlJbXBsYW50AHNuYXBHcmlkAG5vT2ZEZWNpbWFscwBkaWZmQ29yZUltcEVuYwBkaWZmQ29yZUltcGxhbnQAbGFiZWxMYXllcgBkZXBTcGFjZQBkZXBZRW5jAGRlcFhFbmMAd2VsbExheWVyV2lkdGgAZGVwTGF5ZXIAd2VsbG1pbldpZHRoAGRpZmZMYXllcgBnYXRlTGF5ZXIAd2VsbExheWVyAGRpZmZFeHQAaHZMYXllcgB3ZWxsRW5jRGlmZgB3ZWxsRW5jVGFwAGh2RW5jbG9zdXJlAGxhYmVsV2lkdGgAZGlmZkltcGxhbnQAZGlmZkltcEVuYwB2aWExTWluU3BhY2UAdmlhMk1pblNwYWNlAGxheWVyMk1pblNwYWNlAGxheWVyM01pblNwYWNlAGJja0NvbXBhdGlibGVPZmZTZXQAaW5zdGFuY2VzTGFzdENoYW5nZWQAcGFyYW1ldGVycwBzb3VyY2VGaXJzdABzaGFyZWREcmFpbgBodkRGTDFzZDIAc2hhcmVkU291cmNlAGxhc3RDb250YWN0AGh2REZUUEwxcwBmaXJzdENvbnRhY3QAZ2F0ZUV4dABpZExheWVyQ2hvaWNlcwBpZExheWVyAG5vbmUAaWRFbmNEaWZmAGlkRW5jWEwAaWRFbmNYUgBpZEVuY1kAZGlmZkltcENob2ljZXMAdGFwSW1wQ2hvaWNlcwBjb250YWN0Q2hvaWNlcwBkaWZmSW1wQ2hvaWNlAHRhcEltcENob2ljZQBjb250YWN0Q2hvaWNlAHNyY09mZnNldABkcm5PZmZzZXQAbQBsAHcAaW1wbGFudABub0VuZENvbkltcEVuYwBpZENob2ljZQBpZFRleHQAAGlkUmFkaW8AYgBkAHMAZwBEAFMAc3ltYm9saWMAc2NzOGhkX2R2AHRyeVRvU3RhZ2dlcgB0b3BFbmRUYXAAYm90dG9tRW5kVGFwAG5vRGlmZkNvbnRhY3QAaW5XZWxsADYANQAyADEANAAzAHJvZE1hc3RlcnMAb2FVbnJlc3RyaWN0ZWQAZGJHcm91cEZsYWdzAHJvZE1hc3Rlck5hbWUAcmVjdDAAcmVjdDEAL3JvZENvdW50ZXJzAHJlY3QAc2hwUGxjU3RhdHVzAHNocFBpbk5hbWUAc2hwQWNjZXNzRGlyAGNkc1NraWxsUGNlbGwAcGNJbmhlcml0AAAAAAAABAAAAAAAAADUAAAAAAAAAAgAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAADUAAAAAAAAANgAAAAAAAAA3AAAAAAAAADgAAAAAAAAAOQAAAAAAAAA8AAAAAAAAAAIAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAA/////wAAAMgBAQEBAQEBAQAAAMgCAAAAAgCIBowGkAaUBqAGkgSyBgAAAAAEAAAAAAAAAMwCAAAAAAAAHQAAABIAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAAAQAAAAAAAAMBAAAAAAAABgMAAAAAAAAMAwAAAAAAABIDAAAAAAAACgMAAAAAAAAPAwAAAAAAABADAAAAAAAABAMAAAAAAADMAgAAAAAAANACAAAAAAAA1AIAAAAAAADYAgAAAAAAANwCAAAAAAAALAMAAAAAAADAAwAAAAAAABAEAAAAAAAAYAQAAAAAAACwBAAAAAAAALQEAAAAAAAATAYAAAAAAAAYBwAAAAAAAOwHAAAAAAAA1AkAAAAAAAB4CwAAAAAAADwMAAAAAAAAAA0AAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAFAAAAAAAAAAlAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAJgBAAAAAAAAzAAAAAAAAADUAAAAAAAAAOgBAAAAAAAApAEAAAAAAADEAAAAAAAAAMQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAARgAAAAEAAAAlAAAAAAAAyAEAAAABAQEAAQECAwQCBQIGAwQH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AAAAAAYDAAAAAAAAlAEAAAAAAACYAQAAAAAAAJwBAAAAAAAAoAEAAAAAAACkAQAAAAAAAKwBAAAAAAAAuAEAAAAAAADEAQAAAAAAAMwBAAAAAAAA2AEAAAAAAADkAQAAAAAAAOgBAAAAAAAARAMAAAAAAAD//////////wQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAABAAAAAAAAABcAQAAAAAAAGgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAD/////AAAAyAAAAAAAAADIAgAAAKgD6QMAAADIAQAAAAEAAAAAAADIAAAAAAAAAMgBAAAAAQEAAAAAAMgBAAAAAAEAAHwAAAAQAAAAAQAAAAIAAAApAClAAAAAAAAAAAAAAAAAEAAAAA0AAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAAAAAAABwBAAAAAAAACwAAAAkAAAAAAgAAAAAAAAABAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAACAQAAAAAAAAICAAAAAAAAwQMAAAAAAIAcAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAGAAAAAAAAAAcAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAwQMAAP////8BAAAAAAAAAAMAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAP////8AAACAAAAAgAEAAMACAAAAAQAAACEhAAAEAAAAAAAAAHwBAAAAAAAADwAAAAwAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAABAAAAAAAAAwEAAAAAAAB8AQAAAAAAAIABAAAAAAAAhAEAAAAAAACIAQAAAAAAAIwBAAAAAAAAlAEAAAAAAACgAQAAAAAAAKgBAAAAAAAAtAEAAAAAAADAAQAAAAAAAMwBAAAAAAAA0AEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAFAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAD/////AAAAyAAAAAAAAADIAQAAAAIAAAAAAADIAAAAAAAAAMgBAAAADQwAAAAAAMgBAAAAGxsAAAAAAMgBAAAAAQEAAHkAAAAQAAAAAQAAAAIAAAAJQAlAAAAAAAAAAAAAAAAAEAAAAAoAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAMwCAAAAAAAAHQAAABgAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAIAwAAAAAAAAkDAAAAAAAACgMAAAAAAAALAwAAAAAAAAwDAAAAAAAADgMAAAAAAAAAAQAAAAAAAAMBAAAAAAAAAQEAAAAAAAATAwAAAAAAABUDAAAAAAAAFgMAAAAAAADMAgAAAAAAANACAAAAAAAA1AIAAAAAAADYAgAAAAAAANwCAAAAAAAA5AIAAAAAAADwAgAAAAAAAPwCAAAAAAAABAMAAAAAAAAMAwAAAAAAABQDAAAAAAAAGAMAAAAAAAAcAwAAAAAAACADAAAAAAAAMAMAAAAAAAA4AwAAAAAAADwDAAAAAAAAQAMAAAAAAABIAwAAAAAAAEwDAAAAAAAATAUAAAAAAABUCAAAAAAAAP////////////////////8EAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAACAAAAAAAACAMAAAAAAACgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAD/////AAAAyAAAAAAAAADIAQAAAAECAwQAAADIAQAAAAECAwQAAADIAAAAAAAAAMgAAAAAAAAAyAAAAAAAAACAAAAAgAAAAIAAAADIAQAAAAMFBwkAAAAAAAAAgAAAAAAAAACAAAAAgAAAAMgAAAAAVQAAACQAAAADAAAAAgAAAAEAAAABAAAAbwBvAG8AbwAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAATAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAACgMAAAAAAAAIAwAAAAAAAAkDAAAAAAAABwMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAQAAAAAAAAABQAAAAAAAAAFQAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABAAAAAAAAAC0AgAAAAAAABwAAAAUAAAAAAEAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAIBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAKAwAAAAAAAAsDAAAAAAAADAMAAAAAAAANAwAAAAAAALQCAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAGAAAAAAAAAAcAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAoAAAAAAAAACwAAAAAAAAAMAAAAAAAAAA0AAAAAAAAADgAAAAAAAAAPAAAAAAAAABAAAAAAAAAAEQAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAAAAAAAAAAAP////8AAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAEAAAAAAAAAHwBAAAAAAAADwAAAAYAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAUDAAAAAAAABgMAAAAAAAB8AQAAAAAAAIABAAAAAAAAhAEAAAAAAACIAQAAAAAAAIwBAAAAAAAAlAEAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAD/////AAAAyAAAAAAAAADIAAAAAAQAAAAAAAAAbAIAAAAAAAAZAAAAEQAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAUDAAAAAAAABgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAACQMAAAAAAAAQAwAAAAAAAAABAAAAAAAAAwEAAAAAAABsAgAAAAAAAHACAAAAAAAAdAIAAAAAAAB4AgAAAAAAAHwCAAAAAAAAhAIAAAAAAACUAgAAAAAAAKACAAAAAAAAqAIAAAAAAAC0AgAAAAAAALwCAAAAAAAAwAIAAAAAAADEAgAAAAAAAMgCAAAAAAAAzAIAAAAAAADQAgAAAAAAANQCAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAABAAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAADgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAAwUHCQAAAAAAAADIAQAAAAECAwQAAADIAAAAAAAAAMgBAAAAAQgDBQAAAMgAAAAAAAAAgAAAAIAAAACAAAAAgAAAAJBwAAAAHAAAAAIAAAACAAAAAQAAACMAIwAjAAMA8PDw8AAAAAAAAAAAAAAAABgAAAASAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAIAwAAAAAAAAkDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAcAAAAAAAAAEAAAAAAAAAATAAAAAAAAABQAAAAAAAAAFQAAAAAAAAAWAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAA8AgAAAAAAABcAAAAUAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAABAMAAAAAAAAFAwAAAAAAAAYDAAAAAAAABwMAAAAAAAAIAwAAAAAAAAkDAAAAAAAACgMAAAAAAAALAwAAAAAAAAABAAAAAAAAAwEAAAAAAAAMAwAAAAAAADwCAAAAAAAAQAIAAAAAAABEAgAAAAAAAEgCAAAAAAAATAIAAAAAAABUAgAAAAAAAGACAAAAAAAAaAIAAAAAAABwAgAAAAAAAHQCAAAAAAAAeAIAAAAAAAB8AgAAAAAAAIACAAAAAAAAhAIAAAAAAACIAgAAAAAAAIwCAAAAAAAAkAIAAAAAAACUAgAAAAAAAJgCAAAAAAAA3AMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAABEAQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAA/////wAAAMgAAAAAAAAAyAEAAAABAAAAAAAAyAAAAAAAAADIAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAMAAAAQAAAAAQAAAAIAAAAOAAAAAAAAAAAAAAAAAAAAEAAAAAwAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA9AEAAAAAAAAUAAAADAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAAIAwAAAAAAAAkDAAAAAAAAAAEAAAAAAAADAQAAAAAAAPQBAAAAAAAA+AEAAAAAAAD8AQAAAAAAAAACAAAAAAAABAIAAAAAAAAMAgAAAAAAACACAAAAAAAANAIAAAAAAABIAgAAAAAAAFwCAAAAAAAA8AIAAAAAAAD0AgAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAUAAAAAAAAAJQAAAAAAAAABAAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAJAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAK/wF5wMgFwECAAAAAAAAyAEAAAAUFBQUFBQUFBQAAAAAAADIAQAAAAICBAMEBAMCAQAAAAAAAMgBAAAAAQIDBAUGBwgJAAAAAAAAyM76//+2/v//JgcAAO4CAAAs/P//fv///8gFAAAmAgAAAAAAAH7////0AQAAJgIAAIL+//8WAAAAeQMAAPsAAAAG////AAAAAO4CAACkAQAALPz//37////IBQAAJgIAAMv9///s////KQQAAHIBAADO+v//tv7//yYHAADuAgAA////f////38AAACAAAAAgGAAAAAgAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAkAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAMwCAAAAAAAAHQAAABMAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAAAwMAAAAAAAAEAwAAAAAAAAsDAAAAAAAADAMAAAAAAAANAwAAAAAAAA8DAAAAAAAAEAMAAAAAAAARAwAAAAAAABQDAAAAAAAAAAEAAAAAAAADAQAAAAAAAMwCAAAAAAAA0AIAAAAAAADUAgAAAAAAANgCAAAAAAAA3AIAAAAAAADkAgAAAAAAAPgCAAAAAAAADAMAAAAAAAAgAwAAAAAAADQDAAAAAAAASAMAAAAAAABcAwAAAAAAAHADAAAAAAAAhAMAAAAAAAAYBAAAAAAAAKwEAAAAAAAAQAUAAAAAAABUBQAAAAAAAFgFAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAFAAAAAAAAACUAAAAAAAAAJQAAAAAAAAAlAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAPAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACQAAAAAAAAD/////AAAAyAAAAAAAAADIAQAAACv8BecDIBcBAgAAAAAAAMgBAAAAAQEBAQEBAQEBAAAAAAAAyAEAAAABAQEBAQEBAQEAAAAAAADIAQAAAAEBAQEBAQEBAQAAAAAAAMgBAAAAAQEBAQEBAQEBAAAAAAAAyAEAAAACAgICAgICAgIAAAAAAADIAQAAAAEBAQEBAQEBAQAAAAAAAMgBAAAAAQEBAQEBAQEBAAAAAAAAyP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgAAAAMj///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAIAAAADI////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACA////f////38AAACAAAAAgP///3////9/AAAAgAAAAID///9/////fwAAAIAAAACAAAAAyAEAAAAAAAIAAAAEAAAAAABgAAAAIAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACwAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAARAMAAAAAAAAiAAAADgAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAIDAAAAAAAABAMAAAAAAAAAAQAAAAAAAAMBAAAAAAAAAgEAAAAAAAAMAwAAAAAAAA4DAAAAAAAABQMAAAAAAABEAwAAAAAAAEgDAAAAAAAATAMAAAAAAABQAwAAAAAAAFQDAAAAAAAAbAMAAAAAAACEAwAAAAAAAJwDAAAAAAAAoAQAAAAAAACkBAAAAAAAAAQGAAAAAAAARAgAAAAAAABECQAAAAAAADwLAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAEAQAAAAAAAAQAAAAAAAAAYAEAAAAAAABAAgAAAAAAAAABAAAAAAAA+AEAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AgAAAAAAAAADAAAAAAAAAAQAAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAGAwAAAAAAAAcDAAAAAAAAAAMAAAAAAAA0AQAAAAAAADgBAAAAAAAAPAEAAAAAAABAAQAAAAAAAEQBAAAAAAAAUAEAAAAAAABcAQAAAAAAAHABAAAAAAAAeAEAAAAAAACAAQAAAAAAAIgBAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAAAAAP////8AAADIAgAAAEwDTgMAAADIAQAAAJeXAAAAAADIKgMAAK8AAADK/v//rwAAAAAAAMgEBAAAAAAAyAAAAAAAAADIAwMAABAAAAABAAAAAQAAAAYGAAAAAAAAAAAAAAAAAAAIAAAAAwAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAB8AQAAAAAAAA8AAAAMAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAMDAAAAAAAAAAEAAAAAAAADAQAAAAAAAAUDAAAAAAAAfAEAAAAAAACAAQAAAAAAAIQBAAAAAAAAiAEAAAAAAACMAQAAAAAAAJQBAAAAAAAArAEAAAAAAAC8AQAAAAAAAAgCAAAAAAAAEAIAAAAAAAAUAgAAAAAAAGwDAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAEAAAAAAAAABMAAAAAAAAAAgAAAAAAAAABAAAAAAAAABYAQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAEAAAABgAAAAAAAMgAAAAAAAAAyAIAAACHBjcHPwc/B0cHRwdLBzcHAAAAyAEAAAABAAMCBAQGAgAAAMgNAAAABgAAAAEAAAABAgoEDAYHCAEAAAACAQMBAwEBAwEAAAACCA4KDwMECA4KDwMEAAAAAQAAABsbGxsbGxsbGxsbGxsAAAAAAADIAAAAALkAAAAoAAAAAgAAAAIAAAABAAAAAAAAgAcAAIADAACAAIALAAAAAAAAAAAAAAAAAAAAAAAQAAAADAAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAgMAAAAAAAADAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAMAgAAAAAAABUAAAAQAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAABAAAAAAAAAwEAAAAAAAAEAwAAAAAAAAUDAAAAAAAACgMAAAAAAAAHAwAAAAAAAAgDAAAAAAAAAwMAAAAAAAAMAgAAAAAAABACAAAAAAAAFAIAAAAAAAAYAgAAAAAAABwCAAAAAAAAVAIAAAAAAAC4AgAAAAAAAPACAAAAAAAAKAMAAAAAAAAsAwAAAAAAAJQEAAAAAAAAZAUAAAAAAAAwBgAAAAAAAHAHAAAAAAAAfAgAAAAAAABACQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAOAAAAAAAAABkAAAAAAAAADgAAAAAAAAAOAAAAAAAAAAEAAAAAAAAAGgBAAAAAAAA0AAAAAAAAADMAAAAAAAAAEABAAAAAAAADAEAAAAAAADEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAMAAAAAAACkAAAAAAAAAKgAAAAAAAAArAAAAAAAAACwAAAAAAAAALQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAP////8AAADIAgAAACDcAAAtAAAABAAAAAAAAAD8AgAAAAAAAB8AAAAUAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAMEAAAAAAAAAAQAAAAAAAABBAAAAAAAAAIEAAAAAAAABAQAAAAAAAAFBAAAAAAAAAYEAAAAAAAABwQAAAAAAAAIBAAAAAAAAAkEAAAAAAAAAQUAAAAAAAACBQAAAAAAAAYFAAAAAAAAAAEAAAAAAAADAQAAAAAAAPwCAAAAAAAAAAMAAAAAAAAEAwAAAAAAAAgDAAAAAAAADAMAAAAAAAAUAwAAAAAAACADAAAAAAAALAMAAAAAAAA4AwAAAAAAAEQDAAAAAAAAUAMAAAAAAABcAwAAAAAAAGgDAAAAAAAAdAMAAAAAAACYAwAAAAAAALwDAAAAAAAAyAMAAAAAAADUAwAAAAAAAOADAAAAAAAA5AMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAACQAAAAAAAAAJAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAEAAAAAAAAAKABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAA/////wAAAMgAAAAAAAAAyAIAAABJAkkCAAAAyAEAAAAICAAAAAAAyAEAAAAHBwAAAAAAyAEAAAAGBgAAAAAAyAEAAAABAQAAAAAAyAEAAAACAAAAAAAAyAEAAAAKCgAAAAAAyAEAAAAJEgAAAAAAyP///3////9/AAAAgAAAAIB+////fv///2oEAAAcAgAAAAAAyP///3////9/AAAAgAAAAICW+///fv///14GAAAcAgAAAAAAyAEAAAABAwAAAAAAyAEAAAABAQAAAAAAyAEAAAABAQAAYAAAABAAAAABAAAAAgAAAIkAkQAAAAAAAAAAABAAAAAQAAAAAAEAAAAAAAABAQAAAAAAAAIBAAAAAAAAAwEAAAAAAAAFAQAAAAAAAAYBAAAAAAAABwEAAAAAAAAAAgAAAAAAAAAEAAAAAAAAAQQAAAAAAAACBAAAAAAAAAMEAAAAAAAABAQAAAAAAAAFBAAAAAAAAAYEAAAAAAAAAAUAAAAAAAAPAAAAAAAAAA4AAAAAAAAADQAAAAAAAAAMAAAAAAAAAAsAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAkAAAAAAAAABwAAAAAAAAAGAAAAAAAAAAUAAAAAAAAABAAAAAAAAAADAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABMAQAAAAAAAA0AAAAKAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAQAAAAAAAAADAAAAAAAAAQMAAAAAAAACAwAAAAAAAAABAAAAAAAAAwEAAAAAAABMAQAAAAAAAFABAAAAAAAAVAEAAAAAAABYAQAAAAAAAFwBAAAAAAAAZAEAAAAAAABsAQAAAAAAAHwBAAAAAAAAkAEAAAAAAACUAQAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAEAAAAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAA/////wAAAMgAAAAAAAAAyAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAyM76//+2/v//JgcAAO4CAAABAAAAEAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAEAAAAAoAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAEAAAAAAAAACQCAAAAAAAAFgAAABEAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAQBAAAAAAAAAAMAAAAAAAABAwAAAAAAAAYDAAAAAAAAAgMAAAAAAAADAwAAAAAAAAQDAAAAAAAABQMAAAAAAAAHAwAAAAAAAAABAAAAAAAAAwEAAAAAAAAJAwAAAAAAAAoDAAAAAAAAJAIAAAAAAAAoAgAAAAAAACwCAAAAAAAAMAIAAAAAAAA0AgAAAAAAADwCAAAAAAAASAIAAAAAAABYAgAAAAAAAGQCAAAAAAAAaAIAAAAAAABsAgAAAAAAAHACAAAAAAAAdAIAAAAAAAB4AgAAAAAAAHwCAAAAAAAApAMAAAAAAACoAwAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAMAAAAAAAAABAAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAoAQAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAD/////AAAAyAAAAAAAAADIAQAAAAEAAAAAAADIAQAAAAEAAAAAAAAAAAAAyAEAAAAJAAAAAAAAgAAAAIAAAACAAAAAgAAAAIACAAAAEAAAAAEAAAACAAAAAAAAAAAAAAAAAAAAEAAAAAsAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAAMAAAAAAAABAwAAAAAAAAIDAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAAAlAEAAAAAAAAQAAAACwAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAwAAAAAAAAEDAAAAAAAAAQQAAAAAAAACBAAAAAAAAAABAAAAAAAAAwEAAAAAAACUAQAAAAAAAJgBAAAAAAAAnAEAAAAAAACgAQAAAAAAAKQBAAAAAAAArAEAAAAAAAC4AQAAAAAAAMwBAAAAAAAA1AEAAAAAAADcAQAAAAAAAOABAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAABAAAAAAAAACsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAAAAAP////8AAADIAAAAAAAAAMgBAAAAAgIAAAAAAMj0AQAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAADIAAAAAGIAAAAYAAAAAgAAAAIAAAABAAAAAQBBAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAABAAAAAAAAAQEAAAAAAAACAQAAAAAAAAMBAAAAAAAABQEAAAAAAAAGAQAAAAAAAAcBAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAQQAAAAAAAACBAAAAAAAAAMEAAAAAAAABAQAAAAAAAAFBAAAAAAAAAYEAAAAAAAADwAAAAAAAAAOAAAAAAAAAA0AAAAAAAAADAAAAAAAAAALAAAAAAAAAAoAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAMAAAAAAAAAEAAAAAAAAAARAAAAAAAAABMAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAxAEAAAAAAAASAAAADQAAAAEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAEAAAAAAAAAAgAAAAAAAAECAAAAAAAAAgIAAAAAAAADAgAAAAAAAAEEAAAAAAAAAAEAAAAAAAADAQAAAAAAACADAAAAAAAAxAEAAAAAAADIAQAAAAAAAMwBAAAAAAAA0AEAAAAAAADUAQAAAAAAAOABAAAAAAAA7AEAAAAAAAD8AQAAAAAAAAwCAAAAAAAAGAIAAAAAAAAkAgAAAAAAACgCAAAAAAAAPAMAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAFAEAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAP////8AAADIAQAAAAEAAAAAAADIAgAAALMDAAAAAADIAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAMgBAAAAAwAAAAAAAMgBAAAAAgAAAHQAAAAQAAAAAQAAAAIAAAAHAAAAAAAAAAAAAAAAAAAAEAAAAAoAAAAAAQAAAAAAAAEBAAAAAAAAAgEAAAAAAAADAQAAAAAAAAUBAAAAAAAABgEAAAAAAAAHAQAAAAAAAAACAAAAAAAAAQMAAAAAAAACAwAAAAAAAA8AAAAAAAAADgAAAAAAAAANAAAAAAAAAAwAAAAAAAAACwAAAAAAAAAKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAKQAAAAAAAAABgAAAAYAAAABAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAAEAAAAAAAAAAADAAAAAAAAAAIAAAAAAACkAAAAAAAAAKgAAAAAAAAArAAAAAAAAACwAAAAAAAAALQAAAAAAAAA//////////8EAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAD/////AAAAyAAAAAAAAAAAAAAAAGdFIwE=