1789595937
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A769495c77216ae2e75a4f64dc80557ba-6d4b1fcc09ddfbfe610ad981aab8a81b
s:48548:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIzOiJDb250cm9sYWRvckVudHJhZGFzLnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjIwOiJcQ29udHJvbGFkb3JFbnRyYWRhcyI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18iOjE1OntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjM6e3M6NDA6IlxDb250cm9sYWRvckVudHJhZGFzOjpnZXREYXRvc0RlcG9zaXRvKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiY29uZXhpb25JZHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjg1OTt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxODYwO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDA6IlxDb250cm9sYWRvckVudHJhZGFzOjpnZXREYXRvc0RlcG9zaXRvKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiZ2V0RGF0b3NEZXBvc2l0byI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM0OiJPYnRpZW5lIGxvcyBkYXRvcyBkZSBsb3MgZGVwb3NpdG9zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImNvbmV4aW9uSWRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086NDc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlIjoxOntzOjU0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGUAaXRlbXMiO2E6Mzp7aTowO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjI6Im9rIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjE7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NDoiZGF0YSI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6MjtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo2OiJzdGF0dXMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fX19fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czozNjoiXENvbnRyb2xhZG9yRW50cmFkYXM6OmNyZWFyRW50cmFkYSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToiZGF0b3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJjb25leGlvbklkcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6Mjc2MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6OTQ4MTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM2OiJcQ29udHJvbGFkb3JFbnRyYWRhczo6Y3JlYXJFbnRyYWRhKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoiY3JlYXJFbnRyYWRhIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTM6IkNyZWEgdW5hIGVudHJhZGEgY29tcGxldGEgZGVudHJvIGRlIHVuYSB0cmFuc2FjY2nDs24uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7Tzo0NzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGUiOjE6e3M6NTQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZQBpdGVtcyI7YToxMTp7aTowO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjEzOiJvYnNlcnZhY2lvbmVzIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjE7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NDoidGlwbyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToyO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjExOiJpZFByb3ZlZWRvciI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTozO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjIwOiJpZFByb3ZlZWRvck1hdHJpY3VsYSI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTo0O086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjEyOiJraWxvc1RvdGFsZXMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6NTtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoxMjoiZmVjaGFFbnRyYWRhIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjY7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6MTI6InByZWNpb0NvbXByYSI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xGbG9hdF8iOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjc7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6NjoiYWNpZGV6IjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6ODtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo2OiJhZ2VudGUiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6OTtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoxMzoibG90ZVByb3ZlZWRvciI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToxMDtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo5OiJkZXBvc2l0b3MiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086NDc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlIjoxOntzOjU0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGUAaXRlbXMiO2E6Mjp7aTowO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjk6ImlkU3VidGlwbyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aToxO086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjU6ImtpbG9zIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO319fXM6MTA6IgAqAGtleVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fX19czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo1OiJkYXRvcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToiY29uZXhpb25JZHMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7Tzo0NzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGUiOjE6e3M6NTQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZQBpdGVtcyI7YTozOntpOjA7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6Mjoib2siO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6MTtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo2OiJzdGF0dXMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6MjtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo1OiJlcnJvciI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MTt9fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo5NTtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czozNjoiXENvbnRyb2xhZG9yRW50cmFkYXM6Ol9wb25kZXJhY2lvbigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NDp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xGbG9hdF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJraWxvc0FjdHVhbGVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6InZhbG9yQWN0dWFsIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImtpbG9zTnVldm9zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTA6InZhbG9yTnVldm8iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTo5ODkwO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMDMyNDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xGbG9hdF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXENvbnRyb2xhZG9yRW50cmFkYXM6Ol9wb25kZXJhY2lvbigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6Il9wb25kZXJhY2lvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo5MDoiQ2FsY3VsYSBsYSBtZWRpYSBwb25kZXJhZGEgZW50cmUgZWwgdmFsb3IgYWN0dWFsIGRlbCBkZXDDs3NpdG8KeSBlbCBudWV2byB2YWxvciBxdWUgZW50cmEuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc1OiJJZMOpbnRpY2EgYSBjYWxjdWxhUG9uZGVyYWNpb25QcmVjaW8gLyBjYWxjdWxhUG9uZGVyYWNpb25BY2lkZXogZGVsIGxlZ2FjeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjk1O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjA6IlxDb250cm9sYWRvckVudHJhZGFzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6IkNvbnRyb2xhZG9yRW50cmFkYXMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI1NDoiQ29udHJvbGFkb3JFbnRyYWRhcwpPcnF1ZXN0YSBsYSBjcmVhY2nDs24gZGUgdW5hIGVudHJhZGEgZXh0ZXJuYToKICAxLiBJTlNFUlQgcGFydGlkYWV4dGVybmEKICAyLiBQb3IgY2FkYSBkZXDDs3NpdG8gZGUgbGEgZW50cmFkYToKICAgICBhLiBJTlNFUlQgcGFydGlkYWV4dGVybmFkZXBvc2l0bwogICAgIGIuIElOU0VSVCB0cmFzaWVnbwogICAgIGMuIFVQREFURSBkZXBvc2l0byAoa2lsb3MgKyBwb25kZXJhY2nDs24gcHJlY2lvL2FjaWRleikiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTE1OiJTaSBjdWFscXVpZXIgcGFzbyBmYWxsYSwgc2UgaGFjZSByb2xsYmFjayB5IHNlIGRldnVlbHZlIGVsIGVycm9yLgoKUG9uZGVyYWNpw7NuIGRlIHByZWNpbyB5IGFjaWRleiBzZSBjYWxjdWxhIGFxdcOtIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJwYWNrYWdlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMDoidHJhY2tpbmdcYmFja2VuZFxjb250cm9sYWRvcmVzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo5NTtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjZkNGIxZmNjMDlkZGZiZmU2MTBhZDk4MWFhYjhhODFiIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NDU6ImJhY2tlbmQvY29udHJvbGFkb3Jlcy9Db250cm9sYWRvckVudHJhZGFzLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MTAzMjg6Ijw/cGhwDQpkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsNCg0KLyoqDQogKiBDb250cm9sYWRvckVudHJhZGFzDQogKiBPcnF1ZXN0YSBsYSBjcmVhY2nDs24gZGUgdW5hIGVudHJhZGEgZXh0ZXJuYToNCiAqICAgMS4gSU5TRVJUIHBhcnRpZGFleHRlcm5hDQogKiAgIDIuIFBvciBjYWRhIGRlcMOzc2l0byBkZSBsYSBlbnRyYWRhOg0KICogICAgICBhLiBJTlNFUlQgcGFydGlkYWV4dGVybmFkZXBvc2l0bw0KICogICAgICBiLiBJTlNFUlQgdHJhc2llZ28NCiAqICAgICAgYy4gVVBEQVRFIGRlcG9zaXRvIChraWxvcyArIHBvbmRlcmFjacOzbiBwcmVjaW8vYWNpZGV6KQ0KICoNCiAqIFNpIGN1YWxxdWllciBwYXNvIGZhbGxhLCBzZSBoYWNlIHJvbGxiYWNrIHkgc2UgZGV2dWVsdmUgZWwgZXJyb3IuDQogKg0KICogUG9uZGVyYWNpw7NuIGRlIHByZWNpbyB5IGFjaWRleiBzZSBjYWxjdWxhIGFxdcOtDQogKg0KICogQHBhY2thZ2UgdHJhY2tpbmdcYmFja2VuZFxjb250cm9sYWRvcmVzDQogKi8NCmNsYXNzIENvbnRyb2xhZG9yRW50cmFkYXMNCnsNCiAgICAvLyDilIDilIAgREFUT1MgREVQT1NJVE8gKHBhcmEgZWwgZm9ybXVsYXJpbykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAvKioNCiAgICAgKiBPYnRpZW5lIGxvcyBkYXRvcyBkZSBsb3MgZGVwb3NpdG9zDQogICAgICoNCiAgICAgKiBAcGFyYW0gIGludFtdICRjb25leGlvbklkcw0KICAgICAqIEByZXR1cm4gYXJyYXl7b2s6Ym9vbCwgZGF0YTphcnJheSwgc3RhdHVzOmludH0NCiAgICAgKi8NCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldERhdG9zRGVwb3NpdG8oYXJyYXkgJGNvbmV4aW9uSWRzKTogYXJyYXkNCiAgICB7DQogICAgICAgICRjaWQgPSAoaW50KSgkY29uZXhpb25JZHNbMF0gPz8gMCk7DQogICAgICAgIGlmICghJGNpZCkgcmV0dXJuIFsnb2snID0+IGZhbHNlLCAnc3RhdHVzJyA9PiA0MDAsICdlcnJvcicgPT4gJ0ZhbHRhIGNvbmV4aW9uX2lkLicsICdkYXRhJyA9PiBbXV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICRkYiA9IENvbmV4aW9uOjpnZXREYkZvcigkY2lkKTsNCiAgICAgICAgICAgIFsnY2VudHJvJyA9PiAkY2VudHJvLCAnY2lmJyA9PiAkY2lmXSA9IEJkRGVzdGlub0hlbHBlcjo6Z2V0Q2VudHJvQWN0aXZvKCRkYik7DQoNCiAgICAgICAgICAgICRkYXRhID0gRGVwb3NpdG9EYW86OmdldExpc3RhZG8oJGRiLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgIHJldHVybiBbJ29rJyA9PiB0cnVlLCAnZGF0YScgPT4gJGRhdGEsICdzdGF0dXMnID0+IDIwMF07DQogICAgICAgIH0gY2F0Y2ggKG15c3FsaV9zcWxfZXhjZXB0aW9uICRlKSB7DQogICAgICAgICAgICBlcnJvcl9sb2coIltDb250cm9sYWRvckVudHJhZGFzOjpnZXREYXRvc0RlcG9zaXRvXSBFcnJvciBCYXNlIGRlIERhdG9zOiAiIC4gJGUtPmdldE1lc3NhZ2UoKSk7DQogICAgICAgICAgICByZXR1cm4gWydvaycgPT4gZmFsc2UsICdlcnJvcicgPT4gJ0Vycm9yIHNxbCcsICdzdGF0dXMnID0+IDUwMF07DQogICAgICAgIH0gY2F0Y2ggKFRocm93YWJsZSAkZSkgew0KICAgICAgICAgICAgZXJyb3JfbG9nKCJbQ29udHJvbGFkb3JFbnRyYWRhczo6Z2V0RGF0b3NEZXBvc2l0b10gRXJyb3IgR2VuZXJhbDogIiAuICRlLT5nZXRNZXNzYWdlKCkpOw0KICAgICAgICAgICAgcmV0dXJuIFsnb2snID0+IGZhbHNlLCAnZXJyb3InID0+ICdFcnJvciBpbmVzcGVyYWRvIGVuIGVsIHNlcnZpZG9yJywgJ3N0YXR1cycgPT4gNTAwXTsNCiAgICAgICAgfQ0KICAgIH0NCg0KDQogICAgLy8g4pSA4pSAIENSRUFSIEVOVFJBREEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQoNCiAgICAvKioNCiAgICAgKiBDcmVhIHVuYSBlbnRyYWRhIGNvbXBsZXRhIGRlbnRybyBkZSB1bmEgdHJhbnNhY2Npw7NuLg0KICAgICAqDQogICAgICogQHBhcmFtIGFycmF5ew0KICAgICAqICAgb2JzZXJ2YWNpb25lczogICAgICBzdHJpbmcsDQogICAgICogICB0aXBvOiAgICAgICAgICAgICAgIGludCwNCiAgICAgKiAgIGlkUHJvdmVlZG9yOiAgICAgICAgaW50LA0KICAgICAqICAgaWRQcm92ZWVkb3JNYXRyaWN1bGE6IGludCwNCiAgICAgKiAgIGtpbG9zVG90YWxlczogICAgICAgaW50LA0KICAgICAqICAgZmVjaGFFbnRyYWRhOiAgICAgICBzdHJpbmcsICAgLy8gJ1lZWVktTU0tREQgSEg6TU06U1MnDQogICAgICogICBwcmVjaW9Db21wcmE6ICAgICAgIGZsb2F0LA0KICAgICAqICAgYWNpZGV6OiAgICAgICAgICAgICBmbG9hdCwNCiAgICAgKiAgIGFnZW50ZTogICAgICAgICAgICAgaW50LA0KICAgICAqICAgbG90ZVByb3ZlZWRvcjogICAgICBzdHJpbmcsDQogICAgICogICBkZXBvc2l0b3M6ICAgICAgICAgIGFycmF5PGludCwgYXJyYXl7aWRTdWJ0aXBvOmludCwga2lsb3M6aW50fT4NCiAgICAgKiB9ICRkYXRvcw0KICAgICAqIEBwYXJhbSAgaW50W10gJGNvbmV4aW9uSWRzDQogICAgICogQHJldHVybiBhcnJheXtvazpib29sLCBzdGF0dXM6aW50LCBlcnJvcj86c3RyaW5nfQ0KICAgICAqLw0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXJFbnRyYWRhKGFycmF5ICRkYXRvcywgYXJyYXkgJGNvbmV4aW9uSWRzKTogYXJyYXkNCiAgICB7DQogICAgICAgICRjaWQgPSAoaW50KSAoJGNvbmV4aW9uSWRzWzBdID8/IDApOw0KICAgICAgICBpZiAoISRjaWQpIHJldHVybiBbJ29rJyA9PiBmYWxzZSwgJ3N0YXR1cycgPT4gNDAwLCAnZXJyb3InID0+ICdGYWx0YSBjb25leGlvbl9pZC4nLCAnZGF0YScgPT4gW11dOw0KICAgICAgICBpZiAoZW1wdHkoJGRhdG9zWydkZXBvc2l0b3MnXSkpIHJldHVybiBbJ29rJyA9PiBmYWxzZSwgJ3N0YXR1cycgPT4gNDAwLCAnZXJyb3InID0+ICdObyBzZSBoYW4gaW5kaWNhZG8gZGVww7NzaXRvcyBkZXN0aW5vLiddOw0KDQogICAgICAgICRkYiA9IENvbmV4aW9uOjpnZXREYkZvcigkY2lkKTsNCiAgICAgICAgWydjZW50cm8nID0+ICRjZW50cm8sICdjaWYnID0+ICRjaWZdID0gQmREZXN0aW5vSGVscGVyOjpnZXRDZW50cm9BY3Rpdm8oJGRiKTsNCiAgICAgICAgJGNhbXBhbmlhID0gQmREZXN0aW5vSGVscGVyOjpnZXRDYW1wYW5pYUFjdGl2YSgkZGIpOw0KDQogICAgICAgIC8vIOKUgOKUgCBJbmljaWFyIHRyYW5zYWNjacOzbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICAgICAgJGRiLT5iZWdpbl90cmFuc2FjdGlvbigpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAvLyAxLiBJTlNFUlQgcGFydGlkYWV4dGVybmENCiAgICAgICAgICAgICRpZFBhcnRpZGEgPSBQYXJ0aWRhRW50cmFkYURhbzo6aW5zZXJ0KCRkYiwgWw0KICAgICAgICAgICAgICAgICdwcm92ZWVkb3InICAgICAgICAgID0+IChpbnQpICAgICRkYXRvc1snaWRQcm92ZWVkb3InXSwNCiAgICAgICAgICAgICAgICAncHJvdmVlZG9ybWF0cmljdWxhJyA9PiAoaW50KSAgICAkZGF0b3NbJ2lkUHJvdmVlZG9yTWF0cmljdWxhJ10sDQogICAgICAgICAgICAgICAgJ2xvdGVwcm92ZWVkb3InICAgICAgPT4gKHN0cmluZykgKCRkYXRvc1snbG90ZVByb3ZlZWRvciddICA/PyAnJyksDQogICAgICAgICAgICAgICAgJ2tpbG9zdG90YWxlcycgICAgICAgPT4gKGludCkgICAgJGRhdG9zWydraWxvc1RvdGFsZXMnXSwNCiAgICAgICAgICAgICAgICAnZmVjaGFob3JhJyAgICAgICAgICA9PiAoc3RyaW5nKSAkZGF0b3NbJ2ZlY2hhRW50cmFkYSddLA0KICAgICAgICAgICAgICAgICdvYnNlcnZhY2lvbmVzJyAgICAgID0+IChzdHJpbmcpICgkZGF0b3NbJ29ic2VydmFjaW9uZXMnXSAgPz8gJycpLA0KICAgICAgICAgICAgICAgICdjZW50cm8nICAgICAgICAgICAgID0+ICRjZW50cm8sDQogICAgICAgICAgICAgICAgJ2NpZicgICAgICAgICAgICAgICAgPT4gJGNpZiwNCiAgICAgICAgICAgICAgICAndGlwbycgICAgICAgICAgICAgICA9PiAoaW50KSAgICAkZGF0b3NbJ3RpcG8nXSwNCiAgICAgICAgICAgICAgICAncHJlY2lvY29tcHJhJyAgICAgICA9PiAoZmxvYXQpICAkZGF0b3NbJ3ByZWNpb0NvbXByYSddLA0KICAgICAgICAgICAgICAgICdhY2lkZXonICAgICAgICAgICAgID0+IChmbG9hdCkgICRkYXRvc1snYWNpZGV6J10sDQogICAgICAgICAgICAgICAgJ2FnZW50ZScgICAgICAgICAgICAgPT4gKGludCkgICAgKCRkYXRvc1snYWdlbnRlJ10gICAgICAgICA/PyAwKSwNCiAgICAgICAgICAgIF0pOw0KDQogICAgICAgICAgICBpZiAoISRpZFBhcnRpZGEpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0Vycm9yIGFsIGluc2VydGFyIHBhcnRpZGFleHRlcm5hLicpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkZmVjaGFFbnRyYWRhID0gbmV3IERhdGVUaW1lKCRkYXRvc1snZmVjaGFFbnRyYWRhJ10pOw0KICAgICAgICAgICAgJHByZWNpb0NvbXByYSA9IChmbG9hdCkgJGRhdG9zWydwcmVjaW9Db21wcmEnXTsNCiAgICAgICAgICAgICRhY2lkZXogICAgICAgPSAoZmxvYXQpICRkYXRvc1snYWNpZGV6J107DQoNCiAgICAgICAgICAgIC8vIDIuIFBvciBjYWRhIGRlcMOzc2l0bw0KICAgICAgICAgICAgZm9yZWFjaCAoJGRhdG9zWydkZXBvc2l0b3MnXSBhcyAkZGVwKSB7DQogICAgICAgICAgICAgICAgJGlkU3VidGlwbyA9IChpbnQpICRkZXBbJ2lkU3VidGlwbyddOw0KICAgICAgICAgICAgICAgICRraWxvcyAgICAgPSAoaW50KSAkZGVwWydraWxvcyddOw0KDQogICAgICAgICAgICAgICAgLy8gMmEuIElOU0VSVCBwYXJ0aWRhZXh0ZXJuYWRlcG9zaXRvDQogICAgICAgICAgICAgICAgJGlkUGVkID0gUGFydGlkYUVudHJhZGFEYW86Omluc2VydERlcG9zaXRvKCRkYiwgWw0KICAgICAgICAgICAgICAgICAgICAncGFydGlkYWV4dGVybmEnID0+ICRpZFBhcnRpZGEsDQogICAgICAgICAgICAgICAgICAgICdzdWJ0aXBvJyAgICAgICAgPT4gJGlkU3VidGlwbywNCiAgICAgICAgICAgICAgICAgICAgJ2tpbG9zJyAgICAgICAgICA9PiAka2lsb3MsDQogICAgICAgICAgICAgICAgICAgICdjaWYnICAgICAgICAgICAgPT4gJGNpZiwNCiAgICAgICAgICAgICAgICBdKTsNCg0KICAgICAgICAgICAgICAgIGlmICghJGlkUGVkKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigNCiAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvciBhbCBpbnNlcnRhciBwYXJ0aWRhZXh0ZXJuYWRlcG9zaXRvIHBhcmEgc3VidGlwbyB7JGlkU3VidGlwb30uIg0KICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIC8vIDJiLiBSZWN1cGVyYXIgw7psdGltbyB0cmFzaWVnbyBkZWwgZGVww7NzaXRvIHBhcmEgZW5jYWRlbmFyIGZlY2hhT3JpZ2VuDQogICAgICAgICAgICAgICAgJHRyYXNpZWdvQW50ZXJpb3IgPSBUcmFzaWVnb0Rhbzo6Z2V0VWx0aW1vQnlEZXN0aW5vKCRkYiwgJGlkU3VidGlwbywgJGNhbXBhbmlhLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICAgICAkZmVjaGFPcmlnZW4gPSAkdHJhc2llZ29BbnRlcmlvcj8tPmdldEZlY2hhKCkgPz8gbmV3IFxEYXRlVGltZSgnMDAwMS0wMS0wMSAwMDowMDowMCcpOw0KDQogICAgICAgICAgICAgICAgLy8gQ29uc3RydWlyIG9iamV0byBUcmFzaWVnbw0KICAgICAgICAgICAgICAgICR0cmFzaWVnbyA9IG5ldyBUcmFzaWVnbygpOw0KICAgICAgICAgICAgICAgICR0cmFzaWVnby0+c2V0RXh0ZXJuYSgkaWRQYXJ0aWRhKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldE9yaWdlbigkaWRTdWJ0aXBvKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldERlc3Rpbm8oJGlkU3VidGlwbyk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRGZWNoYSgkZmVjaGFFbnRyYWRhKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldEZlY2hhSG9yYUZpbigkZmVjaGFFbnRyYWRhKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldEZlY2hhT3JpZ2VuKCRmZWNoYU9yaWdlbik7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRLaWxvcygoZmxvYXQpICRraWxvcyk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRQYXJ0aWRhKDApOw0KICAgICAgICAgICAgICAgICR0cmFzaWVnby0+c2V0TG90ZSgwKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldFZhY2lvKGZhbHNlKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldEFycmFzdHJlKGZhbHNlKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldEhhYmlsaXRhZG8odHJ1ZSk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRTYWxpZGEoMCk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRDZW50cm8oJGNlbnRybyk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRGZWNoYUxpbXBpZXphKG5ldyBcRGF0ZVRpbWUoJzAwMDEtMDEtMDEgMDA6MDA6MDAnKSk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXROX2xvdGUoKHN0cmluZykgKCRkYXRvc1snbG90ZVByb3ZlZWRvciddID8/ICcnKSk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRMb3RlRmlsdHJvKCcnKTsNCiAgICAgICAgICAgICAgICAkdHJhc2llZ28tPnNldENhbXBhbmlhKCRjYW1wYW5pYSk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRPcGVyYWNpb24oJycpOw0KICAgICAgICAgICAgICAgICR0cmFzaWVnby0+c2V0QWxiYXJhbignJyk7DQogICAgICAgICAgICAgICAgJHRyYXNpZWdvLT5zZXRSZWZlcmVuY2lhKCcnKTsNCg0KICAgICAgICAgICAgICAgIC8vIDJjLiBJTlNFUlQgdHJhc2llZ28NCiAgICAgICAgICAgICAgICAkaWRUcmFzaWVnbyA9IFRyYXNpZWdvRGFvOjppbnNlcnQoJGRiLCAkdHJhc2llZ28sJGNpZik7DQogICAgICAgICAgICAgICAgaWYgKCEkaWRUcmFzaWVnbykgew0KICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oDQogICAgICAgICAgICAgICAgICAgICAgICAiRXJyb3IgYWwgaW5zZXJ0YXIgdHJhc2llZ28gcGFyYSBzdWJ0aXBvIHskaWRTdWJ0aXBvfS4iDQogICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy8gMmQuIFVQREFURSBkZXBvc2l0byDigJQgcG9uZGVyYWNpw7NuIHByZWNpbyB5IGFjaWRleg0KICAgICAgICAgICAgICAgICRkZXBvc2l0b1JvdyA9IERlcG9zaXRvRGFvOjpnZXRCeVN1YnRpcG8oJGRiLCAkaWRTdWJ0aXBvLCAkY2VudHJvLCAkY2lmKTsNCiAgICAgICAgICAgICAgICBpZiAoJGRlcG9zaXRvUm93KSB7DQogICAgICAgICAgICAgICAgICAgICRraWxvc0FjdHVhbCAgICAgPSAoZmxvYXQpICRkZXBvc2l0b1Jvd1sna2lsb3MnXTsNCiAgICAgICAgICAgICAgICAgICAgJGtpbG9zQWp1c3RlICAgICA9IChmbG9hdCkgJGRlcG9zaXRvUm93WydraWxvc2FqdXN0ZSddOw0KICAgICAgICAgICAgICAgICAgICAkcHJlY2lvQWN0dWFsICAgID0gKGZsb2F0KSAkZGVwb3NpdG9Sb3dbJ3ByZWNpbyddOw0KICAgICAgICAgICAgICAgICAgICAkYWNpZGV6QWN0dWFsICAgID0gKGZsb2F0KSAkZGVwb3NpdG9Sb3dbJ2FjaWRleiddOw0KICAgICAgICAgICAgICAgICAgICAkcGVyb3hpZG9BY3R1YWwgID0gKGZsb2F0KSAkZGVwb3NpdG9Sb3dbJ3Blcm94aWRvJ107DQoNCiAgICAgICAgICAgICAgICAgICAgJG51ZXZvUHJlY2lvID0gc2VsZjo6X3BvbmRlcmFjaW9uKCRraWxvc0FqdXN0ZSwgJHByZWNpb0FjdHVhbCwgJGtpbG9zLCAkcHJlY2lvQ29tcHJhKTsNCiAgICAgICAgICAgICAgICAgICAgJG51ZXZhQWNpZGV6ID0gc2VsZjo6X3BvbmRlcmFjaW9uKCRraWxvc0FqdXN0ZSwgJGFjaWRlekFjdHVhbCwgJGtpbG9zLCAkYWNpZGV6KTsNCg0KICAgICAgICAgICAgICAgICAgICAkZmVjaGFTdHIgPSAkZmVjaGFFbnRyYWRhLT5mb3JtYXQoJ1ktbS1kIEg6aScpOw0KDQogICAgICAgICAgICAgICAgICAgIERlcG9zaXRvRGFvOjp1cGRhdGUoDQogICAgICAgICAgICAgICAgICAgICAgICAkZGIsDQogICAgICAgICAgICAgICAgICAgICAgICAkaWRTdWJ0aXBvLA0KICAgICAgICAgICAgICAgICAgICAgICAgJGNpZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICRraWxvc0FjdHVhbCArICRraWxvcywNCiAgICAgICAgICAgICAgICAgICAgICAgICRraWxvc0FqdXN0ZSArICRraWxvcywNCiAgICAgICAgICAgICAgICAgICAgICAgICRudWV2YUFjaWRleiwNCiAgICAgICAgICAgICAgICAgICAgICAgICRwZXJveGlkb0FjdHVhbCwNCiAgICAgICAgICAgICAgICAgICAgICAgICRmZWNoYVN0cg0KICAgICAgICAgICAgICAgICAgICApOw0KDQogICAgICAgICAgICAgICAgICAgIERlcG9zaXRvRGFvOjp1cGRhdGVQcmVjaW8oJGRiLCAkaWRTdWJ0aXBvLCAkbnVldm9QcmVjaW8pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAvLyBTaSBlbCBkZXDDs3NpdG8gbm8gZXhpc3RlIGHDum4sIG5vIHNlIGNyZWEgYXF1w60NCiAgICAgICAgICAgICAgICAvLyAoZWwgbGVnYWN5IHRhbXBvY28gbG8gY3JlYWJhIGVuIGFncmVnYXJFbnRyYWRhRXh0ZXJuYSBzaSBnZXRJZCgpID09PSAwKQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyDilIDilIAgQ29tbWl0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KICAgICAgICAgICAgJGRiLT5jb21taXQoKTsNCiAgICAgICAgICAgIHJldHVybiBbJ29rJyA9PiB0cnVlLCAnc3RhdHVzJyA9PiAyMDBdOw0KDQogICAgICAgIH0gY2F0Y2ggKFxUaHJvd2FibGUgJGUpIHsNCiAgICAgICAgICAgICRkYi0+cm9sbGJhY2soKTsNCiAgICAgICAgICAgIGVycm9yX2xvZygnW0NvbnRyb2xhZG9yRW50cmFkYXM6OmNyZWFyRW50cmFkYV0gJyAuICRlLT5nZXRNZXNzYWdlKCkpOw0KICAgICAgICAgICAgcmV0dXJuIFsnb2snID0+IGZhbHNlLCAnc3RhdHVzJyA9PiA1MDAsICdlcnJvcicgPT4gJGUtPmdldE1lc3NhZ2UoKV07DQogICAgICAgIH0NCiAgICB9DQoNCg0KICAgIC8vIOKUgOKUgCBMw5NHSUNBIERFIFBPTkRFUkFDScOTTiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCg0KICAgIC8qKg0KICAgICAqIENhbGN1bGEgbGEgbWVkaWEgcG9uZGVyYWRhIGVudHJlIGVsIHZhbG9yIGFjdHVhbCBkZWwgZGVww7NzaXRvDQogICAgICogeSBlbCBudWV2byB2YWxvciBxdWUgZW50cmEuDQogICAgICogSWTDqW50aWNhIGEgY2FsY3VsYVBvbmRlcmFjaW9uUHJlY2lvIC8gY2FsY3VsYVBvbmRlcmFjaW9uQWNpZGV6IGRlbCBsZWdhY3kuDQogICAgICovDQogICAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX3BvbmRlcmFjaW9uKGZsb2F0ICRraWxvc0FjdHVhbGVzLCBmbG9hdCAkdmFsb3JBY3R1YWwsIGZsb2F0ICRraWxvc051ZXZvcywgZmxvYXQgJHZhbG9yTnVldm8pOiBmbG9hdCB7DQogICAgICAgICR0b3RhbCA9ICRraWxvc0FjdHVhbGVzICsgJGtpbG9zTnVldm9zOw0KICAgICAgICBpZiAoJHRvdGFsID09IDAuMCkgcmV0dXJuIDAuMDsNCg0KICAgICAgICAkcGN0MSA9IHJvdW5kKCgka2lsb3NBY3R1YWxlcyAqIDEwMCkgLyAkdG90YWwsIDIpOw0KICAgICAgICAkcGN0MiA9IHJvdW5kKCgka2lsb3NOdWV2b3MgICogMTAwKSAvICR0b3RhbCwgMik7DQoNCiAgICAgICAgcmV0dXJuIHJvdW5kKCgoJHBjdDEgLyAxMDApICogJHZhbG9yQWN0dWFsKSArICgoJHBjdDIgLyAxMDApICogJHZhbG9yTnVldm8pLCAyKTsNCiAgICB9DQp9IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";