{ "name": "TupleBox", "structs": { "ObjectB8AC7445": [ { "name": "a", "type": "string" }, { "name": "b", "type": "byte[]" }, { "name": "c", "type": "bool" } ], "BoxMap2": [ { "name": "a", "type": "string" }, { "name": "b", "type": "byte[]" }, { "name": "c", "type": "bool" } ] }, "methods": [ { "name": "testBox", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "testBoxMap", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 0 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": {}, "local": {}, "box": { "box1": { "keyType": "AVMString", "valueType": "(string,byte[],bool)", "key": "dDE=" }, "box2": { "keyType": "AVMString", "valueType": "ObjectB8AC7445", "key": "dDI=" } } }, "maps": { "global": {}, "local": {}, "box": { "boxMap1": { "keyType": "AVMString", "valueType": "(string,byte[],bool)", "prefix": "dG0x" }, "boxMap2": { "keyType": "AVMString", "valueType": "BoxMap2", "prefix": "dG0y" } } } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 177, 184 ], "errorMessage": "Box must have value" }, { "pc": [ 343, 494, 768, 873 ], "errorMessage": "index access is out of bounds" }, { "pc": [ 336, 487, 761, 866 ], "errorMessage": "index out of bounds" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMCAyIDEgNQogICAgYnl0ZWNibG9jayAiYSIgInQxIiAidDIiICJoZWxsbyIgIndvcmxkIiAidG0xIiAidG0yIiAweDAwICJhYmMiICJkZWYiICJiIgogICAgYiBtYWluX2Jsb2NrQDAKCm1haW5fYmxvY2tAMDoKICAgIGIgbWFpbl9ibG9ja0AxCgptYWluX2Jsb2NrQDE6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzIKICAgIC8vIGNsYXNzIFR1cGxlQm94IGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE51bUFwcEFyZ3MKICAgIGludGNfMCAvLyAwCiAgICAhPQogICAgYnogbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVAOQogICAgYiBtYWluX2FiaV9yb3V0aW5nQDIKCm1haW5fYWJpX3JvdXRpbmdAMjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3MgogICAgLy8gY2xhc3MgVHVwbGVCb3ggZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzAgLy8gTm9PcAogICAgPT0KICAgIGFzc2VydAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMCAvLyAwCiAgICAhPQogICAgYnogbWFpbl9jcmVhdGVfTm9PcEA3CiAgICBiIG1haW5fY2FsbF9Ob09wQDMKCm1haW5fY2FsbF9Ob09wQDM6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzIKICAgIC8vIGNsYXNzIFR1cGxlQm94IGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgcHVzaGJ5dGVzIDB4ZmMxOWM0NmUgLy8gbWV0aG9kICJ0ZXN0Qm94KCl2b2lkIgogICAgcHVzaGJ5dGVzIDB4OWYxZjE4ZTUgLy8gbWV0aG9kICJ0ZXN0Qm94TWFwKCl2b2lkIgogICAgdW5jb3ZlciAyCiAgICBtYXRjaCBtYWluX3Rlc3RCb3hfcm91dGVANCBtYWluX3Rlc3RCb3hNYXBfcm91dGVANQogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRANgoKbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDY6CiAgICBiIG1haW5fYWZ0ZXJfaWZfZWxzZUA4CgptYWluX2FmdGVyX2lmX2Vsc2VAODoKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDEwCgptYWluX2FmdGVyX2lmX2Vsc2VAMTA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzIKICAgIC8vIGNsYXNzIFR1cGxlQm94IGV4dGVuZHMgQ29udHJhY3QgewogICAgZXJyCgptYWluX3Rlc3RCb3hNYXBfcm91dGVANToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwNAogICAgLy8gdGVzdEJveE1hcCgpIHsKICAgIGNhbGxzdWIgdGVzdEJveE1hcAogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRANgoKbWFpbl90ZXN0Qm94X3JvdXRlQDQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzgKICAgIC8vIHRlc3RCb3goKSB7CiAgICBjYWxsc3ViIHRlc3RCb3gKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDYKCm1haW5fY3JlYXRlX05vT3BANzoKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDgKCm1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDk6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzIKICAgIC8vIGNsYXNzIFR1cGxlQm94IGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgaW50Y18wIC8vIE5vT3AKICAgID09CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgaW50Y18wIC8vIDAKICAgID09CiAgICAmJgogICAgYXNzZXJ0CiAgICBjYWxsc3ViIF9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZQogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC50ZXN0Qm94W3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdEJveDoKICAgIGIgdGVzdEJveF9ibG9ja0AwCgp0ZXN0Qm94X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzgKICAgIC8vIHRlc3RCb3goKSB7CiAgICBjYWxsc3ViIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC50ZXN0Qm94CiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6OlR1cGxlQm94LnRlc3RCb3hNYXBbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0Qm94TWFwOgogICAgYiB0ZXN0Qm94TWFwX2Jsb2NrQDAKCnRlc3RCb3hNYXBfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwNAogICAgLy8gdGVzdEJveE1hcCgpIHsKICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6OlR1cGxlQm94LnRlc3RCb3hNYXAKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czo6VHVwbGVCb3gudGVzdEJveCgpIC0+IHZvaWQ6CnRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC50ZXN0Qm94OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc4CiAgICAvLyB0ZXN0Qm94KCkgewogICAgcHJvdG8gMCAwCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC50ZXN0Qm94X2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC50ZXN0Qm94X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzMKICAgIC8vIGJveDEgPSBCb3g8W3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleTogJ3QxJyB9KQogICAgYnl0ZWNfMSAvLyAidDEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzkKICAgIC8vIHRoaXMuYm94MS5jcmVhdGUoeyBzaXplOiAxMCB9KQogICAgcHVzaGludCAxMAogICAgYm94X2NyZWF0ZQogICAgcG9wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzQKICAgIC8vIGJveDIgPSBCb3g8eyBhOiBzdHJpbmc7IGI6IGJ5dGVzOyBjOiBib29sZWFuIH0+KHsga2V5OiAndDInIH0pCiAgICBieXRlY18yIC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE4MAogICAgLy8gdGhpcy5ib3gyLmNyZWF0ZSh7IHNpemU6IDIwIH0pCiAgICBwdXNoaW50IDIwCiAgICBib3hfY3JlYXRlCiAgICBwb3AKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3MwogICAgLy8gYm94MSA9IEJveDxbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5OiAndDEnIH0pCiAgICBieXRlY18xIC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE4MQogICAgLy8gYXNzZXJ0KHRoaXMuYm94MS5sZW5ndGggPT09IDEwKQogICAgYm94X2xlbgogICAgYXNzZXJ0IC8vIEJveCBtdXN0IGhhdmUgdmFsdWUKICAgIHB1c2hpbnQgMTAKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NAogICAgLy8gYm94MiA9IEJveDx7IGE6IHN0cmluZzsgYjogYnl0ZXM7IGM6IGJvb2xlYW4gfT4oeyBrZXk6ICd0MicgfSkKICAgIGJ5dGVjXzIgLy8gInQyIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTgyCiAgICAvLyBhc3NlcnQodGhpcy5ib3gyLmxlbmd0aCA9PT0gMjApCiAgICBib3hfbGVuCiAgICBhc3NlcnQgLy8gQm94IG11c3QgaGF2ZSB2YWx1ZQogICAgcHVzaGludCAyMAogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTczCiAgICAvLyBib3gxID0gQm94PFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXk6ICd0MScgfSkKICAgIGJ5dGVjXzEgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTg0CiAgICAvLyBhc3NlcnQodGhpcy5ib3gxLmV4aXN0cykKICAgIGJveF9sZW4KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc0CiAgICAvLyBib3gyID0gQm94PHsgYTogc3RyaW5nOyBiOiBieXRlczsgYzogYm9vbGVhbiB9Pih7IGtleTogJ3QyJyB9KQogICAgYnl0ZWNfMiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxODUKICAgIC8vIGFzc2VydCh0aGlzLmJveDIuZXhpc3RzKQogICAgYm94X2xlbgogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxODcKICAgIC8vIHRoaXMuYm94MS52YWx1ZSA9IFsnaGVsbG8nLCBCeXRlcygnd29ybGQnKSwgdHJ1ZV0KICAgIGJ5dGVjXzMgLy8gImhlbGxvIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWNfMyAvLyAiaGVsbG8iCiAgICBjb25jYXQKICAgIGludGNfMyAvLyA1CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMyAvLyA1CiAgICArCiAgICBieXRlYyA0IC8vICJ3b3JsZCIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAzCiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgYnl0ZWMgNyAvLyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18yIC8vIDEKICAgIHNldGJpdAogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3MwogICAgLy8gYm94MSA9IEJveDxbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5OiAndDEnIH0pCiAgICBieXRlY18xIC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE4NwogICAgLy8gdGhpcy5ib3gxLnZhbHVlID0gWydoZWxsbycsIEJ5dGVzKCd3b3JsZCcpLCB0cnVlXQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzMKICAgIC8vIGJveDEgPSBCb3g8W3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleTogJ3QxJyB9KQogICAgYnl0ZWNfMSAvLyAidDEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxODcKICAgIC8vIHRoaXMuYm94MS52YWx1ZSA9IFsnaGVsbG8nLCBCeXRlcygnd29ybGQnKSwgdHJ1ZV0KICAgIHVuY292ZXIgMQogICAgYm94X3B1dAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTg4CiAgICAvLyBhc3NlcnQodGhpcy5ib3gxLnZhbHVlWzBdID09PSAnaGVsbG8nKQogICAgaW50Y18wIC8vIDAKICAgIGludGNfMyAvLyA1CiAgICArCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzMKICAgIC8vIGJveDEgPSBCb3g8W3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleTogJ3QxJyB9KQogICAgYnl0ZWNfMSAvLyAidDEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxODgKICAgIC8vIGFzc2VydCh0aGlzLmJveDEudmFsdWVbMF0gPT09ICdoZWxsbycpCiAgICBkaWcgMQogICAgaW50Y18xIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBpbnRjXzIgLy8gMQogICAgKgogICAgaW50Y18xIC8vIDIKICAgICsKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3MwogICAgLy8gYm94MSA9IEJveDxbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5OiAndDEnIH0pCiAgICBieXRlY18xIC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE4OAogICAgLy8gYXNzZXJ0KHRoaXMuYm94MS52YWx1ZVswXSA9PT0gJ2hlbGxvJykKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBib3hfZXh0cmFjdAogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjXzMgLy8gImhlbGxvIgogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTg5CiAgICAvLyBhc3NlcnQodGhpcy5ib3gxLnZhbHVlWzFdLmVxdWFscyhCeXRlcygnd29ybGQnKSkpCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18xIC8vIDIKICAgICsKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3MwogICAgLy8gYm94MSA9IEJveDxbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5OiAndDEnIH0pCiAgICBieXRlY18xIC8vICJ0MSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE4OQogICAgLy8gYXNzZXJ0KHRoaXMuYm94MS52YWx1ZVsxXS5lcXVhbHMoQnl0ZXMoJ3dvcmxkJykpKQogICAgdW5jb3ZlciAxCiAgICBpbnRjXzEgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMCAvLyAwCiAgICArCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzMKICAgIC8vIGJveDEgPSBCb3g8W3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleTogJ3QxJyB9KQogICAgYnl0ZWNfMSAvLyAidDEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxODkKICAgIC8vIGFzc2VydCh0aGlzLmJveDEudmFsdWVbMV0uZXF1YWxzKEJ5dGVzKCd3b3JsZCcpKSkKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICAqCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTczCiAgICAvLyBib3gxID0gQm94PFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXk6ICd0MScgfSkKICAgIGJ5dGVjXzEgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTg5CiAgICAvLyBhc3NlcnQodGhpcy5ib3gxLnZhbHVlWzFdLmVxdWFscyhCeXRlcygnd29ybGQnKSkpCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgYm94X2V4dHJhY3QKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlYyA0IC8vICJ3b3JsZCIKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5MAogICAgLy8gYXNzZXJ0KHRoaXMuYm94MS52YWx1ZVsyXSkKICAgIHB1c2hpbnQgMzIKICAgIHB1c2hpbnQgOAogICAgLwogICAgaW50Y18wIC8vIDAKICAgICsKICAgIHB1c2hpbnQgMzIKICAgIHB1c2hpbnQgOAogICAgJQogICAgY292ZXIgMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTczCiAgICAvLyBib3gxID0gQm94PFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXk6ICd0MScgfSkKICAgIGJ5dGVjXzEgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTkwCiAgICAvLyBhc3NlcnQodGhpcy5ib3gxLnZhbHVlWzJdKQogICAgdW5jb3ZlciAxCiAgICBpbnRjXzIgLy8gMQogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGNvdmVyIDEKICAgIGR1cAogICAgcHVzaGludCA4CiAgICA8CiAgICBhc3NlcnQgLy8gaW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGdldGJpdAogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTIKICAgIC8vIHRoaXMuYm94Mi52YWx1ZSA9IHsgYTogJ2hlbGxvJywgYjogQnl0ZXMoJ3dvcmxkJyksIGM6IHRydWUgfQogICAgYnl0ZWNfMyAvLyAiaGVsbG8iCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18zIC8vICJoZWxsbyIKICAgIGNvbmNhdAogICAgaW50Y18zIC8vIDUKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBwdXNoYnl0ZXMgMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDUKICAgICsKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgNCAvLyAid29ybGQiCiAgICBjb25jYXQKICAgIGNvdmVyIDEKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICB1bmNvdmVyIDMKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBieXRlYyA3IC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICBpbnRjXzIgLy8gMQogICAgc2V0Yml0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc0CiAgICAvLyBib3gyID0gQm94PHsgYTogc3RyaW5nOyBiOiBieXRlczsgYzogYm9vbGVhbiB9Pih7IGtleTogJ3QyJyB9KQogICAgYnl0ZWNfMiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTIKICAgIC8vIHRoaXMuYm94Mi52YWx1ZSA9IHsgYTogJ2hlbGxvJywgYjogQnl0ZXMoJ3dvcmxkJyksIGM6IHRydWUgfQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzQKICAgIC8vIGJveDIgPSBCb3g8eyBhOiBzdHJpbmc7IGI6IGJ5dGVzOyBjOiBib29sZWFuIH0+KHsga2V5OiAndDInIH0pCiAgICBieXRlY18yIC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5MgogICAgLy8gdGhpcy5ib3gyLnZhbHVlID0geyBhOiAnaGVsbG8nLCBiOiBCeXRlcygnd29ybGQnKSwgYzogdHJ1ZSB9CiAgICB1bmNvdmVyIDEKICAgIGJveF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5MwogICAgLy8gYXNzZXJ0KHRoaXMuYm94Mi52YWx1ZS5hID09PSAnaGVsbG8nKQogICAgaW50Y18wIC8vIDAKICAgIGludGNfMyAvLyA1CiAgICArCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzQKICAgIC8vIGJveDIgPSBCb3g8eyBhOiBzdHJpbmc7IGI6IGJ5dGVzOyBjOiBib29sZWFuIH0+KHsga2V5OiAndDInIH0pCiAgICBieXRlY18yIC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5MwogICAgLy8gYXNzZXJ0KHRoaXMuYm94Mi52YWx1ZS5hID09PSAnaGVsbG8nKQogICAgZGlnIDEKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18yIC8vIDEKICAgICoKICAgIGludGNfMSAvLyAyCiAgICArCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzQKICAgIC8vIGJveDIgPSBCb3g8eyBhOiBzdHJpbmc7IGI6IGJ5dGVzOyBjOiBib29sZWFuIH0+KHsga2V5OiAndDInIH0pCiAgICBieXRlY18yIC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5MwogICAgLy8gYXNzZXJ0KHRoaXMuYm94Mi52YWx1ZS5hID09PSAnaGVsbG8nKQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIGJveF9leHRyYWN0CiAgICBleHRyYWN0IDIgMAogICAgYnl0ZWNfMyAvLyAiaGVsbG8iCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTQKICAgIC8vIGFzc2VydCh0aGlzLmJveDIudmFsdWUuYi5lcXVhbHMoQnl0ZXMoJ3dvcmxkJykpKQogICAgaW50Y18wIC8vIDAKICAgIGludGNfMSAvLyAyCiAgICArCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzQKICAgIC8vIGJveDIgPSBCb3g8eyBhOiBzdHJpbmc7IGI6IGJ5dGVzOyBjOiBib29sZWFuIH0+KHsga2V5OiAndDInIH0pCiAgICBieXRlY18yIC8vICJ0MiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE5NAogICAgLy8gYXNzZXJ0KHRoaXMuYm94Mi52YWx1ZS5iLmVxdWFscyhCeXRlcygnd29ybGQnKSkpCiAgICB1bmNvdmVyIDEKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18wIC8vIDAKICAgICsKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NAogICAgLy8gYm94MiA9IEJveDx7IGE6IHN0cmluZzsgYjogYnl0ZXM7IGM6IGJvb2xlYW4gfT4oeyBrZXk6ICd0MicgfSkKICAgIGJ5dGVjXzIgLy8gInQyIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTk0CiAgICAvLyBhc3NlcnQodGhpcy5ib3gyLnZhbHVlLmIuZXF1YWxzKEJ5dGVzKCd3b3JsZCcpKSkKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICAqCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc0CiAgICAvLyBib3gyID0gQm94PHsgYTogc3RyaW5nOyBiOiBieXRlczsgYzogYm9vbGVhbiB9Pih7IGtleTogJ3QyJyB9KQogICAgYnl0ZWNfMiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTQKICAgIC8vIGFzc2VydCh0aGlzLmJveDIudmFsdWUuYi5lcXVhbHMoQnl0ZXMoJ3dvcmxkJykpKQogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIGJveF9leHRyYWN0CiAgICBleHRyYWN0IDIgMAogICAgYnl0ZWMgNCAvLyAid29ybGQiCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTUKICAgIC8vIGFzc2VydCh0aGlzLmJveDIudmFsdWUuYykKICAgIHB1c2hpbnQgMzIKICAgIHB1c2hpbnQgOAogICAgLwogICAgaW50Y18wIC8vIDAKICAgICsKICAgIHB1c2hpbnQgMzIKICAgIHB1c2hpbnQgOAogICAgJQogICAgY292ZXIgMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc0CiAgICAvLyBib3gyID0gQm94PHsgYTogc3RyaW5nOyBiOiBieXRlczsgYzogYm9vbGVhbiB9Pih7IGtleTogJ3QyJyB9KQogICAgYnl0ZWNfMiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxOTUKICAgIC8vIGFzc2VydCh0aGlzLmJveDIudmFsdWUuYykKICAgIHVuY292ZXIgMQogICAgaW50Y18yIC8vIDEKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIHB1c2hpbnQgOAogICAgPAogICAgYXNzZXJ0IC8vIGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBnZXRiaXQKICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTczCiAgICAvLyBib3gxID0gQm94PFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXk6ICd0MScgfSkKICAgIGJ5dGVjXzEgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTk3CiAgICAvLyB0aGlzLmJveDEuZGVsZXRlKCkKICAgIGJveF9kZWwKICAgIHBvcAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTczCiAgICAvLyBib3gxID0gQm94PFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXk6ICd0MScgfSkKICAgIGJ5dGVjXzEgLy8gInQxIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTk4CiAgICAvLyBhc3NlcnQoIXRoaXMuYm94MS5leGlzdHMpCiAgICBib3hfbGVuCiAgICAhCiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NAogICAgLy8gYm94MiA9IEJveDx7IGE6IHN0cmluZzsgYjogYnl0ZXM7IGM6IGJvb2xlYW4gfT4oeyBrZXk6ICd0MicgfSkKICAgIGJ5dGVjXzIgLy8gInQyIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjAwCiAgICAvLyB0aGlzLmJveDIuZGVsZXRlKCkKICAgIGJveF9kZWwKICAgIHBvcAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc0CiAgICAvLyBib3gyID0gQm94PHsgYTogc3RyaW5nOyBiOiBieXRlczsgYzogYm9vbGVhbiB9Pih7IGtleTogJ3QyJyB9KQogICAgYnl0ZWNfMiAvLyAidDIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMDEKICAgIC8vIGFzc2VydCghdGhpcy5ib3gyLmV4aXN0cykKICAgIGJveF9sZW4KICAgICEKICAgIGFzc2VydAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6OlR1cGxlQm94LnRlc3RCb3hNYXAoKSAtPiB2b2lkOgp0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czo6VHVwbGVCb3gudGVzdEJveE1hcDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwNAogICAgLy8gdGVzdEJveE1hcCgpIHsKICAgIHByb3RvIDAgMAogICAgYiB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czo6VHVwbGVCb3gudGVzdEJveE1hcF9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czo6VHVwbGVCb3gudGVzdEJveE1hcF9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGJ5dGVjIDUgLy8gInRtMSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwNQogICAgLy8gYXNzZXJ0KCF0aGlzLmJveE1hcDEoJ2EnKS5leGlzdHMpCiAgICBieXRlY18wIC8vICJhIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjA1CiAgICAvLyBhc3NlcnQoIXRoaXMuYm94TWFwMSgnYScpLmV4aXN0cykKICAgIGJveF9sZW4KICAgICEKICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBieXRlYyA2IC8vICJ0bTIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMDYKICAgIC8vIGFzc2VydCghdGhpcy5ib3hNYXAyKCdhJykuZXhpc3RzKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMDYKICAgIC8vIGFzc2VydCghdGhpcy5ib3hNYXAyKCdhJykuZXhpc3RzKQogICAgYm94X2xlbgogICAgIQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMDgKICAgIC8vIHRoaXMuYm94TWFwMSgnYScpLnZhbHVlID0gWydoZWxsbycsIEJ5dGVzKCd3b3JsZCcpLCB0cnVlXQogICAgYnl0ZWNfMyAvLyAiaGVsbG8iCiAgICBsZW4KICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBieXRlY18zIC8vICJoZWxsbyIKICAgIGNvbmNhdAogICAgaW50Y18zIC8vIDUKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBwdXNoYnl0ZXMgMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDUKICAgICsKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgNCAvLyAid29ybGQiCiAgICBjb25jYXQKICAgIGNvdmVyIDEKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICB1bmNvdmVyIDMKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBieXRlYyA3IC8vIDB4MDAKICAgIGludGNfMCAvLyAwCiAgICBpbnRjXzIgLy8gMQogICAgc2V0Yml0CiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGJ5dGVjIDUgLy8gInRtMSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwOAogICAgLy8gdGhpcy5ib3hNYXAxKCdhJykudmFsdWUgPSBbJ2hlbGxvJywgQnl0ZXMoJ3dvcmxkJyksIHRydWVdCiAgICBieXRlY18wIC8vICJhIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjA4CiAgICAvLyB0aGlzLmJveE1hcDEoJ2EnKS52YWx1ZSA9IFsnaGVsbG8nLCBCeXRlcygnd29ybGQnKSwgdHJ1ZV0KICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICB1bmNvdmVyIDEKICAgIGJveF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIwOQogICAgLy8gdGhpcy5ib3hNYXAyKCdhJykudmFsdWUgPSB7IGE6ICdoZWxsbycsIGI6IEJ5dGVzKCd3b3JsZCcpLCBjOiB0cnVlIH0KICAgIGJ5dGVjXzMgLy8gImhlbGxvIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWNfMyAvLyAiaGVsbG8iCiAgICBjb25jYXQKICAgIGludGNfMyAvLyA1CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgcHVzaGJ5dGVzIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMyAvLyA1CiAgICArCiAgICBieXRlYyA0IC8vICJ3b3JsZCIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAzCiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgYnl0ZWMgNyAvLyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18yIC8vIDEKICAgIHNldGJpdAogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgYnl0ZWMgNiAvLyAidG0yIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjA5CiAgICAvLyB0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZSA9IHsgYTogJ2hlbGxvJywgYjogQnl0ZXMoJ3dvcmxkJyksIGM6IHRydWUgfQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMDkKICAgIC8vIHRoaXMuYm94TWFwMignYScpLnZhbHVlID0geyBhOiAnaGVsbG8nLCBiOiBCeXRlcygnd29ybGQnKSwgYzogdHJ1ZSB9CiAgICBkdXAKICAgIGJveF9kZWwKICAgIHBvcAogICAgdW5jb3ZlciAxCiAgICBib3hfcHV0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzUKICAgIC8vIGJveE1hcDEgPSBCb3hNYXA8c3RyaW5nLCBbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5UHJlZml4OiAndG0xJyB9KQogICAgYnl0ZWMgNSAvLyAidG0xIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjEwCiAgICAvLyBhc3NlcnQodGhpcy5ib3hNYXAxKCdhJykuZXhpc3RzKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxMAogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLmV4aXN0cykKICAgIGJveF9sZW4KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGJ5dGVjIDUgLy8gInRtMSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxMgogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLnZhbHVlWzBdID09PSAnaGVsbG8nKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxMgogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLnZhbHVlWzBdID09PSAnaGVsbG8nKQogICAgaW50Y18wIC8vIDAKICAgIGludGNfMyAvLyA1CiAgICArCiAgICBkdXAyCiAgICBpbnRjXzEgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICAqCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgYm94X2V4dHJhY3QKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlY18zIC8vICJoZWxsbyIKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBieXRlYyA1IC8vICJ0bTEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTMKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDEoJ2EnKS52YWx1ZVsxXS5lcXVhbHMoQnl0ZXMoJ3dvcmxkJykpKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxMwogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLnZhbHVlWzFdLmVxdWFscyhCeXRlcygnd29ybGQnKSkpCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICB1bmNvdmVyIDEKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18wIC8vIDAKICAgICsKICAgIGR1cDIKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18yIC8vIDEKICAgICoKICAgIGludGNfMSAvLyAyCiAgICArCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBib3hfZXh0cmFjdAogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGJ5dGVjIDUgLy8gInRtMSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxNAogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLnZhbHVlWzJdKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxNAogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYScpLnZhbHVlWzJdKQogICAgcHVzaGludCAzMgogICAgcHVzaGludCA4CiAgICAvCiAgICBpbnRjXzAgLy8gMAogICAgKwogICAgcHVzaGludCAzMgogICAgcHVzaGludCA4CiAgICAlCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMQogICAgaW50Y18yIC8vIDEKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIHB1c2hpbnQgOAogICAgPAogICAgYXNzZXJ0IC8vIGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBnZXRiaXQKICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBieXRlYyA2IC8vICJ0bTIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTYKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS5leGlzdHMpCiAgICBieXRlY18wIC8vICJhIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIxNgogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMignYScpLmV4aXN0cykKICAgIGJveF9sZW4KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBieXRlYyA2IC8vICJ0bTIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTcKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZS5hID09PSAnaGVsbG8nKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTcKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZS5hID09PSAnaGVsbG8nKQogICAgaW50Y18wIC8vIDAKICAgIGludGNfMyAvLyA1CiAgICArCiAgICBkdXAyCiAgICBpbnRjXzEgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICAqCiAgICBpbnRjXzEgLy8gMgogICAgKwogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgYm94X2V4dHJhY3QKICAgIGV4dHJhY3QgMiAwCiAgICBieXRlY18zIC8vICJoZWxsbyIKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgYnl0ZWMgNiAvLyAidG0yIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjE4CiAgICAvLyBhc3NlcnQodGhpcy5ib3hNYXAyKCdhJykudmFsdWUuYi5lcXVhbHMoQnl0ZXMoJ3dvcmxkJykpKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTgKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZS5iLmVxdWFscyhCeXRlcygnd29ybGQnKSkpCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18xIC8vIDIKICAgICsKICAgIGRpZyAxCiAgICB1bmNvdmVyIDEKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18wIC8vIDAKICAgICsKICAgIGR1cDIKICAgIGludGNfMSAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgaW50Y18yIC8vIDEKICAgICoKICAgIGludGNfMSAvLyAyCiAgICArCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAyCiAgICBib3hfZXh0cmFjdAogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjIDQgLy8gIndvcmxkIgogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBieXRlYyA2IC8vICJ0bTIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTkKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZS5jKQogICAgYnl0ZWNfMCAvLyAiYSIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMTkKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2EnKS52YWx1ZS5jKQogICAgcHVzaGludCAzMgogICAgcHVzaGludCA4CiAgICAvCiAgICBpbnRjXzAgLy8gMAogICAgKwogICAgcHVzaGludCAzMgogICAgcHVzaGludCA4CiAgICAlCiAgICBjb3ZlciAxCiAgICB1bmNvdmVyIDIKICAgIHVuY292ZXIgMQogICAgaW50Y18yIC8vIDEKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIHB1c2hpbnQgOAogICAgPAogICAgYXNzZXJ0IC8vIGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBnZXRiaXQKICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjIxCiAgICAvLyB0aGlzLmJveE1hcDEoJ2InKS52YWx1ZSA9IFsnYWJjJywgQnl0ZXMoJ2RlZicpLCBmYWxzZV0KICAgIGJ5dGVjIDggLy8gImFiYyIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDggLy8gImFiYyIKICAgIGNvbmNhdAogICAgaW50Y18zIC8vIDUKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBwdXNoYnl0ZXMgMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDUKICAgICsKICAgIGJ5dGVjIDkgLy8gImRlZiIKICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGJ5dGVjIDkgLy8gImRlZiIKICAgIGNvbmNhdAogICAgY292ZXIgMQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHVuY292ZXIgMwogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGJ5dGVjIDcgLy8gMHgwMAogICAgaW50Y18wIC8vIDAKICAgIGludGNfMCAvLyAwCiAgICBzZXRiaXQKICAgIGNvbmNhdAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzUKICAgIC8vIGJveE1hcDEgPSBCb3hNYXA8c3RyaW5nLCBbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5UHJlZml4OiAndG0xJyB9KQogICAgYnl0ZWMgNSAvLyAidG0xIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjIxCiAgICAvLyB0aGlzLmJveE1hcDEoJ2InKS52YWx1ZSA9IFsnYWJjJywgQnl0ZXMoJ2RlZicpLCBmYWxzZV0KICAgIGJ5dGVjIDEwIC8vICJiIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjIxCiAgICAvLyB0aGlzLmJveE1hcDEoJ2InKS52YWx1ZSA9IFsnYWJjJywgQnl0ZXMoJ2RlZicpLCBmYWxzZV0KICAgIGR1cAogICAgYm94X2RlbAogICAgcG9wCiAgICB1bmNvdmVyIDEKICAgIGJveF9wdXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBieXRlYyA1IC8vICJ0bTEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMjIKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDEoJ2InKS5leGlzdHMpCiAgICBieXRlYyAxMCAvLyAiYiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIyMgogICAgLy8gYXNzZXJ0KHRoaXMuYm94TWFwMSgnYicpLmV4aXN0cykKICAgIGJveF9sZW4KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjI0CiAgICAvLyB0aGlzLmJveE1hcDIoJ2InKS52YWx1ZSA9IHsgYTogJ2FiYycsIGI6IEJ5dGVzKCdkZWYnKSwgYzogZmFsc2UgfQogICAgYnl0ZWMgOCAvLyAiYWJjIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgOCAvLyAiYWJjIgogICAgY29uY2F0CiAgICBpbnRjXzMgLy8gNQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIHB1c2hieXRlcyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGNvdmVyIDEKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gNQogICAgKwogICAgYnl0ZWMgOSAvLyAiZGVmIgogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgYnl0ZWMgOSAvLyAiZGVmIgogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAzCiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgYnl0ZWMgNyAvLyAweDAwCiAgICBpbnRjXzAgLy8gMAogICAgaW50Y18wIC8vIDAKICAgIHNldGJpdAogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgYnl0ZWMgNiAvLyAidG0yIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjI0CiAgICAvLyB0aGlzLmJveE1hcDIoJ2InKS52YWx1ZSA9IHsgYTogJ2FiYycsIGI6IEJ5dGVzKCdkZWYnKSwgYzogZmFsc2UgfQogICAgYnl0ZWMgMTAgLy8gImIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzYKICAgIC8vIGJveE1hcDIgPSBCb3hNYXA8c3RyaW5nLCBCb3hNYXAyPih7IGtleVByZWZpeDogJ3RtMicgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjI0CiAgICAvLyB0aGlzLmJveE1hcDIoJ2InKS52YWx1ZSA9IHsgYTogJ2FiYycsIGI6IEJ5dGVzKCdkZWYnKSwgYzogZmFsc2UgfQogICAgZHVwCiAgICBib3hfZGVsCiAgICBwb3AKICAgIHVuY292ZXIgMQogICAgYm94X3B1dAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBieXRlYyA2IC8vICJ0bTIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMjUKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2InKS5leGlzdHMpCiAgICBieXRlYyAxMCAvLyAiYiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NgogICAgLy8gYm94TWFwMiA9IEJveE1hcDxzdHJpbmcsIEJveE1hcDI+KHsga2V5UHJlZml4OiAndG0yJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMjUKICAgIC8vIGFzc2VydCh0aGlzLmJveE1hcDIoJ2InKS5leGlzdHMpCiAgICBib3hfbGVuCiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjE3NQogICAgLy8gYm94TWFwMSA9IEJveE1hcDxzdHJpbmcsIFtzdHJpbmcsIGJ5dGVzLCBib29sZWFuXT4oeyBrZXlQcmVmaXg6ICd0bTEnIH0pCiAgICBieXRlYyA1IC8vICJ0bTEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMjcKICAgIC8vIHRoaXMuYm94TWFwMSgnYScpLmRlbGV0ZSgpCiAgICBieXRlY18wIC8vICJhIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc1CiAgICAvLyBib3hNYXAxID0gQm94TWFwPHN0cmluZywgW3N0cmluZywgYnl0ZXMsIGJvb2xlYW5dPih7IGtleVByZWZpeDogJ3RtMScgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjI3CiAgICAvLyB0aGlzLmJveE1hcDEoJ2EnKS5kZWxldGUoKQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzUKICAgIC8vIGJveE1hcDEgPSBCb3hNYXA8c3RyaW5nLCBbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5UHJlZml4OiAndG0xJyB9KQogICAgYnl0ZWMgNSAvLyAidG0xIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjI4CiAgICAvLyBhc3NlcnQoIXRoaXMuYm94TWFwMSgnYScpLmV4aXN0cykKICAgIGJ5dGVjXzAgLy8gImEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzUKICAgIC8vIGJveE1hcDEgPSBCb3hNYXA8c3RyaW5nLCBbc3RyaW5nLCBieXRlcywgYm9vbGVhbl0+KHsga2V5UHJlZml4OiAndG0xJyB9KQogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoyMjgKICAgIC8vIGFzc2VydCghdGhpcy5ib3hNYXAxKCdhJykuZXhpc3RzKQogICAgYm94X2xlbgogICAgIQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzYKICAgIC8vIGJveE1hcDIgPSBCb3hNYXA8c3RyaW5nLCBCb3hNYXAyPih7IGtleVByZWZpeDogJ3RtMicgfSkKICAgIGJ5dGVjIDYgLy8gInRtMiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIzMAogICAgLy8gdGhpcy5ib3hNYXAyKCdhJykuZGVsZXRlKCkKICAgIGJ5dGVjXzAgLy8gImEiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzYKICAgIC8vIGJveE1hcDIgPSBCb3hNYXA8c3RyaW5nLCBCb3hNYXAyPih7IGtleVByZWZpeDogJ3RtMicgfSkKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MjMwCiAgICAvLyB0aGlzLmJveE1hcDIoJ2EnKS5kZWxldGUoKQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvYm94LXByb3hpZXMuYWxnby50czoxNzYKICAgIC8vIGJveE1hcDIgPSBCb3hNYXA8c3RyaW5nLCBCb3hNYXAyPih7IGtleVByZWZpeDogJ3RtMicgfSkKICAgIGJ5dGVjIDYgLy8gInRtMiIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIzMQogICAgLy8gYXNzZXJ0KCF0aGlzLmJveE1hcDIoJ2EnKS5leGlzdHMpCiAgICBieXRlY18wIC8vICJhIgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2JveC1wcm94aWVzLmFsZ28udHM6MTc2CiAgICAvLyBib3hNYXAyID0gQm94TWFwPHN0cmluZywgQm94TWFwMj4oeyBrZXlQcmVmaXg6ICd0bTInIH0pCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjIzMQogICAgLy8gYXNzZXJ0KCF0aGlzLmJveE1hcDIoJ2EnKS5leGlzdHMpCiAgICBib3hfbGVuCiAgICAhCiAgICBhc3NlcnQKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9ib3gtcHJveGllcy5hbGdvLnRzOjpUdXBsZUJveC5fX2FsZ290c19fLmRlZmF1bHRDcmVhdGUoKSAtPiB2b2lkOgpfX2FsZ290c19fLmRlZmF1bHRDcmVhdGU6CiAgICBiIF9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZV9ibG9ja0AwCgpfX2FsZ290c19fLmRlZmF1bHRDcmVhdGVfYmxvY2tAMDoKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAEAAIBBSYLAWECdDECdDIFaGVsbG8Fd29ybGQDdG0xA3RtMgEAA2FiYwNkZWYBYkIAAEIAADEbIhNBAEJCAAAxGSISRDEYIhNBADBCAAA2GgCABPwZxG6ABJ8fGOVPAo4CABAACkIAAEIAAEIAAACIACNC//OIABVC/+1C/+0xGSISMRgiEhBEiAOUJENCAACIAAokQ0IAAIgBYyRDigAAQgAAKYEKuUgqgRS5SCm9RIEKEkQqvUSBFBJEKb1EKr1EKxUWVwYCK1AlFlcGAoAATwFQTgFJFSUIJwQVFlcGAicEUE4BFlcGAk8DTwFQJwciJFRQTwJQTwFQKbxIKU8BvyIlCClLASO6FyQLIwgpTwJPArpXAgArEkQiIwgpTwEjuhciCClLASO6FyQLIwgpTwJPArpXAgAnBBJEgSCBCAoiCIEggQgYTgEpTwEkuk4BSYEIDERTRCsVFlcGAitQJRZXBgKAAE8BUE4BSRUlCCcEFRZXBgInBFBOARZXBgJPA08BUCcHIiRUUE8CUE8BUCq8SCpPAb8iJQgqSwEjuhckCyMIKk8CTwK6VwIAKxJEIiMIKk8BI7oXIggqSwEjuhckCyMIKk8CTwK6VwIAJwQSRIEggQgKIgiBIIEIGE4BKk8BJLpOAUmBCAxEU0QpvEgpvRREKrxIKr0URImKAABCAAAnBShQvRREJwYoUL0URCsVFlcGAitQJRZXBgKAAE8BUE4BSRUlCCcEFRZXBgInBFBOARZXBgJPA08BUCcHIiRUUE8CUE8BUCcFKFBJvEhPAb8rFRZXBgIrUCUWVwYCgABPAVBOAUkVJQgnBBUWVwYCJwRQTgEWVwYCTwNPAVAnByIkVFBPAlBPAVAnBihQSbxITwG/JwUoUL1EJwUoUCIlCEojuhckCyMITwJPAk8CulcCACsSRCcFKFAiIwhLAU8BI7oXIghKI7oXJAsjCE8CTwJPArpXAgAnBBJEJwUoUIEggQgKIgiBIIEIGE4BTwJPASS6TgFJgQgMRFNEJwYoUL1EJwYoUCIlCEojuhckCyMITwJPAk8CulcCACsSRCcGKFAiIwhLAU8BI7oXIghKI7oXJAsjCE8CTwJPArpXAgAnBBJEJwYoUIEggQgKIgiBIIEIGE4BTwJPASS6TgFJgQgMRFNEJwgVFlcGAicIUCUWVwYCgABPAVBOAUkVJQgnCRUWVwYCJwlQTgEWVwYCTwNPAVAnByIiVFBPAlBPAVAnBScKUEm8SE8BvycFJwpQvUQnCBUWVwYCJwhQJRZXBgKAAE8BUE4BSRUlCCcJFRZXBgInCVBOARZXBgJPA08BUCcHIiJUUE8CUE8BUCcGJwpQSbxITwG/JwYnClC9RCcFKFC8SCcFKFC9FEQnBihQvEgnBihQvRREiUIAAIk=", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }