Advertisement
CaFc_Br40ck

CaFc_Br40ck-b374k

Jul 19th, 2014
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 225.56 KB | None | 0 0
  1. PD9waHANCi8qDQoJYjM3NGsgMi44DQoJSmF5YWxhaCBJbmRvbmVzaWFrdQ0KCShjKTIwMTMNCglodHRwOi8vY29kZS5nb29nbGUuY29tL3AvYjM3NGstc2hlbGwNCg0KKi8NCiRzX3Bhc3MgPSAiMzFkYjQ2YjQ4MGJlOThhMmMxOTJkYjk5NjZmNDEyZGQxNzczZTNjNSI7DQoNCiRzX3ZlciA9ICJQcml2YXRlIjsgLy8gc2hlbGwgdmVyDQokc190aXRsZSA9ICJDYUZjICIuJHNfdmVyOyAvLyBzaGVsbCB0aXRsZQ0KJHNfbG9naW5fdGltZSA9IDM2MDAgKiAyNCAqIDc7IC8vIGNvb2tpZSB0aW1lIChsb2dpbikNCiRzX2RlYnVnID0gZmFsc2U7IC8vIGRlYnVnZ2luZyBtb2RlDQoNCkBvYl9zdGFydCgpOw0KQHNldF90aW1lX2xpbWl0KDApOw0KQGluaV9zZXQoJ2h0bWxfZXJyb3JzJywnMCcpOw0KQGNsZWFyc3RhdGNhY2hlKCk7DQpkZWZpbmUoJ0RTJywgRElSRUNUT1JZX1NFUEFSQVRPUik7DQoNCi8vIGNsZWFuIG1hZ2ljIHF1b3Rlcw0KJF9QT1NUID0gY2xlYW4oJF9QT1NUKTsNCiRfR0VUID0gY2xlYW4oJF9HRVQpOw0KJF9DT09LSUUgPSBjbGVhbigkX0NPT0tJRSk7DQokX0dQID0gYXJyYXlfbWVyZ2UoJF9QT1NULCAkX0dFVCk7DQokX0dQID0gYXJyYXlfbWFwKCJydSIsICRfR1ApOw0KDQoNCmlmKCRzX2RlYnVnKXsNCgllcnJvcl9yZXBvcnRpbmcoRV9FUlJPUiB8IEVfV0FSTklORyB8IEVfUEFSU0UgfCBFX05PVElDRSk7DQoJQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJywnMScpOw0KCUBpbmlfc2V0KCdsb2dfZXJyb3JzJywnMScpOw0KCWZvcmVhY2goJF9HUCBhcyAkaz0+JHYpew0KCQlpZihpc19hcnJheSgkdikpICR2ID0gcHJpbnRfcigkdiwgdHJ1ZSk7DQoJCWVjaG8gIjxzcGFuPiIuaHNzKCRrLiI9PiIuJHYpLiI8L3NwYW4+PGJyIC8+IjsNCgl9DQp9DQplbHNlew0KCWVycm9yX3JlcG9ydGluZygwKTsNCglAaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCcwJyk7DQoJQGluaV9zZXQoJ2xvZ19lcnJvcnMnLCcwJyk7DQp9DQoNCiRzX2F1dGggPSBmYWxzZTsgLy8gbG9naW4gc3RhdHVzDQppZihzdHJsZW4odHJpbSgkc19wYXNzKSk+MCl7DQoJaWYoaXNzZXQoJF9DT09LSUVbJ2IzNzRrJ10pKXsNCgkJaWYoc3RydG9sb3dlcih0cmltKCRzX3Bhc3MpKSA9PSBzdHJ0b2xvd2VyKHRyaW0oJF9DT09LSUVbJ2IzNzRrJ10pKSkgJHNfYXV0aCA9IHRydWU7DQoJfQ0KCWlmKGlzc2V0KCRfR1BbJ2xvZ2luJ10pKXsNCgkJJHNfbG9naW4gPSBrcmlwdCgkX0dQWydsb2dpbiddKTsNCgkJaWYoc3RydG9sb3dlcih0cmltKCRzX3Bhc3MpKSA9PSAkc19sb2dpbil7DQoJCQlzZXRjb29raWUoImIzNzRrIiwkc19sb2dpbix0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJCSRzX2F1dGggPSB0cnVlOw0KCQl9DQoJfQ0KCWlmKGlzc2V0KCRfR1BbJ3gnXSkgJiYgKCRfR1BbJ3gnXT09J2xvZ291dCcpKXsNCgkJJHBlcnNpc3QgPSBhcnJheSgidGhlbWUiLCAiY3dkIik7DQoJCSRzX3JlbG9hZCA9IChpc3NldCgkX0NPT0tJRVsnYjM3NGtfaW5jbHVkZWQnXSkgJiYgaXNzZXQoJF9DT09LSUVbJ3NfaG9tZSddKSk/IHJ0cmltKHVybGRlY29kZSgkX0NPT0tJRVsnc19zZWxmJ10pLCImIik6IiI7DQoJCWZvcmVhY2goJF9DT09LSUUgYXMgJHNfaz0+JHNfdil7DQoJCQlpZighaW5fYXJyYXkoJHNfaywgJHBlcnNpc3QpKSBpZighaXNfYXJyYXkoJHNfaykpIHNldGNvb2tpZSgkc19rLCIiLHRpbWUoKSAtICRzX2xvZ2luX3RpbWUpOw0KCQl9DQoJCSRzX2F1dGggPSBmYWxzZTsNCgkJaWYoIWVtcHR5KCRzX3JlbG9hZCkpIGhlYWRlcigiTG9jYXRpb246ICIuJHNfcmVsb2FkKTsNCgl9DQp9DQplbHNlICRzX2F1dGggPSB0cnVlOw0KDQovLyBUaGlzIGlzIGEgZmVhdHVyZSB3aGVyZSB5b3UgY2FuIGNvbnRyb2wgdGhpcyBzY3JpcHQgZnJvbSBhbm90aGVyIGFwcHMvc2NyaXB0cw0KLy8geW91IG5lZWQgdG8gc3VwcGx5IHBhc3N3b3JkIChpbiBzaGExKG1kNSgpKSBmb3JtYXQpIHRvIGFjY2VzcyB0aGlzDQovLyB0aGlzIGV4YW1wbGUgdXNpbmcgcGFzc3dvcmQgJ2IzNzRrJyBpbiBzaGExKG1kNSgpKSBmb3JtYXQgKHNfcGFzcz1mYjYyMWY1MDYwYjlmNjVhY2Y4ZWI0MjMyZTMwMjQxNDBkZWEyYjM0KQ0KLy8gZ2l2ZSB0aGUgY29kZS9jb21tYW5kIHlvdSB3YW50IHRvIGV4ZWN1dGUgaW4gYmFzZTY0IGZvcm1hdA0KLy8gdGhpcyBleGFtcGxlIHVzaW5nIGNvbW1hbmQgJ3VuYW1lIC1hJyBpbiBiYXNlNjQgZm9ybWF0IChjbWQ9ZFc1aGJXVWdMV0U9KQ0KLy8gZXhhbXBsZToNCi8vCQlodHRwOi8vd3d3Lm15c2VydmVyLmNvbS9iMzc0ay5waHA/c19wYXNzPWZiNjIxZjUwNjBiOWY2NWFjZjhlYjQyMzJlMzAyNDE0MGRlYTJiMzQmY21kPWRXNWhiV1VnTFdFPQ0KLy8gbmV4dCBzYW1wbGUgd2lsbCBldmFsdWF0ZSBwaHAgY29kZSAncGhwaW5mbygpOycgaW4gYmFzZTY0IGZvcm1hdCAoZXZhbD1jR2h3YVc1bWJ5Z3BPdz09KQ0KLy8JCWh0dHA6Ly93d3cubXlzZXJ2ZXIuY29tL2IzNzRrLnBocD9zX3Bhc3M9ZmI2MjFmNTA2MGI5ZjY1YWNmOGViNDIzMmUzMDI0MTQwZGVhMmIzNCZldmFsPWNHaHdhVzVtYnlncE93PT0NCi8vIHJlY29tbWVuZGVkIHdheXMgaXMgdXNpbmcgUE9TVCBEQVRBDQovLyBub3RlIHRoYXQgaXQgd2lsbCBub3Qgd29ya3MgaWYgc2hlbGwgcGFzc3dvcmQgaXMgZW1wdHkgKCRzX3Bhc3MpOw0KLy8gYmV0dGVyIHNlZSBjb2RlIGJlbG93DQppZighZW1wdHkoJF9HUFsnc19wYXNzJ10pKXsNCglpZihzdHJ0b2xvd2VyKHRyaW0oJHNfcGFzcykpID09IHN0cnRvbG93ZXIodHJpbSgkX0dQWydzX3Bhc3MnXSkpKXsNCgkJaWYoaXNzZXQoJF9HUFsnY21kJ10pKSBlY2hvIGV4ZShiYXNlNjRfZGVjb2RlKCRfR1BbJ2NtZCddKSk7DQoJCWVsc2VpZihpc3NldCgkX0dQWydldmFsJ10pKXsNCgkJCSRzX2NvZGUgPSBiYXNlNjRfZGVjb2RlKCRfR1BbJ2V2YWwnXSk7DQoJCQlvYl9zdGFydCgpOw0KCQkJZXZhbCgkc19jb2RlKTsNCgkJCSRzX3JlcyA9IG9iX2dldF9jb250ZW50cygpOw0KCQkJb2JfZW5kX2NsZWFuKCk7DQoJCQllY2hvICRzX3JlczsNCgkJfQ0KCQllbHNlIGVjaG8gJHNfdGl0bGU7DQoJfQ0KCWRpZSgpOw0KfQ0KDQovLyBibG9jayBzZWFyY2ggZW5naW5lIGJvdA0KaWYoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKSAmJiAocHJlZ19tYXRjaCgnL2JvdHxzcGlkZXJ8Y3Jhd2xlcnxzbHVycHx0ZW9tYXxhcmNoaXZlfHRyYWNrfHNub29weXxqYXZhfGx3cHx3Z2V0fGN1cmx8Y2xpZW50fHB5dGhvbnxsaWJ3d3cvaScsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpKXsNCgloZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsNCgloZWFkZXIoIlN0YXR1czogNDA0IE5vdCBGb3VuZCIpOw0KCWRpZSgpOw0KfQ0KZWxzZWlmKCFpc3NldCgkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pKXsNCgloZWFkZXIoIkhUVFAvMS4wIDQwNCBOb3QgRm91bmQiKTsNCgloZWFkZXIoIlN0YXR1czogNDA0IE5vdCBGb3VuZCIpOw0KCWRpZSgpOw0KfQ0KDQovLyByZXNvdXJjZXMgJHNfcnNfcGwgJHNfcnNfcHkgJHNfcnNfcmIgJHNfcnNfanMgJHNfcnNfYyAkc19yc19qYXZhICRzX3JzX2phdmEgJHNfcnNfd2luICRzX3JzX3BocCB0aGlzIHdhcyB1c2VkIHdpdGggYmluZCBhbmQgcmV2ZXJzZSBzaGVsbA0KLy8gdXNlIGd6aW5mbGF0ZShiYXNlNjRfZGVjb2RlKCR0aGVfY29kZSkpIGlmIHlvdSB3YW5uYSBzZWUgdGhlIHJlYWwgY29kZS4uIGluIGNhc2UgeW91IGRvbnQgdHJ1c3QgbWUgOy1QDQokc19jc3MgPSAiclAxbnIrUlF2OTJKdlJlZzcvRGd6Z0NTd0JHWTA3Mld4d3pGbkZtTWhpRXc1eHlML3ZKbTl5TnBCTmdZQTRaWjZHb2VIbktUZSsvL1htdjkrblJYLzEvKzk3bWUvLzIvcTRza0w5Yi8rQy9jTk83RnVQL243Mjh1L3ZVZmUzSHZZTFp0Ly9LZi91M2YvN3QvLysvKzErMi9KdXM2WGYvNEwvLzRsenpaazM5dGhxUXF3SG1zL2kxTnRvTEEvcmZHWjAzbmdsU3htcGgzTTF5di9ualZ1OGY5K1pLcE9DWjZmMk9mWWx5aFB3ZTRrSldEVUgvM052ZDkwejZWNUtJaFNiMzduK2pUZjJ6ZmlTN0tEMTNvem55bkJSNnlPL0Zkd0hXck5DZVlxVHFCVlNmYk9nVG1kMis3Mm1XQjFJcTEyV1pKZGgrdGZpZkxmbU5VaWpYODU3NmIrQWhaUDk4L25tTkEwTUt6ZXZYMXpHSDhmdlFNQUxNQ3kvRU02R2ljck9LUEduRTV6cnNwdXB2UENlUWdDTlVadzVrWVdWZWJCcEVTZzVlOFhQTGRRNVRsYlROVHhWZHAvNXYxTFA3TnZqeEhUa3Z3dnUvSDBQTjFXWVA3aWNJNVlicXBad21sNlZ0N3BqQzlVc2VQYWpUUlpHUUdVQmhVVFh3UERuM2FuUDBFOU5lUXR0MGVGb200MHNHeHdTL1NBSnRqbXR4UjEyUDJ2V2FhYmQrQVNJSXMwTExmWUhXZSthbXBXSTViRitMb1NoS29YRHJUOXZKYm82UEMrQTBkcmtEKzVkSVMxcjRaTXhoYmlqWnBHK1lvalYwV2I4UGxCL0x1c25wRXh1WnNtV2x5S0tnMzZwRDR0ZXliTFc3am51Sm5DRWZhaTdMdTVIa3NPdnZjREdKbFVqWE5IOUpQeUlqK0hiRkQxakp2NGRpaHR5MEpWejlYRVFEbVpvSS81MTFpalhwMFNTTy8xWnhNSnJwdUFRT3NrNlZrVnFBUHFJQVFSbUNrUHYzd3RzTVFhSUNoVDVDR0pWTG91bjB4a0NFNVpqSk5tSituUlZUZDhlRDlDUGVJdjliVTNuczlxQmhoeDRVSEJ6YWVJeVoyb3pyUFlNeGIxV2l4Q1lVMTA3Syt1dEN1alVpVEdFMmh5cWRFTWhSVjFWSXRCZEZnQjdmZDd4cFJnTEduMWNXM0FFOFNXSzYyOWdnb0NtSDhyWFBiUmhCVi8yejZsYTY1ZWgzKzc3WW5nVUtLWXliS00yc3FyOWg4aFdUN2RnQkdxQ0xPOUI0eldGSzFkWTBGaHBPNjdRZXZOVnVWMWttWEFkeW1IV1VXbG1pQmFDa1hIN0xNcEx2KzJUYmJ0R1pkV0MxNnlZd2tyK2tPZ3VGd0ZKZzBzRGhGRkZKWlJZenF0dUQ1Z0FXanRKckZNQmpmVDJQdGFuTkIrMzY1M1NMekUzTXFweUxDckx4dVZmS2FVbGhaZGxwTE1DUFk4TWtrWjJTamNqam1XNWdxUjUxRjY4NXh1ZUZ6UWdHUXpuaWlxNVBPTVBaRDJNZElEZzRrczZrWHhjaWZ3ZFZiNlViVnEzTzkrVHVkbi9mZVZIWFpuY1Vvb1RpWHlCRGJUQTByRHp1YmZTaHlrdGZXbkJzQWp5a0VUNXBYUlBFUm56VGNDdDhkeDl0MXhNblhGeTB3U21QQUVEYmI1YW9lcE94V2x1Q0F2TmtzUDVmM1dmMVNJTklyQ3JnaGorRUlYRHF1YUFocmdDS25ucjUyVnkxN09mbHo3a0NucU5lWEtrOXFMSGVPNnlqTjFEUXp4M2VsNG56ZENmYVMwOWZzcXExRjVBb29kTndScU9xQWlmaU9IbVBmQmg4aFZxVkgySVg4YWxtcmF2YVg3QlRVQnBSK1FlMlJmbHhkOTVPNVYwekhsWnpzSTlzUDMwUXgxcmJtQlpwVUQrUzRSdVczdEg4enpVcFpmRWpwQjNJYUxJR0oweWZqN1RhU3ZnOTJmOW5CTzFEdjVtNWJTRFNVQXRJT3pYMzA3ejJJNVVtQk82QWtheklmYVlBYVAxTDdrWkw0M1VTVVJMZFZwWG9iT2RCNFJFa3ZZMVEyMGl4OEQrTDllYXY3OUZqK28xTkZ4UWNOSE14d0duNXVQVTZOTmI4d1QxbDNlZEdHck9naFQ4blBsb3JmVnJYQjhvL3pFd2g3Q2p3L0o1QnFNaUtNQy95MVRhOFkvZXdLSnU1azE5MktFalk2T1F6NlpUNzEzNnh4WUpUN1dnZWwxWlJsL3JRUFRaeEoyVmc2TFRFQlMzWXVtdTR6c3ZyNnJFQ1BjeTdxVFB3ZTEyaFpBd2Nya0VNOWpTL2tYRjd0UHc3QUtvNkhmOVpPcWFycXYveVhmL20zdnk2VEoydjNYN1AwL3dlZllmNVlCMVA4MDJmNEovdzRmMzFHREIwaGtKeHZpc1JRamdpLzJHYlpXS1NiMkdXVk5CREcyRmY2S0hEd0xPdDc2ODhGYnE0NEg4RXJqSFhySUZHOVdpYXFZME5ab3JPeFoxN1Z6Q3hDTjFPUUJad1hCRWl0MmlKaXJ1WVorTU13YnlrVFZyRnZDM3BtWURVMXpHV3J6N0ZHSWg2blRtSWc4YmRHNUp4cm1BNnFkbHpJQUtUaVU5dWtlT1ByZGpBUHM3dnFOdDBVM0w0QWVlUTNWL0IrY0dXSzNVdU9jZFJ0RW40WFBFK0Zsckh0MVVQSnAxcTRpeGtTYk1SL05RY3dXZUUrUzg0VHRNUHd3Tk1XdWNzV2l3UmlYTmt3SkpaV2lRaE1xSFRibnVQQW0xbTE0ekxyL0FsQVRSY3IzZno4TEl2dXJqNlZFN3N5TmhQSFJST29VNlNlMFhPVVlhbEh3dmhMM2dWZ0tVWWFSRUdWL1pLSjFJQVpRV29zK1JWem5mOHN4ZS9SRTJpRjdLaU5vUUoySm5udTA2QjNoaUlHQ3BVSVFCandFUjNtSEtNM3QrZVR5RUJiSmFVQ0lYbjBIN0tXKzlHbTRPL1RGS3hUTWJFa2dtWWhGaVdoL3cwUnJ1ZWJqb3B6a1N6LzkzcEoxNmFxOS8rL1Zzei9TVEpoTGVoUE1yR3h0a0MrbXplOWJzV0pKejdRcU9Pd0dpdmJKbWlZUWlVcENkWTBzY2RmaHVmZWxBSnR1TXNKWGFmOFVCMVBGTGE4dEhVZ0p4bXRlR29MVEJvRVRPQ2h1aVBIR1k1Z09ZRHowaFZpVzRxbDJmNlJSQlZRcDFjYjU2YnJ2VzRtWGQranVVYktDcFBPMmUyblRuWDdFZlZRMXpVakNENWY3MkhTQW9BN3NkVmgvWkYvUDAwNFdYZUlob3V2ZUpmcmR5bER0ZytjK3JSUHNxVnpwZjE5NjZDdWc5VmRMRVBuZHNiUGJqaS9taWlXNVFKK0hMczNYQ3dMcXBseElWN0FSeTMwaFRFQm1xWU1vbVIrR2QxS1ZzWEdkV2lGRkllRzVsdXk2QUtVc0h6WE5XcDduT1VhYWU0VVRvcFVoQnBieU05cG5MWlZFZnBzeWRMb2o5a0ViVUVFdVFON2pYUFZnS1duOTg1OGgxU29CY1FxNzQyaFUydGZ1VVZ1RlBrSnZOL29HOEpjWS9tdnRLZ3k3VE5wem52MzYzV2hyL2pPWWpuM0RSZzRXL0s0S1p6aHJ0RXQ4LzlaYmY3V3oxNFhRL0hQMmxtN2YvbTNmNERnUC9LaVRJNSsvMGV6L2VQUHdYLy83NXJ5UHpiYlZ1ei84WC85cjV4cHF2TG4vLzRmL2w3MkgvNGYvK2svL2VOL2F1UC83ZHYvaDZTOTMzM3pjL0w3ai8veXYwQi90My81My83eEwvK0w4SGY3dTR2ODNmN3VZaHpOTWY4OEN2L2QvdTcrN1FUenozUHBQNisvdXlqeDUvWFBjK2svcjMrMjhIZjd1OHY5M2Y3dTBuKzNmN1lBL1huOXpmYi9ZdzM5VDQvNFB6M1gvL1MwL04vdDd5NzczaFgvNTlIUDMrM3ZMdjUzKytlNXhKL1hQNStBL3ZQNjU3bkVuOWMvVy9pNy9iTVBmN2UvdThUZjdaOHRDSDllLy8wUnM2bWYxdmNKLytOL0grNTNDdi81MlAveW4vNzNmL3lQUHZ6cmZ4dnUvM1pSWFdSZE90My8zNjk3OWVOZi93L3plYS8rMy8rdmYrcmovMWErVFBTZnl5UXIvdkgvL1BmLzdoL3Y5dDhPREUzLys5ZC8vSWNqUGNiOStLL0RORTVyVVIxOXN2NkhmL3ZuZWR1YS9lcy9qclgvajM4bEtabm52c21TdlpsRzhQN1BmOXU0cHJMOHQ2eE8xcmV1L3N1eGwvK1ordTl5bFVPMCtHb2YrM2UreFVCbTJIK0szOG0vYnpiemY3S3hvdE03eHArZDVlK1gxNS8zTERZQktmL2tIOGY3STNQUzU4OUI5VTg3M01YSjEwZHhZTmJ5L3B4YS9tM2s5K2ZONWtQenU3S1NCL3QvOEkxVC9oejB1L2RORm52alZKWVAvZFVlK2YzYS9IdFIrS2M5a1l0OSt4dEhDUHdDMDdzQmZ6dnc1d1NXcURpdFplTTJIKzAvd2l2OC9mN25qeHl6NmdmcXpBeUpyeGo1bzc3Qlg1bmQvclEzK04rZEE4WVlFWjQvNTdQbzMxdkp6SDluU3BZZFU2a2YvblNxK1BONHc5czFOWURrZFVjc3NYNU4vVzFFUVAvZTZ1OEk4aEh6UXpRKytmTzk5MXRoOWMveCtmT21NTXZBV3ZTVWhnNzJObHlvZnc0R2Z4N1ZiT3BCdURueFBpUGtiVjhBL2p3WiszZVFjdHYwdm9uOWhnanNUeU9SLzlkVHFuOCtwQ3d5dFg5RUFkeS9wOWZGMzBIYTNqZkxqUHBDWFVQMnpOQzNLVkg3MDJrVyszUFZibS9zNHVtWnBQUi8yb3VOdi9ROC91M3BZbjlQRVVmalFIbjd5L1ovYi9MWHRoZ3g5M2QzL252Zzc5UXlENDgwejkrdThRcWVrdHJmZ3pxcEszbVBJWU5SeFNKYllZelJDSFprUjZKU3NZZE1zRjBpRmxNc3l1cWhZSFpnUDdZYS9Ca2pZNUI1N1UrUHBUYUpFTGFMUkw2S1ZyYmVSS1A2THRqMkd6NjI2OUxxRXlUMkQzb2hKN0RlTnQveGFUVUt2S2h1MDhTL005ZGRKL21ubThnWU9EYzB2N2JaQ0Nld3dWcW5YSUo5TnZKVTlYUmR2MWZaTGl2cWVpZ2crRWRVZGEyN0dwU3QyY2JkU2ZLQ1NHc0tzSTM4eVJxaGdQVjBWdllVNFNYZVAvRkc2aE1qSU5MWmMrMlBpRjhXZitMaFo5SmozY2xaZDlWRlM5dFlvbDA5ZTNrU3J4UHNDMTBJL1hPU3dwRWZNUVVMeEl1S0kzMnI5T0xydHEwVzZXcVlBL3pZbU5MV08wdTREZkFVMmhvVVhsbW1xVHRuNjdCdmpTNW1udDhtVG5NbzFseC9SdjdraC94V2NyVkliMGp0RXpNYXpvQnZXcS9zODgyVVdOZHRlM2haem5vZjFGVW8wVzc1MWd2c20wMkdWVDhibjRVbDlGVGNpQVZvRGJXdnhqVWxFMFVBVm93dWpHMDZEZjZtNVlSYjA1OEQvdzY5eitBRGFqUFUvWHI3SHNXM1lUMTFhejdmWGFFVjR0R09ObG5udTJEd0pMSnRXMFNJeU85M2Z5T1MxTFRYc0xNczIreGJ3ZS9mM1haaEtHbUM4UzNmWXhuTmd5cjZSWi9mMm1QUHBUcFlZU2JDcDhmeER0U0JXUHBTakRqNjd2TDVXN1ovNjJra1dWTVcyVDRTaGR4SlZ0M1crZW41ZmVLVmxEczkvVnd2ak44NnF2NnlSN3oxNTBOTkhFdUVGRk5CTXNUY0xtWmFFNkczMVVWWitCQjFKOWxUS1hOcHlXZnhBTFlLQkVEa0RKdCtrdUJkS1QxWDNUcWpvUVJQWXYvai9wSElEcFhJeEgrcTh5TlZITTZMSE9CZXVvSnhrRFRwWEtkN1VteDlmajllOC9UeUhua3gyU0orRmZOUHdicVE4TEc5bWYxMmdtSjdNQnRTZ2lyN2VOMG1xa3ZNWVBtMVFMQ0NJRzd4OHlyUW1ZZ1ZRbXZpdUVwV1B4VUQreWZubHhZbnZHZFo0QW9pSlRpQ0Z3aHE0SFVDRkZpdndDbmhONVpaTFZ2WkpTa0JONzVaRm50WDJTcXROclZwTlFnWTBRb1B1WjNqTWlNYVhSVlc3ak5Fek9lRFQ5ekUyWnA2YnlUN3kwTGpvazZKQkpoSjRhNUdiYUpEZHJ0ZWMvVlYrVkhWb3JyYnRDekR1b2p6bkNEdFFoVG5KTlpkS2lwTFBPQjFFdmg3aE94aml2QVRiajROOGRyV1cxTTlXVmdyVG9PMnlOclpwNTVlQ1B6RWdnTjl4VHNyUDByejZRelNnVXVyVjhhbi85M0ZNVDV4MC91cnY5RDVqa2owM2NIcFBxRDVPVm9TMnFJazNlcmVUTVE5bXV5WnI3VFB6di9TS2RRUisrcDRHNHJleFJuZ3UzMnQrVlAwdUd4RlJSaWlIWDZtY1gwQjJZRVM1SGREMHdOdlRNbjFzR3prSFlvdWRlR2JIOXRwSS92cHdnOWNZOHNYU0hJOW5qY2lON0N5UnF4UDh4TC9JcjlhcUV5SmZ2L1RDUG05K2tLdnFEUDE5VnFYdkRGOXhjdU1Jek1MOHhFWnBXT21pNXNZOVdJMmhrTVl4V01tbTN1aEduc2xuZnN4VXZkYUlmZGwxSWxwYmE1azFJakpMM1pucE5jaUwvYkRPcCsvZWhqNkl2bnRkL1pqUUFaL21leHRWSldaVDk2R0QvWTlIalZyang4NGdwdVlQd1Rjcm1jRFZaMEcvYkFTeExFT2d5YnJQVlJUNHNqREZkVUNWRk4yaTlXZjFsZ2JWWWJNNTNneWlvaDE2RlM3WkVhSjRMUThJT3M2WFhzalA0U0FIaTd2cWM3UXhIY2xNRVRmWlYwS2hudWc5UmtHUUV4ajU5UHArZjNONlI2ZC9qcEw5Q0N5OGhkb0Jra0haQllSQUsrU2VyWm81NzlmMnJBSnJ1aHExa3pTekR0NDhoNk5ZOXNzWU5KOExKQXZYWFdqK1pBUGk0aGRjTTBnSEZtMVRRc2NLUDN4K2kzaHY2L0RlTWkrczhvS3dKemtVK2pIYzNGZW05Y1BNaWpORDJ6czd4V0ZTaTY4ZnA0OUdMSUorYlphVXlUcnl4TjlKRVEzZ3NLK0NyNmlCc0ZRVVVXZk50NlJrR2c1UHh3cmZpVm13dkg4VWNERllRQ3ZjdS8xVnR6MmJPdlZFKzlaQ2krVlFiN2t1d1NWL2NWU0tyL09PcFowQVQzdlhqUFBWcTczS2ZvRU1oazFBOE41RHVmMElWN1hxM1c2bDRnTEd2bEFuRmVaNGQyaVFNNXAzd1A1MkZSUCtqRGZDZ0VuelFCQ1A3OGZ0cEQrT3BvTnBLQXBNUytMSWM5UHVSZlArdWZQZzdHQ293dzJvc1QwQVUvQW5TVEM0bjZISVZibVd4eUVnYTdndElaTG94NlU4QkEvaFRiQnpaLytXYWsydzRJZ3hmQm9tNUFhWkpUczJmZmZqSGl3SDZDWmUrdk1RQkFMUXlENHZTTklYYU5HUzJQS1dIN2ZyU1FhT1J3bTlOb3lYWTB6cHh2SnQxTGhKMHdINmRkZ1VKYXp4V1J1ZWlPSlV3TS9VdVBacXNaVFN0ZlRrbkJySG8wZTViVHNueUpkWDBkN3FUMkpjL2QzdmpWcUZWa01wVUJqSWphWnBtY0JnQ2VOeDRuMFdPb2pqV2FHNHc5NGxLMlptZGVYdGZoTk9hQVJpVEJuQTcyZmJEcytVRUxEenAzZHF2eWh4QkIvcXNCcTVWK05GWERCTnlQOFE0aWRueVZLcWxXT1dldUpaYmVvMmJTR2F1NnJUL2Y1QVRFTDN5RHRFUzczcTJHUWMyN1dCcEZmYm13amY0bENadVJ2MFQxaVhobmp1WXU2OU5mY3dzL0xrK0FMOFBrQmYwVnhFQzlYYVlLdktoeUNtL2RTdEdxK1lyVGRweUhTK0kwM0NsMTFEaHJIOG5wVGpydk9XVHREVXpJdkI4NjRFaHNIRXJIV1A1RWRsZjEwdWd5R21pT0RuZFU2cEJtTkYzYllVdVJZVnhLNDIzd1hpMm9aRVNnU1NYaitHZytEVmFzZEg0eUVXQVZzenBQN1dsNmd6MnpXVzdNM0t0SE5mbkJEN1NEbjU1a1RCaEhmRDVYS1RzS0xxVEo0WS9PVnRFL2o1dFYrOGwrdng0aGF2eTF6N1k0ZmJFTG5NRUcwWnBoa1lBNEllWlNCOVVhVmtvQ2xBbE53b3haTlRNRGt3dUppTGgzaUt3UVU0VG5hMyt4enk4amlhY2VyM2dBbzk5Z0krZGxPeUdPdlBkaDl0MTZuVnlXTEN2TFJTbm5NN3RVb2JlK0dzdytsT0lIK0RJZjZpQW5tdUk3YWhVb0JTd2lqZTBVNFJ1enRrZC8zRm9YSTdtZG16Rm8weTcwWjROY3g4VXB4TmtvNDIwWW16T2RsR0crK3hOZHVWcjg5ZE5ZbzNsZno1K04yY0l3cGRFb1J6d0czdkRHTVF2dWc3UzVSc3RYaFdSNnZOR1lhQmh0S0tjbnhXYTVaVElwaHB2WXFMKzRDSnQvZEZHeCt3Qjh6RXhSWGhtR2xncVQ0RFNrZUpCWWRiQTVzWG1oc0xMVW1MeDlzQUVVVmF5aStVTzRWRXpxVHBTN3Rwd2kvRWdvcWZGcEIxNGFMZ1ZOSWMvQ3M2MDFWRXdxYUh3dlNrUEp6TWtUMmErbUVCbnVTOTRFWjlNZUNTZytncGIvQU1BTFMyY1JnQU9JdUpQMTRBNEI2eWM1VUVJd0NoY0c4TE1reTBHUmVpWXliWEVJQ2ZLSVgvcXRNK05OVnMrY3ZRZGVHV2N3UnZSMGtRN2Z4dXRzTFNCSjhtcTd0UThYQm9jUGJHYXd2NU81RUdzbVV4OWxoVGdXVCtIVnhzMHJ2SmhlYWxMREJXSGpMV1lxM0xtbFYrVjB4dDU1MXV1VVhwTDJqSXFNYS96SW5BbnE3ZGczdUZOSlF4U1c4RUpUS0EyTk5jZWN2YTVJV2ljbGpIbVQ3MEdWOU5kS0p5ODJLc2lMVzl5ZTJzWHNSUWJoU0RiTUxrYjJUaEZpck0vVHRNb0VneU1xVGZ2a1UyZ2JpakZZcERWZWVtOHZXZlVPNkQyTEpSK2NQVkZpNVE4ajFvSkR2QUdWY0d5S3hzcUxwOHREQVlVbk9DZ0J2Q0NrSm1mVHJYdDZIdU9XNzRJbGhiVVY3OC9EN3gvYXZ1aXFKNFdmRmhWSFhCSUJrSk52U3lDZ05KR2dyTXR1M1NxU1VvUE9RWTdDem9jc0toUTFlaXh2cDBHUFczRmJ4SElnUGNoeS9KZW84TnFPeUY0NFJza0RKTlQ4OEZqZVVtaGxDSW8wQUV5ei9VTkhBeHk2OUtMUEJrOUhHMFZBMWJ1anNLUk85c3dXOTB6dGphR0FoK0F6bjdSdWhJbm4zRVZtQVk5VlA3cFNQVVIzclBvR285SHpmQ3lVYjJhQmVKWGU3YmF3R1FML2NodFZQUnRidXp3bG5QQThabDlmYVVFeEZxdVNPMWQ5Uk5OMTM0b2RwOFZOVFJBcFhibTEvT1YvUXV5K0tYcDhQWnFhMmRBSktUVTdaZUo2aThmbmw1cGl1MEhRa09RK2hHUS91Q0Zrcy9BbWQ1M2kyWWdSVE5KWFhyVUxiL0tSS3E0VXVXZ0ZKbXY0SUE1dGJjaXI2UHo5akFEWFcxTjdXUXB4SkRVV1JBaThQWUpocGlNanRGamk2Y2E5ZjFSL3FYU2xMQkhsdFVqR2VjTWdybG90SHlqMFV1ejhBbWd6eTNsSFRMM3FaczFyanRwVzhOZlZuQnJxMHBnVG5WMGw2NjNWdlRSbkJ0UVNaMk1CYXpiNE9aYmZHenRFV00vc3NjbGRDNjI5c0w3R1pXRjU5UVY1WEFIcGE3WlRna1JOcE1KUHJIc3hQZ1RaZ1RrL2YwUk9PRDMxMCtxQzdEbEtqYWgyWVJtc1ZLSnE3RkFtUjQ0cXB5eUJqQ0x3OEo3YzhPWkl2WDlmQUxhZythSFIzN3Aya2E5Z20zRjhTR0R3SUdya0JKZVJ0UHNCM1A0NzBqY2VGeHRGeGdMNXJZaXpDUHo5RElIL3dHQ0xXdnBSbkRPNkxRWlloNm9QcHNXSWEvTnZ4VWR6YkF1TERBZThxR1Eva1paN0dyZ3NkcXJ3Nk1EVk1GUzM5bWY4VjBKdXo2Z1VTTjFpVWdQWUdIcHpNcDdVbUh4S1pHQnFiUmxQS2tGclhlVERoWFVhbHUrMURxZms1K2NXanBVNlB1bnJwK2tseXhqdUk0WUg5SXNlbFlRdGtwZVNJUDk4eXl1UzNwTVFVUzB6QktwOFVnM2JEZlVBR3AzWk5mMlBEWkJSSUUydmRsQUJjd2g5QklyNkxLMWgzT1prOHd3ZTlORk5IM3diSzQ0aDZFdS9DZTU4SytDcUVwODRkNmRFYjBrS1BPd0dyU1N5UjhFcEJzcDIrb1JUSU1kbncwWmo0dXVIWGRUSSs3VFM0bUtxVTNDWUs5VS8xeEN0T3cyRC8rVjU4MHljYm1tbUZ6REx0QXFzcndST2ZUZzVUdkE0Z2p6QTBOV0pjQXdELzg3YlV6bDVVcDd1SlBpWHh1T2NQc29mSXFaSHlsTnpkM01KWHdNSFkwTmZZYzEvZWs4THdnVTFFRG9QSHlhMXVmdTdDbXA0MGxpU2x0bnlITTR1ajFMTWxkUFo3SzY4ZzJIRG9LREx3YzgySlJDZGJ0VHR3Y01ZOC9EVUx5eVJFdTNQbUw2VEcvZFhoTWpJRXVwejBvUml3bXZheEkvQlRZZjc2R2J6MjlYaWpHVUtFUzluSjlOVldhZzZIb1VBZFR5dm5aMFRtUG15dnhPZXNaZHM1a3dpZHdWcEZqVFZuRkVyU1R6MWJSY3JyRW03ckVPNEdWZngxdjRhNlYxd0hlYVp0N2hlTng5K3N0cHNaaTN6aGJYTmtxeThLejh4K2ZReWxvWi92ZWtoVDBFc1EwMTJSR3prcFVXdkJ2UzhBc3NZSWxiOENGRkZ4L1lJU1hJWWZjOTJSM1NoTWZuUWpRb000bkJ1UkdibXMxWklYU2FWMVdyRXc1K2NhS205VzU2dFZkMVdqRUxGdzR2amxUckFxaW1MdDNMSkJrVXRZSmRkZ01jRlBiSC9HMThtK0syakpxYmo3Y2J3N3RMMjZuOHU0RGN5dy9xelV4SmZVZkpaMGVGWVUzdW5iRGRGUzAySTdmRlNKZTdPRFhWelBkT0NreWVJNUJ4MVZzdlZxOW1LYnRVb2ZWL1crMEdZdHV3SFFJcVJ5amloZ2pRQXc0V2M4Mk43dXRlZjdaVjJiN1l1cHpzdmloWk5ySFhPTnBsQXNSTEczampZMnNLb0lXMk5iclhBRS8zYUpXWTJFTzlobE9pdWdXU2RNSHpGdDd6SDdIYnRkZHpGMk40UUw5ckg2SU5USG9LS1R6UmRWOS9sdTgxMm93Q0dJejJzN3FqWGQweUhJL21uT3B1YmxkcHBDVzUvYW1sVXZjMlFTVHp3ZEg5MzMrNGkrSHBQV1FBQmtqdk1zVTQ0aWdKSU92dVNBbitTR2t3MUFrMkt1THJVYyswY3M1L1VldnVOU3UwVmRna0J6WHNxU2d3UVptZmxvRitEcCt6UUozU0R4cHNwY09zaHJ0MXJkWkoxQTJhakVNalBtelUvVFZHRU9YY3dWSys4SmhueE5GL0hqLy83THRsNzZxbEx6Yy9obUtuLzl3VkZkZnVCbFl3dStJMDBSWUVHU0k3cG1iWEVmeFg0UzhuMmRHQTZBZTJTZHo0VGNCNHpjcWxLcm82Vi9qQnZrcFlZV3JIRzdyVE5sOUhucU1zb1JlTmdXUkMrTW5iUEs2dTMwS1NubmpWUVoxWS82MGpWV01hd25rZEZ2VTc3bUhMSG1Nam4zUmtmbDVQd1FNeEszYmJtOFR4YkZGUXJNMTV1L1EwbHdBcjRhTlkxYzhLRCs2c09CeVdzSjIrZ2ZkT01USEtlVlBFY2NMdno5M3VCWmxIaGYrMkJZN0YrdDhCMUtnZE5VZ2g3WTRHSmoyQkZFQ0tRUitKb0dmVnpSVXhWa1FXNWNCQVhvWnAzclNCTS9QVWRMVlBscXV4cFJvTmkvcXNPZUhXRnp1cDUxRExHUXJCN01UTi9NVnlzU3RoSWQrRndwM1M5UkJjeFdFd2dHdk9uSGF1MjJhRlY5Y1lqZm1RUmtCVEJYWWIvZkl5dk14Tzk1MHhITDB3bURjM0lhN2lQY3R4Uk1KNms4VTZsZUs5T25yL2k5NmRqRzVtSER0SW93Qkplc01QRW1JeUJ2K05TaUx5KzQwUkpTUGhGWllISGJwdUt6SXpjUnNtVnBiS09CNFQwN2FqeTJwTWU4Vlk3VjRrU01XdUN5eW55K2lrOTU3S08za3M2bHpSOFNJRmVEaGtyNkJJWCttYXpVeC9zOEhSMGNVWkxvaTQyMmdtMnRZc1dYK2RVYmpZVTR0WW9XdUIvYnJoTXpyb1plWFhRa0pnbFZwVHZkOFhhTlNtQWc3b1gyMWpLWGF2Q1hmZmhJRkRKcE9UcDk0cnFtK1NYeWZrZUxDV291TXgwMkJyMmR1L1VsKzF3VHhTNE83L3pZenVodWx1RjFFWmxxVXEzejZEd3lRT01YalNFUW1NdXcrQkYwdWZLWElYWUVwNmM0WmVRbUZJNXhDK3JjL2ttaThERnhUeElLa3E5T2JjQitKR2wrU0o0NXJma1gzb25pWmIxNFZPWWdxK3ZTZzRjcStWb3VuL1dpS1JaYmxhSzdnaU8wbDRxVEEyYzJFaWVJVkNRZ1FVVGc5ZzQ0cnJhR2ZYajhNdEczTXJsUkpkUkRPc2YxTnV3TVhLemJ4ZU9jTTZlOStnRnB4V3UzZ2phWHFsM3RyM0MzODlBM0t0eERWbWFnWHR2QnpYNmRxdnU5WmNhKzQ4QzZRWDIvNnlEaU1GL21HSURsdmo4MHdUYlJKWm41a0NvNXVENGloeWY5TFVCNVZmSXNHU0ZyLzRRZWt3SDdheUhMN3N6SUJ4Vm1kVU1IdG1vS2hLZDFEZytqemtDRDNkRjBEUjdma0c3Q1czdEdGQUFLL0JpVnRCR0FLMzNYTkhnZ204N3FiOWdheDRqN1hzQjhEZ3oxVlc2OGpnWWZpN08xK1IwWkMxOUlxbUpmK1hUWFN6OWdtRFdJeXBwWk5CR2pRdHN2aVhIUVRRY3F2UW0yWG9Oczg4ZXRSbGpMYk1IYnN4ZWJCQ2JhN3RMTGhvaEU5YWV5Tzd6c3BTempPNFhMdDdpQitCNUo1Nm1hUS9xbDdRK0ptTFRDcTJnT2JyVUJ4ZXNiMGZjQ2lJcG4zYTZkQURhZ0R5T0xGQWxLcDB6WGhTZ0h4THlkRk4rQWNFaWFTYU45Z2hiNi92VktKSWZGVXNrSS9rQ21MK21malluR3hLOS9OQ2FPeFNwNEUySFlsNnZmYUtqOGNhaW00bGZEeGI3U05XblZ4TFVNRXlnc0RvdmVGYjIxWG5keXRIVHlySTVzMGlqU1pQOE9LaFVUajZPOVY0NGhGRXpER3dLejRsV01CMHMrVWpEaTMwTDFMM3k3SEtpN1hNY3dlMFE5OXA5bzJkcERYUDRhWU1UK3lIakNIdnFRZjhSV2s1RTk4UFlpdUtEVm5RS0d5MTBnOUxqWTNUUDFTdHJuMWFCR2tMK1hqSldVSmgrUjRZaHcwQTB1UzhXa0V6aXdtMTJINXV1RWlFWHp2Y1N0UXJEbkhkRG1Hb1F4T2tKcmxoUDdTRVVpRGVGZ2NKNVcrMXNYc0pENFRvQ1hZd2FQT0FHQlFUTEg4OVZIQUhtSDBSM3pNV2xyNy9CV3NNM0Z0VzBvcUFYemdlQTlNNVlpUUIxUS9FZWRtekZneVhNVjV5cjN3UnJjbVVIYW8zaFMxVUdPMHlWYUlPWHNBUEhsM0N5eEZSd0JWK2VOaGthUnBZSWpTSVU3Zjc3em9sSzFKeFdwZ2JzOW42WDY0Q2x4TktXNERodmFOMHVFcHhOSmhJaDRjdlQ2VHlnWlN3RUhTYi9pYThncXd2QjRmV1B6eVp6VzdlOHl3MTRVb2U3NDFYYitzYjZzM2h6QkY0T3l1RGdrRUFMcnpCUnQ4aWcvSHdqY2d2VnNpUS9xYkQrMnpRay85b0U0VUVjcDh5elRDYjlaQUo3REd5bElUdVZQQlArQUdYcE9PZnVjYUtza3VCUUk0MDFYT1owTVNEbkZmc2FtcUNJeVg0TjZZRTExZXFYazQ4VlZkNzMrSmZGbldkVFA4Uk8rb0RLMlBlYmlWVmpBaUhMbGRUaHZuOGk5VzJhT0tFNEtVOGJWZHhZNythSTh3NktQYWtQeFhwVk1DdGZBeGx1U1p6dURGMVRDTzV4L014ZFIyRzlUNjZjWVRHZFlSOXZQOWV2cjVMWFJmbmlVSFEvZFN5WGRpdDdPWnpib3BxYm1rOFh0WVBZdk5TUlh6L2c2ekRUeXZwdEZSUmZsVGhrYStTUTVhQzhOVzF3OHh1YWFYWEtSdzl5S0tsZTVXelJvU0J4QUxuOWc2TnI0QjVmcEZzVmt5ZXJCcjl3ckh6T0xXWXVjc3hOdDVvZUUzc0ljNVBhdUlnV2FPZDRCSHBTR25EM2pxSG93QS82TlkzMW01SUdndU10Q213dzlFVnAzL2hySmJVb0ppSmt5Rkl1MXplSWxWT2RKMjZUK1Z4a1h6djk4dUtpZSt2b3F0cXNmeXN4YVBORHlveTRrYmJlNEg0aW5QWWdiMUU0MTlOdUpyY1hqWTFBamlIUTU2ZURKNFJ1emgrZElYN2ZhU0J4NnVUdXA4NlZCSk9TTjJJYmxXU3p3SW1PYWRVbWJRZ1phN0tFQXoySU80VWllSXVkSjkzSCtNZEtmRWdIYmR1b2R6U0NtVm9Fa0thbjZadnlvQ0ZpcVNhTTFaeEpuVmY4Tis0c0kwckRyeEhFeTNDVGIzTWs5ekNMTzc4b09MNnFhcm5YQXJ4Rml2bXNrdGlyeU9nenFScWU4WHhzWGNDR0xzblZRSjRyQVk5MnRkdDN5ZzM1ejNES2RFZ1F4ZzBnYXI2bHV2WHJ4NXpBd01yWkh0UFo1cllXN1lFbXFLcDEzK2ozTlR0cGkzcEJmdmo4bmNLWE5OOWYzWHdqTXV3UkU3SFhEdkhibWlISWJxY1MyTXdtd0VHcVZHakVGNmE5clJTcHR2VExQdDRENlF1blBPTTZQSlhBb1FwY0gvSXhiMUtVdERkNlBwVzhtdVBiNEFsQmxtRUlvRG1BUWVqSmZNS0dkL2tFZEJKeC9ZZzNoQXBMajA4a285emFSQXNDUEtmUFRSdjdPcWp0cGV2VXJCT2IxMDB5S2pXM2w0dXk2ZG1KSHJ3ejlKYXdpOEFRbGVIMitOckJmb2NQOXk1aFFobERrUi9ZalNEZHFEV2xyQmRkZVdQdm1rQStXWCtxajhBRC9LVHhoQ0dSTFIzWUNkWlZKKzlCMFNoOWdTckUzSTN6citmeHhvV2tRSWMxbXc5aWl4QUJUMHcwaFZLeGhGUUZ0dXRkMFo1L3hQbmhJNVE3cjJ3WHliUzErMkIvSlU2YWVMNlFtS2lTSnZwR09vZWVpbFBoeWNrMGg1TnI3Qlc0eFhuQXEzL09LQVQ1b2NJZDBhS01nVHgzeWppSzcwTWREV1VscDVaN2JaeTVsYzMzNFN2SXBCajA0bGRKdGFMaEdPYkdjMmhsb2RCN3FIbFpzaEVJeVdlTnc2TENiVi9wUFpSRjVRS0Ric0tkVzdmaXdaVWZxd21Jc1Nwc20wb0U4QUltLy9KN1RaQ0k1Q3pqNWZHQjJuTms4K3ljcmNtQ2IxOHcyRmt0eXo0N3JLQThjSWpCNTkzL0piblVGV1VPWkVpZVRnWmFuZmVTUXBsVXNvYnhhR2hkNGszRndqcko1WFRrYS9ST2J4K3FXU3Z0b0hNVnlzT1YzSDJKanVOYzZwYTFtK2UzUzhqNlJhKzJLL0p5MWl3RElXU20zUGo3TTNPSEJPcnB3ZTEwQngwazBXOWlxT0NMR1dmT0gxVThYc1QrMGlIbklDeHRuUThqMFVDVkVCK0ZzMEVTNXRlU1ZSME81L1NXL0FGejRKRTZGd1hkbEVDcEVxeDNLeHhod2M4TVBIOUE3SHMzZlV3c2hOZExETi94VFdtODFoTFpFMGh3Vjg2L2o2eExTbFRqbUk2ZUluYUJLR1phVmpPN3c4ZFB4c1Z3RWxvb1JaWXI4TmJFd3BxZnZ0MDgweXJFWXBjZ1pCYlovOENQaTJlRktIa0VuV0svUnVGVEhSeDR4Y0tQSVFmYUMrN0p6WHlxUCtjMkNZdE4zTTNQK2ZabkJRcnByZGVWb0xvRDlSeURGaHQ5ZXhHUXVqTzQwRE9pcStXSThySlRwU2V3ejZyNkI3NjcwZkErUEZQdWg1U0dOMVJEcE9XbXg3Zm1jdWVSNDFyNldXNG5PRTBucWJSNUpTMFVMOG8zb3BTYy9oTGJ6Q2lORjYvdjgvZ2g1d2FIMEJKSUFtKzBhZVFYNWV5Z0xkOGh0RFB1MWpBL1REM0dJVWE3NmZJUWk3KzZ2N1Q1cE5RSG9zRlJqWWJiVkE2SlVUaFlUQVdZN0xTdEtlSWprdG9QbGc1WmNKMlg4YUlPR2p6N1FlRW9yZVB6SVZTY1A4SkNCSjcwK1pJVmZ0b3kwUS9JZ3MyOHdKVUZVcXduTExKWFlrTTZVUTNOUG14Z2N0anZkcWpnMTR0THRzbHVhdmdvcm5DZU90UlAxYnpLOHZpUm9CbVczWjFxVXhnWkZrZlYxc3RFVTRtL2hnSVRyK25wRkxEZStYOTg0bjdEblFVWVNqb2s3aHdaRXljNFRpZ0d2NUpzeGlzd3d3MWE2ZG5xOC9zcGZwWTBmMCtWTVBmcDF5dkNUQldKZjJUdXpmeE1nMUhkcnBGQjVNRTJWSUEyeGJxcmNMbDVXdlpuYWZDWWRhVmoxZTNuSHA0c081cTVXMytmS2h1dUZ5ZE9tMExFWFhqRWJKYTRDOVNmMjRpd0JUMmVWUjJyaGJiMjUrQncyaEJYdUFJSXJEUW1YaElyditJZVduZ296ckJVNWV3Y0NnUFQ4V2pZT090bFFiMFpEZ0hlSEhScGdHRGdMSHVOamJ1dEw4ZElPaFJLeWxEQ3Z3dHhHOVpZOS83cFlHYWo1Y2JaWlNNZDFzQmxmVGxuWjI4U3JHdGpqU3lmTXQ2bE4wYzBvcjlCdWRpb29xQ2hBaUlnVTloM1gzczFUZW9yNi9jVHZMeUM5MUx6bktva1d0Tm9jY3VvdExuZlNGYkh4N2R6bUxSRi9lM2V2bTRWVm9rRTA1NUZTRnV5OWgyWmdLRjltSDVHMXVSSThxUU1BZmp5SmttVGRvaE5sU2hvVmlzbm5aWHo0S2xFZE5GZFIrREdMOVlhV0QraU9iTVRYYTZUcllrNGJMZ3JqaFFkcFZRK29DN2NOdU1wcWM5TjBINTJKRERrM2VvK0VyemM2b0lVSnIxTWtiWTE0WTZsMGt0cGVXY0J1WjJXTVUwQnB2dWRSUXowUENRYkNwTCt1eTR1Z003aSt2L0prYVBqUWQrWkYyMzMrT29aUWI1S09FOWVWN2IxMnRZZjVJbjNkRUY3VEdXa1MvZEwwYS9RQWZscld5b3g3alhya2lVakJ4RW9udURPcEF0R0t4Q1ZROXZBNFNvSkhDb0J5NzFDbDBuSXJvQ1d3cFdsQ2lEOXZsdTJnaWxDODZNMFc1YlFjSEtSTEtVMkxOcUZBWkZ1ZDU3VWdscm83YXgxc0lMT25qeTREYy9UbFJqLzZKbDNFMjBEUlFxZk5SV2VMZEh6TUhjTndNMDVwVWlDNjNzdzNwY3hWTzRIcXVLSFRwZkJMVHNLejdOWTduZEprY0hPMDRrWk5rNDFuNzA1ZEd1aW53QzkxVENGTCthWEFrb3BDZXVtdCsyakt6c0tNMWtUVEtVRmQ3SWJJeC9LZE51WHFiNU4zdVljU1k0M1dKYkkrS1BpNnYyamo4Ykg1Uy9tMXJOQ0dpTnVja2R6cXpGMzVFRDFOV1RLYjkyWHQ0SmtsWk9TbWNMLzdrNytGUVFGWFcyNXFlbjhMalhWZVpOTExTNm1xVmdDWmdiUHpFeFp6OXpKMXRJc2xEYThHUFkrNFVIR051UnRqL3FDSkQrZkdXb1lzNzJSdU9CM0d0VDhLdEs4WjhNekp1c1FoQ1FVR2JYQUEyWnJpNXlSWjY2NVNHZmlNSzBocUYvMW9FcjZhSDcxTVY0REFZa0doS25peGNhQ0FMY3MvaDduSmhLRDB3dEp1UWJkMSt0ZzJXU3hkQ21QUWNxR2UwWDVGeklNZi9BWjFzYkI4UTYrdXg2UXdjVHRyM1FwN0ZtMHZ2cXFXNWc4Q0ZMazFoeDVzSEJCK0l1ZURyVnZ5aE04RjVXZDdJZXJuM0RaanRNWjIrK0EwUnNyNkV6OFlCdWM0UUV6Nkk3MWpvMlNSWlRXOGVLMjdqUC9NNmMwT0JNVXh1NVRNeUl2U2ZLUERLV3RIVG4ySGloKzVZdjN6S29VWDR1WTc4RjV6K0NJOUtndjRnUTJDRkx6NmpTQzRnenFlV3plM2FIMzZUYThPbUZDc2E3UjhwSzYrK3RzcDJyVEdMMGhGTHpNUThVa2hOWkMwVElxWVAyU0x5VEg4d1I5RVJYbitOWXlVKzV3Y1VERDluUzQwZW5PMGpTeTJyZU9YYzlxcWdMMDFFRW5mYy9JVjBmSEtHTEdsQnhZMWNpMjdYckFqK1BRdkE3OWx3Tng5V1hjZzVCSHc1SkJ3L3pTUUkyL0phVEZZY29lUW1HQ05XRHd3eXNyN3JTakhJdjJSclY2V3F0bGk5MWFPL0lqY1N3OGtwSTNnYjBIdGxKT1NTR1YxMzhrZEtmOG5NcUFhdzZSUXJNWDhhWlpPMEZMK3NPUkNRZ0l5ZnRZUHhnUUlnS3RZS0FpTXU5dVRUVE52ZmVqNE41Z0x5ZUVPMHRKbFFyOFZPSGRoTHhKenZZSU9jY1VFTnZMdDNYdngrelY0NDJLcnRiVXc2alZNdEk2bmhIemhSNlhKVElIbklaQzJaMC9xZFd3b3VreDBSTFI0TGxmbTh1UXBqeU9jVjlsNW5zd3lKWStPZldBYjU3NVdnM1JSZWlpelhKc3Y4QlczQ0xxQTZodGg0Zjd0MjJaVXZ0amlab0o0MUx6Z3E4MStjVVZUQ3RwcjdkMk0rUTFGVGQ4UENSb0JKQTJjOGkxakxQR1ozOXJVeFBtd0ptdFNybVhtek1KbmE2WWlIdGRkS2M0T0FyUFdDOXRyem5vQkp0blJVTnFSSVYvYUd3aUlxSWNmeEhBL015SFVGbnBuN1RkRlozb1hBZmhEQTRqa25DRnE1V0JCSnEyenJ4WU1uV1lMdzJOTTd3WDZjTmpKdnJyTWRNQzV1cXQ3dHV2QXRpU0tsTVgzSHJVM3d1dGh5WXlmcGNyQXI2NDJ5VGhnWkZuRjljKzFMOUhsSjVnbjFMWndHTVpvdS95SnJFbi9UTFRramt3cFlOSk9DQmV4T2dNRVNMeUVrM2FxYWlGNlZWVHB1QWVKZkg3SlRQS1RNVW0vV0Y2RXhtU2JqSUg2dW50d0wrbFplUXlrYno5blZhQzF1YzBNc0lMV3pCTVgvT3BCeW1uUWJmTDVidmtKMEN0ekdmblI0RG9Gby96YzJ6Q1lEL3BWbU5hMCtnOEZUZUVlbzltN3dER2lRYjlZcE56bnBFQmRTVmxkcXE2ZDNyZUlMYmJ3bHhhQ3p5QzQ4akRSeitxQ1FQRWJ5K0ZJcUxiSS8vNnNvOHZ6MzRHcW5sTllVdU92SlF5NjFRYmRwelhraVVkOXc4K1MweU1LS1hUWmxlU210OVJCVE5NKzJ6SDRaVTdhVGpCV2ExOUpVNThsRHNZWC9jRUhkb0NhYVlkemdzblpBb3ZsWEw3QWpGRWxiSjRNZmw4bzlocndBRHhGUzB1dHc5citKNTJaRGRUYU9KcmtVNWgxbHRjVHpQbnlyWkd0NWZtNXppUUxUdXk1YUVCRHZ5ZTZCT0hHQysyelovbFpvYTJoWCtUbVdJUzFFS0xsNUpXZENoWVVnSUpFQ0NuRUM3dE9xUmhQajQ1UFZkeUZKY1ZDZm1lOEVtMDdLNVk2em4zTkVuNlRtYi9SYzZpYWZZV3VyZ1NJWTJhNUdJNlNEbmNxVTc5ZjMwVkhnL2ZSREVNTUsvZWI5RjdqRXpVc21BZERKR1hzd3hSNjdBQWx0TzdwQS9uVXRQSVp4VzREMmJQK21nS1VGSVU4N3JLQlN0WmRZeVplTjE4TUZzem5IV0c1K1hqdXQvT0psSFdJbkt2aHIyOU5YZjZoQ0tnOHJZNjVIVHdZUkNCN1ZnMzF2cjlpUWZGbmNXVUpyOWVYbno0NFUveHFPbjNIeUdaSjdGUHQ2cGt5ejhNM1EvNks5NmdWNDRhcVJZMzZyZlRWSy82cFFQVEx6UFpYUXEzYU1DN0dvSjhjTmpvQXI2eVd4MGZycWRRYWVGU0NCb1ZYdXNXbnprV3hvVlRkeWZleVo5QmRIalhYbHVwNzViYVUrRXlQMzRTZTRzUy9Qbkk3NUFadEQ1OXhKblUvaWxtZndxZGl2cTY5Zk84R1M5LzB6SWkrWVFBWklpaS9zcENwOUdHRHNkM2hCU0FUZ2x3Yks5RFhkQkNOSG1zTzZDajA3dFM2YmVTSTBvb1BEQ3hXcDk0c2ZwR0RkREFQMjFscGVSTjlrOW9pRnRlamRVNzFNT3V2MUZNSWc1b2s0OGlJZ3hGaXh6Q0tuVHpPR1B1Q0FMOTdBQXdpUEVZcldHZ1VRS2FWZDluaVZMdEFCTzBaTGVrMmdoNk9pRUtxQmh3Umt5VzNES3gya1JBcnpETXA1SGVDQ2JTSm1uWmVsVzNyUHFmSzQ2NjZvcHdMeDEyMWhaMWpjUGdHa2hnTUFVZzRFZ24wK0FEMkd2bGVQUGJUUzl5SFJzamdBazh5UkU1S09ibmcwdFcrOGQ5K1FRSDVsZXpscHhxYk9NR0dycWdHLytXYVZlMk15SERqYUZiOVhPNzl3RmQ5b1hCcXZlOHdiL2hKclFXRllGVWRIOENCSGhFanF6Y0pwSTJqK2hINzRWNFlySWlWVWUrdmIvT1dtSU9VVG5ycTlJbWJCR0htMzJWN3dydnNkZzIwMnRiODRFRzBxNnljbUpSNVdPcEcweXVta2E4bFlzNURGck1Bbkc3MTJEdzEvdXJGTDBmRmdTdUpkb1JzWXpvQmRCT3BsQkw3K0Zyc0xsdXdJc29hcWJ5UjVpWC9FOG5Hd0lOcGxuM00rcWpxaUNlRzZNTXlSMm1QczhMdWJIbEdZZGdjMUgzZ2JRNWpBTFRkaTRaU01vZ25VcGFDc09jZ09rSkJsUnh3MVhzMFNNVFdCNTZGdDZ6YzZuOUx5WkNBdm9zblIzTGpicGZ2d2l1eElzRm9YVlROVWRLUFp5NmJQVEJFWnl0MkJjQVJrRFFpa1d3ZWF1cFE5a28zWURoYzhWQ0tTTmJiV1Zhc1I0ZW1SQ215YW1HbmkxbjVOOGYvK2FjWE1meEI3V1NwZU5rdnBWODBjS0ExalhaTkpQRnkxS3BROFl2R3B1SWVNV2J5T2hyUFZKYUh3NXJ1RTRhMmRrVkdYeEZTS1pQOGVXb1R6Unk4dGg4a1U3ZFlQcXJEZkd1L3BySE1Rb1lBUU9ieDJBbHdmVlF4WExZVVBQaXprQktjVENEcFJpankrQlZrR2FBc1p0QnFLcUttaDFOam1NRXNmYitsWXQ3SGRrT2RWWFFwUFpaWk9XUlFRYS9IV1FSbm5mRHQyZWhLZDJEK0liR2ZnbWZOZ3F2NXRMMWMzM3ZQY2IrbWcvNG1SbjdLMTlyVmozSWpCMFRoZlRVZG4raGE2TzlOUlEyem1aTjF3NzNERy90dGZGenY4NjVGbGRnZUQyRmtCMzI2cjhoTmNXYUdPeElHWkx2UWNjR2RKRFpBOVVXOGJKWHZpYnJtUkpuUEJ6VnA3SDQyOElxTytZVUJSajVsbHNoQVkzdUc1cjZFd29wRXc4VVJYNXJERjlnWStXVU01RDBZa21RU2FvK292ak9rZFRqYnV1MGRLNTc5VXdFTU1TRzFZWGNNeVIwY2lMdnlFZWl0L1laNUg0RDVFV2grYzRHa2VXOEFYQWlMQ1c1anBWOWw4aE9QRmlYN2MwL1J6WTZvSGxxRDgwUUxTRVhXVzdKVVhNU2lNVEV3SmpFdS9QRlBUZU5XV2tlYnRaWUc1cDI4Mm5YTnppTWZQMmpxVTR2V0ZXdG9GZW9ldGNyQ2gvUHVFWjhJeVNCdEE5am9EdHpQZkFEcEJhYm5Sd0ZUajM1YTJrU08xTmkvK0svWXlBZWdkLzU3S3VVUEJER2VMZUh2UThBbTN4YXhhWjVaSDNZQWxtcTVBbkJubmJLckE5WmJoeTlha0UwMWxET0p6bWNZVkt4ZldTY2hQemtMdFhjeXVxaGxDR01uSXd5ZFJrK1pOR1FYdXloWk9HTWNJdTAydzdrUFpyVGRLWFRTZUt5Nk9abElnOGJOUFg5QThzb204RVpWazVZaEljVE1BK1VoU29keHFIM1ZiWHREdHkxeHdkbCtML28wa3oxSEZrczZ5eWRDYnhqNTgxY2tTWjcwcEI4ZDlLWlFGR2RZbFJTQUg2RGZqTnhhZFoweklpclY2R3lscUxtN0Y0TFp6bHZFWFBIK1F6K1ErSG51ZDNMSXJoMHNnU3E3ek5ZWGVselVpeks0akhIdGNsbmtPVmd1bkVqZG9jNmlJM2M4NmxJWHZIK2ZGenlsSmY3eGVLUW1LVnF2VUtxWGo2Mzh2Qjk3R1BPalhsL2g0NmVhdzV0MUxSbVMrLzBFeFhmeHg5OFB2anBWZXlDblhOSWRRTTh6Y1BaSXdzQmpiOUprVzM3ZW41OHYyNkdWdXpRRjFhZHBWZ1MyNEZBTUxzbHg0WGt4QjVxNkRqdEUzK1pnWnFxeTRWczBmK2UyNkdkdjI4eXZwalNQUWtna2pEdmg0cGJxb011QjJDTWNLVGlLM04xR3Z5cWZEd01uakwvTDJ2REpZaU1uQ0gvSldFbCtMUlR3UHIvSUxQeWpjdE5Kbm1adTRZeXZrR0NQRGhjd1F4UUlQOU1wNkZFZ0dXNmRDRlVsd1Q5RUNkYm9IbVk1NGd1Z3Rtckg5OVpnNWlkWU9YQVdET0R1YTVHTFFhZFJTakZLS0ppUjBpaVJPUUJwMUNIcGx6YlV6eUlpcnlmeWQvVUxMSDNsUHpFbnlURWo0ZkIzWTcrTTQ0YzJ4Mit3VUFPeEp5andOL005ZXdrNHY5MkgyYWtGcU9wWG8xUG1JTTFZVkNtOVNlSzdMeHByVVpiWVpHa3RpQVdoSmJtbmg4YUJXQkdlUE9wbWFDZ1IvTW5wZVJiN1JkRmJ6dkhzZGVtZ0lWMTlkanVKclRhVHBraENhbGRRY0Y1dWZqUGt4TUgxTXRadnR2RDZ5bjR6eGVNMlRhbCtPU3VjaklkaWxkMkRSekgrUFpuTkxoaTF5cWRyN0RaRU43RnJJVXhZejFmeDRjZzVyQ2o3bWlaUGlWdEpraUJ6TEpPdkxJTmZkQ2U4T3cxK2FjNzN5Z084NHBsT2dUK24xb01mWDFFbUM1Y0wxZUZjQS9oY2NkaEt2Ynoyell6UEV1YnRwL0hWQ1hsV01vYUlWUG4yRWxlQzJLRnhGSDJvOWVMMnducU92RmhuRWttVmRnMHVLL2ZpdFhpTnYrV0RFVG5TR2srMFpNK1BNaTN0QSs2L01ENDA3SGRCM2xPK05MeTN0d0ptems5NHBZbTBlNFE4WGoxM1lTamxNUjZkTk4xakNVbSt1YTM2L0FnYkpNWkkzZFpQS1F0dmhIMFl0Y05CNWUzSGdjd1ZuVFZ4RllPSXRZTVB1cEE2YUJmaTlhTS9aSTNsb1kyNW1UazZiVWJ2YUxsWUEyR1FkMDNNS3doeXBiOXp0ZjFyeWRGblJLY1NkczFJV25kTEt4RldseGtQekxUeGZ1cWlQZXVrOWU0VW1QcWZ6RDEwdWpqUEgxN3RFaTMxMUNpZWQ4OFBuR0JDTWVvYllKbFQ0SFJCV1dWYXIvQk82QlFXNjlTNnM5K0ZxSmh5UEp5Yy9ZekZaR2xjbDlXL1d2ZDZuWUpHSkZZSkR1cjUrdmFWNmc0bTRSc2JyaWQzNWxMdnJTN2NxKzZPd2U5K3FmbGc2R3E1bjhwTExtUndlU2twL09WaWlzK01jamErY21FcmtKL1gwaVRRNTJDUXkvZjg1S3cwRzRzOUZrNWFqU2pWZWMzTHV2Zjg0K1dRck5mK3lhMHZiNTc1STQwRFFXL1pOY2JWZG5iZG95a0lFb2E5Z0xsMFJyUjZCL1N4ZmxVV3dIK0cxZi9lQ1NwejRyUzl1R2hmdDNoVXZxS3Q0cXBObzZoMnQ3QW9MbVhDWEgreGFlMGF3RmZLS0NwLzVnakJBeG10bi9hN3R0cDVnZ251NTVGTDA1V05qODQ3VDlKeVFoU0x6ckEvdlM1OW9LQkc1ZEVNNW54dVJKYTFyMkdKcXRjNWtsY3NnZVdFV1RCK1lmcExRMWhtbERaVGFzVDFTckhtSXErc1EvcG9nQ24wTWdlbzgwb1REZDhXZ25YVlBGSEo0REY1ODhid2ExMk5sd3BsdzZsM05pQnlVcmlCV2k0ZVpsRG0yMThSNThZaGVrUC81SU9LM3lzVHladFdmVkxPOS83dVlRL04wK3VKNTNUVVhCS25QaTNPcXRLOFNrZ09MVmhyOC9NOTlVNzZ4T1ZtcTN5ajFYZFZwamgyRExSRkFOYjR0ZU5scHdnV2pXZWpnQWZudk1RS2RldUNTUUFtMDM5Vm43VFhyODJNbFpxOWdnMGlBU2FFV3VwZmZaN3ptRXczVUQzOStGSjVHS0d3dllGSmJlRVpmeXlsUE53S0phSHFxRUp2aVZ4bHJjb2FoRVgyQWx6ZHpBSFQ2T0Z5SC9pKzJIWWI3TGthaHhYUE1idUZvM2gvZmo2UGZPZTZ4dU5qSnBFMnVMSlYwaHk3NGlvRmxwL1hQMnExVVQvTWVWb2tMejFoZ2R6S2hBb3VHZVBmRkVGa1QxcWoyRWJxZTJOeHFOczNnNnBiOWhBTFRMVEs3alVxN1ZRcUFtK3hSL1BBRC9JcC9DNVArR3NSbXFDWXZtSmpuVnhrMzN2Zjl4MEFtY3Z5NWUvc2U1bjhoMXhtbDlabWhWWVBUSEVGb1BXWGRVb2dCaVVjeUJjN3Z5WXZBQ2xWRkEzSkU3R3NMNzVPNDRpQWRKTkhiTG1uMkVvTmxtdVVtdTBhbWJZaUVDVjh0Nkpsa0I1dWtpQk1pejREbVRYZHQ3dWk0UVlRN2kxM05mOVkvWmFXeGFvNUJidEdab0JuMnhOQzFnMUtsTVR6aHBYaFQ1MzFjUFlZWkJGK0RyakloRlNmL0FqTTZxYkI5YUJibEorZnpaZVg2KzJockx2NHdtMHlRNE56VGFRVUtPdXhlaWh4U2llUm44Q2R4ajlkV2JwZGV5NWtFVGlkbUpNV3NmVDlZOStqdmREc1F4TWY0SXRZUmtzWGZUZ0tCQVJVeXFkaGU2R2RvK3JVM0lsUmkzQUNlcGx0dUdDOXUzdUdSNGdZMGZPaXRiaEdzYldUVHlSK0ZJczNxWmk0QUxzamZuTTBSeGxrMXFoV3UyU2VWbVBBbzFCT0pCVVBoSnRKU016RjRuNlVSRGdiWkF5bTJzaW45NGx1OHo4dzBJY29wZ0xnL0hGWU5icDlPWUNjQ3lJMjhGaEFNbkVuK3BpcnZGckZzQkxlTEIyTGtPT0xxczVGMFk0OGJSWHk0aklQQkVuMlN3b2NpdU1zQVUxN3lwU2ZTRnJIbGtiV0FQM2dhSjBEbEluQ3E2T0RoU3FnS0ZUcTVnTVdGUGZneG84Qm1jRWdYbytDYXVtbi9GeFlISDJnOEthMHp3N3ppcnFwdTcyTGxYcXBXaDc5emVwQ3AvbWhXQlJTVktKM28xWlJkaWFjRTVRb0tYUTlHaVV2VnFXN3FPUjhjeXZyeEtGcWpJK293bEo1Q2U1djRuQndKRlQ0N0RSZFhKZWtPZ1BvM0FGN0ZpT3ZON25jbVEwRE1NRFBqZ1ZXWlVqNEl4dVNtZEsyOWNIQ1pSeVZtbTRTMVlqZVBUdDQwZ3h2ODNxbTJPL2t5enNrVVlWQnQrSVlRdzRxd1lpb28yTjFQMDArM3hsT0g4NXlCd3d4YlFPbVA3dFJ5NW1PWVhFR0RtOGdocEp0Vzk4RnJ6ZDRqSjhhT1hWcmR3Zllibm9TZHFNWE1Nano2RWJUbDg3YVlZOEdQWWd3ZVBiRGRPalYrUlFxRWkyaDhGcmp4UmdOSng0RnJENTRPOHNtREtzT1lhb3o5TVNsVUdwTGZMcmF6QTNZUlFQZWdSdllLdnFsOFkwL0I1Q2RLM25oS0c4QzlKR2tQZm51U3BkbWpPZE93RUJjZ01mejlVcXJyTWFKTUszSVFBMllhazVNdzlmS3d3dVc3QzRlV3VsdTlENmlHeThxTjVtcFlFVXpvSmEyQXU4ZWF0Rk9hVm9mTXpKQVU4REJiUkJYc0Ewa09BK2VOaXM4c3kzd2VxcTNGdVhHMGZXSE5nN0x1bEswK1VhQUJEdWtNYjJuNW5mM0p6dmpXZ1hPb1c3Vm5tL0N5TnkveTNuYWlON3hCUE5TUEVxemw2WVBpR01IY0wvV1c4VWxJMDM5ckFlSHNPc05RRWpQWU5KNXBCV0ZYWEd1czB0Vjk3ZEtIRFB3NmVOdlBLbU9tNldYMTlxRzlsSEhyL1dpdkx5SmNsZE1nUUluV0xEL1VucTIyWWV5Q3hPVmxIRm94K29hb0JhYjlmaWtaWThBeGdKMnlrbEZIN295ckRJRDZ4Vi93aU4veU9lS2V2QU5UVWx4a05hTCtSSTBVVGlKVUxwcDlxUU9JWVJFK1poVFVBRkxvSDdZa25CVGZYRXhiSHNhc25vNXRiN1YyZG4xTTJOR2UxOXhRSFVKK3l3Z1RTTVA0dW50bHRBVThNNmRmMnlTVkpua0NjTmtLM1JxV0J1WHQ1QzJLbGN4T3RhT01SeGUrZzE5NGZsUStHTTRoTG1zVG9XZUhNM1N5T2g4MndSSWpzV3U1cXNXenp4Z3ZsaFhlZm5XaS9jZE93WDZEVm1YcVlTMXVRVTNuOFRyWW1KZjR3bEdzUGtXQzhSc2tsSlpnQThBeDEzUXpIMndIRHdjWFkvMzBlNlNMc2tKaUppanR3OTNMQzV6cmhzMlJwODArcFFvMS9xYmVqN3RGZjlJQzl3bDdua0tsTVIyaERkd0pxZ3MrUGZiWW50VWhReTUzam9lM1dSSDVzY0hxZ0ZrclRaNEM2NHBjSWNvMGV5U3pzb0JhU2ZFTmo5UXNUN1JOaCtzNnNWNjdGQngxQTVWWVRIVE05TkcreHFMUTJaZDVSWlpqRXJscE03ZDcyL1FPQktLSjRRZFVxcmt0UmI5ZUxRdkkwc2xZelB0STV5eHNxcWdJSUhGUFhXRU9BNFMzMWdVTVR6OFRNUmtod0hBaUpnaGFHUjhLQ1RGVFNKYU02ZHlwdWZGVUFtM1VXSlF5MnladjNCR1djSkdvR2dPT1hjb3dsMEtaK01Hc2NleFY1RGU3YXhYaDJzZm5SN2NoUHh2SlZ2cUkyQmV0Mmx2dkcxdkthYThUL2EyREh0cXArM3c1N1BCZlJ3UXVEaE5VenJubHlvSXIxc2RpL3pwVW1jSEJnNkpTZkVyVUJ1VWx0bEp0K05ydHpPekJqUWZObFYrZWJRdHFUVjZ4dEJqbmxheDZIT09zd0JWRG85MU50eGVHTHd1ZytTUjVGT0l4Y01icldIRkRTdHA2c044OEtZSmhtTHJkYXlPT3IyMXV2dHhHUTZlOHdyYjdyNFA2anlmT0hnMTJqOXI1dktQUi92a2RxS05iZHdYOHFMQlpKbERESCtRUmZCYjRraFBvL0NidENqcXdDUGpIdFFsRjlIaDdBTVdjM0R0VHFMa3ovaWJiSmpiVDV4SmVkZHA2OHJ1K25IT2xCWjBpL0JjUTRrUTljKy9zUEJFTngxMEJmdGcvbkp2Yzc1WUZuNFo1WmVxYnFWNXA4R0dyay9pQytUbFY3L2RMb3JvQnkzZFI1bkdRbVFFNHd4T0s4WklWTkxiYzcwZ3BIelN4S1FYR3FNY3B3bzhNTWNKaXFSUEY5eGtMRzhCZ0hpNkMySWpOS2NpWHZxYzQ0Y1FTN09VTFJRMWFTUmhsZzlkd3N0UjRVYUN1TXYyU1dEbURPd1ZyM2ltNTZJWWFvVEwrWDBsN2J0WGdNMEZiT1hPTGlmVVFlaWQ3aEJnYTY4MmxZOWZYMDFscjhoaXVZMlJHNUl6ZlZYa2ZNNVJKUUtiaWtiNlFtVy9MQVdYOVczTWlOU2FTa0ZIUWpmeXc2V2lmVU5QWXREVnRPaUliVTNxL0xzRGVNVGpuUGxHbUN5MEFHcW1FMHlpWGRxQVFFd1VuNnZZeWkrQUFWbGRYTWNEVHduNFN2Vmo0Vi8vRG9iOFoyQjY0MTI5ZGdxTDF3YUx6NFc1USsvSHNIVFhaNENWSHF2S3lQeTh3V1pVKzJra3MwalMzdVdnWjRhLzVWcTlWTXZsc0NLYS9YNVR2ekNXa2l5WERvb0QycHFUcFV5ejIyQXFFWDA1bDM5WmpjU0lOSTFPNXlodHA5T1hWMXBSVmtEQW92Zk80NFZNQUkrQWZlU0hDK3lzbE1BMGYwUW80Z0FqdmJXK1VBdDhNaGQ0Sm9sOVNQeE9JQWs2T2o0Z3dhand5MTNMSmZwdFovVE9YU21QODZLRUZCdHdnVjkxRHMvMVI1YUwrTTFSZVh1M25FRWFTblY1WUVFUXV1VDI1czhuVEsrM3N5dHVFbDlKQmo2RnhvRmtpTXhadDloZ2lmTGh4ODJRMjBGTEJFTWUyYlUxNEhjaFdBUys5Znc4TW85U1hxRmJsWE5KOUF2Y2xnNWdCRWZibGNGM2ROVGhoL2xoWXpyWGNJd2NBYmlKS2ZuOGt4Z0pqY1VxZUc4a2pMdmxXV05ZT1h5TFh5Nk82SDdrb25hNnZpb0JnNUE4d0hhL1hwV015NHZZTHkrYmhEWjFlODNIM0d3TXJQeWFUQVp5L1ZLVzVmenJmcWxaSHVYUGJBS3hZUG1BSXJnZ2hxUGZtbDJPc2hZZXZCL3RicHdNNlhmYnI1RVQ5RDRuT0RBVTA5NURBK0hseCs0SFdUKzExcTBLWmJZak5mcEpINHBiYTY2UjFPenNqT2FYZTJ1Y3U5ZFkvM3cxZldVb1dnZWFQZXlXTHhhUW8xMk0rODFHRStTRE9CQ1REby9zVzlmVW9scVlvcDFqbzgzTlhOVlp1SWJaTEl5QzVVVHNXN2llVWY5dzVBV1pkSUdjUnJZelBxb1RDdHdmQlp4TnhaVWVxNTVUNDR5UGxEejZuSnpvc1RSSEVRZTExNlZXNTFIb3N4ekgxak4wMmlCODh4WW1GTVpTdDAzRmdDLzZ6ekVMUm9QRGh2ckZLWmRHWmNoZDZ3OExIS0Z2bFpKa2o4RlR3SGQ3Sk5CNGR6OXk0bW1vZkNNazdNc1lHanIwby9RTlFyOFpyU0Y1VnloV283R2ZaOXZra2hCNEFwenlVUzlTQjg0RjJoWFhMWXQwZ3RHaFc0VWJGMWljdzZYYWhjM2NjZGU5dStyRUJ4cklxVTJLcE9pVmdleG9mR3IxZENFUXkzRkc1U25kSjRCWVRvT0R2ZmdFKytxRWtpSDJBdTJES1d0RVptbENVdXM2MG1ETzk5NXl6VHgrN3duaTlOSTdaMndWNFA1T0h6M1k0TzVzRWtFQ2RWaHNYaGpLaGNGZGZGNlBOM1BZdm5xTU82Zm9ZT3Q1R3VJZDFVVUxocUtZU2Noc0JDMmZCZUhxOXhxY3Vjdis1ZE1FWmNkM0xrV0g4aHRsTnFlTEhvNFh5elc4Z3Ewd0hiOEZsQUIyVyt5Z0phTFB0enpNZkl5TFVNUFk4VG1MOFl2VjR4N1NGUnJBOXNzSnkvZXNVR2pkY2Zja2x0ZmpKcmNoMTJiWFUrTm9QUmlxSUNwYURqajIzL2lKZ0JZMHR2NmJQeStkeE1jSW9wbkw0c1VmbFgyTUpuUEY2ejQ4K3NyUXR6aFNESXFCR1piQ0lWaW9LK0NvN3M0YkxZU3dGUUdlTTc0TWtna0hxeVVsWExtaDlucmpaY2NaSlJ2MkN0RUdwNUR1amFjOEVqZ3cxeW96YU9iTllxemdMYVhDaTMzSm1HUmxMbDhjKzdmVjFLSlllazBCVVFObFlqSFEvR253VERzZ1F0S0xZbnp4V1Q5R2dhUTJ2bzh5MzRFTGFHRjh2QVMrcnQ5SVRLZ3d1bGVHM2pVTDZjS3pmWVVWS2RHd2d4RFV5UmV6ZldwZ0NtRkphZkxCcklXamhjcnFweWVnWTRodHgxOXZTSzJiWGJ6Szc5VEZUN2pvdDhrcDN0b1Y4VTNXU0RyeFRqWFlqM1ZvQXltdGZWNjZPUm5rVnVxOGtUK05ucGxNTG5aVjlyaVErbXM0NFZpeTdzODdhUFRMQTBoUjF1Z1BXOGtHVy9PSnRIdXVoaTluWVZZeVZVWTVGdHMyMUgwQnV1NWw1KzI2REVHT1M4M3d3VGxyVkVvQ0Fpc2tEWkMrRWhiQW1tcy9sL1k1T3Byay9pbjlvYzJpRjFZL1B4cTM2MHlUNy9nYTJXUGw5QzlJWGpHQVlIVkJHMXlxQ1BsWENmZHpMbk40ZVFSVVRJcVd3Vk1XQi9Ja2dOL2ZRQ0s0eXpqN2kyejlsUHUzeUdxaTJyK200VzY3WVE5T1F0ZHlQdnFaNXZMN2xNenZJOXNlM3Z6T2M3RkNhSlZBSXhmcUtpS3NiS2R0a2hTZU05RDBaa3NXNkQ0d0tqc21TbXR4Z1RMdW5UemFRSmt1YlA0RUlPdE1wNmg1RHFpcGUvdnJqa2llNlE4eEg3bWxFNTEzZFk4MUlzSUNybHhBc2NvS3NVOTg0T1hMSjEvUi9NUmtwNmNxY3JlS2VxVDVyMW1oTHdIUXYyWWZydWMweU1sdjhjTmU5TkRpSE9Fa3ZHVUErcUc5eTdTaU8yU1VMQXFwa2Y0TTZrNVpVMkxZeVlEU2EyY2xrL3NNVjRUZVVoRVZ5amlBbnFFYVc4TlNVWDV1NlV2RTNobG05czljQko2cEtZOFhvSVphcTJrU3lDWm51M0dpdlg1ak1JYXQvK0ludGhlVEhEWDV2RHdsWllYR0t3Y1J5MkwrY0FrKzFZa2lYUW9HZVFLRjcxMURRaFM0alZYbU12cUVNZkRtelRhbnRZV085Um1uTjFLK3dGaGhYMGNJVHFqZ2VCYTk3RURKaUdFN2d5QVFjbWlERmFzNmRrUkZxR3c2ZXFTWE9aVXdPVGl2TFdhN0hqcjIxT3VMNURJT3JNSCt0a0E3c3l1VTdQVGJyUjM3cnNoQnFiRTRMZTdqdTV0RXJuZFhhejl3dVZZNm9uMHBmMmtDdWtyZjNMNG9pL01hWHdUZnR6dERjODQ1cEtkT3dXWUV1UVFZOUFPUVdEVmlsSjdqbW51RU1oM1kxclFXeG9mTFV6UGR1c2t2N3ZlNmhVd3o3VXRqVGRoMkpOcXJkVkIweTZkWE1QY3FodUxUT004ZVkrNnZWcjQwOFB1ZDczME83ZE8vRG1mVXBncDgrZGMxUHpqRWVsOXdYR2ZhZkRKNGJVRXNrQktaekUvV1JFN0IxdThUNmRlRk84KzJpOW0rKzVuRW1lNWpuNWpuRm9BZkJ6bEZvSFZxWXdRTXc5dVJIVThoc0ZSZkpsR0dTbXBQOE1NckNTMVNOenFLUC9xUmNmTmVucDVUSkhoM2hRLzU1OU45Zm9HLytHSHl3KzVBd1k0ZFpaM3NzRW1kNlJrZ1pvcVh0RXhpNC9hN050Y0o5ejQ4aFdkYmtoUDk5QWorOXlDcWMwWjBHVjhUb1NLZC91Q1JEakxuU0F2Sk5kK2FLdnRZZTJoOTRQbGhWTU1oUFQyaXpNaFNFZG1nVEVMOW9HNWNmV1prUkpXaUY1R0xVeTlLR2tTMWlyY2lNSnloRWdORXJFTmw3eWN2WG9HZm1Ld3ZrU1QyTjRtMjFmanF0QjhwZnMxdkE5eHFHQUdOd2dUQ093MFR5Z0RpNk52RytNNzk0VkFnRXU0NWhJZzhzR0MxcVpNLzY5eHh5ZHIwYnlUbHhLOCtrOFU3aXpDRWRFNTZ0RU1aSlY5UE0yeVlOZkl5cGVQRFJRYW90RnBGcUxydVVTTU1BY295UTJqc0hhVTN4Y3NQeW42S0Q3TkxKRmRxOWZHNWl6QzZaWUlWSStuUm85YjlOb0FDcWF3b1pEeDBPekNTWGZmZmhaRUY0OTRQcWd5THFET25ldjI1ajVlMDN6cElibEpaUml4VVJXWW5LcVlBQXJ3cUhCdGdHdnh6ZWs3aUcwMGYzL3l2OVlaU0VOb2FYMU0xd0ErQXV5aHdxaHI5Y1pkSWJ4UnlxU2Z6TnpYNVJvSDRod1E3am9JVUtJT3JCOU53OWxTdVZHeFVDN2lUc05vdzZnSGphL1VuRFM0QVkrbWNxdEtuNWRWUkkrZFN6NWdoWlM4UllNajVwNG5KWEhNUnNyZzFnUVlSbEFiZitEanVJSHBIQi9wSTdnQzFVRHM2VUd1OXBUMUNyUlFmVXYza0p4b0daM1ZLRnVORWlScW9kYXNnUElpVk0wRU9UNHVBK0JNQUNsL3hEZ0lBZ0ZQTEhkVHptSHNJVVh4TTcrTFlqQTlJVGxaQlNEb3Z0NWtCU1FtNDEvTVg0UEZQTndjL1pKL0RwMmQ5NFRlRFd0L00rS09NVnU4Znp1OUk0UStVSFFUVzNYS3dUZUxQQnovOWFZUnlNaVFCblM2OTRKSSt6dSs0M3ljQjVxZjR0dDlJeVUwL3FvQ1YwUlNRUnBmbjY1WE9jVEhuVDRXdEh0NXl5cE82M0x6TGhUUzAwV2lpdVFoSGJybXZuektZQTJDMWFDczV4bjNUcENTUEp3cFU3eWlDRHYwd1VCU0xnTjhyME1nS292V0lSZDR1UHZrQmVQM1FXZE1zKy9OelovS2I5ZmxsL2RXa3h0bEQ3d09OelJGTjhTN3paVzJMa0hkc1FWaDRXWW1tNllmV1czNDFFcHgrOU81dWRWUHNkWXY3NlRKcVVaeW5JZzEycS90bzY0MWdNWDNvS05IOHFPdm5BamovWm9NdldTdS9WcDZ1WWMybWdmM3l1b3JzYXFKWFpYREJab1laTVQvaWkrVU9DS3djUDBaOHljcjhDYVp1UlhPWmk4RVRkY2NZU3pBV0tnaU96Z1VuYjJ4bHJGYXc4d2l0cDJrUDN4RlJXSnZzNVQvRmlWTnJRVHVWdklHQlo4YmZaTEVoV2p4ZEMrTmJEQVZQV2lQUjlmdGNSZ0hhOVlheG11MlF2czZBK3FyVU9aOE9yOUM4czVOUW9oYjN3dnpqR2sxM0ozRHdIV0IzWlpBSW5HT1AyaTFRb0tWNVVRV0txeEQ1ZzV2cGIrNGw3Rm15TzNjSmRKVFhJSlRoMmJxalVxRnNrV0lFU3UxRTNXbnA0emVuYzJjdEo1V08zYStIWVFFTFA2S3BVVXR6MDJHVHNYakxiaDlkVnNvKzlrUHRWWjNCbnd4U2gxU28xeW9BbVIxYm91d3dodUNkK1RGWDJEQmZObVcvMElOOVNWNW8zZTJTWHlIeUYwdFJnUlRKWUlXazMzeXpwQ0pUd0JCMEhxU1lkeFIxdW10UEV5RHFNR29LTFpMb2M0eE5jbjBLK1doNFl0TmErVjJMT0YzemtzVmhYQXV3elBXNFBWdTI4YjFhSUJmZy9oaWYzOTBYRGtyeXpZNi9IMXhIS1QxanMxKzNKWFp5YWtJSUJiYmVPaXdNSnE1clVYK2g5bUVTQVplSEtITUt3Uysvd1h0WWdDN29PMER2bTk5eUtjVFBvQ2RIT0xDSW5INHpKZzZtUzh0SzkzUlR2NDhpcVJBMVJLY0tLWmhiOWdsVkhlMEcwcHI0ZFAwTUkycTBMYlA2R1JTWUJWd1lEUklHME9FRjI3bkFBQkdnOUlHVm4xY2Y2WmZEYldtc24yWFlUOVJGeXNSRXQrQTI5elBwNlRBMFNjUWd3SGlnWGd4RzhPbzVPbWM2ZkpHeGRwUmd5THFFVXBFRDR4eUNja2w2bmp4a0pwQ20zbjNDNGlzYytoRHJSaThjZnFEVHlaS3NCbFFoYVRxdkw0b2g2b2Nia1ZtQTBXODhTSUlqQUZJMFZmMksxNE4rYlkzeVBoZGs0R3VwMHZMdFFDYTBqbGhmeHhIVnd6RzBVRnA1U0J3L24yWTQwcmU4OUFVQmFqTXNlVGVqeWpRak5NSDVmak9BYkc1cXo4OHBIS1FQYVl5aGlWM3IvWVJIZXZjWkVHZjRpNlM1K2VENGI1UW1QbkRLckF2NThWV3VxSVJDWFRORWVDNExnTWI3NjhpVU1ORHlXV3BVOHJLelV1bnd3bnpNcDU2Mmg5UysvS203c1NMTjcvak5wVnRFVklqRGtOckV0UzM2NE1aSEh5ZERGbytmOEljTkpIeTNSODZiMi9YK3FOeEhMbDdnb28zUHh3SE9UNkkvdC91Wnl4dkxocjZSUFpIeFVGMWdrdmV4Zjd6WHlHTW5mWVJJN01HSlpnUE8rN3hmSkIwM2RDb25NSHJVRWpYZE5vcWQ3Y254MVNSNWYyWjN0UXRvVjdqTWtWejJ0YzJMUk9mUVBHcHRDTThyZ0w1NDM3THAya1EwVGoreG96WU4vQUZkc0Y3UjMrRDRaZ2xqUzVBbmZlc3VtaFc2NldINFh3WlZubDl1NEw2YmdJTGw0cXpZeis0WXAzUGpMWjNZTjd6ZWM2V0ZhbzJQWTRzMi85RGJBNXdrNzFlbGgzOXhqN3VzZkVWQjl6RFV5S0FVcE5ybmhkMGVDMExYckFLbHRGQUx6MEZkUENyVEdvZWNVQ1RCSnRmY05qUkdqNy9vL3Uxb1Jjd1JmODVRRllvNW9yeWtWVmEvNmxISzhFYkZUSmNNY1Eya3NrKzYwU0hPVGwzMFpYTU9hNUdFaS9ZTndqenIvWnZqMEM4U29MNkJkTnFYTFpTdC9iejhvM2JVdWJOQnp4MXVyLzIrV0U2T2dCME5LdURMWnZPcXFJeXRvZXMwb3JqWUpFUWNCSFYrUWp3K2hKbDI3U0RBT3MxVnVMQS9ic04xZU1SU1lVL0phbksyM2JvUS9LeGpvY3BPay9oemZJYzVsYlZ0ZzJ0UG54Z0ZXQUY4QjBPTmMxZ1FsQVlkdEwyMW9IOElMeWFXVGI0UkV2Y28wd0thVS8xemJYdGpKdkNidkk3N2tMVUkzLzNkRHRnTGZxeVFaRDJubmlUSUJ2N2xiaDBubzU2OUZLUHlJc1hYbHMvNVBBbnRNemxKOVNQenU5dDJ0bzZFSkp6THFhd09IUkcxeDFwZmdtREgvVURtRTlGSVpGNFA0a3hHZWtHbVlFT0dZZFFkVlk5QmR1dnp4STFuS1NiVC9tWHhvUC9tNUJzdzB2UDZNK0RYcUxjYktSazdaZnNxWk4ram41Uk1LUk9vYlczUmdMdkpKdmRLRTRUQ3Z1ZXYvUWJva0xMNG5sQnBxNTRHclZxNWRGd0RsZzZrTitDd2ZPR0FjTTE4aG9USnlsOFQ2WDdPUWRVUDc2Zjh4a09SQ3V0R2xDTzhEdzh2b05YZTRnRWdyOS8xTlNYYWg2bis4alFlUVNCZWUrZTY4OUNOWVlhSlRDTHY2cnMzcmpRMUxldUw5Y0hKUmd5bnB6bmdQRzRnVjNCTDVNTjEvZGZNM2VrK1dlck5wS2I2YUNJYjQzY3VSTnZ1aXBZdWMxSy9MN2s1S3V6ZUloL21xbm9TTlFYZERlUm5YT2xuTWJWVEdIUmNuUnZWZEZzWnFGWkI3cGF4Rm82SzNJOVRJMC83WjE3d3E3L1A0YWljc3d1ZEx1M21vRk9HUVlGMjA5QlBHY3VYaitHR2FBVGsvSXlOTVQ0anJGSUIrczZQY0RFZ2k4TTVsVnJaQ2RiTHV3NzY1eGpCR3R5cFdNcVlvN3lLYkZZN0pOSVdIMElQRGtSS214bHFRR2tnY1BwSmdOeEtpVWIwMWVtMUdwZXdRc1JQWUZ1bjZSczR1VEZ5MUpjQ3p0ZnZJTUJ1cW1mdXZkYm5PdE9EZzQrZmNHZWZUc1FTd2g5T0dBQno4YUt2Z091Y24vSjUxYzk5YmV3VkZ5K0tZb2dLN1RaTm9WWVpvKzRweTZuZjVvbmNmVm9lbll5dlNvT0ZWcGVFTDJoWlh1RDlEQ3BCeUpwTlRranNyUjV6akpENHBtSUltNmdlWEZLd2FSeXJOSStQMnJsOUNiNkpVYjdHY2RsZHhxMk9oRThMdVZwdVk3dXNza0t3ekk0cG41OUhZWTNhaVFXanBYSEJuemY0UFNkTWZNRTRyZGpNSFJ2eXYvTTdVTHFRYlhPMUpOMW5GRDkyYnpqYVFaZWR1dUR5T2Q2S1RLWnVYL09hU0x1TzhlbVdSaWJDN2tXb1cxSHZXSWVYUXAxcDdrSFpJak1UUm5pVEUza25ieVhrNGtKUjFEd0ZKbm9ub2g3b2liV0VyUkZ1TVIyeXlTMWVBOXRYdDZOQzMzV1czenB2UmNUY0xObFJBWHZwbm9HMHViT3ptK0FlUDd5R1hWL2RKZzZhUllVMkdQMzdoN3R1dTBsRkp6T2Zuc1VHcDZZQ1JJajF2ZXpOSjdoMDBaRTJZb25POFNCbmh0RGpjN1NzY2ZtRUx4ZkFVdGpYaVE0VU9rQjhEblF2UTBSckd2KzFJS2VNMWhYWnNtUldZaVpNUGIxZUF1MGRJSTI0TWdTNEhkcUxBRTNtUGtnR1dFU2hpZE50YUZVQjVsNlBpOVlkREFPM0RBbXdpME5rczU4MEp0WFhwd2RXUXlQaEN0V2VaR1dHbWlnZ0VkaWtNMDBVam9WTloxQy9WVklSelZZU1NPaUxDL2QxTzRlblhzQjZvRUJuQzZpWGdkRmhMUE9ia1JDMjBDS1gvcGpsakd2eGRQYUlHSDBEMUJoSTMrL2p0Mk9jOGVUUE5xbGVrQjRWd2tqcnVuUm9qcGk1RjVjSldJMVJtUVZiT0k4UVNLekQrZ0ZvcnhjQWg2NU5qejRaYmhkS3kwSFBqaWFpUElKazdYTURuWHRLQzh3VUk1bm1IUGlEbVpOcVBXekdTM2NFRmxlaWdsNTBQK1J5UlNFOE9aY3p3NC92ZnNIQXV5WXhnUHJIeXo5YTZvVlVha05xQU5sYm5Wcis3SWgraHN3UnJyVURodzlRaGRidE9vaEZ3RlVSc3U0T1EyVzQ1OE1hWEJXUWROeWdKUmtOYVpDVE9IcmwrSFdCREdXUGxsckhmaEEveHdIOU9wemw0OCtYVFp6aTFaZXpkWU1Wam5UbkcxZ0JkZjdjd2s4L25Wdjc1aWVienFhSDNVcE5WeEN4ZnJyNkxyOGdRcVI1RUhkemJiRDVRbzJkRnlWeE1LeU1rVEo3QXl6a004dnpWS0NqUzFXUjZxSlVXbTMzNXpDRDY2QmxJazY1QTJWcTd2bDhNU1NoNVBYeXl2V0lCMlk5VmZNY2tnTEgwM2k5TDNteEloaEN5ZmJ3WklyMVU2N1pOejZWdjhsaVFmSGFZNksrSDNCUFIwd1ViRmwxR0w5MlVETDV5ODc3TjRDRWRGRU90dmo1MC9DVEVjZmwrS3MyeEEzZm5YRy9KUVNnOVQxL2xFTXRGbzNUQ001cURqRXF0Vy9LcTkwU0JyOHBoWCtLMjFiMzNzakltM3AveHRjQlY4RUt6bFhjaUNSOEUxOGtvUnZFbGlqTEwwMkVsWGxzVDZTT29uQkJUc2ZvbWVaYlJYc1VnbU1CWk1nNGpKVmQ0eEtXb3hvWFV6eWluWGpLbURCTU9xVjBWQUFQV0JKKy94RzNPdFI5VURwbFB0RmRjS1NWYUczdklUcVJyU0NPR2plUGd1YXlHYi9lTVJwNmFuM3ppZlYxdHVZSERnUXc5emJ3dy9YUTArOFNGanZ5K3RvQzlZYlNqZWhYVkFhQWxZdHEwZlNFamgyaS9KbXBxL1RXYk8yNWR6bjJCVWJCUEc3dUJjckJXbXJjcXEyZUtjeWtlSzFFWm9xNTAzeC9zQ1hxVHFSeVZVVkJSdHFWUXpEN1BTS2pjWnYvZkQ5MGY0b3ZubmZYK25JNktNaENRYVRlamZMS2Q3UDhXdFJaOGl0WnVsVWFzTE5wTFRqZVFNak1hS2F6Mi9iblB5bUw4ZGpOTUJ5MlIxTXBFODRqQTRoRGV3NHNPQnNZOEttbU10MXRUZXE1Y3l4cjltWjNwekw0enRuVkxjTUhOQWhMTlFnUGFTeUZHbGZRbS9ubUNDU21VS1ZjNlB1T0dtSXlGbGI0bTA2N1NSZ3NkYXJ5eDE4LzIyUWRjK3Nmb0t0NFgvQW5nTUdLRGcra0tXZzBzSlZQSFVmYVN2N2hJbmx5Q2lzNjlvSUJ2alF3MEVkelo0RDh5ZWsyekJHakREcEpuSGF0VEx1aTc4bE83Y2R6YVJxRVdqem9NQlk5cTQzVldWVzVsL2s1MVF0SGc0c2kveGxqVXVUOHlxdU05UjBLdFVQWlBTYVYrQzdWWEVXODRieTVid3RYL1NKMWVTRzgwQThmREI0Z2d3M2F3cG05dlJQcWk3cC9IYjNVL2pWYms2bnhvekJvOEtRUkh4eVdVTW9RcWQ3TFBwT3ZGQ1QwM0k2V0tBL1h2VEYyUk1BVEJQWFV4Z1JzMzU0ekFFY2xlS1puUnExMzZTelJsdjh3UllCQ1FseXQzQ0NENFdYWGUwL2djdjN6VnlMSUhKM0tjMkU5a3FTcTRTMlluYXJpdGdycTVLczVHL25HekVYcHdwd0IxMVNLdnpGNkRJcHJCZmx5ejZqN1ZoOFZJdWRrOGYzdmh6MURkUm9BRTlPamtqN1ZDK3Q4Z2RLTWxxTkNuRUVadW5QRk0vUmRTMlBsZ1U5eEF0QXpmdWordDREZlVXL0x3NW0yNDhUMWNRUmhobnFWR08vNm45a2RKdXdtSGZpdWRIc1JLRElCbDVsSTZ6ZkV1YW9va1BWanQ1ZXlxVnRrNFI3dXdkdWJRbHlJZkJUUHdEWjJ4NmFIM0hacWlIcUtTVUlYdzhMbG5aLzFrOWJmcHNxOGRIaTRqL2xUeDhJOWJ4cnQ1ZSsxaHhrUGNnbjhSY01RcVUwYlFLTTdLaDl6TlFuR2NUQVlxdkhYQXBwekxKVTNnbDdGN2pnNGE4cXRkZ1ZobElldXdUVTVwMDI2QWF2RGFvc3ZiRWczbE5iQ3ZIcjhDK2Q2SkN4ZmlyTi9tcXNPQk93ZW1tMGVlM0x0L1FtNzVTNGtUcFVoZU15N3hqS1l2MzcxYjFBNW9ySnNobjNFa1dURFJCcGY0MU5lS1hBclVKek1PMEY4VGVBeWRVVFNrNDdCV21MT3Z0VFRBTnMwcjF2K2VYbTVyNjhQYlRBc0VYd29QS3hNNGlRbUVjcU1oblZEaitJZDdVVUdzRlJnMUl4L2I0R1RmbFAyTURleGsrT0xoemZNSW9IWjR5TXNvRXlLcnJvU2ZtUDdBemFZdVBWbldGNm4wUkdqOG9FUUNEM1AyOFlwV0REajI1bjI4alV5ckVGR0NmMGE4Q1VMY3l0b0hYMkxpNHhMSlVyK2lINTJncWJzeEdFU3ZXRUxxYXoxd2lNa0JyejdNU2RjakRFTHZzTTM1dXNIUm5UU1hyWnh6OGVBSlQ5MWxZZkhITzN4NzFjTVBjYjRxZmJZU0ZWOVRZV1V3T0Jwbm9zejRkVW5XZlpyaEhVSVU3Y1JsZ1p5Um5aODRJUXhvSXViZkw5YzlqalkxMFFVc2c4UHBXU2s5azJlRC9QOWlsaU16VnV2aGwwUEdJNy9pMzg1cENwenFSTDV6aE14L0VUYjZ6dnR3VUg1a0ZLbW83MkJ0WjEzWnZKNWlpUi81bGxGN3VkMUMzbGx4d3I4dFNWWGpNY3NKQXpUcHF0OHZva0EvajF6K3RUQjZjZU91UTZUUXRyZlpRTzhSWmpDT1hyQlRac01VSWhJL3JKak5xNVR4MWcrZUhWUkpmSG5ZN3pZVzZHWHp2akFGa2tQa2Nkclo3Mzc4cVNBU3hVc3NHSmt4RllrWGYwcEo1bkM3VjhCQmpYZXdjYTRMeis2UU8vMFhTVUlMaDJTZlgwTzJ2cGNiSXFncFRqZmJSTEtzU1lEODRJNHJjcnZIcElPa3lhSmRDS2EyNXJIOFR5ZFlwZUxKYUpvRGovY2Z0d3NEamdGZmJ4ODJuS2JIY3NOaFRJTXVUZkxOTGZVVXFYRVN3bndTcllYYWlxVklYdUxCdkI3dHhtZGlKTjBFQ1NGNTIrK2dKR2c4cmRaRVAwd3R4em5Qb0F5QkpkRlZpZENOUEdURkV1NVVMQVBGWVA4VUxQTjlWRVNlT0ZvcWZXZ2ZueDJrK0hRd1kwWmwyYjdwK3hadWFDL2xjdEJpWGZBN0EwOTBrV2YxTTVJc2hPVW1SYmJLaDNoWXJaQXcvTHB1TWVmVW9kYzh6cERYWVF6UDJQdWlOSXZhRUtnT0pGZ3ZhbFF3QWw3SXNBZmdNSnkyWjR4eHpvLzRmUjVYcUlwWXc4WElGMGFCMFFuMUpkZFhhSXpaN2NERnV1VTNNdTdzU0dIRHFRQW5VdWw0c2JnZWVCVWlyVnpmNm9pcVJuMDVJVUNOV0pDQnM0S3FOQ3cyOG05bS9uR2NXOGh0SU1GTWxtWUl1NlhITWNjcG90WHBveHh1YmZGZ1VObFFVeHEraTg1ck5jbldHZjdDSnpQSlF2a3pzUWdPN3g3Qjh5dVB1eERBS2pKQ0w3QXRVeVZYS2s5TFF1SE5GVXZmM1pBWnlEU1ZwMVovNHAreTlTSC80VVFDbExwbHBYaFMydklTbURlS3JxZjBMQUVVV0g5SHJ0eDMya0NyZlNMaTNYQjQzbk1nWFRYQTFJWk9JeFJKNTJEN2lLMXoxSWt4SDc5cGcxT2g5eVAzdEhOeU5TM3dweHduclBFUFlBbVF5ZEc4eFdudGJDNTlqMnNsSFErVllBYm9kWldLQXREd0FjU01rQkNVU0NhNkdRSHM2U2d2KzVxMHBrNEEvMkN4SVhjN3NPOVE5NnJvRk5KUTFnK0Z1VkttWWZ3T1JXcHJ4ck10UTJEM0E1ODIzemd6VjZFazM2UVNJOVdRTTQ4dkVuRTlSUVFBUmJpQzVXRWRRUWhERVl2T04rdjg3UXl5cWZBTVhtNUxjelozUzNJM3RmRll4ZlYvU3Qzc2UzMldYR3RDU3VhaU5zOU1DaHNqV3hoeGtmdjYwQmdoYU9BOERDQmZLMjF4NVRkQkMzNlVTaXZhZ2VYNTMyalh4dktzRjFpZG9YMkZVNE9NZU1qU0lCaHRIZUlRZWxuSHBFUUphc0ZHTmVOOERnYVljRzhQL0dadEE1NHZCNTQzTnM4SjFuTE1tRmpkOThyYWNVMFdxL2pCMnhzSVFRSWdIMUZmUnE4YU1TWXl0VjJkcUEwdE1oYTk5MEQ5R0kwVnBqQ0p4THBIQ3ZmdndmNUdWQjBMQnE1Qm52OVNmTkpnNjBYdndjSFgyM0FJTXVXZUM1bERjSm5qMWdqWWgzakd6UStKdzJHY3Jjc0N4a2FXLzNrN3pjUStyaG9hR0NPNUVZVnFZQ3h0bEpkU091M1IzV3VjaGw5eVBsT0N3NzlwT01lUDdHRTY1UWlpR2h0b3Q0R3lnUkZMS0MxL2ZrOGF2T0FGVTlvZmhGakpieGR5OEl3Yzc4SFEzb2JCRWFJUW1zSDA2QVRqcmwyQ3VUNVIzblkxYXFoYTRWS3A0MWRpRW8vT2JSazQrQWFMRkNNWDNYSms2Q21GRFRhZVpDSXRFZFJQQ3BZRnVQa3l3UHMxTU9EdjQ4UUY0YS9JUDFpcmZ3c215ZDBvQmdoK01HWFJyZ3g1dkNmOWxzSlN6c1dtMVNjL0liNTQ1WjFwNlRNMk5jbVZ3Mm45ZnMxaTRSRFUrTjN4Uzl2aElLazJIRjl5ck94Rk03OHNaRXJlZTU1bGRQV1BSUXhhSmJsTmVSZUFYNjlYSXVxTjB2TWRrQ0NJeXBIK2duMzVHV3ByNEFxUzFSbzhlWTlkNXdNcWxQQk5TU2x2bXI4VE4vSVZocDVpbHFEZFFMTjFJQnc2VTI3c0JnbnRsKzd1dGlVUCtZWS9GaForSWpWOGZlemNRY1ZCQnBuMzRnTktNSWZ5NUlobWxGSVdOS0w1MzVmRm0wTjR3N0wzMit2STZ5QXZRRGVGaWhkQ2pDa3Z3UmRqSjhCUWxYeHZNUUN5K2liYkdNbllvWDg5RTlMYTdEcTlqRm45b3o2d1ZiTkJUUHZNWlFHNUN0WlNqN05aN0JVRVRYZkp5OFI4NEVxL05iTEJNMEhkVGpzK2ZrRnZ1NUVpT3RpY1IwZnBhSDBlZG05dklCRVJ4cHlCcVJYWkE2dlNHM2hFZ3NFRFpHalBWcmlRR1FHeGQyUkoyVlFyc2dmejdWaTRHNVdkVWw0UDRoZkF4T2V3YmllZFllekViaHQzUUx4WjlERlhRcERCVU5nNWVLbXZzb2IwS2ZOQnFNQnRIRVpxMktZUWtNL3I4Z1F6dXVSbm4yVEs3RGYwb3daSFpyWDB2WTRhb2RsUmZnQWV1WDEyb1Bxa1h4aldndUFHUmhTLzc2T0x5cG4wMWIxSVpRMVNXdmpPQ3MzeURuT2p4QS9ETFVZM0JMdGd3NkkyemxPdEZBKzNFQW1tZ2hqVm1xemIzWkNIdDl1bXBuaWw1NFVkSWpXQ0dTTkJ5V3RjNnpaVjVqVVhqU2JFaVR4ME5RWkpRMzNQM2dzWlNjV2Rkc3NxYlRiOW9XaVA1K1hVZ0FPQ245VXhmMll0TWowRGFFS0hpRUwvVXRCRXBuMForaXpZelBYYXdhbTRUZDczUlZCZ1pIR2N4aldBNG5lYWhoeUhWYWlCNTRna2FhWU5uWDY4MkVxRk44eEtWcXN6N0F0Nm9NY2l6ZWV5SUl4L0lkdXpaaFZuQnFtNllRMUczNmxXMklSakRodXVYMHhpQUdVYk9VOGZCNUJFaWd0UU1ENERjZ01yY2NFSG90eTVzY1hvTWdqaG9yTlZLOTJ6TjhzSk5nVS94clA2cjFRbk5KZ3VSSHZpbHp1THpsbGR5OWxUKy85eWZXZ2xpR1prOVB1N2xLTmFtT0lyd0FEajJPNlR6bUs1RGFXR3ZsNE8xSHhWK055T2ZVeFVyckRXKzN5MTFXeEw5Ny9qUGVwSS9lbXlxWVNoUXM1bkY1RktyQUhnVS9JL1NDL3hRTi9JODN3dTVYeVV4RTBmVVd1bWJRNTJZYTcvVXd0Rk1neFVvV3lUVXNtNHY5K3EyN2ozbVNhOExkdmc0aE01OCs5VkpzbVlYbHpiOVdWdW5HbjV4YVhkQnRPK252UE5GUkplUkMrNzg4NzRjT3lvZUw1NGp3cHpzNzNibmxNVVZoMUFCeUpQaG5Fa2FhSDNxVnBzK2JGUCtXR0lvenpLRTcxVjZMTE9LOEZzajE0UXhRaXU1Z2FuUktSVnBweEt2TzUyODl5RFlsdGYzS3BxOXdaQ0p6bDRMZUhrcGhJWHRKb0ROaXBQTEdYaUhkdktDWSs0L0lCbFN5N2J3WHBPT1pENW9pSFBTcmYrOWRXdHlxMzMyZGJtVTA0Sm9TTWg3L2YrUkY1WnNIMWlQQVNLbmxpQTVwdS9uT2liY2ZHb2xJMXY4blJDZ0w1NFY1ZEdtTGNDSkpNV1EzaklaTUlHRzdBWTUyZGc3c3hJYzljaFFvdGRMSHN4QUJxWEtUYjRUWGJXNUxTbXZKMkgreWRtMTd1aEJMY1BGc3k3aHRJWHZkcmRZaXVobWdxRG9kS20va25KTEVmaWpxZVJhTWVsSXFWUEdyTTV4YmttbkFwdEk5YXhxYnhVYTVRSUd5WGVQbDVJSEZYTkpMbkFQS3lnSkQxTDlla1I2dFNJWG1EdjZJZFVOcEFQYkF6UUk5Vzg1UllWUlRkeThqVWx2bGNZN0JGVUhSeUxSWG93NlZBcDNnY2sxNks1eHlMVFBIOFRyMTUzVkVJWVNUTXJiMTFHTWVIams0dW14Y2hjNm5nTjNRMGJmRnlFTTdRS0lPbDZjSU1Ya3VTYXlnZDd2T0JNSmRCK0tiT1JSVGdQZkpyenlMeGZWUDBudktoMGdqWG11WjRaWnFBbTZ4WUY4WllSUWw2cmZYZVJIeUdxV2o0V0M4bVlUWjlDRmhkVXRXcTNCWVlnaFR0UDUveDBTbFlmTG9TRUQ5QTkxclZ0eitKZHM1aXNtRHY1QnQ4MVhPVkE5d1dpOU9PaGNDUEdoblFtakFldWdvSnhBRFpjYkkyWC9wSWpyTGp1c2lOUWFlSmd4d0toaHdFSmNtVVFmbEtZNmJ3OFdkYnZwUDJXMVJ6eHArajhWQk9CdTBRUndxSnA2UkRCRDhQSDFwL2Z1UjlGeGZObFJjSmZWRXBmZE1kaEZPR0YraS9Pa1pxcFJ2SzVaSVF1OHBQaDVzUW9WNVlaZXdaZ3YycDZQd2RLR1VyUVphUGhNdUZVUTdwMjNSRTRCWEduTlc1TXVKcmJicmRlYzEwN3ZxcUdTdEwzeHJPSjdlRzlKWUtGcjhHSEYwaTNPSjRwelhrQ3lqMEpYOTFEZGFnVFZ1YWI5c2FoN3BIOXdrNGlCOSs2RlVVb2k5SytzY096L0lXa0FJd2RZMDZVZTBQcStZWkNnaERodlpQMnk4ZnpyQmxHYk5idCtWWmt4ZVc1WTVRdWhPajdzOUhRalF2MGpNQlNndXN5a01oSnJQZDEyRUcxdnRNbFNkZEV4OVhXWEUwOWNGNHBWc0JmZmJOYVlvbVZXU2JGZmNDTmEweXpoaEk5d0dIY1F2VURYVE9zNGxhUGlaRDYyRTNsc1dxWTV3MHpVQk52c3E3MGhKTUJDRHdoZXRvOURVanNPKytmQTVaVEhNV0Z2RnF5bG96LzRvVGN6RmpFb1ZFa0NwdllpQTBtOC9yUFpjZmVJMVJ2NWsrWU5xMWtBRFEvdDVBbGRQVEsrdUZVYkNsUURpQnlBZncybnZNZkJ2WEZRaFZwSGNoYWJPK1Q0OXFGZ3gxS2hyaEhWelhML2dvRlp1YjRiYkdUVUVIei9NNnFybzlldFBuUmdEaTZLNXBkVHJlNVMxZlhqb25ET3gydE9WaDlDb3dMd2ZNejRwY0MzTjl0MWdDeVFqYXlxZGRvVzJqNnJSck1VbGxoTjRoWDRFT3FwTDJtaDl1YTRweU8yd3dwcnhPQUVIK1crRFdVNFZOS2YxMFJVa2gxOEsvUkFXZHJLV2MrRmNtRVg1MWczTFROT1doRlo3NWR1NUx3d2haK2c0aDBkQU8rdVZNSVpUMDFiU3lBUnhYMmJ2UXdCR2w2cXN1cXBONFVFLzNZNktRTklXN1VnQ3RTamZTRHJXbDhtdGNoUlRZNVdhZXRJZS91eUdBUXlqeVhiYmxJUTFHL2JWclIzSC83RGpTZnZTWWVaMDBvQkRzNDdlTlNYTnpDSFhRQjZvSHFOWUp4ZWl2Qk9oVUJ0ejVSaTdkZnNLV0c5YUVWd0xpYzByWU5LbUxsOVIvUGlEQkdhL1c1NnRrTCs1RzNEUkhVK2FaYkwzc3NSRHYrZzNSUnd0ZHVVWkFCOUxubnBzTC9HdStVSG5IOUYwRnFJWXlLMmlVaEE2dzhobWpjcGt2b3RhM08vTUpCNmY5cUN0L0F3ZFZhMFR5U1V0b3pZNU9pM0ZvVFA1ZnpWMXBiNnRvbHY1ZVV2MkhxR3BHWFRXK2liSEJMTGt6MDQweEdHeGp3QXMydEZvdGRqQ3IyU0dhL3o0dlhuS2RtOXdrVlZKTG5TOFgzdTNzenptSFhPVVZjMmNBRHpFVk1iY0dvdm1qTkZwSVVuZUZkQVlTNE1ad3NDMTk2R3VTSlcrbndkU0docVdVUW1zb051SEZSaWtveFF1cGZSeEdlQlZIN0VRWWNQeDQyZlpkbHF2SHRWdHRBOFNUaml6SVN2NG9RZWFCTmlQQ1JEV0tBeEg2RGFyTURzM2N5TGNpRkt6dEliUWhWd2huN29mRHFlY3hCaVJNWWFMbVl5SGtFbDRUMnNXWW5rOXpaWmNySmx0UURXMVltMGt4UmZvTHhsUkhOb3djZXIwTU5wYWJyYkVib1Noc1U4NUdKeXdFanFEYUR3bTY3eUZpVUN3T3lxQm5sQ0hMUW1LTUl3cUdPVmtNWjdwRjlORFZZY2VLU1d2b3BiL3Byb09HeTdSYTRTeFNpU0syV0FSWjY5bHpFZGV3U2hnYUFXK1R1WHdNRVhIalpacWtRSXBUcFBzTlNMY0xKTERrM1c1SkFZSEdDMFlQb2toWHA5NU1PVXI4em5SM3BEUWQ1TEd5V3ZVVmZETTNkckVuMU0xYTY1TUJsOUFqYlQ0VFE2Z1ZXYVpoYXdvMFpST0tVbmg2eGJtVXFYTVl0N0hRV1Z6cTAybDFYRXlFM1RxVlYrcHhlYlFuaXlOV2x6eTEzemVndFk5N0RBRWFnTUhPWHVVSEZNdVpzRy82bUwzQzBFU0xCdTFXUzR3VXdnMldicmZwd1BEVmhIQ1dZOWpnVk9WZ1FnUUZEZWZzaE1XM1F6UWNaRW5wS2lPaHlNaENZOGM2Q1FkenFRZVY2VXpGdXYrL0lBd09EUms2azJ5T2FGS2RTOVVDUXRFbFl4OEpXWTBrRzZEdFBneU02QUNPRU5WaXdyVXh2bTc3bnI2ZEZSMERWZXh0ekRTbHFrUUxqK3BocnBsaW4vQkpFeCtWdk5lVGUybENicENxTjBIMzgxR0krQ1dwSEVXSXp6VjlLYmJzc2NBR1RiUWMyQVUrMDNBK3dESWpxcktGNDhLaW93K1FmTEd2dnQxSFRYSmNxMVp0bE81OW94MzJRVEU2dGNobVF4b0N5cU0rUlBkMytJeXFSSjMycUwyRDBMTVpHWk1ocWl6WHovZFpqM1U4TmJqVmhDTkpLWnVRRFQrWlI4NllaQmlEeEdiZGZkV2JiRnRPcFBGbTJ2MU9jZFVMdFJoWWJsd1pxMm8xbzBtUE14MVhtcTFXOWR3dE9HZmh5Unh0MkE0eXBueVZaU3BtekJnc3lJNk1pUE5MVUNCWFJxRFdBa0JRUTBZMFljSVMvVmxqOXZxbU9iSzFZbGpOb2lTd0xkcDBKaEc5bU5Ba3lSV3JJcDRUUHNVc2ZOa25OeXdvS1VFRDUvczVJVXBrS3hRMElreThDb1h6SmRvYk5ZZWU0NndoWVlJRWs5anQ1Y2hFNmFsaWFPTDBWSFpZaGxqekdFZjI4RWxRQkJzMnRMQmpTZHV1QSs4alg4akhoKzFpSHJuQ1p1dW4rOFU2cjRPSTJVQ2hYZTRzYWErUVhKa3RkcG90b3k3Y3dwNE9PNFFxOTIwMTA0Y2FMOG1Fam9rMnZGUmxESUlMSDBhUHEwR1AwOUFKYS9zTGxEVkRITGQ2d2dpTHlhQndDYVFtdEQxcmV6eXJjUFBDZHZqallzanUyNkpFTjZWZGcwYXFaUUprTnBiN3JBbjZibm5TVHZ5YXFLT1ZnY0g5UlYrbVZWSFYxUGx4c0Z5eEpWTTZPMHVaRFdNQWNFVlBFVWNCTHZWZEFCNjVQeWw2cTZVR1VyYk5Dd1MrUEtLTE11TlFCdzhuM2g0ZkYreHhYNm5uKzZPWDFMaHFBS2dxVlJ0eWpaSWU2RDNQRTU2WUxYREgyTEdKMGc4b1BqdklMck9iRUNxUmluMkZ5ajByTTR1cTdDMDVKRGlRUjBNWkhXeCtGOVRIL1VRMkRMbUs5bHdQYVNKdmJTMEJ0SlRNRWxuMHFScGY3ZXZVbW1IMXZFOUgrTWJtRE5KRnFHMjE2VkVUaGRzNDFKcU80dlhjMVkwRnU1clc5TkZmRDcxRnRRbFdpd0dOUWxLMDFvQ1cxc2FPbXlqVGxPa2pCOWJyTlJJMTQwWXozRCtFYXhtVmtJU2YrM2w4SUxhMnRvR1B5d25YNHoyOG11NGswS01TUVc2a3BXOW4vcjdSQ0lsbTZHbzc4dzQ0TGJvdU90ZVJneEl3Mm5iVXVPM2N5bzZpekt5MjdURkNqNVlXYndMV1RCak5XL3BSN3VwSDFZcnhxWXRvMDFXeW4vSUtWSWFCQnByd1pMOWNFTEc4TzdUYXByK2lUSEVBOVVYSmJGbU9UMm8vNTRjSzhKODFMa0VneC9HWlgxbWhkbFJHU1Y3eUI3N2VoVmFoRWlPdm41VlVVMHgzcXBJSFliM2J5b3ErcDhKc2lyYmxVVHFvbXlVVFpOaXdCUkZsSzJ2Q05RekJiU2JzR0IvMU5tNXVETlJhTEdnUFVSZHVsdGx5RSswV0liTFhtWVVoWWhGV1ROcTJFU2ZxYUJyNVE0dkJHcWljYVlnR3U3QmxIMFo3a1Z6aWZUZ0F6ZGkrcW9SUWtQY0lxSGVXT0ZHR0JLN2J6YjVQaVlSSnl0eVlrV2lkZEhia2xzSXJpanlJWTlhblZVbktLVDFteUtta0IwZSt1OStYSkFVUXVCTEpuQy84SlNtU0JJSHRrTHZ1QW5NQVpQUnBGT0JScE02eE5VQnNodFA3c0xGYWJEbHVSYTBVYjR0NFpvZ01waEN6cHFSMWE2ekt5VnIzc0tsQ29jMTB4WTZyMEs2b2RVMlFDUUZnS1ozUE1IWVlFV0hyWlF4TmJma1FIclZ0aEpjQ1M1S2prcUtaMlFnYUd6eGh0eVRXaVB3KzQrS2NSVmFySVU2dGpkcUxleTVsVlNoVnpUYkRCVE9YQWhFeGtCR2pZdE9zNUl1SW9xTnN3OGVGVkZKWmIwVWdtOGlINWRKbEZ3RDVNeHpIcEQ3Vjl0WitWTnNJNXVWRHlPQUQzYVZjZDYwTHNUYXRKaTdSSVZucFVZaTgzeWZwYUtMbVkyS3pSVlNhbjhMRnBIL0FZTUViN0VlVGVNU0ZaYWoxSjMyS2tkTUJVY2xFV1BYNmF3RlZJNWxSeXkwNzRCaVpnTWVnU3hWMnk3VGczUEN3ZGVqVUhiS2d1NitIaHkzZkZxQ3VpQThHaS9SQjZHUzc3Q0JVYlo3YWRTK0MxTHc4b0EyK2huY1FwaGIycktjeHkxakg1RU13dG9menFZSDFyTmx3THU3S1JCVElSQVVwUkNTU05QSEg3VHlMWTRPQjlaSEo5bGhUV0ZFY01iRGFTcTdqV08yanNuaWNSODBrbWMwOHp3REEya3NncG1oeHpNK2hRVHVkQmYzdXJ0VzlQU1Z3TXM2RklLaElhNW5rRUMxbkRFdHY2ejViYXJDRllhWnV6aTJrNFlraVFSWjVQb1pObUVwbFpwZDdUY0hwSHUwNHMyWGxEa2xsbG5JOE9hYW1vekhwVmdqU284bjlsTlY2ZS9Fd1cvZnNVdXk3eEFBRFNEaGUyMFFOamFMK29ObWhnR2ZmcDEyemlFdFMya2kxcGNUK0lYS2s5WG85VnhsbUJ1QUU0a0YwZW1GZE44MWFzR1YzSTRVSERVcFczZC9ZR3JOQ0h1cEZUc2w2dEk3R0xaeTRpaVk0Q2tGdHVEaE80dFhheWdXMkxOY0hzZUlWYjRhVHFycmFPTWJXR1I4RU9wYnFnMER4U3JOMnB6eWkxWWNwajlPakF6ZWpsTmJWQWw1cDR6YmsvVXdOK0dRUlkrdWFVb3RzMWhQMXFRSUw3WUUwRkhRVzlvYTQyb2pZakk1eGJEYUw4Mml1VCtyRlJOcGlsVGZxNHlQSGl5eWVKRFlIZ1Myc3h2VjhVQVdQZXF3bzhQVUdkby85QWI5Y3dKRkFkYitZcS9wRFBGYjM1VndURmpCZ3A4OERyT294aXpsbFNlMjZDdWtkclZFYm5rNjA1c0RqbWRwczB4Mi8xZVJJa0N1MFBpeXNVcTBZcTJjZ3d6WVNlRlNIL1FpVXpyTEFoZnN4SFc1bmRMaGo2RkJlMHVGK3drZStPTGFRZHJ3dmpCbXpnS2ZieGF3QitFUTBhNTBQM0tTM21rZkZDcXRLZWJ3eHhUbTczd1g3Z1hBVWRtUnNiNVBOemp4bWltVEVwclp6Q2NwZkFNaHQxa3lZTFJpMjEvUjVEUFdTL1FDREJwV1pnRkx5ZU14U1ZyQTJYTFlpbG8yc3JDYVQ5WENpcWR1QlZ1ME1ZZGdzeXdwTlExazY0WTlvVkFTZE1TUkw3aXVkVVlhKzBWdFM2N2psOXl0ZDB5VnRyWXJUNDRKcjI1Q1pKZ09tb1J3YldmVzI2ME5CWnVLOHplR2l2d3hoTTBwcm9jNklwWlJOZmF6MlVQU0l5TWVrV1Ewa2ZMdEROQ2VhTGRlRnFYaDdaajhkekFKbXQreVBvTUhLc0xnNU1oVkIxVFVWUFh0bzhBNHBOcTYwd3JuTXhSWFhVb2FTbTg5bGVJZkRNVjlQT1NpajI3RzEwMVFuU3lkOHhhNkt1Y0ZrYWhKT2pMQWFrYUlZUkNOUU9VbTZOL2FQV1llMTI2TTYyRGtrK2Z1ZEhhZWhsdi8ybHlxMjdiLzgvdlhubis3QWp4MUgrWDFsZVk2YlA5NUYzWXJnZGliTG04QzZtZmkvbjM5NmZMd1A0L1krc3dMTHlMMDRlakxpSUU0Zi8vdXZpWnZjV1lZYjMvMUg5cy9UMk4raGYzeTkrK3YvZnRVMXczZlN1SWpNTjFjTnpxdE9SLzhyVHYydnA1TW90aFo2UWZOWTZFV1VGLzhNWXlDVDVSU0JsbjRGOHV1K2w5L3JjWDJmZWEwWE9ZOTZuSnBXMm8xOFBVbjc5dFNQUnJ2SFI2aWpyY2RtOC9RQnB4ZDV6dnIyV3V0eE1FenFyeitXZjNDei9tSTVCRHBSYzlPblp6N3lQQTRmQjBsOVoycVphNWwzYjUwMGZOYVI5bzYrNGZNcTBNYm45NlpseEtuV0dlZ3hpaVBydFBYUmpVc3JmZWVBYjZaSVV1c3AwVXl6MHhoMGh3TXh3V0RubDArbWx5V0Ixang2VWVDZHp3V05VV0RkNWU2WDVNa28wZ3ljYlZxZ1hRanlidEtMa2lKL3RHT2p5TDZjZmVieTBuR3BwWloyZVFWd25RTmVUeTlQY1pGM2gzZnVmQ2J4YTZoNTBVZm1RYzdjWDl6Z3BOMVVNNzBpZXh4QXlkWGFMNFlxejh4ZDhBajk1OWVyc01DaVYzRi9kUzBON0hnNjZWTUxQQ2Q2REN3Ny94cHFLWUJ2NERiUENycFpmWmViVCs4dmNBZFAzenhvMkxGeGRlczgxYUtzVS9Kakd1ZGFidjEyUDRBZllNeTBuTi9QVXIyL0lIdC9QbjUzK3IyNWorUzUwNzQ4MUVsd2RxKzc5enowbTRQOUdscFI4VW1MWHVuZmRjWkJMc1pKclF5NDJOTWZzUFlsM0x0UXkrTEFlenZTTGpIVXVkKzllNDdaQWRwdC9oU25QNVo4OUowbzU2QzZLaFQ1NW5VUG5WcTl5STZ2Q05INTNPZVl2aHlPM2h6Y2Fhd2pkcExoZW5xdUI5bGRuajVkNUJ0MktnV1d5ejFEQ3k2T0hucW1HWnhDNzhIUkdtRGY5NEVEZm8xMDJCbnBUaHYvM1IwOHNQSWNhRHBMTk9PaXRCUHJuWXVHM2tkT2luNWsrdmRnK1EzSzM2V1hmM2ZkdlJHQXlLdjQ2MFplb2NpdDA1OVZmVWxRSHlnY3UrRDhqeFR6a1Y0K1VNdjdXbmxIS2QrbU9vbE9pYS85OHBDa2NaamtYeDd5YzdyN0pPUTlseWF2eTRRZnd3RDI1K3FURzZ3NGNYN20rT210WUw0S2NaTTRMeUFDWTlCbCsxbHdrTStmdm1Qa0E4bnhUOGJScDJCOCtCM2NYckxHdzRtdElOYnljeXIvZ0NYNEk1YWcxMlE2dVAzNlhZSy9xS3ZENEJjNTVVV01qSUF5YjBvTnc0b0FNdHlrM0JjcDZXVFlGOFZXSjUwRnNqQW9scC9lcUd0T25IMjlXUVR5OUk4S3hlY2xvSmI1SS80M2ZKMDdUN25sWlNINVhhYko0K1FsVGZlVjUzMWdwZUZMTjBadllPWDUwUFJ6MElJLzF5Y1BtUldDQnFUeG5ndmVrM2JlTG9VZXVueDlkNnFEYjNYLzByN29IeXhCTHFUT2hydVN3NStEckNQb2ZnSGErcHhJYjBYeitaQS9aZVBuN2U3dzZiWFQzZ1QrNk5PQi8xMHFmQjBnTnlPZll2VU5QYjRvdWdiUXJUTGZMVnVoYjFLWG5sWFozcHVHL2lNS3ZDa0VyOWgwUGZsUG11UnpXbjRyTG0vSzZtY21ER0JDWU16bkpuQXd1TTNXRFdpZi8xV2w5NC90aFh6UFF1ZDlmMFJUeENkVHpPc292M3R1Z2graU9QZnNqNkx1czVuanRZZC9INmdYWHVBWE1IRFJ4TjN3bHFkM1hmakdnKzA0emwrMnRXbEg3VFpxTzV1OVVacisrUGp2TVBoMXcvSGxiREh3ZEJzNDF3OEVmOCtieFBvZnc3VU1IeXo2eDRPUlpmZlh0N3ZlWGFEcFZuQWFQRDFkbmZMY0dwMHk3RFV2ZG5EejhndkZ2UjdFaHY4eWU3NEVwZnZVU2l4UUVVVHg1ZWwyTG9rejc1UWN1N1QrZHBOMHljTko3SjNBN3pNeVBaNGVMUE1OMmQ2bWZYL2krUXBXWHk3WU83ZytwRjgrSlBreWozVW52VW5UQ3pYSGVpelM0TGZ2ekh3NXBqUHpwY0FGRUhIOTFIRnFNMTk4VDNzd1U2KzA3czlPOUtrdkFnK21sUm52cmJ4WmFnQk8vbm4rbkdTWnQreS9zMzM0M1hZdENONUlYYWNSTHpMQjIrTVZFek1nZktoMU92d1VKZml0MEw1R3FxNy9JY1RDdmpHdDU5ZWRvR1Q2L0RiRGVrUEtiaUt3WG4zWk9nMW53NmNmOWNQSkR6NXRQVlFvZEFscjlKcFVxeEdCWE1iQTAvTWdobDhIc2V0bnRrZ3JQZWRVZ1Q0OWU3enQxWmI1OVJUZjl5Y282V1JHMEJOaS9Kckg0TzBMK09lc3dsc3NmdTI0V3ByRzFkbHJ6NFRoNFRlOE9EM0huWmg1OHdnOXdNOXdPeGhlNitVenRYUDUrSTNtcFp6OHRoVy9Mcjd3OUxvN3pRQndXQXBvblYvMXBiY3o4ZHZqYnc2Q1BBM005TWdFWGlLZmV0bkx3Qytua1Y4NmhzNjYrRnZSUWFILzJ5OFBlWmlBc0g4QWc3LzgzaW5sNTUvK0h3PT0iOw0KJHNfanMgPSAiN1Z2bmw5dEdrdjg4ZnMvL0E2eTdYWklMYWdBd1V5UEt4d0RtbkVtdFZnK2hFVWdrSWhBQWQvVy9YemNBZ21FNGt1M3p2cnNQSjBzelJIZDFWWFgxcjFLRC92aXJJUmsvL3lRQmhnZG04bDFkMTJ5ZzJlL252Z0UrWURid2JHTEhIQm1MTTJYRGZwZDYrZmtuNG0rWVpOdkdCNEp3WGZkNWIvcTZDRFRaZTlaTmtlQjBIaENzcWJzV01BbExOMjJiWVJWQVlPK3hHWHlZb3djc3lhV3dtZTB3cG8zMUdVMDBaVjRFMk4rSW4zLzZUK3NyV29LSXZ1NHNySUs5T3k0bG15MWJPZnFZQTUweFVTUFhpeUc5M1Nvam5DcVBobU51TXh5czJYYWJMNHBOTnR2T3U5bE9UMmFhYXJmZjM4KzAxV2xVV3VORWE5c3RsTWpqcWdoYW1VbHJoSi9tNDRia25VYTdVVDZmVlZSWExqU3p2cDl2bGNlKzViZDdDdWpXT3JiUjN1RnpmZG16OGpNbDQrWGFoOHg2b0t5YS9hdzhtNDIwOXB3a0hFS3VzYUF0OE9aZTNKL0t1RFp6Mk95NDNUN0tOVjZkeUFRNW5SWHllN1UwbDFuS3NiM0QyT2ozR3A2dzNuVzlmRGxQSDdkRjlyQWN6dk9hV0NLYytWcWNyNDIyY1FLTlZyRlV6Z0RUNkp2SHVkQjBCMGR1U3pSNWlSd1d2UG94SXc4MGxTanFvdFlVdW4xWDU3cE53VzJ3dEN0bHVWcEw3TlJ0bDY2Vyt6YWxzcnpJeXl1NjM2ZUsxblpvMU9tR1hoLzFtdmxldTNHazUrcGllNmh1SGJxNlpqWjY2K0RWaWlWOFhhRDJMVE1QUEZyVHVSMHhidXVtd2RHYlV0SGlqYzU2U1BVQnYrMUw5RkJ5dHQ1YWxzdEtyYzZZeG9BdUxtbWk2b202M1NNSnkydE1jd3VXNXJMOFlyWnlLRXFiK1pOcG9UN3ZLWmJNRGEzUllTaUttalZlK29ZNDhZd0JhQS95amJWZTNraTdsUzJDazA2NjdId3dvakxVeG1mWG5GMCt1SzN1ZERKZzVaS3M1ZzQxbmxMVi9iaWI1NDJUUDJJOGJ6L2sxTnk4MnB1UCtwblRjRE5TRDYxc3ZXNnorOTB4bytkVzBydzNtMmtDTzJncWFudXEyNGRSZFNqNDlZblJPcGkyYzlpT011TmVzNzBxbmh4bmRqQ1VwWkNabFExSkpmZEs1c1IxRi81cDRhLzVIaUNJYlhsSGVBV3ZiYmZsTE1nVzFlMlI4MC80Y0RMUVo4eE9yV1Vickx4c08xUkc0enZaOW9CZDVFaERMWkc1NWlpN2NuRnViU2dMK1hUSUNLcG5ybzlaMXVUcWxIa1lTQnZTY1h2R2NWQ3NyK3E5Y1hPRUswenJ0Tm9YM0JaZTBwbWRsNTNJVTM3WkIzMjVVQ01wcFZYclM4WmgySktkOWFhVnFabjZ6aS8wdmFIV3pHN1d2ZHlzYnpWc1hxRjVOa1BvY202WjZiZEVSeW5WQjg2S2EyZk5vK2tSZ3RSM2lxWE94cHVYV2tWNU15RmN2UzBzbWpsOU9jOW4xZG11Tk1wTUNxSzZycGJvMDdHM1hlMFBwWHlKSUlSZWJjU1RaSy9Ka0hpUkkvckhNazVzOUlKM3JQRzFVMU9XQm9mOXZrc2REYmE4end2bFU2TzIxdkNTNEkwOXY3SGxTQ0NlMU1VaVY2eVpEYzl0akxmY0ttZU4ycVUrdThueG9qZHdKYlk1ejdkSHF0TExGeHJkS1g1YURQdDBuK0ZMSXRQSnJRWU5ZMWdhQ1ExSk5PWnR0NzR0YzFNRFozakJIeHU0ck9GVGpiWnJlbXZyNk1KbXpEZHI4NjZmWFE4M3RFMFhpck90WGZSN3pkR3h1bXdwMlJYWVptZEx3ZTdoeDBaVzVjY2JYYS96UXI5dDlqeW0wKzZYMlh3R0ZKZTZWUVo5VnFUV1dSbVVTSDdRM005VzZ0QlpMcllrb2RKWncybHlDaTE1OWJaUklqZSszd1pOb1RidjJTdGxvZ3dLSGlmeTdjVWdQMmRhOHowdGRXa3Z3elkzYks0dzZvQVp2M0pibE5qbm02MWxsU0dwbG1ndWh3MW1teUVYR3E1VW1jR3dOR1NML0ViTnlVS3QwR0p4dkVhNFpVK2ZUZHlad0xUWE5MZTNXT2swSG1uOFNnY0xRdkptN0hIWFg5aTFvVFF0VjV0RXdXL3czc21vR3pJNUhsSHREaVdhZHFzOTNCWmRpNXBtM1ZwcEozZUExZEliZE5mUTY2V08xMTJKR1orYXNqaGd3ZEN1TWJLNUtPYnpzbUkycXdhK2tES3JhcTlJR3pXRlhMbXFPT2lxdmIxVzBxbWR2eDl2V2thUExnMHNlZWx1TjJLejB4dnZCanUybHgxTlQwVEdLRmhlYm9SejFocDNoR1ZqZkpEeXBYSmhUUGxsc1ZtZnpJcnJFVm5XVDBSdG5sOW5sazE2MDVsYjFlMUNMeFdxSmkxcUo5Y3ZXZDNheEd0TzZ2amU3ZmZtWGZjd3puWm4rV0YrSitlMGxlWUpZRFhUR2x3Zko3cGRocFVzT1pPaGRwbjVpUWRxeS9TdE9ybWpyTDFYb1B0cjB4c3ZNL2JTcW83emxOUGNIOHRXZVNuT2FiazVXL1pXWWhHR29YeHI2cTNNV25lYlVmRWkwQXE4cEhXQVFUUXk2K0dVMllQMXVzWFA2cXRSbVYvV041bjh5R3BTbXdHT3Q3MTV1VnNVaVp4ZGsyZ2l6NjEzNVdhYnJNdURzVWdKMCt5azUrd09JMlByampxU3Q3T1hOYkx1MDlQVFREWDQzYksxelBYQmFOZFFCd2M4WHkzN1k1ZnF0N3RkYzdJODVJdUxrcm5mN282U3NmYTl0cFAxUVdjM1lOWHRhZWJJcDNXN3REQUZjelVza0psTVkyMGQ0Y0VJcGdUcVRxbmZZVWU1L2k2ak4rWGp2cmh3K3Y2eDFEYzN2U0Zlb0hwS2FkUmZNVGJ0YUdVTkVLMytkTG5JT3ZpNDBHL1VsNVBlaEMyUE0vc2xrSG1naytBMG9mWjJ0cjN2ajA2enNkdTMxQnhuS3JoakhmajVxZHhRd0R5N3piQTdickFRWjFxWkhIRzgzM1JtTGFtNnJTMU9lbTR5MXp1TG1ybVhwUFZhRzRQR1ptUXBvenl6dE53ZDR5aUhRVzF0NzVhbHNVZFkvYTRJU2JaRWRncjZjMHFYS052Uit3dDZiSTk3YTVKY2duYS90Y3d3bExNYVNPcEttZFdiL2ZXUUVTWmJkdENhSDhwZHJpMVp0ZHlvUEsvdkd3Y2FWaVlDc0NSK1pzNzd1UmsxQlN0anRWb1VaelYzSnJzMWkremFvbXY2ZUhuWFpiekJlcHhmbW0zL09KTjMxREUzV2dzZHNKNGVXSEV6eXd2Z01GbGJrOVdRNlpQaXhoU0FSdE85b2RFaXFid3p6ODBtMVc3K09CNlBkM09SckErZ1c1cTFERHZZRFkxdVU2WTVnODZXeDJiUmFYcDB0elBLbE1rY1VXdTNleHkrd2V2bG8xUEZWNk5oWm81M01sTjh1ZmNYNnJqRFRKbzJmZEQ1L0RCYk00WGhtRDg1TzVobzFNNHV1d0VEcWR4ZE1UZ3o0WHVkTmlYbWNhVkVFNXZUcXRQaDlJVy96K2FGcWVjcEFMcVkwY2pQdlhhSDFqdDBsbTNXRDQ3T012aDQ1ODBhMHd4ZGtsZUZvbHVmV2h0OW9GdDZ2VnNpYUtwMnN2c0ZXTExneCtPeU5TRk9jdG10R3lObG1sMXRqTTV1UGFVTHU4bHBPeHN5QjhleFNvTUZkSzM1M2h0TFhiVy9WL2RjRG13Rzl0RWM5clR1aVZ6WnBrazNkd2VDeVM3SGMzSmpsMmFyV1cyM0ZubzJzSWYrMXJKNkpYZlprNnd5VXlxdHNpMnhOcHlkdEtGOEhFazZydEpkWGRMRVlxa3d3Wm15MmlWek9SR294WnBYbTZqem1qUFk2aWMrcHgxN3JIT2MyRXdtVTU0dWMzWjNVWjQ3cXV1clJSTm5mYTU1OHB2VDhiTFFCdFYxcWJUT2RDbFNGa2VGN0xydVYzZExSaGd1c3pXYVdQS0sxd0Q1M3BTc3licVhkZlJqNFZDb1puSUNXeEtxNWlCL0dveHlWalhibWh6Y1loWWZ6ZVdaUys5M0hxUE1Kc3JZVldoWlBBeXRzdDRWY09QWXllMDJ1UVBqa05PUzNwVVZianBaN1RhRXViQ09IY1BxdFRTak1DNGZDeTE1cmZLYmhza1c4UG1tWDJyWlZFY3ZWOFhSeUJjWHRFaG1GTmVkdU54QjdXM0s3bWFsTlNlYjVuQUl5RlpXSTFkU25qenMxUUkvY1hCdlA2T0Urb3JOak5mc3JEenZUY0I4TkRlTmZNOFY1bzYvWkJlMXRyZ2NtZTZjY0JlVmQ1ZlMzSUsxdVNqYmtzTStjN3BLOElBbmVGMDFZWVh2dzBvOC9vZ0s4WVpqMmJLR05XVG1kSzdCei9OUkRiNWNkb2V3Qm9lNW16VGxTYUZWcSs1R3dCWVZDZFFhVk5scHRVMkQzVmQ3ekxUSkhiWURkVkpvejJwNW9vUm5WQlh2RzJ6ZUh3dTVXVXZqRzNaTG5PZGJqV21qTFZzYllXR2F4bDV5YTZhMzJlcTZzSmoyVy9ab1ZhVUlQRC96ZXFPcGpGUExjazlwOVRSMnVWbnlHWVd4cWUzc3dCSHRUSDB5bklGSng5M24xbG5HMVVvTDlhU2VEZ05WS203SDNjTk1QMmtFdFNDbVpLNDhidWNLN1Z5OTRacDZMdXQxMTlVeFBSNGR5cE9pQUxQMzRiUnFsRHVtV2pwTkpvdnBWdWtSWTNjOXF0WVd6b0VlYncrY2FOUWF1bGtHWTQxUzZ0MVpRUlZtaXNpc1ZydW1YUlNHa3FUNVVxTTE5YWZxbVBaV3k5cHVWZWQyRGxIZE5tdFdkVm5XOXJTNlc1akRmRDEzbkJ4UDRKUlo1dXBXdmpsU3B3ZXBNd1pGcXdiR3JYV2p3NEZsRmlqbFpTblBqUWNIczErejVuckI5ZmlSVmVmM1JhV3psWnRGVlhOeE90czBkNHc4WE9GR0R2aTQzNWx5MlRYajlFalNGRTNObmRMNTBXUXl5aDJwK3E1VlBUVDVIdW1WYzNrZDJ1aklOMHJMNlZZN3pxdmpvWGRzRlJhV1c3VUhPM3E3NDlqcGNsTVdOaDVielJZTGpXR3owZTk1U29mdDlvVmpibS9BNkZDYkQ0OXNFNjh5VG52VEhDeXk4dGl0QkZoRC93Rk8wakh4SkdzQ1BCNlFaQmtMRkhKZmVZRGF3T1J0TzVkS1BYK0g4QXB6S2RSai92b0pzUmNjamJObFhjTVUyWUpOYVRMMXo1OS9lam95SnFZd0VKbjhzd2hzV2dFcWJGZXRtajlueENHamd1UTdKdWhTbndUZFRNcVFqSHpCNUk4Szg2d0FUYlFsK0lEakFaOG5XVWdxekdmNXl6UEQ4L1FSTXVrSFVvQ1p3aDZQWThsM25DSnorM2RwN0t4WkVpQ0MxRDlGUFdsTHN2VXNtVUJJaDJNdndhOW53d3grTjRBQXM2Q2RUTDJZd0haTURSTVl4UUl2MzlMQjcwRGhKd0EvblVYRHhwbVRBdWxRcXE2OUpUZGk5b2ZGQjRLLy9melR0eXRqeTlaWHhqUVpQd2t0L2RYV3Y5ckFDZ3dXclV5TzJCM2dFR2ZkMW0zZkFNKzJQck5OV1JPZk9VWlJybGRobFVvRlMzeldnd1ZZRlRIOWtrajlpdG1tQXo2RUd0eUtSdnVBK3R1QlBIZys4T096SzhtY0ZIREtZdi82RjRhR1dNZTJJVFVheTZTd214MGgyQVFRT2IxR1NBQ1BoSmdJTmcyNW4wSWNJR29mVXArZVpSdW9nU0hEODBBSVFwTXhpdnpYSUhyeTBYR1pRTldQSUJrdSt4YWFGUDYwa1E0QnhoZlRUdElPcG0wVVZPMW55MUJrTzVuNE5WQW1WQ2UydXcwdDk5ZS9ZcllWaWNNK29YM0d1aUxzMjlabjhzdkxlZVFZamxCZlFsNklXYnk0VXNsR21zYnJjQ2dXRCtqUnA0RExVOFFpOCtXOGhaZzMwdmQ0MXZldm9mR0NHVEd3TURTU2FuMkdWcjBTemxRcWlVUUtZeXBuOXVJekV4NXdCV011WkJlZ1FhY1BkWHhsOHFQMXdPYUJlSUQwc3BEMVpZMEgza2hJSmlxUmRnRjM4S2xDUWgxNFh0WU14MDZLNllqYWdxNEVrbVFhcEc1SEFFNmx6c3NEVDN5MU5JMGx6Z0srblE4NklBMjF1aWoxUUtNM0ZMclQ1clVxRHpTNXFQRXR0SzNsc0twc0o4KytISzV4b1E2Nis2em9IQk5aM242NU9QRWo1N09kUFhUZHBKSm16KzUzN1Q4MXY4TW5sVlFLZXpENGJObStBcDU1R2FLRVFhNlUwSFFOSkY3ZTRNSSs0c0krNE1KQzdmZHZzbEV3SEV0OFRUeFVLWnFDNk9RY0s3RE16VTUxVVZSZ0ZucHpuMndxVGhHL1FkRlkwOSs0cmRnNDRVbjlUbE44ZTNCcVNabFBjM3o2a0Q2bTlmT21mdEZUbUk2V0JxdnVFMllnU09ZRHpMQ1A1L0RFVitUY2NiamsrTkN0T1I3U2N5NGZEVE1vVnJHWDhDUUgzRGlZem0wUU1Vd21Mb3llNUVzc3NDeWdDTkdnQ214SlI1d1RobTdaaVV1VTBIOEpnOG5aQitSMFFsZDREY2J5Qk54c1JIYzl5L0VKYUl4UTJOVTRNazRDM1djbjBnbFg1bTNwUTRrMHZCZjRCUDhHUktmRXEwVm9ycVZqdjhCZm9aZkZpN09adThVd0tUMWU3OEYvWWNZS3lPRlJ2VnJCUGpPR0FUUytMc2tLTkgzRTVqdkl1UU5CTEZGSWEzQ2JkdHBLYzJsT2lhRmdwekNZaXhLU3pQTkFDeGk4ZVZJQm4vak10UlFtUHlOYlExSXRHanVpc1NPak9FR3dpd1p0TklpcWdYT2dnV01XR2d2M3dGbldISm9lbmZrWlRXZ3lLbXpnY0Z6WWhFQjZDRmN1TXRiRHVSdTBQckxkeFlPZ3VXVU4xblB0K2FBZk84aTNzMTRLVW94VEdNc2FodnZtbEtDY2ZIMUUxeWNRN0lOVCtVdU55anFDOEVqVEJLU0s3WXVJenJhRW1yekhMQWtvQ2dhN05wWFJlT3c5QlA0MVNhanJ0VndZNHpWRlovaWtLekZoMllRK0JGbjVKaThFbzlEZFlDRUcrQTVLVHhYeWpwVWtCTVZYdkFIem9mWVM4TDdDNmlGMUJ0SGhJUlh2cU1ZTkdlZVkwSzhoTGFRTVB5Zk5TK2tEanM5NzROZGhvVlNwVUZHWmR4bkpGZTVIU3ZjRDJVenFQclc5NXB3akwxSEsrczdta2daaldxQUR2Y0ZPeFprNHdQTS9PUVV3Z2ZLcEZ5dE9MbGE4SmVoMndZZm9WK29seU5CM2lnVTUrazYxYk9uM3EvYiszNlBhTlNRc1NYZWg0QkRVbk81b05rQ29pSlY0QU82UUNLYmVBTEtCZ3BDRExhdkJTcWhQQjgzRHlXUWk0aTZmQjFLSk5FWGVPOVlySXFRS1FVaE9FbzVHMG1LVWZRK3lEOGdmV3pyQzdnTjZGSlVTSkpYSjV2S0ZZcWxjcmRVYmRETU9wM0FCWW1pR083OGFoWU5vRG5ZSk1CYkI4bzc0dTRVVHNwaE94R0hBUkRuVXVvS0FiY2FCNmVrMTM2Y2ZNMzFkU1VQcXExSzZBaHNuSkFXdllGSHpKcGk2V3BjWUV3SHlBak8wQ3NZUlNBcXpHZXhDMGhoVlNKMnpicWdtL0huUjR2TS8vdTVscVBkLzk0cjBsMENkNTBpZkI3UWZmMFR3NllvZ0lMbUoyNUEwZ093VC9CR2lMRG92SEQvSDh2QzVVcms2U3l6d2t4aUVaMnpld3c3aTZ3OEV3KzhDeXY0MzQrZ216SktoeWE2Q3dpVWloamg3S3lLSENFUTUrUkV3TGtFcmpqM2g0cjlrZjZsRVRXcFFGY1k5MEQ0Rit4NkU3NUR1WTdDRkVJam5kbzZUelBQZUlxeEZzWW82TjJRc2dIaEdDVENhK1ZTaFVyOWlOMHZJYzJUN0VQa05yQUtFTUY0bEg0ais5WUU4R093dmk4MDQ2VWJDY1dnVUhBdDRSaVNYNkdxbXNUT0x5NmY3WHZIYitRaiszOTEvazd2enFoRWlkTURZMHJPZzZQcjVvSWhzeUNRRURtSVNLUjB1T2VQbWdwcHdQRVRORlRtWkRpZmlZNDhSRTQ1L1JMUXhZRjdKdWNMTGJXaUtFZlB1bzJVd3FEcUU1V1FsSVRJK2s4Q0N5clFDV3lMTmZ1OENXWlRzRHl6c2FGNVkzZVNCK1o3VllhdWdmcUFNRDdOMFJlYXgveEJJOGp4cDY4YjlUT0xUT3lnSVdRS0pJNUM4WUNRRzZxdWNub3o3QWdRcG03R2RDSXZ4WXdYZDBNV3hJQmkrUW1nUWFQNW9NZkFhcVJIVjlRWFBKZUM5RlhPakh1a3AwZzBQM09QS1pkREU2MnU1cDNncjRZZGJkN3A0VXlBL2FGY2V5UGZPWFJ2OGRIUHFJYzk0NmxVTmZuY1E0SWlxTGxTUkowR2NaeDQyUGduVTM2RTFqS0liNlBjbDREOXNoaEtJOVJWbDFLakhkeG9nTkJSczV3M0pRTDMxcGQrcEpDeWdzbzdteTFjM0ZEZnppWFBjWjFQWVJjNDVXQ1lldGFlWERNTWhIVEQ0QitsdXhIa0tqUVIzTGFFOTRKb3pIZnJEaGVVc0ZsanhQQmpFVGFBRTI0OVhSYzNzbE5GRWNFTU5LWjRSRm1ZMit0b1pSQ2FNZkF5SHNBbkRkYWo3MmMrdlZobEJ4YW84bzF1RGN6QU5aNytGdndMcm9CUjRVU0dVQU51VFYyT293U01UcVZ2MjkxUVIvNmd1Tis2TDRZc2gwd2FWTmpKblQwWnM3Tm1aVTdEL0tNdkhyUUQyZ0NZWk1qazNKWmZ0aEhaRUxmc1ZyM01kOUdvNjhqRHptZE1WaFRFc2tFVHg0endZMi8zVzdBWjFUVUJyL04xMDVqd2QrY2dqRjdxVU4yLzVUM3p0RDUwVDFXR0orTjNRVFF5NmZUMzB4SVRYeWhmWHZoMjR5bW1mLy9IcEMvN3Brb212dFJOZ0NZU3VSSksySCt0My8xb2k5RmRFZFhrdGdhb0R1QWE2cDhYTEpycmdQTjIyN3BBSDlYSjFYdGNyQkZrQmo1ZmM5L3VjQkxnOWVtUHpZK054ck82OUhYTmlNaVltQzJMT0Q2eDhqa2FCYlFObEFJOGNKK21od0dUQnVJUWU1Ri9RclRuYUgveEVuZDhUM0t5QitmWXpHVDllZ24yUXA4NkhCOU1VVkRYUytQYnA1WUVpS1lUeXEwdWd3QVJmenlhOWlvMTNaT2Z3OTJUck5xUEVDMTVkUVV1eUl0dXduRlppNHlOTllhejVnWjRvZWl1L1E4azNkZnlCZnZmVC8wT0lSREMvWVhyVnRVVG92RVBNRldBUVhyRFhSM1RwOUNvSUpZL3U5UUlEM0UxZ1NleXNCUFlCUytBY25zRFF1ejhMUzkzZnI2blFiakFraWZxZlpJS0kzKzNlZitCTTU5dEVFTmRnNGFiWk9JMXpqcDFBM25JMW9odCtJblFXSG9abGZTL0QxQjBKcnlUd2lCQlB2Q1FlRjJXM3J2cmE5SkUrZU9SZEViZC9oZHd1RWtNeUtCQllIQU1qWWZqOEt1RmM5RFlZeXdhUjR2R3ROaHZVVXVtRW4waWZDY0w2L21HTmRYa2w5Nyt3cTRkS244L2x1MXIvbG1oNUYvYmlhN3VuSDRXNFZ3VWNrc2hkUmMwcmJ0ZndOL2J5SDBnUWZ4VFRmK1o1L1J6ZnJ3TXplSU4wQzZsZzcrRUJlZkNBZ256ejhoYUZJZlBvRUs5T09aNjhQOGIvcXdmSmMraHRINUo5aGpFNkk1YlR0Yzh5L3dXOUxxMjhZTUF6WkJOWWxibmtwREdTd3Jxd2RhWEtSUklqeVEvb0w0VzFCdk9YK3hBSm83cHVYSHBLaXpOaEZYaXBHSGtISFhIME90cGdSTEFaQ1FLc1JNTzJPU0JHNzR6T0RXYzRZdXV3TjBkTEgxVjlnY0FvSi9IUHJNNzd6K0dxdVc0RXlPTmh5YXRlMmV4Nk5zZ3pGbVFRRGo1SWZHRUQvcU1OUVhSTFFmT2VUTDMvL1p1N1d2MmRiWWFhL05HZFhzbjR3WjZ2cDVDb1dQRVlsMEdoUFpkVm9FUFBlSGhoR20vTjFzTWRZVmVkbmhVMlFOOVZHTWZ1ZHdoYk13bTFGOGlDT3ZZKzVCSmNyNkZ6VEdPeWhnSk5obnk1Q0dJMFdYMzlOaEc5SUxrNlJIVDFpV0lHWFA4U1h6ZkEySUVLTU1hU05SSGRNcVZqY1lFT2wxTjYrdjBuQVhtSEs4UGJVdXhqYktEb3V5cVJkdGpWYTVLenNkR09ncTFlM3lhR2lmUHVSSU81b0RtTkRJS1d2anJyYUlkMm1rMXphWEQ5eGE3M0hQYTM4S3FOZ3gyVlRRRDRtQXlleHgwaUExc0tIQVoySEdOZlhqWDNaNWhkTVF2V3FZeVhERFBubGNIYUFYSDZUWk5GODFmcjlNQ2wzbDUzTTMrMWpsTmtPUDMydXV0NXVPemVVakFUT0FaNnQ4cGRFaUFLK2ZCODNuMjB6VThmYlI2RERTKzZjS3NrTW9sUEh5VVRJejU5Skd3ZS9VRHpJVTEwM3hkK2JZREtCVjg2K05TRWJWcElpdjRGR1FkRFhXQWxFVFJ3bUJaRWVQVFpnSmI4L0NWeHZrTzhmSFhnbG5HT1JJeFZ4aFJsN1FQNWtuaWt5cWNaY3dUUWwrNEYzMnBJa245NXVST1hpSFFMdmo0UjZXWkJYb0t1OE1CRTJvWDFXK0lkenJrOC91NnhkTFRuNExzRXlmRE9pRkZTZjU0bUVlOHJYVzZWZUhldU90NjhZWXNPTys3REdYUXhKbXNXTU8wcXY0UHRQc1FLYkNDU2lmQjJGMmlvS0VDQWVCTTQ4cDhKblB3Rk9OaGkydjlUTEllczVwakttMGI3OStMbVZ2TC9PblMrWjRqZmloNzVENlBuSS9yZmNMSC9jalJGMXZiSmQ4KzJhdXlzWnpqMkx2V0MvZnJwdndFPSI7DQokc19yc19wbCA9ImxaTHhqNU13R0laL1h2K0t5dlUyU0xoajgweE1WbGxjR0pybHZMSFFuY1k0SlF3K0J6bEdDZTNwekc3KzdiYklPYUl4VVg3cTkvYkw4elpQT0h2aTNJdmEyZVNsQStVWFhFRmRvRE9jU1ZtSnNlTWtQSVhMTGVmYkFpNFR2bk1xWjNQMS9ObmRoY2lnS0J4MEx3RFBnL0dZOGVRT0pFV0VDNWQ4Q3RSQlpLNEIrNHJYRXEvODhNYmRTNmgzZE1sRzdtQk5sdTltNjhtQXR2Y3FwRTIveVBCRmJsQ1VmelkxNlB2TythclMzRG8wdEhNdnVHRkwzenZIenJWQmo0aElkd3V5cXJua20yOWx2QU56SUpOcVlGRWttdGVZek80dlgwWHpoYit5K3l6d3JpTzJDdjNwalUyazlmQ1E1bUJhVGRYTGFmajZyZXVPckFQcWtjb2xldnd3L0VoUlQ0RFVLRjVwRmd2ZVJKcWlhQ3lJUXYrVytkUFpMTFJIaXRKVHIwL1ZqdDZPMDdTTzh0SWtsVDFmNkkxb3VuaHZuUnA3UlM0a2xHcjdxaFBHU1FLcXhyT1oxUlFybkdjYmpXdmN1TVpqblBDeWhFUkN1aTROZTZqM2VBVWxacXZaZkdFYkwvcWVRUitENEhabEc1TnU0b2RobTZBZTdDSEJ5dW1wUGltNEFOT3o2TThEKzNYUTdNNmd1SjFKTWEwR2wwczhwQWdkRVJUaVpQVHBuMFpKMWs2alpzcmR2QVFaeFpJclgxbEhCNG5kMzF5U3ZIUGRtbEFPU2R5SkcyM3MzN1NacmJaSm54a1dmVXhhYjkyb0ZhZWp2NXY3TDJHTkpqaG9iYWI2ZTQ1SWZUOEEiOw0KJHNfcnNfcHkgPSAibFZSdFQ5c3dFUDZjL0lwZ3BtR3J3YUdGYVZKWktpRUlFOXFBcXUyMEQ4Q3ExTGttRWFsdDJTNlVmejg3U1Y5QVRHaXFXdmVlZTN2T2QrZjl2V2lwVlRRcmVRVDhLWkF2cGhEYzN3OEtZNlR1UnhFVEdkQmNpTHdDeXNRaWt0SHMrT3ZKNDZFdW9Lb2l2MXhJb1V5Z0lOVExtVlNDZ2RhaDBLRitzVi9CSHNHRXBseUFMMk9FL01MOVpEQVBhbWZNU04vM25FKzg5YVZESVlGakZ0WW04VVF0YldTVGlhVjVaWFExVEJ3TVNyMEhsL3d0U254UGdWa3FIamlVTmhHcGdqVERwTE9HYkxRZGFDRU5KbjVOTjJXbUZMemhXODREb1NsUEY3QVhJMjZRaGJ4NXpPaThySUFMNitGNVZtL0xON0RBQ0ZiMTlVeVMwWFc4TXFBV3A4TnhOejc0TlB4OU1UZzRiYlVXT3EwYm9JdmdzQXkrZlVZZGJSU2VrdzRLQnJ0Q2J5dlpQRkJwY05tZkM1czZjRGZsSk0rb2wvcjBsR1dsZ0QzaDdsSHZ4UEh5WU1WQW1rWXJVNjFyckkzaXVjcHNDVmlSd1ZFRGVMTllBZFdRS2xaZ3hMTDdBTi85dWRjUEhZSkNGYzZyTk5mTzRPcjd6ZTBvT1Q4Yko2UnhzNEZtYllUMnVtUnFDbHJxckZSNFJuTWxsaEozQ1ZuYnVBdGp4UnRscTdPTkFaN2hkVDlhZUV2YU9ydlJxT2RKa1oya1N4T2tQS3Nyc3Y5ZFRXMG9KL21iSUVFN0ZwZXBsWnB1cjNQMU56T0Q3am5xV0pJNUdQYnN4Z01Oa0ovSHRzazBWZm1UMzk1Y1R1SzQ1MFk2enUrNkR6NVVPL2p4RnZjS2UvYWMzdWFIVldsc3VYWS9TbTZ3Skw2T203V2h6WUZiNmV4eWVuV1RUTnFkb3VQYjh4L1Q4V1NVbkYxYkYxdVljUW9oTi9iajI1OVRaN1RyTWgwbHY4YkoyY1hGS0xRWjM1RFcxRTVnaGpFNm92VUhoZExkdHFaVmFVZVo0eSt2UEZ3NWJ0QUMyem5CT1RDRGNkRjRiSWZNTFQ3VkZZQjAzcHVtdmJkQm5tNmFnK3JIcFhrZmduN1F4b2JNTnNBMWJkUDNEOHhSWjNkZzJ2WFZ4Ry85SFhQN3hLUWt0ZzFramk3K0YvSHVSOFRaL3hIL3dQeGQ0b3o0ZndFPSI7DQokc19yc19yYiA9ICJ0VlpyYjlzMkZQMU0vUXFXeVNwcmNhU202ekRNbVdMMHNRNEZWdFJJMHcxRGxSVTJkVzBSa1VtTnBPb1VTZmJieDVjY3U3YVRETmhvR0pUdVBieFAzbVB2UGNwYUpiTUo0eG53ejFpMmt5L1JIcTYwYnRRZ3k2Z29JWjBKTWFzaHBXS2VOZG5rdXgrZVhSeXFDdW82aXlUODFUSUpPRmFDWG9DT2J3WE5XRmQ4UEljNGlrcVlZdFhTQ3hVaENicVZISjkrZVBISHA5R3Z6ODlldnp0OW01Wml3ZWxZUVRvZmExcjE0cmxhTUg1dHYzUEdaNHM0R1dyWndtQTZyaFZFd0V0dlVjSzR0azU2U3N2RVdNN05IaUUyeGErWmlSVXVtZEpxR0pSR093cnhwQndXVHBwMkJsSXRQcG5RckdGNzNFV0tkUVVjeTF5bU05Vk9lbG1SWlgxU0ZDVEJEaGJTa0Q0YWMrajU2UysvcFRYd21hN3kvQ2pDWmxuUnh5Zm4rZC9abngrZkhQNTRmblhVLy81bVB4czIrUnV1WVFheUZ4REp3QVNyM1JtVm43MGN2UWY1R2FTTGs1QitremdOelZVNnBoUWFENlJwSXhuWG1MaHVZTmNOUE1CVWNBNVVRMWx3NG5BVG1ESHVudXd5Z1hLaFF5L3d5cHJtMUZhQnJRbmhFaWhXenMrMFIrQ3lFVkxqczU5UDMrYVhHdVQ4ZVBUK0tJK0wvZEh2cjRxVCtEam9qZkRZM1NWVjRVT0dpNStLeDkrVXVEaHgyMU8vay83VWZwS2xON0NOWFhYZHBiZnNNVWxKY2tCT3lCcHFVWmxPNDlyRVBnTzlucEJkY3N3VVlKQlN5QmRTMk9ScjI0eVNRU0dIKzlrR1BsU25UbWtsNWsyZUU3SUJDVEJyaDVZNC9UWmpXeUYyMVhrZDdvNUJacXdmeDRrM3ZQTkVkM1ZMTXo5VUMvbGwyS3VUbldqdlkxbWdlNUN2bURUZWplVzdnUFl5NzlJOXJDTkxTN1VLWlNvV2d6dkx0QzFwWDZjSEozUWYvRDlOQzNhYWV2TXViVVFEdkZmM2lTVEoxVFVUMTUxNUppemJsQWZFek9YQmhxK2I3YzYyaFAyMWJQVzllNWFnYUh0Nzd3MzVMZWtGdUdybGJRWXFwYlZZeVVqbG5OVlJaOHYzY0kzWW5qcUMzRUZzeHRFbXRSMGJhWlc3dDZOenc3RzJnQ0VnVDdpZThkeVBoMmU4dmF2cXhyRWVVZy9nT09RSkRxRTFha01JVFExZk9rWkQxdDMvVFdTb3kyd1o5T2FGTXNxT3NKUW5MQ05COTVDVWl4OXRZU1lVNUt0VTVHUm9OL0dnN3RBV21rSGQ0VlZHQ2NJMTh2QWkxenUzN2t6WTFlVXJKdGdkUlRmSW0yN1hOZi9HT1FUa3R1bFVENXpPTmFkaDkxdjRNN0IxNEZDWU5odWxuelB6NUNZTWhmSHlrK2ZBVnZJUCI7DQokc19yc19qcyA9ICJuVkhMYXNNd0VEd3JrSDh3dmxpR1ZJSW1VRWpJcVovUVkvckFrVGVXcUN5NWtwd1VRdjY5a3V5a2ViU2wyQWZoM1ptZDNaMmxOT0hPTlhaT0tkTWxrRXJyU2dKaHVxWU5YVThmWnU5M2xvT1VkRHphRmlheFRiRlR5VEl4OE5FS0F6aGpYTWp5clRHYWdiVlpUaUpoMFpFVnVIT3FEN084aDZ3elVOVG5hSmM1RVpoV1ZrdTRhTldsSXFWWENaTjVTa2JYUWxITE00K0lEZTZuSVkwczNFYWJtdFNGWXh6VDE1MW5pVHovcm1OMVNlQVRRbDNTU1JhbTJucmtLQkhDVGpUOEVRbXFjbnk1bk9iNzhRZ0ZQdmRrdnhoaGZub0hUMkMyWVBDbVZjd0pyYkNOUEdUSnpnZ0hPSTJHOXUzbllVY0Z6RUg1ck5Ld1ZOSi8zV3BlT0pxSkkvMGN0NXhZVndwRkROaTJCcHhmUTdwMXhIZFB5OElWNmVRNFRZSkRuTytQMDhSb2NiaFZCbU1HbHY5VmRoejZwaHAxTHlkU1dBY3FPcjI2ZnduSnczZ0Uwa0p5N2YvczVMKzk4UCt4Y3pSWTM2dE00a1ZYMHlqMzMwT2czeTZBZnJBZURmUWNEVFFiRFhQNThBVT0iOw0KJHNfcnNfYyA9ICJyVkpoYjlvd0VQME12OEpqVSt0UUZ4UGFhVkpwS3FGQ0piUVZFR1NhcGcxRndUSEVxckdqMkV6UXFmOTl0aE1ZWWRxa1NmMFE1ZTdkOHp2NzN1RW1TTFhPMUEzR1JDYTB0Wkp5eFdtTHlEWE84T0xxdy9YVHBVb3A1eGcwY2YwdEU0UnZFZ3B1bFU2WWJLVjNGU2huWW5XS0pad3RUckNkd25xWFVmVW5yQ1I1b3JxS0M2cVorVEFUVlh3am1GRzNHQk1hckdNbW9BM2lmRVVRU2VNY05FMzQ0OXZjKzFtdjJZSkNCTW5BNzlacjVxSWJZZ0RUTEU2U1BHSUNNQU96SmJTSGc2QmpqOVJZU3pFUkxlTTE0N3VnOXhBTlI0T3dlOEF6bWVzZzFWSW9HR3ZKb092bHp6M3ZOOFZxdDVUN09TYUh3MUd2MzU5R3ZkRlhSMU5COFY1WXFxUForUDVqTkF1bmc5NGphaGNVcWkxSFpob3FVLzRVV1lwalJ0UEI1OW5BNnFFemlSUjdwbklKWmRsL0NkOG9qMjZaaG9YTWdvbkVDTUNUbDRPbWQ4WlFlK3NYTEc0R1NvWGh2WGNwQ1dKQ3FPdmNQbHpINkJEVWNIc0IzRjZBRzBDa0VKUm9tbndYRGRTNUxybkpKdXNZYmlYeGo1Tk9JYmt6VGRld1FiZDJwQ0FjVEIrRHJhYjV1anVaK2NINXU4bVgvdDE1dDZ3YXlJU1VBR3hlaEZVS0xsbWp1Q3VYaWtKaTQ1ZDZqWEpGd2NIT3E5ZTMweTZraXdwaVoxNU0rWm5tY284Z00ydHVwcmtuWFBnWHg4aGUrNTg3TUp4TXB1TndISVgzazcydnNCejJYOTBzTitHazVubmViZnQ0STV5VDZqK2NWTlhFUDA1ZTMwbFZPUGxTL3dVPSI7DQokc19yc19qYXZhID0gImxWUk5iOXN3REQyblFQK0RrSk05WkhhVERkaldJc093WVljQkExb3N2WFhCb01pTXJkV1dCSW41UXByL1BrcVdYWGZ0cFFmYkV2bEVQajVTem5OV0lScDNtZWRDRjVDVldwYzFaRUkzdWNsWDd6Njh2My9yS3Fqci9QeE1Oa1piWkgvNWxtZFNaMit1bnBvVVlMQ2RuNW5OcXBhQ2labzd4MEtNUDlZZHo4OUd4c290UjJBT09SSmdMUld2STh3Z2d6MkNLaHk3clN6d3d1UDdBeitVMmVBQ3lkNHc2YTZHcnVzTlB2cjBCZ01EY3JjY0RDWlB6MDZlSFVpUFdFbVhTVGVueUdGSnhybVBkR3BEZmJuZWdyV3lnRUhjclpZRnN4dVZwSUhuQ08yaFhZeFdCNFM3SlZ1eE9WT3dZMkg3Y2ZwcHRyeHEvVkloRStTa1BMN01aSlZHeDY2U05TVGk4L3dpWlRIV2lGaGtPeXNSa3RYa1lpSTZhTEN2NjQycmt0NzBZc3hUK0xSdndWRlV5ZmU5QUlOU0t3YnBFVEpTVVpFV1hOemZXaTZBd2dXd2Y3WFZ4M3BqeDBMWkRaY3FJZjJrS3FsUWJrdlhpdUFyOCtNUWNyZCtKcHFDZUkzemxWUzVxOGJCSmRmSjR1QVFtcXdFdkxIYWdNVkRNdFl1VTd5QmNacWgvcWwzWUw5eFI0UXlxUXJZWDYrVDhVNnFjZXJsT2NhbzlCbTNmR08ybmJlR2dXTmhhTmtsRTFvcEVBakZiOVZtSC9SbjV3bDhwYjJMTWk2MHVBZGtWZXhkdTQyK3ZzTkUzOWVjMWFCS3JPYnphUnlCVWJnS2M1cFZoQkpzWnJoMVFKdUF2cnRZZGoxWmdLVjVpcWxjbDJwZ1RIeWdEdTI1dUl3TDM3V3UyVzAvb1hiQS9pY3pleTJaVmpocENCdGMwK1VnOFVBRWFTWnN3T3Ywc2hUczRZRzl6R2Q0QzB2cHk2NjgrZ056UDhwUExtaXBlK3pRM29QSjM5MlF6a1FqSmNEL1V1amdyNDFDMllBL0hwYzBVYkFIa2REd3BQRmZRV3JSNUU1andhU3plVVp0NG9sMENUeDY5b2d1L1YvRlBHZll3NmNaWFIvcjIyZG0vZkpSeHZCNnhlMms1L1FQIjsNCiRzX3JzX3dpbiA9ICI3VmgzV0ZQWnRqOHBrRUFTRWlRSVNEc29DaWdkUmtDREpBSUNDaElCRlF0Q0doaE5Nem1oU0FzVFVFT014cTRJQ2c2ampnVVJsU3BGY0NoV0hCc0tLRHJvaFJ2YUlCY1lVYzhOSTNlK0tlLzczbi92ai9mZStyNjE5bG0vVmZiYWUvK3g5enBoRzlVQUNnQUF0SlpoR0FBcWdhOUVCZjU3a21uWndMcmFBTGl1ZDkrbUVoRjYzeVpxSzFjQ2lzVENCREdERDdJWUFvRVFBcGtjVUN3VmdGd0JHQkFlQ2ZLRmJJNHpnYUJ2TzVPREhnZ0FvUWdVWUUrekNQdFAzaDZBaU1JaGtONEFxRlZJV2hZQmdIcmZ6SVNGTTlWTjQ4aXZkU05tNnYrTlNtZGl2cHExQk03b3BOOXgwaDhYb2MxSFFRRC80N1NXSHUzNjI0Zm9Ed1VoLzdhL1BWby90LzhzNDdmMXovcTdIL1dybi92dml5dWM4U0gvemEvQnc5blZhM3B5RzRJZVVwOXFuUFJKajNsclF4NGJBTVFHV2cvdHFkZ2lnUERXT0JoZXEzZ25IOEFXalRDb1FCdmNFNjhtOWc1VzFCTWlTWjR0YUZ1NjRhdytCR0JJTnFnWlRLcEJZL1I0YUlPOXFzQ1JGdTJjaWdEK0VIL0tsbFFFdXRxMllORm9Pc1lEcU5XVVA5QTF3YzhmMDhXNmtTNFZZWWNUNFZma25BYnBTc0oxcGJHdHU0S0V4em5LZTErTVo5U01ZQWlielc0cWZSVG81VisrYkJ4QUY2MktBTk1VVFhOdkt5d21KcXBoQTBNTHBXWFBsZTlDRmlyOVNmYXkvTUJxM2owajE2dENhM2Q2dnhBR1ZOQUNBSjVpRFZlYlZpTi9nbzJmTU1ZQUM3WHErb0ozdThqdUw2d1JMdDNDaW5HeU1oQmJqL0E5WU5pUXROUlhwU3MrTVdUNWFsV05oNlg5Y215TlNSZWMva1EraVNCbXc0VFp4SndMR0xlR1Q3VXZ2c2h2a3pmRk5LSnBoNkVOdmtkMXpYMFBUWDJwZWkxOW83bmhxNE85QWdYNldocmRYMTlqcVVhZ0lVa2tWRXErTlNUQXFCTEwyaXY3WWMzcEt5Z3oxd20zenY1dFJGOGNabWxxelpvRDJRTFFWTzNYdjVuVjRZaDFhVjduMG5tQWtOanZINFpRdG5yYTJXREVESE1jN3U0MWF6RTJwMU9xTCs3L29nNHpIVGVGTkVOcVlIL1p6NWF2allrQlNvSWprTk1HdVYwR3FGYk5WMUp0SStDNTBRU3FuNkZqcmU5em43ZXo5ZXpjYjdZMVZZNC9mRG4xV2ZQUGNQejY5ZXNpSy9mTzJyWE02OWNkeVUvR1ROMEREMXRMYW9TS1JsVkJjbjRWWnBtLzR2V0hpeWZpSmE5YmNveElCTDAwdEVkaXF2TjhHWHB6a0lLY2srOW45bnFIM0RkdUx5S0RYQlR3aXRTbGFJN2ZQem9ZQnVyVStialNWRGw5bjB1V1BuQTJQZHlnaDEva2h4b3c4MXUwSEVuYzN4dERCakFpWGJOZUVoNjdhbGZiVWNhcUFMOXdoVVJDSE15NVBoZy9xREZ0dUQyNEcvS3F6K2dZekNrZTdFVXIxNnZ2MTlZUysxWUFzMU9WL1BJRlhmRXRIaXVJRmMyUG9xOTkwMjFCaWJkOHFkdzROQlovN3VYR0Z5MVBsK2FuSDdYQWM1SG45VjNtcENWaWx0cU9yRVllTE9ncnVOVG9QbkdmT2E2NFVZcTlTc1M1eHhFelhWWGMxa3I3NDFkajN5c29Rc2R0N3pxTWhyQ04vWStOU0hiM0REMkhmbDJ3U1JUYzVkbm93QmUrSGo2dVZFV3BidEJMclNZK1hOaDhMM0RPRjNoUC9VcDlaUVJlNmE1bytWQ01hSDBUZzcweWNCSjk1L0paenpUVHVjMkZobkRna1FQdlgreU5PdElhaFI3bUphbEQvL25sWEhxeHhqQ05YMWxsL20wN1ltMUI0Sk5vYVJlbHQ2a00yZFBMUlNNTUE3eHc1KzUzVk8xd3ZEUmFNbkUyTlhuZ1VZaGl2RG1ic0hNelpyRDZMRGVQMDg4YVNyYis1MW56WWk1L1dJTmhGLy9BelJzQkJweFAyOFplbzVsY1Jsc2V0cjJVdHRzcnVNa1dSRm1ZWWhhbDJyRFZKQVNtL2gvYk4rcEcyVk5NWnlNTENnU25QUFd3L2M5RGlKc1B2YXp2VE9wdklhbzRZNXUyeExZMXJocTFiS3JsbS9EMmROVFpueDcrOFAyQjNpc2phemZ2RlBvQnhOTGQrNDlOR1JZSE41MGNQWjdkdG9STmNvVXVIVE1ZSnlSQ0pJUGJza29xMjVlU1VqNFNlZTM4c0N2Z0NMU0M4bng3VzVCbWtOMEkyYzFEVXA3RnFVbHdaSzZ1SzVWZ05PK1l4ZlZINTRZZDUwTjdsd2JrMzJ3UGRva3VvNXhiclAvbGRUOW51TDkwSWJsRlJ3elVONEZ3Q2ZXQkJyRWkxNHBZM3RTN0Q2NGR5UmpLN29SQ2l1Wm43cVoraDFWdFFjaVdqUWpyUDgrVm1taDBzdmM0K2VlaUtQaC8rV3ZNWmVuUFk4dTYrVTh0aVhzQ253YzBRTythdlRxYUsxRGZTQkNhTTY0ZDUrK2xsMlJiTHpYRFZKcHBMRTZpYnR2Y3JqNkd0ZXdqOGFtVDhpWjVPbFpIaXYvUnd2eUYvblVoQlo1dnlqd0pZMXpaYXBvdTZHMmhsV2FPbnVSQVhUTzJQY1dXcjJsNnk3Yk96NDhPL1FhMytGVUZycGxlb0YvZzF2NERqdktkMjRjZHRyOFN6d1FmSzVkamhFS0Q4V1pFajV5QXR6ZFp4Q01tL3BTQ1EwNDBXc29XR3N6Ym5hYUxCaEJZWkhyd0J4dFMxbHMwT0g1TG1EcDV5SUVxZXdkS25aL0x0dnZxcGcyOGY1Vm9tVUxnSmR0NFV5SDlMS0tkY0dnTmZsTk1rMHpTYkdxYmw0QURFSS8zQjMrdWx4L0xWc1NNUlVrbkZjOFU2WjhVRDZVRVpmVFc3bktTMGtDSkgvQnJhRjBWMGpPVzhnL1lobmY1eCtWMmlaU3UxSXVEajhwdk9LQ1RiQmYyMG96aWVMUzZKMjVVZzFiRXJkQ1l1eEJwTWRZZ3lLWE5vNE0wUU4yN08raVE1c2dKckY5LzdLQis4VjNQVmsvdno4WFI0Y3U5eGtoajNxcWJkckI5RWNuMWVaZGs5RzNQbzJ1dlZuWjIxbFUyMEt5YzBGa1lpNm1rcVJISE94a3ZEWEExc3pQc2xiNFlpYkllem9HbFZzcHZidXVOUzhrTnJiUkplcEp5cE9ZZVZoMnJOT3JHWjhabVEwdXlwcHdrZVhXNWl2U2VjamphdkFxZGp4aFJrbEJHOHFiUGE0c1NhblR1Zkx5Z0g3cFEzUDFzSXV4QiszNkhqSHA1S2hZUnZyTzhxb1FWWWVLR3R5UEtLK0I5bGxmV2FUeXM1UjlCS0JXTmhWTHJLZ2FqSFI3cWtycDdJVDhqUVdUNFR3L3cwVDU2VzVTNDc2UGZkbmRHeG93Z2ZuRlIra2hyRDVFR3Jnd05uMDFlNVhCSFJWbENyVHFoV3R0N2luMXdNRkZUNTBUS3RxUWdNS00zaUlVbzd5UmpkTzdRNExOSFdYZVlzRHZpWTErdnBzU2dkT1A0UWJoV0RkU2ZMenFzc1IvSU9HNGlaQzFkMTRWWDBjOVRRV01jS1Z0RklQVzN5Y3NmOHZuSlN6OVVXbzdabEV6QnVUbVg2MnVGRjR4VW5nWEVZWGkyZkFndGY3UzlLYjVGT2s1c3Q3Z3o2bmVidEdwVGExUlFjNktmaXdKck5qaWU0WTlRa25QY0pxVWpCMXl1SHpBbllQTkFPaktwdVZIT0k0SnRtcXhEb1h4djA1cUw0L0NPVDRvMUdZMWpjVWdrWkYvWFBuOURBL3FFY0ptUjdLUGV2THZ4NWVBNUxIaHFybjc4UURma00xdlJEcTBnSCtHSVVxdUhkMGxKR2dxRmxOM3dFSEx1ek1ncXY0WHc1K2xKK3pSemlCVHZTMW1kUEgxRFMrbm90N3JXMGwvS1NhTlI4eUQ2dUVlZHJDR0h1QWRDUDVjK2NaYnZ5K3V5VlVQNFI5aGxSWWdtSEFaREYyeVlGMTM2c2xiRitOUzBwai9RSmIzeGg4UlVhSndoUFpONXA5NUtMOGUvOCtjTkR6M3BZS1V1anhwODhQRTEwVkRMNDdpcklYWXhWN0pQZHgxUDgzVU1UbXRmKytCVGs1dCtlSnpHNE9LNDNvalB5OEdZeVZWWmo5NnNsQzJoblZNOElHS3E4ZndwdVRkZE91L0taRW1CenViWDZrTTBXYXM1Y3dNNnhRWk5vNHpaN2ZzbGErQmV4ZW1xTTZVMHhmTjVTWW9rNjhENnF3NzhPdG5DT2Y5cWwwZE5aYStKLys3QnE4dGd3Z0NkMGxTRjg4OU1lbm85OEVJTEN0ZmliNnEwQ0Y5ZHJtdnZHb3psVlJPWHZ0SU5MYlRxdkxFdUprZXFjeld6djJLK0ZlcDFzT0tseloxOUNMT2Y1Ry9COWViR1grU050RDBrbjVIaGhZa1hmTVFkVFE3bm4rOUg3NDE0RGV6NmRuQjVYS2xQRTBSTkZzeERoVjRLY0xWK3N5N1hlSmwrNEFaamIrWGJkc2VUMkZES2R5ZXltbGJUTmhKcG1uZzFMaVc1UTlQdWRveCtodGJTMkxubUUzYkgvb0xNNFZLeGNWWS9ScTRIT0pHVE5BNzd6MVpVM3lJcFh0eFRZbS9TamVWcDcyYUZ0ekl3N2ZjTTNGdkJyajRzc3hlMEN4OWpmRUl6OHlrcG94ME1nRG5BbU5TYTVLVjc4clVTWDNpOVdDdmR6MS9LMXNyV3c4ZHZWbW9IVUwxWE51MnpsUmMzN2NQZUxEcllnM2VQaGt3S1MxK0lrRGNoa3BIaFVNTjdTUnFsazlheERJQ3R6eTg4Q0VSRWhrVzJmNEhoU0NDQ3d4ZENIRENTSTA3a3NqZ1NNSXdoWUNUZ1pWNmdxZlZDOUZ5cUx1cDg2L3hlT0dnTmdzZGxKckMyeFVxY2QydmoyRHdlRUxzeU1UYUNrOENWUUJ5eFA0OGhrWEFrUk1kS2N2NW1MMU1qVk9iVThDbG5aeGVrdGp1QXVIeU9pOGhCeWhZNmlUbndJRHpGRTdLY1dkYnJ1R0pJeXVDdGtZYWtnUFlNTmx2c2FONEJENElMbUNnSmR5ZEhHRy9QZEhBSVFpNU9uRnE4aCtYazZZeHdjem5DTW9JcllLSUxTeWlJNXlhNGNEMjhGK05TRXZoY1FZS1RaQ3NENWc4SStXd25OZ05paUZ4akZvQnovWVZTSGx2WUNZOEw3Q0RRSEJKek9Za2NVTUE0QllyQUlQL1UxQWZWL2xIZ1loQkVDZmx6NWVPbDlkMk9Uc3VPZzc2K2hiR3hYRUJaZ0k5MWlBMWtDeXVpdmV3bGZEeHI2OXpkdzZ2WmdzbWRnSk5sYU1oeS80bEJHTjRRRkJheU9zZ3BNTmdwS2lETXpTbHlaZWpLT1ZIQkVVNnp5Y1p4WStzOTNJOFY2My9MTStvRjFzaEtPVWNzcUNWeDZIakhjNlZ0RkZRQWMrTmp6N0RIdkl4OWx4cnVsbFR4MnBsMlF4OVJlTlljTGVpNVlIRndORy9hbktFK1c5ZDFmN3dzckhlY0ZhVExSczFlTUczMlhFSGZ5UHd0T2xtV2U5QzUwek1zcjdpa2tyMnFrWnQzZG5zNzZsWGZ5SmRPei90bFdJNHBhTy9PR1k1aUxGcUlzc0hOajR3RGZNc0NYNURqdE4xWTNFbFM5QkZVU3h5S3JsT09CRTRnenpqcUhZZnZ3bVd5TlFnYW0wMkRoSHlhdjVqRGdEaDBzYkEwYVJPZ0p5RUdKbk1od2xoNnh5YjhDcTdBTG9nRDZhM21WMXlieFNENDQva01xMUJXcC9XbHVhUlFoZ1FLRkM4UkU4SzZjYzgrQzlsU0hpZllobWU5TmttY2dmdVl1b0VZQ1RHK0VZVUk0b1Y4SWUwaEdKbVN5dy9nMnJES0tzN1djTVVwOFpIU0NJNEFNdjc4ck5scXJXRHJCbmJKRHlLSUt4UmNycHA5L1FLdnhZSk0ydXlGMjZaN1FBSjViVWltdFJHTE1OK0hZU2ZQUmZ2emhCSU85bk84Ly9HTGh1VHFjTkd1TUd4bFpxUy9MYkVVREdpenBCbnFuQ3hJOTRmRXZHRHhEeWFiWmt2dUQyUk9qUGthbUVDcHFDWHZKYUtONWVIWGZIeS9MMnVOalUyQlhpWXRJdk80amdrU0F4R3k4VmI1TTdsSGw0QVF6eGZzRkxxODV0aExZaGtpUXloRlJOejFQcy9tYVJ4MnkvUDdlWnRFR0FlbWpwZEIvWWVwQVdjZkJsTm94NEF3UXE0bWJ4Rk9MMzdPd1VNc2JOMmlnSk5adkY4d0hENUxsSEkvdm5PTGhKdHdnSGV1bGh5eDNpaCszMkFrTFJMYzdvRHIrZmFGTnhUR0tsN05sRFMrWno1a1Nlend1WUpDc3pNVnptKzJta0RNbENhRDdvRXkyVllCVC9jWEh2TWlhM0JZSTlrcWhkakNKRDF0ai8wVWR0MlpFb3JRMFRiWmM3OTIxOXNGWVIrMEhUWVpSR0pJaGlTYk02SnI1MXlwT0pOclRSWTdJdDlRUkhoUjNiVU9od1ZXVkJLRzVMN1R4cHBBQ3RiTjd5aDVzOUM1R01KZ1o2blB1R3hhVEw2ZFI0OXo3cGpZNVpNK2puNWlhdmZqcWRvWXFtbURzOWkrQVVGSytIZ2czMjVPSE5XWldYWHljZ3dZcnFiTEhNTDdYMkVQY2MzanppZFprT1hvUlc0UHBsdFZRMEFOQVBEdlBXcGNuYkdNQ3FqcU5QdGhlTDBHcDg3VlhiRUhFNFRvbEdLVVZ2S2hUNGFkNHNISzZYYjlENGhoQTZKVE1pelZtMUVsdlc1dDhqNlVtSENyQjZ1TmxvL0FFS1Q0OFkvK2JYOVNwQ0R0TDhZL0paUGZRbVo5Qmo3QXNQd1JRa1Yya1gvK2xFak1SUzdYRmhVaW5laG53VENzVmlMbGpXZ0ZSdDZDbHZlamszNUJQT3dQMWNKYkZCTlZjbTAzWHRvM1dpSTFrZmtocEJOS1RQeXRQdXl0QnRLdTJ3NlRpSkdMbXA5VmRVQWNBQ2d4ZWcwUVJSbUxWbVc3VG04SDRnTmQzb0tGajdLMTMwZHlNVUhZQnFoTDhldjY0TkdTdGZEUnJWcFE2NDVSb09STmFNMGIrR2l5RmxDVzhMUlNtMjBFaG11bS93SFFvN2FoSTlmRFQxVzdUMnUzU3dabXl1THNNNlBwVWZScE1KcWhDckNWYlFOOGJrcy95Z2RrL1pnc0dBYituLzZ2MC9GQ0FHQVgvaG43WHF2TC9vS1ZhZlU5ZjhGcXRicTY4TC9PMjZyRm4ybjV2WmJIdFl3dUFvQlpSVjl0NE16b1BETjZ6b3lyQWlOV0I0WjZ1RHNIaElZQ3RJQjFOSHJJak1LWEpMTEVrUFAwODJKOXBIdnNEQW9Bb1VJR081VExGRFBFS1RRQTBONC8ycXVKcGIyc3hCeUpCQUJtbmhKYURPS3dvTjkxR2svNzB2aGRXeUhtY0xTWnBtK3k2ZURmQW9Gd0VVY3c4L1RSNW8zbENwa0F3T1FLMlA4N3p2emYiOw0KJHNfcnNfcGhwID0gIjdWVk5iK00yRUQzYmdQK0RsaFVRQ1ZVc3l5NndRRnhtTCsyeHdLSXQwTU1tRldTS3NnaExJc3VoYWkrYS9QY09SY25XT2s2eWFMZTl0REJpa3pPY3gvbDRmUG4yblNyVmJQcVZWeHFqNENhT21jejVmQ3ZsdHVKekp1dFl4WnZWMjI5MjExRHlxb3BuVTY2MTFLbm1TbW9qbW0yd0NOZXpLWENUR2xIenRCSzFNTTRtTjZtb1ZTV1lNR2xSdFZBRzFqcWIraWJUVzI2b0Q2a0d0MTRmclVENVFWV1lRa0E4RXZWR0crY3pvTWxxOWRZdTl4bHQycXF5UzM1YVFra0pCbU5hM3MvZi8vZ0RQUml1Ni9YN254SjZkZWUvLytXNzI2dDE3MGJiT3Q2SUpvYlN1eGJFQnRlVWRHVjZYWm5lamNkazAzQm1lSDdYa0M1dFVRUk10bzBKaGt4RFNwUHdqOWwwNGl2cUgrdVkrSmdHNlJZR01VV1QyODBqOXEwQ2ZnbGplWVlCSHhiM1BjN1JrdHdmQVRPMjZ3RzdsSXEyWVViSUp1VUhBUWFDSzhVYVU2V0YxTHVyc0VjV09UMVp1eUZNTUxLejArc2t4RWdUSkdPek15MEdrNUlnRGltT0dFUWVoR2N4UXlLWVhGK3V1eFVvR00yek9nWEpkc2dPNFBwM3JnTmltRUtTTGViZDU0Yk1mUlg1U0tsR2RqOFkwOTA2eFBhMGtpMjJES0tWUzhsblo5Z1pZMXpaRTBQRzZEYXlrbnU4RU5vTjdnSWtlZG8yV2MyRE1GcEVxeERMSUh2UnVHUW54VjRMd3dPZlJYNDl4NDZ6UFJZNko3ZWtBNXpzUzFHaFY3Mmh0TWh3akM3SXpxeXc0OEU0ZDY1cmx1YmJ0TTRNS3dNU3Mvek9Dejc4ZWdmM1g0ZXhRRDVqc1ZxSGZmekV6M09LKzM2OExsNUFtZ3Nkb0NzTVdUa3NlNzh2NlRnN1ozM3N2bnQ2R1MzcWNmbSs2a3ExOHlMZXc0UDNqUCszRnYyaHQ4R3U3dFpIUEEvdjR3ZGJPVjZINzJEKzlQSlI1NlRMc2t1bllKVUVmbXpNc0hVRHNpY3MvSlBXdThOK0RqVFRPdnNZTE9pdFd4QWxGQ2NSMFNTTWtuUGpIbzNMQzhZZVRXbXF0R1NwVkx6QkRNb0k4WEVRUWprLzl1d045bHh6a0sxbXRsYWN6K2hKakttNHFaQnZWdk5zT0Q3VGFQSEtrZVQxSTh1WGo3REI2emhvZER1d3p6NStMZ3ZiNDRjSHQzSlhodUZvakw3TyttYmFEdmM1OVJmM3JEcmVXNkhlQlJnUW9jRGlhOHdpcTZ3blpvc21QU0hwN01SaVFRdEV5RHM3ZzRHcncyRDdWdmtpSE5QMUU3d2hyWXVnZy9NcE1uc1ZkUGtTNlBLelFCL1ArRHRpOXJCMEZYNjZUODcyUTdjN0tnNTJQVHlIMDc4SEo2Tlc1QWNaTGF6SU9mS1duWUR3QnYrT1l2ZzMxQTcrb3RyQmYxN3Q0TExhdlNCdjhMKzhYVG9DcjhzYmZLYTh3UmVUTjNoR05PRGZsVGY0SitUdEhQUTVlZnNpbXZidTlrOD0iOw0KJHNfZmF2aWNvbiA9ICJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQVFDQVlBQUFBZjgvOWhBQUFBQkdkQlRVRUFBSy9JTndXSzZRQUFBQmwwUlZoMFUyOW1kSGRoY21VQVFXUnZZbVVnU1cxaFoyVlNaV0ZrZVhISlpUd0FBQUtZU1VSQlZEakxuWlBKVDFOUkZNYjVHMXdESFY1Ym9OaXFkSHJ2RllvbENBdHNHU1NXS3BNRktoWXFsREk2b0FFS2FWSndDSWdTcGhhS3RMWVdDZ1NOQmdSak1OSG94c1NGUzNjbUptQTBOTVR3K1I2SktLWmw0ZUpMN3NtOTUzZk9kM0pQSElDNFdNcGNwcEc1U0duWmM4WmpWVkY2UUxuOTc1c0RnZmFabXZnNzFvUkpaSVJVWWN1QW5xLzJLV3JvR2ZtM1F3RW4yWXBMVlBQdk9EMm9pcWo5eXEvbUd6bmVnbDU2bXg2VDdaYlkxTTZZQU0wQ3Vaa3hUMGIyV2c2UVcvU3NBcFJYRHNvdFIrZDZFOVkvaDlEdXFvQ3VKcTBsS29EeHFVMS9wSVRHUjI3bUJVNGgrR0VjVHo1T1krQ2xBNUpieWFoWXpvZi85VEJPOUIvRmNXY3FwQTR4VTNXZTNHSjg3bnRuZk81bWVpbk12cnVObnFjbVhBMlhvRFZjQ2Mwd0NZa3pCYVpwQTdJTFJKLzJPMkI4N2pBK1FUOVVlRFJlOHN2WllBRzhiL3R4YzZrYzltQSt5cWF5WVBRWHd2ZG1CRU9yQTVCMnAwQnRGSVlPV0tDbTVSdWtXd1p5WEliQSswRjBMcGFpS2FCSG1Wc0x3NHdlOTljY3NNOGE4R0NsRjVKT01jUWRvdThwclVMcmdSbVFvN0tJMFZjRTEzTXJHdjA2bEU1a29kaHpHdmRXdTJHZEtrVFZXQzREY0VMY0prS3lYYkNiMUVoQVZNLy9NMERWVU5xUDJxQUpkMWJhVURhWmpUTVRlWEF0dHNQaTBjTTBtZ3ZIdkEwTmt4WWsyUVJJcmllT3NEbUVtWHR0SDBEZlZmU2x1U1RvV21wRDhiZ09yb1VPV053NlZJN2tvR2ZPQnVxNkVxTExUTlU2b2pybVA1RDFIVnNqbXJrWWV6R0lybEE5TGpLZ25ybEdYSmxwZ2JDT0QwRXREMFFOTjhJM2NacWpBbGhKcjRyWHBCMWlOTGhyWWZmVVFXb1Q3eVVLemJ4cUpsSExxMGpjNUpZbWdITXVub2dLWUpWcUY3bVRyUHlmZ2t0TVJUTVgvQ3JPcTFnTEYzZllOckxpWCtCczhNb1R3VDJmUVB3WGdCWEhHTCtUYUlqZmluYjNDN2NzY1JNSWNZTDZBQUFBQUVsRlRrU3VRbUNDIjsNCiRzX2Fycm93ID0gImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBZ0NBWUFBQUJ6ZW5yMEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFFWUVsRVFWUll3OFZYUzB4Y1ZSait6N2t2NXRGNU1QZk9vMUFna0ZCS29RUHVGQXl4c3RLa2NXSGpHaE9qY2FjeHVqTXhhcXR4NDhiNGlERXh4aVp1WEJWZHRFVVJOMDBxREJNZ1RVT21uVEVNYysvY2U0ZDVjK2s5NTdnWkVLWUNkNURTYjN0T3p2K2QvLzBoY0FDTzQ3aGdzTDA3SEE1ZkRJZkRrejZmZnhRQW9nRGdibHlwTWNaeXBWSXBZUmo2RFZWVlowelRTQk5DeUdGdm80TU9NY2E4TE1zanZiMTlyOHV5OGlMR09BSUErSkEzS2FWVTFYVjlPcFZhL1ZyWDlRU2wxRzZaZ00vbmk1dzdOL2l1b29Tbk1NWkJPQUlvcFFWTjA3NjdlM2ZsczFLcHBEb2lnQkNDcnE2dWtmNytnUzljTHRmVGgzbkpBVmk5WHIrZFRDYmYxTFRjQW1Oc2IzaWJqWGQzOTR3UERRMWZFMFV4Zmd6R0FRQ1FJQWlkMFdoczh1SERyZmxpc1pqWmw4RHAwNTJqdzhQeGF6elA5Y0V4QTJQY0hnb3BFN1ZhN1k5eXVaUjdoSURQNTR1TWpqNzFneVNKRitBeEFXUGNIZ3dHaDNVOWY5MnlyT29PQVl3eEY0K1B2QjhJQkY5dTBlMDJBRkFIbGJFRFFSQTYzVzQzeldiWGYyZU1NUXdBME5IUk9hb280VmRiZVlneFptVXk2U3VaVFBvanh0aG1LNDZRWmVVMVdRNWQyTzR4M01EQTRBZGVyM2VzRmVQcDlJTXJTMHRMbjJpYU5pZUtJdkg3QTg4Z2hIaEhXWW1RV3hRbHRMNmUvWlVMaGVUZS92Nytxd2poVTYwWVgxNWUvcFFRMjJLTUVzTXdicmRLd3VWeXhRb0Y4MmV1cDZmdmNpZ1Vlc1ZKN0Jsam0rbjBnNnZieG5jMUhLTHJyWkZBQ0hrc3kxcmhCZ2ZQdjlmVzFqYms4T2VQR1AvM2ZJZUU3ZmNIeGh5UVFCaWpPaGVQajN3SUFISXJidC8vWG11ZTRIbUI1ODZlSGZnWUFLU2ovdnovZUFKakxQQUE0RGxvbmhTTHBlOVZWZnN4R0F5R2Q4ZDhZNk9nVWtySmRoOEpCSUlSalBGT1kxTlY3YWRBSU5nUkNBVGVPS0M4dmVqU3BaZnM1cGE4KzBNQVVHU003Um1ubG1YbFoyZC9tN0FzS3c4QUlFbVNNakh4M0t3a1NVcFRvdkVBNEQ4Z3dRa1BBSlhHcGYybVpRQWgxSnpCcE9sWEdDSFVqaENTVyt6T0ZXemJkZzZlRUd6YlhzZVZTbm54U1JHb1ZNcUxXTmZObTQyQmN0SWdobUhjeEpxV3UwVXBPZkV3VUVyVmZGNmJ3WVdDbWRaMVkvcWtDZWk2UG0wWVJob1RRa2dxdGZvVnBkUjB2R01od0tJb0taSWtSU1JKaW9paXBDRGtmSlJUU28xVWF2VkxRZ2poRzJ3VzgzbnQyMGdrK282VG5VQVF4TkRZMlBnTVk0dzJ5aElMZ2hCeWF0ODBqVzhNdzBqdWJFU01NVmFwbEpPUlNIUmNFSVF6RGlZWjRqak93L084bCtkNUw4ZHhIdFRjTFBiQjVtYjl6MFJpNGExNnZWN1pzeE5hbGxXdFZxdC94V0t4aXhqajBHTkplMEx1TFN6TVR4bUdmdjgvdCtKYXJhcHViVzNOeTdMeTdIR1RzRzM3M3NySzhsUTJ1M1puMzdVY0FLQllMUDV0V1p0elBwOXZVQkRFTThlZ0RXaTFXcDFiWEV4TVpiTnJkdzRVSnJ0SXFMbWNlbDBVSmR2ajhaN0hHTG1QVnV2RVdGdGIrenlSV0hoN1k2TncveWppbEpObHBTRk81UmN3eGpHSDRuUmQxL1ZmZG9sVGNpUjEzQ1RQdThMaDhQT3lMRTk2dmFmaVBNOUhBV0I3a1MzYnRwMnJWTXBKMHpSdnFLcDZ5elNOakJONS9nL0MzVUxEZUlkSXJRQUFBQUJKUlU1RXJrSmdnZz09IjsNCiRzX2RhcmtfY2IgPSAiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBOEFBQUFlQ0FZQUFBRHpYRVIwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFTZEpSRUZVZU5yc2swR0t3akFZaFpOSnFZdmlRcERLTE9jWTNzT0ZJRjVERkYwS2dqZVlBd2l6bUR1Tk94SGNGckdsamU5cEExS2JOT3FzaHZuaDJZRDU4djZtNzVkeEhJZENpQWswZ3Q1RmMrMmdEYlFPOEROVFNrMUQxQnRLU2lrb1d4VkYwVTdUZEo1bG1TSThCdGZDQVJLc29GeXcxcG9lTGNCandsMGFFZ3FDd0FtYTRuNXloQytBY2VTenFkRDY5UkFEK3pqZWRTQmVxSC80Q2ZpQTc0YmdhRytvM0h4UVVSUjFzT2dqbnFwTUR2KzBpa1pKa3B6eVBQOWt3bGJJYVFnTnNPNTVHTytoYjJocDN2bkkxSGwyWFpUN3hlK1BKTmJXWVdnY3lhbzdMK3AyMmg0YXllcGhkeVBKVmwzditqRmN1aE5tZyt0QWF6eHZOOXRBODZtODNINitGbTVuM21wZDQ5c1NsRGFZTjNqSmI4V0Zhek15MnJmdHVqYi95RWllQlJnQVpIRy9PZUdlZjZNQUFBQUFTVVZPUks1Q1lJST0iOw0KJHNfYnJpZ2h0X2NiID0gImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQThBQUFBZUNBWUFBQUR6WEVSMEFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFCUDBsRVFWUTRqZTJUc1VvRFFSQ0d2NW05M1JSQkxCSVFPL05PRmdISmE0aWlaVUR3TlVTeDhKMHM1U0NGa2tKeTNNNWFKQmZ3THJtN29JM2dEOHNXTzkvK08rejhrdWQ1QUM2QkMrQ1VicjBCajhCOUJsekhHSytLb2dobXBpa2xVa3A3U1ZVOUNpSGNlTzlkQnN5S29oakVHTVhNTUxOV1dFVFV6QWJlKzFrR2pNMU16SXl5TEZ2QlNtWW13RGdEU0NsdEhjMnNFMWJWOVY3QmZSd2JseHhNL01NL2d4ZXFta1NrTnlRaUNWZ284QkJDV0RubmtvaWdxcTNMT1plR3crRUtlTXFBTys5OThONmZBeWM5akhQZ0JaaFhQWDhDM1hPNWxtM3ErZjFJeGhoM1FVQ1BTTmJkUmVSYjJnNktaUDJ5UmlSampLMjl2ajdmTmx1cE8vUUZHL0N1NG4wZ3JMK3FsOXRrT205M0ZoRjJQZnhzQTliUHRyQ3FJaUpJeldVeW5WTkZwaDRkeWZQOGZibGNIcGRsU1RVa1hWSlZScVBSeHgrTjVCZkQ1T0Z2WHRMOWpBQUFBQUJKUlU1RXJrSmdnZz09IjsNCiRzX3N0eWxlID0gInJWYkxqcHN3RlAwVnFxaFNINEFnU1RNem9INUNsMTFWWFJnd3dScXdrVEdkWkJEL1hqL0JnSk5wcGJFM0RybSt6M1BQOVplaEpKZ0ZKV2hRZlUxK1pqMW12ZmVEWU9KM2tLSXlIVE5TWEljTTVNOW5TbnBjSkx0SXJsUmU2OUFyVE9KOWUwbHpVaE9hN0VxNTFKOHZFSjBybGh5NThGalJJU08wZ0RTSjI0dlhrUm9WM200dlZ6cUN3ZHcreTBQSzRJVUZCY3dKQlF3Um5HQ0NJUmRMS3ZJSDBtRnBhbXdwSEZwUUZBaWZrOGg3NUw2TUphSE5VS0N1cmNFMVFiaEc0am9EV1EwOVZ2bnRrUGUwNHlvS1dJSytadW00YXdEQ2l5Qmp1ZEtnSWErQmNqeWdvRUI5bDhRUnQrRDQ5SUlLVnZGajlERTEzdkM4S0g5MkZRUmNmcEJ4Z1JxZGNWTERrcVVOb0dlRWsyaTZFVTJ5SGl1R2UzOVg4VEJYWUM4YzRQbk9uaEVMR0FXNEV4bElLR0dBd1U5QmZBZ1BEd1U4ZjFieDNCTzRiOUlEZmdndkxVOC9yRkhIVkQwOHNLN0lyb0c0ZDZYVGFQZEVabzR5TXhSMnZBVERmeVI2aXlNREcxSG5vRktvaTA5Q2RPdUNkaFhJTlR1a2dHT0NQcHJDaFNKMGhFdWkwUnVJc3JsTWEwVW5TNG1JVVNpV25paE5MS3M3ajlGQis3Z1hLZUFaWkNnSHRjWkZnNHFpNW1nTnorREtzMjNqWFp1eWUrdEI5SllVZXBmcTE1QXhIbVRYZ2x4SHdMV0xZalpvVWM3OWs5anB2M1N0UStXS09kN0Zjd2Qramh2NGlDOGJnTSsxVm9GcWtySERQWnpFdnUzb1czN08vNDhod20zUFh2MndwYVJwbVIreUN3TVVBbGUzYUtCSEpvcU1NRVlhRzMySEo3SHZVN0VGUjI1ZW1SMjJHREorV0RTbVVYcDRpT1JWNVhuV3MyRmxiK0g2azloclpOeWsvcW4vSkJrWWJoa2NYQ3JLRk0waW5IVGNRMklTNFB4NU0yL2F1czBYcmw1a3BFMVhrMlZXWDIyU3VPZ1FaY0hjUGswZ20rNVRCOURpUjdFL29LWWxsQUhNSjFQWXdZYlA1Q3VheHBrTTAwWFRvZUFwVDA0NU80SExGampkSlZDdFZ1WGFxSDdVMVJmS0s1L0h2ZlhZd1VsSy91MGFhTWxxYncvSEhHSk9HamF1djYxeGxvdTlacGZUcHVXdEwxc1hYR0V2NWtBY3piRlBVeTZYUzlBdWdpOGxjbWI3WnJqV3dGR1FOMHIrSlZlT3hOdm90UWZQVW5uT0U4bFRPajJUNG5nbXZXdEdMdTh6Zm0rbjhiZzBKNnA5TTlhalhHc0cyUUxlTXgySkNVUGxBcFRta3RhaEg2eGJZS3hScTQwY0Z2RFh2bnY3MmRpTUJhMTZERXRDMlBLQlI0VmFHOElpZVk1cHFEV3RDR1A5YlBCVjV2akpSdHNvT2ZrWHU3YndlMTdCL0ptTC9BN3pyZ3ZNTCsrclY0TU0xdktqUEJrUXFLZU1mRG1hSjVOb3N1V3JPY2hxa2o4dkgxYkxWZ3dvYkNGZ25KYjB5ZjZ2SlIyUzNNeXJkZU9obzUvaUxVR3k1ZCtPS0pFSFdEZ2ljMXNPcE1lcWkzM05OckU1VVA5Tmcwdm1IZjhDIjsNCiRzX21pbWVfdHlwZXMgPSAiZFpUaGRxTWdFSVgvN3puN0R2TUMyalo2MnQzSG1RZ2FHa2VwQ0RGdnZ4ZU5pczMyeHgzaHV3TVltVWt3U3ZjdlJXTXRJZnorRmJiNUNlQzBnc3ZwL1kxaVNFQVJRWkdBTW9KeUJaOVdOL1JwbTdBRG9VV05yRXcrVDdUSWJtZUpMZW1oZ05DVXU0RWRIMkVla0x3aDQ3U2QwRGNOOWZ1Qlg5NVUxOUdJcHErUnBOOTQ2RlN1ZEtYeml5SWZMbEM0UEhuU24wMnI0VW4wNWNtM2NhMk5ubjN5WFBSYzlOeVROMCtqRlhWOHBYRE82M2dtQmltdncwaFFpdUpIOEVOTE1ubVMwaDhzbDltVzc0Tm1kYzlGSzhPNXZRZUMwaXljN2ZQNGtYM3c4VVVPV3dRVGVrSlkyVTJmaFdKWXdaVFZ1Qm9vQWEwaEtBWElhSk1NaWJlWkxoRWVoOTVkbWVRSzUxb29CSmZZSGU2NGF4TGdNblkxTFpvT1BQUm5nZzdzaG5lV2J5UUFoVzlzQWp2dWRndGc0Y0NXVytPUS9FRFhtQXhGWlRUTk1URndqSXZIc0ZlbWYyRmxLeUhFRlp6Wm1ZcllrK3ZVeXNRb1F3ZzBENjQ4MENCbU01ZG00SDIrdEFDK0hMb1Vpb01DallCbnNXVXR6Y0FVbjg1T0szYUZFTFJOVFhzbGhIVysxZWs4Uldsd0xBOCsyS1l4STdmWnpYVEtrZTZQYXdjbTZJQkdSOUEzRkpzUGo0dEtlZXNyM1kxNTZFMmxxUTAyOWY1YjJJekNQaHpXZVQxd2poL1EydkxQNnl0dG94K1NQc3FQUjFJYy9aRDA5MzNkS1k3U3BNRllnbGEwZHNyMlNsUEdqTHZtS2dHbVJnR2JXWE5JdklwcmduWlF0MWdldzQ2U3RrbU8yZjRSQ3A5QTFES2psbms2TW1IVWZMTFlkaGsrYTd0YytjQkN3dzhtYnNBM3BrTngyajNoeG1ncjN1cDlFcHJrSHc9PSI7DQovLyBodHRwOi8vd3d3LmtyeW9nZW5peC5vcmcvY29kZS9icm93c2VyL3NvcnR0YWJsZS8gLSBTb3J0VGFibGUgKGMpIFN0dWFydCBMYW5ncmlkZ2UNCiRzX3NvcnRhYmxlX2pzID0gInZWaHRiOXM0RXY0ZUlQL0IwWFVORVpabE8rMTlPTlBjWU5NWGJISGQ3Z0ZiM0g1dzNJS2lhRm1KTExrU25Xek84WCsvR1pKNjgwdlc3ZUcyUUdPK3pUUERoeHpPak81NTNsbXdpNkYzeXk1RzlQeXN5SEtsZUpCSXRwSGorVG9WS3M1U2wyeDRIcTJYTWxXRkwzaVNTT25IVDAvdS9pQmJlSGZkcmtna3o5K25TdWIzUEhIdmlCZG1RaS8wUlM2NWttOFRpYjF1dHhxUHBMS0R4ZlhqSng1OTVFdlo3YnFWTlQ1bmc4L3VUWGdUWHBIcHplREc3ODkyZXJwTHJ2VGZGd012Y1ovRmRoME42eEN2MmlNbm0vN29nbkZmSkx3b2NKRmZ3RGJFd2gzY0JHZ0lDdHdFQTlMdDFtYmRnZGlXRUxMMTdzWk5wQ0VEb0NPS0Y1S0hEdkVUbVVacUFadUVBWGFZb0dxeEI3OCtYNjFrR3I1ZXhFbm9jai9QSG9ycGNFWTg3c2RwSVhOMUxlZFpMaEVOaHVaeFhpaTlsQkNhcnBNRTdWRS9BeGdvdEswL3N4RFI0VWJFYzNkVVNXdTExblN5UVI2Q1RLbHNpY05zT3FOZ2duc1BWeXBnUXhwTWVITTVEWG85WWhqV3RnZXpvMHdiVE1PMTIxWXliWGN0OXF3R0pSUU1iaThpbTRxQmQxbW1rUEo1ZHB6eU9heHhrTmNtNFRBS1RPTDJ6TllPbXFHM0NDdGJranYybzRXaFRLU1NuZmJNRmxtSFJvdHFPQU5meUNRcEdxcnR1cVpPMlBLRkhXN3p1dVNxcGxWZjJTOXBobTBrbDJ6Y0pVeXpVeVhkS2UvL1o5ai94NnhIdEhpM2UzN21admN5eitOUU1vU2FqbUIzRGJpVkh1MTJuZEkzSE1iVTQwcG04MDRGTzNXdytjWHBsVWl6cTJmbXhyWHYzYnJjQzFycU1oWTB1d0twdk03Q1dDS1BGTytsYUd6V2s2d0crOG9hangzUWlSZFZMZUxpNkIwMWxHQkxocHFOR2l1WFlHMkJyb2p5Nkx4Tm5GM1lYSzRTTHNEdGRsRWRiMi9vaTRWMkxHZ3VsOENNdVdjSDNydnJ4L2ZoTHU3OElZeFQ4RzdpWVEvd29IZlVGNG9WVDUzbVNqOE8yUTZnbVhBOEV6dktaV2txODU4Ly9mS0JPZDAwS0ZhMCs3Yy9MdjkrL1lvNnh2QmRCekZpaE1xa2tKMXZwYjlrNWY5ekRCWG4rOGZ4UHh5RFpjMGVnem1VVTQ3QnJEeHdEUFpjVzRzT0g4TGJZNGRneE13aGJGVDVIT21sSzU2REpSK3pVTkxFTGFkOGdhSTRXTURwTjhPZkRoZ3BUSHdDWjljUnArYWRmeVBwK2luK1JuRXRCb0dadW9mWVBkRkJUSnkzWE5ZRXRFNjdTWnQ3eUtGT3ZBVkdsM1dlWjNTVmZ0Syt2RDNtZFBZb29DZGZMSHJLeGFJSEw5YjUyZTdWb3M5ZUxiZzFYM2llODBkTUZrU1dtTnVWVVowL21FM3B1RmNsRWh4Q0hwODBZeXlIZUZmQlRLdFdsUWxNNnhjZ2RIVU01VGFHVGtFaEpFeDJiRlliNDZPSWVTZFd3RzFnTGRGR1ZBYTAxR2dyVk5EYVoyMFVuK2xBYU1OOE5iN2RZbTRpZkI2R2IrK0Ivdzl4b1NRd1NmYUhYRWNrc2JoelBPbmRXb2VVL2h4U2J2akxVdEJOaFI5QUYvNnlEZHh6cENwaTBQTzFISTFncnRHSE5aN3dzMVIzd0I4amlJZXNHb0RFSnBvQzhJeEpXZzJ5MVJiK2ViZU50QmFpclU3NTVpbHJGQXArVWgyV0FLN0VwQmwwV3dtZ01KbUtrbjhvMWp5a1BZR3BLRThNc2lWd1pZZ0ZJS1BqTWpiSzNPUnovMnA2c3g0Tytjc1grdWZWRFBxaDU4OTZQMXk5Z0ZDUVM3WE8wOW96L0JUNVgyVkZFWUlUc0FaVW84NkFyRWduend5OHNKQlF4RlFDK2t3TEtUSndxUDNKUzVONWppNG5XbnhmZVdTbkRjTCsvSkphYmhzaTIyMWoyVHpkZW1HcnlzQzBqMXNreDZFTFhyeFBWMnRWc0FQNTF1Rmt2OXM5VmdURWlGU1ZLV2c3bnNQNUdSeFdyQkpaMm0rN2VuNmRobkllcC9EMlhOUmFrZVhYR2RTQ1dPOWRWQ1kyNU9zRjFZTSsrSHhUOUo3Zy80dEJoRS81Y1hqOUZIMENpTVBnMWZSM1FLdWpxT3Bad09JaHhqdFZCMEN5RVJ6U21wZGpWR1Y0TGVPakRtTXErNUE5eVB3MUxISkpyUVZxNTdVOHJrWmp2aHBYeXhIdTN5ZUlqTWJtWnpTdWl6WEg4VXJmcldONjAyMkRYc3ZsMFdmcmhlQ3U4TEliTzRMajJvRml2azdVdUx5djhMcllLTis2MUtsOE9MV2F0RXVuOW5lL0dMUlZVM3UrUDZMRENWUUtRYjlQMmtWZWlkZW8wZXpRMWt0M0hrTE96U1B3THNtNGNybCt1c3FkVHo5RGxlVDNaMmJqY01VZ1NuOTBPY2R5RnVTR2hBWkJVem80UVRvSVVCcmtoaFhYblBlRFlPc2xPNWFWc3dqYXVscU1CWHRqVjhQeC9zTEpnWFhuWi8zUmVMVDFvaDF0dW9MVUVQdFBLWDAwVmVITEdWMmExdVdNaG1XbFNDRkxYTmFmUVpiTUdUcTlKY0hoc0I0TzlUQ2tEcUVhc2NmZXNoZFNyVEw0UzFSZVdwV1dVN1NCd1Npd0JzMEp0Z3dyeSs5akpheE1YUDVWckh5dlNpajF2NE9YZkllWFJxYmdZUzVmZXFRWHNRV05hTDBnWXJmZW5FRUtOcEcwMTV1VDRTUUFKNXZQUFBqVGcwQ01TUXdyQjJiTWpOcEpGaUVjcEUzOVByN3VGeEVKSU8yOTA0L0JISEtjK1krQzl2dUErV09OMlQrSTJSK1ZreVVtUElhUUZ0RXFvZDVOM0JyZk5QZHp1amUvL21JajNZZU1oOUpXYSthUWRLSUgxZzUrbDhFL1l6V0lJY29VeWszNWZSeHhsZVgrdXBENVR4SElFb0lFM2JGQ3F1b2JhK1BqeFNEUjJFOGlXNjd3Q1JzWW9Nb3NvQ0o4L0UxQnp0TDZrZ2srdnZWR1Evemk5d0NwT2xSM1dZcElqWFJFNmpRelpTTmFxdXVzOE1VMlR6VGt4UGhKbUxrbWtjNGVZTXR2ck5Lbkp6MFd0cnJFRmpxL2EzVlBUMFl0OFNXU0JqWGZLdGV0Tnlac3NLOHdWS2hzOWE4OFczR2dCTlN6bk5pdk9obyttRUpvaG5nNzg2USthOW1KMDQ0Z2VtN0J4QlFtVEJ1TVpvemQ0bnZLYnV2UXRhMjI5UlY0dEpVOVR1bXd5bTdyK2J5Y0Z6eUZSUFY2SGVBWDg4WDJKMTBpZ082M1hDeUFqVmFmTlYzQkUvVmRseERlNUtSMEJpb3gzdW92NnE2QTI0ZmI4ZkFyTTV6TU80c0EzR1FxdzczK09UaVN3RWtqeGFsU1FsUHdsRWlncU5zOW9KZitwdkk0alk0cWF1MFI4b0ppbGNSUVdqWS9yVXN2SXBzS0ducDZQOXY2R2lYbWRZRHJiNitUWUw4R3QxSW85QWdPT3lnVUVnMDJsd3dRd2NxbUtZOXdZV25GUVlGTk5lMEczbjBXaDUwcWttNmRRdSt4a1MxZkNXYjJQWGJTOVRLUWVUT1RycDVLd2ZUdXlWYlVCSGdWT3J3VC93VT0iOw0KLy8gaHR0cHM6Ly9naXRodWIuY29tL2RlZC9kb21yZWFkeSAtIGRvbXJlYWR5IChjKSBEdXN0aW4gRGlheg0KJHNfZG9tcmVhZHlfanMgPSAiVlZKTmI5c3dEUDByaVE2R0JBak9ldGdsaGVCRDE5dUdIcnBia0FLYVJGY3FaTW1RNkhTQjUvOCsybW0rTHBiNXlQZjRTR25kRHRHZ1Q1R0RSREhpc1lmVXJycGtod0JyeFlab29mVVJMR3RPV0ExLys1U3hLT1JpKzFWOUtsR0tuYlZZVmQybGF0MVpTcWMvSDJDUU5TZVFJd2s0WDNhd244VW16bXpxTW1oN1pQSnFTb3puLzFVL1IwNDlQSDQ2SDRDRHdybzQzeEpYQVBFUE9xOVE3Zll5eXF6V0Q5SXJtOHpRUVVSWmxLL1B3WE9BQlV1cUVQWnFjZ3BCRG9yOWVQbjFsQ0pTNm1mU2xnYVdXakZ0N2ZOaGhueWhER1J5Um1QRXhXVkJqV0NjanUvQVpGQnNBVjlua0VtalVyTjVDNHZRdnplejJWNENzNUZPbVJxaElQZTdzQmVQR1hESWNlVjNlbDlWODVjUE1xckxCc1RvNnd4ZE9zQ2RrN2xJWmlGN21udytFM0ZyamFpTlcrcDRleSt5SVJjM1hhdUswMHJncm53UkU1T1FRTzR2MUNqR0FxRmRLMHg5NDVvNFgzdmREOFZSWm52VEFQTnh2RzZVc3dBdE1qRVpqY2JSVlk5Zll4YkEzNzZETkZETEt4bEliSkxmdjRrcHppOUJUTnZiRitBYXVIWUZNVTNpUHc9PSI7DQoNCi8vIG1hZ2ljIHF1b3RlIGFuZCBzaGl0IDotcA0KZnVuY3Rpb24gY2xlYW4oJGFycil7DQoJJHF1b3Rlc19zeWJhc2UgPSBzdHJ0b2xvd2VyKGluaV9nZXQoJ21hZ2ljX3F1b3Rlc19zeWJhc2UnKSk7DQoJaWYoZnVuY3Rpb25fZXhpc3RzKCdnZXRfbWFnaWNfcXVvdGVzX2dwYycpICYmIGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpew0KCQlpZihpc19hcnJheSgkYXJyKSl7DQoJCQlmb3JlYWNoKCRhcnIgYXMgJGs9PiR2KXsNCgkJCQlpZihpc19hcnJheSgkdikpICRhcnJbJGtdID0gY2xlYW4oJHYpOw0KCQkJCWVsc2UgJGFyclska10gPSAoZW1wdHkoJHF1b3Rlc19zeWJhc2UpIHx8ICRxdW90ZXNfc3liYXNlID09PSAnb2ZmJyk/IHN0cmlwc2xhc2hlcygkdikgOiBzdHJpcHNsYXNoZXMoc3RyX3JlcGxhY2UoIlwnXCciLCAiXCciLCAkdikpOw0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiAkYXJyOw0KfQ0KLy8gZnVuY3Rpb24gcmVhZCBmaWxlDQpmdW5jdGlvbiBmZ2MoJGZpbGUpew0KCXJldHVybiBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7DQp9DQovLyBlbmNyeXB0aW9uIGZvciBzaGVsbCBwYXNzd29yZA0KZnVuY3Rpb24ga3JpcHQoJHBsYWluKXsNCgkJcmV0dXJuIHNoYTEobWQ1KCRwbGFpbikpOw0KfQ0KZnVuY3Rpb24gY2hhbmdlcGFzcygkcGxhaW4pew0KCSRuZXdwYXNzID0ga3JpcHQoJHBsYWluKTsNCgkkbmV3cGFzcyA9ICJcJHNfcGFzcyA9IFwiIi4kbmV3cGFzcy4iXCI7IjsNCgkkY29uID0gZmdjKCRfU0VSVkVSWydTQ1JJUFRfRklMRU5BTUUnXSk7DQoJJGNvbiA9IHByZWdfcmVwbGFjZSgiL1xcXCRzX3Bhc3NcICo9XCAqW1wiXCddKihbYS1mQS1GMC05XSopW1wiXCddKjsvaXMiLCRuZXdwYXNzLCRjb24pOw0KCXJldHVybiBmaWxlX3B1dF9jb250ZW50cygkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10sICRjb24pOw0KfQ0KZnVuY3Rpb24gZ2V0X2NvZGUoJHQsICRjKXsNCglnbG9iYWwgJHNfc2VsZjsNCgkkYyA9IGd6aW5mbGF0ZShiYXNlNjRfZGVjb2RlKCRjKSk7DQoJaWYoJHQ9PSJjc3MiKXsNCgkJcmV0dXJuICI8bGluayByZWw9J3N0eWxlc2hlZXQnIHR5cGU9J3RleHQvY3NzJyBocmVmPSciLiRzX3NlbGYuInwnIC8+IjsNCgkJDQoJfQ0KCWVsc2VpZigkdD09ImpzIil7DQoJCXJldHVybiAiPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nIi4kc19zZWxmLiIhJz48L3NjcmlwdD4iOw0KCX0NCn0NCmZ1bmN0aW9uIHNob3djb2RlKCRyYXcpew0KCSRjID0gZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJHJhdykpOw0KCW9iX2dldF9jb250ZW50cygpOw0KCW9iX2VuZF9jbGVhbigpOw0KCW9iX3N0YXJ0KCk7DQoJZXZhbCgiPz4iLiRjKTsNCgkkc19yZXMgPSBvYl9nZXRfY29udGVudHMoKTsNCglvYl9lbmRfY2xlYW4oKTsNCgllY2hvICRzX3JlczsNCglkaWUoKTsJDQp9DQovLyBhZGRzbGFzaGVzIGlmIG9uIHdpbmRvd3MNCmZ1bmN0aW9uIGFkZHMoJHNfcyl7DQoJZ2xvYmFsICRzX3dpbjsNCglyZXR1cm4gKCRzX3dpbik/IGFkZHNsYXNoZXMoJHNfcyk6JHNfczsNCn0NCi8vIGFkZCBzbGFzaCB0byB0aGUgZW5kIG9mIGdpdmVuIHBhdGgNCmZ1bmN0aW9uIGNwKCRzX3Apew0KCWdsb2JhbCAkc193aW47DQoJaWYoQGlzX2Rpcigkc19wKSl7DQoJCSRzX3ggPSBEUzsNCgkJd2hpbGUoc3Vic3RyKCRzX3AsIC0xKSA9PSAkc194KSAkc19wID0gcnRyaW0oJHNfcCwgJHNfeCk7DQoJCXJldHVybiAoJHNfd2luKT8gcHJlZ19yZXBsYWNlKCIvXFxcXCsvaXMiLCAiXFwiLCAkc19wLiRzX3gpOiRzX3AuJHNfeDsNCgl9DQoJcmV0dXJuICRzX3A7DQp9DQovLyBtYWtlIGxpbmsgZm9yIGZvbGRlciAkc19jd2QgYW5kIGFsbCBvZiBpdHMgcGFyZW50IGZvbGRlcg0KZnVuY3Rpb24gc3dkKCRzX3Apew0KCWdsb2JhbCAkc19zZWxmOw0KCSRzX3BzID0gZXhwbG9kZShEUywkc19wKTsNCgkkc19wdSA9ICIiOw0KCWZvcigkc19pID0gMDsgJHNfaSA8IHNpemVvZigkc19wcyktMTsgJHNfaSsrKXsNCgkJJHNfcHogPSAiIjsNCgkJZm9yKCRzX2ogPSAwOyAkc19qIDw9ICRzX2k7ICRzX2orKykgJHNfcHogLj0gJHNfcHNbJHNfal0uRFM7DQoJCSRzX3B1IC49ICI8YSBocmVmPSciLiRzX3NlbGYuImNkPSIucGwoJHNfcHopLiInPiIuJHNfcHNbJHNfaV0uIiAiLkRTLiIgPC9hPiI7DQoJfQ0KCXJldHVybiB0cmltKCRzX3B1KTsNCn0NCi8vIGh0bWxzcGVjaWFsY2hhcnMNCmZ1bmN0aW9uIGhzcygkc190KXsNCgkvLyRzX3MgPSBodG1sc3BlY2lhbGNoYXJzKCRzX3MsIDgpOw0KCXJldHVybiBodG1sc3BlY2lhbGNoYXJzKCRzX3QsIDIgfCAxKTsNCn0NCi8vIGZ1bmN0aW9uIHJhdyB1cmxkZWNvZGUNCmZ1bmN0aW9uIHJ1KCRzdHIpew0KCXJldHVybiAoaXNfYXJyYXkoJHN0cikpPyBhcnJheV9tYXAoInJhd3VybGRlY29kZSIsICRzdHIpOnJhd3VybGRlY29kZSgkc3RyKTsNCn0NCi8vIGVuY29kZSBsaW5rLCBodG1sc3BlY2lhbGNoYXJzIGFuZCByYXd1cmxlbmNvZGUNCmZ1bmN0aW9uIHBsKCRzdHIpew0KCXJldHVybiBoc3MocmF3dXJsZW5jb2RlKCRzdHIpKTsNCn0NCi8vIGFkZCBxdW90ZXMNCmZ1bmN0aW9uIHBmKCRmKXsNCglyZXR1cm4gIlwiIi4kZi4iXCIiOw0KfQ0KLy8gcmVwbGFjZSBzcGFjZXMgd2l0aCB1bmRlcnNjb3JlICggXyApDQpmdW5jdGlvbiBjcygkc190KXsNCglyZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXkoIiAiLCAiXCIiLCAiJyIpLCAiXyIsICRzX3QpOw0KfQ0KLy8gdHJpbSBhbmQgdXJsZGVjb2RlDQpmdW5jdGlvbiBzcygkc190KXsNCglyZXR1cm4gcmF3dXJsZGVjb2RlKCRzX3QpOw0KfQ0KLy8gcmV0dXJuIHRhZyBodG1sIGZvciBub3RpZg0KZnVuY3Rpb24gbm90aWYoJHMpew0KCXJldHVybiAiPGRpdiBjbGFzcz0nbm90aWYnPiIuJHMuIjwvZGl2PiI7DQp9DQovLyBiaW5kIGFuZCByZXZlcnNlIHNoZWxsDQpmdW5jdGlvbiBycygkc19yc3R5cGUsJHNfcnN0YXJnZXQsJHNfcnNjb2RlKXsNCgkvLyByZXNvdXJjZXMgJHNfcnNfcGwgJHNfcnNfcHkgJHNfcnNfcmIgJHNfcnNfanMgJHNfcnNfYyAkc19yc19qYXZhICRzX3JzX2phdmEgJHNfcnNfd2luICRzX3JzX3BocA0KCSRzX3Jlc3VsdCA9ICRzX2ZwYXRoID0gIiI7DQoJJHNfZmMgPSBnemluZmxhdGUoYmFzZTY0X2RlY29kZSgkc19yc2NvZGUpKTsNCg0KCSRzX2VycnBlcm0gPSAiRGlyZWN0b3J5ICIuZ2V0Y3dkKCkuRFMuIiBpcyBub3Qgd3JpdGFibGUsIHBsZWFzZSBjaGFuZ2UgdG8gYSB3cml0YWJsZSBvbmUiOw0KCSRzX2VycmdjYyA9ICJVbmFibGUgdG8gY29tcGlsZSB1c2luZyBnY2MiOw0KCSRzX2VycmphdmFjID0gIlVuYWJsZSB0byBjb21waWxlIHVzaW5nIGphdmFjIjsNCg0KCSRzX3NwbGl0ID0gZXhwbG9kZSgiXyIsICRzX3JzdHlwZSk7DQoJJHNfbWV0aG9kID0gJHNfc3BsaXRbMF07DQoJJHNfbGFuZyA9ICRzX3NwbGl0WzFdOw0KCWlmKCRzX2xhbmc9PSJweSIgfHwgJHNfbGFuZz09InBsIiB8fCAkc19sYW5nPT0icmIiIHx8ICRzX2xhbmc9PSJqcyIpew0KCQlpZigkc19sYW5nPT0icHkiKSAkc19ydW5sYW5nID0gInB5dGhvbiI7DQoJCWVsc2VpZigkc19sYW5nPT0icGwiKSAkc19ydW5sYW5nID0gInBlcmwiOw0KCQllbHNlaWYoJHNfbGFuZz09InJiIikgJHNfcnVubGFuZyA9ICJydWJ5IjsNCgkJZWxzZWlmKCRzX2xhbmc9PSJqcyIpICRzX3J1bmxhbmcgPSAibm9kZSI7DQoJCSRzX2ZwYXRoID0gImIzNzRrX3JzLiIuJHNfbGFuZzsNCgkJaWYoQGlzX2ZpbGUoJHNfZnBhdGgpKSB1bmxpbmsoJHNfZnBhdGgpOw0KCQlpZigkc19maWxlID0gZm9wZW4oJHNfZnBhdGgsICJ3Iikpew0KCQkJZndyaXRlKCRzX2ZpbGUsICRzX2ZjKTsNCgkJCWZjbG9zZSgkc19maWxlKTsNCgkJCWlmKEBpc19maWxlKCRzX2ZwYXRoKSl7DQoJCQkJJHNfcmVzdWx0ID0gZXhlKCJjaG1vZCAreCAiLiRzX2ZwYXRoKTsNCgkJCQlpZigkc19ydW5sYW5nPT0ibm9kZSIpew0KCQkJCQlpZihjaGVja19hY2Nlc3MoIm5vZGUiKSE9PWZhbHNlKSAkc19yZXN1bHQgPSBleGUoJHNfcnVubGFuZy4iICIuJHNfZnBhdGguIiAiLiRzX3JzdGFyZ2V0KTsNCgkJCQkJZWxzZWlmKGNoZWNrX2FjY2Vzcygibm9kZWpzIikhPT1mYWxzZSkgJHNfcmVzdWx0ID0gZXhlKCRzX3J1bmxhbmcuImpzICIuJHNfZnBhdGguIiAiLiRzX3JzdGFyZ2V0KTsNCgkJCQkJDQoJCQkJfQ0KCQkJCWVsc2UgJHNfcmVzdWx0ID0gZXhlKCRzX3J1bmxhbmcuIiAiLiRzX2ZwYXRoLiIgIi4kc19yc3RhcmdldCk7DQoJCQl9DQoJCQllbHNlICRzX3Jlc3VsdCA9ICRzX2VycnBlcm07DQoJCX0NCgkJZWxzZSAkc19yZXN1bHQgPSAkc19lcnJwZXJtOw0KCX0NCgllbHNlaWYoJHNfbGFuZz09ImMiKXsNCgkJJHNfZnBhdGggPSAiYjM3NGtfcnMiOw0KCQlpZihAaXNfZmlsZSgkc19mcGF0aCkpIHVubGluaygkc19mcGF0aCk7DQoJCWlmKEBpc19maWxlKCRzX2ZwYXRoLiIuYyIpKSB1bmxpbmsoJHNfZnBhdGguIi5jIik7DQoJCWlmKCRzX2ZpbGUgPSBmb3Blbigkc19mcGF0aC4iLmMiLCAidyIpKXsNCgkJCWZ3cml0ZSgkc19maWxlLCRzX2ZjKTsNCgkJCWZjbG9zZSgkc19maWxlKTsNCgkJCWlmKEBpc19maWxlKCRzX2ZwYXRoLiIuYyIpKXsNCgkJCQkkc19yZXN1bHQgPSBleGUoImdjYyAiLiRzX2ZwYXRoLiIuYyAtbyAiLiRzX2ZwYXRoKTsNCgkJCQlpZihAaXNfZmlsZSgkc19mcGF0aCkpew0KCQkJCQkkc19yZXN1bHQgPSBleGUoImNobW9kICt4ICIuJHNfZnBhdGgpOw0KCQkJCQkkc19yZXN1bHQgPSBleGUoIi4vIi4kc19mcGF0aC4iICIuJHNfcnN0YXJnZXQpOw0KCQkJCX0NCgkJCQllbHNlICRzX3Jlc3VsdCA9ICRzX2VycmdjYzsNCgkJCX0NCgkJCWVsc2UgJHNfcmVzdWx0ID0gJHNfZXJycGVybTsNCgkJfQ0KCQllbHNlICRzX3Jlc3VsdCA9ICRzX2VycnBlcm07DQoJfQ0KCWVsc2VpZigkc19sYW5nPT0id2luIil7DQoJCSRzX2ZwYXRoID0gImIzNzRrX3JzLmV4ZSI7DQoJCWlmKEBpc19maWxlKCRzX2ZwYXRoKSkgdW5saW5rKCRzX2ZwYXRoKTsNCgkJaWYoJHNfZmlsZSA9IGZvcGVuKCRzX2ZwYXRoLCJ3Iikpew0KCQkJZndyaXRlKCRzX2ZpbGUsJHNfZmMpOw0KCQkJZmNsb3NlKCRzX2ZpbGUpOw0KCQkJaWYoQGlzX2ZpbGUoJHNfZnBhdGgpKXsNCgkJCQkkc19yZXN1bHQgPSBleGUoJHNfZnBhdGguIiAiLiRzX3JzdGFyZ2V0KTsNCgkJCX0NCgkJCWVsc2UgJHNfcmVzdWx0ID0gJHNfZXJycGVybTsNCgkJfQ0KCQllbHNlICRzX3Jlc3VsdCA9ICRzX2VycnBlcm07DQoJfQ0KCWVsc2VpZigkc19sYW5nPT0iamF2YSIpew0KCQkkc19mcGF0aCA9ICJiMzc0a19ycyI7DQoJCWlmKEBpc19maWxlKCRzX2ZwYXRoLiIuamF2YSIpKSB1bmxpbmsoJHNfZnBhdGguIi5qYXZhIik7DQoJCWlmKEBpc19maWxlKCRzX2ZwYXRoLiIuY2xhc3MiKSkgdW5saW5rKCRzX2ZwYXRoLiIuY2xhc3MiKTsNCgkJaWYoJHNfZmlsZSA9IGZvcGVuKCRzX2ZwYXRoLiIuamF2YSIsICJ3Iikpew0KCQkJZndyaXRlKCRzX2ZpbGUsJHNfZmMpOw0KCQkJZmNsb3NlKCRzX2ZpbGUpOw0KCQkJaWYoQGlzX2ZpbGUoJHNfZnBhdGguIi5qYXZhIikpew0KCQkJCSRzX3Jlc3VsdCA9IGV4ZSgiamF2YWMgIi4kc19mcGF0aC4iLmphdmEiKTsNCgkJCQlpZihAaXNfZmlsZSgkc19mcGF0aC4iLmNsYXNzIikpew0KCQkJCQkkc19yZXN1bHQgPSBleGUoImphdmEgIi4kc19mcGF0aC4iICIuJHNfcnN0YXJnZXQpOw0KCQkJCX0NCgkJCQllbHNlICRzX3Jlc3VsdCA9ICRzX2VycmphdmFjOw0KCQkJfQ0KCQkJZWxzZSAkc19yZXN1bHQgPSAkc19lcnJwZXJtOw0KCQl9DQoJCWVsc2UgJHNfcmVzdWx0ID0gJHNfZXJycGVybTsNCgl9DQoJZWxzZWlmKCRzX2xhbmc9PSJwaHAiKXsNCgkJJHNfcmVzdWx0ID0gZXZhbCgiPz4iLiRzX2ZjKTsNCgl9DQoNCglpZihAaXNfZmlsZSgkc19mcGF0aCkpIHVubGluaygkc19mcGF0aCk7DQoJaWYoQGlzX2ZpbGUoJHNfZnBhdGguIi5jIikpIHVubGluaygkc19mcGF0aC4iLmMiKTsNCglpZihAaXNfZmlsZSgkc19mcGF0aC4iLmphdmEiKSkgdW5saW5rKCRzX2ZwYXRoLiIuamF2YSIpOw0KCWlmKEBpc19maWxlKCRzX2ZwYXRoLiIuY2xhc3MiKSkgdW5saW5rKCRzX2ZwYXRoLiIuY2xhc3MiKTsNCglpZihAaXNfZmlsZSgkc19mcGF0aC4iXCRwdC5jbGFzcyIpKSB1bmxpbmsoJHNfZnBhdGguIlwkcHQuY2xhc3MiKTsNCg0KCXJldHVybiAkc19yZXN1bHQ7DQp9DQpmdW5jdGlvbiBnZW9sKCRzdHIpew0KCSRubCA9IFBIUF9FT0w7DQoJaWYocHJlZ19tYXRjaCgiL1xyXG4vIiwgJHN0ciwgJHIpKSAkbmwgPSAiXHJcbiI7DQoJZWxzZXsNCgkJaWYocHJlZ19tYXRjaCgiL1xuLyIsICRzdHIsICRyKSkgJG5sID0gIlxuIjsNCgkJZWxzZWlmKHByZWdfbWF0Y2goIi9cci8iLCAkc3RyLCAkcikpICRubCA9ICJcciI7DQoJfQ0KCXJldHVybiBiaW4yaGV4KCRubCk7DQp9DQovLyBmb3JtYXQgYml0DQpmdW5jdGlvbiB0cygkc19zKXsNCglpZigkc19zPD0wKSByZXR1cm4gMDsNCgkkc193ID0gYXJyYXkoJ0InLCdLQicsJ01CJywnR0InLCdUQicsJ1BCJywnRUInLCdaQicsJ1lCJyk7DQoJJHNfZSA9IGZsb29yKGxvZygkc19zKS9sb2coMTAyNCkpOw0KCXJldHVybiBzcHJpbnRmKCclLjJmICcuJHNfd1skc19lXSwgKCRzX3MvcG93KDEwMjQsIGZsb29yKCRzX2UpKSkpOw0KfQ0KLy8gZ2V0IGZpbGUgc2l6ZQ0KZnVuY3Rpb24gZ3MoJHNfZil7DQoJJHNfcyA9IEBmaWxlc2l6ZSgkc19mKTsNCglpZigkc19zICE9PSBmYWxzZSl7DQoJCWlmKCRzX3M8PTApIHJldHVybiAwOw0KCQlyZXR1cm4gdHMoJHNfcyk7DQoJfQ0KCWVsc2UgcmV0dXJuICI/Pz8iOw0KfQ0KLy8gZ2V0IGZpbGUgcGVybWlzc2lvbnMNCmZ1bmN0aW9uIGdwKCRzX2Ypew0KCWlmKCRzX20gPSBAZmlsZXBlcm1zKCRzX2YpKXsNCgkJJHNfcCA9ICd1JzsNCgkJaWYoKCRzX20gJiAweEMwMDApID09IDB4QzAwMCkkc19wID0gJ3MnOw0KCQllbHNlaWYoKCRzX20gJiAweEEwMDApID09IDB4QTAwMCkkc19wID0gJ2wnOw0KCQllbHNlaWYoKCRzX20gJiAweDgwMDApID09IDB4ODAwMCkkc19wID0gJy0nOw0KCQllbHNlaWYoKCRzX20gJiAweDYwMDApID09IDB4NjAwMCkkc19wID0gJ2InOw0KCQllbHNlaWYoKCRzX20gJiAweDQwMDApID09IDB4NDAwMCkkc19wID0gJ2QnOw0KCQllbHNlaWYoKCRzX20gJiAweDIwMDApID09IDB4MjAwMCkkc19wID0gJ2MnOw0KCQllbHNlaWYoKCRzX20gJiAweDEwMDApID09IDB4MTAwMCkkc19wID0gJ3AnOw0KCQkkc19wIC49ICgkc19tICYgMDA0MDApPyAncic6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAyMDApPyAndyc6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAxMDApPyAneCc6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwNDApPyAncic6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwMjApPyAndyc6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwMTApPyAneCc6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwMDQpPyAncic6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwMDIpPyAndyc6Jy0nOw0KCQkkc19wIC49ICgkc19tICYgMDAwMDEpPyAneCc6Jy0nOw0KCQlyZXR1cm4gJHNfcDsNCgl9DQoJZWxzZSByZXR1cm4gIj8/Pz8/Pz8/Pz8/IjsNCn0NCi8vIHNoZWxsIGNvbW1hbmQNCmZ1bmN0aW9uIGV4ZSgkc19jKXsNCgkkc19vdXQgPSAiIjsNCgkkc19jID0gJHNfYy4iIDI+JjEiOw0KDQoJaWYoaXNfY2FsbGFibGUoJ3N5c3RlbScpKSB7DQoJCW9iX3N0YXJ0KCk7DQoJCUBzeXN0ZW0oJHNfYyk7DQoJCSRzX291dCA9IG9iX2dldF9jb250ZW50cygpOw0KCQlvYl9lbmRfY2xlYW4oKTsNCgkJaWYoIWVtcHR5KCRzX291dCkpIHJldHVybiAkc19vdXQ7DQoJfQ0KCWlmKGlzX2NhbGxhYmxlKCdzaGVsbF9leGVjJykpew0KCQkkc19vdXQgPSBAc2hlbGxfZXhlYygkc19jKTsNCgkJaWYoIWVtcHR5KCRzX291dCkpIHJldHVybiAkc19vdXQ7DQoJfQ0KCWlmKGlzX2NhbGxhYmxlKCdleGVjJykpIHsNCgkJQGV4ZWMoJHNfYywkc19yKTsNCgkJaWYoIWVtcHR5KCRzX3IpKSBmb3JlYWNoKCRzX3IgYXMgJHNfcykgJHNfb3V0IC49ICRzX3M7DQoJCWlmKCFlbXB0eSgkc19vdXQpKSByZXR1cm4gJHNfb3V0Ow0KCX0NCglpZihpc19jYWxsYWJsZSgncGFzc3RocnUnKSkgew0KCQlvYl9zdGFydCgpOw0KCQlAcGFzc3RocnUoJHNfYyk7DQoJCSRzX291dCA9IG9iX2dldF9jb250ZW50cygpOw0KCQlvYl9lbmRfY2xlYW4oKTsNCgkJaWYoIWVtcHR5KCRzX291dCkpIHJldHVybiAkc19vdXQ7DQoJfQ0KCWlmKGlzX2NhbGxhYmxlKCdwcm9jX29wZW4nKSkgew0KCQkkc19kZXNjcmlwdG9yc3BlYyA9IGFycmF5KA0KCQkJMCA9PiBhcnJheSgicGlwZSIsICJyIiksDQoJCQkxID0+IGFycmF5KCJwaXBlIiwgInciKSwNCgkJCTIgPT4gYXJyYXkoInBpcGUiLCAidyIpKTsNCgkJJHNfcHJvYyA9IEBwcm9jX29wZW4oJHNfYywgJHNfZGVzY3JpcHRvcnNwZWMsICRzX3BpcGVzLCBnZXRjd2QoKSwgYXJyYXkoKSk7DQoJCWlmIChpc19yZXNvdXJjZSgkc19wcm9jKSkgew0KCQkJd2hpbGUoJHNfc2kgPSBmZ2V0cygkc19waXBlc1sxXSkpIHsNCgkJCQlpZighZW1wdHkoJHNfc2kpKSAkc19vdXQgLj0gJHNfc2k7DQoJCQl9DQoJCQl3aGlsZSgkc19zZSA9IGZnZXRzKCRzX3BpcGVzWzJdKSkgew0KCQkJCWlmKCFlbXB0eSgkc19zZSkpICRzX291dCAuPSAkc19zZTsNCgkJCX0NCgkJfQ0KCQlAcHJvY19jbG9zZSgkc19wcm9jKTsNCgkJaWYoIWVtcHR5KCRzX291dCkpIHJldHVybiAkc19vdXQ7DQoJfQ0KCWlmKGlzX2NhbGxhYmxlKCdwb3BlbicpKXsNCgkJJHNfZiA9IEBwb3Blbigkc19jLCAncicpOw0KCQlpZigkc19mKXsNCgkJCXdoaWxlKCFmZW9mKCRzX2YpKXsNCgkJCQkkc19vdXQgLj0gZnJlYWQoJHNfZiwgMjA5Nik7DQoJCQl9DQoJCQlwY2xvc2UoJHNfZik7DQoJCX0NCgkJaWYoIWVtcHR5KCRzX291dCkpIHJldHVybiAkc19vdXQ7DQoJfQ0KCXJldHVybiAiIjsNCn0NCi8vIGRlbGV0ZSBkaXIgYW5kIGFsbCBvZiBpdHMgY29udGVudCAobm8gd2FybmluZyAhKSB4cA0KZnVuY3Rpb24gcm1kaXJzKCRzKXsNCgkkcyA9IChzdWJzdHIoJHMsLTEpPT0nLycpPyAkczokcy4nLyc7DQoJaWYoJGRoID0gb3BlbmRpcigkcykpew0KCQl3aGlsZSgoJGYgPSByZWFkZGlyKCRkaCkpIT09ZmFsc2Upew0KCQkJaWYoKCRmIT0nLicpJiYoJGYhPScuLicpKXsNCgkJCQkkZiA9ICRzLiRmOw0KCQkJCWlmKEBpc19kaXIoJGYpKSBybWRpcnMoJGYpOw0KCQkJCWVsc2UgQHVubGluaygkZik7DQoJCQl9DQoJCX0NCgkJY2xvc2VkaXIoJGRoKTsNCgkJQHJtZGlyKCRzKTsNCgl9DQp9DQpmdW5jdGlvbiBjb3B5cygkcywkZCwkYz0wKXsNCglpZigkZGggPSBvcGVuZGlyKCRzKSl7DQoJCWlmKCFAaXNfZGlyKCRkKSkgQG1rZGlyKCRkKTsNCgkJd2hpbGUoKCRmID0gcmVhZGRpcigkZGgpKSE9PWZhbHNlKXsNCgkJCWlmKCgkZiE9Jy4nKSYmKCRmIT0nLi4nKSl7DQoJCQkJaWYoQGlzX2Rpcigkcy5EUy4kZikpIGNvcHlzKCRzLkRTLiRmLCRkLkRTLiRmKTsNCgkJCQllbHNlIGNvcHkoJHMuRFMuJGYsJGQuRFMuJGYpOw0KCQkJfQ0KCQl9DQoJCWNsb3NlZGlyKCRkaCk7DQoJfQ0KfQ0KLy8gZ2V0IGFycmF5IG9mIGFsbCBmaWxlcyBmcm9tIGdpdmVuIGRpcmVjdG9yeQ0KZnVuY3Rpb24gZ2V0YWxsZmlsZXMoJHNfZGlyKXsNCiAgICAkc19mID0gZ2xvYigkc19kaXIuJyonKTsNCglmb3IoJHNfaSA9IDA7ICRzX2k8Y291bnQoJHNfZik7ICRzX2krKyl7DQoJCWlmKEBpc19kaXIoJHNfZlskc19pXSkpew0KCQkJJHNfYSA9IGdsb2IoJHNfZlskc19pXS5EUy4nKicpOw0KCQkJaWYoaXNfYXJyYXkoJHNfZikgJiYgaXNfYXJyYXkoJHNfYSkpICRzX2YgPSBhcnJheV9tZXJnZSgkc19mLCAkc19hKTsNCgkJfQ0KCX0NCiAgICByZXR1cm4gJHNfZjsNCn0NCi8vIGRvd25sb2FkIGZpbGUgZnJvbSBpbnRlcm5ldA0KZnVuY3Rpb24gZGxmaWxlKCRzX3UsJHNfcCl7DQoJZ2xvYmFsICRzX3dnZXQsICRzX2x3cGRvd25sb2FkLCAkc19seW54LCAkc19jdXJsOw0KDQoJaWYoIXByZWdfbWF0Y2goIi9bYS16XSs6XC9cLy4rLyIsJHNfdSkpIHJldHVybiBmYWxzZTsNCgkkc19uID0gYmFzZW5hbWUoJHNfdSk7DQoNCgkvLyB0cnkgdXNpbmcgcGhwIGZ1bmN0aW9ucw0KCWlmKCRzX3QgPSBAZmdjKCRzX3UpKXsNCg0KCQlpZihAaXNfZmlsZSgkc19wKSkgdW5saW5rKCRzX3ApOw0KCQlpZigkc19mID0gZm9wZW4oJHNfcCwidyIpKXsNCgkJCWZ3cml0ZSgkc19mLCAkc190KTsNCgkJCWZjbG9zZSgkc19mKTsNCgkJCWlmKEBpc19maWxlKCRzX3ApKSByZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0NCgkvLyB1c2luZyB3Z2V0DQoJaWYoJHNfd2dldCl7DQoJCSRidWZmID0gZXhlKCJ3Z2V0ICIuJHNfdS4iIC1PICIuJHNfcCk7DQoJCWlmKEBpc19maWxlKCRzX3ApKSByZXR1cm4gdHJ1ZTsNCgl9DQoJLy8gdHJ5IHVzaW5nIGN1cmwNCglpZigkc19jdXJsKXsNCgkJJGJ1ZmYgPSBleGUoImN1cmwgIi4kc191LiIgLW8gIi4kc19wKTsNCgkJaWYoQGlzX2ZpbGUoJHNfcCkpIHJldHVybiB0cnVlOw0KCX0NCgkvLyB0cnkgdXNpbmcgbHlueA0KCWlmKCRzX2x5bngpew0KCQkkYnVmZiA9IGV4ZSgibHlueCAtc291cmNlICIuJHNfdS4iID4gIi4kc19wKTsNCgkJaWYoQGlzX2ZpbGUoJHNfcCkpIHJldHVybiB0cnVlOw0KCX0NCgkvLyB0cnkgdXNpbmcgbHdwLWRvd25sb2FkDQoJaWYoJHNfbHdwZG93bmxvYWQpew0KCQkkYnVmZiA9IGV4ZSgibHdwLWRvd25sb2FkICIuJHNfdS4iICIuJHNfcCk7DQoJCWlmKEBpc19maWxlKCRzX3ApKSByZXR1cm4gdHJ1ZTsNCgl9DQoJcmV0dXJuIGZhbHNlOw0KfQ0KLy8gZmluZCB3cml0YWJsZSBkaXINCmZ1bmN0aW9uIGdldF93cml0YWJsZWRpcigpew0KCWlmKCEkc19kID0gZ2V0ZW52KCJURU1QIikpIGlmKCEkc19kID0gZ2V0ZW52KCJUTVAiKSkgaWYoISRzX2QgPSBnZXRlbnYoIlRNUERJUiIpKXsNCgkJaWYoQGlzX3dyaXRhYmxlKCIvdG1wIikpICRzX2QgPSAiL3RtcC8iOw0KCQllbHNlIGlmKEBpc193cml0YWJsZSgiLiIpKSAkc19kID0gIi4iLkRTOw0KCX0NCglyZXR1cm4gY3AoJHNfZCk7DQp9DQovLyB6aXAgZnVuY3Rpb24NCmZ1bmN0aW9uIHppcCgkc19zcmNhcnIsICRzX2Rlc3Qpew0KCWlmKCFleHRlbnNpb25fbG9hZGVkKCd6aXAnKSkgcmV0dXJuIGZhbHNlOw0KCWlmKGNsYXNzX2V4aXN0cygiWmlwQXJjaGl2ZSIpKXsNCgkJJHNfemlwID0gbmV3IFppcEFyY2hpdmUoKTsNCgkJaWYoISRzX3ppcC0+b3Blbigkc19kZXN0LCAxKSkgcmV0dXJuIGZhbHNlOw0KDQoJCWlmKCFpc19hcnJheSgkc19zcmNhcnIpKSAkc19zcmNhcnIgPSBhcnJheSgkc19zcmNhcnIpOw0KCQlmb3JlYWNoKCRzX3NyY2FyciBhcyAkc19zcmMpew0KCQkJJHNfc3JjID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkc19zcmMpOw0KCQkJaWYoQGlzX2Rpcigkc19zcmMpKXsNCgkJCQkkc19maWxlcyA9IG5ldyBSZWN1cnNpdmVJdGVyYXRvckl0ZXJhdG9yKG5ldyBSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcigkc19zcmMpLCAxKTsNCgkJCQlmb3JlYWNoKCRzX2ZpbGVzIGFzICRzX2ZpbGUpew0KCQkJCQkkc19maWxlID0gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkc19maWxlKTsNCgkJCQkJaWYoaW5fYXJyYXkoc3Vic3RyKCRzX2ZpbGUsIHN0cnJwb3MoJHNfZmlsZSwgJy8nKSsxKSwgYXJyYXkoJy4nLCAnLi4nKSkpIGNvbnRpbnVlOw0KCQkJCQlpZiAoQGlzX2Rpcigkc19maWxlKT09PXRydWUpCSRzX3ppcC0+YWRkRW1wdHlEaXIoc3RyX3JlcGxhY2UoJHNfc3JjLicvJywgJycsICRzX2ZpbGUuJy8nKSk7DQoJCQkJCWVsc2UgaWYgKEBpc19maWxlKCRzX2ZpbGUpPT09dHJ1ZSkgJHNfemlwLT5hZGRGcm9tU3RyaW5nKHN0cl9yZXBsYWNlKCRzX3NyYy4nLycsICcnLCAkc19maWxlKSwgQGZnYygkc19maWxlKSk7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZWlmKEBpc19maWxlKCRzX3NyYykgPT09IHRydWUpICRzX3ppcC0+YWRkRnJvbVN0cmluZyhiYXNlbmFtZSgkc19zcmMpLCBAZmdjKCRzX3NyYykpOw0KCQl9DQoJCSRzX3ppcC0+Y2xvc2UoKTsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KfQ0KLy8gY2hlY2sgc2hlbGwgcGVybWlzc2lvbiB0byBhY2Nlc3MgcHJvZ3JhbQ0KZnVuY3Rpb24gY2hlY2tfYWNjZXNzKCRzX2xhbmcpew0KCSRzX3MgPSBmYWxzZTsNCgkkdmVyID0gIiI7DQoJc3dpdGNoKCRzX2xhbmcpew0KCQljYXNlICJweXRob24iOg0KCQkJJHNfY2VrID0gc3RydG9sb3dlcihleGUoInB5dGhvbiAtaCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSkgJHZlciA9IGV4ZSgicHl0aG9uIC1WIik7DQoJCQlicmVhazsNCgkJY2FzZSAicGVybCI6DQoJCQkkc19jZWsgPSBzdHJ0b2xvd2VyKGV4ZSgicGVybCAtaCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSkgJHZlciA9IGV4ZSgicGVybCAtZSBcInByaW50IFwkXVwiIik7DQoJCQlicmVhazsNCgkJY2FzZSAicnVieSI6DQoJCQkkc19jZWsgPSBzdHJ0b2xvd2VyKGV4ZSgicnVieSAtaCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSkgJHZlciA9IGV4ZSgicnVieSAtdiIpOw0KCQkJYnJlYWs7DQoJCWNhc2UgIm5vZGUiOg0KCQkJJHNfY2VrID0gc3RydG9sb3dlcihleGUoIm5vZGUgLWgiKSk7DQoJCQlpZihzdHJwb3MoJHNfY2VrLCJ1c2FnZSIpIT09ZmFsc2UpICR2ZXIgPSBleGUoIm5vZGUgLXYiKTsNCgkJCWJyZWFrOw0KCQljYXNlICJub2RlanMiOg0KCQkJJHNfY2VrID0gc3RydG9sb3dlcihleGUoIm5vZGVqcyAtaCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSkgJHZlciA9IGV4ZSgibm9kZWpzIC12Iik7DQoJCQlicmVhazsNCgkJY2FzZSAiZ2NjIjoNCgkJCSRzX2NlayA9IHN0cnRvbG93ZXIoZXhlKCJnY2MgLS1oZWxwIikpOw0KCQkJaWYoc3RycG9zKCRzX2NlaywidXNhZ2UiKSE9PWZhbHNlKXsNCgkJCQkkc192ZXIgPSBleGUoImdjYyAtLXZlcnNpb24iKTsNCgkJCQkkc192ZXIgPSBleHBsb2RlKCJcbiIsJHNfdmVyKTsNCgkJCQlpZihjb3VudCgkc192ZXIpPjApICR2ZXIgPSAkc192ZXJbMF07DQoJCQl9DQoJCQlicmVhazsNCgkJY2FzZSAidGFyIjoNCgkJCSRzX2NlayA9IHN0cnRvbG93ZXIoZXhlKCJ0YXIgLS1oZWxwIikpOw0KCQkJaWYoc3RycG9zKCRzX2NlaywidXNhZ2UiKSE9PWZhbHNlKXsNCgkJCQkkc192ZXIgPSBleGUoInRhciAtLXZlcnNpb24iKTsNCgkJCQkkc192ZXIgPSBleHBsb2RlKCJcbiIsJHNfdmVyKTsNCgkJCQlpZihjb3VudCgkc192ZXIpPjApICR2ZXIgPSAkc192ZXJbMF07DQoJCQl9DQoJCQlicmVhazsNCgkJY2FzZSAiamF2YSI6DQoJCQkkc19jZWsgPSBzdHJ0b2xvd2VyKGV4ZSgiamF2YSAtaGVscCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSkgJHZlciA9IHN0cl9yZXBsYWNlKCJcbiIsICIsICIsIGV4ZSgiamF2YSAtdmVyc2lvbiIpKTsNCgkJCWJyZWFrOw0KCQljYXNlICJqYXZhYyI6DQoJCQkkc19jZWsgPSBzdHJ0b2xvd2VyKGV4ZSgiamF2YWMgLWhlbHAiKSk7DQoJCQlpZihzdHJwb3MoJHNfY2VrLCJ1c2FnZSIpIT09ZmFsc2UpICR2ZXIgPSBzdHJfcmVwbGFjZSgiXG4iLCAiLCAiLCBleGUoImphdmFjIC12ZXJzaW9uIikpOw0KCQkJYnJlYWs7CQkJDQoJCWNhc2UgIndnZXQiOg0KCQkJJHNfY2VrID0gc3RydG9sb3dlcihleGUoIndnZXQgLS1oZWxwIikpOw0KCQkJaWYoc3RycG9zKCRzX2NlaywidXNhZ2UiKSE9PWZhbHNlKXsNCgkJCQkkc192ZXIgPSBleGUoIndnZXQgLS12ZXJzaW9uIik7DQoJCQkJJHNfdmVyID0gZXhwbG9kZSgiXG4iLCRzX3Zlcik7DQoJCQkJaWYoY291bnQoJHNfdmVyKT4wKSAkdmVyID0gJHNfdmVyWzBdOw0KCQkJfQ0KCQkJYnJlYWs7DQoJCWNhc2UgImx3cGRvd25sb2FkIjoNCgkJCSRzX2NlayA9IHN0cnRvbG93ZXIoZXhlKCJsd3AtZG93bmxvYWQgLS1oZWxwIikpOw0KCQkJaWYoc3RycG9zKCRzX2NlaywidXNhZ2UiKSE9PWZhbHNlKXsNCgkJCQkkc192ZXIgPSBleGUoImx3cC1kb3dubG9hZCAtLXZlcnNpb24iKTsNCgkJCQkkc192ZXIgPSBleHBsb2RlKCJcbiIsJHNfdmVyKTsNCgkJCQlpZihjb3VudCgkc192ZXIpPjApICR2ZXIgPSAkc192ZXJbMF07DQoJCQl9DQoJCQlicmVhazsNCgkJY2FzZSAibHlueCI6DQoJCQkkc19jZWsgPSBzdHJ0b2xvd2VyKGV4ZSgibHlueCAtLWhlbHAiKSk7DQoJCQlpZihzdHJwb3MoJHNfY2VrLCJ1c2FnZSIpIT09ZmFsc2Upew0KCQkJCSRzX3ZlciA9IGV4ZSgibHlueCAtdmVyc2lvbiIpOw0KCQkJCSRzX3ZlciA9IGV4cGxvZGUoIlxuIiwkc192ZXIpOw0KCQkJCWlmKGNvdW50KCRzX3Zlcik+MCkgJHZlciA9ICRzX3ZlclswXTsNCgkJCX0NCgkJCWJyZWFrOw0KCQljYXNlICJjdXJsIjoNCgkJCSRzX2NlayA9IHN0cnRvbG93ZXIoZXhlKCJjdXJsIC0taGVscCIpKTsNCgkJCWlmKHN0cnBvcygkc19jZWssInVzYWdlIikhPT1mYWxzZSl7DQoJCQkJJHNfdmVyID0gZXhlKCJjdXJsIC0tdmVyc2lvbiIpOw0KCQkJCSRzX3ZlciA9IGV4cGxvZGUoIlxuIiwkc192ZXIpOw0KCQkJCWlmKGNvdW50KCRzX3Zlcik+MCkgJHZlciA9ICRzX3ZlclswXTsNCgkJCX0NCgkJCWJyZWFrOw0KCQlkZWZhdWx0Og0KCQkJcmV0dXJuIGZhbHNlOw0KCX0NCglpZighZW1wdHkoJHZlcikpICRzX3MgPSAkdmVyOw0KCXJldHVybiAkc19zOw0KfQ0KLy8gZXhwbG9yZXIsIHJldHVybiBhIHRhYmxlIG9mIGdpdmVuIGRpcg0KZnVuY3Rpb24gc2hvd2Rpcigkc19jd2Qpew0KCWdsb2JhbCAkc19zZWxmLCAkc193aW4sICRzX3Bvc2l4LCAkc190YXI7DQoNCgkkc19mbmFtZSA9ICRzX2RuYW1lID0gYXJyYXkoKTsNCgkkc190b3RhbF9maWxlID0gJHNfdG90YWxfZGlyID0gMDsNCg0KCWlmKCRzX2RoID0gQG9wZW5kaXIoJHNfY3dkKSl7DQoJCXdoaWxlKCRzX2ZpbGUgPSBAcmVhZGRpcigkc19kaCkpew0KCQkJaWYoQGlzX2Rpcigkc19maWxlKSkgJHNfZG5hbWVbXSA9ICRzX2ZpbGU7DQoJCQllbHNlaWYoQGlzX2ZpbGUoJHNfZmlsZSkpJHNfZm5hbWVbXSA9ICRzX2ZpbGU7DQoJCX0NCgkJY2xvc2VkaXIoJHNfZGgpOw0KCX0NCg0KCW5hdGNhc2Vzb3J0KCRzX2ZuYW1lKTsNCgluYXRjYXNlc29ydCgkc19kbmFtZSk7DQoJJHNfbGlzdCA9IGFycmF5X21lcmdlKCRzX2RuYW1lLCRzX2ZuYW1lKTsNCg0KCWlmKCRzX3dpbil7DQoJCS8vY2hlY2sgaWYgdGhpcyByb290IGRpcmVjdG9yeQ0KCQljaGRpcigiLi4iKTsNCgkJaWYoY3AoZ2V0Y3dkKCkpPT1jcCgkc19jd2QpKSBhcnJheV91bnNoaWZ0KCRzX2xpc3QsICIuIik7DQoJCWNoZGlyKCRzX2N3ZCk7DQoJfQ0KDQoJJHNfcGF0aCA9IGV4cGxvZGUoRFMsJHNfY3dkKTsNCgkkc190cmVlID0gc2l6ZW9mKCRzX3BhdGgpOw0KDQoJJHNfcGFyZW50ID0gIiI7DQoJaWYoJHNfdHJlZSA+IDIpIGZvcigkc19pID0gMDsgJHNfaTwkc190cmVlLTI7ICRzX2krKykgJHNfcGFyZW50IC49ICRzX3BhdGhbJHNfaV0uRFM7DQoJZWxzZSAkc19wYXJlbnQgPSAkc19jd2Q7DQoNCgkkc19vd25lcl9odG1sID0gKCEkc193aW4gJiYgJHNfcG9zaXgpPyAiPHRoIHN0eWxlPSd3aWR0aDoxNDBweDttaW4td2lkdGg6MTQwcHg7Jz5vd25lcjpncm91cDwvdGg+IjoiIjsNCgkkc19jb2xzcGFuID0gKCEkc193aW4gJiYgJHNfcG9zaXgpPyAiNSIgOiAiNCI7DQoJJHNfYnVmZiA9ICI8dGFibGUgY2xhc3M9J2V4cGxvcmUgc29ydGFibGUnPjx0aGVhZD48dHI+PHRoIHN0eWxlPSd3aWR0aDoyNHB4O21pbi13aWR0aDoyNHB4OycgY2xhc3M9J3NvcnR0YWJsZV9ub3NvcnQnPjwvdGg+PHRoIHN0eWxlPSdtaW4td2lkdGg6MTUwcHg7Jz5uYW1lPC90aD48dGggc3R5bGU9J3dpZHRoOjc0cHg7bWluLXdpZHRoOjc0cHg7Jz5zaXplPC90aD4iLiRzX293bmVyX2h0bWwuIjx0aCBzdHlsZT0nd2lkdGg6ODBweDttaW4td2lkdGg6ODBweDsnPnBlcm1zPC90aD48dGggc3R5bGU9J3dpZHRoOjE1MHB4O21pbi13aWR0aDoxNTBweDsnPm1vZGlmaWVkPC90aD48dGggc3R5bGU9J3dpZHRoOjIwMHB4O21pbi13aWR0aDoyMDBweDsnIGNsYXNzPSdzb3J0dGFibGVfbm9zb3J0Jz5hY3Rpb248L3RoPjwvdHI+PC90aGVhZD48dGJvZHk+IjsNCg0KCQ0KCWZvcmVhY2goJHNfbGlzdCBhcyAkc19sKXsNCgkJaWYoISRzX3dpbiAmJiAkc19wb3NpeCl7DQoJCQkkc19uYW1lID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCRzX2wpKTsNCgkJCSRzX2dyb3VwID0gcG9zaXhfZ2V0Z3JnaWQoZmlsZWdyb3VwKCRzX2wpKTsNCgkJCSRzX293bmVyID0gJHNfbmFtZVsnbmFtZSddLiI8c3BhbiBjbGFzcz0nZ2F5YSc+Ojwvc3Bhbj4iLiRzX2dyb3VwWyduYW1lJ107DQoJCQkkc19vd25lcl9odG1sID0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiRzX293bmVyLiI8L3RkPiI7DQoJCX0NCg0KCQkkc19saHJlZiA9ICRzX2xuYW1lID0gJHNfbGFjdGlvbiA9ICIiOw0KCQlpZihAaXNfZGlyKCRzX2wpKXsNCgkJCWlmKCRzX2w9PSIuIil7DQoJCQkJJHNfbGhyZWYgPSAkc19zZWxmLiJjZD0iLnBsKCRzX2N3ZCk7DQoJCQkJJHNfbHNpemUgPSAiTElOSyI7DQoJCQkJJHNfbGFjdGlvbiA9ICI8c3BhbiBpZD0ndGl0aWsxJz48YSBocmVmPSciLiRzX3NlbGYuImNkPSIucGwoJHNfY3dkKS4iJmZpbmQ9Ii5wbCgkc19jd2QpLiInPmZpbmQ8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJjZD0iLnBsKCRzX2N3ZCkuIiZ4PXVwbG9hZCIuIic+dXBsPC9hPiB8IDxhIGhyZWY9JyIuJHNfc2VsZi4iY2Q9Ii5wbCgkc19jd2QpLiImZWRpdD0iLnBsKCRzX2N3ZCkuIm5ld2ZpbGVfMSZuZXc9eWVzIi4iJz4rZmlsZTwvYT4gfCA8YSBocmVmPVwiamF2YXNjcmlwdDp0dWthcigndGl0aWsxJywnJywgJ21rZGlyJywnbmV3Zm9sZGVyXzEnKTtcIj4rZGlyPC9hPjwvc3Bhbj48ZGl2IGlkPSd0aXRpazFfZm9ybSc+PC9kaXY+IjsNCgkJCX0NCgkJCWVsc2VpZigkc19sPT0iLi4iKXsNCgkJCQkkc19saHJlZiA9ICRzX3NlbGYuImNkPSIucGwoJHNfcGFyZW50KTsNCgkJCQkkc19sc2l6ZSA9ICJMSU5LIjsNCgkJCQkkc19sYWN0aW9uID0gIjxzcGFuIGlkPSd0aXRpazInPjxhIGhyZWY9JyIuJHNfc2VsZi4iY2Q9Ii5wbCgkc19wYXJlbnQpLiImZmluZD0iLnBsKCRzX3BhcmVudCkuIic+ZmluZDwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuImNkPSIucGwoJHNfcGFyZW50KS4iJng9dXBsb2FkIi4iJz51cGw8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJjZD0iLnBsKCRzX3BhcmVudCkuIiZlZGl0PSIucGwoJHNfcGFyZW50KS4ibmV3ZmlsZV8xJm5ldz15ZXMiLiInPitmaWxlPC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCd0aXRpazInLCciLmFkZHMoJHNfcGFyZW50KS4iJywgJ21rZGlyJywnbmV3Zm9sZGVyXzEnKTtcIj4rZGlyPC9hPjwvc3Bhbj48ZGl2IGlkPSd0aXRpazJfZm9ybSc+PC9kaXY+IjsNCgkJCX0NCgkJCWVsc2V7DQoJCQkJJHNfbGhyZWYgPSAkc19zZWxmLiJjZD0iLnBsKCRzX2N3ZC4kc19sLkRTKTsNCgkJCQkkc19sc2l6ZSA9ICJESVIiOw0KCQkJCSRzX2xhY3Rpb24gPSAiPHNwYW4gaWQ9JyIuY3MoJHNfbCkuIl8nPjxhIGhyZWY9JyIuJHNfc2VsZi4iY2Q9Ii5wbCgkc19jd2QuJHNfbC5EUykuIiZmaW5kPSIucGwoJHNfY3dkLiRzX2wuRFMpLiInPmZpbmQ8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJjZD0iLnBsKCRzX2N3ZC4kc19sLkRTKS4iJng9dXBsb2FkIi4iJz51cGw8L2E+IHwgPGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXIoJyIuY3MoJHNfbCkuIl8nLCcnLCdyZW5hbWUnLCciLmFkZHMoJHNfbCkuIicsJyIuYWRkcygkc19sKS4iJyk7XCI+cmVuPC9hPiB8IDxhIGhyZWY9JyIuJHNfc2VsZi4iY2Q9Ii5wbCgkc19jd2QpLiImZGVsPSIucGwoJHNfbCkuIic+ZGVsPC9hPjwvc3Bhbj48ZGl2IGlkPSciLmNzKCRzX2wpLiJfX2Zvcm0nPjwvZGl2PiI7DQoJCQkJJHNfdG90YWxfZGlyKys7DQoJCQl9DQoJCQkkc19sbmFtZSA9ICJbICIuJHNfbC4iIF0iOw0KCQkJJHNfbHNpemV0aXQgPSAiMCI7DQoJCQkkc19sbmFtZXRpdCA9ICJkaXIgOiAiLiRzX2w7DQoJCX0NCgkJZWxzZXsNCgkJCSRzX2xocmVmID0gJHNfc2VsZi4idmlldz0iLnBsKCRzX2N3ZC4kc19sKTsNCgkJCSRzX2xuYW1lID0gJHNfbDsNCgkJCSRzX2xzaXplID0gZ3MoJHNfbCk7DQoJCQkkc19sc2l6ZXRpdCA9IEBmaWxlc2l6ZSgkc19sKTsNCgkJCSRzX2xuYW1ldGl0ID0gImZpbGUgOiAiLiRzX2w7DQoJCQkkc19sYWN0aW9uID0gIjxzcGFuIGlkPSciLmNzKCRzX2wpLiJfJz48YSBocmVmPSciLiRzX3NlbGYuImVkaXQ9Ii5wbCgkc19jd2QuJHNfbCkuIic+ZWRpdDwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuImhleGVkaXQ9Ii5wbCgkc19jd2QuJHNfbCkuIic+aGV4PC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyKCciLmNzKCRzX2wpLiJfJywnJywncmVuYW1lJywnIi5hZGRzKCRzX2wpLiInLCciLmFkZHMoJHNfbCkuIicpO1wiPnJlbjwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuImRlbD0iLnBsKCRzX2N3ZC4kc19sKS4iJz5kZWw8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJkbD0iLnBsKCRzX2N3ZC4kc19sKS4iJz5kbDwvYT48L3NwYW4+PGRpdiBpZD0nIi5jcygkc19sKS4iX19mb3JtJz48L2Rpdj4iOw0KCQkJJHNfdG90YWxfZmlsZSsrOw0KCQl9DQoNCgkJJHNfY2JveHZhbCA9ICRzX2N3ZC4kc19sOw0KCQlpZigkc19sPT0nLicpICRzX2Nib3h2YWwgPSAkc19jd2Q7DQoJCWlmKCRzX2w9PScuLicpICRzX2Nib3h2YWwgPSAkc19wYXJlbnQ7DQoNCgkJJHNfY2JveGVzX2lkID0gc3Vic3RyKG1kNSgkc19saHJlZiksMCw4KTsNCgkJJHNfY2JveGVzID0gIjxpbnB1dCBpZD0nIi4kc19jYm94ZXNfaWQuIicgbmFtZT0nY2JveCcgdmFsdWU9JyIuaHNzKCRzX2Nib3h2YWwpLiInIHR5cGU9J2NoZWNrYm94JyBjbGFzcz0nY3NzLWNoZWNrYm94JyBvbmNoYW5nZT0naGlsaXRlKHRoaXMpOycgLz48bGFiZWwgZm9yPSciLiRzX2Nib3hlc19pZC4iJyBjbGFzcz0nY3NzLWxhYmVsJz48L2xhYmVsPiI7DQoNCgkJJHNfbHRpbWUgPSBmaWxlbXRpbWUoJHNfbCk7DQoJCSRzX2J1ZmYgLj0gIjx0cj48dGQgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyO3RleHQtaW5kZW50OjRweDsnPiIuJHNfY2JveGVzLiI8L3RkPjx0ZCBjbGFzcz0neHBsJyB0aXRsZT0nIi4kc19sbmFtZXRpdC4iJyBvbmRibGNsaWNrPVwicmV0dXJuIGdvKCciLmFkZHMoJHNfbGhyZWYpLiInLGV2ZW50KTtcIj48YSBocmVmPSciLiRzX2xocmVmLiInPiIuJHNfbG5hbWUuIjwvYT48L3RkPjx0ZCB0aXRsZT0nIi4kc19sc2l6ZXRpdC4iJz4iLiRzX2xzaXplLiI8L3RkPiIuJHNfb3duZXJfaHRtbC4iPHRkIGNsYXNzPSdjZSc+Ii5ncCgkc19sKS4iPC90ZD48dGQgY2xhc3M9J2NlJyB0aXRsZT0nIi4kc19sdGltZS4iJz4iLkBkYXRlKCJkLU0tWSBIOmk6cyIsJHNfbHRpbWUpLiI8L3RkPjx0ZD4iLiRzX2xhY3Rpb24uIjwvdGQ+PC90cj4iOw0KCX0NCgkkc19idWZmIC49ICI8L3Rib2R5PiI7DQoNCgkkc19leHRyYWN0ID0gIiI7ICRzX2NvbXByZXNzID0gIiI7DQoJaWYoY2xhc3NfZXhpc3RzKCJaaXBBcmNoaXZlIikpew0KCQkkc19leHRyYWN0IC49ICI8b3B0aW9uIHZhbHVlPSdleHRyYWN0emlwJz5leHRyYWN0ICh6aXApPC9vcHRpb24+IjsNCgkJJHNfY29tcHJlc3MgLj0gIjxvcHRpb24gdmFsdWU9J2NvbXByZXNzemlwJz5jb21wcmVzcyAoemlwKTwvb3B0aW9uPiI7DQoJfQ0KCWlmKCRzX3Rhcil7DQoJCSRzX2V4dHJhY3QgLj0gIjxvcHRpb24gdmFsdWU9J2V4dHJhY3R0YXInPmV4dHJhY3QgKHRhcik8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdleHRyYWN0dGFyZ3onPmV4dHJhY3QgKHRhci5neik8L29wdGlvbj4iOw0KCQkkc19jb21wcmVzcyAuPSI8b3B0aW9uIHZhbHVlPSdjb21wcmVzc3Rhcic+Y29tcHJlc3MgKHRhcik8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdjb21wcmVzc3Rhcmd6Jz5jb21wcmVzcyAodGFyLmd6KTwvb3B0aW9uPiI7DQoJfQ0KDQoJJHNfZXh0Y29tID0gKCRzX2V4dHJhY3QhPSIiICYmICRzX2NvbXByZXNzIT0iIik/ICRzX2V4dHJhY3QuIjxvcHRpb24gdmFsdWU9JycgZGlzYWJsZWQ+LTwvb3B0aW9uPiIuJHNfY29tcHJlc3M6JHNfZXh0cmFjdC4kc19jb21wcmVzczsNCg0KCSRzX2J1ZmYgLj0gIjx0Zm9vdD48dHIgY2xhc3M9J2Nib3hfc2VsZWN0ZWQnPjx0ZCBjbGFzcz0nY2JveF9hbGwnPjxpbnB1dCBpZD0nY2hlY2thbGxsJyB0eXBlPSdjaGVja2JveCcgbmFtZT0nYWJveCcgY2xhc3M9J2Nzcy1jaGVja2JveCcgb25jbGljaz0nY2hlY2thbGwoKTsnIC8+IDxsYWJlbCBmb3I9J2NoZWNrYWxsbCcgY2xhc3M9J2Nzcy1sYWJlbCc+PC9sYWJlbD48L3RkPjx0ZD48Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPjxzZWxlY3QgaWQ9J21hc3NhY3QnIGNsYXNzPSdpbnB1dHpidXQnIG9uY2hhbmdlPSdtYXNzYWN0Z28oKTsnIHN0eWxlPSd3aWR0aDoxMDAlO2hlaWdodDoyMHB4O21hcmdpbjowOyc+PG9wdGlvbiB2YWx1ZT0nJyBkaXNhYmxlZCBzZWxlY3RlZD5BY3Rpb248L29wdGlvbj48b3B0aW9uIHZhbHVlPSdjdXQnPmN1dDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2NvcHknPmNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdwYXN0ZSc+cGFzdGU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdkZWxldGUnPmRlbGV0ZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JycgZGlzYWJsZWQ+LTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J2NobW9kJz5jaG1vZDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J3RvdWNoJz50b3VjaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9JycgZGlzYWJsZWQ+LTwvb3B0aW9uPiIuJHNfZXh0Y29tLiI8L3NlbGVjdD48bm9zY3JpcHQ+PGlucHV0IHR5cGU9J2J1dHRvbicgdmFsdWU9J0dvICEnIGNsYXNzPSdpbnB1dHpidXQnIG9uY2xpY2s9J21hc3NhY3RnbygpOycgLz48L25vc2NyaXB0PjwvZm9ybT48L3RkPjx0ZCBjb2xzcGFuPSciLiRzX2NvbHNwYW4uIicgc3R5bGU9J3RleHQtYWxpZ246bGVmdDsnPlRvdGFsIDogIi4kc190b3RhbF9maWxlLiIgZmlsZXMsICIuJHNfdG90YWxfZGlyLiIgRGlyZWN0b3JpZXM8c3BhbiBpZD0ndG90YWxfc2VsZWN0ZWQnPjwvc3Bhbj48L3RkPjwvdHI+PC90Zm9vdD48L3RhYmxlPiI7DQoNCglyZXR1cm4gJHNfYnVmZjsNCn0NCi8vZGF0YWJhc2UgcmVsYXRlZCBmdW5jdGlvbnMNCmZ1bmN0aW9uIHNxbF9jb25uZWN0KCRzX3NxbHR5cGUsICRzX3NxbGhvc3QsICRzX3NxbHVzZXIsICRzX3NxbHBhc3Mpew0KCWlmKCRzX3NxbHR5cGUgPT0gJ215c3FsJyl7IA0KCQlpZihjbGFzc19leGlzdHMoJ215c3FsaScpKSByZXR1cm4gbmV3IG15c3FsaSgkc19zcWxob3N0LCAkc19zcWx1c2VyLCAkc19zcWxwYXNzKTsNCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxfY29ubmVjdCcpKSByZXR1cm4gQG15c3FsX2Nvbm5lY3QoJHNfc3FsaG9zdCwgJHNfc3FsdXNlciwgJHNfc3FscGFzcyk7IA0KCX0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnbXNzcWwnKXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzcWxzcnZfY29ubmVjdCcpKXsNCgkJCSRzX2NvbmluZm8gPSBhcnJheSgiVUlEIj0+JHNfc3FsdXNlciwgIlBXRCI9PiRzX3NxbHBhc3MpOw0KCQkJcmV0dXJuIEBzcWxzcnZfY29ubmVjdCgkc19zcWxob3N0LCRzX2NvbmluZm8pOw0KCQl9DQoJCWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ21zc3FsX2Nvbm5lY3QnKSkgcmV0dXJuIEBtc3NxbF9jb25uZWN0KCRzX3NxbGhvc3QsICRzX3NxbHVzZXIsICRzX3NxbHBhc3MpOw0KCX0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAncGdzcWwnKXsNCgkJJHNfaG9zdHMgPSBleHBsb2RlKCI6IiwgJHNfc3FsaG9zdCk7DQoJCWlmKGNvdW50KCRzX2hvc3RzKT09Mil7DQoJCQkkc19ob3N0X3N0ciA9ICJob3N0PSIuJHNfaG9zdHNbMF0uIiBwb3J0PSIuJHNfaG9zdHNbMV07DQoJCX0NCgkJZWxzZSAkc19ob3N0X3N0ciA9ICJob3N0PSIuJHNfc3FsaG9zdDsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdwZ19jb25uZWN0JykpIHJldHVybiBAcGdfY29ubmVjdCgiJHNfaG9zdF9zdHIgdXNlcj0kc19zcWx1c2VyIHBhc3N3b3JkPSRzX3NxbHBhc3MiKTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29yYWNsZScpeyBpZihmdW5jdGlvbl9leGlzdHMoJ29jaV9jb25uZWN0JykpIHJldHVybiBAb2NpX2Nvbm5lY3QoJHNfc3FsdXNlciwgJHNfc3FscGFzcywgJHNfc3FsaG9zdCk7IH0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnc3FsaXRlMycpew0KCQlpZihjbGFzc19leGlzdHMoJ1NRTGl0ZTMnKSkgaWYoIWVtcHR5KCRzX3NxbGhvc3QpKSByZXR1cm4gbmV3IFNRTGl0ZTMoJHNfc3FsaG9zdCk7DQoJCWVsc2UgcmV0dXJuIGZhbHNlOw0KCX0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnc3FsaXRlJyl7IGlmKGZ1bmN0aW9uX2V4aXN0cygnc3FsaXRlX29wZW4nKSkgcmV0dXJuIEBzcWxpdGVfb3Blbigkc19zcWxob3N0KTsgfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdvZGJjJyl7IGlmKGZ1bmN0aW9uX2V4aXN0cygnb2RiY19jb25uZWN0JykpIHJldHVybiBAb2RiY19jb25uZWN0KCRzX3NxbGhvc3QsICRzX3NxbHVzZXIsICRzX3NxbHBhc3MpOyB9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3Bkbycpew0KCQlpZihjbGFzc19leGlzdHMoJ1BETycpKSBpZighZW1wdHkoJHNfc3FsaG9zdCkpIHJldHVybiBuZXcgUERPKCRzX3NxbGhvc3QsICRzX3NxbHVzZXIsICRzX3NxbHBhc3MpOw0KCQllbHNlIHJldHVybiBmYWxzZTsNCgl9DQoJcmV0dXJuIGZhbHNlOw0KfQ0KZnVuY3Rpb24gc3FsX3F1ZXJ5KCRzX3NxbHR5cGUsICRzX3F1ZXJ5LCAkc19jb24pew0KCWlmKCRzX3NxbHR5cGUgPT0gJ215c3FsJyl7DQoJCWlmKGNsYXNzX2V4aXN0cygnbXlzcWxpJykpIHJldHVybiAkc19jb24tPnF1ZXJ5KCRzX3F1ZXJ5KTsNCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxfcXVlcnknKSkgcmV0dXJuIG15c3FsX3F1ZXJ5KCRzX3F1ZXJ5KTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ21zc3FsJyl7DQoJCWlmKGZ1bmN0aW9uX2V4aXN0cygnc3Fsc3J2X3F1ZXJ5JykpIHJldHVybiBzcWxzcnZfcXVlcnkoJHNfY29uLCRzX3F1ZXJ5KTsNCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfcXVlcnknKSkgcmV0dXJuIG1zc3FsX3F1ZXJ5KCRzX3F1ZXJ5KTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3Bnc3FsJykgcmV0dXJuIHBnX3F1ZXJ5KCRzX3F1ZXJ5KTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnb3JhY2xlJykgcmV0dXJuIG9jaV9leGVjdXRlKG9jaV9wYXJzZSgkc19jb24sICRzX3F1ZXJ5KSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3NxbGl0ZTMnKSByZXR1cm4gJHNfY29uLT5xdWVyeSgkc19xdWVyeSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3NxbGl0ZScpIHJldHVybiBzcWxpdGVfcXVlcnkoJHNfY29uLCAkc19xdWVyeSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29kYmMnKSByZXR1cm4gb2RiY19leGVjKCRzX2NvbiwgJHNfcXVlcnkpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdwZG8nKSByZXR1cm4gJHNfY29uLT5xdWVyeSgkc19xdWVyeSk7DQp9DQpmdW5jdGlvbiBzcWxfbnVtX3Jvd3MoJHNfc3FsdHlwZSwkc19oYXNpbCl7DQoJaWYoJHNfc3FsdHlwZSA9PSAnbXlzcWwnKXsNCgkJaWYoY2xhc3NfZXhpc3RzKCdteXNxbGlfcmVzdWx0JykpIHJldHVybiAkc19oYXNpbC0+bXlzcWxpX251bV9yb3dzOw0KCQllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9udW1fcm93cycpKSByZXR1cm4gbXlzcWxfbnVtX3Jvd3MoJHNfaGFzaWwpOw0KCX0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnbXNzcWwnKXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzcWxzcnZfbnVtX3Jvd3MnKSkgcmV0dXJuIHNxbHNydl9udW1fcm93cygkc19oYXNpbCk7DQoJCWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ21zc3FsX251bV9yb3dzJykpIHJldHVybiBtc3NxbF9udW1fcm93cygkc19oYXNpbCk7DQoJfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdwZ3NxbCcpIHJldHVybiBwZ19udW1fcm93cygkc19oYXNpbCk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29yYWNsZScpIHJldHVybiBvY2lfbnVtX3Jvd3MoJHNfaGFzaWwpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdzcWxpdGUzJyl7DQoJCSRzX21ldGFkYXRhID0gJHNfaGFzaWwtPmZldGNoQXJyYXkoKTsNCgkJaWYoaXNfYXJyYXkoJHNfbWV0YWRhdGEpKSByZXR1cm4gJHNfbWV0YWRhdGFbJ2NvdW50J107DQoJfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdzcWxpdGUnKSByZXR1cm4gc3FsaXRlX251bV9yb3dzKCRzX2hhc2lsKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnb2RiYycpIHJldHVybiBvZGJjX251bV9yb3dzKCRzX2hhc2lsKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAncGRvJykgcmV0dXJuICRzX2hhc2lsLT5yb3dDb3VudCgpOw0KfQ0KZnVuY3Rpb24gc3FsX251bV9maWVsZHMoJHNfc3FsdHlwZSwgJHNfaGFzaWwpew0KCWlmKCRzX3NxbHR5cGUgPT0gJ215c3FsJyl7DQoJCWlmKGNsYXNzX2V4aXN0cygnbXlzcWxpX3Jlc3VsdCcpKSByZXR1cm4gJHNfaGFzaWwtPmZpZWxkX2NvdW50Ow0KCQllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9udW1fZmllbGRzJykpIHJldHVybiBteXNxbF9udW1fZmllbGRzKCRzX2hhc2lsKTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ21zc3FsJyl7DQoJCWlmKGZ1bmN0aW9uX2V4aXN0cygnc3Fsc3J2X251bV9maWVsZHMnKSkgcmV0dXJuIHNxbHNydl9udW1fZmllbGRzKCRzX2hhc2lsKTsNCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfbnVtX2ZpZWxkcycpKSByZXR1cm4gbXNzcWxfbnVtX2ZpZWxkcygkc19oYXNpbCk7DQoJfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdwZ3NxbCcpIHJldHVybiBwZ19udW1fZmllbGRzKCRzX2hhc2lsKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnb3JhY2xlJykgcmV0dXJuIG9jaV9udW1fZmllbGRzKCRzX2hhc2lsKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnc3FsaXRlMycpIHJldHVybiAkc19oYXNpbC0+bnVtQ29sdW1ucygpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdzcWxpdGUnKSByZXR1cm4gc3FsaXRlX251bV9maWVsZHMoJHNfaGFzaWwpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdvZGJjJykgcmV0dXJuIG9kYmNfbnVtX2ZpZWxkcygkc19oYXNpbCk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3BkbycpIHJldHVybiAkc19oYXNpbC0+Y29sdW1uQ291bnQoKTsNCn0NCmZ1bmN0aW9uIHNxbF9maWVsZF9uYW1lKCRzX3NxbHR5cGUsJHNfaGFzaWwsJHNfaSl7DQoJaWYoJHNfc3FsdHlwZSA9PSAnbXlzcWwnKXsNCgkJaWYoY2xhc3NfZXhpc3RzKCdteXNxbGlfcmVzdWx0JykpIHsgJHo9JHNfaGFzaWwtPmZldGNoX2ZpZWxkKCk7cmV0dXJuICR6LT5uYW1lO30NCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxfZmllbGRfbmFtZScpKSByZXR1cm4gbXlzcWxfZmllbGRfbmFtZSgkc19oYXNpbCwkc19pKTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ21zc3FsJyl7DQoJCWlmKGZ1bmN0aW9uX2V4aXN0cygnc3Fsc3J2X2ZpZWxkX21ldGFkYXRhJykpew0KCQkJJHNfbWV0YWRhdGEgPSBzcWxzcnZfZmllbGRfbWV0YWRhdGEoJHNfaGFzaWwpOw0KCQkJaWYoaXNfYXJyYXkoJHNfbWV0YWRhdGEpKXsNCgkJCQkkc19tZXRhZGF0YT0kc19tZXRhZGF0YVskc19pXTsNCgkJCX0NCgkJCWlmKGlzX2FycmF5KCRzX21ldGFkYXRhKSkgcmV0dXJuICRzX21ldGFkYXRhWydOYW1lJ107DQoJCX0NCgkJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfZmllbGRfbmFtZScpKSByZXR1cm4gbXNzcWxfZmllbGRfbmFtZSgkc19oYXNpbCwkc19pKTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3Bnc3FsJykgcmV0dXJuIHBnX2ZpZWxkX25hbWUoJHNfaGFzaWwsJHNfaSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29yYWNsZScpIHJldHVybiBvY2lfZmllbGRfbmFtZSgkc19oYXNpbCwkc19pKzEpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdzcWxpdGUzJykgcmV0dXJuICRzX2hhc2lsLT5jb2x1bW5OYW1lKCRzX2kpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdzcWxpdGUnKSByZXR1cm4gc3FsaXRlX2ZpZWxkX25hbWUoJHNfaGFzaWwsJHNfaSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29kYmMnKSByZXR1cm4gb2RiY19maWVsZF9uYW1lKCRzX2hhc2lsLCRzX2krMSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3Bkbycpew0KCQkkc19yZXMgPSAkc19oYXNpbC0+Z2V0Q29sdW1uTWV0YSgkc19pKTsNCgkJcmV0dXJuICRzX3Jlc1snbmFtZSddOw0KCX0NCn0NCmZ1bmN0aW9uIHNxbF9mZXRjaF9kYXRhKCRzX3NxbHR5cGUsJHNfaGFzaWwpew0KCWlmKCRzX3NxbHR5cGUgPT0gJ215c3FsJyl7DQoJCWlmKGNsYXNzX2V4aXN0cygnbXlzcWxpX3Jlc3VsdCcpKSByZXR1cm4gJHNfaGFzaWwtPmZldGNoX3JvdygpOw0KCQllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9mZXRjaF9yb3cnKSkgcmV0dXJuIG15c3FsX2ZldGNoX3Jvdygkc19oYXNpbCk7DQoJfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdtc3NxbCcpew0KCQlpZihmdW5jdGlvbl9leGlzdHMoJ3NxbHNydl9mZXRjaF9hcnJheScpKSByZXR1cm4gc3Fsc3J2X2ZldGNoX2FycmF5KCRzX2hhc2lsLDEpOw0KCQllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdtc3NxbF9mZXRjaF9yb3cnKSkgcmV0dXJuIG1zc3FsX2ZldGNoX3Jvdygkc19oYXNpbCk7DQoJfQ0KCWVsc2VpZigkc19zcWx0eXBlID09ICdwZ3NxbCcpIHJldHVybiBwZ19mZXRjaF9yb3coJHNfaGFzaWwpOw0KCWVsc2VpZigkc19zcWx0eXBlID09ICdvcmFjbGUnKSByZXR1cm4gb2NpX2ZldGNoX3Jvdygkc19oYXNpbCk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3NxbGl0ZTMnKSByZXR1cm4gJHNfaGFzaWwtPmZldGNoQXJyYXkoMSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3NxbGl0ZScpIHJldHVybiBzcWxpdGVfZmV0Y2hfYXJyYXkoJHNfaGFzaWwsMSk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29kYmMnKSByZXR1cm4gb2RiY19mZXRjaF9hcnJheSgkc19oYXNpbCk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3BkbycpIHJldHVybiAkc19oYXNpbC0+ZmV0Y2goMik7DQp9DQpmdW5jdGlvbiBzcWxfY2xvc2UoJHNfc3FsdHlwZSwkc19jb24pew0KCWlmKCRzX3NxbHR5cGUgPT0gJ215c3FsJyl7DQoJCWlmKGNsYXNzX2V4aXN0cygnbXlzcWxpJykpIHJldHVybiAkc19jb24tPmNsb3NlKCk7DQoJCWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ215c3FsX2Nsb3NlJykpIHJldHVybiBteXNxbF9jbG9zZSgkc19jb24pOw0KCX0NCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnbXNzcWwnKXsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKCdzcWxzcnZfY2xvc2UnKSkgcmV0dXJuIHNxbHNydl9jbG9zZSgkc19jb24pOw0KCQllbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdtc3NxbF9jbG9zZScpKSByZXR1cm4gbXNzcWxfY2xvc2UoJHNfY29uKTsNCgl9DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3Bnc3FsJykgcmV0dXJuIHBnX2Nsb3NlKCRzX2Nvbik7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ29yYWNsZScpIHJldHVybiBvY2lfY2xvc2UoJHNfY29uKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnc3FsaXRlMycpIHJldHVybiAkc19jb24tPmNsb3NlKCk7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3NxbGl0ZScpIHJldHVybiBzcWxpdGVfY2xvc2UoJHNfY29uKTsNCgllbHNlaWYoJHNfc3FsdHlwZSA9PSAnb2RiYycpIHJldHVybiBvZGJjX2Nsb3NlKCRzX2Nvbik7DQoJZWxzZWlmKCRzX3NxbHR5cGUgPT0gJ3BkbycpIHJldHVybiAkc19jb24gPSBudWxsOw0KfQ0KaWYoIWZ1bmN0aW9uX2V4aXN0cygnc3RyX3NwbGl0Jykpew0KCWZ1bmN0aW9uIHN0cl9zcGxpdCgkc190LCRzX3M9MSl7DQoJCSRzX2EgPSBhcnJheSgpOw0KCQlmb3IoJHNfaSA9IDA7ICRzX2k8c3RybGVuKCRzX3QpOyl7DQoJCQkkc19hW10gPSBzdWJzdHIoJHNfdCwkc19pLCRzX3MpOw0KCQkJJHNfaSArPSAkc19zOw0KCQl9DQoJCXJldHVybiAkc19hOw0KCX0NCn0NCg0KLy8gYXBwZWFyYW5jZQ0KJHNfdGhlbWUgPSAiZGFyayI7IC8vIGRlZmF1bHQgaXMgZGFyaw0KaWYoaXNzZXQoJF9DT09LSUVbJ3RoZW1lJ10pKSAkc190aGVtZSA9ICRfQ09PS0lFWyd0aGVtZSddOw0KaWYoaXNzZXQoJF9HUFsneCddKSAmJiAoJF9HUFsneCddPT0nc3dpdGNoJykpew0KCWlmKGlzc2V0KCRfQ09PS0lFWyd0aGVtZSddKSkgJHNfdGhlbWUgPSAkX0NPT0tJRVsndGhlbWUnXTsNCglpZigkc190aGVtZT09ImJyaWdodCIpICRzX3RoZW1lID0gImRhcmsiOw0KCWVsc2UgJHNfdGhlbWUgPSAiYnJpZ2h0IjsNCglzZXRjb29raWUoInRoZW1lIiwgJHNfdGhlbWUgLHRpbWUoKSArICRzX2xvZ2luX3RpbWUpOw0KfQ0KJHNfaGlnaGxpZ2h0X2RhcmsgPSBhcnJheSgiNEM5Q0FGIiwgIjg4ODg4OCIsICI4N0RGNDUiLCAiRUVFRUVFIiAsICJGRjgwMDAiKTsNCiRzX2hpZ2hsaWdodF9icmlnaHQgPSBhcnJheSgiQjM2MzUwIiwgIjc3Nzc3NyIsICI3ODIwQkEiLCAiMTExMTExIiAsICIwMDdGRkYiKTsNCg0KZ2xvYmFsICRzX3NlbGYsICRzX3dpbiwgJHNfcG9zaXg7DQoNCiRzX3NlbGYgPSAiPyI7DQokc19jZWsxID0gYmFzZW5hbWUoJF9TRVJWRVJbJ1NDUklQVF9GSUxFTkFNRSddKTsNCiRzX2NlazIgPSBzdWJzdHIoYmFzZW5hbWUoX19GSUxFX18pLDAsc3RybGVuKCRzX2NlazEpKTsNCg0KaWYoaXNzZXQoJF9DT09LSUVbJ2IzNzRrX2luY2x1ZGVkJ10pKXsNCglpZihzdHJjbXAoJHNfY2VrMSwkc19jZWsyKSE9MCkgJHNfc2VsZiA9ICRfQ09PS0lFWydzX3NlbGYnXTsNCgllbHNlew0KCQkkc19zZWxmID0gIj8iOw0KCQlzZXRjb29raWUoImIzNzRrX2luY2x1ZGVkIiwgIjAiICx0aW1lKCkgLSAkc19sb2dpbl90aW1lKTsNCgkJc2V0Y29va2llKCJzX3NlbGYiLCAkc19zZWxmICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgl9DQp9DQplbHNlew0KCWlmKHN0cmNtcCgkc19jZWsxLCRzX2NlazIpIT0wKXsNCgkJaWYoIWlzc2V0KCRfQ09PS0lFWydzX2hvbWUnXSkpew0KCQkJJHNfaG9tZSA9ICI/Ii4kX1NFUlZFUlsiUVVFUllfU1RSSU5HIl0uIiYiOw0KCQkJc2V0Y29va2llKCJzX2hvbWUiLCAkc19ob21lICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJfQ0KCQlpZihpc3NldCgkc19ob21lKSkgJHNfc2VsZiA9ICRzX2hvbWU7DQoJCWVsc2VpZihpc3NldCgkX0NPT0tJRVsnc19ob21lJ10pKSAkc19zZWxmID0gJF9DT09LSUVbJ3NfaG9tZSddOw0KCQlzZXRjb29raWUoImIzNzRrX2luY2x1ZGVkIiwgIjEiICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJc2V0Y29va2llKCJzX3NlbGYiLCAkc19zZWxmICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgl9DQoJZWxzZXsNCgkJJHNfc2VsZiA9ICI/IjsNCgkJc2V0Y29va2llKCJiMzc0a19pbmNsdWRlZCIsICIwIiAsdGltZSgpIC0gJHNfbG9naW5fdGltZSk7DQoJCXNldGNvb2tpZSgic19zZWxmIiwgJHNfc2VsZiAsdGltZSgpICsgJHNfbG9naW5fdGltZSk7DQoJfQ0KfQ0KJHNfY3dkID0gIiI7DQoNCmlmKGlzc2V0KCRfR1BbJ3wnXSkpIHNob3djb2RlKCRzX2Nzcyk7DQplbHNlaWYoaXNzZXQoJF9HUFsnISddKSkgc2hvd2NvZGUoJHNfanMpOw0KDQppZigkc19hdXRoKXsNCgkvLyBzZXJ2ZXIgc29mdHdhcmUNCgkkc19zb2Z0d2FyZSA9IGdldGVudigiU0VSVkVSX1NPRlRXQVJFIik7DQoJLy8gdW5hbWUgLWENCgkkc19zeXN0ZW0gPSBwaHBfdW5hbWUoKTsNCgkvLyBjaGVjayBvcw0KCSRzX3dpbiA9IChzdHJ0b2xvd2VyKHN1YnN0cigkc19zeXN0ZW0sMCwzKSkgPT0gIndpbiIpPyB0cnVlIDogZmFsc2U7DQoJLy8gY2hlY2sgZm9yIHBvc2l4DQoJJHNfcG9zaXggPSAoZnVuY3Rpb25fZXhpc3RzKCJwb3NpeF9nZXRwd3VpZCIpKT8gdHJ1ZSA6IGZhbHNlOw0KCS8vIGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeQ0KCWlmKGlzc2V0KCRfR1BbJ2NkJ10pKXsNCgkJJHNfZGQgPSAkX0dQWydjZCddOw0KCQlpZihAaXNfZGlyKCRzX2RkKSl7DQoJCQkkc19jd2QgPSBjcCgkc19kZCk7DQoJCQljaGRpcigkc19jd2QpOw0KCQkJc2V0Y29va2llKCJjd2QiLCAkc19jd2QgLHRpbWUoKSArICRzX2xvZ2luX3RpbWUpOw0KCQl9DQoJCWVsc2UgJHNfY3dkID0gaXNzZXQoJF9DT09LSUVbJ2N3ZCddKT8gY3AoJF9DT09LSUVbJ2N3ZCddKTpjcChnZXRjd2QoKSk7Ow0KCX0NCgllbHNlew0KCQlpZihpc3NldCgkX0NPT0tJRVsnY3dkJ10pKXsNCgkJCSRzX2RkID0gc3MoJF9DT09LSUVbJ2N3ZCddKTsNCgkJCWlmKEBpc19kaXIoJHNfZGQpKXsNCgkJCQkkc19jd2QgPSBjcCgkc19kZCk7DQoJCQkJY2hkaXIoJHNfY3dkKTsNCgkJCX0NCgkJfQ0KCQllbHNlICRzX2N3ZCA9IGNwKGdldGN3ZCgpKTsNCgl9DQoNCglpZighJHNfd2luICYmICRzX3Bvc2l4KXsNCgkJJHNfdXNlcmFyciA9IHBvc2l4X2dldHB3dWlkKHBvc2l4X2dldGV1aWQoKSk7DQoJCWlmKGlzc2V0KCRzX3VzZXJhcnJbJ25hbWUnXSkpICRzX3VzZXIgPSAkc191c2VyYXJyWyduYW1lJ107DQoJCWVsc2UgJHNfdXNlciA9ICIkIjsNCgl9DQoJZWxzZSB7DQoJCSRzX3VzZXIgPSBnZXRfY3VycmVudF91c2VyKCk7DQoJfQ0KDQoJLy8gcHJvbXB0IHN0eWxlDQoJJHNfcHJvbXB0ID0gJHNfdXNlci4iICZndDsiOw0KCS8vIHNlcnZlciBpcA0KCSRzX3NlcnZlcl9pcCA9IGdldGhvc3RieW5hbWUoJF9TRVJWRVJbIkhUVFBfSE9TVCJdKTsNCgkvLyB5b3VyIGlwIDstKQ0KCSRzX215X2lwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107DQoJJHNfcmVzdWx0ID0gIiI7DQoNCglnbG9iYWwgJHNfcHl0aG9uLCAkc19wZXJsLCAkc19ydWJ5LCAkc19ub2RlLCAkc19ub2RlanMsICRzX2djYywgJHNfamF2YSwgJHNfamF2YWMsICRzX3RhciwgJHNfd2dldCwgJHNfbHdwZG93bmxvYWQsICRzX2x5bngsICRzX2N1cmw7DQoNCgkkc19hY2Nlc3MgPSBhcnJheSgic19weXRob24iLCAic19wZXJsIiwgInNfcnVieSIsICJzX25vZGUiLCAic19ub2RlanMiLCAic19nY2MiLCAic19qYXZhIiwgInNfamF2YWMiLCAic190YXIiLCAic193Z2V0IiwgInNfbHdwZG93bmxvYWQiLCAic19seW54IiwgInNfY3VybCIpOw0KCWZvcmVhY2goJHNfYWNjZXNzIGFzICRzKXsNCgkJaWYoaXNzZXQoJF9DT09LSUVbJHNdKSl7ICQkcyA9ICRfQ09PS0lFWyRzXTsgfQ0KCQllbHNlew0KCQkJaWYoIWlzc2V0KCRfQ09PS0lFWydiMzc0ayddKSl7DQoJCQkJJHQgPSBleHBsb2RlKCJfIiwgJHMpOw0KCQkJCSR0ID0gY2hlY2tfYWNjZXNzKCR0WzFdKTsNCgkJCQlpZigkdCE9PWZhbHNlKXsNCgkJCQkJJCRzID0gJHQ7DQoJCQkJCXNldGNvb2tpZSgkcywgJCRzICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyBkb3dubG9hZCBmaWxlIHNwZWNpZmllZCBieSA/ZGw9PGZpbGU+DQoJaWYoaXNzZXQoJF9HUFsnZGwnXSkgJiYgKCRfR1BbJ2RsJ10gIT0gIiIpKXsNCgkJb2JfZW5kX2NsZWFuKCk7DQoJCSRmID0gJF9HUFsnZGwnXTsNCgkJJGZjID0gZmdjKCRmKTsNCgkJaGVhZGVyKCJDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOw0KCQloZWFkZXIoIkNvbnRlbnQtbGVuZ3RoOiAiLnN0cmxlbigkZmMpKTsNCgkJaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cIiIuYmFzZW5hbWUoJGYpLiJcIjsiKTsNCgkJZWNobyAkZmM7DQoJCWRpZSgpOw0KCX0NCgkvLyBtYXNzYWN0DQoJaWYoaXNzZXQoJF9HUFsneiddKSl7DQoJCSRzX21hc3NhY3QgPSBpc3NldCgkX0NPT0tJRVsnbWFzc2FjdCddKT8gJF9DT09LSUVbJ21hc3NhY3QnXToiIjsNCgkJJHNfYnVmZmVyID0gaXNzZXQoJF9DT09LSUVbJ2J1ZmZlciddKT8gcnRyaW0oc3MoJF9DT09LSUVbJ2J1ZmZlciddKSwifCIpOiIiOw0KCQkkc19saXN0cyA9IGV4cGxvZGUoInwiLCAkc19idWZmZXIpOw0KDQoJCSRzX2NvdW50ZXIgPSAwOw0KCQlpZighZW1wdHkoJHNfYnVmZmVyKSl7DQoJCQlpZigkX0dQWyd6J109PSdtb3Zlb2snKXsNCgkJCQlmb3JlYWNoKCRzX2xpc3RzIGFzICRzX2wpIGlmKHJlbmFtZSgkc19sLCRzX2N3ZC5iYXNlbmFtZSgkc19sKSkpICRzX2NvdW50ZXIrKzsNCgkJCQlpZigkc19jb3VudGVyPjApICRzX3Jlc3VsdCAuPSBub3RpZigkc19jb3VudGVyLiIgaXRlbXMgbW92ZWQiKTsNCgkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiTm8gaXRlbXMgbW92ZWQiKTsNCgkJCX0NCgkJCWVsc2VpZigkX0dQWyd6J109PSdjb3B5b2snKXsNCgkJCQlmb3JlYWNoKCRzX2xpc3RzIGFzICRzX2wpew0KCQkJCQlpZihAaXNfZGlyKCRzX2wpKXsNCgkJCQkJCWNvcHlzKCRzX2wsJHNfY3dkLmJhc2VuYW1lKCRzX2wpKTsNCgkJCQkJCWlmKGZpbGVfZXhpc3RzKCRzX2N3ZC5iYXNlbmFtZSgkc19sKSkpICRzX2NvdW50ZXIrKzsNCgkJCQkJfQ0KCQkJCQllbHNlaWYoQGlzX2ZpbGUoJHNfbCkpew0KCQkJCQkJY29weSgkc19sLCRzX2N3ZC5iYXNlbmFtZSgkc19sKSk7DQoJCQkJCQlpZihmaWxlX2V4aXN0cygkc19jd2QuYmFzZW5hbWUoJHNfbCkpKSAkc19jb3VudGVyKys7DQoJCQkJCX0NCgkJCQl9DQoJCQkJaWYoJHNfY291bnRlcj4wKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfY291bnRlci4iIGl0ZW1zIGNvcGllZCIpOw0KCQkJCWVsc2UgJHNfcmVzdWx0IC49IG5vdGlmKCJObyBpdGVtcyBjb3BpZWQiKTsNCgkJCX0NCgkJCWVsc2VpZigkX0dQWyd6J109PSdkZWxvaycpew0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJHNfbCl7DQoJCQkJCWlmKEBpc19maWxlKCRzX2wpKXsNCgkJCQkJCWlmKHVubGluaygkc19sKSkgJHNfY291bnRlcisrOw0KCQkJCQl9DQoJCQkJCWVsc2VpZihAaXNfZGlyKCRzX2wpKXsNCgkJCQkJCXJtZGlycygkc19sKTsNCgkJCQkJCWlmKCFmaWxlX2V4aXN0cygkc19sKSkgJHNfY291bnRlcisrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWlmKCRzX2NvdW50ZXI+MCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2NvdW50ZXIuIiBpdGVtcyBkZWxldGVkIik7DQoJCQkJZWxzZSAkc19yZXN1bHQgLj0gbm90aWYoIk5vIGl0ZW1zIGRlbGV0ZWQiKTsNCgkJCX0NCgkJCWVsc2VpZihpc3NldCgkX0dQWydjaG1vZG9rJ10pKXsNCgkJCQkkc19tb2QgPSBvY3RkZWMoJF9HUFsnY2htb2RvayddKTsNCgkJCQlmb3JlYWNoKCRzX2xpc3RzIGFzICRzX2wpIGlmKGNobW9kKCRzX2wsJHNfbW9kKSkgJHNfY291bnRlcisrOw0KCQkJCWlmKCRzX2NvdW50ZXI+MCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2NvdW50ZXIuIiBpdGVtcyBjaGFuZ2VkIG1vZGUgdG8gIi5kZWNvY3QoJHNfbW9kKSk7DQoJCQkJZWxzZSAkc19yZXN1bHQgLj0gbm90aWYoIk5vIGl0ZW1zIG1vZGlmaWVkIik7DQoJCQl9DQoJCQllbHNlaWYoaXNzZXQoJF9HUFsndG91Y2hvayddKSl7DQoJCQkJJHNfZGF0ZW5ldyA9IHN0cnRvdGltZSgkX0dQWyd0b3VjaG9rJ10pOw0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJHNfbCkgaWYodG91Y2goJHNfbCwkc19kYXRlbmV3KSkgJHNfY291bnRlcisrOw0KCQkJCWlmKCRzX2NvdW50ZXI+MCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2NvdW50ZXIuIiBpdGVtcyBjaGFuZ2VkIGFjY2VzcyBhbmQgbW9kaWZpY2F0aW9uIHRpbWUgdG8gIi5AZGF0ZSgiZC1NLVkgSDppOnMiLCRzX2RhdGVuZXcpKTsNCgkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiTm8gaXRlbXMgbW9kaWZpZWQiKTsNCgkJCX0NCgkJCWVsc2VpZihpc3NldCgkX0dQWydjb21wcmVzc3ppcG9rJ10pKXsNCgkJCQkkc19maWxlID0gJF9HUFsnY29tcHJlc3N6aXBvayddOw0KCQkJCWlmKHppcCgkc19saXN0cywgJHNfZmlsZSkpICRzX3Jlc3VsdCAuPSBub3RpZigiQXJjaGl2ZSBjcmVhdGVkIDogIi5oc3MoJHNfZmlsZSkpOw0KCQkJCWVsc2UgJHNfcmVzdWx0IC49IG5vdGlmKCJFcnJvciBjcmVhdGluZyBhcmNoaXZlIGZpbGUiKTsNCgkJCX0NCgkJCWVsc2VpZihpc3NldCgkX0dQWydjb21wcmVzc3Rhcm9rJ10pKXsNCgkJCQkkc19saXN0c18gPSBhcnJheSgpOw0KCQkJCSRzX2ZpbGUgPSAkX0dQWydjb21wcmVzc3Rhcm9rJ107DQoJCQkJJHNfZmlsZSA9IGJhc2VuYW1lKCRzX2ZpbGUpOw0KDQoJCQkJJHNfbGlzdHNfXyA9IGFycmF5X21hcCgiYmFzZW5hbWUiLCAkc19saXN0cyk7DQoJCQkJJHNfbGlzdHNfID0gYXJyYXlfbWFwKCJwZiIsICRzX2xpc3RzX18pOw0KCQkJCWV4ZSgidGFyIGNmIFwiIi4kc19maWxlLiJcIiAiLmltcGxvZGUoIiAiLCAkc19saXN0c18pKTsNCg0KCQkJCWlmKEBpc19maWxlKCRzX2ZpbGUpKSAkc19yZXN1bHQgLj0gbm90aWYoIkFyY2hpdmUgY3JlYXRlZCA6ICIuaHNzKCRzX2ZpbGUpKTsNCgkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiRXJyb3IgY3JlYXRpbmcgYXJjaGl2ZSBmaWxlIik7DQoJCQl9DQoJCQllbHNlaWYoaXNzZXQoJF9HUFsnY29tcHJlc3N0YXJnem9rJ10pKXsNCgkJCQkkc19saXN0c18gPSBhcnJheSgpOw0KCQkJCSRzX2ZpbGUgPSAkX0dQWydjb21wcmVzc3Rhcmd6b2snXTsNCgkJCQkkc19maWxlID0gYmFzZW5hbWUoJHNfZmlsZSk7DQoNCgkJCQkkc19saXN0c19fID0gYXJyYXlfbWFwKCJiYXNlbmFtZSIsICRzX2xpc3RzKTsNCgkJCQkkc19saXN0c18gPSBhcnJheV9tYXAoInBmIiwgJHNfbGlzdHNfXyk7DQoJCQkJZXhlKCJ0YXIgY3pmIFwiIi4kc19maWxlLiJcIiAiLmltcGxvZGUoIiAiLCAkc19saXN0c18pKTsNCg0KCQkJCWlmKEBpc19maWxlKCRzX2ZpbGUpKSAkc19yZXN1bHQgLj0gbm90aWYoIkFyY2hpdmUgY3JlYXRlZCA6ICIuaHNzKCRzX2ZpbGUpKTsNCgkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiRXJyb3IgY3JlYXRpbmcgYXJjaGl2ZSBmaWxlIik7DQoJCQl9DQoJCQllbHNlaWYoaXNzZXQoJF9HUFsnZXh0cmFjdHppcG9rJ10pKXsNCgkJCQkkc19maWxlID0gJF9HUFsnZXh0cmFjdHppcG9rJ107DQoJCQkJJHppcCA9IG5ldyBaaXBBcmNoaXZlKCk7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkZil7DQoJCQkJCSRzX3RhcmdldCA9ICRzX2ZpbGUuYmFzZW5hbWUoJGYsIi56aXAiKTsNCgkJCQkJaWYoJHppcC0+b3BlbigkZikpew0KCQkJCQkJaWYoIUBpc19kaXIoJHNfdGFyZ2V0KSkgQG1rZGlyKCRzX3RhcmdldCk7DQoJCQkJCQlpZigkemlwLT5leHRyYWN0VG8oJHNfdGFyZ2V0KSkgJHNfcmVzdWx0IC49IG5vdGlmKCJGaWxlcyBleHRyYWN0ZWQgdG8gIi5oc3MoJHNfdGFyZ2V0KSk7DQoJCQkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiRXJyb3IgZXh0cmF0aW5nIGFyY2hpdmUgZmlsZSIpOw0KCQkJCQkJJHppcC0+Y2xvc2UoKTsNCgkJCQkJfQ0KCQkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZigiRXJyb3Igb3BlbmluZyBhcmNoaXZlIGZpbGUiKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlaWYoaXNzZXQoJF9HUFsnZXh0cmFjdHRhcm9rJ10pKXsNCgkJCQkkc19maWxlID0gJF9HUFsnZXh0cmFjdHRhcm9rJ107DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkZil7DQoJCQkJCSRzX3RhcmdldCA9ICIiOw0KCQkJCQkkc190YXJnZXQgPSBiYXNlbmFtZSgkZiwiLnRhciIpOw0KCQkJCQlpZighQGlzX2Rpcigkc190YXJnZXQpKSBAbWtkaXIoJHNfdGFyZ2V0KTsNCgkJCQkJZXhlKCJ0YXIgeGYgXCIiLmJhc2VuYW1lKCRmKS4iXCIgLUMgXCIiLiRzX3RhcmdldC4iXCIiKTsNCgkJCQl9DQoJCQl9DQoJCQllbHNlaWYoaXNzZXQoJF9HUFsnZXh0cmFjdHRhcmd6b2snXSkpew0KCQkJCSRzX2ZpbGUgPSAkX0dQWydleHRyYWN0dGFyZ3pvayddOw0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJGYpew0KCQkJCQkkc190YXJnZXQgPSAiIjsNCgkJCQkJaWYoc3RycG9zKHN0cnRvbG93ZXIoJGYpLCAiLnRhci5neiIpIT09ZmFsc2UpICRzX3RhcmdldCA9IGJhc2VuYW1lKCRmLCIudGFyLmd6Iik7DQoJCQkJCWVsc2VpZihzdHJwb3Moc3RydG9sb3dlcigkZiksICIudGd6IikhPT1mYWxzZSkgJHNfdGFyZ2V0ID0gYmFzZW5hbWUoJGYsIi50Z3oiKTsNCgkJCQkJaWYoIUBpc19kaXIoJHNfdGFyZ2V0KSkgQG1rZGlyKCRzX3RhcmdldCk7DQoJCQkJCWV4ZSgidGFyIHh6ZiBcIiIuYmFzZW5hbWUoJGYpLiJcIiAtQyBcIiIuJHNfdGFyZ2V0LiJcIiIpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlzZXRjb29raWUoImJ1ZmZlciIsICIiICx0aW1lKCkgLSAkc19sb2dpbl90aW1lKTsNCgkJc2V0Y29va2llKCJtYXNzYWN0IiwgIiIgLHRpbWUoKSAtICRzX2xvZ2luX3RpbWUpOw0KCX0NCglpZihpc3NldCgkX0dQWyd5J10pKXsNCgkJJHNfbWFzc2FjdCA9IGlzc2V0KCRfQ09PS0lFWydtYXNzYWN0J10pPyAkX0NPT0tJRVsnbWFzc2FjdCddOiIiOw0KCQkkc19idWZmZXIgPSBpc3NldCgkX0NPT0tJRVsnYnVmZmVyJ10pPyBydHJpbShzcygkX0NPT0tJRVsnYnVmZmVyJ10pLCJ8Iik6IiI7DQoJCSRzX2xpc3RzID0gZXhwbG9kZSgifCIsICRzX2J1ZmZlcik7DQoNCgkJaWYoIWVtcHR5KCRzX2J1ZmZlcikpew0KCQkJaWYoJF9HUFsneSddPT0nZGVsZXRlJyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJEZWxldGUgPyA8YSBocmVmPSciLiRzX3NlbGYuIno9ZGVsb2siLiInPlllczwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuIic+Tm88L2E+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCQllbHNlaWYoJF9HUFsneSddPT0ncGFzdGUnICYmICRzX21hc3NhY3Q9PSdjdXQnKXsNCgkJCQkkc19yZXN1bHQgLj0gbm90aWYoIk1vdmUgaGVyZSA/IDxhIGhyZWY9JyIuJHNfc2VsZi4iej1tb3Zlb2siLiInPlllczwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuIic+Tm88L2E+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCQllbHNlaWYoJF9HUFsneSddPT0ncGFzdGUnICYmICRzX21hc3NhY3Q9PSdjb3B5Jyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJDb3B5IGhlcmUgPyA8YSBocmVmPSciLiRzX3NlbGYuIno9Y29weW9rIi4iJz5ZZXM8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiInPk5vPC9hPiIpOw0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJHNfbCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2wpOw0KCQkJfQ0KCQkJZWxzZWlmKCRfR1BbJ3knXT09J2NobW9kJyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJQZXJtaXNzaW9ucyA/IDxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCc+PGlucHV0IGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIHZhbHVlPScwNzU1JyBuYW1lPSdjaG1vZG9rJyBzdHlsZT0nd2lkdGg6MzBweDt0ZXh0LWFsaWduOmNlbnRlcjsnIG1heGxlbmd0aD0nNCcgLz48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgbmFtZT0neicgdHlwZT0nc3VibWl0JyB2YWx1ZT0nR28gIScgLz48L2Zvcm0+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCQllbHNlaWYoJF9HUFsneSddPT0ndG91Y2gnKXsNCgkJCQkkc19yZXN1bHQgLj0gbm90aWYoIlRvdWNoID8gPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz48aW5wdXQgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgdmFsdWU9JyIuQGRhdGUoImQtTS1ZIEg6aTpzIix0aW1lKCkpLiInIG5hbWU9J3RvdWNob2snIHN0eWxlPSd3aWR0aDoxMzBweDt0ZXh0LWFsaWduOmNlbnRlcjsnIC8+PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIG5hbWU9J3onIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J0dvICEnIC8+PC9mb3JtPiIpOw0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJHNfbCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2wpOw0KCQkJfQ0KCQkJZWxzZWlmKCRfR1BbJ3knXT09J2V4dHJhY3R6aXAnKXsNCgkJCQkkc19yZXN1bHQgLj0gbm90aWYoIkV4dHJhY3QgdG8gPyA8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPjxpbnB1dCBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nIi5oc3MoJHNfY3dkKS4iJyBuYW1lPSdleHRyYWN0emlwb2snIHN0eWxlPSd3aWR0aDo1MCU7JyAvPjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyBuYW1lPSd6JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdHbyAhJyAvPjwvZm9ybT4iKTsNCgkJCQlmb3JlYWNoKCRzX2xpc3RzIGFzICRzX2wpICRzX3Jlc3VsdCAuPSBub3RpZigkc19sKTsNCgkJCX0NCgkJCWVsc2VpZigkX0dQWyd5J109PSdleHRyYWN0dGFyJyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJFeHRyYWN0IHRvID8gPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz48aW5wdXQgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgdmFsdWU9JyIuaHNzKCRzX2N3ZCkuIicgbmFtZT0nZXh0cmFjdHRhcm9rJyBzdHlsZT0nd2lkdGg6NTAlOycgLz48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgbmFtZT0neicgdHlwZT0nc3VibWl0JyB2YWx1ZT0nR28gIScgLz48L2Zvcm0+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCQllbHNlaWYoJF9HUFsneSddPT0nZXh0cmFjdHRhcmd6Jyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJFeHRyYWN0IHRvID8gPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz48aW5wdXQgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgdmFsdWU9JyIuaHNzKCRzX2N3ZCkuIicgbmFtZT0nZXh0cmFjdHRhcmd6b2snIHN0eWxlPSd3aWR0aDo1MCU7JyAvPjxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyBuYW1lPSd6JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdHbyAhJyAvPjwvZm9ybT4iKTsNCgkJCQlmb3JlYWNoKCRzX2xpc3RzIGFzICRzX2wpICRzX3Jlc3VsdCAuPSBub3RpZigkc19sKTsNCgkJCX0NCgkJCWVsc2VpZigkX0dQWyd5J109PSdjb21wcmVzc3ppcCcpew0KCQkJCSRzX3Jlc3VsdCAuPSBub3RpZigiQ29tcHJlc3MgdG8gPyA8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPjxpbnB1dCBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nIi5oc3MoJHNfY3dkKS5zdWJzdHIobWQ1KHRpbWUoKSksMCw4KS4iLnppcCcgbmFtZT0nY29tcHJlc3N6aXBvaycgc3R5bGU9J3dpZHRoOjUwJTsnIC8+PGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIG5hbWU9J3onIHR5cGU9J3N1Ym1pdCcgdmFsdWU9J0dvICEnIC8+PC9mb3JtPiIpOw0KCQkJCWZvcmVhY2goJHNfbGlzdHMgYXMgJHNfbCkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2wpOw0KCQkJfQ0KCQkJZWxzZWlmKCRfR1BbJ3knXT09J2NvbXByZXNzdGFyJyl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJDb21wcmVzcyB0byA/IDxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCc+PGlucHV0IGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIHZhbHVlPSciLmhzcygkc19jd2QpLnN1YnN0cihtZDUodGltZSgpKSwwLDgpLiIudGFyJyBuYW1lPSdjb21wcmVzc3Rhcm9rJyBzdHlsZT0nd2lkdGg6NTAlOycgLz48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgbmFtZT0neicgdHlwZT0nc3VibWl0JyB2YWx1ZT0nR28gIScgLz48L2Zvcm0+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCQllbHNlaWYoJF9HUFsneSddPT0nY29tcHJlc3N0YXJneicpew0KCQkJCSRzX3Jlc3VsdCAuPSBub3RpZigiQ29tcHJlc3MgdG8gPyA8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPjxpbnB1dCBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyB2YWx1ZT0nIi5oc3MoJHNfY3dkKS5zdWJzdHIobWQ1KHRpbWUoKSksMCw4KS4iLnRhci5neicgbmFtZT0nY29tcHJlc3N0YXJnem9rJyBzdHlsZT0nd2lkdGg6NTAlOycgLz48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgbmFtZT0neicgdHlwZT0nc3VibWl0JyB2YWx1ZT0nR28gIScgLz48L2Zvcm0+Iik7DQoJCQkJZm9yZWFjaCgkc19saXN0cyBhcyAkc19sKSAkc19yZXN1bHQgLj0gbm90aWYoJHNfbCk7DQoJCQl9DQoJCX0NCgl9DQoNCgkvLyB2aWV3IGltYWdlIHNwZWNpZmllZCBieSA/aW1nPTxmaWxlPg0KCWlmKGlzc2V0KCRfR1BbJ2ltZyddKSl7DQoJCW9iX2VuZF9jbGVhbigpOw0KCQkkc19kID0gaXNzZXQoJF9HUFsnZCddKT8gJF9HUFsnZCddOiIiOw0KCQkkc19mID0gJF9HUFsnaW1nJ107DQoJCSRzX2luZiA9IEBnZXRpbWFnZXNpemUoJHNfZC4kc19mKTsNCgkJJHNfZXh0ID0gZXhwbG9kZSgkc19mLCAiLiIpOw0KCQkkc19leHQgPSAkc19leHRbY291bnQoJHNfZXh0KS0xXTsNCgkgCWhlYWRlcigiQ29udGVudC10eXBlOiAiLiRzX2luZlsibWltZSJdKTsNCgkgCWhlYWRlcigiQ2FjaGUtY29udHJvbDogcHVibGljIik7DQoJCWhlYWRlcigiRXhwaXJlczogIi5AZGF0ZSgiciIsIEBta3RpbWUoMCwwLDAsMSwxLDIwMzApKSk7DQoJCWhlYWRlcigiQ2FjaGUtY29udHJvbDogbWF4LWFnZT0iLig2MCo2MCoyNCo3KSk7Iw0KCSAJcmVhZGZpbGUoJHNfZC4kc19mKTsNCgkgCWRpZSgpOw0KCX0gLy8gcmVuYW1lIGZpbGUgb3IgZm9sZGVyDQoJZWxzZWlmKGlzc2V0KCRfR1BbJ29sZG5hbWUnXSkgJiYgaXNzZXQoJF9HUFsncmVuYW1lJ10pKXsNCgkJJHNfb2xkID0gJF9HUFsnb2xkbmFtZSddOw0KCQkkc19uZXcgPSAkX0dQWydyZW5hbWUnXTsNCg0KCQkkc19yZW5tc2cgPSAiIjsNCgkJaWYoQGlzX2Rpcigkc19vbGQpKSAkc19yZW5tc2cgPSAoQHJlbmFtZSgkc19vbGQsICRzX25ldykpPyAiRGlyZWN0b3J5ICIuJHNfb2xkLiIgcmVuYW1lZCB0byAiLiRzX25ldyA6ICJVbmFibGUgdG8gcmVuYW1lIGRpcmVjdG9yeSAiLiRzX29sZC4iIHRvICIuJHNfbmV3Ow0KCQllbHNlaWYoQGlzX2ZpbGUoJHNfb2xkKSkgJHNfcmVubXNnID0gKEByZW5hbWUoJHNfb2xkLCAkc19uZXcpKT8gIkZpbGUgIi4kc19vbGQuIiByZW5hbWVkIHRvICIuJHNfbmV3IDogIlVuYWJsZSB0byByZW5hbWUgZmlsZSAiLiRzX29sZC4iIHRvICIuJHNfbmV3Ow0KCQllbHNlICRzX3Jlbm1zZyA9ICJDYW5ub3QgZmluZCB0aGUgcGF0aCBzcGVjaWZpZWQgIi4kc19vbGQ7DQoNCgkJJHNfcmVzdWx0IC49IG5vdGlmKCRzX3Jlbm1zZyk7DQoJCSRzX2ZuZXcgPSAkc19uZXc7DQoJfSAvLyBjb25maXJtIGRlbGV0ZQ0KCWVsc2VpZighZW1wdHkoJF9HUFsnZGVsJ10pKXsNCgkJJHNfZGVsID0gdHJpbSgkX0dQWydkZWwnXSk7DQoJCSRzX3Jlc3VsdCAuPSBub3RpZigiRGVsZXRlICIuYmFzZW5hbWUoJHNfZGVsKS4iID8gPGEgaHJlZj0nIi4kc19zZWxmLiJkZWxldGU9Ii5wbCgkc19kZWwpLiInPlllczwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuIic+Tm88L2E+Iik7DQoJfSAvLyBkZWxldGUgZmlsZQ0KCWVsc2VpZighZW1wdHkoJF9HUFsnZGVsZXRlJ10pKXsNCgkJJHNfZiA9ICRfR1BbJ2RlbGV0ZSddOw0KCQkkc19kZWxtc2cgPSAiIjsNCg0KCQlpZihAaXNfZmlsZSgkc19mKSkgJHNfZGVsbXNnID0gKHVubGluaygkc19mKSk/ICJGaWxlIHJlbW92ZWQgOiAiLiRzX2YgOiAiVW5hYmxlIHRvIHJlbW92ZSBmaWxlICIuJHNfZjsNCgkJZWxzZWlmKEBpc19kaXIoJHNfZikpew0KCQkJcm1kaXJzKCRzX2YpOw0KCQkJJHNfZGVsbXNnID0gKEBpc19kaXIoJHNfZikpPyAiVW5hYmxlIHRvIHJlbW92ZSBkaXJlY3RvcnkgIi4kc19mIDogIkRpcmVjdG9yeSByZW1vdmVkIDogIi4kc19mOw0KCQl9DQoJCWVsc2UgJHNfZGVsbXNnID0gIkNhbm5vdCBmaW5kIHRoZSBwYXRoIHNwZWNpZmllZCAiLiRzX2Y7DQoJCSRzX3Jlc3VsdCAuPSBub3RpZigkc19kZWxtc2cpOw0KCX0gLy8gY3JlYXRlIGRpcg0KCWVsc2VpZighZW1wdHkoJF9HUFsnbWtkaXInXSkpew0KCQkkc19mID0gJHNfY3dkLiRfR1BbJ21rZGlyJ107DQoJCSRzX2Rpcm1zZyA9ICIiOw0KDQoJCSRzX251bSA9IDE7DQoJCWlmKEBpc19kaXIoJHNfZikpew0KCQkJJHNfcG9zID0gc3RycnBvcygkc19mLCJfIik7DQoJCQlpZigkc19wb3MhPT1mYWxzZSkgJHNfbnVtID0gKGludCkgc3Vic3RyKCRzX2YsICRzX3BvcysxKTsNCgkJCXdoaWxlKEBpc19kaXIoc3Vic3RyKCRzX2YsIDAsICRzX3BvcykuIl8iLiRzX251bSkpew0KCQkJCSRzX251bSsrOw0KCQkJfQ0KCQkJJHNfZiA9IHN1YnN0cigkc19mLCAwLCAkc19wb3MpLiJfIi4kc19udW07DQoJCX0NCgkJaWYobWtkaXIoJHNfZikpICRzX2Rpcm1zZyA9ICJEaXJlY3RvcnkgY3JlYXRlZCAiLiRzX2Y7DQoJCWVsc2UgJHNfZGlybXNnID0gIlVuYWJsZSB0byBjcmVhdGUgZGlyZWN0b3J5ICIuJHNfZjsNCg0KCQkkc19yZXN1bHQgLj0gbm90aWYoJHNfZGlybXNnKTsNCgl9IC8vIHBocCBldmFsKCkgZnVuY3Rpb24NCglpZihpc3NldCgkX0dQWyd4J10pICYmICgkX0dQWyd4J109PSdldmFsJykpew0KCQkkc19jb2RlID0gIiI7DQoJCSRzX3JlcyA9ICIiOw0KCQkkc19ldmFsb3B0aW9uID0gIiI7DQoJCSRzX2xhbmcgPSAicGhwIjsNCg0KCQlpZihpc3NldCgkX0dQWydldmFsY29kZSddKSl7DQoJCQkkc19jb2RlID0gJF9HUFsnZXZhbGNvZGUnXTsNCgkJCSRzX2V2YWxvcHRpb24gPSAoaXNzZXQoJF9HUFsnZXZhbG9wdGlvbiddKSk/ICRfR1BbJ2V2YWxvcHRpb24nXToiIjsNCgkJCSRzX3RtcGRpciA9IGdldF93cml0YWJsZWRpcigpOw0KDQoJCQlpZihpc3NldCgkX0dQWydsYW5nJ10pKXskc19sYW5nID0gJF9HUFsnbGFuZyddO30NCg0KCQkJaWYoc3RydG9sb3dlcigkc19sYW5nKT09J3BocCcpew0KCQkJCW9iX3N0YXJ0KCk7DQoJCQkJZXZhbCgkc19jb2RlKTsNCgkJCQkkc19yZXMgPSBvYl9nZXRfY29udGVudHMoKTsNCgkJCQlvYl9lbmRfY2xlYW4oKTsNCgkJCX0NCgkJCWVsc2VpZihzdHJ0b2xvd2VyKCRzX2xhbmcpPT0ncHl0aG9uJ3x8c3RydG9sb3dlcigkc19sYW5nKT09J3BlcmwnfHxzdHJ0b2xvd2VyKCRzX2xhbmcpPT0ncnVieSd8fHN0cnRvbG93ZXIoJHNfbGFuZyk9PSdub2RlJ3x8c3RydG9sb3dlcigkc19sYW5nKT09J25vZGVqcycpew0KCQkJCSRzX3JhbmQgPSBtZDUodGltZSgpLnJhbmQoMCwxMDApKTsNCgkJCQkkc19zY3JpcHQgPSAkc190bXBkaXIuJHNfcmFuZDsNCgkJCQlpZihmaWxlX3B1dF9jb250ZW50cygkc19zY3JpcHQsICRzX2NvZGUpIT09ZmFsc2Upew0KCQkJCQkkc19yZXMgPSBleGUoJHNfbGFuZy4iICIuJHNfZXZhbG9wdGlvbi4iICIuJHNfc2NyaXB0KTsNCgkJCQkJdW5saW5rKCRzX3NjcmlwdCk7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZWlmKHN0cnRvbG93ZXIoJHNfbGFuZyk9PSdnY2MnKXsNCgkJCQkkc19zY3JpcHQgPSBtZDUodGltZSgpLnJhbmQoMCwxMDApKTsNCgkJCQljaGRpcigkc190bXBkaXIpOw0KCQkJCWlmKGZpbGVfcHV0X2NvbnRlbnRzKCRzX3NjcmlwdC4iLmMiLCAkc19jb2RlKSE9PWZhbHNlKXsNCgkJCQkJJHNfc2NyaXB0b3V0ID0gJHNfd2luID8gJHNfc2NyaXB0LiIuZXhlIiA6ICRzX3NjcmlwdDsNCgkJCQkJJHNfcmVzID0gZXhlKCJnY2MgIi4kc19zY3JpcHQuIi5jIC1vICIuJHNfc2NyaXB0b3V0LiRzX2V2YWxvcHRpb24pOw0KCQkJCQlpZihAaXNfZmlsZSgkc19zY3JpcHRvdXQpKXsNCgkJCQkJCSRzX3JlcyA9ICRzX3dpbiA/IGV4ZSgkc19zY3JpcHRvdXQpOmV4ZSgiY2htb2QgK3ggIi4kc19zY3JpcHRvdXQuIiA7IC4vIi4kc19zY3JpcHRvdXQpOw0KCQkJCQkJcmVuYW1lKCRzX3NjcmlwdG91dCwgJHNfc2NyaXB0b3V0LiJkZWwiKTsNCgkJCQkJCXVubGluaygkc19zY3JpcHRvdXQuImRlbCIpOw0KCQkJCQl9DQoJCQkJCXVubGluaygkc19zY3JpcHQuIi5jIik7DQoJCQkJfQ0KCQkJCWNoZGlyKCRzX2N3ZCk7DQoJCQl9DQoJCQllbHNlaWYoc3RydG9sb3dlcigkc19sYW5nKT09J2phdmEnKXsNCgkJCQlpZihwcmVnX21hdGNoKCIvY2xhc3NcIChbXntdKyl7L2kiLCRzX2NvZGUsICRzX3IpKXsNCgkJCQkJJHNfY2xhc3NuYW1lID0gdHJpbSgkc19yWzFdKTsNCgkJCQkJJHNfc2NyaXB0ID0gJHNfY2xhc3NuYW1lOw0KCQkJCX0NCgkJCQllbHNlew0KCQkJCQkkc19yYW5kID0gImIzNzRrXyIuc3Vic3RyKG1kNSh0aW1lKCkucmFuZCgwLDEwMCkpLDAsOCk7DQoJCQkJCSRzX3NjcmlwdCA9ICRzX3JhbmQ7DQoJCQkJCSRzX2NvZGUgPSAiY2xhc3MgIi4kc19yYW5kLiIgeyAiLiRzX2NvZGUgLiAiIH0gIjsNCgkJCQl9DQoJCQkJY2hkaXIoJHNfdG1wZGlyKTsNCgkJCQlpZihmaWxlX3B1dF9jb250ZW50cygkc19zY3JpcHQuIi5qYXZhIiwgJHNfY29kZSkhPT1mYWxzZSl7DQoJCQkJCSRzX3JlcyA9IGV4ZSgiamF2YWMgIi4kc19zY3JpcHQuIi5qYXZhIik7DQoJCQkJCWlmKEBpc19maWxlKCRzX3NjcmlwdC4iLmNsYXNzIikpew0KCQkJCQkJJHNfcmVzIC49IGV4ZSgiamF2YSAiLiRzX2V2YWxvcHRpb24uIiAiLiRzX3NjcmlwdCk7DQoJCQkJCQl1bmxpbmsoJHNfc2NyaXB0LiIuY2xhc3MiKTsNCgkJCQkJfQ0KCQkJCQl1bmxpbmsoJHNfc2NyaXB0LiIuamF2YSIpOw0KCQkJCX0NCgkJCQljaGRpcigkc19wd2QpOw0KCQkJfQ0KCQl9DQoNCgkJJHNfbGFuZ19hdmFpbGFibGUgPSAiPG9wdGlvbiB2YWx1ZT0ncGhwJz5waHA8L29wdGlvbj4iOw0KCQkkc19zZWxlY3RlZCA9ICIiOw0KCQkkc19hY2Nlc3MgPSBhcnJheSgic19weXRob24iLCAic19wZXJsIiwgInNfcnVieSIsICJzX25vZGUiLCAic19ub2RlanMiLCAic19nY2MiLCAic19qYXZhYyIpOw0KCQlmb3JlYWNoKCRzX2FjY2VzcyBhcyAkcyl7DQoJCQlpZihpc3NldCgkJHMpKXsNCgkJCQkkc190ID0gZXhwbG9kZSgiXyIsICRzKTsNCgkJCQkkc19jaGVja2VkID0gKCRzX2xhbmcgPT0gJHNfdFsxXSk/ICJzZWxlY3RlZCIgOiAiIjsNCgkJCQkkc19sYW5nX2F2YWlsYWJsZSAuPSAiPG9wdGlvbiB2YWx1ZT0nIi4kc190WzFdLiInICIuJHNfY2hlY2tlZC4iPiIuJHNfdFsxXS4iPC9vcHRpb24+IjsNCgkJCX0NCgkJfQ0KDQoJCSRzX2V2YWxvcHRpb25jbGFzcyA9ICgkc19sYW5nPT0icGhwIik/ICJzZW1idW55aSI6IiI7DQoJCSRzX2VfcmVzdWx0ID0gKCFlbXB0eSgkc19yZXMpKT8gIjxwcmUgaWQ9J2V2YWxyZXMnIGNsYXNzPSdidCcgc3R5bGU9J21hcmdpbjo0cHggMCAwIDA7cGFkZGluZzo2cHggMDsnID4iLmhzcygkc19yZXMpLiI8L3ByZT4iOiIiOw0KCQkkc19yZXN1bHQgLj0gIjxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCc+DQoJCQkJCTx0ZXh0YXJlYSBpZD0nZXZhbGNvZGUnIG5hbWU9J2V2YWxjb2RlJyBzdHlsZT0naGVpZ2h0OjE1MHB4OycgY2xhc3M9J3R4dGFyZWEnPiIuaHNzKCRzX2NvZGUpLiI8L3RleHRhcmVhPg0KCQkJCQk8dGFibGU+PHRyPjx0ZCBzdHlsZT0ncGFkZGluZzowOyc+PHA+PGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0nZXZhbGNvZGVzdWJtaXQnIGNsYXNzPSdpbnB1dHpidXQnIHZhbHVlPSdHbyAhJyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7JyAvPjwvcD4NCgkJCQkJPC90ZD48dGQ+PHNlbGVjdCBuYW1lPSdsYW5nJyBvbmNoYW5nZT0nZXZhbHNlbGVjdCh0aGlzKTsnIGNsYXNzPSdpbnB1dHpidXQnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDtwYWRkaW5nOjRweDsnPg0KCQkJCQkiLiRzX2xhbmdfYXZhaWxhYmxlLiINCgkJCQkJPC9zZWxlY3Q+DQoJCQkJCTwvdGQ+DQoJCQkJCTx0ZD48ZGl2IHRpdGxlPSdJZiB5b3Ugd2FudCB0byBnaXZlIGFkZGl0aW9uYWwgb3B0aW9uIHRvIGludGVycHJldGVyIG9yIGNvbXBpbGVyLCBnaXZlIGl0IGhlcmUnIGlkPSdhZGRpdGlvbmFsb3B0aW9uJyBjbGFzcz0nIi4kc19ldmFsb3B0aW9uY2xhc3MuIic+QWRkaXRpb25hbCBvcHRpb24mbmJzcDsmbmJzcDs8aW5wdXQgY2xhc3M9J2lucHV0eicgc3R5bGU9J3dpZHRoOjQwMHB4OycgdHlwZT0ndGV4dCcgbmFtZT0nZXZhbG9wdGlvbicgdmFsdWU9JyIuaHNzKCRzX2V2YWxvcHRpb24pLiInIGlkPSdldmFsb3B0aW9uJyAvPjwvZGl2PjwvdGQ+DQoJCQkJCTwvdHI+DQoJCQkJCTwvdGFibGU+DQoJCQkJCSIuJHNfZV9yZXN1bHQuIg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSd4JyB2YWx1ZT0nZXZhbCcgLz4NCgkJCQkJPC9mb3JtPiI7DQoJfSAvLyBmaW5kDQoJZWxzZWlmKGlzc2V0KCRfR1BbJ2ZpbmQnXSkpew0KCQkkc19wID0gJF9HUFsnZmluZCddOw0KDQoJCSRzX3R5cGUgPSBpc3NldCgkX0dQWyd0eXBlJ10pPyAkX0dQWyd0eXBlJ10gOiAic2ZpbGUiOw0KCQkkc19zZm5hbWUgPSAoIWVtcHR5KCRfR1BbJ3NmbmFtZSddKSk/ICRfR1BbJ3NmbmFtZSddOicnOw0KCQkkc19zZG5hbWUgPSAoIWVtcHR5KCRfR1BbJ3NkbmFtZSddKSk/ICRfR1BbJ3NkbmFtZSddOicnOw0KCQkkc19zZmNvbnRhaW4gPSAoIWVtcHR5KCRfR1BbJ3NmY29udGFpbiddKSk/ICRfR1BbJ3NmY29udGFpbiddOicnOw0KDQoJCSRzX3NmbmFtZXJlZ2V4Y2hlY2tlZCA9ICRzX3NmbmFtZWljYXNlY2hlY2tlZCA9ICRzX3NkbmFtZXJlZ2V4Y2hlY2tlZCA9ICRzX3NkbmFtZWljYXNlY2hlY2tlZCA9ICRzX3NmY29udGFpbnJlZ2V4Y2hlY2tlZCA9ICRzX3NmY29udGFpbmljYXNlY2hlY2tlZCA9ICRzX3N3cml0YWJsZWNoZWNrZWQgPSAkc19zcmVhZGFibGVjaGVja2VkID0gJHNfc2V4ZWN1dGFibGVjaGVja2VkID0gIiI7DQoJCSRzX3NmbmFtZXJlZ2V4ID0gJHNfc2ZuYW1laWNhc2UgPSAkc19zZG5hbWVyZWdleCA9ICRzX3NkbmFtZWljYXNlID0gJHNfc2Zjb250YWlucmVnZXggPSAkc19zZmNvbnRhaW5pY2FzZSA9ICRzX3N3cml0YWJsZSA9ICRzX3NyZWFkYWJsZSA9ICRzX3NleGVjdXRhYmxlID0gZmFsc2U7DQoNCgkJaWYoaXNzZXQoJF9HUFsnc2ZuYW1lcmVnZXgnXSkpeyAkc19zZm5hbWVyZWdleD10cnVlOyAkc19zZm5hbWVyZWdleGNoZWNrZWQ9ImNoZWNrZWQiOyB9DQoJCWlmKGlzc2V0KCRfR1BbJ3NmbmFtZWljYXNlJ10pKXsgJHNfc2ZuYW1laWNhc2U9dHJ1ZTsgJHNfc2ZuYW1laWNhc2VjaGVja2VkPSJjaGVja2VkIjsgfQ0KCQlpZihpc3NldCgkX0dQWydzZG5hbWVyZWdleCddKSl7ICRzX3NkbmFtZXJlZ2V4PXRydWU7ICRzX3NkbmFtZXJlZ2V4Y2hlY2tlZD0iY2hlY2tlZCI7IH0NCgkJaWYoaXNzZXQoJF9HUFsnc2RuYW1laWNhc2UnXSkpeyAkc19zZG5hbWVpY2FzZT10cnVlOyAkc19zZG5hbWVpY2FzZWNoZWNrZWQ9ImNoZWNrZWQiOyB9DQoJCWlmKGlzc2V0KCRfR1BbJ3NmY29udGFpbnJlZ2V4J10pKXsgJHNfc2Zjb250YWlucmVnZXg9dHJ1ZTsgJHNfc2Zjb250YWlucmVnZXhjaGVja2VkPSJjaGVja2VkIjsgfQ0KCQlpZihpc3NldCgkX0dQWydzZmNvbnRhaW5pY2FzZSddKSl7ICRzX3NmY29udGFpbmljYXNlPXRydWU7ICRzX3NmY29udGFpbmljYXNlY2hlY2tlZD0iY2hlY2tlZCI7IH0NCgkJaWYoaXNzZXQoJF9HUFsnc3dyaXRhYmxlJ10pKXsgJHNfc3dyaXRhYmxlPXRydWU7ICRzX3N3cml0YWJsZWNoZWNrZWQ9ImNoZWNrZWQiOyB9DQoJCWlmKGlzc2V0KCRfR1BbJ3NyZWFkYWJsZSddKSl7ICRzX3NyZWFkYWJsZT10cnVlOyAkc19zcmVhZGFibGVjaGVja2VkPSJjaGVja2VkIjsgfQ0KCQlpZihpc3NldCgkX0dQWydzZXhlY3V0YWJsZSddKSl7ICRzX3NleGVjdXRhYmxlPXRydWU7ICRzX3NleGVjdXRhYmxlY2hlY2tlZD0iY2hlY2tlZCI7IH0NCg0KCQkkc19zZXhlY2IgPSAoZnVuY3Rpb25fZXhpc3RzKCJpc19leGVjdXRhYmxlIikpPyAiPGlucHV0IGNsYXNzPSdjc3MtY2hlY2tib3gnIHR5cGU9J2NoZWNrYm94JyBuYW1lPSdzZXhlY3V0YWJsZScgdmFsdWU9J3NleGVjdXRhYmxlJyBpZD0nc2UnICIuJHNfc2V4ZWN1dGFibGVjaGVja2VkLiIgLz48bGFiZWwgY2xhc3M9J2Nzcy1sYWJlbCcgZm9yPSdzZSc+RXhlY3V0YWJsZTwvc3Bhbj4iOiIiOw0KDQoJCSRzX2NhbmRpZGF0ZSA9IGFycmF5KCk7DQoJCWlmKGlzc2V0KCRfR1BbJ3NnbyddKSl7DQoJCQkkc19hZiA9ICIiOw0KDQoJCQkkc19jYW5kaWRhdGUgPSBnZXRhbGxmaWxlcygkc19wKTsNCgkJCWlmKCRzX3R5cGU9PSdzZmlsZScpICRzX2NhbmRpZGF0ZSA9IEBhcnJheV9maWx0ZXIoJHNfY2FuZGlkYXRlLCAiaXNfZmlsZSIpOw0KCQkJZWxzZWlmKCRzX3R5cGU9PSdzZGlyJykgJHNfY2FuZGlkYXRlID0gQGFycmF5X2ZpbHRlcigkc19jYW5kaWRhdGUsICJpc19kaXIiKTsNCg0KCQkJZm9yZWFjaCgkc19jYW5kaWRhdGUgYXMgJHNfYSl7DQoJCQkJaWYoJHNfdHlwZT09J3NkaXInKXsNCgkJCQkJaWYoIWVtcHR5KCRzX3NkbmFtZSkpew0KCQkJCQkJaWYoJHNfc2RuYW1lcmVnZXgpew0KCQkJCQkJCWlmKCRzX3NkbmFtZWljYXNlKXtpZighcHJlZ19tYXRjaCgiLyIuJHNfc2RuYW1lLiIvaSIsIGJhc2VuYW1lKCRzX2EpKSkgJHNfY2FuZGlkYXRlID0gYXJyYXlfZGlmZigkc19jYW5kaWRhdGUsIGFycmF5KCRzX2EpKTt9DQoJCQkJCQkJZWxzZXtpZighcHJlZ19tYXRjaCgiLyIuJHNfc2RuYW1lLiIvIiwgYmFzZW5hbWUoJHNfYSkpKSAkc19jYW5kaWRhdGUgPSBhcnJheV9kaWZmKCRzX2NhbmRpZGF0ZSwgYXJyYXkoJHNfYSkpO30NCgkJCQkJCX0NCgkJCQkJCWVsc2V7DQoJCQkJCQkJaWYoJHNfc2RuYW1laWNhc2Upe2lmKHN0cnBvcyhzdHJ0b2xvd2VyKGJhc2VuYW1lKCRzX2EpKSwgc3RydG9sb3dlcigkc19zZG5hbWUpKT09PWZhbHNlKSAkc19jYW5kaWRhdGUgPSBhcnJheV9kaWZmKCRzX2NhbmRpZGF0ZSwgYXJyYXkoJHNfYSkpO30NCgkJCQkJCQllbHNle2lmKHN0cnBvcyhiYXNlbmFtZSgkc19hKSwgJHNfc2RuYW1lKT09PWZhbHNlKSAkc19jYW5kaWRhdGUgPSBhcnJheV9kaWZmKCRzX2NhbmRpZGF0ZSwgYXJyYXkoJHNfYSkpO30NCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQllbHNlaWYoJHNfdHlwZT09J3NmaWxlJyl7DQoJCQkJCWlmKCFlbXB0eSgkc19zZm5hbWUpKXsNCgkJCQkJCWlmKCRzX3NmbmFtZXJlZ2V4KXsNCgkJCQkJCQlpZigkc19zZm5hbWVpY2FzZSl7aWYoIXByZWdfbWF0Y2goIi8iLiRzX3NmbmFtZS4iL2kiLCBiYXNlbmFtZSgkc19hKSkpICRzX2NhbmRpZGF0ZSA9IGFycmF5X2RpZmYoJHNfY2FuZGlkYXRlLCBhcnJheSgkc19hKSk7fQ0KCQkJCQkJCWVsc2V7aWYoIXByZWdfbWF0Y2goIi8iLiRzX3NmbmFtZS4iLyIsIGJhc2VuYW1lKCRzX2EpKSkgJHNfY2FuZGlkYXRlID0gYXJyYXlfZGlmZigkc19jYW5kaWRhdGUsIGFycmF5KCRzX2EpKTt9DQoJCQkJCQl9DQoJCQkJCQllbHNlew0KCQkJCQkJCWlmKCRzX3NmbmFtZWljYXNlKXtpZihzdHJwb3Moc3RydG9sb3dlcihiYXNlbmFtZSgkc19hKSksIHN0cnRvbG93ZXIoJHNfc2ZuYW1lKSk9PT1mYWxzZSkgJHNfY2FuZGlkYXRlID0gYXJyYXlfZGlmZigkc19jYW5kaWRhdGUsIGFycmF5KCRzX2EpKTt9DQoJCQkJCQkJZWxzZXtpZihzdHJwb3MoYmFzZW5hbWUoJHNfYSksICRzX3NmbmFtZSk9PT1mYWxzZSkgJHNfY2FuZGlkYXRlID0gYXJyYXlfZGlmZigkc19jYW5kaWRhdGUsIGFycmF5KCRzX2EpKTt9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQkJaWYoIWVtcHR5KCRzX3NmY29udGFpbikpew0KCQkJCQkJJHNfc2ZmY29udGVudCA9IEBmZ2MoJHNfYSk7DQoJCQkJCQlpZigkc19zZmNvbnRhaW5yZWdleCl7DQoJCQkJCQkJaWYoJHNfc2Zjb250YWluaWNhc2Upe2lmKCFwcmVnX21hdGNoKCIvIi4kc19zZmNvbnRhaW4uIi9pIiwgJHNfc2ZmY29udGVudCkpICRzX2NhbmRpZGF0ZSA9IGFycmF5X2RpZmYoJHNfY2FuZGlkYXRlLCBhcnJheSgkc19hKSk7fQ0KCQkJCQkJCWVsc2V7aWYoIXByZWdfbWF0Y2goIi8iLiRzX3NmY29udGFpbi4iLyIsICAkc19zZmZjb250ZW50KSkgJHNfY2FuZGlkYXRlID0gYXJyYXlfZGlmZigkc19jYW5kaWRhdGUsIGFycmF5KCRzX2EpKTt9DQoJCQkJCQl9DQoJCQkJCQllbHNlew0KCQkJCQkJCWlmKCRzX3NmY29udGFpbmljYXNlKXtpZihzdHJwb3Moc3RydG9sb3dlcigkc19zZmZjb250ZW50KSwgc3RydG9sb3dlcigkc19zZmNvbnRhaW4pKT09PWZhbHNlKSAkc19jYW5kaWRhdGUgPSBhcnJheV9kaWZmKCRzX2NhbmRpZGF0ZSwgYXJyYXkoJHNfYSkpO30NCgkJCQkJCQllbHNle2lmKHN0cnBvcygkc19zZmZjb250ZW50LCAkc19zZmNvbnRhaW4pPT09ZmFsc2UpICRzX2NhbmRpZGF0ZSA9IGFycmF5X2RpZmYoJHNfY2FuZGlkYXRlLCBhcnJheSgkc19hKSk7fQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJJHNfZl9yZXN1bHQgPSAiIjsgJHNfbGluaz0iIjsNCgkJZm9yZWFjaCgkc19jYW5kaWRhdGUgYXMgJHNfYyl7DQoJCQkkc19jID0gdHJpbSgkc19jKTsNCgkJCWlmKCRzX3N3cml0YWJsZSAmJiAhQGlzX3dyaXRhYmxlKCRzX2MpKSBjb250aW51ZTsNCgkJCWlmKCRzX3NyZWFkYWJsZSAmJiAhQGlzX3JlYWRhYmxlKCRzX2MpKSBjb250aW51ZTsNCgkJCWlmKCRzX3NleGVjdXRhYmxlICYmICFAaXNfZXhlY3V0YWJsZSgkc19jKSkgY29udGludWU7DQoNCgkJCWlmKCRzX3R5cGU9PSJzZmlsZSIpICRzX2xpbmsgPSAkc19zZWxmLiJ2aWV3PSIucGwoJHNfYyk7DQoJCQllbHNlaWYoJHNfdHlwZT09InNkaXIiKSAkc19saW5rID0gJHNfc2VsZi4idmlldz0iLnBsKGNwKCRzX2MpKTsNCgkJCSRzX2ZfcmVzdWx0IC49ICI8cCBjbGFzcz0nbm90aWYnIG9uZGJsY2xpY2s9XCJyZXR1cm4gZ28oJyIuYWRkcygkc19saW5rKS4iJyxldmVudCk7XCI+PGEgaHJlZj0nIi4kc19saW5rLiInPiIuJHNfYy4iPC9hPjwvcD4iOw0KCQl9DQoNCgkJJHNfdHNkaXIgPSAoJHNfdHlwZT09InNkaXIiKT8gInNlbGVjdGVkIjoiIjsNCgkJJHNfdHNmaWxlID0gKCRzX3R5cGU9PSJzZmlsZSIpPyAic2VsZWN0ZWQiOiIiOw0KDQoJCWlmKCFAaXNfZGlyKCRzX3ApKSAkc19yZXN1bHQgLj0gbm90aWYoIkNhbm5vdCBmaW5kIHRoZSBwYXRoIHNwZWNpZmllZCAiLiRzX3ApOw0KDQoJCSRzX3Jlc3VsdCAuPSAiPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz4NCgkJPGRpdiBjbGFzcz0nbXlib3gnPjxoMj5GaW5kPC9oMj4NCgkJPHRhYmxlIGNsYXNzPSdteWJveHRibCc+DQoJCTx0cj48dGQgc3R5bGU9J3dpZHRoOjE0MHB4Oyc+U2VhcmNoIGluPC90ZD4NCgkJPHRkIGNvbHNwYW49JzInPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIHZhbHVlPSciLmhzcygkc19wKS4iJyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdmaW5kJyAvPjwvdGQ+PC90cj4NCgkJPHRyIG9uY2xpY2s9XCJmaW5kdHlwZSgnc2RpcicpO1wiPg0KCQkJPHRkPkRpcm5hbWUgY29udGFpbnM8L3RkPg0KCQkJPHRkIHN0eWxlPSd3aWR0aDo0MDBweDsnPjxpbnB1dCBjbGFzcz0naW5wdXR6JyBzdHlsZT0nd2lkdGg6MTAwJTsnIHR5cGU9J3RleHQnIG5hbWU9J3NkbmFtZScgdmFsdWU9JyIuaHNzKCRzX3NkbmFtZSkuIicgLz48L3RkPg0KCQkJPHRkPg0KCQkJCTxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J2Nzcy1jaGVja2JveCcgbmFtZT0nc2RuYW1lcmVnZXgnIGlkPSdzZG4nICIuJHNfc2RuYW1lcmVnZXhjaGVja2VkLiIgLz48bGFiZWwgY2xhc3M9J2Nzcy1sYWJlbCcgZm9yPSdzZG4nPlJlZ2V4IChwY3JlKTwvbGFiZWw+DQoJCQkJPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0nY3NzLWNoZWNrYm94JyBuYW1lPSdzZG5hbWVpY2FzZScgaWQ9J3NkaScgIi4kc19zZG5hbWVpY2FzZWNoZWNrZWQuIiAvPjxsYWJlbCBjbGFzcz0nY3NzLWxhYmVsJyBmb3I9J3NkaSc+Q2FzZSBJbnNlbnNpdGl2ZTwvbGFiZWw+DQoJCQk8L3RkPg0KCQk8L3RyPg0KCQk8dHIgb25jbGljaz1cImZpbmR0eXBlKCdzZmlsZScpO1wiPg0KCQkJPHRkPkZpbGVuYW1lIGNvbnRhaW5zPC90ZD4NCgkJCTx0ZCBzdHlsZT0nd2lkdGg6NDAwcHg7Jz48aW5wdXQgY2xhc3M9J2lucHV0eicgc3R5bGU9J3dpZHRoOjEwMCU7JyB0eXBlPSd0ZXh0JyBuYW1lPSdzZm5hbWUnIHZhbHVlPSciLmhzcygkc19zZm5hbWUpLiInIC8+PC90ZD4NCgkJCTx0ZD4NCgkJCQk8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSdjc3MtY2hlY2tib3gnIG5hbWU9J3NmbmFtZXJlZ2V4JyAgaWQ9J3NmbicgIi4kc19zZm5hbWVyZWdleGNoZWNrZWQuIiAvPjxsYWJlbCBjbGFzcz0nY3NzLWxhYmVsJyBmb3I9J3Nmbic+UmVnZXggKHBjcmUpPC9sYWJlbD4NCgkJCQk8aW5wdXQgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSdjc3MtY2hlY2tib3gnIG5hbWU9J3NmbmFtZWljYXNlJyAgaWQ9J3NmaScgIi4kc19zZm5hbWVpY2FzZWNoZWNrZWQuIiAvPjxsYWJlbCBjbGFzcz0nY3NzLWxhYmVsJyBmb3I9J3NmaSc+Q2FzZSBJbnNlbnNpdGl2ZTwvbGFiZWw+DQoJCQk8L3RkPg0KCQk8L3RyPg0KCQk8dHIgb25jbGljaz1cImZpbmR0eXBlKCdzZmlsZScpO1wiPg0KCQkJPHRkPkZpbGUgY29udGFpbnM8L3RkPg0KCQkJPHRkIHN0eWxlPSd3aWR0aDo0MDBweDsnPjxpbnB1dCBjbGFzcz0naW5wdXR6JyBzdHlsZT0nd2lkdGg6MTAwJTsnIHR5cGU9J3RleHQnIG5hbWU9J3NmY29udGFpbicgdmFsdWU9JyIuaHNzKCRzX3NmY29udGFpbikuIicgLz48L3RkPg0KCQkJPHRkPg0KCQkJCTxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J2Nzcy1jaGVja2JveCcgbmFtZT0nc2Zjb250YWlucmVnZXgnIGlkPSdzZmYnICIuJHNfc2Zjb250YWlucmVnZXhjaGVja2VkLiIgLz48bGFiZWwgY2xhc3M9J2Nzcy1sYWJlbCcgZm9yPSdzZmYnPlJlZ2V4IChwY3JlKTwvbGFiZWw+DQoJCQkJPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0nY3NzLWNoZWNrYm94JyBuYW1lPSdzZmNvbnRhaW5pY2FzZScgaWQ9J3NmZmknICIuJHNfc2Zjb250YWluaWNhc2VjaGVja2VkLiIgLz48bGFiZWwgY2xhc3M9J2Nzcy1sYWJlbCcgZm9yPSdzZmZpJz5DYXNlIEluc2Vuc2l0aXZlPC9sYWJlbD4NCgkJCTwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD5QZXJtaXNzaW9uczwvdGQ+DQoJCQk8dGQgY29sc3Bhbj0nMic+DQoJCQkJPGlucHV0IHR5cGU9J2NoZWNrYm94JyBjbGFzcz0nY3NzLWNoZWNrYm94JyBuYW1lPSdzd3JpdGFibGUnIGlkPSdzdycgIi4kc19zd3JpdGFibGVjaGVja2VkLiIgLz48bGFiZWwgY2xhc3M9J2Nzcy1sYWJlbCcgZm9yPSdzdyc+V3JpdGFibGU8L2xhYmVsPg0KCQkJCTxpbnB1dCB0eXBlPSdjaGVja2JveCcgY2xhc3M9J2Nzcy1jaGVja2JveCcgbmFtZT0nc3JlYWRhYmxlJyBpZD0nc3InICIuJHNfc3JlYWRhYmxlY2hlY2tlZC4iIC8+PGxhYmVsIGNsYXNzPSdjc3MtbGFiZWwnIGZvcj0nc3InPlJlYWRhYmxlPC9sYWJlbD4NCgkJCQkiLiRzX3NleGVjYi4iDQoJCQk8L3RkPg0KCQk8L3RyPg0KCQk8dHI+PHRkPg0KCQk8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdzZ28nIGNsYXNzPSdpbnB1dHpidXQnIHZhbHVlPSdTZWFyY2ggIScgc3R5bGU9J3dpZHRoOjEyMHB4O2hlaWdodDozMHB4O21hcmdpbjowOycgLz4NCgkJPC90ZD4NCgkJPHRkPg0KCQk8c2VsZWN0IG5hbWU9J3R5cGUnIGlkPSd0eXBlJyBjbGFzcz0naW5wdXR6YnV0JyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luOjA7cGFkZGluZzo0cHg7Jz4NCgkJCTxvcHRpb24gdmFsdWU9J3NmaWxlJyAiLiRzX3RzZmlsZS4iPlNlYXJjaCBmaWxlPC9vcHRpb24+DQoJCQk8b3B0aW9uIHZhbHVlPSdzZGlyJyAiLiRzX3RzZGlyLiI+U2VhcmNoIGRpcjwvb3B0aW9uPg0KCQk8L3NlbGVjdD4NCgkJPC90ZD4NCgkJPHRkPjwvdGQ+PC90cj4NCgkJPC90YWJsZT4NCgkJPC9kaXY+DQoJCTwvZm9ybT4NCgkJPGRpdj4NCgkJIi4kc19mX3Jlc3VsdC4iDQoJCTwvZGl2PiI7DQoJfSAvLyB1cGxvYWQNCgllbHNlaWYoaXNzZXQoJF9HUFsneCddKSAmJiAoJF9HUFsneCddPT0ndXBsb2FkJykpew0KCQkkc19yZXN1bHQgPSAiICI7DQoJCSRzX21zZyA9ICIiOw0KCQlpZihpc3NldCgkX0dQWyd1cGxvYWRoZCddKSl7DQoJCQkkYyA9IGNvdW50KCRfRklMRVNbJ2ZpbGVwYXRoJ11bJ25hbWUnXSk7DQoJCQlmb3IoJGkgPSAwOyAkaTwkYzsgJGkrKyl7DQoJCQkJJHNfZm4gPSAkX0ZJTEVTWydmaWxlcGF0aCddWyduYW1lJ11bJGldOw0KCQkJCWlmKGVtcHR5KCRzX2ZuKSkgY29udGludWU7DQoJCQkJaWYoaXNfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWydmaWxlcGF0aCddWyd0bXBfbmFtZSddWyRpXSkpew0KCQkJCQkkc19wID0gY3AoJF9HUFsnc2F2ZWZvbGRlciddWyRpXSk7DQoJCQkJCWlmKCFAaXNfZGlyKCRzX3ApKSBta2Rpcigkc19wKTsNCgkJCQkJaWYoaXNzZXQoJF9HUFsnc2F2ZWZpbGVuYW1lJ11bJGldKSAmJiAodHJpbSgkX0dQWydzYXZlZmlsZW5hbWUnXVskaV0pIT0iIikpICRzX2ZuID0gJF9HUFsnc2F2ZWZpbGVuYW1lJ11bJGldOw0KCQkJCQkkc190bSA9ICRfRklMRVNbJ2ZpbGVwYXRoJ11bJ3RtcF9uYW1lJ11bJGldOw0KCQkJCQkkc19waSA9IGNwKCRzX3ApLiRzX2ZuOw0KCQkJCQkkc19zdCA9IEBtb3ZlX3VwbG9hZGVkX2ZpbGUoJHNfdG0sJHNfcGkpOw0KCQkJCQlpZigkc19zdCkgJHNfbXNnIC49IG5vdGlmKCJGaWxlIHVwbG9hZGVkIHRvIDxhIGhyZWY9JyIuJHNfc2VsZi4idmlldz0iLnBsKCRzX3BpKS4iJz4iLiRzX3BpLiI8L2E+Iik7DQoJCQkJCWVsc2UgJHNfbXNnIC49IG5vdGlmKCJGYWlsZWQgdG8gdXBsb2FkICIuJHNfZm4pOw0KCQkJCX0NCgkJCQllbHNlICRzX21zZyAuPSBub3RpZigiRmFpbGVkIHRvIHVwbG9hZCAiLiRzX2ZuKTsNCgkJCX0NCgkJfQ0KCQllbHNlaWYoaXNzZXQoJF9HUFsndXBsb2FkdXJsJ10pKXsNCgkJCS8vIGZ1bmN0aW9uIGRsZmlsZSgkc191cmwsJHNfZnBhdGgpDQoJCQkkYyA9IGNvdW50KCRfR1BbJ2ZpbGV1cmwnXSk7DQoJCQlmb3IoJGkgPSAwOyAkaTwkYzsgJGkrKyl7DQoJCQkJJHNfZnUgPSAkX0dQWydmaWxldXJsJ11bJGldOw0KCQkJCWlmKGVtcHR5KCRzX2Z1KSkgY29udGludWU7DQoNCgkJCQkkc19wID0gY3AoJF9HUFsnc2F2ZWZvbGRlcnVybCddWyRpXSk7DQoJCQkJaWYoIUBpc19kaXIoJHNfcCkpIG1rZGlyKCRzX3ApOw0KDQoJCQkJJHNfZm4gPSBiYXNlbmFtZSgkc19mdSk7DQoJCQkJaWYoaXNzZXQoJF9HUFsnc2F2ZWZpbGVuYW1ldXJsJ11bJGldKSAmJiAodHJpbSgkX0dQWydzYXZlZmlsZW5hbWV1cmwnXVskaV0pIT0iIikpICRzX2ZuID0gJF9HUFsnc2F2ZWZpbGVuYW1ldXJsJ11bJGldOw0KCQkJCSRzX2ZwID0gY3AoJHNfcCkuJHNfZm47DQoJCQkJJHNfc3QgPSBkbGZpbGUoJHNfZnUsJHNfZnApOw0KCQkJCWlmKCRzX3N0KSAkc19tc2cgLj0gbm90aWYoIkZpbGUgdXBsb2FkZWQgdG8gPGEgaHJlZj0nIi4kc19zZWxmLiJ2aWV3PSIucGwoJHNfZnApLiInPiIuJHNfZnAuIjwvYT4iKTsNCgkJCQllbHNlICRzX21zZyAuPSBub3RpZigiRmFpbGVkIHRvIHVwbG9hZCAiLiRzX2ZuKTsNCgkJCX0NCgkJfQ0KCQllbHNlew0KCQkJaWYoIUBpc193cml0YWJsZSgkc19jd2QpKSAkc19tc2cgPSBub3RpZigiRGlyZWN0b3J5ICIuJHNfY3dkLiIgaXMgbm90IHdyaXRhYmxlLCBwbGVhc2UgY2hhbmdlIHRvIGEgd3JpdGFibGUgb25lIik7DQoJCX0NCg0KCQlpZighZW1wdHkoJHNfbXNnKSkgJHNfcmVzdWx0IC49ICRzX21zZzsNCgkJJHNfcmVzdWx0IC49ICINCgkJCTxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YSc+DQoJCQk8ZGl2IGNsYXNzPSdteWJveCc+PGgyPjxkaXYgY2xhc3M9J2J1dCcgb25jbGljaz0nYWRkdXBsb2FkYygpOyc+KzwvZGl2PlVwbG9hZCBmcm9tIGNvbXB1dGVyPC9oMj4NCgkJCTx0YWJsZSBjbGFzcz0nbXlib3h0YmwnPg0KCQkJPHRib2R5IGlkPSdhZGR1cGxvYWRjJz4NCgkJCTx0cj48dGQgc3R5bGU9J3dpZHRoOjE0MHB4Oyc+RmlsZTwvdGQ+PHRkPjxpbnB1dCB0eXBlPSdmaWxlJyBuYW1lPSdmaWxlcGF0aFtdJyBjbGFzcz0naW5wdXR6YnV0JyBzdHlsZT0nd2lkdGg6NDAwcHg7bWFyZ2luOjA7JyAvPjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+U2F2ZSB0bzwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NhdmVmb2xkZXJbXScgdmFsdWU9JyIuaHNzKCRzX2N3ZCkuIicgLz48L3RkPjwvdHI+DQoJCQk8dHI+PHRkPkZpbGVuYW1lIChvcHRpb25hbCk8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdzYXZlZmlsZW5hbWVbXScgdmFsdWU9JycgLz48L3RkPjwvdHI+DQoJCQk8L3Rib2R5Pg0KCQkJPHRmb290Pg0KCQkJPHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZD4NCgkJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3VwbG9hZGhkJyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nVXBsb2FkICEnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7JyAvPg0KCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0neCcgdmFsdWU9J3VwbG9hZCcgLz4NCgkJCTwvdGQ+PC90cj4NCgkJCTwvdGZvb3Q+DQoJCQk8L3RhYmxlPg0KCQkJPC9kaXY+DQoJCQk8L2Zvcm0+DQoJCQk8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPg0KCQkJPGRpdiBjbGFzcz0nbXlib3gnPjxoMj48ZGl2IGNsYXNzPSdidXQnIG9uY2xpY2s9J2FkZHVwbG9hZGkoKTsnPis8L2Rpdj5VcGxvYWQgZnJvbSBpbnRlcm5ldDwvaDI+DQoJCQk8dGFibGUgY2xhc3M9J215Ym94dGJsJz4NCgkJCTx0Ym9keSBpZD0nYWRkdXBsb2FkaSc+DQoJCQk8dHI+PHRkIHN0eWxlPSd3aWR0aDoxNTBweDsnPkZpbGUgVVJMPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0nZmlsZXVybFtdJyB2YWx1ZT0nJyAvPg0KCQkJPC90ZD48L3RyPg0KCQkJPHRyPjx0ZD5TYXZlIHRvPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0nc2F2ZWZvbGRlcnVybFtdJyB2YWx1ZT0nIi5oc3MoJHNfY3dkKS4iJyAvPjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+RmlsZW5hbWUgKG9wdGlvbmFsKTwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NhdmVmaWxlbmFtZXVybFtdJyB2YWx1ZT0nJyAvPjwvdGQ+PC90cj4NCgkJCTwvdGJvZHk+DQoJCQk8dGZvb3Q+DQoJCQk8dHI+PHRkPiZuYnNwOzwvdGQ+PHRkPg0KCQkJPGlucHV0IHR5cGU9J3N1Ym1pdCcgbmFtZT0ndXBsb2FkdXJsJyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nVXBsb2FkICEnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7JyAvPg0KCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0neCcgdmFsdWU9J3VwbG9hZCcgLz4NCgkJCTwvdGQ+PC90cj4NCgkJCTwvdGFibGU+DQoJCQk8L2Rpdj4NCgkJCTwvZm9ybT4iOw0KCX0gLy8gdmlldyBmaWxlDQoJZWxzZWlmKGlzc2V0KCRfR1BbJ3ZpZXcnXSkpew0KCQkkc19mID0gJF9HUFsndmlldyddOw0KCQlpZihpc3NldCgkc19mbmV3KSAmJiAodHJpbSgkc19mbmV3KSE9IiIpKSAkc19mID0gJHNfZm5ldzsNCg0KCQkkc19vd25lciA9ICIiOw0KCQlpZihAaXNfZmlsZSgkc19mKSl7DQoJCQkkdGFyZ2V0ZGlyID0gZGlybmFtZSgkc19mKTsNCgkJCWNoZGlyKCR0YXJnZXRkaXIpOw0KCQkJJHNfY3dkID0gY3AoZ2V0Y3dkKCkpOw0KCQkJc2V0Y29va2llKCJjd2QiLCAkc19jd2QgLHRpbWUoKSArICRzX2xvZ2luX3RpbWUpOw0KDQoJCQlpZighJHNfd2luICYmICRzX3Bvc2l4KXsNCgkJCQkkc19uYW1lID0gcG9zaXhfZ2V0cHd1aWQoZmlsZW93bmVyKCRzX2YpKTsNCgkJCQkkc19ncm91cCA9IHBvc2l4X2dldGdyZ2lkKGZpbGVncm91cCgkc19mKSk7DQoJCQkJJHNfb3duZXIgPSAiPHRyPjx0ZD5Pd25lcjwvdGQ+PHRkPiIuJHNfbmFtZVsnbmFtZSddLiI8c3BhbiBjbGFzcz0nZ2F5YSc+Ojwvc3Bhbj4iLiRzX2dyb3VwWyduYW1lJ10uIjwvdGQ+PC90cj4iOw0KCQkJfQ0KCQkJJHNfZmlsbiA9IGJhc2VuYW1lKCRzX2YpOw0KCQkJJHNfcmVzdWx0IC49ICI8dGFibGUgY2xhc3M9J3ZpZXdmaWxlJyBzdHlsZT0nd2lkdGg6MTAwJTsnPg0KCQkJPHRyPjx0ZCBzdHlsZT0nd2lkdGg6MTQwcHg7Jz5GaWxlbmFtZTwvdGQ+PHRkPjxzcGFuIGlkPSciLmNzKCRzX2ZpbG4pLiJfbGluayc+Ii4kc19mLiI8L3NwYW4+DQoJCQk8ZGl2IGlkPSciLmNzKCRzX2ZpbG4pLiJfZm9ybScgY2xhc3M9J3NlbWJ1bnlpJz4NCgkJCTxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCc+DQoJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nb2xkbmFtZScgdmFsdWU9JyIuaHNzKCRzX2YpLiInIHN0eWxlPSdtYXJnaW46MDtwYWRkaW5nOjA7JyAvPg0KCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3ZpZXcnIHZhbHVlPSciLmhzcygkc19mKS4iJyAvPg0KCQkJCTxpbnB1dCBjbGFzcz0naW5wdXR6JyBzdHlsZT0nd2lkdGg6MjAwcHg7JyB0eXBlPSd0ZXh0JyBuYW1lPSdyZW5hbWUnIHZhbHVlPSciLmhzcygkc19mKS4iJyAvPg0KCQkJCTxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdyZW5hbWUnIC8+DQoJCQk8L2Zvcm0+DQoJCQk8aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nYnV0dG9uJyB2YWx1ZT0neCcgb25jbGljaz1cInR1a2FyXygnIi5jcygkc19maWxuKS4iX2Zvcm0nLCciLmNzKCRzX2ZpbG4pLiJfbGluaycpO1wiIC8+DQoJCQk8L2Rpdj4NCgkJCTwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+U2l6ZTwvdGQ+PHRkPiIuZ3MoJHNfZikuIiAoIi5AZmlsZXNpemUoJHNfZikuIik8L3RkPjwvdHI+DQoJCQk8dHI+PHRkPlBlcm1pc3Npb248L3RkPjx0ZD4iLmdwKCRzX2YpLiI8L3RkPjwvdHI+DQoJCQkiLiRzX293bmVyLiINCgkJCTx0cj48dGQ+Q3JlYXRlIHRpbWU8L3RkPjx0ZD4iLkBkYXRlKCJkLU0tWSBIOmk6cyIsZmlsZWN0aW1lKCRzX2YpKS4iPC90ZD48L3RyPg0KCQkJPHRyPjx0ZD5MYXN0IG1vZGlmaWVkPC90ZD48dGQ+Ii5AZGF0ZSgiZC1NLVkgSDppOnMiLGZpbGVtdGltZSgkc19mKSkuIjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+TGFzdCBhY2Nlc3NlZDwvdGQ+PHRkPiIuQGRhdGUoImQtTS1ZIEg6aTpzIixmaWxlYXRpbWUoJHNfZikpLiI8L3RkPjwvdHI+DQoJCQk8dHI+PHRkPkFjdGlvbnM8L3RkPjx0ZD4NCgkJCTxhIGhyZWY9JyIuJHNfc2VsZi4iZWRpdD0iLnBsKCRzX2YpLiInIHRpdGxlPSdlZGl0Jz5lZGl0PC9hPiB8IDxhIGhyZWY9JyIuJHNfc2VsZi4iaGV4ZWRpdD0iLnBsKCRzX2YpLiInIHRpdGxlPSdlZGl0IGFzIGhleCc+aGV4PC9hPiB8IDxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyXygnIi5jcygkc19maWxuKS4iX2xpbmsnLCciLmNzKCRzX2ZpbG4pLiJfZm9ybScpO1wiIHRpdGxlPSdyZW5hbWUnPnJlbjwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuImRlbD0iLnBsKCRzX2YpLiInIHRpdGxlPSdkZWxldGUnPmRlbDwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuImRsPSIucGwoJHNfZikuIic+ZGw8L2E+DQoJCQk8L3RkPjwvdHI+DQoJCQk8dHI+PHRkPlZpZXc8L3RkPjx0ZD4NCgkJCTxhIGhyZWY9JyIuJHNfc2VsZi4idmlldz0iLnBsKCRzX2YpLiImdHlwZT10ZXh0Ii4iJz50ZXh0PC9hPiB8IDxhIGhyZWY9JyIuJHNfc2VsZi4idmlldz0iLnBsKCRzX2YpLiImdHlwZT1jb2RlIi4iJz5jb2RlPC9hPiB8IDxhIGhyZWY9JyIuJHNfc2VsZi4idmlldz0iLnBsKCRzX2YpLiImdHlwZT1pbWFnZSIuIic+aW1hZ2U8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJ2aWV3PSIucGwoJHNfZikuIiZ0eXBlPWF1ZGlvIi4iJz5hdWRpbzwvYT4gfCA8YSBocmVmPSciLiRzX3NlbGYuInZpZXc9Ii5wbCgkc19mKS4iJnR5cGU9dmlkZW8iLiInPnZpZGVvPC9hPg0KCQkJPC90ZD48L3RyPg0KCQkJPC90YWJsZT4iOw0KDQoJCQkkc190ID0gIiI7ICRzX21pbWUgPSAiIjsNCgkJCSRzX21pbWVfbGlzdCA9IGd6aW5mbGF0ZShiYXNlNjRfZGVjb2RlKCRzX21pbWVfdHlwZXMpKTsNCgkJCSRzX2V4dF9wb3MgPSBzdHJycG9zKCRzX2YsICIuIik7DQoJCQlpZigkc19leHRfcG9zIT09ZmFsc2Upew0KCQkJCSRzX2V4dCA9IHRyaW0oc3Vic3RyKCRzX2YsICRzX2V4dF9wb3MpLCIuIik7DQoJCQkJaWYocHJlZ19tYXRjaCgiLyhbXlxzXSspXCAuKlxiIi4kc19leHQuIlxiLiovaSIsJHNfbWltZV9saXN0LCRzX3IpKXsNCgkJCQkJJHNfbWltZSA9ICRzX3JbMV07DQoJCQkJfQ0KCQkJfQ0KDQoJCQkkc19paW5mbyA9IEBnZXRpbWFnZXNpemUoJHNfZik7DQoJCQlpZihzdHJ0b2xvd2VyKHN1YnN0cigkc19maWxuLC0zLDMpKSA9PSAicGhwIikgJHNfdCA9ICJjb2RlIjsNCgkJCWVsc2VpZihpc19hcnJheSgkc19paW5mbykpICRzX3QgPSAnaW1hZ2UnOw0KCQkJZWxzZWlmKCFlbXB0eSgkc19taW1lKSkgJHNfdCA9IHN1YnN0cigkc19taW1lLDAsc3RycG9zKCRzX21pbWUsIi8iKSk7DQoNCgkJCWlmKGlzc2V0KCRfR1BbJ3R5cGUnXSkpICRzX3QgPSAkX0dQWyd0eXBlJ107DQoNCgkJCWlmKCRzX3Q9PSJpbWFnZSIpew0KCQkJCSRzX3dpZHRoID0gKGludCkgJHNfaWluZm9bMF07DQoJCQkJJHNfaGVpZ2h0ID0gKGludCkgJHNfaWluZm9bMV07DQoJCQkJJHNfaW1naW5mbyA9ICJJbWFnZSB0eXBlID0gKCAiLiRzX2lpbmZvWydtaW1lJ10uIiApPGJyIC8+DQoJCQkJCUltYWdlIFNpemUgPSA8c3BhbiBjbGFzcz0nZ2F1bCc+KCA8L3NwYW4+Ii4kc193aWR0aC4iIHggIi4kc19oZWlnaHQuIjxzcGFuIGNsYXNzPSdnYXVsJz4gKTwvc3Bhbj48YnIgLz4iOw0KCQkJCWlmKCRzX3dpZHRoID4gODAwKXsNCgkJCQkJJHNfd2lkdGggPSA4MDA7DQoJCQkJCSRzX2ltZ2xpbmsgPSAiPHA+PGEgaHJlZj0nIi4kc19zZWxmLiJpbWc9Ii5wbCgkc19maWxuKS4iJz4NCgkJCQkJPHNwYW4gY2xhc3M9J2dhdWwnPlsgPC9zcGFuPnZpZXcgZnVsbCBzaXplPHNwYW4gY2xhc3M9J2dhdWwnPiBdPC9zcGFuPjwvYT48L3A+IjsNCgkJCQl9DQoJCQkJZWxzZSAkc19pbWdsaW5rID0gIiI7DQoNCgkJCQkkc19yZXN1bHQgLj0gIjxkaXYgY2xhc3M9J3ZpZXdmaWxlY29udGVudCcgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyOyc+Ii4kc19pbWdsaW5rLiINCgkJCQkJPGltZyB3aWR0aD0nIi4kc193aWR0aC4iJyBzcmM9JyIuJHNfc2VsZi4iaW1nPSIucGwoJHNfZmlsbikuIicgYWx0PSciLiRzX2ZpbG4uIicgc3R5bGU9J21hcmdpbjo4cHggYXV0bztwYWRkaW5nOjA7Ym9yZGVyOjA7JyAvPjwvZGl2PiI7DQoNCgkJCX0NCgkJCWVsc2VpZigkc190PT0iY29kZSIpew0KCQkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz1cInZpZXdmaWxlY29udGVudFwiPiI7DQoJCQkJJHNfZmlsZSA9IHdvcmR3cmFwKEBmZ2MoJHNfZiksMTYwLCJcbiIsdHJ1ZSk7DQoJCQkJJHNfYnVmZiA9IGhpZ2hsaWdodF9zdHJpbmcoJHNfZmlsZSx0cnVlKTsNCgkJCQkkc19vbGQgPSBhcnJheSgiMDAwMEJCIiwgIjAwMDAwMCIsICJGRjgwMDAiLCAiREQwMDAwIiwgIjAwNzcwMCIpOw0KCQkJCSRzX25ldyA9ICgkc190aGVtZT09ImJyaWdodCIpPyAkc19oaWdobGlnaHRfYnJpZ2h0OiRzX2hpZ2hsaWdodF9kYXJrOw0KCQkJCSRzX2J1ZmYgPSBzdHJfcmVwbGFjZSgkc19vbGQsJHNfbmV3LCAkc19idWZmKTsNCgkJCQkkc19yZXN1bHQgLj0gJHNfYnVmZjsNCgkJCQkkc19yZXN1bHQgLj0gICI8L2Rpdj4iOw0KCQkJfQ0KCQkJZWxzZWlmKCRzX3Q9PSJhdWRpbyIgfHwgJHNfdD09InZpZGVvIil7DQoJCQkJJHNfcmVzdWx0IC49ICI8ZGl2IGNsYXNzPSd2aWV3ZmlsZWNvbnRlbnQnIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjsnPg0KCQkJCQkJCTwiLiRzX3QuIiBjb250cm9scz4NCgkJCQkJCQk8c291cmNlIHNyYz0nIi5oc3MoJHNfc2VsZi4iZGx0eXBlPXJhdyZkbHBhdGg9Ii4kc19mKS4iJyB0eXBlPSciLiRzX21pbWUuIic+DQoJCQkJCQkJCTxvYmplY3QgZGF0YT0nIi5oc3MoJHNfc2VsZi4iZGx0eXBlPXJhdyZkbHBhdGg9Ii4kc19mKS4iJz4NCgkJCQkJCQkJCTxlbWJlZCBzcmM9JyIuaHNzKCRzX3NlbGYuImRsdHlwZT1yYXcmZGxwYXRoPSIuJHNfZikuIic+DQoJCQkJCQkJCTwvb2JqZWN0Pg0KCQkJCQkJCTwvIi4kc190LiI+DQoJCQkJCQkJPC9kaXY+IjsNCgkJCX0NCgkJCWVsc2Ugew0KCQkJCSRzX3Jlc3VsdCAuPSAiPHByZSBzdHlsZT0ncGFkZGluZzogM3B4IDhweCAwIDhweDsnIGNsYXNzPSd2aWV3ZmlsZWNvbnRlbnQnPiI7DQoJCQkJJHNfcmVzdWx0IC49ICBzdHJfcmVwbGFjZSgiPCIsICImbHQ7IixzdHJfcmVwbGFjZSgiPiIsICImZ3Q7Iiwod29yZHdyYXAoQGZnYygkc19mKSwxNjAsIlxuIix0cnVlKSkpKTsNCgkJCQkkc19yZXN1bHQgLj0gICAiPC9wcmU+IjsNCgkJCX0NCgkJfQ0KCQllbHNlaWYoQGlzX2Rpcigkc19mKSl7DQoJCQljaGRpcigkc19mKTsNCgkJCSRzX2N3ZCA9IGNwKGdldGN3ZCgpKTsNCgkJCXNldGNvb2tpZSgiY3dkIiwgJHNfY3dkICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJCSRzX3Jlc3VsdCAuPSBzaG93ZGlyKCRzX2N3ZCk7DQoJCX0NCgkJZWxzZSAkc19yZXN1bHQgLj0gbm90aWYoIkNhbm5vdCBmaW5kIHRoZSBwYXRoIHNwZWNpZmllZCAiLiRzX2YpOw0KDQoJfSAvLyBlZGl0IGZpbGUNCgllbHNlaWYoaXNzZXQoJF9HUFsnZWRpdCddKSl7DQoJCSRzX2YgPSAkX0dQWydlZGl0J107DQoJCSRzX2ZjID0gIiI7ICRzX2ZjcyA9ICIiOw0KDQoJCWlmKGlzc2V0KCRfR1BbJ25ldyddKSAmJiAoJF9HUFsnbmV3J109PSd5ZXMnKSl7DQoJCQkkc19udW0gPSAxOw0KCQkJaWYoQGlzX2ZpbGUoJHNfZikpew0KCQkJCSRzX3BvcyA9IHN0cnJwb3MoJHNfZiwiXyIpOw0KCQkJCWlmKCRzX3BvcyE9PWZhbHNlKSAkc19udW0gPSAoaW50KSBzdWJzdHIoJHNfZiwkc19wb3MrMSk7DQoJCQkJd2hpbGUoQGlzX2ZpbGUoc3Vic3RyKCRzX2YsMCwkc19wb3MpLiJfIi4kc19udW0pKXsNCgkJCQkJJHNfbnVtKys7DQoJCQkJfQ0KCQkJCSRzX2YgPSBzdWJzdHIoJHNfZiwwLCRzX3BvcykuIl8iLiRzX251bTsNCgkJCX0NCgkJfQ0KCQllbHNlIGlmKEBpc19maWxlKCRzX2YpKSAkc19mYyA9IEBmZ2MoJHNfZik7DQoNCgkJaWYoaXNzZXQoJF9HUFsnZmMnXSkpew0KCQkJJHNfZmMgPSAkX0dQWydmYyddOw0KCQkJJHNfZW9sID0gJF9HUFsnZW9sJ107DQoJCQkkc19lb2xmID0gcGFjaygiSCoiLCBnZW9sKCRzX2ZjKSk7DQoJCQkkc19lb2xoID0gcGFjaygiSCoiLCAkc19lb2wpOw0KCQkJJHNfZmMgPSBzdHJfcmVwbGFjZSgkc19lb2xmLCAkc19lb2xoLCAkc19mYyk7DQoNCgkJCWlmKCRzX2ZpbGV6ID0gZm9wZW4oJHNfZiwidyIpKXsNCgkJCQkkc190aW1lID0gQGRhdGUoImQtTS1ZIEg6aTpzIix0aW1lKCkpOw0KCQkJCWlmKGZ3cml0ZSgkc19maWxleiwkc19mYykhPT1mYWxzZSkgJHNfZmNzID0gIkZpbGUgc2F2ZWQgQCAiLiRzX3RpbWU7DQoJCQkJZWxzZSAkc19mY3MgPSAiRmFpbGVkIHRvIHNhdmUiOw0KCQkJCWZjbG9zZSgkc19maWxleik7DQoJCQl9DQoJCQllbHNlICRzX2ZjcyA9ICJQZXJtaXNzaW9uIGRlbmllZCI7DQoJCX0NCgkJZWxzZWlmKEBpc19maWxlKCRzX2YpICYmICFAaXNfd3JpdGFibGUoJHNfZikpICRzX2ZjcyA9ICJUaGlzIGZpbGUgaXMgbm90IHdyaXRhYmxlIjsNCg0KCQkkc19lb2wgPSBnZW9sKCRzX2ZjKTsNCg0KCQlpZighZW1wdHkoJHNfZmNzKSkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2Zjcyk7DQoJCSRzX3Jlc3VsdCAuPSAiPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz4NCgkJCQk8dGV4dGFyZWEgaWQ9J2ZjJyBuYW1lPSdmYycgY2xhc3M9J3R4dGFyZWEnPiIuaHNzKCRzX2ZjKS4iPC90ZXh0YXJlYT4NCgkJCQk8cCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz48aW5wdXQgdHlwZT0ndGV4dCcgY2xhc3M9J2lucHV0eicgc3R5bGU9J3dpZHRoOjk5JTsnIG5hbWU9J2VkaXQnIHZhbHVlPSciLmhzcygkc19mKS4iJyAvPjwvcD4NCgkJCQk8cD48aW5wdXQgdHlwZT0nc3VibWl0JyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nU2F2ZSAhJyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7JyAvPjwvcD4NCgkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdlb2wnIHZhbHVlPSciLiRzX2VvbC4iJyAvPg0KCQkJCTwvZm9ybT4iOw0KDQoJfSAvLyBoZXggZWRpdCBmaWxlDQoJZWxzZWlmKGlzc2V0KCRfR1BbJ2hleGVkaXQnXSkpew0KCQkkc19mID0gJF9HUFsnaGV4ZWRpdCddOw0KCQkkc19mYyA9ICIiOwkkc19mY3MgPSAiIjsgJHNfaGV4ZXMgPSAiIjsNCgkJJHNfbG51bSA9IDA7DQoNCgkJaWYoIWVtcHR5KCRfR1BbJ2h4J10pIHx8ICFlbXB0eSgkX0dQWydoeHQnXSkpew0KCQkJaWYoIWVtcHR5KCRfR1BbJ2h4J10pKXsNCgkJCQlmb3JlYWNoKCRfR1BbJ2h4J10gYXMgJHNfaGV4KSAkc19oZXhlcyAuPSBzdHJfcmVwbGFjZSgiICIsICIiLCAkc19oZXgpOw0KCQkJfQ0KCQkJZWxzZWlmKCFlbXB0eSgkX0dQWydoeHQnXSkpew0KCQkJCSRzX2hleGVzID0gdHJpbSgkX0dQWydoeHQnXSk7DQoJCQl9DQoJCQlpZigkc19maWxleiA9IGZvcGVuKCRzX2YsInciKSl7DQoJCQkJCSRzX2JpbnMgPSBwYWNrKCJIKiIsICRzX2hleGVzKTsNCgkJCQkJJHNfdGltZSA9IEBkYXRlKCJkLU0tWSBIOmk6cyIsIHRpbWUoKSk7DQoJCQkJCWlmKGZ3cml0ZSgkc19maWxleiwkc19iaW5zKSE9PWZhbHNlKSAkc19mY3MgPSAiRmlsZSBzYXZlZCBAICIuJHNfdGltZTsNCgkJCQkJZWxzZSAkc19mY3MgPSAiRmFpbGVkIHRvIHNhdmUiOw0KCQkJCQlmY2xvc2UoJHNfZmlsZXopOw0KCQkJCX0NCgkJCWVsc2UgJHNfZmNzID0gIlBlcm1pc3Npb24gZGVuaWVkIjsNCgkJfQ0KCQllbHNlIGlmKEBpc19maWxlKCRzX2YpICYmICFAaXNfd3JpdGFibGUoJHNfZikpICRzX2ZjcyA9ICJUaGlzIGZpbGUgaXMgbm90IHdyaXRhYmxlIjsNCg0KCQlpZighZW1wdHkoJHNfZmNzKSkgJHNfcmVzdWx0IC49IG5vdGlmKCRzX2Zjcyk7DQoNCgkJJHNfcmVzdWx0IC49ICI8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPjxwIGNsYXNzPSdjZSBtcCc+PGlucHV0IHR5cGU9J3RleHQnIGNsYXNzPSdpbnB1dHonIHN0eWxlPSd3aWR0aDoxMDAlOycgbmFtZT0naGV4ZWRpdCcgdmFsdWU9JyIuaHNzKCRzX2YpLiInIC8+PC9wPjxwIGNsYXNzPSdiYicgc3R5bGU9J3BhZGRpbmc6MCAwIDE0cHggMDsnPjxpbnB1dCB0eXBlPSdzdWJtaXQnIGNsYXNzPSdpbnB1dHpidXQnIHZhbHVlPSdTYXZlICEnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDsnIG9uY2xpY2s9XCJyZXR1cm4gc2goKTtcIiAvPjwvcD48dGFibGUgY2xhc3M9J2V4cGxvcmUnPiI7DQoNCgkJaWYoQGlzX2ZpbGUoJHNfZikpew0KCQkJJHNfZnAgPSBmb3Blbigkc19mLCAiciIpOw0KCQkJaWYoJHNfZnApIHsNCgkJCQkkc19sZHVtcCA9ICIiOw0KCQkJCSRzX2NvdW50ZXIgPSAwOw0KCQkJCSRzX2ljb3VudGVyID0gMDsNCgkJCQl3aGlsZSghZmVvZigkc19mcCkpew0KCQkJCQkkc19saW5lID0gZnJlYWQoJHNfZnAsIDMyKTsNCgkJCQkJJHNfbGluZWhleCA9IHN0cnRvdXBwZXIoYmluMmhleCgkc19saW5lKSk7DQoJCQkJCSRzX2xpbmV4ID0gc3RyX3NwbGl0KCRzX2xpbmVoZXgsIDIpOw0KCQkJCQkkc19saW5laGV4ID0gaW1wbG9kZSgiICIsICRzX2xpbmV4KTsNCgkJCQkJJHNfYWRkciA9IHNwcmludGYoIiUwOHhoIiwgJHNfaWNvdW50ZXIpOw0KDQoJCQkJCSRzX3Jlc3VsdCAuPSAiPHRyPjx0ZCBjbGFzcz0nY2UgdzYwJz4iLiRzX2FkZHIuIjwvdGQ+PHRkIGNsYXNzPSdsZSB3NTk0Jz48aW5wdXQgb25zZWxlY3Q9J3RoaXMuc2VsZWN0aW9uRW5kPXRoaXMuc2VsZWN0aW9uU3RhcnQ7JyBvbmNsaWNrPVwiaHUoJyIuJHNfY291bnRlci4iJyxldmVudCk7XCIgb25rZXlkb3duPVwicmV0dXJuIGhmKCciLiRzX2NvdW50ZXIuIicsZXZlbnQpO1wiIG9ua2V5dXA9XCJodSgnIi4kc19jb3VudGVyLiInLGV2ZW50KTtcIiB0eXBlPSd0ZXh0JyBjbGFzcz0naW5wdXR6IHc1NzgnIGlkPSdoZXhfIi4kc19jb3VudGVyLiInIG5hbWU9J2h4W10nIHZhbHVlPSciLiRzX2xpbmVoZXguIicgIG1heGxlbmd0aD0nIi5zdHJsZW4oJHNfbGluZWhleCkuIicgLz48L3RkPjx0ZCBjbGFzcz0nbGUgbHMyJz48cHJlIG5hbWU9J2hleGR1bXAnIGlkPSdkdW1wXyIuJHNfY291bnRlci4iJyBjbGFzcz0nbXAnPjwvcHJlPjwvdGQ+PC90cj4iOw0KCQkJCQkkc19jb3VudGVyKys7DQoJCQkJCSRzX2ljb3VudGVyKz0zMjsNCgkJCQl9DQoJCQkJJHNfcmVzdWx0IC49ICI8aW5wdXQgdHlwZT0naGlkZGVuJyBpZD0nY291bnRlcicgdmFsdWU9JyIuJHNfY291bnRlci4iJyAvPiI7DQoJCQkJJHNfcmVzdWx0IC49ICI8dGV4dGFyZWEgbmFtZT0naHh0JyBpZD0naHh0JyBjbGFzcz0nc2VtYnVueWknPjwvdGV4dGFyZWE+IjsNCgkJCQlmY2xvc2UoJHNfZnApOw0KCQkJfQ0KCQl9DQoJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT48L2Zvcm0+IjsNCg0KCX0gLy8gc2hvdyBzZXJ2ZXIgaW5mb3JtYXRpb24NCgllbHNlaWYoaXNzZXQoJF9HUFsneCddKSAmJiAoJF9HUFsneCddPT0naW5mbycpKXsNCgkJJHNfcmVzdWx0ID0gIiI7DQoJCS8vIHNlcnZlciBtaXNjIGluZm8NCgkJJHNfcmVzdWx0IC49ICI8cCBjbGFzcz0nbm90aWYnIG9uY2xpY2s9XCJ0b2dnbGUoJ2luZm9fc2VydmVyJylcIj5TZXJ2ZXIgSW5mbzwvcD4iOw0KCQkkc19yZXN1bHQgLj0gIjxkaXYgY2xhc3M9J2luZm8nIGlkPSdpbmZvX3NlcnZlcic+PHRhYmxlPiI7DQoNCgkJaWYoJHNfd2luKXsNCgkJCWZvcmVhY2ggKHJhbmdlKCJBIiwgIloiKSBhcyAkc19sZXR0ZXIpew0KCQkJCWlmKChAaXNfZGlyKCRzX2xldHRlci4iOlxcIikgJiYgQGlzX3JlYWRhYmxlKCRzX2xldHRlci4iOlxcIikpKXsNCgkJCQkJJHNfZHJpdmUgPSAkc19sZXR0ZXIuIjoiOw0KCQkJCQkkc19yZXN1bHQgLj0gIjx0cj48dGQ+ZHJpdmUgIi4kc19kcml2ZS4iPC90ZD48dGQ+Ii50cyhkaXNrX2ZyZWVfc3BhY2UoJHNfZHJpdmUpKS4iIGZyZWUgb2YgIi50cyhkaXNrX3RvdGFsX3NwYWNlKCRzX2RyaXZlKSkuIjwvdGQ+PC90cj4iOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlICRzX3Jlc3VsdCAuPSAiPHRyPjx0ZD5yb290IHBhcnRpdGlvbjwvdGQ+PHRkPiIudHMoQGRpc2tfZnJlZV9zcGFjZSgiLyIpKS4iIGZyZWUgb2YgIi50cyhAZGlza190b3RhbF9zcGFjZSgiLyIpKS4iPC90ZD48L3RyPiI7DQoNCgkJJHNfcmVzdWx0IC49ICI8dHI+PHRkPnBocDwvdGQ+PHRkPiIucGhwdmVyc2lvbigpLiI8L3RkPjwvdHI+IjsNCgkJJHNfYWNjZXNzID0gYXJyYXkoInNfcHl0aG9uIiwgInNfcGVybCIsICJzX3J1YnkiLCAic19ub2RlIiwgInNfbm9kZWpzIiwgInNfZ2NjIiwgInNfamF2YSIsICJzX2phdmFjIiwgInNfdGFyIiwgInNfd2dldCIsICJzX2x3cGRvd25sb2FkIiwgInNfbHlueCIsICJzX2N1cmwiKTsNCgkJZm9yZWFjaCgkc19hY2Nlc3MgYXMgJHMpew0KCQkJJHNfdCA9IGV4cGxvZGUoIl8iLCAkcyk7DQoJCQlpZihpc3NldCgkJHMpKSAkc19yZXN1bHQgLj0gIjx0cj48dGQ+Ii4kc190WzFdLiI8L3RkPjx0ZD4iLiQkcy4iPC90ZD48L3RyPiI7DQoJCX0NCg0KCQlpZighJHNfd2luKXsNCgkJCSRzX2ludGVyZXN0aW5nID0gYXJyYXkoDQoJCQkiL2V0Yy9vcy1yZWxlYXNlIiwgIi9ldGMvcGFzc3dkIiwgIi9ldGMvc2hhZG93IiwgIi9ldGMvZ3JvdXAiLCAiL2V0Yy9pc3N1ZSIsICIvZXRjL2lzc3VlLm5ldCIsICIvZXRjL21vdGQiLCAiL2V0Yy9zdWRvZXJzIiwgIi9ldGMvaG9zdHMiLCAiL2V0Yy9hbGlhc2VzIiwNCgkJCSIvcHJvYy92ZXJzaW9uIiwgIi9ldGMvcmVzb2x2LmNvbmYiLCAiL2V0Yy9zeXNjdGwuY29uZiIsDQoJCQkiL2V0Yy9uYW1lZC5jb25mIiwgIi9ldGMvbmV0d29yay9pbnRlcmZhY2VzIiwgIi9ldGMvc3F1aWQvc3F1aWQuY29uZiIsICIvdXNyL2xvY2FsL3NxdWlkL2V0Yy9zcXVpZC5jb25mIiwNCgkJCSIvZXRjL3NzaC9zc2hkX2NvbmZpZyIsDQoJCQkiL2V0Yy9odHRwZC9jb25mL2h0dHBkLmNvbmYiLCAiL3Vzci9sb2NhbC9hcGFjaGUyL2NvbmYvaHR0cGQuY29uZiIsICIgL2V0Yy9hcGFjaGUyL2FwYWNoZTIuY29uZiIsICIvZXRjL2FwYWNoZTIvaHR0cGQuY29uZiIsICIvdXNyL3BrZy9ldGMvaHR0cGQvaHR0cGQuY29uZiIsICIvdXNyL2xvY2FsL2V0Yy9hcGFjaGUyMi9odHRwZC5jb25mIiwgIi91c3IvbG9jYWwvZXRjL2FwYWNoZTIvaHR0cGQuY29uZiIsICIvdmFyL3d3dy9jb25mL2h0dHBkLmNvbmYiLCAiL2V0Yy9hcGFjaGUyL2h0dHBkMi5jb25mIiwgIi9ldGMvaHR0cGQvaHR0cGQuY29uZiIsDQoJCQkiL2V0Yy9saWdodHRwZC9saWdodHRwZC5jb25mIiwgIi9ldGMvbmdpbngvbmdpbnguY29uZiIsDQoJCQkiL2V0Yy9mc3RhYiIsICIvZXRjL210YWIiLCAiL2V0Yy9jcm9udGFiIiwgIi9ldGMvaW5pdHRhYiIsICIvZXRjL21vZHVsZXMuY29uZiIsICIvZXRjL21vZHVsZXMiKTsNCgkJCWZvcmVhY2goJHNfaW50ZXJlc3RpbmcgYXMgJHNfZil7DQoJCQkJaWYoQGlzX2ZpbGUoJHNfZikgJiYgQGlzX3JlYWRhYmxlKCRzX2YpKSAkc19yZXN1bHQgLj0gIjx0cj48dGQ+Ii4kc19mLiI8L3RkPjx0ZD48YSBocmVmPSciLiRzX3NlbGYuInZpZXc9Ii5wbCgkc19mKS4iJz4iLiRzX2YuIiBpcyByZWFkYWJsZTwvYT48L3RkPjwvdHI+IjsNCgkJCX0NCgkJfQ0KCQkkc19yZXN1bHQgLj0gIjwvdGFibGU+PC9kaXY+IjsNCg0KCQlpZighJHNfd2luKXsNCgkJCS8vIGNwdSBpbmZvDQoJCQlpZigkc19pX2J1ZmY9dHJpbShAZmdjKCIvcHJvYy9jcHVpbmZvIikpKXsNCgkJCQkkc19yZXN1bHQgLj0gIjxwIGNsYXNzPSdub3RpZicgb25jbGljaz1cInRvZ2dsZSgnaW5mb19jcHUnKVwiPkNQVSBJbmZvPC9wPiI7DQoJCQkJJHNfcmVzdWx0IC49ICI8ZGl2IGNsYXNzPSdpbmZvJyBpZD0naW5mb19jcHUnPiI7DQoJCQkJJHNfaV9idWZmcyA9IGV4cGxvZGUoIlxuXG4iLCAkc19pX2J1ZmYpOw0KCQkJCWZvcmVhY2goJHNfaV9idWZmcyBhcyAkc19pX2J1ZmZzcyl7DQoJCQkJCSRzX2lfYnVmZnNzID0gdHJpbSgkc19pX2J1ZmZzcyk7DQoJCQkJCWlmKCRzX2lfYnVmZnNzIT0iIil7DQoJCQkJCQkkc19pX2J1ZmZzc3MgPSBleHBsb2RlKCJcbiIsICRzX2lfYnVmZnNzKTsNCgkJCQkJCSRzX3Jlc3VsdCAuPSAiPHRhYmxlPiI7DQoJCQkJCQlmb3JlYWNoKCRzX2lfYnVmZnNzcyBhcyAkc19pKXsNCgkJCQkJCQkkc19pID0gdHJpbSgkc19pKTsNCgkJCQkJCQlpZigkc19pIT0iIil7DQoJCQkJCQkJCSRzX2lpID0gZXhwbG9kZSgiOiIsJHNfaSk7DQoJCQkJCQkJCWlmKGNvdW50KCRzX2lpKT09MikgJHNfcmVzdWx0IC49ICI8dHI+PHRkPiIuJHNfaWlbMF0uIjwvdGQ+PHRkPiIuJHNfaWlbMV0uIjwvdGQ+PC90cj4iOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT4iOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCSRzX3Jlc3VsdCAuPSAiPC9kaXY+IjsNCgkJCX0NCg0KCQkJLy8gbWVtIGluZm8NCgkJCWlmKCRzX2lfYnVmZj10cmltKEBmZ2MoIi9wcm9jL21lbWluZm8iKSkpew0KCQkJCSRzX3Jlc3VsdCAuPSAiPHAgY2xhc3M9J25vdGlmJyBvbmNsaWNrPVwidG9nZ2xlKCdpbmZvX21lbScpXCI+TWVtb3J5IEluZm88L3A+IjsNCgkJCQkkc19pX2J1ZmZzID0gZXhwbG9kZSgiXG4iLCAkc19pX2J1ZmYpOw0KCQkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz0naW5mbycgaWQ9J2luZm9fbWVtJz48dGFibGU+IjsNCgkJCQlmb3JlYWNoKCRzX2lfYnVmZnMgYXMgJHNfaSl7DQoJCQkJCSRzX2kgPSB0cmltKCRzX2kpOw0KCQkJCQlpZigkc19pIT0iIil7DQoJCQkJCQkkc19paSA9IGV4cGxvZGUoIjoiLCRzX2kpOw0KCQkJCQkJaWYoY291bnQoJHNfaWkpPT0yKSAkc19yZXN1bHQgLj0gIjx0cj48dGQ+Ii4kc19paVswXS4iPC90ZD48dGQ+Ii4kc19paVsxXS4iPC90ZD48L3RyPiI7DQoJCQkJCX0NCgkJCQkJZWxzZSAkc19yZXN1bHQgLj0gIjwvdGFibGU+PHRhYmxlPiI7DQoJCQkJfQ0KCQkJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOw0KCQkJfQ0KDQoJCQkvLyBwYXJ0aXRpb24NCgkJCWlmKCRzX2lfYnVmZj10cmltKEBmZ2MoIi9wcm9jL3BhcnRpdGlvbnMiKSkpew0KCQkJCSRzX2lfYnVmZiA9IHByZWdfcmVwbGFjZSgiL1wgKy8iLCAiICIsICRzX2lfYnVmZik7DQoJCQkJJHNfcmVzdWx0IC49ICI8cCBjbGFzcz0nbm90aWYnIG9uY2xpY2s9XCJ0b2dnbGUoJ2luZm9fcGFydCcpXCI+UGFydGl0aW9ucyBJbmZvPC9wPiI7DQoJCQkJJHNfcmVzdWx0IC49ICI8ZGl2IGNsYXNzPSdpbmZvJyBpZD0naW5mb19wYXJ0Jz4iOw0KCQkJCSRzX2lfYnVmZnMgPSBleHBsb2RlKCJcblxuIiwgJHNfaV9idWZmKTsNCgkJCQkkc19yZXN1bHQgLj0gIjx0YWJsZT48dHI+IjsNCgkJCQkkc19pX2hlYWQgPSBleHBsb2RlKCIgIiwgJHNfaV9idWZmc1swXSk7DQoJCQkJZm9yZWFjaCgkc19pX2hlYWQgYXMgJHNfaCkgJHNfcmVzdWx0IC49ICI8dGg+Ii4kc19oLiI8L3RoPiI7DQoJCQkJJHNfcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkJJHNfaV9idWZmc3MgPSBleHBsb2RlKCJcbiIsICRzX2lfYnVmZnNbMV0pOw0KCQkJCWZvcmVhY2goJHNfaV9idWZmc3MgYXMgJHNfaV9iKXsNCgkJCQkJJHNfaV9yb3cgPSBleHBsb2RlKCIgIiwgdHJpbSgkc19pX2IpKTsNCgkJCQkJJHNfcmVzdWx0IC49ICI8dHI+IjsNCgkJCQkJZm9yZWFjaCgkc19pX3JvdyBhcyAkc19yKSAkc19yZXN1bHQgLj0gIjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpjZW50ZXI7Jz4iLiRzX3IuIjwvdGQ+IjsNCgkJCQkJJHNfcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkJfQ0KCQkJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT4iOw0KCQkJCSRzX3Jlc3VsdCAuPSAiPC9kaXY+IjsNCgkJCX0NCgkJfQ0KCQkkc19waHBpbmZvID0gYXJyYXkoIlBIUCBHZW5lcmFsIiA9PiBJTkZPX0dFTkVSQUwsICJQSFAgQ29uZmlndXJhdGlvbiIgPT4gSU5GT19DT05GSUdVUkFUSU9OLCAiUEhQIE1vZHVsZXMiID0+IElORk9fTU9EVUxFUywgIlBIUCBFbnZpcm9ubWVudCIgPT4gSU5GT19FTlZJUk9OTUVOVCwgIlBIUCBWYXJpYWJsZXMiID0+IElORk9fVkFSSUFCTEVTKTsNCgkJZm9yZWFjaCgkc19waHBpbmZvIGFzICRzX3A9PiRzX2kpew0KCQkJJHNfcmVzdWx0IC49ICI8cCBjbGFzcz0nbm90aWYnIG9uY2xpY2s9XCJ0b2dnbGUoJyIuJHNfaS4iJylcIj4iLiRzX3AuIjwvcD4iOw0KCQkJb2Jfc3RhcnQoKTsNCgkJCWV2YWwoInBocGluZm8oIi4kc19pLiIpOyIpOw0KCQkJJHNfYiA9IG9iX2dldF9jb250ZW50cygpOw0KCQkJb2JfZW5kX2NsZWFuKCk7DQoJCQlpZihwcmVnX21hdGNoKCIvPGJvZHk+KC4qPyk8XC9ib2R5Pi9pcyIsICRzX2IsICRyKSl7DQoJCQkJJHNfYm9keSA9IHN0cl9yZXBsYWNlKGFycmF5KCIsIiwgIjsiLCAiJmFtcDsiKSwgYXJyYXkoIiwgIiwgIjsgIiwgIiYiKSwgJHJbMV0pOw0KCQkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz0naW5mbycgaWQ9JyIuJHNfaS4iJz4iLiRzX2JvZHkuIjwvZGl2PiI7DQoJCQl9DQoJCX0NCgl9IC8vIHdvcmtpbmcgd2l0aCBkYXRhYmFzZQ0KCWVsc2VpZihpc3NldCgkX0dQWyd4J10pICYmICgkX0dQWyd4J109PSdkYicpKXsNCgkJLy8gc3FsdHlwZSA6IG15c3FsLCBtc3NxbCwgb3JhY2xlLCBwZ3NxbCwgc3FsaXRlLCBzcWxpdGUzLCBvZGJjLCBwZG8NCgkJJHNfc3FsID0gYXJyYXkoKTsNCgkJJHNfc3FsX2RlbGV0ZWQgPSAiIjsNCgkJJHNfc2hvd19mb3JtID0gJHNfc2hvd19kYnMgPSB0cnVlOw0KDQoJCWlmKGlzc2V0KCRfR1BbJ2RjJ10pKXsNCgkJCSRrID0gJF9HUFsnZGMnXTsNCgkJCXNldGNvb2tpZSgiY1siLiRrLiJdIiwgIiIgLHRpbWUoKSAtICRzX2xvZ2luX3RpbWUpOw0KCQkJJHNfc3FsX2RlbGV0ZWQgPSAkazsNCgkJfQ0KDQoJCWlmKGlzc2V0KCRfQ09PS0lFWydjJ10pICYmICFpc3NldCgkX0dQWydjb25uZWN0J10pKXsNCgkJCWZvcmVhY2goJF9DT09LSUVbJ2MnXSBhcyAkYz0+JGQpew0KCQkJCWlmKCRjPT0kc19zcWxfZGVsZXRlZCkgY29udGludWU7DQoJCQkJJHNfZGJjb24gPSAoZnVuY3Rpb25fZXhpc3RzKCJqc29uX2VuY29kZSIpICYmIGZ1bmN0aW9uX2V4aXN0cygianNvbl9kZWNvZGUiKSk/IGpzb25fZGVjb2RlKCRkKTp1bnNlcmlhbGl6ZSgkZCk7DQoJCQkJZm9yZWFjaCgkc19kYmNvbiBhcyAkaz0+JHYpICRzX3NxbFska10gPSAkdjsNCgkJCQkkc19zcWxwb3J0ID0gKCFlbXB0eSgkc19zcWxbJ3BvcnQnXSkpPyAiOiIuJHNfc3FsWydwb3J0J106IiI7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJbIi4kc19zcWxbJ3R5cGUnXS4iXSAiLiRzX3NxbFsndXNlciddLiJAIi4kc19zcWxbJ2hvc3QnXS4kc19zcWxwb3J0LiINCgkJCQkJCQk8c3BhbiBzdHlsZT0nZmxvYXQ6cmlnaHQ7Jz48YSBocmVmPSciLiRzX3NlbGYuIng9ZGImY29ubmVjdD1jb25uZWN0JnNxbGhvc3Q9Ii5wbCgkc19zcWxbJ2hvc3QnXSkuIiZzcWxwb3J0PSIucGwoJHNfc3FsWydwb3J0J10pLiImc3FsdXNlcj0iLnBsKCRzX3NxbFsndXNlciddKS4iJnNxbHBhc3M9Ii5wbCgkc19zcWxbJ3Bhc3MnXSkuIiZzcWx0eXBlPSIucGwoJHNfc3FsWyd0eXBlJ10pLiInPmNvbm5lY3Q8L2E+IHwgPGEgaHJlZj0nIi4kc19zZWxmLiJ4PWRiJmRjPSIucGwoJGMpLiInPmRpc2Nvbm5lY3Q8L2E+PC9zcGFuPiIpOw0KCQkJfQ0KCQl9DQoJCWVsc2V7DQoJCQkkc19zcWxbJ2hvc3QnXSA9IGlzc2V0KCRfR1BbJ3NxbGhvc3QnXSk/ICRfR1BbJ3NxbGhvc3QnXSA6ICIiOw0KCQkJJHNfc3FsWydwb3J0J10gPSBpc3NldCgkX0dQWydzcWxwb3J0J10pPyAkX0dQWydzcWxwb3J0J10gOiAiIjsNCgkJCSRzX3NxbFsndXNlciddID0gaXNzZXQoJF9HUFsnc3FsdXNlciddKT8gJF9HUFsnc3FsdXNlciddIDogIiI7DQoJCQkkc19zcWxbJ3Bhc3MnXSA9IGlzc2V0KCRfR1BbJ3NxbHBhc3MnXSk/ICRfR1BbJ3NxbHBhc3MnXSA6ICIiOw0KCQkJJHNfc3FsWyd0eXBlJ10gPSBpc3NldCgkX0dQWydzcWx0eXBlJ10pPyAkX0dQWydzcWx0eXBlJ10gOiAiIjsNCgkJfQ0KDQoJCWlmKGlzc2V0KCRfR1BbJ2Nvbm5lY3QnXSkpew0KCQkJJHNfY29uID0gc3FsX2Nvbm5lY3QoJHNfc3FsWyd0eXBlJ10sJHNfc3FsWydob3N0J10sJHNfc3FsWyd1c2VyJ10sJHNfc3FsWydwYXNzJ10pOw0KCQkJJHNfc3FsY29kZSA9IGlzc2V0KCRfR1BbJ3NxbGNvZGUnXSk/ICRfR1BbJ3NxbGNvZGUnXSA6ICIiOw0KDQoJCQlpZigkc19jb24hPT1mYWxzZSl7DQoJCQkJaWYoaXNzZXQoJF9HUFsnc3FsaW5pdCddKSl7DQoJCQkJCSRzX3NxbF9jb29raWUgPSAoZnVuY3Rpb25fZXhpc3RzKCJqc29uX2VuY29kZSIpICYmIGZ1bmN0aW9uX2V4aXN0cygianNvbl9kZWNvZGUiKSk/IGpzb25fZW5jb2RlKCRzX3NxbCk6c2VyaWFsaXplKCRzX3NxbCk7DQoJCQkJCSRzX2NfbnVtID0gc3Vic3RyKG1kNSh0aW1lKCkucmFuZCgwLDEwMCkpLDAsMyk7DQoJCQkJCXdoaWxlKGlzc2V0KCRfQ09PS0lFWydjJ10pICYmIGlzX2FycmF5KCRfQ09PS0lFWydjJ10pICYmIGFycmF5X2tleV9leGlzdHMoJHNfY19udW0sICRfQ09PS0lFWydjJ10pKXsNCgkJCQkJCSRzX2NfbnVtID0gc3Vic3RyKG1kNSh0aW1lKCkucmFuZCgwLDEwMCkpLDAsMyk7DQoJCQkJCX0NCgkJCQkJc2V0Y29va2llKCJjWyIuJHNfY19udW0uIl0iLCAkc19zcWxfY29va2llICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJCQl9DQoJCQkJJHNfc2hvd19mb3JtID0gZmFsc2U7DQoJCQkJJHNfcmVzdWx0IC49ICI8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnPg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdzcWxob3N0JyB2YWx1ZT0nIi5oc3MoJHNfc3FsWydob3N0J10pLiInIC8+DQoJCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3NxbHBvcnQnIHZhbHVlPSciLmhzcygkc19zcWxbJ3BvcnQnXSkuIicgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nc3FsdXNlcicgdmFsdWU9JyIuaHNzKCRzX3NxbFsndXNlciddKS4iJyAvPg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdzcWxwYXNzJyB2YWx1ZT0nIi5oc3MoJHNfc3FsWydwYXNzJ10pLiInIC8+DQoJCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3NxbHR5cGUnIHZhbHVlPSciLmhzcygkc19zcWxbJ3R5cGUnXSkuIicgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0neCcgdmFsdWU9J2RiJyAvPg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdjb25uZWN0JyB2YWx1ZT0nY29ubmVjdCcgLz4NCgkJCQkJPHRleHRhcmVhIGlkPSdzcWxjb2RlJyBuYW1lPSdzcWxjb2RlJyBjbGFzcz0ndHh0YXJlYScgc3R5bGU9J2hlaWdodDoxNTBweDsnPiIuaHNzKCRzX3NxbGNvZGUpLiI8L3RleHRhcmVhPg0KCQkJCQk8cD48aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdnb2dvJyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nR28gIScgc3R5bGU9J3dpZHRoOjEyMHB4O2hlaWdodDozMHB4OycgLz4NCgkJCQkJJm5ic3A7Jm5ic3A7U2VwYXJhdGUgbXVsdGlwbGUgY29tbWFuZHMgd2l0aCBhIHNlbWljb2xvbiAgPHNwYW4gY2xhc3M9J2dheWEnPls8L3NwYW4+IDsgPHNwYW4gY2xhc3M9J2dheWEnPl08L3NwYW4+PC9wPg0KCQkJCQk8L2Zvcm0+IjsNCg0KCQkJCWlmKCFlbXB0eSgkc19zcWxjb2RlKSl7DQoJCQkJCSRzX3F1ZXJ5cyA9IGV4cGxvZGUoIjsiLCRzX3NxbGNvZGUpOw0KCQkJCQlmb3JlYWNoKCRzX3F1ZXJ5cyBhcyAkc19xdWVyeSl7DQoJCQkJCQlpZih0cmltKCRzX3F1ZXJ5KSAhPSAiIil7DQoJCQkJCQkJJHNfaGFzaWwgPSBzcWxfcXVlcnkoJHNfc3FsWyd0eXBlJ10sJHNfcXVlcnksJHNfY29uKTsNCgkJCQkJCQlpZigkc19oYXNpbCE9ZmFsc2Upew0KCQkJCQkJCQkkc19yZXN1bHQgLj0gIjxociAvPjxwIHN0eWxlPSdwYWRkaW5nOjA7bWFyZ2luOjZweCAxMHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Jz4iLmhzcygkc19xdWVyeSkuIjsmbmJzcDsmbmJzcDsmbmJzcDsNCgkJCQkJCQkJPHNwYW4gY2xhc3M9J2dheWEnPls8L3NwYW4+IG9rIDxzcGFuIGNsYXNzPSdnYXlhJz5dPC9zcGFuPjwvcD4iOw0KDQoJCQkJCQkJCWlmKCFpc19ib29sKCRzX2hhc2lsKSl7DQoJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjx0YWJsZSBjbGFzcz0nZXhwbG9yZSBzb3J0YWJsZScgc3R5bGU9J3dpZHRoOjEwMCU7Jz48dHI+IjsNCgkJCQkJCQkJCWZvcigkc19pID0gMDsgJHNfaTxzcWxfbnVtX2ZpZWxkcygkc19zcWxbJ3R5cGUnXSwkc19oYXNpbCk7ICRzX2krKykNCgkJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjx0aD4iLkBoc3Moc3FsX2ZpZWxkX25hbWUoJHNfc3FsWyd0eXBlJ10sJHNfaGFzaWwsJHNfaSkpLiI8L3RoPiI7DQoJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjwvdHI+IjsNCgkJCQkJCQkJCXdoaWxlKCRzX3Jvd3M9c3FsX2ZldGNoX2RhdGEoJHNfc3FsWyd0eXBlJ10sJHNfaGFzaWwpKXsNCgkJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjx0cj4iOw0KCQkJCQkJCQkJCWZvcmVhY2goJHNfcm93cyBhcyAkc19yKXsNCgkJCQkJCQkJCQkJaWYoZW1wdHkoJHNfcikpICRzX3IgPSAiICI7DQoJCQkJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPHRkPiIuQGhzcygkc19yKS4iPC90ZD4iOw0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjwvdHI+IjsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT4iOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJCWVsc2V7DQoJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPHAgc3R5bGU9J3BhZGRpbmc6MDttYXJnaW46NnB4IDEwcHg7Zm9udC13ZWlnaHQ6Ym9sZDsnPiIuaHNzKCRzX3F1ZXJ5KS4iOyZuYnNwOyZuYnNwOyZuYnNwOzxzcGFuIGNsYXNzPSdnYXlhJz5bPC9zcGFuPiBlcnJvciA8c3BhbiBjbGFzcz0nZ2F5YSc+XTwvc3Bhbj48L3A+IjsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJZWxzZXsNCgkJCQkJaWYoKCRzX3NxbFsndHlwZSddIT0ncGRvJykgJiYgKCRzX3NxbFsndHlwZSddIT0nb2RiYycpKXsNCgkJCQkJCWlmKCRzX3NxbFsndHlwZSddPT0nbXlzcWwnKSAkc19zaG93ZGIgPSAiU0hPVyBEQVRBQkFTRVMiOw0KCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0nbXNzcWwnKSAkc19zaG93ZGIgPSAiU0VMRUNUIG5hbWUgRlJPTSBtYXN0ZXIuLnN5c2RhdGFiYXNlcyI7DQoJCQkJCQllbHNlaWYoJHNfc3FsWyd0eXBlJ109PSdwZ3NxbCcpICRzX3Nob3dkYiA9ICJTRUxFQ1Qgc2NoZW1hX25hbWUgRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEuc2NoZW1hdGEiOw0KCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0nb3JhY2xlJykgJHNfc2hvd2RiID0gIlNFTEVDVCBVU0VSTkFNRSBGUk9NIFNZUy5BTExfVVNFUlMgT1JERVIgQlkgVVNFUk5BTUUiOw0KCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0nc3FsaXRlMycgfHwgJHNfc3FsWyd0eXBlJ109PSdzcWxpdGUnKSAkc19zaG93ZGIgPSAiU0VMRUNUIFwiIi4kc19zcWxbJ2hvc3QnXS4iXCIiOw0KCQkJCQkJZWxzZSAkc19zaG93ZGIgPSAiU0hPVyBEQVRBQkFTRVMiOw0KDQoJCQkJCQkkc19oYXNpbCA9IHNxbF9xdWVyeSgkc19zcWxbJ3R5cGUnXSwkc19zaG93ZGIsJHNfY29uKTsNCg0KCQkJCQkJaWYoJHNfaGFzaWwhPWZhbHNlKSB7DQoJCQkJCQkJd2hpbGUoJHNfcm93c19hcnI9c3FsX2ZldGNoX2RhdGEoJHNfc3FsWyd0eXBlJ10sJHNfaGFzaWwpKXsNCgkJCQkJCQkJZm9yZWFjaCgkc19yb3dzX2FyciBhcyAkc19yb3dzKXsNCgkJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPHAgY2xhc3M9J25vdGlmJyBvbmNsaWNrPVwidG9nZ2xlKCdkYl8iLiRzX3Jvd3MuIicpXCI+Ii4kc19yb3dzLiI8L3A+IjsNCgkJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz0naW5mbycgaWQ9J2RiXyIuJHNfcm93cy4iJz48dGFibGUgY2xhc3M9J2V4cGxvcmUnPiI7DQoNCgkJCQkJCQkJCWlmKCRzX3NxbFsndHlwZSddPT0nbXlzcWwnKSAkc19zaG93dGJsID0gIlNIT1cgVEFCTEVTIEZST00gIi4kc19yb3dzOw0KCQkJCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0nbXNzcWwnKSAkc19zaG93dGJsID0gIlNFTEVDVCBuYW1lIEZST00gIi4kc19yb3dzLiIuLnN5c29iamVjdHMgV0hFUkUgeHR5cGUgPSAnVSciOw0KCQkJCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0ncGdzcWwnKSAkc19zaG93dGJsID0gIlNFTEVDVCB0YWJsZV9uYW1lIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyBXSEVSRSB0YWJsZV9zY2hlbWE9JyIuJHNfcm93cy4iJyI7DQoJCQkJCQkJCQllbHNlaWYoJHNfc3FsWyd0eXBlJ109PSdvcmFjbGUnKSAkc19zaG93dGJsID0gIlNFTEVDVCBUQUJMRV9OQU1FIEZST00gU1lTLkFMTF9UQUJMRVMgV0hFUkUgT1dORVI9JyIuJHNfcm93cy4iJyI7DQoJCQkJCQkJCQllbHNlaWYoJHNfc3FsWyd0eXBlJ109PSdzcWxpdGUzJyB8fCAkc19zcWxbJ3R5cGUnXT09J3NxbGl0ZScpICRzX3Nob3d0YmwgPSAiU0VMRUNUIG5hbWUgRlJPTSBzcWxpdGVfbWFzdGVyIFdIRVJFIHR5cGU9J3RhYmxlJyI7DQoJCQkJCQkJCQllbHNlICRzX3Nob3d0YmwgPSAiIjsNCg0KCQkJCQkJCQkJJHNfaGFzaWxfdCA9IHNxbF9xdWVyeSgkc19zcWxbJ3R5cGUnXSwkc19zaG93dGJsLCRzX2Nvbik7DQoJCQkJCQkJCQlpZigkc19oYXNpbF90IT1mYWxzZSkgew0KCQkJCQkJCQkJCXdoaWxlKCRzX3RhYmxlc19hcnI9c3FsX2ZldGNoX2RhdGEoJHNfc3FsWyd0eXBlJ10sJHNfaGFzaWxfdCkpew0KCQkJCQkJCQkJCQlmb3JlYWNoKCRzX3RhYmxlc19hcnIgYXMgJHNfdGFibGVzKXsNCgkJCQkJCQkJCQkJCWlmKCRzX3NxbFsndHlwZSddPT0nbXlzcWwnKSAkc19kdW1wX3RibCA9ICJTRUxFQ1QgKiBGUk9NICIuJHNfcm93cy4iLiIuJHNfdGFibGVzLiIgTElNSVQgMCwxMDAiOw0KCQkJCQkJCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0nbXNzcWwnKSAkc19kdW1wX3RibCA9ICJTRUxFQ1QgVE9QIDEwMCAqIEZST00gIi4kc19yb3dzLiIuLiIuJHNfdGFibGVzOw0KCQkJCQkJCQkJCQkJZWxzZWlmKCRzX3NxbFsndHlwZSddPT0ncGdzcWwnKSAkc19kdW1wX3RibCA9ICJTRUxFQ1QgKiBGUk9NICIuJHNfcm93cy4iLiIuJHNfdGFibGVzLiIgTElNSVQgMTAwIE9GRlNFVCAwIjsNCgkJCQkJCQkJCQkJCWVsc2VpZigkc19zcWxbJ3R5cGUnXT09J29yYWNsZScpICRzX2R1bXBfdGJsID0gIlNFTEVDVCAqIEZST00gIi4kc19yb3dzLiIuIi4kc190YWJsZXMuIiBXSEVSRSBST1dOVU0gQkVUV0VFTiAwIEFORCAxMDA7IjsNCgkJCQkJCQkJCQkJCWVsc2VpZigkc19zcWxbJ3R5cGUnXT09J3NxbGl0ZScgfHwgJHNfc3FsWyd0eXBlJ109PSdzcWxpdGUzJykgJHNfZHVtcF90YmwgPSAiU0VMRUNUICogRlJPTSAiLiRzX3RhYmxlcy4iIExJTUlUIDAsMTAwIjsNCgkJCQkJCQkJCQkJCWVsc2UgJHNfZHVtcF90YmwgPSAiIjsNCg0KCQkJCQkJCQkJCQkJJHNfZHVtcF90YmxfbGluayA9ICRzX3NlbGYuIng9ZGImY29ubmVjdD0mc3FsaG9zdD0iLnBsKCRzX3NxbFsnaG9zdCddKS4iJnNxbHBvcnQ9Ii5wbCgkc19zcWxbJ3BvcnQnXSkuIiZzcWx1c2VyPSIucGwoJHNfc3FsWyd1c2VyJ10pLiImc3FscGFzcz0iLnBsKCRzX3NxbFsncGFzcyddKS4iJnNxbHR5cGU9Ii5wbCgkc19zcWxbJ3R5cGUnXSkuIiZzcWxjb2RlPSIucGwoJHNfZHVtcF90YmwpOw0KDQoJCQkJCQkJCQkJCQkkc19yZXN1bHQgLj0gIjx0cj48dGQgb25kYmxjbGljaz1cInJldHVybiBnbygnIi5hZGRzKCRzX2R1bXBfdGJsX2xpbmspLiInLGV2ZW50KTtcIj48YSBocmVmPSciLiRzX2R1bXBfdGJsX2xpbmsuIic+Ii4kc190YWJsZXMuIjwvYT48L3RkPjwvdHI+IjsNCgkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCX0NCgkJCQkJCQkJCX0NCgkJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPC90YWJsZT48L2Rpdj4iOw0KCQkJCQkJCQl9DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJCXNxbF9jbG9zZSgkc19zcWxbJ3R5cGUnXSwkc19jb24pOw0KCQkJfQ0KCQkJZWxzZXsNCgkJCQkkc19yZXN1bHQgLj0gbm90aWYoIlVuYWJsZSB0byBjb25uZWN0IHRvIGRhdGFiYXNlIik7DQoJCQkJJHNfc2hvd19mb3JtID0gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCWlmKCRzX3Nob3dfZm9ybSl7DQoJCQkvLyBzcWx0eXBlIDogbXlzcWwsIG1zc3FsLCBvcmFjbGUsIHBnc3FsLCBzcWxpdGUsIHNxbGl0ZTMsIG9kYmMsIHBkbw0KCQkJJHNfc3FsbGlzdCA9IGFycmF5KCk7DQoJCQlpZihmdW5jdGlvbl9leGlzdHMoIm15c3FsX2Nvbm5lY3QiKSkgJHNfc3FsbGlzdFsibXlzcWwiXSA9ICJDb25uZWN0IHRvIE15U1FMIDxzcGFuIGNsYXNzPSdkZXNjJyBzdHlsZT0nZm9udC1zaXplOjEycHg7Jz4tIHVzaW5nIGNsYXNzIG15c3FsaSBvciBteXNxbF8qPC9zcGFuPiI7DQoJCQlpZihmdW5jdGlvbl9leGlzdHMoIm1zc3FsX2Nvbm5lY3QiKSB8fCBmdW5jdGlvbl9leGlzdHMoInNxbHNydl9jb25uZWN0IikpICRzX3NxbGxpc3RbIm1zc3FsIl0gPSAiQ29ubmVjdCB0byBNc1NRTCA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSB1c2luZyBzcWxzcnZfKiBvciBtc3NxbF8qPC9zcGFuPiI7DQoJCQlpZihmdW5jdGlvbl9leGlzdHMoInBnX2Nvbm5lY3QiKSkgJHNfc3FsbGlzdFsicGdzcWwiXSA9ICJDb25uZWN0IHRvIFBvc3RncmVTUUwgPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gdXNpbmcgcGdfKjwvc3Bhbj4iOw0KCQkJaWYoZnVuY3Rpb25fZXhpc3RzKCJvY2lfY29ubmVjdCIpKSAkc19zcWxsaXN0WyJvcmFjbGUiXSA9ICJDb25uZWN0IHRvIG9yYWNsZSA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSB1c2luZyBvY2lfKjwvc3Bhbj4iOw0KCQkJaWYoZnVuY3Rpb25fZXhpc3RzKCJzcWxpdGVfb3BlbiIpKSAkc19zcWxsaXN0WyJzcWxpdGUiXSA9ICJDb25uZWN0IHRvIFNRTGl0ZSA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSB1c2luZyBzcWxpdGVfKjwvc3Bhbj4iOw0KCQkJaWYoY2xhc3NfZXhpc3RzKCJTUUxpdGUzIikpICRzX3NxbGxpc3RbInNxbGl0ZTMiXSA9ICJDb25uZWN0IHRvIFNRTGl0ZTMgPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gdXNpbmcgY2xhc3MgU1FMaXRlMzwvc3Bhbj4iOw0KCQkJaWYoZnVuY3Rpb25fZXhpc3RzKCJvZGJjX2Nvbm5lY3QiKSkgJHNfc3FsbGlzdFsib2RiYyJdID0gIkNvbm5lY3QgdmlhIE9EQkMgPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gdXNpbmcgb2RiY18qPC9zcGFuPiI7DQoJCQlpZihjbGFzc19leGlzdHMoIlBETyIpKSAkc19zcWxsaXN0WyJwZG8iXSA9ICJDb25uZWN0IHZpYSBQRE8gPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gdXNpbmcgY2xhc3MgUERPPC9zcGFuPiI7DQoNCgkJCWZvcmVhY2goJHNfc3FsbGlzdCBhcyAkc19zcWxbJ3R5cGUnXT0+JHNfc3FsdGl0bGUpew0KCQkJCWlmKCRzX3NxbFsndHlwZSddPT0ib2RiYyIgfHwgJHNfc3FsWyd0eXBlJ109PSJwZG8iKXsNCgkJCQkJJHNfcmVzdWx0IC49ICI8ZGl2IGNsYXNzPSdteWJveCc+PGgyPiIuJHNfc3FsdGl0bGUuIjwvaDI+DQoJCQkJCTxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCcgLz4NCgkJCQkJPHRhYmxlIGNsYXNzPSdteWJveHRibCc+DQoJCQkJCTx0cj48dGQgc3R5bGU9J3dpZHRoOjE3MHB4Oyc+RFNOIC8gQ29ubmVjdGlvbiBTdHJpbmc8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdzcWxob3N0JyB2YWx1ZT0nJyAvPjwvdGQ+PC90cj4NCgkJCQkJPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NxbHVzZXInIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJCQk8dHI+PHRkPlBhc3N3b3JkPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ncGFzc3dvcmQnIG5hbWU9J3NxbHBhc3MnIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJCQk8L3RhYmxlPg0KCQkJCQk8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdjb25uZWN0JyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nQ29ubmVjdCAhJyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luOjEwcHggMnB4IDAgMnB4OycgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nc3FsdHlwZScgdmFsdWU9JyIuJHNfc3FsWyd0eXBlJ10uIicgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nc3FsaW5pdCcgdmFsdWU9J2luaXQnIC8+DQoJCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3gnIHZhbHVlPSdkYicgLz4NCgkJCQkJPC9mb3JtPg0KCQkJCQk8L2Rpdj4iOw0KCQkJCX0NCgkJCQllbHNlaWYoJHNfc3FsWyd0eXBlJ109PSJzcWxpdGUiIHx8ICRzX3NxbFsndHlwZSddPT0ic3FsaXRlMyIpew0KCQkJCQkkc19yZXN1bHQgLj0gIjxkaXYgY2xhc3M9J215Ym94Jz48aDI+Ii4kc19zcWx0aXRsZS4iPC9oMj4NCgkJCQkJPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0JyAvPg0KCQkJCQk8dGFibGUgY2xhc3M9J215Ym94dGJsJz4NCgkJCQkJPHRyPjx0ZCBzdHlsZT0nd2lkdGg6MTcwcHg7Jz5EQiBGaWxlPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ndGV4dCcgbmFtZT0nc3FsaG9zdCcgdmFsdWU9JycgLz48L3RkPjwvdHI+DQoJCQkJCTwvdGFibGU+DQoJCQkJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J2Nvbm5lY3QnIGNsYXNzPSdpbnB1dHpidXQnIHZhbHVlPSdDb25uZWN0ICEnIHN0eWxlPSd3aWR0aDoxMjBweDtoZWlnaHQ6MzBweDttYXJnaW46MTBweCAycHggMCAycHg7JyAvPg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdzcWx0eXBlJyB2YWx1ZT0nIi4kc19zcWxbJ3R5cGUnXS4iJyAvPg0KCQkJCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdzcWxpbml0JyB2YWx1ZT0naW5pdCcgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0neCcgdmFsdWU9J2RiJyAvPg0KCQkJCQk8L2Zvcm0+DQoJCQkJCTwvZGl2PiI7DQoJCQkJfQ0KCQkJCWVsc2V7DQoJCQkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz0nbXlib3gnPjxoMj4iLiRzX3NxbHRpdGxlLiI8L2gyPg0KCQkJCQk8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnIC8+DQoJCQkJCTx0YWJsZSBjbGFzcz0nbXlib3h0YmwnPg0KCQkJCQk8dHI+PHRkIHN0eWxlPSd3aWR0aDoxNzBweDsnPkhvc3Q8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdzcWxob3N0JyB2YWx1ZT0nJyAvPjwvdGQ+PC90cj4NCgkJCQkJPHRyPjx0ZD5Vc2VybmFtZTwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NxbHVzZXInIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJCQk8dHI+PHRkPlBhc3N3b3JkPC90ZD48dGQ+PGlucHV0IHN0eWxlPSd3aWR0aDoxMDAlOycgY2xhc3M9J2lucHV0eicgdHlwZT0ncGFzc3dvcmQnIG5hbWU9J3NxbHBhc3MnIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJCQk8dHI+PHRkPlBvcnQgKG9wdGlvbmFsKTwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3NxbHBvcnQnIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJCQk8L3RhYmxlPg0KCQkJCQk8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSdjb25uZWN0JyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nQ29ubmVjdCAhJyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luOjEwcHggMnB4IDAgMnB4OycgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nc3FsdHlwZScgdmFsdWU9JyIuJHNfc3FsWyd0eXBlJ10uIicgLz4NCgkJCQkJPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nc3FsaW5pdCcgdmFsdWU9J2luaXQnIC8+DQoJCQkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3gnIHZhbHVlPSdkYicgLz4NCgkJCQkJPC9mb3JtPg0KCQkJCQk8L2Rpdj4iOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0gLy8gYmluZCBhbmQgcmV2ZXJzZSBzaGVsbA0KCWVsc2VpZihpc3NldCgkX0dQWyd4J10pICYmICgkX0dQWyd4J109PSdycycpKXsNCgkJLy8gcmVzb3VyY2VzICRzX3JzX3BsICRzX3JzX3B5ICRzX3JzX3JiICRzX3JzX2pzICRzX3JzX2MgJHNfcnNfamF2YSAkc19yc19qYXZhICRzX3JzX3dpbiAkc19yc19waHANCgkJJHNfcnNob3N0ID0gJHNfc2VydmVyX2lwOw0KDQoJCSRzX3JzcG9ydCA9ICIxMzEyMyI7IC8vIGRlZmF1bHQgcG9ydA0KCQkkc19yc3Blc2FuYSA9ICJQcmVzcyAmIzM5OyAgR28gISAgJiMzOTsgYnV0dG9uIGFuZCBydW4gJiMzOTsgIG5jIDxpPnNlcnZlcl9pcDwvaT4gPGk+cG9ydDwvaT4gICYjMzk7IG9uIHlvdXIgY29tcHV0ZXIiOw0KCQkkc19yc3Blc2FuYiA9ICJSdW4gJiMzOTsgIG5jIC1sIC12IC1wIDxpPnBvcnQ8L2k+ICAmIzM5OyBvbiB5b3VyIGNvbXB1dGVyIGFuZCBwcmVzcyAmIzM5OyAgR28gISAgJiMzOTsgYnV0dG9uIjsNCgkJJHNfcnNfZXJyID0gIiI7DQoNCgkJJHNfcnNiaW5kID0gJHNfcnNiYWNrID0gYXJyYXkoKTsNCg0KCQkkc19yc2JpbmRbImJpbmRfcGhwIl0gPSAiQmluZCBTaGVsbCA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSBwaHA8L3NwYW4+IjsNCgkJJHNfcnNiYWNrWyJiYWNrX3BocCJdID0gIlJldmVyc2UgU2hlbGwgPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gcGhwPC9zcGFuPiI7DQoNCgkJJHNfYWNjZXNzID0gYXJyYXkoInNfcHl0aG9uIj0+InB5IiwgInNfcGVybCI9PiJwbCIsICJzX3J1YnkiPT4icmIiLCAic19ub2RlIj0+ImpzIiwgInNfbm9kZWpzIj0+ImpzIiwgInNfZ2NjIj0+ImMiLCAic19qYXZhYyI9PiJqYXZhIik7DQoJCWZvcmVhY2goJHNfYWNjZXNzIGFzICRrPT4kdil7DQoJCQlpZihpc3NldCgkJGspKXsNCgkJCQkkc190ID0gZXhwbG9kZSgiXyIsICRrKTsNCgkJCQkkc19yc2JpbmRbImJpbmRfIi4kdl0gPSAiQmluZCBTaGVsbCA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSAiLiRzX3RbMV0uIjwvc3Bhbj4iOw0KCQkJCSRzX3JzYmFja1siYmFja18iLiR2XSA9ICJSZXZlcnNlIFNoZWxsIDxzcGFuIGNsYXNzPSdkZXNjJyBzdHlsZT0nZm9udC1zaXplOjEycHg7Jz4tICIuJHNfdFsxXS4iPC9zcGFuPiI7DQoJCQl9DQoJCX0NCg0KCQlpZigkc193aW4pew0KCQkJJHNfcnNiaW5kWyJiaW5kX3dpbiJdID0gIkJpbmQgU2hlbGwgPHNwYW4gY2xhc3M9J2Rlc2MnIHN0eWxlPSdmb250LXNpemU6MTJweDsnPi0gd2luZG93cyBleGVjdXRhYmxlPC9zcGFuPiI7DQoJCQkkc19yc2JhY2tbImJhY2tfd2luIl0gPSAiUmV2ZXJzZSBTaGVsbCA8c3BhbiBjbGFzcz0nZGVzYycgc3R5bGU9J2ZvbnQtc2l6ZToxMnB4Oyc+LSB3aW5kb3dzIGV4ZWN1dGFibGU8L3NwYW4+IjsNCgkJfQ0KCQkkc19yc2xpc3QgPSBhcnJheV9tZXJnZSgkc19yc2JpbmQsJHNfcnNiYWNrKTsNCg0KCQlpZighQGlzX3dyaXRhYmxlKCRzX2N3ZCkpICRzX3Jlc3VsdCAuPSBub3RpZigiRGlyZWN0b3J5ICIuJHNfY3dkLiIgaXMgbm90IHdyaXRhYmxlLCBwbGVhc2UgY2hhbmdlIHRvIGEgd3JpdGFibGUgb25lIik7DQoNCgkJZm9yZWFjaCgkc19yc2xpc3QgYXMgJHNfcnN0eXBlPT4kc19yc3RpdGxlKXsNCgkJCSRzX3NwbGl0ID0gZXhwbG9kZSgiXyIsJHNfcnN0eXBlKTsNCgkJCWlmKCRzX3NwbGl0WzBdPT0iYmluZCIpew0KCQkJCSRzX3JzcGVzYW4gPSAkc19yc3Blc2FuYTsNCgkJCQkkc19yc2Rpc2FibGVkID0gImRpc2FibGVkPSdkaXNhYmxlZCciOw0KCQkJCSRzX3JzdGFyZ2V0ID0gJHNfc2VydmVyX2lwOw0KCQkJCSRzX2xhYmVsaXAgPSAiU2VydmVyIElQIjsNCgkJCX0NCgkJCWVsc2VpZigkc19zcGxpdFswXT09ImJhY2siKXsNCgkJCQkkc19yc3Blc2FuID0gJHNfcnNwZXNhbmI7DQoJCQkJJHNfcnNkaXNhYmxlZCA9ICIiOw0KCQkJCSRzX3JzdGFyZ2V0ID0gJHNfbXlfaXA7DQoJCQkJJHNfbGFiZWxpcCA9ICJUYXJnZXQgSVAiOw0KCQkJfQ0KDQoJCQlpZihpc3NldCgkX0dQWyRzX3JzdHlwZV0pKXsNCgkJCQlpZihpc3NldCgkX0dQWyJyc2hvc3RfIi4kc19yc3R5cGVdKSkgJHNfcnNob3N0XyA9ICRfR1BbInJzaG9zdF8iLiRzX3JzdHlwZV07DQoJCQkJaWYoaXNzZXQoJF9HUFsicnNwb3J0XyIuJHNfcnN0eXBlXSkpICRzX3JzcG9ydF8gPSAkX0dQWyJyc3BvcnRfIi4kc19yc3R5cGVdOw0KDQoJCQkJaWYoJHNfc3BsaXRbMF09PSJiaW5kIikgJHNfcnN0YXJnZXRfcGFja2VkID0gJHNfcnNwb3J0XzsNCgkJCQllbHNlaWYoJHNfc3BsaXRbMF09PSJiYWNrIikgJHNfcnN0YXJnZXRfcGFja2VkID0gJHNfcnNwb3J0Xy4iICIuJHNfcnNob3N0XzsNCg0KCQkJCWlmKCRzX3NwbGl0WzFdPT0icGwiKSAkc19yc2NvZGUgPSAkc19yc19wbDsNCgkJCQllbHNlaWYoJHNfc3BsaXRbMV09PSJweSIpICRzX3JzY29kZSA9ICRzX3JzX3B5Ow0KCQkJCWVsc2VpZigkc19zcGxpdFsxXT09InJiIikgJHNfcnNjb2RlID0gJHNfcnNfcmI7DQoJCQkJZWxzZWlmKCRzX3NwbGl0WzFdPT0ianMiKSAkc19yc2NvZGUgPSAkc19yc19qczsNCgkJCQllbHNlaWYoJHNfc3BsaXRbMV09PSJjIikgJHNfcnNjb2RlID0gJHNfcnNfYzsNCgkJCQllbHNlaWYoJHNfc3BsaXRbMV09PSJqYXZhIikgJHNfcnNjb2RlID0gJHNfcnNfamF2YTsNCgkJCQllbHNlaWYoJHNfc3BsaXRbMV09PSJ3aW4iKSAkc19yc2NvZGUgPSAkc19yc193aW47DQoJCQkJZWxzZWlmKCRzX3NwbGl0WzFdPT0icGhwIikgJHNfcnNjb2RlID0gJHNfcnNfcGhwOw0KDQoJCQkJJHNfYnVmZiA9IHJzKCRzX3JzdHlwZSwkc19yc3RhcmdldF9wYWNrZWQsJHNfcnNjb2RlKTsNCgkJCQlpZigkc19idWZmIT0iIikgJHNfcnNfZXJyID0gbm90aWYoaHNzKCRzX2J1ZmYpKTsNCgkJCX0NCgkJCSRzX3Jlc3VsdCAuPSAiPGRpdiBjbGFzcz0nbXlib3gnPjxoMj4iLiRzX3JzdGl0bGUuIjwvaDI+DQoJCQk8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnIC8+DQoJCQk8dGFibGUgY2xhc3M9J215Ym94dGJsJz4NCgkJCTx0cj48dGQgc3R5bGU9J3dpZHRoOjEwMHB4Oyc+Ii4kc19sYWJlbGlwLiI8L3RkPjx0ZD48aW5wdXQgIi4kc19yc2Rpc2FibGVkLiIgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdyc2hvc3RfIi4kc19yc3R5cGUuIicgdmFsdWU9JyIuaHNzKCRzX3JzdGFyZ2V0KS4iJyAvPjwvdGQ+PC90cj4NCgkJCTx0cj48dGQ+UG9ydDwvdGQ+PHRkPjxpbnB1dCBzdHlsZT0nd2lkdGg6MTAwJTsnIGNsYXNzPSdpbnB1dHonIHR5cGU9J3RleHQnIG5hbWU9J3JzcG9ydF8iLiRzX3JzdHlwZS4iJyB2YWx1ZT0nIi5oc3MoJHNfcnNwb3J0KS4iJyAvPjwvdGQ+PC90cj4NCgkJCTwvdGFibGU+DQoJCQk8aW5wdXQgdHlwZT0nc3VibWl0JyBuYW1lPSciLiRzX3JzdHlwZS4iJyBjbGFzcz0naW5wdXR6YnV0JyB2YWx1ZT0nR28gIScgc3R5bGU9J3dpZHRoOjEyMHB4O2hlaWdodDozMHB4O21hcmdpbjoxMHB4IDJweCAwIDJweDsnIC8+DQoJCQkmbmJzcDsmbmJzcDs8c3Bhbj4iLiRzX3JzcGVzYW4uIjwvc3Bhbj4NCgkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3gnIHZhbHVlPSdycycgLz4NCgkJCTwvZm9ybT4NCgkJCTwvZGl2PiI7DQoJCX0NCgkJJHNfcmVzdWx0ID0gJHNfcnNfZXJyLiRzX3Jlc3VsdDsNCgl9IC8vIHRhc2sgbWFuYWdlcg0KCWVsc2VpZihpc3NldCgkX0dQWyd4J10pICYmICgkX0dQWyd4J109PSdwcycpKXsNCgkJJHNfYnVmZiA9ICIiOw0KCQkvLyBraWxsIHByb2Nlc3Mgc3BlY2lmaWVkIGJ5IHBpZA0KCQlpZihpc3NldCgkX0dQWydwaWQnXSkpew0KCQkJJHNfcCA9IHRyaW0oJF9HUFsncGlkJ10sInwiKTsNCgkJCSRzX3BhcnIgPSBleHBsb2RlKCJ8IiwgJHNfcCk7DQoNCgkJCWZvcmVhY2goJHNfcGFyciBhcyAkc19wKXsNCgkJCQlpZihmdW5jdGlvbl9leGlzdHMoInBvc2l4X2tpbGwiKSkgJHNfYnVmZiAuPSAocG9zaXhfa2lsbCgkc19wLCc5JykpPyBub3RpZigiUHJvY2VzcyB3aXRoIHBpZCAiLiRzX3AuIiBoYXMgYmVlbiBzdWNjZXNzZnVsbHkga2lsbGVkIik6bm90aWYoIlVuYWJsZSB0byBraWxsIHByb2Nlc3Mgd2l0aCBwaWQgIi4kc19wKTsNCgkJCQllbHNlew0KCQkJCQlpZighJHNfd2luKSAkc19idWZmIC49IG5vdGlmKGV4ZSgia2lsbCAtOSAiLiRzX3ApKTsNCgkJCQkJZWxzZSAkc19idWZmIC49IG5vdGlmKGV4ZSgidGFza2tpbGwgL0YgL1BJRCAiLiRzX3ApKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZighJHNfd2luKSAkc19oID0gInBzIGF1eCI7IC8vIG5peA0KCQllbHNlICRzX2ggPSAidGFza2xpc3QgL1YgL0ZPIGNzdiI7IC8vIHdpbg0KCQkkc193Y291bnQgPSAxMTsNCgkJJHNfd2V4cGxvZGUgPSAiICI7DQoJCWlmKCRzX3dpbikgJHNfd2V4cGxvZGUgPSAiXCIsXCIiOw0KDQoJCSRzX3JlcyA9IGV4ZSgkc19oKTsNCgkJaWYodHJpbSgkc19yZXMpPT0nJykgJHNfcmVzdWx0ID0gbm90aWYoIkVycm9yIGdldHRpbmcgcHJvY2VzcyBsaXN0Iik7DQoJCWVsc2V7DQoJCQlpZigkc19idWZmIT0iIikgJHNfcmVzdWx0ID0gJHNfYnVmZjsNCgkJCSRzX3Jlc3VsdCAuPSAiPHRhYmxlIGNsYXNzPSdleHBsb3JlIHNvcnRhYmxlJz4iOw0KCQkJaWYoISRzX3dpbikgJHNfcmVzID0gcHJlZ19yZXBsYWNlKCcjXCArIycsJyAnLCRzX3Jlcyk7DQoNCgkJCSRzX3BzYXJyID0gZXhwbG9kZSgiXG4iLCRzX3Jlcyk7DQoJCQkkc19maSA9IHRydWU7DQoJCQkkc190Ymxjb3VudCA9IDA7DQoNCgkJCSRzX2NoZWNrID0gZXhwbG9kZSgkc193ZXhwbG9kZSwkc19wc2FyclswXSk7DQoJCQkkc193Y291bnQgPSBjb3VudCgkc19jaGVjayk7DQoNCgkJCWZvcmVhY2goJHNfcHNhcnIgYXMgJHNfcHNhKXsNCgkJCQlpZih0cmltKCRzX3BzYSkhPScnKXsNCgkJCQkJaWYoJHNfZmkpew0KCQkJCQkJJHNfZmkgPSBmYWxzZTsNCgkJCQkJCSRzX3BzbG4gPSBleHBsb2RlKCRzX3dleHBsb2RlLCAkc19wc2EsICRzX3djb3VudCk7DQoJCQkJCQkkc19yZXN1bHQgLj0gIjx0cj48dGggc3R5bGU9J3dpZHRoOjI0cHg7JyBjbGFzcz0nc29ydHRhYmxlX25vc29ydCc+PC90aD48dGggY2xhc3M9J3NvcnR0YWJsZV9ub3NvcnQnPmFjdGlvbjwvdGg+IjsNCgkJCQkJCWZvcmVhY2goJHNfcHNsbiBhcyAkc19wKSAkc19yZXN1bHQgLj0gIjx0aD4iLnRyaW0odHJpbShzdHJ0b2xvd2VyKCRzX3ApKSAsIlwiIikuIjwvdGg+IjsNCgkJCQkJCSRzX3Jlc3VsdCAuPSAiPC90cj4iOw0KCQkJCQl9DQoJCQkJCWVsc2V7DQoJCQkJCQkkc19wc2xuID0gZXhwbG9kZSgkc193ZXhwbG9kZSwgJHNfcHNhLCAkc193Y291bnQpOw0KCQkJCQkJJHNfcmVzdWx0IC49ICI8dHI+IjsNCgkJCQkJCSRzX3RibGNvdW50ID0gMDsNCgkJCQkJCWZvcmVhY2goJHNfcHNsbiBhcyAkc19wKXsNCgkJCQkJCQkkc19waWQgPSB0cmltKHRyaW0oJHNfcHNsblsxXSksIlwiIik7DQoJCQkJCQkJJHNfcGlkdW5pcSA9IHN1YnN0cihtZDUoJHNfcGlkKSwwLDgpOw0KCQkJCQkJCWlmKHRyaW0oJHNfcCk9PSIiKSAkc19wID0gIiZuYnNwOyI7DQoJCQkJCQkJaWYoJHNfdGJsY291bnQgPT0gMCl7DQoJCQkJCQkJCSRzX3Jlc3VsdCAuPSAiPHRkIHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWluZGVudDo0cHg7Jz48aW5wdXQgaWQ9JyIuJHNfcGlkdW5pcS4iJyBuYW1lPSdjYm94JyB2YWx1ZT0nIi4kc19waWQuIicgdHlwZT0nY2hlY2tib3gnIGNsYXNzPSdjc3MtY2hlY2tib3gnIG9uY2hhbmdlPSdoaWxpdGUodGhpcyk7JyAvPjxsYWJlbCBmb3I9JyIuJHNfcGlkdW5pcS4iJyBjbGFzcz0nY3NzLWxhYmVsJz48L2xhYmVsPjwvdGQ+PHRkIGNsYXNzPSdjZSc+PGEgaHJlZj0nIi4kc19zZWxmLiJ4PXBzJnBpZD0iLiRzX3BpZC4iJz5raWxsPC9hPjwvdGQ+PHRkIGNsYXNzPSdjZSc+Ii50cmltKHRyaW0oJHNfcCkgLCJcIiIpLiI8L3RkPiI7DQoJCQkJCQkJCSRzX3RibGNvdW50Kys7DQoJCQkJCQkJfQ0KCQkJCQkJCWVsc2V7DQoJCQkJCQkJCSRzX3RibGNvdW50Kys7DQoJCQkJCQkJCWlmKCRzX3RibGNvdW50ID09IGNvdW50KCRzX3BzbG4pKSAkc19yZXN1bHQgLj0gIjx0ZCBjbGFzcz0nbGUnPiIudHJpbSh0cmltKCRzX3ApICwiXCIiKS4iPC90ZD4iOw0KCQkJCQkJCQllbHNlICRzX3Jlc3VsdCAuPSAiPHRkIGNsYXNzPSdjZSc+Ii50cmltKHRyaW0oJHNfcCkgLCJcIiIpLiI8L3RkPiI7DQoJCQkJCQkJfQ0KCQkJCQkJfQ0KCQkJCQkJJHNfcmVzdWx0IC49ICI8L3RyPiI7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQkkY29sc3BhbiA9IGNvdW50KCRzX3BzbG4pKzE7DQoJCQkkc19yZXN1bHQgLj0gIjx0Zm9vdD48dHIgY2xhc3M9J2Nib3hfc2VsZWN0ZWQnPjx0ZCBjbGFzcz0nY2JveF9hbGwnPg0KCQkJPGZvcm0gYWN0aW9uPSciLiRzX3NlbGYuIicgbWV0aG9kPSdwb3N0Jz48aW5wdXQgaWQ9J2NoZWNrYWxsbCcgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2Fib3gnIGNsYXNzPSdjc3MtY2hlY2tib3gnIG9uY2xpY2s9J2NoZWNrYWxsKCk7JyAvPjxsYWJlbCBmb3I9J2NoZWNrYWxsbCcgY2xhc3M9J2Nzcy1sYWJlbCc+PC9sYWJlbD48L2Zvcm0+DQoJCQk8L3RkPjx0ZCBzdHlsZT0ndGV4dC1pbmRlbnQ6MTBweDtwYWRkaW5nOjJweDsnIGNvbHNwYW49Ii4kY29sc3Bhbi4iPjxhIGhyZWY9J2phdmFzY3JpcHQ6IHBraWxsKCk7Jz5raWxsIHNlbGVjdGVkIDxzcGFuIGlkPSd0b3RhbF9zZWxlY3RlZCc+PC9zcGFuPjwvYT48L3RkPg0KCQkJPC90cj48L3Rmb290PjwvdGFibGU+IjsNCgkJfQ0KCX0NCgllbHNlaWYoaXNzZXQoJF9HUFsneCddKSAmJiAoJF9HUFsneCddPT0ncGFzcycpKXsNCgkJaWYoaXNzZXQoJF9HUFsnc3VibWl0bmV3cGFzcyddKSl7DQoJCQkkbmV3cGFzcyA9IGlzc2V0KCRfR1BbJ25ld3Bhc3MnXSk/IHRyaW0oJF9HUFsnbmV3cGFzcyddKToiIjsNCgkJCSRuZXdwYXNzeCA9IGlzc2V0KCRfR1BbJ25ld3Bhc3N4J10pPyB0cmltKCRfR1BbJ25ld3Bhc3N4J10pOiIiOw0KCQkJDQoJCQlpZihlbXB0eSgkbmV3cGFzcykgfHwgZW1wdHkoJG5ld3Bhc3N4KSl7DQoJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCdHaXZlIHlvdXIgbmV3IHBhc3N3b3JkIHRvIGJvdGggZmllbGRzJyk7DQoJCQl9DQoJCQllbHNlaWYoJG5ld3Bhc3MgIT0gJG5ld3Bhc3N4KXsNCgkJCQkkc19yZXN1bHQgLj0gbm90aWYoJ1Bhc3N3b3JkIGRvZXMgbm90IG1hdGNoJyk7DQoJCQl9DQoJCQllbHNlew0KCQkJCWlmKGNoYW5nZXBhc3MoJG5ld3Bhc3MpKXsNCgkJCQkJJHNfcmVzdWx0IC49IG5vdGlmKCJQYXNzd29yZCBjaGFuZ2VkIik7DQoJCQkJfQ0KCQkJCWVsc2UgJHNfcmVzdWx0IC49IG5vdGlmKCJVbmFibGUgdG8gY2hhbmdlIHBhc3N3b3JkIik7DQoJCQl9DQoJCX0NCgkJDQoJCQ0KCQkkc19yZXN1bHQgLj0gIjxkaXYgY2xhc3M9J215Ym94Jz48aDI+Q2hhbmdlIHNoZWxsIHBhc3N3b3JkPC9oMj4NCgkJCTxmb3JtIGFjdGlvbj0nIi4kc19zZWxmLiInIG1ldGhvZD0ncG9zdCcgLz4NCgkJCTx0YWJsZSBjbGFzcz0nbXlib3h0YmwnPg0KCQkJPHRyPjx0ZCBzdHlsZT0nd2lkdGg6MTIwcHg7Jz5OZXcgcGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSdwYXNzd29yZCcgbmFtZT0nbmV3cGFzcycgdmFsdWU9JycgLz48L3RkPjwvdHI+DQoJCQk8dHI+PHRkIHN0eWxlPSd3aWR0aDoxMjBweDsnPkNvbmZpcm0gcGFzc3dvcmQ8L3RkPjx0ZD48aW5wdXQgc3R5bGU9J3dpZHRoOjEwMCU7JyBjbGFzcz0naW5wdXR6JyB0eXBlPSdwYXNzd29yZCcgbmFtZT0nbmV3cGFzc3gnIHZhbHVlPScnIC8+PC90ZD48L3RyPg0KCQkJPC90YWJsZT4NCgkJCTxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3N1Ym1pdG5ld3Bhc3MnIGNsYXNzPSdpbnB1dHpidXQnIHZhbHVlPSdHbyAhJyBzdHlsZT0nd2lkdGg6MTIwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luOjEwcHggMnB4IDAgMnB4OycgLz4NCgkJCTxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J3gnIHZhbHVlPSdwYXNzJyAvPg0KCQkJPC9mb3JtPg0KCQkJPC9kaXY+IjsNCgl9DQoJZWxzZXsNCgkJaWYoIWlzc2V0KCRzX2N3ZCkpICRzX2N3ZCA9ICIiOw0KCQlpZihpc3NldCgkX0dQWydjbWQnXSkpew0KCQkJJHNfY21kID0gJF9HUFsnY21kJ107DQoJCQlpZihzdHJsZW4oJHNfY21kKSA+IDApew0KCQkJCWlmKHByZWdfbWF0Y2goJyNeY2QoXCApKyguKikjJywkc19jbWQsJHNfcikpew0KCQkJCQkkc19uZCA9IHRyaW0oJHNfclsyXSk7DQoJCQkJCWlmKEBpc19kaXIoJHNfbmQpKXsNCgkJCQkJCWNoZGlyKCRzX25kKTsNCgkJCQkJCSRzX2N3ZCA9IGNwKGdldGN3ZCgpKTsNCgkJCQkJCXNldGNvb2tpZSgiY3dkIiwgJHNfY3dkICx0aW1lKCkgKyAkc19sb2dpbl90aW1lKTsNCgkJCQkJCSRzX3Jlc3VsdCAuPSBzaG93ZGlyKCRzX2N3ZCk7DQoJCQkJCX0NCgkJCQkJZWxzZWlmKEBpc19kaXIoJHNfY3dkLiRzX25kKSl7DQoJCQkJCQljaGRpcigkc19jd2QuJHNfbmQpOw0KCQkJCQkJJHNfY3dkID0gY3AoZ2V0Y3dkKCkpOw0KCQkJCQkJc2V0Y29va2llKCJjd2QiLCAkc19jd2QgLHRpbWUoKSArICRzX2xvZ2luX3RpbWUpOw0KCQkJCQkJJHNfcmVzdWx0IC49IHNob3dkaXIoJHNfY3dkKTsNCgkJCQkJfQ0KCQkJCQllbHNlICRzX3Jlc3VsdCAuPSBub3RpZihoc3MoJHNfbmQpLiIgaXMgbm90IGEgZGlyZWN0b3J5Iik7DQoJCQkJfQ0KCQkJCWVsc2V7DQoJCQkJCSRzX3IgPSBoc3MoZXhlKCRzX2NtZCkpOw0KCQkJCQlpZigkc19yICE9ICcnKSAkc19yZXN1bHQgLj0gIjxwcmU+Ii4kc19yLiI8L3ByZT4iOw0KCQkJCQllbHNlICRzX3Jlc3VsdCAuPSBzaG93ZGlyKCRzX2N3ZCk7DQoJCQkJfQ0KCQkJfQ0KCQkJZWxzZSAkc19yZXN1bHQgLj0gc2hvd2Rpcigkc19jd2QpOw0KCQl9DQoJCWVsc2UgJHNfcmVzdWx0IC49IHNob3dkaXIoJHNfY3dkKTsNCgl9DQoNCgkvLyBmaW5kIGRyaXZlIGxldHRlcnMNCgkkc19sZXR0ZXJzID0gJyc7DQoJJHNfdiA9IGV4cGxvZGUoIlxcIiwkc19jd2QpOw0KCSRzX3YgPSAkc192WzBdOw0KCWZvcmVhY2ggKHJhbmdlKCJBIiwgIloiKSBhcyAkc19sZXR0ZXIpew0KCQlpZihAaXNfcmVhZGFibGUoJHNfbGV0dGVyLiI6XFwiKSl7DQoJCQkkc19sZXR0ZXJzIC49ICI8YSBocmVmPSciLiRzX3NlbGYuImNkPSIuJHNfbGV0dGVyLiI6XFwnPlsgIjsNCgkJCWlmKCRzX2xldHRlci4iOiIgIT0gJHNfdikgJHNfbGV0dGVycyAuPSAkc19sZXR0ZXI7DQoJCQllbHNleyRzX2xldHRlcnMgLj0gIjxzcGFuIGNsYXNzPSdkcml2ZS1sZXR0ZXInPiIuJHNfbGV0dGVyLiI8L3NwYW4+Ijt9DQoJCQkkc19sZXR0ZXJzIC49ICIgXTwvYT4gIjsNCgkJfQ0KCX0NCg0KCS8vIHByaW50IHVzZWZ1bCBpbmZvDQoJJHNfaW5mbyAgPSAiPHRhYmxlIGNsYXNzPSdoZWFkdGJsJz48dHI+PHRkPiIuJHNfc3lzdGVtLiI8L3RkPjwvdHI+IjsNCgkkc19pbmZvIC49ICI8dHI+PHRkPiIuJHNfc29mdHdhcmUuIjwvdGQ+PC90cj4iOw0KCSRzX2luZm8gLj0gIjx0cj48dGQ+c2VydmVyIGlwIDogIi4kc19zZXJ2ZXJfaXAuIjxzcGFuIGNsYXNzPSdnYXlhJz4gfCA8L3NwYW4+eW91ciAgIGlwIDogIi4kc19teV9pcDsNCgkkc19pbmZvIC49ICI8c3BhbiBjbGFzcz0nZ2F5YSc+IHwgPC9zcGFuPiBUaW1lIEAgU2VydmVyIDogIi5AZGF0ZSgiZCBNIFkgSDppOnMiLHRpbWUoKSk7DQoJJHNfaW5mbyAuPSAiPC90ZD48L3RyPg0KCQkJPHRyPjx0ZCBzdHlsZT0ndGV4dC1hbGlnbjpsZWZ0Oyc+DQoJCQkJPHRhYmxlIGNsYXNzPSdoZWFkdGJscyc+PHRyPg0KCQkJCTx0ZD4iLnRyaW0oJHNfbGV0dGVycykuIjwvdGQ+DQoJCQkJPHRkPg0KCQkJCTxzcGFuIGlkPSdjaHB3ZCc+DQoJCQkJJm5ic3A7PGEgaHJlZj1cImphdmFzY3JpcHQ6dHVrYXJfKCdjaHB3ZCcsJ2NocHdkZm9ybScpXCI+DQoJCQkJPHNwYW4gY2xhc3M9J2ljb24nPm88L3NwYW4+DQoJCQkJJm5ic3A7Jm5ic3A7PC9hPiIuc3dkKCRzX2N3ZCkuIjwvc3Bhbj4NCgkJCQk8Zm9ybSBhY3Rpb249JyIuJHNfc2VsZi4iJyBtZXRob2Q9J3Bvc3QnIHN0eWxlPSdtYXJnaW46MDtwYWRkaW5nOjA7Jz4NCgkJCQk8c3BhbiBjbGFzcz0nc2VtYnVueWknIGlkPSdjaHB3ZGZvcm0nPg0KCQkJCSZuYnNwOzxhIGhyZWY9XCJqYXZhc2NyaXB0OnR1a2FyXygnY2hwd2Rmb3JtJywnY2hwd2QnKTtcIj4NCgkJCQk8c3BhbiBjbGFzcz0naWNvbic+bzwvc3Bhbj4NCgkJCQk8L2E+Jm5ic3A7Jm5ic3A7DQoJCQkJPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J3ZpZXcnIGNsYXNzPSdpbnB1dHonIHN0eWxlPSd3aWR0aDozMDBweDsnIHZhbHVlPSciLmhzcygkc19jd2QpLiInIC8+DQoJCQkJPGlucHV0IGNsYXNzPSdpbnB1dHpidXQnIHR5cGU9J3N1Ym1pdCcgbmFtZT0nc3VibWl0JyB2YWx1ZT0ndmlldyBmaWxlIC8gZm9sZGVyJyAvPg0KCQkJCTwvc3Bhbj4NCgkJCQk8L2Zvcm0+DQoJCQkJPC90ZD48L3RyPg0KCQkJCTwvdGFibGU+DQoJCQk8L3RkPjwvdHI+DQoJCQk8L3RhYmxlPiI7DQp9DQoNCiRzX2Vycm9yID0gQG9iX2dldF9jb250ZW50cygpOw0KJHNfcmVzdWx0ID0gaXNzZXQoJHNfcmVzdWx0KT8gJHNfcmVzdWx0OiIiOw0KaWYoIWVtcHR5KCRzX2Vycm9yKSkgJHNfcmVzdWx0ID0gbm90aWYoJHNfZXJyb3IpLiRzX3Jlc3VsdDsNCkBvYl9lbmRfY2xlYW4oKTsNCkBvYl9zdGFydCgpOw0KDQo/PjwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCjx0aXRsZT48P3BocCBlY2hvICRzX3RpdGxlOyA/PjwvdGl0bGU+DQo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQo8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J25vaW5kZXgsIG5vZm9sbG93LCBub2FyY2hpdmUnPg0KPGxpbmsgcmVsPSdTSE9SVENVVCBJQ09OJyBocmVmPSc8P3BocCBlY2hvICRzX2Zhdmljb247ID8+Jz4NCjw/cGhwIGVjaG8gZ2V0X2NvZGUoImNzcyIsICRzX2Nzcyk7ID8+DQo8L2hlYWQ+DQo8Ym9keT4NCjx0YWJsZSBpZD0nbWFpbic+PHRyPjx0ZD4NCjw/cGhwIGlmKCRzX2F1dGgpez8+DQoJPGRpdj48c3BhbiBzdHlsZT0nZmxvYXQ6cmlnaHQ7Jz48P3BocA0KCWlmKCFpc3NldCgkX0NPT0tJRVsnYjM3NGtfaW5jbHVkZWQnXSkpew0KCT8+PGEgaHJlZj0nP3g9cGFzcyc+LjwvYT4gfCANCgk8P3BocCB9DQoJPz48YSBocmVmPSc8P3BocCBlY2hvICRzX3NlbGY7ID8+eD1sb2dvdXQnIHRpdGxlPSdDbGljayBtZSB0byBsb2cgb3V0Jz5sb2cgb3V0PC9hPiAgPGEgaHJlZj0nPD9waHAgZWNobyAkc19zZWxmOyA/Png9c3dpdGNoJyB0aXRsZT0nQ2xpY2sgbWUgdG8gY2hhbmdlIHRoZW1lJz48c3BhbiBjbGFzcz0nc2NoZW1hYm94Jz4mbmJzcDsmbmJzcDs8L3NwYW4+PC9hPjwvc3Bhbj48dGFibGUgaWQ9J2hlYWRlcic+PHRyPjx0ZCBzdHlsZT0nd2lkdGg6ODBweDsnPjx0YWJsZT48dHI+PHRkPjxoMT48YSBocmVmPSc8P3BocCBlY2hvICRzX3NlbGYuImNkPSIuY3AoZGlybmFtZShyZWFscGF0aCgkX1NFUlZFUlsnU0NSSVBUX0ZJTEVOQU1FJ10pKSk7ID8+Jz5DYUZjPC9hPjwvaDE+PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7Jz48ZGl2IGNsYXNzPSd2ZXInPjw/cGhwIGVjaG8gJHNfdmVyOyA/PjwvZGl2PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+CTx0ZD48ZGl2IGNsYXNzPSdoZWFkaW5mbyc+PD9waHAgZWNobyAkc19pbmZvOyA/PjwvZGl2PjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2Pg0KCTxkaXYgc3R5bGU9J2NsZWFyOmJvdGg7Jz48L2Rpdj4NCgk8Zm9ybSBtZXRob2Q9J3Bvc3QnIG5hbWU9J2cnPjwvZm9ybT4NCgk8ZGl2IGlkPSdtZW51Jz4NCgkJPHRhYmxlIHN0eWxlPSd3aWR0aDoxMDAlOyc+PHRyPg0KCQk8dGQ+PGEgaHJlZj0nPD9waHAgZWNobyAkc19zZWxmOyA/PicgdGl0bGU9J0V4cGxvcmVyJz48ZGl2IGNsYXNzPSdtZW51bWknPnhwbDwvZGl2PjwvYT48L3RkPg0KCQk8dGQ+PGEgaHJlZj0nPD9waHAgZWNobyAkc19zZWxmOyA/Png9cHMnIHRpdGxlPSdEaXNwbGF5IHByb2Nlc3Mgc3RhdHVzJz48ZGl2IGNsYXNzPSdtZW51bWknPnBzPC9kaXY+PC9hPjwvdGQ+DQoJCTx0ZD48YSBocmVmPSc8P3BocCBlY2hvICRzX3NlbGY7ID8+eD1ldmFsJyB0aXRsZT0nRXhlY3V0ZSBjb2RlJz48ZGl2IGNsYXNzPSdtZW51bWknPmV2YWw8L2Rpdj48L2E+PC90ZD4NCgkJPHRkPjxhIGhyZWY9Jzw/cGhwIGVjaG8gJHNfc2VsZjsgPz54PWluZm8nIHRpdGxlPSdJbmZvcm1hdGlvbiBhYm91dCBzZXJ2ZXInPjxkaXYgY2xhc3M9J21lbnVtaSc+aW5mbzwvZGl2PjwvYT48L3RkPg0KCQk8dGQ+PGEgaHJlZj0nPD9waHAgZWNobyAkc19zZWxmOyA/Png9ZGInIHRpdGxlPSdDb25uZWN0IHRvIGRhdGFiYXNlJz48ZGl2IGNsYXNzPSdtZW51bWknPmRiPC9kaXY+PC9hPjwvdGQ+DQoJCTx0ZD48YSBocmVmPSc8P3BocCBlY2hvICRzX3NlbGY7ID8+eD1ycycgdGl0bGU9J1JlbW90ZSBTaGVsbCc+PGRpdiBjbGFzcz0nbWVudW1pJz5yczwvZGl2PjwvYT48L3RkPg0KCQk8dGQgc3R5bGU9J3dpZHRoOjEwMCU7cGFkZGluZzowIDAgMCA2cHg7Jz4NCgkJPHNwYW4gY2xhc3M9J3Byb21wdCc+PD9waHAgZWNobyAkc19wcm9tcHQ7ID8+PC9zcGFuPjxmb3JtIGFjdGlvbj0nPD9waHAgZWNobyAkc19zZWxmOyA/PicgbWV0aG9kPSdwb3N0Jz4NCgkJPGlucHV0IGlkPSdjbWQnIG9uY2xpY2s9ImNsaWNrY21kKCk7IiBjbGFzcz0naW5wdXR6JyB0eXBlPSd0ZXh0JyBuYW1lPSdjbWQnIHN0eWxlPSd3aWR0aDo3MCU7JyB2YWx1ZT0nPD9waHANCmlmKGlzc2V0KCRfR1BbJ2NtZCddKSkgZWNobyAiIjsNCmVsc2UgZWNobyAiLSBzaGVsbCBjb21tYW5kIC0iOw0KPz4nIC8+DQoJCTxub3NjcmlwdD48aW5wdXQgY2xhc3M9J2lucHV0emJ1dCcgdHlwZT0nc3VibWl0JyB2YWx1ZT0nR28gIScgbmFtZT0nc3VibWl0Y21kJyBzdHlsZT0nd2lkdGg6ODBweDsnIC8+PC9ub3NjcmlwdD4NCgkJPC9mb3JtPg0KCQk8L3RkPg0KCQk8L3RyPjwvdGFibGU+DQoJPC9kaXY+DQoJPGRpdiBpZD0nY29udGVudCc+DQoJCTxkaXYgaWQ9J3Jlc3VsdCc+PD9waHAgZWNobyAiX19SRVNVTFRfXyI7ID8+PC9kaXY+DQoJPC9kaXY+DQoJPGRpdiBpZD0nbmF2aWdhdGlvbic+DQoJPGRpdiBpZD0ndG90b3AnIG9uY2xpY2s9J3RvdG9wZCgpOycgb25tb3VzZW92ZXI9J3RvdG9wKCk7JyBvbm1vdXNlb3V0PSdzdG9wc2Nyb2xsKCk7Jz48L2Rpdj4NCgk8ZGl2IGlkPSd0b2JvdHRvbScgb25jbGljaz0ndG9ib3R0b21kKCk7JyBvbm1vdXNlb3Zlcj0ndG9ib3R0b20oKTsnIG9ubW91c2VvdXQ9J3N0b3BzY3JvbGwoKTsnPjwvZGl2Pg0KCTwvZGl2Pg0KPD9waHAgfSBlbHNleyA/Pg0KCTxkaXYgc3R5bGU9J3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7Jz4NCgk8Zm9ybSBhY3Rpb249Jzw/cGhwIGVjaG8gJHNfc2VsZjsgPz4nIG1ldGhvZD0ncG9zdCc+DQoJPGltZyBzcmM9Jzw/cGhwIGVjaG8gJHNfZmF2aWNvbjsgPz4nIHN0eWxlPSdtYXJnaW46MnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsnIC8+DQoJQ2FGYyZuYnNwOzxzcGFuIGNsYXNzPSdnYXlhJz48P3BocCBlY2hvICRzX3ZlcjsgPz48L3NwYW4+PGlucHV0IGlkPSdsb2dpbicgY2xhc3M9J2lucHV0eicgdHlwZT0ncGFzc3dvcmQnIG5hbWU9J2xvZ2luJyBzdHlsZT0nd2lkdGg6MTIwcHg7JyB2YWx1ZT0nJyAvPg0KCTxpbnB1dCBjbGFzcz0naW5wdXR6YnV0JyB0eXBlPSdzdWJtaXQnIHZhbHVlPSdHbyAhJyBuYW1lPSdzdWJtaXRsb2dpbicgc3R5bGU9J3dpZHRoOjgwcHg7JyAvPg0KCTwvZm9ybT4NCgk8L2Rpdj4NCjw/cGhwIH0/Pgk8L3RkPjwvdHI+PC90YWJsZT4NCjxwIGNsYXNzPSdmb290ZXInPkFnZW5jeSAmY29weTs8P3BocCBlY2hvIEBkYXRlKCJZIix0aW1lKCkpLiIgIjsgPz5DYUZjPC9wPg0KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPg0KdmFyIGQgPSBkb2N1bWVudDsNCnZhciBzY3JvbGwgPSBmYWxzZTsNCnZhciBjd2QgPSAnPD9waHAgZWNobyBoc3MoYWRkcygkc19jd2QpKTsgPz4nOw0KdmFyIGhleHN0YXR1cyA9IGZhbHNlOw0KdmFyIHRpbWVyID0gJyc7DQp2YXIgeCA9ICc8P3BocCBpZihpc3NldCgkX0dQWyd4J10pICYmICgkX0dQWyd4J109PSdwcycpKSBlY2hvICJwcyI7ID8+JzsNCnZhciBzc2VsZiA9ICc8P3BocCBlY2hvIGFkZHMoJHNfc2VsZik7ID8+JzsNCnZhciBoZXhjb3VudGVyID0gMDsNCnZhciBoZXh0aW1lciA9ICcnOw0KdmFyIGNvdW50ZXIgPSAwOw0KDQo8L3NjcmlwdD4NCjw/cGhwIGVjaG8gZ2V0X2NvZGUoImpzIiwgJHNfanMpOyA/Pg0KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPg0KZG9tcmVhZHkoZnVuY3Rpb24oKXsNCgk8P3BocCBpZihpc3NldCgkX0dQWydjbWQnXSkpIGVjaG8gImlmKGQuZ2V0RWxlbWVudEJ5SWQoJ2NtZCcpKSBkLmdldEVsZW1lbnRCeUlkKCdjbWQnKS5mb2N1cygpOyI7ID8+DQoJPD9waHAgaWYoaXNzZXQoJF9HUFsnZXZhbGNvZGUnXSkpIGVjaG8gImlmKGQuZ2V0RWxlbWVudEJ5SWQoJ2V2YWxjb2RlJykpIGQuZ2V0RWxlbWVudEJ5SWQoJ2V2YWxjb2RlJykuZm9jdXMoKTsiOyA/Pg0KCTw/cGhwIGlmKGlzc2V0KCRfR1BbJ3NxbGNvZGUnXSkpIGVjaG8gImlmKGQuZ2V0RWxlbWVudEJ5SWQoJ3NxbGNvZGUnKSkgZC5nZXRFbGVtZW50QnlJZCgnc3FsY29kZScpLmZvY3VzKCk7IjsgPz4NCgk8P3BocCBpZihpc3NldCgkX0dQWydsb2dpbiddKSkgZWNobyAiaWYoZC5nZXRFbGVtZW50QnlJZCgnbG9naW4nKSkgZC5nZXRFbGVtZW50QnlJZCgnbG9naW4nKS5mb2N1cygpOyI7ID8+DQoJPD9waHAgaWYoaXNzZXQoJF9HUFsnaGV4ZWRpdCddKSkgZWNobyAic2hvd2hleCgpOyI7ID8+DQoNCglpZihkLmdldEVsZW1lbnRCeUlkKCdjbWQnKSkgZC5nZXRFbGVtZW50QnlJZCgnY21kJykuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnb2ZmJyk7DQoNCgl2YXIgdGV4dGFyZWFzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndGV4dGFyZWEnKTsNCgl2YXIgY291bnQgPSB0ZXh0YXJlYXMubGVuZ3RoOw0KCWZvcihpID0gMDsgaTxjb3VudDsgaSsrKXsNCgkJdGV4dGFyZWFzW2ldLm9ua2V5ZG93biA9IGZ1bmN0aW9uKGUpew0KCQkJaWYoZS5rZXlDb2RlPT05KXsNCgkJCQllLnByZXZlbnREZWZhdWx0KCk7DQoJCQkJdmFyIHMgPSB0aGlzLnNlbGVjdGlvblN0YXJ0Ow0KCQkJCXRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnN1YnN0cmluZygwLHRoaXMuc2VsZWN0aW9uU3RhcnQpICsgIlx0IiArIHRoaXMudmFsdWUuc3Vic3RyaW5nKHRoaXMuc2VsZWN0aW9uRW5kKTsNCgkJCQl0aGlzLnNlbGVjdGlvbkVuZCA9IHMrMTsNCgkJCX0NCgkJCWVsc2UgaWYoZS5jdHJsS2V5ICYmIChlLmtleUNvZGUgPT0gMTAgfHwgZS5rZXlDb2RlID09IDEzKSl7DQoJCQkJdGhpcy5mb3JtLnN1Ym1pdCgpOw0KCQkJfQ0KCQl9DQoJfQ0KCWxpc3RlbigpOw0KfSk7DQo8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD48P3BocA0KJHNfaHRtbCA9IG9iX2dldF9jb250ZW50cygpOw0Kb2JfZW5kX2NsZWFuKCk7DQokd2hpdGVzcGFjZSA9ICIvKFxzezIsfXxcbnsxLH0pLyI7DQokc19odG1sID0gcHJlZ19yZXBsYWNlKCR3aGl0ZXNwYWNlLCAiICIsICRzX2h0bWwpOw0KJHNfaHRtbCA9IHN0cl9yZXBsYWNlKCJfX1JFU1VMVF9fIiwgJHNfcmVzdWx0LCAkc19odG1sKTsNCmVjaG8gJHNfaHRtbDsNCmRpZSgpOw0KPz4NCg==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement