{ "name": "GetFund", "structs": {}, "methods": [ { "name": "create", "args": [ { "type": "address", "name": "team" }, { "type": "uint64", "name": "required_votes" }, { "type": "uint64", "name": "milestone_count" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "init_voter", "args": [ { "type": "address", "name": "voter" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "init_milestone", "args": [ { "type": "uint64", "name": "milestone_id" }, { "type": "uint64", "name": "amount" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "approve", "args": [ { "type": "uint64", "name": "milestone_id" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "fund", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 2, "bytes": 2 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": { "sponsor": { "keyType": "AVMString", "valueType": "address", "key": "c3BvbnNvcg==" }, "team": { "keyType": "AVMString", "valueType": "address", "key": "dGVhbQ==" }, "required_votes": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "cmVxdWlyZWRfdm90ZXM=" }, "milestone_count": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "bWlsZXN0b25lX2NvdW50" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "milestones": { "keyType": "uint64", "valueType": "(uint64,uint64,uint64)", "prefix": "bWlsZXN0b25lcw==" }, "votes": { "keyType": "(uint64,address)", "valueType": "uint64", "prefix": "dm90ZXM=" }, "voters": { "keyType": "address", "valueType": "uint64", "prefix": "dm90ZXJz" } } } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 303 ], "errorMessage": "Already voted" }, { "pc": [ 316 ], "errorMessage": "check self.milestones entry exists" }, { "pc": [ 343 ], "errorMessage": "check self.required_votes exists" }, { "pc": [ 190, 224, 401 ], "errorMessage": "check self.sponsor exists" }, { "pc": [ 355 ], "errorMessage": "check self.team exists" }, { "pc": [ 261 ], "errorMessage": "check self.voters entry exists" }, { "pc": [ 125, 184 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 133, 141, 210, 218, 255 ], "errorMessage": "invalid number of bytes for arc4.uint64" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAxIDAgOCAzMgogICAgYnl0ZWNibG9jayAic3BvbnNvciIgInRlYW0iICJyZXF1aXJlZF92b3RlcyIgInZvdGVycyIgIm1pbGVzdG9uZXMiCiAgICAvLyBjb250cmFjdC5weTo0CiAgICAvLyBjbGFzcyBHZXRGdW5kKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9fX2FsZ29weV9kZWZhdWx0X2NyZWF0ZUAxNAogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0CiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0CiAgICBwdXNoYnl0ZXNzIDB4ZjhhNTgzNTggMHhhZGFjMGI5NSAweDZkYjA5M2FjIDB4YWRkNjMwNmUgMHhlOTg5MmJlZiAvLyBtZXRob2QgImNyZWF0ZShhZGRyZXNzLHVpbnQ2NCx1aW50NjQpdm9pZCIsIG1ldGhvZCAiaW5pdF92b3RlcihhZGRyZXNzKXZvaWQiLCBtZXRob2QgImluaXRfbWlsZXN0b25lKHVpbnQ2NCx1aW50NjQpdm9pZCIsIG1ldGhvZCAiYXBwcm92ZSh1aW50NjQpdm9pZCIsIG1ldGhvZCAiZnVuZCgpdm9pZCIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIGNyZWF0ZSBpbml0X3ZvdGVyIGluaXRfbWlsZXN0b25lIGFwcHJvdmUgZnVuZAogICAgZXJyCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDE0OgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4KCgovLyBjb250cmFjdC5HZXRGdW5kLmNyZWF0ZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CmNyZWF0ZToKICAgIC8vIGNvbnRyYWN0LnB5OjIzLTI2CiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vICMgQ3JlYXRlCiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMyAvLyAzMgogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC5zdGF0aWNfYXJyYXk8YXJjNC51aW50OCwgMzI+CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18yIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18yIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICAvLyBjb250cmFjdC5weTozMwogICAgLy8gc2VsZi5zcG9uc29yLnZhbHVlID0gVHhuLnNlbmRlcgogICAgYnl0ZWNfMCAvLyAic3BvbnNvciIKICAgIHR4biBTZW5kZXIKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBjb250cmFjdC5weTozNAogICAgLy8gc2VsZi50ZWFtLnZhbHVlID0gdGVhbQogICAgYnl0ZWNfMSAvLyAidGVhbSIKICAgIHVuY292ZXIgMwogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIGNvbnRyYWN0LnB5OjM1CiAgICAvLyBzZWxmLnJlcXVpcmVkX3ZvdGVzLnZhbHVlID0gcmVxdWlyZWRfdm90ZXMubmF0aXZlCiAgICBzd2FwCiAgICBidG9pCiAgICBieXRlY18yIC8vICJyZXF1aXJlZF92b3RlcyIKICAgIHN3YXAKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBjb250cmFjdC5weTozNgogICAgLy8gc2VsZi5taWxlc3RvbmVfY291bnQudmFsdWUgPSBtaWxlc3RvbmVfY291bnQubmF0aXZlCiAgICBidG9pCiAgICBwdXNoYnl0ZXMgIm1pbGVzdG9uZV9jb3VudCIKICAgIHN3YXAKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBjb250cmFjdC5weToyMy0yNgogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAjIENyZWF0ZQogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBjb250cmFjdC5HZXRGdW5kLmluaXRfdm90ZXJbcm91dGluZ10oKSAtPiB2b2lkOgppbml0X3ZvdGVyOgogICAgLy8gY29udHJhY3QucHk6MzgtNDEKICAgIC8vICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gIyBSZWdpc3RlciBWb3RlcgogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gMzIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDMyPgogICAgLy8gY29udHJhY3QucHk6NDMKICAgIC8vIGFzc2VydCBUeG4uc2VuZGVyID09IHNlbGYuc3BvbnNvci52YWx1ZQogICAgdHhuIFNlbmRlcgogICAgaW50Y18xIC8vIDAKICAgIGJ5dGVjXzAgLy8gInNwb25zb3IiCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYuc3BvbnNvciBleGlzdHMKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGNvbnRyYWN0LnB5OjQ0CiAgICAvLyBzZWxmLnZvdGVyc1t2b3Rlcl0gPSBhcmM0LlVJbnQ2NCgxKQogICAgaW50Y18wIC8vIDEKICAgIGl0b2IKICAgIGJ5dGVjXzMgLy8gInZvdGVycyIKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICBzd2FwCiAgICBib3hfcHV0CiAgICAvLyBjb250cmFjdC5weTozOC00MQogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAjIFJlZ2lzdGVyIFZvdGVyCiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIGNvbnRyYWN0LkdldEZ1bmQuaW5pdF9taWxlc3RvbmVbcm91dGluZ10oKSAtPiB2b2lkOgppbml0X21pbGVzdG9uZToKICAgIC8vIGNvbnRyYWN0LnB5OjQ2LTQ5CiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vICMgSW5pdGlhbGl6ZSBNaWxlc3RvbmUKICAgIC8vICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18yIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18yIC8vIDgKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQudWludDY0CiAgICAvLyBjb250cmFjdC5weTo1NQogICAgLy8gYXNzZXJ0IFR4bi5zZW5kZXIgPT0gc2VsZi5zcG9uc29yLnZhbHVlCiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWNfMCAvLyAic3BvbnNvciIKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5zcG9uc29yIGV4aXN0cwogICAgPT0KICAgIGFzc2VydAogICAgLy8gY29udHJhY3QucHk6NTkKICAgIC8vIGFtb3VudC5uYXRpdmUsCiAgICBidG9pCiAgICAvLyBjb250cmFjdC5weTo1Ny02MgogICAgLy8gIyAoYW1vdW50LCBhcHByb3ZhbHMsIHBhaWQpCiAgICAvLyBzZWxmLm1pbGVzdG9uZXNbbWlsZXN0b25lX2lkLm5hdGl2ZV0gPSBhcmM0LlR1cGxlKCgKICAgIC8vICAgICBhbW91bnQubmF0aXZlLAogICAgLy8gICAgIFVJbnQ2NCgwKSwKICAgIC8vICAgICBVSW50NjQoMCksCiAgICAvLyApKQogICAgaXRvYgogICAgLy8gY29udHJhY3QucHk6NjAKICAgIC8vIFVJbnQ2NCgwKSwKICAgIGludGNfMSAvLyAwCiAgICAvLyBjb250cmFjdC5weTo1Ny02MgogICAgLy8gIyAoYW1vdW50LCBhcHByb3ZhbHMsIHBhaWQpCiAgICAvLyBzZWxmLm1pbGVzdG9uZXNbbWlsZXN0b25lX2lkLm5hdGl2ZV0gPSBhcmM0LlR1cGxlKCgKICAgIC8vICAgICBhbW91bnQubmF0aXZlLAogICAgLy8gICAgIFVJbnQ2NCgwKSwKICAgIC8vICAgICBVSW50NjQoMCksCiAgICAvLyApKQogICAgaXRvYgogICAgc3dhcAogICAgZGlnIDEKICAgIGNvbmNhdAogICAgc3dhcAogICAgY29uY2F0CiAgICAvLyBjb250cmFjdC5weTo1Ny01OAogICAgLy8gIyAoYW1vdW50LCBhcHByb3ZhbHMsIHBhaWQpCiAgICAvLyBzZWxmLm1pbGVzdG9uZXNbbWlsZXN0b25lX2lkLm5hdGl2ZV0gPSBhcmM0LlR1cGxlKCgKICAgIHN3YXAKICAgIGJ0b2kKICAgIGl0b2IKICAgIGJ5dGVjIDQgLy8gIm1pbGVzdG9uZXMiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIC8vIGNvbnRyYWN0LnB5OjU3LTYyCiAgICAvLyAjIChhbW91bnQsIGFwcHJvdmFscywgcGFpZCkKICAgIC8vIHNlbGYubWlsZXN0b25lc1ttaWxlc3RvbmVfaWQubmF0aXZlXSA9IGFyYzQuVHVwbGUoKAogICAgLy8gICAgIGFtb3VudC5uYXRpdmUsCiAgICAvLyAgICAgVUludDY0KDApLAogICAgLy8gICAgIFVJbnQ2NCgwKSwKICAgIC8vICkpCiAgICBzd2FwCiAgICBib3hfcHV0CiAgICAvLyBjb250cmFjdC5weTo0Ni00OQogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAjIEluaXRpYWxpemUgTWlsZXN0b25lCiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIGNvbnRyYWN0LkdldEZ1bmQuYXBwcm92ZVtyb3V0aW5nXSgpIC0+IHZvaWQ6CmFwcHJvdmU6CiAgICAvLyBjb250cmFjdC5weTo2NC02NwogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAjIEFwcHJvdmUgTWlsZXN0b25lCiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMiAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgLy8gY29udHJhY3QucHk6NjktNzAKICAgIC8vICMgbXVzdCBiZSByZWdpc3RlcmVkIHZvdGVyCiAgICAvLyBhc3NlcnQgc2VsZi52b3RlcnNbVHhuLnNlbmRlcl0gPT0gYXJjNC5VSW50NjQoMSkKICAgIGJ5dGVjXzMgLy8gInZvdGVycyIKICAgIHR4biBTZW5kZXIKICAgIGNvbmNhdAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYudm90ZXJzIGVudHJ5IGV4aXN0cwogICAgaW50Y18wIC8vIDEKICAgIGl0b2IKICAgIGR1cAogICAgY292ZXIgMwogICAgc3dhcAogICAgZGlnIDEKICAgIGI9PQogICAgYXNzZXJ0CiAgICAvLyBjb250cmFjdC5weTo3Mi03NAogICAgLy8gIyBGSVhFRDogVXNlIGRpcmVjdCBib3ggYWNjZXNzIGluc3RlYWQgb2YgLm1heWJlKCkgdG8gYXZvaWQgY29tcGlsZXIgYnVnCiAgICAvLyAjIENoZWNrIGlmIHZvdGUgYWxyZWFkeSBleGlzdHMgYnkgdHJ5aW5nIHRvIHJlYWQgaXQKICAgIC8vIHZvdGVfa2V5ID0gYXJjNC5UdXBsZSgobWlsZXN0b25lX2lkLCBhcmM0LkFkZHJlc3MoVHhuLnNlbmRlcikpKQogICAgZGlnIDEKICAgIHR4biBTZW5kZXIKICAgIGNvbmNhdAogICAgLy8gY29udHJhY3QucHk6NzYtNzkKICAgIC8vICMgVGhlIHZvdGUgYm94IHNob3VsZCBub3QgZXhpc3QgeWV0IChwcmV2ZW50IGRvdWJsZSB2b3RpbmcpCiAgICAvLyAjIFdlJ2xsIGxldCBpdCBmYWlsIG5hdHVyYWxseSBpZiB0aGUgYm94IGFscmVhZHkgZXhpc3RzIHdoZW4gd2UgdHJ5IHRvIGNyZWF0ZSBpdAogICAgLy8gIyBPciB3ZSBjYW4gdXNlIGEgZGlmZmVyZW50IGFwcHJvYWNoOiBjaGVjayB0aGUgdmFsdWUKICAgIC8vIGV4aXN0aW5nX3ZvdGUgPSBzZWxmLnZvdGVzLmdldCh2b3RlX2tleSwgZGVmYXVsdD1hcmM0LlVJbnQ2NCgwKSkKICAgIHB1c2hieXRlcyAidm90ZXMiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGludGNfMSAvLyAwCiAgICBpdG9iCiAgICBkdXAKICAgIGNvdmVyIDIKICAgIGNvdmVyIDQKICAgIGR1cAogICAgYm94X2dldAogICAgZGlnIDMKICAgIGNvdmVyIDIKICAgIHNlbGVjdAogICAgLy8gY29udHJhY3QucHk6ODAKICAgIC8vIGFzc2VydCBleGlzdGluZ192b3RlID09IGFyYzQuVUludDY0KDApLCAiQWxyZWFkeSB2b3RlZCIKICAgIHVuY292ZXIgMgogICAgYj09CiAgICBhc3NlcnQgLy8gQWxyZWFkeSB2b3RlZAogICAgLy8gY29udHJhY3QucHk6ODIKICAgIC8vIG1pbGVzdG9uZV9kYXRhID0gc2VsZi5taWxlc3RvbmVzW21pbGVzdG9uZV9pZC5uYXRpdmVdCiAgICB1bmNvdmVyIDIKICAgIGJ0b2kKICAgIGl0b2IKICAgIGJ5dGVjIDQgLy8gIm1pbGVzdG9uZXMiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGR1cAogICAgY292ZXIgNAogICAgYm94X2dldAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYubWlsZXN0b25lcyBlbnRyeSBleGlzdHMKICAgIC8vIGNvbnRyYWN0LnB5OjgzCiAgICAvLyBhbW91bnQgPSBtaWxlc3RvbmVfZGF0YVswXQogICAgZHVwCiAgICBpbnRjXzEgLy8gMAogICAgZXh0cmFjdF91aW50NjQKICAgIGNvdmVyIDMKICAgIC8vIGNvbnRyYWN0LnB5Ojg0CiAgICAvLyBhcHByb3ZhbHMgPSBtaWxlc3RvbmVfZGF0YVsxXQogICAgZHVwCiAgICBpbnRjXzIgLy8gOAogICAgZXh0cmFjdF91aW50NjQKICAgIC8vIGNvbnRyYWN0LnB5Ojg1CiAgICAvLyBwYWlkID0gbWlsZXN0b25lX2RhdGFbMl0KICAgIHN3YXAKICAgIHB1c2hpbnQgMTYKICAgIGV4dHJhY3RfdWludDY0CiAgICAvLyBjb250cmFjdC5weTo4NwogICAgLy8gYXNzZXJ0IHBhaWQgPT0gVUludDY0KDApCiAgICAhCiAgICBhc3NlcnQKICAgIC8vIGNvbnRyYWN0LnB5Ojg5CiAgICAvLyBhcHByb3ZhbHMgPSBhcHByb3ZhbHMgKyBVSW50NjQoMSkKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBkdXAKICAgIGNvdmVyIDMKICAgIC8vIGNvbnRyYWN0LnB5OjkxCiAgICAvLyBzZWxmLnZvdGVzW3ZvdGVfa2V5XSA9IGFyYzQuVUludDY0KDEpCiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIGJveF9wdXQKICAgIC8vIGNvbnRyYWN0LnB5OjkzCiAgICAvLyBpZiBhcHByb3ZhbHMgPj0gc2VsZi5yZXF1aXJlZF92b3Rlcy52YWx1ZToKICAgIGludGNfMSAvLyAwCiAgICBieXRlY18yIC8vICJyZXF1aXJlZF92b3RlcyIKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5yZXF1aXJlZF92b3RlcyBleGlzdHMKICAgID49CiAgICBieiBhcHByb3ZlX2Vsc2VfYm9keUA0CiAgICB1bmNvdmVyIDIKICAgIHBvcAogICAgLy8gY29udHJhY3QucHk6OTQtOTcKICAgIC8vIFBheW1lbnQoCiAgICAvLyAgICAgcmVjZWl2ZXI9c2VsZi50ZWFtLnZhbHVlLAogICAgLy8gICAgIGFtb3VudD1hbW91bnQsCiAgICAvLyApLnN1Ym1pdCgpCiAgICBpdHhuX2JlZ2luCiAgICAvLyBjb250cmFjdC5weTo5NQogICAgLy8gcmVjZWl2ZXI9c2VsZi50ZWFtLnZhbHVlLAogICAgaW50Y18xIC8vIDAKICAgIGJ5dGVjXzEgLy8gInRlYW0iCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHNlbGYudGVhbSBleGlzdHMKICAgIHVuY292ZXIgMgogICAgZHVwCiAgICBjb3ZlciAyCiAgICBpdHhuX2ZpZWxkIEFtb3VudAogICAgaXR4bl9maWVsZCBSZWNlaXZlcgogICAgLy8gY29udHJhY3QucHk6OTQKICAgIC8vIFBheW1lbnQoCiAgICBpbnRjXzAgLy8gcGF5CiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzEgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIC8vIGNvbnRyYWN0LnB5Ojk0LTk3CiAgICAvLyBQYXltZW50KAogICAgLy8gICAgIHJlY2VpdmVyPXNlbGYudGVhbS52YWx1ZSwKICAgIC8vICAgICBhbW91bnQ9YW1vdW50LAogICAgLy8gKS5zdWJtaXQoKQogICAgaXR4bl9zdWJtaXQKICAgIC8vIGNvbnRyYWN0LnB5Ojk5LTEwMwogICAgLy8gc2VsZi5taWxlc3RvbmVzW21pbGVzdG9uZV9pZC5uYXRpdmVdID0gYXJjNC5UdXBsZSgoCiAgICAvLyAgICAgYW1vdW50LAogICAgLy8gICAgIGFwcHJvdmFscywKICAgIC8vICAgICBVSW50NjQoMSksCiAgICAvLyApKQogICAgaXRvYgogICAgc3dhcAogICAgaXRvYgogICAgY29uY2F0CiAgICB1bmNvdmVyIDIKICAgIGNvbmNhdAogICAgYm94X3B1dAoKYXBwcm92ZV9hZnRlcl9pZl9lbHNlQDU6CiAgICAvLyBjb250cmFjdC5weTo2NC02NwogICAgLy8gIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyAjIEFwcHJvdmUgTWlsZXN0b25lCiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKYXBwcm92ZV9lbHNlX2JvZHlANDoKICAgIHVuY292ZXIgNAogICAgcG9wCiAgICAvLyBjb250cmFjdC5weToxMDUtMTA5CiAgICAvLyBzZWxmLm1pbGVzdG9uZXNbbWlsZXN0b25lX2lkLm5hdGl2ZV0gPSBhcmM0LlR1cGxlKCgKICAgIC8vICAgICBhbW91bnQsCiAgICAvLyAgICAgYXBwcm92YWxzLAogICAgLy8gICAgIFVJbnQ2NCgwKSwKICAgIC8vICkpCiAgICBzd2FwCiAgICBpdG9iCiAgICBzd2FwCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHN3YXAKICAgIGNvbmNhdAogICAgYm94X3B1dAogICAgYiBhcHByb3ZlX2FmdGVyX2lmX2Vsc2VANQoKCi8vIGNvbnRyYWN0LkdldEZ1bmQuZnVuZFtyb3V0aW5nXSgpIC0+IHZvaWQ6CmZ1bmQ6CiAgICAvLyBjb250cmFjdC5weToxMTYtMTE3CiAgICAvLyAjIG11c3QgYmUgc3BvbnNvcgogICAgLy8gYXNzZXJ0IFR4bi5zZW5kZXIgPT0gc2VsZi5zcG9uc29yLnZhbHVlCiAgICB0eG4gU2VuZGVyCiAgICBpbnRjXzEgLy8gMAogICAgYnl0ZWNfMCAvLyAic3BvbnNvciIKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgc2VsZi5zcG9uc29yIGV4aXN0cwogICAgPT0KICAgIGFzc2VydAogICAgLy8gY29udHJhY3QucHk6MTE5LTEyMAogICAgLy8gIyBtdXN0IHNlbmQgcG9zaXRpdmUgcGF5bWVudCBhbW91bnQKICAgIC8vIGFzc2VydCBUeG4uYW1vdW50ID4gVUludDY0KDApCiAgICB0eG4gQW1vdW50CiAgICBhc3NlcnQKICAgIC8vIGNvbnRyYWN0LnB5OjExMS0xMTQKICAgIC8vICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gIyBGdW5kIENvbnRyYWN0CiAgICAvLyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAEAQAIICYFB3Nwb25zb3IEdGVhbQ5yZXF1aXJlZF92b3RlcwZ2b3RlcnMKbWlsZXN0b25lczEbQQAyMRkURDEYRIIFBPilg1gErawLlQRtsJOsBK3WMG4E6Ykr7zYaAI4FAAkARABeAIsBHwAxGRQxGBQQQzYaAUkVJRJENhoCSRUkEkQ2GgNJFSQSRCgxAGcpTwNnTBcqTGcXgA9taWxlc3RvbmVfY291bnRMZyJDNhoBSRUlEkQxACMoZUQSRCIWK08CUEy/IkM2GgFJFSQSRDYaAkkVJBJEMQAjKGVEEkQXFiMWTEsBUExQTBcWJwRMUEy/IkM2GgFJFSQSRCsxAFC+RCIWSU4DTEsBqERLATEAUIAFdm90ZXNMUCMWSU4CTgRJvksDTgJNTwKoRE8CFxYnBExQSU4EvkRJI1tOA0kkW0yBEFsURCIISU4DTE8CvyMqZUQPQQAiTwJIsSMpZURPAklOArIIsgcishAjsgGzFkwWUE8CUL8iQ08ESEwWTBZQTFC/Qv/wMQAjKGVEEkQxCEQiQw==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }