From 5cb430482115f259ee0a64b50363adc69961b19e Mon Sep 17 00:00:00 2001 From: Adam Chidlow Date: Tue, 10 Sep 2024 14:21:56 +0800 Subject: [PATCH] validate rather than resolve SourceLocation paths, to prevent inconsistencies on Windows CI/CD and also to guard against accidental relative path inclusion especially when deserializing AWST --- .../voting/out/VotingRoundApp.approval.mir | 64 +- scripts/generate_puya_lib.py | 2 +- src/puya/ir/_puya_lib.awst.json | 1512 ++++++++--------- src/puya/parse.py | 16 +- src/puyapy/parse.py | 2 +- .../out/DynamicArrayContract.approval.mir | 746 ++++---- test_cases/arc4_dynamic_arrays/puya.log | 14 +- .../out/Arc4MutationContract.approval.mir | 918 +++++----- test_cases/arc4_types/puya.log | 4 +- .../literals/out/LiteralFolding.approval.mir | 82 +- test_cases/literals/puya.log | 4 +- .../state_mutations/out/Contract.approval.mir | 484 +++--- test_cases/state_mutations/puya.log | 12 +- .../string_ops/out/MyContract.approval.mir | 82 +- test_cases/string_ops/puya.log | 4 +- .../stubs/out/StringContract.approval.mir | 82 +- test_cases/stubs/puya.log | 4 +- tests/test_ir_validation.py | 3 +- 18 files changed, 2019 insertions(+), 2016 deletions(-) diff --git a/examples/voting/out/VotingRoundApp.approval.mir b/examples/voting/out/VotingRoundApp.approval.mir index 0e06ecbaa4..5a673f8a1a 100644 --- a/examples/voting/out/VotingRoundApp.approval.mir +++ b/examples/voting/out/VotingRoundApp.approval.mir @@ -1196,54 +1196,54 @@ __init___block@0: // _puya_lib.util.ensure_budget(required_budget: uint64, fee_source: uint64) -> void: ensure_budget: - proto 2 0 // (𝕡) required_budget#0,fee_source#0 | _puya_lib/util.py:12-13 + proto 2 0 // (𝕡) required_budget#0,fee_source#0 | /puya/lib/util.py:12-13 ensure_budget_block@0: - frame_dig -2 // load required_budget#0 from parameters (𝕡) required_budget#0,fee_source#0 | required_budget#0 _puya_lib/util.py:19 - int 10 // (𝕡) required_budget#0,fee_source#0 | required_budget#0,10 _puya_lib/util.py:19 - + // (𝕡) required_budget#0,fee_source#0 | {+} _puya_lib/util.py:19 - // virtual: store required_budget_with_buffer#0 to f-stack (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:19 + frame_dig -2 // load required_budget#0 from parameters (𝕡) required_budget#0,fee_source#0 | required_budget#0 /puya/lib/util.py:19 + int 10 // (𝕡) required_budget#0,fee_source#0 | required_budget#0,10 /puya/lib/util.py:19 + + // (𝕡) required_budget#0,fee_source#0 | {+} /puya/lib/util.py:19 + // virtual: store required_budget_with_buffer#0 to f-stack (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:19 // Implicit fall through to ensure_budget_while_top@1 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | ensure_budget_while_top@1: - global OpcodeBudget // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {global} _puya_lib/util.py:20 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%0#0 _puya_lib/util.py:20 - frame_dig 0 // load required_budget_with_buffer#0 from f-stack (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%0#0,required_budget_with_buffer#0 _puya_lib/util.py:20 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | required_budget_with_buffer#0,tmp%0#0 _puya_lib/util.py:20 - > // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {>} _puya_lib/util.py:20 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%1#0 _puya_lib/util.py:20 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%1#0 _puya_lib/util.py:20 - bz ensure_budget_after_while@7 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:20 - // Implicit fall through to ensure_budget_while_body@2 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:20 + global OpcodeBudget // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {global} /puya/lib/util.py:20 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%0#0 /puya/lib/util.py:20 + frame_dig 0 // load required_budget_with_buffer#0 from f-stack (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%0#0,required_budget_with_buffer#0 /puya/lib/util.py:20 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | required_budget_with_buffer#0,tmp%0#0 /puya/lib/util.py:20 + > // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {>} /puya/lib/util.py:20 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%1#0 /puya/lib/util.py:20 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%1#0 /puya/lib/util.py:20 + bz ensure_budget_after_while@7 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:20 + // Implicit fall through to ensure_budget_while_body@2 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:20 ensure_budget_while_body@2: - itxn_begin // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:21 - int appl // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | appl _puya_lib/util.py:22 - itxn_field TypeEnum // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:22 - int DeleteApplication // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | DeleteApplication _puya_lib/util.py:23 - itxn_field OnCompletion // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:23 - byte 0x068101 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0x068101 _puya_lib/util.py:24 - itxn_field ApprovalProgram // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:24 - byte 0x068101 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0x068101 _puya_lib/util.py:25 - itxn_field ClearStateProgram // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:25 - frame_dig -1 // load fee_source#0 from parameters (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | fee_source#0 _puya_lib/util.py:26-30 - switch ensure_budget_switch_case_0@3 ensure_budget_switch_case_1@4 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:26-30 + itxn_begin // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:21 + int appl // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | appl /puya/lib/util.py:22 + itxn_field TypeEnum // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:22 + int DeleteApplication // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | DeleteApplication /puya/lib/util.py:23 + itxn_field OnCompletion // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:23 + byte 0x068101 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0x068101 /puya/lib/util.py:24 + itxn_field ApprovalProgram // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:24 + byte 0x068101 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0x068101 /puya/lib/util.py:25 + itxn_field ClearStateProgram // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:25 + frame_dig -1 // load fee_source#0 from parameters (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | fee_source#0 /puya/lib/util.py:26-30 + switch ensure_budget_switch_case_0@3 ensure_budget_switch_case_1@4 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:26-30 b ensure_budget_switch_case_next@6 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | ensure_budget_switch_case_0@3: - int 0 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0 _puya_lib/util.py:28 - itxn_field Fee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:28 + int 0 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | 0 /puya/lib/util.py:28 + itxn_field Fee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:28 b ensure_budget_switch_case_next@6 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | ensure_budget_switch_case_1@4: - global MinTxnFee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {global} _puya_lib/util.py:30 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%2#0 _puya_lib/util.py:30 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%2#0 _puya_lib/util.py:30 - itxn_field Fee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:30 + global MinTxnFee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | {global} /puya/lib/util.py:30 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%2#0 /puya/lib/util.py:30 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | tmp%2#0 /puya/lib/util.py:30 + itxn_field Fee // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:30 // Implicit fall through to ensure_budget_switch_case_next@6 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | ensure_budget_switch_case_next@6: - itxn_submit // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | _puya_lib/util.py:33 + itxn_submit // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | /puya/lib/util.py:33 b ensure_budget_while_top@1 // (𝕡) required_budget#0,fee_source#0 | (𝕗) required_budget_with_buffer#0 | ensure_budget_after_while@7: diff --git a/scripts/generate_puya_lib.py b/scripts/generate_puya_lib.py index bbb9afd967..34b89166c6 100755 --- a/scripts/generate_puya_lib.py +++ b/scripts/generate_puya_lib.py @@ -17,7 +17,7 @@ def main() -> None: puya_lib_path = VCS_ROOT / "src" / LIB_NAME output_path = VCS_ROOT / "src" / "puya" / "ir" / "_puya_lib.awst.json" find_str = f'"file": "{puya_lib_path}' - replace_str = f'"file": "{LIB_NAME}' + replace_str = '"file": "/puya/lib' replace_awst = awst_path.read_text().replace(find_str, replace_str) output_path.write_text(replace_awst) awst_path.unlink(missing_ok=True) diff --git a/src/puya/ir/_puya_lib.awst.json b/src/puya/ir/_puya_lib.awst.json index 5210d76ea4..5dcdc56a84 100644 --- a/src/puya/ir/_puya_lib.awst.json +++ b/src/puya/ir/_puya_lib.awst.json @@ -1,7 +1,7 @@ [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 12, "end_line": 13, "comment_lines": 0, @@ -19,7 +19,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 13, "end_line": 13, "comment_lines": 0, @@ -37,7 +37,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 13, "end_line": 13, "comment_lines": 0, @@ -55,7 +55,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 33, "comment_lines": 5, @@ -65,7 +65,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 19, "comment_lines": 5, @@ -74,7 +74,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 19, "comment_lines": 5, @@ -93,7 +93,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 19, "comment_lines": 5, @@ -102,7 +102,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 19, "comment_lines": 5, @@ -122,7 +122,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 19, "end_line": 19, "comment_lines": 5, @@ -146,7 +146,7 @@ }, { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 20, "end_line": 20, "comment_lines": 0, @@ -155,7 +155,7 @@ }, "condition": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 20, "end_line": 20, "comment_lines": 0, @@ -164,7 +164,7 @@ }, "lhs": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 20, "end_line": 20, "comment_lines": 0, @@ -184,7 +184,7 @@ "operator": ">", "rhs": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 20, "end_line": 20, "comment_lines": 0, @@ -210,7 +210,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 21, "end_line": 33, "comment_lines": 0, @@ -221,7 +221,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 21, "end_line": 21, "comment_lines": 0, @@ -246,7 +246,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 22, "end_line": 22, "comment_lines": 0, @@ -267,7 +267,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 22, "end_line": 22, "comment_lines": 0, @@ -294,7 +294,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 23, "end_line": 23, "comment_lines": 0, @@ -315,7 +315,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 23, "end_line": 23, "comment_lines": 0, @@ -342,7 +342,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 24, "end_line": 24, "comment_lines": 0, @@ -363,7 +363,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 24, "end_line": 24, "comment_lines": 0, @@ -390,7 +390,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 25, "end_line": 25, "comment_lines": 0, @@ -411,7 +411,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 25, "end_line": 25, "comment_lines": 0, @@ -437,7 +437,7 @@ }, { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 26, "end_line": 30, "comment_lines": 0, @@ -446,7 +446,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 26, "end_line": 26, "comment_lines": 0, @@ -467,7 +467,7 @@ [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 27, "end_line": 27, "comment_lines": 0, @@ -487,7 +487,7 @@ }, { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 28, "end_line": 28, "comment_lines": 0, @@ -498,7 +498,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 28, "end_line": 28, "comment_lines": 0, @@ -519,7 +519,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 28, "end_line": 28, "comment_lines": 0, @@ -552,7 +552,7 @@ [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 29, "end_line": 29, "comment_lines": 0, @@ -572,7 +572,7 @@ }, { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 30, "end_line": 30, "comment_lines": 0, @@ -583,7 +583,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 30, "end_line": 30, "comment_lines": 0, @@ -604,7 +604,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 30, "end_line": 30, "comment_lines": 0, @@ -645,7 +645,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/util.py", + "file": "/puya/lib/util.py", "line": 33, "end_line": 33, "comment_lines": 2, @@ -690,7 +690,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 4, "end_line": 5, "comment_lines": 0, @@ -708,7 +708,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 5, "end_line": 5, "comment_lines": 0, @@ -726,7 +726,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 5, "end_line": 5, "comment_lines": 0, @@ -744,7 +744,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 6, "end_line": 15, "comment_lines": 0, @@ -754,7 +754,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 10, "end_line": 10, "comment_lines": 0, @@ -763,7 +763,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 10, "end_line": 10, "comment_lines": 0, @@ -782,7 +782,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 10, "end_line": 10, "comment_lines": 0, @@ -804,7 +804,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -813,7 +813,7 @@ }, "condition": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -822,7 +822,7 @@ }, "lhs": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -831,7 +831,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -851,7 +851,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -870,7 +870,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -896,7 +896,7 @@ "operator": "<=", "rhs": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -915,7 +915,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 11, "end_line": 11, "comment_lines": 0, @@ -940,7 +940,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 14, "comment_lines": 0, @@ -950,7 +950,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -959,7 +959,7 @@ }, "condition": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -968,7 +968,7 @@ }, "lhs": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -988,7 +988,7 @@ "operator": "==", "rhs": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1007,7 +1007,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1026,7 +1026,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1045,7 +1045,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1054,7 +1054,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1074,7 +1074,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1093,7 +1093,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 12, "end_line": 12, "comment_lines": 0, @@ -1124,7 +1124,7 @@ }, "if_branch": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 13, "end_line": 13, "comment_lines": 0, @@ -1134,7 +1134,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 13, "end_line": 13, "comment_lines": 0, @@ -1143,7 +1143,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 13, "end_line": 13, "comment_lines": 0, @@ -1165,7 +1165,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 14, "end_line": 14, "comment_lines": 0, @@ -1174,7 +1174,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 14, "end_line": 14, "comment_lines": 0, @@ -1194,7 +1194,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 14, "end_line": 14, "comment_lines": 0, @@ -1223,7 +1223,7 @@ }, { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 15, "end_line": 15, "comment_lines": 0, @@ -1232,7 +1232,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/bytes_.py", + "file": "/puya/lib/bytes_.py", "line": 15, "end_line": 15, "comment_lines": 0, @@ -1260,7 +1260,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 25, "end_line": 26, "comment_lines": 0, @@ -1278,7 +1278,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 26, "end_line": 26, "comment_lines": 0, @@ -1310,7 +1310,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 27, "end_line": 41, "comment_lines": 0, @@ -1320,7 +1320,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 34, "end_line": 34, "comment_lines": 0, @@ -1329,7 +1329,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 34, "end_line": 34, "comment_lines": 0, @@ -1348,7 +1348,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 34, "end_line": 34, "comment_lines": 0, @@ -1367,7 +1367,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 34, "end_line": 34, "comment_lines": 0, @@ -1386,7 +1386,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 34, "end_line": 34, "comment_lines": 0, @@ -1412,7 +1412,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 35, "end_line": 35, "comment_lines": 0, @@ -1421,7 +1421,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 35, "end_line": 35, "comment_lines": 0, @@ -1440,7 +1440,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 35, "end_line": 35, "comment_lines": 0, @@ -1449,7 +1449,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 35, "end_line": 35, "comment_lines": 0, @@ -1469,7 +1469,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 35, "end_line": 35, "comment_lines": 0, @@ -1493,7 +1493,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1502,7 +1502,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1521,7 +1521,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1542,7 +1542,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1561,7 +1561,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1583,7 +1583,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1602,7 +1602,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 36, "end_line": 36, "comment_lines": 0, @@ -1635,7 +1635,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 37, "end_line": 37, "comment_lines": 0, @@ -1644,7 +1644,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 37, "end_line": 37, "comment_lines": 0, @@ -1663,7 +1663,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 37, "end_line": 37, "comment_lines": 0, @@ -1672,7 +1672,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 37, "end_line": 37, "comment_lines": 0, @@ -1692,7 +1692,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 37, "end_line": 37, "comment_lines": 0, @@ -1716,7 +1716,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1725,7 +1725,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1744,7 +1744,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1763,7 +1763,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1783,7 +1783,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1803,7 +1803,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1822,7 +1822,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1841,7 +1841,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 38, "end_line": 38, "comment_lines": 0, @@ -1870,7 +1870,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1879,7 +1879,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1898,7 +1898,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1917,7 +1917,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1936,7 +1936,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1955,7 +1955,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 39, "end_line": 39, "comment_lines": 0, @@ -1981,7 +1981,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -1990,7 +1990,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2009,7 +2009,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2028,7 +2028,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2047,7 +2047,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2067,7 +2067,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2076,7 +2076,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2097,7 +2097,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2106,7 +2106,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2115,7 +2115,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2135,7 +2135,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2158,7 +2158,7 @@ "op": "//", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 40, "end_line": 40, "comment_lines": 0, @@ -2188,7 +2188,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 41, "end_line": 41, "comment_lines": 0, @@ -2197,7 +2197,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 41, "end_line": 41, "comment_lines": 0, @@ -2207,7 +2207,7 @@ "items": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 41, "end_line": 41, "comment_lines": 0, @@ -2226,7 +2226,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 41, "end_line": 41, "comment_lines": 0, @@ -2263,7 +2263,7 @@ } ], "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 41, "end_line": 41, "comment_lines": 0, @@ -2292,7 +2292,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 44, "end_line": 45, "comment_lines": 0, @@ -2310,7 +2310,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 45, "end_line": 45, "comment_lines": 0, @@ -2328,7 +2328,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 45, "end_line": 45, "comment_lines": 0, @@ -2360,7 +2360,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 46, "end_line": 59, "comment_lines": 0, @@ -2370,7 +2370,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 53, "end_line": 53, "comment_lines": 0, @@ -2379,7 +2379,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 53, "end_line": 53, "comment_lines": 0, @@ -2398,7 +2398,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 53, "end_line": 53, "comment_lines": 0, @@ -2417,7 +2417,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 53, "end_line": 53, "comment_lines": 0, @@ -2436,7 +2436,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 53, "end_line": 53, "comment_lines": 0, @@ -2462,7 +2462,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 54, "end_line": 54, "comment_lines": 0, @@ -2471,7 +2471,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 54, "end_line": 54, "comment_lines": 0, @@ -2490,7 +2490,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 54, "end_line": 54, "comment_lines": 0, @@ -2499,7 +2499,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 54, "end_line": 54, "comment_lines": 0, @@ -2519,7 +2519,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 54, "end_line": 54, "comment_lines": 0, @@ -2543,7 +2543,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2552,7 +2552,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2571,7 +2571,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2592,7 +2592,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2611,7 +2611,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2633,7 +2633,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2652,7 +2652,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 55, "end_line": 55, "comment_lines": 0, @@ -2685,7 +2685,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2694,7 +2694,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2713,7 +2713,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2722,7 +2722,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2741,7 +2741,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2765,7 +2765,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 56, "end_line": 56, "comment_lines": 0, @@ -2788,7 +2788,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2797,7 +2797,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2816,7 +2816,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2835,7 +2835,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2854,7 +2854,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2873,7 +2873,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 57, "end_line": 57, "comment_lines": 0, @@ -2898,7 +2898,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -2907,7 +2907,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -2926,7 +2926,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -2945,7 +2945,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -2964,7 +2964,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -2984,7 +2984,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 58, "end_line": 58, "comment_lines": 0, @@ -3009,7 +3009,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 59, "end_line": 59, "comment_lines": 0, @@ -3018,7 +3018,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 59, "end_line": 59, "comment_lines": 0, @@ -3028,7 +3028,7 @@ "items": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 59, "end_line": 59, "comment_lines": 0, @@ -3047,7 +3047,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 59, "end_line": 59, "comment_lines": 0, @@ -3084,7 +3084,7 @@ } ], "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 59, "end_line": 59, "comment_lines": 0, @@ -3113,7 +3113,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 62, "end_line": 63, "comment_lines": 0, @@ -3131,7 +3131,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 63, "end_line": 63, "comment_lines": 0, @@ -3163,7 +3163,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 64, "end_line": 89, "comment_lines": 0, @@ -3173,7 +3173,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 72, "end_line": 72, "comment_lines": 0, @@ -3182,7 +3182,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 72, "end_line": 72, "comment_lines": 0, @@ -3201,7 +3201,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 72, "end_line": 72, "comment_lines": 0, @@ -3220,7 +3220,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 72, "end_line": 72, "comment_lines": 0, @@ -3239,7 +3239,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 72, "end_line": 72, "comment_lines": 0, @@ -3265,7 +3265,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 73, "end_line": 73, "comment_lines": 0, @@ -3274,7 +3274,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 73, "end_line": 73, "comment_lines": 0, @@ -3293,7 +3293,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 73, "end_line": 73, "comment_lines": 0, @@ -3302,7 +3302,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 73, "end_line": 73, "comment_lines": 0, @@ -3322,7 +3322,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 73, "end_line": 73, "comment_lines": 0, @@ -3346,7 +3346,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 74, "end_line": 74, "comment_lines": 0, @@ -3355,7 +3355,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 74, "end_line": 74, "comment_lines": 0, @@ -3374,7 +3374,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 74, "end_line": 74, "comment_lines": 0, @@ -3383,7 +3383,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 74, "end_line": 74, "comment_lines": 0, @@ -3403,7 +3403,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 74, "end_line": 74, "comment_lines": 0, @@ -3427,7 +3427,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 75, "end_line": 75, "comment_lines": 0, @@ -3436,7 +3436,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 75, "end_line": 75, "comment_lines": 0, @@ -3455,7 +3455,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 75, "end_line": 75, "comment_lines": 0, @@ -3477,7 +3477,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 75, "end_line": 75, "comment_lines": 0, @@ -3502,7 +3502,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 76, "end_line": 76, "comment_lines": 0, @@ -3511,7 +3511,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 76, "end_line": 76, "comment_lines": 0, @@ -3530,7 +3530,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 76, "end_line": 76, "comment_lines": 0, @@ -3549,7 +3549,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 76, "end_line": 76, "comment_lines": 0, @@ -3568,7 +3568,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 76, "end_line": 76, "comment_lines": 0, @@ -3593,7 +3593,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3602,7 +3602,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3621,7 +3621,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3640,7 +3640,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3659,7 +3659,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3678,7 +3678,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3697,7 +3697,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 78, "end_line": 78, "comment_lines": 0, @@ -3726,7 +3726,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 81, "comment_lines": 0, @@ -3735,7 +3735,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 79, "comment_lines": 0, @@ -3754,7 +3754,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 81, "comment_lines": 0, @@ -3763,7 +3763,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 79, "comment_lines": 0, @@ -3782,7 +3782,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 79, "comment_lines": 0, @@ -3801,7 +3801,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 79, "comment_lines": 0, @@ -3821,7 +3821,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 79, "comment_lines": 0, @@ -3845,7 +3845,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 79, "end_line": 81, "comment_lines": 0, @@ -3864,7 +3864,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 80, "end_line": 80, "comment_lines": 0, @@ -3883,7 +3883,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 80, "end_line": 80, "comment_lines": 0, @@ -3892,7 +3892,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 80, "end_line": 80, "comment_lines": 0, @@ -3912,7 +3912,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 80, "end_line": 80, "comment_lines": 0, @@ -3934,7 +3934,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 80, "end_line": 80, "comment_lines": 0, @@ -3961,7 +3961,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 83, "end_line": 87, "comment_lines": 0, @@ -3970,7 +3970,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 83, "end_line": 83, "comment_lines": 0, @@ -3989,7 +3989,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 83, "end_line": 87, "comment_lines": 0, @@ -3998,7 +3998,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 83, "end_line": 85, "comment_lines": 0, @@ -4020,7 +4020,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 84, "end_line": 84, "comment_lines": 0, @@ -4039,7 +4039,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 84, "end_line": 84, "comment_lines": 0, @@ -4067,7 +4067,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 85, "end_line": 87, "comment_lines": 0, @@ -4090,7 +4090,7 @@ "name": "array_head_and_tail", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 86, "end_line": 86, "comment_lines": 0, @@ -4112,7 +4112,7 @@ "name": "length", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 86, "end_line": 86, "comment_lines": 0, @@ -4134,7 +4134,7 @@ "name": "start_at_index", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 86, "end_line": 86, "comment_lines": 0, @@ -4162,7 +4162,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 89, "end_line": 89, "comment_lines": 0, @@ -4171,7 +4171,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 89, "end_line": 89, "comment_lines": 0, @@ -4181,7 +4181,7 @@ "items": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 89, "end_line": 89, "comment_lines": 0, @@ -4200,7 +4200,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 89, "end_line": 89, "comment_lines": 0, @@ -4237,7 +4237,7 @@ } ], "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 89, "end_line": 89, "comment_lines": 0, @@ -4266,7 +4266,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 92, "end_line": 93, "comment_lines": 0, @@ -4284,7 +4284,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 93, "end_line": 93, "comment_lines": 0, @@ -4316,7 +4316,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 94, "end_line": 121, "comment_lines": 0, @@ -4326,7 +4326,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 101, "end_line": 101, "comment_lines": 0, @@ -4335,7 +4335,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 101, "end_line": 101, "comment_lines": 0, @@ -4354,7 +4354,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 101, "end_line": 101, "comment_lines": 0, @@ -4373,7 +4373,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 101, "end_line": 101, "comment_lines": 0, @@ -4392,7 +4392,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 101, "end_line": 101, "comment_lines": 0, @@ -4418,7 +4418,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 102, "end_line": 102, "comment_lines": 0, @@ -4427,7 +4427,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 102, "end_line": 102, "comment_lines": 0, @@ -4446,7 +4446,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 102, "end_line": 102, "comment_lines": 0, @@ -4455,7 +4455,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 102, "end_line": 102, "comment_lines": 0, @@ -4475,7 +4475,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 102, "end_line": 102, "comment_lines": 0, @@ -4499,7 +4499,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 103, "end_line": 103, "comment_lines": 0, @@ -4508,7 +4508,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 103, "end_line": 103, "comment_lines": 0, @@ -4527,7 +4527,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 103, "end_line": 103, "comment_lines": 0, @@ -4536,7 +4536,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 103, "end_line": 103, "comment_lines": 0, @@ -4556,7 +4556,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 103, "end_line": 103, "comment_lines": 0, @@ -4580,7 +4580,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 104, "end_line": 104, "comment_lines": 0, @@ -4589,7 +4589,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 104, "end_line": 104, "comment_lines": 0, @@ -4608,7 +4608,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 104, "end_line": 104, "comment_lines": 0, @@ -4630,7 +4630,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 104, "end_line": 104, "comment_lines": 0, @@ -4655,7 +4655,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 105, "end_line": 105, "comment_lines": 0, @@ -4664,7 +4664,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 105, "end_line": 105, "comment_lines": 0, @@ -4683,7 +4683,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 105, "end_line": 105, "comment_lines": 0, @@ -4702,7 +4702,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 105, "end_line": 105, "comment_lines": 0, @@ -4721,7 +4721,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 105, "end_line": 105, "comment_lines": 0, @@ -4746,7 +4746,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4755,7 +4755,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4774,7 +4774,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4793,7 +4793,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4812,7 +4812,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4831,7 +4831,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4850,7 +4850,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 107, "end_line": 107, "comment_lines": 0, @@ -4879,7 +4879,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 109, "end_line": 109, "comment_lines": 0, @@ -4888,7 +4888,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 109, "end_line": 109, "comment_lines": 0, @@ -4907,7 +4907,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 109, "end_line": 109, "comment_lines": 0, @@ -4929,7 +4929,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -4938,7 +4938,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -4947,7 +4947,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -4967,7 +4967,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -4976,7 +4976,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -4996,7 +4996,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -5018,7 +5018,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -5040,7 +5040,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 110, "end_line": 110, "comment_lines": 0, @@ -5059,7 +5059,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 113, "comment_lines": 0, @@ -5069,7 +5069,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 111, "comment_lines": 0, @@ -5078,7 +5078,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 111, "comment_lines": 0, @@ -5097,7 +5097,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 111, "comment_lines": 0, @@ -5116,7 +5116,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 111, "comment_lines": 0, @@ -5135,7 +5135,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 111, "end_line": 111, "comment_lines": 0, @@ -5160,7 +5160,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 112, "end_line": 112, "comment_lines": 0, @@ -5169,7 +5169,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 112, "end_line": 112, "comment_lines": 0, @@ -5189,7 +5189,7 @@ "op": "-", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 112, "end_line": 112, "comment_lines": 0, @@ -5211,7 +5211,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 113, "end_line": 113, "comment_lines": 0, @@ -5220,7 +5220,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 113, "end_line": 113, "comment_lines": 0, @@ -5240,7 +5240,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 113, "end_line": 113, "comment_lines": 0, @@ -5262,7 +5262,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 113, "end_line": 113, "comment_lines": 0, @@ -5281,7 +5281,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 113, "end_line": 113, "comment_lines": 0, @@ -5317,7 +5317,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 115, "end_line": 119, "comment_lines": 0, @@ -5326,7 +5326,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 115, "end_line": 115, "comment_lines": 0, @@ -5345,7 +5345,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 116, "end_line": 118, "comment_lines": 0, @@ -5354,7 +5354,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 116, "end_line": 117, "comment_lines": 0, @@ -5363,7 +5363,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 116, "end_line": 116, "comment_lines": 0, @@ -5385,7 +5385,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 116, "end_line": 116, "comment_lines": 0, @@ -5404,7 +5404,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 116, "end_line": 116, "comment_lines": 0, @@ -5432,7 +5432,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 117, "end_line": 117, "comment_lines": 0, @@ -5454,7 +5454,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5473,7 +5473,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5492,7 +5492,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5501,7 +5501,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5521,7 +5521,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5543,7 +5543,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 118, "end_line": 118, "comment_lines": 0, @@ -5570,7 +5570,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 121, "end_line": 121, "comment_lines": 0, @@ -5579,7 +5579,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 121, "end_line": 121, "comment_lines": 0, @@ -5589,7 +5589,7 @@ "items": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 121, "end_line": 121, "comment_lines": 0, @@ -5608,7 +5608,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 121, "end_line": 121, "comment_lines": 0, @@ -5645,7 +5645,7 @@ } ], "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 121, "end_line": 121, "comment_lines": 0, @@ -5674,7 +5674,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 124, "end_line": 127, "comment_lines": 0, @@ -5692,7 +5692,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 126, "end_line": 126, "comment_lines": 0, @@ -5710,7 +5710,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 126, "end_line": 126, "comment_lines": 0, @@ -5728,7 +5728,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 126, "end_line": 126, "comment_lines": 0, @@ -5746,7 +5746,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 126, "end_line": 126, "comment_lines": 0, @@ -5764,7 +5764,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 128, "end_line": 154, "comment_lines": 0, @@ -5774,7 +5774,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 140, "end_line": 140, "comment_lines": 0, @@ -5783,7 +5783,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 140, "end_line": 140, "comment_lines": 0, @@ -5802,7 +5802,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 140, "end_line": 140, "comment_lines": 0, @@ -5821,7 +5821,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 140, "end_line": 140, "comment_lines": 0, @@ -5840,7 +5840,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 140, "end_line": 140, "comment_lines": 0, @@ -5866,7 +5866,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 141, "end_line": 141, "comment_lines": 0, @@ -5875,7 +5875,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 141, "end_line": 141, "comment_lines": 0, @@ -5894,7 +5894,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 141, "end_line": 141, "comment_lines": 0, @@ -5903,7 +5903,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 141, "end_line": 141, "comment_lines": 0, @@ -5923,7 +5923,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 141, "end_line": 141, "comment_lines": 0, @@ -5946,7 +5946,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 142, "end_line": 142, "comment_lines": 0, @@ -5955,7 +5955,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 142, "end_line": 142, "comment_lines": 0, @@ -5974,7 +5974,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 142, "end_line": 142, "comment_lines": 0, @@ -5996,7 +5996,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 142, "end_line": 142, "comment_lines": 0, @@ -6015,7 +6015,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 142, "end_line": 142, "comment_lines": 0, @@ -6044,7 +6044,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 143, "end_line": 143, "comment_lines": 0, @@ -6053,7 +6053,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 143, "end_line": 143, "comment_lines": 0, @@ -6072,7 +6072,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 143, "end_line": 143, "comment_lines": 0, @@ -6093,7 +6093,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 143, "end_line": 143, "comment_lines": 0, @@ -6112,7 +6112,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 143, "end_line": 143, "comment_lines": 0, @@ -6137,7 +6137,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6146,7 +6146,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6165,7 +6165,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6174,7 +6174,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6183,7 +6183,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6203,7 +6203,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6226,7 +6226,7 @@ "op": "//", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 144, "end_line": 144, "comment_lines": 0, @@ -6250,7 +6250,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6259,7 +6259,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6278,7 +6278,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6287,7 +6287,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6296,7 +6296,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6316,7 +6316,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6339,7 +6339,7 @@ "op": "//", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 145, "end_line": 145, "comment_lines": 0, @@ -6363,7 +6363,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 146, "end_line": 146, "comment_lines": 0, @@ -6372,7 +6372,7 @@ }, "condition": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 146, "end_line": 146, "comment_lines": 0, @@ -6381,7 +6381,7 @@ }, "lhs": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 146, "end_line": 146, "comment_lines": 0, @@ -6401,7 +6401,7 @@ "operator": "<", "rhs": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 146, "end_line": 146, "comment_lines": 0, @@ -6422,7 +6422,7 @@ }, "if_branch": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6432,7 +6432,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6441,7 +6441,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6461,7 +6461,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6480,7 +6480,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6489,7 +6489,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6509,7 +6509,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 147, "end_line": 147, "comment_lines": 0, @@ -6544,7 +6544,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 149, "end_line": 149, "comment_lines": 0, @@ -6553,7 +6553,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 149, "end_line": 149, "comment_lines": 0, @@ -6572,7 +6572,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 149, "end_line": 149, "comment_lines": 0, @@ -6581,7 +6581,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 149, "end_line": 149, "comment_lines": 0, @@ -6601,7 +6601,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 149, "end_line": 149, "comment_lines": 0, @@ -6625,7 +6625,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6634,7 +6634,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6643,7 +6643,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6663,7 +6663,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6682,7 +6682,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6691,7 +6691,7 @@ }, "condition": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6710,7 +6710,7 @@ }, "true_expr": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6730,7 +6730,7 @@ }, "false_expr": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6761,7 +6761,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 150, "end_line": 150, "comment_lines": 0, @@ -6780,7 +6780,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 152, "comment_lines": 0, @@ -6790,7 +6790,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6799,7 +6799,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6818,7 +6818,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6837,7 +6837,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6856,7 +6856,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6875,7 +6875,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6894,7 +6894,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6913,7 +6913,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 151, "end_line": 151, "comment_lines": 0, @@ -6942,7 +6942,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 152, "end_line": 152, "comment_lines": 0, @@ -6951,7 +6951,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 152, "end_line": 152, "comment_lines": 0, @@ -6971,7 +6971,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 152, "end_line": 152, "comment_lines": 0, @@ -7000,7 +7000,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 154, "end_line": 154, "comment_lines": 0, @@ -7009,7 +7009,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 154, "end_line": 154, "comment_lines": 0, @@ -7044,7 +7044,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 157, "end_line": 160, "comment_lines": 0, @@ -7062,7 +7062,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 159, "end_line": 159, "comment_lines": 0, @@ -7080,7 +7080,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 159, "end_line": 159, "comment_lines": 0, @@ -7098,7 +7098,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 159, "end_line": 159, "comment_lines": 0, @@ -7116,7 +7116,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 161, "end_line": 186, "comment_lines": 0, @@ -7126,7 +7126,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 171, "end_line": 171, "comment_lines": 0, @@ -7135,7 +7135,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 171, "end_line": 171, "comment_lines": 0, @@ -7154,7 +7154,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 171, "end_line": 171, "comment_lines": 0, @@ -7173,7 +7173,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 171, "end_line": 171, "comment_lines": 0, @@ -7192,7 +7192,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 171, "end_line": 171, "comment_lines": 0, @@ -7218,7 +7218,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 172, "end_line": 172, "comment_lines": 0, @@ -7227,7 +7227,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 172, "end_line": 172, "comment_lines": 0, @@ -7246,7 +7246,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 172, "end_line": 172, "comment_lines": 0, @@ -7255,7 +7255,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 172, "end_line": 172, "comment_lines": 0, @@ -7275,7 +7275,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 172, "end_line": 172, "comment_lines": 0, @@ -7298,7 +7298,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7307,7 +7307,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7326,7 +7326,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7335,7 +7335,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7344,7 +7344,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7364,7 +7364,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7387,7 +7387,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 173, "end_line": 173, "comment_lines": 0, @@ -7411,7 +7411,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 175, "end_line": 186, "comment_lines": 0, @@ -7420,7 +7420,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 175, "end_line": 186, "comment_lines": 0, @@ -7429,7 +7429,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 175, "end_line": 177, "comment_lines": 0, @@ -7451,7 +7451,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 176, "end_line": 176, "comment_lines": 0, @@ -7470,7 +7470,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 176, "end_line": 176, "comment_lines": 0, @@ -7498,7 +7498,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 177, "end_line": 186, "comment_lines": 0, @@ -7521,7 +7521,7 @@ "name": "array_head_and_tail", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 182, "comment_lines": 0, @@ -7530,7 +7530,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 181, "comment_lines": 0, @@ -7539,7 +7539,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 180, "comment_lines": 0, @@ -7548,7 +7548,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 179, "comment_lines": 0, @@ -7567,7 +7567,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 179, "comment_lines": 0, @@ -7586,7 +7586,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 179, "comment_lines": 0, @@ -7606,7 +7606,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 179, "end_line": 179, "comment_lines": 0, @@ -7630,7 +7630,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 180, "end_line": 180, "comment_lines": 0, @@ -7649,7 +7649,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 180, "end_line": 180, "comment_lines": 0, @@ -7658,7 +7658,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 180, "end_line": 180, "comment_lines": 0, @@ -7678,7 +7678,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 180, "end_line": 180, "comment_lines": 0, @@ -7707,7 +7707,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 181, "end_line": 181, "comment_lines": 0, @@ -7726,7 +7726,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 181, "end_line": 181, "comment_lines": 0, @@ -7745,7 +7745,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 181, "end_line": 181, "comment_lines": 0, @@ -7764,7 +7764,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 181, "end_line": 181, "comment_lines": 0, @@ -7783,7 +7783,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 181, "end_line": 181, "comment_lines": 0, @@ -7813,7 +7813,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 182, "end_line": 182, "comment_lines": 0, @@ -7837,7 +7837,7 @@ "name": "length", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 184, "end_line": 184, "comment_lines": 0, @@ -7859,7 +7859,7 @@ "name": "start_at_index", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 185, "end_line": 185, "comment_lines": 0, @@ -7901,7 +7901,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 189, "end_line": 196, "comment_lines": 0, @@ -7919,7 +7919,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 192, "end_line": 192, "comment_lines": 0, @@ -7937,7 +7937,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 193, "end_line": 193, "comment_lines": 0, @@ -7955,7 +7955,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 194, "end_line": 194, "comment_lines": 0, @@ -7973,7 +7973,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 195, "end_line": 195, "comment_lines": 0, @@ -7991,7 +7991,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 197, "end_line": 214, "comment_lines": 0, @@ -8001,7 +8001,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 197, "end_line": 197, "comment_lines": 0, @@ -8010,7 +8010,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 197, "end_line": 197, "comment_lines": 0, @@ -8029,7 +8029,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 197, "end_line": 197, "comment_lines": 0, @@ -8051,7 +8051,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 198, "end_line": 198, "comment_lines": 0, @@ -8060,7 +8060,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 198, "end_line": 198, "comment_lines": 0, @@ -8079,7 +8079,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 198, "end_line": 198, "comment_lines": 0, @@ -8088,7 +8088,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 198, "end_line": 198, "comment_lines": 0, @@ -8108,7 +8108,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 198, "end_line": 198, "comment_lines": 0, @@ -8132,7 +8132,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8141,7 +8141,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8150,7 +8150,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8170,7 +8170,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8179,7 +8179,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8199,7 +8199,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8221,7 +8221,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8243,7 +8243,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 199, "end_line": 199, "comment_lines": 0, @@ -8262,7 +8262,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 201, "comment_lines": 0, @@ -8272,7 +8272,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 200, "comment_lines": 0, @@ -8281,7 +8281,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 200, "comment_lines": 0, @@ -8300,7 +8300,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 200, "comment_lines": 0, @@ -8319,7 +8319,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 200, "comment_lines": 0, @@ -8338,7 +8338,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 200, "end_line": 200, "comment_lines": 0, @@ -8363,7 +8363,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8372,7 +8372,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8392,7 +8392,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8414,7 +8414,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8433,7 +8433,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8442,7 +8442,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8462,7 +8462,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 201, "end_line": 201, "comment_lines": 0, @@ -8500,7 +8500,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 203, "end_line": 203, "comment_lines": 0, @@ -8509,7 +8509,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 203, "end_line": 203, "comment_lines": 0, @@ -8528,7 +8528,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 203, "end_line": 203, "comment_lines": 0, @@ -8547,7 +8547,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 203, "end_line": 203, "comment_lines": 0, @@ -8572,7 +8572,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8581,7 +8581,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8590,7 +8590,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8610,7 +8610,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8619,7 +8619,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8639,7 +8639,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8661,7 +8661,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8683,7 +8683,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 204, "end_line": 204, "comment_lines": 0, @@ -8702,7 +8702,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 206, "comment_lines": 0, @@ -8712,7 +8712,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 205, "comment_lines": 0, @@ -8721,7 +8721,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 205, "comment_lines": 0, @@ -8740,7 +8740,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 205, "comment_lines": 0, @@ -8759,7 +8759,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 205, "comment_lines": 0, @@ -8778,7 +8778,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 205, "end_line": 205, "comment_lines": 0, @@ -8803,7 +8803,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8812,7 +8812,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8832,7 +8832,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8854,7 +8854,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8873,7 +8873,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8882,7 +8882,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8902,7 +8902,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 206, "end_line": 206, "comment_lines": 0, @@ -8940,7 +8940,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 207, "end_line": 214, "comment_lines": 0, @@ -8949,7 +8949,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 213, "comment_lines": 0, @@ -8958,7 +8958,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 212, "comment_lines": 0, @@ -8967,7 +8967,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 209, "comment_lines": 0, @@ -8976,7 +8976,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 208, "comment_lines": 0, @@ -8998,7 +8998,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 208, "comment_lines": 0, @@ -9017,7 +9017,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 208, "comment_lines": 0, @@ -9026,7 +9026,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 208, "comment_lines": 0, @@ -9046,7 +9046,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 208, "end_line": 208, "comment_lines": 0, @@ -9076,7 +9076,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 209, "end_line": 209, "comment_lines": 0, @@ -9098,7 +9098,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 210, "end_line": 212, "comment_lines": 0, @@ -9117,7 +9117,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9136,7 +9136,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9145,7 +9145,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9165,7 +9165,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9187,7 +9187,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9206,7 +9206,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 211, "end_line": 211, "comment_lines": 0, @@ -9236,7 +9236,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9255,7 +9255,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9274,7 +9274,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9283,7 +9283,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9303,7 +9303,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9325,7 +9325,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9344,7 +9344,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 213, "end_line": 213, "comment_lines": 0, @@ -9389,7 +9389,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 217, "end_line": 218, "comment_lines": 0, @@ -9407,7 +9407,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 218, "end_line": 218, "comment_lines": 0, @@ -9425,7 +9425,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 218, "end_line": 218, "comment_lines": 0, @@ -9443,7 +9443,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 218, "end_line": 218, "comment_lines": 0, @@ -9461,7 +9461,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 219, "end_line": 237, "comment_lines": 0, @@ -9471,7 +9471,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 230, "end_line": 230, "comment_lines": 0, @@ -9480,7 +9480,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 230, "end_line": 230, "comment_lines": 0, @@ -9499,7 +9499,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 230, "end_line": 230, "comment_lines": 0, @@ -9521,7 +9521,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 230, "end_line": 230, "comment_lines": 0, @@ -9546,7 +9546,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 231, "end_line": 231, "comment_lines": 0, @@ -9555,7 +9555,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 231, "end_line": 231, "comment_lines": 0, @@ -9574,7 +9574,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 231, "end_line": 231, "comment_lines": 0, @@ -9593,7 +9593,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 231, "end_line": 231, "comment_lines": 0, @@ -9618,7 +9618,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 232, "end_line": 237, "comment_lines": 0, @@ -9627,7 +9627,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 232, "end_line": 237, "comment_lines": 0, @@ -9636,7 +9636,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 232, "end_line": 232, "comment_lines": 0, @@ -9656,7 +9656,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 232, "end_line": 237, "comment_lines": 0, @@ -9679,7 +9679,7 @@ "name": "array_head_and_tail", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 233, "end_line": 233, "comment_lines": 0, @@ -9701,7 +9701,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 233, "end_line": 233, "comment_lines": 0, @@ -9727,7 +9727,7 @@ "name": "new_item", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 234, "end_line": 234, "comment_lines": 0, @@ -9749,7 +9749,7 @@ "name": "index", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 235, "end_line": 235, "comment_lines": 0, @@ -9771,7 +9771,7 @@ "name": "array_length", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 236, "end_line": 236, "comment_lines": 0, @@ -9812,7 +9812,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 240, "end_line": 241, "comment_lines": 0, @@ -9830,7 +9830,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 241, "end_line": 241, "comment_lines": 0, @@ -9848,7 +9848,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 241, "end_line": 241, "comment_lines": 0, @@ -9866,7 +9866,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 241, "end_line": 241, "comment_lines": 0, @@ -9884,7 +9884,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 242, "end_line": 249, "comment_lines": 0, @@ -9894,7 +9894,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 242, "end_line": 242, "comment_lines": 0, @@ -9903,7 +9903,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 242, "end_line": 242, "comment_lines": 0, @@ -9922,7 +9922,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 242, "end_line": 242, "comment_lines": 0, @@ -9944,7 +9944,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 242, "end_line": 242, "comment_lines": 0, @@ -9969,7 +9969,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 243, "end_line": 243, "comment_lines": 0, @@ -9978,7 +9978,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 243, "end_line": 243, "comment_lines": 0, @@ -9997,7 +9997,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 243, "end_line": 243, "comment_lines": 0, @@ -10016,7 +10016,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 243, "end_line": 243, "comment_lines": 0, @@ -10041,7 +10041,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 244, "end_line": 249, "comment_lines": 0, @@ -10050,7 +10050,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 244, "end_line": 249, "comment_lines": 0, @@ -10059,7 +10059,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 244, "end_line": 244, "comment_lines": 0, @@ -10079,7 +10079,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 244, "end_line": 249, "comment_lines": 0, @@ -10102,7 +10102,7 @@ "name": "array_head_and_tail", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 245, "end_line": 245, "comment_lines": 0, @@ -10124,7 +10124,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 245, "end_line": 245, "comment_lines": 0, @@ -10150,7 +10150,7 @@ "name": "new_item", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 246, "end_line": 246, "comment_lines": 0, @@ -10172,7 +10172,7 @@ "name": "index", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 247, "end_line": 247, "comment_lines": 0, @@ -10194,7 +10194,7 @@ "name": "array_length", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 248, "end_line": 248, "comment_lines": 0, @@ -10235,7 +10235,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 252, "end_line": 255, "comment_lines": 0, @@ -10253,7 +10253,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 254, "end_line": 254, "comment_lines": 0, @@ -10271,7 +10271,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 254, "end_line": 254, "comment_lines": 0, @@ -10289,7 +10289,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 254, "end_line": 254, "comment_lines": 0, @@ -10307,7 +10307,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 254, "end_line": 254, "comment_lines": 0, @@ -10325,7 +10325,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 275, "comment_lines": 0, @@ -10335,7 +10335,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10344,7 +10344,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10363,7 +10363,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10382,7 +10382,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10401,7 +10401,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10410,7 +10410,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10430,7 +10430,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 256, "end_line": 256, "comment_lines": 0, @@ -10458,7 +10458,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10467,7 +10467,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10486,7 +10486,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10505,7 +10505,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10524,7 +10524,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10533,7 +10533,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10542,7 +10542,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10562,7 +10562,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10585,7 +10585,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 257, "end_line": 257, "comment_lines": 0, @@ -10613,7 +10613,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 258, "end_line": 258, "comment_lines": 0, @@ -10622,7 +10622,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 258, "end_line": 258, "comment_lines": 0, @@ -10641,7 +10641,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 258, "end_line": 258, "comment_lines": 0, @@ -10660,7 +10660,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 258, "end_line": 258, "comment_lines": 0, @@ -10685,7 +10685,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10694,7 +10694,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10713,7 +10713,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10722,7 +10722,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10731,7 +10731,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10751,7 +10751,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10773,7 +10773,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 259, "end_line": 259, "comment_lines": 0, @@ -10797,7 +10797,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10806,7 +10806,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10825,7 +10825,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10844,7 +10844,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10863,7 +10863,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10882,7 +10882,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 260, "end_line": 260, "comment_lines": 0, @@ -10907,7 +10907,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 262, "end_line": 262, "comment_lines": 0, @@ -10916,7 +10916,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 262, "end_line": 262, "comment_lines": 0, @@ -10935,7 +10935,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 262, "end_line": 262, "comment_lines": 0, @@ -10944,7 +10944,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 262, "end_line": 262, "comment_lines": 0, @@ -10964,7 +10964,7 @@ "op": "-", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 262, "end_line": 262, "comment_lines": 0, @@ -10987,7 +10987,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 263, "end_line": 263, "comment_lines": 0, @@ -10996,7 +10996,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 263, "end_line": 263, "comment_lines": 0, @@ -11015,7 +11015,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 263, "end_line": 263, "comment_lines": 0, @@ -11034,7 +11034,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 263, "end_line": 263, "comment_lines": 0, @@ -11059,7 +11059,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 264, "end_line": 268, "comment_lines": 0, @@ -11068,7 +11068,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 264, "end_line": 264, "comment_lines": 0, @@ -11087,7 +11087,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 267, "comment_lines": 0, @@ -11096,7 +11096,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 266, "comment_lines": 0, @@ -11105,7 +11105,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 265, "comment_lines": 0, @@ -11124,7 +11124,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 265, "comment_lines": 0, @@ -11143,7 +11143,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 265, "comment_lines": 0, @@ -11163,7 +11163,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 265, "end_line": 265, "comment_lines": 0, @@ -11187,7 +11187,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 266, "end_line": 266, "comment_lines": 0, @@ -11209,7 +11209,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 267, "end_line": 267, "comment_lines": 0, @@ -11228,7 +11228,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 267, "end_line": 267, "comment_lines": 0, @@ -11247,7 +11247,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 267, "end_line": 267, "comment_lines": 0, @@ -11266,7 +11266,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 267, "end_line": 267, "comment_lines": 0, @@ -11293,7 +11293,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11302,7 +11302,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11311,7 +11311,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11320,7 +11320,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11329,7 +11329,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11349,7 +11349,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11372,7 +11372,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11394,7 +11394,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11403,7 +11403,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11423,7 +11423,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11445,7 +11445,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11467,7 +11467,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 269, "end_line": 269, "comment_lines": 0, @@ -11486,7 +11486,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 274, "comment_lines": 0, @@ -11496,7 +11496,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 270, "comment_lines": 0, @@ -11505,7 +11505,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 270, "comment_lines": 0, @@ -11524,7 +11524,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 270, "comment_lines": 0, @@ -11543,7 +11543,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 270, "comment_lines": 0, @@ -11562,7 +11562,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 270, "end_line": 270, "comment_lines": 0, @@ -11587,7 +11587,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 271, "end_line": 271, "comment_lines": 0, @@ -11596,7 +11596,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 271, "end_line": 271, "comment_lines": 0, @@ -11616,7 +11616,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 271, "end_line": 271, "comment_lines": 0, @@ -11637,7 +11637,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 272, "end_line": 272, "comment_lines": 0, @@ -11646,7 +11646,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 272, "end_line": 272, "comment_lines": 0, @@ -11666,7 +11666,7 @@ "op": "-", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 272, "end_line": 272, "comment_lines": 0, @@ -11687,7 +11687,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 273, "end_line": 273, "comment_lines": 0, @@ -11696,7 +11696,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 273, "end_line": 273, "comment_lines": 0, @@ -11715,7 +11715,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 273, "end_line": 273, "comment_lines": 0, @@ -11737,7 +11737,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 273, "end_line": 273, "comment_lines": 0, @@ -11756,7 +11756,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 273, "end_line": 273, "comment_lines": 0, @@ -11785,7 +11785,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11794,7 +11794,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11813,7 +11813,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11832,7 +11832,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11851,7 +11851,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11870,7 +11870,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 274, "end_line": 274, "comment_lines": 0, @@ -11902,7 +11902,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 275, "end_line": 275, "comment_lines": 0, @@ -11911,7 +11911,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 275, "end_line": 275, "comment_lines": 0, @@ -11946,7 +11946,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 278, "end_line": 281, "comment_lines": 0, @@ -11964,7 +11964,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 280, "end_line": 280, "comment_lines": 0, @@ -11982,7 +11982,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 280, "end_line": 280, "comment_lines": 0, @@ -12000,7 +12000,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 280, "end_line": 280, "comment_lines": 0, @@ -12018,7 +12018,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 280, "end_line": 280, "comment_lines": 0, @@ -12036,7 +12036,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 282, "end_line": 303, "comment_lines": 0, @@ -12047,7 +12047,7 @@ { "expr": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 293, "end_line": 293, "comment_lines": 0, @@ -12066,7 +12066,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 293, "end_line": 293, "comment_lines": 0, @@ -12075,7 +12075,7 @@ }, "lhs": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 293, "end_line": 293, "comment_lines": 0, @@ -12095,7 +12095,7 @@ "operator": "<", "rhs": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 293, "end_line": 293, "comment_lines": 0, @@ -12122,7 +12122,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12131,7 +12131,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12150,7 +12150,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12169,7 +12169,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12188,7 +12188,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12197,7 +12197,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12217,7 +12217,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 294, "end_line": 294, "comment_lines": 0, @@ -12245,7 +12245,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 295, "end_line": 295, "comment_lines": 0, @@ -12254,7 +12254,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 295, "end_line": 295, "comment_lines": 0, @@ -12273,7 +12273,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 295, "end_line": 295, "comment_lines": 0, @@ -12292,7 +12292,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 295, "end_line": 295, "comment_lines": 0, @@ -12311,7 +12311,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 295, "end_line": 295, "comment_lines": 0, @@ -12336,7 +12336,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12345,7 +12345,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12364,7 +12364,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12373,7 +12373,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12382,7 +12382,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12402,7 +12402,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12424,7 +12424,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 296, "end_line": 296, "comment_lines": 0, @@ -12448,7 +12448,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 297, "end_line": 303, "comment_lines": 0, @@ -12457,7 +12457,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 297, "end_line": 303, "comment_lines": 0, @@ -12480,7 +12480,7 @@ "name": "array_head_and_tail", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 300, "comment_lines": 0, @@ -12489,7 +12489,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 299, "comment_lines": 0, @@ -12498,7 +12498,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 298, "comment_lines": 0, @@ -12517,7 +12517,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 298, "comment_lines": 0, @@ -12536,7 +12536,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 298, "comment_lines": 0, @@ -12556,7 +12556,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 298, "end_line": 298, "comment_lines": 0, @@ -12580,7 +12580,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 299, "end_line": 299, "comment_lines": 0, @@ -12602,7 +12602,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 300, "end_line": 300, "comment_lines": 0, @@ -12621,7 +12621,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 300, "end_line": 300, "comment_lines": 0, @@ -12640,7 +12640,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 300, "end_line": 300, "comment_lines": 0, @@ -12659,7 +12659,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 300, "end_line": 300, "comment_lines": 0, @@ -12678,7 +12678,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 300, "end_line": 300, "comment_lines": 0, @@ -12710,7 +12710,7 @@ "name": "length", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 301, "end_line": 301, "comment_lines": 0, @@ -12732,7 +12732,7 @@ "name": "start_at_index", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 302, "end_line": 302, "comment_lines": 0, @@ -12771,7 +12771,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 306, "end_line": 309, "comment_lines": 0, @@ -12789,7 +12789,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 308, "end_line": 308, "comment_lines": 0, @@ -12807,7 +12807,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 308, "end_line": 308, "comment_lines": 0, @@ -12825,7 +12825,7 @@ "_type": "WType" }, "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 308, "end_line": 308, "comment_lines": 0, @@ -12843,7 +12843,7 @@ }, "body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 310, "end_line": 332, "comment_lines": 0, @@ -12853,7 +12853,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 321, "end_line": 325, "comment_lines": 0, @@ -12862,7 +12862,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 321, "end_line": 321, "comment_lines": 0, @@ -12881,7 +12881,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 321, "end_line": 325, "comment_lines": 0, @@ -12900,7 +12900,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 322, "end_line": 322, "comment_lines": 0, @@ -12909,7 +12909,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 322, "end_line": 322, "comment_lines": 0, @@ -12929,7 +12929,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 322, "end_line": 322, "comment_lines": 0, @@ -12951,7 +12951,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 323, "end_line": 323, "comment_lines": 0, @@ -12970,7 +12970,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 323, "end_line": 323, "comment_lines": 0, @@ -12989,7 +12989,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 323, "end_line": 323, "comment_lines": 0, @@ -12998,7 +12998,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 323, "end_line": 323, "comment_lines": 0, @@ -13018,7 +13018,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 323, "end_line": 323, "comment_lines": 0, @@ -13044,7 +13044,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 324, "end_line": 324, "comment_lines": 0, @@ -13069,7 +13069,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13078,7 +13078,7 @@ }, "sequence": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13087,7 +13087,7 @@ }, "start": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13096,7 +13096,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13116,7 +13116,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13138,7 +13138,7 @@ }, "stop": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13147,7 +13147,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13167,7 +13167,7 @@ "op": "*", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13189,7 +13189,7 @@ }, "step": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13211,7 +13211,7 @@ }, "items": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 327, "end_line": 327, "comment_lines": 0, @@ -13230,7 +13230,7 @@ }, "loop_body": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 331, "comment_lines": 0, @@ -13240,7 +13240,7 @@ "body": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 328, "comment_lines": 0, @@ -13249,7 +13249,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 328, "comment_lines": 0, @@ -13268,7 +13268,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 328, "comment_lines": 0, @@ -13290,7 +13290,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 328, "comment_lines": 0, @@ -13309,7 +13309,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 328, "end_line": 328, "comment_lines": 0, @@ -13338,7 +13338,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13347,7 +13347,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13366,7 +13366,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13385,7 +13385,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13404,7 +13404,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13423,7 +13423,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 329, "end_line": 329, "comment_lines": 0, @@ -13448,7 +13448,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13457,7 +13457,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13477,7 +13477,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13486,7 +13486,7 @@ }, "left": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13505,7 +13505,7 @@ "stack_args": [ { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13524,7 +13524,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13548,7 +13548,7 @@ "op": "+", "right": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 330, "end_line": 330, "comment_lines": 0, @@ -13572,7 +13572,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 331, "end_line": 331, "comment_lines": 0, @@ -13581,7 +13581,7 @@ }, "target": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 331, "end_line": 331, "comment_lines": 0, @@ -13601,7 +13601,7 @@ "op": "+", "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 331, "end_line": 331, "comment_lines": 0, @@ -13630,7 +13630,7 @@ }, { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 332, "end_line": 332, "comment_lines": 0, @@ -13639,7 +13639,7 @@ }, "value": { "source_location": { - "file": "_puya_lib/arc4.py", + "file": "/puya/lib/arc4.py", "line": 332, "end_line": 332, "comment_lines": 0, diff --git a/src/puya/parse.py b/src/puya/parse.py index 190fc3bf46..77f0881bb9 100644 --- a/src/puya/parse.py +++ b/src/puya/parse.py @@ -8,15 +8,9 @@ from puya.utils import make_path_relative_to_cwd -def _resolved_path(p: Path | str) -> Path: - if isinstance(p, str): - p = Path(p) - return p.resolve() - - @attrs.frozen(kw_only=True, repr=False, str=False) class SourceLocation: - file: Path = attrs.field(converter=_resolved_path) + file: Path = attrs.field() line: int = attrs.field(validator=attrs.validators.ge(1)) end_line: int = attrs.field() comment_lines: int = attrs.field(default=0, validator=attrs.validators.ge(0)) @@ -28,6 +22,14 @@ class SourceLocation: default=None, validator=attrs.validators.optional(attrs.validators.ge(1)) ) + @file.validator + def _file_validator(self, _attribute: object, value: Path) -> None: + # this check is simply to make sure relative paths aren't accidentally passed in. + # so we use root rather than is_absolute(), because that requires a drive on Windows, + # which we naturally don't supply for synthetic paths such as embedded lib. + if not value.root: + raise ValueError(f"source file locations cannot be relative, got {value}") + @end_line.default def _end_line_default(self) -> int: return self.line diff --git a/src/puyapy/parse.py b/src/puyapy/parse.py index 03d1507577..5176cfc86b 100644 --- a/src/puyapy/parse.py +++ b/src/puyapy/parse.py @@ -264,7 +264,7 @@ def _try_parse_log_parts( line = int(line_str) except ValueError: line = 1 - location = SourceLocation(file=path_str, line=line) + location = SourceLocation(file=Path(path_str).resolve(), line=line) level = _MYPY_SEVERITY_TO_LOG_LEVEL[severity_str] return log.Log(message=msg, level=level, location=location) diff --git a/test_cases/arc4_dynamic_arrays/out/DynamicArrayContract.approval.mir b/test_cases/arc4_dynamic_arrays/out/DynamicArrayContract.approval.mir index 5b77cc5975..b1e1816631 100644 --- a/test_cases/arc4_dynamic_arrays/out/DynamicArrayContract.approval.mir +++ b/test_cases/arc4_dynamic_arrays/out/DynamicArrayContract.approval.mir @@ -1681,445 +1681,445 @@ test_nested_tuple_modification_block@0: // _puya_lib.arc4.dynamic_array_pop_fixed_size(array: bytes, fixed_byte_size: uint64) -> bytes, bytes: dynamic_array_pop_fixed_size: - proto 2 2 // (𝕡) array#0,fixed_byte_size#0 | _puya_lib/arc4.py:44-45 + proto 2 2 // (𝕡) array#0,fixed_byte_size#0 | /puya/lib/arc4.py:44-45 dynamic_array_pop_fixed_size_block@0: - frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | array#0 _puya_lib/arc4.py:53 - int 0 // (𝕡) array#0,fixed_byte_size#0 | array#0,0 _puya_lib/arc4.py:53 - extract_uint16 // (𝕡) array#0,fixed_byte_size#0 | {extract_uint16} _puya_lib/arc4.py:53 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 _puya_lib/arc4.py:53 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 _puya_lib/arc4.py:54 - int 1 // (𝕡) array#0,fixed_byte_size#0 | array_length#0,1 _puya_lib/arc4.py:54 - - // (𝕡) array#0,fixed_byte_size#0 | {-} _puya_lib/arc4.py:54 - // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 _puya_lib/arc4.py:54 - // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 _puya_lib/arc4.py:55 - itob // (𝕡) array#0,fixed_byte_size#0 | {itob} _puya_lib/arc4.py:55 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 _puya_lib/arc4.py:55 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 _puya_lib/arc4.py:55 - extract 6 0 // (𝕡) array#0,fixed_byte_size#0 | {extract} _puya_lib/arc4.py:55 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%1#0 _puya_lib/arc4.py:55 - frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | tmp%1#0,array#0 _puya_lib/arc4.py:55 - uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array#0,tmp%1#0 _puya_lib/arc4.py:55 - replace2 0 // (𝕡) array#0,fixed_byte_size#0 | {replace2} _puya_lib/arc4.py:55 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0 _puya_lib/arc4.py:55 - dup // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,result#0 _puya_lib/arc4.py:56 - len // (𝕡) array#0,fixed_byte_size#0 | result#0,{len} _puya_lib/arc4.py:56 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 _puya_lib/arc4.py:56 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 _puya_lib/arc4.py:56 - frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0,fixed_byte_size#0 _puya_lib/arc4.py:56 - - // (𝕡) array#0,fixed_byte_size#0 | result#0,{-} _puya_lib/arc4.py:56 - // virtual: store item_location#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0 _puya_lib/arc4.py:56 - dig 1 // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0 _puya_lib/arc4.py:57 - dig 1 // load item_location#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0 _puya_lib/arc4.py:57 - frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0,fixed_byte_size#0 _puya_lib/arc4.py:57 - extract3 // (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,{extract3} _puya_lib/arc4.py:57 - cover 2 // store popped#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,item_location#0 _puya_lib/arc4.py:57 - uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0 _puya_lib/arc4.py:58 - int 0 // (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0,0 _puya_lib/arc4.py:58 - uncover 2 // load item_location#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,0,item_location#0 _puya_lib/arc4.py:58 - substring3 // (𝕡) array#0,fixed_byte_size#0 | popped#0,{substring3} _puya_lib/arc4.py:58 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 _puya_lib/arc4.py:58 - // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,popped#0 _puya_lib/arc4.py:59 - // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 _puya_lib/arc4.py:59 - retsub // popped#0,result#0 _puya_lib/arc4.py:59 + frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | array#0 /puya/lib/arc4.py:53 + int 0 // (𝕡) array#0,fixed_byte_size#0 | array#0,0 /puya/lib/arc4.py:53 + extract_uint16 // (𝕡) array#0,fixed_byte_size#0 | {extract_uint16} /puya/lib/arc4.py:53 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 /puya/lib/arc4.py:53 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 /puya/lib/arc4.py:54 + int 1 // (𝕡) array#0,fixed_byte_size#0 | array_length#0,1 /puya/lib/arc4.py:54 + - // (𝕡) array#0,fixed_byte_size#0 | {-} /puya/lib/arc4.py:54 + // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 /puya/lib/arc4.py:54 + // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 /puya/lib/arc4.py:55 + itob // (𝕡) array#0,fixed_byte_size#0 | {itob} /puya/lib/arc4.py:55 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 /puya/lib/arc4.py:55 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 /puya/lib/arc4.py:55 + extract 6 0 // (𝕡) array#0,fixed_byte_size#0 | {extract} /puya/lib/arc4.py:55 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%1#0 /puya/lib/arc4.py:55 + frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | tmp%1#0,array#0 /puya/lib/arc4.py:55 + uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array#0,tmp%1#0 /puya/lib/arc4.py:55 + replace2 0 // (𝕡) array#0,fixed_byte_size#0 | {replace2} /puya/lib/arc4.py:55 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0 /puya/lib/arc4.py:55 + dup // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,result#0 /puya/lib/arc4.py:56 + len // (𝕡) array#0,fixed_byte_size#0 | result#0,{len} /puya/lib/arc4.py:56 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 /puya/lib/arc4.py:56 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 /puya/lib/arc4.py:56 + frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0,fixed_byte_size#0 /puya/lib/arc4.py:56 + - // (𝕡) array#0,fixed_byte_size#0 | result#0,{-} /puya/lib/arc4.py:56 + // virtual: store item_location#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0 /puya/lib/arc4.py:56 + dig 1 // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0 /puya/lib/arc4.py:57 + dig 1 // load item_location#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0 /puya/lib/arc4.py:57 + frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0,fixed_byte_size#0 /puya/lib/arc4.py:57 + extract3 // (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,{extract3} /puya/lib/arc4.py:57 + cover 2 // store popped#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,item_location#0 /puya/lib/arc4.py:57 + uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0 /puya/lib/arc4.py:58 + int 0 // (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0,0 /puya/lib/arc4.py:58 + uncover 2 // load item_location#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,0,item_location#0 /puya/lib/arc4.py:58 + substring3 // (𝕡) array#0,fixed_byte_size#0 | popped#0,{substring3} /puya/lib/arc4.py:58 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 /puya/lib/arc4.py:58 + // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,popped#0 /puya/lib/arc4.py:59 + // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 /puya/lib/arc4.py:59 + retsub // popped#0,result#0 /puya/lib/arc4.py:59 // _puya_lib.arc4.dynamic_array_pop_dynamic_element(array: bytes) -> bytes, bytes: dynamic_array_pop_dynamic_element: - proto 1 2 // (𝕡) array#0 | _puya_lib/arc4.py:92-93 + proto 1 2 // (𝕡) array#0 | /puya/lib/arc4.py:92-93 dynamic_array_pop_dynamic_element_block@0: - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 _puya_lib/arc4.py:101 - int 0 // (𝕡) array#0 | array#0,0 _puya_lib/arc4.py:101 - extract_uint16 // (𝕡) array#0 | {extract_uint16} _puya_lib/arc4.py:101 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:101 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:102 - int 1 // (𝕡) array#0 | array_length#0,1 _puya_lib/arc4.py:102 - - // (𝕡) array#0 | {-} _puya_lib/arc4.py:102 - dup // store length_minus_1#0 to l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 _puya_lib/arc4.py:102 - cover 1 // store length_minus_1#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0 _puya_lib/arc4.py:102 - // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0 _puya_lib/arc4.py:103 - int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0,2 _puya_lib/arc4.py:103 - * // (𝕡) array#0 | (𝕗) length_minus_1#0 | {*} _puya_lib/arc4.py:103 - dup // store popped_header_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0 | popped_header_offset#0,popped_header_offset#0 _puya_lib/arc4.py:103 - cover 1 // store popped_header_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0 _puya_lib/arc4.py:103 - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,array#0 _puya_lib/arc4.py:104 - extract 2 0 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,{extract} _puya_lib/arc4.py:104 - dup // store head_and_tail#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:104 - cover 2 // store head_and_tail#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_header_offset#0,head_and_tail#0 _puya_lib/arc4.py:104 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_header_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:105 - uncover 2 // load popped_header_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | head_and_tail#0,head_and_tail#0,popped_header_offset#0 _puya_lib/arc4.py:105 - extract_uint16 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | head_and_tail#0,{extract_uint16} _puya_lib/arc4.py:105 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 /puya/lib/arc4.py:101 + int 0 // (𝕡) array#0 | array#0,0 /puya/lib/arc4.py:101 + extract_uint16 // (𝕡) array#0 | {extract_uint16} /puya/lib/arc4.py:101 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:101 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:102 + int 1 // (𝕡) array#0 | array_length#0,1 /puya/lib/arc4.py:102 + - // (𝕡) array#0 | {-} /puya/lib/arc4.py:102 + dup // store length_minus_1#0 to l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 /puya/lib/arc4.py:102 + cover 1 // store length_minus_1#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0 /puya/lib/arc4.py:102 + // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0 /puya/lib/arc4.py:103 + int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0 | length_minus_1#0,2 /puya/lib/arc4.py:103 + * // (𝕡) array#0 | (𝕗) length_minus_1#0 | {*} /puya/lib/arc4.py:103 + dup // store popped_header_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0 | popped_header_offset#0,popped_header_offset#0 /puya/lib/arc4.py:103 + cover 1 // store popped_header_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0 /puya/lib/arc4.py:103 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,array#0 /puya/lib/arc4.py:104 + extract 2 0 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,{extract} /puya/lib/arc4.py:104 + dup // store head_and_tail#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0 | popped_header_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:104 + cover 2 // store head_and_tail#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_header_offset#0,head_and_tail#0 /puya/lib/arc4.py:104 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_header_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:105 + uncover 2 // load popped_header_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | head_and_tail#0,head_and_tail#0,popped_header_offset#0 /puya/lib/arc4.py:105 + extract_uint16 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | head_and_tail#0,{extract_uint16} /puya/lib/arc4.py:105 dup - cover 2 // store popped_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_offset#0,head_and_tail#0,popped_offset#0 _puya_lib/arc4.py:105 - cover 2 // store popped_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0 _puya_lib/arc4.py:105 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:107 - len // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0,{len} _puya_lib/arc4.py:107 - cover 1 // store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,tmp%0#0,head_and_tail#0 _puya_lib/arc4.py:107 - // virtual: load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,tmp%0#0,head_and_tail#0 _puya_lib/arc4.py:107 - uncover 2 // load popped_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | tmp%0#0,head_and_tail#0,popped_offset#0 _puya_lib/arc4.py:107 - uncover 2 // load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | head_and_tail#0,popped_offset#0,tmp%0#0 _puya_lib/arc4.py:107 - substring3 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | {substring3} _puya_lib/arc4.py:107 - // virtual: store popped#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0 | _puya_lib/arc4.py:107 - byte 0x // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0 | 0x _puya_lib/arc4.py:109 - // virtual: store new_head#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0 | _puya_lib/arc4.py:109 - int 0 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0 | 0 _puya_lib/arc4.py:110 - // virtual: store head_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | _puya_lib/arc4.py:110 + cover 2 // store popped_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0 | popped_offset#0,head_and_tail#0,popped_offset#0 /puya/lib/arc4.py:105 + cover 2 // store popped_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0 /puya/lib/arc4.py:105 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:107 + len // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,head_and_tail#0,{len} /puya/lib/arc4.py:107 + cover 1 // store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,tmp%0#0,head_and_tail#0 /puya/lib/arc4.py:107 + // virtual: load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | popped_offset#0,tmp%0#0,head_and_tail#0 /puya/lib/arc4.py:107 + uncover 2 // load popped_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | tmp%0#0,head_and_tail#0,popped_offset#0 /puya/lib/arc4.py:107 + uncover 2 // load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | head_and_tail#0,popped_offset#0,tmp%0#0 /puya/lib/arc4.py:107 + substring3 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0 | {substring3} /puya/lib/arc4.py:107 + // virtual: store popped#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0 | /puya/lib/arc4.py:107 + byte 0x // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0 | 0x /puya/lib/arc4.py:109 + // virtual: store new_head#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0 | /puya/lib/arc4.py:109 + int 0 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0 | 0 /puya/lib/arc4.py:110 + // virtual: store head_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | /puya/lib/arc4.py:110 // Implicit fall through to dynamic_array_pop_dynamic_element_for_header@1 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | dynamic_array_pop_dynamic_element_for_header@1: - frame_dig 6 // load head_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:110 - frame_dig 1 // load popped_header_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,popped_header_offset#0 _puya_lib/arc4.py:110 - < // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {<} _puya_lib/arc4.py:110 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:110 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:110 - bz dynamic_array_pop_dynamic_element_after_for@4 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | _puya_lib/arc4.py:110 - // Implicit fall through to dynamic_array_pop_dynamic_element_for_body@2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | _puya_lib/arc4.py:110 + frame_dig 6 // load head_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:110 + frame_dig 1 // load popped_header_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,popped_header_offset#0 /puya/lib/arc4.py:110 + < // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {<} /puya/lib/arc4.py:110 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:110 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:110 + bz dynamic_array_pop_dynamic_element_after_for@4 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | /puya/lib/arc4.py:110 + // Implicit fall through to dynamic_array_pop_dynamic_element_for_body@2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | /puya/lib/arc4.py:110 dynamic_array_pop_dynamic_element_for_body@2: - frame_dig 2 // load head_and_tail#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_and_tail#0 _puya_lib/arc4.py:111 - frame_dig 6 // load head_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_and_tail#0,head_offset#0 _puya_lib/arc4.py:111 + frame_dig 2 // load head_and_tail#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_and_tail#0 /puya/lib/arc4.py:111 + frame_dig 6 // load head_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_and_tail#0,head_offset#0 /puya/lib/arc4.py:111 dup - cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,head_and_tail#0,head_offset#0 _puya_lib/arc4.py:111 - extract_uint16 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{extract_uint16} _puya_lib/arc4.py:111 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:111 - // virtual: load item_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:112 - int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0,2 _puya_lib/arc4.py:112 - - // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{-} _puya_lib/arc4.py:112 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:112 - // virtual: load item_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:113 - itob // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{itob} _puya_lib/arc4.py:113 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:113 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:113 - extract 6 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{extract} _puya_lib/arc4.py:113 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%3#0 _puya_lib/arc4.py:113 - frame_dig 5 // load new_head#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 _puya_lib/arc4.py:113 - uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 _puya_lib/arc4.py:113 - concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{concat} _puya_lib/arc4.py:113 - frame_bury 5 // store new_head#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:113 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:110 - int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,2 _puya_lib/arc4.py:110 - + // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {+} _puya_lib/arc4.py:110 - frame_bury 6 // store head_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | _puya_lib/arc4.py:110 + cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,head_and_tail#0,head_offset#0 /puya/lib/arc4.py:111 + extract_uint16 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{extract_uint16} /puya/lib/arc4.py:111 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:111 + // virtual: load item_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:112 + int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0,2 /puya/lib/arc4.py:112 + - // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{-} /puya/lib/arc4.py:112 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:112 + // virtual: load item_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:113 + itob // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{itob} /puya/lib/arc4.py:113 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:113 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:113 + extract 6 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{extract} /puya/lib/arc4.py:113 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%3#0 /puya/lib/arc4.py:113 + frame_dig 5 // load new_head#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 /puya/lib/arc4.py:113 + uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 /puya/lib/arc4.py:113 + concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,{concat} /puya/lib/arc4.py:113 + frame_bury 5 // store new_head#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:113 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:110 + int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | head_offset#0,2 /puya/lib/arc4.py:110 + + // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {+} /puya/lib/arc4.py:110 + frame_bury 6 // store head_offset#0 to f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | /puya/lib/arc4.py:110 b dynamic_array_pop_dynamic_element_for_header@1 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | dynamic_array_pop_dynamic_element_after_for@4: - frame_dig 0 // load length_minus_1#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | length_minus_1#0 _puya_lib/arc4.py:116 - itob // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {itob} _puya_lib/arc4.py:116 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%4#0 _puya_lib/arc4.py:116 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%4#0 _puya_lib/arc4.py:116 - extract 6 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {extract} _puya_lib/arc4.py:116 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0 _puya_lib/arc4.py:116 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0 _puya_lib/arc4.py:116-117 - frame_dig 5 // load new_head#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0,new_head#0 _puya_lib/arc4.py:116-117 - concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {concat} _puya_lib/arc4.py:116-117 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0 _puya_lib/arc4.py:116-117 - frame_dig 1 // load popped_header_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,popped_header_offset#0 _puya_lib/arc4.py:118 - int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,popped_header_offset#0,2 _puya_lib/arc4.py:118 - + // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,{+} _puya_lib/arc4.py:118 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%7#0 _puya_lib/arc4.py:118 - frame_dig 2 // load head_and_tail#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%7#0,head_and_tail#0 _puya_lib/arc4.py:118 - uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,head_and_tail#0,tmp%7#0 _puya_lib/arc4.py:118 - frame_dig 3 // load popped_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,head_and_tail#0,tmp%7#0,popped_offset#0 _puya_lib/arc4.py:118 - substring3 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,{substring3} _puya_lib/arc4.py:118 - // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%8#0 _puya_lib/arc4.py:118 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%8#0,tmp%6#0 _puya_lib/arc4.py:115-119 - // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%8#0 _puya_lib/arc4.py:115-119 - concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {concat} _puya_lib/arc4.py:116-118 - // virtual: store updated#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | updated#0 _puya_lib/arc4.py:115-119 - frame_dig 4 // load popped#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | updated#0,popped#0 _puya_lib/arc4.py:121 - uncover 1 // load updated#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | popped#0,updated#0 _puya_lib/arc4.py:121 + frame_dig 0 // load length_minus_1#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | length_minus_1#0 /puya/lib/arc4.py:116 + itob // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {itob} /puya/lib/arc4.py:116 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%4#0 /puya/lib/arc4.py:116 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%4#0 /puya/lib/arc4.py:116 + extract 6 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {extract} /puya/lib/arc4.py:116 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0 /puya/lib/arc4.py:116 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0 /puya/lib/arc4.py:116-117 + frame_dig 5 // load new_head#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%5#0,new_head#0 /puya/lib/arc4.py:116-117 + concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {concat} /puya/lib/arc4.py:116-117 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0 /puya/lib/arc4.py:116-117 + frame_dig 1 // load popped_header_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,popped_header_offset#0 /puya/lib/arc4.py:118 + int 2 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,popped_header_offset#0,2 /puya/lib/arc4.py:118 + + // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,{+} /puya/lib/arc4.py:118 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%7#0 /puya/lib/arc4.py:118 + frame_dig 2 // load head_and_tail#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%7#0,head_and_tail#0 /puya/lib/arc4.py:118 + uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,head_and_tail#0,tmp%7#0 /puya/lib/arc4.py:118 + frame_dig 3 // load popped_offset#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,head_and_tail#0,tmp%7#0,popped_offset#0 /puya/lib/arc4.py:118 + substring3 // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,{substring3} /puya/lib/arc4.py:118 + // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%8#0 /puya/lib/arc4.py:118 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%8#0,tmp%6#0 /puya/lib/arc4.py:115-119 + // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | tmp%6#0,tmp%8#0 /puya/lib/arc4.py:115-119 + concat // (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | {concat} /puya/lib/arc4.py:116-118 + // virtual: store updated#0 to l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | updated#0 /puya/lib/arc4.py:115-119 + frame_dig 4 // load popped#0 from f-stack (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | updated#0,popped#0 /puya/lib/arc4.py:121 + uncover 1 // load updated#0 from l-stack (no copy) (𝕡) array#0 | (𝕗) length_minus_1#0,popped_header_offset#0,head_and_tail#0,popped_offset#0,popped#0,new_head#0,head_offset#0 | popped#0,updated#0 /puya/lib/arc4.py:121 frame_bury 1 frame_bury 0 - retsub // popped#0,updated#0 _puya_lib/arc4.py:121 + retsub // popped#0,updated#0 /puya/lib/arc4.py:121 // _puya_lib.arc4.dynamic_array_concat_dynamic_element(array_items_count: uint64, array_head_and_tail: bytes, new_items_count: uint64, new_head_and_tail: bytes) -> bytes: dynamic_array_concat_dynamic_element: - proto 4 1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | _puya_lib/arc4.py:189-196 + proto 4 1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | /puya/lib/arc4.py:189-196 byte "" // allocate 1 to stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | dynamic_array_concat_dynamic_element_block@0: - byte 0x // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | 0x _puya_lib/arc4.py:197 - // virtual: store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | _puya_lib/arc4.py:197 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0 _puya_lib/arc4.py:198 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0,2 _puya_lib/arc4.py:198 - * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | {*} _puya_lib/arc4.py:198 - // virtual: store item_offset_adjustment#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | _puya_lib/arc4.py:198 - frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0 _puya_lib/arc4.py:199 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0,2 _puya_lib/arc4.py:199 - * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | {*} _puya_lib/arc4.py:199 - // virtual: store tmp%0#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | _puya_lib/arc4.py:199 - int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | 0 _puya_lib/arc4.py:199 - // virtual: store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + byte 0x // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | 0x /puya/lib/arc4.py:197 + // virtual: store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | /puya/lib/arc4.py:197 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0 /puya/lib/arc4.py:198 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0,2 /puya/lib/arc4.py:198 + * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | {*} /puya/lib/arc4.py:198 + // virtual: store item_offset_adjustment#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | /puya/lib/arc4.py:198 + frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0 /puya/lib/arc4.py:199 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0,2 /puya/lib/arc4.py:199 + * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | {*} /puya/lib/arc4.py:199 + // virtual: store tmp%0#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | /puya/lib/arc4.py:199 + int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | 0 /puya/lib/arc4.py:199 + // virtual: store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 // Implicit fall through to dynamic_array_concat_dynamic_element_for_header@1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_for_header@1: - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:199 - frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%0#0 _puya_lib/arc4.py:199 - < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} _puya_lib/arc4.py:199 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:199 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:199 - bz dynamic_array_concat_dynamic_element_after_for@4 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 - // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:199 + frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%0#0 /puya/lib/arc4.py:199 + < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} /puya/lib/arc4.py:199 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:199 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:199 + bz dynamic_array_concat_dynamic_element_after_for@4 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 + // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 dynamic_array_concat_dynamic_element_for_body@2: - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 _puya_lib/arc4.py:200 - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:200 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 /puya/lib/arc4.py:200 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:200 dup - cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:200 - extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} _puya_lib/arc4.py:200 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:200 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#0 _puya_lib/arc4.py:201 - uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0,item_offset#0 _puya_lib/arc4.py:201 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} _puya_lib/arc4.py:201 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 _puya_lib/arc4.py:201 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 _puya_lib/arc4.py:201 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} _puya_lib/arc4.py:201 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:201 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:201 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} _puya_lib/arc4.py:201 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0 _puya_lib/arc4.py:201 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 _puya_lib/arc4.py:201 - uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 _puya_lib/arc4.py:201 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} _puya_lib/arc4.py:201 - frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:201 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:199 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 _puya_lib/arc4.py:199 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:199 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:200 + extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} /puya/lib/arc4.py:200 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:200 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#0 /puya/lib/arc4.py:201 + uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0,item_offset#0 /puya/lib/arc4.py:201 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} /puya/lib/arc4.py:201 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 /puya/lib/arc4.py:201 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 /puya/lib/arc4.py:201 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} /puya/lib/arc4.py:201 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:201 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:201 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} /puya/lib/arc4.py:201 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0 /puya/lib/arc4.py:201 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 /puya/lib/arc4.py:201 + uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 /puya/lib/arc4.py:201 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} /puya/lib/arc4.py:201 + frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:201 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:199 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 /puya/lib/arc4.py:199 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:199 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 b dynamic_array_concat_dynamic_element_for_header@1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_after_for@4: - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 _puya_lib/arc4.py:203 - len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {len} _puya_lib/arc4.py:203 - frame_bury 0 // store item_offset_adjustment#2 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:203 - int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | 0 _puya_lib/arc4.py:204 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 /puya/lib/arc4.py:203 + len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {len} /puya/lib/arc4.py:203 + frame_bury 0 // store item_offset_adjustment#2 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:203 + int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | 0 /puya/lib/arc4.py:204 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 // Implicit fall through to dynamic_array_concat_dynamic_element_for_header@5 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_for_header@5: - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:204 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0 _puya_lib/arc4.py:204 - < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} _puya_lib/arc4.py:204 - // virtual: store continue_looping%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 _puya_lib/arc4.py:204 - // virtual: load continue_looping%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 _puya_lib/arc4.py:204 - bz dynamic_array_concat_dynamic_element_after_for@8 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 - // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@6 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:204 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0 /puya/lib/arc4.py:204 + < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} /puya/lib/arc4.py:204 + // virtual: store continue_looping%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 /puya/lib/arc4.py:204 + // virtual: load continue_looping%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 /puya/lib/arc4.py:204 + bz dynamic_array_concat_dynamic_element_after_for@8 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 + // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@6 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 dynamic_array_concat_dynamic_element_for_body@6: - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0 _puya_lib/arc4.py:205 - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:205 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0 /puya/lib/arc4.py:205 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:205 dup - cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:205 - extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} _puya_lib/arc4.py:205 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:205 - frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#2 _puya_lib/arc4.py:206 - uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#2,item_offset#0 _puya_lib/arc4.py:206 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} _puya_lib/arc4.py:206 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 _puya_lib/arc4.py:206 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 _puya_lib/arc4.py:206 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} _puya_lib/arc4.py:206 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 _puya_lib/arc4.py:206 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 _puya_lib/arc4.py:206 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} _puya_lib/arc4.py:206 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0 _puya_lib/arc4.py:206 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0,new_head#0 _puya_lib/arc4.py:206 - uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%7#0 _puya_lib/arc4.py:206 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} _puya_lib/arc4.py:206 - frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:206 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:204 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 _puya_lib/arc4.py:204 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:204 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:205 + extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} /puya/lib/arc4.py:205 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:205 + frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#2 /puya/lib/arc4.py:206 + uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#2,item_offset#0 /puya/lib/arc4.py:206 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} /puya/lib/arc4.py:206 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 /puya/lib/arc4.py:206 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 /puya/lib/arc4.py:206 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} /puya/lib/arc4.py:206 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 /puya/lib/arc4.py:206 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 /puya/lib/arc4.py:206 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} /puya/lib/arc4.py:206 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0 /puya/lib/arc4.py:206 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0,new_head#0 /puya/lib/arc4.py:206 + uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%7#0 /puya/lib/arc4.py:206 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} /puya/lib/arc4.py:206 + frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:206 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:204 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 /puya/lib/arc4.py:204 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:204 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 b dynamic_array_concat_dynamic_element_for_header@5 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_after_for@8: - frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0 _puya_lib/arc4.py:208 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0,new_items_count#0 _puya_lib/arc4.py:208 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:208 - // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 _puya_lib/arc4.py:208 - // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 _puya_lib/arc4.py:208 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {itob} _puya_lib/arc4.py:208 - // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 _puya_lib/arc4.py:208 - // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 _puya_lib/arc4.py:208 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {extract} _puya_lib/arc4.py:208 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 _puya_lib/arc4.py:208 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 _puya_lib/arc4.py:208-209 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0,new_head#0 _puya_lib/arc4.py:208-209 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-209 - // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0 _puya_lib/arc4.py:208-209 - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0 _puya_lib/arc4.py:210-212 - frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0 _puya_lib/arc4.py:210-212 - frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0,item_offset_adjustment#2 _puya_lib/arc4.py:210-212 - substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,{substring3} _puya_lib/arc4.py:210-212 - // virtual: store tmp%14#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 _puya_lib/arc4.py:210-212 - // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%14#0,tmp%11#0 _puya_lib/arc4.py:208-212 - // virtual: load tmp%14#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 _puya_lib/arc4.py:208-212 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-212 - // virtual: store tmp%15#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0 _puya_lib/arc4.py:208-212 - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0 _puya_lib/arc4.py:213 - len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{len} _puya_lib/arc4.py:213 - // virtual: store tmp%17#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0 _puya_lib/arc4.py:213 - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0 _puya_lib/arc4.py:213 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0,item_offset_adjustment#0 _puya_lib/arc4.py:213 - uncover 2 // load tmp%17#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0,item_offset_adjustment#0,tmp%17#0 _puya_lib/arc4.py:213 - substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{substring3} _puya_lib/arc4.py:213 - // virtual: store tmp%18#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 _puya_lib/arc4.py:213 - // virtual: load tmp%15#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%18#0,tmp%15#0 _puya_lib/arc4.py:208-213 - // virtual: load tmp%18#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 _puya_lib/arc4.py:208-213 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-213 - // virtual: store tmp%19#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 _puya_lib/arc4.py:208-213 - // virtual: load tmp%19#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 _puya_lib/arc4.py:207-214 + frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0 /puya/lib/arc4.py:208 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0,new_items_count#0 /puya/lib/arc4.py:208 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:208 + // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 /puya/lib/arc4.py:208 + // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 /puya/lib/arc4.py:208 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {itob} /puya/lib/arc4.py:208 + // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 /puya/lib/arc4.py:208 + // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 /puya/lib/arc4.py:208 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {extract} /puya/lib/arc4.py:208 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 /puya/lib/arc4.py:208 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 /puya/lib/arc4.py:208-209 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0,new_head#0 /puya/lib/arc4.py:208-209 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-209 + // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0 /puya/lib/arc4.py:208-209 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0 /puya/lib/arc4.py:210-212 + frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0 /puya/lib/arc4.py:210-212 + frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0,item_offset_adjustment#2 /puya/lib/arc4.py:210-212 + substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,{substring3} /puya/lib/arc4.py:210-212 + // virtual: store tmp%14#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 /puya/lib/arc4.py:210-212 + // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%14#0,tmp%11#0 /puya/lib/arc4.py:208-212 + // virtual: load tmp%14#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 /puya/lib/arc4.py:208-212 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-212 + // virtual: store tmp%15#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0 /puya/lib/arc4.py:208-212 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0 /puya/lib/arc4.py:213 + len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{len} /puya/lib/arc4.py:213 + // virtual: store tmp%17#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0 /puya/lib/arc4.py:213 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0 /puya/lib/arc4.py:213 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0,item_offset_adjustment#0 /puya/lib/arc4.py:213 + uncover 2 // load tmp%17#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0,item_offset_adjustment#0,tmp%17#0 /puya/lib/arc4.py:213 + substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{substring3} /puya/lib/arc4.py:213 + // virtual: store tmp%18#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 /puya/lib/arc4.py:213 + // virtual: load tmp%15#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%18#0,tmp%15#0 /puya/lib/arc4.py:208-213 + // virtual: load tmp%18#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 /puya/lib/arc4.py:208-213 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-213 + // virtual: store tmp%19#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 /puya/lib/arc4.py:208-213 + // virtual: load tmp%19#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 /puya/lib/arc4.py:207-214 frame_bury 0 - retsub // tmp%19#0 _puya_lib/arc4.py:207-214 + retsub // tmp%19#0 /puya/lib/arc4.py:207-214 // _puya_lib.arc4.dynamic_array_replace_dynamic_element(source: bytes, new_item: bytes, index: uint64) -> bytes: dynamic_array_replace_dynamic_element: - proto 3 1 // (𝕡) source#0,new_item#0,index#0 | _puya_lib/arc4.py:240-241 + proto 3 1 // (𝕡) source#0,new_item#0,index#0 | /puya/lib/arc4.py:240-241 dynamic_array_replace_dynamic_element_block@0: - frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | source#0 _puya_lib/arc4.py:242 - substring 0 2 // (𝕡) source#0,new_item#0,index#0 | {substring} _puya_lib/arc4.py:242 - // virtual: store size_b#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0 _puya_lib/arc4.py:242 - dup // load size_b#0 from l-stack (copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,size_b#0 _puya_lib/arc4.py:243 - btoi // (𝕡) source#0,new_item#0,index#0 | size_b#0,{btoi} _puya_lib/arc4.py:243 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0 _puya_lib/arc4.py:243 - frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,source#0 _puya_lib/arc4.py:245 - extract 2 0 // (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} _puya_lib/arc4.py:245 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:245 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:244-249 - frame_dig -2 // load new_item#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 _puya_lib/arc4.py:244-249 - frame_dig -1 // load index#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 _puya_lib/arc4.py:244-249 - uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 _puya_lib/arc4.py:244-249 - callsub static_array_replace_dynamic_element // (𝕡) source#0,new_item#0,index#0 | size_b#0,{static_array_replace_dynamic_element} _puya_lib/arc4.py:244-249 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:244-249 - // virtual: load size_b#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%1#0,size_b#0 _puya_lib/arc4.py:244-249 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:244-249 - concat // (𝕡) source#0,new_item#0,index#0 | {concat} _puya_lib/arc4.py:244-249 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:244-249 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:244-249 - retsub // tmp%2#0 _puya_lib/arc4.py:244-249 + frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | source#0 /puya/lib/arc4.py:242 + substring 0 2 // (𝕡) source#0,new_item#0,index#0 | {substring} /puya/lib/arc4.py:242 + // virtual: store size_b#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0 /puya/lib/arc4.py:242 + dup // load size_b#0 from l-stack (copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,size_b#0 /puya/lib/arc4.py:243 + btoi // (𝕡) source#0,new_item#0,index#0 | size_b#0,{btoi} /puya/lib/arc4.py:243 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0 /puya/lib/arc4.py:243 + frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,source#0 /puya/lib/arc4.py:245 + extract 2 0 // (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} /puya/lib/arc4.py:245 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:245 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:244-249 + frame_dig -2 // load new_item#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 /puya/lib/arc4.py:244-249 + frame_dig -1 // load index#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 /puya/lib/arc4.py:244-249 + uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 /puya/lib/arc4.py:244-249 + callsub static_array_replace_dynamic_element // (𝕡) source#0,new_item#0,index#0 | size_b#0,{static_array_replace_dynamic_element} /puya/lib/arc4.py:244-249 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:244-249 + // virtual: load size_b#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%1#0,size_b#0 /puya/lib/arc4.py:244-249 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:244-249 + concat // (𝕡) source#0,new_item#0,index#0 | {concat} /puya/lib/arc4.py:244-249 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:244-249 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:244-249 + retsub // tmp%2#0 /puya/lib/arc4.py:244-249 // _puya_lib.arc4.static_array_replace_dynamic_element(array_head_and_tail: bytes, new_item: bytes, index: uint64, array_length: uint64) -> bytes: static_array_replace_dynamic_element: - proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | _puya_lib/arc4.py:252-255 + proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | /puya/lib/arc4.py:252-255 static_array_replace_dynamic_element_block@0: - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 _puya_lib/arc4.py:256 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 _puya_lib/arc4.py:256 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} _puya_lib/arc4.py:256 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 _puya_lib/arc4.py:256 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0,array_head_and_tail#0 _puya_lib/arc4.py:256 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%0#0 _puya_lib/arc4.py:256 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} _puya_lib/arc4.py:256 - // virtual: store original_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0 _puya_lib/arc4.py:256 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0 _puya_lib/arc4.py:257 - int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0,1 _puya_lib/arc4.py:257 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{+} _puya_lib/arc4.py:257 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 _puya_lib/arc4.py:257 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 _puya_lib/arc4.py:257 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0,2 _puya_lib/arc4.py:257 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{*} _puya_lib/arc4.py:257 - dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,head_offset#0,head_offset#0 _puya_lib/arc4.py:257 - cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0 _puya_lib/arc4.py:257 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:257 - uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:257 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,{extract_uint16} _puya_lib/arc4.py:257 - // virtual: store next_item_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0 _puya_lib/arc4.py:257 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:258 - len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,{len} _puya_lib/arc4.py:258 - // virtual: store end_of_tail#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0 _puya_lib/arc4.py:258 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0 _puya_lib/arc4.py:259 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0,index#0 _puya_lib/arc4.py:259 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} _puya_lib/arc4.py:259 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 _puya_lib/arc4.py:259 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 _puya_lib/arc4.py:259 - int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0,1 _puya_lib/arc4.py:259 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} _puya_lib/arc4.py:259 - // virtual: store is_before_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0 _puya_lib/arc4.py:259 - dig 1 // load end_of_tail#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0 _puya_lib/arc4.py:260 - uncover 3 // load next_item_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0,next_item_offset#0 _puya_lib/arc4.py:260 - uncover 2 // load is_before_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_of_tail#0,next_item_offset#0,is_before_end#0 _puya_lib/arc4.py:260 - select // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,{select} _puya_lib/arc4.py:260 - // virtual: store end_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:260 - dup // load end_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0 _puya_lib/arc4.py:262 - dig 3 // load original_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0,original_offset#0 _puya_lib/arc4.py:262 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,{-} _puya_lib/arc4.py:262 - cover 3 // store original_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:262 - frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,new_item#0 _puya_lib/arc4.py:263 - len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,{len} _puya_lib/arc4.py:263 - cover 3 // store new_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:263 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:265 - int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0,0 _puya_lib/arc4.py:265 - uncover 4 // load original_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,array_head_and_tail#0,0,original_offset#0 _puya_lib/arc4.py:265 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{substring3} _puya_lib/arc4.py:265 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 _puya_lib/arc4.py:265 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 _puya_lib/arc4.py:265-266 - frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0,new_item#0 _puya_lib/arc4.py:265-266 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{concat} _puya_lib/arc4.py:265-266 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0 _puya_lib/arc4.py:265-266 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0,array_head_and_tail#0 _puya_lib/arc4.py:267 - uncover 2 // load end_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,tmp%5#0,array_head_and_tail#0,end_offset#0 _puya_lib/arc4.py:267 - uncover 3 // load end_of_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,array_head_and_tail#0,end_offset#0,end_of_tail#0 _puya_lib/arc4.py:267 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,{substring3} _puya_lib/arc4.py:267 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 _puya_lib/arc4.py:267 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%6#0,tmp%5#0 _puya_lib/arc4.py:264-268 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 _puya_lib/arc4.py:264-268 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | {concat} _puya_lib/arc4.py:265-267 - // virtual: store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | _puya_lib/arc4.py:264-268 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0 _puya_lib/arc4.py:269 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0,2 _puya_lib/arc4.py:269 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | {*} _puya_lib/arc4.py:269 - // virtual: store tmp%7#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 /puya/lib/arc4.py:256 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 /puya/lib/arc4.py:256 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} /puya/lib/arc4.py:256 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 /puya/lib/arc4.py:256 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0,array_head_and_tail#0 /puya/lib/arc4.py:256 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%0#0 /puya/lib/arc4.py:256 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} /puya/lib/arc4.py:256 + // virtual: store original_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0 /puya/lib/arc4.py:256 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0 /puya/lib/arc4.py:257 + int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0,1 /puya/lib/arc4.py:257 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{+} /puya/lib/arc4.py:257 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 /puya/lib/arc4.py:257 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 /puya/lib/arc4.py:257 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0,2 /puya/lib/arc4.py:257 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{*} /puya/lib/arc4.py:257 + dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,head_offset#0,head_offset#0 /puya/lib/arc4.py:257 + cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0 /puya/lib/arc4.py:257 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:257 + uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:257 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,{extract_uint16} /puya/lib/arc4.py:257 + // virtual: store next_item_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0 /puya/lib/arc4.py:257 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:258 + len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,{len} /puya/lib/arc4.py:258 + // virtual: store end_of_tail#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0 /puya/lib/arc4.py:258 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0 /puya/lib/arc4.py:259 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0,index#0 /puya/lib/arc4.py:259 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} /puya/lib/arc4.py:259 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 /puya/lib/arc4.py:259 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 /puya/lib/arc4.py:259 + int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0,1 /puya/lib/arc4.py:259 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} /puya/lib/arc4.py:259 + // virtual: store is_before_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0 /puya/lib/arc4.py:259 + dig 1 // load end_of_tail#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0 /puya/lib/arc4.py:260 + uncover 3 // load next_item_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0,next_item_offset#0 /puya/lib/arc4.py:260 + uncover 2 // load is_before_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_of_tail#0,next_item_offset#0,is_before_end#0 /puya/lib/arc4.py:260 + select // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,{select} /puya/lib/arc4.py:260 + // virtual: store end_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:260 + dup // load end_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0 /puya/lib/arc4.py:262 + dig 3 // load original_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0,original_offset#0 /puya/lib/arc4.py:262 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,{-} /puya/lib/arc4.py:262 + cover 3 // store original_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:262 + frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,new_item#0 /puya/lib/arc4.py:263 + len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,{len} /puya/lib/arc4.py:263 + cover 3 // store new_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:263 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:265 + int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0,0 /puya/lib/arc4.py:265 + uncover 4 // load original_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,array_head_and_tail#0,0,original_offset#0 /puya/lib/arc4.py:265 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{substring3} /puya/lib/arc4.py:265 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 /puya/lib/arc4.py:265 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 /puya/lib/arc4.py:265-266 + frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0,new_item#0 /puya/lib/arc4.py:265-266 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{concat} /puya/lib/arc4.py:265-266 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0 /puya/lib/arc4.py:265-266 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0,array_head_and_tail#0 /puya/lib/arc4.py:267 + uncover 2 // load end_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,tmp%5#0,array_head_and_tail#0,end_offset#0 /puya/lib/arc4.py:267 + uncover 3 // load end_of_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,array_head_and_tail#0,end_offset#0,end_of_tail#0 /puya/lib/arc4.py:267 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,{substring3} /puya/lib/arc4.py:267 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 /puya/lib/arc4.py:267 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%6#0,tmp%5#0 /puya/lib/arc4.py:264-268 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 /puya/lib/arc4.py:264-268 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | {concat} /puya/lib/arc4.py:265-267 + // virtual: store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | /puya/lib/arc4.py:264-268 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0 /puya/lib/arc4.py:269 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0,2 /puya/lib/arc4.py:269 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | {*} /puya/lib/arc4.py:269 + // virtual: store tmp%7#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 // Implicit fall through to static_array_replace_dynamic_element_for_header@1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | static_array_replace_dynamic_element_for_header@1: - frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:269 - frame_dig 4 // load tmp%7#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tmp%7#0 _puya_lib/arc4.py:269 - < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {<} _puya_lib/arc4.py:269 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 _puya_lib/arc4.py:269 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 _puya_lib/arc4.py:269 - bz static_array_replace_dynamic_element_after_for@4 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 - // Implicit fall through to static_array_replace_dynamic_element_for_body@2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:269 + frame_dig 4 // load tmp%7#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tmp%7#0 /puya/lib/arc4.py:269 + < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {<} /puya/lib/arc4.py:269 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 /puya/lib/arc4.py:269 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 /puya/lib/arc4.py:269 + bz static_array_replace_dynamic_element_after_for@4 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 + // Implicit fall through to static_array_replace_dynamic_element_for_body@2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 static_array_replace_dynamic_element_for_body@2: - frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 _puya_lib/arc4.py:270 - dup // store new_head_and_tail#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0 _puya_lib/arc4.py:270 - frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:270 + frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 /puya/lib/arc4.py:270 + dup // store new_head_and_tail#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0 /puya/lib/arc4.py:270 + frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:270 dup - cover 3 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:270 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract_uint16} _puya_lib/arc4.py:270 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:270 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:271 - frame_dig 2 // load new_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,new_item_length#0 _puya_lib/arc4.py:271 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{+} _puya_lib/arc4.py:271 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:271 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:272 - frame_dig 1 // load original_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,original_item_length#0 _puya_lib/arc4.py:272 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{-} _puya_lib/arc4.py:272 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:272 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:273 - itob // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{itob} _puya_lib/arc4.py:273 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 _puya_lib/arc4.py:273 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 _puya_lib/arc4.py:273 - extract 6 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract} _puya_lib/arc4.py:273 - // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset_bytes#0 _puya_lib/arc4.py:273 - uncover 1 // load new_head_and_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0 _puya_lib/arc4.py:274 - dig 2 // load head_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:274 - uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,head_offset#0,tail_offset_bytes#0 _puya_lib/arc4.py:274 - replace3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,{replace3} _puya_lib/arc4.py:274 - frame_bury 3 // store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:274 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:269 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,2 _puya_lib/arc4.py:269 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {+} _puya_lib/arc4.py:269 - frame_bury 0 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + cover 3 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:270 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract_uint16} /puya/lib/arc4.py:270 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:270 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:271 + frame_dig 2 // load new_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,new_item_length#0 /puya/lib/arc4.py:271 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{+} /puya/lib/arc4.py:271 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:271 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:272 + frame_dig 1 // load original_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,original_item_length#0 /puya/lib/arc4.py:272 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{-} /puya/lib/arc4.py:272 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:272 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:273 + itob // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{itob} /puya/lib/arc4.py:273 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 /puya/lib/arc4.py:273 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 /puya/lib/arc4.py:273 + extract 6 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract} /puya/lib/arc4.py:273 + // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset_bytes#0 /puya/lib/arc4.py:273 + uncover 1 // load new_head_and_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0 /puya/lib/arc4.py:274 + dig 2 // load head_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:274 + uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,head_offset#0,tail_offset_bytes#0 /puya/lib/arc4.py:274 + replace3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,{replace3} /puya/lib/arc4.py:274 + frame_bury 3 // store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:274 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:269 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,2 /puya/lib/arc4.py:269 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {+} /puya/lib/arc4.py:269 + frame_bury 0 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 b static_array_replace_dynamic_element_for_header@1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | static_array_replace_dynamic_element_after_for@4: - frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 _puya_lib/arc4.py:275 + frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 /puya/lib/arc4.py:275 frame_bury 0 - retsub // new_head_and_tail#0 _puya_lib/arc4.py:275 + retsub // new_head_and_tail#0 /puya/lib/arc4.py:275 diff --git a/test_cases/arc4_dynamic_arrays/puya.log b/test_cases/arc4_dynamic_arrays/puya.log index 2d4e310822..f6191ff64b 100644 --- a/test_cases/arc4_dynamic_arrays/puya.log +++ b/test_cases/arc4_dynamic_arrays/puya.log @@ -1214,7 +1214,7 @@ debug: Merged linear block@3: // for_footer_L110 into block@2: // for_body_L111 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#0: uint64 = (* length_minus_1#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:103:4-24, ir_type=uint64, name='popped_header_offset', version=0),) +debug: Replacing redundant declaration let tmp%1#0: uint64 = (* length_minus_1#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:103:4-24, ir_type=uint64, name='popped_header_offset', version=0),) debug: Found equivalence set: popped_header_offset#0, tmp%1#0 debug: Replacing {tmp%1#0} with popped_header_offset#0 made 1 modifications debug: Optimizer: Remove Calls To No Op Subroutines @@ -1235,10 +1235,10 @@ debug: Merged linear block@7: // for_footer_L204 into block@6: // for_body_L205 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%4#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:198:4-26, ir_type=uint64, name='item_offset_adjustment', version=0),) -debug: Replacing redundant declaration let tmp%12#0: uint64 = (* array_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:199:33-64, ir_type=uint64, name='tmp%0', version=0),) -debug: Replacing redundant declaration let tmp%13#0: uint64 = (len array_head_and_tail#0) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:203:4-26, ir_type=uint64, name='item_offset_adjustment', version=2),) -debug: Replacing redundant declaration let tmp%16#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:204:33-62, ir_type=uint64, name='tmp%4', version=0),) +debug: Replacing redundant declaration let tmp%4#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:198:4-26, ir_type=uint64, name='item_offset_adjustment', version=0),) +debug: Replacing redundant declaration let tmp%12#0: uint64 = (* array_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:199:33-64, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let tmp%13#0: uint64 = (len array_head_and_tail#0) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:203:4-26, ir_type=uint64, name='item_offset_adjustment', version=2),) +debug: Replacing redundant declaration let tmp%16#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:204:33-62, ir_type=uint64, name='tmp%4', version=0),) debug: Found equivalence set: item_offset_adjustment#0, tmp%4#0, tmp%16#0 debug: Replacing {tmp%4#0, tmp%16#0} with item_offset_adjustment#0 made 2 modifications debug: Found equivalence set: tmp%0#0, tmp%12#0 @@ -1277,10 +1277,10 @@ debug: Merged linear block@3: // for_footer_L269 into block@2: // for_body_L270 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%8#0: uint64 = (+ index#0 1u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:257:60-69, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%8#0: uint64 = (+ index#0 1u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:257:60-69, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%1#0, tmp%8#0 debug: Replacing {tmp%8#0} with tmp%1#0 made 1 modifications -debug: Replacing redundant declaration let head_offset#0: uint64 = (* tmp%1#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:257:59-74, ir_type=uint64, name='tmp%2', version=0),) +debug: Replacing redundant declaration let head_offset#0: uint64 = (* tmp%1#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:257:59-74, ir_type=uint64, name='tmp%2', version=0),) debug: Found equivalence set: tmp%2#0, head_offset#0 debug: Replacing {tmp%2#0} with head_offset#0 made 2 modifications debug: Optimizer: Remove Calls To No Op Subroutines diff --git a/test_cases/arc4_types/out/Arc4MutationContract.approval.mir b/test_cases/arc4_types/out/Arc4MutationContract.approval.mir index 890d07d2a9..9293eaee95 100644 --- a/test_cases/arc4_types/out/Arc4MutationContract.approval.mir +++ b/test_cases/arc4_types/out/Arc4MutationContract.approval.mir @@ -523,250 +523,250 @@ array_concat_block@0: // _puya_lib.arc4.dynamic_array_pop_bit(array: bytes) -> bytes, bytes: dynamic_array_pop_bit: - proto 1 2 // (𝕡) array#0 | _puya_lib/arc4.py:25-26 + proto 1 2 // (𝕡) array#0 | /puya/lib/arc4.py:25-26 dynamic_array_pop_bit_block@0: - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 _puya_lib/arc4.py:34 - int 0 // (𝕡) array#0 | array#0,0 _puya_lib/arc4.py:34 - extract_uint16 // (𝕡) array#0 | {extract_uint16} _puya_lib/arc4.py:34 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:34 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:35 - int 1 // (𝕡) array#0 | array_length#0,1 _puya_lib/arc4.py:35 - - // (𝕡) array#0 | {-} _puya_lib/arc4.py:35 - // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0 _puya_lib/arc4.py:35 - dup // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 _puya_lib/arc4.py:36 - itob // (𝕡) array#0 | length_minus_1#0,{itob} _puya_lib/arc4.py:36 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%0#0 _puya_lib/arc4.py:36 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%0#0 _puya_lib/arc4.py:36 - extract 6 0 // (𝕡) array#0 | length_minus_1#0,{extract} _puya_lib/arc4.py:36 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%1#0 _puya_lib/arc4.py:36 - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | length_minus_1#0,tmp%1#0,array#0 _puya_lib/arc4.py:36 - uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,array#0,tmp%1#0 _puya_lib/arc4.py:36 - replace2 0 // (𝕡) array#0 | length_minus_1#0,{replace2} _puya_lib/arc4.py:36 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0 _puya_lib/arc4.py:36 - dig 1 // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,length_minus_1#0 _puya_lib/arc4.py:37 - int 16 // (𝕡) array#0 | length_minus_1#0,result#0,length_minus_1#0,16 _puya_lib/arc4.py:37 - + // (𝕡) array#0 | length_minus_1#0,result#0,{+} _puya_lib/arc4.py:37 - // virtual: store popped_location#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0 _puya_lib/arc4.py:37 - dig 1 // load result#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,result#0 _puya_lib/arc4.py:38 - dig 1 // load popped_location#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,result#0,popped_location#0 _puya_lib/arc4.py:38 - getbit // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,{getbit} _puya_lib/arc4.py:38 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0 _puya_lib/arc4.py:38 - byte 0x00 // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0,0x00 _puya_lib/arc4.py:38 - int 0 // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0,0x00,0 _puya_lib/arc4.py:38 - uncover 2 // load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,0x00,0,tmp%2#0 _puya_lib/arc4.py:38 - setbit // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,{setbit} _puya_lib/arc4.py:38 - cover 3 // store popped#0 to l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0 _puya_lib/arc4.py:38 - // virtual: load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,popped_location#0,result#0 _puya_lib/arc4.py:39 - // virtual: load popped_location#0 from l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0 _puya_lib/arc4.py:39 - int 0 // (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0,0 _puya_lib/arc4.py:39 - setbit // (𝕡) array#0 | popped#0,length_minus_1#0,{setbit} _puya_lib/arc4.py:39 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0 _puya_lib/arc4.py:39 - uncover 1 // load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,length_minus_1#0 _puya_lib/arc4.py:40 - int 7 // (𝕡) array#0 | popped#0,result#0,length_minus_1#0,7 _puya_lib/arc4.py:40 - + // (𝕡) array#0 | popped#0,result#0,{+} _puya_lib/arc4.py:40 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%3#0 _puya_lib/arc4.py:40 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%3#0 _puya_lib/arc4.py:40 - int 8 // (𝕡) array#0 | popped#0,result#0,tmp%3#0,8 _puya_lib/arc4.py:40 - / // (𝕡) array#0 | popped#0,result#0,{/} _puya_lib/arc4.py:40 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%4#0 _puya_lib/arc4.py:40 - int 2 // (𝕡) array#0 | popped#0,result#0,tmp%4#0,2 _puya_lib/arc4.py:40 - uncover 1 // load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,2,tmp%4#0 _puya_lib/arc4.py:40 - + // (𝕡) array#0 | popped#0,result#0,{+} _puya_lib/arc4.py:40 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%5#0 _puya_lib/arc4.py:40 - uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,result#0 _puya_lib/arc4.py:40 - int 0 // (𝕡) array#0 | popped#0,tmp%5#0,result#0,0 _puya_lib/arc4.py:40 - uncover 2 // load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,0,tmp%5#0 _puya_lib/arc4.py:40 - substring3 // (𝕡) array#0 | popped#0,{substring3} _puya_lib/arc4.py:40 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0 _puya_lib/arc4.py:40 - // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0 | result#0,popped#0 _puya_lib/arc4.py:41 - // virtual: load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0 _puya_lib/arc4.py:41 - retsub // popped#0,result#0 _puya_lib/arc4.py:41 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 /puya/lib/arc4.py:34 + int 0 // (𝕡) array#0 | array#0,0 /puya/lib/arc4.py:34 + extract_uint16 // (𝕡) array#0 | {extract_uint16} /puya/lib/arc4.py:34 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:34 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:35 + int 1 // (𝕡) array#0 | array_length#0,1 /puya/lib/arc4.py:35 + - // (𝕡) array#0 | {-} /puya/lib/arc4.py:35 + // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0 /puya/lib/arc4.py:35 + dup // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 /puya/lib/arc4.py:36 + itob // (𝕡) array#0 | length_minus_1#0,{itob} /puya/lib/arc4.py:36 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%0#0 /puya/lib/arc4.py:36 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%0#0 /puya/lib/arc4.py:36 + extract 6 0 // (𝕡) array#0 | length_minus_1#0,{extract} /puya/lib/arc4.py:36 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,tmp%1#0 /puya/lib/arc4.py:36 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | length_minus_1#0,tmp%1#0,array#0 /puya/lib/arc4.py:36 + uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,array#0,tmp%1#0 /puya/lib/arc4.py:36 + replace2 0 // (𝕡) array#0 | length_minus_1#0,{replace2} /puya/lib/arc4.py:36 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0 /puya/lib/arc4.py:36 + dig 1 // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,length_minus_1#0 /puya/lib/arc4.py:37 + int 16 // (𝕡) array#0 | length_minus_1#0,result#0,length_minus_1#0,16 /puya/lib/arc4.py:37 + + // (𝕡) array#0 | length_minus_1#0,result#0,{+} /puya/lib/arc4.py:37 + // virtual: store popped_location#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0 /puya/lib/arc4.py:37 + dig 1 // load result#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,result#0 /puya/lib/arc4.py:38 + dig 1 // load popped_location#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,result#0,popped_location#0 /puya/lib/arc4.py:38 + getbit // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,{getbit} /puya/lib/arc4.py:38 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0 /puya/lib/arc4.py:38 + byte 0x00 // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0,0x00 /puya/lib/arc4.py:38 + int 0 // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,tmp%2#0,0x00,0 /puya/lib/arc4.py:38 + uncover 2 // load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,0x00,0,tmp%2#0 /puya/lib/arc4.py:38 + setbit // (𝕡) array#0 | length_minus_1#0,result#0,popped_location#0,{setbit} /puya/lib/arc4.py:38 + cover 3 // store popped#0 to l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0 /puya/lib/arc4.py:38 + // virtual: load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,popped_location#0,result#0 /puya/lib/arc4.py:39 + // virtual: load popped_location#0 from l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0 /puya/lib/arc4.py:39 + int 0 // (𝕡) array#0 | popped#0,length_minus_1#0,result#0,popped_location#0,0 /puya/lib/arc4.py:39 + setbit // (𝕡) array#0 | popped#0,length_minus_1#0,{setbit} /puya/lib/arc4.py:39 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | popped#0,length_minus_1#0,result#0 /puya/lib/arc4.py:39 + uncover 1 // load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,length_minus_1#0 /puya/lib/arc4.py:40 + int 7 // (𝕡) array#0 | popped#0,result#0,length_minus_1#0,7 /puya/lib/arc4.py:40 + + // (𝕡) array#0 | popped#0,result#0,{+} /puya/lib/arc4.py:40 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%3#0 /puya/lib/arc4.py:40 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%3#0 /puya/lib/arc4.py:40 + int 8 // (𝕡) array#0 | popped#0,result#0,tmp%3#0,8 /puya/lib/arc4.py:40 + / // (𝕡) array#0 | popped#0,result#0,{/} /puya/lib/arc4.py:40 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%4#0 /puya/lib/arc4.py:40 + int 2 // (𝕡) array#0 | popped#0,result#0,tmp%4#0,2 /puya/lib/arc4.py:40 + uncover 1 // load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,2,tmp%4#0 /puya/lib/arc4.py:40 + + // (𝕡) array#0 | popped#0,result#0,{+} /puya/lib/arc4.py:40 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0,tmp%5#0 /puya/lib/arc4.py:40 + uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,result#0 /puya/lib/arc4.py:40 + int 0 // (𝕡) array#0 | popped#0,tmp%5#0,result#0,0 /puya/lib/arc4.py:40 + uncover 2 // load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0,0,tmp%5#0 /puya/lib/arc4.py:40 + substring3 // (𝕡) array#0 | popped#0,{substring3} /puya/lib/arc4.py:40 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0 | popped#0,result#0 /puya/lib/arc4.py:40 + // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0 | result#0,popped#0 /puya/lib/arc4.py:41 + // virtual: load result#0 from l-stack (no copy) (𝕡) array#0 | popped#0,result#0 /puya/lib/arc4.py:41 + retsub // popped#0,result#0 /puya/lib/arc4.py:41 // _puya_lib.arc4.dynamic_array_pop_fixed_size(array: bytes, fixed_byte_size: uint64) -> bytes, bytes: dynamic_array_pop_fixed_size: - proto 2 2 // (𝕡) array#0,fixed_byte_size#0 | _puya_lib/arc4.py:44-45 + proto 2 2 // (𝕡) array#0,fixed_byte_size#0 | /puya/lib/arc4.py:44-45 dynamic_array_pop_fixed_size_block@0: - frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | array#0 _puya_lib/arc4.py:53 - int 0 // (𝕡) array#0,fixed_byte_size#0 | array#0,0 _puya_lib/arc4.py:53 - extract_uint16 // (𝕡) array#0,fixed_byte_size#0 | {extract_uint16} _puya_lib/arc4.py:53 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 _puya_lib/arc4.py:53 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 _puya_lib/arc4.py:54 - int 1 // (𝕡) array#0,fixed_byte_size#0 | array_length#0,1 _puya_lib/arc4.py:54 - - // (𝕡) array#0,fixed_byte_size#0 | {-} _puya_lib/arc4.py:54 - // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 _puya_lib/arc4.py:54 - // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 _puya_lib/arc4.py:55 - itob // (𝕡) array#0,fixed_byte_size#0 | {itob} _puya_lib/arc4.py:55 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 _puya_lib/arc4.py:55 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 _puya_lib/arc4.py:55 - extract 6 0 // (𝕡) array#0,fixed_byte_size#0 | {extract} _puya_lib/arc4.py:55 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%1#0 _puya_lib/arc4.py:55 - frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | tmp%1#0,array#0 _puya_lib/arc4.py:55 - uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array#0,tmp%1#0 _puya_lib/arc4.py:55 - replace2 0 // (𝕡) array#0,fixed_byte_size#0 | {replace2} _puya_lib/arc4.py:55 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0 _puya_lib/arc4.py:55 - dup // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,result#0 _puya_lib/arc4.py:56 - len // (𝕡) array#0,fixed_byte_size#0 | result#0,{len} _puya_lib/arc4.py:56 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 _puya_lib/arc4.py:56 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 _puya_lib/arc4.py:56 - frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0,fixed_byte_size#0 _puya_lib/arc4.py:56 - - // (𝕡) array#0,fixed_byte_size#0 | result#0,{-} _puya_lib/arc4.py:56 - // virtual: store item_location#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0 _puya_lib/arc4.py:56 - dig 1 // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0 _puya_lib/arc4.py:57 - dig 1 // load item_location#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0 _puya_lib/arc4.py:57 - frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0,fixed_byte_size#0 _puya_lib/arc4.py:57 - extract3 // (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,{extract3} _puya_lib/arc4.py:57 - cover 2 // store popped#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,item_location#0 _puya_lib/arc4.py:57 - uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0 _puya_lib/arc4.py:58 - int 0 // (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0,0 _puya_lib/arc4.py:58 - uncover 2 // load item_location#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,0,item_location#0 _puya_lib/arc4.py:58 - substring3 // (𝕡) array#0,fixed_byte_size#0 | popped#0,{substring3} _puya_lib/arc4.py:58 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 _puya_lib/arc4.py:58 - // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,popped#0 _puya_lib/arc4.py:59 - // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 _puya_lib/arc4.py:59 - retsub // popped#0,result#0 _puya_lib/arc4.py:59 + frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | array#0 /puya/lib/arc4.py:53 + int 0 // (𝕡) array#0,fixed_byte_size#0 | array#0,0 /puya/lib/arc4.py:53 + extract_uint16 // (𝕡) array#0,fixed_byte_size#0 | {extract_uint16} /puya/lib/arc4.py:53 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 /puya/lib/arc4.py:53 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array_length#0 /puya/lib/arc4.py:54 + int 1 // (𝕡) array#0,fixed_byte_size#0 | array_length#0,1 /puya/lib/arc4.py:54 + - // (𝕡) array#0,fixed_byte_size#0 | {-} /puya/lib/arc4.py:54 + // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 /puya/lib/arc4.py:54 + // virtual: load length_minus_1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | length_minus_1#0 /puya/lib/arc4.py:55 + itob // (𝕡) array#0,fixed_byte_size#0 | {itob} /puya/lib/arc4.py:55 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 /puya/lib/arc4.py:55 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%0#0 /puya/lib/arc4.py:55 + extract 6 0 // (𝕡) array#0,fixed_byte_size#0 | {extract} /puya/lib/arc4.py:55 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | tmp%1#0 /puya/lib/arc4.py:55 + frame_dig -2 // load array#0 from parameters (𝕡) array#0,fixed_byte_size#0 | tmp%1#0,array#0 /puya/lib/arc4.py:55 + uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | array#0,tmp%1#0 /puya/lib/arc4.py:55 + replace2 0 // (𝕡) array#0,fixed_byte_size#0 | {replace2} /puya/lib/arc4.py:55 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0 /puya/lib/arc4.py:55 + dup // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,result#0 /puya/lib/arc4.py:56 + len // (𝕡) array#0,fixed_byte_size#0 | result#0,{len} /puya/lib/arc4.py:56 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 /puya/lib/arc4.py:56 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0 /puya/lib/arc4.py:56 + frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,tmp%2#0,fixed_byte_size#0 /puya/lib/arc4.py:56 + - // (𝕡) array#0,fixed_byte_size#0 | result#0,{-} /puya/lib/arc4.py:56 + // virtual: store item_location#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0 /puya/lib/arc4.py:56 + dig 1 // load result#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0 /puya/lib/arc4.py:57 + dig 1 // load item_location#0 from l-stack (copy) (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0 /puya/lib/arc4.py:57 + frame_dig -1 // load fixed_byte_size#0 from parameters (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,result#0,item_location#0,fixed_byte_size#0 /puya/lib/arc4.py:57 + extract3 // (𝕡) array#0,fixed_byte_size#0 | result#0,item_location#0,{extract3} /puya/lib/arc4.py:57 + cover 2 // store popped#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,item_location#0 /puya/lib/arc4.py:57 + uncover 1 // load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0 /puya/lib/arc4.py:58 + int 0 // (𝕡) array#0,fixed_byte_size#0 | popped#0,item_location#0,result#0,0 /puya/lib/arc4.py:58 + uncover 2 // load item_location#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0,0,item_location#0 /puya/lib/arc4.py:58 + substring3 // (𝕡) array#0,fixed_byte_size#0 | popped#0,{substring3} /puya/lib/arc4.py:58 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 /puya/lib/arc4.py:58 + // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | result#0,popped#0 /puya/lib/arc4.py:59 + // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,fixed_byte_size#0 | popped#0,result#0 /puya/lib/arc4.py:59 + retsub // popped#0,result#0 /puya/lib/arc4.py:59 // _puya_lib.arc4.dynamic_array_pop_byte_length_head(array: bytes) -> bytes, bytes: dynamic_array_pop_byte_length_head: - proto 1 2 // (𝕡) array#0 | _puya_lib/arc4.py:62-63 + proto 1 2 // (𝕡) array#0 | /puya/lib/arc4.py:62-63 dynamic_array_pop_byte_length_head_block@0: - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 _puya_lib/arc4.py:72 - int 0 // (𝕡) array#0 | array#0,0 _puya_lib/arc4.py:72 - extract_uint16 // (𝕡) array#0 | {extract_uint16} _puya_lib/arc4.py:72 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:72 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 _puya_lib/arc4.py:73 - int 1 // (𝕡) array#0 | array_length#0,1 _puya_lib/arc4.py:73 - - // (𝕡) array#0 | {-} _puya_lib/arc4.py:73 - // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0 _puya_lib/arc4.py:73 - dup // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 _puya_lib/arc4.py:74 - int 2 // (𝕡) array#0 | length_minus_1#0,length_minus_1#0,2 _puya_lib/arc4.py:74 - * // (𝕡) array#0 | length_minus_1#0,{*} _puya_lib/arc4.py:74 - // virtual: store popped_header_offset#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0 _puya_lib/arc4.py:74 - frame_dig -1 // load array#0 from parameters (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,array#0 _puya_lib/arc4.py:75 - extract 2 0 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,{extract} _puya_lib/arc4.py:75 - // virtual: store head_and_tail#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0 _puya_lib/arc4.py:75 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:76 - dig 2 // load popped_header_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,head_and_tail#0,popped_header_offset#0 _puya_lib/arc4.py:76 - extract_uint16 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,{extract_uint16} _puya_lib/arc4.py:76 - cover 1 // store popped_offset#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0 _puya_lib/arc4.py:76 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:78 - len // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{len} _puya_lib/arc4.py:78 - cover 1 // store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0 _puya_lib/arc4.py:78 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:78 - dig 3 // load popped_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0,head_and_tail#0,popped_offset#0 _puya_lib/arc4.py:78 - uncover 3 // load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,popped_offset#0,tmp%0#0 _puya_lib/arc4.py:78 - substring3 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{substring3} _puya_lib/arc4.py:78 - cover 3 // store popped#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0 _puya_lib/arc4.py:78 - dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0 _puya_lib/arc4.py:79 - int 0 // (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,0 _puya_lib/arc4.py:79 - dig 4 // load popped_header_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,0,popped_header_offset#0 _puya_lib/arc4.py:79 - substring3 // (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{substring3} _puya_lib/arc4.py:79 - cover 2 // store tmp%1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,tmp%1#0,popped_offset#0,head_and_tail#0 _puya_lib/arc4.py:79 - uncover 3 // load popped_header_offset#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,popped_header_offset#0 _puya_lib/arc4.py:80 - int 2 // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,popped_header_offset#0,2 _puya_lib/arc4.py:80 - + // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,{+} _puya_lib/arc4.py:80 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,tmp%2#0 _puya_lib/arc4.py:80 - // virtual: load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,tmp%2#0,head_and_tail#0 _puya_lib/arc4.py:79-81 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,tmp%2#0 _puya_lib/arc4.py:79-81 - uncover 2 // load popped_offset#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,head_and_tail#0,tmp%2#0,popped_offset#0 _puya_lib/arc4.py:79-81 - substring3 // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,{substring3} _puya_lib/arc4.py:79-81 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,tmp%3#0 _puya_lib/arc4.py:79-81 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%3#0,tmp%1#0 _puya_lib/arc4.py:79-81 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,tmp%3#0 _puya_lib/arc4.py:79-81 - concat // (𝕡) array#0 | length_minus_1#0,popped#0,{concat} _puya_lib/arc4.py:79-81 - // virtual: store head_and_tail#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0 _puya_lib/arc4.py:79-81 - dig 2 // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,length_minus_1#0 _puya_lib/arc4.py:84 - itob // (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,{itob} _puya_lib/arc4.py:84 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%4#0 _puya_lib/arc4.py:84 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%4#0 _puya_lib/arc4.py:83-85 - extract 6 2 // (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,{extract} _puya_lib/arc4.py:83-85 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%5#0 _puya_lib/arc4.py:83-85 - uncover 1 // load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%5#0,head_and_tail#0 _puya_lib/arc4.py:85-87 - uncover 3 // load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,head_and_tail#0,length_minus_1#0 _puya_lib/arc4.py:85-87 - int 0 // (𝕡) array#0 | popped#0,tmp%5#0,head_and_tail#0,length_minus_1#0,0 _puya_lib/arc4.py:86 - callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array#0 | popped#0,tmp%5#0,{recalculate_head_for_elements_with_byte_length_head} _puya_lib/arc4.py:85-87 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,tmp%6#0 _puya_lib/arc4.py:85-87 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%6#0,tmp%5#0 _puya_lib/arc4.py:83-87 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,tmp%6#0 _puya_lib/arc4.py:83-87 - concat // (𝕡) array#0 | popped#0,{concat} _puya_lib/arc4.py:83-87 - // virtual: store updated#0 to l-stack (no copy) (𝕡) array#0 | popped#0,updated#0 _puya_lib/arc4.py:83-87 - // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0 | updated#0,popped#0 _puya_lib/arc4.py:89 - // virtual: load updated#0 from l-stack (no copy) (𝕡) array#0 | popped#0,updated#0 _puya_lib/arc4.py:89 - retsub // popped#0,updated#0 _puya_lib/arc4.py:89 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | array#0 /puya/lib/arc4.py:72 + int 0 // (𝕡) array#0 | array#0,0 /puya/lib/arc4.py:72 + extract_uint16 // (𝕡) array#0 | {extract_uint16} /puya/lib/arc4.py:72 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:72 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0 | array_length#0 /puya/lib/arc4.py:73 + int 1 // (𝕡) array#0 | array_length#0,1 /puya/lib/arc4.py:73 + - // (𝕡) array#0 | {-} /puya/lib/arc4.py:73 + // virtual: store length_minus_1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0 /puya/lib/arc4.py:73 + dup // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,length_minus_1#0 /puya/lib/arc4.py:74 + int 2 // (𝕡) array#0 | length_minus_1#0,length_minus_1#0,2 /puya/lib/arc4.py:74 + * // (𝕡) array#0 | length_minus_1#0,{*} /puya/lib/arc4.py:74 + // virtual: store popped_header_offset#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0 /puya/lib/arc4.py:74 + frame_dig -1 // load array#0 from parameters (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,array#0 /puya/lib/arc4.py:75 + extract 2 0 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,{extract} /puya/lib/arc4.py:75 + // virtual: store head_and_tail#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0 /puya/lib/arc4.py:75 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:76 + dig 2 // load popped_header_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,head_and_tail#0,popped_header_offset#0 /puya/lib/arc4.py:76 + extract_uint16 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,head_and_tail#0,{extract_uint16} /puya/lib/arc4.py:76 + cover 1 // store popped_offset#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0 /puya/lib/arc4.py:76 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:78 + len // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{len} /puya/lib/arc4.py:78 + cover 1 // store tmp%0#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0 /puya/lib/arc4.py:78 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:78 + dig 3 // load popped_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,tmp%0#0,head_and_tail#0,head_and_tail#0,popped_offset#0 /puya/lib/arc4.py:78 + uncover 3 // load tmp%0#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,popped_offset#0,tmp%0#0 /puya/lib/arc4.py:78 + substring3 // (𝕡) array#0 | length_minus_1#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{substring3} /puya/lib/arc4.py:78 + cover 3 // store popped#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0 /puya/lib/arc4.py:78 + dup // load head_and_tail#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0 /puya/lib/arc4.py:79 + int 0 // (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,0 /puya/lib/arc4.py:79 + dig 4 // load popped_header_offset#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,head_and_tail#0,0,popped_header_offset#0 /puya/lib/arc4.py:79 + substring3 // (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,popped_offset#0,head_and_tail#0,{substring3} /puya/lib/arc4.py:79 + cover 2 // store tmp%1#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,popped_header_offset#0,tmp%1#0,popped_offset#0,head_and_tail#0 /puya/lib/arc4.py:79 + uncover 3 // load popped_header_offset#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,popped_header_offset#0 /puya/lib/arc4.py:80 + int 2 // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,popped_header_offset#0,2 /puya/lib/arc4.py:80 + + // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,{+} /puya/lib/arc4.py:80 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,tmp%2#0 /puya/lib/arc4.py:80 + // virtual: load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,tmp%2#0,head_and_tail#0 /puya/lib/arc4.py:79-81 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,popped_offset#0,head_and_tail#0,tmp%2#0 /puya/lib/arc4.py:79-81 + uncover 2 // load popped_offset#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,head_and_tail#0,tmp%2#0,popped_offset#0 /puya/lib/arc4.py:79-81 + substring3 // (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,{substring3} /puya/lib/arc4.py:79-81 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,tmp%3#0 /puya/lib/arc4.py:79-81 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%3#0,tmp%1#0 /puya/lib/arc4.py:79-81 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%1#0,tmp%3#0 /puya/lib/arc4.py:79-81 + concat // (𝕡) array#0 | length_minus_1#0,popped#0,{concat} /puya/lib/arc4.py:79-81 + // virtual: store head_and_tail#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0 /puya/lib/arc4.py:79-81 + dig 2 // load length_minus_1#0 from l-stack (copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,length_minus_1#0 /puya/lib/arc4.py:84 + itob // (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,{itob} /puya/lib/arc4.py:84 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%4#0 /puya/lib/arc4.py:84 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%4#0 /puya/lib/arc4.py:83-85 + extract 6 2 // (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,{extract} /puya/lib/arc4.py:83-85 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,head_and_tail#0,tmp%5#0 /puya/lib/arc4.py:83-85 + uncover 1 // load head_and_tail#0 from l-stack (no copy) (𝕡) array#0 | length_minus_1#0,popped#0,tmp%5#0,head_and_tail#0 /puya/lib/arc4.py:85-87 + uncover 3 // load length_minus_1#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,head_and_tail#0,length_minus_1#0 /puya/lib/arc4.py:85-87 + int 0 // (𝕡) array#0 | popped#0,tmp%5#0,head_and_tail#0,length_minus_1#0,0 /puya/lib/arc4.py:86 + callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array#0 | popped#0,tmp%5#0,{recalculate_head_for_elements_with_byte_length_head} /puya/lib/arc4.py:85-87 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,tmp%6#0 /puya/lib/arc4.py:85-87 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%6#0,tmp%5#0 /puya/lib/arc4.py:83-87 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0 | popped#0,tmp%5#0,tmp%6#0 /puya/lib/arc4.py:83-87 + concat // (𝕡) array#0 | popped#0,{concat} /puya/lib/arc4.py:83-87 + // virtual: store updated#0 to l-stack (no copy) (𝕡) array#0 | popped#0,updated#0 /puya/lib/arc4.py:83-87 + // virtual: load popped#0 from l-stack (no copy) (𝕡) array#0 | updated#0,popped#0 /puya/lib/arc4.py:89 + // virtual: load updated#0 from l-stack (no copy) (𝕡) array#0 | popped#0,updated#0 /puya/lib/arc4.py:89 + retsub // popped#0,updated#0 /puya/lib/arc4.py:89 // _puya_lib.arc4.dynamic_array_concat_bits(array: bytes, new_items_bytes: bytes, new_items_count: uint64, is_packed: uint64) -> bytes: dynamic_array_concat_bits: - proto 4 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | _puya_lib/arc4.py:124-127 + proto 4 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | /puya/lib/arc4.py:124-127 byte "" dupn 2 // allocate 3 to stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | dynamic_array_concat_bits_block@0: - frame_dig -4 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array#0 _puya_lib/arc4.py:140 - int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array#0,0 _puya_lib/arc4.py:140 - extract_uint16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | {extract_uint16} _puya_lib/arc4.py:140 - dup // store array_length#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array_length#0,array_length#0 _puya_lib/arc4.py:140 - cover 1 // store array_length#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0 _puya_lib/arc4.py:140 - dup // load array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,array_length#0 _puya_lib/arc4.py:141 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,array_length#0,new_items_count#0 _puya_lib/arc4.py:141 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,{+} _puya_lib/arc4.py:141 - // virtual: store new_array_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0 _puya_lib/arc4.py:141 - dup // load new_array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length#0 _puya_lib/arc4.py:142 - itob // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{itob} _puya_lib/arc4.py:142 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,tmp%0#0 _puya_lib/arc4.py:142 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,tmp%0#0 _puya_lib/arc4.py:142 - extract 6 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{extract} _puya_lib/arc4.py:142 - // virtual: store new_array_length_b#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length_b#0 _puya_lib/arc4.py:142 - frame_dig -4 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length_b#0,array#0 _puya_lib/arc4.py:143 - uncover 1 // load new_array_length_b#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,array#0,new_array_length_b#0 _puya_lib/arc4.py:143 - replace2 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{replace2} _puya_lib/arc4.py:143 + frame_dig -4 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array#0 /puya/lib/arc4.py:140 + int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array#0,0 /puya/lib/arc4.py:140 + extract_uint16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | {extract_uint16} /puya/lib/arc4.py:140 + dup // store array_length#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0 | array_length#0,array_length#0 /puya/lib/arc4.py:140 + cover 1 // store array_length#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0 /puya/lib/arc4.py:140 + dup // load array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,array_length#0 /puya/lib/arc4.py:141 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,array_length#0,new_items_count#0 /puya/lib/arc4.py:141 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,{+} /puya/lib/arc4.py:141 + // virtual: store new_array_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0 /puya/lib/arc4.py:141 + dup // load new_array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length#0 /puya/lib/arc4.py:142 + itob // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{itob} /puya/lib/arc4.py:142 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,tmp%0#0 /puya/lib/arc4.py:142 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,tmp%0#0 /puya/lib/arc4.py:142 + extract 6 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{extract} /puya/lib/arc4.py:142 + // virtual: store new_array_length_b#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length_b#0 /puya/lib/arc4.py:142 + frame_dig -4 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,new_array_length_b#0,array#0 /puya/lib/arc4.py:143 + uncover 1 // load new_array_length_b#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,array#0,new_array_length_b#0 /puya/lib/arc4.py:143 + replace2 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | array_length#0,new_array_length#0,{replace2} /puya/lib/arc4.py:143 dup - cover 3 // store result#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | result#0,array_length#0,new_array_length#0,result#0 _puya_lib/arc4.py:143 - cover 3 // store result#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,array_length#0,new_array_length#0 _puya_lib/arc4.py:143 - uncover 1 // load array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,array_length#0 _puya_lib/arc4.py:144 - int 7 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,array_length#0,7 _puya_lib/arc4.py:144 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,{+} _puya_lib/arc4.py:144 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0 _puya_lib/arc4.py:144 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0 _puya_lib/arc4.py:144 - int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0,8 _puya_lib/arc4.py:144 - / // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,{/} _puya_lib/arc4.py:144 - dup // store current_bytes#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,current_bytes#0,current_bytes#0 _puya_lib/arc4.py:144 - cover 3 // store current_bytes#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,new_array_length#0,current_bytes#0 _puya_lib/arc4.py:144 - uncover 1 // load new_array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,new_array_length#0 _puya_lib/arc4.py:145 - int 7 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,new_array_length#0,7 _puya_lib/arc4.py:145 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,{+} _puya_lib/arc4.py:145 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0 _puya_lib/arc4.py:145 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0 _puya_lib/arc4.py:145 - int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0,8 _puya_lib/arc4.py:145 - / // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,{/} _puya_lib/arc4.py:145 - dup // store required_bytes#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,required_bytes#0,required_bytes#0 _puya_lib/arc4.py:145 - cover 3 // store required_bytes#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,current_bytes#0,required_bytes#0 _puya_lib/arc4.py:145 - // virtual: load current_bytes#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,required_bytes#0,current_bytes#0 _puya_lib/arc4.py:146 - // virtual: load required_bytes#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,current_bytes#0,required_bytes#0 _puya_lib/arc4.py:146 - < // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,{<} _puya_lib/arc4.py:146 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,tmp%3#0 _puya_lib/arc4.py:146 + cover 3 // store result#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0 | result#0,array_length#0,new_array_length#0,result#0 /puya/lib/arc4.py:143 + cover 3 // store result#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,array_length#0,new_array_length#0 /puya/lib/arc4.py:143 + uncover 1 // load array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,array_length#0 /puya/lib/arc4.py:144 + int 7 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,array_length#0,7 /puya/lib/arc4.py:144 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,{+} /puya/lib/arc4.py:144 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0 /puya/lib/arc4.py:144 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0 /puya/lib/arc4.py:144 + int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,tmp%1#0,8 /puya/lib/arc4.py:144 + / // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,{/} /puya/lib/arc4.py:144 + dup // store current_bytes#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0 | result#0,new_array_length#0,current_bytes#0,current_bytes#0 /puya/lib/arc4.py:144 + cover 3 // store current_bytes#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,new_array_length#0,current_bytes#0 /puya/lib/arc4.py:144 + uncover 1 // load new_array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,new_array_length#0 /puya/lib/arc4.py:145 + int 7 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,new_array_length#0,7 /puya/lib/arc4.py:145 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,{+} /puya/lib/arc4.py:145 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0 /puya/lib/arc4.py:145 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0 /puya/lib/arc4.py:145 + int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,tmp%2#0,8 /puya/lib/arc4.py:145 + / // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,{/} /puya/lib/arc4.py:145 + dup // store required_bytes#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0 | result#0,current_bytes#0,required_bytes#0,required_bytes#0 /puya/lib/arc4.py:145 + cover 3 // store required_bytes#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,current_bytes#0,required_bytes#0 /puya/lib/arc4.py:145 + // virtual: load current_bytes#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,required_bytes#0,current_bytes#0 /puya/lib/arc4.py:146 + // virtual: load required_bytes#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,current_bytes#0,required_bytes#0 /puya/lib/arc4.py:146 + < // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,{<} /puya/lib/arc4.py:146 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | result#0,tmp%3#0 /puya/lib/arc4.py:146 // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0 | tmp%3#0,result#0 // virtual: store result#7 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%3#0 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%3#0 _puya_lib/arc4.py:146 - bz dynamic_array_concat_bits_after_if_else@2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:146 - // Implicit fall through to dynamic_array_concat_bits_if_body@1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:146 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%3#0 /puya/lib/arc4.py:146 + bz dynamic_array_concat_bits_after_if_else@2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:146 + // Implicit fall through to dynamic_array_concat_bits_if_body@1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:146 dynamic_array_concat_bits_if_body@1: - frame_dig 6 // load required_bytes#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | required_bytes#0 _puya_lib/arc4.py:147 - frame_dig 5 // load current_bytes#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | required_bytes#0,current_bytes#0 _puya_lib/arc4.py:147 - - // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {-} _puya_lib/arc4.py:147 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%4#0 _puya_lib/arc4.py:147 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%4#0 _puya_lib/arc4.py:147 - bzero // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {bzero} _puya_lib/arc4.py:147 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%5#0 _puya_lib/arc4.py:147 - frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%5#0,result#0 _puya_lib/arc4.py:147 - uncover 1 // load tmp%5#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0,tmp%5#0 _puya_lib/arc4.py:147 - concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {concat} _puya_lib/arc4.py:147 - // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0 _puya_lib/arc4.py:147 + frame_dig 6 // load required_bytes#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | required_bytes#0 /puya/lib/arc4.py:147 + frame_dig 5 // load current_bytes#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | required_bytes#0,current_bytes#0 /puya/lib/arc4.py:147 + - // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {-} /puya/lib/arc4.py:147 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%4#0 /puya/lib/arc4.py:147 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%4#0 /puya/lib/arc4.py:147 + bzero // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {bzero} /puya/lib/arc4.py:147 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%5#0 /puya/lib/arc4.py:147 + frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%5#0,result#0 /puya/lib/arc4.py:147 + uncover 1 // load tmp%5#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0,tmp%5#0 /puya/lib/arc4.py:147 + concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {concat} /puya/lib/arc4.py:147 + // virtual: store result#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0 /puya/lib/arc4.py:147 // virtual: load result#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0 frame_bury 7 // store result#7 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | // Implicit fall through to dynamic_array_concat_bits_after_if_else@2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | @@ -774,292 +774,292 @@ dynamic_array_concat_bits_if_body@1: dynamic_array_concat_bits_after_if_else@2: frame_dig 7 // load result#7 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#7 frame_bury 4 // store result#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | - frame_dig 3 // load array_length#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | array_length#0 _puya_lib/arc4.py:149 - int 16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | array_length#0,16 _puya_lib/arc4.py:149 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {+} _puya_lib/arc4.py:149 - frame_bury 2 // store write_offset#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:149 - int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8 _puya_lib/arc4.py:150 - int 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8,1 _puya_lib/arc4.py:150 - frame_dig -1 // load is_packed#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8,1,is_packed#0 _puya_lib/arc4.py:150 - select // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {select} _puya_lib/arc4.py:150 - dup // store tmp%6#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0,tmp%6#0 _puya_lib/arc4.py:150 - frame_bury 1 // store tmp%6#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0 _puya_lib/arc4.py:150 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0 _puya_lib/arc4.py:150 - assert // Step cannot be zero // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:150 - int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 0 _puya_lib/arc4.py:150 - frame_bury 0 // store i#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:150 + frame_dig 3 // load array_length#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | array_length#0 /puya/lib/arc4.py:149 + int 16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | array_length#0,16 /puya/lib/arc4.py:149 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {+} /puya/lib/arc4.py:149 + frame_bury 2 // store write_offset#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:149 + int 8 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8 /puya/lib/arc4.py:150 + int 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8,1 /puya/lib/arc4.py:150 + frame_dig -1 // load is_packed#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 8,1,is_packed#0 /puya/lib/arc4.py:150 + select // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {select} /puya/lib/arc4.py:150 + dup // store tmp%6#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0,tmp%6#0 /puya/lib/arc4.py:150 + frame_bury 1 // store tmp%6#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0 /puya/lib/arc4.py:150 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | tmp%6#0 /puya/lib/arc4.py:150 + assert // Step cannot be zero // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:150 + int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | 0 /puya/lib/arc4.py:150 + frame_bury 0 // store i#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:150 // Implicit fall through to dynamic_array_concat_bits_for_header@3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | dynamic_array_concat_bits_for_header@3: - frame_dig 0 // load i#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 _puya_lib/arc4.py:150 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,new_items_count#0 _puya_lib/arc4.py:150 - < // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {<} _puya_lib/arc4.py:150 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | continue_looping%0#0 _puya_lib/arc4.py:150 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | continue_looping%0#0 _puya_lib/arc4.py:150 - bz dynamic_array_concat_bits_after_for@6 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:150 - // Implicit fall through to dynamic_array_concat_bits_for_body@4 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:150 + frame_dig 0 // load i#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 /puya/lib/arc4.py:150 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,new_items_count#0 /puya/lib/arc4.py:150 + < // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {<} /puya/lib/arc4.py:150 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | continue_looping%0#0 /puya/lib/arc4.py:150 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | continue_looping%0#0 /puya/lib/arc4.py:150 + bz dynamic_array_concat_bits_after_for@6 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:150 + // Implicit fall through to dynamic_array_concat_bits_for_body@4 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:150 dynamic_array_concat_bits_for_body@4: - frame_dig -3 // load new_items_bytes#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | new_items_bytes#0 _puya_lib/arc4.py:151 - frame_dig 0 // load i#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | new_items_bytes#0,i#0 _puya_lib/arc4.py:151 + frame_dig -3 // load new_items_bytes#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | new_items_bytes#0 /puya/lib/arc4.py:151 + frame_dig 0 // load i#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | new_items_bytes#0,i#0 /puya/lib/arc4.py:151 dup - cover 2 // store i#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,new_items_bytes#0,i#0 _puya_lib/arc4.py:151 - getbit // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,{getbit} _puya_lib/arc4.py:151 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0 _puya_lib/arc4.py:151 - frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0,result#0 _puya_lib/arc4.py:151 - frame_dig 2 // load write_offset#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0,result#0,write_offset#0 _puya_lib/arc4.py:151 + cover 2 // store i#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,new_items_bytes#0,i#0 /puya/lib/arc4.py:151 + getbit // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,{getbit} /puya/lib/arc4.py:151 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0 /puya/lib/arc4.py:151 + frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0,result#0 /puya/lib/arc4.py:151 + frame_dig 2 // load write_offset#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%7#0,result#0,write_offset#0 /puya/lib/arc4.py:151 dup - cover 3 // store write_offset#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,tmp%7#0,result#0,write_offset#0 _puya_lib/arc4.py:151 - uncover 2 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,result#0,write_offset#0,tmp%7#0 _puya_lib/arc4.py:151 - setbit // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,{setbit} _puya_lib/arc4.py:151 - frame_bury 4 // store result#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0 _puya_lib/arc4.py:151 - // virtual: load write_offset#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0 _puya_lib/arc4.py:152 - int 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,1 _puya_lib/arc4.py:152 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,{+} _puya_lib/arc4.py:152 - frame_bury 2 // store write_offset#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 _puya_lib/arc4.py:152 - // virtual: load i#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 _puya_lib/arc4.py:150 - frame_dig 1 // load tmp%6#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%6#0 _puya_lib/arc4.py:150 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {+} _puya_lib/arc4.py:150 - frame_bury 0 // store i#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | _puya_lib/arc4.py:150 + cover 3 // store write_offset#0 to l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,tmp%7#0,result#0,write_offset#0 /puya/lib/arc4.py:151 + uncover 2 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,result#0,write_offset#0,tmp%7#0 /puya/lib/arc4.py:151 + setbit // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,{setbit} /puya/lib/arc4.py:151 + frame_bury 4 // store result#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0 /puya/lib/arc4.py:151 + // virtual: load write_offset#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0 /puya/lib/arc4.py:152 + int 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,write_offset#0,1 /puya/lib/arc4.py:152 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,{+} /puya/lib/arc4.py:152 + frame_bury 2 // store write_offset#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 /puya/lib/arc4.py:152 + // virtual: load i#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0 /puya/lib/arc4.py:150 + frame_dig 1 // load tmp%6#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | i#0,tmp%6#0 /puya/lib/arc4.py:150 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | {+} /puya/lib/arc4.py:150 + frame_bury 0 // store i#0 to f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | /puya/lib/arc4.py:150 b dynamic_array_concat_bits_for_header@3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | dynamic_array_concat_bits_after_for@6: - frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0 _puya_lib/arc4.py:154 + frame_dig 4 // load result#0 from f-stack (𝕡) array#0,new_items_bytes#0,new_items_count#0,is_packed#0 | (𝕗) i#0,tmp%6#0,write_offset#0,array_length#0,result#0,current_bytes#0,required_bytes#0,result#7 | result#0 /puya/lib/arc4.py:154 frame_bury 0 - retsub // result#0 _puya_lib/arc4.py:154 + retsub // result#0 /puya/lib/arc4.py:154 // _puya_lib.arc4.dynamic_array_concat_byte_length_head(array: bytes, new_items_bytes: bytes, new_items_count: uint64) -> bytes: dynamic_array_concat_byte_length_head: - proto 3 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | _puya_lib/arc4.py:157-160 + proto 3 1 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | /puya/lib/arc4.py:157-160 dynamic_array_concat_byte_length_head_block@0: - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array#0 _puya_lib/arc4.py:171 - int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array#0,0 _puya_lib/arc4.py:171 - extract_uint16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | {extract_uint16} _puya_lib/arc4.py:171 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0 _puya_lib/arc4.py:171 - dup // load array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,array_length#0 _puya_lib/arc4.py:172 - frame_dig -1 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,array_length#0,new_items_count#0 _puya_lib/arc4.py:172 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,{+} _puya_lib/arc4.py:172 - cover 1 // store new_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0 _puya_lib/arc4.py:172 - // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0 _puya_lib/arc4.py:173 - int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0,2 _puya_lib/arc4.py:173 - * // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,{*} _puya_lib/arc4.py:173 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0 _puya_lib/arc4.py:173 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0 _puya_lib/arc4.py:173 - int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0,2 _puya_lib/arc4.py:173 - + // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,{+} _puya_lib/arc4.py:173 - cover 1 // store header_end#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0 _puya_lib/arc4.py:173 - dup // load new_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,new_length#0 _puya_lib/arc4.py:176 - itob // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,{itob} _puya_lib/arc4.py:176 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,tmp%1#0 _puya_lib/arc4.py:176 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,tmp%1#0 _puya_lib/arc4.py:175-177 - extract 6 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,{extract} _puya_lib/arc4.py:175-177 - cover 1 // store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0 _puya_lib/arc4.py:175-177 - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0 _puya_lib/arc4.py:179 - int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0,2 _puya_lib/arc4.py:179 - dig 4 // load header_end#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0,2,header_end#0 _puya_lib/arc4.py:179 - substring3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,{substring3} _puya_lib/arc4.py:179 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0 _puya_lib/arc4.py:179 - frame_dig -1 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,new_items_count#0 _puya_lib/arc4.py:180 - int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,new_items_count#0,2 _puya_lib/arc4.py:180 - * // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,{*} _puya_lib/arc4.py:180 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%4#0 _puya_lib/arc4.py:180 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%4#0 _puya_lib/arc4.py:180 - bzero // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,{bzero} _puya_lib/arc4.py:180 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%5#0 _puya_lib/arc4.py:180 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%5#0,tmp%3#0 _puya_lib/arc4.py:179-180 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%5#0 _puya_lib/arc4.py:179-180 - concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,{concat} _puya_lib/arc4.py:179-180 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0 _puya_lib/arc4.py:179-180 - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,array#0 _puya_lib/arc4.py:181 - len // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,{len} _puya_lib/arc4.py:181 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,tmp%7#0 _puya_lib/arc4.py:181 - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,tmp%7#0,array#0 _puya_lib/arc4.py:181 - uncover 5 // load header_end#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%7#0,array#0,header_end#0 _puya_lib/arc4.py:181 - uncover 2 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,array#0,header_end#0,tmp%7#0 _puya_lib/arc4.py:181 - substring3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,{substring3} _puya_lib/arc4.py:181 - // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%8#0 _puya_lib/arc4.py:181 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%8#0,tmp%6#0 _puya_lib/arc4.py:179-181 - // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%8#0 _puya_lib/arc4.py:179-181 - concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,{concat} _puya_lib/arc4.py:179-181 - // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0 _puya_lib/arc4.py:179-181 - // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0 _puya_lib/arc4.py:179-182 - frame_dig -2 // load new_items_bytes#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0,new_items_bytes#0 _puya_lib/arc4.py:179-182 - concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,{concat} _puya_lib/arc4.py:179-182 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%10#0 _puya_lib/arc4.py:179-182 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%10#0 _puya_lib/arc4.py:177-186 - uncover 1 // load new_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%10#0,new_length#0 _puya_lib/arc4.py:177-186 - int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%10#0,new_length#0,0 _puya_lib/arc4.py:185 - callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,{recalculate_head_for_elements_with_byte_length_head} _puya_lib/arc4.py:177-186 - // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%11#0 _puya_lib/arc4.py:177-186 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%11#0,tmp%2#0 _puya_lib/arc4.py:175-186 - // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%11#0 _puya_lib/arc4.py:175-186 - concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | {concat} _puya_lib/arc4.py:175-186 - // virtual: store tmp%12#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%12#0 _puya_lib/arc4.py:175-186 - // virtual: load tmp%12#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%12#0 _puya_lib/arc4.py:175-186 - retsub // tmp%12#0 _puya_lib/arc4.py:175-186 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array#0 /puya/lib/arc4.py:171 + int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array#0,0 /puya/lib/arc4.py:171 + extract_uint16 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | {extract_uint16} /puya/lib/arc4.py:171 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0 /puya/lib/arc4.py:171 + dup // load array_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,array_length#0 /puya/lib/arc4.py:172 + frame_dig -1 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,array_length#0,new_items_count#0 /puya/lib/arc4.py:172 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | array_length#0,{+} /puya/lib/arc4.py:172 + cover 1 // store new_length#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0 /puya/lib/arc4.py:172 + // virtual: load array_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0 /puya/lib/arc4.py:173 + int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,array_length#0,2 /puya/lib/arc4.py:173 + * // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,{*} /puya/lib/arc4.py:173 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0 /puya/lib/arc4.py:173 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0 /puya/lib/arc4.py:173 + int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,tmp%0#0,2 /puya/lib/arc4.py:173 + + // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | new_length#0,{+} /puya/lib/arc4.py:173 + cover 1 // store header_end#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0 /puya/lib/arc4.py:173 + dup // load new_length#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,new_length#0 /puya/lib/arc4.py:176 + itob // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,{itob} /puya/lib/arc4.py:176 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,tmp%1#0 /puya/lib/arc4.py:176 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,tmp%1#0 /puya/lib/arc4.py:175-177 + extract 6 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,new_length#0,{extract} /puya/lib/arc4.py:175-177 + cover 1 // store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0 /puya/lib/arc4.py:175-177 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0 /puya/lib/arc4.py:179 + int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0,2 /puya/lib/arc4.py:179 + dig 4 // load header_end#0 from l-stack (copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,array#0,2,header_end#0 /puya/lib/arc4.py:179 + substring3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,{substring3} /puya/lib/arc4.py:179 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0 /puya/lib/arc4.py:179 + frame_dig -1 // load new_items_count#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,new_items_count#0 /puya/lib/arc4.py:180 + int 2 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,new_items_count#0,2 /puya/lib/arc4.py:180 + * // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,{*} /puya/lib/arc4.py:180 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%4#0 /puya/lib/arc4.py:180 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%4#0 /puya/lib/arc4.py:180 + bzero // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,{bzero} /puya/lib/arc4.py:180 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%5#0 /puya/lib/arc4.py:180 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%5#0,tmp%3#0 /puya/lib/arc4.py:179-180 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%3#0,tmp%5#0 /puya/lib/arc4.py:179-180 + concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,{concat} /puya/lib/arc4.py:179-180 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0 /puya/lib/arc4.py:179-180 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,array#0 /puya/lib/arc4.py:181 + len // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,{len} /puya/lib/arc4.py:181 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,tmp%7#0 /puya/lib/arc4.py:181 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | header_end#0,tmp%2#0,new_length#0,tmp%6#0,tmp%7#0,array#0 /puya/lib/arc4.py:181 + uncover 5 // load header_end#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%7#0,array#0,header_end#0 /puya/lib/arc4.py:181 + uncover 2 // load tmp%7#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,array#0,header_end#0,tmp%7#0 /puya/lib/arc4.py:181 + substring3 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,{substring3} /puya/lib/arc4.py:181 + // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%8#0 /puya/lib/arc4.py:181 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%8#0,tmp%6#0 /puya/lib/arc4.py:179-181 + // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%6#0,tmp%8#0 /puya/lib/arc4.py:179-181 + concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,{concat} /puya/lib/arc4.py:179-181 + // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0 /puya/lib/arc4.py:179-181 + // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0 /puya/lib/arc4.py:179-182 + frame_dig -2 // load new_items_bytes#0 from parameters (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%9#0,new_items_bytes#0 /puya/lib/arc4.py:179-182 + concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,{concat} /puya/lib/arc4.py:179-182 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%10#0 /puya/lib/arc4.py:179-182 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,new_length#0,tmp%10#0 /puya/lib/arc4.py:177-186 + uncover 1 // load new_length#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%10#0,new_length#0 /puya/lib/arc4.py:177-186 + int 0 // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%10#0,new_length#0,0 /puya/lib/arc4.py:185 + callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,{recalculate_head_for_elements_with_byte_length_head} /puya/lib/arc4.py:177-186 + // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%11#0 /puya/lib/arc4.py:177-186 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%11#0,tmp%2#0 /puya/lib/arc4.py:175-186 + // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%2#0,tmp%11#0 /puya/lib/arc4.py:175-186 + concat // (𝕡) array#0,new_items_bytes#0,new_items_count#0 | {concat} /puya/lib/arc4.py:175-186 + // virtual: store tmp%12#0 to l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%12#0 /puya/lib/arc4.py:175-186 + // virtual: load tmp%12#0 from l-stack (no copy) (𝕡) array#0,new_items_bytes#0,new_items_count#0 | tmp%12#0 /puya/lib/arc4.py:175-186 + retsub // tmp%12#0 /puya/lib/arc4.py:175-186 // _puya_lib.arc4.dynamic_array_replace_byte_length_head(array: bytes, new_item: bytes, index: uint64) -> bytes: dynamic_array_replace_byte_length_head: - proto 3 1 // (𝕡) array#0,new_item#0,index#0 | _puya_lib/arc4.py:217-218 + proto 3 1 // (𝕡) array#0,new_item#0,index#0 | /puya/lib/arc4.py:217-218 dynamic_array_replace_byte_length_head_block@0: - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_item#0,index#0 | array#0 _puya_lib/arc4.py:230 - substring 0 2 // (𝕡) array#0,new_item#0,index#0 | {substring} _puya_lib/arc4.py:230 - // virtual: store size_b#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0 _puya_lib/arc4.py:230 - dup // load size_b#0 from l-stack (copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,size_b#0 _puya_lib/arc4.py:231 - btoi // (𝕡) array#0,new_item#0,index#0 | size_b#0,{btoi} _puya_lib/arc4.py:231 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0 _puya_lib/arc4.py:231 - frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,array#0 _puya_lib/arc4.py:233 - extract 2 0 // (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} _puya_lib/arc4.py:233 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:233 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:232-237 - frame_dig -2 // load new_item#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 _puya_lib/arc4.py:232-237 - frame_dig -1 // load index#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 _puya_lib/arc4.py:232-237 - uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 _puya_lib/arc4.py:232-237 - callsub static_array_replace_byte_length_head // (𝕡) array#0,new_item#0,index#0 | size_b#0,{static_array_replace_byte_length_head} _puya_lib/arc4.py:232-237 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:232-237 - // virtual: load size_b#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%1#0,size_b#0 _puya_lib/arc4.py:232-237 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:232-237 - concat // (𝕡) array#0,new_item#0,index#0 | {concat} _puya_lib/arc4.py:232-237 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:232-237 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:232-237 - retsub // tmp%2#0 _puya_lib/arc4.py:232-237 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_item#0,index#0 | array#0 /puya/lib/arc4.py:230 + substring 0 2 // (𝕡) array#0,new_item#0,index#0 | {substring} /puya/lib/arc4.py:230 + // virtual: store size_b#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0 /puya/lib/arc4.py:230 + dup // load size_b#0 from l-stack (copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,size_b#0 /puya/lib/arc4.py:231 + btoi // (𝕡) array#0,new_item#0,index#0 | size_b#0,{btoi} /puya/lib/arc4.py:231 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0 /puya/lib/arc4.py:231 + frame_dig -3 // load array#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,array#0 /puya/lib/arc4.py:233 + extract 2 0 // (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} /puya/lib/arc4.py:233 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:233 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:232-237 + frame_dig -2 // load new_item#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 /puya/lib/arc4.py:232-237 + frame_dig -1 // load index#0 from parameters (𝕡) array#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 /puya/lib/arc4.py:232-237 + uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 /puya/lib/arc4.py:232-237 + callsub static_array_replace_byte_length_head // (𝕡) array#0,new_item#0,index#0 | size_b#0,{static_array_replace_byte_length_head} /puya/lib/arc4.py:232-237 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:232-237 + // virtual: load size_b#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%1#0,size_b#0 /puya/lib/arc4.py:232-237 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:232-237 + concat // (𝕡) array#0,new_item#0,index#0 | {concat} /puya/lib/arc4.py:232-237 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:232-237 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:232-237 + retsub // tmp%2#0 /puya/lib/arc4.py:232-237 // _puya_lib.arc4.static_array_replace_byte_length_head(array_head_and_tail: bytes, new_item: bytes, index: uint64, array_length: uint64) -> bytes: static_array_replace_byte_length_head: - proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | _puya_lib/arc4.py:278-281 + proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | /puya/lib/arc4.py:278-281 static_array_replace_byte_length_head_block@0: - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 _puya_lib/arc4.py:293 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,array_length#0 _puya_lib/arc4.py:293 - < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {<} _puya_lib/arc4.py:293 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 _puya_lib/arc4.py:293 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 _puya_lib/arc4.py:293 - assert // Index out of bounds // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | _puya_lib/arc4.py:293 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 _puya_lib/arc4.py:294 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 _puya_lib/arc4.py:294 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} _puya_lib/arc4.py:294 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%1#0 _puya_lib/arc4.py:294 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%1#0,array_head_and_tail#0 _puya_lib/arc4.py:294 - uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%1#0 _puya_lib/arc4.py:294 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} _puya_lib/arc4.py:294 - // virtual: store offset_for_index#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0 _puya_lib/arc4.py:294 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,array_head_and_tail#0 _puya_lib/arc4.py:295 - dig 1 // load offset_for_index#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,array_head_and_tail#0,offset_for_index#0 _puya_lib/arc4.py:295 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{extract_uint16} _puya_lib/arc4.py:295 - // virtual: store old_item_length#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,old_item_length#0 _puya_lib/arc4.py:295 - dig 1 // load offset_for_index#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,old_item_length#0,offset_for_index#0 _puya_lib/arc4.py:296 - uncover 1 // load old_item_length#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,offset_for_index#0,old_item_length#0 _puya_lib/arc4.py:296 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{+} _puya_lib/arc4.py:296 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0 _puya_lib/arc4.py:296 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0 _puya_lib/arc4.py:296 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0,2 _puya_lib/arc4.py:296 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{+} _puya_lib/arc4.py:296 - cover 1 // store old_item_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0 _puya_lib/arc4.py:296 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0,array_head_and_tail#0 _puya_lib/arc4.py:298 - int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0,array_head_and_tail#0,0 _puya_lib/arc4.py:298 - uncover 2 // load offset_for_index#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,array_head_and_tail#0,0,offset_for_index#0 _puya_lib/arc4.py:298 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,{substring3} _puya_lib/arc4.py:298 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0 _puya_lib/arc4.py:298 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0 _puya_lib/arc4.py:298-299 - frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0,new_item#0 _puya_lib/arc4.py:298-299 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,{concat} _puya_lib/arc4.py:298-299 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0 _puya_lib/arc4.py:298-299 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,array_head_and_tail#0 _puya_lib/arc4.py:300 - len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,{len} _puya_lib/arc4.py:300 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,tmp%5#0 _puya_lib/arc4.py:300 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,tmp%5#0,array_head_and_tail#0 _puya_lib/arc4.py:300 - uncover 3 // load old_item_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%5#0,array_head_and_tail#0,old_item_end#0 _puya_lib/arc4.py:300 - uncover 2 // load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,array_head_and_tail#0,old_item_end#0,tmp%5#0 _puya_lib/arc4.py:300 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,{substring3} _puya_lib/arc4.py:300 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%6#0 _puya_lib/arc4.py:300 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%6#0,tmp%4#0 _puya_lib/arc4.py:298-300 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%6#0 _puya_lib/arc4.py:298-300 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {concat} _puya_lib/arc4.py:298-300 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0 _puya_lib/arc4.py:298-300 - // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0 _puya_lib/arc4.py:297-303 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0,array_length#0 _puya_lib/arc4.py:297-303 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0,array_length#0,index#0 _puya_lib/arc4.py:297-303 - callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {recalculate_head_for_elements_with_byte_length_head} _puya_lib/arc4.py:297-303 - // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%8#0 _puya_lib/arc4.py:297-303 - // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%8#0 _puya_lib/arc4.py:297-303 - retsub // tmp%8#0 _puya_lib/arc4.py:297-303 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 /puya/lib/arc4.py:293 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,array_length#0 /puya/lib/arc4.py:293 + < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {<} /puya/lib/arc4.py:293 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 /puya/lib/arc4.py:293 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 /puya/lib/arc4.py:293 + assert // Index out of bounds // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | /puya/lib/arc4.py:293 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 /puya/lib/arc4.py:294 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 /puya/lib/arc4.py:294 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} /puya/lib/arc4.py:294 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%1#0 /puya/lib/arc4.py:294 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%1#0,array_head_and_tail#0 /puya/lib/arc4.py:294 + uncover 1 // load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%1#0 /puya/lib/arc4.py:294 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} /puya/lib/arc4.py:294 + // virtual: store offset_for_index#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0 /puya/lib/arc4.py:294 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,array_head_and_tail#0 /puya/lib/arc4.py:295 + dig 1 // load offset_for_index#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,array_head_and_tail#0,offset_for_index#0 /puya/lib/arc4.py:295 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{extract_uint16} /puya/lib/arc4.py:295 + // virtual: store old_item_length#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,old_item_length#0 /puya/lib/arc4.py:295 + dig 1 // load offset_for_index#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,old_item_length#0,offset_for_index#0 /puya/lib/arc4.py:296 + uncover 1 // load old_item_length#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,offset_for_index#0,old_item_length#0 /puya/lib/arc4.py:296 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{+} /puya/lib/arc4.py:296 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0 /puya/lib/arc4.py:296 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0 /puya/lib/arc4.py:296 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,tmp%2#0,2 /puya/lib/arc4.py:296 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | offset_for_index#0,{+} /puya/lib/arc4.py:296 + cover 1 // store old_item_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0 /puya/lib/arc4.py:296 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0,array_head_and_tail#0 /puya/lib/arc4.py:298 + int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,offset_for_index#0,array_head_and_tail#0,0 /puya/lib/arc4.py:298 + uncover 2 // load offset_for_index#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,array_head_and_tail#0,0,offset_for_index#0 /puya/lib/arc4.py:298 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,{substring3} /puya/lib/arc4.py:298 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0 /puya/lib/arc4.py:298 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0 /puya/lib/arc4.py:298-299 + frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%3#0,new_item#0 /puya/lib/arc4.py:298-299 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,{concat} /puya/lib/arc4.py:298-299 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0 /puya/lib/arc4.py:298-299 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,array_head_and_tail#0 /puya/lib/arc4.py:300 + len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,{len} /puya/lib/arc4.py:300 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,tmp%5#0 /puya/lib/arc4.py:300 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | old_item_end#0,tmp%4#0,tmp%5#0,array_head_and_tail#0 /puya/lib/arc4.py:300 + uncover 3 // load old_item_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%5#0,array_head_and_tail#0,old_item_end#0 /puya/lib/arc4.py:300 + uncover 2 // load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,array_head_and_tail#0,old_item_end#0,tmp%5#0 /puya/lib/arc4.py:300 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,{substring3} /puya/lib/arc4.py:300 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%6#0 /puya/lib/arc4.py:300 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%6#0,tmp%4#0 /puya/lib/arc4.py:298-300 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%4#0,tmp%6#0 /puya/lib/arc4.py:298-300 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {concat} /puya/lib/arc4.py:298-300 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0 /puya/lib/arc4.py:298-300 + // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0 /puya/lib/arc4.py:297-303 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0,array_length#0 /puya/lib/arc4.py:297-303 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%7#0,array_length#0,index#0 /puya/lib/arc4.py:297-303 + callsub recalculate_head_for_elements_with_byte_length_head // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {recalculate_head_for_elements_with_byte_length_head} /puya/lib/arc4.py:297-303 + // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%8#0 /puya/lib/arc4.py:297-303 + // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%8#0 /puya/lib/arc4.py:297-303 + retsub // tmp%8#0 /puya/lib/arc4.py:297-303 // _puya_lib.arc4.recalculate_head_for_elements_with_byte_length_head(array_head_and_tail: bytes, length: uint64, start_at_index: uint64) -> bytes: recalculate_head_for_elements_with_byte_length_head: - proto 3 1 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | _puya_lib/arc4.py:306-309 + proto 3 1 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | /puya/lib/arc4.py:306-309 recalculate_head_for_elements_with_byte_length_head_block@0: - frame_dig -2 // load length#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | length#0 _puya_lib/arc4.py:322 - int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | length#0,2 _puya_lib/arc4.py:322 - * // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | {*} _puya_lib/arc4.py:322 - dup // store tmp%0#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | tmp%0#0,tmp%0#0 _puya_lib/arc4.py:322 - cover 1 // store tmp%0#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0 _puya_lib/arc4.py:322 - frame_dig -1 // load start_at_index#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,start_at_index#0 _puya_lib/arc4.py:323 - int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,start_at_index#0,2 _puya_lib/arc4.py:323 - * // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,{*} _puya_lib/arc4.py:323 - dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,head_offset#0,head_offset#0 _puya_lib/arc4.py:323 - cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,head_offset#0 _puya_lib/arc4.py:323 - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,head_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:323 - uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:323 - extract_uint16 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,{extract_uint16} _puya_lib/arc4.py:323 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0 _puya_lib/arc4.py:323 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%2#0,tmp%0#0 _puya_lib/arc4.py:321-325 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0 _puya_lib/arc4.py:321-325 - frame_dig -1 // load start_at_index#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0,start_at_index#0 _puya_lib/arc4.py:321-325 - select // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | {select} _puya_lib/arc4.py:321-325 - // virtual: store tail_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | _puya_lib/arc4.py:321-325 + frame_dig -2 // load length#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | length#0 /puya/lib/arc4.py:322 + int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | length#0,2 /puya/lib/arc4.py:322 + * // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | {*} /puya/lib/arc4.py:322 + dup // store tmp%0#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | tmp%0#0,tmp%0#0 /puya/lib/arc4.py:322 + cover 1 // store tmp%0#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0 /puya/lib/arc4.py:322 + frame_dig -1 // load start_at_index#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,start_at_index#0 /puya/lib/arc4.py:323 + int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,start_at_index#0,2 /puya/lib/arc4.py:323 + * // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,{*} /puya/lib/arc4.py:323 + dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0 | tmp%0#0,head_offset#0,head_offset#0 /puya/lib/arc4.py:323 + cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,head_offset#0 /puya/lib/arc4.py:323 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,head_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:323 + uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:323 + extract_uint16 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,{extract_uint16} /puya/lib/arc4.py:323 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0 /puya/lib/arc4.py:323 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%2#0,tmp%0#0 /puya/lib/arc4.py:321-325 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0 /puya/lib/arc4.py:321-325 + frame_dig -1 // load start_at_index#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | tmp%0#0,tmp%2#0,start_at_index#0 /puya/lib/arc4.py:321-325 + select // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0 | {select} /puya/lib/arc4.py:321-325 + // virtual: store tail_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | /puya/lib/arc4.py:321-325 // Implicit fall through to recalculate_head_for_elements_with_byte_length_head_for_header@1 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | recalculate_head_for_elements_with_byte_length_head_for_header@1: - frame_dig 1 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 _puya_lib/arc4.py:327 - frame_dig 0 // load tmp%0#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tmp%0#0 _puya_lib/arc4.py:327 - < // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | {<} _puya_lib/arc4.py:327 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:327 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:327 - bz recalculate_head_for_elements_with_byte_length_head_after_for@4 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | _puya_lib/arc4.py:327 - // Implicit fall through to recalculate_head_for_elements_with_byte_length_head_for_body@2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | _puya_lib/arc4.py:327 + frame_dig 1 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 /puya/lib/arc4.py:327 + frame_dig 0 // load tmp%0#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tmp%0#0 /puya/lib/arc4.py:327 + < // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | {<} /puya/lib/arc4.py:327 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:327 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:327 + bz recalculate_head_for_elements_with_byte_length_head_after_for@4 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | /puya/lib/arc4.py:327 + // Implicit fall through to recalculate_head_for_elements_with_byte_length_head_for_body@2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | /puya/lib/arc4.py:327 recalculate_head_for_elements_with_byte_length_head_for_body@2: - frame_dig 2 // load tail_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0 _puya_lib/arc4.py:328 - dup // store tail_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset#0 _puya_lib/arc4.py:328 - itob // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,{itob} _puya_lib/arc4.py:328 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tmp%5#0 _puya_lib/arc4.py:328 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tmp%5#0 _puya_lib/arc4.py:328 - extract 6 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,{extract} _puya_lib/arc4.py:328 - // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0 _puya_lib/arc4.py:328 - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0 _puya_lib/arc4.py:329 - frame_dig 1 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:329 + frame_dig 2 // load tail_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0 /puya/lib/arc4.py:328 + dup // store tail_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset#0 /puya/lib/arc4.py:328 + itob // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,{itob} /puya/lib/arc4.py:328 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tmp%5#0 /puya/lib/arc4.py:328 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tmp%5#0 /puya/lib/arc4.py:328 + extract 6 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,{extract} /puya/lib/arc4.py:328 + // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0 /puya/lib/arc4.py:328 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0 /puya/lib/arc4.py:329 + frame_dig 1 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:329 dup - cover 4 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:329 - uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0,head_offset#0,tail_offset_bytes#0 _puya_lib/arc4.py:329 - replace3 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{replace3} _puya_lib/arc4.py:329 + cover 4 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tail_offset_bytes#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:329 + uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0,head_offset#0,tail_offset_bytes#0 /puya/lib/arc4.py:329 + replace3 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{replace3} /puya/lib/arc4.py:329 dup - frame_bury -3 // store array_head_and_tail#0 to parameters (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:329 - dig 1 // load tail_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:330 - extract_uint16 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{extract_uint16} _puya_lib/arc4.py:330 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0 _puya_lib/arc4.py:330 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0 _puya_lib/arc4.py:330 - int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0,2 _puya_lib/arc4.py:330 - + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{+} _puya_lib/arc4.py:330 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%7#0 _puya_lib/arc4.py:330 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tmp%7#0,tail_offset#0 _puya_lib/arc4.py:330 - // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%7#0 _puya_lib/arc4.py:330 - + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,{+} _puya_lib/arc4.py:330 - frame_bury 2 // store tail_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 _puya_lib/arc4.py:330 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 _puya_lib/arc4.py:327 - int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,2 _puya_lib/arc4.py:327 - + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | {+} _puya_lib/arc4.py:327 - frame_bury 1 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | _puya_lib/arc4.py:327 + frame_bury -3 // store array_head_and_tail#0 to parameters (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:329 + dig 1 // load tail_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,array_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:330 + extract_uint16 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{extract_uint16} /puya/lib/arc4.py:330 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0 /puya/lib/arc4.py:330 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0 /puya/lib/arc4.py:330 + int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%6#0,2 /puya/lib/arc4.py:330 + + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,{+} /puya/lib/arc4.py:330 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%7#0 /puya/lib/arc4.py:330 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tmp%7#0,tail_offset#0 /puya/lib/arc4.py:330 + // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,tail_offset#0,tmp%7#0 /puya/lib/arc4.py:330 + + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,{+} /puya/lib/arc4.py:330 + frame_bury 2 // store tail_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 /puya/lib/arc4.py:330 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0 /puya/lib/arc4.py:327 + int 2 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | head_offset#0,2 /puya/lib/arc4.py:327 + + // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | {+} /puya/lib/arc4.py:327 + frame_bury 1 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | /puya/lib/arc4.py:327 b recalculate_head_for_elements_with_byte_length_head_for_header@1 // (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | recalculate_head_for_elements_with_byte_length_head_after_for@4: - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | array_head_and_tail#0 _puya_lib/arc4.py:332 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,length#0,start_at_index#0 | (𝕗) tmp%0#0,head_offset#0,tail_offset#0 | array_head_and_tail#0 /puya/lib/arc4.py:332 frame_bury 0 - retsub // array_head_and_tail#0 _puya_lib/arc4.py:332 + retsub // array_head_and_tail#0 /puya/lib/arc4.py:332 diff --git a/test_cases/arc4_types/puya.log b/test_cases/arc4_types/puya.log index 6bc8a2939d..b5e80f4279 100644 --- a/test_cases/arc4_types/puya.log +++ b/test_cases/arc4_types/puya.log @@ -5954,8 +5954,8 @@ debug: Merged linear block@3: // for_footer_L327 into block@2: // for_body_L328 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%3#0: uint64 = (* length#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:322:8-28, ir_type=uint64, name='tmp%0', version=0),) -debug: Replacing redundant declaration let head_offset#0: uint64 = (* start_at_index#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:323:44-72, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%3#0: uint64 = (* length#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:322:8-28, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let head_offset#0: uint64 = (* start_at_index#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:323:44-72, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%0#0, tmp%3#0 debug: Replacing {tmp%3#0} with tmp%0#0 made 1 modifications debug: Found equivalence set: tmp%1#0, head_offset#0 diff --git a/test_cases/literals/out/LiteralFolding.approval.mir b/test_cases/literals/out/LiteralFolding.approval.mir index 0fd4c59d0e..ff42ce6622 100644 --- a/test_cases/literals/out/LiteralFolding.approval.mir +++ b/test_cases/literals/out/LiteralFolding.approval.mir @@ -43,62 +43,62 @@ compare_str_block@0: // _puya_lib.bytes_.is_substring(item: bytes, sequence: bytes) -> uint64: is_substring: - proto 2 1 // (𝕡) item#0,sequence#0 | _puya_lib/bytes_.py:4-5 + proto 2 1 // (𝕡) item#0,sequence#0 | /puya/lib/bytes_.py:4-5 byte "" // allocate 1 to stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | is_substring_block@0: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 _puya_lib/bytes_.py:10 - // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:10 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 /puya/lib/bytes_.py:10 + // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:10 // Implicit fall through to is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_while_top@1: - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} _puya_lib/bytes_.py:11 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 _puya_lib/bytes_.py:11 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 _puya_lib/bytes_.py:11 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 _puya_lib/bytes_.py:11 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:11 - dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 _puya_lib/bytes_.py:11 - frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 _puya_lib/bytes_.py:11 - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} _puya_lib/bytes_.py:11 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} _puya_lib/bytes_.py:11 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 - // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} /puya/lib/bytes_.py:11 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 /puya/lib/bytes_.py:11 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 /puya/lib/bytes_.py:11 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 /puya/lib/bytes_.py:11 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:11 + dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 /puya/lib/bytes_.py:11 + frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 /puya/lib/bytes_.py:11 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} /puya/lib/bytes_.py:11 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} /puya/lib/bytes_.py:11 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 + // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 is_substring_while_body@2: - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 _puya_lib/bytes_.py:12 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 _puya_lib/bytes_.py:12 - frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 _puya_lib/bytes_.py:12 - substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} _puya_lib/bytes_.py:12 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 _puya_lib/bytes_.py:12 - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 _puya_lib/bytes_.py:12 - uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 _puya_lib/bytes_.py:12 - == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} _puya_lib/bytes_.py:12 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 - // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 /puya/lib/bytes_.py:12 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 /puya/lib/bytes_.py:12 + frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 /puya/lib/bytes_.py:12 + substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} /puya/lib/bytes_.py:12 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 /puya/lib/bytes_.py:12 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 /puya/lib/bytes_.py:12 + uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 /puya/lib/bytes_.py:12 + == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} /puya/lib/bytes_.py:12 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 + // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 is_substring_if_body@3: - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 _puya_lib/bytes_.py:13 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 /puya/lib/bytes_.py:13 frame_bury 0 - retsub // 1 _puya_lib/bytes_.py:13 + retsub // 1 /puya/lib/bytes_.py:13 is_substring_after_if_else@4: - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 _puya_lib/bytes_.py:14 - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 _puya_lib/bytes_.py:14 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:14 - frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:14 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 /puya/lib/bytes_.py:14 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 /puya/lib/bytes_.py:14 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:14 + frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:14 b is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_after_while@5: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 _puya_lib/bytes_.py:15 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 /puya/lib/bytes_.py:15 frame_bury 0 - retsub // 0 _puya_lib/bytes_.py:15 + retsub // 0 /puya/lib/bytes_.py:15 diff --git a/test_cases/literals/puya.log b/test_cases/literals/puya.log index 1c36e53daf..d5cd2f9053 100644 --- a/test_cases/literals/puya.log +++ b/test_cases/literals/puya.log @@ -592,10 +592,10 @@ debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) debug: Found equivalence set: tmp%0#0, tmp%4#0 debug: Replacing {tmp%4#0} with tmp%0#0 made 1 modifications -debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%1#0, tmp%5#0 debug: Replacing {tmp%5#0} with tmp%1#0 made 1 modifications debug: Optimizer: Remove Calls To No Op Subroutines diff --git a/test_cases/state_mutations/out/Contract.approval.mir b/test_cases/state_mutations/out/Contract.approval.mir index d52e607ddd..7ac87e0c98 100644 --- a/test_cases/state_mutations/out/Contract.approval.mir +++ b/test_cases/state_mutations/out/Contract.approval.mir @@ -657,290 +657,290 @@ opt_in_block@0: // _puya_lib.arc4.dynamic_array_concat_dynamic_element(array_items_count: uint64, array_head_and_tail: bytes, new_items_count: uint64, new_head_and_tail: bytes) -> bytes: dynamic_array_concat_dynamic_element: - proto 4 1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | _puya_lib/arc4.py:189-196 + proto 4 1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | /puya/lib/arc4.py:189-196 byte "" // allocate 1 to stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | dynamic_array_concat_dynamic_element_block@0: - byte 0x // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | 0x _puya_lib/arc4.py:197 - // virtual: store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | _puya_lib/arc4.py:197 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0 _puya_lib/arc4.py:198 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0,2 _puya_lib/arc4.py:198 - * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | {*} _puya_lib/arc4.py:198 - // virtual: store item_offset_adjustment#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | _puya_lib/arc4.py:198 - frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0 _puya_lib/arc4.py:199 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0,2 _puya_lib/arc4.py:199 - * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | {*} _puya_lib/arc4.py:199 - // virtual: store tmp%0#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | _puya_lib/arc4.py:199 - int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | 0 _puya_lib/arc4.py:199 - // virtual: store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + byte 0x // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2 | 0x /puya/lib/arc4.py:197 + // virtual: store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | /puya/lib/arc4.py:197 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0 /puya/lib/arc4.py:198 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | new_items_count#0,2 /puya/lib/arc4.py:198 + * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0 | {*} /puya/lib/arc4.py:198 + // virtual: store item_offset_adjustment#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | /puya/lib/arc4.py:198 + frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0 /puya/lib/arc4.py:199 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | array_items_count#0,2 /puya/lib/arc4.py:199 + * // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0 | {*} /puya/lib/arc4.py:199 + // virtual: store tmp%0#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | /puya/lib/arc4.py:199 + int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0 | 0 /puya/lib/arc4.py:199 + // virtual: store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 // Implicit fall through to dynamic_array_concat_dynamic_element_for_header@1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_for_header@1: - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:199 - frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%0#0 _puya_lib/arc4.py:199 - < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} _puya_lib/arc4.py:199 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:199 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 _puya_lib/arc4.py:199 - bz dynamic_array_concat_dynamic_element_after_for@4 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 - // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:199 + frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%0#0 /puya/lib/arc4.py:199 + < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} /puya/lib/arc4.py:199 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:199 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%0#0 /puya/lib/arc4.py:199 + bz dynamic_array_concat_dynamic_element_after_for@4 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 + // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 dynamic_array_concat_dynamic_element_for_body@2: - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 _puya_lib/arc4.py:200 - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:200 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 /puya/lib/arc4.py:200 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:200 dup - cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:200 - extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} _puya_lib/arc4.py:200 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:200 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#0 _puya_lib/arc4.py:201 - uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0,item_offset#0 _puya_lib/arc4.py:201 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} _puya_lib/arc4.py:201 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 _puya_lib/arc4.py:201 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 _puya_lib/arc4.py:201 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} _puya_lib/arc4.py:201 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:201 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 _puya_lib/arc4.py:201 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} _puya_lib/arc4.py:201 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0 _puya_lib/arc4.py:201 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 _puya_lib/arc4.py:201 - uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 _puya_lib/arc4.py:201 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} _puya_lib/arc4.py:201 - frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:201 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:199 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 _puya_lib/arc4.py:199 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:199 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:199 + cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:200 + extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} /puya/lib/arc4.py:200 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:200 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#0 /puya/lib/arc4.py:201 + uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0,item_offset#0 /puya/lib/arc4.py:201 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} /puya/lib/arc4.py:201 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 /puya/lib/arc4.py:201 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%1#0 /puya/lib/arc4.py:201 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} /puya/lib/arc4.py:201 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:201 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%2#0 /puya/lib/arc4.py:201 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} /puya/lib/arc4.py:201 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0 /puya/lib/arc4.py:201 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%3#0,new_head#0 /puya/lib/arc4.py:201 + uncover 1 // load tmp%3#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%3#0 /puya/lib/arc4.py:201 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} /puya/lib/arc4.py:201 + frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:201 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:199 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 /puya/lib/arc4.py:199 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:199 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:199 b dynamic_array_concat_dynamic_element_for_header@1 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_after_for@4: - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 _puya_lib/arc4.py:203 - len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {len} _puya_lib/arc4.py:203 - frame_bury 0 // store item_offset_adjustment#2 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:203 - int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | 0 _puya_lib/arc4.py:204 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_head_and_tail#0 /puya/lib/arc4.py:203 + len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {len} /puya/lib/arc4.py:203 + frame_bury 0 // store item_offset_adjustment#2 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:203 + int 0 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | 0 /puya/lib/arc4.py:204 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 // Implicit fall through to dynamic_array_concat_dynamic_element_for_header@5 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_for_header@5: - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:204 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0 _puya_lib/arc4.py:204 - < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} _puya_lib/arc4.py:204 - // virtual: store continue_looping%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 _puya_lib/arc4.py:204 - // virtual: load continue_looping%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 _puya_lib/arc4.py:204 - bz dynamic_array_concat_dynamic_element_after_for@8 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 - // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@6 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:204 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#0 /puya/lib/arc4.py:204 + < // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {<} /puya/lib/arc4.py:204 + // virtual: store continue_looping%1#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 /puya/lib/arc4.py:204 + // virtual: load continue_looping%1#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | continue_looping%1#0 /puya/lib/arc4.py:204 + bz dynamic_array_concat_dynamic_element_after_for@8 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 + // Implicit fall through to dynamic_array_concat_dynamic_element_for_body@6 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 dynamic_array_concat_dynamic_element_for_body@6: - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0 _puya_lib/arc4.py:205 - frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:205 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0 /puya/lib/arc4.py:205 + frame_dig 4 // load head_offset#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:205 dup - cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:205 - extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} _puya_lib/arc4.py:205 - // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 _puya_lib/arc4.py:205 - frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#2 _puya_lib/arc4.py:206 - uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#2,item_offset#0 _puya_lib/arc4.py:206 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} _puya_lib/arc4.py:206 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 _puya_lib/arc4.py:206 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 _puya_lib/arc4.py:206 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} _puya_lib/arc4.py:206 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 _puya_lib/arc4.py:206 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 _puya_lib/arc4.py:206 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} _puya_lib/arc4.py:206 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0 _puya_lib/arc4.py:206 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0,new_head#0 _puya_lib/arc4.py:206 - uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%7#0 _puya_lib/arc4.py:206 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} _puya_lib/arc4.py:206 - frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:206 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 _puya_lib/arc4.py:204 - int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 _puya_lib/arc4.py:204 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:204 - frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | _puya_lib/arc4.py:204 + cover 2 // store head_offset#0 to l-stack (copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:205 + extract_uint16 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract_uint16} /puya/lib/arc4.py:205 + // virtual: store item_offset#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0 /puya/lib/arc4.py:205 + frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset#0,item_offset_adjustment#2 /puya/lib/arc4.py:206 + uncover 1 // load item_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,item_offset_adjustment#2,item_offset#0 /puya/lib/arc4.py:206 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{+} /puya/lib/arc4.py:206 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 /puya/lib/arc4.py:206 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%5#0 /puya/lib/arc4.py:206 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{itob} /puya/lib/arc4.py:206 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 /puya/lib/arc4.py:206 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%6#0 /puya/lib/arc4.py:206 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{extract} /puya/lib/arc4.py:206 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0 /puya/lib/arc4.py:206 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,tmp%7#0,new_head#0 /puya/lib/arc4.py:206 + uncover 1 // load tmp%7#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,new_head#0,tmp%7#0 /puya/lib/arc4.py:206 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,{concat} /puya/lib/arc4.py:206 + frame_bury 1 // store new_head#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:206 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0 /puya/lib/arc4.py:204 + int 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | head_offset#0,2 /puya/lib/arc4.py:204 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:204 + frame_bury 4 // store head_offset#0 to f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | /puya/lib/arc4.py:204 b dynamic_array_concat_dynamic_element_for_header@5 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | dynamic_array_concat_dynamic_element_after_for@8: - frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0 _puya_lib/arc4.py:208 - frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0,new_items_count#0 _puya_lib/arc4.py:208 - + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} _puya_lib/arc4.py:208 - // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 _puya_lib/arc4.py:208 - // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 _puya_lib/arc4.py:208 - itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {itob} _puya_lib/arc4.py:208 - // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 _puya_lib/arc4.py:208 - // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 _puya_lib/arc4.py:208 - extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {extract} _puya_lib/arc4.py:208 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 _puya_lib/arc4.py:208 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 _puya_lib/arc4.py:208-209 - frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0,new_head#0 _puya_lib/arc4.py:208-209 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-209 - // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0 _puya_lib/arc4.py:208-209 - frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0 _puya_lib/arc4.py:210-212 - frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0 _puya_lib/arc4.py:210-212 - frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0,item_offset_adjustment#2 _puya_lib/arc4.py:210-212 - substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,{substring3} _puya_lib/arc4.py:210-212 - // virtual: store tmp%14#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 _puya_lib/arc4.py:210-212 - // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%14#0,tmp%11#0 _puya_lib/arc4.py:208-212 - // virtual: load tmp%14#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 _puya_lib/arc4.py:208-212 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-212 - // virtual: store tmp%15#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0 _puya_lib/arc4.py:208-212 - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0 _puya_lib/arc4.py:213 - len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{len} _puya_lib/arc4.py:213 - // virtual: store tmp%17#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0 _puya_lib/arc4.py:213 - frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0 _puya_lib/arc4.py:213 - frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0,item_offset_adjustment#0 _puya_lib/arc4.py:213 - uncover 2 // load tmp%17#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0,item_offset_adjustment#0,tmp%17#0 _puya_lib/arc4.py:213 - substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{substring3} _puya_lib/arc4.py:213 - // virtual: store tmp%18#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 _puya_lib/arc4.py:213 - // virtual: load tmp%15#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%18#0,tmp%15#0 _puya_lib/arc4.py:208-213 - // virtual: load tmp%18#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 _puya_lib/arc4.py:208-213 - concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} _puya_lib/arc4.py:208-213 - // virtual: store tmp%19#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 _puya_lib/arc4.py:208-213 - // virtual: load tmp%19#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 _puya_lib/arc4.py:207-214 + frame_dig -4 // load array_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0 /puya/lib/arc4.py:208 + frame_dig -2 // load new_items_count#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | array_items_count#0,new_items_count#0 /puya/lib/arc4.py:208 + + // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {+} /puya/lib/arc4.py:208 + // virtual: store tmp%8#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 /puya/lib/arc4.py:208 + // virtual: load tmp%8#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%8#0 /puya/lib/arc4.py:208 + itob // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {itob} /puya/lib/arc4.py:208 + // virtual: store tmp%9#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 /puya/lib/arc4.py:208 + // virtual: load tmp%9#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%9#0 /puya/lib/arc4.py:208 + extract 6 2 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {extract} /puya/lib/arc4.py:208 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 /puya/lib/arc4.py:208 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0 /puya/lib/arc4.py:208-209 + frame_dig 1 // load new_head#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%10#0,new_head#0 /puya/lib/arc4.py:208-209 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-209 + // virtual: store tmp%11#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0 /puya/lib/arc4.py:208-209 + frame_dig -3 // load array_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0 /puya/lib/arc4.py:210-212 + frame_dig 3 // load tmp%0#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0 /puya/lib/arc4.py:210-212 + frame_dig 0 // load item_offset_adjustment#2 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,array_head_and_tail#0,tmp%0#0,item_offset_adjustment#2 /puya/lib/arc4.py:210-212 + substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,{substring3} /puya/lib/arc4.py:210-212 + // virtual: store tmp%14#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 /puya/lib/arc4.py:210-212 + // virtual: load tmp%11#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%14#0,tmp%11#0 /puya/lib/arc4.py:208-212 + // virtual: load tmp%14#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%11#0,tmp%14#0 /puya/lib/arc4.py:208-212 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-212 + // virtual: store tmp%15#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0 /puya/lib/arc4.py:208-212 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0 /puya/lib/arc4.py:213 + len // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{len} /puya/lib/arc4.py:213 + // virtual: store tmp%17#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0 /puya/lib/arc4.py:213 + frame_dig -1 // load new_head_and_tail#0 from parameters (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0 /puya/lib/arc4.py:213 + frame_dig 2 // load item_offset_adjustment#0 from f-stack (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%17#0,new_head_and_tail#0,item_offset_adjustment#0 /puya/lib/arc4.py:213 + uncover 2 // load tmp%17#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,new_head_and_tail#0,item_offset_adjustment#0,tmp%17#0 /puya/lib/arc4.py:213 + substring3 // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,{substring3} /puya/lib/arc4.py:213 + // virtual: store tmp%18#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 /puya/lib/arc4.py:213 + // virtual: load tmp%15#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%18#0,tmp%15#0 /puya/lib/arc4.py:208-213 + // virtual: load tmp%18#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%15#0,tmp%18#0 /puya/lib/arc4.py:208-213 + concat // (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | {concat} /puya/lib/arc4.py:208-213 + // virtual: store tmp%19#0 to l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 /puya/lib/arc4.py:208-213 + // virtual: load tmp%19#0 from l-stack (no copy) (𝕡) array_items_count#0,array_head_and_tail#0,new_items_count#0,new_head_and_tail#0 | (𝕗) item_offset_adjustment#2,new_head#0,item_offset_adjustment#0,tmp%0#0,head_offset#0 | tmp%19#0 /puya/lib/arc4.py:207-214 frame_bury 0 - retsub // tmp%19#0 _puya_lib/arc4.py:207-214 + retsub // tmp%19#0 /puya/lib/arc4.py:207-214 // _puya_lib.arc4.dynamic_array_replace_dynamic_element(source: bytes, new_item: bytes, index: uint64) -> bytes: dynamic_array_replace_dynamic_element: - proto 3 1 // (𝕡) source#0,new_item#0,index#0 | _puya_lib/arc4.py:240-241 + proto 3 1 // (𝕡) source#0,new_item#0,index#0 | /puya/lib/arc4.py:240-241 dynamic_array_replace_dynamic_element_block@0: - frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | source#0 _puya_lib/arc4.py:242 - substring 0 2 // (𝕡) source#0,new_item#0,index#0 | {substring} _puya_lib/arc4.py:242 - // virtual: store size_b#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0 _puya_lib/arc4.py:242 - dup // load size_b#0 from l-stack (copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,size_b#0 _puya_lib/arc4.py:243 - btoi // (𝕡) source#0,new_item#0,index#0 | size_b#0,{btoi} _puya_lib/arc4.py:243 - // virtual: store array_length#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0 _puya_lib/arc4.py:243 - frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,source#0 _puya_lib/arc4.py:245 - extract 2 0 // (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} _puya_lib/arc4.py:245 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:245 - // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 _puya_lib/arc4.py:244-249 - frame_dig -2 // load new_item#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 _puya_lib/arc4.py:244-249 - frame_dig -1 // load index#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 _puya_lib/arc4.py:244-249 - uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 _puya_lib/arc4.py:244-249 - callsub static_array_replace_dynamic_element // (𝕡) source#0,new_item#0,index#0 | size_b#0,{static_array_replace_dynamic_element} _puya_lib/arc4.py:244-249 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:244-249 - // virtual: load size_b#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%1#0,size_b#0 _puya_lib/arc4.py:244-249 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 _puya_lib/arc4.py:244-249 - concat // (𝕡) source#0,new_item#0,index#0 | {concat} _puya_lib/arc4.py:244-249 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:244-249 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 _puya_lib/arc4.py:244-249 - retsub // tmp%2#0 _puya_lib/arc4.py:244-249 + frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | source#0 /puya/lib/arc4.py:242 + substring 0 2 // (𝕡) source#0,new_item#0,index#0 | {substring} /puya/lib/arc4.py:242 + // virtual: store size_b#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0 /puya/lib/arc4.py:242 + dup // load size_b#0 from l-stack (copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,size_b#0 /puya/lib/arc4.py:243 + btoi // (𝕡) source#0,new_item#0,index#0 | size_b#0,{btoi} /puya/lib/arc4.py:243 + // virtual: store array_length#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0 /puya/lib/arc4.py:243 + frame_dig -3 // load source#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,source#0 /puya/lib/arc4.py:245 + extract 2 0 // (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,{extract} /puya/lib/arc4.py:245 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:245 + // virtual: load tmp%0#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0 /puya/lib/arc4.py:244-249 + frame_dig -2 // load new_item#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0 /puya/lib/arc4.py:244-249 + frame_dig -1 // load index#0 from parameters (𝕡) source#0,new_item#0,index#0 | size_b#0,array_length#0,tmp%0#0,new_item#0,index#0 /puya/lib/arc4.py:244-249 + uncover 3 // load array_length#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%0#0,new_item#0,index#0,array_length#0 /puya/lib/arc4.py:244-249 + callsub static_array_replace_dynamic_element // (𝕡) source#0,new_item#0,index#0 | size_b#0,{static_array_replace_dynamic_element} /puya/lib/arc4.py:244-249 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:244-249 + // virtual: load size_b#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%1#0,size_b#0 /puya/lib/arc4.py:244-249 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | size_b#0,tmp%1#0 /puya/lib/arc4.py:244-249 + concat // (𝕡) source#0,new_item#0,index#0 | {concat} /puya/lib/arc4.py:244-249 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:244-249 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) source#0,new_item#0,index#0 | tmp%2#0 /puya/lib/arc4.py:244-249 + retsub // tmp%2#0 /puya/lib/arc4.py:244-249 // _puya_lib.arc4.static_array_replace_dynamic_element(array_head_and_tail: bytes, new_item: bytes, index: uint64, array_length: uint64) -> bytes: static_array_replace_dynamic_element: - proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | _puya_lib/arc4.py:252-255 + proto 4 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | /puya/lib/arc4.py:252-255 static_array_replace_dynamic_element_block@0: - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 _puya_lib/arc4.py:256 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 _puya_lib/arc4.py:256 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} _puya_lib/arc4.py:256 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 _puya_lib/arc4.py:256 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0,array_head_and_tail#0 _puya_lib/arc4.py:256 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%0#0 _puya_lib/arc4.py:256 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} _puya_lib/arc4.py:256 - // virtual: store original_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0 _puya_lib/arc4.py:256 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0 _puya_lib/arc4.py:257 - int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0,1 _puya_lib/arc4.py:257 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{+} _puya_lib/arc4.py:257 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 _puya_lib/arc4.py:257 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 _puya_lib/arc4.py:257 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0,2 _puya_lib/arc4.py:257 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{*} _puya_lib/arc4.py:257 - dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,head_offset#0,head_offset#0 _puya_lib/arc4.py:257 - cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0 _puya_lib/arc4.py:257 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:257 - uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,array_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:257 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,{extract_uint16} _puya_lib/arc4.py:257 - // virtual: store next_item_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0 _puya_lib/arc4.py:257 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:258 - len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,{len} _puya_lib/arc4.py:258 - // virtual: store end_of_tail#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0 _puya_lib/arc4.py:258 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0 _puya_lib/arc4.py:259 - frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0,index#0 _puya_lib/arc4.py:259 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} _puya_lib/arc4.py:259 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 _puya_lib/arc4.py:259 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 _puya_lib/arc4.py:259 - int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0,1 _puya_lib/arc4.py:259 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} _puya_lib/arc4.py:259 - // virtual: store is_before_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0 _puya_lib/arc4.py:259 - dig 1 // load end_of_tail#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0 _puya_lib/arc4.py:260 - uncover 3 // load next_item_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0,next_item_offset#0 _puya_lib/arc4.py:260 - uncover 2 // load is_before_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_of_tail#0,next_item_offset#0,is_before_end#0 _puya_lib/arc4.py:260 - select // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,{select} _puya_lib/arc4.py:260 - // virtual: store end_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:260 - dup // load end_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0 _puya_lib/arc4.py:262 - dig 3 // load original_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0,original_offset#0 _puya_lib/arc4.py:262 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,{-} _puya_lib/arc4.py:262 - cover 3 // store original_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:262 - frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,new_item#0 _puya_lib/arc4.py:263 - len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,{len} _puya_lib/arc4.py:263 - cover 3 // store new_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 _puya_lib/arc4.py:263 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0 _puya_lib/arc4.py:265 - int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0,0 _puya_lib/arc4.py:265 - uncover 4 // load original_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,array_head_and_tail#0,0,original_offset#0 _puya_lib/arc4.py:265 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{substring3} _puya_lib/arc4.py:265 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 _puya_lib/arc4.py:265 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 _puya_lib/arc4.py:265-266 - frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0,new_item#0 _puya_lib/arc4.py:265-266 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{concat} _puya_lib/arc4.py:265-266 - // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0 _puya_lib/arc4.py:265-266 - frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0,array_head_and_tail#0 _puya_lib/arc4.py:267 - uncover 2 // load end_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,tmp%5#0,array_head_and_tail#0,end_offset#0 _puya_lib/arc4.py:267 - uncover 3 // load end_of_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,array_head_and_tail#0,end_offset#0,end_of_tail#0 _puya_lib/arc4.py:267 - substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,{substring3} _puya_lib/arc4.py:267 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 _puya_lib/arc4.py:267 - // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%6#0,tmp%5#0 _puya_lib/arc4.py:264-268 - // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 _puya_lib/arc4.py:264-268 - concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | {concat} _puya_lib/arc4.py:265-267 - // virtual: store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | _puya_lib/arc4.py:264-268 - frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0 _puya_lib/arc4.py:269 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0,2 _puya_lib/arc4.py:269 - * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | {*} _puya_lib/arc4.py:269 - // virtual: store tmp%7#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0 /puya/lib/arc4.py:256 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | index#0,2 /puya/lib/arc4.py:256 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {*} /puya/lib/arc4.py:256 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0 /puya/lib/arc4.py:256 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | tmp%0#0,array_head_and_tail#0 /puya/lib/arc4.py:256 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | array_head_and_tail#0,tmp%0#0 /puya/lib/arc4.py:256 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | {extract_uint16} /puya/lib/arc4.py:256 + // virtual: store original_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0 /puya/lib/arc4.py:256 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0 /puya/lib/arc4.py:257 + int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,index#0,1 /puya/lib/arc4.py:257 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{+} /puya/lib/arc4.py:257 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 /puya/lib/arc4.py:257 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0 /puya/lib/arc4.py:257 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,tmp%1#0,2 /puya/lib/arc4.py:257 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,{*} /puya/lib/arc4.py:257 + dup // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | original_offset#0,head_offset#0,head_offset#0 /puya/lib/arc4.py:257 + cover 2 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0 /puya/lib/arc4.py:257 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,head_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:257 + uncover 1 // load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,array_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:257 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,{extract_uint16} /puya/lib/arc4.py:257 + // virtual: store next_item_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0 /puya/lib/arc4.py:257 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:258 + len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,{len} /puya/lib/arc4.py:258 + // virtual: store end_of_tail#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0 /puya/lib/arc4.py:258 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0 /puya/lib/arc4.py:259 + frame_dig -2 // load index#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,array_length#0,index#0 /puya/lib/arc4.py:259 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} /puya/lib/arc4.py:259 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 /puya/lib/arc4.py:259 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0 /puya/lib/arc4.py:259 + int 1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,tmp%3#0,1 /puya/lib/arc4.py:259 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,{-} /puya/lib/arc4.py:259 + // virtual: store is_before_end#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0 /puya/lib/arc4.py:259 + dig 1 // load end_of_tail#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,next_item_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0 /puya/lib/arc4.py:260 + uncover 3 // load next_item_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,is_before_end#0,end_of_tail#0,next_item_offset#0 /puya/lib/arc4.py:260 + uncover 2 // load is_before_end#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_of_tail#0,next_item_offset#0,is_before_end#0 /puya/lib/arc4.py:260 + select // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,{select} /puya/lib/arc4.py:260 + // virtual: store end_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:260 + dup // load end_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0 /puya/lib/arc4.py:262 + dig 3 // load original_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,end_offset#0,original_offset#0 /puya/lib/arc4.py:262 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0 | original_offset#0,end_of_tail#0,end_offset#0,{-} /puya/lib/arc4.py:262 + cover 3 // store original_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:262 + frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,new_item#0 /puya/lib/arc4.py:263 + len // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,{len} /puya/lib/arc4.py:263 + cover 3 // store new_item_length#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0 /puya/lib/arc4.py:263 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0 /puya/lib/arc4.py:265 + int 0 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | original_offset#0,end_of_tail#0,end_offset#0,array_head_and_tail#0,0 /puya/lib/arc4.py:265 + uncover 4 // load original_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,array_head_and_tail#0,0,original_offset#0 /puya/lib/arc4.py:265 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{substring3} /puya/lib/arc4.py:265 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 /puya/lib/arc4.py:265 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0 /puya/lib/arc4.py:265-266 + frame_dig -3 // load new_item#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%4#0,new_item#0 /puya/lib/arc4.py:265-266 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,{concat} /puya/lib/arc4.py:265-266 + // virtual: store tmp%5#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0 /puya/lib/arc4.py:265-266 + frame_dig -4 // load array_head_and_tail#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,end_offset#0,tmp%5#0,array_head_and_tail#0 /puya/lib/arc4.py:267 + uncover 2 // load end_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | end_of_tail#0,tmp%5#0,array_head_and_tail#0,end_offset#0 /puya/lib/arc4.py:267 + uncover 3 // load end_of_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,array_head_and_tail#0,end_offset#0,end_of_tail#0 /puya/lib/arc4.py:267 + substring3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,{substring3} /puya/lib/arc4.py:267 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 /puya/lib/arc4.py:267 + // virtual: load tmp%5#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%6#0,tmp%5#0 /puya/lib/arc4.py:264-268 + // virtual: load tmp%6#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | tmp%5#0,tmp%6#0 /puya/lib/arc4.py:264-268 + concat // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0 | {concat} /puya/lib/arc4.py:265-267 + // virtual: store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | /puya/lib/arc4.py:264-268 + frame_dig -1 // load array_length#0 from parameters (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0 /puya/lib/arc4.py:269 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | array_length#0,2 /puya/lib/arc4.py:269 + * // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0 | {*} /puya/lib/arc4.py:269 + // virtual: store tmp%7#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 // Implicit fall through to static_array_replace_dynamic_element_for_header@1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | static_array_replace_dynamic_element_for_header@1: - frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:269 - frame_dig 4 // load tmp%7#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tmp%7#0 _puya_lib/arc4.py:269 - < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {<} _puya_lib/arc4.py:269 - // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 _puya_lib/arc4.py:269 - // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 _puya_lib/arc4.py:269 - bz static_array_replace_dynamic_element_after_for@4 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 - // Implicit fall through to static_array_replace_dynamic_element_for_body@2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:269 + frame_dig 4 // load tmp%7#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tmp%7#0 /puya/lib/arc4.py:269 + < // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {<} /puya/lib/arc4.py:269 + // virtual: store continue_looping%0#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 /puya/lib/arc4.py:269 + // virtual: load continue_looping%0#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | continue_looping%0#0 /puya/lib/arc4.py:269 + bz static_array_replace_dynamic_element_after_for@4 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 + // Implicit fall through to static_array_replace_dynamic_element_for_body@2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 static_array_replace_dynamic_element_for_body@2: - frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 _puya_lib/arc4.py:270 - dup // store new_head_and_tail#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0 _puya_lib/arc4.py:270 - frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:270 + frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 /puya/lib/arc4.py:270 + dup // store new_head_and_tail#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0 /puya/lib/arc4.py:270 + frame_dig 0 // load head_offset#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:270 dup - cover 3 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:270 - extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract_uint16} _puya_lib/arc4.py:270 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:270 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:271 - frame_dig 2 // load new_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,new_item_length#0 _puya_lib/arc4.py:271 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{+} _puya_lib/arc4.py:271 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:271 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:272 - frame_dig 1 // load original_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,original_item_length#0 _puya_lib/arc4.py:272 - - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{-} _puya_lib/arc4.py:272 - // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:272 - // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 _puya_lib/arc4.py:273 - itob // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{itob} _puya_lib/arc4.py:273 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 _puya_lib/arc4.py:273 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 _puya_lib/arc4.py:273 - extract 6 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract} _puya_lib/arc4.py:273 - // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset_bytes#0 _puya_lib/arc4.py:273 - uncover 1 // load new_head_and_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0 _puya_lib/arc4.py:274 - dig 2 // load head_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0,head_offset#0 _puya_lib/arc4.py:274 - uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,head_offset#0,tail_offset_bytes#0 _puya_lib/arc4.py:274 - replace3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,{replace3} _puya_lib/arc4.py:274 - frame_bury 3 // store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:274 - // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 _puya_lib/arc4.py:269 - int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,2 _puya_lib/arc4.py:269 - + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {+} _puya_lib/arc4.py:269 - frame_bury 0 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | _puya_lib/arc4.py:269 + cover 3 // store head_offset#0 to l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:270 + extract_uint16 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract_uint16} /puya/lib/arc4.py:270 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:270 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:271 + frame_dig 2 // load new_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,new_item_length#0 /puya/lib/arc4.py:271 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{+} /puya/lib/arc4.py:271 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:271 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:272 + frame_dig 1 // load original_item_length#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0,original_item_length#0 /puya/lib/arc4.py:272 + - // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{-} /puya/lib/arc4.py:272 + // virtual: store tail_offset#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:272 + // virtual: load tail_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset#0 /puya/lib/arc4.py:273 + itob // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{itob} /puya/lib/arc4.py:273 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 /puya/lib/arc4.py:273 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tmp%10#0 /puya/lib/arc4.py:273 + extract 6 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,{extract} /puya/lib/arc4.py:273 + // virtual: store tail_offset_bytes#0 to l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,tail_offset_bytes#0 /puya/lib/arc4.py:273 + uncover 1 // load new_head_and_tail#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0 /puya/lib/arc4.py:274 + dig 2 // load head_offset#0 from l-stack (copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,tail_offset_bytes#0,new_head_and_tail#0,head_offset#0 /puya/lib/arc4.py:274 + uncover 2 // load tail_offset_bytes#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,new_head_and_tail#0,head_offset#0,tail_offset_bytes#0 /puya/lib/arc4.py:274 + replace3 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,{replace3} /puya/lib/arc4.py:274 + frame_bury 3 // store new_head_and_tail#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:274 + // virtual: load head_offset#0 from l-stack (no copy) (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0 /puya/lib/arc4.py:269 + int 2 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | head_offset#0,2 /puya/lib/arc4.py:269 + + // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | {+} /puya/lib/arc4.py:269 + frame_bury 0 // store head_offset#0 to f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | /puya/lib/arc4.py:269 b static_array_replace_dynamic_element_for_header@1 // (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | static_array_replace_dynamic_element_after_for@4: - frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 _puya_lib/arc4.py:275 + frame_dig 3 // load new_head_and_tail#0 from f-stack (𝕡) array_head_and_tail#0,new_item#0,index#0,array_length#0 | (𝕗) head_offset#0,original_item_length#0,new_item_length#0,new_head_and_tail#0,tmp%7#0 | new_head_and_tail#0 /puya/lib/arc4.py:275 frame_bury 0 - retsub // new_head_and_tail#0 _puya_lib/arc4.py:275 + retsub // new_head_and_tail#0 /puya/lib/arc4.py:275 diff --git a/test_cases/state_mutations/puya.log b/test_cases/state_mutations/puya.log index 6d1fe726c2..290fd98a01 100644 --- a/test_cases/state_mutations/puya.log +++ b/test_cases/state_mutations/puya.log @@ -667,10 +667,10 @@ debug: Merged linear block@7: // for_footer_L204 into block@6: // for_body_L205 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%4#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:198:4-26, ir_type=uint64, name='item_offset_adjustment', version=0),) -debug: Replacing redundant declaration let tmp%12#0: uint64 = (* array_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:199:33-64, ir_type=uint64, name='tmp%0', version=0),) -debug: Replacing redundant declaration let tmp%13#0: uint64 = (len array_head_and_tail#0) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:203:4-26, ir_type=uint64, name='item_offset_adjustment', version=2),) -debug: Replacing redundant declaration let tmp%16#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:204:33-62, ir_type=uint64, name='tmp%4', version=0),) +debug: Replacing redundant declaration let tmp%4#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:198:4-26, ir_type=uint64, name='item_offset_adjustment', version=0),) +debug: Replacing redundant declaration let tmp%12#0: uint64 = (* array_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:199:33-64, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let tmp%13#0: uint64 = (len array_head_and_tail#0) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:203:4-26, ir_type=uint64, name='item_offset_adjustment', version=2),) +debug: Replacing redundant declaration let tmp%16#0: uint64 = (* new_items_count#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:204:33-62, ir_type=uint64, name='tmp%4', version=0),) debug: Found equivalence set: item_offset_adjustment#0, tmp%4#0, tmp%16#0 debug: Replacing {tmp%4#0, tmp%16#0} with item_offset_adjustment#0 made 2 modifications debug: Found equivalence set: tmp%0#0, tmp%12#0 @@ -709,10 +709,10 @@ debug: Merged linear block@3: // for_footer_L269 into block@2: // for_body_L270 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%8#0: uint64 = (+ index#0 1u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:257:60-69, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%8#0: uint64 = (+ index#0 1u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:257:60-69, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%1#0, tmp%8#0 debug: Replacing {tmp%8#0} with tmp%1#0 made 1 modifications -debug: Replacing redundant declaration let head_offset#0: uint64 = (* tmp%1#0 2u) with copy of existing registers (Register(source_location=_puya_lib/arc4.py:257:59-74, ir_type=uint64, name='tmp%2', version=0),) +debug: Replacing redundant declaration let head_offset#0: uint64 = (* tmp%1#0 2u) with copy of existing registers (Register(source_location=/puya/lib/arc4.py:257:59-74, ir_type=uint64, name='tmp%2', version=0),) debug: Found equivalence set: tmp%2#0, head_offset#0 debug: Replacing {tmp%2#0} with head_offset#0 made 2 modifications debug: Optimizer: Remove Calls To No Op Subroutines diff --git a/test_cases/string_ops/out/MyContract.approval.mir b/test_cases/string_ops/out/MyContract.approval.mir index e42597c4c0..fb22a6d253 100644 --- a/test_cases/string_ops/out/MyContract.approval.mir +++ b/test_cases/string_ops/out/MyContract.approval.mir @@ -40,62 +40,62 @@ main_block@0: // _puya_lib.bytes_.is_substring(item: bytes, sequence: bytes) -> uint64: is_substring: - proto 2 1 // (𝕡) item#0,sequence#0 | _puya_lib/bytes_.py:4-5 + proto 2 1 // (𝕡) item#0,sequence#0 | /puya/lib/bytes_.py:4-5 byte "" // allocate 1 to stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | is_substring_block@0: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 _puya_lib/bytes_.py:10 - // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:10 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 /puya/lib/bytes_.py:10 + // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:10 // Implicit fall through to is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_while_top@1: - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} _puya_lib/bytes_.py:11 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 _puya_lib/bytes_.py:11 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 _puya_lib/bytes_.py:11 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 _puya_lib/bytes_.py:11 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:11 - dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 _puya_lib/bytes_.py:11 - frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 _puya_lib/bytes_.py:11 - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} _puya_lib/bytes_.py:11 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} _puya_lib/bytes_.py:11 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 - // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} /puya/lib/bytes_.py:11 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 /puya/lib/bytes_.py:11 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 /puya/lib/bytes_.py:11 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 /puya/lib/bytes_.py:11 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:11 + dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 /puya/lib/bytes_.py:11 + frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 /puya/lib/bytes_.py:11 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} /puya/lib/bytes_.py:11 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} /puya/lib/bytes_.py:11 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 + // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 is_substring_while_body@2: - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 _puya_lib/bytes_.py:12 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 _puya_lib/bytes_.py:12 - frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 _puya_lib/bytes_.py:12 - substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} _puya_lib/bytes_.py:12 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 _puya_lib/bytes_.py:12 - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 _puya_lib/bytes_.py:12 - uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 _puya_lib/bytes_.py:12 - == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} _puya_lib/bytes_.py:12 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 - // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 /puya/lib/bytes_.py:12 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 /puya/lib/bytes_.py:12 + frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 /puya/lib/bytes_.py:12 + substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} /puya/lib/bytes_.py:12 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 /puya/lib/bytes_.py:12 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 /puya/lib/bytes_.py:12 + uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 /puya/lib/bytes_.py:12 + == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} /puya/lib/bytes_.py:12 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 + // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 is_substring_if_body@3: - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 _puya_lib/bytes_.py:13 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 /puya/lib/bytes_.py:13 frame_bury 0 - retsub // 1 _puya_lib/bytes_.py:13 + retsub // 1 /puya/lib/bytes_.py:13 is_substring_after_if_else@4: - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 _puya_lib/bytes_.py:14 - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 _puya_lib/bytes_.py:14 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:14 - frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:14 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 /puya/lib/bytes_.py:14 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 /puya/lib/bytes_.py:14 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:14 + frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:14 b is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_after_while@5: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 _puya_lib/bytes_.py:15 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 /puya/lib/bytes_.py:15 frame_bury 0 - retsub // 0 _puya_lib/bytes_.py:15 + retsub // 0 /puya/lib/bytes_.py:15 diff --git a/test_cases/string_ops/puya.log b/test_cases/string_ops/puya.log index 1506896de5..47d6c8a1d9 100644 --- a/test_cases/string_ops/puya.log +++ b/test_cases/string_ops/puya.log @@ -392,10 +392,10 @@ debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) debug: Found equivalence set: tmp%0#0, tmp%4#0 debug: Replacing {tmp%4#0} with tmp%0#0 made 1 modifications -debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%1#0, tmp%5#0 debug: Replacing {tmp%5#0} with tmp%1#0 made 1 modifications debug: Optimizer: Remove Calls To No Op Subroutines diff --git a/test_cases/stubs/out/StringContract.approval.mir b/test_cases/stubs/out/StringContract.approval.mir index 2c4760276e..b089800c8a 100644 --- a/test_cases/stubs/out/StringContract.approval.mir +++ b/test_cases/stubs/out/StringContract.approval.mir @@ -48,62 +48,62 @@ main_ternary_merge@39: // _puya_lib.bytes_.is_substring(item: bytes, sequence: bytes) -> uint64: is_substring: - proto 2 1 // (𝕡) item#0,sequence#0 | _puya_lib/bytes_.py:4-5 + proto 2 1 // (𝕡) item#0,sequence#0 | /puya/lib/bytes_.py:4-5 byte "" // allocate 1 to stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | is_substring_block@0: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 _puya_lib/bytes_.py:10 - // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:10 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0 | 0 /puya/lib/bytes_.py:10 + // virtual: store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:10 // Implicit fall through to is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_while_top@1: - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} _puya_lib/bytes_.py:11 - // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 _puya_lib/bytes_.py:11 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 _puya_lib/bytes_.py:11 - uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 _puya_lib/bytes_.py:11 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:11 - dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 _puya_lib/bytes_.py:11 - frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 _puya_lib/bytes_.py:11 - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 _puya_lib/bytes_.py:11 - len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} _puya_lib/bytes_.py:11 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 _puya_lib/bytes_.py:11 - <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} _puya_lib/bytes_.py:11 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 _puya_lib/bytes_.py:11 - bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 - // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:11 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {len} /puya/lib/bytes_.py:11 + // virtual: store tmp%0#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0 /puya/lib/bytes_.py:11 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%0#0,start#0 /puya/lib/bytes_.py:11 + uncover 1 // load tmp%0#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,tmp%0#0 /puya/lib/bytes_.py:11 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:11 + dup // store tmp%1#0 to l-stack (copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%1#0 /puya/lib/bytes_.py:11 + frame_bury 0 // store tmp%1#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0 /puya/lib/bytes_.py:11 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,sequence#0 /puya/lib/bytes_.py:11 + len // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,{len} /puya/lib/bytes_.py:11 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%2#0,tmp%1#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%1#0,tmp%2#0 /puya/lib/bytes_.py:11 + <= // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {<=} /puya/lib/bytes_.py:11 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%3#0 /puya/lib/bytes_.py:11 + bz is_substring_after_while@5 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 + // Implicit fall through to is_substring_while_body@2 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:11 is_substring_while_body@2: - frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 _puya_lib/bytes_.py:12 - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 _puya_lib/bytes_.py:12 - frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 _puya_lib/bytes_.py:12 - substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} _puya_lib/bytes_.py:12 - // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 _puya_lib/bytes_.py:12 - frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 _puya_lib/bytes_.py:12 - uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 _puya_lib/bytes_.py:12 - == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} _puya_lib/bytes_.py:12 - // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 _puya_lib/bytes_.py:12 - bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 - // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:12 + frame_dig -1 // load sequence#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0 /puya/lib/bytes_.py:12 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0 /puya/lib/bytes_.py:12 + frame_dig 0 // load tmp%1#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | sequence#0,start#0,tmp%1#0 /puya/lib/bytes_.py:12 + substring3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {substring3} /puya/lib/bytes_.py:12 + // virtual: store tmp%6#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0 /puya/lib/bytes_.py:12 + frame_dig -2 // load item#0 from parameters (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%6#0,item#0 /puya/lib/bytes_.py:12 + uncover 1 // load tmp%6#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | item#0,tmp%6#0 /puya/lib/bytes_.py:12 + == // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {==} /puya/lib/bytes_.py:12 + // virtual: store tmp%7#0 to l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + // virtual: load tmp%7#0 from l-stack (no copy) (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | tmp%7#0 /puya/lib/bytes_.py:12 + bz is_substring_after_if_else@4 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 + // Implicit fall through to is_substring_if_body@3 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:12 is_substring_if_body@3: - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 _puya_lib/bytes_.py:13 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 1 /puya/lib/bytes_.py:13 frame_bury 0 - retsub // 1 _puya_lib/bytes_.py:13 + retsub // 1 /puya/lib/bytes_.py:13 is_substring_after_if_else@4: - frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 _puya_lib/bytes_.py:14 - int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 _puya_lib/bytes_.py:14 - + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} _puya_lib/bytes_.py:14 - frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | _puya_lib/bytes_.py:14 + frame_dig 1 // load start#0 from f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0 /puya/lib/bytes_.py:14 + int 1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | start#0,1 /puya/lib/bytes_.py:14 + + // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | {+} /puya/lib/bytes_.py:14 + frame_bury 1 // store start#0 to f-stack (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | /puya/lib/bytes_.py:14 b is_substring_while_top@1 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | is_substring_after_while@5: - int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 _puya_lib/bytes_.py:15 + int 0 // (𝕡) item#0,sequence#0 | (𝕗) tmp%1#0,start#0 | 0 /puya/lib/bytes_.py:15 frame_bury 0 - retsub // 0 _puya_lib/bytes_.py:15 + retsub // 0 /puya/lib/bytes_.py:15 diff --git a/test_cases/stubs/puya.log b/test_cases/stubs/puya.log index d8eae32b2b..ee5f04e519 100644 --- a/test_cases/stubs/puya.log +++ b/test_cases/stubs/puya.log @@ -1149,10 +1149,10 @@ debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) +debug: Replacing redundant declaration let tmp%4#0: uint64 = (len item#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:18-29, ir_type=uint64, name='tmp%0', version=0),) debug: Found equivalence set: tmp%0#0, tmp%4#0 debug: Replacing {tmp%4#0} with tmp%0#0 made 1 modifications -debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=_puya_lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) +debug: Replacing redundant declaration let tmp%5#0: uint64 = (+ start#1 tmp%0#0) with copy of existing registers (Register(source_location=/puya/lib/bytes_.py:11:10-29, ir_type=uint64, name='tmp%1', version=0),) debug: Found equivalence set: tmp%1#0, tmp%5#0 debug: Replacing {tmp%5#0} with tmp%1#0 made 1 modifications debug: Optimizer: Remove Calls To No Op Subroutines diff --git a/tests/test_ir_validation.py b/tests/test_ir_validation.py index 5913e7baf8..f09e397968 100644 --- a/tests/test_ir_validation.py +++ b/tests/test_ir_validation.py @@ -1,4 +1,5 @@ from decimal import Decimal +from pathlib import Path import pytest from puya.awst import ( @@ -14,7 +15,7 @@ from puya.parse import SourceLocation _location = SourceLocation( - file="test_ir.ts", + file=Path("/test_ir.ts"), line=1, )