1778692654
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Aeae312fbb68d983f59ea221196c54233-89250184b113820f60b0cf05934deb69
s:109964:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE4OiJDdXJsSHR0cENsaWVudC5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjI5OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudCI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI5OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJIdHRwQ2xpZW50Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6NDQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50IjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjM6e3M6NDk6IlxTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XEh0dHBDbGllbnRJbnRlcmZhY2UiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcSHR0cENsaWVudEludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJIdHRwQ2xpZW50SW50ZXJmYWNlIjt9czoyOToiXFBzclxMb2dcTG9nZ2VyQXdhcmVJbnRlcmZhY2UiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyOToiXFBzclxMb2dcTG9nZ2VyQXdhcmVJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMDoiTG9nZ2VyQXdhcmVJbnRlcmZhY2UiO31zOjQxOiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxSZXNldEludGVyZmFjZSI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQxOiJcU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxSZXNldEludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJSZXNldEludGVyZmFjZSI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjE6e3M6NjI6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpPUFRJT05TX0RFRkFVTFRTIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50Ijo5OntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENvbnN0YW50AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjI6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpPUFRJT05TX0RFRkFVTFRTIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTY6Ik9QVElPTlNfREVGQVVMVFMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABkb2NCbG9jayI7TjtzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudAB2YWx1ZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MTI3OiJcU3ltZm9ueVxDb250cmFjdHNcSHR0cENsaWVudFxIdHRwQ2xpZW50SW50ZXJmYWNlOjpPUFRJT05TX0RFRkFVTFRTICsgWydjcnlwdG9fbWV0aG9kJyA9PiBcU1RSRUFNX0NSWVBUT19NRVRIT0RfVExTdjFfMl9DTElFTlRdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAZmluYWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDb25zdGFudABtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ29uc3RhbnQAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTo0OntzOjYxOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6JGRlZmF1bHRPcHRpb25zIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxNDp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjE6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjokZGVmYXVsdE9wdGlvbnMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNDoiZGVmYXVsdE9wdGlvbnMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoyNjU6InNlbGY6Ok9QVElPTlNfREVGQVVMVFMgKyBbCiAgICAnYXV0aF9udGxtJyA9PiBudWxsLAogICAgLy8gYXJyYXl8c3RyaW5nIC0gYW4gYXJyYXkgY29udGFpbmluZyB0aGUgdXNlcm5hbWUgYXMgZmlyc3QgdmFsdWUsIGFuZCBvcHRpb25hbGx5IHRoZQogICAgLy8gICBwYXNzd29yZCBhcyB0aGUgc2Vjb25kIG9uZTsgb3Igc3RyaW5nIGxpa2UgdXNlcm5hbWU6cGFzc3dvcmQgLSBlbmFibGluZyBOVExNIGF1dGgKICAgICdleHRyYScgPT4gWydjdXJsJyA9PiBbXV0sCl0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGhvb2tzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXJ0dWFsIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6JGVtcHR5RGVmYXVsdHMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjE0OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6OiRlbXB0eURlZmF1bHRzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6ImVtcHR5RGVmYXVsdHMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0Njoic2VsZjo6T1BUSU9OU19ERUZBVUxUUyArIFsnYXV0aF9udGxtJyA9PiBudWxsXSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjoxO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fXM6NTM6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjokbG9nZ2VyIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxNDp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjokbG9nZ2VyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoibG9nZ2VyIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO047czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6NDoibnVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI0OiJcUHNyXExvZ1xMb2dnZXJJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiTG9nZ2VySW50ZXJmYWNlIjt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQByZWFkT25seSI7YjowO3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGhvb2tzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXJ0dWFsIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbWV0YWRhdGEiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjUyOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6JG11bHRpIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5IjoxNDp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjokbXVsdGkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJtdWx0aSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3MToiQW4gaW50ZXJuYWwgb2JqZWN0IHRvIHNoYXJlIHN0YXRlIGJldHdlZW4gdGhlIGNsaWVudCBhbmQgaXRzIHJlc3BvbnNlcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6Mjg6IlN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjEyOntzOjIwOiJMb2dnZXJBd2FyZUludGVyZmFjZSI7czoyODoiUHNyXExvZ1xMb2dnZXJBd2FyZUludGVyZmFjZSI7czoxNToiTG9nZ2VySW50ZXJmYWNlIjtzOjIzOiJQc3JcTG9nXExvZ2dlckludGVyZmFjZSI7czoyNDoiSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIjtzOjYzOiJTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24iO3M6MTg6IlRyYW5zcG9ydEV4Y2VwdGlvbiI7czo1NzoiU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cVHJhbnNwb3J0RXhjZXB0aW9uIjtzOjE1OiJDdXJsQ2xpZW50U3RhdGUiO3M6NTM6IlN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcSW50ZXJuYWxcQ3VybENsaWVudFN0YXRlIjtzOjE0OiJQdXNoZWRSZXNwb25zZSI7czo1MjoiU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxJbnRlcm5hbFxQdXNoZWRSZXNwb25zZSI7czoxMjoiQ3VybFJlc3BvbnNlIjtzOjUwOiJTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XFJlc3BvbnNlXEN1cmxSZXNwb25zZSI7czoxNDoiUmVzcG9uc2VTdHJlYW0iO3M6NTI6IlN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcUmVzcG9uc2VcUmVzcG9uc2VTdHJlYW0iO3M6MTk6Ikh0dHBDbGllbnRJbnRlcmZhY2UiO3M6NDg6IlN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcSHR0cENsaWVudEludGVyZmFjZSI7czoxNzoiUmVzcG9uc2VJbnRlcmZhY2UiO3M6NDY6IlN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VJbnRlcmZhY2UiO3M6MjM6IlJlc3BvbnNlU3RyZWFtSW50ZXJmYWNlIjtzOjUyOiJTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XFJlc3BvbnNlU3RyZWFtSW50ZXJmYWNlIjtzOjE0OiJSZXNldEludGVyZmFjZSI7czo0MDoiU3ltZm9ueVxDb250cmFjdHNcU2VydmljZVxSZXNldEludGVyZmFjZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxJbnRlcm5hbFxDdXJsQ2xpZW50U3RhdGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiQ3VybENsaWVudFN0YXRlIjt9fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YToxMTp7czo1OToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6Ol9fY29uc3RydWN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNDoiZGVmYXVsdE9wdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjI6IltdIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6Im1heEhvc3RDb25uZWN0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MToiNiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE2OiJtYXhQZW5kaW5nUHVzaGVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoxOiIwIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAHBhcnRzIjthOjA6e319czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI1Mzg7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzE3Mjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1OToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6Ol9fY29uc3RydWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19jb25zdHJ1Y3QiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czowOiIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI1OiJEZWZhdWx0IHJlcXVlc3QncyBvcHRpb25zIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTQ6ImRlZmF1bHRPcHRpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTA6IlRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byBhIHNpbmdsZSBob3N0IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoibWF4SG9zdENvbm5lY3Rpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjE6IlRoZSBtYXhpbXVtIG51bWJlciBvZiBwdXNoZWQgcmVzcG9uc2VzIHRvIGFjY2VwdCBpbiB0aGUgcXVldWUiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE2OiJtYXhQZW5kaW5nUHVzaGVzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjM7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMToiZm9yIGF2YWlsYWJsZSBvcHRpb25zIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njc6IlxTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XEh0dHBDbGllbnRJbnRlcmZhY2U6Ok9QVElPTlNfREVGQVVMVFMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiT1BUSU9OU19ERUZBVUxUUyI7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNTI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTc6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpzZXRMb2dnZXIoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjQ6IlxQc3JcTG9nXExvZ2dlckludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJMb2dnZXJJbnRlcmZhY2UiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJsb2dnZXIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjgxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjMxNzk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzMwMjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU3OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6c2V0TG9nZ2VyKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJzZXRMb2dnZXIiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1NToiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6OnJlcXVlc3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoibWV0aG9kIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6InVybCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoib3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uIjoyOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxFeHByZXNzaW9uAGV4cHJlc3Npb24iO3M6MjoiW10iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MDp7fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzM5Nzt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTUxNDk7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDc6IlxTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XFJlc3BvbnNlSW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6IlJlc3BvbnNlSW50ZXJmYWNlIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU1OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6cmVxdWVzdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NzoicmVxdWVzdCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMToiZm9yIGF2YWlsYWJsZSBvcHRpb25zIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjk6IgAqAHJlZmVycyI7Tzo1NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuIjoxOntzOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXEZxc2VuAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njc6IlxTeW1mb255XENvbnRyYWN0c1xIdHRwQ2xpZW50XEh0dHBDbGllbnRJbnRlcmZhY2U6Ok9QVElPTlNfREVGQVVMVFMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiT1BUSU9OU19ERUZBVUxUUyI7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNTI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpzdHJlYW0oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiUmVzcG9uc2VJbnRlcmZhY2UiO319aToxO086NDA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJdGVyYWJsZV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InJlc3BvbnNlcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEZsb2F0XyI6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InRpbWVvdXQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbiI6Mjp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBleHByZXNzaW9uIjtzOjQ0OiJ7eyBQSFBET0MzN2E2MjU5Y2MwYzFkYWUyOTlhNzg2NjQ4OWRmZjBiZCB9fSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YToxOntzOjQ0OiJ7eyBQSFBET0MzN2E2MjU5Y2MwYzFkYWUyOTlhNzg2NjQ4OWRmZjBiZCB9fSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE51bGxfIjowOnt9fX1zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzI4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1MTU2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM0MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNTY2OTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VTdHJlYW1JbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoiUmVzcG9uc2VTdHJlYW1JbnRlcmZhY2UiO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpzdHJlYW0oKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6InN0cmVhbSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjUzOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6cmVzZXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM0MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNTY3Njt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTU3NDc7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6OnJlc2V0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJyZXNldCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjY4OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6YWNjZXB0UHVzaEZvclJlcXVlc3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoibWV0aG9kIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJvcHRpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxJbnRlcm5hbFxQdXNoZWRSZXNwb25zZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJQdXNoZWRSZXNwb25zZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE0OiJwdXNoZWRSZXNwb25zZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzUxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1ODY5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNjkxODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njg6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjphY2NlcHRQdXNoRm9yUmVxdWVzdCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjA6ImFjY2VwdFB1c2hGb3JSZXF1ZXN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjkxOiJBY2NlcHRzIHB1c2hlZCByZXNwb25zZXMgb25seSBpZiB0aGVpciBoZWFkZXJzIHJlbGF0ZWQgdG8gYXV0aGVudGljYXRpb24gbWF0Y2ggdGhlIHJlcXVlc3QuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTUyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjYzOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6cmVhZFJlcXVlc3RCb2R5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo0OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Imxlbmd0aCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo4OiJcQ2xvc3VyZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6IkNsb3N1cmUiO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJib2R5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6ImJ1ZmZlciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjoxO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czozOiJlb2YiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MTtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM4MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNzA0MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozOTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTc2MjU7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjYzOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6cmVhZFJlcXVlc3RCb2R5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToicmVhZFJlcXVlc3RCb2R5Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjkxOiJXcmFwcyB0aGUgcmVxdWVzdCdzIGJvZHkgY2FsbGJhY2sgdG8gYWxsb3cgaXQgdG8gcmV0dXJuIHN0cmluZ3MgbG9uZ2VyIHRoYW4gY3VybCByZXF1ZXN0ZWQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTUyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjoxO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjcwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6Y3JlYXRlUmVkaXJlY3RSZXNvbHZlcigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoib3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJhdXRob3JpdHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQwNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxNzg1Njt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NDc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjA1MDU7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODoiXENsb3N1cmUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJDbG9zdXJlIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjcwOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6Y3JlYXRlUmVkaXJlY3RSZXNvbHZlcigpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjI6ImNyZWF0ZVJlZGlyZWN0UmVzb2x2ZXIiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzQ6IlJlc29sdmVzIHJlbGF0aXZlIFVSTHMgb24gcmVkaXJlY3RzIGFuZCBkZWFscyB3aXRoIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjExMToiV29yayBhcm91bmQgQ1ZFLTIwMTgtMTAwMDAwNzogQXV0aG9yaXphdGlvbiBhbmQgQ29va2llIGhlYWRlcnMgc2hvdWxkIG5vdCBmb2xsb3cgcmVkaXJlY3RzIC0gZml4ZWQgaW4gQ3VybCA3LjY0IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNTI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjE7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpmaW5kQ29uc3RhbnROYW1lKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjM6Im9wdCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDQ5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIwNTEyO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ1NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMDgxNzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50OjpmaW5kQ29uc3RhbnROYW1lKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiZmluZENvbnN0YW50TmFtZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3MjoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6OnZhbGlkYXRlRXh0cmFDdXJsT3B0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoib3B0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDU5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjIwOTIzO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyNDU1Njt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjcyOiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxDdXJsSHR0cENsaWVudDo6dmFsaWRhdGVFeHRyYUN1cmxPcHRpb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoidmFsaWRhdGVFeHRyYUN1cmxPcHRpb25zIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjc1OiJQcmV2ZW50cyBvdmVycmlkaW5nIG9wdGlvbnMgdGhhdCBhcmUgc2V0IGludGVybmFsbHkgdGhyb3VnaG91dCB0aGUgcmVxdWVzdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNTI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjA6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50Ojp3aWxsVXNlUHJveHkoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToicHJveHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Nzoibm9Qcm94eSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJob3N0IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjQ1NjM7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjI1MDY5O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MDoiXFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnRcQ3VybEh0dHBDbGllbnQ6OndpbGxVc2VQcm94eSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6IndpbGxVc2VQcm94eSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjE6e3M6NDU6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEh0dHBDbGllbnRUcmFpdCI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ1OiJcU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxIdHRwQ2xpZW50VHJhaXQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiSHR0cENsaWVudFRyYWl0Ijt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDQ6IlxTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6IkN1cmxIdHRwQ2xpZW50Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo5MzoiQSBwZXJmb3JtYW50IGltcGxlbWVudGF0aW9uIG9mIHRoZSBIdHRwQ2xpZW50SW50ZXJmYWNlIGNvbnRyYWN0cyBiYXNlZCBvbiB0aGUgY3VybCBleHRlbnNpb24uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEyNToiVGhpcyBwcm92aWRlcyBmdWxseSBjb25jdXJyZW50IEhUVFAgcmVxdWVzdHMsIHdpdGggdHJhbnNwYXJlbnQKSFRUUC8yIHB1c2ggd2hlbiBhIGN1cmwgdmVyc2lvbiB0aGF0IHN1cHBvcnRzIGl0IGlzIGluc3RhbGxlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTQ6Ik5pY29sYXMgR3Jla2FzIjtzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvckVtYWlsIjtzOjEzOiJwQHRjaHdvcmsuY29tIjt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxNTI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmaW5hbCI7YjoxO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwByZWFkT25seSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiI4OTI1MDE4NGIxMTM4MjBmNjBiMGNmMDU5MzRkZWI2OSI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjQ1OiJ2ZW5kb3Ivc3ltZm9ueS9odHRwLWNsaWVudC9DdXJsSHR0cENsaWVudC5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjI1MDczOiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XEh0dHBDbGllbnQ7Cgp1c2UgUHNyXExvZ1xMb2dnZXJBd2FyZUludGVyZmFjZTsKdXNlIFBzclxMb2dcTG9nZ2VySW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxFeGNlcHRpb25cVHJhbnNwb3J0RXhjZXB0aW9uOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxJbnRlcm5hbFxDdXJsQ2xpZW50U3RhdGU7CnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEludGVybmFsXFB1c2hlZFJlc3BvbnNlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcSHR0cENsaWVudFxSZXNwb25zZVxDdXJsUmVzcG9uc2U7CnVzZSBTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XFJlc3BvbnNlXFJlc3BvbnNlU3RyZWFtOwp1c2UgU3ltZm9ueVxDb250cmFjdHNcSHR0cENsaWVudFxIdHRwQ2xpZW50SW50ZXJmYWNlOwp1c2UgU3ltZm9ueVxDb250cmFjdHNcSHR0cENsaWVudFxSZXNwb25zZUludGVyZmFjZTsKdXNlIFN5bWZvbnlcQ29udHJhY3RzXEh0dHBDbGllbnRcUmVzcG9uc2VTdHJlYW1JbnRlcmZhY2U7CnVzZSBTeW1mb255XENvbnRyYWN0c1xTZXJ2aWNlXFJlc2V0SW50ZXJmYWNlOwoKLyoqCiAqIEEgcGVyZm9ybWFudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSHR0cENsaWVudEludGVyZmFjZSBjb250cmFjdHMgYmFzZWQgb24gdGhlIGN1cmwgZXh0ZW5zaW9uLgogKgogKiBUaGlzIHByb3ZpZGVzIGZ1bGx5IGNvbmN1cnJlbnQgSFRUUCByZXF1ZXN0cywgd2l0aCB0cmFuc3BhcmVudAogKiBIVFRQLzIgcHVzaCB3aGVuIGEgY3VybCB2ZXJzaW9uIHRoYXQgc3VwcG9ydHMgaXQgaXMgaW5zdGFsbGVkLgogKgogKiBAYXV0aG9yIE5pY29sYXMgR3Jla2FzIDxwQHRjaHdvcmsuY29tPgogKi8KZmluYWwgY2xhc3MgQ3VybEh0dHBDbGllbnQgaW1wbGVtZW50cyBIdHRwQ2xpZW50SW50ZXJmYWNlLCBMb2dnZXJBd2FyZUludGVyZmFjZSwgUmVzZXRJbnRlcmZhY2UKewogICAgdXNlIEh0dHBDbGllbnRUcmFpdDsKCiAgICBwdWJsaWMgY29uc3QgT1BUSU9OU19ERUZBVUxUUyA9IEh0dHBDbGllbnRJbnRlcmZhY2U6Ok9QVElPTlNfREVGQVVMVFMgKyBbCiAgICAgICAgJ2NyeXB0b19tZXRob2QnID0+IFxTVFJFQU1fQ1JZUFRPX01FVEhPRF9UTFN2MV8yX0NMSUVOVCwKICAgIF07CgogICAgcHJpdmF0ZSBhcnJheSAkZGVmYXVsdE9wdGlvbnMgPSBzZWxmOjpPUFRJT05TX0RFRkFVTFRTICsgWwogICAgICAgICdhdXRoX250bG0nID0+IG51bGwsIC8vIGFycmF5fHN0cmluZyAtIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIHVzZXJuYW1lIGFzIGZpcnN0IHZhbHVlLCBhbmQgb3B0aW9uYWxseSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIHBhc3N3b3JkIGFzIHRoZSBzZWNvbmQgb25lOyBvciBzdHJpbmcgbGlrZSB1c2VybmFtZTpwYXNzd29yZCAtIGVuYWJsaW5nIE5UTE0gYXV0aAogICAgICAgICdleHRyYScgPT4gWwogICAgICAgICAgICAnY3VybCcgPT4gW10sICAgIC8vIEEgbGlzdCBvZiBleHRyYSBjdXJsIG9wdGlvbnMgaW5kZXhlZCBieSB0aGVpciBjb3JyZXNwb25kaW5nIENVUkxPUFRfKgogICAgICAgIF0sCiAgICBdOwogICAgcHJpdmF0ZSBzdGF0aWMgYXJyYXkgJGVtcHR5RGVmYXVsdHMgPSBzZWxmOjpPUFRJT05TX0RFRkFVTFRTICsgWydhdXRoX250bG0nID0+IG51bGxdOwoKICAgIHByaXZhdGUgP0xvZ2dlckludGVyZmFjZSAkbG9nZ2VyID0gbnVsbDsKCiAgICAvKioKICAgICAqIEFuIGludGVybmFsIG9iamVjdCB0byBzaGFyZSBzdGF0ZSBiZXR3ZWVuIHRoZSBjbGllbnQgYW5kIGl0cyByZXNwb25zZXMuCiAgICAgKi8KICAgIHByaXZhdGUgQ3VybENsaWVudFN0YXRlICRtdWx0aTsKCiAgICAvKioKICAgICAqIEBwYXJhbSBhcnJheSAkZGVmYXVsdE9wdGlvbnMgICAgIERlZmF1bHQgcmVxdWVzdCdzIG9wdGlvbnMKICAgICAqIEBwYXJhbSBpbnQgICAkbWF4SG9zdENvbm5lY3Rpb25zIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byBhIHNpbmdsZSBob3N0CiAgICAgKiBAcGFyYW0gaW50ICAgJG1heFBlbmRpbmdQdXNoZXMgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgcHVzaGVkIHJlc3BvbnNlcyB0byBhY2NlcHQgaW4gdGhlIHF1ZXVlCiAgICAgKgogICAgICogQHNlZSBIdHRwQ2xpZW50SW50ZXJmYWNlOjpPUFRJT05TX0RFRkFVTFRTIGZvciBhdmFpbGFibGUgb3B0aW9ucwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoYXJyYXkgJGRlZmF1bHRPcHRpb25zID0gW10sIGludCAkbWF4SG9zdENvbm5lY3Rpb25zID0gNiwgaW50ICRtYXhQZW5kaW5nUHVzaGVzID0gMCkKICAgIHsKICAgICAgICBpZiAoIVxleHRlbnNpb25fbG9hZGVkKCdjdXJsJykpIHsKICAgICAgICAgICAgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignWW91IGNhbm5vdCB1c2UgdGhlICJTeW1mb255XENvbXBvbmVudFxIdHRwQ2xpZW50XEN1cmxIdHRwQ2xpZW50IiBhcyB0aGUgImN1cmwiIGV4dGVuc2lvbiBpcyBub3QgaW5zdGFsbGVkLicpOwogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPmRlZmF1bHRPcHRpb25zWydidWZmZXInXSA/Pz0gc2VsZjo6c2hvdWxkQnVmZmVyKC4uLik7CgogICAgICAgIGlmICgkZGVmYXVsdE9wdGlvbnMpIHsKICAgICAgICAgICAgWywgJHRoaXMtPmRlZmF1bHRPcHRpb25zXSA9IHNlbGY6OnByZXBhcmVSZXF1ZXN0KG51bGwsIG51bGwsICRkZWZhdWx0T3B0aW9ucywgJHRoaXMtPmRlZmF1bHRPcHRpb25zKTsKICAgICAgICB9CgogICAgICAgICR0aGlzLT5tdWx0aSA9IG5ldyBDdXJsQ2xpZW50U3RhdGUoJG1heEhvc3RDb25uZWN0aW9ucywgJG1heFBlbmRpbmdQdXNoZXMpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRMb2dnZXIoTG9nZ2VySW50ZXJmYWNlICRsb2dnZXIpOiB2b2lkCiAgICB7CiAgICAgICAgJHRoaXMtPmxvZ2dlciA9ICR0aGlzLT5tdWx0aS0+bG9nZ2VyID0gJGxvZ2dlcjsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgSHR0cENsaWVudEludGVyZmFjZTo6T1BUSU9OU19ERUZBVUxUUyBmb3IgYXZhaWxhYmxlIG9wdGlvbnMKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlcXVlc3Qoc3RyaW5nICRtZXRob2QsIHN0cmluZyAkdXJsLCBhcnJheSAkb3B0aW9ucyA9IFtdKTogUmVzcG9uc2VJbnRlcmZhY2UKICAgIHsKICAgICAgICBbJHVybCwgJG9wdGlvbnNdID0gc2VsZjo6cHJlcGFyZVJlcXVlc3QoJG1ldGhvZCwgJHVybCwgJG9wdGlvbnMsICR0aGlzLT5kZWZhdWx0T3B0aW9ucyk7CiAgICAgICAgJHNjaGVtZSA9ICR1cmxbJ3NjaGVtZSddOwogICAgICAgICRhdXRob3JpdHkgPSAkdXJsWydhdXRob3JpdHknXTsKICAgICAgICAkaG9zdCA9IHBhcnNlX3VybCgkYXV0aG9yaXR5LCBcUEhQX1VSTF9IT1NUKTsKICAgICAgICAkcG9ydCA9IHBhcnNlX3VybCgkYXV0aG9yaXR5LCBcUEhQX1VSTF9QT1JUKSA/OiAoJ2h0dHA6JyA9PT0gJHNjaGVtZSA/IDgwIDogNDQzKTsKICAgICAgICAkcHJveHkgPSBzZWxmOjpnZXRQcm94eVVybCgkb3B0aW9uc1sncHJveHknXSwgJHVybCk7CiAgICAgICAgJHVybCA9IGltcGxvZGUoJycsICR1cmwpOwoKICAgICAgICBpZiAoIWlzc2V0KCRvcHRpb25zWydub3JtYWxpemVkX2hlYWRlcnMnXVsndXNlci1hZ2VudCddKSkgewogICAgICAgICAgICAkb3B0aW9uc1snaGVhZGVycyddW10gPSAnVXNlci1BZ2VudDogU3ltZm9ueSBIdHRwQ2xpZW50IChDdXJsKSc7CiAgICAgICAgfQoKICAgICAgICAkY3VybG9wdHMgPSBbCiAgICAgICAgICAgIFxDVVJMT1BUX1VSTCA9PiAkdXJsLAogICAgICAgICAgICBcQ1VSTE9QVF9UQ1BfTk9ERUxBWSA9PiB0cnVlLAogICAgICAgICAgICBcQ1VSTE9QVF9QUk9UT0NPTFMgPT4gXENVUkxQUk9UT19IVFRQIHwgXENVUkxQUk9UT19IVFRQUywKICAgICAgICAgICAgXENVUkxPUFRfUkVESVJfUFJPVE9DT0xTID0+IFxDVVJMUFJPVE9fSFRUUCB8IFxDVVJMUFJPVE9fSFRUUFMsCiAgICAgICAgICAgIFxDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OID0+IHRydWUsCiAgICAgICAgICAgIFxDVVJMT1BUX01BWFJFRElSUyA9PiBtYXgoMCwgJG9wdGlvbnNbJ21heF9yZWRpcmVjdHMnXSksCiAgICAgICAgICAgIFxDVVJMT1BUX0NPT0tJRUZJTEUgPT4gJycsIC8vIEtlZXAgdHJhY2sgb2YgY29va2llcyBkdXJpbmcgcmVkaXJlY3RzCiAgICAgICAgICAgIFxDVVJMT1BUX1RJTUVPVVQgPT4gMCwKICAgICAgICAgICAgXENVUkxPUFRfUFJPWFkgPT4gJHByb3h5LAogICAgICAgICAgICBcQ1VSTE9QVF9OT1BST1hZID0+ICRvcHRpb25zWydub19wcm94eSddID8/ICRfU0VSVkVSWydub19wcm94eSddID8/ICRfU0VSVkVSWydOT19QUk9YWSddID8/ICcnLAogICAgICAgICAgICBcQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiA9PiAkb3B0aW9uc1sndmVyaWZ5X3BlZXInXSwKICAgICAgICAgICAgXENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgPT4gJG9wdGlvbnNbJ3ZlcmlmeV9ob3N0J10gPyAyIDogMCwKICAgICAgICAgICAgXENVUkxPUFRfQ0FJTkZPID0+ICRvcHRpb25zWydjYWZpbGUnXSwKICAgICAgICAgICAgXENVUkxPUFRfQ0FQQVRIID0+ICRvcHRpb25zWydjYXBhdGgnXSwKICAgICAgICAgICAgXENVUkxPUFRfU1NMX0NJUEhFUl9MSVNUID0+ICRvcHRpb25zWydjaXBoZXJzJ10sCiAgICAgICAgICAgIFxDVVJMT1BUX1NTTENFUlQgPT4gJG9wdGlvbnNbJ2xvY2FsX2NlcnQnXSwKICAgICAgICAgICAgXENVUkxPUFRfU1NMS0VZID0+ICRvcHRpb25zWydsb2NhbF9wayddLAogICAgICAgICAgICBcQ1VSTE9QVF9LRVlQQVNTV0QgPT4gJG9wdGlvbnNbJ3Bhc3NwaHJhc2UnXSwKICAgICAgICAgICAgXENVUkxPUFRfQ0VSVElORk8gPT4gJG9wdGlvbnNbJ2NhcHR1cmVfcGVlcl9jZXJ0X2NoYWluJ10sCiAgICAgICAgICAgIFxDVVJMT1BUX1NTTFZFUlNJT04gPT4gbWF0Y2ggKCRvcHRpb25zWydjcnlwdG9fbWV0aG9kJ10pIHsKICAgICAgICAgICAgICAgIFxTVFJFQU1fQ1JZUFRPX01FVEhPRF9UTFN2MV8zX0NMSUVOVCA9PiBcQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzMsCiAgICAgICAgICAgICAgICBcU1RSRUFNX0NSWVBUT19NRVRIT0RfVExTdjFfMl9DTElFTlQgPT4gXENVUkxfU1NMVkVSU0lPTl9UTFN2MV8yLAogICAgICAgICAgICAgICAgXFNUUkVBTV9DUllQVE9fTUVUSE9EX1RMU3YxXzFfQ0xJRU5UID0+IFxDVVJMX1NTTFZFUlNJT05fVExTdjFfMSwKICAgICAgICAgICAgICAgIFxTVFJFQU1fQ1JZUFRPX01FVEhPRF9UTFN2MV8wX0NMSUVOVCA9PiBcQ1VSTF9TU0xWRVJTSU9OX1RMU3YxXzAsCiAgICAgICAgICAgIH0sCiAgICAgICAgXTsKCiAgICAgICAgaWYgKDEuMCA9PT0gKGZsb2F0KSAkb3B0aW9uc1snaHR0cF92ZXJzaW9uJ10pIHsKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0hUVFBfVkVSU0lPTl0gPSBcQ1VSTF9IVFRQX1ZFUlNJT05fMV8wOwogICAgICAgIH0gZWxzZWlmICgxLjEgPT09IChmbG9hdCkgJG9wdGlvbnNbJ2h0dHBfdmVyc2lvbiddKSB7CiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9IVFRQX1ZFUlNJT05dID0gXENVUkxfSFRUUF9WRVJTSU9OXzFfMTsKICAgICAgICB9IGVsc2VpZiAoXGRlZmluZWQoJ0NVUkxfVkVSU0lPTl9IVFRQMicpICYmIChcQ1VSTF9WRVJTSU9OX0hUVFAyICYgQ3VybENsaWVudFN0YXRlOjokY3VybFZlcnNpb25bJ2ZlYXR1cmVzJ10pICYmICgnaHR0cHM6JyA9PT0gJHNjaGVtZSB8fCAyLjAgPT09IChmbG9hdCkgJG9wdGlvbnNbJ2h0dHBfdmVyc2lvbiddKSkgewogICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUF9WRVJTSU9OXSA9IFxDVVJMX0hUVFBfVkVSU0lPTl8yXzA7CiAgICAgICAgfSBlbHNlaWYgKFxkZWZpbmVkKCdDVVJMX1ZFUlNJT05fSFRUUDMnKSAmJiAoXENVUkxfVkVSU0lPTl9IVFRQMyAmIEN1cmxDbGllbnRTdGF0ZTo6JGN1cmxWZXJzaW9uWydmZWF0dXJlcyddKSAmJiAzLjAgPT09IChmbG9hdCkgJG9wdGlvbnNbJ2h0dHBfdmVyc2lvbiddICYmICFzZWxmOjp3aWxsVXNlUHJveHkoJHByb3h5LCAkY3VybG9wdHNbXENVUkxPUFRfTk9QUk9YWV0sICRob3N0KSkgewogICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUF9WRVJTSU9OXSA9IFxDVVJMX0hUVFBfVkVSU0lPTl8zOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydhdXRoX250bG0nXSkpIHsKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0hUVFBBVVRIXSA9IFxDVVJMQVVUSF9OVExNOwogICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUF9WRVJTSU9OXSA9IFxDVVJMX0hUVFBfVkVSU0lPTl8xXzE7CgogICAgICAgICAgICBpZiAoXGlzX2FycmF5KCRvcHRpb25zWydhdXRoX250bG0nXSkpIHsKICAgICAgICAgICAgICAgICRjb3VudCA9IFxjb3VudCgkb3B0aW9uc1snYXV0aF9udGxtJ10pOwogICAgICAgICAgICAgICAgaWYgKCRjb3VudCA8PSAwIHx8ICRjb3VudCA+IDIpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdPcHRpb24gImF1dGhfbnRsbSIgbXVzdCBjb250YWluIDEgb3IgMiBlbGVtZW50cywgJWQgZ2l2ZW4uJywgJGNvdW50KSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJG9wdGlvbnNbJ2F1dGhfbnRsbSddID0gaW1wbG9kZSgnOicsICRvcHRpb25zWydhdXRoX250bG0nXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghXGlzX3N0cmluZygkb3B0aW9uc1snYXV0aF9udGxtJ10pKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdPcHRpb24gImF1dGhfbnRsbSIgbXVzdCBiZSBhIHN0cmluZyBvciBhbiBhcnJheSwgIiVzIiBnaXZlbi4nLCBnZXRfZGVidWdfdHlwZSgkb3B0aW9uc1snYXV0aF9udGxtJ10pKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9VU0VSUFdEXSA9ICRvcHRpb25zWydhdXRoX250bG0nXTsKICAgICAgICB9CgogICAgICAgIGlmICghXFpFTkRfVEhSRUFEX1NBRkUpIHsKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0ROU19VU0VfR0xPQkFMX0NBQ0hFXSA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgaWYgKFxkZWZpbmVkKCdDVVJMT1BUX0hFQURFUk9QVCcpICYmIFxkZWZpbmVkKCdDVVJMSEVBREVSX1NFUEFSQVRFJykpIHsKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0hFQURFUk9QVF0gPSBcQ1VSTEhFQURFUl9TRVBBUkFURTsKICAgICAgICB9CgogICAgICAgIC8vIGN1cmwncyByZXNvbHZlIGZlYXR1cmUgdmFyaWVzIGJ5IGhvc3Q6cG9ydCBidXQgb3VycyB2YXJpZXMgYnkgaG9zdCBvbmx5LCBsZXQncyBoYW5kbGUgdGhpcyB3aXRoIG91ciBvd24gRE5TIG1hcAogICAgICAgIGlmIChpc3NldCgkdGhpcy0+bXVsdGktPmRuc0NhY2hlLT5ob3N0bmFtZXNbJGhvc3RdKSkgewogICAgICAgICAgICAkb3B0aW9uc1sncmVzb2x2ZSddICs9IFskaG9zdCA9PiAkdGhpcy0+bXVsdGktPmRuc0NhY2hlLT5ob3N0bmFtZXNbJGhvc3RdXTsKICAgICAgICB9CgogICAgICAgIGlmICgkb3B0aW9uc1sncmVzb2x2ZSddIHx8ICR0aGlzLT5tdWx0aS0+ZG5zQ2FjaGUtPmV2aWN0aW9ucykgewogICAgICAgICAgICAvLyBGaXJzdCByZXNldCBhbnkgb2xkIEROUyBjYWNoZSBlbnRyaWVzIHRoZW4gYWRkIHRoZSBuZXcgb25lcwogICAgICAgICAgICAkcmVzb2x2ZSA9ICR0aGlzLT5tdWx0aS0+ZG5zQ2FjaGUtPmV2aWN0aW9uczsKICAgICAgICAgICAgJHRoaXMtPm11bHRpLT5kbnNDYWNoZS0+ZXZpY3Rpb25zID0gW107CgogICAgICAgICAgICBpZiAoJHJlc29sdmUgJiYgMHgwNzJBMDAgPiBDdXJsQ2xpZW50U3RhdGU6OiRjdXJsVmVyc2lvblsndmVyc2lvbl9udW1iZXInXSkgewogICAgICAgICAgICAgICAgLy8gRE5TIGNhY2hlIHJlbW92YWxzIHJlcXVpcmUgY3VybCA3LjQyIG9yIGhpZ2hlcgogICAgICAgICAgICAgICAgJHRoaXMtPm11bHRpLT5yZXNldCgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBmb3JlYWNoICgkb3B0aW9uc1sncmVzb2x2ZSddIGFzICRyZXNvbHZlSG9zdCA9PiAkaXApIHsKICAgICAgICAgICAgICAgICRyZXNvbHZlW10gPSBudWxsID09PSAkaXAgPyAiLSRyZXNvbHZlSG9zdDokcG9ydCIgOiAiJHJlc29sdmVIb3N0OiRwb3J0OiRpcCI7CiAgICAgICAgICAgICAgICAkdGhpcy0+bXVsdGktPmRuc0NhY2hlLT5ob3N0bmFtZXNbJHJlc29sdmVIb3N0XSA9ICRpcDsKICAgICAgICAgICAgICAgICR0aGlzLT5tdWx0aS0+ZG5zQ2FjaGUtPnJlbW92YWxzWyItJHJlc29sdmVIb3N0OiRwb3J0Il0gPSAiLSRyZXNvbHZlSG9zdDokcG9ydCI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9SRVNPTFZFXSA9ICRyZXNvbHZlOwogICAgICAgIH0KCiAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0NVU1RPTVJFUVVFU1RdID0gJG1ldGhvZDsKICAgICAgICBpZiAoJ1BPU1QnID09PSAkbWV0aG9kKSB7CiAgICAgICAgICAgIC8vIFVzZSBDVVJMT1BUX1BPU1QgdG8gaGF2ZSBicm93c2VyLWxpa2UgUE9TVC10by1HRVQgcmVkaXJlY3RzIGZvciAzMDEsIDMwMiBhbmQgMzAzCiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9QT1NUXSA9IHRydWU7CiAgICAgICAgfSBlbHNlaWYgKCdIRUFEJyA9PT0gJG1ldGhvZCkgewogICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfTk9CT0RZXSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoJ1xcJyAhPT0gXERJUkVDVE9SWV9TRVBBUkFUT1IgJiYgJG9wdGlvbnNbJ3RpbWVvdXQnXSA8IDEpIHsKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX05PU0lHTkFMXSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoXGV4dGVuc2lvbl9sb2FkZWQoJ3psaWInKSAmJiAhaXNzZXQoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydhY2NlcHQtZW5jb2RpbmcnXSkpIHsKICAgICAgICAgICAgJG9wdGlvbnNbJ2hlYWRlcnMnXVtdID0gJ0FjY2VwdC1FbmNvZGluZzogZ3ppcCc7IC8vIEV4cG9zZSBvbmx5IG9uZSBlbmNvZGluZywgc29tZSBzZXJ2ZXJzIG1lc3MgdXAgd2hlbiBtb3JlIGFyZSBwcm92aWRlZAogICAgICAgIH0KICAgICAgICAkYm9keSA9ICRvcHRpb25zWydib2R5J107CgogICAgICAgIGZvcmVhY2ggKCRvcHRpb25zWydoZWFkZXJzJ10gYXMgJGkgPT4gJGhlYWRlcikgewogICAgICAgICAgICBpZiAoXGlzX3N0cmluZygkYm9keSkgJiYgJycgIT09ICRib2R5ICYmIDAgPT09IHN0cmlwb3MoJGhlYWRlciwgJ0NvbnRlbnQtTGVuZ3RoOiAnKSkgewogICAgICAgICAgICAgICAgLy8gTGV0IGN1cmwgaGFuZGxlIENvbnRlbnQtTGVuZ3RoIGhlYWRlcnMKICAgICAgICAgICAgICAgIHVuc2V0KCRvcHRpb25zWydoZWFkZXJzJ11bJGldKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgnOicgPT09ICRoZWFkZXJbLTJdICYmIFxzdHJsZW4oJGhlYWRlcikgLSAyID09PSBzdHJwb3MoJGhlYWRlciwgJzogJykpIHsKICAgICAgICAgICAgICAgIC8vIGN1cmwgcmVxdWlyZXMgYSBzcGVjaWFsIHN5bnRheCB0byBzZW5kIGVtcHR5IGhlYWRlcnMKICAgICAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9IVFRQSEVBREVSXVtdID0gc3Vic3RyX3JlcGxhY2UoJGhlYWRlciwgJzsnLCAtMik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUEhFQURFUl1bXSA9ICRoZWFkZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFByZXZlbnQgY3VybCBmcm9tIHNlbmRpbmcgaXRzIGRlZmF1bHQgQWNjZXB0IGFuZCBFeHBlY3QgaGVhZGVycwogICAgICAgIGZvcmVhY2ggKFsnYWNjZXB0JywgJ2V4cGVjdCddIGFzICRoZWFkZXIpIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJGhlYWRlcl1bMF0pKSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUEhFQURFUl1bXSA9ICRoZWFkZXIuJzonOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoIVxpc19zdHJpbmcoJGJvZHkpKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snYXV0aF9udGxtJ10pKSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfRk9SQklEX1JFVVNFXSA9IHRydWU7IC8vIFJldXNpbmcgTlRMTSBjb25uZWN0aW9ucyByZXF1aXJlcyBzZWVraW5nIGNhcGFiaWxpdHksIHdoaWNoIG9ubHkgc3RyaW5nIGJvZGllcyBzdXBwb3J0CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChcaXNfcmVzb3VyY2UoJGJvZHkpKSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfUkVBRERBVEFdID0gJGJvZHk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfUkVBREZVTkNUSU9OXSA9IHN0YXRpYyBmdW5jdGlvbiAoJGNoLCAkZmQsICRsZW5ndGgpIHVzZSAoJGJvZHkpIHsKICAgICAgICAgICAgICAgICAgICBzdGF0aWMgJGVvZiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIHN0YXRpYyAkYnVmZmVyID0gJyc7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmOjpyZWFkUmVxdWVzdEJvZHkoJGxlbmd0aCwgJGJvZHksICRidWZmZXIsICRlb2YpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGlzc2V0KCRvcHRpb25zWydub3JtYWxpemVkX2hlYWRlcnMnXVsnY29udGVudC1sZW5ndGgnXVswXSkpIHsKICAgICAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9JTkZJTEVTSVpFXSA9IChpbnQpIHN1YnN0cigkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ2NvbnRlbnQtbGVuZ3RoJ11bMF0sIFxzdHJsZW4oJ0NvbnRlbnQtTGVuZ3RoOiAnKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFpc3NldCgkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ3RyYW5zZmVyLWVuY29kaW5nJ10pKSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfSFRUUEhFQURFUl1bXSA9ICdUcmFuc2Zlci1FbmNvZGluZzonLihpc3NldCgkY3VybG9wdHNbXENVUkxPUFRfSU5GSUxFU0laRV0pID8gJycgOiAnIGNodW5rZWQnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCdQT1NUJyAhPT0gJG1ldGhvZCkgewogICAgICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX1VQTE9BRF0gPSB0cnVlOwoKICAgICAgICAgICAgICAgIGlmICghaXNzZXQoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydjb250ZW50LXR5cGUnXSkgJiYgMCAhPT0gKCRjdXJsb3B0c1tcQ1VSTE9QVF9JTkZJTEVTSVpFXSA/PyBudWxsKSkgewogICAgICAgICAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9IVFRQSEVBREVSXVtdID0gJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgnJyAhPT0gJGJvZHkgfHwgJ1BPU1QnID09PSAkbWV0aG9kKSB7CiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9QT1NURklFTERTXSA9ICRib2R5OwogICAgICAgIH0KCiAgICAgICAgaWYgKCRvcHRpb25zWydwZWVyX2ZpbmdlcnByaW50J10pIHsKICAgICAgICAgICAgaWYgKCFpc3NldCgkb3B0aW9uc1sncGVlcl9maW5nZXJwcmludCddWydwaW4tc2hhMjU2J10pKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHJhbnNwb3J0RXhjZXB0aW9uKF9fQ0xBU1NfXy4nIHN1cHBvcnRzIG9ubHkgInBpbi1zaGEyNTYiIGZpbmdlcnByaW50cy4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX1BJTk5FRFBVQkxJQ0tFWV0gPSAnc2hhMjU2Ly8nLmltcGxvZGUoJztzaGEyNTYvLycsICRvcHRpb25zWydwZWVyX2ZpbmdlcnByaW50J11bJ3Bpbi1zaGEyNTYnXSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoJG9wdGlvbnNbJ2JpbmR0byddKSB7CiAgICAgICAgICAgIGlmIChmaWxlX2V4aXN0cygkb3B0aW9uc1snYmluZHRvJ10pKSB7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfVU5JWF9TT0NLRVRfUEFUSF0gPSAkb3B0aW9uc1snYmluZHRvJ107CiAgICAgICAgICAgIH0gZWxzZWlmICghc3RyX3N0YXJ0c193aXRoKCRvcHRpb25zWydiaW5kdG8nXSwgJ2lmIScpICYmIHByZWdfbWF0Y2goJy9eKC4qKTooXGQrKSQvJywgJG9wdGlvbnNbJ2JpbmR0byddLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9JTlRFUkZBQ0VdID0gdHJpbSgkbWF0Y2hlc1sxXSwgJ1tdJyk7CiAgICAgICAgICAgICAgICAkY3VybG9wdHNbXENVUkxPUFRfTE9DQUxQT1JUXSA9ICRtYXRjaGVzWzJdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGN1cmxvcHRzW1xDVVJMT1BUX0lOVEVSRkFDRV0gPSAkb3B0aW9uc1snYmluZHRvJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgwIDwgJG9wdGlvbnNbJ21heF9kdXJhdGlvbiddKSB7CiAgICAgICAgICAgICRjdXJsb3B0c1tcQ1VSTE9QVF9USU1FT1VUX01TXSA9IDEwMDAgKiAkb3B0aW9uc1snbWF4X2R1cmF0aW9uJ107CiAgICAgICAgfQoKICAgICAgICBpZiAoIWVtcHR5KCRvcHRpb25zWydleHRyYSddWydjdXJsJ10pICYmIFxpc19hcnJheSgkb3B0aW9uc1snZXh0cmEnXVsnY3VybCddKSkgewogICAgICAgICAgICAkdGhpcy0+dmFsaWRhdGVFeHRyYUN1cmxPcHRpb25zKCRvcHRpb25zWydleHRyYSddWydjdXJsJ10pOwogICAgICAgICAgICAkY3VybG9wdHMgKz0gJG9wdGlvbnNbJ2V4dHJhJ11bJ2N1cmwnXTsKICAgICAgICB9CgogICAgICAgIGlmICgkcHVzaGVkUmVzcG9uc2UgPSAkdGhpcy0+bXVsdGktPnB1c2hlZFJlc3BvbnNlc1skdXJsXSA/PyBudWxsKSB7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT5tdWx0aS0+cHVzaGVkUmVzcG9uc2VzWyR1cmxdKTsKCiAgICAgICAgICAgIGlmIChzZWxmOjphY2NlcHRQdXNoRm9yUmVxdWVzdCgkbWV0aG9kLCAkb3B0aW9ucywgJHB1c2hlZFJlc3BvbnNlKSkgewogICAgICAgICAgICAgICAgJHRoaXMtPmxvZ2dlcj8tPmRlYnVnKFxzcHJpbnRmKCdBY2NlcHRpbmcgcHVzaGVkIHJlc3BvbnNlOiAiJXMgJXMiJywgJG1ldGhvZCwgJHVybCkpOwoKICAgICAgICAgICAgICAgIC8vIFJlaW5pdGlhbGl6ZSB0aGUgcHVzaGVkIHJlc3BvbnNlIHdpdGggcmVxdWVzdCdzIG9wdGlvbnMKICAgICAgICAgICAgICAgICRjaCA9ICRwdXNoZWRSZXNwb25zZS0+aGFuZGxlOwogICAgICAgICAgICAgICAgJHB1c2hlZFJlc3BvbnNlID0gJHB1c2hlZFJlc3BvbnNlLT5yZXNwb25zZTsKICAgICAgICAgICAgICAgICRwdXNoZWRSZXNwb25zZS0+X19jb25zdHJ1Y3QoJHRoaXMtPm11bHRpLCAkdXJsLCAkb3B0aW9ucywgJHRoaXMtPmxvZ2dlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+bG9nZ2VyPy0+ZGVidWcoXHNwcmludGYoJ1JlamVjdGluZyBwdXNoZWQgcmVzcG9uc2U6ICIlcyInLCAkdXJsKSk7CiAgICAgICAgICAgICAgICAkcHVzaGVkUmVzcG9uc2UgPSBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoISRwdXNoZWRSZXNwb25zZSkgewogICAgICAgICAgICAkY2ggPSBjdXJsX2luaXQoKTsKICAgICAgICAgICAgJHRoaXMtPmxvZ2dlcj8tPmluZm8oXHNwcmludGYoJ1JlcXVlc3Q6ICIlcyAlcyInLCAkbWV0aG9kLCAkdXJsKSk7CiAgICAgICAgICAgICRjdXJsb3B0cyArPSBbXENVUkxPUFRfU0hBUkUgPT4gJHRoaXMtPm11bHRpLT5zaGFyZV07CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkY3VybG9wdHMgYXMgJG9wdCA9PiAkdmFsdWUpIHsKICAgICAgICAgICAgaWYgKFxQSFBfSU5UX1NJWkUgPT09IDggJiYgXGRlZmluZWQoJ0NVUkxPUFRfSU5GSUxFU0laRV9MQVJHRScpICYmIFxDVVJMT1BUX0lORklMRVNJWkUgPT09ICRvcHQgJiYgJHZhbHVlID49IDEgPDwgMzEpIHsKICAgICAgICAgICAgICAgICRvcHQgPSBcQ1VSTE9QVF9JTkZJTEVTSVpFX0xBUkdFOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChudWxsICE9PSAkdmFsdWUgJiYgIWN1cmxfc2V0b3B0KCRjaCwgJG9wdCwgJHZhbHVlKSAmJiBcQ1VSTE9QVF9DRVJUSU5GTyAhPT0gJG9wdCAmJiAoIVxkZWZpbmVkKCdDVVJMT1BUX0hFQURFUk9QVCcpIHx8IFxDVVJMT1BUX0hFQURFUk9QVCAhPT0gJG9wdCkpIHsKICAgICAgICAgICAgICAgICRjb25zdGFudE5hbWUgPSAkdGhpcy0+ZmluZENvbnN0YW50TmFtZSgkb3B0KTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBUcmFuc3BvcnRFeGNlcHRpb24oXHNwcmludGYoJ0N1cmwgb3B0aW9uICIlcyIgaXMgbm90IHN1cHBvcnRlZC4nLCAkY29uc3RhbnROYW1lID8/ICRvcHQpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRwdXNoZWRSZXNwb25zZSA/PyBuZXcgQ3VybFJlc3BvbnNlKCR0aGlzLT5tdWx0aSwgJGNoLCAkb3B0aW9ucywgJHRoaXMtPmxvZ2dlciwgJG1ldGhvZCwgc2VsZjo6Y3JlYXRlUmVkaXJlY3RSZXNvbHZlcigkb3B0aW9ucywgJGF1dGhvcml0eSksIEN1cmxDbGllbnRTdGF0ZTo6JGN1cmxWZXJzaW9uWyd2ZXJzaW9uX251bWJlciddLCAkdXJsKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc3RyZWFtKFJlc3BvbnNlSW50ZXJmYWNlfGl0ZXJhYmxlICRyZXNwb25zZXMsID9mbG9hdCAkdGltZW91dCA9IG51bGwpOiBSZXNwb25zZVN0cmVhbUludGVyZmFjZQogICAgewogICAgICAgIGlmICgkcmVzcG9uc2VzIGluc3RhbmNlb2YgQ3VybFJlc3BvbnNlKSB7CiAgICAgICAgICAgICRyZXNwb25zZXMgPSBbJHJlc3BvbnNlc107CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRoaXMtPm11bHRpLT5oYW5kbGUgaW5zdGFuY2VvZiBcQ3VybE11bHRpSGFuZGxlKSB7CiAgICAgICAgICAgICRhY3RpdmUgPSAwOwogICAgICAgICAgICB3aGlsZSAoXENVUkxNX0NBTExfTVVMVElfUEVSRk9STSA9PT0gY3VybF9tdWx0aV9leGVjKCR0aGlzLT5tdWx0aS0+aGFuZGxlLCAkYWN0aXZlKSkgewogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlU3RyZWFtKEN1cmxSZXNwb25zZTo6c3RyZWFtKCRyZXNwb25zZXMsICR0aW1lb3V0KSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlc2V0KCk6IHZvaWQKICAgIHsKICAgICAgICAkdGhpcy0+bXVsdGktPnJlc2V0KCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBBY2NlcHRzIHB1c2hlZCByZXNwb25zZXMgb25seSBpZiB0aGVpciBoZWFkZXJzIHJlbGF0ZWQgdG8gYXV0aGVudGljYXRpb24gbWF0Y2ggdGhlIHJlcXVlc3QuCiAgICAgKi8KICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGFjY2VwdFB1c2hGb3JSZXF1ZXN0KHN0cmluZyAkbWV0aG9kLCBhcnJheSAkb3B0aW9ucywgUHVzaGVkUmVzcG9uc2UgJHB1c2hlZFJlc3BvbnNlKTogYm9vbAogICAgewogICAgICAgIGlmICgnJyAhPT0gJG9wdGlvbnNbJ2JvZHknXSB8fCAkbWV0aG9kICE9PSAkcHVzaGVkUmVzcG9uc2UtPnJlcXVlc3RIZWFkZXJzWyc6bWV0aG9kJ11bMF0pIHsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoWydwcm94eScsICdub19wcm94eScsICdiaW5kdG8nLCAnbG9jYWxfY2VydCcsICdsb2NhbF9wayddIGFzICRrKSB7CiAgICAgICAgICAgIGlmICgkb3B0aW9uc1ska10gIT09ICRwdXNoZWRSZXNwb25zZS0+cGFyZW50T3B0aW9uc1ska10pIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAoWydhdXRob3JpemF0aW9uJywgJ2Nvb2tpZScsICdyYW5nZScsICdwcm94eS1hdXRob3JpemF0aW9uJ10gYXMgJGspIHsKICAgICAgICAgICAgJG5vcm1hbGl6ZWRIZWFkZXJzID0gJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWyRrXSA/PyBbXTsKICAgICAgICAgICAgZm9yZWFjaCAoJG5vcm1hbGl6ZWRIZWFkZXJzIGFzICRpID0+ICR2KSB7CiAgICAgICAgICAgICAgICAkbm9ybWFsaXplZEhlYWRlcnNbJGldID0gc3Vic3RyKCR2LCBcc3RybGVuKCRrKSArIDIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoKCRwdXNoZWRSZXNwb25zZS0+cmVxdWVzdEhlYWRlcnNbJGtdID8/IFtdKSAhPT0gJG5vcm1hbGl6ZWRIZWFkZXJzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRzdGF0dXNDb2RlID0gJHB1c2hlZFJlc3BvbnNlLT5yZXNwb25zZS0+Z2V0SW5mbygnaHR0cF9jb2RlJykgPzogMjAwOwoKICAgICAgICByZXR1cm4gJHN0YXR1c0NvZGUgPCAzMDAgfHwgNDAwIDw9ICRzdGF0dXNDb2RlOwogICAgfQoKICAgIC8qKgogICAgICogV3JhcHMgdGhlIHJlcXVlc3QncyBib2R5IGNhbGxiYWNrIHRvIGFsbG93IGl0IHRvIHJldHVybiBzdHJpbmdzIGxvbmdlciB0aGFuIGN1cmwgcmVxdWVzdGVkLgogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiByZWFkUmVxdWVzdEJvZHkoaW50ICRsZW5ndGgsIFxDbG9zdXJlICRib2R5LCBzdHJpbmcgJiRidWZmZXIsIGJvb2wgJiRlb2YpOiBzdHJpbmcKICAgIHsKICAgICAgICBpZiAoISRlb2YgJiYgXHN0cmxlbigkYnVmZmVyKSA8ICRsZW5ndGgpIHsKICAgICAgICAgICAgaWYgKCFcaXNfc3RyaW5nKCRkYXRhID0gJGJvZHkoJGxlbmd0aCkpKSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHJhbnNwb3J0RXhjZXB0aW9uKFxzcHJpbnRmKCdUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSAiYm9keSIgb3B0aW9uIGNhbGxiYWNrIG11c3QgYmUgYSBzdHJpbmcsICIlcyIgcmV0dXJuZWQuJywgZ2V0X2RlYnVnX3R5cGUoJGRhdGEpKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRidWZmZXIgLj0gJGRhdGE7CiAgICAgICAgICAgICRlb2YgPSAnJyA9PT0gJGRhdGE7CiAgICAgICAgfQoKICAgICAgICAkZGF0YSA9IHN1YnN0cigkYnVmZmVyLCAwLCAkbGVuZ3RoKTsKICAgICAgICAkYnVmZmVyID0gc3Vic3RyKCRidWZmZXIsICRsZW5ndGgpOwoKICAgICAgICByZXR1cm4gJGRhdGE7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXNvbHZlcyByZWxhdGl2ZSBVUkxzIG9uIHJlZGlyZWN0cyBhbmQgZGVhbHMgd2l0aCBhdXRoZW50aWNhdGlvbiBoZWFkZXJzLgogICAgICoKICAgICAqIFdvcmsgYXJvdW5kIENWRS0yMDE4LTEwMDAwMDc6IEF1dGhvcml6YXRpb24gYW5kIENvb2tpZSBoZWFkZXJzIHNob3VsZCBub3QgZm9sbG93IHJlZGlyZWN0cyAtIGZpeGVkIGluIEN1cmwgNy42NAogICAgICovCiAgICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVSZWRpcmVjdFJlc29sdmVyKGFycmF5ICRvcHRpb25zLCBzdHJpbmcgJGF1dGhvcml0eSk6IFxDbG9zdXJlCiAgICB7CiAgICAgICAgJHJlZGlyZWN0SGVhZGVycyA9IFtdOwogICAgICAgIGlmICgwIDwgJG9wdGlvbnNbJ21heF9yZWRpcmVjdHMnXSkgewogICAgICAgICAgICAkcmVkaXJlY3RIZWFkZXJzWydhdXRob3JpdHknXSA9ICRhdXRob3JpdHk7CiAgICAgICAgICAgICRyZWRpcmVjdEhlYWRlcnNbJ3dpdGhfYXV0aCddID0gJHJlZGlyZWN0SGVhZGVyc1snbm9fYXV0aCddID0gYXJyYXlfZmlsdGVyKCRvcHRpb25zWydoZWFkZXJzJ10sIHN0YXRpYyBmbiAoJGgpID0+IDAgIT09IHN0cmlwb3MoJGgsICdIb3N0OicpKTsKCiAgICAgICAgICAgIGlmIChpc3NldCgkb3B0aW9uc1snbm9ybWFsaXplZF9oZWFkZXJzJ11bJ2F1dGhvcml6YXRpb24nXVswXSkgfHwgaXNzZXQoJG9wdGlvbnNbJ25vcm1hbGl6ZWRfaGVhZGVycyddWydjb29raWUnXVswXSkpIHsKICAgICAgICAgICAgICAgICRyZWRpcmVjdEhlYWRlcnNbJ25vX2F1dGgnXSA9IGFycmF5X2ZpbHRlcigkb3B0aW9uc1snaGVhZGVycyddLCBzdGF0aWMgZm4gKCRoKSA9PiAwICE9PSBzdHJpcG9zKCRoLCAnQXV0aG9yaXphdGlvbjonKSAmJiAwICE9PSBzdHJpcG9zKCRoLCAnQ29va2llOicpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHN0YXRpYyBmdW5jdGlvbiAoJGNoLCBzdHJpbmcgJGxvY2F0aW9uLCBib29sICRub0NvbnRlbnQpIHVzZSAoJiRyZWRpcmVjdEhlYWRlcnMsICRvcHRpb25zKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAkbG9jYXRpb24gPSBzZWxmOjpwYXJzZVVybCgkbG9jYXRpb24pOwogICAgICAgICAgICAgICAgJHVybCA9IHNlbGY6OnBhcnNlVXJsKGN1cmxfZ2V0aW5mbygkY2gsIFxDVVJMSU5GT19FRkZFQ1RJVkVfVVJMKSk7CiAgICAgICAgICAgICAgICAkdXJsID0gc2VsZjo6cmVzb2x2ZVVybCgkbG9jYXRpb24sICR1cmwpOwogICAgICAgICAgICB9IGNhdGNoIChJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24pIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoJG5vQ29udGVudCAmJiAkcmVkaXJlY3RIZWFkZXJzKSB7CiAgICAgICAgICAgICAgICAkZmlsdGVyQ29udGVudEhlYWRlcnMgPSBzdGF0aWMgZm4gKCRoKSA9PiAwICE9PSBzdHJpcG9zKCRoLCAnQ29udGVudC1MZW5ndGg6JykgJiYgMCAhPT0gc3RyaXBvcygkaCwgJ0NvbnRlbnQtVHlwZTonKSAmJiAwICE9PSBzdHJpcG9zKCRoLCAnVHJhbnNmZXItRW5jb2Rpbmc6Jyk7CiAgICAgICAgICAgICAgICAkcmVkaXJlY3RIZWFkZXJzWydub19hdXRoJ10gPSBhcnJheV9maWx0ZXIoJHJlZGlyZWN0SGVhZGVyc1snbm9fYXV0aCddLCAkZmlsdGVyQ29udGVudEhlYWRlcnMpOwogICAgICAgICAgICAgICAgJHJlZGlyZWN0SGVhZGVyc1snd2l0aF9hdXRoJ10gPSBhcnJheV9maWx0ZXIoJHJlZGlyZWN0SGVhZGVyc1snd2l0aF9hdXRoJ10sICRmaWx0ZXJDb250ZW50SGVhZGVycyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkcmVkaXJlY3RIZWFkZXJzICYmIGlzc2V0KCRsb2NhdGlvblsnYXV0aG9yaXR5J10pKSB7CiAgICAgICAgICAgICAgICAkcmVxdWVzdEhlYWRlcnMgPSAkbG9jYXRpb25bJ2F1dGhvcml0eSddID09PSAkcmVkaXJlY3RIZWFkZXJzWydhdXRob3JpdHknXSA/ICRyZWRpcmVjdEhlYWRlcnNbJ3dpdGhfYXV0aCddIDogJHJlZGlyZWN0SGVhZGVyc1snbm9fYXV0aCddOwogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBcQ1VSTE9QVF9IVFRQSEVBREVSLCAkcmVxdWVzdEhlYWRlcnMpOwogICAgICAgICAgICB9IGVsc2VpZiAoJG5vQ29udGVudCAmJiAkcmVkaXJlY3RIZWFkZXJzKSB7CiAgICAgICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIFxDVVJMT1BUX0hUVFBIRUFERVIsICRyZWRpcmVjdEhlYWRlcnNbJ3dpdGhfYXV0aCddKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHByb3h5ID0gc2VsZjo6Z2V0UHJveHlVcmwoJG9wdGlvbnNbJ3Byb3h5J10sICR1cmwpOwogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIFxDVVJMT1BUX1BST1hZLCAkcHJveHkpOwoKICAgICAgICAgICAgaWYgKFxkZWZpbmVkKCdDVVJMX0hUVFBfVkVSU0lPTl8zJykgJiYgXENVUkxfSFRUUF9WRVJTSU9OXzMgPT09IGN1cmxfZ2V0aW5mbygkY2gsIFxDVVJMSU5GT19IVFRQX1ZFUlNJT04pICYmIHNlbGY6OndpbGxVc2VQcm94eSgkcHJveHksICRvcHRpb25zWydub19wcm94eSddID8/ICRfU0VSVkVSWydub19wcm94eSddID8/ICRfU0VSVkVSWydOT19QUk9YWSddID8/ICcnLCBwYXJzZV91cmwoJHVybFsnYXV0aG9yaXR5J10sIFxQSFBfVVJMX0hPU1QpKSkgewogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBcQ1VSTE9QVF9IVFRQX1ZFUlNJT04sIFxkZWZpbmVkKCdDVVJMX0hUVFBfVkVSU0lPTl8yXzAnKSA/IFxDVVJMX0hUVFBfVkVSU0lPTl8yXzAgOiBcQ1VSTF9IVFRQX1ZFUlNJT05fMV8xKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGltcGxvZGUoJycsICR1cmwpOwogICAgICAgIH07CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBmaW5kQ29uc3RhbnROYW1lKGludCAkb3B0KTogP3N0cmluZwogICAgewogICAgICAgICRjb25zdGFudHMgPSBhcnJheV9maWx0ZXIoZ2V0X2RlZmluZWRfY29uc3RhbnRzKCksIHN0YXRpYyBmbiAoJHYsICRrKSA9PiAkdiA9PT0gJG9wdCAmJiAnQycgPT09ICRrWzBdICYmIChzdHJfc3RhcnRzX3dpdGgoJGssICdDVVJMT1BUXycpIHx8IHN0cl9zdGFydHNfd2l0aCgkaywgJ0NVUkxJTkZPXycpKSwgXEFSUkFZX0ZJTFRFUl9VU0VfQk9USCk7CgogICAgICAgIHJldHVybiBrZXkoJGNvbnN0YW50cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBQcmV2ZW50cyBvdmVycmlkaW5nIG9wdGlvbnMgdGhhdCBhcmUgc2V0IGludGVybmFsbHkgdGhyb3VnaG91dCB0aGUgcmVxdWVzdC4KICAgICAqLwogICAgcHJpdmF0ZSBmdW5jdGlvbiB2YWxpZGF0ZUV4dHJhQ3VybE9wdGlvbnMoYXJyYXkgJG9wdGlvbnMpOiB2b2lkCiAgICB7CiAgICAgICAgJGN1cmxvcHRzVG9Db25maWcgPSBbCiAgICAgICAgICAgIC8vIG9wdGlvbnMgdXNlZCBpbiBDdXJsSHR0cENsaWVudAogICAgICAgICAgICBcQ1VSTE9QVF9IVFRQQVVUSCA9PiAnYXV0aF9udGxtJywKICAgICAgICAgICAgXENVUkxPUFRfVVNFUlBXRCA9PiAnYXV0aF9udGxtJywKICAgICAgICAgICAgXENVUkxPUFRfUkVTT0xWRSA9PiAncmVzb2x2ZScsCiAgICAgICAgICAgIFxDVVJMT1BUX05PU0lHTkFMID0+ICd0aW1lb3V0JywKICAgICAgICAgICAgXENVUkxPUFRfSFRUUEhFQURFUiA9PiAnaGVhZGVycycsCiAgICAgICAgICAgIFxDVVJMT1BUX1JFQUREQVRBID0+ICdib2R5JywKICAgICAgICAgICAgXENVUkxPUFRfUkVBREZVTkNUSU9OID0+ICdib2R5JywKICAgICAgICAgICAgXENVUkxPUFRfSU5GSUxFU0laRSA9PiAnYm9keScsCiAgICAgICAgICAgIFxDVVJMT1BUX1BPU1RGSUVMRFMgPT4gJ2JvZHknLAogICAgICAgICAgICBcQ1VSTE9QVF9VUExPQUQgPT4gJ2JvZHknLAogICAgICAgICAgICBcQ1VSTE9QVF9JTlRFUkZBQ0UgPT4gJ2JpbmR0bycsCiAgICAgICAgICAgIFxDVVJMT1BUX1RJTUVPVVRfTVMgPT4gJ21heF9kdXJhdGlvbicsCiAgICAgICAgICAgIFxDVVJMT1BUX1RJTUVPVVQgPT4gJ21heF9kdXJhdGlvbicsCiAgICAgICAgICAgIFxDVVJMT1BUX01BWFJFRElSUyA9PiAnbWF4X3JlZGlyZWN0cycsCiAgICAgICAgICAgIFxDVVJMT1BUX1BPU1RSRURJUiA9PiAnbWF4X3JlZGlyZWN0cycsCiAgICAgICAgICAgIFxDVVJMT1BUX1BST1hZID0+ICdwcm94eScsCiAgICAgICAgICAgIFxDVVJMT1BUX05PUFJPWFkgPT4gJ25vX3Byb3h5JywKICAgICAgICAgICAgXENVUkxPUFRfU1NMX1ZFUklGWVBFRVIgPT4gJ3ZlcmlmeV9wZWVyJywKICAgICAgICAgICAgXENVUkxPUFRfU1NMX1ZFUklGWUhPU1QgPT4gJ3ZlcmlmeV9ob3N0JywKICAgICAgICAgICAgXENVUkxPUFRfQ0FJTkZPID0+ICdjYWZpbGUnLAogICAgICAgICAgICBcQ1VSTE9QVF9DQVBBVEggPT4gJ2NhcGF0aCcsCiAgICAgICAgICAgIFxDVVJMT1BUX1NTTF9DSVBIRVJfTElTVCA9PiAnY2lwaGVycycsCiAgICAgICAgICAgIFxDVVJMT1BUX1NTTENFUlQgPT4gJ2xvY2FsX2NlcnQnLAogICAgICAgICAgICBcQ1VSTE9QVF9TU0xLRVkgPT4gJ2xvY2FsX3BrJywKICAgICAgICAgICAgXENVUkxPUFRfS0VZUEFTU1dEID0+ICdwYXNzcGhyYXNlJywKICAgICAgICAgICAgXENVUkxPUFRfQ0VSVElORk8gPT4gJ2NhcHR1cmVfcGVlcl9jZXJ0X2NoYWluJywKICAgICAgICAgICAgXENVUkxPUFRfVVNFUkFHRU5UID0+ICdub3JtYWxpemVkX2hlYWRlcnMnLAogICAgICAgICAgICBcQ1VSTE9QVF9SRUZFUkVSID0+ICdoZWFkZXJzJywKICAgICAgICAgICAgLy8gb3B0aW9ucyB1c2VkIGluIEN1cmxSZXNwb25zZQogICAgICAgICAgICBcQ1VSTE9QVF9OT1BST0dSRVNTID0+ICdvbl9wcm9ncmVzcycsCiAgICAgICAgICAgIFxDVVJMT1BUX1BST0dSRVNTRlVOQ1RJT04gPT4gJ29uX3Byb2dyZXNzJywKICAgICAgICBdOwoKICAgICAgICBpZiAoXGRlZmluZWQoJ0NVUkxPUFRfVU5JWF9TT0NLRVRfUEFUSCcpKSB7CiAgICAgICAgICAgICRjdXJsb3B0c1RvQ29uZmlnW1xDVVJMT1BUX1VOSVhfU09DS0VUX1BBVEhdID0gJ2JpbmR0byc7CiAgICAgICAgfQoKICAgICAgICBpZiAoXGRlZmluZWQoJ0NVUkxPUFRfUElOTkVEUFVCTElDS0VZJykpIHsKICAgICAgICAgICAgJGN1cmxvcHRzVG9Db25maWdbXENVUkxPUFRfUElOTkVEUFVCTElDS0VZXSA9ICdwZWVyX2ZpbmdlcnByaW50JzsKICAgICAgICB9CgogICAgICAgICRjdXJsb3B0c1RvQ2hlY2sgPSBbCiAgICAgICAgICAgIFxDVVJMT1BUX1BSSVZBVEUsCiAgICAgICAgICAgIFxDVVJMT1BUX0hFQURFUkZVTkNUSU9OLAogICAgICAgICAgICBcQ1VSTE9QVF9XUklURUZVTkNUSU9OLAogICAgICAgICAgICBcQ1VSTE9QVF9WRVJCT1NFLAogICAgICAgICAgICBcQ1VSTE9QVF9TVERFUlIsCiAgICAgICAgICAgIFxDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLAogICAgICAgICAgICBcQ1VSTE9QVF9VUkwsCiAgICAgICAgICAgIFxDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLAogICAgICAgICAgICBcQ1VSTE9QVF9IRUFERVIsCiAgICAgICAgICAgIFxDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULAogICAgICAgICAgICBcQ1VSTE9QVF9DT05ORUNUVElNRU9VVF9NUywKICAgICAgICAgICAgXENVUkxPUFRfSFRUUF9WRVJTSU9OLAogICAgICAgICAgICBcQ1VSTE9QVF9QT1JULAogICAgICAgICAgICBcQ1VSTE9QVF9ETlNfVVNFX0dMT0JBTF9DQUNIRSwKICAgICAgICAgICAgXENVUkxPUFRfUFJPVE9DT0xTLAogICAgICAgICAgICBcQ1VSTE9QVF9SRURJUl9QUk9UT0NPTFMsCiAgICAgICAgICAgIFxDVVJMT1BUX0NPT0tJRUZJTEUsCiAgICAgICAgICAgIFxDVVJMSU5GT19SRURJUkVDVF9DT1VOVCwKICAgICAgICBdOwoKICAgICAgICBpZiAoXGRlZmluZWQoJ0NVUkxPUFRfSFRUUDA5X0FMTE9XRUQnKSkgewogICAgICAgICAgICAkY3VybG9wdHNUb0NoZWNrW10gPSBcQ1VSTE9QVF9IVFRQMDlfQUxMT1dFRDsKICAgICAgICB9CgogICAgICAgIGlmIChcZGVmaW5lZCgnQ1VSTE9QVF9IRUFERVJPUFQnKSkgewogICAgICAgICAgICAkY3VybG9wdHNUb0NoZWNrW10gPSBcQ1VSTE9QVF9IRUFERVJPUFQ7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAkb3B0ID0+ICRvcHRWYWx1ZSkgewogICAgICAgICAgICBpZiAoaXNzZXQoJGN1cmxvcHRzVG9Db25maWdbJG9wdF0pKSB7CiAgICAgICAgICAgICAgICAkY29uc3ROYW1lID0gJHRoaXMtPmZpbmRDb25zdGFudE5hbWUoJG9wdCkgPz8gJG9wdDsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oXHNwcmludGYoJ0Nhbm5vdCBzZXQgIiVzIiB3aXRoICJleHRyYS5jdXJsIiwgdXNlIG9wdGlvbiAiJXMiIGluc3RlYWQuJywgJGNvbnN0TmFtZSwgJGN1cmxvcHRzVG9Db25maWdbJG9wdF0pKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKFxpbl9hcnJheSgkb3B0LCBbXENVUkxPUFRfUE9TVCwgXENVUkxPUFRfUFVULCBcQ1VSTE9QVF9DVVNUT01SRVFVRVNULCBcQ1VSTE9QVF9IVFRQR0VULCBcQ1VSTE9QVF9OT0JPRFldLCB0cnVlKSkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignVGhlIEhUVFAgbWV0aG9kIGNhbm5vdCBiZSBvdmVycmlkZGVuIHVzaW5nICJleHRyYS5jdXJsIi4nKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKFxpbl9hcnJheSgkb3B0LCAkY3VybG9wdHNUb0NoZWNrLCB0cnVlKSkgewogICAgICAgICAgICAgICAgJGNvbnN0TmFtZSA9ICR0aGlzLT5maW5kQ29uc3RhbnROYW1lKCRvcHQpID8/ICRvcHQ7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKFxzcHJpbnRmKCdDYW5ub3Qgc2V0ICIlcyIgd2l0aCAiZXh0cmEuY3VybCIuJywgJGNvbnN0TmFtZSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIHdpbGxVc2VQcm94eSg/c3RyaW5nICRwcm94eSwgc3RyaW5nICRub1Byb3h5LCBzdHJpbmcgJGhvc3QpOiBib29sCiAgICB7CiAgICAgICAgaWYgKG51bGwgPT09ICRwcm94eSkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoJycgPT09ICRub1Byb3h5KSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KCiAgICAgICAgZm9yZWFjaCAocHJlZ19zcGxpdCgnL1tccyxdKy8nLCAkbm9Qcm94eSkgYXMgJHJ1bGUpIHsKICAgICAgICAgICAgJGRvdFJ1bGUgPSAnLicubHRyaW0oJHJ1bGUsICcuJyk7CgogICAgICAgICAgICBpZiAoJyonID09PSAkcnVsZSB8fCAkaG9zdCA9PT0gJHJ1bGUgfHwgc3RyX2VuZHNfd2l0aCgkaG9zdCwgJGRvdFJ1bGUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiB0cnVlOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";