From a5f19b0361a708b37959744b35c22f75879dbffa Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Mon, 5 Oct 2026 08:21:06 +0000 Subject: [PATCH] runtime: publish SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1 --- ...NIKKET-VM150-RESTORE-GATE-RCA-99589R1.json | 38 ++ ...SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.txt | 496 ++++++++++++++ runtime/latest.json | 39 +- runtime/latest.txt | 641 +++++++++++++----- 4 files changed, 1060 insertions(+), 154 deletions(-) create mode 100644 runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.json create mode 100644 runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.txt diff --git a/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.json b/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.json new file mode 100644 index 00000000..adcb8524 --- /dev/null +++ b/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "snikket-vm150-restore-gate-rca", + "started_at_utc": "2026-10-05T08:21:03Z", + "finished_at_utc": "2026-10-05T08:21:05Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "31e84ea34955ab363272f385e4a1228748a665fa590a614dd1da926872399687", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8", + "sanitized_output_sha256": "5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SNIKKET_VM150_RESTORE_GATE_RCA=V1\nMODE=read-only\nNO_VM_MUTATION=true\nNO_BACKUP_MUTATION=true\nNO_REMOTE_MUTATION=true\nNO_SOURCE_MUTATION=true\nNO_MONITOR_MUTATION=true\nNO_DNS_MUTATION=true\nHOST_PVE01=true\nINGRESS_HOSTKEY_SELF_BOUND=true\nVM150_QGA_PING=true\nVM150_RUNNING=true\nROTATING_DRILL_PRESENT=true\nBACKUP_AUDIT_PRESENT=true\nBACKUP_V2_PRESENT=true\nAUDIT_JSON_FILE_COUNT=3\nAUDIT_1_BASENAME=backup-audit-v2.json\nAUDIT_1_PATH_SHA256=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7\nAUDIT_1_AGE_SECONDS=503\nAUDIT_1_DR_FIELD_COUNT=1\nAUDIT_1_DR_1_KEY=cloud_b_restore_drill\nAUDIT_1_DR_1_VALUE=true\nAUDIT_2_BASENAME=backup-audit.json\nAUDIT_2_PATH_SHA256=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d\nAUDIT_2_AGE_SECONDS=503\nAUDIT_2_DR_FIELD_COUNT=1\nAUDIT_2_DR_1_KEY=cloud_b_restore_drill\nAUDIT_2_DR_1_VALUE=true\nAUDIT_3_BASENAME=backup-unified-audit.json\nAUDIT_3_PATH_SHA256=29e7e980321f753c1e597b92851a5e8ae494157b0ef684f5afc12b820bece45a\nAUDIT_3_AGE_SECONDS=1223061\nAUDIT_3_DR_FIELD_COUNT=5\nAUDIT_3_DR_1_KEY=dr_proof_status\nAUDIT_3_DR_1_VALUE=PROVEN\nAUDIT_3_DR_2_KEY=escrow_status\nAUDIT_3_DR_2_VALUE=OK\nAUDIT_3_DR_3_KEY=clean_machine_bootstrap_proven\nAUDIT_3_DR_3_VALUE=true\nAUDIT_3_DR_4_KEY=qemu_boot_restore_proven\nAUDIT_3_DR_4_VALUE=true\nAUDIT_3_DR_5_KEY=ct_boot_restore_proven\nAUDIT_3_DR_5_VALUE=true\nROT_CURRENT_AUDIT_GATE_FOUND=true\nROT_CURRENT_AUDIT_GATE_B64=MjU3OiAgICAgICAgICAgIHMuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBzLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUpOgoyNTg6ICAgICAgICBkaWUoIkVTQ1JPV19QUk9PRl9TRUFMX0NPTlRFTlRfSU5WQUxJRCIsNjYpCjI1OTogICAgcHJvb2ZfYXQ9cGFyc2VfdXRjKHMuZ2V0KCJzZWFsZWRfYXRfdXRjIikpCjI2MDogICAgYWdlPShub3dfdXRjKCktcHJvb2ZfYXQpLnRvdGFsX3NlY29uZHMoKQoyNjE6ICAgIGlmIGFnZTwwOiBkaWUoIkVTQ1JPV19QUk9PRl9GVVRVUkUiLDY2KQoyNjI6ICAgIGFnZV9kYXlzPWFnZS84NjQwMC4wCjI2MzogICAgaWYgYWdlX2RheXM+ZmxvYXQocFsiZXNjcm93X3NlbWFudGljX3Byb29mX21heF9hZ2VfZGF5cyJdKTogZGllKCJFU0NST1dfU0VNQU5USUNfUFJPT0ZfU1RBTEUiLDc1KQoyNjQ6ICAgIGE9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJhdWRpdF9wYXRoIl0pKQoyNjU6ICAgIGlmIG5vdCAoYS5nZXQoImF1ZGl0X3N0YXR1cyIpPT0iT0siIGFuZCBhLmdldCgiYmFja3VwX3N0YXR1cyIpPT0iR1JFRU4iIGFuZAoyNjY6ICAgICAgICAgICAgYS5nZXQoImRyX3JlYWRpbmVzcyIpPT0iUFJPVkVOIiBhbmQgYS5nZXQoImRyX3Byb29mX3N0YXR1cyIpPT0iUFJPVkVOIiBhbmQKMjY3OiAgICAgICAgICAgIGEuZ2V0KCJlc2Nyb3dfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZAoyNjg6ICAgICAgICAgICAgYS5nZXQoImN0X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBhLmdldCgiZnVsbF9zaXRlX2RyX3Byb3ZlbiIpIGlzIFRydWUpOgoyNjk6ICAgICAgICBkaWUoIkNVUlJFTlRfQkFDS1VQX0FVRElUX05PVF9EUl9SRUFEWSIsNzUpCjI3MDogICAgcmV0dXJuIHsiY2lwaGVydGV4dF9zaGFfdmVyaWZpZWQiOlRydWUsInNlbWFudGljX3Byb29mX3NlYWxfc2hhX3ZlcmlmaWVkIjpUcnVlLAoyNzE6ICAgICAgICAgICAgInNlbWFudGljX3Byb29mX2F0X3V0YyI6c1sic2VhbGVkX2F0X3V0YyJdLCJzZW1hbnRpY19wcm9vZl9hZ2VfZGF5cyI6cm91bmQoYWdlX2RheXMsNCksCjI3MjogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIjpwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0sCjI3MzogICAgICAgICAgICAicGh5c2ljYWxfZXNjcm93X2NvcGllcyI6IjJfVVNFUl9BVFRFU1RFRCIsInBoeXNpY2FsX2VzY3Jvd19tZWRpYV9yZWFkX3Byb3ZlbiI6RmFsc2V9CjI3NDoKMjc1OmRlZiByZWdpc3RyeShwKToKMjc2OiAgICByPXJlYWRfanNvbihwYXRobGliLlBhdGgocFsicmVnaXN0cnlfcGF0aCJdKSkKMjc3OiAgICBpZiByLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJhY2t1cC10YXJnZXQtcmVnaXN0cnktdjEiOiBkaWUoIlJFR0lTVFJZX0lOVkFMSUQiLDY2KQoyNzg6ICAgIG91dD17fQoyNzk6ICAgIGZvciB4IGluIHIuZ2V0KCJ0YXJnZXRzIixbXSk6CjI4MDogICAgICAgIGlmIHguZ2V0KCJraW5kIik9PSJWTSIgYW5kIHguZ2V0KCJsaWZlY3ljbGUiKT09IkFDVElWRSI6CjI4MTogICAgICAgICAgICB2bWlkPXN0cih4LmdldCgiaWQiLCIiKSkKMjgyOiAgICAgICAgICAgIG93bmVyPXguZ2V0KCJvd25lciIpCjI4MzogICAgICAgICAgICBpZiBub3Qgdm1pZC5pc2RpZ2l0KCkgb3Igb3duZXIgbm90IGluICgicHZlMDEiLCJwdmUwMiIsInB2ZTAzIikgb3Igdm1pZCBpbiBvdXQ6IGRpZSgiUkVHSVNUUllfVk1fSU5WQUxJRCIsNjYpCjI4NDogICAgICAgICAgICBvdXRbdm1pZF09eyJsb2dpY2FsX2lkIjp4LmdldCgibG9naWNhbF9pZCIpLCJvd25lciI6b3duZXJ9CjI4NTogICAgcmVxdWlyZWQ9c2V0KHBbInFlbXVfcm90YXRpb24iXStwWyJseGNfcm90YXRpb24iXStsaXN0KHAuZ2V0KCJxZW11X2V4Y2x1ZGVkIix7fSkpKQoyODY6ICAgIGlmIG5vdCByZXF1aXJlZC5pc3N1YnNldChvdXQpOiBkaWUoIlJFR0lTVFJZX1JPVEFUSU9OX1RBUkdFVF9NSVNTSU5HIiw2NikKMjg3OiAgICByZXR1cm4gb3V0CjI4ODoKMjg5OmRlZiBvd25lcl9ob3N0KG93bmVyKToKMjkwOiAgICByZXR1cm4geyJwdmUwMiI6InJvb3RAW1BSSVZBVEVfSVBdIiwicHZlMDMiOiJyb290QFtQUklWQVRFX0lQXSJ9LmdldChvd25lcikKMjkxOgoyOTI6ZGVmIHNzaF9iYXNlKHdpdGhfc3RkaW49RmFsc2UpOgoyOTM6ICAgIGJhc2U9W1NTSF0KMjk0OiAgICBpZiBub3Qgd2l0aF9zdGRpbjogYmFzZS5hcHBlbmQoIi1uIikKMjk1OiAgICByZXR1cm4gYmFzZStbIi1vIiwiQmF0Y2hNb2RlPXllcyIsIi1vIiwiQ29ubmVjdFRpbWVvdXQ9MTUiLCItbyIsIlN0cmljdEhvc3RLZXlDaGVja2luZz15ZXMiLCItbyIsIlVzZXJLbm93bkhvc3RzRmlsZT0vcm9vdC8uc3NoL2tub3duX2hvc3RzIl0KMjk2OgoyOTc6ZGVmIG5vZGVfcnVuKG93bmVyLGFyZ3YsY2hlY2s9VHJ1ZSx0aW1lb3V0PU5vbmUsaW5wdXRfYnl0ZXM9Tm9uZSk6CjI5ODogICAgaWYgb3duZXI9PSJwdmUwMSI6CjI5OTogICAgICAgIHJldHVybiBydW4oYXJndixjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDA6ICAgIGhvc3Q9b3duZXJfaG9zdChvd25lcikKMzAxOiAgICBpZiBob3N0IGlzIE5vbmU6IGRpZSgiT1dORVJfSU5WQUxJRCIsNjQpCjMwMjogICAgY21kPXNzaF9iYXNlKHdpdGhfc3RkaW49aW5wdXRfYnl0ZXMgaXMgbm90IE5vbmUpK1tob3N0XStbc3RyKHgpIGZvciB4IGluIGFyZ3ZdCjMwMzogICAgcmV0dXJuIHJ1bihjbWQsY2hlY2s9Y2hlY2ssY2FwdHVyZT1UcnVlLHRpbWVvdXQ9dGltZW91dCxpbnB1dF9ieXRlcz1pbnB1dF9ieXRlcykKMzA0OgozMDU6ZGVmIGV4cG9ydF9zdGF0ZShwLHJlZyx2bWlkLHN0YXRlX2V4cG9ydGVyPVNUQVRFX0VYUE9SVEVSKToKMzA2OiAgICBpdGVtPXJlZ1t2bWlkXTsgbG9naWNhbD1pdGVtWyJsb2dpY2FsX2lkIl07IG93bmVyPWl0ZW1bIm93bmVyIl0KMzA3OiAgICBpZiBsb2dpY2FsIT1mInZte3ZtaWR9IjogZGllKCJSRUdJU1RSWV9MT0dJQ0FMX0lOVkFMSURfIit2bWlkLDY2KQozMDg6ICAgIGFzc2VydF9yZWd1bGFyX3Jvb3QocGF0aGxpYi5QYXRoKHN0YXRlX2V4cG9ydGVyKSkKMzA5OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMzEwOiAgICAgICAgcHI9cnVuKFtQWVRIT04sIi1CIixzdGF0ZV9leHBvcnRlcix2bWlkLGxvZ2ljYWxdLHRpbWVvdXQ9MzApCjMxMTogICAgZWxzZToKMzEyOiAgICAgICAgZGF0YT1wYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpLnJlYWRfYnl0ZXMoKQozMTM6ICAgICAgICBwcj1ub2RlX3J1bihvd25lcixbUFlUSE9OLCItQiIsIi0iLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCxpbnB1dF9ieXRlcz1kYXRhKQ==\nROT_PRECHECK_DEF_FOUND=true\nROT_PRECHECK_DEF_B64=NDE2OiAgICBkaWUoIkxPQ0FMX0xWTV9NSVNTSU5HIiw2NikKNDE3Ogo0MTg6ZGVmIGNhcGFjaXR5X2NoZWNrKHAscmVzb3VyY2VzLHEsbCxxaW5mbyxsaW5mbyk6CjQxOTogICAgZnJlZT1zaHV0aWwuZGlza191c2FnZShwWyJzdGFnZV9yb290Il0pLmZyZWUgaWYgcGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkuZXhpc3RzKCkgZWxzZSBzaHV0aWwuZGlza191c2FnZSgiL21udC9zdGFnaW5nIikuZnJlZQo0MjA6ICAgIG5lZWRfc3RhZ2U9cWluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdK2xpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXStwWyJtaW5pbXVtX3N0YWdlX2hlYWRyb29tX2J5dGVzIl0KNDIxOiAgICBpZiBmcmVlPG5lZWRfc3RhZ2U6IGRpZSgiU1RBR0VfQ0FQQUNJVFlfSU5TVUZGSUNJRU5UIiw3NSkKNDIyOiAgICBxbWF4PWludChyZXNvdXJjZXMuZ2V0KHEse30pLmdldCgibWF4ZGlzayIpIG9yIDApOyBsbWF4PWludChyZXNvdXJjZXMuZ2V0KGwse30pLmdldCgibWF4ZGlzayIpIG9yIDApCjQyMzogICAgaWYgcW1heDw9MCBvciBsbWF4PD0wOiBkaWUoIkNMVVNURVJfTUFYRElTS19JTlZBTElEIiw2NikKNDI0OiAgICBsdm09cHZlc21fYXZhaWxhYmxlX2J5dGVzKCkKNDI1OiAgICBpZiBsdm0gPCBxbWF4K2xtYXgrcFsibWluaW11bV9zdG9yYWdlX2hlYWRyb29tX2J5dGVzIl06IGRpZSgiTE9DQUxfTFZNX0NBUEFDSVRZX0lOU1VGRklDSUVOVCIsNzUpCjQyNjogICAgcmV0dXJuIHsic3RhZ2VfZnJlZV9ieXRlcyI6ZnJlZSwic3RhZ2VfcmVxdWlyZWRfYnl0ZXMiOm5lZWRfc3RhZ2UsImxvY2FsX2x2bV9hdmFpbGFibGVfYnl0ZXMiOmx2bSwic2VsZWN0ZWRfbWF4ZGlza19ieXRlcyI6cW1heCtsbWF4fQo0Mjc6CjQyODpkZWYgcHJlY2hlY2socCxzdGF0ZV9leHBvcnRlcj1TVEFURV9FWFBPUlRFUixtb2RlPSJpbml0aWFsIik6CjQyOTogICAgZXNjPXZlcmlmeV9lc2Nyb3cocCk7IHJlZz1yZWdpc3RyeShwKTsgc3RhdGU9bG9hZF9zdGF0ZV9kZWZhdWx0KCkKNDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQ==\nROT_EXECUTE_DEF_FOUND=true\nROT_EXECUTE_DEF_B64=NjczOiAgICAgICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGVbInNlcXVlbmNlIl0lbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjY3NDogICAgICAgIGNhcGFjaXR5X2NoZWNrKHAsY2x1c3Rlcl9yZXNvdXJjZXMoKSxxLGwscWluZm8sbGluZm8pCjY3NTogICAgICAgIHJ1bl9pZD1ub3dfdXRjKCkuc3RyZnRpbWUoIiVZJW0lZFQlSCVNJVNaIikrIi1wcm9iZS0iK3N0cihvcy5nZXRwaWQoKSkKNjc2OiAgICAgICAgc3RhZ2U9cGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkvcnVuX2lkCjY3NzogICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo2Nzg6ICAgICAgICB0cnk6CjY3OTogICAgICAgICAgICBxYT1mZXRjaF9hcmNoaXZlKHFpbmZvLHBhaXJbInFlbXUiXSxzdGFnZSkKNjgwOiAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjY4MTogICAgICAgICAgICBwcmludChmIkJPT1RfRFJJTExfQVJDSElWRV9QUk9CRT1PS3xxZW11PXtxfXxxZW11X2Nsb3VkPXtwYWlyWydxZW11J119fHFlbXVfbmFtZT17cWEubmFtZX18bHhjPXtsfXxseGNfY2xvdWQ9e3BhaXJbJ2x4YyddfXxseGNfbmFtZT17bGEubmFtZX18YXJjaGl2ZV9pbnRlZ3JpdHk9U0hBX0FORF9aU1REX1BST1ZFTnxjbG91ZF93cml0ZXM9Tk8iKQo2ODI6ICAgICAgICBmaW5hbGx5Ogo2ODM6ICAgICAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY4NDoKNjg1OmRlZiBleGVjdXRlKG1vZGUscCk6CjY4NjogICAgaWYgQUNUSVZFX1BBVEguZXhpc3RzKCk6IGRpZSgiQUNUSVZFX01BUktFUl9QUkVTRU5UIiw3NSkKNjg3OiAgICBzdGF0ZT1sb2FkX3N0YXRlX2RlZmF1bHQoKQo2ODg6ICAgIHdhaXQ9aW50KHBbImluaXRpYWxfbG9ja193YWl0X3NlY29uZHMiXSBpZiBtb2RlPT0iaW5pdGlhbCIgZWxzZSBwWyJzY2hlZHVsZWRfbG9ja193YWl0X3NlY29uZHMiXSkKNjg5OiAgICB0cnk6CjY5MDogICAgICAgIHdpdGggTG9ja3Mod2FpdCk6CjY5MTogICAgICAgICAgICBlc2M9dmVyaWZ5X2VzY3JvdyhwKTsgcmVnPXJlZ2lzdHJ5KHApCjY5MjogICAgICAgICAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo2OTM6ICAgICAgICAgICAgcWluZm89ZXhwb3J0X3N0YXRlKHAscmVnLHEpOyBsaW5mbz1leHBvcnRfc3RhdGUocCxyZWcsbCkKNjk0OiAgICAgICAgICAgIHBhaXI9cFsiY2xvdWRfcGFpcl9zZXF1ZW5jZSJdW3N0YXRlWyJzZXF1ZW5jZSJdJWxlbihwWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl0pXQo2OTU6ICAgICAgICAgICAgY2FwYWNpdHlfY2hlY2socCxjbHVzdGVyX3Jlc291cmNlcygpLHEsbCxxaW5mbyxsaW5mbykKNjk2OiAgICAgICAgICAgIHJlc291cmNlcz1jbHVzdGVyX3Jlc291cmNlcygpCjY5NzogICAgICAgICAgICBxaWQ9cGlja19mcmVlKHJlc291cmNlcyxwWyJxZW11X3RlbXBfaWRfbWluIl0scFsicWVtdV90ZW1wX2lkX21heCJdKQo2OTg6ICAgICAgICAgICAgcmVzb3VyY2VzW3N0cihxaWQpXT17InJlc2VydmVkIjpUcnVlfQo2OTk6ICAgICAgICAgICAgbGlkPXBpY2tfZnJlZShyZXNvdXJjZXMscFsibHhjX3RlbXBfaWRfbWluIl0scFsibHhjX3RlbXBfaWRfbWF4Il0pCjcwMDogICAgICAgICAgICBydW5faWQ9bm93X3V0YygpLnN0cmZ0aW1lKCIlWSVtJWRUJUglTSVTWiIpKyItIitzdHIob3MuZ2V0cGlkKCkpCjcwMTogICAgICAgICAgICBzdGFnZT1wYXRobGliLlBhdGgocFsic3RhZ2Vfcm9vdCJdKS9ydW5faWQKNzAyOiAgICAgICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo3MDM6ICAgICAgICAgICAgd3JpdGVfYWN0aXZlKHJ1bl9pZCxxaWQsbGlkKQo3MDQ6ICAgICAgICAgICAgYmVmb3JlPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNzA1OiAgICAgICAgICAgIHByaW1hcnlfZXJyb3I9Tm9uZQo3MDY6ICAgICAgICAgICAgdHJ5Ogo3MDc6ICAgICAgICAgICAgICAgIHFhPWZldGNoX2FyY2hpdmUocWluZm8scGFpclsicWVtdSJdLHN0YWdlKQo3MDg6ICAgICAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjcwOTogICAgICAgICAgICAgICAgcXByb29mPXFlbXVfYm9vdChxYSxxaWQsaW50KHBbImd1ZXN0X2FnZW50X3dhaXRfc2Vjb25kcyJdKSxydW5faWQpCjcxMDogICAgICAgICAgICAgICAgaWYgbm90IGNsZWFudXBfb25lKCJxZW11IixxaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJRRU1VX0NMRUFOVVBfRkFJTEVEIiw3MCkKNzExOiAgICAgICAgICAgICAgICBscHJvb2Y9bHhjX2Jvb3QobGEsbGlkLGludChwWyJseGNfZXhlY193YWl0X3NlY29uZHMiXSkscnVuX2lkKQo3MTI6ICAgICAgICAgICAgICAgIGlmIG5vdCBjbGVhbnVwX29uZSgibHhjIixsaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJMWENfQ0xFQU5VUF9GQUlMRUQiLDcwKQo3MTM6ICAgICAgICAgICAgICAgIGFmdGVyPWNsdXN0ZXJfd2l0aG91dF90ZW1wKHFpZCxsaWQsMzApCjcxNDogICAgICAgICAgICAgICAgZm9yIHNyYyBpbiAocSxsKToKNzE1OiAgICAgICAgICAgICAgICAgICAgaWYgYmVmb3JlLmdldChzcmMse30pLmdldCgic3RhdHVzIikhPWFmdGVyLmdldChzcmMse30pLmdldCgic3RhdHVzIikgb3IgYmVmb3JlLmdldChzcmMse30pLmdldCgibm9kZSIpIT1hZnRlci5nZXQoc3JjLHt9KS5nZXQoIm5vZGUiKToKNzE2OiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSgiUFJPRFVDVElPTl9HVUVTVF9TVEFURV9DSEFOR0VEXyIrc3JjLDcwKQo3MTc6ICAgICAgICAgICAgICAgIGV2aWRlbmNlPXsKNzE4OiAgICAgICAgICAgICAgICAgICJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtZXZpZGVuY2UtdjEiLCJyZXN1bHQiOiJPSyIsInJ1bl9pZCI6cnVuX2lkLAo3MTk6ICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjpzdGF0ZVsic2VxdWVuY2UiXSsxLCJjb21wbGV0ZWRfYXRfdXRjIjppc29fbm93KCksCjcyMDogICAgICAgICAgICAgICAgICAiZXNjcm93Ijplc2MsCjcyMTogICAgICAgICAgICAgICAgICAicWVtdSI6eyJzb3VyY2Vfdm1pZCI6cSwib3duZXIiOnJlZ1txXVsib3duZXIiXSwiZ2VuZXJhdGlvbiI6cWluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjpxaW5mb1sicGF5bG9hZF9uYW1lIl0sCjcyMjogICAgICAgICAgICAgICAgICAgICAgICAgICJhcmNoaXZlX3NoYTI1NiI6cWluZm9bImFyY2hpdmVfc2hhMjU2Il0sImNsb3VkX3NvdXJjZSI6cGFpclsicWVtdSJdLCJ0ZW1wX3ZtaWQiOnFpZCwKNzIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb3RfcHJvb2YiOnFwcm9vZiwibmV0d29ya19yZW1vdmVkX2JlZm9yZV9ib290IjpUcnVlLCJjbGVhbnVwX3Byb3ZlbiI6VHJ1ZX0sCjcyNDogICAgICAgICAgICAgICAgICAibHhjIjp7InNvdXJjZV92bWlkIjpsLCJvd25lciI6cmVnW2xdWyJvd25lciJdLCJnZW5lcmF0aW9uIjpsaW5mb1siZ2VuZXJhdGlvbiJdLCJhcmNoaXZlX25hbWUiOmxpbmZvWyJwYXlsb2FkX25hbWUiXSwKNzI1OiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZV9zaGEyNTYiOmxpbmZvWyJhcmNoaXZlX3NoYTI1NiJdLCJjbG91ZF9zb3VyY2UiOnBhaXJbImx4YyJdLCJ0ZW1wX3ZtaWQiOmxpZCwKNzI2OiAgICAgICAgICAgICAgICAgICAgICAgICAiYm9vdF9wcm9vZiI6bHByb29mLCJuZXR3b3JrX3JlbW92ZWRfYmVmb3JlX2Jvb3QiOlRydWUsImNsZWFudXBfcHJvdmVuIjpUcnVlfSwKNzI3OiAgICAgICAgICAgICAgICAgICJxZW11X3NraXBwZWRfaW5lbGlnaWJsZSI6c2tpcHBlZCwiY2xvdWRfd3JpdGVzIjpGYWxzZSwiY2xvdWRfZGVsZXRlcyI6RmFsc2UsCjcyODogICAgICAgICAgICAgICAgICAicHJvZHVjdGlvbl9ndWVzdF9zdGF0ZV91bmNoYW5nZWQiOlRydWUsInRlbXBvcmFyeV9ndWVzdF9yZXNpZHVlIjpGYWxzZQo3Mjk6ICAgICAgICAgICAgICAgIH0=\nROT_FETCH_ARCHIVE_DEF_FOUND=true\nROT_FETCH_ARCHIVE_DEF_B64=NTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLgo1ODc6ICAgIHJ1bihbWlNURCwiLXQiLG91dF0sdGltZW91dD0zMDApCjU4ODogICAgcmV0dXJuIG91dAo1ODk6CjU5MDpkZWYgcWVtdV9pc29sYXRlKHRlbXBpZCxydW5faWQpOgo1OTE6ICAgIHR4dD1ydW5fdGV4dChbUU0sImNvbmZpZyIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MzApCjU5MjogICAgaWYgcmUuc2VhcmNoKHIiKD9tKV5hcmdzOiIsdHh0KTogZGllKCJRRU1VX1VOU0FGRV9BUkdTX1BSRVNFTlQiLDcwKQo1OTM6ICAgIGtleXM9W10KNTk0OiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo1OTU6ICAgICAgICBrPWxpbmUuc3BsaXQoIjoiLDEpWzBdCjU5NjogICAgICAgIGlmIHJlLmZ1bGxtYXRjaChyIm5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldKyIsaykgb3IgayBpbiAoImhvb2tzY3JpcHQiLCJzdGFydHVwIik6CjU5NzogICAgICAgICAgICBrZXlzLmFwcGVuZChrKQo1OTg6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1FNLCJzZXQiLHN0cih0ZW1waWQpLCItLWRlbGV0ZSIsa10sdGltZW91dD0zMCkKNTk5OiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1vbmJvb3QiLCIwIl0sdGltZW91dD0zMCkKNjAwOiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1hZ2VudCIsImVuYWJsZWQ9MSJdLHRpbWVvdXQ9MzApCjYwMTogICAgcnVuX3R0eShbUU0sInNldCIsc3RyKHRlbXBpZCksIi0tbmFtZSIsZiJob21lbGFiLWRyaWxsLXF7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYwMjogICAgYWZ0ZXI9cnVuX3RleHQoW1FNLCJjb25maWciLHN0cih0ZW1waWQpXSx0aW1lb3V0PTMwKQo2MDM6ICAgIGlmIHJlLnNlYXJjaChyIig/bSleKG5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldK3xob29rc2NyaXB0fGFyZ3MpOiIsYWZ0ZXIpOiBkaWUoIlFFTVVfSVNPTEFUSU9OX0ZBSUxFRCIsNzApCjYwNDoKNjA1OmRlZiBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKToKNjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCk=\nROT_QEMU_BOOT_DEF_FOUND=true\nROT_QEMU_BOOT_DEF_B64=NjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCkKNjA4OiAgICBrZXlzPVtdCjYwOTogICAgZm9yIGxpbmUgaW4gdHh0LnNwbGl0bGluZXMoKToKNjEwOiAgICAgICAgaz1saW5lLnNwbGl0KCI6IiwxKVswXQo2MTE6ICAgICAgICBpZiByZS5mdWxsbWF0Y2gociJuZXRbMC05XSsiLGspIG9yIGsgaW4gKCJob29rc2NyaXB0Iiwic3RhcnR1cCIpOiBrZXlzLmFwcGVuZChrKQo2MTI6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1kZWxldGUiLGtdLHRpbWVvdXQ9MzApCjYxMzogICAgcnVuX3R0eShbUENULCJzZXQiLHN0cih0ZW1waWQpLCItLW9uYm9vdCIsIjAiXSx0aW1lb3V0PTMwKQo2MTQ6ICAgIHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1ob3N0bmFtZSIsZiJob21lbGFiLWRyaWxsLWx7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYxNTogICAgYWZ0ZXI9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjE2OiAgICBpZiByZS5zZWFyY2gociIoP20pXihuZXRbMC05XSt8aG9va3NjcmlwdHxseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spOiIsYWZ0ZXIpOiBkaWUoIkxYQ19JU09MQVRJT05fRkFJTEVEIiw3MCkKNjE3Ogo2MTg6ZGVmIHFlbXVfYm9vdChhcmNoaXZlLHRlbXBpZCx3YWl0X3NlYyxydW5faWQpOgo2MTk6ICAgIHByPXJ1bl90dHkoW1FNUkVTVE9SRSxhcmNoaXZlLHN0cih0ZW1waWQpLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iLCItLXVuaXF1ZSIsIjEiXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDApCjYyMDogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjIxOiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjIyOiAgICAgICAgcHJpbnQoZiJRTVJFU1RPUkVfRVJST1J8dm1pZD17dGVtcGlkfXxyYz17cHIucmV0dXJuY29kZX18c3RkZXJyX3NoYTI1Nj17aGFzaGxpYi5zaGEyNTYoZXJyKS5oZXhkaWdlc3QoKX18c3RkZXJyX2J5dGVzPXtsZW4oZXJyKX0iLGZpbGU9c3lzLnN0ZGVycikKNjIzOiAgICAgICAgZGllKCJRTVJFU1RPUkVfRkFJTEVEXyIrc3RyKHByLnJldHVybmNvZGUpLDcwKQo2MjQ6ICAgIHFlbXVfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2MjU6ICAgIHJ1bl90dHkoW1FNLCJzdGFydCIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MTIwKQo2MjY6ICAgIGRlYWRsaW5lPXRpbWUudGltZSgpK3dhaXRfc2VjCjYyNzogICAgd2hpbGUgdGltZS50aW1lKCk8ZGVhZGxpbmU6CjYyODogICAgICAgIGlmIHJ1bihbUU0sImd1ZXN0IiwiY21kIixzdHIodGVtcGlkKSwicGluZyJdLGNoZWNrPUZhbHNlLHRpbWVvdXQ9MTUpLnJldHVybmNvZGU9PTA6CjYyOTogICAgICAgICAgICByZXR1cm4gIkdVRVNUX0FHRU5UX1JFU1BPTkRFRCIKNjMwOiAgICAgICAgdGltZS5zbGVlcCgxMCkKNjMxOiAgICBkaWUoIlFFTVVfR1VFU1RfQUdFTlRfQk9PVF9USU1FT1VUIiw3MCkKNjMyOgo2MzM6ZGVmIGx4Y19ib290KGFyY2hpdmUsdGVtcGlkLHdhaXRfc2VjLHJ1bl9pZCk6CjYzNDogICAgcHI9cnVuX3R0eShbUENULCJyZXN0b3JlIixzdHIodGVtcGlkKSxhcmNoaXZlLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDAsdW1hc2tfdmFsdWU9MG8wMjIpCjYzNTogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjM2OiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjM3OiAgICAgICAgcHJpbnQoZiJQQ1RfUkVTVE9SRV9FUlJPUnx2bWlkPXt0ZW1waWR9fHJjPXtwci5yZXR1cm5jb2RlfXxzdGRlcnJfc2hhMjU2PXtoYXNobGliLnNoYTI1NihlcnIpLmhleGRpZ2VzdCgpfXxzdGRlcnJfYnl0ZXM9e2xlbihlcnIpfSIsZmlsZT1zeXMuc3RkZXJyKQo2Mzg6ICAgICAgICBkaWUoIlBDVF9SRVNUT1JFX0ZBSUxFRF8iK3N0cihwci5yZXR1cm5jb2RlKSw3MCkKNjM5OiAgICBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2NDA6ICAgIHJ1bl90dHkoW1BDVCwic3RhcnQiLHN0cih0ZW1waWQpXSx0aW1lb3V0PTEyMCkKNjQxOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt3YWl0X3NlYwo2NDI6ICAgIHdoaWxlIHRpbWUudGltZSgpPGRlYWRsaW5lOgo2NDM6ICAgICAgICBpZiBydW4oW1BDVCwiZXhlYyIsc3RyKHRlbXBpZCksIi0tIiwiL2Jpbi90cnVlIl0sY2hlY2s9RmFsc2UsdGltZW91dD0xNSkucmV0dXJuY29kZT09MDoKNjQ0OiAgICAgICAgICAgIHJldHVybiAiUENUX0VYRUNfVFJVRSIKNjQ1OiAgICAgICAgdGltZS5zbGVlcCg1KQo2NDY6ICAgIGRpZSgiTFhDX0VYRUNfQk9PVF9USU1FT1VUIiw3MCkKNjQ3Ogo2NDg6ZGVmIHdyaXRlX2RlZmVycmVkKGNvZGUpOgo2NDk6ICAgIG9iaj17InNjaGVtYSI6ImhvbWVsYWItYmFja3VwLWJvb3QtZHJpbGwtaGVhbHRoLXYxIiwic3RhdHVzIjoiREVGRVJSRUQiLCJyZWFzb24iOmNvZGUsInVwZGF0ZWRfYXRfdXRjIjppc29fbm93KCksImRyaWxsX2V4ZWN1dGVkIjpGYWxzZX0KNjUwOiAgICBhdG9taWNfanNvbihIRUFMVEhfUEFUSCxvYmosMG82MDApCjY1MTogICAgcHJpbnQoZiJCT09UX0RSSUxMX1NDSEVEVUxFRD1ERUZFUlJFRHxyZWFzb249e2NvZGV9IikKNjUyOgo2NTM6ZGVmIGZpbmFsaXplX3J1bihzdGFnZSxwcmltYXJ5X2Vycm9yKToKNjU0OiAgICBjbGVhbnVwX2Vycm9yPU5vbmUKNjU1OiAgICB0cnk6CjY1NjogICAgICAgIGNsZWFudXBfcmVzaWR1ZSgpCjY1NzogICAgZXhjZXB0IERyaWxsRXJyb3IgYXMgZToKNjU4OiAgICAgICAgY2xlYW51cF9lcnJvcj1lCjY1OTogICAgZmluYWxseToKNjYwOiAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY2MTogICAgaWYgY2xlYW51cF9lcnJvciBpcyBub3QgTm9uZToKNjYyOiAgICAgICAgaWYgcHJpbWFyeV9lcnJvciBpcyBOb25lOg==\nROT_CLEANUP_DEF_FOUND=true\nROT_CLEANUP_DEF_B64=NDgyOmRlZiBwaWNrX2ZyZWUocmVzb3VyY2VzLHN0YXJ0LGVuZCk6CjQ4MzogICAgdXNlZD17aW50KHgpIGZvciB4IGluIHJlc291cmNlc30KNDg0OiAgICBmb3IgaSBpbiByYW5nZShzdGFydCxlbmQrMSk6CjQ4NTogICAgICAgIGlmIGkgbm90IGluIHVzZWQ6IHJldHVybiBpCjQ4NjogICAgZGllKCJURU1QX0lEX1JBTkdFX0VYSEFVU1RFRCIsNzUpCjQ4NzoKNDg4OmRlZiB3cml0ZV9hY3RpdmUocnVuX2lkLHFpZCxsaWQpOgo0ODk6ICAgIGF0b21pY19qc29uKEFDVElWRV9QQVRILHsic2NoZW1hIjoiaG9tZWxhYi1ib290LWRyaWxsLWFjdGl2ZS12MSIsInJ1bl9pZCI6cnVuX2lkLCJjcmVhdGVkX2F0X2Vwb2NoIjppbnQodGltZS50aW1lKCkpLCJxZW11X3RlbXBfaWQiOnFpZCwibHhjX3RlbXBfaWQiOmxpZH0sMG82MDApCjQ5MDoKNDkxOmRlZiBjb25maWdfcGF0aChraW5kLHZtaWQpOgo0OTI6ICAgIHJldHVybiBwYXRobGliLlBhdGgoIi9ldGMvcHZlL3FlbXUtc2VydmVyIiBpZiBraW5kPT0icWVtdSIgZWxzZSAiL2V0Yy9wdmUvbHhjIikvZiJ7dm1pZH0uY29uZiIKNDkzOgo0OTQ6ZGVmIGNsZWFudXBfb25lKGtpbmQsdm1pZCxjcmVhdGVkX2Vwb2NoKToKNDk1OiAgICBwPWNvbmZpZ19wYXRoKGtpbmQsdm1pZCkKNDk2OiAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNDk3OiAgICB0cnk6CjQ5ODogICAgICAgIHN0PXAuc3RhdCgpCjQ5OTogICAgICAgIGlmIHN0LnN0X2N0aW1lKzUgPCBjcmVhdGVkX2Vwb2NoOiBkaWUoIlRFTVBfQ09ORklHX1BSRURBVEVTX0FDVElWRV9NQVJLRVJfIitzdHIodm1pZCksNjYpCjUwMDogICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MDE6ICAgICAgICByZXR1cm4gVHJ1ZQo1MDI6ICAgIGNtZD1RTSBpZiBraW5kPT0icWVtdSIgZWxzZSBQQ1QKNTAzOiAgICBmb3IgXyBpbiByYW5nZSg0KToKNTA0OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVlCjUwNTogICAgICAgIHRyeToKNTA2OiAgICAgICAgICAgIHR4dD1wLnJlYWRfdGV4dChlcnJvcnM9InJlcGxhY2UiKQo1MDc6ICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CjUwODogICAgICAgICAgICByZXR1cm4gVHJ1ZQo1MDk6ICAgICAgICBsb2NrX21hdGNoPXJlLnNlYXJjaChyIig/bSlebG9jazpccyooXFMrKVxzKiQiLHR4dCkKNTEwOiAgICAgICAgaWYgbG9ja19tYXRjaDoKNTExOiAgICAgICAgICAgIGxvY2tfbmFtZT1sb2NrX21hdGNoLmdyb3VwKDEpCjUxMjogICAgICAgICAgICBpZiBsb2NrX25hbWU9PSJjcmVhdGUiOgo1MTM6ICAgICAgICAgICAgICAgIHU9cnVuX3R0eShbY21kLCJ1bmxvY2siLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0zMCkKNTE0OiAgICAgICAgICAgICAgICBpZiB1LnJldHVybmNvZGUhPTA6CjUxNTogICAgICAgICAgICAgICAgICAgIHByaW50KGYiVEVNUF9VTkxPQ0tfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18bG9jaz1jcmVhdGV8cmM9e3UucmV0dXJuY29kZX0iLGZpbGU9c3lzLnN0ZGVycikKNTE2OiAgICAgICAgICAgICAgICBpZiBwLmV4aXN0cygpOgo1MTc6ICAgICAgICAgICAgICAgICAgICB0cnk6CjUxODogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl91bmxvY2s9cC5yZWFkX3RleHQoZXJyb3JzPSJyZXBsYWNlIikKNTE5OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MjA6ICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfdW5sb2NrPSIiCjUyMTogICAgICAgICAgICAgICAgICAgIGlmIHJlLnNlYXJjaChyIig/bSlebG9jazpccypjcmVhdGVccyokIixhZnRlcl91bmxvY2spOgo1MjI6ICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgyKQo1MjM6ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKNTI0OiAgICAgICAgICAgIGVsc2U6CjUyNTogICAgICAgICAgICAgICAgcHJpbnQoZiJURU1QX0NMRUFOVVBfTE9DS19CTE9DS0VEfGtpbmQ9e2tpbmR9fHZtaWQ9e3ZtaWR9fGxvY2s9e2xvY2tfbmFtZX0iLGZpbGU9c3lzLnN0ZGVycikKNTI2OiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKNTI3OiAgICAgICAgc3RhdHVzPXJ1bihbY21kLCJzdGF0dXMiLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0yMCkKNTI4OiAgICAgICAgaWYgc3RhdHVzLnJldHVybmNvZGU9PTAgYW5kIGIicnVubmluZyIgaW4gc3RhdHVzLnN0ZG91dDoKNTI5OiAgICAgICAgICAgIHN0b3BfYXJndj1bY21kLCJzdG9wIixzdHIodm1pZCldCjUzMDogICAgICAgICAgICBpZiBraW5kPT0icWVtdSI6IHN0b3BfYXJndis9WyItLXNraXBsb2NrIiwiMSJdCjUzMTogICAgICAgICAgICBydW5fdHR5KHN0b3BfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTkwKQo1MzI6ICAgICAgICBkZXN0cm95X2FyZ3Y9W2NtZCwiZGVzdHJveSIsc3RyKHZtaWQpLCItLXB1cmdlIiwiMSJdCjUzMzogICAgICAgIGlmIGtpbmQ9PSJxZW11IjogZGVzdHJveV9hcmd2Kz1bIi0tZGVzdHJveS11bnJlZmVyZW5jZWQtZGlza3MiLCIxIiwiLS1za2lwbG9jayIsIjEiXQo1MzQ6ICAgICAgICBkZXN0cm95ZWQ9cnVuX3R0eShkZXN0cm95X2FyZ3YsY2hlY2s9RmFsc2UsdGltZW91dD0xODApCjUzNTogICAgICAgIGlmIGRlc3Ryb3llZC5yZXR1cm5jb2RlIT0wOgo1MzY6ICAgICAgICAgICAgZGV0YWlsPShkZXN0cm95ZWQuc3RkZXJyIG9yIGIiIikuZGVjb2RlKGVycm9ycz0icmVwbGFjZSIpLnJlcGxhY2UoIlxyIiwiIikuc3RyaXAoKS5yZXBsYWNlKCJcbiIsIiAiKVs6ODAwXQo1Mzc6ICAgICAgICAgICAgcHJpbnQoZiJURU1QX0RFU1RST1lfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18cmM9e2Rlc3Ryb3llZC5yZXR1cm5jb2RlfXxkZXRhaWw9e2RldGFpbH0iLGZpbGU9c3lzLnN0ZGVycikKNTM4OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVl\nROT_NO_RESIDUE_DEF_FOUND=true\nROT_NO_RESIDUE_DEF_B64=NTMwOiAgICAgICAgICAgIGlmIGtpbmQ9PSJxZW11Ijogc3RvcF9hcmd2Kz1bIi0tc2tpcGxvY2siLCIxIl0KNTMxOiAgICAgICAgICAgIHJ1bl90dHkoc3RvcF9hcmd2LGNoZWNrPUZhbHNlLHRpbWVvdXQ9OTApCjUzMjogICAgICAgIGRlc3Ryb3lfYXJndj1bY21kLCJkZXN0cm95IixzdHIodm1pZCksIi0tcHVyZ2UiLCIxIl0KNTMzOiAgICAgICAgaWYga2luZD09InFlbXUiOiBkZXN0cm95X2FyZ3YrPVsiLS1kZXN0cm95LXVucmVmZXJlbmNlZC1kaXNrcyIsIjEiLCItLXNraXBsb2NrIiwiMSJdCjUzNDogICAgICAgIGRlc3Ryb3llZD1ydW5fdHR5KGRlc3Ryb3lfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MCkKNTM1OiAgICAgICAgaWYgZGVzdHJveWVkLnJldHVybmNvZGUhPTA6CjUzNjogICAgICAgICAgICBkZXRhaWw9KGRlc3Ryb3llZC5zdGRlcnIgb3IgYiIiKS5kZWNvZGUoZXJyb3JzPSJyZXBsYWNlIikucmVwbGFjZSgiXHIiLCIiKS5zdHJpcCgpLnJlcGxhY2UoIlxuIiwiICIpWzo4MDBdCjUzNzogICAgICAgICAgICBwcmludChmIlRFTVBfREVTVFJPWV9FUlJPUnxraW5kPXtraW5kfXx2bWlkPXt2bWlkfXxyYz17ZGVzdHJveWVkLnJldHVybmNvZGV9fGRldGFpbD17ZGV0YWlsfSIsZmlsZT1zeXMuc3RkZXJyKQo1Mzg6ICAgICAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTM5OiAgICAgICAgdGltZS5zbGVlcCgzKQo1NDA6ICAgIHJldHVybiBGYWxzZQo1NDE6CjU0MjpkZWYgY2x1c3Rlcl93aXRob3V0X3RlbXAocWlkLGxpZCx0aW1lb3V0PTMwKToKNTQzOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt0aW1lb3V0CjU0NDogICAgd2hpbGUgVHJ1ZToKNTQ1OiAgICAgICAgcmVzb3VyY2VzPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNTQ2OiAgICAgICAgaWYgc3RyKHFpZCkgbm90IGluIHJlc291cmNlcyBhbmQgc3RyKGxpZCkgbm90IGluIHJlc291cmNlczoKNTQ3OiAgICAgICAgICAgIHJldHVybiByZXNvdXJjZXMKNTQ4OiAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOgo1NDk6ICAgICAgICAgICAgZGllKCJURU1QX0lEX1JFU0lEVUVfUFJFU0VOVCIsNzApCjU1MDogICAgICAgIHRpbWUuc2xlZXAoMikKNTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLg==\nROT_REMOTE_METADATA_DEF_FOUND=true\nROT_REMOTE_METADATA_DEF_B64=MzYxOiAgICBpZiBxIGlzIE5vbmU6IGRpZSgiTk9fUUVNVV9HVUVTVF9BR0VOVF9FTElHSUJMRSIsNzUpCjM2MjogICAgbD1Ob25lCjM2MzogICAgZm9yIHggaW4gcm90YXRlX2FmdGVyKHBbImx4Y19yb3RhdGlvbiJdLHN0YXRlLmdldCgibHhjX2N1cnNvciIpKToKMzY0OiAgICAgICAgaWYgbHhjX3J1bm5pbmcocmVnLHgpOiBsPXg7IGJyZWFrCjM2NTogICAgaWYgbCBpcyBOb25lOiBkaWUoIk5PX0xYQ19SVU5OSU5HX0VMSUdJQkxFIiw3NSkKMzY2OiAgICByZXR1cm4gcSxsLHNraXBwZWQKMzY3OgozNjg6ZGVmIHJjbG9uZV9jYXQocmVtb3RlLHRpbWVvdXQ9NjApOgozNjk6ICAgIHA9cnVuKFtSQ0xPTkUsImNhdCIscmVtb3RlXSxjaGVjaz1GYWxzZSxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0KQozNzA6ICAgIGlmIHAucmV0dXJuY29kZSE9MDogZGllKCJSQ0xPTkVfQ0FUX0ZBSUxFRCIsNzQpCjM3MTogICAgcmV0dXJuIHAuc3Rkb3V0CjM3MjoKMzczOmRlZiB2YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEoaW5mbyxjbG91ZCk6CjM3NDogICAgYmFzZT1pbmZvWyJyZW1vdGVfYV9iYXNlIl0gaWYgY2xvdWQ9PSJBIiBlbHNlIGluZm9bInJlbW90ZV9iX2Jhc2UiXQozNzU6ICAgIHNlYWxfYnl0ZXM9cmNsb25lX2NhdChiYXNlLnJzdHJpcCgiLyIpKyIvc2VhbC5qc29uIiw2MCkKMzc2OiAgICBtYW5pZmVzdF9ieXRlcz1yY2xvbmVfY2F0KGJhc2UucnN0cmlwKCIvIikrIi9QQVJUUy50c3YiLDYwKQozNzc6ICAgIHRyeTogc2VhbD1qc29uLmxvYWRzKHNlYWxfYnl0ZXMpCjM3ODogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJSRU1PVEVfU0VBTF9KU09OX0lOVkFMSURfIitpbmZvWyJ2bWlkIl0sNjYpCjM3OTogICAgZXhwZWN0PXsKMzgwOiAgICAgICJzY2hlbWEiOiJob21lbGFiLWNsb3VkLXF1b3J1bS1zZWFsLXYxIiwic3RhdHVzIjoiU0VBTEVEIiwibG9naWNhbF9pZCI6aW5mb1sibG9naWNhbF9pZCJdLAozODE6ICAgICAgImdlbmVyYXRpb24iOmluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjppbmZvWyJwYXlsb2FkX25hbWUiXSwKMzgyOiAgICAgICJhcmNoaXZlX3NpemVfYnl0ZXMiOmluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJhcmNoaXZlX3NoYTI1NiI6aW5mb1siYXJjaGl2ZV9zaGEyNTYiXSwKMzgzOiAgICAgICJwYXJ0X2NvdW50IjppbmZvWyJwYXJ0X2NvdW50Il0sInBhcnRzX21hbmlmZXN0X3NoYTI1NiI6aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il0sCjM4NDogICAgICAiY2xvdWRfcXVvcnVtIjoyLCJsb2NhbF9jbGVhbnVwIjoiT0siLCJsb2NhbF9wYXlsb2FkX3ByZXNlbnQiOkZhbHNlCjM4NTogICAgfQozODY6ICAgIGZvciBrLHYgaW4gZXhwZWN0Lml0ZW1zKCk6CjM4NzogICAgICAgIGlmIHNlYWwuZ2V0KGspIT12OiBkaWUoIlJFTU9URV9TRUFMX01JU01BVENIXyIraW5mb1sidm1pZCJdKyJfIitrLDY2KQozODg6ICAgIGlmIGhhc2hsaWIuc2hhMjU2KG1hbmlmZXN0X2J5dGVzKS5oZXhkaWdlc3QoKSE9aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il06IGRpZSgiUkVNT1RFX01BTklGRVNUX1NIQV9NSVNNQVRDSF8iK2luZm9bInZtaWQiXSw2NikKMzg5OiAgICByb3dzPXBhcnNlX21hbmlmZXN0KG1hbmlmZXN0X2J5dGVzLGluZm9bInBhcnRfY291bnQiXSxpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXSkKMzkwOiAgICByZXR1cm4gYmFzZSxyb3dzLG1hbmlmZXN0X2J5dGVzCjM5MToKMzkyOmRlZiBwYXJzZV9tYW5pZmVzdChyYXcsZXhwZWN0ZWRfY291bnQsZXhwZWN0ZWRfdG90YWwpOgozOTM6ICAgIHJvd3M9W10KMzk0OiAgICB0b3RhbD0wCjM5NTogICAgdHJ5OiBsaW5lcz1yYXcuZGVjb2RlKCkuc3BsaXRsaW5lcygpCjM5NjogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJNQU5JRkVTVF9URVhUX0lOVkFMSUQiLDY2KQozOTc6ICAgIGZvciBpLGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKMzk4OiAgICAgICAgZj1saW5lLnNwbGl0KCJcdCIpCjM5OTogICAgICAgIGlmIGxlbihmKSE9NDogZGllKCJNQU5JRkVTVF9ST1dfSU5WQUxJRCIsNjYpCjQwMDogICAgICAgIGlkeCxuYW1lLHNpemVfcyxwc2hhPWYKNDAxOiAgICAgICAgbT1QQVJULmZ1bGxtYXRjaChuYW1lKQo0MDI6ICAgICAgICBpZiBpZHghPWYie2k6MDhkfSIgb3IgbSBpcyBOb25lIG9yIG0uZ3JvdXAoMSkhPWlkeDogZGllKCJNQU5JRkVTVF9JTkRFWF9JTlZBTElEIiw2NikKNDAzOiAgICAgICAgaWYgbm90IHNpemVfcy5pc2RpZ2l0KCkgb3IgaW50KHNpemVfcyk8PTAgb3IgaW50KHNpemVfcyk+NTM2ODcwOTEyOiBkaWUoIk1BTklGRVNUX1NJWkVfSU5WQUxJRCIsNjYpCjQwNDogICAgICAgIGlmIG5vdCBIRVg2NC5mdWxsbWF0Y2gocHNoYSk6IGRpZSgiTUFOSUZFU1RfUEFSVF9TSEFfSU5WQUxJRCIsNjYpCjQwNTogICAgICAgIHNpemU9aW50KHNpemVfcyk7IHRvdGFsKz1zaXplOyByb3dzLmFwcGVuZCgoaWR4LG5hbWUsc2l6ZSxwc2hhKSkKNDA2OiAgICBpZiBsZW4ocm93cykhPWV4cGVjdGVkX2NvdW50IG9yIHRvdGFsIT1leHBlY3RlZF90b3RhbDogZGllKCJNQU5JRkVTVF9UT1RBTF9JTlZBTElEIiw2NikKNDA3OiAgICByZXR1cm4gcm93cwo0MDg6CjQwOTpkZWYgcHZlc21fYXZhaWxhYmxlX2J5dGVzKCk6CjQxMDogICAgdHh0PXJ1bl90ZXh0KFtQVkVTTSwic3RhdHVzIl0sdGltZW91dD0zMCkKNDExOiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo0MTI6ICAgICAgICBmPWxpbmUuc3BsaXQoKQo0MTM6ICAgICAgICBpZiBmIGFuZCBmWzBdPT0ibG9jYWwtbHZtIjoKNDE0OiAgICAgICAgICAgIGlmIGxlbihmKTw3IG9yIGZbMl0hPSJhY3RpdmUiIG9yIG5vdCBmWzVdLmlzZGlnaXQoKTogZGllKCJMT0NBTF9MVk1fU1RBVFVTX0lOVkFMSUQiLDY2KQo0MTU6ICAgICAgICAgICAgcmV0dXJuIGludChmWzVdKSoxMDI0CjQxNjogICAgZGllKCJMT0NBTF9MVk1fTUlTU0lORyIsNjYpCjQxNzo=\nROT_LOAD_STATE_DEF_FOUND=true\nROT_LOAD_STATE_DEF_B64=NDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0NzM6ICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0NzQ6ICAgICAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOiByYWlzZSBEcmlsbEVycm9yKCJCQUNLVVBfTE9DS19CVVNZIiw3NSkKNDc1OiAgICAgICAgICAgIHRpbWUuc2xlZXAoMjApCjQ3NjogICAgZGVmIF9fZXhpdF9fKHNlbGYsKmEpOgo0Nzc6ICAgICAgICBmb3IgZiBpbiByZXZlcnNlZChzZWxmLmZkcyk6CjQ3ODogICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0Nzk6ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0ODA6ICAgICAgICBzZWxmLmZkcz1bXQo0ODE6CjQ4MjpkZWYgcGlja19mcmVlKHJlc291cmNlcyxzdGFydCxlbmQpOgo0ODM6ICAgIHVzZWQ9e2ludCh4KSBmb3IgeCBpbiByZXNvdXJjZXN9CjQ4NDogICAgZm9yIGkgaW4gcmFuZ2Uoc3RhcnQsZW5kKzEpOgo0ODU6ICAgICAgICBpZiBpIG5vdCBpbiB1c2VkOiByZXR1cm4gaQo0ODY6ICAgIGRpZSgiVEVNUF9JRF9SQU5HRV9FWEhBVVNURUQiLDc1KQ==\nROT_REGISTRY_DEF_FOUND=true\nROT_REGISTRY_DEF_B64=MjYzOiAgICBpZiBhZ2VfZGF5cz5mbG9hdChwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0pOiBkaWUoIkVTQ1JPV19TRU1BTlRJQ19QUk9PRl9TVEFMRSIsNzUpCjI2NDogICAgYT1yZWFkX2pzb24ocGF0aGxpYi5QYXRoKHBbImF1ZGl0X3BhdGgiXSkpCjI2NTogICAgaWYgbm90IChhLmdldCgiYXVkaXRfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJiYWNrdXBfc3RhdHVzIik9PSJHUkVFTiIgYW5kCjI2NjogICAgICAgICAgICBhLmdldCgiZHJfcmVhZGluZXNzIik9PSJQUk9WRU4iIGFuZCBhLmdldCgiZHJfcHJvb2Zfc3RhdHVzIik9PSJQUk9WRU4iIGFuZAoyNjc6ICAgICAgICAgICAgYS5nZXQoImVzY3Jvd19zdGF0dXMiKT09Ik9LIiBhbmQgYS5nZXQoInFlbXVfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kCjI2ODogICAgICAgICAgICBhLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kIGEuZ2V0KCJmdWxsX3NpdGVfZHJfcHJvdmVuIikgaXMgVHJ1ZSk6CjI2OTogICAgICAgIGRpZSgiQ1VSUkVOVF9CQUNLVVBfQVVESVRfTk9UX0RSX1JFQURZIiw3NSkKMjcwOiAgICByZXR1cm4geyJjaXBoZXJ0ZXh0X3NoYV92ZXJpZmllZCI6VHJ1ZSwic2VtYW50aWNfcHJvb2Zfc2VhbF9zaGFfdmVyaWZpZWQiOlRydWUsCjI3MTogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfYXRfdXRjIjpzWyJzZWFsZWRfYXRfdXRjIl0sInNlbWFudGljX3Byb29mX2FnZV9kYXlzIjpyb3VuZChhZ2VfZGF5cyw0KSwKMjcyOiAgICAgICAgICAgICJzZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiOnBbImVzY3Jvd19zZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiXSwKMjczOiAgICAgICAgICAgICJwaHlzaWNhbF9lc2Nyb3dfY29waWVzIjoiMl9VU0VSX0FUVEVTVEVEIiwicGh5c2ljYWxfZXNjcm93X21lZGlhX3JlYWRfcHJvdmVuIjpGYWxzZX0KMjc0OgoyNzU6ZGVmIHJlZ2lzdHJ5KHApOgoyNzY6ICAgIHI9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJyZWdpc3RyeV9wYXRoIl0pKQoyNzc6ICAgIGlmIHIuZ2V0KCJzY2hlbWEiKSE9ImhvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeS12MSI6IGRpZSgiUkVHSVNUUllfSU5WQUxJRCIsNjYpCjI3ODogICAgb3V0PXt9CjI3OTogICAgZm9yIHggaW4gci5nZXQoInRhcmdldHMiLFtdKToKMjgwOiAgICAgICAgaWYgeC5nZXQoImtpbmQiKT09IlZNIiBhbmQgeC5nZXQoImxpZmVjeWNsZSIpPT0iQUNUSVZFIjoKMjgxOiAgICAgICAgICAgIHZtaWQ9c3RyKHguZ2V0KCJpZCIsIiIpKQoyODI6ICAgICAgICAgICAgb3duZXI9eC5nZXQoIm93bmVyIikKMjgzOiAgICAgICAgICAgIGlmIG5vdCB2bWlkLmlzZGlnaXQoKSBvciBvd25lciBub3QgaW4gKCJwdmUwMSIsInB2ZTAyIiwicHZlMDMiKSBvciB2bWlkIGluIG91dDogZGllKCJSRUdJU1RSWV9WTV9JTlZBTElEIiw2NikKMjg0OiAgICAgICAgICAgIG91dFt2bWlkXT17ImxvZ2ljYWxfaWQiOnguZ2V0KCJsb2dpY2FsX2lkIiksIm93bmVyIjpvd25lcn0KMjg1OiAgICByZXF1aXJlZD1zZXQocFsicWVtdV9yb3RhdGlvbiJdK3BbImx4Y19yb3RhdGlvbiJdK2xpc3QocC5nZXQoInFlbXVfZXhjbHVkZWQiLHt9KSkpCjI4NjogICAgaWYgbm90IHJlcXVpcmVkLmlzc3Vic2V0KG91dCk6IGRpZSgiUkVHSVNUUllfUk9UQVRJT05fVEFSR0VUX01JU1NJTkciLDY2KQoyODc6ICAgIHJldHVybiBvdXQKMjg4OgoyODk6ZGVmIG93bmVyX2hvc3Qob3duZXIpOgoyOTA6ICAgIHJldHVybiB7InB2ZTAyIjoicm9vdEBbUFJJVkFURV9JUF0iLCJwdmUwMyI6InJvb3RAW1BSSVZBVEVfSVBdIn0uZ2V0KG93bmVyKQoyOTE6CjI5MjpkZWYgc3NoX2Jhc2Uod2l0aF9zdGRpbj1GYWxzZSk6CjI5MzogICAgYmFzZT1bU1NIXQoyOTQ6ICAgIGlmIG5vdCB3aXRoX3N0ZGluOiBiYXNlLmFwcGVuZCgiLW4iKQoyOTU6ICAgIHJldHVybiBiYXNlK1siLW8iLCJCYXRjaE1vZGU9eWVzIiwiLW8iLCJDb25uZWN0VGltZW91dD0xNSIsIi1vIiwiU3RyaWN0SG9zdEtleUNoZWNraW5nPXllcyIsIi1vIiwiVXNlcktub3duSG9zdHNGaWxlPS9yb290Ly5zc2gva25vd25faG9zdHMiXQoyOTY6CjI5NzpkZWYgbm9kZV9ydW4ob3duZXIsYXJndixjaGVjaz1UcnVlLHRpbWVvdXQ9Tm9uZSxpbnB1dF9ieXRlcz1Ob25lKToKMjk4OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMjk5OiAgICAgICAgcmV0dXJuIHJ1bihhcmd2LGNoZWNrPWNoZWNrLGNhcHR1cmU9VHJ1ZSx0aW1lb3V0PXRpbWVvdXQsaW5wdXRfYnl0ZXM9aW5wdXRfYnl0ZXMpCjMwMDogICAgaG9zdD1vd25lcl9ob3N0KG93bmVyKQozMDE6ICAgIGlmIGhvc3QgaXMgTm9uZTogZGllKCJPV05FUl9JTlZBTElEIiw2NCkKMzAyOiAgICBjbWQ9c3NoX2Jhc2Uod2l0aF9zdGRpbj1pbnB1dF9ieXRlcyBpcyBub3QgTm9uZSkrW2hvc3RdK1tzdHIoeCkgZm9yIHggaW4gYXJndl0KMzAzOiAgICByZXR1cm4gcnVuKGNtZCxjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDQ6CjMwNTpkZWYgZXhwb3J0X3N0YXRlKHAscmVnLHZtaWQsc3RhdGVfZXhwb3J0ZXI9U1RBVEVfRVhQT1JURVIpOgozMDY6ICAgIGl0ZW09cmVnW3ZtaWRdOyBsb2dpY2FsPWl0ZW1bImxvZ2ljYWxfaWQiXTsgb3duZXI9aXRlbVsib3duZXIiXQozMDc6ICAgIGlmIGxvZ2ljYWwhPWYidm17dm1pZH0iOiBkaWUoIlJFR0lTVFJZX0xPR0lDQUxfSU5WQUxJRF8iK3ZtaWQsNjYpCjMwODogICAgYXNzZXJ0X3JlZ3VsYXJfcm9vdChwYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpKQozMDk6ICAgIGlmIG93bmVyPT0icHZlMDEiOgozMTA6ICAgICAgICBwcj1ydW4oW1BZVEhPTiwiLUIiLHN0YXRlX2V4cG9ydGVyLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCkKMzExOiAgICBlbHNlOgozMTI6ICAgICAgICBkYXRhPXBhdGhsaWIuUGF0aChzdGF0ZV9leHBvcnRlcikucmVhZF9ieXRlcygpCjMxMzogICAgICAgIHByPW5vZGVfcnVuKG93bmVyLFtQWVRIT04sIi1CIiwiLSIsdm1pZCxsb2dpY2FsXSx0aW1lb3V0PTMwLGlucHV0X2J5dGVzPWRhdGEpCjMxNDogICAgaWYgcHIucmV0dXJuY29kZSE9MDogZGllKCJTVEFURV9FWFBPUlRfRkFJTEVEXyIrdm1pZCw2NSkKMzE1OiAgICB0cnk6IG9iaj1qc29uLmxvYWRzKHByLnN0ZG91dC5kZWNvZGUoKSkKMzE2OiAgICBleGNlcHQgRXhjZXB0aW9uOiBkaWUoIlNUQVRFX0VYUE9SVF9KU09OX0lOVkFMSURfIit2bWlkLDY2KQozMTc6ICAgIGlmIG5vdCAob2JqLmdldCgic2NoZW1hIik9PSJob21lbGFiLWJvb3QtZHJpbGwtc3RhdGUtZXhwb3J0LXYxIiBhbmQgb2JqLmdldCgidm1pZCIpPT12bWlkIGFuZAozMTg6ICAgICAgICAgICAgb2JqLmdldCgibG9naWNhbF9pZCIpPT1sb2dpY2FsIGFuZCBvYmouZ2V0KCJzdHJpY3Rfc2VhbGVkX3Jlc3RvcmVfcHJvdmVuIikgaXMgVHJ1ZSk6CjMxOTogICAgICAgIGRpZSgiU1RBVEVfRVhQT1JUX0NPTlRFTlRfSU5WQUxJRF8iK3ZtaWQsNjYp\nROT_FUNC_PRECHECK_PRESENT=true\nROT_FUNC_PRECHECK_ARGS=p,state_exporter,mode\nROT_FUNC_EXECUTE_PRESENT=true\nROT_FUNC_EXECUTE_ARGS=mode,p\nROT_FUNC_FETCH_ARCHIVE_PRESENT=true\nROT_FUNC_FETCH_ARCHIVE_ARGS=info,cloud,work\nROT_FUNC_QEMU_BOOT_PRESENT=true\nROT_FUNC_QEMU_BOOT_ARGS=archive,tempid,wait_sec,run_id\nROT_FUNC_CLEANUP_ONE_PRESENT=true\nROT_FUNC_CLEANUP_ONE_ARGS=kind,vmid,created_epoch\nROT_FUNC_CLUSTER_WITHOUT_TEMP_PRESENT=true\nROT_FUNC_CLUSTER_WITHOUT_TEMP_ARGS=qid,lid,timeout\nROT_FUNC_VALIDATE_REMOTE_METADATA_PRESENT=true\nROT_FUNC_VALIDATE_REMOTE_METADATA_ARGS=info,cloud\nROT_FUNC_LOAD_STATE_DEFAULT_PRESENT=true\nROT_FUNC_LOAD_STATE_DEFAULT_ARGS=\nROT_FUNC_REGISTRY_PRESENT=true\nROT_FUNC_REGISTRY_ARGS=p\nROT_FUNC_SELECT_PAIR_PRESENT=false\nAUDSRC_DR_READY_FOUND=false\nAUDSRC_DR_READY_LOWER_FOUND=false\nAUDSRC_BOOT_FOUND=false\nAUDSRC_RESTORE_FOUND=true\nAUDSRC_RESTORE_B64=MTojIS91c3IvYmluL2VudiBweXRob24zCjI6aW1wb3J0IHN5cyxvcyxqc29uLHRpbWUsc3VicHJvY2VzcyxwYXRobGliLHJlLGRhdGV0aW1lCjM6TU9ERT1zeXMuYXJndlsxXSBpZiBsZW4oc3lzLmFyZ3YpPjEgZWxzZSAiYWxsIgo0OmlmIE1PREUgbm90IGluICgiYWxsIiwid3JpdGUtaGVhbHRoIiwic2NoZWR1bGVkIiwiY29udHJhY3QiKToKNTogICAgcHJpbnQoIkFVRElUX0VSUk9SPVVTQUdFX2FsbF93cml0ZS1oZWFsdGhfc2NoZWR1bGVkX2NvbnRyYWN0IixmaWxlPXN5cy5zdGRlcnIpOyBzeXMuZXhpdCg2NCkKNjppZiBNT0RFPT0iY29udHJhY3QiOgo3OiAgICBwcmludCgiQVVESVRfQ09OVFJBQ1Q9djItcGx1cy1zZWFsZWQtcXVvcnVtIikKODogICAgcHJpbnQoIkFVRElUX1NDSEVNQT1ob21lbGFiLWJhY2t1cC1hdWRpdC12MyIpCjk6ICAgIHN5cy5leGl0KDApCjEwOgoxMTpSRUc9cGF0aGxpYi5QYXRoKCIvZXRjL2hvbWVsYWItYmFja3VwL3RhcmdldHMuanNvbiIpCjEyOlNUQVRFPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1iYWNrdXAtdjIvc3RhdGUiKQoxMzpRUk9PVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL2Nsb3VkLXF1b3J1bSIpCjE0OlZNUkVTVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL3ZtLXJlc3RvcmUtdmFsaWRhdGlvbiIpCjE1OkFQUFJFU1Q9cGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWJhY2t1cC9hcHAtcmVzdG9yZS12YWxpZGF0aW9uIikKMTY6UkVHSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeSIKMTc6QVBQUT0iL3Vzci9sb2NhbC9zYmluL2hvbWVsYWItYXBwLWNsb3VkLXF1b3J1bS1xdWV1ZSIKMTg6R0ZTSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLWdmcy1wb2xpY3kiCjE5OkdGU1A9Ii9ldGMvaG9tZWxhYi1iYWNrdXAvZ2ZzLXJldGVudGlvbi5qc29uIgoyMDpSRVQ9Ii91c3IvbG9jYWwvc2Jpbi9ob21lbGFiLWJhY2t1cC1yZXRlbnRpb24tZ2MiCjIxOldUPSIvcm9vdC9ob21lbGFiLW9wcy1jci0yMDI2LTEwMDUiCjIyOkJSQU5DSD0iY3ItMjAyNi0xMDA1LWJhY2t1cC12Mi1oZWFsdGgtYWxlcnRpbmctcmVtZWRpYXRpb24iCjIzOkRSU0VBTD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYWRtaW4vc2VhbHMvc2l0ZS1kci1maW5hbC1hY2NlcHRhbmNlLXYxLmpzb24iKQoyNDpDTE9VREJfSEVBTFRIPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvc2tsYWRjaGlrLXJlcG9ydHMtbW9uaXRvci1iYWNrdXAvcmVzdG9yZS1jaGVjay1oZWFsdGgudHh0IikKMjU6SEVBTFRIUz1bcGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWhlYWx0aC9iYWNrdXAtYXVkaXQtdjIuanNvbiIpLHBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1oZWFsdGgvYmFja3VwLWF1ZGl0Lmpzb24iKV0KMjY6CjI3OmRlZiBydW4oY21kLHRpbWVvdXQ9NjAsZW52PU5vbmUpOgoyODogICAgdHJ5OgoyOTogICAgICAgIHA9c3VicHJvY2Vzcy5ydW4oY21kLHRleHQ9VHJ1ZSxzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD10aW1lb3V0LGVudj1lbnYpCjMwOiAgICAgICAgcmV0dXJuIHAucmV0dXJuY29kZSxwLnN0ZG91dCxwLnN0ZGVycgozMTogICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQgYXMgZToKMzI6ICAgICAgICByZXR1cm4gMTI0LGUuc3Rkb3V0IG9yICIiLGUuc3RkZXJyIG9yICIiCjMzOgozNDpkZWYgY29sbGVjdChvYmosb3V0KToKMzU6ICAgIGlmIGlzaW5zdGFuY2Uob2JqLGRpY3QpOgozNjogICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLmdldCgibG9naWNhbF9pZCIpLHN0cik6IG91dC5hcHBlbmQob2JqKQozNzogICAgICAgIGZvciB2IGluIG9iai52YWx1ZXMoKTogY29sbGVjdCh2LG91dCkKMzg6ICAgIGVsaWYgaXNpbnN0YW5jZShvYmosbGlzdCk6CjM5OiAgICAgICAgZm9yIHYgaW4gb2JqOiBjb2xsZWN0KHYsb3V0KQo0MDoKNDE6ZGVmIHBhcnNlX2Vwb2NoKG9iaik6CjQyOiAgICBmb3IgayBpbiAoInNlYWxlZF9lcG9jaCIsImxhc3Rfc3VjY2Vzc19lcG9jaCIsInVwZGF0ZWRfZXBvY2giKToKNDM6ICAgICAgICB2PW9iai5nZXQoaykKNDQ6ICAgICAgICBpZiBpc2luc3RhbmNlKHYsKGludCxmbG9hdCkpIGFuZCB2PjA6IHJldHVybiBpbnQodikKNDU6ICAgIGZvciBrIGluICgic2VhbGVkX2F0X3V0YyIsInVwZGF0ZWRfYXRfdXRjIiwiY29tcGxldGVkX2F0X3V0YyIpOgo0NjogICAgICAgIHY9b2JqLmdldChrKQo0NzogICAgICAgIGlmIGlzaW5zdGFuY2UodixzdHIpIGFuZCB2Ogo0ODogICAgICAgICAgICB0cnk6CjQ5OiAgICAgICAgICAgICAgICByZXR1cm4gaW50KGRhdGV0aW1lLmRhdGV0aW1lLmZyb21pc29mb3JtYXQodi5yZXBsYWNlKCJaIiwiKzAwOjAwIikpLnRpbWVzdGFtcCgpKQo1MDogICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBwYXNzCjUxOiAgICByZXR1cm4gTm9uZQo1MjoKNTM6ZGVmIGxhdGVzdF9sZWdhY3kobG9naWNhbCxraW5kKToKNTQ6ICAgIGQ9UVJPT1QvbG9naWNhbAo1NTogICAgYmVzdD1Ob25lOyBiZXN0X2Vwb2NoPS0xCjU2OiAgICBpZiBub3QgZC5pc19kaXIoKTogcmV0dXJuIE5vbmUKNTc6ICAgIGZvciBwIGluIGQuZ2xvYigiKi5qc29uIik6CjU4OiAgICAgICAgdHJ5OiBvYmo9anNvbi5sb2FkcyhwLnJlYWRfdGV4dChlbmNvZGluZz0idXRmLTgiKSkKNTk6ICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBjb250aW51ZQo2MDogICAgICAgIGVwb2NoPXBhcnNlX2Vwb2NoKG9iaikKNjE6ICAgICAgICBzY29yZT1lcG9jaCBpZiBlcG9jaCBpcyBub3QgTm9uZSBlbHNlIGludChwLnN0YXQoKS5zdF9tdGltZSkKNjI6ICAgICAgICBpZiBzY29yZT5iZXN0X2Vwb2NoOgo2MzogICAgICAgICAgICBiZXN0X2Vwb2NoPXNjb3JlOyBiZXN0PShwLG9iaixzY29yZSkKNjQ6ICAgIGlmIG5vdCBiZXN0OiByZXR1cm4gTm9uZQo2NTogICAgcCxvYmosZXBvY2g9YmVzdAo2NjogICAgZ2VuPW9iai5nZXQoImdlbmVyYXRpb24iKQo2NzogICAgc3RyaWN0PShvYmouZ2V0KCJzdGF0dXMiKT09IlNFQUxFRCIgYW5kIG9iai5nZXQoImNsb3VkX3F1b3J1bSIpPT0yIGFuZCBvYmouZ2V0KCJjbG91ZF9hX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgiY2xvdWRfYl92ZXJpZmllZCIpIGlzIFRydWUgYW5kIG9iai5nZXQoInBhcnRfaGFzaGVzX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgic2VhbF93cml0dGVuIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgibG9jYWxfcGF5bG9hZF9wcmVzZW50IikgaXMgRmFsc2UgYW5kIG9iai5nZXQoImxvY2FsX2NsZWFudXAiKT09Ik9LIikKNjg6ICAgIHJyb290PVZNUkVTVCBpZiBraW5kPT0iVk0iIGVsc2UgQVBQUkVTVAo2OTogICAgcmV2PShycm9vdC9sb2dpY2FsLyhzdHIoZ2VuKSsiLmpzb24iKSkgaWYgZ2VuIGVsc2UgTm9uZQo3MDogICAgcmVzdG9yZT1GYWxzZQo3MTogICAgaWYgcmV2IGFuZCByZXYuaXNfZmlsZSgpOgo3MjogICAgICAgIHRyeToKNzM6ICAgICAgICAgICAgcmo9anNvbi5sb2FkcyhyZXYucmVhZF90ZXh0KGVuY29kaW5nPSJ1dGYtOCIpKQo3NDogICAgICAgICAgICByZXN0b3JlPShyai5nZXQoInJlc3VsdCIpPT0iT0siKQo3NTogICAgICAgIGV4Y2VwdCBFeGNlcHRpb246IHBhc3MKNzY6ICAgIGFnZT1tYXgoMCxpbnQodGltZS50aW1lKCktZXBvY2gpKSBpZiBlcG9jaCBlbHNlIE5vbmUKNzc6ICAgIHJldHVybiB7ImdlbmVyYXRpb24iOmdlbiwic3RyaWN0IjpzdHJpY3QsInJlc3RvcmVfb2siOnJlc3RvcmUsImFnZV9zZWNvbmRzIjphZ2UsInN0YXRlX2ZpbGUiOnN0cihwKSwib2JqIjpvYmp9Cjc4Ogo3OTpkZWYgdW5pdF9vayh1bml0KToKODA6ICAgIGE9cnVuKFsic3lzdGVtY3RsIiwiaXMtYWN0aXZlIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MTogICAgZT1ydW4oWyJzeXN0ZW1jdGwiLCJpcy1lbmFibGVkIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MjogICAgcmV0dXJuIGE9PSJhY3RpdmUiIGFuZCBlPT0iZW5hYmxlZCIsYSxlCjgzOg==\nAUDSRC_WRITES_FILES=true\nVM150_TARGET_ENTRY_COUNT=1\nVM150_TARGET_1_KEYS_SHA256=76f391d578cdf23dffea7420973afc004f2841b41c9092d188f598d6ff3f999c\nVM150_TARGET_1_ID=150\nVM150_TARGET_1_LOGICAL_ID=vm150\nVM150_TARGET_1_KIND=VM\nVM150_TARGET_1_OWNER_SHA256=1ec037ee8d7939e1aad0c2701a1c4f09849abb191ec016f69e6f8de4142276c3\nVM150_JSON_CANDIDATE_COUNT=39\nVM150_JSON_1_AGE_SECONDS=2688173\nVM150_JSON_1_BASENAME=vm150-pve01-20260904T053517Z.json\nVM150_JSON_1_PATH_SHA256=efad5cd2aee419fd80f4308fd06a30e54426d4bd98793b8cedea8fa9bb27ca38\nVM150_JSON_1_F1_KEY=logical_id\nVM150_JSON_1_F1_VALUE=vm150\nVM150_JSON_1_F2_KEY=generation\nVM150_JSON_1_F2_VALUE=vm150-pve01-20260904T053517Z\nVM150_JSON_1_F3_KEY=vmid\nVM150_JSON_1_F3_VALUE=150\nVM150_JSON_2_AGE_SECONDS=2734927\nVM150_JSON_2_BASENAME=vm150-pve01-20260903T163557Z.json\nVM150_JSON_2_PATH_SHA256=490cb5fb334b0fe267cc10283df8b51851b37403c9da4c04068949fb8fd78d1c\nVM150_JSON_2_F1_KEY=logical_id\nVM150_JSON_2_F1_VALUE=vm150\nVM150_JSON_2_F2_KEY=generation\nVM150_JSON_2_F2_VALUE=vm150-pve01-20260903T163557Z\nVM150_JSON_2_F3_KEY=vmid\nVM150_JSON_2_F3_VALUE=150\nVM150_JSON_3_AGE_SECONDS=2785326\nVM150_JSON_3_BASENAME=vm150-pve01-20260903T023609Z.json\nVM150_JSON_3_PATH_SHA256=e39e01b8035f5baca1c53b1080423328febdfe29bc6e5cd681aef84e400c8a8d\nVM150_JSON_3_F1_KEY=logical_id\nVM150_JSON_3_F1_VALUE=vm150\nVM150_JSON_3_F2_KEY=generation\nVM150_JSON_3_F2_VALUE=vm150-pve01-20260903T023609Z\nVM150_JSON_3_F3_KEY=vmid\nVM150_JSON_3_F3_VALUE=150\nVM150_JSON_4_AGE_SECONDS=2831874\nVM150_JSON_4_BASENAME=vm150-pve01-20260902T134020Z.json\nVM150_JSON_4_PATH_SHA256=4e2bf58cf003f9d792ca892af124e65d08132b49a7942013a5c1ad6035178918\nVM150_JSON_4_F1_KEY=logical_id\nVM150_JSON_4_F1_VALUE=vm150\nVM150_JSON_4_F2_KEY=generation\nVM150_JSON_4_F2_VALUE=vm150-pve01-20260902T134020Z\nVM150_JSON_4_F3_KEY=vmid\nVM150_JSON_4_F3_VALUE=150\nVM150_JSON_5_AGE_SECONDS=2878920\nVM150_JSON_5_BASENAME=vm150-pve01-20260902T003622Z.json\nVM150_JSON_5_PATH_SHA256=0eb5d296516657ca0bb484aa1a8ed0e75adf2aa7f4d9d9657e6b4f41a082ef93\nVM150_JSON_5_F1_KEY=logical_id\nVM150_JSON_5_F1_VALUE=vm150\nVM150_JSON_5_F2_KEY=generation\nVM150_JSON_5_F2_VALUE=vm150-pve01-20260902T003622Z\nVM150_JSON_5_F3_KEY=vmid\nVM150_JSON_5_F3_VALUE=150\nVM150_JSON_6_AGE_SECONDS=2929189\nVM150_JSON_6_BASENAME=vm150-pve01-20260901T103753Z.json\nVM150_JSON_6_PATH_SHA256=53532b6be1d08637ff25a37e99b7404393e5fa1c94014c8115dc54f8bfe45fb2\nVM150_JSON_6_F1_KEY=logical_id\nVM150_JSON_6_F1_VALUE=vm150\nVM150_JSON_6_F2_KEY=generation\nVM150_JSON_6_F2_VALUE=vm150-pve01-20260901T103753Z\nVM150_JSON_6_F3_KEY=vmid\nVM150_JSON_6_F3_VALUE=150\nVM150_JSON_7_AGE_SECONDS=2975852\nVM150_JSON_7_BASENAME=vm150-pve01-20260831T214108Z.json\nVM150_JSON_7_PATH_SHA256=4cef09ec110b2ce4e76a9762ce254c3f6fb7a73cd33af5b89842e9e531784848\nVM150_JSON_7_F1_KEY=logical_id\nVM150_JSON_7_F1_VALUE=vm150\nVM150_JSON_7_F2_KEY=generation\nVM150_JSON_7_F2_VALUE=vm150-pve01-20260831T214108Z\nVM150_JSON_7_F3_KEY=vmid\nVM150_JSON_7_F3_VALUE=150\nVM150_JSON_8_AGE_SECONDS=3019217\nVM150_JSON_8_BASENAME=vm150-pve01-20260831T093800Z.json\nVM150_JSON_8_PATH_SHA256=58a804c36501e62ca91cf1c3ab96a0c173f37c8d477f24306594be04a0678972\nVM150_JSON_8_F1_KEY=logical_id\nVM150_JSON_8_F1_VALUE=vm150\nVM150_JSON_8_F2_KEY=generation\nVM150_JSON_8_F2_VALUE=vm150-pve01-20260831T093800Z\nVM150_JSON_8_F3_KEY=vmid\nVM150_JSON_8_F3_VALUE=150\nVM150_JSON_9_AGE_SECONDS=3066086\nVM150_JSON_9_BASENAME=vm150-pve01-20260830T203628Z.json\nVM150_JSON_9_PATH_SHA256=480382928bcffc5e2900de44b8cc219dcf8c19821dc10233c83f03a479641989\nVM150_JSON_9_F1_KEY=logical_id\nVM150_JSON_9_F1_VALUE=vm150\nVM150_JSON_9_F2_KEY=generation\nVM150_JSON_9_F2_VALUE=vm150-pve01-20260830T203628Z\nVM150_JSON_9_F3_KEY=vmid\nVM150_JSON_9_F3_VALUE=150\nVM150_JSON_10_AGE_SECONDS=3116522\nVM150_JSON_10_BASENAME=vm150-pve01-20260830T063610Z.json\nVM150_JSON_10_PATH_SHA256=af519b9ec9a59ef1b30417a2c789295ac48e9ce777596520cdd73cb2daadf5ba\nVM150_JSON_10_F1_KEY=logical_id\nVM150_JSON_10_F1_VALUE=vm150\nVM150_JSON_10_F2_KEY=generation\nVM150_JSON_10_F2_VALUE=vm150-pve01-20260830T063610Z\nVM150_JSON_10_F3_KEY=vmid\nVM150_JSON_10_F3_VALUE=150\nVM150_JSON_11_AGE_SECONDS=3163255\nVM150_JSON_11_BASENAME=vm150-pve01-20260829T173717Z.json\nVM150_JSON_11_PATH_SHA256=e24834ff71d84a2e6e03c31a533aae943d3fbf684ef8ccc464f5ca58d1a99225\nVM150_JSON_11_F1_KEY=logical_id\nVM150_JSON_11_F1_VALUE=vm150\nVM150_JSON_11_F2_KEY=generation\nVM150_JSON_11_F2_VALUE=vm150-pve01-20260829T173717Z\nVM150_JSON_11_F3_KEY=vmid\nVM150_JSON_11_F3_VALUE=150\nVM150_JSON_12_AGE_SECONDS=3210130\nVM150_JSON_12_BASENAME=vm150-pve01-20260829T043615Z.json\nVM150_JSON_12_PATH_SHA256=8ff2e29a41e8df7098335a02af10375308751ec56efa9d77e709f73a51cdc40a\nVM150_JSON_12_F1_KEY=logical_id\nVM150_JSON_12_F1_VALUE=vm150\nVM150_JSON_12_F2_KEY=generation\nVM150_JSON_12_F2_VALUE=vm150-pve01-20260829T043615Z\nVM150_JSON_12_F3_KEY=vmid\nVM150_JSON_12_F3_VALUE=150\nVM150_JSON_13_AGE_SECONDS=3260526\nVM150_JSON_13_BASENAME=vm150-pve01-20260828T143617Z.json\nVM150_JSON_13_PATH_SHA256=e5a08de449669ce796d24efdb17319319493f99a4949987f61890a2a4ab87ebf\nVM150_JSON_13_F1_KEY=logical_id\nVM150_JSON_13_F1_VALUE=vm150\nVM150_JSON_13_F2_KEY=generation\nVM150_JSON_13_F2_VALUE=vm150-pve01-20260828T143617Z\nVM150_JSON_13_F3_KEY=vmid\nVM150_JSON_13_F3_VALUE=150\nVM150_JSON_14_AGE_SECONDS=3325313\nVM150_JSON_14_BASENAME=vm150-pve01-20260827T203624Z.json\nVM150_JSON_14_PATH_SHA256=a90c91da69e35c48b275e68c7f9a6306a4655dffe5abe126880e3f525fd7f143\nVM150_JSON_14_F1_KEY=logical_id\nVM150_JSON_14_F1_VALUE=vm150\nVM150_JSON_14_F2_KEY=generation\nVM150_JSON_14_F2_VALUE=vm150-pve01-20260827T203624Z\nVM150_JSON_14_F3_KEY=vmid\nVM150_JSON_14_F3_VALUE=150\nVM150_JSON_15_AGE_SECONDS=3375730\nVM150_JSON_15_BASENAME=vm150-pve01-20260827T063558Z.json\nVM150_JSON_15_PATH_SHA256=57ab7089265ac9c0e72161816511ffe8819a43d0462e19883a9ecf7500ba184b\nVM150_JSON_15_F1_KEY=logical_id\nVM150_JSON_15_F1_VALUE=vm150\nVM150_JSON_15_F2_KEY=generation\nVM150_JSON_15_F2_VALUE=vm150-pve01-20260827T063558Z\nVM150_JSON_15_F3_KEY=vmid\nVM150_JSON_15_F3_VALUE=150\nVM150_JSON_16_AGE_SECONDS=3422364\nVM150_JSON_16_BASENAME=vm150-pve01-20260826T173850Z.json\nVM150_JSON_16_PATH_SHA256=fff2071f6222d4358b317f3752883ce608ad113e8730f6bee3b1eaefa197f68a\nVM150_JSON_16_F1_KEY=logical_id\nVM150_JSON_16_F1_VALUE=vm150\nVM150_JSON_16_F2_KEY=generation\nVM150_JSON_16_F2_VALUE=vm150-pve01-20260826T173850Z\nVM150_JSON_16_F3_KEY=vmid\nVM150_JSON_16_F3_VALUE=150\nVM150_JSON_17_AGE_SECONDS=3465740\nVM150_JSON_17_BASENAME=vm150-pve01-20260826T053634Z.json\nVM150_JSON_17_PATH_SHA256=9d6863bc8ff23a8a68cc90a0b0dbf31b9a89ec4890a2fcf7220abe7c543880c1\nVM150_JSON_17_F1_KEY=logical_id\nVM150_JSON_17_F1_VALUE=vm150\nVM150_JSON_17_F2_KEY=generation\nVM150_JSON_17_F2_VALUE=vm150-pve01-20260826T053634Z\nVM150_JSON_17_F3_KEY=vmid\nVM150_JSON_17_F3_VALUE=150\nVM150_JSON_18_AGE_SECONDS=3512427\nVM150_JSON_18_BASENAME=vm150-pve01-20260825T163812Z.json\nVM150_JSON_18_PATH_SHA256=ef64ef6538caefc24d123cfbc0432f51b63b33693168bdb120a80d5400032476\nVM150_JSON_18_F1_KEY=logical_id\nVM150_JSON_18_F1_VALUE=vm150\nVM150_JSON_18_F2_KEY=generation\nVM150_JSON_18_F2_VALUE=vm150-pve01-20260825T163812Z\nVM150_JSON_18_F3_KEY=vmid\nVM150_JSON_18_F3_VALUE=150\nVM150_JSON_19_AGE_SECONDS=3591704\nVM150_JSON_19_BASENAME=vm150-pve01-20260824T183626Z.json\nVM150_JSON_19_PATH_SHA256=92d083547ad1f23796a6a11ecbee18a3303a82a3710e7d063974fd5667750557\nVM150_JSON_19_F1_KEY=logical_id\nVM150_JSON_19_F1_VALUE=vm150\nVM150_JSON_19_F2_KEY=generation\nVM150_JSON_19_F2_VALUE=vm150-pve01-20260824T183626Z\nVM150_JSON_19_F3_KEY=vmid\nVM150_JSON_19_F3_VALUE=150\nVM150_JSON_20_AGE_SECONDS=3670939\nVM150_JSON_20_BASENAME=vm150-pve01-20260823T203609Z.json\nVM150_JSON_20_PATH_SHA256=1ace4425362bd41c0036ec74a7b44aed204f9fae19c99d2bf103d6094276fee0\nVM150_JSON_20_F1_KEY=logical_id\nVM150_JSON_20_F1_VALUE=vm150\nVM150_JSON_20_F2_KEY=generation\nVM150_JSON_20_F2_VALUE=vm150-pve01-20260823T203609Z\nVM150_JSON_20_F3_KEY=vmid\nVM150_JSON_20_F3_VALUE=150\nVM150_JSON_21_AGE_SECONDS=3750155\nVM150_JSON_21_BASENAME=vm150-pve01-20260822T223600Z.json\nVM150_JSON_21_PATH_SHA256=0e224d344921db46ad1703e84f9f786c0fcb5644d6e07968607653f68d4b5289\nVM150_JSON_21_F1_KEY=logical_id\nVM150_JSON_21_F1_VALUE=vm150\nVM150_JSON_21_F2_KEY=generation\nVM150_JSON_21_F2_VALUE=vm150-pve01-20260822T223600Z\nVM150_JSON_21_F3_KEY=vmid\nVM150_JSON_21_F3_VALUE=150\nVM150_JSON_22_AGE_SECONDS=3825521\nVM150_JSON_22_BASENAME=vm150-pve01-20260822T014003Z.json\nVM150_JSON_22_PATH_SHA256=a59e760b246d6efdfe7c4f0a5f260c1f72a76b181e328e7a33f94db520ac60e7\nVM150_JSON_22_F1_KEY=logical_id\nVM150_JSON_22_F1_VALUE=vm150\nVM150_JSON_22_F2_KEY=generation\nVM150_JSON_22_F2_VALUE=vm150-pve01-20260822T014003Z\nVM150_JSON_22_F3_KEY=vmid\nVM150_JSON_22_F3_VALUE=150\nVM150_JSON_23_AGE_SECONDS=3897739\nVM150_JSON_23_BASENAME=vm150-pve01-20260821T053611Z.json\nVM150_JSON_23_PATH_SHA256=077c97c61a88311e7618884aedf6083d639d4e107d9bde7c05aa81b0b4b54361\nVM150_JSON_23_F1_KEY=logical_id\nVM150_JSON_23_F1_VALUE=vm150\nVM150_JSON_23_F2_KEY=generation\nVM150_JSON_23_F2_VALUE=vm150-pve01-20260821T053611Z\nVM150_JSON_23_F3_KEY=vmid\nVM150_JSON_23_F3_VALUE=150\nVM150_JSON_24_AGE_SECONDS=4038514\nVM150_JSON_24_BASENAME=vm150-pve01-20260819T143015Z.json\nVM150_JSON_24_PATH_SHA256=ad0168705fb1abddb563d836544c3cbddb22a1a70703d1812e031bc1fc3d8377\nVM150_JSON_24_F1_KEY=logical_id\nVM150_JSON_24_F1_VALUE=vm150\nVM150_JSON_24_F2_KEY=generation\nVM150_JSON_24_F2_VALUE=vm150-pve01-20260819T143015Z\nVM150_JSON_24_F3_KEY=vmid\nVM150_JSON_24_F3_VALUE=150\nVM150_JSON_25_AGE_SECONDS=4113806\nVM150_JSON_25_BASENAME=vm150-pve01-20260818T173509Z.json\nVM150_JSON_25_PATH_SHA256=be8431499d9e3e6ed265d4cbb2660798a65578653983c6d5ae59e2e3d99165a1\nVM150_JSON_25_F1_KEY=logical_id\nVM150_JSON_25_F1_VALUE=vm150\nVM150_JSON_25_F2_KEY=generation\nVM150_JSON_25_F2_VALUE=vm150-pve01-20260818T173509Z\nVM150_JSON_25_F3_KEY=vmid\nVM150_JSON_25_F3_VALUE=150\nVM150_JSON_26_AGE_SECONDS=4185942\nVM150_JSON_26_BASENAME=vm150-pve01-20260817T213301Z.json\nVM150_JSON_26_PATH_SHA256=f5e671fc0233fb2bbbebc3c8999bb39ad4c4280c1eae1a8dbd4064a3825b16d4\nVM150_JSON_26_F1_KEY=logical_id\nVM150_JSON_26_F1_VALUE=vm150\nVM150_JSON_26_F2_KEY=generation\nVM150_JSON_26_F2_VALUE=vm150-pve01-20260817T213301Z\nVM150_JSON_26_F3_KEY=vmid\nVM150_JSON_26_F3_VALUE=150\nVM150_JSON_27_AGE_SECONDS=4261719\nVM150_JSON_27_BASENAME=vm150-pve01-20260817T003018Z.json\nVM150_JSON_27_PATH_SHA256=05b91e821a277d9ad10d3de52b107eb7e45b97727f57b417255dbef9a60c96da\nVM150_JSON_27_F1_KEY=logical_id\nVM150_JSON_27_F1_VALUE=vm150\nVM150_JSON_27_F2_KEY=generation\nVM150_JSON_27_F2_VALUE=vm150-pve01-20260817T003018Z\nVM150_JSON_27_F3_KEY=vmid\nVM150_JSON_27_F3_VALUE=150\nVM150_JSON_28_AGE_SECONDS=4334544\nVM150_JSON_28_BASENAME=vm150-pve01-20260816T041612Z.json\nVM150_JSON_28_PATH_SHA256=c999b87e71c3d6a336591a17d78ee9259d2b87d658c8ee7343b5b161dfc0e0dc\nVM150_JSON_28_F1_KEY=logical_id\nVM150_JSON_28_F1_VALUE=vm150\nVM150_JSON_28_F2_KEY=generation\nVM150_JSON_28_F2_VALUE=vm150-pve01-20260816T041612Z\nVM150_JSON_28_F3_KEY=vmid\nVM150_JSON_28_F3_VALUE=150\nVM150_JSON_29_AGE_SECONDS=4335638\nVM150_JSON_29_BASENAME=vm150-pve01-20260816T035805Z.json\nVM150_JSON_29_PATH_SHA256=a890d8089e7156e6544500344b99792a1adc142f4c2003489cd91b93fee5f93b\nVM150_JSON_29_F1_KEY=logical_id\nVM150_JSON_29_F1_VALUE=vm150\nVM150_JSON_29_F2_KEY=generation\nVM150_JSON_29_F2_VALUE=vm150-pve01-20260816T035805Z\nVM150_JSON_29_F3_KEY=vmid\nVM150_JSON_29_F3_VALUE=150\nVM150_JSON_30_AGE_SECONDS=4335883\nVM150_JSON_30_BASENAME=vm150-pve01-20260816T035401Z.json\nVM150_JSON_30_PATH_SHA256=bb77462667c0df00e5f6b63a084ab7bd5453bfe251c0011213df5e20c274f319\nVM150_JSON_30_F1_KEY=logical_id\nVM150_JSON_30_F1_VALUE=vm150\nVM150_JSON_30_F2_KEY=generation\nVM150_JSON_30_F2_VALUE=vm150-pve01-20260816T035401Z\nVM150_JSON_30_F3_KEY=vmid\nVM150_JSON_30_F3_VALUE=150\nVM150_JSON_31_AGE_SECONDS=4336166\nVM150_JSON_31_BASENAME=vm150-pve01-20260816T034912Z.json\nVM150_JSON_31_PATH_SHA256=b3889cc734bc9fd89d9c787ab9fc6ed3d284f7fcba42cc9444f928c2846f1232\nVM150_JSON_31_F1_KEY=logical_id\nVM150_JSON_31_F1_VALUE=vm150\nVM150_JSON_31_F2_KEY=generation\nVM150_JSON_31_F2_VALUE=vm150-pve01-20260816T034912Z\nVM150_JSON_31_F3_KEY=vmid\nVM150_JSON_31_F3_VALUE=150\nVM150_JSON_32_AGE_SECONDS=4336430\nVM150_JSON_32_BASENAME=vm150-pve01-20260816T034448Z.json\nVM150_JSON_32_PATH_SHA256=8bc6d14bb54a671b9577d30a4263877504161df7e3f8c0479cdfd6f4a3f10387\nVM150_JSON_32_F1_KEY=logical_id\nVM150_JSON_32_F1_VALUE=vm150\nVM150_JSON_32_F2_KEY=generation\nVM150_JSON_32_F2_VALUE=vm150-pve01-20260816T034448Z\nVM150_JSON_32_F3_KEY=vmid\nVM150_JSON_32_F3_VALUE=150\nVM150_JSON_33_AGE_SECONDS=4340667\nVM150_JSON_33_BASENAME=vm150-pve01-20260816T023420Z.json\nVM150_JSON_33_PATH_SHA256=d1f00a7e0ed610afbc1399c4294fafda59e8e974ed02bf15eb99b60fa22cf3f8\nVM150_JSON_33_F1_KEY=logical_id\nVM150_JSON_33_F1_VALUE=vm150\nVM150_JSON_33_F2_KEY=generation\nVM150_JSON_33_F2_VALUE=vm150-pve01-20260816T023420Z\nVM150_JSON_33_F3_KEY=vmid\nVM150_JSON_33_F3_VALUE=150\nVM150_JSON_34_AGE_SECONDS=4394713\nVM150_JSON_34_BASENAME=vm150-pve01-20260815T111713Z.json\nVM150_JSON_34_PATH_SHA256=e732a39f358d585caa4203dd2256199b6964ef74e87177f5f49628e8fa8879cc\nVM150_JSON_34_F1_KEY=logical_id\nVM150_JSON_34_F1_VALUE=vm150\nVM150_JSON_34_F2_KEY=generation\nVM150_JSON_34_F2_VALUE=vm150-pve01-20260815T111713Z\nVM150_JSON_34_F3_KEY=vmid\nVM150_JSON_34_F3_VALUE=150\nVM150_JSON_35_AGE_SECONDS=4477392\nVM150_JSON_35_BASENAME=vm150-pve01-20260814T121736Z.json\nVM150_JSON_35_PATH_SHA256=7272bce6bcf8e4477af09a3e7123c4a5030350a6f8f3d72411965f1311c32115\nVM150_JSON_35_F1_KEY=logical_id\nVM150_JSON_35_F1_VALUE=vm150\nVM150_JSON_35_F2_KEY=generation\nVM150_JSON_35_F2_VALUE=vm150-pve01-20260814T121736Z\nVM150_JSON_35_F3_KEY=vmid\nVM150_JSON_35_F3_VALUE=150\nVM150_JSON_36_AGE_SECONDS=4552798\nVM150_JSON_36_BASENAME=vm150-pve01-20260813T152038Z.json\nVM150_JSON_36_PATH_SHA256=44f2627474401a034812b4d0052488fd067081169a4e94f4a085df8974119b33\nVM150_JSON_36_F1_KEY=logical_id\nVM150_JSON_36_F1_VALUE=vm150\nVM150_JSON_36_F2_KEY=generation\nVM150_JSON_36_F2_VALUE=vm150-pve01-20260813T152038Z\nVM150_JSON_36_F3_KEY=vmid\nVM150_JSON_36_F3_VALUE=150\nVM150_JSON_37_AGE_SECONDS=4628855\nVM150_JSON_37_BASENAME=vm150-pve01-20260812T181406Z.json\nVM150_JSON_37_PATH_SHA256=1173dd1b284a9eeedfffcd57b082efecd96800cf045d2167f7825491f0b86be7\nVM150_JSON_37_F1_KEY=logical_id\nVM150_JSON_37_F1_VALUE=vm150\nVM150_JSON_37_F2_KEY=generation\nVM150_JSON_37_F2_VALUE=vm150-pve01-20260812T181406Z\nVM150_JSON_37_F3_KEY=vmid\nVM150_JSON_37_F3_VALUE=150\nVM150_JSON_38_AGE_SECONDS=4708354\nVM150_JSON_38_BASENAME=vm150-pve01-20260811T200935Z.json\nVM150_JSON_38_PATH_SHA256=c8792c8e65b8cf67130f31d9db218218c90258adf6c1e0a501b7cbf46027b488\nVM150_JSON_38_F1_KEY=logical_id\nVM150_JSON_38_F1_VALUE=vm150\nVM150_JSON_38_F2_KEY=generation\nVM150_JSON_38_F2_VALUE=vm150-pve01-20260811T200935Z\nVM150_JSON_38_F3_KEY=vmid\nVM150_JSON_38_F3_VALUE=150\nVM150_JSON_39_AGE_SECONDS=4774679\nVM150_JSON_39_BASENAME=vm150-pve01-20260810T070246Z.json\nVM150_JSON_39_PATH_SHA256=15041f808fbe152e622c00acd757fc6be160a677e4055184b749372022c9d2b9\nVM150_JSON_39_F1_KEY=logical_id\nVM150_JSON_39_F1_VALUE=vm150\nVM150_JSON_39_F2_KEY=generation\nVM150_JSON_39_F2_VALUE=vm150-pve01-20260810T070246Z\nVM150_JSON_39_F3_KEY=vmid\nVM150_JSON_39_F3_VALUE=150\nROT_IMPORTABLE_AST=true\nROT_UNGUARDED_TOPLEVEL_COUNT=0\nROT_UNGUARDED_TOPLEVEL_TYPES=\nACTIVE_IMAGE_STORAGE_COUNT=1\nIMAGE_STORAGE_1_TYPE=lvmthin\nIMAGE_STORAGE_1_AVAIL_RAW=740575989\nTEMP_VMID_CANDIDATE_PRESENT=true\nTEMP_VMID_CANDIDATE=98150\nTEMP_RANGE_OCCUPIED_COUNT=0\nPUBLIC_DNS_OK_COUNT=3\nPUBLIC_HTTPS_OK_COUNT=3\nRESTORE_GATE_RCA_COMPLETE=true\nDECISION=ANALYZE_EXACT_99589_GATE_AND_TARGETED_PATH\nNEXT_GATE=SNIKKET_VM150_TARGETED_ISOLATED_RESTORE_PROOF\nTASK_RESULT=SNIKKET_VM150_RESTORE_GATE_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\n" +} diff --git a/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.txt b/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.txt new file mode 100644 index 00000000..51533a9d --- /dev/null +++ b/runtime/history/SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1.txt @@ -0,0 +1,496 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=snikket-vm150-restore-gate-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=31e84ea34955ab363272f385e4a1228748a665fa590a614dd1da926872399687 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8 +SANITIZED_OUTPUT_SHA256=5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8 +OUTPUT_BEGIN +SNIKKET_VM150_RESTORE_GATE_RCA=V1 +MODE=read-only +NO_VM_MUTATION=true +NO_BACKUP_MUTATION=true +NO_REMOTE_MUTATION=true +NO_SOURCE_MUTATION=true +NO_MONITOR_MUTATION=true +NO_DNS_MUTATION=true +HOST_PVE01=true +INGRESS_HOSTKEY_SELF_BOUND=true +VM150_QGA_PING=true +VM150_RUNNING=true +ROTATING_DRILL_PRESENT=true +BACKUP_AUDIT_PRESENT=true +BACKUP_V2_PRESENT=true +AUDIT_JSON_FILE_COUNT=3 +AUDIT_1_BASENAME=backup-audit-v2.json +AUDIT_1_PATH_SHA256=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7 +AUDIT_1_AGE_SECONDS=503 +AUDIT_1_DR_FIELD_COUNT=1 +AUDIT_1_DR_1_KEY=cloud_b_restore_drill +AUDIT_1_DR_1_VALUE=true +AUDIT_2_BASENAME=backup-audit.json +AUDIT_2_PATH_SHA256=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d +AUDIT_2_AGE_SECONDS=503 +AUDIT_2_DR_FIELD_COUNT=1 +AUDIT_2_DR_1_KEY=cloud_b_restore_drill +AUDIT_2_DR_1_VALUE=true +AUDIT_3_BASENAME=backup-unified-audit.json +AUDIT_3_PATH_SHA256=29e7e980321f753c1e597b92851a5e8ae494157b0ef684f5afc12b820bece45a +AUDIT_3_AGE_SECONDS=1223061 +AUDIT_3_DR_FIELD_COUNT=5 +AUDIT_3_DR_1_KEY=dr_proof_status +AUDIT_3_DR_1_VALUE=PROVEN +AUDIT_3_DR_2_KEY=escrow_status +AUDIT_3_DR_2_VALUE=OK +AUDIT_3_DR_3_KEY=clean_machine_bootstrap_proven +AUDIT_3_DR_3_VALUE=true +AUDIT_3_DR_4_KEY=qemu_boot_restore_proven +AUDIT_3_DR_4_VALUE=true +AUDIT_3_DR_5_KEY=ct_boot_restore_proven +AUDIT_3_DR_5_VALUE=true +ROT_CURRENT_AUDIT_GATE_FOUND=true +ROT_CURRENT_AUDIT_GATE_B64=MjU3OiAgICAgICAgICAgIHMuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBzLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUpOgoyNTg6ICAgICAgICBkaWUoIkVTQ1JPV19QUk9PRl9TRUFMX0NPTlRFTlRfSU5WQUxJRCIsNjYpCjI1OTogICAgcHJvb2ZfYXQ9cGFyc2VfdXRjKHMuZ2V0KCJzZWFsZWRfYXRfdXRjIikpCjI2MDogICAgYWdlPShub3dfdXRjKCktcHJvb2ZfYXQpLnRvdGFsX3NlY29uZHMoKQoyNjE6ICAgIGlmIGFnZTwwOiBkaWUoIkVTQ1JPV19QUk9PRl9GVVRVUkUiLDY2KQoyNjI6ICAgIGFnZV9kYXlzPWFnZS84NjQwMC4wCjI2MzogICAgaWYgYWdlX2RheXM+ZmxvYXQocFsiZXNjcm93X3NlbWFudGljX3Byb29mX21heF9hZ2VfZGF5cyJdKTogZGllKCJFU0NST1dfU0VNQU5USUNfUFJPT0ZfU1RBTEUiLDc1KQoyNjQ6ICAgIGE9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJhdWRpdF9wYXRoIl0pKQoyNjU6ICAgIGlmIG5vdCAoYS5nZXQoImF1ZGl0X3N0YXR1cyIpPT0iT0siIGFuZCBhLmdldCgiYmFja3VwX3N0YXR1cyIpPT0iR1JFRU4iIGFuZAoyNjY6ICAgICAgICAgICAgYS5nZXQoImRyX3JlYWRpbmVzcyIpPT0iUFJPVkVOIiBhbmQgYS5nZXQoImRyX3Byb29mX3N0YXR1cyIpPT0iUFJPVkVOIiBhbmQKMjY3OiAgICAgICAgICAgIGEuZ2V0KCJlc2Nyb3dfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZAoyNjg6ICAgICAgICAgICAgYS5nZXQoImN0X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBhLmdldCgiZnVsbF9zaXRlX2RyX3Byb3ZlbiIpIGlzIFRydWUpOgoyNjk6ICAgICAgICBkaWUoIkNVUlJFTlRfQkFDS1VQX0FVRElUX05PVF9EUl9SRUFEWSIsNzUpCjI3MDogICAgcmV0dXJuIHsiY2lwaGVydGV4dF9zaGFfdmVyaWZpZWQiOlRydWUsInNlbWFudGljX3Byb29mX3NlYWxfc2hhX3ZlcmlmaWVkIjpUcnVlLAoyNzE6ICAgICAgICAgICAgInNlbWFudGljX3Byb29mX2F0X3V0YyI6c1sic2VhbGVkX2F0X3V0YyJdLCJzZW1hbnRpY19wcm9vZl9hZ2VfZGF5cyI6cm91bmQoYWdlX2RheXMsNCksCjI3MjogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIjpwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0sCjI3MzogICAgICAgICAgICAicGh5c2ljYWxfZXNjcm93X2NvcGllcyI6IjJfVVNFUl9BVFRFU1RFRCIsInBoeXNpY2FsX2VzY3Jvd19tZWRpYV9yZWFkX3Byb3ZlbiI6RmFsc2V9CjI3NDoKMjc1OmRlZiByZWdpc3RyeShwKToKMjc2OiAgICByPXJlYWRfanNvbihwYXRobGliLlBhdGgocFsicmVnaXN0cnlfcGF0aCJdKSkKMjc3OiAgICBpZiByLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJhY2t1cC10YXJnZXQtcmVnaXN0cnktdjEiOiBkaWUoIlJFR0lTVFJZX0lOVkFMSUQiLDY2KQoyNzg6ICAgIG91dD17fQoyNzk6ICAgIGZvciB4IGluIHIuZ2V0KCJ0YXJnZXRzIixbXSk6CjI4MDogICAgICAgIGlmIHguZ2V0KCJraW5kIik9PSJWTSIgYW5kIHguZ2V0KCJsaWZlY3ljbGUiKT09IkFDVElWRSI6CjI4MTogICAgICAgICAgICB2bWlkPXN0cih4LmdldCgiaWQiLCIiKSkKMjgyOiAgICAgICAgICAgIG93bmVyPXguZ2V0KCJvd25lciIpCjI4MzogICAgICAgICAgICBpZiBub3Qgdm1pZC5pc2RpZ2l0KCkgb3Igb3duZXIgbm90IGluICgicHZlMDEiLCJwdmUwMiIsInB2ZTAzIikgb3Igdm1pZCBpbiBvdXQ6IGRpZSgiUkVHSVNUUllfVk1fSU5WQUxJRCIsNjYpCjI4NDogICAgICAgICAgICBvdXRbdm1pZF09eyJsb2dpY2FsX2lkIjp4LmdldCgibG9naWNhbF9pZCIpLCJvd25lciI6b3duZXJ9CjI4NTogICAgcmVxdWlyZWQ9c2V0KHBbInFlbXVfcm90YXRpb24iXStwWyJseGNfcm90YXRpb24iXStsaXN0KHAuZ2V0KCJxZW11X2V4Y2x1ZGVkIix7fSkpKQoyODY6ICAgIGlmIG5vdCByZXF1aXJlZC5pc3N1YnNldChvdXQpOiBkaWUoIlJFR0lTVFJZX1JPVEFUSU9OX1RBUkdFVF9NSVNTSU5HIiw2NikKMjg3OiAgICByZXR1cm4gb3V0CjI4ODoKMjg5OmRlZiBvd25lcl9ob3N0KG93bmVyKToKMjkwOiAgICByZXR1cm4geyJwdmUwMiI6InJvb3RAW1BSSVZBVEVfSVBdIiwicHZlMDMiOiJyb290QFtQUklWQVRFX0lQXSJ9LmdldChvd25lcikKMjkxOgoyOTI6ZGVmIHNzaF9iYXNlKHdpdGhfc3RkaW49RmFsc2UpOgoyOTM6ICAgIGJhc2U9W1NTSF0KMjk0OiAgICBpZiBub3Qgd2l0aF9zdGRpbjogYmFzZS5hcHBlbmQoIi1uIikKMjk1OiAgICByZXR1cm4gYmFzZStbIi1vIiwiQmF0Y2hNb2RlPXllcyIsIi1vIiwiQ29ubmVjdFRpbWVvdXQ9MTUiLCItbyIsIlN0cmljdEhvc3RLZXlDaGVja2luZz15ZXMiLCItbyIsIlVzZXJLbm93bkhvc3RzRmlsZT0vcm9vdC8uc3NoL2tub3duX2hvc3RzIl0KMjk2OgoyOTc6ZGVmIG5vZGVfcnVuKG93bmVyLGFyZ3YsY2hlY2s9VHJ1ZSx0aW1lb3V0PU5vbmUsaW5wdXRfYnl0ZXM9Tm9uZSk6CjI5ODogICAgaWYgb3duZXI9PSJwdmUwMSI6CjI5OTogICAgICAgIHJldHVybiBydW4oYXJndixjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDA6ICAgIGhvc3Q9b3duZXJfaG9zdChvd25lcikKMzAxOiAgICBpZiBob3N0IGlzIE5vbmU6IGRpZSgiT1dORVJfSU5WQUxJRCIsNjQpCjMwMjogICAgY21kPXNzaF9iYXNlKHdpdGhfc3RkaW49aW5wdXRfYnl0ZXMgaXMgbm90IE5vbmUpK1tob3N0XStbc3RyKHgpIGZvciB4IGluIGFyZ3ZdCjMwMzogICAgcmV0dXJuIHJ1bihjbWQsY2hlY2s9Y2hlY2ssY2FwdHVyZT1UcnVlLHRpbWVvdXQ9dGltZW91dCxpbnB1dF9ieXRlcz1pbnB1dF9ieXRlcykKMzA0OgozMDU6ZGVmIGV4cG9ydF9zdGF0ZShwLHJlZyx2bWlkLHN0YXRlX2V4cG9ydGVyPVNUQVRFX0VYUE9SVEVSKToKMzA2OiAgICBpdGVtPXJlZ1t2bWlkXTsgbG9naWNhbD1pdGVtWyJsb2dpY2FsX2lkIl07IG93bmVyPWl0ZW1bIm93bmVyIl0KMzA3OiAgICBpZiBsb2dpY2FsIT1mInZte3ZtaWR9IjogZGllKCJSRUdJU1RSWV9MT0dJQ0FMX0lOVkFMSURfIit2bWlkLDY2KQozMDg6ICAgIGFzc2VydF9yZWd1bGFyX3Jvb3QocGF0aGxpYi5QYXRoKHN0YXRlX2V4cG9ydGVyKSkKMzA5OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMzEwOiAgICAgICAgcHI9cnVuKFtQWVRIT04sIi1CIixzdGF0ZV9leHBvcnRlcix2bWlkLGxvZ2ljYWxdLHRpbWVvdXQ9MzApCjMxMTogICAgZWxzZToKMzEyOiAgICAgICAgZGF0YT1wYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpLnJlYWRfYnl0ZXMoKQozMTM6ICAgICAgICBwcj1ub2RlX3J1bihvd25lcixbUFlUSE9OLCItQiIsIi0iLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCxpbnB1dF9ieXRlcz1kYXRhKQ== +ROT_PRECHECK_DEF_FOUND=true +ROT_PRECHECK_DEF_B64=NDE2OiAgICBkaWUoIkxPQ0FMX0xWTV9NSVNTSU5HIiw2NikKNDE3Ogo0MTg6ZGVmIGNhcGFjaXR5X2NoZWNrKHAscmVzb3VyY2VzLHEsbCxxaW5mbyxsaW5mbyk6CjQxOTogICAgZnJlZT1zaHV0aWwuZGlza191c2FnZShwWyJzdGFnZV9yb290Il0pLmZyZWUgaWYgcGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkuZXhpc3RzKCkgZWxzZSBzaHV0aWwuZGlza191c2FnZSgiL21udC9zdGFnaW5nIikuZnJlZQo0MjA6ICAgIG5lZWRfc3RhZ2U9cWluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdK2xpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXStwWyJtaW5pbXVtX3N0YWdlX2hlYWRyb29tX2J5dGVzIl0KNDIxOiAgICBpZiBmcmVlPG5lZWRfc3RhZ2U6IGRpZSgiU1RBR0VfQ0FQQUNJVFlfSU5TVUZGSUNJRU5UIiw3NSkKNDIyOiAgICBxbWF4PWludChyZXNvdXJjZXMuZ2V0KHEse30pLmdldCgibWF4ZGlzayIpIG9yIDApOyBsbWF4PWludChyZXNvdXJjZXMuZ2V0KGwse30pLmdldCgibWF4ZGlzayIpIG9yIDApCjQyMzogICAgaWYgcW1heDw9MCBvciBsbWF4PD0wOiBkaWUoIkNMVVNURVJfTUFYRElTS19JTlZBTElEIiw2NikKNDI0OiAgICBsdm09cHZlc21fYXZhaWxhYmxlX2J5dGVzKCkKNDI1OiAgICBpZiBsdm0gPCBxbWF4K2xtYXgrcFsibWluaW11bV9zdG9yYWdlX2hlYWRyb29tX2J5dGVzIl06IGRpZSgiTE9DQUxfTFZNX0NBUEFDSVRZX0lOU1VGRklDSUVOVCIsNzUpCjQyNjogICAgcmV0dXJuIHsic3RhZ2VfZnJlZV9ieXRlcyI6ZnJlZSwic3RhZ2VfcmVxdWlyZWRfYnl0ZXMiOm5lZWRfc3RhZ2UsImxvY2FsX2x2bV9hdmFpbGFibGVfYnl0ZXMiOmx2bSwic2VsZWN0ZWRfbWF4ZGlza19ieXRlcyI6cW1heCtsbWF4fQo0Mjc6CjQyODpkZWYgcHJlY2hlY2socCxzdGF0ZV9leHBvcnRlcj1TVEFURV9FWFBPUlRFUixtb2RlPSJpbml0aWFsIik6CjQyOTogICAgZXNjPXZlcmlmeV9lc2Nyb3cocCk7IHJlZz1yZWdpc3RyeShwKTsgc3RhdGU9bG9hZF9zdGF0ZV9kZWZhdWx0KCkKNDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQ== +ROT_EXECUTE_DEF_FOUND=true +ROT_EXECUTE_DEF_B64=NjczOiAgICAgICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGVbInNlcXVlbmNlIl0lbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjY3NDogICAgICAgIGNhcGFjaXR5X2NoZWNrKHAsY2x1c3Rlcl9yZXNvdXJjZXMoKSxxLGwscWluZm8sbGluZm8pCjY3NTogICAgICAgIHJ1bl9pZD1ub3dfdXRjKCkuc3RyZnRpbWUoIiVZJW0lZFQlSCVNJVNaIikrIi1wcm9iZS0iK3N0cihvcy5nZXRwaWQoKSkKNjc2OiAgICAgICAgc3RhZ2U9cGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkvcnVuX2lkCjY3NzogICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo2Nzg6ICAgICAgICB0cnk6CjY3OTogICAgICAgICAgICBxYT1mZXRjaF9hcmNoaXZlKHFpbmZvLHBhaXJbInFlbXUiXSxzdGFnZSkKNjgwOiAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjY4MTogICAgICAgICAgICBwcmludChmIkJPT1RfRFJJTExfQVJDSElWRV9QUk9CRT1PS3xxZW11PXtxfXxxZW11X2Nsb3VkPXtwYWlyWydxZW11J119fHFlbXVfbmFtZT17cWEubmFtZX18bHhjPXtsfXxseGNfY2xvdWQ9e3BhaXJbJ2x4YyddfXxseGNfbmFtZT17bGEubmFtZX18YXJjaGl2ZV9pbnRlZ3JpdHk9U0hBX0FORF9aU1REX1BST1ZFTnxjbG91ZF93cml0ZXM9Tk8iKQo2ODI6ICAgICAgICBmaW5hbGx5Ogo2ODM6ICAgICAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY4NDoKNjg1OmRlZiBleGVjdXRlKG1vZGUscCk6CjY4NjogICAgaWYgQUNUSVZFX1BBVEguZXhpc3RzKCk6IGRpZSgiQUNUSVZFX01BUktFUl9QUkVTRU5UIiw3NSkKNjg3OiAgICBzdGF0ZT1sb2FkX3N0YXRlX2RlZmF1bHQoKQo2ODg6ICAgIHdhaXQ9aW50KHBbImluaXRpYWxfbG9ja193YWl0X3NlY29uZHMiXSBpZiBtb2RlPT0iaW5pdGlhbCIgZWxzZSBwWyJzY2hlZHVsZWRfbG9ja193YWl0X3NlY29uZHMiXSkKNjg5OiAgICB0cnk6CjY5MDogICAgICAgIHdpdGggTG9ja3Mod2FpdCk6CjY5MTogICAgICAgICAgICBlc2M9dmVyaWZ5X2VzY3JvdyhwKTsgcmVnPXJlZ2lzdHJ5KHApCjY5MjogICAgICAgICAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo2OTM6ICAgICAgICAgICAgcWluZm89ZXhwb3J0X3N0YXRlKHAscmVnLHEpOyBsaW5mbz1leHBvcnRfc3RhdGUocCxyZWcsbCkKNjk0OiAgICAgICAgICAgIHBhaXI9cFsiY2xvdWRfcGFpcl9zZXF1ZW5jZSJdW3N0YXRlWyJzZXF1ZW5jZSJdJWxlbihwWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl0pXQo2OTU6ICAgICAgICAgICAgY2FwYWNpdHlfY2hlY2socCxjbHVzdGVyX3Jlc291cmNlcygpLHEsbCxxaW5mbyxsaW5mbykKNjk2OiAgICAgICAgICAgIHJlc291cmNlcz1jbHVzdGVyX3Jlc291cmNlcygpCjY5NzogICAgICAgICAgICBxaWQ9cGlja19mcmVlKHJlc291cmNlcyxwWyJxZW11X3RlbXBfaWRfbWluIl0scFsicWVtdV90ZW1wX2lkX21heCJdKQo2OTg6ICAgICAgICAgICAgcmVzb3VyY2VzW3N0cihxaWQpXT17InJlc2VydmVkIjpUcnVlfQo2OTk6ICAgICAgICAgICAgbGlkPXBpY2tfZnJlZShyZXNvdXJjZXMscFsibHhjX3RlbXBfaWRfbWluIl0scFsibHhjX3RlbXBfaWRfbWF4Il0pCjcwMDogICAgICAgICAgICBydW5faWQ9bm93X3V0YygpLnN0cmZ0aW1lKCIlWSVtJWRUJUglTSVTWiIpKyItIitzdHIob3MuZ2V0cGlkKCkpCjcwMTogICAgICAgICAgICBzdGFnZT1wYXRobGliLlBhdGgocFsic3RhZ2Vfcm9vdCJdKS9ydW5faWQKNzAyOiAgICAgICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo3MDM6ICAgICAgICAgICAgd3JpdGVfYWN0aXZlKHJ1bl9pZCxxaWQsbGlkKQo3MDQ6ICAgICAgICAgICAgYmVmb3JlPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNzA1OiAgICAgICAgICAgIHByaW1hcnlfZXJyb3I9Tm9uZQo3MDY6ICAgICAgICAgICAgdHJ5Ogo3MDc6ICAgICAgICAgICAgICAgIHFhPWZldGNoX2FyY2hpdmUocWluZm8scGFpclsicWVtdSJdLHN0YWdlKQo3MDg6ICAgICAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjcwOTogICAgICAgICAgICAgICAgcXByb29mPXFlbXVfYm9vdChxYSxxaWQsaW50KHBbImd1ZXN0X2FnZW50X3dhaXRfc2Vjb25kcyJdKSxydW5faWQpCjcxMDogICAgICAgICAgICAgICAgaWYgbm90IGNsZWFudXBfb25lKCJxZW11IixxaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJRRU1VX0NMRUFOVVBfRkFJTEVEIiw3MCkKNzExOiAgICAgICAgICAgICAgICBscHJvb2Y9bHhjX2Jvb3QobGEsbGlkLGludChwWyJseGNfZXhlY193YWl0X3NlY29uZHMiXSkscnVuX2lkKQo3MTI6ICAgICAgICAgICAgICAgIGlmIG5vdCBjbGVhbnVwX29uZSgibHhjIixsaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJMWENfQ0xFQU5VUF9GQUlMRUQiLDcwKQo3MTM6ICAgICAgICAgICAgICAgIGFmdGVyPWNsdXN0ZXJfd2l0aG91dF90ZW1wKHFpZCxsaWQsMzApCjcxNDogICAgICAgICAgICAgICAgZm9yIHNyYyBpbiAocSxsKToKNzE1OiAgICAgICAgICAgICAgICAgICAgaWYgYmVmb3JlLmdldChzcmMse30pLmdldCgic3RhdHVzIikhPWFmdGVyLmdldChzcmMse30pLmdldCgic3RhdHVzIikgb3IgYmVmb3JlLmdldChzcmMse30pLmdldCgibm9kZSIpIT1hZnRlci5nZXQoc3JjLHt9KS5nZXQoIm5vZGUiKToKNzE2OiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSgiUFJPRFVDVElPTl9HVUVTVF9TVEFURV9DSEFOR0VEXyIrc3JjLDcwKQo3MTc6ICAgICAgICAgICAgICAgIGV2aWRlbmNlPXsKNzE4OiAgICAgICAgICAgICAgICAgICJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtZXZpZGVuY2UtdjEiLCJyZXN1bHQiOiJPSyIsInJ1bl9pZCI6cnVuX2lkLAo3MTk6ICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjpzdGF0ZVsic2VxdWVuY2UiXSsxLCJjb21wbGV0ZWRfYXRfdXRjIjppc29fbm93KCksCjcyMDogICAgICAgICAgICAgICAgICAiZXNjcm93Ijplc2MsCjcyMTogICAgICAgICAgICAgICAgICAicWVtdSI6eyJzb3VyY2Vfdm1pZCI6cSwib3duZXIiOnJlZ1txXVsib3duZXIiXSwiZ2VuZXJhdGlvbiI6cWluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjpxaW5mb1sicGF5bG9hZF9uYW1lIl0sCjcyMjogICAgICAgICAgICAgICAgICAgICAgICAgICJhcmNoaXZlX3NoYTI1NiI6cWluZm9bImFyY2hpdmVfc2hhMjU2Il0sImNsb3VkX3NvdXJjZSI6cGFpclsicWVtdSJdLCJ0ZW1wX3ZtaWQiOnFpZCwKNzIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb3RfcHJvb2YiOnFwcm9vZiwibmV0d29ya19yZW1vdmVkX2JlZm9yZV9ib290IjpUcnVlLCJjbGVhbnVwX3Byb3ZlbiI6VHJ1ZX0sCjcyNDogICAgICAgICAgICAgICAgICAibHhjIjp7InNvdXJjZV92bWlkIjpsLCJvd25lciI6cmVnW2xdWyJvd25lciJdLCJnZW5lcmF0aW9uIjpsaW5mb1siZ2VuZXJhdGlvbiJdLCJhcmNoaXZlX25hbWUiOmxpbmZvWyJwYXlsb2FkX25hbWUiXSwKNzI1OiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZV9zaGEyNTYiOmxpbmZvWyJhcmNoaXZlX3NoYTI1NiJdLCJjbG91ZF9zb3VyY2UiOnBhaXJbImx4YyJdLCJ0ZW1wX3ZtaWQiOmxpZCwKNzI2OiAgICAgICAgICAgICAgICAgICAgICAgICAiYm9vdF9wcm9vZiI6bHByb29mLCJuZXR3b3JrX3JlbW92ZWRfYmVmb3JlX2Jvb3QiOlRydWUsImNsZWFudXBfcHJvdmVuIjpUcnVlfSwKNzI3OiAgICAgICAgICAgICAgICAgICJxZW11X3NraXBwZWRfaW5lbGlnaWJsZSI6c2tpcHBlZCwiY2xvdWRfd3JpdGVzIjpGYWxzZSwiY2xvdWRfZGVsZXRlcyI6RmFsc2UsCjcyODogICAgICAgICAgICAgICAgICAicHJvZHVjdGlvbl9ndWVzdF9zdGF0ZV91bmNoYW5nZWQiOlRydWUsInRlbXBvcmFyeV9ndWVzdF9yZXNpZHVlIjpGYWxzZQo3Mjk6ICAgICAgICAgICAgICAgIH0= +ROT_FETCH_ARCHIVE_DEF_FOUND=true +ROT_FETCH_ARCHIVE_DEF_B64=NTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLgo1ODc6ICAgIHJ1bihbWlNURCwiLXQiLG91dF0sdGltZW91dD0zMDApCjU4ODogICAgcmV0dXJuIG91dAo1ODk6CjU5MDpkZWYgcWVtdV9pc29sYXRlKHRlbXBpZCxydW5faWQpOgo1OTE6ICAgIHR4dD1ydW5fdGV4dChbUU0sImNvbmZpZyIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MzApCjU5MjogICAgaWYgcmUuc2VhcmNoKHIiKD9tKV5hcmdzOiIsdHh0KTogZGllKCJRRU1VX1VOU0FGRV9BUkdTX1BSRVNFTlQiLDcwKQo1OTM6ICAgIGtleXM9W10KNTk0OiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo1OTU6ICAgICAgICBrPWxpbmUuc3BsaXQoIjoiLDEpWzBdCjU5NjogICAgICAgIGlmIHJlLmZ1bGxtYXRjaChyIm5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldKyIsaykgb3IgayBpbiAoImhvb2tzY3JpcHQiLCJzdGFydHVwIik6CjU5NzogICAgICAgICAgICBrZXlzLmFwcGVuZChrKQo1OTg6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1FNLCJzZXQiLHN0cih0ZW1waWQpLCItLWRlbGV0ZSIsa10sdGltZW91dD0zMCkKNTk5OiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1vbmJvb3QiLCIwIl0sdGltZW91dD0zMCkKNjAwOiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1hZ2VudCIsImVuYWJsZWQ9MSJdLHRpbWVvdXQ9MzApCjYwMTogICAgcnVuX3R0eShbUU0sInNldCIsc3RyKHRlbXBpZCksIi0tbmFtZSIsZiJob21lbGFiLWRyaWxsLXF7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYwMjogICAgYWZ0ZXI9cnVuX3RleHQoW1FNLCJjb25maWciLHN0cih0ZW1waWQpXSx0aW1lb3V0PTMwKQo2MDM6ICAgIGlmIHJlLnNlYXJjaChyIig/bSleKG5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldK3xob29rc2NyaXB0fGFyZ3MpOiIsYWZ0ZXIpOiBkaWUoIlFFTVVfSVNPTEFUSU9OX0ZBSUxFRCIsNzApCjYwNDoKNjA1OmRlZiBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKToKNjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCk= +ROT_QEMU_BOOT_DEF_FOUND=true +ROT_QEMU_BOOT_DEF_B64=NjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCkKNjA4OiAgICBrZXlzPVtdCjYwOTogICAgZm9yIGxpbmUgaW4gdHh0LnNwbGl0bGluZXMoKToKNjEwOiAgICAgICAgaz1saW5lLnNwbGl0KCI6IiwxKVswXQo2MTE6ICAgICAgICBpZiByZS5mdWxsbWF0Y2gociJuZXRbMC05XSsiLGspIG9yIGsgaW4gKCJob29rc2NyaXB0Iiwic3RhcnR1cCIpOiBrZXlzLmFwcGVuZChrKQo2MTI6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1kZWxldGUiLGtdLHRpbWVvdXQ9MzApCjYxMzogICAgcnVuX3R0eShbUENULCJzZXQiLHN0cih0ZW1waWQpLCItLW9uYm9vdCIsIjAiXSx0aW1lb3V0PTMwKQo2MTQ6ICAgIHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1ob3N0bmFtZSIsZiJob21lbGFiLWRyaWxsLWx7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYxNTogICAgYWZ0ZXI9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjE2OiAgICBpZiByZS5zZWFyY2gociIoP20pXihuZXRbMC05XSt8aG9va3NjcmlwdHxseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spOiIsYWZ0ZXIpOiBkaWUoIkxYQ19JU09MQVRJT05fRkFJTEVEIiw3MCkKNjE3Ogo2MTg6ZGVmIHFlbXVfYm9vdChhcmNoaXZlLHRlbXBpZCx3YWl0X3NlYyxydW5faWQpOgo2MTk6ICAgIHByPXJ1bl90dHkoW1FNUkVTVE9SRSxhcmNoaXZlLHN0cih0ZW1waWQpLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iLCItLXVuaXF1ZSIsIjEiXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDApCjYyMDogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjIxOiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjIyOiAgICAgICAgcHJpbnQoZiJRTVJFU1RPUkVfRVJST1J8dm1pZD17dGVtcGlkfXxyYz17cHIucmV0dXJuY29kZX18c3RkZXJyX3NoYTI1Nj17aGFzaGxpYi5zaGEyNTYoZXJyKS5oZXhkaWdlc3QoKX18c3RkZXJyX2J5dGVzPXtsZW4oZXJyKX0iLGZpbGU9c3lzLnN0ZGVycikKNjIzOiAgICAgICAgZGllKCJRTVJFU1RPUkVfRkFJTEVEXyIrc3RyKHByLnJldHVybmNvZGUpLDcwKQo2MjQ6ICAgIHFlbXVfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2MjU6ICAgIHJ1bl90dHkoW1FNLCJzdGFydCIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MTIwKQo2MjY6ICAgIGRlYWRsaW5lPXRpbWUudGltZSgpK3dhaXRfc2VjCjYyNzogICAgd2hpbGUgdGltZS50aW1lKCk8ZGVhZGxpbmU6CjYyODogICAgICAgIGlmIHJ1bihbUU0sImd1ZXN0IiwiY21kIixzdHIodGVtcGlkKSwicGluZyJdLGNoZWNrPUZhbHNlLHRpbWVvdXQ9MTUpLnJldHVybmNvZGU9PTA6CjYyOTogICAgICAgICAgICByZXR1cm4gIkdVRVNUX0FHRU5UX1JFU1BPTkRFRCIKNjMwOiAgICAgICAgdGltZS5zbGVlcCgxMCkKNjMxOiAgICBkaWUoIlFFTVVfR1VFU1RfQUdFTlRfQk9PVF9USU1FT1VUIiw3MCkKNjMyOgo2MzM6ZGVmIGx4Y19ib290KGFyY2hpdmUsdGVtcGlkLHdhaXRfc2VjLHJ1bl9pZCk6CjYzNDogICAgcHI9cnVuX3R0eShbUENULCJyZXN0b3JlIixzdHIodGVtcGlkKSxhcmNoaXZlLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDAsdW1hc2tfdmFsdWU9MG8wMjIpCjYzNTogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjM2OiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjM3OiAgICAgICAgcHJpbnQoZiJQQ1RfUkVTVE9SRV9FUlJPUnx2bWlkPXt0ZW1waWR9fHJjPXtwci5yZXR1cm5jb2RlfXxzdGRlcnJfc2hhMjU2PXtoYXNobGliLnNoYTI1NihlcnIpLmhleGRpZ2VzdCgpfXxzdGRlcnJfYnl0ZXM9e2xlbihlcnIpfSIsZmlsZT1zeXMuc3RkZXJyKQo2Mzg6ICAgICAgICBkaWUoIlBDVF9SRVNUT1JFX0ZBSUxFRF8iK3N0cihwci5yZXR1cm5jb2RlKSw3MCkKNjM5OiAgICBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2NDA6ICAgIHJ1bl90dHkoW1BDVCwic3RhcnQiLHN0cih0ZW1waWQpXSx0aW1lb3V0PTEyMCkKNjQxOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt3YWl0X3NlYwo2NDI6ICAgIHdoaWxlIHRpbWUudGltZSgpPGRlYWRsaW5lOgo2NDM6ICAgICAgICBpZiBydW4oW1BDVCwiZXhlYyIsc3RyKHRlbXBpZCksIi0tIiwiL2Jpbi90cnVlIl0sY2hlY2s9RmFsc2UsdGltZW91dD0xNSkucmV0dXJuY29kZT09MDoKNjQ0OiAgICAgICAgICAgIHJldHVybiAiUENUX0VYRUNfVFJVRSIKNjQ1OiAgICAgICAgdGltZS5zbGVlcCg1KQo2NDY6ICAgIGRpZSgiTFhDX0VYRUNfQk9PVF9USU1FT1VUIiw3MCkKNjQ3Ogo2NDg6ZGVmIHdyaXRlX2RlZmVycmVkKGNvZGUpOgo2NDk6ICAgIG9iaj17InNjaGVtYSI6ImhvbWVsYWItYmFja3VwLWJvb3QtZHJpbGwtaGVhbHRoLXYxIiwic3RhdHVzIjoiREVGRVJSRUQiLCJyZWFzb24iOmNvZGUsInVwZGF0ZWRfYXRfdXRjIjppc29fbm93KCksImRyaWxsX2V4ZWN1dGVkIjpGYWxzZX0KNjUwOiAgICBhdG9taWNfanNvbihIRUFMVEhfUEFUSCxvYmosMG82MDApCjY1MTogICAgcHJpbnQoZiJCT09UX0RSSUxMX1NDSEVEVUxFRD1ERUZFUlJFRHxyZWFzb249e2NvZGV9IikKNjUyOgo2NTM6ZGVmIGZpbmFsaXplX3J1bihzdGFnZSxwcmltYXJ5X2Vycm9yKToKNjU0OiAgICBjbGVhbnVwX2Vycm9yPU5vbmUKNjU1OiAgICB0cnk6CjY1NjogICAgICAgIGNsZWFudXBfcmVzaWR1ZSgpCjY1NzogICAgZXhjZXB0IERyaWxsRXJyb3IgYXMgZToKNjU4OiAgICAgICAgY2xlYW51cF9lcnJvcj1lCjY1OTogICAgZmluYWxseToKNjYwOiAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY2MTogICAgaWYgY2xlYW51cF9lcnJvciBpcyBub3QgTm9uZToKNjYyOiAgICAgICAgaWYgcHJpbWFyeV9lcnJvciBpcyBOb25lOg== +ROT_CLEANUP_DEF_FOUND=true +ROT_CLEANUP_DEF_B64=NDgyOmRlZiBwaWNrX2ZyZWUocmVzb3VyY2VzLHN0YXJ0LGVuZCk6CjQ4MzogICAgdXNlZD17aW50KHgpIGZvciB4IGluIHJlc291cmNlc30KNDg0OiAgICBmb3IgaSBpbiByYW5nZShzdGFydCxlbmQrMSk6CjQ4NTogICAgICAgIGlmIGkgbm90IGluIHVzZWQ6IHJldHVybiBpCjQ4NjogICAgZGllKCJURU1QX0lEX1JBTkdFX0VYSEFVU1RFRCIsNzUpCjQ4NzoKNDg4OmRlZiB3cml0ZV9hY3RpdmUocnVuX2lkLHFpZCxsaWQpOgo0ODk6ICAgIGF0b21pY19qc29uKEFDVElWRV9QQVRILHsic2NoZW1hIjoiaG9tZWxhYi1ib290LWRyaWxsLWFjdGl2ZS12MSIsInJ1bl9pZCI6cnVuX2lkLCJjcmVhdGVkX2F0X2Vwb2NoIjppbnQodGltZS50aW1lKCkpLCJxZW11X3RlbXBfaWQiOnFpZCwibHhjX3RlbXBfaWQiOmxpZH0sMG82MDApCjQ5MDoKNDkxOmRlZiBjb25maWdfcGF0aChraW5kLHZtaWQpOgo0OTI6ICAgIHJldHVybiBwYXRobGliLlBhdGgoIi9ldGMvcHZlL3FlbXUtc2VydmVyIiBpZiBraW5kPT0icWVtdSIgZWxzZSAiL2V0Yy9wdmUvbHhjIikvZiJ7dm1pZH0uY29uZiIKNDkzOgo0OTQ6ZGVmIGNsZWFudXBfb25lKGtpbmQsdm1pZCxjcmVhdGVkX2Vwb2NoKToKNDk1OiAgICBwPWNvbmZpZ19wYXRoKGtpbmQsdm1pZCkKNDk2OiAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNDk3OiAgICB0cnk6CjQ5ODogICAgICAgIHN0PXAuc3RhdCgpCjQ5OTogICAgICAgIGlmIHN0LnN0X2N0aW1lKzUgPCBjcmVhdGVkX2Vwb2NoOiBkaWUoIlRFTVBfQ09ORklHX1BSRURBVEVTX0FDVElWRV9NQVJLRVJfIitzdHIodm1pZCksNjYpCjUwMDogICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MDE6ICAgICAgICByZXR1cm4gVHJ1ZQo1MDI6ICAgIGNtZD1RTSBpZiBraW5kPT0icWVtdSIgZWxzZSBQQ1QKNTAzOiAgICBmb3IgXyBpbiByYW5nZSg0KToKNTA0OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVlCjUwNTogICAgICAgIHRyeToKNTA2OiAgICAgICAgICAgIHR4dD1wLnJlYWRfdGV4dChlcnJvcnM9InJlcGxhY2UiKQo1MDc6ICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CjUwODogICAgICAgICAgICByZXR1cm4gVHJ1ZQo1MDk6ICAgICAgICBsb2NrX21hdGNoPXJlLnNlYXJjaChyIig/bSlebG9jazpccyooXFMrKVxzKiQiLHR4dCkKNTEwOiAgICAgICAgaWYgbG9ja19tYXRjaDoKNTExOiAgICAgICAgICAgIGxvY2tfbmFtZT1sb2NrX21hdGNoLmdyb3VwKDEpCjUxMjogICAgICAgICAgICBpZiBsb2NrX25hbWU9PSJjcmVhdGUiOgo1MTM6ICAgICAgICAgICAgICAgIHU9cnVuX3R0eShbY21kLCJ1bmxvY2siLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0zMCkKNTE0OiAgICAgICAgICAgICAgICBpZiB1LnJldHVybmNvZGUhPTA6CjUxNTogICAgICAgICAgICAgICAgICAgIHByaW50KGYiVEVNUF9VTkxPQ0tfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18bG9jaz1jcmVhdGV8cmM9e3UucmV0dXJuY29kZX0iLGZpbGU9c3lzLnN0ZGVycikKNTE2OiAgICAgICAgICAgICAgICBpZiBwLmV4aXN0cygpOgo1MTc6ICAgICAgICAgICAgICAgICAgICB0cnk6CjUxODogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl91bmxvY2s9cC5yZWFkX3RleHQoZXJyb3JzPSJyZXBsYWNlIikKNTE5OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MjA6ICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfdW5sb2NrPSIiCjUyMTogICAgICAgICAgICAgICAgICAgIGlmIHJlLnNlYXJjaChyIig/bSlebG9jazpccypjcmVhdGVccyokIixhZnRlcl91bmxvY2spOgo1MjI6ICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgyKQo1MjM6ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKNTI0OiAgICAgICAgICAgIGVsc2U6CjUyNTogICAgICAgICAgICAgICAgcHJpbnQoZiJURU1QX0NMRUFOVVBfTE9DS19CTE9DS0VEfGtpbmQ9e2tpbmR9fHZtaWQ9e3ZtaWR9fGxvY2s9e2xvY2tfbmFtZX0iLGZpbGU9c3lzLnN0ZGVycikKNTI2OiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKNTI3OiAgICAgICAgc3RhdHVzPXJ1bihbY21kLCJzdGF0dXMiLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0yMCkKNTI4OiAgICAgICAgaWYgc3RhdHVzLnJldHVybmNvZGU9PTAgYW5kIGIicnVubmluZyIgaW4gc3RhdHVzLnN0ZG91dDoKNTI5OiAgICAgICAgICAgIHN0b3BfYXJndj1bY21kLCJzdG9wIixzdHIodm1pZCldCjUzMDogICAgICAgICAgICBpZiBraW5kPT0icWVtdSI6IHN0b3BfYXJndis9WyItLXNraXBsb2NrIiwiMSJdCjUzMTogICAgICAgICAgICBydW5fdHR5KHN0b3BfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTkwKQo1MzI6ICAgICAgICBkZXN0cm95X2FyZ3Y9W2NtZCwiZGVzdHJveSIsc3RyKHZtaWQpLCItLXB1cmdlIiwiMSJdCjUzMzogICAgICAgIGlmIGtpbmQ9PSJxZW11IjogZGVzdHJveV9hcmd2Kz1bIi0tZGVzdHJveS11bnJlZmVyZW5jZWQtZGlza3MiLCIxIiwiLS1za2lwbG9jayIsIjEiXQo1MzQ6ICAgICAgICBkZXN0cm95ZWQ9cnVuX3R0eShkZXN0cm95X2FyZ3YsY2hlY2s9RmFsc2UsdGltZW91dD0xODApCjUzNTogICAgICAgIGlmIGRlc3Ryb3llZC5yZXR1cm5jb2RlIT0wOgo1MzY6ICAgICAgICAgICAgZGV0YWlsPShkZXN0cm95ZWQuc3RkZXJyIG9yIGIiIikuZGVjb2RlKGVycm9ycz0icmVwbGFjZSIpLnJlcGxhY2UoIlxyIiwiIikuc3RyaXAoKS5yZXBsYWNlKCJcbiIsIiAiKVs6ODAwXQo1Mzc6ICAgICAgICAgICAgcHJpbnQoZiJURU1QX0RFU1RST1lfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18cmM9e2Rlc3Ryb3llZC5yZXR1cm5jb2RlfXxkZXRhaWw9e2RldGFpbH0iLGZpbGU9c3lzLnN0ZGVycikKNTM4OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVl +ROT_NO_RESIDUE_DEF_FOUND=true +ROT_NO_RESIDUE_DEF_B64=NTMwOiAgICAgICAgICAgIGlmIGtpbmQ9PSJxZW11Ijogc3RvcF9hcmd2Kz1bIi0tc2tpcGxvY2siLCIxIl0KNTMxOiAgICAgICAgICAgIHJ1bl90dHkoc3RvcF9hcmd2LGNoZWNrPUZhbHNlLHRpbWVvdXQ9OTApCjUzMjogICAgICAgIGRlc3Ryb3lfYXJndj1bY21kLCJkZXN0cm95IixzdHIodm1pZCksIi0tcHVyZ2UiLCIxIl0KNTMzOiAgICAgICAgaWYga2luZD09InFlbXUiOiBkZXN0cm95X2FyZ3YrPVsiLS1kZXN0cm95LXVucmVmZXJlbmNlZC1kaXNrcyIsIjEiLCItLXNraXBsb2NrIiwiMSJdCjUzNDogICAgICAgIGRlc3Ryb3llZD1ydW5fdHR5KGRlc3Ryb3lfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MCkKNTM1OiAgICAgICAgaWYgZGVzdHJveWVkLnJldHVybmNvZGUhPTA6CjUzNjogICAgICAgICAgICBkZXRhaWw9KGRlc3Ryb3llZC5zdGRlcnIgb3IgYiIiKS5kZWNvZGUoZXJyb3JzPSJyZXBsYWNlIikucmVwbGFjZSgiXHIiLCIiKS5zdHJpcCgpLnJlcGxhY2UoIlxuIiwiICIpWzo4MDBdCjUzNzogICAgICAgICAgICBwcmludChmIlRFTVBfREVTVFJPWV9FUlJPUnxraW5kPXtraW5kfXx2bWlkPXt2bWlkfXxyYz17ZGVzdHJveWVkLnJldHVybmNvZGV9fGRldGFpbD17ZGV0YWlsfSIsZmlsZT1zeXMuc3RkZXJyKQo1Mzg6ICAgICAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTM5OiAgICAgICAgdGltZS5zbGVlcCgzKQo1NDA6ICAgIHJldHVybiBGYWxzZQo1NDE6CjU0MjpkZWYgY2x1c3Rlcl93aXRob3V0X3RlbXAocWlkLGxpZCx0aW1lb3V0PTMwKToKNTQzOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt0aW1lb3V0CjU0NDogICAgd2hpbGUgVHJ1ZToKNTQ1OiAgICAgICAgcmVzb3VyY2VzPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNTQ2OiAgICAgICAgaWYgc3RyKHFpZCkgbm90IGluIHJlc291cmNlcyBhbmQgc3RyKGxpZCkgbm90IGluIHJlc291cmNlczoKNTQ3OiAgICAgICAgICAgIHJldHVybiByZXNvdXJjZXMKNTQ4OiAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOgo1NDk6ICAgICAgICAgICAgZGllKCJURU1QX0lEX1JFU0lEVUVfUFJFU0VOVCIsNzApCjU1MDogICAgICAgIHRpbWUuc2xlZXAoMikKNTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLg== +ROT_REMOTE_METADATA_DEF_FOUND=true +ROT_REMOTE_METADATA_DEF_B64=MzYxOiAgICBpZiBxIGlzIE5vbmU6IGRpZSgiTk9fUUVNVV9HVUVTVF9BR0VOVF9FTElHSUJMRSIsNzUpCjM2MjogICAgbD1Ob25lCjM2MzogICAgZm9yIHggaW4gcm90YXRlX2FmdGVyKHBbImx4Y19yb3RhdGlvbiJdLHN0YXRlLmdldCgibHhjX2N1cnNvciIpKToKMzY0OiAgICAgICAgaWYgbHhjX3J1bm5pbmcocmVnLHgpOiBsPXg7IGJyZWFrCjM2NTogICAgaWYgbCBpcyBOb25lOiBkaWUoIk5PX0xYQ19SVU5OSU5HX0VMSUdJQkxFIiw3NSkKMzY2OiAgICByZXR1cm4gcSxsLHNraXBwZWQKMzY3OgozNjg6ZGVmIHJjbG9uZV9jYXQocmVtb3RlLHRpbWVvdXQ9NjApOgozNjk6ICAgIHA9cnVuKFtSQ0xPTkUsImNhdCIscmVtb3RlXSxjaGVjaz1GYWxzZSxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0KQozNzA6ICAgIGlmIHAucmV0dXJuY29kZSE9MDogZGllKCJSQ0xPTkVfQ0FUX0ZBSUxFRCIsNzQpCjM3MTogICAgcmV0dXJuIHAuc3Rkb3V0CjM3MjoKMzczOmRlZiB2YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEoaW5mbyxjbG91ZCk6CjM3NDogICAgYmFzZT1pbmZvWyJyZW1vdGVfYV9iYXNlIl0gaWYgY2xvdWQ9PSJBIiBlbHNlIGluZm9bInJlbW90ZV9iX2Jhc2UiXQozNzU6ICAgIHNlYWxfYnl0ZXM9cmNsb25lX2NhdChiYXNlLnJzdHJpcCgiLyIpKyIvc2VhbC5qc29uIiw2MCkKMzc2OiAgICBtYW5pZmVzdF9ieXRlcz1yY2xvbmVfY2F0KGJhc2UucnN0cmlwKCIvIikrIi9QQVJUUy50c3YiLDYwKQozNzc6ICAgIHRyeTogc2VhbD1qc29uLmxvYWRzKHNlYWxfYnl0ZXMpCjM3ODogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJSRU1PVEVfU0VBTF9KU09OX0lOVkFMSURfIitpbmZvWyJ2bWlkIl0sNjYpCjM3OTogICAgZXhwZWN0PXsKMzgwOiAgICAgICJzY2hlbWEiOiJob21lbGFiLWNsb3VkLXF1b3J1bS1zZWFsLXYxIiwic3RhdHVzIjoiU0VBTEVEIiwibG9naWNhbF9pZCI6aW5mb1sibG9naWNhbF9pZCJdLAozODE6ICAgICAgImdlbmVyYXRpb24iOmluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjppbmZvWyJwYXlsb2FkX25hbWUiXSwKMzgyOiAgICAgICJhcmNoaXZlX3NpemVfYnl0ZXMiOmluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJhcmNoaXZlX3NoYTI1NiI6aW5mb1siYXJjaGl2ZV9zaGEyNTYiXSwKMzgzOiAgICAgICJwYXJ0X2NvdW50IjppbmZvWyJwYXJ0X2NvdW50Il0sInBhcnRzX21hbmlmZXN0X3NoYTI1NiI6aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il0sCjM4NDogICAgICAiY2xvdWRfcXVvcnVtIjoyLCJsb2NhbF9jbGVhbnVwIjoiT0siLCJsb2NhbF9wYXlsb2FkX3ByZXNlbnQiOkZhbHNlCjM4NTogICAgfQozODY6ICAgIGZvciBrLHYgaW4gZXhwZWN0Lml0ZW1zKCk6CjM4NzogICAgICAgIGlmIHNlYWwuZ2V0KGspIT12OiBkaWUoIlJFTU9URV9TRUFMX01JU01BVENIXyIraW5mb1sidm1pZCJdKyJfIitrLDY2KQozODg6ICAgIGlmIGhhc2hsaWIuc2hhMjU2KG1hbmlmZXN0X2J5dGVzKS5oZXhkaWdlc3QoKSE9aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il06IGRpZSgiUkVNT1RFX01BTklGRVNUX1NIQV9NSVNNQVRDSF8iK2luZm9bInZtaWQiXSw2NikKMzg5OiAgICByb3dzPXBhcnNlX21hbmlmZXN0KG1hbmlmZXN0X2J5dGVzLGluZm9bInBhcnRfY291bnQiXSxpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXSkKMzkwOiAgICByZXR1cm4gYmFzZSxyb3dzLG1hbmlmZXN0X2J5dGVzCjM5MToKMzkyOmRlZiBwYXJzZV9tYW5pZmVzdChyYXcsZXhwZWN0ZWRfY291bnQsZXhwZWN0ZWRfdG90YWwpOgozOTM6ICAgIHJvd3M9W10KMzk0OiAgICB0b3RhbD0wCjM5NTogICAgdHJ5OiBsaW5lcz1yYXcuZGVjb2RlKCkuc3BsaXRsaW5lcygpCjM5NjogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJNQU5JRkVTVF9URVhUX0lOVkFMSUQiLDY2KQozOTc6ICAgIGZvciBpLGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKMzk4OiAgICAgICAgZj1saW5lLnNwbGl0KCJcdCIpCjM5OTogICAgICAgIGlmIGxlbihmKSE9NDogZGllKCJNQU5JRkVTVF9ST1dfSU5WQUxJRCIsNjYpCjQwMDogICAgICAgIGlkeCxuYW1lLHNpemVfcyxwc2hhPWYKNDAxOiAgICAgICAgbT1QQVJULmZ1bGxtYXRjaChuYW1lKQo0MDI6ICAgICAgICBpZiBpZHghPWYie2k6MDhkfSIgb3IgbSBpcyBOb25lIG9yIG0uZ3JvdXAoMSkhPWlkeDogZGllKCJNQU5JRkVTVF9JTkRFWF9JTlZBTElEIiw2NikKNDAzOiAgICAgICAgaWYgbm90IHNpemVfcy5pc2RpZ2l0KCkgb3IgaW50KHNpemVfcyk8PTAgb3IgaW50KHNpemVfcyk+NTM2ODcwOTEyOiBkaWUoIk1BTklGRVNUX1NJWkVfSU5WQUxJRCIsNjYpCjQwNDogICAgICAgIGlmIG5vdCBIRVg2NC5mdWxsbWF0Y2gocHNoYSk6IGRpZSgiTUFOSUZFU1RfUEFSVF9TSEFfSU5WQUxJRCIsNjYpCjQwNTogICAgICAgIHNpemU9aW50KHNpemVfcyk7IHRvdGFsKz1zaXplOyByb3dzLmFwcGVuZCgoaWR4LG5hbWUsc2l6ZSxwc2hhKSkKNDA2OiAgICBpZiBsZW4ocm93cykhPWV4cGVjdGVkX2NvdW50IG9yIHRvdGFsIT1leHBlY3RlZF90b3RhbDogZGllKCJNQU5JRkVTVF9UT1RBTF9JTlZBTElEIiw2NikKNDA3OiAgICByZXR1cm4gcm93cwo0MDg6CjQwOTpkZWYgcHZlc21fYXZhaWxhYmxlX2J5dGVzKCk6CjQxMDogICAgdHh0PXJ1bl90ZXh0KFtQVkVTTSwic3RhdHVzIl0sdGltZW91dD0zMCkKNDExOiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo0MTI6ICAgICAgICBmPWxpbmUuc3BsaXQoKQo0MTM6ICAgICAgICBpZiBmIGFuZCBmWzBdPT0ibG9jYWwtbHZtIjoKNDE0OiAgICAgICAgICAgIGlmIGxlbihmKTw3IG9yIGZbMl0hPSJhY3RpdmUiIG9yIG5vdCBmWzVdLmlzZGlnaXQoKTogZGllKCJMT0NBTF9MVk1fU1RBVFVTX0lOVkFMSUQiLDY2KQo0MTU6ICAgICAgICAgICAgcmV0dXJuIGludChmWzVdKSoxMDI0CjQxNjogICAgZGllKCJMT0NBTF9MVk1fTUlTU0lORyIsNjYpCjQxNzo= +ROT_LOAD_STATE_DEF_FOUND=true +ROT_LOAD_STATE_DEF_B64=NDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0NzM6ICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0NzQ6ICAgICAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOiByYWlzZSBEcmlsbEVycm9yKCJCQUNLVVBfTE9DS19CVVNZIiw3NSkKNDc1OiAgICAgICAgICAgIHRpbWUuc2xlZXAoMjApCjQ3NjogICAgZGVmIF9fZXhpdF9fKHNlbGYsKmEpOgo0Nzc6ICAgICAgICBmb3IgZiBpbiByZXZlcnNlZChzZWxmLmZkcyk6CjQ3ODogICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0Nzk6ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0ODA6ICAgICAgICBzZWxmLmZkcz1bXQo0ODE6CjQ4MjpkZWYgcGlja19mcmVlKHJlc291cmNlcyxzdGFydCxlbmQpOgo0ODM6ICAgIHVzZWQ9e2ludCh4KSBmb3IgeCBpbiByZXNvdXJjZXN9CjQ4NDogICAgZm9yIGkgaW4gcmFuZ2Uoc3RhcnQsZW5kKzEpOgo0ODU6ICAgICAgICBpZiBpIG5vdCBpbiB1c2VkOiByZXR1cm4gaQo0ODY6ICAgIGRpZSgiVEVNUF9JRF9SQU5HRV9FWEhBVVNURUQiLDc1KQ== +ROT_REGISTRY_DEF_FOUND=true +ROT_REGISTRY_DEF_B64=MjYzOiAgICBpZiBhZ2VfZGF5cz5mbG9hdChwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0pOiBkaWUoIkVTQ1JPV19TRU1BTlRJQ19QUk9PRl9TVEFMRSIsNzUpCjI2NDogICAgYT1yZWFkX2pzb24ocGF0aGxpYi5QYXRoKHBbImF1ZGl0X3BhdGgiXSkpCjI2NTogICAgaWYgbm90IChhLmdldCgiYXVkaXRfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJiYWNrdXBfc3RhdHVzIik9PSJHUkVFTiIgYW5kCjI2NjogICAgICAgICAgICBhLmdldCgiZHJfcmVhZGluZXNzIik9PSJQUk9WRU4iIGFuZCBhLmdldCgiZHJfcHJvb2Zfc3RhdHVzIik9PSJQUk9WRU4iIGFuZAoyNjc6ICAgICAgICAgICAgYS5nZXQoImVzY3Jvd19zdGF0dXMiKT09Ik9LIiBhbmQgYS5nZXQoInFlbXVfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kCjI2ODogICAgICAgICAgICBhLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kIGEuZ2V0KCJmdWxsX3NpdGVfZHJfcHJvdmVuIikgaXMgVHJ1ZSk6CjI2OTogICAgICAgIGRpZSgiQ1VSUkVOVF9CQUNLVVBfQVVESVRfTk9UX0RSX1JFQURZIiw3NSkKMjcwOiAgICByZXR1cm4geyJjaXBoZXJ0ZXh0X3NoYV92ZXJpZmllZCI6VHJ1ZSwic2VtYW50aWNfcHJvb2Zfc2VhbF9zaGFfdmVyaWZpZWQiOlRydWUsCjI3MTogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfYXRfdXRjIjpzWyJzZWFsZWRfYXRfdXRjIl0sInNlbWFudGljX3Byb29mX2FnZV9kYXlzIjpyb3VuZChhZ2VfZGF5cyw0KSwKMjcyOiAgICAgICAgICAgICJzZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiOnBbImVzY3Jvd19zZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiXSwKMjczOiAgICAgICAgICAgICJwaHlzaWNhbF9lc2Nyb3dfY29waWVzIjoiMl9VU0VSX0FUVEVTVEVEIiwicGh5c2ljYWxfZXNjcm93X21lZGlhX3JlYWRfcHJvdmVuIjpGYWxzZX0KMjc0OgoyNzU6ZGVmIHJlZ2lzdHJ5KHApOgoyNzY6ICAgIHI9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJyZWdpc3RyeV9wYXRoIl0pKQoyNzc6ICAgIGlmIHIuZ2V0KCJzY2hlbWEiKSE9ImhvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeS12MSI6IGRpZSgiUkVHSVNUUllfSU5WQUxJRCIsNjYpCjI3ODogICAgb3V0PXt9CjI3OTogICAgZm9yIHggaW4gci5nZXQoInRhcmdldHMiLFtdKToKMjgwOiAgICAgICAgaWYgeC5nZXQoImtpbmQiKT09IlZNIiBhbmQgeC5nZXQoImxpZmVjeWNsZSIpPT0iQUNUSVZFIjoKMjgxOiAgICAgICAgICAgIHZtaWQ9c3RyKHguZ2V0KCJpZCIsIiIpKQoyODI6ICAgICAgICAgICAgb3duZXI9eC5nZXQoIm93bmVyIikKMjgzOiAgICAgICAgICAgIGlmIG5vdCB2bWlkLmlzZGlnaXQoKSBvciBvd25lciBub3QgaW4gKCJwdmUwMSIsInB2ZTAyIiwicHZlMDMiKSBvciB2bWlkIGluIG91dDogZGllKCJSRUdJU1RSWV9WTV9JTlZBTElEIiw2NikKMjg0OiAgICAgICAgICAgIG91dFt2bWlkXT17ImxvZ2ljYWxfaWQiOnguZ2V0KCJsb2dpY2FsX2lkIiksIm93bmVyIjpvd25lcn0KMjg1OiAgICByZXF1aXJlZD1zZXQocFsicWVtdV9yb3RhdGlvbiJdK3BbImx4Y19yb3RhdGlvbiJdK2xpc3QocC5nZXQoInFlbXVfZXhjbHVkZWQiLHt9KSkpCjI4NjogICAgaWYgbm90IHJlcXVpcmVkLmlzc3Vic2V0KG91dCk6IGRpZSgiUkVHSVNUUllfUk9UQVRJT05fVEFSR0VUX01JU1NJTkciLDY2KQoyODc6ICAgIHJldHVybiBvdXQKMjg4OgoyODk6ZGVmIG93bmVyX2hvc3Qob3duZXIpOgoyOTA6ICAgIHJldHVybiB7InB2ZTAyIjoicm9vdEBbUFJJVkFURV9JUF0iLCJwdmUwMyI6InJvb3RAW1BSSVZBVEVfSVBdIn0uZ2V0KG93bmVyKQoyOTE6CjI5MjpkZWYgc3NoX2Jhc2Uod2l0aF9zdGRpbj1GYWxzZSk6CjI5MzogICAgYmFzZT1bU1NIXQoyOTQ6ICAgIGlmIG5vdCB3aXRoX3N0ZGluOiBiYXNlLmFwcGVuZCgiLW4iKQoyOTU6ICAgIHJldHVybiBiYXNlK1siLW8iLCJCYXRjaE1vZGU9eWVzIiwiLW8iLCJDb25uZWN0VGltZW91dD0xNSIsIi1vIiwiU3RyaWN0SG9zdEtleUNoZWNraW5nPXllcyIsIi1vIiwiVXNlcktub3duSG9zdHNGaWxlPS9yb290Ly5zc2gva25vd25faG9zdHMiXQoyOTY6CjI5NzpkZWYgbm9kZV9ydW4ob3duZXIsYXJndixjaGVjaz1UcnVlLHRpbWVvdXQ9Tm9uZSxpbnB1dF9ieXRlcz1Ob25lKToKMjk4OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMjk5OiAgICAgICAgcmV0dXJuIHJ1bihhcmd2LGNoZWNrPWNoZWNrLGNhcHR1cmU9VHJ1ZSx0aW1lb3V0PXRpbWVvdXQsaW5wdXRfYnl0ZXM9aW5wdXRfYnl0ZXMpCjMwMDogICAgaG9zdD1vd25lcl9ob3N0KG93bmVyKQozMDE6ICAgIGlmIGhvc3QgaXMgTm9uZTogZGllKCJPV05FUl9JTlZBTElEIiw2NCkKMzAyOiAgICBjbWQ9c3NoX2Jhc2Uod2l0aF9zdGRpbj1pbnB1dF9ieXRlcyBpcyBub3QgTm9uZSkrW2hvc3RdK1tzdHIoeCkgZm9yIHggaW4gYXJndl0KMzAzOiAgICByZXR1cm4gcnVuKGNtZCxjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDQ6CjMwNTpkZWYgZXhwb3J0X3N0YXRlKHAscmVnLHZtaWQsc3RhdGVfZXhwb3J0ZXI9U1RBVEVfRVhQT1JURVIpOgozMDY6ICAgIGl0ZW09cmVnW3ZtaWRdOyBsb2dpY2FsPWl0ZW1bImxvZ2ljYWxfaWQiXTsgb3duZXI9aXRlbVsib3duZXIiXQozMDc6ICAgIGlmIGxvZ2ljYWwhPWYidm17dm1pZH0iOiBkaWUoIlJFR0lTVFJZX0xPR0lDQUxfSU5WQUxJRF8iK3ZtaWQsNjYpCjMwODogICAgYXNzZXJ0X3JlZ3VsYXJfcm9vdChwYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpKQozMDk6ICAgIGlmIG93bmVyPT0icHZlMDEiOgozMTA6ICAgICAgICBwcj1ydW4oW1BZVEhPTiwiLUIiLHN0YXRlX2V4cG9ydGVyLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCkKMzExOiAgICBlbHNlOgozMTI6ICAgICAgICBkYXRhPXBhdGhsaWIuUGF0aChzdGF0ZV9leHBvcnRlcikucmVhZF9ieXRlcygpCjMxMzogICAgICAgIHByPW5vZGVfcnVuKG93bmVyLFtQWVRIT04sIi1CIiwiLSIsdm1pZCxsb2dpY2FsXSx0aW1lb3V0PTMwLGlucHV0X2J5dGVzPWRhdGEpCjMxNDogICAgaWYgcHIucmV0dXJuY29kZSE9MDogZGllKCJTVEFURV9FWFBPUlRfRkFJTEVEXyIrdm1pZCw2NSkKMzE1OiAgICB0cnk6IG9iaj1qc29uLmxvYWRzKHByLnN0ZG91dC5kZWNvZGUoKSkKMzE2OiAgICBleGNlcHQgRXhjZXB0aW9uOiBkaWUoIlNUQVRFX0VYUE9SVF9KU09OX0lOVkFMSURfIit2bWlkLDY2KQozMTc6ICAgIGlmIG5vdCAob2JqLmdldCgic2NoZW1hIik9PSJob21lbGFiLWJvb3QtZHJpbGwtc3RhdGUtZXhwb3J0LXYxIiBhbmQgb2JqLmdldCgidm1pZCIpPT12bWlkIGFuZAozMTg6ICAgICAgICAgICAgb2JqLmdldCgibG9naWNhbF9pZCIpPT1sb2dpY2FsIGFuZCBvYmouZ2V0KCJzdHJpY3Rfc2VhbGVkX3Jlc3RvcmVfcHJvdmVuIikgaXMgVHJ1ZSk6CjMxOTogICAgICAgIGRpZSgiU1RBVEVfRVhQT1JUX0NPTlRFTlRfSU5WQUxJRF8iK3ZtaWQsNjYp +ROT_FUNC_PRECHECK_PRESENT=true +ROT_FUNC_PRECHECK_ARGS=p,state_exporter,mode +ROT_FUNC_EXECUTE_PRESENT=true +ROT_FUNC_EXECUTE_ARGS=mode,p +ROT_FUNC_FETCH_ARCHIVE_PRESENT=true +ROT_FUNC_FETCH_ARCHIVE_ARGS=info,cloud,work +ROT_FUNC_QEMU_BOOT_PRESENT=true +ROT_FUNC_QEMU_BOOT_ARGS=archive,tempid,wait_sec,run_id +ROT_FUNC_CLEANUP_ONE_PRESENT=true +ROT_FUNC_CLEANUP_ONE_ARGS=kind,vmid,created_epoch +ROT_FUNC_CLUSTER_WITHOUT_TEMP_PRESENT=true +ROT_FUNC_CLUSTER_WITHOUT_TEMP_ARGS=qid,lid,timeout +ROT_FUNC_VALIDATE_REMOTE_METADATA_PRESENT=true +ROT_FUNC_VALIDATE_REMOTE_METADATA_ARGS=info,cloud +ROT_FUNC_LOAD_STATE_DEFAULT_PRESENT=true +ROT_FUNC_LOAD_STATE_DEFAULT_ARGS= +ROT_FUNC_REGISTRY_PRESENT=true +ROT_FUNC_REGISTRY_ARGS=p +ROT_FUNC_SELECT_PAIR_PRESENT=false +AUDSRC_DR_READY_FOUND=false +AUDSRC_DR_READY_LOWER_FOUND=false +AUDSRC_BOOT_FOUND=false +AUDSRC_RESTORE_FOUND=true +AUDSRC_RESTORE_B64=MTojIS91c3IvYmluL2VudiBweXRob24zCjI6aW1wb3J0IHN5cyxvcyxqc29uLHRpbWUsc3VicHJvY2VzcyxwYXRobGliLHJlLGRhdGV0aW1lCjM6TU9ERT1zeXMuYXJndlsxXSBpZiBsZW4oc3lzLmFyZ3YpPjEgZWxzZSAiYWxsIgo0OmlmIE1PREUgbm90IGluICgiYWxsIiwid3JpdGUtaGVhbHRoIiwic2NoZWR1bGVkIiwiY29udHJhY3QiKToKNTogICAgcHJpbnQoIkFVRElUX0VSUk9SPVVTQUdFX2FsbF93cml0ZS1oZWFsdGhfc2NoZWR1bGVkX2NvbnRyYWN0IixmaWxlPXN5cy5zdGRlcnIpOyBzeXMuZXhpdCg2NCkKNjppZiBNT0RFPT0iY29udHJhY3QiOgo3OiAgICBwcmludCgiQVVESVRfQ09OVFJBQ1Q9djItcGx1cy1zZWFsZWQtcXVvcnVtIikKODogICAgcHJpbnQoIkFVRElUX1NDSEVNQT1ob21lbGFiLWJhY2t1cC1hdWRpdC12MyIpCjk6ICAgIHN5cy5leGl0KDApCjEwOgoxMTpSRUc9cGF0aGxpYi5QYXRoKCIvZXRjL2hvbWVsYWItYmFja3VwL3RhcmdldHMuanNvbiIpCjEyOlNUQVRFPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1iYWNrdXAtdjIvc3RhdGUiKQoxMzpRUk9PVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL2Nsb3VkLXF1b3J1bSIpCjE0OlZNUkVTVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL3ZtLXJlc3RvcmUtdmFsaWRhdGlvbiIpCjE1OkFQUFJFU1Q9cGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWJhY2t1cC9hcHAtcmVzdG9yZS12YWxpZGF0aW9uIikKMTY6UkVHSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeSIKMTc6QVBQUT0iL3Vzci9sb2NhbC9zYmluL2hvbWVsYWItYXBwLWNsb3VkLXF1b3J1bS1xdWV1ZSIKMTg6R0ZTSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLWdmcy1wb2xpY3kiCjE5OkdGU1A9Ii9ldGMvaG9tZWxhYi1iYWNrdXAvZ2ZzLXJldGVudGlvbi5qc29uIgoyMDpSRVQ9Ii91c3IvbG9jYWwvc2Jpbi9ob21lbGFiLWJhY2t1cC1yZXRlbnRpb24tZ2MiCjIxOldUPSIvcm9vdC9ob21lbGFiLW9wcy1jci0yMDI2LTEwMDUiCjIyOkJSQU5DSD0iY3ItMjAyNi0xMDA1LWJhY2t1cC12Mi1oZWFsdGgtYWxlcnRpbmctcmVtZWRpYXRpb24iCjIzOkRSU0VBTD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYWRtaW4vc2VhbHMvc2l0ZS1kci1maW5hbC1hY2NlcHRhbmNlLXYxLmpzb24iKQoyNDpDTE9VREJfSEVBTFRIPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvc2tsYWRjaGlrLXJlcG9ydHMtbW9uaXRvci1iYWNrdXAvcmVzdG9yZS1jaGVjay1oZWFsdGgudHh0IikKMjU6SEVBTFRIUz1bcGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWhlYWx0aC9iYWNrdXAtYXVkaXQtdjIuanNvbiIpLHBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1oZWFsdGgvYmFja3VwLWF1ZGl0Lmpzb24iKV0KMjY6CjI3OmRlZiBydW4oY21kLHRpbWVvdXQ9NjAsZW52PU5vbmUpOgoyODogICAgdHJ5OgoyOTogICAgICAgIHA9c3VicHJvY2Vzcy5ydW4oY21kLHRleHQ9VHJ1ZSxzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD10aW1lb3V0LGVudj1lbnYpCjMwOiAgICAgICAgcmV0dXJuIHAucmV0dXJuY29kZSxwLnN0ZG91dCxwLnN0ZGVycgozMTogICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQgYXMgZToKMzI6ICAgICAgICByZXR1cm4gMTI0LGUuc3Rkb3V0IG9yICIiLGUuc3RkZXJyIG9yICIiCjMzOgozNDpkZWYgY29sbGVjdChvYmosb3V0KToKMzU6ICAgIGlmIGlzaW5zdGFuY2Uob2JqLGRpY3QpOgozNjogICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLmdldCgibG9naWNhbF9pZCIpLHN0cik6IG91dC5hcHBlbmQob2JqKQozNzogICAgICAgIGZvciB2IGluIG9iai52YWx1ZXMoKTogY29sbGVjdCh2LG91dCkKMzg6ICAgIGVsaWYgaXNpbnN0YW5jZShvYmosbGlzdCk6CjM5OiAgICAgICAgZm9yIHYgaW4gb2JqOiBjb2xsZWN0KHYsb3V0KQo0MDoKNDE6ZGVmIHBhcnNlX2Vwb2NoKG9iaik6CjQyOiAgICBmb3IgayBpbiAoInNlYWxlZF9lcG9jaCIsImxhc3Rfc3VjY2Vzc19lcG9jaCIsInVwZGF0ZWRfZXBvY2giKToKNDM6ICAgICAgICB2PW9iai5nZXQoaykKNDQ6ICAgICAgICBpZiBpc2luc3RhbmNlKHYsKGludCxmbG9hdCkpIGFuZCB2PjA6IHJldHVybiBpbnQodikKNDU6ICAgIGZvciBrIGluICgic2VhbGVkX2F0X3V0YyIsInVwZGF0ZWRfYXRfdXRjIiwiY29tcGxldGVkX2F0X3V0YyIpOgo0NjogICAgICAgIHY9b2JqLmdldChrKQo0NzogICAgICAgIGlmIGlzaW5zdGFuY2UodixzdHIpIGFuZCB2Ogo0ODogICAgICAgICAgICB0cnk6CjQ5OiAgICAgICAgICAgICAgICByZXR1cm4gaW50KGRhdGV0aW1lLmRhdGV0aW1lLmZyb21pc29mb3JtYXQodi5yZXBsYWNlKCJaIiwiKzAwOjAwIikpLnRpbWVzdGFtcCgpKQo1MDogICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBwYXNzCjUxOiAgICByZXR1cm4gTm9uZQo1MjoKNTM6ZGVmIGxhdGVzdF9sZWdhY3kobG9naWNhbCxraW5kKToKNTQ6ICAgIGQ9UVJPT1QvbG9naWNhbAo1NTogICAgYmVzdD1Ob25lOyBiZXN0X2Vwb2NoPS0xCjU2OiAgICBpZiBub3QgZC5pc19kaXIoKTogcmV0dXJuIE5vbmUKNTc6ICAgIGZvciBwIGluIGQuZ2xvYigiKi5qc29uIik6CjU4OiAgICAgICAgdHJ5OiBvYmo9anNvbi5sb2FkcyhwLnJlYWRfdGV4dChlbmNvZGluZz0idXRmLTgiKSkKNTk6ICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBjb250aW51ZQo2MDogICAgICAgIGVwb2NoPXBhcnNlX2Vwb2NoKG9iaikKNjE6ICAgICAgICBzY29yZT1lcG9jaCBpZiBlcG9jaCBpcyBub3QgTm9uZSBlbHNlIGludChwLnN0YXQoKS5zdF9tdGltZSkKNjI6ICAgICAgICBpZiBzY29yZT5iZXN0X2Vwb2NoOgo2MzogICAgICAgICAgICBiZXN0X2Vwb2NoPXNjb3JlOyBiZXN0PShwLG9iaixzY29yZSkKNjQ6ICAgIGlmIG5vdCBiZXN0OiByZXR1cm4gTm9uZQo2NTogICAgcCxvYmosZXBvY2g9YmVzdAo2NjogICAgZ2VuPW9iai5nZXQoImdlbmVyYXRpb24iKQo2NzogICAgc3RyaWN0PShvYmouZ2V0KCJzdGF0dXMiKT09IlNFQUxFRCIgYW5kIG9iai5nZXQoImNsb3VkX3F1b3J1bSIpPT0yIGFuZCBvYmouZ2V0KCJjbG91ZF9hX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgiY2xvdWRfYl92ZXJpZmllZCIpIGlzIFRydWUgYW5kIG9iai5nZXQoInBhcnRfaGFzaGVzX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgic2VhbF93cml0dGVuIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgibG9jYWxfcGF5bG9hZF9wcmVzZW50IikgaXMgRmFsc2UgYW5kIG9iai5nZXQoImxvY2FsX2NsZWFudXAiKT09Ik9LIikKNjg6ICAgIHJyb290PVZNUkVTVCBpZiBraW5kPT0iVk0iIGVsc2UgQVBQUkVTVAo2OTogICAgcmV2PShycm9vdC9sb2dpY2FsLyhzdHIoZ2VuKSsiLmpzb24iKSkgaWYgZ2VuIGVsc2UgTm9uZQo3MDogICAgcmVzdG9yZT1GYWxzZQo3MTogICAgaWYgcmV2IGFuZCByZXYuaXNfZmlsZSgpOgo3MjogICAgICAgIHRyeToKNzM6ICAgICAgICAgICAgcmo9anNvbi5sb2FkcyhyZXYucmVhZF90ZXh0KGVuY29kaW5nPSJ1dGYtOCIpKQo3NDogICAgICAgICAgICByZXN0b3JlPShyai5nZXQoInJlc3VsdCIpPT0iT0siKQo3NTogICAgICAgIGV4Y2VwdCBFeGNlcHRpb246IHBhc3MKNzY6ICAgIGFnZT1tYXgoMCxpbnQodGltZS50aW1lKCktZXBvY2gpKSBpZiBlcG9jaCBlbHNlIE5vbmUKNzc6ICAgIHJldHVybiB7ImdlbmVyYXRpb24iOmdlbiwic3RyaWN0IjpzdHJpY3QsInJlc3RvcmVfb2siOnJlc3RvcmUsImFnZV9zZWNvbmRzIjphZ2UsInN0YXRlX2ZpbGUiOnN0cihwKSwib2JqIjpvYmp9Cjc4Ogo3OTpkZWYgdW5pdF9vayh1bml0KToKODA6ICAgIGE9cnVuKFsic3lzdGVtY3RsIiwiaXMtYWN0aXZlIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MTogICAgZT1ydW4oWyJzeXN0ZW1jdGwiLCJpcy1lbmFibGVkIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MjogICAgcmV0dXJuIGE9PSJhY3RpdmUiIGFuZCBlPT0iZW5hYmxlZCIsYSxlCjgzOg== +AUDSRC_WRITES_FILES=true +VM150_TARGET_ENTRY_COUNT=1 +VM150_TARGET_1_KEYS_SHA256=76f391d578cdf23dffea7420973afc004f2841b41c9092d188f598d6ff3f999c +VM150_TARGET_1_ID=150 +VM150_TARGET_1_LOGICAL_ID=vm150 +VM150_TARGET_1_KIND=VM +VM150_TARGET_1_OWNER_SHA256=1ec037ee8d7939e1aad0c2701a1c4f09849abb191ec016f69e6f8de4142276c3 +VM150_JSON_CANDIDATE_COUNT=39 +VM150_JSON_1_AGE_SECONDS=2688173 +VM150_JSON_1_BASENAME=vm150-pve01-20260904T053517Z.json +VM150_JSON_1_PATH_SHA256=efad5cd2aee419fd80f4308fd06a30e54426d4bd98793b8cedea8fa9bb27ca38 +VM150_JSON_1_F1_KEY=logical_id +VM150_JSON_1_F1_VALUE=vm150 +VM150_JSON_1_F2_KEY=generation +VM150_JSON_1_F2_VALUE=vm150-pve01-20260904T053517Z +VM150_JSON_1_F3_KEY=vmid +VM150_JSON_1_F3_VALUE=150 +VM150_JSON_2_AGE_SECONDS=2734927 +VM150_JSON_2_BASENAME=vm150-pve01-20260903T163557Z.json +VM150_JSON_2_PATH_SHA256=490cb5fb334b0fe267cc10283df8b51851b37403c9da4c04068949fb8fd78d1c +VM150_JSON_2_F1_KEY=logical_id +VM150_JSON_2_F1_VALUE=vm150 +VM150_JSON_2_F2_KEY=generation +VM150_JSON_2_F2_VALUE=vm150-pve01-20260903T163557Z +VM150_JSON_2_F3_KEY=vmid +VM150_JSON_2_F3_VALUE=150 +VM150_JSON_3_AGE_SECONDS=2785326 +VM150_JSON_3_BASENAME=vm150-pve01-20260903T023609Z.json +VM150_JSON_3_PATH_SHA256=e39e01b8035f5baca1c53b1080423328febdfe29bc6e5cd681aef84e400c8a8d +VM150_JSON_3_F1_KEY=logical_id +VM150_JSON_3_F1_VALUE=vm150 +VM150_JSON_3_F2_KEY=generation +VM150_JSON_3_F2_VALUE=vm150-pve01-20260903T023609Z +VM150_JSON_3_F3_KEY=vmid +VM150_JSON_3_F3_VALUE=150 +VM150_JSON_4_AGE_SECONDS=2831874 +VM150_JSON_4_BASENAME=vm150-pve01-20260902T134020Z.json +VM150_JSON_4_PATH_SHA256=4e2bf58cf003f9d792ca892af124e65d08132b49a7942013a5c1ad6035178918 +VM150_JSON_4_F1_KEY=logical_id +VM150_JSON_4_F1_VALUE=vm150 +VM150_JSON_4_F2_KEY=generation +VM150_JSON_4_F2_VALUE=vm150-pve01-20260902T134020Z +VM150_JSON_4_F3_KEY=vmid +VM150_JSON_4_F3_VALUE=150 +VM150_JSON_5_AGE_SECONDS=2878920 +VM150_JSON_5_BASENAME=vm150-pve01-20260902T003622Z.json +VM150_JSON_5_PATH_SHA256=0eb5d296516657ca0bb484aa1a8ed0e75adf2aa7f4d9d9657e6b4f41a082ef93 +VM150_JSON_5_F1_KEY=logical_id +VM150_JSON_5_F1_VALUE=vm150 +VM150_JSON_5_F2_KEY=generation +VM150_JSON_5_F2_VALUE=vm150-pve01-20260902T003622Z +VM150_JSON_5_F3_KEY=vmid +VM150_JSON_5_F3_VALUE=150 +VM150_JSON_6_AGE_SECONDS=2929189 +VM150_JSON_6_BASENAME=vm150-pve01-20260901T103753Z.json +VM150_JSON_6_PATH_SHA256=53532b6be1d08637ff25a37e99b7404393e5fa1c94014c8115dc54f8bfe45fb2 +VM150_JSON_6_F1_KEY=logical_id +VM150_JSON_6_F1_VALUE=vm150 +VM150_JSON_6_F2_KEY=generation +VM150_JSON_6_F2_VALUE=vm150-pve01-20260901T103753Z +VM150_JSON_6_F3_KEY=vmid +VM150_JSON_6_F3_VALUE=150 +VM150_JSON_7_AGE_SECONDS=2975852 +VM150_JSON_7_BASENAME=vm150-pve01-20260831T214108Z.json +VM150_JSON_7_PATH_SHA256=4cef09ec110b2ce4e76a9762ce254c3f6fb7a73cd33af5b89842e9e531784848 +VM150_JSON_7_F1_KEY=logical_id +VM150_JSON_7_F1_VALUE=vm150 +VM150_JSON_7_F2_KEY=generation +VM150_JSON_7_F2_VALUE=vm150-pve01-20260831T214108Z +VM150_JSON_7_F3_KEY=vmid +VM150_JSON_7_F3_VALUE=150 +VM150_JSON_8_AGE_SECONDS=3019217 +VM150_JSON_8_BASENAME=vm150-pve01-20260831T093800Z.json +VM150_JSON_8_PATH_SHA256=58a804c36501e62ca91cf1c3ab96a0c173f37c8d477f24306594be04a0678972 +VM150_JSON_8_F1_KEY=logical_id +VM150_JSON_8_F1_VALUE=vm150 +VM150_JSON_8_F2_KEY=generation +VM150_JSON_8_F2_VALUE=vm150-pve01-20260831T093800Z +VM150_JSON_8_F3_KEY=vmid +VM150_JSON_8_F3_VALUE=150 +VM150_JSON_9_AGE_SECONDS=3066086 +VM150_JSON_9_BASENAME=vm150-pve01-20260830T203628Z.json +VM150_JSON_9_PATH_SHA256=480382928bcffc5e2900de44b8cc219dcf8c19821dc10233c83f03a479641989 +VM150_JSON_9_F1_KEY=logical_id +VM150_JSON_9_F1_VALUE=vm150 +VM150_JSON_9_F2_KEY=generation +VM150_JSON_9_F2_VALUE=vm150-pve01-20260830T203628Z +VM150_JSON_9_F3_KEY=vmid +VM150_JSON_9_F3_VALUE=150 +VM150_JSON_10_AGE_SECONDS=3116522 +VM150_JSON_10_BASENAME=vm150-pve01-20260830T063610Z.json +VM150_JSON_10_PATH_SHA256=af519b9ec9a59ef1b30417a2c789295ac48e9ce777596520cdd73cb2daadf5ba +VM150_JSON_10_F1_KEY=logical_id +VM150_JSON_10_F1_VALUE=vm150 +VM150_JSON_10_F2_KEY=generation +VM150_JSON_10_F2_VALUE=vm150-pve01-20260830T063610Z +VM150_JSON_10_F3_KEY=vmid +VM150_JSON_10_F3_VALUE=150 +VM150_JSON_11_AGE_SECONDS=3163255 +VM150_JSON_11_BASENAME=vm150-pve01-20260829T173717Z.json +VM150_JSON_11_PATH_SHA256=e24834ff71d84a2e6e03c31a533aae943d3fbf684ef8ccc464f5ca58d1a99225 +VM150_JSON_11_F1_KEY=logical_id +VM150_JSON_11_F1_VALUE=vm150 +VM150_JSON_11_F2_KEY=generation +VM150_JSON_11_F2_VALUE=vm150-pve01-20260829T173717Z +VM150_JSON_11_F3_KEY=vmid +VM150_JSON_11_F3_VALUE=150 +VM150_JSON_12_AGE_SECONDS=3210130 +VM150_JSON_12_BASENAME=vm150-pve01-20260829T043615Z.json +VM150_JSON_12_PATH_SHA256=8ff2e29a41e8df7098335a02af10375308751ec56efa9d77e709f73a51cdc40a +VM150_JSON_12_F1_KEY=logical_id +VM150_JSON_12_F1_VALUE=vm150 +VM150_JSON_12_F2_KEY=generation +VM150_JSON_12_F2_VALUE=vm150-pve01-20260829T043615Z +VM150_JSON_12_F3_KEY=vmid +VM150_JSON_12_F3_VALUE=150 +VM150_JSON_13_AGE_SECONDS=3260526 +VM150_JSON_13_BASENAME=vm150-pve01-20260828T143617Z.json +VM150_JSON_13_PATH_SHA256=e5a08de449669ce796d24efdb17319319493f99a4949987f61890a2a4ab87ebf +VM150_JSON_13_F1_KEY=logical_id +VM150_JSON_13_F1_VALUE=vm150 +VM150_JSON_13_F2_KEY=generation +VM150_JSON_13_F2_VALUE=vm150-pve01-20260828T143617Z +VM150_JSON_13_F3_KEY=vmid +VM150_JSON_13_F3_VALUE=150 +VM150_JSON_14_AGE_SECONDS=3325313 +VM150_JSON_14_BASENAME=vm150-pve01-20260827T203624Z.json +VM150_JSON_14_PATH_SHA256=a90c91da69e35c48b275e68c7f9a6306a4655dffe5abe126880e3f525fd7f143 +VM150_JSON_14_F1_KEY=logical_id +VM150_JSON_14_F1_VALUE=vm150 +VM150_JSON_14_F2_KEY=generation +VM150_JSON_14_F2_VALUE=vm150-pve01-20260827T203624Z +VM150_JSON_14_F3_KEY=vmid +VM150_JSON_14_F3_VALUE=150 +VM150_JSON_15_AGE_SECONDS=3375730 +VM150_JSON_15_BASENAME=vm150-pve01-20260827T063558Z.json +VM150_JSON_15_PATH_SHA256=57ab7089265ac9c0e72161816511ffe8819a43d0462e19883a9ecf7500ba184b +VM150_JSON_15_F1_KEY=logical_id +VM150_JSON_15_F1_VALUE=vm150 +VM150_JSON_15_F2_KEY=generation +VM150_JSON_15_F2_VALUE=vm150-pve01-20260827T063558Z +VM150_JSON_15_F3_KEY=vmid +VM150_JSON_15_F3_VALUE=150 +VM150_JSON_16_AGE_SECONDS=3422364 +VM150_JSON_16_BASENAME=vm150-pve01-20260826T173850Z.json +VM150_JSON_16_PATH_SHA256=fff2071f6222d4358b317f3752883ce608ad113e8730f6bee3b1eaefa197f68a +VM150_JSON_16_F1_KEY=logical_id +VM150_JSON_16_F1_VALUE=vm150 +VM150_JSON_16_F2_KEY=generation +VM150_JSON_16_F2_VALUE=vm150-pve01-20260826T173850Z +VM150_JSON_16_F3_KEY=vmid +VM150_JSON_16_F3_VALUE=150 +VM150_JSON_17_AGE_SECONDS=3465740 +VM150_JSON_17_BASENAME=vm150-pve01-20260826T053634Z.json +VM150_JSON_17_PATH_SHA256=9d6863bc8ff23a8a68cc90a0b0dbf31b9a89ec4890a2fcf7220abe7c543880c1 +VM150_JSON_17_F1_KEY=logical_id +VM150_JSON_17_F1_VALUE=vm150 +VM150_JSON_17_F2_KEY=generation +VM150_JSON_17_F2_VALUE=vm150-pve01-20260826T053634Z +VM150_JSON_17_F3_KEY=vmid +VM150_JSON_17_F3_VALUE=150 +VM150_JSON_18_AGE_SECONDS=3512427 +VM150_JSON_18_BASENAME=vm150-pve01-20260825T163812Z.json +VM150_JSON_18_PATH_SHA256=ef64ef6538caefc24d123cfbc0432f51b63b33693168bdb120a80d5400032476 +VM150_JSON_18_F1_KEY=logical_id +VM150_JSON_18_F1_VALUE=vm150 +VM150_JSON_18_F2_KEY=generation +VM150_JSON_18_F2_VALUE=vm150-pve01-20260825T163812Z +VM150_JSON_18_F3_KEY=vmid +VM150_JSON_18_F3_VALUE=150 +VM150_JSON_19_AGE_SECONDS=3591704 +VM150_JSON_19_BASENAME=vm150-pve01-20260824T183626Z.json +VM150_JSON_19_PATH_SHA256=92d083547ad1f23796a6a11ecbee18a3303a82a3710e7d063974fd5667750557 +VM150_JSON_19_F1_KEY=logical_id +VM150_JSON_19_F1_VALUE=vm150 +VM150_JSON_19_F2_KEY=generation +VM150_JSON_19_F2_VALUE=vm150-pve01-20260824T183626Z +VM150_JSON_19_F3_KEY=vmid +VM150_JSON_19_F3_VALUE=150 +VM150_JSON_20_AGE_SECONDS=3670939 +VM150_JSON_20_BASENAME=vm150-pve01-20260823T203609Z.json +VM150_JSON_20_PATH_SHA256=1ace4425362bd41c0036ec74a7b44aed204f9fae19c99d2bf103d6094276fee0 +VM150_JSON_20_F1_KEY=logical_id +VM150_JSON_20_F1_VALUE=vm150 +VM150_JSON_20_F2_KEY=generation +VM150_JSON_20_F2_VALUE=vm150-pve01-20260823T203609Z +VM150_JSON_20_F3_KEY=vmid +VM150_JSON_20_F3_VALUE=150 +VM150_JSON_21_AGE_SECONDS=3750155 +VM150_JSON_21_BASENAME=vm150-pve01-20260822T223600Z.json +VM150_JSON_21_PATH_SHA256=0e224d344921db46ad1703e84f9f786c0fcb5644d6e07968607653f68d4b5289 +VM150_JSON_21_F1_KEY=logical_id +VM150_JSON_21_F1_VALUE=vm150 +VM150_JSON_21_F2_KEY=generation +VM150_JSON_21_F2_VALUE=vm150-pve01-20260822T223600Z +VM150_JSON_21_F3_KEY=vmid +VM150_JSON_21_F3_VALUE=150 +VM150_JSON_22_AGE_SECONDS=3825521 +VM150_JSON_22_BASENAME=vm150-pve01-20260822T014003Z.json +VM150_JSON_22_PATH_SHA256=a59e760b246d6efdfe7c4f0a5f260c1f72a76b181e328e7a33f94db520ac60e7 +VM150_JSON_22_F1_KEY=logical_id +VM150_JSON_22_F1_VALUE=vm150 +VM150_JSON_22_F2_KEY=generation +VM150_JSON_22_F2_VALUE=vm150-pve01-20260822T014003Z +VM150_JSON_22_F3_KEY=vmid +VM150_JSON_22_F3_VALUE=150 +VM150_JSON_23_AGE_SECONDS=3897739 +VM150_JSON_23_BASENAME=vm150-pve01-20260821T053611Z.json +VM150_JSON_23_PATH_SHA256=077c97c61a88311e7618884aedf6083d639d4e107d9bde7c05aa81b0b4b54361 +VM150_JSON_23_F1_KEY=logical_id +VM150_JSON_23_F1_VALUE=vm150 +VM150_JSON_23_F2_KEY=generation +VM150_JSON_23_F2_VALUE=vm150-pve01-20260821T053611Z +VM150_JSON_23_F3_KEY=vmid +VM150_JSON_23_F3_VALUE=150 +VM150_JSON_24_AGE_SECONDS=4038514 +VM150_JSON_24_BASENAME=vm150-pve01-20260819T143015Z.json +VM150_JSON_24_PATH_SHA256=ad0168705fb1abddb563d836544c3cbddb22a1a70703d1812e031bc1fc3d8377 +VM150_JSON_24_F1_KEY=logical_id +VM150_JSON_24_F1_VALUE=vm150 +VM150_JSON_24_F2_KEY=generation +VM150_JSON_24_F2_VALUE=vm150-pve01-20260819T143015Z +VM150_JSON_24_F3_KEY=vmid +VM150_JSON_24_F3_VALUE=150 +VM150_JSON_25_AGE_SECONDS=4113806 +VM150_JSON_25_BASENAME=vm150-pve01-20260818T173509Z.json +VM150_JSON_25_PATH_SHA256=be8431499d9e3e6ed265d4cbb2660798a65578653983c6d5ae59e2e3d99165a1 +VM150_JSON_25_F1_KEY=logical_id +VM150_JSON_25_F1_VALUE=vm150 +VM150_JSON_25_F2_KEY=generation +VM150_JSON_25_F2_VALUE=vm150-pve01-20260818T173509Z +VM150_JSON_25_F3_KEY=vmid +VM150_JSON_25_F3_VALUE=150 +VM150_JSON_26_AGE_SECONDS=4185942 +VM150_JSON_26_BASENAME=vm150-pve01-20260817T213301Z.json +VM150_JSON_26_PATH_SHA256=f5e671fc0233fb2bbbebc3c8999bb39ad4c4280c1eae1a8dbd4064a3825b16d4 +VM150_JSON_26_F1_KEY=logical_id +VM150_JSON_26_F1_VALUE=vm150 +VM150_JSON_26_F2_KEY=generation +VM150_JSON_26_F2_VALUE=vm150-pve01-20260817T213301Z +VM150_JSON_26_F3_KEY=vmid +VM150_JSON_26_F3_VALUE=150 +VM150_JSON_27_AGE_SECONDS=4261719 +VM150_JSON_27_BASENAME=vm150-pve01-20260817T003018Z.json +VM150_JSON_27_PATH_SHA256=05b91e821a277d9ad10d3de52b107eb7e45b97727f57b417255dbef9a60c96da +VM150_JSON_27_F1_KEY=logical_id +VM150_JSON_27_F1_VALUE=vm150 +VM150_JSON_27_F2_KEY=generation +VM150_JSON_27_F2_VALUE=vm150-pve01-20260817T003018Z +VM150_JSON_27_F3_KEY=vmid +VM150_JSON_27_F3_VALUE=150 +VM150_JSON_28_AGE_SECONDS=4334544 +VM150_JSON_28_BASENAME=vm150-pve01-20260816T041612Z.json +VM150_JSON_28_PATH_SHA256=c999b87e71c3d6a336591a17d78ee9259d2b87d658c8ee7343b5b161dfc0e0dc +VM150_JSON_28_F1_KEY=logical_id +VM150_JSON_28_F1_VALUE=vm150 +VM150_JSON_28_F2_KEY=generation +VM150_JSON_28_F2_VALUE=vm150-pve01-20260816T041612Z +VM150_JSON_28_F3_KEY=vmid +VM150_JSON_28_F3_VALUE=150 +VM150_JSON_29_AGE_SECONDS=4335638 +VM150_JSON_29_BASENAME=vm150-pve01-20260816T035805Z.json +VM150_JSON_29_PATH_SHA256=a890d8089e7156e6544500344b99792a1adc142f4c2003489cd91b93fee5f93b +VM150_JSON_29_F1_KEY=logical_id +VM150_JSON_29_F1_VALUE=vm150 +VM150_JSON_29_F2_KEY=generation +VM150_JSON_29_F2_VALUE=vm150-pve01-20260816T035805Z +VM150_JSON_29_F3_KEY=vmid +VM150_JSON_29_F3_VALUE=150 +VM150_JSON_30_AGE_SECONDS=4335883 +VM150_JSON_30_BASENAME=vm150-pve01-20260816T035401Z.json +VM150_JSON_30_PATH_SHA256=bb77462667c0df00e5f6b63a084ab7bd5453bfe251c0011213df5e20c274f319 +VM150_JSON_30_F1_KEY=logical_id +VM150_JSON_30_F1_VALUE=vm150 +VM150_JSON_30_F2_KEY=generation +VM150_JSON_30_F2_VALUE=vm150-pve01-20260816T035401Z +VM150_JSON_30_F3_KEY=vmid +VM150_JSON_30_F3_VALUE=150 +VM150_JSON_31_AGE_SECONDS=4336166 +VM150_JSON_31_BASENAME=vm150-pve01-20260816T034912Z.json +VM150_JSON_31_PATH_SHA256=b3889cc734bc9fd89d9c787ab9fc6ed3d284f7fcba42cc9444f928c2846f1232 +VM150_JSON_31_F1_KEY=logical_id +VM150_JSON_31_F1_VALUE=vm150 +VM150_JSON_31_F2_KEY=generation +VM150_JSON_31_F2_VALUE=vm150-pve01-20260816T034912Z +VM150_JSON_31_F3_KEY=vmid +VM150_JSON_31_F3_VALUE=150 +VM150_JSON_32_AGE_SECONDS=4336430 +VM150_JSON_32_BASENAME=vm150-pve01-20260816T034448Z.json +VM150_JSON_32_PATH_SHA256=8bc6d14bb54a671b9577d30a4263877504161df7e3f8c0479cdfd6f4a3f10387 +VM150_JSON_32_F1_KEY=logical_id +VM150_JSON_32_F1_VALUE=vm150 +VM150_JSON_32_F2_KEY=generation +VM150_JSON_32_F2_VALUE=vm150-pve01-20260816T034448Z +VM150_JSON_32_F3_KEY=vmid +VM150_JSON_32_F3_VALUE=150 +VM150_JSON_33_AGE_SECONDS=4340667 +VM150_JSON_33_BASENAME=vm150-pve01-20260816T023420Z.json +VM150_JSON_33_PATH_SHA256=d1f00a7e0ed610afbc1399c4294fafda59e8e974ed02bf15eb99b60fa22cf3f8 +VM150_JSON_33_F1_KEY=logical_id +VM150_JSON_33_F1_VALUE=vm150 +VM150_JSON_33_F2_KEY=generation +VM150_JSON_33_F2_VALUE=vm150-pve01-20260816T023420Z +VM150_JSON_33_F3_KEY=vmid +VM150_JSON_33_F3_VALUE=150 +VM150_JSON_34_AGE_SECONDS=4394713 +VM150_JSON_34_BASENAME=vm150-pve01-20260815T111713Z.json +VM150_JSON_34_PATH_SHA256=e732a39f358d585caa4203dd2256199b6964ef74e87177f5f49628e8fa8879cc +VM150_JSON_34_F1_KEY=logical_id +VM150_JSON_34_F1_VALUE=vm150 +VM150_JSON_34_F2_KEY=generation +VM150_JSON_34_F2_VALUE=vm150-pve01-20260815T111713Z +VM150_JSON_34_F3_KEY=vmid +VM150_JSON_34_F3_VALUE=150 +VM150_JSON_35_AGE_SECONDS=4477392 +VM150_JSON_35_BASENAME=vm150-pve01-20260814T121736Z.json +VM150_JSON_35_PATH_SHA256=7272bce6bcf8e4477af09a3e7123c4a5030350a6f8f3d72411965f1311c32115 +VM150_JSON_35_F1_KEY=logical_id +VM150_JSON_35_F1_VALUE=vm150 +VM150_JSON_35_F2_KEY=generation +VM150_JSON_35_F2_VALUE=vm150-pve01-20260814T121736Z +VM150_JSON_35_F3_KEY=vmid +VM150_JSON_35_F3_VALUE=150 +VM150_JSON_36_AGE_SECONDS=4552798 +VM150_JSON_36_BASENAME=vm150-pve01-20260813T152038Z.json +VM150_JSON_36_PATH_SHA256=44f2627474401a034812b4d0052488fd067081169a4e94f4a085df8974119b33 +VM150_JSON_36_F1_KEY=logical_id +VM150_JSON_36_F1_VALUE=vm150 +VM150_JSON_36_F2_KEY=generation +VM150_JSON_36_F2_VALUE=vm150-pve01-20260813T152038Z +VM150_JSON_36_F3_KEY=vmid +VM150_JSON_36_F3_VALUE=150 +VM150_JSON_37_AGE_SECONDS=4628855 +VM150_JSON_37_BASENAME=vm150-pve01-20260812T181406Z.json +VM150_JSON_37_PATH_SHA256=1173dd1b284a9eeedfffcd57b082efecd96800cf045d2167f7825491f0b86be7 +VM150_JSON_37_F1_KEY=logical_id +VM150_JSON_37_F1_VALUE=vm150 +VM150_JSON_37_F2_KEY=generation +VM150_JSON_37_F2_VALUE=vm150-pve01-20260812T181406Z +VM150_JSON_37_F3_KEY=vmid +VM150_JSON_37_F3_VALUE=150 +VM150_JSON_38_AGE_SECONDS=4708354 +VM150_JSON_38_BASENAME=vm150-pve01-20260811T200935Z.json +VM150_JSON_38_PATH_SHA256=c8792c8e65b8cf67130f31d9db218218c90258adf6c1e0a501b7cbf46027b488 +VM150_JSON_38_F1_KEY=logical_id +VM150_JSON_38_F1_VALUE=vm150 +VM150_JSON_38_F2_KEY=generation +VM150_JSON_38_F2_VALUE=vm150-pve01-20260811T200935Z +VM150_JSON_38_F3_KEY=vmid +VM150_JSON_38_F3_VALUE=150 +VM150_JSON_39_AGE_SECONDS=4774679 +VM150_JSON_39_BASENAME=vm150-pve01-20260810T070246Z.json +VM150_JSON_39_PATH_SHA256=15041f808fbe152e622c00acd757fc6be160a677e4055184b749372022c9d2b9 +VM150_JSON_39_F1_KEY=logical_id +VM150_JSON_39_F1_VALUE=vm150 +VM150_JSON_39_F2_KEY=generation +VM150_JSON_39_F2_VALUE=vm150-pve01-20260810T070246Z +VM150_JSON_39_F3_KEY=vmid +VM150_JSON_39_F3_VALUE=150 +ROT_IMPORTABLE_AST=true +ROT_UNGUARDED_TOPLEVEL_COUNT=0 +ROT_UNGUARDED_TOPLEVEL_TYPES= +ACTIVE_IMAGE_STORAGE_COUNT=1 +IMAGE_STORAGE_1_TYPE=lvmthin +IMAGE_STORAGE_1_AVAIL_RAW=740575989 +TEMP_VMID_CANDIDATE_PRESENT=true +TEMP_VMID_CANDIDATE=98150 +TEMP_RANGE_OCCUPIED_COUNT=0 +PUBLIC_DNS_OK_COUNT=3 +PUBLIC_HTTPS_OK_COUNT=3 +RESTORE_GATE_RCA_COMPLETE=true +DECISION=ANALYZE_EXACT_99589_GATE_AND_TARGETED_PATH +NEXT_GATE=SNIKKET_VM150_TARGETED_ISOLATED_RESTORE_PROOF +TASK_RESULT=SNIKKET_VM150_RESTORE_GATE_RCA +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 31b60d97..adcb8524 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1 +1,38 @@ -{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20261005T081701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-10-05T08:17:01Z","finished_at_utc":"2026-10-05T08:17:02Z","reference_register_checked":true,"reference_sha256":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","error_register_checked":true,"error_register_sha256":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "snikket-vm150-restore-gate-rca", + "started_at_utc": "2026-10-05T08:21:03Z", + "finished_at_utc": "2026-10-05T08:21:05Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "31e84ea34955ab363272f385e4a1228748a665fa590a614dd1da926872399687", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8", + "sanitized_output_sha256": "5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "SNIKKET_VM150_RESTORE_GATE_RCA=V1\nMODE=read-only\nNO_VM_MUTATION=true\nNO_BACKUP_MUTATION=true\nNO_REMOTE_MUTATION=true\nNO_SOURCE_MUTATION=true\nNO_MONITOR_MUTATION=true\nNO_DNS_MUTATION=true\nHOST_PVE01=true\nINGRESS_HOSTKEY_SELF_BOUND=true\nVM150_QGA_PING=true\nVM150_RUNNING=true\nROTATING_DRILL_PRESENT=true\nBACKUP_AUDIT_PRESENT=true\nBACKUP_V2_PRESENT=true\nAUDIT_JSON_FILE_COUNT=3\nAUDIT_1_BASENAME=backup-audit-v2.json\nAUDIT_1_PATH_SHA256=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7\nAUDIT_1_AGE_SECONDS=503\nAUDIT_1_DR_FIELD_COUNT=1\nAUDIT_1_DR_1_KEY=cloud_b_restore_drill\nAUDIT_1_DR_1_VALUE=true\nAUDIT_2_BASENAME=backup-audit.json\nAUDIT_2_PATH_SHA256=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d\nAUDIT_2_AGE_SECONDS=503\nAUDIT_2_DR_FIELD_COUNT=1\nAUDIT_2_DR_1_KEY=cloud_b_restore_drill\nAUDIT_2_DR_1_VALUE=true\nAUDIT_3_BASENAME=backup-unified-audit.json\nAUDIT_3_PATH_SHA256=29e7e980321f753c1e597b92851a5e8ae494157b0ef684f5afc12b820bece45a\nAUDIT_3_AGE_SECONDS=1223061\nAUDIT_3_DR_FIELD_COUNT=5\nAUDIT_3_DR_1_KEY=dr_proof_status\nAUDIT_3_DR_1_VALUE=PROVEN\nAUDIT_3_DR_2_KEY=escrow_status\nAUDIT_3_DR_2_VALUE=OK\nAUDIT_3_DR_3_KEY=clean_machine_bootstrap_proven\nAUDIT_3_DR_3_VALUE=true\nAUDIT_3_DR_4_KEY=qemu_boot_restore_proven\nAUDIT_3_DR_4_VALUE=true\nAUDIT_3_DR_5_KEY=ct_boot_restore_proven\nAUDIT_3_DR_5_VALUE=true\nROT_CURRENT_AUDIT_GATE_FOUND=true\nROT_CURRENT_AUDIT_GATE_B64=MjU3OiAgICAgICAgICAgIHMuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBzLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUpOgoyNTg6ICAgICAgICBkaWUoIkVTQ1JPV19QUk9PRl9TRUFMX0NPTlRFTlRfSU5WQUxJRCIsNjYpCjI1OTogICAgcHJvb2ZfYXQ9cGFyc2VfdXRjKHMuZ2V0KCJzZWFsZWRfYXRfdXRjIikpCjI2MDogICAgYWdlPShub3dfdXRjKCktcHJvb2ZfYXQpLnRvdGFsX3NlY29uZHMoKQoyNjE6ICAgIGlmIGFnZTwwOiBkaWUoIkVTQ1JPV19QUk9PRl9GVVRVUkUiLDY2KQoyNjI6ICAgIGFnZV9kYXlzPWFnZS84NjQwMC4wCjI2MzogICAgaWYgYWdlX2RheXM+ZmxvYXQocFsiZXNjcm93X3NlbWFudGljX3Byb29mX21heF9hZ2VfZGF5cyJdKTogZGllKCJFU0NST1dfU0VNQU5USUNfUFJPT0ZfU1RBTEUiLDc1KQoyNjQ6ICAgIGE9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJhdWRpdF9wYXRoIl0pKQoyNjU6ICAgIGlmIG5vdCAoYS5nZXQoImF1ZGl0X3N0YXR1cyIpPT0iT0siIGFuZCBhLmdldCgiYmFja3VwX3N0YXR1cyIpPT0iR1JFRU4iIGFuZAoyNjY6ICAgICAgICAgICAgYS5nZXQoImRyX3JlYWRpbmVzcyIpPT0iUFJPVkVOIiBhbmQgYS5nZXQoImRyX3Byb29mX3N0YXR1cyIpPT0iUFJPVkVOIiBhbmQKMjY3OiAgICAgICAgICAgIGEuZ2V0KCJlc2Nyb3dfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZAoyNjg6ICAgICAgICAgICAgYS5nZXQoImN0X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBhLmdldCgiZnVsbF9zaXRlX2RyX3Byb3ZlbiIpIGlzIFRydWUpOgoyNjk6ICAgICAgICBkaWUoIkNVUlJFTlRfQkFDS1VQX0FVRElUX05PVF9EUl9SRUFEWSIsNzUpCjI3MDogICAgcmV0dXJuIHsiY2lwaGVydGV4dF9zaGFfdmVyaWZpZWQiOlRydWUsInNlbWFudGljX3Byb29mX3NlYWxfc2hhX3ZlcmlmaWVkIjpUcnVlLAoyNzE6ICAgICAgICAgICAgInNlbWFudGljX3Byb29mX2F0X3V0YyI6c1sic2VhbGVkX2F0X3V0YyJdLCJzZW1hbnRpY19wcm9vZl9hZ2VfZGF5cyI6cm91bmQoYWdlX2RheXMsNCksCjI3MjogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIjpwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0sCjI3MzogICAgICAgICAgICAicGh5c2ljYWxfZXNjcm93X2NvcGllcyI6IjJfVVNFUl9BVFRFU1RFRCIsInBoeXNpY2FsX2VzY3Jvd19tZWRpYV9yZWFkX3Byb3ZlbiI6RmFsc2V9CjI3NDoKMjc1OmRlZiByZWdpc3RyeShwKToKMjc2OiAgICByPXJlYWRfanNvbihwYXRobGliLlBhdGgocFsicmVnaXN0cnlfcGF0aCJdKSkKMjc3OiAgICBpZiByLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJhY2t1cC10YXJnZXQtcmVnaXN0cnktdjEiOiBkaWUoIlJFR0lTVFJZX0lOVkFMSUQiLDY2KQoyNzg6ICAgIG91dD17fQoyNzk6ICAgIGZvciB4IGluIHIuZ2V0KCJ0YXJnZXRzIixbXSk6CjI4MDogICAgICAgIGlmIHguZ2V0KCJraW5kIik9PSJWTSIgYW5kIHguZ2V0KCJsaWZlY3ljbGUiKT09IkFDVElWRSI6CjI4MTogICAgICAgICAgICB2bWlkPXN0cih4LmdldCgiaWQiLCIiKSkKMjgyOiAgICAgICAgICAgIG93bmVyPXguZ2V0KCJvd25lciIpCjI4MzogICAgICAgICAgICBpZiBub3Qgdm1pZC5pc2RpZ2l0KCkgb3Igb3duZXIgbm90IGluICgicHZlMDEiLCJwdmUwMiIsInB2ZTAzIikgb3Igdm1pZCBpbiBvdXQ6IGRpZSgiUkVHSVNUUllfVk1fSU5WQUxJRCIsNjYpCjI4NDogICAgICAgICAgICBvdXRbdm1pZF09eyJsb2dpY2FsX2lkIjp4LmdldCgibG9naWNhbF9pZCIpLCJvd25lciI6b3duZXJ9CjI4NTogICAgcmVxdWlyZWQ9c2V0KHBbInFlbXVfcm90YXRpb24iXStwWyJseGNfcm90YXRpb24iXStsaXN0KHAuZ2V0KCJxZW11X2V4Y2x1ZGVkIix7fSkpKQoyODY6ICAgIGlmIG5vdCByZXF1aXJlZC5pc3N1YnNldChvdXQpOiBkaWUoIlJFR0lTVFJZX1JPVEFUSU9OX1RBUkdFVF9NSVNTSU5HIiw2NikKMjg3OiAgICByZXR1cm4gb3V0CjI4ODoKMjg5OmRlZiBvd25lcl9ob3N0KG93bmVyKToKMjkwOiAgICByZXR1cm4geyJwdmUwMiI6InJvb3RAW1BSSVZBVEVfSVBdIiwicHZlMDMiOiJyb290QFtQUklWQVRFX0lQXSJ9LmdldChvd25lcikKMjkxOgoyOTI6ZGVmIHNzaF9iYXNlKHdpdGhfc3RkaW49RmFsc2UpOgoyOTM6ICAgIGJhc2U9W1NTSF0KMjk0OiAgICBpZiBub3Qgd2l0aF9zdGRpbjogYmFzZS5hcHBlbmQoIi1uIikKMjk1OiAgICByZXR1cm4gYmFzZStbIi1vIiwiQmF0Y2hNb2RlPXllcyIsIi1vIiwiQ29ubmVjdFRpbWVvdXQ9MTUiLCItbyIsIlN0cmljdEhvc3RLZXlDaGVja2luZz15ZXMiLCItbyIsIlVzZXJLbm93bkhvc3RzRmlsZT0vcm9vdC8uc3NoL2tub3duX2hvc3RzIl0KMjk2OgoyOTc6ZGVmIG5vZGVfcnVuKG93bmVyLGFyZ3YsY2hlY2s9VHJ1ZSx0aW1lb3V0PU5vbmUsaW5wdXRfYnl0ZXM9Tm9uZSk6CjI5ODogICAgaWYgb3duZXI9PSJwdmUwMSI6CjI5OTogICAgICAgIHJldHVybiBydW4oYXJndixjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDA6ICAgIGhvc3Q9b3duZXJfaG9zdChvd25lcikKMzAxOiAgICBpZiBob3N0IGlzIE5vbmU6IGRpZSgiT1dORVJfSU5WQUxJRCIsNjQpCjMwMjogICAgY21kPXNzaF9iYXNlKHdpdGhfc3RkaW49aW5wdXRfYnl0ZXMgaXMgbm90IE5vbmUpK1tob3N0XStbc3RyKHgpIGZvciB4IGluIGFyZ3ZdCjMwMzogICAgcmV0dXJuIHJ1bihjbWQsY2hlY2s9Y2hlY2ssY2FwdHVyZT1UcnVlLHRpbWVvdXQ9dGltZW91dCxpbnB1dF9ieXRlcz1pbnB1dF9ieXRlcykKMzA0OgozMDU6ZGVmIGV4cG9ydF9zdGF0ZShwLHJlZyx2bWlkLHN0YXRlX2V4cG9ydGVyPVNUQVRFX0VYUE9SVEVSKToKMzA2OiAgICBpdGVtPXJlZ1t2bWlkXTsgbG9naWNhbD1pdGVtWyJsb2dpY2FsX2lkIl07IG93bmVyPWl0ZW1bIm93bmVyIl0KMzA3OiAgICBpZiBsb2dpY2FsIT1mInZte3ZtaWR9IjogZGllKCJSRUdJU1RSWV9MT0dJQ0FMX0lOVkFMSURfIit2bWlkLDY2KQozMDg6ICAgIGFzc2VydF9yZWd1bGFyX3Jvb3QocGF0aGxpYi5QYXRoKHN0YXRlX2V4cG9ydGVyKSkKMzA5OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMzEwOiAgICAgICAgcHI9cnVuKFtQWVRIT04sIi1CIixzdGF0ZV9leHBvcnRlcix2bWlkLGxvZ2ljYWxdLHRpbWVvdXQ9MzApCjMxMTogICAgZWxzZToKMzEyOiAgICAgICAgZGF0YT1wYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpLnJlYWRfYnl0ZXMoKQozMTM6ICAgICAgICBwcj1ub2RlX3J1bihvd25lcixbUFlUSE9OLCItQiIsIi0iLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCxpbnB1dF9ieXRlcz1kYXRhKQ==\nROT_PRECHECK_DEF_FOUND=true\nROT_PRECHECK_DEF_B64=NDE2OiAgICBkaWUoIkxPQ0FMX0xWTV9NSVNTSU5HIiw2NikKNDE3Ogo0MTg6ZGVmIGNhcGFjaXR5X2NoZWNrKHAscmVzb3VyY2VzLHEsbCxxaW5mbyxsaW5mbyk6CjQxOTogICAgZnJlZT1zaHV0aWwuZGlza191c2FnZShwWyJzdGFnZV9yb290Il0pLmZyZWUgaWYgcGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkuZXhpc3RzKCkgZWxzZSBzaHV0aWwuZGlza191c2FnZSgiL21udC9zdGFnaW5nIikuZnJlZQo0MjA6ICAgIG5lZWRfc3RhZ2U9cWluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdK2xpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXStwWyJtaW5pbXVtX3N0YWdlX2hlYWRyb29tX2J5dGVzIl0KNDIxOiAgICBpZiBmcmVlPG5lZWRfc3RhZ2U6IGRpZSgiU1RBR0VfQ0FQQUNJVFlfSU5TVUZGSUNJRU5UIiw3NSkKNDIyOiAgICBxbWF4PWludChyZXNvdXJjZXMuZ2V0KHEse30pLmdldCgibWF4ZGlzayIpIG9yIDApOyBsbWF4PWludChyZXNvdXJjZXMuZ2V0KGwse30pLmdldCgibWF4ZGlzayIpIG9yIDApCjQyMzogICAgaWYgcW1heDw9MCBvciBsbWF4PD0wOiBkaWUoIkNMVVNURVJfTUFYRElTS19JTlZBTElEIiw2NikKNDI0OiAgICBsdm09cHZlc21fYXZhaWxhYmxlX2J5dGVzKCkKNDI1OiAgICBpZiBsdm0gPCBxbWF4K2xtYXgrcFsibWluaW11bV9zdG9yYWdlX2hlYWRyb29tX2J5dGVzIl06IGRpZSgiTE9DQUxfTFZNX0NBUEFDSVRZX0lOU1VGRklDSUVOVCIsNzUpCjQyNjogICAgcmV0dXJuIHsic3RhZ2VfZnJlZV9ieXRlcyI6ZnJlZSwic3RhZ2VfcmVxdWlyZWRfYnl0ZXMiOm5lZWRfc3RhZ2UsImxvY2FsX2x2bV9hdmFpbGFibGVfYnl0ZXMiOmx2bSwic2VsZWN0ZWRfbWF4ZGlza19ieXRlcyI6cW1heCtsbWF4fQo0Mjc6CjQyODpkZWYgcHJlY2hlY2socCxzdGF0ZV9leHBvcnRlcj1TVEFURV9FWFBPUlRFUixtb2RlPSJpbml0aWFsIik6CjQyOTogICAgZXNjPXZlcmlmeV9lc2Nyb3cocCk7IHJlZz1yZWdpc3RyeShwKTsgc3RhdGU9bG9hZF9zdGF0ZV9kZWZhdWx0KCkKNDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQ==\nROT_EXECUTE_DEF_FOUND=true\nROT_EXECUTE_DEF_B64=NjczOiAgICAgICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGVbInNlcXVlbmNlIl0lbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjY3NDogICAgICAgIGNhcGFjaXR5X2NoZWNrKHAsY2x1c3Rlcl9yZXNvdXJjZXMoKSxxLGwscWluZm8sbGluZm8pCjY3NTogICAgICAgIHJ1bl9pZD1ub3dfdXRjKCkuc3RyZnRpbWUoIiVZJW0lZFQlSCVNJVNaIikrIi1wcm9iZS0iK3N0cihvcy5nZXRwaWQoKSkKNjc2OiAgICAgICAgc3RhZ2U9cGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkvcnVuX2lkCjY3NzogICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo2Nzg6ICAgICAgICB0cnk6CjY3OTogICAgICAgICAgICBxYT1mZXRjaF9hcmNoaXZlKHFpbmZvLHBhaXJbInFlbXUiXSxzdGFnZSkKNjgwOiAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjY4MTogICAgICAgICAgICBwcmludChmIkJPT1RfRFJJTExfQVJDSElWRV9QUk9CRT1PS3xxZW11PXtxfXxxZW11X2Nsb3VkPXtwYWlyWydxZW11J119fHFlbXVfbmFtZT17cWEubmFtZX18bHhjPXtsfXxseGNfY2xvdWQ9e3BhaXJbJ2x4YyddfXxseGNfbmFtZT17bGEubmFtZX18YXJjaGl2ZV9pbnRlZ3JpdHk9U0hBX0FORF9aU1REX1BST1ZFTnxjbG91ZF93cml0ZXM9Tk8iKQo2ODI6ICAgICAgICBmaW5hbGx5Ogo2ODM6ICAgICAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY4NDoKNjg1OmRlZiBleGVjdXRlKG1vZGUscCk6CjY4NjogICAgaWYgQUNUSVZFX1BBVEguZXhpc3RzKCk6IGRpZSgiQUNUSVZFX01BUktFUl9QUkVTRU5UIiw3NSkKNjg3OiAgICBzdGF0ZT1sb2FkX3N0YXRlX2RlZmF1bHQoKQo2ODg6ICAgIHdhaXQ9aW50KHBbImluaXRpYWxfbG9ja193YWl0X3NlY29uZHMiXSBpZiBtb2RlPT0iaW5pdGlhbCIgZWxzZSBwWyJzY2hlZHVsZWRfbG9ja193YWl0X3NlY29uZHMiXSkKNjg5OiAgICB0cnk6CjY5MDogICAgICAgIHdpdGggTG9ja3Mod2FpdCk6CjY5MTogICAgICAgICAgICBlc2M9dmVyaWZ5X2VzY3JvdyhwKTsgcmVnPXJlZ2lzdHJ5KHApCjY5MjogICAgICAgICAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo2OTM6ICAgICAgICAgICAgcWluZm89ZXhwb3J0X3N0YXRlKHAscmVnLHEpOyBsaW5mbz1leHBvcnRfc3RhdGUocCxyZWcsbCkKNjk0OiAgICAgICAgICAgIHBhaXI9cFsiY2xvdWRfcGFpcl9zZXF1ZW5jZSJdW3N0YXRlWyJzZXF1ZW5jZSJdJWxlbihwWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl0pXQo2OTU6ICAgICAgICAgICAgY2FwYWNpdHlfY2hlY2socCxjbHVzdGVyX3Jlc291cmNlcygpLHEsbCxxaW5mbyxsaW5mbykKNjk2OiAgICAgICAgICAgIHJlc291cmNlcz1jbHVzdGVyX3Jlc291cmNlcygpCjY5NzogICAgICAgICAgICBxaWQ9cGlja19mcmVlKHJlc291cmNlcyxwWyJxZW11X3RlbXBfaWRfbWluIl0scFsicWVtdV90ZW1wX2lkX21heCJdKQo2OTg6ICAgICAgICAgICAgcmVzb3VyY2VzW3N0cihxaWQpXT17InJlc2VydmVkIjpUcnVlfQo2OTk6ICAgICAgICAgICAgbGlkPXBpY2tfZnJlZShyZXNvdXJjZXMscFsibHhjX3RlbXBfaWRfbWluIl0scFsibHhjX3RlbXBfaWRfbWF4Il0pCjcwMDogICAgICAgICAgICBydW5faWQ9bm93X3V0YygpLnN0cmZ0aW1lKCIlWSVtJWRUJUglTSVTWiIpKyItIitzdHIob3MuZ2V0cGlkKCkpCjcwMTogICAgICAgICAgICBzdGFnZT1wYXRobGliLlBhdGgocFsic3RhZ2Vfcm9vdCJdKS9ydW5faWQKNzAyOiAgICAgICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo3MDM6ICAgICAgICAgICAgd3JpdGVfYWN0aXZlKHJ1bl9pZCxxaWQsbGlkKQo3MDQ6ICAgICAgICAgICAgYmVmb3JlPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNzA1OiAgICAgICAgICAgIHByaW1hcnlfZXJyb3I9Tm9uZQo3MDY6ICAgICAgICAgICAgdHJ5Ogo3MDc6ICAgICAgICAgICAgICAgIHFhPWZldGNoX2FyY2hpdmUocWluZm8scGFpclsicWVtdSJdLHN0YWdlKQo3MDg6ICAgICAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjcwOTogICAgICAgICAgICAgICAgcXByb29mPXFlbXVfYm9vdChxYSxxaWQsaW50KHBbImd1ZXN0X2FnZW50X3dhaXRfc2Vjb25kcyJdKSxydW5faWQpCjcxMDogICAgICAgICAgICAgICAgaWYgbm90IGNsZWFudXBfb25lKCJxZW11IixxaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJRRU1VX0NMRUFOVVBfRkFJTEVEIiw3MCkKNzExOiAgICAgICAgICAgICAgICBscHJvb2Y9bHhjX2Jvb3QobGEsbGlkLGludChwWyJseGNfZXhlY193YWl0X3NlY29uZHMiXSkscnVuX2lkKQo3MTI6ICAgICAgICAgICAgICAgIGlmIG5vdCBjbGVhbnVwX29uZSgibHhjIixsaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJMWENfQ0xFQU5VUF9GQUlMRUQiLDcwKQo3MTM6ICAgICAgICAgICAgICAgIGFmdGVyPWNsdXN0ZXJfd2l0aG91dF90ZW1wKHFpZCxsaWQsMzApCjcxNDogICAgICAgICAgICAgICAgZm9yIHNyYyBpbiAocSxsKToKNzE1OiAgICAgICAgICAgICAgICAgICAgaWYgYmVmb3JlLmdldChzcmMse30pLmdldCgic3RhdHVzIikhPWFmdGVyLmdldChzcmMse30pLmdldCgic3RhdHVzIikgb3IgYmVmb3JlLmdldChzcmMse30pLmdldCgibm9kZSIpIT1hZnRlci5nZXQoc3JjLHt9KS5nZXQoIm5vZGUiKToKNzE2OiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSgiUFJPRFVDVElPTl9HVUVTVF9TVEFURV9DSEFOR0VEXyIrc3JjLDcwKQo3MTc6ICAgICAgICAgICAgICAgIGV2aWRlbmNlPXsKNzE4OiAgICAgICAgICAgICAgICAgICJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtZXZpZGVuY2UtdjEiLCJyZXN1bHQiOiJPSyIsInJ1bl9pZCI6cnVuX2lkLAo3MTk6ICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjpzdGF0ZVsic2VxdWVuY2UiXSsxLCJjb21wbGV0ZWRfYXRfdXRjIjppc29fbm93KCksCjcyMDogICAgICAgICAgICAgICAgICAiZXNjcm93Ijplc2MsCjcyMTogICAgICAgICAgICAgICAgICAicWVtdSI6eyJzb3VyY2Vfdm1pZCI6cSwib3duZXIiOnJlZ1txXVsib3duZXIiXSwiZ2VuZXJhdGlvbiI6cWluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjpxaW5mb1sicGF5bG9hZF9uYW1lIl0sCjcyMjogICAgICAgICAgICAgICAgICAgICAgICAgICJhcmNoaXZlX3NoYTI1NiI6cWluZm9bImFyY2hpdmVfc2hhMjU2Il0sImNsb3VkX3NvdXJjZSI6cGFpclsicWVtdSJdLCJ0ZW1wX3ZtaWQiOnFpZCwKNzIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb3RfcHJvb2YiOnFwcm9vZiwibmV0d29ya19yZW1vdmVkX2JlZm9yZV9ib290IjpUcnVlLCJjbGVhbnVwX3Byb3ZlbiI6VHJ1ZX0sCjcyNDogICAgICAgICAgICAgICAgICAibHhjIjp7InNvdXJjZV92bWlkIjpsLCJvd25lciI6cmVnW2xdWyJvd25lciJdLCJnZW5lcmF0aW9uIjpsaW5mb1siZ2VuZXJhdGlvbiJdLCJhcmNoaXZlX25hbWUiOmxpbmZvWyJwYXlsb2FkX25hbWUiXSwKNzI1OiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZV9zaGEyNTYiOmxpbmZvWyJhcmNoaXZlX3NoYTI1NiJdLCJjbG91ZF9zb3VyY2UiOnBhaXJbImx4YyJdLCJ0ZW1wX3ZtaWQiOmxpZCwKNzI2OiAgICAgICAgICAgICAgICAgICAgICAgICAiYm9vdF9wcm9vZiI6bHByb29mLCJuZXR3b3JrX3JlbW92ZWRfYmVmb3JlX2Jvb3QiOlRydWUsImNsZWFudXBfcHJvdmVuIjpUcnVlfSwKNzI3OiAgICAgICAgICAgICAgICAgICJxZW11X3NraXBwZWRfaW5lbGlnaWJsZSI6c2tpcHBlZCwiY2xvdWRfd3JpdGVzIjpGYWxzZSwiY2xvdWRfZGVsZXRlcyI6RmFsc2UsCjcyODogICAgICAgICAgICAgICAgICAicHJvZHVjdGlvbl9ndWVzdF9zdGF0ZV91bmNoYW5nZWQiOlRydWUsInRlbXBvcmFyeV9ndWVzdF9yZXNpZHVlIjpGYWxzZQo3Mjk6ICAgICAgICAgICAgICAgIH0=\nROT_FETCH_ARCHIVE_DEF_FOUND=true\nROT_FETCH_ARCHIVE_DEF_B64=NTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLgo1ODc6ICAgIHJ1bihbWlNURCwiLXQiLG91dF0sdGltZW91dD0zMDApCjU4ODogICAgcmV0dXJuIG91dAo1ODk6CjU5MDpkZWYgcWVtdV9pc29sYXRlKHRlbXBpZCxydW5faWQpOgo1OTE6ICAgIHR4dD1ydW5fdGV4dChbUU0sImNvbmZpZyIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MzApCjU5MjogICAgaWYgcmUuc2VhcmNoKHIiKD9tKV5hcmdzOiIsdHh0KTogZGllKCJRRU1VX1VOU0FGRV9BUkdTX1BSRVNFTlQiLDcwKQo1OTM6ICAgIGtleXM9W10KNTk0OiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo1OTU6ICAgICAgICBrPWxpbmUuc3BsaXQoIjoiLDEpWzBdCjU5NjogICAgICAgIGlmIHJlLmZ1bGxtYXRjaChyIm5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldKyIsaykgb3IgayBpbiAoImhvb2tzY3JpcHQiLCJzdGFydHVwIik6CjU5NzogICAgICAgICAgICBrZXlzLmFwcGVuZChrKQo1OTg6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1FNLCJzZXQiLHN0cih0ZW1waWQpLCItLWRlbGV0ZSIsa10sdGltZW91dD0zMCkKNTk5OiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1vbmJvb3QiLCIwIl0sdGltZW91dD0zMCkKNjAwOiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1hZ2VudCIsImVuYWJsZWQ9MSJdLHRpbWVvdXQ9MzApCjYwMTogICAgcnVuX3R0eShbUU0sInNldCIsc3RyKHRlbXBpZCksIi0tbmFtZSIsZiJob21lbGFiLWRyaWxsLXF7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYwMjogICAgYWZ0ZXI9cnVuX3RleHQoW1FNLCJjb25maWciLHN0cih0ZW1waWQpXSx0aW1lb3V0PTMwKQo2MDM6ICAgIGlmIHJlLnNlYXJjaChyIig/bSleKG5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldK3xob29rc2NyaXB0fGFyZ3MpOiIsYWZ0ZXIpOiBkaWUoIlFFTVVfSVNPTEFUSU9OX0ZBSUxFRCIsNzApCjYwNDoKNjA1OmRlZiBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKToKNjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCk=\nROT_QEMU_BOOT_DEF_FOUND=true\nROT_QEMU_BOOT_DEF_B64=NjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCkKNjA4OiAgICBrZXlzPVtdCjYwOTogICAgZm9yIGxpbmUgaW4gdHh0LnNwbGl0bGluZXMoKToKNjEwOiAgICAgICAgaz1saW5lLnNwbGl0KCI6IiwxKVswXQo2MTE6ICAgICAgICBpZiByZS5mdWxsbWF0Y2gociJuZXRbMC05XSsiLGspIG9yIGsgaW4gKCJob29rc2NyaXB0Iiwic3RhcnR1cCIpOiBrZXlzLmFwcGVuZChrKQo2MTI6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1kZWxldGUiLGtdLHRpbWVvdXQ9MzApCjYxMzogICAgcnVuX3R0eShbUENULCJzZXQiLHN0cih0ZW1waWQpLCItLW9uYm9vdCIsIjAiXSx0aW1lb3V0PTMwKQo2MTQ6ICAgIHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1ob3N0bmFtZSIsZiJob21lbGFiLWRyaWxsLWx7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYxNTogICAgYWZ0ZXI9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjE2OiAgICBpZiByZS5zZWFyY2gociIoP20pXihuZXRbMC05XSt8aG9va3NjcmlwdHxseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spOiIsYWZ0ZXIpOiBkaWUoIkxYQ19JU09MQVRJT05fRkFJTEVEIiw3MCkKNjE3Ogo2MTg6ZGVmIHFlbXVfYm9vdChhcmNoaXZlLHRlbXBpZCx3YWl0X3NlYyxydW5faWQpOgo2MTk6ICAgIHByPXJ1bl90dHkoW1FNUkVTVE9SRSxhcmNoaXZlLHN0cih0ZW1waWQpLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iLCItLXVuaXF1ZSIsIjEiXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDApCjYyMDogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjIxOiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjIyOiAgICAgICAgcHJpbnQoZiJRTVJFU1RPUkVfRVJST1J8dm1pZD17dGVtcGlkfXxyYz17cHIucmV0dXJuY29kZX18c3RkZXJyX3NoYTI1Nj17aGFzaGxpYi5zaGEyNTYoZXJyKS5oZXhkaWdlc3QoKX18c3RkZXJyX2J5dGVzPXtsZW4oZXJyKX0iLGZpbGU9c3lzLnN0ZGVycikKNjIzOiAgICAgICAgZGllKCJRTVJFU1RPUkVfRkFJTEVEXyIrc3RyKHByLnJldHVybmNvZGUpLDcwKQo2MjQ6ICAgIHFlbXVfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2MjU6ICAgIHJ1bl90dHkoW1FNLCJzdGFydCIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MTIwKQo2MjY6ICAgIGRlYWRsaW5lPXRpbWUudGltZSgpK3dhaXRfc2VjCjYyNzogICAgd2hpbGUgdGltZS50aW1lKCk8ZGVhZGxpbmU6CjYyODogICAgICAgIGlmIHJ1bihbUU0sImd1ZXN0IiwiY21kIixzdHIodGVtcGlkKSwicGluZyJdLGNoZWNrPUZhbHNlLHRpbWVvdXQ9MTUpLnJldHVybmNvZGU9PTA6CjYyOTogICAgICAgICAgICByZXR1cm4gIkdVRVNUX0FHRU5UX1JFU1BPTkRFRCIKNjMwOiAgICAgICAgdGltZS5zbGVlcCgxMCkKNjMxOiAgICBkaWUoIlFFTVVfR1VFU1RfQUdFTlRfQk9PVF9USU1FT1VUIiw3MCkKNjMyOgo2MzM6ZGVmIGx4Y19ib290KGFyY2hpdmUsdGVtcGlkLHdhaXRfc2VjLHJ1bl9pZCk6CjYzNDogICAgcHI9cnVuX3R0eShbUENULCJyZXN0b3JlIixzdHIodGVtcGlkKSxhcmNoaXZlLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDAsdW1hc2tfdmFsdWU9MG8wMjIpCjYzNTogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjM2OiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjM3OiAgICAgICAgcHJpbnQoZiJQQ1RfUkVTVE9SRV9FUlJPUnx2bWlkPXt0ZW1waWR9fHJjPXtwci5yZXR1cm5jb2RlfXxzdGRlcnJfc2hhMjU2PXtoYXNobGliLnNoYTI1NihlcnIpLmhleGRpZ2VzdCgpfXxzdGRlcnJfYnl0ZXM9e2xlbihlcnIpfSIsZmlsZT1zeXMuc3RkZXJyKQo2Mzg6ICAgICAgICBkaWUoIlBDVF9SRVNUT1JFX0ZBSUxFRF8iK3N0cihwci5yZXR1cm5jb2RlKSw3MCkKNjM5OiAgICBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2NDA6ICAgIHJ1bl90dHkoW1BDVCwic3RhcnQiLHN0cih0ZW1waWQpXSx0aW1lb3V0PTEyMCkKNjQxOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt3YWl0X3NlYwo2NDI6ICAgIHdoaWxlIHRpbWUudGltZSgpPGRlYWRsaW5lOgo2NDM6ICAgICAgICBpZiBydW4oW1BDVCwiZXhlYyIsc3RyKHRlbXBpZCksIi0tIiwiL2Jpbi90cnVlIl0sY2hlY2s9RmFsc2UsdGltZW91dD0xNSkucmV0dXJuY29kZT09MDoKNjQ0OiAgICAgICAgICAgIHJldHVybiAiUENUX0VYRUNfVFJVRSIKNjQ1OiAgICAgICAgdGltZS5zbGVlcCg1KQo2NDY6ICAgIGRpZSgiTFhDX0VYRUNfQk9PVF9USU1FT1VUIiw3MCkKNjQ3Ogo2NDg6ZGVmIHdyaXRlX2RlZmVycmVkKGNvZGUpOgo2NDk6ICAgIG9iaj17InNjaGVtYSI6ImhvbWVsYWItYmFja3VwLWJvb3QtZHJpbGwtaGVhbHRoLXYxIiwic3RhdHVzIjoiREVGRVJSRUQiLCJyZWFzb24iOmNvZGUsInVwZGF0ZWRfYXRfdXRjIjppc29fbm93KCksImRyaWxsX2V4ZWN1dGVkIjpGYWxzZX0KNjUwOiAgICBhdG9taWNfanNvbihIRUFMVEhfUEFUSCxvYmosMG82MDApCjY1MTogICAgcHJpbnQoZiJCT09UX0RSSUxMX1NDSEVEVUxFRD1ERUZFUlJFRHxyZWFzb249e2NvZGV9IikKNjUyOgo2NTM6ZGVmIGZpbmFsaXplX3J1bihzdGFnZSxwcmltYXJ5X2Vycm9yKToKNjU0OiAgICBjbGVhbnVwX2Vycm9yPU5vbmUKNjU1OiAgICB0cnk6CjY1NjogICAgICAgIGNsZWFudXBfcmVzaWR1ZSgpCjY1NzogICAgZXhjZXB0IERyaWxsRXJyb3IgYXMgZToKNjU4OiAgICAgICAgY2xlYW51cF9lcnJvcj1lCjY1OTogICAgZmluYWxseToKNjYwOiAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY2MTogICAgaWYgY2xlYW51cF9lcnJvciBpcyBub3QgTm9uZToKNjYyOiAgICAgICAgaWYgcHJpbWFyeV9lcnJvciBpcyBOb25lOg==\nROT_CLEANUP_DEF_FOUND=true\nROT_CLEANUP_DEF_B64=NDgyOmRlZiBwaWNrX2ZyZWUocmVzb3VyY2VzLHN0YXJ0LGVuZCk6CjQ4MzogICAgdXNlZD17aW50KHgpIGZvciB4IGluIHJlc291cmNlc30KNDg0OiAgICBmb3IgaSBpbiByYW5nZShzdGFydCxlbmQrMSk6CjQ4NTogICAgICAgIGlmIGkgbm90IGluIHVzZWQ6IHJldHVybiBpCjQ4NjogICAgZGllKCJURU1QX0lEX1JBTkdFX0VYSEFVU1RFRCIsNzUpCjQ4NzoKNDg4OmRlZiB3cml0ZV9hY3RpdmUocnVuX2lkLHFpZCxsaWQpOgo0ODk6ICAgIGF0b21pY19qc29uKEFDVElWRV9QQVRILHsic2NoZW1hIjoiaG9tZWxhYi1ib290LWRyaWxsLWFjdGl2ZS12MSIsInJ1bl9pZCI6cnVuX2lkLCJjcmVhdGVkX2F0X2Vwb2NoIjppbnQodGltZS50aW1lKCkpLCJxZW11X3RlbXBfaWQiOnFpZCwibHhjX3RlbXBfaWQiOmxpZH0sMG82MDApCjQ5MDoKNDkxOmRlZiBjb25maWdfcGF0aChraW5kLHZtaWQpOgo0OTI6ICAgIHJldHVybiBwYXRobGliLlBhdGgoIi9ldGMvcHZlL3FlbXUtc2VydmVyIiBpZiBraW5kPT0icWVtdSIgZWxzZSAiL2V0Yy9wdmUvbHhjIikvZiJ7dm1pZH0uY29uZiIKNDkzOgo0OTQ6ZGVmIGNsZWFudXBfb25lKGtpbmQsdm1pZCxjcmVhdGVkX2Vwb2NoKToKNDk1OiAgICBwPWNvbmZpZ19wYXRoKGtpbmQsdm1pZCkKNDk2OiAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNDk3OiAgICB0cnk6CjQ5ODogICAgICAgIHN0PXAuc3RhdCgpCjQ5OTogICAgICAgIGlmIHN0LnN0X2N0aW1lKzUgPCBjcmVhdGVkX2Vwb2NoOiBkaWUoIlRFTVBfQ09ORklHX1BSRURBVEVTX0FDVElWRV9NQVJLRVJfIitzdHIodm1pZCksNjYpCjUwMDogICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MDE6ICAgICAgICByZXR1cm4gVHJ1ZQo1MDI6ICAgIGNtZD1RTSBpZiBraW5kPT0icWVtdSIgZWxzZSBQQ1QKNTAzOiAgICBmb3IgXyBpbiByYW5nZSg0KToKNTA0OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVlCjUwNTogICAgICAgIHRyeToKNTA2OiAgICAgICAgICAgIHR4dD1wLnJlYWRfdGV4dChlcnJvcnM9InJlcGxhY2UiKQo1MDc6ICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CjUwODogICAgICAgICAgICByZXR1cm4gVHJ1ZQo1MDk6ICAgICAgICBsb2NrX21hdGNoPXJlLnNlYXJjaChyIig/bSlebG9jazpccyooXFMrKVxzKiQiLHR4dCkKNTEwOiAgICAgICAgaWYgbG9ja19tYXRjaDoKNTExOiAgICAgICAgICAgIGxvY2tfbmFtZT1sb2NrX21hdGNoLmdyb3VwKDEpCjUxMjogICAgICAgICAgICBpZiBsb2NrX25hbWU9PSJjcmVhdGUiOgo1MTM6ICAgICAgICAgICAgICAgIHU9cnVuX3R0eShbY21kLCJ1bmxvY2siLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0zMCkKNTE0OiAgICAgICAgICAgICAgICBpZiB1LnJldHVybmNvZGUhPTA6CjUxNTogICAgICAgICAgICAgICAgICAgIHByaW50KGYiVEVNUF9VTkxPQ0tfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18bG9jaz1jcmVhdGV8cmM9e3UucmV0dXJuY29kZX0iLGZpbGU9c3lzLnN0ZGVycikKNTE2OiAgICAgICAgICAgICAgICBpZiBwLmV4aXN0cygpOgo1MTc6ICAgICAgICAgICAgICAgICAgICB0cnk6CjUxODogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl91bmxvY2s9cC5yZWFkX3RleHQoZXJyb3JzPSJyZXBsYWNlIikKNTE5OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MjA6ICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfdW5sb2NrPSIiCjUyMTogICAgICAgICAgICAgICAgICAgIGlmIHJlLnNlYXJjaChyIig/bSlebG9jazpccypjcmVhdGVccyokIixhZnRlcl91bmxvY2spOgo1MjI6ICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgyKQo1MjM6ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKNTI0OiAgICAgICAgICAgIGVsc2U6CjUyNTogICAgICAgICAgICAgICAgcHJpbnQoZiJURU1QX0NMRUFOVVBfTE9DS19CTE9DS0VEfGtpbmQ9e2tpbmR9fHZtaWQ9e3ZtaWR9fGxvY2s9e2xvY2tfbmFtZX0iLGZpbGU9c3lzLnN0ZGVycikKNTI2OiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKNTI3OiAgICAgICAgc3RhdHVzPXJ1bihbY21kLCJzdGF0dXMiLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0yMCkKNTI4OiAgICAgICAgaWYgc3RhdHVzLnJldHVybmNvZGU9PTAgYW5kIGIicnVubmluZyIgaW4gc3RhdHVzLnN0ZG91dDoKNTI5OiAgICAgICAgICAgIHN0b3BfYXJndj1bY21kLCJzdG9wIixzdHIodm1pZCldCjUzMDogICAgICAgICAgICBpZiBraW5kPT0icWVtdSI6IHN0b3BfYXJndis9WyItLXNraXBsb2NrIiwiMSJdCjUzMTogICAgICAgICAgICBydW5fdHR5KHN0b3BfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTkwKQo1MzI6ICAgICAgICBkZXN0cm95X2FyZ3Y9W2NtZCwiZGVzdHJveSIsc3RyKHZtaWQpLCItLXB1cmdlIiwiMSJdCjUzMzogICAgICAgIGlmIGtpbmQ9PSJxZW11IjogZGVzdHJveV9hcmd2Kz1bIi0tZGVzdHJveS11bnJlZmVyZW5jZWQtZGlza3MiLCIxIiwiLS1za2lwbG9jayIsIjEiXQo1MzQ6ICAgICAgICBkZXN0cm95ZWQ9cnVuX3R0eShkZXN0cm95X2FyZ3YsY2hlY2s9RmFsc2UsdGltZW91dD0xODApCjUzNTogICAgICAgIGlmIGRlc3Ryb3llZC5yZXR1cm5jb2RlIT0wOgo1MzY6ICAgICAgICAgICAgZGV0YWlsPShkZXN0cm95ZWQuc3RkZXJyIG9yIGIiIikuZGVjb2RlKGVycm9ycz0icmVwbGFjZSIpLnJlcGxhY2UoIlxyIiwiIikuc3RyaXAoKS5yZXBsYWNlKCJcbiIsIiAiKVs6ODAwXQo1Mzc6ICAgICAgICAgICAgcHJpbnQoZiJURU1QX0RFU1RST1lfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18cmM9e2Rlc3Ryb3llZC5yZXR1cm5jb2RlfXxkZXRhaWw9e2RldGFpbH0iLGZpbGU9c3lzLnN0ZGVycikKNTM4OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVl\nROT_NO_RESIDUE_DEF_FOUND=true\nROT_NO_RESIDUE_DEF_B64=NTMwOiAgICAgICAgICAgIGlmIGtpbmQ9PSJxZW11Ijogc3RvcF9hcmd2Kz1bIi0tc2tpcGxvY2siLCIxIl0KNTMxOiAgICAgICAgICAgIHJ1bl90dHkoc3RvcF9hcmd2LGNoZWNrPUZhbHNlLHRpbWVvdXQ9OTApCjUzMjogICAgICAgIGRlc3Ryb3lfYXJndj1bY21kLCJkZXN0cm95IixzdHIodm1pZCksIi0tcHVyZ2UiLCIxIl0KNTMzOiAgICAgICAgaWYga2luZD09InFlbXUiOiBkZXN0cm95X2FyZ3YrPVsiLS1kZXN0cm95LXVucmVmZXJlbmNlZC1kaXNrcyIsIjEiLCItLXNraXBsb2NrIiwiMSJdCjUzNDogICAgICAgIGRlc3Ryb3llZD1ydW5fdHR5KGRlc3Ryb3lfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MCkKNTM1OiAgICAgICAgaWYgZGVzdHJveWVkLnJldHVybmNvZGUhPTA6CjUzNjogICAgICAgICAgICBkZXRhaWw9KGRlc3Ryb3llZC5zdGRlcnIgb3IgYiIiKS5kZWNvZGUoZXJyb3JzPSJyZXBsYWNlIikucmVwbGFjZSgiXHIiLCIiKS5zdHJpcCgpLnJlcGxhY2UoIlxuIiwiICIpWzo4MDBdCjUzNzogICAgICAgICAgICBwcmludChmIlRFTVBfREVTVFJPWV9FUlJPUnxraW5kPXtraW5kfXx2bWlkPXt2bWlkfXxyYz17ZGVzdHJveWVkLnJldHVybmNvZGV9fGRldGFpbD17ZGV0YWlsfSIsZmlsZT1zeXMuc3RkZXJyKQo1Mzg6ICAgICAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTM5OiAgICAgICAgdGltZS5zbGVlcCgzKQo1NDA6ICAgIHJldHVybiBGYWxzZQo1NDE6CjU0MjpkZWYgY2x1c3Rlcl93aXRob3V0X3RlbXAocWlkLGxpZCx0aW1lb3V0PTMwKToKNTQzOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt0aW1lb3V0CjU0NDogICAgd2hpbGUgVHJ1ZToKNTQ1OiAgICAgICAgcmVzb3VyY2VzPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNTQ2OiAgICAgICAgaWYgc3RyKHFpZCkgbm90IGluIHJlc291cmNlcyBhbmQgc3RyKGxpZCkgbm90IGluIHJlc291cmNlczoKNTQ3OiAgICAgICAgICAgIHJldHVybiByZXNvdXJjZXMKNTQ4OiAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOgo1NDk6ICAgICAgICAgICAgZGllKCJURU1QX0lEX1JFU0lEVUVfUFJFU0VOVCIsNzApCjU1MDogICAgICAgIHRpbWUuc2xlZXAoMikKNTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLg==\nROT_REMOTE_METADATA_DEF_FOUND=true\nROT_REMOTE_METADATA_DEF_B64=MzYxOiAgICBpZiBxIGlzIE5vbmU6IGRpZSgiTk9fUUVNVV9HVUVTVF9BR0VOVF9FTElHSUJMRSIsNzUpCjM2MjogICAgbD1Ob25lCjM2MzogICAgZm9yIHggaW4gcm90YXRlX2FmdGVyKHBbImx4Y19yb3RhdGlvbiJdLHN0YXRlLmdldCgibHhjX2N1cnNvciIpKToKMzY0OiAgICAgICAgaWYgbHhjX3J1bm5pbmcocmVnLHgpOiBsPXg7IGJyZWFrCjM2NTogICAgaWYgbCBpcyBOb25lOiBkaWUoIk5PX0xYQ19SVU5OSU5HX0VMSUdJQkxFIiw3NSkKMzY2OiAgICByZXR1cm4gcSxsLHNraXBwZWQKMzY3OgozNjg6ZGVmIHJjbG9uZV9jYXQocmVtb3RlLHRpbWVvdXQ9NjApOgozNjk6ICAgIHA9cnVuKFtSQ0xPTkUsImNhdCIscmVtb3RlXSxjaGVjaz1GYWxzZSxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0KQozNzA6ICAgIGlmIHAucmV0dXJuY29kZSE9MDogZGllKCJSQ0xPTkVfQ0FUX0ZBSUxFRCIsNzQpCjM3MTogICAgcmV0dXJuIHAuc3Rkb3V0CjM3MjoKMzczOmRlZiB2YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEoaW5mbyxjbG91ZCk6CjM3NDogICAgYmFzZT1pbmZvWyJyZW1vdGVfYV9iYXNlIl0gaWYgY2xvdWQ9PSJBIiBlbHNlIGluZm9bInJlbW90ZV9iX2Jhc2UiXQozNzU6ICAgIHNlYWxfYnl0ZXM9cmNsb25lX2NhdChiYXNlLnJzdHJpcCgiLyIpKyIvc2VhbC5qc29uIiw2MCkKMzc2OiAgICBtYW5pZmVzdF9ieXRlcz1yY2xvbmVfY2F0KGJhc2UucnN0cmlwKCIvIikrIi9QQVJUUy50c3YiLDYwKQozNzc6ICAgIHRyeTogc2VhbD1qc29uLmxvYWRzKHNlYWxfYnl0ZXMpCjM3ODogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJSRU1PVEVfU0VBTF9KU09OX0lOVkFMSURfIitpbmZvWyJ2bWlkIl0sNjYpCjM3OTogICAgZXhwZWN0PXsKMzgwOiAgICAgICJzY2hlbWEiOiJob21lbGFiLWNsb3VkLXF1b3J1bS1zZWFsLXYxIiwic3RhdHVzIjoiU0VBTEVEIiwibG9naWNhbF9pZCI6aW5mb1sibG9naWNhbF9pZCJdLAozODE6ICAgICAgImdlbmVyYXRpb24iOmluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjppbmZvWyJwYXlsb2FkX25hbWUiXSwKMzgyOiAgICAgICJhcmNoaXZlX3NpemVfYnl0ZXMiOmluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJhcmNoaXZlX3NoYTI1NiI6aW5mb1siYXJjaGl2ZV9zaGEyNTYiXSwKMzgzOiAgICAgICJwYXJ0X2NvdW50IjppbmZvWyJwYXJ0X2NvdW50Il0sInBhcnRzX21hbmlmZXN0X3NoYTI1NiI6aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il0sCjM4NDogICAgICAiY2xvdWRfcXVvcnVtIjoyLCJsb2NhbF9jbGVhbnVwIjoiT0siLCJsb2NhbF9wYXlsb2FkX3ByZXNlbnQiOkZhbHNlCjM4NTogICAgfQozODY6ICAgIGZvciBrLHYgaW4gZXhwZWN0Lml0ZW1zKCk6CjM4NzogICAgICAgIGlmIHNlYWwuZ2V0KGspIT12OiBkaWUoIlJFTU9URV9TRUFMX01JU01BVENIXyIraW5mb1sidm1pZCJdKyJfIitrLDY2KQozODg6ICAgIGlmIGhhc2hsaWIuc2hhMjU2KG1hbmlmZXN0X2J5dGVzKS5oZXhkaWdlc3QoKSE9aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il06IGRpZSgiUkVNT1RFX01BTklGRVNUX1NIQV9NSVNNQVRDSF8iK2luZm9bInZtaWQiXSw2NikKMzg5OiAgICByb3dzPXBhcnNlX21hbmlmZXN0KG1hbmlmZXN0X2J5dGVzLGluZm9bInBhcnRfY291bnQiXSxpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXSkKMzkwOiAgICByZXR1cm4gYmFzZSxyb3dzLG1hbmlmZXN0X2J5dGVzCjM5MToKMzkyOmRlZiBwYXJzZV9tYW5pZmVzdChyYXcsZXhwZWN0ZWRfY291bnQsZXhwZWN0ZWRfdG90YWwpOgozOTM6ICAgIHJvd3M9W10KMzk0OiAgICB0b3RhbD0wCjM5NTogICAgdHJ5OiBsaW5lcz1yYXcuZGVjb2RlKCkuc3BsaXRsaW5lcygpCjM5NjogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJNQU5JRkVTVF9URVhUX0lOVkFMSUQiLDY2KQozOTc6ICAgIGZvciBpLGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKMzk4OiAgICAgICAgZj1saW5lLnNwbGl0KCJcdCIpCjM5OTogICAgICAgIGlmIGxlbihmKSE9NDogZGllKCJNQU5JRkVTVF9ST1dfSU5WQUxJRCIsNjYpCjQwMDogICAgICAgIGlkeCxuYW1lLHNpemVfcyxwc2hhPWYKNDAxOiAgICAgICAgbT1QQVJULmZ1bGxtYXRjaChuYW1lKQo0MDI6ICAgICAgICBpZiBpZHghPWYie2k6MDhkfSIgb3IgbSBpcyBOb25lIG9yIG0uZ3JvdXAoMSkhPWlkeDogZGllKCJNQU5JRkVTVF9JTkRFWF9JTlZBTElEIiw2NikKNDAzOiAgICAgICAgaWYgbm90IHNpemVfcy5pc2RpZ2l0KCkgb3IgaW50KHNpemVfcyk8PTAgb3IgaW50KHNpemVfcyk+NTM2ODcwOTEyOiBkaWUoIk1BTklGRVNUX1NJWkVfSU5WQUxJRCIsNjYpCjQwNDogICAgICAgIGlmIG5vdCBIRVg2NC5mdWxsbWF0Y2gocHNoYSk6IGRpZSgiTUFOSUZFU1RfUEFSVF9TSEFfSU5WQUxJRCIsNjYpCjQwNTogICAgICAgIHNpemU9aW50KHNpemVfcyk7IHRvdGFsKz1zaXplOyByb3dzLmFwcGVuZCgoaWR4LG5hbWUsc2l6ZSxwc2hhKSkKNDA2OiAgICBpZiBsZW4ocm93cykhPWV4cGVjdGVkX2NvdW50IG9yIHRvdGFsIT1leHBlY3RlZF90b3RhbDogZGllKCJNQU5JRkVTVF9UT1RBTF9JTlZBTElEIiw2NikKNDA3OiAgICByZXR1cm4gcm93cwo0MDg6CjQwOTpkZWYgcHZlc21fYXZhaWxhYmxlX2J5dGVzKCk6CjQxMDogICAgdHh0PXJ1bl90ZXh0KFtQVkVTTSwic3RhdHVzIl0sdGltZW91dD0zMCkKNDExOiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo0MTI6ICAgICAgICBmPWxpbmUuc3BsaXQoKQo0MTM6ICAgICAgICBpZiBmIGFuZCBmWzBdPT0ibG9jYWwtbHZtIjoKNDE0OiAgICAgICAgICAgIGlmIGxlbihmKTw3IG9yIGZbMl0hPSJhY3RpdmUiIG9yIG5vdCBmWzVdLmlzZGlnaXQoKTogZGllKCJMT0NBTF9MVk1fU1RBVFVTX0lOVkFMSUQiLDY2KQo0MTU6ICAgICAgICAgICAgcmV0dXJuIGludChmWzVdKSoxMDI0CjQxNjogICAgZGllKCJMT0NBTF9MVk1fTUlTU0lORyIsNjYpCjQxNzo=\nROT_LOAD_STATE_DEF_FOUND=true\nROT_LOAD_STATE_DEF_B64=NDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0NzM6ICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0NzQ6ICAgICAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOiByYWlzZSBEcmlsbEVycm9yKCJCQUNLVVBfTE9DS19CVVNZIiw3NSkKNDc1OiAgICAgICAgICAgIHRpbWUuc2xlZXAoMjApCjQ3NjogICAgZGVmIF9fZXhpdF9fKHNlbGYsKmEpOgo0Nzc6ICAgICAgICBmb3IgZiBpbiByZXZlcnNlZChzZWxmLmZkcyk6CjQ3ODogICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0Nzk6ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0ODA6ICAgICAgICBzZWxmLmZkcz1bXQo0ODE6CjQ4MjpkZWYgcGlja19mcmVlKHJlc291cmNlcyxzdGFydCxlbmQpOgo0ODM6ICAgIHVzZWQ9e2ludCh4KSBmb3IgeCBpbiByZXNvdXJjZXN9CjQ4NDogICAgZm9yIGkgaW4gcmFuZ2Uoc3RhcnQsZW5kKzEpOgo0ODU6ICAgICAgICBpZiBpIG5vdCBpbiB1c2VkOiByZXR1cm4gaQo0ODY6ICAgIGRpZSgiVEVNUF9JRF9SQU5HRV9FWEhBVVNURUQiLDc1KQ==\nROT_REGISTRY_DEF_FOUND=true\nROT_REGISTRY_DEF_B64=MjYzOiAgICBpZiBhZ2VfZGF5cz5mbG9hdChwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0pOiBkaWUoIkVTQ1JPV19TRU1BTlRJQ19QUk9PRl9TVEFMRSIsNzUpCjI2NDogICAgYT1yZWFkX2pzb24ocGF0aGxpYi5QYXRoKHBbImF1ZGl0X3BhdGgiXSkpCjI2NTogICAgaWYgbm90IChhLmdldCgiYXVkaXRfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJiYWNrdXBfc3RhdHVzIik9PSJHUkVFTiIgYW5kCjI2NjogICAgICAgICAgICBhLmdldCgiZHJfcmVhZGluZXNzIik9PSJQUk9WRU4iIGFuZCBhLmdldCgiZHJfcHJvb2Zfc3RhdHVzIik9PSJQUk9WRU4iIGFuZAoyNjc6ICAgICAgICAgICAgYS5nZXQoImVzY3Jvd19zdGF0dXMiKT09Ik9LIiBhbmQgYS5nZXQoInFlbXVfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kCjI2ODogICAgICAgICAgICBhLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kIGEuZ2V0KCJmdWxsX3NpdGVfZHJfcHJvdmVuIikgaXMgVHJ1ZSk6CjI2OTogICAgICAgIGRpZSgiQ1VSUkVOVF9CQUNLVVBfQVVESVRfTk9UX0RSX1JFQURZIiw3NSkKMjcwOiAgICByZXR1cm4geyJjaXBoZXJ0ZXh0X3NoYV92ZXJpZmllZCI6VHJ1ZSwic2VtYW50aWNfcHJvb2Zfc2VhbF9zaGFfdmVyaWZpZWQiOlRydWUsCjI3MTogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfYXRfdXRjIjpzWyJzZWFsZWRfYXRfdXRjIl0sInNlbWFudGljX3Byb29mX2FnZV9kYXlzIjpyb3VuZChhZ2VfZGF5cyw0KSwKMjcyOiAgICAgICAgICAgICJzZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiOnBbImVzY3Jvd19zZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiXSwKMjczOiAgICAgICAgICAgICJwaHlzaWNhbF9lc2Nyb3dfY29waWVzIjoiMl9VU0VSX0FUVEVTVEVEIiwicGh5c2ljYWxfZXNjcm93X21lZGlhX3JlYWRfcHJvdmVuIjpGYWxzZX0KMjc0OgoyNzU6ZGVmIHJlZ2lzdHJ5KHApOgoyNzY6ICAgIHI9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJyZWdpc3RyeV9wYXRoIl0pKQoyNzc6ICAgIGlmIHIuZ2V0KCJzY2hlbWEiKSE9ImhvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeS12MSI6IGRpZSgiUkVHSVNUUllfSU5WQUxJRCIsNjYpCjI3ODogICAgb3V0PXt9CjI3OTogICAgZm9yIHggaW4gci5nZXQoInRhcmdldHMiLFtdKToKMjgwOiAgICAgICAgaWYgeC5nZXQoImtpbmQiKT09IlZNIiBhbmQgeC5nZXQoImxpZmVjeWNsZSIpPT0iQUNUSVZFIjoKMjgxOiAgICAgICAgICAgIHZtaWQ9c3RyKHguZ2V0KCJpZCIsIiIpKQoyODI6ICAgICAgICAgICAgb3duZXI9eC5nZXQoIm93bmVyIikKMjgzOiAgICAgICAgICAgIGlmIG5vdCB2bWlkLmlzZGlnaXQoKSBvciBvd25lciBub3QgaW4gKCJwdmUwMSIsInB2ZTAyIiwicHZlMDMiKSBvciB2bWlkIGluIG91dDogZGllKCJSRUdJU1RSWV9WTV9JTlZBTElEIiw2NikKMjg0OiAgICAgICAgICAgIG91dFt2bWlkXT17ImxvZ2ljYWxfaWQiOnguZ2V0KCJsb2dpY2FsX2lkIiksIm93bmVyIjpvd25lcn0KMjg1OiAgICByZXF1aXJlZD1zZXQocFsicWVtdV9yb3RhdGlvbiJdK3BbImx4Y19yb3RhdGlvbiJdK2xpc3QocC5nZXQoInFlbXVfZXhjbHVkZWQiLHt9KSkpCjI4NjogICAgaWYgbm90IHJlcXVpcmVkLmlzc3Vic2V0KG91dCk6IGRpZSgiUkVHSVNUUllfUk9UQVRJT05fVEFSR0VUX01JU1NJTkciLDY2KQoyODc6ICAgIHJldHVybiBvdXQKMjg4OgoyODk6ZGVmIG93bmVyX2hvc3Qob3duZXIpOgoyOTA6ICAgIHJldHVybiB7InB2ZTAyIjoicm9vdEBbUFJJVkFURV9JUF0iLCJwdmUwMyI6InJvb3RAW1BSSVZBVEVfSVBdIn0uZ2V0KG93bmVyKQoyOTE6CjI5MjpkZWYgc3NoX2Jhc2Uod2l0aF9zdGRpbj1GYWxzZSk6CjI5MzogICAgYmFzZT1bU1NIXQoyOTQ6ICAgIGlmIG5vdCB3aXRoX3N0ZGluOiBiYXNlLmFwcGVuZCgiLW4iKQoyOTU6ICAgIHJldHVybiBiYXNlK1siLW8iLCJCYXRjaE1vZGU9eWVzIiwiLW8iLCJDb25uZWN0VGltZW91dD0xNSIsIi1vIiwiU3RyaWN0SG9zdEtleUNoZWNraW5nPXllcyIsIi1vIiwiVXNlcktub3duSG9zdHNGaWxlPS9yb290Ly5zc2gva25vd25faG9zdHMiXQoyOTY6CjI5NzpkZWYgbm9kZV9ydW4ob3duZXIsYXJndixjaGVjaz1UcnVlLHRpbWVvdXQ9Tm9uZSxpbnB1dF9ieXRlcz1Ob25lKToKMjk4OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMjk5OiAgICAgICAgcmV0dXJuIHJ1bihhcmd2LGNoZWNrPWNoZWNrLGNhcHR1cmU9VHJ1ZSx0aW1lb3V0PXRpbWVvdXQsaW5wdXRfYnl0ZXM9aW5wdXRfYnl0ZXMpCjMwMDogICAgaG9zdD1vd25lcl9ob3N0KG93bmVyKQozMDE6ICAgIGlmIGhvc3QgaXMgTm9uZTogZGllKCJPV05FUl9JTlZBTElEIiw2NCkKMzAyOiAgICBjbWQ9c3NoX2Jhc2Uod2l0aF9zdGRpbj1pbnB1dF9ieXRlcyBpcyBub3QgTm9uZSkrW2hvc3RdK1tzdHIoeCkgZm9yIHggaW4gYXJndl0KMzAzOiAgICByZXR1cm4gcnVuKGNtZCxjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDQ6CjMwNTpkZWYgZXhwb3J0X3N0YXRlKHAscmVnLHZtaWQsc3RhdGVfZXhwb3J0ZXI9U1RBVEVfRVhQT1JURVIpOgozMDY6ICAgIGl0ZW09cmVnW3ZtaWRdOyBsb2dpY2FsPWl0ZW1bImxvZ2ljYWxfaWQiXTsgb3duZXI9aXRlbVsib3duZXIiXQozMDc6ICAgIGlmIGxvZ2ljYWwhPWYidm17dm1pZH0iOiBkaWUoIlJFR0lTVFJZX0xPR0lDQUxfSU5WQUxJRF8iK3ZtaWQsNjYpCjMwODogICAgYXNzZXJ0X3JlZ3VsYXJfcm9vdChwYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpKQozMDk6ICAgIGlmIG93bmVyPT0icHZlMDEiOgozMTA6ICAgICAgICBwcj1ydW4oW1BZVEhPTiwiLUIiLHN0YXRlX2V4cG9ydGVyLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCkKMzExOiAgICBlbHNlOgozMTI6ICAgICAgICBkYXRhPXBhdGhsaWIuUGF0aChzdGF0ZV9leHBvcnRlcikucmVhZF9ieXRlcygpCjMxMzogICAgICAgIHByPW5vZGVfcnVuKG93bmVyLFtQWVRIT04sIi1CIiwiLSIsdm1pZCxsb2dpY2FsXSx0aW1lb3V0PTMwLGlucHV0X2J5dGVzPWRhdGEpCjMxNDogICAgaWYgcHIucmV0dXJuY29kZSE9MDogZGllKCJTVEFURV9FWFBPUlRfRkFJTEVEXyIrdm1pZCw2NSkKMzE1OiAgICB0cnk6IG9iaj1qc29uLmxvYWRzKHByLnN0ZG91dC5kZWNvZGUoKSkKMzE2OiAgICBleGNlcHQgRXhjZXB0aW9uOiBkaWUoIlNUQVRFX0VYUE9SVF9KU09OX0lOVkFMSURfIit2bWlkLDY2KQozMTc6ICAgIGlmIG5vdCAob2JqLmdldCgic2NoZW1hIik9PSJob21lbGFiLWJvb3QtZHJpbGwtc3RhdGUtZXhwb3J0LXYxIiBhbmQgb2JqLmdldCgidm1pZCIpPT12bWlkIGFuZAozMTg6ICAgICAgICAgICAgb2JqLmdldCgibG9naWNhbF9pZCIpPT1sb2dpY2FsIGFuZCBvYmouZ2V0KCJzdHJpY3Rfc2VhbGVkX3Jlc3RvcmVfcHJvdmVuIikgaXMgVHJ1ZSk6CjMxOTogICAgICAgIGRpZSgiU1RBVEVfRVhQT1JUX0NPTlRFTlRfSU5WQUxJRF8iK3ZtaWQsNjYp\nROT_FUNC_PRECHECK_PRESENT=true\nROT_FUNC_PRECHECK_ARGS=p,state_exporter,mode\nROT_FUNC_EXECUTE_PRESENT=true\nROT_FUNC_EXECUTE_ARGS=mode,p\nROT_FUNC_FETCH_ARCHIVE_PRESENT=true\nROT_FUNC_FETCH_ARCHIVE_ARGS=info,cloud,work\nROT_FUNC_QEMU_BOOT_PRESENT=true\nROT_FUNC_QEMU_BOOT_ARGS=archive,tempid,wait_sec,run_id\nROT_FUNC_CLEANUP_ONE_PRESENT=true\nROT_FUNC_CLEANUP_ONE_ARGS=kind,vmid,created_epoch\nROT_FUNC_CLUSTER_WITHOUT_TEMP_PRESENT=true\nROT_FUNC_CLUSTER_WITHOUT_TEMP_ARGS=qid,lid,timeout\nROT_FUNC_VALIDATE_REMOTE_METADATA_PRESENT=true\nROT_FUNC_VALIDATE_REMOTE_METADATA_ARGS=info,cloud\nROT_FUNC_LOAD_STATE_DEFAULT_PRESENT=true\nROT_FUNC_LOAD_STATE_DEFAULT_ARGS=\nROT_FUNC_REGISTRY_PRESENT=true\nROT_FUNC_REGISTRY_ARGS=p\nROT_FUNC_SELECT_PAIR_PRESENT=false\nAUDSRC_DR_READY_FOUND=false\nAUDSRC_DR_READY_LOWER_FOUND=false\nAUDSRC_BOOT_FOUND=false\nAUDSRC_RESTORE_FOUND=true\nAUDSRC_RESTORE_B64=MTojIS91c3IvYmluL2VudiBweXRob24zCjI6aW1wb3J0IHN5cyxvcyxqc29uLHRpbWUsc3VicHJvY2VzcyxwYXRobGliLHJlLGRhdGV0aW1lCjM6TU9ERT1zeXMuYXJndlsxXSBpZiBsZW4oc3lzLmFyZ3YpPjEgZWxzZSAiYWxsIgo0OmlmIE1PREUgbm90IGluICgiYWxsIiwid3JpdGUtaGVhbHRoIiwic2NoZWR1bGVkIiwiY29udHJhY3QiKToKNTogICAgcHJpbnQoIkFVRElUX0VSUk9SPVVTQUdFX2FsbF93cml0ZS1oZWFsdGhfc2NoZWR1bGVkX2NvbnRyYWN0IixmaWxlPXN5cy5zdGRlcnIpOyBzeXMuZXhpdCg2NCkKNjppZiBNT0RFPT0iY29udHJhY3QiOgo3OiAgICBwcmludCgiQVVESVRfQ09OVFJBQ1Q9djItcGx1cy1zZWFsZWQtcXVvcnVtIikKODogICAgcHJpbnQoIkFVRElUX1NDSEVNQT1ob21lbGFiLWJhY2t1cC1hdWRpdC12MyIpCjk6ICAgIHN5cy5leGl0KDApCjEwOgoxMTpSRUc9cGF0aGxpYi5QYXRoKCIvZXRjL2hvbWVsYWItYmFja3VwL3RhcmdldHMuanNvbiIpCjEyOlNUQVRFPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1iYWNrdXAtdjIvc3RhdGUiKQoxMzpRUk9PVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL2Nsb3VkLXF1b3J1bSIpCjE0OlZNUkVTVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL3ZtLXJlc3RvcmUtdmFsaWRhdGlvbiIpCjE1OkFQUFJFU1Q9cGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWJhY2t1cC9hcHAtcmVzdG9yZS12YWxpZGF0aW9uIikKMTY6UkVHSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeSIKMTc6QVBQUT0iL3Vzci9sb2NhbC9zYmluL2hvbWVsYWItYXBwLWNsb3VkLXF1b3J1bS1xdWV1ZSIKMTg6R0ZTSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLWdmcy1wb2xpY3kiCjE5OkdGU1A9Ii9ldGMvaG9tZWxhYi1iYWNrdXAvZ2ZzLXJldGVudGlvbi5qc29uIgoyMDpSRVQ9Ii91c3IvbG9jYWwvc2Jpbi9ob21lbGFiLWJhY2t1cC1yZXRlbnRpb24tZ2MiCjIxOldUPSIvcm9vdC9ob21lbGFiLW9wcy1jci0yMDI2LTEwMDUiCjIyOkJSQU5DSD0iY3ItMjAyNi0xMDA1LWJhY2t1cC12Mi1oZWFsdGgtYWxlcnRpbmctcmVtZWRpYXRpb24iCjIzOkRSU0VBTD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYWRtaW4vc2VhbHMvc2l0ZS1kci1maW5hbC1hY2NlcHRhbmNlLXYxLmpzb24iKQoyNDpDTE9VREJfSEVBTFRIPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvc2tsYWRjaGlrLXJlcG9ydHMtbW9uaXRvci1iYWNrdXAvcmVzdG9yZS1jaGVjay1oZWFsdGgudHh0IikKMjU6SEVBTFRIUz1bcGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWhlYWx0aC9iYWNrdXAtYXVkaXQtdjIuanNvbiIpLHBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1oZWFsdGgvYmFja3VwLWF1ZGl0Lmpzb24iKV0KMjY6CjI3OmRlZiBydW4oY21kLHRpbWVvdXQ9NjAsZW52PU5vbmUpOgoyODogICAgdHJ5OgoyOTogICAgICAgIHA9c3VicHJvY2Vzcy5ydW4oY21kLHRleHQ9VHJ1ZSxzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD10aW1lb3V0LGVudj1lbnYpCjMwOiAgICAgICAgcmV0dXJuIHAucmV0dXJuY29kZSxwLnN0ZG91dCxwLnN0ZGVycgozMTogICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQgYXMgZToKMzI6ICAgICAgICByZXR1cm4gMTI0LGUuc3Rkb3V0IG9yICIiLGUuc3RkZXJyIG9yICIiCjMzOgozNDpkZWYgY29sbGVjdChvYmosb3V0KToKMzU6ICAgIGlmIGlzaW5zdGFuY2Uob2JqLGRpY3QpOgozNjogICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLmdldCgibG9naWNhbF9pZCIpLHN0cik6IG91dC5hcHBlbmQob2JqKQozNzogICAgICAgIGZvciB2IGluIG9iai52YWx1ZXMoKTogY29sbGVjdCh2LG91dCkKMzg6ICAgIGVsaWYgaXNpbnN0YW5jZShvYmosbGlzdCk6CjM5OiAgICAgICAgZm9yIHYgaW4gb2JqOiBjb2xsZWN0KHYsb3V0KQo0MDoKNDE6ZGVmIHBhcnNlX2Vwb2NoKG9iaik6CjQyOiAgICBmb3IgayBpbiAoInNlYWxlZF9lcG9jaCIsImxhc3Rfc3VjY2Vzc19lcG9jaCIsInVwZGF0ZWRfZXBvY2giKToKNDM6ICAgICAgICB2PW9iai5nZXQoaykKNDQ6ICAgICAgICBpZiBpc2luc3RhbmNlKHYsKGludCxmbG9hdCkpIGFuZCB2PjA6IHJldHVybiBpbnQodikKNDU6ICAgIGZvciBrIGluICgic2VhbGVkX2F0X3V0YyIsInVwZGF0ZWRfYXRfdXRjIiwiY29tcGxldGVkX2F0X3V0YyIpOgo0NjogICAgICAgIHY9b2JqLmdldChrKQo0NzogICAgICAgIGlmIGlzaW5zdGFuY2UodixzdHIpIGFuZCB2Ogo0ODogICAgICAgICAgICB0cnk6CjQ5OiAgICAgICAgICAgICAgICByZXR1cm4gaW50KGRhdGV0aW1lLmRhdGV0aW1lLmZyb21pc29mb3JtYXQodi5yZXBsYWNlKCJaIiwiKzAwOjAwIikpLnRpbWVzdGFtcCgpKQo1MDogICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBwYXNzCjUxOiAgICByZXR1cm4gTm9uZQo1MjoKNTM6ZGVmIGxhdGVzdF9sZWdhY3kobG9naWNhbCxraW5kKToKNTQ6ICAgIGQ9UVJPT1QvbG9naWNhbAo1NTogICAgYmVzdD1Ob25lOyBiZXN0X2Vwb2NoPS0xCjU2OiAgICBpZiBub3QgZC5pc19kaXIoKTogcmV0dXJuIE5vbmUKNTc6ICAgIGZvciBwIGluIGQuZ2xvYigiKi5qc29uIik6CjU4OiAgICAgICAgdHJ5OiBvYmo9anNvbi5sb2FkcyhwLnJlYWRfdGV4dChlbmNvZGluZz0idXRmLTgiKSkKNTk6ICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBjb250aW51ZQo2MDogICAgICAgIGVwb2NoPXBhcnNlX2Vwb2NoKG9iaikKNjE6ICAgICAgICBzY29yZT1lcG9jaCBpZiBlcG9jaCBpcyBub3QgTm9uZSBlbHNlIGludChwLnN0YXQoKS5zdF9tdGltZSkKNjI6ICAgICAgICBpZiBzY29yZT5iZXN0X2Vwb2NoOgo2MzogICAgICAgICAgICBiZXN0X2Vwb2NoPXNjb3JlOyBiZXN0PShwLG9iaixzY29yZSkKNjQ6ICAgIGlmIG5vdCBiZXN0OiByZXR1cm4gTm9uZQo2NTogICAgcCxvYmosZXBvY2g9YmVzdAo2NjogICAgZ2VuPW9iai5nZXQoImdlbmVyYXRpb24iKQo2NzogICAgc3RyaWN0PShvYmouZ2V0KCJzdGF0dXMiKT09IlNFQUxFRCIgYW5kIG9iai5nZXQoImNsb3VkX3F1b3J1bSIpPT0yIGFuZCBvYmouZ2V0KCJjbG91ZF9hX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgiY2xvdWRfYl92ZXJpZmllZCIpIGlzIFRydWUgYW5kIG9iai5nZXQoInBhcnRfaGFzaGVzX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgic2VhbF93cml0dGVuIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgibG9jYWxfcGF5bG9hZF9wcmVzZW50IikgaXMgRmFsc2UgYW5kIG9iai5nZXQoImxvY2FsX2NsZWFudXAiKT09Ik9LIikKNjg6ICAgIHJyb290PVZNUkVTVCBpZiBraW5kPT0iVk0iIGVsc2UgQVBQUkVTVAo2OTogICAgcmV2PShycm9vdC9sb2dpY2FsLyhzdHIoZ2VuKSsiLmpzb24iKSkgaWYgZ2VuIGVsc2UgTm9uZQo3MDogICAgcmVzdG9yZT1GYWxzZQo3MTogICAgaWYgcmV2IGFuZCByZXYuaXNfZmlsZSgpOgo3MjogICAgICAgIHRyeToKNzM6ICAgICAgICAgICAgcmo9anNvbi5sb2FkcyhyZXYucmVhZF90ZXh0KGVuY29kaW5nPSJ1dGYtOCIpKQo3NDogICAgICAgICAgICByZXN0b3JlPShyai5nZXQoInJlc3VsdCIpPT0iT0siKQo3NTogICAgICAgIGV4Y2VwdCBFeGNlcHRpb246IHBhc3MKNzY6ICAgIGFnZT1tYXgoMCxpbnQodGltZS50aW1lKCktZXBvY2gpKSBpZiBlcG9jaCBlbHNlIE5vbmUKNzc6ICAgIHJldHVybiB7ImdlbmVyYXRpb24iOmdlbiwic3RyaWN0IjpzdHJpY3QsInJlc3RvcmVfb2siOnJlc3RvcmUsImFnZV9zZWNvbmRzIjphZ2UsInN0YXRlX2ZpbGUiOnN0cihwKSwib2JqIjpvYmp9Cjc4Ogo3OTpkZWYgdW5pdF9vayh1bml0KToKODA6ICAgIGE9cnVuKFsic3lzdGVtY3RsIiwiaXMtYWN0aXZlIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MTogICAgZT1ydW4oWyJzeXN0ZW1jdGwiLCJpcy1lbmFibGVkIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MjogICAgcmV0dXJuIGE9PSJhY3RpdmUiIGFuZCBlPT0iZW5hYmxlZCIsYSxlCjgzOg==\nAUDSRC_WRITES_FILES=true\nVM150_TARGET_ENTRY_COUNT=1\nVM150_TARGET_1_KEYS_SHA256=76f391d578cdf23dffea7420973afc004f2841b41c9092d188f598d6ff3f999c\nVM150_TARGET_1_ID=150\nVM150_TARGET_1_LOGICAL_ID=vm150\nVM150_TARGET_1_KIND=VM\nVM150_TARGET_1_OWNER_SHA256=1ec037ee8d7939e1aad0c2701a1c4f09849abb191ec016f69e6f8de4142276c3\nVM150_JSON_CANDIDATE_COUNT=39\nVM150_JSON_1_AGE_SECONDS=2688173\nVM150_JSON_1_BASENAME=vm150-pve01-20260904T053517Z.json\nVM150_JSON_1_PATH_SHA256=efad5cd2aee419fd80f4308fd06a30e54426d4bd98793b8cedea8fa9bb27ca38\nVM150_JSON_1_F1_KEY=logical_id\nVM150_JSON_1_F1_VALUE=vm150\nVM150_JSON_1_F2_KEY=generation\nVM150_JSON_1_F2_VALUE=vm150-pve01-20260904T053517Z\nVM150_JSON_1_F3_KEY=vmid\nVM150_JSON_1_F3_VALUE=150\nVM150_JSON_2_AGE_SECONDS=2734927\nVM150_JSON_2_BASENAME=vm150-pve01-20260903T163557Z.json\nVM150_JSON_2_PATH_SHA256=490cb5fb334b0fe267cc10283df8b51851b37403c9da4c04068949fb8fd78d1c\nVM150_JSON_2_F1_KEY=logical_id\nVM150_JSON_2_F1_VALUE=vm150\nVM150_JSON_2_F2_KEY=generation\nVM150_JSON_2_F2_VALUE=vm150-pve01-20260903T163557Z\nVM150_JSON_2_F3_KEY=vmid\nVM150_JSON_2_F3_VALUE=150\nVM150_JSON_3_AGE_SECONDS=2785326\nVM150_JSON_3_BASENAME=vm150-pve01-20260903T023609Z.json\nVM150_JSON_3_PATH_SHA256=e39e01b8035f5baca1c53b1080423328febdfe29bc6e5cd681aef84e400c8a8d\nVM150_JSON_3_F1_KEY=logical_id\nVM150_JSON_3_F1_VALUE=vm150\nVM150_JSON_3_F2_KEY=generation\nVM150_JSON_3_F2_VALUE=vm150-pve01-20260903T023609Z\nVM150_JSON_3_F3_KEY=vmid\nVM150_JSON_3_F3_VALUE=150\nVM150_JSON_4_AGE_SECONDS=2831874\nVM150_JSON_4_BASENAME=vm150-pve01-20260902T134020Z.json\nVM150_JSON_4_PATH_SHA256=4e2bf58cf003f9d792ca892af124e65d08132b49a7942013a5c1ad6035178918\nVM150_JSON_4_F1_KEY=logical_id\nVM150_JSON_4_F1_VALUE=vm150\nVM150_JSON_4_F2_KEY=generation\nVM150_JSON_4_F2_VALUE=vm150-pve01-20260902T134020Z\nVM150_JSON_4_F3_KEY=vmid\nVM150_JSON_4_F3_VALUE=150\nVM150_JSON_5_AGE_SECONDS=2878920\nVM150_JSON_5_BASENAME=vm150-pve01-20260902T003622Z.json\nVM150_JSON_5_PATH_SHA256=0eb5d296516657ca0bb484aa1a8ed0e75adf2aa7f4d9d9657e6b4f41a082ef93\nVM150_JSON_5_F1_KEY=logical_id\nVM150_JSON_5_F1_VALUE=vm150\nVM150_JSON_5_F2_KEY=generation\nVM150_JSON_5_F2_VALUE=vm150-pve01-20260902T003622Z\nVM150_JSON_5_F3_KEY=vmid\nVM150_JSON_5_F3_VALUE=150\nVM150_JSON_6_AGE_SECONDS=2929189\nVM150_JSON_6_BASENAME=vm150-pve01-20260901T103753Z.json\nVM150_JSON_6_PATH_SHA256=53532b6be1d08637ff25a37e99b7404393e5fa1c94014c8115dc54f8bfe45fb2\nVM150_JSON_6_F1_KEY=logical_id\nVM150_JSON_6_F1_VALUE=vm150\nVM150_JSON_6_F2_KEY=generation\nVM150_JSON_6_F2_VALUE=vm150-pve01-20260901T103753Z\nVM150_JSON_6_F3_KEY=vmid\nVM150_JSON_6_F3_VALUE=150\nVM150_JSON_7_AGE_SECONDS=2975852\nVM150_JSON_7_BASENAME=vm150-pve01-20260831T214108Z.json\nVM150_JSON_7_PATH_SHA256=4cef09ec110b2ce4e76a9762ce254c3f6fb7a73cd33af5b89842e9e531784848\nVM150_JSON_7_F1_KEY=logical_id\nVM150_JSON_7_F1_VALUE=vm150\nVM150_JSON_7_F2_KEY=generation\nVM150_JSON_7_F2_VALUE=vm150-pve01-20260831T214108Z\nVM150_JSON_7_F3_KEY=vmid\nVM150_JSON_7_F3_VALUE=150\nVM150_JSON_8_AGE_SECONDS=3019217\nVM150_JSON_8_BASENAME=vm150-pve01-20260831T093800Z.json\nVM150_JSON_8_PATH_SHA256=58a804c36501e62ca91cf1c3ab96a0c173f37c8d477f24306594be04a0678972\nVM150_JSON_8_F1_KEY=logical_id\nVM150_JSON_8_F1_VALUE=vm150\nVM150_JSON_8_F2_KEY=generation\nVM150_JSON_8_F2_VALUE=vm150-pve01-20260831T093800Z\nVM150_JSON_8_F3_KEY=vmid\nVM150_JSON_8_F3_VALUE=150\nVM150_JSON_9_AGE_SECONDS=3066086\nVM150_JSON_9_BASENAME=vm150-pve01-20260830T203628Z.json\nVM150_JSON_9_PATH_SHA256=480382928bcffc5e2900de44b8cc219dcf8c19821dc10233c83f03a479641989\nVM150_JSON_9_F1_KEY=logical_id\nVM150_JSON_9_F1_VALUE=vm150\nVM150_JSON_9_F2_KEY=generation\nVM150_JSON_9_F2_VALUE=vm150-pve01-20260830T203628Z\nVM150_JSON_9_F3_KEY=vmid\nVM150_JSON_9_F3_VALUE=150\nVM150_JSON_10_AGE_SECONDS=3116522\nVM150_JSON_10_BASENAME=vm150-pve01-20260830T063610Z.json\nVM150_JSON_10_PATH_SHA256=af519b9ec9a59ef1b30417a2c789295ac48e9ce777596520cdd73cb2daadf5ba\nVM150_JSON_10_F1_KEY=logical_id\nVM150_JSON_10_F1_VALUE=vm150\nVM150_JSON_10_F2_KEY=generation\nVM150_JSON_10_F2_VALUE=vm150-pve01-20260830T063610Z\nVM150_JSON_10_F3_KEY=vmid\nVM150_JSON_10_F3_VALUE=150\nVM150_JSON_11_AGE_SECONDS=3163255\nVM150_JSON_11_BASENAME=vm150-pve01-20260829T173717Z.json\nVM150_JSON_11_PATH_SHA256=e24834ff71d84a2e6e03c31a533aae943d3fbf684ef8ccc464f5ca58d1a99225\nVM150_JSON_11_F1_KEY=logical_id\nVM150_JSON_11_F1_VALUE=vm150\nVM150_JSON_11_F2_KEY=generation\nVM150_JSON_11_F2_VALUE=vm150-pve01-20260829T173717Z\nVM150_JSON_11_F3_KEY=vmid\nVM150_JSON_11_F3_VALUE=150\nVM150_JSON_12_AGE_SECONDS=3210130\nVM150_JSON_12_BASENAME=vm150-pve01-20260829T043615Z.json\nVM150_JSON_12_PATH_SHA256=8ff2e29a41e8df7098335a02af10375308751ec56efa9d77e709f73a51cdc40a\nVM150_JSON_12_F1_KEY=logical_id\nVM150_JSON_12_F1_VALUE=vm150\nVM150_JSON_12_F2_KEY=generation\nVM150_JSON_12_F2_VALUE=vm150-pve01-20260829T043615Z\nVM150_JSON_12_F3_KEY=vmid\nVM150_JSON_12_F3_VALUE=150\nVM150_JSON_13_AGE_SECONDS=3260526\nVM150_JSON_13_BASENAME=vm150-pve01-20260828T143617Z.json\nVM150_JSON_13_PATH_SHA256=e5a08de449669ce796d24efdb17319319493f99a4949987f61890a2a4ab87ebf\nVM150_JSON_13_F1_KEY=logical_id\nVM150_JSON_13_F1_VALUE=vm150\nVM150_JSON_13_F2_KEY=generation\nVM150_JSON_13_F2_VALUE=vm150-pve01-20260828T143617Z\nVM150_JSON_13_F3_KEY=vmid\nVM150_JSON_13_F3_VALUE=150\nVM150_JSON_14_AGE_SECONDS=3325313\nVM150_JSON_14_BASENAME=vm150-pve01-20260827T203624Z.json\nVM150_JSON_14_PATH_SHA256=a90c91da69e35c48b275e68c7f9a6306a4655dffe5abe126880e3f525fd7f143\nVM150_JSON_14_F1_KEY=logical_id\nVM150_JSON_14_F1_VALUE=vm150\nVM150_JSON_14_F2_KEY=generation\nVM150_JSON_14_F2_VALUE=vm150-pve01-20260827T203624Z\nVM150_JSON_14_F3_KEY=vmid\nVM150_JSON_14_F3_VALUE=150\nVM150_JSON_15_AGE_SECONDS=3375730\nVM150_JSON_15_BASENAME=vm150-pve01-20260827T063558Z.json\nVM150_JSON_15_PATH_SHA256=57ab7089265ac9c0e72161816511ffe8819a43d0462e19883a9ecf7500ba184b\nVM150_JSON_15_F1_KEY=logical_id\nVM150_JSON_15_F1_VALUE=vm150\nVM150_JSON_15_F2_KEY=generation\nVM150_JSON_15_F2_VALUE=vm150-pve01-20260827T063558Z\nVM150_JSON_15_F3_KEY=vmid\nVM150_JSON_15_F3_VALUE=150\nVM150_JSON_16_AGE_SECONDS=3422364\nVM150_JSON_16_BASENAME=vm150-pve01-20260826T173850Z.json\nVM150_JSON_16_PATH_SHA256=fff2071f6222d4358b317f3752883ce608ad113e8730f6bee3b1eaefa197f68a\nVM150_JSON_16_F1_KEY=logical_id\nVM150_JSON_16_F1_VALUE=vm150\nVM150_JSON_16_F2_KEY=generation\nVM150_JSON_16_F2_VALUE=vm150-pve01-20260826T173850Z\nVM150_JSON_16_F3_KEY=vmid\nVM150_JSON_16_F3_VALUE=150\nVM150_JSON_17_AGE_SECONDS=3465740\nVM150_JSON_17_BASENAME=vm150-pve01-20260826T053634Z.json\nVM150_JSON_17_PATH_SHA256=9d6863bc8ff23a8a68cc90a0b0dbf31b9a89ec4890a2fcf7220abe7c543880c1\nVM150_JSON_17_F1_KEY=logical_id\nVM150_JSON_17_F1_VALUE=vm150\nVM150_JSON_17_F2_KEY=generation\nVM150_JSON_17_F2_VALUE=vm150-pve01-20260826T053634Z\nVM150_JSON_17_F3_KEY=vmid\nVM150_JSON_17_F3_VALUE=150\nVM150_JSON_18_AGE_SECONDS=3512427\nVM150_JSON_18_BASENAME=vm150-pve01-20260825T163812Z.json\nVM150_JSON_18_PATH_SHA256=ef64ef6538caefc24d123cfbc0432f51b63b33693168bdb120a80d5400032476\nVM150_JSON_18_F1_KEY=logical_id\nVM150_JSON_18_F1_VALUE=vm150\nVM150_JSON_18_F2_KEY=generation\nVM150_JSON_18_F2_VALUE=vm150-pve01-20260825T163812Z\nVM150_JSON_18_F3_KEY=vmid\nVM150_JSON_18_F3_VALUE=150\nVM150_JSON_19_AGE_SECONDS=3591704\nVM150_JSON_19_BASENAME=vm150-pve01-20260824T183626Z.json\nVM150_JSON_19_PATH_SHA256=92d083547ad1f23796a6a11ecbee18a3303a82a3710e7d063974fd5667750557\nVM150_JSON_19_F1_KEY=logical_id\nVM150_JSON_19_F1_VALUE=vm150\nVM150_JSON_19_F2_KEY=generation\nVM150_JSON_19_F2_VALUE=vm150-pve01-20260824T183626Z\nVM150_JSON_19_F3_KEY=vmid\nVM150_JSON_19_F3_VALUE=150\nVM150_JSON_20_AGE_SECONDS=3670939\nVM150_JSON_20_BASENAME=vm150-pve01-20260823T203609Z.json\nVM150_JSON_20_PATH_SHA256=1ace4425362bd41c0036ec74a7b44aed204f9fae19c99d2bf103d6094276fee0\nVM150_JSON_20_F1_KEY=logical_id\nVM150_JSON_20_F1_VALUE=vm150\nVM150_JSON_20_F2_KEY=generation\nVM150_JSON_20_F2_VALUE=vm150-pve01-20260823T203609Z\nVM150_JSON_20_F3_KEY=vmid\nVM150_JSON_20_F3_VALUE=150\nVM150_JSON_21_AGE_SECONDS=3750155\nVM150_JSON_21_BASENAME=vm150-pve01-20260822T223600Z.json\nVM150_JSON_21_PATH_SHA256=0e224d344921db46ad1703e84f9f786c0fcb5644d6e07968607653f68d4b5289\nVM150_JSON_21_F1_KEY=logical_id\nVM150_JSON_21_F1_VALUE=vm150\nVM150_JSON_21_F2_KEY=generation\nVM150_JSON_21_F2_VALUE=vm150-pve01-20260822T223600Z\nVM150_JSON_21_F3_KEY=vmid\nVM150_JSON_21_F3_VALUE=150\nVM150_JSON_22_AGE_SECONDS=3825521\nVM150_JSON_22_BASENAME=vm150-pve01-20260822T014003Z.json\nVM150_JSON_22_PATH_SHA256=a59e760b246d6efdfe7c4f0a5f260c1f72a76b181e328e7a33f94db520ac60e7\nVM150_JSON_22_F1_KEY=logical_id\nVM150_JSON_22_F1_VALUE=vm150\nVM150_JSON_22_F2_KEY=generation\nVM150_JSON_22_F2_VALUE=vm150-pve01-20260822T014003Z\nVM150_JSON_22_F3_KEY=vmid\nVM150_JSON_22_F3_VALUE=150\nVM150_JSON_23_AGE_SECONDS=3897739\nVM150_JSON_23_BASENAME=vm150-pve01-20260821T053611Z.json\nVM150_JSON_23_PATH_SHA256=077c97c61a88311e7618884aedf6083d639d4e107d9bde7c05aa81b0b4b54361\nVM150_JSON_23_F1_KEY=logical_id\nVM150_JSON_23_F1_VALUE=vm150\nVM150_JSON_23_F2_KEY=generation\nVM150_JSON_23_F2_VALUE=vm150-pve01-20260821T053611Z\nVM150_JSON_23_F3_KEY=vmid\nVM150_JSON_23_F3_VALUE=150\nVM150_JSON_24_AGE_SECONDS=4038514\nVM150_JSON_24_BASENAME=vm150-pve01-20260819T143015Z.json\nVM150_JSON_24_PATH_SHA256=ad0168705fb1abddb563d836544c3cbddb22a1a70703d1812e031bc1fc3d8377\nVM150_JSON_24_F1_KEY=logical_id\nVM150_JSON_24_F1_VALUE=vm150\nVM150_JSON_24_F2_KEY=generation\nVM150_JSON_24_F2_VALUE=vm150-pve01-20260819T143015Z\nVM150_JSON_24_F3_KEY=vmid\nVM150_JSON_24_F3_VALUE=150\nVM150_JSON_25_AGE_SECONDS=4113806\nVM150_JSON_25_BASENAME=vm150-pve01-20260818T173509Z.json\nVM150_JSON_25_PATH_SHA256=be8431499d9e3e6ed265d4cbb2660798a65578653983c6d5ae59e2e3d99165a1\nVM150_JSON_25_F1_KEY=logical_id\nVM150_JSON_25_F1_VALUE=vm150\nVM150_JSON_25_F2_KEY=generation\nVM150_JSON_25_F2_VALUE=vm150-pve01-20260818T173509Z\nVM150_JSON_25_F3_KEY=vmid\nVM150_JSON_25_F3_VALUE=150\nVM150_JSON_26_AGE_SECONDS=4185942\nVM150_JSON_26_BASENAME=vm150-pve01-20260817T213301Z.json\nVM150_JSON_26_PATH_SHA256=f5e671fc0233fb2bbbebc3c8999bb39ad4c4280c1eae1a8dbd4064a3825b16d4\nVM150_JSON_26_F1_KEY=logical_id\nVM150_JSON_26_F1_VALUE=vm150\nVM150_JSON_26_F2_KEY=generation\nVM150_JSON_26_F2_VALUE=vm150-pve01-20260817T213301Z\nVM150_JSON_26_F3_KEY=vmid\nVM150_JSON_26_F3_VALUE=150\nVM150_JSON_27_AGE_SECONDS=4261719\nVM150_JSON_27_BASENAME=vm150-pve01-20260817T003018Z.json\nVM150_JSON_27_PATH_SHA256=05b91e821a277d9ad10d3de52b107eb7e45b97727f57b417255dbef9a60c96da\nVM150_JSON_27_F1_KEY=logical_id\nVM150_JSON_27_F1_VALUE=vm150\nVM150_JSON_27_F2_KEY=generation\nVM150_JSON_27_F2_VALUE=vm150-pve01-20260817T003018Z\nVM150_JSON_27_F3_KEY=vmid\nVM150_JSON_27_F3_VALUE=150\nVM150_JSON_28_AGE_SECONDS=4334544\nVM150_JSON_28_BASENAME=vm150-pve01-20260816T041612Z.json\nVM150_JSON_28_PATH_SHA256=c999b87e71c3d6a336591a17d78ee9259d2b87d658c8ee7343b5b161dfc0e0dc\nVM150_JSON_28_F1_KEY=logical_id\nVM150_JSON_28_F1_VALUE=vm150\nVM150_JSON_28_F2_KEY=generation\nVM150_JSON_28_F2_VALUE=vm150-pve01-20260816T041612Z\nVM150_JSON_28_F3_KEY=vmid\nVM150_JSON_28_F3_VALUE=150\nVM150_JSON_29_AGE_SECONDS=4335638\nVM150_JSON_29_BASENAME=vm150-pve01-20260816T035805Z.json\nVM150_JSON_29_PATH_SHA256=a890d8089e7156e6544500344b99792a1adc142f4c2003489cd91b93fee5f93b\nVM150_JSON_29_F1_KEY=logical_id\nVM150_JSON_29_F1_VALUE=vm150\nVM150_JSON_29_F2_KEY=generation\nVM150_JSON_29_F2_VALUE=vm150-pve01-20260816T035805Z\nVM150_JSON_29_F3_KEY=vmid\nVM150_JSON_29_F3_VALUE=150\nVM150_JSON_30_AGE_SECONDS=4335883\nVM150_JSON_30_BASENAME=vm150-pve01-20260816T035401Z.json\nVM150_JSON_30_PATH_SHA256=bb77462667c0df00e5f6b63a084ab7bd5453bfe251c0011213df5e20c274f319\nVM150_JSON_30_F1_KEY=logical_id\nVM150_JSON_30_F1_VALUE=vm150\nVM150_JSON_30_F2_KEY=generation\nVM150_JSON_30_F2_VALUE=vm150-pve01-20260816T035401Z\nVM150_JSON_30_F3_KEY=vmid\nVM150_JSON_30_F3_VALUE=150\nVM150_JSON_31_AGE_SECONDS=4336166\nVM150_JSON_31_BASENAME=vm150-pve01-20260816T034912Z.json\nVM150_JSON_31_PATH_SHA256=b3889cc734bc9fd89d9c787ab9fc6ed3d284f7fcba42cc9444f928c2846f1232\nVM150_JSON_31_F1_KEY=logical_id\nVM150_JSON_31_F1_VALUE=vm150\nVM150_JSON_31_F2_KEY=generation\nVM150_JSON_31_F2_VALUE=vm150-pve01-20260816T034912Z\nVM150_JSON_31_F3_KEY=vmid\nVM150_JSON_31_F3_VALUE=150\nVM150_JSON_32_AGE_SECONDS=4336430\nVM150_JSON_32_BASENAME=vm150-pve01-20260816T034448Z.json\nVM150_JSON_32_PATH_SHA256=8bc6d14bb54a671b9577d30a4263877504161df7e3f8c0479cdfd6f4a3f10387\nVM150_JSON_32_F1_KEY=logical_id\nVM150_JSON_32_F1_VALUE=vm150\nVM150_JSON_32_F2_KEY=generation\nVM150_JSON_32_F2_VALUE=vm150-pve01-20260816T034448Z\nVM150_JSON_32_F3_KEY=vmid\nVM150_JSON_32_F3_VALUE=150\nVM150_JSON_33_AGE_SECONDS=4340667\nVM150_JSON_33_BASENAME=vm150-pve01-20260816T023420Z.json\nVM150_JSON_33_PATH_SHA256=d1f00a7e0ed610afbc1399c4294fafda59e8e974ed02bf15eb99b60fa22cf3f8\nVM150_JSON_33_F1_KEY=logical_id\nVM150_JSON_33_F1_VALUE=vm150\nVM150_JSON_33_F2_KEY=generation\nVM150_JSON_33_F2_VALUE=vm150-pve01-20260816T023420Z\nVM150_JSON_33_F3_KEY=vmid\nVM150_JSON_33_F3_VALUE=150\nVM150_JSON_34_AGE_SECONDS=4394713\nVM150_JSON_34_BASENAME=vm150-pve01-20260815T111713Z.json\nVM150_JSON_34_PATH_SHA256=e732a39f358d585caa4203dd2256199b6964ef74e87177f5f49628e8fa8879cc\nVM150_JSON_34_F1_KEY=logical_id\nVM150_JSON_34_F1_VALUE=vm150\nVM150_JSON_34_F2_KEY=generation\nVM150_JSON_34_F2_VALUE=vm150-pve01-20260815T111713Z\nVM150_JSON_34_F3_KEY=vmid\nVM150_JSON_34_F3_VALUE=150\nVM150_JSON_35_AGE_SECONDS=4477392\nVM150_JSON_35_BASENAME=vm150-pve01-20260814T121736Z.json\nVM150_JSON_35_PATH_SHA256=7272bce6bcf8e4477af09a3e7123c4a5030350a6f8f3d72411965f1311c32115\nVM150_JSON_35_F1_KEY=logical_id\nVM150_JSON_35_F1_VALUE=vm150\nVM150_JSON_35_F2_KEY=generation\nVM150_JSON_35_F2_VALUE=vm150-pve01-20260814T121736Z\nVM150_JSON_35_F3_KEY=vmid\nVM150_JSON_35_F3_VALUE=150\nVM150_JSON_36_AGE_SECONDS=4552798\nVM150_JSON_36_BASENAME=vm150-pve01-20260813T152038Z.json\nVM150_JSON_36_PATH_SHA256=44f2627474401a034812b4d0052488fd067081169a4e94f4a085df8974119b33\nVM150_JSON_36_F1_KEY=logical_id\nVM150_JSON_36_F1_VALUE=vm150\nVM150_JSON_36_F2_KEY=generation\nVM150_JSON_36_F2_VALUE=vm150-pve01-20260813T152038Z\nVM150_JSON_36_F3_KEY=vmid\nVM150_JSON_36_F3_VALUE=150\nVM150_JSON_37_AGE_SECONDS=4628855\nVM150_JSON_37_BASENAME=vm150-pve01-20260812T181406Z.json\nVM150_JSON_37_PATH_SHA256=1173dd1b284a9eeedfffcd57b082efecd96800cf045d2167f7825491f0b86be7\nVM150_JSON_37_F1_KEY=logical_id\nVM150_JSON_37_F1_VALUE=vm150\nVM150_JSON_37_F2_KEY=generation\nVM150_JSON_37_F2_VALUE=vm150-pve01-20260812T181406Z\nVM150_JSON_37_F3_KEY=vmid\nVM150_JSON_37_F3_VALUE=150\nVM150_JSON_38_AGE_SECONDS=4708354\nVM150_JSON_38_BASENAME=vm150-pve01-20260811T200935Z.json\nVM150_JSON_38_PATH_SHA256=c8792c8e65b8cf67130f31d9db218218c90258adf6c1e0a501b7cbf46027b488\nVM150_JSON_38_F1_KEY=logical_id\nVM150_JSON_38_F1_VALUE=vm150\nVM150_JSON_38_F2_KEY=generation\nVM150_JSON_38_F2_VALUE=vm150-pve01-20260811T200935Z\nVM150_JSON_38_F3_KEY=vmid\nVM150_JSON_38_F3_VALUE=150\nVM150_JSON_39_AGE_SECONDS=4774679\nVM150_JSON_39_BASENAME=vm150-pve01-20260810T070246Z.json\nVM150_JSON_39_PATH_SHA256=15041f808fbe152e622c00acd757fc6be160a677e4055184b749372022c9d2b9\nVM150_JSON_39_F1_KEY=logical_id\nVM150_JSON_39_F1_VALUE=vm150\nVM150_JSON_39_F2_KEY=generation\nVM150_JSON_39_F2_VALUE=vm150-pve01-20260810T070246Z\nVM150_JSON_39_F3_KEY=vmid\nVM150_JSON_39_F3_VALUE=150\nROT_IMPORTABLE_AST=true\nROT_UNGUARDED_TOPLEVEL_COUNT=0\nROT_UNGUARDED_TOPLEVEL_TYPES=\nACTIVE_IMAGE_STORAGE_COUNT=1\nIMAGE_STORAGE_1_TYPE=lvmthin\nIMAGE_STORAGE_1_AVAIL_RAW=740575989\nTEMP_VMID_CANDIDATE_PRESENT=true\nTEMP_VMID_CANDIDATE=98150\nTEMP_RANGE_OCCUPIED_COUNT=0\nPUBLIC_DNS_OK_COUNT=3\nPUBLIC_HTTPS_OK_COUNT=3\nRESTORE_GATE_RCA_COMPLETE=true\nDECISION=ANALYZE_EXACT_99589_GATE_AND_TARGETED_PATH\nNEXT_GATE=SNIKKET_VM150_TARGETED_ISOLATED_RESTORE_PROOF\nTASK_RESULT=SNIKKET_VM150_RESTORE_GATE_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\n" +} diff --git a/runtime/latest.txt b/runtime/latest.txt index 9a7cf2f3..51533a9d 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,161 +1,496 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z +COMMAND_ID=SUPPORT-261005-SNIKKET-VM150-RESTORE-GATE-RCA-99589R1 STATUS=OK RC=0 HOST=pve01 -COMPONENT=cluster-context -REFERENCE_SHA[PRIVATE_IP]e5154c41cb[PRIVATE_IP]aca68090be[PRIVATE_IP]bf[PRIVATE_IP]df[PRIVATE_IP] -ERROR_REGISTER_SHA[PRIVATE_IP]ec0f527ed3afeed[PRIVATE_IP]ee[PRIVATE_IP]bbfb[PRIVATE_IP]af4ba7ba0 +MODE=read-only +COMPONENT=snikket-vm150-restore-gate-rca +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=31e84ea34955ab363272f385e4a1228748a665fa590a614dd1da926872399687 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8 +SANITIZED_OUTPUT_SHA256=5dadc340197c69f09395c0f5c1d99c38f84908c774feb7883afe39c68217bde8 OUTPUT_BEGIN -GENERATED_AT_UTC=[PRIVATE_IP]T08:17:01Z -Cluster information -------------------- -Name: homelab -Config Version: 3 -Transport: knet -Secure auth: on +SNIKKET_VM150_RESTORE_GATE_RCA=V1 +MODE=read-only +NO_VM_MUTATION=true +NO_BACKUP_MUTATION=true +NO_REMOTE_MUTATION=true +NO_SOURCE_MUTATION=true +NO_MONITOR_MUTATION=true +NO_DNS_MUTATION=true +HOST_PVE01=true +INGRESS_HOSTKEY_SELF_BOUND=true +VM150_QGA_PING=true +VM150_RUNNING=true +ROTATING_DRILL_PRESENT=true +BACKUP_AUDIT_PRESENT=true +BACKUP_V2_PRESENT=true +AUDIT_JSON_FILE_COUNT=3 +AUDIT_1_BASENAME=backup-audit-v2.json +AUDIT_1_PATH_SHA256=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7 +AUDIT_1_AGE_SECONDS=503 +AUDIT_1_DR_FIELD_COUNT=1 +AUDIT_1_DR_1_KEY=cloud_b_restore_drill +AUDIT_1_DR_1_VALUE=true +AUDIT_2_BASENAME=backup-audit.json +AUDIT_2_PATH_SHA256=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d +AUDIT_2_AGE_SECONDS=503 +AUDIT_2_DR_FIELD_COUNT=1 +AUDIT_2_DR_1_KEY=cloud_b_restore_drill +AUDIT_2_DR_1_VALUE=true +AUDIT_3_BASENAME=backup-unified-audit.json +AUDIT_3_PATH_SHA256=29e7e980321f753c1e597b92851a5e8ae494157b0ef684f5afc12b820bece45a +AUDIT_3_AGE_SECONDS=1223061 +AUDIT_3_DR_FIELD_COUNT=5 +AUDIT_3_DR_1_KEY=dr_proof_status +AUDIT_3_DR_1_VALUE=PROVEN +AUDIT_3_DR_2_KEY=escrow_status +AUDIT_3_DR_2_VALUE=OK +AUDIT_3_DR_3_KEY=clean_machine_bootstrap_proven +AUDIT_3_DR_3_VALUE=true +AUDIT_3_DR_4_KEY=qemu_boot_restore_proven +AUDIT_3_DR_4_VALUE=true +AUDIT_3_DR_5_KEY=ct_boot_restore_proven +AUDIT_3_DR_5_VALUE=true +ROT_CURRENT_AUDIT_GATE_FOUND=true +ROT_CURRENT_AUDIT_GATE_B64=MjU3OiAgICAgICAgICAgIHMuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBzLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUpOgoyNTg6ICAgICAgICBkaWUoIkVTQ1JPV19QUk9PRl9TRUFMX0NPTlRFTlRfSU5WQUxJRCIsNjYpCjI1OTogICAgcHJvb2ZfYXQ9cGFyc2VfdXRjKHMuZ2V0KCJzZWFsZWRfYXRfdXRjIikpCjI2MDogICAgYWdlPShub3dfdXRjKCktcHJvb2ZfYXQpLnRvdGFsX3NlY29uZHMoKQoyNjE6ICAgIGlmIGFnZTwwOiBkaWUoIkVTQ1JPV19QUk9PRl9GVVRVUkUiLDY2KQoyNjI6ICAgIGFnZV9kYXlzPWFnZS84NjQwMC4wCjI2MzogICAgaWYgYWdlX2RheXM+ZmxvYXQocFsiZXNjcm93X3NlbWFudGljX3Byb29mX21heF9hZ2VfZGF5cyJdKTogZGllKCJFU0NST1dfU0VNQU5USUNfUFJPT0ZfU1RBTEUiLDc1KQoyNjQ6ICAgIGE9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJhdWRpdF9wYXRoIl0pKQoyNjU6ICAgIGlmIG5vdCAoYS5nZXQoImF1ZGl0X3N0YXR1cyIpPT0iT0siIGFuZCBhLmdldCgiYmFja3VwX3N0YXR1cyIpPT0iR1JFRU4iIGFuZAoyNjY6ICAgICAgICAgICAgYS5nZXQoImRyX3JlYWRpbmVzcyIpPT0iUFJPVkVOIiBhbmQgYS5nZXQoImRyX3Byb29mX3N0YXR1cyIpPT0iUFJPVkVOIiBhbmQKMjY3OiAgICAgICAgICAgIGEuZ2V0KCJlc2Nyb3dfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJxZW11X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZAoyNjg6ICAgICAgICAgICAgYS5nZXQoImN0X2Jvb3RfcmVzdG9yZV9wcm92ZW4iKSBpcyBUcnVlIGFuZCBhLmdldCgiZnVsbF9zaXRlX2RyX3Byb3ZlbiIpIGlzIFRydWUpOgoyNjk6ICAgICAgICBkaWUoIkNVUlJFTlRfQkFDS1VQX0FVRElUX05PVF9EUl9SRUFEWSIsNzUpCjI3MDogICAgcmV0dXJuIHsiY2lwaGVydGV4dF9zaGFfdmVyaWZpZWQiOlRydWUsInNlbWFudGljX3Byb29mX3NlYWxfc2hhX3ZlcmlmaWVkIjpUcnVlLAoyNzE6ICAgICAgICAgICAgInNlbWFudGljX3Byb29mX2F0X3V0YyI6c1sic2VhbGVkX2F0X3V0YyJdLCJzZW1hbnRpY19wcm9vZl9hZ2VfZGF5cyI6cm91bmQoYWdlX2RheXMsNCksCjI3MjogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIjpwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0sCjI3MzogICAgICAgICAgICAicGh5c2ljYWxfZXNjcm93X2NvcGllcyI6IjJfVVNFUl9BVFRFU1RFRCIsInBoeXNpY2FsX2VzY3Jvd19tZWRpYV9yZWFkX3Byb3ZlbiI6RmFsc2V9CjI3NDoKMjc1OmRlZiByZWdpc3RyeShwKToKMjc2OiAgICByPXJlYWRfanNvbihwYXRobGliLlBhdGgocFsicmVnaXN0cnlfcGF0aCJdKSkKMjc3OiAgICBpZiByLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJhY2t1cC10YXJnZXQtcmVnaXN0cnktdjEiOiBkaWUoIlJFR0lTVFJZX0lOVkFMSUQiLDY2KQoyNzg6ICAgIG91dD17fQoyNzk6ICAgIGZvciB4IGluIHIuZ2V0KCJ0YXJnZXRzIixbXSk6CjI4MDogICAgICAgIGlmIHguZ2V0KCJraW5kIik9PSJWTSIgYW5kIHguZ2V0KCJsaWZlY3ljbGUiKT09IkFDVElWRSI6CjI4MTogICAgICAgICAgICB2bWlkPXN0cih4LmdldCgiaWQiLCIiKSkKMjgyOiAgICAgICAgICAgIG93bmVyPXguZ2V0KCJvd25lciIpCjI4MzogICAgICAgICAgICBpZiBub3Qgdm1pZC5pc2RpZ2l0KCkgb3Igb3duZXIgbm90IGluICgicHZlMDEiLCJwdmUwMiIsInB2ZTAzIikgb3Igdm1pZCBpbiBvdXQ6IGRpZSgiUkVHSVNUUllfVk1fSU5WQUxJRCIsNjYpCjI4NDogICAgICAgICAgICBvdXRbdm1pZF09eyJsb2dpY2FsX2lkIjp4LmdldCgibG9naWNhbF9pZCIpLCJvd25lciI6b3duZXJ9CjI4NTogICAgcmVxdWlyZWQ9c2V0KHBbInFlbXVfcm90YXRpb24iXStwWyJseGNfcm90YXRpb24iXStsaXN0KHAuZ2V0KCJxZW11X2V4Y2x1ZGVkIix7fSkpKQoyODY6ICAgIGlmIG5vdCByZXF1aXJlZC5pc3N1YnNldChvdXQpOiBkaWUoIlJFR0lTVFJZX1JPVEFUSU9OX1RBUkdFVF9NSVNTSU5HIiw2NikKMjg3OiAgICByZXR1cm4gb3V0CjI4ODoKMjg5OmRlZiBvd25lcl9ob3N0KG93bmVyKToKMjkwOiAgICByZXR1cm4geyJwdmUwMiI6InJvb3RAW1BSSVZBVEVfSVBdIiwicHZlMDMiOiJyb290QFtQUklWQVRFX0lQXSJ9LmdldChvd25lcikKMjkxOgoyOTI6ZGVmIHNzaF9iYXNlKHdpdGhfc3RkaW49RmFsc2UpOgoyOTM6ICAgIGJhc2U9W1NTSF0KMjk0OiAgICBpZiBub3Qgd2l0aF9zdGRpbjogYmFzZS5hcHBlbmQoIi1uIikKMjk1OiAgICByZXR1cm4gYmFzZStbIi1vIiwiQmF0Y2hNb2RlPXllcyIsIi1vIiwiQ29ubmVjdFRpbWVvdXQ9MTUiLCItbyIsIlN0cmljdEhvc3RLZXlDaGVja2luZz15ZXMiLCItbyIsIlVzZXJLbm93bkhvc3RzRmlsZT0vcm9vdC8uc3NoL2tub3duX2hvc3RzIl0KMjk2OgoyOTc6ZGVmIG5vZGVfcnVuKG93bmVyLGFyZ3YsY2hlY2s9VHJ1ZSx0aW1lb3V0PU5vbmUsaW5wdXRfYnl0ZXM9Tm9uZSk6CjI5ODogICAgaWYgb3duZXI9PSJwdmUwMSI6CjI5OTogICAgICAgIHJldHVybiBydW4oYXJndixjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDA6ICAgIGhvc3Q9b3duZXJfaG9zdChvd25lcikKMzAxOiAgICBpZiBob3N0IGlzIE5vbmU6IGRpZSgiT1dORVJfSU5WQUxJRCIsNjQpCjMwMjogICAgY21kPXNzaF9iYXNlKHdpdGhfc3RkaW49aW5wdXRfYnl0ZXMgaXMgbm90IE5vbmUpK1tob3N0XStbc3RyKHgpIGZvciB4IGluIGFyZ3ZdCjMwMzogICAgcmV0dXJuIHJ1bihjbWQsY2hlY2s9Y2hlY2ssY2FwdHVyZT1UcnVlLHRpbWVvdXQ9dGltZW91dCxpbnB1dF9ieXRlcz1pbnB1dF9ieXRlcykKMzA0OgozMDU6ZGVmIGV4cG9ydF9zdGF0ZShwLHJlZyx2bWlkLHN0YXRlX2V4cG9ydGVyPVNUQVRFX0VYUE9SVEVSKToKMzA2OiAgICBpdGVtPXJlZ1t2bWlkXTsgbG9naWNhbD1pdGVtWyJsb2dpY2FsX2lkIl07IG93bmVyPWl0ZW1bIm93bmVyIl0KMzA3OiAgICBpZiBsb2dpY2FsIT1mInZte3ZtaWR9IjogZGllKCJSRUdJU1RSWV9MT0dJQ0FMX0lOVkFMSURfIit2bWlkLDY2KQozMDg6ICAgIGFzc2VydF9yZWd1bGFyX3Jvb3QocGF0aGxpYi5QYXRoKHN0YXRlX2V4cG9ydGVyKSkKMzA5OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMzEwOiAgICAgICAgcHI9cnVuKFtQWVRIT04sIi1CIixzdGF0ZV9leHBvcnRlcix2bWlkLGxvZ2ljYWxdLHRpbWVvdXQ9MzApCjMxMTogICAgZWxzZToKMzEyOiAgICAgICAgZGF0YT1wYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpLnJlYWRfYnl0ZXMoKQozMTM6ICAgICAgICBwcj1ub2RlX3J1bihvd25lcixbUFlUSE9OLCItQiIsIi0iLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCxpbnB1dF9ieXRlcz1kYXRhKQ== +ROT_PRECHECK_DEF_FOUND=true +ROT_PRECHECK_DEF_B64=NDE2OiAgICBkaWUoIkxPQ0FMX0xWTV9NSVNTSU5HIiw2NikKNDE3Ogo0MTg6ZGVmIGNhcGFjaXR5X2NoZWNrKHAscmVzb3VyY2VzLHEsbCxxaW5mbyxsaW5mbyk6CjQxOTogICAgZnJlZT1zaHV0aWwuZGlza191c2FnZShwWyJzdGFnZV9yb290Il0pLmZyZWUgaWYgcGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkuZXhpc3RzKCkgZWxzZSBzaHV0aWwuZGlza191c2FnZSgiL21udC9zdGFnaW5nIikuZnJlZQo0MjA6ICAgIG5lZWRfc3RhZ2U9cWluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdK2xpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXStwWyJtaW5pbXVtX3N0YWdlX2hlYWRyb29tX2J5dGVzIl0KNDIxOiAgICBpZiBmcmVlPG5lZWRfc3RhZ2U6IGRpZSgiU1RBR0VfQ0FQQUNJVFlfSU5TVUZGSUNJRU5UIiw3NSkKNDIyOiAgICBxbWF4PWludChyZXNvdXJjZXMuZ2V0KHEse30pLmdldCgibWF4ZGlzayIpIG9yIDApOyBsbWF4PWludChyZXNvdXJjZXMuZ2V0KGwse30pLmdldCgibWF4ZGlzayIpIG9yIDApCjQyMzogICAgaWYgcW1heDw9MCBvciBsbWF4PD0wOiBkaWUoIkNMVVNURVJfTUFYRElTS19JTlZBTElEIiw2NikKNDI0OiAgICBsdm09cHZlc21fYXZhaWxhYmxlX2J5dGVzKCkKNDI1OiAgICBpZiBsdm0gPCBxbWF4K2xtYXgrcFsibWluaW11bV9zdG9yYWdlX2hlYWRyb29tX2J5dGVzIl06IGRpZSgiTE9DQUxfTFZNX0NBUEFDSVRZX0lOU1VGRklDSUVOVCIsNzUpCjQyNjogICAgcmV0dXJuIHsic3RhZ2VfZnJlZV9ieXRlcyI6ZnJlZSwic3RhZ2VfcmVxdWlyZWRfYnl0ZXMiOm5lZWRfc3RhZ2UsImxvY2FsX2x2bV9hdmFpbGFibGVfYnl0ZXMiOmx2bSwic2VsZWN0ZWRfbWF4ZGlza19ieXRlcyI6cW1heCtsbWF4fQo0Mjc6CjQyODpkZWYgcHJlY2hlY2socCxzdGF0ZV9leHBvcnRlcj1TVEFURV9FWFBPUlRFUixtb2RlPSJpbml0aWFsIik6CjQyOTogICAgZXNjPXZlcmlmeV9lc2Nyb3cocCk7IHJlZz1yZWdpc3RyeShwKTsgc3RhdGU9bG9hZF9zdGF0ZV9kZWZhdWx0KCkKNDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQ== +ROT_EXECUTE_DEF_FOUND=true +ROT_EXECUTE_DEF_B64=NjczOiAgICAgICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGVbInNlcXVlbmNlIl0lbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjY3NDogICAgICAgIGNhcGFjaXR5X2NoZWNrKHAsY2x1c3Rlcl9yZXNvdXJjZXMoKSxxLGwscWluZm8sbGluZm8pCjY3NTogICAgICAgIHJ1bl9pZD1ub3dfdXRjKCkuc3RyZnRpbWUoIiVZJW0lZFQlSCVNJVNaIikrIi1wcm9iZS0iK3N0cihvcy5nZXRwaWQoKSkKNjc2OiAgICAgICAgc3RhZ2U9cGF0aGxpYi5QYXRoKHBbInN0YWdlX3Jvb3QiXSkvcnVuX2lkCjY3NzogICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo2Nzg6ICAgICAgICB0cnk6CjY3OTogICAgICAgICAgICBxYT1mZXRjaF9hcmNoaXZlKHFpbmZvLHBhaXJbInFlbXUiXSxzdGFnZSkKNjgwOiAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjY4MTogICAgICAgICAgICBwcmludChmIkJPT1RfRFJJTExfQVJDSElWRV9QUk9CRT1PS3xxZW11PXtxfXxxZW11X2Nsb3VkPXtwYWlyWydxZW11J119fHFlbXVfbmFtZT17cWEubmFtZX18bHhjPXtsfXxseGNfY2xvdWQ9e3BhaXJbJ2x4YyddfXxseGNfbmFtZT17bGEubmFtZX18YXJjaGl2ZV9pbnRlZ3JpdHk9U0hBX0FORF9aU1REX1BST1ZFTnxjbG91ZF93cml0ZXM9Tk8iKQo2ODI6ICAgICAgICBmaW5hbGx5Ogo2ODM6ICAgICAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY4NDoKNjg1OmRlZiBleGVjdXRlKG1vZGUscCk6CjY4NjogICAgaWYgQUNUSVZFX1BBVEguZXhpc3RzKCk6IGRpZSgiQUNUSVZFX01BUktFUl9QUkVTRU5UIiw3NSkKNjg3OiAgICBzdGF0ZT1sb2FkX3N0YXRlX2RlZmF1bHQoKQo2ODg6ICAgIHdhaXQ9aW50KHBbImluaXRpYWxfbG9ja193YWl0X3NlY29uZHMiXSBpZiBtb2RlPT0iaW5pdGlhbCIgZWxzZSBwWyJzY2hlZHVsZWRfbG9ja193YWl0X3NlY29uZHMiXSkKNjg5OiAgICB0cnk6CjY5MDogICAgICAgIHdpdGggTG9ja3Mod2FpdCk6CjY5MTogICAgICAgICAgICBlc2M9dmVyaWZ5X2VzY3JvdyhwKTsgcmVnPXJlZ2lzdHJ5KHApCjY5MjogICAgICAgICAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo2OTM6ICAgICAgICAgICAgcWluZm89ZXhwb3J0X3N0YXRlKHAscmVnLHEpOyBsaW5mbz1leHBvcnRfc3RhdGUocCxyZWcsbCkKNjk0OiAgICAgICAgICAgIHBhaXI9cFsiY2xvdWRfcGFpcl9zZXF1ZW5jZSJdW3N0YXRlWyJzZXF1ZW5jZSJdJWxlbihwWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl0pXQo2OTU6ICAgICAgICAgICAgY2FwYWNpdHlfY2hlY2socCxjbHVzdGVyX3Jlc291cmNlcygpLHEsbCxxaW5mbyxsaW5mbykKNjk2OiAgICAgICAgICAgIHJlc291cmNlcz1jbHVzdGVyX3Jlc291cmNlcygpCjY5NzogICAgICAgICAgICBxaWQ9cGlja19mcmVlKHJlc291cmNlcyxwWyJxZW11X3RlbXBfaWRfbWluIl0scFsicWVtdV90ZW1wX2lkX21heCJdKQo2OTg6ICAgICAgICAgICAgcmVzb3VyY2VzW3N0cihxaWQpXT17InJlc2VydmVkIjpUcnVlfQo2OTk6ICAgICAgICAgICAgbGlkPXBpY2tfZnJlZShyZXNvdXJjZXMscFsibHhjX3RlbXBfaWRfbWluIl0scFsibHhjX3RlbXBfaWRfbWF4Il0pCjcwMDogICAgICAgICAgICBydW5faWQ9bm93X3V0YygpLnN0cmZ0aW1lKCIlWSVtJWRUJUglTSVTWiIpKyItIitzdHIob3MuZ2V0cGlkKCkpCjcwMTogICAgICAgICAgICBzdGFnZT1wYXRobGliLlBhdGgocFsic3RhZ2Vfcm9vdCJdKS9ydW5faWQKNzAyOiAgICAgICAgICAgIHN0YWdlLm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1GYWxzZSk7IG9zLmNobW9kKHN0YWdlLDBvNzAwKQo3MDM6ICAgICAgICAgICAgd3JpdGVfYWN0aXZlKHJ1bl9pZCxxaWQsbGlkKQo3MDQ6ICAgICAgICAgICAgYmVmb3JlPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNzA1OiAgICAgICAgICAgIHByaW1hcnlfZXJyb3I9Tm9uZQo3MDY6ICAgICAgICAgICAgdHJ5Ogo3MDc6ICAgICAgICAgICAgICAgIHFhPWZldGNoX2FyY2hpdmUocWluZm8scGFpclsicWVtdSJdLHN0YWdlKQo3MDg6ICAgICAgICAgICAgICAgIGxhPWZldGNoX2FyY2hpdmUobGluZm8scGFpclsibHhjIl0sc3RhZ2UpCjcwOTogICAgICAgICAgICAgICAgcXByb29mPXFlbXVfYm9vdChxYSxxaWQsaW50KHBbImd1ZXN0X2FnZW50X3dhaXRfc2Vjb25kcyJdKSxydW5faWQpCjcxMDogICAgICAgICAgICAgICAgaWYgbm90IGNsZWFudXBfb25lKCJxZW11IixxaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJRRU1VX0NMRUFOVVBfRkFJTEVEIiw3MCkKNzExOiAgICAgICAgICAgICAgICBscHJvb2Y9bHhjX2Jvb3QobGEsbGlkLGludChwWyJseGNfZXhlY193YWl0X3NlY29uZHMiXSkscnVuX2lkKQo3MTI6ICAgICAgICAgICAgICAgIGlmIG5vdCBjbGVhbnVwX29uZSgibHhjIixsaWQscmVhZF9qc29uKEFDVElWRV9QQVRIKVsiY3JlYXRlZF9hdF9lcG9jaCJdKTogZGllKCJMWENfQ0xFQU5VUF9GQUlMRUQiLDcwKQo3MTM6ICAgICAgICAgICAgICAgIGFmdGVyPWNsdXN0ZXJfd2l0aG91dF90ZW1wKHFpZCxsaWQsMzApCjcxNDogICAgICAgICAgICAgICAgZm9yIHNyYyBpbiAocSxsKToKNzE1OiAgICAgICAgICAgICAgICAgICAgaWYgYmVmb3JlLmdldChzcmMse30pLmdldCgic3RhdHVzIikhPWFmdGVyLmdldChzcmMse30pLmdldCgic3RhdHVzIikgb3IgYmVmb3JlLmdldChzcmMse30pLmdldCgibm9kZSIpIT1hZnRlci5nZXQoc3JjLHt9KS5nZXQoIm5vZGUiKToKNzE2OiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSgiUFJPRFVDVElPTl9HVUVTVF9TVEFURV9DSEFOR0VEXyIrc3JjLDcwKQo3MTc6ICAgICAgICAgICAgICAgIGV2aWRlbmNlPXsKNzE4OiAgICAgICAgICAgICAgICAgICJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtZXZpZGVuY2UtdjEiLCJyZXN1bHQiOiJPSyIsInJ1bl9pZCI6cnVuX2lkLAo3MTk6ICAgICAgICAgICAgICAgICAgInNlcXVlbmNlIjpzdGF0ZVsic2VxdWVuY2UiXSsxLCJjb21wbGV0ZWRfYXRfdXRjIjppc29fbm93KCksCjcyMDogICAgICAgICAgICAgICAgICAiZXNjcm93Ijplc2MsCjcyMTogICAgICAgICAgICAgICAgICAicWVtdSI6eyJzb3VyY2Vfdm1pZCI6cSwib3duZXIiOnJlZ1txXVsib3duZXIiXSwiZ2VuZXJhdGlvbiI6cWluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjpxaW5mb1sicGF5bG9hZF9uYW1lIl0sCjcyMjogICAgICAgICAgICAgICAgICAgICAgICAgICJhcmNoaXZlX3NoYTI1NiI6cWluZm9bImFyY2hpdmVfc2hhMjU2Il0sImNsb3VkX3NvdXJjZSI6cGFpclsicWVtdSJdLCJ0ZW1wX3ZtaWQiOnFpZCwKNzIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb3RfcHJvb2YiOnFwcm9vZiwibmV0d29ya19yZW1vdmVkX2JlZm9yZV9ib290IjpUcnVlLCJjbGVhbnVwX3Byb3ZlbiI6VHJ1ZX0sCjcyNDogICAgICAgICAgICAgICAgICAibHhjIjp7InNvdXJjZV92bWlkIjpsLCJvd25lciI6cmVnW2xdWyJvd25lciJdLCJnZW5lcmF0aW9uIjpsaW5mb1siZ2VuZXJhdGlvbiJdLCJhcmNoaXZlX25hbWUiOmxpbmZvWyJwYXlsb2FkX25hbWUiXSwKNzI1OiAgICAgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZV9zaGEyNTYiOmxpbmZvWyJhcmNoaXZlX3NoYTI1NiJdLCJjbG91ZF9zb3VyY2UiOnBhaXJbImx4YyJdLCJ0ZW1wX3ZtaWQiOmxpZCwKNzI2OiAgICAgICAgICAgICAgICAgICAgICAgICAiYm9vdF9wcm9vZiI6bHByb29mLCJuZXR3b3JrX3JlbW92ZWRfYmVmb3JlX2Jvb3QiOlRydWUsImNsZWFudXBfcHJvdmVuIjpUcnVlfSwKNzI3OiAgICAgICAgICAgICAgICAgICJxZW11X3NraXBwZWRfaW5lbGlnaWJsZSI6c2tpcHBlZCwiY2xvdWRfd3JpdGVzIjpGYWxzZSwiY2xvdWRfZGVsZXRlcyI6RmFsc2UsCjcyODogICAgICAgICAgICAgICAgICAicHJvZHVjdGlvbl9ndWVzdF9zdGF0ZV91bmNoYW5nZWQiOlRydWUsInRlbXBvcmFyeV9ndWVzdF9yZXNpZHVlIjpGYWxzZQo3Mjk6ICAgICAgICAgICAgICAgIH0= +ROT_FETCH_ARCHIVE_DEF_FOUND=true +ROT_FETCH_ARCHIVE_DEF_B64=NTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLgo1ODc6ICAgIHJ1bihbWlNURCwiLXQiLG91dF0sdGltZW91dD0zMDApCjU4ODogICAgcmV0dXJuIG91dAo1ODk6CjU5MDpkZWYgcWVtdV9pc29sYXRlKHRlbXBpZCxydW5faWQpOgo1OTE6ICAgIHR4dD1ydW5fdGV4dChbUU0sImNvbmZpZyIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MzApCjU5MjogICAgaWYgcmUuc2VhcmNoKHIiKD9tKV5hcmdzOiIsdHh0KTogZGllKCJRRU1VX1VOU0FGRV9BUkdTX1BSRVNFTlQiLDcwKQo1OTM6ICAgIGtleXM9W10KNTk0OiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo1OTU6ICAgICAgICBrPWxpbmUuc3BsaXQoIjoiLDEpWzBdCjU5NjogICAgICAgIGlmIHJlLmZ1bGxtYXRjaChyIm5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldKyIsaykgb3IgayBpbiAoImhvb2tzY3JpcHQiLCJzdGFydHVwIik6CjU5NzogICAgICAgICAgICBrZXlzLmFwcGVuZChrKQo1OTg6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1FNLCJzZXQiLHN0cih0ZW1waWQpLCItLWRlbGV0ZSIsa10sdGltZW91dD0zMCkKNTk5OiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1vbmJvb3QiLCIwIl0sdGltZW91dD0zMCkKNjAwOiAgICBydW5fdHR5KFtRTSwic2V0IixzdHIodGVtcGlkKSwiLS1hZ2VudCIsImVuYWJsZWQ9MSJdLHRpbWVvdXQ9MzApCjYwMTogICAgcnVuX3R0eShbUU0sInNldCIsc3RyKHRlbXBpZCksIi0tbmFtZSIsZiJob21lbGFiLWRyaWxsLXF7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYwMjogICAgYWZ0ZXI9cnVuX3RleHQoW1FNLCJjb25maWciLHN0cih0ZW1waWQpXSx0aW1lb3V0PTMwKQo2MDM6ICAgIGlmIHJlLnNlYXJjaChyIig/bSleKG5ldFswLTldK3xob3N0cGNpWzAtOV0rfHVzYlswLTldK3xob29rc2NyaXB0fGFyZ3MpOiIsYWZ0ZXIpOiBkaWUoIlFFTVVfSVNPTEFUSU9OX0ZBSUxFRCIsNzApCjYwNDoKNjA1OmRlZiBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKToKNjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCk= +ROT_QEMU_BOOT_DEF_FOUND=true +ROT_QEMU_BOOT_DEF_B64=NjA2OiAgICB0eHQ9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjA3OiAgICBpZiByZS5zZWFyY2gociIoP20pXihtcFswLTldK3xseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spIix0eHQpOiBkaWUoIkxYQ19VTlNBRkVfTU9VTlRfT1JfSE9PS19QUkVTRU5UIiw3MCkKNjA4OiAgICBrZXlzPVtdCjYwOTogICAgZm9yIGxpbmUgaW4gdHh0LnNwbGl0bGluZXMoKToKNjEwOiAgICAgICAgaz1saW5lLnNwbGl0KCI6IiwxKVswXQo2MTE6ICAgICAgICBpZiByZS5mdWxsbWF0Y2gociJuZXRbMC05XSsiLGspIG9yIGsgaW4gKCJob29rc2NyaXB0Iiwic3RhcnR1cCIpOiBrZXlzLmFwcGVuZChrKQo2MTI6ICAgIGZvciBrIGluIGtleXM6IHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1kZWxldGUiLGtdLHRpbWVvdXQ9MzApCjYxMzogICAgcnVuX3R0eShbUENULCJzZXQiLHN0cih0ZW1waWQpLCItLW9uYm9vdCIsIjAiXSx0aW1lb3V0PTMwKQo2MTQ6ICAgIHJ1bl90dHkoW1BDVCwic2V0IixzdHIodGVtcGlkKSwiLS1ob3N0bmFtZSIsZiJob21lbGFiLWRyaWxsLWx7cnVuX2lkWy0xMDpdfSJdLHRpbWVvdXQ9MzApCjYxNTogICAgYWZ0ZXI9cnVuX3RleHQoW1BDVCwiY29uZmlnIixzdHIodGVtcGlkKV0sdGltZW91dD0zMCkKNjE2OiAgICBpZiByZS5zZWFyY2gociIoP20pXihuZXRbMC05XSt8aG9va3NjcmlwdHxseGNcLm1vdW50XC5lbnRyeXxseGNcLmhvb2spOiIsYWZ0ZXIpOiBkaWUoIkxYQ19JU09MQVRJT05fRkFJTEVEIiw3MCkKNjE3Ogo2MTg6ZGVmIHFlbXVfYm9vdChhcmNoaXZlLHRlbXBpZCx3YWl0X3NlYyxydW5faWQpOgo2MTk6ICAgIHByPXJ1bl90dHkoW1FNUkVTVE9SRSxhcmNoaXZlLHN0cih0ZW1waWQpLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iLCItLXVuaXF1ZSIsIjEiXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDApCjYyMDogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjIxOiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjIyOiAgICAgICAgcHJpbnQoZiJRTVJFU1RPUkVfRVJST1J8dm1pZD17dGVtcGlkfXxyYz17cHIucmV0dXJuY29kZX18c3RkZXJyX3NoYTI1Nj17aGFzaGxpYi5zaGEyNTYoZXJyKS5oZXhkaWdlc3QoKX18c3RkZXJyX2J5dGVzPXtsZW4oZXJyKX0iLGZpbGU9c3lzLnN0ZGVycikKNjIzOiAgICAgICAgZGllKCJRTVJFU1RPUkVfRkFJTEVEXyIrc3RyKHByLnJldHVybmNvZGUpLDcwKQo2MjQ6ICAgIHFlbXVfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2MjU6ICAgIHJ1bl90dHkoW1FNLCJzdGFydCIsc3RyKHRlbXBpZCldLHRpbWVvdXQ9MTIwKQo2MjY6ICAgIGRlYWRsaW5lPXRpbWUudGltZSgpK3dhaXRfc2VjCjYyNzogICAgd2hpbGUgdGltZS50aW1lKCk8ZGVhZGxpbmU6CjYyODogICAgICAgIGlmIHJ1bihbUU0sImd1ZXN0IiwiY21kIixzdHIodGVtcGlkKSwicGluZyJdLGNoZWNrPUZhbHNlLHRpbWVvdXQ9MTUpLnJldHVybmNvZGU9PTA6CjYyOTogICAgICAgICAgICByZXR1cm4gIkdVRVNUX0FHRU5UX1JFU1BPTkRFRCIKNjMwOiAgICAgICAgdGltZS5zbGVlcCgxMCkKNjMxOiAgICBkaWUoIlFFTVVfR1VFU1RfQUdFTlRfQk9PVF9USU1FT1VUIiw3MCkKNjMyOgo2MzM6ZGVmIGx4Y19ib290KGFyY2hpdmUsdGVtcGlkLHdhaXRfc2VjLHJ1bl9pZCk6CjYzNDogICAgcHI9cnVuX3R0eShbUENULCJyZXN0b3JlIixzdHIodGVtcGlkKSxhcmNoaXZlLCItLXN0b3JhZ2UiLCJsb2NhbC1sdm0iXSxjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MDAsdW1hc2tfdmFsdWU9MG8wMjIpCjYzNTogICAgaWYgcHIucmV0dXJuY29kZSE9MDoKNjM2OiAgICAgICAgZXJyPXByLnN0ZGVyciBvciBiIiIKNjM3OiAgICAgICAgcHJpbnQoZiJQQ1RfUkVTVE9SRV9FUlJPUnx2bWlkPXt0ZW1waWR9fHJjPXtwci5yZXR1cm5jb2RlfXxzdGRlcnJfc2hhMjU2PXtoYXNobGliLnNoYTI1NihlcnIpLmhleGRpZ2VzdCgpfXxzdGRlcnJfYnl0ZXM9e2xlbihlcnIpfSIsZmlsZT1zeXMuc3RkZXJyKQo2Mzg6ICAgICAgICBkaWUoIlBDVF9SRVNUT1JFX0ZBSUxFRF8iK3N0cihwci5yZXR1cm5jb2RlKSw3MCkKNjM5OiAgICBseGNfaXNvbGF0ZSh0ZW1waWQscnVuX2lkKQo2NDA6ICAgIHJ1bl90dHkoW1BDVCwic3RhcnQiLHN0cih0ZW1waWQpXSx0aW1lb3V0PTEyMCkKNjQxOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt3YWl0X3NlYwo2NDI6ICAgIHdoaWxlIHRpbWUudGltZSgpPGRlYWRsaW5lOgo2NDM6ICAgICAgICBpZiBydW4oW1BDVCwiZXhlYyIsc3RyKHRlbXBpZCksIi0tIiwiL2Jpbi90cnVlIl0sY2hlY2s9RmFsc2UsdGltZW91dD0xNSkucmV0dXJuY29kZT09MDoKNjQ0OiAgICAgICAgICAgIHJldHVybiAiUENUX0VYRUNfVFJVRSIKNjQ1OiAgICAgICAgdGltZS5zbGVlcCg1KQo2NDY6ICAgIGRpZSgiTFhDX0VYRUNfQk9PVF9USU1FT1VUIiw3MCkKNjQ3Ogo2NDg6ZGVmIHdyaXRlX2RlZmVycmVkKGNvZGUpOgo2NDk6ICAgIG9iaj17InNjaGVtYSI6ImhvbWVsYWItYmFja3VwLWJvb3QtZHJpbGwtaGVhbHRoLXYxIiwic3RhdHVzIjoiREVGRVJSRUQiLCJyZWFzb24iOmNvZGUsInVwZGF0ZWRfYXRfdXRjIjppc29fbm93KCksImRyaWxsX2V4ZWN1dGVkIjpGYWxzZX0KNjUwOiAgICBhdG9taWNfanNvbihIRUFMVEhfUEFUSCxvYmosMG82MDApCjY1MTogICAgcHJpbnQoZiJCT09UX0RSSUxMX1NDSEVEVUxFRD1ERUZFUlJFRHxyZWFzb249e2NvZGV9IikKNjUyOgo2NTM6ZGVmIGZpbmFsaXplX3J1bihzdGFnZSxwcmltYXJ5X2Vycm9yKToKNjU0OiAgICBjbGVhbnVwX2Vycm9yPU5vbmUKNjU1OiAgICB0cnk6CjY1NjogICAgICAgIGNsZWFudXBfcmVzaWR1ZSgpCjY1NzogICAgZXhjZXB0IERyaWxsRXJyb3IgYXMgZToKNjU4OiAgICAgICAgY2xlYW51cF9lcnJvcj1lCjY1OTogICAgZmluYWxseToKNjYwOiAgICAgICAgaWYgc3RhZ2UuZXhpc3RzKCk6IHNodXRpbC5ybXRyZWUoc3RhZ2UpCjY2MTogICAgaWYgY2xlYW51cF9lcnJvciBpcyBub3QgTm9uZToKNjYyOiAgICAgICAgaWYgcHJpbWFyeV9lcnJvciBpcyBOb25lOg== +ROT_CLEANUP_DEF_FOUND=true +ROT_CLEANUP_DEF_B64=NDgyOmRlZiBwaWNrX2ZyZWUocmVzb3VyY2VzLHN0YXJ0LGVuZCk6CjQ4MzogICAgdXNlZD17aW50KHgpIGZvciB4IGluIHJlc291cmNlc30KNDg0OiAgICBmb3IgaSBpbiByYW5nZShzdGFydCxlbmQrMSk6CjQ4NTogICAgICAgIGlmIGkgbm90IGluIHVzZWQ6IHJldHVybiBpCjQ4NjogICAgZGllKCJURU1QX0lEX1JBTkdFX0VYSEFVU1RFRCIsNzUpCjQ4NzoKNDg4OmRlZiB3cml0ZV9hY3RpdmUocnVuX2lkLHFpZCxsaWQpOgo0ODk6ICAgIGF0b21pY19qc29uKEFDVElWRV9QQVRILHsic2NoZW1hIjoiaG9tZWxhYi1ib290LWRyaWxsLWFjdGl2ZS12MSIsInJ1bl9pZCI6cnVuX2lkLCJjcmVhdGVkX2F0X2Vwb2NoIjppbnQodGltZS50aW1lKCkpLCJxZW11X3RlbXBfaWQiOnFpZCwibHhjX3RlbXBfaWQiOmxpZH0sMG82MDApCjQ5MDoKNDkxOmRlZiBjb25maWdfcGF0aChraW5kLHZtaWQpOgo0OTI6ICAgIHJldHVybiBwYXRobGliLlBhdGgoIi9ldGMvcHZlL3FlbXUtc2VydmVyIiBpZiBraW5kPT0icWVtdSIgZWxzZSAiL2V0Yy9wdmUvbHhjIikvZiJ7dm1pZH0uY29uZiIKNDkzOgo0OTQ6ZGVmIGNsZWFudXBfb25lKGtpbmQsdm1pZCxjcmVhdGVkX2Vwb2NoKToKNDk1OiAgICBwPWNvbmZpZ19wYXRoKGtpbmQsdm1pZCkKNDk2OiAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNDk3OiAgICB0cnk6CjQ5ODogICAgICAgIHN0PXAuc3RhdCgpCjQ5OTogICAgICAgIGlmIHN0LnN0X2N0aW1lKzUgPCBjcmVhdGVkX2Vwb2NoOiBkaWUoIlRFTVBfQ09ORklHX1BSRURBVEVTX0FDVElWRV9NQVJLRVJfIitzdHIodm1pZCksNjYpCjUwMDogICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MDE6ICAgICAgICByZXR1cm4gVHJ1ZQo1MDI6ICAgIGNtZD1RTSBpZiBraW5kPT0icWVtdSIgZWxzZSBQQ1QKNTAzOiAgICBmb3IgXyBpbiByYW5nZSg0KToKNTA0OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVlCjUwNTogICAgICAgIHRyeToKNTA2OiAgICAgICAgICAgIHR4dD1wLnJlYWRfdGV4dChlcnJvcnM9InJlcGxhY2UiKQo1MDc6ICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CjUwODogICAgICAgICAgICByZXR1cm4gVHJ1ZQo1MDk6ICAgICAgICBsb2NrX21hdGNoPXJlLnNlYXJjaChyIig/bSlebG9jazpccyooXFMrKVxzKiQiLHR4dCkKNTEwOiAgICAgICAgaWYgbG9ja19tYXRjaDoKNTExOiAgICAgICAgICAgIGxvY2tfbmFtZT1sb2NrX21hdGNoLmdyb3VwKDEpCjUxMjogICAgICAgICAgICBpZiBsb2NrX25hbWU9PSJjcmVhdGUiOgo1MTM6ICAgICAgICAgICAgICAgIHU9cnVuX3R0eShbY21kLCJ1bmxvY2siLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0zMCkKNTE0OiAgICAgICAgICAgICAgICBpZiB1LnJldHVybmNvZGUhPTA6CjUxNTogICAgICAgICAgICAgICAgICAgIHByaW50KGYiVEVNUF9VTkxPQ0tfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18bG9jaz1jcmVhdGV8cmM9e3UucmV0dXJuY29kZX0iLGZpbGU9c3lzLnN0ZGVycikKNTE2OiAgICAgICAgICAgICAgICBpZiBwLmV4aXN0cygpOgo1MTc6ICAgICAgICAgICAgICAgICAgICB0cnk6CjUxODogICAgICAgICAgICAgICAgICAgICAgICBhZnRlcl91bmxvY2s9cC5yZWFkX3RleHQoZXJyb3JzPSJyZXBsYWNlIikKNTE5OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgo1MjA6ICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfdW5sb2NrPSIiCjUyMTogICAgICAgICAgICAgICAgICAgIGlmIHJlLnNlYXJjaChyIig/bSlebG9jazpccypjcmVhdGVccyokIixhZnRlcl91bmxvY2spOgo1MjI6ICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgyKQo1MjM6ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKNTI0OiAgICAgICAgICAgIGVsc2U6CjUyNTogICAgICAgICAgICAgICAgcHJpbnQoZiJURU1QX0NMRUFOVVBfTE9DS19CTE9DS0VEfGtpbmQ9e2tpbmR9fHZtaWQ9e3ZtaWR9fGxvY2s9e2xvY2tfbmFtZX0iLGZpbGU9c3lzLnN0ZGVycikKNTI2OiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKNTI3OiAgICAgICAgc3RhdHVzPXJ1bihbY21kLCJzdGF0dXMiLHN0cih2bWlkKV0sY2hlY2s9RmFsc2UsdGltZW91dD0yMCkKNTI4OiAgICAgICAgaWYgc3RhdHVzLnJldHVybmNvZGU9PTAgYW5kIGIicnVubmluZyIgaW4gc3RhdHVzLnN0ZG91dDoKNTI5OiAgICAgICAgICAgIHN0b3BfYXJndj1bY21kLCJzdG9wIixzdHIodm1pZCldCjUzMDogICAgICAgICAgICBpZiBraW5kPT0icWVtdSI6IHN0b3BfYXJndis9WyItLXNraXBsb2NrIiwiMSJdCjUzMTogICAgICAgICAgICBydW5fdHR5KHN0b3BfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTkwKQo1MzI6ICAgICAgICBkZXN0cm95X2FyZ3Y9W2NtZCwiZGVzdHJveSIsc3RyKHZtaWQpLCItLXB1cmdlIiwiMSJdCjUzMzogICAgICAgIGlmIGtpbmQ9PSJxZW11IjogZGVzdHJveV9hcmd2Kz1bIi0tZGVzdHJveS11bnJlZmVyZW5jZWQtZGlza3MiLCIxIiwiLS1za2lwbG9jayIsIjEiXQo1MzQ6ICAgICAgICBkZXN0cm95ZWQ9cnVuX3R0eShkZXN0cm95X2FyZ3YsY2hlY2s9RmFsc2UsdGltZW91dD0xODApCjUzNTogICAgICAgIGlmIGRlc3Ryb3llZC5yZXR1cm5jb2RlIT0wOgo1MzY6ICAgICAgICAgICAgZGV0YWlsPShkZXN0cm95ZWQuc3RkZXJyIG9yIGIiIikuZGVjb2RlKGVycm9ycz0icmVwbGFjZSIpLnJlcGxhY2UoIlxyIiwiIikuc3RyaXAoKS5yZXBsYWNlKCJcbiIsIiAiKVs6ODAwXQo1Mzc6ICAgICAgICAgICAgcHJpbnQoZiJURU1QX0RFU1RST1lfRVJST1J8a2luZD17a2luZH18dm1pZD17dm1pZH18cmM9e2Rlc3Ryb3llZC5yZXR1cm5jb2RlfXxkZXRhaWw9e2RldGFpbH0iLGZpbGU9c3lzLnN0ZGVycikKNTM4OiAgICAgICAgaWYgbm90IHAuZXhpc3RzKCk6IHJldHVybiBUcnVl +ROT_NO_RESIDUE_DEF_FOUND=true +ROT_NO_RESIDUE_DEF_B64=NTMwOiAgICAgICAgICAgIGlmIGtpbmQ9PSJxZW11Ijogc3RvcF9hcmd2Kz1bIi0tc2tpcGxvY2siLCIxIl0KNTMxOiAgICAgICAgICAgIHJ1bl90dHkoc3RvcF9hcmd2LGNoZWNrPUZhbHNlLHRpbWVvdXQ9OTApCjUzMjogICAgICAgIGRlc3Ryb3lfYXJndj1bY21kLCJkZXN0cm95IixzdHIodm1pZCksIi0tcHVyZ2UiLCIxIl0KNTMzOiAgICAgICAgaWYga2luZD09InFlbXUiOiBkZXN0cm95X2FyZ3YrPVsiLS1kZXN0cm95LXVucmVmZXJlbmNlZC1kaXNrcyIsIjEiLCItLXNraXBsb2NrIiwiMSJdCjUzNDogICAgICAgIGRlc3Ryb3llZD1ydW5fdHR5KGRlc3Ryb3lfYXJndixjaGVjaz1GYWxzZSx0aW1lb3V0PTE4MCkKNTM1OiAgICAgICAgaWYgZGVzdHJveWVkLnJldHVybmNvZGUhPTA6CjUzNjogICAgICAgICAgICBkZXRhaWw9KGRlc3Ryb3llZC5zdGRlcnIgb3IgYiIiKS5kZWNvZGUoZXJyb3JzPSJyZXBsYWNlIikucmVwbGFjZSgiXHIiLCIiKS5zdHJpcCgpLnJlcGxhY2UoIlxuIiwiICIpWzo4MDBdCjUzNzogICAgICAgICAgICBwcmludChmIlRFTVBfREVTVFJPWV9FUlJPUnxraW5kPXtraW5kfXx2bWlkPXt2bWlkfXxyYz17ZGVzdHJveWVkLnJldHVybmNvZGV9fGRldGFpbD17ZGV0YWlsfSIsZmlsZT1zeXMuc3RkZXJyKQo1Mzg6ICAgICAgICBpZiBub3QgcC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTM5OiAgICAgICAgdGltZS5zbGVlcCgzKQo1NDA6ICAgIHJldHVybiBGYWxzZQo1NDE6CjU0MjpkZWYgY2x1c3Rlcl93aXRob3V0X3RlbXAocWlkLGxpZCx0aW1lb3V0PTMwKToKNTQzOiAgICBkZWFkbGluZT10aW1lLnRpbWUoKSt0aW1lb3V0CjU0NDogICAgd2hpbGUgVHJ1ZToKNTQ1OiAgICAgICAgcmVzb3VyY2VzPWNsdXN0ZXJfcmVzb3VyY2VzKCkKNTQ2OiAgICAgICAgaWYgc3RyKHFpZCkgbm90IGluIHJlc291cmNlcyBhbmQgc3RyKGxpZCkgbm90IGluIHJlc291cmNlczoKNTQ3OiAgICAgICAgICAgIHJldHVybiByZXNvdXJjZXMKNTQ4OiAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOgo1NDk6ICAgICAgICAgICAgZGllKCJURU1QX0lEX1JFU0lEVUVfUFJFU0VOVCIsNzApCjU1MDogICAgICAgIHRpbWUuc2xlZXAoMikKNTUxOgo1NTI6ZGVmIGNsZWFudXBfcmVzaWR1ZSgpOgo1NTM6ICAgIGlmIG5vdCBBQ1RJVkVfUEFUSC5leGlzdHMoKTogcmV0dXJuIFRydWUKNTU0OiAgICBhPXJlYWRfanNvbihBQ1RJVkVfUEFUSCkKNTU1OiAgICBpZiBhLmdldCgic2NoZW1hIikhPSJob21lbGFiLWJvb3QtZHJpbGwtYWN0aXZlLXYxIjogZGllKCJBQ1RJVkVfTUFSS0VSX0lOVkFMSUQiLDY2KQo1NTY6ICAgIHE9aW50KGFbInFlbXVfdGVtcF9pZCJdKTsgbD1pbnQoYVsibHhjX3RlbXBfaWQiXSk7IGVwb2NoPWludChhWyJjcmVhdGVkX2F0X2Vwb2NoIl0pCjU1NzogICAgaWYgbm90ICg5NjAwPD1xPD05Njk5IGFuZCA5NzAwPD1sPD05Nzk5KTogZGllKCJBQ1RJVkVfTUFSS0VSX0lEX0lOVkFMSUQiLDY2KQo1NTg6ICAgIG9rcT1jbGVhbnVwX29uZSgicWVtdSIscSxlcG9jaCk7IG9rbD1jbGVhbnVwX29uZSgibHhjIixsLGVwb2NoKQo1NTk6ICAgIGlmIG5vdCAob2txIGFuZCBva2wpOiBkaWUoIlRFTVBfR1VFU1RfQ0xFQU5VUF9GQUlMRUQiLDcwKQo1NjA6ICAgIEFDVElWRV9QQVRILnVubGluayhtaXNzaW5nX29rPVRydWUpCjU2MTogICAgcmV0dXJuIFRydWUKNTYyOgo1NjM6ZGVmIGZldGNoX2FyY2hpdmUoaW5mbyxjbG91ZCx3b3JrKToKNTY0OiAgICBiYXNlLHJvd3MsbWFuaWZlc3Q9dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGluZm8sY2xvdWQpCjU2NTogICAgbmFtZT1pbmZvWyJwYXlsb2FkX25hbWUiXQo1NjY6ICAgIGlmIG5vdCAoUUVNVV9BUkNISVZFLmZ1bGxtYXRjaChuYW1lKSBvciBMWENfQVJDSElWRS5mdWxsbWF0Y2gobmFtZSkpOiBkaWUoIkFSQ0hJVkVfTkFNRV9JTlZBTElEXyIraW5mb1sidm1pZCJdLDY2KQo1Njc6ICAgIG91dD13b3JrL25hbWUKNTY4OiAgICBwYXJ0PXdvcmsvImN1cnJlbnQucGFydCIKNTY5OiAgICBoPWhhc2hsaWIuc2hhMjU2KCk7IHRvdGFsPTAKNTcwOiAgICB3aXRoIG91dC5vcGVuKCJ3YiIpIGFzIGRzdDoKNTcxOiAgICAgICAgZm9yIGlkeCxwbmFtZSxzaXplLHBzaGEgaW4gcm93czoKNTcyOiAgICAgICAgICAgIHdpdGggcGFydC5vcGVuKCJ3YiIpIGFzIHBmOgo1NzM6ICAgICAgICAgICAgICAgIHRyeToKNTc0OiAgICAgICAgICAgICAgICAgICAgcHJvYz1zdWJwcm9jZXNzLnJ1bihbc3RyKFJDTE9ORSksImNhdCIsYmFzZS5yc3RyaXAoIi8iKSsiL3BheWxvYWQucGFydHMvIitwbmFtZV0sc3Rkb3V0PXBmLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD05MDApCjU3NTogICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQ6CjU3NjogICAgICAgICAgICAgICAgICAgIGRpZSgiUEFSVF9SRUFEX1RJTUVPVVRfIitpbmZvWyJ2bWlkIl0rIl8iK2lkeCw3NCkKNTc3OiAgICAgICAgICAgIGlmIHByb2MucmV0dXJuY29kZSE9MDogZGllKCJQQVJUX1JFQURfRkFJTEVEXyIraW5mb1sidm1pZCJdKyJfIitpZHgsNzQpCjU3ODogICAgICAgICAgICBpZiBwYXJ0LnN0YXQoKS5zdF9zaXplIT1zaXplIG9yIHNoYTI1Nl9maWxlKHBhcnQpIT1wc2hhOiBkaWUoIlBBUlRfVkVSSUZZX0ZBSUxFRF8iK2luZm9bInZtaWQiXSsiXyIraWR4LDcwKQo1Nzk6ICAgICAgICAgICAgd2l0aCBwYXJ0Lm9wZW4oInJiIikgYXMgcGY6CjU4MDogICAgICAgICAgICAgICAgZm9yIGIgaW4gaXRlcihsYW1iZGE6cGYucmVhZCgxMDI0KjEwMjQpLGIiIik6CjU4MTogICAgICAgICAgICAgICAgICAgIGgudXBkYXRlKGIpOyBkc3Qud3JpdGUoYik7IHRvdGFsKz1sZW4oYikKNTgyOiAgICAgICAgICAgIHBhcnQudW5saW5rKCkKNTgzOiAgICBpZiB0b3RhbCE9aW5mb1siYXJjaGl2ZV9zaXplX2J5dGVzIl0gb3IgaC5oZXhkaWdlc3QoKSE9aW5mb1siYXJjaGl2ZV9zaGEyNTYiXTogZGllKCJBUkNISVZFX1ZFUklGWV9GQUlMRURfIitpbmZvWyJ2bWlkIl0sNzApCjU4NDogICAgIyBUaGlzIGFyY2hpdmUgbGl2ZXMgYXQgYSBwcml2YXRlIHN0YWdpbmcgZmlsZXN5c3RlbSBwYXRoLCBub3QgYXMgYSBjb25maWd1cmVkCjU4NTogICAgIyBQcm94bW94IHN0b3JhZ2Ugdm9sdW1lIElELiAgVmFsaWRhdGUgYnl0ZSBpZGVudGl0eSArIGNvbXByZXNzaW9uIGhlcmU7IHRoZQo1ODY6ICAgICMgc3Vic2VxdWVudCBxbXJlc3RvcmUvcGN0IHJlc3RvcmUgaXMgdGhlIGF1dGhvcml0YXRpdmUgUHJveG1veCBzdHJ1Y3R1cmFsIHByb29mLg== +ROT_REMOTE_METADATA_DEF_FOUND=true +ROT_REMOTE_METADATA_DEF_B64=MzYxOiAgICBpZiBxIGlzIE5vbmU6IGRpZSgiTk9fUUVNVV9HVUVTVF9BR0VOVF9FTElHSUJMRSIsNzUpCjM2MjogICAgbD1Ob25lCjM2MzogICAgZm9yIHggaW4gcm90YXRlX2FmdGVyKHBbImx4Y19yb3RhdGlvbiJdLHN0YXRlLmdldCgibHhjX2N1cnNvciIpKToKMzY0OiAgICAgICAgaWYgbHhjX3J1bm5pbmcocmVnLHgpOiBsPXg7IGJyZWFrCjM2NTogICAgaWYgbCBpcyBOb25lOiBkaWUoIk5PX0xYQ19SVU5OSU5HX0VMSUdJQkxFIiw3NSkKMzY2OiAgICByZXR1cm4gcSxsLHNraXBwZWQKMzY3OgozNjg6ZGVmIHJjbG9uZV9jYXQocmVtb3RlLHRpbWVvdXQ9NjApOgozNjk6ICAgIHA9cnVuKFtSQ0xPTkUsImNhdCIscmVtb3RlXSxjaGVjaz1GYWxzZSxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0KQozNzA6ICAgIGlmIHAucmV0dXJuY29kZSE9MDogZGllKCJSQ0xPTkVfQ0FUX0ZBSUxFRCIsNzQpCjM3MTogICAgcmV0dXJuIHAuc3Rkb3V0CjM3MjoKMzczOmRlZiB2YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEoaW5mbyxjbG91ZCk6CjM3NDogICAgYmFzZT1pbmZvWyJyZW1vdGVfYV9iYXNlIl0gaWYgY2xvdWQ9PSJBIiBlbHNlIGluZm9bInJlbW90ZV9iX2Jhc2UiXQozNzU6ICAgIHNlYWxfYnl0ZXM9cmNsb25lX2NhdChiYXNlLnJzdHJpcCgiLyIpKyIvc2VhbC5qc29uIiw2MCkKMzc2OiAgICBtYW5pZmVzdF9ieXRlcz1yY2xvbmVfY2F0KGJhc2UucnN0cmlwKCIvIikrIi9QQVJUUy50c3YiLDYwKQozNzc6ICAgIHRyeTogc2VhbD1qc29uLmxvYWRzKHNlYWxfYnl0ZXMpCjM3ODogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJSRU1PVEVfU0VBTF9KU09OX0lOVkFMSURfIitpbmZvWyJ2bWlkIl0sNjYpCjM3OTogICAgZXhwZWN0PXsKMzgwOiAgICAgICJzY2hlbWEiOiJob21lbGFiLWNsb3VkLXF1b3J1bS1zZWFsLXYxIiwic3RhdHVzIjoiU0VBTEVEIiwibG9naWNhbF9pZCI6aW5mb1sibG9naWNhbF9pZCJdLAozODE6ICAgICAgImdlbmVyYXRpb24iOmluZm9bImdlbmVyYXRpb24iXSwiYXJjaGl2ZV9uYW1lIjppbmZvWyJwYXlsb2FkX25hbWUiXSwKMzgyOiAgICAgICJhcmNoaXZlX3NpemVfYnl0ZXMiOmluZm9bImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJhcmNoaXZlX3NoYTI1NiI6aW5mb1siYXJjaGl2ZV9zaGEyNTYiXSwKMzgzOiAgICAgICJwYXJ0X2NvdW50IjppbmZvWyJwYXJ0X2NvdW50Il0sInBhcnRzX21hbmlmZXN0X3NoYTI1NiI6aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il0sCjM4NDogICAgICAiY2xvdWRfcXVvcnVtIjoyLCJsb2NhbF9jbGVhbnVwIjoiT0siLCJsb2NhbF9wYXlsb2FkX3ByZXNlbnQiOkZhbHNlCjM4NTogICAgfQozODY6ICAgIGZvciBrLHYgaW4gZXhwZWN0Lml0ZW1zKCk6CjM4NzogICAgICAgIGlmIHNlYWwuZ2V0KGspIT12OiBkaWUoIlJFTU9URV9TRUFMX01JU01BVENIXyIraW5mb1sidm1pZCJdKyJfIitrLDY2KQozODg6ICAgIGlmIGhhc2hsaWIuc2hhMjU2KG1hbmlmZXN0X2J5dGVzKS5oZXhkaWdlc3QoKSE9aW5mb1sicGFydHNfbWFuaWZlc3Rfc2hhMjU2Il06IGRpZSgiUkVNT1RFX01BTklGRVNUX1NIQV9NSVNNQVRDSF8iK2luZm9bInZtaWQiXSw2NikKMzg5OiAgICByb3dzPXBhcnNlX21hbmlmZXN0KG1hbmlmZXN0X2J5dGVzLGluZm9bInBhcnRfY291bnQiXSxpbmZvWyJhcmNoaXZlX3NpemVfYnl0ZXMiXSkKMzkwOiAgICByZXR1cm4gYmFzZSxyb3dzLG1hbmlmZXN0X2J5dGVzCjM5MToKMzkyOmRlZiBwYXJzZV9tYW5pZmVzdChyYXcsZXhwZWN0ZWRfY291bnQsZXhwZWN0ZWRfdG90YWwpOgozOTM6ICAgIHJvd3M9W10KMzk0OiAgICB0b3RhbD0wCjM5NTogICAgdHJ5OiBsaW5lcz1yYXcuZGVjb2RlKCkuc3BsaXRsaW5lcygpCjM5NjogICAgZXhjZXB0IEV4Y2VwdGlvbjogZGllKCJNQU5JRkVTVF9URVhUX0lOVkFMSUQiLDY2KQozOTc6ICAgIGZvciBpLGxpbmUgaW4gZW51bWVyYXRlKGxpbmVzKToKMzk4OiAgICAgICAgZj1saW5lLnNwbGl0KCJcdCIpCjM5OTogICAgICAgIGlmIGxlbihmKSE9NDogZGllKCJNQU5JRkVTVF9ST1dfSU5WQUxJRCIsNjYpCjQwMDogICAgICAgIGlkeCxuYW1lLHNpemVfcyxwc2hhPWYKNDAxOiAgICAgICAgbT1QQVJULmZ1bGxtYXRjaChuYW1lKQo0MDI6ICAgICAgICBpZiBpZHghPWYie2k6MDhkfSIgb3IgbSBpcyBOb25lIG9yIG0uZ3JvdXAoMSkhPWlkeDogZGllKCJNQU5JRkVTVF9JTkRFWF9JTlZBTElEIiw2NikKNDAzOiAgICAgICAgaWYgbm90IHNpemVfcy5pc2RpZ2l0KCkgb3IgaW50KHNpemVfcyk8PTAgb3IgaW50KHNpemVfcyk+NTM2ODcwOTEyOiBkaWUoIk1BTklGRVNUX1NJWkVfSU5WQUxJRCIsNjYpCjQwNDogICAgICAgIGlmIG5vdCBIRVg2NC5mdWxsbWF0Y2gocHNoYSk6IGRpZSgiTUFOSUZFU1RfUEFSVF9TSEFfSU5WQUxJRCIsNjYpCjQwNTogICAgICAgIHNpemU9aW50KHNpemVfcyk7IHRvdGFsKz1zaXplOyByb3dzLmFwcGVuZCgoaWR4LG5hbWUsc2l6ZSxwc2hhKSkKNDA2OiAgICBpZiBsZW4ocm93cykhPWV4cGVjdGVkX2NvdW50IG9yIHRvdGFsIT1leHBlY3RlZF90b3RhbDogZGllKCJNQU5JRkVTVF9UT1RBTF9JTlZBTElEIiw2NikKNDA3OiAgICByZXR1cm4gcm93cwo0MDg6CjQwOTpkZWYgcHZlc21fYXZhaWxhYmxlX2J5dGVzKCk6CjQxMDogICAgdHh0PXJ1bl90ZXh0KFtQVkVTTSwic3RhdHVzIl0sdGltZW91dD0zMCkKNDExOiAgICBmb3IgbGluZSBpbiB0eHQuc3BsaXRsaW5lcygpOgo0MTI6ICAgICAgICBmPWxpbmUuc3BsaXQoKQo0MTM6ICAgICAgICBpZiBmIGFuZCBmWzBdPT0ibG9jYWwtbHZtIjoKNDE0OiAgICAgICAgICAgIGlmIGxlbihmKTw3IG9yIGZbMl0hPSJhY3RpdmUiIG9yIG5vdCBmWzVdLmlzZGlnaXQoKTogZGllKCJMT0NBTF9MVk1fU1RBVFVTX0lOVkFMSUQiLDY2KQo0MTU6ICAgICAgICAgICAgcmV0dXJuIGludChmWzVdKSoxMDI0CjQxNjogICAgZGllKCJMT0NBTF9MVk1fTUlTU0lORyIsNjYpCjQxNzo= +ROT_LOAD_STATE_DEF_FOUND=true +ROT_LOAD_STATE_DEF_B64=NDMwOiAgICBxLGwsc2tpcHBlZD1jaG9vc2VfcGFpcihwLHJlZyxtb2RlLHN0YXRlKQo0MzE6ICAgIHFpPWV4cG9ydF9zdGF0ZShwLHJlZyxxLHN0YXRlX2V4cG9ydGVyKTsgbGk9ZXhwb3J0X3N0YXRlKHAscmVnLGwsc3RhdGVfZXhwb3J0ZXIpCjQzMjogICAgcGFpcj1wWyJjbG91ZF9wYWlyX3NlcXVlbmNlIl1bc3RhdGUuZ2V0KCJzZXF1ZW5jZSIsMCklbGVuKHBbImNsb3VkX3BhaXJfc2VxdWVuY2UiXSldCjQzMzogICAgcWIscXIsXz12YWxpZGF0ZV9yZW1vdGVfbWV0YWRhdGEocWkscGFpclsicWVtdSJdKQo0MzQ6ICAgIGxiLGxyLF89dmFsaWRhdGVfcmVtb3RlX21ldGFkYXRhKGxpLHBhaXJbImx4YyJdKQo0MzU6ICAgIGNhcD1jYXBhY2l0eV9jaGVjayhwLGNsdXN0ZXJfcmVzb3VyY2VzKCkscSxsLHFpLGxpKQo0MzY6ICAgIHJldHVybiB7InFlbXVfdm1pZCI6cSwibHhjX3ZtaWQiOmwsInFlbXVfY2xvdWQiOnBhaXJbInFlbXUiXSwibHhjX2Nsb3VkIjpwYWlyWyJseGMiXSwKNDM3OiAgICAgICAgICAgICJxZW11X2dlbmVyYXRpb24iOnFpWyJnZW5lcmF0aW9uIl0sImx4Y19nZW5lcmF0aW9uIjpsaVsiZ2VuZXJhdGlvbiJdLAo0Mzg6ICAgICAgICAgICAgInFlbXVfYXJjaGl2ZV9ieXRlcyI6cWlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLCJseGNfYXJjaGl2ZV9ieXRlcyI6bGlbImFyY2hpdmVfc2l6ZV9ieXRlcyJdLAo0Mzk6ICAgICAgICAgICAgInFlbXVfcGFydHMiOmxlbihxciksImx4Y19wYXJ0cyI6bGVuKGxyKSwicWVtdV9iYXNlIjpxYiwibHhjX2Jhc2UiOmxiLAo0NDA6ICAgICAgICAgICAgInFlbXVfc2tpcHBlZF9pbmVsaWdpYmxlIjpza2lwcGVkLCJlc2Nyb3ciOmVzYywiY2FwYWNpdHkiOmNhcH0KNDQxOgo0NDI6ZGVmIGxvYWRfc3RhdGVfZGVmYXVsdCgpOgo0NDM6ICAgIGlmIG5vdCBTVEFURV9QQVRILmV4aXN0cygpOgo0NDQ6ICAgICAgICByZXR1cm4geyJzY2hlbWEiOiJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiLCJzZXF1ZW5jZSI6MCwicWVtdV9jdXJzb3IiOk5vbmUsImx4Y19jdXJzb3IiOk5vbmUsImxhc3Rfc3VjY2Vzc191dGMiOk5vbmUsImxhc3RfZXZpZGVuY2UiOk5vbmV9CjQ0NTogICAgcz1yZWFkX2pzb24oU1RBVEVfUEFUSCkKNDQ2OiAgICBpZiBzLmdldCgic2NoZW1hIikhPSJob21lbGFiLXJvdGF0aW5nLWJvb3QtZHJpbGwtc3RhdGUtdjEiIG9yIG5vdCBpc2luc3RhbmNlKHMuZ2V0KCJzZXF1ZW5jZSIpLGludCkgb3Igc1sic2VxdWVuY2UiXTwwOgo0NDc6ICAgICAgICBkaWUoIlJPVEFUSU9OX1NUQVRFX0lOVkFMSUQiLDY2KQo0NDg6ICAgIHJldHVybiBzCjQ0OToKNDUwOmNsYXNzIExvY2tzOgo0NTE6ICAgIGRlZiBfX2luaXRfXyhzZWxmLHdhaXQpOgo0NTI6ICAgICAgICBzZWxmLndhaXQ9d2FpdDsgc2VsZi5mZHM9W10KNDUzOiAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgo0NTQ6ICAgICAgICBkZWFkbGluZT10aW1lLnRpbWUoKStzZWxmLndhaXQKNDU1OiAgICAgICAgd2hpbGUgVHJ1ZToKNDU2OiAgICAgICAgICAgIGhlbGQ9W10KNDU3OiAgICAgICAgICAgIGJ1c3k9Tm9uZQo0NTg6ICAgICAgICAgICAgdHJ5Ogo0NTk6ICAgICAgICAgICAgICAgIGZvciB4IGluIExPQ0tTOgo0NjA6ICAgICAgICAgICAgICAgICAgICBwYXRobGliLlBhdGgoeCkucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSxleGlzdF9vaz1UcnVlKQo0NjE6ICAgICAgICAgICAgICAgICAgICBmPW9wZW4oeCwiYSsiKQo0NjI6ICAgICAgICAgICAgICAgICAgICB0cnk6CjQ2MzogICAgICAgICAgICAgICAgICAgICAgICBmY250bC5mbG9jayhmLmZpbGVubygpLGZjbnRsLkxPQ0tfRVh8ZmNudGwuTE9DS19OQikKNDY0OiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEJsb2NraW5nSU9FcnJvcjoKNDY1OiAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k9eDsgZi5jbG9zZSgpOyBicmVhawo0NjY6ICAgICAgICAgICAgICAgICAgICBoZWxkLmFwcGVuZChmKQo0Njc6ICAgICAgICAgICAgICAgIGlmIGJ1c3kgaXMgTm9uZToKNDY4OiAgICAgICAgICAgICAgICAgICAgc2VsZi5mZHM9aGVsZDsgcmV0dXJuIHNlbGYKNDY5OiAgICAgICAgICAgIGZpbmFsbHk6CjQ3MDogICAgICAgICAgICAgICAgaWYgYnVzeSBpcyBub3QgTm9uZToKNDcxOiAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gcmV2ZXJzZWQoaGVsZCk6CjQ3MjogICAgICAgICAgICAgICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0NzM6ICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0NzQ6ICAgICAgICAgICAgaWYgdGltZS50aW1lKCk+PWRlYWRsaW5lOiByYWlzZSBEcmlsbEVycm9yKCJCQUNLVVBfTE9DS19CVVNZIiw3NSkKNDc1OiAgICAgICAgICAgIHRpbWUuc2xlZXAoMjApCjQ3NjogICAgZGVmIF9fZXhpdF9fKHNlbGYsKmEpOgo0Nzc6ICAgICAgICBmb3IgZiBpbiByZXZlcnNlZChzZWxmLmZkcyk6CjQ3ODogICAgICAgICAgICB0cnk6IGZjbnRsLmZsb2NrKGYuZmlsZW5vKCksZmNudGwuTE9DS19VTik7IGYuY2xvc2UoKQo0Nzk6ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogcGFzcwo0ODA6ICAgICAgICBzZWxmLmZkcz1bXQo0ODE6CjQ4MjpkZWYgcGlja19mcmVlKHJlc291cmNlcyxzdGFydCxlbmQpOgo0ODM6ICAgIHVzZWQ9e2ludCh4KSBmb3IgeCBpbiByZXNvdXJjZXN9CjQ4NDogICAgZm9yIGkgaW4gcmFuZ2Uoc3RhcnQsZW5kKzEpOgo0ODU6ICAgICAgICBpZiBpIG5vdCBpbiB1c2VkOiByZXR1cm4gaQo0ODY6ICAgIGRpZSgiVEVNUF9JRF9SQU5HRV9FWEhBVVNURUQiLDc1KQ== +ROT_REGISTRY_DEF_FOUND=true +ROT_REGISTRY_DEF_B64=MjYzOiAgICBpZiBhZ2VfZGF5cz5mbG9hdChwWyJlc2Nyb3dfc2VtYW50aWNfcHJvb2ZfbWF4X2FnZV9kYXlzIl0pOiBkaWUoIkVTQ1JPV19TRU1BTlRJQ19QUk9PRl9TVEFMRSIsNzUpCjI2NDogICAgYT1yZWFkX2pzb24ocGF0aGxpYi5QYXRoKHBbImF1ZGl0X3BhdGgiXSkpCjI2NTogICAgaWYgbm90IChhLmdldCgiYXVkaXRfc3RhdHVzIik9PSJPSyIgYW5kIGEuZ2V0KCJiYWNrdXBfc3RhdHVzIik9PSJHUkVFTiIgYW5kCjI2NjogICAgICAgICAgICBhLmdldCgiZHJfcmVhZGluZXNzIik9PSJQUk9WRU4iIGFuZCBhLmdldCgiZHJfcHJvb2Zfc3RhdHVzIik9PSJQUk9WRU4iIGFuZAoyNjc6ICAgICAgICAgICAgYS5nZXQoImVzY3Jvd19zdGF0dXMiKT09Ik9LIiBhbmQgYS5nZXQoInFlbXVfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kCjI2ODogICAgICAgICAgICBhLmdldCgiY3RfYm9vdF9yZXN0b3JlX3Byb3ZlbiIpIGlzIFRydWUgYW5kIGEuZ2V0KCJmdWxsX3NpdGVfZHJfcHJvdmVuIikgaXMgVHJ1ZSk6CjI2OTogICAgICAgIGRpZSgiQ1VSUkVOVF9CQUNLVVBfQVVESVRfTk9UX0RSX1JFQURZIiw3NSkKMjcwOiAgICByZXR1cm4geyJjaXBoZXJ0ZXh0X3NoYV92ZXJpZmllZCI6VHJ1ZSwic2VtYW50aWNfcHJvb2Zfc2VhbF9zaGFfdmVyaWZpZWQiOlRydWUsCjI3MTogICAgICAgICAgICAic2VtYW50aWNfcHJvb2ZfYXRfdXRjIjpzWyJzZWFsZWRfYXRfdXRjIl0sInNlbWFudGljX3Byb29mX2FnZV9kYXlzIjpyb3VuZChhZ2VfZGF5cyw0KSwKMjcyOiAgICAgICAgICAgICJzZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiOnBbImVzY3Jvd19zZW1hbnRpY19wcm9vZl9tYXhfYWdlX2RheXMiXSwKMjczOiAgICAgICAgICAgICJwaHlzaWNhbF9lc2Nyb3dfY29waWVzIjoiMl9VU0VSX0FUVEVTVEVEIiwicGh5c2ljYWxfZXNjcm93X21lZGlhX3JlYWRfcHJvdmVuIjpGYWxzZX0KMjc0OgoyNzU6ZGVmIHJlZ2lzdHJ5KHApOgoyNzY6ICAgIHI9cmVhZF9qc29uKHBhdGhsaWIuUGF0aChwWyJyZWdpc3RyeV9wYXRoIl0pKQoyNzc6ICAgIGlmIHIuZ2V0KCJzY2hlbWEiKSE9ImhvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeS12MSI6IGRpZSgiUkVHSVNUUllfSU5WQUxJRCIsNjYpCjI3ODogICAgb3V0PXt9CjI3OTogICAgZm9yIHggaW4gci5nZXQoInRhcmdldHMiLFtdKToKMjgwOiAgICAgICAgaWYgeC5nZXQoImtpbmQiKT09IlZNIiBhbmQgeC5nZXQoImxpZmVjeWNsZSIpPT0iQUNUSVZFIjoKMjgxOiAgICAgICAgICAgIHZtaWQ9c3RyKHguZ2V0KCJpZCIsIiIpKQoyODI6ICAgICAgICAgICAgb3duZXI9eC5nZXQoIm93bmVyIikKMjgzOiAgICAgICAgICAgIGlmIG5vdCB2bWlkLmlzZGlnaXQoKSBvciBvd25lciBub3QgaW4gKCJwdmUwMSIsInB2ZTAyIiwicHZlMDMiKSBvciB2bWlkIGluIG91dDogZGllKCJSRUdJU1RSWV9WTV9JTlZBTElEIiw2NikKMjg0OiAgICAgICAgICAgIG91dFt2bWlkXT17ImxvZ2ljYWxfaWQiOnguZ2V0KCJsb2dpY2FsX2lkIiksIm93bmVyIjpvd25lcn0KMjg1OiAgICByZXF1aXJlZD1zZXQocFsicWVtdV9yb3RhdGlvbiJdK3BbImx4Y19yb3RhdGlvbiJdK2xpc3QocC5nZXQoInFlbXVfZXhjbHVkZWQiLHt9KSkpCjI4NjogICAgaWYgbm90IHJlcXVpcmVkLmlzc3Vic2V0KG91dCk6IGRpZSgiUkVHSVNUUllfUk9UQVRJT05fVEFSR0VUX01JU1NJTkciLDY2KQoyODc6ICAgIHJldHVybiBvdXQKMjg4OgoyODk6ZGVmIG93bmVyX2hvc3Qob3duZXIpOgoyOTA6ICAgIHJldHVybiB7InB2ZTAyIjoicm9vdEBbUFJJVkFURV9JUF0iLCJwdmUwMyI6InJvb3RAW1BSSVZBVEVfSVBdIn0uZ2V0KG93bmVyKQoyOTE6CjI5MjpkZWYgc3NoX2Jhc2Uod2l0aF9zdGRpbj1GYWxzZSk6CjI5MzogICAgYmFzZT1bU1NIXQoyOTQ6ICAgIGlmIG5vdCB3aXRoX3N0ZGluOiBiYXNlLmFwcGVuZCgiLW4iKQoyOTU6ICAgIHJldHVybiBiYXNlK1siLW8iLCJCYXRjaE1vZGU9eWVzIiwiLW8iLCJDb25uZWN0VGltZW91dD0xNSIsIi1vIiwiU3RyaWN0SG9zdEtleUNoZWNraW5nPXllcyIsIi1vIiwiVXNlcktub3duSG9zdHNGaWxlPS9yb290Ly5zc2gva25vd25faG9zdHMiXQoyOTY6CjI5NzpkZWYgbm9kZV9ydW4ob3duZXIsYXJndixjaGVjaz1UcnVlLHRpbWVvdXQ9Tm9uZSxpbnB1dF9ieXRlcz1Ob25lKToKMjk4OiAgICBpZiBvd25lcj09InB2ZTAxIjoKMjk5OiAgICAgICAgcmV0dXJuIHJ1bihhcmd2LGNoZWNrPWNoZWNrLGNhcHR1cmU9VHJ1ZSx0aW1lb3V0PXRpbWVvdXQsaW5wdXRfYnl0ZXM9aW5wdXRfYnl0ZXMpCjMwMDogICAgaG9zdD1vd25lcl9ob3N0KG93bmVyKQozMDE6ICAgIGlmIGhvc3QgaXMgTm9uZTogZGllKCJPV05FUl9JTlZBTElEIiw2NCkKMzAyOiAgICBjbWQ9c3NoX2Jhc2Uod2l0aF9zdGRpbj1pbnB1dF9ieXRlcyBpcyBub3QgTm9uZSkrW2hvc3RdK1tzdHIoeCkgZm9yIHggaW4gYXJndl0KMzAzOiAgICByZXR1cm4gcnVuKGNtZCxjaGVjaz1jaGVjayxjYXB0dXJlPVRydWUsdGltZW91dD10aW1lb3V0LGlucHV0X2J5dGVzPWlucHV0X2J5dGVzKQozMDQ6CjMwNTpkZWYgZXhwb3J0X3N0YXRlKHAscmVnLHZtaWQsc3RhdGVfZXhwb3J0ZXI9U1RBVEVfRVhQT1JURVIpOgozMDY6ICAgIGl0ZW09cmVnW3ZtaWRdOyBsb2dpY2FsPWl0ZW1bImxvZ2ljYWxfaWQiXTsgb3duZXI9aXRlbVsib3duZXIiXQozMDc6ICAgIGlmIGxvZ2ljYWwhPWYidm17dm1pZH0iOiBkaWUoIlJFR0lTVFJZX0xPR0lDQUxfSU5WQUxJRF8iK3ZtaWQsNjYpCjMwODogICAgYXNzZXJ0X3JlZ3VsYXJfcm9vdChwYXRobGliLlBhdGgoc3RhdGVfZXhwb3J0ZXIpKQozMDk6ICAgIGlmIG93bmVyPT0icHZlMDEiOgozMTA6ICAgICAgICBwcj1ydW4oW1BZVEhPTiwiLUIiLHN0YXRlX2V4cG9ydGVyLHZtaWQsbG9naWNhbF0sdGltZW91dD0zMCkKMzExOiAgICBlbHNlOgozMTI6ICAgICAgICBkYXRhPXBhdGhsaWIuUGF0aChzdGF0ZV9leHBvcnRlcikucmVhZF9ieXRlcygpCjMxMzogICAgICAgIHByPW5vZGVfcnVuKG93bmVyLFtQWVRIT04sIi1CIiwiLSIsdm1pZCxsb2dpY2FsXSx0aW1lb3V0PTMwLGlucHV0X2J5dGVzPWRhdGEpCjMxNDogICAgaWYgcHIucmV0dXJuY29kZSE9MDogZGllKCJTVEFURV9FWFBPUlRfRkFJTEVEXyIrdm1pZCw2NSkKMzE1OiAgICB0cnk6IG9iaj1qc29uLmxvYWRzKHByLnN0ZG91dC5kZWNvZGUoKSkKMzE2OiAgICBleGNlcHQgRXhjZXB0aW9uOiBkaWUoIlNUQVRFX0VYUE9SVF9KU09OX0lOVkFMSURfIit2bWlkLDY2KQozMTc6ICAgIGlmIG5vdCAob2JqLmdldCgic2NoZW1hIik9PSJob21lbGFiLWJvb3QtZHJpbGwtc3RhdGUtZXhwb3J0LXYxIiBhbmQgb2JqLmdldCgidm1pZCIpPT12bWlkIGFuZAozMTg6ICAgICAgICAgICAgb2JqLmdldCgibG9naWNhbF9pZCIpPT1sb2dpY2FsIGFuZCBvYmouZ2V0KCJzdHJpY3Rfc2VhbGVkX3Jlc3RvcmVfcHJvdmVuIikgaXMgVHJ1ZSk6CjMxOTogICAgICAgIGRpZSgiU1RBVEVfRVhQT1JUX0NPTlRFTlRfSU5WQUxJRF8iK3ZtaWQsNjYp +ROT_FUNC_PRECHECK_PRESENT=true +ROT_FUNC_PRECHECK_ARGS=p,state_exporter,mode +ROT_FUNC_EXECUTE_PRESENT=true +ROT_FUNC_EXECUTE_ARGS=mode,p +ROT_FUNC_FETCH_ARCHIVE_PRESENT=true +ROT_FUNC_FETCH_ARCHIVE_ARGS=info,cloud,work +ROT_FUNC_QEMU_BOOT_PRESENT=true +ROT_FUNC_QEMU_BOOT_ARGS=archive,tempid,wait_sec,run_id +ROT_FUNC_CLEANUP_ONE_PRESENT=true +ROT_FUNC_CLEANUP_ONE_ARGS=kind,vmid,created_epoch +ROT_FUNC_CLUSTER_WITHOUT_TEMP_PRESENT=true +ROT_FUNC_CLUSTER_WITHOUT_TEMP_ARGS=qid,lid,timeout +ROT_FUNC_VALIDATE_REMOTE_METADATA_PRESENT=true +ROT_FUNC_VALIDATE_REMOTE_METADATA_ARGS=info,cloud +ROT_FUNC_LOAD_STATE_DEFAULT_PRESENT=true +ROT_FUNC_LOAD_STATE_DEFAULT_ARGS= +ROT_FUNC_REGISTRY_PRESENT=true +ROT_FUNC_REGISTRY_ARGS=p +ROT_FUNC_SELECT_PAIR_PRESENT=false +AUDSRC_DR_READY_FOUND=false +AUDSRC_DR_READY_LOWER_FOUND=false +AUDSRC_BOOT_FOUND=false +AUDSRC_RESTORE_FOUND=true +AUDSRC_RESTORE_B64=MTojIS91c3IvYmluL2VudiBweXRob24zCjI6aW1wb3J0IHN5cyxvcyxqc29uLHRpbWUsc3VicHJvY2VzcyxwYXRobGliLHJlLGRhdGV0aW1lCjM6TU9ERT1zeXMuYXJndlsxXSBpZiBsZW4oc3lzLmFyZ3YpPjEgZWxzZSAiYWxsIgo0OmlmIE1PREUgbm90IGluICgiYWxsIiwid3JpdGUtaGVhbHRoIiwic2NoZWR1bGVkIiwiY29udHJhY3QiKToKNTogICAgcHJpbnQoIkFVRElUX0VSUk9SPVVTQUdFX2FsbF93cml0ZS1oZWFsdGhfc2NoZWR1bGVkX2NvbnRyYWN0IixmaWxlPXN5cy5zdGRlcnIpOyBzeXMuZXhpdCg2NCkKNjppZiBNT0RFPT0iY29udHJhY3QiOgo3OiAgICBwcmludCgiQVVESVRfQ09OVFJBQ1Q9djItcGx1cy1zZWFsZWQtcXVvcnVtIikKODogICAgcHJpbnQoIkFVRElUX1NDSEVNQT1ob21lbGFiLWJhY2t1cC1hdWRpdC12MyIpCjk6ICAgIHN5cy5leGl0KDApCjEwOgoxMTpSRUc9cGF0aGxpYi5QYXRoKCIvZXRjL2hvbWVsYWItYmFja3VwL3RhcmdldHMuanNvbiIpCjEyOlNUQVRFPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1iYWNrdXAtdjIvc3RhdGUiKQoxMzpRUk9PVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL2Nsb3VkLXF1b3J1bSIpCjE0OlZNUkVTVD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYmFja3VwL3ZtLXJlc3RvcmUtdmFsaWRhdGlvbiIpCjE1OkFQUFJFU1Q9cGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWJhY2t1cC9hcHAtcmVzdG9yZS12YWxpZGF0aW9uIikKMTY6UkVHSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLXRhcmdldC1yZWdpc3RyeSIKMTc6QVBQUT0iL3Vzci9sb2NhbC9zYmluL2hvbWVsYWItYXBwLWNsb3VkLXF1b3J1bS1xdWV1ZSIKMTg6R0ZTSD0iL3Vzci9sb2NhbC9saWJleGVjL2hvbWVsYWItYmFja3VwLWdmcy1wb2xpY3kiCjE5OkdGU1A9Ii9ldGMvaG9tZWxhYi1iYWNrdXAvZ2ZzLXJldGVudGlvbi5qc29uIgoyMDpSRVQ9Ii91c3IvbG9jYWwvc2Jpbi9ob21lbGFiLWJhY2t1cC1yZXRlbnRpb24tZ2MiCjIxOldUPSIvcm9vdC9ob21lbGFiLW9wcy1jci0yMDI2LTEwMDUiCjIyOkJSQU5DSD0iY3ItMjAyNi0xMDA1LWJhY2t1cC12Mi1oZWFsdGgtYWxlcnRpbmctcmVtZWRpYXRpb24iCjIzOkRSU0VBTD1wYXRobGliLlBhdGgoIi92YXIvbGliL2hvbWVsYWItYWRtaW4vc2VhbHMvc2l0ZS1kci1maW5hbC1hY2NlcHRhbmNlLXYxLmpzb24iKQoyNDpDTE9VREJfSEVBTFRIPXBhdGhsaWIuUGF0aCgiL3Zhci9saWIvc2tsYWRjaGlrLXJlcG9ydHMtbW9uaXRvci1iYWNrdXAvcmVzdG9yZS1jaGVjay1oZWFsdGgudHh0IikKMjU6SEVBTFRIUz1bcGF0aGxpYi5QYXRoKCIvdmFyL2xpYi9ob21lbGFiLWhlYWx0aC9iYWNrdXAtYXVkaXQtdjIuanNvbiIpLHBhdGhsaWIuUGF0aCgiL3Zhci9saWIvaG9tZWxhYi1oZWFsdGgvYmFja3VwLWF1ZGl0Lmpzb24iKV0KMjY6CjI3OmRlZiBydW4oY21kLHRpbWVvdXQ9NjAsZW52PU5vbmUpOgoyODogICAgdHJ5OgoyOTogICAgICAgIHA9c3VicHJvY2Vzcy5ydW4oY21kLHRleHQ9VHJ1ZSxzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUsdGltZW91dD10aW1lb3V0LGVudj1lbnYpCjMwOiAgICAgICAgcmV0dXJuIHAucmV0dXJuY29kZSxwLnN0ZG91dCxwLnN0ZGVycgozMTogICAgZXhjZXB0IHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWQgYXMgZToKMzI6ICAgICAgICByZXR1cm4gMTI0LGUuc3Rkb3V0IG9yICIiLGUuc3RkZXJyIG9yICIiCjMzOgozNDpkZWYgY29sbGVjdChvYmosb3V0KToKMzU6ICAgIGlmIGlzaW5zdGFuY2Uob2JqLGRpY3QpOgozNjogICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLmdldCgibG9naWNhbF9pZCIpLHN0cik6IG91dC5hcHBlbmQob2JqKQozNzogICAgICAgIGZvciB2IGluIG9iai52YWx1ZXMoKTogY29sbGVjdCh2LG91dCkKMzg6ICAgIGVsaWYgaXNpbnN0YW5jZShvYmosbGlzdCk6CjM5OiAgICAgICAgZm9yIHYgaW4gb2JqOiBjb2xsZWN0KHYsb3V0KQo0MDoKNDE6ZGVmIHBhcnNlX2Vwb2NoKG9iaik6CjQyOiAgICBmb3IgayBpbiAoInNlYWxlZF9lcG9jaCIsImxhc3Rfc3VjY2Vzc19lcG9jaCIsInVwZGF0ZWRfZXBvY2giKToKNDM6ICAgICAgICB2PW9iai5nZXQoaykKNDQ6ICAgICAgICBpZiBpc2luc3RhbmNlKHYsKGludCxmbG9hdCkpIGFuZCB2PjA6IHJldHVybiBpbnQodikKNDU6ICAgIGZvciBrIGluICgic2VhbGVkX2F0X3V0YyIsInVwZGF0ZWRfYXRfdXRjIiwiY29tcGxldGVkX2F0X3V0YyIpOgo0NjogICAgICAgIHY9b2JqLmdldChrKQo0NzogICAgICAgIGlmIGlzaW5zdGFuY2UodixzdHIpIGFuZCB2Ogo0ODogICAgICAgICAgICB0cnk6CjQ5OiAgICAgICAgICAgICAgICByZXR1cm4gaW50KGRhdGV0aW1lLmRhdGV0aW1lLmZyb21pc29mb3JtYXQodi5yZXBsYWNlKCJaIiwiKzAwOjAwIikpLnRpbWVzdGFtcCgpKQo1MDogICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBwYXNzCjUxOiAgICByZXR1cm4gTm9uZQo1MjoKNTM6ZGVmIGxhdGVzdF9sZWdhY3kobG9naWNhbCxraW5kKToKNTQ6ICAgIGQ9UVJPT1QvbG9naWNhbAo1NTogICAgYmVzdD1Ob25lOyBiZXN0X2Vwb2NoPS0xCjU2OiAgICBpZiBub3QgZC5pc19kaXIoKTogcmV0dXJuIE5vbmUKNTc6ICAgIGZvciBwIGluIGQuZ2xvYigiKi5qc29uIik6CjU4OiAgICAgICAgdHJ5OiBvYmo9anNvbi5sb2FkcyhwLnJlYWRfdGV4dChlbmNvZGluZz0idXRmLTgiKSkKNTk6ICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiBjb250aW51ZQo2MDogICAgICAgIGVwb2NoPXBhcnNlX2Vwb2NoKG9iaikKNjE6ICAgICAgICBzY29yZT1lcG9jaCBpZiBlcG9jaCBpcyBub3QgTm9uZSBlbHNlIGludChwLnN0YXQoKS5zdF9tdGltZSkKNjI6ICAgICAgICBpZiBzY29yZT5iZXN0X2Vwb2NoOgo2MzogICAgICAgICAgICBiZXN0X2Vwb2NoPXNjb3JlOyBiZXN0PShwLG9iaixzY29yZSkKNjQ6ICAgIGlmIG5vdCBiZXN0OiByZXR1cm4gTm9uZQo2NTogICAgcCxvYmosZXBvY2g9YmVzdAo2NjogICAgZ2VuPW9iai5nZXQoImdlbmVyYXRpb24iKQo2NzogICAgc3RyaWN0PShvYmouZ2V0KCJzdGF0dXMiKT09IlNFQUxFRCIgYW5kIG9iai5nZXQoImNsb3VkX3F1b3J1bSIpPT0yIGFuZCBvYmouZ2V0KCJjbG91ZF9hX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgiY2xvdWRfYl92ZXJpZmllZCIpIGlzIFRydWUgYW5kIG9iai5nZXQoInBhcnRfaGFzaGVzX3ZlcmlmaWVkIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgic2VhbF93cml0dGVuIikgaXMgVHJ1ZSBhbmQgb2JqLmdldCgibG9jYWxfcGF5bG9hZF9wcmVzZW50IikgaXMgRmFsc2UgYW5kIG9iai5nZXQoImxvY2FsX2NsZWFudXAiKT09Ik9LIikKNjg6ICAgIHJyb290PVZNUkVTVCBpZiBraW5kPT0iVk0iIGVsc2UgQVBQUkVTVAo2OTogICAgcmV2PShycm9vdC9sb2dpY2FsLyhzdHIoZ2VuKSsiLmpzb24iKSkgaWYgZ2VuIGVsc2UgTm9uZQo3MDogICAgcmVzdG9yZT1GYWxzZQo3MTogICAgaWYgcmV2IGFuZCByZXYuaXNfZmlsZSgpOgo3MjogICAgICAgIHRyeToKNzM6ICAgICAgICAgICAgcmo9anNvbi5sb2FkcyhyZXYucmVhZF90ZXh0KGVuY29kaW5nPSJ1dGYtOCIpKQo3NDogICAgICAgICAgICByZXN0b3JlPShyai5nZXQoInJlc3VsdCIpPT0iT0siKQo3NTogICAgICAgIGV4Y2VwdCBFeGNlcHRpb246IHBhc3MKNzY6ICAgIGFnZT1tYXgoMCxpbnQodGltZS50aW1lKCktZXBvY2gpKSBpZiBlcG9jaCBlbHNlIE5vbmUKNzc6ICAgIHJldHVybiB7ImdlbmVyYXRpb24iOmdlbiwic3RyaWN0IjpzdHJpY3QsInJlc3RvcmVfb2siOnJlc3RvcmUsImFnZV9zZWNvbmRzIjphZ2UsInN0YXRlX2ZpbGUiOnN0cihwKSwib2JqIjpvYmp9Cjc4Ogo3OTpkZWYgdW5pdF9vayh1bml0KToKODA6ICAgIGE9cnVuKFsic3lzdGVtY3RsIiwiaXMtYWN0aXZlIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MTogICAgZT1ydW4oWyJzeXN0ZW1jdGwiLCJpcy1lbmFibGVkIix1bml0XSwxMClbMV0uc3RyaXAoKQo4MjogICAgcmV0dXJuIGE9PSJhY3RpdmUiIGFuZCBlPT0iZW5hYmxlZCIsYSxlCjgzOg== +AUDSRC_WRITES_FILES=true +VM150_TARGET_ENTRY_COUNT=1 +VM150_TARGET_1_KEYS_SHA256=76f391d578cdf23dffea7420973afc004f2841b41c9092d188f598d6ff3f999c +VM150_TARGET_1_ID=150 +VM150_TARGET_1_LOGICAL_ID=vm150 +VM150_TARGET_1_KIND=VM +VM150_TARGET_1_OWNER_SHA256=1ec037ee8d7939e1aad0c2701a1c4f09849abb191ec016f69e6f8de4142276c3 +VM150_JSON_CANDIDATE_COUNT=39 +VM150_JSON_1_AGE_SECONDS=2688173 +VM150_JSON_1_BASENAME=vm150-pve01-20260904T053517Z.json +VM150_JSON_1_PATH_SHA256=efad5cd2aee419fd80f4308fd06a30e54426d4bd98793b8cedea8fa9bb27ca38 +VM150_JSON_1_F1_KEY=logical_id +VM150_JSON_1_F1_VALUE=vm150 +VM150_JSON_1_F2_KEY=generation +VM150_JSON_1_F2_VALUE=vm150-pve01-20260904T053517Z +VM150_JSON_1_F3_KEY=vmid +VM150_JSON_1_F3_VALUE=150 +VM150_JSON_2_AGE_SECONDS=2734927 +VM150_JSON_2_BASENAME=vm150-pve01-20260903T163557Z.json +VM150_JSON_2_PATH_SHA256=490cb5fb334b0fe267cc10283df8b51851b37403c9da4c04068949fb8fd78d1c +VM150_JSON_2_F1_KEY=logical_id +VM150_JSON_2_F1_VALUE=vm150 +VM150_JSON_2_F2_KEY=generation +VM150_JSON_2_F2_VALUE=vm150-pve01-20260903T163557Z +VM150_JSON_2_F3_KEY=vmid +VM150_JSON_2_F3_VALUE=150 +VM150_JSON_3_AGE_SECONDS=2785326 +VM150_JSON_3_BASENAME=vm150-pve01-20260903T023609Z.json +VM150_JSON_3_PATH_SHA256=e39e01b8035f5baca1c53b1080423328febdfe29bc6e5cd681aef84e400c8a8d +VM150_JSON_3_F1_KEY=logical_id +VM150_JSON_3_F1_VALUE=vm150 +VM150_JSON_3_F2_KEY=generation +VM150_JSON_3_F2_VALUE=vm150-pve01-20260903T023609Z +VM150_JSON_3_F3_KEY=vmid +VM150_JSON_3_F3_VALUE=150 +VM150_JSON_4_AGE_SECONDS=2831874 +VM150_JSON_4_BASENAME=vm150-pve01-20260902T134020Z.json +VM150_JSON_4_PATH_SHA256=4e2bf58cf003f9d792ca892af124e65d08132b49a7942013a5c1ad6035178918 +VM150_JSON_4_F1_KEY=logical_id +VM150_JSON_4_F1_VALUE=vm150 +VM150_JSON_4_F2_KEY=generation +VM150_JSON_4_F2_VALUE=vm150-pve01-20260902T134020Z +VM150_JSON_4_F3_KEY=vmid +VM150_JSON_4_F3_VALUE=150 +VM150_JSON_5_AGE_SECONDS=2878920 +VM150_JSON_5_BASENAME=vm150-pve01-20260902T003622Z.json +VM150_JSON_5_PATH_SHA256=0eb5d296516657ca0bb484aa1a8ed0e75adf2aa7f4d9d9657e6b4f41a082ef93 +VM150_JSON_5_F1_KEY=logical_id +VM150_JSON_5_F1_VALUE=vm150 +VM150_JSON_5_F2_KEY=generation +VM150_JSON_5_F2_VALUE=vm150-pve01-20260902T003622Z +VM150_JSON_5_F3_KEY=vmid +VM150_JSON_5_F3_VALUE=150 +VM150_JSON_6_AGE_SECONDS=2929189 +VM150_JSON_6_BASENAME=vm150-pve01-20260901T103753Z.json +VM150_JSON_6_PATH_SHA256=53532b6be1d08637ff25a37e99b7404393e5fa1c94014c8115dc54f8bfe45fb2 +VM150_JSON_6_F1_KEY=logical_id +VM150_JSON_6_F1_VALUE=vm150 +VM150_JSON_6_F2_KEY=generation +VM150_JSON_6_F2_VALUE=vm150-pve01-20260901T103753Z +VM150_JSON_6_F3_KEY=vmid +VM150_JSON_6_F3_VALUE=150 +VM150_JSON_7_AGE_SECONDS=2975852 +VM150_JSON_7_BASENAME=vm150-pve01-20260831T214108Z.json +VM150_JSON_7_PATH_SHA256=4cef09ec110b2ce4e76a9762ce254c3f6fb7a73cd33af5b89842e9e531784848 +VM150_JSON_7_F1_KEY=logical_id +VM150_JSON_7_F1_VALUE=vm150 +VM150_JSON_7_F2_KEY=generation +VM150_JSON_7_F2_VALUE=vm150-pve01-20260831T214108Z +VM150_JSON_7_F3_KEY=vmid +VM150_JSON_7_F3_VALUE=150 +VM150_JSON_8_AGE_SECONDS=3019217 +VM150_JSON_8_BASENAME=vm150-pve01-20260831T093800Z.json +VM150_JSON_8_PATH_SHA256=58a804c36501e62ca91cf1c3ab96a0c173f37c8d477f24306594be04a0678972 +VM150_JSON_8_F1_KEY=logical_id +VM150_JSON_8_F1_VALUE=vm150 +VM150_JSON_8_F2_KEY=generation +VM150_JSON_8_F2_VALUE=vm150-pve01-20260831T093800Z +VM150_JSON_8_F3_KEY=vmid +VM150_JSON_8_F3_VALUE=150 +VM150_JSON_9_AGE_SECONDS=3066086 +VM150_JSON_9_BASENAME=vm150-pve01-20260830T203628Z.json +VM150_JSON_9_PATH_SHA256=480382928bcffc5e2900de44b8cc219dcf8c19821dc10233c83f03a479641989 +VM150_JSON_9_F1_KEY=logical_id +VM150_JSON_9_F1_VALUE=vm150 +VM150_JSON_9_F2_KEY=generation +VM150_JSON_9_F2_VALUE=vm150-pve01-20260830T203628Z +VM150_JSON_9_F3_KEY=vmid +VM150_JSON_9_F3_VALUE=150 +VM150_JSON_10_AGE_SECONDS=3116522 +VM150_JSON_10_BASENAME=vm150-pve01-20260830T063610Z.json +VM150_JSON_10_PATH_SHA256=af519b9ec9a59ef1b30417a2c789295ac48e9ce777596520cdd73cb2daadf5ba +VM150_JSON_10_F1_KEY=logical_id +VM150_JSON_10_F1_VALUE=vm150 +VM150_JSON_10_F2_KEY=generation +VM150_JSON_10_F2_VALUE=vm150-pve01-20260830T063610Z +VM150_JSON_10_F3_KEY=vmid +VM150_JSON_10_F3_VALUE=150 +VM150_JSON_11_AGE_SECONDS=3163255 +VM150_JSON_11_BASENAME=vm150-pve01-20260829T173717Z.json +VM150_JSON_11_PATH_SHA256=e24834ff71d84a2e6e03c31a533aae943d3fbf684ef8ccc464f5ca58d1a99225 +VM150_JSON_11_F1_KEY=logical_id +VM150_JSON_11_F1_VALUE=vm150 +VM150_JSON_11_F2_KEY=generation +VM150_JSON_11_F2_VALUE=vm150-pve01-20260829T173717Z +VM150_JSON_11_F3_KEY=vmid +VM150_JSON_11_F3_VALUE=150 +VM150_JSON_12_AGE_SECONDS=3210130 +VM150_JSON_12_BASENAME=vm150-pve01-20260829T043615Z.json +VM150_JSON_12_PATH_SHA256=8ff2e29a41e8df7098335a02af10375308751ec56efa9d77e709f73a51cdc40a +VM150_JSON_12_F1_KEY=logical_id +VM150_JSON_12_F1_VALUE=vm150 +VM150_JSON_12_F2_KEY=generation +VM150_JSON_12_F2_VALUE=vm150-pve01-20260829T043615Z +VM150_JSON_12_F3_KEY=vmid +VM150_JSON_12_F3_VALUE=150 +VM150_JSON_13_AGE_SECONDS=3260526 +VM150_JSON_13_BASENAME=vm150-pve01-20260828T143617Z.json +VM150_JSON_13_PATH_SHA256=e5a08de449669ce796d24efdb17319319493f99a4949987f61890a2a4ab87ebf +VM150_JSON_13_F1_KEY=logical_id +VM150_JSON_13_F1_VALUE=vm150 +VM150_JSON_13_F2_KEY=generation +VM150_JSON_13_F2_VALUE=vm150-pve01-20260828T143617Z +VM150_JSON_13_F3_KEY=vmid +VM150_JSON_13_F3_VALUE=150 +VM150_JSON_14_AGE_SECONDS=3325313 +VM150_JSON_14_BASENAME=vm150-pve01-20260827T203624Z.json +VM150_JSON_14_PATH_SHA256=a90c91da69e35c48b275e68c7f9a6306a4655dffe5abe126880e3f525fd7f143 +VM150_JSON_14_F1_KEY=logical_id +VM150_JSON_14_F1_VALUE=vm150 +VM150_JSON_14_F2_KEY=generation +VM150_JSON_14_F2_VALUE=vm150-pve01-20260827T203624Z +VM150_JSON_14_F3_KEY=vmid +VM150_JSON_14_F3_VALUE=150 +VM150_JSON_15_AGE_SECONDS=3375730 +VM150_JSON_15_BASENAME=vm150-pve01-20260827T063558Z.json +VM150_JSON_15_PATH_SHA256=57ab7089265ac9c0e72161816511ffe8819a43d0462e19883a9ecf7500ba184b +VM150_JSON_15_F1_KEY=logical_id +VM150_JSON_15_F1_VALUE=vm150 +VM150_JSON_15_F2_KEY=generation +VM150_JSON_15_F2_VALUE=vm150-pve01-20260827T063558Z +VM150_JSON_15_F3_KEY=vmid +VM150_JSON_15_F3_VALUE=150 +VM150_JSON_16_AGE_SECONDS=3422364 +VM150_JSON_16_BASENAME=vm150-pve01-20260826T173850Z.json +VM150_JSON_16_PATH_SHA256=fff2071f6222d4358b317f3752883ce608ad113e8730f6bee3b1eaefa197f68a +VM150_JSON_16_F1_KEY=logical_id +VM150_JSON_16_F1_VALUE=vm150 +VM150_JSON_16_F2_KEY=generation +VM150_JSON_16_F2_VALUE=vm150-pve01-20260826T173850Z +VM150_JSON_16_F3_KEY=vmid +VM150_JSON_16_F3_VALUE=150 +VM150_JSON_17_AGE_SECONDS=3465740 +VM150_JSON_17_BASENAME=vm150-pve01-20260826T053634Z.json +VM150_JSON_17_PATH_SHA256=9d6863bc8ff23a8a68cc90a0b0dbf31b9a89ec4890a2fcf7220abe7c543880c1 +VM150_JSON_17_F1_KEY=logical_id +VM150_JSON_17_F1_VALUE=vm150 +VM150_JSON_17_F2_KEY=generation +VM150_JSON_17_F2_VALUE=vm150-pve01-20260826T053634Z +VM150_JSON_17_F3_KEY=vmid +VM150_JSON_17_F3_VALUE=150 +VM150_JSON_18_AGE_SECONDS=3512427 +VM150_JSON_18_BASENAME=vm150-pve01-20260825T163812Z.json +VM150_JSON_18_PATH_SHA256=ef64ef6538caefc24d123cfbc0432f51b63b33693168bdb120a80d5400032476 +VM150_JSON_18_F1_KEY=logical_id +VM150_JSON_18_F1_VALUE=vm150 +VM150_JSON_18_F2_KEY=generation +VM150_JSON_18_F2_VALUE=vm150-pve01-20260825T163812Z +VM150_JSON_18_F3_KEY=vmid +VM150_JSON_18_F3_VALUE=150 +VM150_JSON_19_AGE_SECONDS=3591704 +VM150_JSON_19_BASENAME=vm150-pve01-20260824T183626Z.json +VM150_JSON_19_PATH_SHA256=92d083547ad1f23796a6a11ecbee18a3303a82a3710e7d063974fd5667750557 +VM150_JSON_19_F1_KEY=logical_id +VM150_JSON_19_F1_VALUE=vm150 +VM150_JSON_19_F2_KEY=generation +VM150_JSON_19_F2_VALUE=vm150-pve01-20260824T183626Z +VM150_JSON_19_F3_KEY=vmid +VM150_JSON_19_F3_VALUE=150 +VM150_JSON_20_AGE_SECONDS=3670939 +VM150_JSON_20_BASENAME=vm150-pve01-20260823T203609Z.json +VM150_JSON_20_PATH_SHA256=1ace4425362bd41c0036ec74a7b44aed204f9fae19c99d2bf103d6094276fee0 +VM150_JSON_20_F1_KEY=logical_id +VM150_JSON_20_F1_VALUE=vm150 +VM150_JSON_20_F2_KEY=generation +VM150_JSON_20_F2_VALUE=vm150-pve01-20260823T203609Z +VM150_JSON_20_F3_KEY=vmid +VM150_JSON_20_F3_VALUE=150 +VM150_JSON_21_AGE_SECONDS=3750155 +VM150_JSON_21_BASENAME=vm150-pve01-20260822T223600Z.json +VM150_JSON_21_PATH_SHA256=0e224d344921db46ad1703e84f9f786c0fcb5644d6e07968607653f68d4b5289 +VM150_JSON_21_F1_KEY=logical_id +VM150_JSON_21_F1_VALUE=vm150 +VM150_JSON_21_F2_KEY=generation +VM150_JSON_21_F2_VALUE=vm150-pve01-20260822T223600Z +VM150_JSON_21_F3_KEY=vmid +VM150_JSON_21_F3_VALUE=150 +VM150_JSON_22_AGE_SECONDS=3825521 +VM150_JSON_22_BASENAME=vm150-pve01-20260822T014003Z.json +VM150_JSON_22_PATH_SHA256=a59e760b246d6efdfe7c4f0a5f260c1f72a76b181e328e7a33f94db520ac60e7 +VM150_JSON_22_F1_KEY=logical_id +VM150_JSON_22_F1_VALUE=vm150 +VM150_JSON_22_F2_KEY=generation +VM150_JSON_22_F2_VALUE=vm150-pve01-20260822T014003Z +VM150_JSON_22_F3_KEY=vmid +VM150_JSON_22_F3_VALUE=150 +VM150_JSON_23_AGE_SECONDS=3897739 +VM150_JSON_23_BASENAME=vm150-pve01-20260821T053611Z.json +VM150_JSON_23_PATH_SHA256=077c97c61a88311e7618884aedf6083d639d4e107d9bde7c05aa81b0b4b54361 +VM150_JSON_23_F1_KEY=logical_id +VM150_JSON_23_F1_VALUE=vm150 +VM150_JSON_23_F2_KEY=generation +VM150_JSON_23_F2_VALUE=vm150-pve01-20260821T053611Z +VM150_JSON_23_F3_KEY=vmid +VM150_JSON_23_F3_VALUE=150 +VM150_JSON_24_AGE_SECONDS=4038514 +VM150_JSON_24_BASENAME=vm150-pve01-20260819T143015Z.json +VM150_JSON_24_PATH_SHA256=ad0168705fb1abddb563d836544c3cbddb22a1a70703d1812e031bc1fc3d8377 +VM150_JSON_24_F1_KEY=logical_id +VM150_JSON_24_F1_VALUE=vm150 +VM150_JSON_24_F2_KEY=generation +VM150_JSON_24_F2_VALUE=vm150-pve01-20260819T143015Z +VM150_JSON_24_F3_KEY=vmid +VM150_JSON_24_F3_VALUE=150 +VM150_JSON_25_AGE_SECONDS=4113806 +VM150_JSON_25_BASENAME=vm150-pve01-20260818T173509Z.json +VM150_JSON_25_PATH_SHA256=be8431499d9e3e6ed265d4cbb2660798a65578653983c6d5ae59e2e3d99165a1 +VM150_JSON_25_F1_KEY=logical_id +VM150_JSON_25_F1_VALUE=vm150 +VM150_JSON_25_F2_KEY=generation +VM150_JSON_25_F2_VALUE=vm150-pve01-20260818T173509Z +VM150_JSON_25_F3_KEY=vmid +VM150_JSON_25_F3_VALUE=150 +VM150_JSON_26_AGE_SECONDS=4185942 +VM150_JSON_26_BASENAME=vm150-pve01-20260817T213301Z.json +VM150_JSON_26_PATH_SHA256=f5e671fc0233fb2bbbebc3c8999bb39ad4c4280c1eae1a8dbd4064a3825b16d4 +VM150_JSON_26_F1_KEY=logical_id +VM150_JSON_26_F1_VALUE=vm150 +VM150_JSON_26_F2_KEY=generation +VM150_JSON_26_F2_VALUE=vm150-pve01-20260817T213301Z +VM150_JSON_26_F3_KEY=vmid +VM150_JSON_26_F3_VALUE=150 +VM150_JSON_27_AGE_SECONDS=4261719 +VM150_JSON_27_BASENAME=vm150-pve01-20260817T003018Z.json +VM150_JSON_27_PATH_SHA256=05b91e821a277d9ad10d3de52b107eb7e45b97727f57b417255dbef9a60c96da +VM150_JSON_27_F1_KEY=logical_id +VM150_JSON_27_F1_VALUE=vm150 +VM150_JSON_27_F2_KEY=generation +VM150_JSON_27_F2_VALUE=vm150-pve01-20260817T003018Z +VM150_JSON_27_F3_KEY=vmid +VM150_JSON_27_F3_VALUE=150 +VM150_JSON_28_AGE_SECONDS=4334544 +VM150_JSON_28_BASENAME=vm150-pve01-20260816T041612Z.json +VM150_JSON_28_PATH_SHA256=c999b87e71c3d6a336591a17d78ee9259d2b87d658c8ee7343b5b161dfc0e0dc +VM150_JSON_28_F1_KEY=logical_id +VM150_JSON_28_F1_VALUE=vm150 +VM150_JSON_28_F2_KEY=generation +VM150_JSON_28_F2_VALUE=vm150-pve01-20260816T041612Z +VM150_JSON_28_F3_KEY=vmid +VM150_JSON_28_F3_VALUE=150 +VM150_JSON_29_AGE_SECONDS=4335638 +VM150_JSON_29_BASENAME=vm150-pve01-20260816T035805Z.json +VM150_JSON_29_PATH_SHA256=a890d8089e7156e6544500344b99792a1adc142f4c2003489cd91b93fee5f93b +VM150_JSON_29_F1_KEY=logical_id +VM150_JSON_29_F1_VALUE=vm150 +VM150_JSON_29_F2_KEY=generation +VM150_JSON_29_F2_VALUE=vm150-pve01-20260816T035805Z +VM150_JSON_29_F3_KEY=vmid +VM150_JSON_29_F3_VALUE=150 +VM150_JSON_30_AGE_SECONDS=4335883 +VM150_JSON_30_BASENAME=vm150-pve01-20260816T035401Z.json +VM150_JSON_30_PATH_SHA256=bb77462667c0df00e5f6b63a084ab7bd5453bfe251c0011213df5e20c274f319 +VM150_JSON_30_F1_KEY=logical_id +VM150_JSON_30_F1_VALUE=vm150 +VM150_JSON_30_F2_KEY=generation +VM150_JSON_30_F2_VALUE=vm150-pve01-20260816T035401Z +VM150_JSON_30_F3_KEY=vmid +VM150_JSON_30_F3_VALUE=150 +VM150_JSON_31_AGE_SECONDS=4336166 +VM150_JSON_31_BASENAME=vm150-pve01-20260816T034912Z.json +VM150_JSON_31_PATH_SHA256=b3889cc734bc9fd89d9c787ab9fc6ed3d284f7fcba42cc9444f928c2846f1232 +VM150_JSON_31_F1_KEY=logical_id +VM150_JSON_31_F1_VALUE=vm150 +VM150_JSON_31_F2_KEY=generation +VM150_JSON_31_F2_VALUE=vm150-pve01-20260816T034912Z +VM150_JSON_31_F3_KEY=vmid +VM150_JSON_31_F3_VALUE=150 +VM150_JSON_32_AGE_SECONDS=4336430 +VM150_JSON_32_BASENAME=vm150-pve01-20260816T034448Z.json +VM150_JSON_32_PATH_SHA256=8bc6d14bb54a671b9577d30a4263877504161df7e3f8c0479cdfd6f4a3f10387 +VM150_JSON_32_F1_KEY=logical_id +VM150_JSON_32_F1_VALUE=vm150 +VM150_JSON_32_F2_KEY=generation +VM150_JSON_32_F2_VALUE=vm150-pve01-20260816T034448Z +VM150_JSON_32_F3_KEY=vmid +VM150_JSON_32_F3_VALUE=150 +VM150_JSON_33_AGE_SECONDS=4340667 +VM150_JSON_33_BASENAME=vm150-pve01-20260816T023420Z.json +VM150_JSON_33_PATH_SHA256=d1f00a7e0ed610afbc1399c4294fafda59e8e974ed02bf15eb99b60fa22cf3f8 +VM150_JSON_33_F1_KEY=logical_id +VM150_JSON_33_F1_VALUE=vm150 +VM150_JSON_33_F2_KEY=generation +VM150_JSON_33_F2_VALUE=vm150-pve01-20260816T023420Z +VM150_JSON_33_F3_KEY=vmid +VM150_JSON_33_F3_VALUE=150 +VM150_JSON_34_AGE_SECONDS=4394713 +VM150_JSON_34_BASENAME=vm150-pve01-20260815T111713Z.json +VM150_JSON_34_PATH_SHA256=e732a39f358d585caa4203dd2256199b6964ef74e87177f5f49628e8fa8879cc +VM150_JSON_34_F1_KEY=logical_id +VM150_JSON_34_F1_VALUE=vm150 +VM150_JSON_34_F2_KEY=generation +VM150_JSON_34_F2_VALUE=vm150-pve01-20260815T111713Z +VM150_JSON_34_F3_KEY=vmid +VM150_JSON_34_F3_VALUE=150 +VM150_JSON_35_AGE_SECONDS=4477392 +VM150_JSON_35_BASENAME=vm150-pve01-20260814T121736Z.json +VM150_JSON_35_PATH_SHA256=7272bce6bcf8e4477af09a3e7123c4a5030350a6f8f3d72411965f1311c32115 +VM150_JSON_35_F1_KEY=logical_id +VM150_JSON_35_F1_VALUE=vm150 +VM150_JSON_35_F2_KEY=generation +VM150_JSON_35_F2_VALUE=vm150-pve01-20260814T121736Z +VM150_JSON_35_F3_KEY=vmid +VM150_JSON_35_F3_VALUE=150 +VM150_JSON_36_AGE_SECONDS=4552798 +VM150_JSON_36_BASENAME=vm150-pve01-20260813T152038Z.json +VM150_JSON_36_PATH_SHA256=44f2627474401a034812b4d0052488fd067081169a4e94f4a085df8974119b33 +VM150_JSON_36_F1_KEY=logical_id +VM150_JSON_36_F1_VALUE=vm150 +VM150_JSON_36_F2_KEY=generation +VM150_JSON_36_F2_VALUE=vm150-pve01-20260813T152038Z +VM150_JSON_36_F3_KEY=vmid +VM150_JSON_36_F3_VALUE=150 +VM150_JSON_37_AGE_SECONDS=4628855 +VM150_JSON_37_BASENAME=vm150-pve01-20260812T181406Z.json +VM150_JSON_37_PATH_SHA256=1173dd1b284a9eeedfffcd57b082efecd96800cf045d2167f7825491f0b86be7 +VM150_JSON_37_F1_KEY=logical_id +VM150_JSON_37_F1_VALUE=vm150 +VM150_JSON_37_F2_KEY=generation +VM150_JSON_37_F2_VALUE=vm150-pve01-20260812T181406Z +VM150_JSON_37_F3_KEY=vmid +VM150_JSON_37_F3_VALUE=150 +VM150_JSON_38_AGE_SECONDS=4708354 +VM150_JSON_38_BASENAME=vm150-pve01-20260811T200935Z.json +VM150_JSON_38_PATH_SHA256=c8792c8e65b8cf67130f31d9db218218c90258adf6c1e0a501b7cbf46027b488 +VM150_JSON_38_F1_KEY=logical_id +VM150_JSON_38_F1_VALUE=vm150 +VM150_JSON_38_F2_KEY=generation +VM150_JSON_38_F2_VALUE=vm150-pve01-20260811T200935Z +VM150_JSON_38_F3_KEY=vmid +VM150_JSON_38_F3_VALUE=150 +VM150_JSON_39_AGE_SECONDS=4774679 +VM150_JSON_39_BASENAME=vm150-pve01-20260810T070246Z.json +VM150_JSON_39_PATH_SHA256=15041f808fbe152e622c00acd757fc6be160a677e4055184b749372022c9d2b9 +VM150_JSON_39_F1_KEY=logical_id +VM150_JSON_39_F1_VALUE=vm150 +VM150_JSON_39_F2_KEY=generation +VM150_JSON_39_F2_VALUE=vm150-pve01-20260810T070246Z +VM150_JSON_39_F3_KEY=vmid +VM150_JSON_39_F3_VALUE=150 +ROT_IMPORTABLE_AST=true +ROT_UNGUARDED_TOPLEVEL_COUNT=0 +ROT_UNGUARDED_TOPLEVEL_TYPES= +ACTIVE_IMAGE_STORAGE_COUNT=1 +IMAGE_STORAGE_1_TYPE=lvmthin +IMAGE_STORAGE_1_AVAIL_RAW=740575989 +TEMP_VMID_CANDIDATE_PRESENT=true +TEMP_VMID_CANDIDATE=98150 +TEMP_RANGE_OCCUPIED_COUNT=0 +PUBLIC_DNS_OK_COUNT=3 +PUBLIC_HTTPS_OK_COUNT=3 +RESTORE_GATE_RCA_COMPLETE=true +DECISION=ANALYZE_EXACT_99589_GATE_AND_TARGETED_PATH +NEXT_GATE=SNIKKET_VM150_TARGETED_ISOLATED_RESTORE_PROOF +TASK_RESULT=SNIKKET_VM150_RESTORE_GATE_RCA +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION -Quorum information ------------------- -Date: Mon Oct [PRIVATE_IP] 2026 -Quorum provider: corosync_votequorum -Nodes: 3 -Node ID: [PRIVATE_IP] -Ring ID: 1.13c -Quorate: Yes - -Votequorum information ----------------------- -Expected votes: 3 -Highest expected: 3 -Total votes: 3 -Quorum: 2 -Flags: Quorate - -Membership information ----------------------- - Nodeid Votes Name -[PRIVATE_IP] [PRIVATE_IP].11 (local) -[PRIVATE_IP] [PRIVATE_IP].13 -[PRIVATE_IP] [PRIVATE_IP].12 - -Membership information ----------------------- - Nodeid Votes Name - 1 1 pve01 (local) - 2 1 pve03 - 3 1 pve02 -[{"cpu":[PRIVATE_IP]063116,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/100","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"pvepro-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":100},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/101","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"pvepro-staging-v1","netin":0,"netout":0,"node":"pve01","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":101},{"cpu":[PRIVATE_IP]69131,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":110},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":111},{"cpu":0,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":112},{"cpu":0,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":113},{"cpu":[PRIVATE_IP]83979,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":130},{"cpu":[PRIVATE_IP]913609,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"snikket","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":150},{"cpu":[PRIVATE_IP]447221,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":160},{"cpu":[PRIVATE_IP]6622,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":170},{"cpu":[PRIVATE_IP]84378,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":171},{"cpu":[PRIVATE_IP]848987,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":190},{"cpu":[PRIVATE_IP]700986,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/210","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":210},{"cpu":[PRIVATE_IP]697975,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/211","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-staging","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":211},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]87364,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]73668,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]66635,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":[PRIVATE_IP]},{"content":"rootdir,images","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"rootdir,images","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"rootdir,images","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"iso,import,vztmpl,backup","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"iso,import,vztmpl,backup","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"iso,import,vztmpl,backup","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"}] -Name Type Status Total (KiB) Used (KiB) Available (KiB) % -local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 47.02% -local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 12.75% - UNIT LOAD ACTIVE SUB DESCRIPTION -● homelab-private-vpn-hosts-health.service loaded failed failed Homelab private VPN hosts health check - -Legend: LOAD → Reflects whether the unit definition was properly loaded. - ACTIVE → The high-level unit activation state, i.e. generalization of SUB. - SUB → The low-level unit activation state, values depend on unit type. - -1 loaded units listed. -NEXT LEFT LAST PASSED UNIT ACTIVATES -Mon [PRIVATE_IP] 11:17:09 MSK 6s Mon [PRIVATE_IP] 11:02:09 MSK 14min ago homelab-disk-space-health.timer homelab-disk-space-health.service -Mon [PRIVATE_IP] 11:17:15 MSK 12s Mon [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-router-watchdog.timer homelab-router-watchdog.service -Mon [PRIVATE_IP] 11:17:34 MSK 31s Mon [PRIVATE_IP] 11:16:34 MSK 28s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service -Mon [PRIVATE_IP] 11:17:39 MSK 36s Mon [PRIVATE_IP] 11:12:22 MSK 4min 40s ago homelab-health-metrics.timer homelab-health-metrics.service -Mon [PRIVATE_IP] 11:18:04 MSK 1min 1s Mon [PRIVATE_IP] 11:08:04 MSK 8min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service -Mon [PRIVATE_IP] 11:18:05 MSK 1min 2s Mon [PRIVATE_IP] 11:13:05 MSK 3min 57s ago netbird-peers-health.timer netbird-peers-health.service -Mon [PRIVATE_IP] 11:20:14 MSK 3min 11s Mon [PRIVATE_IP] 11:15:14 MSK 1min 48s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service -Mon [PRIVATE_IP] 11:26:16 MSK 9min Mon [PRIVATE_IP] 11:11:16 MSK 5min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service -Mon [PRIVATE_IP] 11:26:16 MSK 9min Mon [PRIVATE_IP] 11:11:16 MSK 5min ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service -Mon [PRIVATE_IP] 11:27:38 MSK 10min Mon [PRIVATE_IP] 11:12:32 MSK 4min 30s ago homelab-alertmanager-backup-health.timer homelab-alertmanager-backup-health.service -Mon [PRIVATE_IP] 11:29:16 MSK 12min Mon [PRIVATE_IP] 11:14:16 MSK 2min 46s ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service -Mon [PRIVATE_IP] 11:30:00 MSK 12min Mon [PRIVATE_IP] 09:30:00 MSK 1h 47min ago homelab-app-cloud-quorum-queue.timer homelab-app-cloud-quorum-queue.service -Mon [PRIVATE_IP] 11:30:00 MSK 12min Mon [PRIVATE_IP] 11:15:07 MSK 1min 55s ago homelab-incident-journal.timer homelab-incident-journal.service -Mon [PRIVATE_IP] 11:30:00 MSK 12min Mon [PRIVATE_IP] 11:01:58 MSK 15min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service -Mon [PRIVATE_IP] 11:30:39 MSK 13min Mon [PRIVATE_IP] 11:15:11 MSK 1min 51s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service -Mon [PRIVATE_IP] 11:30:58 MSK 13min Mon [PRIVATE_IP] 11:15:58 MSK 1min 4s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service -Mon [PRIVATE_IP] 11:31:18 MSK 14min Mon [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service -Mon [PRIVATE_IP] 11:35:38 MSK 18min Mon [PRIVATE_IP] 11:06:57 MSK 10min ago homelab-backup-audit.timer homelab-backup-audit.service -Mon [PRIVATE_IP] 11:40:51 MSK 23min Mon [PRIVATE_IP] 11:03:54 MSK 13min ago homelab-backup-v2.timer homelab-backup-v2.service -Mon [PRIVATE_IP] 11:41:01 MSK 23min Mon [PRIVATE_IP] 11:07:52 MSK 9min ago homelab-reference-refresh.timer homelab-reference-refresh.service -Mon [PRIVATE_IP] 13:19:00 MSK 2h 1min Mon [PRIVATE_IP] 07:14:50 MSK 4h 2min ago homelab-evidence-root.timer homelab-evidence-root.service -Mon [PRIVATE_IP] 14:32:28 MSK 3h 15min Mon [PRIVATE_IP] 08:28:25 MSK 2h 48min ago homelab-mailru-trash-gc.timer homelab-mailru-trash-gc.service -Mon [PRIVATE_IP] 16:36:03 MSK 5h 19min Mon [PRIVATE_IP] 10:36:03 MSK 40min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service -Mon [PRIVATE_IP] 16:48:03 MSK 5h 31min Sun [PRIVATE_IP] 16:48:03 MSK 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service -Tue [PRIVATE_IP] 00:00:00 MSK 12h Mon [PRIVATE_IP] 00:00:03 MSK 11h ago dpkg-db-backup.timer dpkg-db-backup.service -Tue [PRIVATE_IP] 00:00:40 MSK 12h Mon [PRIVATE_IP] 00:09:58 MSK 11h ago homelab-storage-capacity.timer homelab-storage-capacity.service -Tue [PRIVATE_IP] 00:08:31 MSK 12h Mon [PRIVATE_IP] 00:01:22 MSK 11h ago homelab-quality-gate.timer homelab-quality-gate.service -Tue [PRIVATE_IP] 00:08:58 MSK 12h Mon [PRIVATE_IP] 00:14:58 MSK 11h ago homelab-evidence-catalog.timer homelab-evidence-catalog.service -Tue [PRIVATE_IP] 00:14:14 MSK 12h Mon [PRIVATE_IP] 00:15:08 MSK 11h ago logrotate.timer logrotate.service -Tue [PRIVATE_IP] 00:18:18 MSK 13h Mon [PRIVATE_IP] 00:15:58 MSK 11h ago homelab-docker-health.timer homelab-docker-health.service -Tue [PRIVATE_IP] 03:22:46 MSK 16h Mon [PRIVATE_IP] 03:33:58 MSK 7h ago homelab-backup-retention-gc.timer homelab-backup-retention-gc.service -Tue [PRIVATE_IP] 04:19:27 MSK 17h Mon [PRIVATE_IP] 06:25:32 MSK 4h 51min ago apt-daily.timer apt-daily.service -Tue [PRIVATE_IP] 04:46:42 MSK 17h Mon [PRIVATE_IP] 00:14:58 MSK 11h ago man-db.timer man-db.service -Tue [PRIVATE_IP] 05:10:24 MSK 17h Mon [PRIVATE_IP] 03:02:16 MSK 8h ago pve-daily-update.timer pve-daily-update.service -Tue [PRIVATE_IP] 06:30:55 MSK 19h Mon [PRIVATE_IP] 06:45:58 MSK 4h 31min ago apt-daily-upgrade.timer apt-daily-upgrade.service -Tue [PRIVATE_IP] 07:00:36 MSK 19h Mon [PRIVATE_IP] 07:01:30 MSK 4h 15min ago homelab-drift-check.timer homelab-drift-check.service -Tue [PRIVATE_IP] 07:36:04 MSK 20h Mon [PRIVATE_IP] 07:24:58 MSK 3h 52min ago homelab-service-registry-check.timer homelab-service-registry-check.service -Tue [PRIVATE_IP] 07:46:28 MSK 20h Mon [PRIVATE_IP] 07:52:54 MSK 3h 24min ago homelab-dependency-map-check.timer homelab-dependency-map-check.service -Tue [PRIVATE_IP] 07:48:10 MSK 20h Mon [PRIVATE_IP] 07:43:32 MSK 3h 33min ago homelab-runbook-generate.timer homelab-runbook-generate.service -Tue [PRIVATE_IP] 07:51:13 MSK 20h Mon [PRIVATE_IP] 07:46:54 MSK 3h 30min ago homelab-alerting-health.timer homelab-alerting-health.service -Tue [PRIVATE_IP] 08:01:28 MSK 20h Mon [PRIVATE_IP] 07:54:07 MSK 3h 22min ago homelab-duty-admin-report.timer homelab-duty-admin-report.service -Tue [PRIVATE_IP] 08:07:42 MSK 20h Mon [PRIVATE_IP] 07:56:27 MSK 3h 20min ago homelab-desired-state-sync.timer homelab-desired-state-sync.service -Tue [PRIVATE_IP] 08:10:47 MSK 20h Mon [PRIVATE_IP] 08:15:16 MSK 3h 1min ago homelab-overall-health.timer homelab-overall-health.service -Tue [PRIVATE_IP] 08:12:39 MSK 20h Mon [PRIVATE_IP] 08:09:03 MSK 3h 7min ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service -Tue [PRIVATE_IP] 08:19:57 MSK 21h Mon [PRIVATE_IP] 08:17:58 MSK 2h 59min ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service -Tue [PRIVATE_IP] 08:27:26 MSK 21h Mon [PRIVATE_IP] 08:35:58 MSK 2h 41min ago homelab-capacity-risk.timer homelab-capacity-risk.service -Tue [PRIVATE_IP] 08:37:34 MSK 21h Mon [PRIVATE_IP] 08:55:03 MSK 2h 21min ago homelab-cluster-passport.timer homelab-cluster-passport.service -Tue [PRIVATE_IP] 08:41:30 MSK 21h Mon [PRIVATE_IP] 08:39:52 MSK 2h 37min ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service -Tue [PRIVATE_IP] 08:55:46 MSK 21h Mon [PRIVATE_IP] 08:50:42 MSK 2h 26min ago homelab-golden-state-index.timer homelab-golden-state-index.service -Sun [PRIVATE_IP] 03:10:12 MSK 5 days Sun [PRIVATE_IP] 03:10:58 MSK 1 day 8h ago e2scrub_all.timer e2scrub_all.service -Sun [PRIVATE_IP] 03:10:20 MSK 5 days Sun [PRIVATE_IP] 03:10:12 MSK 1 day 8h ago xfs_scrub_all.timer xfs_scrub_all.service -Sun [PRIVATE_IP] 06:57:50 MSK 5 days Sun [PRIVATE_IP] 08:08:52 MSK 1 day 3h ago homelab-rotating-boot-drill.timer homelab-rotating-boot-drill.service -Mon [PRIVATE_IP] 00:08:29 MSK 6 days Mon [PRIVATE_IP] 00:06:16 MSK 11h ago homelab-secret-sanity.timer homelab-secret-sanity.service -Mon [PRIVATE_IP] 00:58:10 MSK 6 days Mon [PRIVATE_IP] 00:02:16 MSK 11h ago fstrim.timer fstrim.service -- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service -- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service -- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service - -57 timers listed. -RUNTIME_MANIFEST_ID=df[PRIVATE_IP]ac9b5abd[PRIVATE_IP]b[PRIVATE_IP]d89496fb2bde[PRIVATE_IP] -EXPERIMENT_ID=5462ee[PRIVATE_IP]ebe[PRIVATE_IP]feb2ad[PRIVATE_IP]1ad87bbac0b8108 -COLLECTION_START_AT=[PRIVATE_IP]T[PRIVATE_IP]:00 -FIRST_COMPLETE_D1_CLOSE=[PRIVATE_IP]T[PRIVATE_IP]:00 -PRODUCTION_LAUNCH_ALLOWED=False -EXECUTION_AUTHORITY=False -RISK_AUTHORITY=False -STAGE_A_HEALTH=AWAITING_PRIMARY_FINALITY -FORENSIC_PREVIOUS_EPOCH_PRESERVED=YES - -## NEWFI_TASK6_AUTH_CHECKPOINT_V[PRIVATE_IP] -- Scope: historical accepted AUTH test, not a current SMTP connection test. -- Newfi approved SMTP account/sender: aleisaev@yandex.ru. -- Endpoint used by accepted test: smtp.yandex.ru:465 with certificate verification; single PLAIN initial response accepted with code 235. -- Evidence: incident ledger ### NEWFI_TASK6_YANDEX_AUTH_V2_OBSERVATION and ### NEWFI_TASK6_AUTH_PROOF_CLOSE_V1. -- No password file written, no application configuration changed, no mail sent by the accepted AUTH test. -- Persistent transport installation and application delivery are not proven by this checkpoint. Task6 is not complete. -- AUTH challenge and missing-file incidents closed; launch/session incident remains OPEN with original cause unproven. -- This update does not change VM211, VM160, routing, board state or Git. -- Other incidents and infrastructure health were not assessed. - - -## NEWFI_PRIVATE_STRUCTURE92_WRONG_MARKER_SCOPE_[PRIVATE_IP] CLOSURE -- Status: CLOSED -- RCA: NEWFI92 inspected the pve01 NEWFI90 attempt marker, which had not been finalized because the outer shell exited immediately after the guest returned RC3 following its successful rollback. The guest marker contained the true final rollback state. -- Correction: NEWFI93 required both the guest FINISHED/ROLLED_BACK record and a fresh exact demo-state readback before reconciling the outer NEWFI90 marker. NEWFI92 itself never reserved an attempt or mutated state. - - -## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] -- Status: OPEN -- Command: NEWFI95 -- Symptom: after the content-structure precheck passed, the pve03 Python wrapper failed to parse at the PHP line beginning with $root. No Portal discovery or application mutation was reached. -- RCA: an outer raw triple-single-quoted guest Python payload contained an inner raw triple-single-quoted PHP payload. The inner delimiter terminated the outer Python string, causing PHP source to be parsed as Python. -- Safety: NEWFI95 was read-only, created no attempt marker, and did not reach the intended nested guest execution. Do not replay NEWFI95. - - -## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] CLOSURE -- Status: CLOSED -- RCA: an inner triple-single-quoted PHP literal terminated the outer triple-single-quoted Python guest payload in NEWFI95. The wrapper therefore failed parsing before the intended Portal discovery executed. -- Correction: NEWFI96 removed the nested Python payload layer entirely and passed one Python program directly to VM211 through qm guest exec stdin. The read-only Portal contract completed with QGA exit 0 and the implementation worktree remained unchanged. OUTPUT_END CHAT_OUTPUT_END