<?xml version="1.0" encoding="utf-8" ?>
<otrs_package version="1.1">
    <Name>DynamicFieldDatabaseExtensions</Name>
    <Version>11.1.1</Version>
    <Vendor>Rother OSS GmbH</Vendor>
    <URL>https://otobo.io/</URL>
    <License>GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007</License>
    <ChangeLog Date="2026-06-26 16:13:43" Version="11.1.1">Initial release for OTOBO 11.1.</ChangeLog>
    <Description Lang="en">The package DynamicFieldDatabaseExtensions provides the possibility to extend the information displayed by dynamic field database values.</Description>
    <Framework>11.1.x</Framework>
    <BuildCommitID>832883586d288c6cdfffca6f6b13559a9439a0d0</BuildCommitID>
    <BuildDate>2026-06-26 16:13:46</BuildDate>
    <BuildHost>opms.rother-oss.com</BuildHost>
    <Filelist>
        <File Location="Custom/Kernel/Modules/AdminDynamicFieldDB.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSBkMjYzYjg0MWIwMjU0MGY0ZWNlYWYzYjYyNTEyOGUwNGZhMWEwNjA2IC0gS2VybmVsL01vZHVsZXMvQWRtaW5EeW5hbWljRmllbGREQi5wbQojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWRtaW5EeW5hbWljRmllbGREQjsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCm91ciAkT2JqZWN0TWFuYWdlckRpc2FibGVkID0gMTsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCgojIGNvcmUgbW9kdWxlcwp1c2UgTGlzdDo6VXRpbCBxdyh1bmlxKTsKCiMgQ1BBTiBtb2R1bGVzCgojIE9UT0JPIG1vZHVsZXMKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpMYW5ndWFnZSAgICAgICAgICAgICAgcXcoVHJhbnNsYXRhYmxlKTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgU3RvcmUgbGFzdCBlbnRpdHkgc2NyZWVuLgogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkF1dGhTZXNzaW9uJyktPlVwZGF0ZVNlc3Npb25JRCgKICAgICAgICBTZXNzaW9uSUQgPT4gJFNlbGYtPntTZXNzaW9uSUR9LAogICAgICAgIEtleSAgICAgICA9PiAnTGFzdFNjcmVlbkVudGl0eScsCiAgICAgICAgVmFsdWUgICAgID0+ICRTZWxmLT57UmVxdWVzdGVkVVJMfSwKICAgICk7CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQWRkJyApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPl9BZGQoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0FkZEFjdGlvbicgKSB7CgogICAgICAgICMgQ2hhbGxlbmdlIHRva2VuIGNoZWNrIGZvciB3cml0ZSBhY3Rpb24uCiAgICAgICAgJExheW91dE9iamVjdC0+Q2hhbGxlbmdlVG9rZW5DaGVjaygpOwoKICAgICAgICByZXR1cm4gJFNlbGYtPl9BZGRBY3Rpb24oCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICApOwogICAgfQogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0NoYW5nZScgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fQ2hhbmdlKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2lmICggJFNlbGYtPntTdWJhY3Rpb259IGVxICdDaGFuZ2VBY3Rpb24nICkgewoKICAgICAgICAjIENoYWxsZW5nZSB0b2tlbiBjaGVjayBmb3Igd3JpdGUgYWN0aW9uLgogICAgICAgICRMYXlvdXRPYmplY3QtPkNoYWxsZW5nZVRva2VuQ2hlY2soKTsKCiAgICAgICAgcmV0dXJuICRTZWxmLT5fQ2hhbmdlQWN0aW9uKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnVW5kZWZpbmVkIHN1YmFjdGlvbi4nKSwKICAgICk7Cn0KCnN1YiBfQWRkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKICAgIG15ICRQYXJhbU9iamVjdCAgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgbXkgJUdldFBhcmFtOwoKICAgICMgY2hlY2sgaWYgd2UgY2xvbmUgZnJvbSBhbiBleGlzdGluZyBmaWVsZAogICAgbXkgJENsb25lRmllbGRJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICJDbG9uZUZpZWxkSUQiICk7CiAgICBpZiAoJENsb25lRmllbGRJRCkgewogICAgICAgIG15ICRGaWVsZENvbmZpZyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKS0+RHluYW1pY0ZpZWxkR2V0KAogICAgICAgICAgICBJRCA9PiAkQ2xvbmVGaWVsZElELAogICAgICAgICk7CgogICAgICAgICMgaWYgd2UgZm91bmQgYSBmaWVsZCBjb25maWcsIGNvcHkgaXRzIGNvbnRlbnQgZm9yIHVzYWdlIGluIF9TaG93U2NyZWVuCiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSgkRmllbGRDb25maWcpICkgewoKICAgICAgICAgICAgIyBjb3B5IHN0YW5kYXJkIHN0dWZmCiAgICAgICAgICAgIGZvciBteSAkS2V5IChxdyhPYmplY3RUeXBlIEZpZWxkVHlwZSBMYWJlbCBOYW1lIFZhbGlkSUQpKSB7CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkRmllbGRDb25maWctPnskS2V5fTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpdGVyYXRlIG92ZXIgc3BlY2lhbCBzdHVmZiBhbmQgY29weSBpbi1kZXB0aCBjb250ZW50IGFzIGZsYXQgbGlzdAogICAgICAgICAgICBDT05GSUdLRVk6CiAgICAgICAgICAgIGZvciBteSAkQ29uZmlnS2V5ICgga2V5cyAkRmllbGRDb25maWctPntDb25maWd9LT4lKiApIHsKICAgICAgICAgICAgICAgIG5leHQgQ09ORklHS0VZIGlmICRDb25maWdLZXkgZXEgJ1BhcnRPZlNldCc7CgogICAgICAgICAgICAgICAgbXkgJERGRGV0YWlscyA9ICRGaWVsZENvbmZpZy0+e0NvbmZpZ307CiAgICAgICAgICAgICAgICBpZiAoICRDb25maWdLZXkgZXEgJ1Bvc3NpYmxlVmFsdWVzJyApIHsKICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17UG9zc2libGVWYWx1ZXN9ID0gJERGRGV0YWlscy0+e1Bvc3NpYmxlVmFsdWVzfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggSXNIYXNoUmVmV2l0aERhdGEoICRERkRldGFpbHMtPnskQ29uZmlnS2V5fSApICkgewogICAgICAgICAgICAgICAgICAgIG15ICRDb25maWdDb250ZW50ID0gJERGRGV0YWlscy0+eyRDb25maWdLZXl9OwogICAgICAgICAgICAgICAgICAgIGZvciBteSAkQ29udGVudEtleSAoIGtleXMgJENvbmZpZ0NvbnRlbnQtPiUqICkgewogICAgICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17JENvbnRlbnRLZXl9ID0gJENvbmZpZ0NvbnRlbnQtPnskQ29udGVudEtleX07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJEdldFBhcmFteyRDb25maWdLZXl9ID0gJERGRGV0YWlscy0+eyRDb25maWdLZXl9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRHZXRQYXJhbXtDbG9uZUZpZWxkSUR9ID0gJENsb25lRmllbGRJRDsKICAgIH0KCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoT2JqZWN0VHlwZSBGaWVsZFR5cGUgRmllbGRPcmRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gLy89ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnTmVlZCAlcycsICROZWVkZWQgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICAjIEdldCB0aGUgb2JqZWN0IHR5cGUgYW5kIGZpZWxkIHR5cGUgZGlzcGxheSBuYW1lLgogICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgbXkgJE9iamVjdFR5cGVOYW1lID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGRzOjpPYmplY3RUeXBlJyktPnsgJEdldFBhcmFte09iamVjdFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gfHwgJyc7CiAgICBteSAkRmllbGRUeXBlTmFtZSAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZHM6OkRyaXZlcicpLT57ICRHZXRQYXJhbXtGaWVsZFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gICAgICB8fCAnJzsKCiAgICAjIGNoZWNrIG5hbWVzcGFjZSB2YWxpZGl0eQogICAgbXkgQERGTmFtZXNwYWNlcyA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpOYW1lc3BhY2UnKS0+TmFtZXNwYWNlc0xpc3QoCiAgICAgICAgU2NvcGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICApOwogICAgbXkgJE5hbWVzcGFjZSA9ICcnOwogICAgaWYgKCBAREZOYW1lc3BhY2VzICYmICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgewogICAgICAgICROYW1lc3BhY2UgPSAoIGdyZXAgeyAkXyBlcSAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSB9IEBERk5hbWVzcGFjZXMgKSA/ICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9IDogJyc7CiAgICB9CgogICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAlUGFyYW0sCiAgICAgICAgJUdldFBhcmFtLAogICAgICAgIE1vZGUgICAgICAgICAgID0+ICdBZGQnLAogICAgICAgIE9iamVjdFR5cGVOYW1lID0+ICRPYmplY3RUeXBlTmFtZSwKICAgICAgICBGaWVsZFR5cGVOYW1lICA9PiAkRmllbGRUeXBlTmFtZSwKICAgICAgICBOYW1lc3BhY2UgICAgICA9PiAkTmFtZXNwYWNlLAogICAgKTsKfQoKc3ViIF9BZGRBY3Rpb24gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlRXJyb3JzOwogICAgbXkgJUdldFBhcmFtOwoKICAgIG15ICRQYXJhbU9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoTmFtZSBMYWJlbCBGaWVsZE9yZGVyKSkgewogICAgICAgICRHZXRQYXJhbXskTmVlZGVkfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3InIH0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3sgJE5lZWRlZCAuICdTZXJ2ZXJFcnJvck1lc3NhZ2UnIH0gPSBUcmFuc2xhdGFibGUoJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJyk7CiAgICAgICAgfQogICAgfQoKICAgIG15ICREeW5hbWljRmllbGRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkJyk7CgogICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gKSB7CgogICAgICAgICMgQ2hlY2sgaWYgZmllbGQgb3JkZXIgaXMgbnVtZXJpYyBhbmQgcG9zaXRpdmUuCiAgICAgICAgaWYgKCAkR2V0UGFyYW17RmllbGRPcmRlcn0gIX4gbXtcQSAoPzogXGQgKSsgXHp9eG1zICkgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze0ZpZWxkT3JkZXJTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tGaWVsZE9yZGVyU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlIGZpZWxkIG11c3QgYmUgbnVtZXJpYy4nKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRDb25maWdQYXJhbSAoCiAgICAgICAgcXcoCiAgICAgICAgICAgIE9iamVjdFR5cGUgT2JqZWN0VHlwZU5hbWUgRmllbGRUeXBlIEZpZWxkVHlwZU5hbWUgVmFsaWRJRCBMaW5rIExpbmtQcmV2aWV3IERCVHlwZSBTZXJ2ZXIgUG9ydAogICAgICAgICAgICBEQk5hbWUgREJUYWJsZSBVc2VyIFBhc3N3b3JkIElkZW50aWZpZXIgTXVsdGlzZWxlY3QgQ2FjaGVUVEwgU2VhcmNocHJlZml4IFNlYXJjaHN1ZmZpeAogICAgICAgICAgICBTSUQgRHJpdmVyIFJlc3VsdExpbWl0IENhc2VTZW5zaXRpdmUgVG9vbHRpcCBNdWx0aVZhbHVlIE5hbWVzcGFjZQogICAgICAgICkKICAgICAgICApCiAgICB7CiAgICAgICAgJEdldFBhcmFteyRDb25maWdQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkQ29uZmlnUGFyYW0gKTsKICAgIH0KCiAgICBmb3IgbXkgJEZpbHRlclBhcmFtIChxdyhPYmplY3RUeXBlRmlsdGVyIE5hbWVzcGFjZUZpbHRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JEZpbHRlclBhcmFtfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRGaWx0ZXJQYXJhbSApOwogICAgfQoKICAgIGlmICggJEdldFBhcmFte05hbWV9ICkgewoKICAgICAgICAjIENoZWNrIGlmIG5hbWUgaXMgYWxwaGFudW1lcmljLgogICAgICAgIGlmICggJEdldFBhcmFte05hbWV9ICF+IG17XEEgKD86IFthLXpBLVpdIHwgXGQgKSsgXHp9eG1zICkgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvck1lc3NhZ2V9ID0KICAgICAgICAgICAgICAgIFRyYW5zbGF0YWJsZSgnVGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gb25seSBBU0NJSSBsZXR0ZXJzIGFuZCBudW1iZXJzLicpOwogICAgICAgIH0KCiAgICAgICAgJEdldFBhcmFte05hbWV9ID0gJEdldFBhcmFte05hbWVzcGFjZX0gPyAkR2V0UGFyYW17TmFtZXNwYWNlfSAuICctJyAuICRHZXRQYXJhbXtOYW1lfSA6ICRHZXRQYXJhbXtOYW1lfTsKCiAgICAgICAgIyBDaGVjayBpZiBuYW1lIGlzIGR1cGxpY2F0ZWQuCiAgICAgICAgbXkgJUR5bmFtaWNGaWVsZHNMaXN0ID0gJXsKICAgICAgICAgICAgJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkTGlzdCgKICAgICAgICAgICAgICAgIFZhbGlkICAgICAgPT4gMCwKICAgICAgICAgICAgICAgIFJlc3VsdFR5cGUgPT4gJ0hBU0gnLAogICAgICAgICAgICApCiAgICAgICAgfTsKCiAgICAgICAgJUR5bmFtaWNGaWVsZHNMaXN0ID0gcmV2ZXJzZSAlRHluYW1pY0ZpZWxkc0xpc3Q7CgogICAgICAgIGlmICggJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSApIHsKCiAgICAgICAgICAgICMgQWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcy4KICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3J9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7TmFtZVNlcnZlckVycm9yTWVzc2FnZX0gPSBUcmFuc2xhdGFibGUoJ1RoZXJlIGlzIGFub3RoZXIgZmllbGQgd2l0aCB0aGUgc2FtZSBuYW1lLicpOwogICAgICAgIH0KICAgIH0KCiAgICAjIFByZXBhcmUgdGhlIG11bHRpc2VsZWN0IGFuZCBjYXNlLXNlbnNpdGl2ZSBwYXJhbWV0ZXJzLgogICAgaWYgKCBkZWZpbmVkICRHZXRQYXJhbXtNdWx0aXNlbGVjdH0gKSB7CiAgICAgICAgJEdldFBhcmFte011bHRpc2VsZWN0fSA9ICdjaGVja2VkJzsKICAgICAgICAkR2V0UGFyYW17TXVsdGlWYWx1ZX0gID0gMDsKICAgIH0KCiAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte0Nhc2VTZW5zaXRpdmV9ICkgewogICAgICAgICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSA9ICdjaGVja2VkICc7CiAgICB9CgogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiAgICAjIFVuY29ycmVjdGFibGUgZXJyb3JzLgogICAgaWYgKCAhJEdldFBhcmFte1ZhbGlkSUR9ICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiBUcmFuc2xhdGFibGUoJ05lZWQgVmFsaWRJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFBvc3NpYmxlVmFsdWVzID0gJFNlbGYtPl9HZXRQb3NzaWJsZVZhbHVlcygpOwoKICAgICMgUmV0dXJuIHRvIGFkZCBzY3JlZW4gaWYgZXJyb3JzLgogICAgaWYgKCVFcnJvcnMpIHsKICAgICAgICByZXR1cm4gJFNlbGYtPl9TaG93U2NyZWVuKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICVFcnJvcnMsCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgUG9zc2libGVWYWx1ZXMgPT4gJFBvc3NpYmxlVmFsdWVzLAogICAgICAgICAgICBNb2RlICAgICAgICAgICA9PiAnQWRkJywKICAgICAgICApOwogICAgfQoKICAgICMgU2V0IHNwZWNpZmljIGNvbmZpZy4KICAgIG15ICRGaWVsZENvbmZpZyA9IHsKICAgICAgICBQb3NzaWJsZVZhbHVlcyA9PiAkUG9zc2libGVWYWx1ZXMsCiAgICAgICAgTGluayAgICAgICAgICAgPT4gJEdldFBhcmFte0xpbmt9LAogICAgICAgIExpbmtQcmV2aWV3ICAgID0+ICRHZXRQYXJhbXtMaW5rUHJldmlld30sCiAgICAgICAgREJUeXBlICAgICAgICAgPT4gJEdldFBhcmFte0RCVHlwZX0sCiAgICAgICAgU0lEICAgICAgICAgICAgPT4gJEdldFBhcmFte1NJRH0sCiAgICAgICAgRHJpdmVyICAgICAgICAgPT4gJEdldFBhcmFte0RyaXZlcn0sCiAgICAgICAgU2VydmVyICAgICAgICAgPT4gJEdldFBhcmFte1NlcnZlcn0sCiAgICAgICAgUG9ydCAgICAgICAgICAgPT4gJEdldFBhcmFte1BvcnR9LAogICAgICAgIERCTmFtZSAgICAgICAgID0+ICRHZXRQYXJhbXtEQk5hbWV9LAogICAgICAgIERCVGFibGUgICAgICAgID0+ICRHZXRQYXJhbXtEQlRhYmxlfSwKICAgICAgICBVc2VyICAgICAgICAgICA9PiAkR2V0UGFyYW17VXNlcn0sCiAgICAgICAgUGFzc3dvcmQgICAgICAgPT4gJEdldFBhcmFte1Bhc3N3b3JkfSwKICAgICAgICBJZGVudGlmaWVyICAgICA9PiAkR2V0UGFyYW17SWRlbnRpZmllcn0sCiAgICAgICAgQ2FjaGVUVEwgICAgICAgPT4gJEdldFBhcmFte0NhY2hlVFRMfSB8fCAwLAogICAgICAgIE11bHRpc2VsZWN0ICAgID0+ICRHZXRQYXJhbXtNdWx0aXNlbGVjdH0sCiAgICAgICAgU2VhcmNocHJlZml4ICAgPT4gJEdldFBhcmFte1NlYXJjaHByZWZpeH0sCiAgICAgICAgU2VhcmNoc3VmZml4ICAgPT4gJEdldFBhcmFte1NlYXJjaHN1ZmZpeH0sCiAgICAgICAgUmVzdWx0TGltaXQgICAgPT4gJEdldFBhcmFte1Jlc3VsdExpbWl0fSwKICAgICAgICBDYXNlU2Vuc2l0aXZlICA9PiAkR2V0UGFyYW17Q2FzZVNlbnNpdGl2ZX0sCiAgICAgICAgVG9vbHRpcCAgICAgICAgPT4gJEdldFBhcmFte1Rvb2x0aXB9LAogICAgICAgIE11bHRpVmFsdWUgICAgID0+ICRHZXRQYXJhbXtNdWx0aVZhbHVlfQogICAgfTsKCiAgICAjIENyZWF0ZSBhIG5ldyBmaWVsZC4KICAgIG15ICRGaWVsZElEID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkQWRkKAogICAgICAgIE5hbWUgICAgICAgPT4gJEdldFBhcmFte05hbWV9LAogICAgICAgIExhYmVsICAgICAgPT4gJEdldFBhcmFte0xhYmVsfSwKICAgICAgICBGaWVsZE9yZGVyID0+ICRHZXRQYXJhbXtGaWVsZE9yZGVyfSwKICAgICAgICBGaWVsZFR5cGUgID0+ICRHZXRQYXJhbXtGaWVsZFR5cGV9LAogICAgICAgIE9iamVjdFR5cGUgPT4gJEdldFBhcmFte09iamVjdFR5cGV9LAogICAgICAgIENvbmZpZyAgICAgPT4gJEZpZWxkQ29uZmlnLAogICAgICAgIFZhbGlkSUQgICAgPT4gJEdldFBhcmFte1ZhbGlkSUR9LAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICBpZiAoICEkRmllbGRJRCApIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdDb3VsZCBub3QgY3JlYXRlIHRoZSBuZXcgZmllbGQnKSwKICAgICAgICApOwogICAgfQoKICAgIG15ICRSZWRpcmVjdFN0cmluZyA9ICJBY3Rpb249QWRtaW5EeW5hbWljRmllbGQiOwoKICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJEdldFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJFJlZGlyZWN0U3RyaW5nIC49ICI7T2JqZWN0VHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJFJlZGlyZWN0U3RyaW5nIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlID0+ICdbJSBEYXRhLkZpbHRlciB8IHVyaSAlXScsCiAgICAgICAgICAgIERhdGEgICAgID0+IHsKICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkR2V0UGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCggT1AgPT4gJFJlZGlyZWN0U3RyaW5nICk7Cn0KCnN1YiBfQ2hhbmdlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFBhcmFtT2JqZWN0ICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpXZWI6OlJlcXVlc3QnKTsKICAgIG15ICRMYXlvdXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6Ok91dHB1dDo6SFRNTDo6TGF5b3V0Jyk7CgogICAgbXkgJUdldFBhcmFtOwogICAgZm9yIG15ICROZWVkZWQgKHF3KE9iamVjdFR5cGUgRmllbGRUeXBlKSkgewogICAgICAgICRHZXRQYXJhbXskTmVlZGVkfSA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICROZWVkZWQgKTsKICAgICAgICBpZiAoICEkR2V0UGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnTmVlZCAlcycsICROZWVkZWQgKSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICAjIEdldCB0aGUgb2JqZWN0IHR5cGUgYW5kIGZpZWxkIHR5cGUgZGlzcGxheSBuYW1lLgogICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgbXkgJE9iamVjdFR5cGVOYW1lID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGRzOjpPYmplY3RUeXBlJyktPnsgJEdldFBhcmFte09iamVjdFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gfHwgJyc7CiAgICBteSAkRmllbGRUeXBlTmFtZSAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZHM6OkRyaXZlcicpLT57ICRHZXRQYXJhbXtGaWVsZFR5cGV9IH0tPntEaXNwbGF5TmFtZX0gICAgICB8fCAnJzsKCiAgICBteSAkRmllbGRJRCA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdJRCcgKTsKCiAgICBpZiAoICEkRmllbGRJRCApIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkIElEJyksCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkRGF0YSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKS0+RHluYW1pY0ZpZWxkR2V0KAogICAgICAgIElEID0+ICRGaWVsZElELAogICAgKTsKCiAgICAjIENoZWNrIGZvciB2YWxpZCBkeW5hbWljIGZpZWxkIGNvbmZpZ3VyYXRpb24uCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkRGF0YSkgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoICdDb3VsZCBub3QgZ2V0IGRhdGEgZm9yIGR5bmFtaWMgZmllbGQgJXMnLCAkRmllbGRJRCApLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJUNvbmZpZyA9ICgpOwoKICAgICMgRXh0cmFjdCBjb25maWd1cmF0aW9uLgogICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSggJER5bmFtaWNGaWVsZERhdGEtPntDb25maWd9ICkgKSB7CiAgICAgICAgJUNvbmZpZyA9ICV7ICREeW5hbWljRmllbGREYXRhLT57Q29uZmlnfSB9OwogICAgfQoKICAgIHJldHVybiAkU2VsZi0+X1Nob3dTY3JlZW4oCiAgICAgICAgJVBhcmFtLAogICAgICAgICVHZXRQYXJhbSwKICAgICAgICAlJHtEeW5hbWljRmllbGREYXRhfSwKICAgICAgICAlQ29uZmlnLAogICAgICAgIElEICAgICAgICAgICAgID0+ICRGaWVsZElELAogICAgICAgIE1vZGUgICAgICAgICAgID0+ICdDaGFuZ2UnLAogICAgICAgIE9iamVjdFR5cGVOYW1lID0+ICRPYmplY3RUeXBlTmFtZSwKICAgICAgICBGaWVsZFR5cGVOYW1lICA9PiAkRmllbGRUeXBlTmFtZSwKICAgICk7Cn0KCnN1YiBfQ2hhbmdlQWN0aW9uIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJUVycm9yczsKICAgIG15ICVHZXRQYXJhbTsKCiAgICBteSAkUGFyYW1PYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0Jyk7CgogICAgZm9yIG15ICROZWVkZWQgKHF3KE5hbWUgTGFiZWwgRmllbGRPcmRlcikpIHsKICAgICAgICAkR2V0UGFyYW17JE5lZWRlZH0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkTmVlZGVkICk7CiAgICAgICAgaWYgKCAhJEdldFBhcmFteyROZWVkZWR9ICkgewogICAgICAgICAgICAkRXJyb3JzeyAkTmVlZGVkIC4gJ1NlcnZlckVycm9yJyB9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7ICROZWVkZWQgLiAnU2VydmVyRXJyb3JNZXNzYWdlJyB9ID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLicpOwogICAgICAgIH0KICAgIH0KCiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgIG15ICRGaWVsZElEID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0lEJyApOwogICAgaWYgKCAhJEZpZWxkSUQgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+IFRyYW5zbGF0YWJsZSgnTmVlZCBJRCcpLAogICAgICAgICk7CiAgICB9CgogICAgbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKCiAgICBteSAkRHluYW1pY0ZpZWxkRGF0YSA9ICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBJRCA9PiAkRmllbGRJRCwKICAgICk7CgogICAgIyBDaGVjayBmb3IgdmFsaWQgZHluYW1pYyBmaWVsZCBjb25maWd1cmF0aW9uLgogICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZERhdGEpICkgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PgogICAgICAgICAgICAgICAgJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCAnQ291bGQgbm90IGdldCBkYXRhIGZvciBkeW5hbWljIGZpZWxkICVzJywgJEZpZWxkSUQgKSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICkgewoKICAgICAgICAjIENoZWNrIGlmIGZpZWxkIG9yZGVyIGlzIG51bWVyaWMgYW5kIHBvc2l0aXZlLgogICAgICAgIGlmICggJEdldFBhcmFte0ZpZWxkT3JkZXJ9ICF+IG17XEEgKD86IFxkICkrIFx6fXhtcyApIHsKCiAgICAgICAgICAgICMgQWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcy4KICAgICAgICAgICAgJEVycm9yc3tGaWVsZE9yZGVyU2VydmVyRXJyb3J9ICAgICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICRFcnJvcnN7RmllbGRPcmRlclNlcnZlckVycm9yTWVzc2FnZX0gPSBUcmFuc2xhdGFibGUoJ1RoZSBmaWVsZCBtdXN0IGJlIG51bWVyaWMuJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZvciBteSAkQ29uZmlnUGFyYW0gKAogICAgICAgIHF3KAogICAgICAgICAgICBPYmplY3RUeXBlIE9iamVjdFR5cGVOYW1lIEZpZWxkVHlwZSBGaWVsZFR5cGVOYW1lIFZhbGlkSUQgTGluayBMaW5rUHJldmlldyBEQlR5cGUgU2VydmVyIFBvcnQKICAgICAgICAgICAgREJOYW1lIERCVGFibGUgVXNlciBQYXNzd29yZCBJZGVudGlmaWVyIE11bHRpc2VsZWN0IENhY2hlVFRMIFNlYXJjaHByZWZpeCBTZWFyY2hzdWZmaXgKICAgICAgICAgICAgU0lEIERyaXZlciBSZXN1bHRMaW1pdCBDYXNlU2Vuc2l0aXZlIFRvb2x0aXAgTXVsdGlWYWx1ZSBOYW1lc3BhY2UKICAgICAgICApCiAgICAgICAgKQogICAgewogICAgICAgICRHZXRQYXJhbXskQ29uZmlnUGFyYW19ID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJENvbmZpZ1BhcmFtICk7CiAgICB9CgogICAgZm9yIG15ICRGaWx0ZXJQYXJhbSAocXcoT2JqZWN0VHlwZUZpbHRlciBOYW1lc3BhY2VGaWx0ZXIpKSB7CiAgICAgICAgJEdldFBhcmFteyRGaWx0ZXJQYXJhbX0gPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkRmlsdGVyUGFyYW0gKTsKICAgIH0KCiAgICBpZiAoICRHZXRQYXJhbXtOYW1lfSApIHsKCiAgICAgICAgIyBDaGVjayBpZiBuYW1lIGlzIGxvd2VyY2FzZS4KICAgICAgICBpZiAoICRHZXRQYXJhbXtOYW1lfSAhfiBte1xBICg/OiBbYS16QS1aXSB8IFxkICkrIFx6fXhtcyApIHsKCiAgICAgICAgICAgICMgQWRkIHNlcnZlciBlcnJvciBlcnJvciBjbGFzcy4KICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3J9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9CiAgICAgICAgICAgICAgICBUcmFuc2xhdGFibGUoJ1RoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIG9ubHkgQVNDSUkgbGV0dGVycyBhbmQgbnVtYmVycy4nKTsKICAgICAgICB9CgogICAgICAgICRHZXRQYXJhbXtOYW1lfSA9ICRHZXRQYXJhbXtOYW1lc3BhY2V9ID8gJEdldFBhcmFte05hbWVzcGFjZX0gLiAnLScgLiAkR2V0UGFyYW17TmFtZX0gOiAkR2V0UGFyYW17TmFtZX07CgogICAgICAgICMgQ2hlY2sgaWYgbmFtZSBpcyBkdXBsaWNhdGVkLgogICAgICAgIG15ICVEeW5hbWljRmllbGRzTGlzdCA9ICV7CiAgICAgICAgICAgICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZExpc3QoCiAgICAgICAgICAgICAgICBWYWxpZCAgICAgID0+IDAsCiAgICAgICAgICAgICAgICBSZXN1bHRUeXBlID0+ICdIQVNIJywKICAgICAgICAgICAgKQogICAgICAgIH07CgogICAgICAgICVEeW5hbWljRmllbGRzTGlzdCA9IHJldmVyc2UgJUR5bmFtaWNGaWVsZHNMaXN0OwoKICAgICAgICBpZiAoCiAgICAgICAgICAgICREeW5hbWljRmllbGRzTGlzdHsgJEdldFBhcmFte05hbWV9IH0gJiYKICAgICAgICAgICAgJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSBuZSAkRmllbGRJRAogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlcmUgaXMgYW5vdGhlciBmaWVsZCB3aXRoIHRoZSBzYW1lIG5hbWUuJyk7CiAgICAgICAgfQoKICAgICAgICAjIElmIGl0J3MgYW4gaW50ZXJuYWwgZmllbGQsIGl0J3MgbmFtZSBzaG91bGQgbm90IGNoYW5nZS4KICAgICAgICBpZiAoCiAgICAgICAgICAgICREeW5hbWljRmllbGREYXRhLT57SW50ZXJuYWxGaWVsZH0gJiYKICAgICAgICAgICAgJER5bmFtaWNGaWVsZHNMaXN0eyAkR2V0UGFyYW17TmFtZX0gfSBuZSAkRmllbGRJRAogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBBZGQgc2VydmVyIGVycm9yIGNsYXNzLgogICAgICAgICAgICAkRXJyb3Jze05hbWVTZXJ2ZXJFcnJvcn0gICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tOYW1lU2VydmVyRXJyb3JNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhlIG5hbWUgZm9yIHRoaXMgZmllbGQgc2hvdWxkIG5vdCBjaGFuZ2UuJyk7CiAgICAgICAgICAgICRQYXJhbXtJbnRlcm5hbEZpZWxkfSAgICAgICAgICAgPSAkRHluYW1pY0ZpZWxkRGF0YS0+e0ludGVybmFsRmllbGR9OwogICAgICAgIH0KICAgIH0KCiAgICAjIFByZXBhcmUgdGhlIG11bHRpc2VsZWN0IGFuZCBjYXNlLXNlbnNpdGl2ZSBwYXJhbWV0ZXJzLgogICAgaWYgKCBkZWZpbmVkICRHZXRQYXJhbXtNdWx0aXNlbGVjdH0gKSB7CiAgICAgICAgJEdldFBhcmFte011bHRpc2VsZWN0fSA9ICdjaGVja2VkJzsKICAgICAgICAkR2V0UGFyYW17TXVsdGlWYWx1ZX0gID0gMDsKICAgIH0KCiAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte0Nhc2VTZW5zaXRpdmV9ICkgewogICAgICAgICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSA9ICdjaGVja2VkICc7CiAgICB9CgogICAgIyBVbmNvcnJlY3RhYmxlIGVycm9ycy4KICAgIGlmICggISRHZXRQYXJhbXtWYWxpZElEfSApIHsKICAgICAgICByZXR1cm4gJExheW91dE9iamVjdC0+RXJyb3JTY3JlZW4oCiAgICAgICAgICAgIE1lc3NhZ2UgPT4gVHJhbnNsYXRhYmxlKCdOZWVkIFZhbGlkSUQnKSwKICAgICAgICApOwogICAgfQoKICAgIG15ICRQb3NzaWJsZVZhbHVlcyA9ICRTZWxmLT5fR2V0UG9zc2libGVWYWx1ZXMoKTsKCiAgICAjIENoZWNrIGlmIGR5bmFtaWMgZmllbGQgaXMgcHJlc2VudCBpbiBTeXNDb25maWcgc2V0dGluZy4KICAgIG15ICRVcGRhdGVFbnRpdHkgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVXBkYXRlRW50aXR5JyApIHx8ICcnOwogICAgbXkgQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWc7CgogICAgbXkgJFN5c0NvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpTeXNDb25maWcnKTsKCiAgICBASXNEeW5hbWljRmllbGRJblN5c0NvbmZpZyA9ICRTeXNDb25maWdPYmplY3QtPkNvbmZpZ3VyYXRpb25FbnRpdHlDaGVjaygKICAgICAgICBFbnRpdHlUeXBlID0+ICdEeW5hbWljRmllbGQnLAogICAgICAgIEVudGl0eU5hbWUgPT4gJER5bmFtaWNGaWVsZERhdGEtPntOYW1lfSwKICAgICk7CiAgICBpZiAoQElzRHluYW1pY0ZpZWxkSW5TeXNDb25maWcpIHsKCiAgICAgICAgIyBBbiBlbnRpdHkgcHJlc2VudCBpbiBTeXNDb25maWcgY291bGRuJ3QgYmUgaW52YWxpZGF0ZWQuCiAgICAgICAgaWYgKAogICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VmFsaWQnKS0+VmFsaWRMb29rdXAoIFZhbGlkSUQgPT4gJEdldFBhcmFte1ZhbGlkSUR9ICkKICAgICAgICAgICAgbmUgJ3ZhbGlkJwogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkRXJyb3Jze1ZhbGlkSURJbnZhbGlkfSAgICAgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgJEVycm9yc3tWYWxpZE9wdGlvblNlcnZlckVycm9yfSA9ICdJblNldHRpbmcnOwogICAgICAgIH0KCiAgICAgICAgIyBJbiBjYXNlIGNoYW5naW5nIG5hbWUgYW4gYXV0aG9yaXphdGlvbiAoVXBkYXRlRW50aXR5KSBzaG91bGQgYmUgc2VuZC4KICAgICAgICBlbHNpZiAoICREeW5hbWljRmllbGREYXRhLT57TmFtZX0gbmUgJEdldFBhcmFte05hbWV9ICYmICEkVXBkYXRlRW50aXR5ICkgewogICAgICAgICAgICAkRXJyb3Jze05hbWVJbnZhbGlkfSAgICAgICAgICAgICAgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAkRXJyb3Jze0luU2V0dGluZ05hbWVTZXJ2ZXJFcnJvcn0gPSAxOwogICAgICAgIH0KICAgIH0KCiAgICAjIFJldHVybiB0byBjaGFuZ2Ugc2NyZWVuIGlmIGVycm9ycy4KICAgIGlmICglRXJyb3JzKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT5fU2hvd1NjcmVlbigKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAlRXJyb3JzLAogICAgICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICAgICAgSUQgICAgICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgICAgIE1vZGUgICAgICAgICAgID0+ICdDaGFuZ2UnLAogICAgICAgICk7CiAgICB9CgogICAgIyBTZXQgc3BlY2lmaWMgY29uZmlnLgogICAgbXkgJEZpZWxkQ29uZmlnID0gewogICAgICAgIFBvc3NpYmxlVmFsdWVzID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICBMaW5rICAgICAgICAgICA9PiAkR2V0UGFyYW17TGlua30sCiAgICAgICAgTGlua1ByZXZpZXcgICAgPT4gJEdldFBhcmFte0xpbmtQcmV2aWV3fSwKICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkR2V0UGFyYW17REJUeXBlfSwKICAgICAgICBTSUQgICAgICAgICAgICA9PiAkR2V0UGFyYW17U0lEfSwKICAgICAgICBEcml2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17RHJpdmVyfSwKICAgICAgICBTZXJ2ZXIgICAgICAgICA9PiAkR2V0UGFyYW17U2VydmVyfSwKICAgICAgICBQb3J0ICAgICAgICAgICA9PiAkR2V0UGFyYW17UG9ydH0sCiAgICAgICAgREJOYW1lICAgICAgICAgPT4gJEdldFBhcmFte0RCTmFtZX0sCiAgICAgICAgREJUYWJsZSAgICAgICAgPT4gJEdldFBhcmFte0RCVGFibGV9LAogICAgICAgIFVzZXIgICAgICAgICAgID0+ICRHZXRQYXJhbXtVc2VyfSwKICAgICAgICBQYXNzd29yZCAgICAgICA9PiAkR2V0UGFyYW17UGFzc3dvcmR9LAogICAgICAgIElkZW50aWZpZXIgICAgID0+ICRHZXRQYXJhbXtJZGVudGlmaWVyfSwKICAgICAgICBDYWNoZVRUTCAgICAgICA9PiAkR2V0UGFyYW17Q2FjaGVUVEx9IHx8IDAsCiAgICAgICAgTXVsdGlzZWxlY3QgICAgPT4gJEdldFBhcmFte011bHRpc2VsZWN0fSwKICAgICAgICBTZWFyY2hwcmVmaXggICA9PiAkR2V0UGFyYW17U2VhcmNocHJlZml4fSwKICAgICAgICBTZWFyY2hzdWZmaXggICA9PiAkR2V0UGFyYW17U2VhcmNoc3VmZml4fSwKICAgICAgICBSZXN1bHRMaW1pdCAgICA9PiAkR2V0UGFyYW17UmVzdWx0TGltaXR9LAogICAgICAgIENhc2VTZW5zaXRpdmUgID0+ICRHZXRQYXJhbXtDYXNlU2Vuc2l0aXZlfSwKICAgICAgICBUb29sdGlwICAgICAgICA9PiAkR2V0UGFyYW17VG9vbHRpcH0sCiAgICAgICAgTXVsdGlWYWx1ZSAgICAgPT4gJEdldFBhcmFte011bHRpVmFsdWV9LAogICAgfTsKCiAgICAjIFVwZGF0ZSBkeW5hbWljIGZpZWxkIChGaWVsZFR5cGUgYW5kIE9iamVjdFR5cGUgY2Fubm90IGJlIGNoYW5nZWQ7IHVzZSBvbGQgdmFsdWVzKS4KICAgIG15ICRVcGRhdGVTdWNjZXNzID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkVXBkYXRlKAogICAgICAgIElEICAgICAgICAgPT4gJEZpZWxkSUQsCiAgICAgICAgTmFtZSAgICAgICA9PiAkR2V0UGFyYW17TmFtZX0sCiAgICAgICAgTGFiZWwgICAgICA9PiAkR2V0UGFyYW17TGFiZWx9LAogICAgICAgIEZpZWxkT3JkZXIgPT4gJEdldFBhcmFte0ZpZWxkT3JkZXJ9LAogICAgICAgIEZpZWxkVHlwZSAgPT4gJER5bmFtaWNGaWVsZERhdGEtPntGaWVsZFR5cGV9LAogICAgICAgIE9iamVjdFR5cGUgPT4gJER5bmFtaWNGaWVsZERhdGEtPntPYmplY3RUeXBlfSwKICAgICAgICBDb25maWcgICAgID0+ICRGaWVsZENvbmZpZywKICAgICAgICBWYWxpZElEICAgID0+ICRHZXRQYXJhbXtWYWxpZElEfSwKICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICk7CgogICAgaWYgKCAhJFVwZGF0ZVN1Y2Nlc3MgKSB7CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSggJ0NvdWxkIG5vdCB1cGRhdGUgdGhlIGZpZWxkICVzJywgJEdldFBhcmFte05hbWV9ICksCiAgICAgICAgKTsKICAgIH0KCiAgICAjIENsZWFudXAgdGhlIGNhY2hlLgogICAgJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkNhY2hlJyktPkNsZWFuVXAoCiAgICAgICAgVHlwZSA9PiAnRHluYW1pY0ZpZWxkREInLAogICAgKTsKCiAgICBteSAkRmlsdGVyU3RyaW5nID0gJyc7CgogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkR2V0UGFyYW17T2JqZWN0VHlwZUZpbHRlcn0gKSApIHsKICAgICAgICAkRmlsdGVyU3RyaW5nIC49ICI7T2JqZWN0VHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRHZXRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgJEZpbHRlclN0cmluZyAuPSAiO05hbWVzcGFjZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJEdldFBhcmFte05hbWVzcGFjZUZpbHRlcn0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIElmIHRoZSB1c2VyIHdvdWxkIGxpa2UgdG8gY29udGludWUgZWRpdGluZyB0aGUgZHluYW1pYyBmaWVsZCwganVzdCByZWRpcmVjdCB0byB0aGUgY2hhbmdlIHNjcmVlbi4KICAgIGlmICgKICAgICAgICBkZWZpbmVkICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICdDb250aW51ZUFmdGVyU2F2ZScgKQogICAgICAgICYmICggJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0NvbnRpbnVlQWZ0ZXJTYXZlJyApIGVxICcxJyApCiAgICAgICAgKQogICAgewogICAgICAgIHJldHVybiAkTGF5b3V0T2JqZWN0LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4KICAgICAgICAgICAgICAgICJBY3Rpb249JFNlbGYtPntBY3Rpb259O1N1YmFjdGlvbj1DaGFuZ2U7T2JqZWN0VHlwZT0kRHluYW1pY0ZpZWxkRGF0YS0+e09iamVjdFR5cGV9O0ZpZWxkVHlwZT0kRHluYW1pY0ZpZWxkRGF0YS0+e0ZpZWxkVHlwZX07SUQ9JEZpZWxkSUQkRmlsdGVyU3RyaW5nIgogICAgICAgICk7CiAgICB9CiAgICBlbHNlIHsKCiAgICAgICAgIyBvdGhlcndpc2UgcmV0dXJuIHRvIG92ZXJ2aWV3CiAgICAgICAgcmV0dXJuICRMYXlvdXRPYmplY3QtPlJlZGlyZWN0KCBPUCA9PiAiQWN0aW9uPUFkbWluRHluYW1pY0ZpZWxkJEZpbHRlclN0cmluZyIgKTsKICAgIH0KfQoKc3ViIF9TaG93U2NyZWVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgJFBhcmFte05hbWV9IC8vPSAnJzsKCiAgICBteSAkTmFtZXNwYWNlID0gJFBhcmFte05hbWVzcGFjZX07CiAgICAkUGFyYW17RGlzcGxheUZpZWxkTmFtZX0gPSAnTmV3JzsKCiAgICBpZiAoICRQYXJhbXtNb2RlfSBlcSAnQ2hhbmdlJyB8fCAkUGFyYW17TmFtZX0gKSB7CgogICAgICAgIGlmICggISRQYXJhbXtDbG9uZUZpZWxkSUR9ICkgewogICAgICAgICAgICAkUGFyYW17U2hvd1dhcm5pbmd9ICAgICAgPSAnU2hvd1dhcm5pbmcnOwogICAgICAgICAgICAkUGFyYW17RGlzcGxheUZpZWxkTmFtZX0gPSAkUGFyYW17TmFtZX07CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGZvciBuYW1lc3BhY2UKICAgICAgICBpZiAoICRQYXJhbXtOYW1lfSA9fiAvKC4qKS0oLiopLyApIHsKICAgICAgICAgICAgJE5hbWVzcGFjZSA9ICQxOwogICAgICAgICAgICAkUGFyYW17UGxhaW5GaWVsZE5hbWV9ID0gJDIgdW5sZXNzICRQYXJhbXtDbG9uZUZpZWxkSUR9OwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFBhcmFte1BsYWluRmllbGROYW1lfSA9ICRQYXJhbXtOYW1lfTsKICAgICAgICB9CiAgICB9CgogICAgJFBhcmFte0RlbGV0ZWRTdHJpbmd9ID0gJFNlbGYtPntEZWxldGVkU3RyaW5nfTsKCiAgICBteSAkTGF5b3V0T2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkxheW91dCcpOwoKICAgIG15ICRPdXRwdXQgPSAkTGF5b3V0T2JqZWN0LT5IZWFkZXIoKTsKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+TmF2aWdhdGlvbkJhcigpOwoKICAgICMgR2V0IGFsbCBmaWVsZHMuCiAgICBteSAkRHluYW1pY0ZpZWxkT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpOwogICAgbXkgJER5bmFtaWNGaWVsZExpc3QgICA9ICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZExpc3RHZXQoCiAgICAgICAgVmFsaWQgPT4gMCwKICAgICk7CgogICAgIyBHZXQgdGhlIGxpc3Qgb2Ygb3JkZXIgbnVtYmVycyAoaXMgYWxyZWFkeSBzb3J0ZWQpLgogICAgbXkgQER5bmFtaWNmaWVsZE9yZGVyTGlzdDsKICAgIG15ICVEeW5hbWljZmllbGROYW1lc0xpc3Q7CiAgICBmb3IgbXkgJER5bmFtaWNmaWVsZCAoIEB7JER5bmFtaWNGaWVsZExpc3R9ICkgewogICAgICAgIHB1c2ggQER5bmFtaWNmaWVsZE9yZGVyTGlzdCwgJER5bmFtaWNmaWVsZC0+e0ZpZWxkT3JkZXJ9OwogICAgICAgICREeW5hbWljZmllbGROYW1lc0xpc3R7ICREeW5hbWljZmllbGQtPntGaWVsZE9yZGVyfSB9ID0gJER5bmFtaWNmaWVsZC0+e0xhYmVsfTsKICAgIH0KCiAgICAjIFdoZW4gYWRkaW5nIHdlIG5lZWQgdG8gY3JlYXRlIGFuIGV4dHJhIG9yZGVyIG51bWJlciBmb3IgdGhlIG5ldyBmaWVsZC4KICAgIGlmICggJFBhcmFte01vZGV9IGVxICdBZGQnICkgewoKICAgICAgICAjIEdldCB0aGUgbGFzdCBlbGVtZW50IGZvcm0gdGhlIG9yZGVyIGxpc3QgYW5kIGFkZCAxLgogICAgICAgIG15ICRMYXN0T3JkZXJOdW1iZXIgPSAkRHluYW1pY2ZpZWxkT3JkZXJMaXN0Wy0xXTsKICAgICAgICAkTGFzdE9yZGVyTnVtYmVyKys7CgogICAgICAgICMgQWRkIHRoaXMgbmV3IG9yZGVyIG51bWJlciB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LgogICAgICAgIHB1c2ggQER5bmFtaWNmaWVsZE9yZGVyTGlzdCwgJExhc3RPcmRlck51bWJlcjsKICAgIH0KCiAgICAjIFNob3cgdGhlIG5hbWVzIG9mIHRoZSBvdGhlciBmaWVsZHMgdG8gZWFzZSBvcmRlcmluZy4KICAgIG15ICVPcmRlck5hbWVzTGlzdDsKICAgIG15ICRDdXJyZW50bHlUZXh0ID0gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdDdXJyZW50bHknKSAuICc6ICc7CiAgICBmb3IgbXkgJE9yZGVyTnVtYmVyICggc29ydCBARHluYW1pY2ZpZWxkT3JkZXJMaXN0ICkgewogICAgICAgICRPcmRlck5hbWVzTGlzdHskT3JkZXJOdW1iZXJ9ID0gJE9yZGVyTnVtYmVyOwogICAgICAgIGlmICggJER5bmFtaWNmaWVsZE5hbWVzTGlzdHskT3JkZXJOdW1iZXJ9ICYmICRPcmRlck51bWJlciBuZSAkUGFyYW17RmllbGRPcmRlcn0gKSB7CiAgICAgICAgICAgICRPcmRlck5hbWVzTGlzdHskT3JkZXJOdW1iZXJ9ID0gJE9yZGVyTnVtYmVyIC4gJyAtICcKICAgICAgICAgICAgICAgIC4gJEN1cnJlbnRseVRleHQKICAgICAgICAgICAgICAgIC4gJER5bmFtaWNmaWVsZE5hbWVzTGlzdHskT3JkZXJOdW1iZXJ9OwogICAgICAgIH0KICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkT3JkZXJTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgICA9PiBcJU9yZGVyTmFtZXNMaXN0LAogICAgICAgIE5hbWUgICAgICAgICAgPT4gJ0ZpZWxkT3JkZXInLAogICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gJFBhcmFte0ZpZWxkT3JkZXJ9IHx8IDEsCiAgICAgICAgUG9zc2libGVOb25lICA9PiAwLAogICAgICAgIFRyYW5zbGF0aW9uICAgPT4gMCwKICAgICAgICBTb3J0ICAgICAgICAgID0+ICdOdW1lcmljS2V5JywKICAgICAgICBDbGFzcyAgICAgICAgID0+ICdNb2Rlcm5pemUgVzc1cGMgVmFsaWRhdGVfTnVtYmVyJywKICAgICk7CgogICAgbXkgJE11bHRpVmFsdWVTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgIDAgPT4gVHJhbnNsYXRhYmxlKCdObycpLAogICAgICAgICAgICAxID0+IFRyYW5zbGF0YWJsZSgnWWVzJyksCiAgICAgICAgfSwKICAgICAgICBOYW1lICAgICAgID0+ICdNdWx0aVZhbHVlJywKICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtNdWx0aVZhbHVlfSB8fCAnMCcsCiAgICAgICAgQ2xhc3MgICAgICA9PiAnTW9kZXJuaXplIFc1MHBjJywKICAgICk7CgogICAgIyBCdWlsZCBuYW1lc3BhY2Ugc2VsZWN0aW9uCiAgICBteSBAREZOYW1lc3BhY2VzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok5hbWVzcGFjZScpLT5OYW1lc3BhY2VzTGlzdCgKICAgICAgICBTY29wZSA9PiAnRHluYW1pY0ZpZWxkJywKICAgICk7CiAgICBpZiAoQERGTmFtZXNwYWNlcykgewogICAgICAgIG15ICROYW1lc3BhY2VTdHJnID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICAgPT4gXEBERk5hbWVzcGFjZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gJ05hbWVzcGFjZScsCiAgICAgICAgICAgIFNlbGVjdGVkVmFsdWUgPT4gJE5hbWVzcGFjZSB8fCAnJywKICAgICAgICAgICAgUG9zc2libGVOb25lICA9PiAxLAogICAgICAgICAgICBUcmFuc2xhdGlvbiAgID0+IDAsCiAgICAgICAgICAgIFNvcnQgICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgQ2xhc3MgICAgICAgICA9PiAnTW9kZXJuaXplIFc3NXBjJywKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkTmFtZXNwYWNlJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBOYW1lc3BhY2VTdHJnID0+ICROYW1lc3BhY2VTdHJnLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJVZhbGlkTGlzdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpWYWxpZCcpLT5WYWxpZExpc3QoKTsKCiAgICAjIENyZWF0ZSB0aGUgVmFsaWRpdHkgc2VsZWN0LgogICAgbXkgJFZhbGlkaXR5U3RyZyA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgICA9PiBcJVZhbGlkTGlzdCwKICAgICAgICBOYW1lICAgICAgICAgPT4gJ1ZhbGlkSUQnLAogICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17VmFsaWRJRH0gfHwgMSwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZSBXNTBwYycsCiAgICApOwoKICAgICMgRGVmaW5lIGFzIDAgdG8gZ2V0IHRoZSByZWFsIHZhbHVlIGluIHRoZSBIVE1MLgogICAgbXkgJFZhbHVlQ291bnRlciA9IDA7CgogICAgIyBTZXQgUG9zc2libGVWYWx1ZXMuCiAgICBteSAlUG9zc2libGVWYWx1ZXM7CiAgICBpZiAoIElzSGFzaFJlZldpdGhEYXRhKCAkUGFyYW17UG9zc2libGVWYWx1ZXN9ICkgKSB7CiAgICAgICAgJVBvc3NpYmxlVmFsdWVzID0gJXsgJFBhcmFte1Bvc3NpYmxlVmFsdWVzfSB9OwogICAgfQoKICAgICMgUHJlcGFyZSB0aGUgcG9zc2libGUgdmFsdWVzIGhhc2ggYmFzZWQgb24gdGhlIHNlcXVlbnRpYWwgbnVtYmVyIG9mIGFueSBpdGVtLgogICAgbXkgJFByZXBhcmVkUG9zc2libGVWYWx1ZXMgPSB7fTsKCiAgICBLRVk6CiAgICBmb3IgbXkgJEtleSAoIHNvcnQga2V5cyAlUG9zc2libGVWYWx1ZXMgKSB7CgogICAgICAgIG5leHQgS0VZIGlmICEkS2V5OwoKICAgICAgICBpZiAoICRLZXkgPX4gbS9eXHcrXyhcZCspJC8gKSB7CgogICAgICAgICAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSggJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskMX0gKSApIHsKICAgICAgICAgICAgICAgICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JDF9ID0gewogICAgICAgICAgICAgICAgICAgICIkS2V5IiA9PiAkUG9zc2libGVWYWx1ZXN7JEtleX0sCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskMX0tPnskS2V5fSA9ICRQb3NzaWJsZVZhbHVlc3skS2V5fTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIFByZXBhcmUgdGhlIGF2YWlsYWJsZSBkYXRhLXR5cGVzIGFuZCBmaWx0ZXJzLgogICAgbXkgJURhdGFUeXBlcyA9ICgKICAgICAgICBEQVRFICAgID0+ICdEYXRlJywKICAgICAgICBJTlRFR0VSID0+ICdJbnRlZ2VyJywKICAgICAgICBURVhUICAgID0+ICdUZXh0JywKICAgICk7CgogICAgbXkgJUZpbHRlcnMgPSAoCiAgICAgICAgQ3VzdG9tZXJJRCAgICAgPT4gJ0N1c3RvbWVySUQnLAogICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICdDdXN0b21lclVzZXJJRCcsCiAgICAgICAgVGlja2V0TnVtYmVyICAgPT4gJ1RpY2tldE51bWJlcicsCiAgICAgICAgVGl0bGUgICAgICAgICAgPT4gJ1RpdGxlJywKICAgICAgICBUeXBlICAgICAgICAgICA9PiAnVHlwZScsCiAgICAgICAgVHlwZUlEICAgICAgICAgPT4gJ1R5cGVJRCcsCiAgICAgICAgU2VydmljZSAgICAgICAgPT4gJ1NlcnZpY2UnLAogICAgICAgIFNlcnZpY2VJRCAgICAgID0+ICdTZXJ2aWNlSUQnLAogICAgICAgIE93bmVyICAgICAgICAgID0+ICdPd25lcicsCiAgICAgICAgT3duZXJJRCAgICAgICAgPT4gJ093bmVySUQnLAogICAgICAgIFJlc3BvbnNpYmxlICAgID0+ICdSZXNwb25zaWJsZScsCiAgICAgICAgUmVzcG9uc2libGVJRCAgPT4gJ1Jlc3BvbnNpYmxlSUQnLAogICAgICAgIFF1ZXVlICAgICAgICAgID0+ICdRdWV1ZScsCiAgICAgICAgUXVldWVJRCAgICAgICAgPT4gJ1F1ZXVlSUQnLAogICAgICAgIFByaW9yaXR5ICAgICAgID0+ICdQcmlvcml0eScsCiAgICAgICAgUHJpb3JpdHlJRCAgICAgPT4gJ1ByaW9yaXR5SUQnLAogICAgICAgIFNMQSAgICAgICAgICAgID0+ICdTTEEnLAogICAgICAgIFNMQUlEICAgICAgICAgID0+ICdTTEFJRCcsCiAgICAgICAgU3RhdGUgICAgICAgICAgPT4gJ1N0YXRlJywKICAgICAgICBTdGF0ZUlEICAgICAgICA9PiAnU3RhdGVJRCcsCiAgICAgICAgU3RhdGVUeXBlICAgICAgPT4gJ1N0YXRlVHlwZScsCiAgICApOwoKICAgICMgR2V0IGEgbGlzdCBvZiBhdmFpbGFibGUgZHluYW1pYyBmaWVsZHMgZm9yIHVzZSBhcyBmaWx0ZXJzLgogICAgbXkgJUR5bmFtaWNGaWVsZExpc3QgPSAlewogICAgICAgICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZExpc3QoCiAgICAgICAgICAgIFZhbGlkICAgICAgPT4gMSwKICAgICAgICAgICAgUmVzdWx0VHlwZSA9PiAnSEFTSCcsCiAgICAgICAgKQogICAgfTsKCiAgICAjIEFkZCB0aGUgZHluYW1pYyBmaWVsZHMgdG8gdGhlIGhhc2guCiAgICBEWU5BTUlDRklFTERLRVk6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZEtleSAoIHNvcnQga2V5cyAlRHluYW1pY0ZpZWxkTGlzdCApIHsKCiAgICAgICAgIyBJZ25vcmUgdGhlIG93biBmaWVsZC4KICAgICAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtOYW1lfSApICkgewogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMREtFWSBpZiAkRHluYW1pY0ZpZWxkTGlzdHskRHluYW1pY0ZpZWxkS2V5fSBlcSAkUGFyYW17TmFtZX07CiAgICAgICAgfQoKICAgICAgICBteSAkRHluYW1pY0ZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRMaXN0eyREeW5hbWljRmllbGRLZXl9OwogICAgICAgICRGaWx0ZXJzeyREeW5hbWljRmllbGROYW1lfSA9ICREeW5hbWljRmllbGROYW1lOwogICAgfQoKICAgICMgUHJlcGFyZSB0aGUgaWRlbnRpZmllciBkYXRhIGZvciB0aGUgZHJvcC1kb3duIG1lbnUuCiAgICBteSAlSWRlbnRpZmllckRhdGE7CgogICAgIyBPdXRwdXQgdGhlIHBvc3NpYmxlIHZhbHVlcyBhbmQgZXJyb3JzIHdpdGhpbiAoaWYgYW55KS4KICAgIEtFWToKICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICV7JFByZXBhcmVkUG9zc2libGVWYWx1ZXN9ICkgewoKICAgICAgICBuZXh0IEtFWSBpZiAhJEtleTsKICAgICAgICBuZXh0IEtFWSBpZiAhSXNIYXNoUmVmV2l0aERhdGEoICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JEtleX0gKTsKCiAgICAgICAgJFZhbHVlQ291bnRlcisrOwoKICAgICAgICAjIE5lZWRlZCBmb3Igc2VydmVyIHNpZGUgdmFsaWRhdGlvbi4KICAgICAgICBteSAkS2V5RXJyb3I7CiAgICAgICAgbXkgJEtleUVycm9yU3RyZzsKICAgICAgICBteSAkVmFsdWVFcnJvcjsKCiAgICAgICAgIyBUbyBzZXQgdGhlIGNvcnJlY3Qgb3JpZ2luYWwgdmFsdWUuCiAgICAgICAgbXkgJEtleUNsb25lID0gJEtleTsKCiAgICAgICAgIyBDaGVjayBmb3IgZXJyb3JzLgogICAgICAgIGlmICggJFBhcmFteydQb3NzaWJsZVZhbHVlRXJyb3JzJ30gKSB7CgogICAgICAgICAgICAjIENoZWNrIGZvciBlcnJvcnMgb24gb3JpZ2luYWwgdmFsdWUgKGVtcHR5KS4KICAgICAgICAgICAgaWYgKCAkUGFyYW17J1Bvc3NpYmxlVmFsdWVFcnJvcnMnfS0+eydLZXlFbXB0eUVycm9yJ30tPnskS2V5fSApIHsKCiAgICAgICAgICAgICAgICAjIElmIHRoZSBvcmlnaW5hbCB2YWx1ZSB3YXMgZW1wdHkgaXQgaGFzIGJlZW4gY2hhbmdlZCBpbiBfR2V0UGFyYW1zIHRvIGEgcHJlZGVmaW5lZAogICAgICAgICAgICAgICAgIyAgIHN0cmluZyBhbmQgbmVlZCB0byBiZSBzZXQgdG8gZW1wdHkgYWdhaW4uCiAgICAgICAgICAgICAgICAkS2V5Q2xvbmUgPSAnJzsKCiAgICAgICAgICAgICAgICAjIFNldCB0aGUgZXJyb3IgY2xhc3MuCiAgICAgICAgICAgICAgICAkS2V5RXJyb3IgICAgID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgICRLZXlFcnJvclN0cmcgPSBUcmFuc2xhdGFibGUoJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgY2hlY2sgZm9yIGVycm9ycyBvbiBvcmlnaW5hbCB2YWx1ZSAoZHVwbGljYXRlKQogICAgICAgICAgICBlbHNpZiAoICRQYXJhbXsnUG9zc2libGVWYWx1ZUVycm9ycyd9LT57J0tleUR1cGxpY2F0ZUVycm9yJ30tPnskS2V5fSApIHsKCiAgICAgICAgICAgICAgICAjIElmIHRoZSBvcmlnaW5hbCB2YWx1ZSB3YXMgZW1wdHkgaXQgaGFzIGJlZW4gY2hhbmdlZCBpbiBfR2V0UGFyYW1zIHRvIGEgcHJlZGVmaW5lZAogICAgICAgICAgICAgICAgIyAgIHN0cmluZyBhbmQgbmVlZCB0byBiZSBzZXQgdG8gdGhlIG9yaWdpbmFsIHZhbHVlIGFnYWluLgogICAgICAgICAgICAgICAgJEtleUNsb25lID0gJFBhcmFteydQb3NzaWJsZVZhbHVlRXJyb3JzJ30tPnsnS2V5RHVwbGljYXRlRXJyb3InfS0+eyRLZXl9OwoKICAgICAgICAgICAgICAgICMgc2V0IHRoZSBlcnJvciBjbGFzcwogICAgICAgICAgICAgICAgJEtleUVycm9yICAgICA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICAgICAkS2V5RXJyb3JTdHJnID0gVHJhbnNsYXRhYmxlKCdUaGlzIGZpZWxkIHZhbHVlIGlzIGR1cGxpY2F0ZWQuJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgQ2hlY2sgZm9yIGVycm9yIG9uIHZhbHVlLgogICAgICAgICAgICBpZiAoICRQYXJhbXsnUG9zc2libGVWYWx1ZUVycm9ycyd9LT57J1ZhbHVlRW1wdHlFcnJvcid9LT57JEtleX0gKSB7CgogICAgICAgICAgICAgICAgIyBTZXQgdGhlIGVycm9yIGNsYXNzLgogICAgICAgICAgICAgICAgJFZhbHVlRXJyb3IgPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBteSAlTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lczsKCiAgICAgICAgT0xES0VZOgogICAgICAgIGZvciBteSAkT2xkS2V5ICggc29ydCBrZXlzICV7ICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JEtleX0gfSApIHsKCiAgICAgICAgICAgIG5leHQgT0xES0VZIGlmICEkT2xkS2V5OwoKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJE9sZEtleSA9fiBtL14oXHcrKV8oXGQrKSQvCiAgICAgICAgICAgICAgICAmJiBJc1N0cmluZ1dpdGhEYXRhKCAkUHJlcGFyZWRQb3NzaWJsZVZhbHVlcy0+eyRLZXl9LT57JE9sZEtleX0gKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgbXkgJE5ld0tleSAgICAgICAgICAgPSAkMTsKICAgICAgICAgICAgICAgIG15ICRTZXF1ZW50aWFsTnVtYmVyID0gJDI7CgogICAgICAgICAgICAgICAgaWYgKCAkT2xkS2V5ID1+IG0vKD86U2VhcmNoZmllbGR8TGlzdGZpZWxkKS8gKSB7CiAgICAgICAgICAgICAgICAgICAgJE5vcm1hbGl6ZWRQb3NzaWJsZVZhbHVlTmFtZXN7JE5ld0tleX0gPSAnY2hlY2tlZCAnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkT2xkS2V5ID1+IG0vRmllbGROYW1lLyApIHsKICAgICAgICAgICAgICAgICAgICAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3skTmV3S2V5fSA9ICRQcmVwYXJlZFBvc3NpYmxlVmFsdWVzLT57JEtleX0tPnskT2xkS2V5fTsKCiAgICAgICAgICAgICAgICAgICAgIyBGaWxsIHRoZSBpZGVudGlmaWVyIGRhdGEgaGFzaC4KICAgICAgICAgICAgICAgICAgICAkSWRlbnRpZmllckRhdGF7JFNlcXVlbnRpYWxOdW1iZXJ9ID0gJFByZXBhcmVkUG9zc2libGVWYWx1ZXMtPnskS2V5fS0+eyRPbGRLZXl9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJE5vcm1hbGl6ZWRQb3NzaWJsZVZhbHVlTmFtZXN7JE5ld0tleX0gPSAkUHJlcGFyZWRQb3NzaWJsZVZhbHVlcy0+eyRLZXl9LT57JE9sZEtleX07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgQnVpbGQgdGhlIGRhdGEtdHlwZSBmaWVsZAogICAgICAgICRQYXJhbXtEYXRhdHlwZX0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlRGF0YVR5cGVzLAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIkZpZWxkRGF0YXR5cGVfJFZhbHVlQ291bnRlciIsCiAgICAgICAgICAgIElEICAgICAgICAgICA9PiAiRmllbGREYXRhdHlwZV8kVmFsdWVDb3VudGVyIiwKICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUgVmFsaWRhdGVfUmVxdWlyZWQnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJE5vcm1hbGl6ZWRQb3NzaWJsZVZhbHVlTmFtZXN7RmllbGREYXRhdHlwZX0sCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICApOwoKICAgICAgICAjIEJ1aWxkIHRoZSBzZWxlY3QgZmllbGQgZm9yIHRoZSBmaWx0ZXJzLgogICAgICAgICRQYXJhbXtTZWxlY3RGaWx0ZXJ9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJUZpbHRlcnMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiRmllbGRGaWx0ZXJfJFZhbHVlQ291bnRlciIsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lc3tGaWVsZEZpbHRlcn0sCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUnLAogICAgICAgICk7CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICBteSAkQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKCiAgICAgICAgIyBjaGVjayBpZiBFeHRlbmRlZFZhbHVlU3RydWN0dXJlIGZlYXR1cmUgaXMgYWN0aXZhdGVkCiAgICAgICAgbXkgJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpFeHRlbmRlZFZhbHVlU3RydWN0dXJlJyk7CiAgICAgICAgaWYgKCAkRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSApIHsKCiAgICAgICAgICAgICMgQnVpbGQgdGhlIHNlbGVjdCBmaWVsZCBmb3IgdGhlIGRpc3BsYXkgZmllbGQgaGVhZGVycy4KICAgICAgICAgICAgbXkgQEhlYWRlcnMgPSAoJ0dlbmVyYWwnKTsKICAgICAgICAgICAgbXkgJERpc3BsYXlmaWVsZEhlYWRlcnMgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpLT5HZXQoJ0R5bmFtaWNGaWVsZERCOjpEaXNwbGF5ZmllbGRIZWFkZXJzJyk7CiAgICAgICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCREaXNwbGF5ZmllbGRIZWFkZXJzKSApIHsKICAgICAgICAgICAgICAgIEBIZWFkZXJzID0gdW5pcSAoQEhlYWRlcnMsICREaXNwbGF5ZmllbGRIZWFkZXJzLT5AKik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRQYXJhbXtTZWxlY3REaXNwbGF5ZmllbGR9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXEBIZWFkZXJzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJEaXNwbGF5ZmllbGRfJFZhbHVlQ291bnRlciIsCiAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJE5vcm1hbGl6ZWRQb3NzaWJsZVZhbHVlTmFtZXN7RGlzcGxheWZpZWxkfSwKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAjIENyZWF0ZSBhIHZhbHVlIG1hcCByb3cuCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1ZhbHVlUm93JywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlTm9ybWFsaXplZFBvc3NpYmxlVmFsdWVOYW1lcywKICAgICAgICAgICAgICAgIFZhbHVlQ291bnRlciA9PiAkVmFsdWVDb3VudGVyLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgICAgID0+ICRQYXJhbXtEYXRhdHlwZX0sCiAgICAgICAgICAgICAgICBTZWxlY3RGaWx0ZXIgPT4gJFBhcmFte1NlbGVjdEZpbHRlcn0sCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICAgICAgU2VsZWN0RGlzcGxheWZpZWxkID0+ICRQYXJhbXtTZWxlY3REaXNwbGF5ZmllbGR9LAojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgIyBCdWlsZCB0aGUgZGF0YS10eXBlIGFuZCBmaWx0ZXIgZmllbGQuCiAgICAkUGFyYW17RGF0YXR5cGV9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlRGF0YVR5cGVzLAogICAgICAgIE5hbWUgICAgICAgICA9PiAnRmllbGREYXRhdHlwZScsCiAgICAgICAgSUQgICAgICAgICAgID0+ICdGaWVsZERhdGF0eXBlJywKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICApOwoKICAgICRQYXJhbXtTZWxlY3RGaWx0ZXJ9ID0gJExheW91dE9iamVjdC0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICAgID0+IFwlRmlsdGVycywKICAgICAgICBOYW1lICAgICAgICAgPT4gJ0ZpZWxkRmlsdGVyJywKICAgICAgICBJRCAgICAgICAgICAgPT4gJ0ZpZWxkRmlsdGVyJywKICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICApOwoKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgbXkgJENvbmZpZ09iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6Q29uZmlnJyk7CgogICAgICAgICMgY2hlY2sgaWYgRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSBmZWF0dXJlIGlzIGFjdGl2YXRlZAogICAgICAgIG15ICRFeHRlbmRlZFZhbHVlU3RydWN0dXJlID0gJENvbmZpZ09iamVjdC0+R2V0KCdEeW5hbWljRmllbGREQjo6RXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZScpOwogICAgICAgIGlmICggJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgKSB7CgogICAgICAgICAgICAjIEJ1aWxkIHRoZSBzZWxlY3QgZmllbGQgZm9yIHRoZSBkaXNwbGF5IGZpZWxkIGhlYWRlcnMuCiAgICAgICAgICAgIG15IEBIZWFkZXJzID0gKCdHZW5lcmFsJyk7CiAgICAgICAgICAgIG15ICREaXNwbGF5ZmllbGRIZWFkZXJzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdEeW5hbWljRmllbGREQjo6RGlzcGxheWZpZWxkSGVhZGVycycpOwogICAgICAgICAgICBpZiAoIElzQXJyYXlSZWZXaXRoRGF0YSgkRGlzcGxheWZpZWxkSGVhZGVycykgKSB7CiAgICAgICAgICAgICAgICBASGVhZGVycyA9IHVuaXEgKEBIZWFkZXJzLCAkRGlzcGxheWZpZWxkSGVhZGVycy0+QCopOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkUGFyYW17U2VsZWN0RGlzcGxheWZpZWxkfSA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFxASGVhZGVycywKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiRGlzcGxheWZpZWxkIiwKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ01vZGVybml6ZScsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICMgQ3JlYXRlIHRoZSBwb3NzaWJsZSB2YWx1ZXMgdGVtcGxhdGUuCiAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdWYWx1ZVRlbXBsYXRlJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgIH0sCiAgICApOwoKICAgICMgRGVmaW5lIGNvbmZpZyBmaWVsZCBzcGVjaWZpYyBzZXR0aW5ncy4KICAgIG15ICREZWZhdWx0VmFsdWUgPSAoIGRlZmluZWQgJFBhcmFte0RlZmF1bHRWYWx1ZX0gPyAkUGFyYW17RGVmYXVsdFZhbHVlfSA6ICcnICk7CgogICAgIyBDcmVhdGUgdGhlIGRlZmF1bHQgdmFsdWUgZWxlbWVudC4KICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgIE5hbWUgPT4gJ0RlZmF1bHRWYWx1ZScgLiAkUGFyYW17RmllbGRUeXBlfSwKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBEZWZhdWx0VmFsdWUgPT4gJERlZmF1bHRWYWx1ZSwKICAgICAgICB9LAogICAgKTsKCiAgICAjIERlZmluZSBjb25maWcgZmllbGQgc3BlY2lmaWMgc2V0dGluZ3MuCiAgICBteSAkTGluayAgICAgICAgPSAkUGFyYW17TGlua30gICAgICAgIHx8ICcnOwogICAgbXkgJExpbmtQcmV2aWV3ID0gJFBhcmFte0xpbmtQcmV2aWV3fSB8fCAnJzsKCiAgICBpZiAoICRQYXJhbXtGaWVsZFR5cGV9IGVxICdEYXRhYmFzZScgKSB7CgogICAgICAgICMgQ3JlYXRlIHRoZSBkZWZhdWx0IGxpbmsgZWxlbWVudC4KICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnTGluaycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgTGluayAgICAgICAgPT4gJExpbmssCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyA9PiAkTGlua1ByZXZpZXcsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIFByZXBhcmUgYXZhaWxhYmxlIGRhdGFiYXNlIHR5cGVzLgogICAgbXkgJURhdGFiYXNlcyA9ICgKICAgICAgICBteXNxbCAgICAgID0+ICJNeVNRTCIsCiAgICAgICAgcG9zdGdyZXNxbCA9PiAiUG9zdGdyZVNRTCIsCiAgICAgICAgT0RCQyAgICAgICA9PiAiU1FMIFNlcnZlciAoT0RCQykiLAogICAgICAgIG9yYWNsZSAgICAgPT4gIk9yYWNsZSIsCiAgICApOwoKICAgICMgQnVpbGQgdGhlIHNlbGVjdCBmaWVsZCBmb3IgdGhlIEluc3RhbGxlckRCU3RhcnQudHQuCiAgICAkUGFyYW17U2VsZWN0REJUeXBlfSA9ICRMYXlvdXRPYmplY3QtPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgICA9PiBcJURhdGFiYXNlcywKICAgICAgICBOYW1lICAgICAgICAgPT4gJ0RCVHlwZScsCiAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUgVmFsaWRhdGVfUmVxdWlyZWQnLAogICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17REJUeXBlfSB8fCAnbXlzcWwnLAogICAgICAgIFBvc3NpYmxlTm9uZSA9PiAxLAogICAgICAgIElEICAgICAgICAgICA9PiAnVHlwZScsCiAgICApOwoKICAgICMgQnVpbGQgdGhlIHNlbGVjdCBmaWVsZCBmb3IgdGhlIGlkZW50aWZpZXIuCiAgICAkUGFyYW17SWRlbnRpZmllcn0gPSAkTGF5b3V0T2JqZWN0LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICBEYXRhICAgICAgICAgPT4gXCVJZGVudGlmaWVyRGF0YSwKICAgICAgICBOYW1lICAgICAgICAgPT4gJ0lkZW50aWZpZXInLAogICAgICAgIElEICAgICAgICAgICA9PiAnSWRlbnRpZmllcicsCiAgICAgICAgQ2xhc3MgICAgICAgID0+ICdNb2Rlcm5pemUgVmFsaWRhdGVfUmVxdWlyZWQnLAogICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17SWRlbnRpZmllcn0sCiAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICApOwoKICAgICMgZGVmaW5lIHRvb2x0aXAKICAgIG15ICRUb29sdGlwID0gKCBkZWZpbmVkICRQYXJhbXtUb29sdGlwfSA/ICRQYXJhbXtUb29sdGlwfSA6ICcnICk7CgogICAgIyBjcmVhdGUgdGhlIGRlZmF1bHQgdmFsdWUgZWxlbWVudAogICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnVG9vbHRpcCcsCiAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgVG9vbHRpcCA9PiAkVG9vbHRpcCwKICAgICAgICB9LAogICAgKTsKCiAgICAjIEludGVybmFsIGZpZWxkcyBjYW4gbm90IGJlIGRlbGV0ZWQgYW5kIG5hbWUgc2hvdWxkIG5vdCBjaGFuZ2UuCiAgICBteSAkUmVhZG9ubHlJbnRlcm5hbEZpZWxkID0gJyc7CiAgICBpZiAoICRQYXJhbXtJbnRlcm5hbEZpZWxkfSApIHsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnSW50ZXJuYWxGaWVsZCcsCiAgICAgICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKICAgICAgICAkUmVhZG9ubHlJbnRlcm5hbEZpZWxkID0gJ3JlYWRvbmx5JzsKICAgIH0KCiAgICBteSAkRHluYW1pY0ZpZWxkTmFtZSA9ICRQYXJhbXtOYW1lfTsKCiAgICAjIEFkZCB3YXJuaW5nIGluIGNhc2UgdGhlIER5bmFtaWNGaWVsZCBiZWxvbmdzIGEgU3lzQ29uZmlnIHNldHRpbmcuCiAgICBteSAkU3lzQ29uZmlnT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZycpOwoKICAgICMgSW4gY2FzZSBkaXJ0eSBzZXR0aW5nIGRpc2FibGUgZm9ybS4KICAgIG15ICRJc0RpcnR5Q29uZmlnID0gMDsKICAgIG15IEBJc0RpcnR5UmVzdWx0ID0gJFN5c0NvbmZpZ09iamVjdC0+Q29uZmlndXJhdGlvbkRpcnR5U2V0dGluZ3NMaXN0KCk7CiAgICBteSAlSXNEaXJ0eUxpc3QgICA9IG1hcCB7ICRfID0+IDEgfSBASXNEaXJ0eVJlc3VsdDsKCiAgICBteSBASXNEeW5hbWljRmllbGRJblN5c0NvbmZpZyA9ICRTeXNDb25maWdPYmplY3QtPkNvbmZpZ3VyYXRpb25FbnRpdHlDaGVjaygKICAgICAgICBFbnRpdHlUeXBlID0+ICdEeW5hbWljRmllbGQnLAogICAgICAgIEVudGl0eU5hbWUgPT4gJER5bmFtaWNGaWVsZE5hbWUgLy8gJycsCiAgICApOwoKICAgIGlmIChASXNEeW5hbWljRmllbGRJblN5c0NvbmZpZykgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdEeW5hbWljRmllbGRJblN5c0NvbmZpZycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgT2xkTmFtZSA9PiAkRHluYW1pY0ZpZWxkTmFtZSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgIGZvciBteSAkU2V0dGluZ05hbWUgKEBJc0R5bmFtaWNGaWVsZEluU3lzQ29uZmlnKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkSW5TeXNDb25maWdSb3cnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgU2V0dGluZ05hbWUgPT4gJFNldHRpbmdOYW1lLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgVmVyaWZ5IGlmIGRpcnR5IHNldHRpbmcuCiAgICAgICAgICAgIGlmICggJElzRGlydHlMaXN0eyRTZXR0aW5nTmFtZX0gKSB7CiAgICAgICAgICAgICAgICAkSXNEaXJ0eUNvbmZpZyA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgfQoKICAgIGlmICgkSXNEaXJ0eUNvbmZpZykgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdEeW5hbWljRmllbGRJblN5c0NvbmZpZ0RpcnR5JywKICAgICAgICApOwogICAgfQoKICAgIG15ICRGaWx0ZXJTdHJnID0gJyc7CiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtPYmplY3RUeXBlRmlsdGVyfSApICkgewogICAgICAgICRGaWx0ZXJTdHJnIC49ICI7T2JqZWN0VHlwZUZpbHRlcj0iIC4gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICBEYXRhICAgICA9PiB7CiAgICAgICAgICAgICAgICBGaWx0ZXIgPT4gJFBhcmFte09iamVjdFR5cGVGaWx0ZXJ9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgaWYgKEBERk5hbWVzcGFjZXMpIHsKICAgICAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtOYW1lc3BhY2VGaWx0ZXJ9ICkgKSB7CiAgICAgICAgICAgICRGaWx0ZXJTdHJnIC49ICI7TmFtZXNwYWNlRmlsdGVyPSIgLiAkTGF5b3V0T2JqZWN0LT5PdXRwdXQoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZSA9PiAnWyUgRGF0YS5GaWx0ZXIgfCB1cmkgJV0nLAogICAgICAgICAgICAgICAgRGF0YSAgICAgPT4gewogICAgICAgICAgICAgICAgICAgIEZpbHRlciA9PiAkUGFyYW17TmFtZXNwYWNlRmlsdGVyfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICRPdXRwdXQgLj0gJExheW91dE9iamVjdC0+T3V0cHV0KAogICAgICAgIFRlbXBsYXRlRmlsZSA9PiAnQWRtaW5EeW5hbWljRmllbGREQicsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBGaWx0ZXJTdHJnICAgICAgICAgICAgPT4gJEZpbHRlclN0cmcsCiAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICAgICAgICA9PiAkVmFsdWVDb3VudGVyLAogICAgICAgICAgICBWYWxpZGl0eVN0cmcgICAgICAgICAgPT4gJFZhbGlkaXR5U3RyZywKICAgICAgICAgICAgRHluYW1pY0ZpZWxkT3JkZXJTdHJnID0+ICREeW5hbWljRmllbGRPcmRlclN0cmcsCiAgICAgICAgICAgIERlZmF1bHRWYWx1ZSAgICAgICAgICA9PiAkRGVmYXVsdFZhbHVlLAogICAgICAgICAgICBNdWx0aVZhbHVlU3RyZyAgICAgICAgPT4gJE11bHRpVmFsdWVTdHJnLAogICAgICAgICAgICBSZWFkb25seUludGVybmFsRmllbGQgPT4gJFJlYWRvbmx5SW50ZXJuYWxGaWVsZCwKICAgICAgICAgICAgTGluayAgICAgICAgICAgICAgICAgID0+ICRMaW5rLAogICAgICAgICAgICBUb29sdGlwICAgICAgICAgICAgICAgPT4gJFRvb2x0aXAsCiAgICAgICAgfQogICAgKTsKCiAgICAkT3V0cHV0IC49ICRMYXlvdXRPYmplY3QtPkZvb3RlcigpOwoKICAgIHJldHVybiAkT3V0cHV0Owp9CgpzdWIgX0dldFBvc3NpYmxlVmFsdWVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFBvc3NpYmxlVmFsdWVDb25maWc7CgogICAgbXkgJFBhcmFtT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcpOwoKICAgIG15ICRWYWx1ZUNvdW50ZXIgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAnVmFsdWVDb3VudGVyJyApIHx8IDA7CgogICAgbXkgJFZhbHVlUmVhbEluZGV4ID0gMTsKCiAgICBWQUxVRUlOREVYOgogICAgZm9yIG15ICRWYWx1ZUluZGV4ICggMSAuLiAkVmFsdWVDb3VudGVyICkgewoKICAgICAgICAjIEdldCBwb3NzaWJsZSBrZXlzIGFuZCByZWxhdGVkIHZhbHVlcy4KICAgICAgICBteSAkS2V5RmllbGROYW1lICAgICA9ICdGaWVsZE5hbWUnIC4gJ18nIC4gJFZhbHVlSW5kZXg7CiAgICAgICAgbXkgJEtleUZpZWxkTGFiZWwgICAgPSAnRmllbGRMYWJlbCcgLiAnXycgLiAkVmFsdWVJbmRleDsKICAgICAgICBteSAkS2V5RmllbGREYXRhdHlwZSA9ICdGaWVsZERhdGF0eXBlJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlGaWVsZEZpbHRlciAgID0gJ0ZpZWxkRmlsdGVyJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlTZWFyY2hmaWVsZCAgID0gJ1NlYXJjaGZpZWxkJyAuICdfJyAuICRWYWx1ZUluZGV4OwogICAgICAgIG15ICRLZXlMaXN0ZmllbGQgICAgID0gJ0xpc3RmaWVsZCcgLiAnXycgLiAkVmFsdWVJbmRleDsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgbXkgJEtleURpc3BsYXlmaWVsZCAgPSAnRGlzcGxheWZpZWxkJyAuICdfJyAuICRWYWx1ZUluZGV4OwojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICAgICBteSAkVmFsdWVGaWVsZE5hbWUgICAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEtleUZpZWxkTmFtZSApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkTGFiZWwgICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGRMYWJlbCApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkRGF0YXR5cGUgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGREYXRhdHlwZSApOwogICAgICAgIG15ICRWYWx1ZUZpZWxkRmlsdGVyICAgPSAkUGFyYW1PYmplY3QtPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5RmllbGRGaWx0ZXIgKTsKICAgICAgICBteSAkVmFsdWVTZWFyY2hmaWVsZCAgID0gJFBhcmFtT2JqZWN0LT5HZXRQYXJhbSggUGFyYW0gPT4gJEtleVNlYXJjaGZpZWxkICk7CiAgICAgICAgbXkgJFZhbHVlTGlzdGZpZWxkICAgICA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXlMaXN0ZmllbGQgKTsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgbXkgJFZhbHVlRGlzcGxheWZpZWxkICA9ICRQYXJhbU9iamVjdC0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXlEaXNwbGF5ZmllbGQgKTsKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICAgICAgJFZhbHVlRmllbGROYW1lICAgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZE5hbWUgICAgID8gJFZhbHVlRmllbGROYW1lICAgICA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGRMYWJlbCAgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZExhYmVsICAgID8gJFZhbHVlRmllbGRMYWJlbCAgICA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGREYXRhdHlwZSA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZERhdGF0eXBlID8gJFZhbHVlRmllbGREYXRhdHlwZSA6ICcnICk7CiAgICAgICAgJFZhbHVlRmllbGRGaWx0ZXIgICA9ICggZGVmaW5lZCAkVmFsdWVGaWVsZEZpbHRlciAgID8gJFZhbHVlRmllbGRGaWx0ZXIgICA6ICcnICk7CiAgICAgICAgJFZhbHVlU2VhcmNoZmllbGQgICA9ICggZGVmaW5lZCAkVmFsdWVTZWFyY2hmaWVsZCAgID8gJFZhbHVlU2VhcmNoZmllbGQgICA6ICcnICk7CiAgICAgICAgJFZhbHVlTGlzdGZpZWxkICAgICA9ICggZGVmaW5lZCAkVmFsdWVMaXN0ZmllbGQgICAgID8gJFZhbHVlTGlzdGZpZWxkICAgICA6ICcnICk7CiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICRWYWx1ZURpc3BsYXlmaWVsZCAgICAgPSAoIGRlZmluZWQgJFZhbHVlRGlzcGxheWZpZWxkICAgICA/ICRWYWx1ZURpc3BsYXlmaWVsZCAgICAgOiAnJyApOwojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwoKICAgICAgICAjIENoZWNrIGZvciByZW1vdmVkIHZhbHVlcy4KICAgICAgICBpZiAoICFJc1N0cmluZ1dpdGhEYXRhKCRWYWx1ZUZpZWxkTmFtZSkgfHwgIUlzU3RyaW5nV2l0aERhdGEoJFZhbHVlRmllbGRMYWJlbCkgfHwgIUlzU3RyaW5nV2l0aERhdGEoJFZhbHVlRmllbGREYXRhdHlwZSkgKSB7CiAgICAgICAgICAgIG5leHQgVkFMVUVJTkRFWDsKICAgICAgICB9CgogICAgICAgICRQb3NzaWJsZVZhbHVlQ29uZmlnLT57ICdGaWVsZE5hbWVfJyAuICRWYWx1ZVJlYWxJbmRleCB9ICAgICA9ICRWYWx1ZUZpZWxkTmFtZTsKICAgICAgICAkUG9zc2libGVWYWx1ZUNvbmZpZy0+eyAnRmllbGRMYWJlbF8nIC4gJFZhbHVlUmVhbEluZGV4IH0gICAgPSAkVmFsdWVGaWVsZExhYmVsOwogICAgICAgICRQb3NzaWJsZVZhbHVlQ29uZmlnLT57ICdGaWVsZERhdGF0eXBlXycgLiAkVmFsdWVSZWFsSW5kZXggfSA9ICRWYWx1ZUZpZWxkRGF0YXR5cGU7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ0ZpZWxkRmlsdGVyXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgID0gJFZhbHVlRmllbGRGaWx0ZXI7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ1NlYXJjaGZpZWxkXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgID0gJFZhbHVlU2VhcmNoZmllbGQ7CiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPnsgJ0xpc3RmaWVsZF8nIC4gJFZhbHVlUmVhbEluZGV4IH0gICAgID0gJFZhbHVlTGlzdGZpZWxkOwojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAkUG9zc2libGVWYWx1ZUNvbmZpZy0+eyAnRGlzcGxheWZpZWxkXycgLiAkVmFsdWVSZWFsSW5kZXggfSAgICAgPSAkVmFsdWVEaXNwbGF5ZmllbGQ7CiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgJFBvc3NpYmxlVmFsdWVDb25maWctPntWYWx1ZUNvdW50ZXJ9ICAgICAgICAgICAgICAgICAgICAgICAgID0gJFZhbHVlQ291bnRlcjsKCiAgICAgICAgJFZhbHVlUmVhbEluZGV4Kys7CiAgICB9CgogICAgcmV0dXJuICRQb3NzaWJsZVZhbHVlQ29uZmlnOwp9CgoxOwo=</File>
        <File Location="Custom/Kernel/Output/HTML/Templates/Standard/AdminDynamicFieldDB.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSA2ZWZkYzdiZjJhMzMyNTI3N2NkNzlhNjBmMGYyNDA3ZjhhZDU5ZTg3IC0gS2VybmVsL091dHB1dC9IVE1ML1RlbXBsYXRlcy9TdGFuZGFyZC9BZG1pbkR5bmFtaWNGaWVsZERCLnR0CiMgLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgojIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKIyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUwojIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiMgLS0KCjxkaXYgY2xhc3M9Ik1haW5Cb3ggQVJJQVJvbGVNYWluIExheW91dEZpeGVkU2lkZWJhciBTaWRlYmFyRmlyc3QiPgogICAgPGgxPgogICAgICAgIFslIFRyYW5zbGF0ZSgiRHluYW1pYyBGaWVsZHMiKSB8IGh0bWwgJV0gLSBbJSBUcmFuc2xhdGUoRGF0YS5PYmplY3RUeXBlTmFtZSkgfCBodG1sICVdOgogICAgICAgIFslIFVTRSBUaXRsZSA9IFN0cmluZyhEYXRhLk1vZGUpICVdCiAgICAgICAgWyUgVGl0bGUgPSBUcmFuc2xhdGUoVGl0bGUuYXBwZW5kKCAnICcsIERhdGEuRmllbGRUeXBlTmFtZSwgJyBGaWVsZCcpKSAlXQogICAgICAgIFslIFRpdGxlIHwgaHRtbCAlXQogICAgPC9oMT4KCiAgICBbJSBCcmVhZGNydW1iUGF0aCA9IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSA9PiBUcmFuc2xhdGUoJ0R5bmFtaWMgRmllbGRzIE1hbmFnZW1lbnQnKSwKICAgICAgICAgICAgICAgIExpbmsgPT4gJ0FkbWluRHluYW1pY0ZpZWxkJyBfIERhdGEuRmlsdGVyU3RyZywKICAgICAgICAgICAgfSwKICAgICAgICBdCiAgICAlXQoKICAgIFslIFVTRSBCcmVhZGNydW1iTmFtZSA9IFN0cmluZyhUcmFuc2xhdGUoRGF0YS5PYmplY3RUeXBlTmFtZSkpICVdCgogICAgWyUgU1dJVENIIERhdGEuTW9kZSAlXQogICAgICAgIFslIENBU0UgJ0FkZCcgJV0KICAgICAgICAgICAgWyUgQnJlYWRjcnVtYlBhdGgucHVzaCh7IE5hbWUgPT4gQnJlYWRjcnVtYk5hbWUuYXBwZW5kKCAnOiAnLCBUaXRsZSApIH0pICVdCiAgICAgICAgWyUgQ0FTRSAnQ2hhbmdlJyAlXQogICAgICAgICAgICBbJSBCcmVhZGNydW1iUGF0aC5wdXNoKHsgTmFtZSA9PiBCcmVhZGNydW1iTmFtZS5hcHBlbmQoICc6ICcsIFRpdGxlLCAnIC0gJywgRGF0YS5OYW1lICkgfSkgJV0KICAgIFslIEVORCAlXQoKICAgIFslIElOQ0xVREUgIkJyZWFkY3J1bWIudHQiIFBhdGggPSBCcmVhZGNydW1iUGF0aCAlXQoKICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJTaWRlYmFyQ29sdW1uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRTaW1wbGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgPGgyPlslIFRyYW5zbGF0ZSgiQWN0aW9ucyIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iQWN0aW9uTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJbJSBFbnYoIkJhc2VsaW5rIikgJV1BY3Rpb249QWRtaW5EeW5hbWljRmllbGRbJSBEYXRhLkZpbHRlclN0cmcgJV0iIGNsYXNzPSJDYWxsRm9yQWN0aW9uIEZ1bGxzaXplIENlbnRlciI+PHNwYW4+PGkgY2xhc3M9ImZhIGZhLWNhcmV0LWxlZnQiPjwvaT5bJSBUcmFuc2xhdGUoIkdvIGJhY2sgdG8gb3ZlcnZpZXciKSB8IGh0bWwgJV08L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IkNvbnRlbnRDb2x1bW4iPgogICAgICAgIDxmb3JtIGlkPSJFbnRpdHlVcGRhdGUiIGFjdGlvbj0iWyUgRW52KCJDR0lIYW5kbGUiKSAlXSIgbWV0aG9kPSJwb3N0IiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkFjdGlvbiIgdmFsdWU9IkFkbWluRHluYW1pY0ZpZWxkREIiIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN1YmFjdGlvbiIgdmFsdWU9IlslIERhdGEuTW9kZSB8IGh0bWwgJV1BY3Rpb24iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9iamVjdFR5cGUiIHZhbHVlPSJbJSBEYXRhLk9iamVjdFR5cGUgfCBodG1sICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJGaWVsZFR5cGUiIHZhbHVlPSJbJSBEYXRhLkZpZWxkVHlwZSB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9iamVjdFR5cGVGaWx0ZXIiIHZhbHVlPSJbJSBEYXRhLk9iamVjdFR5cGVGaWx0ZXIgfCBodG1sICVdIiAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJOYW1lc3BhY2VGaWx0ZXIiIHZhbHVlPSJbJSBEYXRhLk5hbWVzcGFjZUZpbHRlciB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IklEIiB2YWx1ZT0iWyUgRGF0YS5JRCB8IGh0bWwgJV0iIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkNvbnRpbnVlQWZ0ZXJTYXZlIiBpZD0iQ29udGludWVBZnRlclNhdmUiIHZhbHVlPSIiLz4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoIkdlbmVyYWwiKSB8IGh0bWwgJV08L2gyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJMYXlvdXRHcmlkIENvbHVtbnNXaXRoU3BhY2luZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNpemUxb2YyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJOYW1lIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiBbJSBUcmFuc2xhdGUoIk5hbWUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iTmFtZSIgY2xhc3M9Ilc1MHBjIFslIERhdGEuTmFtZVNlcnZlckVycm9yIHwgaHRtbCAlXSBbJSBEYXRhLlNob3dXYXJuaW5nIHwgaHRtbCAlXSAgVmFsaWRhdGVfQWxwaGFudW1lcmljIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuUGxhaW5GaWVsZE5hbWUgfCBodG1sICVdIiBuYW1lPSJOYW1lIiBbJSBEYXRhLlJlYWRvbmx5SW50ZXJuYWxGaWVsZCB8IGh0bWwgJV0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Ik5hbWVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCwgYW5kIHRoZSB2YWx1ZSBzaG91bGQgYmUgYWxwaGFiZXRpYyBhbmQgbnVtZXJpYyBjaGFyYWN0ZXJzIG9ubHkuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJOYW1lU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoRGF0YS5OYW1lU2VydmVyRXJyb3JNZXNzYWdlKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj5bJSBUcmFuc2xhdGUoIk11c3QgYmUgdW5pcXVlIGFuZCBvbmx5IGFjY2VwdCBhbHBoYWJldGljIGFuZCBudW1lcmljIGNoYXJhY3RlcnMuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iV2FybmluZyBIaWRkZW4iPlslIFRyYW5zbGF0ZSgiQ2hhbmdpbmcgdGhpcyB2YWx1ZSB3aWxsIHJlcXVpcmUgbWFudWFsIGNoYW5nZXMgaW4gdGhlIHN5c3RlbS4iKSB8IGh0bWwgJV08L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJMYWJlbCI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gWyUgVHJhbnNsYXRlKCJMYWJlbCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJMYWJlbCIgY2xhc3M9Ilc1MHBjIFslIERhdGEuTGFiZWxTZXJ2ZXJFcnJvciB8IGh0bWwgJV0gVmFsaWRhdGVfUmVxdWlyZWQiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5MYWJlbCB8IGh0bWwgJV0iIG5hbWU9IkxhYmVsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkxhYmVsRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJMYWJlbFNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKERhdGEuTGFiZWxTZXJ2ZXJFcnJvck1lc3NhZ2UpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiVGhpcyBpcyB0aGUgbmFtZSB0byBiZSBzaG93biBvbiB0aGUgc2NyZWVucyB3aGVyZSB0aGUgZmllbGQgaXMgYWN0aXZlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkT3JkZXIiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+IFslIFRyYW5zbGF0ZSgiRmllbGQgb3JkZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuRHluYW1pY0ZpZWxkT3JkZXJTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkT3JkZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBudW1lcmljLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRPcmRlclNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKERhdGEuRmllbGRPcmRlclNlcnZlckVycm9yTWVzc2FnZSkgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSBvcmRlciBpbiB3aGljaCB0aGlzIGZpZWxkIHdpbGwgYmUgc2hvd24gb24gdGhlIHNjcmVlbnMgd2hlcmUgaXMgYWN0aXZlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJEeW5hbWljRmllbGROYW1lc3BhY2UiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik5hbWVzcGFjZSI+WyUgVHJhbnNsYXRlKCJOYW1lc3BhY2UiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuTmFtZXNwYWNlU3RyZyAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJUaGlzIGlzIHRoZSBuYW1lc3BhY2UgaW4gd2hpY2ggdGhpcyBmaWVsZCB3aWxsIGJlIHVzZWQgYXMgcHJlZml4IHdpdGggdGhlIG5hbWUuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkR5bmFtaWNGaWVsZE5hbWVzcGFjZSIpICVdCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlRvb2x0aXBWYWx1ZSI+WyUgVHJhbnNsYXRlKCJUb29sdGlwIG1lc3NhZ2U6IikgfCBodG1sICVdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD0iVG9vbHRpcFZhbHVlIiBjbGFzcz0iVzc1cGMiIHJvd3M9IjMiIGNvbHM9IjgwIiBuYW1lPSJUb29sdGlwIj5bJSBEYXRhLlRvb2x0aXAgfCBodG1sICVdPC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPlslIFRyYW5zbGF0ZSgiVGhpcyBpcyB0aGUgdG9vbHRpcCBtZXNzYWdlIHNob3duIGluc2lkZSB0aGUgY3VzdG9tZXIgaW50ZXJmYWNlLiIpIHwgaHRtbCAlXTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU2l6ZTFvZjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZWxkc2V0IGNsYXNzPSJUYWJsZUxpa2UiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlZhbGlkSUQiPlslIFRyYW5zbGF0ZSgiVmFsaWRpdHkiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuVmFsaWRpdHlTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJTcGFjaW5nVG9wIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJGaWVsZFR5cGVOYW1lIj5bJSBUcmFuc2xhdGUoIkZpZWxkIHR5cGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iRmllbGRUeXBlTmFtZSIgcmVhZG9ubHkgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIFRyYW5zbGF0ZShEYXRhLkZpZWxkVHlwZU5hbWUpIHwgaHRtbCAlXSIgbmFtZT0iRmllbGRUeXBlTmFtZSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3AiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik9iamVjdFR5cGVOYW1lIj5bJSBUcmFuc2xhdGUoIk9iamVjdCB0eXBlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik9iamVjdFR5cGVOYW1lIiByZWFkb25seSBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgVHJhbnNsYXRlKERhdGEuT2JqZWN0VHlwZU5hbWUpIHwgaHRtbCAlXSIgbmFtZT0iT2JqZWN0VHlwZU5hbWUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKWyUgUmVuZGVyQmxvY2tTdGFydCgiSW50ZXJuYWxGaWVsZCIpICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcCI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iSW50ZXJuYWxGaWVsZCI+WyUgVHJhbnNsYXRlKCJJbnRlcm5hbCBmaWVsZCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJJbnRlcm5hbEZpZWxkIiByZWFkb25seSBjbGFzcz0iVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMSIgdmFsdWU9IlslIERhdGEuSW50ZXJuYWxGaWVsZCB8IGh0bWwgJV0iIG5hbWU9IkludGVybmFsRmllbGQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHByb3RlY3RlZCBhbmQgY2FuJ3QgYmUgZGVsZXRlZC4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ClslIFJlbmRlckJsb2NrRW5kKCJJbnRlcm5hbEZpZWxkIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+ClslIFJlbmRlckJsb2NrU3RhcnQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik9sZE5hbWUiIGlkPSJPbGROYW1lIiB2YWx1ZT0iWyUgRGF0YS5PbGROYW1lIHwgaHRtbCAlXSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iVXBkYXRlRW50aXR5IiBpZD0iVXBkYXRlRW50aXR5IiB2YWx1ZT0iIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJFbnRpdHlJblNldHRpbmciIGNsYXNzPSJIaWRkZW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlRleHREaWFsb2ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDE+WyUgVHJhbnNsYXRlKCJUaGlzIGR5bmFtaWMgZmllbGQgaXMgdXNlZCBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZyBzZXR0aW5nczoiKSB8IGh0bWwgJV08L2gxPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+ClslIFJlbmRlckJsb2NrU3RhcnQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnUm93IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iSW5TeXNDb25maWdTZXR0aW5nIj5bJSBEYXRhLlNldHRpbmdOYW1lICVdPC9saT4KWyUgUmVuZGVyQmxvY2tFbmQoIkR5bmFtaWNGaWVsZEluU3lzQ29uZmlnUm93IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiRHluYW1pY0ZpZWxkSW5TeXNDb25maWciKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJEeW5hbWljRmllbGRJblN5c0NvbmZpZ0RpcnR5IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlN5c0NvbmZpZ0RpcnR5IiBpZD0iU3lzQ29uZmlnRGlydHkiIHZhbHVlPSIxIi8+ClslIFJlbmRlckJsb2NrRW5kKCJEeW5hbWljRmllbGRJblN5c0NvbmZpZ0RpcnR5IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9IldpZGdldFNpbXBsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5bJSBUcmFuc2xhdGUoRGF0YS5GaWVsZFR5cGVOYW1lKSB8IGh0bWwgJV0gWyUgVHJhbnNsYXRlKCJGaWVsZCBTZXR0aW5ncyIpIHwgaHRtbCAlXTwvaDI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5bJSBUcmFuc2xhdGUoIlBvc3NpYmxlIHZhbHVlcyIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBWYWx1ZUluc2VydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJWYWx1ZUNvdW50ZXIiIHZhbHVlPSJbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJWYWx1ZUNvdW50ZXIiIGNsYXNzPSJWYWx1ZUNvdW50ZXIiIC8+ClslIFJlbmRlckJsb2NrU3RhcnQoIlZhbHVlUm93IikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlZhbHVlUm93IENhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkTmFtZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IkZpZWxkTmFtZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGlkPSJGaWVsZE5hbWVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBjbGFzcz0iVmFsaWRhdGVfUmVxdWlyZWQgVzEwcGMgWyUgRGF0YS5GaWVsZE5hbWVFcnJvciB8IGh0bWwgJV0iIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTAwIiB2YWx1ZT0iWyUgRGF0YS5GaWVsZE5hbWUgfCBodG1sICVdIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGROYW1lX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZE5hbWVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJGaWVsZExhYmVsX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkxhYmVsIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IkZpZWxkTGFiZWxfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iRmllbGRMYWJlbF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBXMTBwYyBbJSBEYXRhLkZpZWxkTGFiZWxFcnJvciB8IGh0bWwgJV0iIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTAwIiB2YWx1ZT0iWyUgRGF0YS5GaWVsZExhYmVsIHwgaHRtbCAlXSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTGFiZWxfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTGFiZWxfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJGaWVsZERhdGF0eXBlX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkRhdGF0eXBlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5EYXRhdHlwZSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkRGF0YXR5cGVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkRGF0YXR5cGVfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJGaWVsZEZpbHRlcl9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZSgiRmlsdGVyIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3RGaWx0ZXIgJV0KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlNlYXJjaGZpZWxkX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IkNoZWNrYm94TGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iU2VhcmNoZmllbGRfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iU2VhcmNoZmllbGRfWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiB0eXBlPSJjaGVja2JveCIgWyUgRGF0YS5TZWFyY2hmaWVsZCB8IGh0bWwgJV0vPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIlNlYXJjaGZpZWxkIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTGlzdGZpZWxkX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IkNoZWNrYm94TGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0iTGlzdGZpZWxkX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgaWQ9Ikxpc3RmaWVsZF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIHR5cGU9ImNoZWNrYm94IiBbJSBEYXRhLkxpc3RmaWVsZCB8IGh0bWwgJV0vPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkxpc3RmaWVsZCIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBJRiBEYXRhLlNlbGVjdERpc3BsYXlmaWVsZCAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkRpc3BsYXlmaWVsZF9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZSgiSGVhZGVyIGdyb3VwIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3REaXNwbGF5ZmllbGQgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBFTkQgJV0KCiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgaWQ9IlJlbW92ZVZhbHVlX1slIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgY2xhc3M9IlJlbW92ZUJ1dHRvbiBWYWx1ZVJlbW92ZSIgdGl0bGU9IlslIFRyYW5zbGF0ZSgiUmVtb3ZlIHZhbHVlIikgfCBodG1sICVdIj48aSBjbGFzcz0iZmEgZmEtbWludXMtc3F1YXJlLW8iPjwvaT48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iU3BhY2luZ1RvcE1pbmkiID48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgpbJSBSZW5kZXJCbG9ja0VuZCgiVmFsdWVSb3ciKSAlXQpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJWYWx1ZVRlbXBsYXRlIikgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlZhbHVlVGVtcGxhdGUgSGlkZGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJGaWVsZE5hbWVbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJOYW1lIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IkZpZWxkTmFtZVslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgaWQ9IkZpZWxkTmFtZSIgY2xhc3M9IlcxMHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEwMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTmFtZUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJGaWVsZE5hbWVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkZpZWxkTGFiZWxbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJMYWJlbCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJGaWVsZExhYmVsWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iRmllbGRMYWJlbCIgY2xhc3M9IlcxMHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjEwMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkTGFiZWxFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGRMYWJlbFNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRmllbGREYXRhdHlwZVslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIkRhdGF0eXBlIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5EYXRhdHlwZSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkZpZWxkRGF0YXR5cGVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRmllbGREYXRhdHlwZVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iRmllbGRGaWx0ZXJbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iPlslIFRyYW5zbGF0ZSgiRmlsdGVyIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3RGaWx0ZXIgJV0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VhcmNoZmllbGRbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGNsYXNzPSJDaGVja2JveExhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9IlNlYXJjaGZpZWxkWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIiBpZD0iU2VhcmNoZmllbGQiIHR5cGU9ImNoZWNrYm94IiBbJSBEYXRhLlNlYXJjaGZpZWxkIHwgaHRtbCAlXS8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiU2VhcmNoZmllbGQiKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJMaXN0ZmllbGRbJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGNsYXNzPSJDaGVja2JveExhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9Ikxpc3RmaWVsZFslIERhdGEuVmFsdWVDb3VudGVyIHwgaHRtbCAlXSIgaWQ9Ikxpc3RmaWVsZCIgdHlwZT0iY2hlY2tib3giIFslIERhdGEuTGlzdGZpZWxkIHwgaHRtbCAlXS8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiTGlzdGZpZWxkIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIElGIERhdGEuU2VsZWN0RGlzcGxheWZpZWxkICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iRGlzcGxheWZpZWxkWyUgRGF0YS5WYWx1ZUNvdW50ZXIgfCBodG1sICVdIj5bJSBUcmFuc2xhdGUoIkhlYWRlciBncm91cCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIERhdGEuU2VsZWN0RGlzcGxheWZpZWxkICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCgojIEVPIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGlkPSJSZW1vdmVWYWx1ZV9bJSBEYXRhLlZhbHVlQ291bnRlciB8IGh0bWwgJV0iIGNsYXNzPSJSZW1vdmVCdXR0b24gVmFsdWVSZW1vdmUiIHRpdGxlPSJbJSBUcmFuc2xhdGUoIlJlbW92ZSB2YWx1ZSIpIHwgaHRtbCAlXSI+PGkgY2xhc3M9ImZhIGZhLW1pbnVzLXNxdWFyZS1vIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlNwYWNpbmdUb3BNaW5pIiA+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIlZhbHVlVGVtcGxhdGUiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRGVsZXRlZFZhbHVlIiB2YWx1ZT0iWyUgRGF0YS5EZWxldGVkU3RyaW5nIHwgaHRtbCAlXSIgaWQ9IkRlbGV0ZWRWYWx1ZSIgY2xhc3M9IkRlbGV0ZWRWYWx1ZSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkFkZFZhbHVlIj5bJSBUcmFuc2xhdGUoIkFkZCB2YWx1ZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0iQWRkVmFsdWUiIGNsYXNzPSJBZGRCdXR0b24iIHRpdGxlPSJbJSBUcmFuc2xhdGUoIkFkZCB2YWx1ZSIpIHwgaHRtbCAlXSI+IDxpIGNsYXNzPSJmYSBmYS1wbHVzLXNxdWFyZS1vIj48L2k+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKClslIFJlbmRlckJsb2NrU3RhcnQoIkxpbmsiKSAlXQogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJMaW5rIj5bJSBUcmFuc2xhdGUoIlNob3cgbGluayIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkxpbmsiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSI1MDAiIHZhbHVlPSJbJSBEYXRhLkxpbmsgfCBodG1sICVdIiBuYW1lPSJMaW5rIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJIZXJlIHlvdSBjYW4gc3BlY2lmeSBhbiBvcHRpb25hbCBIVFRQIGxpbmsgZm9yIHRoZSBmaWVsZCB2YWx1ZSBpbiBPdmVydmlld3MgYW5kIFpvb20gc2NyZWVucy4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiRXhhbXBsZSIpIHwgaHRtbCAlXTogaHR0cDovL3NvbWUuZXhhbXBsZS5jb20vaGFuZGxlP3F1ZXJ5PTxzcGFuPls8L3NwYW4+JSBEYXRhLkZpZWxkMSB8IHVyaSAlPHNwYW4+XTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiWW91IGNhbiByZWZlcmVuY2UgdGhlIGZpZWxkIHdpdGggaXRzIG93biBmaWVsZCBuYW1lLiBZb3UgY2FuIGFsc28gcmVmZXIgdG8gb3RoZXIgZmllbGRzLCBlLmcuIHdpdGggJ0R5bmFtaWNGaWVsZF9PdGhlckZpZWxkTmFtZScuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIklmIGEgZHluYW1pYyBmaWVsZCB3aXRoIGEgbmFtZXNwYWNlIGlzIHRvIGJlIHJlZmVyZW5jZWQsIHRoZSBmaWVsZCBuYW1lIG5lZWRzIHRvIGJlIHN0b3JlZCBpbiBhIHZhcmlhYmxlIGFuZCBjYWxsZWQuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIkV4YW1wbGUiKSB8IGh0bWwgJV06IGh0dHA6Ly9zb21lLmV4YW1wbGUuY29tL2hhbmRsZT9xdWVyeT08c3Bhbj5bPC9zcGFuPiUgRmllbGROYW1lID0gJ05hbWVzcGFjZS1GaWVsZDEnOyBEYXRhLiRGaWVsZE5hbWUgJTxzcGFuPl08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkxpbmtQcmV2aWV3Ij5bJSBUcmFuc2xhdGUoIkxpbmsgZm9yIHByZXZpZXciKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJMaW5rUHJldmlldyIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjUwMCIgdmFsdWU9IlslIERhdGEuTGlua1ByZXZpZXcgfCBodG1sICVdIiBuYW1lPSJMaW5rUHJldmlldyIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9IkZpZWxkRXhwbGFuYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFslIFRyYW5zbGF0ZSgiSWYgZmlsbGVkIGluLCB0aGlzIFVSTCB3aWxsIGJlIHVzZWQgZm9yIGEgcHJldmlldyB3aGljaCBpcyBzaG93biB3aGVuIHRoaXMgbGluayBpcyBob3ZlcmVkIGluIHRpY2tldCB6b29tLiBQbGVhc2Ugbm90ZSB0aGF0IGZvciB0aGlzIHRvIHdvcmssIHRoZSByZWd1bGFyIFVSTCBmaWVsZCBhYm92ZSBuZWVkcyB0byBiZSBmaWxsZWQgaW4sIHRvby4iKSB8IGh0bWwgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KWyUgUmVuZGVyQmxvY2tFbmQoIkxpbmsiKSAlXQoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVHlwZSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIlR5cGUiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5TZWxlY3REQlR5cGUgJV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlR5cGVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJUeXBlU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPSJTSURMYWJlbCIgZm9yPSJTSUQiPlslIFRyYW5zbGF0ZSgiU0lEIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlNJREZpZWxkIiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJTSUQiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlNJRCB8IGh0bWwgJV0iIG5hbWU9IlNJRCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPSJEcml2ZXJMYWJlbCIgZm9yPSJTSUQiPlslIFRyYW5zbGF0ZSgiRHJpdmVyIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRyaXZlckZpZWxkIiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJEcml2ZXIiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLkRyaXZlciB8IGh0bWwgJV0iIG5hbWU9IkRyaXZlciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iU2VydmVyIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiU2VydmVyIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iU2VydmVyIiBjbGFzcz0iVmFsaWRhdGVfUmVxdWlyZWQgVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5TZXJ2ZXIgfCBodG1sICVdIiBuYW1lPSJTZXJ2ZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlNlcnZlclNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlBvcnQiPlslIFRyYW5zbGF0ZSgiUG9ydCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlBvcnQiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlBvcnQgfCBodG1sICVdIiBuYW1lPSJQb3J0Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJEQk5hbWUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+WyUgVHJhbnNsYXRlKCJEYXRhYmFzZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkRCTmFtZSIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuREJOYW1lIHwgaHRtbCAlXSIgbmFtZT0iREJOYW1lIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJEQk5hbWVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJEQk5hbWVTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJEQlRhYmxlIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPlslIFRyYW5zbGF0ZSgiVGFibGUgLyBWaWV3IikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iREJUYWJsZSIgY2xhc3M9IlZhbGlkYXRlX1JlcXVpcmVkIFc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuREJUYWJsZSB8IGh0bWwgJV0iIG5hbWU9IkRCVGFibGUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRCVGFibGVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJEQlRhYmxlU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVXNlciI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIlVzZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJVc2VyIiBjbGFzcz0iVmFsaWRhdGVfUmVxdWlyZWQgVzUwcGMiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5Vc2VyIHwgaHRtbCAlXSIgbmFtZT0iVXNlciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVXNlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlVzZXJTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPlslIFRyYW5zbGF0ZSgiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4iKSB8IGh0bWwgJV08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJQYXNzd29yZCI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIlBhc3N3b3JkIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iUGFzc3dvcmQiIGNsYXNzPSJWYWxpZGF0ZV9SZXF1aXJlZCBXNTBwYyIgdHlwZT0icGFzc3dvcmQiIG1heGxlbmd0aD0iMjAwIiB2YWx1ZT0iWyUgRGF0YS5QYXNzd29yZCB8IGh0bWwgJV0iIG5hbWU9IlBhc3N3b3JkIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJQYXNzd29yZEVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlBhc3N3b3JkU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iSWRlbnRpZmllciI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj5bJSBUcmFuc2xhdGUoIklkZW50aWZpZXIiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWyUgRGF0YS5JZGVudGlmaWVyICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJJZGVudGlmaWVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD5bJSBUcmFuc2xhdGUoIlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIikgfCBodG1sICVdPC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iSWRlbnRpZmllclNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+WyUgVHJhbnNsYXRlKCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIpIHwgaHRtbCAlXTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJGaWVsZEV4cGxhbmF0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIk11c3QgYmUgdW5pcXVlIGNvbHVtbiBmcm9tIHRoZSB0YWJsZSBlbnRlcmVkIGluIFRhYmxlL1ZpZXcuIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJNdWx0aXNlbGVjdCI+WyUgVHJhbnNsYXRlKCJNdWx0aXNlbGVjdCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9Ik11bHRpc2VsZWN0IiB0eXBlPSJjaGVja2JveCIgbmFtZT0iTXVsdGlzZWxlY3QiIFslIERhdGEuTXVsdGlzZWxlY3QgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IkNhY2hlVFRMIj5bJSBUcmFuc2xhdGUoIkNhY2hlVFRMIikgfCBodG1sICVdOjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iQ2FjaGVUVEwiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLkNhY2hlVFRMIHwgaHRtbCAlXSIgbmFtZT0iQ2FjaGVUVEwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlNlYXJjaHByZWZpeCI+WyUgVHJhbnNsYXRlKCJTZWFyY2hwcmVmaXgiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJTZWFyY2hwcmVmaXgiIGNsYXNzPSJXNTBwYyIgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIyMDAiIHZhbHVlPSJbJSBEYXRhLlNlYXJjaHByZWZpeCB8IGh0bWwgJV0iIG5hbWU9IlNlYXJjaHByZWZpeCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU2VhcmNoc3VmZml4Ij5bJSBUcmFuc2xhdGUoIlNlYXJjaHN1ZmZpeCIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IlNlYXJjaHN1ZmZpeCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuU2VhcmNoc3VmZml4IHwgaHRtbCAlXSIgbmFtZT0iU2VhcmNoc3VmZml4Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJSZXN1bHRMaW1pdCI+WyUgVHJhbnNsYXRlKCJSZXN1bHQgTGltaXQiKSB8IGh0bWwgJV06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPSJSZXN1bHRMaW1pdCIgY2xhc3M9Ilc1MHBjIiB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjIwMCIgdmFsdWU9IlslIERhdGEuUmVzdWx0TGltaXQgfCBodG1sICVdIiBuYW1lPSJSZXN1bHRMaW1pdCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iQ2FzZVNlbnNpdGl2ZSI+WyUgVHJhbnNsYXRlKCJDYXNlIFNlbnNpdGl2ZSIpIHwgaHRtbCAlXTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9IkNhc2VTZW5zaXRpdmUiIHR5cGU9ImNoZWNrYm94IiBuYW1lPSJDYXNlU2Vuc2l0aXZlIiBbJSBEYXRhLkNhc2VTZW5zaXRpdmUgfCBodG1sICVdLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTXVsdGlWYWx1ZSI+WyUgVHJhbnNsYXRlKCJNdWx0aXBsZSBWYWx1ZXMiKSB8IGh0bWwgJV08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJSBEYXRhLk11bHRpVmFsdWVTdHJnICVdCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iRmllbGRFeHBsYW5hdGlvbiI+WyUgVHJhbnNsYXRlKCJBY3RpdmF0ZSB0aGlzIG9wdGlvbiB0byBhbGxvdyBtdWx0aXBsZSB2YWx1ZXMgZm9yIHRoaXMgZmllbGQuIikgfCBodG1sICVdPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCBTcGFjaW5nVG9wIj4KICAgICAgICAgICAgICAgICAgICBbJSBJRiBEYXRhLk1vZGUgPT0gJ0NoYW5nZScgJV0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iQ2FsbEZvckFjdGlvbiBQcmltYXJ5IiBpZD0iU3VibWl0QW5kQ29udGludWUiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9IlslIFRyYW5zbGF0ZSgiU2F2ZSIpIHwgaHRtbCAlXSI+PHNwYW4+WyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICBbJSBUcmFuc2xhdGUoIm9yIikgfCBodG1sICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24gUHJpbWFyeSIgaWQ9IlN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdIj48c3Bhbj5bJSBUcmFuc2xhdGUoIlNhdmUgYW5kIGZpbmlzaCIpIHwgaHRtbCAlXTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICBbJSBFTFNFICVdCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24gUHJpbWFyeSIgaWQ9IlN1Ym1pdCIgdHlwZT0ic3VibWl0IiB2YWx1ZT0iWyUgVHJhbnNsYXRlKCJTYXZlIikgfCBodG1sICVdIj48c3Bhbj5bJSBUcmFuc2xhdGUoIlNhdmUiKSB8IGh0bWwgJV08L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgWyUgRU5EICVdCiAgICAgICAgICAgICAgICAgICAgWyUgVHJhbnNsYXRlKCJvciIpIHwgaHRtbCAlXQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IlslIEVudigiQmFzZWxpbmsiKSAlXUFjdGlvbj1BZG1pbkR5bmFtaWNGaWVsZFslIERhdGEuRmlsdGVyU3RyZyAlXSI+WyUgVHJhbnNsYXRlKCJDYW5jZWwiKSB8IGh0bWwgJV08L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICA8L2Zvcm0+CiAgICA8L2Rpdj4KPC9kaXY+Cg==</File>
        <File Location="Custom/Kernel/Output/HTML/TicketZoom/TicketInformation.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSBjYTUwZDllZTc3NGJmZDUzNzAxYjZjY2E1ZDkwM2VhNGEyNDkxZjE5IC0gS2VybmVsL091dHB1dC9IVE1ML1RpY2tldFpvb20vVGlja2V0SW5mb3JtYXRpb24ucG0KIyAtLQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiMgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAojIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCiMgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Ok91dHB1dDo6SFRNTDo6VGlja2V0Wm9vbTo6VGlja2V0SW5mb3JtYXRpb247Cgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCnVzZSBwYXJlbnQgJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpCYXNlJzsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwoKIyBPVE9CTyBtb2R1bGVzCnVzZSBLZXJuZWw6Okxhbmd1YWdlICAgICAgICAgICAgICBxdyhUcmFuc2xhdGFibGUpOwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhcmlhYmxlQ2hlY2sgcXcoSXNIYXNoUmVmV2l0aERhdGEpOwoKb3VyICRPYmplY3RNYW5hZ2VyRGlzYWJsZWQgPSAxOwoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRDb25maWdPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OkNvbmZpZycpOwogICAgbXkgJExheW91dE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKICAgIG15ICRUaWNrZXRPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0Jyk7CiAgICBteSAkVXNlck9iamVjdCAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OlVzZXInKTsKCiAgICBteSAlVGlja2V0ICAgID0gJFBhcmFte1RpY2tldH0tPiUqOwogICAgbXkgJUFjbEFjdGlvbiA9ICRQYXJhbXtBY2xBY3Rpb259LT4lKjsKCiAgICAjIFNob3cgY3JlYXRlZCBieSBuYW1lLCBpZiBkaWZmZXJlbnQgdGhlbiByb290IHVzZXIgKElEPTEpLgogICAgaWYgKCAkVGlja2V0e0NyZWF0ZUJ5fSA+IDEgKSB7CiAgICAgICAgJFRpY2tldHtDcmVhdGVkQnlVc2VyfSA9ICRVc2VyT2JqZWN0LT5Vc2VyTmFtZSggVXNlcklEID0+ICRUaWNrZXR7Q3JlYXRlQnl9ICk7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0NyZWF0ZWRCeScsCiAgICAgICAgICAgIERhdGEgPT4geyVUaWNrZXR9LAogICAgICAgICk7CiAgICB9CgogICAgaWYgKCAkVGlja2V0e0FyY2hpdmVGbGFnfSBlcSAneScgKSB7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0FyY2hpdmVGbGFnJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVBY2xBY3Rpb24gfSwKICAgICAgICApOwogICAgfQoKICAgICMgdGlja2V0IHR5cGUKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OlR5cGUnKSApIHsKCiAgICAgICAgbXkgJVR5cGUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VHlwZScpLT5UeXBlR2V0KAogICAgICAgICAgICBJRCA9PiAkVGlja2V0e1R5cGVJRH0sCiAgICAgICAgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1R5cGUnLAogICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgIFZhbGlkID0+ICRUeXBle1ZhbGlkSUR9LAogICAgICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgICAgICVBY2xBY3Rpb24KICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgdGlja2V0IHNlcnZpY2UKICAgIGlmICggJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSAmJiAkVGlja2V0e1NlcnZpY2V9ICkgewogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdTZXJ2aWNlJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVBY2xBY3Rpb24gfSwKICAgICAgICApOwogICAgICAgIGlmICggJFRpY2tldHtTTEF9ICkgewogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1NMQScsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsgJVRpY2tldCwgJUFjbEFjdGlvbiB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNob3cgZmlyc3QgcmVzcG9uc2UgdGltZSBpZiBuZWVkZWQKICAgIGlmICggZGVmaW5lZCAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lfSApIHsKICAgICAgICAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lSHVtYW59ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJBZ2UoCiAgICAgICAgICAgIEFnZSAgICAgICAgICAgICAgICA9PiAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lfSwKICAgICAgICAgICAgVGltZVNob3dBbHdheXNMb25nID0+IDEsCiAgICAgICAgICAgIFNwYWNlICAgICAgICAgICAgICA9PiAnICcsCiAgICAgICAgKTsKICAgICAgICAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lV29ya2luZ1RpbWV9ID0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJBZ2UoCiAgICAgICAgICAgIEFnZSAgICAgICAgICAgICAgICA9PiAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lV29ya2luZ1RpbWV9LAogICAgICAgICAgICBUaW1lU2hvd0Fsd2F5c0xvbmcgPT4gMSwKICAgICAgICAgICAgU3BhY2UgICAgICAgICAgICAgID0+ICcgJywKICAgICAgICApOwogICAgICAgIGlmICggNjAgKiA2MCAqIDEgPiAkVGlja2V0e0ZpcnN0UmVzcG9uc2VUaW1lfSApIHsKICAgICAgICAgICAgJFRpY2tldHtGaXJzdFJlc3BvbnNlVGltZUNsYXNzfSA9ICdXYXJuaW5nJzsKICAgICAgICB9CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ0ZpcnN0UmVzcG9uc2VUaW1lJywKICAgICAgICAgICAgRGF0YSA9PiB7ICVUaWNrZXQsICVBY2xBY3Rpb24gfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2hvdyB1cGRhdGUgdGltZSBpZiBuZWVkZWQKICAgIGlmICggZGVmaW5lZCAkVGlja2V0e1VwZGF0ZVRpbWV9ICkgewogICAgICAgICRUaWNrZXR7VXBkYXRlVGltZUh1bWFufSA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVyQWdlKAogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgPT4gJFRpY2tldHtVcGRhdGVUaW1lfSwKICAgICAgICAgICAgVGltZVNob3dBbHdheXNMb25nID0+IDEsCiAgICAgICAgICAgIFNwYWNlICAgICAgICAgICAgICA9PiAnICcsCiAgICAgICAgKTsKICAgICAgICAkVGlja2V0e1VwZGF0ZVRpbWVXb3JraW5nVGltZX0gPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckFnZSgKICAgICAgICAgICAgQWdlICAgICAgICAgICAgICAgID0+ICRUaWNrZXR7VXBkYXRlVGltZVdvcmtpbmdUaW1lfSwKICAgICAgICAgICAgVGltZVNob3dBbHdheXNMb25nID0+IDEsCiAgICAgICAgICAgIFNwYWNlICAgICAgICAgICAgICA9PiAnICcsCiAgICAgICAgKTsKICAgICAgICBpZiAoIDYwICogNjAgKiAxID4gJFRpY2tldHtVcGRhdGVUaW1lfSApIHsKICAgICAgICAgICAgJFRpY2tldHtVcGRhdGVUaW1lQ2xhc3N9ID0gJ1dhcm5pbmcnOwogICAgICAgIH0KICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVXBkYXRlVGltZScsCiAgICAgICAgICAgIERhdGEgPT4geyAlVGlja2V0LCAlQWNsQWN0aW9uIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNob3cgc29sdXRpb24gdGltZSBpZiBuZWVkZWQKICAgIGlmICggZGVmaW5lZCAkVGlja2V0e1NvbHV0aW9uVGltZX0gKSB7CiAgICAgICAgJFRpY2tldHtTb2x1dGlvblRpbWVIdW1hbn0gPSAkTGF5b3V0T2JqZWN0LT5DdXN0b21lckFnZSgKICAgICAgICAgICAgQWdlICAgICAgICAgICAgICAgID0+ICRUaWNrZXR7U29sdXRpb25UaW1lfSwKICAgICAgICAgICAgVGltZVNob3dBbHdheXNMb25nID0+IDEsCiAgICAgICAgICAgIFNwYWNlICAgICAgICAgICAgICA9PiAnICcsCiAgICAgICAgKTsKICAgICAgICAkVGlja2V0e1NvbHV0aW9uVGltZVdvcmtpbmdUaW1lfSA9ICRMYXlvdXRPYmplY3QtPkN1c3RvbWVyQWdlKAogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgPT4gJFRpY2tldHtTb2x1dGlvblRpbWVXb3JraW5nVGltZX0sCiAgICAgICAgICAgIFRpbWVTaG93QWx3YXlzTG9uZyA9PiAxLAogICAgICAgICAgICBTcGFjZSAgICAgICAgICAgICAgPT4gJyAnLAogICAgICAgICk7CiAgICAgICAgaWYgKCA2MCAqIDYwICogMSA+ICRUaWNrZXR7U29sdXRpb25UaW1lfSApIHsKICAgICAgICAgICAgJFRpY2tldHtTb2x1dGlvblRpbWVDbGFzc30gPSAnV2FybmluZyc7CiAgICAgICAgfQogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdTb2x1dGlvblRpbWUnLAogICAgICAgICAgICBEYXRhID0+IHsgJVRpY2tldCwgJUFjbEFjdGlvbiB9LAogICAgICAgICk7CiAgICB9CgogICAgIyBzaG93IG51bWJlciBvZiB0aWNrZXRzIHdpdGggdGhlIHNhbWUgY3VzdG9tZXIgaWQgaWYgZmVhdHVyZSBpcyBhY3RpdmU6CiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnVGlja2V0OjpGcm9udGVuZDo6Wm9vbUN1c3RvbWVyVGlja2V0cycpICkgewogICAgICAgIGlmICggJFRpY2tldHtDdXN0b21lcklEfSApIHsKICAgICAgICAgICAgJFRpY2tldHtDdXN0b21lcklEVGlja2V0c30gPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICAgICBDdXN0b21lcklEID0+ICRUaWNrZXR7Q3VzdG9tZXJJRH0sCiAgICAgICAgICAgICAgICBSZXN1bHQgICAgID0+ICdDT1VOVCcsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdDdXN0b21lcklEVGlja2V0cycsCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlVGlja2V0LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNob3cgdG90YWwgYWNjb3VudGVkIHRpbWUgaWYgZmVhdHVyZSBpcyBhY3RpdmU6CiAgICBpZiAoICRDb25maWdPYmplY3QtPkdldCgnVGlja2V0OjpGcm9udGVuZDo6QWNjb3VudFRpbWUnKSApIHsKICAgICAgICAkVGlja2V0e1RpY2tldFRpbWVVbml0c30gPSAkVGlja2V0T2JqZWN0LT5UaWNrZXRBY2NvdW50ZWRUaW1lR2V0KCVUaWNrZXQpOwogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdUb3RhbEFjY291bnRlZFRpbWUnLAogICAgICAgICAgICBEYXRhID0+IFwlVGlja2V0LAogICAgICAgICk7CiAgICB9CgogICAgIyBzaG93IHBlbmRpbmcgdW50aWwsIGlmIHNldDoKICAgIGlmICggJFRpY2tldHtVbnRpbFRpbWV9ICkgewogICAgICAgIGlmICggJFRpY2tldHtVbnRpbFRpbWV9IDwgLTEgKSB7CiAgICAgICAgICAgICRUaWNrZXR7UGVuZGluZ1VudGlsQ2xhc3N9ID0gJ1dhcm5pbmcnOwogICAgICAgIH0KCiAgICAgICAgbXkgJEN1clN5c0RUT2JqZWN0ID0gJEtlcm5lbDo6T00tPkNyZWF0ZSgnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJyk7CiAgICAgICAgJFRpY2tldHtVbnRpbFRpbWVIdW1hbn0gPSAkS2VybmVsOjpPTS0+Q3JlYXRlKAogICAgICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkRhdGVUaW1lJywKICAgICAgICAgICAgT2JqZWN0UGFyYW1zID0+IHsKICAgICAgICAgICAgICAgIEVwb2NoID0+ICggJFRpY2tldHtVbnRpbFRpbWV9ICsgJEN1clN5c0RUT2JqZWN0LT5Ub0Vwb2NoKCkgKSwKICAgICAgICAgICAgfSwKICAgICAgICApLT5Ub1N0cmluZygpOwoKICAgICAgICAkVGlja2V0e1BlbmRpbmdVbnRpbH0gLj0gJExheW91dE9iamVjdC0+Q3VzdG9tZXJBZ2UoCiAgICAgICAgICAgIEFnZSAgID0+ICRUaWNrZXR7VW50aWxUaW1lfSwKICAgICAgICAgICAgU3BhY2UgPT4gJyAnCiAgICAgICAgKTsKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUGVuZGluZ1VudGlsJywKICAgICAgICAgICAgRGF0YSA9PiBcJVRpY2tldCwKICAgICAgICApOwogICAgfQoKICAgICMgQ2hlY2sgaWYgYWdlbnQgaGFzIHBlcm1pc3Npb24gdG8gc3RhcnQgY2hhdHMgd2l0aCBhZ2VudHMuCiAgICBteSAkRW5hYmxlQ2hhdCAgICAgICAgICAgICAgICAgICAgICAgID0gMTsKICAgIG15ICRDaGF0U3RhcnRpbmdBZ2VudHNHcm91cCAgICAgICAgICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoYXRFbmdpbmU6OlBlcm1pc3Npb25Hcm91cDo6Q2hhdFN0YXJ0aW5nQWdlbnRzJykgIHx8ICd1c2Vycyc7CiAgICBteSAkQ2hhdFJlY2VpdmluZ0FnZW50c0dyb3VwICAgICAgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdDaGF0RW5naW5lOjpQZXJtaXNzaW9uR3JvdXA6OkNoYXRSZWNlaXZpbmdBZ2VudHMnKSB8fCAndXNlcnMnOwogICAgbXkgJENoYXRTdGFydGluZ0FnZW50c0dyb3VwUGVybWlzc2lvbiA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpHcm91cCcpLT5QZXJtaXNzaW9uQ2hlY2soCiAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICBHcm91cE5hbWUgPT4gJENoYXRTdGFydGluZ0FnZW50c0dyb3VwLAogICAgICAgIFR5cGUgICAgICA9PiAncncnLAogICAgKTsKCiAgICBpZiAoICEkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoYXRFbmdpbmU6OkFjdGl2ZScpIHx8ICEkQ2hhdFN0YXJ0aW5nQWdlbnRzR3JvdXBQZXJtaXNzaW9uICkgewogICAgICAgICRFbmFibGVDaGF0ID0gMDsKICAgIH0KICAgIGlmICgKICAgICAgICAkRW5hYmxlQ2hhdAogICAgICAgICYmICEkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoYXRFbmdpbmU6OkNoYXREaXJlY3Rpb246OkFnZW50VG9BZ2VudCcpCiAgICAgICAgKQogICAgewogICAgICAgICRFbmFibGVDaGF0ID0gMDsKICAgIH0KCiAgICBteSAlT25saW5lRGF0YTsKICAgIGlmICgkRW5hYmxlQ2hhdCkgewogICAgICAgIG15ICRWaWRlb0NoYXRFbmFibGVkICAgICAgICAgICAgICAgPSAwOwogICAgICAgIG15ICRWaWRlb0NoYXRBZ2VudHNHcm91cCAgICAgICAgICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoYXRFbmdpbmU6OlBlcm1pc3Npb25Hcm91cDo6VmlkZW9DaGF0QWdlbnRzJykgfHwgJ3VzZXJzJzsKICAgICAgICBteSAkVmlkZW9DaGF0QWdlbnRzR3JvdXBQZXJtaXNzaW9uID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Okdyb3VwJyktPlBlcm1pc3Npb25DaGVjaygKICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgR3JvdXBOYW1lID0+ICRWaWRlb0NoYXRBZ2VudHNHcm91cCwKICAgICAgICAgICAgVHlwZSAgICAgID0+ICdydycsCiAgICAgICAgKTsKCiAgICAgICAgIyBFbmFibGUgdGhlIHZpZGVvIGNoYXQgZmVhdHVyZSBpZiBzeXN0ZW0gaXMgZW50aXRsZWQgYW5kIGFnZW50IGlzIGEgbWVtYmVyIG9mIGNvbmZpZ3VyZWQgZ3JvdXAuCiAgICAgICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ0NoYXRFbmdpbmU6OkFjdGl2ZScpICYmICRWaWRlb0NoYXRBZ2VudHNHcm91cFBlcm1pc3Npb24gKSB7CiAgICAgICAgICAgIGlmICggJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Ok1haW4nKS0+UmVxdWlyZSggJ0tlcm5lbDo6U3lzdGVtOjpWaWRlb0NoYXQnLCBTaWxlbnQgPT4gMSApICkgewogICAgICAgICAgICAgICAgJFZpZGVvQ2hhdEVuYWJsZWQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VmlkZW9DaGF0JyktPklzRW5hYmxlZCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBGSUVMRDoKICAgICAgICBmb3IgbXkgJEZpZWxkIChxdyhPd25lcklEIFJlc3BvbnNpYmxlSUQpKSB7CiAgICAgICAgICAgIG5leHQgRklFTEQgaWYgISRUaWNrZXR7JEZpZWxkfTsKICAgICAgICAgICAgbmV4dCBGSUVMRCBpZiAkRmllbGQgZXEgJ1Jlc3BvbnNpYmxlSUQnICYmICEkQ29uZmlnT2JqZWN0LT5HZXQoJ1RpY2tldDo6UmVzcG9uc2libGUnKTsKCiAgICAgICAgICAgIG15ICRVc2VySUQgPSAkVGlja2V0eyRGaWVsZH07CgogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57RW5hYmxlQ2hhdH0gICAgICAgICA9ICRFbmFibGVDaGF0OwogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57QWdlbnRFbmFibGVDaGF0fSAgICA9IDA7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntDaGF0QWNjZXNzfSAgICAgICAgID0gMDsKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1ZpZGVvQ2hhdEF2YWlsYWJsZX0gPSAwOwogICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VmlkZW9DaGF0U3VwcG9ydH0gICA9IDA7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntWaWRlb0NoYXRFbmFibGVkfSAgID0gJFZpZGVvQ2hhdEVuYWJsZWQ7CgogICAgICAgICAgICAjIERlZmF1bHQgc3RhdHVzIGlzIG9mZmxpbmUuCiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGV9ICAgICAgICAgICAgPSBUcmFuc2xhdGFibGUoJ09mZmxpbmUnKTsKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1VzZXJTdGF0ZURlc2NyaXB0aW9ufSA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnVXNlciBpcyBjdXJyZW50bHkgb2ZmbGluZS4nKTsKCiAgICAgICAgICAgICMgV2UgYWxzbyBuZWVkIHRvIGNoZWNrIGlmIHRoZSByZWNlaXZpbmcgYWdlbnQgaGFzIGNoYXQgcGVybWlzc2lvbnMuCiAgICAgICAgICAgIG15ICVVc2VyR3JvdXBzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06Okdyb3VwJyktPlBlcm1pc3Npb25Vc2VyR2V0KAogICAgICAgICAgICAgICAgVXNlcklEID0+ICRVc2VySUQsCiAgICAgICAgICAgICAgICBUeXBlICAgPT4gJ3J3JywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICVVc2VyR3JvdXBzUmV2ZXJzZSA9IHJldmVyc2UgJVVzZXJHcm91cHM7CiAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntDaGF0QWNjZXNzfSA9ICRVc2VyR3JvdXBzUmV2ZXJzZXskQ2hhdFJlY2VpdmluZ0FnZW50c0dyb3VwfSA/IDEgOiAwOwoKICAgICAgICAgICAgbXkgJVVzZXIgPSAkVXNlck9iamVjdC0+R2V0VXNlckRhdGEoCiAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFVzZXJJRCwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1ZpZGVvQ2hhdFN1cHBvcnR9ID0gJFVzZXJ7VmlkZW9DaGF0SGFzV2ViUlRDfTsKCiAgICAgICAgICAgICMgQ2hlY2sgYWdlbnQncyBhdmFpbGFiaWxpdHkuCiAgICAgICAgICAgIGlmICggJE9ubGluZURhdGF7JEZpZWxkfS0+e0NoYXRBY2Nlc3N9ICkgewogICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e0FnZW50Q2hhdEF2YWlsYWJpbGl0eX0gPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2hhdCcpLT5BZ2VudEF2YWlsYWJpbGl0eUdldCgKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkVXNlcklELAogICAgICAgICAgICAgICAgICAgIEV4dGVybmFsID0+IDAsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGlmICggJE9ubGluZURhdGF7JEZpZWxkfS0+e0FnZW50Q2hhdEF2YWlsYWJpbGl0eX0gPT0gMyApIHsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VXNlclN0YXRlfSAgICAgICAgICAgID0gVHJhbnNsYXRhYmxlKCdBY3RpdmUnKTsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57QWdlbnRFbmFibGVDaGF0fSAgICAgID0gMTsKICAgICAgICAgICAgICAgICAgICAkT25saW5lRGF0YXskRmllbGR9LT57VXNlclN0YXRlRGVzY3JpcHRpb259ID0gJExheW91dE9iamVjdC0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCdVc2VyIGlzIGN1cnJlbnRseSBhY3RpdmUuJyk7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1ZpZGVvQ2hhdEF2YWlsYWJsZX0gICA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNpZiAoICRPbmxpbmVEYXRheyRGaWVsZH0tPntBZ2VudENoYXRBdmFpbGFiaWxpdHl9ID09IDIgKSB7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1VzZXJTdGF0ZX0gICAgICAgICAgICA9IFRyYW5zbGF0YWJsZSgnQXdheScpOwogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntBZ2VudEVuYWJsZUNoYXR9ICAgICAgPSAxOwogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGVEZXNjcmlwdGlvbn0gPSAkTGF5b3V0T2JqZWN0LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJ1VzZXIgd2FzIGluYWN0aXZlIGZvciBhIHdoaWxlLicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzaWYgKCAkT25saW5lRGF0YXskRmllbGR9LT57QWdlbnRDaGF0QXZhaWxhYmlsaXR5fSA9PSAxICkgewogICAgICAgICAgICAgICAgICAgICRPbmxpbmVEYXRheyRGaWVsZH0tPntVc2VyU3RhdGV9ICAgICAgICAgICAgPSBUcmFuc2xhdGFibGUoJ1VuYXZhaWxhYmxlJyk7CiAgICAgICAgICAgICAgICAgICAgJE9ubGluZURhdGF7JEZpZWxkfS0+e1VzZXJTdGF0ZURlc2NyaXB0aW9ufSA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgnVXNlciBzZXQgdGhlaXIgc3RhdHVzIHRvIHVuYXZhaWxhYmxlLicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgb3duZXIgaW5mbwogICAgewogICAgICAgIG15ICVPd25lckluZm8gPSAkVXNlck9iamVjdC0+R2V0VXNlckRhdGEoCiAgICAgICAgICAgIFVzZXJJRCA9PiAkVGlja2V0e093bmVySUR9LAogICAgICAgICk7CiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ093bmVyJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAlVGlja2V0LAogICAgICAgICAgICAgICAgJU93bmVySW5mbywKICAgICAgICAgICAgICAgICVBY2xBY3Rpb24sCiAgICAgICAgICAgICAgICAoICRPbmxpbmVEYXRhe093bmVySUR9IC8vIHt9ICktPiUqLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgaWYgKCAkQ29uZmlnT2JqZWN0LT5HZXQoJ1RpY2tldDo6UmVzcG9uc2libGUnKSApIHsKCiAgICAgICAgIyBzaG93IHJlc3BvbnNpYmxlCiAgICAgICAgbXkgJVJlc3BvbnNpYmxlSW5mbyA9ICRVc2VyT2JqZWN0LT5HZXRVc2VyRGF0YSgKICAgICAgICAgICAgVXNlcklEID0+ICRUaWNrZXR7UmVzcG9uc2libGVJRH0gfHwgMSwKICAgICAgICApOwoKICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUmVzcG9uc2libGUnLAogICAgICAgICAgICBEYXRhID0+IHsgJVRpY2tldCwgJVJlc3BvbnNpYmxlSW5mbywgJUFjbEFjdGlvbiwgJXsgJE9ubGluZURhdGF7UmVzcG9uc2libGVJRH0gLy8ge30gfSB9LAogICAgICAgICk7CiAgICB9CgogICAgIyBzZXQgZGlzcGxheSBvcHRpb25zCiAgICAkUGFyYW17V2lkZ2V0VGl0bGV9ID0gVHJhbnNsYXRhYmxlKCdUaWNrZXQgSW5mb3JtYXRpb24nKTsKICAgICRQYXJhbXtIb29rfSAgICAgICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ1RpY2tldDo6SG9vaycpIHx8ICdUaWNrZXQjJzsKCiAgICAjIGNoZWNrIGlmIHRpY2tldCBpcyBub3JtYWwgb3IgcHJvY2VzcyB0aWNrZXQKICAgIG15ICRJc1Byb2Nlc3NUaWNrZXQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0JyktPlRpY2tldENoZWNrRm9yUHJvY2Vzc1R5cGUoCiAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldHtUaWNrZXRJRH0KICAgICk7CgogICAgIyBnZXQgem9vbSBzZXR0aW5ncyBkZXBlbmRpbmcgb24gdGlja2V0IHR5cGUKICAgICRTZWxmLT57RGlzcGxheVNldHRpbmdzfSA9ICRDb25maWdPYmplY3QtPkdldCgiVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRab29tIik7CgogICAgIyBvdmVyd3JpdGUgZGlzcGxheSBvcHRpb25zIGZvciBwcm9jZXNzIHRpY2tldAogICAgaWYgKCRJc1Byb2Nlc3NUaWNrZXQpIHsKICAgICAgICAkUGFyYW17V2lkZ2V0VGl0bGV9ID0gJFNlbGYtPntEaXNwbGF5U2V0dGluZ3N9LT57UHJvY2Vzc0Rpc3BsYXl9LT57V2lkZ2V0VGl0bGV9OwogICAgfQoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgY29uZmlnIGZvciBmcm9udGVuZCBtb2R1bGUKICAgIG15ICREeW5hbWljRmllbGRGaWx0ZXIgPSB7CiAgICAgICAgSXNIYXNoUmVmV2l0aERhdGEoICRTZWxmLT57RGlzcGxheVNldHRpbmdzfXtEeW5hbWljRmllbGRXaWRnZXREaXNwbGF5fSApCiAgICAgICAgPyAlewogICAgICAgICAgICAkQ29uZmlnT2JqZWN0LT5HZXQoIlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Wm9vbSIpCiAgICAgICAgICAgICAgICAtPntEeW5hbWljRmllbGRXaWRnZXREeW5hbWljRmllbGR9CiAgICAgICAgICAgICAgICB8fCB7fQogICAgICAgICAgICB9CiAgICAgICAgOiAoKSwKICAgICAgICAkSXNQcm9jZXNzVGlja2V0CiAgICAgICAgPyAlewogICAgICAgICAgICAkQ29uZmlnT2JqZWN0LT5HZXQoIlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Wm9vbSIpCiAgICAgICAgICAgICAgICAtPntQcm9jZXNzV2lkZ2V0RHluYW1pY0ZpZWxkfQogICAgICAgICAgICAgICAgfHwge30KICAgICAgICAgICAgfQogICAgICAgIDogKCksCiAgICAgICAgJXsgJENvbmZpZ09iamVjdC0+R2V0KCJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20iKS0+e0R5bmFtaWNGaWVsZH0gfHwge30gfSwKICAgIH07CgogICAgIyBnZXQgdGhlIGR5bmFtaWMgZmllbGRzIGZvciB0aWNrZXQgb2JqZWN0CiAgICBteSAkRHluYW1pY0ZpZWxkID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpLT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0VHlwZSAgPT4gWydUaWNrZXQnXSwKICAgICAgICBGaWVsZEZpbHRlciA9PiAkRHluYW1pY0ZpZWxkRmlsdGVyIHx8IHt9LAogICAgKTsKICAgIG15ICREeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZCcpOwoKICAgICMgdG8gc3RvcmUgZHluYW1pYyBmaWVsZHMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBwcm9jZXNzIHdpZGdldCBhbmQgaW4gdGhlIHNpZGViYXIKICAgIG15IChARmllbGRzU2lkZWJhcik7CgogICAgIyBjeWNsZSB0cm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGlja2V0IG9iamVjdAogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCAkRHluYW1pY0ZpZWxkLT5AKiApIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCB1bmxlc3MgSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgdW5sZXNzIGRlZmluZWQgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH07CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gZXEgJyc7CgogICAgICAgICMgQ2hlY2sgaWYgdGhpcyBmaWVsZCBpcyBzdXBwb3NlZCB0byBiZSBoaWRkZW4gZnJvbSB0aGUgdGlja2V0IGluZm9ybWF0aW9uIGJveC4KICAgICAgICAjICAgRm9yIGV4YW1wbGUsIGl0J3MgZGlzcGxheWVkIGJ5IGEgZGlmZmVyZW50IG1lY2hhbmlzbSAoaS5lLiBhc3luYyB3aWRnZXQpLgogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmCiAgICAgICAgICAgICREeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0LT5IYXNCZWhhdmlvcigKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICAgICAgQmVoYXZpb3IgICAgICAgICAgID0+ICdJc0hpZGRlbkluVGlja2V0SW5mb3JtYXRpb24nLAogICAgICAgICAgICApOwoKICAgICAgICAjIHVzZSB0cmFuc2xhdGlvbiBoZXJlIHRvIGJlIGFibGUgdG8gcmVkdWNlIHRoZSBjaGFyYWN0ZXIgbGVuZ3RoIGluIHRoZSB0ZW1wbGF0ZQogICAgICAgIG15ICRMYWJlbCA9ICRMYXlvdXRPYmplY3QtPntMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSggJER5bmFtaWNGaWVsZENvbmZpZy0+e0xhYmVsfSApOwoKICAgICAgICBteSAkVmFsdWVTdHJnID0gJER5bmFtaWNGaWVsZEJhY2tlbmRPYmplY3QtPkRpc3BsYXlWYWx1ZVJlbmRlcigKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGlja2V0eyJEeW5hbWljRmllbGRfJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9In0sCiAgICAgICAgICAgIExheW91dE9iamVjdCAgICAgICA9PiAkTGF5b3V0T2JqZWN0LAogICAgICAgICAgICBWYWx1ZU1heENoYXJzICAgICAgPT4gJENvbmZpZ09iamVjdC0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpEeW5hbWljRmllbGRzWm9vbU1heFNpemVTaWRlYmFyJykgfHwgMTgsICAgICMgbGltaXQgZm9yIHNpZGViYXIgZGlzcGxheQogICAgICAgICk7CgogICAgICAgIGlmICggJFNlbGYtPntEaXNwbGF5U2V0dGluZ3N9LT57RHluYW1pY0ZpZWxkfS0+eyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSApIHsKICAgICAgICAgICAgcHVzaCBARmllbGRzU2lkZWJhciwgewogICAgICAgICAgICAgICAgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9ID0+ICRWYWx1ZVN0cmctPntUaXRsZX0sCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgPT4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9LAogICAgICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICAgICAgICAgID0+ICRWYWx1ZVN0cmctPntUaXRsZX0sCiAgICAgICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgPT4gJFZhbHVlU3RyZy0+e1ZhbHVlfSwKICAgICAgICAgICAgICAgIExhYmVsICAgICAgICAgICAgICAgICAgICAgICA9PiAkTGFiZWwsCiAgICAgICAgICAgICAgICBMaW5rICAgICAgICAgICAgICAgICAgICAgICAgPT4gJFZhbHVlU3RyZy0+e0xpbmt9LAogICAgICAgICAgICAgICAgTGlua1ByZXZpZXcgICAgICAgICAgICAgICAgID0+ICRWYWx1ZVN0cmctPntMaW5rUHJldmlld30sCiAgICAgICAgICAgICAgICBGaWVsZFR5cGUgICAgICAgICAgICAgICAgICAgPT4gJER5bmFtaWNGaWVsZENvbmZpZy0+e0ZpZWxkVHlwZX0sCiAgICAgICAgICAgICAgICBUaXRsZUZpZWxkQ29uZmlnICAgICAgICAgICAgPT4gKCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57RmllbGRUeXBlfSBlcSAnVGl0bGUnICkgPyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57Q29uZmlnfSA6IHVuZGVmLAoKICAgICAgICAgICAgICAgICMgSW5jbHVkZSB1bmlxdWUgcGFyYW1ldGVyIHdpdGggZHluYW1pYyBmaWVsZCBuYW1lIGluIGNhc2Ugb2YgY29sbGlzaW9uIHdpdGggb3RoZXJzLgogICAgICAgICAgICAgICAgIyAgIFBsZWFzZSBzZWUgYnVnIzEzMzYyIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgIkR5bmFtaWNGaWVsZF8kRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0iID0+ICRWYWx1ZVN0cmctPntUaXRsZX0sCiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICAjIGV4YW1wbGUgb2YgZHluYW1pYyBmaWVsZHMgb3JkZXIgY3VzdG9taXphdGlvbgogICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdUaWNrZXREeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSwKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBMYWJlbCA9PiAkTGFiZWwsCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldER5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IC4gJ19QbGFpbicsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgVmFsdWUgPT4gJFZhbHVlU3RyZy0+e1ZhbHVlfSwKICAgICAgICAgICAgICAgIFRpdGxlID0+ICRWYWx1ZVN0cmctPntUaXRsZX0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIG91dHB1dCBkeW5hbWljIGZpZWxkcyBpbiB0aGUgc2lkZWJhcgogICAgRklFTEQ6CiAgICBmb3IgbXkgJEZpZWxkIChARmllbGRzU2lkZWJhcikgewoKICAgICAgICAjIGNoZWNrIFNldCBmaWVsZCBiZWhhdmlvciB0byBpbmNsdWRlIGxlbnNlcyBvbiBTZXRzCiAgICAgICAgbXkgJEZpZWxkQ29uZmlnID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZCcpLT5EeW5hbWljRmllbGRHZXQoCiAgICAgICAgICAgIE5hbWUgPT4gJEZpZWxkLT57TmFtZX0sCiAgICAgICAgKTsKICAgICAgICBteSAkSXNTZXRGaWVsZCA9ICREeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0LT5IYXNCZWhhdmlvcigKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICRGaWVsZENvbmZpZywKICAgICAgICAgICAgQmVoYXZpb3IgICAgICAgICAgID0+ICdJc1NldEZpZWxkJywKICAgICAgICApOwoKICAgICAgICAjIGhhbmRsZSB0aXRsZXMgc2VwYXJhdGVseQogICAgICAgIGlmICggJEZpZWxkLT57VGl0bGVGaWVsZENvbmZpZ30gKSB7CiAgICAgICAgICAgIG15ICRTdHlsZSA9ICJwYWRkaW5nLWxlZnQ6NHB4O2ZvbnQtc2l6ZTokRmllbGQtPntUaXRsZUZpZWxkQ29uZmlnfXtGb250U2l6ZX1weDtjb2xvcjokRmllbGQtPntUaXRsZUZpZWxkQ29uZmlnfXtGb250Q29sb3J9OyI7CgogICAgICAgICAgICBpZiAoICRGaWVsZC0+e1RpdGxlRmllbGRDb25maWd9e0NCRm9udFN0eWxlVW5kZXJMaW5lVmFsdWV9ICkgewogICAgICAgICAgICAgICAgJFN0eWxlIC49ICJ0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAkRmllbGQtPntUaXRsZUZpZWxkQ29uZmlnfXtDQkZvbnRTdHlsZUl0YWxpY1ZhbHVlfSApIHsKICAgICAgICAgICAgICAgICRTdHlsZSAuPSAiZm9udC1zdHlsZTppdGFsaWM7IjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICRGaWVsZC0+e1RpdGxlRmllbGRDb25maWd9e0NCRm9udFN0eWxlQm9sZFZhbHVlfSApIHsKICAgICAgICAgICAgICAgICRTdHlsZSAuPSAiZm9udC13ZWlnaHQ6Ym9sZDsiOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkTGF5b3V0T2JqZWN0LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldER5bmFtaWNGaWVsZCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBUZXh0ICAgICAgID0+ICRGaWVsZC0+e0xhYmVsfSwKICAgICAgICAgICAgICAgICAgICBTdHlsZSAgICAgID0+ICRTdHlsZSwKICAgICAgICAgICAgICAgICAgICBUaXRsZUZpZWxkID0+IDEsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbmV4dCBGSUVMRDsKICAgICAgICB9CiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwojICAgICAgICAgZWxzaWYgKCRJc1NldEZpZWxkKSB7CiAgICAgICAgZWxzaWYgKAogICAgICAgICAgICAkSXNTZXRGaWVsZAogICAgICAgICAgICB8fCAoJEZpZWxkLT57RmllbGRUeXBlfSBlcSAnRGF0YWJhc2UnICYmICRDb25maWdPYmplY3QtPkdldCgnRHluYW1pY0ZpZWxkREI6OkV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUnKSkKICAgICAgICApIHsKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgIExhYmVsICAgICA9PiAkRmllbGQtPntMYWJlbH0sCiAgICAgICAgICAgICAgICAgICAgVmFsdWUgICAgID0+ICRGaWVsZC0+e1ZhbHVlfSwKICAgICAgICAgICAgICAgICAgICBIVE1MVmFsdWUgPT4gMSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBuZXh0IEZJRUxEOwogICAgICAgIH0KCiAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1RpY2tldER5bmFtaWNGaWVsZCcsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTGFiZWwgPT4gJEZpZWxkLT57TGFiZWx9LAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgIGlmICggJEZpZWxkLT57TGlua30gKSB7CiAgICAgICAgICAgICRMYXlvdXRPYmplY3QtPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0RHluYW1pY0ZpZWxkTGluaycsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICAkRmllbGQtPntOYW1lfSA9PiAkRmllbGQtPntUaXRsZX0sCiAgICAgICAgICAgICAgICAgICAgJVRpY2tldCwKCiAgICAgICAgICAgICAgICAgICAgIyBhbGlhcyBmb3IgdGlja2V0IHRpdGxlLCBUaXRsZSB3aWxsIGJlIG92ZXJ3cml0dGVuCiAgICAgICAgICAgICAgICAgICAgVGlja2V0VGl0bGUgPT4gJFRpY2tldHtUaXRsZX0sCiAgICAgICAgICAgICAgICAgICAgVmFsdWUgICAgICAgPT4gJEZpZWxkLT57VmFsdWV9LAogICAgICAgICAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICRGaWVsZC0+e1RpdGxlfSwKICAgICAgICAgICAgICAgICAgICBMaW5rICAgICAgICA9PiAkRmllbGQtPntMaW5rfSwKICAgICAgICAgICAgICAgICAgICBMaW5rUHJldmlldyA9PiAkRmllbGQtPntMaW5rUHJldmlld30sCgogICAgICAgICAgICAgICAgICAgICMgSW5jbHVkZSB1bmlxdWUgcGFyYW1ldGVyIHdpdGggZHluYW1pYyBmaWVsZCBuYW1lIGluIGNhc2Ugb2YgY29sbGlzaW9uIHdpdGggb3RoZXJzLgogICAgICAgICAgICAgICAgICAgICMgICBQbGVhc2Ugc2VlIGJ1ZyMxMzM2MiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAgICAgICAgICAgICAgICAgICAiRHluYW1pY0ZpZWxkXyRGaWVsZC0+e05hbWV9IiA9PiAkRmllbGQtPntUaXRsZX0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJExheW91dE9iamVjdC0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaWNrZXREeW5hbWljRmllbGRQbGFpbicsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkRmllbGQtPntWYWx1ZX0sCiAgICAgICAgICAgICAgICAgICAgVGl0bGUgPT4gJEZpZWxkLT57VGl0bGV9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgbXkgJE91dHB1dCA9ICRMYXlvdXRPYmplY3QtPk91dHB1dCgKICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJ0FnZW50VGlja2V0Wm9vbS9UaWNrZXRJbmZvcm1hdGlvbicsCiAgICAgICAgRGF0YSAgICAgICAgID0+IHsgJVBhcmFtLCAlVGlja2V0LCAlQWNsQWN0aW9uIH0sCiAgICApOwoKICAgIHJldHVybiB7CiAgICAgICAgT3V0cHV0ID0+ICRPdXRwdXQsCiAgICB9Owp9CgoxOwo=</File>
        <File Location="Custom/Kernel/System/DynamicField/Driver/BaseDatabase.pm" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDE5IE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgJG9yaWdpbjogb3RvYm8gLSA3Y2M4NGNlMTNjOGU2YzM0ODU2MDVhZGU1NTg1MDE0YWJkOTExNTc5IC0gS2VybmVsL1N5c3RlbS9EeW5hbWljRmllbGQvRHJpdmVyL0Jhc2VEYXRhYmFzZS5wbQojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkRyaXZlcjo6QmFzZURhdGFiYXNlOwoKIyMgbm9maWx0ZXIoVGlkeUFsbDo6UGx1Z2luOjpPVE9CTzo6UGVybDo6UGFyYW1PYmplY3QpCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCnVzZSBwYXJlbnQgcXcoS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6RHJpdmVyOjpCYXNlKTsKCiMgY29yZSBtb2R1bGVzCiMgUm90aGVyIE9TUyAvIER5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucwp1c2UgTGlzdDo6VXRpbCBxdyh1bmlxKTsKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiMgQ1BBTiBtb2R1bGVzCnVzZSBMaXN0OjpBbGxVdGlscyBxdyhhbnkgbGFzdF9pbmRleCk7CgojIE9UT0JPIG1vZHVsZXMKdXNlIEtlcm5lbDo6TGFuZ3VhZ2UgICAgICAgICAgICAgIHF3KFRyYW5zbGF0YWJsZSk7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCm91ciBAT2JqZWN0RGVwZW5kZW5jaWVzID0gKAogICAgJ0tlcm5lbDo6Q29uZmlnJywKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAnS2VybmVsOjpTeXN0ZW06OkNhY2hlJywKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICdLZXJuZWw6OlN5c3RlbTo6REInLAogICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGREQicsCiAgICAnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlJywKICAgICdLZXJuZWw6OlN5c3RlbTo6TG9nJywKKTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpEcml2ZXI6OkJhc2VEYXRhYmFzZSAtIGJhc2UgbW9kdWxlIGZvciB0aGUgRGF0YWJhc2UgZHluYW1pYyBmaWVsZAoKPWhlYWQxIERFU0NSSVBUSU9OCgpCYXNlIG1vZHVsZSBmb3IgdGhlIERhdGFiYXNlIGR5bmFtaWMgZmllbGQuCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKTW9kdWxlcyB0aGF0IGFyZSBkZXJpdmVkIGZyb20gdGhpcyBiYXNlIG1vZHVsZSBpbXBsZW1lbnQgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9Y3V0CgpzdWIgVmFsdWVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCByYXcgdmFsdWVzIG9mIHRoZSBkeW5hbWljIGZpZWxkCiAgICBteSAkREZWYWx1ZSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZScpLT5WYWx1ZUdldCgKICAgICAgICBGaWVsZElEICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtJRH0sCiAgICAgICAgT2JqZWN0SUQgPT4gJFBhcmFte09iamVjdElEfSwKICAgICk7CgogICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpc2VsZWN0fSApIHsKCiAgICAgICAgcmV0dXJuIGlmICEkREZWYWx1ZTsKICAgICAgICByZXR1cm4gaWYgIUlzQXJyYXlSZWZXaXRoRGF0YSgkREZWYWx1ZSk7CiAgICAgICAgcmV0dXJuIGlmICFJc0hhc2hSZWZXaXRoRGF0YSggJERGVmFsdWUtPlswXSApOwoKICAgICAgICBteSBAUmV0dXJuRGF0YTsKICAgICAgICBmb3IgbXkgJFZhbHVlICggJERGVmFsdWUtPkAqICkgewogICAgICAgICAgICBwdXNoIEBSZXR1cm5EYXRhLCAkVmFsdWUtPntWYWx1ZVRleHR9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gXEBSZXR1cm5EYXRhOwogICAgfQoKICAgIHJldHVybiAkU2VsZi0+VmFsdWVTdHJ1Y3R1cmVGcm9tREIoCiAgICAgICAgVmFsdWVEQiAgICA9PiAkREZWYWx1ZSwKICAgICAgICBWYWx1ZUtleSAgID0+ICdWYWx1ZVRleHQnLAogICAgICAgIE11bHRpVmFsdWUgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtNdWx0aVZhbHVlfSwKICAgICAgICBCYXNlQXJyYXkgID0+ICEkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpVmFsdWV9LAogICAgKTsKfQoKc3ViIFZhbHVlU2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayB2YWx1ZQogICAgbXkgJFZhbHVlOwogICAgaWYgKCByZWYgJFBhcmFte1ZhbHVlfSBlcSAnQVJSQVknICkgewogICAgICAgIGlmICgKICAgICAgICAgICAgISRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlWYWx1ZX0KICAgICAgICAgICAgJiYgISRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlzZWxlY3R9CiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRQYXJhbXtWYWx1ZX0tPlswXTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRQYXJhbXtWYWx1ZX07CiAgICAgICAgfQogICAgfQogICAgZWxzaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpc2VsZWN0fSApIHsKICAgICAgICBteSBAVmFsdWVzID0gc3BsaXQgLywvLCAkUGFyYW17VmFsdWV9IC8vICcnOwogICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCBcQFZhbHVlcyApICkgewogICAgICAgICAgICAkVmFsdWUgPSBcQFZhbHVlczsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRWYWx1ZSA9IFsgJFBhcmFte1ZhbHVlfSBdOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UgewogICAgICAgICRWYWx1ZSA9ICRQYXJhbXtWYWx1ZX07CiAgICB9CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICMgZGVsZXRlIERpc3BsYXlWYWx1ZVJlbmRlciBjYWNoZSBwZXIgaXRlbQogICAgbXkgQFZhbHVlSXRlbXMgPSBJc0FycmF5UmVmV2l0aERhdGEoJFZhbHVlKSA/ICRWYWx1ZS0+QCogOiAoJFZhbHVlKTsKICAgIFZBTFVFSVRFTToKICAgIGZvciBteSAkVmFsdWVJdGVtICggQFZhbHVlSXRlbXMgKSB7CiAgICAgICAgbmV4dCBWQUxVRUlURU0gdW5sZXNzICRWYWx1ZUl0ZW07CgogICAgICAgIGZvciBteSAkSW50ZXJmYWNlIChxdyhBZ2VudEludGVyZmFjZSBDdXN0b21lckludGVyZmFjZSkpIHsKCiAgICAgICAgICAgICMgTk9URSAkVmFsdWVJdGVtIGlzIHRoZSBQb3NzaWJsZVZhbHVlcyBlbGVtZW50IG1hcmtlZCBhcyBJZGVudGlmaWVyCiAgICAgICAgICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5EZWxldGUoCiAgICAgICAgICAgICAgICBUeXBlID0+ICdEeW5hbWljRmllbGREQicsCiAgICAgICAgICAgICAgICBLZXkgID0+ICIkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0lEfS0kSW50ZXJmYWNlLSRWYWx1ZUl0ZW0iLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiMgRU8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiAgICAjIE1ha2Ugc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBub3QgbW9kaWZpZWQgaW4gVmFsdWVTZXQoKQogICAgbXkgJERCVmFsdWU7CiAgICBpZiAoICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlzZWxlY3R9ICkgewogICAgICAgICREQlZhbHVlID0gWyBtYXAgeyB7ICdWYWx1ZVRleHQnID0+ICRfIH0gfSAkVmFsdWUtPkAqIF07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkREJWYWx1ZSA9ICRTZWxmLT5WYWx1ZVN0cnVjdHVyZVRvREIoCiAgICAgICAgICAgIFZhbHVlICAgICAgPT4gJFZhbHVlLAogICAgICAgICAgICBWYWx1ZUtleSAgID0+ICdWYWx1ZVRleHQnLAogICAgICAgICAgICBNdWx0aVZhbHVlID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9e0NvbmZpZ317TXVsdGlWYWx1ZX0gfHwgJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ317Q29uZmlnfXtNdWx0aXNlbGVjdH0sCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlJyktPlZhbHVlU2V0KAogICAgICAgIEZpZWxkSUQgID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LAogICAgICAgIE9iamVjdElEID0+ICRQYXJhbXtPYmplY3RJRH0sCiAgICAgICAgVmFsdWUgICAgPT4gJERCVmFsdWUsCiAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwp9CgpzdWIgVmFsdWVJc0RpZmZlcmVudCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgaGFuZGxlIGFycmF5IGNvbXBhcmlzb24KICAgIGlmICggcmVmICRQYXJhbXtWYWx1ZTF9IGVxICdBUlJBWScgKSB7CgogICAgICAgICMgc3RyaXAgdHJhaWxpbmcgZW1wdHkgdmFsdWVzIGFuZCBtYXAgZW1wdHkgc3RyaW5ncyB0byB1bmRlZgogICAgICAgICMgICBmb3IgY29tcGFyaXNvbiBvZiBmcm9udGVuZCB2YWx1ZSB3aXRoIGRhdGFiYXNlIHZhbHVlCiAgICAgICAgbXkgQFZhbHVlcyA9IG1hcCB7ICggZGVmaW5lZCAkXyAmJiAkXyBlcSAnJyApID8gdW5kZWYgOiAkXyB9ICRQYXJhbXtWYWx1ZTF9LT5AKjsKICAgICAgICBpZiAoIGFueSB7IGRlZmluZWQgJF8gfSBAVmFsdWVzICkgewogICAgICAgICAgICBzcGxpY2UoIEBWYWx1ZXMsICggbGFzdF9pbmRleCB7IGRlZmluZWQgJF8gfSBAVmFsdWVzICkgKyAxICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBAVmFsdWVzID0gKCk7CiAgICAgICAgfQogICAgICAgICRQYXJhbXtWYWx1ZTF9ID0gXEBWYWx1ZXM7CgogICAgICAgICMgc3BlY2lhbCBjYXNlIHdoZXJlIHRoZSB2YWx1ZXMgYXJlIGRpZmZlcmVudCBidXQgdGhleSBzaG91bGQgYmUgcmVwb3J0ZWQgYXMgZXF1YWxzCiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17VmFsdWUyfSAmJiAhJFBhcmFte1ZhbHVlMX0tPkAqICkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggcmVmICRQYXJhbXtWYWx1ZTJ9IGVxICdBUlJBWScgKSB7CgogICAgICAgICMgc3RyaXAgdHJhaWxpbmcgZW1wdHkgdmFsdWVzIGFuZCBtYXAgZW1wdHkgc3RyaW5ncyB0byB1bmRlZgogICAgICAgICMgICBmb3IgY29tcGFyaXNvbiBvZiBmcm9udGVuZCB2YWx1ZSB3aXRoIGRhdGFiYXNlIHZhbHVlCiAgICAgICAgbXkgQFZhbHVlcyA9IG1hcCB7ICggZGVmaW5lZCAkXyAmJiAkXyBlcSAnJyApID8gdW5kZWYgOiAkXyB9ICRQYXJhbXtWYWx1ZTJ9LT5AKjsKICAgICAgICBpZiAoIGFueSB7IGRlZmluZWQgJF8gfSBAVmFsdWVzICkgewogICAgICAgICAgICBzcGxpY2UoIEBWYWx1ZXMsICggbGFzdF9pbmRleCB7IGRlZmluZWQgJF8gfSBAVmFsdWVzICkgKyAxICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBAVmFsdWVzID0gKCk7CiAgICAgICAgfQogICAgICAgICRQYXJhbXtWYWx1ZTJ9ID0gXEBWYWx1ZXM7CgogICAgICAgICMgc3BlY2lhbCBjYXNlIHdoZXJlIHRoZSB2YWx1ZXMgYXJlIGRpZmZlcmVudCBidXQgdGhleSBzaG91bGQgYmUgcmVwb3J0ZWQgYXMgZXF1YWxzCiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17VmFsdWUxfSAmJiAhJFBhcmFte1ZhbHVlMn0tPkAqICkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgc3BlY2lhbCBjYXNlcyB3aGVyZSB0aGUgdmFsdWVzIGFyZSBkaWZmZXJlbnQgYnV0IHRoZXkgc2hvdWxkIGJlIHJlcG9ydGVkIGFzIGVxdWFscwogICAgIyBOT1RFIGluIGNhc2UgdGhhdCBlaXRoZXIgVmFsdWUxIG9yIFZhbHVlMiBpcyBhbiBhcnJheSByZWYsIHdlIHJlbHkgb24gc3RyaW5naWZpZWQKICAgICMgICBhcnJheSByZWZlcmVuY2VzIG5vdCBiZWluZyBlbXB0eSBmb3IgdGhpcyB0byB3b3JrCiAgICByZXR1cm4gaWYgIWRlZmluZWQgJFBhcmFte1ZhbHVlMX0gJiYgKCBkZWZpbmVkICRQYXJhbXtWYWx1ZTJ9ICYmICRQYXJhbXtWYWx1ZTJ9IGVxICcnICk7CiAgICByZXR1cm4gaWYgIWRlZmluZWQgJFBhcmFte1ZhbHVlMn0gJiYgKCBkZWZpbmVkICRQYXJhbXtWYWx1ZTF9ICYmICRQYXJhbXtWYWx1ZTF9IGVxICcnICk7CgogICAgIyBDb21wYXJlIHRoZSByZXN1bHRzLgogICAgcmV0dXJuIERhdGFJc0RpZmZlcmVudCgKICAgICAgICBEYXRhMSA9PiBcJFBhcmFte1ZhbHVlMX0sCiAgICAgICAgRGF0YTIgPT4gXCRQYXJhbXtWYWx1ZTJ9LAogICAgKTsKfQoKc3ViIFZhbHVlVmFsaWRhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIHZhbHVlcwogICAgbXkgQFZhbHVlczsKICAgIGlmICggcmVmICRQYXJhbXtWYWx1ZX0gZXEgJ0FSUkFZJyApIHsKICAgICAgICBAVmFsdWVzID0gQHsgJFBhcmFte1ZhbHVlfSB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgQFZhbHVlcyA9ICggJFBhcmFte1ZhbHVlfSApOwogICAgfQoKICAgIG15ICRTdWNjZXNzOwogICAgZm9yIG15ICRWYWx1ZSAoQFZhbHVlcykgewogICAgICAgICRTdWNjZXNzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlJyktPlZhbHVlVmFsaWRhdGUoCiAgICAgICAgICAgIFZhbHVlID0+IHsKICAgICAgICAgICAgICAgIFZhbHVlVGV4dCA9PiAkVmFsdWUsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgICAgIHJldHVybiBpZiAhJFN1Y2Nlc3M7CiAgICB9CgogICAgcmV0dXJuICRTdWNjZXNzOwp9CgpzdWIgRmllbGRWYWx1ZVZhbGlkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBDaGVjayBmb3IgZGVmaW5lZCB2YWx1ZS4KICAgIGlmICggIWRlZmluZWQgJFBhcmFte1ZhbHVlfSApIHsKICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6TG9nJyktPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgVmFsdWUgaW4gRGF0YWJhc2UgRHluYW1pY0ZpZWxkISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgQFZhbHVlczsKICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCAkUGFyYW17VmFsdWV9ICkgKSB7CiAgICAgICAgQFZhbHVlcyA9IEB7ICRQYXJhbXtWYWx1ZX0gfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIEBWYWx1ZXMgPSAoICRQYXJhbXtWYWx1ZX0gKTsKICAgIH0KCiAgICAkS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAgICAgJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGREQicgPT4gewogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30sCiAgICAgICAgfSwKICAgICk7CiAgICBteSAkRHluYW1pY0ZpZWxkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkREInKTsKCiAgICBmb3IgbXkgJFZhbHVlIChAVmFsdWVzKSB7CiAgICAgICAgbXkgQFNlYXJjaFJlc3VsdCA9ICREeW5hbWljRmllbGREQk9iamVjdC0+RGF0YWJhc2VTZWFyY2hCeUNvbmZpZygKICAgICAgICAgICAgQ29uZmlnID0+ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57Q29uZmlnfSwKICAgICAgICAgICAgU2VhcmNoID0+ICRWYWx1ZSwKICAgICAgICApOwogICAgICAgIHJldHVybiBpZiAhSXNBcnJheVJlZldpdGhEYXRhKCBcQFNlYXJjaFJlc3VsdCApOwogICAgfQoKICAgIHJldHVybiAxOwp9CgpzdWIgU2VhcmNoU1FMR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJU9wZXJhdG9ycyA9ICgKICAgICAgICBFcXVhbHMgICAgICAgICAgICA9PiAnPScsCiAgICAgICAgR3JlYXRlclRoYW4gICAgICAgPT4gJz4nLAogICAgICAgIEdyZWF0ZXJUaGFuRXF1YWxzID0+ICc+PScsCiAgICAgICAgU21hbGxlclRoYW4gICAgICAgPT4gJzwnLAogICAgICAgIFNtYWxsZXJUaGFuRXF1YWxzID0+ICc8PScsCiAgICApOwoKICAgICMgZ2V0IGRhdGFiYXNlIG9iamVjdAogICAgbXkgJERCT2JqZWN0ID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpTeXN0ZW06OkRCJyk7CgogICAgaWYgKCAkT3BlcmF0b3JzeyAkUGFyYW17T3BlcmF0b3J9IH0gKSB7CiAgICAgICAgbXkgJFNRTCA9ICIgJFBhcmFte1RhYmxlQWxpYXN9LnZhbHVlX3RleHQgJE9wZXJhdG9yc3skUGFyYW17T3BlcmF0b3J9fSAnIjsKICAgICAgICAkU1FMIC49ICREQk9iamVjdC0+UXVvdGUoICRQYXJhbXtTZWFyY2hUZXJtfSApIC4gIicgIjsKICAgICAgICByZXR1cm4gJFNRTDsKICAgIH0KCiAgICBpZiAoICRQYXJhbXtPcGVyYXRvcn0gZXEgJ0xpa2UnICkgewoKICAgICAgICBteSAkU1FMID0gJERCT2JqZWN0LT5RdWVyeUNvbmRpdGlvbigKICAgICAgICAgICAgS2V5ICAgPT4gIiRQYXJhbXtUYWJsZUFsaWFzfS52YWx1ZV90ZXh0IiwKICAgICAgICAgICAgVmFsdWUgPT4gJFBhcmFte1NlYXJjaFRlcm19LAogICAgICAgICk7CgogICAgICAgIHJldHVybiAkU1FMOwogICAgfQoKICAgICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpMb2cnKS0+TG9nKAogICAgICAgICdQcmlvcml0eScgPT4gJ2Vycm9yJywKICAgICAgICAnTWVzc2FnZScgID0+ICJVbnN1cHBvcnRlZCBPcGVyYXRvciAkUGFyYW17T3BlcmF0b3J9IiwKICAgICk7CgogICAgcmV0dXJuOwp9CgpzdWIgU2VhcmNoU1FMT3JkZXJGaWVsZEdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAiJFBhcmFte1RhYmxlQWxpYXN9LnZhbHVlX3RleHQiOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnICAgICAgID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgICAgICAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICAgICAgICA9ICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TGFiZWx9OwogICAgbXkgJEZpZWxkTGFiZWxFc2NhcGVkID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgVGV4dCA9PiAkUGFyYW17TGF5b3V0T2JqZWN0fXtMYW5ndWFnZU9iamVjdH0tPlRyYW5zbGF0ZSgkRmllbGRMYWJlbCksCiAgICApOwoKICAgIG15ICRWYWx1ZSA9ICcnOwoKICAgICMgUHJlcGFyZSB0aGUgdmFsdWUgdG8gYmUgY29tbWEgc2VwYXJhdGVkIGFuZCBzZXQgdGhlIGZpZWxkIHZhbHVlLgogICAgbXkgQFZhbHVlczsKICAgIGlmICggcmVmICRQYXJhbXtWYWx1ZX0gZXEgJ0FSUkFZJyApIHsKICAgICAgICBAVmFsdWVzID0gQHsgJFBhcmFte1ZhbHVlfSB9OwogICAgfQogICAgZWxzaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkUGFyYW17VmFsdWV9ICkgKSB7CiAgICAgICAgQFZhbHVlcyA9ICggJFBhcmFte1ZhbHVlfSApOwogICAgfQoKICAgICMgU2V0IG5ldyBsaW5lIHNlcGFyYXRvci4KICAgIG15ICRJdGVtU2VwYXJhdG9yID0gJywgJzsKCiAgICAkVmFsdWUgPSBqb2luICRJdGVtU2VwYXJhdG9yLCBAVmFsdWVzOwoKICAgICMgRXh0cmFjdCB0aGUgZHluYW1pYyBmaWVsZCB2YWx1ZSBmcm9tIHRoZSB3ZWIgcmVxdWVzdCBhbmQgc2V0IGl0IGlmIHByZXNlbnQuIERvIHRoaXMgYWZ0ZXIKICAgICMgICBzdG9yZWQgdmFsdWUgaXMgcmV0cmlldmVkIGFuZCBwcm9jZXNzZWQsIHNvIGl0IGNhbiBiZSBvdmVycmlkZGVuIGlmIGZvcm0gaGFzIHJlZnJlc2hlZCBmb3IKICAgICMgICBzb21lIHJlYXNvbnMgKGkuZS4gYXR0YWNobWVudCBoYXMgYmVlbiB1cGxvYWRlZCkuIFNlZSBidWcjMTI0NTMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICBteSAkRmllbGRWYWx1ZSA9ICRTZWxmLT5FZGl0RmllbGRWYWx1ZUdldCgKICAgICAgICAlUGFyYW0sCiAgICApOwoKICAgICMgc2V0IHZhbHVlcyBmcm9tIFBhcmFtT2JqZWN0IGlmIHByZXNlbnQKICAgIGlmICggJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gKSB7CiAgICAgICAgaWYgKCAkRmllbGRWYWx1ZS0+QCogKSB7CiAgICAgICAgICAgICRWYWx1ZSA9ICRGaWVsZFZhbHVlOwogICAgICAgIH0KICAgIH0KICAgIGVsc2lmICggZGVmaW5lZCAkRmllbGRWYWx1ZSApIHsKICAgICAgICAkVmFsdWUgPSAkRmllbGRWYWx1ZTsKICAgIH0KCiAgICBpZiAoICFyZWYgJFZhbHVlICkgewogICAgICAgICRWYWx1ZSA9IFskVmFsdWVdOwogICAgfQogICAgZWxzaWYgKCAhJFZhbHVlLT5AKiApIHsKICAgICAgICAkVmFsdWUgPSBbdW5kZWZdOwogICAgfQoKICAgICMgY2hlY2sgYW5kIHNldCBjbGFzcyBpZiBuZWNlc3NhcnkKICAgIG15ICRGaWVsZENsYXNzID0gJ0R5bmFtaWNGaWVsZERCIFc1MHBjJzsKICAgIGlmICggZGVmaW5lZCAkUGFyYW17Q2xhc3N9ICYmICRQYXJhbXtDbGFzc30gbmUgJycgKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyAnIC4gJFBhcmFte0NsYXNzfTsKICAgIH0KCiAgICAjIHNldCBjbGFzc2VzIGFjY29yZGluZyB0byBtYW5kYXRvcnkgYW5kIGFjbCBoaWRkZW4gcGFyYW1zCiAgICBpZiAoICRQYXJhbXtBQ0xIaWRkZW59ICYmICRQYXJhbXtNYW5kYXRvcnl9ICkgewogICAgICAgICRGaWVsZENsYXNzIC49ICcgVmFsaWRhdGVfUmVxdWlyZWRfSWZWaXNpYmxlJzsKICAgIH0KICAgIGVsc2lmICggJFBhcmFte01hbmRhdG9yeX0gKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyBWYWxpZGF0ZV9SZXF1aXJlZCc7CiAgICB9CgogICAgIyBzZXQgZXJyb3IgY3NzIGNsYXNzCiAgICBpZiAoICRQYXJhbXtTZXJ2ZXJFcnJvcn0gKSB7CiAgICAgICAgJEZpZWxkQ2xhc3MgLj0gJyBTZXJ2ZXJFcnJvcic7CiAgICB9CgogICAgIyBnZXQgdHJhbnNsYXRpb25zCiAgICBteSAkRGV0YWlsZWRTZWFyY2hNc2cgPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+e0xhbmd1YWdlT2JqZWN0fS0+VHJhbnNsYXRlKCJEZXRhaWxlZCBzZWFyY2giKTsKICAgIG15ICREZXRhaWxzTXNnICAgICAgICA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoIkRldGFpbHMiKTsKICAgIG15ICRSZW1vdmVWYWx1ZU1zZyAgICA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoIlJlbW92ZSB2YWx1ZSIpOwoKICAgICMgSGFuZGxpbmcgZm9yIERGIGRhdGFiYXNlIGluIEN1c3RvbWVyVGlja2V0UHJvY2VzcyBzY3JlZW4gKHNlZSBidWcjMTQwMzYpLgogICAgbXkgJER5bmFtaWNGaWVsZERCQ29udGFpbmVyID0gJ0R5bmFtaWNGaWVsZERCQ29udGFpbmVyJzsKICAgIGlmICggJFBhcmFte1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdBY3Rpb24nICkgZXEgJ0N1c3RvbWVyVGlja2V0UHJvY2VzcycgKSB7CiAgICAgICAgJER5bmFtaWNGaWVsZERCQ29udGFpbmVyIC49ICcgRHluYW1pY0ZpZWxkREJDb250YWluZXJQcm9jZXNzJzsKICAgIH0KCiAgICBteSAlRmllbGRUZW1wbGF0ZURhdGEgPSAoCiAgICAgICAgRmllbGROYW1lICAgICAgICAgICAgICAgPT4gJEZpZWxkTmFtZSwKICAgICAgICBGaWVsZExhYmVsICAgICAgICAgICAgICA9PiAkRmllbGRMYWJlbEVzY2FwZWQsCiAgICAgICAgRGV0YWlsZWRTZWFyY2hNc2cgICAgICAgPT4gJERldGFpbGVkU2VhcmNoTXNnLAogICAgICAgIEZpZWxkQ2xhc3MgICAgICAgICAgICAgID0+ICRGaWVsZENsYXNzLAogICAgICAgIERldGFpbHNNc2cgICAgICAgICAgICAgID0+ICREZXRhaWxzTXNnLAogICAgICAgIFJlbW92ZVZhbHVlTXNnICAgICAgICAgID0+ICRSZW1vdmVWYWx1ZU1zZywKICAgICAgICBEeW5hbWljRmllbGREQkNvbnRhaW5lciA9PiAkRHluYW1pY0ZpZWxkREJDb250YWluZXIsCiAgICAgICAgTXVsdGlWYWx1ZSAgICAgICAgICAgICAgPT4gJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gfHwgMCwKICAgICAgICBSZWFkb25seSAgICAgICAgICAgICAgICA9PiAkUGFyYW17UmVhZG9ubHl9LAogICAgKTsKCiAgICBpZiAoICRGaWVsZENvbmZpZy0+e1Rvb2x0aXB9ICkgewogICAgICAgICRGaWVsZFRlbXBsYXRlRGF0YXtXaXRoVG9vbHRpcH0gPSAnb29vV2l0aFRUJzsKICAgIH0KCiAgICBteSAkQXV0b0NvbXBsZXRlQ29uZmlnID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdBdXRvQ29tcGxldGU6OkFnZW50JykKICAgICAgICAtPnsnRHluYW1pY0ZpZWxkREJTZWFyY2gnfTsKICAgIG15ICRBY3RpdmVBdXRvQ29tcGxldGUgPSAkQXV0b0NvbXBsZXRlQ29uZmlnLT57QXV0b0NvbXBsZXRlQWN0aXZlfSB8fCAwOwoKICAgIG15ICRGaWVsZFRlbXBsYXRlRmlsZSA9ICRQYXJhbXtDdXN0b21lckludGVyZmFjZX0KICAgICAgICA/CiAgICAgICAgJ0R5bmFtaWNGaWVsZC9DdXN0b21lci9CYXNlRGF0YWJhc2UnCiAgICAgICAgOgogICAgICAgICdEeW5hbWljRmllbGQvQWdlbnQvQmFzZURhdGFiYXNlJzsKCiAgICBteSAlRXJyb3IgPSAoCiAgICAgICAgU2VydmVyRXJyb3IgPT4gJFBhcmFte1NlcnZlckVycm9yfSwKICAgICAgICBNYW5kYXRvcnkgICA9PiAkUGFyYW17TWFuZGF0b3J5fSwKICAgICk7CiAgICBteSBAUmVzdWx0SFRNTDsKICAgIGZvciBteSAkVmFsdWVJbmRleCAoIDAgLi4gJCN7JFZhbHVlfSApIHsKICAgICAgICAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gPSAkRmllbGRDb25maWctPntNdWx0aVZhbHVlfSA/ICRGaWVsZE5hbWUgLiAnXycgLiAkVmFsdWVJbmRleCA6ICRGaWVsZE5hbWU7CgogICAgICAgIGlmICggISRWYWx1ZUluZGV4ICkgewogICAgICAgICAgICBpZiAoICRFcnJvcntTZXJ2ZXJFcnJvcn0gKSB7CiAgICAgICAgICAgICAgICAkRXJyb3J7RGl2SURTZXJ2ZXJFcnJvcn0gPSAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gLiAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgJEVycm9ye0Vycm9yTWVzc2FnZX0gICAgID0gVHJhbnNsYXRhYmxlKCAkUGFyYW17RXJyb3JNZXNzYWdlfSB8fCAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAkRXJyb3J7TWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgICAgICRFcnJvcntEaXZJRE1hbmRhdG9yeX0gICAgICAgPSAkRmllbGRUZW1wbGF0ZURhdGF7RmllbGRJRH0gLiAnRXJyb3InOwogICAgICAgICAgICAgICAgJEVycm9ye0ZpZWxkUmVxdWlyZWRNZXNzYWdlfSA9IFRyYW5zbGF0YWJsZSgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwdXNoIEBSZXN1bHRIVE1MLCAkUGFyYW17TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICBUZW1wbGF0ZUZpbGUgPT4gJEZpZWxkVGVtcGxhdGVGaWxlLAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gewogICAgICAgICAgICAgICAgJUZpZWxkVGVtcGxhdGVEYXRhLAogICAgICAgICAgICAgICAgJUVycm9yLAogICAgICAgICAgICAgICAgVmFsdWUgPT4gJFZhbHVlLT5bJFZhbHVlSW5kZXhdLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFRlbXBsYXRlSFRNTDsKICAgIGlmICggJEZpZWxkQ29uZmlnLT57TXVsdGlWYWx1ZX0gJiYgISRQYXJhbXtSZWFkb25seX0gKSB7CiAgICAgICAgJEZpZWxkVGVtcGxhdGVEYXRhe0ZpZWxkSUR9ID0gJEZpZWxkTmFtZSAuICdfVGVtcGxhdGUnOwoKICAgICAgICBpZiAoICRQYXJhbXtNYW5kYXRvcnl9ICkgewogICAgICAgICAgICAkRmllbGRDbGFzcyAuPSAnIFZhbGlkYXRpb25JZ25vcmUnOwogICAgICAgIH0KCiAgICAgICAgJFRlbXBsYXRlSFRNTCA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAkRmllbGRUZW1wbGF0ZUZpbGUsCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiB7CiAgICAgICAgICAgICAgICAlRmllbGRUZW1wbGF0ZURhdGEsCiAgICAgICAgICAgICAgICBGaWVsZENsYXNzID0+ICRGaWVsZENsYXNzLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgJFBhcmFte0xheW91dE9iamVjdH0tPkFkZEpTRGF0YSgKICAgICAgICBLZXkgICA9PiAnQWN0aXZlQXV0b0NvbXBsZXRlJywKICAgICAgICBWYWx1ZSA9PiAkQWN0aXZlQXV0b0NvbXBsZXRlLAogICAgKTsKCiAgICAjIGNhbGwgRWRpdExhYmVsUmVuZGVyIG9uIHRoZSBjb21tb24gRHJpdmVyCiAgICBteSAkTGFiZWxTdHJpbmcgPSAkU2VsZi0+RWRpdExhYmVsUmVuZGVyKAogICAgICAgICVQYXJhbSwKICAgICAgICBNYW5kYXRvcnkgPT4gJFBhcmFte01hbmRhdG9yeX0gfHwgJzAnLAogICAgICAgIEZpZWxkTmFtZSA9PiAkRmllbGRDb25maWctPntNdWx0aVZhbHVlfSA/ICRGaWVsZE5hbWUgLiAnXzAnIDogJEZpZWxkTmFtZSwKICAgICk7CgogICAgbXkgJERhdGEgPSB7CiAgICAgICAgTGFiZWwgPT4gJExhYmVsU3RyaW5nLAogICAgfTsKCiAgICAjIGRlY2lkZSB3aGljaCBzdHJ1Y3R1cmUgdG8gcmV0dXJuCiAgICBpZiAoICRGaWVsZENvbmZpZy0+e011bHRpVmFsdWV9ICkgewogICAgICAgICREYXRhLT57TXVsdGlWYWx1ZX0gICAgICAgICA9IFxAUmVzdWx0SFRNTDsKICAgICAgICAkRGF0YS0+e011bHRpVmFsdWVUZW1wbGF0ZX0gPSAkVGVtcGxhdGVIVE1MOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJERhdGEtPntGaWVsZH0gPSAkUmVzdWx0SFRNTFswXTsKICAgIH0KCiAgICByZXR1cm4gJERhdGE7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwoKICAgIG15ICRWYWx1ZTsKCiAgICAjIGNoZWNrIGlmIHRoZXJlIGlzIGEgVGVtcGxhdGUgYW5kIHJldHJpZXZlIHRoZSBkeW5hbWljIGZpZWxkIHZhbHVlIGZyb20gdGhlcmUKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRQYXJhbXtUZW1wbGF0ZX0gKSAmJiBkZWZpbmVkICRQYXJhbXtUZW1wbGF0ZX0tPnskRmllbGROYW1lfSApIHsKICAgICAgICAkVmFsdWUgPSAkUGFyYW17VGVtcGxhdGV9LT57JEZpZWxkTmFtZX07CiAgICB9CgogICAgIyBvdGhlcndpc2UgZ2V0IGR5bmFtaWMgZmllbGQgdmFsdWUgZnJvbSB0aGUgd2ViIHJlcXVlc3QKICAgIGVsc2lmICgKICAgICAgICBkZWZpbmVkICRQYXJhbXtQYXJhbU9iamVjdH0KICAgICAgICAmJiByZWYgJFBhcmFte1BhcmFtT2JqZWN0fSBlcSAnS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdCcKICAgICAgICApCiAgICB7CiAgICAgICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfXtDb25maWd9e011bHRpVmFsdWV9ICkgewogICAgICAgICAgICBteSBARGF0YSA9ICRQYXJhbXtQYXJhbU9iamVjdH0tPkdldEFycmF5KCBQYXJhbSA9PiAkRmllbGROYW1lICk7CgogICAgICAgICAgICAjIGRlbGV0ZSB0aGUgdGVtcGxhdGUgdmFsdWUKICAgICAgICAgICAgcG9wIEBEYXRhOwoKICAgICAgICAgICAgJFZhbHVlID0gXEBEYXRhOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFZhbHVlID0gJFBhcmFte1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRGaWVsZE5hbWUgKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCBkZWZpbmVkICRQYXJhbXtSZXR1cm5UZW1wbGF0ZVN0cnVjdHVyZX0gJiYgJFBhcmFte1JldHVyblRlbXBsYXRlU3RydWN0dXJlfSBlcSAxICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICRGaWVsZE5hbWUgPT4gJFZhbHVlLAogICAgICAgIH07CiAgICB9CgogICAgIyBmb3IgdGhpcyBmaWVsZCB0aGUgbm9ybWFsIHJldHVybiBhbiB0aGUgUmV0dXJuVmFsdWVTdHJ1Y3R1cmUgYXJlIHRoZSBzYW1lCiAgICByZXR1cm4gJFZhbHVlOwp9CgpzdWIgRWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBodHRwIHJlcXVlc3QKICAgIG15ICRWYWx1ZSA9ICRTZWxmLT5FZGl0RmllbGRWYWx1ZUdldCgKICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30sCiAgICAgICAgUGFyYW1PYmplY3QgICAgICAgID0+ICRQYXJhbXtQYXJhbU9iamVjdH0sCgogICAgICAgICMgbm90IG5lY2Vzc2FyeSBmb3IgdGhpcyBEcml2ZXIgYnV0IHBsYWNlIGl0IGZvciBjb25zaXN0ZW5jeSByZWFzb25zCiAgICAgICAgUmV0dXJuVmFsdWVTdHJ1Y3R1cmUgPT4gMSwKICAgICk7CgogICAgbXkgJFNlcnZlckVycm9yOwoKICAgICMgcmVmIGNvbXBhcmlzb24gYmVjYXVzZSBFZGl0RmllbGRWYWx1ZXRldCByZXR1cm5zIGFuIGFycmF5cmVmIGV4Y2VwdCB3aGVuIHVzaW5nIHRlbXBsYXRlIHZhbHVlCiAgICBpZiAoIHJlZiAkVmFsdWUgbmUgJ0FSUkFZJyApIHsKICAgICAgICAkVmFsdWUgPSBbJFZhbHVlXTsKICAgIH0KCiAgICBpZiAoICRQYXJhbXtNYW5kYXRvcnl9ICYmICEkVmFsdWUtPkAqICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIFNlcnZlckVycm9yID0+IDEsCiAgICAgICAgfTsKICAgIH0KCiAgICBmb3IgbXkgJFZhbHVlSXRlbSAoIEB7JFZhbHVlfSApIHsKCiAgICAgICAgIyBwZXJmb3JtIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucwogICAgICAgIGlmICggJFBhcmFte01hbmRhdG9yeX0gJiYgISRWYWx1ZUl0ZW0gKSB7CiAgICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICAgICBTZXJ2ZXJFcnJvciA9PiAxLAogICAgICAgICAgICB9OwogICAgICAgIH0KICAgIH0KCiAgICAjIHJldHVybiByZXN1bHRpbmcgc3RydWN0dXJlCiAgICByZXR1cm4gewogICAgICAgIFNlcnZlckVycm9yID0+ICRTZXJ2ZXJFcnJvciwKICAgIH07Cn0KCnN1YiBEaXNwbGF5VmFsdWVSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFjdGl2YXRlIEhUTUxPdXRwdXQgd2hlbiBpdCB3YXNuJ3Qgc3BlY2lmaWVkCiAgICBteSAkSFRNTE91dHB1dCA9ICRQYXJhbXtIVE1MT3V0cHV0fSAvLyAxOwoKICAgICMgZ2V0IHJhdyBWYWx1ZSBzdHJpbmdzIGZyb20gZmllbGQgdmFsdWUKICAgIG15IEBWYWx1ZXMgPSAhcmVmICRQYXJhbXtWYWx1ZX0KICAgICAgICA/ICggJFBhcmFte1ZhbHVlfSApCiAgICAgICAgOiBzY2FsYXIgJFBhcmFte1ZhbHVlfS0+QCogPyAkUGFyYW17VmFsdWV9LT5AKgogICAgICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgKCcnKTsKCiAgICAkUGFyYW17VmFsdWVNYXhDaGFyc30gfHw9ICcnOwojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgIG15ICRFeHRlbmRlZFZhbHVlID0gMDsKICAgIGlmICggJFBhcmFte0xheW91dE9iamVjdH0gKSB7CiAgICAgICAgbXkgJUV4dGVuZGVkVmFsdWVBY3Rpb25zID0gKAogICAgICAgICAgICAnQWdlbnRJVFNNQ29uZmlnSXRlbVpvb20nICAgID0+IDEsCiAgICAgICAgICAgICdBZ2VudFRpY2tldFpvb20nICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgJ0N1c3RvbWVySVRTTUNvbmZpZ0l0ZW1ab29tJyA9PiAxLAogICAgICAgICAgICAnQ3VzdG9tZXJUaWNrZXRab29tJyAgICAgICAgID0+IDEsCiAgICAgICAgKTsKICAgICAgICAkRXh0ZW5kZWRWYWx1ZSA9ICRFeHRlbmRlZFZhbHVlQWN0aW9uc3skUGFyYW17TGF5b3V0T2JqZWN0fXtBY3Rpb259fSA/IDEgOiAwOwogICAgfQoKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICBteSBAUmVhZGFibGVWYWx1ZXM7CiAgICBteSBAUmVhZGFibGVUaXRsZXM7CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICMgb25seSBpbml0aWFsaXplIG9iamVjdCBpZiBuZWNjZXNzYXJ5IGluIGFuIGF0dGVtcHQgdG8gcmVkdWNlIGRhdGFiYXNlIHRyYWZmaWMKICAgIG15ICREeW5hbWljRmllbGREQk9iamVjdDsKICAgIG15ICRFeHRlbmRlZFZhbHVlU3RydWN0dXJlID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdEeW5hbWljRmllbGREQjo6RXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZScpOwogICAgbXkgQEhlYWRlcnMgPSAoJ0dlbmVyYWwnKTsKICAgIGlmICggJEV4dGVuZGVkVmFsdWVTdHJ1Y3R1cmUgJiYgJEV4dGVuZGVkVmFsdWUgKSB7CiAgICAgICAgJEtlcm5lbDo6T00tPk9iamVjdFBhcmFtQWRkKAogICAgICAgICAgICAnS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZERCJyA9PiB7CiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICAkRHluYW1pY0ZpZWxkREJPYmplY3QgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkREInKTsKCiAgICAgICAgIyBidWlsZCBoZWFkZXIgbGlzdAogICAgICAgIG15ICREaXNwbGF5ZmllbGRIZWFkZXJzID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKS0+R2V0KCdEeW5hbWljRmllbGREQjo6RGlzcGxheWZpZWxkSGVhZGVycycpOwogICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCREaXNwbGF5ZmllbGRIZWFkZXJzKSApIHsKICAgICAgICAgICAgQEhlYWRlcnMgPSB1bmlxIChASGVhZGVycywgJERpc3BsYXlmaWVsZEhlYWRlcnMtPkAqKTsKICAgICAgICB9CiAgICB9CgogICAgIyBmbGFnIGlmIGhlYWRlcnMgd2VyZSBhY3R1YWxseSB1c2VkLCB0byBiZSBhYmxlIHRvIG1haW50YWluIHN0YW5kYXJkIGJlaGF2aW9yIGlmIG5vdAogICAgbXkgJEhlYWRlcnNVc2VkID0gMDsKICAgIG15ICVIZWFkZXJmaWVsZHNIYXNoOwoKICAgICMgc2V0IGhlYWRlcnMgdXNlZCBmbGFnCiAgICBpZiAoICRFeHRlbmRlZFZhbHVlU3RydWN0dXJlICkgewogICAgICAgIEhFQURFUjoKICAgICAgICBmb3IgbXkgJEhlYWRlciAoIEBIZWFkZXJzICkgewoKICAgICAgICAgICAgIyBjb2xsZWN0IGZpZWxkcyBhc3NvY2lhdGVkIHRvIGN1cnJlbnQgaGVhZGVyCiAgICAgICAgICAgIG15IEBIZWFkZXJmaWVsZHM7CgogICAgICAgICAgICAjIGFycmF5IGZvciBjb2xsZWN0aW5nIHN0cmluZ3MgcGVyIGhlYWRlciBmaWVsZAogICAgICAgICAgICBESVNQTEFZRklFTEQ6CiAgICAgICAgICAgIGZvciBteSAkQ291bnRlciAoIDEgLi4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9LT57VmFsdWVDb3VudGVyfSApIHsKCiAgICAgICAgICAgICAgICBuZXh0IERJU1BMQVlGSUVMRCB1bmxlc3MgJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9LT57IkRpc3BsYXlmaWVsZF8kQ291bnRlciJ9OwoKCiAgICAgICAgICAgICAgICAjIE5PVEUgdXNpbmcgJEhlYWRlciBmb3IgY29tcGFyaXNvbiBpbnN0ZWFkIG9mICRTYW5pdGl6ZWRIZWFkZXIgYmVjYXVzZSBzZWxlY3RlZCBoZWFkZXJzIGFyZSBub3Qgc2FuaXRpemVkIGluIEFkbWluRHluYW1pY0ZpZWxkREIKICAgICAgICAgICAgICAgIGlmICggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9LT57IkRpc3BsYXlmaWVsZF8kQ291bnRlciJ9IGVxICRIZWFkZXIgKSB7CiAgICAgICAgICAgICAgICAgICAgcHVzaCBASGVhZGVyZmllbGRzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9LT57IkZpZWxkTGFiZWxfJENvdW50ZXIifSwKICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntQb3NzaWJsZVZhbHVlc30tPnsiRmllbGREYXRhdHlwZV8kQ291bnRlciJ9LAogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2tpcCBoZWFkZXJzIHdpdGggbm8gYXNzb2NpYXRlZCBmaWVsZHMKICAgICAgICAgICAgbmV4dCBIRUFERVIgdW5sZXNzIEBIZWFkZXJmaWVsZHM7CgogICAgICAgICAgICAkSGVhZGVyc1VzZWQgPSAxOwogICAgICAgICAgICAkSGVhZGVyZmllbGRzSGFzaHskSGVhZGVyfSA9IFxASGVhZGVyZmllbGRzOwogICAgICAgIH0KICAgIH0KIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICBmb3IgbXkgJFZhbHVlSXRlbSAoQFZhbHVlcykgewogICAgICAgICRWYWx1ZUl0ZW0gLy89ICcnOwoKICAgICAgICAjIHNldCB0aXRsZSBhcyB2YWx1ZSBhZnRlciB1cGRhdGUgYW5kIGJlZm9yZSBsaW1pdAogICAgICAgIHB1c2ggQFJlYWRhYmxlVGl0bGVzLCAkVmFsdWVJdGVtOwoKICAgICAgICAjIEhUTUwgT3V0cHV0IHRyYW5zZm9ybWF0aW9uCiAgICAgICAgaWYgKCRIVE1MT3V0cHV0KSB7CgojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKIyAgICAgICAgICAgICAkVmFsdWVJdGVtID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiMgICAgICAgICAgICAgICAgIFRleHQgPT4gJFZhbHVlSXRlbSwKIyAgICAgICAgICAgICAgICAgTWF4ICA9PiAkUGFyYW17VmFsdWVNYXhDaGFyc30sCiMgICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAkRXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSAmJiAkRXh0ZW5kZWRWYWx1ZSApIHsKICAgICAgICAgICAgICAgIG15ICRUZW1wbGF0ZUZpbGUgPSAnJzsKICAgICAgICAgICAgICAgIG15ICRJbnRlcmZhY2UgPSAkUGFyYW17TGF5b3V0T2JqZWN0fXtTZXNzaW9uU291cmNlfSAvLyAnJzsKICAgICAgICAgICAgICAgIGlmICggJFBhcmFte0xheW91dE9iamVjdH17U2Vzc2lvblNvdXJjZX0gKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkUGFyYW17TGF5b3V0T2JqZWN0fXtTZXNzaW9uU291cmNlfSBlcSAnQWdlbnRJbnRlcmZhY2UnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkVGVtcGxhdGVGaWxlID0gJ0R5bmFtaWNGaWVsZC9BZ2VudC9CYXNlRGF0YWJhc2VEaXNwbGF5VmFsdWUnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoICRQYXJhbXtMYXlvdXRPYmplY3R9e1Nlc3Npb25Tb3VyY2V9IGVxICdDdXN0b21lckludGVyZmFjZScgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRUZW1wbGF0ZUZpbGUgPSAnRHluYW1pY0ZpZWxkL0N1c3RvbWVyL0Jhc2VEYXRhYmFzZURpc3BsYXlWYWx1ZSc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgZmV0Y2ggY2FjaGVkIFJlYWRhYmxlVmFsdWUgZm9yIGl0ZW0KICAgICAgICAgICAgICAgICMgTk9URSAkVmFsdWVJdGVtIGlzIHRoZSBQb3NzaWJsZVZhbHVlcyBlbGVtZW50IG1hcmtlZCBhcyBJZGVudGlmaWVyCiAgICAgICAgICAgICAgICBteSAkQ2FjaGVkRGF0YSA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpDYWNoZScpLT5HZXQoCiAgICAgICAgICAgICAgICAgICAgVHlwZSA9PiAnRHluYW1pY0ZpZWxkREInLAogICAgICAgICAgICAgICAgICAgIEtleSAgPT4gIiRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LSRJbnRlcmZhY2UtJFZhbHVlSXRlbSIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgaWYgKCAkQ2FjaGVkRGF0YSApIHsKICAgICAgICAgICAgICAgICAgICAkVmFsdWVJdGVtID0gJENhY2hlZERhdGE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgIyBwZXJmb3JtIGRhdGFiYXNlIHNlYXJjaAogICAgICAgICAgICAgICAgICAgICMgTk9URSB1c2luZyBEYXRhYmFzZVNlYXJjaERldGFpbHMgdG8gYmUgYWJsZSB0byByZXN0cmljdCBzZWFyY2ggdG8gaWRlbnRpZmllcgogICAgICAgICAgICAgICAgICAgIG15ICRTZWFyY2hSZXN1bHQgPSAkRHluYW1pY0ZpZWxkREJPYmplY3QtPkRhdGFiYXNlU2VhcmNoRGV0YWlscygKICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlnICAgICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30sCiAgICAgICAgICAgICAgICAgICAgICAgIElkZW50aWZpZXIgPT4gJFZhbHVlSXRlbSwKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAjIGFycmF5IGZvciBjb2xsZWN0aW5nIHN0cmluZ3MgcGVyIGhlYWRlcgogICAgICAgICAgICAgICAgICAgIEhFQURFUjoKICAgICAgICAgICAgICAgICAgICBmb3IgbXkgJEhlYWRlciAoIEBIZWFkZXJzICkgewoKICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBIRUFERVIgdW5sZXNzIElzQXJyYXlSZWZXaXRoRGF0YSgkSGVhZGVyZmllbGRzSGFzaHskSGVhZGVyfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAjIHNhbml0aXplIGhlYWRlcgogICAgICAgICAgICAgICAgICAgICAgICBteSAkU2FuaXRpemVkSGVhZGVyID0gJFBhcmFte0xheW91dE9iamVjdH0tPkFzY2lpMkh0bWwoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0ID0+ICRIZWFkZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggID0+ICRQYXJhbXtWYWx1ZU1heENoYXJzfSB8fCAnJywKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRQYXJhbXtMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0hlYWRlclNlY3Rpb24nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVhZGVyTmFtZSA9PiAkU2FuaXRpemVkSGVhZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMgZG8gbm90IHByaW50IGhlYWRlciBmb3IgR2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICRTYW5pdGl6ZWRIZWFkZXIgbmUgJ0dlbmVyYWwnICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJFBhcmFte0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0hlYWRlckVsZW1lbnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWFkZXJOYW1lID0+ICRTYW5pdGl6ZWRIZWFkZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBteSAkRmllbGQgKCAkSGVhZGVyZmllbGRzSGFzaHskSGVhZGVyfS0+QCogKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSAoJFJlc3VsdEl0ZW0pID0gZ3JlcCB7ICRfLT57TGFiZWx9IGVxICRGaWVsZC0+e05hbWV9IH0gJFNlYXJjaFJlc3VsdC0+QCo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteSAkVmFsdWVJdGVtID0gJFJlc3VsdEl0ZW0tPntEYXRhfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggJEZpZWxkLT57VHlwZX0gZXEgJ0RBVEUnICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSAkUGFyYW17TGF5b3V0T2JqZWN0fS0+e0xhbmd1YWdlT2JqZWN0fS0+Rm9ybWF0VGltZVN0cmluZygKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFZhbHVlSXRlbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0RhdGVGb3JtYXRTaG9ydCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNhbml0aXplIGZpZWxkIGRhdGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15ICRDbGVhbmVkRGF0YSA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT5Bc2NpaTJIdG1sKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRleHQgPT4gJFZhbHVlSXRlbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXggID0+ICRQYXJhbXtWYWx1ZU1heENoYXJzfSB8fCAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUGFyYW17TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVmFsdWVFbGVtZW50JyAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgICAgICAgID0+ICRWYWx1ZUl0ZW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsZWFuZWREYXRhID0+ICRDbGVhbmVkRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgIyBvdmVyd3JpdGUgUmVhZGFibGVWYWx1ZSBhbmQgc2V0IGNhY2hlCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkSGVhZGVyc1VzZWQgKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBteSAkSGVhZGVyU3RyaW5nID0gJFBhcmFte0xheW91dE9iamVjdH0tPk91dHB1dCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBsYXRlRmlsZSA9PiAkVGVtcGxhdGVGaWxlLAogICAgICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAgICAgIyBOT1RFICRWYWx1ZUl0ZW0gaXMgdGhlIFBvc3NpYmxlVmFsdWVzIGVsZW1lbnQgbWFya2VkIGFzIElkZW50aWZpZXIKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntDYWNoZVRUTH0gKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6Q2FjaGUnKS0+U2V0KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgID0+ICdEeW5hbWljRmllbGREQicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS2V5ICAgPT4gIiRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57SUR9LSRJbnRlcmZhY2UtJFZhbHVlSXRlbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgPT4gJEhlYWRlclN0cmluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUVEwgICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntDYWNoZVRUTH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAkVmFsdWVJdGVtID0gJEhlYWRlclN0cmluZzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmICggJFBhcmFte1ZhbHVlTWF4Q2hhcnN9ICYmIGxlbmd0aCgkVmFsdWVJdGVtKSA+ICRQYXJhbXtWYWx1ZU1heENoYXJzfSApIHsKICAgICAgICAgICAgICAgICRWYWx1ZUl0ZW0gPSBzdWJzdHIoICRWYWx1ZUl0ZW0sIDAsICRQYXJhbXtWYWx1ZU1heENoYXJzfSApIC4gJy4uLic7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHB1c2ggQFJlYWRhYmxlVmFsdWVzLCAkVmFsdWVJdGVtOwogICAgfQoKICAgIG15ICRWYWx1ZVNlcGFyYXRvcjsKICAgIG15ICRUaXRsZSA9IGpvaW4oICcsICcsIEBSZWFkYWJsZVRpdGxlcyApOwoKICAgICMgSFRNTE91dHB1dCB0cmFuc2Zvcm1hdGlvbnMKICAgIGlmICgkSFRNTE91dHB1dCkgewogICAgICAgICRUaXRsZSA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT5Bc2NpaTJIdG1sKAogICAgICAgICAgICBUZXh0ID0+ICRUaXRsZSwKICAgICAgICAgICAgTWF4ICA9PiAkUGFyYW17VGl0bGVNYXhDaGFyc30gfHwgJycsCiAgICAgICAgKTsKICAgICAgICAkVmFsdWVTZXBhcmF0b3IgPSAnPGJyLz4nOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgaWYgKCAkUGFyYW17VGl0bGVNYXhDaGFyc30gJiYgbGVuZ3RoKCRUaXRsZSkgPiAkUGFyYW17VGl0bGVNYXhDaGFyc30gKSB7CiAgICAgICAgICAgICRUaXRsZSA9IHN1YnN0ciggJFRpdGxlLCAwLCAkUGFyYW17VGl0bGVNYXhDaGFyc30gKSAuICcuLi4nOwogICAgICAgIH0KICAgICAgICAkVmFsdWVTZXBhcmF0b3IgPSAiXG4iOwogICAgfQojIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICBteSAkVmFsdWVTdHJnID0gJyc7CiAgICBpZiAoICRIZWFkZXJzVXNlZCAmJiAkUGFyYW17TGF5b3V0T2JqZWN0fXtTZXNzaW9uU291cmNlfSAmJiAkUGFyYW17TGF5b3V0T2JqZWN0fXtTZXNzaW9uU291cmNlfSBlcSAnQWdlbnRJbnRlcmZhY2UnICkgewogICAgICAgICRWYWx1ZVN0cmcgPSAnPGRpdiBjbGFzcz0iRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIj4nIC4gam9pbiggJFZhbHVlU2VwYXJhdG9yLCBAUmVhZGFibGVWYWx1ZXMgKSAuICc8L2Rpdj4nOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFZhbHVlU3RyZyA9ICcnIC4gam9pbiggJFZhbHVlU2VwYXJhdG9yLCBAUmVhZGFibGVWYWx1ZXMgKTsKICAgIH0KIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKCiAgICAjIHNldCBmaWVsZCBsaW5rIGZyb20gY29uZmlnCiAgICBteSAkTGluayAgICAgICAgPSAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntMaW5rfSAgICAgICAgfHwgJyc7CiAgICBteSAkTGlua1ByZXZpZXcgPSAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ30tPntMaW5rUHJldmlld30gfHwgJyc7CgogICAgIyByZXR1cm4gYSBkYXRhIHN0cnVjdHVyZQogICAgcmV0dXJuIHsKIyBSb3RoZXIgT1NTIC8gRHluYW1pY0ZpZWxkRGF0YWJhc2VFeHRlbnNpb25zCiMgICAgICAgICBWYWx1ZSAgICAgICA9PiAnJyAuIGpvaW4oICRWYWx1ZVNlcGFyYXRvciwgQFJlYWRhYmxlVmFsdWVzICksCiAgICAgICAgVmFsdWUgICAgICAgPT4gJFZhbHVlU3RyZywKIyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICBUaXRsZSAgICAgICA9PiAnJyAuICRUaXRsZSwKICAgICAgICBMaW5rICAgICAgICA9PiAkTGluaywKICAgICAgICBMaW5rUHJldmlldyA9PiAkTGlua1ByZXZpZXcsCiAgICAgICAgQ2xhc3MgICAgICAgPT4gJ0R5bmFtaWNGaWVsZFR5cGVfRGF0YWJhc2UnLAogICAgfTsKfQoKc3ViIFNlYXJjaEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkTmFtZSAgICAgICAgID0gJ1NlYXJjaF9EeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CiAgICBteSAkRmllbGRMYWJlbCAgICAgICAgPSAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0xhYmVsfTsKICAgIG15ICRGaWVsZExhYmVsRXNjYXBlZCA9ICRQYXJhbXtMYXlvdXRPYmplY3R9LT5Bc2NpaTJIdG1sKAogICAgICAgIFRleHQgPT4gJFBhcmFte0xheW91dE9iamVjdH17TGFuZ3VhZ2VPYmplY3R9LT5UcmFuc2xhdGUoJEZpZWxkTGFiZWwpLAogICAgKTsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUKICAgIG15ICRWYWx1ZSA9ICggZGVmaW5lZCAkUGFyYW17RGVmYXVsdFZhbHVlfSA/ICRQYXJhbXtEZWZhdWx0VmFsdWV9IDogJycgKTsKCiAgICAjIGdldCB0aGUgZmllbGQgdmFsdWUsIHRoaXMgZnVuY3Rpb24gaXMgYWx3YXlzIGNhbGxlZCBhZnRlciB0aGUgcHJvZmlsZSBpcyBsb2FkZWQKICAgIG15ICRGaWVsZFZhbHVlID0gJFNlbGYtPlNlYXJjaEZpZWxkVmFsdWVHZXQoJVBhcmFtKTsKCiAgICAjIHNldCB2YWx1ZXMgZnJvbSBwcm9maWxlIGlmIHByZXNlbnQKICAgIGlmICggZGVmaW5lZCAkRmllbGRWYWx1ZSApIHsKICAgICAgICAkVmFsdWUgPSAkRmllbGRWYWx1ZTsKICAgIH0KCiAgICAjIGNoZWNrIGlmIHZhbHVlIGlzIGFuIGFycmF5IHJlZmVyZW5jZSAoR2VuZXJpY0FnZW50IEpvYnMgYW5kIE5vdGlmaWNhdGlvbkV2ZW50cykKICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCRWYWx1ZSkgKSB7CiAgICAgICAgJFZhbHVlID0gQHskVmFsdWV9WzBdOwogICAgfQoKICAgICMgY2hlY2sgYW5kIHNldCBjbGFzcyBpZiBuZWNlc3NhcnkKICAgIG15ICRGaWVsZENsYXNzID0gJ0R5bmFtaWNGaWVsZERCJzsKCiAgICBteSAkSFRNTFN0cmluZyA9IDw8IkVPRiI7CjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iJEZpZWxkQ2xhc3MiIGlkPSIke0ZpZWxkTmFtZX0iIG5hbWU9IiR7RmllbGROYW1lfSIgdGl0bGU9IiRGaWVsZExhYmVsRXNjYXBlZCIgdmFsdWU9IiRWYWx1ZSIgLz4KRU9GCgogICAgbXkgJEFkZGl0aW9uYWxUZXh0OwogICAgaWYgKCAkUGFyYW17VXNlTGFiZWxIaW50c30gKSB7CiAgICAgICAgJEFkZGl0aW9uYWxUZXh0ID0gJ2UuZy4gVGV4dCBvciBUZSp0JzsKICAgIH0KCiAgICAjIGNhbGwgRWRpdExhYmVsUmVuZGVyIG9uIHRoZSBjb21tb24gRHJpdmVyCiAgICBteSAkTGFiZWxTdHJpbmcgPSAkU2VsZi0+RWRpdExhYmVsUmVuZGVyKAogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfSwKICAgICAgICBMYXlvdXRPYmplY3QgICAgICAgPT4gJFBhcmFte0xheW91dE9iamVjdH0sCiAgICAgICAgRmllbGROYW1lICAgICAgICAgID0+ICRGaWVsZE5hbWUsCiAgICAgICAgQWRkaXRpb25hbFRleHQgICAgID0+ICRBZGRpdGlvbmFsVGV4dCwKICAgICk7CgogICAgcmV0dXJuIHsKICAgICAgICBGaWVsZCA9PiAkSFRNTFN0cmluZywKICAgICAgICBMYWJlbCA9PiAkTGFiZWxTdHJpbmcsCiAgICB9Owp9CgpzdWIgU2VhcmNoRmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRWYWx1ZTsKCiAgICAjIGdldCBkeW5hbWljIGZpZWxkIHZhbHVlIGZyb20gcGFyYW0gb2JqZWN0CiAgICBpZiAoIGRlZmluZWQgJFBhcmFte1BhcmFtT2JqZWN0fSApIHsKICAgICAgICAkVmFsdWUgPSAkUGFyYW17UGFyYW1PYmplY3R9LT5HZXRQYXJhbSgKICAgICAgICAgICAgUGFyYW0gPT4gJ1NlYXJjaF9EeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX0KICAgICAgICApOwogICAgfQoKICAgICMgb3RoZXJ3aXNlIGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgcHJvZmlsZQogICAgZWxzaWYgKCBkZWZpbmVkICRQYXJhbXtQcm9maWxlfSApIHsKICAgICAgICAkVmFsdWUgPSAkUGFyYW17UHJvZmlsZX0tPnsgJ1NlYXJjaF9EeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX0gfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoIGRlZmluZWQgJFBhcmFte1JldHVyblByb2ZpbGVTdHJ1Y3R1cmV9ICYmICRQYXJhbXtSZXR1cm5Qcm9maWxlU3RydWN0dXJlfSBlcSAxICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICdTZWFyY2hfRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9ID0+ICRWYWx1ZSwKICAgICAgICB9OwogICAgfQoKICAgIHJldHVybiAkVmFsdWU7Cn0KCnN1YiBTZWFyY2hGaWVsZFBhcmFtZXRlckJ1aWxkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgZmllbGQgdmFsdWUKICAgIG15ICRWYWx1ZSA9ICRTZWxmLT5TZWFyY2hGaWVsZFZhbHVlR2V0KCVQYXJhbSk7CgogICAgIyBzZXQgb3BlcmF0b3IKICAgIG15ICRPcGVyYXRvciA9ICdFcXVhbHMnOwoKICAgICMgc2VhcmNoIGZvciBhIHdpbGQgY2FyZCBpbiB0aGUgdmFsdWUKICAgIGlmICggJFZhbHVlICYmICRWYWx1ZSA9fiBte1wqfSApIHsKCiAgICAgICAgIyBjaGFuZ2Ugb3BlcmF0b3IKICAgICAgICAkT3BlcmF0b3IgPSAnTGlrZSc7CiAgICB9CgogICAgIyByZXR1cm4gc2VhcmNoIHBhcmFtZXRlciBzdHJ1Y3R1cmUKICAgIHJldHVybiB7CiAgICAgICAgUGFyYW1ldGVyID0+IHsKICAgICAgICAgICAgJE9wZXJhdG9yID0+ICRWYWx1ZSwKICAgICAgICB9LAogICAgICAgIERpc3BsYXkgPT4gJFZhbHVlLAogICAgfTsKfQoKc3ViIFN0YXRzRmllbGRQYXJhbWV0ZXJCdWlsZCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiB7CiAgICAgICAgTmFtZSAgICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0xhYmVsfSwKICAgICAgICBFbGVtZW50ID0+ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX0sCiAgICB9Owp9CgpzdWIgU3RhdHNTZWFyY2hGaWVsZFBhcmFtZXRlckJ1aWxkIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFZhbHVlID0gJFBhcmFte1ZhbHVlfTsKCiAgICAjIHNldCBvcGVyYXRvcgogICAgbXkgJE9wZXJhdG9yID0gJ0VxdWFscyc7CgogICAgIyBzZWFyY2ggZm9yIGEgd2lsZCBjYXJkIGluIHRoZSB2YWx1ZQogICAgaWYgKCAkVmFsdWUgJiYgJFZhbHVlID1+IG17XCp9ICkgewoKICAgICAgICAjIGNoYW5nZSBvcGVyYXRvcgogICAgICAgICRPcGVyYXRvciA9ICdMaWtlJzsKICAgIH0KCiAgICByZXR1cm4gewogICAgICAgICRPcGVyYXRvciA9PiAkVmFsdWUsCiAgICB9Owp9CgpzdWIgUmVhZGFibGVWYWx1ZVJlbmRlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgc2V0IFZhbHVlIGFuZCBUaXRsZSB2YXJpYWJsZXMKICAgIG15ICRWYWx1ZSA9ICcnOwogICAgbXkgJFRpdGxlID0gJyc7CgogICAgIyBjaGVjayB2YWx1ZQogICAgbXkgQFZhbHVlczsKICAgIGlmICggcmVmICRQYXJhbXtWYWx1ZX0gZXEgJ0FSUkFZJyApIHsKICAgICAgICBAVmFsdWVzID0gQHsgJFBhcmFte1ZhbHVlfSB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgQFZhbHVlcyA9ICggJFBhcmFte1ZhbHVlfSApOwogICAgfQoKICAgICMgcHJldmVudCBqb2luaW5nIHVuZGVmaW5lZCB2YWx1ZXMKICAgIEBWYWx1ZXMgPSBtYXAgeyAkXyAvLyAnJyB9IEBWYWx1ZXM7CgogICAgIyBzZXQgbmV3IGxpbmUgc2VwYXJhdG9yCiAgICBteSAkSXRlbVNlcGFyYXRvciA9ICcsICc7CgogICAgIyBPdXRwdXQgdHJhbnNmb3JtYXRpb25zCiAgICAkVmFsdWUgPSBqb2luICRJdGVtU2VwYXJhdG9yLCBAVmFsdWVzOwoKICAgICMgcHJlcGFyZSB0aXRsZQogICAgJFRpdGxlID0gJFZhbHVlOwoKICAgIGlmICggJFBhcmFte1RpdGxlTWF4Q2hhcnN9ICYmIGxlbmd0aCAkVGl0bGUgPiAkUGFyYW17VGl0bGVNYXhDaGFyc30gKSB7CiAgICAgICAgJFRpdGxlID0gc3Vic3RyKCAkVGl0bGUsIDAsICRQYXJhbXtUaXRsZU1heENoYXJzfSApIC4gJy4uLic7CiAgICB9CgogICAgIyByZXR1cm4gYSBkYXRhIHN0cnVjdHVyZQogICAgcmV0dXJuIHsKICAgICAgICBWYWx1ZSA9PiAkVmFsdWUsCiAgICAgICAgVGl0bGUgPT4gJFRpdGxlLAogICAgfTsKfQoKc3ViIFRlbXBsYXRlVmFsdWVUeXBlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgIyBzZXQgdGhlIGZpZWxkIHR5cGVzCiAgICBteSAkRWRpdFZhbHVlVHlwZSAgID0gJ1NDQUxBUic7CiAgICBteSAkU2VhcmNoVmFsdWVUeXBlID0gJ1NDQUxBUic7CgogICAgIyByZXR1cm4gdGhlIGNvcnJlY3Qgc3RydWN0dXJlCiAgICBpZiAoICRQYXJhbXtGaWVsZFR5cGV9IGVxICdFZGl0JyApIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICAkRmllbGROYW1lID0+ICRFZGl0VmFsdWVUeXBlLAogICAgICAgIH07CiAgICB9CiAgICBlbHNpZiAoICRQYXJhbXtGaWVsZFR5cGV9IGVxICdTZWFyY2gnICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICdTZWFyY2hfJyAuICRGaWVsZE5hbWUgPT4gJFNlYXJjaFZhbHVlVHlwZSwKICAgICAgICB9OwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJEZpZWxkTmFtZSAgICAgICAgICAgICA9PiAkRWRpdFZhbHVlVHlwZSwKICAgICAgICAgICAgJ1NlYXJjaF8nIC4gJEZpZWxkTmFtZSA9PiAkU2VhcmNoVmFsdWVUeXBlLAogICAgICAgIH07CiAgICB9Cn0KCnN1YiBSYW5kb21WYWx1ZVNldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRWYWx1ZSA9IGludCggcmFuZCg1MDApICk7CgogICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+VmFsdWVTZXQoCiAgICAgICAgJVBhcmFtLAogICAgICAgIFZhbHVlID0+ICRWYWx1ZSwKICAgICk7CgogICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgU3VjY2VzcyA9PiAwLAogICAgICAgIH07CiAgICB9CiAgICByZXR1cm4gewogICAgICAgIFN1Y2Nlc3MgPT4gMSwKICAgICAgICBWYWx1ZSAgID0+ICRWYWx1ZSwKICAgIH07Cn0KCnN1YiBPYmplY3RNYXRjaCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwoKICAgICMgcmV0dXJuIGZhbHNlIGlmIGZpZWxkIGlzIG5vdCBkZWZpbmVkCiAgICByZXR1cm4gMCBpZiAoICFkZWZpbmVkICRQYXJhbXtPYmplY3RBdHRyaWJ1dGVzfS0+eyRGaWVsZE5hbWV9ICk7CgogICAgIyByZXR1cm4gZmFsc2UgaWYgbm90IG1hdGNoCiAgICBpZiAoICRQYXJhbXtPYmplY3RBdHRyaWJ1dGVzfS0+eyRGaWVsZE5hbWV9IG5lICRQYXJhbXtWYWx1ZX0gKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBIaXN0b3JpY2FsVmFsdWVzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyByZXR1cm4gdGhlIGhpc3RvcmljYWwgdmFsdWVzIGZyb20gZGF0YWJhc2UKICAgIHJldHVybiAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUnKS0+SGlzdG9yaWNhbFZhbHVlR2V0KAogICAgICAgIEZpZWxkSUQgICA9PiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0lEfSwKICAgICAgICBWYWx1ZVR5cGUgPT4gJ1RleHQnLAogICAgKTsKfQoKc3ViIFZhbHVlTG9va3VwIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuICRQYXJhbXtLZXl9IC8vICcnOwp9CgoxOwo=</File>
        <File Location="Kernel/Config/Files/XML/DynamicFieldDatabaseExtensions.xml" Permission="660" Encode="Base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxvdG9ib19jb25maWcgdmVyc2lvbj0iMi4wIiBpbml0PSJBcHBsaWNhdGlvbiI+CiAgICA8U2V0dGluZyBOYW1lPSJEeW5hbWljRmllbGREQjo6RXh0ZW5kZWRWYWx1ZVN0cnVjdHVyZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BY3RpdmF0ZSBvciBkZWFjdGl2YXRlIHRoZSBleHRlbmRlZCB2YWx1ZSBzdHJ1Y3R1cmUgZmVhdHVyZSBmb3IgZHluYW1pYyBmaWVsZHMgb2YgdHlwZSBkYXRhYmFzZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlRpY2tldDwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxJdGVtIFZhbHVlVHlwZT0iQ2hlY2tib3giPjE8L0l0ZW0+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkR5bmFtaWNGaWVsZERCOjpEaXNwbGF5ZmllbGRIZWFkZXJzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZSBhIGxpc3Qgb2YgaGVhZGVycyB0byBncm91cCBkeW5hbWljIGZpZWxkIGRhdGFiYXNlIHBvc3NpYmxlIHZhbHVlcyBieS4gTm90aWNlOiBIZWFkZXIgJ0dlbmVyYWwnIGlzIGFsd2F5cyBhZGRlZCBpZiBub3QgZGVmaW5lZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkNvcmU6OlRpY2tldDwvTmF2aWdhdGlvbj4KICAgICAgICA8VmFsdWU+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1ZhbHVlPgogICAgPC9TZXR0aW5nPgogICAgPFNldHRpbmcgTmFtZT0iTG9hZGVyOjpNb2R1bGU6OkFnZW50VGlja2V0Wm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuVGlja2V0Wm9vbS5jc3M8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvVmFsdWU+CiAgICA8L1NldHRpbmc+CiAgICA8U2V0dGluZyBOYW1lPSJMb2FkZXI6Ok1vZHVsZTo6Q3VzdG9tZXJUaWNrZXRab29tIyMjMDAzLUR5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Mb2FkZXIgbW9kdWxlIHJlZ2lzdHJhdGlvbiBmb3IgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxOYXZpZ2F0aW9uPkZyb250ZW5kOjpDdXN0b21lcjo6TW9kdWxlUmVnaXN0cmF0aW9uOjpMb2FkZXI8L05hdmlnYXRpb24+CiAgICAgICAgPFZhbHVlPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ1NTIj4KICAgICAgICAgICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtPkR5bmFtaWNGaWVsZERhdGFiYXNlRXh0ZW5zaW9ucy5UaWNrZXRab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpBZ2VudElUU01Db25maWdJdGVtWm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6QWdlbnQ6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuSVRTTUNvbmZpZ0l0ZW1ab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KICAgIDxTZXR0aW5nIE5hbWU9IkxvYWRlcjo6TW9kdWxlOjpDdXN0b21lcklUU01Db25maWdJdGVtWm9vbSMjIzAwMy1EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+TG9hZGVyIG1vZHVsZSByZWdpc3RyYXRpb24gZm9yIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8TmF2aWdhdGlvbj5Gcm9udGVuZDo6Q3VzdG9tZXI6Ok1vZHVsZVJlZ2lzdHJhdGlvbjo6TG9hZGVyPC9OYXZpZ2F0aW9uPgogICAgICAgIDxWYWx1ZT4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNTUyI+CiAgICAgICAgICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbT5EeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMuSVRTTUNvbmZpZ0l0ZW1ab29tLmNzczwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0FycmF5PgogICAgICAgICAgICAgICAgPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9WYWx1ZT4KICAgIDwvU2V0dGluZz4KPC9vdG9ib19jb25maWc+Cg==</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/DynamicField/Agent/BaseDatabaseDisplayValue.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgo8cCBjbGFzcz0iVmFsdWUgRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIj4KWyUgUmVuZGVyQmxvY2tTdGFydCgiSGVhZGVyU2VjdGlvbiIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIkhlYWRlckVsZW1lbnQiKSAlXQogICAgPGIgY2xhc3M9IkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSI+WyUgRGF0YS5IZWFkZXJOYW1lIHwgaHRtbCAlXTwvYj4KICAgIDxici8+ClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJFbGVtZW50IikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiVmFsdWVFbGVtZW50IikgJV0KICAgIDxzcGFuIGNsYXNzPSJEeW5hbWljRmllbGREQkV4dGVuZGVkVmFsdWUiIHRpdGxlPSJbJSBEYXRhLkRhdGEgfCBodG1sICVdIj5bJSBEYXRhLkNsZWFuZWREYXRhICVdPC9zcGFuPgogICAgPGJyLz4KWyUgUmVuZGVyQmxvY2tFbmQoIlZhbHVlRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJTZWN0aW9uIikgJV0KPC9wPgo=</File>
        <File Location="Kernel/Output/HTML/Templates/Standard/DynamicField/Customer/BaseDatabaseDisplayValue.tt" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgpbJSBSZW5kZXJCbG9ja1N0YXJ0KCJIZWFkZXJTZWN0aW9uIikgJV0KWyUgUmVuZGVyQmxvY2tTdGFydCgiSGVhZGVyRWxlbWVudCIpICVdCiAgICA8YiBjbGFzcz0iRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIj5bJSBEYXRhLkhlYWRlck5hbWUgfCBodG1sICVdPC9iPgpbJSBSZW5kZXJCbG9ja0VuZCgiSGVhZGVyRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrU3RhcnQoIlZhbHVlRWxlbWVudCIpICVdCiAgICA8c3BhbiBjbGFzcz0iRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIiB0aXRsZT0iWyUgRGF0YS5EYXRhIHwgaHRtbCAlXSI+WyUgRGF0YS5DbGVhbmVkRGF0YSAlXTwvc3Bhbj4KWyUgUmVuZGVyQmxvY2tFbmQoIlZhbHVlRWxlbWVudCIpICVdClslIFJlbmRlckJsb2NrRW5kKCJIZWFkZXJTZWN0aW9uIikgJV0K</File>
        <File Location="scripts/test/DynamicField/DynamicFieldDBExtensions.t" Permission="660" Encode="Base64">IyAtLQojIE9UT0JPIGlzIGEgd2ViLWJhc2VkIHRpY2tldGluZyBzeXN0ZW0gZm9yIHNlcnZpY2Ugb3JnYW5pc2F0aW9ucy4KIyAtLQojIENvcHlyaWdodCAoQykgMjAwMS0yMDIwIE9UUlMgQUcsIGh0dHBzOi8vb3Rycy5jb20vCiMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwojIC0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCiMgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKIyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgojIC0tCgp1c2UgdjUuMjQ7CnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKdXNlIG5hbWVzcGFjZTo6YXV0b2NsZWFuOwp1c2UgdXRmODsKCiMgY29yZSBtb2R1bGVzCgojIENQQU4gbW9kdWxlcwp1c2UgVGVzdDI6OlYwOwoKIyBPVE9CTyBtb2R1ZWxlcwp1c2UgS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpSZWdpc3RlckRyaXZlcjsgICAgIyBTZXQgdXAgdGhlIHRlc3QgZHJpdmVyICRTZWxmIGFuZCAkS2VybmVsOjpPTQp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyhJc0FycmF5UmVmV2l0aERhdGEpOwoKIyBnZXQgaGVscGVyIG9iamVjdAokS2VybmVsOjpPTS0+T2JqZWN0UGFyYW1BZGQoCiAgICAnS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXInID0+IHsKICAgICAgICBSZXN0b3JlRGF0YWJhc2UgPT4gMSwKICAgIH0sCik7Cm15ICRIZWxwZXIgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlcicpOwoKbXkgJFJhbmRvbUlEID0gJEhlbHBlci0+R2V0UmFuZG9tTnVtYmVyKCk7Cm15ICRVc2VySUQgICA9IDE7CgpteSAkQ29uZmlnT2JqZWN0ICAgICAgID0gJEtlcm5lbDo6T00tPkdldCgnS2VybmVsOjpDb25maWcnKTsKbXkgJER5bmFtaWNGaWVsZE9iamVjdCA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQnKTsKbXkgJEJhY2tlbmRPYmplY3QgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQnKTsKbXkgJExheW91dE9iamVjdCAgICAgICA9ICRLZXJuZWw6Ok9NLT5HZXQoJ0tlcm5lbDo6T3V0cHV0OjpIVE1MOjpMYXlvdXQnKTsKCiMgRGVmaW5lIERCIHRlc3QgcGFyYW1ldGVycy4KbXkgJERCVHlwZSAgICAgPSAnJzsKbXkgJERCTmFtZSAgICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlJyk7Cm15ICREQlVzZXIgICAgID0gJENvbmZpZ09iamVjdC0+R2V0KCdEYXRhYmFzZVVzZXInKTsKbXkgJERCUGFzc3dvcmQgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlUHcnKTsKbXkgJERCU2VydmVyICAgPSAkQ29uZmlnT2JqZWN0LT5HZXQoJ0RhdGFiYXNlSG9zdCcpOwoKIyBDaGVjayBpZiBEQiBpcyBNeVNRTCwgZmluaXNoIHRlc3QgaWYgaXQgaXMgbm90LgppZiAoICRDb25maWdPYmplY3QtPkdldCgnRGF0YWJhc2VEU04nKSA9fiAvXkRCSTpteXNxbC8gKSB7CiAgICAkREJUeXBlID0gJ215c3FsJzsKfQplbHNpZiAoICRDb25maWdPYmplY3QtPkdldCgnRGF0YWJhc2VEU04nKSA9fiAvXkRCSTpQZy8gKSB7CiAgICAkREJUeXBlID0gJ3Bvc3RncmVzcWwnOwp9CmVsc2lmICggJENvbmZpZ09iamVjdC0+R2V0KCdEYXRhYmFzZURTTicpID1+IC9eREJJOk9yYWNsZS8gKSB7CiAgICAkREJUeXBlID0gJ29yYWNsZSc7Cn0KZWxzZSB7CiAgICBza2lwX2FsbCgiRmluaXNoaW5nIHByZW1hdHVyZWx5IHRlc3QsIHVua25vd24gZGF0YWJhc2UgdHlwZSIpOwp9CgpteSAlUXVldWUgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6UXVldWUnKS0+UXVldWVHZXQoCiAgICBJRCA9PiAxLAopOwoKIyBDcmVhdGUgdGlja2V0IGFzIG9iamVjdApteSAkVGlja2V0SUQgPSAkS2VybmVsOjpPTS0+R2V0KCdLZXJuZWw6OlN5c3RlbTo6VGlja2V0JyktPlRpY2tldENyZWF0ZSgKICAgIFRpdGxlICAgID0+ICdTb21lIFRpY2tldCBUaXRsZScsCiAgICBRdWV1ZSAgICA9PiAnUmF3JywgICAgICAgICAgICAgICAgICMgb3IgUXVldWVJRCA9PiAxMjMsCiAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgIFByaW9yaXR5ID0+ICczIG5vcm1hbCcsCiAgICBTdGF0ZSAgICA9PiAnbmV3JywKICAgIE93bmVySUQgID0+ICRVc2VySUQsCiAgICBVc2VySUQgICA9PiAkVXNlcklELAopOwpvayggJFRpY2tldElELCAnVGlja2V0IHN1Y2Nlc3NmdWxseSBjcmVhdGVkJyApOwoKbXkgQFRlc3RDb25maWdzID0gKAogICAgewogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiB7CiAgICAgICAgICAgIENvbmZpZyA9PiB7CiAgICAgICAgICAgICAgICBDYWNoZVRUTCAgICAgICA9PiA4NjQwMCwKICAgICAgICAgICAgICAgIENhc2VTZW5zaXRpdmUgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgREJOYW1lICAgICAgICAgPT4gJERCTmFtZSwKICAgICAgICAgICAgICAgIERCVGFibGUgICAgICAgID0+ICJxdWV1ZSIsCiAgICAgICAgICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkREJUeXBlLAogICAgICAgICAgICAgICAgRHJpdmVyICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBJZGVudGlmaWVyICAgICA9PiAxLAogICAgICAgICAgICAgICAgTGluayAgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyAgICA9PiAiIiwKICAgICAgICAgICAgICAgIE11bHRpc2VsZWN0ICAgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgUGFzc3dvcmQgICAgICAgPT4gJERCUGFzc3dvcmQsCiAgICAgICAgICAgICAgICBQb3J0ICAgICAgICAgICA9PiAiIiwKICAgICAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+IHsKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfMSAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzIgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIERpc3BsYXlmaWVsZF8zICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfNCAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV8xID0+ICJJTlRFR0VSIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZERhdGF0eXBlXzIgPT4gIlRFWFQiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRGF0YXR5cGVfMyA9PiAiSU5URUdFUiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV80ID0+ICJEQVRFIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl8xICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRGaWx0ZXJfMiAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRmlsdGVyXzMgICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl80ICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8xICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8yICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzMgICAgPT4gInZhbGlkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzQgICAgPT4gImNyZWF0ZSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzEgICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzIgICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfMyAgICAgPT4gInZhbGlkX2lkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfNCAgICAgPT4gImNyZWF0ZV90aW1lIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMSAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMiAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMyAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfNCAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8xICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8yICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8zICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgU2VhcmNoZmllbGRfNCAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICA9PiA0LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFJlc3VsdExpbWl0ICA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHByZWZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHN1ZmZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlcnZlciAgICAgICA9PiAkREJTZXJ2ZXIsCiAgICAgICAgICAgICAgICBTSUQgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBUb29sdGlwICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBVc2VyICAgICAgICAgPT4gJERCVXNlciwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRmllbGRPcmRlciAgICA9PiAxLAogICAgICAgICAgICBGaWVsZFR5cGUgICAgID0+ICJEYXRhYmFzZSIsCiAgICAgICAgICAgIEludGVybmFsRmllbGQgPT4gMCwKICAgICAgICAgICAgTGFiZWwgICAgICAgICA9PiAiVGlja2V0REIwMCRSYW5kb21JRCIsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gIlRpY2tldERCMDAkUmFuZG9tSUQiLAogICAgICAgICAgICBPYmplY3RUeXBlICAgID0+ICJUaWNrZXQiLAogICAgICAgICAgICBSZW9yZGVyICAgICAgID0+IDAsCiAgICAgICAgICAgIFZhbGlkSUQgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFZhbHVlICAgICAgICA9PiAiMSIsCiAgICAgICAgRGlzcGxheVZhbHVlID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgICAgPT4gIkR5bmFtaWNGaWVsZFR5cGVfRGF0YWJhc2UiLAogICAgICAgICAgICBMaW5rICAgICAgICA9PiAiIiwKICAgICAgICAgICAgTGlua1ByZXZpZXcgPT4gIiIsCiAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICIxIiwKICAgICAgICAgICAgVmFsdWUgICAgICAgPT4gIjEiLAogICAgICAgIH0sCiAgICB9LAogICAgewogICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiB7CiAgICAgICAgICAgIENvbmZpZyA9PiB7CiAgICAgICAgICAgICAgICBDYWNoZVRUTCAgICAgICA9PiA4NjQwMCwKICAgICAgICAgICAgICAgIENhc2VTZW5zaXRpdmUgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgREJOYW1lICAgICAgICAgPT4gJERCTmFtZSwKICAgICAgICAgICAgICAgIERCVGFibGUgICAgICAgID0+ICJxdWV1ZSIsCiAgICAgICAgICAgICAgICBEQlR5cGUgICAgICAgICA9PiAkREJUeXBlLAogICAgICAgICAgICAgICAgRHJpdmVyICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBJZGVudGlmaWVyICAgICA9PiAxLAogICAgICAgICAgICAgICAgTGluayAgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBMaW5rUHJldmlldyAgICA9PiAiIiwKICAgICAgICAgICAgICAgIE11bHRpc2VsZWN0ICAgID0+IHVuZGVmLAogICAgICAgICAgICAgICAgUGFzc3dvcmQgICAgICAgPT4gJERCUGFzc3dvcmQsCiAgICAgICAgICAgICAgICBQb3J0ICAgICAgICAgICA9PiAiIiwKICAgICAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzID0+IHsKICAgICAgICAgICAgICAgICAgICBEaXNwbGF5ZmllbGRfMSAgPT4gIkdlbmVyYWwiLAogICAgICAgICAgICAgICAgICAgIERpc3BsYXlmaWVsZF8yICA9PiAiR2VuZXJhbCIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzMgID0+ICJIZWFkZXIwMCIsCiAgICAgICAgICAgICAgICAgICAgRGlzcGxheWZpZWxkXzQgID0+ICJIZWFkZXIwMSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV8xID0+ICJJTlRFR0VSIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZERhdGF0eXBlXzIgPT4gIlRFWFQiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRGF0YXR5cGVfMyA9PiAiSU5URUdFUiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGREYXRhdHlwZV80ID0+ICJEQVRFIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl8xICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRGaWx0ZXJfMiAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIEZpZWxkRmlsdGVyXzMgICA9PiAiIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZEZpbHRlcl80ICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8xICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGRMYWJlbF8yICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzMgICAgPT4gInZhbGlkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZExhYmVsXzQgICAgPT4gImNyZWF0ZSIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzEgICAgID0+ICJpZCIsCiAgICAgICAgICAgICAgICAgICAgRmllbGROYW1lXzIgICAgID0+ICJuYW1lIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfMyAgICAgPT4gInZhbGlkX2lkIiwKICAgICAgICAgICAgICAgICAgICBGaWVsZE5hbWVfNCAgICAgPT4gImNyZWF0ZV90aW1lIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMSAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMiAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfMyAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBMaXN0ZmllbGRfNCAgICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8xICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8yICAgPT4gIm9uIiwKICAgICAgICAgICAgICAgICAgICBTZWFyY2hmaWVsZF8zICAgPT4gIiIsCiAgICAgICAgICAgICAgICAgICAgU2VhcmNoZmllbGRfNCAgID0+ICIiLAogICAgICAgICAgICAgICAgICAgIFZhbHVlQ291bnRlciAgICA9PiA0LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFJlc3VsdExpbWl0ICA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHByZWZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlYXJjaHN1ZmZpeCA9PiAiIiwKICAgICAgICAgICAgICAgIFNlcnZlciAgICAgICA9PiAkREJTZXJ2ZXIsCiAgICAgICAgICAgICAgICBTSUQgICAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBUb29sdGlwICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBVc2VyICAgICAgICAgPT4gJERCVXNlciwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgRmllbGRPcmRlciAgICA9PiAxLAogICAgICAgICAgICBGaWVsZFR5cGUgICAgID0+ICJEYXRhYmFzZSIsCiAgICAgICAgICAgIEludGVybmFsRmllbGQgPT4gMCwKICAgICAgICAgICAgTGFiZWwgICAgICAgICA9PiAiVGlja2V0REIwMSRSYW5kb21JRCIsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gIlRpY2tldERCMDEkUmFuZG9tSUQiLAogICAgICAgICAgICBPYmplY3RUeXBlICAgID0+ICJUaWNrZXQiLAogICAgICAgICAgICBSZW9yZGVyICAgICAgID0+IDAsCiAgICAgICAgICAgIFZhbGlkSUQgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgICAgIFZhbHVlICAgICAgICA9PiAiMSIsCiAgICAgICAgRGlzcGxheVZhbHVlID0+IHsKICAgICAgICAgICAgQ2xhc3MgICAgICAgPT4gIkR5bmFtaWNGaWVsZFR5cGVfRGF0YWJhc2UiLAogICAgICAgICAgICBMaW5rICAgICAgICA9PiAiIiwKICAgICAgICAgICAgTGlua1ByZXZpZXcgPT4gIiIsCiAgICAgICAgICAgIFRpdGxlICAgICAgID0+ICIxIiwKICAgICAgICAgICAgVmFsdWUgICAgICAgPT4KICAgICAgICAgICAgICAgICI8c3Bhbj4xPC9zcGFuPjxici8+PHNwYW4+UG9zdG1hc3Rlcjwvc3Bhbj48YnIvPjxici8+PGI+SGVhZGVyMDA8L2I+PGJyLz48c3Bhbj4kUXVldWV7VmFsaWRJRH08L3NwYW4+PGJyLz48YnIvPjxiPkhlYWRlcjAxPC9iPjxici8+PHNwYW4+JFF1ZXVle0NyZWF0ZVRpbWV9PC9zcGFuPiIsCiAgICAgICAgfSwKICAgICAgICBTZXRIZWFkZXJzID0+IFsKICAgICAgICAgICAgIkhlYWRlcjAwIiwKICAgICAgICAgICAgIkhlYWRlcjAxIgogICAgICAgIF0sCiAgICB9LAopOwoKZm9yIG15ICRUZXN0Q29uZmlnIChAVGVzdENvbmZpZ3MpIHsKICAgIHN0YXRlICRUZXN0Q291bnQgPSAwOwogICAgJFRlc3RDb3VudCsrOwoKICAgIHN1YnRlc3QgIkR5bmFtaWNGaWVsZERCRXh0ZW5zaW9uIHRlc3QgJFRlc3RDb3VudCIgPT4gc3ViIHsKCiAgICAgICAgIyBDcmVhdGUgZHluYW1pYyBmaWVsZCBEQgogICAgICAgIG15ICRGaWVsZElEID0gJER5bmFtaWNGaWVsZE9iamVjdC0+RHluYW1pY0ZpZWxkQWRkKAogICAgICAgICAgICAkVGVzdENvbmZpZy0+e0R5bmFtaWNGaWVsZENvbmZpZ30tPiUqLAogICAgICAgICAgICBVc2VySUQgPT4gJFVzZXJJRCwKICAgICAgICApOwogICAgICAgIG9rKCAkRmllbGRJRCwgJ0R5bmFtaWNGaWVsZCBjcmVhdGVkIHN1Y2Nlc3NmdWxseScgKTsKCiAgICAgICAgbXkgJER5bmFtaWNGaWVsZENvbmZpZyA9ICREeW5hbWljRmllbGRPYmplY3QtPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgSUQgPT4gJEZpZWxkSUQsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkVGVzdENvbmZpZy0+e1NldEhlYWRlcnN9ICkgewogICAgICAgICAgICAkSGVscGVyLT5Db25maWdTZXR0aW5nQ2hhbmdlKAogICAgICAgICAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICAgICAgICAgIEtleSAgID0+ICdEeW5hbWljRmllbGREQjo6RGlzcGxheWZpZWxkSGVhZGVycycsCiAgICAgICAgICAgICAgICBWYWx1ZSA9PiAkVGVzdENvbmZpZy0+e1NldEhlYWRlcnN9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBTZXQgdmFsdWUKICAgICAgICBteSAkU3VjY2VzcyA9ICRCYWNrZW5kT2JqZWN0LT5WYWx1ZVNldCgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIE9iamVjdElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGVzdENvbmZpZy0+e1ZhbHVlfSwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+ICRVc2VySUQsCiAgICAgICAgKTsKICAgICAgICBvayggJFN1Y2Nlc3MsICdWYWx1ZVNldCBzdWNjZXNzZnVsJyApOwoKICAgICAgICBteSAkRGlzcGxheVZhbHVlID0gJEJhY2tlbmRPYmplY3QtPkRpc3BsYXlWYWx1ZVJlbmRlcigKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGVzdENvbmZpZy0+e1ZhbHVlfSwKICAgICAgICAgICAgSFRNTE91dHB1dCAgICAgICAgID0+IDEsCiAgICAgICAgICAgIExheW91dE9iamVjdCAgICAgICA9PiAkTGF5b3V0T2JqZWN0LAogICAgICAgICk7CgogICAgICAgIGlzKAogICAgICAgICAgICAkRGlzcGxheVZhbHVlLAogICAgICAgICAgICBoYXNoIHsKICAgICAgICAgICAgICAgIGZvciBteSAkQ2hlY2tLZXkgKCBrZXlzICRUZXN0Q29uZmlnLT57RGlzcGxheVZhbHVlfS0+JSogKSB7CiAgICAgICAgICAgICAgICAgICAgZmllbGQgJENoZWNrS2V5ID0+ICRUZXN0Q29uZmlnLT57RGlzcGxheVZhbHVlfXskQ2hlY2tLZXl9OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGVuZCgpOwogICAgICAgICAgICB9LAogICAgICAgICAgICAnRGlzcGxheVZhbHVlIG9rJwogICAgICAgICk7CiAgICB9Owp9Cgpkb25lX3Rlc3Rpbmc7Cg==</File>
        <File Location="var/httpd/htdocs/js/Core.Agent.Admin.DynamicFieldDB.js" Permission="660" Encode="Base64">Ly8gLS0KLy8gT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgovLyAtLQovLyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOSBPVFJTIEFHLCBodHRwczovL290cnMuY29tLwovLyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNiBSb3RoZXIgT1NTIEdtYkgsIGh0dHBzOi8vb3RvYm8uaW8vCi8vIC0tCi8vICRvcmlnaW46IG90b2JvIC0gZmY5ZTI5N2JhZjI4N2UxNjA3MWQzYWM2YWQ3ZjZjMTNmMTFhYzdmYSAtIHZhci9odHRwZC9odGRvY3MvanMvQ29yZS5BZ2VudC5BZG1pbi5EeW5hbWljRmllbGREQi5qcwovLyAtLQovLyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgovLyB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQovLyBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgovLyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQKLy8gQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MKLy8gRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi8vIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi8vIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgovLyAtLQoKInVzZSBzdHJpY3QiOwoKdmFyIENvcmUgPSBDb3JlIHx8IHt9OwpDb3JlLkFnZW50ID0gQ29yZS5BZ2VudCB8fCB7fTsKQ29yZS5BZ2VudC5BZG1pbiA9IENvcmUuQWdlbnQuQWRtaW4gfHwge307CgovKioKICogQG5hbWVzcGFjZQogKiBAZXhwb3J0cyBUYXJnZXROUyBhcyBDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCCiAqIEBkZXNjcmlwdGlvbgogKiAgICAgIFRoaXMgbmFtZXNwYWNlIGNvbnRhaW5zIHRoZSBzcGVjaWFsIG1vZHVsZSBmdW5jdGlvbnMgZm9yIHRoZSBEeW5hbWljRmllbGREQiBtb2R1bGUuCiAqLwpDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCID0gKGZ1bmN0aW9uIChUYXJnZXROUykgewoKICAgIC8qKgogICAgICogQGZ1bmN0aW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gSURTZWxlY3RvciwgaWQgb2YgdGhlIHByZXNzZWQgcmVtb3ZlIHZhbHVlIGJ1dHRvbi4KICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gUmVtb3ZlCiAgICAgKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiB1cGRhdGVzIHRoZSBpZGVudGlmaWVyIGRyb3Bkb3duIG1lbnUKICAgICAqIEByZXR1cm5zIHtib29sZWFufQogICAgICovCiAgICBUYXJnZXROUy5VcGRhdGVJZGVudGlmaWVyID0gZnVuY3Rpb24gKElEU2VsZWN0b3IsIFJlbW92ZSl7CgogICAgICAgIHZhciBJZGVudGlmaWVyS2V5LAogICAgICAgICAgICBJZGVudGlmaWVyVmFsdWUsCiAgICAgICAgICAgIEVsZW1lbnRVcGRhdGVkLAogICAgICAgICAgICBzb3J0ZWQ7CgogICAgICAgIC8vIGdldCB0aGUgbnVtYmVyIG9mIHRoZSBzZWxlY3RvciBpZCBhbmQKICAgICAgICAvLyB1c2UgaXQgYXMgdGhlIHNlbGVjdCBrZXkKICAgICAgICAvLio/XyhcZCspLy5leGVjKElEU2VsZWN0b3IpOwogICAgICAgIElkZW50aWZpZXJLZXkgPSBSZWdFeHAuJDE7CgogICAgICAgIC8vIHJlbW92ZSB0aGUgcmVsYXRlZCBpdGVtIGlmIHRoZSBjb21wbGV0ZSBsaW5lIHdhcyByZW1vdmVkCiAgICAgICAgaWYgKFJlbW92ZSkgewogICAgICAgICAgICAkKCIjSWRlbnRpZmllciBvcHRpb25bdmFsdWU9JyIgKyBJZGVudGlmaWVyS2V5ICsgIiddIikucmVtb3ZlKCk7CiAgICAgICAgICAgIFRhcmdldE5TLlVwZGF0ZUlkZW50aWZpZXIoKTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgLy8gdXNlIHRoZSBpbnB1dCB2YWx1ZSBhcyB0aGUgc2VsZWN0IHZhbHVlCiAgICAgICAgSWRlbnRpZmllclZhbHVlID0gJCgnIycgKyBJRFNlbGVjdG9yKS52YWwoKTsKCiAgICAgICAgaWYoSWRlbnRpZmllclZhbHVlKSB7CgogICAgICAgICAgICBFbGVtZW50VXBkYXRlZCA9IDA7CgogICAgICAgICAgICAvLyBzZWFyY2ggZm9yIHRoZSBzZWxlY3Qgb3B0aW9uIGFuZCB1cGRhdGUgdGhlIHRleHQKICAgICAgICAgICAgJCgnI0lkZW50aWZpZXIgb3B0aW9uJykuZWFjaChmdW5jdGlvbihLZXksIFZhbHVlKSB7CiAgICAgICAgICAgICAgICBpZiAoVmFsdWUudmFsdWUgPT09IElkZW50aWZpZXJLZXkpIHsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRleHQoSWRlbnRpZmllclZhbHVlKTsKICAgICAgICAgICAgICAgICAgICBFbGVtZW50VXBkYXRlZCA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gb2J2aW91c2x5IHRoZSBlbnRyeSBpcyBub3QgcHJlc2VudCB5ZXQKICAgICAgICAgICAgLy8gYWRkIGl0IHRvIHRoZSBkcm9wZG93biBtZW51CiAgICAgICAgICAgIGlmICghRWxlbWVudFVwZGF0ZWQpIHsKICAgICAgICAgICAgICAgICQoIjxvcHRpb24vPiIpLnZhbChJZGVudGlmaWVyS2V5KS50ZXh0KElkZW50aWZpZXJWYWx1ZSkuYXBwZW5kVG8oJyNJZGVudGlmaWVyJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICQoIiNJZGVudGlmaWVyIG9wdGlvblt2YWx1ZT0nIiArIElkZW50aWZpZXJLZXkgKyAiJ10iKS5yZW1vdmUoKTsKICAgICAgICB9CgogICAgICAgIC8vIHNvcnQgdGhlIGlkZW50aWZpZXIgZHJvcGRvd24gbWVudSBieSB0ZXh0CiAgICAgICAgc29ydGVkID0gJC5tYWtlQXJyYXkoJCgiI0lkZW50aWZpZXIgb3B0aW9uIikpLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICByZXR1cm4gKCgkKGEpLnRleHQoKSA+ICQoYikudGV4dCgpKSA/IDEgOiAtMSk7CiAgICAgICAgfSk7CiAgICAgICAgJCgiI0lkZW50aWZpZXIiKS5lbXB0eSgpLmFwcGVuZChzb3J0ZWQpLnRyaWdnZXIoJ3JlZHJhdy5JbnB1dEZpZWxkJykudHJpZ2dlcignY2hhbmdlJyk7CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBJRFNlbGVjdG9yLCBpZCBvZiB0aGUgcHJlc3NlZCByZW1vdmUgdmFsdWUgYnV0dG9uLgogICAgICogQHJldHVybnMge2Jvb2xlYW59CiAgICAgKiBAZGVzY3JpcHRpb24gVGhpcyBmdW5jdGlvbiByZW1vdmVzIGEgdmFsdWUgZnJvbSBwb3NzaWJsZSB2YWx1ZXMgbGlzdCBhbmQgY3JlYXRlcyBhIHN0dWIgaW5wdXQgc28KICAgICAqICAgICAgICAgICAgICB0aGUgc2VydmVyIGNhbiBpZGVudGlmeSBpZiBhIHZhbHVlIGlzIGVtcHR5IG9yIGRlbGV0ZWQgKHVzZWZ1bCBmb3Igc2VydmVyIHZhbGlkYXRpb24pCiAgICAgKiAgICAgICAgICAgICAgSXQgYWxzbyBkZWxldGVzIHRoZSBWYWx1ZSBmcm9tIHRoZSBEZWZhdWx0VmFsdWVzIGxpc3QKICAgICAqLwogICAgVGFyZ2V0TlMuUmVtb3ZlVmFsdWUgPSBmdW5jdGlvbiAoSURTZWxlY3Rvcil7CgogICAgICAgIC8vIGNvcHkgSFRNTCBjb2RlIGZvciBhbiBpbnB1dCByZXBsYWNlbWVudCBmb3IgdGhlIGRlbGV0ZWQgdmFsdWUKICAgICAgICB2YXIgJENsb25lID0gJCgnLkRlbGV0ZWRWYWx1ZScpLmNsb25lKCksCgogICAgICAgIC8vIGdldCB0aGUgaW5kZXggb2YgdGhlIHZhbHVlIHRvIGRlbGV0ZSAoaXRzIGFsd2F5cyB0aGUgc2Vjb25kIGVsZW1lbnQgKDEpIGluIHRoaXMgUmVnRXgKICAgICAgICAkT2JqZWN0SW5kZXggPSBJRFNlbGVjdG9yLm1hdGNoKC8uK18oXGQrKS8pWzFdLAoKICAgICAgICAvLyBnZXQgdGhlIGtleSBuYW1lIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBkZWZhdWx0cyBzZWxlY3QKICAgICAgICAkS2V5ID0gJCgnI0tleV8nICsgJE9iamVjdEluZGV4KS52YWwoKTsKCiAgICAgICAgLy8gc2V0IHRoZSBpbnB1dCByZXBsYWNlbWVudCBhdHRyaWJ1dGVzIHRvIG1hdGNoIHRoZSBkZWxldGVkIG9yaWdpbmFsIHZhbHVlCiAgICAgICAgLy8gbmV3IHZhbHVlIGFuZCBvdGhlciBjb250cm9scyBhcmUgbm90IG5lZWRlZCBhbnltb3JlCiAgICAgICAgJENsb25lLmF0dHIoJ2lkJywgJ0tleScgKyAnXycgKyAkT2JqZWN0SW5kZXgpOwogICAgICAgICRDbG9uZS5hdHRyKCduYW1lJywgJ0tleScgKyAnXycgKyAkT2JqZWN0SW5kZXgpOwogICAgICAgICRDbG9uZS5yZW1vdmVDbGFzcygnRGVsZXRlZFZhbHVlJyk7CgogICAgICAgIC8vIGFkZCB0aGUgaW5wdXQgcmVwbGFjZW1lbnQgdG8gdGhlIG1hcHBpbmcgdHlwZSBzbyBpdCBjYW4gYmUgcGFyc2VkIGFuZCBkaXN0aW5ndWlzaCBmcm9tCiAgICAgICAgLy8gZW1wdHkgdmFsdWVzIGJ5IHRoZSBzZXJ2ZXIKICAgICAgICAvLyQoJyMnKyBJRFNlbGVjdG9yKS5jbG9zZXN0KCdmaWVsZHNldCcpLmFwcGVuZCgkQ2xvbmUpOwoKICAgICAgICAvLyByZW1vdmUgdGhlIHZhbHVlIGZyb20gZGVmYXVsdCBsaXN0CiAgICAgICAgaWYgKCRLZXkgIT09ICcnKXsKICAgICAgICAgICAgJCgnI0RlZmF1bHRWYWx1ZScpLmZpbmQoIm9wdGlvblt2YWx1ZT0nIiArICRLZXkgKyAiJ10iKS5yZW1vdmUoKTsKICAgICAgICB9CgogICAgICAgIC8vIHJlbW92ZSBwb3NzaWJsZSB2YWx1ZQogICAgICAgICQoJyMnICsgSURTZWxlY3RvcikucGFyZW50KCkucmVtb3ZlKCk7CgogICAgICAgIC8vIHJlbW92ZSB0aGUgdmFsdWUgaW4gdGhlIGlkZW50aWZpZXIgZHJvcGRvd24gbWVudQogICAgICAgIFRhcmdldE5TLlVwZGF0ZUlkZW50aWZpZXIoSURTZWxlY3RvciwgdHJ1ZSk7CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBWYWx1ZUluc2VydCwgSFRNTCBjb250YWluZXIgb2YgdGhlIHZhbHVlIG1hcHBpbmcgcm93CiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0KICAgICAqIEBkZXNjcmlwdGlvbiBUaGlzIGZ1bmN0aW9uIGFkZCBhIG5ldyB2YWx1ZSB0byB0aGUgcG9zc2libGUgdmFsdWVzIGxpc3QKICAgICAqLwogICAgVGFyZ2V0TlMuQWRkVmFsdWUgPSBmdW5jdGlvbiAoVmFsdWVJbnNlcnQpIHsKCiAgICAgICAgLy8gY2xvbmUga2V5IGRpYWxvZwogICAgICAgIHZhciAkQ2xvbmUgPSAkKCcuVmFsdWVUZW1wbGF0ZScpLmNsb25lKCksCiAgICAgICAgICAgIFZhbHVlQ291bnRlciA9ICQoJyNWYWx1ZUNvdW50ZXInKS52YWwoKTsKCiAgICAgICAgLy8gaW5jcmVtZW50IGtleSBjb3VudGVyCiAgICAgICAgVmFsdWVDb3VudGVyKys7CgogICAgICAgIC8vIHJlbW92ZSB1bm5lY2Vzc2FyeSBjbGFzc2VzCiAgICAgICAgJENsb25lLnJlbW92ZUNsYXNzKCdIaWRkZW4gVmFsdWVUZW1wbGF0ZScpOwoKICAgICAgICAvLyBhZGQgbmVlZGVkIGNsYXNzCiAgICAgICAgJENsb25lLmFkZENsYXNzKCdWYWx1ZVJvdyBDYXJkJyk7CgogICAgICAgIC8vIGNvcHkgdmFsdWVzIGFuZCBjaGFuZ2UgaWRzIGFuZCBuYW1lcwogICAgICAgICRDbG9uZS5maW5kKCc6aW5wdXQsIGEnKS5lYWNoKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHZhciBJRCA9ICQodGhpcykuYXR0cignaWQnKTsKICAgICAgICAgICAgJCh0aGlzKS5hdHRyKCdpZCcsIElEICsgJ18nICsgVmFsdWVDb3VudGVyKTsKICAgICAgICAgICAgJCh0aGlzKS5hdHRyKCduYW1lJywgSUQgKyAnXycgKyBWYWx1ZUNvdW50ZXIpOwoKICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnVmFsaWRhdGVfUmVxdWlyZWQnKTsKCiAgICAgICAgICAgIC8vIHNldCBlcnJvciBjb250cm9scwogICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJyMnICsgSUQgKyAnRXJyb3InKS5hdHRyKCdpZCcsIElEICsgJ18nICsgVmFsdWVDb3VudGVyICsgJ0Vycm9yJyk7CiAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuZmluZCgnIycgKyBJRCArICdFcnJvcicpLmF0dHIoJ25hbWUnLCBJRCArICdfJyArIFZhbHVlQ291bnRlciArICdFcnJvcicpOwoKICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5maW5kKCcjJyArIElEICsgJ1NlcnZlckVycm9yJykuYXR0cignaWQnLCBJRCArICdfJyArIFZhbHVlQ291bnRlciArICdTZXJ2ZXJFcnJvcicpOwogICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJyMnICsgSUQgKyAnU2VydmVyRXJyb3InKS5hdHRyKCduYW1lJywgSUQgKyAnXycgKyBWYWx1ZUNvdW50ZXIgKyAnU2VydmVyRXJyb3InKTsKCiAgICAgICAgICAgIC8vIGFkZCBldmVudCBoYW5kbGVyIHRvIHJlbW92ZSBidXR0b24KICAgICAgICAgICAgaWYoJCh0aGlzKS5oYXNDbGFzcygnUmVtb3ZlQnV0dG9uJykpIHsKCiAgICAgICAgICAgICAgICAvLyBiaW5kIGNsaWNrIGZ1bmN0aW9uIHRvIHJlbW92ZSBidXR0b24KICAgICAgICAgICAgICAgICQodGhpcykub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIFRhcmdldE5TLlJlbW92ZVZhbHVlKCQodGhpcykuYXR0cignaWQnKSk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIGFkZCBibHVyIGV2ZW50IGhhbmRsZXIgdG8gdGhlIG5hbWUgZmllbGQKICAgICAgICAgICAgLy8gdG8gdXBkYXRlIHRoZSBpZGVudGlmaWVyIGRyb3Bkb3duIG1lbnUKICAgICAgICAgICAgaWYgKCQodGhpcykuYXR0cignaWQnKS5tYXRjaCgvRmllbGROYW1lXy9pKSkgewogICAgICAgICAgICAgICAgJCh0aGlzKS5vbignYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIFRhcmdldE5TLlVwZGF0ZUlkZW50aWZpZXIoJCh0aGlzKS5hdHRyKCdpZCcpKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyByZW1vdmUgY2xhc3MgVmFsaWRhdGVfUmVxdWlyZWQKICAgICAgICAgICAgaWYgKCQodGhpcykuYXR0cignaWQnKS5tYXRjaCgvU2VhcmNoZmllbGRfL2kpKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdWYWxpZGF0ZV9SZXF1aXJlZCcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkKHRoaXMpLmF0dHIoJ2lkJykubWF0Y2goL0xpc3RmaWVsZF8vaSkpIHsKICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ1ZhbGlkYXRlX1JlcXVpcmVkJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCQodGhpcykuYXR0cignaWQnKS5tYXRjaCgvRmllbGRGaWx0ZXJfL2kpKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdWYWxpZGF0ZV9SZXF1aXJlZCcpOwogICAgICAgICAgICB9Ci8vIFJvdGhlciBPU1MgLyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICAgICAgaWYgKCQodGhpcykuYXR0cignaWQnKS5tYXRjaCgvRGlzcGxheWZpZWxkXy9pKSkgewogICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnVmFsaWRhdGVfUmVxdWlyZWQnKTsKICAgICAgICAgICAgfQovLyBFTyBEeW5hbWljRmllbGREYXRhYmFzZUV4dGVuc2lvbnMKICAgICAgICB9KTsKCiAgICAgICAgJENsb25lLmZpbmQoJ2xhYmVsJykuZWFjaChmdW5jdGlvbigpewogICAgICAgICAgICB2YXIgRk9SID0gJCh0aGlzKS5hdHRyKCdmb3InKTsKICAgICAgICAgICAgJCh0aGlzKS5hdHRyKCdmb3InLCBGT1IgKyAnXycgKyBWYWx1ZUNvdW50ZXIpOwogICAgICAgIH0pOwoKICAgICAgICAvLyBhcHBlbmQgdG8gY29udGFpbmVyCiAgICAgICAgVmFsdWVJbnNlcnQuYXBwZW5kKCRDbG9uZSk7CgogICAgICAgIC8vIHNldCBuZXcgdmFsdWUgZm9yIEtleU5hbWUKICAgICAgICAkKCcjVmFsdWVDb3VudGVyJykudmFsKFZhbHVlQ291bnRlcik7CgogICAgICAgICQoJy5EZWZhdWx0VmFsdWVLZXlJdGVtLC5EZWZhdWx0VmFsdWVJdGVtJykub24oJ2tleXVwJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCLlJlY3JlYXRlRGVmYXVsdFZhbHVlTGlzdCgpOwogICAgICAgIH0pOwoKICAgICAgICBDb3JlLlVJLklucHV0RmllbGRzLkFjdGl2YXRlKCRDbG9uZSk7CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEByZXR1cm5zIHtib29sZWFufQogICAgICogQGRlc2NyaXB0aW9uICAgICBUaGlzIGZ1bmN0aW9uIHJlLWNyZWF0ZXMgYW5kIHNvcnQgdGhlIERlZmF1bHQgVmFsdWVzIGxpc3QgdGFraW5nIHRoZSBQb3NzaWJsZSBWYWx1ZXMKICAgICAqICAgICAgICAgICAgICAgICAgYXMgc291cmNlLCBhbGwgZGVsZXRlZCB2YWx1ZXMgd2lsbCBub3QgYmUgcGFydCBvZiB0aGUgcmUtY3JlYXRlZCB2YWx1ZSBsaXN0CiAgICAgKi8KICAgIFRhcmdldE5TLlJlY3JlYXRlRGVmYXVsdFZhbHVlTGlzdCA9IGZ1bmN0aW9uKCkgewoKICAgICAgICAvLyBnZXQgdGhlIHNlbGVjdGVkIGRlZmF1bHQgdmFsdWUKICAgICAgICB2YXIgU2VsZWN0ZWRWYWx1ZSA9ICQoIiNEZWZhdWx0VmFsdWUgb3B0aW9uOnNlbGVjdGVkIikudmFsKCksCgogICAgICAgIC8vIGRlZmluZSBvdGhlciB2YXJpYWJsZXMKICAgICAgICBWYWx1ZUluZGV4LCBLZXksIFZhbHVlLCBLZXlJRCwgU2VsZWN0T3B0aW9uczsKCiAgICAgICAgLy8gZGVsZXRlIGFsbCBlbGVtZW50cwogICAgICAgICQoJyNEZWZhdWx0VmFsdWUnKS5lbXB0eSgpOwoKICAgICAgICAvLyBhZGQgdGhlIGRlZmF1bHQgInBvc3NpYmxlIG5vbmUiIGVsZW1lbnQKICAgICAgICAkKCcjRGVmYXVsdFZhbHVlJykuYXBwZW5kKCQoJzxvcHRpb24+JywgeyB2YWx1ZTogJycgfSkudGV4dCgnLScpKTsKCiAgICAgICAgLy8gZmluZCBhbGwgYWN0aXZlIHBvc3NpYmxlIHZhbHVlcyBrZXlzICh0aGlzIHdpbGwgb21pdCBhbGwgcHJldmlvdXNseSBkZWxldGVkIGtleXMpCiAgICAgICAgJCgnLlZhbHVlUm93ID4gLkRlZmF1bHRWYWx1ZUtleUl0ZW0nKS5lYWNoKGZ1bmN0aW9uKCl7CgogICAgICAgICAgICAvLyBmb3IgZWFjaCBrZXk6CiAgICAgICAgICAgIC8vIEdldCB0aGUgSUQKICAgICAgICAgICAgS2V5SUQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7CgogICAgICAgICAgICAvLyBleHRyYWN0IHRoZSBpbmRleAogICAgICAgICAgICBWYWx1ZUluZGV4ID0gS2V5SUQubWF0Y2goLy4rXyhcZCspLylbMV07CgogICAgICAgICAgICAvLyBnZXQgdGhlIEtleSBhbmQgVmFsdWUKICAgICAgICAgICAgS2V5ID0gJCh0aGlzKS52YWwoKTsKICAgICAgICAgICAgVmFsdWUgPSAkKCcjVmFsdWVfJyArIFZhbHVlSW5kZXgpLnZhbCgpOwoKICAgICAgICAgICAgLy8gY2hlY2sgaWYgYm90aCBhcmUgbm9uZSBlbXB0eSBhbmQgYWRkIHRoZW0gdG8gdGhlIGRlZmF1bHQgdmFsdWVzIGxpc3QKICAgICAgICAgICAgaWYgKEtleSAhPT0gJycgJiYgVmFsdWUgIT09ICcnKSB7CiAgICAgICAgICAgICAgICAkKCcjRGVmYXVsdFZhbHVlJykuYXBwZW5kKCQoJzxvcHRpb24+JywgeyB2YWx1ZTogS2V5IH0pLnRleHQoVmFsdWUpKTsKCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gZXh0cmFjdCB0aGUgbmV3IHZhbHVlIGxpc3QgaW50byBhbiBhcnJheQogICAgICAgIFNlbGVjdE9wdGlvbnMgPSAkKCIjRGVmYXVsdFZhbHVlIG9wdGlvbiIpOwoKICAgICAgICAvLyBzb3J0IHRoZSBhcnJheSBieSB0aGUgdGV4dCAodGhpcyBtZWFucyB0aGUgVmFsdWUpCiAgICAgICAgU2VsZWN0T3B0aW9ucy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKICAgICAgICAgICAgaWYgKGEudGV4dCA+IGIudGV4dCkgewogICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoYS50ZXh0IDwgYi50ZXh0KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICAvLyBjbGVhciB0aGUgbGlzdCBhZ2FpbiBhbmQgcmUtcG9wdWxhdGUgaXQgd2l0aCB0aGUgc29ydGVkIGxpc3QKICAgICAgICAkKCIjRGVmYXVsdFZhbHVlIikuZW1wdHkoKS5hcHBlbmQoU2VsZWN0T3B0aW9ucyk7CgogICAgICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgdmFsdWUgYXMgaXQgd2FzIGJlZm9yZSwgdGhpcyB3aWxsIG5vdCBhcHBseSBpZiB0aGUga2V5IG5hbWUgd2FzCiAgICAgICAgLy8gY2hhbmdlZAogICAgICAgICQoJyNEZWZhdWx0VmFsdWUnKS52YWwoU2VsZWN0ZWRWYWx1ZSk7CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07CgogICAgLyoqCiAgICAgKiBAbmFtZSBJbml0CiAgICAgKiBAZnVuY3Rpb24KICAgICAqIEBkZXNjcmlwdGlvbgogICAgICogICAgICAgSW5pdGlhbGl6ZSBtb2R1bGUgZnVuY3Rpb25hbGl0eQogICAgICovCiAgICBUYXJnZXROUy5Jbml0ID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAvLyBCaW5kIGNsaWNrIGZ1bmN0aW9uIHRvIGFkZCBidXR0b24uCiAgICAgICAgJCgnI0FkZFZhbHVlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBUYXJnZXROUy5BZGRWYWx1ZSgKICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnZmllbGRzZXQnKS5maW5kKCcuVmFsdWVJbnNlcnQnKQogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSk7CgogICAgICAgIC8vIEJpbmQgY2xpY2sgZnVuY3Rpb24gdG8gcmVtb3ZlIGJ1dHRvbi4KICAgICAgICAkKCcuVmFsdWVSZW1vdmUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIFRhcmdldE5TLlJlbW92ZVZhbHVlKCQodGhpcykuYXR0cignaWQnKSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gQ2hlY2sgaWYgU0lEIGlzIG5lZWRlZC4KICAgICAgICBpZiAoJCgnI1R5cGUnKS52YWwoKSA9PT0gJ29yYWNsZScpIHsKICAgICAgICAgICAgJCgnI1NJRExhYmVsJykuZmFkZUluKCk7CiAgICAgICAgICAgICQoJyNTSURGaWVsZCcpLmZhZGVJbigpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJCgnI1NJRExhYmVsJykuZmFkZU91dCgpOwogICAgICAgICAgICAkKCcjU0lERmllbGQnKS5mYWRlT3V0KCk7CiAgICAgICAgfQoKICAgICAgICAkKCcjVHlwZScpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgIGlmICgkKCcjVHlwZScpLnZhbCgpID09PSAnb3JhY2xlJykgewogICAgICAgICAgICAgICAgJCgnI1NJRExhYmVsJykuZmFkZUluKCk7CiAgICAgICAgICAgICAgICAkKCcjU0lERmllbGQnKS5mYWRlSW4oKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICQoJyNTSURMYWJlbCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgICAgICQoJyNTSURGaWVsZCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICAvLyBDaGVjayBpZiB0aGUgZHJpdmVyIGZpZWxkIGlzIG5lZWRlZC4KICAgICAgICBpZiAoJCgnI1R5cGUnKS52YWwoKSA9PT0gJ09EQkMnKSB7CiAgICAgICAgICAgICQoJyNEcml2ZXJMYWJlbCcpLmZhZGVJbigpOwogICAgICAgICAgICAkKCcjRHJpdmVyRmllbGQnKS5mYWRlSW4oKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICQoJyNEcml2ZXJMYWJlbCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgJCgnI0RyaXZlckZpZWxkJykuZmFkZU91dCgpOwogICAgICAgIH0KCiAgICAgICAgJCgnI1R5cGUnKS5vbignY2hhbmdlJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICBpZiAoJCgnI1R5cGUnKS52YWwoKSA9PT0gJ09EQkMnKSB7CiAgICAgICAgICAgICAgICAkKCcjRHJpdmVyTGFiZWwnKS5mYWRlSW4oKTsKICAgICAgICAgICAgICAgICQoJyNEcml2ZXJGaWVsZCcpLmZhZGVJbigpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJCgnI0RyaXZlckxhYmVsJykuZmFkZU91dCgpOwogICAgICAgICAgICAgICAgJCgnI0RyaXZlckZpZWxkJykuZmFkZU91dCgpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgICQoJ2lucHV0W2lkKj1GaWVsZE5hbWVfXScpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQodGhpcykuYmx1cihmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIFRhcmdldE5TLlVwZGF0ZUlkZW50aWZpZXIoJCh0aGlzKS5hdHRyKCdpZCcpKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CgogICAgICAgIENvcmUuVUkuSW5wdXRGaWVsZHMuQWN0aXZhdGUoKTsKICAgIH07CgogICAgQ29yZS5Jbml0LlJlZ2lzdGVyTmFtZXNwYWNlKFRhcmdldE5TLCAnQVBQX01PRFVMRScpOwoKICAgIHJldHVybiBUYXJnZXROUzsKfShDb3JlLkFnZW50LkFkbWluLkR5bmFtaWNGaWVsZERCIHx8IHt9KSk7Cg==</File>
        <File Location="var/httpd/htdocs/skins/Customer/default/css/DynamicFieldDatabaseExtensions.TicketZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5vb29TZWN0aW9uIHAub29vMTIgLkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgbGluZS1oZWlnaHQ6IDEuM2VtOwogIG1hcmdpbi1sZWZ0OiA0OHB4OwogIG1pbi1oZWlnaHQ6IDE3cHg7CiAgcGFkZGluZy10b3A6IDAuM2VtOwogIHBhZGRpbmctYm90dG9tOiAxcHg7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tY29sQkdMaWdodCk7CiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKfQo=</File>
        <File Location="var/httpd/htdocs/skins/Agent/default/css/DynamicFieldDatabaseExtensions.TicketZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmZpZWxkc2V0LlRhYmxlTGlrZSBkaXYuRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBsaW5lLWhlaWdodDogMS4zZW07CiAgbWFyZ2luLWxlZnQ6IDc0cHg7CiAgbWluLWhlaWdodDogMTdweDsKICBwYWRkaW5nLXRvcDogMC4zZW07CiAgcGFkZGluZy1ib3R0b206IDFweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMCB2YXIoLS1jb2xCR0xpZ2h0KTsKICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwp9Cg==</File>
        <File Location="var/httpd/htdocs/skins/Agent/default/css/DynamicFieldDatabaseExtensions.ITSMConfigItemZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5GaWVsZERpc3BsYXlSb3cgZGl2LkR5bmFtaWNGaWVsZERCRXh0ZW5kZWRWYWx1ZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgbGluZS1oZWlnaHQ6IDEuM2VtOwogIG1hcmdpbi1sZWZ0OiA3NHB4OwogIG1pbi1oZWlnaHQ6IDE3cHg7CiAgcGFkZGluZy10b3A6IDAuM2VtOwogIHBhZGRpbmctYm90dG9tOiAxcHg7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgdmFyKC0tY29sQkdMaWdodCk7CiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKfQo=</File>
        <File Location="var/httpd/htdocs/skins/Customer/default/css/DynamicFieldDatabaseExtensions.ITSMConfigItemZoom.css" Permission="660" Encode="Base64">LyogT1RPQk8gaXMgYSB3ZWItYmFzZWQgdGlja2V0aW5nIHN5c3RlbSBmb3Igc2VydmljZSBvcmdhbmlzYXRpb25zLgoKQ29weXJpZ2h0IChDKSAyMDAxLTIwMjAgT1RSUyBBRywgaHR0cHM6Ly9vdHJzLmNvbS8KQ29weXJpZ2h0IChDKSAyMDE5LTIwMjYgUm90aGVyIE9TUyBHbWJILCBodHRwczovL290b2JvLmlvLwoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCkFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCkZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKi8KCi8qKgoqIEBwYWNrYWdlICAgICBTa2luICJEZWZhdWx0IgoqIEBzZWN0aW9uICAgICBbcGxhY2Vob2xkZXJdCiogQHN1YnNlY3Rpb24gIFtwbGFjZWhvbGRlcl0KKi8KCmRpdi5GaWVsZERpc3BsYXlSb3cgcCAuRHluYW1pY0ZpZWxkREJFeHRlbmRlZFZhbHVlIHsKICBkaXNwbGF5OiBibG9jazsKICBsaW5lLWhlaWdodDogMS4zZW07CiAgbWFyZ2luLWxlZnQ6IDQ4cHg7CiAgbWluLWhlaWdodDogMTdweDsKICBwYWRkaW5nLXRvcDogMC4zZW07CiAgcGFkZGluZy1ib3R0b206IDFweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMCB2YXIoLS1jb2xCR0xpZ2h0KTsKICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwp9Cg==</File>
        <File Location="doc/en/DynamicFieldDatabaseExtensions.pdf" Permission="644" Encode="Base64">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TC9MZW5ndGggMzMzMj4+CnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmYwOTNkYjg2LTE1OGEtNDY0OS05MzNiLWViZWE4ZjcyNWJjZSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxZjkyMWRjNy0xYzUwLTQ0OGUtYTg2ZC01ZmIyNTY2M2Y0OTIiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjEzZWYxMC0xYzA3LTRkYjYtYjBiOC1jZjkzMGE0MWJhMDMiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE3MjY2NTA2MTU2OTYxNDkiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zMCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo3M2JhMDk2OS1mNGNjLTQ0NzctYWIyMy0wZmNjNzVjY2JiNDUiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA5LTE4VDExOjEwOjE1KzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PgplbmRzdHJlYW0KZW5kb2JqCjQ3IDAgb2JqCjw8L0NvbG9yU3BhY2UvRGV2aWNlUkdCL01ldGFkYXRhIDQ2IDAgUi9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCA0MzAvSGVpZ2h0CjQ5NS9CaXRzUGVyQ29tcG9uZW50IDgvRGVjb2RlUGFybXM8PC9CaXRzUGVyQ29tcG9uZW50IDgvQ29sb3JzIDMvQ29sdW1ucyA0MzAvUHJlZGljdG9yCjE1Pj4vRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzODE0Mj4+CnN0cmVhbQp4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bnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6OGYzYjcwMGMtNmQwYS00ZjFhLWEwM2EtMWZkZTBkNDYyZDY0IgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcwZDVlZjhkLTU2NGQtNGViZi1hMzc5LThjYjA3YzdmYmE1OSIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjZjMjllNDdlLTNlYTItNGE4OS05YzM4LTgwOWM3NjQ4NWQ5NCIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTcyMTg5MjcyNDQyNzQ4OCIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjMwIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjBkNTM3MjBlLWNiNWUtNDk0Zi04NWJhLTQ1MzhkNjhkOTUxZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjQtMDctMjVUMDk6MzI6MDQrMDI6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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</File>
    </Filelist>
</otrs_package>