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ZBSEAFoJZBVkFoQAWgplC2QXZBiEAIMBWgxlC2QZZBqEAIMBWg1kG2QchABaDmQdZB6EAFoPZB9kIIQAWhBkIWQihABaEWUSZRNqFGYCWhVlBWQEawlyrGUVZQVqFGYBNwBaFWQjZCSEAFoWZCVkJoQAWhdlGGQnZCiEAIMBWhlkKWQqhABaGmRRZCtkLIQBWhtkUmQuZC+EAVocZR1kMGQxhACDAVoeZDJkM4QAWh9kU2Q0ZDWEAVogZDZkN4QAWiFkOGQ5hABaImULZDpkO4QAgwFaI2Q8ZD2EAFokZD5kP4QAWiVkQGRBhABaJmRCZEOEAFonZERkRYQAWihkRmRHhABaKWRIZEmEAFoqZFRkSmRLhAFaK2RMZE2EAFosZE5kT4QAWi1kBFMAKVXaDEhUVFBSZXNwb25zZWHhBAAACiAgICBIVFRQIFJlc3BvbnNlIGNvbnRhaW5lci4KCiAgICBCYWNrd2FyZHMtY29tcGF0aWJsZSB3aXRoIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBidXQgdGhlIHJlc3BvbnNlIGBgYm9keWBgIGlzCiAgICBsb2FkZWQgYW5kIGRlY29kZWQgb24tZGVtYW5kIHdoZW4gdGhlIGBgZGF0YWBgIHByb3BlcnR5IGlzIGFjY2Vzc2VkLiAgVGhpcwogICAgY2xhc3MgaXMgYWxzbyBjb21wYXRpYmxlIHdpdGggdGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5J3MgOm1vZDpgaW9gCiAgICBtb2R1bGUsIGFuZCBjYW4gaGVuY2UgYmUgdHJlYXRlZCBhcyBhIHJlYWRhYmxlIG9iamVjdCBpbiB0aGUgY29udGV4dCBvZiB0aGF0CiAgICBmcmFtZXdvcmsuCgogICAgRXh0cmEgcGFyYW1ldGVycyBmb3IgYmVoYXZpb3VyIG5vdCBwcmVzZW50IGluIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYDoKCiAgICA6cGFyYW0gcHJlbG9hZF9jb250ZW50OgogICAgICAgIElmIFRydWUsIHRoZSByZXNwb25zZSdzIGJvZHkgd2lsbCBiZSBwcmVsb2FkZWQgZHVyaW5nIGNvbnN0cnVjdGlvbi4KCiAgICA6cGFyYW0gZGVj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TnwAoAV8AaEBbgJkBH0GfAFkAWsIcmBkBX0EbjxkAn0DfAFkBmsDcpx8BnOcfABqAqAGoQABAGQFfQR8AGoHcpx8AGoIZAdrB3KcdAl8AGoKfABqCIMCggFXADUAUQBSAFgAfAZy8HwABABqCnQLfAaDATcAAgBfCnwAaghkAWsJcth8AAQAagh0C3wGgwE4AAIAXwh8AKAMfAZ8AnwEoQN9BnwDcvB8BnwAXw18BlMAKQhhVAMAAAogICAgICAgIFNpbWlsYXIgdG8gOm1ldGg6YGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZS5yZWFkYCwgYnV0IHdpdGggdHdvIGFkZGl0aW9uYWwKICAgICAgICBwYXJhbWV0ZXJzOiBgYGRlY29kZV9jb250ZW50YGAgYW5kIGBgY2FjaGVfY29udGVudGBgLgoKICAgICAgICA6cGFyYW0gYW10OgogICAgICAgICAgICBIb3cgbXVjaCBvZiB0aGUgY29udGVudCB0byByZWFkLiBJZiBzcGVjaWZpZWQsIGNhY2hpbmcgaXMgc2tpcHBlZAogICAgICAgICAgICBiZWNhdXNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBjYWNoZSBwYXJ0aWFsIGNvbnRlbnQgYXMgdGhlIGZ1bGwKICAgICAgICAgICAgcmVzcG9uc2UuCgogICAgICAgIDpwYXJhbSBkZWNvZGVfY29udGVudDoKICAgICAgICAgICAgSWYgVHJ1ZSwgd2lsbCBhdHRlbXB0IHRvIGRlY29kZSB0aGUgYm9keSBiYXNlZCBvbiB0aGUKICAgICAgICAgICAgJ2NvbnRlbnQtZW5jb2RpbmcnIGhlYWRlci4KCiAgICAgICAgOnBhcmFtIGNhY2hlX2NvbnRlbnQ6CiAgICAgICAgICAgIElmIFRydWUsIHdpbGwgc2F2ZSB0aGUgcmV0dXJuZWQgZGF0YSBzdWNoIHRoYXQgdGhlIHNhbWUgcmVzdWx0IGlzCiAgICAgICAgICAgIHJldHVybmVkIGRlc3BpdGUgb2YgdGhlIHN0YXRlIG9mIHRoZSB1bmRlcmx5aW5nIGZpbGUgb2JqZWN0LiBUaGlzCiAgICAgICAgICAgIGlzIHVzZWZ1bCBpZiB5b3Ugd2FudCB0aGUgYGAuZGF0YWBgIHByb3BlcnR5IHRvIGNvbnRpbnVlIHdvcmtpbmcKICAgICAgICAgICAgYWZ0ZXIgaGF2aW5nIGBgLnJlYWQoKWBgIHRoZSBmaWxlIG9iamVjdC4gKE92ZXJyaWRkZW4gaWYgYGBhbXRgYCBpcwogICAgICAgICAgICBzZXQuKQogICAgICAgIE5G2gZjbG9zZWRyGQAAAFRyAQAAACkCcgEAAABOKQ5ynAAAAHJeAAAAcmoAAAByJgAAAHKmAAAAcrUAAAByogAAAHJmAAAAcnYAAAByDgAAAHJsAAAAcpMAAAByoAAAAHJpAAAAKQdyIAAAAHKzAAAAcl4AAAByhwAAAHKfAAAA2glmcF9jbG9zZWRyLAAAAHIhAAAAciEAAAByIgAAAHJZAAAAEAIAAHM4AAAAABUIAQgBBgIKAQQCBAEOAgoBEgEIAQYCBAIG/wIBAv8CCgoBBAEQCRgCBAESAQoBEgIOAgQBBgJ6EUhUVFBSZXNwb25zZS5yZWFk6QAAAQBjAwAAAAAAAAAAAAAABQAAAAQAAABjAAAAc1IAAAB8AGoAcip8AKABoQByKnwAagJ8AXwCZAGNAkQAXQp9A3wDVgABAHEcbiR0A3wAagSDAXNOfABqBXwBfAJkAo0CfQR8BHIqfARWAAEAcSpkA1MAKQRhXwIAAAogICAgICAgIEEgZ2VuZXJhdG9yIHdyYXBwZXIgZm9yIHRoZSByZWFkKCkgbWV0aG9kLiBBIGNhbGwgd2lsbCBibG9jayB1bnRpbAogICAgICAgIGBgYW10YGAgYnl0ZXMgaGF2ZSBiZWVuIHJlYWQgZnJvbSB0aGUgY29ubmVjdGlvbiBvciB1bnRpbCB0aGUKICAgICAgICBjb25uZWN0aW9uIGlzIGNsb3NlZC4KCiAgICAgICAgOnBhcmFtIGFtdDoKICAgICAgICAgICAgSG93IG11Y2ggb2YgdGhlIGNvbnRlbnQgdG8gcmVhZC4gVGhlIGdlbmVyYXRvciB3aWxsIHJldHVybiB1cCB0bwogICAgICAgICAgICBtdWNoIGRhdGEgcGVyIGl0ZXJhdGlvbiwgYnV0IG1heSByZXR1cm4gbGVzcy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkKICAgICAgICAgICAgbGlrZWx5IHdoZW4gdXNpbmcgY29tcHJlc3NlZCBkYXRhLiBIb3dldmVyLCB0aGUgZW1wdHkgc3RyaW5nIHdpbGwKICAgICAgICAgICAgbmV2ZXIgYmUgcmV0dXJuZWQuCgogICAgICAgIDpwYXJhbSBkZWNvZGVfY29udGVudDoKICAgICAgICAgICAgSWYgVHJ1ZSwgd2lsbCBhdHRlbXB0IHRvIGRlY29kZSB0aGUgYm9keSBiYXNlZCBvbiB0aGUKICAgICAgICAgICAgJ2NvbnRlbnQtZW5jb2RpbmcnIGhlYWRlci4KICAgICAgICByXQAAACkCcrMAAAByXgAAAE4pBnJcAAAA2hZzdXBwb3J0c19jaHVua2VkX3JlYWRz2gxyZWFkX2NodW5rZWRyFgAAAHJqAAAAclkAAAApBXIgAAAAcrMAAAByXgAAANoEbGluZXIsAAAAciEAAAByIQAAAHIiAAAA2gZzdHJlYW1YAgAAcw4AAAAAEA4BEgEKAgoBDgIEAXoTSFRUUFJlc3BvbnNlLnN0cmVhbWMCAAAAAAAAAAAAAAAGAAAACgAAAEsAAABzYgAAAHwBagB9A3QBfAN0AoMCcy50A2oEciJ0AqAFfAOhAX0Dbgx0AnwDoAahAIMBfQN0B3wBZAFkAoMDfQR8AGYAfAF8A3wBagh8AWoJfAFqCnwEfAFkA5wHfAKXAo4BfQV8BVMAKQRhEAEAAAogICAgICAgIEdpdmVuIGFuIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBpbnN0YW5jZSBgYHJgYCwgcmV0dXJuIGEKICAgICAgICBjb3JyZXNwb25kaW5nIDpjbGFzczpgdXJsbGliMy5yZXNwb25zZS5IVFRQUmVzcG9uc2VgIG9iamVjdC4KCiAgICAgICAgUmVtYWluaW5nIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCB0byB0aGUgSFRUUFJlc3BvbnNlIGNvbnN0cnVjdG9yLCBhbG9uZwogICAgICAgIHdpdGggYGBvcmlnaW5hbF9yZXNwb25zZT1yYGAuCiAgICAgICAgcmQAAAByAQAAACkHcncAAAByYAAAAHJhAAAAcmIAAAByYwAAAHJkAAAAcnkAAAApC3JtAAAAcl8AAAByCAAAAHIVAAAA2gNQWTLaDGZyb21faHR0cGxpYtoFaXRlbXNyJgAAAHJhAAAAcmIAAAByYwAAACkG2gtSZXNwb25zZUNsc9oBctoLcmVzcG9uc2Vfa3dyYAAAAHJkAAAA2gRyZXNwciEAAAByIQAAAHIiAAAAcr4AAAByAgAAcyQAAAAACQYCCgEGAgwCDAMMAQQBAgECAQQBBAEEAQIBAvkECAL4Bgp6GUhUVFBSZXNwb25zZS5mcm9tX2h0dHBsaWJjAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwYAAAB8AGoAUwByJAAAAKkBcmAAAAByHwAAAHIhAAAAciEAAAByIgAAANoKZ2V0aGVhZGVyc5MCAABzAgAAAAABehdIVFRQUmVzcG9uc2UuZ2V0aGVhZGVyc2MDAAAAAAAAAAAAAAADAAAABAAAAEMAAABzDgAAAHwAagCgAXwBfAKhAlMAciQAAAApAnJgAAAAcnMAAAApA3IgAAAAcigAAADaB2RlZmF1bHRyIQAAAHIhAAAAciIAAADaCWdldGhlYWRlcpYCAABzAgAAAAABehZIVFRQUmVzcG9uc2UuZ2V0aGVhZGVyYwEAAAAAAAAAAAAAAAEAAAABAAAAQwAAAHMGAAAAfABqAFMAciQAAAByxAAAAHIfAAAAciEAAAByIQAAAHIiAAAA2gRpbmZvmgIAAHMCAAAAAAF6EUhUVFBSZXNwb25zZS5pbmZvYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHM2AAAAfABqAHMQfABqAaACoQABAHwAagNyIHwAagOgAqEAAQB8AGoEczJ0BWoGoAJ8AKEBAQBkAFMAciQAAAApB3K2AAAAcmoAAAByogAAAHJxAAAAcmcAAAByrgAAANoGSU9CYXNlch8AAAByIQAAAHIhAAAAciIAAAByogAAAJ4CAABzDAAAAAABBgEKAgYBCgIGAXoSSFRUUFJlc3BvbnNlLmNsb3NlYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHNUAAAAfABqAHMUdAFqAmoDoAR8AKEBUwB8AGoFZABrCHIiZAFTAHQGfABqBWQCgwJyOHwAagWgB6EAUwB0BnwAagVkA4MCckx8AGoFagNTAGQBUwBkAFMAKQROVHKIAAAAcrYAAAApCHJnAAAAcq4AAAByyQAAAHK2AAAA2gdfX2dldF9fcmoAAAByQgAAAHKIAAAAch8AAAByIQAAAHIhAAAAciIAAABytgAAAKgCAABzEgAAAAACBgEOAQoBBAEMAQoBDAEIAnoTSFRUUFJlc3BvbnNlLmNsb3NlZGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzNgAAAHwAagBkAGsIchR0AWQBgwGCAW4edAJ8AGoAZAKDAnIqfABqAKADoQBTAHQBZAODAYIBZABTACkETnotSFRUUFJlc3BvbnNlIGhhcyBubyBmaWxlIHRvIGdldCBhIGZpbGVubyBmcm9t2gZmaWxlbm96T1RoZSBmaWxlLWxpa2Ugb2JqZWN0IHRoaXMgSFRUUFJlc3BvbnNlIGlzIHdyYXBwZWQgYXJvdW5kIGhhcyBubyBmaWxlIGRlc2NyaXB0b3IpBHJqAAAA2gdJT0Vycm9yckIAAAByywAAAHIfAAAAciEAAAByIQAAAHIiAAAAcssAAAC1AgAAcw4AAAAAAQoBCgEMAQoCAgEC/3oTSFRUUFJlc3BvbnNlLmZpbGVub2MBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzMgAAAHwAagBkAGsJci50AXwAagBkAYMCci50AnwAagBkAmQDgwNzLnwAagCgA6EAUwBkAFMAKQROckQAAABytgAAAEYpBHJqAAAAckIAAAByJgAAAHJEAAAAch8AAAByIQAAAHIhAAAAciIAAAByRAAAAMACAABzDgAAAAACCP8CAgr+AgMM/QIFehJIVFRQUmVzcG9uc2UuZmx1c2hjAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwQAAABkAVMAKQJOVHIhAAAAch8AAAByIQAAAHIhAAAAciIAAADaCHJlYWRhYmxlyAIAAHMCAAAAAAJ6FUhUVFBSZXNwb25zZS5yZWFkYWJsZWMCAAAAAAAAAAAAAAADAAAABQAAAEMAAABzOgAAAHwAoAB0AXwBgwGhAX0CdAF8AoMBZAFrAnIeZAFTAHwCfAFkAHQBfAKDAYUCPAB0AXwCgwFTAGQAUwByTwAAACkCclkAAABykwAAACkDciAAAADaAWLaBHRlbXByIQAAAHIhAAAAciIAAADaCHJlYWRpbnRvzAIAAHMKAAAAAAIOAQwBBAIQAXoVSFRUUFJlc3BvbnNlLnJlYWRpbnRvYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMMAAAAdAB8AGoBZAGDAlMAKQJhBwEAAAogICAgICAgIENoZWNrcyBpZiB0aGUgdW5kZXJseWluZyBmaWxlLWxpa2Ugb2JqZWN0IGxvb2tzIGxpa2UgYQogICAgICAgIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYCBvYmplY3QuIFdlIGRvIHRoaXMgYnkgdGVzdGluZyBmb3IKICAgICAgICB0aGUgZnAgYXR0cmlidXRlLiBJZiBpdCBpcyBwcmVzZW50IHdlIGFzc3VtZSBpdCByZXR1cm5zIHJhdyBjaHVua3MgYXMKICAgICAgICBwcm9jZXNzZWQgYnkgcmVhZF9jaHVua2VkKCkuCiAgICAgICAg2gJmcCkCckIAAAByagAAAHIfAAAAciEAAAByIQAAAHIiAAAAcrkAAADVAgAAcwIAAAAAB3ojSFRUUFJlc3BvbnNlLnN1cHBvcnRzX2NodW5rZWRfcmVhZHNjAQAAAAAAAAAAAAAAAgAAAAgAAABDAAAAc2YAAAB8AGoAZABrCXIOZABTAHwAagFqAqADoQB9AXwBoARkAWQCoQJkAxkAfQF6EHQFfAFkBIMCfABfAFcAbiYEAHQGawpyYAEAAQABAHwAoAehAAEAdAh8AHwBgwKCAVkAbgJYAGQAUwApBU7zAQAAADtyBgAAAHIBAAAAcjkAAAApCXJyAAAAcmoAAABy0QAAANoIcmVhZGxpbmVyTAAAAHKKAAAAcpUAAAByogAAAHIPAAAAKQJyIAAAAHK7AAAAciEAAAByIQAAAHIiAAAA2hRfdXBkYXRlX2NodW5rX2xlbmd0aN4CAABzEgAAAAADCgEEAQwBEAECARABDgIIAXohSFRUUFJlc3BvbnNlLl91cGRhdGVfY2h1bmtfbGVuZ3RoYwIAAAAAAAAAAAAAAAUAAAADAAAAQwAAAHOsAAAAZAB9AnwBZABrCHIyfABqAKABfABqAqEBfQN8A30CfABqAKABZAGhAQEAZAB8AF8CbnZ8AXwAagJrAHJafABqAKABfAGhAX0EfABqAnwBGAB8AF8CfAR9Am5OfAF8AGoCawJyiHwAagCgAXwBoQF9BHwAagCgAWQBoQEBAGQAfABfAnwEfQJuIHwAagCgAXwAagKhAX0CfABqAKABZAGhAQEAZAB8AF8CfAJTACkCTnIzAAAAKQNyagAAANoKX3NhZmVfcmVhZHJyAAAAKQVyIAAAAHKzAAAA2g5yZXR1cm5lZF9jaHVua9oFY2h1bmvaBXZhbHVlciEAAAByIQAAAHIiAAAA2g1faGFuZGxlX2NodW5r7AIAAHMmAAAAAAEEAQgBDgEEAQwBCAEKAQwBDAEGAQoBDAEMAQYBBgIOAQwBBgF6GkhUVFBSZXNwb25zZS5faGFuZGxlX2NodW5rYwMAAAAAAAAAAAAAAAYAAAAJAAAAYwAAAHP+AAAAfACgAKEAAQB8AGoBcxZ0AmQBgwGCAXwAoAOhAHMmdARkAoMBggF8AKAFoQCPxgEAfABqBnJYdAd8AGoGgwFyWHwAagagCKEAAQBXADUAUQBSAKMAZANTAHwAaglqCmQDawhyclcANQBRAFIAowBkA1MAfACgC6EAAQB8AGoMZARrAnKGcax8AKANfAGhAX0DfABqDnwDfAJkBWQGjQN9BHwEcnJ8BFYAAQBxcnwCcsJ8AKAPoQB9BHwEcsJ8BFYAAQB8AGoJagqgEKEAfQV8BXPUceB8BWQHawJywnHgccJ8AGoGcvB8AGoGoAihAAEAVwA1AFEAUgBYAGQDUwApCGHGAQAACiAgICAgICAgU2ltaWxhciB0byA6bWV0aDpgSFRUUFJlc3BvbnNlLnJlYWRgLCBidXQgd2l0aCBhbiBhZGRpdGlvbmFsCiAgICAgICAgcGFyYW1ldGVyOiBgYGRlY29kZV9jb250ZW50YGAuCgogICAgICAgIDpwYXJhbSBhbXQ6CiAgICAgICAgICAgIEhvdyBtdWNoIG9mIHRoZSBjb250ZW50IHRvIHJlYWQuIElmIHNwZWNpZmllZCwgY2FjaGluZyBpcyBza2lwcGVkCiAgICAgICAgICAgIGJlY2F1c2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIGNhY2hlIHBhcnRpYWwgY29udGVudCBhcyB0aGUgZnVsbAogICAgICAgICAgICByZXNwb25zZS4KCiAgICAgICAgOnBhcmFtIGRlY29kZV9jb250ZW50OgogICAgICAgICAgICBJZiBUcnVlLCB3aWxsIGF0dGVtcHQgdG8gZGVjb2RlIHRoZSBib2R5IGJhc2VkIG9uIHRoZQogICAgICAgICAgICAnY29udGVudC1lbmNvZGluZycgaGVhZGVyLgogICAgICAgIHpIUmVzcG9uc2UgaXMgbm90IGNodW5rZWQuIEhlYWRlciAndHJhbnNmZXItZW5jb2Rpbmc6IGNodW5rZWQnIGlzIG1pc3NpbmcuemtCb2R5IHNob3VsZCBiZSBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UgbGlrZS4gSXQgc2hvdWxkIGhhdmUgaGF2ZSBhbiBmcCBhdHRyaWJ1dGUgd2hpY2ggcmV0dXJucyByYXcgY2h1bmtzLk5yAQAAAEYpAnJeAAAAcp8AAABzAgAAAA0KKRFynAAAAHJcAAAAchMAAAByuQAAAHILAAAAcqYAAAByawAAAHIXAAAAcqIAAAByagAAAHLRAAAActQAAABycgAAAHLZAAAAcqAAAAByngAAAHLTAAAAKQZyIAAAAHKzAAAAcl4AAABy1wAAANoHZGVjb2RlZHK7AAAAciEAAAByIQAAAHIiAAAAcroAAAACAwAAc0oAAAAADggCBgECAQL/BAQIAQIBAv8EBQoCEAEKAQ4EDAEOAwgBCgECAQoBBAECAAIAAv8GAwQBCAIEBAgBBAEGBAwBBAICAQgBBAMGAXoZSFRUUFJlc3BvbnNlLnJlYWRfY2h1bmtlZGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzLgAAAHwAagBkAWsJciR0AXwAagBqAoMBciR8AGoAagJkAhkAagNTAHwAagRTAGQBUwApA3rECiAgICAgICAgUmV0dXJucyB0aGUgVVJMIHRoYXQgd2FzIHRoZSBzb3VyY2Ugb2YgdGhpcyByZXNwb25zZS4KICAgICAgICBJZiB0aGUgcmVxdWVzdCB0aGF0IGdlbmVyYXRlZCB0aGlzIHJlc3BvbnNlIHJlZGlyZWN0ZWQsIHRoaXMgbWV0aG9kCiAgICAgICAgd2lsbCByZXR1cm4gdGhlIGZpbmFsIHJlZGlyZWN0IGxvY2F0aW9uLgogICAgICAgIE7p/////ykFcmUAAABykwAAANoHaGlzdG9yedoRcmVkaXJlY3RfbG9jYXRpb25ybgAAAHIfAAAAciEAAAByIQAAAHIiAAAA2gZnZXR1cmxIAwAAcwYAAAAABhYBDgJ6E0hUVFBSZXNwb25zZS5nZXR1cmxjAQAAAAAAAAAAAAAABAAAAAQAAABjAAAAc5QAAABnAH0BfABqAGQBZAKNAUQAXW59AmQDfAJrBnJ0fAKgAWQDoQF9AmQEoAJ8AaEBfAJkBRkAFwBkAxcAVgABAHwCZAZkB4UCGQBEAF0OfQN8A2QDFwBWAAEAcUp8AmQHGQBybnwCZAcZAGcBfQFxfmcAfQFxEHwBoAN8AqEBAQBxEHwBcpBkBKACfAGhAVYAAQBkAFMAKQhOVHJdAAAA8wEAAAAKchkAAAByAQAAAHIGAAAActsAAAApBHK8AAAAckwAAADaBGpvaW7aBmFwcGVuZCkEciAAAABytAAAAHLXAAAA2gF4ciEAAAByIQAAAHIiAAAA2ghfX2l0ZXJfX1MDAABzGgAAAAABBAEQAQgBCgEYARABDAEIAQwCBgIMAQQBehVIVFRQUmVzcG9uc2UuX19pdGVyX18pEXJYAAAATnIBAAAAcgEAAABOcgEAAABUVE5OTk5ORk5OVCkDTk5GKQJyuAAAAE4pAU4pAk5OKS5yLwAAAHIwAAAAcjEAAAByUgAAAHKZAAAAckEAAABygQAAAHIjAAAAcoIAAAByhAAAAHKGAAAA2ghwcm9wZXJ0eXIsAAAAcnsAAAByiAAAAHKJAAAAcnUAAABynAAAAHLMAAAAchwAAAByBAAAAHKdAAAAcqAAAAByngAAAHIDAAAAcqYAAABytQAAAHJZAAAAcrwAAADaC2NsYXNzbWV0aG9kcr4AAAByxQAAAHLHAAAAcsgAAAByogAAAHK2AAAAcssAAAByRAAAAHLNAAAActAAAAByuQAAAHLUAAAActkAAAByugAAAHLeAAAAcuMAAAByIQAAAHIhAAAAciEAAAByIgAAAHJWAAAAnAAAAHN8AAAACAEEIAgBCAEKAQ4EAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA7gpDCA0IBwgLAgEKCAIBCgMIAwgICDQIEwoBCAEMAggWCAsCAQo3CDAKSAoaAgEKIAgDCgQIBAgKAgEKDAgLCAgIBAgJCAkIDggWCkYIC3JWAAAAKTHaCl9fZnV0dXJlX19yAgAAAHKuAAAA2gdsb2dnaW5ncqwAAAByHAAAANoKY29udGV4dGxpYnIDAAAA2gZzb2NrZXRyBAAAAHKFAAAAcgUAAAByowAAAHJBAAAAclgAAAByBwAAANoMX2NvbGxlY3Rpb25zcggAAAByewAAAHIJAAAAcgoAAADaCmV4Y2VwdGlvbnNyCwAAAHIMAAAAcg0AAAByDgAAAHIPAAAAchAAAAByEQAAAHISAAAAchMAAAByFAAAANoIcGFja2FnZXNyFQAAAFoNdXRpbC5yZXNwb25zZXIWAAAAchcAAADaCWdldExvZ2dlcnIvAAAAcpAAAADaBm9iamVjdHIYAAAAcjIAAAByNwAAAHJAAAAAckUAAAByRgAAAHLJAAAAclYAAAByIQAAAHIhAAAAciEAAAByIgAAANoIPG1vZHVsZT4BAAAAcy4AAAAMAggBCAEIAQgBDAEMAQwCBAIMAQwBEAEwDAwBEAIKAxAgEAcQHgoCEBEQFQgN