1778692614
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A367629b20d1da96a2be2b1f17e013a78-f17cdb6d7621c5ebfbc0d9aaac220a4d
s:19436:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIwOiJJbnN0YWxsYXRpb25UZXN0LnBocCI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6MzE6IlxQaGFySW9cQ29tcG9zZXJEaXN0cmlidXRvclRlc3QiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMToiXFBoYXJJb1xDb21wb3NlckRpc3RyaWJ1dG9yVGVzdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIzOiJDb21wb3NlckRpc3RyaWJ1dG9yVGVzdCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjQ4OiJcUGhhcklvXENvbXBvc2VyRGlzdHJpYnV0b3JUZXN0XEluc3RhbGxhdGlvblRlc3QiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxNTp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTo0OntzOjg5OiJcUGhhcklvXENvbXBvc2VyRGlzdHJpYnV0b3JUZXN0XEluc3RhbGxhdGlvblRlc3Q6OnRlc3RJbnN0YWxsYXRpb25XaXRob3V0U2lnbmF0dXJlV29ya3MoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjU0Mzt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxOTY3O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODk6IlxQaGFySW9cQ29tcG9zZXJEaXN0cmlidXRvclRlc3RcSW5zdGFsbGF0aW9uVGVzdDo6dGVzdEluc3RhbGxhdGlvbldpdGhvdXRTaWduYXR1cmVXb3JrcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mzc6InRlc3RJbnN0YWxsYXRpb25XaXRob3V0U2lnbmF0dXJlV29ya3MiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo4NjoiXFBoYXJJb1xDb21wb3NlckRpc3RyaWJ1dG9yVGVzdFxJbnN0YWxsYXRpb25UZXN0Ojp0ZXN0SW5zdGFsbGF0aW9uV2l0aFNpZ25hdHVyZVdvcmtzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxOTc0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjMzOTI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo4NjoiXFBoYXJJb1xDb21wb3NlckRpc3RyaWJ1dG9yVGVzdFxJbnN0YWxsYXRpb25UZXN0Ojp0ZXN0SW5zdGFsbGF0aW9uV2l0aFNpZ25hdHVyZVdvcmtzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozNDoidGVzdEluc3RhbGxhdGlvbldpdGhTaWduYXR1cmVXb3JrcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjkyOiJcUGhhcklvXENvbXBvc2VyRGlzdHJpYnV0b3JUZXN0XEluc3RhbGxhdGlvblRlc3Q6OnRlc3RJbnN0YWxsYXRpb25XaXRoRmF1bHR5U2lnbmF0dXJlRmFpbHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjMzOTk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTE4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjQ4MjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo5MjoiXFBoYXJJb1xDb21wb3NlckRpc3RyaWJ1dG9yVGVzdFxJbnN0YWxsYXRpb25UZXN0Ojp0ZXN0SW5zdGFsbGF0aW9uV2l0aEZhdWx0eVNpZ25hdHVyZUZhaWxzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0MDoidGVzdEluc3RhbGxhdGlvbldpdGhGYXVsdHlTaWduYXR1cmVGYWlscyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX1zOjU3OiJcUGhhcklvXENvbXBvc2VyRGlzdHJpYnV0b3JUZXN0XEluc3RhbGxhdGlvblRlc3Q6OnNldFVwKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDgyNzt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NTE1ODt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU3OiJcUGhhcklvXENvbXBvc2VyRGlzdHJpYnV0b3JUZXN0XEluc3RhbGxhdGlvblRlc3Q6OnNldFVwKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJzZXRVcCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGF0dHJpYnV0ZXMiO2E6MDp7fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMzQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDg6IlxQaGFySW9cQ29tcG9zZXJEaXN0cmlidXRvclRlc3RcSW5zdGFsbGF0aW9uVGVzdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJJbnN0YWxsYXRpb25UZXN0Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXFBIUFVuaXRcRnJhbWV3b3JrXFRlc3RDYXNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiVGVzdENhc2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZmluYWwiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcmVhZE9ubHkiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBhdHRyaWJ1dGVzIjthOjA6e319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fXM6NDA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZW51bXMiO2E6MDp7fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaGFzaCI7czozMjoiZjE3Y2RiNmQ3NjIxYzVlYmZiYzBkOWFhYWMyMjBhNGQiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo3NDoidmVuZG9yL3BoYXItaW8vY29tcG9zZXItZGlzdHJpYnV0b3IvdGVzdHMvaW50ZWdyYXRpb24vSW5zdGFsbGF0aW9uVGVzdC5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjUxNjI6Ijw/cGhwCgpkZWNsYXJlKHN0cmljdF90eXBlcz0xKTsKCm5hbWVzcGFjZSBQaGFySW9cQ29tcG9zZXJEaXN0cmlidXRvclRlc3Q7Cgp1c2UgQ29tcG9zZXJcQ29tcG9zZXI7CnVzZSBDb21wb3NlclxDb25maWc7CnVzZSBDb21wb3NlclxEZXBlbmRlbmN5UmVzb2x2ZXJcT3BlcmF0aW9uXEluc3RhbGxPcGVyYXRpb247CnVzZSBDb21wb3NlclxJbnN0YWxsZXJcUGFja2FnZUV2ZW50Owp1c2UgQ29tcG9zZXJcSU9cSU9JbnRlcmZhY2U7CnVzZSBDb21wb3NlclxQYWNrYWdlXFBhY2thZ2U7CnVzZSBFeGNlcHRpb247CnVzZSBQaGFySW9cQ29tcG9zZXJEaXN0cmlidXRvclxDb25maWd1cmVkTWVkaWF0b3I7CnVzZSBQSFBVbml0XEZyYW1ld29ya1xUZXN0Q2FzZTsKdXNlIGZ1bmN0aW9uIGZpbGVfZXhpc3RzOwp1c2UgZnVuY3Rpb24gZ2V0ZW52Owp1c2UgZnVuY3Rpb24gc3lzX2dldF90ZW1wX2RpcjsKdXNlIGZ1bmN0aW9uIHVubGluazsKdXNlIGZ1bmN0aW9uIHZhcl9kdW1wOwoKY2xhc3MgSW5zdGFsbGF0aW9uVGVzdCBleHRlbmRzIFRlc3RDYXNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5zdGFsbGF0aW9uV2l0aG91dFNpZ25hdHVyZVdvcmtzKCk6IHZvaWQKICAgIHsKICAgICAgICAkY2xhc3MgPSBuZXcgY2xhc3MoKSBleHRlbmRzIENvbmZpZ3VyZWRNZWRpYXRvciB7CiAgICAgICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREaXN0cmlidXRvckNvbmZpZygpIDogc3RyaW5nCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBfX0RJUl9fIC4gJy9fYXNzZXRzL2luc3RhbGxXaXRob3V0U2lnbmF0dXJlLnhtbCc7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAkY29tcG9zZXIgICAgID0gc2VsZjo6Y3JlYXRlTW9jayhDb21wb3Nlcjo6Y2xhc3MpOwogICAgICAgICRpb0ludGVyZmFjZSAgPSBzZWxmOjpjcmVhdGVNb2NrKElPSW50ZXJmYWNlOjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2VFdmVudCA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZUV2ZW50OjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2UgICAgICA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZTo6Y2xhc3MpOwogICAgICAgICRjb25maWcgICAgICAgPSBzZWxmOjpjcmVhdGVNb2NrKENvbmZpZzo6Y2xhc3MpOwogICAgICAgICRvcGVyYXRpb24gICAgPSBzZWxmOjpjcmVhdGVNb2NrKEluc3RhbGxPcGVyYXRpb246OmNsYXNzKTsKICAgICAgICAkY29uZmlnLT5tZXRob2QoJ2dldCcpLT53aXRoKCdiaW4tZGlyJyktPndpbGxSZXR1cm4oX19ESVJfXyAuICcvX2Fzc2V0cycpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRDb25maWcnKS0+d2lsbFJldHVybigkY29uZmlnKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXROYW1lJyktPndpbGxSZXR1cm4oJ2Zvby9iYXInKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXRGdWxsUHJldHR5VmVyc2lvbicpLT53aWxsUmV0dXJuKCcwLjUuMCcpOwogICAgICAgICRwYWNrYWdlRXZlbnQtPm1ldGhvZCgnZ2V0T3BlcmF0aW9uJyktPndpbGxSZXR1cm4oJG9wZXJhdGlvbik7CiAgICAgICAgJHBhY2thZ2VFdmVudC0+bWV0aG9kKCdnZXRDb21wb3NlcicpLT53aWxsUmV0dXJuKCRjb21wb3Nlcik7CiAgICAgICAgJG9wZXJhdGlvbi0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwoKICAgICAgICAkY2xhc3MtPmFjdGl2YXRlKCRjb21wb3NlciwgJGlvSW50ZXJmYWNlKTsKICAgICAgICAkY2xhc3MtPmluc3RhbGxPclVwZGF0ZUZ1bmN0aW9uKCRwYWNrYWdlRXZlbnQpOwoKICAgICAgICBzZWxmOjphc3NlcnRGaWxlRXhpc3RzKF9fRElSX18gLiAnL19hc3NldHMvZm9vJyk7CgogICAgICAgIHVubGluayhfX0RJUl9fIC4gJy9fYXNzZXRzL2ZvbycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5zdGFsbGF0aW9uV2l0aFNpZ25hdHVyZVdvcmtzKCk6IHZvaWQKICAgIHsKICAgICAgICAkY2xhc3MgPSBuZXcgY2xhc3MoKSBleHRlbmRzIENvbmZpZ3VyZWRNZWRpYXRvciB7CiAgICAgICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREaXN0cmlidXRvckNvbmZpZygpIDogc3RyaW5nCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBfX0RJUl9fIC4gJy9fYXNzZXRzL2luc3RhbGxXaXRoU2lnbmF0dXJlLnhtbCc7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAkY29tcG9zZXIgICAgID0gc2VsZjo6Y3JlYXRlTW9jayhDb21wb3Nlcjo6Y2xhc3MpOwogICAgICAgICRpb0ludGVyZmFjZSAgPSBzZWxmOjpjcmVhdGVNb2NrKElPSW50ZXJmYWNlOjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2VFdmVudCA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZUV2ZW50OjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2UgICAgICA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZTo6Y2xhc3MpOwogICAgICAgICRjb25maWcgICAgICAgPSBzZWxmOjpjcmVhdGVNb2NrKENvbmZpZzo6Y2xhc3MpOwogICAgICAgICRvcGVyYXRpb24gICAgPSBzZWxmOjpjcmVhdGVNb2NrKEluc3RhbGxPcGVyYXRpb246OmNsYXNzKTsKICAgICAgICAkY29uZmlnLT5tZXRob2QoJ2dldCcpLT53aXRoKCdiaW4tZGlyJyktPndpbGxSZXR1cm4oX19ESVJfXyAuICcvX2Fzc2V0cycpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRDb25maWcnKS0+d2lsbFJldHVybigkY29uZmlnKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXROYW1lJyktPndpbGxSZXR1cm4oJ2Zvby9iYXInKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXRGdWxsUHJldHR5VmVyc2lvbicpLT53aWxsUmV0dXJuKCcwLjUuMCcpOwogICAgICAgICRwYWNrYWdlRXZlbnQtPm1ldGhvZCgnZ2V0T3BlcmF0aW9uJyktPndpbGxSZXR1cm4oJG9wZXJhdGlvbik7CiAgICAgICAgJHBhY2thZ2VFdmVudC0+bWV0aG9kKCdnZXRDb21wb3NlcicpLT53aWxsUmV0dXJuKCRjb21wb3Nlcik7CiAgICAgICAgJG9wZXJhdGlvbi0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwoKICAgICAgICAkY2xhc3MtPmFjdGl2YXRlKCRjb21wb3NlciwgJGlvSW50ZXJmYWNlKTsKICAgICAgICAkY2xhc3MtPmluc3RhbGxPclVwZGF0ZUZ1bmN0aW9uKCRwYWNrYWdlRXZlbnQpOwoKICAgICAgICBzZWxmOjphc3NlcnRGaWxlRXhpc3RzKF9fRElSX18gLiAnL19hc3NldHMvZm9vJyk7CgogICAgICAgIHVubGluayhfX0RJUl9fIC4gJy9fYXNzZXRzL2ZvbycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0SW5zdGFsbGF0aW9uV2l0aEZhdWx0eVNpZ25hdHVyZUZhaWxzKCk6IHZvaWQKICAgIHsKICAgICAgICAkY2xhc3MgPSBuZXcgY2xhc3MoKSBleHRlbmRzIENvbmZpZ3VyZWRNZWRpYXRvciB7CiAgICAgICAgICAgIHByb3RlY3RlZCBmdW5jdGlvbiBnZXREaXN0cmlidXRvckNvbmZpZygpIDogc3RyaW5nCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHJldHVybiBfX0RJUl9fIC4gJy9fYXNzZXRzL2luc3RhbGxXaXRoRmF1bHR5U2lnbmF0dXJlLnhtbCc7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAkY29tcG9zZXIgICAgID0gc2VsZjo6Y3JlYXRlTW9jayhDb21wb3Nlcjo6Y2xhc3MpOwogICAgICAgICRpb0ludGVyZmFjZSAgPSBzZWxmOjpjcmVhdGVNb2NrKElPSW50ZXJmYWNlOjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2VFdmVudCA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZUV2ZW50OjpjbGFzcyk7CiAgICAgICAgJHBhY2thZ2UgICAgICA9IHNlbGY6OmNyZWF0ZU1vY2soUGFja2FnZTo6Y2xhc3MpOwogICAgICAgICRjb25maWcgICAgICAgPSBzZWxmOjpjcmVhdGVNb2NrKENvbmZpZzo6Y2xhc3MpOwogICAgICAgICRvcGVyYXRpb24gICAgPSBzZWxmOjpjcmVhdGVNb2NrKEluc3RhbGxPcGVyYXRpb246OmNsYXNzKTsKICAgICAgICAkY29uZmlnLT5tZXRob2QoJ2dldCcpLT53aXRoKCdiaW4tZGlyJyktPndpbGxSZXR1cm4oX19ESVJfXyAuICcvX2Fzc2V0cycpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwogICAgICAgICRjb21wb3Nlci0+bWV0aG9kKCdnZXRDb25maWcnKS0+d2lsbFJldHVybigkY29uZmlnKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXROYW1lJyktPndpbGxSZXR1cm4oJ2Zvby9iYXInKTsKICAgICAgICAkcGFja2FnZS0+bWV0aG9kKCdnZXRGdWxsUHJldHR5VmVyc2lvbicpLT53aWxsUmV0dXJuKCcwLjUuMCcpOwogICAgICAgICRwYWNrYWdlRXZlbnQtPm1ldGhvZCgnZ2V0T3BlcmF0aW9uJyktPndpbGxSZXR1cm4oJG9wZXJhdGlvbik7CiAgICAgICAgJHBhY2thZ2VFdmVudC0+bWV0aG9kKCdnZXRDb21wb3NlcicpLT53aWxsUmV0dXJuKCRjb21wb3Nlcik7CiAgICAgICAgJG9wZXJhdGlvbi0+bWV0aG9kKCdnZXRQYWNrYWdlJyktPndpbGxSZXR1cm4oJHBhY2thZ2UpOwoKICAgICAgICBzZWxmOjpleHBlY3RFeGNlcHRpb24oRXhjZXB0aW9uOjpjbGFzcyk7CgogICAgICAgICRjbGFzcy0+YWN0aXZhdGUoJGNvbXBvc2VyLCAkaW9JbnRlcmZhY2UpOwogICAgICAgICRjbGFzcy0+aW5zdGFsbE9yVXBkYXRlRnVuY3Rpb24oJHBhY2thZ2VFdmVudCk7CgogICAgICAgIHVubGluayhfX0RJUl9fIC4gJy9fYXNzZXRzL2ZvbycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRVcCgpIDogdm9pZAogICAgewogICAgICAgIHBhcmVudDo6c2V0VXAoKTsKCiAgICAgICAgJGdwZ0hvbWUgPSBnZXRlbnYoJ0dOVVBHSE9NRScpOwoKICAgICAgICBpZiAoZmlsZV9leGlzdHMoJGdwZ0hvbWUgLiAnL3RydXN0ZGIuZ3BnJykpIHsKICAgICAgICAgICAgdW5saW5rKCRncGdIb21lIC4gJy90cnVzdGRiLmdwZycpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGZpbGVfZXhpc3RzKCRncGdIb21lIC4gJy9wdWJyaW5nLmtieCcpKSB7CiAgICAgICAgICAgIHVubGluaygkZ3BnSG9tZSAuICcvcHVicmluZy5rYngnKTsKICAgICAgICB9CiAgICB9Cn0KIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";