1688054431
waR3U4bTeM%3A16be00b56d621522ccc26f8cc9c84d1d-9d0265a2721326b80dff06d046c4ce05
s:27104:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjlkMDI2NWEyNzIxMzI2YjgwZGZmMDZkMDQ2YzRjZTA1IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6MTM6IkNvYmVydHVyYS5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo1NzoidmVuZG9yL3BocHVuaXQvcGhwLWNvZGUtY292ZXJhZ2Uvc3JjL1JlcG9ydC9Db2JlcnR1cmEucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxMjcxNjoiPD9waHAgZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7Ci8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHBocHVuaXQvcGhwLWNvZGUtY292ZXJhZ2UuCiAqCiAqIChjKSBTZWJhc3RpYW4gQmVyZ21hbm4gPHNlYmFzdGlhbkBwaHB1bml0LmRlPgogKgogKiBGb3IgdGhlIGZ1bGwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGluZm9ybWF0aW9uLCBwbGVhc2UgdmlldyB0aGUgTElDRU5TRQogKiBmaWxlIHRoYXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb3VyY2UgY29kZS4KICovCm5hbWVzcGFjZSBTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcUmVwb3J0OwoKdXNlIGZ1bmN0aW9uIGNvdW50Owp1c2UgZnVuY3Rpb24gZGlybmFtZTsKdXNlIGZ1bmN0aW9uIGZpbGVfcHV0X2NvbnRlbnRzOwp1c2UgZnVuY3Rpb24gcmFuZ2U7CnVzZSBmdW5jdGlvbiB0aW1lOwp1c2UgRE9NSW1wbGVtZW50YXRpb247CnVzZSBTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcQ29kZUNvdmVyYWdlOwp1c2UgU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXERyaXZlclxXcml0ZU9wZXJhdGlvbkZhaWxlZEV4Y2VwdGlvbjsKdXNlIFNlYmFzdGlhbkJlcmdtYW5uXENvZGVDb3ZlcmFnZVxOb2RlXEZpbGU7CnVzZSBTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcVXRpbFxGaWxlc3lzdGVtOwoKZmluYWwgY2xhc3MgQ29iZXJ0dXJhCnsKICAgIC8qKgogICAgICogQHRocm93cyBXcml0ZU9wZXJhdGlvbkZhaWxlZEV4Y2VwdGlvbgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gcHJvY2VzcyhDb2RlQ292ZXJhZ2UgJGNvdmVyYWdlLCA/c3RyaW5nICR0YXJnZXQgPSBudWxsLCA/c3RyaW5nICRuYW1lID0gbnVsbCk6IHN0cmluZwogICAgewogICAgICAgICR0aW1lID0gKHN0cmluZykgdGltZSgpOwoKICAgICAgICAkcmVwb3J0ID0gJGNvdmVyYWdlLT5nZXRSZXBvcnQoKTsKCiAgICAgICAgJGltcGxlbWVudGF0aW9uID0gbmV3IERPTUltcGxlbWVudGF0aW9uOwoKICAgICAgICAkZG9jdW1lbnRUeXBlID0gJGltcGxlbWVudGF0aW9uLT5jcmVhdGVEb2N1bWVudFR5cGUoCiAgICAgICAgICAgICdjb3ZlcmFnZScsCiAgICAgICAgICAgICcnLAogICAgICAgICAgICAnaHR0cDovL2NvYmVydHVyYS5zb3VyY2Vmb3JnZS5uZXQveG1sL2NvdmVyYWdlLTA0LmR0ZCcKICAgICAgICApOwoKICAgICAgICAkZG9jdW1lbnQgICAgICAgICAgICAgICA9ICRpbXBsZW1lbnRhdGlvbi0+Y3JlYXRlRG9jdW1lbnQoJycsICcnLCAkZG9jdW1lbnRUeXBlKTsKICAgICAgICAkZG9jdW1lbnQtPnhtbFZlcnNpb24gICA9ICcxLjAnOwogICAgICAgICRkb2N1bWVudC0+ZW5jb2RpbmcgICAgID0gJ1VURi04JzsKICAgICAgICAkZG9jdW1lbnQtPmZvcm1hdE91dHB1dCA9IHRydWU7CgogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQgPSAkZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ2NvdmVyYWdlJyk7CgogICAgICAgICRsaW5lc1ZhbGlkICAgPSAkcmVwb3J0LT5udW1iZXJPZkV4ZWN1dGFibGVMaW5lcygpOwogICAgICAgICRsaW5lc0NvdmVyZWQgPSAkcmVwb3J0LT5udW1iZXJPZkV4ZWN1dGVkTGluZXMoKTsKICAgICAgICAkbGluZVJhdGUgICAgID0gJGxpbmVzVmFsaWQgPT09IDAgPyAwIDogKCRsaW5lc0NvdmVyZWQgLyAkbGluZXNWYWxpZCk7CiAgICAgICAgJGNvdmVyYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKCdsaW5lLXJhdGUnLCAoc3RyaW5nKSAkbGluZVJhdGUpOwoKICAgICAgICAkYnJhbmNoZXNWYWxpZCAgID0gJHJlcG9ydC0+bnVtYmVyT2ZFeGVjdXRhYmxlQnJhbmNoZXMoKTsKICAgICAgICAkYnJhbmNoZXNDb3ZlcmVkID0gJHJlcG9ydC0+bnVtYmVyT2ZFeGVjdXRlZEJyYW5jaGVzKCk7CiAgICAgICAgJGJyYW5jaFJhdGUgICAgICA9ICRicmFuY2hlc1ZhbGlkID09PSAwID8gMCA6ICgkYnJhbmNoZXNDb3ZlcmVkIC8gJGJyYW5jaGVzVmFsaWQpOwogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnYnJhbmNoLXJhdGUnLCAoc3RyaW5nKSAkYnJhbmNoUmF0ZSk7CgogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnbGluZXMtY292ZXJlZCcsIChzdHJpbmcpICRyZXBvcnQtPm51bWJlck9mRXhlY3V0ZWRMaW5lcygpKTsKICAgICAgICAkY292ZXJhZ2VFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2xpbmVzLXZhbGlkJywgKHN0cmluZykgJHJlcG9ydC0+bnVtYmVyT2ZFeGVjdXRhYmxlTGluZXMoKSk7CiAgICAgICAgJGNvdmVyYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKCdicmFuY2hlcy1jb3ZlcmVkJywgKHN0cmluZykgJHJlcG9ydC0+bnVtYmVyT2ZFeGVjdXRlZEJyYW5jaGVzKCkpOwogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnYnJhbmNoZXMtdmFsaWQnLCAoc3RyaW5nKSAkcmVwb3J0LT5udW1iZXJPZkV4ZWN1dGFibGVCcmFuY2hlcygpKTsKICAgICAgICAkY292ZXJhZ2VFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2NvbXBsZXhpdHknLCAnJyk7CiAgICAgICAgJGNvdmVyYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKCd2ZXJzaW9uJywgJzAuNCcpOwogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgndGltZXN0YW1wJywgJHRpbWUpOwoKICAgICAgICAkZG9jdW1lbnQtPmFwcGVuZENoaWxkKCRjb3ZlcmFnZUVsZW1lbnQpOwoKICAgICAgICAkc291cmNlc0VsZW1lbnQgPSAkZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ3NvdXJjZXMnKTsKICAgICAgICAkY292ZXJhZ2VFbGVtZW50LT5hcHBlbmRDaGlsZCgkc291cmNlc0VsZW1lbnQpOwoKICAgICAgICAkc291cmNlRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnc291cmNlJywgJHJlcG9ydC0+cGF0aEFzU3RyaW5nKCkpOwogICAgICAgICRzb3VyY2VzRWxlbWVudC0+YXBwZW5kQ2hpbGQoJHNvdXJjZUVsZW1lbnQpOwoKICAgICAgICAkcGFja2FnZXNFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdwYWNrYWdlcycpOwogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPmFwcGVuZENoaWxkKCRwYWNrYWdlc0VsZW1lbnQpOwoKICAgICAgICAkY29tcGxleGl0eSA9IDA7CgogICAgICAgIGZvcmVhY2ggKCRyZXBvcnQgYXMgJGl0ZW0pIHsKICAgICAgICAgICAgaWYgKCEkaXRlbSBpbnN0YW5jZW9mIEZpbGUpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcGFja2FnZUVsZW1lbnQgICAgPSAkZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ3BhY2thZ2UnKTsKICAgICAgICAgICAgJHBhY2thZ2VDb21wbGV4aXR5ID0gMDsKICAgICAgICAgICAgJHBhY2thZ2VOYW1lICAgICAgID0gJG5hbWUgPz8gJyc7CgogICAgICAgICAgICAkcGFja2FnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnbmFtZScsICRwYWNrYWdlTmFtZSk7CgogICAgICAgICAgICAkbGluZXNWYWxpZCAgID0gJGl0ZW0tPm51bWJlck9mRXhlY3V0YWJsZUxpbmVzKCk7CiAgICAgICAgICAgICRsaW5lc0NvdmVyZWQgPSAkaXRlbS0+bnVtYmVyT2ZFeGVjdXRlZExpbmVzKCk7CiAgICAgICAgICAgICRsaW5lUmF0ZSAgICAgPSAkbGluZXNWYWxpZCA9PT0gMCA/IDAgOiAoJGxpbmVzQ292ZXJlZCAvICRsaW5lc1ZhbGlkKTsKCiAgICAgICAgICAgICRwYWNrYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKCdsaW5lLXJhdGUnLCAoc3RyaW5nKSAkbGluZVJhdGUpOwoKICAgICAgICAgICAgJGJyYW5jaGVzVmFsaWQgICA9ICRpdGVtLT5udW1iZXJPZkV4ZWN1dGFibGVCcmFuY2hlcygpOwogICAgICAgICAgICAkYnJhbmNoZXNDb3ZlcmVkID0gJGl0ZW0tPm51bWJlck9mRXhlY3V0ZWRCcmFuY2hlcygpOwogICAgICAgICAgICAkYnJhbmNoUmF0ZSAgICAgID0gJGJyYW5jaGVzVmFsaWQgPT09IDAgPyAwIDogKCRicmFuY2hlc0NvdmVyZWQgLyAkYnJhbmNoZXNWYWxpZCk7CgogICAgICAgICAgICAkcGFja2FnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnYnJhbmNoLXJhdGUnLCAoc3RyaW5nKSAkYnJhbmNoUmF0ZSk7CgogICAgICAgICAgICAkcGFja2FnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnY29tcGxleGl0eScsICcnKTsKICAgICAgICAgICAgJHBhY2thZ2VzRWxlbWVudC0+YXBwZW5kQ2hpbGQoJHBhY2thZ2VFbGVtZW50KTsKCiAgICAgICAgICAgICRjbGFzc2VzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnY2xhc3NlcycpOwoKICAgICAgICAgICAgJHBhY2thZ2VFbGVtZW50LT5hcHBlbmRDaGlsZCgkY2xhc3Nlc0VsZW1lbnQpOwoKICAgICAgICAgICAgJGNsYXNzZXMgICAgICA9ICRpdGVtLT5jbGFzc2VzQW5kVHJhaXRzKCk7CiAgICAgICAgICAgICRjb3ZlcmFnZURhdGEgPSAkaXRlbS0+bGluZUNvdmVyYWdlRGF0YSgpOwoKICAgICAgICAgICAgZm9yZWFjaCAoJGNsYXNzZXMgYXMgJGNsYXNzTmFtZSA9PiAkY2xhc3MpIHsKICAgICAgICAgICAgICAgICRjb21wbGV4aXR5ICs9ICRjbGFzc1snY2NuJ107CiAgICAgICAgICAgICAgICAkcGFja2FnZUNvbXBsZXhpdHkgKz0gJGNsYXNzWydjY24nXTsKCiAgICAgICAgICAgICAgICBpZiAoIWVtcHR5KCRjbGFzc1sncGFja2FnZSddWyduYW1lc3BhY2UnXSkpIHsKICAgICAgICAgICAgICAgICAgICAkY2xhc3NOYW1lID0gJGNsYXNzWydwYWNrYWdlJ11bJ25hbWVzcGFjZSddIC4gJ1xcJyAuICRjbGFzc05hbWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGxpbmVzVmFsaWQgICA9ICRjbGFzc1snZXhlY3V0YWJsZUxpbmVzJ107CiAgICAgICAgICAgICAgICAkbGluZXNDb3ZlcmVkID0gJGNsYXNzWydleGVjdXRlZExpbmVzJ107CiAgICAgICAgICAgICAgICAkbGluZVJhdGUgICAgID0gJGxpbmVzVmFsaWQgPT09IDAgPyAwIDogKCRsaW5lc0NvdmVyZWQgLyAkbGluZXNWYWxpZCk7CgogICAgICAgICAgICAgICAgJGJyYW5jaGVzVmFsaWQgICA9ICRjbGFzc1snZXhlY3V0YWJsZUJyYW5jaGVzJ107CiAgICAgICAgICAgICAgICAkYnJhbmNoZXNDb3ZlcmVkID0gJGNsYXNzWydleGVjdXRlZEJyYW5jaGVzJ107CiAgICAgICAgICAgICAgICAkYnJhbmNoUmF0ZSAgICAgID0gJGJyYW5jaGVzVmFsaWQgPT09IDAgPyAwIDogKCRicmFuY2hlc0NvdmVyZWQgLyAkYnJhbmNoZXNWYWxpZCk7CgogICAgICAgICAgICAgICAgJGNsYXNzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnY2xhc3MnKTsKCiAgICAgICAgICAgICAgICAkY2xhc3NFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAkY2xhc3NOYW1lKTsKICAgICAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPnNldEF0dHJpYnV0ZSgnZmlsZW5hbWUnLCBzdHJfcmVwbGFjZSgkcmVwb3J0LT5wYXRoQXNTdHJpbmcoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IsICcnLCAkaXRlbS0+cGF0aEFzU3RyaW5nKCkpKTsKICAgICAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPnNldEF0dHJpYnV0ZSgnbGluZS1yYXRlJywgKHN0cmluZykgJGxpbmVSYXRlKTsKICAgICAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPnNldEF0dHJpYnV0ZSgnYnJhbmNoLXJhdGUnLCAoc3RyaW5nKSAkYnJhbmNoUmF0ZSk7CiAgICAgICAgICAgICAgICAkY2xhc3NFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2NvbXBsZXhpdHknLCAoc3RyaW5nKSAkY2xhc3NbJ2NjbiddKTsKCiAgICAgICAgICAgICAgICAkY2xhc3Nlc0VsZW1lbnQtPmFwcGVuZENoaWxkKCRjbGFzc0VsZW1lbnQpOwoKICAgICAgICAgICAgICAgICRtZXRob2RzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnbWV0aG9kcycpOwoKICAgICAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPmFwcGVuZENoaWxkKCRtZXRob2RzRWxlbWVudCk7CgogICAgICAgICAgICAgICAgJGNsYXNzTGluZXNFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdsaW5lcycpOwoKICAgICAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPmFwcGVuZENoaWxkKCRjbGFzc0xpbmVzRWxlbWVudCk7CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJGNsYXNzWydtZXRob2RzJ10gYXMgJG1ldGhvZE5hbWUgPT4gJG1ldGhvZCkgewogICAgICAgICAgICAgICAgICAgIGlmICgkbWV0aG9kWydleGVjdXRhYmxlTGluZXMnXSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHByZWdfbWF0Y2goIi9cKCguKj8pXCkvIiwgJG1ldGhvZFsnc2lnbmF0dXJlJ10sICRzaWduYXR1cmUpOwoKICAgICAgICAgICAgICAgICAgICAkbGluZXNWYWxpZCAgID0gJG1ldGhvZFsnZXhlY3V0YWJsZUxpbmVzJ107CiAgICAgICAgICAgICAgICAgICAgJGxpbmVzQ292ZXJlZCA9ICRtZXRob2RbJ2V4ZWN1dGVkTGluZXMnXTsKICAgICAgICAgICAgICAgICAgICAkbGluZVJhdGUgICAgID0gJGxpbmVzVmFsaWQgPT09IDAgPyAwIDogKCRsaW5lc0NvdmVyZWQgLyAkbGluZXNWYWxpZCk7CgogICAgICAgICAgICAgICAgICAgICRicmFuY2hlc1ZhbGlkICAgPSAkbWV0aG9kWydleGVjdXRhYmxlQnJhbmNoZXMnXTsKICAgICAgICAgICAgICAgICAgICAkYnJhbmNoZXNDb3ZlcmVkID0gJG1ldGhvZFsnZXhlY3V0ZWRCcmFuY2hlcyddOwogICAgICAgICAgICAgICAgICAgICRicmFuY2hSYXRlICAgICAgPSAkYnJhbmNoZXNWYWxpZCA9PT0gMCA/IDAgOiAoJGJyYW5jaGVzQ292ZXJlZCAvICRicmFuY2hlc1ZhbGlkKTsKCiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZEVsZW1lbnQgPSAkZG9jdW1lbnQtPmNyZWF0ZUVsZW1lbnQoJ21ldGhvZCcpOwoKICAgICAgICAgICAgICAgICAgICAkbWV0aG9kRWxlbWVudC0+c2V0QXR0cmlidXRlKCduYW1lJywgJG1ldGhvZE5hbWUpOwogICAgICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ3NpZ25hdHVyZScsICRzaWduYXR1cmVbMV0pOwogICAgICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2xpbmUtcmF0ZScsIChzdHJpbmcpICRsaW5lUmF0ZSk7CiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZEVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnYnJhbmNoLXJhdGUnLCAoc3RyaW5nKSAkYnJhbmNoUmF0ZSk7CiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZEVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnY29tcGxleGl0eScsIChzdHJpbmcpICRtZXRob2RbJ2NjbiddKTsKCiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZExpbmVzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnbGluZXMnKTsKCiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZEVsZW1lbnQtPmFwcGVuZENoaWxkKCRtZXRob2RMaW5lc0VsZW1lbnQpOwoKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoIChyYW5nZSgkbWV0aG9kWydzdGFydExpbmUnXSwgJG1ldGhvZFsnZW5kTGluZSddKSBhcyAkbGluZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRjb3ZlcmFnZURhdGFbJGxpbmVdKSB8fCAkY292ZXJhZ2VEYXRhWyRsaW5lXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJG1ldGhvZExpbmVFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdsaW5lJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAkbWV0aG9kTGluZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnbnVtYmVyJywgKHN0cmluZykgJGxpbmUpOwogICAgICAgICAgICAgICAgICAgICAgICAkbWV0aG9kTGluZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnaGl0cycsIChzdHJpbmcpIGNvdW50KCRjb3ZlcmFnZURhdGFbJGxpbmVdKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAkbWV0aG9kTGluZXNFbGVtZW50LT5hcHBlbmRDaGlsZCgkbWV0aG9kTGluZUVsZW1lbnQpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJGNsYXNzTGluZUVsZW1lbnQgPSAkbWV0aG9kTGluZUVsZW1lbnQtPmNsb25lTm9kZSgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJGNsYXNzTGluZXNFbGVtZW50LT5hcHBlbmRDaGlsZCgkY2xhc3NMaW5lRWxlbWVudCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkbWV0aG9kc0VsZW1lbnQtPmFwcGVuZENoaWxkKCRtZXRob2RFbGVtZW50KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCRyZXBvcnQtPm51bWJlck9mRnVuY3Rpb25zKCkgPT09IDApIHsKICAgICAgICAgICAgICAgICRwYWNrYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKCdjb21wbGV4aXR5JywgKHN0cmluZykgJHBhY2thZ2VDb21wbGV4aXR5KTsKCiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGZ1bmN0aW9uc0NvbXBsZXhpdHkgICAgICA9IDA7CiAgICAgICAgICAgICRmdW5jdGlvbnNMaW5lc1ZhbGlkICAgICAgPSAwOwogICAgICAgICAgICAkZnVuY3Rpb25zTGluZXNDb3ZlcmVkICAgID0gMDsKICAgICAgICAgICAgJGZ1bmN0aW9uc0JyYW5jaGVzVmFsaWQgICA9IDA7CiAgICAgICAgICAgICRmdW5jdGlvbnNCcmFuY2hlc0NvdmVyZWQgPSAwOwoKICAgICAgICAgICAgJGNsYXNzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnY2xhc3MnKTsKICAgICAgICAgICAgJGNsYXNzRWxlbWVudC0+c2V0QXR0cmlidXRlKCduYW1lJywgYmFzZW5hbWUoJGl0ZW0tPnBhdGhBc1N0cmluZygpKSk7CiAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPnNldEF0dHJpYnV0ZSgnZmlsZW5hbWUnLCBzdHJfcmVwbGFjZSgkcmVwb3J0LT5wYXRoQXNTdHJpbmcoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IsICcnLCAkaXRlbS0+cGF0aEFzU3RyaW5nKCkpKTsKCiAgICAgICAgICAgICRtZXRob2RzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnbWV0aG9kcycpOwoKICAgICAgICAgICAgJGNsYXNzRWxlbWVudC0+YXBwZW5kQ2hpbGQoJG1ldGhvZHNFbGVtZW50KTsKCiAgICAgICAgICAgICRjbGFzc0xpbmVzRWxlbWVudCA9ICRkb2N1bWVudC0+Y3JlYXRlRWxlbWVudCgnbGluZXMnKTsKCiAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPmFwcGVuZENoaWxkKCRjbGFzc0xpbmVzRWxlbWVudCk7CgogICAgICAgICAgICAkZnVuY3Rpb25zID0gJHJlcG9ydC0+ZnVuY3Rpb25zKCk7CgogICAgICAgICAgICBmb3JlYWNoICgkZnVuY3Rpb25zIGFzICRmdW5jdGlvbk5hbWUgPT4gJGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICBpZiAoJGZ1bmN0aW9uWydleGVjdXRhYmxlTGluZXMnXSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRjb21wbGV4aXR5ICs9ICRmdW5jdGlvblsnY2NuJ107CiAgICAgICAgICAgICAgICAkcGFja2FnZUNvbXBsZXhpdHkgKz0gJGZ1bmN0aW9uWydjY24nXTsKICAgICAgICAgICAgICAgICRmdW5jdGlvbnNDb21wbGV4aXR5ICs9ICRmdW5jdGlvblsnY2NuJ107CgogICAgICAgICAgICAgICAgJGxpbmVzVmFsaWQgICA9ICRmdW5jdGlvblsnZXhlY3V0YWJsZUxpbmVzJ107CiAgICAgICAgICAgICAgICAkbGluZXNDb3ZlcmVkID0gJGZ1bmN0aW9uWydleGVjdXRlZExpbmVzJ107CiAgICAgICAgICAgICAgICAkbGluZVJhdGUgICAgID0gJGxpbmVzVmFsaWQgPT09IDAgPyAwIDogKCRsaW5lc0NvdmVyZWQgLyAkbGluZXNWYWxpZCk7CgogICAgICAgICAgICAgICAgJGZ1bmN0aW9uc0xpbmVzVmFsaWQgKz0gJGxpbmVzVmFsaWQ7CiAgICAgICAgICAgICAgICAkZnVuY3Rpb25zTGluZXNDb3ZlcmVkICs9ICRsaW5lc0NvdmVyZWQ7CgogICAgICAgICAgICAgICAgJGJyYW5jaGVzVmFsaWQgICA9ICRmdW5jdGlvblsnZXhlY3V0YWJsZUJyYW5jaGVzJ107CiAgICAgICAgICAgICAgICAkYnJhbmNoZXNDb3ZlcmVkID0gJGZ1bmN0aW9uWydleGVjdXRlZEJyYW5jaGVzJ107CiAgICAgICAgICAgICAgICAkYnJhbmNoUmF0ZSAgICAgID0gJGJyYW5jaGVzVmFsaWQgPT09IDAgPyAwIDogKCRicmFuY2hlc0NvdmVyZWQgLyAkYnJhbmNoZXNWYWxpZCk7CgogICAgICAgICAgICAgICAgJGZ1bmN0aW9uc0JyYW5jaGVzVmFsaWQgKz0gJGJyYW5jaGVzVmFsaWQ7CiAgICAgICAgICAgICAgICAkZnVuY3Rpb25zQnJhbmNoZXNDb3ZlcmVkICs9ICRicmFuY2hlc1ZhbGlkOwoKICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdtZXRob2QnKTsKCiAgICAgICAgICAgICAgICAkbWV0aG9kRWxlbWVudC0+c2V0QXR0cmlidXRlKCduYW1lJywgJGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgICAgICAgICAkbWV0aG9kRWxlbWVudC0+c2V0QXR0cmlidXRlKCdzaWduYXR1cmUnLCAkZnVuY3Rpb25bJ3NpZ25hdHVyZSddKTsKICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2xpbmUtcmF0ZScsIChzdHJpbmcpICRsaW5lUmF0ZSk7CiAgICAgICAgICAgICAgICAkbWV0aG9kRWxlbWVudC0+c2V0QXR0cmlidXRlKCdicmFuY2gtcmF0ZScsIChzdHJpbmcpICRicmFuY2hSYXRlKTsKICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2NvbXBsZXhpdHknLCAoc3RyaW5nKSAkZnVuY3Rpb25bJ2NjbiddKTsKCiAgICAgICAgICAgICAgICAkbWV0aG9kTGluZXNFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdsaW5lcycpOwoKICAgICAgICAgICAgICAgICRtZXRob2RFbGVtZW50LT5hcHBlbmRDaGlsZCgkbWV0aG9kTGluZXNFbGVtZW50KTsKCiAgICAgICAgICAgICAgICBmb3JlYWNoIChyYW5nZSgkZnVuY3Rpb25bJ3N0YXJ0TGluZSddLCAkZnVuY3Rpb25bJ2VuZExpbmUnXSkgYXMgJGxpbmUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIWlzc2V0KCRjb3ZlcmFnZURhdGFbJGxpbmVdKSB8fCAkY292ZXJhZ2VEYXRhWyRsaW5lXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZExpbmVFbGVtZW50ID0gJGRvY3VtZW50LT5jcmVhdGVFbGVtZW50KCdsaW5lJyk7CgogICAgICAgICAgICAgICAgICAgICRtZXRob2RMaW5lRWxlbWVudC0+c2V0QXR0cmlidXRlKCdudW1iZXInLCAoc3RyaW5nKSAkbGluZSk7CiAgICAgICAgICAgICAgICAgICAgJG1ldGhvZExpbmVFbGVtZW50LT5zZXRBdHRyaWJ1dGUoJ2hpdHMnLCAoc3RyaW5nKSBjb3VudCgkY292ZXJhZ2VEYXRhWyRsaW5lXSkpOwoKICAgICAgICAgICAgICAgICAgICAkbWV0aG9kTGluZXNFbGVtZW50LT5hcHBlbmRDaGlsZCgkbWV0aG9kTGluZUVsZW1lbnQpOwoKICAgICAgICAgICAgICAgICAgICAkY2xhc3NMaW5lRWxlbWVudCA9ICRtZXRob2RMaW5lRWxlbWVudC0+Y2xvbmVOb2RlKCk7CgogICAgICAgICAgICAgICAgICAgICRjbGFzc0xpbmVzRWxlbWVudC0+YXBwZW5kQ2hpbGQoJGNsYXNzTGluZUVsZW1lbnQpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRtZXRob2RzRWxlbWVudC0+YXBwZW5kQ2hpbGQoJG1ldGhvZEVsZW1lbnQpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkcGFja2FnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnY29tcGxleGl0eScsIChzdHJpbmcpICRwYWNrYWdlQ29tcGxleGl0eSk7CgogICAgICAgICAgICBpZiAoJGZ1bmN0aW9uc0xpbmVzVmFsaWQgPT09IDApIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkbGluZVJhdGUgICA9ICRmdW5jdGlvbnNMaW5lc0NvdmVyZWQgLyAkZnVuY3Rpb25zTGluZXNWYWxpZDsKICAgICAgICAgICAgJGJyYW5jaFJhdGUgPSAkZnVuY3Rpb25zQnJhbmNoZXNWYWxpZCA9PT0gMCA/IDAgOiAoJGZ1bmN0aW9uc0JyYW5jaGVzQ292ZXJlZCAvICRmdW5jdGlvbnNCcmFuY2hlc1ZhbGlkKTsKCiAgICAgICAgICAgICRjbGFzc0VsZW1lbnQtPnNldEF0dHJpYnV0ZSgnbGluZS1yYXRlJywgKHN0cmluZykgJGxpbmVSYXRlKTsKICAgICAgICAgICAgJGNsYXNzRWxlbWVudC0+c2V0QXR0cmlidXRlKCdicmFuY2gtcmF0ZScsIChzdHJpbmcpICRicmFuY2hSYXRlKTsKICAgICAgICAgICAgJGNsYXNzRWxlbWVudC0+c2V0QXR0cmlidXRlKCdjb21wbGV4aXR5JywgKHN0cmluZykgJGZ1bmN0aW9uc0NvbXBsZXhpdHkpOwoKICAgICAgICAgICAgJGNsYXNzZXNFbGVtZW50LT5hcHBlbmRDaGlsZCgkY2xhc3NFbGVtZW50KTsKICAgICAgICB9CgogICAgICAgICRjb3ZlcmFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZSgnY29tcGxleGl0eScsIChzdHJpbmcpICRjb21wbGV4aXR5KTsKCiAgICAgICAgJGJ1ZmZlciA9ICRkb2N1bWVudC0+c2F2ZVhNTCgpOwoKICAgICAgICBpZiAoJHRhcmdldCAhPT0gbnVsbCkgewogICAgICAgICAgICBGaWxlc3lzdGVtOjpjcmVhdGVEaXJlY3RvcnkoZGlybmFtZSgkdGFyZ2V0KSk7CgogICAgICAgICAgICBpZiAoQGZpbGVfcHV0X2NvbnRlbnRzKCR0YXJnZXQsICRidWZmZXIpID09PSBmYWxzZSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdyaXRlT3BlcmF0aW9uRmFpbGVkRXhjZXB0aW9uKCR0YXJnZXQpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGJ1ZmZlcjsKICAgIH0KfQoiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjM4OiJcU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXFJlcG9ydCI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM4OiJcU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXFJlcG9ydCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6IlJlcG9ydCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjQ4OiJcU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXFJlcG9ydFxDb2JlcnR1cmEiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDg6IlxTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcUmVwb3J0XENvYmVydHVyYSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6IkNvYmVydHVyYSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MTtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtOO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6MTp7czo1OToiXFNlYmFzdGlhbkJlcmdtYW5uXENvZGVDb3ZlcmFnZVxSZXBvcnRcQ29iZXJ0dXJhOjpwcm9jZXNzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njg6IlxTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcRHJpdmVyXFdyaXRlT3BlcmF0aW9uRmFpbGVkRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjk6IldyaXRlT3BlcmF0aW9uRmFpbGVkRXhjZXB0aW9uIjt9fXM6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjM3OiJTZWJhc3RpYW5CZXJnbWFublxDb2RlQ292ZXJhZ2VcUmVwb3J0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTo1OntzOjE3OiJET01JbXBsZW1lbnRhdGlvbiI7czoxNzoiRE9NSW1wbGVtZW50YXRpb24iO3M6MTI6IkNvZGVDb3ZlcmFnZSI7czo0MzoiU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXENvZGVDb3ZlcmFnZSI7czoyOToiV3JpdGVPcGVyYXRpb25GYWlsZWRFeGNlcHRpb24iO3M6Njc6IlNlYmFzdGlhbkJlcmdtYW5uXENvZGVDb3ZlcmFnZVxEcml2ZXJcV3JpdGVPcGVyYXRpb25GYWlsZWRFeGNlcHRpb24iO3M6NDoiRmlsZSI7czo0MDoiU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXE5vZGVcRmlsZSI7czoxMDoiRmlsZXN5c3RlbSI7czo0NjoiU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXFV0aWxcRmlsZXN5c3RlbSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU5OiJcU2ViYXN0aWFuQmVyZ21hbm5cQ29kZUNvdmVyYWdlXFJlcG9ydFxDb2JlcnR1cmE6OnByb2Nlc3MoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6InByb2Nlc3MiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoiY292ZXJhZ2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NDoiXFNlYmFzdGlhbkJlcmdtYW5uXENvZGVDb3ZlcmFnZVxDb2RlQ292ZXJhZ2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiQ29kZUNvdmVyYWdlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InRhcmdldCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlIjoxOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxhYmxlAHJlYWxUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjQ6Im51bGwiO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJuYW1lIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NDoibnVsbCI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzAzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMwNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fX19czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";