1778692666
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A51870a7cdbf7316ac8ece3d3bb58d63c-b01891cc9f218355213fc838f571484c
s:68912:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjE4OiJMYXp5R2hvc3RUcmFpdC5waHAiO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbmFtZXNwYWNlcyI7YToxOntzOjMwOiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXIiO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMDoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6IlZhckV4cG9ydGVyIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjE6e3M6NDU6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdCI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8iOjEwOntzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AcHJvcGVydGllcyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAG1ldGhvZHMiO2E6MTI6e3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6Y3JlYXRlTGF6eUdob3N0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjg6IlxDbG9zdXJlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NzoiQ2xvc3VyZSI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJpbml0aWFsaXplciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZSI6MTp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsYWJsZQByZWFsVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6InNraXBwZWRQcm9wZXJ0aWVzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0NDoie3sgUEhQRE9DMzdhNjI1OWNjMGMxZGFlMjk5YTc4NjY0ODlkZmYwYmQgfX0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MTp7czo0NDoie3sgUEhQRE9DMzdhNjI1OWNjMGMxZGFlMjk5YTc4NjY0ODlkZmYwYmQgfX0iO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsXyI6MDp7fX19czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUiOjE6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTnVsbGFibGUAcmVhbFR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6Imluc3RhbmNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0NDoie3sgUEhQRE9DMzdhNjI1OWNjMGMxZGFlMjk5YTc4NjY0ODlkZmYwYmQgfX0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MTp7czo0NDoie3sgUEhQRE9DMzdhNjI1OWNjMGMxZGFlMjk5YTc4NjY0ODlkZmYwYmQgfX0iO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsXyI6MDp7fX19czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjE1MTk7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MzIyNjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdGF0aWNfIjoxOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0YXRpY18AZ2VuZXJpY1R5cGVzIjthOjA6e319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6Y3JlYXRlTGF6eUdob3N0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiY3JlYXRlTGF6eUdob3N0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzg6IkNyZWF0ZXMgYSBsYXp5LWxvYWRpbmcgZ2hvc3QgaW5zdGFuY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE0NToiU2tpcHBlZCBwcm9wZXJ0aWVzIHNob3VsZCBiZSBpbmRleGVkIGJ5IHRoZWlyIGFycmF5LWNhc3QgaWRlbnRpZmllciwgc2VlCmh0dHBzOi8vcGhwLm5ldC9tYW51YWwvbGFuZ3VhZ2UudHlwZXMuYXJyYXkjbGFuZ3VhZ2UudHlwZXMuYXJyYXkuY2FzdGluZyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NDoiVGhlIGNsb3N1cmUgc2hvdWxkIGluaXRpYWxpemUgdGhlIG9iamVjdCBpdCByZWNlaXZlcyBhcyBhcmd1bWVudCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjQwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ2FsbGFibGVfIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENhbGxhYmxlXwByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENhbGxhYmxlXwBwYXJhbWV0ZXJzIjthOjE6e2k6MDtPOjQ4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ2FsbGFibGVQYXJhbWV0ZXIiOjU6e3M6NTQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ2FsbGFibGVQYXJhbWV0ZXIAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0YXRpY18iOjE6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RhdGljXwBnZW5lcmljVHlwZXMiO2E6MDp7fX1zOjYxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENhbGxhYmxlUGFyYW1ldGVyAGlzUmVmZXJlbmNlIjtiOjA7czo2MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDYWxsYWJsZVBhcmFtZXRlcgBpc1ZhcmlhZGljIjtiOjA7czo2MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDYWxsYWJsZVBhcmFtZXRlcgBpc09wdGlvbmFsIjtiOjA7czo1NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDYWxsYWJsZVBhcmFtZXRlcgBuYW1lIjtOO319fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImluaXRpYWxpemVyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO31pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTA3OiJBbiBhcnJheSBpbmRleGVkIGJ5IHRoZSBwcm9wZXJ0aWVzIHRvIHNraXAsIGEuay5hLiB0aGUgb25lcwp0aGF0IHRoZSBpbml0aWFsaXplciBkb2Vzbid0IGluaXRpYWxpemUsIGlmIGFueSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFRydWVfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319aToxO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsXyI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJza2lwcGVkUHJvcGVydGllcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdGF0aWNfIjoxOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0YXRpY18AZ2VuZXJpY1R5cGVzIjthOjA6e319aToxO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xOdWxsXyI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO31zOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6Imluc3RhbmNlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czoyOToiU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjU6e3M6NjoiSWdub3JlIjtzOjQ1OiJTeW1mb255XENvbXBvbmVudFxTZXJpYWxpemVyXEF0dHJpYnV0ZVxJZ25vcmUiO3M6ODoiSHlkcmF0b3IiO3M6NDc6IlN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXEludGVybmFsXEh5ZHJhdG9yIjtzOjg6IlJlZ2lzdHJ5IjtzOjU3OiJTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxJbnRlcm5hbFxMYXp5T2JqZWN0UmVnaXN0cnkiO3M6MTU6IkxhenlPYmplY3RTdGF0ZSI7czo1NDoiU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcSW50ZXJuYWxcTGF6eU9iamVjdFN0YXRlIjtzOjE1OiJMYXp5T2JqZWN0VHJhaXQiO3M6NTQ6IlN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXEludGVybmFsXExhenlPYmplY3RUcmFpdCI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MTtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo3MjoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0Ojppc0xhenlPYmplY3RJbml0aWFsaXplZCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJwYXJ0aWFsIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czo0NDoie3sgUEhQRE9DNjg5MzRhM2U5NDU1ZmE3MjQyMDIzN2ViMDU5MDIzMjcgfX0iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AcGFydHMiO2E6MTp7czo0NDoie3sgUEhQRE9DNjg5MzRhM2U5NDU1ZmE3MjQyMDIzN2ViMDU5MDIzMjcgfX0iO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xGYWxzZV8iOjA6e319fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTozNDA4O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjM2Njk7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjcyOiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcTGF6eUdob3N0VHJhaXQ6OmlzTGF6eU9iamVjdEluaXRpYWxpemVkKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoiaXNMYXp5T2JqZWN0SW5pdGlhbGl6ZWQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0MjoiUmV0dXJucyB3aGV0aGVyIHRoZSBvYmplY3QgaXMgaW5pdGlhbGl6ZWQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MzoiV2hldGhlciBwYXJ0aWFsbHkgaW5pdGlhbGl6ZWQgb2JqZWN0cyBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyBpbml0aWFsaXplZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NzoicGFydGlhbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxMjY7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YToxOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBdHRyaWJ1dGUiOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEF0dHJpYnV0ZQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcU3ltZm9ueVxDb21wb25lbnRcU2VyaWFsaXplclxBdHRyaWJ1dGVcSWdub3JlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NjoiSWdub3JlIjt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXR0cmlidXRlAGFyZ3VtZW50cyI7YTowOnt9fX19czo2OToiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0Ojppbml0aWFsaXplTGF6eU9iamVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6Mzc1NDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDA2Mzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdGF0aWNfIjoxOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0YXRpY18AZ2VuZXJpY1R5cGVzIjthOjA6e319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Njk6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6aW5pdGlhbGl6ZUxhenlPYmplY3QoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJpbml0aWFsaXplTGF6eU9iamVjdCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU0OiJGb3JjZXMgaW5pdGlhbGl6YXRpb24gb2YgYSBsYXp5IG9iamVjdCBhbmQgcmV0dXJucyBpdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxMjY7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NjQ6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6cmVzZXRMYXp5T2JqZWN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDE4NDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDQ3MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6cmVzZXRMYXp5T2JqZWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToicmVzZXRMYXp5T2JqZWN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MDoiIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NzoiUmV0dXJucyBmYWxzZSB3aGVuIHRoZSBvYmplY3QgY2Fubm90IGJlIHJlc2V0LCBpZSB3aGVuIGl0J3Mgbm90IGEgbGF6eSBvYmplY3QiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxMjY7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTQ6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6X19nZXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJuYW1lIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NDQ3Nzt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6NzgyNTt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NDoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX2dldCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToiX19nZXQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MTtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1NDoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX3NldCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6Im5hbWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJ2YWx1ZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjEyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjc4MzI7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjkxMzA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NDoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX3NldCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToiX19zZXQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1NjoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX2lzc2V0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoibmFtZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjkxMzc7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjc2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEwMzExO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX2lzc2V0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJfX2lzc2V0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTY6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6X191bnNldCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6Im5hbWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMDMxODt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTE2MDI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX3Vuc2V0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJfX3Vuc2V0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NTY6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6X19jbG9uZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjExNjA5O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMTkxNzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086MzY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xWb2lkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU2OiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcTGF6eUdob3N0VHJhaXQ6Ol9fY2xvbmUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6Il9fY2xvbmUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo2MDoiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX3NlcmlhbGl6ZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTM6e3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzI0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjExOTI0O31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM1NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aToxMzAzNzt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjYwOiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcTGF6eUdob3N0VHJhaXQ6Ol9fc2VyaWFsaXplKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMToiX19zZXJpYWxpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjA6e319czo1OToiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXExhenlHaG9zdFRyYWl0OjpfX2Rlc3RydWN0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMzp7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTMwNDQ7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzY3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEzMzk3O31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU5OiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcTGF6eUdob3N0VHJhaXQ6Ol9fZGVzdHJ1Y3QoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJfX2Rlc3RydWN0Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXR0cmlidXRlcyI7YTowOnt9fXM6NzU6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6c2V0TGF6eU9iamVjdEFzSW5pdGlhbGl6ZWQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEzOntzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6ImluaXRpYWxpemVkIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNjk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MTM0MDQ7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjEzNjkzO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzU6IlxTeW1mb255XENvbXBvbmVudFxWYXJFeHBvcnRlclxMYXp5R2hvc3RUcmFpdDo6c2V0TGF6eU9iamVjdEFzSW5pdGlhbGl6ZWQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI2OiJzZXRMYXp5T2JqZWN0QXNJbml0aWFsaXplZCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhdHRyaWJ1dGVzIjthOjE6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEF0dHJpYnV0ZSI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXR0cmlidXRlAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDY6IlxTeW1mb255XENvbXBvbmVudFxTZXJpYWxpemVyXEF0dHJpYnV0ZVxJZ25vcmUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo2OiJJZ25vcmUiO31zOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBdHRyaWJ1dGUAYXJndW1lbnRzIjthOjA6e319fX19czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAHVzZWRUcmFpdHMiO2E6MTp7czo1NToiXFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXEludGVybmFsXExhenlPYmplY3RUcmFpdCI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU1OiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcSW50ZXJuYWxcTGF6eU9iamVjdFRyYWl0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IkxhenlPYmplY3RUcmFpdCI7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBlbmRMb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFRyYWl0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ1OiJcU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcTGF6eUdob3N0VHJhaXQiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNDoiTGF6eUdob3N0VHJhaXQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjA6IiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0OToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcRGVwcmVjYXRlZCI6Mzp7czo3OiIAKgBuYW1lIjtzOjEwOiJkZXByZWNhdGVkIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1MDoic2luY2UgU3ltZm9ueSA3LjMsIHVzZSBuYXRpdmUgbGF6eSBvYmplY3RzIGluc3RlYWQiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xEZXByZWNhdGVkAHZlcnNpb24iO047fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO3I6MTI2O3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVHJhaXRfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxUcmFpdF8AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImIwMTg5MWNjOWYyMTgzNTUyMTNmYzgzOGY1NzE0ODRjIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6NDY6InZlbmRvci9zeW1mb255L3Zhci1leHBvcnRlci9MYXp5R2hvc3RUcmFpdC5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjEzNjk3OiI8P3BocAoKLyoKICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFN5bWZvbnkgcGFja2FnZS4KICoKICogKGMpIEZhYmllbiBQb3RlbmNpZXIgPGZhYmllbkBzeW1mb255LmNvbT4KICoKICogRm9yIHRoZSBmdWxsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHZpZXcgdGhlIExJQ0VOU0UKICogZmlsZSB0aGF0IHdhcyBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc291cmNlIGNvZGUuCiAqLwoKbmFtZXNwYWNlIFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyOwoKdXNlIFN5bWZvbnlcQ29tcG9uZW50XFNlcmlhbGl6ZXJcQXR0cmlidXRlXElnbm9yZTsKdXNlIFN5bWZvbnlcQ29tcG9uZW50XFZhckV4cG9ydGVyXEludGVybmFsXEh5ZHJhdG9yOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcSW50ZXJuYWxcTGF6eU9iamVjdFJlZ2lzdHJ5IGFzIFJlZ2lzdHJ5Owp1c2UgU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcSW50ZXJuYWxcTGF6eU9iamVjdFN0YXRlOwp1c2UgU3ltZm9ueVxDb21wb25lbnRcVmFyRXhwb3J0ZXJcSW50ZXJuYWxcTGF6eU9iamVjdFRyYWl0OwoKaWYgKFxQSFBfVkVSU0lPTl9JRCA+PSA4MDQwMCkgewogICAgdHJpZ2dlcl9kZXByZWNhdGlvbignc3ltZm9ueS92YXItZXhwb3J0ZXInLCAnNy4zJywgJ1RoZSAiJXMiIHRyYWl0IGlzIGRlcHJlY2F0ZWQsIHVzZSBuYXRpdmUgbGF6eSBvYmplY3RzIGluc3RlYWQuJywgTGF6eUdob3N0VHJhaXQ6OmNsYXNzKTsKfQoKLyoqCiAqIEBkZXByZWNhdGVkIHNpbmNlIFN5bWZvbnkgNy4zLCB1c2UgbmF0aXZlIGxhenkgb2JqZWN0cyBpbnN0ZWFkCiAqLwp0cmFpdCBMYXp5R2hvc3RUcmFpdAp7CiAgICB1c2UgTGF6eU9iamVjdFRyYWl0OwoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIGxhenktbG9hZGluZyBnaG9zdCBpbnN0YW5jZS4KICAgICAqCiAgICAgKiBTa2lwcGVkIHByb3BlcnRpZXMgc2hvdWxkIGJlIGluZGV4ZWQgYnkgdGhlaXIgYXJyYXktY2FzdCBpZGVudGlmaWVyLCBzZWUKICAgICAqIGh0dHBzOi8vcGhwLm5ldC9tYW51YWwvbGFuZ3VhZ2UudHlwZXMuYXJyYXkjbGFuZ3VhZ2UudHlwZXMuYXJyYXkuY2FzdGluZwogICAgICoKICAgICAqIEBwYXJhbSBcQ2xvc3VyZShzdGF0aWMpOnZvaWQgICAgJGluaXRpYWxpemVyICAgICAgIFRoZSBjbG9zdXJlIHNob3VsZCBpbml0aWFsaXplIHRoZSBvYmplY3QgaXQgcmVjZWl2ZXMgYXMgYXJndW1lbnQKICAgICAqIEBwYXJhbSBhcnJheTxzdHJpbmcsIHRydWU+fG51bGwgJHNraXBwZWRQcm9wZXJ0aWVzIEFuIGFycmF5IGluZGV4ZWQgYnkgdGhlIHByb3BlcnRpZXMgdG8gc2tpcCwgYS5rLmEuIHRoZSBvbmVzCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IHRoZSBpbml0aWFsaXplciBkb2Vzbid0IGluaXRpYWxpemUsIGlmIGFueQogICAgICogQHBhcmFtIHN0YXRpY3xudWxsICAgICAgICAgICAgICAkaW5zdGFuY2UKICAgICAqLwogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjcmVhdGVMYXp5R2hvc3QoXENsb3N1cmUgJGluaXRpYWxpemVyLCA/YXJyYXkgJHNraXBwZWRQcm9wZXJ0aWVzID0gbnVsbCwgP29iamVjdCAkaW5zdGFuY2UgPSBudWxsKTogc3RhdGljCiAgICB7CiAgICAgICAgaWYgKHNlbGY6OmNsYXNzICE9PSAkY2xhc3MgPSAkaW5zdGFuY2UgPyAkaW5zdGFuY2U6OmNsYXNzIDogc3RhdGljOjpjbGFzcykgewogICAgICAgICAgICAkc2tpcHBlZFByb3BlcnRpZXNbIlwwIi5zZWxmOjpjbGFzcy4iXDBsYXp5T2JqZWN0U3RhdGUiXSA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWlzc2V0KFJlZ2lzdHJ5OjokZGVmYXVsdFByb3BlcnRpZXNbJGNsYXNzXSkpIHsKICAgICAgICAgICAgUmVnaXN0cnk6OiRjbGFzc1JlZmxlY3RvcnNbJGNsYXNzXSA/Pz0gbmV3IFxSZWZsZWN0aW9uQ2xhc3MoJGNsYXNzKTsKICAgICAgICAgICAgJGluc3RhbmNlID8/PSBSZWdpc3RyeTo6JGNsYXNzUmVmbGVjdG9yc1skY2xhc3NdLT5uZXdJbnN0YW5jZVdpdGhvdXRDb25zdHJ1Y3RvcigpOwogICAgICAgICAgICBSZWdpc3RyeTo6JGRlZmF1bHRQcm9wZXJ0aWVzWyRjbGFzc10gPz89IChhcnJheSkgJGluc3RhbmNlOwogICAgICAgICAgICBSZWdpc3RyeTo6JGNsYXNzUmVzZXR0ZXJzWyRjbGFzc10gPz89IFJlZ2lzdHJ5OjpnZXRDbGFzc1Jlc2V0dGVycygkY2xhc3MpOwoKICAgICAgICAgICAgaWYgKHNlbGY6OmNsYXNzID09PSAkY2xhc3MgJiYgXGRlZmluZWQoJGNsYXNzLic6OkxBWllfT0JKRUNUX1BST1BFUlRZX1NDT1BFUycpKSB7CiAgICAgICAgICAgICAgICBIeWRyYXRvcjo6JHByb3BlcnR5U2NvcGVzWyRjbGFzc10gPz89ICRjbGFzczo6TEFaWV9PQkpFQ1RfUFJPUEVSVFlfU0NPUEVTOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGluc3RhbmNlID8/PSBSZWdpc3RyeTo6JGNsYXNzUmVmbGVjdG9yc1skY2xhc3NdLT5uZXdJbnN0YW5jZVdpdGhvdXRDb25zdHJ1Y3RvcigpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGlzc2V0KCRpbnN0YW5jZS0+bGF6eU9iamVjdFN0YXRlKSkgewogICAgICAgICAgICAkaW5zdGFuY2UtPmxhenlPYmplY3RTdGF0ZS0+aW5pdGlhbGl6ZXIgPSAkaW5pdGlhbGl6ZXI7CiAgICAgICAgICAgICRpbnN0YW5jZS0+bGF6eU9iamVjdFN0YXRlLT5za2lwcGVkUHJvcGVydGllcyA9ICRza2lwcGVkUHJvcGVydGllcyA/Pz0gW107CgogICAgICAgICAgICBpZiAoTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfVU5JTklUSUFMSVpFRF9GVUxMICE9PSAkaW5zdGFuY2UtPmxhenlPYmplY3RTdGF0ZS0+c3RhdHVzKSB7CiAgICAgICAgICAgICAgICAkaW5zdGFuY2UtPmxhenlPYmplY3RTdGF0ZS0+cmVzZXQoJGluc3RhbmNlKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICRpbnN0YW5jZTsKICAgICAgICB9CgogICAgICAgICRpbnN0YW5jZS0+bGF6eU9iamVjdFN0YXRlID0gbmV3IExhenlPYmplY3RTdGF0ZSgkaW5pdGlhbGl6ZXIsICRza2lwcGVkUHJvcGVydGllcyA/Pz0gW10pOwoKICAgICAgICBmb3JlYWNoIChSZWdpc3RyeTo6JGNsYXNzUmVzZXR0ZXJzWyRjbGFzc10gYXMgJHJlc2V0KSB7CiAgICAgICAgICAgICRyZXNldCgkaW5zdGFuY2UsICRza2lwcGVkUHJvcGVydGllcyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJGluc3RhbmNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBvYmplY3QgaXMgaW5pdGlhbGl6ZWQuCiAgICAgKgogICAgICogQHBhcmFtIGJvb2wgJHBhcnRpYWwgV2hldGhlciBwYXJ0aWFsbHkgaW5pdGlhbGl6ZWQgb2JqZWN0cyBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyBpbml0aWFsaXplZAogICAgICovCiAgICAjW0lnbm9yZV0KICAgIHB1YmxpYyBmdW5jdGlvbiBpc0xhenlPYmplY3RJbml0aWFsaXplZChib29sICRwYXJ0aWFsID0gZmFsc2UpOiBib29sCiAgICB7CiAgICAgICAgaWYgKCEkc3RhdGUgPSAkdGhpcy0+bGF6eU9iamVjdFN0YXRlID8/IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfSU5JVElBTElaRURfRlVMTCA9PT0gJHN0YXRlLT5zdGF0dXM7CiAgICB9CgogICAgLyoqCiAgICAgKiBGb3JjZXMgaW5pdGlhbGl6YXRpb24gb2YgYSBsYXp5IG9iamVjdCBhbmQgcmV0dXJucyBpdC4KICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGluaXRpYWxpemVMYXp5T2JqZWN0KCk6IHN0YXRpYwogICAgewogICAgICAgIGlmICghJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiAkdGhpczsKICAgICAgICB9CgogICAgICAgIGlmIChMYXp5T2JqZWN0U3RhdGU6OlNUQVRVU19VTklOSVRJQUxJWkVEX0ZVTEwgPT09ICRzdGF0ZS0+c3RhdHVzKSB7CiAgICAgICAgICAgICRzdGF0ZS0+aW5pdGlhbGl6ZSgkdGhpcywgJycsIG51bGwpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIC8qKgogICAgICogQHJldHVybiBib29sIFJldHVybnMgZmFsc2Ugd2hlbiB0aGUgb2JqZWN0IGNhbm5vdCBiZSByZXNldCwgaWUgd2hlbiBpdCdzIG5vdCBhIGxhenkgb2JqZWN0CiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiByZXNldExhenlPYmplY3QoKTogYm9vbAogICAgewogICAgICAgIGlmICghJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmIChMYXp5T2JqZWN0U3RhdGU6OlNUQVRVU19VTklOSVRJQUxJWkVEX0ZVTEwgIT09ICRzdGF0ZS0+c3RhdHVzKSB7CiAgICAgICAgICAgICRzdGF0ZS0+cmVzZXQoJHRoaXMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uICZfX2dldCgkbmFtZSk6IG1peGVkCiAgICB7CiAgICAgICAgJHByb3BlcnR5U2NvcGVzID0gSHlkcmF0b3I6OiRwcm9wZXJ0eVNjb3Blc1skdGhpczo6Y2xhc3NdID8/PSBIeWRyYXRvcjo6Z2V0UHJvcGVydHlTY29wZXMoJHRoaXM6OmNsYXNzKTsKICAgICAgICAkc2NvcGUgPSBudWxsOwogICAgICAgICRub3RCeVJlZiA9IDA7CgogICAgICAgIGlmIChbJGNsYXNzLCAsICR3cml0ZVNjb3BlLCAkYWNjZXNzXSA9ICRwcm9wZXJ0eVNjb3Blc1skbmFtZV0gPz8gbnVsbCkgewogICAgICAgICAgICAkc2NvcGUgPSBSZWdpc3RyeTo6Z2V0U2NvcGVGb3JSZWFkKCRwcm9wZXJ0eVNjb3BlcywgJGNsYXNzLCAkbmFtZSk7CiAgICAgICAgICAgICRzdGF0ZSA9ICR0aGlzLT5sYXp5T2JqZWN0U3RhdGUgPz8gbnVsbDsKCiAgICAgICAgICAgIGlmICgkc3RhdGUgJiYgKG51bGwgPT09ICRzY29wZSB8fCBpc3NldCgkcHJvcGVydHlTY29wZXNbIlwwJHNjb3BlXDAkbmFtZSJdKSkpIHsKICAgICAgICAgICAgICAgICRub3RCeVJlZiA9ICRhY2Nlc3MgJiBIeWRyYXRvcjo6UFJPUEVSVFlfTk9UX0JZX1JFRjsKCiAgICAgICAgICAgICAgICBpZiAoTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfSU5JVElBTElaRURfRlVMTCA9PT0gJHN0YXRlLT5zdGF0dXMpIHsKICAgICAgICAgICAgICAgICAgICAvLyBXb3JrIGFyb3VuZCBwaHAvcGhwLXNyYyMxMjY5NQogICAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSA9IG51bGwgPT09ICRzY29wZSA/ICRuYW1lIDogIlwwJHNjb3BlXDAkbmFtZSI7CiAgICAgICAgICAgICAgICAgICAgJHByb3BlcnR5ID0gJHByb3BlcnR5U2NvcGVzWyRwcm9wZXJ0eV1bNF0KICAgICAgICAgICAgICAgICAgICAgICAgPz8gSHlkcmF0b3I6OiRwcm9wZXJ0eVNjb3Blc1skdGhpczo6Y2xhc3NdWyRwcm9wZXJ0eV1bNF0gPSBuZXcgXFJlZmxlY3Rpb25Qcm9wZXJ0eSgkc2NvcGUgPz8gJGNsYXNzLCAkbmFtZSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRwcm9wZXJ0eSA9IG51bGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoXFBIUF9WRVJTSU9OX0lEID49IDgwNDAwICYmICEkbm90QnlSZWYgJiYgKCRhY2Nlc3MgPj4gMikgJiBcUmVmbGVjdGlvblByb3BlcnR5OjpJU19QUklWQVRFX1NFVCkgewogICAgICAgICAgICAgICAgICAgICRzY29wZSA/Pz0gJHdyaXRlU2NvcGU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCRwcm9wZXJ0eT8tPmlzSW5pdGlhbGl6ZWQoJHRoaXMpID8/IExhenlPYmplY3RTdGF0ZTo6U1RBVFVTX1VOSU5JVElBTElaRURfUEFSVElBTCAhPT0gJHN0YXRlLT5pbml0aWFsaXplKCR0aGlzLCAkbmFtZSwgJHdyaXRlU2NvcGUgPz8gJHNjb3BlKSkgewogICAgICAgICAgICAgICAgICAgIGdvdG8gZ2V0X2luX3Njb3BlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoJHBhcmVudCA9IChSZWdpc3RyeTo6JHBhcmVudE1ldGhvZHNbc2VsZjo6Y2xhc3NdID8/PSBSZWdpc3RyeTo6Z2V0UGFyZW50TWV0aG9kcyhzZWxmOjpjbGFzcykpWydnZXQnXSkgewogICAgICAgICAgICBpZiAoMiA9PT0gJHBhcmVudCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHBhcmVudDo6X19nZXQoJG5hbWUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICR2YWx1ZSA9IHBhcmVudDo6X19nZXQoJG5hbWUpOwoKICAgICAgICAgICAgcmV0dXJuICR2YWx1ZTsKICAgICAgICB9CgogICAgICAgIGlmIChudWxsID09PSAkY2xhc3MpIHsKICAgICAgICAgICAgJGZyYW1lID0gZGVidWdfYmFja3RyYWNlKFxERUJVR19CQUNLVFJBQ0VfSUdOT1JFX0FSR1MsIDEpWzBdOwogICAgICAgICAgICB0cmlnZ2VyX2Vycm9yKFxzcHJpbnRmKCdVbmRlZmluZWQgcHJvcGVydHk6ICVzOjokJXMgaW4gJXMgb24gbGluZSAlcycsICR0aGlzOjpjbGFzcywgJG5hbWUsICRmcmFtZVsnZmlsZSddLCAkZnJhbWVbJ2xpbmUnXSksIFxFX1VTRVJfTk9USUNFKTsKICAgICAgICB9CgogICAgICAgIGdldF9pbl9zY29wZToKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKG51bGwgPT09ICRzY29wZSkgewogICAgICAgICAgICAgICAgaWYgKCEkbm90QnlSZWYpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPiRuYW1lOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHZhbHVlID0gJHRoaXMtPiRuYW1lOwoKICAgICAgICAgICAgICAgIHJldHVybiAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGFjY2Vzc29yID0gUmVnaXN0cnk6OiRjbGFzc0FjY2Vzc29yc1skc2NvcGVdID8/PSBSZWdpc3RyeTo6Z2V0Q2xhc3NBY2Nlc3NvcnMoJHNjb3BlKTsKCiAgICAgICAgICAgIHJldHVybiAkYWNjZXNzb3JbJ2dldCddKCR0aGlzLCAkbmFtZSwgJG5vdEJ5UmVmKTsKICAgICAgICB9IGNhdGNoIChcRXJyb3IgJGUpIHsKICAgICAgICAgICAgaWYgKFxFcnJvcjo6Y2xhc3MgIT09ICRlOjpjbGFzcyB8fCAhc3RyX3N0YXJ0c193aXRoKCRlLT5nZXRNZXNzYWdlKCksICdDYW5ub3QgYWNjZXNzIHVuaW5pdGlhbGl6ZWQgbm9uLW51bGxhYmxlIHByb3BlcnR5JykpIHsKICAgICAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgaWYgKG51bGwgPT09ICRzY29wZSkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLT4kbmFtZSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRoaXMtPiRuYW1lOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRhY2Nlc3Nvclsnc2V0J10oJHRoaXMsICRuYW1lLCBbXSk7CgogICAgICAgICAgICAgICAgcmV0dXJuICRhY2Nlc3NvclsnZ2V0J10oJHRoaXMsICRuYW1lLCAkbm90QnlSZWYpOwogICAgICAgICAgICB9IGNhdGNoIChcRXJyb3IpIHsKICAgICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCcvXkNhbm5vdCBhY2Nlc3MgdW5pbml0aWFsaXplZCBub24tbnVsbGFibGUgcHJvcGVydHkgKFteIF0rKykgYnkgcmVmZXJlbmNlJC8nLCAkZS0+Z2V0TWVzc2FnZSgpLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgXEVycm9yKCdUeXBlZCBwcm9wZXJ0eSAnLiRtYXRjaGVzWzFdLicgbXVzdCBub3QgYmUgYWNjZXNzZWQgYmVmb3JlIGluaXRpYWxpemF0aW9uJywgJGUtPmdldENvZGUoKSwgJGUtPmdldFByZXZpb3VzKCkpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgkbmFtZSwgJHZhbHVlKTogdm9pZAogICAgewogICAgICAgICRwcm9wZXJ0eVNjb3BlcyA9IEh5ZHJhdG9yOjokcHJvcGVydHlTY29wZXNbJHRoaXM6OmNsYXNzXSA/Pz0gSHlkcmF0b3I6OmdldFByb3BlcnR5U2NvcGVzKCR0aGlzOjpjbGFzcyk7CiAgICAgICAgJHNjb3BlID0gbnVsbDsKCiAgICAgICAgaWYgKFskY2xhc3MsICwgJHdyaXRlU2NvcGUsICRhY2Nlc3NdID0gJHByb3BlcnR5U2NvcGVzWyRuYW1lXSA/PyBudWxsKSB7CiAgICAgICAgICAgICRzY29wZSA9IFJlZ2lzdHJ5OjpnZXRTY29wZUZvcldyaXRlKCRwcm9wZXJ0eVNjb3BlcywgJGNsYXNzLCAkbmFtZSwgJGFjY2VzcyA+PiAyKTsKICAgICAgICAgICAgJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsOwoKICAgICAgICAgICAgaWYgKCRzdGF0ZSAmJiAoJHdyaXRlU2NvcGUgPT09ICRzY29wZSB8fCBpc3NldCgkcHJvcGVydHlTY29wZXNbIlwwJHNjb3BlXDAkbmFtZSJdKSkKICAgICAgICAgICAgICAgICYmIExhenlPYmplY3RTdGF0ZTo6U1RBVFVTX0lOSVRJQUxJWkVEX0ZVTEwgIT09ICRzdGF0ZS0+c3RhdHVzCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgaWYgKExhenlPYmplY3RTdGF0ZTo6U1RBVFVTX1VOSU5JVElBTElaRURfRlVMTCA9PT0gJHN0YXRlLT5zdGF0dXMpIHsKICAgICAgICAgICAgICAgICAgICAkc3RhdGUtPmluaXRpYWxpemUoJHRoaXMsICRuYW1lLCAkd3JpdGVTY29wZSA/PyAkc2NvcGUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZ290byBzZXRfaW5fc2NvcGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgoUmVnaXN0cnk6OiRwYXJlbnRNZXRob2RzW3NlbGY6OmNsYXNzXSA/Pz0gUmVnaXN0cnk6OmdldFBhcmVudE1ldGhvZHMoc2VsZjo6Y2xhc3MpKVsnc2V0J10pIHsKICAgICAgICAgICAgcGFyZW50OjpfX3NldCgkbmFtZSwgJHZhbHVlKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHNldF9pbl9zY29wZToKCiAgICAgICAgaWYgKG51bGwgPT09ICRzY29wZSkgewogICAgICAgICAgICAkdGhpcy0+JG5hbWUgPSAkdmFsdWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGFjY2Vzc29yID0gUmVnaXN0cnk6OiRjbGFzc0FjY2Vzc29yc1skc2NvcGVdID8/PSBSZWdpc3RyeTo6Z2V0Q2xhc3NBY2Nlc3NvcnMoJHNjb3BlKTsKICAgICAgICAgICAgJGFjY2Vzc29yWydzZXQnXSgkdGhpcywgJG5hbWUsICR2YWx1ZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRuYW1lKTogYm9vbAogICAgewogICAgICAgICRwcm9wZXJ0eVNjb3BlcyA9IEh5ZHJhdG9yOjokcHJvcGVydHlTY29wZXNbJHRoaXM6OmNsYXNzXSA/Pz0gSHlkcmF0b3I6OmdldFByb3BlcnR5U2NvcGVzKCR0aGlzOjpjbGFzcyk7CiAgICAgICAgJHNjb3BlID0gbnVsbDsKCiAgICAgICAgaWYgKFskY2xhc3MsICwgJHdyaXRlU2NvcGVdID0gJHByb3BlcnR5U2NvcGVzWyRuYW1lXSA/PyBudWxsKSB7CiAgICAgICAgICAgICRzY29wZSA9IFJlZ2lzdHJ5OjpnZXRTY29wZUZvclJlYWQoJHByb3BlcnR5U2NvcGVzLCAkY2xhc3MsICRuYW1lKTsKICAgICAgICAgICAgJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsOwoKICAgICAgICAgICAgaWYgKCRzdGF0ZSAmJiAobnVsbCA9PT0gJHNjb3BlIHx8IGlzc2V0KCRwcm9wZXJ0eVNjb3Blc1siXDAkc2NvcGVcMCRuYW1lIl0pKQogICAgICAgICAgICAgICAgJiYgTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfSU5JVElBTElaRURfRlVMTCAhPT0gJHN0YXRlLT5zdGF0dXMKICAgICAgICAgICAgICAgICYmIExhenlPYmplY3RTdGF0ZTo6U1RBVFVTX1VOSU5JVElBTElaRURfUEFSVElBTCAhPT0gJHN0YXRlLT5pbml0aWFsaXplKCR0aGlzLCAkbmFtZSwgJHdyaXRlU2NvcGUgPz8gJHNjb3BlKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgIGdvdG8gaXNzZXRfaW5fc2NvcGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgoUmVnaXN0cnk6OiRwYXJlbnRNZXRob2RzW3NlbGY6OmNsYXNzXSA/Pz0gUmVnaXN0cnk6OmdldFBhcmVudE1ldGhvZHMoc2VsZjo6Y2xhc3MpKVsnaXNzZXQnXSkgewogICAgICAgICAgICByZXR1cm4gcGFyZW50OjpfX2lzc2V0KCRuYW1lKTsKICAgICAgICB9CgogICAgICAgIGlzc2V0X2luX3Njb3BlOgoKICAgICAgICBpZiAobnVsbCA9PT0gJHNjb3BlKSB7CiAgICAgICAgICAgIHJldHVybiBpc3NldCgkdGhpcy0+JG5hbWUpOwogICAgICAgIH0KICAgICAgICAkYWNjZXNzb3IgPSBSZWdpc3RyeTo6JGNsYXNzQWNjZXNzb3JzWyRzY29wZV0gPz89IFJlZ2lzdHJ5OjpnZXRDbGFzc0FjY2Vzc29ycygkc2NvcGUpOwoKICAgICAgICByZXR1cm4gJGFjY2Vzc29yWydpc3NldCddKCR0aGlzLCAkbmFtZSk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJG5hbWUpOiB2b2lkCiAgICB7CiAgICAgICAgJHByb3BlcnR5U2NvcGVzID0gSHlkcmF0b3I6OiRwcm9wZXJ0eVNjb3Blc1skdGhpczo6Y2xhc3NdID8/PSBIeWRyYXRvcjo6Z2V0UHJvcGVydHlTY29wZXMoJHRoaXM6OmNsYXNzKTsKICAgICAgICAkc2NvcGUgPSBudWxsOwoKICAgICAgICBpZiAoWyRjbGFzcywgLCAkd3JpdGVTY29wZSwgJGFjY2Vzc10gPSAkcHJvcGVydHlTY29wZXNbJG5hbWVdID8/IG51bGwpIHsKICAgICAgICAgICAgJHNjb3BlID0gUmVnaXN0cnk6OmdldFNjb3BlRm9yV3JpdGUoJHByb3BlcnR5U2NvcGVzLCAkY2xhc3MsICRuYW1lLCAkYWNjZXNzID4+IDIpOwogICAgICAgICAgICAkc3RhdGUgPSAkdGhpcy0+bGF6eU9iamVjdFN0YXRlID8/IG51bGw7CgogICAgICAgICAgICBpZiAoJHN0YXRlICYmICgkd3JpdGVTY29wZSA9PT0gJHNjb3BlIHx8IGlzc2V0KCRwcm9wZXJ0eVNjb3Blc1siXDAkc2NvcGVcMCRuYW1lIl0pKQogICAgICAgICAgICAgICAgJiYgTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfSU5JVElBTElaRURfRlVMTCAhPT0gJHN0YXRlLT5zdGF0dXMKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICBpZiAoTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfVU5JTklUSUFMSVpFRF9GVUxMID09PSAkc3RhdGUtPnN0YXR1cykgewogICAgICAgICAgICAgICAgICAgICRzdGF0ZS0+aW5pdGlhbGl6ZSgkdGhpcywgJG5hbWUsICR3cml0ZVNjb3BlID8/ICRzY29wZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBnb3RvIHVuc2V0X2luX3Njb3BlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoKFJlZ2lzdHJ5OjokcGFyZW50TWV0aG9kc1tzZWxmOjpjbGFzc10gPz89IFJlZ2lzdHJ5OjpnZXRQYXJlbnRNZXRob2RzKHNlbGY6OmNsYXNzKSlbJ3Vuc2V0J10pIHsKICAgICAgICAgICAgcGFyZW50OjpfX3Vuc2V0KCRuYW1lKTsKCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHVuc2V0X2luX3Njb3BlOgoKICAgICAgICBpZiAobnVsbCA9PT0gJHNjb3BlKSB7CiAgICAgICAgICAgIHVuc2V0KCR0aGlzLT4kbmFtZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGFjY2Vzc29yID0gUmVnaXN0cnk6OiRjbGFzc0FjY2Vzc29yc1skc2NvcGVdID8/PSBSZWdpc3RyeTo6Z2V0Q2xhc3NBY2Nlc3NvcnMoJHNjb3BlKTsKICAgICAgICAgICAgJGFjY2Vzc29yWyd1bnNldCddKCR0aGlzLCAkbmFtZSk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCk6IHZvaWQKICAgIHsKICAgICAgICBpZiAoJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsKSB7CiAgICAgICAgICAgICR0aGlzLT5sYXp5T2JqZWN0U3RhdGUgPSBjbG9uZSAkc3RhdGU7CiAgICAgICAgfQoKICAgICAgICBpZiAoKFJlZ2lzdHJ5OjokcGFyZW50TWV0aG9kc1tzZWxmOjpjbGFzc10gPz89IFJlZ2lzdHJ5OjpnZXRQYXJlbnRNZXRob2RzKHNlbGY6OmNsYXNzKSlbJ2Nsb25lJ10pIHsKICAgICAgICAgICAgcGFyZW50OjpfX2Nsb25lKCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX3NlcmlhbGl6ZSgpOiBhcnJheQogICAgewogICAgICAgICRjbGFzcyA9IHNlbGY6OmNsYXNzOwoKICAgICAgICBpZiAoKFJlZ2lzdHJ5OjokcGFyZW50TWV0aG9kc1skY2xhc3NdID8/PSBSZWdpc3RyeTo6Z2V0UGFyZW50TWV0aG9kcygkY2xhc3MpKVsnc2VyaWFsaXplJ10pIHsKICAgICAgICAgICAgJHByb3BlcnRpZXMgPSBwYXJlbnQ6Ol9fc2VyaWFsaXplKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRoaXMtPmluaXRpYWxpemVMYXp5T2JqZWN0KCk7CiAgICAgICAgICAgICRwcm9wZXJ0aWVzID0gKGFycmF5KSAkdGhpczsKICAgICAgICB9CiAgICAgICAgdW5zZXQoJHByb3BlcnRpZXNbIlwwJGNsYXNzXDBsYXp5T2JqZWN0U3RhdGUiXSk7CgogICAgICAgIGlmIChSZWdpc3RyeTo6JHBhcmVudE1ldGhvZHNbJGNsYXNzXVsnc2VyaWFsaXplJ10gfHwgIVJlZ2lzdHJ5OjokcGFyZW50TWV0aG9kc1skY2xhc3NdWydzbGVlcCddKSB7CiAgICAgICAgICAgIHJldHVybiAkcHJvcGVydGllczsKICAgICAgICB9CgogICAgICAgICRzY29wZSA9IGdldF9wYXJlbnRfY2xhc3MoJGNsYXNzKTsKICAgICAgICAkZGF0YSA9IFtdOwoKICAgICAgICBmb3JlYWNoIChwYXJlbnQ6Ol9fc2xlZXAoKSBhcyAkbmFtZSkgewogICAgICAgICAgICAkdmFsdWUgPSAkcHJvcGVydGllc1skayA9ICRuYW1lXSA/PyAkcHJvcGVydGllc1skayA9ICJcMCpcMCRuYW1lIl0gPz8gJHByb3BlcnRpZXNbJGsgPSAiXDAkY2xhc3NcMCRuYW1lIl0gPz8gJHByb3BlcnRpZXNbJGsgPSAiXDAkc2NvcGVcMCRuYW1lIl0gPz8gJGsgPSBudWxsOwoKICAgICAgICAgICAgaWYgKG51bGwgPT09ICRrKSB7CiAgICAgICAgICAgICAgICB0cmlnZ2VyX2Vycm9yKFxzcHJpbnRmKCdzZXJpYWxpemUoKTogIiVzIiByZXR1cm5lZCBhcyBtZW1iZXIgdmFyaWFibGUgZnJvbSBfX3NsZWVwKCkgYnV0IGRvZXMgbm90IGV4aXN0JywgJG5hbWUpLCBcRV9VU0VSX05PVElDRSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZGF0YVska10gPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAkZGF0YTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19kZXN0cnVjdCgpCiAgICB7CiAgICAgICAgJHN0YXRlID0gJHRoaXMtPmxhenlPYmplY3RTdGF0ZSA/PyBudWxsOwoKICAgICAgICBpZiAoTGF6eU9iamVjdFN0YXRlOjpTVEFUVVNfVU5JTklUSUFMSVpFRF9GVUxMID09PSAkc3RhdGU/LT5zdGF0dXMpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaWYgKChSZWdpc3RyeTo6JHBhcmVudE1ldGhvZHNbc2VsZjo6Y2xhc3NdID8/PSBSZWdpc3RyeTo6Z2V0UGFyZW50TWV0aG9kcyhzZWxmOjpjbGFzcykpWydkZXN0cnVjdCddKSB7CiAgICAgICAgICAgIHBhcmVudDo6X19kZXN0cnVjdCgpOwogICAgICAgIH0KICAgIH0KCiAgICAjW0lnbm9yZV0KICAgIHByaXZhdGUgZnVuY3Rpb24gc2V0TGF6eU9iamVjdEFzSW5pdGlhbGl6ZWQoYm9vbCAkaW5pdGlhbGl6ZWQpOiB2b2lkCiAgICB7CiAgICAgICAgaWYgKCRzdGF0ZSA9ICR0aGlzLT5sYXp5T2JqZWN0U3RhdGUgPz8gbnVsbCkgewogICAgICAgICAgICAkc3RhdGUtPnN0YXR1cyA9ICRpbml0aWFsaXplZCA/IExhenlPYmplY3RTdGF0ZTo6U1RBVFVTX0lOSVRJQUxJWkVEX0ZVTEwgOiBMYXp5T2JqZWN0U3RhdGU6OlNUQVRVU19VTklOSVRJQUxJWkVEX0ZVTEw7CiAgICAgICAgfQogICAgfQp9CiI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG1ldGFkYXRhIjthOjA6e319";