diff --git a/examples/voting/out/voting_VotingRoundApp.ssa.opt_pass_1.ir b/examples/voting/out/voting_VotingRoundApp.ssa.opt_pass_1.ir index 58f2a2a8b..157a52970 100644 --- a/examples/voting/out/voting_VotingRoundApp.ssa.opt_pass_1.ir +++ b/examples/voting/out/voting_VotingRoundApp.ssa.opt_pass_1.ir @@ -1,16 +1,16 @@ contract examples.voting.voting.VotingRoundApp: program approval: subroutine examples.voting.voting.VotingRoundApp.approval_program() -> uint64: - block@0: // L45 + block@0: // L48 let app_id%0#0: uint64 = (txn ApplicationID) goto app_id%0#0 ? block@2 : block@1 - block@1: // on_create_L46 + block@1: // on_create_L49 examples.voting.voting.VotingRoundApp.__init__() goto block@2 - block@2: // entrypoint_L46 + block@2: // entrypoint_L49 let tmp%1#0: bytes = (txna ApplicationArgs 0) switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => fail // reject transaction} - block@3: // create_route_L52 + block@3: // create_route_L55 let tmp%2#0: uint64 = (txn OnCompletion) let tmp%3#0: uint64 = (! tmp%2#0) (assert tmp%3#0) // OnCompletion is NoOp @@ -31,7 +31,7 @@ contract examples.voting.voting.VotingRoundApp: let tmp%17#0: bytes = (txna ApplicationArgs 8) examples.voting.voting.VotingRoundApp.create(tmp%6#0, tmp%8#0, tmp%9#0, tmp%11#0, tmp%13#0, tmp%14#0, tmp%16#0, tmp%17#0) return 1u - block@4: // bootstrap_route_L76 + block@4: // bootstrap_route_L79 let tmp%18#0: uint64 = (txn OnCompletion) let tmp%19#0: uint64 = (! tmp%18#0) (assert tmp%19#0) // OnCompletion is NoOp @@ -44,7 +44,7 @@ contract examples.voting.voting.VotingRoundApp: (assert tmp%26#0) // transaction type is pay examples.voting.voting.VotingRoundApp.bootstrap(awst_tmp%24#0) return 1u - block@5: // close_route_L104 + block@5: // close_route_L107 let tmp%27#0: uint64 = (txn OnCompletion) let tmp%28#0: uint64 = (! tmp%27#0) (assert tmp%28#0) // OnCompletion is NoOp @@ -52,7 +52,7 @@ contract examples.voting.voting.VotingRoundApp: (assert tmp%29#0) // is not creating examples.voting.voting.VotingRoundApp.close() return 1u - block@6: // get_preconditions_route_L154 + block@6: // get_preconditions_route_L157 let tmp%30#0: uint64 = (txn OnCompletion) let tmp%31#0: uint64 = (! tmp%30#0) (assert tmp%31#0) // OnCompletion is NoOp @@ -63,7 +63,7 @@ contract examples.voting.voting.VotingRoundApp: let tmp%35#0: bytes = (concat 0x151f7c75 tmp%34#0) (log tmp%35#0) return 1u - block@7: // vote_route_L163 + block@7: // vote_route_L166 let tmp%36#0: uint64 = (txn OnCompletion) let tmp%37#0: uint64 = (! tmp%36#0) (assert tmp%37#0) // OnCompletion is NoOp @@ -81,7 +81,7 @@ contract examples.voting.voting.VotingRoundApp: return 1u subroutine examples.voting.voting.VotingRoundApp.create(vote_id: bytes, snapshot_public_key: bytes, metadata_ipfs_cid: bytes, start_time: uint64, end_time: uint64, option_counts: bytes, quorum: uint64, nft_image_url: bytes) -> void: - block@0: // L52 + block@0: // L55 let tmp%0#0: uint64 = (< start_time#0 end_time#0) (assert tmp%0#0) // End time should be after start time let tmp%1#0: uint64 = (global LatestTimestamp) @@ -101,7 +101,7 @@ contract examples.voting.voting.VotingRoundApp: return subroutine examples.voting.voting.VotingRoundApp.store_option_counts(option_counts: bytes) -> void: - block@0: // L212 + block@0: // L215 let tmp%0#0: uint64 = (extract_uint16 option_counts#0 0u) (assert tmp%0#0) // option_counts should be non-empty let tmp%2#0: uint64 = (<= tmp%0#0 112u) @@ -110,18 +110,18 @@ contract examples.voting.voting.VotingRoundApp: let array_value%4#0: bytes = ((extract 2 0) option_counts#0) let item_index_internal%5#0: uint64 = 0u goto block@1 - block@1: // for_header_L218 + block@1: // for_header_L221 let item_index_internal%5#1: uint64 = φ(item_index_internal%5#0 <- block@0, item_index_internal%5#2 <- block@2) let total_options#1: uint64 = φ(total_options#0 <- block@0, total_options#2 <- block@2) let continue_looping%7#0: uint64 = (< item_index_internal%5#1 tmp%0#0) goto continue_looping%7#0 ? block@2 : block@4 - block@2: // for_body_L218 + block@2: // for_body_L221 let item#0: bytes = (extract3 array_value%4#0 item_index_internal%5#1 1u) let tmp%9#0: uint64 = (btoi item#0) let total_options#2: uint64 = (+ total_options#1 tmp%9#0) let item_index_internal%5#2: uint64 = (+ item_index_internal%5#1 1u) goto block@1 - block@4: // after_for_L218 + block@4: // after_for_L221 let tmp%10#0: uint64 = (<= total_options#1 128u) (assert tmp%10#0) // Can't have more than 128 vote options (app_global_put "option_counts" option_counts#0) @@ -129,7 +129,7 @@ contract examples.voting.voting.VotingRoundApp: return subroutine examples.voting.voting.VotingRoundApp.bootstrap(fund_min_bal_req: uint64) -> void: - block@0: // L76 + block@0: // L79 let (app_global_get_ex_value%0#0: uint64, app_global_get_ex_did_exist%1#0: uint64) = (app_global_get_ex 0u "is_bootstrapped") (assert app_global_get_ex_did_exist%1#0) // check value exists let tmp%2#0: uint64 = (! app_global_get_ex_value%0#0) @@ -154,7 +154,7 @@ contract examples.voting.voting.VotingRoundApp: return subroutine examples.voting.voting.VotingRoundApp.close() -> void: - block@0: // L104 + block@0: // L107 puyapy.ensure_budget(20000u, 0u) let (tmp%0#0: any, tmp%1#0: uint64) = (app_global_get_ex 0u "close_time") let tmp%2#0: uint64 = (! tmp%1#0) @@ -190,42 +190,42 @@ contract examples.voting.voting.VotingRoundApp: let array_value%28#0: bytes = ((extract 2 0) app_global_get_ex_value%25#0) let item_index_internal%29#0: uint64 = 0u goto block@1 - block@1: // for_header_L126 + block@1: // for_header_L129 let question_index#0: uint64 = φ(item_index_internal%29#0 <- block@0, item_index_internal%29#6 <- block@13) let note#1: bytes = φ(note#0 <- block@0, note#11 <- block@13) let current_index#6: uint64 = φ(current_index#0 <- block@0, current_index#7 <- block@13) let continue_looping%31#0: uint64 = (< question_index#0 array_length%27#0) goto continue_looping%31#0 ? block@2 : block@15 - block@2: // for_body_L126 + block@2: // for_body_L129 let item_index%32#0: uint64 = question_index#0 let question_options_arc#0: bytes = (extract3 array_value%28#0 item_index%32#0 1u) let tmp%33#0: uint64 = (> question_index#0 0u) goto tmp%33#0 ? block@3 : block@4 - block@3: // if_body_L127 + block@3: // if_body_L130 let note#2: bytes = (concat note#1 ",") goto block@4 - block@4: // after_if_else_L127 + block@4: // after_if_else_L130 let note#3: bytes = φ(note#1 <- block@2, note#2 <- block@3) let question_options#0: uint64 = (btoi question_options_arc#0) let tmp%34#0: uint64 = (> question_options#0 0u) goto tmp%34#0 ? block@5 : block@13 - block@5: // if_body_L130 + block@5: // if_body_L133 let note#4: bytes = (concat note#3 "[") let range_item%35#0: uint64 = 0u goto block@6 - block@6: // for_header_L132 + block@6: // for_header_L135 let option_index#0: uint64 = φ(range_item%35#0 <- block@5, range_item%35#4 <- block@9) let note#9: bytes = φ(note#4 <- block@5, note#8 <- block@9) let current_index#4: uint64 = φ(current_index#6 <- block@5, current_index#3 <- block@9) let continue_looping%36#0: uint64 = (< option_index#0 question_options#0) goto continue_looping%36#0 ? block@7 : block@12 - block@7: // for_body_L132 + block@7: // for_body_L135 let tmp%37#0: uint64 = (> option_index#0 0u) goto tmp%37#0 ? block@8 : block@9 - block@8: // if_body_L133 + block@8: // if_body_L136 let note#6: bytes = (concat note#9 ",") goto block@9 - block@9: // after_if_else_L133 + block@9: // after_if_else_L136 let note#7: bytes = φ(note#9 <- block@7, note#6 <- block@8) let votes_for_option#0: uint64 = examples.voting.voting.get_vote_from_box(current_index#4) let tmp%38#0: bytes = examples.voting.voting.itoa(votes_for_option#0) @@ -233,15 +233,15 @@ contract examples.voting.voting.VotingRoundApp: let current_index#3: uint64 = (+ current_index#4 1u) let range_item%35#4: uint64 = (+ option_index#0 1u) goto block@6 - block@12: // after_for_L132 + block@12: // after_for_L135 let note#10: bytes = (concat note#9 "]") goto block@13 - block@13: // after_if_else_L130 + block@13: // after_if_else_L133 let note#11: bytes = φ(note#3 <- block@4, note#10 <- block@12) let current_index#7: uint64 = φ(current_index#6 <- block@4, current_index#4 <- block@12) let item_index_internal%29#6: uint64 = (+ question_index#0 1u) goto block@1 - block@15: // after_for_L126 + block@15: // after_for_L129 let note#12: bytes = (concat note#1 "]}}") itxn_begin let (app_global_get_ex_value%41#0: bytes, app_global_get_ex_did_exist%42#0: uint64) = (app_global_get_ex 0u "vote_id") @@ -249,14 +249,14 @@ contract examples.voting.voting.VotingRoundApp: let inner_txn_params%40%%param_ConfigAssetName_idx_0#0: bytes = (concat "[VOTE RESULT] " app_global_get_ex_value%41#0) let (app_global_get_ex_value%43#0: bytes, app_global_get_ex_did_exist%44#0: uint64) = (app_global_get_ex 0u "nft_image_url") (assert app_global_get_ex_did_exist%44#0) // check value exists - ((itxn_field ConfigAssetName) inner_txn_params%40%%param_ConfigAssetName_idx_0#0) - ((itxn_field ConfigAssetDecimals) 0u) - ((itxn_field ConfigAssetDefaultFrozen) 0u) - ((itxn_field Note) note#12) - ((itxn_field ConfigAssetTotal) 1u) - ((itxn_field TypeEnum) acfg) - ((itxn_field ConfigAssetUnitName) "VOTERSLT") ((itxn_field ConfigAssetURL) app_global_get_ex_value%43#0) + ((itxn_field ConfigAssetUnitName) "VOTERSLT") + ((itxn_field TypeEnum) acfg) + ((itxn_field ConfigAssetTotal) 1u) + ((itxn_field Note) note#12) + ((itxn_field ConfigAssetDefaultFrozen) 0u) + ((itxn_field ConfigAssetDecimals) 0u) + ((itxn_field ConfigAssetName) inner_txn_params%40%%param_ConfigAssetName_idx_0#0) itxn_submit let submit_result_0%39%%CreatedAssetID#0: uint64 = (itxn CreatedAssetID) (app_global_put "nft_asset_id" submit_result_0%39%%CreatedAssetID#0) @@ -291,15 +291,15 @@ contract examples.voting.voting.VotingRoundApp: return subroutine examples.voting.voting.itoa(i: uint64) -> bytes: - block@0: // L250 + block@0: // L253 let radix#0: uint64 = 10u let tmp%0#0: uint64 = (< i#0 radix#0) goto tmp%0#0 ? block@1 : block@2 - block@1: // if_body_L254 + block@1: // if_body_L257 let index_plus_1%1#0: uint64 = (+ i#0 1u) let tmp%2#0: bytes = (substring3 "0123456789" i#0 index_plus_1%1#0) return tmp%2#0 - block@2: // after_if_else_L254 + block@2: // after_if_else_L257 let tmp%3#0: uint64 = (/ i#0 radix#0) let tmp%4#0: bytes = examples.voting.voting.itoa(tmp%3#0) let tmp%5#0: uint64 = (% i#0 radix#0) @@ -309,7 +309,7 @@ contract examples.voting.voting.VotingRoundApp: return tmp%8#0 subroutine examples.voting.voting.get_vote_from_box(index: uint64) -> uint64: - block@0: // L235 + block@0: // L238 let (box_data#0: bytes, exists#0: uint64) = (box_get "V") (assert exists#0) // Box not created let tmp%2#0: bytes = (extract3 box_data#0 index#0 8u) @@ -317,18 +317,18 @@ contract examples.voting.voting.VotingRoundApp: return tmp%3#0 subroutine examples.voting.voting.VotingRoundApp.get_preconditions(signature: bytes) -> bytes: - block@0: // L154 + block@0: // L157 let tmp%0#0: uint64 = examples.voting.voting.VotingRoundApp.voting_open() let val_as_bytes%1#0: bytes = (itob tmp%0#0) let awst_tmp%2#0: uint64 = (len signature#0) let tmp%3#0: uint64 = (< 2u awst_tmp%2#0) goto tmp%3#0 ? block@1 : block@2 - block@1: // ternary_true_L158 + block@1: // ternary_true_L161 let ternary_result%4#0: uint64 = 2u goto block@3 - block@2: // ternary_false_L158 + block@2: // ternary_false_L161 goto block@3 - block@3: // ternary_merge_L158 + block@3: // ternary_merge_L161 let ternary_result%4#2: uint64 = φ(ternary_result%4#0 <- block@1, awst_tmp%2#0 <- block@2) let tmp%6#0: bytes = (substring3 signature#0 ternary_result%4#2 awst_tmp%2#0) let tmp%7#0: uint64 = examples.voting.voting.VotingRoundApp.allowed_to_vote(tmp%6#0) @@ -343,36 +343,36 @@ contract examples.voting.voting.VotingRoundApp: return encoded_tuple_buffer%14#4 subroutine examples.voting.voting.VotingRoundApp.voting_open() -> uint64: - block@0: // L199 + block@0: // L202 let (app_global_get_ex_value%0#0: uint64, app_global_get_ex_did_exist%1#0: uint64) = (app_global_get_ex 0u "is_bootstrapped") (assert app_global_get_ex_did_exist%1#0) // check value exists goto app_global_get_ex_value%0#0 ? block@1 : block@5 - block@1: // and_contd_L202 + block@1: // and_contd_L205 let (tmp%2#0: any, tmp%3#0: uint64) = (app_global_get_ex 0u "close_time") goto tmp%3#0 ? block@5 : block@2 - block@2: // and_contd_L202 + block@2: // and_contd_L205 let (app_global_get_ex_value%4#0: uint64, app_global_get_ex_did_exist%5#0: uint64) = (app_global_get_ex 0u "start_time") (assert app_global_get_ex_did_exist%5#0) // check value exists let awst_tmp%6#0: uint64 = (global LatestTimestamp) let tmp%7#0: uint64 = (<= app_global_get_ex_value%4#0 awst_tmp%6#0) goto tmp%7#0 ? block@3 : block@5 - block@3: // and_contd_L204 + block@3: // and_contd_L207 let (app_global_get_ex_value%8#0: uint64, app_global_get_ex_did_exist%9#0: uint64) = (app_global_get_ex 0u "end_time") (assert app_global_get_ex_did_exist%9#0) // check value exists let tmp%10#0: uint64 = (<= awst_tmp%6#0 app_global_get_ex_value%8#0) goto tmp%10#0 ? block@4 : block@5 - block@4: // bool_true_L202 + block@4: // bool_true_L205 let and_result%11#0: uint64 = 1u goto block@6 - block@5: // bool_false_L202 + block@5: // bool_false_L205 let and_result%11#1: uint64 = 0u goto block@6 - block@6: // bool_merge_L202 + block@6: // bool_merge_L205 let and_result%11#2: uint64 = φ(and_result%11#0 <- block@4, and_result%11#1 <- block@5) return and_result%11#2 subroutine examples.voting.voting.VotingRoundApp.allowed_to_vote(signature: bytes) -> uint64: - block@0: // L225 + block@0: // L228 puyapy.ensure_budget(2000u, 2u) let tmp%0#0: bytes = (txn Sender) let (app_global_get_ex_value%1#0: bytes, app_global_get_ex_did_exist%2#0: uint64) = (app_global_get_ex 0u "snapshot_public_key") @@ -381,13 +381,13 @@ contract examples.voting.voting.VotingRoundApp: return tmp%3#0 subroutine examples.voting.voting.VotingRoundApp.already_voted() -> uint64: - block@0: // L207 + block@0: // L210 let tmp%0#0: bytes = (txn Sender) let (votes#0: bytes, exists#0: uint64) = (box_get tmp%0#0) return exists#0 subroutine examples.voting.voting.VotingRoundApp.vote(fund_min_bal_req: uint64, signature: bytes, answer_ids: bytes) -> void: - block@0: // L163 + block@0: // L166 puyapy.ensure_budget(7700u, 0u) let tmp%0#0: uint64 = examples.voting.voting.VotingRoundApp.allowed_to_vote(signature#0) (assert tmp%0#0) // Not allowed to vote @@ -417,12 +417,12 @@ contract examples.voting.voting.VotingRoundApp: let cumulative_offset#0: uint64 = 0u let range_item%18#0: uint64 = 0u goto block@1 - block@1: // for_header_L189 + block@1: // for_header_L192 let question_index#0: uint64 = φ(range_item%18#0 <- block@0, range_item%18#3 <- block@2) let cumulative_offset#3: uint64 = φ(cumulative_offset#0 <- block@0, cumulative_offset#2 <- block@2) let continue_looping%19#0: uint64 = (< question_index#0 questions_count#0) goto continue_looping%19#0 ? block@2 : block@5 - block@2: // for_body_L189 + block@2: // for_body_L192 let index_is_in_bounds%21#0: uint64 = (< question_index#0 tmp%6#0) (assert index_is_in_bounds%21#0) // Index access is out of bounds let array_data_sans_header%22#0: bytes = ((extract 2 0) answer_ids#0) @@ -449,11 +449,11 @@ contract examples.voting.voting.VotingRoundApp: (app_global_put "voter_count" new_state_value%37#0) let range_item%18#3: uint64 = (+ question_index#0 1u) goto block@1 - block@5: // after_for_L189 + block@5: // after_for_L192 return subroutine examples.voting.voting.increment_vote_in_box(index: uint64) -> void: - block@0: // L242 + block@0: // L245 let (box_data#0: bytes, exists#0: uint64) = (box_get "V") (assert exists#0) // Box not created let tmp%2#0: bytes = (extract3 box_data#0 index#0 8u) @@ -464,12 +464,12 @@ contract examples.voting.voting.VotingRoundApp: return subroutine examples.voting.voting.VotingRoundApp.__init__() -> void: - block@0: // L46 + block@0: // L49 (app_global_put "is_bootstrapped" 0u) (app_global_put "voter_count" 0u) return program clear-state: subroutine examples.voting.voting.VotingRoundApp.clear_state_program() -> uint64: - block@0: // L45 + block@0: // L48 return 1u \ No newline at end of file diff --git a/examples/voting/puya.log b/examples/voting/puya.log index 907863ee7..87b766c42 100644 --- a/examples/voting/puya.log +++ b/examples/voting/puya.log @@ -285,281 +285,281 @@ debug: Deleting Phi assignment: let sequence#1: bytes = φ(sequence#0 <- block@0 debug: Replaced trivial Phi node: let sequence#1: bytes = φ(sequence#0 <- block@0, sequence#1 <- block@4) (sequence#1) with sequence#0 in current definition for 3 blocks debug: Sealing block@None: // after_while_L11 debug: Terminated block@5: // after_while_L11 -debug: Sealing block@0: // L52 -debug: Terminated block@0: // L52 -debug: Sealing block@0: // L212 -debug: Terminated block@0: // L212 -debug: Looking for 'item_index_internal%5' in an unsealed block creating an incomplete Phi: block@1: // for_header_L218 -debug: Created Phi assignment: let item_index_internal%5#1: uint64 = undefined while trying to resolve 'item_index_internal%5' in block@1: // for_header_L218 -debug: Terminated block@1: // for_header_L218 -debug: Sealing block@None: // for_body_L218 -debug: Looking for 'total_options' in an unsealed block creating an incomplete Phi: block@1: // for_header_L218 -debug: Created Phi assignment: let total_options#1: uint64 = undefined while trying to resolve 'total_options' in block@1: // for_header_L218 -debug: Terminated block@2: // for_body_L218 -debug: Sealing block@3: // for_footer_L218 -debug: Sealing block@None: // after_for_L218 -debug: Terminated block@3: // for_footer_L218 -debug: Sealing block@1: // for_header_L218 -debug: Added item_index_internal%5#0 to Phi node: let item_index_internal%5#1: uint64 = φ(item_index_internal%5#0 <- block@0) in block@0: // L212 -debug: Added item_index_internal%5#2 to Phi node: let item_index_internal%5#1: uint64 = φ(item_index_internal%5#0 <- block@0, item_index_internal%5#2 <- block@3) in block@3: // for_footer_L218 -debug: Added total_options#0 to Phi node: let total_options#1: uint64 = φ(total_options#0 <- block@0) in block@0: // L212 -debug: Added total_options#2 to Phi node: let total_options#1: uint64 = φ(total_options#0 <- block@0, total_options#2 <- block@3) in block@3: // for_footer_L218 -debug: Created Phi assignment: let option_counts#1: bytes = undefined while trying to resolve 'option_counts' in block@1: // for_header_L218 -debug: Added option_counts#0 to Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0) in block@0: // L212 -debug: Added option_counts#1 to Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0, option_counts#1 <- block@3) in block@3: // for_footer_L218 +debug: Sealing block@0: // L55 +debug: Terminated block@0: // L55 +debug: Sealing block@0: // L215 +debug: Terminated block@0: // L215 +debug: Looking for 'item_index_internal%5' in an unsealed block creating an incomplete Phi: block@1: // for_header_L221 +debug: Created Phi assignment: let item_index_internal%5#1: uint64 = undefined while trying to resolve 'item_index_internal%5' in block@1: // for_header_L221 +debug: Terminated block@1: // for_header_L221 +debug: Sealing block@None: // for_body_L221 +debug: Looking for 'total_options' in an unsealed block creating an incomplete Phi: block@1: // for_header_L221 +debug: Created Phi assignment: let total_options#1: uint64 = undefined while trying to resolve 'total_options' in block@1: // for_header_L221 +debug: Terminated block@2: // for_body_L221 +debug: Sealing block@3: // for_footer_L221 +debug: Sealing block@None: // after_for_L221 +debug: Terminated block@3: // for_footer_L221 +debug: Sealing block@1: // for_header_L221 +debug: Added item_index_internal%5#0 to Phi node: let item_index_internal%5#1: uint64 = φ(item_index_internal%5#0 <- block@0) in block@0: // L215 +debug: Added item_index_internal%5#2 to Phi node: let item_index_internal%5#1: uint64 = φ(item_index_internal%5#0 <- block@0, item_index_internal%5#2 <- block@3) in block@3: // for_footer_L221 +debug: Added total_options#0 to Phi node: let total_options#1: uint64 = φ(total_options#0 <- block@0) in block@0: // L215 +debug: Added total_options#2 to Phi node: let total_options#1: uint64 = φ(total_options#0 <- block@0, total_options#2 <- block@3) in block@3: // for_footer_L221 +debug: Created Phi assignment: let option_counts#1: bytes = undefined while trying to resolve 'option_counts' in block@1: // for_header_L221 +debug: Added option_counts#0 to Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0) in block@0: // L215 +debug: Added option_counts#1 to Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0, option_counts#1 <- block@3) in block@3: // for_footer_L221 debug: Replacing trivial Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0, option_counts#1 <- block@3) (option_counts#1) with option_counts#0 debug: Deleting Phi assignment: let option_counts#1: bytes = φ(option_counts#0 <- block@0, option_counts#1 <- block@3) debug: Replaced trivial Phi node: let option_counts#1: bytes = φ(option_counts#0 <- block@0, option_counts#1 <- block@3) (option_counts#1) with option_counts#0 in current definition for 3 blocks -debug: Terminated block@4: // after_for_L218 -debug: Sealing block@0: // L76 -debug: Terminated block@0: // L76 -debug: Sealing block@0: // L104 -debug: Terminated block@0: // L104 -debug: Looking for 'item_index_internal%29' in an unsealed block creating an incomplete Phi: block@1: // for_header_L126 -debug: Created Phi assignment: let item_index_internal%29#1: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@1: // for_header_L126 -debug: Terminated block@1: // for_header_L126 -debug: Sealing block@None: // for_body_L126 -debug: Terminated block@2: // for_body_L126 -debug: Sealing block@None: // if_body_L127 -debug: Sealing block@None: // else_body_L127 -debug: Looking for 'note' in an unsealed block creating an incomplete Phi: block@1: // for_header_L126 -debug: Created Phi assignment: let note#1: bytes = undefined while trying to resolve 'note' in block@1: // for_header_L126 -debug: Terminated block@3: // if_body_L127 -debug: Sealing block@4: // after_if_else_L127 -debug: Created Phi assignment: let question_options_arc#1: bytes = undefined while trying to resolve 'question_options_arc' in block@4: // after_if_else_L127 -debug: Added question_options_arc#0 to Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2) in block@2: // for_body_L126 -debug: Added question_options_arc#0 to Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2, question_options_arc#0 <- block@3) in block@3: // if_body_L127 +debug: Terminated block@4: // after_for_L221 +debug: Sealing block@0: // L79 +debug: Terminated block@0: // L79 +debug: Sealing block@0: // L107 +debug: Terminated block@0: // L107 +debug: Looking for 'item_index_internal%29' in an unsealed block creating an incomplete Phi: block@1: // for_header_L129 +debug: Created Phi assignment: let item_index_internal%29#1: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@1: // for_header_L129 +debug: Terminated block@1: // for_header_L129 +debug: Sealing block@None: // for_body_L129 +debug: Terminated block@2: // for_body_L129 +debug: Sealing block@None: // if_body_L130 +debug: Sealing block@None: // else_body_L130 +debug: Looking for 'note' in an unsealed block creating an incomplete Phi: block@1: // for_header_L129 +debug: Created Phi assignment: let note#1: bytes = undefined while trying to resolve 'note' in block@1: // for_header_L129 +debug: Terminated block@3: // if_body_L130 +debug: Sealing block@4: // after_if_else_L130 +debug: Created Phi assignment: let question_options_arc#1: bytes = undefined while trying to resolve 'question_options_arc' in block@4: // after_if_else_L130 +debug: Added question_options_arc#0 to Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2) in block@2: // for_body_L129 +debug: Added question_options_arc#0 to Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2, question_options_arc#0 <- block@3) in block@3: // if_body_L130 debug: Replacing trivial Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2, question_options_arc#0 <- block@3) (question_options_arc#1) with question_options_arc#0 debug: Deleting Phi assignment: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2, question_options_arc#0 <- block@3) debug: Replaced trivial Phi node: let question_options_arc#1: bytes = φ(question_options_arc#0 <- block@2, question_options_arc#0 <- block@3) (question_options_arc#1) with question_options_arc#0 in current definition for 1 blocks -debug: Terminated block@4: // after_if_else_L127 -debug: Sealing block@None: // if_body_L130 -debug: Sealing block@None: // else_body_L130 -debug: Created Phi assignment: let note#3: bytes = undefined while trying to resolve 'note' in block@4: // after_if_else_L127 -debug: Added note#1 to Phi node: let note#3: bytes = φ(note#1 <- block@2) in block@2: // for_body_L126 -debug: Added note#2 to Phi node: let note#3: bytes = φ(note#1 <- block@2, note#2 <- block@3) in block@3: // if_body_L127 -debug: Terminated block@5: // if_body_L130 -debug: Looking for 'range_item%35' in an unsealed block creating an incomplete Phi: block@6: // for_header_L132 -debug: Created Phi assignment: let range_item%35#1: uint64 = undefined while trying to resolve 'range_item%35' in block@6: // for_header_L132 -debug: Terminated block@6: // for_header_L132 -debug: Looking for 'range_item%35' in an unsealed block creating an incomplete Phi: block@7: // for_body_L132 -debug: Created Phi assignment: let range_item%35#2: uint64 = undefined while trying to resolve 'range_item%35' in block@7: // for_body_L132 -debug: Terminated block@7: // for_body_L132 +debug: Terminated block@4: // after_if_else_L130 debug: Sealing block@None: // if_body_L133 debug: Sealing block@None: // else_body_L133 -debug: Looking for 'note' in an unsealed block creating an incomplete Phi: block@7: // for_body_L132 -debug: Created Phi assignment: let note#5: bytes = undefined while trying to resolve 'note' in block@7: // for_body_L132 -debug: Terminated block@8: // if_body_L133 -debug: Sealing block@9: // after_if_else_L133 -debug: Created Phi assignment: let current_index#1: uint64 = undefined while trying to resolve 'current_index' in block@9: // after_if_else_L133 -debug: Looking for 'current_index' in an unsealed block creating an incomplete Phi: block@7: // for_body_L132 -debug: Created Phi assignment: let current_index#2: uint64 = undefined while trying to resolve 'current_index' in block@7: // for_body_L132 -debug: Added current_index#2 to Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7) in block@7: // for_body_L132 -debug: Added current_index#2 to Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7, current_index#2 <- block@8) in block@8: // if_body_L133 +debug: Created Phi assignment: let note#3: bytes = undefined while trying to resolve 'note' in block@4: // after_if_else_L130 +debug: Added note#1 to Phi node: let note#3: bytes = φ(note#1 <- block@2) in block@2: // for_body_L129 +debug: Added note#2 to Phi node: let note#3: bytes = φ(note#1 <- block@2, note#2 <- block@3) in block@3: // if_body_L130 +debug: Terminated block@5: // if_body_L133 +debug: Looking for 'range_item%35' in an unsealed block creating an incomplete Phi: block@6: // for_header_L135 +debug: Created Phi assignment: let range_item%35#1: uint64 = undefined while trying to resolve 'range_item%35' in block@6: // for_header_L135 +debug: Terminated block@6: // for_header_L135 +debug: Looking for 'range_item%35' in an unsealed block creating an incomplete Phi: block@7: // for_body_L135 +debug: Created Phi assignment: let range_item%35#2: uint64 = undefined while trying to resolve 'range_item%35' in block@7: // for_body_L135 +debug: Terminated block@7: // for_body_L135 +debug: Sealing block@None: // if_body_L136 +debug: Sealing block@None: // else_body_L136 +debug: Looking for 'note' in an unsealed block creating an incomplete Phi: block@7: // for_body_L135 +debug: Created Phi assignment: let note#5: bytes = undefined while trying to resolve 'note' in block@7: // for_body_L135 +debug: Terminated block@8: // if_body_L136 +debug: Sealing block@9: // after_if_else_L136 +debug: Created Phi assignment: let current_index#1: uint64 = undefined while trying to resolve 'current_index' in block@9: // after_if_else_L136 +debug: Looking for 'current_index' in an unsealed block creating an incomplete Phi: block@7: // for_body_L135 +debug: Created Phi assignment: let current_index#2: uint64 = undefined while trying to resolve 'current_index' in block@7: // for_body_L135 +debug: Added current_index#2 to Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7) in block@7: // for_body_L135 +debug: Added current_index#2 to Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7, current_index#2 <- block@8) in block@8: // if_body_L136 debug: Replacing trivial Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7, current_index#2 <- block@8) (current_index#1) with current_index#2 debug: Deleting Phi assignment: let current_index#1: uint64 = φ(current_index#2 <- block@7, current_index#2 <- block@8) debug: Replaced trivial Phi node: let current_index#1: uint64 = φ(current_index#2 <- block@7, current_index#2 <- block@8) (current_index#1) with current_index#2 in current definition for 1 blocks -debug: Created Phi assignment: let note#7: bytes = undefined while trying to resolve 'note' in block@9: // after_if_else_L133 -debug: Added note#5 to Phi node: let note#7: bytes = φ(note#5 <- block@7) in block@7: // for_body_L132 -debug: Added note#6 to Phi node: let note#7: bytes = φ(note#5 <- block@7, note#6 <- block@8) in block@8: // if_body_L133 -debug: Terminated block@9: // after_if_else_L133 -debug: Sealing block@10: // for_footer_L132 -debug: Terminated block@10: // for_footer_L132 -debug: Sealing block@11: // for_increment_L132 -debug: Created Phi assignment: let range_item%35#3: uint64 = undefined while trying to resolve 'range_item%35' in block@9: // after_if_else_L133 -debug: Added range_item%35#2 to Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7) in block@7: // for_body_L132 -debug: Added range_item%35#2 to Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7, range_item%35#2 <- block@8) in block@8: // if_body_L133 +debug: Created Phi assignment: let note#7: bytes = undefined while trying to resolve 'note' in block@9: // after_if_else_L136 +debug: Added note#5 to Phi node: let note#7: bytes = φ(note#5 <- block@7) in block@7: // for_body_L135 +debug: Added note#6 to Phi node: let note#7: bytes = φ(note#5 <- block@7, note#6 <- block@8) in block@8: // if_body_L136 +debug: Terminated block@9: // after_if_else_L136 +debug: Sealing block@10: // for_footer_L135 +debug: Terminated block@10: // for_footer_L135 +debug: Sealing block@11: // for_increment_L135 +debug: Created Phi assignment: let range_item%35#3: uint64 = undefined while trying to resolve 'range_item%35' in block@9: // after_if_else_L136 +debug: Added range_item%35#2 to Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7) in block@7: // for_body_L135 +debug: Added range_item%35#2 to Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7, range_item%35#2 <- block@8) in block@8: // if_body_L136 debug: Replacing trivial Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7, range_item%35#2 <- block@8) (range_item%35#3) with range_item%35#2 debug: Deleting Phi assignment: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7, range_item%35#2 <- block@8) debug: Replaced trivial Phi node: let range_item%35#3: uint64 = φ(range_item%35#2 <- block@7, range_item%35#2 <- block@8) (range_item%35#3) with range_item%35#2 in current definition for 1 blocks -debug: Terminated block@11: // for_increment_L132 -debug: Sealing block@6: // for_header_L132 -debug: Added range_item%35#0 to Phi node: let range_item%35#1: uint64 = φ(range_item%35#0 <- block@5) in block@5: // if_body_L130 -debug: Added range_item%35#4 to Phi node: let range_item%35#1: uint64 = φ(range_item%35#0 <- block@5, range_item%35#4 <- block@11) in block@11: // for_increment_L132 -debug: Sealing block@7: // for_body_L132 -debug: Added range_item%35#1 to Phi node: let range_item%35#2: uint64 = φ(range_item%35#1 <- block@6) in block@6: // for_header_L132 +debug: Terminated block@11: // for_increment_L135 +debug: Sealing block@6: // for_header_L135 +debug: Added range_item%35#0 to Phi node: let range_item%35#1: uint64 = φ(range_item%35#0 <- block@5) in block@5: // if_body_L133 +debug: Added range_item%35#4 to Phi node: let range_item%35#1: uint64 = φ(range_item%35#0 <- block@5, range_item%35#4 <- block@11) in block@11: // for_increment_L135 +debug: Sealing block@7: // for_body_L135 +debug: Added range_item%35#1 to Phi node: let range_item%35#2: uint64 = φ(range_item%35#1 <- block@6) in block@6: // for_header_L135 debug: Replacing trivial Phi node: let range_item%35#2: uint64 = φ(range_item%35#1 <- block@6) (range_item%35#2) with range_item%35#1 debug: Deleting Phi assignment: let range_item%35#2: uint64 = φ(range_item%35#1 <- block@6) debug: Replaced trivial Phi node: let range_item%35#2: uint64 = φ(range_item%35#1 <- block@6) (range_item%35#2) with range_item%35#1 in current definition for 4 blocks -debug: Created Phi assignment: let note#9: bytes = undefined while trying to resolve 'note' in block@6: // for_header_L132 -debug: Added note#4 to Phi node: let note#9: bytes = φ(note#4 <- block@5) in block@5: // if_body_L130 -debug: Added note#8 to Phi node: let note#9: bytes = φ(note#4 <- block@5, note#8 <- block@11) in block@11: // for_increment_L132 -debug: Added note#9 to Phi node: let note#5: bytes = φ(note#9 <- block@6) in block@6: // for_header_L132 +debug: Created Phi assignment: let note#9: bytes = undefined while trying to resolve 'note' in block@6: // for_header_L135 +debug: Added note#4 to Phi node: let note#9: bytes = φ(note#4 <- block@5) in block@5: // if_body_L133 +debug: Added note#8 to Phi node: let note#9: bytes = φ(note#4 <- block@5, note#8 <- block@11) in block@11: // for_increment_L135 +debug: Added note#9 to Phi node: let note#5: bytes = φ(note#9 <- block@6) in block@6: // for_header_L135 debug: Replacing trivial Phi node: let note#5: bytes = φ(note#9 <- block@6) (note#5) with note#9 debug: Deleting Phi assignment: let note#5: bytes = φ(note#9 <- block@6) debug: Replaced trivial Phi node: let note#5: bytes = φ(note#9 <- block@6) (note#5) with note#9 in current definition for 1 blocks -debug: Created Phi assignment: let current_index#4: uint64 = undefined while trying to resolve 'current_index' in block@6: // for_header_L132 -debug: Created Phi assignment: let current_index#5: uint64 = undefined while trying to resolve 'current_index' in block@4: // after_if_else_L127 -debug: Looking for 'current_index' in an unsealed block creating an incomplete Phi: block@1: // for_header_L126 -debug: Created Phi assignment: let current_index#6: uint64 = undefined while trying to resolve 'current_index' in block@1: // for_header_L126 -debug: Added current_index#6 to Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2) in block@2: // for_body_L126 -debug: Added current_index#6 to Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2, current_index#6 <- block@3) in block@3: // if_body_L127 +debug: Created Phi assignment: let current_index#4: uint64 = undefined while trying to resolve 'current_index' in block@6: // for_header_L135 +debug: Created Phi assignment: let current_index#5: uint64 = undefined while trying to resolve 'current_index' in block@4: // after_if_else_L130 +debug: Looking for 'current_index' in an unsealed block creating an incomplete Phi: block@1: // for_header_L129 +debug: Created Phi assignment: let current_index#6: uint64 = undefined while trying to resolve 'current_index' in block@1: // for_header_L129 +debug: Added current_index#6 to Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2) in block@2: // for_body_L129 +debug: Added current_index#6 to Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2, current_index#6 <- block@3) in block@3: // if_body_L130 debug: Replacing trivial Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2, current_index#6 <- block@3) (current_index#5) with current_index#6 debug: Deleting Phi assignment: let current_index#5: uint64 = φ(current_index#6 <- block@2, current_index#6 <- block@3) debug: Replaced trivial Phi node: let current_index#5: uint64 = φ(current_index#6 <- block@2, current_index#6 <- block@3) (current_index#5) with current_index#6 in current definition for 1 blocks -debug: Added current_index#6 to Phi node: let current_index#4: uint64 = φ(current_index#6 <- block@5) in block@5: // if_body_L130 -debug: Added current_index#3 to Phi node: let current_index#4: uint64 = φ(current_index#6 <- block@5, current_index#3 <- block@11) in block@11: // for_increment_L132 -debug: Added current_index#4 to Phi node: let current_index#2: uint64 = φ(current_index#4 <- block@6) in block@6: // for_header_L132 +debug: Added current_index#6 to Phi node: let current_index#4: uint64 = φ(current_index#6 <- block@5) in block@5: // if_body_L133 +debug: Added current_index#3 to Phi node: let current_index#4: uint64 = φ(current_index#6 <- block@5, current_index#3 <- block@11) in block@11: // for_increment_L135 +debug: Added current_index#4 to Phi node: let current_index#2: uint64 = φ(current_index#4 <- block@6) in block@6: // for_header_L135 debug: Replacing trivial Phi node: let current_index#2: uint64 = φ(current_index#4 <- block@6) (current_index#2) with current_index#4 debug: Deleting Phi assignment: let current_index#2: uint64 = φ(current_index#4 <- block@6) debug: Replaced trivial Phi node: let current_index#2: uint64 = φ(current_index#4 <- block@6) (current_index#2) with current_index#4 in current definition for 2 blocks -debug: Sealing block@None: // after_for_L132 -debug: Terminated block@12: // after_for_L132 -debug: Sealing block@13: // after_if_else_L130 -debug: Terminated block@13: // after_if_else_L130 -debug: Sealing block@14: // for_footer_L126 -debug: Sealing block@None: // after_for_L126 -debug: Created Phi assignment: let item_index_internal%29#2: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@13: // after_if_else_L130 -debug: Created Phi assignment: let item_index_internal%29#3: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@4: // after_if_else_L127 -debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2) in block@2: // for_body_L126 -debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2, item_index_internal%29#1 <- block@3) in block@3: // if_body_L127 +debug: Sealing block@None: // after_for_L135 +debug: Terminated block@12: // after_for_L135 +debug: Sealing block@13: // after_if_else_L133 +debug: Terminated block@13: // after_if_else_L133 +debug: Sealing block@14: // for_footer_L129 +debug: Sealing block@None: // after_for_L129 +debug: Created Phi assignment: let item_index_internal%29#2: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@13: // after_if_else_L133 +debug: Created Phi assignment: let item_index_internal%29#3: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@4: // after_if_else_L130 +debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2) in block@2: // for_body_L129 +debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2, item_index_internal%29#1 <- block@3) in block@3: // if_body_L130 debug: Replacing trivial Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2, item_index_internal%29#1 <- block@3) (item_index_internal%29#3) with item_index_internal%29#1 debug: Deleting Phi assignment: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2, item_index_internal%29#1 <- block@3) debug: Replaced trivial Phi node: let item_index_internal%29#3: uint64 = φ(item_index_internal%29#1 <- block@2, item_index_internal%29#1 <- block@3) (item_index_internal%29#3) with item_index_internal%29#1 in current definition for 1 blocks -debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4) in block@4: // after_if_else_L127 -debug: Created Phi assignment: let item_index_internal%29#4: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@6: // for_header_L132 -debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5) in block@5: // if_body_L130 -debug: Created Phi assignment: let item_index_internal%29#5: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@9: // after_if_else_L133 -debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7) in block@7: // for_body_L132 -debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7, item_index_internal%29#4 <- block@8) in block@8: // if_body_L133 +debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4) in block@4: // after_if_else_L130 +debug: Created Phi assignment: let item_index_internal%29#4: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@6: // for_header_L135 +debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5) in block@5: // if_body_L133 +debug: Created Phi assignment: let item_index_internal%29#5: uint64 = undefined while trying to resolve 'item_index_internal%29' in block@9: // after_if_else_L136 +debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7) in block@7: // for_body_L135 +debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7, item_index_internal%29#4 <- block@8) in block@8: // if_body_L136 debug: Replacing trivial Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7, item_index_internal%29#4 <- block@8) (item_index_internal%29#5) with item_index_internal%29#4 debug: Deleting Phi assignment: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7, item_index_internal%29#4 <- block@8) debug: Replaced trivial Phi node: let item_index_internal%29#5: uint64 = φ(item_index_internal%29#4 <- block@7, item_index_internal%29#4 <- block@8) (item_index_internal%29#5) with item_index_internal%29#4 in current definition for 1 blocks -debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5, item_index_internal%29#4 <- block@11) in block@11: // for_increment_L132 +debug: Added item_index_internal%29#4 to Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5, item_index_internal%29#4 <- block@11) in block@11: // for_increment_L135 debug: Replacing trivial Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5, item_index_internal%29#4 <- block@11) (item_index_internal%29#4) with item_index_internal%29#1 debug: Deleting Phi assignment: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5, item_index_internal%29#4 <- block@11) debug: Replaced trivial Phi node: let item_index_internal%29#4: uint64 = φ(item_index_internal%29#1 <- block@5, item_index_internal%29#4 <- block@11) (item_index_internal%29#4) with item_index_internal%29#1 in current definition for 6 blocks -debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4, item_index_internal%29#1 <- block@12) in block@12: // after_for_L132 +debug: Added item_index_internal%29#1 to Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4, item_index_internal%29#1 <- block@12) in block@12: // after_for_L135 debug: Replacing trivial Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4, item_index_internal%29#1 <- block@12) (item_index_internal%29#2) with item_index_internal%29#1 debug: Deleting Phi assignment: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4, item_index_internal%29#1 <- block@12) debug: Replaced trivial Phi node: let item_index_internal%29#2: uint64 = φ(item_index_internal%29#1 <- block@4, item_index_internal%29#1 <- block@12) (item_index_internal%29#2) with item_index_internal%29#1 in current definition for 1 blocks -debug: Terminated block@14: // for_footer_L126 -debug: Sealing block@1: // for_header_L126 -debug: Added item_index_internal%29#0 to Phi node: let item_index_internal%29#1: uint64 = φ(item_index_internal%29#0 <- block@0) in block@0: // L104 -debug: Added item_index_internal%29#6 to Phi node: let item_index_internal%29#1: uint64 = φ(item_index_internal%29#0 <- block@0, item_index_internal%29#6 <- block@14) in block@14: // for_footer_L126 -debug: Added note#0 to Phi node: let note#1: bytes = φ(note#0 <- block@0) in block@0: // L104 -debug: Created Phi assignment: let note#11: bytes = undefined while trying to resolve 'note' in block@13: // after_if_else_L130 -debug: Added note#3 to Phi node: let note#11: bytes = φ(note#3 <- block@4) in block@4: // after_if_else_L127 -debug: Added note#10 to Phi node: let note#11: bytes = φ(note#3 <- block@4, note#10 <- block@12) in block@12: // after_for_L132 -debug: Added note#11 to Phi node: let note#1: bytes = φ(note#0 <- block@0, note#11 <- block@14) in block@14: // for_footer_L126 -debug: Added current_index#0 to Phi node: let current_index#6: uint64 = φ(current_index#0 <- block@0) in block@0: // L104 -debug: Created Phi assignment: let current_index#7: uint64 = undefined while trying to resolve 'current_index' in block@13: // after_if_else_L130 -debug: Added current_index#6 to Phi node: let current_index#7: uint64 = φ(current_index#6 <- block@4) in block@4: // after_if_else_L127 -debug: Added current_index#4 to Phi node: let current_index#7: uint64 = φ(current_index#6 <- block@4, current_index#4 <- block@12) in block@12: // after_for_L132 -debug: Added current_index#7 to Phi node: let current_index#6: uint64 = φ(current_index#0 <- block@0, current_index#7 <- block@14) in block@14: // for_footer_L126 -debug: Terminated block@15: // after_for_L126 -debug: Sealing block@16: // next_txn_L141 -debug: Terminated block@16: // next_txn_L141 -debug: Sealing block@0: // L250 -debug: Terminated block@0: // L250 -debug: Sealing block@None: // if_body_L254 -debug: Sealing block@None: // else_body_L254 -debug: Terminated block@1: // if_body_L254 -debug: Sealing block@2: // after_if_else_L254 -debug: Terminated block@2: // after_if_else_L254 -debug: Sealing block@0: // L235 -debug: Terminated block@0: // L235 -debug: Sealing block@0: // L154 -debug: Terminated block@0: // L154 -debug: Sealing block@None: // ternary_true_L158 -debug: Sealing block@None: // ternary_false_L158 -debug: Terminated block@1: // ternary_true_L158 -debug: Terminated block@2: // ternary_false_L158 -debug: Sealing block@3: // ternary_merge_L158 -debug: Created Phi assignment: let ternary_result%4#2: uint64 = undefined while trying to resolve 'ternary_result%4' in block@3: // ternary_merge_L158 -debug: Added ternary_result%4#0 to Phi node: let ternary_result%4#2: uint64 = φ(ternary_result%4#0 <- block@1) in block@1: // ternary_true_L158 -debug: Added ternary_result%4#1 to Phi node: let ternary_result%4#2: uint64 = φ(ternary_result%4#0 <- block@1, ternary_result%4#1 <- block@2) in block@2: // ternary_false_L158 -debug: Terminated block@3: // ternary_merge_L158 -debug: Sealing block@0: // L199 -debug: Terminated block@0: // L199 -debug: Sealing block@None: // and_contd_L202 -debug: Terminated block@1: // and_contd_L202 -debug: Sealing block@None: // and_contd_L202 -debug: Terminated block@2: // and_contd_L202 -debug: Sealing block@None: // and_contd_L204 -debug: Terminated block@3: // and_contd_L204 -debug: Sealing block@None: // bool_true_L202 -debug: Sealing block@None: // bool_false_L202 -debug: Terminated block@4: // bool_true_L202 -debug: Terminated block@5: // bool_false_L202 -debug: Sealing block@6: // bool_merge_L202 -debug: Created Phi assignment: let and_result%11#2: uint64 = undefined while trying to resolve 'and_result%11' in block@6: // bool_merge_L202 -debug: Added and_result%11#0 to Phi node: let and_result%11#2: uint64 = φ(and_result%11#0 <- block@4) in block@4: // bool_true_L202 -debug: Added and_result%11#1 to Phi node: let and_result%11#2: uint64 = φ(and_result%11#0 <- block@4, and_result%11#1 <- block@5) in block@5: // bool_false_L202 -debug: Terminated block@6: // bool_merge_L202 -debug: Sealing block@0: // L225 -debug: Terminated block@0: // L225 -debug: Sealing block@0: // L207 -debug: Terminated block@0: // L207 -debug: Sealing block@0: // L163 -debug: Terminated block@0: // L163 -debug: Looking for 'range_item%18' in an unsealed block creating an incomplete Phi: block@1: // for_header_L189 -debug: Created Phi assignment: let range_item%18#1: uint64 = undefined while trying to resolve 'range_item%18' in block@1: // for_header_L189 -debug: Terminated block@1: // for_header_L189 -debug: Looking for 'range_item%18' in an unsealed block creating an incomplete Phi: block@2: // for_body_L189 -debug: Created Phi assignment: let range_item%18#2: uint64 = undefined while trying to resolve 'range_item%18' in block@2: // for_body_L189 -debug: Looking for 'answer_ids' in an unsealed block creating an incomplete Phi: block@2: // for_body_L189 -debug: Created Phi assignment: let answer_ids#1: bytes = undefined while trying to resolve 'answer_ids' in block@2: // for_body_L189 -debug: Looking for 'cumulative_offset' in an unsealed block creating an incomplete Phi: block@2: // for_body_L189 -debug: Created Phi assignment: let cumulative_offset#1: uint64 = undefined while trying to resolve 'cumulative_offset' in block@2: // for_body_L189 -debug: Terminated block@2: // for_body_L189 -debug: Sealing block@3: // for_footer_L189 -debug: Terminated block@3: // for_footer_L189 -debug: Sealing block@4: // for_increment_L189 -debug: Terminated block@4: // for_increment_L189 -debug: Sealing block@1: // for_header_L189 -debug: Added range_item%18#0 to Phi node: let range_item%18#1: uint64 = φ(range_item%18#0 <- block@0) in block@0: // L163 -debug: Added range_item%18#3 to Phi node: let range_item%18#1: uint64 = φ(range_item%18#0 <- block@0, range_item%18#3 <- block@4) in block@4: // for_increment_L189 -debug: Sealing block@2: // for_body_L189 -debug: Added range_item%18#1 to Phi node: let range_item%18#2: uint64 = φ(range_item%18#1 <- block@1) in block@1: // for_header_L189 +debug: Terminated block@14: // for_footer_L129 +debug: Sealing block@1: // for_header_L129 +debug: Added item_index_internal%29#0 to Phi node: let item_index_internal%29#1: uint64 = φ(item_index_internal%29#0 <- block@0) in block@0: // L107 +debug: Added item_index_internal%29#6 to Phi node: let item_index_internal%29#1: uint64 = φ(item_index_internal%29#0 <- block@0, item_index_internal%29#6 <- block@14) in block@14: // for_footer_L129 +debug: Added note#0 to Phi node: let note#1: bytes = φ(note#0 <- block@0) in block@0: // L107 +debug: Created Phi assignment: let note#11: bytes = undefined while trying to resolve 'note' in block@13: // after_if_else_L133 +debug: Added note#3 to Phi node: let note#11: bytes = φ(note#3 <- block@4) in block@4: // after_if_else_L130 +debug: Added note#10 to Phi node: let note#11: bytes = φ(note#3 <- block@4, note#10 <- block@12) in block@12: // after_for_L135 +debug: Added note#11 to Phi node: let note#1: bytes = φ(note#0 <- block@0, note#11 <- block@14) in block@14: // for_footer_L129 +debug: Added current_index#0 to Phi node: let current_index#6: uint64 = φ(current_index#0 <- block@0) in block@0: // L107 +debug: Created Phi assignment: let current_index#7: uint64 = undefined while trying to resolve 'current_index' in block@13: // after_if_else_L133 +debug: Added current_index#6 to Phi node: let current_index#7: uint64 = φ(current_index#6 <- block@4) in block@4: // after_if_else_L130 +debug: Added current_index#4 to Phi node: let current_index#7: uint64 = φ(current_index#6 <- block@4, current_index#4 <- block@12) in block@12: // after_for_L135 +debug: Added current_index#7 to Phi node: let current_index#6: uint64 = φ(current_index#0 <- block@0, current_index#7 <- block@14) in block@14: // for_footer_L129 +debug: Terminated block@15: // after_for_L129 +debug: Sealing block@16: // next_txn_L144 +debug: Terminated block@16: // next_txn_L144 +debug: Sealing block@0: // L253 +debug: Terminated block@0: // L253 +debug: Sealing block@None: // if_body_L257 +debug: Sealing block@None: // else_body_L257 +debug: Terminated block@1: // if_body_L257 +debug: Sealing block@2: // after_if_else_L257 +debug: Terminated block@2: // after_if_else_L257 +debug: Sealing block@0: // L238 +debug: Terminated block@0: // L238 +debug: Sealing block@0: // L157 +debug: Terminated block@0: // L157 +debug: Sealing block@None: // ternary_true_L161 +debug: Sealing block@None: // ternary_false_L161 +debug: Terminated block@1: // ternary_true_L161 +debug: Terminated block@2: // ternary_false_L161 +debug: Sealing block@3: // ternary_merge_L161 +debug: Created Phi assignment: let ternary_result%4#2: uint64 = undefined while trying to resolve 'ternary_result%4' in block@3: // ternary_merge_L161 +debug: Added ternary_result%4#0 to Phi node: let ternary_result%4#2: uint64 = φ(ternary_result%4#0 <- block@1) in block@1: // ternary_true_L161 +debug: Added ternary_result%4#1 to Phi node: let ternary_result%4#2: uint64 = φ(ternary_result%4#0 <- block@1, ternary_result%4#1 <- block@2) in block@2: // ternary_false_L161 +debug: Terminated block@3: // ternary_merge_L161 +debug: Sealing block@0: // L202 +debug: Terminated block@0: // L202 +debug: Sealing block@None: // and_contd_L205 +debug: Terminated block@1: // and_contd_L205 +debug: Sealing block@None: // and_contd_L205 +debug: Terminated block@2: // and_contd_L205 +debug: Sealing block@None: // and_contd_L207 +debug: Terminated block@3: // and_contd_L207 +debug: Sealing block@None: // bool_true_L205 +debug: Sealing block@None: // bool_false_L205 +debug: Terminated block@4: // bool_true_L205 +debug: Terminated block@5: // bool_false_L205 +debug: Sealing block@6: // bool_merge_L205 +debug: Created Phi assignment: let and_result%11#2: uint64 = undefined while trying to resolve 'and_result%11' in block@6: // bool_merge_L205 +debug: Added and_result%11#0 to Phi node: let and_result%11#2: uint64 = φ(and_result%11#0 <- block@4) in block@4: // bool_true_L205 +debug: Added and_result%11#1 to Phi node: let and_result%11#2: uint64 = φ(and_result%11#0 <- block@4, and_result%11#1 <- block@5) in block@5: // bool_false_L205 +debug: Terminated block@6: // bool_merge_L205 +debug: Sealing block@0: // L228 +debug: Terminated block@0: // L228 +debug: Sealing block@0: // L210 +debug: Terminated block@0: // L210 +debug: Sealing block@0: // L166 +debug: Terminated block@0: // L166 +debug: Looking for 'range_item%18' in an unsealed block creating an incomplete Phi: block@1: // for_header_L192 +debug: Created Phi assignment: let range_item%18#1: uint64 = undefined while trying to resolve 'range_item%18' in block@1: // for_header_L192 +debug: Terminated block@1: // for_header_L192 +debug: Looking for 'range_item%18' in an unsealed block creating an incomplete Phi: block@2: // for_body_L192 +debug: Created Phi assignment: let range_item%18#2: uint64 = undefined while trying to resolve 'range_item%18' in block@2: // for_body_L192 +debug: Looking for 'answer_ids' in an unsealed block creating an incomplete Phi: block@2: // for_body_L192 +debug: Created Phi assignment: let answer_ids#1: bytes = undefined while trying to resolve 'answer_ids' in block@2: // for_body_L192 +debug: Looking for 'cumulative_offset' in an unsealed block creating an incomplete Phi: block@2: // for_body_L192 +debug: Created Phi assignment: let cumulative_offset#1: uint64 = undefined while trying to resolve 'cumulative_offset' in block@2: // for_body_L192 +debug: Terminated block@2: // for_body_L192 +debug: Sealing block@3: // for_footer_L192 +debug: Terminated block@3: // for_footer_L192 +debug: Sealing block@4: // for_increment_L192 +debug: Terminated block@4: // for_increment_L192 +debug: Sealing block@1: // for_header_L192 +debug: Added range_item%18#0 to Phi node: let range_item%18#1: uint64 = φ(range_item%18#0 <- block@0) in block@0: // L166 +debug: Added range_item%18#3 to Phi node: let range_item%18#1: uint64 = φ(range_item%18#0 <- block@0, range_item%18#3 <- block@4) in block@4: // for_increment_L192 +debug: Sealing block@2: // for_body_L192 +debug: Added range_item%18#1 to Phi node: let range_item%18#2: uint64 = φ(range_item%18#1 <- block@1) in block@1: // for_header_L192 debug: Replacing trivial Phi node: let range_item%18#2: uint64 = φ(range_item%18#1 <- block@1) (range_item%18#2) with range_item%18#1 debug: Deleting Phi assignment: let range_item%18#2: uint64 = φ(range_item%18#1 <- block@1) debug: Replaced trivial Phi node: let range_item%18#2: uint64 = φ(range_item%18#1 <- block@1) (range_item%18#2) with range_item%18#1 in current definition for 2 blocks -debug: Created Phi assignment: let answer_ids#2: bytes = undefined while trying to resolve 'answer_ids' in block@1: // for_header_L189 -debug: Added answer_ids#0 to Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0) in block@0: // L163 -debug: Added answer_ids#1 to Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0, answer_ids#1 <- block@4) in block@4: // for_increment_L189 -debug: Added answer_ids#2 to Phi node: let answer_ids#1: bytes = φ(answer_ids#2 <- block@1) in block@1: // for_header_L189 +debug: Created Phi assignment: let answer_ids#2: bytes = undefined while trying to resolve 'answer_ids' in block@1: // for_header_L192 +debug: Added answer_ids#0 to Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0) in block@0: // L166 +debug: Added answer_ids#1 to Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0, answer_ids#1 <- block@4) in block@4: // for_increment_L192 +debug: Added answer_ids#2 to Phi node: let answer_ids#1: bytes = φ(answer_ids#2 <- block@1) in block@1: // for_header_L192 debug: Replacing trivial Phi node: let answer_ids#1: bytes = φ(answer_ids#2 <- block@1) (answer_ids#1) with answer_ids#2 debug: Deleting Phi assignment: let answer_ids#1: bytes = φ(answer_ids#2 <- block@1) debug: Replacing trivial Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0, answer_ids#2 <- block@4) (answer_ids#2) with answer_ids#0 debug: Deleting Phi assignment: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0, answer_ids#2 <- block@4) debug: Replaced trivial Phi node: let answer_ids#1: bytes = φ(answer_ids#2 <- block@1) (answer_ids#1) with answer_ids#2 in current definition for 3 blocks debug: Replaced trivial Phi node: let answer_ids#2: bytes = φ(answer_ids#0 <- block@0, answer_ids#2 <- block@4) (answer_ids#2) with answer_ids#0 in current definition for 4 blocks -debug: Created Phi assignment: let cumulative_offset#3: uint64 = undefined while trying to resolve 'cumulative_offset' in block@1: // for_header_L189 -debug: Added cumulative_offset#0 to Phi node: let cumulative_offset#3: uint64 = φ(cumulative_offset#0 <- block@0) in block@0: // L163 -debug: Added cumulative_offset#2 to Phi node: let cumulative_offset#3: uint64 = φ(cumulative_offset#0 <- block@0, cumulative_offset#2 <- block@4) in block@4: // for_increment_L189 -debug: Added cumulative_offset#3 to Phi node: let cumulative_offset#1: uint64 = φ(cumulative_offset#3 <- block@1) in block@1: // for_header_L189 +debug: Created Phi assignment: let cumulative_offset#3: uint64 = undefined while trying to resolve 'cumulative_offset' in block@1: // for_header_L192 +debug: Added cumulative_offset#0 to Phi node: let cumulative_offset#3: uint64 = φ(cumulative_offset#0 <- block@0) in block@0: // L166 +debug: Added cumulative_offset#2 to Phi node: let cumulative_offset#3: uint64 = φ(cumulative_offset#0 <- block@0, cumulative_offset#2 <- block@4) in block@4: // for_increment_L192 +debug: Added cumulative_offset#3 to Phi node: let cumulative_offset#1: uint64 = φ(cumulative_offset#3 <- block@1) in block@1: // for_header_L192 debug: Replacing trivial Phi node: let cumulative_offset#1: uint64 = φ(cumulative_offset#3 <- block@1) (cumulative_offset#1) with cumulative_offset#3 debug: Deleting Phi assignment: let cumulative_offset#1: uint64 = φ(cumulative_offset#3 <- block@1) debug: Replaced trivial Phi node: let cumulative_offset#1: uint64 = φ(cumulative_offset#3 <- block@1) (cumulative_offset#1) with cumulative_offset#3 in current definition for 0 blocks -debug: Sealing block@None: // after_for_L189 -debug: Terminated block@5: // after_for_L189 -debug: Sealing block@0: // L242 -debug: Terminated block@0: // L242 -debug: Sealing block@0: // L46 -debug: Terminated block@0: // L46 -debug: Sealing block@0: // L45 -debug: Terminated block@0: // L45 -debug: Sealing block@None: // on_create_L46 -debug: Terminated block@1: // on_create_L46 -debug: Sealing block@2: // entrypoint_L46 -debug: Terminated block@2: // entrypoint_L46 -debug: Sealing block@None: // switch_case_default_L45 -debug: Sealing block@None: // create_route_L52 -debug: Sealing block@None: // bootstrap_route_L76 -debug: Sealing block@None: // close_route_L104 -debug: Sealing block@None: // get_preconditions_route_L154 -debug: Sealing block@None: // vote_route_L163 -debug: Terminated block@3: // create_route_L52 -debug: Terminated block@4: // bootstrap_route_L76 -debug: Terminated block@5: // close_route_L104 -debug: Terminated block@6: // get_preconditions_route_L154 -debug: Terminated block@7: // vote_route_L163 -debug: Terminated block@8: // switch_case_default_L45 -debug: Sealing block@9: // switch_case_next_L45 -debug: Terminated block@9: // switch_case_next_L45 -debug: Sealing block@0: // L45 -debug: Terminated block@0: // L45 +debug: Sealing block@None: // after_for_L192 +debug: Terminated block@5: // after_for_L192 +debug: Sealing block@0: // L245 +debug: Terminated block@0: // L245 +debug: Sealing block@0: // L49 +debug: Terminated block@0: // L49 +debug: Sealing block@0: // L48 +debug: Terminated block@0: // L48 +debug: Sealing block@None: // on_create_L49 +debug: Terminated block@1: // on_create_L49 +debug: Sealing block@2: // entrypoint_L49 +debug: Terminated block@2: // entrypoint_L49 +debug: Sealing block@None: // switch_case_default_L48 +debug: Sealing block@None: // create_route_L55 +debug: Sealing block@None: // bootstrap_route_L79 +debug: Sealing block@None: // close_route_L107 +debug: Sealing block@None: // get_preconditions_route_L157 +debug: Sealing block@None: // vote_route_L166 +debug: Terminated block@3: // create_route_L55 +debug: Terminated block@4: // bootstrap_route_L79 +debug: Terminated block@5: // close_route_L107 +debug: Terminated block@6: // get_preconditions_route_L157 +debug: Terminated block@7: // vote_route_L166 +debug: Terminated block@8: // switch_case_default_L48 +debug: Sealing block@9: // switch_case_next_L48 +debug: Terminated block@9: // switch_case_next_L48 +debug: Sealing block@0: // L48 +debug: Terminated block@0: // L48 debug: Output IR to voting/out/voting_VotingRoundApp.ssa.ir info: Optimizing examples.voting.voting.VotingRoundApp at level 1 debug: Begin optimization pass 1/100 @@ -583,14 +583,14 @@ debug: Simplified (== tmp%30#0 NoOp) to (! tmp%30#0) debug: Simplified (== tmp%36#0 NoOp) to (! tmp%36#0) debug: Optimizer: Remove Unused Variables debug: Optimizer: Simplify Control Ops -debug: adding block@2: // entrypoint_L46 as a predecessor of block@9: // switch_case_next_L45 due to inlining of block@8: // switch_case_default_L45 -debug: simplified terminator of block@2: // entrypoint_L46 from switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@8} to switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@9} -debug: simplified terminator of block@2: // entrypoint_L46 from switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@9} to switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => fail // reject transaction} +debug: adding block@2: // entrypoint_L49 as a predecessor of block@9: // switch_case_next_L48 due to inlining of block@8: // switch_case_default_L48 +debug: simplified terminator of block@2: // entrypoint_L49 from switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@8} to switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@9} +debug: simplified terminator of block@2: // entrypoint_L49 from switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => block@9} to switch tmp%1#0 {method "create(string,byte[],string,uint64,uint64,uint8[],uint64,string)void" => block@3, method "bootstrap(pay)void" => block@4, method "close()void" => block@5, method "get_preconditions(byte[])(uint64,uint64,uint64,uint64)" => block@6, method "vote(pay,byte[],uint8[])void" => block@7, * => fail // reject transaction} debug: Optimizer: Remove Linear Jump -debug: Merged linear block@9: // switch_case_next_L45 into block@8: // switch_case_default_L45 +debug: Merged linear block@9: // switch_case_next_L48 into block@8: // switch_case_default_L48 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks -debug: Removing unreachable blocks: block@8: // switch_case_default_L45 +debug: Removing unreachable blocks: block@8: // switch_case_default_L48 debug: Optimizer: Repeated Expression Elimination debug: Optimizing subroutine examples.voting.voting.VotingRoundApp.create debug: Splitting parallel copies prior to optimization @@ -613,13 +613,13 @@ debug: Simplified (* item_index_internal%5#1 1u) to item_index_internal%5#1 debug: Optimizer: Remove Unused Variables debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump -debug: Replaced predecessor block@3: // for_footer_L218 with block@2: // for_body_L218 in block@1: // for_header_L218 -debug: Merged linear block@3: // for_footer_L218 into block@2: // for_body_L218 +debug: Replaced predecessor block@3: // for_footer_L221 with block@2: // for_body_L221 in block@1: // for_header_L221 +debug: Merged linear block@3: // for_footer_L221 into block@2: // for_body_L221 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%1#0: uint64 = (extract_uint16 option_counts#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%0', version=0, source_location=voting/voting.py:214:15-35)] -debug: Replacing redundant declaration let array_length%3#0: uint64 = (extract_uint16 option_counts#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%0', version=0, source_location=voting/voting.py:214:15-35)] +debug: Replacing redundant declaration let tmp%1#0: uint64 = (extract_uint16 option_counts#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%0', version=0, source_location=voting/voting.py:217:15-35)] +debug: Replacing redundant declaration let array_length%3#0: uint64 = (extract_uint16 option_counts#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%0', version=0, source_location=voting/voting.py:217:15-35)] debug: Found equivalence set: tmp%0#0, tmp%1#0, array_length%3#0 debug: Replacing {tmp%1#0, array_length%3#0} with tmp%0#0 made 2 modifications debug: Found equivalence set: item_index_internal%5#1, item_index%8#0 @@ -655,9 +655,9 @@ debug: Removing unused variable inner_txn_params%40%%Accounts_length#0 debug: Removing unused variable inner_txn_params%40%%Amount_length#0 debug: Removing unused variable inner_txn_params%40%%ApplicationArgs_length#0 debug: Removing unused variable inner_txn_params%40%%ApplicationID_length#0 -debug: Removing unused variable inner_txn_params%40%%Applications_length#0 debug: Removing unused variable inner_txn_params%40%%ApprovalProgram_length#0 debug: Removing unused variable inner_txn_params%40%%ApprovalProgramPages_length#0 +debug: Removing unused variable inner_txn_params%40%%Applications_length#0 debug: Removing unused variable inner_txn_params%40%%AssetAmount_length#0 debug: Removing unused variable inner_txn_params%40%%AssetCloseTo_length#0 debug: Removing unused variable inner_txn_params%40%%ConfigAssetName_length#0 @@ -745,8 +745,8 @@ debug: Removing unused variable submit_result_0%39%%Nonparticipation#0 debug: Removing unused variable submit_result_0%39%%Note#0 debug: Removing unused variable submit_result_0%39%%NumAccounts#0 debug: Removing unused variable submit_result_0%39%%NumAppArgs#0 -debug: Removing unused variable submit_result_0%39%%NumApplications#0 debug: Removing unused variable submit_result_0%39%%NumApprovalProgramPages#0 +debug: Removing unused variable submit_result_0%39%%NumApplications#0 debug: Removing unused variable submit_result_0%39%%NumAssets#0 debug: Removing unused variable submit_result_0%39%%NumClearStateProgramPages#0 debug: Removing unused variable submit_result_0%39%%NumLogs#0 @@ -770,13 +770,13 @@ debug: Removing unused variable submit_result_0%39%%VoteLast#0 debug: Removing unused variable submit_result_0%39%%XferAsset#0 debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump -debug: Replaced predecessor block@10: // for_footer_L132 with block@9: // after_if_else_L133 in block@11: // for_increment_L132 -debug: Merged linear block@10: // for_footer_L132 into block@9: // after_if_else_L133 -debug: Replaced predecessor block@11: // for_increment_L132 with block@9: // after_if_else_L133 in block@6: // for_header_L132 -debug: Merged linear block@11: // for_increment_L132 into block@9: // after_if_else_L133 -debug: Replaced predecessor block@14: // for_footer_L126 with block@13: // after_if_else_L130 in block@1: // for_header_L126 -debug: Merged linear block@14: // for_footer_L126 into block@13: // after_if_else_L130 -debug: Merged linear block@16: // next_txn_L141 into block@15: // after_for_L126 +debug: Replaced predecessor block@10: // for_footer_L135 with block@9: // after_if_else_L136 in block@11: // for_increment_L135 +debug: Merged linear block@10: // for_footer_L135 into block@9: // after_if_else_L136 +debug: Replaced predecessor block@11: // for_increment_L135 with block@9: // after_if_else_L136 in block@6: // for_header_L135 +debug: Merged linear block@11: // for_increment_L135 into block@9: // after_if_else_L136 +debug: Replaced predecessor block@14: // for_footer_L129 with block@13: // after_if_else_L133 in block@1: // for_header_L129 +debug: Merged linear block@14: // for_footer_L129 into block@13: // after_if_else_L133 +debug: Merged linear block@16: // next_txn_L144 into block@15: // after_for_L129 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination @@ -837,10 +837,10 @@ debug: Removing unused variable encoded_tuple_buffer%14#0 debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks -debug: Not removing empty block block@2: // ternary_false_L158 because it's used by phi nodes +debug: Not removing empty block block@2: // ternary_false_L161 because it's used by phi nodes debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let base_length%5#0: uint64 = (len signature#0) with copy of existing registers [Register(atype=uint64, name='awst_tmp%2', version=0, source_location=voting/voting.py:158:64-83)] +debug: Replacing redundant declaration let base_length%5#0: uint64 = (len signature#0) with copy of existing registers [Register(atype=uint64, name='awst_tmp%2', version=0, source_location=voting/voting.py:161:64-83)] debug: Found equivalence set: awst_tmp%2#0, base_length%5#0 debug: Replacing {base_length%5#0} with awst_tmp%2#0 made 1 modifications debug: Found equivalence set: val_as_bytes%1#0, encoded_tuple_buffer%14#1 @@ -895,15 +895,15 @@ debug: Simplified (* question_index#0 1u) to question_index#0 debug: Optimizer: Remove Unused Variables debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump -debug: Replaced predecessor block@3: // for_footer_L189 with block@2: // for_body_L189 in block@4: // for_increment_L189 -debug: Merged linear block@3: // for_footer_L189 into block@2: // for_body_L189 -debug: Replaced predecessor block@4: // for_increment_L189 with block@2: // for_body_L189 in block@1: // for_header_L189 -debug: Merged linear block@4: // for_increment_L189 into block@2: // for_body_L189 +debug: Replaced predecessor block@3: // for_footer_L192 with block@2: // for_body_L192 in block@4: // for_increment_L192 +debug: Merged linear block@3: // for_footer_L192 into block@2: // for_body_L192 +debug: Replaced predecessor block@4: // for_increment_L192 with block@2: // for_body_L192 in block@1: // for_header_L192 +debug: Merged linear block@4: // for_increment_L192 into block@2: // for_body_L192 debug: Optimizer: Remove Empty Blocks debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination -debug: Replacing redundant declaration let tmp%8#0: uint64 = (extract_uint16 answer_ids#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%6', version=0, source_location=voting/voting.py:176:15-32)] -debug: Replacing redundant declaration let array_length%20#0: uint64 = (extract_uint16 answer_ids#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%6', version=0, source_location=voting/voting.py:176:15-32)] +debug: Replacing redundant declaration let tmp%8#0: uint64 = (extract_uint16 answer_ids#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%6', version=0, source_location=voting/voting.py:179:15-32)] +debug: Replacing redundant declaration let array_length%20#0: uint64 = (extract_uint16 answer_ids#0 0u) with copy of existing registers [Register(atype=uint64, name='tmp%6', version=0, source_location=voting/voting.py:179:15-32)] debug: Found equivalence set: tmp%6#0, tmp%8#0, tmp%9#0, array_length%20#0 debug: Replacing {tmp%8#0, tmp%9#0, array_length%20#0} with tmp%6#0 made 2 modifications debug: Found equivalence set: question_index#0, item_index%23#0, item_index%30#0 @@ -1038,7 +1038,7 @@ debug: Optimizer: Remove Unused Variables debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks -debug: Not removing empty block block@2: // ternary_false_L158 because it's used by phi nodes +debug: Not removing empty block block@2: // ternary_false_L161 because it's used by phi nodes debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination debug: Optimizing subroutine examples.voting.voting.VotingRoundApp.voting_open @@ -1201,7 +1201,7 @@ debug: Optimizer: Remove Unused Variables debug: Optimizer: Simplify Control Ops debug: Optimizer: Remove Linear Jump debug: Optimizer: Remove Empty Blocks -debug: Not removing empty block block@2: // ternary_false_L158 because it's used by phi nodes +debug: Not removing empty block block@2: // ternary_false_L161 because it's used by phi nodes debug: Optimizer: Remove Unreachable Blocks debug: Optimizer: Repeated Expression Elimination debug: Optimizing subroutine examples.voting.voting.VotingRoundApp.voting_open @@ -1735,14 +1735,14 @@ debug: Inserted close_after_for@15.ops[20]: 'store app_global_get_ex_did_exist%4 debug: Replaced close_after_for@15.ops[23]: 'load app_global_get_ex_did_exist%44#0' with 'load app_global_get_ex_did_exist%44#0 from l-stack (no copy)' debug: Inserted close_after_for@15.ops[43]: 'store submit_result_0%39%%CreatedAssetID#0 to l-stack (copy)' debug: Replaced close_after_for@15.ops[46]: 'load submit_result_0%39%%CreatedAssetID#0' with 'load submit_result_0%39%%CreatedAssetID#0 from l-stack (no copy)' +debug: Inserted close_after_for@15.ops[22]: 'store app_global_get_ex_value%43#0 to l-stack (copy)' +debug: Replaced close_after_for@15.ops[26]: 'load app_global_get_ex_value%43#0' with 'load app_global_get_ex_value%43#0 from l-stack (no copy)' debug: Inserted close_after_for@15.ops[10]: 'store app_global_get_ex_value%41#0 to l-stack (copy)' debug: Replaced close_after_for@15.ops[15]: 'load app_global_get_ex_value%41#0' with 'load app_global_get_ex_value%41#0 from l-stack (no copy)' debug: Inserted close_after_for@15.ops[17]: 'store inner_txn_params%40%%param_ConfigAssetName_idx_0#0 to l-stack (copy)' -debug: Replaced close_after_for@15.ops[27]: 'load inner_txn_params%40%%param_ConfigAssetName_idx_0#0' with 'load inner_txn_params%40%%param_ConfigAssetName_idx_0#0 from l-stack (no copy)' -debug: Inserted close_after_for@15.ops[24]: 'store app_global_get_ex_value%43#0 to l-stack (copy)' -debug: Replaced close_after_for@15.ops[42]: 'load app_global_get_ex_value%43#0' with 'load app_global_get_ex_value%43#0 from l-stack (no copy)' +debug: Replaced close_after_for@15.ops[42]: 'load inner_txn_params%40%%param_ConfigAssetName_idx_0#0' with 'load inner_txn_params%40%%param_ConfigAssetName_idx_0#0 from l-stack (no copy)' debug: Inserted close_after_for@15.ops[3]: 'store note#0 to l-stack (copy)' -debug: Replaced close_after_for@15.ops[35]: 'load note#0' with 'load note#0 from l-stack (no copy)' +debug: Replaced close_after_for@15.ops[37]: 'load note#0' with 'load note#0 from l-stack (no copy)' debug: Found 7 edge set/s for examples.voting.voting.VotingRoundApp.close debug: examples.voting.voting.VotingRoundApp.close f-stack entry: ['note#18', 'question_options_arc#0', 'current_index#16', 'option_index#0', 'question_options#0'] debug: examples.voting.voting.VotingRoundApp.close f-stack on first store: ['note#0', 'current_index#0', 'array_length%27#0', 'array_value%28#0', 'question_index#0'] diff --git a/test_cases/abi_routing/out/application.json b/test_cases/abi_routing/out/application.json index 15aba903c..5a9524095 100644 --- a/test_cases/abi_routing/out/application.json +++ b/test_cases/abi_routing/out/application.json @@ -136,7 +136,7 @@ } }, "source": { - "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgp0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5hcHByb3ZhbF9wcm9ncmFtOgogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2VudHJ5cG9pbnRAMgogICAgY2FsbHN1YiBfX2luaXRfXwoKbWFpbl9lbnRyeXBvaW50QDI6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9iYXJlX3JvdXRpbmdAMTgKICAgIG1ldGhvZCAibm9vcF93aXRoX3VpbnQ2NCh1aW50NjQpdWludDgiCiAgICBtZXRob2QgImFsbF90aGVfdGhpbmdzKHVpbnQ2NCl1aW50OCIKICAgIG1ldGhvZCAibWl4ZWRfb2NhKHVpbnQ2NCl1aW50OCIKICAgIG1ldGhvZCAib3B0X2ludG9fYXNzZXQoYXNzZXQpdm9pZCIKICAgIG1ldGhvZCAid2l0aF90cmFuc2FjdGlvbnMoYXNzZXQsdWludDY0LHBheSx1aW50NjQpdm9pZCIKICAgIG1ldGhvZCAiY29tcGFyZV9hc3NldHMoYXNzZXQsYXNzZXQpdm9pZCIKICAgIG1ldGhvZCAiZ2V0X2FkZHJlc3MoKWFkZHJlc3MiCiAgICBtZXRob2QgImdldF9hc3NldCgpdWludDY0IgogICAgbWV0aG9kICJnZXRfYXBwbGljYXRpb24oKXVpbnQ2NCIKICAgIG1ldGhvZCAiZ2V0X2FuX2ludCgpdWludDY0IgogICAgbWV0aG9kICJtZXRob2Rfd2l0aF9kZWZhdWx0X2FyZ3MoYXNzZXQsYXNzZXQsYWNjb3VudCxhY2NvdW50LGFwcGxpY2F0aW9uLGFwcGxpY2F0aW9uLGJ5dGVbM10sdWludDY0LHVpbnQ2NCl2b2lkIgogICAgbWV0aG9kICJtZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJncyh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYXNzZXQsdWludDY0LHVpbnQ2NCxwYXksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYnl0ZVtdLGJ5dGVbXSxhc3NldCxwYXksdWludDY0LHVpbnQ2NCl1aW50NjQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBtYWluX25vb3Bfd2l0aF91aW50NjRfcm91dGVANCBtYWluX2FsbF90aGVfdGhpbmdzX3JvdXRlQDUgbWFpbl9taXhlZF9vY2Ffcm91dGVANiBtYWluX29wdF9pbnRvX2Fzc2V0X3JvdXRlQDcgbWFpbl93aXRoX3RyYW5zYWN0aW9uc19yb3V0ZUA4IG1haW5fY29tcGFyZV9hc3NldHNfcm91dGVAOSBtYWluX2dldF9hZGRyZXNzX3JvdXRlQDEwIG1haW5fZ2V0X2Fzc2V0X3JvdXRlQDExIG1haW5fZ2V0X2FwcGxpY2F0aW9uX3JvdXRlQDEyIG1haW5fZ2V0X2FuX2ludF9yb3V0ZUAxMyBtYWluX21ldGhvZF93aXRoX2RlZmF1bHRfYXJnc19yb3V0ZUAxNCBtYWluX21ldGhvZF93aXRoX21vcmVfdGhhbl8xNV9hcmdzX3JvdXRlQDE1CiAgICBlcnIgLy8gcmVqZWN0IHRyYW5zYWN0aW9uCgptYWluX25vb3Bfd2l0aF91aW50NjRfcm91dGVANDoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMxCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxCiAgICAvLyBjbGFzcyBSZWZlcmVuY2UoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMxCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgbm9vcF93aXRoX3VpbnQ2NAogICAgYnl0ZSAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9hbGxfdGhlX3RoaW5nc19yb3V0ZUA1OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzYtNDcKICAgIC8vIEBhcmM0LmFiaW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLk9wdEluLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLlVwZGF0ZUFwcGxpY2F0aW9uLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLkRlbGV0ZUFwcGxpY2F0aW9uLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgbmFtZT0iYWxsX3RoZV90aGluZ3MiLAogICAgLy8gICAgIGNyZWF0ZT0iYWxsb3ciLAogICAgLy8gICAgIHJlYWRvbmx5PVRydWUsCiAgICAvLyApCiAgICBjYWxsc3ViIGZ1bGxfYWJpX2NvbmZpZwogICAgYnl0ZSAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9taXhlZF9vY2Ffcm91dGVANjoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjUyLTYwCiAgICAvLyBAYXJjNC5hYmltZXRob2QoCiAgICAvLyAgICAgYWxsb3dfYWN0aW9ucz1bCiAgICAvLyAgICAgICAgICJOb09wIiwKICAgIC8vICAgICAgICAgIkNsb3NlT3V0IiwKICAgIC8vICAgICAgICAgIkRlbGV0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGNyZWF0ZT1GYWxzZSwKICAgIC8vICAgICByZWFkb25seT1UcnVlLAogICAgLy8gKQogICAgaW50IDEKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIHNobAogICAgaW50IDM3CiAgICAmCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG9uZSBvZiBOb09wLCBDbG9zZU91dCwgRGVsZXRlQXBwbGljYXRpb24KICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo1Mi02MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGFsbG93X2FjdGlvbnM9WwogICAgLy8gICAgICAgICAiTm9PcCIsCiAgICAvLyAgICAgICAgICJDbG9zZU91dCIsCiAgICAvLyAgICAgICAgICJEZWxldGVBcHBsaWNhdGlvbiIsCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBjcmVhdGU9RmFsc2UsCiAgICAvLyAgICAgcmVhZG9ubHk9VHJ1ZSwKICAgIC8vICkKICAgIGNhbGxzdWIgbWl4ZWRfb2NhCiAgICBieXRlIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX29wdF9pbnRvX2Fzc2V0X3JvdXRlQDc6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo3OAogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojc4CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgb3B0X2ludG9fYXNzZXQKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fd2l0aF90cmFuc2FjdGlvbnNfcm91dGVAODoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojk1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxCiAgICAvLyBjbGFzcyBSZWZlcmVuY2UoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludCAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnQgcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBjYWxsc3ViIHdpdGhfdHJhbnNhY3Rpb25zCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2NvbXBhcmVfYXNzZXRzX3JvdXRlQDk6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDgKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGlzIG5vdCBjcmVhdGluZwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBjYWxsc3ViIGNvbXBhcmVfYXNzZXRzCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2dldF9hZGRyZXNzX3JvdXRlQDEwOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTEyCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZ2V0X2FkZHJlc3MKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3JvdXRlQDExOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTE2CiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0CiAgICBieXRlIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2dldF9hcHBsaWNhdGlvbl9yb3V0ZUAxMjoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyMAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUsIG5hbWU9ImdldF9hcHBsaWNhdGlvbiIpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICBjYWxsc3ViIGdldF9hcHAKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2FuX2ludF9yb3V0ZUAxMzoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyNAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUsIG5hbWU9ImdldF9hbl9pbnQiKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGlzIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiBnZXRfYV9pbnQKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fbWV0aG9kX3dpdGhfZGVmYXVsdF9hcmdzX3JvdXRlQDE0OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI4LTE0MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGRlZmF1bHRfYXJncz17CiAgICAvLyAgICAgICAgICJhc3NldF9mcm9tX3N0b3JhZ2UiOiAiYXNhIiwKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fZnVuY3Rpb24iOiBnZXRfYXNzZXQsCiAgICAvLyAgICAgICAgICJhY2NvdW50X2Zyb21fc3RvcmFnZSI6ICJjcmVhdG9yIiwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYWRkcmVzcyIsCiAgICAvLyAgICAgICAgICJhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2UiOiAiYXBwIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb24iOiBnZXRfYXBwLAogICAgLy8gICAgICAgICAiYnl0ZXNfZnJvbV9zdG9yYWdlIjogInNvbWVfYnl0ZXMiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fc3RvcmFnZSI6ICJhbl9pbnQiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fZnVuY3Rpb24iOiAiZ2V0X2FfaW50IiwKICAgIC8vICAgICB9CiAgICAvLyApCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA1CiAgICBidG9pCiAgICB0eG5hcyBBcHBsaWNhdGlvbnMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIGJ0b2kKICAgIHR4bmFzIEFwcGxpY2F0aW9ucwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI4LTE0MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGRlZmF1bHRfYXJncz17CiAgICAvLyAgICAgICAgICJhc3NldF9mcm9tX3N0b3JhZ2UiOiAiYXNhIiwKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fZnVuY3Rpb24iOiBnZXRfYXNzZXQsCiAgICAvLyAgICAgICAgICJhY2NvdW50X2Zyb21fc3RvcmFnZSI6ICJjcmVhdG9yIiwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYWRkcmVzcyIsCiAgICAvLyAgICAgICAgICJhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2UiOiAiYXBwIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb24iOiBnZXRfYXBwLAogICAgLy8gICAgICAgICAiYnl0ZXNfZnJvbV9zdG9yYWdlIjogInNvbWVfYnl0ZXMiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fc3RvcmFnZSI6ICJhbl9pbnQiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fZnVuY3Rpb24iOiAiZ2V0X2FfaW50IiwKICAgIC8vICAgICB9CiAgICAvLyApCiAgICBjYWxsc3ViIG1ldGhvZF93aXRoX2RlZmF1bHRfYXJncwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9tZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJnc19yb3V0ZUAxNToKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE2NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA0CiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA1CiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDcKICAgIHR4biBHcm91cEluZGV4CiAgICBpbnQgMgogICAgLQogICAgZHVwCiAgICBndHhucyBUeXBlRW51bQogICAgaW50IHBheQogICAgPT0KICAgIGFzc2VydCAvLyB0cmFuc2FjdGlvbiB0eXBlIGlzIHBheQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDExCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxMgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxNQogICAgZXh0cmFjdCAwIDgKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE1CiAgICBleHRyYWN0IDggOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMTYgOAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMjQgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMzIgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGR1cAogICAgaW50IDQwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludCAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE1CiAgICBkdXAKICAgIGludCA0MgogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnQgMgogICAgKwogICAgZXh0cmFjdDMKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxNQogICAgZXh0cmFjdCA0NCAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4biBHcm91cEluZGV4CiAgICBpbnQgMQogICAgLQogICAgZHVwCiAgICBndHhucyBUeXBlRW51bQogICAgaW50IHBheQogICAgPT0KICAgIGFzc2VydCAvLyB0cmFuc2FjdGlvbiB0eXBlIGlzIHBheQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgNDUgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgNTMgOAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTY1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgbWV0aG9kX3dpdGhfbW9yZV90aGFuXzE1X2FyZ3MKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDE4OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgc3dpdGNoIG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fcmVqZWN0X2JhcmVfb25fY29tcGxldGlvbkAyMCBtYWluX2JhcmVfYWJpX2NvbmZpZ0AxOSBtYWluX2JhcmVfYWJpX2NvbmZpZ0AxOQogICAgZXJyIC8vIHJlamVjdCB0cmFuc2FjdGlvbgoKbWFpbl9iYXJlX2FiaV9jb25maWdAMTk6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo2NS03NAogICAgLy8gQGFyYzQuYmFyZW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICAiT3B0SW4iLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICAiVXBkYXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgICAgICAiRGVsZXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgY3JlYXRlPVRydWUsCiAgICAvLyApCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGlzIGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo2NS03NQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICAiT3B0SW4iLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICAiVXBkYXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgICAgICAiRGVsZXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgY3JlYXRlPVRydWUsCiAgICAvLyApCiAgICAvLyBkZWYgYmFyZV9hYmlfY29uZmlnKHNlbGYpIC0+IE5vbmU6CiAgICBjYWxsc3ViIGJhcmVfYWJpX2NvbmZpZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9yZWplY3RfYmFyZV9vbl9jb21wbGV0aW9uQDIwOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgZXJyIC8vIHJlamVjdCB0cmFuc2FjdGlvbgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLm5vb3Bfd2l0aF91aW50NjQoYTogYnl0ZXMpIC0+IGJ5dGVzOgpub29wX3dpdGhfdWludDY0OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzEtMzIKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgLy8gZGVmIG5vb3Bfd2l0aF91aW50NjQoc2VsZiwgYTogYXJjNC5VSW50NjQpIC0+IGFyYzQuVUludDg6CiAgICBwcm90byAxIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMzCiAgICAvLyByZXN1bHQgPSAxICsgYS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xCiAgICBidG9pCiAgICBpbnQgMQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzQKICAgIC8vIHJldHVybiBhcmM0LlVJbnQ4KHJlc3VsdCkKICAgIGl0b2IKICAgIGV4dHJhY3QgNyAxCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5mdWxsX2FiaV9jb25maWcoYTogYnl0ZXMpIC0+IGJ5dGVzOgpmdWxsX2FiaV9jb25maWc6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTozNi00OAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGFsbG93X2FjdGlvbnM9WwogICAgLy8gICAgICAgICAiTm9PcCIsCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uT3B0SW4sCiAgICAvLyAgICAgICAgICJDbG9zZU91dCIsCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uVXBkYXRlQXBwbGljYXRpb24sCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uRGVsZXRlQXBwbGljYXRpb24sCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBuYW1lPSJhbGxfdGhlX3RoaW5ncyIsCiAgICAvLyAgICAgY3JlYXRlPSJhbGxvdyIsCiAgICAvLyAgICAgcmVhZG9ubHk9VHJ1ZSwKICAgIC8vICkKICAgIC8vIGRlZiBmdWxsX2FiaV9jb25maWcoc2VsZiwgYTogYXJjNC5VSW50NjQpIC0+IGFyYzQuVUludDg6CiAgICBwcm90byAxIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXN1bHQgPSBVSW50NjQoMSkgKyBhLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIGludCAxCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo1MAogICAgLy8gcmV0dXJuIGFyYzQuVUludDgocmVzdWx0KQogICAgaXRvYgogICAgZXh0cmFjdCA3IDEKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLm1peGVkX29jYShhOiBieXRlcykgLT4gYnl0ZXM6Cm1peGVkX29jYToKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjUyLTYxCiAgICAvLyBAYXJjNC5hYmltZXRob2QoCiAgICAvLyAgICAgYWxsb3dfYWN0aW9ucz1bCiAgICAvLyAgICAgICAgICJOb09wIiwKICAgIC8vICAgICAgICAgIkNsb3NlT3V0IiwKICAgIC8vICAgICAgICAgIkRlbGV0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGNyZWF0ZT1GYWxzZSwKICAgIC8vICAgICByZWFkb25seT1UcnVlLAogICAgLy8gKQogICAgLy8gZGVmIG1peGVkX29jYShzZWxmLCBhOiBhcmM0LlVJbnQ2NCkgLT4gYXJjNC5VSW50ODoKICAgIHByb3RvIDEgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6NjIKICAgIC8vIHJlc3VsdCA9IFVJbnQ2NCgxKSArIGEuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgaW50IDEKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyByZXR1cm4gYXJjNC5VSW50OChyZXN1bHQpCiAgICBpdG9iCiAgICBleHRyYWN0IDcgMQogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2Uub3B0X2ludG9fYXNzZXQoYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKb3B0X2ludG9fYXNzZXQ6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo3OC03OQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICAvLyBkZWYgb3B0X2ludG9fYXNzZXQoc2VsZiwgYXNzZXQ6IEFzc2V0KSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo4MC04MQogICAgLy8gIyBPbmx5IGFsbG93IGFwcCBjcmVhdG9yIHRvIG9wdCB0aGUgYXBwIGFjY291bnQgaW50byBhIEFTQQogICAgLy8gYXNzZXJ0IG9wLlRyYW5zYWN0aW9uLnNlbmRlciA9PSBvcC5HbG9iYWwuY3JlYXRvcl9hZGRyZXNzLCAiT25seSBjcmVhdG9yIGNhbiBvcHQgaW4gdG8gQVNBIgogICAgdHhuIFNlbmRlcgogICAgZ2xvYmFsIENyZWF0b3JBZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIE9ubHkgY3JlYXRvciBjYW4gb3B0IGluIHRvIEFTQQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6ODItODMKICAgIC8vICMgVmVyaWZ5IGEgQVNBIGhhc24ndCBhbHJlYWR5IGJlZW4gb3B0ZWQgaW50bwogICAgLy8gYXNzZXJ0IG5vdCBzZWxmLmFzYSwgIkFTQSBhbHJlYWR5IG9wdGVkIGluIgogICAgaW50IDAKICAgIGJ5dGUgImFzYSIKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgdmFsdWUgZXhpc3RzCiAgICAhCiAgICBhc3NlcnQgLy8gQVNBIGFscmVhZHkgb3B0ZWQgaW4KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojg0LTg1CiAgICAvLyAjIFNhdmUgQVNBIElEIGluIGdsb2JhbCBzdGF0ZQogICAgLy8gc2VsZi5hc2EgPSBhc3NldAogICAgYnl0ZSAiYXNhIgogICAgZnJhbWVfZGlnIC0xCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6ODctODgKICAgIC8vICMgU3VibWl0IG9wdC1pbiB0cmFuc2FjdGlvbjogMCBhc3NldCB0cmFuc2ZlciB0byBzZWxmCiAgICAvLyBvcC5DcmVhdGVJbm5lclRyYW5zYWN0aW9uLmJlZ2luKCkKICAgIGl0eG5fYmVnaW4KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojg5CiAgICAvLyBvcC5DcmVhdGVJbm5lclRyYW5zYWN0aW9uLnNldF90eXBlX2VudW0oVHJhbnNhY3Rpb25UeXBlLkFzc2V0VHJhbnNmZXIpCiAgICBpbnQgYXhmZXIKICAgIGl0eG5fZmllbGQgVHlwZUVudW0KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjkwCiAgICAvLyBvcC5DcmVhdGVJbm5lclRyYW5zYWN0aW9uLnNldF9mZWUoVUludDY0KDApKSAgIyBjb3ZlciBmZWUgd2l0aCBvdXRlciB0eG4KICAgIGludCAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6OTEKICAgIC8vIG9wLkNyZWF0ZUlubmVyVHJhbnNhY3Rpb24uc2V0X2Fzc2V0X3JlY2VpdmVyKG9wLkdsb2JhbC5jdXJyZW50X2FwcGxpY2F0aW9uX2FkZHJlc3MpCiAgICBnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwogICAgaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5MgogICAgLy8gb3AuQ3JlYXRlSW5uZXJUcmFuc2FjdGlvbi5zZXRfeGZlcl9hc3NldChhc3NldC5hc3NldF9pZCkKICAgIGZyYW1lX2RpZyAtMQogICAgaXR4bl9maWVsZCBYZmVyQXNzZXQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjkzCiAgICAvLyBvcC5DcmVhdGVJbm5lclRyYW5zYWN0aW9uLnN1Ym1pdCgpCiAgICBpdHhuX3N1Ym1pdAogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2Uud2l0aF90cmFuc2FjdGlvbnMoYXNzZXQ6IHVpbnQ2NCwgYW5faW50OiBieXRlcywgcGF5OiB1aW50NjQsIGFub3RoZXJfaW50OiBieXRlcykgLT4gdm9pZDoKd2l0aF90cmFuc2FjdGlvbnM6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5NS0xMDIKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgLy8gZGVmIHdpdGhfdHJhbnNhY3Rpb25zKAogICAgLy8gICAgIHNlbGYsCiAgICAvLyAgICAgYXNzZXQ6IEFzc2V0LAogICAgLy8gICAgIGFuX2ludDogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgcGF5OiBndHhuLlBheW1lbnRUcmFuc2FjdGlvbiwKICAgIC8vICAgICBhbm90aGVyX2ludDogYXJjNC5VSW50NjQsCiAgICAvLyApIC0+IE5vbmU6CiAgICBwcm90byA0IDAKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwMwogICAgLy8gYXNzZXJ0IHNlbGYuYXNhID09IGFzc2V0LCAiaXMgY29ycmVjdCBhc3NldCIKICAgIGludCAwCiAgICBieXRlICJhc2EiCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHZhbHVlIGV4aXN0cwogICAgZnJhbWVfZGlnIC00CiAgICA9PQogICAgYXNzZXJ0IC8vIGlzIGNvcnJlY3QgYXNzZXQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwNAogICAgLy8gYXNzZXJ0IGFuX2ludC5kZWNvZGUoKSA9PSAxLCAiaXMgY29ycmVjdCBpbnQiCiAgICBmcmFtZV9kaWcgLTMKICAgIGJ0b2kKICAgIGludCAxCiAgICA9PQogICAgYXNzZXJ0IC8vIGlzIGNvcnJlY3QgaW50CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDUKICAgIC8vIGFzc2VydCBwYXkucmVjZWl2ZXIgPT0gb3AuR2xvYmFsLmN1cnJlbnRfYXBwbGljYXRpb25fYWRkcmVzcywgImlzIHBheW1lbnQgdG8gYXBwIgogICAgZnJhbWVfZGlnIC0yCiAgICBndHhucyBSZWNlaXZlcgogICAgZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKICAgID09CiAgICBhc3NlcnQgLy8gaXMgcGF5bWVudCB0byBhcHAKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwNgogICAgLy8gYXNzZXJ0IGFub3RoZXJfaW50LmRlY29kZSgpID09IDIsICJpcyBjb3JyZWN0IGludCIKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgaW50IDIKICAgID09CiAgICBhc3NlcnQgLy8gaXMgY29ycmVjdCBpbnQKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLmNvbXBhcmVfYXNzZXRzKGFzc2V0X2E6IHVpbnQ2NCwgYXNzZXRfYjogdWludDY0KSAtPiB2b2lkOgpjb21wYXJlX2Fzc2V0czoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwOC0xMDkKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgLy8gZGVmIGNvbXBhcmVfYXNzZXRzKHNlbGYsIGFzc2V0X2E6IEFzc2V0LCBhc3NldF9iOiBBc3NldCkgLT4gTm9uZToKICAgIHByb3RvIDIgMAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTEwCiAgICAvLyBhc3NlcnQgYXNzZXRfYSA9PSBhc3NldF9iLCAiYXNzZXQgYSA9PSBiIgogICAgZnJhbWVfZGlnIC0yCiAgICBmcmFtZV9kaWcgLTEKICAgID09CiAgICBhc3NlcnQgLy8gYXNzZXQgYSA9PSBiCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5nZXRfYWRkcmVzcygpIC0+IGJ5dGVzOgpnZXRfYWRkcmVzczoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjExMi0xMTMKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hZGRyZXNzKHNlbGYpIC0+IGFyYzQuQWRkcmVzczoKICAgIHByb3RvIDAgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTE0CiAgICAvLyByZXR1cm4gYXJjNC5BZGRyZXNzLmZyb21fYnl0ZXMob3AuR2xvYmFsLnplcm9fYWRkcmVzcy5ieXRlcykKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2UuZ2V0X2Fzc2V0KCkgLT4gYnl0ZXM6CmdldF9hc3NldDoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjExNi0xMTcKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlKQogICAgLy8gZGVmIGdldF9hc3NldChzZWxmKSAtPiBhcmM0LlVJbnQ2NDoKICAgIHByb3RvIDAgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTE4CiAgICAvLyByZXR1cm4gYXJjNC5VSW50NjQoNDU2KQogICAgYnl0ZSAweDAwMDAwMDAwMDAwMDAxYzgKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLmdldF9hcHAoKSAtPiBieXRlczoKZ2V0X2FwcDoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyMC0xMjEKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlLCBuYW1lPSJnZXRfYXBwbGljYXRpb24iKQogICAgLy8gZGVmIGdldF9hcHAoc2VsZikgLT4gYXJjNC5VSW50NjQ6CiAgICBwcm90byAwIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyMgogICAgLy8gcmV0dXJuIGFyYzQuVUludDY0KDQ1NikKICAgIGJ5dGUgMHgwMDAwMDAwMDAwMDAwMWM4CiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5nZXRfYV9pbnQoKSAtPiBieXRlczoKZ2V0X2FfaW50OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI0LTEyNQogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUsIG5hbWU9ImdldF9hbl9pbnQiKQogICAgLy8gZGVmIGdldF9hX2ludChzZWxmKSAtPiBhcmM0LlVJbnQ2NDoKICAgIHByb3RvIDAgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI2CiAgICAvLyByZXR1cm4gYXJjNC5VSW50NjQoMykKICAgIGJ5dGUgMHgwMDAwMDAwMDAwMDAwMDAzCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5tZXRob2Rfd2l0aF9kZWZhdWx0X2FyZ3MoYXNzZXRfZnJvbV9zdG9yYWdlOiB1aW50NjQsIGFzc2V0X2Zyb21fZnVuY3Rpb246IHVpbnQ2NCwgYWNjb3VudF9mcm9tX3N0b3JhZ2U6IGJ5dGVzLCBhY2NvdW50X2Zyb21fZnVuY3Rpb246IGJ5dGVzLCBhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2U6IHVpbnQ2NCwgYXBwbGljYXRpb25fZnJvbV9mdW5jdGlvbjogdWludDY0LCBieXRlc19mcm9tX3N0b3JhZ2U6IGJ5dGVzLCBpbnRfZnJvbV9zdG9yYWdlOiBieXRlcywgaW50X2Zyb21fZnVuY3Rpb246IGJ5dGVzKSAtPiB2b2lkOgptZXRob2Rfd2l0aF9kZWZhdWx0X2FyZ3M6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMjgtMTUyCiAgICAvLyBAYXJjNC5hYmltZXRob2QoCiAgICAvLyAgICAgZGVmYXVsdF9hcmdzPXsKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fc3RvcmFnZSI6ICJhc2EiLAogICAgLy8gICAgICAgICAiYXNzZXRfZnJvbV9mdW5jdGlvbiI6IGdldF9hc3NldCwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9zdG9yYWdlIjogImNyZWF0b3IiLAogICAgLy8gICAgICAgICAiYWNjb3VudF9mcm9tX2Z1bmN0aW9uIjogImdldF9hZGRyZXNzIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fc3RvcmFnZSI6ICJhcHAiLAogICAgLy8gICAgICAgICAiYXBwbGljYXRpb25fZnJvbV9mdW5jdGlvbiI6IGdldF9hcHAsCiAgICAvLyAgICAgICAgICJieXRlc19mcm9tX3N0b3JhZ2UiOiAic29tZV9ieXRlcyIsCiAgICAvLyAgICAgICAgICJpbnRfZnJvbV9zdG9yYWdlIjogImFuX2ludCIsCiAgICAvLyAgICAgICAgICJpbnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYV9pbnQiLAogICAgLy8gICAgIH0KICAgIC8vICkKICAgIC8vIGRlZiBtZXRob2Rfd2l0aF9kZWZhdWx0X2FyZ3MoCiAgICAvLyAgICAgc2VsZiwKICAgIC8vICAgICBhc3NldF9mcm9tX3N0b3JhZ2U6IEFzc2V0LAogICAgLy8gICAgIGFzc2V0X2Zyb21fZnVuY3Rpb246IEFzc2V0LAogICAgLy8gICAgIGFjY291bnRfZnJvbV9zdG9yYWdlOiBBY2NvdW50LAogICAgLy8gICAgIGFjY291bnRfZnJvbV9mdW5jdGlvbjogQWNjb3VudCwKICAgIC8vICAgICBhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2U6IEFwcGxpY2F0aW9uLAogICAgLy8gICAgIGFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb246IEFwcGxpY2F0aW9uLAogICAgLy8gICAgIGJ5dGVzX2Zyb21fc3RvcmFnZTogQnl0ZXMzLAogICAgLy8gICAgIGludF9mcm9tX3N0b3JhZ2U6IGFyYzQuVUludDY0LAogICAgLy8gICAgIGludF9mcm9tX2Z1bmN0aW9uOiBhcmM0LlVJbnQ2NCwKICAgIC8vICkgLT4gTm9uZToKICAgIHByb3RvIDkgMAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTUzCiAgICAvLyBhc3NlcnQgYXNzZXRfZnJvbV9zdG9yYWdlID09IEFzc2V0KDEyMyksICJ3cm9uZyBhc3NldCBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTkKICAgIGludCAxMjMKICAgID09CiAgICBhc3NlcnQgLy8gd3JvbmcgYXNzZXQgZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNTQKICAgIC8vIGFzc2VydCBhc3NldF9mcm9tX2Z1bmN0aW9uID09IEFzc2V0KDQ1NiksICJ3cm9uZyBhc3NldCBmcm9tIGZ1bmN0aW9uIgogICAgZnJhbWVfZGlnIC04CiAgICBpbnQgNDU2CiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFzc2V0IGZyb20gZnVuY3Rpb24KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE1NQogICAgLy8gYXNzZXJ0IGFjY291bnRfZnJvbV9zdG9yYWdlID09IG9wLkdsb2JhbC5jcmVhdG9yX2FkZHJlc3MsICJ3cm9uZyBhY2NvdW50IGZyb20gc3RvcmFnZSIKICAgIGZyYW1lX2RpZyAtNwogICAgZ2xvYmFsIENyZWF0b3JBZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFjY291bnQgZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNTYKICAgIC8vIGFzc2VydCBhY2NvdW50X2Zyb21fZnVuY3Rpb24gPT0gb3AuR2xvYmFsLnplcm9fYWRkcmVzcywgIndyb25nIGFjY291bnQgZnJvbSBmdW5jdGlvbiIKICAgIGZyYW1lX2RpZyAtNgogICAgZ2xvYmFsIFplcm9BZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFjY291bnQgZnJvbSBmdW5jdGlvbgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTU3CiAgICAvLyBhc3NlcnQgYXBwbGljYXRpb25fZnJvbV9zdG9yYWdlID09IEFwcGxpY2F0aW9uKDEyMyksICJ3cm9uZyBhcHBsaWNhdGlvbiBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTUKICAgIGludCAxMjMKICAgID09CiAgICBhc3NlcnQgLy8gd3JvbmcgYXBwbGljYXRpb24gZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNTgKICAgIC8vIGFzc2VydCBhcHBsaWNhdGlvbl9mcm9tX2Z1bmN0aW9uID09IEFwcGxpY2F0aW9uKDQ1NiksICJ3cm9uZyBhcHBsaWNhdGlvbiBmcm9tIGZ1bmN0aW9uIgogICAgZnJhbWVfZGlnIC00CiAgICBpbnQgNDU2CiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFwcGxpY2F0aW9uIGZyb20gZnVuY3Rpb24KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE1OQogICAgLy8gYXNzZXJ0IGJ5dGVzX2Zyb21fc3RvcmFnZVswXSA9PSBhcmM0LkJ5dGUoNyksICJ3cm9uZyAwdGggYnl0ZSBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTMKICAgIGV4dHJhY3QgMCAxCiAgICBieXRlIDB4MDcKICAgIGI9PQogICAgYXNzZXJ0IC8vIHdyb25nIDB0aCBieXRlIGZyb20gc3RvcmFnZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTYwCiAgICAvLyBhc3NlcnQgYnl0ZXNfZnJvbV9zdG9yYWdlWzFdID09IGFyYzQuQnl0ZSg4KSwgIndyb25nIDFzdCBieXRlIGZyb20gc3RvcmFnZSIKICAgIGZyYW1lX2RpZyAtMwogICAgZXh0cmFjdCAxIDEKICAgIGJ5dGUgMHgwOAogICAgYj09CiAgICBhc3NlcnQgLy8gd3JvbmcgMXN0IGJ5dGUgZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNjEKICAgIC8vIGFzc2VydCBieXRlc19mcm9tX3N0b3JhZ2VbMl0gPT0gYXJjNC5CeXRlKDkpLCAid3JvbmcgMm5kIGJ5dGUgZnJvbSBzdG9yYWdlIgogICAgZnJhbWVfZGlnIC0zCiAgICBleHRyYWN0IDIgMQogICAgYnl0ZSAweDA5CiAgICBiPT0KICAgIGFzc2VydCAvLyB3cm9uZyAybmQgYnl0ZSBmcm9tIHN0b3JhZ2UKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE2MgogICAgLy8gYXNzZXJ0IGludF9mcm9tX3N0b3JhZ2UuZGVjb2RlKCkgPT0gMiwgIndyb25nIGludCBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTIKICAgIGJ0b2kKICAgIGludCAyCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGludCBmcm9tIHN0b3JhZ2UKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE2MwogICAgLy8gYXNzZXJ0IGludF9mcm9tX2Z1bmN0aW9uLmRlY29kZSgpID09IDMsICJ3cm9uZyBpbnQgZnJvbSBmdW5jdGlvbiIKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgaW50IDMKICAgID09CiAgICBhc3NlcnQgLy8gd3JvbmcgaW50IGZyb20gZnVuY3Rpb24KICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLm1ldGhvZF93aXRoX21vcmVfdGhhbl8xNV9hcmdzKGE6IGJ5dGVzLCBiOiBieXRlcywgYzogYnl0ZXMsIGQ6IHVpbnQ2NCwgYXNzZXQ6IHVpbnQ2NCwgZTogYnl0ZXMsIGY6IGJ5dGVzLCBwYXk6IHVpbnQ2NCwgZzogYnl0ZXMsIGg6IGJ5dGVzLCBpOiBieXRlcywgajogYnl0ZXMsIGs6IGJ5dGVzLCBsOiBieXRlcywgbTogYnl0ZXMsIG46IGJ5dGVzLCBvOiBieXRlcywgcDogdWludDY0LCBxOiBieXRlcywgcjogYnl0ZXMsIHM6IGJ5dGVzLCB0OiBieXRlcywgYXNzZXQyOiB1aW50NjQsIHBheTI6IHVpbnQ2NCwgdTogYnl0ZXMsIHY6IGJ5dGVzKSAtPiBieXRlczoKbWV0aG9kX3dpdGhfbW9yZV90aGFuXzE1X2FyZ3M6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNjUtMTk1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIC8vIGRlZiBtZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJncygKICAgIC8vICAgICBzZWxmLAogICAgLy8gICAgIGE6IGFyYzQuVUludDY0LAogICAgLy8gICAgIGI6IGFyYzQuVUludDY0LAogICAgLy8gICAgIGM6IGFyYzQuVUludDY0LAogICAgLy8gICAgIGQ6IFVJbnQ2NCwKICAgIC8vICAgICBhc3NldDogQXNzZXQsCiAgICAvLyAgICAgZTogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgZjogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgcGF5OiBndHhuLlBheW1lbnRUcmFuc2FjdGlvbiwKICAgIC8vICAgICBnOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBoOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBpOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBqOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBrOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICAjIHJ1ZmY6IG5vcWE6IEU3NDEKICAgIC8vICAgICBsOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBtOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBuOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBvOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBwOiBVSW50NjQsCiAgICAvLyAgICAgcTogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgcjogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgczogQnl0ZXMsCiAgICAvLyAgICAgdDogQnl0ZXMsCiAgICAvLyAgICAgYXNzZXQyOiBBc3NldCwKICAgIC8vICAgICBwYXkyOiBndHhuLlBheW1lbnRUcmFuc2FjdGlvbiwKICAgIC8vICAgICB1OiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICB2OiBhcmM0LlVJbnQ2NCwKICAgIC8vICkgLT4gYXJjNC5VSW50NjQ6CiAgICBwcm90byAyNiAxCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDAKICAgIC8vIGFzc2VydCBvcC5UcmFuc2FjdGlvbi5udW1fYXBwX2FyZ3MgPT0gMTYKICAgIHR4biBOdW1BcHBBcmdzCiAgICBpbnQgMTYKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwMQogICAgLy8gYXNzZXJ0IHBheS5hbW91bnQgPT0gMTAwMDAwCiAgICBmcmFtZV9kaWcgLTE5CiAgICBndHhucyBBbW91bnQKICAgIGludCAxMDAwMDAKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwMgogICAgLy8gYXNzZXJ0IHBheTIuYW1vdW50ID09IDIwMDAwMAogICAgZnJhbWVfZGlnIC0zCiAgICBndHhucyBBbW91bnQKICAgIGludCAyMDAwMDAKICAgID09CiAgICBhc3NlcnQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwMwogICAgLy8gYXNzZXJ0IGFzc2V0LmFzc2V0X2lkCiAgICBmcmFtZV9kaWcgLTIyCiAgICBhc3NlcnQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwNAogICAgLy8gYXNzZXJ0IGFzc2V0Mi5hc3NldF9pZAogICAgZnJhbWVfZGlnIC00CiAgICBhc3NlcnQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwNgogICAgLy8gbG9nKHMgKyB0KQogICAgZnJhbWVfZGlnIC02CiAgICBmcmFtZV9kaWcgLTUKICAgIGNvbmNhdAogICAgbG9nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDkKICAgIC8vIGEuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMjYKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxMAogICAgLy8gKyBiLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTI1CiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjEwCiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxMQogICAgLy8gKyBjLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTI0CiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjExCiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxMgogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgZnJhbWVfZGlnIC0yMwogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEzCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMjEKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTMKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjE0CiAgICAvLyArIGYuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMjAKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTQKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTUKICAgIC8vICsgZy5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xOAogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxNQogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjE2CiAgICAvLyArIGguZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTcKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTYKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjE3CiAgICAvLyArIGkuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTYKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTcKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTgKICAgIC8vICsgai5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xNQogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxOAogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjE5CiAgICAvLyArIGsuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTQKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTkKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjIwCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTMKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjAKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMjEKICAgIC8vICsgbS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xMgogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyMQogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjIyCiAgICAvLyArIG4uZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTEKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjIKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjIzCiAgICAvLyArIG8uZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMTAKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjMKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgLy8gKyBvLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjI0CiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIC8vICsgZi5kZWNvZGUoKQogICAgLy8gKyBnLmRlY29kZSgpCiAgICAvLyArIGguZGVjb2RlKCkKICAgIC8vICsgaS5kZWNvZGUoKQogICAgLy8gKyBqLmRlY29kZSgpCiAgICAvLyArIGsuZGVjb2RlKCkKICAgIC8vICsgbC5kZWNvZGUoKQogICAgLy8gKyBtLmRlY29kZSgpCiAgICAvLyArIG4uZGVjb2RlKCkKICAgIC8vICsgby5kZWNvZGUoKQogICAgLy8gKyBwCiAgICBmcmFtZV9kaWcgLTkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIyNQogICAgLy8gKyBxLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTgKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjUKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgLy8gKyBvLmRlY29kZSgpCiAgICAvLyArIHAKICAgIC8vICsgcS5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjI2CiAgICAvLyArIHIuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtNwogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyNgogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICAvLyArIG8uZGVjb2RlKCkKICAgIC8vICsgcAogICAgLy8gKyBxLmRlY29kZSgpCiAgICAvLyArIHIuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIyNwogICAgLy8gKyB1LmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTIKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjcKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgLy8gKyBvLmRlY29kZSgpCiAgICAvLyArIHAKICAgIC8vICsgcS5kZWNvZGUoKQogICAgLy8gKyByLmRlY29kZSgpCiAgICAvLyArIHUuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIyOAogICAgLy8gKyB2LmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjgKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgLy8gKyBvLmRlY29kZSgpCiAgICAvLyArIHAKICAgIC8vICsgcS5kZWNvZGUoKQogICAgLy8gKyByLmRlY29kZSgpCiAgICAvLyArIHUuZGVjb2RlKCkKICAgIC8vICsgdi5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA4LTIyOQogICAgLy8gcmV0dXJuIGFyYzQuVUludDY0KAogICAgLy8gICAgIGEuZGVjb2RlKCkKICAgIC8vICAgICArIGIuZGVjb2RlKCkKICAgIC8vICAgICArIGMuZGVjb2RlKCkKICAgIC8vICAgICArIGQKICAgIC8vICAgICArIGUuZGVjb2RlKCkKICAgIC8vICAgICArIGYuZGVjb2RlKCkKICAgIC8vICAgICArIGcuZGVjb2RlKCkKICAgIC8vICAgICArIGguZGVjb2RlKCkKICAgIC8vICAgICArIGkuZGVjb2RlKCkKICAgIC8vICAgICArIGouZGVjb2RlKCkKICAgIC8vICAgICArIGsuZGVjb2RlKCkKICAgIC8vICAgICArIGwuZGVjb2RlKCkKICAgIC8vICAgICArIG0uZGVjb2RlKCkKICAgIC8vICAgICArIG4uZGVjb2RlKCkKICAgIC8vICAgICArIG8uZGVjb2RlKCkKICAgIC8vICAgICArIHAKICAgIC8vICAgICArIHEuZGVjb2RlKCkKICAgIC8vICAgICArIHIuZGVjb2RlKCkKICAgIC8vICAgICArIHUuZGVjb2RlKCkKICAgIC8vICAgICArIHYuZGVjb2RlKCkKICAgIC8vICkKICAgIGl0b2IKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLmJhcmVfYWJpX2NvbmZpZygpIC0+IHZvaWQ6CmJhcmVfYWJpX2NvbmZpZzoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjY1LTc1CiAgICAvLyBAYXJjNC5iYXJlbWV0aG9kKAogICAgLy8gICAgIGFsbG93X2FjdGlvbnM9WwogICAgLy8gICAgICAgICAiTm9PcCIsCiAgICAvLyAgICAgICAgICJPcHRJbiIsCiAgICAvLyAgICAgICAgICJDbG9zZU91dCIsCiAgICAvLyAgICAgICAgICJVcGRhdGVBcHBsaWNhdGlvbiIsCiAgICAvLyAgICAgICAgICJEZWxldGVBcHBsaWNhdGlvbiIsCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBjcmVhdGU9VHJ1ZSwKICAgIC8vICkKICAgIC8vIGRlZiBiYXJlX2FiaV9jb25maWcoc2VsZikgLT4gTm9uZToKICAgIHByb3RvIDAgMAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6NzYKICAgIC8vIGxvZyhiIkhlbGxvIFdvcmxkIikKICAgIGJ5dGUgIkhlbGxvIFdvcmxkIgogICAgbG9nCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5fX2luaXRfXygpIC0+IHZvaWQ6Cl9faW5pdF9fOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjIKICAgIC8vIGRlZiBfX2luaXRfXyhzZWxmKSAtPiBOb25lOgogICAgcHJvdG8gMCAwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMwogICAgLy8gc2VsZi5hc2EgPSBBc3NldCgxMjMpCiAgICBieXRlICJhc2EiCiAgICBpbnQgMTIzCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjQKICAgIC8vIHNlbGYuYW5faW50ID0gVUludDY0KDIpCiAgICBieXRlICJhbl9pbnQiCiAgICBpbnQgMgogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjI1CiAgICAvLyBzZWxmLnNvbWVfYnl0ZXMgPSBCeXRlczMoYXJjNC5CeXRlKDcpLCBhcmM0LkJ5dGUoOCksIGFyYzQuQnl0ZSg5KSkKICAgIGJ5dGUgInNvbWVfYnl0ZXMiCiAgICBieXRlIDB4MDcwODA5CiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjYKICAgIC8vIHNlbGYuY3JlYXRvciA9IG9wLlRyYW5zYWN0aW9uLnNlbmRlcgogICAgYnl0ZSAiY3JlYXRvciIKICAgIHR4biBTZW5kZXIKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyNwogICAgLy8gc2VsZi5hcHAgPSBBcHBsaWNhdGlvbigxMjMpCiAgICBieXRlICJhcHAiCiAgICBpbnQgMTIzCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjkKICAgIC8vIGFzc2VydCBhcmM0LmFyYzRfc2lnbmF0dXJlKCJnZXQodWludDY0LGJ5dGVbXSlieXRlW10iKSwgImhhcyBtZXRob2Qgc2VsZWN0b3IiCiAgICBtZXRob2QgImdldCh1aW50NjQsYnl0ZVtdKWJ5dGVbXSIKICAgIGxlbgogICAgYXNzZXJ0IC8vIGhhcyBtZXRob2Qgc2VsZWN0b3IKICAgIHJldHN1Ygo=", + "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCgp0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5hcHByb3ZhbF9wcm9ncmFtOgogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGJueiBtYWluX2VudHJ5cG9pbnRAMgogICAgY2FsbHN1YiBfX2luaXRfXwoKbWFpbl9lbnRyeXBvaW50QDI6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG4gTnVtQXBwQXJncwogICAgYnogbWFpbl9iYXJlX3JvdXRpbmdAMTgKICAgIG1ldGhvZCAibm9vcF93aXRoX3VpbnQ2NCh1aW50NjQpdWludDgiCiAgICBtZXRob2QgImFsbF90aGVfdGhpbmdzKHVpbnQ2NCl1aW50OCIKICAgIG1ldGhvZCAibWl4ZWRfb2NhKHVpbnQ2NCl1aW50OCIKICAgIG1ldGhvZCAib3B0X2ludG9fYXNzZXQoYXNzZXQpdm9pZCIKICAgIG1ldGhvZCAid2l0aF90cmFuc2FjdGlvbnMoYXNzZXQsdWludDY0LHBheSx1aW50NjQpdm9pZCIKICAgIG1ldGhvZCAiY29tcGFyZV9hc3NldHMoYXNzZXQsYXNzZXQpdm9pZCIKICAgIG1ldGhvZCAiZ2V0X2FkZHJlc3MoKWFkZHJlc3MiCiAgICBtZXRob2QgImdldF9hc3NldCgpdWludDY0IgogICAgbWV0aG9kICJnZXRfYXBwbGljYXRpb24oKXVpbnQ2NCIKICAgIG1ldGhvZCAiZ2V0X2FuX2ludCgpdWludDY0IgogICAgbWV0aG9kICJtZXRob2Rfd2l0aF9kZWZhdWx0X2FyZ3MoYXNzZXQsYXNzZXQsYWNjb3VudCxhY2NvdW50LGFwcGxpY2F0aW9uLGFwcGxpY2F0aW9uLGJ5dGVbM10sdWludDY0LHVpbnQ2NCl2b2lkIgogICAgbWV0aG9kICJtZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJncyh1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYXNzZXQsdWludDY0LHVpbnQ2NCxwYXksdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYnl0ZVtdLGJ5dGVbXSxhc3NldCxwYXksdWludDY0LHVpbnQ2NCl1aW50NjQiCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBtYXRjaCBtYWluX25vb3Bfd2l0aF91aW50NjRfcm91dGVANCBtYWluX2FsbF90aGVfdGhpbmdzX3JvdXRlQDUgbWFpbl9taXhlZF9vY2Ffcm91dGVANiBtYWluX29wdF9pbnRvX2Fzc2V0X3JvdXRlQDcgbWFpbl93aXRoX3RyYW5zYWN0aW9uc19yb3V0ZUA4IG1haW5fY29tcGFyZV9hc3NldHNfcm91dGVAOSBtYWluX2dldF9hZGRyZXNzX3JvdXRlQDEwIG1haW5fZ2V0X2Fzc2V0X3JvdXRlQDExIG1haW5fZ2V0X2FwcGxpY2F0aW9uX3JvdXRlQDEyIG1haW5fZ2V0X2FuX2ludF9yb3V0ZUAxMyBtYWluX21ldGhvZF93aXRoX2RlZmF1bHRfYXJnc19yb3V0ZUAxNCBtYWluX21ldGhvZF93aXRoX21vcmVfdGhhbl8xNV9hcmdzX3JvdXRlQDE1CiAgICBlcnIgLy8gcmVqZWN0IHRyYW5zYWN0aW9uCgptYWluX25vb3Bfd2l0aF91aW50NjRfcm91dGVANDoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMxCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxCiAgICAvLyBjbGFzcyBSZWZlcmVuY2UoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMxCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgbm9vcF93aXRoX3VpbnQ2NAogICAgYnl0ZSAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9hbGxfdGhlX3RoaW5nc19yb3V0ZUA1OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzYtNDcKICAgIC8vIEBhcmM0LmFiaW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLk9wdEluLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLlVwZGF0ZUFwcGxpY2F0aW9uLAogICAgLy8gICAgICAgICBPbkNvbXBsZXRlQWN0aW9uLkRlbGV0ZUFwcGxpY2F0aW9uLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgbmFtZT0iYWxsX3RoZV90aGluZ3MiLAogICAgLy8gICAgIGNyZWF0ZT0iYWxsb3ciLAogICAgLy8gICAgIHJlYWRvbmx5PVRydWUsCiAgICAvLyApCiAgICBjYWxsc3ViIGZ1bGxfYWJpX2NvbmZpZwogICAgYnl0ZSAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9taXhlZF9vY2Ffcm91dGVANjoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjUyLTYwCiAgICAvLyBAYXJjNC5hYmltZXRob2QoCiAgICAvLyAgICAgYWxsb3dfYWN0aW9ucz1bCiAgICAvLyAgICAgICAgICJOb09wIiwKICAgIC8vICAgICAgICAgIkNsb3NlT3V0IiwKICAgIC8vICAgICAgICAgIkRlbGV0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGNyZWF0ZT1GYWxzZSwKICAgIC8vICAgICByZWFkb25seT1UcnVlLAogICAgLy8gKQogICAgaW50IDEKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIHNobAogICAgaW50IDM3CiAgICAmCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIG9uZSBvZiBOb09wLCBDbG9zZU91dCwgRGVsZXRlQXBwbGljYXRpb24KICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo1Mi02MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGFsbG93X2FjdGlvbnM9WwogICAgLy8gICAgICAgICAiTm9PcCIsCiAgICAvLyAgICAgICAgICJDbG9zZU91dCIsCiAgICAvLyAgICAgICAgICJEZWxldGVBcHBsaWNhdGlvbiIsCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBjcmVhdGU9RmFsc2UsCiAgICAvLyAgICAgcmVhZG9ubHk9VHJ1ZSwKICAgIC8vICkKICAgIGNhbGxzdWIgbWl4ZWRfb2NhCiAgICBieXRlIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX29wdF9pbnRvX2Fzc2V0X3JvdXRlQDc6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo3OAogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojc4CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgb3B0X2ludG9fYXNzZXQKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fd2l0aF90cmFuc2FjdGlvbnNfcm91dGVAODoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojk1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxCiAgICAvLyBjbGFzcyBSZWZlcmVuY2UoQVJDNENvbnRyYWN0KToKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludCAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnQgcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBjYWxsc3ViIHdpdGhfdHJhbnNhY3Rpb25zCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2NvbXBhcmVfYXNzZXRzX3JvdXRlQDk6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDgKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGlzIG5vdCBjcmVhdGluZwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgYnRvaQogICAgdHhuYXMgQXNzZXRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEwOAogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICBjYWxsc3ViIGNvbXBhcmVfYXNzZXRzCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2dldF9hZGRyZXNzX3JvdXRlQDEwOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTEyCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZ2V0X2FkZHJlc3MKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2Fzc2V0X3JvdXRlQDExOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTE2CiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIHR4biBPbkNvbXBsZXRpb24KICAgICEKICAgIGFzc2VydCAvLyBPbkNvbXBsZXRpb24gaXMgTm9PcAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGFzc2VydCAvLyBpcyBub3QgY3JlYXRpbmcKICAgIGNhbGxzdWIgZ2V0X2Fzc2V0CiAgICBieXRlIDB4MTUxZjdjNzUKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnQgMQogICAgcmV0dXJuCgptYWluX2dldF9hcHBsaWNhdGlvbl9yb3V0ZUAxMjoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyMAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUsIG5hbWU9ImdldF9hcHBsaWNhdGlvbiIpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICBjYWxsc3ViIGdldF9hcHAKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fZ2V0X2FuX2ludF9yb3V0ZUAxMzoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyNAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKHJlYWRvbmx5PVRydWUsIG5hbWU9ImdldF9hbl9pbnQiKQogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBpcyBOb09wCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgYXNzZXJ0IC8vIGlzIG5vdCBjcmVhdGluZwogICAgY2FsbHN1YiBnZXRfYV9pbnQKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fbWV0aG9kX3dpdGhfZGVmYXVsdF9hcmdzX3JvdXRlQDE0OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI4LTE0MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGRlZmF1bHRfYXJncz17CiAgICAvLyAgICAgICAgICJhc3NldF9mcm9tX3N0b3JhZ2UiOiAiYXNhIiwKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fZnVuY3Rpb24iOiBnZXRfYXNzZXQsCiAgICAvLyAgICAgICAgICJhY2NvdW50X2Zyb21fc3RvcmFnZSI6ICJjcmVhdG9yIiwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYWRkcmVzcyIsCiAgICAvLyAgICAgICAgICJhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2UiOiAiYXBwIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb24iOiBnZXRfYXBwLAogICAgLy8gICAgICAgICAiYnl0ZXNfZnJvbV9zdG9yYWdlIjogInNvbWVfYnl0ZXMiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fc3RvcmFnZSI6ICJhbl9pbnQiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fZnVuY3Rpb24iOiAiZ2V0X2FfaW50IiwKICAgIC8vICAgICB9CiAgICAvLyApCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGJ0b2kKICAgIHR4bmFzIEFzc2V0cwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwogICAgYnRvaQogICAgdHhuYXMgQWNjb3VudHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGJ0b2kKICAgIHR4bmFzIEFjY291bnRzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA1CiAgICBidG9pCiAgICB0eG5hcyBBcHBsaWNhdGlvbnMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIGJ0b2kKICAgIHR4bmFzIEFwcGxpY2F0aW9ucwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgNwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI4LTE0MAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGRlZmF1bHRfYXJncz17CiAgICAvLyAgICAgICAgICJhc3NldF9mcm9tX3N0b3JhZ2UiOiAiYXNhIiwKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fZnVuY3Rpb24iOiBnZXRfYXNzZXQsCiAgICAvLyAgICAgICAgICJhY2NvdW50X2Zyb21fc3RvcmFnZSI6ICJjcmVhdG9yIiwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYWRkcmVzcyIsCiAgICAvLyAgICAgICAgICJhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2UiOiAiYXBwIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb24iOiBnZXRfYXBwLAogICAgLy8gICAgICAgICAiYnl0ZXNfZnJvbV9zdG9yYWdlIjogInNvbWVfYnl0ZXMiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fc3RvcmFnZSI6ICJhbl9pbnQiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fZnVuY3Rpb24iOiAiZ2V0X2FfaW50IiwKICAgIC8vICAgICB9CiAgICAvLyApCiAgICBjYWxsc3ViIG1ldGhvZF93aXRoX2RlZmF1bHRfYXJncwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9tZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJnc19yb3V0ZUAxNToKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE2NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQgLy8gT25Db21wbGV0aW9uIGlzIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQgLy8gaXMgbm90IGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMQogICAgLy8gY2xhc3MgUmVmZXJlbmNlKEFSQzRDb250cmFjdCk6CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAyCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAzCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA0CiAgICBidG9pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyA1CiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDYKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDcKICAgIHR4biBHcm91cEluZGV4CiAgICBpbnQgMgogICAgLQogICAgZHVwCiAgICBndHhucyBUeXBlRW51bQogICAgaW50IHBheQogICAgPT0KICAgIGFzc2VydCAvLyB0cmFuc2FjdGlvbiB0eXBlIGlzIHBheQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgOQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDExCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxMgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTMKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE0CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxNQogICAgZXh0cmFjdCAwIDgKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE1CiAgICBleHRyYWN0IDggOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMTYgOAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMjQgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgMzIgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGR1cAogICAgaW50IDQwCiAgICBleHRyYWN0X3VpbnQxNgogICAgZHVwMgogICAgZXh0cmFjdF91aW50MTYKICAgIGludCAyCiAgICArCiAgICBleHRyYWN0MwogICAgZXh0cmFjdCAyIDAKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDE1CiAgICBkdXAKICAgIGludCA0MgogICAgZXh0cmFjdF91aW50MTYKICAgIGR1cDIKICAgIGV4dHJhY3RfdWludDE2CiAgICBpbnQgMgogICAgKwogICAgZXh0cmFjdDMKICAgIGV4dHJhY3QgMiAwCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxNQogICAgZXh0cmFjdCA0NCAxCiAgICBidG9pCiAgICB0eG5hcyBBc3NldHMKICAgIHR4biBHcm91cEluZGV4CiAgICBpbnQgMQogICAgLQogICAgZHVwCiAgICBndHhucyBUeXBlRW51bQogICAgaW50IHBheQogICAgPT0KICAgIGFzc2VydCAvLyB0cmFuc2FjdGlvbiB0eXBlIGlzIHBheQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgNDUgOAogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMTUKICAgIGV4dHJhY3QgNTMgOAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTY1CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIGNhbGxzdWIgbWV0aG9kX3dpdGhfbW9yZV90aGFuXzE1X2FyZ3MKICAgIGJ5dGUgMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludCAxCiAgICByZXR1cm4KCm1haW5fYmFyZV9yb3V0aW5nQDE4OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgc3dpdGNoIG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fYmFyZV9hYmlfY29uZmlnQDE5IG1haW5fcmVqZWN0X2JhcmVfb25fY29tcGxldGlvbkAyMCBtYWluX2JhcmVfYWJpX2NvbmZpZ0AxOSBtYWluX2JhcmVfYWJpX2NvbmZpZ0AxOQogICAgZXJyIC8vIHJlamVjdCB0cmFuc2FjdGlvbgoKbWFpbl9iYXJlX2FiaV9jb25maWdAMTk6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo2NS03NAogICAgLy8gQGFyYzQuYmFyZW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICAiT3B0SW4iLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICAiVXBkYXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgICAgICAiRGVsZXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgY3JlYXRlPVRydWUsCiAgICAvLyApCiAgICB0eG4gQXBwbGljYXRpb25JRAogICAgIQogICAgYXNzZXJ0IC8vIGlzIGNyZWF0aW5nCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo2NS03NQogICAgLy8gQGFyYzQuYmFyZW1ldGhvZCgKICAgIC8vICAgICBhbGxvd19hY3Rpb25zPVsKICAgIC8vICAgICAgICAgIk5vT3AiLAogICAgLy8gICAgICAgICAiT3B0SW4iLAogICAgLy8gICAgICAgICAiQ2xvc2VPdXQiLAogICAgLy8gICAgICAgICAiVXBkYXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgICAgICAiRGVsZXRlQXBwbGljYXRpb24iLAogICAgLy8gICAgIF0sCiAgICAvLyAgICAgY3JlYXRlPVRydWUsCiAgICAvLyApCiAgICAvLyBkZWYgYmFyZV9hYmlfY29uZmlnKHNlbGYpIC0+IE5vbmU6CiAgICBjYWxsc3ViIGJhcmVfYWJpX2NvbmZpZwogICAgaW50IDEKICAgIHJldHVybgoKbWFpbl9yZWplY3RfYmFyZV9vbl9jb21wbGV0aW9uQDIwOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgZXJyIC8vIHJlamVjdCB0cmFuc2FjdGlvbgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLm5vb3Bfd2l0aF91aW50NjQoYTogYnl0ZXMpIC0+IGJ5dGVzOgpub29wX3dpdGhfdWludDY0OgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzEtMzIKICAgIC8vIEBhcmM0LmFiaW1ldGhvZAogICAgLy8gZGVmIG5vb3Bfd2l0aF91aW50NjQoc2VsZiwgYTogYXJjNC5VSW50NjQpIC0+IGFyYzQuVUludDg6CiAgICBwcm90byAxIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjMzCiAgICAvLyByZXN1bHQgPSAxICsgYS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xCiAgICBidG9pCiAgICBpbnQgMQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MzQKICAgIC8vIHJldHVybiBhcmM0LlVJbnQ4KHJlc3VsdCkKICAgIGl0b2IKICAgIGV4dHJhY3QgNyAxCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5mdWxsX2FiaV9jb25maWcoYTogYnl0ZXMpIC0+IGJ5dGVzOgpmdWxsX2FiaV9jb25maWc6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTozNi00OAogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGFsbG93X2FjdGlvbnM9WwogICAgLy8gICAgICAgICAiTm9PcCIsCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uT3B0SW4sCiAgICAvLyAgICAgICAgICJDbG9zZU91dCIsCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uVXBkYXRlQXBwbGljYXRpb24sCiAgICAvLyAgICAgICAgIE9uQ29tcGxldGVBY3Rpb24uRGVsZXRlQXBwbGljYXRpb24sCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBuYW1lPSJhbGxfdGhlX3RoaW5ncyIsCiAgICAvLyAgICAgY3JlYXRlPSJhbGxvdyIsCiAgICAvLyAgICAgcmVhZG9ubHk9VHJ1ZSwKICAgIC8vICkKICAgIC8vIGRlZiBmdWxsX2FiaV9jb25maWcoc2VsZiwgYTogYXJjNC5VSW50NjQpIC0+IGFyYzQuVUludDg6CiAgICBwcm90byAxIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjQ5CiAgICAvLyByZXN1bHQgPSBVSW50NjQoMSkgKyBhLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIGludCAxCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo1MAogICAgLy8gcmV0dXJuIGFyYzQuVUludDgocmVzdWx0KQogICAgaXRvYgogICAgZXh0cmFjdCA3IDEKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLm1peGVkX29jYShhOiBieXRlcykgLT4gYnl0ZXM6Cm1peGVkX29jYToKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjUyLTYxCiAgICAvLyBAYXJjNC5hYmltZXRob2QoCiAgICAvLyAgICAgYWxsb3dfYWN0aW9ucz1bCiAgICAvLyAgICAgICAgICJOb09wIiwKICAgIC8vICAgICAgICAgIkNsb3NlT3V0IiwKICAgIC8vICAgICAgICAgIkRlbGV0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGNyZWF0ZT1GYWxzZSwKICAgIC8vICAgICByZWFkb25seT1UcnVlLAogICAgLy8gKQogICAgLy8gZGVmIG1peGVkX29jYShzZWxmLCBhOiBhcmM0LlVJbnQ2NCkgLT4gYXJjNC5VSW50ODoKICAgIHByb3RvIDEgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6NjIKICAgIC8vIHJlc3VsdCA9IFVJbnQ2NCgxKSArIGEuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgaW50IDEKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjYzCiAgICAvLyByZXR1cm4gYXJjNC5VSW50OChyZXN1bHQpCiAgICBpdG9iCiAgICBleHRyYWN0IDcgMQogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2Uub3B0X2ludG9fYXNzZXQoYXNzZXQ6IHVpbnQ2NCkgLT4gdm9pZDoKb3B0X2ludG9fYXNzZXQ6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo3OC03OQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICAvLyBkZWYgb3B0X2ludG9fYXNzZXQoc2VsZiwgYXNzZXQ6IEFzc2V0KSAtPiBOb25lOgogICAgcHJvdG8gMSAwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo4MC04MQogICAgLy8gIyBPbmx5IGFsbG93IGFwcCBjcmVhdG9yIHRvIG9wdCB0aGUgYXBwIGFjY291bnQgaW50byBhIEFTQQogICAgLy8gYXNzZXJ0IG9wLlR4bi5zZW5kZXIgPT0gb3AuR2xvYmFsLmNyZWF0b3JfYWRkcmVzcywgIk9ubHkgY3JlYXRvciBjYW4gb3B0IGluIHRvIEFTQSIKICAgIHR4biBTZW5kZXIKICAgIGdsb2JhbCBDcmVhdG9yQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyBPbmx5IGNyZWF0b3IgY2FuIG9wdCBpbiB0byBBU0EKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjgyLTgzCiAgICAvLyAjIFZlcmlmeSBhIEFTQSBoYXNuJ3QgYWxyZWFkeSBiZWVuIG9wdGVkIGludG8KICAgIC8vIGFzc2VydCBub3Qgc2VsZi5hc2EsICJBU0EgYWxyZWFkeSBvcHRlZCBpbiIKICAgIGludCAwCiAgICBieXRlICJhc2EiCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIHZhbHVlIGV4aXN0cwogICAgIQogICAgYXNzZXJ0IC8vIEFTQSBhbHJlYWR5IG9wdGVkIGluCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo4NC04NQogICAgLy8gIyBTYXZlIEFTQSBJRCBpbiBnbG9iYWwgc3RhdGUKICAgIC8vIHNlbGYuYXNhID0gYXNzZXQKICAgIGJ5dGUgImFzYSIKICAgIGZyYW1lX2RpZyAtMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5Ojg3LTg4CiAgICAvLyAjIFN1Ym1pdCBvcHQtaW4gdHJhbnNhY3Rpb246IDAgYXNzZXQgdHJhbnNmZXIgdG8gc2VsZgogICAgLy8gb3AuSVR4bkNyZWF0ZS5iZWdpbigpCiAgICBpdHhuX2JlZ2luCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo4OQogICAgLy8gb3AuSVR4bkNyZWF0ZS5zZXRfdHlwZV9lbnVtKFRyYW5zYWN0aW9uVHlwZS5Bc3NldFRyYW5zZmVyKQogICAgaW50IGF4ZmVyCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5MAogICAgLy8gb3AuSVR4bkNyZWF0ZS5zZXRfZmVlKFVJbnQ2NCgwKSkgICMgY292ZXIgZmVlIHdpdGggb3V0ZXIgdHhuCiAgICBpbnQgMAogICAgaXR4bl9maWVsZCBGZWUKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjkxCiAgICAvLyBvcC5JVHhuQ3JlYXRlLnNldF9hc3NldF9yZWNlaXZlcihvcC5HbG9iYWwuY3VycmVudF9hcHBsaWNhdGlvbl9hZGRyZXNzKQogICAgZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKICAgIGl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6OTIKICAgIC8vIG9wLklUeG5DcmVhdGUuc2V0X3hmZXJfYXNzZXQoYXNzZXQuYXNzZXRfaWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGl0eG5fZmllbGQgWGZlckFzc2V0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo5MwogICAgLy8gb3AuSVR4bkNyZWF0ZS5zdWJtaXQoKQogICAgaXR4bl9zdWJtaXQKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLndpdGhfdHJhbnNhY3Rpb25zKGFzc2V0OiB1aW50NjQsIGFuX2ludDogYnl0ZXMsIHBheTogdWludDY0LCBhbm90aGVyX2ludDogYnl0ZXMpIC0+IHZvaWQ6CndpdGhfdHJhbnNhY3Rpb25zOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6OTUtMTAyCiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIC8vIGRlZiB3aXRoX3RyYW5zYWN0aW9ucygKICAgIC8vICAgICBzZWxmLAogICAgLy8gICAgIGFzc2V0OiBBc3NldCwKICAgIC8vICAgICBhbl9pbnQ6IGFyYzQuVUludDY0LAogICAgLy8gICAgIHBheTogZ3R4bi5QYXltZW50VHJhbnNhY3Rpb24sCiAgICAvLyAgICAgYW5vdGhlcl9pbnQ6IGFyYzQuVUludDY0LAogICAgLy8gKSAtPiBOb25lOgogICAgcHJvdG8gNCAwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDMKICAgIC8vIGFzc2VydCBzZWxmLmFzYSA9PSBhc3NldCwgImlzIGNvcnJlY3QgYXNzZXQiCiAgICBpbnQgMAogICAgYnl0ZSAiYXNhIgogICAgYXBwX2dsb2JhbF9nZXRfZXgKICAgIGFzc2VydCAvLyBjaGVjayB2YWx1ZSBleGlzdHMKICAgIGZyYW1lX2RpZyAtNAogICAgPT0KICAgIGFzc2VydCAvLyBpcyBjb3JyZWN0IGFzc2V0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDQKICAgIC8vIGFzc2VydCBhbl9pbnQuZGVjb2RlKCkgPT0gMSwgImlzIGNvcnJlY3QgaW50IgogICAgZnJhbWVfZGlnIC0zCiAgICBidG9pCiAgICBpbnQgMQogICAgPT0KICAgIGFzc2VydCAvLyBpcyBjb3JyZWN0IGludAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTA1CiAgICAvLyBhc3NlcnQgcGF5LnJlY2VpdmVyID09IG9wLkdsb2JhbC5jdXJyZW50X2FwcGxpY2F0aW9uX2FkZHJlc3MsICJpcyBwYXltZW50IHRvIGFwcCIKICAgIGZyYW1lX2RpZyAtMgogICAgZ3R4bnMgUmVjZWl2ZXIKICAgIGdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIGlzIHBheW1lbnQgdG8gYXBwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDYKICAgIC8vIGFzc2VydCBhbm90aGVyX2ludC5kZWNvZGUoKSA9PSAyLCAiaXMgY29ycmVjdCBpbnQiCiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIGludCAyCiAgICA9PQogICAgYXNzZXJ0IC8vIGlzIGNvcnJlY3QgaW50CiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5jb21wYXJlX2Fzc2V0cyhhc3NldF9hOiB1aW50NjQsIGFzc2V0X2I6IHVpbnQ2NCkgLT4gdm9pZDoKY29tcGFyZV9hc3NldHM6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMDgtMTA5CiAgICAvLyBAYXJjNC5hYmltZXRob2QKICAgIC8vIGRlZiBjb21wYXJlX2Fzc2V0cyhzZWxmLCBhc3NldF9hOiBBc3NldCwgYXNzZXRfYjogQXNzZXQpIC0+IE5vbmU6CiAgICBwcm90byAyIDAKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjExMAogICAgLy8gYXNzZXJ0IGFzc2V0X2EgPT0gYXNzZXRfYiwgImFzc2V0IGEgPT0gYiIKICAgIGZyYW1lX2RpZyAtMgogICAgZnJhbWVfZGlnIC0xCiAgICA9PQogICAgYXNzZXJ0IC8vIGFzc2V0IGEgPT0gYgogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2UuZ2V0X2FkZHJlc3MoKSAtPiBieXRlczoKZ2V0X2FkZHJlc3M6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMTItMTEzCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYWRkcmVzcyhzZWxmKSAtPiBhcmM0LkFkZHJlc3M6CiAgICBwcm90byAwIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjExNAogICAgLy8gcmV0dXJuIGFyYzQuQWRkcmVzcy5mcm9tX2J5dGVzKG9wLkdsb2JhbC56ZXJvX2FkZHJlc3MuYnl0ZXMpCiAgICBnbG9iYWwgWmVyb0FkZHJlc3MKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLmdldF9hc3NldCgpIC0+IGJ5dGVzOgpnZXRfYXNzZXQ6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMTYtMTE3CiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSkKICAgIC8vIGRlZiBnZXRfYXNzZXQoc2VsZikgLT4gYXJjNC5VSW50NjQ6CiAgICBwcm90byAwIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjExOAogICAgLy8gcmV0dXJuIGFyYzQuVUludDY0KDQ1NikKICAgIGJ5dGUgMHgwMDAwMDAwMDAwMDAwMWM4CiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5nZXRfYXBwKCkgLT4gYnl0ZXM6CmdldF9hcHA6CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMjAtMTIxCiAgICAvLyBAYXJjNC5hYmltZXRob2QocmVhZG9ubHk9VHJ1ZSwgbmFtZT0iZ2V0X2FwcGxpY2F0aW9uIikKICAgIC8vIGRlZiBnZXRfYXBwKHNlbGYpIC0+IGFyYzQuVUludDY0OgogICAgcHJvdG8gMCAxCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxMjIKICAgIC8vIHJldHVybiBhcmM0LlVJbnQ2NCg0NTYpCiAgICBieXRlIDB4MDAwMDAwMDAwMDAwMDFjOAogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2UuZ2V0X2FfaW50KCkgLT4gYnl0ZXM6CmdldF9hX2ludDoKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyNC0xMjUKICAgIC8vIEBhcmM0LmFiaW1ldGhvZChyZWFkb25seT1UcnVlLCBuYW1lPSJnZXRfYW5faW50IikKICAgIC8vIGRlZiBnZXRfYV9pbnQoc2VsZikgLT4gYXJjNC5VSW50NjQ6CiAgICBwcm90byAwIDEKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjEyNgogICAgLy8gcmV0dXJuIGFyYzQuVUludDY0KDMpCiAgICBieXRlIDB4MDAwMDAwMDAwMDAwMDAwMwogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2UubWV0aG9kX3dpdGhfZGVmYXVsdF9hcmdzKGFzc2V0X2Zyb21fc3RvcmFnZTogdWludDY0LCBhc3NldF9mcm9tX2Z1bmN0aW9uOiB1aW50NjQsIGFjY291bnRfZnJvbV9zdG9yYWdlOiBieXRlcywgYWNjb3VudF9mcm9tX2Z1bmN0aW9uOiBieXRlcywgYXBwbGljYXRpb25fZnJvbV9zdG9yYWdlOiB1aW50NjQsIGFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb246IHVpbnQ2NCwgYnl0ZXNfZnJvbV9zdG9yYWdlOiBieXRlcywgaW50X2Zyb21fc3RvcmFnZTogYnl0ZXMsIGludF9mcm9tX2Z1bmN0aW9uOiBieXRlcykgLT4gdm9pZDoKbWV0aG9kX3dpdGhfZGVmYXVsdF9hcmdzOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTI4LTE1MgogICAgLy8gQGFyYzQuYWJpbWV0aG9kKAogICAgLy8gICAgIGRlZmF1bHRfYXJncz17CiAgICAvLyAgICAgICAgICJhc3NldF9mcm9tX3N0b3JhZ2UiOiAiYXNhIiwKICAgIC8vICAgICAgICAgImFzc2V0X2Zyb21fZnVuY3Rpb24iOiBnZXRfYXNzZXQsCiAgICAvLyAgICAgICAgICJhY2NvdW50X2Zyb21fc3RvcmFnZSI6ICJjcmVhdG9yIiwKICAgIC8vICAgICAgICAgImFjY291bnRfZnJvbV9mdW5jdGlvbiI6ICJnZXRfYWRkcmVzcyIsCiAgICAvLyAgICAgICAgICJhcHBsaWNhdGlvbl9mcm9tX3N0b3JhZ2UiOiAiYXBwIiwKICAgIC8vICAgICAgICAgImFwcGxpY2F0aW9uX2Zyb21fZnVuY3Rpb24iOiBnZXRfYXBwLAogICAgLy8gICAgICAgICAiYnl0ZXNfZnJvbV9zdG9yYWdlIjogInNvbWVfYnl0ZXMiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fc3RvcmFnZSI6ICJhbl9pbnQiLAogICAgLy8gICAgICAgICAiaW50X2Zyb21fZnVuY3Rpb24iOiAiZ2V0X2FfaW50IiwKICAgIC8vICAgICB9CiAgICAvLyApCiAgICAvLyBkZWYgbWV0aG9kX3dpdGhfZGVmYXVsdF9hcmdzKAogICAgLy8gICAgIHNlbGYsCiAgICAvLyAgICAgYXNzZXRfZnJvbV9zdG9yYWdlOiBBc3NldCwKICAgIC8vICAgICBhc3NldF9mcm9tX2Z1bmN0aW9uOiBBc3NldCwKICAgIC8vICAgICBhY2NvdW50X2Zyb21fc3RvcmFnZTogQWNjb3VudCwKICAgIC8vICAgICBhY2NvdW50X2Zyb21fZnVuY3Rpb246IEFjY291bnQsCiAgICAvLyAgICAgYXBwbGljYXRpb25fZnJvbV9zdG9yYWdlOiBBcHBsaWNhdGlvbiwKICAgIC8vICAgICBhcHBsaWNhdGlvbl9mcm9tX2Z1bmN0aW9uOiBBcHBsaWNhdGlvbiwKICAgIC8vICAgICBieXRlc19mcm9tX3N0b3JhZ2U6IEJ5dGVzMywKICAgIC8vICAgICBpbnRfZnJvbV9zdG9yYWdlOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBpbnRfZnJvbV9mdW5jdGlvbjogYXJjNC5VSW50NjQsCiAgICAvLyApIC0+IE5vbmU6CiAgICBwcm90byA5IDAKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE1MwogICAgLy8gYXNzZXJ0IGFzc2V0X2Zyb21fc3RvcmFnZSA9PSBBc3NldCgxMjMpLCAid3JvbmcgYXNzZXQgZnJvbSBzdG9yYWdlIgogICAgZnJhbWVfZGlnIC05CiAgICBpbnQgMTIzCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFzc2V0IGZyb20gc3RvcmFnZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTU0CiAgICAvLyBhc3NlcnQgYXNzZXRfZnJvbV9mdW5jdGlvbiA9PSBBc3NldCg0NTYpLCAid3JvbmcgYXNzZXQgZnJvbSBmdW5jdGlvbiIKICAgIGZyYW1lX2RpZyAtOAogICAgaW50IDQ1NgogICAgPT0KICAgIGFzc2VydCAvLyB3cm9uZyBhc3NldCBmcm9tIGZ1bmN0aW9uCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNTUKICAgIC8vIGFzc2VydCBhY2NvdW50X2Zyb21fc3RvcmFnZSA9PSBvcC5HbG9iYWwuY3JlYXRvcl9hZGRyZXNzLCAid3JvbmcgYWNjb3VudCBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTcKICAgIGdsb2JhbCBDcmVhdG9yQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyB3cm9uZyBhY2NvdW50IGZyb20gc3RvcmFnZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTU2CiAgICAvLyBhc3NlcnQgYWNjb3VudF9mcm9tX2Z1bmN0aW9uID09IG9wLkdsb2JhbC56ZXJvX2FkZHJlc3MsICJ3cm9uZyBhY2NvdW50IGZyb20gZnVuY3Rpb24iCiAgICBmcmFtZV9kaWcgLTYKICAgIGdsb2JhbCBaZXJvQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyB3cm9uZyBhY2NvdW50IGZyb20gZnVuY3Rpb24KICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE1NwogICAgLy8gYXNzZXJ0IGFwcGxpY2F0aW9uX2Zyb21fc3RvcmFnZSA9PSBBcHBsaWNhdGlvbigxMjMpLCAid3JvbmcgYXBwbGljYXRpb24gZnJvbSBzdG9yYWdlIgogICAgZnJhbWVfZGlnIC01CiAgICBpbnQgMTIzCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGFwcGxpY2F0aW9uIGZyb20gc3RvcmFnZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTU4CiAgICAvLyBhc3NlcnQgYXBwbGljYXRpb25fZnJvbV9mdW5jdGlvbiA9PSBBcHBsaWNhdGlvbig0NTYpLCAid3JvbmcgYXBwbGljYXRpb24gZnJvbSBmdW5jdGlvbiIKICAgIGZyYW1lX2RpZyAtNAogICAgaW50IDQ1NgogICAgPT0KICAgIGFzc2VydCAvLyB3cm9uZyBhcHBsaWNhdGlvbiBmcm9tIGZ1bmN0aW9uCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNTkKICAgIC8vIGFzc2VydCBieXRlc19mcm9tX3N0b3JhZ2VbMF0gPT0gYXJjNC5CeXRlKDcpLCAid3JvbmcgMHRoIGJ5dGUgZnJvbSBzdG9yYWdlIgogICAgZnJhbWVfZGlnIC0zCiAgICBleHRyYWN0IDAgMQogICAgYnl0ZSAweDA3CiAgICBiPT0KICAgIGFzc2VydCAvLyB3cm9uZyAwdGggYnl0ZSBmcm9tIHN0b3JhZ2UKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjE2MAogICAgLy8gYXNzZXJ0IGJ5dGVzX2Zyb21fc3RvcmFnZVsxXSA9PSBhcmM0LkJ5dGUoOCksICJ3cm9uZyAxc3QgYnl0ZSBmcm9tIHN0b3JhZ2UiCiAgICBmcmFtZV9kaWcgLTMKICAgIGV4dHJhY3QgMSAxCiAgICBieXRlIDB4MDgKICAgIGI9PQogICAgYXNzZXJ0IC8vIHdyb25nIDFzdCBieXRlIGZyb20gc3RvcmFnZQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTYxCiAgICAvLyBhc3NlcnQgYnl0ZXNfZnJvbV9zdG9yYWdlWzJdID09IGFyYzQuQnl0ZSg5KSwgIndyb25nIDJuZCBieXRlIGZyb20gc3RvcmFnZSIKICAgIGZyYW1lX2RpZyAtMwogICAgZXh0cmFjdCAyIDEKICAgIGJ5dGUgMHgwOQogICAgYj09CiAgICBhc3NlcnQgLy8gd3JvbmcgMm5kIGJ5dGUgZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNjIKICAgIC8vIGFzc2VydCBpbnRfZnJvbV9zdG9yYWdlLmRlY29kZSgpID09IDIsICJ3cm9uZyBpbnQgZnJvbSBzdG9yYWdlIgogICAgZnJhbWVfZGlnIC0yCiAgICBidG9pCiAgICBpbnQgMgogICAgPT0KICAgIGFzc2VydCAvLyB3cm9uZyBpbnQgZnJvbSBzdG9yYWdlCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToxNjMKICAgIC8vIGFzc2VydCBpbnRfZnJvbV9mdW5jdGlvbi5kZWNvZGUoKSA9PSAzLCAid3JvbmcgaW50IGZyb20gZnVuY3Rpb24iCiAgICBmcmFtZV9kaWcgLTEKICAgIGJ0b2kKICAgIGludCAzCiAgICA9PQogICAgYXNzZXJ0IC8vIHdyb25nIGludCBmcm9tIGZ1bmN0aW9uCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5tZXRob2Rfd2l0aF9tb3JlX3RoYW5fMTVfYXJncyhhOiBieXRlcywgYjogYnl0ZXMsIGM6IGJ5dGVzLCBkOiB1aW50NjQsIGFzc2V0OiB1aW50NjQsIGU6IGJ5dGVzLCBmOiBieXRlcywgcGF5OiB1aW50NjQsIGc6IGJ5dGVzLCBoOiBieXRlcywgaTogYnl0ZXMsIGo6IGJ5dGVzLCBrOiBieXRlcywgbDogYnl0ZXMsIG06IGJ5dGVzLCBuOiBieXRlcywgbzogYnl0ZXMsIHA6IHVpbnQ2NCwgcTogYnl0ZXMsIHI6IGJ5dGVzLCBzOiBieXRlcywgdDogYnl0ZXMsIGFzc2V0MjogdWludDY0LCBwYXkyOiB1aW50NjQsIHU6IGJ5dGVzLCB2OiBieXRlcykgLT4gYnl0ZXM6Cm1ldGhvZF93aXRoX21vcmVfdGhhbl8xNV9hcmdzOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MTY1LTE5NQogICAgLy8gQGFyYzQuYWJpbWV0aG9kCiAgICAvLyBkZWYgbWV0aG9kX3dpdGhfbW9yZV90aGFuXzE1X2FyZ3MoCiAgICAvLyAgICAgc2VsZiwKICAgIC8vICAgICBhOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBiOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBjOiBhcmM0LlVJbnQ2NCwKICAgIC8vICAgICBkOiBVSW50NjQsCiAgICAvLyAgICAgYXNzZXQ6IEFzc2V0LAogICAgLy8gICAgIGU6IGFyYzQuVUludDY0LAogICAgLy8gICAgIGY6IGFyYzQuVUludDY0LAogICAgLy8gICAgIHBheTogZ3R4bi5QYXltZW50VHJhbnNhY3Rpb24sCiAgICAvLyAgICAgZzogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgaDogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgaTogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgajogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgazogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgIyBydWZmOiBub3FhOiBFNzQxCiAgICAvLyAgICAgbDogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgbTogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgbjogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgbzogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgcDogVUludDY0LAogICAgLy8gICAgIHE6IGFyYzQuVUludDY0LAogICAgLy8gICAgIHI6IGFyYzQuVUludDY0LAogICAgLy8gICAgIHM6IEJ5dGVzLAogICAgLy8gICAgIHQ6IEJ5dGVzLAogICAgLy8gICAgIGFzc2V0MjogQXNzZXQsCiAgICAvLyAgICAgcGF5MjogZ3R4bi5QYXltZW50VHJhbnNhY3Rpb24sCiAgICAvLyAgICAgdTogYXJjNC5VSW50NjQsCiAgICAvLyAgICAgdjogYXJjNC5VSW50NjQsCiAgICAvLyApIC0+IGFyYzQuVUludDY0OgogICAgcHJvdG8gMjYgMQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjAwCiAgICAvLyBhc3NlcnQgb3AuVHhuLm51bV9hcHBfYXJncyA9PSAxNgogICAgdHhuIE51bUFwcEFyZ3MKICAgIGludCAxNgogICAgPT0KICAgIGFzc2VydAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjAxCiAgICAvLyBhc3NlcnQgcGF5LmFtb3VudCA9PSAxMDAwMDAKICAgIGZyYW1lX2RpZyAtMTkKICAgIGd0eG5zIEFtb3VudAogICAgaW50IDEwMDAwMAogICAgPT0KICAgIGFzc2VydAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjAyCiAgICAvLyBhc3NlcnQgcGF5Mi5hbW91bnQgPT0gMjAwMDAwCiAgICBmcmFtZV9kaWcgLTMKICAgIGd0eG5zIEFtb3VudAogICAgaW50IDIwMDAwMAogICAgPT0KICAgIGFzc2VydAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjAzCiAgICAvLyBhc3NlcnQgYXNzZXQuYXNzZXRfaWQKICAgIGZyYW1lX2RpZyAtMjIKICAgIGFzc2VydAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA0CiAgICAvLyBhc3NlcnQgYXNzZXQyLmFzc2V0X2lkCiAgICBmcmFtZV9kaWcgLTQKICAgIGFzc2VydAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA2CiAgICAvLyBsb2cocyArIHQpCiAgICBmcmFtZV9kaWcgLTYKICAgIGZyYW1lX2RpZyAtNQogICAgY29uY2F0CiAgICBsb2cKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOQogICAgLy8gYS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0yNgogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEwCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMjUKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTAKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjExCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMjQKICAgIGJ0b2kKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMTEKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjEyCiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICBmcmFtZV9kaWcgLTIzCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTMKICAgIC8vICsgZS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0yMQogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxMwogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTQKICAgIC8vICsgZi5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0yMAogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxNAogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxNQogICAgLy8gKyBnLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTE4CiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjE1CiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIC8vICsgZi5kZWNvZGUoKQogICAgLy8gKyBnLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTYKICAgIC8vICsgaC5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xNwogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxNgogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTcKICAgIC8vICsgaS5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xNgogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxNwogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIxOAogICAgLy8gKyBqLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTE1CiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjE4CiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIC8vICsgZi5kZWNvZGUoKQogICAgLy8gKyBnLmRlY29kZSgpCiAgICAvLyArIGguZGVjb2RlKCkKICAgIC8vICsgaS5kZWNvZGUoKQogICAgLy8gKyBqLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMTkKICAgIC8vICsgay5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xNAogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIxOQogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMjAKICAgIC8vICsgbC5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xMwogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyMAogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIyMQogICAgLy8gKyBtLmRlY29kZSgpCiAgICBmcmFtZV9kaWcgLTEyCiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjIxCiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIC8vICsgZi5kZWNvZGUoKQogICAgLy8gKyBnLmRlY29kZSgpCiAgICAvLyArIGguZGVjb2RlKCkKICAgIC8vICsgaS5kZWNvZGUoKQogICAgLy8gKyBqLmRlY29kZSgpCiAgICAvLyArIGsuZGVjb2RlKCkKICAgIC8vICsgbC5kZWNvZGUoKQogICAgLy8gKyBtLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMjIKICAgIC8vICsgbi5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xMQogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyMgogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMjMKICAgIC8vICsgby5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC0xMAogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyMwogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICAvLyArIG8uZGVjb2RlKCkKICAgICsKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIwOS0yMjQKICAgIC8vIGEuZGVjb2RlKCkKICAgIC8vICsgYi5kZWNvZGUoKQogICAgLy8gKyBjLmRlY29kZSgpCiAgICAvLyArIGQKICAgIC8vICsgZS5kZWNvZGUoKQogICAgLy8gKyBmLmRlY29kZSgpCiAgICAvLyArIGcuZGVjb2RlKCkKICAgIC8vICsgaC5kZWNvZGUoKQogICAgLy8gKyBpLmRlY29kZSgpCiAgICAvLyArIGouZGVjb2RlKCkKICAgIC8vICsgay5kZWNvZGUoKQogICAgLy8gKyBsLmRlY29kZSgpCiAgICAvLyArIG0uZGVjb2RlKCkKICAgIC8vICsgbi5kZWNvZGUoKQogICAgLy8gKyBvLmRlY29kZSgpCiAgICAvLyArIHAKICAgIGZyYW1lX2RpZyAtOQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjI1CiAgICAvLyArIHEuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtOAogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyNQogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICAvLyArIG8uZGVjb2RlKCkKICAgIC8vICsgcAogICAgLy8gKyBxLmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMjYKICAgIC8vICsgci5kZWNvZGUoKQogICAgZnJhbWVfZGlnIC03CiAgICBidG9pCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDktMjI2CiAgICAvLyBhLmRlY29kZSgpCiAgICAvLyArIGIuZGVjb2RlKCkKICAgIC8vICsgYy5kZWNvZGUoKQogICAgLy8gKyBkCiAgICAvLyArIGUuZGVjb2RlKCkKICAgIC8vICsgZi5kZWNvZGUoKQogICAgLy8gKyBnLmRlY29kZSgpCiAgICAvLyArIGguZGVjb2RlKCkKICAgIC8vICsgaS5kZWNvZGUoKQogICAgLy8gKyBqLmRlY29kZSgpCiAgICAvLyArIGsuZGVjb2RlKCkKICAgIC8vICsgbC5kZWNvZGUoKQogICAgLy8gKyBtLmRlY29kZSgpCiAgICAvLyArIG4uZGVjb2RlKCkKICAgIC8vICsgby5kZWNvZGUoKQogICAgLy8gKyBwCiAgICAvLyArIHEuZGVjb2RlKCkKICAgIC8vICsgci5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjI3CiAgICAvLyArIHUuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMgogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyNwogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICAvLyArIG8uZGVjb2RlKCkKICAgIC8vICsgcAogICAgLy8gKyBxLmRlY29kZSgpCiAgICAvLyArIHIuZGVjb2RlKCkKICAgIC8vICsgdS5kZWNvZGUoKQogICAgKwogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjI4CiAgICAvLyArIHYuZGVjb2RlKCkKICAgIGZyYW1lX2RpZyAtMQogICAgYnRvaQogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjA5LTIyOAogICAgLy8gYS5kZWNvZGUoKQogICAgLy8gKyBiLmRlY29kZSgpCiAgICAvLyArIGMuZGVjb2RlKCkKICAgIC8vICsgZAogICAgLy8gKyBlLmRlY29kZSgpCiAgICAvLyArIGYuZGVjb2RlKCkKICAgIC8vICsgZy5kZWNvZGUoKQogICAgLy8gKyBoLmRlY29kZSgpCiAgICAvLyArIGkuZGVjb2RlKCkKICAgIC8vICsgai5kZWNvZGUoKQogICAgLy8gKyBrLmRlY29kZSgpCiAgICAvLyArIGwuZGVjb2RlKCkKICAgIC8vICsgbS5kZWNvZGUoKQogICAgLy8gKyBuLmRlY29kZSgpCiAgICAvLyArIG8uZGVjb2RlKCkKICAgIC8vICsgcAogICAgLy8gKyBxLmRlY29kZSgpCiAgICAvLyArIHIuZGVjb2RlKCkKICAgIC8vICsgdS5kZWNvZGUoKQogICAgLy8gKyB2LmRlY29kZSgpCiAgICArCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMDgtMjI5CiAgICAvLyByZXR1cm4gYXJjNC5VSW50NjQoCiAgICAvLyAgICAgYS5kZWNvZGUoKQogICAgLy8gICAgICsgYi5kZWNvZGUoKQogICAgLy8gICAgICsgYy5kZWNvZGUoKQogICAgLy8gICAgICsgZAogICAgLy8gICAgICsgZS5kZWNvZGUoKQogICAgLy8gICAgICsgZi5kZWNvZGUoKQogICAgLy8gICAgICsgZy5kZWNvZGUoKQogICAgLy8gICAgICsgaC5kZWNvZGUoKQogICAgLy8gICAgICsgaS5kZWNvZGUoKQogICAgLy8gICAgICsgai5kZWNvZGUoKQogICAgLy8gICAgICsgay5kZWNvZGUoKQogICAgLy8gICAgICsgbC5kZWNvZGUoKQogICAgLy8gICAgICsgbS5kZWNvZGUoKQogICAgLy8gICAgICsgbi5kZWNvZGUoKQogICAgLy8gICAgICsgby5kZWNvZGUoKQogICAgLy8gICAgICsgcAogICAgLy8gICAgICsgcS5kZWNvZGUoKQogICAgLy8gICAgICsgci5kZWNvZGUoKQogICAgLy8gICAgICsgdS5kZWNvZGUoKQogICAgLy8gICAgICsgdi5kZWNvZGUoKQogICAgLy8gKQogICAgaXRvYgogICAgcmV0c3ViCgoKLy8gdGVzdF9jYXNlcy5hYmlfcm91dGluZy5jb250cmFjdC5SZWZlcmVuY2UuYmFyZV9hYmlfY29uZmlnKCkgLT4gdm9pZDoKYmFyZV9hYmlfY29uZmlnOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6NjUtNzUKICAgIC8vIEBhcmM0LmJhcmVtZXRob2QoCiAgICAvLyAgICAgYWxsb3dfYWN0aW9ucz1bCiAgICAvLyAgICAgICAgICJOb09wIiwKICAgIC8vICAgICAgICAgIk9wdEluIiwKICAgIC8vICAgICAgICAgIkNsb3NlT3V0IiwKICAgIC8vICAgICAgICAgIlVwZGF0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICAgICAgIkRlbGV0ZUFwcGxpY2F0aW9uIiwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGNyZWF0ZT1UcnVlLAogICAgLy8gKQogICAgLy8gZGVmIGJhcmVfYWJpX2NvbmZpZyhzZWxmKSAtPiBOb25lOgogICAgcHJvdG8gMCAwCiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weTo3NgogICAgLy8gbG9nKGIiSGVsbG8gV29ybGQiKQogICAgYnl0ZSAiSGVsbG8gV29ybGQiCiAgICBsb2cKICAgIHJldHN1YgoKCi8vIHRlc3RfY2FzZXMuYWJpX3JvdXRpbmcuY29udHJhY3QuUmVmZXJlbmNlLl9faW5pdF9fKCkgLT4gdm9pZDoKX19pbml0X186CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyMgogICAgLy8gZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CiAgICBwcm90byAwIDAKICAgIC8vIGFiaV9yb3V0aW5nL2NvbnRyYWN0LnB5OjIzCiAgICAvLyBzZWxmLmFzYSA9IEFzc2V0KDEyMykKICAgIGJ5dGUgImFzYSIKICAgIGludCAxMjMKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyNAogICAgLy8gc2VsZi5hbl9pbnQgPSBVSW50NjQoMikKICAgIGJ5dGUgImFuX2ludCIKICAgIGludCAyCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjUKICAgIC8vIHNlbGYuc29tZV9ieXRlcyA9IEJ5dGVzMyhhcmM0LkJ5dGUoNyksIGFyYzQuQnl0ZSg4KSwgYXJjNC5CeXRlKDkpKQogICAgYnl0ZSAic29tZV9ieXRlcyIKICAgIGJ5dGUgMHgwNzA4MDkKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyNgogICAgLy8gc2VsZi5jcmVhdG9yID0gb3AuVHhuLnNlbmRlcgogICAgYnl0ZSAiY3JlYXRvciIKICAgIHR4biBTZW5kZXIKICAgIGFwcF9nbG9iYWxfcHV0CiAgICAvLyBhYmlfcm91dGluZy9jb250cmFjdC5weToyNwogICAgLy8gc2VsZi5hcHAgPSBBcHBsaWNhdGlvbigxMjMpCiAgICBieXRlICJhcHAiCiAgICBpbnQgMTIzCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjkKICAgIC8vIGFzc2VydCBhcmM0LmFyYzRfc2lnbmF0dXJlKCJnZXQodWludDY0LGJ5dGVbXSlieXRlW10iKSwgImhhcyBtZXRob2Qgc2VsZWN0b3IiCiAgICBtZXRob2QgImdldCh1aW50NjQsYnl0ZVtdKWJ5dGVbXSIKICAgIGxlbgogICAgYXNzZXJ0IC8vIGhhcyBtZXRob2Qgc2VsZWN0b3IKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEwCgp0ZXN0X2Nhc2VzLmFiaV9yb3V0aW5nLmNvbnRyYWN0LlJlZmVyZW5jZS5jbGVhcl9zdGF0ZV9wcm9ncmFtOgogICAgLy8gYWJpX3JvdXRpbmcvY29udHJhY3QucHk6MjEKICAgIC8vIGNsYXNzIFJlZmVyZW5jZShBUkM0Q29udHJhY3QpOgogICAgaW50IDEKICAgIHJldHVybgo=" }, "state": { diff --git a/test_cases/arc4_types/bool_eval.py b/test_cases/arc4_types/bool_eval.py index c578209b6..b05775753 100644 --- a/test_cases/arc4_types/bool_eval.py +++ b/test_cases/arc4_types/bool_eval.py @@ -1,7 +1,7 @@ import typing as t from puyapy import Contract, arc4 -from puyapy.op import Global, Transaction +from puyapy.op import Global, Txn class MyStruct(arc4.Struct): @@ -17,7 +17,7 @@ def approval_program(self) -> bool: assert arc4.String(".") assert not arc4.Address(Global.zero_address) - assert arc4.Address(Transaction.sender) + assert arc4.Address(Txn.sender) assert not arc4.UInt8(0) assert arc4.UInt8(1) diff --git a/test_cases/arc4_types/out/bool_eval.approval.teal b/test_cases/arc4_types/out/bool_eval.approval.teal index 624fd52ec..822421a48 100644 --- a/test_cases/arc4_types/out/bool_eval.approval.teal +++ b/test_cases/arc4_types/out/bool_eval.approval.teal @@ -8,7 +8,7 @@ test_cases.arc4_types.bool_eval.Arc4BoolEvalContract.approval_program: == assert // arc4_types/bool_eval.py:20 - // assert arc4.Address(Transaction.sender) + // assert arc4.Address(Txn.sender) txn Sender global ZeroAddress != diff --git a/test_cases/arc4_types/out/bool_eval.approval_O2.teal b/test_cases/arc4_types/out/bool_eval.approval_O2.teal index 624fd52ec..822421a48 100644 --- a/test_cases/arc4_types/out/bool_eval.approval_O2.teal +++ b/test_cases/arc4_types/out/bool_eval.approval_O2.teal @@ -8,7 +8,7 @@ test_cases.arc4_types.bool_eval.Arc4BoolEvalContract.approval_program: == assert // arc4_types/bool_eval.py:20 - // assert arc4.Address(Transaction.sender) + // assert arc4.Address(Txn.sender) txn Sender global ZeroAddress != diff --git a/test_cases/arc4_types/out/bool_eval.approval_unoptimized.teal b/test_cases/arc4_types/out/bool_eval.approval_unoptimized.teal index d609ccac8..23a501bbc 100644 --- a/test_cases/arc4_types/out/bool_eval.approval_unoptimized.teal +++ b/test_cases/arc4_types/out/bool_eval.approval_unoptimized.teal @@ -38,7 +38,7 @@ test_cases.arc4_types.bool_eval.Arc4BoolEvalContract.approval_program: == assert // arc4_types/bool_eval.py:20 - // assert arc4.Address(Transaction.sender) + // assert arc4.Address(Txn.sender) txn Sender global ZeroAddress != diff --git a/test_cases/arc4_types/out/bool_eval_Arc4BoolEvalContract.approval.mir b/test_cases/arc4_types/out/bool_eval_Arc4BoolEvalContract.approval.mir index bccb3161a..6e3cec23c 100644 --- a/test_cases/arc4_types/out/bool_eval_Arc4BoolEvalContract.approval.mir +++ b/test_cases/arc4_types/out/bool_eval_Arc4BoolEvalContract.approval.mir @@ -14,16 +14,16 @@ main_block@0: // virtual: store tmp%8#0 to l-stack (no copy) tmp%8#0 not arc4.Address(Global.zero_address) arc4_types/bool_eval.py:19 // virtual: load tmp%8#0 from l-stack (no copy) tmp%8#0 assert not arc4.Address(Global.zero_address) arc4_types/bool_eval.py:19 assert // assert not arc4.Address(Global.zero_address) arc4_types/bool_eval.py:19 - txn Sender // {txn} Transaction.sender arc4_types/bool_eval.py:20 - // virtual: store tmp%9#0 to l-stack (no copy) tmp%9#0 Transaction.sender arc4_types/bool_eval.py:20 - global ZeroAddress // tmp%9#0,{global} arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - // virtual: store tmp%10#0 to l-stack (no copy) tmp%9#0,tmp%10#0 arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - // virtual: load tmp%9#0 from l-stack (no copy) tmp%10#0,tmp%9#0 arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - // virtual: load tmp%10#0 from l-stack (no copy) tmp%9#0,tmp%10#0 arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - != // {!=} arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - // virtual: store tmp%11#0 to l-stack (no copy) tmp%11#0 arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - // virtual: load tmp%11#0 from l-stack (no copy) tmp%11#0 assert arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 - assert // assert arc4.Address(Transaction.sender) arc4_types/bool_eval.py:20 + txn Sender // {txn} Txn.sender arc4_types/bool_eval.py:20 + // virtual: store tmp%9#0 to l-stack (no copy) tmp%9#0 Txn.sender arc4_types/bool_eval.py:20 + global ZeroAddress // tmp%9#0,{global} arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + // virtual: store tmp%10#0 to l-stack (no copy) tmp%9#0,tmp%10#0 arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + // virtual: load tmp%9#0 from l-stack (no copy) tmp%10#0,tmp%9#0 arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + // virtual: load tmp%10#0 from l-stack (no copy) tmp%9#0,tmp%10#0 arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + != // {!=} arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + // virtual: store tmp%11#0 to l-stack (no copy) tmp%11#0 arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + // virtual: load tmp%11#0 from l-stack (no copy) tmp%11#0 assert arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 + assert // assert arc4.Address(Txn.sender) arc4_types/bool_eval.py:20 int 1 // 1 True arc4_types/bool_eval.py:71 return // return True arc4_types/bool_eval.py:71 diff --git a/test_cases/arc4_types/out/mutation.O0.log b/test_cases/arc4_types/out/mutation.O0.log index 626fd0a98..1150a1e41 100644 --- a/test_cases/arc4_types/out/mutation.O0.log +++ b/test_cases/arc4_types/out/mutation.O0.log @@ -121,7 +121,7 @@ PC Teal 2360 retsub "Z", 0x000701023201023204 271 swap 0x000701023201023204, "Z" 272 byte 0x5a 0x000701023201023204, "Z", "Z" -274 == 0x000701023201023204, 1 +274 b== 0x000701023201023204, 1 275 assert 0x000701023201023204 276 byte 0x0007 0x000701023201023204, 0x0007 278 byte 0x01 0x000701023201023204, 0x0007, 0x01 diff --git a/test_cases/arc4_types/out/mutation.O1.log b/test_cases/arc4_types/out/mutation.O1.log index 72b324a3b..162d34214 100644 --- a/test_cases/arc4_types/out/mutation.O1.log +++ b/test_cases/arc4_types/out/mutation.O1.log @@ -31,7 +31,7 @@ PC Teal 1016 retsub "Z", 0x000701023201023204 160 swap 0x000701023201023204, "Z" 161 byte 0x5a 0x000701023201023204, "Z", "Z" -164 == 0x000701023201023204, 1 +164 b== 0x000701023201023204, 1 165 assert 0x000701023201023204 166 byte 0x000701023201023204 0x000701023201023204, 0x000701023201023204 177 == 1 diff --git a/test_cases/arc4_types/out/mutation.O2.log b/test_cases/arc4_types/out/mutation.O2.log index b3bb78caf..2fee0ffef 100644 --- a/test_cases/arc4_types/out/mutation.O2.log +++ b/test_cases/arc4_types/out/mutation.O2.log @@ -31,7 +31,7 @@ PC Teal 1015 retsub "Z", 0x000701023201023204 160 swap 0x000701023201023204, "Z" 161 byte 0x5a 0x000701023201023204, "Z", "Z" -164 == 0x000701023201023204, 1 +164 b== 0x000701023201023204, 1 165 assert 0x000701023201023204 166 byte 0x000701023201023204 0x000701023201023204, 0x000701023201023204 177 == 1 diff --git a/test_cases/arc4_types/out/numeric.O0.log b/test_cases/arc4_types/out/numeric.O0.log index 891c9d248..75bc6bbcf 100644 --- a/test_cases/arc4_types/out/numeric.O0.log +++ b/test_cases/arc4_types/out/numeric.O0.log @@ -123,7 +123,7 @@ PC Teal 295 dig 1 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 297 swap 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 298 b| 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -299 == 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 1 +299 b== 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 1 300 assert 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9 301 byte 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 302 len 9, 9, 9, 9, 0x7FFFFFFFFFFFFFFF00, 9, 64 diff --git a/test_cases/arc4_types/out/tuples.O0.log b/test_cases/arc4_types/out/tuples.O0.log index 05b17aaa4..20d1d89ad 100644 --- a/test_cases/arc4_types/out/tuples.O0.log +++ b/test_cases/arc4_types/out/tuples.O0.log @@ -236,7 +236,7 @@ PC Teal Stack 363 int 1 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04, 0x10, 0x04BD8010, 3, 1 364 extract3 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04, 0x10, 0x10 365 swap 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04, 0x10, 0x10 -366 == 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04, 1 +366 b== 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04, 1 367 assert 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 0x04 368 btoi 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 4 369 int 4 0x01020007000EFF000568656C6C6F0005776F726C64, 0x04BD8010, 0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x10, 0x80, 4, 4 diff --git a/test_cases/inner_transactions/out/c2c_Greeter.ssa.opt_pass_2.ir b/test_cases/inner_transactions/out/c2c_Greeter.ssa.opt_pass_2.ir index 795040b4f..b0cdda053 100644 --- a/test_cases/inner_transactions/out/c2c_Greeter.ssa.opt_pass_2.ir +++ b/test_cases/inner_transactions/out/c2c_Greeter.ssa.opt_pass_2.ir @@ -49,10 +49,10 @@ contract test_cases.inner_transactions.c2c.Greeter: let tmp%2#0: uint64 = (! app_global_get_ex_value%0#0) (assert tmp%2#0) // already bootstrapped itxn_begin - ((itxn_field ApprovalProgramPages) 0x0a200101311b410026800402bece11361a008e0100010031191444311844361a018800158004151f7c754c50b02243311914443118144422438a01018bff570200800748656c6c6f2c204c504915165706004c5089) - ((itxn_field ClearStateProgramPages) 0x0a8101) - ((itxn_field Fee) 0u) ((itxn_field TypeEnum) appl) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x0a8101) + ((itxn_field ApprovalProgramPages) 0x0a200101311b410026800402bece11361a008e0100010031191444311844361a018800158004151f7c754c50b02243311914443118144422438a01018bff570200800748656c6c6f2c204c504915165706004c5089) itxn_submit let submit_result_0%3%%CreatedApplicationID#0: uint64 = (itxn CreatedApplicationID) (app_global_put "hello_app" submit_result_0%3%%CreatedApplicationID#0) @@ -65,10 +65,10 @@ contract test_cases.inner_transactions.c2c.Greeter: itxn_begin let (app_global_get_ex_value%1#0: uint64, app_global_get_ex_did_exist%2#0: uint64) = (app_global_get_ex 0u "hello_app") (assert app_global_get_ex_did_exist%2#0) // check value exists + ((itxn_field TypeEnum) appl) + ((itxn_field ApplicationID) app_global_get_ex_value%1#0) ((itxn_field ApplicationArgs) method "hello(string)string") ((itxn_field ApplicationArgs) name#0) - ((itxn_field ApplicationID) app_global_get_ex_value%1#0) - ((itxn_field TypeEnum) appl) itxn_submit let hello_call%%LastLog#0: bytes = (itxn LastLog) let greeting#0: bytes = ((extract 4 0) hello_call%%LastLog#0) diff --git a/test_cases/inner_transactions/out/contract_MyContract.ssa.opt_pass_1.ir b/test_cases/inner_transactions/out/contract_MyContract.ssa.opt_pass_1.ir index 4acc5d22d..d1ac1566e 100644 --- a/test_cases/inner_transactions/out/contract_MyContract.ssa.opt_pass_1.ir +++ b/test_cases/inner_transactions/out/contract_MyContract.ssa.opt_pass_1.ir @@ -37,28 +37,28 @@ contract test_cases.inner_transactions.contract.MyContract: let asset_params%%param_ConfigAssetReserve_idx_0#0: bytes = (global CurrentApplicationAddress) (app_global_put "name" "AST2") itxn_begin - ((itxn_field ConfigAssetName) app_global_get_ex_value%0#0) - ((itxn_field ConfigAssetDecimals) 3u) - ((itxn_field Fee) 0u) - ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) - ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) - ((itxn_field ConfigAssetTotal) 1000u) - ((itxn_field TypeEnum) acfg) ((itxn_field ConfigAssetUnitName) "unit") + ((itxn_field TypeEnum) acfg) + ((itxn_field ConfigAssetTotal) 1000u) + ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) + ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) + ((itxn_field Fee) 0u) + ((itxn_field ConfigAssetDecimals) 3u) + ((itxn_field ConfigAssetName) app_global_get_ex_value%0#0) itxn_submit let asset1_txn%%ConfigAssetName#0: bytes = (itxn ConfigAssetName) let asset1_txn%%CreatedAssetID#0: uint64 = (itxn CreatedAssetID) let (app_global_get_ex_value%2#0: bytes, app_global_get_ex_did_exist%3#0: uint64) = (app_global_get_ex 0u "name") (assert app_global_get_ex_did_exist%3#0) // check value exists itxn_begin - ((itxn_field ConfigAssetName) app_global_get_ex_value%2#0) - ((itxn_field ConfigAssetDecimals) 3u) - ((itxn_field Fee) 0u) - ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) - ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) - ((itxn_field ConfigAssetTotal) 1000u) - ((itxn_field TypeEnum) acfg) ((itxn_field ConfigAssetUnitName) "unit") + ((itxn_field TypeEnum) acfg) + ((itxn_field ConfigAssetTotal) 1000u) + ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) + ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) + ((itxn_field Fee) 0u) + ((itxn_field ConfigAssetDecimals) 3u) + ((itxn_field ConfigAssetName) app_global_get_ex_value%2#0) itxn_submit let asset2_txn%%ConfigAssetName#0: bytes = (itxn ConfigAssetName) let asset2_txn%%CreatedAssetID#0: uint64 = (itxn CreatedAssetID) @@ -75,19 +75,19 @@ contract test_cases.inner_transactions.contract.MyContract: let tmp%11#0: uint64 = (== maybe_value%9#0 "AST2") (assert tmp%11#0) // created asset 2 is correct itxn_begin - ((itxn_field ApprovalProgramPages) 0x098101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ConfigAssetName) "AST3") - ((itxn_field ConfigAssetDecimals) 3u) ((itxn_field Fee) 0u) - ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) - ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) - ((itxn_field ConfigAssetTotal) 1000u) - ((itxn_field TypeEnum) acfg) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x098101) + itxn_next ((itxn_field ConfigAssetUnitName) "unit") + ((itxn_field TypeEnum) acfg) + ((itxn_field ConfigAssetTotal) 1000u) + ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) + ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) + ((itxn_field Fee) 0u) + ((itxn_field ConfigAssetDecimals) 3u) + ((itxn_field ConfigAssetName) "AST3") itxn_submit let app_create_txn%%CreatedApplicationID#0: uint64 = (gitxn 0 CreatedApplicationID) let asset3_txn%%ConfigAssetName#0: bytes = (itxn ConfigAssetName) @@ -95,38 +95,38 @@ contract test_cases.inner_transactions.contract.MyContract: let tmp%12#0: uint64 = (== asset3_txn%%ConfigAssetName#0 "AST3") (assert tmp%12#0) // asset3_txn is correct itxn_begin - ((itxn_field ApprovalProgramPages) 0x098101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) + ((itxn_field TypeEnum) appl) let is_Note_count_gte_1%15#0: uint64 = 1u goto is_Note_count_gte_1%15#0 ? block@5 : block@6 block@5: // set_Note_0_to_0_L86 ((itxn_field Note) "3rd") goto block@6 block@6: // next_field_L86 - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ConfigAssetName) "AST3") - ((itxn_field ConfigAssetDecimals) 3u) ((itxn_field Fee) 0u) - ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x098101) + itxn_next + ((itxn_field ConfigAssetUnitName) "unit") + ((itxn_field TypeEnum) acfg) + ((itxn_field ConfigAssetTotal) 1000u) + ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) let is_Note_count_gte_1%16#0: uint64 = 1u goto is_Note_count_gte_1%16#0 ? block@8 : block@9 block@8: // set_Note_0_to_0_L86 ((itxn_field Note) "3rd") goto block@9 block@9: // next_field_L86 - ((itxn_field ConfigAssetReserve) asset_params%%param_ConfigAssetReserve_idx_0#0) - ((itxn_field ConfigAssetTotal) 1000u) - ((itxn_field TypeEnum) acfg) - ((itxn_field ConfigAssetUnitName) "unit") + ((itxn_field ConfigAssetManager) asset_params%%param_ConfigAssetManager_idx_0#0) + ((itxn_field Fee) 0u) + ((itxn_field ConfigAssetDecimals) 3u) + ((itxn_field ConfigAssetName) "AST3") itxn_submit return subroutine test_cases.inner_transactions.contract.MyContract.test2() -> void: block@0: // L89 - let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = undefined - let create_app_params%%param_Note_idx_0#3: bytes = undefined + let create_app_params%%param_Note_idx_0#2: bytes = undefined + let create_app_params%%param_ApplicationArgs_idx_2#3: bytes = undefined let tmp%0#0: uint64 = (txn NumAppArgs) goto tmp%0#0 ? block@1 : block@2 block@1: // if_body_L91 @@ -152,35 +152,35 @@ contract test_cases.inner_transactions.contract.MyContract: let create_app_params%%param_TypeEnum_idx_0#1: uint64 = appl goto block@3 block@3: // after_if_else_L91 - let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_0#1 <- block@2) - let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_1#1 <- block@2) - let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1, create_app_params%%ApplicationArgs_length#1 <- block@2) - let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@1, create_app_params%%param_ApplicationArgs_idx_2#0 <- block@2) - let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1, create_app_params%%param_ApprovalProgramPages_idx_0#1 <- block@2) - let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1, create_app_params%%param_ClearStateProgramPages_idx_0#1 <- block@2) + let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1, create_app_params%%param_TypeEnum_idx_0#1 <- block@2) + let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#0 <- block@1, create_app_params%%Note_length#1 <- block@2) + let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@1, create_app_params%%param_Note_idx_0#0 <- block@2) let create_app_params%%param_Fee_idx_0#3: uint64 = φ(create_app_params%%param_Fee_idx_0#0 <- block@1, create_app_params%%param_Fee_idx_0#1 <- block@2) - let create_app_params%%Note_length#3: uint64 = φ(create_app_params%%Note_length#0 <- block@1, create_app_params%%Note_length#1 <- block@2) - let create_app_params%%param_Note_idx_0#2: bytes = φ(create_app_params%%param_Note_idx_0#3 <- block@1, create_app_params%%param_Note_idx_0#0 <- block@2) - let create_app_params%%param_TypeEnum_idx_0#4: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1, create_app_params%%param_TypeEnum_idx_0#1 <- block@2) + let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1, create_app_params%%param_ClearStateProgramPages_idx_0#1 <- block@2) + let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1, create_app_params%%param_ApprovalProgramPages_idx_0#1 <- block@2) + let create_app_params%%param_ApplicationArgs_idx_0#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_0#1 <- block@2) + let create_app_params%%param_ApplicationArgs_idx_1#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_1#1 <- block@2) + let create_app_params%%ApplicationArgs_length#3: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1, create_app_params%%ApplicationArgs_length#1 <- block@2) + let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#3 <- block@1, create_app_params%%param_ApplicationArgs_idx_2#0 <- block@2) itxn_begin - ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_0#2) - ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_1#2) - let is_ApplicationArgs_count_gte_3%1#0: uint64 = (>= create_app_params%%ApplicationArgs_length#2 3u) - goto is_ApplicationArgs_count_gte_3%1#0 ? block@4 : block@5 - block@4: // set_ApplicationArgs_2_to_2_L107 - ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_2#1) + ((itxn_field TypeEnum) create_app_params%%param_TypeEnum_idx_0#2) + let is_Note_count_gte_1%1#0: uint64 = (>= create_app_params%%Note_length#2 1u) + goto is_Note_count_gte_1%1#0 ? block@4 : block@5 + block@4: // set_Note_0_to_0_L107 + ((itxn_field Note) create_app_params%%param_Note_idx_0#1) goto block@5 block@5: // next_field_L107 - ((itxn_field ApprovalProgramPages) create_app_params%%param_ApprovalProgramPages_idx_0#3) - ((itxn_field ClearStateProgramPages) create_app_params%%param_ClearStateProgramPages_idx_0#3) ((itxn_field Fee) create_app_params%%param_Fee_idx_0#3) - let is_Note_count_gte_1%2#0: uint64 = (>= create_app_params%%Note_length#3 1u) - goto is_Note_count_gte_1%2#0 ? block@6 : block@7 - block@6: // set_Note_0_to_0_L107 - ((itxn_field Note) create_app_params%%param_Note_idx_0#2) + ((itxn_field ClearStateProgramPages) create_app_params%%param_ClearStateProgramPages_idx_0#3) + ((itxn_field ApprovalProgramPages) create_app_params%%param_ApprovalProgramPages_idx_0#3) + ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_0#3) + ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_1#3) + let is_ApplicationArgs_count_gte_3%2#0: uint64 = (>= create_app_params%%ApplicationArgs_length#3 3u) + goto is_ApplicationArgs_count_gte_3%2#0 ? block@6 : block@7 + block@6: // set_ApplicationArgs_2_to_2_L107 + ((itxn_field ApplicationArgs) create_app_params%%param_ApplicationArgs_idx_2#2) goto block@7 block@7: // next_field_L107 - ((itxn_field TypeEnum) create_app_params%%param_TypeEnum_idx_0#4) itxn_submit let %%inner_txn_submit_id#0: uint64 = 1u let submit_id_is_1%3#0: uint64 = 1u @@ -198,12 +198,12 @@ contract test_cases.inner_transactions.contract.MyContract: goto tmp%10#0 ? block@9 : block@11 block@9: // if_body_L111 itxn_begin - ((itxn_field ApplicationArgs) "42") - ((itxn_field ApprovalProgramPages) 0x098101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x098101) + ((itxn_field ApplicationArgs) "42") itxn_submit let %%inner_txn_submit_id#1: uint64 = 2u let submit_id_is_2%12#0: uint64 = 1u @@ -224,117 +224,117 @@ contract test_cases.inner_transactions.contract.MyContract: subroutine test_cases.inner_transactions.contract.MyContract.test3() -> void: block@0: // L124 itxn_begin - ((itxn_field ApplicationArgs) "1") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "2") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "3") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "4") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "5") ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) + ((itxn_field ApplicationArgs) "1") itxn_next - ((itxn_field ApplicationArgs) "6") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "7") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "8") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "9") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "10") ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) + ((itxn_field ApplicationArgs) "2") itxn_next - ((itxn_field ApplicationArgs) "11") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "12") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field Fee) 0u) ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "13") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) - ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) - itxn_next - ((itxn_field ApplicationArgs) "14") - ((itxn_field ApprovalProgramPages) 0x09361a00b08101) ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "3") + itxn_next + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "4") + itxn_next + ((itxn_field TypeEnum) appl) ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "5") + itxn_next ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "6") itxn_next - ((itxn_field ApplicationArgs) "15") + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "7") + itxn_next + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "8") + itxn_next + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "9") + itxn_next + ((itxn_field TypeEnum) appl) ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "10") + itxn_next ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "11") itxn_next - ((itxn_field ApplicationArgs) "16") + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "12") + itxn_next + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "13") + itxn_next + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "14") + itxn_next + ((itxn_field TypeEnum) appl) ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "15") + itxn_next ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ClearStateProgramPages) 0x098101) + ((itxn_field ApprovalProgramPages) 0x09361a00b08101) + ((itxn_field ApplicationArgs) "16") itxn_submit let submit_id_is_1%0#0: uint64 = 1u (assert submit_id_is_1%0#0) // 'app1' can still be accessed @@ -424,16 +424,16 @@ contract test_cases.inner_transactions.contract.MyContract: let tmp%0#0: bytes = (concat 0x80fc0f lots_of_bytes#0) let approval_2#0: bytes = (concat tmp%0#0 "H") itxn_begin - ((itxn_field ApplicationArgs) "1") + ((itxn_field TypeEnum) appl) + ((itxn_field OnCompletion) DeleteApplication) + ((itxn_field Fee) 0u) + ((itxn_field ExtraProgramPages) 3u) + ((itxn_field ClearStateProgramPages) 0x098101) ((itxn_field ApprovalProgramPages) 0x098101) ((itxn_field ApprovalProgramPages) approval_2#0) ((itxn_field ApprovalProgramPages) approval_2#0) ((itxn_field ApprovalProgramPages) approval_2#0) - ((itxn_field ClearStateProgramPages) 0x098101) - ((itxn_field ExtraProgramPages) 3u) - ((itxn_field Fee) 0u) - ((itxn_field OnCompletion) DeleteApplication) - ((itxn_field TypeEnum) appl) + ((itxn_field ApplicationArgs) "1") itxn_submit let app_1%%ExtraProgramPages#0: uint64 = (itxn ExtraProgramPages) let app_1%%NumApprovalProgramPages#0: uint64 = (itxn NumApprovalProgramPages) diff --git a/test_cases/inner_transactions/puya.log b/test_cases/inner_transactions/puya.log index 6deb72fff..349cb0a0d 100644 --- a/test_cases/inner_transactions/puya.log +++ b/test_cases/inner_transactions/puya.log @@ -335,38 +335,50 @@ debug: Terminated block@4: // next_txn_L79 debug: Sealing block@None: // set_Note_0_to_0_L86 debug: Terminated block@5: // set_Note_0_to_0_L86 debug: Sealing block@6: // next_field_L86 -debug: Created Phi assignment: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = undefined while trying to resolve 'app_create_params%%param_TypeEnum_idx_0' in block@6: // next_field_L86 -debug: Added app_create_params%%param_TypeEnum_idx_0#0 to Phi node: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_create_params%%param_TypeEnum_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added app_create_params%%param_TypeEnum_idx_0#0 to Phi node: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_create_params%%param_TypeEnum_idx_0#0 <- block@4, app_create_params%%param_TypeEnum_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_create_params%%param_TypeEnum_idx_0#0 <- block@4, app_create_params%%param_TypeEnum_idx_0#0 <- block@5) (app_create_params%%param_TypeEnum_idx_0#1) with app_create_params%%param_TypeEnum_idx_0#0 -debug: Deleting Phi assignment: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_create_params%%param_TypeEnum_idx_0#0 <- block@4, app_create_params%%param_TypeEnum_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let app_create_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_create_params%%param_TypeEnum_idx_0#0 <- block@4, app_create_params%%param_TypeEnum_idx_0#0 <- block@5) (app_create_params%%param_TypeEnum_idx_0#1) with app_create_params%%param_TypeEnum_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let app_create_params%%param_Fee_idx_0#1: uint64 = undefined while trying to resolve 'app_create_params%%param_Fee_idx_0' in block@6: // next_field_L86 +debug: Added app_create_params%%param_Fee_idx_0#0 to Phi node: let app_create_params%%param_Fee_idx_0#1: uint64 = φ(app_create_params%%param_Fee_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added app_create_params%%param_Fee_idx_0#0 to Phi node: let app_create_params%%param_Fee_idx_0#1: uint64 = φ(app_create_params%%param_Fee_idx_0#0 <- block@4, app_create_params%%param_Fee_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let app_create_params%%param_Fee_idx_0#1: uint64 = φ(app_create_params%%param_Fee_idx_0#0 <- block@4, app_create_params%%param_Fee_idx_0#0 <- block@5) (app_create_params%%param_Fee_idx_0#1) with app_create_params%%param_Fee_idx_0#0 +debug: Deleting Phi assignment: let app_create_params%%param_Fee_idx_0#1: uint64 = φ(app_create_params%%param_Fee_idx_0#0 <- block@4, app_create_params%%param_Fee_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let app_create_params%%param_Fee_idx_0#1: uint64 = φ(app_create_params%%param_Fee_idx_0#0 <- block@4, app_create_params%%param_Fee_idx_0#0 <- block@5) (app_create_params%%param_Fee_idx_0#1) with app_create_params%%param_Fee_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_create_params%%param_ClearStateProgramPages_idx_0' in block@6: // next_field_L86 +debug: Added app_create_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added app_create_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@4, app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@4, app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@5) (app_create_params%%param_ClearStateProgramPages_idx_0#1) with app_create_params%%param_ClearStateProgramPages_idx_0#0 +debug: Deleting Phi assignment: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@4, app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let app_create_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@4, app_create_params%%param_ClearStateProgramPages_idx_0#0 <- block@5) (app_create_params%%param_ClearStateProgramPages_idx_0#1) with app_create_params%%param_ClearStateProgramPages_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_create_params%%param_ApprovalProgramPages_idx_0' in block@6: // next_field_L86 +debug: Added app_create_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added app_create_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@4, app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@4, app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@5) (app_create_params%%param_ApprovalProgramPages_idx_0#1) with app_create_params%%param_ApprovalProgramPages_idx_0#0 +debug: Deleting Phi assignment: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@4, app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let app_create_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@4, app_create_params%%param_ApprovalProgramPages_idx_0#0 <- block@5) (app_create_params%%param_ApprovalProgramPages_idx_0#1) with app_create_params%%param_ApprovalProgramPages_idx_0#0 in current definition for 1 blocks debug: Terminated block@6: // next_field_L86 debug: Sealing block@7: // next_txn_L86 -debug: Created Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetName_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) (asset_params%%param_ConfigAssetName_idx_0#3) with asset_params%%param_ConfigAssetName_idx_0#2 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) (asset_params%%param_ConfigAssetName_idx_0#3) with asset_params%%param_ConfigAssetName_idx_0#2 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetDecimals_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetDecimals_idx_0#1) with asset_params%%param_ConfigAssetDecimals_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetDecimals_idx_0#1) with asset_params%%param_ConfigAssetDecimals_idx_0#0 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_Fee_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_Fee_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) (asset_params%%param_Fee_idx_0#1) with asset_params%%param_Fee_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) (asset_params%%param_Fee_idx_0#1) with asset_params%%param_Fee_idx_0#0 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetManager_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetManager_idx_0#1) with asset_params%%param_ConfigAssetManager_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetManager_idx_0#1) with asset_params%%param_ConfigAssetManager_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetUnitName_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetUnitName_idx_0#1) with asset_params%%param_ConfigAssetUnitName_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetUnitName_idx_0#1) with asset_params%%param_ConfigAssetUnitName_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_TypeEnum_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_TypeEnum_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) (asset_params%%param_TypeEnum_idx_0#1) with asset_params%%param_TypeEnum_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) (asset_params%%param_TypeEnum_idx_0#1) with asset_params%%param_TypeEnum_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetTotal_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetTotal_idx_0#1) with asset_params%%param_ConfigAssetTotal_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetTotal_idx_0#1) with asset_params%%param_ConfigAssetTotal_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetReserve_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetReserve_idx_0#1) with asset_params%%param_ConfigAssetReserve_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetReserve_idx_0#1) with asset_params%%param_ConfigAssetReserve_idx_0#0 in current definition for 1 blocks debug: Created Phi assignment: let asset_params%%Note_length#2: uint64 = undefined while trying to resolve 'asset_params%%Note_length' in block@6: // next_field_L86 debug: Added asset_params%%Note_length#1 to Phi node: let asset_params%%Note_length#2: uint64 = φ(asset_params%%Note_length#1 <- block@4) in block@4: // next_txn_L79 debug: Added asset_params%%Note_length#1 to Phi node: let asset_params%%Note_length#2: uint64 = φ(asset_params%%Note_length#1 <- block@4, asset_params%%Note_length#1 <- block@5) in block@5: // set_Note_0_to_0_L86 @@ -383,54 +395,54 @@ debug: Deleting Phi assignment: let asset_params%%param_Note_idx_0#1: bytes = φ debug: Replaced trivial Phi node: let asset_params%%param_Note_idx_0#1: bytes = φ(asset_params%%param_Note_idx_0#0 <- block@4, asset_params%%param_Note_idx_0#0 <- block@5) (asset_params%%param_Note_idx_0#1) with asset_params%%param_Note_idx_0#0 in current definition for 1 blocks debug: Terminated block@8: // set_Note_0_to_0_L86 debug: Sealing block@9: // next_field_L86 -debug: Created Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetReserve_idx_0' in block@9: // next_field_L86 -debug: Created Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetReserve_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetReserve_idx_0#2) with asset_params%%param_ConfigAssetReserve_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@4, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetReserve_idx_0#2) with asset_params%%param_ConfigAssetReserve_idx_0#0 in current definition for 1 blocks -debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@7) in block@7: // next_txn_L86 -debug: Added asset_params%%param_ConfigAssetReserve_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@7, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@7, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetReserve_idx_0#1) with asset_params%%param_ConfigAssetReserve_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@7, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@8) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetReserve_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@7, asset_params%%param_ConfigAssetReserve_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetReserve_idx_0#1) with asset_params%%param_ConfigAssetReserve_idx_0#0 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetTotal_idx_0' in block@9: // next_field_L86 -debug: Created Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetTotal_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetTotal_idx_0#2) with asset_params%%param_ConfigAssetTotal_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@4, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetTotal_idx_0#2) with asset_params%%param_ConfigAssetTotal_idx_0#0 in current definition for 1 blocks -debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@7) in block@7: // next_txn_L86 -debug: Added asset_params%%param_ConfigAssetTotal_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@7, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@7, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetTotal_idx_0#1) with asset_params%%param_ConfigAssetTotal_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@7, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@8) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetTotal_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@7, asset_params%%param_ConfigAssetTotal_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetTotal_idx_0#1) with asset_params%%param_ConfigAssetTotal_idx_0#0 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_TypeEnum_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_TypeEnum_idx_0' in block@9: // next_field_L86 -debug: Created Phi assignment: let asset_params%%param_TypeEnum_idx_0#2: uint64 = undefined while trying to resolve 'asset_params%%param_TypeEnum_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#2: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#2: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_TypeEnum_idx_0#2: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) (asset_params%%param_TypeEnum_idx_0#2) with asset_params%%param_TypeEnum_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_TypeEnum_idx_0#2: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_TypeEnum_idx_0#2: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@4, asset_params%%param_TypeEnum_idx_0#0 <- block@5) (asset_params%%param_TypeEnum_idx_0#2) with asset_params%%param_TypeEnum_idx_0#0 in current definition for 1 blocks -debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@7) in block@7: // next_txn_L86 -debug: Added asset_params%%param_TypeEnum_idx_0#0 to Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@7, asset_params%%param_TypeEnum_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@7, asset_params%%param_TypeEnum_idx_0#0 <- block@8) (asset_params%%param_TypeEnum_idx_0#1) with asset_params%%param_TypeEnum_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@7, asset_params%%param_TypeEnum_idx_0#0 <- block@8) -debug: Replaced trivial Phi node: let asset_params%%param_TypeEnum_idx_0#1: uint64 = φ(asset_params%%param_TypeEnum_idx_0#0 <- block@7, asset_params%%param_TypeEnum_idx_0#0 <- block@8) (asset_params%%param_TypeEnum_idx_0#1) with asset_params%%param_TypeEnum_idx_0#0 in current definition for 1 blocks -debug: Created Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetUnitName_idx_0' in block@9: // next_field_L86 -debug: Created Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetUnitName_idx_0' in block@6: // next_field_L86 -debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4) in block@4: // next_txn_L79 -debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetUnitName_idx_0#2) with asset_params%%param_ConfigAssetUnitName_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@4, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetUnitName_idx_0#2) with asset_params%%param_ConfigAssetUnitName_idx_0#0 in current definition for 1 blocks -debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@7) in block@7: // next_txn_L86 -debug: Added asset_params%%param_ConfigAssetUnitName_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@7, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 -debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@7, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetUnitName_idx_0#1) with asset_params%%param_ConfigAssetUnitName_idx_0#0 -debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@7, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@8) -debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetUnitName_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@7, asset_params%%param_ConfigAssetUnitName_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetUnitName_idx_0#1) with asset_params%%param_ConfigAssetUnitName_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetManager_idx_0' in block@9: // next_field_L86 +debug: Created Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetManager_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetManager_idx_0#2) with asset_params%%param_ConfigAssetManager_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#2: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@4, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetManager_idx_0#2) with asset_params%%param_ConfigAssetManager_idx_0#0 in current definition for 1 blocks +debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@7) in block@7: // next_txn_L86 +debug: Added asset_params%%param_ConfigAssetManager_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@7, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@7, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetManager_idx_0#1) with asset_params%%param_ConfigAssetManager_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@7, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@8) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetManager_idx_0#1: bytes = φ(asset_params%%param_ConfigAssetManager_idx_0#0 <- block@7, asset_params%%param_ConfigAssetManager_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetManager_idx_0#1) with asset_params%%param_ConfigAssetManager_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_Fee_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_Fee_idx_0' in block@9: // next_field_L86 +debug: Created Phi assignment: let asset_params%%param_Fee_idx_0#2: uint64 = undefined while trying to resolve 'asset_params%%param_Fee_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#2: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#2: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_Fee_idx_0#2: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) (asset_params%%param_Fee_idx_0#2) with asset_params%%param_Fee_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_Fee_idx_0#2: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_Fee_idx_0#2: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@4, asset_params%%param_Fee_idx_0#0 <- block@5) (asset_params%%param_Fee_idx_0#2) with asset_params%%param_Fee_idx_0#0 in current definition for 1 blocks +debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@7) in block@7: // next_txn_L86 +debug: Added asset_params%%param_Fee_idx_0#0 to Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@7, asset_params%%param_Fee_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@7, asset_params%%param_Fee_idx_0#0 <- block@8) (asset_params%%param_Fee_idx_0#1) with asset_params%%param_Fee_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@7, asset_params%%param_Fee_idx_0#0 <- block@8) +debug: Replaced trivial Phi node: let asset_params%%param_Fee_idx_0#1: uint64 = φ(asset_params%%param_Fee_idx_0#0 <- block@7, asset_params%%param_Fee_idx_0#0 <- block@8) (asset_params%%param_Fee_idx_0#1) with asset_params%%param_Fee_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetDecimals_idx_0' in block@9: // next_field_L86 +debug: Created Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = undefined while trying to resolve 'asset_params%%param_ConfigAssetDecimals_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetDecimals_idx_0#2) with asset_params%%param_ConfigAssetDecimals_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#2: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@4, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@5) (asset_params%%param_ConfigAssetDecimals_idx_0#2) with asset_params%%param_ConfigAssetDecimals_idx_0#0 in current definition for 1 blocks +debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@7) in block@7: // next_txn_L86 +debug: Added asset_params%%param_ConfigAssetDecimals_idx_0#0 to Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@7, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@8) in block@8: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@7, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetDecimals_idx_0#1) with asset_params%%param_ConfigAssetDecimals_idx_0#0 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@7, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@8) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetDecimals_idx_0#1: uint64 = φ(asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@7, asset_params%%param_ConfigAssetDecimals_idx_0#0 <- block@8) (asset_params%%param_ConfigAssetDecimals_idx_0#1) with asset_params%%param_ConfigAssetDecimals_idx_0#0 in current definition for 1 blocks +debug: Created Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetName_idx_0' in block@9: // next_field_L86 +debug: Created Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = undefined while trying to resolve 'asset_params%%param_ConfigAssetName_idx_0' in block@6: // next_field_L86 +debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4) in block@4: // next_txn_L79 +debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) in block@5: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) (asset_params%%param_ConfigAssetName_idx_0#4) with asset_params%%param_ConfigAssetName_idx_0#2 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#4: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@4, asset_params%%param_ConfigAssetName_idx_0#2 <- block@5) (asset_params%%param_ConfigAssetName_idx_0#4) with asset_params%%param_ConfigAssetName_idx_0#2 in current definition for 1 blocks +debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@7) in block@7: // next_txn_L86 +debug: Added asset_params%%param_ConfigAssetName_idx_0#2 to Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@7, asset_params%%param_ConfigAssetName_idx_0#2 <- block@8) in block@8: // set_Note_0_to_0_L86 +debug: Replacing trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@7, asset_params%%param_ConfigAssetName_idx_0#2 <- block@8) (asset_params%%param_ConfigAssetName_idx_0#3) with asset_params%%param_ConfigAssetName_idx_0#2 +debug: Deleting Phi assignment: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@7, asset_params%%param_ConfigAssetName_idx_0#2 <- block@8) +debug: Replaced trivial Phi node: let asset_params%%param_ConfigAssetName_idx_0#3: bytes = φ(asset_params%%param_ConfigAssetName_idx_0#2 <- block@7, asset_params%%param_ConfigAssetName_idx_0#2 <- block@8) (asset_params%%param_ConfigAssetName_idx_0#3) with asset_params%%param_ConfigAssetName_idx_0#2 in current definition for 1 blocks debug: Terminated block@9: // next_field_L86 debug: Sealing block@10: // next_txn_L86 debug: Terminated block@10: // next_txn_L86 @@ -441,90 +453,90 @@ debug: Sealing block@None: // else_body_L91 debug: Terminated block@1: // if_body_L91 debug: Terminated block@2: // else_body_L91 debug: Sealing block@3: // after_if_else_L91 -debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_0' in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ApplicationArgs_idx_0#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_ApplicationArgs_idx_0#1 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_0#1 <- block@2) in block@2: // else_body_L91 -debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_1' in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ApplicationArgs_idx_1#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_ApplicationArgs_idx_1#1 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_1#1 <- block@2) in block@2: // else_body_L91 -debug: Created Phi assignment: let create_app_params%%ApplicationArgs_length#2: uint64 = undefined while trying to resolve 'create_app_params%%ApplicationArgs_length' in block@3: // after_if_else_L91 -debug: Added create_app_params%%ApplicationArgs_length#0 to Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%ApplicationArgs_length#1 to Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1, create_app_params%%ApplicationArgs_length#1 <- block@2) in block@2: // else_body_L91 +debug: Created Phi assignment: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = undefined while trying to resolve 'create_app_params%%param_TypeEnum_idx_0' in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_TypeEnum_idx_0#0 to Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_TypeEnum_idx_0#1 to Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1, create_app_params%%param_TypeEnum_idx_0#1 <- block@2) in block@2: // else_body_L91 +debug: Created Phi assignment: let create_app_params%%Note_length#2: uint64 = undefined while trying to resolve 'create_app_params%%Note_length' in block@3: // after_if_else_L91 +debug: Added create_app_params%%Note_length#0 to Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%Note_length#1 to Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#0 <- block@1, create_app_params%%Note_length#1 <- block@2) in block@2: // else_body_L91 debug: Terminated block@3: // after_if_else_L91 -debug: Sealing block@None: // set_ApplicationArgs_2_to_2_L107 -debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_2' in block@3: // after_if_else_L91 -debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_2' in block@0: // L89 -warning: Variable create_app_params%%param_ApplicationArgs_idx_2 potentially used before assignment -debug: Added create_app_params%%param_ApplicationArgs_idx_2#2 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_ApplicationArgs_idx_2#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@1, create_app_params%%param_ApplicationArgs_idx_2#0 <- block@2) in block@2: // else_body_L91 -debug: Terminated block@4: // set_ApplicationArgs_2_to_2_L107 +debug: Sealing block@None: // set_Note_0_to_0_L107 +debug: Created Phi assignment: let create_app_params%%param_Note_idx_0#1: bytes = undefined while trying to resolve 'create_app_params%%param_Note_idx_0' in block@3: // after_if_else_L91 +debug: Created Phi assignment: let create_app_params%%param_Note_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_Note_idx_0' in block@0: // L89 +warning: Variable create_app_params%%param_Note_idx_0 potentially used before assignment +debug: Added create_app_params%%param_Note_idx_0#2 to Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_Note_idx_0#0 to Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@1, create_app_params%%param_Note_idx_0#0 <- block@2) in block@2: // else_body_L91 +debug: Terminated block@4: // set_Note_0_to_0_L107 debug: Sealing block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApprovalProgramPages_idx_0' in block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_ApprovalProgramPages_idx_0' in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#1 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1, create_app_params%%param_ApprovalProgramPages_idx_0#1 <- block@2) in block@2: // else_body_L91 -debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 -debug: Replacing trivial Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ApprovalProgramPages_idx_0#2) with create_app_params%%param_ApprovalProgramPages_idx_0#3 -debug: Deleting Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) -debug: Replaced trivial Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ApprovalProgramPages_idx_0#2) with create_app_params%%param_ApprovalProgramPages_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ClearStateProgramPages_idx_0' in block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_ClearStateProgramPages_idx_0' in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#1 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1, create_app_params%%param_ClearStateProgramPages_idx_0#1 <- block@2) in block@2: // else_body_L91 -debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 -debug: Replacing trivial Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ClearStateProgramPages_idx_0#2) with create_app_params%%param_ClearStateProgramPages_idx_0#3 -debug: Deleting Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) -debug: Replaced trivial Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ClearStateProgramPages_idx_0#2) with create_app_params%%param_ClearStateProgramPages_idx_0#3 in current definition for 1 blocks debug: Created Phi assignment: let create_app_params%%param_Fee_idx_0#2: uint64 = undefined while trying to resolve 'create_app_params%%param_Fee_idx_0' in block@5: // next_field_L107 debug: Created Phi assignment: let create_app_params%%param_Fee_idx_0#3: uint64 = undefined while trying to resolve 'create_app_params%%param_Fee_idx_0' in block@3: // after_if_else_L91 debug: Added create_app_params%%param_Fee_idx_0#0 to Phi node: let create_app_params%%param_Fee_idx_0#3: uint64 = φ(create_app_params%%param_Fee_idx_0#0 <- block@1) in block@1: // if_body_L91 debug: Added create_app_params%%param_Fee_idx_0#1 to Phi node: let create_app_params%%param_Fee_idx_0#3: uint64 = φ(create_app_params%%param_Fee_idx_0#0 <- block@1, create_app_params%%param_Fee_idx_0#1 <- block@2) in block@2: // else_body_L91 debug: Added create_app_params%%param_Fee_idx_0#3 to Phi node: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_Fee_idx_0#3 to Phi node: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3, create_app_params%%param_Fee_idx_0#3 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 +debug: Added create_app_params%%param_Fee_idx_0#3 to Phi node: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3, create_app_params%%param_Fee_idx_0#3 <- block@4) in block@4: // set_Note_0_to_0_L107 debug: Replacing trivial Phi node: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3, create_app_params%%param_Fee_idx_0#3 <- block@4) (create_app_params%%param_Fee_idx_0#2) with create_app_params%%param_Fee_idx_0#3 debug: Deleting Phi assignment: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3, create_app_params%%param_Fee_idx_0#3 <- block@4) debug: Replaced trivial Phi node: let create_app_params%%param_Fee_idx_0#2: uint64 = φ(create_app_params%%param_Fee_idx_0#3 <- block@3, create_app_params%%param_Fee_idx_0#3 <- block@4) (create_app_params%%param_Fee_idx_0#2) with create_app_params%%param_Fee_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let create_app_params%%Note_length#2: uint64 = undefined while trying to resolve 'create_app_params%%Note_length' in block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%Note_length#3: uint64 = undefined while trying to resolve 'create_app_params%%Note_length' in block@3: // after_if_else_L91 -debug: Added create_app_params%%Note_length#0 to Phi node: let create_app_params%%Note_length#3: uint64 = φ(create_app_params%%Note_length#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%Note_length#1 to Phi node: let create_app_params%%Note_length#3: uint64 = φ(create_app_params%%Note_length#0 <- block@1, create_app_params%%Note_length#1 <- block@2) in block@2: // else_body_L91 -debug: Added create_app_params%%Note_length#3 to Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#3 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%Note_length#3 to Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#3 <- block@3, create_app_params%%Note_length#3 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 -debug: Replacing trivial Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#3 <- block@3, create_app_params%%Note_length#3 <- block@4) (create_app_params%%Note_length#2) with create_app_params%%Note_length#3 -debug: Deleting Phi assignment: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#3 <- block@3, create_app_params%%Note_length#3 <- block@4) -debug: Replaced trivial Phi node: let create_app_params%%Note_length#2: uint64 = φ(create_app_params%%Note_length#3 <- block@3, create_app_params%%Note_length#3 <- block@4) (create_app_params%%Note_length#2) with create_app_params%%Note_length#3 in current definition for 1 blocks +debug: Created Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ClearStateProgramPages_idx_0' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_ClearStateProgramPages_idx_0' in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#1 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#0 <- block@1, create_app_params%%param_ClearStateProgramPages_idx_0#1 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ClearStateProgramPages_idx_0#2) with create_app_params%%param_ClearStateProgramPages_idx_0#3 +debug: Deleting Phi assignment: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, create_app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ClearStateProgramPages_idx_0#2) with create_app_params%%param_ClearStateProgramPages_idx_0#3 in current definition for 1 blocks +debug: Created Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApprovalProgramPages_idx_0' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_ApprovalProgramPages_idx_0' in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#1 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#0 <- block@1, create_app_params%%param_ApprovalProgramPages_idx_0#1 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ApprovalProgramPages_idx_0#2) with create_app_params%%param_ApprovalProgramPages_idx_0#3 +debug: Deleting Phi assignment: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, create_app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) (create_app_params%%param_ApprovalProgramPages_idx_0#2) with create_app_params%%param_ApprovalProgramPages_idx_0#3 in current definition for 1 blocks +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_0' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_0' in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_0#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_0#1 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_0#1 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_0#3 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#3 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_0#3 to Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_0#3 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_0#3 <- block@4) (create_app_params%%param_ApplicationArgs_idx_0#2) with create_app_params%%param_ApplicationArgs_idx_0#3 +debug: Deleting Phi assignment: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_0#3 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_0#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_0#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_0#3 <- block@4) (create_app_params%%param_ApplicationArgs_idx_0#2) with create_app_params%%param_ApplicationArgs_idx_0#3 in current definition for 1 blocks +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_1' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_1#3: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_1' in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_1#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_1#1 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#3: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#0 <- block@1, create_app_params%%param_ApplicationArgs_idx_1#1 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_1#3 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#3 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_1#3 to Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_1#3 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_1#3 <- block@4) (create_app_params%%param_ApplicationArgs_idx_1#2) with create_app_params%%param_ApplicationArgs_idx_1#3 +debug: Deleting Phi assignment: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_1#3 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_1#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_1#3 <- block@3, create_app_params%%param_ApplicationArgs_idx_1#3 <- block@4) (create_app_params%%param_ApplicationArgs_idx_1#2) with create_app_params%%param_ApplicationArgs_idx_1#3 in current definition for 1 blocks +debug: Created Phi assignment: let create_app_params%%ApplicationArgs_length#2: uint64 = undefined while trying to resolve 'create_app_params%%ApplicationArgs_length' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%ApplicationArgs_length#3: uint64 = undefined while trying to resolve 'create_app_params%%ApplicationArgs_length' in block@3: // after_if_else_L91 +debug: Added create_app_params%%ApplicationArgs_length#0 to Phi node: let create_app_params%%ApplicationArgs_length#3: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%ApplicationArgs_length#1 to Phi node: let create_app_params%%ApplicationArgs_length#3: uint64 = φ(create_app_params%%ApplicationArgs_length#0 <- block@1, create_app_params%%ApplicationArgs_length#1 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%ApplicationArgs_length#3 to Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#3 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%ApplicationArgs_length#3 to Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#3 <- block@3, create_app_params%%ApplicationArgs_length#3 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#3 <- block@3, create_app_params%%ApplicationArgs_length#3 <- block@4) (create_app_params%%ApplicationArgs_length#2) with create_app_params%%ApplicationArgs_length#3 +debug: Deleting Phi assignment: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#3 <- block@3, create_app_params%%ApplicationArgs_length#3 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%ApplicationArgs_length#2: uint64 = φ(create_app_params%%ApplicationArgs_length#3 <- block@3, create_app_params%%ApplicationArgs_length#3 <- block@4) (create_app_params%%ApplicationArgs_length#2) with create_app_params%%ApplicationArgs_length#3 in current definition for 1 blocks debug: Terminated block@5: // next_field_L107 -debug: Sealing block@None: // set_Note_0_to_0_L107 -debug: Created Phi assignment: let create_app_params%%param_Note_idx_0#1: bytes = undefined while trying to resolve 'create_app_params%%param_Note_idx_0' in block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_Note_idx_0#2: bytes = undefined while trying to resolve 'create_app_params%%param_Note_idx_0' in block@3: // after_if_else_L91 -debug: Created Phi assignment: let create_app_params%%param_Note_idx_0#3: bytes = undefined while trying to resolve 'create_app_params%%param_Note_idx_0' in block@0: // L89 -warning: Variable create_app_params%%param_Note_idx_0 potentially used before assignment -debug: Added create_app_params%%param_Note_idx_0#3 to Phi node: let create_app_params%%param_Note_idx_0#2: bytes = φ(create_app_params%%param_Note_idx_0#3 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_Note_idx_0#0 to Phi node: let create_app_params%%param_Note_idx_0#2: bytes = φ(create_app_params%%param_Note_idx_0#3 <- block@1, create_app_params%%param_Note_idx_0#0 <- block@2) in block@2: // else_body_L91 -debug: Added create_app_params%%param_Note_idx_0#2 to Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_Note_idx_0#2 to Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@3, create_app_params%%param_Note_idx_0#2 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 -debug: Replacing trivial Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@3, create_app_params%%param_Note_idx_0#2 <- block@4) (create_app_params%%param_Note_idx_0#1) with create_app_params%%param_Note_idx_0#2 -debug: Deleting Phi assignment: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@3, create_app_params%%param_Note_idx_0#2 <- block@4) -debug: Replaced trivial Phi node: let create_app_params%%param_Note_idx_0#1: bytes = φ(create_app_params%%param_Note_idx_0#2 <- block@3, create_app_params%%param_Note_idx_0#2 <- block@4) (create_app_params%%param_Note_idx_0#1) with create_app_params%%param_Note_idx_0#2 in current definition for 1 blocks -debug: Terminated block@6: // set_Note_0_to_0_L107 +debug: Sealing block@None: // set_ApplicationArgs_2_to_2_L107 +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_2' in block@5: // next_field_L107 +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_2' in block@3: // after_if_else_L91 +debug: Created Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#3: bytes = undefined while trying to resolve 'create_app_params%%param_ApplicationArgs_idx_2' in block@0: // L89 +warning: Variable create_app_params%%param_ApplicationArgs_idx_2 potentially used before assignment +debug: Added create_app_params%%param_ApplicationArgs_idx_2#3 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#3 <- block@1) in block@1: // if_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_2#0 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#3 <- block@1, create_app_params%%param_ApplicationArgs_idx_2#0 <- block@2) in block@2: // else_body_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_2#2 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@3) in block@3: // after_if_else_L91 +debug: Added create_app_params%%param_ApplicationArgs_idx_2#2 to Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@3, create_app_params%%param_ApplicationArgs_idx_2#2 <- block@4) in block@4: // set_Note_0_to_0_L107 +debug: Replacing trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@3, create_app_params%%param_ApplicationArgs_idx_2#2 <- block@4) (create_app_params%%param_ApplicationArgs_idx_2#1) with create_app_params%%param_ApplicationArgs_idx_2#2 +debug: Deleting Phi assignment: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@3, create_app_params%%param_ApplicationArgs_idx_2#2 <- block@4) +debug: Replaced trivial Phi node: let create_app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(create_app_params%%param_ApplicationArgs_idx_2#2 <- block@3, create_app_params%%param_ApplicationArgs_idx_2#2 <- block@4) (create_app_params%%param_ApplicationArgs_idx_2#1) with create_app_params%%param_ApplicationArgs_idx_2#2 in current definition for 1 blocks +debug: Terminated block@6: // set_ApplicationArgs_2_to_2_L107 debug: Sealing block@7: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = undefined while trying to resolve 'create_app_params%%param_TypeEnum_idx_0' in block@7: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = undefined while trying to resolve 'create_app_params%%param_TypeEnum_idx_0' in block@5: // next_field_L107 -debug: Created Phi assignment: let create_app_params%%param_TypeEnum_idx_0#4: uint64 = undefined while trying to resolve 'create_app_params%%param_TypeEnum_idx_0' in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_TypeEnum_idx_0#0 to Phi node: let create_app_params%%param_TypeEnum_idx_0#4: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1) in block@1: // if_body_L91 -debug: Added create_app_params%%param_TypeEnum_idx_0#1 to Phi node: let create_app_params%%param_TypeEnum_idx_0#4: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#0 <- block@1, create_app_params%%param_TypeEnum_idx_0#1 <- block@2) in block@2: // else_body_L91 -debug: Added create_app_params%%param_TypeEnum_idx_0#4 to Phi node: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@3) in block@3: // after_if_else_L91 -debug: Added create_app_params%%param_TypeEnum_idx_0#4 to Phi node: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@3, create_app_params%%param_TypeEnum_idx_0#4 <- block@4) in block@4: // set_ApplicationArgs_2_to_2_L107 -debug: Replacing trivial Phi node: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@3, create_app_params%%param_TypeEnum_idx_0#4 <- block@4) (create_app_params%%param_TypeEnum_idx_0#3) with create_app_params%%param_TypeEnum_idx_0#4 -debug: Deleting Phi assignment: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@3, create_app_params%%param_TypeEnum_idx_0#4 <- block@4) -debug: Replaced trivial Phi node: let create_app_params%%param_TypeEnum_idx_0#3: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@3, create_app_params%%param_TypeEnum_idx_0#4 <- block@4) (create_app_params%%param_TypeEnum_idx_0#3) with create_app_params%%param_TypeEnum_idx_0#4 in current definition for 1 blocks -debug: Added create_app_params%%param_TypeEnum_idx_0#4 to Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@5) in block@5: // next_field_L107 -debug: Added create_app_params%%param_TypeEnum_idx_0#4 to Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@5, create_app_params%%param_TypeEnum_idx_0#4 <- block@6) in block@6: // set_Note_0_to_0_L107 -debug: Replacing trivial Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@5, create_app_params%%param_TypeEnum_idx_0#4 <- block@6) (create_app_params%%param_TypeEnum_idx_0#2) with create_app_params%%param_TypeEnum_idx_0#4 -debug: Deleting Phi assignment: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@5, create_app_params%%param_TypeEnum_idx_0#4 <- block@6) -debug: Replaced trivial Phi node: let create_app_params%%param_TypeEnum_idx_0#2: uint64 = φ(create_app_params%%param_TypeEnum_idx_0#4 <- block@5, create_app_params%%param_TypeEnum_idx_0#4 <- block@6) (create_app_params%%param_TypeEnum_idx_0#2) with create_app_params%%param_TypeEnum_idx_0#4 in current definition for 1 blocks debug: Terminated block@7: // next_field_L107 debug: Sealing block@8: // next_txn_L107 debug: Terminated block@8: // next_txn_L107 @@ -676,6 +688,63 @@ debug: Terminated block@4: // switch_case_1_L34 debug: Terminated block@5: // switch_case_2_L36 debug: Terminated block@6: // switch_case_default_L30 debug: Sealing block@7: // switch_case_next_L30 +debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@7: // switch_case_next_L30 +debug: Looking for 'app_params%%param_TypeEnum_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4, app_params%%param_TypeEnum_idx_0#2 <- block@5) in block@5: // switch_case_2_L36 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4, app_params%%param_TypeEnum_idx_0#2 <- block@5, app_params%%param_TypeEnum_idx_0#2 <- block@6) in block@6: // switch_case_default_L30 +debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4, app_params%%param_TypeEnum_idx_0#2 <- block@5, app_params%%param_TypeEnum_idx_0#2 <- block@6) (app_params%%param_TypeEnum_idx_0#1) with app_params%%param_TypeEnum_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4, app_params%%param_TypeEnum_idx_0#2 <- block@5, app_params%%param_TypeEnum_idx_0#2 <- block@6) +debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@3, app_params%%param_TypeEnum_idx_0#2 <- block@4, app_params%%param_TypeEnum_idx_0#2 <- block@5, app_params%%param_TypeEnum_idx_0#2 <- block@6) (app_params%%param_TypeEnum_idx_0#1) with app_params%%param_TypeEnum_idx_0#2 in current definition for 1 blocks +debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@7: // switch_case_next_L30 +debug: Looking for 'app_params%%param_OnCompletion_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4, app_params%%param_OnCompletion_idx_0#2 <- block@5) in block@5: // switch_case_2_L36 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4, app_params%%param_OnCompletion_idx_0#2 <- block@5, app_params%%param_OnCompletion_idx_0#2 <- block@6) in block@6: // switch_case_default_L30 +debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4, app_params%%param_OnCompletion_idx_0#2 <- block@5, app_params%%param_OnCompletion_idx_0#2 <- block@6) (app_params%%param_OnCompletion_idx_0#1) with app_params%%param_OnCompletion_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4, app_params%%param_OnCompletion_idx_0#2 <- block@5, app_params%%param_OnCompletion_idx_0#2 <- block@6) +debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@3, app_params%%param_OnCompletion_idx_0#2 <- block@4, app_params%%param_OnCompletion_idx_0#2 <- block@5, app_params%%param_OnCompletion_idx_0#2 <- block@6) (app_params%%param_OnCompletion_idx_0#1) with app_params%%param_OnCompletion_idx_0#2 in current definition for 1 blocks +debug: Created Phi assignment: let app_params%%param_Note_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@7: // switch_case_next_L30 +debug: Added app_params%%param_Note_idx_0#1 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_Note_idx_0#2 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_Note_idx_0#3 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4, app_params%%param_Note_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 +debug: Looking for 'app_params%%param_Note_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_Note_idx_0#5: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4, app_params%%param_Note_idx_0#3 <- block@5, app_params%%param_Note_idx_0#5 <- block@6) in block@6: // switch_case_default_L30 +debug: Created Phi assignment: let app_params%%param_Fee_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@7: // switch_case_next_L30 +debug: Looking for 'app_params%%param_Fee_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_Fee_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4, app_params%%param_Fee_idx_0#2 <- block@5) in block@5: // switch_case_2_L36 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4, app_params%%param_Fee_idx_0#2 <- block@5, app_params%%param_Fee_idx_0#2 <- block@6) in block@6: // switch_case_default_L30 +debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4, app_params%%param_Fee_idx_0#2 <- block@5, app_params%%param_Fee_idx_0#2 <- block@6) (app_params%%param_Fee_idx_0#1) with app_params%%param_Fee_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4, app_params%%param_Fee_idx_0#2 <- block@5, app_params%%param_Fee_idx_0#2 <- block@6) +debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@3, app_params%%param_Fee_idx_0#2 <- block@4, app_params%%param_Fee_idx_0#2 <- block@5, app_params%%param_Fee_idx_0#2 <- block@6) (app_params%%param_Fee_idx_0#1) with app_params%%param_Fee_idx_0#2 in current definition for 1 blocks +debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@7: // switch_case_next_L30 +debug: Looking for 'app_params%%param_ClearStateProgramPages_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@5) in block@5: // switch_case_2_L36 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@6) in block@6: // switch_case_default_L30 +debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@6) (app_params%%param_ClearStateProgramPages_idx_0#1) with app_params%%param_ClearStateProgramPages_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@6) +debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@6) (app_params%%param_ClearStateProgramPages_idx_0#1) with app_params%%param_ClearStateProgramPages_idx_0#2 in current definition for 1 blocks +debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@7: // switch_case_next_L30 +debug: Looking for 'app_params%%param_ApprovalProgramPages_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 +debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@2: // for_body_L28 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3) in block@3: // switch_case_0_L32 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@5) in block@5: // switch_case_2_L36 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@6) in block@6: // switch_case_default_L30 +debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@6) (app_params%%param_ApprovalProgramPages_idx_0#1) with app_params%%param_ApprovalProgramPages_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@6) +debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@6) (app_params%%param_ApprovalProgramPages_idx_0#1) with app_params%%param_ApprovalProgramPages_idx_0#2 in current definition for 1 blocks debug: Created Phi assignment: let app_params%%ApplicationArgs_length#4: uint64 = undefined while trying to resolve 'app_params%%ApplicationArgs_length' in block@7: // switch_case_next_L30 debug: Added app_params%%ApplicationArgs_length#1 to Phi node: let app_params%%ApplicationArgs_length#4: uint64 = φ(app_params%%ApplicationArgs_length#1 <- block@3) in block@3: // switch_case_0_L32 debug: Added app_params%%ApplicationArgs_length#2 to Phi node: let app_params%%ApplicationArgs_length#4: uint64 = φ(app_params%%ApplicationArgs_length#1 <- block@3, app_params%%ApplicationArgs_length#2 <- block@4) in block@4: // switch_case_1_L34 @@ -712,111 +781,6 @@ debug: Added app_params%%param_ApplicationArgs_idx_2#0 to Phi node: let app_para debug: Added app_params%%param_ApplicationArgs_idx_2#2 to Phi node: let app_params%%param_ApplicationArgs_idx_2#1: bytes = φ(app_params%%param_ApplicationArgs_idx_2#2 <- block@3, app_params%%param_ApplicationArgs_idx_2#2 <- block@4, app_params%%param_ApplicationArgs_idx_2#0 <- block@5, app_params%%param_ApplicationArgs_idx_2#2 <- block@6) in block@6: // switch_case_default_L30 debug: Terminated block@10: // set_ApplicationArgs_2_to_2_L40 debug: Sealing block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@7: // switch_case_next_L30 -debug: Looking for 'app_params%%param_ApprovalProgramPages_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@6) in block@6: // switch_case_default_L30 -debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@6) (app_params%%param_ApprovalProgramPages_idx_0#2) with app_params%%param_ApprovalProgramPages_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@6) -debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@3, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@4, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@5, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@6) (app_params%%param_ApprovalProgramPages_idx_0#2) with app_params%%param_ApprovalProgramPages_idx_0#3 in current definition for 1 blocks -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@10) (app_params%%param_ApprovalProgramPages_idx_0#1) with app_params%%param_ApprovalProgramPages_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#1: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@10) (app_params%%param_ApprovalProgramPages_idx_0#1) with app_params%%param_ApprovalProgramPages_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@7: // switch_case_next_L30 -debug: Looking for 'app_params%%param_ClearStateProgramPages_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@6) in block@6: // switch_case_default_L30 -debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@6) (app_params%%param_ClearStateProgramPages_idx_0#2) with app_params%%param_ClearStateProgramPages_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@6) -debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@3, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@4, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@5, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@6) (app_params%%param_ClearStateProgramPages_idx_0#2) with app_params%%param_ClearStateProgramPages_idx_0#3 in current definition for 1 blocks -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@10) (app_params%%param_ClearStateProgramPages_idx_0#1) with app_params%%param_ClearStateProgramPages_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#1: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@10) (app_params%%param_ClearStateProgramPages_idx_0#1) with app_params%%param_ClearStateProgramPages_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let app_params%%param_Fee_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_Fee_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@7: // switch_case_next_L30 -debug: Looking for 'app_params%%param_Fee_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_Fee_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4, app_params%%param_Fee_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4, app_params%%param_Fee_idx_0#3 <- block@5, app_params%%param_Fee_idx_0#3 <- block@6) in block@6: // switch_case_default_L30 -debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4, app_params%%param_Fee_idx_0#3 <- block@5, app_params%%param_Fee_idx_0#3 <- block@6) (app_params%%param_Fee_idx_0#2) with app_params%%param_Fee_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4, app_params%%param_Fee_idx_0#3 <- block@5, app_params%%param_Fee_idx_0#3 <- block@6) -debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@3, app_params%%param_Fee_idx_0#3 <- block@4, app_params%%param_Fee_idx_0#3 <- block@5, app_params%%param_Fee_idx_0#3 <- block@6) (app_params%%param_Fee_idx_0#2) with app_params%%param_Fee_idx_0#3 in current definition for 1 blocks -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8, app_params%%param_Fee_idx_0#3 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8, app_params%%param_Fee_idx_0#3 <- block@9, app_params%%param_Fee_idx_0#3 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8, app_params%%param_Fee_idx_0#3 <- block@9, app_params%%param_Fee_idx_0#3 <- block@10) (app_params%%param_Fee_idx_0#1) with app_params%%param_Fee_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8, app_params%%param_Fee_idx_0#3 <- block@9, app_params%%param_Fee_idx_0#3 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#1: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@7, app_params%%param_Fee_idx_0#3 <- block@8, app_params%%param_Fee_idx_0#3 <- block@9, app_params%%param_Fee_idx_0#3 <- block@10) (app_params%%param_Fee_idx_0#1) with app_params%%param_Fee_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let app_params%%param_Note_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_Note_idx_0#5: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@7: // switch_case_next_L30 -debug: Added app_params%%param_Note_idx_0#1 to Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_Note_idx_0#2 to Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_Note_idx_0#3 to Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4, app_params%%param_Note_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Looking for 'app_params%%param_Note_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_Note_idx_0#6: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_Note_idx_0#6 to Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#1 <- block@3, app_params%%param_Note_idx_0#2 <- block@4, app_params%%param_Note_idx_0#3 <- block@5, app_params%%param_Note_idx_0#6 <- block@6) in block@6: // switch_case_default_L30 -debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8, app_params%%param_Note_idx_0#5 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8, app_params%%param_Note_idx_0#5 <- block@9, app_params%%param_Note_idx_0#5 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8, app_params%%param_Note_idx_0#5 <- block@9, app_params%%param_Note_idx_0#5 <- block@10) (app_params%%param_Note_idx_0#4) with app_params%%param_Note_idx_0#5 -debug: Deleting Phi assignment: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8, app_params%%param_Note_idx_0#5 <- block@9, app_params%%param_Note_idx_0#5 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_Note_idx_0#4: bytes = φ(app_params%%param_Note_idx_0#5 <- block@7, app_params%%param_Note_idx_0#5 <- block@8, app_params%%param_Note_idx_0#5 <- block@9, app_params%%param_Note_idx_0#5 <- block@10) (app_params%%param_Note_idx_0#4) with app_params%%param_Note_idx_0#5 in current definition for 1 blocks -debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@7: // switch_case_next_L30 -debug: Looking for 'app_params%%param_OnCompletion_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4, app_params%%param_OnCompletion_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4, app_params%%param_OnCompletion_idx_0#3 <- block@5, app_params%%param_OnCompletion_idx_0#3 <- block@6) in block@6: // switch_case_default_L30 -debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4, app_params%%param_OnCompletion_idx_0#3 <- block@5, app_params%%param_OnCompletion_idx_0#3 <- block@6) (app_params%%param_OnCompletion_idx_0#2) with app_params%%param_OnCompletion_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4, app_params%%param_OnCompletion_idx_0#3 <- block@5, app_params%%param_OnCompletion_idx_0#3 <- block@6) -debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@3, app_params%%param_OnCompletion_idx_0#3 <- block@4, app_params%%param_OnCompletion_idx_0#3 <- block@5, app_params%%param_OnCompletion_idx_0#3 <- block@6) (app_params%%param_OnCompletion_idx_0#2) with app_params%%param_OnCompletion_idx_0#3 in current definition for 1 blocks -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8, app_params%%param_OnCompletion_idx_0#3 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8, app_params%%param_OnCompletion_idx_0#3 <- block@9, app_params%%param_OnCompletion_idx_0#3 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8, app_params%%param_OnCompletion_idx_0#3 <- block@9, app_params%%param_OnCompletion_idx_0#3 <- block@10) (app_params%%param_OnCompletion_idx_0#1) with app_params%%param_OnCompletion_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8, app_params%%param_OnCompletion_idx_0#3 <- block@9, app_params%%param_OnCompletion_idx_0#3 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#1: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@7, app_params%%param_OnCompletion_idx_0#3 <- block@8, app_params%%param_OnCompletion_idx_0#3 <- block@9, app_params%%param_OnCompletion_idx_0#3 <- block@10) (app_params%%param_OnCompletion_idx_0#1) with app_params%%param_OnCompletion_idx_0#3 in current definition for 1 blocks -debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#1: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@11: // next_field_L40 -debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#2: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@7: // switch_case_next_L30 -debug: Looking for 'app_params%%param_TypeEnum_idx_0' in an unsealed block creating an incomplete Phi: block@2: // for_body_L28 -debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@2: // for_body_L28 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3) in block@3: // switch_case_0_L32 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4) in block@4: // switch_case_1_L34 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4, app_params%%param_TypeEnum_idx_0#3 <- block@5) in block@5: // switch_case_2_L36 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4, app_params%%param_TypeEnum_idx_0#3 <- block@5, app_params%%param_TypeEnum_idx_0#3 <- block@6) in block@6: // switch_case_default_L30 -debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4, app_params%%param_TypeEnum_idx_0#3 <- block@5, app_params%%param_TypeEnum_idx_0#3 <- block@6) (app_params%%param_TypeEnum_idx_0#2) with app_params%%param_TypeEnum_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4, app_params%%param_TypeEnum_idx_0#3 <- block@5, app_params%%param_TypeEnum_idx_0#3 <- block@6) -debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@3, app_params%%param_TypeEnum_idx_0#3 <- block@4, app_params%%param_TypeEnum_idx_0#3 <- block@5, app_params%%param_TypeEnum_idx_0#3 <- block@6) (app_params%%param_TypeEnum_idx_0#2) with app_params%%param_TypeEnum_idx_0#3 in current definition for 1 blocks -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7) in block@7: // switch_case_next_L30 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8, app_params%%param_TypeEnum_idx_0#3 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8, app_params%%param_TypeEnum_idx_0#3 <- block@9, app_params%%param_TypeEnum_idx_0#3 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 -debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8, app_params%%param_TypeEnum_idx_0#3 <- block@9, app_params%%param_TypeEnum_idx_0#3 <- block@10) (app_params%%param_TypeEnum_idx_0#1) with app_params%%param_TypeEnum_idx_0#3 -debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8, app_params%%param_TypeEnum_idx_0#3 <- block@9, app_params%%param_TypeEnum_idx_0#3 <- block@10) -debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#1: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@7, app_params%%param_TypeEnum_idx_0#3 <- block@8, app_params%%param_TypeEnum_idx_0#3 <- block@9, app_params%%param_TypeEnum_idx_0#3 <- block@10) (app_params%%param_TypeEnum_idx_0#1) with app_params%%param_TypeEnum_idx_0#3 in current definition for 1 blocks debug: Terminated block@11: // next_field_L40 debug: Sealing block@12: // next_txn_L40 debug: Terminated block@12: // next_txn_L40 @@ -874,6 +838,111 @@ debug: Replacing trivial Phi node: let note#2: bytes = φ(note#0 <- block@0, not debug: Deleting Phi assignment: let note#2: bytes = φ(note#0 <- block@0, note#2 <- block@14) debug: Replaced trivial Phi node: let note#1: bytes = φ(note#2 <- block@1) (note#1) with note#2 in current definition for 13 blocks debug: Replaced trivial Phi node: let note#2: bytes = φ(note#0 <- block@0, note#2 <- block@14) (note#2) with note#0 in current definition for 14 blocks +debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_TypeEnum_idx_0#0 to Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8, app_params%%param_TypeEnum_idx_0#2 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8, app_params%%param_TypeEnum_idx_0#2 <- block@9, app_params%%param_TypeEnum_idx_0#2 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8, app_params%%param_TypeEnum_idx_0#2 <- block@9, app_params%%param_TypeEnum_idx_0#2 <- block@10) (app_params%%param_TypeEnum_idx_0#4) with app_params%%param_TypeEnum_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8, app_params%%param_TypeEnum_idx_0#2 <- block@9, app_params%%param_TypeEnum_idx_0#2 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#2 <- block@7, app_params%%param_TypeEnum_idx_0#2 <- block@8, app_params%%param_TypeEnum_idx_0#2 <- block@9, app_params%%param_TypeEnum_idx_0#2 <- block@10) (app_params%%param_TypeEnum_idx_0#4) with app_params%%param_TypeEnum_idx_0#2 in current definition for 1 blocks +debug: Added app_params%%param_TypeEnum_idx_0#2 to Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#2 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@1) (app_params%%param_TypeEnum_idx_0#2) with app_params%%param_TypeEnum_idx_0#3 +debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@1) +debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#3 <- block@14) (app_params%%param_TypeEnum_idx_0#3) with app_params%%param_TypeEnum_idx_0#0 +debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#3 <- block@14) +debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#2: uint64 = φ(app_params%%param_TypeEnum_idx_0#3 <- block@1) (app_params%%param_TypeEnum_idx_0#2) with app_params%%param_TypeEnum_idx_0#3 in current definition for 13 blocks +debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#3 <- block@14) (app_params%%param_TypeEnum_idx_0#3) with app_params%%param_TypeEnum_idx_0#0 in current definition for 14 blocks +debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_OnCompletion_idx_0#0 to Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8, app_params%%param_OnCompletion_idx_0#2 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8, app_params%%param_OnCompletion_idx_0#2 <- block@9, app_params%%param_OnCompletion_idx_0#2 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8, app_params%%param_OnCompletion_idx_0#2 <- block@9, app_params%%param_OnCompletion_idx_0#2 <- block@10) (app_params%%param_OnCompletion_idx_0#4) with app_params%%param_OnCompletion_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8, app_params%%param_OnCompletion_idx_0#2 <- block@9, app_params%%param_OnCompletion_idx_0#2 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#2 <- block@7, app_params%%param_OnCompletion_idx_0#2 <- block@8, app_params%%param_OnCompletion_idx_0#2 <- block@9, app_params%%param_OnCompletion_idx_0#2 <- block@10) (app_params%%param_OnCompletion_idx_0#4) with app_params%%param_OnCompletion_idx_0#2 in current definition for 1 blocks +debug: Added app_params%%param_OnCompletion_idx_0#2 to Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#2 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@1) (app_params%%param_OnCompletion_idx_0#2) with app_params%%param_OnCompletion_idx_0#3 +debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@1) +debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#3 <- block@14) (app_params%%param_OnCompletion_idx_0#3) with app_params%%param_OnCompletion_idx_0#0 +debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#3 <- block@14) +debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#2: uint64 = φ(app_params%%param_OnCompletion_idx_0#3 <- block@1) (app_params%%param_OnCompletion_idx_0#2) with app_params%%param_OnCompletion_idx_0#3 in current definition for 13 blocks +debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#3 <- block@14) (app_params%%param_OnCompletion_idx_0#3) with app_params%%param_OnCompletion_idx_0#0 in current definition for 14 blocks +debug: Created Phi assignment: let app_params%%param_Note_idx_0#6: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_Note_idx_0#0 to Phi node: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_Note_idx_0#7: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_Note_idx_0#4 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_Note_idx_0#4 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_Note_idx_0#4 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8, app_params%%param_Note_idx_0#4 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_Note_idx_0#4 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8, app_params%%param_Note_idx_0#4 <- block@9, app_params%%param_Note_idx_0#4 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8, app_params%%param_Note_idx_0#4 <- block@9, app_params%%param_Note_idx_0#4 <- block@10) (app_params%%param_Note_idx_0#7) with app_params%%param_Note_idx_0#4 +debug: Deleting Phi assignment: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8, app_params%%param_Note_idx_0#4 <- block@9, app_params%%param_Note_idx_0#4 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#4 <- block@7, app_params%%param_Note_idx_0#4 <- block@8, app_params%%param_Note_idx_0#4 <- block@9, app_params%%param_Note_idx_0#4 <- block@10) (app_params%%param_Note_idx_0#7) with app_params%%param_Note_idx_0#4 in current definition for 1 blocks +debug: Added app_params%%param_Note_idx_0#4 to Phi node: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#0 <- block@0, app_params%%param_Note_idx_0#4 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_Note_idx_0#6 to Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#6 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#6 <- block@1) (app_params%%param_Note_idx_0#5) with app_params%%param_Note_idx_0#6 +debug: Deleting Phi assignment: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#6 <- block@1) +debug: Replaced trivial Phi node: let app_params%%param_Note_idx_0#5: bytes = φ(app_params%%param_Note_idx_0#6 <- block@1) (app_params%%param_Note_idx_0#5) with app_params%%param_Note_idx_0#6 in current definition for 2 blocks +debug: Created Phi assignment: let app_params%%param_Fee_idx_0#3: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_Fee_idx_0#0 to Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_Fee_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8, app_params%%param_Fee_idx_0#2 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8, app_params%%param_Fee_idx_0#2 <- block@9, app_params%%param_Fee_idx_0#2 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8, app_params%%param_Fee_idx_0#2 <- block@9, app_params%%param_Fee_idx_0#2 <- block@10) (app_params%%param_Fee_idx_0#4) with app_params%%param_Fee_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8, app_params%%param_Fee_idx_0#2 <- block@9, app_params%%param_Fee_idx_0#2 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#2 <- block@7, app_params%%param_Fee_idx_0#2 <- block@8, app_params%%param_Fee_idx_0#2 <- block@9, app_params%%param_Fee_idx_0#2 <- block@10) (app_params%%param_Fee_idx_0#4) with app_params%%param_Fee_idx_0#2 in current definition for 1 blocks +debug: Added app_params%%param_Fee_idx_0#2 to Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#2 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@1) (app_params%%param_Fee_idx_0#2) with app_params%%param_Fee_idx_0#3 +debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@1) +debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#3 <- block@14) (app_params%%param_Fee_idx_0#3) with app_params%%param_Fee_idx_0#0 +debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#3 <- block@14) +debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#2: uint64 = φ(app_params%%param_Fee_idx_0#3 <- block@1) (app_params%%param_Fee_idx_0#2) with app_params%%param_Fee_idx_0#3 in current definition for 13 blocks +debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#3 <- block@14) (app_params%%param_Fee_idx_0#3) with app_params%%param_Fee_idx_0#0 in current definition for 14 blocks +debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@10) (app_params%%param_ClearStateProgramPages_idx_0#4) with app_params%%param_ClearStateProgramPages_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#2 <- block@7, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@8, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@9, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@10) (app_params%%param_ClearStateProgramPages_idx_0#4) with app_params%%param_ClearStateProgramPages_idx_0#2 in current definition for 1 blocks +debug: Added app_params%%param_ClearStateProgramPages_idx_0#2 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#2 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@1) (app_params%%param_ClearStateProgramPages_idx_0#2) with app_params%%param_ClearStateProgramPages_idx_0#3 +debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@1) +debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@14) (app_params%%param_ClearStateProgramPages_idx_0#3) with app_params%%param_ClearStateProgramPages_idx_0#0 +debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@14) +debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#2: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#3 <- block@1) (app_params%%param_ClearStateProgramPages_idx_0#2) with app_params%%param_ClearStateProgramPages_idx_0#3 in current definition for 13 blocks +debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@14) (app_params%%param_ClearStateProgramPages_idx_0#3) with app_params%%param_ClearStateProgramPages_idx_0#0 in current definition for 14 blocks +debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@1: // for_header_L28 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0) in block@0: // L19 +debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@11: // next_field_L40 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7) in block@7: // switch_case_next_L30 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8) in block@8: // set_ApplicationArgs_0_to_0_L40 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@9) in block@9: // set_ApplicationArgs_1_to_1_L40 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@10) in block@10: // set_ApplicationArgs_2_to_2_L40 +debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@10) (app_params%%param_ApprovalProgramPages_idx_0#4) with app_params%%param_ApprovalProgramPages_idx_0#2 +debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@10) +debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#2 <- block@7, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@8, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@9, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@10) (app_params%%param_ApprovalProgramPages_idx_0#4) with app_params%%param_ApprovalProgramPages_idx_0#2 in current definition for 1 blocks +debug: Added app_params%%param_ApprovalProgramPages_idx_0#2 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#2 <- block@14) in block@14: // for_increment_L28 +debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@1) in block@1: // for_header_L28 +debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@1) (app_params%%param_ApprovalProgramPages_idx_0#2) with app_params%%param_ApprovalProgramPages_idx_0#3 +debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@1) +debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@14) (app_params%%param_ApprovalProgramPages_idx_0#3) with app_params%%param_ApprovalProgramPages_idx_0#0 +debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@14) +debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#2: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#3 <- block@1) (app_params%%param_ApprovalProgramPages_idx_0#2) with app_params%%param_ApprovalProgramPages_idx_0#3 in current definition for 13 blocks +debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@14) (app_params%%param_ApprovalProgramPages_idx_0#3) with app_params%%param_ApprovalProgramPages_idx_0#0 in current definition for 14 blocks debug: Created Phi assignment: let app_params%%ApplicationArgs_length#6: uint64 = undefined while trying to resolve 'app_params%%ApplicationArgs_length' in block@1: // for_header_L28 debug: Added app_params%%ApplicationArgs_length#0 to Phi node: let app_params%%ApplicationArgs_length#6: uint64 = φ(app_params%%ApplicationArgs_length#0 <- block@0) in block@0: // L19 debug: Created Phi assignment: let app_params%%ApplicationArgs_length#7: uint64 = undefined while trying to resolve 'app_params%%ApplicationArgs_length' in block@11: // next_field_L40 @@ -940,63 +1009,6 @@ debug: Added app_params%%param_ApplicationArgs_idx_2#3 to Phi node: let app_para debug: Replacing trivial Phi node: let app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(app_params%%param_ApplicationArgs_idx_2#3 <- block@1) (app_params%%param_ApplicationArgs_idx_2#2) with app_params%%param_ApplicationArgs_idx_2#3 debug: Deleting Phi assignment: let app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(app_params%%param_ApplicationArgs_idx_2#3 <- block@1) debug: Replaced trivial Phi node: let app_params%%param_ApplicationArgs_idx_2#2: bytes = φ(app_params%%param_ApplicationArgs_idx_2#3 <- block@1) (app_params%%param_ApplicationArgs_idx_2#2) with app_params%%param_ApplicationArgs_idx_2#3 in current definition for 4 blocks -debug: Created Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_ApprovalProgramPages_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#0 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#3 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#3 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_ApprovalProgramPages_idx_0#4 to Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#4 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#4 <- block@1) (app_params%%param_ApprovalProgramPages_idx_0#3) with app_params%%param_ApprovalProgramPages_idx_0#4 -debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#4 <- block@1) -debug: Replacing trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#4 <- block@14) (app_params%%param_ApprovalProgramPages_idx_0#4) with app_params%%param_ApprovalProgramPages_idx_0#0 -debug: Deleting Phi assignment: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#4 <- block@14) -debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#3: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#4 <- block@1) (app_params%%param_ApprovalProgramPages_idx_0#3) with app_params%%param_ApprovalProgramPages_idx_0#4 in current definition for 13 blocks -debug: Replaced trivial Phi node: let app_params%%param_ApprovalProgramPages_idx_0#4: bytes = φ(app_params%%param_ApprovalProgramPages_idx_0#0 <- block@0, app_params%%param_ApprovalProgramPages_idx_0#4 <- block@14) (app_params%%param_ApprovalProgramPages_idx_0#4) with app_params%%param_ApprovalProgramPages_idx_0#0 in current definition for 14 blocks -debug: Created Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = undefined while trying to resolve 'app_params%%param_ClearStateProgramPages_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#0 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#3 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#3 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_ClearStateProgramPages_idx_0#4 to Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#4 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#4 <- block@1) (app_params%%param_ClearStateProgramPages_idx_0#3) with app_params%%param_ClearStateProgramPages_idx_0#4 -debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#4 <- block@1) -debug: Replacing trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#4 <- block@14) (app_params%%param_ClearStateProgramPages_idx_0#4) with app_params%%param_ClearStateProgramPages_idx_0#0 -debug: Deleting Phi assignment: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#4 <- block@14) -debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#3: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#4 <- block@1) (app_params%%param_ClearStateProgramPages_idx_0#3) with app_params%%param_ClearStateProgramPages_idx_0#4 in current definition for 13 blocks -debug: Replaced trivial Phi node: let app_params%%param_ClearStateProgramPages_idx_0#4: bytes = φ(app_params%%param_ClearStateProgramPages_idx_0#0 <- block@0, app_params%%param_ClearStateProgramPages_idx_0#4 <- block@14) (app_params%%param_ClearStateProgramPages_idx_0#4) with app_params%%param_ClearStateProgramPages_idx_0#0 in current definition for 14 blocks -debug: Created Phi assignment: let app_params%%param_Fee_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_Fee_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_Fee_idx_0#0 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_Fee_idx_0#3 to Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#3 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_Fee_idx_0#4 to Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#4 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#4 <- block@1) (app_params%%param_Fee_idx_0#3) with app_params%%param_Fee_idx_0#4 -debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#4 <- block@1) -debug: Replacing trivial Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#4 <- block@14) (app_params%%param_Fee_idx_0#4) with app_params%%param_Fee_idx_0#0 -debug: Deleting Phi assignment: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#4 <- block@14) -debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#3: uint64 = φ(app_params%%param_Fee_idx_0#4 <- block@1) (app_params%%param_Fee_idx_0#3) with app_params%%param_Fee_idx_0#4 in current definition for 13 blocks -debug: Replaced trivial Phi node: let app_params%%param_Fee_idx_0#4: uint64 = φ(app_params%%param_Fee_idx_0#0 <- block@0, app_params%%param_Fee_idx_0#4 <- block@14) (app_params%%param_Fee_idx_0#4) with app_params%%param_Fee_idx_0#0 in current definition for 14 blocks -debug: Created Phi assignment: let app_params%%param_Note_idx_0#7: bytes = undefined while trying to resolve 'app_params%%param_Note_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_Note_idx_0#0 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_Note_idx_0#5 to Phi node: let app_params%%param_Note_idx_0#7: bytes = φ(app_params%%param_Note_idx_0#0 <- block@0, app_params%%param_Note_idx_0#5 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_Note_idx_0#7 to Phi node: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#7 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#7 <- block@1) (app_params%%param_Note_idx_0#6) with app_params%%param_Note_idx_0#7 -debug: Deleting Phi assignment: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#7 <- block@1) -debug: Replaced trivial Phi node: let app_params%%param_Note_idx_0#6: bytes = φ(app_params%%param_Note_idx_0#7 <- block@1) (app_params%%param_Note_idx_0#6) with app_params%%param_Note_idx_0#7 in current definition for 2 blocks -debug: Created Phi assignment: let app_params%%param_OnCompletion_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_OnCompletion_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_OnCompletion_idx_0#0 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_OnCompletion_idx_0#3 to Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#3 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_OnCompletion_idx_0#4 to Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#4 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#4 <- block@1) (app_params%%param_OnCompletion_idx_0#3) with app_params%%param_OnCompletion_idx_0#4 -debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#4 <- block@1) -debug: Replacing trivial Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#4 <- block@14) (app_params%%param_OnCompletion_idx_0#4) with app_params%%param_OnCompletion_idx_0#0 -debug: Deleting Phi assignment: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#4 <- block@14) -debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#3: uint64 = φ(app_params%%param_OnCompletion_idx_0#4 <- block@1) (app_params%%param_OnCompletion_idx_0#3) with app_params%%param_OnCompletion_idx_0#4 in current definition for 13 blocks -debug: Replaced trivial Phi node: let app_params%%param_OnCompletion_idx_0#4: uint64 = φ(app_params%%param_OnCompletion_idx_0#0 <- block@0, app_params%%param_OnCompletion_idx_0#4 <- block@14) (app_params%%param_OnCompletion_idx_0#4) with app_params%%param_OnCompletion_idx_0#0 in current definition for 14 blocks -debug: Created Phi assignment: let app_params%%param_TypeEnum_idx_0#4: uint64 = undefined while trying to resolve 'app_params%%param_TypeEnum_idx_0' in block@1: // for_header_L28 -debug: Added app_params%%param_TypeEnum_idx_0#0 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0) in block@0: // L19 -debug: Added app_params%%param_TypeEnum_idx_0#3 to Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#3 <- block@14) in block@14: // for_increment_L28 -debug: Added app_params%%param_TypeEnum_idx_0#4 to Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#4 <- block@1) in block@1: // for_header_L28 -debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#4 <- block@1) (app_params%%param_TypeEnum_idx_0#3) with app_params%%param_TypeEnum_idx_0#4 -debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#4 <- block@1) -debug: Replacing trivial Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#4 <- block@14) (app_params%%param_TypeEnum_idx_0#4) with app_params%%param_TypeEnum_idx_0#0 -debug: Deleting Phi assignment: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#4 <- block@14) -debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#3: uint64 = φ(app_params%%param_TypeEnum_idx_0#4 <- block@1) (app_params%%param_TypeEnum_idx_0#3) with app_params%%param_TypeEnum_idx_0#4 in current definition for 13 blocks -debug: Replaced trivial Phi node: let app_params%%param_TypeEnum_idx_0#4: uint64 = φ(app_params%%param_TypeEnum_idx_0#0 <- block@0, app_params%%param_TypeEnum_idx_0#4 <- block@14) (app_params%%param_TypeEnum_idx_0#4) with app_params%%param_TypeEnum_idx_0#0 in current definition for 14 blocks debug: Sealing block@None: // after_for_L28 debug: Terminated block@15: // after_for_L28 debug: Sealing block@0: // L16 @@ -1041,10 +1053,10 @@ debug: Removing unused variable inner_txn_params%4%%Accounts_length#0 debug: Removing unused variable inner_txn_params%4%%Amount_length#0 debug: Removing unused variable inner_txn_params%4%%ApplicationArgs_length#0 debug: Removing unused variable inner_txn_params%4%%ApplicationID_length#0 -debug: Removing unused variable inner_txn_params%4%%Applications_length#0 debug: Removing unused variable inner_txn_params%4%%ApprovalProgram_length#0 debug: Removing unused variable inner_txn_params%4%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable inner_txn_params%4%%ApprovalProgramPages_length#0 +debug: Removing unused variable inner_txn_params%4%%Applications_length#0 debug: Removing unused variable inner_txn_params%4%%AssetAmount_length#0 debug: Removing unused variable inner_txn_params%4%%AssetCloseTo_length#0 debug: Removing unused variable inner_txn_params%4%%ConfigAssetName_length#0 @@ -1130,8 +1142,8 @@ debug: Removing unused variable submit_result_0%3%%Nonparticipation#0 debug: Removing unused variable submit_result_0%3%%Note#0 debug: Removing unused variable submit_result_0%3%%NumAccounts#0 debug: Removing unused variable submit_result_0%3%%NumAppArgs#0 -debug: Removing unused variable submit_result_0%3%%NumApplications#0 debug: Removing unused variable submit_result_0%3%%NumApprovalProgramPages#0 +debug: Removing unused variable submit_result_0%3%%NumApplications#0 debug: Removing unused variable submit_result_0%3%%NumAssets#0 debug: Removing unused variable submit_result_0%3%%NumClearStateProgramPages#0 debug: Removing unused variable submit_result_0%3%%NumLogs#0 @@ -1179,9 +1191,9 @@ debug: Removing unused variable inner_txn_params%0%%Amount_length#0 debug: Removing unused variable inner_txn_params%0%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable inner_txn_params%0%%ApplicationArgs_length#0 debug: Removing unused variable inner_txn_params%0%%ApplicationID_length#0 -debug: Removing unused variable inner_txn_params%0%%Applications_length#0 debug: Removing unused variable inner_txn_params%0%%ApprovalProgram_length#0 debug: Removing unused variable inner_txn_params%0%%ApprovalProgramPages_length#0 +debug: Removing unused variable inner_txn_params%0%%Applications_length#0 debug: Removing unused variable inner_txn_params%0%%AssetAmount_length#0 debug: Removing unused variable inner_txn_params%0%%AssetCloseTo_length#0 debug: Removing unused variable inner_txn_params%0%%ConfigAssetName_length#0 @@ -1265,8 +1277,8 @@ debug: Removing unused variable hello_call%%Nonparticipation#0 debug: Removing unused variable hello_call%%Note#0 debug: Removing unused variable hello_call%%NumAccounts#0 debug: Removing unused variable hello_call%%NumAppArgs#0 -debug: Removing unused variable hello_call%%NumApplications#0 debug: Removing unused variable hello_call%%NumApprovalProgramPages#0 +debug: Removing unused variable hello_call%%NumApplications#0 debug: Removing unused variable hello_call%%NumAssets#0 debug: Removing unused variable hello_call%%NumClearStateProgramPages#0 debug: Removing unused variable hello_call%%NumLogs#0 @@ -1506,7 +1518,7 @@ debug: Replaced log_greetings_block@0.ops[40]: 'load tmp%9#0' with 'load tmp%9#0 debug: Inserted log_greetings_block@0.ops[22]: 'store hello_call%%LastLog#0 to l-stack (copy)' debug: Replaced log_greetings_block@0.ops[25]: 'load hello_call%%LastLog#0' with 'load hello_call%%LastLog#0 from l-stack (no copy)' debug: Inserted log_greetings_block@0.ops[6]: 'store app_global_get_ex_value%1#0 to l-stack (copy)' -debug: Replaced log_greetings_block@0.ops[14]: 'load app_global_get_ex_value%1#0' with 'load app_global_get_ex_value%1#0 from l-stack (no copy)' +debug: Replaced log_greetings_block@0.ops[12]: 'load app_global_get_ex_value%1#0' with 'load app_global_get_ex_value%1#0 from l-stack (no copy)' debug: Inserted log_greetings_block@0.ops[25]: 'store greeting#0 to l-stack (copy)' debug: Replaced log_greetings_block@0.ops[38]: 'load greeting#0' with 'load greeting#0 from l-stack (no copy)' debug: Output IR to inner_transactions/out/contract_MyContract.ssa.ir @@ -1546,9 +1558,9 @@ debug: Removing unused variable asset_params%%Accounts_length#0 debug: Removing unused variable asset_params%%Amount_length#0 debug: Removing unused variable asset_params%%ApplicationArgs_length#0 debug: Removing unused variable asset_params%%ApplicationID_length#0 -debug: Removing unused variable asset_params%%Applications_length#0 debug: Removing unused variable asset_params%%ApprovalProgram_length#0 debug: Removing unused variable asset_params%%ApprovalProgramPages_length#0 +debug: Removing unused variable asset_params%%Applications_length#0 debug: Removing unused variable asset_params%%AssetAmount_length#0 debug: Removing unused variable asset_params%%AssetCloseTo_length#0 debug: Removing unused variable asset_params%%ConfigAssetName_length#0 @@ -1635,8 +1647,8 @@ debug: Removing unused variable asset1_txn%%Nonparticipation#0 debug: Removing unused variable asset1_txn%%Note#0 debug: Removing unused variable asset1_txn%%NumAccounts#0 debug: Removing unused variable asset1_txn%%NumAppArgs#0 -debug: Removing unused variable asset1_txn%%NumApplications#0 debug: Removing unused variable asset1_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable asset1_txn%%NumApplications#0 debug: Removing unused variable asset1_txn%%NumAssets#0 debug: Removing unused variable asset1_txn%%NumClearStateProgramPages#0 debug: Removing unused variable asset1_txn%%NumLogs#0 @@ -1696,8 +1708,8 @@ debug: Removing unused variable asset2_txn%%Nonparticipation#0 debug: Removing unused variable asset2_txn%%Note#0 debug: Removing unused variable asset2_txn%%NumAccounts#0 debug: Removing unused variable asset2_txn%%NumAppArgs#0 -debug: Removing unused variable asset2_txn%%NumApplications#0 debug: Removing unused variable asset2_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable asset2_txn%%NumApplications#0 debug: Removing unused variable asset2_txn%%NumAssets#0 debug: Removing unused variable asset2_txn%%NumClearStateProgramPages#0 debug: Removing unused variable asset2_txn%%NumLogs#0 @@ -1723,10 +1735,10 @@ debug: Removing unused variable app_create_params%%Accounts_length#0 debug: Removing unused variable app_create_params%%Amount_length#0 debug: Removing unused variable app_create_params%%ApplicationArgs_length#0 debug: Removing unused variable app_create_params%%ApplicationID_length#0 -debug: Removing unused variable app_create_params%%Applications_length#0 debug: Removing unused variable app_create_params%%ApprovalProgram_length#0 debug: Removing unused variable app_create_params%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_create_params%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_create_params%%Applications_length#0 debug: Removing unused variable app_create_params%%AssetAmount_length#0 debug: Removing unused variable app_create_params%%AssetCloseTo_length#0 debug: Removing unused variable app_create_params%%ConfigAssetName_length#0 @@ -1814,8 +1826,8 @@ debug: Removing unused variable app_create_txn%%Nonparticipation#0 debug: Removing unused variable app_create_txn%%Note#0 debug: Removing unused variable app_create_txn%%NumAccounts#0 debug: Removing unused variable app_create_txn%%NumAppArgs#0 -debug: Removing unused variable app_create_txn%%NumApplications#0 debug: Removing unused variable app_create_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable app_create_txn%%NumApplications#0 debug: Removing unused variable app_create_txn%%NumAssets#0 debug: Removing unused variable app_create_txn%%NumClearStateProgramPages#0 debug: Removing unused variable app_create_txn%%NumLogs#0 @@ -1874,8 +1886,8 @@ debug: Removing unused variable asset3_txn%%Nonparticipation#0 debug: Removing unused variable asset3_txn%%Note#0 debug: Removing unused variable asset3_txn%%NumAccounts#0 debug: Removing unused variable asset3_txn%%NumAppArgs#0 -debug: Removing unused variable asset3_txn%%NumApplications#0 debug: Removing unused variable asset3_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable asset3_txn%%NumApplications#0 debug: Removing unused variable asset3_txn%%NumAssets#0 debug: Removing unused variable asset3_txn%%NumClearStateProgramPages#0 debug: Removing unused variable asset3_txn%%NumLogs#0 @@ -1940,8 +1952,8 @@ debug: Removing unused variable submit_result_0%13%%Nonparticipation#0 debug: Removing unused variable submit_result_0%13%%Note#0 debug: Removing unused variable submit_result_0%13%%NumAccounts#0 debug: Removing unused variable submit_result_0%13%%NumAppArgs#0 -debug: Removing unused variable submit_result_0%13%%NumApplications#0 debug: Removing unused variable submit_result_0%13%%NumApprovalProgramPages#0 +debug: Removing unused variable submit_result_0%13%%NumApplications#0 debug: Removing unused variable submit_result_0%13%%NumAssets#0 debug: Removing unused variable submit_result_0%13%%NumClearStateProgramPages#0 debug: Removing unused variable submit_result_0%13%%NumLogs#0 @@ -2001,8 +2013,8 @@ debug: Removing unused variable submit_result_1%14%%Nonparticipation#0 debug: Removing unused variable submit_result_1%14%%Note#0 debug: Removing unused variable submit_result_1%14%%NumAccounts#0 debug: Removing unused variable submit_result_1%14%%NumAppArgs#0 -debug: Removing unused variable submit_result_1%14%%NumApplications#0 debug: Removing unused variable submit_result_1%14%%NumApprovalProgramPages#0 +debug: Removing unused variable submit_result_1%14%%NumApplications#0 debug: Removing unused variable submit_result_1%14%%NumAssets#0 debug: Removing unused variable submit_result_1%14%%NumClearStateProgramPages#0 debug: Removing unused variable submit_result_1%14%%NumLogs#0 @@ -2060,9 +2072,9 @@ debug: Removing unused variable args.1#0 debug: Removing unused variable create_app_params%%Accounts_length#0 debug: Removing unused variable create_app_params%%Amount_length#0 debug: Removing unused variable create_app_params%%ApplicationID_length#0 -debug: Removing unused variable create_app_params%%Applications_length#0 debug: Removing unused variable create_app_params%%ApprovalProgram_length#0 debug: Removing unused variable create_app_params%%ApprovalProgramPages_length#0 +debug: Removing unused variable create_app_params%%Applications_length#0 debug: Removing unused variable create_app_params%%AssetAmount_length#0 debug: Removing unused variable create_app_params%%AssetCloseTo_length#0 debug: Removing unused variable create_app_params%%ConfigAssetName_length#0 @@ -2109,9 +2121,9 @@ debug: Removing unused variable create_app_params%%XferAsset_length#0 debug: Removing unused variable create_app_params%%Accounts_length#1 debug: Removing unused variable create_app_params%%Amount_length#1 debug: Removing unused variable create_app_params%%ApplicationID_length#1 -debug: Removing unused variable create_app_params%%Applications_length#1 debug: Removing unused variable create_app_params%%ApprovalProgram_length#1 debug: Removing unused variable create_app_params%%ApprovalProgramPages_length#1 +debug: Removing unused variable create_app_params%%Applications_length#1 debug: Removing unused variable create_app_params%%AssetAmount_length#1 debug: Removing unused variable create_app_params%%AssetCloseTo_length#1 debug: Removing unused variable create_app_params%%ConfigAssetName_length#1 @@ -2193,8 +2205,8 @@ debug: Removing unused variable create_app_txn%%Nonparticipation#0 debug: Removing unused variable create_app_txn%%Note#0 debug: Removing unused variable create_app_txn%%NumAccounts#0 debug: Removing unused variable create_app_txn%%NumAppArgs#0 -debug: Removing unused variable create_app_txn%%NumApplications#0 debug: Removing unused variable create_app_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable create_app_txn%%NumApplications#0 debug: Removing unused variable create_app_txn%%NumAssets#0 debug: Removing unused variable create_app_txn%%NumClearStateProgramPages#0 debug: Removing unused variable create_app_txn%%NumLogs#0 @@ -2221,10 +2233,10 @@ debug: Removing unused variable inner_txn_params%11%%Amount_length#0 debug: Removing unused variable inner_txn_params%11%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable inner_txn_params%11%%ApplicationArgs_length#0 debug: Removing unused variable inner_txn_params%11%%ApplicationID_length#0 -debug: Removing unused variable inner_txn_params%11%%Applications_length#0 debug: Removing unused variable inner_txn_params%11%%ApprovalProgram_length#0 debug: Removing unused variable inner_txn_params%11%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable inner_txn_params%11%%ApprovalProgramPages_length#0 +debug: Removing unused variable inner_txn_params%11%%Applications_length#0 debug: Removing unused variable inner_txn_params%11%%AssetAmount_length#0 debug: Removing unused variable inner_txn_params%11%%AssetCloseTo_length#0 debug: Removing unused variable inner_txn_params%11%%ConfigAssetName_length#0 @@ -2311,8 +2323,8 @@ debug: Removing unused variable create_app_txn2%%Nonparticipation#0 debug: Removing unused variable create_app_txn2%%Note#0 debug: Removing unused variable create_app_txn2%%NumAccounts#0 debug: Removing unused variable create_app_txn2%%NumAppArgs#0 -debug: Removing unused variable create_app_txn2%%NumApplications#0 debug: Removing unused variable create_app_txn2%%NumApprovalProgramPages#0 +debug: Removing unused variable create_app_txn2%%NumApplications#0 debug: Removing unused variable create_app_txn2%%NumAssets#0 debug: Removing unused variable create_app_txn2%%NumClearStateProgramPages#0 debug: Removing unused variable create_app_txn2%%NumLogs#0 @@ -2387,10 +2399,10 @@ debug: Removing unused variable app_p_1%%Amount_length#0 debug: Removing unused variable app_p_1%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_1%%ApplicationArgs_length#0 debug: Removing unused variable app_p_1%%ApplicationID_length#0 -debug: Removing unused variable app_p_1%%Applications_length#0 debug: Removing unused variable app_p_1%%ApprovalProgram_length#0 debug: Removing unused variable app_p_1%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_1%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_1%%Applications_length#0 debug: Removing unused variable app_p_1%%AssetAmount_length#0 debug: Removing unused variable app_p_1%%AssetCloseTo_length#0 debug: Removing unused variable app_p_1%%ConfigAssetName_length#0 @@ -2444,10 +2456,10 @@ debug: Removing unused variable app_p_2%%Amount_length#0 debug: Removing unused variable app_p_2%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_2%%ApplicationArgs_length#0 debug: Removing unused variable app_p_2%%ApplicationID_length#0 -debug: Removing unused variable app_p_2%%Applications_length#0 debug: Removing unused variable app_p_2%%ApprovalProgram_length#0 debug: Removing unused variable app_p_2%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_2%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_2%%Applications_length#0 debug: Removing unused variable app_p_2%%AssetAmount_length#0 debug: Removing unused variable app_p_2%%AssetCloseTo_length#0 debug: Removing unused variable app_p_2%%ConfigAssetName_length#0 @@ -2503,10 +2515,10 @@ debug: Removing unused variable app_p_3%%Amount_length#0 debug: Removing unused variable app_p_3%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_3%%ApplicationArgs_length#0 debug: Removing unused variable app_p_3%%ApplicationID_length#0 -debug: Removing unused variable app_p_3%%Applications_length#0 debug: Removing unused variable app_p_3%%ApprovalProgram_length#0 debug: Removing unused variable app_p_3%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_3%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_3%%Applications_length#0 debug: Removing unused variable app_p_3%%AssetAmount_length#0 debug: Removing unused variable app_p_3%%AssetCloseTo_length#0 debug: Removing unused variable app_p_3%%ConfigAssetName_length#0 @@ -2562,10 +2574,10 @@ debug: Removing unused variable app_p_4%%Amount_length#0 debug: Removing unused variable app_p_4%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_4%%ApplicationArgs_length#0 debug: Removing unused variable app_p_4%%ApplicationID_length#0 -debug: Removing unused variable app_p_4%%Applications_length#0 debug: Removing unused variable app_p_4%%ApprovalProgram_length#0 debug: Removing unused variable app_p_4%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_4%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_4%%Applications_length#0 debug: Removing unused variable app_p_4%%AssetAmount_length#0 debug: Removing unused variable app_p_4%%AssetCloseTo_length#0 debug: Removing unused variable app_p_4%%ConfigAssetName_length#0 @@ -2621,10 +2633,10 @@ debug: Removing unused variable app_p_5%%Amount_length#0 debug: Removing unused variable app_p_5%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_5%%ApplicationArgs_length#0 debug: Removing unused variable app_p_5%%ApplicationID_length#0 -debug: Removing unused variable app_p_5%%Applications_length#0 debug: Removing unused variable app_p_5%%ApprovalProgram_length#0 debug: Removing unused variable app_p_5%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_5%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_5%%Applications_length#0 debug: Removing unused variable app_p_5%%AssetAmount_length#0 debug: Removing unused variable app_p_5%%AssetCloseTo_length#0 debug: Removing unused variable app_p_5%%ConfigAssetName_length#0 @@ -2680,10 +2692,10 @@ debug: Removing unused variable app_p_6%%Amount_length#0 debug: Removing unused variable app_p_6%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_6%%ApplicationArgs_length#0 debug: Removing unused variable app_p_6%%ApplicationID_length#0 -debug: Removing unused variable app_p_6%%Applications_length#0 debug: Removing unused variable app_p_6%%ApprovalProgram_length#0 debug: Removing unused variable app_p_6%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_6%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_6%%Applications_length#0 debug: Removing unused variable app_p_6%%AssetAmount_length#0 debug: Removing unused variable app_p_6%%AssetCloseTo_length#0 debug: Removing unused variable app_p_6%%ConfigAssetName_length#0 @@ -2739,10 +2751,10 @@ debug: Removing unused variable app_p_7%%Amount_length#0 debug: Removing unused variable app_p_7%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_7%%ApplicationArgs_length#0 debug: Removing unused variable app_p_7%%ApplicationID_length#0 -debug: Removing unused variable app_p_7%%Applications_length#0 debug: Removing unused variable app_p_7%%ApprovalProgram_length#0 debug: Removing unused variable app_p_7%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_7%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_7%%Applications_length#0 debug: Removing unused variable app_p_7%%AssetAmount_length#0 debug: Removing unused variable app_p_7%%AssetCloseTo_length#0 debug: Removing unused variable app_p_7%%ConfigAssetName_length#0 @@ -2798,10 +2810,10 @@ debug: Removing unused variable app_p_8%%Amount_length#0 debug: Removing unused variable app_p_8%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_8%%ApplicationArgs_length#0 debug: Removing unused variable app_p_8%%ApplicationID_length#0 -debug: Removing unused variable app_p_8%%Applications_length#0 debug: Removing unused variable app_p_8%%ApprovalProgram_length#0 debug: Removing unused variable app_p_8%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_8%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_8%%Applications_length#0 debug: Removing unused variable app_p_8%%AssetAmount_length#0 debug: Removing unused variable app_p_8%%AssetCloseTo_length#0 debug: Removing unused variable app_p_8%%ConfigAssetName_length#0 @@ -2857,10 +2869,10 @@ debug: Removing unused variable app_p_9%%Amount_length#0 debug: Removing unused variable app_p_9%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_9%%ApplicationArgs_length#0 debug: Removing unused variable app_p_9%%ApplicationID_length#0 -debug: Removing unused variable app_p_9%%Applications_length#0 debug: Removing unused variable app_p_9%%ApprovalProgram_length#0 debug: Removing unused variable app_p_9%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_9%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_9%%Applications_length#0 debug: Removing unused variable app_p_9%%AssetAmount_length#0 debug: Removing unused variable app_p_9%%AssetCloseTo_length#0 debug: Removing unused variable app_p_9%%ConfigAssetName_length#0 @@ -2916,10 +2928,10 @@ debug: Removing unused variable app_p_10%%Amount_length#0 debug: Removing unused variable app_p_10%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_10%%ApplicationArgs_length#0 debug: Removing unused variable app_p_10%%ApplicationID_length#0 -debug: Removing unused variable app_p_10%%Applications_length#0 debug: Removing unused variable app_p_10%%ApprovalProgram_length#0 debug: Removing unused variable app_p_10%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_10%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_10%%Applications_length#0 debug: Removing unused variable app_p_10%%AssetAmount_length#0 debug: Removing unused variable app_p_10%%AssetCloseTo_length#0 debug: Removing unused variable app_p_10%%ConfigAssetName_length#0 @@ -2975,10 +2987,10 @@ debug: Removing unused variable app_p_11%%Amount_length#0 debug: Removing unused variable app_p_11%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_11%%ApplicationArgs_length#0 debug: Removing unused variable app_p_11%%ApplicationID_length#0 -debug: Removing unused variable app_p_11%%Applications_length#0 debug: Removing unused variable app_p_11%%ApprovalProgram_length#0 debug: Removing unused variable app_p_11%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_11%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_11%%Applications_length#0 debug: Removing unused variable app_p_11%%AssetAmount_length#0 debug: Removing unused variable app_p_11%%AssetCloseTo_length#0 debug: Removing unused variable app_p_11%%ConfigAssetName_length#0 @@ -3034,10 +3046,10 @@ debug: Removing unused variable app_p_12%%Amount_length#0 debug: Removing unused variable app_p_12%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_12%%ApplicationArgs_length#0 debug: Removing unused variable app_p_12%%ApplicationID_length#0 -debug: Removing unused variable app_p_12%%Applications_length#0 debug: Removing unused variable app_p_12%%ApprovalProgram_length#0 debug: Removing unused variable app_p_12%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_12%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_12%%Applications_length#0 debug: Removing unused variable app_p_12%%AssetAmount_length#0 debug: Removing unused variable app_p_12%%AssetCloseTo_length#0 debug: Removing unused variable app_p_12%%ConfigAssetName_length#0 @@ -3093,10 +3105,10 @@ debug: Removing unused variable app_p_13%%Amount_length#0 debug: Removing unused variable app_p_13%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_13%%ApplicationArgs_length#0 debug: Removing unused variable app_p_13%%ApplicationID_length#0 -debug: Removing unused variable app_p_13%%Applications_length#0 debug: Removing unused variable app_p_13%%ApprovalProgram_length#0 debug: Removing unused variable app_p_13%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_13%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_13%%Applications_length#0 debug: Removing unused variable app_p_13%%AssetAmount_length#0 debug: Removing unused variable app_p_13%%AssetCloseTo_length#0 debug: Removing unused variable app_p_13%%ConfigAssetName_length#0 @@ -3152,10 +3164,10 @@ debug: Removing unused variable app_p_14%%Amount_length#0 debug: Removing unused variable app_p_14%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_14%%ApplicationArgs_length#0 debug: Removing unused variable app_p_14%%ApplicationID_length#0 -debug: Removing unused variable app_p_14%%Applications_length#0 debug: Removing unused variable app_p_14%%ApprovalProgram_length#0 debug: Removing unused variable app_p_14%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_14%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_14%%Applications_length#0 debug: Removing unused variable app_p_14%%AssetAmount_length#0 debug: Removing unused variable app_p_14%%AssetCloseTo_length#0 debug: Removing unused variable app_p_14%%ConfigAssetName_length#0 @@ -3211,10 +3223,10 @@ debug: Removing unused variable app_p_15%%Amount_length#0 debug: Removing unused variable app_p_15%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_15%%ApplicationArgs_length#0 debug: Removing unused variable app_p_15%%ApplicationID_length#0 -debug: Removing unused variable app_p_15%%Applications_length#0 debug: Removing unused variable app_p_15%%ApprovalProgram_length#0 debug: Removing unused variable app_p_15%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_15%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_15%%Applications_length#0 debug: Removing unused variable app_p_15%%AssetAmount_length#0 debug: Removing unused variable app_p_15%%AssetCloseTo_length#0 debug: Removing unused variable app_p_15%%ConfigAssetName_length#0 @@ -3270,10 +3282,10 @@ debug: Removing unused variable app_p_16%%Amount_length#0 debug: Removing unused variable app_p_16%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_16%%ApplicationArgs_length#0 debug: Removing unused variable app_p_16%%ApplicationID_length#0 -debug: Removing unused variable app_p_16%%Applications_length#0 debug: Removing unused variable app_p_16%%ApprovalProgram_length#0 debug: Removing unused variable app_p_16%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_16%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_16%%Applications_length#0 debug: Removing unused variable app_p_16%%AssetAmount_length#0 debug: Removing unused variable app_p_16%%AssetCloseTo_length#0 debug: Removing unused variable app_p_16%%ConfigAssetName_length#0 @@ -3363,8 +3375,8 @@ debug: Removing unused variable app1%%Nonparticipation#0 debug: Removing unused variable app1%%Note#0 debug: Removing unused variable app1%%NumAccounts#0 debug: Removing unused variable app1%%NumAppArgs#0 -debug: Removing unused variable app1%%NumApplications#0 debug: Removing unused variable app1%%NumApprovalProgramPages#0 +debug: Removing unused variable app1%%NumApplications#0 debug: Removing unused variable app1%%NumAssets#0 debug: Removing unused variable app1%%NumClearStateProgramPages#0 debug: Removing unused variable app1%%NumLogs#0 @@ -3424,8 +3436,8 @@ debug: Removing unused variable app2%%Nonparticipation#0 debug: Removing unused variable app2%%Note#0 debug: Removing unused variable app2%%NumAccounts#0 debug: Removing unused variable app2%%NumAppArgs#0 -debug: Removing unused variable app2%%NumApplications#0 debug: Removing unused variable app2%%NumApprovalProgramPages#0 +debug: Removing unused variable app2%%NumApplications#0 debug: Removing unused variable app2%%NumAssets#0 debug: Removing unused variable app2%%NumClearStateProgramPages#0 debug: Removing unused variable app2%%NumLogs#0 @@ -3485,8 +3497,8 @@ debug: Removing unused variable app3%%Nonparticipation#0 debug: Removing unused variable app3%%Note#0 debug: Removing unused variable app3%%NumAccounts#0 debug: Removing unused variable app3%%NumAppArgs#0 -debug: Removing unused variable app3%%NumApplications#0 debug: Removing unused variable app3%%NumApprovalProgramPages#0 +debug: Removing unused variable app3%%NumApplications#0 debug: Removing unused variable app3%%NumAssets#0 debug: Removing unused variable app3%%NumClearStateProgramPages#0 debug: Removing unused variable app3%%NumLogs#0 @@ -3546,8 +3558,8 @@ debug: Removing unused variable app4%%Nonparticipation#0 debug: Removing unused variable app4%%Note#0 debug: Removing unused variable app4%%NumAccounts#0 debug: Removing unused variable app4%%NumAppArgs#0 -debug: Removing unused variable app4%%NumApplications#0 debug: Removing unused variable app4%%NumApprovalProgramPages#0 +debug: Removing unused variable app4%%NumApplications#0 debug: Removing unused variable app4%%NumAssets#0 debug: Removing unused variable app4%%NumClearStateProgramPages#0 debug: Removing unused variable app4%%NumLogs#0 @@ -3607,8 +3619,8 @@ debug: Removing unused variable app5%%Nonparticipation#0 debug: Removing unused variable app5%%Note#0 debug: Removing unused variable app5%%NumAccounts#0 debug: Removing unused variable app5%%NumAppArgs#0 -debug: Removing unused variable app5%%NumApplications#0 debug: Removing unused variable app5%%NumApprovalProgramPages#0 +debug: Removing unused variable app5%%NumApplications#0 debug: Removing unused variable app5%%NumAssets#0 debug: Removing unused variable app5%%NumClearStateProgramPages#0 debug: Removing unused variable app5%%NumLogs#0 @@ -3668,8 +3680,8 @@ debug: Removing unused variable app6%%Nonparticipation#0 debug: Removing unused variable app6%%Note#0 debug: Removing unused variable app6%%NumAccounts#0 debug: Removing unused variable app6%%NumAppArgs#0 -debug: Removing unused variable app6%%NumApplications#0 debug: Removing unused variable app6%%NumApprovalProgramPages#0 +debug: Removing unused variable app6%%NumApplications#0 debug: Removing unused variable app6%%NumAssets#0 debug: Removing unused variable app6%%NumClearStateProgramPages#0 debug: Removing unused variable app6%%NumLogs#0 @@ -3729,8 +3741,8 @@ debug: Removing unused variable app7%%Nonparticipation#0 debug: Removing unused variable app7%%Note#0 debug: Removing unused variable app7%%NumAccounts#0 debug: Removing unused variable app7%%NumAppArgs#0 -debug: Removing unused variable app7%%NumApplications#0 debug: Removing unused variable app7%%NumApprovalProgramPages#0 +debug: Removing unused variable app7%%NumApplications#0 debug: Removing unused variable app7%%NumAssets#0 debug: Removing unused variable app7%%NumClearStateProgramPages#0 debug: Removing unused variable app7%%NumLogs#0 @@ -3790,8 +3802,8 @@ debug: Removing unused variable app8%%Nonparticipation#0 debug: Removing unused variable app8%%Note#0 debug: Removing unused variable app8%%NumAccounts#0 debug: Removing unused variable app8%%NumAppArgs#0 -debug: Removing unused variable app8%%NumApplications#0 debug: Removing unused variable app8%%NumApprovalProgramPages#0 +debug: Removing unused variable app8%%NumApplications#0 debug: Removing unused variable app8%%NumAssets#0 debug: Removing unused variable app8%%NumClearStateProgramPages#0 debug: Removing unused variable app8%%NumLogs#0 @@ -3851,8 +3863,8 @@ debug: Removing unused variable app9%%Nonparticipation#0 debug: Removing unused variable app9%%Note#0 debug: Removing unused variable app9%%NumAccounts#0 debug: Removing unused variable app9%%NumAppArgs#0 -debug: Removing unused variable app9%%NumApplications#0 debug: Removing unused variable app9%%NumApprovalProgramPages#0 +debug: Removing unused variable app9%%NumApplications#0 debug: Removing unused variable app9%%NumAssets#0 debug: Removing unused variable app9%%NumClearStateProgramPages#0 debug: Removing unused variable app9%%NumLogs#0 @@ -3912,8 +3924,8 @@ debug: Removing unused variable app10%%Nonparticipation#0 debug: Removing unused variable app10%%Note#0 debug: Removing unused variable app10%%NumAccounts#0 debug: Removing unused variable app10%%NumAppArgs#0 -debug: Removing unused variable app10%%NumApplications#0 debug: Removing unused variable app10%%NumApprovalProgramPages#0 +debug: Removing unused variable app10%%NumApplications#0 debug: Removing unused variable app10%%NumAssets#0 debug: Removing unused variable app10%%NumClearStateProgramPages#0 debug: Removing unused variable app10%%NumLogs#0 @@ -3973,8 +3985,8 @@ debug: Removing unused variable app11%%Nonparticipation#0 debug: Removing unused variable app11%%Note#0 debug: Removing unused variable app11%%NumAccounts#0 debug: Removing unused variable app11%%NumAppArgs#0 -debug: Removing unused variable app11%%NumApplications#0 debug: Removing unused variable app11%%NumApprovalProgramPages#0 +debug: Removing unused variable app11%%NumApplications#0 debug: Removing unused variable app11%%NumAssets#0 debug: Removing unused variable app11%%NumClearStateProgramPages#0 debug: Removing unused variable app11%%NumLogs#0 @@ -4034,8 +4046,8 @@ debug: Removing unused variable app12%%Nonparticipation#0 debug: Removing unused variable app12%%Note#0 debug: Removing unused variable app12%%NumAccounts#0 debug: Removing unused variable app12%%NumAppArgs#0 -debug: Removing unused variable app12%%NumApplications#0 debug: Removing unused variable app12%%NumApprovalProgramPages#0 +debug: Removing unused variable app12%%NumApplications#0 debug: Removing unused variable app12%%NumAssets#0 debug: Removing unused variable app12%%NumClearStateProgramPages#0 debug: Removing unused variable app12%%NumLogs#0 @@ -4095,8 +4107,8 @@ debug: Removing unused variable app13%%Nonparticipation#0 debug: Removing unused variable app13%%Note#0 debug: Removing unused variable app13%%NumAccounts#0 debug: Removing unused variable app13%%NumAppArgs#0 -debug: Removing unused variable app13%%NumApplications#0 debug: Removing unused variable app13%%NumApprovalProgramPages#0 +debug: Removing unused variable app13%%NumApplications#0 debug: Removing unused variable app13%%NumAssets#0 debug: Removing unused variable app13%%NumClearStateProgramPages#0 debug: Removing unused variable app13%%NumLogs#0 @@ -4156,8 +4168,8 @@ debug: Removing unused variable app14%%Nonparticipation#0 debug: Removing unused variable app14%%Note#0 debug: Removing unused variable app14%%NumAccounts#0 debug: Removing unused variable app14%%NumAppArgs#0 -debug: Removing unused variable app14%%NumApplications#0 debug: Removing unused variable app14%%NumApprovalProgramPages#0 +debug: Removing unused variable app14%%NumApplications#0 debug: Removing unused variable app14%%NumAssets#0 debug: Removing unused variable app14%%NumClearStateProgramPages#0 debug: Removing unused variable app14%%NumLogs#0 @@ -4217,8 +4229,8 @@ debug: Removing unused variable app15%%Nonparticipation#0 debug: Removing unused variable app15%%Note#0 debug: Removing unused variable app15%%NumAccounts#0 debug: Removing unused variable app15%%NumAppArgs#0 -debug: Removing unused variable app15%%NumApplications#0 debug: Removing unused variable app15%%NumApprovalProgramPages#0 +debug: Removing unused variable app15%%NumApplications#0 debug: Removing unused variable app15%%NumAssets#0 debug: Removing unused variable app15%%NumClearStateProgramPages#0 debug: Removing unused variable app15%%NumLogs#0 @@ -4278,8 +4290,8 @@ debug: Removing unused variable app16%%Nonparticipation#0 debug: Removing unused variable app16%%Note#0 debug: Removing unused variable app16%%NumAccounts#0 debug: Removing unused variable app16%%NumAppArgs#0 -debug: Removing unused variable app16%%NumApplications#0 debug: Removing unused variable app16%%NumApprovalProgramPages#0 +debug: Removing unused variable app16%%NumApplications#0 debug: Removing unused variable app16%%NumAssets#0 debug: Removing unused variable app16%%NumClearStateProgramPages#0 debug: Removing unused variable app16%%NumLogs#0 @@ -4357,10 +4369,10 @@ debug: Removing unused variable app_p_1%%Amount_length#0 debug: Removing unused variable app_p_1%%param_ApplicationArgs_idx_0#0 debug: Removing unused variable app_p_1%%ApplicationArgs_length#0 debug: Removing unused variable app_p_1%%ApplicationID_length#0 -debug: Removing unused variable app_p_1%%Applications_length#0 debug: Removing unused variable app_p_1%%ApprovalProgram_length#0 debug: Removing unused variable app_p_1%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_p_1%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_p_1%%Applications_length#0 debug: Removing unused variable app_p_1%%AssetAmount_length#0 debug: Removing unused variable app_p_1%%AssetCloseTo_length#0 debug: Removing unused variable app_p_1%%ConfigAssetName_length#0 @@ -4701,16 +4713,16 @@ debug: Coalescing resulted in 0 replacement/s debug: Coalescing local variables in test_cases.inner_transactions.contract.MyContract.test1 using strategy RootOperandGrouping debug: Coalescing resulted in 0 replacement/s debug: Coalescing local variables in test_cases.inner_transactions.contract.MyContract.test2 using strategy RootOperandGrouping -debug: Coalescing create_app_params%%param_ApplicationArgs_idx_0#0 with [create_app_params%%param_ApplicationArgs_idx_0#5, create_app_params%%param_ApplicationArgs_idx_0#1, create_app_params%%param_ApplicationArgs_idx_0#2] -debug: Coalescing create_app_params%%param_ApplicationArgs_idx_1#0 with [create_app_params%%param_ApplicationArgs_idx_1#5, create_app_params%%param_ApplicationArgs_idx_1#1, create_app_params%%param_ApplicationArgs_idx_1#2] -debug: Coalescing create_app_params%%ApplicationArgs_length#0 with [create_app_params%%ApplicationArgs_length#5, create_app_params%%ApplicationArgs_length#1, create_app_params%%ApplicationArgs_length#2] +debug: Coalescing create_app_params%%param_ApplicationArgs_idx_0#0 with [create_app_params%%param_ApplicationArgs_idx_0#6, create_app_params%%param_ApplicationArgs_idx_0#1, create_app_params%%param_ApplicationArgs_idx_0#3] +debug: Coalescing create_app_params%%param_ApplicationArgs_idx_1#0 with [create_app_params%%param_ApplicationArgs_idx_1#6, create_app_params%%param_ApplicationArgs_idx_1#1, create_app_params%%param_ApplicationArgs_idx_1#3] +debug: Coalescing create_app_params%%ApplicationArgs_length#0 with [create_app_params%%ApplicationArgs_length#6, create_app_params%%ApplicationArgs_length#1, create_app_params%%ApplicationArgs_length#3] debug: Coalescing create_app_params%%param_ApprovalProgramPages_idx_0#0 with [create_app_params%%param_ApprovalProgramPages_idx_0#6, create_app_params%%param_ApprovalProgramPages_idx_0#1, create_app_params%%param_ApprovalProgramPages_idx_0#3] debug: Coalescing create_app_params%%param_ClearStateProgramPages_idx_0#0 with [create_app_params%%param_ClearStateProgramPages_idx_0#6, create_app_params%%param_ClearStateProgramPages_idx_0#1, create_app_params%%param_ClearStateProgramPages_idx_0#3] debug: Coalescing create_app_params%%param_Fee_idx_0#0 with [create_app_params%%param_Fee_idx_0#6, create_app_params%%param_Fee_idx_0#1, create_app_params%%param_Fee_idx_0#3] -debug: Coalescing create_app_params%%Note_length#0 with [create_app_params%%Note_length#6, create_app_params%%Note_length#1, create_app_params%%Note_length#3] -debug: Coalescing create_app_params%%param_TypeEnum_idx_0#0 with [create_app_params%%param_TypeEnum_idx_0#7, create_app_params%%param_TypeEnum_idx_0#1, create_app_params%%param_TypeEnum_idx_0#4] -debug: Coalescing create_app_params%%param_ApplicationArgs_idx_2#0 with [create_app_params%%param_ApplicationArgs_idx_2#4, create_app_params%%param_ApplicationArgs_idx_2#1] -debug: Coalescing create_app_params%%param_Note_idx_0#0 with [create_app_params%%param_Note_idx_0#5, create_app_params%%param_Note_idx_0#2] +debug: Coalescing create_app_params%%Note_length#0 with [create_app_params%%Note_length#5, create_app_params%%Note_length#1, create_app_params%%Note_length#2] +debug: Coalescing create_app_params%%param_TypeEnum_idx_0#0 with [create_app_params%%param_TypeEnum_idx_0#5, create_app_params%%param_TypeEnum_idx_0#1, create_app_params%%param_TypeEnum_idx_0#2] +debug: Coalescing create_app_params%%param_ApplicationArgs_idx_2#0 with [create_app_params%%param_ApplicationArgs_idx_2#5, create_app_params%%param_ApplicationArgs_idx_2#2] +debug: Coalescing create_app_params%%param_Note_idx_0#0 with [create_app_params%%param_Note_idx_0#4, create_app_params%%param_Note_idx_0#1] debug: Coalescing %%inner_txn_submit_id#0 with [%%inner_txn_submit_id#5, %%inner_txn_submit_id#1, %%inner_txn_submit_id#2] debug: Coalescing resulted in 71 replacement/s debug: Coalescing local variables in test_cases.inner_transactions.contract.MyContract.test3 using strategy RootOperandGrouping @@ -4726,46 +4738,46 @@ debug: Coalescing resulted in 0 replacement/s debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.approval_program debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.test1 debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.test2 -debug: loc: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} -debug: pred: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} +debug: loc: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0} +debug: pred: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0} debug: ready: -debug: to_do: create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_TypeEnum_idx_0#0 -debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 -debug: * to_do create_app_params%%Note_length#0 -debug: * to_do create_app_params%%param_Fee_idx_0#0 -debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 -debug: * to_do create_app_params%%param_ApprovalProgramPages_idx_0#0 +debug: to_do: create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0 debug: * to_do create_app_params%%ApplicationArgs_length#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_0#0 -debug: loc: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} -debug: pred: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} -debug: ready: -debug: to_do: create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0 -debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 -debug: * to_do create_app_params%%param_Note_idx_0#0 -debug: * to_do create_app_params%%Note_length#0 -debug: * to_do create_app_params%%param_Fee_idx_0#0 -debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 debug: * to_do create_app_params%%param_ApprovalProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_Fee_idx_0#0 +debug: * to_do create_app_params%%Note_length#0 +debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 +debug: loc: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: +debug: to_do: create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do create_app_params%%ApplicationArgs_length#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_0#0 -debug: loc: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} -debug: pred: {create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0} -debug: ready: -debug: to_do: create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0, create_app_params%%param_TypeEnum_idx_0#0 -debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 +debug: * to_do create_app_params%%param_ApprovalProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_Fee_idx_0#0 debug: * to_do create_app_params%%param_Note_idx_0#0 debug: * to_do create_app_params%%Note_length#0 -debug: * to_do create_app_params%%param_Fee_idx_0#0 -debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 -debug: * to_do create_app_params%%param_ApprovalProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 +debug: loc: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {create_app_params%%param_TypeEnum_idx_0#0=create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0=create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0=create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0=create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0=create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0=create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0=create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0=create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0=create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0=create_app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: +debug: to_do: create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0, create_app_params%%param_Note_idx_0#0, create_app_params%%param_Fee_idx_0#0, create_app_params%%param_ClearStateProgramPages_idx_0#0, create_app_params%%param_ApprovalProgramPages_idx_0#0, create_app_params%%param_ApplicationArgs_idx_0#0, create_app_params%%param_ApplicationArgs_idx_1#0, create_app_params%%ApplicationArgs_length#0, create_app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do create_app_params%%ApplicationArgs_length#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do create_app_params%%param_ApplicationArgs_idx_0#0 +debug: * to_do create_app_params%%param_ApprovalProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_ClearStateProgramPages_idx_0#0 +debug: * to_do create_app_params%%param_Fee_idx_0#0 +debug: * to_do create_app_params%%param_Note_idx_0#0 +debug: * to_do create_app_params%%Note_length#0 +debug: * to_do create_app_params%%param_TypeEnum_idx_0#0 debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.test3 debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.test4 debug: Sequentializing parallel copies in test_cases.inner_transactions.contract.MyContract.__init__ @@ -4805,52 +4817,52 @@ debug: Inserted test1_block@0.ops[142]: 'store app_create_txn%%CreatedApplicatio debug: Replaced test1_block@0.ops[146]: 'load app_create_txn%%CreatedApplicationID#0' with 'load app_create_txn%%CreatedApplicationID#0 from l-stack (no copy)' debug: Inserted test1_block@0.ops[145]: 'store asset3_txn%%ConfigAssetName#0 to l-stack (copy)' debug: Replaced test1_block@0.ops[149]: 'load asset3_txn%%ConfigAssetName#0' with 'load asset3_txn%%ConfigAssetName#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[45]: 'store app_global_get_ex_value%2#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[50]: 'load app_global_get_ex_value%2#0' with 'load app_global_get_ex_value%2#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[68]: 'store asset2_txn%%ConfigAssetName#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[79]: 'load asset2_txn%%ConfigAssetName#0' with 'load asset2_txn%%ConfigAssetName#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[67]: 'store asset2_txn%%ConfigAssetName#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[78]: 'load asset2_txn%%ConfigAssetName#0' with 'load asset2_txn%%ConfigAssetName#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[14]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[26]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[12]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[29]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[47]: 'store app_global_get_ex_value%2#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[66]: 'load app_global_get_ex_value%2#0' with 'load app_global_get_ex_value%2#0 from l-stack (no copy)' debug: Inserted test1_block@0.ops[8]: 'store app_global_get_ex_value%0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[20]: 'load app_global_get_ex_value%0#0' with 'load app_global_get_ex_value%0#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[13]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[27]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[16]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[30]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Replaced test1_block@0.ops[36]: 'load app_global_get_ex_value%0#0' with 'load app_global_get_ex_value%0#0 from l-stack (no copy)' debug: Inserted test1_block@0.ops[74]: 'store asset2_txn%%CreatedAssetID#0 to l-stack (copy)' debug: Replaced test1_block@0.ops[105]: 'load asset2_txn%%CreatedAssetID#0' with 'load asset2_txn%%CreatedAssetID#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[29]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[60]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[32]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[63]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[29]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[60]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[32]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[63]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' debug: Inserted test1_block@0.ops[42]: 'store asset1_txn%%ConfigAssetName#0 to l-stack (copy)' debug: Replaced test1_block@0.ops[79]: 'load asset1_txn%%ConfigAssetName#0' with 'load asset1_txn%%ConfigAssetName#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[140]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[184]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[140]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[184]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' debug: Inserted test1_block@0.ops[45]: 'store asset1_txn%%CreatedAssetID#0 to l-stack (copy)' debug: Replaced test1_block@0.ops[94]: 'load asset1_txn%%CreatedAssetID#0' with 'load asset1_txn%%CreatedAssetID#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[144]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[190]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[64]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[141]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' -debug: Inserted test1_block@0.ops[67]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' -debug: Replaced test1_block@0.ops[145]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[144]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[190]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[64]: 'store asset_params%%param_ConfigAssetReserve_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[141]: 'load asset_params%%param_ConfigAssetReserve_idx_0#0' with 'load asset_params%%param_ConfigAssetReserve_idx_0#0 from l-stack (no copy)' +debug: Inserted test1_block@0.ops[67]: 'store asset_params%%param_ConfigAssetManager_idx_0#0 to l-stack (copy)' +debug: Replaced test1_block@0.ops[145]: 'load asset_params%%param_ConfigAssetManager_idx_0#0' with 'load asset_params%%param_ConfigAssetManager_idx_0#0 from l-stack (no copy)' debug: Inserted test2_block@0.ops[1]: 'store tmp%0#0 to l-stack (copy)' debug: Replaced test2_block@0.ops[3]: 'load tmp%0#0' with 'load tmp%0#0 from l-stack (no copy)' -debug: Inserted test2_after_if_else@3.ops[8]: 'store is_ApplicationArgs_count_gte_3%1#0 to l-stack (copy)' -debug: Replaced test2_after_if_else@3.ops[10]: 'load is_ApplicationArgs_count_gte_3%1#0' with 'load is_ApplicationArgs_count_gte_3%1#0 from l-stack (no copy)' -debug: Inserted test2_next_field@5.ops[9]: 'store is_Note_count_gte_1%2#0 to l-stack (copy)' -debug: Replaced test2_next_field@5.ops[11]: 'load is_Note_count_gte_1%2#0' with 'load is_Note_count_gte_1%2#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[6]: 'store tmp%4#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[8]: 'load tmp%4#0' with 'load tmp%4#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[11]: 'store tmp%5#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[13]: 'load tmp%5#0' with 'load tmp%5#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[16]: 'store tmp%7#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[18]: 'load tmp%7#0' with 'load tmp%7#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[21]: 'store tmp%8#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[23]: 'load tmp%8#0' with 'load tmp%8#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[26]: 'store tmp%9#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[28]: 'load tmp%9#0' with 'load tmp%9#0 from l-stack (no copy)' -debug: Inserted test2_next_field@7.ops[31]: 'store tmp%10#0 to l-stack (copy)' -debug: Replaced test2_next_field@7.ops[33]: 'load tmp%10#0' with 'load tmp%10#0 from l-stack (no copy)' +debug: Inserted test2_after_if_else@3.ops[6]: 'store is_Note_count_gte_1%1#0 to l-stack (copy)' +debug: Replaced test2_after_if_else@3.ops[8]: 'load is_Note_count_gte_1%1#0' with 'load is_Note_count_gte_1%1#0 from l-stack (no copy)' +debug: Inserted test2_next_field@5.ops[13]: 'store is_ApplicationArgs_count_gte_3%2#0 to l-stack (copy)' +debug: Replaced test2_next_field@5.ops[15]: 'load is_ApplicationArgs_count_gte_3%2#0' with 'load is_ApplicationArgs_count_gte_3%2#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[4]: 'store tmp%4#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[6]: 'load tmp%4#0' with 'load tmp%4#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[9]: 'store tmp%5#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[11]: 'load tmp%5#0' with 'load tmp%5#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[14]: 'store tmp%7#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[16]: 'load tmp%7#0' with 'load tmp%7#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[19]: 'store tmp%8#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[21]: 'load tmp%8#0' with 'load tmp%8#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[24]: 'store tmp%9#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[26]: 'load tmp%9#0' with 'load tmp%9#0 from l-stack (no copy)' +debug: Inserted test2_next_field@7.ops[29]: 'store tmp%10#0 to l-stack (copy)' +debug: Replaced test2_next_field@7.ops[31]: 'load tmp%10#0' with 'load tmp%10#0 from l-stack (no copy)' debug: Inserted test2_if_body@9.ops[17]: 'store tmp%13#0 to l-stack (copy)' debug: Replaced test2_if_body@9.ops[19]: 'load tmp%13#0' with 'load tmp%13#0 from l-stack (no copy)' debug: Inserted test2_if_body@9.ops[22]: 'store tmp%14#0 to l-stack (copy)' @@ -4862,10 +4874,10 @@ debug: Replaced test2_after_if_else@11.ops[10]: 'load tmp%16#0' with 'load tmp%1 debug: Inserted test2_after_if_else@11.ops[13]: 'store tmp%17#0 to l-stack (copy)' debug: Replaced test2_after_if_else@11.ops[15]: 'load tmp%17#0' with 'load tmp%17#0 from l-stack (no copy)' debug: Found 5 edge set/s for test_cases.inner_transactions.contract.MyContract.test2 -debug: Allocated 1 variable/s to x-stack: create_app_params%%param_ApplicationArgs_idx_1#0 -debug: shared x-stack for test2_if_body@1 -> test2_after_if_else@3: create_app_params%%param_ApplicationArgs_idx_1#0 -debug: shared x-stack for test2_else_body@2 -> test2_after_if_else@3: create_app_params%%param_ApplicationArgs_idx_1#0 -debug: test_cases.inner_transactions.contract.MyContract.test2 f-stack entry: ['create_app_params%%param_ApplicationArgs_idx_0#0', 'create_app_params%%param_ApplicationArgs_idx_2#0', 'create_app_params%%param_ApprovalProgramPages_idx_0#0', 'create_app_params%%param_ClearStateProgramPages_idx_0#0', 'create_app_params%%param_Note_idx_0#0', '%%inner_txn_submit_id#0', 'create_app_params%%ApplicationArgs_length#0', 'create_app_params%%Note_length#0', 'create_app_params%%param_Fee_idx_0#0', 'create_app_params%%param_TypeEnum_idx_0#0'] +debug: Allocated 2 variable/s to x-stack: create_app_params%%Note_length#0, create_app_params%%param_TypeEnum_idx_0#0 +debug: shared x-stack for test2_if_body@1 -> test2_after_if_else@3: create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0 +debug: shared x-stack for test2_else_body@2 -> test2_after_if_else@3: create_app_params%%param_TypeEnum_idx_0#0, create_app_params%%Note_length#0 +debug: test_cases.inner_transactions.contract.MyContract.test2 f-stack entry: ['create_app_params%%param_ApplicationArgs_idx_0#0', 'create_app_params%%param_ApplicationArgs_idx_1#0', 'create_app_params%%param_ApplicationArgs_idx_2#0', 'create_app_params%%param_ApprovalProgramPages_idx_0#0', 'create_app_params%%param_ClearStateProgramPages_idx_0#0', 'create_app_params%%param_Note_idx_0#0', '%%inner_txn_submit_id#0', 'create_app_params%%ApplicationArgs_length#0', 'create_app_params%%param_Fee_idx_0#0'] debug: test_cases.inner_transactions.contract.MyContract.test2 f-stack on first store: [] debug: Inserted test3_block@0.ops[210]: 'store tmp%1#0 to l-stack (copy)' debug: Replaced test3_block@0.ops[212]: 'load tmp%1#0' with 'load tmp%1#0 from l-stack (no copy)' @@ -4941,21 +4953,21 @@ debug: Inserted test4_block@0.ops[66]: 'store tmp%7#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[68]: 'load tmp%7#0' with 'load tmp%7#0 from l-stack (no copy)' debug: Inserted test4_block@0.ops[2]: 'store lots_of_bytes#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[5]: 'load lots_of_bytes#0' with 'load lots_of_bytes#0 from l-stack (no copy)' -debug: Inserted test4_block@0.ops[19]: 'store approval_2#0 to l-stack (copy)' -debug: Replaced test4_block@0.ops[21]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' -debug: Inserted test4_block@0.ops[22]: 'store approval_2#0 to l-stack (copy)' -debug: Replaced test4_block@0.ops[24]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' +debug: Inserted test4_block@0.ops[27]: 'store approval_2#0 to l-stack (copy)' +debug: Replaced test4_block@0.ops[29]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' +debug: Inserted test4_block@0.ops[30]: 'store approval_2#0 to l-stack (copy)' +debug: Replaced test4_block@0.ops[32]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' debug: Inserted test4_block@0.ops[65]: 'store awst_tmp%6#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[68]: 'load awst_tmp%6#0' with 'load awst_tmp%6#0 from l-stack (no copy)' debug: Inserted test4_block@0.ops[61]: 'store approval_2#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[64]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' debug: Inserted test4_block@0.ops[38]: 'store app_1%%ExtraProgramPages#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[44]: 'load app_1%%ExtraProgramPages#0' with 'load app_1%%ExtraProgramPages#0 from l-stack (no copy)' +debug: Inserted test4_block@0.ops[41]: 'store app_1%%NumApprovalProgramPages#0 to l-stack (copy)' +debug: Replaced test4_block@0.ops[52]: 'load app_1%%NumApprovalProgramPages#0' with 'load app_1%%NumApprovalProgramPages#0 from l-stack (no copy)' debug: Inserted test4_block@0.ops[12]: 'store approval_2#0 to l-stack (copy)' -debug: Replaced test4_block@0.ops[19]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' -debug: Inserted test4_block@0.ops[42]: 'store app_1%%NumApprovalProgramPages#0 to l-stack (copy)' -debug: Replaced test4_block@0.ops[53]: 'load app_1%%NumApprovalProgramPages#0' with 'load app_1%%NumApprovalProgramPages#0 from l-stack (no copy)' -debug: Inserted test4_block@0.ops[26]: 'store approval_2#0 to l-stack (copy)' +debug: Replaced test4_block@0.ops[27]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' +debug: Inserted test4_block@0.ops[34]: 'store approval_2#0 to l-stack (copy)' debug: Replaced test4_block@0.ops[64]: 'load approval_2#0' with 'load approval_2#0 from l-stack (no copy)' debug: Inserted test4_ternary_true@2.ops[3]: 'store ternary_result%8#0 to l-stack (copy)' debug: Replaced test4_ternary_true@2.ops[5]: 'load ternary_result%8#0' with 'load ternary_result%8#0 from l-stack (no copy)' @@ -5004,10 +5016,10 @@ debug: Removing unused variable note#0 debug: Removing unused variable app_params%%Accounts_length#0 debug: Removing unused variable app_params%%Amount_length#0 debug: Removing unused variable app_params%%ApplicationID_length#0 -debug: Removing unused variable app_params%%Applications_length#0 debug: Removing unused variable app_params%%ApprovalProgram_length#0 debug: Removing unused variable app_params%%param_ApprovalProgramPages_idx_0#0 debug: Removing unused variable app_params%%ApprovalProgramPages_length#0 +debug: Removing unused variable app_params%%Applications_length#0 debug: Removing unused variable app_params%%AssetAmount_length#0 debug: Removing unused variable app_params%%AssetCloseTo_length#0 debug: Removing unused variable app_params%%ConfigAssetName_length#0 @@ -5096,8 +5108,8 @@ debug: Removing unused variable app_txn%%ConfigAssetManager#0 debug: Removing unused variable app_txn%%ConfigAssetMetadataHash#0 debug: Removing unused variable app_txn%%Nonparticipation#0 debug: Removing unused variable app_txn%%NumAccounts#0 -debug: Removing unused variable app_txn%%NumApplications#0 debug: Removing unused variable app_txn%%NumApprovalProgramPages#0 +debug: Removing unused variable app_txn%%NumApplications#0 debug: Removing unused variable app_txn%%NumAssets#0 debug: Removing unused variable app_txn%%NumClearStateProgramPages#0 debug: Removing unused variable app_txn%%NumLogs#0 @@ -5173,7 +5185,7 @@ debug: Removing Phis from test_cases.inner_transactions.itxn_loop.MyContract.app debug: Removing Phis from test_cases.inner_transactions.itxn_loop.MyContract.clear_state_program debug: Coalescing local variables in test_cases.inner_transactions.itxn_loop.MyContract.approval_program using strategy RootOperandGrouping debug: Coalescing app_params%%ApplicationArgs_length#0 with [app_params%%ApplicationArgs_length#9, app_params%%ApplicationArgs_length#6, app_params%%ApplicationArgs_length#1, app_params%%ApplicationArgs_length#2, app_params%%ApplicationArgs_length#3, app_params%%ApplicationArgs_length#4] -debug: Coalescing app_params%%param_Note_idx_0#0 with [app_params%%param_Note_idx_0#10, app_params%%param_Note_idx_0#7, app_params%%param_Note_idx_0#5] +debug: Coalescing app_params%%param_Note_idx_0#0 with [app_params%%param_Note_idx_0#9, app_params%%param_Note_idx_0#6, app_params%%param_Note_idx_0#4] debug: Coalescing range_item%0#0 with [range_item%0#5] debug: Coalescing i#0 with [i#1] debug: Coalescing app_params%%param_ApplicationArgs_idx_0#0 with [app_params%%param_ApplicationArgs_idx_0#5, app_params%%param_ApplicationArgs_idx_0#1, app_params%%param_ApplicationArgs_idx_0#2, app_params%%param_ApplicationArgs_idx_0#3, app_params%%param_ApplicationArgs_idx_0#8] @@ -5183,31 +5195,29 @@ debug: Coalescing resulted in 64 replacement/s debug: Coalescing local variables in test_cases.inner_transactions.itxn_loop.MyContract.clear_state_program using strategy RootOperandGrouping debug: Coalescing resulted in 0 replacement/s debug: Sequentializing parallel copies in test_cases.inner_transactions.itxn_loop.MyContract.approval_program -debug: loc: {i#0=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, range_item%0#0=range_item%0#0} -debug: pred: {i#0=range_item%0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} +debug: loc: {i#0=None, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, range_item%0#0=range_item%0#0} +debug: pred: {i#0=range_item%0#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0} debug: ready: i#0 -debug: to_do: i#0, app_params%%ApplicationArgs_length#0, app_params%%param_Note_idx_0#0 +debug: to_do: i#0, app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0 debug: * avail i#0 debug: * avail range_item%0#0 -debug: * to_do app_params%%param_Note_idx_0#0 debug: * to_do app_params%%ApplicationArgs_length#0 +debug: * to_do app_params%%param_Note_idx_0#0 debug: * to_do i#0 -debug: loc: {i#0=i#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} -debug: pred: {i#0=i#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} +debug: loc: {i#0=i#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {i#0=i#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} debug: ready: -debug: to_do: i#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0 -debug: * to_do app_params%%param_Note_idx_0#0 +debug: to_do: i#0, app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do app_params%%param_ApplicationArgs_idx_0#0 debug: * to_do app_params%%ApplicationArgs_length#0 +debug: * to_do app_params%%param_Note_idx_0#0 debug: * to_do i#0 -debug: loc: {app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#13=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} -debug: pred: {app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#13=app_params%%param_Note_idx_0#0} -debug: ready: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: to_do: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#0 +debug: loc: {app_params%%param_Note_idx_0#12=None, app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {app_params%%param_Note_idx_0#12=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 +debug: to_do: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_1#13 @@ -5216,17 +5226,17 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%ApplicationArgs_length#15 debug: * avail app_params%%ApplicationArgs_length#0 -debug: * to_do app_params%%param_Note_idx_0#13 +debug: * avail app_params%%param_Note_idx_0#12 +debug: * avail app_params%%param_Note_idx_0#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#12 debug: * to_do app_params%%param_ApplicationArgs_idx_1#13 debug: * to_do app_params%%param_ApplicationArgs_idx_0#14 debug: * to_do app_params%%ApplicationArgs_length#15 -debug: loc: {app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#13=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, i_note#0=i_note#0} -debug: pred: {app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#13=i_note#0} -debug: ready: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: to_do: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#13 -debug: * avail i_note#0 +debug: * to_do app_params%%param_Note_idx_0#12 +debug: loc: {app_params%%param_Note_idx_0#12=None, app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, i_note#0=i_note#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {app_params%%param_Note_idx_0#12=i_note#0, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 +debug: to_do: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_1#13 @@ -5235,17 +5245,17 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%ApplicationArgs_length#15 debug: * avail app_params%%ApplicationArgs_length#0 -debug: * to_do app_params%%param_Note_idx_0#13 +debug: * avail app_params%%param_Note_idx_0#12 +debug: * avail i_note#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#12 debug: * to_do app_params%%param_ApplicationArgs_idx_1#13 debug: * to_do app_params%%param_ApplicationArgs_idx_0#14 debug: * to_do app_params%%ApplicationArgs_length#15 -debug: loc: {app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#13=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, i_note#0=i_note#0} -debug: pred: {app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#13=i_note#0} -debug: ready: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: to_do: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#13 -debug: * avail i_note#0 +debug: * to_do app_params%%param_Note_idx_0#12 +debug: loc: {app_params%%param_Note_idx_0#12=None, app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, i_note#0=i_note#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {app_params%%param_Note_idx_0#12=i_note#0, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 +debug: to_do: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_1#13 @@ -5254,17 +5264,17 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%ApplicationArgs_length#15 debug: * avail app_params%%ApplicationArgs_length#0 -debug: * to_do app_params%%param_Note_idx_0#13 +debug: * avail app_params%%param_Note_idx_0#12 +debug: * avail i_note#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#12 debug: * to_do app_params%%param_ApplicationArgs_idx_1#13 debug: * to_do app_params%%param_ApplicationArgs_idx_0#14 debug: * to_do app_params%%ApplicationArgs_length#15 -debug: loc: {app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#13=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, i_note#0=i_note#0} -debug: pred: {app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#13=i_note#0} -debug: ready: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: to_do: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#13 -debug: * avail i_note#0 +debug: * to_do app_params%%param_Note_idx_0#12 +debug: loc: {app_params%%param_Note_idx_0#12=None, app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, i_note#0=i_note#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {app_params%%param_Note_idx_0#12=i_note#0, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 +debug: to_do: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_1#13 @@ -5273,17 +5283,17 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%ApplicationArgs_length#15 debug: * avail app_params%%ApplicationArgs_length#0 -debug: * to_do app_params%%param_Note_idx_0#13 +debug: * avail app_params%%param_Note_idx_0#12 +debug: * avail i_note#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#12 debug: * to_do app_params%%param_ApplicationArgs_idx_1#13 debug: * to_do app_params%%param_ApplicationArgs_idx_0#14 debug: * to_do app_params%%ApplicationArgs_length#15 -debug: loc: {app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#13=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} -debug: pred: {app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#13=app_params%%param_Note_idx_0#0} -debug: ready: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: to_do: app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#13 -debug: * avail app_params%%param_Note_idx_0#0 +debug: * to_do app_params%%param_Note_idx_0#12 +debug: loc: {app_params%%param_Note_idx_0#12=None, app_params%%ApplicationArgs_length#15=None, app_params%%param_ApplicationArgs_idx_0#14=None, app_params%%param_ApplicationArgs_idx_1#13=None, app_params%%param_ApplicationArgs_idx_2#12=None, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} +debug: pred: {app_params%%param_Note_idx_0#12=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#0} +debug: ready: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 +debug: to_do: app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_1#13 @@ -5292,17 +5302,17 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%ApplicationArgs_length#15 debug: * avail app_params%%ApplicationArgs_length#0 -debug: * to_do app_params%%param_Note_idx_0#13 +debug: * avail app_params%%param_Note_idx_0#12 +debug: * avail app_params%%param_Note_idx_0#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#12 debug: * to_do app_params%%param_ApplicationArgs_idx_1#13 debug: * to_do app_params%%param_ApplicationArgs_idx_0#14 debug: * to_do app_params%%ApplicationArgs_length#15 -debug: loc: {app_params%%ApplicationArgs_length#0=None, app_params%%param_ApplicationArgs_idx_0#0=None, app_params%%param_ApplicationArgs_idx_1#0=None, app_params%%param_ApplicationArgs_idx_2#0=None, app_params%%param_Note_idx_0#0=None, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#13=app_params%%param_Note_idx_0#13} -debug: pred: {app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#12, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#13} -debug: ready: app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0 -debug: to_do: app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0 -debug: * avail app_params%%param_Note_idx_0#0 -debug: * avail app_params%%param_Note_idx_0#13 +debug: * to_do app_params%%param_Note_idx_0#12 +debug: loc: {app_params%%param_Note_idx_0#0=None, app_params%%ApplicationArgs_length#0=None, app_params%%param_ApplicationArgs_idx_0#0=None, app_params%%param_ApplicationArgs_idx_1#0=None, app_params%%param_ApplicationArgs_idx_2#0=None, app_params%%param_Note_idx_0#12=app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#15=app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#14=app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#13=app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#12=app_params%%param_ApplicationArgs_idx_2#12} +debug: pred: {app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#12, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#15, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#14, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#13, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#12} +debug: ready: app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0 +debug: to_do: app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_2#0 debug: * avail app_params%%param_ApplicationArgs_idx_2#12 debug: * avail app_params%%param_ApplicationArgs_idx_1#0 @@ -5311,22 +5321,24 @@ debug: * avail app_params%%param_ApplicationArgs_idx_0#0 debug: * avail app_params%%param_ApplicationArgs_idx_0#14 debug: * avail app_params%%ApplicationArgs_length#0 debug: * avail app_params%%ApplicationArgs_length#15 -debug: * to_do app_params%%param_Note_idx_0#0 +debug: * avail app_params%%param_Note_idx_0#0 +debug: * avail app_params%%param_Note_idx_0#12 debug: * to_do app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do app_params%%param_ApplicationArgs_idx_0#0 debug: * to_do app_params%%ApplicationArgs_length#0 -debug: loc: {i#0=None, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, range_item%0#0=range_item%0#0} -debug: pred: {i#0=range_item%0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0} +debug: * to_do app_params%%param_Note_idx_0#0 +debug: loc: {i#0=None, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0, range_item%0#0=range_item%0#0} +debug: pred: {i#0=range_item%0#0, app_params%%param_Note_idx_0#0=app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0=app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0=app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0=app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0=app_params%%param_ApplicationArgs_idx_2#0} debug: ready: i#0 -debug: to_do: i#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0, app_params%%param_Note_idx_0#0 +debug: to_do: i#0, app_params%%param_Note_idx_0#0, app_params%%ApplicationArgs_length#0, app_params%%param_ApplicationArgs_idx_0#0, app_params%%param_ApplicationArgs_idx_1#0, app_params%%param_ApplicationArgs_idx_2#0 debug: * avail i#0 debug: * avail range_item%0#0 -debug: * to_do app_params%%param_Note_idx_0#0 debug: * to_do app_params%%param_ApplicationArgs_idx_2#0 debug: * to_do app_params%%param_ApplicationArgs_idx_1#0 debug: * to_do app_params%%param_ApplicationArgs_idx_0#0 debug: * to_do app_params%%ApplicationArgs_length#0 +debug: * to_do app_params%%param_Note_idx_0#0 debug: * to_do i#0 debug: Sequentializing parallel copies in test_cases.inner_transactions.itxn_loop.MyContract.clear_state_program debug: Performing post-SSA optimizations @@ -5338,41 +5350,43 @@ debug: Replaced main_for_header@1.ops[5]: 'load continue_looping%1#0' with 'load debug: Inserted main_for_body@2.ops[3]: 'store i#0 to l-stack (copy)' debug: Replaced main_for_body@2.ops[16]: 'load i#0' with 'load i#0 from l-stack (no copy)' debug: Inserted main_switch_case_0@3.ops[1]: 'store app_params%%param_ApplicationArgs_idx_0#0 to l-stack (copy)' -debug: Replaced main_switch_case_0@3.ops[11]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' +debug: Replaced main_switch_case_0@3.ops[9]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' debug: Inserted main_switch_case_0@3.ops[4]: 'store app_params%%ApplicationArgs_length#0 to l-stack (copy)' -debug: Replaced main_switch_case_0@3.ops[14]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' +debug: Replaced main_switch_case_0@3.ops[12]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' debug: Inserted main_switch_case_1@4.ops[3]: 'store app_params%%param_ApplicationArgs_idx_1#0 to l-stack (copy)' -debug: Replaced main_switch_case_1@4.ops[11]: 'load app_params%%param_ApplicationArgs_idx_1#0' with 'load app_params%%param_ApplicationArgs_idx_1#0 from l-stack (no copy)' +debug: Replaced main_switch_case_1@4.ops[9]: 'load app_params%%param_ApplicationArgs_idx_1#0' with 'load app_params%%param_ApplicationArgs_idx_1#0 from l-stack (no copy)' debug: Inserted main_switch_case_1@4.ops[6]: 'store app_params%%ApplicationArgs_length#0 to l-stack (copy)' -debug: Replaced main_switch_case_1@4.ops[16]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' +debug: Replaced main_switch_case_1@4.ops[14]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' debug: Inserted main_switch_case_1@4.ops[1]: 'store app_params%%param_ApplicationArgs_idx_0#0 to l-stack (copy)' -debug: Replaced main_switch_case_1@4.ops[15]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' +debug: Replaced main_switch_case_1@4.ops[13]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' debug: Inserted main_switch_case_2@5.ops[5]: 'store app_params%%param_ApplicationArgs_idx_2#0 to l-stack (copy)' -debug: Replaced main_switch_case_2@5.ops[11]: 'load app_params%%param_ApplicationArgs_idx_2#0' with 'load app_params%%param_ApplicationArgs_idx_2#0 from l-stack (no copy)' +debug: Replaced main_switch_case_2@5.ops[9]: 'load app_params%%param_ApplicationArgs_idx_2#0' with 'load app_params%%param_ApplicationArgs_idx_2#0 from l-stack (no copy)' debug: Inserted main_switch_case_2@5.ops[3]: 'store app_params%%param_ApplicationArgs_idx_1#0 to l-stack (copy)' -debug: Replaced main_switch_case_2@5.ops[14]: 'load app_params%%param_ApplicationArgs_idx_1#0' with 'load app_params%%param_ApplicationArgs_idx_1#0 from l-stack (no copy)' +debug: Replaced main_switch_case_2@5.ops[12]: 'load app_params%%param_ApplicationArgs_idx_1#0' with 'load app_params%%param_ApplicationArgs_idx_1#0 from l-stack (no copy)' debug: Inserted main_switch_case_2@5.ops[9]: 'store app_params%%ApplicationArgs_length#0 to l-stack (copy)' -debug: Replaced main_switch_case_2@5.ops[19]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' +debug: Replaced main_switch_case_2@5.ops[17]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' debug: Inserted main_switch_case_2@5.ops[1]: 'store app_params%%param_ApplicationArgs_idx_0#0 to l-stack (copy)' -debug: Replaced main_switch_case_2@5.ops[18]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' -debug: Inserted main_switch_case_next@7.ops[14]: 'store is_ApplicationArgs_count_gte_1%2#0 to l-stack (copy)' -debug: Replaced main_switch_case_next@7.ops[16]: 'load is_ApplicationArgs_count_gte_1%2#0' with 'load is_ApplicationArgs_count_gte_1%2#0 from l-stack (no copy)' -debug: Inserted main_switch_case_next@7.ops[9]: 'store app_params%%ApplicationArgs_length#0 to l-stack (copy)' -debug: Replaced main_switch_case_next@7.ops[12]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' +debug: Replaced main_switch_case_2@5.ops[16]: 'load app_params%%param_ApplicationArgs_idx_0#0' with 'load app_params%%param_ApplicationArgs_idx_0#0 from l-stack (no copy)' +debug: Inserted main_switch_case_next@7.ops[26]: 'store is_ApplicationArgs_count_gte_1%2#0 to l-stack (copy)' +debug: Replaced main_switch_case_next@7.ops[28]: 'load is_ApplicationArgs_count_gte_1%2#0' with 'load is_ApplicationArgs_count_gte_1%2#0 from l-stack (no copy)' +debug: Inserted main_switch_case_next@7.ops[9]: 'store app_params%%param_Note_idx_0#0 to l-stack (copy)' +debug: Replaced main_switch_case_next@7.ops[16]: 'load app_params%%param_Note_idx_0#0' with 'load app_params%%param_Note_idx_0#0 from l-stack (no copy)' +debug: Inserted main_switch_case_next@7.ops[7]: 'store app_params%%ApplicationArgs_length#0 to l-stack (copy)' +debug: Replaced main_switch_case_next@7.ops[25]: 'load app_params%%ApplicationArgs_length#0' with 'load app_params%%ApplicationArgs_length#0 from l-stack (no copy)' debug: Inserted main_set_ApplicationArgs_0_to_0@8.ops[5]: 'store is_ApplicationArgs_count_gte_2%3#0 to l-stack (copy)' debug: Replaced main_set_ApplicationArgs_0_to_0@8.ops[7]: 'load is_ApplicationArgs_count_gte_2%3#0' with 'load is_ApplicationArgs_count_gte_2%3#0 from l-stack (no copy)' debug: Inserted main_set_ApplicationArgs_1_to_1@9.ops[5]: 'store is_ApplicationArgs_count_gte_3%4#0 to l-stack (copy)' debug: Replaced main_set_ApplicationArgs_1_to_1@9.ops[7]: 'load is_ApplicationArgs_count_gte_3%4#0' with 'load is_ApplicationArgs_count_gte_3%4#0 from l-stack (no copy)' -debug: Inserted main_next_field@11.ops[21]: 'store tmp%5#0 to l-stack (copy)' -debug: Replaced main_next_field@11.ops[23]: 'load tmp%5#0' with 'load tmp%5#0 from l-stack (no copy)' -debug: Inserted main_next_field@11.ops[28]: 'store range_item%0#0 to l-stack (copy)' -debug: Replaced main_next_field@11.ops[30]: 'load range_item%0#0' with 'load range_item%0#0 from l-stack (no copy)' -debug: Inserted main_next_field@11.ops[14]: 'store app_txn%%Note#0 to l-stack (copy)' -debug: Replaced main_next_field@11.ops[18]: 'load app_txn%%Note#0' with 'load app_txn%%Note#0 from l-stack (no copy)' -debug: Inserted main_next_field@11.ops[17]: 'store app_txn%%NumAppArgs#0 to l-stack (copy)' -debug: Replaced main_next_field@11.ops[21]: 'load app_txn%%NumAppArgs#0' with 'load app_txn%%NumAppArgs#0 from l-stack (no copy)' +debug: Inserted main_next_field@11.ops[9]: 'store tmp%5#0 to l-stack (copy)' +debug: Replaced main_next_field@11.ops[11]: 'load tmp%5#0' with 'load tmp%5#0 from l-stack (no copy)' +debug: Inserted main_next_field@11.ops[16]: 'store range_item%0#0 to l-stack (copy)' +debug: Replaced main_next_field@11.ops[18]: 'load range_item%0#0' with 'load range_item%0#0 from l-stack (no copy)' +debug: Inserted main_next_field@11.ops[2]: 'store app_txn%%Note#0 to l-stack (copy)' +debug: Replaced main_next_field@11.ops[6]: 'load app_txn%%Note#0' with 'load app_txn%%Note#0 from l-stack (no copy)' +debug: Inserted main_next_field@11.ops[5]: 'store app_txn%%NumAppArgs#0 to l-stack (copy)' +debug: Replaced main_next_field@11.ops[9]: 'load app_txn%%NumAppArgs#0' with 'load app_txn%%NumAppArgs#0 from l-stack (no copy)' debug: Found 4 edge set/s for test_cases.inner_transactions.itxn_loop.MyContract.approval_program -debug: test_cases.inner_transactions.itxn_loop.MyContract.approval_program f-stack entry: ['app_params%%param_ApplicationArgs_idx_0#0', 'app_params%%param_ApplicationArgs_idx_0#14', 'app_params%%param_ApplicationArgs_idx_1#0', 'app_params%%param_ApplicationArgs_idx_1#13', 'app_params%%param_ApplicationArgs_idx_2#0', 'app_params%%param_ApplicationArgs_idx_2#12', 'app_params%%param_Note_idx_0#13', 'i_note#0', 'app_params%%ApplicationArgs_length#15'] +debug: test_cases.inner_transactions.itxn_loop.MyContract.approval_program f-stack entry: ['app_params%%param_ApplicationArgs_idx_0#0', 'app_params%%param_ApplicationArgs_idx_0#14', 'app_params%%param_ApplicationArgs_idx_1#0', 'app_params%%param_ApplicationArgs_idx_1#13', 'app_params%%param_ApplicationArgs_idx_2#0', 'app_params%%param_ApplicationArgs_idx_2#12', 'app_params%%param_Note_idx_0#12', 'i_note#0', 'app_params%%ApplicationArgs_length#15'] debug: test_cases.inner_transactions.itxn_loop.MyContract.approval_program f-stack on first store: ['app_params%%ApplicationArgs_length#0', 'app_params%%param_Note_idx_0#0', 'i#0'] info: Writing inner_transactions/out/c2c.approval.teal info: Writing inner_transactions/out/c2c.clear.teal diff --git a/test_cases/log/out/contract.approval.teal b/test_cases/log/out/contract.approval.teal index 99deb2203..84f7d4d21 100644 --- a/test_cases/log/out/contract.approval.teal +++ b/test_cases/log/out/contract.approval.teal @@ -17,14 +17,14 @@ test_cases.log.contract.MyContract.approval_program: byte "2" log // log/contract.py:9 - // log(op.Transaction.num_app_args + 3) + // log(op.Txn.num_app_args + 3) txn NumAppArgs int 3 + itob log // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) txn NumAppArgs bz main_ternary_false@2 byte "4" @@ -32,15 +32,15 @@ test_cases.log.contract.MyContract.approval_program: main_ternary_false@2: // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) byte "" main_ternary_merge@3: // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) log // log/contract.py:14 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -49,7 +49,7 @@ main_ternary_merge@3: // 6, byte base64 NQAAAAAAAAAG // log/contract.py:14 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, swap concat // log/contract.py:15 @@ -58,7 +58,7 @@ main_ternary_merge@3: concat bury 3 // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), txn NumAppArgs bz main_ternary_false@5 byte "9" @@ -66,12 +66,12 @@ main_ternary_merge@3: main_ternary_false@5: // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@6: // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 3 swap concat @@ -79,13 +79,13 @@ main_ternary_merge@6: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // ) log // log/contract.py:21 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -105,7 +105,7 @@ main_ternary_merge@6: // sep=b"_", byte "_" // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), concat bury 2 txn NumAppArgs @@ -115,12 +115,12 @@ main_ternary_merge@6: main_ternary_false@8: // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@9: // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 2 swap concat @@ -128,14 +128,14 @@ main_ternary_merge@9: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // sep=b"_", // ) log // log/contract.py:29 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -155,7 +155,7 @@ main_ternary_merge@9: // sep="_", byte "_" // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), concat bury 1 txn NumAppArgs @@ -165,12 +165,12 @@ main_ternary_merge@9: main_ternary_false@11: // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@12: // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 1 swap concat @@ -178,9 +178,9 @@ main_ternary_merge@12: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // sep="_", // ) log diff --git a/test_cases/log/out/contract.approval_O2.teal b/test_cases/log/out/contract.approval_O2.teal index 99deb2203..84f7d4d21 100644 --- a/test_cases/log/out/contract.approval_O2.teal +++ b/test_cases/log/out/contract.approval_O2.teal @@ -17,14 +17,14 @@ test_cases.log.contract.MyContract.approval_program: byte "2" log // log/contract.py:9 - // log(op.Transaction.num_app_args + 3) + // log(op.Txn.num_app_args + 3) txn NumAppArgs int 3 + itob log // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) txn NumAppArgs bz main_ternary_false@2 byte "4" @@ -32,15 +32,15 @@ test_cases.log.contract.MyContract.approval_program: main_ternary_false@2: // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) byte "" main_ternary_merge@3: // log/contract.py:10 - // log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) + // log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) log // log/contract.py:14 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -49,7 +49,7 @@ main_ternary_merge@3: // 6, byte base64 NQAAAAAAAAAG // log/contract.py:14 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, swap concat // log/contract.py:15 @@ -58,7 +58,7 @@ main_ternary_merge@3: concat bury 3 // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), txn NumAppArgs bz main_ternary_false@5 byte "9" @@ -66,12 +66,12 @@ main_ternary_merge@3: main_ternary_false@5: // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@6: // log/contract.py:16 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 3 swap concat @@ -79,13 +79,13 @@ main_ternary_merge@6: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // ) log // log/contract.py:21 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -105,7 +105,7 @@ main_ternary_merge@6: // sep=b"_", byte "_" // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), concat bury 2 txn NumAppArgs @@ -115,12 +115,12 @@ main_ternary_merge@6: main_ternary_false@8: // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@9: // log/contract.py:23 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 2 swap concat @@ -128,14 +128,14 @@ main_ternary_merge@9: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // sep=b"_", // ) log // log/contract.py:29 - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, txn NumAppArgs int 7 + @@ -155,7 +155,7 @@ main_ternary_merge@9: // sep="_", byte "_" // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), concat bury 1 txn NumAppArgs @@ -165,12 +165,12 @@ main_ternary_merge@9: main_ternary_false@11: // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), byte "" main_ternary_merge@12: // log/contract.py:31 - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), dig 1 swap concat @@ -178,9 +178,9 @@ main_ternary_merge@12: // log( // b"5", // 6, - // op.Transaction.num_app_args + 7, + // op.Txn.num_app_args + 7, // BigUInt(8), - // Bytes(b"9") if op.Transaction.num_app_args else Bytes(), + // Bytes(b"9") if op.Txn.num_app_args else Bytes(), // sep="_", // ) log diff --git a/test_cases/log/out/contract_MyContract.approval.mir b/test_cases/log/out/contract_MyContract.approval.mir index d22cf7801..911ee6d59 100644 --- a/test_cases/log/out/contract_MyContract.approval.mir +++ b/test_cases/log/out/contract_MyContract.approval.mir @@ -17,89 +17,89 @@ main_block@0: log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(b"1") log/contract.py:7 byte "2" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "2" "2" log/contract.py:8 log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log("2") log/contract.py:8 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:9 - // virtual: store tmp%1#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%1#0 op.Transaction.num_app_args log/contract.py:9 - // virtual: load tmp%1#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%1#0 op.Transaction.num_app_args + 3 log/contract.py:9 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:9 + // virtual: store tmp%1#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%1#0 op.Txn.num_app_args log/contract.py:9 + // virtual: load tmp%1#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%1#0 op.Txn.num_app_args + 3 log/contract.py:9 int 3 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%1#0,3 3 log/contract.py:9 - + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Transaction.num_app_args + 3 log/contract.py:9 - // virtual: store tmp%2#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%2#0 op.Transaction.num_app_args + 3 log/contract.py:9 - // virtual: load tmp%2#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%2#0 op.Transaction.num_app_args + 3 log/contract.py:9 - itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Transaction.num_app_args + 3 log/contract.py:9 - // virtual: store tmp%3#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%3#0 op.Transaction.num_app_args + 3 log/contract.py:9 - // virtual: load tmp%3#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%3#0 log(op.Transaction.num_app_args + 3) log/contract.py:9 - log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(op.Transaction.num_app_args + 3) log/contract.py:9 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:10 - // virtual: store tmp%4#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%4#0 op.Transaction.num_app_args log/contract.py:10 - // virtual: load tmp%4#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%4#0 Bytes(b"4") if op.Transaction.num_app_args else Bytes() log/contract.py:10 - bz main_ternary_false@2 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"4") if op.Transaction.num_app_args else Bytes() log/contract.py:10 - // Implicit fall through to main_ternary_true@1 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"4") if op.Transaction.num_app_args else Bytes() log/contract.py:10 + + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Txn.num_app_args + 3 log/contract.py:9 + // virtual: store tmp%2#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%2#0 op.Txn.num_app_args + 3 log/contract.py:9 + // virtual: load tmp%2#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%2#0 op.Txn.num_app_args + 3 log/contract.py:9 + itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Txn.num_app_args + 3 log/contract.py:9 + // virtual: store tmp%3#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%3#0 op.Txn.num_app_args + 3 log/contract.py:9 + // virtual: load tmp%3#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%3#0 log(op.Txn.num_app_args + 3) log/contract.py:9 + log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(op.Txn.num_app_args + 3) log/contract.py:9 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:10 + // virtual: store tmp%4#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%4#0 op.Txn.num_app_args log/contract.py:10 + // virtual: load tmp%4#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%4#0 Bytes(b"4") if op.Txn.num_app_args else Bytes() log/contract.py:10 + bz main_ternary_false@2 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"4") if op.Txn.num_app_args else Bytes() log/contract.py:10 + // Implicit fall through to main_ternary_true@1 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"4") if op.Txn.num_app_args else Bytes() log/contract.py:10 main_ternary_true@1: byte "4" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "4" b"4" log/contract.py:10 - // virtual: store ternary_result%5#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | Bytes(b"4") if op.Transaction.num_app_args else Bytes() log/contract.py:10 + // virtual: store ternary_result%5#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | Bytes(b"4") if op.Txn.num_app_args else Bytes() log/contract.py:10 b main_ternary_merge@3 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | ternary_result%5#0 main_ternary_false@2: byte "" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "" Bytes() log/contract.py:10 - // virtual: store ternary_result%5#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | Bytes(b"4") if op.Transaction.num_app_args else Bytes() log/contract.py:10 + // virtual: store ternary_result%5#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | Bytes(b"4") if op.Txn.num_app_args else Bytes() log/contract.py:10 // Implicit fall through to main_ternary_merge@3 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%5#0 | ternary_result%5#0 main_ternary_merge@3: - // virtual: load ternary_result%5#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | ternary_result%5#0 ternary_result%5#0 log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) log/contract.py:10 - log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(Bytes(b"4") if op.Transaction.num_app_args else Bytes()) log/contract.py:10 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:14 - // virtual: store tmp%10#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%10#0 op.Transaction.num_app_args log/contract.py:14 - // virtual: load tmp%10#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%10#0 op.Transaction.num_app_args + 7 log/contract.py:14 + // virtual: load ternary_result%5#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | ternary_result%5#0 ternary_result%5#0 log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) log/contract.py:10 + log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(Bytes(b"4") if op.Txn.num_app_args else Bytes()) log/contract.py:10 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:14 + // virtual: store tmp%10#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%10#0 op.Txn.num_app_args log/contract.py:14 + // virtual: load tmp%10#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%10#0 op.Txn.num_app_args + 7 log/contract.py:14 int 7 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%10#0,7 7 log/contract.py:14 - + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Transaction.num_app_args + 7 log/contract.py:14 - // virtual: store tmp%11#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%11#0 op.Transaction.num_app_args + 7 log/contract.py:14 - // virtual: load tmp%11#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%11#0 op.Transaction.num_app_args + 7 log/contract.py:14 - itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Transaction.num_app_args + 7 log/contract.py:14 - // virtual: store tmp%12#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%12#0 op.Transaction.num_app_args + 7 log/contract.py:14 + + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Txn.num_app_args + 7 log/contract.py:14 + // virtual: store tmp%11#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%11#0 op.Txn.num_app_args + 7 log/contract.py:14 + // virtual: load tmp%11#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%11#0 op.Txn.num_app_args + 7 log/contract.py:14 + itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Txn.num_app_args + 7 log/contract.py:14 + // virtual: store tmp%12#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%12#0 op.Txn.num_app_args + 7 log/contract.py:14 byte base64 NQAAAAAAAAAG // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%12#0,NQAAAAAAAAAG 6 log/contract.py:13 - swap // load tmp%12#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NQAAAAAAAAAG,tmp%12#0 op.Transaction.num_app_args + 7 log/contract.py:14 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Transaction.num_app_args + 7 log/contract.py:14 - // virtual: store tmp%13#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%13#0 op.Transaction.num_app_args + 7 log/contract.py:14 + swap // load tmp%12#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NQAAAAAAAAAG,tmp%12#0 op.Txn.num_app_args + 7 log/contract.py:14 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Txn.num_app_args + 7 log/contract.py:14 + // virtual: store tmp%13#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%13#0 op.Txn.num_app_args + 7 log/contract.py:14 // virtual: load tmp%13#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%13#0 8 log/contract.py:15 byte 0x08 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%13#0,0x08 8 log/contract.py:15 concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} 8 log/contract.py:15 bury 3 // store tmp%15#0 to f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | 8 log/contract.py:15 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:16 - // virtual: store tmp%17#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%17#0 op.Transaction.num_app_args log/contract.py:16 - // virtual: load tmp%17#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%17#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - bz main_ternary_false@5 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - // Implicit fall through to main_ternary_true@4 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:16 + // virtual: store tmp%17#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%17#0 op.Txn.num_app_args log/contract.py:16 + // virtual: load tmp%17#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%17#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + bz main_ternary_false@5 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + // Implicit fall through to main_ternary_true@4 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 main_ternary_true@4: byte "9" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "9" b"9" log/contract.py:16 - // virtual: store ternary_result%18#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 + // virtual: store ternary_result%18#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 b main_ternary_merge@6 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | ternary_result%18#0 main_ternary_false@5: byte "" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "" Bytes() log/contract.py:16 - // virtual: store ternary_result%18#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 + // virtual: store ternary_result%18#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 // Implicit fall through to main_ternary_merge@6 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | ternary_result%18#0 main_ternary_merge@6: - dig 3 // load tmp%15#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | tmp%15#0 ternary_result%18#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - swap // load ternary_result%18#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%15#0,ternary_result%18#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - // virtual: store tmp%19#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%19#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:16 - // virtual: load tmp%19#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%19#0 log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:11-17 - log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:11-17 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:21 - // virtual: store tmp%24#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%24#0 op.Transaction.num_app_args log/contract.py:21 - // virtual: load tmp%24#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%24#0 op.Transaction.num_app_args + 7 log/contract.py:21 + dig 3 // load tmp%15#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%18#0 | tmp%15#0 ternary_result%18#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + swap // load ternary_result%18#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%15#0,ternary_result%18#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + // virtual: store tmp%19#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%19#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:16 + // virtual: load tmp%19#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%19#0 log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:11-17 + log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:11-17 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:21 + // virtual: store tmp%24#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%24#0 op.Txn.num_app_args log/contract.py:21 + // virtual: load tmp%24#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%24#0 op.Txn.num_app_args + 7 log/contract.py:21 int 7 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%24#0,7 7 log/contract.py:21 - + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Transaction.num_app_args + 7 log/contract.py:21 - // virtual: store tmp%25#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%25#0 op.Transaction.num_app_args + 7 log/contract.py:21 - // virtual: load tmp%25#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%25#0 op.Transaction.num_app_args + 7 log/contract.py:21 - itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Transaction.num_app_args + 7 log/contract.py:21 - // virtual: store tmp%26#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%26#0 op.Transaction.num_app_args + 7 log/contract.py:21 - byte base64 NV8AAAAAAAAABl8= // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%26#0,NV8AAAAAAAAABl8= op.Transaction.num_app_args + 7 log/contract.py:21 - swap // load tmp%26#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NV8AAAAAAAAABl8=,tmp%26#0 op.Transaction.num_app_args + 7 log/contract.py:21 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Transaction.num_app_args + 7 log/contract.py:21 - // virtual: store tmp%27#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%27#0 op.Transaction.num_app_args + 7 log/contract.py:21 + + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Txn.num_app_args + 7 log/contract.py:21 + // virtual: store tmp%25#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%25#0 op.Txn.num_app_args + 7 log/contract.py:21 + // virtual: load tmp%25#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%25#0 op.Txn.num_app_args + 7 log/contract.py:21 + itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Txn.num_app_args + 7 log/contract.py:21 + // virtual: store tmp%26#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%26#0 op.Txn.num_app_args + 7 log/contract.py:21 + byte base64 NV8AAAAAAAAABl8= // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%26#0,NV8AAAAAAAAABl8= op.Txn.num_app_args + 7 log/contract.py:21 + swap // load tmp%26#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NV8AAAAAAAAABl8=,tmp%26#0 op.Txn.num_app_args + 7 log/contract.py:21 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Txn.num_app_args + 7 log/contract.py:21 + // virtual: store tmp%27#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%27#0 op.Txn.num_app_args + 7 log/contract.py:21 // virtual: load tmp%27#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%27#0 8 log/contract.py:22 byte "_" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%27#0,"_" b"_" log/contract.py:24 concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} 8 log/contract.py:22 @@ -108,46 +108,46 @@ main_ternary_merge@6: byte 0x08 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%28#0,0x08 8 log/contract.py:22 concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} 8 log/contract.py:22 // virtual: store tmp%29#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%29#0 8 log/contract.py:22 - // virtual: load tmp%29#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%29#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 + // virtual: load tmp%29#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%29#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 byte "_" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%29#0,"_" b"_" log/contract.py:24 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - bury 2 // store tmp%30#0 to f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:23 - // virtual: store tmp%31#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%31#0 op.Transaction.num_app_args log/contract.py:23 - // virtual: load tmp%31#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%31#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - bz main_ternary_false@8 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - // Implicit fall through to main_ternary_true@7 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + bury 2 // store tmp%30#0 to f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:23 + // virtual: store tmp%31#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%31#0 op.Txn.num_app_args log/contract.py:23 + // virtual: load tmp%31#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%31#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + bz main_ternary_false@8 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + // Implicit fall through to main_ternary_true@7 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 main_ternary_true@7: byte "9" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "9" b"9" log/contract.py:23 - // virtual: store ternary_result%32#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 + // virtual: store ternary_result%32#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 b main_ternary_merge@9 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | ternary_result%32#0 main_ternary_false@8: byte "" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "" Bytes() log/contract.py:23 - // virtual: store ternary_result%32#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 + // virtual: store ternary_result%32#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 // Implicit fall through to main_ternary_merge@9 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | ternary_result%32#0 main_ternary_merge@9: - dig 2 // load tmp%30#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | tmp%30#0 ternary_result%32#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - swap // load ternary_result%32#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%30#0,ternary_result%32#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - // virtual: store tmp%33#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%33#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:23 - // virtual: load tmp%33#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%33#0 log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:18-25 - log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:18-25 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:29 - // virtual: store tmp%38#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%38#0 op.Transaction.num_app_args log/contract.py:29 - // virtual: load tmp%38#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%38#0 op.Transaction.num_app_args + 7 log/contract.py:29 + dig 2 // load tmp%30#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%32#0 | tmp%30#0 ternary_result%32#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + swap // load ternary_result%32#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%30#0,ternary_result%32#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + // virtual: store tmp%33#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%33#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:23 + // virtual: load tmp%33#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%33#0 log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:18-25 + log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:18-25 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:29 + // virtual: store tmp%38#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%38#0 op.Txn.num_app_args log/contract.py:29 + // virtual: load tmp%38#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%38#0 op.Txn.num_app_args + 7 log/contract.py:29 int 7 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%38#0,7 7 log/contract.py:29 - + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Transaction.num_app_args + 7 log/contract.py:29 - // virtual: store tmp%39#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%39#0 op.Transaction.num_app_args + 7 log/contract.py:29 - // virtual: load tmp%39#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%39#0 op.Transaction.num_app_args + 7 log/contract.py:29 - itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Transaction.num_app_args + 7 log/contract.py:29 - // virtual: store tmp%40#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%40#0 op.Transaction.num_app_args + 7 log/contract.py:29 - byte base64 NV8AAAAAAAAABl8= // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%40#0,NV8AAAAAAAAABl8= op.Transaction.num_app_args + 7 log/contract.py:29 - swap // load tmp%40#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NV8AAAAAAAAABl8=,tmp%40#0 op.Transaction.num_app_args + 7 log/contract.py:29 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Transaction.num_app_args + 7 log/contract.py:29 - // virtual: store tmp%41#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%41#0 op.Transaction.num_app_args + 7 log/contract.py:29 + + // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {+} op.Txn.num_app_args + 7 log/contract.py:29 + // virtual: store tmp%39#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%39#0 op.Txn.num_app_args + 7 log/contract.py:29 + // virtual: load tmp%39#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%39#0 op.Txn.num_app_args + 7 log/contract.py:29 + itob // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {itob} op.Txn.num_app_args + 7 log/contract.py:29 + // virtual: store tmp%40#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%40#0 op.Txn.num_app_args + 7 log/contract.py:29 + byte base64 NV8AAAAAAAAABl8= // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%40#0,NV8AAAAAAAAABl8= op.Txn.num_app_args + 7 log/contract.py:29 + swap // load tmp%40#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | NV8AAAAAAAAABl8=,tmp%40#0 op.Txn.num_app_args + 7 log/contract.py:29 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} op.Txn.num_app_args + 7 log/contract.py:29 + // virtual: store tmp%41#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%41#0 op.Txn.num_app_args + 7 log/contract.py:29 // virtual: load tmp%41#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%41#0 8 log/contract.py:30 byte "_" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%41#0,"_" "_" log/contract.py:32 concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} 8 log/contract.py:30 @@ -156,33 +156,33 @@ main_ternary_merge@9: byte 0x08 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%42#0,0x08 8 log/contract.py:30 concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} 8 log/contract.py:30 // virtual: store tmp%43#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%43#0 8 log/contract.py:30 - // virtual: load tmp%43#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%43#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 + // virtual: load tmp%43#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%43#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 byte "_" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%43#0,"_" "_" log/contract.py:32 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - bury 1 // store tmp%44#0 to f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Transaction.num_app_args log/contract.py:31 - // virtual: store tmp%45#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%45#0 op.Transaction.num_app_args log/contract.py:31 - // virtual: load tmp%45#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%45#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - bz main_ternary_false@11 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - // Implicit fall through to main_ternary_true@10 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + bury 1 // store tmp%44#0 to f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + txn NumAppArgs // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {txn} op.Txn.num_app_args log/contract.py:31 + // virtual: store tmp%45#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%45#0 op.Txn.num_app_args log/contract.py:31 + // virtual: load tmp%45#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%45#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + bz main_ternary_false@11 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + // Implicit fall through to main_ternary_true@10 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 main_ternary_true@10: byte "9" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "9" b"9" log/contract.py:31 - // virtual: store ternary_result%46#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 + // virtual: store ternary_result%46#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 b main_ternary_merge@12 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | ternary_result%46#0 main_ternary_false@11: byte "" // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | "" Bytes() log/contract.py:31 - // virtual: store ternary_result%46#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 + // virtual: store ternary_result%46#0 to x-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 // Implicit fall through to main_ternary_merge@12 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | ternary_result%46#0 main_ternary_merge@12: - dig 1 // load tmp%44#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | tmp%44#0 ternary_result%46#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - swap // load ternary_result%46#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%44#0,ternary_result%46#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - // virtual: store tmp%47#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%47#0 Bytes(b"9") if op.Transaction.num_app_args else Bytes() log/contract.py:31 - // virtual: load tmp%47#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%47#0 log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:26-33 - log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Transaction.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Transaction.num... log/contract.py:26-33 + dig 1 // load tmp%44#0 from f-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | (𝕏) ternary_result%46#0 | tmp%44#0 ternary_result%46#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + swap // load ternary_result%46#0 from x-stack (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%44#0,ternary_result%46#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + concat // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | {concat} Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + // virtual: store tmp%47#0 to l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%47#0 Bytes(b"9") if op.Txn.num_app_args else Bytes() log/contract.py:31 + // virtual: load tmp%47#0 from l-stack (no copy) (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | tmp%47#0 log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:26-33 + log // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | log(\nb"5",\n6,\nop.Txn.num_app_args + 7,\nBigUInt(8),\nBytes(b"9") if op.Txn.num_app_args else B... log/contract.py:26-33 int 1 // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | 1 True log/contract.py:34 return // (𝕗) tmp%15#0,tmp%30#0,tmp%44#0 | return True log/contract.py:34 diff --git a/test_cases/reversed_iteration/out/trace.O1.log b/test_cases/reversed_iteration/out/trace.O1.log index 953d3b7c2..31382b818 100644 --- a/test_cases/reversed_iteration/out/trace.O1.log +++ b/test_cases/reversed_iteration/out/trace.O1.log @@ -319,9 +319,9 @@ PC Teal Stack 291 assert 0, 0, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 292 byte "" 0, 0, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 0x 293 bury 20 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 -295 int 0 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 0 -296 bury 11 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 -298 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 +295 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 +297 int 0 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5, 0 +298 bury 12 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 300 bury 7 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0 302 dig 10 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0, 0 304 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0, 0, 5 diff --git a/test_cases/reversed_iteration/out/trace.O2.log b/test_cases/reversed_iteration/out/trace.O2.log index 953d3b7c2..31382b818 100644 --- a/test_cases/reversed_iteration/out/trace.O2.log +++ b/test_cases/reversed_iteration/out/trace.O2.log @@ -319,9 +319,9 @@ PC Teal Stack 291 assert 0, 0, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 292 byte "" 0, 0, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 0x 293 bury 20 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 -295 int 0 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 0 -296 bury 11 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0 -298 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 +295 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 +297 int 0 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0x, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5, 0 +298 bury 12 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 0x, 0x, 0x, 0x, 0x, 0, 0, 5 300 bury 7 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0 302 dig 10 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0, 0 304 int 5 0, 0x, 0x0003636261, 0x03020504, 0x03020504, 0, 0x, 3, 5, 3, 0, 0x, 1, 0, 5, 0x, 0x, 0x, 0x, 0, 0, 0, 5