{ "name": "ObjectDestructuringAlgo", "structs": {}, "methods": [ { "name": "test", "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": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 166, 238, 248, 264, 499, 540, 592, 693 ], "errorMessage": "assert target is match for conditions" }, { "pc": [ 620, 643, 665, 688 ], "errorMessage": "index access is out of bounds" }, { "pc": [ 601 ], "errorMessage": "invalid array length header" }, { "pc": [ 196, 360 ], "errorMessage": "overflow" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgOCAwIDIgMSA0MzQKICAgIGJ5dGVjYmxvY2sgMHggMHgwM2U3CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgYiBtYWluX2Jsb2NrQDEKCm1haW5fYmxvY2tAMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEwOQogICAgLy8gY2xhc3MgT2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gTnVtQXBwQXJncwogICAgaW50Y18xIC8vIDAKICAgICE9CiAgICBieiBtYWluX19fYWxnb3RzX18uZGVmYXVsdENyZWF0ZUA1CiAgICBiIG1haW5fYWJpX3JvdXRpbmdAMgoKbWFpbl9hYmlfcm91dGluZ0AyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MTA5CiAgICAvLyBjbGFzcyBPYmplY3REZXN0cnVjdHVyaW5nQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIHB1c2hieXRlcyAweGE3ODAwMGRlIC8vIG1ldGhvZCAidGVzdCgpdm9pZCIKICAgIHVuY292ZXIgMQogICAgbWF0Y2ggbWFpbl90ZXN0X3JvdXRlQDMKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDQKCm1haW5fc3dpdGNoX2Nhc2VfbmV4dEA0OgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VANgoKbWFpbl9hZnRlcl9pZl9lbHNlQDY6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoxMDkKICAgIC8vIGNsYXNzIE9iamVjdERlc3RydWN0dXJpbmdBbGdvIGV4dGVuZHMgQ29udHJhY3QgewogICAgZXJyCgptYWluX3Rlc3Rfcm91dGVAMzoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjExMAogICAgLy8gdGVzdCgpIHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIGludGNfMSAvLyBOb09wCiAgICA9PQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMSAvLyAwCiAgICAhPQogICAgJiYKICAgIGFzc2VydAogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6T2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28udGVzdFtyb3V0aW5nXQogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRANAoKbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVANToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEwOQogICAgLy8gY2xhc3MgT2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzEgLy8gTm9PcAogICAgPT0KICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBpbnRjXzEgLy8gMAogICAgPT0KICAgICYmCiAgICBhc3NlcnQKICAgIGNhbGxzdWIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlCiAgICBpbnRjXzMgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OnRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmUoYXJnLng6IHVpbnQ2NCwgYXJnLnk6IHVpbnQ2NCwgYXJnLno6IGJ5dGVzKSAtPiB1aW50NjQsIHVpbnQ2NDoKdGVzdFBhcnRpYWxEZXN0cnVjdHVyZToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjcKICAgIC8vIGZ1bmN0aW9uIHRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmUoYXJnOiBSZWFkb25seTx7IHg6IHVpbnQ2NDsgeTogdWludDY0OyB6OiBiaWd1aW50IH0+KSB7CiAgICBwcm90byAzIDIKICAgIGIgdGVzdFBhcnRpYWxEZXN0cnVjdHVyZV9ibG9ja0AwCgp0ZXN0UGFydGlhbERlc3RydWN0dXJlX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo4CiAgICAvLyBjb25zdCB7IHggfSA9IGFyZwogICAgZnJhbWVfZGlnIC0zCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo5LTExCiAgICAvLyBjb25zdCB7CiAgICAvLyAgIG5lc3RlZDogeyB5IH0sCiAgICAvLyB9ID0geyBuZXN0ZWQ6IGFyZyB9CiAgICBmcmFtZV9kaWcgLTIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEyCiAgICAvLyByZXR1cm4gW3gsIHldIGFzIGNvbnN0CiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6dGVzdFBhcnRpYWxEZXN0cnVjdHVyZU11dGFibGVPYmplY3QoYXJnOiBieXRlcykgLT4gdWludDY0LCB1aW50NjQsIGJ5dGVzOgp0ZXN0UGFydGlhbERlc3RydWN0dXJlTXV0YWJsZU9iamVjdDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjE1CiAgICAvLyBmdW5jdGlvbiB0ZXN0UGFydGlhbERlc3RydWN0dXJlTXV0YWJsZU9iamVjdChhcmc6IFZlY3RvcikgewogICAgcHJvdG8gMSAzCiAgICBiIHRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmVNdXRhYmxlT2JqZWN0X2Jsb2NrQDAKCnRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmVNdXRhYmxlT2JqZWN0X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoxOAogICAgLy8gfSA9IGFyZwogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgcHVzaGludCAxNgogICAgZXh0cmFjdDMKICAgIGludGNfMSAvLyAwCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjIzCiAgICAvLyB9ID0geyBuZXN0ZWQ6IGNsb25lKGFyZykgfQogICAgZnJhbWVfZGlnIC0xCiAgICBpbnRjXzEgLy8gMAogICAgcHVzaGludCAxNgogICAgZXh0cmFjdDMKICAgIGludGNfMCAvLyA4CiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjI0CiAgICAvLyByZXR1cm4gW3gsIHldIGFzIGNvbnN0CiAgICBmcmFtZV9kaWcgLTEKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjp0ZXN0KCkgLT4gdm9pZDoKdGVzdDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjI3CiAgICAvLyBmdW5jdGlvbiB0ZXN0KCkgewogICAgcHJvdG8gMCAwCiAgICBiIHRlc3RfYmxvY2tAMAoKdGVzdF9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MjgKICAgIC8vIGNvbnN0IHsgYSwgYiwgYywgZCB9ID0gcHJvZHVjZUl0ZW1zKCkKICAgIGNhbGxzdWIgcHJvZHVjZUl0ZW1zCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoyOQogICAgLy8gY29uc3QgeyBkOiBlIH0gPSBwcm9kdWNlSXRlbXMoKQogICAgY2FsbHN1YiBwcm9kdWNlSXRlbXMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjMxCiAgICAvLyBjb25zdCBmID0gKHsgYTogZywgZDogaSB9ID0gcHJvZHVjZUl0ZW1zKCkpCiAgICBjYWxsc3ViIHByb2R1Y2VJdGVtcwogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgaW50Y18wIC8vIDgKICAgIGV4dHJhY3QzCiAgICBidG9pCiAgICBjb3ZlciAxCiAgICBwdXNoaW50IDExCiAgICBwdXNoaW50IDY0CiAgICBleHRyYWN0MwogICAgY292ZXIgMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MzIKICAgIC8vIGFzc2VydE1hdGNoKFtnLCBpXSwgWzEsIDk5OW5dKQogICAgaW50Y18yIC8vIDIKICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgdW5jb3ZlciAxCiAgICBpbnRjXzMgLy8gMQogICAgPT0KICAgICYmCiAgICB1bmNvdmVyIDEKICAgIGJ5dGVjXzEgLy8gMHgwM2U3CiAgICBiPT0KICAgICYmCiAgICBhc3NlcnQgLy8gYXNzZXJ0IHRhcmdldCBpcyBtYXRjaCBmb3IgY29uZGl0aW9ucwogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MzMKICAgIC8vIHJlY2VpdmVQYXJ0aWFsKHByb2R1Y2VJdGVtcygpKQogICAgY2FsbHN1YiBwcm9kdWNlSXRlbXMKICAgIGR1cAogICAgaW50Y18xIC8vIDAKICAgIGludGNfMCAvLyA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgY292ZXIgMQogICAgcHVzaGludCAxMQogICAgcHVzaGludCA2NAogICAgZXh0cmFjdDMKICAgIGNvdmVyIDEKICAgIGl0b2IKICAgIGJ5dGVjXzAgLy8gMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgcHVzaGludCA2NAogICAgPD0KICAgIGFzc2VydCAvLyBvdmVyZmxvdwogICAgcHVzaGludCA2NAogICAgYnplcm8KICAgIGJ8CiAgICBjb25jYXQKICAgIGNhbGxzdWIgcmVjZWl2ZVBhcnRpYWwKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjp0ZXN0RHVwbGljYXRlU291cmNlS2V5KCkgLT4gdm9pZDoKdGVzdER1cGxpY2F0ZVNvdXJjZUtleToKICAgIGIgdGVzdER1cGxpY2F0ZVNvdXJjZUtleV9ibG9ja0AwCgp0ZXN0RHVwbGljYXRlU291cmNlS2V5X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czozNwogICAgLy8gY29uc3QgeyBhLCBhOiBhQ29weSB9ID0gcHJvZHVjZUl0ZW1zKCkKICAgIGNhbGxzdWIgcHJvZHVjZUl0ZW1zCiAgICBkdXAKICAgIGludGNfMSAvLyAwCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGNvdmVyIDEKICAgIGludGNfMSAvLyAwCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGNvdmVyIDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjM4CiAgICAvLyBhc3NlcnRNYXRjaChbYSwgYUNvcHldLCBbMSwgMV0pCiAgICBpbnRjXzIgLy8gMgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICB1bmNvdmVyIDEKICAgIGludGNfMyAvLyAxCiAgICA9PQogICAgJiYKICAgIHVuY292ZXIgMQogICAgaW50Y18zIC8vIDEKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIGFzc2VydCB0YXJnZXQgaXMgbWF0Y2ggZm9yIGNvbmRpdGlvbnMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjQxCiAgICAvLyBhc3NlcnRNYXRjaChbeF0sIFs3XSkKICAgIGludGNfMyAvLyAxCiAgICBpbnRjXzMgLy8gMQogICAgPT0KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjQwCiAgICAvLyBjb25zdCB7IGE6IHggfSA9IHsgYTogVWludDY0KDcpIH0KICAgIHB1c2hpbnQgNwogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6NDEKICAgIC8vIGFzc2VydE1hdGNoKFt4XSwgWzddKQogICAgcHVzaGludCA3CiAgICA9PQogICAgJiYKICAgIGFzc2VydCAvLyBhc3NlcnQgdGFyZ2V0IGlzIG1hdGNoIGZvciBjb25kaXRpb25zCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo0NQogICAgLy8gYXNzZXJ0TWF0Y2goW3AsIHFdLCBbMywgM10pCiAgICBpbnRjXzIgLy8gMgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo0NAogICAgLy8gY29uc3QgXyA9ICh7IGE6IHAsIGE6IHEgfSA9IHsgYTogVWludDY0KDMpIH0pCiAgICBwdXNoaW50IDMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjQ1CiAgICAvLyBhc3NlcnRNYXRjaChbcCwgcV0sIFszLCAzXSkKICAgIHB1c2hpbnQgMwogICAgPT0KICAgICYmCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo0NAogICAgLy8gY29uc3QgXyA9ICh7IGE6IHAsIGE6IHEgfSA9IHsgYTogVWludDY0KDMpIH0pCiAgICBwdXNoaW50IDMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjQ1CiAgICAvLyBhc3NlcnRNYXRjaChbcCwgcV0sIFszLCAzXSkKICAgIHB1c2hpbnQgMwogICAgPT0KICAgICYmCiAgICBhc3NlcnQgLy8gYXNzZXJ0IHRhcmdldCBpcyBtYXRjaCBmb3IgY29uZGl0aW9ucwogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OnRlc3RNdXRhYmxlT2JqZWN0KCkgLT4gdm9pZDoKdGVzdE11dGFibGVPYmplY3Q6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo0OAogICAgLy8gZnVuY3Rpb24gdGVzdE11dGFibGVPYmplY3QoKSB7CiAgICBwcm90byAwIDAKICAgIGIgdGVzdE11dGFibGVPYmplY3RfYmxvY2tAMAoKdGVzdE11dGFibGVPYmplY3RfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjUyCiAgICAvLyB9ID0gcHJvZHVjZVZlY3RvcigpCiAgICBjYWxsc3ViIHByb2R1Y2VWZWN0b3IKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjU1CiAgICAvLyB9ID0gcHJvZHVjZVZlY3RvcigpCiAgICBjYWxsc3ViIHByb2R1Y2VWZWN0b3IKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjYwCiAgICAvLyB9ID0gcHJvZHVjZVZlY3RvcigpKQogICAgY2FsbHN1YiBwcm9kdWNlVmVjdG9yCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2MQogICAgLy8gcmVjZWl2ZVBhcnRpYWxNdXRhYmxlT2JqZWN0KHByb2R1Y2VWZWN0b3IoKSkKICAgIGNhbGxzdWIgcHJvZHVjZVZlY3RvcgogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgcHVzaGludCAxNgogICAgZXh0cmFjdDMKICAgIGludGNfMSAvLyAwCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGNvdmVyIDEKICAgIGludGNfMSAvLyAwCiAgICBwdXNoaW50IDE2CiAgICBleHRyYWN0MwogICAgaW50Y18wIC8vIDgKICAgIGludGNfMCAvLyA4CiAgICBleHRyYWN0MwogICAgYnRvaQogICAgdW5jb3ZlciAxCiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBpdG9iCiAgICBjb25jYXQKICAgIGJ5dGVjXzAgLy8gMHgKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjYWxsc3ViIHJlY2VpdmVQYXJ0aWFsTXV0YWJsZU9iamVjdAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OnByb2R1Y2VJdGVtcygpIC0+IGJ5dGVzOgpwcm9kdWNlSXRlbXM6CiAgICBiIHByb2R1Y2VJdGVtc19ibG9ja0AwCgpwcm9kdWNlSXRlbXNfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjY2CiAgICAvLyBhOiAxLAogICAgaW50Y18zIC8vIDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjY1LTcwCiAgICAvLyByZXR1cm4gewogICAgLy8gICBhOiAxLAogICAgLy8gICBiOiBCeXRlcygnJyksCiAgICAvLyAgIGM6IGZhbHNlLAogICAgLy8gICBkOiA5OTluLAogICAgLy8gfQogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjY3CiAgICAvLyBiOiBCeXRlcygnJyksCiAgICBieXRlY18wIC8vICIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2NS03MAogICAgLy8gcmV0dXJuIHsKICAgIC8vICAgYTogMSwKICAgIC8vICAgYjogQnl0ZXMoJycpLAogICAgLy8gICBjOiBmYWxzZSwKICAgIC8vICAgZDogOTk5biwKICAgIC8vIH0KICAgIGxlbgogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjY3CiAgICAvLyBiOiBCeXRlcygnJyksCiAgICBieXRlY18wIC8vICIiCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2NS03MAogICAgLy8gcmV0dXJuIHsKICAgIC8vICAgYTogMSwKICAgIC8vICAgYjogQnl0ZXMoJycpLAogICAgLy8gICBjOiBmYWxzZSwKICAgIC8vICAgZDogOTk5biwKICAgIC8vIH0KICAgIGNvbmNhdAogICAgY292ZXIgMQogICAgcHVzaGludCA3NQogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGNvbmNhdAogICAgcHVzaGJ5dGVzIDB4MDAKICAgIGludGNfMSAvLyAwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2OAogICAgLy8gYzogZmFsc2UsCiAgICBpbnRjXzEgLy8gMAogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6NjUtNzAKICAgIC8vIHJldHVybiB7CiAgICAvLyAgIGE6IDEsCiAgICAvLyAgIGI6IEJ5dGVzKCcnKSwKICAgIC8vICAgYzogZmFsc2UsCiAgICAvLyAgIGQ6IDk5OW4sCiAgICAvLyB9CiAgICBzZXRiaXQKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6NjkKICAgIC8vIGQ6IDk5OW4sCiAgICBieXRlY18xIC8vIDB4MDNlNwogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6NjUtNzAKICAgIC8vIHJldHVybiB7CiAgICAvLyAgIGE6IDEsCiAgICAvLyAgIGI6IEJ5dGVzKCcnKSwKICAgIC8vICAgYzogZmFsc2UsCiAgICAvLyAgIGQ6IDk5OW4sCiAgICAvLyB9CiAgICBsZW4KICAgIHB1c2hpbnQgNjQKICAgIDw9CiAgICBhc3NlcnQgLy8gb3ZlcmZsb3cKICAgIHB1c2hpbnQgNjQKICAgIGJ6ZXJvCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2OQogICAgLy8gZDogOTk5biwKICAgIGJ5dGVjXzEgLy8gMHgwM2U3CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo2NS03MAogICAgLy8gcmV0dXJuIHsKICAgIC8vICAgYTogMSwKICAgIC8vICAgYjogQnl0ZXMoJycpLAogICAgLy8gICBjOiBmYWxzZSwKICAgIC8vICAgZDogOTk5biwKICAgIC8vIH0KICAgIGJ8CiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6cHJvZHVjZVZlY3RvcigpIC0+IGJ5dGVzOgpwcm9kdWNlVmVjdG9yOgogICAgYiBwcm9kdWNlVmVjdG9yX2Jsb2NrQDAKCnByb2R1Y2VWZWN0b3JfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjc0CiAgICAvLyByZXR1cm4geyBjMTogeyB4OiAxLCB5OiAyIH0sIGMyOiB7IHg6IDQsIHk6IDEgfSB9CiAgICBpbnRjXzMgLy8gMQogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGludGNfMiAvLyAyCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHB1c2hpbnQgNAogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIGludGNfMyAvLyAxCiAgICBpdG9iCiAgICBjb25jYXQKICAgIGJ5dGVjXzAgLy8gMHgKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OnJlY2VpdmVQYXJ0aWFsKHg6IGJ5dGVzKSAtPiBieXRlczoKcmVjZWl2ZVBhcnRpYWw6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo3NwogICAgLy8gZnVuY3Rpb24gcmVjZWl2ZVBhcnRpYWwoeDogeyBhOiB1aW50NjQ7IGQ6IGJpZ3VpbnQgfSkge30KICAgIHByb3RvIDEgMQogICAgYiByZWNlaXZlUGFydGlhbF9ibG9ja0AwCgpyZWNlaXZlUGFydGlhbF9ibG9ja0AwOgogICAgZnJhbWVfZGlnIC0xCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6cmVjZWl2ZVBhcnRpYWxNdXRhYmxlT2JqZWN0KGE6IGJ5dGVzKSAtPiBieXRlczoKcmVjZWl2ZVBhcnRpYWxNdXRhYmxlT2JqZWN0OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6NzkKICAgIC8vIGZ1bmN0aW9uIHJlY2VpdmVQYXJ0aWFsTXV0YWJsZU9iamVjdChhOiB7IGMxOiB7IHg6IHVpbnQ2NDsgeTogdWludDY0IH0gfSkge30KICAgIHByb3RvIDEgMQogICAgYiByZWNlaXZlUGFydGlhbE11dGFibGVPYmplY3RfYmxvY2tAMAoKcmVjZWl2ZVBhcnRpYWxNdXRhYmxlT2JqZWN0X2Jsb2NrQDA6CiAgICBmcmFtZV9kaWcgLTEKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjp0ZXN0TGl0ZXJhbFRvTGl0ZXJhbCgpIC0+IGJ5dGVzOgp0ZXN0TGl0ZXJhbFRvTGl0ZXJhbDoKICAgIGIgdGVzdExpdGVyYWxUb0xpdGVyYWxfYmxvY2tAMAoKdGVzdExpdGVyYWxUb0xpdGVyYWxfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjg3CiAgICAvLyBjb25zdCB7IGI6IGYsIGE6IGUgfSA9ICh7IGE6IGMsIGI6IGQgfSA9IHsgYSwgYiB9KQogICAgcHVzaGludCA0CiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgaW50Y18zIC8vIDEKICAgIGl0b2IKICAgIGNvbmNhdAogICAgZHVwCiAgICBpbnRjXzAgLy8gOAogICAgaW50Y18wIC8vIDgKICAgIGV4dHJhY3QzCiAgICBidG9pCiAgICBjb3ZlciAxCiAgICBpbnRjXzEgLy8gMAogICAgaW50Y18wIC8vIDgKICAgIGV4dHJhY3QzCiAgICBidG9pCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo4OAogICAgLy8gcmV0dXJuIFtlLCBmLCBjLCBkXQogICAgcHVzaGludCA0CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAxCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgaXRvYgogICAgY29uY2F0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo4NwogICAgLy8gY29uc3QgeyBiOiBmLCBhOiBlIH0gPSAoeyBhOiBjLCBiOiBkIH0gPSB7IGEsIGIgfSkKICAgIHB1c2hpbnQgNAogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6ODgKICAgIC8vIHJldHVybiBbZSwgZiwgYywgZF0KICAgIGl0b2IKICAgIGNvbmNhdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6ODcKICAgIC8vIGNvbnN0IHsgYjogZiwgYTogZSB9ID0gKHsgYTogYywgYjogZCB9ID0geyBhLCBiIH0pCiAgICBpbnRjXzMgLy8gMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6ODgKICAgIC8vIHJldHVybiBbZSwgZiwgYywgZF0KICAgIGl0b2IKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OnRlc3ROdW1lcmljUmVzb2x1dGlvbigpIC0+IHZvaWQ6CnRlc3ROdW1lcmljUmVzb2x1dGlvbjoKICAgIGIgdGVzdE51bWVyaWNSZXNvbHV0aW9uX2Jsb2NrQDAKCnRlc3ROdW1lcmljUmVzb2x1dGlvbl9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6OTMKICAgIC8vIGNvbnN0IHg6IHsgYTogdWludDY0IH0gPSAoeSA9IHsgYTogNDM0IH0pCiAgICBpbnRjIDQgLy8gNDM0CiAgICBpdG9iCiAgICBieXRlY18wIC8vIDB4CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgZHVwCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo5NAogICAgLy8gYXNzZXJ0TWF0Y2goW3guYSwgeS5hXSwgWzQzNCwgNDM0XSkKICAgIGludGNfMiAvLyAyCiAgICBpbnRjXzIgLy8gMgogICAgPT0KICAgIGNvdmVyIDEKICAgIGludGNfMSAvLyAwCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMKICAgIGJ0b2kKICAgIGludGMgNCAvLyA0MzQKICAgID09CiAgICAmJgogICAgdW5jb3ZlciAxCiAgICBpbnRjXzEgLy8gMAogICAgaW50Y18wIC8vIDgKICAgIGV4dHJhY3QzCiAgICBidG9pCiAgICBpbnRjIDQgLy8gNDM0CiAgICA9PQogICAgJiYKICAgIGFzc2VydCAvLyBhc3NlcnQgdGFyZ2V0IGlzIG1hdGNoIGZvciBjb25kaXRpb25zCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6T2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28udGVzdFtyb3V0aW5nXSgpIC0+IHZvaWQ6CnRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjpPYmplY3REZXN0cnVjdHVyaW5nQWxnby50ZXN0W3JvdXRpbmddOgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6T2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28udGVzdFtyb3V0aW5nXV9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6T2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28udGVzdFtyb3V0aW5nXV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MTEwCiAgICAvLyB0ZXN0KCkgewogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czo6T2JqZWN0RGVzdHJ1Y3R1cmluZ0FsZ28udGVzdAogICAgaW50Y18zIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjpPYmplY3REZXN0cnVjdHVyaW5nQWxnby50ZXN0KCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6Ok9iamVjdERlc3RydWN0dXJpbmdBbGdvLnRlc3Q6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoxMTAKICAgIC8vIHRlc3QoKSB7CiAgICBwcm90byAwIDAKICAgIGIgdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6Ok9iamVjdERlc3RydWN0dXJpbmdBbGdvLnRlc3RfYmxvY2tAMAoKdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6Ok9iamVjdERlc3RydWN0dXJpbmdBbGdvLnRlc3RfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjExMQogICAgLy8gY29uc3QgcmVzID0gdGVzdFBhcnRpYWxEZXN0cnVjdHVyZSh7IHg6IDEsIHk6IDQsIHo6IDEyM24gfSkKICAgIGludGNfMyAvLyAxCiAgICBwdXNoaW50IDQKICAgIHB1c2hieXRlcyAweDdiCiAgICBjYWxsc3ViIHRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmUKICAgIGNvdmVyIDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjExMgogICAgLy8gYXNzZXJ0TWF0Y2gocmVzLCBbMSwgNF0pCiAgICBpbnRjXzIgLy8gMgogICAgaW50Y18yIC8vIDIKICAgID09CiAgICB1bmNvdmVyIDEKICAgIGludGNfMyAvLyAxCiAgICA9PQogICAgJiYKICAgIHVuY292ZXIgMQogICAgcHVzaGludCA0CiAgICA9PQogICAgJiYKICAgIGFzc2VydCAvLyBhc3NlcnQgdGFyZ2V0IGlzIG1hdGNoIGZvciBjb25kaXRpb25zCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoxMTQKICAgIC8vIGNvbnN0IHJlczIgPSB0ZXN0UGFydGlhbERlc3RydWN0dXJlTXV0YWJsZU9iamVjdCh7IGMxOiB7IHg6IDEwLCB5OiAyMCB9LCBjMjogeyB4OiAyMCwgeTogMzAgfSB9KQogICAgcHVzaGludCAxMAogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIHB1c2hpbnQgMjAKICAgIGl0b2IKICAgIGNvbmNhdAogICAgcHVzaGludCAyMAogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIHB1c2hpbnQgMzAKICAgIGl0b2IKICAgIGNvbmNhdAogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgY29uY2F0CiAgICBjYWxsc3ViIHRlc3RQYXJ0aWFsRGVzdHJ1Y3R1cmVNdXRhYmxlT2JqZWN0CiAgICBjb3ZlciAyCiAgICBjb3ZlciAxCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvb2JqZWN0LWRlc3RydWN0dXJpbmcuYWxnby50czoxMTUKICAgIC8vIGFzc2VydE1hdGNoKHJlczIsIFsxMCwgMjBdKQogICAgaW50Y18yIC8vIDIKICAgIGludGNfMiAvLyAyCiAgICA9PQogICAgdW5jb3ZlciAxCiAgICBwdXNoaW50IDEwCiAgICA9PQogICAgJiYKICAgIHVuY292ZXIgMQogICAgcHVzaGludCAyMAogICAgPT0KICAgICYmCiAgICBhc3NlcnQgLy8gYXNzZXJ0IHRhcmdldCBpcyBtYXRjaCBmb3IgY29uZGl0aW9ucwogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MTE3CiAgICAvLyB0ZXN0TnVtZXJpY1Jlc29sdXRpb24oKQogICAgY2FsbHN1YiB0ZXN0TnVtZXJpY1Jlc29sdXRpb24KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjExOQogICAgLy8gY29uc3QgcmVzMyA9IHRlc3RMaXRlcmFsVG9MaXRlcmFsKCkKICAgIGNhbGxzdWIgdGVzdExpdGVyYWxUb0xpdGVyYWwKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEyMAogICAgLy8gYXNzZXJ0TWF0Y2gocmVzMywgWzQsIDEsIDQsIDFdKQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgcHVzaGludCA0CiAgICA9PQogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGNvdmVyIDEKICAgIGR1cAogICAgaW50Y18yIC8vIDIKICAgIHVuY292ZXIgMwogICAgc3Vic3RyaW5nMwogICAgaW50Y18xIC8vIDAKICAgIGludGNfMCAvLyA4CiAgICAqCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMgLy8gb24gZXJyb3I6IGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBidG9pCiAgICBwdXNoaW50IDQKICAgID09CiAgICB1bmNvdmVyIDIKICAgICYmCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgZHVwCiAgICBpbnRjXzIgLy8gMgogICAgdW5jb3ZlciAzCiAgICBzdWJzdHJpbmczCiAgICBpbnRjXzMgLy8gMQogICAgaW50Y18wIC8vIDgKICAgICoKICAgIGludGNfMCAvLyA4CiAgICBleHRyYWN0MyAvLyBvbiBlcnJvcjogaW5kZXggYWNjZXNzIGlzIG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMyAvLyAxCiAgICA9PQogICAgdW5jb3ZlciAyCiAgICAmJgogICAgY292ZXIgMQogICAgZHVwCiAgICBsZW4KICAgIGNvdmVyIDEKICAgIGR1cAogICAgaW50Y18yIC8vIDIKICAgIHVuY292ZXIgMwogICAgc3Vic3RyaW5nMwogICAgaW50Y18yIC8vIDIKICAgIGludGNfMCAvLyA4CiAgICAqCiAgICBpbnRjXzAgLy8gOAogICAgZXh0cmFjdDMgLy8gb24gZXJyb3I6IGluZGV4IGFjY2VzcyBpcyBvdXQgb2YgYm91bmRzCiAgICBidG9pCiAgICBwdXNoaW50IDQKICAgID09CiAgICB1bmNvdmVyIDIKICAgICYmCiAgICBjb3ZlciAxCiAgICBkdXAKICAgIGxlbgogICAgY292ZXIgMQogICAgaW50Y18yIC8vIDIKICAgIHVuY292ZXIgMgogICAgc3Vic3RyaW5nMwogICAgcHVzaGludCAzCiAgICBpbnRjXzAgLy8gOAogICAgKgogICAgaW50Y18wIC8vIDgKICAgIGV4dHJhY3QzIC8vIG9uIGVycm9yOiBpbmRleCBhY2Nlc3MgaXMgb3V0IG9mIGJvdW5kcwogICAgYnRvaQogICAgaW50Y18zIC8vIDEKICAgID09CiAgICAmJgogICAgYXNzZXJ0IC8vIGFzc2VydCB0YXJnZXQgaXMgbWF0Y2ggZm9yIGNvbmRpdGlvbnMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEyMgogICAgLy8gdGVzdCgpCiAgICBjYWxsc3ViIHRlc3QKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9vYmplY3QtZGVzdHJ1Y3R1cmluZy5hbGdvLnRzOjEyNAogICAgLy8gdGVzdE11dGFibGVPYmplY3QoKQogICAgY2FsbHN1YiB0ZXN0TXV0YWJsZU9iamVjdAogICAgLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6MTI2CiAgICAvLyB0ZXN0RHVwbGljYXRlU291cmNlS2V5KCkKICAgIGNhbGxzdWIgdGVzdER1cGxpY2F0ZVNvdXJjZUtleQogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL29iamVjdC1kZXN0cnVjdHVyaW5nLmFsZ28udHM6Ok9iamVjdERlc3RydWN0dXJpbmdBbGdvLl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZSgpIC0+IHZvaWQ6Cl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZToKICAgIGIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlX2Jsb2NrQDAKCl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZV9ibG9ja0AwOgogICAgcmV0c3ViCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAFCAACAbIDJgIAAgPnQgAAQgAAMRsjE0EAKUIAADYaAIAEp4AA3k8BjgEAB0IAAEIAAAAxGSMSMRgjExBEiAGzQv/sMRkjEjEYIxIQRIgCbiVDigMCQgAAi/2L/omKAQNCAACL/yOBEFgjIlgXi/8jgRBYIiJYF4v/iYoAAEIAAIgAvYgAuogAt0kjIlgXTgGBC4FAWE4BJCQSTwElEhBPASmoEESIAJhJIyJYF04BgQuBQFhOARYoTwFQTgFJFYFADkSBQK+rUIgAxIlCAACIAG5JIyJYF04BIyJYF04BJCQSTwElEhBPASUSEEQlJRKBB4EHEhBEJCQSgQOBAxIQgQOBAxIQRImKAABCAACIAGCIAF2IAFqIAFdJI4EQWCMiWBdOASOBEFgiIlgXTwEWKE8BUE8BFlAoTwFQiABZiUIAACUWKE8BUCgVFlcGAihQTgGBSxZXBgJQgAEAIyNUUCkVgUAORIFArymrUE8BUIlCAAAlFihPAVAkFlCBBBYoTwFQJRZQKE8CUE8BUImKAQFCAACL/4mKAQFCAACL/4lCAACBBBYoTwFQJRZQSSIiWBdOASMiWBeBBBZXBgJPARZQTwEWUIEEFlAlFlCJQgAAIQQWKE8BUEkkJBJOASMiWBchBBIQTwEjIlgXIQQSEESJQgAAiAACJUOKAABCAAAlgQSAAXuI/khOASQkEk8BJRIQTwGBBBIQRIEKFihPAVCBFBZQgRQWKE8BUIEeFlAoTwJQTwFQiP4iTgJOASQkEk8BgQoSEE8BgRQSEESI/32I/0xJI1mBBBJOAUkVTgFJJE8DUiMiCyJYF4EEEk8CEE4BSRVOAUkkTwNSJSILIlgXJRJPAhBOAUkVTgFJJE8DUiQiCyJYF4EEEk8CEE4BSRVOASRPAlKBAyILIlgXJRIQRIj9w4j+Toj+D4lCAACJ", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }