YQ0NCgAAAABKGnxjERcAAOMAAAAAAAAAAAAAAAAAAAAAKAAAAEAAAABzcgIAAGQAWgBkAWQCbAFaAWQBZAJsAloDZAFkA2wEbQVaBQEAZAFkBGwGbQdaBwEAZAVkBmwIbQlaCQEAZAVkB2wKbQtaCwEAZQNqDHJWZAVkCGwNbQ5aDgEAZQ9lEGQJnAJkCmQLhARaEWUPZRBkCZwCZAxkDYQEWhJlD2UPZRBkDpwDZA9kEIQEWhNlA2oUZRBkCZwCZBFkEoQEWhVlA2oUZRBkCZwCZBNkFIQEWhZlC2QVZRdlEGQWnANkF2QYhASDAVoYZQtkFWUXZRBkFpwDZBlkGoQEgwFaGWUDahRlEGQJnAJkG2QchARaGmUDahRlEGQJnAJkHWQehARaG2UDahRlEGQJnAJkH2QghARaHGUDahRlEGQJnAJkIWQihARaHWUDahRlEGQJnAJkI2QkhARaHmUDahRlEGQJnAJkJWQmhARaH2UXZRBkCZwCZCdkKIQEWiBlF2UQZAmcAmQpZCqEBFohZQNqFGUQZAmcAmQrZCyEBFoiZQNqFGUQZAmcAmQtZC6EBFojZQNqFGUQZAmcAmQvZDCEBFokZQNqFGUQZAmcAmQxZDKEBFolZQNqFGUDahRlEGQznANkNGQ1hARaJmUDahRlEGQJnAJkNmQ3hARaJ2UDahRlEGQJnAJkOGQ5hARaKGUDahRlA2opZRBkOpwDZDtkPIQEWiplEWUSZRNlFWUWZRhlGWUaZRtlHGUdZR5lH2UgZSFlImUjZSRlJWUnZStlJmUoZSplAWosZQFqLGUBaixlAWotZQFqLWUBai5lAWouZQFqLmUBai9lAWovZQFqMGUBajBlAWowZQFqMWUBajFkPZwnWjJkAlMAKT56NkJ1aWx0LWluIHRlbXBsYXRlIHRlc3RzIHVzZWQgd2l0aCB0aGUgYGBpc2BgIG9wZXJhdG9yLukAAAAATikB2gNhYmMpAdoGTnVtYmVy6QEAAAApAdoJVW5kZWZpbmVkKQHaEHBhc3NfZW52aXJvbm1lbnQpAdoLRW52aXJvbm1lbnQpAtoFdmFsdWXaBnJldHVybmMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHwAZAEWAGQCawJTACkDeiNSZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgb2RkLukCAAAAcgQAAACpAKkBcggAAAByCwAAAHILAAAA+kkvaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9uMy45L3NpdGUtcGFja2FnZXMvamluamEyL3Rlc3RzLnB52gh0ZXN0X29kZA4AAABzAgAAAAACcg4AAABjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcwwAAAB8AGQBFgBkAmsCUwApA3okUmV0dXJuIHRydWUgaWYgdGhlIHZhcmlhYmxlIGlzIGV2ZW4ucgoAAAByAQAAAHILAAAAcgwAAAByCwAAAHILAAAAcg0AAADaCXRlc3RfZXZlbhMAAABzAgAAAAACcg8AAAApA3IIAAAA2gNudW1yCQAAAGMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzDAAAAHwAfAEWAGQBawJTACkCei1DaGVjayBpZiBhIHZhcmlhYmxlIGlzIGRpdmlzaWJsZSBieSBhIG51bWJlci5yAQAAAHILAAAAKQJyCAAAAHIQAAAAcgsAAAByCwAAAHINAAAA2hB0ZXN0X2RpdmlzaWJsZWJ5GAAAAHMCAAAAAAJyEQAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDAAAAHQAfAB0AYMCDABTACkBYTsBAABSZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgZGVmaW5lZDoKCiAgICAuLiBzb3VyY2Vjb2RlOjogamluamEKCiAgICAgICAgeyUgaWYgdmFyaWFibGUgaXMgZGVmaW5lZCAlfQogICAgICAgICAgICB2YWx1ZSBvZiB2YXJpYWJsZToge3sgdmFyaWFibGUgfX0KICAgICAgICB7JSBlbHNlICV9CiAgICAgICAgICAgIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkCiAgICAgICAgeyUgZW5kaWYgJX0KCiAgICBTZWUgdGhlIDpmdW5jOmBkZWZhdWx0YCBmaWx0ZXIgZm9yIGEgc2ltcGxlIHdheSB0byBzZXQgdW5kZWZpbmVkCiAgICB2YXJpYWJsZXMuCiAgICCpAtoKaXNpbnN0YW5jZXIFAAAAcgwAAAByCwAAAHILAAAAcg0AAADaDHRlc3RfZGVmaW5lZB0AAABzAgAAAAAOchQAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwoAAAB0AHwAdAGDAlMAKQF6LUxpa2UgOmZ1bmM6YGRlZmluZWRgIGJ1dCB0aGUgb3RoZXIgd2F5IHJvdW5kLnISAAAAcgwAAAByCwAAAHILAAAAcg0AAADaDnRlc3RfdW5kZWZpbmVkLgAAAHMCAAAAAAJyFQAAAHIHAAAAKQPaA2VudnIIAAAAcgkAAABjAgAAAAAAAAAAAAAAAgAAAAIAAABDAAAAcwoAAAB8AXwAagB2AFMAKQFhGQEAAENoZWNrIGlmIGEgZmlsdGVyIGV4aXN0cyBieSBuYW1lLiBVc2VmdWwgaWYgYSBmaWx0ZXIgbWF5IGJlCiAgICBvcHRpb25hbGx5IGF2YWlsYWJsZS4KCiAgICAuLiBjb2RlLWJsb2NrOjogamluamEKCiAgICAgICAgeyUgaWYgJ21hcmtkb3duJyBpcyBmaWx0ZXIgJX0KICAgICAgICAgICAge3sgdmFsdWUgfCBtYXJrZG93biB9fQogICAgICAgIHslIGVsc2UgJX0KICAgICAgICAgICAge3sgdmFsdWUgfX0KICAgICAgICB7JSBlbmRpZiAlfQoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMAogICAgKQHaB2ZpbHRlcnOpAnIWAAAAcggAAAByCwAAAHILAAAAcg0AAADaC3Rlc3RfZmlsdGVyMwAAAHMCAAAAAA9yGQAAAGMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzCgAAAHwBfABqAHYAUwApAWGCAQAAQ2hlY2sgaWYgYSB0ZXN0IGV4aXN0cyBieSBuYW1lLiBVc2VmdWwgaWYgYSB0ZXN0IG1heSBiZQogICAgb3B0aW9uYWxseSBhdmFpbGFibGUuCgogICAgLi4gY29kZS1ibG9jazo6IGppbmphCgogICAgICAgIHslIGlmICdsb3VkJyBpcyB0ZXN0ICV9CiAgICAgICAgICAgIHslIGlmIHZhbHVlIGlzIGxvdWQgJX0KICAgICAgICAgICAgICAgIHt7IHZhbHVlfHVwcGVyIH19CiAgICAgICAgICAgIHslIGVsc2UgJX0KICAgICAgICAgICAgICAgIHt7IHZhbHVlfGxvd2VyIH19CiAgICAgICAgICAgIHslIGVuZGlmICV9CiAgICAgICAgeyUgZWxzZSAlfQogICAgICAgICAgICB7eyB2YWx1ZSB9fQogICAgICAgIHslIGVuZGlmICV9CgogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4wCiAgICApAdoFdGVzdHNyGAAAAHILAAAAcgsAAAByDQAAANoJdGVzdF90ZXN0RQAAAHMCAAAAABNyGwAAAGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCAAAAHwAZAF1AFMAKQJ6JFJldHVybiB0cnVlIGlmIHRoZSB2YXJpYWJsZSBpcyBub25lLk5yCwAAAHIMAAAAcgsAAAByCwAAAHINAAAA2gl0ZXN0X25vbmVbAAAAcwIAAAAAAnIcAAAAYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMQAAAAfABkAXUAcA58AGQCdQBTACkDek5SZXR1cm4gdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgYm9vbGVhbiB2YWx1ZS4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjExCiAgICBURnILAAAAcgwAAAByCwAAAHILAAAAcg0AAADaDHRlc3RfYm9vbGVhbmAAAABzAgAAAAAFch0AAABjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcwgAAAB8AGQBdQBTACkCekRSZXR1cm4gdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIEZhbHNlLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMTEKICAgIEZyCwAAAHIMAAAAcgsAAAByCwAAAHINAAAA2gp0ZXN0X2ZhbHNlaAAAAHMCAAAAAAVyHgAAAGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCAAAAHwAZAF1AFMAKQJ6Q1JldHVybiB0cnVlIGlmIHRoZSBvYmplY3QgaXMgVHJ1ZS4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjExCiAgICBUcgsAAAByDAAAAHILAAAAcgsAAAByDQAAANoJdGVzdF90cnVlcAAAAHMCAAAAAAVyHwAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzGgAAAHQAfAB0AYMCbxh8AGQBdQFvGHwAZAJ1AVMAKQN6SVJldHVybiB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYW4gaW50ZWdlci4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjExCiAgICBURikCchMAAADaA2ludHIMAAAAcgsAAAByCwAAAHINAAAA2gx0ZXN0X2ludGVnZXJ5AAAAcwIAAAAABXIhAAAAYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMKAAAAdAB8AHQBgwJTACkBekZSZXR1cm4gdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgZmxvYXQuCgogICAgLi4gdmVyc2lvbmFkZGVkOjogMi4xMQogICAgKQJyEwAAANoFZmxvYXRyDAAAAHILAAAAcgsAAAByDQAAANoKdGVzdF9mbG9hdIIAAABzAgAAAAAFciMAAABjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcwwAAAB0AHwAgwGgAaEAUwApAXoqUmV0dXJuIHRydWUgaWYgdGhlIHZhcmlhYmxlIGlzIGxvd2VyY2FzZWQuKQLaA3N0ctoHaXNsb3dlcnIMAAAAcgsAAAByCwAAAHINAAAA2gp0ZXN0X2xvd2VyigAAAHMCAAAAAAJyJgAAAGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHQAfACDAaABoQBTACkBeipSZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgdXBwZXJjYXNlZC4pAnIkAAAA2gdpc3VwcGVycgwAAAByCwAAAHILAAAAcg0AAADaCnRlc3RfdXBwZXKPAAAAcwIAAAAAAnIoAAAAYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMKAAAAdAB8AHQBgwJTACkBeiZSZXR1cm4gdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIGEgc3RyaW5nLikCchMAAAByJAAAAHIMAAAAcgsAAAByCwAAAHINAAAA2gt0ZXN0X3N0cmluZ5QAAABzAgAAAAACcikAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwwAAAB0AHwAdAFqAoMCUwApAXpTUmV0dXJuIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIG1hcHBpbmcgKGRpY3QgZXRjLikuCgogICAgLi4gdmVyc2lvbmFkZGVkOjogMi42CiAgICApA3ITAAAAcgIAAADaB01hcHBpbmdyDAAAAHILAAAAcgsAAAByDQAAANoMdGVzdF9tYXBwaW5nmQAAAHMCAAAAAAVyKwAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzCgAAAHQAfAB0AYMCUwApAXooUmV0dXJuIHRydWUgaWYgdGhlIHZhcmlhYmxlIGlzIGEgbnVtYmVyLikCchMAAAByAwAAAHIMAAAAcgsAAAByCwAAAHINAAAA2gt0ZXN0X251bWJlcqEAAABzAgAAAAACciwAAABjAQAAAAAAAAAAAAAAAQAAAAgAAABDAAAAcywAAAB6EnQAfACDAQEAfABqAQEAVwBuFAQAdAJ5JgEAAQABAFkAZAFTADAAZAJTACkDel5SZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgYSBzZXF1ZW5jZS4gU2VxdWVuY2VzIGFyZSB2YXJpYWJsZXMKICAgIHRoYXQgYXJlIGl0ZXJhYmxlLgogICAgRlQpA9oDbGVu2gtfX2dldGl0ZW1fX9oJRXhjZXB0aW9ucgwAAAByCwAAAHILAAAAcg0AAADaDXRlc3Rfc2VxdWVuY2WmAAAAcwwAAAAABAIBCAEKAQwBCAJyMAAAACkDcggAAADaBW90aGVycgkAAABjAgAAAAAAAAAAAAAAAgAAAAIAAABDAAAAcwgAAAB8AHwBdQBTACkBeu9DaGVjayBpZiBhbiBvYmplY3QgcG9pbnRzIHRvIHRoZSBzYW1lIG1lbW9yeSBhZGRyZXNzIHRoYW4gYW5vdGhlcgogICAgb2JqZWN0OgoKICAgIC4uIHNvdXJjZWNvZGU6OiBqaW5qYQoKICAgICAgICB7JSBpZiBmb28uYXR0cmlidXRlIGlzIHNhbWVhcyBmYWxzZSAlfQogICAgICAgICAgICB0aGUgZm9vIGF0dHJpYnV0ZSByZWFsbHkgaXMgdGhlIGBGYWxzZWAgc2luZ2xldG9uCiAgICAgICAgeyUgZW5kaWYgJX0KICAgIHILAAAAKQJyCAAAAHIxAAAAcgsAAAByCwAAAHINAAAA2gt0ZXN0X3NhbWVhc7MAAABzAgAAAAAKcjIAAABjAQAAAAAAAAAAAAAAAQAAAAgAAABDAAAAcyYAAAB6DHQAfACDAQEAVwBuFAQAdAF5IAEAAQABAFkAZAFTADAAZAJTACkDejFDaGVjayBpZiBpdCdzIHBvc3NpYmxlIHRvIGl0ZXJhdGUgb3ZlciBhbiBvYmplY3QuRlQpAtoEaXRlctoJVHlwZUVycm9ycgwAAAByCwAAAHILAAAAcg0AAADaDXRlc3RfaXRlcmFibGXAAAAAcwoAAAAAAgIBDAEMAQgCcjUAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwoAAAB0AHwAZAGDAlMAKQJ6HkNoZWNrIGlmIHRoZSB2YWx1ZSBpcyBlc2NhcGVkLloIX19odG1sX18pAdoHaGFzYXR0cnIMAAAAcgsAAAByCwAAAHINAAAA2gx0ZXN0X2VzY2FwZWTKAAAAcwIAAAAAAnI3AAAAKQNyCAAAANoDc2VxcgkAAABjAgAAAAAAAAAAAAAAAgAAAAIAAABDAAAAcwgAAAB8AHwBdgBTACkBejpDaGVjayBpZiB2YWx1ZSBpcyBpbiBzZXEuCgogICAgLi4gdmVyc2lvbmFkZGVkOjogMi4xMAogICAgcgsAAAApAnIIAAAAcjgAAAByCwAAAHILAAAAcg0AAADaB3Rlc3RfaW7PAAAAcwIAAAAABXI5AAAAKSdaA29kZFoEZXZlbloLZGl2aXNpYmxlYnlaB2RlZmluZWTaCXVuZGVmaW5lZNoGZmlsdGVy2gR0ZXN02gRub25l2gdib29sZWFu2gVmYWxzZdoEdHJ1ZdoHaW50ZWdlcnIiAAAA2gVsb3dlctoFdXBwZXLaBnN0cmluZ9oHbWFwcGluZ9oGbnVtYmVy2ghzZXF1ZW5jZdoIaXRlcmFibGXaCGNhbGxhYmxlWgZzYW1lYXPaB2VzY2FwZWTaAmluegI9PdoCZXFaB2VxdWFsdG96AiE92gJuZfoBPtoCZ3RaC2dyZWF0ZXJ0aGFu2gJnZXoCPj36ATzaAmx0WghsZXNzdGhhbnoCPD3aAmxlKTPaB19fZG9jX1/aCG9wZXJhdG9y2gZ0eXBpbmfaAXTaC2NvbGxlY3Rpb25zcgIAAADaB251bWJlcnNyAwAAAFoHcnVudGltZXIFAAAA2gV1dGlsc3IGAAAA2g1UWVBFX0NIRUNLSU5H2gtlbnZpcm9ubWVudHIHAAAAciAAAADaBGJvb2xyDgAAAHIPAAAAchEAAADaA0FueXIUAAAAchUAAAByJAAAAHIZAAAAchsAAAByHAAAAHIdAAAAch4AAAByHwAAAHIhAAAAciMAAAByJgAAAHIoAAAAcikAAAByKwAAAHIsAAAAcjAAAAByMgAAAHI1AAAAcjcAAADaCUNvbnRhaW5lcnI5AAAAckkAAAByTAAAAHJNAAAAck8AAAByUAAAAHJSAAAAclMAAABaBVRFU1RTcgsAAAByCwAAAHILAAAAcg0AAADaCDxtb2R1bGU+AQAAAHOSAAAABAEIAQgBDAEMAgwBDAIGAQwDEAUQBRIFEhESBQIBFBECARQVEgUSCBIIEgkSCRIIEAUQBRIFEggSBRINFg0SChIFFgkCAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBNk=