LiciIHQKLiIKLiIgQ29weXJpZ2h0IDIwMDYgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLiIgRE8gTk9UIEFMVEVSIE9SIFJFTU9WRSBDT1BZUklHSFQgTk9USUNFUyBPUiBUSElTIEZJTEUgSEVBREVSLgouIgouIiBUaGlzIGNvZGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAouIiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvbmx5LCBhcwouIiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLiIKLiIgVGhpcyBjb2RlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCi4iIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvcgouIiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLiIgdmVyc2lvbiAyIGZvciBtb3JlIGRldGFpbHMgKGEgY29weSBpcyBpbmNsdWRlZCBpbiB0aGUgTElDRU5TRSBmaWxlIHRoYXQKLiIgYWNjb21wYW5pZWQgdGhpcyBjb2RlKS4KLiIKLiIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbgouIiAyIGFsb25nIHdpdGggdGhpcyB3b3JrOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCi4iIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KLiIKLiIgUGxlYXNlIGNvbnRhY3QgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiwgNDE1MCBOZXR3b3JrIENpcmNsZSwgU2FudGEgQ2xhcmEsCi4iIENBIDk1MDU0IFVTQSBvciB2aXNpdCB3d3cuc3VuLmNvbSBpZiB5b3UgbmVlZCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9yCi4iIGhhdmUgYW55IHF1ZXN0aW9ucy4KLiIgCi4iIGAKLlRIIHNjaGVtYWdlbiAxICIyMDA2IMevIDkgt+4gNCDG/CIgIkphdmEgU0UgNiIgIqXmobyltqG8pbOl3qXzpckiCi4iIEdlbmVyYXRlZCBieSBodG1sMnJvZmYKCi5MUAouYWQgYwouU0ggzL7BsApYTUwgpdClpKXzpcmkzqS/pOGkziBKYXZhKFRNKSCloqG8pa2lxqWvpcGl4wouYnIKpbmlraG8pd6luKWnpc2l7KG8pb9cZjO7xc3NpM6l0KG8pbil56XzOlxmUCAyLjAKLmJyClxmM6XqpdWloaXspfOlubzCwfUgKFJlZmVyZW5jZSBJbXBsZW1lbnRhdGlvbqGiUkkpIKTOpdChvKW4peel8zpcZlAgMi4wIGVhMwouYnIKLmFkIGwKLkxQCi5TUyAKc2NoZW1hZ2VuIKTOta/GsAouTFAKLkxQCqW5pa2hvKXepbilp6XNpeyhvKW/pM+hoqXmobyltqG8pM6l16XppcOlyKXVpamhvKXgpM4gXGYyYmluXGZQIKXHpaOl7KWvpcil6qTLpKKk6yBcZjJzY2hlbWFnZW5cZlAgpbelp6Xrpbmlr6XqpdelyKTyu8ikw6TGta/GsKTHpK2k3qS5oaMKLkxQCi5MUAq4vbrfpM6luaWtobyl3qW4paelzaXsobylv6TPoaJKYXZhIKW9obyluaXVpaGlpKXrpMilr6Xppbml1aWhpaSl66TOpKSkuqTspOK96M39pMekraTepLmhowouTFAKLkxQCqTepL+hoqW5pa2hvKXepbilp6XNpeyhvKW/pPK8wrnUpLmk66S/pOGkziBBbnQgpb+luaWvpOLN0bDVpLWk7KTGpKSk3qS5oaNzY2hlbWFnZW4gpPIgQW50IKTIpMik4qTLu8jN0aS5pOukv6ThpM686r3npPK7sr7IpLekxqSvpMCktaSkoaMKLkxQCi5SUyAzCgouTFAKXGYzU29sYXJpcy9MaW51eCCkzr7suedcZlAKLkxQCi5uZgpcZjMKLmZsCiAgICAgICUgcGF0aC90by9qYXhiL2Jpbi9zY2hlbWFnZW4uc2ggRm9vLmphdmEgQmFyLmphdmEgLi4uCi5mbAogICAgICBOb3RlOiBXcml0aW5nIHNjaGVtYTEueHNkCi5mbAogICAgICAKLmZsClxmUAouZmkKCi5MUApcZjNXaW5kb3dzTlQvMjAwMC9YUCCkzr7suedcZlAKLkxQCi5uZgpcZjMKLmZsCiAgICAgID4gcGF0aFxcdG9cXGpheGJcXGJpblxcc2NoZW1hZ2VuLmJhdCBGb28uamF2YSBCYXIuamF2YSAuLi4KLmZsCiAgICAgIE5vdGU6IFdyaXRpbmcgc2NoZW1hMS54c2QKLmZsCiAgICAgIAouZmwKXGZQCi5maQouUkUKCi5MUAouTFAKpeahvKW2pM4gSmF2YSClvaG8pbkvpa+l6aW5pKyk26SrpM6lr6Xppbmk8ruyvsikt6TGpKSk677sueehoqW3pbmlxqXgpM4gQ0xBU1NQQVRIILTEtq3K0b/0t9DNs6THpL2k7KTppM6lr6Xppbmky6Wipa+lu6W5pMekraTrpOikpqTLpMqkw6TGpKSk66SroaKkoqTrpKSkzyBcZjJcLWNsYXNzcGF0aFxmUC9cZjJcLWNwXGZQIKWqpdelt6XnpfOk8rvIpMOkxqS9pOyk6aTOpa+l6aW5pPKlxKG8peuky7vYxOqkuaTryazN16SspKKk6qTepLmho6S9pKakt6TKpKSkyKGipbmlraG8pd6kzsC4wK67/qTLpail6aG8pKzIr8C4pLek3qS5oaMKLkxQCi5SUyAzCgouTFAKXGYzpbOl3qXzpcm51KWqpdelt6XnpfNcZlAKLkxQCgouTFAKLm5mClxmMwouZmwKu8jN0cuhOiBzY2hlbWFnZW4gW1wtb3B0aW9ucyAuLi5dIDxqYXZhIGZpbGVzPiAKLmZsCgouZmwKpaql16W3peel8zogCi5mbAogICAgXC1kIDxwYXRoPiAgICAgICAgIDogIKXXpe2lu6XDpbWkqqTopNMgamF2YWMgpMuk6KTDpMbAuMCupLWk7KTrpa+l6aW5pdWloaWkpeukzrPKx7y+7L3qpPK72MTqpLek3qS5Ci5mbAogICAgXC1jcCA8cGF0aD4gICAgICAgIDogIKXmobyltrvYxOql1aWhpaSl66TOuKG6977sveqk8rvYxOqkt6TepLkKLmZsCiAgICBcLWNsYXNzcGF0aCA8cGF0aD4gOiAgpeahvKW2u9jE6qXVpaGlpKXrpM64obr3vuy96qTyu9jE6qS3pN6kuQouZmwKICAgIFwtaGVscCAgICAgICAgICAgICA6ICCks6TOu8jN0cr9y6Gky7TYpLmk66XhpcOlu6G8pbik8sm9vKikt6TepLkKLmZsCiAgICAgICAgCi5mbApcZlAKLmZpCgouTFAKLlJFCi5TUyAKwLjArqS1pOyk66Xqpb2hvKW5pdWloaWkpesKLkxQCi5MUAq4vbrfpM6luaWtobyl3qW4paelzaXsobylv6TPw7G946TLoaJKYXZhIKWvpemlucbipMe7sr7IpLWk7KTGpKSk68y+wbC29bTWpLSkyKTLIDEgpMSkzqW5pa2hvKXepdWloaWkpeuk8rruwK6kt6TepLmho8C4wK6ktaTspOuluaWtobyl3qXVpaGlpKXrpM7MvsGwpPLAqbjmpLmk68r9y6Gkz6GiuL27/sXApMekz8K4ut+kt6TepLuk86GjpL2kpqS3pL/M3MWqpMukz6GipbmlraG8pd6luKWnpc2l7KG8pb+kziBhbnQgpb+luaWvpPK7yM3RpLekxqSvpMCktaSkoaMKLkxQCiAK