1778692587
441d63ebbc39eba359c9061ece8482bd-phpdoc%3Aaefc0d747ffa24d3d31ae6b862288a06-4c9e050973d0d0ead26454992e869c28
s:14796:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjIxOiJGb290bm90ZUV4dGVuc2lvbi5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjM3OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzc6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJGb290bm90ZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjU1OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEZvb3Rub3RlRXh0ZW5zaW9uIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXyI6MTU6e3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBpbXBsZW1lbnRzIjthOjE6e3M6NTk6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29uZmlndXJhYmxlRXh0ZW5zaW9uSW50ZXJmYWNlIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTk6IlxMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29uZmlndXJhYmxlRXh0ZW5zaW9uSW50ZXJmYWNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MzA6IkNvbmZpZ3VyYWJsZUV4dGVuc2lvbkludGVyZmFjZSI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AY29uc3RhbnRzIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGhvZHMiO2E6Mjp7czo3NDoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxGb290bm90ZUV4dGVuc2lvbjo6Y29uZmlndXJlU2NoZW1hKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcTGVhZ3VlXENvbmZpZ1xDb25maWd1cmF0aW9uQnVpbGRlckludGVyZmFjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI5OiJDb25maWd1cmF0aW9uQnVpbGRlckludGVyZmFjZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6ImJ1aWxkZXIiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE3MzU7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MjM2OTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjc0OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEZvb3Rub3RlRXh0ZW5zaW9uOjpjb25maWd1cmVTY2hlbWEoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJjb25maWd1cmVTY2hlbWEiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo2NzoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxGb290bm90ZUV4dGVuc2lvbjo6cmVnaXN0ZXIoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxMZWFndWVcQ29tbW9uTWFya1xFbnZpcm9ubWVudFxFbnZpcm9ubWVudEJ1aWxkZXJJbnRlcmZhY2UiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNzoiRW52aXJvbm1lbnRCdWlsZGVySW50ZXJmYWNlIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImVudmlyb25tZW50IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToyMzc2O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjM1Mzc7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NzoiXExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxGb290bm90ZUV4dGVuc2lvbjo6cmVnaXN0ZXIoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjg6InJlZ2lzdGVyIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjcwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU1OiJcTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEZvb3Rub3RlRXh0ZW5zaW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6IkZvb3Rub3RlRXh0ZW5zaW9uIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtOO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwYXJlbnQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjE7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjRjOWUwNTA5NzNkMGQwZWFkMjY0NTQ5OTJlODY5YzI4IjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6Njk6InZlbmRvci9sZWFndWUvY29tbW9ubWFyay9zcmMvRXh0ZW5zaW9uL0Zvb3Rub3RlL0Zvb3Rub3RlRXh0ZW5zaW9uLnBocCI7czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBzb3VyY2UiO3M6MzU0MToiPD9waHAKCi8qCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBsZWFndWUvY29tbW9ubWFyayBwYWNrYWdlLgogKgogKiAoYykgQ29saW4gTydEZWxsIDxjb2xpbm9kZWxsQGdtYWlsLmNvbT4KICogKGMpIFJlem8gWmVybyAvIEFtYnJvaXNlIE1hdXBhdGUKICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgpuYW1lc3BhY2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlOwoKdXNlIExlYWd1ZVxDb21tb25NYXJrXEVudmlyb25tZW50XEVudmlyb25tZW50QnVpbGRlckludGVyZmFjZTsKdXNlIExlYWd1ZVxDb21tb25NYXJrXEV2ZW50XERvY3VtZW50UGFyc2VkRXZlbnQ7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cQ29uZmlndXJhYmxlRXh0ZW5zaW9uSW50ZXJmYWNlOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEV2ZW50XEFub255bW91c0Zvb3Rub3Rlc0xpc3RlbmVyOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEV2ZW50XEZpeE9ycGhhbmVkRm9vdG5vdGVzQW5kUmVmc0xpc3RlbmVyOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEV2ZW50XEdhdGhlckZvb3Rub3Rlc0xpc3RlbmVyOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXEV2ZW50XE51bWJlckZvb3Rub3Rlc0xpc3RlbmVyOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXE5vZGVcRm9vdG5vdGU7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGVcTm9kZVxGb290bm90ZUJhY2tyZWY7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGVcTm9kZVxGb290bm90ZUNvbnRhaW5lcjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxOb2RlXEZvb3Rub3RlUmVmOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXFBhcnNlclxBbm9ueW1vdXNGb290bm90ZVJlZlBhcnNlcjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxQYXJzZXJcRm9vdG5vdGVSZWZQYXJzZXI7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGVcUGFyc2VyXEZvb3Rub3RlU3RhcnRQYXJzZXI7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGVcUmVuZGVyZXJcRm9vdG5vdGVCYWNrcmVmUmVuZGVyZXI7CnVzZSBMZWFndWVcQ29tbW9uTWFya1xFeHRlbnNpb25cRm9vdG5vdGVcUmVuZGVyZXJcRm9vdG5vdGVDb250YWluZXJSZW5kZXJlcjsKdXNlIExlYWd1ZVxDb21tb25NYXJrXEV4dGVuc2lvblxGb290bm90ZVxSZW5kZXJlclxGb290bm90ZVJlZlJlbmRlcmVyOwp1c2UgTGVhZ3VlXENvbW1vbk1hcmtcRXh0ZW5zaW9uXEZvb3Rub3RlXFJlbmRlcmVyXEZvb3Rub3RlUmVuZGVyZXI7CnVzZSBMZWFndWVcQ29uZmlnXENvbmZpZ3VyYXRpb25CdWlsZGVySW50ZXJmYWNlOwp1c2UgTmV0dGVcU2NoZW1hXEV4cGVjdDsKCmZpbmFsIGNsYXNzIEZvb3Rub3RlRXh0ZW5zaW9uIGltcGxlbWVudHMgQ29uZmlndXJhYmxlRXh0ZW5zaW9uSW50ZXJmYWNlCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBjb25maWd1cmVTY2hlbWEoQ29uZmlndXJhdGlvbkJ1aWxkZXJJbnRlcmZhY2UgJGJ1aWxkZXIpOiB2b2lkCiAgICB7CiAgICAgICAgJGJ1aWxkZXItPmFkZFNjaGVtYSgnZm9vdG5vdGUnLCBFeHBlY3Q6OnN0cnVjdHVyZShbCiAgICAgICAgICAgICdiYWNrcmVmX2NsYXNzJyA9PiBFeHBlY3Q6OnN0cmluZygnZm9vdG5vdGUtYmFja3JlZicpLAogICAgICAgICAgICAnYmFja3JlZl9zeW1ib2wnID0+IEV4cGVjdDo6c3RyaW5nKCfihqknKSwKICAgICAgICAgICAgJ2NvbnRhaW5lcl9hZGRfaHInID0+IEV4cGVjdDo6Ym9vbCh0cnVlKSwKICAgICAgICAgICAgJ2NvbnRhaW5lcl9jbGFzcycgPT4gRXhwZWN0OjpzdHJpbmcoJ2Zvb3Rub3RlcycpLAogICAgICAgICAgICAncmVmX2NsYXNzJyA9PiBFeHBlY3Q6OnN0cmluZygnZm9vdG5vdGUtcmVmJyksCiAgICAgICAgICAgICdyZWZfaWRfcHJlZml4JyA9PiBFeHBlY3Q6OnN0cmluZygnZm5yZWY6JyksCiAgICAgICAgICAgICdmb290bm90ZV9jbGFzcycgPT4gRXhwZWN0OjpzdHJpbmcoJ2Zvb3Rub3RlJyksCiAgICAgICAgICAgICdmb290bm90ZV9pZF9wcmVmaXgnID0+IEV4cGVjdDo6c3RyaW5nKCdmbjonKSwKICAgICAgICBdKSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyKEVudmlyb25tZW50QnVpbGRlckludGVyZmFjZSAkZW52aXJvbm1lbnQpOiB2b2lkCiAgICB7CiAgICAgICAgJGVudmlyb25tZW50LT5hZGRCbG9ja1N0YXJ0UGFyc2VyKG5ldyBGb290bm90ZVN0YXJ0UGFyc2VyKCksIDUxKTsKICAgICAgICAkZW52aXJvbm1lbnQtPmFkZElubGluZVBhcnNlcihuZXcgQW5vbnltb3VzRm9vdG5vdGVSZWZQYXJzZXIoKSwgMzUpOwogICAgICAgICRlbnZpcm9ubWVudC0+YWRkSW5saW5lUGFyc2VyKG5ldyBGb290bm90ZVJlZlBhcnNlcigpLCA1MSk7CgogICAgICAgICRlbnZpcm9ubWVudC0+YWRkUmVuZGVyZXIoRm9vdG5vdGVDb250YWluZXI6OmNsYXNzLCBuZXcgRm9vdG5vdGVDb250YWluZXJSZW5kZXJlcigpKTsKICAgICAgICAkZW52aXJvbm1lbnQtPmFkZFJlbmRlcmVyKEZvb3Rub3RlOjpjbGFzcywgbmV3IEZvb3Rub3RlUmVuZGVyZXIoKSk7CiAgICAgICAgJGVudmlyb25tZW50LT5hZGRSZW5kZXJlcihGb290bm90ZVJlZjo6Y2xhc3MsIG5ldyBGb290bm90ZVJlZlJlbmRlcmVyKCkpOwogICAgICAgICRlbnZpcm9ubWVudC0+YWRkUmVuZGVyZXIoRm9vdG5vdGVCYWNrcmVmOjpjbGFzcywgbmV3IEZvb3Rub3RlQmFja3JlZlJlbmRlcmVyKCkpOwoKICAgICAgICAkZW52aXJvbm1lbnQtPmFkZEV2ZW50TGlzdGVuZXIoRG9jdW1lbnRQYXJzZWRFdmVudDo6Y2xhc3MsIFtuZXcgQW5vbnltb3VzRm9vdG5vdGVzTGlzdGVuZXIoKSwgJ29uRG9jdW1lbnRQYXJzZWQnXSwgNDApOwogICAgICAgICRlbnZpcm9ubWVudC0+YWRkRXZlbnRMaXN0ZW5lcihEb2N1bWVudFBhcnNlZEV2ZW50OjpjbGFzcywgW25ldyBGaXhPcnBoYW5lZEZvb3Rub3Rlc0FuZFJlZnNMaXN0ZW5lcigpLCAnb25Eb2N1bWVudFBhcnNlZCddLCAzMCk7CiAgICAgICAgJGVudmlyb25tZW50LT5hZGRFdmVudExpc3RlbmVyKERvY3VtZW50UGFyc2VkRXZlbnQ6OmNsYXNzLCBbbmV3IE51bWJlckZvb3Rub3Rlc0xpc3RlbmVyKCksICdvbkRvY3VtZW50UGFyc2VkJ10sIDIwKTsKICAgICAgICAkZW52aXJvbm1lbnQtPmFkZEV2ZW50TGlzdGVuZXIoRG9jdW1lbnRQYXJzZWRFdmVudDo6Y2xhc3MsIFtuZXcgR2F0aGVyRm9vdG5vdGVzTGlzdGVuZXIoKSwgJ29uRG9jdW1lbnRQYXJzZWQnXSwgMTApOwogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";